[
  {
    "path": ".changeset/README.md",
    "content": "# Changesets\n\nHello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works\nwith multi-package repos, or single-package repos to help you version and publish your code. You can\nfind the full documentation for it [in our repository](https://github.com/changesets/changesets)\n\nWe have a quick list of common questions to get you started engaging with this project in\n[our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md)\n"
  },
  {
    "path": ".changeset/config.json",
    "content": "{\n  \"$schema\": \"https://unpkg.com/@changesets/config@3.0.2/schema.json\",\n  \"changelog\": [\n    \"@changesets/changelog-github\",\n    { \"repo\": \"emotion-js/emotion\" }\n  ],\n  \"baseBranch\": \"main\",\n  \"commit\": false,\n  \"linked\": [\n    [\n      \"@emotion/react\",\n      \"@emotion/styled\",\n      \"@emotion/cache\",\n      \"@emotion/css\",\n      \"@emotion/server\",\n      \"@emotion/babel-plugin\",\n      \"@emotion/babel-preset-css-prop\",\n      \"@emotion/jest\",\n      \"@emotion/native\",\n      \"@emotion/primitives\",\n      \"@emotion/primitives-core\",\n      \"@emotion/eslint-plugin\"\n    ]\n  ],\n  \"access\": \"public\",\n  \"privatePackages\": false,\n  \"___experimentalUnsafeOptions_WILL_CHANGE_IN_PATCH\": {\n    \"onlyUpdatePeerDependentsWhenOutOfRange\": true\n  }\n}\n"
  },
  {
    "path": ".codesandbox/ci.json",
    "content": "{\n  \"packages\": [\"packages/*\"],\n  \"sandboxes\": [\"pk1qjqpw67\"],\n  \"node\": \"16\"\n}\n"
  },
  {
    "path": ".editorconfig",
    "content": "root = true\n\n[*]\nend_of_line = lf\ninsert_final_newline = true\ncharset = utf-8\nindent_style = space\n\n[*.{js,ts,tsx,json,yml}]\nindent_size = 2"
  },
  {
    "path": ".eslintignore",
    "content": "lib/\ndist/\ncoverage/\nnode_modules/\nstylis.min.js\n/demo/dist\n/site/out"
  },
  {
    "path": ".gitattributes",
    "content": "* text=auto eol=lf\n"
  },
  {
    "path": ".github/FUNDING.yml",
    "content": "# These are supported funding model platforms\n\ngithub: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]\npatreon: # Replace with a single Patreon username\nopen_collective: emotion\nko_fi: # Replace with a single Ko-fi username\ntidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel\ncommunity_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry\nliberapay: # Replace with a single Liberapay username\nissuehunt: # Replace with a single IssueHunt username\notechie: # Replace with a single Otechie username\ncustom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/--bug-report.md",
    "content": "---\nname: \"\\U0001F41EBug report\"\nabout: Something isn’t working as expected\ntitle: ''\nlabels: bug, needs triage\nassignees: ''\n---\n\n<!--\n    Thanks for your interest in the project.\n    Please make sure that you are familiar with and follow the Code of Conduct\n    for this project (found in the CODE_OF_CONDUCT.md file).\n\n    Please fill out this template with all the relevant information so we can\n    understand what's going on and fix the issue.\n\n    I'll probably ask you to submit the fix (after giving some direction).\n    If you've never done that before, that's great! Check this free short\n    video tutorial to learn how: http://kcd.im/pull-request\n-->\n\n**Current behavior:**\n\n<!-- A clear and concise description of what the bug is -->\n\n**To reproduce:**\n\n<!--\n    Please edit this CodeSandbox (https://codesandbox.io/s/emotion-issue-template-y306ue)\n    to help us reproduce your issue. Alternatively, create a GitHub repository.\n    Issues without a reproducible example will take longer to get addressed.\n-->\n\n1. ...\n2. ...\n3. ...\n\n**Expected behavior:**\n\n<!-- A clear and concise description of what you expected to happen -->\n\n**Environment information:**\n\n<!-- Provide the `react` and `@emotion/*` packages versions -->\n\n- `react` version:\n- `@emotion/react` version:\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/--documentation-issue.md",
    "content": "---\nname: \"\\U0001F4D6Documentation issue\"\nabout: The documentation is unclear, missing informations, or could be improved\nlabels: documentation, needs triage\nassignees: ''\n---\n\n<!--\n  Documentation issues are a great way for newcomers to contribute to\n  open source projects! If you have time please consider opening a\n  Pull Request with your documentation changes.\n-->\n\n**Description:**\n\n<!--\n  Please provide as much detail as possible about your issue,\n  please refrain from asking for solutions to specific problems\n  with your code. This template is to report issues with the\n  official Emotion documentation.\n-->\n\n**Documentation links:**\n\n<!--\n  If existing documentation is available, but needs to be improved,\n  is wrong, or unclear, please post here the relevant\n  https://emotion.sh/docs URLs\n-->\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/--feature-request.md",
    "content": "---\nname: \"\\U0001F680Feature request\"\nabout: I have a suggestion (and might want to implement myself)\ntitle: ''\nlabels: feature request, needs triage\nassignees: ''\n---\n\n**The problem**\n\n<!-- A clear and concise description of what the problem is. e.g. I'm always frustrated when [...] -->\n\n**Proposed solution**\n\n<!-- A clear and concise description of what you want to happen. Add any considered drawbacks. -->\n\n**Alternative solutions**\n\n<!-- A clear and concise description of any alternative solutions or features you’ve considered. -->\n\n**Additional context**\n\n<!-- Add any other context or screenshots about the feature request here. -->\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/config.yml",
    "content": "blank_issues_enabled: true\ncontact_links:\n  - name: 🤔 Support question\n    url: https://stackoverflow.com/questions/ask?tags=emotion\n    about: Issues are dedicated to feature requests and bugs, if you have questions, please use Stack Overflow.\n"
  },
  {
    "path": ".github/PULL_REQUEST_TEMPLATE.md",
    "content": "<!--\nThanks for your interest in the project. I appreciate bugs filed and PRs submitted!\n\nPlease make sure that you are familiar with and follow the Code of Conduct for\nthis project (found in the CODE_OF_CONDUCT.md file).\n\nAlso, please make sure you're familiar with and follow the instructions in the\ncontributing guidelines (found in the CONTRIBUTING.md file).\n\nIf you're new to contributing to open source projects, you might find this free\nvideo course helpful: http://kcd.im/pull-request\n\nPlease fill out the information below to expedite the review and (hopefully)\nmerge of your pull request!\n-->\n\n<!-- What changes are being made? (What feature/bug is being fixed here?) -->\n\n**What**:\n\n<!-- Why are these changes necessary? -->\n\n**Why**:\n\n<!-- How were these changes implemented? -->\n\n**How**:\n\n<!-- Have you done all of these things?  -->\n\n**Checklist**:\n\n<!-- add \"N/A\" to the end of each line that's irrelevant to your changes -->\n<!-- to check an item, place an \"x\" in the box like so: \"- [x] Documentation\" -->\n\n- [ ] Documentation\n- [ ] Tests\n- [ ] Code complete\n- [ ] Changeset <!-- This is necessary if your changes should release any packages. Run `yarn changeset` to create a changeset -->\n\n<!-- feel free to add additional comments -->\n"
  },
  {
    "path": ".github/actions/ci-setup/action.yml",
    "content": "name: 'CI setup'\nruns:\n  using: 'composite'\n  steps:\n    - name: Setup Node.js 16.x\n      uses: actions/setup-node@v3\n      with:\n        node-version: 16.x\n        cache: yarn\n\n    - name: Install Dependencies\n      run: yarn --immutable\n      shell: bash\n"
  },
  {
    "path": ".github/no-response.yml",
    "content": "# Configuration for probot-no-response - https://github.com/probot/no-response\n\n# Number of days of inactivity before an Issue is closed for lack of response\ndaysUntilClose: 14\n# Label requiring a response\nresponseRequiredLabel: needs more information\n# Comment to post when closing an Issue for lack of response. Set to `false` to disable\ncloseComment: >\n  This issue has been automatically closed because there has been no response\n  to our request for more information from the original author. With only the\n  information that is currently in the issue, we don't have enough information\n  to take action. Please reach out if you have or find the answers we need so\n  that we can investigate further.\n"
  },
  {
    "path": ".github/stale.yml",
    "content": "# Number of days of inactivity before an issue becomes stale\ndaysUntilStale: 60\n# Number of days of inactivity before a stale issue is closed\ndaysUntilClose: 7\n# Issues with these labels will never be considered stale\nexemptLabels:\n  - pinned\n# Label to use when marking an issue as stale\nstaleLabel: stale\n# Comment to post when marking an issue as stale. Set to `false` to disable\nmarkComment: >\n  This issue has been automatically marked as stale because it has not had\n  recent activity. It will be closed in 7 days if no further activity occurs. Thank you\n  for your contributions.\n# Comment to post when closing a stale issue. Set to `false` to disable\ncloseComment: false\n"
  },
  {
    "path": ".github/workflows/main.yml",
    "content": "name: CI\n\non:\n  push:\n    branches:\n      - main\n      - ts-migration\n  pull_request:\n\npermissions:\n  contents: read # to fetch code (actions/checkout)\n\njobs:\n  test:\n    name: 'Tests on ${{matrix.platform}}'\n    strategy:\n      fail-fast: false\n      matrix:\n        platform:\n          - ubuntu-latest\n          - windows-latest\n    runs-on: ${{matrix.platform}}\n    steps:\n      - uses: actions/checkout@v3\n      - uses: ./.github/actions/ci-setup\n\n      - name: Run Tests\n        run: yarn test:ci --color\n\n      - name: Upload coverage to Codecov\n        uses: codecov/codecov-action@v1\n        if: ${{ matrix.platform == 'ubuntu-latest' && always() }}\n\n  typescript:\n    name: TypeScript\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v3\n      - uses: ./.github/actions/ci-setup\n\n      - name: Check Types\n        run: yarn tsc:all\n\n  test_react18:\n    name: Test React 18\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v3\n      - uses: ./.github/actions/ci-setup\n\n      - name: Run Tests with React 18\n        run: yarn test:react18:ci\n\n  test_prod:\n    name: Test Prod\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v3\n      - uses: ./.github/actions/ci-setup\n\n      - name: Prod Tests\n        run: yarn test:prod\n\n  test_dist:\n    name: Test Dist\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v3\n      - uses: ./.github/actions/ci-setup\n\n      - name: Dist Tests\n        run: yarn test:dist\n\n  linting:\n    name: Linting\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v3\n      - uses: ./.github/actions/ci-setup\n\n      - name: ESLint\n        run: yarn lint:check\n\n  dtslint:\n    name: dtslint\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v3\n      - uses: ./.github/actions/ci-setup\n\n      - name: build\n        run: yarn build\n\n      - name: dtslint\n        run: yarn test:typescript\n"
  },
  {
    "path": ".github/workflows/release.yml",
    "content": "name: Release\n\non:\n  push:\n    branches:\n      - main\n      - next\n\nconcurrency: ${{ github.workflow }}-${{ github.ref }}\n\npermissions: {}\njobs:\n  release:\n    permissions:\n      contents: write # to create release \n      issues: write # to post issue comments\n      pull-requests: write # to create pull request \n\n    name: Release\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v3\n      - uses: ./.github/actions/ci-setup\n\n      - name: Create Release Pull Request or Publish to npm\n        uses: changesets/action@v1\n        with:\n          publish: yarn release\n          version: yarn version-packages\n        env:\n          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n          NPM_TOKEN: ${{ secrets.NPM_TOKEN }}\n"
  },
  {
    "path": ".gitignore",
    "content": "/coverage\n/demo/dist\ndist/\nnode_modules/\n*.log\n.idea\npackage-lock.json\n.DS_Store\n.cache\n.env\n.vscode\n.parcel-cache/\n*.orig\n*.tsbuildinfo\n\n.yarn/*\n!.yarn/patches\n!.yarn/plugins\n!.yarn/releases\n!.yarn/sdks\n!.yarn/versions\n\n# Website\n/site/out\n.next\n"
  },
  {
    "path": ".nvmrc",
    "content": "16"
  },
  {
    "path": ".prettierignore",
    "content": "package.json"
  },
  {
    "path": ".prettierrc.yaml",
    "content": "arrowParens: avoid\nsemi: false\nsingleQuote: true\ntrailingComma: none\noverrides:\n  - files: 'docs/*.md'\n    options:\n      printWidth: 60\n"
  },
  {
    "path": ".yarn/patches/@definitelytyped-dtslint-npm-0.0.112-1e6b842976.patch",
    "content": "diff --git a/dist/lint.js b/dist/lint.js\nindex ae29f2a0936fe8e4dee9b4a607ed5c611872d30d..96746c55f2df24c6d09ee30ff85e404138ad0fbe 100644\n--- a/dist/lint.js\n+++ b/dist/lint.js\n@@ -107,9 +107,9 @@ function startsWithDirectory(filePath, dirPath) {\n     return normalFilePath.startsWith(normalDirPath + \"/\") || normalFilePath.startsWith(normalDirPath + \"\\\\\");\n }\n function testNoTsIgnore(text) {\n-    const tsIgnore = \"ts-ignore\";\n-    const pos = text.indexOf(tsIgnore);\n-    return pos === -1 ? undefined : { pos, message: \"'ts-ignore' is forbidden.\" };\n+    // const tsIgnore = \"ts-ignore\";\n+    // const pos = text.indexOf(tsIgnore);\n+    // return pos === -1 ? undefined : { pos, message: \"'ts-ignore' is forbidden.\" };\n }\n function testNoTslintDisables(text) {\n     const tslintDisable = \"tslint:disable\";\n"
  },
  {
    "path": ".yarn/plugins/@yarnpkg/plugin-workspace-tools.cjs",
    "content": "/* eslint-disable */\n//prettier-ignore\nmodule.exports = {\nname: \"@yarnpkg/plugin-workspace-tools\",\nfactory: function (require) {\nvar plugin=(()=>{var wr=Object.create,me=Object.defineProperty,Sr=Object.defineProperties,vr=Object.getOwnPropertyDescriptor,Hr=Object.getOwnPropertyDescriptors,$r=Object.getOwnPropertyNames,et=Object.getOwnPropertySymbols,kr=Object.getPrototypeOf,tt=Object.prototype.hasOwnProperty,Tr=Object.prototype.propertyIsEnumerable;var rt=(e,t,r)=>t in e?me(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,B=(e,t)=>{for(var r in t||(t={}))tt.call(t,r)&&rt(e,r,t[r]);if(et)for(var r of et(t))Tr.call(t,r)&&rt(e,r,t[r]);return e},Q=(e,t)=>Sr(e,Hr(t)),Lr=e=>me(e,\"__esModule\",{value:!0});var K=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Or=(e,t)=>{for(var r in t)me(e,r,{get:t[r],enumerable:!0})},Nr=(e,t,r)=>{if(t&&typeof t==\"object\"||typeof t==\"function\")for(let n of $r(t))!tt.call(e,n)&&n!==\"default\"&&me(e,n,{get:()=>t[n],enumerable:!(r=vr(t,n))||r.enumerable});return e},X=e=>Nr(Lr(me(e!=null?wr(kr(e)):{},\"default\",e&&e.__esModule&&\"default\"in e?{get:()=>e.default,enumerable:!0}:{value:e,enumerable:!0})),e);var $e=K(te=>{\"use strict\";te.isInteger=e=>typeof e==\"number\"?Number.isInteger(e):typeof e==\"string\"&&e.trim()!==\"\"?Number.isInteger(Number(e)):!1;te.find=(e,t)=>e.nodes.find(r=>r.type===t);te.exceedsLimit=(e,t,r=1,n)=>n===!1||!te.isInteger(e)||!te.isInteger(t)?!1:(Number(t)-Number(e))/Number(r)>=n;te.escapeNode=(e,t=0,r)=>{let n=e.nodes[t];!n||(r&&n.type===r||n.type===\"open\"||n.type===\"close\")&&n.escaped!==!0&&(n.value=\"\\\\\"+n.value,n.escaped=!0)};te.encloseBrace=e=>e.type!==\"brace\"?!1:e.commas>>0+e.ranges>>0==0?(e.invalid=!0,!0):!1;te.isInvalidBrace=e=>e.type!==\"brace\"?!1:e.invalid===!0||e.dollar?!0:e.commas>>0+e.ranges>>0==0||e.open!==!0||e.close!==!0?(e.invalid=!0,!0):!1;te.isOpenOrClose=e=>e.type===\"open\"||e.type===\"close\"?!0:e.open===!0||e.close===!0;te.reduce=e=>e.reduce((t,r)=>(r.type===\"text\"&&t.push(r.value),r.type===\"range\"&&(r.type=\"text\"),t),[]);te.flatten=(...e)=>{let t=[],r=n=>{for(let s=0;s<n.length;s++){let a=n[s];Array.isArray(a)?r(a,t):a!==void 0&&t.push(a)}return t};return r(e),t}});var ke=K((is,at)=>{\"use strict\";var it=$e();at.exports=(e,t={})=>{let r=(n,s={})=>{let a=t.escapeInvalid&&it.isInvalidBrace(s),i=n.invalid===!0&&t.escapeInvalid===!0,o=\"\";if(n.value)return(a||i)&&it.isOpenOrClose(n)?\"\\\\\"+n.value:n.value;if(n.value)return n.value;if(n.nodes)for(let h of n.nodes)o+=r(h);return o};return r(e)}});var ct=K((os,ot)=>{\"use strict\";ot.exports=function(e){return typeof e==\"number\"?e-e==0:typeof e==\"string\"&&e.trim()!==\"\"?Number.isFinite?Number.isFinite(+e):isFinite(+e):!1}});var At=K((cs,ut)=>{\"use strict\";var lt=ct(),pe=(e,t,r)=>{if(lt(e)===!1)throw new TypeError(\"toRegexRange: expected the first argument to be a number\");if(t===void 0||e===t)return String(e);if(lt(t)===!1)throw new TypeError(\"toRegexRange: expected the second argument to be a number.\");let n=B({relaxZeros:!0},r);typeof n.strictZeros==\"boolean\"&&(n.relaxZeros=n.strictZeros===!1);let s=String(n.relaxZeros),a=String(n.shorthand),i=String(n.capture),o=String(n.wrap),h=e+\":\"+t+\"=\"+s+a+i+o;if(pe.cache.hasOwnProperty(h))return pe.cache[h].result;let g=Math.min(e,t),f=Math.max(e,t);if(Math.abs(g-f)===1){let R=e+\"|\"+t;return n.capture?`(${R})`:n.wrap===!1?R:`(?:${R})`}let A=ft(e)||ft(t),p={min:e,max:t,a:g,b:f},k=[],y=[];if(A&&(p.isPadded=A,p.maxLen=String(p.max).length),g<0){let R=f<0?Math.abs(f):1;y=pt(R,Math.abs(g),p,n),g=p.a=0}return f>=0&&(k=pt(g,f,p,n)),p.negatives=y,p.positives=k,p.result=Ir(y,k,n),n.capture===!0?p.result=`(${p.result})`:n.wrap!==!1&&k.length+y.length>1&&(p.result=`(?:${p.result})`),pe.cache[h]=p,p.result};function Ir(e,t,r){let n=Pe(e,t,\"-\",!1,r)||[],s=Pe(t,e,\"\",!1,r)||[],a=Pe(e,t,\"-?\",!0,r)||[];return n.concat(a).concat(s).join(\"|\")}function Mr(e,t){let r=1,n=1,s=ht(e,r),a=new Set([t]);for(;e<=s&&s<=t;)a.add(s),r+=1,s=ht(e,r);for(s=dt(t+1,n)-1;e<s&&s<=t;)a.add(s),n+=1,s=dt(t+1,n)-1;return a=[...a],a.sort(Br),a}function Ur(e,t,r){if(e===t)return{pattern:e,count:[],digits:0};let n=Pr(e,t),s=n.length,a=\"\",i=0;for(let o=0;o<s;o++){let[h,g]=n[o];h===g?a+=h:h!==\"0\"||g!==\"9\"?a+=Dr(h,g,r):i++}return i&&(a+=r.shorthand===!0?\"\\\\d\":\"[0-9]\"),{pattern:a,count:[i],digits:s}}function pt(e,t,r,n){let s=Mr(e,t),a=[],i=e,o;for(let h=0;h<s.length;h++){let g=s[h],f=Ur(String(i),String(g),n),A=\"\";if(!r.isPadded&&o&&o.pattern===f.pattern){o.count.length>1&&o.count.pop(),o.count.push(f.count[0]),o.string=o.pattern+gt(o.count),i=g+1;continue}r.isPadded&&(A=Gr(g,r,n)),f.string=A+f.pattern+gt(f.count),a.push(f),i=g+1,o=f}return a}function Pe(e,t,r,n,s){let a=[];for(let i of e){let{string:o}=i;!n&&!mt(t,\"string\",o)&&a.push(r+o),n&&mt(t,\"string\",o)&&a.push(r+o)}return a}function Pr(e,t){let r=[];for(let n=0;n<e.length;n++)r.push([e[n],t[n]]);return r}function Br(e,t){return e>t?1:t>e?-1:0}function mt(e,t,r){return e.some(n=>n[t]===r)}function ht(e,t){return Number(String(e).slice(0,-t)+\"9\".repeat(t))}function dt(e,t){return e-e%Math.pow(10,t)}function gt(e){let[t=0,r=\"\"]=e;return r||t>1?`{${t+(r?\",\"+r:\"\")}}`:\"\"}function Dr(e,t,r){return`[${e}${t-e==1?\"\":\"-\"}${t}]`}function ft(e){return/^-?(0+)\\d/.test(e)}function Gr(e,t,r){if(!t.isPadded)return e;let n=Math.abs(t.maxLen-String(e).length),s=r.relaxZeros!==!1;switch(n){case 0:return\"\";case 1:return s?\"0?\":\"0\";case 2:return s?\"0{0,2}\":\"00\";default:return s?`0{0,${n}}`:`0{${n}}`}}pe.cache={};pe.clearCache=()=>pe.cache={};ut.exports=pe});var Ge=K((us,Rt)=>{\"use strict\";var qr=require(\"util\"),yt=At(),bt=e=>e!==null&&typeof e==\"object\"&&!Array.isArray(e),Kr=e=>t=>e===!0?Number(t):String(t),De=e=>typeof e==\"number\"||typeof e==\"string\"&&e!==\"\",Re=e=>Number.isInteger(+e),Ue=e=>{let t=`${e}`,r=-1;if(t[0]===\"-\"&&(t=t.slice(1)),t===\"0\")return!1;for(;t[++r]===\"0\";);return r>0},Wr=(e,t,r)=>typeof e==\"string\"||typeof t==\"string\"?!0:r.stringify===!0,jr=(e,t,r)=>{if(t>0){let n=e[0]===\"-\"?\"-\":\"\";n&&(e=e.slice(1)),e=n+e.padStart(n?t-1:t,\"0\")}return r===!1?String(e):e},_t=(e,t)=>{let r=e[0]===\"-\"?\"-\":\"\";for(r&&(e=e.slice(1),t--);e.length<t;)e=\"0\"+e;return r?\"-\"+e:e},Fr=(e,t)=>{e.negatives.sort((i,o)=>i<o?-1:i>o?1:0),e.positives.sort((i,o)=>i<o?-1:i>o?1:0);let r=t.capture?\"\":\"?:\",n=\"\",s=\"\",a;return e.positives.length&&(n=e.positives.join(\"|\")),e.negatives.length&&(s=`-(${r}${e.negatives.join(\"|\")})`),n&&s?a=`${n}|${s}`:a=n||s,t.wrap?`(${r}${a})`:a},Et=(e,t,r,n)=>{if(r)return yt(e,t,B({wrap:!1},n));let s=String.fromCharCode(e);if(e===t)return s;let a=String.fromCharCode(t);return`[${s}-${a}]`},xt=(e,t,r)=>{if(Array.isArray(e)){let n=r.wrap===!0,s=r.capture?\"\":\"?:\";return n?`(${s}${e.join(\"|\")})`:e.join(\"|\")}return yt(e,t,r)},Ct=(...e)=>new RangeError(\"Invalid range arguments: \"+qr.inspect(...e)),wt=(e,t,r)=>{if(r.strictRanges===!0)throw Ct([e,t]);return[]},Qr=(e,t)=>{if(t.strictRanges===!0)throw new TypeError(`Expected step \"${e}\" to be a number`);return[]},Xr=(e,t,r=1,n={})=>{let s=Number(e),a=Number(t);if(!Number.isInteger(s)||!Number.isInteger(a)){if(n.strictRanges===!0)throw Ct([e,t]);return[]}s===0&&(s=0),a===0&&(a=0);let i=s>a,o=String(e),h=String(t),g=String(r);r=Math.max(Math.abs(r),1);let f=Ue(o)||Ue(h)||Ue(g),A=f?Math.max(o.length,h.length,g.length):0,p=f===!1&&Wr(e,t,n)===!1,k=n.transform||Kr(p);if(n.toRegex&&r===1)return Et(_t(e,A),_t(t,A),!0,n);let y={negatives:[],positives:[]},R=T=>y[T<0?\"negatives\":\"positives\"].push(Math.abs(T)),_=[],x=0;for(;i?s>=a:s<=a;)n.toRegex===!0&&r>1?R(s):_.push(jr(k(s,x),A,p)),s=i?s-r:s+r,x++;return n.toRegex===!0?r>1?Fr(y,n):xt(_,null,B({wrap:!1},n)):_},Zr=(e,t,r=1,n={})=>{if(!Re(e)&&e.length>1||!Re(t)&&t.length>1)return wt(e,t,n);let s=n.transform||(p=>String.fromCharCode(p)),a=`${e}`.charCodeAt(0),i=`${t}`.charCodeAt(0),o=a>i,h=Math.min(a,i),g=Math.max(a,i);if(n.toRegex&&r===1)return Et(h,g,!1,n);let f=[],A=0;for(;o?a>=i:a<=i;)f.push(s(a,A)),a=o?a-r:a+r,A++;return n.toRegex===!0?xt(f,null,{wrap:!1,options:n}):f},Te=(e,t,r,n={})=>{if(t==null&&De(e))return[e];if(!De(e)||!De(t))return wt(e,t,n);if(typeof r==\"function\")return Te(e,t,1,{transform:r});if(bt(r))return Te(e,t,0,r);let s=B({},n);return s.capture===!0&&(s.wrap=!0),r=r||s.step||1,Re(r)?Re(e)&&Re(t)?Xr(e,t,r,s):Zr(e,t,Math.max(Math.abs(r),1),s):r!=null&&!bt(r)?Qr(r,s):Te(e,t,1,r)};Rt.exports=Te});var Ht=K((ls,St)=>{\"use strict\";var Yr=Ge(),vt=$e(),zr=(e,t={})=>{let r=(n,s={})=>{let a=vt.isInvalidBrace(s),i=n.invalid===!0&&t.escapeInvalid===!0,o=a===!0||i===!0,h=t.escapeInvalid===!0?\"\\\\\":\"\",g=\"\";if(n.isOpen===!0||n.isClose===!0)return h+n.value;if(n.type===\"open\")return o?h+n.value:\"(\";if(n.type===\"close\")return o?h+n.value:\")\";if(n.type===\"comma\")return n.prev.type===\"comma\"?\"\":o?n.value:\"|\";if(n.value)return n.value;if(n.nodes&&n.ranges>0){let f=vt.reduce(n.nodes),A=Yr(...f,Q(B({},t),{wrap:!1,toRegex:!0}));if(A.length!==0)return f.length>1&&A.length>1?`(${A})`:A}if(n.nodes)for(let f of n.nodes)g+=r(f,n);return g};return r(e)};St.exports=zr});var Tt=K((ps,$t)=>{\"use strict\";var Vr=Ge(),kt=ke(),he=$e(),fe=(e=\"\",t=\"\",r=!1)=>{let n=[];if(e=[].concat(e),t=[].concat(t),!t.length)return e;if(!e.length)return r?he.flatten(t).map(s=>`{${s}}`):t;for(let s of e)if(Array.isArray(s))for(let a of s)n.push(fe(a,t,r));else for(let a of t)r===!0&&typeof a==\"string\"&&(a=`{${a}}`),n.push(Array.isArray(a)?fe(s,a,r):s+a);return he.flatten(n)},Jr=(e,t={})=>{let r=t.rangeLimit===void 0?1e3:t.rangeLimit,n=(s,a={})=>{s.queue=[];let i=a,o=a.queue;for(;i.type!==\"brace\"&&i.type!==\"root\"&&i.parent;)i=i.parent,o=i.queue;if(s.invalid||s.dollar){o.push(fe(o.pop(),kt(s,t)));return}if(s.type===\"brace\"&&s.invalid!==!0&&s.nodes.length===2){o.push(fe(o.pop(),[\"{}\"]));return}if(s.nodes&&s.ranges>0){let A=he.reduce(s.nodes);if(he.exceedsLimit(...A,t.step,r))throw new RangeError(\"expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.\");let p=Vr(...A,t);p.length===0&&(p=kt(s,t)),o.push(fe(o.pop(),p)),s.nodes=[];return}let h=he.encloseBrace(s),g=s.queue,f=s;for(;f.type!==\"brace\"&&f.type!==\"root\"&&f.parent;)f=f.parent,g=f.queue;for(let A=0;A<s.nodes.length;A++){let p=s.nodes[A];if(p.type===\"comma\"&&s.type===\"brace\"){A===1&&g.push(\"\"),g.push(\"\");continue}if(p.type===\"close\"){o.push(fe(o.pop(),g,h));continue}if(p.value&&p.type!==\"open\"){g.push(fe(g.pop(),p.value));continue}p.nodes&&n(p,s)}return g};return he.flatten(n(e))};$t.exports=Jr});var Ot=K((fs,Lt)=>{\"use strict\";Lt.exports={MAX_LENGTH:1024*64,CHAR_0:\"0\",CHAR_9:\"9\",CHAR_UPPERCASE_A:\"A\",CHAR_LOWERCASE_A:\"a\",CHAR_UPPERCASE_Z:\"Z\",CHAR_LOWERCASE_Z:\"z\",CHAR_LEFT_PARENTHESES:\"(\",CHAR_RIGHT_PARENTHESES:\")\",CHAR_ASTERISK:\"*\",CHAR_AMPERSAND:\"&\",CHAR_AT:\"@\",CHAR_BACKSLASH:\"\\\\\",CHAR_BACKTICK:\"`\",CHAR_CARRIAGE_RETURN:\"\\r\",CHAR_CIRCUMFLEX_ACCENT:\"^\",CHAR_COLON:\":\",CHAR_COMMA:\",\",CHAR_DOLLAR:\"$\",CHAR_DOT:\".\",CHAR_DOUBLE_QUOTE:'\"',CHAR_EQUAL:\"=\",CHAR_EXCLAMATION_MARK:\"!\",CHAR_FORM_FEED:\"\\f\",CHAR_FORWARD_SLASH:\"/\",CHAR_HASH:\"#\",CHAR_HYPHEN_MINUS:\"-\",CHAR_LEFT_ANGLE_BRACKET:\"<\",CHAR_LEFT_CURLY_BRACE:\"{\",CHAR_LEFT_SQUARE_BRACKET:\"[\",CHAR_LINE_FEED:`\n`,CHAR_NO_BREAK_SPACE:\"\\xA0\",CHAR_PERCENT:\"%\",CHAR_PLUS:\"+\",CHAR_QUESTION_MARK:\"?\",CHAR_RIGHT_ANGLE_BRACKET:\">\",CHAR_RIGHT_CURLY_BRACE:\"}\",CHAR_RIGHT_SQUARE_BRACKET:\"]\",CHAR_SEMICOLON:\";\",CHAR_SINGLE_QUOTE:\"'\",CHAR_SPACE:\" \",CHAR_TAB:\"\t\",CHAR_UNDERSCORE:\"_\",CHAR_VERTICAL_LINE:\"|\",CHAR_ZERO_WIDTH_NOBREAK_SPACE:\"\\uFEFF\"}});var Pt=K((hs,Nt)=>{\"use strict\";var en=ke(),{MAX_LENGTH:It,CHAR_BACKSLASH:qe,CHAR_BACKTICK:tn,CHAR_COMMA:rn,CHAR_DOT:nn,CHAR_LEFT_PARENTHESES:sn,CHAR_RIGHT_PARENTHESES:an,CHAR_LEFT_CURLY_BRACE:on,CHAR_RIGHT_CURLY_BRACE:cn,CHAR_LEFT_SQUARE_BRACKET:Bt,CHAR_RIGHT_SQUARE_BRACKET:Mt,CHAR_DOUBLE_QUOTE:un,CHAR_SINGLE_QUOTE:ln,CHAR_NO_BREAK_SPACE:pn,CHAR_ZERO_WIDTH_NOBREAK_SPACE:fn}=Ot(),hn=(e,t={})=>{if(typeof e!=\"string\")throw new TypeError(\"Expected a string\");let r=t||{},n=typeof r.maxLength==\"number\"?Math.min(It,r.maxLength):It;if(e.length>n)throw new SyntaxError(`Input length (${e.length}), exceeds max characters (${n})`);let s={type:\"root\",input:e,nodes:[]},a=[s],i=s,o=s,h=0,g=e.length,f=0,A=0,p,k={},y=()=>e[f++],R=_=>{if(_.type===\"text\"&&o.type===\"dot\"&&(o.type=\"text\"),o&&o.type===\"text\"&&_.type===\"text\"){o.value+=_.value;return}return i.nodes.push(_),_.parent=i,_.prev=o,o=_,_};for(R({type:\"bos\"});f<g;)if(i=a[a.length-1],p=y(),!(p===fn||p===pn)){if(p===qe){R({type:\"text\",value:(t.keepEscaping?p:\"\")+y()});continue}if(p===Mt){R({type:\"text\",value:\"\\\\\"+p});continue}if(p===Bt){h++;let _=!0,x;for(;f<g&&(x=y());){if(p+=x,x===Bt){h++;continue}if(x===qe){p+=y();continue}if(x===Mt&&(h--,h===0))break}R({type:\"text\",value:p});continue}if(p===sn){i=R({type:\"paren\",nodes:[]}),a.push(i),R({type:\"text\",value:p});continue}if(p===an){if(i.type!==\"paren\"){R({type:\"text\",value:p});continue}i=a.pop(),R({type:\"text\",value:p}),i=a[a.length-1];continue}if(p===un||p===ln||p===tn){let _=p,x;for(t.keepQuotes!==!0&&(p=\"\");f<g&&(x=y());){if(x===qe){p+=x+y();continue}if(x===_){t.keepQuotes===!0&&(p+=x);break}p+=x}R({type:\"text\",value:p});continue}if(p===on){A++;let _=o.value&&o.value.slice(-1)===\"$\"||i.dollar===!0;i=R({type:\"brace\",open:!0,close:!1,dollar:_,depth:A,commas:0,ranges:0,nodes:[]}),a.push(i),R({type:\"open\",value:p});continue}if(p===cn){if(i.type!==\"brace\"){R({type:\"text\",value:p});continue}let _=\"close\";i=a.pop(),i.close=!0,R({type:_,value:p}),A--,i=a[a.length-1];continue}if(p===rn&&A>0){if(i.ranges>0){i.ranges=0;let _=i.nodes.shift();i.nodes=[_,{type:\"text\",value:en(i)}]}R({type:\"comma\",value:p}),i.commas++;continue}if(p===nn&&A>0&&i.commas===0){let _=i.nodes;if(A===0||_.length===0){R({type:\"text\",value:p});continue}if(o.type===\"dot\"){if(i.range=[],o.value+=p,o.type=\"range\",i.nodes.length!==3&&i.nodes.length!==5){i.invalid=!0,i.ranges=0,o.type=\"text\";continue}i.ranges++,i.args=[];continue}if(o.type===\"range\"){_.pop();let x=_[_.length-1];x.value+=o.value+p,o=x,i.ranges--;continue}R({type:\"dot\",value:p});continue}R({type:\"text\",value:p})}do if(i=a.pop(),i.type!==\"root\"){i.nodes.forEach(T=>{T.nodes||(T.type===\"open\"&&(T.isOpen=!0),T.type===\"close\"&&(T.isClose=!0),T.nodes||(T.type=\"text\"),T.invalid=!0)});let _=a[a.length-1],x=_.nodes.indexOf(i);_.nodes.splice(x,1,...i.nodes)}while(a.length>0);return R({type:\"eos\"}),s};Nt.exports=hn});var Gt=K((ds,Dt)=>{\"use strict\";var Ut=ke(),dn=Ht(),gn=Tt(),mn=Pt(),V=(e,t={})=>{let r=[];if(Array.isArray(e))for(let n of e){let s=V.create(n,t);Array.isArray(s)?r.push(...s):r.push(s)}else r=[].concat(V.create(e,t));return t&&t.expand===!0&&t.nodupes===!0&&(r=[...new Set(r)]),r};V.parse=(e,t={})=>mn(e,t);V.stringify=(e,t={})=>typeof e==\"string\"?Ut(V.parse(e,t),t):Ut(e,t);V.compile=(e,t={})=>(typeof e==\"string\"&&(e=V.parse(e,t)),dn(e,t));V.expand=(e,t={})=>{typeof e==\"string\"&&(e=V.parse(e,t));let r=gn(e,t);return t.noempty===!0&&(r=r.filter(Boolean)),t.nodupes===!0&&(r=[...new Set(r)]),r};V.create=(e,t={})=>e===\"\"||e.length<3?[e]:t.expand!==!0?V.compile(e,t):V.expand(e,t);Dt.exports=V});var ye=K((gs,qt)=>{\"use strict\";var An=require(\"path\"),ie=\"\\\\\\\\/\",Kt=`[^${ie}]`,ce=\"\\\\.\",Rn=\"\\\\+\",yn=\"\\\\?\",Le=\"\\\\/\",bn=\"(?=.)\",Wt=\"[^/]\",Ke=`(?:${Le}|$)`,jt=`(?:^|${Le})`,We=`${ce}{1,2}${Ke}`,_n=`(?!${ce})`,En=`(?!${jt}${We})`,xn=`(?!${ce}{0,1}${Ke})`,Cn=`(?!${We})`,wn=`[^.${Le}]`,Sn=`${Wt}*?`,Ft={DOT_LITERAL:ce,PLUS_LITERAL:Rn,QMARK_LITERAL:yn,SLASH_LITERAL:Le,ONE_CHAR:bn,QMARK:Wt,END_ANCHOR:Ke,DOTS_SLASH:We,NO_DOT:_n,NO_DOTS:En,NO_DOT_SLASH:xn,NO_DOTS_SLASH:Cn,QMARK_NO_DOT:wn,STAR:Sn,START_ANCHOR:jt},vn=Q(B({},Ft),{SLASH_LITERAL:`[${ie}]`,QMARK:Kt,STAR:`${Kt}*?`,DOTS_SLASH:`${ce}{1,2}(?:[${ie}]|$)`,NO_DOT:`(?!${ce})`,NO_DOTS:`(?!(?:^|[${ie}])${ce}{1,2}(?:[${ie}]|$))`,NO_DOT_SLASH:`(?!${ce}{0,1}(?:[${ie}]|$))`,NO_DOTS_SLASH:`(?!${ce}{1,2}(?:[${ie}]|$))`,QMARK_NO_DOT:`[^.${ie}]`,START_ANCHOR:`(?:^|[${ie}])`,END_ANCHOR:`(?:[${ie}]|$)`}),Hn={alnum:\"a-zA-Z0-9\",alpha:\"a-zA-Z\",ascii:\"\\\\x00-\\\\x7F\",blank:\" \\\\t\",cntrl:\"\\\\x00-\\\\x1F\\\\x7F\",digit:\"0-9\",graph:\"\\\\x21-\\\\x7E\",lower:\"a-z\",print:\"\\\\x20-\\\\x7E \",punct:\"\\\\-!\\\"#$%&'()\\\\*+,./:;<=>?@[\\\\]^_`{|}~\",space:\" \\\\t\\\\r\\\\n\\\\v\\\\f\",upper:\"A-Z\",word:\"A-Za-z0-9_\",xdigit:\"A-Fa-f0-9\"};qt.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:Hn,REGEX_BACKSLASH:/\\\\(?![*+?^${}(|)[\\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\\].,$*+?^{}()|\\\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\\\?)((\\W)(\\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\\[.*?[^\\\\]\\]|\\\\(?=.))/g,REPLACEMENTS:{\"***\":\"*\",\"**/**\":\"**\",\"**/**/**\":\"**\"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:An.sep,extglobChars(e){return{\"!\":{type:\"negate\",open:\"(?:(?!(?:\",close:`))${e.STAR})`},\"?\":{type:\"qmark\",open:\"(?:\",close:\")?\"},\"+\":{type:\"plus\",open:\"(?:\",close:\")+\"},\"*\":{type:\"star\",open:\"(?:\",close:\")*\"},\"@\":{type:\"at\",open:\"(?:\",close:\")\"}}},globChars(e){return e===!0?vn:Ft}}});var be=K(Z=>{\"use strict\";var $n=require(\"path\"),kn=process.platform===\"win32\",{REGEX_BACKSLASH:Tn,REGEX_REMOVE_BACKSLASH:Ln,REGEX_SPECIAL_CHARS:On,REGEX_SPECIAL_CHARS_GLOBAL:Nn}=ye();Z.isObject=e=>e!==null&&typeof e==\"object\"&&!Array.isArray(e);Z.hasRegexChars=e=>On.test(e);Z.isRegexChar=e=>e.length===1&&Z.hasRegexChars(e);Z.escapeRegex=e=>e.replace(Nn,\"\\\\$1\");Z.toPosixSlashes=e=>e.replace(Tn,\"/\");Z.removeBackslashes=e=>e.replace(Ln,t=>t===\"\\\\\"?\"\":t);Z.supportsLookbehinds=()=>{let e=process.version.slice(1).split(\".\").map(Number);return e.length===3&&e[0]>=9||e[0]===8&&e[1]>=10};Z.isWindows=e=>e&&typeof e.windows==\"boolean\"?e.windows:kn===!0||$n.sep===\"\\\\\";Z.escapeLast=(e,t,r)=>{let n=e.lastIndexOf(t,r);return n===-1?e:e[n-1]===\"\\\\\"?Z.escapeLast(e,t,n-1):`${e.slice(0,n)}\\\\${e.slice(n)}`};Z.removePrefix=(e,t={})=>{let r=e;return r.startsWith(\"./\")&&(r=r.slice(2),t.prefix=\"./\"),r};Z.wrapOutput=(e,t={},r={})=>{let n=r.contains?\"\":\"^\",s=r.contains?\"\":\"$\",a=`${n}(?:${e})${s}`;return t.negated===!0&&(a=`(?:^(?!${a}).*$)`),a}});var er=K((As,Qt)=>{\"use strict\";var Xt=be(),{CHAR_ASTERISK:je,CHAR_AT:In,CHAR_BACKWARD_SLASH:_e,CHAR_COMMA:Bn,CHAR_DOT:Fe,CHAR_EXCLAMATION_MARK:Qe,CHAR_FORWARD_SLASH:Zt,CHAR_LEFT_CURLY_BRACE:Xe,CHAR_LEFT_PARENTHESES:Ze,CHAR_LEFT_SQUARE_BRACKET:Mn,CHAR_PLUS:Pn,CHAR_QUESTION_MARK:Yt,CHAR_RIGHT_CURLY_BRACE:Dn,CHAR_RIGHT_PARENTHESES:zt,CHAR_RIGHT_SQUARE_BRACKET:Un}=ye(),Vt=e=>e===Zt||e===_e,Jt=e=>{e.isPrefix!==!0&&(e.depth=e.isGlobstar?Infinity:1)},Gn=(e,t)=>{let r=t||{},n=e.length-1,s=r.parts===!0||r.scanToEnd===!0,a=[],i=[],o=[],h=e,g=-1,f=0,A=0,p=!1,k=!1,y=!1,R=!1,_=!1,x=!1,T=!1,O=!1,W=!1,G=!1,ne=0,E,b,C={value:\"\",depth:0,isGlob:!1},M=()=>g>=n,l=()=>h.charCodeAt(g+1),H=()=>(E=b,h.charCodeAt(++g));for(;g<n;){b=H();let I;if(b===_e){T=C.backslashes=!0,b=H(),b===Xe&&(x=!0);continue}if(x===!0||b===Xe){for(ne++;M()!==!0&&(b=H());){if(b===_e){T=C.backslashes=!0,H();continue}if(b===Xe){ne++;continue}if(x!==!0&&b===Fe&&(b=H())===Fe){if(p=C.isBrace=!0,y=C.isGlob=!0,G=!0,s===!0)continue;break}if(x!==!0&&b===Bn){if(p=C.isBrace=!0,y=C.isGlob=!0,G=!0,s===!0)continue;break}if(b===Dn&&(ne--,ne===0)){x=!1,p=C.isBrace=!0,G=!0;break}}if(s===!0)continue;break}if(b===Zt){if(a.push(g),i.push(C),C={value:\"\",depth:0,isGlob:!1},G===!0)continue;if(E===Fe&&g===f+1){f+=2;continue}A=g+1;continue}if(r.noext!==!0&&(b===Pn||b===In||b===je||b===Yt||b===Qe)===!0&&l()===Ze){if(y=C.isGlob=!0,R=C.isExtglob=!0,G=!0,b===Qe&&g===f&&(W=!0),s===!0){for(;M()!==!0&&(b=H());){if(b===_e){T=C.backslashes=!0,b=H();continue}if(b===zt){y=C.isGlob=!0,G=!0;break}}continue}break}if(b===je){if(E===je&&(_=C.isGlobstar=!0),y=C.isGlob=!0,G=!0,s===!0)continue;break}if(b===Yt){if(y=C.isGlob=!0,G=!0,s===!0)continue;break}if(b===Mn){for(;M()!==!0&&(I=H());){if(I===_e){T=C.backslashes=!0,H();continue}if(I===Un){k=C.isBracket=!0,y=C.isGlob=!0,G=!0;break}}if(s===!0)continue;break}if(r.nonegate!==!0&&b===Qe&&g===f){O=C.negated=!0,f++;continue}if(r.noparen!==!0&&b===Ze){if(y=C.isGlob=!0,s===!0){for(;M()!==!0&&(b=H());){if(b===Ze){T=C.backslashes=!0,b=H();continue}if(b===zt){G=!0;break}}continue}break}if(y===!0){if(G=!0,s===!0)continue;break}}r.noext===!0&&(R=!1,y=!1);let w=h,j=\"\",c=\"\";f>0&&(j=h.slice(0,f),h=h.slice(f),A-=f),w&&y===!0&&A>0?(w=h.slice(0,A),c=h.slice(A)):y===!0?(w=\"\",c=h):w=h,w&&w!==\"\"&&w!==\"/\"&&w!==h&&Vt(w.charCodeAt(w.length-1))&&(w=w.slice(0,-1)),r.unescape===!0&&(c&&(c=Xt.removeBackslashes(c)),w&&T===!0&&(w=Xt.removeBackslashes(w)));let u={prefix:j,input:e,start:f,base:w,glob:c,isBrace:p,isBracket:k,isGlob:y,isExtglob:R,isGlobstar:_,negated:O,negatedExtglob:W};if(r.tokens===!0&&(u.maxDepth=0,Vt(b)||i.push(C),u.tokens=i),r.parts===!0||r.tokens===!0){let I;for(let $=0;$<a.length;$++){let ee=I?I+1:f,se=a[$],z=e.slice(ee,se);r.tokens&&($===0&&f!==0?(i[$].isPrefix=!0,i[$].value=j):i[$].value=z,Jt(i[$]),u.maxDepth+=i[$].depth),($!==0||z!==\"\")&&o.push(z),I=se}if(I&&I+1<e.length){let $=e.slice(I+1);o.push($),r.tokens&&(i[i.length-1].value=$,Jt(i[i.length-1]),u.maxDepth+=i[i.length-1].depth)}u.slashes=a,u.parts=o}return u};Qt.exports=Gn});var sr=K((Rs,tr)=>{\"use strict\";var Oe=ye(),J=be(),{MAX_LENGTH:Ne,POSIX_REGEX_SOURCE:qn,REGEX_NON_SPECIAL_CHARS:Kn,REGEX_SPECIAL_CHARS_BACKREF:Wn,REPLACEMENTS:rr}=Oe,jn=(e,t)=>{if(typeof t.expandRange==\"function\")return t.expandRange(...e,t);e.sort();let r=`[${e.join(\"-\")}]`;try{new RegExp(r)}catch(n){return e.map(s=>J.escapeRegex(s)).join(\"..\")}return r},de=(e,t)=>`Missing ${e}: \"${t}\" - use \"\\\\\\\\${t}\" to match literal characters`,nr=(e,t)=>{if(typeof e!=\"string\")throw new TypeError(\"Expected a string\");e=rr[e]||e;let r=B({},t),n=typeof r.maxLength==\"number\"?Math.min(Ne,r.maxLength):Ne,s=e.length;if(s>n)throw new SyntaxError(`Input length: ${s}, exceeds maximum allowed length: ${n}`);let a={type:\"bos\",value:\"\",output:r.prepend||\"\"},i=[a],o=r.capture?\"\":\"?:\",h=J.isWindows(t),g=Oe.globChars(h),f=Oe.extglobChars(g),{DOT_LITERAL:A,PLUS_LITERAL:p,SLASH_LITERAL:k,ONE_CHAR:y,DOTS_SLASH:R,NO_DOT:_,NO_DOT_SLASH:x,NO_DOTS_SLASH:T,QMARK:O,QMARK_NO_DOT:W,STAR:G,START_ANCHOR:ne}=g,E=m=>`(${o}(?:(?!${ne}${m.dot?R:A}).)*?)`,b=r.dot?\"\":_,C=r.dot?O:W,M=r.bash===!0?E(r):G;r.capture&&(M=`(${M})`),typeof r.noext==\"boolean\"&&(r.noextglob=r.noext);let l={input:e,index:-1,start:0,dot:r.dot===!0,consumed:\"\",output:\"\",prefix:\"\",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:i};e=J.removePrefix(e,l),s=e.length;let H=[],w=[],j=[],c=a,u,I=()=>l.index===s-1,$=l.peek=(m=1)=>e[l.index+m],ee=l.advance=()=>e[++l.index]||\"\",se=()=>e.slice(l.index+1),z=(m=\"\",L=0)=>{l.consumed+=m,l.index+=L},Ce=m=>{l.output+=m.output!=null?m.output:m.value,z(m.value)},xr=()=>{let m=1;for(;$()===\"!\"&&($(2)!==\"(\"||$(3)===\"?\");)ee(),l.start++,m++;return m%2==0?!1:(l.negated=!0,l.start++,!0)},we=m=>{l[m]++,j.push(m)},ue=m=>{l[m]--,j.pop()},v=m=>{if(c.type===\"globstar\"){let L=l.braces>0&&(m.type===\"comma\"||m.type===\"brace\"),d=m.extglob===!0||H.length&&(m.type===\"pipe\"||m.type===\"paren\");m.type!==\"slash\"&&m.type!==\"paren\"&&!L&&!d&&(l.output=l.output.slice(0,-c.output.length),c.type=\"star\",c.value=\"*\",c.output=M,l.output+=c.output)}if(H.length&&m.type!==\"paren\"&&(H[H.length-1].inner+=m.value),(m.value||m.output)&&Ce(m),c&&c.type===\"text\"&&m.type===\"text\"){c.value+=m.value,c.output=(c.output||\"\")+m.value;return}m.prev=c,i.push(m),c=m},Se=(m,L)=>{let d=Q(B({},f[L]),{conditions:1,inner:\"\"});d.prev=c,d.parens=l.parens,d.output=l.output;let S=(r.capture?\"(\":\"\")+d.open;we(\"parens\"),v({type:m,value:L,output:l.output?\"\":y}),v({type:\"paren\",extglob:!0,value:ee(),output:S}),H.push(d)},Cr=m=>{let L=m.close+(r.capture?\")\":\"\"),d;if(m.type===\"negate\"){let S=M;m.inner&&m.inner.length>1&&m.inner.includes(\"/\")&&(S=E(r)),(S!==M||I()||/^\\)+$/.test(se()))&&(L=m.close=`)$))${S}`),m.inner.includes(\"*\")&&(d=se())&&/^\\.[^\\\\/.]+$/.test(d)&&(L=m.close=`)${d})${S})`),m.prev.type===\"bos\"&&(l.negatedExtglob=!0)}v({type:\"paren\",extglob:!0,value:u,output:L}),ue(\"parens\")};if(r.fastpaths!==!1&&!/(^[*!]|[/()[\\]{}\"])/.test(e)){let m=!1,L=e.replace(Wn,(d,S,P,F,q,Me)=>F===\"\\\\\"?(m=!0,d):F===\"?\"?S?S+F+(q?O.repeat(q.length):\"\"):Me===0?C+(q?O.repeat(q.length):\"\"):O.repeat(P.length):F===\".\"?A.repeat(P.length):F===\"*\"?S?S+F+(q?M:\"\"):M:S?d:`\\\\${d}`);return m===!0&&(r.unescape===!0?L=L.replace(/\\\\/g,\"\"):L=L.replace(/\\\\+/g,d=>d.length%2==0?\"\\\\\\\\\":d?\"\\\\\":\"\")),L===e&&r.contains===!0?(l.output=e,l):(l.output=J.wrapOutput(L,l,t),l)}for(;!I();){if(u=ee(),u===\"\\0\")continue;if(u===\"\\\\\"){let d=$();if(d===\"/\"&&r.bash!==!0||d===\".\"||d===\";\")continue;if(!d){u+=\"\\\\\",v({type:\"text\",value:u});continue}let S=/^\\\\+/.exec(se()),P=0;if(S&&S[0].length>2&&(P=S[0].length,l.index+=P,P%2!=0&&(u+=\"\\\\\")),r.unescape===!0?u=ee():u+=ee(),l.brackets===0){v({type:\"text\",value:u});continue}}if(l.brackets>0&&(u!==\"]\"||c.value===\"[\"||c.value===\"[^\")){if(r.posix!==!1&&u===\":\"){let d=c.value.slice(1);if(d.includes(\"[\")&&(c.posix=!0,d.includes(\":\"))){let S=c.value.lastIndexOf(\"[\"),P=c.value.slice(0,S),F=c.value.slice(S+2),q=qn[F];if(q){c.value=P+q,l.backtrack=!0,ee(),!a.output&&i.indexOf(c)===1&&(a.output=y);continue}}}(u===\"[\"&&$()!==\":\"||u===\"-\"&&$()===\"]\")&&(u=`\\\\${u}`),u===\"]\"&&(c.value===\"[\"||c.value===\"[^\")&&(u=`\\\\${u}`),r.posix===!0&&u===\"!\"&&c.value===\"[\"&&(u=\"^\"),c.value+=u,Ce({value:u});continue}if(l.quotes===1&&u!=='\"'){u=J.escapeRegex(u),c.value+=u,Ce({value:u});continue}if(u==='\"'){l.quotes=l.quotes===1?0:1,r.keepQuotes===!0&&v({type:\"text\",value:u});continue}if(u===\"(\"){we(\"parens\"),v({type:\"paren\",value:u});continue}if(u===\")\"){if(l.parens===0&&r.strictBrackets===!0)throw new SyntaxError(de(\"opening\",\"(\"));let d=H[H.length-1];if(d&&l.parens===d.parens+1){Cr(H.pop());continue}v({type:\"paren\",value:u,output:l.parens?\")\":\"\\\\)\"}),ue(\"parens\");continue}if(u===\"[\"){if(r.nobracket===!0||!se().includes(\"]\")){if(r.nobracket!==!0&&r.strictBrackets===!0)throw new SyntaxError(de(\"closing\",\"]\"));u=`\\\\${u}`}else we(\"brackets\");v({type:\"bracket\",value:u});continue}if(u===\"]\"){if(r.nobracket===!0||c&&c.type===\"bracket\"&&c.value.length===1){v({type:\"text\",value:u,output:`\\\\${u}`});continue}if(l.brackets===0){if(r.strictBrackets===!0)throw new SyntaxError(de(\"opening\",\"[\"));v({type:\"text\",value:u,output:`\\\\${u}`});continue}ue(\"brackets\");let d=c.value.slice(1);if(c.posix!==!0&&d[0]===\"^\"&&!d.includes(\"/\")&&(u=`/${u}`),c.value+=u,Ce({value:u}),r.literalBrackets===!1||J.hasRegexChars(d))continue;let S=J.escapeRegex(c.value);if(l.output=l.output.slice(0,-c.value.length),r.literalBrackets===!0){l.output+=S,c.value=S;continue}c.value=`(${o}${S}|${c.value})`,l.output+=c.value;continue}if(u===\"{\"&&r.nobrace!==!0){we(\"braces\");let d={type:\"brace\",value:u,output:\"(\",outputIndex:l.output.length,tokensIndex:l.tokens.length};w.push(d),v(d);continue}if(u===\"}\"){let d=w[w.length-1];if(r.nobrace===!0||!d){v({type:\"text\",value:u,output:u});continue}let S=\")\";if(d.dots===!0){let P=i.slice(),F=[];for(let q=P.length-1;q>=0&&(i.pop(),P[q].type!==\"brace\");q--)P[q].type!==\"dots\"&&F.unshift(P[q].value);S=jn(F,r),l.backtrack=!0}if(d.comma!==!0&&d.dots!==!0){let P=l.output.slice(0,d.outputIndex),F=l.tokens.slice(d.tokensIndex);d.value=d.output=\"\\\\{\",u=S=\"\\\\}\",l.output=P;for(let q of F)l.output+=q.output||q.value}v({type:\"brace\",value:u,output:S}),ue(\"braces\"),w.pop();continue}if(u===\"|\"){H.length>0&&H[H.length-1].conditions++,v({type:\"text\",value:u});continue}if(u===\",\"){let d=u,S=w[w.length-1];S&&j[j.length-1]===\"braces\"&&(S.comma=!0,d=\"|\"),v({type:\"comma\",value:u,output:d});continue}if(u===\"/\"){if(c.type===\"dot\"&&l.index===l.start+1){l.start=l.index+1,l.consumed=\"\",l.output=\"\",i.pop(),c=a;continue}v({type:\"slash\",value:u,output:k});continue}if(u===\".\"){if(l.braces>0&&c.type===\"dot\"){c.value===\".\"&&(c.output=A);let d=w[w.length-1];c.type=\"dots\",c.output+=u,c.value+=u,d.dots=!0;continue}if(l.braces+l.parens===0&&c.type!==\"bos\"&&c.type!==\"slash\"){v({type:\"text\",value:u,output:A});continue}v({type:\"dot\",value:u,output:A});continue}if(u===\"?\"){if(!(c&&c.value===\"(\")&&r.noextglob!==!0&&$()===\"(\"&&$(2)!==\"?\"){Se(\"qmark\",u);continue}if(c&&c.type===\"paren\"){let S=$(),P=u;if(S===\"<\"&&!J.supportsLookbehinds())throw new Error(\"Node.js v10 or higher is required for regex lookbehinds\");(c.value===\"(\"&&!/[!=<:]/.test(S)||S===\"<\"&&!/<([!=]|\\w+>)/.test(se()))&&(P=`\\\\${u}`),v({type:\"text\",value:u,output:P});continue}if(r.dot!==!0&&(c.type===\"slash\"||c.type===\"bos\")){v({type:\"qmark\",value:u,output:W});continue}v({type:\"qmark\",value:u,output:O});continue}if(u===\"!\"){if(r.noextglob!==!0&&$()===\"(\"&&($(2)!==\"?\"||!/[!=<:]/.test($(3)))){Se(\"negate\",u);continue}if(r.nonegate!==!0&&l.index===0){xr();continue}}if(u===\"+\"){if(r.noextglob!==!0&&$()===\"(\"&&$(2)!==\"?\"){Se(\"plus\",u);continue}if(c&&c.value===\"(\"||r.regex===!1){v({type:\"plus\",value:u,output:p});continue}if(c&&(c.type===\"bracket\"||c.type===\"paren\"||c.type===\"brace\")||l.parens>0){v({type:\"plus\",value:u});continue}v({type:\"plus\",value:p});continue}if(u===\"@\"){if(r.noextglob!==!0&&$()===\"(\"&&$(2)!==\"?\"){v({type:\"at\",extglob:!0,value:u,output:\"\"});continue}v({type:\"text\",value:u});continue}if(u!==\"*\"){(u===\"$\"||u===\"^\")&&(u=`\\\\${u}`);let d=Kn.exec(se());d&&(u+=d[0],l.index+=d[0].length),v({type:\"text\",value:u});continue}if(c&&(c.type===\"globstar\"||c.star===!0)){c.type=\"star\",c.star=!0,c.value+=u,c.output=M,l.backtrack=!0,l.globstar=!0,z(u);continue}let m=se();if(r.noextglob!==!0&&/^\\([^?]/.test(m)){Se(\"star\",u);continue}if(c.type===\"star\"){if(r.noglobstar===!0){z(u);continue}let d=c.prev,S=d.prev,P=d.type===\"slash\"||d.type===\"bos\",F=S&&(S.type===\"star\"||S.type===\"globstar\");if(r.bash===!0&&(!P||m[0]&&m[0]!==\"/\")){v({type:\"star\",value:u,output:\"\"});continue}let q=l.braces>0&&(d.type===\"comma\"||d.type===\"brace\"),Me=H.length&&(d.type===\"pipe\"||d.type===\"paren\");if(!P&&d.type!==\"paren\"&&!q&&!Me){v({type:\"star\",value:u,output:\"\"});continue}for(;m.slice(0,3)===\"/**\";){let ve=e[l.index+4];if(ve&&ve!==\"/\")break;m=m.slice(3),z(\"/**\",3)}if(d.type===\"bos\"&&I()){c.type=\"globstar\",c.value+=u,c.output=E(r),l.output=c.output,l.globstar=!0,z(u);continue}if(d.type===\"slash\"&&d.prev.type!==\"bos\"&&!F&&I()){l.output=l.output.slice(0,-(d.output+c.output).length),d.output=`(?:${d.output}`,c.type=\"globstar\",c.output=E(r)+(r.strictSlashes?\")\":\"|$)\"),c.value+=u,l.globstar=!0,l.output+=d.output+c.output,z(u);continue}if(d.type===\"slash\"&&d.prev.type!==\"bos\"&&m[0]===\"/\"){let ve=m[1]!==void 0?\"|$\":\"\";l.output=l.output.slice(0,-(d.output+c.output).length),d.output=`(?:${d.output}`,c.type=\"globstar\",c.output=`${E(r)}${k}|${k}${ve})`,c.value+=u,l.output+=d.output+c.output,l.globstar=!0,z(u+ee()),v({type:\"slash\",value:\"/\",output:\"\"});continue}if(d.type===\"bos\"&&m[0]===\"/\"){c.type=\"globstar\",c.value+=u,c.output=`(?:^|${k}|${E(r)}${k})`,l.output=c.output,l.globstar=!0,z(u+ee()),v({type:\"slash\",value:\"/\",output:\"\"});continue}l.output=l.output.slice(0,-c.output.length),c.type=\"globstar\",c.output=E(r),c.value+=u,l.output+=c.output,l.globstar=!0,z(u);continue}let L={type:\"star\",value:u,output:M};if(r.bash===!0){L.output=\".*?\",(c.type===\"bos\"||c.type===\"slash\")&&(L.output=b+L.output),v(L);continue}if(c&&(c.type===\"bracket\"||c.type===\"paren\")&&r.regex===!0){L.output=u,v(L);continue}(l.index===l.start||c.type===\"slash\"||c.type===\"dot\")&&(c.type===\"dot\"?(l.output+=x,c.output+=x):r.dot===!0?(l.output+=T,c.output+=T):(l.output+=b,c.output+=b),$()!==\"*\"&&(l.output+=y,c.output+=y)),v(L)}for(;l.brackets>0;){if(r.strictBrackets===!0)throw new SyntaxError(de(\"closing\",\"]\"));l.output=J.escapeLast(l.output,\"[\"),ue(\"brackets\")}for(;l.parens>0;){if(r.strictBrackets===!0)throw new SyntaxError(de(\"closing\",\")\"));l.output=J.escapeLast(l.output,\"(\"),ue(\"parens\")}for(;l.braces>0;){if(r.strictBrackets===!0)throw new SyntaxError(de(\"closing\",\"}\"));l.output=J.escapeLast(l.output,\"{\"),ue(\"braces\")}if(r.strictSlashes!==!0&&(c.type===\"star\"||c.type===\"bracket\")&&v({type:\"maybe_slash\",value:\"\",output:`${k}?`}),l.backtrack===!0){l.output=\"\";for(let m of l.tokens)l.output+=m.output!=null?m.output:m.value,m.suffix&&(l.output+=m.suffix)}return l};nr.fastpaths=(e,t)=>{let r=B({},t),n=typeof r.maxLength==\"number\"?Math.min(Ne,r.maxLength):Ne,s=e.length;if(s>n)throw new SyntaxError(`Input length: ${s}, exceeds maximum allowed length: ${n}`);e=rr[e]||e;let a=J.isWindows(t),{DOT_LITERAL:i,SLASH_LITERAL:o,ONE_CHAR:h,DOTS_SLASH:g,NO_DOT:f,NO_DOTS:A,NO_DOTS_SLASH:p,STAR:k,START_ANCHOR:y}=Oe.globChars(a),R=r.dot?A:f,_=r.dot?p:f,x=r.capture?\"\":\"?:\",T={negated:!1,prefix:\"\"},O=r.bash===!0?\".*?\":k;r.capture&&(O=`(${O})`);let W=b=>b.noglobstar===!0?O:`(${x}(?:(?!${y}${b.dot?g:i}).)*?)`,G=b=>{switch(b){case\"*\":return`${R}${h}${O}`;case\".*\":return`${i}${h}${O}`;case\"*.*\":return`${R}${O}${i}${h}${O}`;case\"*/*\":return`${R}${O}${o}${h}${_}${O}`;case\"**\":return R+W(r);case\"**/*\":return`(?:${R}${W(r)}${o})?${_}${h}${O}`;case\"**/*.*\":return`(?:${R}${W(r)}${o})?${_}${O}${i}${h}${O}`;case\"**/.*\":return`(?:${R}${W(r)}${o})?${i}${h}${O}`;default:{let C=/^(.*?)\\.(\\w+)$/.exec(b);if(!C)return;let M=G(C[1]);return M?M+i+C[2]:void 0}}},ne=J.removePrefix(e,T),E=G(ne);return E&&r.strictSlashes!==!0&&(E+=`${o}?`),E};tr.exports=nr});var ir=K((ys,ar)=>{\"use strict\";var Fn=require(\"path\"),Qn=er(),Ye=sr(),ze=be(),Xn=ye(),Zn=e=>e&&typeof e==\"object\"&&!Array.isArray(e),D=(e,t,r=!1)=>{if(Array.isArray(e)){let f=e.map(p=>D(p,t,r));return p=>{for(let k of f){let y=k(p);if(y)return y}return!1}}let n=Zn(e)&&e.tokens&&e.input;if(e===\"\"||typeof e!=\"string\"&&!n)throw new TypeError(\"Expected pattern to be a non-empty string\");let s=t||{},a=ze.isWindows(t),i=n?D.compileRe(e,t):D.makeRe(e,t,!1,!0),o=i.state;delete i.state;let h=()=>!1;if(s.ignore){let f=Q(B({},t),{ignore:null,onMatch:null,onResult:null});h=D(s.ignore,f,r)}let g=(f,A=!1)=>{let{isMatch:p,match:k,output:y}=D.test(f,i,t,{glob:e,posix:a}),R={glob:e,state:o,regex:i,posix:a,input:f,output:y,match:k,isMatch:p};return typeof s.onResult==\"function\"&&s.onResult(R),p===!1?(R.isMatch=!1,A?R:!1):h(f)?(typeof s.onIgnore==\"function\"&&s.onIgnore(R),R.isMatch=!1,A?R:!1):(typeof s.onMatch==\"function\"&&s.onMatch(R),A?R:!0)};return r&&(g.state=o),g};D.test=(e,t,r,{glob:n,posix:s}={})=>{if(typeof e!=\"string\")throw new TypeError(\"Expected input to be a string\");if(e===\"\")return{isMatch:!1,output:\"\"};let a=r||{},i=a.format||(s?ze.toPosixSlashes:null),o=e===n,h=o&&i?i(e):e;return o===!1&&(h=i?i(e):e,o=h===n),(o===!1||a.capture===!0)&&(a.matchBase===!0||a.basename===!0?o=D.matchBase(e,t,r,s):o=t.exec(h)),{isMatch:Boolean(o),match:o,output:h}};D.matchBase=(e,t,r,n=ze.isWindows(r))=>(t instanceof RegExp?t:D.makeRe(t,r)).test(Fn.basename(e));D.isMatch=(e,t,r)=>D(t,r)(e);D.parse=(e,t)=>Array.isArray(e)?e.map(r=>D.parse(r,t)):Ye(e,Q(B({},t),{fastpaths:!1}));D.scan=(e,t)=>Qn(e,t);D.compileRe=(e,t,r=!1,n=!1)=>{if(r===!0)return e.output;let s=t||{},a=s.contains?\"\":\"^\",i=s.contains?\"\":\"$\",o=`${a}(?:${e.output})${i}`;e&&e.negated===!0&&(o=`^(?!${o}).*$`);let h=D.toRegex(o,t);return n===!0&&(h.state=e),h};D.makeRe=(e,t={},r=!1,n=!1)=>{if(!e||typeof e!=\"string\")throw new TypeError(\"Expected a non-empty string\");let s={negated:!1,fastpaths:!0};return t.fastpaths!==!1&&(e[0]===\".\"||e[0]===\"*\")&&(s.output=Ye.fastpaths(e,t)),s.output||(s=Ye(e,t)),D.compileRe(s,t,r,n)};D.toRegex=(e,t)=>{try{let r=t||{};return new RegExp(e,r.flags||(r.nocase?\"i\":\"\"))}catch(r){if(t&&t.debug===!0)throw r;return/$^/}};D.constants=Xn;ar.exports=D});var cr=K((bs,or)=>{\"use strict\";or.exports=ir()});var hr=K((_s,ur)=>{\"use strict\";var lr=require(\"util\"),pr=Gt(),oe=cr(),Ve=be(),fr=e=>e===\"\"||e===\"./\",N=(e,t,r)=>{t=[].concat(t),e=[].concat(e);let n=new Set,s=new Set,a=new Set,i=0,o=f=>{a.add(f.output),r&&r.onResult&&r.onResult(f)};for(let f=0;f<t.length;f++){let A=oe(String(t[f]),Q(B({},r),{onResult:o}),!0),p=A.state.negated||A.state.negatedExtglob;p&&i++;for(let k of e){let y=A(k,!0);!(p?!y.isMatch:y.isMatch)||(p?n.add(y.output):(n.delete(y.output),s.add(y.output)))}}let g=(i===t.length?[...a]:[...s]).filter(f=>!n.has(f));if(r&&g.length===0){if(r.failglob===!0)throw new Error(`No matches found for \"${t.join(\", \")}\"`);if(r.nonull===!0||r.nullglob===!0)return r.unescape?t.map(f=>f.replace(/\\\\/g,\"\")):t}return g};N.match=N;N.matcher=(e,t)=>oe(e,t);N.isMatch=(e,t,r)=>oe(t,r)(e);N.any=N.isMatch;N.not=(e,t,r={})=>{t=[].concat(t).map(String);let n=new Set,s=[],a=o=>{r.onResult&&r.onResult(o),s.push(o.output)},i=N(e,t,Q(B({},r),{onResult:a}));for(let o of s)i.includes(o)||n.add(o);return[...n]};N.contains=(e,t,r)=>{if(typeof e!=\"string\")throw new TypeError(`Expected a string: \"${lr.inspect(e)}\"`);if(Array.isArray(t))return t.some(n=>N.contains(e,n,r));if(typeof t==\"string\"){if(fr(e)||fr(t))return!1;if(e.includes(t)||e.startsWith(\"./\")&&e.slice(2).includes(t))return!0}return N.isMatch(e,t,Q(B({},r),{contains:!0}))};N.matchKeys=(e,t,r)=>{if(!Ve.isObject(e))throw new TypeError(\"Expected the first argument to be an object\");let n=N(Object.keys(e),t,r),s={};for(let a of n)s[a]=e[a];return s};N.some=(e,t,r)=>{let n=[].concat(e);for(let s of[].concat(t)){let a=oe(String(s),r);if(n.some(i=>a(i)))return!0}return!1};N.every=(e,t,r)=>{let n=[].concat(e);for(let s of[].concat(t)){let a=oe(String(s),r);if(!n.every(i=>a(i)))return!1}return!0};N.all=(e,t,r)=>{if(typeof e!=\"string\")throw new TypeError(`Expected a string: \"${lr.inspect(e)}\"`);return[].concat(t).every(n=>oe(n,r)(e))};N.capture=(e,t,r)=>{let n=Ve.isWindows(r),a=oe.makeRe(String(e),Q(B({},r),{capture:!0})).exec(n?Ve.toPosixSlashes(t):t);if(a)return a.slice(1).map(i=>i===void 0?\"\":i)};N.makeRe=(...e)=>oe.makeRe(...e);N.scan=(...e)=>oe.scan(...e);N.parse=(e,t)=>{let r=[];for(let n of[].concat(e||[]))for(let s of pr(String(n),t))r.push(oe.parse(s,t));return r};N.braces=(e,t)=>{if(typeof e!=\"string\")throw new TypeError(\"Expected a string\");return t&&t.nobrace===!0||!/\\{.*\\}/.test(e)?[e]:pr(e,t)};N.braceExpand=(e,t)=>{if(typeof e!=\"string\")throw new TypeError(\"Expected a string\");return N.braces(e,Q(B({},t),{expand:!0}))};ur.exports=N});var gr=K((Es,dr)=>{\"use strict\";dr.exports=(e,...t)=>new Promise(r=>{r(e(...t))})});var Ar=K((xs,Je)=>{\"use strict\";var Yn=gr(),mr=e=>{if(e<1)throw new TypeError(\"Expected `concurrency` to be a number from 1 and up\");let t=[],r=0,n=()=>{r--,t.length>0&&t.shift()()},s=(o,h,...g)=>{r++;let f=Yn(o,...g);h(f),f.then(n,n)},a=(o,h,...g)=>{r<e?s(o,h,...g):t.push(s.bind(null,o,h,...g))},i=(o,...h)=>new Promise(g=>a(o,g,...h));return Object.defineProperties(i,{activeCount:{get:()=>r},pendingCount:{get:()=>t.length}}),i};Je.exports=mr;Je.exports.default=mr});var Vn={};Or(Vn,{default:()=>es});var He=X(require(\"@yarnpkg/cli\")),ae=X(require(\"@yarnpkg/core\")),nt=X(require(\"@yarnpkg/core\")),le=X(require(\"clipanion\")),Ae=class extends He.BaseCommand{constructor(){super(...arguments);this.json=le.Option.Boolean(\"--json\",!1,{description:\"Format the output as an NDJSON stream\"});this.production=le.Option.Boolean(\"--production\",!1,{description:\"Only install regular dependencies by omitting dev dependencies\"});this.all=le.Option.Boolean(\"-A,--all\",!1,{description:\"Install the entire project\"});this.workspaces=le.Option.Rest()}async execute(){let t=await ae.Configuration.find(this.context.cwd,this.context.plugins),{project:r,workspace:n}=await ae.Project.find(t,this.context.cwd),s=await ae.Cache.find(t);await r.restoreInstallState({restoreResolutions:!1});let a;if(this.all)a=new Set(r.workspaces);else if(this.workspaces.length===0){if(!n)throw new He.WorkspaceRequiredError(r.cwd,this.context.cwd);a=new Set([n])}else a=new Set(this.workspaces.map(o=>r.getWorkspaceByIdent(nt.structUtils.parseIdent(o))));for(let o of a)for(let h of this.production?[\"dependencies\"]:ae.Manifest.hardDependencies)for(let g of o.manifest.getForScope(h).values()){let f=r.tryWorkspaceByDescriptor(g);f!==null&&a.add(f)}for(let o of r.workspaces)a.has(o)?this.production&&o.manifest.devDependencies.clear():(o.manifest.installConfig=o.manifest.installConfig||{},o.manifest.installConfig.selfReferences=!1,o.manifest.dependencies.clear(),o.manifest.devDependencies.clear(),o.manifest.peerDependencies.clear(),o.manifest.scripts.clear());return(await ae.StreamReport.start({configuration:t,json:this.json,stdout:this.context.stdout,includeLogs:!0},async o=>{await r.install({cache:s,report:o,persistProject:!1})})).exitCode()}};Ae.paths=[[\"workspaces\",\"focus\"]],Ae.usage=le.Command.Usage({category:\"Workspace-related commands\",description:\"install a single workspace and its dependencies\",details:\"\\n      This command will run an install as if the specified workspaces (and all other workspaces they depend on) were the only ones in the project. If no workspaces are explicitly listed, the active one will be assumed.\\n\\n      Note that this command is only very moderately useful when using zero-installs, since the cache will contain all the packages anyway - meaning that the only difference between a full install and a focused install would just be a few extra lines in the `.pnp.cjs` file, at the cost of introducing an extra complexity.\\n\\n      If the `-A,--all` flag is set, the entire project will be installed. Combine with `--production` to replicate the old `yarn install --production`.\\n    \"});var st=Ae;var Ie=X(require(\"@yarnpkg/cli\")),ge=X(require(\"@yarnpkg/core\")),Ee=X(require(\"@yarnpkg/core\")),Y=X(require(\"@yarnpkg/core\")),Rr=X(require(\"@yarnpkg/plugin-git\")),U=X(require(\"clipanion\")),Be=X(hr()),yr=X(require(\"os\")),br=X(Ar()),re=X(require(\"typanion\")),xe=class extends Ie.BaseCommand{constructor(){super(...arguments);this.recursive=U.Option.Boolean(\"-R,--recursive\",!1,{description:\"Find packages via dependencies/devDependencies instead of using the workspaces field\"});this.from=U.Option.Array(\"--from\",[],{description:\"An array of glob pattern idents from which to base any recursion\"});this.all=U.Option.Boolean(\"-A,--all\",!1,{description:\"Run the command on all workspaces of a project\"});this.verbose=U.Option.Boolean(\"-v,--verbose\",!1,{description:\"Prefix each output line with the name of the originating workspace\"});this.parallel=U.Option.Boolean(\"-p,--parallel\",!1,{description:\"Run the commands in parallel\"});this.interlaced=U.Option.Boolean(\"-i,--interlaced\",!1,{description:\"Print the output of commands in real-time instead of buffering it\"});this.jobs=U.Option.String(\"-j,--jobs\",{description:\"The maximum number of parallel tasks that the execution will be limited to; or `unlimited`\",validator:re.isOneOf([re.isEnum([\"unlimited\"]),re.applyCascade(re.isNumber(),[re.isInteger(),re.isAtLeast(1)])])});this.topological=U.Option.Boolean(\"-t,--topological\",!1,{description:\"Run the command after all workspaces it depends on (regular) have finished\"});this.topologicalDev=U.Option.Boolean(\"--topological-dev\",!1,{description:\"Run the command after all workspaces it depends on (regular + dev) have finished\"});this.include=U.Option.Array(\"--include\",[],{description:\"An array of glob pattern idents; only matching workspaces will be traversed\"});this.exclude=U.Option.Array(\"--exclude\",[],{description:\"An array of glob pattern idents; matching workspaces won't be traversed\"});this.publicOnly=U.Option.Boolean(\"--no-private\",{description:\"Avoid running the command on private workspaces\"});this.since=U.Option.String(\"--since\",{description:\"Only include workspaces that have been changed since the specified ref.\",tolerateBoolean:!0});this.commandName=U.Option.String();this.args=U.Option.Proxy()}async execute(){let t=await ge.Configuration.find(this.context.cwd,this.context.plugins),{project:r,workspace:n}=await ge.Project.find(t,this.context.cwd);if(!this.all&&!n)throw new Ie.WorkspaceRequiredError(r.cwd,this.context.cwd);await r.restoreInstallState();let s=this.cli.process([this.commandName,...this.args]),a=s.path.length===1&&s.path[0]===\"run\"&&typeof s.scriptName!=\"undefined\"?s.scriptName:null;if(s.path.length===0)throw new U.UsageError(\"Invalid subcommand name for iteration - use the 'run' keyword if you wish to execute a script\");let i=this.all?r.topLevelWorkspace:n,o=this.since?Array.from(await Rr.gitUtils.fetchChangedWorkspaces({ref:this.since,project:r})):[i,...this.from.length>0?i.getRecursiveWorkspaceChildren():[]],h=E=>Be.default.isMatch(Y.structUtils.stringifyIdent(E.locator),this.from),g=this.from.length>0?o.filter(h):o,f=new Set([...g,...g.map(E=>[...this.recursive?this.since?E.getRecursiveWorkspaceDependents():E.getRecursiveWorkspaceDependencies():E.getRecursiveWorkspaceChildren()]).flat()]),A=[],p=!1;if(a==null?void 0:a.includes(\":\")){for(let E of r.workspaces)if(E.manifest.scripts.has(a)&&(p=!p,p===!1))break}for(let E of f)a&&!E.manifest.scripts.has(a)&&!p&&!(await ge.scriptUtils.getWorkspaceAccessibleBinaries(E)).has(a)||a===process.env.npm_lifecycle_event&&E.cwd===n.cwd||this.include.length>0&&!Be.default.isMatch(Y.structUtils.stringifyIdent(E.locator),this.include)||this.exclude.length>0&&Be.default.isMatch(Y.structUtils.stringifyIdent(E.locator),this.exclude)||this.publicOnly&&E.manifest.private===!0||A.push(E);let k=this.parallel?this.jobs===\"unlimited\"?Infinity:Number(this.jobs)||Math.max(1,(0,yr.cpus)().length/2):1,y=k===1?!1:this.parallel,R=y?this.interlaced:!0,_=(0,br.default)(k),x=new Map,T=new Set,O=0,W=null,G=!1,ne=await Ee.StreamReport.start({configuration:t,stdout:this.context.stdout},async E=>{let b=async(C,{commandIndex:M})=>{if(G)return-1;!y&&this.verbose&&M>1&&E.reportSeparator();let l=zn(C,{configuration:t,verbose:this.verbose,commandIndex:M}),[H,w]=_r(E,{prefix:l,interlaced:R}),[j,c]=_r(E,{prefix:l,interlaced:R});try{this.verbose&&E.reportInfo(null,`${l} Process started`);let u=Date.now(),I=await this.cli.run([this.commandName,...this.args],{cwd:C.cwd,stdout:H,stderr:j})||0;H.end(),j.end(),await w,await c;let $=Date.now();if(this.verbose){let ee=t.get(\"enableTimers\")?`, completed in ${Y.formatUtils.pretty(t,$-u,Y.formatUtils.Type.DURATION)}`:\"\";E.reportInfo(null,`${l} Process exited (exit code ${I})${ee}`)}return I===130&&(G=!0,W=I),I}catch(u){throw H.end(),j.end(),await w,await c,u}};for(let C of A)x.set(C.anchoredLocator.locatorHash,C);for(;x.size>0&&!E.hasErrors();){let C=[];for(let[H,w]of x){if(T.has(w.anchoredDescriptor.descriptorHash))continue;let j=!0;if(this.topological||this.topologicalDev){let c=this.topologicalDev?new Map([...w.manifest.dependencies,...w.manifest.devDependencies]):w.manifest.dependencies;for(let u of c.values()){let I=r.tryWorkspaceByDescriptor(u);if(j=I===null||!x.has(I.anchoredLocator.locatorHash),!j)break}}if(!!j&&(T.add(w.anchoredDescriptor.descriptorHash),C.push(_(async()=>{let c=await b(w,{commandIndex:++O});return x.delete(H),T.delete(w.anchoredDescriptor.descriptorHash),c})),!y))break}if(C.length===0){let H=Array.from(x.values()).map(w=>Y.structUtils.prettyLocator(t,w.anchoredLocator)).join(\", \");E.reportError(Ee.MessageName.CYCLIC_DEPENDENCIES,`Dependency cycle detected (${H})`);return}let l=(await Promise.all(C)).find(H=>H!==0);W===null&&(W=typeof l!=\"undefined\"?1:W),(this.topological||this.topologicalDev)&&typeof l!=\"undefined\"&&E.reportError(Ee.MessageName.UNNAMED,\"The command failed for workspaces that are depended upon by other workspaces; can't satisfy the dependency graph\")}});return W!==null?W:ne.exitCode()}};xe.paths=[[\"workspaces\",\"foreach\"]],xe.usage=U.Command.Usage({category:\"Workspace-related commands\",description:\"run a command on all workspaces\",details:\"\\n      This command will run a given sub-command on current and all its descendant workspaces. Various flags can alter the exact behavior of the command:\\n\\n      - If `-p,--parallel` is set, the commands will be ran in parallel; they'll by default be limited to a number of parallel tasks roughly equal to half your core number, but that can be overridden via `-j,--jobs`, or disabled by setting `-j unlimited`.\\n\\n      - If `-p,--parallel` and `-i,--interlaced` are both set, Yarn will print the lines from the output as it receives them. If `-i,--interlaced` wasn't set, it would instead buffer the output from each process and print the resulting buffers only after their source processes have exited.\\n\\n      - If `-t,--topological` is set, Yarn will only run the command after all workspaces that it depends on through the `dependencies` field have successfully finished executing. If `--topological-dev` is set, both the `dependencies` and `devDependencies` fields will be considered when figuring out the wait points.\\n\\n      - If `-A,--all` is set, Yarn will run the command on all the workspaces of a project. By default yarn runs the command only on current and all its descendant workspaces.\\n\\n      - If `-R,--recursive` is set, Yarn will find workspaces to run the command on by recursively evaluating `dependencies` and `devDependencies` fields, instead of looking at the `workspaces` fields.\\n\\n      - If `--from` is set, Yarn will use the packages matching the 'from' glob as the starting point for any recursive search.\\n\\n      - If `--since` is set, Yarn will only run the command on workspaces that have been modified since the specified ref. By default Yarn will use the refs specified by the `changesetBaseRefs` configuration option.\\n\\n      - The command may apply to only some workspaces through the use of `--include` which acts as a whitelist. The `--exclude` flag will do the opposite and will be a list of packages that mustn't execute the script. Both flags accept glob patterns (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\\n\\n      Adding the `-v,--verbose` flag will cause Yarn to print more information; in particular the name of the workspace that generated the output will be printed at the front of each line.\\n\\n      If the command is `run` and the script being run does not exist the child workspace will be skipped without error.\\n    \",examples:[[\"Publish current and all descendant packages\",\"yarn workspaces foreach npm publish --tolerate-republish\"],[\"Run build script on current and all descendant packages\",\"yarn workspaces foreach run build\"],[\"Run build script on current and all descendant packages in parallel, building package dependencies first\",\"yarn workspaces foreach -pt run build\"],[\"Run build script on several packages and all their dependencies, building dependencies first\",\"yarn workspaces foreach -ptR --from '{workspace-a,workspace-b}' run build\"]]});var Er=xe;function _r(e,{prefix:t,interlaced:r}){let n=e.createStreamReporter(t),s=new Y.miscUtils.DefaultStream;s.pipe(n,{end:!1}),s.on(\"finish\",()=>{n.end()});let a=new Promise(o=>{n.on(\"finish\",()=>{o(s.active)})});if(r)return[s,a];let i=new Y.miscUtils.BufferStream;return i.pipe(s,{end:!1}),i.on(\"finish\",()=>{s.end()}),[i,a]}function zn(e,{configuration:t,commandIndex:r,verbose:n}){if(!n)return null;let s=Y.structUtils.convertToIdent(e.locator),i=`[${Y.structUtils.stringifyIdent(s)}]:`,o=[\"#2E86AB\",\"#A23B72\",\"#F18F01\",\"#C73E1D\",\"#CCE2A3\"],h=o[r%o.length];return Y.formatUtils.pretty(t,i,h)}var Jn={commands:[st,Er]},es=Jn;return Vn;})();\n/*!\n * fill-range <https://github.com/jonschlinkert/fill-range>\n *\n * Copyright (c) 2014-present, Jon Schlinkert.\n * Licensed under the MIT License.\n */\n/*!\n * is-number <https://github.com/jonschlinkert/is-number>\n *\n * Copyright (c) 2014-present, Jon Schlinkert.\n * Released under the MIT License.\n */\n/*!\n * to-regex-range <https://github.com/micromatch/to-regex-range>\n *\n * Copyright (c) 2015-present, Jon Schlinkert.\n * Released under the MIT License.\n */\nreturn plugin;\n}\n};\n"
  },
  {
    "path": ".yarn/releases/yarn-3.2.3.cjs",
    "content": "#!/usr/bin/env node\n/* eslint-disable */\n//prettier-ignore\n(()=>{var age=Object.create,Uh=Object.defineProperty,Age=Object.defineProperties,lge=Object.getOwnPropertyDescriptor,cge=Object.getOwnPropertyDescriptors,uge=Object.getOwnPropertyNames,RE=Object.getOwnPropertySymbols,gge=Object.getPrototypeOf,tQ=Object.prototype.hasOwnProperty,HO=Object.prototype.propertyIsEnumerable;var jO=(r,e,t)=>e in r?Uh(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,N=(r,e)=>{for(var t in e||(e={}))tQ.call(e,t)&&jO(r,t,e[t]);if(RE)for(var t of RE(e))HO.call(e,t)&&jO(r,t,e[t]);return r},te=(r,e)=>Age(r,cge(e)),fge=r=>Uh(r,\"__esModule\",{value:!0});var Or=(r,e)=>{var t={};for(var i in r)tQ.call(r,i)&&e.indexOf(i)<0&&(t[i]=r[i]);if(r!=null&&RE)for(var i of RE(r))e.indexOf(i)<0&&HO.call(r,i)&&(t[i]=r[i]);return t},hge=(r,e)=>()=>(r&&(e=r(r=0)),e),w=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),ft=(r,e)=>{for(var t in e)Uh(r,t,{get:e[t],enumerable:!0})},pge=(r,e,t)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let i of uge(e))!tQ.call(r,i)&&i!==\"default\"&&Uh(r,i,{get:()=>e[i],enumerable:!(t=lge(e,i))||t.enumerable});return r},ge=r=>pge(fge(Uh(r!=null?age(gge(r)):{},\"default\",r&&r.__esModule&&\"default\"in r?{get:()=>r.default,enumerable:!0}:{value:r,enumerable:!0})),r);var hM=w((s7e,cM)=>{cM.exports=uM;uM.sync=Dge;var gM=require(\"fs\");function Rge(r,e){var t=e.pathExt!==void 0?e.pathExt:process.env.PATHEXT;if(!t||(t=t.split(\";\"),t.indexOf(\"\")!==-1))return!0;for(var i=0;i<t.length;i++){var n=t[i].toLowerCase();if(n&&r.substr(-n.length).toLowerCase()===n)return!0}return!1}function fM(r,e,t){return!r.isSymbolicLink()&&!r.isFile()?!1:Rge(e,t)}function uM(r,e,t){gM.stat(r,function(i,n){t(i,i?!1:fM(n,r,e))})}function Dge(r,e){return fM(gM.statSync(r),r,e)}});var EM=w((o7e,pM)=>{pM.exports=dM;dM.sync=Fge;var CM=require(\"fs\");function dM(r,e,t){CM.stat(r,function(i,n){t(i,i?!1:mM(n,e))})}function Fge(r,e){return mM(CM.statSync(r),e)}function mM(r,e){return r.isFile()&&Nge(r,e)}function Nge(r,e){var t=r.mode,i=r.uid,n=r.gid,s=e.uid!==void 0?e.uid:process.getuid&&process.getuid(),o=e.gid!==void 0?e.gid:process.getgid&&process.getgid(),a=parseInt(\"100\",8),l=parseInt(\"010\",8),c=parseInt(\"001\",8),u=a|l,g=t&c||t&l&&n===o||t&a&&i===s||t&u&&s===0;return g}});var yM=w((A7e,IM)=>{var a7e=require(\"fs\"),_E;process.platform===\"win32\"||global.TESTING_WINDOWS?_E=hM():_E=EM();IM.exports=mQ;mQ.sync=Lge;function mQ(r,e,t){if(typeof e==\"function\"&&(t=e,e={}),!t){if(typeof Promise!=\"function\")throw new TypeError(\"callback not provided\");return new Promise(function(i,n){mQ(r,e||{},function(s,o){s?n(s):i(o)})})}_E(r,e||{},function(i,n){i&&(i.code===\"EACCES\"||e&&e.ignoreErrors)&&(i=null,n=!1),t(i,n)})}function Lge(r,e){try{return _E.sync(r,e||{})}catch(t){if(e&&e.ignoreErrors||t.code===\"EACCES\")return!1;throw t}}});var kM=w((l7e,wM)=>{var Zu=process.platform===\"win32\"||process.env.OSTYPE===\"cygwin\"||process.env.OSTYPE===\"msys\",BM=require(\"path\"),Tge=Zu?\";\":\":\",bM=yM(),QM=r=>Object.assign(new Error(`not found: ${r}`),{code:\"ENOENT\"}),SM=(r,e)=>{let t=e.colon||Tge,i=r.match(/\\//)||Zu&&r.match(/\\\\/)?[\"\"]:[...Zu?[process.cwd()]:[],...(e.path||process.env.PATH||\"\").split(t)],n=Zu?e.pathExt||process.env.PATHEXT||\".EXE;.CMD;.BAT;.COM\":\"\",s=Zu?n.split(t):[\"\"];return Zu&&r.indexOf(\".\")!==-1&&s[0]!==\"\"&&s.unshift(\"\"),{pathEnv:i,pathExt:s,pathExtExe:n}},vM=(r,e,t)=>{typeof e==\"function\"&&(t=e,e={}),e||(e={});let{pathEnv:i,pathExt:n,pathExtExe:s}=SM(r,e),o=[],a=c=>new Promise((u,g)=>{if(c===i.length)return e.all&&o.length?u(o):g(QM(r));let f=i[c],h=/^\".*\"$/.test(f)?f.slice(1,-1):f,p=BM.join(h,r),m=!h&&/^\\.[\\\\\\/]/.test(r)?r.slice(0,2)+p:p;u(l(m,c,0))}),l=(c,u,g)=>new Promise((f,h)=>{if(g===n.length)return f(a(u+1));let p=n[g];bM(c+p,{pathExt:s},(m,y)=>{if(!m&&y)if(e.all)o.push(c+p);else return f(c+p);return f(l(c,u,g+1))})});return t?a(0).then(c=>t(null,c),t):a(0)},Oge=(r,e)=>{e=e||{};let{pathEnv:t,pathExt:i,pathExtExe:n}=SM(r,e),s=[];for(let o=0;o<t.length;o++){let a=t[o],l=/^\".*\"$/.test(a)?a.slice(1,-1):a,c=BM.join(l,r),u=!l&&/^\\.[\\\\\\/]/.test(r)?r.slice(0,2)+c:c;for(let g=0;g<i.length;g++){let f=u+i[g];try{if(bM.sync(f,{pathExt:n}))if(e.all)s.push(f);else return f}catch(h){}}}if(e.all&&s.length)return s;if(e.nothrow)return null;throw QM(r)};wM.exports=vM;vM.sync=Oge});var PM=w((c7e,EQ)=>{\"use strict\";var xM=(r={})=>{let e=r.env||process.env;return(r.platform||process.platform)!==\"win32\"?\"PATH\":Object.keys(e).reverse().find(i=>i.toUpperCase()===\"PATH\")||\"Path\"};EQ.exports=xM;EQ.exports.default=xM});var NM=w((u7e,DM)=>{\"use strict\";var RM=require(\"path\"),Mge=kM(),Uge=PM();function FM(r,e){let t=r.options.env||process.env,i=process.cwd(),n=r.options.cwd!=null,s=n&&process.chdir!==void 0&&!process.chdir.disabled;if(s)try{process.chdir(r.options.cwd)}catch(a){}let o;try{o=Mge.sync(r.command,{path:t[Uge({env:t})],pathExt:e?RM.delimiter:void 0})}catch(a){}finally{s&&process.chdir(i)}return o&&(o=RM.resolve(n?r.options.cwd:\"\",o)),o}function Kge(r){return FM(r)||FM(r,!0)}DM.exports=Kge});var LM=w((g7e,IQ)=>{\"use strict\";var yQ=/([()\\][%!^\"`<>&|;, *?])/g;function Hge(r){return r=r.replace(yQ,\"^$1\"),r}function jge(r,e){return r=`${r}`,r=r.replace(/(\\\\*)\"/g,'$1$1\\\\\"'),r=r.replace(/(\\\\*)$/,\"$1$1\"),r=`\"${r}\"`,r=r.replace(yQ,\"^$1\"),e&&(r=r.replace(yQ,\"^$1\")),r}IQ.exports.command=Hge;IQ.exports.argument=jge});var OM=w((f7e,TM)=>{\"use strict\";TM.exports=/^#!(.*)/});var UM=w((h7e,MM)=>{\"use strict\";var Gge=OM();MM.exports=(r=\"\")=>{let e=r.match(Gge);if(!e)return null;let[t,i]=e[0].replace(/#! ?/,\"\").split(\" \"),n=t.split(\"/\").pop();return n===\"env\"?i:i?`${n} ${i}`:n}});var HM=w((p7e,KM)=>{\"use strict\";var wQ=require(\"fs\"),Yge=UM();function qge(r){let e=150,t=Buffer.alloc(e),i;try{i=wQ.openSync(r,\"r\"),wQ.readSync(i,t,0,e,0),wQ.closeSync(i)}catch(n){}return Yge(t.toString())}KM.exports=qge});var qM=w((d7e,jM)=>{\"use strict\";var Jge=require(\"path\"),GM=NM(),YM=LM(),Wge=HM(),zge=process.platform===\"win32\",_ge=/\\.(?:com|exe)$/i,Vge=/node_modules[\\\\/].bin[\\\\/][^\\\\/]+\\.cmd$/i;function Xge(r){r.file=GM(r);let e=r.file&&Wge(r.file);return e?(r.args.unshift(r.file),r.command=e,GM(r)):r.file}function Zge(r){if(!zge)return r;let e=Xge(r),t=!_ge.test(e);if(r.options.forceShell||t){let i=Vge.test(e);r.command=Jge.normalize(r.command),r.command=YM.command(r.command),r.args=r.args.map(s=>YM.argument(s,i));let n=[r.command].concat(r.args).join(\" \");r.args=[\"/d\",\"/s\",\"/c\",`\"${n}\"`],r.command=process.env.comspec||\"cmd.exe\",r.options.windowsVerbatimArguments=!0}return r}function $ge(r,e,t){e&&!Array.isArray(e)&&(t=e,e=null),e=e?e.slice(0):[],t=Object.assign({},t);let i={command:r,args:e,options:t,file:void 0,original:{command:r,args:e}};return t.shell?i:Zge(i)}jM.exports=$ge});var zM=w((C7e,JM)=>{\"use strict\";var BQ=process.platform===\"win32\";function bQ(r,e){return Object.assign(new Error(`${e} ${r.command} ENOENT`),{code:\"ENOENT\",errno:\"ENOENT\",syscall:`${e} ${r.command}`,path:r.command,spawnargs:r.args})}function efe(r,e){if(!BQ)return;let t=r.emit;r.emit=function(i,n){if(i===\"exit\"){let s=WM(n,e,\"spawn\");if(s)return t.call(r,\"error\",s)}return t.apply(r,arguments)}}function WM(r,e){return BQ&&r===1&&!e.file?bQ(e.original,\"spawn\"):null}function tfe(r,e){return BQ&&r===1&&!e.file?bQ(e.original,\"spawnSync\"):null}JM.exports={hookChildProcess:efe,verifyENOENT:WM,verifyENOENTSync:tfe,notFoundError:bQ}});var vQ=w((m7e,$u)=>{\"use strict\";var _M=require(\"child_process\"),QQ=qM(),SQ=zM();function VM(r,e,t){let i=QQ(r,e,t),n=_M.spawn(i.command,i.args,i.options);return SQ.hookChildProcess(n,i),n}function rfe(r,e,t){let i=QQ(r,e,t),n=_M.spawnSync(i.command,i.args,i.options);return n.error=n.error||SQ.verifyENOENTSync(n.status,i),n}$u.exports=VM;$u.exports.spawn=VM;$u.exports.sync=rfe;$u.exports._parse=QQ;$u.exports._enoent=SQ});var ZM=w((E7e,XM)=>{\"use strict\";function ife(r,e){function t(){this.constructor=r}t.prototype=e.prototype,r.prototype=new t}function uc(r,e,t,i){this.message=r,this.expected=e,this.found=t,this.location=i,this.name=\"SyntaxError\",typeof Error.captureStackTrace==\"function\"&&Error.captureStackTrace(this,uc)}ife(uc,Error);uc.buildMessage=function(r,e){var t={literal:function(c){return'\"'+n(c.text)+'\"'},class:function(c){var u=\"\",g;for(g=0;g<c.parts.length;g++)u+=c.parts[g]instanceof Array?s(c.parts[g][0])+\"-\"+s(c.parts[g][1]):s(c.parts[g]);return\"[\"+(c.inverted?\"^\":\"\")+u+\"]\"},any:function(c){return\"any character\"},end:function(c){return\"end of input\"},other:function(c){return c.description}};function i(c){return c.charCodeAt(0).toString(16).toUpperCase()}function n(c){return c.replace(/\\\\/g,\"\\\\\\\\\").replace(/\"/g,'\\\\\"').replace(/\\0/g,\"\\\\0\").replace(/\\t/g,\"\\\\t\").replace(/\\n/g,\"\\\\n\").replace(/\\r/g,\"\\\\r\").replace(/[\\x00-\\x0F]/g,function(u){return\"\\\\x0\"+i(u)}).replace(/[\\x10-\\x1F\\x7F-\\x9F]/g,function(u){return\"\\\\x\"+i(u)})}function s(c){return c.replace(/\\\\/g,\"\\\\\\\\\").replace(/\\]/g,\"\\\\]\").replace(/\\^/g,\"\\\\^\").replace(/-/g,\"\\\\-\").replace(/\\0/g,\"\\\\0\").replace(/\\t/g,\"\\\\t\").replace(/\\n/g,\"\\\\n\").replace(/\\r/g,\"\\\\r\").replace(/[\\x00-\\x0F]/g,function(u){return\"\\\\x0\"+i(u)}).replace(/[\\x10-\\x1F\\x7F-\\x9F]/g,function(u){return\"\\\\x\"+i(u)})}function o(c){return t[c.type](c)}function a(c){var u=new Array(c.length),g,f;for(g=0;g<c.length;g++)u[g]=o(c[g]);if(u.sort(),u.length>0){for(g=1,f=1;g<u.length;g++)u[g-1]!==u[g]&&(u[f]=u[g],f++);u.length=f}switch(u.length){case 1:return u[0];case 2:return u[0]+\" or \"+u[1];default:return u.slice(0,-1).join(\", \")+\", or \"+u[u.length-1]}}function l(c){return c?'\"'+n(c)+'\"':\"end of input\"}return\"Expected \"+a(r)+\" but \"+l(e)+\" found.\"};function nfe(r,e){e=e!==void 0?e:{};var t={},i={Start:jA},n=jA,s=function(C){return C||[]},o=function(C,Q,F){return[{command:C,type:Q}].concat(F||[])},a=function(C,Q){return[{command:C,type:Q||\";\"}]},l=function(C){return C},c=\";\",u=me(\";\",!1),g=\"&\",f=me(\"&\",!1),h=function(C,Q){return Q?{chain:C,then:Q}:{chain:C}},p=function(C,Q){return{type:C,line:Q}},m=\"&&\",y=me(\"&&\",!1),b=\"||\",v=me(\"||\",!1),k=function(C,Q){return Q?te(N({},C),{then:Q}):C},T=function(C,Q){return{type:C,chain:Q}},Y=\"|&\",q=me(\"|&\",!1),$=\"|\",z=me(\"|\",!1),ne=\"=\",ee=me(\"=\",!1),A=function(C,Q){return{name:C,args:[Q]}},oe=function(C){return{name:C,args:[]}},ce=\"(\",Z=me(\"(\",!1),O=\")\",L=me(\")\",!1),de=function(C,Q){return{type:\"subshell\",subshell:C,args:Q}},Be=\"{\",Ge=me(\"{\",!1),re=\"}\",se=me(\"}\",!1),be=function(C,Q){return{type:\"group\",group:C,args:Q}},he=function(C,Q){return{type:\"command\",args:Q,envs:C}},Fe=function(C){return{type:\"envs\",envs:C}},Ue=function(C){return C},xe=function(C){return C},ve=/^[0-9]/,pe=_e([[\"0\",\"9\"]],!1,!1),V=function(C,Q,F){return{type:\"redirection\",subtype:Q,fd:C!==null?parseInt(C):null,args:[F]}},Qe=\">>\",le=me(\">>\",!1),fe=\">&\",gt=me(\">&\",!1),Ht=\">\",Mt=me(\">\",!1),Ei=\"<<<\",jt=me(\"<<<\",!1),Qr=\"<&\",Oi=me(\"<&\",!1),$s=\"<\",Hn=me(\"<\",!1),jn=function(C){return{type:\"argument\",segments:[].concat(...C)}},Sr=function(C){return C},Gn=\"$'\",fs=me(\"$'\",!1),Qa=\"'\",RA=me(\"'\",!1),Lu=function(C){return[{type:\"text\",text:C}]},hs='\"\"',FA=me('\"\"',!1),Sa=function(){return{type:\"text\",text:\"\"}},Tu='\"',NA=me('\"',!1),LA=function(C){return C},vr=function(C){return{type:\"arithmetic\",arithmetic:C,quoted:!0}},_l=function(C){return{type:\"shell\",shell:C,quoted:!0}},Ou=function(C){return te(N({type:\"variable\"},C),{quoted:!0})},Po=function(C){return{type:\"text\",text:C}},Mu=function(C){return{type:\"arithmetic\",arithmetic:C,quoted:!1}},vh=function(C){return{type:\"shell\",shell:C,quoted:!1}},kh=function(C){return te(N({type:\"variable\"},C),{quoted:!1})},Dr=function(C){return{type:\"glob\",pattern:C}},Ae=/^[^']/,Do=_e([\"'\"],!0,!1),Yn=function(C){return C.join(\"\")},Uu=/^[^$\"]/,St=_e([\"$\",'\"'],!0,!1),Vl=`\\\\\n`,qn=me(`\\\\\n`,!1),ps=function(){return\"\"},ds=\"\\\\\",pt=me(\"\\\\\",!1),Ro=/^[\\\\$\"`]/,lt=_e([\"\\\\\",\"$\",'\"',\"`\"],!1,!1),mn=function(C){return C},S=\"\\\\a\",Tt=me(\"\\\\a\",!1),Ku=function(){return\"a\"},Xl=\"\\\\b\",xh=me(\"\\\\b\",!1),Ph=function(){return\"\\b\"},Dh=/^[Ee]/,Rh=_e([\"E\",\"e\"],!1,!1),Fh=function(){return\"\u001b\"},j=\"\\\\f\",wt=me(\"\\\\f\",!1),TA=function(){return\"\\f\"},$i=\"\\\\n\",Zl=me(\"\\\\n\",!1),$e=function(){return`\n`},va=\"\\\\r\",Hu=me(\"\\\\r\",!1),wE=function(){return\"\\r\"},Nh=\"\\\\t\",BE=me(\"\\\\t\",!1),gr=function(){return\"\t\"},Jn=\"\\\\v\",$l=me(\"\\\\v\",!1),Lh=function(){return\"\\v\"},eo=/^[\\\\'\"?]/,ka=_e([\"\\\\\",\"'\",'\"',\"?\"],!1,!1),En=function(C){return String.fromCharCode(parseInt(C,16))},Oe=\"\\\\x\",ju=me(\"\\\\x\",!1),ec=\"\\\\u\",to=me(\"\\\\u\",!1),tc=\"\\\\U\",OA=me(\"\\\\U\",!1),Gu=function(C){return String.fromCodePoint(parseInt(C,16))},Yu=/^[0-7]/,xa=_e([[\"0\",\"7\"]],!1,!1),Pa=/^[0-9a-fA-f]/,nt=_e([[\"0\",\"9\"],[\"a\",\"f\"],[\"A\",\"f\"]],!1,!1),Fo=ot(),MA=\"-\",rc=me(\"-\",!1),ro=\"+\",ic=me(\"+\",!1),bE=\".\",Th=me(\".\",!1),qu=function(C,Q,F){return{type:\"number\",value:(C===\"-\"?-1:1)*parseFloat(Q.join(\"\")+\".\"+F.join(\"\"))}},Oh=function(C,Q){return{type:\"number\",value:(C===\"-\"?-1:1)*parseInt(Q.join(\"\"))}},QE=function(C){return N({type:\"variable\"},C)},nc=function(C){return{type:\"variable\",name:C}},SE=function(C){return C},Ju=\"*\",UA=me(\"*\",!1),Tr=\"/\",vE=me(\"/\",!1),io=function(C,Q,F){return{type:Q===\"*\"?\"multiplication\":\"division\",right:F}},no=function(C,Q){return Q.reduce((F,K)=>N({left:F},K),C)},Wu=function(C,Q,F){return{type:Q===\"+\"?\"addition\":\"subtraction\",right:F}},KA=\"$((\",R=me(\"$((\",!1),G=\"))\",Ce=me(\"))\",!1),je=function(C){return C},Te=\"$(\",Xe=me(\"$(\",!1),Et=function(C){return C},Rt=\"${\",Wn=me(\"${\",!1),Mb=\":-\",fO=me(\":-\",!1),hO=function(C,Q){return{name:C,defaultValue:Q}},Ub=\":-}\",pO=me(\":-}\",!1),dO=function(C){return{name:C,defaultValue:[]}},Kb=\":+\",CO=me(\":+\",!1),mO=function(C,Q){return{name:C,alternativeValue:Q}},Hb=\":+}\",EO=me(\":+}\",!1),IO=function(C){return{name:C,alternativeValue:[]}},jb=function(C){return{name:C}},yO=\"$\",wO=me(\"$\",!1),BO=function(C){return e.isGlobPattern(C)},bO=function(C){return C},Gb=/^[a-zA-Z0-9_]/,Yb=_e([[\"a\",\"z\"],[\"A\",\"Z\"],[\"0\",\"9\"],\"_\"],!1,!1),qb=function(){return M()},Jb=/^[$@*?#a-zA-Z0-9_\\-]/,Wb=_e([\"$\",\"@\",\"*\",\"?\",\"#\",[\"a\",\"z\"],[\"A\",\"Z\"],[\"0\",\"9\"],\"_\",\"-\"],!1,!1),QO=/^[(){}<>$|&; \\t\"']/,zu=_e([\"(\",\")\",\"{\",\"}\",\"<\",\">\",\"$\",\"|\",\"&\",\";\",\" \",\"\t\",'\"',\"'\"],!1,!1),zb=/^[<>&; \\t\"']/,_b=_e([\"<\",\">\",\"&\",\";\",\" \",\"\t\",'\"',\"'\"],!1,!1),kE=/^[ \\t]/,xE=_e([\" \",\"\t\"],!1,!1),B=0,Ke=0,HA=[{line:1,column:1}],d=0,E=[],I=0,D;if(\"startRule\"in e){if(!(e.startRule in i))throw new Error(`Can't start parsing from rule \"`+e.startRule+'\".');n=i[e.startRule]}function M(){return r.substring(Ke,B)}function _(){return yt(Ke,B)}function ie(C,Q){throw Q=Q!==void 0?Q:yt(Ke,B),Mi([ut(C)],r.substring(Ke,B),Q)}function we(C,Q){throw Q=Q!==void 0?Q:yt(Ke,B),zn(C,Q)}function me(C,Q){return{type:\"literal\",text:C,ignoreCase:Q}}function _e(C,Q,F){return{type:\"class\",parts:C,inverted:Q,ignoreCase:F}}function ot(){return{type:\"any\"}}function Bt(){return{type:\"end\"}}function ut(C){return{type:\"other\",description:C}}function st(C){var Q=HA[C],F;if(Q)return Q;for(F=C-1;!HA[F];)F--;for(Q=HA[F],Q={line:Q.line,column:Q.column};F<C;)r.charCodeAt(F)===10?(Q.line++,Q.column=1):Q.column++,F++;return HA[C]=Q,Q}function yt(C,Q){var F=st(C),K=st(Q);return{start:{offset:C,line:F.line,column:F.column},end:{offset:Q,line:K.line,column:K.column}}}function ke(C){B<d||(B>d&&(d=B,E=[]),E.push(C))}function zn(C,Q){return new uc(C,null,null,Q)}function Mi(C,Q,F){return new uc(uc.buildMessage(C,Q),C,Q,F)}function jA(){var C,Q;return C=B,Q=Yr(),Q===t&&(Q=null),Q!==t&&(Ke=C,Q=s(Q)),C=Q,C}function Yr(){var C,Q,F,K,ue;if(C=B,Q=qr(),Q!==t){for(F=[],K=qe();K!==t;)F.push(K),K=qe();F!==t?(K=Da(),K!==t?(ue=Cs(),ue===t&&(ue=null),ue!==t?(Ke=C,Q=o(Q,K,ue),C=Q):(B=C,C=t)):(B=C,C=t)):(B=C,C=t)}else B=C,C=t;if(C===t)if(C=B,Q=qr(),Q!==t){for(F=[],K=qe();K!==t;)F.push(K),K=qe();F!==t?(K=Da(),K===t&&(K=null),K!==t?(Ke=C,Q=a(Q,K),C=Q):(B=C,C=t)):(B=C,C=t)}else B=C,C=t;return C}function Cs(){var C,Q,F,K,ue;for(C=B,Q=[],F=qe();F!==t;)Q.push(F),F=qe();if(Q!==t)if(F=Yr(),F!==t){for(K=[],ue=qe();ue!==t;)K.push(ue),ue=qe();K!==t?(Ke=C,Q=l(F),C=Q):(B=C,C=t)}else B=C,C=t;else B=C,C=t;return C}function Da(){var C;return r.charCodeAt(B)===59?(C=c,B++):(C=t,I===0&&ke(u)),C===t&&(r.charCodeAt(B)===38?(C=g,B++):(C=t,I===0&&ke(f))),C}function qr(){var C,Q,F;return C=B,Q=SO(),Q!==t?(F=Yue(),F===t&&(F=null),F!==t?(Ke=C,Q=h(Q,F),C=Q):(B=C,C=t)):(B=C,C=t),C}function Yue(){var C,Q,F,K,ue,De,Ct;for(C=B,Q=[],F=qe();F!==t;)Q.push(F),F=qe();if(Q!==t)if(F=que(),F!==t){for(K=[],ue=qe();ue!==t;)K.push(ue),ue=qe();if(K!==t)if(ue=qr(),ue!==t){for(De=[],Ct=qe();Ct!==t;)De.push(Ct),Ct=qe();De!==t?(Ke=C,Q=p(F,ue),C=Q):(B=C,C=t)}else B=C,C=t;else B=C,C=t}else B=C,C=t;else B=C,C=t;return C}function que(){var C;return r.substr(B,2)===m?(C=m,B+=2):(C=t,I===0&&ke(y)),C===t&&(r.substr(B,2)===b?(C=b,B+=2):(C=t,I===0&&ke(v))),C}function SO(){var C,Q,F;return C=B,Q=zue(),Q!==t?(F=Jue(),F===t&&(F=null),F!==t?(Ke=C,Q=k(Q,F),C=Q):(B=C,C=t)):(B=C,C=t),C}function Jue(){var C,Q,F,K,ue,De,Ct;for(C=B,Q=[],F=qe();F!==t;)Q.push(F),F=qe();if(Q!==t)if(F=Wue(),F!==t){for(K=[],ue=qe();ue!==t;)K.push(ue),ue=qe();if(K!==t)if(ue=SO(),ue!==t){for(De=[],Ct=qe();Ct!==t;)De.push(Ct),Ct=qe();De!==t?(Ke=C,Q=T(F,ue),C=Q):(B=C,C=t)}else B=C,C=t;else B=C,C=t}else B=C,C=t;else B=C,C=t;return C}function Wue(){var C;return r.substr(B,2)===Y?(C=Y,B+=2):(C=t,I===0&&ke(q)),C===t&&(r.charCodeAt(B)===124?(C=$,B++):(C=t,I===0&&ke(z))),C}function PE(){var C,Q,F,K,ue,De;if(C=B,Q=MO(),Q!==t)if(r.charCodeAt(B)===61?(F=ne,B++):(F=t,I===0&&ke(ee)),F!==t)if(K=xO(),K!==t){for(ue=[],De=qe();De!==t;)ue.push(De),De=qe();ue!==t?(Ke=C,Q=A(Q,K),C=Q):(B=C,C=t)}else B=C,C=t;else B=C,C=t;else B=C,C=t;if(C===t)if(C=B,Q=MO(),Q!==t)if(r.charCodeAt(B)===61?(F=ne,B++):(F=t,I===0&&ke(ee)),F!==t){for(K=[],ue=qe();ue!==t;)K.push(ue),ue=qe();K!==t?(Ke=C,Q=oe(Q),C=Q):(B=C,C=t)}else B=C,C=t;else B=C,C=t;return C}function zue(){var C,Q,F,K,ue,De,Ct,bt,$r,Ii,ms;for(C=B,Q=[],F=qe();F!==t;)Q.push(F),F=qe();if(Q!==t)if(r.charCodeAt(B)===40?(F=ce,B++):(F=t,I===0&&ke(Z)),F!==t){for(K=[],ue=qe();ue!==t;)K.push(ue),ue=qe();if(K!==t)if(ue=Yr(),ue!==t){for(De=[],Ct=qe();Ct!==t;)De.push(Ct),Ct=qe();if(De!==t)if(r.charCodeAt(B)===41?(Ct=O,B++):(Ct=t,I===0&&ke(L)),Ct!==t){for(bt=[],$r=qe();$r!==t;)bt.push($r),$r=qe();if(bt!==t){for($r=[],Ii=Mh();Ii!==t;)$r.push(Ii),Ii=Mh();if($r!==t){for(Ii=[],ms=qe();ms!==t;)Ii.push(ms),ms=qe();Ii!==t?(Ke=C,Q=de(ue,$r),C=Q):(B=C,C=t)}else B=C,C=t}else B=C,C=t}else B=C,C=t;else B=C,C=t}else B=C,C=t;else B=C,C=t}else B=C,C=t;else B=C,C=t;if(C===t){for(C=B,Q=[],F=qe();F!==t;)Q.push(F),F=qe();if(Q!==t)if(r.charCodeAt(B)===123?(F=Be,B++):(F=t,I===0&&ke(Ge)),F!==t){for(K=[],ue=qe();ue!==t;)K.push(ue),ue=qe();if(K!==t)if(ue=Yr(),ue!==t){for(De=[],Ct=qe();Ct!==t;)De.push(Ct),Ct=qe();if(De!==t)if(r.charCodeAt(B)===125?(Ct=re,B++):(Ct=t,I===0&&ke(se)),Ct!==t){for(bt=[],$r=qe();$r!==t;)bt.push($r),$r=qe();if(bt!==t){for($r=[],Ii=Mh();Ii!==t;)$r.push(Ii),Ii=Mh();if($r!==t){for(Ii=[],ms=qe();ms!==t;)Ii.push(ms),ms=qe();Ii!==t?(Ke=C,Q=be(ue,$r),C=Q):(B=C,C=t)}else B=C,C=t}else B=C,C=t}else B=C,C=t;else B=C,C=t}else B=C,C=t;else B=C,C=t}else B=C,C=t;else B=C,C=t;if(C===t){for(C=B,Q=[],F=qe();F!==t;)Q.push(F),F=qe();if(Q!==t){for(F=[],K=PE();K!==t;)F.push(K),K=PE();if(F!==t){for(K=[],ue=qe();ue!==t;)K.push(ue),ue=qe();if(K!==t){if(ue=[],De=kO(),De!==t)for(;De!==t;)ue.push(De),De=kO();else ue=t;if(ue!==t){for(De=[],Ct=qe();Ct!==t;)De.push(Ct),Ct=qe();De!==t?(Ke=C,Q=he(F,ue),C=Q):(B=C,C=t)}else B=C,C=t}else B=C,C=t}else B=C,C=t}else B=C,C=t;if(C===t){for(C=B,Q=[],F=qe();F!==t;)Q.push(F),F=qe();if(Q!==t){if(F=[],K=PE(),K!==t)for(;K!==t;)F.push(K),K=PE();else F=t;if(F!==t){for(K=[],ue=qe();ue!==t;)K.push(ue),ue=qe();K!==t?(Ke=C,Q=Fe(F),C=Q):(B=C,C=t)}else B=C,C=t}else B=C,C=t}}}return C}function vO(){var C,Q,F,K,ue;for(C=B,Q=[],F=qe();F!==t;)Q.push(F),F=qe();if(Q!==t){if(F=[],K=DE(),K!==t)for(;K!==t;)F.push(K),K=DE();else F=t;if(F!==t){for(K=[],ue=qe();ue!==t;)K.push(ue),ue=qe();K!==t?(Ke=C,Q=Ue(F),C=Q):(B=C,C=t)}else B=C,C=t}else B=C,C=t;return C}function kO(){var C,Q,F;for(C=B,Q=[],F=qe();F!==t;)Q.push(F),F=qe();if(Q!==t?(F=Mh(),F!==t?(Ke=C,Q=xe(F),C=Q):(B=C,C=t)):(B=C,C=t),C===t){for(C=B,Q=[],F=qe();F!==t;)Q.push(F),F=qe();Q!==t?(F=DE(),F!==t?(Ke=C,Q=xe(F),C=Q):(B=C,C=t)):(B=C,C=t)}return C}function Mh(){var C,Q,F,K,ue;for(C=B,Q=[],F=qe();F!==t;)Q.push(F),F=qe();return Q!==t?(ve.test(r.charAt(B))?(F=r.charAt(B),B++):(F=t,I===0&&ke(pe)),F===t&&(F=null),F!==t?(K=_ue(),K!==t?(ue=DE(),ue!==t?(Ke=C,Q=V(F,K,ue),C=Q):(B=C,C=t)):(B=C,C=t)):(B=C,C=t)):(B=C,C=t),C}function _ue(){var C;return r.substr(B,2)===Qe?(C=Qe,B+=2):(C=t,I===0&&ke(le)),C===t&&(r.substr(B,2)===fe?(C=fe,B+=2):(C=t,I===0&&ke(gt)),C===t&&(r.charCodeAt(B)===62?(C=Ht,B++):(C=t,I===0&&ke(Mt)),C===t&&(r.substr(B,3)===Ei?(C=Ei,B+=3):(C=t,I===0&&ke(jt)),C===t&&(r.substr(B,2)===Qr?(C=Qr,B+=2):(C=t,I===0&&ke(Oi)),C===t&&(r.charCodeAt(B)===60?(C=$s,B++):(C=t,I===0&&ke(Hn))))))),C}function DE(){var C,Q,F;for(C=B,Q=[],F=qe();F!==t;)Q.push(F),F=qe();return Q!==t?(F=xO(),F!==t?(Ke=C,Q=xe(F),C=Q):(B=C,C=t)):(B=C,C=t),C}function xO(){var C,Q,F;if(C=B,Q=[],F=PO(),F!==t)for(;F!==t;)Q.push(F),F=PO();else Q=t;return Q!==t&&(Ke=C,Q=jn(Q)),C=Q,C}function PO(){var C,Q;return C=B,Q=Vue(),Q!==t&&(Ke=C,Q=Sr(Q)),C=Q,C===t&&(C=B,Q=Xue(),Q!==t&&(Ke=C,Q=Sr(Q)),C=Q,C===t&&(C=B,Q=Zue(),Q!==t&&(Ke=C,Q=Sr(Q)),C=Q,C===t&&(C=B,Q=$ue(),Q!==t&&(Ke=C,Q=Sr(Q)),C=Q))),C}function Vue(){var C,Q,F,K;return C=B,r.substr(B,2)===Gn?(Q=Gn,B+=2):(Q=t,I===0&&ke(fs)),Q!==t?(F=rge(),F!==t?(r.charCodeAt(B)===39?(K=Qa,B++):(K=t,I===0&&ke(RA)),K!==t?(Ke=C,Q=Lu(F),C=Q):(B=C,C=t)):(B=C,C=t)):(B=C,C=t),C}function Xue(){var C,Q,F,K;return C=B,r.charCodeAt(B)===39?(Q=Qa,B++):(Q=t,I===0&&ke(RA)),Q!==t?(F=ege(),F!==t?(r.charCodeAt(B)===39?(K=Qa,B++):(K=t,I===0&&ke(RA)),K!==t?(Ke=C,Q=Lu(F),C=Q):(B=C,C=t)):(B=C,C=t)):(B=C,C=t),C}function Zue(){var C,Q,F,K;if(C=B,r.substr(B,2)===hs?(Q=hs,B+=2):(Q=t,I===0&&ke(FA)),Q!==t&&(Ke=C,Q=Sa()),C=Q,C===t)if(C=B,r.charCodeAt(B)===34?(Q=Tu,B++):(Q=t,I===0&&ke(NA)),Q!==t){for(F=[],K=DO();K!==t;)F.push(K),K=DO();F!==t?(r.charCodeAt(B)===34?(K=Tu,B++):(K=t,I===0&&ke(NA)),K!==t?(Ke=C,Q=LA(F),C=Q):(B=C,C=t)):(B=C,C=t)}else B=C,C=t;return C}function $ue(){var C,Q,F;if(C=B,Q=[],F=RO(),F!==t)for(;F!==t;)Q.push(F),F=RO();else Q=t;return Q!==t&&(Ke=C,Q=LA(Q)),C=Q,C}function DO(){var C,Q;return C=B,Q=TO(),Q!==t&&(Ke=C,Q=vr(Q)),C=Q,C===t&&(C=B,Q=OO(),Q!==t&&(Ke=C,Q=_l(Q)),C=Q,C===t&&(C=B,Q=$b(),Q!==t&&(Ke=C,Q=Ou(Q)),C=Q,C===t&&(C=B,Q=tge(),Q!==t&&(Ke=C,Q=Po(Q)),C=Q))),C}function RO(){var C,Q;return C=B,Q=TO(),Q!==t&&(Ke=C,Q=Mu(Q)),C=Q,C===t&&(C=B,Q=OO(),Q!==t&&(Ke=C,Q=vh(Q)),C=Q,C===t&&(C=B,Q=$b(),Q!==t&&(Ke=C,Q=kh(Q)),C=Q,C===t&&(C=B,Q=sge(),Q!==t&&(Ke=C,Q=Dr(Q)),C=Q,C===t&&(C=B,Q=nge(),Q!==t&&(Ke=C,Q=Po(Q)),C=Q)))),C}function ege(){var C,Q,F;for(C=B,Q=[],Ae.test(r.charAt(B))?(F=r.charAt(B),B++):(F=t,I===0&&ke(Do));F!==t;)Q.push(F),Ae.test(r.charAt(B))?(F=r.charAt(B),B++):(F=t,I===0&&ke(Do));return Q!==t&&(Ke=C,Q=Yn(Q)),C=Q,C}function tge(){var C,Q,F;if(C=B,Q=[],F=FO(),F===t&&(Uu.test(r.charAt(B))?(F=r.charAt(B),B++):(F=t,I===0&&ke(St))),F!==t)for(;F!==t;)Q.push(F),F=FO(),F===t&&(Uu.test(r.charAt(B))?(F=r.charAt(B),B++):(F=t,I===0&&ke(St)));else Q=t;return Q!==t&&(Ke=C,Q=Yn(Q)),C=Q,C}function FO(){var C,Q,F;return C=B,r.substr(B,2)===Vl?(Q=Vl,B+=2):(Q=t,I===0&&ke(qn)),Q!==t&&(Ke=C,Q=ps()),C=Q,C===t&&(C=B,r.charCodeAt(B)===92?(Q=ds,B++):(Q=t,I===0&&ke(pt)),Q!==t?(Ro.test(r.charAt(B))?(F=r.charAt(B),B++):(F=t,I===0&&ke(lt)),F!==t?(Ke=C,Q=mn(F),C=Q):(B=C,C=t)):(B=C,C=t)),C}function rge(){var C,Q,F;for(C=B,Q=[],F=NO(),F===t&&(Ae.test(r.charAt(B))?(F=r.charAt(B),B++):(F=t,I===0&&ke(Do)));F!==t;)Q.push(F),F=NO(),F===t&&(Ae.test(r.charAt(B))?(F=r.charAt(B),B++):(F=t,I===0&&ke(Do)));return Q!==t&&(Ke=C,Q=Yn(Q)),C=Q,C}function NO(){var C,Q,F;return C=B,r.substr(B,2)===S?(Q=S,B+=2):(Q=t,I===0&&ke(Tt)),Q!==t&&(Ke=C,Q=Ku()),C=Q,C===t&&(C=B,r.substr(B,2)===Xl?(Q=Xl,B+=2):(Q=t,I===0&&ke(xh)),Q!==t&&(Ke=C,Q=Ph()),C=Q,C===t&&(C=B,r.charCodeAt(B)===92?(Q=ds,B++):(Q=t,I===0&&ke(pt)),Q!==t?(Dh.test(r.charAt(B))?(F=r.charAt(B),B++):(F=t,I===0&&ke(Rh)),F!==t?(Ke=C,Q=Fh(),C=Q):(B=C,C=t)):(B=C,C=t),C===t&&(C=B,r.substr(B,2)===j?(Q=j,B+=2):(Q=t,I===0&&ke(wt)),Q!==t&&(Ke=C,Q=TA()),C=Q,C===t&&(C=B,r.substr(B,2)===$i?(Q=$i,B+=2):(Q=t,I===0&&ke(Zl)),Q!==t&&(Ke=C,Q=$e()),C=Q,C===t&&(C=B,r.substr(B,2)===va?(Q=va,B+=2):(Q=t,I===0&&ke(Hu)),Q!==t&&(Ke=C,Q=wE()),C=Q,C===t&&(C=B,r.substr(B,2)===Nh?(Q=Nh,B+=2):(Q=t,I===0&&ke(BE)),Q!==t&&(Ke=C,Q=gr()),C=Q,C===t&&(C=B,r.substr(B,2)===Jn?(Q=Jn,B+=2):(Q=t,I===0&&ke($l)),Q!==t&&(Ke=C,Q=Lh()),C=Q,C===t&&(C=B,r.charCodeAt(B)===92?(Q=ds,B++):(Q=t,I===0&&ke(pt)),Q!==t?(eo.test(r.charAt(B))?(F=r.charAt(B),B++):(F=t,I===0&&ke(ka)),F!==t?(Ke=C,Q=mn(F),C=Q):(B=C,C=t)):(B=C,C=t),C===t&&(C=ige()))))))))),C}function ige(){var C,Q,F,K,ue,De,Ct,bt,$r,Ii,ms,eQ;return C=B,r.charCodeAt(B)===92?(Q=ds,B++):(Q=t,I===0&&ke(pt)),Q!==t?(F=Vb(),F!==t?(Ke=C,Q=En(F),C=Q):(B=C,C=t)):(B=C,C=t),C===t&&(C=B,r.substr(B,2)===Oe?(Q=Oe,B+=2):(Q=t,I===0&&ke(ju)),Q!==t?(F=B,K=B,ue=Vb(),ue!==t?(De=_n(),De!==t?(ue=[ue,De],K=ue):(B=K,K=t)):(B=K,K=t),K===t&&(K=Vb()),K!==t?F=r.substring(F,B):F=K,F!==t?(Ke=C,Q=En(F),C=Q):(B=C,C=t)):(B=C,C=t),C===t&&(C=B,r.substr(B,2)===ec?(Q=ec,B+=2):(Q=t,I===0&&ke(to)),Q!==t?(F=B,K=B,ue=_n(),ue!==t?(De=_n(),De!==t?(Ct=_n(),Ct!==t?(bt=_n(),bt!==t?(ue=[ue,De,Ct,bt],K=ue):(B=K,K=t)):(B=K,K=t)):(B=K,K=t)):(B=K,K=t),K!==t?F=r.substring(F,B):F=K,F!==t?(Ke=C,Q=En(F),C=Q):(B=C,C=t)):(B=C,C=t),C===t&&(C=B,r.substr(B,2)===tc?(Q=tc,B+=2):(Q=t,I===0&&ke(OA)),Q!==t?(F=B,K=B,ue=_n(),ue!==t?(De=_n(),De!==t?(Ct=_n(),Ct!==t?(bt=_n(),bt!==t?($r=_n(),$r!==t?(Ii=_n(),Ii!==t?(ms=_n(),ms!==t?(eQ=_n(),eQ!==t?(ue=[ue,De,Ct,bt,$r,Ii,ms,eQ],K=ue):(B=K,K=t)):(B=K,K=t)):(B=K,K=t)):(B=K,K=t)):(B=K,K=t)):(B=K,K=t)):(B=K,K=t)):(B=K,K=t),K!==t?F=r.substring(F,B):F=K,F!==t?(Ke=C,Q=Gu(F),C=Q):(B=C,C=t)):(B=C,C=t)))),C}function Vb(){var C;return Yu.test(r.charAt(B))?(C=r.charAt(B),B++):(C=t,I===0&&ke(xa)),C}function _n(){var C;return Pa.test(r.charAt(B))?(C=r.charAt(B),B++):(C=t,I===0&&ke(nt)),C}function nge(){var C,Q,F,K,ue;if(C=B,Q=[],F=B,r.charCodeAt(B)===92?(K=ds,B++):(K=t,I===0&&ke(pt)),K!==t?(r.length>B?(ue=r.charAt(B),B++):(ue=t,I===0&&ke(Fo)),ue!==t?(Ke=F,K=mn(ue),F=K):(B=F,F=t)):(B=F,F=t),F===t&&(F=B,K=B,I++,ue=UO(),I--,ue===t?K=void 0:(B=K,K=t),K!==t?(r.length>B?(ue=r.charAt(B),B++):(ue=t,I===0&&ke(Fo)),ue!==t?(Ke=F,K=mn(ue),F=K):(B=F,F=t)):(B=F,F=t)),F!==t)for(;F!==t;)Q.push(F),F=B,r.charCodeAt(B)===92?(K=ds,B++):(K=t,I===0&&ke(pt)),K!==t?(r.length>B?(ue=r.charAt(B),B++):(ue=t,I===0&&ke(Fo)),ue!==t?(Ke=F,K=mn(ue),F=K):(B=F,F=t)):(B=F,F=t),F===t&&(F=B,K=B,I++,ue=UO(),I--,ue===t?K=void 0:(B=K,K=t),K!==t?(r.length>B?(ue=r.charAt(B),B++):(ue=t,I===0&&ke(Fo)),ue!==t?(Ke=F,K=mn(ue),F=K):(B=F,F=t)):(B=F,F=t));else Q=t;return Q!==t&&(Ke=C,Q=Yn(Q)),C=Q,C}function Xb(){var C,Q,F,K,ue,De;if(C=B,r.charCodeAt(B)===45?(Q=MA,B++):(Q=t,I===0&&ke(rc)),Q===t&&(r.charCodeAt(B)===43?(Q=ro,B++):(Q=t,I===0&&ke(ic))),Q===t&&(Q=null),Q!==t){if(F=[],ve.test(r.charAt(B))?(K=r.charAt(B),B++):(K=t,I===0&&ke(pe)),K!==t)for(;K!==t;)F.push(K),ve.test(r.charAt(B))?(K=r.charAt(B),B++):(K=t,I===0&&ke(pe));else F=t;if(F!==t)if(r.charCodeAt(B)===46?(K=bE,B++):(K=t,I===0&&ke(Th)),K!==t){if(ue=[],ve.test(r.charAt(B))?(De=r.charAt(B),B++):(De=t,I===0&&ke(pe)),De!==t)for(;De!==t;)ue.push(De),ve.test(r.charAt(B))?(De=r.charAt(B),B++):(De=t,I===0&&ke(pe));else ue=t;ue!==t?(Ke=C,Q=qu(Q,F,ue),C=Q):(B=C,C=t)}else B=C,C=t;else B=C,C=t}else B=C,C=t;if(C===t){if(C=B,r.charCodeAt(B)===45?(Q=MA,B++):(Q=t,I===0&&ke(rc)),Q===t&&(r.charCodeAt(B)===43?(Q=ro,B++):(Q=t,I===0&&ke(ic))),Q===t&&(Q=null),Q!==t){if(F=[],ve.test(r.charAt(B))?(K=r.charAt(B),B++):(K=t,I===0&&ke(pe)),K!==t)for(;K!==t;)F.push(K),ve.test(r.charAt(B))?(K=r.charAt(B),B++):(K=t,I===0&&ke(pe));else F=t;F!==t?(Ke=C,Q=Oh(Q,F),C=Q):(B=C,C=t)}else B=C,C=t;if(C===t&&(C=B,Q=$b(),Q!==t&&(Ke=C,Q=QE(Q)),C=Q,C===t&&(C=B,Q=sc(),Q!==t&&(Ke=C,Q=nc(Q)),C=Q,C===t)))if(C=B,r.charCodeAt(B)===40?(Q=ce,B++):(Q=t,I===0&&ke(Z)),Q!==t){for(F=[],K=qe();K!==t;)F.push(K),K=qe();if(F!==t)if(K=LO(),K!==t){for(ue=[],De=qe();De!==t;)ue.push(De),De=qe();ue!==t?(r.charCodeAt(B)===41?(De=O,B++):(De=t,I===0&&ke(L)),De!==t?(Ke=C,Q=SE(K),C=Q):(B=C,C=t)):(B=C,C=t)}else B=C,C=t;else B=C,C=t}else B=C,C=t}return C}function Zb(){var C,Q,F,K,ue,De,Ct,bt;if(C=B,Q=Xb(),Q!==t){for(F=[],K=B,ue=[],De=qe();De!==t;)ue.push(De),De=qe();if(ue!==t)if(r.charCodeAt(B)===42?(De=Ju,B++):(De=t,I===0&&ke(UA)),De===t&&(r.charCodeAt(B)===47?(De=Tr,B++):(De=t,I===0&&ke(vE))),De!==t){for(Ct=[],bt=qe();bt!==t;)Ct.push(bt),bt=qe();Ct!==t?(bt=Xb(),bt!==t?(Ke=K,ue=io(Q,De,bt),K=ue):(B=K,K=t)):(B=K,K=t)}else B=K,K=t;else B=K,K=t;for(;K!==t;){for(F.push(K),K=B,ue=[],De=qe();De!==t;)ue.push(De),De=qe();if(ue!==t)if(r.charCodeAt(B)===42?(De=Ju,B++):(De=t,I===0&&ke(UA)),De===t&&(r.charCodeAt(B)===47?(De=Tr,B++):(De=t,I===0&&ke(vE))),De!==t){for(Ct=[],bt=qe();bt!==t;)Ct.push(bt),bt=qe();Ct!==t?(bt=Xb(),bt!==t?(Ke=K,ue=io(Q,De,bt),K=ue):(B=K,K=t)):(B=K,K=t)}else B=K,K=t;else B=K,K=t}F!==t?(Ke=C,Q=no(Q,F),C=Q):(B=C,C=t)}else B=C,C=t;return C}function LO(){var C,Q,F,K,ue,De,Ct,bt;if(C=B,Q=Zb(),Q!==t){for(F=[],K=B,ue=[],De=qe();De!==t;)ue.push(De),De=qe();if(ue!==t)if(r.charCodeAt(B)===43?(De=ro,B++):(De=t,I===0&&ke(ic)),De===t&&(r.charCodeAt(B)===45?(De=MA,B++):(De=t,I===0&&ke(rc))),De!==t){for(Ct=[],bt=qe();bt!==t;)Ct.push(bt),bt=qe();Ct!==t?(bt=Zb(),bt!==t?(Ke=K,ue=Wu(Q,De,bt),K=ue):(B=K,K=t)):(B=K,K=t)}else B=K,K=t;else B=K,K=t;for(;K!==t;){for(F.push(K),K=B,ue=[],De=qe();De!==t;)ue.push(De),De=qe();if(ue!==t)if(r.charCodeAt(B)===43?(De=ro,B++):(De=t,I===0&&ke(ic)),De===t&&(r.charCodeAt(B)===45?(De=MA,B++):(De=t,I===0&&ke(rc))),De!==t){for(Ct=[],bt=qe();bt!==t;)Ct.push(bt),bt=qe();Ct!==t?(bt=Zb(),bt!==t?(Ke=K,ue=Wu(Q,De,bt),K=ue):(B=K,K=t)):(B=K,K=t)}else B=K,K=t;else B=K,K=t}F!==t?(Ke=C,Q=no(Q,F),C=Q):(B=C,C=t)}else B=C,C=t;return C}function TO(){var C,Q,F,K,ue,De;if(C=B,r.substr(B,3)===KA?(Q=KA,B+=3):(Q=t,I===0&&ke(R)),Q!==t){for(F=[],K=qe();K!==t;)F.push(K),K=qe();if(F!==t)if(K=LO(),K!==t){for(ue=[],De=qe();De!==t;)ue.push(De),De=qe();ue!==t?(r.substr(B,2)===G?(De=G,B+=2):(De=t,I===0&&ke(Ce)),De!==t?(Ke=C,Q=je(K),C=Q):(B=C,C=t)):(B=C,C=t)}else B=C,C=t;else B=C,C=t}else B=C,C=t;return C}function OO(){var C,Q,F,K;return C=B,r.substr(B,2)===Te?(Q=Te,B+=2):(Q=t,I===0&&ke(Xe)),Q!==t?(F=Yr(),F!==t?(r.charCodeAt(B)===41?(K=O,B++):(K=t,I===0&&ke(L)),K!==t?(Ke=C,Q=Et(F),C=Q):(B=C,C=t)):(B=C,C=t)):(B=C,C=t),C}function $b(){var C,Q,F,K,ue,De;return C=B,r.substr(B,2)===Rt?(Q=Rt,B+=2):(Q=t,I===0&&ke(Wn)),Q!==t?(F=sc(),F!==t?(r.substr(B,2)===Mb?(K=Mb,B+=2):(K=t,I===0&&ke(fO)),K!==t?(ue=vO(),ue!==t?(r.charCodeAt(B)===125?(De=re,B++):(De=t,I===0&&ke(se)),De!==t?(Ke=C,Q=hO(F,ue),C=Q):(B=C,C=t)):(B=C,C=t)):(B=C,C=t)):(B=C,C=t)):(B=C,C=t),C===t&&(C=B,r.substr(B,2)===Rt?(Q=Rt,B+=2):(Q=t,I===0&&ke(Wn)),Q!==t?(F=sc(),F!==t?(r.substr(B,3)===Ub?(K=Ub,B+=3):(K=t,I===0&&ke(pO)),K!==t?(Ke=C,Q=dO(F),C=Q):(B=C,C=t)):(B=C,C=t)):(B=C,C=t),C===t&&(C=B,r.substr(B,2)===Rt?(Q=Rt,B+=2):(Q=t,I===0&&ke(Wn)),Q!==t?(F=sc(),F!==t?(r.substr(B,2)===Kb?(K=Kb,B+=2):(K=t,I===0&&ke(CO)),K!==t?(ue=vO(),ue!==t?(r.charCodeAt(B)===125?(De=re,B++):(De=t,I===0&&ke(se)),De!==t?(Ke=C,Q=mO(F,ue),C=Q):(B=C,C=t)):(B=C,C=t)):(B=C,C=t)):(B=C,C=t)):(B=C,C=t),C===t&&(C=B,r.substr(B,2)===Rt?(Q=Rt,B+=2):(Q=t,I===0&&ke(Wn)),Q!==t?(F=sc(),F!==t?(r.substr(B,3)===Hb?(K=Hb,B+=3):(K=t,I===0&&ke(EO)),K!==t?(Ke=C,Q=IO(F),C=Q):(B=C,C=t)):(B=C,C=t)):(B=C,C=t),C===t&&(C=B,r.substr(B,2)===Rt?(Q=Rt,B+=2):(Q=t,I===0&&ke(Wn)),Q!==t?(F=sc(),F!==t?(r.charCodeAt(B)===125?(K=re,B++):(K=t,I===0&&ke(se)),K!==t?(Ke=C,Q=jb(F),C=Q):(B=C,C=t)):(B=C,C=t)):(B=C,C=t),C===t&&(C=B,r.charCodeAt(B)===36?(Q=yO,B++):(Q=t,I===0&&ke(wO)),Q!==t?(F=sc(),F!==t?(Ke=C,Q=jb(F),C=Q):(B=C,C=t)):(B=C,C=t)))))),C}function sge(){var C,Q,F;return C=B,Q=oge(),Q!==t?(Ke=B,F=BO(Q),F?F=void 0:F=t,F!==t?(Ke=C,Q=bO(Q),C=Q):(B=C,C=t)):(B=C,C=t),C}function oge(){var C,Q,F,K,ue;if(C=B,Q=[],F=B,K=B,I++,ue=KO(),I--,ue===t?K=void 0:(B=K,K=t),K!==t?(r.length>B?(ue=r.charAt(B),B++):(ue=t,I===0&&ke(Fo)),ue!==t?(Ke=F,K=mn(ue),F=K):(B=F,F=t)):(B=F,F=t),F!==t)for(;F!==t;)Q.push(F),F=B,K=B,I++,ue=KO(),I--,ue===t?K=void 0:(B=K,K=t),K!==t?(r.length>B?(ue=r.charAt(B),B++):(ue=t,I===0&&ke(Fo)),ue!==t?(Ke=F,K=mn(ue),F=K):(B=F,F=t)):(B=F,F=t);else Q=t;return Q!==t&&(Ke=C,Q=Yn(Q)),C=Q,C}function MO(){var C,Q,F;if(C=B,Q=[],Gb.test(r.charAt(B))?(F=r.charAt(B),B++):(F=t,I===0&&ke(Yb)),F!==t)for(;F!==t;)Q.push(F),Gb.test(r.charAt(B))?(F=r.charAt(B),B++):(F=t,I===0&&ke(Yb));else Q=t;return Q!==t&&(Ke=C,Q=qb()),C=Q,C}function sc(){var C,Q,F;if(C=B,Q=[],Jb.test(r.charAt(B))?(F=r.charAt(B),B++):(F=t,I===0&&ke(Wb)),F!==t)for(;F!==t;)Q.push(F),Jb.test(r.charAt(B))?(F=r.charAt(B),B++):(F=t,I===0&&ke(Wb));else Q=t;return Q!==t&&(Ke=C,Q=qb()),C=Q,C}function UO(){var C;return QO.test(r.charAt(B))?(C=r.charAt(B),B++):(C=t,I===0&&ke(zu)),C}function KO(){var C;return zb.test(r.charAt(B))?(C=r.charAt(B),B++):(C=t,I===0&&ke(_b)),C}function qe(){var C,Q;if(C=[],kE.test(r.charAt(B))?(Q=r.charAt(B),B++):(Q=t,I===0&&ke(xE)),Q!==t)for(;Q!==t;)C.push(Q),kE.test(r.charAt(B))?(Q=r.charAt(B),B++):(Q=t,I===0&&ke(xE));else C=t;return C}if(D=n(),D!==t&&B===r.length)return D;throw D!==t&&B<r.length&&ke(Bt()),Mi(E,d<r.length?r.charAt(d):null,d<r.length?yt(d,d+1):yt(d,d))}XM.exports={SyntaxError:uc,parse:nfe}});var t1=w((F7e,e1)=>{\"use strict\";function sfe(r,e){function t(){this.constructor=r}t.prototype=e.prototype,r.prototype=new t}function fc(r,e,t,i){this.message=r,this.expected=e,this.found=t,this.location=i,this.name=\"SyntaxError\",typeof Error.captureStackTrace==\"function\"&&Error.captureStackTrace(this,fc)}sfe(fc,Error);fc.buildMessage=function(r,e){var t={literal:function(c){return'\"'+n(c.text)+'\"'},class:function(c){var u=\"\",g;for(g=0;g<c.parts.length;g++)u+=c.parts[g]instanceof Array?s(c.parts[g][0])+\"-\"+s(c.parts[g][1]):s(c.parts[g]);return\"[\"+(c.inverted?\"^\":\"\")+u+\"]\"},any:function(c){return\"any character\"},end:function(c){return\"end of input\"},other:function(c){return c.description}};function i(c){return c.charCodeAt(0).toString(16).toUpperCase()}function n(c){return c.replace(/\\\\/g,\"\\\\\\\\\").replace(/\"/g,'\\\\\"').replace(/\\0/g,\"\\\\0\").replace(/\\t/g,\"\\\\t\").replace(/\\n/g,\"\\\\n\").replace(/\\r/g,\"\\\\r\").replace(/[\\x00-\\x0F]/g,function(u){return\"\\\\x0\"+i(u)}).replace(/[\\x10-\\x1F\\x7F-\\x9F]/g,function(u){return\"\\\\x\"+i(u)})}function s(c){return c.replace(/\\\\/g,\"\\\\\\\\\").replace(/\\]/g,\"\\\\]\").replace(/\\^/g,\"\\\\^\").replace(/-/g,\"\\\\-\").replace(/\\0/g,\"\\\\0\").replace(/\\t/g,\"\\\\t\").replace(/\\n/g,\"\\\\n\").replace(/\\r/g,\"\\\\r\").replace(/[\\x00-\\x0F]/g,function(u){return\"\\\\x0\"+i(u)}).replace(/[\\x10-\\x1F\\x7F-\\x9F]/g,function(u){return\"\\\\x\"+i(u)})}function o(c){return t[c.type](c)}function a(c){var u=new Array(c.length),g,f;for(g=0;g<c.length;g++)u[g]=o(c[g]);if(u.sort(),u.length>0){for(g=1,f=1;g<u.length;g++)u[g-1]!==u[g]&&(u[f]=u[g],f++);u.length=f}switch(u.length){case 1:return u[0];case 2:return u[0]+\" or \"+u[1];default:return u.slice(0,-1).join(\", \")+\", or \"+u[u.length-1]}}function l(c){return c?'\"'+n(c)+'\"':\"end of input\"}return\"Expected \"+a(r)+\" but \"+l(e)+\" found.\"};function ofe(r,e){e=e!==void 0?e:{};var t={},i={resolution:he},n=he,s=\"/\",o=ce(\"/\",!1),a=function(pe,V){return{from:pe,descriptor:V}},l=function(pe){return{descriptor:pe}},c=\"@\",u=ce(\"@\",!1),g=function(pe,V){return{fullName:pe,description:V}},f=function(pe){return{fullName:pe}},h=function(){return ne()},p=/^[^\\/@]/,m=Z([\"/\",\"@\"],!0,!1),y=/^[^\\/]/,b=Z([\"/\"],!0,!1),v=0,k=0,T=[{line:1,column:1}],Y=0,q=[],$=0,z;if(\"startRule\"in e){if(!(e.startRule in i))throw new Error(`Can't start parsing from rule \"`+e.startRule+'\".');n=i[e.startRule]}function ne(){return r.substring(k,v)}function ee(){return Ge(k,v)}function A(pe,V){throw V=V!==void 0?V:Ge(k,v),be([de(pe)],r.substring(k,v),V)}function oe(pe,V){throw V=V!==void 0?V:Ge(k,v),se(pe,V)}function ce(pe,V){return{type:\"literal\",text:pe,ignoreCase:V}}function Z(pe,V,Qe){return{type:\"class\",parts:pe,inverted:V,ignoreCase:Qe}}function O(){return{type:\"any\"}}function L(){return{type:\"end\"}}function de(pe){return{type:\"other\",description:pe}}function Be(pe){var V=T[pe],Qe;if(V)return V;for(Qe=pe-1;!T[Qe];)Qe--;for(V=T[Qe],V={line:V.line,column:V.column};Qe<pe;)r.charCodeAt(Qe)===10?(V.line++,V.column=1):V.column++,Qe++;return T[pe]=V,V}function Ge(pe,V){var Qe=Be(pe),le=Be(V);return{start:{offset:pe,line:Qe.line,column:Qe.column},end:{offset:V,line:le.line,column:le.column}}}function re(pe){v<Y||(v>Y&&(Y=v,q=[]),q.push(pe))}function se(pe,V){return new fc(pe,null,null,V)}function be(pe,V,Qe){return new fc(fc.buildMessage(pe,V),pe,V,Qe)}function he(){var pe,V,Qe,le;return pe=v,V=Fe(),V!==t?(r.charCodeAt(v)===47?(Qe=s,v++):(Qe=t,$===0&&re(o)),Qe!==t?(le=Fe(),le!==t?(k=pe,V=a(V,le),pe=V):(v=pe,pe=t)):(v=pe,pe=t)):(v=pe,pe=t),pe===t&&(pe=v,V=Fe(),V!==t&&(k=pe,V=l(V)),pe=V),pe}function Fe(){var pe,V,Qe,le;return pe=v,V=Ue(),V!==t?(r.charCodeAt(v)===64?(Qe=c,v++):(Qe=t,$===0&&re(u)),Qe!==t?(le=ve(),le!==t?(k=pe,V=g(V,le),pe=V):(v=pe,pe=t)):(v=pe,pe=t)):(v=pe,pe=t),pe===t&&(pe=v,V=Ue(),V!==t&&(k=pe,V=f(V)),pe=V),pe}function Ue(){var pe,V,Qe,le,fe;return pe=v,r.charCodeAt(v)===64?(V=c,v++):(V=t,$===0&&re(u)),V!==t?(Qe=xe(),Qe!==t?(r.charCodeAt(v)===47?(le=s,v++):(le=t,$===0&&re(o)),le!==t?(fe=xe(),fe!==t?(k=pe,V=h(),pe=V):(v=pe,pe=t)):(v=pe,pe=t)):(v=pe,pe=t)):(v=pe,pe=t),pe===t&&(pe=v,V=xe(),V!==t&&(k=pe,V=h()),pe=V),pe}function xe(){var pe,V,Qe;if(pe=v,V=[],p.test(r.charAt(v))?(Qe=r.charAt(v),v++):(Qe=t,$===0&&re(m)),Qe!==t)for(;Qe!==t;)V.push(Qe),p.test(r.charAt(v))?(Qe=r.charAt(v),v++):(Qe=t,$===0&&re(m));else V=t;return V!==t&&(k=pe,V=h()),pe=V,pe}function ve(){var pe,V,Qe;if(pe=v,V=[],y.test(r.charAt(v))?(Qe=r.charAt(v),v++):(Qe=t,$===0&&re(b)),Qe!==t)for(;Qe!==t;)V.push(Qe),y.test(r.charAt(v))?(Qe=r.charAt(v),v++):(Qe=t,$===0&&re(b));else V=t;return V!==t&&(k=pe,V=h()),pe=V,pe}if(z=n(),z!==t&&v===r.length)return z;throw z!==t&&v<r.length&&re(L()),be(q,Y<r.length?r.charAt(Y):null,Y<r.length?Ge(Y,Y+1):Ge(Y,Y))}e1.exports={SyntaxError:fc,parse:ofe}});var pc=w((L7e,hc)=>{\"use strict\";function i1(r){return typeof r==\"undefined\"||r===null}function afe(r){return typeof r==\"object\"&&r!==null}function Afe(r){return Array.isArray(r)?r:i1(r)?[]:[r]}function lfe(r,e){var t,i,n,s;if(e)for(s=Object.keys(e),t=0,i=s.length;t<i;t+=1)n=s[t],r[n]=e[n];return r}function cfe(r,e){var t=\"\",i;for(i=0;i<e;i+=1)t+=r;return t}function ufe(r){return r===0&&Number.NEGATIVE_INFINITY===1/r}hc.exports.isNothing=i1;hc.exports.isObject=afe;hc.exports.toArray=Afe;hc.exports.repeat=cfe;hc.exports.isNegativeZero=ufe;hc.exports.extend=lfe});var rg=w((T7e,n1)=>{\"use strict\";function tp(r,e){Error.call(this),this.name=\"YAMLException\",this.reason=r,this.mark=e,this.message=(this.reason||\"(unknown reason)\")+(this.mark?\" \"+this.mark.toString():\"\"),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||\"\"}tp.prototype=Object.create(Error.prototype);tp.prototype.constructor=tp;tp.prototype.toString=function(e){var t=this.name+\": \";return t+=this.reason||\"(unknown reason)\",!e&&this.mark&&(t+=\" \"+this.mark.toString()),t};n1.exports=tp});var a1=w((O7e,s1)=>{\"use strict\";var o1=pc();function FQ(r,e,t,i,n){this.name=r,this.buffer=e,this.position=t,this.line=i,this.column=n}FQ.prototype.getSnippet=function(e,t){var i,n,s,o,a;if(!this.buffer)return null;for(e=e||4,t=t||75,i=\"\",n=this.position;n>0&&`\\0\\r\n\\x85\\u2028\\u2029`.indexOf(this.buffer.charAt(n-1))===-1;)if(n-=1,this.position-n>t/2-1){i=\" ... \",n+=5;break}for(s=\"\",o=this.position;o<this.buffer.length&&`\\0\\r\n\\x85\\u2028\\u2029`.indexOf(this.buffer.charAt(o))===-1;)if(o+=1,o-this.position>t/2-1){s=\" ... \",o-=5;break}return a=this.buffer.slice(n,o),o1.repeat(\" \",e)+i+a+s+`\n`+o1.repeat(\" \",e+this.position-n+i.length)+\"^\"};FQ.prototype.toString=function(e){var t,i=\"\";return this.name&&(i+='in \"'+this.name+'\" '),i+=\"at line \"+(this.line+1)+\", column \"+(this.column+1),e||(t=this.getSnippet(),t&&(i+=`:\n`+t)),i};s1.exports=FQ});var ci=w((M7e,A1)=>{\"use strict\";var l1=rg(),gfe=[\"kind\",\"resolve\",\"construct\",\"instanceOf\",\"predicate\",\"represent\",\"defaultStyle\",\"styleAliases\"],ffe=[\"scalar\",\"sequence\",\"mapping\"];function hfe(r){var e={};return r!==null&&Object.keys(r).forEach(function(t){r[t].forEach(function(i){e[String(i)]=t})}),e}function pfe(r,e){if(e=e||{},Object.keys(e).forEach(function(t){if(gfe.indexOf(t)===-1)throw new l1('Unknown option \"'+t+'\" is met in definition of \"'+r+'\" YAML type.')}),this.tag=r,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(t){return t},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.defaultStyle=e.defaultStyle||null,this.styleAliases=hfe(e.styleAliases||null),ffe.indexOf(this.kind)===-1)throw new l1('Unknown kind \"'+this.kind+'\" is specified for \"'+r+'\" YAML type.')}A1.exports=pfe});var dc=w((U7e,c1)=>{\"use strict\";var u1=pc(),rI=rg(),dfe=ci();function NQ(r,e,t){var i=[];return r.include.forEach(function(n){t=NQ(n,e,t)}),r[e].forEach(function(n){t.forEach(function(s,o){s.tag===n.tag&&s.kind===n.kind&&i.push(o)}),t.push(n)}),t.filter(function(n,s){return i.indexOf(s)===-1})}function Cfe(){var r={scalar:{},sequence:{},mapping:{},fallback:{}},e,t;function i(n){r[n.kind][n.tag]=r.fallback[n.tag]=n}for(e=0,t=arguments.length;e<t;e+=1)arguments[e].forEach(i);return r}function ig(r){this.include=r.include||[],this.implicit=r.implicit||[],this.explicit=r.explicit||[],this.implicit.forEach(function(e){if(e.loadKind&&e.loadKind!==\"scalar\")throw new rI(\"There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.\")}),this.compiledImplicit=NQ(this,\"implicit\",[]),this.compiledExplicit=NQ(this,\"explicit\",[]),this.compiledTypeMap=Cfe(this.compiledImplicit,this.compiledExplicit)}ig.DEFAULT=null;ig.create=function(){var e,t;switch(arguments.length){case 1:e=ig.DEFAULT,t=arguments[0];break;case 2:e=arguments[0],t=arguments[1];break;default:throw new rI(\"Wrong number of arguments for Schema.create function\")}if(e=u1.toArray(e),t=u1.toArray(t),!e.every(function(i){return i instanceof ig}))throw new rI(\"Specified list of super schemas (or a single Schema object) contains a non-Schema object.\");if(!t.every(function(i){return i instanceof dfe}))throw new rI(\"Specified list of YAML types (or a single Type object) contains a non-Type object.\");return new ig({include:e,explicit:t})};c1.exports=ig});var f1=w((K7e,g1)=>{\"use strict\";var mfe=ci();g1.exports=new mfe(\"tag:yaml.org,2002:str\",{kind:\"scalar\",construct:function(r){return r!==null?r:\"\"}})});var p1=w((H7e,h1)=>{\"use strict\";var Efe=ci();h1.exports=new Efe(\"tag:yaml.org,2002:seq\",{kind:\"sequence\",construct:function(r){return r!==null?r:[]}})});var C1=w((j7e,d1)=>{\"use strict\";var Ife=ci();d1.exports=new Ife(\"tag:yaml.org,2002:map\",{kind:\"mapping\",construct:function(r){return r!==null?r:{}}})});var iI=w((G7e,m1)=>{\"use strict\";var yfe=dc();m1.exports=new yfe({explicit:[f1(),p1(),C1()]})});var I1=w((Y7e,E1)=>{\"use strict\";var wfe=ci();function Bfe(r){if(r===null)return!0;var e=r.length;return e===1&&r===\"~\"||e===4&&(r===\"null\"||r===\"Null\"||r===\"NULL\")}function bfe(){return null}function Qfe(r){return r===null}E1.exports=new wfe(\"tag:yaml.org,2002:null\",{kind:\"scalar\",resolve:Bfe,construct:bfe,predicate:Qfe,represent:{canonical:function(){return\"~\"},lowercase:function(){return\"null\"},uppercase:function(){return\"NULL\"},camelcase:function(){return\"Null\"}},defaultStyle:\"lowercase\"})});var w1=w((q7e,y1)=>{\"use strict\";var Sfe=ci();function vfe(r){if(r===null)return!1;var e=r.length;return e===4&&(r===\"true\"||r===\"True\"||r===\"TRUE\")||e===5&&(r===\"false\"||r===\"False\"||r===\"FALSE\")}function kfe(r){return r===\"true\"||r===\"True\"||r===\"TRUE\"}function xfe(r){return Object.prototype.toString.call(r)===\"[object Boolean]\"}y1.exports=new Sfe(\"tag:yaml.org,2002:bool\",{kind:\"scalar\",resolve:vfe,construct:kfe,predicate:xfe,represent:{lowercase:function(r){return r?\"true\":\"false\"},uppercase:function(r){return r?\"TRUE\":\"FALSE\"},camelcase:function(r){return r?\"True\":\"False\"}},defaultStyle:\"lowercase\"})});var b1=w((J7e,B1)=>{\"use strict\";var Pfe=pc(),Dfe=ci();function Rfe(r){return 48<=r&&r<=57||65<=r&&r<=70||97<=r&&r<=102}function Ffe(r){return 48<=r&&r<=55}function Nfe(r){return 48<=r&&r<=57}function Lfe(r){if(r===null)return!1;var e=r.length,t=0,i=!1,n;if(!e)return!1;if(n=r[t],(n===\"-\"||n===\"+\")&&(n=r[++t]),n===\"0\"){if(t+1===e)return!0;if(n=r[++t],n===\"b\"){for(t++;t<e;t++)if(n=r[t],n!==\"_\"){if(n!==\"0\"&&n!==\"1\")return!1;i=!0}return i&&n!==\"_\"}if(n===\"x\"){for(t++;t<e;t++)if(n=r[t],n!==\"_\"){if(!Rfe(r.charCodeAt(t)))return!1;i=!0}return i&&n!==\"_\"}for(;t<e;t++)if(n=r[t],n!==\"_\"){if(!Ffe(r.charCodeAt(t)))return!1;i=!0}return i&&n!==\"_\"}if(n===\"_\")return!1;for(;t<e;t++)if(n=r[t],n!==\"_\"){if(n===\":\")break;if(!Nfe(r.charCodeAt(t)))return!1;i=!0}return!i||n===\"_\"?!1:n!==\":\"?!0:/^(:[0-5]?[0-9])+$/.test(r.slice(t))}function Tfe(r){var e=r,t=1,i,n,s=[];return e.indexOf(\"_\")!==-1&&(e=e.replace(/_/g,\"\")),i=e[0],(i===\"-\"||i===\"+\")&&(i===\"-\"&&(t=-1),e=e.slice(1),i=e[0]),e===\"0\"?0:i===\"0\"?e[1]===\"b\"?t*parseInt(e.slice(2),2):e[1]===\"x\"?t*parseInt(e,16):t*parseInt(e,8):e.indexOf(\":\")!==-1?(e.split(\":\").forEach(function(o){s.unshift(parseInt(o,10))}),e=0,n=1,s.forEach(function(o){e+=o*n,n*=60}),t*e):t*parseInt(e,10)}function Ofe(r){return Object.prototype.toString.call(r)===\"[object Number]\"&&r%1==0&&!Pfe.isNegativeZero(r)}B1.exports=new Dfe(\"tag:yaml.org,2002:int\",{kind:\"scalar\",resolve:Lfe,construct:Tfe,predicate:Ofe,represent:{binary:function(r){return r>=0?\"0b\"+r.toString(2):\"-0b\"+r.toString(2).slice(1)},octal:function(r){return r>=0?\"0\"+r.toString(8):\"-0\"+r.toString(8).slice(1)},decimal:function(r){return r.toString(10)},hexadecimal:function(r){return r>=0?\"0x\"+r.toString(16).toUpperCase():\"-0x\"+r.toString(16).toUpperCase().slice(1)}},defaultStyle:\"decimal\",styleAliases:{binary:[2,\"bin\"],octal:[8,\"oct\"],decimal:[10,\"dec\"],hexadecimal:[16,\"hex\"]}})});var v1=w((W7e,Q1)=>{\"use strict\";var S1=pc(),Mfe=ci(),Ufe=new RegExp(\"^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\\\.[0-9_]*|[-+]?\\\\.(?:inf|Inf|INF)|\\\\.(?:nan|NaN|NAN))$\");function Kfe(r){return!(r===null||!Ufe.test(r)||r[r.length-1]===\"_\")}function Hfe(r){var e,t,i,n;return e=r.replace(/_/g,\"\").toLowerCase(),t=e[0]===\"-\"?-1:1,n=[],\"+-\".indexOf(e[0])>=0&&(e=e.slice(1)),e===\".inf\"?t===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===\".nan\"?NaN:e.indexOf(\":\")>=0?(e.split(\":\").forEach(function(s){n.unshift(parseFloat(s,10))}),e=0,i=1,n.forEach(function(s){e+=s*i,i*=60}),t*e):t*parseFloat(e,10)}var jfe=/^[-+]?[0-9]+e/;function Gfe(r,e){var t;if(isNaN(r))switch(e){case\"lowercase\":return\".nan\";case\"uppercase\":return\".NAN\";case\"camelcase\":return\".NaN\"}else if(Number.POSITIVE_INFINITY===r)switch(e){case\"lowercase\":return\".inf\";case\"uppercase\":return\".INF\";case\"camelcase\":return\".Inf\"}else if(Number.NEGATIVE_INFINITY===r)switch(e){case\"lowercase\":return\"-.inf\";case\"uppercase\":return\"-.INF\";case\"camelcase\":return\"-.Inf\"}else if(S1.isNegativeZero(r))return\"-0.0\";return t=r.toString(10),jfe.test(t)?t.replace(\"e\",\".e\"):t}function Yfe(r){return Object.prototype.toString.call(r)===\"[object Number]\"&&(r%1!=0||S1.isNegativeZero(r))}Q1.exports=new Mfe(\"tag:yaml.org,2002:float\",{kind:\"scalar\",resolve:Kfe,construct:Hfe,predicate:Yfe,represent:Gfe,defaultStyle:\"lowercase\"})});var LQ=w((z7e,k1)=>{\"use strict\";var qfe=dc();k1.exports=new qfe({include:[iI()],implicit:[I1(),w1(),b1(),v1()]})});var TQ=w((_7e,x1)=>{\"use strict\";var Jfe=dc();x1.exports=new Jfe({include:[LQ()]})});var F1=w((V7e,P1)=>{\"use strict\";var Wfe=ci(),D1=new RegExp(\"^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$\"),R1=new RegExp(\"^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\\\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\\\.([0-9]*))?(?:[ \\\\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$\");function zfe(r){return r===null?!1:D1.exec(r)!==null||R1.exec(r)!==null}function _fe(r){var e,t,i,n,s,o,a,l=0,c=null,u,g,f;if(e=D1.exec(r),e===null&&(e=R1.exec(r)),e===null)throw new Error(\"Date resolve error\");if(t=+e[1],i=+e[2]-1,n=+e[3],!e[4])return new Date(Date.UTC(t,i,n));if(s=+e[4],o=+e[5],a=+e[6],e[7]){for(l=e[7].slice(0,3);l.length<3;)l+=\"0\";l=+l}return e[9]&&(u=+e[10],g=+(e[11]||0),c=(u*60+g)*6e4,e[9]===\"-\"&&(c=-c)),f=new Date(Date.UTC(t,i,n,s,o,a,l)),c&&f.setTime(f.getTime()-c),f}function Vfe(r){return r.toISOString()}P1.exports=new Wfe(\"tag:yaml.org,2002:timestamp\",{kind:\"scalar\",resolve:zfe,construct:_fe,instanceOf:Date,represent:Vfe})});var L1=w((X7e,N1)=>{\"use strict\";var Xfe=ci();function Zfe(r){return r===\"<<\"||r===null}N1.exports=new Xfe(\"tag:yaml.org,2002:merge\",{kind:\"scalar\",resolve:Zfe})});var M1=w((Z7e,T1)=>{\"use strict\";var Cc;try{O1=require,Cc=O1(\"buffer\").Buffer}catch(r){}var O1,$fe=ci(),OQ=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\\r`;function ehe(r){if(r===null)return!1;var e,t,i=0,n=r.length,s=OQ;for(t=0;t<n;t++)if(e=s.indexOf(r.charAt(t)),!(e>64)){if(e<0)return!1;i+=6}return i%8==0}function the(r){var e,t,i=r.replace(/[\\r\\n=]/g,\"\"),n=i.length,s=OQ,o=0,a=[];for(e=0;e<n;e++)e%4==0&&e&&(a.push(o>>16&255),a.push(o>>8&255),a.push(o&255)),o=o<<6|s.indexOf(i.charAt(e));return t=n%4*6,t===0?(a.push(o>>16&255),a.push(o>>8&255),a.push(o&255)):t===18?(a.push(o>>10&255),a.push(o>>2&255)):t===12&&a.push(o>>4&255),Cc?Cc.from?Cc.from(a):new Cc(a):a}function rhe(r){var e=\"\",t=0,i,n,s=r.length,o=OQ;for(i=0;i<s;i++)i%3==0&&i&&(e+=o[t>>18&63],e+=o[t>>12&63],e+=o[t>>6&63],e+=o[t&63]),t=(t<<8)+r[i];return n=s%3,n===0?(e+=o[t>>18&63],e+=o[t>>12&63],e+=o[t>>6&63],e+=o[t&63]):n===2?(e+=o[t>>10&63],e+=o[t>>4&63],e+=o[t<<2&63],e+=o[64]):n===1&&(e+=o[t>>2&63],e+=o[t<<4&63],e+=o[64],e+=o[64]),e}function ihe(r){return Cc&&Cc.isBuffer(r)}T1.exports=new $fe(\"tag:yaml.org,2002:binary\",{kind:\"scalar\",resolve:ehe,construct:the,predicate:ihe,represent:rhe})});var K1=w(($7e,U1)=>{\"use strict\";var nhe=ci(),she=Object.prototype.hasOwnProperty,ohe=Object.prototype.toString;function ahe(r){if(r===null)return!0;var e=[],t,i,n,s,o,a=r;for(t=0,i=a.length;t<i;t+=1){if(n=a[t],o=!1,ohe.call(n)!==\"[object Object]\")return!1;for(s in n)if(she.call(n,s))if(!o)o=!0;else return!1;if(!o)return!1;if(e.indexOf(s)===-1)e.push(s);else return!1}return!0}function Ahe(r){return r!==null?r:[]}U1.exports=new nhe(\"tag:yaml.org,2002:omap\",{kind:\"sequence\",resolve:ahe,construct:Ahe})});var j1=w((eXe,H1)=>{\"use strict\";var lhe=ci(),che=Object.prototype.toString;function uhe(r){if(r===null)return!0;var e,t,i,n,s,o=r;for(s=new Array(o.length),e=0,t=o.length;e<t;e+=1){if(i=o[e],che.call(i)!==\"[object Object]\"||(n=Object.keys(i),n.length!==1))return!1;s[e]=[n[0],i[n[0]]]}return!0}function ghe(r){if(r===null)return[];var e,t,i,n,s,o=r;for(s=new Array(o.length),e=0,t=o.length;e<t;e+=1)i=o[e],n=Object.keys(i),s[e]=[n[0],i[n[0]]];return s}H1.exports=new lhe(\"tag:yaml.org,2002:pairs\",{kind:\"sequence\",resolve:uhe,construct:ghe})});var Y1=w((tXe,G1)=>{\"use strict\";var fhe=ci(),hhe=Object.prototype.hasOwnProperty;function phe(r){if(r===null)return!0;var e,t=r;for(e in t)if(hhe.call(t,e)&&t[e]!==null)return!1;return!0}function dhe(r){return r!==null?r:{}}G1.exports=new fhe(\"tag:yaml.org,2002:set\",{kind:\"mapping\",resolve:phe,construct:dhe})});var ng=w((rXe,q1)=>{\"use strict\";var Che=dc();q1.exports=new Che({include:[TQ()],implicit:[F1(),L1()],explicit:[M1(),K1(),j1(),Y1()]})});var W1=w((iXe,J1)=>{\"use strict\";var mhe=ci();function Ehe(){return!0}function Ihe(){}function yhe(){return\"\"}function whe(r){return typeof r==\"undefined\"}J1.exports=new mhe(\"tag:yaml.org,2002:js/undefined\",{kind:\"scalar\",resolve:Ehe,construct:Ihe,predicate:whe,represent:yhe})});var _1=w((nXe,z1)=>{\"use strict\";var Bhe=ci();function bhe(r){if(r===null||r.length===0)return!1;var e=r,t=/\\/([gim]*)$/.exec(r),i=\"\";return!(e[0]===\"/\"&&(t&&(i=t[1]),i.length>3||e[e.length-i.length-1]!==\"/\"))}function Qhe(r){var e=r,t=/\\/([gim]*)$/.exec(r),i=\"\";return e[0]===\"/\"&&(t&&(i=t[1]),e=e.slice(1,e.length-i.length-1)),new RegExp(e,i)}function She(r){var e=\"/\"+r.source+\"/\";return r.global&&(e+=\"g\"),r.multiline&&(e+=\"m\"),r.ignoreCase&&(e+=\"i\"),e}function vhe(r){return Object.prototype.toString.call(r)===\"[object RegExp]\"}z1.exports=new Bhe(\"tag:yaml.org,2002:js/regexp\",{kind:\"scalar\",resolve:bhe,construct:Qhe,predicate:vhe,represent:She})});var Z1=w((sXe,V1)=>{\"use strict\";var nI;try{X1=require,nI=X1(\"esprima\")}catch(r){typeof window!=\"undefined\"&&(nI=window.esprima)}var X1,khe=ci();function xhe(r){if(r===null)return!1;try{var e=\"(\"+r+\")\",t=nI.parse(e,{range:!0});return!(t.type!==\"Program\"||t.body.length!==1||t.body[0].type!==\"ExpressionStatement\"||t.body[0].expression.type!==\"ArrowFunctionExpression\"&&t.body[0].expression.type!==\"FunctionExpression\")}catch(i){return!1}}function Phe(r){var e=\"(\"+r+\")\",t=nI.parse(e,{range:!0}),i=[],n;if(t.type!==\"Program\"||t.body.length!==1||t.body[0].type!==\"ExpressionStatement\"||t.body[0].expression.type!==\"ArrowFunctionExpression\"&&t.body[0].expression.type!==\"FunctionExpression\")throw new Error(\"Failed to resolve function\");return t.body[0].expression.params.forEach(function(s){i.push(s.name)}),n=t.body[0].expression.body.range,t.body[0].expression.body.type===\"BlockStatement\"?new Function(i,e.slice(n[0]+1,n[1]-1)):new Function(i,\"return \"+e.slice(n[0],n[1]))}function Dhe(r){return r.toString()}function Rhe(r){return Object.prototype.toString.call(r)===\"[object Function]\"}V1.exports=new khe(\"tag:yaml.org,2002:js/function\",{kind:\"scalar\",resolve:xhe,construct:Phe,predicate:Rhe,represent:Dhe})});var rp=w((oXe,$1)=>{\"use strict\";var eU=dc();$1.exports=eU.DEFAULT=new eU({include:[ng()],explicit:[W1(),_1(),Z1()]})});var EU=w((aXe,ip)=>{\"use strict\";var Ma=pc(),tU=rg(),Fhe=a1(),rU=ng(),Nhe=rp(),WA=Object.prototype.hasOwnProperty,sI=1,iU=2,nU=3,oI=4,MQ=1,Lhe=2,sU=3,The=/[\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F\\x7F-\\x84\\x86-\\x9F\\uFFFE\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]/,Ohe=/[\\x85\\u2028\\u2029]/,Mhe=/[,\\[\\]\\{\\}]/,oU=/^(?:!|!!|![a-z\\-]+!)$/i,aU=/^(?:!|[^,\\[\\]\\{\\}])(?:%[0-9a-f]{2}|[0-9a-z\\-#;\\/\\?:@&=\\+\\$,_\\.!~\\*'\\(\\)\\[\\]])*$/i;function AU(r){return Object.prototype.toString.call(r)}function Oo(r){return r===10||r===13}function mc(r){return r===9||r===32}function yn(r){return r===9||r===32||r===10||r===13}function sg(r){return r===44||r===91||r===93||r===123||r===125}function Uhe(r){var e;return 48<=r&&r<=57?r-48:(e=r|32,97<=e&&e<=102?e-97+10:-1)}function Khe(r){return r===120?2:r===117?4:r===85?8:0}function Hhe(r){return 48<=r&&r<=57?r-48:-1}function lU(r){return r===48?\"\\0\":r===97?\"\\x07\":r===98?\"\\b\":r===116||r===9?\"\t\":r===110?`\n`:r===118?\"\\v\":r===102?\"\\f\":r===114?\"\\r\":r===101?\"\u001b\":r===32?\" \":r===34?'\"':r===47?\"/\":r===92?\"\\\\\":r===78?\"\\x85\":r===95?\"\\xA0\":r===76?\"\\u2028\":r===80?\"\\u2029\":\"\"}function jhe(r){return r<=65535?String.fromCharCode(r):String.fromCharCode((r-65536>>10)+55296,(r-65536&1023)+56320)}var cU=new Array(256),uU=new Array(256);for(var og=0;og<256;og++)cU[og]=lU(og)?1:0,uU[og]=lU(og);function Ghe(r,e){this.input=r,this.filename=e.filename||null,this.schema=e.schema||Nhe,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=r.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function gU(r,e){return new tU(e,new Fhe(r.filename,r.input,r.position,r.line,r.position-r.lineStart))}function dt(r,e){throw gU(r,e)}function aI(r,e){r.onWarning&&r.onWarning.call(null,gU(r,e))}var fU={YAML:function(e,t,i){var n,s,o;e.version!==null&&dt(e,\"duplication of %YAML directive\"),i.length!==1&&dt(e,\"YAML directive accepts exactly one argument\"),n=/^([0-9]+)\\.([0-9]+)$/.exec(i[0]),n===null&&dt(e,\"ill-formed argument of the YAML directive\"),s=parseInt(n[1],10),o=parseInt(n[2],10),s!==1&&dt(e,\"unacceptable YAML version of the document\"),e.version=i[0],e.checkLineBreaks=o<2,o!==1&&o!==2&&aI(e,\"unsupported YAML version of the document\")},TAG:function(e,t,i){var n,s;i.length!==2&&dt(e,\"TAG directive accepts exactly two arguments\"),n=i[0],s=i[1],oU.test(n)||dt(e,\"ill-formed tag handle (first argument) of the TAG directive\"),WA.call(e.tagMap,n)&&dt(e,'there is a previously declared suffix for \"'+n+'\" tag handle'),aU.test(s)||dt(e,\"ill-formed tag prefix (second argument) of the TAG directive\"),e.tagMap[n]=s}};function zA(r,e,t,i){var n,s,o,a;if(e<t){if(a=r.input.slice(e,t),i)for(n=0,s=a.length;n<s;n+=1)o=a.charCodeAt(n),o===9||32<=o&&o<=1114111||dt(r,\"expected valid JSON character\");else The.test(a)&&dt(r,\"the stream contains non-printable characters\");r.result+=a}}function hU(r,e,t,i){var n,s,o,a;for(Ma.isObject(t)||dt(r,\"cannot merge mappings; the provided source object is unacceptable\"),n=Object.keys(t),o=0,a=n.length;o<a;o+=1)s=n[o],WA.call(e,s)||(e[s]=t[s],i[s]=!0)}function ag(r,e,t,i,n,s,o,a){var l,c;if(Array.isArray(n))for(n=Array.prototype.slice.call(n),l=0,c=n.length;l<c;l+=1)Array.isArray(n[l])&&dt(r,\"nested arrays are not supported inside keys\"),typeof n==\"object\"&&AU(n[l])===\"[object Object]\"&&(n[l]=\"[object Object]\");if(typeof n==\"object\"&&AU(n)===\"[object Object]\"&&(n=\"[object Object]\"),n=String(n),e===null&&(e={}),i===\"tag:yaml.org,2002:merge\")if(Array.isArray(s))for(l=0,c=s.length;l<c;l+=1)hU(r,e,s[l],t);else hU(r,e,s,t);else!r.json&&!WA.call(t,n)&&WA.call(e,n)&&(r.line=o||r.line,r.position=a||r.position,dt(r,\"duplicated mapping key\")),e[n]=s,delete t[n];return e}function UQ(r){var e;e=r.input.charCodeAt(r.position),e===10?r.position++:e===13?(r.position++,r.input.charCodeAt(r.position)===10&&r.position++):dt(r,\"a line break is expected\"),r.line+=1,r.lineStart=r.position}function ei(r,e,t){for(var i=0,n=r.input.charCodeAt(r.position);n!==0;){for(;mc(n);)n=r.input.charCodeAt(++r.position);if(e&&n===35)do n=r.input.charCodeAt(++r.position);while(n!==10&&n!==13&&n!==0);if(Oo(n))for(UQ(r),n=r.input.charCodeAt(r.position),i++,r.lineIndent=0;n===32;)r.lineIndent++,n=r.input.charCodeAt(++r.position);else break}return t!==-1&&i!==0&&r.lineIndent<t&&aI(r,\"deficient indentation\"),i}function AI(r){var e=r.position,t;return t=r.input.charCodeAt(e),!!((t===45||t===46)&&t===r.input.charCodeAt(e+1)&&t===r.input.charCodeAt(e+2)&&(e+=3,t=r.input.charCodeAt(e),t===0||yn(t)))}function KQ(r,e){e===1?r.result+=\" \":e>1&&(r.result+=Ma.repeat(`\n`,e-1))}function Yhe(r,e,t){var i,n,s,o,a,l,c,u,g=r.kind,f=r.result,h;if(h=r.input.charCodeAt(r.position),yn(h)||sg(h)||h===35||h===38||h===42||h===33||h===124||h===62||h===39||h===34||h===37||h===64||h===96||(h===63||h===45)&&(n=r.input.charCodeAt(r.position+1),yn(n)||t&&sg(n)))return!1;for(r.kind=\"scalar\",r.result=\"\",s=o=r.position,a=!1;h!==0;){if(h===58){if(n=r.input.charCodeAt(r.position+1),yn(n)||t&&sg(n))break}else if(h===35){if(i=r.input.charCodeAt(r.position-1),yn(i))break}else{if(r.position===r.lineStart&&AI(r)||t&&sg(h))break;if(Oo(h))if(l=r.line,c=r.lineStart,u=r.lineIndent,ei(r,!1,-1),r.lineIndent>=e){a=!0,h=r.input.charCodeAt(r.position);continue}else{r.position=o,r.line=l,r.lineStart=c,r.lineIndent=u;break}}a&&(zA(r,s,o,!1),KQ(r,r.line-l),s=o=r.position,a=!1),mc(h)||(o=r.position+1),h=r.input.charCodeAt(++r.position)}return zA(r,s,o,!1),r.result?!0:(r.kind=g,r.result=f,!1)}function qhe(r,e){var t,i,n;if(t=r.input.charCodeAt(r.position),t!==39)return!1;for(r.kind=\"scalar\",r.result=\"\",r.position++,i=n=r.position;(t=r.input.charCodeAt(r.position))!==0;)if(t===39)if(zA(r,i,r.position,!0),t=r.input.charCodeAt(++r.position),t===39)i=r.position,r.position++,n=r.position;else return!0;else Oo(t)?(zA(r,i,n,!0),KQ(r,ei(r,!1,e)),i=n=r.position):r.position===r.lineStart&&AI(r)?dt(r,\"unexpected end of the document within a single quoted scalar\"):(r.position++,n=r.position);dt(r,\"unexpected end of the stream within a single quoted scalar\")}function Jhe(r,e){var t,i,n,s,o,a;if(a=r.input.charCodeAt(r.position),a!==34)return!1;for(r.kind=\"scalar\",r.result=\"\",r.position++,t=i=r.position;(a=r.input.charCodeAt(r.position))!==0;){if(a===34)return zA(r,t,r.position,!0),r.position++,!0;if(a===92){if(zA(r,t,r.position,!0),a=r.input.charCodeAt(++r.position),Oo(a))ei(r,!1,e);else if(a<256&&cU[a])r.result+=uU[a],r.position++;else if((o=Khe(a))>0){for(n=o,s=0;n>0;n--)a=r.input.charCodeAt(++r.position),(o=Uhe(a))>=0?s=(s<<4)+o:dt(r,\"expected hexadecimal character\");r.result+=jhe(s),r.position++}else dt(r,\"unknown escape sequence\");t=i=r.position}else Oo(a)?(zA(r,t,i,!0),KQ(r,ei(r,!1,e)),t=i=r.position):r.position===r.lineStart&&AI(r)?dt(r,\"unexpected end of the document within a double quoted scalar\"):(r.position++,i=r.position)}dt(r,\"unexpected end of the stream within a double quoted scalar\")}function Whe(r,e){var t=!0,i,n=r.tag,s,o=r.anchor,a,l,c,u,g,f={},h,p,m,y;if(y=r.input.charCodeAt(r.position),y===91)l=93,g=!1,s=[];else if(y===123)l=125,g=!0,s={};else return!1;for(r.anchor!==null&&(r.anchorMap[r.anchor]=s),y=r.input.charCodeAt(++r.position);y!==0;){if(ei(r,!0,e),y=r.input.charCodeAt(r.position),y===l)return r.position++,r.tag=n,r.anchor=o,r.kind=g?\"mapping\":\"sequence\",r.result=s,!0;t||dt(r,\"missed comma between flow collection entries\"),p=h=m=null,c=u=!1,y===63&&(a=r.input.charCodeAt(r.position+1),yn(a)&&(c=u=!0,r.position++,ei(r,!0,e))),i=r.line,Ag(r,e,sI,!1,!0),p=r.tag,h=r.result,ei(r,!0,e),y=r.input.charCodeAt(r.position),(u||r.line===i)&&y===58&&(c=!0,y=r.input.charCodeAt(++r.position),ei(r,!0,e),Ag(r,e,sI,!1,!0),m=r.result),g?ag(r,s,f,p,h,m):c?s.push(ag(r,null,f,p,h,m)):s.push(h),ei(r,!0,e),y=r.input.charCodeAt(r.position),y===44?(t=!0,y=r.input.charCodeAt(++r.position)):t=!1}dt(r,\"unexpected end of the stream within a flow collection\")}function zhe(r,e){var t,i,n=MQ,s=!1,o=!1,a=e,l=0,c=!1,u,g;if(g=r.input.charCodeAt(r.position),g===124)i=!1;else if(g===62)i=!0;else return!1;for(r.kind=\"scalar\",r.result=\"\";g!==0;)if(g=r.input.charCodeAt(++r.position),g===43||g===45)MQ===n?n=g===43?sU:Lhe:dt(r,\"repeat of a chomping mode identifier\");else if((u=Hhe(g))>=0)u===0?dt(r,\"bad explicit indentation width of a block scalar; it cannot be less than one\"):o?dt(r,\"repeat of an indentation width identifier\"):(a=e+u-1,o=!0);else break;if(mc(g)){do g=r.input.charCodeAt(++r.position);while(mc(g));if(g===35)do g=r.input.charCodeAt(++r.position);while(!Oo(g)&&g!==0)}for(;g!==0;){for(UQ(r),r.lineIndent=0,g=r.input.charCodeAt(r.position);(!o||r.lineIndent<a)&&g===32;)r.lineIndent++,g=r.input.charCodeAt(++r.position);if(!o&&r.lineIndent>a&&(a=r.lineIndent),Oo(g)){l++;continue}if(r.lineIndent<a){n===sU?r.result+=Ma.repeat(`\n`,s?1+l:l):n===MQ&&s&&(r.result+=`\n`);break}for(i?mc(g)?(c=!0,r.result+=Ma.repeat(`\n`,s?1+l:l)):c?(c=!1,r.result+=Ma.repeat(`\n`,l+1)):l===0?s&&(r.result+=\" \"):r.result+=Ma.repeat(`\n`,l):r.result+=Ma.repeat(`\n`,s?1+l:l),s=!0,o=!0,l=0,t=r.position;!Oo(g)&&g!==0;)g=r.input.charCodeAt(++r.position);zA(r,t,r.position,!1)}return!0}function pU(r,e){var t,i=r.tag,n=r.anchor,s=[],o,a=!1,l;for(r.anchor!==null&&(r.anchorMap[r.anchor]=s),l=r.input.charCodeAt(r.position);l!==0&&!(l!==45||(o=r.input.charCodeAt(r.position+1),!yn(o)));){if(a=!0,r.position++,ei(r,!0,-1)&&r.lineIndent<=e){s.push(null),l=r.input.charCodeAt(r.position);continue}if(t=r.line,Ag(r,e,nU,!1,!0),s.push(r.result),ei(r,!0,-1),l=r.input.charCodeAt(r.position),(r.line===t||r.lineIndent>e)&&l!==0)dt(r,\"bad indentation of a sequence entry\");else if(r.lineIndent<e)break}return a?(r.tag=i,r.anchor=n,r.kind=\"sequence\",r.result=s,!0):!1}function _he(r,e,t){var i,n,s,o,a=r.tag,l=r.anchor,c={},u={},g=null,f=null,h=null,p=!1,m=!1,y;for(r.anchor!==null&&(r.anchorMap[r.anchor]=c),y=r.input.charCodeAt(r.position);y!==0;){if(i=r.input.charCodeAt(r.position+1),s=r.line,o=r.position,(y===63||y===58)&&yn(i))y===63?(p&&(ag(r,c,u,g,f,null),g=f=h=null),m=!0,p=!0,n=!0):p?(p=!1,n=!0):dt(r,\"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line\"),r.position+=1,y=i;else if(Ag(r,t,iU,!1,!0))if(r.line===s){for(y=r.input.charCodeAt(r.position);mc(y);)y=r.input.charCodeAt(++r.position);if(y===58)y=r.input.charCodeAt(++r.position),yn(y)||dt(r,\"a whitespace character is expected after the key-value separator within a block mapping\"),p&&(ag(r,c,u,g,f,null),g=f=h=null),m=!0,p=!1,n=!1,g=r.tag,f=r.result;else if(m)dt(r,\"can not read an implicit mapping pair; a colon is missed\");else return r.tag=a,r.anchor=l,!0}else if(m)dt(r,\"can not read a block mapping entry; a multiline key may not be an implicit key\");else return r.tag=a,r.anchor=l,!0;else break;if((r.line===s||r.lineIndent>e)&&(Ag(r,e,oI,!0,n)&&(p?f=r.result:h=r.result),p||(ag(r,c,u,g,f,h,s,o),g=f=h=null),ei(r,!0,-1),y=r.input.charCodeAt(r.position)),r.lineIndent>e&&y!==0)dt(r,\"bad indentation of a mapping entry\");else if(r.lineIndent<e)break}return p&&ag(r,c,u,g,f,null),m&&(r.tag=a,r.anchor=l,r.kind=\"mapping\",r.result=c),m}function Vhe(r){var e,t=!1,i=!1,n,s,o;if(o=r.input.charCodeAt(r.position),o!==33)return!1;if(r.tag!==null&&dt(r,\"duplication of a tag property\"),o=r.input.charCodeAt(++r.position),o===60?(t=!0,o=r.input.charCodeAt(++r.position)):o===33?(i=!0,n=\"!!\",o=r.input.charCodeAt(++r.position)):n=\"!\",e=r.position,t){do o=r.input.charCodeAt(++r.position);while(o!==0&&o!==62);r.position<r.length?(s=r.input.slice(e,r.position),o=r.input.charCodeAt(++r.position)):dt(r,\"unexpected end of the stream within a verbatim tag\")}else{for(;o!==0&&!yn(o);)o===33&&(i?dt(r,\"tag suffix cannot contain exclamation marks\"):(n=r.input.slice(e-1,r.position+1),oU.test(n)||dt(r,\"named tag handle cannot contain such characters\"),i=!0,e=r.position+1)),o=r.input.charCodeAt(++r.position);s=r.input.slice(e,r.position),Mhe.test(s)&&dt(r,\"tag suffix cannot contain flow indicator characters\")}return s&&!aU.test(s)&&dt(r,\"tag name cannot contain such characters: \"+s),t?r.tag=s:WA.call(r.tagMap,n)?r.tag=r.tagMap[n]+s:n===\"!\"?r.tag=\"!\"+s:n===\"!!\"?r.tag=\"tag:yaml.org,2002:\"+s:dt(r,'undeclared tag handle \"'+n+'\"'),!0}function Xhe(r){var e,t;if(t=r.input.charCodeAt(r.position),t!==38)return!1;for(r.anchor!==null&&dt(r,\"duplication of an anchor property\"),t=r.input.charCodeAt(++r.position),e=r.position;t!==0&&!yn(t)&&!sg(t);)t=r.input.charCodeAt(++r.position);return r.position===e&&dt(r,\"name of an anchor node must contain at least one character\"),r.anchor=r.input.slice(e,r.position),!0}function Zhe(r){var e,t,i;if(i=r.input.charCodeAt(r.position),i!==42)return!1;for(i=r.input.charCodeAt(++r.position),e=r.position;i!==0&&!yn(i)&&!sg(i);)i=r.input.charCodeAt(++r.position);return r.position===e&&dt(r,\"name of an alias node must contain at least one character\"),t=r.input.slice(e,r.position),WA.call(r.anchorMap,t)||dt(r,'unidentified alias \"'+t+'\"'),r.result=r.anchorMap[t],ei(r,!0,-1),!0}function Ag(r,e,t,i,n){var s,o,a,l=1,c=!1,u=!1,g,f,h,p,m;if(r.listener!==null&&r.listener(\"open\",r),r.tag=null,r.anchor=null,r.kind=null,r.result=null,s=o=a=oI===t||nU===t,i&&ei(r,!0,-1)&&(c=!0,r.lineIndent>e?l=1:r.lineIndent===e?l=0:r.lineIndent<e&&(l=-1)),l===1)for(;Vhe(r)||Xhe(r);)ei(r,!0,-1)?(c=!0,a=s,r.lineIndent>e?l=1:r.lineIndent===e?l=0:r.lineIndent<e&&(l=-1)):a=!1;if(a&&(a=c||n),(l===1||oI===t)&&(sI===t||iU===t?p=e:p=e+1,m=r.position-r.lineStart,l===1?a&&(pU(r,m)||_he(r,m,p))||Whe(r,p)?u=!0:(o&&zhe(r,p)||qhe(r,p)||Jhe(r,p)?u=!0:Zhe(r)?(u=!0,(r.tag!==null||r.anchor!==null)&&dt(r,\"alias node should not have any properties\")):Yhe(r,p,sI===t)&&(u=!0,r.tag===null&&(r.tag=\"?\")),r.anchor!==null&&(r.anchorMap[r.anchor]=r.result)):l===0&&(u=a&&pU(r,m))),r.tag!==null&&r.tag!==\"!\")if(r.tag===\"?\"){for(r.result!==null&&r.kind!==\"scalar\"&&dt(r,'unacceptable node kind for !<?> tag; it should be \"scalar\", not \"'+r.kind+'\"'),g=0,f=r.implicitTypes.length;g<f;g+=1)if(h=r.implicitTypes[g],h.resolve(r.result)){r.result=h.construct(r.result),r.tag=h.tag,r.anchor!==null&&(r.anchorMap[r.anchor]=r.result);break}}else WA.call(r.typeMap[r.kind||\"fallback\"],r.tag)?(h=r.typeMap[r.kind||\"fallback\"][r.tag],r.result!==null&&h.kind!==r.kind&&dt(r,\"unacceptable node kind for !<\"+r.tag+'> tag; it should be \"'+h.kind+'\", not \"'+r.kind+'\"'),h.resolve(r.result)?(r.result=h.construct(r.result),r.anchor!==null&&(r.anchorMap[r.anchor]=r.result)):dt(r,\"cannot resolve a node with !<\"+r.tag+\"> explicit tag\")):dt(r,\"unknown tag !<\"+r.tag+\">\");return r.listener!==null&&r.listener(\"close\",r),r.tag!==null||r.anchor!==null||u}function $he(r){var e=r.position,t,i,n,s=!1,o;for(r.version=null,r.checkLineBreaks=r.legacy,r.tagMap={},r.anchorMap={};(o=r.input.charCodeAt(r.position))!==0&&(ei(r,!0,-1),o=r.input.charCodeAt(r.position),!(r.lineIndent>0||o!==37));){for(s=!0,o=r.input.charCodeAt(++r.position),t=r.position;o!==0&&!yn(o);)o=r.input.charCodeAt(++r.position);for(i=r.input.slice(t,r.position),n=[],i.length<1&&dt(r,\"directive name must not be less than one character in length\");o!==0;){for(;mc(o);)o=r.input.charCodeAt(++r.position);if(o===35){do o=r.input.charCodeAt(++r.position);while(o!==0&&!Oo(o));break}if(Oo(o))break;for(t=r.position;o!==0&&!yn(o);)o=r.input.charCodeAt(++r.position);n.push(r.input.slice(t,r.position))}o!==0&&UQ(r),WA.call(fU,i)?fU[i](r,i,n):aI(r,'unknown document directive \"'+i+'\"')}if(ei(r,!0,-1),r.lineIndent===0&&r.input.charCodeAt(r.position)===45&&r.input.charCodeAt(r.position+1)===45&&r.input.charCodeAt(r.position+2)===45?(r.position+=3,ei(r,!0,-1)):s&&dt(r,\"directives end mark is expected\"),Ag(r,r.lineIndent-1,oI,!1,!0),ei(r,!0,-1),r.checkLineBreaks&&Ohe.test(r.input.slice(e,r.position))&&aI(r,\"non-ASCII line breaks are interpreted as content\"),r.documents.push(r.result),r.position===r.lineStart&&AI(r)){r.input.charCodeAt(r.position)===46&&(r.position+=3,ei(r,!0,-1));return}if(r.position<r.length-1)dt(r,\"end of the stream or a document separator is expected\");else return}function dU(r,e){r=String(r),e=e||{},r.length!==0&&(r.charCodeAt(r.length-1)!==10&&r.charCodeAt(r.length-1)!==13&&(r+=`\n`),r.charCodeAt(0)===65279&&(r=r.slice(1)));var t=new Ghe(r,e),i=r.indexOf(\"\\0\");for(i!==-1&&(t.position=i,dt(t,\"null byte is not allowed in input\")),t.input+=\"\\0\";t.input.charCodeAt(t.position)===32;)t.lineIndent+=1,t.position+=1;for(;t.position<t.length-1;)$he(t);return t.documents}function CU(r,e,t){e!==null&&typeof e==\"object\"&&typeof t==\"undefined\"&&(t=e,e=null);var i=dU(r,t);if(typeof e!=\"function\")return i;for(var n=0,s=i.length;n<s;n+=1)e(i[n])}function mU(r,e){var t=dU(r,e);if(t.length!==0){if(t.length===1)return t[0];throw new tU(\"expected a single document in the stream, but found more\")}}function epe(r,e,t){return typeof e==\"object\"&&e!==null&&typeof t==\"undefined\"&&(t=e,e=null),CU(r,e,Ma.extend({schema:rU},t))}function tpe(r,e){return mU(r,Ma.extend({schema:rU},e))}ip.exports.loadAll=CU;ip.exports.load=mU;ip.exports.safeLoadAll=epe;ip.exports.safeLoad=tpe});var jU=w((AXe,HQ)=>{\"use strict\";var np=pc(),sp=rg(),rpe=rp(),ipe=ng(),IU=Object.prototype.toString,yU=Object.prototype.hasOwnProperty,npe=9,op=10,spe=13,ope=32,ape=33,Ape=34,wU=35,lpe=37,cpe=38,upe=39,gpe=42,BU=44,fpe=45,bU=58,hpe=61,ppe=62,dpe=63,Cpe=64,QU=91,SU=93,mpe=96,vU=123,Epe=124,kU=125,Ui={};Ui[0]=\"\\\\0\";Ui[7]=\"\\\\a\";Ui[8]=\"\\\\b\";Ui[9]=\"\\\\t\";Ui[10]=\"\\\\n\";Ui[11]=\"\\\\v\";Ui[12]=\"\\\\f\";Ui[13]=\"\\\\r\";Ui[27]=\"\\\\e\";Ui[34]='\\\\\"';Ui[92]=\"\\\\\\\\\";Ui[133]=\"\\\\N\";Ui[160]=\"\\\\_\";Ui[8232]=\"\\\\L\";Ui[8233]=\"\\\\P\";var Ipe=[\"y\",\"Y\",\"yes\",\"Yes\",\"YES\",\"on\",\"On\",\"ON\",\"n\",\"N\",\"no\",\"No\",\"NO\",\"off\",\"Off\",\"OFF\"];function ype(r,e){var t,i,n,s,o,a,l;if(e===null)return{};for(t={},i=Object.keys(e),n=0,s=i.length;n<s;n+=1)o=i[n],a=String(e[o]),o.slice(0,2)===\"!!\"&&(o=\"tag:yaml.org,2002:\"+o.slice(2)),l=r.compiledTypeMap.fallback[o],l&&yU.call(l.styleAliases,a)&&(a=l.styleAliases[a]),t[o]=a;return t}function xU(r){var e,t,i;if(e=r.toString(16).toUpperCase(),r<=255)t=\"x\",i=2;else if(r<=65535)t=\"u\",i=4;else if(r<=4294967295)t=\"U\",i=8;else throw new sp(\"code point within a string may not be greater than 0xFFFFFFFF\");return\"\\\\\"+t+np.repeat(\"0\",i-e.length)+e}function wpe(r){this.schema=r.schema||rpe,this.indent=Math.max(1,r.indent||2),this.noArrayIndent=r.noArrayIndent||!1,this.skipInvalid=r.skipInvalid||!1,this.flowLevel=np.isNothing(r.flowLevel)?-1:r.flowLevel,this.styleMap=ype(this.schema,r.styles||null),this.sortKeys=r.sortKeys||!1,this.lineWidth=r.lineWidth||80,this.noRefs=r.noRefs||!1,this.noCompatMode=r.noCompatMode||!1,this.condenseFlow=r.condenseFlow||!1,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result=\"\",this.duplicates=[],this.usedDuplicates=null}function PU(r,e){for(var t=np.repeat(\" \",e),i=0,n=-1,s=\"\",o,a=r.length;i<a;)n=r.indexOf(`\n`,i),n===-1?(o=r.slice(i),i=a):(o=r.slice(i,n+1),i=n+1),o.length&&o!==`\n`&&(s+=t),s+=o;return s}function jQ(r,e){return`\n`+np.repeat(\" \",r.indent*e)}function Bpe(r,e){var t,i,n;for(t=0,i=r.implicitTypes.length;t<i;t+=1)if(n=r.implicitTypes[t],n.resolve(e))return!0;return!1}function GQ(r){return r===ope||r===npe}function lg(r){return 32<=r&&r<=126||161<=r&&r<=55295&&r!==8232&&r!==8233||57344<=r&&r<=65533&&r!==65279||65536<=r&&r<=1114111}function bpe(r){return lg(r)&&!GQ(r)&&r!==65279&&r!==spe&&r!==op}function DU(r,e){return lg(r)&&r!==65279&&r!==BU&&r!==QU&&r!==SU&&r!==vU&&r!==kU&&r!==bU&&(r!==wU||e&&bpe(e))}function Qpe(r){return lg(r)&&r!==65279&&!GQ(r)&&r!==fpe&&r!==dpe&&r!==bU&&r!==BU&&r!==QU&&r!==SU&&r!==vU&&r!==kU&&r!==wU&&r!==cpe&&r!==gpe&&r!==ape&&r!==Epe&&r!==hpe&&r!==ppe&&r!==upe&&r!==Ape&&r!==lpe&&r!==Cpe&&r!==mpe}function RU(r){var e=/^\\n* /;return e.test(r)}var FU=1,NU=2,LU=3,TU=4,lI=5;function Spe(r,e,t,i,n){var s,o,a,l=!1,c=!1,u=i!==-1,g=-1,f=Qpe(r.charCodeAt(0))&&!GQ(r.charCodeAt(r.length-1));if(e)for(s=0;s<r.length;s++){if(o=r.charCodeAt(s),!lg(o))return lI;a=s>0?r.charCodeAt(s-1):null,f=f&&DU(o,a)}else{for(s=0;s<r.length;s++){if(o=r.charCodeAt(s),o===op)l=!0,u&&(c=c||s-g-1>i&&r[g+1]!==\" \",g=s);else if(!lg(o))return lI;a=s>0?r.charCodeAt(s-1):null,f=f&&DU(o,a)}c=c||u&&s-g-1>i&&r[g+1]!==\" \"}return!l&&!c?f&&!n(r)?FU:NU:t>9&&RU(r)?lI:c?TU:LU}function xpe(r,e,t,i){r.dump=function(){if(e.length===0)return\"''\";if(!r.noCompatMode&&Ipe.indexOf(e)!==-1)return\"'\"+e+\"'\";var n=r.indent*Math.max(1,t),s=r.lineWidth===-1?-1:Math.max(Math.min(r.lineWidth,40),r.lineWidth-n),o=i||r.flowLevel>-1&&t>=r.flowLevel;function a(l){return Bpe(r,l)}switch(Spe(e,o,r.indent,s,a)){case FU:return e;case NU:return\"'\"+e.replace(/'/g,\"''\")+\"'\";case LU:return\"|\"+OU(e,r.indent)+MU(PU(e,n));case TU:return\">\"+OU(e,r.indent)+MU(PU(vpe(e,s),n));case lI:return'\"'+kpe(e,s)+'\"';default:throw new sp(\"impossible error: invalid scalar style\")}}()}function OU(r,e){var t=RU(r)?String(e):\"\",i=r[r.length-1]===`\n`,n=i&&(r[r.length-2]===`\n`||r===`\n`),s=n?\"+\":i?\"\":\"-\";return t+s+`\n`}function MU(r){return r[r.length-1]===`\n`?r.slice(0,-1):r}function vpe(r,e){for(var t=/(\\n+)([^\\n]*)/g,i=function(){var c=r.indexOf(`\n`);return c=c!==-1?c:r.length,t.lastIndex=c,UU(r.slice(0,c),e)}(),n=r[0]===`\n`||r[0]===\" \",s,o;o=t.exec(r);){var a=o[1],l=o[2];s=l[0]===\" \",i+=a+(!n&&!s&&l!==\"\"?`\n`:\"\")+UU(l,e),n=s}return i}function UU(r,e){if(r===\"\"||r[0]===\" \")return r;for(var t=/ [^ ]/g,i,n=0,s,o=0,a=0,l=\"\";i=t.exec(r);)a=i.index,a-n>e&&(s=o>n?o:a,l+=`\n`+r.slice(n,s),n=s+1),o=a;return l+=`\n`,r.length-n>e&&o>n?l+=r.slice(n,o)+`\n`+r.slice(o+1):l+=r.slice(n),l.slice(1)}function kpe(r){for(var e=\"\",t,i,n,s=0;s<r.length;s++){if(t=r.charCodeAt(s),t>=55296&&t<=56319&&(i=r.charCodeAt(s+1),i>=56320&&i<=57343)){e+=xU((t-55296)*1024+i-56320+65536),s++;continue}n=Ui[t],e+=!n&&lg(t)?r[s]:n||xU(t)}return e}function Ppe(r,e,t){var i=\"\",n=r.tag,s,o;for(s=0,o=t.length;s<o;s+=1)Ec(r,e,t[s],!1,!1)&&(s!==0&&(i+=\",\"+(r.condenseFlow?\"\":\" \")),i+=r.dump);r.tag=n,r.dump=\"[\"+i+\"]\"}function Dpe(r,e,t,i){var n=\"\",s=r.tag,o,a;for(o=0,a=t.length;o<a;o+=1)Ec(r,e+1,t[o],!0,!0)&&((!i||o!==0)&&(n+=jQ(r,e)),r.dump&&op===r.dump.charCodeAt(0)?n+=\"-\":n+=\"- \",n+=r.dump);r.tag=s,r.dump=n||\"[]\"}function Rpe(r,e,t){var i=\"\",n=r.tag,s=Object.keys(t),o,a,l,c,u;for(o=0,a=s.length;o<a;o+=1)u=\"\",o!==0&&(u+=\", \"),r.condenseFlow&&(u+='\"'),l=s[o],c=t[l],!!Ec(r,e,l,!1,!1)&&(r.dump.length>1024&&(u+=\"? \"),u+=r.dump+(r.condenseFlow?'\"':\"\")+\":\"+(r.condenseFlow?\"\":\" \"),!!Ec(r,e,c,!1,!1)&&(u+=r.dump,i+=u));r.tag=n,r.dump=\"{\"+i+\"}\"}function Fpe(r,e,t,i){var n=\"\",s=r.tag,o=Object.keys(t),a,l,c,u,g,f;if(r.sortKeys===!0)o.sort();else if(typeof r.sortKeys==\"function\")o.sort(r.sortKeys);else if(r.sortKeys)throw new sp(\"sortKeys must be a boolean or a function\");for(a=0,l=o.length;a<l;a+=1)f=\"\",(!i||a!==0)&&(f+=jQ(r,e)),c=o[a],u=t[c],!!Ec(r,e+1,c,!0,!0,!0)&&(g=r.tag!==null&&r.tag!==\"?\"||r.dump&&r.dump.length>1024,g&&(r.dump&&op===r.dump.charCodeAt(0)?f+=\"?\":f+=\"? \"),f+=r.dump,g&&(f+=jQ(r,e)),!!Ec(r,e+1,u,!0,g)&&(r.dump&&op===r.dump.charCodeAt(0)?f+=\":\":f+=\": \",f+=r.dump,n+=f));r.tag=s,r.dump=n||\"{}\"}function KU(r,e,t){var i,n,s,o,a,l;for(n=t?r.explicitTypes:r.implicitTypes,s=0,o=n.length;s<o;s+=1)if(a=n[s],(a.instanceOf||a.predicate)&&(!a.instanceOf||typeof e==\"object\"&&e instanceof a.instanceOf)&&(!a.predicate||a.predicate(e))){if(r.tag=t?a.tag:\"?\",a.represent){if(l=r.styleMap[a.tag]||a.defaultStyle,IU.call(a.represent)===\"[object Function]\")i=a.represent(e,l);else if(yU.call(a.represent,l))i=a.represent[l](e,l);else throw new sp(\"!<\"+a.tag+'> tag resolver accepts not \"'+l+'\" style');r.dump=i}return!0}return!1}function Ec(r,e,t,i,n,s){r.tag=null,r.dump=t,KU(r,t,!1)||KU(r,t,!0);var o=IU.call(r.dump);i&&(i=r.flowLevel<0||r.flowLevel>e);var a=o===\"[object Object]\"||o===\"[object Array]\",l,c;if(a&&(l=r.duplicates.indexOf(t),c=l!==-1),(r.tag!==null&&r.tag!==\"?\"||c||r.indent!==2&&e>0)&&(n=!1),c&&r.usedDuplicates[l])r.dump=\"*ref_\"+l;else{if(a&&c&&!r.usedDuplicates[l]&&(r.usedDuplicates[l]=!0),o===\"[object Object]\")i&&Object.keys(r.dump).length!==0?(Fpe(r,e,r.dump,n),c&&(r.dump=\"&ref_\"+l+r.dump)):(Rpe(r,e,r.dump),c&&(r.dump=\"&ref_\"+l+\" \"+r.dump));else if(o===\"[object Array]\"){var u=r.noArrayIndent&&e>0?e-1:e;i&&r.dump.length!==0?(Dpe(r,u,r.dump,n),c&&(r.dump=\"&ref_\"+l+r.dump)):(Ppe(r,u,r.dump),c&&(r.dump=\"&ref_\"+l+\" \"+r.dump))}else if(o===\"[object String]\")r.tag!==\"?\"&&xpe(r,r.dump,e,s);else{if(r.skipInvalid)return!1;throw new sp(\"unacceptable kind of an object to dump \"+o)}r.tag!==null&&r.tag!==\"?\"&&(r.dump=\"!<\"+r.tag+\"> \"+r.dump)}return!0}function Npe(r,e){var t=[],i=[],n,s;for(YQ(r,t,i),n=0,s=i.length;n<s;n+=1)e.duplicates.push(t[i[n]]);e.usedDuplicates=new Array(s)}function YQ(r,e,t){var i,n,s;if(r!==null&&typeof r==\"object\")if(n=e.indexOf(r),n!==-1)t.indexOf(n)===-1&&t.push(n);else if(e.push(r),Array.isArray(r))for(n=0,s=r.length;n<s;n+=1)YQ(r[n],e,t);else for(i=Object.keys(r),n=0,s=i.length;n<s;n+=1)YQ(r[i[n]],e,t)}function HU(r,e){e=e||{};var t=new wpe(e);return t.noRefs||Npe(r,t),Ec(t,0,r,!0,!0)?t.dump+`\n`:\"\"}function Lpe(r,e){return HU(r,np.extend({schema:ipe},e))}HQ.exports.dump=HU;HQ.exports.safeDump=Lpe});var YU=w((lXe,Mr)=>{\"use strict\";var cI=EU(),GU=jU();function uI(r){return function(){throw new Error(\"Function \"+r+\" is deprecated and cannot be used.\")}}Mr.exports.Type=ci();Mr.exports.Schema=dc();Mr.exports.FAILSAFE_SCHEMA=iI();Mr.exports.JSON_SCHEMA=LQ();Mr.exports.CORE_SCHEMA=TQ();Mr.exports.DEFAULT_SAFE_SCHEMA=ng();Mr.exports.DEFAULT_FULL_SCHEMA=rp();Mr.exports.load=cI.load;Mr.exports.loadAll=cI.loadAll;Mr.exports.safeLoad=cI.safeLoad;Mr.exports.safeLoadAll=cI.safeLoadAll;Mr.exports.dump=GU.dump;Mr.exports.safeDump=GU.safeDump;Mr.exports.YAMLException=rg();Mr.exports.MINIMAL_SCHEMA=iI();Mr.exports.SAFE_SCHEMA=ng();Mr.exports.DEFAULT_SCHEMA=rp();Mr.exports.scan=uI(\"scan\");Mr.exports.parse=uI(\"parse\");Mr.exports.compose=uI(\"compose\");Mr.exports.addConstructor=uI(\"addConstructor\")});var JU=w((cXe,qU)=>{\"use strict\";var Tpe=YU();qU.exports=Tpe});var zU=w((uXe,WU)=>{\"use strict\";function Ope(r,e){function t(){this.constructor=r}t.prototype=e.prototype,r.prototype=new t}function Ic(r,e,t,i){this.message=r,this.expected=e,this.found=t,this.location=i,this.name=\"SyntaxError\",typeof Error.captureStackTrace==\"function\"&&Error.captureStackTrace(this,Ic)}Ope(Ic,Error);Ic.buildMessage=function(r,e){var t={literal:function(c){return'\"'+n(c.text)+'\"'},class:function(c){var u=\"\",g;for(g=0;g<c.parts.length;g++)u+=c.parts[g]instanceof Array?s(c.parts[g][0])+\"-\"+s(c.parts[g][1]):s(c.parts[g]);return\"[\"+(c.inverted?\"^\":\"\")+u+\"]\"},any:function(c){return\"any character\"},end:function(c){return\"end of input\"},other:function(c){return c.description}};function i(c){return c.charCodeAt(0).toString(16).toUpperCase()}function n(c){return c.replace(/\\\\/g,\"\\\\\\\\\").replace(/\"/g,'\\\\\"').replace(/\\0/g,\"\\\\0\").replace(/\\t/g,\"\\\\t\").replace(/\\n/g,\"\\\\n\").replace(/\\r/g,\"\\\\r\").replace(/[\\x00-\\x0F]/g,function(u){return\"\\\\x0\"+i(u)}).replace(/[\\x10-\\x1F\\x7F-\\x9F]/g,function(u){return\"\\\\x\"+i(u)})}function s(c){return c.replace(/\\\\/g,\"\\\\\\\\\").replace(/\\]/g,\"\\\\]\").replace(/\\^/g,\"\\\\^\").replace(/-/g,\"\\\\-\").replace(/\\0/g,\"\\\\0\").replace(/\\t/g,\"\\\\t\").replace(/\\n/g,\"\\\\n\").replace(/\\r/g,\"\\\\r\").replace(/[\\x00-\\x0F]/g,function(u){return\"\\\\x0\"+i(u)}).replace(/[\\x10-\\x1F\\x7F-\\x9F]/g,function(u){return\"\\\\x\"+i(u)})}function o(c){return t[c.type](c)}function a(c){var u=new Array(c.length),g,f;for(g=0;g<c.length;g++)u[g]=o(c[g]);if(u.sort(),u.length>0){for(g=1,f=1;g<u.length;g++)u[g-1]!==u[g]&&(u[f]=u[g],f++);u.length=f}switch(u.length){case 1:return u[0];case 2:return u[0]+\" or \"+u[1];default:return u.slice(0,-1).join(\", \")+\", or \"+u[u.length-1]}}function l(c){return c?'\"'+n(c)+'\"':\"end of input\"}return\"Expected \"+a(r)+\" but \"+l(e)+\" found.\"};function Mpe(r,e){e=e!==void 0?e:{};var t={},i={Start:to},n=to,s=function(R){return[].concat(...R)},o=\"-\",a=gr(\"-\",!1),l=function(R){return R},c=function(R){return Object.assign({},...R)},u=\"#\",g=gr(\"#\",!1),f=$l(),h=function(){return{}},p=\":\",m=gr(\":\",!1),y=function(R,G){return{[R]:G}},b=\",\",v=gr(\",\",!1),k=function(R,G){return G},T=function(R,G,Ce){return Object.assign({},...[R].concat(G).map(je=>({[je]:Ce})))},Y=function(R){return R},q=function(R){return R},$=eo(\"correct indentation\"),z=\" \",ne=gr(\" \",!1),ee=function(R){return R.length===KA*Wu},A=function(R){return R.length===(KA+1)*Wu},oe=function(){return KA++,!0},ce=function(){return KA--,!0},Z=function(){return Hu()},O=eo(\"pseudostring\"),L=/^[^\\r\\n\\t ?:,\\][{}#&*!|>'\"%@`\\-]/,de=Jn([\"\\r\",`\n`,\"\t\",\" \",\"?\",\":\",\",\",\"]\",\"[\",\"{\",\"}\",\"#\",\"&\",\"*\",\"!\",\"|\",\">\",\"'\",'\"',\"%\",\"@\",\"`\",\"-\"],!0,!1),Be=/^[^\\r\\n\\t ,\\][{}:#\"']/,Ge=Jn([\"\\r\",`\n`,\"\t\",\" \",\",\",\"]\",\"[\",\"{\",\"}\",\":\",\"#\",'\"',\"'\"],!0,!1),re=function(){return Hu().replace(/^ *| *$/g,\"\")},se=\"--\",be=gr(\"--\",!1),he=/^[a-zA-Z\\/0-9]/,Fe=Jn([[\"a\",\"z\"],[\"A\",\"Z\"],\"/\",[\"0\",\"9\"]],!1,!1),Ue=/^[^\\r\\n\\t :,]/,xe=Jn([\"\\r\",`\n`,\"\t\",\" \",\":\",\",\"],!0,!1),ve=\"null\",pe=gr(\"null\",!1),V=function(){return null},Qe=\"true\",le=gr(\"true\",!1),fe=function(){return!0},gt=\"false\",Ht=gr(\"false\",!1),Mt=function(){return!1},Ei=eo(\"string\"),jt='\"',Qr=gr('\"',!1),Oi=function(){return\"\"},$s=function(R){return R},Hn=function(R){return R.join(\"\")},jn=/^[^\"\\\\\\0-\\x1F\\x7F]/,Sr=Jn(['\"',\"\\\\\",[\"\\0\",\"\u001f\"],\"\\x7F\"],!0,!1),Gn='\\\\\"',fs=gr('\\\\\"',!1),Qa=function(){return'\"'},RA=\"\\\\\\\\\",Lu=gr(\"\\\\\\\\\",!1),hs=function(){return\"\\\\\"},FA=\"\\\\/\",Sa=gr(\"\\\\/\",!1),Tu=function(){return\"/\"},NA=\"\\\\b\",LA=gr(\"\\\\b\",!1),vr=function(){return\"\\b\"},_l=\"\\\\f\",Ou=gr(\"\\\\f\",!1),Po=function(){return\"\\f\"},Mu=\"\\\\n\",vh=gr(\"\\\\n\",!1),kh=function(){return`\n`},Dr=\"\\\\r\",Ae=gr(\"\\\\r\",!1),Do=function(){return\"\\r\"},Yn=\"\\\\t\",Uu=gr(\"\\\\t\",!1),St=function(){return\"\t\"},Vl=\"\\\\u\",qn=gr(\"\\\\u\",!1),ps=function(R,G,Ce,je){return String.fromCharCode(parseInt(`0x${R}${G}${Ce}${je}`))},ds=/^[0-9a-fA-F]/,pt=Jn([[\"0\",\"9\"],[\"a\",\"f\"],[\"A\",\"F\"]],!1,!1),Ro=eo(\"blank space\"),lt=/^[ \\t]/,mn=Jn([\" \",\"\t\"],!1,!1),S=eo(\"white space\"),Tt=/^[ \\t\\n\\r]/,Ku=Jn([\" \",\"\t\",`\n`,\"\\r\"],!1,!1),Xl=`\\r\n`,xh=gr(`\\r\n`,!1),Ph=`\n`,Dh=gr(`\n`,!1),Rh=\"\\r\",Fh=gr(\"\\r\",!1),j=0,wt=0,TA=[{line:1,column:1}],$i=0,Zl=[],$e=0,va;if(\"startRule\"in e){if(!(e.startRule in i))throw new Error(`Can't start parsing from rule \"`+e.startRule+'\".');n=i[e.startRule]}function Hu(){return r.substring(wt,j)}function wE(){return En(wt,j)}function Nh(R,G){throw G=G!==void 0?G:En(wt,j),ec([eo(R)],r.substring(wt,j),G)}function BE(R,G){throw G=G!==void 0?G:En(wt,j),ju(R,G)}function gr(R,G){return{type:\"literal\",text:R,ignoreCase:G}}function Jn(R,G,Ce){return{type:\"class\",parts:R,inverted:G,ignoreCase:Ce}}function $l(){return{type:\"any\"}}function Lh(){return{type:\"end\"}}function eo(R){return{type:\"other\",description:R}}function ka(R){var G=TA[R],Ce;if(G)return G;for(Ce=R-1;!TA[Ce];)Ce--;for(G=TA[Ce],G={line:G.line,column:G.column};Ce<R;)r.charCodeAt(Ce)===10?(G.line++,G.column=1):G.column++,Ce++;return TA[R]=G,G}function En(R,G){var Ce=ka(R),je=ka(G);return{start:{offset:R,line:Ce.line,column:Ce.column},end:{offset:G,line:je.line,column:je.column}}}function Oe(R){j<$i||(j>$i&&($i=j,Zl=[]),Zl.push(R))}function ju(R,G){return new Ic(R,null,null,G)}function ec(R,G,Ce){return new Ic(Ic.buildMessage(R,G),R,G,Ce)}function to(){var R;return R=Gu(),R}function tc(){var R,G,Ce;for(R=j,G=[],Ce=OA();Ce!==t;)G.push(Ce),Ce=OA();return G!==t&&(wt=R,G=s(G)),R=G,R}function OA(){var R,G,Ce,je,Te;return R=j,G=Pa(),G!==t?(r.charCodeAt(j)===45?(Ce=o,j++):(Ce=t,$e===0&&Oe(a)),Ce!==t?(je=Tr(),je!==t?(Te=xa(),Te!==t?(wt=R,G=l(Te),R=G):(j=R,R=t)):(j=R,R=t)):(j=R,R=t)):(j=R,R=t),R}function Gu(){var R,G,Ce;for(R=j,G=[],Ce=Yu();Ce!==t;)G.push(Ce),Ce=Yu();return G!==t&&(wt=R,G=c(G)),R=G,R}function Yu(){var R,G,Ce,je,Te,Xe,Et,Rt,Wn;if(R=j,G=Tr(),G===t&&(G=null),G!==t){if(Ce=j,r.charCodeAt(j)===35?(je=u,j++):(je=t,$e===0&&Oe(g)),je!==t){if(Te=[],Xe=j,Et=j,$e++,Rt=no(),$e--,Rt===t?Et=void 0:(j=Et,Et=t),Et!==t?(r.length>j?(Rt=r.charAt(j),j++):(Rt=t,$e===0&&Oe(f)),Rt!==t?(Et=[Et,Rt],Xe=Et):(j=Xe,Xe=t)):(j=Xe,Xe=t),Xe!==t)for(;Xe!==t;)Te.push(Xe),Xe=j,Et=j,$e++,Rt=no(),$e--,Rt===t?Et=void 0:(j=Et,Et=t),Et!==t?(r.length>j?(Rt=r.charAt(j),j++):(Rt=t,$e===0&&Oe(f)),Rt!==t?(Et=[Et,Rt],Xe=Et):(j=Xe,Xe=t)):(j=Xe,Xe=t);else Te=t;Te!==t?(je=[je,Te],Ce=je):(j=Ce,Ce=t)}else j=Ce,Ce=t;if(Ce===t&&(Ce=null),Ce!==t){if(je=[],Te=io(),Te!==t)for(;Te!==t;)je.push(Te),Te=io();else je=t;je!==t?(wt=R,G=h(),R=G):(j=R,R=t)}else j=R,R=t}else j=R,R=t;if(R===t&&(R=j,G=Pa(),G!==t?(Ce=rc(),Ce!==t?(je=Tr(),je===t&&(je=null),je!==t?(r.charCodeAt(j)===58?(Te=p,j++):(Te=t,$e===0&&Oe(m)),Te!==t?(Xe=Tr(),Xe===t&&(Xe=null),Xe!==t?(Et=xa(),Et!==t?(wt=R,G=y(Ce,Et),R=G):(j=R,R=t)):(j=R,R=t)):(j=R,R=t)):(j=R,R=t)):(j=R,R=t)):(j=R,R=t),R===t&&(R=j,G=Pa(),G!==t?(Ce=ro(),Ce!==t?(je=Tr(),je===t&&(je=null),je!==t?(r.charCodeAt(j)===58?(Te=p,j++):(Te=t,$e===0&&Oe(m)),Te!==t?(Xe=Tr(),Xe===t&&(Xe=null),Xe!==t?(Et=xa(),Et!==t?(wt=R,G=y(Ce,Et),R=G):(j=R,R=t)):(j=R,R=t)):(j=R,R=t)):(j=R,R=t)):(j=R,R=t)):(j=R,R=t),R===t))){if(R=j,G=Pa(),G!==t)if(Ce=ro(),Ce!==t)if(je=Tr(),je!==t)if(Te=bE(),Te!==t){if(Xe=[],Et=io(),Et!==t)for(;Et!==t;)Xe.push(Et),Et=io();else Xe=t;Xe!==t?(wt=R,G=y(Ce,Te),R=G):(j=R,R=t)}else j=R,R=t;else j=R,R=t;else j=R,R=t;else j=R,R=t;if(R===t)if(R=j,G=Pa(),G!==t)if(Ce=ro(),Ce!==t){if(je=[],Te=j,Xe=Tr(),Xe===t&&(Xe=null),Xe!==t?(r.charCodeAt(j)===44?(Et=b,j++):(Et=t,$e===0&&Oe(v)),Et!==t?(Rt=Tr(),Rt===t&&(Rt=null),Rt!==t?(Wn=ro(),Wn!==t?(wt=Te,Xe=k(Ce,Wn),Te=Xe):(j=Te,Te=t)):(j=Te,Te=t)):(j=Te,Te=t)):(j=Te,Te=t),Te!==t)for(;Te!==t;)je.push(Te),Te=j,Xe=Tr(),Xe===t&&(Xe=null),Xe!==t?(r.charCodeAt(j)===44?(Et=b,j++):(Et=t,$e===0&&Oe(v)),Et!==t?(Rt=Tr(),Rt===t&&(Rt=null),Rt!==t?(Wn=ro(),Wn!==t?(wt=Te,Xe=k(Ce,Wn),Te=Xe):(j=Te,Te=t)):(j=Te,Te=t)):(j=Te,Te=t)):(j=Te,Te=t);else je=t;je!==t?(Te=Tr(),Te===t&&(Te=null),Te!==t?(r.charCodeAt(j)===58?(Xe=p,j++):(Xe=t,$e===0&&Oe(m)),Xe!==t?(Et=Tr(),Et===t&&(Et=null),Et!==t?(Rt=xa(),Rt!==t?(wt=R,G=T(Ce,je,Rt),R=G):(j=R,R=t)):(j=R,R=t)):(j=R,R=t)):(j=R,R=t)):(j=R,R=t)}else j=R,R=t;else j=R,R=t}return R}function xa(){var R,G,Ce,je,Te,Xe,Et;if(R=j,G=j,$e++,Ce=j,je=no(),je!==t?(Te=nt(),Te!==t?(r.charCodeAt(j)===45?(Xe=o,j++):(Xe=t,$e===0&&Oe(a)),Xe!==t?(Et=Tr(),Et!==t?(je=[je,Te,Xe,Et],Ce=je):(j=Ce,Ce=t)):(j=Ce,Ce=t)):(j=Ce,Ce=t)):(j=Ce,Ce=t),$e--,Ce!==t?(j=G,G=void 0):G=t,G!==t?(Ce=io(),Ce!==t?(je=Fo(),je!==t?(Te=tc(),Te!==t?(Xe=MA(),Xe!==t?(wt=R,G=Y(Te),R=G):(j=R,R=t)):(j=R,R=t)):(j=R,R=t)):(j=R,R=t)):(j=R,R=t),R===t&&(R=j,G=no(),G!==t?(Ce=Fo(),Ce!==t?(je=Gu(),je!==t?(Te=MA(),Te!==t?(wt=R,G=Y(je),R=G):(j=R,R=t)):(j=R,R=t)):(j=R,R=t)):(j=R,R=t),R===t))if(R=j,G=ic(),G!==t){if(Ce=[],je=io(),je!==t)for(;je!==t;)Ce.push(je),je=io();else Ce=t;Ce!==t?(wt=R,G=q(G),R=G):(j=R,R=t)}else j=R,R=t;return R}function Pa(){var R,G,Ce;for($e++,R=j,G=[],r.charCodeAt(j)===32?(Ce=z,j++):(Ce=t,$e===0&&Oe(ne));Ce!==t;)G.push(Ce),r.charCodeAt(j)===32?(Ce=z,j++):(Ce=t,$e===0&&Oe(ne));return G!==t?(wt=j,Ce=ee(G),Ce?Ce=void 0:Ce=t,Ce!==t?(G=[G,Ce],R=G):(j=R,R=t)):(j=R,R=t),$e--,R===t&&(G=t,$e===0&&Oe($)),R}function nt(){var R,G,Ce;for(R=j,G=[],r.charCodeAt(j)===32?(Ce=z,j++):(Ce=t,$e===0&&Oe(ne));Ce!==t;)G.push(Ce),r.charCodeAt(j)===32?(Ce=z,j++):(Ce=t,$e===0&&Oe(ne));return G!==t?(wt=j,Ce=A(G),Ce?Ce=void 0:Ce=t,Ce!==t?(G=[G,Ce],R=G):(j=R,R=t)):(j=R,R=t),R}function Fo(){var R;return wt=j,R=oe(),R?R=void 0:R=t,R}function MA(){var R;return wt=j,R=ce(),R?R=void 0:R=t,R}function rc(){var R;return R=nc(),R===t&&(R=Th()),R}function ro(){var R,G,Ce;if(R=nc(),R===t){if(R=j,G=[],Ce=qu(),Ce!==t)for(;Ce!==t;)G.push(Ce),Ce=qu();else G=t;G!==t&&(wt=R,G=Z()),R=G}return R}function ic(){var R;return R=Oh(),R===t&&(R=QE(),R===t&&(R=nc(),R===t&&(R=Th()))),R}function bE(){var R;return R=Oh(),R===t&&(R=nc(),R===t&&(R=qu())),R}function Th(){var R,G,Ce,je,Te,Xe;if($e++,R=j,L.test(r.charAt(j))?(G=r.charAt(j),j++):(G=t,$e===0&&Oe(de)),G!==t){for(Ce=[],je=j,Te=Tr(),Te===t&&(Te=null),Te!==t?(Be.test(r.charAt(j))?(Xe=r.charAt(j),j++):(Xe=t,$e===0&&Oe(Ge)),Xe!==t?(Te=[Te,Xe],je=Te):(j=je,je=t)):(j=je,je=t);je!==t;)Ce.push(je),je=j,Te=Tr(),Te===t&&(Te=null),Te!==t?(Be.test(r.charAt(j))?(Xe=r.charAt(j),j++):(Xe=t,$e===0&&Oe(Ge)),Xe!==t?(Te=[Te,Xe],je=Te):(j=je,je=t)):(j=je,je=t);Ce!==t?(wt=R,G=re(),R=G):(j=R,R=t)}else j=R,R=t;return $e--,R===t&&(G=t,$e===0&&Oe(O)),R}function qu(){var R,G,Ce,je,Te;if(R=j,r.substr(j,2)===se?(G=se,j+=2):(G=t,$e===0&&Oe(be)),G===t&&(G=null),G!==t)if(he.test(r.charAt(j))?(Ce=r.charAt(j),j++):(Ce=t,$e===0&&Oe(Fe)),Ce!==t){for(je=[],Ue.test(r.charAt(j))?(Te=r.charAt(j),j++):(Te=t,$e===0&&Oe(xe));Te!==t;)je.push(Te),Ue.test(r.charAt(j))?(Te=r.charAt(j),j++):(Te=t,$e===0&&Oe(xe));je!==t?(wt=R,G=re(),R=G):(j=R,R=t)}else j=R,R=t;else j=R,R=t;return R}function Oh(){var R,G;return R=j,r.substr(j,4)===ve?(G=ve,j+=4):(G=t,$e===0&&Oe(pe)),G!==t&&(wt=R,G=V()),R=G,R}function QE(){var R,G;return R=j,r.substr(j,4)===Qe?(G=Qe,j+=4):(G=t,$e===0&&Oe(le)),G!==t&&(wt=R,G=fe()),R=G,R===t&&(R=j,r.substr(j,5)===gt?(G=gt,j+=5):(G=t,$e===0&&Oe(Ht)),G!==t&&(wt=R,G=Mt()),R=G),R}function nc(){var R,G,Ce,je;return $e++,R=j,r.charCodeAt(j)===34?(G=jt,j++):(G=t,$e===0&&Oe(Qr)),G!==t?(r.charCodeAt(j)===34?(Ce=jt,j++):(Ce=t,$e===0&&Oe(Qr)),Ce!==t?(wt=R,G=Oi(),R=G):(j=R,R=t)):(j=R,R=t),R===t&&(R=j,r.charCodeAt(j)===34?(G=jt,j++):(G=t,$e===0&&Oe(Qr)),G!==t?(Ce=SE(),Ce!==t?(r.charCodeAt(j)===34?(je=jt,j++):(je=t,$e===0&&Oe(Qr)),je!==t?(wt=R,G=$s(Ce),R=G):(j=R,R=t)):(j=R,R=t)):(j=R,R=t)),$e--,R===t&&(G=t,$e===0&&Oe(Ei)),R}function SE(){var R,G,Ce;if(R=j,G=[],Ce=Ju(),Ce!==t)for(;Ce!==t;)G.push(Ce),Ce=Ju();else G=t;return G!==t&&(wt=R,G=Hn(G)),R=G,R}function Ju(){var R,G,Ce,je,Te,Xe;return jn.test(r.charAt(j))?(R=r.charAt(j),j++):(R=t,$e===0&&Oe(Sr)),R===t&&(R=j,r.substr(j,2)===Gn?(G=Gn,j+=2):(G=t,$e===0&&Oe(fs)),G!==t&&(wt=R,G=Qa()),R=G,R===t&&(R=j,r.substr(j,2)===RA?(G=RA,j+=2):(G=t,$e===0&&Oe(Lu)),G!==t&&(wt=R,G=hs()),R=G,R===t&&(R=j,r.substr(j,2)===FA?(G=FA,j+=2):(G=t,$e===0&&Oe(Sa)),G!==t&&(wt=R,G=Tu()),R=G,R===t&&(R=j,r.substr(j,2)===NA?(G=NA,j+=2):(G=t,$e===0&&Oe(LA)),G!==t&&(wt=R,G=vr()),R=G,R===t&&(R=j,r.substr(j,2)===_l?(G=_l,j+=2):(G=t,$e===0&&Oe(Ou)),G!==t&&(wt=R,G=Po()),R=G,R===t&&(R=j,r.substr(j,2)===Mu?(G=Mu,j+=2):(G=t,$e===0&&Oe(vh)),G!==t&&(wt=R,G=kh()),R=G,R===t&&(R=j,r.substr(j,2)===Dr?(G=Dr,j+=2):(G=t,$e===0&&Oe(Ae)),G!==t&&(wt=R,G=Do()),R=G,R===t&&(R=j,r.substr(j,2)===Yn?(G=Yn,j+=2):(G=t,$e===0&&Oe(Uu)),G!==t&&(wt=R,G=St()),R=G,R===t&&(R=j,r.substr(j,2)===Vl?(G=Vl,j+=2):(G=t,$e===0&&Oe(qn)),G!==t?(Ce=UA(),Ce!==t?(je=UA(),je!==t?(Te=UA(),Te!==t?(Xe=UA(),Xe!==t?(wt=R,G=ps(Ce,je,Te,Xe),R=G):(j=R,R=t)):(j=R,R=t)):(j=R,R=t)):(j=R,R=t)):(j=R,R=t)))))))))),R}function UA(){var R;return ds.test(r.charAt(j))?(R=r.charAt(j),j++):(R=t,$e===0&&Oe(pt)),R}function Tr(){var R,G;if($e++,R=[],lt.test(r.charAt(j))?(G=r.charAt(j),j++):(G=t,$e===0&&Oe(mn)),G!==t)for(;G!==t;)R.push(G),lt.test(r.charAt(j))?(G=r.charAt(j),j++):(G=t,$e===0&&Oe(mn));else R=t;return $e--,R===t&&(G=t,$e===0&&Oe(Ro)),R}function vE(){var R,G;if($e++,R=[],Tt.test(r.charAt(j))?(G=r.charAt(j),j++):(G=t,$e===0&&Oe(Ku)),G!==t)for(;G!==t;)R.push(G),Tt.test(r.charAt(j))?(G=r.charAt(j),j++):(G=t,$e===0&&Oe(Ku));else R=t;return $e--,R===t&&(G=t,$e===0&&Oe(S)),R}function io(){var R,G,Ce,je,Te,Xe;if(R=j,G=no(),G!==t){for(Ce=[],je=j,Te=Tr(),Te===t&&(Te=null),Te!==t?(Xe=no(),Xe!==t?(Te=[Te,Xe],je=Te):(j=je,je=t)):(j=je,je=t);je!==t;)Ce.push(je),je=j,Te=Tr(),Te===t&&(Te=null),Te!==t?(Xe=no(),Xe!==t?(Te=[Te,Xe],je=Te):(j=je,je=t)):(j=je,je=t);Ce!==t?(G=[G,Ce],R=G):(j=R,R=t)}else j=R,R=t;return R}function no(){var R;return r.substr(j,2)===Xl?(R=Xl,j+=2):(R=t,$e===0&&Oe(xh)),R===t&&(r.charCodeAt(j)===10?(R=Ph,j++):(R=t,$e===0&&Oe(Dh)),R===t&&(r.charCodeAt(j)===13?(R=Rh,j++):(R=t,$e===0&&Oe(Fh)))),R}let Wu=2,KA=0;if(va=n(),va!==t&&j===r.length)return va;throw va!==t&&j<r.length&&Oe(Lh()),ec(Zl,$i<r.length?r.charAt($i):null,$i<r.length?En($i,$i+1):En($i,$i))}WU.exports={SyntaxError:Ic,parse:Mpe}});var eK=w((dXe,WQ)=>{\"use strict\";var Gpe=r=>{let e=!1,t=!1,i=!1;for(let n=0;n<r.length;n++){let s=r[n];e&&/[a-zA-Z]/.test(s)&&s.toUpperCase()===s?(r=r.slice(0,n)+\"-\"+r.slice(n),e=!1,i=t,t=!0,n++):t&&i&&/[a-zA-Z]/.test(s)&&s.toLowerCase()===s?(r=r.slice(0,n-1)+\"-\"+r.slice(n-1),i=t,t=!1,e=!0):(e=s.toLowerCase()===s&&s.toUpperCase()!==s,i=t,t=s.toUpperCase()===s&&s.toLowerCase()!==s)}return r},$U=(r,e)=>{if(!(typeof r==\"string\"||Array.isArray(r)))throw new TypeError(\"Expected the input to be `string | string[]`\");e=Object.assign({pascalCase:!1},e);let t=n=>e.pascalCase?n.charAt(0).toUpperCase()+n.slice(1):n;return Array.isArray(r)?r=r.map(n=>n.trim()).filter(n=>n.length).join(\"-\"):r=r.trim(),r.length===0?\"\":r.length===1?e.pascalCase?r.toUpperCase():r.toLowerCase():(r!==r.toLowerCase()&&(r=Gpe(r)),r=r.replace(/^[_.\\- ]+/,\"\").toLowerCase().replace(/[_.\\- ]+(\\w|$)/g,(n,s)=>s.toUpperCase()).replace(/\\d+(\\w|$)/g,n=>n.toUpperCase()),t(r))};WQ.exports=$U;WQ.exports.default=$U});var rK=w((CXe,tK)=>{tK.exports=[{name:\"AppVeyor\",constant:\"APPVEYOR\",env:\"APPVEYOR\",pr:\"APPVEYOR_PULL_REQUEST_NUMBER\"},{name:\"Azure Pipelines\",constant:\"AZURE_PIPELINES\",env:\"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI\",pr:\"SYSTEM_PULLREQUEST_PULLREQUESTID\"},{name:\"Appcircle\",constant:\"APPCIRCLE\",env:\"AC_APPCIRCLE\"},{name:\"Bamboo\",constant:\"BAMBOO\",env:\"bamboo_planKey\"},{name:\"Bitbucket Pipelines\",constant:\"BITBUCKET\",env:\"BITBUCKET_COMMIT\",pr:\"BITBUCKET_PR_ID\"},{name:\"Bitrise\",constant:\"BITRISE\",env:\"BITRISE_IO\",pr:\"BITRISE_PULL_REQUEST\"},{name:\"Buddy\",constant:\"BUDDY\",env:\"BUDDY_WORKSPACE_ID\",pr:\"BUDDY_EXECUTION_PULL_REQUEST_ID\"},{name:\"Buildkite\",constant:\"BUILDKITE\",env:\"BUILDKITE\",pr:{env:\"BUILDKITE_PULL_REQUEST\",ne:\"false\"}},{name:\"CircleCI\",constant:\"CIRCLE\",env:\"CIRCLECI\",pr:\"CIRCLE_PULL_REQUEST\"},{name:\"Cirrus CI\",constant:\"CIRRUS\",env:\"CIRRUS_CI\",pr:\"CIRRUS_PR\"},{name:\"AWS CodeBuild\",constant:\"CODEBUILD\",env:\"CODEBUILD_BUILD_ARN\"},{name:\"Codefresh\",constant:\"CODEFRESH\",env:\"CF_BUILD_ID\",pr:{any:[\"CF_PULL_REQUEST_NUMBER\",\"CF_PULL_REQUEST_ID\"]}},{name:\"Codeship\",constant:\"CODESHIP\",env:{CI_NAME:\"codeship\"}},{name:\"Drone\",constant:\"DRONE\",env:\"DRONE\",pr:{DRONE_BUILD_EVENT:\"pull_request\"}},{name:\"dsari\",constant:\"DSARI\",env:\"DSARI\"},{name:\"GitHub Actions\",constant:\"GITHUB_ACTIONS\",env:\"GITHUB_ACTIONS\",pr:{GITHUB_EVENT_NAME:\"pull_request\"}},{name:\"GitLab CI\",constant:\"GITLAB\",env:\"GITLAB_CI\",pr:\"CI_MERGE_REQUEST_ID\"},{name:\"GoCD\",constant:\"GOCD\",env:\"GO_PIPELINE_LABEL\"},{name:\"LayerCI\",constant:\"LAYERCI\",env:\"LAYERCI\",pr:\"LAYERCI_PULL_REQUEST\"},{name:\"Hudson\",constant:\"HUDSON\",env:\"HUDSON_URL\"},{name:\"Jenkins\",constant:\"JENKINS\",env:[\"JENKINS_URL\",\"BUILD_ID\"],pr:{any:[\"ghprbPullId\",\"CHANGE_ID\"]}},{name:\"Magnum CI\",constant:\"MAGNUM\",env:\"MAGNUM\"},{name:\"Netlify CI\",constant:\"NETLIFY\",env:\"NETLIFY\",pr:{env:\"PULL_REQUEST\",ne:\"false\"}},{name:\"Nevercode\",constant:\"NEVERCODE\",env:\"NEVERCODE\",pr:{env:\"NEVERCODE_PULL_REQUEST\",ne:\"false\"}},{name:\"Render\",constant:\"RENDER\",env:\"RENDER\",pr:{IS_PULL_REQUEST:\"true\"}},{name:\"Sail CI\",constant:\"SAIL\",env:\"SAILCI\",pr:\"SAIL_PULL_REQUEST_NUMBER\"},{name:\"Semaphore\",constant:\"SEMAPHORE\",env:\"SEMAPHORE\",pr:\"PULL_REQUEST_NUMBER\"},{name:\"Screwdriver\",constant:\"SCREWDRIVER\",env:\"SCREWDRIVER\",pr:{env:\"SD_PULL_REQUEST\",ne:\"false\"}},{name:\"Shippable\",constant:\"SHIPPABLE\",env:\"SHIPPABLE\",pr:{IS_PULL_REQUEST:\"true\"}},{name:\"Solano CI\",constant:\"SOLANO\",env:\"TDDIUM\",pr:\"TDDIUM_PR_ID\"},{name:\"Strider CD\",constant:\"STRIDER\",env:\"STRIDER\"},{name:\"TaskCluster\",constant:\"TASKCLUSTER\",env:[\"TASK_ID\",\"RUN_ID\"]},{name:\"TeamCity\",constant:\"TEAMCITY\",env:\"TEAMCITY_VERSION\"},{name:\"Travis CI\",constant:\"TRAVIS\",env:\"TRAVIS\",pr:{env:\"TRAVIS_PULL_REQUEST\",ne:\"false\"}},{name:\"Vercel\",constant:\"VERCEL\",env:\"NOW_BUILDER\"},{name:\"Visual Studio App Center\",constant:\"APPCENTER\",env:\"APPCENTER_BUILD_ID\"}]});var yc=w(Zn=>{\"use strict\";var iK=rK(),Mo=process.env;Object.defineProperty(Zn,\"_vendors\",{value:iK.map(function(r){return r.constant})});Zn.name=null;Zn.isPR=null;iK.forEach(function(r){let t=(Array.isArray(r.env)?r.env:[r.env]).every(function(i){return nK(i)});if(Zn[r.constant]=t,t)switch(Zn.name=r.name,typeof r.pr){case\"string\":Zn.isPR=!!Mo[r.pr];break;case\"object\":\"env\"in r.pr?Zn.isPR=r.pr.env in Mo&&Mo[r.pr.env]!==r.pr.ne:\"any\"in r.pr?Zn.isPR=r.pr.any.some(function(i){return!!Mo[i]}):Zn.isPR=nK(r.pr);break;default:Zn.isPR=null}});Zn.isCI=!!(Mo.CI||Mo.CONTINUOUS_INTEGRATION||Mo.BUILD_NUMBER||Mo.RUN_ID||Zn.name);function nK(r){return typeof r==\"string\"?!!Mo[r]:Object.keys(r).every(function(e){return Mo[e]===r[e]})}});var ug={};ft(ug,{KeyRelationship:()=>bc,applyCascade:()=>hp,base64RegExp:()=>lK,colorStringAlphaRegExp:()=>AK,colorStringRegExp:()=>aK,computeKey:()=>_A,getPrintable:()=>ti,hasExactLength:()=>hK,hasForbiddenKeys:()=>yde,hasKeyRelationship:()=>tS,hasMaxLength:()=>nde,hasMinLength:()=>ide,hasMutuallyExclusiveKeys:()=>wde,hasRequiredKeys:()=>Ide,hasUniqueItems:()=>sde,isArray:()=>_pe,isAtLeast:()=>Ade,isAtMost:()=>lde,isBase64:()=>mde,isBoolean:()=>Jpe,isDate:()=>zpe,isDict:()=>Xpe,isEnum:()=>nn,isHexColor:()=>Cde,isISO8601:()=>dde,isInExclusiveRange:()=>ude,isInInclusiveRange:()=>cde,isInstanceOf:()=>$pe,isInteger:()=>gde,isJSON:()=>Ede,isLiteral:()=>Ype,isLowerCase:()=>fde,isNegative:()=>ode,isNullable:()=>rde,isNumber:()=>Wpe,isObject:()=>Zpe,isOneOf:()=>ede,isOptional:()=>tde,isPositive:()=>ade,isString:()=>fp,isTuple:()=>Vpe,isUUID4:()=>pde,isUnknown:()=>fK,isUpperCase:()=>hde,iso8601RegExp:()=>eS,makeCoercionFn:()=>Bc,makeSetter:()=>gK,makeTrait:()=>uK,makeValidator:()=>vt,matchesRegExp:()=>pp,plural:()=>pI,pushError:()=>mt,simpleKeyRegExp:()=>oK,uuid4RegExp:()=>cK});function vt({test:r}){return uK(r)()}function ti(r){return r===null?\"null\":r===void 0?\"undefined\":r===\"\"?\"an empty string\":JSON.stringify(r)}function _A(r,e){var t,i,n;return typeof e==\"number\"?`${(t=r==null?void 0:r.p)!==null&&t!==void 0?t:\".\"}[${e}]`:oK.test(e)?`${(i=r==null?void 0:r.p)!==null&&i!==void 0?i:\"\"}.${e}`:`${(n=r==null?void 0:r.p)!==null&&n!==void 0?n:\".\"}[${JSON.stringify(e)}]`}function Bc(r,e){return t=>{let i=r[e];return r[e]=t,Bc(r,e).bind(null,i)}}function gK(r,e){return t=>{r[e]=t}}function pI(r,e,t){return r===1?e:t}function mt({errors:r,p:e}={},t){return r==null||r.push(`${e!=null?e:\".\"}: ${t}`),!1}function Ype(r){return vt({test:(e,t)=>e!==r?mt(t,`Expected a literal (got ${ti(r)})`):!0})}function nn(r){let e=Array.isArray(r)?r:Object.values(r),t=new Set(e);return vt({test:(i,n)=>t.has(i)?!0:mt(n,`Expected a valid enumeration value (got ${ti(i)})`)})}var oK,aK,AK,lK,cK,eS,uK,fK,fp,qpe,Jpe,Wpe,zpe,_pe,Vpe,Xpe,Zpe,$pe,ede,hp,tde,rde,ide,nde,hK,sde,ode,ade,Ade,lde,cde,ude,gde,pp,fde,hde,pde,dde,Cde,mde,Ede,Ide,yde,wde,bc,Bde,tS,ws=hge(()=>{oK=/^[a-zA-Z_][a-zA-Z0-9_]*$/,aK=/^#[0-9a-f]{6}$/i,AK=/^#[0-9a-f]{6}([0-9a-f]{2})?$/i,lK=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,cK=/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}$/i,eS=/^(?:[1-9]\\d{3}(-?)(?:(?:0[1-9]|1[0-2])\\1(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])\\1(?:29|30)|(?:0[13578]|1[02])(?:\\1)31|00[1-9]|0[1-9]\\d|[12]\\d{2}|3(?:[0-5]\\d|6[0-5]))|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)(?:(-?)02(?:\\2)29|-?366))T(?:[01]\\d|2[0-3])(:?)[0-5]\\d(?:\\3[0-5]\\d)?(?:Z|[+-][01]\\d(?:\\3[0-5]\\d)?)$/,uK=r=>()=>r;fK=()=>vt({test:(r,e)=>!0});fp=()=>vt({test:(r,e)=>typeof r!=\"string\"?mt(e,`Expected a string (got ${ti(r)})`):!0});qpe=new Map([[\"true\",!0],[\"True\",!0],[\"1\",!0],[1,!0],[\"false\",!1],[\"False\",!1],[\"0\",!1],[0,!1]]),Jpe=()=>vt({test:(r,e)=>{var t;if(typeof r!=\"boolean\"){if(typeof(e==null?void 0:e.coercions)!=\"undefined\"){if(typeof(e==null?void 0:e.coercion)==\"undefined\")return mt(e,\"Unbound coercion result\");let i=qpe.get(r);if(typeof i!=\"undefined\")return e.coercions.push([(t=e.p)!==null&&t!==void 0?t:\".\",e.coercion.bind(null,i)]),!0}return mt(e,`Expected a boolean (got ${ti(r)})`)}return!0}}),Wpe=()=>vt({test:(r,e)=>{var t;if(typeof r!=\"number\"){if(typeof(e==null?void 0:e.coercions)!=\"undefined\"){if(typeof(e==null?void 0:e.coercion)==\"undefined\")return mt(e,\"Unbound coercion result\");let i;if(typeof r==\"string\"){let n;try{n=JSON.parse(r)}catch(s){}if(typeof n==\"number\")if(JSON.stringify(n)===r)i=n;else return mt(e,`Received a number that can't be safely represented by the runtime (${r})`)}if(typeof i!=\"undefined\")return e.coercions.push([(t=e.p)!==null&&t!==void 0?t:\".\",e.coercion.bind(null,i)]),!0}return mt(e,`Expected a number (got ${ti(r)})`)}return!0}}),zpe=()=>vt({test:(r,e)=>{var t;if(!(r instanceof Date)){if(typeof(e==null?void 0:e.coercions)!=\"undefined\"){if(typeof(e==null?void 0:e.coercion)==\"undefined\")return mt(e,\"Unbound coercion result\");let i;if(typeof r==\"string\"&&eS.test(r))i=new Date(r);else{let n;if(typeof r==\"string\"){let s;try{s=JSON.parse(r)}catch(o){}typeof s==\"number\"&&(n=s)}else typeof r==\"number\"&&(n=r);if(typeof n!=\"undefined\")if(Number.isSafeInteger(n)||!Number.isSafeInteger(n*1e3))i=new Date(n*1e3);else return mt(e,`Received a timestamp that can't be safely represented by the runtime (${r})`)}if(typeof i!=\"undefined\")return e.coercions.push([(t=e.p)!==null&&t!==void 0?t:\".\",e.coercion.bind(null,i)]),!0}return mt(e,`Expected a date (got ${ti(r)})`)}return!0}}),_pe=(r,{delimiter:e}={})=>vt({test:(t,i)=>{var n;if(typeof t==\"string\"&&typeof e!=\"undefined\"&&typeof(i==null?void 0:i.coercions)!=\"undefined\"){if(typeof(i==null?void 0:i.coercion)==\"undefined\")return mt(i,\"Unbound coercion result\");t=t.split(e),i.coercions.push([(n=i.p)!==null&&n!==void 0?n:\".\",i.coercion.bind(null,t)])}if(!Array.isArray(t))return mt(i,`Expected an array (got ${ti(t)})`);let s=!0;for(let o=0,a=t.length;o<a&&(s=r(t[o],Object.assign(Object.assign({},i),{p:_A(i,o),coercion:Bc(t,o)}))&&s,!(!s&&(i==null?void 0:i.errors)==null));++o);return s}}),Vpe=(r,{delimiter:e}={})=>{let t=hK(r.length);return vt({test:(i,n)=>{var s;if(typeof i==\"string\"&&typeof e!=\"undefined\"&&typeof(n==null?void 0:n.coercions)!=\"undefined\"){if(typeof(n==null?void 0:n.coercion)==\"undefined\")return mt(n,\"Unbound coercion result\");i=i.split(e),n.coercions.push([(s=n.p)!==null&&s!==void 0?s:\".\",n.coercion.bind(null,i)])}if(!Array.isArray(i))return mt(n,`Expected a tuple (got ${ti(i)})`);let o=t(i,Object.assign({},n));for(let a=0,l=i.length;a<l&&a<r.length&&(o=r[a](i[a],Object.assign(Object.assign({},n),{p:_A(n,a),coercion:Bc(i,a)}))&&o,!(!o&&(n==null?void 0:n.errors)==null));++a);return o}})},Xpe=(r,{keys:e=null}={})=>vt({test:(t,i)=>{if(typeof t!=\"object\"||t===null)return mt(i,`Expected an object (got ${ti(t)})`);let n=Object.keys(t),s=!0;for(let o=0,a=n.length;o<a&&(s||(i==null?void 0:i.errors)!=null);++o){let l=n[o],c=t[l];if(l===\"__proto__\"||l===\"constructor\"){s=mt(Object.assign(Object.assign({},i),{p:_A(i,l)}),\"Unsafe property name\");continue}if(e!==null&&!e(l,i)){s=!1;continue}if(!r(c,Object.assign(Object.assign({},i),{p:_A(i,l),coercion:Bc(t,l)}))){s=!1;continue}}return s}}),Zpe=(r,{extra:e=null}={})=>{let t=Object.keys(r);return vt({test:(i,n)=>{if(typeof i!=\"object\"||i===null)return mt(n,`Expected an object (got ${ti(i)})`);let s=new Set([...t,...Object.keys(i)]),o={},a=!0;for(let l of s){if(l===\"constructor\"||l===\"__proto__\")a=mt(Object.assign(Object.assign({},n),{p:_A(n,l)}),\"Unsafe property name\");else{let c=Object.prototype.hasOwnProperty.call(r,l)?r[l]:void 0,u=Object.prototype.hasOwnProperty.call(i,l)?i[l]:void 0;typeof c!=\"undefined\"?a=c(u,Object.assign(Object.assign({},n),{p:_A(n,l),coercion:Bc(i,l)}))&&a:e===null?a=mt(Object.assign(Object.assign({},n),{p:_A(n,l)}),`Extraneous property (got ${ti(u)})`):Object.defineProperty(o,l,{enumerable:!0,get:()=>u,set:gK(i,l)})}if(!a&&(n==null?void 0:n.errors)==null)break}return e!==null&&(a||(n==null?void 0:n.errors)!=null)&&(a=e(o,n)&&a),a}})},$pe=r=>vt({test:(e,t)=>e instanceof r?!0:mt(t,`Expected an instance of ${r.name} (got ${ti(e)})`)}),ede=(r,{exclusive:e=!1}={})=>vt({test:(t,i)=>{var n,s,o;let a=[],l=typeof(i==null?void 0:i.errors)!=\"undefined\"?[]:void 0;for(let c=0,u=r.length;c<u;++c){let g=typeof(i==null?void 0:i.errors)!=\"undefined\"?[]:void 0,f=typeof(i==null?void 0:i.coercions)!=\"undefined\"?[]:void 0;if(r[c](t,Object.assign(Object.assign({},i),{errors:g,coercions:f,p:`${(n=i==null?void 0:i.p)!==null&&n!==void 0?n:\".\"}#${c+1}`}))){if(a.push([`#${c+1}`,f]),!e)break}else l==null||l.push(g[0])}if(a.length===1){let[,c]=a[0];return typeof c!=\"undefined\"&&((s=i==null?void 0:i.coercions)===null||s===void 0||s.push(...c)),!0}return a.length>1?mt(i,`Expected to match exactly a single predicate (matched ${a.join(\", \")})`):(o=i==null?void 0:i.errors)===null||o===void 0||o.push(...l),!1}}),hp=(r,e)=>vt({test:(t,i)=>{var n,s;let o={value:t},a=typeof(i==null?void 0:i.coercions)!=\"undefined\"?Bc(o,\"value\"):void 0,l=typeof(i==null?void 0:i.coercions)!=\"undefined\"?[]:void 0;if(!r(t,Object.assign(Object.assign({},i),{coercion:a,coercions:l})))return!1;let c=[];if(typeof l!=\"undefined\")for(let[,u]of l)c.push(u());try{if(typeof(i==null?void 0:i.coercions)!=\"undefined\"){if(o.value!==t){if(typeof(i==null?void 0:i.coercion)==\"undefined\")return mt(i,\"Unbound coercion result\");i.coercions.push([(n=i.p)!==null&&n!==void 0?n:\".\",i.coercion.bind(null,o.value)])}(s=i==null?void 0:i.coercions)===null||s===void 0||s.push(...l)}return e.every(u=>u(o.value,i))}finally{for(let u of c)u()}}}),tde=r=>vt({test:(e,t)=>typeof e==\"undefined\"?!0:r(e,t)}),rde=r=>vt({test:(e,t)=>e===null?!0:r(e,t)}),ide=r=>vt({test:(e,t)=>e.length>=r?!0:mt(t,`Expected to have a length of at least ${r} elements (got ${e.length})`)}),nde=r=>vt({test:(e,t)=>e.length<=r?!0:mt(t,`Expected to have a length of at most ${r} elements (got ${e.length})`)}),hK=r=>vt({test:(e,t)=>e.length!==r?mt(t,`Expected to have a length of exactly ${r} elements (got ${e.length})`):!0}),sde=({map:r}={})=>vt({test:(e,t)=>{let i=new Set,n=new Set;for(let s=0,o=e.length;s<o;++s){let a=e[s],l=typeof r!=\"undefined\"?r(a):a;if(i.has(l)){if(n.has(l))continue;mt(t,`Expected to contain unique elements; got a duplicate with ${ti(e)}`),n.add(l)}else i.add(l)}return n.size===0}}),ode=()=>vt({test:(r,e)=>r<=0?!0:mt(e,`Expected to be negative (got ${r})`)}),ade=()=>vt({test:(r,e)=>r>=0?!0:mt(e,`Expected to be positive (got ${r})`)}),Ade=r=>vt({test:(e,t)=>e>=r?!0:mt(t,`Expected to be at least ${r} (got ${e})`)}),lde=r=>vt({test:(e,t)=>e<=r?!0:mt(t,`Expected to be at most ${r} (got ${e})`)}),cde=(r,e)=>vt({test:(t,i)=>t>=r&&t<=e?!0:mt(i,`Expected to be in the [${r}; ${e}] range (got ${t})`)}),ude=(r,e)=>vt({test:(t,i)=>t>=r&&t<e?!0:mt(i,`Expected to be in the [${r}; ${e}[ range (got ${t})`)}),gde=({unsafe:r=!1}={})=>vt({test:(e,t)=>e!==Math.round(e)?mt(t,`Expected to be an integer (got ${e})`):Number.isSafeInteger(e)?!0:mt(t,`Expected to be a safe integer (got ${e})`)}),pp=r=>vt({test:(e,t)=>r.test(e)?!0:mt(t,`Expected to match the pattern ${r.toString()} (got ${ti(e)})`)}),fde=()=>vt({test:(r,e)=>r!==r.toLowerCase()?mt(e,`Expected to be all-lowercase (got ${r})`):!0}),hde=()=>vt({test:(r,e)=>r!==r.toUpperCase()?mt(e,`Expected to be all-uppercase (got ${r})`):!0}),pde=()=>vt({test:(r,e)=>cK.test(r)?!0:mt(e,`Expected to be a valid UUID v4 (got ${ti(r)})`)}),dde=()=>vt({test:(r,e)=>eS.test(r)?!1:mt(e,`Expected to be a valid ISO 8601 date string (got ${ti(r)})`)}),Cde=({alpha:r=!1})=>vt({test:(e,t)=>(r?aK.test(e):AK.test(e))?!0:mt(t,`Expected to be a valid hexadecimal color string (got ${ti(e)})`)}),mde=()=>vt({test:(r,e)=>lK.test(r)?!0:mt(e,`Expected to be a valid base 64 string (got ${ti(r)})`)}),Ede=(r=fK())=>vt({test:(e,t)=>{let i;try{i=JSON.parse(e)}catch(n){return mt(t,`Expected to be a valid JSON string (got ${ti(e)})`)}return r(i,t)}}),Ide=r=>{let e=new Set(r);return vt({test:(t,i)=>{let n=new Set(Object.keys(t)),s=[];for(let o of e)n.has(o)||s.push(o);return s.length>0?mt(i,`Missing required ${pI(s.length,\"property\",\"properties\")} ${s.map(o=>`\"${o}\"`).join(\", \")}`):!0}})},yde=r=>{let e=new Set(r);return vt({test:(t,i)=>{let n=new Set(Object.keys(t)),s=[];for(let o of e)n.has(o)&&s.push(o);return s.length>0?mt(i,`Forbidden ${pI(s.length,\"property\",\"properties\")} ${s.map(o=>`\"${o}\"`).join(\", \")}`):!0}})},wde=r=>{let e=new Set(r);return vt({test:(t,i)=>{let n=new Set(Object.keys(t)),s=[];for(let o of e)n.has(o)&&s.push(o);return s.length>1?mt(i,`Mutually exclusive properties ${s.map(o=>`\"${o}\"`).join(\", \")}`):!0}})};(function(r){r.Forbids=\"Forbids\",r.Requires=\"Requires\"})(bc||(bc={}));Bde={[bc.Forbids]:{expect:!1,message:\"forbids using\"},[bc.Requires]:{expect:!0,message:\"requires using\"}},tS=(r,e,t,{ignore:i=[]}={})=>{let n=new Set(i),s=new Set(t),o=Bde[e];return vt({test:(a,l)=>{let c=new Set(Object.keys(a));if(!c.has(r)||n.has(a[r]))return!0;let u=[];for(let g of s)(c.has(g)&&!n.has(a[g]))!==o.expect&&u.push(g);return u.length>=1?mt(l,`Property \"${r}\" ${o.message} ${pI(u.length,\"property\",\"properties\")} ${u.map(g=>`\"${g}\"`).join(\", \")}`):!0}})}});var FK=w((mZe,RK)=>{\"use strict\";RK.exports=(r,...e)=>new Promise(t=>{t(r(...e))})});var fg=w((EZe,AS)=>{\"use strict\";var Kde=FK(),NK=r=>{if(r<1)throw new TypeError(\"Expected `concurrency` to be a number from 1 and up\");let e=[],t=0,i=()=>{t--,e.length>0&&e.shift()()},n=(a,l,...c)=>{t++;let u=Kde(a,...c);l(u),u.then(i,i)},s=(a,l,...c)=>{t<r?n(a,l,...c):e.push(n.bind(null,a,l,...c))},o=(a,...l)=>new Promise(c=>s(a,c,...l));return Object.defineProperties(o,{activeCount:{get:()=>t},pendingCount:{get:()=>e.length}}),o};AS.exports=NK;AS.exports.default=NK});var Ep=w((yZe,LK)=>{var Hde=\"2.0.0\",jde=256,Gde=Number.MAX_SAFE_INTEGER||9007199254740991,Yde=16;LK.exports={SEMVER_SPEC_VERSION:Hde,MAX_LENGTH:jde,MAX_SAFE_INTEGER:Gde,MAX_SAFE_COMPONENT_LENGTH:Yde}});var Ip=w((wZe,TK)=>{var qde=typeof process==\"object\"&&process.env&&process.env.NODE_DEBUG&&/\\bsemver\\b/i.test(process.env.NODE_DEBUG)?(...r)=>console.error(\"SEMVER\",...r):()=>{};TK.exports=qde});var Qc=w((XA,OK)=>{var{MAX_SAFE_COMPONENT_LENGTH:lS}=Ep(),Jde=Ip();XA=OK.exports={};var Wde=XA.re=[],rt=XA.src=[],it=XA.t={},zde=0,kt=(r,e,t)=>{let i=zde++;Jde(i,e),it[r]=i,rt[i]=e,Wde[i]=new RegExp(e,t?\"g\":void 0)};kt(\"NUMERICIDENTIFIER\",\"0|[1-9]\\\\d*\");kt(\"NUMERICIDENTIFIERLOOSE\",\"[0-9]+\");kt(\"NONNUMERICIDENTIFIER\",\"\\\\d*[a-zA-Z-][a-zA-Z0-9-]*\");kt(\"MAINVERSION\",`(${rt[it.NUMERICIDENTIFIER]})\\\\.(${rt[it.NUMERICIDENTIFIER]})\\\\.(${rt[it.NUMERICIDENTIFIER]})`);kt(\"MAINVERSIONLOOSE\",`(${rt[it.NUMERICIDENTIFIERLOOSE]})\\\\.(${rt[it.NUMERICIDENTIFIERLOOSE]})\\\\.(${rt[it.NUMERICIDENTIFIERLOOSE]})`);kt(\"PRERELEASEIDENTIFIER\",`(?:${rt[it.NUMERICIDENTIFIER]}|${rt[it.NONNUMERICIDENTIFIER]})`);kt(\"PRERELEASEIDENTIFIERLOOSE\",`(?:${rt[it.NUMERICIDENTIFIERLOOSE]}|${rt[it.NONNUMERICIDENTIFIER]})`);kt(\"PRERELEASE\",`(?:-(${rt[it.PRERELEASEIDENTIFIER]}(?:\\\\.${rt[it.PRERELEASEIDENTIFIER]})*))`);kt(\"PRERELEASELOOSE\",`(?:-?(${rt[it.PRERELEASEIDENTIFIERLOOSE]}(?:\\\\.${rt[it.PRERELEASEIDENTIFIERLOOSE]})*))`);kt(\"BUILDIDENTIFIER\",\"[0-9A-Za-z-]+\");kt(\"BUILD\",`(?:\\\\+(${rt[it.BUILDIDENTIFIER]}(?:\\\\.${rt[it.BUILDIDENTIFIER]})*))`);kt(\"FULLPLAIN\",`v?${rt[it.MAINVERSION]}${rt[it.PRERELEASE]}?${rt[it.BUILD]}?`);kt(\"FULL\",`^${rt[it.FULLPLAIN]}$`);kt(\"LOOSEPLAIN\",`[v=\\\\s]*${rt[it.MAINVERSIONLOOSE]}${rt[it.PRERELEASELOOSE]}?${rt[it.BUILD]}?`);kt(\"LOOSE\",`^${rt[it.LOOSEPLAIN]}$`);kt(\"GTLT\",\"((?:<|>)?=?)\");kt(\"XRANGEIDENTIFIERLOOSE\",`${rt[it.NUMERICIDENTIFIERLOOSE]}|x|X|\\\\*`);kt(\"XRANGEIDENTIFIER\",`${rt[it.NUMERICIDENTIFIER]}|x|X|\\\\*`);kt(\"XRANGEPLAIN\",`[v=\\\\s]*(${rt[it.XRANGEIDENTIFIER]})(?:\\\\.(${rt[it.XRANGEIDENTIFIER]})(?:\\\\.(${rt[it.XRANGEIDENTIFIER]})(?:${rt[it.PRERELEASE]})?${rt[it.BUILD]}?)?)?`);kt(\"XRANGEPLAINLOOSE\",`[v=\\\\s]*(${rt[it.XRANGEIDENTIFIERLOOSE]})(?:\\\\.(${rt[it.XRANGEIDENTIFIERLOOSE]})(?:\\\\.(${rt[it.XRANGEIDENTIFIERLOOSE]})(?:${rt[it.PRERELEASELOOSE]})?${rt[it.BUILD]}?)?)?`);kt(\"XRANGE\",`^${rt[it.GTLT]}\\\\s*${rt[it.XRANGEPLAIN]}$`);kt(\"XRANGELOOSE\",`^${rt[it.GTLT]}\\\\s*${rt[it.XRANGEPLAINLOOSE]}$`);kt(\"COERCE\",`(^|[^\\\\d])(\\\\d{1,${lS}})(?:\\\\.(\\\\d{1,${lS}}))?(?:\\\\.(\\\\d{1,${lS}}))?(?:$|[^\\\\d])`);kt(\"COERCERTL\",rt[it.COERCE],!0);kt(\"LONETILDE\",\"(?:~>?)\");kt(\"TILDETRIM\",`(\\\\s*)${rt[it.LONETILDE]}\\\\s+`,!0);XA.tildeTrimReplace=\"$1~\";kt(\"TILDE\",`^${rt[it.LONETILDE]}${rt[it.XRANGEPLAIN]}$`);kt(\"TILDELOOSE\",`^${rt[it.LONETILDE]}${rt[it.XRANGEPLAINLOOSE]}$`);kt(\"LONECARET\",\"(?:\\\\^)\");kt(\"CARETTRIM\",`(\\\\s*)${rt[it.LONECARET]}\\\\s+`,!0);XA.caretTrimReplace=\"$1^\";kt(\"CARET\",`^${rt[it.LONECARET]}${rt[it.XRANGEPLAIN]}$`);kt(\"CARETLOOSE\",`^${rt[it.LONECARET]}${rt[it.XRANGEPLAINLOOSE]}$`);kt(\"COMPARATORLOOSE\",`^${rt[it.GTLT]}\\\\s*(${rt[it.LOOSEPLAIN]})$|^$`);kt(\"COMPARATOR\",`^${rt[it.GTLT]}\\\\s*(${rt[it.FULLPLAIN]})$|^$`);kt(\"COMPARATORTRIM\",`(\\\\s*)${rt[it.GTLT]}\\\\s*(${rt[it.LOOSEPLAIN]}|${rt[it.XRANGEPLAIN]})`,!0);XA.comparatorTrimReplace=\"$1$2$3\";kt(\"HYPHENRANGE\",`^\\\\s*(${rt[it.XRANGEPLAIN]})\\\\s+-\\\\s+(${rt[it.XRANGEPLAIN]})\\\\s*$`);kt(\"HYPHENRANGELOOSE\",`^\\\\s*(${rt[it.XRANGEPLAINLOOSE]})\\\\s+-\\\\s+(${rt[it.XRANGEPLAINLOOSE]})\\\\s*$`);kt(\"STAR\",\"(<|>)?=?\\\\s*\\\\*\");kt(\"GTE0\",\"^\\\\s*>=\\\\s*0.0.0\\\\s*$\");kt(\"GTE0PRE\",\"^\\\\s*>=\\\\s*0.0.0-0\\\\s*$\")});var yp=w((BZe,MK)=>{var _de=[\"includePrerelease\",\"loose\",\"rtl\"],Vde=r=>r?typeof r!=\"object\"?{loose:!0}:_de.filter(e=>r[e]).reduce((e,t)=>(e[t]=!0,e),{}):{};MK.exports=Vde});var wI=w((bZe,UK)=>{var KK=/^[0-9]+$/,HK=(r,e)=>{let t=KK.test(r),i=KK.test(e);return t&&i&&(r=+r,e=+e),r===e?0:t&&!i?-1:i&&!t?1:r<e?-1:1},Xde=(r,e)=>HK(e,r);UK.exports={compareIdentifiers:HK,rcompareIdentifiers:Xde}});var Hi=w((QZe,jK)=>{var BI=Ip(),{MAX_LENGTH:GK,MAX_SAFE_INTEGER:bI}=Ep(),{re:YK,t:qK}=Qc(),Zde=yp(),{compareIdentifiers:wp}=wI(),bs=class{constructor(e,t){if(t=Zde(t),e instanceof bs){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if(typeof e!=\"string\")throw new TypeError(`Invalid Version: ${e}`);if(e.length>GK)throw new TypeError(`version is longer than ${GK} characters`);BI(\"SemVer\",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;let i=e.trim().match(t.loose?YK[qK.LOOSE]:YK[qK.FULL]);if(!i)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+i[1],this.minor=+i[2],this.patch=+i[3],this.major>bI||this.major<0)throw new TypeError(\"Invalid major version\");if(this.minor>bI||this.minor<0)throw new TypeError(\"Invalid minor version\");if(this.patch>bI||this.patch<0)throw new TypeError(\"Invalid patch version\");i[4]?this.prerelease=i[4].split(\".\").map(n=>{if(/^[0-9]+$/.test(n)){let s=+n;if(s>=0&&s<bI)return s}return n}):this.prerelease=[],this.build=i[5]?i[5].split(\".\"):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(\".\")}`),this.version}toString(){return this.version}compare(e){if(BI(\"SemVer.compare\",this.version,this.options,e),!(e instanceof bs)){if(typeof e==\"string\"&&e===this.version)return 0;e=new bs(e,this.options)}return e.version===this.version?0:this.compareMain(e)||this.comparePre(e)}compareMain(e){return e instanceof bs||(e=new bs(e,this.options)),wp(this.major,e.major)||wp(this.minor,e.minor)||wp(this.patch,e.patch)}comparePre(e){if(e instanceof bs||(e=new bs(e,this.options)),this.prerelease.length&&!e.prerelease.length)return-1;if(!this.prerelease.length&&e.prerelease.length)return 1;if(!this.prerelease.length&&!e.prerelease.length)return 0;let t=0;do{let i=this.prerelease[t],n=e.prerelease[t];if(BI(\"prerelease compare\",t,i,n),i===void 0&&n===void 0)return 0;if(n===void 0)return 1;if(i===void 0)return-1;if(i===n)continue;return wp(i,n)}while(++t)}compareBuild(e){e instanceof bs||(e=new bs(e,this.options));let t=0;do{let i=this.build[t],n=e.build[t];if(BI(\"prerelease compare\",t,i,n),i===void 0&&n===void 0)return 0;if(n===void 0)return 1;if(i===void 0)return-1;if(i===n)continue;return wp(i,n)}while(++t)}inc(e,t){switch(e){case\"premajor\":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc(\"pre\",t);break;case\"preminor\":this.prerelease.length=0,this.patch=0,this.minor++,this.inc(\"pre\",t);break;case\"prepatch\":this.prerelease.length=0,this.inc(\"patch\",t),this.inc(\"pre\",t);break;case\"prerelease\":this.prerelease.length===0&&this.inc(\"patch\",t),this.inc(\"pre\",t);break;case\"major\":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case\"minor\":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case\"patch\":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case\"pre\":if(this.prerelease.length===0)this.prerelease=[0];else{let i=this.prerelease.length;for(;--i>=0;)typeof this.prerelease[i]==\"number\"&&(this.prerelease[i]++,i=-2);i===-1&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error(`invalid increment argument: ${e}`)}return this.format(),this.raw=this.version,this}};jK.exports=bs});var Sc=w((SZe,JK)=>{var{MAX_LENGTH:$de}=Ep(),{re:WK,t:zK}=Qc(),_K=Hi(),eCe=yp(),tCe=(r,e)=>{if(e=eCe(e),r instanceof _K)return r;if(typeof r!=\"string\"||r.length>$de||!(e.loose?WK[zK.LOOSE]:WK[zK.FULL]).test(r))return null;try{return new _K(r,e)}catch(i){return null}};JK.exports=tCe});var XK=w((vZe,VK)=>{var rCe=Sc(),iCe=(r,e)=>{let t=rCe(r,e);return t?t.version:null};VK.exports=iCe});var $K=w((kZe,ZK)=>{var nCe=Sc(),sCe=(r,e)=>{let t=nCe(r.trim().replace(/^[=v]+/,\"\"),e);return t?t.version:null};ZK.exports=sCe});var t2=w((xZe,e2)=>{var oCe=Hi(),aCe=(r,e,t,i)=>{typeof t==\"string\"&&(i=t,t=void 0);try{return new oCe(r,t).inc(e,i).version}catch(n){return null}};e2.exports=aCe});var Qs=w((PZe,r2)=>{var i2=Hi(),ACe=(r,e,t)=>new i2(r,t).compare(new i2(e,t));r2.exports=ACe});var QI=w((DZe,n2)=>{var lCe=Qs(),cCe=(r,e,t)=>lCe(r,e,t)===0;n2.exports=cCe});var a2=w((RZe,s2)=>{var o2=Sc(),uCe=QI(),gCe=(r,e)=>{if(uCe(r,e))return null;{let t=o2(r),i=o2(e),n=t.prerelease.length||i.prerelease.length,s=n?\"pre\":\"\",o=n?\"prerelease\":\"\";for(let a in t)if((a===\"major\"||a===\"minor\"||a===\"patch\")&&t[a]!==i[a])return s+a;return o}};s2.exports=gCe});var l2=w((FZe,A2)=>{var fCe=Hi(),hCe=(r,e)=>new fCe(r,e).major;A2.exports=hCe});var u2=w((NZe,c2)=>{var pCe=Hi(),dCe=(r,e)=>new pCe(r,e).minor;c2.exports=dCe});var f2=w((LZe,g2)=>{var CCe=Hi(),mCe=(r,e)=>new CCe(r,e).patch;g2.exports=mCe});var p2=w((TZe,h2)=>{var ECe=Sc(),ICe=(r,e)=>{let t=ECe(r,e);return t&&t.prerelease.length?t.prerelease:null};h2.exports=ICe});var C2=w((OZe,d2)=>{var yCe=Qs(),wCe=(r,e,t)=>yCe(e,r,t);d2.exports=wCe});var E2=w((MZe,m2)=>{var BCe=Qs(),bCe=(r,e)=>BCe(r,e,!0);m2.exports=bCe});var SI=w((UZe,I2)=>{var y2=Hi(),QCe=(r,e,t)=>{let i=new y2(r,t),n=new y2(e,t);return i.compare(n)||i.compareBuild(n)};I2.exports=QCe});var B2=w((KZe,w2)=>{var SCe=SI(),vCe=(r,e)=>r.sort((t,i)=>SCe(t,i,e));w2.exports=vCe});var Q2=w((HZe,b2)=>{var kCe=SI(),xCe=(r,e)=>r.sort((t,i)=>kCe(i,t,e));b2.exports=xCe});var Bp=w((jZe,S2)=>{var PCe=Qs(),DCe=(r,e,t)=>PCe(r,e,t)>0;S2.exports=DCe});var vI=w((GZe,v2)=>{var RCe=Qs(),FCe=(r,e,t)=>RCe(r,e,t)<0;v2.exports=FCe});var cS=w((YZe,k2)=>{var NCe=Qs(),LCe=(r,e,t)=>NCe(r,e,t)!==0;k2.exports=LCe});var kI=w((qZe,x2)=>{var TCe=Qs(),OCe=(r,e,t)=>TCe(r,e,t)>=0;x2.exports=OCe});var xI=w((JZe,P2)=>{var MCe=Qs(),UCe=(r,e,t)=>MCe(r,e,t)<=0;P2.exports=UCe});var uS=w((WZe,D2)=>{var KCe=QI(),HCe=cS(),jCe=Bp(),GCe=kI(),YCe=vI(),qCe=xI(),JCe=(r,e,t,i)=>{switch(e){case\"===\":return typeof r==\"object\"&&(r=r.version),typeof t==\"object\"&&(t=t.version),r===t;case\"!==\":return typeof r==\"object\"&&(r=r.version),typeof t==\"object\"&&(t=t.version),r!==t;case\"\":case\"=\":case\"==\":return KCe(r,t,i);case\"!=\":return HCe(r,t,i);case\">\":return jCe(r,t,i);case\">=\":return GCe(r,t,i);case\"<\":return YCe(r,t,i);case\"<=\":return qCe(r,t,i);default:throw new TypeError(`Invalid operator: ${e}`)}};D2.exports=JCe});var F2=w((zZe,R2)=>{var WCe=Hi(),zCe=Sc(),{re:PI,t:DI}=Qc(),_Ce=(r,e)=>{if(r instanceof WCe)return r;if(typeof r==\"number\"&&(r=String(r)),typeof r!=\"string\")return null;e=e||{};let t=null;if(!e.rtl)t=r.match(PI[DI.COERCE]);else{let i;for(;(i=PI[DI.COERCERTL].exec(r))&&(!t||t.index+t[0].length!==r.length);)(!t||i.index+i[0].length!==t.index+t[0].length)&&(t=i),PI[DI.COERCERTL].lastIndex=i.index+i[1].length+i[2].length;PI[DI.COERCERTL].lastIndex=-1}return t===null?null:zCe(`${t[2]}.${t[3]||\"0\"}.${t[4]||\"0\"}`,e)};R2.exports=_Ce});var L2=w((_Ze,N2)=>{\"use strict\";N2.exports=function(r){r.prototype[Symbol.iterator]=function*(){for(let e=this.head;e;e=e.next)yield e.value}}});var bp=w((VZe,T2)=>{\"use strict\";T2.exports=Gt;Gt.Node=vc;Gt.create=Gt;function Gt(r){var e=this;if(e instanceof Gt||(e=new Gt),e.tail=null,e.head=null,e.length=0,r&&typeof r.forEach==\"function\")r.forEach(function(n){e.push(n)});else if(arguments.length>0)for(var t=0,i=arguments.length;t<i;t++)e.push(arguments[t]);return e}Gt.prototype.removeNode=function(r){if(r.list!==this)throw new Error(\"removing node which does not belong to this list\");var e=r.next,t=r.prev;return e&&(e.prev=t),t&&(t.next=e),r===this.head&&(this.head=e),r===this.tail&&(this.tail=t),r.list.length--,r.next=null,r.prev=null,r.list=null,e};Gt.prototype.unshiftNode=function(r){if(r!==this.head){r.list&&r.list.removeNode(r);var e=this.head;r.list=this,r.next=e,e&&(e.prev=r),this.head=r,this.tail||(this.tail=r),this.length++}};Gt.prototype.pushNode=function(r){if(r!==this.tail){r.list&&r.list.removeNode(r);var e=this.tail;r.list=this,r.prev=e,e&&(e.next=r),this.tail=r,this.head||(this.head=r),this.length++}};Gt.prototype.push=function(){for(var r=0,e=arguments.length;r<e;r++)VCe(this,arguments[r]);return this.length};Gt.prototype.unshift=function(){for(var r=0,e=arguments.length;r<e;r++)XCe(this,arguments[r]);return this.length};Gt.prototype.pop=function(){if(!!this.tail){var r=this.tail.value;return this.tail=this.tail.prev,this.tail?this.tail.next=null:this.head=null,this.length--,r}};Gt.prototype.shift=function(){if(!!this.head){var r=this.head.value;return this.head=this.head.next,this.head?this.head.prev=null:this.tail=null,this.length--,r}};Gt.prototype.forEach=function(r,e){e=e||this;for(var t=this.head,i=0;t!==null;i++)r.call(e,t.value,i,this),t=t.next};Gt.prototype.forEachReverse=function(r,e){e=e||this;for(var t=this.tail,i=this.length-1;t!==null;i--)r.call(e,t.value,i,this),t=t.prev};Gt.prototype.get=function(r){for(var e=0,t=this.head;t!==null&&e<r;e++)t=t.next;if(e===r&&t!==null)return t.value};Gt.prototype.getReverse=function(r){for(var e=0,t=this.tail;t!==null&&e<r;e++)t=t.prev;if(e===r&&t!==null)return t.value};Gt.prototype.map=function(r,e){e=e||this;for(var t=new Gt,i=this.head;i!==null;)t.push(r.call(e,i.value,this)),i=i.next;return t};Gt.prototype.mapReverse=function(r,e){e=e||this;for(var t=new Gt,i=this.tail;i!==null;)t.push(r.call(e,i.value,this)),i=i.prev;return t};Gt.prototype.reduce=function(r,e){var t,i=this.head;if(arguments.length>1)t=e;else if(this.head)i=this.head.next,t=this.head.value;else throw new TypeError(\"Reduce of empty list with no initial value\");for(var n=0;i!==null;n++)t=r(t,i.value,n),i=i.next;return t};Gt.prototype.reduceReverse=function(r,e){var t,i=this.tail;if(arguments.length>1)t=e;else if(this.tail)i=this.tail.prev,t=this.tail.value;else throw new TypeError(\"Reduce of empty list with no initial value\");for(var n=this.length-1;i!==null;n--)t=r(t,i.value,n),i=i.prev;return t};Gt.prototype.toArray=function(){for(var r=new Array(this.length),e=0,t=this.head;t!==null;e++)r[e]=t.value,t=t.next;return r};Gt.prototype.toArrayReverse=function(){for(var r=new Array(this.length),e=0,t=this.tail;t!==null;e++)r[e]=t.value,t=t.prev;return r};Gt.prototype.slice=function(r,e){e=e||this.length,e<0&&(e+=this.length),r=r||0,r<0&&(r+=this.length);var t=new Gt;if(e<r||e<0)return t;r<0&&(r=0),e>this.length&&(e=this.length);for(var i=0,n=this.head;n!==null&&i<r;i++)n=n.next;for(;n!==null&&i<e;i++,n=n.next)t.push(n.value);return t};Gt.prototype.sliceReverse=function(r,e){e=e||this.length,e<0&&(e+=this.length),r=r||0,r<0&&(r+=this.length);var t=new Gt;if(e<r||e<0)return t;r<0&&(r=0),e>this.length&&(e=this.length);for(var i=this.length,n=this.tail;n!==null&&i>e;i--)n=n.prev;for(;n!==null&&i>r;i--,n=n.prev)t.push(n.value);return t};Gt.prototype.splice=function(r,e,...t){r>this.length&&(r=this.length-1),r<0&&(r=this.length+r);for(var i=0,n=this.head;n!==null&&i<r;i++)n=n.next;for(var s=[],i=0;n&&i<e;i++)s.push(n.value),n=this.removeNode(n);n===null&&(n=this.tail),n!==this.head&&n!==this.tail&&(n=n.prev);for(var i=0;i<t.length;i++)n=ZCe(this,n,t[i]);return s};Gt.prototype.reverse=function(){for(var r=this.head,e=this.tail,t=r;t!==null;t=t.prev){var i=t.prev;t.prev=t.next,t.next=i}return this.head=e,this.tail=r,this};function ZCe(r,e,t){var i=e===r.head?new vc(t,null,e,r):new vc(t,e,e.next,r);return i.next===null&&(r.tail=i),i.prev===null&&(r.head=i),r.length++,i}function VCe(r,e){r.tail=new vc(e,r.tail,null,r),r.head||(r.head=r.tail),r.length++}function XCe(r,e){r.head=new vc(e,null,r.head,r),r.tail||(r.tail=r.head),r.length++}function vc(r,e,t,i){if(!(this instanceof vc))return new vc(r,e,t,i);this.list=i,this.value=r,e?(e.next=this,this.prev=e):this.prev=null,t?(t.prev=this,this.next=t):this.next=null}try{L2()(Gt)}catch(r){}});var G2=w((XZe,O2)=>{\"use strict\";var $Ce=bp(),kc=Symbol(\"max\"),Ha=Symbol(\"length\"),hg=Symbol(\"lengthCalculator\"),Qp=Symbol(\"allowStale\"),xc=Symbol(\"maxAge\"),ja=Symbol(\"dispose\"),M2=Symbol(\"noDisposeOnSet\"),yi=Symbol(\"lruList\"),Ao=Symbol(\"cache\"),U2=Symbol(\"updateAgeOnGet\"),gS=()=>1,K2=class{constructor(e){if(typeof e==\"number\"&&(e={max:e}),e||(e={}),e.max&&(typeof e.max!=\"number\"||e.max<0))throw new TypeError(\"max must be a non-negative number\");let t=this[kc]=e.max||Infinity,i=e.length||gS;if(this[hg]=typeof i!=\"function\"?gS:i,this[Qp]=e.stale||!1,e.maxAge&&typeof e.maxAge!=\"number\")throw new TypeError(\"maxAge must be a number\");this[xc]=e.maxAge||0,this[ja]=e.dispose,this[M2]=e.noDisposeOnSet||!1,this[U2]=e.updateAgeOnGet||!1,this.reset()}set max(e){if(typeof e!=\"number\"||e<0)throw new TypeError(\"max must be a non-negative number\");this[kc]=e||Infinity,Sp(this)}get max(){return this[kc]}set allowStale(e){this[Qp]=!!e}get allowStale(){return this[Qp]}set maxAge(e){if(typeof e!=\"number\")throw new TypeError(\"maxAge must be a non-negative number\");this[xc]=e,Sp(this)}get maxAge(){return this[xc]}set lengthCalculator(e){typeof e!=\"function\"&&(e=gS),e!==this[hg]&&(this[hg]=e,this[Ha]=0,this[yi].forEach(t=>{t.length=this[hg](t.value,t.key),this[Ha]+=t.length})),Sp(this)}get lengthCalculator(){return this[hg]}get length(){return this[Ha]}get itemCount(){return this[yi].length}rforEach(e,t){t=t||this;for(let i=this[yi].tail;i!==null;){let n=i.prev;j2(this,e,i,t),i=n}}forEach(e,t){t=t||this;for(let i=this[yi].head;i!==null;){let n=i.next;j2(this,e,i,t),i=n}}keys(){return this[yi].toArray().map(e=>e.key)}values(){return this[yi].toArray().map(e=>e.value)}reset(){this[ja]&&this[yi]&&this[yi].length&&this[yi].forEach(e=>this[ja](e.key,e.value)),this[Ao]=new Map,this[yi]=new $Ce,this[Ha]=0}dump(){return this[yi].map(e=>RI(this,e)?!1:{k:e.key,v:e.value,e:e.now+(e.maxAge||0)}).toArray().filter(e=>e)}dumpLru(){return this[yi]}set(e,t,i){if(i=i||this[xc],i&&typeof i!=\"number\")throw new TypeError(\"maxAge must be a number\");let n=i?Date.now():0,s=this[hg](t,e);if(this[Ao].has(e)){if(s>this[kc])return pg(this,this[Ao].get(e)),!1;let l=this[Ao].get(e).value;return this[ja]&&(this[M2]||this[ja](e,l.value)),l.now=n,l.maxAge=i,l.value=t,this[Ha]+=s-l.length,l.length=s,this.get(e),Sp(this),!0}let o=new H2(e,t,s,n,i);return o.length>this[kc]?(this[ja]&&this[ja](e,t),!1):(this[Ha]+=o.length,this[yi].unshift(o),this[Ao].set(e,this[yi].head),Sp(this),!0)}has(e){if(!this[Ao].has(e))return!1;let t=this[Ao].get(e).value;return!RI(this,t)}get(e){return fS(this,e,!0)}peek(e){return fS(this,e,!1)}pop(){let e=this[yi].tail;return e?(pg(this,e),e.value):null}del(e){pg(this,this[Ao].get(e))}load(e){this.reset();let t=Date.now();for(let i=e.length-1;i>=0;i--){let n=e[i],s=n.e||0;if(s===0)this.set(n.k,n.v);else{let o=s-t;o>0&&this.set(n.k,n.v,o)}}}prune(){this[Ao].forEach((e,t)=>fS(this,t,!1))}},fS=(r,e,t)=>{let i=r[Ao].get(e);if(i){let n=i.value;if(RI(r,n)){if(pg(r,i),!r[Qp])return}else t&&(r[U2]&&(i.value.now=Date.now()),r[yi].unshiftNode(i));return n.value}},RI=(r,e)=>{if(!e||!e.maxAge&&!r[xc])return!1;let t=Date.now()-e.now;return e.maxAge?t>e.maxAge:r[xc]&&t>r[xc]},Sp=r=>{if(r[Ha]>r[kc])for(let e=r[yi].tail;r[Ha]>r[kc]&&e!==null;){let t=e.prev;pg(r,e),e=t}},pg=(r,e)=>{if(e){let t=e.value;r[ja]&&r[ja](t.key,t.value),r[Ha]-=t.length,r[Ao].delete(t.key),r[yi].removeNode(e)}},H2=class{constructor(e,t,i,n,s){this.key=e,this.value=t,this.length=i,this.now=n,this.maxAge=s||0}},j2=(r,e,t,i)=>{let n=t.value;RI(r,n)&&(pg(r,t),r[Qp]||(n=void 0)),n&&e.call(i,n.value,n.key,r)};O2.exports=K2});var Ss=w((ZZe,Y2)=>{var dg=class{constructor(e,t){if(t=eme(t),e instanceof dg)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new dg(e.raw,t);if(e instanceof hS)return this.raw=e.value,this.set=[[e]],this.format(),this;if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e,this.set=e.split(/\\s*\\|\\|\\s*/).map(i=>this.parseRange(i.trim())).filter(i=>i.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${e}`);if(this.set.length>1){let i=this.set[0];if(this.set=this.set.filter(n=>!J2(n[0])),this.set.length===0)this.set=[i];else if(this.set.length>1){for(let n of this.set)if(n.length===1&&sme(n[0])){this.set=[n];break}}}this.format()}format(){return this.range=this.set.map(e=>e.join(\" \").trim()).join(\"||\").trim(),this.range}toString(){return this.range}parseRange(e){e=e.trim();let i=`parseRange:${Object.keys(this.options).join(\",\")}:${e}`,n=q2.get(i);if(n)return n;let s=this.options.loose,o=s?ji[xi.HYPHENRANGELOOSE]:ji[xi.HYPHENRANGE];e=e.replace(o,Ame(this.options.includePrerelease)),zr(\"hyphen replace\",e),e=e.replace(ji[xi.COMPARATORTRIM],rme),zr(\"comparator trim\",e,ji[xi.COMPARATORTRIM]),e=e.replace(ji[xi.TILDETRIM],ime),e=e.replace(ji[xi.CARETTRIM],nme),e=e.split(/\\s+/).join(\" \");let a=s?ji[xi.COMPARATORLOOSE]:ji[xi.COMPARATOR],l=e.split(\" \").map(f=>ome(f,this.options)).join(\" \").split(/\\s+/).map(f=>ame(f,this.options)).filter(this.options.loose?f=>!!f.match(a):()=>!0).map(f=>new hS(f,this.options)),c=l.length,u=new Map;for(let f of l){if(J2(f))return[f];u.set(f.value,f)}u.size>1&&u.has(\"\")&&u.delete(\"\");let g=[...u.values()];return q2.set(i,g),g}intersects(e,t){if(!(e instanceof dg))throw new TypeError(\"a Range is required\");return this.set.some(i=>W2(i,t)&&e.set.some(n=>W2(n,t)&&i.every(s=>n.every(o=>s.intersects(o,t)))))}test(e){if(!e)return!1;if(typeof e==\"string\")try{e=new tme(e,this.options)}catch(t){return!1}for(let t=0;t<this.set.length;t++)if(lme(this.set[t],e,this.options))return!0;return!1}};Y2.exports=dg;var cme=G2(),q2=new cme({max:1e3}),eme=yp(),hS=vp(),zr=Ip(),tme=Hi(),{re:ji,t:xi,comparatorTrimReplace:rme,tildeTrimReplace:ime,caretTrimReplace:nme}=Qc(),J2=r=>r.value===\"<0.0.0-0\",sme=r=>r.value===\"\",W2=(r,e)=>{let t=!0,i=r.slice(),n=i.pop();for(;t&&i.length;)t=i.every(s=>n.intersects(s,e)),n=i.pop();return t},ome=(r,e)=>(zr(\"comp\",r,e),r=gme(r,e),zr(\"caret\",r),r=ume(r,e),zr(\"tildes\",r),r=fme(r,e),zr(\"xrange\",r),r=hme(r,e),zr(\"stars\",r),r),on=r=>!r||r.toLowerCase()===\"x\"||r===\"*\",ume=(r,e)=>r.trim().split(/\\s+/).map(t=>pme(t,e)).join(\" \"),pme=(r,e)=>{let t=e.loose?ji[xi.TILDELOOSE]:ji[xi.TILDE];return r.replace(t,(i,n,s,o,a)=>{zr(\"tilde\",r,i,n,s,o,a);let l;return on(n)?l=\"\":on(s)?l=`>=${n}.0.0 <${+n+1}.0.0-0`:on(o)?l=`>=${n}.${s}.0 <${n}.${+s+1}.0-0`:a?(zr(\"replaceTilde pr\",a),l=`>=${n}.${s}.${o}-${a} <${n}.${+s+1}.0-0`):l=`>=${n}.${s}.${o} <${n}.${+s+1}.0-0`,zr(\"tilde return\",l),l})},gme=(r,e)=>r.trim().split(/\\s+/).map(t=>dme(t,e)).join(\" \"),dme=(r,e)=>{zr(\"caret\",r,e);let t=e.loose?ji[xi.CARETLOOSE]:ji[xi.CARET],i=e.includePrerelease?\"-0\":\"\";return r.replace(t,(n,s,o,a,l)=>{zr(\"caret\",r,n,s,o,a,l);let c;return on(s)?c=\"\":on(o)?c=`>=${s}.0.0${i} <${+s+1}.0.0-0`:on(a)?s===\"0\"?c=`>=${s}.${o}.0${i} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.0${i} <${+s+1}.0.0-0`:l?(zr(\"replaceCaret pr\",l),s===\"0\"?o===\"0\"?c=`>=${s}.${o}.${a}-${l} <${s}.${o}.${+a+1}-0`:c=`>=${s}.${o}.${a}-${l} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.${a}-${l} <${+s+1}.0.0-0`):(zr(\"no pr\"),s===\"0\"?o===\"0\"?c=`>=${s}.${o}.${a}${i} <${s}.${o}.${+a+1}-0`:c=`>=${s}.${o}.${a}${i} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.${a} <${+s+1}.0.0-0`),zr(\"caret return\",c),c})},fme=(r,e)=>(zr(\"replaceXRanges\",r,e),r.split(/\\s+/).map(t=>Cme(t,e)).join(\" \")),Cme=(r,e)=>{r=r.trim();let t=e.loose?ji[xi.XRANGELOOSE]:ji[xi.XRANGE];return r.replace(t,(i,n,s,o,a,l)=>{zr(\"xRange\",r,i,n,s,o,a,l);let c=on(s),u=c||on(o),g=u||on(a),f=g;return n===\"=\"&&f&&(n=\"\"),l=e.includePrerelease?\"-0\":\"\",c?n===\">\"||n===\"<\"?i=\"<0.0.0-0\":i=\"*\":n&&f?(u&&(o=0),a=0,n===\">\"?(n=\">=\",u?(s=+s+1,o=0,a=0):(o=+o+1,a=0)):n===\"<=\"&&(n=\"<\",u?s=+s+1:o=+o+1),n===\"<\"&&(l=\"-0\"),i=`${n+s}.${o}.${a}${l}`):u?i=`>=${s}.0.0${l} <${+s+1}.0.0-0`:g&&(i=`>=${s}.${o}.0${l} <${s}.${+o+1}.0-0`),zr(\"xRange return\",i),i})},hme=(r,e)=>(zr(\"replaceStars\",r,e),r.trim().replace(ji[xi.STAR],\"\")),ame=(r,e)=>(zr(\"replaceGTE0\",r,e),r.trim().replace(ji[e.includePrerelease?xi.GTE0PRE:xi.GTE0],\"\")),Ame=r=>(e,t,i,n,s,o,a,l,c,u,g,f,h)=>(on(i)?t=\"\":on(n)?t=`>=${i}.0.0${r?\"-0\":\"\"}`:on(s)?t=`>=${i}.${n}.0${r?\"-0\":\"\"}`:o?t=`>=${t}`:t=`>=${t}${r?\"-0\":\"\"}`,on(c)?l=\"\":on(u)?l=`<${+c+1}.0.0-0`:on(g)?l=`<${c}.${+u+1}.0-0`:f?l=`<=${c}.${u}.${g}-${f}`:r?l=`<${c}.${u}.${+g+1}-0`:l=`<=${l}`,`${t} ${l}`.trim()),lme=(r,e,t)=>{for(let i=0;i<r.length;i++)if(!r[i].test(e))return!1;if(e.prerelease.length&&!t.includePrerelease){for(let i=0;i<r.length;i++)if(zr(r[i].semver),r[i].semver!==hS.ANY&&r[i].semver.prerelease.length>0){let n=r[i].semver;if(n.major===e.major&&n.minor===e.minor&&n.patch===e.patch)return!0}return!1}return!0}});var vp=w(($Ze,z2)=>{var kp=Symbol(\"SemVer ANY\"),xp=class{static get ANY(){return kp}constructor(e,t){if(t=mme(t),e instanceof xp){if(e.loose===!!t.loose)return e;e=e.value}dS(\"comparator\",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.semver===kp?this.value=\"\":this.value=this.operator+this.semver.version,dS(\"comp\",this)}parse(e){let t=this.options.loose?_2[V2.COMPARATORLOOSE]:_2[V2.COMPARATOR],i=e.match(t);if(!i)throw new TypeError(`Invalid comparator: ${e}`);this.operator=i[1]!==void 0?i[1]:\"\",this.operator===\"=\"&&(this.operator=\"\"),i[2]?this.semver=new X2(i[2],this.options.loose):this.semver=kp}toString(){return this.value}test(e){if(dS(\"Comparator.test\",e,this.options.loose),this.semver===kp||e===kp)return!0;if(typeof e==\"string\")try{e=new X2(e,this.options)}catch(t){return!1}return pS(e,this.operator,this.semver,this.options)}intersects(e,t){if(!(e instanceof xp))throw new TypeError(\"a Comparator is required\");if((!t||typeof t!=\"object\")&&(t={loose:!!t,includePrerelease:!1}),this.operator===\"\")return this.value===\"\"?!0:new Z2(e.value,t).test(this.value);if(e.operator===\"\")return e.value===\"\"?!0:new Z2(this.value,t).test(e.semver);let i=(this.operator===\">=\"||this.operator===\">\")&&(e.operator===\">=\"||e.operator===\">\"),n=(this.operator===\"<=\"||this.operator===\"<\")&&(e.operator===\"<=\"||e.operator===\"<\"),s=this.semver.version===e.semver.version,o=(this.operator===\">=\"||this.operator===\"<=\")&&(e.operator===\">=\"||e.operator===\"<=\"),a=pS(this.semver,\"<\",e.semver,t)&&(this.operator===\">=\"||this.operator===\">\")&&(e.operator===\"<=\"||e.operator===\"<\"),l=pS(this.semver,\">\",e.semver,t)&&(this.operator===\"<=\"||this.operator===\"<\")&&(e.operator===\">=\"||e.operator===\">\");return i||n||s&&o||a||l}};z2.exports=xp;var mme=yp(),{re:_2,t:V2}=Qc(),pS=uS(),dS=Ip(),X2=Hi(),Z2=Ss()});var Pp=w((e$e,$2)=>{var Eme=Ss(),Ime=(r,e,t)=>{try{e=new Eme(e,t)}catch(i){return!1}return e.test(r)};$2.exports=Ime});var tH=w((t$e,eH)=>{var yme=Ss(),wme=(r,e)=>new yme(r,e).set.map(t=>t.map(i=>i.value).join(\" \").trim().split(\" \"));eH.exports=wme});var iH=w((r$e,rH)=>{var Bme=Hi(),bme=Ss(),Qme=(r,e,t)=>{let i=null,n=null,s=null;try{s=new bme(e,t)}catch(o){return null}return r.forEach(o=>{s.test(o)&&(!i||n.compare(o)===-1)&&(i=o,n=new Bme(i,t))}),i};rH.exports=Qme});var sH=w((i$e,nH)=>{var Sme=Hi(),vme=Ss(),kme=(r,e,t)=>{let i=null,n=null,s=null;try{s=new vme(e,t)}catch(o){return null}return r.forEach(o=>{s.test(o)&&(!i||n.compare(o)===1)&&(i=o,n=new Sme(i,t))}),i};nH.exports=kme});var AH=w((n$e,oH)=>{var CS=Hi(),xme=Ss(),aH=Bp(),Pme=(r,e)=>{r=new xme(r,e);let t=new CS(\"0.0.0\");if(r.test(t)||(t=new CS(\"0.0.0-0\"),r.test(t)))return t;t=null;for(let i=0;i<r.set.length;++i){let n=r.set[i],s=null;n.forEach(o=>{let a=new CS(o.semver.version);switch(o.operator){case\">\":a.prerelease.length===0?a.patch++:a.prerelease.push(0),a.raw=a.format();case\"\":case\">=\":(!s||aH(a,s))&&(s=a);break;case\"<\":case\"<=\":break;default:throw new Error(`Unexpected operation: ${o.operator}`)}}),s&&(!t||aH(t,s))&&(t=s)}return t&&r.test(t)?t:null};oH.exports=Pme});var cH=w((s$e,lH)=>{var Dme=Ss(),Rme=(r,e)=>{try{return new Dme(r,e).range||\"*\"}catch(t){return null}};lH.exports=Rme});var FI=w((o$e,uH)=>{var Fme=Hi(),gH=vp(),{ANY:Nme}=gH,Lme=Ss(),Tme=Pp(),fH=Bp(),hH=vI(),Ome=xI(),Mme=kI(),Ume=(r,e,t,i)=>{r=new Fme(r,i),e=new Lme(e,i);let n,s,o,a,l;switch(t){case\">\":n=fH,s=Ome,o=hH,a=\">\",l=\">=\";break;case\"<\":n=hH,s=Mme,o=fH,a=\"<\",l=\"<=\";break;default:throw new TypeError('Must provide a hilo val of \"<\" or \">\"')}if(Tme(r,e,i))return!1;for(let c=0;c<e.set.length;++c){let u=e.set[c],g=null,f=null;if(u.forEach(h=>{h.semver===Nme&&(h=new gH(\">=0.0.0\")),g=g||h,f=f||h,n(h.semver,g.semver,i)?g=h:o(h.semver,f.semver,i)&&(f=h)}),g.operator===a||g.operator===l||(!f.operator||f.operator===a)&&s(r,f.semver))return!1;if(f.operator===l&&o(r,f.semver))return!1}return!0};uH.exports=Ume});var dH=w((a$e,pH)=>{var Kme=FI(),Hme=(r,e,t)=>Kme(r,e,\">\",t);pH.exports=Hme});var mH=w((A$e,CH)=>{var jme=FI(),Gme=(r,e,t)=>jme(r,e,\"<\",t);CH.exports=Gme});var yH=w((l$e,EH)=>{var IH=Ss(),Yme=(r,e,t)=>(r=new IH(r,t),e=new IH(e,t),r.intersects(e));EH.exports=Yme});var BH=w((c$e,wH)=>{var qme=Pp(),Jme=Qs();wH.exports=(r,e,t)=>{let i=[],n=null,s=null,o=r.sort((u,g)=>Jme(u,g,t));for(let u of o)qme(u,e,t)?(s=u,n||(n=u)):(s&&i.push([n,s]),s=null,n=null);n&&i.push([n,null]);let a=[];for(let[u,g]of i)u===g?a.push(u):!g&&u===o[0]?a.push(\"*\"):g?u===o[0]?a.push(`<=${g}`):a.push(`${u} - ${g}`):a.push(`>=${u}`);let l=a.join(\" || \"),c=typeof e.raw==\"string\"?e.raw:String(e);return l.length<c.length?l:e}});var kH=w((u$e,bH)=>{var QH=Ss(),NI=vp(),{ANY:mS}=NI,Dp=Pp(),ES=Qs(),zme=(r,e,t={})=>{if(r===e)return!0;r=new QH(r,t),e=new QH(e,t);let i=!1;e:for(let n of r.set){for(let s of e.set){let o=Wme(n,s,t);if(i=i||o!==null,o)continue e}if(i)return!1}return!0},Wme=(r,e,t)=>{if(r===e)return!0;if(r.length===1&&r[0].semver===mS){if(e.length===1&&e[0].semver===mS)return!0;t.includePrerelease?r=[new NI(\">=0.0.0-0\")]:r=[new NI(\">=0.0.0\")]}if(e.length===1&&e[0].semver===mS){if(t.includePrerelease)return!0;e=[new NI(\">=0.0.0\")]}let i=new Set,n,s;for(let h of r)h.operator===\">\"||h.operator===\">=\"?n=SH(n,h,t):h.operator===\"<\"||h.operator===\"<=\"?s=vH(s,h,t):i.add(h.semver);if(i.size>1)return null;let o;if(n&&s){if(o=ES(n.semver,s.semver,t),o>0)return null;if(o===0&&(n.operator!==\">=\"||s.operator!==\"<=\"))return null}for(let h of i){if(n&&!Dp(h,String(n),t)||s&&!Dp(h,String(s),t))return null;for(let p of e)if(!Dp(h,String(p),t))return!1;return!0}let a,l,c,u,g=s&&!t.includePrerelease&&s.semver.prerelease.length?s.semver:!1,f=n&&!t.includePrerelease&&n.semver.prerelease.length?n.semver:!1;g&&g.prerelease.length===1&&s.operator===\"<\"&&g.prerelease[0]===0&&(g=!1);for(let h of e){if(u=u||h.operator===\">\"||h.operator===\">=\",c=c||h.operator===\"<\"||h.operator===\"<=\",n){if(f&&h.semver.prerelease&&h.semver.prerelease.length&&h.semver.major===f.major&&h.semver.minor===f.minor&&h.semver.patch===f.patch&&(f=!1),h.operator===\">\"||h.operator===\">=\"){if(a=SH(n,h,t),a===h&&a!==n)return!1}else if(n.operator===\">=\"&&!Dp(n.semver,String(h),t))return!1}if(s){if(g&&h.semver.prerelease&&h.semver.prerelease.length&&h.semver.major===g.major&&h.semver.minor===g.minor&&h.semver.patch===g.patch&&(g=!1),h.operator===\"<\"||h.operator===\"<=\"){if(l=vH(s,h,t),l===h&&l!==s)return!1}else if(s.operator===\"<=\"&&!Dp(s.semver,String(h),t))return!1}if(!h.operator&&(s||n)&&o!==0)return!1}return!(n&&c&&!s&&o!==0||s&&u&&!n&&o!==0||f||g)},SH=(r,e,t)=>{if(!r)return e;let i=ES(r.semver,e.semver,t);return i>0?r:i<0||e.operator===\">\"&&r.operator===\">=\"?e:r},vH=(r,e,t)=>{if(!r)return e;let i=ES(r.semver,e.semver,t);return i<0?r:i>0||e.operator===\"<\"&&r.operator===\"<=\"?e:r};bH.exports=zme});var ri=w((g$e,xH)=>{var IS=Qc();xH.exports={re:IS.re,src:IS.src,tokens:IS.t,SEMVER_SPEC_VERSION:Ep().SEMVER_SPEC_VERSION,SemVer:Hi(),compareIdentifiers:wI().compareIdentifiers,rcompareIdentifiers:wI().rcompareIdentifiers,parse:Sc(),valid:XK(),clean:$K(),inc:t2(),diff:a2(),major:l2(),minor:u2(),patch:f2(),prerelease:p2(),compare:Qs(),rcompare:C2(),compareLoose:E2(),compareBuild:SI(),sort:B2(),rsort:Q2(),gt:Bp(),lt:vI(),eq:QI(),neq:cS(),gte:kI(),lte:xI(),cmp:uS(),coerce:F2(),Comparator:vp(),Range:Ss(),satisfies:Pp(),toComparators:tH(),maxSatisfying:iH(),minSatisfying:sH(),minVersion:AH(),validRange:cH(),outside:FI(),gtr:dH(),ltr:mH(),intersects:yH(),simplifyRange:BH(),subset:kH()}});var yS=w(LI=>{\"use strict\";Object.defineProperty(LI,\"__esModule\",{value:!0});LI.VERSION=void 0;LI.VERSION=\"9.1.0\"});var Yt=w((exports,module)=>{\"use strict\";var __spreadArray=exports&&exports.__spreadArray||function(r,e,t){if(t||arguments.length===2)for(var i=0,n=e.length,s;i<n;i++)(s||!(i in e))&&(s||(s=Array.prototype.slice.call(e,0,i)),s[i]=e[i]);return r.concat(s||Array.prototype.slice.call(e))};Object.defineProperty(exports,\"__esModule\",{value:!0});exports.toFastProperties=exports.timer=exports.peek=exports.isES2015MapSupported=exports.PRINT_WARNING=exports.PRINT_ERROR=exports.packArray=exports.IDENTITY=exports.NOOP=exports.merge=exports.groupBy=exports.defaults=exports.assignNoOverwrite=exports.assign=exports.zipObject=exports.sortBy=exports.indexOf=exports.some=exports.difference=exports.every=exports.isObject=exports.isRegExp=exports.isArray=exports.partial=exports.uniq=exports.compact=exports.reduce=exports.findAll=exports.find=exports.cloneObj=exports.cloneArr=exports.contains=exports.has=exports.pick=exports.reject=exports.filter=exports.dropRight=exports.drop=exports.isFunction=exports.isUndefined=exports.isString=exports.forEach=exports.last=exports.first=exports.flatten=exports.map=exports.mapValues=exports.values=exports.keys=exports.isEmpty=void 0;exports.upperFirst=void 0;function isEmpty(r){return r&&r.length===0}exports.isEmpty=isEmpty;function keys(r){return r==null?[]:Object.keys(r)}exports.keys=keys;function values(r){for(var e=[],t=Object.keys(r),i=0;i<t.length;i++)e.push(r[t[i]]);return e}exports.values=values;function mapValues(r,e){for(var t=[],i=keys(r),n=0;n<i.length;n++){var s=i[n];t.push(e.call(null,r[s],s))}return t}exports.mapValues=mapValues;function map(r,e){for(var t=[],i=0;i<r.length;i++)t.push(e.call(null,r[i],i));return t}exports.map=map;function flatten(r){for(var e=[],t=0;t<r.length;t++){var i=r[t];Array.isArray(i)?e=e.concat(flatten(i)):e.push(i)}return e}exports.flatten=flatten;function first(r){return isEmpty(r)?void 0:r[0]}exports.first=first;function last(r){var e=r&&r.length;return e?r[e-1]:void 0}exports.last=last;function forEach(r,e){if(Array.isArray(r))for(var t=0;t<r.length;t++)e.call(null,r[t],t);else if(isObject(r))for(var i=keys(r),t=0;t<i.length;t++){var n=i[t],s=r[n];e.call(null,s,n)}else throw Error(\"non exhaustive match\")}exports.forEach=forEach;function isString(r){return typeof r==\"string\"}exports.isString=isString;function isUndefined(r){return r===void 0}exports.isUndefined=isUndefined;function isFunction(r){return r instanceof Function}exports.isFunction=isFunction;function drop(r,e){return e===void 0&&(e=1),r.slice(e,r.length)}exports.drop=drop;function dropRight(r,e){return e===void 0&&(e=1),r.slice(0,r.length-e)}exports.dropRight=dropRight;function filter(r,e){var t=[];if(Array.isArray(r))for(var i=0;i<r.length;i++){var n=r[i];e.call(null,n)&&t.push(n)}return t}exports.filter=filter;function reject(r,e){return filter(r,function(t){return!e(t)})}exports.reject=reject;function pick(r,e){for(var t=Object.keys(r),i={},n=0;n<t.length;n++){var s=t[n],o=r[s];e(o)&&(i[s]=o)}return i}exports.pick=pick;function has(r,e){return isObject(r)?r.hasOwnProperty(e):!1}exports.has=has;function contains(r,e){return find(r,function(t){return t===e})!==void 0}exports.contains=contains;function cloneArr(r){for(var e=[],t=0;t<r.length;t++)e.push(r[t]);return e}exports.cloneArr=cloneArr;function cloneObj(r){var e={};for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(e[t]=r[t]);return e}exports.cloneObj=cloneObj;function find(r,e){for(var t=0;t<r.length;t++){var i=r[t];if(e.call(null,i))return i}}exports.find=find;function findAll(r,e){for(var t=[],i=0;i<r.length;i++){var n=r[i];e.call(null,n)&&t.push(n)}return t}exports.findAll=findAll;function reduce(r,e,t){for(var i=Array.isArray(r),n=i?r:values(r),s=i?[]:keys(r),o=t,a=0;a<n.length;a++)o=e.call(null,o,n[a],i?a:s[a]);return o}exports.reduce=reduce;function compact(r){return reject(r,function(e){return e==null})}exports.compact=compact;function uniq(r,e){e===void 0&&(e=function(i){return i});var t=[];return reduce(r,function(i,n){var s=e(n);return contains(t,s)?i:(t.push(s),i.concat(n))},[])}exports.uniq=uniq;function partial(r){for(var e=[],t=1;t<arguments.length;t++)e[t-1]=arguments[t];var i=[null],n=i.concat(e);return Function.bind.apply(r,n)}exports.partial=partial;function isArray(r){return Array.isArray(r)}exports.isArray=isArray;function isRegExp(r){return r instanceof RegExp}exports.isRegExp=isRegExp;function isObject(r){return r instanceof Object}exports.isObject=isObject;function every(r,e){for(var t=0;t<r.length;t++)if(!e(r[t],t))return!1;return!0}exports.every=every;function difference(r,e){return reject(r,function(t){return contains(e,t)})}exports.difference=difference;function some(r,e){for(var t=0;t<r.length;t++)if(e(r[t]))return!0;return!1}exports.some=some;function indexOf(r,e){for(var t=0;t<r.length;t++)if(r[t]===e)return t;return-1}exports.indexOf=indexOf;function sortBy(r,e){var t=cloneArr(r);return t.sort(function(i,n){return e(i)-e(n)}),t}exports.sortBy=sortBy;function zipObject(r,e){if(r.length!==e.length)throw Error(\"can't zipObject with different number of keys and values!\");for(var t={},i=0;i<r.length;i++)t[r[i]]=e[i];return t}exports.zipObject=zipObject;function assign(r){for(var e=[],t=1;t<arguments.length;t++)e[t-1]=arguments[t];for(var i=0;i<e.length;i++)for(var n=e[i],s=keys(n),o=0;o<s.length;o++){var a=s[o];r[a]=n[a]}return r}exports.assign=assign;function assignNoOverwrite(r){for(var e=[],t=1;t<arguments.length;t++)e[t-1]=arguments[t];for(var i=0;i<e.length;i++)for(var n=e[i],s=keys(n),o=0;o<s.length;o++){var a=s[o];has(r,a)||(r[a]=n[a])}return r}exports.assignNoOverwrite=assignNoOverwrite;function defaults(){for(var r=[],e=0;e<arguments.length;e++)r[e]=arguments[e];return assignNoOverwrite.apply(void 0,__spreadArray([{}],r,!1))}exports.defaults=defaults;function groupBy(r,e){var t={};return forEach(r,function(i){var n=e(i),s=t[n];s?s.push(i):t[n]=[i]}),t}exports.groupBy=groupBy;function merge(r,e){for(var t=cloneObj(r),i=keys(e),n=0;n<i.length;n++){var s=i[n],o=e[s];t[s]=o}return t}exports.merge=merge;function NOOP(){}exports.NOOP=NOOP;function IDENTITY(r){return r}exports.IDENTITY=IDENTITY;function packArray(r){for(var e=[],t=0;t<r.length;t++){var i=r[t];e.push(i!==void 0?i:void 0)}return e}exports.packArray=packArray;function PRINT_ERROR(r){console&&console.error&&console.error(\"Error: \"+r)}exports.PRINT_ERROR=PRINT_ERROR;function PRINT_WARNING(r){console&&console.warn&&console.warn(\"Warning: \"+r)}exports.PRINT_WARNING=PRINT_WARNING;function isES2015MapSupported(){return typeof Map==\"function\"}exports.isES2015MapSupported=isES2015MapSupported;function peek(r){return r[r.length-1]}exports.peek=peek;function timer(r){var e=new Date().getTime(),t=r(),i=new Date().getTime(),n=i-e;return{time:n,value:t}}exports.timer=timer;function toFastProperties(toBecomeFast){function FakeConstructor(){}FakeConstructor.prototype=toBecomeFast;var fakeInstance=new FakeConstructor;function fakeAccess(){return typeof fakeInstance.bar}return fakeAccess(),fakeAccess(),toBecomeFast;eval(toBecomeFast)}exports.toFastProperties=toFastProperties;function upperFirst(r){if(!r)return r;var e=getCharacterFromCodePointAt(r,0);return e.toUpperCase()+r.substring(e.length)}exports.upperFirst=upperFirst;var surrogatePairPattern=/[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/;function getCharacterFromCodePointAt(r,e){var t=r.substring(e,e+1);return surrogatePairPattern.test(t)?t:r[e]}});var OI=w((PH,TI)=>{(function(r,e){typeof define==\"function\"&&define.amd?define([],e):typeof TI==\"object\"&&TI.exports?TI.exports=e():r.regexpToAst=e()})(typeof self!=\"undefined\"?self:PH,function(){function r(){}r.prototype.saveState=function(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}},r.prototype.restoreState=function(p){this.idx=p.idx,this.input=p.input,this.groupIdx=p.groupIdx},r.prototype.pattern=function(p){this.idx=0,this.input=p,this.groupIdx=0,this.consumeChar(\"/\");var m=this.disjunction();this.consumeChar(\"/\");for(var y={type:\"Flags\",loc:{begin:this.idx,end:p.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};this.isRegExpFlag();)switch(this.popChar()){case\"g\":o(y,\"global\");break;case\"i\":o(y,\"ignoreCase\");break;case\"m\":o(y,\"multiLine\");break;case\"u\":o(y,\"unicode\");break;case\"y\":o(y,\"sticky\");break}if(this.idx!==this.input.length)throw Error(\"Redundant input: \"+this.input.substring(this.idx));return{type:\"Pattern\",flags:y,value:m,loc:this.loc(0)}},r.prototype.disjunction=function(){var p=[],m=this.idx;for(p.push(this.alternative());this.peekChar()===\"|\";)this.consumeChar(\"|\"),p.push(this.alternative());return{type:\"Disjunction\",value:p,loc:this.loc(m)}},r.prototype.alternative=function(){for(var p=[],m=this.idx;this.isTerm();)p.push(this.term());return{type:\"Alternative\",value:p,loc:this.loc(m)}},r.prototype.term=function(){return this.isAssertion()?this.assertion():this.atom()},r.prototype.assertion=function(){var p=this.idx;switch(this.popChar()){case\"^\":return{type:\"StartAnchor\",loc:this.loc(p)};case\"$\":return{type:\"EndAnchor\",loc:this.loc(p)};case\"\\\\\":switch(this.popChar()){case\"b\":return{type:\"WordBoundary\",loc:this.loc(p)};case\"B\":return{type:\"NonWordBoundary\",loc:this.loc(p)}}throw Error(\"Invalid Assertion Escape\");case\"(\":this.consumeChar(\"?\");var m;switch(this.popChar()){case\"=\":m=\"Lookahead\";break;case\"!\":m=\"NegativeLookahead\";break}a(m);var y=this.disjunction();return this.consumeChar(\")\"),{type:m,value:y,loc:this.loc(p)}}l()},r.prototype.quantifier=function(p){var m,y=this.idx;switch(this.popChar()){case\"*\":m={atLeast:0,atMost:Infinity};break;case\"+\":m={atLeast:1,atMost:Infinity};break;case\"?\":m={atLeast:0,atMost:1};break;case\"{\":var b=this.integerIncludingZero();switch(this.popChar()){case\"}\":m={atLeast:b,atMost:b};break;case\",\":var v;this.isDigit()?(v=this.integerIncludingZero(),m={atLeast:b,atMost:v}):m={atLeast:b,atMost:Infinity},this.consumeChar(\"}\");break}if(p===!0&&m===void 0)return;a(m);break}if(!(p===!0&&m===void 0))return a(m),this.peekChar(0)===\"?\"?(this.consumeChar(\"?\"),m.greedy=!1):m.greedy=!0,m.type=\"Quantifier\",m.loc=this.loc(y),m},r.prototype.atom=function(){var p,m=this.idx;switch(this.peekChar()){case\".\":p=this.dotAll();break;case\"\\\\\":p=this.atomEscape();break;case\"[\":p=this.characterClass();break;case\"(\":p=this.group();break}return p===void 0&&this.isPatternCharacter()&&(p=this.patternCharacter()),a(p),p.loc=this.loc(m),this.isQuantifier()&&(p.quantifier=this.quantifier()),p},r.prototype.dotAll=function(){return this.consumeChar(\".\"),{type:\"Set\",complement:!0,value:[n(`\n`),n(\"\\r\"),n(\"\\u2028\"),n(\"\\u2029\")]}},r.prototype.atomEscape=function(){switch(this.consumeChar(\"\\\\\"),this.peekChar()){case\"1\":case\"2\":case\"3\":case\"4\":case\"5\":case\"6\":case\"7\":case\"8\":case\"9\":return this.decimalEscapeAtom();case\"d\":case\"D\":case\"s\":case\"S\":case\"w\":case\"W\":return this.characterClassEscape();case\"f\":case\"n\":case\"r\":case\"t\":case\"v\":return this.controlEscapeAtom();case\"c\":return this.controlLetterEscapeAtom();case\"0\":return this.nulCharacterAtom();case\"x\":return this.hexEscapeSequenceAtom();case\"u\":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}},r.prototype.decimalEscapeAtom=function(){var p=this.positiveInteger();return{type:\"GroupBackReference\",value:p}},r.prototype.characterClassEscape=function(){var p,m=!1;switch(this.popChar()){case\"d\":p=u;break;case\"D\":p=u,m=!0;break;case\"s\":p=f;break;case\"S\":p=f,m=!0;break;case\"w\":p=g;break;case\"W\":p=g,m=!0;break}return a(p),{type:\"Set\",value:p,complement:m}},r.prototype.controlEscapeAtom=function(){var p;switch(this.popChar()){case\"f\":p=n(\"\\f\");break;case\"n\":p=n(`\n`);break;case\"r\":p=n(\"\\r\");break;case\"t\":p=n(\"\t\");break;case\"v\":p=n(\"\\v\");break}return a(p),{type:\"Character\",value:p}},r.prototype.controlLetterEscapeAtom=function(){this.consumeChar(\"c\");var p=this.popChar();if(/[a-zA-Z]/.test(p)===!1)throw Error(\"Invalid \");var m=p.toUpperCase().charCodeAt(0)-64;return{type:\"Character\",value:m}},r.prototype.nulCharacterAtom=function(){return this.consumeChar(\"0\"),{type:\"Character\",value:n(\"\\0\")}},r.prototype.hexEscapeSequenceAtom=function(){return this.consumeChar(\"x\"),this.parseHexDigits(2)},r.prototype.regExpUnicodeEscapeSequenceAtom=function(){return this.consumeChar(\"u\"),this.parseHexDigits(4)},r.prototype.identityEscapeAtom=function(){var p=this.popChar();return{type:\"Character\",value:n(p)}},r.prototype.classPatternCharacterAtom=function(){switch(this.peekChar()){case`\n`:case\"\\r\":case\"\\u2028\":case\"\\u2029\":case\"\\\\\":case\"]\":throw Error(\"TBD\");default:var p=this.popChar();return{type:\"Character\",value:n(p)}}},r.prototype.characterClass=function(){var p=[],m=!1;for(this.consumeChar(\"[\"),this.peekChar(0)===\"^\"&&(this.consumeChar(\"^\"),m=!0);this.isClassAtom();){var y=this.classAtom(),b=y.type===\"Character\";if(b&&this.isRangeDash()){this.consumeChar(\"-\");var v=this.classAtom(),k=v.type===\"Character\";if(k){if(v.value<y.value)throw Error(\"Range out of order in character class\");p.push({from:y.value,to:v.value})}else s(y.value,p),p.push(n(\"-\")),s(v.value,p)}else s(y.value,p)}return this.consumeChar(\"]\"),{type:\"Set\",complement:m,value:p}},r.prototype.classAtom=function(){switch(this.peekChar()){case\"]\":case`\n`:case\"\\r\":case\"\\u2028\":case\"\\u2029\":throw Error(\"TBD\");case\"\\\\\":return this.classEscape();default:return this.classPatternCharacterAtom()}},r.prototype.classEscape=function(){switch(this.consumeChar(\"\\\\\"),this.peekChar()){case\"b\":return this.consumeChar(\"b\"),{type:\"Character\",value:n(\"\\b\")};case\"d\":case\"D\":case\"s\":case\"S\":case\"w\":case\"W\":return this.characterClassEscape();case\"f\":case\"n\":case\"r\":case\"t\":case\"v\":return this.controlEscapeAtom();case\"c\":return this.controlLetterEscapeAtom();case\"0\":return this.nulCharacterAtom();case\"x\":return this.hexEscapeSequenceAtom();case\"u\":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}},r.prototype.group=function(){var p=!0;switch(this.consumeChar(\"(\"),this.peekChar(0)){case\"?\":this.consumeChar(\"?\"),this.consumeChar(\":\"),p=!1;break;default:this.groupIdx++;break}var m=this.disjunction();this.consumeChar(\")\");var y={type:\"Group\",capturing:p,value:m};return p&&(y.idx=this.groupIdx),y},r.prototype.positiveInteger=function(){var p=this.popChar();if(i.test(p)===!1)throw Error(\"Expecting a positive integer\");for(;t.test(this.peekChar(0));)p+=this.popChar();return parseInt(p,10)},r.prototype.integerIncludingZero=function(){var p=this.popChar();if(t.test(p)===!1)throw Error(\"Expecting an integer\");for(;t.test(this.peekChar(0));)p+=this.popChar();return parseInt(p,10)},r.prototype.patternCharacter=function(){var p=this.popChar();switch(p){case`\n`:case\"\\r\":case\"\\u2028\":case\"\\u2029\":case\"^\":case\"$\":case\"\\\\\":case\".\":case\"*\":case\"+\":case\"?\":case\"(\":case\")\":case\"[\":case\"|\":throw Error(\"TBD\");default:return{type:\"Character\",value:n(p)}}},r.prototype.isRegExpFlag=function(){switch(this.peekChar(0)){case\"g\":case\"i\":case\"m\":case\"u\":case\"y\":return!0;default:return!1}},r.prototype.isRangeDash=function(){return this.peekChar()===\"-\"&&this.isClassAtom(1)},r.prototype.isDigit=function(){return t.test(this.peekChar(0))},r.prototype.isClassAtom=function(p){switch(p===void 0&&(p=0),this.peekChar(p)){case\"]\":case`\n`:case\"\\r\":case\"\\u2028\":case\"\\u2029\":return!1;default:return!0}},r.prototype.isTerm=function(){return this.isAtom()||this.isAssertion()},r.prototype.isAtom=function(){if(this.isPatternCharacter())return!0;switch(this.peekChar(0)){case\".\":case\"\\\\\":case\"[\":case\"(\":return!0;default:return!1}},r.prototype.isAssertion=function(){switch(this.peekChar(0)){case\"^\":case\"$\":return!0;case\"\\\\\":switch(this.peekChar(1)){case\"b\":case\"B\":return!0;default:return!1}case\"(\":return this.peekChar(1)===\"?\"&&(this.peekChar(2)===\"=\"||this.peekChar(2)===\"!\");default:return!1}},r.prototype.isQuantifier=function(){var p=this.saveState();try{return this.quantifier(!0)!==void 0}catch(m){return!1}finally{this.restoreState(p)}},r.prototype.isPatternCharacter=function(){switch(this.peekChar()){case\"^\":case\"$\":case\"\\\\\":case\".\":case\"*\":case\"+\":case\"?\":case\"(\":case\")\":case\"[\":case\"|\":case\"/\":case`\n`:case\"\\r\":case\"\\u2028\":case\"\\u2029\":return!1;default:return!0}},r.prototype.parseHexDigits=function(p){for(var m=\"\",y=0;y<p;y++){var b=this.popChar();if(e.test(b)===!1)throw Error(\"Expecting a HexDecimal digits\");m+=b}var v=parseInt(m,16);return{type:\"Character\",value:v}},r.prototype.peekChar=function(p){return p===void 0&&(p=0),this.input[this.idx+p]},r.prototype.popChar=function(){var p=this.peekChar(0);return this.consumeChar(),p},r.prototype.consumeChar=function(p){if(p!==void 0&&this.input[this.idx]!==p)throw Error(\"Expected: '\"+p+\"' but found: '\"+this.input[this.idx]+\"' at offset: \"+this.idx);if(this.idx>=this.input.length)throw Error(\"Unexpected end of input\");this.idx++},r.prototype.loc=function(p){return{begin:p,end:this.idx}};var e=/[0-9a-fA-F]/,t=/[0-9]/,i=/[1-9]/;function n(p){return p.charCodeAt(0)}function s(p,m){p.length!==void 0?p.forEach(function(y){m.push(y)}):m.push(p)}function o(p,m){if(p[m]===!0)throw\"duplicate flag \"+m;p[m]=!0}function a(p){if(p===void 0)throw Error(\"Internal Error - Should never get here!\")}function l(){throw Error(\"Internal Error - Should never get here!\")}var c,u=[];for(c=n(\"0\");c<=n(\"9\");c++)u.push(c);var g=[n(\"_\")].concat(u);for(c=n(\"a\");c<=n(\"z\");c++)g.push(c);for(c=n(\"A\");c<=n(\"Z\");c++)g.push(c);var f=[n(\" \"),n(\"\\f\"),n(`\n`),n(\"\\r\"),n(\"\t\"),n(\"\\v\"),n(\"\t\"),n(\"\\xA0\"),n(\"\\u1680\"),n(\"\\u2000\"),n(\"\\u2001\"),n(\"\\u2002\"),n(\"\\u2003\"),n(\"\\u2004\"),n(\"\\u2005\"),n(\"\\u2006\"),n(\"\\u2007\"),n(\"\\u2008\"),n(\"\\u2009\"),n(\"\\u200A\"),n(\"\\u2028\"),n(\"\\u2029\"),n(\"\\u202F\"),n(\"\\u205F\"),n(\"\\u3000\"),n(\"\\uFEFF\")];function h(){}return h.prototype.visitChildren=function(p){for(var m in p){var y=p[m];p.hasOwnProperty(m)&&(y.type!==void 0?this.visit(y):Array.isArray(y)&&y.forEach(function(b){this.visit(b)},this))}},h.prototype.visit=function(p){switch(p.type){case\"Pattern\":this.visitPattern(p);break;case\"Flags\":this.visitFlags(p);break;case\"Disjunction\":this.visitDisjunction(p);break;case\"Alternative\":this.visitAlternative(p);break;case\"StartAnchor\":this.visitStartAnchor(p);break;case\"EndAnchor\":this.visitEndAnchor(p);break;case\"WordBoundary\":this.visitWordBoundary(p);break;case\"NonWordBoundary\":this.visitNonWordBoundary(p);break;case\"Lookahead\":this.visitLookahead(p);break;case\"NegativeLookahead\":this.visitNegativeLookahead(p);break;case\"Character\":this.visitCharacter(p);break;case\"Set\":this.visitSet(p);break;case\"Group\":this.visitGroup(p);break;case\"GroupBackReference\":this.visitGroupBackReference(p);break;case\"Quantifier\":this.visitQuantifier(p);break}this.visitChildren(p)},h.prototype.visitPattern=function(p){},h.prototype.visitFlags=function(p){},h.prototype.visitDisjunction=function(p){},h.prototype.visitAlternative=function(p){},h.prototype.visitStartAnchor=function(p){},h.prototype.visitEndAnchor=function(p){},h.prototype.visitWordBoundary=function(p){},h.prototype.visitNonWordBoundary=function(p){},h.prototype.visitLookahead=function(p){},h.prototype.visitNegativeLookahead=function(p){},h.prototype.visitCharacter=function(p){},h.prototype.visitSet=function(p){},h.prototype.visitGroup=function(p){},h.prototype.visitGroupBackReference=function(p){},h.prototype.visitQuantifier=function(p){},{RegExpParser:r,BaseRegExpVisitor:h,VERSION:\"0.5.0\"}})});var UI=w(Cg=>{\"use strict\";Object.defineProperty(Cg,\"__esModule\",{value:!0});Cg.clearRegExpParserCache=Cg.getRegExpAst=void 0;var _me=OI(),MI={},Vme=new _me.RegExpParser;function Xme(r){var e=r.toString();if(MI.hasOwnProperty(e))return MI[e];var t=Vme.pattern(e);return MI[e]=t,t}Cg.getRegExpAst=Xme;function Zme(){MI={}}Cg.clearRegExpParserCache=Zme});var LH=w(Bn=>{\"use strict\";var $me=Bn&&Bn.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!=\"function\"&&t!==null)throw new TypeError(\"Class extends value \"+String(t)+\" is not a constructor or null\");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Bn,\"__esModule\",{value:!0});Bn.canMatchCharCode=Bn.firstCharOptimizedIndices=Bn.getOptimizedStartCodesIndices=Bn.failedOptimizationPrefixMsg=void 0;var DH=OI(),vs=Yt(),RH=UI(),Ga=wS(),FH=\"Complement Sets are not supported for first char optimization\";Bn.failedOptimizationPrefixMsg=`Unable to use \"first char\" lexer optimizations:\n`;function eEe(r,e){e===void 0&&(e=!1);try{var t=(0,RH.getRegExpAst)(r),i=KI(t.value,{},t.flags.ignoreCase);return i}catch(s){if(s.message===FH)e&&(0,vs.PRINT_WARNING)(\"\"+Bn.failedOptimizationPrefixMsg+(\"\tUnable to optimize: < \"+r.toString()+` >\n`)+`\tComplement Sets cannot be automatically optimized.\n\tThis will disable the lexer's first char optimizations.\n\tSee: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{var n=\"\";e&&(n=`\n\tThis will disable the lexer's first char optimizations.\n\tSee: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),(0,vs.PRINT_ERROR)(Bn.failedOptimizationPrefixMsg+`\n`+(\"\tFailed parsing: < \"+r.toString()+` >\n`)+(\"\tUsing the regexp-to-ast library version: \"+DH.VERSION+`\n`)+\"\tPlease open an issue at: https://github.com/bd82/regexp-to-ast/issues\"+n)}}return[]}Bn.getOptimizedStartCodesIndices=eEe;function KI(r,e,t){switch(r.type){case\"Disjunction\":for(var i=0;i<r.value.length;i++)KI(r.value[i],e,t);break;case\"Alternative\":for(var n=r.value,i=0;i<n.length;i++){var s=n[i];switch(s.type){case\"EndAnchor\":case\"GroupBackReference\":case\"Lookahead\":case\"NegativeLookahead\":case\"StartAnchor\":case\"WordBoundary\":case\"NonWordBoundary\":continue}var o=s;switch(o.type){case\"Character\":HI(o.value,e,t);break;case\"Set\":if(o.complement===!0)throw Error(FH);(0,vs.forEach)(o.value,function(c){if(typeof c==\"number\")HI(c,e,t);else{var u=c;if(t===!0)for(var g=u.from;g<=u.to;g++)HI(g,e,t);else{for(var g=u.from;g<=u.to&&g<Ga.minOptimizationVal;g++)HI(g,e,t);if(u.to>=Ga.minOptimizationVal)for(var f=u.from>=Ga.minOptimizationVal?u.from:Ga.minOptimizationVal,h=u.to,p=(0,Ga.charCodeToOptimizedIndex)(f),m=(0,Ga.charCodeToOptimizedIndex)(h),y=p;y<=m;y++)e[y]=y}}});break;case\"Group\":KI(o.value,e,t);break;default:throw Error(\"Non Exhaustive Match\")}var a=o.quantifier!==void 0&&o.quantifier.atLeast===0;if(o.type===\"Group\"&&BS(o)===!1||o.type!==\"Group\"&&a===!1)break}break;default:throw Error(\"non exhaustive match!\")}return(0,vs.values)(e)}Bn.firstCharOptimizedIndices=KI;function HI(r,e,t){var i=(0,Ga.charCodeToOptimizedIndex)(r);e[i]=i,t===!0&&tEe(r,e)}function tEe(r,e){var t=String.fromCharCode(r),i=t.toUpperCase();if(i!==t){var n=(0,Ga.charCodeToOptimizedIndex)(i.charCodeAt(0));e[n]=n}else{var s=t.toLowerCase();if(s!==t){var n=(0,Ga.charCodeToOptimizedIndex)(s.charCodeAt(0));e[n]=n}}}function NH(r,e){return(0,vs.find)(r.value,function(t){if(typeof t==\"number\")return(0,vs.contains)(e,t);var i=t;return(0,vs.find)(e,function(n){return i.from<=n&&n<=i.to})!==void 0})}function BS(r){return r.quantifier&&r.quantifier.atLeast===0?!0:r.value?(0,vs.isArray)(r.value)?(0,vs.every)(r.value,BS):BS(r.value):!1}var rEe=function(r){$me(e,r);function e(t){var i=r.call(this)||this;return i.targetCharCodes=t,i.found=!1,i}return e.prototype.visitChildren=function(t){if(this.found!==!0){switch(t.type){case\"Lookahead\":this.visitLookahead(t);return;case\"NegativeLookahead\":this.visitNegativeLookahead(t);return}r.prototype.visitChildren.call(this,t)}},e.prototype.visitCharacter=function(t){(0,vs.contains)(this.targetCharCodes,t.value)&&(this.found=!0)},e.prototype.visitSet=function(t){t.complement?NH(t,this.targetCharCodes)===void 0&&(this.found=!0):NH(t,this.targetCharCodes)!==void 0&&(this.found=!0)},e}(DH.BaseRegExpVisitor);function iEe(r,e){if(e instanceof RegExp){var t=(0,RH.getRegExpAst)(e),i=new rEe(r);return i.visit(t),i.found}else return(0,vs.find)(e,function(n){return(0,vs.contains)(r,n.charCodeAt(0))})!==void 0}Bn.canMatchCharCode=iEe});var wS=w(Ze=>{\"use strict\";var TH=Ze&&Ze.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!=\"function\"&&t!==null)throw new TypeError(\"Class extends value \"+String(t)+\" is not a constructor or null\");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Ze,\"__esModule\",{value:!0});Ze.charCodeToOptimizedIndex=Ze.minOptimizationVal=Ze.buildLineBreakIssueMessage=Ze.LineTerminatorOptimizedTester=Ze.isShortPattern=Ze.isCustomPattern=Ze.cloneEmptyGroups=Ze.performWarningRuntimeChecks=Ze.performRuntimeChecks=Ze.addStickyFlag=Ze.addStartOfInput=Ze.findUnreachablePatterns=Ze.findModesThatDoNotExist=Ze.findInvalidGroupType=Ze.findDuplicatePatterns=Ze.findUnsupportedFlags=Ze.findStartOfInputAnchor=Ze.findEmptyMatchRegExps=Ze.findEndOfInputAnchor=Ze.findInvalidPatterns=Ze.findMissingPatterns=Ze.validatePatterns=Ze.analyzeTokenTypes=Ze.enableSticky=Ze.disableSticky=Ze.SUPPORT_STICKY=Ze.MODES=Ze.DEFAULT_MODE=void 0;var OH=OI(),Ar=Rp(),Ne=Yt(),mg=LH(),MH=UI(),Ko=\"PATTERN\";Ze.DEFAULT_MODE=\"defaultMode\";Ze.MODES=\"modes\";Ze.SUPPORT_STICKY=typeof new RegExp(\"(?:)\").sticky==\"boolean\";function nEe(){Ze.SUPPORT_STICKY=!1}Ze.disableSticky=nEe;function sEe(){Ze.SUPPORT_STICKY=!0}Ze.enableSticky=sEe;function aEe(r,e){e=(0,Ne.defaults)(e,{useSticky:Ze.SUPPORT_STICKY,debug:!1,safeMode:!1,positionTracking:\"full\",lineTerminatorCharacters:[\"\\r\",`\n`],tracer:function(v,k){return k()}});var t=e.tracer;t(\"initCharCodeToOptimizedIndexMap\",function(){oEe()});var i;t(\"Reject Lexer.NA\",function(){i=(0,Ne.reject)(r,function(v){return v[Ko]===Ar.Lexer.NA})});var n=!1,s;t(\"Transform Patterns\",function(){n=!1,s=(0,Ne.map)(i,function(v){var k=v[Ko];if((0,Ne.isRegExp)(k)){var T=k.source;return T.length===1&&T!==\"^\"&&T!==\"$\"&&T!==\".\"&&!k.ignoreCase?T:T.length===2&&T[0]===\"\\\\\"&&!(0,Ne.contains)([\"d\",\"D\",\"s\",\"S\",\"t\",\"r\",\"n\",\"t\",\"0\",\"c\",\"b\",\"B\",\"f\",\"v\",\"w\",\"W\"],T[1])?T[1]:e.useSticky?QS(k):bS(k)}else{if((0,Ne.isFunction)(k))return n=!0,{exec:k};if((0,Ne.has)(k,\"exec\"))return n=!0,k;if(typeof k==\"string\"){if(k.length===1)return k;var Y=k.replace(/[\\\\^$.*+?()[\\]{}|]/g,\"\\\\$&\"),q=new RegExp(Y);return e.useSticky?QS(q):bS(q)}else throw Error(\"non exhaustive match\")}})});var o,a,l,c,u;t(\"misc mapping\",function(){o=(0,Ne.map)(i,function(v){return v.tokenTypeIdx}),a=(0,Ne.map)(i,function(v){var k=v.GROUP;if(k!==Ar.Lexer.SKIPPED){if((0,Ne.isString)(k))return k;if((0,Ne.isUndefined)(k))return!1;throw Error(\"non exhaustive match\")}}),l=(0,Ne.map)(i,function(v){var k=v.LONGER_ALT;if(k){var T=(0,Ne.isArray)(k)?(0,Ne.map)(k,function(Y){return(0,Ne.indexOf)(i,Y)}):[(0,Ne.indexOf)(i,k)];return T}}),c=(0,Ne.map)(i,function(v){return v.PUSH_MODE}),u=(0,Ne.map)(i,function(v){return(0,Ne.has)(v,\"POP_MODE\")})});var g;t(\"Line Terminator Handling\",function(){var v=HH(e.lineTerminatorCharacters);g=(0,Ne.map)(i,function(k){return!1}),e.positionTracking!==\"onlyOffset\"&&(g=(0,Ne.map)(i,function(k){if((0,Ne.has)(k,\"LINE_BREAKS\"))return k.LINE_BREAKS;if(KH(k,v)===!1)return(0,mg.canMatchCharCode)(v,k.PATTERN)}))});var f,h,p,m;t(\"Misc Mapping #2\",function(){f=(0,Ne.map)(i,SS),h=(0,Ne.map)(s,UH),p=(0,Ne.reduce)(i,function(v,k){var T=k.GROUP;return(0,Ne.isString)(T)&&T!==Ar.Lexer.SKIPPED&&(v[T]=[]),v},{}),m=(0,Ne.map)(s,function(v,k){return{pattern:s[k],longerAlt:l[k],canLineTerminator:g[k],isCustom:f[k],short:h[k],group:a[k],push:c[k],pop:u[k],tokenTypeIdx:o[k],tokenType:i[k]}})});var y=!0,b=[];return e.safeMode||t(\"First Char Optimization\",function(){b=(0,Ne.reduce)(i,function(v,k,T){if(typeof k.PATTERN==\"string\"){var Y=k.PATTERN.charCodeAt(0),q=kS(Y);vS(v,q,m[T])}else if((0,Ne.isArray)(k.START_CHARS_HINT)){var $;(0,Ne.forEach)(k.START_CHARS_HINT,function(ne){var ee=typeof ne==\"string\"?ne.charCodeAt(0):ne,A=kS(ee);$!==A&&($=A,vS(v,A,m[T]))})}else if((0,Ne.isRegExp)(k.PATTERN))if(k.PATTERN.unicode)y=!1,e.ensureOptimizations&&(0,Ne.PRINT_ERROR)(\"\"+mg.failedOptimizationPrefixMsg+(\"\tUnable to analyze < \"+k.PATTERN.toString()+` > pattern.\n`)+`\tThe regexp unicode flag is not currently supported by the regexp-to-ast library.\n\tThis will disable the lexer's first char optimizations.\n\tFor details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{var z=(0,mg.getOptimizedStartCodesIndices)(k.PATTERN,e.ensureOptimizations);(0,Ne.isEmpty)(z)&&(y=!1),(0,Ne.forEach)(z,function(ne){vS(v,ne,m[T])})}else e.ensureOptimizations&&(0,Ne.PRINT_ERROR)(\"\"+mg.failedOptimizationPrefixMsg+(\"\tTokenType: <\"+k.name+`> is using a custom token pattern without providing <start_chars_hint> parameter.\n`)+`\tThis will disable the lexer's first char optimizations.\n\tFor details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),y=!1;return v},[])}),t(\"ArrayPacking\",function(){b=(0,Ne.packArray)(b)}),{emptyGroups:p,patternIdxToConfig:m,charCodeToPatternIdxToConfig:b,hasCustom:n,canBeOptimized:y}}Ze.analyzeTokenTypes=aEe;function lEe(r,e){var t=[],i=jH(r);t=t.concat(i.errors);var n=GH(i.valid),s=n.valid;return t=t.concat(n.errors),t=t.concat(AEe(s)),t=t.concat(YH(s)),t=t.concat(qH(s,e)),t=t.concat(JH(s)),t}Ze.validatePatterns=lEe;function AEe(r){var e=[],t=(0,Ne.filter)(r,function(i){return(0,Ne.isRegExp)(i[Ko])});return e=e.concat(WH(t)),e=e.concat(_H(t)),e=e.concat(VH(t)),e=e.concat(XH(t)),e=e.concat(zH(t)),e}function jH(r){var e=(0,Ne.filter)(r,function(n){return!(0,Ne.has)(n,Ko)}),t=(0,Ne.map)(e,function(n){return{message:\"Token Type: ->\"+n.name+\"<- missing static 'PATTERN' property\",type:Ar.LexerDefinitionErrorType.MISSING_PATTERN,tokenTypes:[n]}}),i=(0,Ne.difference)(r,e);return{errors:t,valid:i}}Ze.findMissingPatterns=jH;function GH(r){var e=(0,Ne.filter)(r,function(n){var s=n[Ko];return!(0,Ne.isRegExp)(s)&&!(0,Ne.isFunction)(s)&&!(0,Ne.has)(s,\"exec\")&&!(0,Ne.isString)(s)}),t=(0,Ne.map)(e,function(n){return{message:\"Token Type: ->\"+n.name+\"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.\",type:Ar.LexerDefinitionErrorType.INVALID_PATTERN,tokenTypes:[n]}}),i=(0,Ne.difference)(r,e);return{errors:t,valid:i}}Ze.findInvalidPatterns=GH;var cEe=/[^\\\\][\\$]/;function WH(r){var e=function(n){TH(s,n);function s(){var o=n!==null&&n.apply(this,arguments)||this;return o.found=!1,o}return s.prototype.visitEndAnchor=function(o){this.found=!0},s}(OH.BaseRegExpVisitor),t=(0,Ne.filter)(r,function(n){var s=n[Ko];try{var o=(0,MH.getRegExpAst)(s),a=new e;return a.visit(o),a.found}catch(l){return cEe.test(s.source)}}),i=(0,Ne.map)(t,function(n){return{message:`Unexpected RegExp Anchor Error:\n\tToken Type: ->`+n.name+`<- static 'PATTERN' cannot contain end of input anchor '$'\n\tSee chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS\tfor details.`,type:Ar.LexerDefinitionErrorType.EOI_ANCHOR_FOUND,tokenTypes:[n]}});return i}Ze.findEndOfInputAnchor=WH;function zH(r){var e=(0,Ne.filter)(r,function(i){var n=i[Ko];return n.test(\"\")}),t=(0,Ne.map)(e,function(i){return{message:\"Token Type: ->\"+i.name+\"<- static 'PATTERN' must not match an empty string\",type:Ar.LexerDefinitionErrorType.EMPTY_MATCH_PATTERN,tokenTypes:[i]}});return t}Ze.findEmptyMatchRegExps=zH;var uEe=/[^\\\\[][\\^]|^\\^/;function _H(r){var e=function(n){TH(s,n);function s(){var o=n!==null&&n.apply(this,arguments)||this;return o.found=!1,o}return s.prototype.visitStartAnchor=function(o){this.found=!0},s}(OH.BaseRegExpVisitor),t=(0,Ne.filter)(r,function(n){var s=n[Ko];try{var o=(0,MH.getRegExpAst)(s),a=new e;return a.visit(o),a.found}catch(l){return uEe.test(s.source)}}),i=(0,Ne.map)(t,function(n){return{message:`Unexpected RegExp Anchor Error:\n\tToken Type: ->`+n.name+`<- static 'PATTERN' cannot contain start of input anchor '^'\n\tSee https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS\tfor details.`,type:Ar.LexerDefinitionErrorType.SOI_ANCHOR_FOUND,tokenTypes:[n]}});return i}Ze.findStartOfInputAnchor=_H;function VH(r){var e=(0,Ne.filter)(r,function(i){var n=i[Ko];return n instanceof RegExp&&(n.multiline||n.global)}),t=(0,Ne.map)(e,function(i){return{message:\"Token Type: ->\"+i.name+\"<- static 'PATTERN' may NOT contain global('g') or multiline('m')\",type:Ar.LexerDefinitionErrorType.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[i]}});return t}Ze.findUnsupportedFlags=VH;function XH(r){var e=[],t=(0,Ne.map)(r,function(s){return(0,Ne.reduce)(r,function(o,a){return s.PATTERN.source===a.PATTERN.source&&!(0,Ne.contains)(e,a)&&a.PATTERN!==Ar.Lexer.NA&&(e.push(a),o.push(a)),o},[])});t=(0,Ne.compact)(t);var i=(0,Ne.filter)(t,function(s){return s.length>1}),n=(0,Ne.map)(i,function(s){var o=(0,Ne.map)(s,function(l){return l.name}),a=(0,Ne.first)(s).PATTERN;return{message:\"The same RegExp pattern ->\"+a+\"<-\"+(\"has been used in all of the following Token Types: \"+o.join(\", \")+\" <-\"),type:Ar.LexerDefinitionErrorType.DUPLICATE_PATTERNS_FOUND,tokenTypes:s}});return n}Ze.findDuplicatePatterns=XH;function YH(r){var e=(0,Ne.filter)(r,function(i){if(!(0,Ne.has)(i,\"GROUP\"))return!1;var n=i.GROUP;return n!==Ar.Lexer.SKIPPED&&n!==Ar.Lexer.NA&&!(0,Ne.isString)(n)}),t=(0,Ne.map)(e,function(i){return{message:\"Token Type: ->\"+i.name+\"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String\",type:Ar.LexerDefinitionErrorType.INVALID_GROUP_TYPE_FOUND,tokenTypes:[i]}});return t}Ze.findInvalidGroupType=YH;function qH(r,e){var t=(0,Ne.filter)(r,function(n){return n.PUSH_MODE!==void 0&&!(0,Ne.contains)(e,n.PUSH_MODE)}),i=(0,Ne.map)(t,function(n){var s=\"Token Type: ->\"+n.name+\"<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->\"+n.PUSH_MODE+\"<-which does not exist\";return{message:s,type:Ar.LexerDefinitionErrorType.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[n]}});return i}Ze.findModesThatDoNotExist=qH;function JH(r){var e=[],t=(0,Ne.reduce)(r,function(i,n,s){var o=n.PATTERN;return o===Ar.Lexer.NA||((0,Ne.isString)(o)?i.push({str:o,idx:s,tokenType:n}):(0,Ne.isRegExp)(o)&&fEe(o)&&i.push({str:o.source,idx:s,tokenType:n})),i},[]);return(0,Ne.forEach)(r,function(i,n){(0,Ne.forEach)(t,function(s){var o=s.str,a=s.idx,l=s.tokenType;if(n<a&&gEe(o,i.PATTERN)){var c=\"Token: ->\"+l.name+`<- can never be matched.\n`+(\"Because it appears AFTER the Token Type ->\"+i.name+\"<-\")+`in the lexer's definition.\nSee https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:c,type:Ar.LexerDefinitionErrorType.UNREACHABLE_PATTERN,tokenTypes:[i,l]})}})}),e}Ze.findUnreachablePatterns=JH;function gEe(r,e){if((0,Ne.isRegExp)(e)){var t=e.exec(r);return t!==null&&t.index===0}else{if((0,Ne.isFunction)(e))return e(r,0,[],{});if((0,Ne.has)(e,\"exec\"))return e.exec(r,0,[],{});if(typeof e==\"string\")return e===r;throw Error(\"non exhaustive match\")}}function fEe(r){var e=[\".\",\"\\\\\",\"[\",\"]\",\"|\",\"^\",\"$\",\"(\",\")\",\"?\",\"*\",\"+\",\"{\"];return(0,Ne.find)(e,function(t){return r.source.indexOf(t)!==-1})===void 0}function bS(r){var e=r.ignoreCase?\"i\":\"\";return new RegExp(\"^(?:\"+r.source+\")\",e)}Ze.addStartOfInput=bS;function QS(r){var e=r.ignoreCase?\"iy\":\"y\";return new RegExp(\"\"+r.source,e)}Ze.addStickyFlag=QS;function hEe(r,e,t){var i=[];return(0,Ne.has)(r,Ze.DEFAULT_MODE)||i.push({message:\"A MultiMode Lexer cannot be initialized without a <\"+Ze.DEFAULT_MODE+`> property in its definition\n`,type:Ar.LexerDefinitionErrorType.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),(0,Ne.has)(r,Ze.MODES)||i.push({message:\"A MultiMode Lexer cannot be initialized without a <\"+Ze.MODES+`> property in its definition\n`,type:Ar.LexerDefinitionErrorType.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),(0,Ne.has)(r,Ze.MODES)&&(0,Ne.has)(r,Ze.DEFAULT_MODE)&&!(0,Ne.has)(r.modes,r.defaultMode)&&i.push({message:\"A MultiMode Lexer cannot be initialized with a \"+Ze.DEFAULT_MODE+\": <\"+r.defaultMode+`>which does not exist\n`,type:Ar.LexerDefinitionErrorType.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),(0,Ne.has)(r,Ze.MODES)&&(0,Ne.forEach)(r.modes,function(n,s){(0,Ne.forEach)(n,function(o,a){(0,Ne.isUndefined)(o)&&i.push({message:\"A Lexer cannot be initialized using an undefined Token Type. Mode:\"+(\"<\"+s+\"> at index: <\"+a+`>\n`),type:Ar.LexerDefinitionErrorType.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED})})}),i}Ze.performRuntimeChecks=hEe;function pEe(r,e,t){var i=[],n=!1,s=(0,Ne.compact)((0,Ne.flatten)((0,Ne.mapValues)(r.modes,function(l){return l}))),o=(0,Ne.reject)(s,function(l){return l[Ko]===Ar.Lexer.NA}),a=HH(t);return e&&(0,Ne.forEach)(o,function(l){var c=KH(l,a);if(c!==!1){var u=ZH(l,c),g={message:u,type:c.issue,tokenType:l};i.push(g)}else(0,Ne.has)(l,\"LINE_BREAKS\")?l.LINE_BREAKS===!0&&(n=!0):(0,mg.canMatchCharCode)(a,l.PATTERN)&&(n=!0)}),e&&!n&&i.push({message:`Warning: No LINE_BREAKS Found.\n\tThis Lexer has been defined to track line and column information,\n\tBut none of the Token Types can be identified as matching a line terminator.\n\tSee https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS \n\tfor details.`,type:Ar.LexerDefinitionErrorType.NO_LINE_BREAKS_FLAGS}),i}Ze.performWarningRuntimeChecks=pEe;function dEe(r){var e={},t=(0,Ne.keys)(r);return(0,Ne.forEach)(t,function(i){var n=r[i];if((0,Ne.isArray)(n))e[i]=[];else throw Error(\"non exhaustive match\")}),e}Ze.cloneEmptyGroups=dEe;function SS(r){var e=r.PATTERN;if((0,Ne.isRegExp)(e))return!1;if((0,Ne.isFunction)(e))return!0;if((0,Ne.has)(e,\"exec\"))return!0;if((0,Ne.isString)(e))return!1;throw Error(\"non exhaustive match\")}Ze.isCustomPattern=SS;function UH(r){return(0,Ne.isString)(r)&&r.length===1?r.charCodeAt(0):!1}Ze.isShortPattern=UH;Ze.LineTerminatorOptimizedTester={test:function(r){for(var e=r.length,t=this.lastIndex;t<e;t++){var i=r.charCodeAt(t);if(i===10)return this.lastIndex=t+1,!0;if(i===13)return r.charCodeAt(t+1)===10?this.lastIndex=t+2:this.lastIndex=t+1,!0}return!1},lastIndex:0};function KH(r,e){if((0,Ne.has)(r,\"LINE_BREAKS\"))return!1;if((0,Ne.isRegExp)(r.PATTERN)){try{(0,mg.canMatchCharCode)(e,r.PATTERN)}catch(t){return{issue:Ar.LexerDefinitionErrorType.IDENTIFY_TERMINATOR,errMsg:t.message}}return!1}else{if((0,Ne.isString)(r.PATTERN))return!1;if(SS(r))return{issue:Ar.LexerDefinitionErrorType.CUSTOM_LINE_BREAK};throw Error(\"non exhaustive match\")}}function ZH(r,e){if(e.issue===Ar.LexerDefinitionErrorType.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern.\n`+(\"\tThe problem is in the <\"+r.name+`> Token Type\n`)+(\"\t Root cause: \"+e.errMsg+`.\n`)+\"\tFor details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR\";if(e.issue===Ar.LexerDefinitionErrorType.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the <line_breaks> option.\n`+(\"\tThe problem is in the <\"+r.name+`> Token Type\n`)+\"\tFor details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK\";throw Error(\"non exhaustive match\")}Ze.buildLineBreakIssueMessage=ZH;function HH(r){var e=(0,Ne.map)(r,function(t){return(0,Ne.isString)(t)&&t.length>0?t.charCodeAt(0):t});return e}function vS(r,e,t){r[e]===void 0?r[e]=[t]:r[e].push(t)}Ze.minOptimizationVal=256;var jI=[];function kS(r){return r<Ze.minOptimizationVal?r:jI[r]}Ze.charCodeToOptimizedIndex=kS;function oEe(){if((0,Ne.isEmpty)(jI)){jI=new Array(65536);for(var r=0;r<65536;r++)jI[r]=r>255?255+~~(r/255):r}}});var Eg=w(Ft=>{\"use strict\";Object.defineProperty(Ft,\"__esModule\",{value:!0});Ft.isTokenType=Ft.hasExtendingTokensTypesMapProperty=Ft.hasExtendingTokensTypesProperty=Ft.hasCategoriesProperty=Ft.hasShortKeyProperty=Ft.singleAssignCategoriesToksMap=Ft.assignCategoriesMapProp=Ft.assignCategoriesTokensProp=Ft.assignTokenDefaultProps=Ft.expandCategories=Ft.augmentTokenTypes=Ft.tokenIdxToClass=Ft.tokenShortNameIdx=Ft.tokenStructuredMatcherNoCategories=Ft.tokenStructuredMatcher=void 0;var ii=Yt();function CEe(r,e){var t=r.tokenTypeIdx;return t===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[t]===!0}Ft.tokenStructuredMatcher=CEe;function mEe(r,e){return r.tokenTypeIdx===e.tokenTypeIdx}Ft.tokenStructuredMatcherNoCategories=mEe;Ft.tokenShortNameIdx=1;Ft.tokenIdxToClass={};function EEe(r){var e=$H(r);ej(e),rj(e),tj(e),(0,ii.forEach)(e,function(t){t.isParent=t.categoryMatches.length>0})}Ft.augmentTokenTypes=EEe;function $H(r){for(var e=(0,ii.cloneArr)(r),t=r,i=!0;i;){t=(0,ii.compact)((0,ii.flatten)((0,ii.map)(t,function(s){return s.CATEGORIES})));var n=(0,ii.difference)(t,e);e=e.concat(n),(0,ii.isEmpty)(n)?i=!1:t=n}return e}Ft.expandCategories=$H;function ej(r){(0,ii.forEach)(r,function(e){ij(e)||(Ft.tokenIdxToClass[Ft.tokenShortNameIdx]=e,e.tokenTypeIdx=Ft.tokenShortNameIdx++),xS(e)&&!(0,ii.isArray)(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),xS(e)||(e.CATEGORIES=[]),nj(e)||(e.categoryMatches=[]),sj(e)||(e.categoryMatchesMap={})})}Ft.assignTokenDefaultProps=ej;function tj(r){(0,ii.forEach)(r,function(e){e.categoryMatches=[],(0,ii.forEach)(e.categoryMatchesMap,function(t,i){e.categoryMatches.push(Ft.tokenIdxToClass[i].tokenTypeIdx)})})}Ft.assignCategoriesTokensProp=tj;function rj(r){(0,ii.forEach)(r,function(e){PS([],e)})}Ft.assignCategoriesMapProp=rj;function PS(r,e){(0,ii.forEach)(r,function(t){e.categoryMatchesMap[t.tokenTypeIdx]=!0}),(0,ii.forEach)(e.CATEGORIES,function(t){var i=r.concat(e);(0,ii.contains)(i,t)||PS(i,t)})}Ft.singleAssignCategoriesToksMap=PS;function ij(r){return(0,ii.has)(r,\"tokenTypeIdx\")}Ft.hasShortKeyProperty=ij;function xS(r){return(0,ii.has)(r,\"CATEGORIES\")}Ft.hasCategoriesProperty=xS;function nj(r){return(0,ii.has)(r,\"categoryMatches\")}Ft.hasExtendingTokensTypesProperty=nj;function sj(r){return(0,ii.has)(r,\"categoryMatchesMap\")}Ft.hasExtendingTokensTypesMapProperty=sj;function IEe(r){return(0,ii.has)(r,\"tokenTypeIdx\")}Ft.isTokenType=IEe});var DS=w(GI=>{\"use strict\";Object.defineProperty(GI,\"__esModule\",{value:!0});GI.defaultLexerErrorProvider=void 0;GI.defaultLexerErrorProvider={buildUnableToPopLexerModeMessage:function(r){return\"Unable to pop Lexer Mode after encountering Token ->\"+r.image+\"<- The Mode Stack is empty\"},buildUnexpectedCharactersMessage:function(r,e,t,i,n){return\"unexpected character: ->\"+r.charAt(e)+\"<- at offset: \"+e+\",\"+(\" skipped \"+t+\" characters.\")}}});var Rp=w(Pc=>{\"use strict\";Object.defineProperty(Pc,\"__esModule\",{value:!0});Pc.Lexer=Pc.LexerDefinitionErrorType=void 0;var lo=wS(),lr=Yt(),yEe=Eg(),wEe=DS(),BEe=UI(),bEe;(function(r){r[r.MISSING_PATTERN=0]=\"MISSING_PATTERN\",r[r.INVALID_PATTERN=1]=\"INVALID_PATTERN\",r[r.EOI_ANCHOR_FOUND=2]=\"EOI_ANCHOR_FOUND\",r[r.UNSUPPORTED_FLAGS_FOUND=3]=\"UNSUPPORTED_FLAGS_FOUND\",r[r.DUPLICATE_PATTERNS_FOUND=4]=\"DUPLICATE_PATTERNS_FOUND\",r[r.INVALID_GROUP_TYPE_FOUND=5]=\"INVALID_GROUP_TYPE_FOUND\",r[r.PUSH_MODE_DOES_NOT_EXIST=6]=\"PUSH_MODE_DOES_NOT_EXIST\",r[r.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]=\"MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE\",r[r.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]=\"MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY\",r[r.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]=\"MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST\",r[r.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]=\"LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED\",r[r.SOI_ANCHOR_FOUND=11]=\"SOI_ANCHOR_FOUND\",r[r.EMPTY_MATCH_PATTERN=12]=\"EMPTY_MATCH_PATTERN\",r[r.NO_LINE_BREAKS_FLAGS=13]=\"NO_LINE_BREAKS_FLAGS\",r[r.UNREACHABLE_PATTERN=14]=\"UNREACHABLE_PATTERN\",r[r.IDENTIFY_TERMINATOR=15]=\"IDENTIFY_TERMINATOR\",r[r.CUSTOM_LINE_BREAK=16]=\"CUSTOM_LINE_BREAK\"})(bEe=Pc.LexerDefinitionErrorType||(Pc.LexerDefinitionErrorType={}));var Fp={deferDefinitionErrorsHandling:!1,positionTracking:\"full\",lineTerminatorsPattern:/\\n|\\r\\n?/g,lineTerminatorCharacters:[`\n`,\"\\r\"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:wEe.defaultLexerErrorProvider,traceInitPerf:!1,skipValidations:!1};Object.freeze(Fp);var QEe=function(){function r(e,t){var i=this;if(t===void 0&&(t=Fp),this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.config=void 0,this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},typeof t==\"boolean\")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object.\na boolean 2nd argument is no longer supported`);this.config=(0,lr.merge)(Fp,t);var n=this.config.traceInitPerf;n===!0?(this.traceInitMaxIdent=Infinity,this.traceInitPerf=!0):typeof n==\"number\"&&(this.traceInitMaxIdent=n,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT(\"Lexer Constructor\",function(){var s,o=!0;i.TRACE_INIT(\"Lexer Config handling\",function(){if(i.config.lineTerminatorsPattern===Fp.lineTerminatorsPattern)i.config.lineTerminatorsPattern=lo.LineTerminatorOptimizedTester;else if(i.config.lineTerminatorCharacters===Fp.lineTerminatorCharacters)throw Error(`Error: Missing <lineTerminatorCharacters> property on the Lexer config.\n\tFor details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(t.safeMode&&t.ensureOptimizations)throw Error('\"safeMode\" and \"ensureOptimizations\" flags are mutually exclusive.');i.trackStartLines=/full|onlyStart/i.test(i.config.positionTracking),i.trackEndLines=/full/i.test(i.config.positionTracking),(0,lr.isArray)(e)?(s={modes:{}},s.modes[lo.DEFAULT_MODE]=(0,lr.cloneArr)(e),s[lo.DEFAULT_MODE]=lo.DEFAULT_MODE):(o=!1,s=(0,lr.cloneObj)(e))}),i.config.skipValidations===!1&&(i.TRACE_INIT(\"performRuntimeChecks\",function(){i.lexerDefinitionErrors=i.lexerDefinitionErrors.concat((0,lo.performRuntimeChecks)(s,i.trackStartLines,i.config.lineTerminatorCharacters))}),i.TRACE_INIT(\"performWarningRuntimeChecks\",function(){i.lexerDefinitionWarning=i.lexerDefinitionWarning.concat((0,lo.performWarningRuntimeChecks)(s,i.trackStartLines,i.config.lineTerminatorCharacters))})),s.modes=s.modes?s.modes:{},(0,lr.forEach)(s.modes,function(u,g){s.modes[g]=(0,lr.reject)(u,function(f){return(0,lr.isUndefined)(f)})});var a=(0,lr.keys)(s.modes);if((0,lr.forEach)(s.modes,function(u,g){i.TRACE_INIT(\"Mode: <\"+g+\"> processing\",function(){if(i.modes.push(g),i.config.skipValidations===!1&&i.TRACE_INIT(\"validatePatterns\",function(){i.lexerDefinitionErrors=i.lexerDefinitionErrors.concat((0,lo.validatePatterns)(u,a))}),(0,lr.isEmpty)(i.lexerDefinitionErrors)){(0,yEe.augmentTokenTypes)(u);var f;i.TRACE_INIT(\"analyzeTokenTypes\",function(){f=(0,lo.analyzeTokenTypes)(u,{lineTerminatorCharacters:i.config.lineTerminatorCharacters,positionTracking:t.positionTracking,ensureOptimizations:t.ensureOptimizations,safeMode:t.safeMode,tracer:i.TRACE_INIT.bind(i)})}),i.patternIdxToConfig[g]=f.patternIdxToConfig,i.charCodeToPatternIdxToConfig[g]=f.charCodeToPatternIdxToConfig,i.emptyGroups=(0,lr.merge)(i.emptyGroups,f.emptyGroups),i.hasCustom=f.hasCustom||i.hasCustom,i.canModeBeOptimized[g]=f.canBeOptimized}})}),i.defaultMode=s.defaultMode,!(0,lr.isEmpty)(i.lexerDefinitionErrors)&&!i.config.deferDefinitionErrorsHandling){var l=(0,lr.map)(i.lexerDefinitionErrors,function(u){return u.message}),c=l.join(`-----------------------\n`);throw new Error(`Errors detected in definition of Lexer:\n`+c)}(0,lr.forEach)(i.lexerDefinitionWarning,function(u){(0,lr.PRINT_WARNING)(u.message)}),i.TRACE_INIT(\"Choosing sub-methods implementations\",function(){if(lo.SUPPORT_STICKY?(i.chopInput=lr.IDENTITY,i.match=i.matchWithTest):(i.updateLastIndex=lr.NOOP,i.match=i.matchWithExec),o&&(i.handleModes=lr.NOOP),i.trackStartLines===!1&&(i.computeNewColumn=lr.IDENTITY),i.trackEndLines===!1&&(i.updateTokenEndLineColumnLocation=lr.NOOP),/full/i.test(i.config.positionTracking))i.createTokenInstance=i.createFullToken;else if(/onlyStart/i.test(i.config.positionTracking))i.createTokenInstance=i.createStartOnlyToken;else if(/onlyOffset/i.test(i.config.positionTracking))i.createTokenInstance=i.createOffsetOnlyToken;else throw Error('Invalid <positionTracking> config option: \"'+i.config.positionTracking+'\"');i.hasCustom?(i.addToken=i.addTokenUsingPush,i.handlePayload=i.handlePayloadWithCustom):(i.addToken=i.addTokenUsingMemberAccess,i.handlePayload=i.handlePayloadNoCustom)}),i.TRACE_INIT(\"Failed Optimization Warnings\",function(){var u=(0,lr.reduce)(i.canModeBeOptimized,function(g,f,h){return f===!1&&g.push(h),g},[]);if(t.ensureOptimizations&&!(0,lr.isEmpty)(u))throw Error(\"Lexer Modes: < \"+u.join(\", \")+` > cannot be optimized.\n\t Disable the \"ensureOptimizations\" lexer config flag to silently ignore this and run the lexer in an un-optimized mode.\n\t Or inspect the console log for details on how to resolve these issues.`)}),i.TRACE_INIT(\"clearRegExpParserCache\",function(){(0,BEe.clearRegExpParserCache)()}),i.TRACE_INIT(\"toFastProperties\",function(){(0,lr.toFastProperties)(i)})})}return r.prototype.tokenize=function(e,t){if(t===void 0&&(t=this.defaultMode),!(0,lr.isEmpty)(this.lexerDefinitionErrors)){var i=(0,lr.map)(this.lexerDefinitionErrors,function(o){return o.message}),n=i.join(`-----------------------\n`);throw new Error(`Unable to Tokenize because Errors detected in definition of Lexer:\n`+n)}var s=this.tokenizeInternal(e,t);return s},r.prototype.tokenizeInternal=function(e,t){var i=this,n,s,o,a,l,c,u,g,f,h,p,m,y,b,v,k,T=e,Y=T.length,q=0,$=0,z=this.hasCustom?0:Math.floor(e.length/10),ne=new Array(z),ee=[],A=this.trackStartLines?1:void 0,oe=this.trackStartLines?1:void 0,ce=(0,lo.cloneEmptyGroups)(this.emptyGroups),Z=this.trackStartLines,O=this.config.lineTerminatorsPattern,L=0,de=[],Be=[],Ge=[],re=[];Object.freeze(re);var se=void 0;function be(){return de}function he(Sr){var Gn=(0,lo.charCodeToOptimizedIndex)(Sr),fs=Be[Gn];return fs===void 0?re:fs}var Fe=function(Sr){if(Ge.length===1&&Sr.tokenType.PUSH_MODE===void 0){var Gn=i.config.errorMessageProvider.buildUnableToPopLexerModeMessage(Sr);ee.push({offset:Sr.startOffset,line:Sr.startLine!==void 0?Sr.startLine:void 0,column:Sr.startColumn!==void 0?Sr.startColumn:void 0,length:Sr.image.length,message:Gn})}else{Ge.pop();var fs=(0,lr.last)(Ge);de=i.patternIdxToConfig[fs],Be=i.charCodeToPatternIdxToConfig[fs],L=de.length;var Qa=i.canModeBeOptimized[fs]&&i.config.safeMode===!1;Be&&Qa?se=he:se=be}};function Ue(Sr){Ge.push(Sr),Be=this.charCodeToPatternIdxToConfig[Sr],de=this.patternIdxToConfig[Sr],L=de.length,L=de.length;var Gn=this.canModeBeOptimized[Sr]&&this.config.safeMode===!1;Be&&Gn?se=he:se=be}Ue.call(this,t);for(var xe;q<Y;){c=null;var ve=T.charCodeAt(q),pe=se(ve),V=pe.length;for(n=0;n<V;n++){xe=pe[n];var Qe=xe.pattern;u=null;var le=xe.short;if(le!==!1?ve===le&&(c=Qe):xe.isCustom===!0?(k=Qe.exec(T,q,ne,ce),k!==null?(c=k[0],k.payload!==void 0&&(u=k.payload)):c=null):(this.updateLastIndex(Qe,q),c=this.match(Qe,e,q)),c!==null){if(l=xe.longerAlt,l!==void 0){var fe=l.length;for(o=0;o<fe;o++){var gt=de[l[o]],Ht=gt.pattern;if(g=null,gt.isCustom===!0?(k=Ht.exec(T,q,ne,ce),k!==null?(a=k[0],k.payload!==void 0&&(g=k.payload)):a=null):(this.updateLastIndex(Ht,q),a=this.match(Ht,e,q)),a&&a.length>c.length){c=a,u=g,xe=gt;break}}}break}}if(c!==null){if(f=c.length,h=xe.group,h!==void 0&&(p=xe.tokenTypeIdx,m=this.createTokenInstance(c,q,p,xe.tokenType,A,oe,f),this.handlePayload(m,u),h===!1?$=this.addToken(ne,$,m):ce[h].push(m)),e=this.chopInput(e,f),q=q+f,oe=this.computeNewColumn(oe,f),Z===!0&&xe.canLineTerminator===!0){var Mt=0,Ei=void 0,jt=void 0;O.lastIndex=0;do Ei=O.test(c),Ei===!0&&(jt=O.lastIndex-1,Mt++);while(Ei===!0);Mt!==0&&(A=A+Mt,oe=f-jt,this.updateTokenEndLineColumnLocation(m,h,jt,Mt,A,oe,f))}this.handleModes(xe,Fe,Ue,m)}else{for(var Qr=q,Oi=A,$s=oe,Hn=!1;!Hn&&q<Y;)for(b=T.charCodeAt(q),e=this.chopInput(e,1),q++,s=0;s<L;s++){var jn=de[s],Qe=jn.pattern,le=jn.short;if(le!==!1?T.charCodeAt(q)===le&&(Hn=!0):jn.isCustom===!0?Hn=Qe.exec(T,q,ne,ce)!==null:(this.updateLastIndex(Qe,q),Hn=Qe.exec(e)!==null),Hn===!0)break}y=q-Qr,v=this.config.errorMessageProvider.buildUnexpectedCharactersMessage(T,Qr,y,Oi,$s),ee.push({offset:Qr,line:Oi,column:$s,length:y,message:v})}}return this.hasCustom||(ne.length=$),{tokens:ne,groups:ce,errors:ee}},r.prototype.handleModes=function(e,t,i,n){if(e.pop===!0){var s=e.push;t(n),s!==void 0&&i.call(this,s)}else e.push!==void 0&&i.call(this,e.push)},r.prototype.chopInput=function(e,t){return e.substring(t)},r.prototype.updateLastIndex=function(e,t){e.lastIndex=t},r.prototype.updateTokenEndLineColumnLocation=function(e,t,i,n,s,o,a){var l,c;t!==void 0&&(l=i===a-1,c=l?-1:0,n===1&&l===!0||(e.endLine=s+c,e.endColumn=o-1+-c))},r.prototype.computeNewColumn=function(e,t){return e+t},r.prototype.createTokenInstance=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return null},r.prototype.createOffsetOnlyToken=function(e,t,i,n){return{image:e,startOffset:t,tokenTypeIdx:i,tokenType:n}},r.prototype.createStartOnlyToken=function(e,t,i,n,s,o){return{image:e,startOffset:t,startLine:s,startColumn:o,tokenTypeIdx:i,tokenType:n}},r.prototype.createFullToken=function(e,t,i,n,s,o,a){return{image:e,startOffset:t,endOffset:t+a-1,startLine:s,endLine:s,startColumn:o,endColumn:o+a-1,tokenTypeIdx:i,tokenType:n}},r.prototype.addToken=function(e,t,i){return 666},r.prototype.addTokenUsingPush=function(e,t,i){return e.push(i),t},r.prototype.addTokenUsingMemberAccess=function(e,t,i){return e[t]=i,t++,t},r.prototype.handlePayload=function(e,t){},r.prototype.handlePayloadNoCustom=function(e,t){},r.prototype.handlePayloadWithCustom=function(e,t){t!==null&&(e.payload=t)},r.prototype.match=function(e,t,i){return null},r.prototype.matchWithTest=function(e,t,i){var n=e.test(t);return n===!0?t.substring(i,e.lastIndex):null},r.prototype.matchWithExec=function(e,t){var i=e.exec(t);return i!==null?i[0]:i},r.prototype.TRACE_INIT=function(e,t){if(this.traceInitPerf===!0){this.traceInitIndent++;var i=new Array(this.traceInitIndent+1).join(\"\t\");this.traceInitIndent<this.traceInitMaxIdent&&console.log(i+\"--> <\"+e+\">\");var n=(0,lr.timer)(t),s=n.time,o=n.value,a=s>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&a(i+\"<-- <\"+e+\"> time: \"+s+\"ms\"),this.traceInitIndent--,o}else return t()},r.SKIPPED=\"This marks a skipped Token pattern, this means each token identified by it willbe consumed and then thrown into oblivion, this can be used to for example to completely ignore whitespace.\",r.NA=/NOT_APPLICABLE/,r}();Pc.Lexer=QEe});var ZA=w(Pi=>{\"use strict\";Object.defineProperty(Pi,\"__esModule\",{value:!0});Pi.tokenMatcher=Pi.createTokenInstance=Pi.EOF=Pi.createToken=Pi.hasTokenLabel=Pi.tokenName=Pi.tokenLabel=void 0;var co=Yt(),SEe=Rp(),RS=Eg();function vEe(r){return oj(r)?r.LABEL:r.name}Pi.tokenLabel=vEe;function kEe(r){return r.name}Pi.tokenName=kEe;function oj(r){return(0,co.isString)(r.LABEL)&&r.LABEL!==\"\"}Pi.hasTokenLabel=oj;var xEe=\"parent\",aj=\"categories\",Aj=\"label\",lj=\"group\",cj=\"push_mode\",uj=\"pop_mode\",gj=\"longer_alt\",fj=\"line_breaks\",hj=\"start_chars_hint\";function pj(r){return PEe(r)}Pi.createToken=pj;function PEe(r){var e=r.pattern,t={};if(t.name=r.name,(0,co.isUndefined)(e)||(t.PATTERN=e),(0,co.has)(r,xEe))throw`The parent property is no longer supported.\nSee: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return(0,co.has)(r,aj)&&(t.CATEGORIES=r[aj]),(0,RS.augmentTokenTypes)([t]),(0,co.has)(r,Aj)&&(t.LABEL=r[Aj]),(0,co.has)(r,lj)&&(t.GROUP=r[lj]),(0,co.has)(r,uj)&&(t.POP_MODE=r[uj]),(0,co.has)(r,cj)&&(t.PUSH_MODE=r[cj]),(0,co.has)(r,gj)&&(t.LONGER_ALT=r[gj]),(0,co.has)(r,fj)&&(t.LINE_BREAKS=r[fj]),(0,co.has)(r,hj)&&(t.START_CHARS_HINT=r[hj]),t}Pi.EOF=pj({name:\"EOF\",pattern:SEe.Lexer.NA});(0,RS.augmentTokenTypes)([Pi.EOF]);function DEe(r,e,t,i,n,s,o,a){return{image:e,startOffset:t,endOffset:i,startLine:n,endLine:s,startColumn:o,endColumn:a,tokenTypeIdx:r.tokenTypeIdx,tokenType:r}}Pi.createTokenInstance=DEe;function REe(r,e){return(0,RS.tokenStructuredMatcher)(r,e)}Pi.tokenMatcher=REe});var bn=w(Vt=>{\"use strict\";var Ya=Vt&&Vt.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!=\"function\"&&t!==null)throw new TypeError(\"Class extends value \"+String(t)+\" is not a constructor or null\");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Vt,\"__esModule\",{value:!0});Vt.serializeProduction=Vt.serializeGrammar=Vt.Terminal=Vt.Alternation=Vt.RepetitionWithSeparator=Vt.Repetition=Vt.RepetitionMandatoryWithSeparator=Vt.RepetitionMandatory=Vt.Option=Vt.Alternative=Vt.Rule=Vt.NonTerminal=Vt.AbstractProduction=void 0;var fr=Yt(),FEe=ZA(),Ho=function(){function r(e){this._definition=e}return Object.defineProperty(r.prototype,\"definition\",{get:function(){return this._definition},set:function(e){this._definition=e},enumerable:!1,configurable:!0}),r.prototype.accept=function(e){e.visit(this),(0,fr.forEach)(this.definition,function(t){t.accept(e)})},r}();Vt.AbstractProduction=Ho;var dj=function(r){Ya(e,r);function e(t){var i=r.call(this,[])||this;return i.idx=1,(0,fr.assign)(i,(0,fr.pick)(t,function(n){return n!==void 0})),i}return Object.defineProperty(e.prototype,\"definition\",{get:function(){return this.referencedRule!==void 0?this.referencedRule.definition:[]},set:function(t){},enumerable:!1,configurable:!0}),e.prototype.accept=function(t){t.visit(this)},e}(Ho);Vt.NonTerminal=dj;var Cj=function(r){Ya(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.orgText=\"\",(0,fr.assign)(i,(0,fr.pick)(t,function(n){return n!==void 0})),i}return e}(Ho);Vt.Rule=Cj;var mj=function(r){Ya(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.ignoreAmbiguities=!1,(0,fr.assign)(i,(0,fr.pick)(t,function(n){return n!==void 0})),i}return e}(Ho);Vt.Alternative=mj;var Ej=function(r){Ya(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,fr.assign)(i,(0,fr.pick)(t,function(n){return n!==void 0})),i}return e}(Ho);Vt.Option=Ej;var Ij=function(r){Ya(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,fr.assign)(i,(0,fr.pick)(t,function(n){return n!==void 0})),i}return e}(Ho);Vt.RepetitionMandatory=Ij;var yj=function(r){Ya(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,fr.assign)(i,(0,fr.pick)(t,function(n){return n!==void 0})),i}return e}(Ho);Vt.RepetitionMandatoryWithSeparator=yj;var wj=function(r){Ya(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,fr.assign)(i,(0,fr.pick)(t,function(n){return n!==void 0})),i}return e}(Ho);Vt.Repetition=wj;var Bj=function(r){Ya(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,fr.assign)(i,(0,fr.pick)(t,function(n){return n!==void 0})),i}return e}(Ho);Vt.RepetitionWithSeparator=Bj;var bj=function(r){Ya(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,i.ignoreAmbiguities=!1,i.hasPredicates=!1,(0,fr.assign)(i,(0,fr.pick)(t,function(n){return n!==void 0})),i}return Object.defineProperty(e.prototype,\"definition\",{get:function(){return this._definition},set:function(t){this._definition=t},enumerable:!1,configurable:!0}),e}(Ho);Vt.Alternation=bj;var YI=function(){function r(e){this.idx=1,(0,fr.assign)(this,(0,fr.pick)(e,function(t){return t!==void 0}))}return r.prototype.accept=function(e){e.visit(this)},r}();Vt.Terminal=YI;function NEe(r){return(0,fr.map)(r,Np)}Vt.serializeGrammar=NEe;function Np(r){function e(s){return(0,fr.map)(s,Np)}if(r instanceof dj){var t={type:\"NonTerminal\",name:r.nonTerminalName,idx:r.idx};return(0,fr.isString)(r.label)&&(t.label=r.label),t}else{if(r instanceof mj)return{type:\"Alternative\",definition:e(r.definition)};if(r instanceof Ej)return{type:\"Option\",idx:r.idx,definition:e(r.definition)};if(r instanceof Ij)return{type:\"RepetitionMandatory\",idx:r.idx,definition:e(r.definition)};if(r instanceof yj)return{type:\"RepetitionMandatoryWithSeparator\",idx:r.idx,separator:Np(new YI({terminalType:r.separator})),definition:e(r.definition)};if(r instanceof Bj)return{type:\"RepetitionWithSeparator\",idx:r.idx,separator:Np(new YI({terminalType:r.separator})),definition:e(r.definition)};if(r instanceof wj)return{type:\"Repetition\",idx:r.idx,definition:e(r.definition)};if(r instanceof bj)return{type:\"Alternation\",idx:r.idx,definition:e(r.definition)};if(r instanceof YI){var i={type:\"Terminal\",name:r.terminalType.name,label:(0,FEe.tokenLabel)(r.terminalType),idx:r.idx};(0,fr.isString)(r.label)&&(i.terminalLabel=r.label);var n=r.terminalType.PATTERN;return r.terminalType.PATTERN&&(i.pattern=(0,fr.isRegExp)(n)?n.source:n),i}else{if(r instanceof Cj)return{type:\"Rule\",name:r.name,orgText:r.orgText,definition:e(r.definition)};throw Error(\"non exhaustive match\")}}}Vt.serializeProduction=Np});var JI=w(qI=>{\"use strict\";Object.defineProperty(qI,\"__esModule\",{value:!0});qI.RestWalker=void 0;var FS=Yt(),Qn=bn(),LEe=function(){function r(){}return r.prototype.walk=function(e,t){var i=this;t===void 0&&(t=[]),(0,FS.forEach)(e.definition,function(n,s){var o=(0,FS.drop)(e.definition,s+1);if(n instanceof Qn.NonTerminal)i.walkProdRef(n,o,t);else if(n instanceof Qn.Terminal)i.walkTerminal(n,o,t);else if(n instanceof Qn.Alternative)i.walkFlat(n,o,t);else if(n instanceof Qn.Option)i.walkOption(n,o,t);else if(n instanceof Qn.RepetitionMandatory)i.walkAtLeastOne(n,o,t);else if(n instanceof Qn.RepetitionMandatoryWithSeparator)i.walkAtLeastOneSep(n,o,t);else if(n instanceof Qn.RepetitionWithSeparator)i.walkManySep(n,o,t);else if(n instanceof Qn.Repetition)i.walkMany(n,o,t);else if(n instanceof Qn.Alternation)i.walkOr(n,o,t);else throw Error(\"non exhaustive match\")})},r.prototype.walkTerminal=function(e,t,i){},r.prototype.walkProdRef=function(e,t,i){},r.prototype.walkFlat=function(e,t,i){var n=t.concat(i);this.walk(e,n)},r.prototype.walkOption=function(e,t,i){var n=t.concat(i);this.walk(e,n)},r.prototype.walkAtLeastOne=function(e,t,i){var n=[new Qn.Option({definition:e.definition})].concat(t,i);this.walk(e,n)},r.prototype.walkAtLeastOneSep=function(e,t,i){var n=Qj(e,t,i);this.walk(e,n)},r.prototype.walkMany=function(e,t,i){var n=[new Qn.Option({definition:e.definition})].concat(t,i);this.walk(e,n)},r.prototype.walkManySep=function(e,t,i){var n=Qj(e,t,i);this.walk(e,n)},r.prototype.walkOr=function(e,t,i){var n=this,s=t.concat(i);(0,FS.forEach)(e.definition,function(o){var a=new Qn.Alternative({definition:[o]});n.walk(a,s)})},r}();qI.RestWalker=LEe;function Qj(r,e,t){var i=[new Qn.Option({definition:[new Qn.Terminal({terminalType:r.separator})].concat(r.definition)})],n=i.concat(e,t);return n}});var Ig=w(WI=>{\"use strict\";Object.defineProperty(WI,\"__esModule\",{value:!0});WI.GAstVisitor=void 0;var jo=bn(),TEe=function(){function r(){}return r.prototype.visit=function(e){var t=e;switch(t.constructor){case jo.NonTerminal:return this.visitNonTerminal(t);case jo.Alternative:return this.visitAlternative(t);case jo.Option:return this.visitOption(t);case jo.RepetitionMandatory:return this.visitRepetitionMandatory(t);case jo.RepetitionMandatoryWithSeparator:return this.visitRepetitionMandatoryWithSeparator(t);case jo.RepetitionWithSeparator:return this.visitRepetitionWithSeparator(t);case jo.Repetition:return this.visitRepetition(t);case jo.Alternation:return this.visitAlternation(t);case jo.Terminal:return this.visitTerminal(t);case jo.Rule:return this.visitRule(t);default:throw Error(\"non exhaustive match\")}},r.prototype.visitNonTerminal=function(e){},r.prototype.visitAlternative=function(e){},r.prototype.visitOption=function(e){},r.prototype.visitRepetition=function(e){},r.prototype.visitRepetitionMandatory=function(e){},r.prototype.visitRepetitionMandatoryWithSeparator=function(e){},r.prototype.visitRepetitionWithSeparator=function(e){},r.prototype.visitAlternation=function(e){},r.prototype.visitTerminal=function(e){},r.prototype.visitRule=function(e){},r}();WI.GAstVisitor=TEe});var Tp=w(Gi=>{\"use strict\";var OEe=Gi&&Gi.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!=\"function\"&&t!==null)throw new TypeError(\"Class extends value \"+String(t)+\" is not a constructor or null\");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Gi,\"__esModule\",{value:!0});Gi.collectMethods=Gi.DslMethodsCollectorVisitor=Gi.getProductionDslName=Gi.isBranchingProd=Gi.isOptionalProd=Gi.isSequenceProd=void 0;var Lp=Yt(),kr=bn(),MEe=Ig();function UEe(r){return r instanceof kr.Alternative||r instanceof kr.Option||r instanceof kr.Repetition||r instanceof kr.RepetitionMandatory||r instanceof kr.RepetitionMandatoryWithSeparator||r instanceof kr.RepetitionWithSeparator||r instanceof kr.Terminal||r instanceof kr.Rule}Gi.isSequenceProd=UEe;function NS(r,e){e===void 0&&(e=[]);var t=r instanceof kr.Option||r instanceof kr.Repetition||r instanceof kr.RepetitionWithSeparator;return t?!0:r instanceof kr.Alternation?(0,Lp.some)(r.definition,function(i){return NS(i,e)}):r instanceof kr.NonTerminal&&(0,Lp.contains)(e,r)?!1:r instanceof kr.AbstractProduction?(r instanceof kr.NonTerminal&&e.push(r),(0,Lp.every)(r.definition,function(i){return NS(i,e)})):!1}Gi.isOptionalProd=NS;function KEe(r){return r instanceof kr.Alternation}Gi.isBranchingProd=KEe;function HEe(r){if(r instanceof kr.NonTerminal)return\"SUBRULE\";if(r instanceof kr.Option)return\"OPTION\";if(r instanceof kr.Alternation)return\"OR\";if(r instanceof kr.RepetitionMandatory)return\"AT_LEAST_ONE\";if(r instanceof kr.RepetitionMandatoryWithSeparator)return\"AT_LEAST_ONE_SEP\";if(r instanceof kr.RepetitionWithSeparator)return\"MANY_SEP\";if(r instanceof kr.Repetition)return\"MANY\";if(r instanceof kr.Terminal)return\"CONSUME\";throw Error(\"non exhaustive match\")}Gi.getProductionDslName=HEe;var Sj=function(r){OEe(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.separator=\"-\",t.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]},t}return e.prototype.reset=function(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}},e.prototype.visitTerminal=function(t){var i=t.terminalType.name+this.separator+\"Terminal\";(0,Lp.has)(this.dslMethods,i)||(this.dslMethods[i]=[]),this.dslMethods[i].push(t)},e.prototype.visitNonTerminal=function(t){var i=t.nonTerminalName+this.separator+\"Terminal\";(0,Lp.has)(this.dslMethods,i)||(this.dslMethods[i]=[]),this.dslMethods[i].push(t)},e.prototype.visitOption=function(t){this.dslMethods.option.push(t)},e.prototype.visitRepetitionWithSeparator=function(t){this.dslMethods.repetitionWithSeparator.push(t)},e.prototype.visitRepetitionMandatory=function(t){this.dslMethods.repetitionMandatory.push(t)},e.prototype.visitRepetitionMandatoryWithSeparator=function(t){this.dslMethods.repetitionMandatoryWithSeparator.push(t)},e.prototype.visitRepetition=function(t){this.dslMethods.repetition.push(t)},e.prototype.visitAlternation=function(t){this.dslMethods.alternation.push(t)},e}(MEe.GAstVisitor);Gi.DslMethodsCollectorVisitor=Sj;var zI=new Sj;function jEe(r){zI.reset(),r.accept(zI);var e=zI.dslMethods;return zI.reset(),e}Gi.collectMethods=jEe});var TS=w(Go=>{\"use strict\";Object.defineProperty(Go,\"__esModule\",{value:!0});Go.firstForTerminal=Go.firstForBranching=Go.firstForSequence=Go.first=void 0;var _I=Yt(),vj=bn(),LS=Tp();function VI(r){if(r instanceof vj.NonTerminal)return VI(r.referencedRule);if(r instanceof vj.Terminal)return Pj(r);if((0,LS.isSequenceProd)(r))return kj(r);if((0,LS.isBranchingProd)(r))return xj(r);throw Error(\"non exhaustive match\")}Go.first=VI;function kj(r){for(var e=[],t=r.definition,i=0,n=t.length>i,s,o=!0;n&&o;)s=t[i],o=(0,LS.isOptionalProd)(s),e=e.concat(VI(s)),i=i+1,n=t.length>i;return(0,_I.uniq)(e)}Go.firstForSequence=kj;function xj(r){var e=(0,_I.map)(r.definition,function(t){return VI(t)});return(0,_I.uniq)((0,_I.flatten)(e))}Go.firstForBranching=xj;function Pj(r){return[r.terminalType]}Go.firstForTerminal=Pj});var OS=w(XI=>{\"use strict\";Object.defineProperty(XI,\"__esModule\",{value:!0});XI.IN=void 0;XI.IN=\"_~IN~_\"});var Lj=w(ks=>{\"use strict\";var GEe=ks&&ks.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!=\"function\"&&t!==null)throw new TypeError(\"Class extends value \"+String(t)+\" is not a constructor or null\");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(ks,\"__esModule\",{value:!0});ks.buildInProdFollowPrefix=ks.buildBetweenProdsFollowPrefix=ks.computeAllProdsFollows=ks.ResyncFollowsWalker=void 0;var YEe=JI(),qEe=TS(),Dj=Yt(),Rj=OS(),JEe=bn(),Nj=function(r){GEe(e,r);function e(t){var i=r.call(this)||this;return i.topProd=t,i.follows={},i}return e.prototype.startWalking=function(){return this.walk(this.topProd),this.follows},e.prototype.walkTerminal=function(t,i,n){},e.prototype.walkProdRef=function(t,i,n){var s=Fj(t.referencedRule,t.idx)+this.topProd.name,o=i.concat(n),a=new JEe.Alternative({definition:o}),l=(0,qEe.first)(a);this.follows[s]=l},e}(YEe.RestWalker);ks.ResyncFollowsWalker=Nj;function WEe(r){var e={};return(0,Dj.forEach)(r,function(t){var i=new Nj(t).startWalking();(0,Dj.assign)(e,i)}),e}ks.computeAllProdsFollows=WEe;function Fj(r,e){return r.name+e+Rj.IN}ks.buildBetweenProdsFollowPrefix=Fj;function zEe(r){var e=r.terminalType.name;return e+r.idx+Rj.IN}ks.buildInProdFollowPrefix=zEe});var Op=w(qa=>{\"use strict\";Object.defineProperty(qa,\"__esModule\",{value:!0});qa.defaultGrammarValidatorErrorProvider=qa.defaultGrammarResolverErrorProvider=qa.defaultParserErrorProvider=void 0;var yg=ZA(),_Ee=Yt(),uo=Yt(),MS=bn(),Tj=Tp();qa.defaultParserErrorProvider={buildMismatchTokenMessage:function(r){var e=r.expected,t=r.actual,i=r.previous,n=r.ruleName,s=(0,yg.hasTokenLabel)(e),o=s?\"--> \"+(0,yg.tokenLabel)(e)+\" <--\":\"token of type --> \"+e.name+\" <--\",a=\"Expecting \"+o+\" but found --> '\"+t.image+\"' <--\";return a},buildNotAllInputParsedMessage:function(r){var e=r.firstRedundant,t=r.ruleName;return\"Redundant input, expecting EOF but found: \"+e.image},buildNoViableAltMessage:function(r){var e=r.expectedPathsPerAlt,t=r.actual,i=r.previous,n=r.customUserDescription,s=r.ruleName,o=\"Expecting: \",a=(0,uo.first)(t).image,l=`\nbut found: '`+a+\"'\";if(n)return o+n+l;var c=(0,uo.reduce)(e,function(h,p){return h.concat(p)},[]),u=(0,uo.map)(c,function(h){return\"[\"+(0,uo.map)(h,function(p){return(0,yg.tokenLabel)(p)}).join(\", \")+\"]\"}),g=(0,uo.map)(u,function(h,p){return\"  \"+(p+1)+\". \"+h}),f=`one of these possible Token sequences:\n`+g.join(`\n`);return o+f+l},buildEarlyExitMessage:function(r){var e=r.expectedIterationPaths,t=r.actual,i=r.customUserDescription,n=r.ruleName,s=\"Expecting: \",o=(0,uo.first)(t).image,a=`\nbut found: '`+o+\"'\";if(i)return s+i+a;var l=(0,uo.map)(e,function(u){return\"[\"+(0,uo.map)(u,function(g){return(0,yg.tokenLabel)(g)}).join(\",\")+\"]\"}),c=`expecting at least one iteration which starts with one of these possible Token sequences::\n  `+(\"<\"+l.join(\" ,\")+\">\");return s+c+a}};Object.freeze(qa.defaultParserErrorProvider);qa.defaultGrammarResolverErrorProvider={buildRuleNotFoundError:function(r,e){var t=\"Invalid grammar, reference to a rule which is not defined: ->\"+e.nonTerminalName+`<-\ninside top level rule: ->`+r.name+\"<-\";return t}};qa.defaultGrammarValidatorErrorProvider={buildDuplicateFoundError:function(r,e){function t(u){return u instanceof MS.Terminal?u.terminalType.name:u instanceof MS.NonTerminal?u.nonTerminalName:\"\"}var i=r.name,n=(0,uo.first)(e),s=n.idx,o=(0,Tj.getProductionDslName)(n),a=t(n),l=s>0,c=\"->\"+o+(l?s:\"\")+\"<- \"+(a?\"with argument: ->\"+a+\"<-\":\"\")+`\n                  appears more than once (`+e.length+\" times) in the top level rule: ->\"+i+`<-.                  \n                  For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES \n                  `;return c=c.replace(/[ \\t]+/g,\" \"),c=c.replace(/\\s\\s+/g,`\n`),c},buildNamespaceConflictError:function(r){var e=`Namespace conflict found in grammar.\n`+(\"The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <\"+r.name+`>.\n`)+`To resolve this make sure each Terminal and Non-Terminal names are unique\nThis is easy to accomplish by using the convention that Terminal names start with an uppercase letter\nand Non-Terminal names start with a lower case letter.`;return e},buildAlternationPrefixAmbiguityError:function(r){var e=(0,uo.map)(r.prefixPath,function(n){return(0,yg.tokenLabel)(n)}).join(\", \"),t=r.alternation.idx===0?\"\":r.alternation.idx,i=\"Ambiguous alternatives: <\"+r.ambiguityIndices.join(\" ,\")+`> due to common lookahead prefix\n`+(\"in <OR\"+t+\"> inside <\"+r.topLevelRule.name+`> Rule,\n`)+(\"<\"+e+`> may appears as a prefix path in all these alternatives.\n`)+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX\nFor Further details.`;return i},buildAlternationAmbiguityError:function(r){var e=(0,uo.map)(r.prefixPath,function(n){return(0,yg.tokenLabel)(n)}).join(\", \"),t=r.alternation.idx===0?\"\":r.alternation.idx,i=\"Ambiguous Alternatives Detected: <\"+r.ambiguityIndices.join(\" ,\")+\"> in <OR\"+t+\">\"+(\" inside <\"+r.topLevelRule.name+`> Rule,\n`)+(\"<\"+e+`> may appears as a prefix path in all these alternatives.\n`);return i=i+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES\nFor Further details.`,i},buildEmptyRepetitionError:function(r){var e=(0,Tj.getProductionDslName)(r.repetition);r.repetition.idx!==0&&(e+=r.repetition.idx);var t=\"The repetition <\"+e+\"> within Rule <\"+r.topLevelRule.name+`> can never consume any tokens.\nThis could lead to an infinite loop.`;return t},buildTokenNameError:function(r){return\"deprecated\"},buildEmptyAlternationError:function(r){var e=\"Ambiguous empty alternative: <\"+(r.emptyChoiceIdx+1)+\">\"+(\" in <OR\"+r.alternation.idx+\"> inside <\"+r.topLevelRule.name+`> Rule.\n`)+\"Only the last alternative may be an empty alternative.\";return e},buildTooManyAlternativesError:function(r){var e=`An Alternation cannot have more than 256 alternatives:\n`+(\"<OR\"+r.alternation.idx+\"> inside <\"+r.topLevelRule.name+`> Rule.\n has `+(r.alternation.definition.length+1)+\" alternatives.\");return e},buildLeftRecursionError:function(r){var e=r.topLevelRule.name,t=_Ee.map(r.leftRecursionPath,function(s){return s.name}),i=e+\" --> \"+t.concat([e]).join(\" --> \"),n=`Left Recursion found in grammar.\n`+(\"rule: <\"+e+`> can be invoked from itself (directly or indirectly)\n`)+(`without consuming any Tokens. The grammar path that causes this is: \n `+i+`\n`)+` To fix this refactor your grammar to remove the left recursion.\nsee: https://en.wikipedia.org/wiki/LL_parser#Left_Factoring.`;return n},buildInvalidRuleNameError:function(r){return\"deprecated\"},buildDuplicateRuleNameError:function(r){var e;r.topLevelRule instanceof MS.Rule?e=r.topLevelRule.name:e=r.topLevelRule;var t=\"Duplicate definition, rule: ->\"+e+\"<- is already defined in the grammar: ->\"+r.grammarName+\"<-\";return t}}});var Uj=w($A=>{\"use strict\";var VEe=$A&&$A.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!=\"function\"&&t!==null)throw new TypeError(\"Class extends value \"+String(t)+\" is not a constructor or null\");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty($A,\"__esModule\",{value:!0});$A.GastRefResolverVisitor=$A.resolveGrammar=void 0;var XEe=es(),Oj=Yt(),ZEe=Ig();function $Ee(r,e){var t=new Mj(r,e);return t.resolveRefs(),t.errors}$A.resolveGrammar=$Ee;var Mj=function(r){VEe(e,r);function e(t,i){var n=r.call(this)||this;return n.nameToTopRule=t,n.errMsgProvider=i,n.errors=[],n}return e.prototype.resolveRefs=function(){var t=this;(0,Oj.forEach)((0,Oj.values)(this.nameToTopRule),function(i){t.currTopLevel=i,i.accept(t)})},e.prototype.visitNonTerminal=function(t){var i=this.nameToTopRule[t.nonTerminalName];if(i)t.referencedRule=i;else{var n=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,t);this.errors.push({message:n,type:XEe.ParserDefinitionErrorType.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:t.nonTerminalName})}},e}(ZEe.GAstVisitor);$A.GastRefResolverVisitor=Mj});var Up=w(Ur=>{\"use strict\";var Dc=Ur&&Ur.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!=\"function\"&&t!==null)throw new TypeError(\"Class extends value \"+String(t)+\" is not a constructor or null\");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Ur,\"__esModule\",{value:!0});Ur.nextPossibleTokensAfter=Ur.possiblePathsFrom=Ur.NextTerminalAfterAtLeastOneSepWalker=Ur.NextTerminalAfterAtLeastOneWalker=Ur.NextTerminalAfterManySepWalker=Ur.NextTerminalAfterManyWalker=Ur.AbstractNextTerminalAfterProductionWalker=Ur.NextAfterTokenWalker=Ur.AbstractNextPossibleTokensWalker=void 0;var Kj=JI(),Ut=Yt(),eIe=TS(),Dt=bn(),Hj=function(r){Dc(e,r);function e(t,i){var n=r.call(this)||this;return n.topProd=t,n.path=i,n.possibleTokTypes=[],n.nextProductionName=\"\",n.nextProductionOccurrence=0,n.found=!1,n.isAtEndOfPath=!1,n}return e.prototype.startWalking=function(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error(\"The path does not start with the walker's top Rule!\");return this.ruleStack=(0,Ut.cloneArr)(this.path.ruleStack).reverse(),this.occurrenceStack=(0,Ut.cloneArr)(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes},e.prototype.walk=function(t,i){i===void 0&&(i=[]),this.found||r.prototype.walk.call(this,t,i)},e.prototype.walkProdRef=function(t,i,n){if(t.referencedRule.name===this.nextProductionName&&t.idx===this.nextProductionOccurrence){var s=i.concat(n);this.updateExpectedNext(),this.walk(t.referencedRule,s)}},e.prototype.updateExpectedNext=function(){(0,Ut.isEmpty)(this.ruleStack)?(this.nextProductionName=\"\",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())},e}(Kj.RestWalker);Ur.AbstractNextPossibleTokensWalker=Hj;var tIe=function(r){Dc(e,r);function e(t,i){var n=r.call(this,t,i)||this;return n.path=i,n.nextTerminalName=\"\",n.nextTerminalOccurrence=0,n.nextTerminalName=n.path.lastTok.name,n.nextTerminalOccurrence=n.path.lastTokOccurrence,n}return e.prototype.walkTerminal=function(t,i,n){if(this.isAtEndOfPath&&t.terminalType.name===this.nextTerminalName&&t.idx===this.nextTerminalOccurrence&&!this.found){var s=i.concat(n),o=new Dt.Alternative({definition:s});this.possibleTokTypes=(0,eIe.first)(o),this.found=!0}},e}(Hj);Ur.NextAfterTokenWalker=tIe;var Mp=function(r){Dc(e,r);function e(t,i){var n=r.call(this)||this;return n.topRule=t,n.occurrence=i,n.result={token:void 0,occurrence:void 0,isEndOfRule:void 0},n}return e.prototype.startWalking=function(){return this.walk(this.topRule),this.result},e}(Kj.RestWalker);Ur.AbstractNextTerminalAfterProductionWalker=Mp;var rIe=function(r){Dc(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.walkMany=function(t,i,n){if(t.idx===this.occurrence){var s=(0,Ut.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof Dt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else r.prototype.walkMany.call(this,t,i,n)},e}(Mp);Ur.NextTerminalAfterManyWalker=rIe;var iIe=function(r){Dc(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.walkManySep=function(t,i,n){if(t.idx===this.occurrence){var s=(0,Ut.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof Dt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else r.prototype.walkManySep.call(this,t,i,n)},e}(Mp);Ur.NextTerminalAfterManySepWalker=iIe;var nIe=function(r){Dc(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.walkAtLeastOne=function(t,i,n){if(t.idx===this.occurrence){var s=(0,Ut.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof Dt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else r.prototype.walkAtLeastOne.call(this,t,i,n)},e}(Mp);Ur.NextTerminalAfterAtLeastOneWalker=nIe;var sIe=function(r){Dc(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.walkAtLeastOneSep=function(t,i,n){if(t.idx===this.occurrence){var s=(0,Ut.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof Dt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else r.prototype.walkAtLeastOneSep.call(this,t,i,n)},e}(Mp);Ur.NextTerminalAfterAtLeastOneSepWalker=sIe;function jj(r,e,t){t===void 0&&(t=[]),t=(0,Ut.cloneArr)(t);var i=[],n=0;function s(c){return c.concat((0,Ut.drop)(r,n+1))}function o(c){var u=jj(s(c),e,t);return i.concat(u)}for(;t.length<e&&n<r.length;){var a=r[n];if(a instanceof Dt.Alternative)return o(a.definition);if(a instanceof Dt.NonTerminal)return o(a.definition);if(a instanceof Dt.Option)i=o(a.definition);else if(a instanceof Dt.RepetitionMandatory){var l=a.definition.concat([new Dt.Repetition({definition:a.definition})]);return o(l)}else if(a instanceof Dt.RepetitionMandatoryWithSeparator){var l=[new Dt.Alternative({definition:a.definition}),new Dt.Repetition({definition:[new Dt.Terminal({terminalType:a.separator})].concat(a.definition)})];return o(l)}else if(a instanceof Dt.RepetitionWithSeparator){var l=a.definition.concat([new Dt.Repetition({definition:[new Dt.Terminal({terminalType:a.separator})].concat(a.definition)})]);i=o(l)}else if(a instanceof Dt.Repetition){var l=a.definition.concat([new Dt.Repetition({definition:a.definition})]);i=o(l)}else{if(a instanceof Dt.Alternation)return(0,Ut.forEach)(a.definition,function(c){(0,Ut.isEmpty)(c.definition)===!1&&(i=o(c.definition))}),i;if(a instanceof Dt.Terminal)t.push(a.terminalType);else throw Error(\"non exhaustive match\")}n++}return i.push({partialPath:t,suffixDef:(0,Ut.drop)(r,n)}),i}Ur.possiblePathsFrom=jj;function aIe(r,e,t,i){var n=\"EXIT_NONE_TERMINAL\",s=[n],o=\"EXIT_ALTERNATIVE\",a=!1,l=e.length,c=l-i-1,u=[],g=[];for(g.push({idx:-1,def:r,ruleStack:[],occurrenceStack:[]});!(0,Ut.isEmpty)(g);){var f=g.pop();if(f===o){a&&(0,Ut.last)(g).idx<=c&&g.pop();continue}var h=f.def,p=f.idx,m=f.ruleStack,y=f.occurrenceStack;if(!(0,Ut.isEmpty)(h)){var b=h[0];if(b===n){var v={idx:p,def:(0,Ut.drop)(h),ruleStack:(0,Ut.dropRight)(m),occurrenceStack:(0,Ut.dropRight)(y)};g.push(v)}else if(b instanceof Dt.Terminal)if(p<l-1){var k=p+1,T=e[k];if(t(T,b.terminalType)){var v={idx:k,def:(0,Ut.drop)(h),ruleStack:m,occurrenceStack:y};g.push(v)}}else if(p===l-1)u.push({nextTokenType:b.terminalType,nextTokenOccurrence:b.idx,ruleStack:m,occurrenceStack:y}),a=!0;else throw Error(\"non exhaustive match\");else if(b instanceof Dt.NonTerminal){var Y=(0,Ut.cloneArr)(m);Y.push(b.nonTerminalName);var q=(0,Ut.cloneArr)(y);q.push(b.idx);var v={idx:p,def:b.definition.concat(s,(0,Ut.drop)(h)),ruleStack:Y,occurrenceStack:q};g.push(v)}else if(b instanceof Dt.Option){var $={idx:p,def:(0,Ut.drop)(h),ruleStack:m,occurrenceStack:y};g.push($),g.push(o);var z={idx:p,def:b.definition.concat((0,Ut.drop)(h)),ruleStack:m,occurrenceStack:y};g.push(z)}else if(b instanceof Dt.RepetitionMandatory){var ne=new Dt.Repetition({definition:b.definition,idx:b.idx}),ee=b.definition.concat([ne],(0,Ut.drop)(h)),v={idx:p,def:ee,ruleStack:m,occurrenceStack:y};g.push(v)}else if(b instanceof Dt.RepetitionMandatoryWithSeparator){var A=new Dt.Terminal({terminalType:b.separator}),ne=new Dt.Repetition({definition:[A].concat(b.definition),idx:b.idx}),ee=b.definition.concat([ne],(0,Ut.drop)(h)),v={idx:p,def:ee,ruleStack:m,occurrenceStack:y};g.push(v)}else if(b instanceof Dt.RepetitionWithSeparator){var $={idx:p,def:(0,Ut.drop)(h),ruleStack:m,occurrenceStack:y};g.push($),g.push(o);var A=new Dt.Terminal({terminalType:b.separator}),oe=new Dt.Repetition({definition:[A].concat(b.definition),idx:b.idx}),ee=b.definition.concat([oe],(0,Ut.drop)(h)),z={idx:p,def:ee,ruleStack:m,occurrenceStack:y};g.push(z)}else if(b instanceof Dt.Repetition){var $={idx:p,def:(0,Ut.drop)(h),ruleStack:m,occurrenceStack:y};g.push($),g.push(o);var oe=new Dt.Repetition({definition:b.definition,idx:b.idx}),ee=b.definition.concat([oe],(0,Ut.drop)(h)),z={idx:p,def:ee,ruleStack:m,occurrenceStack:y};g.push(z)}else if(b instanceof Dt.Alternation)for(var ce=b.definition.length-1;ce>=0;ce--){var Z=b.definition[ce],O={idx:p,def:Z.definition.concat((0,Ut.drop)(h)),ruleStack:m,occurrenceStack:y};g.push(O),g.push(o)}else if(b instanceof Dt.Alternative)g.push({idx:p,def:b.definition.concat((0,Ut.drop)(h)),ruleStack:m,occurrenceStack:y});else if(b instanceof Dt.Rule)g.push(oIe(b,p,m,y));else throw Error(\"non exhaustive match\")}}return u}Ur.nextPossibleTokensAfter=aIe;function oIe(r,e,t,i){var n=(0,Ut.cloneArr)(t);n.push(r.name);var s=(0,Ut.cloneArr)(i);return s.push(1),{idx:e,def:r.definition,ruleStack:n,occurrenceStack:s}}});var Kp=w(tr=>{\"use strict\";var Gj=tr&&tr.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!=\"function\"&&t!==null)throw new TypeError(\"Class extends value \"+String(t)+\" is not a constructor or null\");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(tr,\"__esModule\",{value:!0});tr.areTokenCategoriesNotUsed=tr.isStrictPrefixOfPath=tr.containsPath=tr.getLookaheadPathsForOptionalProd=tr.getLookaheadPathsForOr=tr.lookAheadSequenceFromAlternatives=tr.buildSingleAlternativeLookaheadFunction=tr.buildAlternativesLookAheadFunc=tr.buildLookaheadFuncForOptionalProd=tr.buildLookaheadFuncForOr=tr.getProdType=tr.PROD_TYPE=void 0;var cr=Yt(),Yj=Up(),AIe=JI(),ZI=Eg(),el=bn(),lIe=Ig(),ui;(function(r){r[r.OPTION=0]=\"OPTION\",r[r.REPETITION=1]=\"REPETITION\",r[r.REPETITION_MANDATORY=2]=\"REPETITION_MANDATORY\",r[r.REPETITION_MANDATORY_WITH_SEPARATOR=3]=\"REPETITION_MANDATORY_WITH_SEPARATOR\",r[r.REPETITION_WITH_SEPARATOR=4]=\"REPETITION_WITH_SEPARATOR\",r[r.ALTERNATION=5]=\"ALTERNATION\"})(ui=tr.PROD_TYPE||(tr.PROD_TYPE={}));function cIe(r){if(r instanceof el.Option)return ui.OPTION;if(r instanceof el.Repetition)return ui.REPETITION;if(r instanceof el.RepetitionMandatory)return ui.REPETITION_MANDATORY;if(r instanceof el.RepetitionMandatoryWithSeparator)return ui.REPETITION_MANDATORY_WITH_SEPARATOR;if(r instanceof el.RepetitionWithSeparator)return ui.REPETITION_WITH_SEPARATOR;if(r instanceof el.Alternation)return ui.ALTERNATION;throw Error(\"non exhaustive match\")}tr.getProdType=cIe;function uIe(r,e,t,i,n,s){var o=qj(r,e,t),a=US(o)?ZI.tokenStructuredMatcherNoCategories:ZI.tokenStructuredMatcher;return s(o,i,a,n)}tr.buildLookaheadFuncForOr=uIe;function gIe(r,e,t,i,n,s){var o=Jj(r,e,n,t),a=US(o)?ZI.tokenStructuredMatcherNoCategories:ZI.tokenStructuredMatcher;return s(o[0],a,i)}tr.buildLookaheadFuncForOptionalProd=gIe;function fIe(r,e,t,i){var n=r.length,s=(0,cr.every)(r,function(l){return(0,cr.every)(l,function(c){return c.length===1})});if(e)return function(l){for(var c=(0,cr.map)(l,function(k){return k.GATE}),u=0;u<n;u++){var g=r[u],f=g.length,h=c[u];if(h!==void 0&&h.call(this)===!1)continue;e:for(var p=0;p<f;p++){for(var m=g[p],y=m.length,b=0;b<y;b++){var v=this.LA(b+1);if(t(v,m[b])===!1)continue e}return u}}};if(s&&!i){var o=(0,cr.map)(r,function(l){return(0,cr.flatten)(l)}),a=(0,cr.reduce)(o,function(l,c,u){return(0,cr.forEach)(c,function(g){(0,cr.has)(l,g.tokenTypeIdx)||(l[g.tokenTypeIdx]=u),(0,cr.forEach)(g.categoryMatches,function(f){(0,cr.has)(l,f)||(l[f]=u)})}),l},[]);return function(){var l=this.LA(1);return a[l.tokenTypeIdx]}}else return function(){for(var l=0;l<n;l++){var c=r[l],u=c.length;e:for(var g=0;g<u;g++){for(var f=c[g],h=f.length,p=0;p<h;p++){var m=this.LA(p+1);if(t(m,f[p])===!1)continue e}return l}}}}tr.buildAlternativesLookAheadFunc=fIe;function hIe(r,e,t){var i=(0,cr.every)(r,function(c){return c.length===1}),n=r.length;if(i&&!t){var s=(0,cr.flatten)(r);if(s.length===1&&(0,cr.isEmpty)(s[0].categoryMatches)){var o=s[0],a=o.tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===a}}else{var l=(0,cr.reduce)(s,function(c,u,g){return c[u.tokenTypeIdx]=!0,(0,cr.forEach)(u.categoryMatches,function(f){c[f]=!0}),c},[]);return function(){var c=this.LA(1);return l[c.tokenTypeIdx]===!0}}}else return function(){e:for(var c=0;c<n;c++){for(var u=r[c],g=u.length,f=0;f<g;f++){var h=this.LA(f+1);if(e(h,u[f])===!1)continue e}return!0}return!1}}tr.buildSingleAlternativeLookaheadFunction=hIe;var pIe=function(r){Gj(e,r);function e(t,i,n){var s=r.call(this)||this;return s.topProd=t,s.targetOccurrence=i,s.targetProdType=n,s}return e.prototype.startWalking=function(){return this.walk(this.topProd),this.restDef},e.prototype.checkIsTarget=function(t,i,n,s){return t.idx===this.targetOccurrence&&this.targetProdType===i?(this.restDef=n.concat(s),!0):!1},e.prototype.walkOption=function(t,i,n){this.checkIsTarget(t,ui.OPTION,i,n)||r.prototype.walkOption.call(this,t,i,n)},e.prototype.walkAtLeastOne=function(t,i,n){this.checkIsTarget(t,ui.REPETITION_MANDATORY,i,n)||r.prototype.walkOption.call(this,t,i,n)},e.prototype.walkAtLeastOneSep=function(t,i,n){this.checkIsTarget(t,ui.REPETITION_MANDATORY_WITH_SEPARATOR,i,n)||r.prototype.walkOption.call(this,t,i,n)},e.prototype.walkMany=function(t,i,n){this.checkIsTarget(t,ui.REPETITION,i,n)||r.prototype.walkOption.call(this,t,i,n)},e.prototype.walkManySep=function(t,i,n){this.checkIsTarget(t,ui.REPETITION_WITH_SEPARATOR,i,n)||r.prototype.walkOption.call(this,t,i,n)},e}(AIe.RestWalker),Wj=function(r){Gj(e,r);function e(t,i,n){var s=r.call(this)||this;return s.targetOccurrence=t,s.targetProdType=i,s.targetRef=n,s.result=[],s}return e.prototype.checkIsTarget=function(t,i){t.idx===this.targetOccurrence&&this.targetProdType===i&&(this.targetRef===void 0||t===this.targetRef)&&(this.result=t.definition)},e.prototype.visitOption=function(t){this.checkIsTarget(t,ui.OPTION)},e.prototype.visitRepetition=function(t){this.checkIsTarget(t,ui.REPETITION)},e.prototype.visitRepetitionMandatory=function(t){this.checkIsTarget(t,ui.REPETITION_MANDATORY)},e.prototype.visitRepetitionMandatoryWithSeparator=function(t){this.checkIsTarget(t,ui.REPETITION_MANDATORY_WITH_SEPARATOR)},e.prototype.visitRepetitionWithSeparator=function(t){this.checkIsTarget(t,ui.REPETITION_WITH_SEPARATOR)},e.prototype.visitAlternation=function(t){this.checkIsTarget(t,ui.ALTERNATION)},e}(lIe.GAstVisitor);function zj(r){for(var e=new Array(r),t=0;t<r;t++)e[t]=[];return e}function KS(r){for(var e=[\"\"],t=0;t<r.length;t++){for(var i=r[t],n=[],s=0;s<e.length;s++){var o=e[s];n.push(o+\"_\"+i.tokenTypeIdx);for(var a=0;a<i.categoryMatches.length;a++){var l=\"_\"+i.categoryMatches[a];n.push(o+l)}}e=n}return e}function dIe(r,e,t){for(var i=0;i<r.length;i++)if(i!==t)for(var n=r[i],s=0;s<e.length;s++){var o=e[s];if(n[o]===!0)return!1}return!0}function HS(r,e){for(var t=(0,cr.map)(r,function(u){return(0,Yj.possiblePathsFrom)([u],1)}),i=zj(t.length),n=(0,cr.map)(t,function(u){var g={};return(0,cr.forEach)(u,function(f){var h=KS(f.partialPath);(0,cr.forEach)(h,function(p){g[p]=!0})}),g}),s=t,o=1;o<=e;o++){var a=s;s=zj(a.length);for(var l=function(u){for(var g=a[u],f=0;f<g.length;f++){var h=g[f].partialPath,p=g[f].suffixDef,m=KS(h),y=dIe(n,m,u);if(y||(0,cr.isEmpty)(p)||h.length===e){var b=i[u];if(_j(b,h)===!1){b.push(h);for(var v=0;v<m.length;v++){var k=m[v];n[u][k]=!0}}}else{var T=(0,Yj.possiblePathsFrom)(p,o+1,h);s[u]=s[u].concat(T),(0,cr.forEach)(T,function(Y){var q=KS(Y.partialPath);(0,cr.forEach)(q,function($){n[u][$]=!0})})}}},c=0;c<a.length;c++)l(c)}return i}tr.lookAheadSequenceFromAlternatives=HS;function qj(r,e,t,i){var n=new Wj(r,ui.ALTERNATION,i);return e.accept(n),HS(n.result,t)}tr.getLookaheadPathsForOr=qj;function Jj(r,e,t,i){var n=new Wj(r,t);e.accept(n);var s=n.result,o=new pIe(e,r,t),a=o.startWalking(),l=new el.Alternative({definition:s}),c=new el.Alternative({definition:a});return HS([l,c],i)}tr.getLookaheadPathsForOptionalProd=Jj;function _j(r,e){e:for(var t=0;t<r.length;t++){var i=r[t];if(i.length===e.length){for(var n=0;n<i.length;n++){var s=e[n],o=i[n],a=s===o||o.categoryMatchesMap[s.tokenTypeIdx]!==void 0;if(a===!1)continue e}return!0}}return!1}tr.containsPath=_j;function CIe(r,e){return r.length<e.length&&(0,cr.every)(r,function(t,i){var n=e[i];return t===n||n.categoryMatchesMap[t.tokenTypeIdx]})}tr.isStrictPrefixOfPath=CIe;function US(r){return(0,cr.every)(r,function(e){return(0,cr.every)(e,function(t){return(0,cr.every)(t,function(i){return(0,cr.isEmpty)(i.categoryMatches)})})})}tr.areTokenCategoriesNotUsed=US});var WS=w(Xt=>{\"use strict\";var jS=Xt&&Xt.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!=\"function\"&&t!==null)throw new TypeError(\"Class extends value \"+String(t)+\" is not a constructor or null\");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Xt,\"__esModule\",{value:!0});Xt.checkPrefixAlternativesAmbiguities=Xt.validateSomeNonEmptyLookaheadPath=Xt.validateTooManyAlts=Xt.RepetionCollector=Xt.validateAmbiguousAlternationAlternatives=Xt.validateEmptyOrAlternative=Xt.getFirstNoneTerminal=Xt.validateNoLeftRecursion=Xt.validateRuleIsOverridden=Xt.validateRuleDoesNotAlreadyExist=Xt.OccurrenceValidationCollector=Xt.identifyProductionForDuplicates=Xt.validateGrammar=void 0;var nr=Yt(),xr=Yt(),Yo=es(),GS=Tp(),wg=Kp(),mIe=Up(),go=bn(),YS=Ig();function yIe(r,e,t,i,n){var s=nr.map(r,function(h){return EIe(h,i)}),o=nr.map(r,function(h){return qS(h,h,i)}),a=[],l=[],c=[];(0,xr.every)(o,xr.isEmpty)&&(a=(0,xr.map)(r,function(h){return Xj(h,i)}),l=(0,xr.map)(r,function(h){return Zj(h,e,i)}),c=eG(r,e,i));var u=IIe(r,t,i),g=(0,xr.map)(r,function(h){return $j(h,i)}),f=(0,xr.map)(r,function(h){return Vj(h,r,n,i)});return nr.flatten(s.concat(c,o,a,l,u,g,f))}Xt.validateGrammar=yIe;function EIe(r,e){var t=new iG;r.accept(t);var i=t.allProductions,n=nr.groupBy(i,tG),s=nr.pick(n,function(a){return a.length>1}),o=nr.map(nr.values(s),function(a){var l=nr.first(a),c=e.buildDuplicateFoundError(r,a),u=(0,GS.getProductionDslName)(l),g={message:c,type:Yo.ParserDefinitionErrorType.DUPLICATE_PRODUCTIONS,ruleName:r.name,dslName:u,occurrence:l.idx},f=rG(l);return f&&(g.parameter=f),g});return o}function tG(r){return(0,GS.getProductionDslName)(r)+\"_#_\"+r.idx+\"_#_\"+rG(r)}Xt.identifyProductionForDuplicates=tG;function rG(r){return r instanceof go.Terminal?r.terminalType.name:r instanceof go.NonTerminal?r.nonTerminalName:\"\"}var iG=function(r){jS(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.allProductions=[],t}return e.prototype.visitNonTerminal=function(t){this.allProductions.push(t)},e.prototype.visitOption=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionWithSeparator=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionMandatory=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionMandatoryWithSeparator=function(t){this.allProductions.push(t)},e.prototype.visitRepetition=function(t){this.allProductions.push(t)},e.prototype.visitAlternation=function(t){this.allProductions.push(t)},e.prototype.visitTerminal=function(t){this.allProductions.push(t)},e}(YS.GAstVisitor);Xt.OccurrenceValidationCollector=iG;function Vj(r,e,t,i){var n=[],s=(0,xr.reduce)(e,function(a,l){return l.name===r.name?a+1:a},0);if(s>1){var o=i.buildDuplicateRuleNameError({topLevelRule:r,grammarName:t});n.push({message:o,type:Yo.ParserDefinitionErrorType.DUPLICATE_RULE_NAME,ruleName:r.name})}return n}Xt.validateRuleDoesNotAlreadyExist=Vj;function wIe(r,e,t){var i=[],n;return nr.contains(e,r)||(n=\"Invalid rule override, rule: ->\"+r+\"<- cannot be overridden in the grammar: ->\"+t+\"<-as it is not defined in any of the super grammars \",i.push({message:n,type:Yo.ParserDefinitionErrorType.INVALID_RULE_OVERRIDE,ruleName:r})),i}Xt.validateRuleIsOverridden=wIe;function qS(r,e,t,i){i===void 0&&(i=[]);var n=[],s=Hp(e.definition);if(nr.isEmpty(s))return[];var o=r.name,a=nr.contains(s,r);a&&n.push({message:t.buildLeftRecursionError({topLevelRule:r,leftRecursionPath:i}),type:Yo.ParserDefinitionErrorType.LEFT_RECURSION,ruleName:o});var l=nr.difference(s,i.concat([r])),c=nr.map(l,function(u){var g=nr.cloneArr(i);return g.push(u),qS(r,u,t,g)});return n.concat(nr.flatten(c))}Xt.validateNoLeftRecursion=qS;function Hp(r){var e=[];if(nr.isEmpty(r))return e;var t=nr.first(r);if(t instanceof go.NonTerminal)e.push(t.referencedRule);else if(t instanceof go.Alternative||t instanceof go.Option||t instanceof go.RepetitionMandatory||t instanceof go.RepetitionMandatoryWithSeparator||t instanceof go.RepetitionWithSeparator||t instanceof go.Repetition)e=e.concat(Hp(t.definition));else if(t instanceof go.Alternation)e=nr.flatten(nr.map(t.definition,function(o){return Hp(o.definition)}));else if(!(t instanceof go.Terminal))throw Error(\"non exhaustive match\");var i=(0,GS.isOptionalProd)(t),n=r.length>1;if(i&&n){var s=nr.drop(r);return e.concat(Hp(s))}else return e}Xt.getFirstNoneTerminal=Hp;var JS=function(r){jS(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.alternations=[],t}return e.prototype.visitAlternation=function(t){this.alternations.push(t)},e}(YS.GAstVisitor);function Xj(r,e){var t=new JS;r.accept(t);var i=t.alternations,n=nr.reduce(i,function(s,o){var a=nr.dropRight(o.definition),l=nr.map(a,function(c,u){var g=(0,mIe.nextPossibleTokensAfter)([c],[],null,1);return nr.isEmpty(g)?{message:e.buildEmptyAlternationError({topLevelRule:r,alternation:o,emptyChoiceIdx:u}),type:Yo.ParserDefinitionErrorType.NONE_LAST_EMPTY_ALT,ruleName:r.name,occurrence:o.idx,alternative:u+1}:null});return s.concat(nr.compact(l))},[]);return n}Xt.validateEmptyOrAlternative=Xj;function Zj(r,e,t){var i=new JS;r.accept(i);var n=i.alternations;n=(0,xr.reject)(n,function(o){return o.ignoreAmbiguities===!0});var s=nr.reduce(n,function(o,a){var l=a.idx,c=a.maxLookahead||e,u=(0,wg.getLookaheadPathsForOr)(l,r,c,a),g=BIe(u,a,r,t),f=nG(u,a,r,t);return o.concat(g,f)},[]);return s}Xt.validateAmbiguousAlternationAlternatives=Zj;var sG=function(r){jS(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.allProductions=[],t}return e.prototype.visitRepetitionWithSeparator=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionMandatory=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionMandatoryWithSeparator=function(t){this.allProductions.push(t)},e.prototype.visitRepetition=function(t){this.allProductions.push(t)},e}(YS.GAstVisitor);Xt.RepetionCollector=sG;function $j(r,e){var t=new JS;r.accept(t);var i=t.alternations,n=nr.reduce(i,function(s,o){return o.definition.length>255&&s.push({message:e.buildTooManyAlternativesError({topLevelRule:r,alternation:o}),type:Yo.ParserDefinitionErrorType.TOO_MANY_ALTS,ruleName:r.name,occurrence:o.idx}),s},[]);return n}Xt.validateTooManyAlts=$j;function eG(r,e,t){var i=[];return(0,xr.forEach)(r,function(n){var s=new sG;n.accept(s);var o=s.allProductions;(0,xr.forEach)(o,function(a){var l=(0,wg.getProdType)(a),c=a.maxLookahead||e,u=a.idx,g=(0,wg.getLookaheadPathsForOptionalProd)(u,n,l,c),f=g[0];if((0,xr.isEmpty)((0,xr.flatten)(f))){var h=t.buildEmptyRepetitionError({topLevelRule:n,repetition:a});i.push({message:h,type:Yo.ParserDefinitionErrorType.NO_NON_EMPTY_LOOKAHEAD,ruleName:n.name})}})}),i}Xt.validateSomeNonEmptyLookaheadPath=eG;function BIe(r,e,t,i){var n=[],s=(0,xr.reduce)(r,function(a,l,c){return e.definition[c].ignoreAmbiguities===!0||(0,xr.forEach)(l,function(u){var g=[c];(0,xr.forEach)(r,function(f,h){c!==h&&(0,wg.containsPath)(f,u)&&e.definition[h].ignoreAmbiguities!==!0&&g.push(h)}),g.length>1&&!(0,wg.containsPath)(n,u)&&(n.push(u),a.push({alts:g,path:u}))}),a},[]),o=nr.map(s,function(a){var l=(0,xr.map)(a.alts,function(u){return u+1}),c=i.buildAlternationAmbiguityError({topLevelRule:t,alternation:e,ambiguityIndices:l,prefixPath:a.path});return{message:c,type:Yo.ParserDefinitionErrorType.AMBIGUOUS_ALTS,ruleName:t.name,occurrence:e.idx,alternatives:[a.alts]}});return o}function nG(r,e,t,i){var n=[],s=(0,xr.reduce)(r,function(o,a,l){var c=(0,xr.map)(a,function(u){return{idx:l,path:u}});return o.concat(c)},[]);return(0,xr.forEach)(s,function(o){var a=e.definition[o.idx];if(a.ignoreAmbiguities!==!0){var l=o.idx,c=o.path,u=(0,xr.findAll)(s,function(f){return e.definition[f.idx].ignoreAmbiguities!==!0&&f.idx<l&&(0,wg.isStrictPrefixOfPath)(f.path,c)}),g=(0,xr.map)(u,function(f){var h=[f.idx+1,l+1],p=e.idx===0?\"\":e.idx,m=i.buildAlternationPrefixAmbiguityError({topLevelRule:t,alternation:e,ambiguityIndices:h,prefixPath:f.path});return{message:m,type:Yo.ParserDefinitionErrorType.AMBIGUOUS_PREFIX_ALTS,ruleName:t.name,occurrence:p,alternatives:h}});n=n.concat(g)}}),n}Xt.checkPrefixAlternativesAmbiguities=nG;function IIe(r,e,t){var i=[],n=(0,xr.map)(e,function(s){return s.name});return(0,xr.forEach)(r,function(s){var o=s.name;if((0,xr.contains)(n,o)){var a=t.buildNamespaceConflictError(s);i.push({message:a,type:Yo.ParserDefinitionErrorType.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:o})}}),i}});var aG=w(Bg=>{\"use strict\";Object.defineProperty(Bg,\"__esModule\",{value:!0});Bg.validateGrammar=Bg.resolveGrammar=void 0;var zS=Yt(),bIe=Uj(),QIe=WS(),oG=Op();function SIe(r){r=(0,zS.defaults)(r,{errMsgProvider:oG.defaultGrammarResolverErrorProvider});var e={};return(0,zS.forEach)(r.rules,function(t){e[t.name]=t}),(0,bIe.resolveGrammar)(e,r.errMsgProvider)}Bg.resolveGrammar=SIe;function vIe(r){return r=(0,zS.defaults)(r,{errMsgProvider:oG.defaultGrammarValidatorErrorProvider}),(0,QIe.validateGrammar)(r.rules,r.maxLookahead,r.tokenTypes,r.errMsgProvider,r.grammarName)}Bg.validateGrammar=vIe});var bg=w(Sn=>{\"use strict\";var jp=Sn&&Sn.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!=\"function\"&&t!==null)throw new TypeError(\"Class extends value \"+String(t)+\" is not a constructor or null\");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Sn,\"__esModule\",{value:!0});Sn.EarlyExitException=Sn.NotAllInputParsedException=Sn.NoViableAltException=Sn.MismatchedTokenException=Sn.isRecognitionException=void 0;var kIe=Yt(),AG=\"MismatchedTokenException\",lG=\"NoViableAltException\",cG=\"EarlyExitException\",uG=\"NotAllInputParsedException\",gG=[AG,lG,cG,uG];Object.freeze(gG);function xIe(r){return(0,kIe.contains)(gG,r.name)}Sn.isRecognitionException=xIe;var $I=function(r){jp(e,r);function e(t,i){var n=this.constructor,s=r.call(this,t)||this;return s.token=i,s.resyncedTokens=[],Object.setPrototypeOf(s,n.prototype),Error.captureStackTrace&&Error.captureStackTrace(s,s.constructor),s}return e}(Error),PIe=function(r){jp(e,r);function e(t,i,n){var s=r.call(this,t,i)||this;return s.previousToken=n,s.name=AG,s}return e}($I);Sn.MismatchedTokenException=PIe;var DIe=function(r){jp(e,r);function e(t,i,n){var s=r.call(this,t,i)||this;return s.previousToken=n,s.name=lG,s}return e}($I);Sn.NoViableAltException=DIe;var RIe=function(r){jp(e,r);function e(t,i){var n=r.call(this,t,i)||this;return n.name=uG,n}return e}($I);Sn.NotAllInputParsedException=RIe;var FIe=function(r){jp(e,r);function e(t,i,n){var s=r.call(this,t,i)||this;return s.previousToken=n,s.name=cG,s}return e}($I);Sn.EarlyExitException=FIe});var VS=w(Yi=>{\"use strict\";Object.defineProperty(Yi,\"__esModule\",{value:!0});Yi.attemptInRepetitionRecovery=Yi.Recoverable=Yi.InRuleRecoveryException=Yi.IN_RULE_RECOVERY_EXCEPTION=Yi.EOF_FOLLOW_KEY=void 0;var ey=ZA(),xs=Yt(),NIe=bg(),LIe=OS(),TIe=es();Yi.EOF_FOLLOW_KEY={};Yi.IN_RULE_RECOVERY_EXCEPTION=\"InRuleRecoveryException\";function _S(r){this.name=Yi.IN_RULE_RECOVERY_EXCEPTION,this.message=r}Yi.InRuleRecoveryException=_S;_S.prototype=Error.prototype;var OIe=function(){function r(){}return r.prototype.initRecoverable=function(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=(0,xs.has)(e,\"recoveryEnabled\")?e.recoveryEnabled:TIe.DEFAULT_PARSER_CONFIG.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=fG)},r.prototype.getTokenToInsert=function(e){var t=(0,ey.createTokenInstance)(e,\"\",NaN,NaN,NaN,NaN,NaN,NaN);return t.isInsertedInRecovery=!0,t},r.prototype.canTokenTypeBeInsertedInRecovery=function(e){return!0},r.prototype.tryInRepetitionRecovery=function(e,t,i,n){for(var s=this,o=this.findReSyncTokenType(),a=this.exportLexerState(),l=[],c=!1,u=this.LA(1),g=this.LA(1),f=function(){var h=s.LA(0),p=s.errorMessageProvider.buildMismatchTokenMessage({expected:n,actual:u,previous:h,ruleName:s.getCurrRuleFullName()}),m=new NIe.MismatchedTokenException(p,u,s.LA(0));m.resyncedTokens=(0,xs.dropRight)(l),s.SAVE_ERROR(m)};!c;)if(this.tokenMatcher(g,n)){f();return}else if(i.call(this)){f(),e.apply(this,t);return}else this.tokenMatcher(g,o)?c=!0:(g=this.SKIP_TOKEN(),this.addToResyncTokens(g,l));this.importLexerState(a)},r.prototype.shouldInRepetitionRecoveryBeTried=function(e,t,i){return!(i===!1||e===void 0||t===void 0||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,t)))},r.prototype.getFollowsForInRuleRecovery=function(e,t){var i=this.getCurrentGrammarPath(e,t),n=this.getNextPossibleTokenTypes(i);return n},r.prototype.tryInRuleRecovery=function(e,t){if(this.canRecoverWithSingleTokenInsertion(e,t)){var i=this.getTokenToInsert(e);return i}if(this.canRecoverWithSingleTokenDeletion(e)){var n=this.SKIP_TOKEN();return this.consumeToken(),n}throw new _S(\"sad sad panda\")},r.prototype.canPerformInRuleRecovery=function(e,t){return this.canRecoverWithSingleTokenInsertion(e,t)||this.canRecoverWithSingleTokenDeletion(e)},r.prototype.canRecoverWithSingleTokenInsertion=function(e,t){var i=this;if(!this.canTokenTypeBeInsertedInRecovery(e)||(0,xs.isEmpty)(t))return!1;var n=this.LA(1),s=(0,xs.find)(t,function(o){return i.tokenMatcher(n,o)})!==void 0;return s},r.prototype.canRecoverWithSingleTokenDeletion=function(e){var t=this.tokenMatcher(this.LA(2),e);return t},r.prototype.isInCurrentRuleReSyncSet=function(e){var t=this.getCurrFollowKey(),i=this.getFollowSetFromFollowKey(t);return(0,xs.contains)(i,e)},r.prototype.findReSyncTokenType=function(){for(var e=this.flattenFollowSet(),t=this.LA(1),i=2;;){var n=t.tokenType;if((0,xs.contains)(e,n))return n;t=this.LA(i),i++}},r.prototype.getCurrFollowKey=function(){if(this.RULE_STACK.length===1)return Yi.EOF_FOLLOW_KEY;var e=this.getLastExplicitRuleShortName(),t=this.getLastExplicitRuleOccurrenceIndex(),i=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:t,inRule:this.shortRuleNameToFullName(i)}},r.prototype.buildFullFollowKeyStack=function(){var e=this,t=this.RULE_STACK,i=this.RULE_OCCURRENCE_STACK;return(0,xs.map)(t,function(n,s){return s===0?Yi.EOF_FOLLOW_KEY:{ruleName:e.shortRuleNameToFullName(n),idxInCallingRule:i[s],inRule:e.shortRuleNameToFullName(t[s-1])}})},r.prototype.flattenFollowSet=function(){var e=this,t=(0,xs.map)(this.buildFullFollowKeyStack(),function(i){return e.getFollowSetFromFollowKey(i)});return(0,xs.flatten)(t)},r.prototype.getFollowSetFromFollowKey=function(e){if(e===Yi.EOF_FOLLOW_KEY)return[ey.EOF];var t=e.ruleName+e.idxInCallingRule+LIe.IN+e.inRule;return this.resyncFollows[t]},r.prototype.addToResyncTokens=function(e,t){return this.tokenMatcher(e,ey.EOF)||t.push(e),t},r.prototype.reSyncTo=function(e){for(var t=[],i=this.LA(1);this.tokenMatcher(i,e)===!1;)i=this.SKIP_TOKEN(),this.addToResyncTokens(i,t);return(0,xs.dropRight)(t)},r.prototype.attemptInRepetitionRecovery=function(e,t,i,n,s,o,a){},r.prototype.getCurrentGrammarPath=function(e,t){var i=this.getHumanReadableRuleStack(),n=(0,xs.cloneArr)(this.RULE_OCCURRENCE_STACK),s={ruleStack:i,occurrenceStack:n,lastTok:e,lastTokOccurrence:t};return s},r.prototype.getHumanReadableRuleStack=function(){var e=this;return(0,xs.map)(this.RULE_STACK,function(t){return e.shortRuleNameToFullName(t)})},r}();Yi.Recoverable=OIe;function fG(r,e,t,i,n,s,o){var a=this.getKeyForAutomaticLookahead(i,n),l=this.firstAfterRepMap[a];if(l===void 0){var c=this.getCurrRuleFullName(),u=this.getGAstProductions()[c],g=new s(u,n);l=g.startWalking(),this.firstAfterRepMap[a]=l}var f=l.token,h=l.occurrence,p=l.isEndOfRule;this.RULE_STACK.length===1&&p&&f===void 0&&(f=ey.EOF,h=1),this.shouldInRepetitionRecoveryBeTried(f,h,o)&&this.tryInRepetitionRecovery(r,e,t,f)}Yi.attemptInRepetitionRecovery=fG});var ty=w(Jt=>{\"use strict\";Object.defineProperty(Jt,\"__esModule\",{value:!0});Jt.getKeyForAutomaticLookahead=Jt.AT_LEAST_ONE_SEP_IDX=Jt.MANY_SEP_IDX=Jt.AT_LEAST_ONE_IDX=Jt.MANY_IDX=Jt.OPTION_IDX=Jt.OR_IDX=Jt.BITS_FOR_ALT_IDX=Jt.BITS_FOR_RULE_IDX=Jt.BITS_FOR_OCCURRENCE_IDX=Jt.BITS_FOR_METHOD_TYPE=void 0;Jt.BITS_FOR_METHOD_TYPE=4;Jt.BITS_FOR_OCCURRENCE_IDX=8;Jt.BITS_FOR_RULE_IDX=12;Jt.BITS_FOR_ALT_IDX=8;Jt.OR_IDX=1<<Jt.BITS_FOR_OCCURRENCE_IDX;Jt.OPTION_IDX=2<<Jt.BITS_FOR_OCCURRENCE_IDX;Jt.MANY_IDX=3<<Jt.BITS_FOR_OCCURRENCE_IDX;Jt.AT_LEAST_ONE_IDX=4<<Jt.BITS_FOR_OCCURRENCE_IDX;Jt.MANY_SEP_IDX=5<<Jt.BITS_FOR_OCCURRENCE_IDX;Jt.AT_LEAST_ONE_SEP_IDX=6<<Jt.BITS_FOR_OCCURRENCE_IDX;function MIe(r,e,t){return t|e|r}Jt.getKeyForAutomaticLookahead=MIe;var T$e=32-Jt.BITS_FOR_ALT_IDX});var pG=w(ry=>{\"use strict\";Object.defineProperty(ry,\"__esModule\",{value:!0});ry.LooksAhead=void 0;var Ja=Kp(),fo=Yt(),hG=es(),Wa=ty(),Rc=Tp(),UIe=function(){function r(){}return r.prototype.initLooksAhead=function(e){this.dynamicTokensEnabled=(0,fo.has)(e,\"dynamicTokensEnabled\")?e.dynamicTokensEnabled:hG.DEFAULT_PARSER_CONFIG.dynamicTokensEnabled,this.maxLookahead=(0,fo.has)(e,\"maxLookahead\")?e.maxLookahead:hG.DEFAULT_PARSER_CONFIG.maxLookahead,this.lookAheadFuncsCache=(0,fo.isES2015MapSupported)()?new Map:[],(0,fo.isES2015MapSupported)()?(this.getLaFuncFromCache=this.getLaFuncFromMap,this.setLaFuncCache=this.setLaFuncCacheUsingMap):(this.getLaFuncFromCache=this.getLaFuncFromObj,this.setLaFuncCache=this.setLaFuncUsingObj)},r.prototype.preComputeLookaheadFunctions=function(e){var t=this;(0,fo.forEach)(e,function(i){t.TRACE_INIT(i.name+\" Rule Lookahead\",function(){var n=(0,Rc.collectMethods)(i),s=n.alternation,o=n.repetition,a=n.option,l=n.repetitionMandatory,c=n.repetitionMandatoryWithSeparator,u=n.repetitionWithSeparator;(0,fo.forEach)(s,function(g){var f=g.idx===0?\"\":g.idx;t.TRACE_INIT(\"\"+(0,Rc.getProductionDslName)(g)+f,function(){var h=(0,Ja.buildLookaheadFuncForOr)(g.idx,i,g.maxLookahead||t.maxLookahead,g.hasPredicates,t.dynamicTokensEnabled,t.lookAheadBuilderForAlternatives),p=(0,Wa.getKeyForAutomaticLookahead)(t.fullRuleNameToShort[i.name],Wa.OR_IDX,g.idx);t.setLaFuncCache(p,h)})}),(0,fo.forEach)(o,function(g){t.computeLookaheadFunc(i,g.idx,Wa.MANY_IDX,Ja.PROD_TYPE.REPETITION,g.maxLookahead,(0,Rc.getProductionDslName)(g))}),(0,fo.forEach)(a,function(g){t.computeLookaheadFunc(i,g.idx,Wa.OPTION_IDX,Ja.PROD_TYPE.OPTION,g.maxLookahead,(0,Rc.getProductionDslName)(g))}),(0,fo.forEach)(l,function(g){t.computeLookaheadFunc(i,g.idx,Wa.AT_LEAST_ONE_IDX,Ja.PROD_TYPE.REPETITION_MANDATORY,g.maxLookahead,(0,Rc.getProductionDslName)(g))}),(0,fo.forEach)(c,function(g){t.computeLookaheadFunc(i,g.idx,Wa.AT_LEAST_ONE_SEP_IDX,Ja.PROD_TYPE.REPETITION_MANDATORY_WITH_SEPARATOR,g.maxLookahead,(0,Rc.getProductionDslName)(g))}),(0,fo.forEach)(u,function(g){t.computeLookaheadFunc(i,g.idx,Wa.MANY_SEP_IDX,Ja.PROD_TYPE.REPETITION_WITH_SEPARATOR,g.maxLookahead,(0,Rc.getProductionDslName)(g))})})})},r.prototype.computeLookaheadFunc=function(e,t,i,n,s,o){var a=this;this.TRACE_INIT(\"\"+o+(t===0?\"\":t),function(){var l=(0,Ja.buildLookaheadFuncForOptionalProd)(t,e,s||a.maxLookahead,a.dynamicTokensEnabled,n,a.lookAheadBuilderForOptional),c=(0,Wa.getKeyForAutomaticLookahead)(a.fullRuleNameToShort[e.name],i,t);a.setLaFuncCache(c,l)})},r.prototype.lookAheadBuilderForOptional=function(e,t,i){return(0,Ja.buildSingleAlternativeLookaheadFunction)(e,t,i)},r.prototype.lookAheadBuilderForAlternatives=function(e,t,i,n){return(0,Ja.buildAlternativesLookAheadFunc)(e,t,i,n)},r.prototype.getKeyForAutomaticLookahead=function(e,t){var i=this.getLastExplicitRuleShortName();return(0,Wa.getKeyForAutomaticLookahead)(i,e,t)},r.prototype.getLaFuncFromCache=function(e){},r.prototype.getLaFuncFromMap=function(e){return this.lookAheadFuncsCache.get(e)},r.prototype.getLaFuncFromObj=function(e){return this.lookAheadFuncsCache[e]},r.prototype.setLaFuncCache=function(e,t){},r.prototype.setLaFuncCacheUsingMap=function(e,t){this.lookAheadFuncsCache.set(e,t)},r.prototype.setLaFuncUsingObj=function(e,t){this.lookAheadFuncsCache[e]=t},r}();ry.LooksAhead=UIe});var dG=w(qo=>{\"use strict\";Object.defineProperty(qo,\"__esModule\",{value:!0});qo.addNoneTerminalToCst=qo.addTerminalToCst=qo.setNodeLocationFull=qo.setNodeLocationOnlyOffset=void 0;function KIe(r,e){isNaN(r.startOffset)===!0?(r.startOffset=e.startOffset,r.endOffset=e.endOffset):r.endOffset<e.endOffset&&(r.endOffset=e.endOffset)}qo.setNodeLocationOnlyOffset=KIe;function HIe(r,e){isNaN(r.startOffset)===!0?(r.startOffset=e.startOffset,r.startColumn=e.startColumn,r.startLine=e.startLine,r.endOffset=e.endOffset,r.endColumn=e.endColumn,r.endLine=e.endLine):r.endOffset<e.endOffset&&(r.endOffset=e.endOffset,r.endColumn=e.endColumn,r.endLine=e.endLine)}qo.setNodeLocationFull=HIe;function jIe(r,e,t){r.children[t]===void 0?r.children[t]=[e]:r.children[t].push(e)}qo.addTerminalToCst=jIe;function GIe(r,e,t){r.children[e]===void 0?r.children[e]=[t]:r.children[e].push(t)}qo.addNoneTerminalToCst=GIe});var XS=w(tl=>{\"use strict\";Object.defineProperty(tl,\"__esModule\",{value:!0});tl.defineNameProp=tl.functionName=tl.classNameFromInstance=void 0;var YIe=Yt();function qIe(r){return CG(r.constructor)}tl.classNameFromInstance=qIe;var mG=\"name\";function CG(r){var e=r.name;return e||\"anonymous\"}tl.functionName=CG;function JIe(r,e){var t=Object.getOwnPropertyDescriptor(r,mG);return(0,YIe.isUndefined)(t)||t.configurable?(Object.defineProperty(r,mG,{enumerable:!1,configurable:!0,writable:!1,value:e}),!0):!1}tl.defineNameProp=JIe});var BG=w(Di=>{\"use strict\";Object.defineProperty(Di,\"__esModule\",{value:!0});Di.validateRedundantMethods=Di.validateMissingCstMethods=Di.validateVisitor=Di.CstVisitorDefinitionError=Di.createBaseVisitorConstructorWithDefaults=Di.createBaseSemanticVisitorConstructor=Di.defaultVisit=void 0;var Ps=Yt(),Gp=XS();function EG(r,e){for(var t=(0,Ps.keys)(r),i=t.length,n=0;n<i;n++)for(var s=t[n],o=r[s],a=o.length,l=0;l<a;l++){var c=o[l];c.tokenTypeIdx===void 0&&this[c.name](c.children,e)}}Di.defaultVisit=EG;function WIe(r,e){var t=function(){};(0,Gp.defineNameProp)(t,r+\"BaseSemantics\");var i={visit:function(n,s){if((0,Ps.isArray)(n)&&(n=n[0]),!(0,Ps.isUndefined)(n))return this[n.name](n.children,s)},validateVisitor:function(){var n=IG(this,e);if(!(0,Ps.isEmpty)(n)){var s=(0,Ps.map)(n,function(o){return o.msg});throw Error(\"Errors Detected in CST Visitor <\"+(0,Gp.functionName)(this.constructor)+`>:\n\t`+(\"\"+s.join(`\n\n`).replace(/\\n/g,`\n\t`)))}}};return t.prototype=i,t.prototype.constructor=t,t._RULE_NAMES=e,t}Di.createBaseSemanticVisitorConstructor=WIe;function zIe(r,e,t){var i=function(){};(0,Gp.defineNameProp)(i,r+\"BaseSemanticsWithDefaults\");var n=Object.create(t.prototype);return(0,Ps.forEach)(e,function(s){n[s]=EG}),i.prototype=n,i.prototype.constructor=i,i}Di.createBaseVisitorConstructorWithDefaults=zIe;var ZS;(function(r){r[r.REDUNDANT_METHOD=0]=\"REDUNDANT_METHOD\",r[r.MISSING_METHOD=1]=\"MISSING_METHOD\"})(ZS=Di.CstVisitorDefinitionError||(Di.CstVisitorDefinitionError={}));function IG(r,e){var t=yG(r,e),i=wG(r,e);return t.concat(i)}Di.validateVisitor=IG;function yG(r,e){var t=(0,Ps.map)(e,function(i){if(!(0,Ps.isFunction)(r[i]))return{msg:\"Missing visitor method: <\"+i+\"> on \"+(0,Gp.functionName)(r.constructor)+\" CST Visitor.\",type:ZS.MISSING_METHOD,methodName:i}});return(0,Ps.compact)(t)}Di.validateMissingCstMethods=yG;var _Ie=[\"constructor\",\"visit\",\"validateVisitor\"];function wG(r,e){var t=[];for(var i in r)(0,Ps.isFunction)(r[i])&&!(0,Ps.contains)(_Ie,i)&&!(0,Ps.contains)(e,i)&&t.push({msg:\"Redundant visitor method: <\"+i+\"> on \"+(0,Gp.functionName)(r.constructor)+` CST Visitor\nThere is no Grammar Rule corresponding to this method's name.\n`,type:ZS.REDUNDANT_METHOD,methodName:i});return t}Di.validateRedundantMethods=wG});var QG=w(iy=>{\"use strict\";Object.defineProperty(iy,\"__esModule\",{value:!0});iy.TreeBuilder=void 0;var Qg=dG(),ni=Yt(),bG=BG(),VIe=es(),XIe=function(){function r(){}return r.prototype.initTreeBuilder=function(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=(0,ni.has)(e,\"nodeLocationTracking\")?e.nodeLocationTracking:VIe.DEFAULT_PARSER_CONFIG.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=ni.NOOP,this.cstFinallyStateUpdate=ni.NOOP,this.cstPostTerminal=ni.NOOP,this.cstPostNonTerminal=ni.NOOP,this.cstPostRule=ni.NOOP;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Qg.setNodeLocationFull,this.setNodeLocationFromNode=Qg.setNodeLocationFull,this.cstPostRule=ni.NOOP,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=ni.NOOP,this.setNodeLocationFromNode=ni.NOOP,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Qg.setNodeLocationOnlyOffset,this.setNodeLocationFromNode=Qg.setNodeLocationOnlyOffset,this.cstPostRule=ni.NOOP,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=ni.NOOP,this.setNodeLocationFromNode=ni.NOOP,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=ni.NOOP,this.setNodeLocationFromNode=ni.NOOP,this.cstPostRule=ni.NOOP,this.setInitialNodeLocation=ni.NOOP;else throw Error('Invalid <nodeLocationTracking> config option: \"'+e.nodeLocationTracking+'\"')},r.prototype.setInitialNodeLocationOnlyOffsetRecovery=function(e){e.location={startOffset:NaN,endOffset:NaN}},r.prototype.setInitialNodeLocationOnlyOffsetRegular=function(e){e.location={startOffset:this.LA(1).startOffset,endOffset:NaN}},r.prototype.setInitialNodeLocationFullRecovery=function(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}},r.prototype.setInitialNodeLocationFullRegular=function(e){var t=this.LA(1);e.location={startOffset:t.startOffset,startLine:t.startLine,startColumn:t.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}},r.prototype.cstInvocationStateUpdate=function(e,t){var i={name:e,children:{}};this.setInitialNodeLocation(i),this.CST_STACK.push(i)},r.prototype.cstFinallyStateUpdate=function(){this.CST_STACK.pop()},r.prototype.cstPostRuleFull=function(e){var t=this.LA(0),i=e.location;i.startOffset<=t.startOffset?(i.endOffset=t.endOffset,i.endLine=t.endLine,i.endColumn=t.endColumn):(i.startOffset=NaN,i.startLine=NaN,i.startColumn=NaN)},r.prototype.cstPostRuleOnlyOffset=function(e){var t=this.LA(0),i=e.location;i.startOffset<=t.startOffset?i.endOffset=t.endOffset:i.startOffset=NaN},r.prototype.cstPostTerminal=function(e,t){var i=this.CST_STACK[this.CST_STACK.length-1];(0,Qg.addTerminalToCst)(i,t,e),this.setNodeLocationFromToken(i.location,t)},r.prototype.cstPostNonTerminal=function(e,t){var i=this.CST_STACK[this.CST_STACK.length-1];(0,Qg.addNoneTerminalToCst)(i,t,e),this.setNodeLocationFromNode(i.location,e.location)},r.prototype.getBaseCstVisitorConstructor=function(){if((0,ni.isUndefined)(this.baseCstVisitorConstructor)){var e=(0,bG.createBaseSemanticVisitorConstructor)(this.className,(0,ni.keys)(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor},r.prototype.getBaseCstVisitorConstructorWithDefaults=function(){if((0,ni.isUndefined)(this.baseCstVisitorWithDefaultsConstructor)){var e=(0,bG.createBaseVisitorConstructorWithDefaults)(this.className,(0,ni.keys)(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor},r.prototype.getLastExplicitRuleShortName=function(){var e=this.RULE_STACK;return e[e.length-1]},r.prototype.getPreviousExplicitRuleShortName=function(){var e=this.RULE_STACK;return e[e.length-2]},r.prototype.getLastExplicitRuleOccurrenceIndex=function(){var e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]},r}();iy.TreeBuilder=XIe});var vG=w(ny=>{\"use strict\";Object.defineProperty(ny,\"__esModule\",{value:!0});ny.LexerAdapter=void 0;var SG=es(),ZIe=function(){function r(){}return r.prototype.initLexerAdapter=function(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1},Object.defineProperty(r.prototype,\"input\",{get:function(){return this.tokVector},set:function(e){if(this.selfAnalysisDone!==!0)throw Error(\"Missing <performSelfAnalysis> invocation at the end of the Parser's constructor.\");this.reset(),this.tokVector=e,this.tokVectorLength=e.length},enumerable:!1,configurable:!0}),r.prototype.SKIP_TOKEN=function(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):SG.END_OF_FILE},r.prototype.LA=function(e){var t=this.currIdx+e;return t<0||this.tokVectorLength<=t?SG.END_OF_FILE:this.tokVector[t]},r.prototype.consumeToken=function(){this.currIdx++},r.prototype.exportLexerState=function(){return this.currIdx},r.prototype.importLexerState=function(e){this.currIdx=e},r.prototype.resetLexerState=function(){this.currIdx=-1},r.prototype.moveToTerminatedState=function(){this.currIdx=this.tokVector.length-1},r.prototype.getLexerPosition=function(){return this.exportLexerState()},r}();ny.LexerAdapter=ZIe});var xG=w(sy=>{\"use strict\";Object.defineProperty(sy,\"__esModule\",{value:!0});sy.RecognizerApi=void 0;var kG=Yt(),$Ie=bg(),$S=es(),eye=Op(),tye=WS(),rye=bn(),iye=function(){function r(){}return r.prototype.ACTION=function(e){return e.call(this)},r.prototype.consume=function(e,t,i){return this.consumeInternal(t,e,i)},r.prototype.subrule=function(e,t,i){return this.subruleInternal(t,e,i)},r.prototype.option=function(e,t){return this.optionInternal(t,e)},r.prototype.or=function(e,t){return this.orInternal(t,e)},r.prototype.many=function(e,t){return this.manyInternal(e,t)},r.prototype.atLeastOne=function(e,t){return this.atLeastOneInternal(e,t)},r.prototype.CONSUME=function(e,t){return this.consumeInternal(e,0,t)},r.prototype.CONSUME1=function(e,t){return this.consumeInternal(e,1,t)},r.prototype.CONSUME2=function(e,t){return this.consumeInternal(e,2,t)},r.prototype.CONSUME3=function(e,t){return this.consumeInternal(e,3,t)},r.prototype.CONSUME4=function(e,t){return this.consumeInternal(e,4,t)},r.prototype.CONSUME5=function(e,t){return this.consumeInternal(e,5,t)},r.prototype.CONSUME6=function(e,t){return this.consumeInternal(e,6,t)},r.prototype.CONSUME7=function(e,t){return this.consumeInternal(e,7,t)},r.prototype.CONSUME8=function(e,t){return this.consumeInternal(e,8,t)},r.prototype.CONSUME9=function(e,t){return this.consumeInternal(e,9,t)},r.prototype.SUBRULE=function(e,t){return this.subruleInternal(e,0,t)},r.prototype.SUBRULE1=function(e,t){return this.subruleInternal(e,1,t)},r.prototype.SUBRULE2=function(e,t){return this.subruleInternal(e,2,t)},r.prototype.SUBRULE3=function(e,t){return this.subruleInternal(e,3,t)},r.prototype.SUBRULE4=function(e,t){return this.subruleInternal(e,4,t)},r.prototype.SUBRULE5=function(e,t){return this.subruleInternal(e,5,t)},r.prototype.SUBRULE6=function(e,t){return this.subruleInternal(e,6,t)},r.prototype.SUBRULE7=function(e,t){return this.subruleInternal(e,7,t)},r.prototype.SUBRULE8=function(e,t){return this.subruleInternal(e,8,t)},r.prototype.SUBRULE9=function(e,t){return this.subruleInternal(e,9,t)},r.prototype.OPTION=function(e){return this.optionInternal(e,0)},r.prototype.OPTION1=function(e){return this.optionInternal(e,1)},r.prototype.OPTION2=function(e){return this.optionInternal(e,2)},r.prototype.OPTION3=function(e){return this.optionInternal(e,3)},r.prototype.OPTION4=function(e){return this.optionInternal(e,4)},r.prototype.OPTION5=function(e){return this.optionInternal(e,5)},r.prototype.OPTION6=function(e){return this.optionInternal(e,6)},r.prototype.OPTION7=function(e){return this.optionInternal(e,7)},r.prototype.OPTION8=function(e){return this.optionInternal(e,8)},r.prototype.OPTION9=function(e){return this.optionInternal(e,9)},r.prototype.OR=function(e){return this.orInternal(e,0)},r.prototype.OR1=function(e){return this.orInternal(e,1)},r.prototype.OR2=function(e){return this.orInternal(e,2)},r.prototype.OR3=function(e){return this.orInternal(e,3)},r.prototype.OR4=function(e){return this.orInternal(e,4)},r.prototype.OR5=function(e){return this.orInternal(e,5)},r.prototype.OR6=function(e){return this.orInternal(e,6)},r.prototype.OR7=function(e){return this.orInternal(e,7)},r.prototype.OR8=function(e){return this.orInternal(e,8)},r.prototype.OR9=function(e){return this.orInternal(e,9)},r.prototype.MANY=function(e){this.manyInternal(0,e)},r.prototype.MANY1=function(e){this.manyInternal(1,e)},r.prototype.MANY2=function(e){this.manyInternal(2,e)},r.prototype.MANY3=function(e){this.manyInternal(3,e)},r.prototype.MANY4=function(e){this.manyInternal(4,e)},r.prototype.MANY5=function(e){this.manyInternal(5,e)},r.prototype.MANY6=function(e){this.manyInternal(6,e)},r.prototype.MANY7=function(e){this.manyInternal(7,e)},r.prototype.MANY8=function(e){this.manyInternal(8,e)},r.prototype.MANY9=function(e){this.manyInternal(9,e)},r.prototype.MANY_SEP=function(e){this.manySepFirstInternal(0,e)},r.prototype.MANY_SEP1=function(e){this.manySepFirstInternal(1,e)},r.prototype.MANY_SEP2=function(e){this.manySepFirstInternal(2,e)},r.prototype.MANY_SEP3=function(e){this.manySepFirstInternal(3,e)},r.prototype.MANY_SEP4=function(e){this.manySepFirstInternal(4,e)},r.prototype.MANY_SEP5=function(e){this.manySepFirstInternal(5,e)},r.prototype.MANY_SEP6=function(e){this.manySepFirstInternal(6,e)},r.prototype.MANY_SEP7=function(e){this.manySepFirstInternal(7,e)},r.prototype.MANY_SEP8=function(e){this.manySepFirstInternal(8,e)},r.prototype.MANY_SEP9=function(e){this.manySepFirstInternal(9,e)},r.prototype.AT_LEAST_ONE=function(e){this.atLeastOneInternal(0,e)},r.prototype.AT_LEAST_ONE1=function(e){return this.atLeastOneInternal(1,e)},r.prototype.AT_LEAST_ONE2=function(e){this.atLeastOneInternal(2,e)},r.prototype.AT_LEAST_ONE3=function(e){this.atLeastOneInternal(3,e)},r.prototype.AT_LEAST_ONE4=function(e){this.atLeastOneInternal(4,e)},r.prototype.AT_LEAST_ONE5=function(e){this.atLeastOneInternal(5,e)},r.prototype.AT_LEAST_ONE6=function(e){this.atLeastOneInternal(6,e)},r.prototype.AT_LEAST_ONE7=function(e){this.atLeastOneInternal(7,e)},r.prototype.AT_LEAST_ONE8=function(e){this.atLeastOneInternal(8,e)},r.prototype.AT_LEAST_ONE9=function(e){this.atLeastOneInternal(9,e)},r.prototype.AT_LEAST_ONE_SEP=function(e){this.atLeastOneSepFirstInternal(0,e)},r.prototype.AT_LEAST_ONE_SEP1=function(e){this.atLeastOneSepFirstInternal(1,e)},r.prototype.AT_LEAST_ONE_SEP2=function(e){this.atLeastOneSepFirstInternal(2,e)},r.prototype.AT_LEAST_ONE_SEP3=function(e){this.atLeastOneSepFirstInternal(3,e)},r.prototype.AT_LEAST_ONE_SEP4=function(e){this.atLeastOneSepFirstInternal(4,e)},r.prototype.AT_LEAST_ONE_SEP5=function(e){this.atLeastOneSepFirstInternal(5,e)},r.prototype.AT_LEAST_ONE_SEP6=function(e){this.atLeastOneSepFirstInternal(6,e)},r.prototype.AT_LEAST_ONE_SEP7=function(e){this.atLeastOneSepFirstInternal(7,e)},r.prototype.AT_LEAST_ONE_SEP8=function(e){this.atLeastOneSepFirstInternal(8,e)},r.prototype.AT_LEAST_ONE_SEP9=function(e){this.atLeastOneSepFirstInternal(9,e)},r.prototype.RULE=function(e,t,i){if(i===void 0&&(i=$S.DEFAULT_RULE_CONFIG),(0,kG.contains)(this.definedRulesNames,e)){var n=eye.defaultGrammarValidatorErrorProvider.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),s={message:n,type:$S.ParserDefinitionErrorType.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(s)}this.definedRulesNames.push(e);var o=this.defineRule(e,t,i);return this[e]=o,o},r.prototype.OVERRIDE_RULE=function(e,t,i){i===void 0&&(i=$S.DEFAULT_RULE_CONFIG);var n=[];n=n.concat((0,tye.validateRuleIsOverridden)(e,this.definedRulesNames,this.className)),this.definitionErrors=this.definitionErrors.concat(n);var s=this.defineRule(e,t,i);return this[e]=s,s},r.prototype.BACKTRACK=function(e,t){return function(){this.isBackTrackingStack.push(1);var i=this.saveRecogState();try{return e.apply(this,t),!0}catch(n){if((0,$Ie.isRecognitionException)(n))return!1;throw n}finally{this.reloadRecogState(i),this.isBackTrackingStack.pop()}}},r.prototype.getGAstProductions=function(){return this.gastProductionsCache},r.prototype.getSerializedGastProductions=function(){return(0,rye.serializeGrammar)((0,kG.values)(this.gastProductionsCache))},r}();sy.RecognizerApi=iye});var FG=w(oy=>{\"use strict\";Object.defineProperty(oy,\"__esModule\",{value:!0});oy.RecognizerEngine=void 0;var Fr=Yt(),ts=ty(),ay=bg(),PG=Kp(),Sg=Up(),DG=es(),nye=VS(),RG=ZA(),Yp=Eg(),sye=XS(),oye=function(){function r(){}return r.prototype.initRecognizerEngine=function(e,t){if(this.className=(0,sye.classNameFromInstance)(this),this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=Yp.tokenStructuredMatcherNoCategories,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},(0,Fr.has)(t,\"serializedGrammar\"))throw Error(`The Parser's configuration can no longer contain a <serializedGrammar> property.\n\tSee: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0\n\tFor Further details.`);if((0,Fr.isArray)(e)){if((0,Fr.isEmpty)(e))throw Error(`A Token Vocabulary cannot be empty.\n\tNote that the first argument for the parser constructor\n\tis no longer a Token vector (since v4.0).`);if(typeof e[0].startOffset==\"number\")throw Error(`The Parser constructor no longer accepts a token vector as the first argument.\n\tSee: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0\n\tFor Further details.`)}if((0,Fr.isArray)(e))this.tokensMap=(0,Fr.reduce)(e,function(o,a){return o[a.name]=a,o},{});else if((0,Fr.has)(e,\"modes\")&&(0,Fr.every)((0,Fr.flatten)((0,Fr.values)(e.modes)),Yp.isTokenType)){var i=(0,Fr.flatten)((0,Fr.values)(e.modes)),n=(0,Fr.uniq)(i);this.tokensMap=(0,Fr.reduce)(n,function(o,a){return o[a.name]=a,o},{})}else if((0,Fr.isObject)(e))this.tokensMap=(0,Fr.cloneObj)(e);else throw new Error(\"<tokensDictionary> argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition\");this.tokensMap.EOF=RG.EOF;var s=(0,Fr.every)((0,Fr.values)(e),function(o){return(0,Fr.isEmpty)(o.categoryMatches)});this.tokenMatcher=s?Yp.tokenStructuredMatcherNoCategories:Yp.tokenStructuredMatcher,(0,Yp.augmentTokenTypes)((0,Fr.values)(this.tokensMap))},r.prototype.defineRule=function(e,t,i){if(this.selfAnalysisDone)throw Error(\"Grammar rule <\"+e+`> may not be defined after the 'performSelfAnalysis' method has been called'\nMake sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);var n=(0,Fr.has)(i,\"resyncEnabled\")?i.resyncEnabled:DG.DEFAULT_RULE_CONFIG.resyncEnabled,s=(0,Fr.has)(i,\"recoveryValueFunc\")?i.recoveryValueFunc:DG.DEFAULT_RULE_CONFIG.recoveryValueFunc,o=this.ruleShortNameIdx<<ts.BITS_FOR_METHOD_TYPE+ts.BITS_FOR_OCCURRENCE_IDX;this.ruleShortNameIdx++,this.shortRuleNameToFull[o]=e,this.fullRuleNameToShort[e]=o;function a(u){try{if(this.outputCst===!0){t.apply(this,u);var g=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(g),g}else return t.apply(this,u)}catch(f){return this.invokeRuleCatch(f,n,s)}finally{this.ruleFinallyStateUpdate()}}var l=function(u,g){return u===void 0&&(u=0),this.ruleInvocationStateUpdate(o,e,u),a.call(this,g)},c=\"ruleName\";return l[c]=e,l.originalGrammarAction=t,l},r.prototype.invokeRuleCatch=function(e,t,i){var n=this.RULE_STACK.length===1,s=t&&!this.isBackTracking()&&this.recoveryEnabled;if((0,ay.isRecognitionException)(e)){var o=e;if(s){var a=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(a))if(o.resyncedTokens=this.reSyncTo(a),this.outputCst){var l=this.CST_STACK[this.CST_STACK.length-1];return l.recoveredNode=!0,l}else return i();else{if(this.outputCst){var l=this.CST_STACK[this.CST_STACK.length-1];l.recoveredNode=!0,o.partialCstResult=l}throw o}}else{if(n)return this.moveToTerminatedState(),i();throw o}}else throw e},r.prototype.optionInternal=function(e,t){var i=this.getKeyForAutomaticLookahead(ts.OPTION_IDX,t);return this.optionInternalLogic(e,t,i)},r.prototype.optionInternalLogic=function(e,t,i){var n=this,s=this.getLaFuncFromCache(i),o,a;if(e.DEF!==void 0){if(o=e.DEF,a=e.GATE,a!==void 0){var l=s;s=function(){return a.call(n)&&l.call(n)}}}else o=e;if(s.call(this)===!0)return o.call(this)},r.prototype.atLeastOneInternal=function(e,t){var i=this.getKeyForAutomaticLookahead(ts.AT_LEAST_ONE_IDX,e);return this.atLeastOneInternalLogic(e,t,i)},r.prototype.atLeastOneInternalLogic=function(e,t,i){var n=this,s=this.getLaFuncFromCache(i),o,a;if(t.DEF!==void 0){if(o=t.DEF,a=t.GATE,a!==void 0){var l=s;s=function(){return a.call(n)&&l.call(n)}}}else o=t;if(s.call(this)===!0)for(var c=this.doSingleRepetition(o);s.call(this)===!0&&c===!0;)c=this.doSingleRepetition(o);else throw this.raiseEarlyExitException(e,PG.PROD_TYPE.REPETITION_MANDATORY,t.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,t],s,ts.AT_LEAST_ONE_IDX,e,Sg.NextTerminalAfterAtLeastOneWalker)},r.prototype.atLeastOneSepFirstInternal=function(e,t){var i=this.getKeyForAutomaticLookahead(ts.AT_LEAST_ONE_SEP_IDX,e);this.atLeastOneSepFirstInternalLogic(e,t,i)},r.prototype.atLeastOneSepFirstInternalLogic=function(e,t,i){var n=this,s=t.DEF,o=t.SEP,a=this.getLaFuncFromCache(i);if(a.call(this)===!0){s.call(this);for(var l=function(){return n.tokenMatcher(n.LA(1),o)};this.tokenMatcher(this.LA(1),o)===!0;)this.CONSUME(o),s.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,o,l,s,Sg.NextTerminalAfterAtLeastOneSepWalker],l,ts.AT_LEAST_ONE_SEP_IDX,e,Sg.NextTerminalAfterAtLeastOneSepWalker)}else throw this.raiseEarlyExitException(e,PG.PROD_TYPE.REPETITION_MANDATORY_WITH_SEPARATOR,t.ERR_MSG)},r.prototype.manyInternal=function(e,t){var i=this.getKeyForAutomaticLookahead(ts.MANY_IDX,e);return this.manyInternalLogic(e,t,i)},r.prototype.manyInternalLogic=function(e,t,i){var n=this,s=this.getLaFuncFromCache(i),o,a;if(t.DEF!==void 0){if(o=t.DEF,a=t.GATE,a!==void 0){var l=s;s=function(){return a.call(n)&&l.call(n)}}}else o=t;for(var c=!0;s.call(this)===!0&&c===!0;)c=this.doSingleRepetition(o);this.attemptInRepetitionRecovery(this.manyInternal,[e,t],s,ts.MANY_IDX,e,Sg.NextTerminalAfterManyWalker,c)},r.prototype.manySepFirstInternal=function(e,t){var i=this.getKeyForAutomaticLookahead(ts.MANY_SEP_IDX,e);this.manySepFirstInternalLogic(e,t,i)},r.prototype.manySepFirstInternalLogic=function(e,t,i){var n=this,s=t.DEF,o=t.SEP,a=this.getLaFuncFromCache(i);if(a.call(this)===!0){s.call(this);for(var l=function(){return n.tokenMatcher(n.LA(1),o)};this.tokenMatcher(this.LA(1),o)===!0;)this.CONSUME(o),s.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,o,l,s,Sg.NextTerminalAfterManySepWalker],l,ts.MANY_SEP_IDX,e,Sg.NextTerminalAfterManySepWalker)}},r.prototype.repetitionSepSecondInternal=function(e,t,i,n,s){for(;i();)this.CONSUME(t),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,t,i,n,s],i,ts.AT_LEAST_ONE_SEP_IDX,e,s)},r.prototype.doSingleRepetition=function(e){var t=this.getLexerPosition();e.call(this);var i=this.getLexerPosition();return i>t},r.prototype.orInternal=function(e,t){var i=this.getKeyForAutomaticLookahead(ts.OR_IDX,t),n=(0,Fr.isArray)(e)?e:e.DEF,s=this.getLaFuncFromCache(i),o=s.call(this,n);if(o!==void 0){var a=n[o];return a.ALT.call(this)}this.raiseNoAltException(t,e.ERR_MSG)},r.prototype.ruleFinallyStateUpdate=function(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),this.RULE_STACK.length===0&&this.isAtEndOfInput()===!1){var e=this.LA(1),t=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new ay.NotAllInputParsedException(t,e))}},r.prototype.subruleInternal=function(e,t,i){var n;try{var s=i!==void 0?i.ARGS:void 0;return n=e.call(this,t,s),this.cstPostNonTerminal(n,i!==void 0&&i.LABEL!==void 0?i.LABEL:e.ruleName),n}catch(o){this.subruleInternalError(o,i,e.ruleName)}},r.prototype.subruleInternalError=function(e,t,i){throw(0,ay.isRecognitionException)(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,t!==void 0&&t.LABEL!==void 0?t.LABEL:i),delete e.partialCstResult),e},r.prototype.consumeInternal=function(e,t,i){var n;try{var s=this.LA(1);this.tokenMatcher(s,e)===!0?(this.consumeToken(),n=s):this.consumeInternalError(e,s,i)}catch(o){n=this.consumeInternalRecovery(e,t,o)}return this.cstPostTerminal(i!==void 0&&i.LABEL!==void 0?i.LABEL:e.name,n),n},r.prototype.consumeInternalError=function(e,t,i){var n,s=this.LA(0);throw i!==void 0&&i.ERR_MSG?n=i.ERR_MSG:n=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:t,previous:s,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new ay.MismatchedTokenException(n,t,s))},r.prototype.consumeInternalRecovery=function(e,t,i){if(this.recoveryEnabled&&i.name===\"MismatchedTokenException\"&&!this.isBackTracking()){var n=this.getFollowsForInRuleRecovery(e,t);try{return this.tryInRuleRecovery(e,n)}catch(s){throw s.name===nye.IN_RULE_RECOVERY_EXCEPTION?i:s}}else throw i},r.prototype.saveRecogState=function(){var e=this.errors,t=(0,Fr.cloneArr)(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:t,CST_STACK:this.CST_STACK}},r.prototype.reloadRecogState=function(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK},r.prototype.ruleInvocationStateUpdate=function(e,t,i){this.RULE_OCCURRENCE_STACK.push(i),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(t,e)},r.prototype.isBackTracking=function(){return this.isBackTrackingStack.length!==0},r.prototype.getCurrRuleFullName=function(){var e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]},r.prototype.shortRuleNameToFullName=function(e){return this.shortRuleNameToFull[e]},r.prototype.isAtEndOfInput=function(){return this.tokenMatcher(this.LA(1),RG.EOF)},r.prototype.reset=function(){this.resetLexerState(),this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]},r}();oy.RecognizerEngine=oye});var LG=w(Ay=>{\"use strict\";Object.defineProperty(Ay,\"__esModule\",{value:!0});Ay.ErrorHandler=void 0;var ev=bg(),tv=Yt(),NG=Kp(),aye=es(),Aye=function(){function r(){}return r.prototype.initErrorHandler=function(e){this._errors=[],this.errorMessageProvider=(0,tv.has)(e,\"errorMessageProvider\")?e.errorMessageProvider:aye.DEFAULT_PARSER_CONFIG.errorMessageProvider},r.prototype.SAVE_ERROR=function(e){if((0,ev.isRecognitionException)(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:(0,tv.cloneArr)(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error(\"Trying to save an Error which is not a RecognitionException\")},Object.defineProperty(r.prototype,\"errors\",{get:function(){return(0,tv.cloneArr)(this._errors)},set:function(e){this._errors=e},enumerable:!1,configurable:!0}),r.prototype.raiseEarlyExitException=function(e,t,i){for(var n=this.getCurrRuleFullName(),s=this.getGAstProductions()[n],o=(0,NG.getLookaheadPathsForOptionalProd)(e,s,t,this.maxLookahead),a=o[0],l=[],c=1;c<=this.maxLookahead;c++)l.push(this.LA(c));var u=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:a,actual:l,previous:this.LA(0),customUserDescription:i,ruleName:n});throw this.SAVE_ERROR(new ev.EarlyExitException(u,this.LA(1),this.LA(0)))},r.prototype.raiseNoAltException=function(e,t){for(var i=this.getCurrRuleFullName(),n=this.getGAstProductions()[i],s=(0,NG.getLookaheadPathsForOr)(e,n,this.maxLookahead),o=[],a=1;a<=this.maxLookahead;a++)o.push(this.LA(a));var l=this.LA(0),c=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:s,actual:o,previous:l,customUserDescription:t,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new ev.NoViableAltException(c,this.LA(1),l))},r}();Ay.ErrorHandler=Aye});var MG=w(ly=>{\"use strict\";Object.defineProperty(ly,\"__esModule\",{value:!0});ly.ContentAssist=void 0;var TG=Up(),OG=Yt(),lye=function(){function r(){}return r.prototype.initContentAssist=function(){},r.prototype.computeContentAssist=function(e,t){var i=this.gastProductionsCache[e];if((0,OG.isUndefined)(i))throw Error(\"Rule ->\"+e+\"<- does not exist in this grammar.\");return(0,TG.nextPossibleTokensAfter)([i],t,this.tokenMatcher,this.maxLookahead)},r.prototype.getNextPossibleTokenTypes=function(e){var t=(0,OG.first)(e.ruleStack),i=this.getGAstProductions(),n=i[t],s=new TG.NextAfterTokenWalker(n,e).startWalking();return s},r}();ly.ContentAssist=lye});var JG=w(cy=>{\"use strict\";Object.defineProperty(cy,\"__esModule\",{value:!0});cy.GastRecorder=void 0;var vn=Yt(),Jo=bn(),cye=Rp(),UG=Eg(),KG=ZA(),uye=es(),gye=ty(),uy={description:\"This Object indicates the Parser is during Recording Phase\"};Object.freeze(uy);var HG=!0,jG=Math.pow(2,gye.BITS_FOR_OCCURRENCE_IDX)-1,GG=(0,KG.createToken)({name:\"RECORDING_PHASE_TOKEN\",pattern:cye.Lexer.NA});(0,UG.augmentTokenTypes)([GG]);var YG=(0,KG.createTokenInstance)(GG,`This IToken indicates the Parser is in Recording Phase\n\tSee: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze(YG);var fye={name:`This CSTNode indicates the Parser is in Recording Phase\n\tSee: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}},pye=function(){function r(){}return r.prototype.initGastRecorder=function(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1},r.prototype.enableRecording=function(){var e=this;this.RECORDING_PHASE=!0,this.TRACE_INIT(\"Enable Recording\",function(){for(var t=function(n){var s=n>0?n:\"\";e[\"CONSUME\"+s]=function(o,a){return this.consumeInternalRecord(o,n,a)},e[\"SUBRULE\"+s]=function(o,a){return this.subruleInternalRecord(o,n,a)},e[\"OPTION\"+s]=function(o){return this.optionInternalRecord(o,n)},e[\"OR\"+s]=function(o){return this.orInternalRecord(o,n)},e[\"MANY\"+s]=function(o){this.manyInternalRecord(n,o)},e[\"MANY_SEP\"+s]=function(o){this.manySepFirstInternalRecord(n,o)},e[\"AT_LEAST_ONE\"+s]=function(o){this.atLeastOneInternalRecord(n,o)},e[\"AT_LEAST_ONE_SEP\"+s]=function(o){this.atLeastOneSepFirstInternalRecord(n,o)}},i=0;i<10;i++)t(i);e.consume=function(n,s,o){return this.consumeInternalRecord(s,n,o)},e.subrule=function(n,s,o){return this.subruleInternalRecord(s,n,o)},e.option=function(n,s){return this.optionInternalRecord(s,n)},e.or=function(n,s){return this.orInternalRecord(s,n)},e.many=function(n,s){this.manyInternalRecord(n,s)},e.atLeastOne=function(n,s){this.atLeastOneInternalRecord(n,s)},e.ACTION=e.ACTION_RECORD,e.BACKTRACK=e.BACKTRACK_RECORD,e.LA=e.LA_RECORD})},r.prototype.disableRecording=function(){var e=this;this.RECORDING_PHASE=!1,this.TRACE_INIT(\"Deleting Recording methods\",function(){for(var t=0;t<10;t++){var i=t>0?t:\"\";delete e[\"CONSUME\"+i],delete e[\"SUBRULE\"+i],delete e[\"OPTION\"+i],delete e[\"OR\"+i],delete e[\"MANY\"+i],delete e[\"MANY_SEP\"+i],delete e[\"AT_LEAST_ONE\"+i],delete e[\"AT_LEAST_ONE_SEP\"+i]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})},r.prototype.ACTION_RECORD=function(e){},r.prototype.BACKTRACK_RECORD=function(e,t){return function(){return!0}},r.prototype.LA_RECORD=function(e){return uye.END_OF_FILE},r.prototype.topLevelRuleRecord=function(e,t){try{var i=new Jo.Rule({definition:[],name:e});return i.name=e,this.recordingProdStack.push(i),t.call(this),this.recordingProdStack.pop(),i}catch(n){if(n.KNOWN_RECORDER_ERROR!==!0)try{n.message=n.message+`\n\t This error was thrown during the \"grammar recording phase\" For more info see:\n\thttps://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch(s){throw n}throw n}},r.prototype.optionInternalRecord=function(e,t){return qp.call(this,Jo.Option,e,t)},r.prototype.atLeastOneInternalRecord=function(e,t){qp.call(this,Jo.RepetitionMandatory,t,e)},r.prototype.atLeastOneSepFirstInternalRecord=function(e,t){qp.call(this,Jo.RepetitionMandatoryWithSeparator,t,e,HG)},r.prototype.manyInternalRecord=function(e,t){qp.call(this,Jo.Repetition,t,e)},r.prototype.manySepFirstInternalRecord=function(e,t){qp.call(this,Jo.RepetitionWithSeparator,t,e,HG)},r.prototype.orInternalRecord=function(e,t){return hye.call(this,e,t)},r.prototype.subruleInternalRecord=function(e,t,i){if(gy(t),!e||(0,vn.has)(e,\"ruleName\")===!1){var n=new Error(\"<SUBRULE\"+qG(t)+\"> argument is invalid\"+(\" expecting a Parser method reference but got: <\"+JSON.stringify(e)+\">\")+(`\n inside top level rule: <`+this.recordingProdStack[0].name+\">\"));throw n.KNOWN_RECORDER_ERROR=!0,n}var s=(0,vn.peek)(this.recordingProdStack),o=e.ruleName,a=new Jo.NonTerminal({idx:t,nonTerminalName:o,label:i==null?void 0:i.LABEL,referencedRule:void 0});return s.definition.push(a),this.outputCst?fye:uy},r.prototype.consumeInternalRecord=function(e,t,i){if(gy(t),!(0,UG.hasShortKeyProperty)(e)){var n=new Error(\"<CONSUME\"+qG(t)+\"> argument is invalid\"+(\" expecting a TokenType reference but got: <\"+JSON.stringify(e)+\">\")+(`\n inside top level rule: <`+this.recordingProdStack[0].name+\">\"));throw n.KNOWN_RECORDER_ERROR=!0,n}var s=(0,vn.peek)(this.recordingProdStack),o=new Jo.Terminal({idx:t,terminalType:e,label:i==null?void 0:i.LABEL});return s.definition.push(o),YG},r}();cy.GastRecorder=pye;function qp(r,e,t,i){i===void 0&&(i=!1),gy(t);var n=(0,vn.peek)(this.recordingProdStack),s=(0,vn.isFunction)(e)?e:e.DEF,o=new r({definition:[],idx:t});return i&&(o.separator=e.SEP),(0,vn.has)(e,\"MAX_LOOKAHEAD\")&&(o.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(o),s.call(this),n.definition.push(o),this.recordingProdStack.pop(),uy}function hye(r,e){var t=this;gy(e);var i=(0,vn.peek)(this.recordingProdStack),n=(0,vn.isArray)(r)===!1,s=n===!1?r:r.DEF,o=new Jo.Alternation({definition:[],idx:e,ignoreAmbiguities:n&&r.IGNORE_AMBIGUITIES===!0});(0,vn.has)(r,\"MAX_LOOKAHEAD\")&&(o.maxLookahead=r.MAX_LOOKAHEAD);var a=(0,vn.some)(s,function(l){return(0,vn.isFunction)(l.GATE)});return o.hasPredicates=a,i.definition.push(o),(0,vn.forEach)(s,function(l){var c=new Jo.Alternative({definition:[]});o.definition.push(c),(0,vn.has)(l,\"IGNORE_AMBIGUITIES\")?c.ignoreAmbiguities=l.IGNORE_AMBIGUITIES:(0,vn.has)(l,\"GATE\")&&(c.ignoreAmbiguities=!0),t.recordingProdStack.push(c),l.ALT.call(t),t.recordingProdStack.pop()}),uy}function qG(r){return r===0?\"\":\"\"+r}function gy(r){if(r<0||r>jG){var e=new Error(\"Invalid DSL Method idx value: <\"+r+`>\n\t`+(\"Idx value must be a none negative value smaller than \"+(jG+1)));throw e.KNOWN_RECORDER_ERROR=!0,e}}});var zG=w(fy=>{\"use strict\";Object.defineProperty(fy,\"__esModule\",{value:!0});fy.PerformanceTracer=void 0;var WG=Yt(),dye=es(),Cye=function(){function r(){}return r.prototype.initPerformanceTracer=function(e){if((0,WG.has)(e,\"traceInitPerf\")){var t=e.traceInitPerf,i=typeof t==\"number\";this.traceInitMaxIdent=i?t:Infinity,this.traceInitPerf=i?t>0:t}else this.traceInitMaxIdent=0,this.traceInitPerf=dye.DEFAULT_PARSER_CONFIG.traceInitPerf;this.traceInitIndent=-1},r.prototype.TRACE_INIT=function(e,t){if(this.traceInitPerf===!0){this.traceInitIndent++;var i=new Array(this.traceInitIndent+1).join(\"\t\");this.traceInitIndent<this.traceInitMaxIdent&&console.log(i+\"--> <\"+e+\">\");var n=(0,WG.timer)(t),s=n.time,o=n.value,a=s>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&a(i+\"<-- <\"+e+\"> time: \"+s+\"ms\"),this.traceInitIndent--,o}else return t()},r}();fy.PerformanceTracer=Cye});var _G=w(hy=>{\"use strict\";Object.defineProperty(hy,\"__esModule\",{value:!0});hy.applyMixins=void 0;function mye(r,e){e.forEach(function(t){var i=t.prototype;Object.getOwnPropertyNames(i).forEach(function(n){if(n!==\"constructor\"){var s=Object.getOwnPropertyDescriptor(i,n);s&&(s.get||s.set)?Object.defineProperty(r.prototype,n,s):r.prototype[n]=t.prototype[n]}})})}hy.applyMixins=mye});var es=w(Er=>{\"use strict\";var VG=Er&&Er.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!=\"function\"&&t!==null)throw new TypeError(\"Class extends value \"+String(t)+\" is not a constructor or null\");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Er,\"__esModule\",{value:!0});Er.EmbeddedActionsParser=Er.CstParser=Er.Parser=Er.EMPTY_ALT=Er.ParserDefinitionErrorType=Er.DEFAULT_RULE_CONFIG=Er.DEFAULT_PARSER_CONFIG=Er.END_OF_FILE=void 0;var an=Yt(),Eye=Lj(),XG=ZA(),ZG=Op(),$G=aG(),Iye=VS(),yye=pG(),wye=QG(),Bye=vG(),bye=xG(),Qye=FG(),Sye=LG(),vye=MG(),kye=JG(),xye=zG(),Pye=_G();Er.END_OF_FILE=(0,XG.createTokenInstance)(XG.EOF,\"\",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(Er.END_OF_FILE);Er.DEFAULT_PARSER_CONFIG=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:ZG.defaultParserErrorProvider,nodeLocationTracking:\"none\",traceInitPerf:!1,skipValidations:!1});Er.DEFAULT_RULE_CONFIG=Object.freeze({recoveryValueFunc:function(){},resyncEnabled:!0});var Dye;(function(r){r[r.INVALID_RULE_NAME=0]=\"INVALID_RULE_NAME\",r[r.DUPLICATE_RULE_NAME=1]=\"DUPLICATE_RULE_NAME\",r[r.INVALID_RULE_OVERRIDE=2]=\"INVALID_RULE_OVERRIDE\",r[r.DUPLICATE_PRODUCTIONS=3]=\"DUPLICATE_PRODUCTIONS\",r[r.UNRESOLVED_SUBRULE_REF=4]=\"UNRESOLVED_SUBRULE_REF\",r[r.LEFT_RECURSION=5]=\"LEFT_RECURSION\",r[r.NONE_LAST_EMPTY_ALT=6]=\"NONE_LAST_EMPTY_ALT\",r[r.AMBIGUOUS_ALTS=7]=\"AMBIGUOUS_ALTS\",r[r.CONFLICT_TOKENS_RULES_NAMESPACE=8]=\"CONFLICT_TOKENS_RULES_NAMESPACE\",r[r.INVALID_TOKEN_NAME=9]=\"INVALID_TOKEN_NAME\",r[r.NO_NON_EMPTY_LOOKAHEAD=10]=\"NO_NON_EMPTY_LOOKAHEAD\",r[r.AMBIGUOUS_PREFIX_ALTS=11]=\"AMBIGUOUS_PREFIX_ALTS\",r[r.TOO_MANY_ALTS=12]=\"TOO_MANY_ALTS\"})(Dye=Er.ParserDefinitionErrorType||(Er.ParserDefinitionErrorType={}));function Rye(r){return r===void 0&&(r=void 0),function(){return r}}Er.EMPTY_ALT=Rye;var py=function(){function r(e,t){this.definitionErrors=[],this.selfAnalysisDone=!1;var i=this;if(i.initErrorHandler(t),i.initLexerAdapter(),i.initLooksAhead(t),i.initRecognizerEngine(e,t),i.initRecoverable(t),i.initTreeBuilder(t),i.initContentAssist(),i.initGastRecorder(t),i.initPerformanceTracer(t),(0,an.has)(t,\"ignoredIssues\"))throw new Error(`The <ignoredIssues> IParserConfig property has been deprecated.\n\tPlease use the <IGNORE_AMBIGUITIES> flag on the relevant DSL method instead.\n\tSee: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES\n\tFor further details.`);this.skipValidations=(0,an.has)(t,\"skipValidations\")?t.skipValidations:Er.DEFAULT_PARSER_CONFIG.skipValidations}return r.performSelfAnalysis=function(e){throw Error(\"The **static** `performSelfAnalysis` method has been deprecated.\t\\nUse the **instance** method with the same name instead.\")},r.prototype.performSelfAnalysis=function(){var e=this;this.TRACE_INIT(\"performSelfAnalysis\",function(){var t;e.selfAnalysisDone=!0;var i=e.className;e.TRACE_INIT(\"toFastProps\",function(){(0,an.toFastProperties)(e)}),e.TRACE_INIT(\"Grammar Recording\",function(){try{e.enableRecording(),(0,an.forEach)(e.definedRulesNames,function(s){var o=e[s],a=o.originalGrammarAction,l=void 0;e.TRACE_INIT(s+\" Rule\",function(){l=e.topLevelRuleRecord(s,a)}),e.gastProductionsCache[s]=l})}finally{e.disableRecording()}});var n=[];if(e.TRACE_INIT(\"Grammar Resolving\",function(){n=(0,$G.resolveGrammar)({rules:(0,an.values)(e.gastProductionsCache)}),e.definitionErrors=e.definitionErrors.concat(n)}),e.TRACE_INIT(\"Grammar Validations\",function(){if((0,an.isEmpty)(n)&&e.skipValidations===!1){var s=(0,$G.validateGrammar)({rules:(0,an.values)(e.gastProductionsCache),maxLookahead:e.maxLookahead,tokenTypes:(0,an.values)(e.tokensMap),errMsgProvider:ZG.defaultGrammarValidatorErrorProvider,grammarName:i});e.definitionErrors=e.definitionErrors.concat(s)}}),(0,an.isEmpty)(e.definitionErrors)&&(e.recoveryEnabled&&e.TRACE_INIT(\"computeAllProdsFollows\",function(){var s=(0,Eye.computeAllProdsFollows)((0,an.values)(e.gastProductionsCache));e.resyncFollows=s}),e.TRACE_INIT(\"ComputeLookaheadFunctions\",function(){e.preComputeLookaheadFunctions((0,an.values)(e.gastProductionsCache))})),!r.DEFER_DEFINITION_ERRORS_HANDLING&&!(0,an.isEmpty)(e.definitionErrors))throw t=(0,an.map)(e.definitionErrors,function(s){return s.message}),new Error(`Parser Definition Errors detected:\n `+t.join(`\n-------------------------------\n`))})},r.DEFER_DEFINITION_ERRORS_HANDLING=!1,r}();Er.Parser=py;(0,Pye.applyMixins)(py,[Iye.Recoverable,yye.LooksAhead,wye.TreeBuilder,Bye.LexerAdapter,Qye.RecognizerEngine,bye.RecognizerApi,Sye.ErrorHandler,vye.ContentAssist,kye.GastRecorder,xye.PerformanceTracer]);var Fye=function(r){VG(e,r);function e(t,i){i===void 0&&(i=Er.DEFAULT_PARSER_CONFIG);var n=this,s=(0,an.cloneObj)(i);return s.outputCst=!0,n=r.call(this,t,s)||this,n}return e}(py);Er.CstParser=Fye;var Nye=function(r){VG(e,r);function e(t,i){i===void 0&&(i=Er.DEFAULT_PARSER_CONFIG);var n=this,s=(0,an.cloneObj)(i);return s.outputCst=!1,n=r.call(this,t,s)||this,n}return e}(py);Er.EmbeddedActionsParser=Nye});var tY=w(dy=>{\"use strict\";Object.defineProperty(dy,\"__esModule\",{value:!0});dy.createSyntaxDiagramsCode=void 0;var eY=yS();function Lye(r,e){var t=e===void 0?{}:e,i=t.resourceBase,n=i===void 0?\"https://unpkg.com/chevrotain@\"+eY.VERSION+\"/diagrams/\":i,s=t.css,o=s===void 0?\"https://unpkg.com/chevrotain@\"+eY.VERSION+\"/diagrams/diagrams.css\":s,a=`\n<!-- This is a generated file -->\n<!DOCTYPE html>\n<meta charset=\"utf-8\">\n<style>\n  body {\n    background-color: hsl(30, 20%, 95%)\n  }\n</style>\n\n`,l=`\n<link rel='stylesheet' href='`+o+`'>\n`,c=`\n<script src='`+n+`vendor/railroad-diagrams.js'></script>\n<script src='`+n+`src/diagrams_builder.js'></script>\n<script src='`+n+`src/diagrams_behavior.js'></script>\n<script src='`+n+`src/main.js'></script>\n`,u=`\n<div id=\"diagrams\" align=\"center\"></div>    \n`,g=`\n<script>\n    window.serializedGrammar = `+JSON.stringify(r,null,\"  \")+`;\n</script>\n`,f=`\n<script>\n    var diagramsDiv = document.getElementById(\"diagrams\");\n    main.drawDiagramsFromSerializedGrammar(serializedGrammar, diagramsDiv);\n</script>\n`;return a+l+c+u+g+f}dy.createSyntaxDiagramsCode=Lye});var nY=w(Ve=>{\"use strict\";Object.defineProperty(Ve,\"__esModule\",{value:!0});Ve.Parser=Ve.createSyntaxDiagramsCode=Ve.clearCache=Ve.GAstVisitor=Ve.serializeProduction=Ve.serializeGrammar=Ve.Terminal=Ve.Rule=Ve.RepetitionWithSeparator=Ve.RepetitionMandatoryWithSeparator=Ve.RepetitionMandatory=Ve.Repetition=Ve.Option=Ve.NonTerminal=Ve.Alternative=Ve.Alternation=Ve.defaultLexerErrorProvider=Ve.NoViableAltException=Ve.NotAllInputParsedException=Ve.MismatchedTokenException=Ve.isRecognitionException=Ve.EarlyExitException=Ve.defaultParserErrorProvider=Ve.tokenName=Ve.tokenMatcher=Ve.tokenLabel=Ve.EOF=Ve.createTokenInstance=Ve.createToken=Ve.LexerDefinitionErrorType=Ve.Lexer=Ve.EMPTY_ALT=Ve.ParserDefinitionErrorType=Ve.EmbeddedActionsParser=Ve.CstParser=Ve.VERSION=void 0;var Tye=yS();Object.defineProperty(Ve,\"VERSION\",{enumerable:!0,get:function(){return Tye.VERSION}});var Cy=es();Object.defineProperty(Ve,\"CstParser\",{enumerable:!0,get:function(){return Cy.CstParser}});Object.defineProperty(Ve,\"EmbeddedActionsParser\",{enumerable:!0,get:function(){return Cy.EmbeddedActionsParser}});Object.defineProperty(Ve,\"ParserDefinitionErrorType\",{enumerable:!0,get:function(){return Cy.ParserDefinitionErrorType}});Object.defineProperty(Ve,\"EMPTY_ALT\",{enumerable:!0,get:function(){return Cy.EMPTY_ALT}});var rY=Rp();Object.defineProperty(Ve,\"Lexer\",{enumerable:!0,get:function(){return rY.Lexer}});Object.defineProperty(Ve,\"LexerDefinitionErrorType\",{enumerable:!0,get:function(){return rY.LexerDefinitionErrorType}});var vg=ZA();Object.defineProperty(Ve,\"createToken\",{enumerable:!0,get:function(){return vg.createToken}});Object.defineProperty(Ve,\"createTokenInstance\",{enumerable:!0,get:function(){return vg.createTokenInstance}});Object.defineProperty(Ve,\"EOF\",{enumerable:!0,get:function(){return vg.EOF}});Object.defineProperty(Ve,\"tokenLabel\",{enumerable:!0,get:function(){return vg.tokenLabel}});Object.defineProperty(Ve,\"tokenMatcher\",{enumerable:!0,get:function(){return vg.tokenMatcher}});Object.defineProperty(Ve,\"tokenName\",{enumerable:!0,get:function(){return vg.tokenName}});var Oye=Op();Object.defineProperty(Ve,\"defaultParserErrorProvider\",{enumerable:!0,get:function(){return Oye.defaultParserErrorProvider}});var Jp=bg();Object.defineProperty(Ve,\"EarlyExitException\",{enumerable:!0,get:function(){return Jp.EarlyExitException}});Object.defineProperty(Ve,\"isRecognitionException\",{enumerable:!0,get:function(){return Jp.isRecognitionException}});Object.defineProperty(Ve,\"MismatchedTokenException\",{enumerable:!0,get:function(){return Jp.MismatchedTokenException}});Object.defineProperty(Ve,\"NotAllInputParsedException\",{enumerable:!0,get:function(){return Jp.NotAllInputParsedException}});Object.defineProperty(Ve,\"NoViableAltException\",{enumerable:!0,get:function(){return Jp.NoViableAltException}});var Mye=DS();Object.defineProperty(Ve,\"defaultLexerErrorProvider\",{enumerable:!0,get:function(){return Mye.defaultLexerErrorProvider}});var Wo=bn();Object.defineProperty(Ve,\"Alternation\",{enumerable:!0,get:function(){return Wo.Alternation}});Object.defineProperty(Ve,\"Alternative\",{enumerable:!0,get:function(){return Wo.Alternative}});Object.defineProperty(Ve,\"NonTerminal\",{enumerable:!0,get:function(){return Wo.NonTerminal}});Object.defineProperty(Ve,\"Option\",{enumerable:!0,get:function(){return Wo.Option}});Object.defineProperty(Ve,\"Repetition\",{enumerable:!0,get:function(){return Wo.Repetition}});Object.defineProperty(Ve,\"RepetitionMandatory\",{enumerable:!0,get:function(){return Wo.RepetitionMandatory}});Object.defineProperty(Ve,\"RepetitionMandatoryWithSeparator\",{enumerable:!0,get:function(){return Wo.RepetitionMandatoryWithSeparator}});Object.defineProperty(Ve,\"RepetitionWithSeparator\",{enumerable:!0,get:function(){return Wo.RepetitionWithSeparator}});Object.defineProperty(Ve,\"Rule\",{enumerable:!0,get:function(){return Wo.Rule}});Object.defineProperty(Ve,\"Terminal\",{enumerable:!0,get:function(){return Wo.Terminal}});var iY=bn();Object.defineProperty(Ve,\"serializeGrammar\",{enumerable:!0,get:function(){return iY.serializeGrammar}});Object.defineProperty(Ve,\"serializeProduction\",{enumerable:!0,get:function(){return iY.serializeProduction}});var Uye=Ig();Object.defineProperty(Ve,\"GAstVisitor\",{enumerable:!0,get:function(){return Uye.GAstVisitor}});function Kye(){console.warn(`The clearCache function was 'soft' removed from the Chevrotain API.\n\t It performs no action other than printing this message.\n\t Please avoid using it as it will be completely removed in the future`)}Ve.clearCache=Kye;var Hye=tY();Object.defineProperty(Ve,\"createSyntaxDiagramsCode\",{enumerable:!0,get:function(){return Hye.createSyntaxDiagramsCode}});var jye=function(){function r(){throw new Error(`The Parser class has been deprecated, use CstParser or EmbeddedActionsParser instead.\t\nSee: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_7-0-0`)}return r}();Ve.Parser=jye});var aY=w((eet,sY)=>{var my=nY(),za=my.createToken,oY=my.tokenMatcher,rv=my.Lexer,Gye=my.EmbeddedActionsParser;sY.exports=r=>{let e=za({name:\"LogicalOperator\",pattern:rv.NA}),t=za({name:\"Or\",pattern:/\\|/,categories:e}),i=za({name:\"Xor\",pattern:/\\^/,categories:e}),n=za({name:\"And\",pattern:/&/,categories:e}),s=za({name:\"Not\",pattern:/!/}),o=za({name:\"LParen\",pattern:/\\(/}),a=za({name:\"RParen\",pattern:/\\)/}),l=za({name:\"Query\",pattern:r}),u=[za({name:\"WhiteSpace\",pattern:/\\s+/,group:rv.SKIPPED}),t,i,n,o,a,s,e,l],g=new rv(u);class f extends Gye{constructor(p){super(u);this.RULE(\"expression\",()=>this.SUBRULE(this.logicalExpression)),this.RULE(\"logicalExpression\",()=>{let y=this.SUBRULE(this.atomicExpression);return this.MANY(()=>{let b=y,v=this.CONSUME(e),k=this.SUBRULE2(this.atomicExpression);oY(v,t)?y=T=>b(T)||k(T):oY(v,i)?y=T=>!!(b(T)^k(T)):y=T=>b(T)&&k(T)}),y}),this.RULE(\"atomicExpression\",()=>this.OR([{ALT:()=>this.SUBRULE(this.parenthesisExpression)},{ALT:()=>{let{image:m}=this.CONSUME(l);return y=>y(m)}},{ALT:()=>{this.CONSUME(s);let m=this.SUBRULE(this.atomicExpression);return y=>!m(y)}}])),this.RULE(\"parenthesisExpression\",()=>{let m;return this.CONSUME(o),m=this.SUBRULE(this.expression),this.CONSUME(a),m}),this.performSelfAnalysis()}}return{TinylogicLexer:g,TinylogicParser:f}}});var AY=w(Ey=>{var Yye=aY();Ey.makeParser=(r=/[a-z]+/)=>{let{TinylogicLexer:e,TinylogicParser:t}=Yye(r),i=new t;return(n,s)=>{let o=e.tokenize(n);return i.input=o.tokens,i.expression()(s)}};Ey.parse=Ey.makeParser()});var cY=w((ret,lY)=>{\"use strict\";lY.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var iv=w((iet,uY)=>{var Wp=cY(),gY={};for(let r of Object.keys(Wp))gY[Wp[r]]=r;var at={rgb:{channels:3,labels:\"rgb\"},hsl:{channels:3,labels:\"hsl\"},hsv:{channels:3,labels:\"hsv\"},hwb:{channels:3,labels:\"hwb\"},cmyk:{channels:4,labels:\"cmyk\"},xyz:{channels:3,labels:\"xyz\"},lab:{channels:3,labels:\"lab\"},lch:{channels:3,labels:\"lch\"},hex:{channels:1,labels:[\"hex\"]},keyword:{channels:1,labels:[\"keyword\"]},ansi16:{channels:1,labels:[\"ansi16\"]},ansi256:{channels:1,labels:[\"ansi256\"]},hcg:{channels:3,labels:[\"h\",\"c\",\"g\"]},apple:{channels:3,labels:[\"r16\",\"g16\",\"b16\"]},gray:{channels:1,labels:[\"gray\"]}};uY.exports=at;for(let r of Object.keys(at)){if(!(\"channels\"in at[r]))throw new Error(\"missing channels property: \"+r);if(!(\"labels\"in at[r]))throw new Error(\"missing channel labels property: \"+r);if(at[r].labels.length!==at[r].channels)throw new Error(\"channel and label counts mismatch: \"+r);let{channels:e,labels:t}=at[r];delete at[r].channels,delete at[r].labels,Object.defineProperty(at[r],\"channels\",{value:e}),Object.defineProperty(at[r],\"labels\",{value:t})}at.rgb.hsl=function(r){let e=r[0]/255,t=r[1]/255,i=r[2]/255,n=Math.min(e,t,i),s=Math.max(e,t,i),o=s-n,a,l;s===n?a=0:e===s?a=(t-i)/o:t===s?a=2+(i-e)/o:i===s&&(a=4+(e-t)/o),a=Math.min(a*60,360),a<0&&(a+=360);let c=(n+s)/2;return s===n?l=0:c<=.5?l=o/(s+n):l=o/(2-s-n),[a,l*100,c*100]};at.rgb.hsv=function(r){let e,t,i,n,s,o=r[0]/255,a=r[1]/255,l=r[2]/255,c=Math.max(o,a,l),u=c-Math.min(o,a,l),g=function(f){return(c-f)/6/u+1/2};return u===0?(n=0,s=0):(s=u/c,e=g(o),t=g(a),i=g(l),o===c?n=i-t:a===c?n=1/3+e-i:l===c&&(n=2/3+t-e),n<0?n+=1:n>1&&(n-=1)),[n*360,s*100,c*100]};at.rgb.hwb=function(r){let e=r[0],t=r[1],i=r[2],n=at.rgb.hsl(r)[0],s=1/255*Math.min(e,Math.min(t,i));return i=1-1/255*Math.max(e,Math.max(t,i)),[n,s*100,i*100]};at.rgb.cmyk=function(r){let e=r[0]/255,t=r[1]/255,i=r[2]/255,n=Math.min(1-e,1-t,1-i),s=(1-e-n)/(1-n)||0,o=(1-t-n)/(1-n)||0,a=(1-i-n)/(1-n)||0;return[s*100,o*100,a*100,n*100]};function qye(r,e){return(r[0]-e[0])**2+(r[1]-e[1])**2+(r[2]-e[2])**2}at.rgb.keyword=function(r){let e=gY[r];if(e)return e;let t=Infinity,i;for(let n of Object.keys(Wp)){let s=Wp[n],o=qye(r,s);o<t&&(t=o,i=n)}return i};at.keyword.rgb=function(r){return Wp[r]};at.rgb.xyz=function(r){let e=r[0]/255,t=r[1]/255,i=r[2]/255;e=e>.04045?((e+.055)/1.055)**2.4:e/12.92,t=t>.04045?((t+.055)/1.055)**2.4:t/12.92,i=i>.04045?((i+.055)/1.055)**2.4:i/12.92;let n=e*.4124+t*.3576+i*.1805,s=e*.2126+t*.7152+i*.0722,o=e*.0193+t*.1192+i*.9505;return[n*100,s*100,o*100]};at.rgb.lab=function(r){let e=at.rgb.xyz(r),t=e[0],i=e[1],n=e[2];t/=95.047,i/=100,n/=108.883,t=t>.008856?t**(1/3):7.787*t+16/116,i=i>.008856?i**(1/3):7.787*i+16/116,n=n>.008856?n**(1/3):7.787*n+16/116;let s=116*i-16,o=500*(t-i),a=200*(i-n);return[s,o,a]};at.hsl.rgb=function(r){let e=r[0]/360,t=r[1]/100,i=r[2]/100,n,s,o;if(t===0)return o=i*255,[o,o,o];i<.5?n=i*(1+t):n=i+t-i*t;let a=2*i-n,l=[0,0,0];for(let c=0;c<3;c++)s=e+1/3*-(c-1),s<0&&s++,s>1&&s--,6*s<1?o=a+(n-a)*6*s:2*s<1?o=n:3*s<2?o=a+(n-a)*(2/3-s)*6:o=a,l[c]=o*255;return l};at.hsl.hsv=function(r){let e=r[0],t=r[1]/100,i=r[2]/100,n=t,s=Math.max(i,.01);i*=2,t*=i<=1?i:2-i,n*=s<=1?s:2-s;let o=(i+t)/2,a=i===0?2*n/(s+n):2*t/(i+t);return[e,a*100,o*100]};at.hsv.rgb=function(r){let e=r[0]/60,t=r[1]/100,i=r[2]/100,n=Math.floor(e)%6,s=e-Math.floor(e),o=255*i*(1-t),a=255*i*(1-t*s),l=255*i*(1-t*(1-s));switch(i*=255,n){case 0:return[i,l,o];case 1:return[a,i,o];case 2:return[o,i,l];case 3:return[o,a,i];case 4:return[l,o,i];case 5:return[i,o,a]}};at.hsv.hsl=function(r){let e=r[0],t=r[1]/100,i=r[2]/100,n=Math.max(i,.01),s,o;o=(2-t)*i;let a=(2-t)*n;return s=t*n,s/=a<=1?a:2-a,s=s||0,o/=2,[e,s*100,o*100]};at.hwb.rgb=function(r){let e=r[0]/360,t=r[1]/100,i=r[2]/100,n=t+i,s;n>1&&(t/=n,i/=n);let o=Math.floor(6*e),a=1-i;s=6*e-o,(o&1)!=0&&(s=1-s);let l=t+s*(a-t),c,u,g;switch(o){default:case 6:case 0:c=a,u=l,g=t;break;case 1:c=l,u=a,g=t;break;case 2:c=t,u=a,g=l;break;case 3:c=t,u=l,g=a;break;case 4:c=l,u=t,g=a;break;case 5:c=a,u=t,g=l;break}return[c*255,u*255,g*255]};at.cmyk.rgb=function(r){let e=r[0]/100,t=r[1]/100,i=r[2]/100,n=r[3]/100,s=1-Math.min(1,e*(1-n)+n),o=1-Math.min(1,t*(1-n)+n),a=1-Math.min(1,i*(1-n)+n);return[s*255,o*255,a*255]};at.xyz.rgb=function(r){let e=r[0]/100,t=r[1]/100,i=r[2]/100,n,s,o;return n=e*3.2406+t*-1.5372+i*-.4986,s=e*-.9689+t*1.8758+i*.0415,o=e*.0557+t*-.204+i*1.057,n=n>.0031308?1.055*n**(1/2.4)-.055:n*12.92,s=s>.0031308?1.055*s**(1/2.4)-.055:s*12.92,o=o>.0031308?1.055*o**(1/2.4)-.055:o*12.92,n=Math.min(Math.max(0,n),1),s=Math.min(Math.max(0,s),1),o=Math.min(Math.max(0,o),1),[n*255,s*255,o*255]};at.xyz.lab=function(r){let e=r[0],t=r[1],i=r[2];e/=95.047,t/=100,i/=108.883,e=e>.008856?e**(1/3):7.787*e+16/116,t=t>.008856?t**(1/3):7.787*t+16/116,i=i>.008856?i**(1/3):7.787*i+16/116;let n=116*t-16,s=500*(e-t),o=200*(t-i);return[n,s,o]};at.lab.xyz=function(r){let e=r[0],t=r[1],i=r[2],n,s,o;s=(e+16)/116,n=t/500+s,o=s-i/200;let a=s**3,l=n**3,c=o**3;return s=a>.008856?a:(s-16/116)/7.787,n=l>.008856?l:(n-16/116)/7.787,o=c>.008856?c:(o-16/116)/7.787,n*=95.047,s*=100,o*=108.883,[n,s,o]};at.lab.lch=function(r){let e=r[0],t=r[1],i=r[2],n;n=Math.atan2(i,t)*360/2/Math.PI,n<0&&(n+=360);let o=Math.sqrt(t*t+i*i);return[e,o,n]};at.lch.lab=function(r){let e=r[0],t=r[1],n=r[2]/360*2*Math.PI,s=t*Math.cos(n),o=t*Math.sin(n);return[e,s,o]};at.rgb.ansi16=function(r,e=null){let[t,i,n]=r,s=e===null?at.rgb.hsv(r)[2]:e;if(s=Math.round(s/50),s===0)return 30;let o=30+(Math.round(n/255)<<2|Math.round(i/255)<<1|Math.round(t/255));return s===2&&(o+=60),o};at.hsv.ansi16=function(r){return at.rgb.ansi16(at.hsv.rgb(r),r[2])};at.rgb.ansi256=function(r){let e=r[0],t=r[1],i=r[2];return e===t&&t===i?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(t/255*5)+Math.round(i/255*5)};at.ansi16.rgb=function(r){let e=r%10;if(e===0||e===7)return r>50&&(e+=3.5),e=e/10.5*255,[e,e,e];let t=(~~(r>50)+1)*.5,i=(e&1)*t*255,n=(e>>1&1)*t*255,s=(e>>2&1)*t*255;return[i,n,s]};at.ansi256.rgb=function(r){if(r>=232){let s=(r-232)*10+8;return[s,s,s]}r-=16;let e,t=Math.floor(r/36)/5*255,i=Math.floor((e=r%36)/6)/5*255,n=e%6/5*255;return[t,i,n]};at.rgb.hex=function(r){let t=(((Math.round(r[0])&255)<<16)+((Math.round(r[1])&255)<<8)+(Math.round(r[2])&255)).toString(16).toUpperCase();return\"000000\".substring(t.length)+t};at.hex.rgb=function(r){let e=r.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!e)return[0,0,0];let t=e[0];e[0].length===3&&(t=t.split(\"\").map(a=>a+a).join(\"\"));let i=parseInt(t,16),n=i>>16&255,s=i>>8&255,o=i&255;return[n,s,o]};at.rgb.hcg=function(r){let e=r[0]/255,t=r[1]/255,i=r[2]/255,n=Math.max(Math.max(e,t),i),s=Math.min(Math.min(e,t),i),o=n-s,a,l;return o<1?a=s/(1-o):a=0,o<=0?l=0:n===e?l=(t-i)/o%6:n===t?l=2+(i-e)/o:l=4+(e-t)/o,l/=6,l%=1,[l*360,o*100,a*100]};at.hsl.hcg=function(r){let e=r[1]/100,t=r[2]/100,i=t<.5?2*e*t:2*e*(1-t),n=0;return i<1&&(n=(t-.5*i)/(1-i)),[r[0],i*100,n*100]};at.hsv.hcg=function(r){let e=r[1]/100,t=r[2]/100,i=e*t,n=0;return i<1&&(n=(t-i)/(1-i)),[r[0],i*100,n*100]};at.hcg.rgb=function(r){let e=r[0]/360,t=r[1]/100,i=r[2]/100;if(t===0)return[i*255,i*255,i*255];let n=[0,0,0],s=e%1*6,o=s%1,a=1-o,l=0;switch(Math.floor(s)){case 0:n[0]=1,n[1]=o,n[2]=0;break;case 1:n[0]=a,n[1]=1,n[2]=0;break;case 2:n[0]=0,n[1]=1,n[2]=o;break;case 3:n[0]=0,n[1]=a,n[2]=1;break;case 4:n[0]=o,n[1]=0,n[2]=1;break;default:n[0]=1,n[1]=0,n[2]=a}return l=(1-t)*i,[(t*n[0]+l)*255,(t*n[1]+l)*255,(t*n[2]+l)*255]};at.hcg.hsv=function(r){let e=r[1]/100,t=r[2]/100,i=e+t*(1-e),n=0;return i>0&&(n=e/i),[r[0],n*100,i*100]};at.hcg.hsl=function(r){let e=r[1]/100,i=r[2]/100*(1-e)+.5*e,n=0;return i>0&&i<.5?n=e/(2*i):i>=.5&&i<1&&(n=e/(2*(1-i))),[r[0],n*100,i*100]};at.hcg.hwb=function(r){let e=r[1]/100,t=r[2]/100,i=e+t*(1-e);return[r[0],(i-e)*100,(1-i)*100]};at.hwb.hcg=function(r){let e=r[1]/100,t=r[2]/100,i=1-t,n=i-e,s=0;return n<1&&(s=(i-n)/(1-n)),[r[0],n*100,s*100]};at.apple.rgb=function(r){return[r[0]/65535*255,r[1]/65535*255,r[2]/65535*255]};at.rgb.apple=function(r){return[r[0]/255*65535,r[1]/255*65535,r[2]/255*65535]};at.gray.rgb=function(r){return[r[0]/100*255,r[0]/100*255,r[0]/100*255]};at.gray.hsl=function(r){return[0,0,r[0]]};at.gray.hsv=at.gray.hsl;at.gray.hwb=function(r){return[0,100,r[0]]};at.gray.cmyk=function(r){return[0,0,0,r[0]]};at.gray.lab=function(r){return[r[0],0,0]};at.gray.hex=function(r){let e=Math.round(r[0]/100*255)&255,i=((e<<16)+(e<<8)+e).toString(16).toUpperCase();return\"000000\".substring(i.length)+i};at.rgb.gray=function(r){return[(r[0]+r[1]+r[2])/3/255*100]}});var hY=w((net,fY)=>{var Iy=iv();function Jye(){let r={},e=Object.keys(Iy);for(let t=e.length,i=0;i<t;i++)r[e[i]]={distance:-1,parent:null};return r}function Wye(r){let e=Jye(),t=[r];for(e[r].distance=0;t.length;){let i=t.pop(),n=Object.keys(Iy[i]);for(let s=n.length,o=0;o<s;o++){let a=n[o],l=e[a];l.distance===-1&&(l.distance=e[i].distance+1,l.parent=i,t.unshift(a))}}return e}function zye(r,e){return function(t){return e(r(t))}}function _ye(r,e){let t=[e[r].parent,r],i=Iy[e[r].parent][r],n=e[r].parent;for(;e[n].parent;)t.unshift(e[n].parent),i=zye(Iy[e[n].parent][n],i),n=e[n].parent;return i.conversion=t,i}fY.exports=function(r){let e=Wye(r),t={},i=Object.keys(e);for(let n=i.length,s=0;s<n;s++){let o=i[s];e[o].parent!==null&&(t[o]=_ye(o,e))}return t}});var dY=w((set,pY)=>{var nv=iv(),Vye=hY(),kg={},Xye=Object.keys(nv);function Zye(r){let e=function(...t){let i=t[0];return i==null?i:(i.length>1&&(t=i),r(t))};return\"conversion\"in r&&(e.conversion=r.conversion),e}function $ye(r){let e=function(...t){let i=t[0];if(i==null)return i;i.length>1&&(t=i);let n=r(t);if(typeof n==\"object\")for(let s=n.length,o=0;o<s;o++)n[o]=Math.round(n[o]);return n};return\"conversion\"in r&&(e.conversion=r.conversion),e}Xye.forEach(r=>{kg[r]={},Object.defineProperty(kg[r],\"channels\",{value:nv[r].channels}),Object.defineProperty(kg[r],\"labels\",{value:nv[r].labels});let e=Vye(r);Object.keys(e).forEach(i=>{let n=e[i];kg[r][i]=$ye(n),kg[r][i].raw=Zye(n)})});pY.exports=kg});var wY=w((oet,CY)=>{\"use strict\";var mY=(r,e)=>(...t)=>`\u001b[${r(...t)+e}m`,EY=(r,e)=>(...t)=>{let i=r(...t);return`\u001b[${38+e};5;${i}m`},IY=(r,e)=>(...t)=>{let i=r(...t);return`\u001b[${38+e};2;${i[0]};${i[1]};${i[2]}m`},yy=r=>r,yY=(r,e,t)=>[r,e,t],xg=(r,e,t)=>{Object.defineProperty(r,e,{get:()=>{let i=t();return Object.defineProperty(r,e,{value:i,enumerable:!0,configurable:!0}),i},enumerable:!0,configurable:!0})},sv,Pg=(r,e,t,i)=>{sv===void 0&&(sv=dY());let n=i?10:0,s={};for(let[o,a]of Object.entries(sv)){let l=o===\"ansi16\"?\"ansi\":o;o===e?s[l]=r(t,n):typeof a==\"object\"&&(s[l]=r(a[e],n))}return s};function ewe(){let r=new Map,e={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};e.color.gray=e.color.blackBright,e.bgColor.bgGray=e.bgColor.bgBlackBright,e.color.grey=e.color.blackBright,e.bgColor.bgGrey=e.bgColor.bgBlackBright;for(let[t,i]of Object.entries(e)){for(let[n,s]of Object.entries(i))e[n]={open:`\u001b[${s[0]}m`,close:`\u001b[${s[1]}m`},i[n]=e[n],r.set(s[0],s[1]);Object.defineProperty(e,t,{value:i,enumerable:!1})}return Object.defineProperty(e,\"codes\",{value:r,enumerable:!1}),e.color.close=\"\u001b[39m\",e.bgColor.close=\"\u001b[49m\",xg(e.color,\"ansi\",()=>Pg(mY,\"ansi16\",yy,!1)),xg(e.color,\"ansi256\",()=>Pg(EY,\"ansi256\",yy,!1)),xg(e.color,\"ansi16m\",()=>Pg(IY,\"rgb\",yY,!1)),xg(e.bgColor,\"ansi\",()=>Pg(mY,\"ansi16\",yy,!0)),xg(e.bgColor,\"ansi256\",()=>Pg(EY,\"ansi256\",yy,!0)),xg(e.bgColor,\"ansi16m\",()=>Pg(IY,\"rgb\",yY,!0)),e}Object.defineProperty(CY,\"exports\",{enumerable:!0,get:ewe})});var bY=w((aet,BY)=>{\"use strict\";BY.exports=(r,e=process.argv)=>{let t=r.startsWith(\"-\")?\"\":r.length===1?\"-\":\"--\",i=e.indexOf(t+r),n=e.indexOf(\"--\");return i!==-1&&(n===-1||i<n)}});var vY=w((Aet,QY)=>{\"use strict\";var twe=require(\"os\"),SY=require(\"tty\"),Ds=bY(),{env:gi}=process,rl;Ds(\"no-color\")||Ds(\"no-colors\")||Ds(\"color=false\")||Ds(\"color=never\")?rl=0:(Ds(\"color\")||Ds(\"colors\")||Ds(\"color=true\")||Ds(\"color=always\"))&&(rl=1);\"FORCE_COLOR\"in gi&&(gi.FORCE_COLOR===\"true\"?rl=1:gi.FORCE_COLOR===\"false\"?rl=0:rl=gi.FORCE_COLOR.length===0?1:Math.min(parseInt(gi.FORCE_COLOR,10),3));function ov(r){return r===0?!1:{level:r,hasBasic:!0,has256:r>=2,has16m:r>=3}}function av(r,e){if(rl===0)return 0;if(Ds(\"color=16m\")||Ds(\"color=full\")||Ds(\"color=truecolor\"))return 3;if(Ds(\"color=256\"))return 2;if(r&&!e&&rl===void 0)return 0;let t=rl||0;if(gi.TERM===\"dumb\")return t;if(process.platform===\"win32\"){let i=twe.release().split(\".\");return Number(i[0])>=10&&Number(i[2])>=10586?Number(i[2])>=14931?3:2:1}if(\"CI\"in gi)return[\"TRAVIS\",\"CIRCLECI\",\"APPVEYOR\",\"GITLAB_CI\"].some(i=>i in gi)||gi.CI_NAME===\"codeship\"?1:t;if(\"TEAMCITY_VERSION\"in gi)return/^(9\\.(0*[1-9]\\d*)\\.|\\d{2,}\\.)/.test(gi.TEAMCITY_VERSION)?1:0;if(\"GITHUB_ACTIONS\"in gi)return 1;if(gi.COLORTERM===\"truecolor\")return 3;if(\"TERM_PROGRAM\"in gi){let i=parseInt((gi.TERM_PROGRAM_VERSION||\"\").split(\".\")[0],10);switch(gi.TERM_PROGRAM){case\"iTerm.app\":return i>=3?3:2;case\"Apple_Terminal\":return 2}}return/-256(color)?$/i.test(gi.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(gi.TERM)||\"COLORTERM\"in gi?1:t}function rwe(r){let e=av(r,r&&r.isTTY);return ov(e)}QY.exports={supportsColor:rwe,stdout:ov(av(!0,SY.isatty(1))),stderr:ov(av(!0,SY.isatty(2)))}});var xY=w((cet,kY)=>{\"use strict\";var iwe=(r,e,t)=>{let i=r.indexOf(e);if(i===-1)return r;let n=e.length,s=0,o=\"\";do o+=r.substr(s,i-s)+e+t,s=i+n,i=r.indexOf(e,s);while(i!==-1);return o+=r.substr(s),o},nwe=(r,e,t,i)=>{let n=0,s=\"\";do{let o=r[i-1]===\"\\r\";s+=r.substr(n,(o?i-1:i)-n)+e+(o?`\\r\n`:`\n`)+t,n=i+1,i=r.indexOf(`\n`,n)}while(i!==-1);return s+=r.substr(n),s};kY.exports={stringReplaceAll:iwe,stringEncaseCRLFWithFirstIndex:nwe}});var NY=w((uet,PY)=>{\"use strict\";var swe=/(?:\\\\(u(?:[a-f\\d]{4}|\\{[a-f\\d]{1,6}\\})|x[a-f\\d]{2}|.))|(?:\\{(~)?(\\w+(?:\\([^)]*\\))?(?:\\.\\w+(?:\\([^)]*\\))?)*)(?:[ \\t]|(?=\\r?\\n)))|(\\})|((?:.|[\\r\\n\\f])+?)/gi,DY=/(?:^|\\.)(\\w+)(?:\\(([^)]*)\\))?/g,owe=/^(['\"])((?:\\\\.|(?!\\1)[^\\\\])*)\\1$/,awe=/\\\\(u(?:[a-f\\d]{4}|\\{[a-f\\d]{1,6}\\})|x[a-f\\d]{2}|.)|([^\\\\])/gi,Awe=new Map([[\"n\",`\n`],[\"r\",\"\\r\"],[\"t\",\"\t\"],[\"b\",\"\\b\"],[\"f\",\"\\f\"],[\"v\",\"\\v\"],[\"0\",\"\\0\"],[\"\\\\\",\"\\\\\"],[\"e\",\"\u001b\"],[\"a\",\"\\x07\"]]);function RY(r){let e=r[0]===\"u\",t=r[1]===\"{\";return e&&!t&&r.length===5||r[0]===\"x\"&&r.length===3?String.fromCharCode(parseInt(r.slice(1),16)):e&&t?String.fromCodePoint(parseInt(r.slice(2,-1),16)):Awe.get(r)||r}function lwe(r,e){let t=[],i=e.trim().split(/\\s*,\\s*/g),n;for(let s of i){let o=Number(s);if(!Number.isNaN(o))t.push(o);else if(n=s.match(owe))t.push(n[2].replace(awe,(a,l,c)=>l?RY(l):c));else throw new Error(`Invalid Chalk template style argument: ${s} (in style '${r}')`)}return t}function cwe(r){DY.lastIndex=0;let e=[],t;for(;(t=DY.exec(r))!==null;){let i=t[1];if(t[2]){let n=lwe(i,t[2]);e.push([i].concat(n))}else e.push([i])}return e}function FY(r,e){let t={};for(let n of e)for(let s of n.styles)t[s[0]]=n.inverse?null:s.slice(1);let i=r;for(let[n,s]of Object.entries(t))if(!!Array.isArray(s)){if(!(n in i))throw new Error(`Unknown Chalk style: ${n}`);i=s.length>0?i[n](...s):i[n]}return i}PY.exports=(r,e)=>{let t=[],i=[],n=[];if(e.replace(swe,(s,o,a,l,c,u)=>{if(o)n.push(RY(o));else if(l){let g=n.join(\"\");n=[],i.push(t.length===0?g:FY(r,t)(g)),t.push({inverse:a,styles:cwe(l)})}else if(c){if(t.length===0)throw new Error(\"Found extraneous } in Chalk template literal\");i.push(FY(r,t)(n.join(\"\"))),n=[],t.pop()}else n.push(u)}),i.push(n.join(\"\")),t.length>0){let s=`Chalk template literal is missing ${t.length} closing bracket${t.length===1?\"\":\"s\"} (\\`}\\`)`;throw new Error(s)}return i.join(\"\")}});var gv=w((get,LY)=>{\"use strict\";var zp=wY(),{stdout:Av,stderr:lv}=vY(),{stringReplaceAll:uwe,stringEncaseCRLFWithFirstIndex:gwe}=xY(),TY=[\"ansi\",\"ansi\",\"ansi256\",\"ansi16m\"],Dg=Object.create(null),fwe=(r,e={})=>{if(e.level>3||e.level<0)throw new Error(\"The `level` option should be an integer from 0 to 3\");let t=Av?Av.level:0;r.level=e.level===void 0?t:e.level},OY=class{constructor(e){return MY(e)}},MY=r=>{let e={};return fwe(e,r),e.template=(...t)=>hwe(e.template,...t),Object.setPrototypeOf(e,wy.prototype),Object.setPrototypeOf(e.template,e),e.template.constructor=()=>{throw new Error(\"`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.\")},e.template.Instance=OY,e.template};function wy(r){return MY(r)}for(let[r,e]of Object.entries(zp))Dg[r]={get(){let t=By(this,cv(e.open,e.close,this._styler),this._isEmpty);return Object.defineProperty(this,r,{value:t}),t}};Dg.visible={get(){let r=By(this,this._styler,!0);return Object.defineProperty(this,\"visible\",{value:r}),r}};var UY=[\"rgb\",\"hex\",\"keyword\",\"hsl\",\"hsv\",\"hwb\",\"ansi\",\"ansi256\"];for(let r of UY)Dg[r]={get(){let{level:e}=this;return function(...t){let i=cv(zp.color[TY[e]][r](...t),zp.color.close,this._styler);return By(this,i,this._isEmpty)}}};for(let r of UY){let e=\"bg\"+r[0].toUpperCase()+r.slice(1);Dg[e]={get(){let{level:t}=this;return function(...i){let n=cv(zp.bgColor[TY[t]][r](...i),zp.bgColor.close,this._styler);return By(this,n,this._isEmpty)}}}}var pwe=Object.defineProperties(()=>{},te(N({},Dg),{level:{enumerable:!0,get(){return this._generator.level},set(r){this._generator.level=r}}})),cv=(r,e,t)=>{let i,n;return t===void 0?(i=r,n=e):(i=t.openAll+r,n=e+t.closeAll),{open:r,close:e,openAll:i,closeAll:n,parent:t}},By=(r,e,t)=>{let i=(...n)=>dwe(i,n.length===1?\"\"+n[0]:n.join(\" \"));return i.__proto__=pwe,i._generator=r,i._styler=e,i._isEmpty=t,i},dwe=(r,e)=>{if(r.level<=0||!e)return r._isEmpty?\"\":e;let t=r._styler;if(t===void 0)return e;let{openAll:i,closeAll:n}=t;if(e.indexOf(\"\u001b\")!==-1)for(;t!==void 0;)e=uwe(e,t.close,t.open),t=t.parent;let s=e.indexOf(`\n`);return s!==-1&&(e=gwe(e,n,i,s)),i+e+n},uv,hwe=(r,...e)=>{let[t]=e;if(!Array.isArray(t))return e.join(\" \");let i=e.slice(1),n=[t.raw[0]];for(let s=1;s<t.length;s++)n.push(String(i[s-1]).replace(/[{}\\\\]/g,\"\\\\$&\"),String(t.raw[s]));return uv===void 0&&(uv=NY()),uv(r,n.join(\"\"))};Object.defineProperties(wy.prototype,Dg);var _p=wy();_p.supportsColor=Av;_p.stderr=wy({level:lv?lv.level:0});_p.stderr.supportsColor=lv;_p.Level={None:0,Basic:1,Ansi256:2,TrueColor:3,0:\"None\",1:\"Basic\",2:\"Ansi256\",3:\"TrueColor\"};LY.exports=_p});var by=w(Rs=>{\"use strict\";Rs.isInteger=r=>typeof r==\"number\"?Number.isInteger(r):typeof r==\"string\"&&r.trim()!==\"\"?Number.isInteger(Number(r)):!1;Rs.find=(r,e)=>r.nodes.find(t=>t.type===e);Rs.exceedsLimit=(r,e,t=1,i)=>i===!1||!Rs.isInteger(r)||!Rs.isInteger(e)?!1:(Number(e)-Number(r))/Number(t)>=i;Rs.escapeNode=(r,e=0,t)=>{let i=r.nodes[e];!i||(t&&i.type===t||i.type===\"open\"||i.type===\"close\")&&i.escaped!==!0&&(i.value=\"\\\\\"+i.value,i.escaped=!0)};Rs.encloseBrace=r=>r.type!==\"brace\"?!1:r.commas>>0+r.ranges>>0==0?(r.invalid=!0,!0):!1;Rs.isInvalidBrace=r=>r.type!==\"brace\"?!1:r.invalid===!0||r.dollar?!0:r.commas>>0+r.ranges>>0==0||r.open!==!0||r.close!==!0?(r.invalid=!0,!0):!1;Rs.isOpenOrClose=r=>r.type===\"open\"||r.type===\"close\"?!0:r.open===!0||r.close===!0;Rs.reduce=r=>r.reduce((e,t)=>(t.type===\"text\"&&e.push(t.value),t.type===\"range\"&&(t.type=\"text\"),e),[]);Rs.flatten=(...r)=>{let e=[],t=i=>{for(let n=0;n<i.length;n++){let s=i[n];Array.isArray(s)?t(s,e):s!==void 0&&e.push(s)}return e};return t(r),e}});var Qy=w((het,KY)=>{\"use strict\";var HY=by();KY.exports=(r,e={})=>{let t=(i,n={})=>{let s=e.escapeInvalid&&HY.isInvalidBrace(n),o=i.invalid===!0&&e.escapeInvalid===!0,a=\"\";if(i.value)return(s||o)&&HY.isOpenOrClose(i)?\"\\\\\"+i.value:i.value;if(i.value)return i.value;if(i.nodes)for(let l of i.nodes)a+=t(l);return a};return t(r)}});var GY=w((pet,jY)=>{\"use strict\";jY.exports=function(r){return typeof r==\"number\"?r-r==0:typeof r==\"string\"&&r.trim()!==\"\"?Number.isFinite?Number.isFinite(+r):isFinite(+r):!1}});var ZY=w((det,YY)=>{\"use strict\";var qY=GY(),Fc=(r,e,t)=>{if(qY(r)===!1)throw new TypeError(\"toRegexRange: expected the first argument to be a number\");if(e===void 0||r===e)return String(r);if(qY(e)===!1)throw new TypeError(\"toRegexRange: expected the second argument to be a number.\");let i=N({relaxZeros:!0},t);typeof i.strictZeros==\"boolean\"&&(i.relaxZeros=i.strictZeros===!1);let n=String(i.relaxZeros),s=String(i.shorthand),o=String(i.capture),a=String(i.wrap),l=r+\":\"+e+\"=\"+n+s+o+a;if(Fc.cache.hasOwnProperty(l))return Fc.cache[l].result;let c=Math.min(r,e),u=Math.max(r,e);if(Math.abs(c-u)===1){let m=r+\"|\"+e;return i.capture?`(${m})`:i.wrap===!1?m:`(?:${m})`}let g=WY(r)||WY(e),f={min:r,max:e,a:c,b:u},h=[],p=[];if(g&&(f.isPadded=g,f.maxLen=String(f.max).length),c<0){let m=u<0?Math.abs(u):1;p=JY(m,Math.abs(c),f,i),c=f.a=0}return u>=0&&(h=JY(c,u,f,i)),f.negatives=p,f.positives=h,f.result=Cwe(p,h,i),i.capture===!0?f.result=`(${f.result})`:i.wrap!==!1&&h.length+p.length>1&&(f.result=`(?:${f.result})`),Fc.cache[l]=f,f.result};function Cwe(r,e,t){let i=fv(r,e,\"-\",!1,t)||[],n=fv(e,r,\"\",!1,t)||[],s=fv(r,e,\"-?\",!0,t)||[];return i.concat(s).concat(n).join(\"|\")}function Ewe(r,e){let t=1,i=1,n=zY(r,t),s=new Set([e]);for(;r<=n&&n<=e;)s.add(n),t+=1,n=zY(r,t);for(n=_Y(e+1,i)-1;r<n&&n<=e;)s.add(n),i+=1,n=_Y(e+1,i)-1;return s=[...s],s.sort(mwe),s}function wwe(r,e,t){if(r===e)return{pattern:r,count:[],digits:0};let i=Iwe(r,e),n=i.length,s=\"\",o=0;for(let a=0;a<n;a++){let[l,c]=i[a];l===c?s+=l:l!==\"0\"||c!==\"9\"?s+=ywe(l,c,t):o++}return o&&(s+=t.shorthand===!0?\"\\\\d\":\"[0-9]\"),{pattern:s,count:[o],digits:n}}function JY(r,e,t,i){let n=Ewe(r,e),s=[],o=r,a;for(let l=0;l<n.length;l++){let c=n[l],u=wwe(String(o),String(c),i),g=\"\";if(!t.isPadded&&a&&a.pattern===u.pattern){a.count.length>1&&a.count.pop(),a.count.push(u.count[0]),a.string=a.pattern+VY(a.count),o=c+1;continue}t.isPadded&&(g=Bwe(c,t,i)),u.string=g+u.pattern+VY(u.count),s.push(u),o=c+1,a=u}return s}function fv(r,e,t,i,n){let s=[];for(let o of r){let{string:a}=o;!i&&!XY(e,\"string\",a)&&s.push(t+a),i&&XY(e,\"string\",a)&&s.push(t+a)}return s}function Iwe(r,e){let t=[];for(let i=0;i<r.length;i++)t.push([r[i],e[i]]);return t}function mwe(r,e){return r>e?1:e>r?-1:0}function XY(r,e,t){return r.some(i=>i[e]===t)}function zY(r,e){return Number(String(r).slice(0,-e)+\"9\".repeat(e))}function _Y(r,e){return r-r%Math.pow(10,e)}function VY(r){let[e=0,t=\"\"]=r;return t||e>1?`{${e+(t?\",\"+t:\"\")}}`:\"\"}function ywe(r,e,t){return`[${r}${e-r==1?\"\":\"-\"}${e}]`}function WY(r){return/^-?(0+)\\d/.test(r)}function Bwe(r,e,t){if(!e.isPadded)return r;let i=Math.abs(e.maxLen-String(r).length),n=t.relaxZeros!==!1;switch(i){case 0:return\"\";case 1:return n?\"0?\":\"0\";case 2:return n?\"0{0,2}\":\"00\";default:return n?`0{0,${i}}`:`0{${i}}`}}Fc.cache={};Fc.clearCache=()=>Fc.cache={};YY.exports=Fc});var dv=w((Cet,$Y)=>{\"use strict\";var bwe=require(\"util\"),eq=ZY(),tq=r=>r!==null&&typeof r==\"object\"&&!Array.isArray(r),Qwe=r=>e=>r===!0?Number(e):String(e),hv=r=>typeof r==\"number\"||typeof r==\"string\"&&r!==\"\",Vp=r=>Number.isInteger(+r),pv=r=>{let e=`${r}`,t=-1;if(e[0]===\"-\"&&(e=e.slice(1)),e===\"0\")return!1;for(;e[++t]===\"0\";);return t>0},Swe=(r,e,t)=>typeof r==\"string\"||typeof e==\"string\"?!0:t.stringify===!0,vwe=(r,e,t)=>{if(e>0){let i=r[0]===\"-\"?\"-\":\"\";i&&(r=r.slice(1)),r=i+r.padStart(i?e-1:e,\"0\")}return t===!1?String(r):r},rq=(r,e)=>{let t=r[0]===\"-\"?\"-\":\"\";for(t&&(r=r.slice(1),e--);r.length<e;)r=\"0\"+r;return t?\"-\"+r:r},kwe=(r,e)=>{r.negatives.sort((o,a)=>o<a?-1:o>a?1:0),r.positives.sort((o,a)=>o<a?-1:o>a?1:0);let t=e.capture?\"\":\"?:\",i=\"\",n=\"\",s;return r.positives.length&&(i=r.positives.join(\"|\")),r.negatives.length&&(n=`-(${t}${r.negatives.join(\"|\")})`),i&&n?s=`${i}|${n}`:s=i||n,e.wrap?`(${t}${s})`:s},iq=(r,e,t,i)=>{if(t)return eq(r,e,N({wrap:!1},i));let n=String.fromCharCode(r);if(r===e)return n;let s=String.fromCharCode(e);return`[${n}-${s}]`},nq=(r,e,t)=>{if(Array.isArray(r)){let i=t.wrap===!0,n=t.capture?\"\":\"?:\";return i?`(${n}${r.join(\"|\")})`:r.join(\"|\")}return eq(r,e,t)},sq=(...r)=>new RangeError(\"Invalid range arguments: \"+bwe.inspect(...r)),oq=(r,e,t)=>{if(t.strictRanges===!0)throw sq([r,e]);return[]},xwe=(r,e)=>{if(e.strictRanges===!0)throw new TypeError(`Expected step \"${r}\" to be a number`);return[]},Pwe=(r,e,t=1,i={})=>{let n=Number(r),s=Number(e);if(!Number.isInteger(n)||!Number.isInteger(s)){if(i.strictRanges===!0)throw sq([r,e]);return[]}n===0&&(n=0),s===0&&(s=0);let o=n>s,a=String(r),l=String(e),c=String(t);t=Math.max(Math.abs(t),1);let u=pv(a)||pv(l)||pv(c),g=u?Math.max(a.length,l.length,c.length):0,f=u===!1&&Swe(r,e,i)===!1,h=i.transform||Qwe(f);if(i.toRegex&&t===1)return iq(rq(r,g),rq(e,g),!0,i);let p={negatives:[],positives:[]},m=v=>p[v<0?\"negatives\":\"positives\"].push(Math.abs(v)),y=[],b=0;for(;o?n>=s:n<=s;)i.toRegex===!0&&t>1?m(n):y.push(vwe(h(n,b),g,f)),n=o?n-t:n+t,b++;return i.toRegex===!0?t>1?kwe(p,i):nq(y,null,N({wrap:!1},i)):y},Dwe=(r,e,t=1,i={})=>{if(!Vp(r)&&r.length>1||!Vp(e)&&e.length>1)return oq(r,e,i);let n=i.transform||(f=>String.fromCharCode(f)),s=`${r}`.charCodeAt(0),o=`${e}`.charCodeAt(0),a=s>o,l=Math.min(s,o),c=Math.max(s,o);if(i.toRegex&&t===1)return iq(l,c,!1,i);let u=[],g=0;for(;a?s>=o:s<=o;)u.push(n(s,g)),s=a?s-t:s+t,g++;return i.toRegex===!0?nq(u,null,{wrap:!1,options:i}):u},Sy=(r,e,t,i={})=>{if(e==null&&hv(r))return[r];if(!hv(r)||!hv(e))return oq(r,e,i);if(typeof t==\"function\")return Sy(r,e,1,{transform:t});if(tq(t))return Sy(r,e,0,t);let n=N({},i);return n.capture===!0&&(n.wrap=!0),t=t||n.step||1,Vp(t)?Vp(r)&&Vp(e)?Pwe(r,e,t,n):Dwe(r,e,Math.max(Math.abs(t),1),n):t!=null&&!tq(t)?xwe(t,n):Sy(r,e,1,t)};$Y.exports=Sy});var lq=w((met,aq)=>{\"use strict\";var Rwe=dv(),Aq=by(),Fwe=(r,e={})=>{let t=(i,n={})=>{let s=Aq.isInvalidBrace(n),o=i.invalid===!0&&e.escapeInvalid===!0,a=s===!0||o===!0,l=e.escapeInvalid===!0?\"\\\\\":\"\",c=\"\";if(i.isOpen===!0||i.isClose===!0)return l+i.value;if(i.type===\"open\")return a?l+i.value:\"(\";if(i.type===\"close\")return a?l+i.value:\")\";if(i.type===\"comma\")return i.prev.type===\"comma\"?\"\":a?i.value:\"|\";if(i.value)return i.value;if(i.nodes&&i.ranges>0){let u=Aq.reduce(i.nodes),g=Rwe(...u,te(N({},e),{wrap:!1,toRegex:!0}));if(g.length!==0)return u.length>1&&g.length>1?`(${g})`:g}if(i.nodes)for(let u of i.nodes)c+=t(u,i);return c};return t(r)};aq.exports=Fwe});var gq=w((Eet,cq)=>{\"use strict\";var Nwe=dv(),uq=Qy(),Rg=by(),Nc=(r=\"\",e=\"\",t=!1)=>{let i=[];if(r=[].concat(r),e=[].concat(e),!e.length)return r;if(!r.length)return t?Rg.flatten(e).map(n=>`{${n}}`):e;for(let n of r)if(Array.isArray(n))for(let s of n)i.push(Nc(s,e,t));else for(let s of e)t===!0&&typeof s==\"string\"&&(s=`{${s}}`),i.push(Array.isArray(s)?Nc(n,s,t):n+s);return Rg.flatten(i)},Lwe=(r,e={})=>{let t=e.rangeLimit===void 0?1e3:e.rangeLimit,i=(n,s={})=>{n.queue=[];let o=s,a=s.queue;for(;o.type!==\"brace\"&&o.type!==\"root\"&&o.parent;)o=o.parent,a=o.queue;if(n.invalid||n.dollar){a.push(Nc(a.pop(),uq(n,e)));return}if(n.type===\"brace\"&&n.invalid!==!0&&n.nodes.length===2){a.push(Nc(a.pop(),[\"{}\"]));return}if(n.nodes&&n.ranges>0){let g=Rg.reduce(n.nodes);if(Rg.exceedsLimit(...g,e.step,t))throw new RangeError(\"expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.\");let f=Nwe(...g,e);f.length===0&&(f=uq(n,e)),a.push(Nc(a.pop(),f)),n.nodes=[];return}let l=Rg.encloseBrace(n),c=n.queue,u=n;for(;u.type!==\"brace\"&&u.type!==\"root\"&&u.parent;)u=u.parent,c=u.queue;for(let g=0;g<n.nodes.length;g++){let f=n.nodes[g];if(f.type===\"comma\"&&n.type===\"brace\"){g===1&&c.push(\"\"),c.push(\"\");continue}if(f.type===\"close\"){a.push(Nc(a.pop(),c,l));continue}if(f.value&&f.type!==\"open\"){c.push(Nc(c.pop(),f.value));continue}f.nodes&&i(f,n)}return c};return Rg.flatten(i(r))};cq.exports=Lwe});var hq=w((Iet,fq)=>{\"use strict\";fq.exports={MAX_LENGTH:1024*64,CHAR_0:\"0\",CHAR_9:\"9\",CHAR_UPPERCASE_A:\"A\",CHAR_LOWERCASE_A:\"a\",CHAR_UPPERCASE_Z:\"Z\",CHAR_LOWERCASE_Z:\"z\",CHAR_LEFT_PARENTHESES:\"(\",CHAR_RIGHT_PARENTHESES:\")\",CHAR_ASTERISK:\"*\",CHAR_AMPERSAND:\"&\",CHAR_AT:\"@\",CHAR_BACKSLASH:\"\\\\\",CHAR_BACKTICK:\"`\",CHAR_CARRIAGE_RETURN:\"\\r\",CHAR_CIRCUMFLEX_ACCENT:\"^\",CHAR_COLON:\":\",CHAR_COMMA:\",\",CHAR_DOLLAR:\"$\",CHAR_DOT:\".\",CHAR_DOUBLE_QUOTE:'\"',CHAR_EQUAL:\"=\",CHAR_EXCLAMATION_MARK:\"!\",CHAR_FORM_FEED:\"\\f\",CHAR_FORWARD_SLASH:\"/\",CHAR_HASH:\"#\",CHAR_HYPHEN_MINUS:\"-\",CHAR_LEFT_ANGLE_BRACKET:\"<\",CHAR_LEFT_CURLY_BRACE:\"{\",CHAR_LEFT_SQUARE_BRACKET:\"[\",CHAR_LINE_FEED:`\n`,CHAR_NO_BREAK_SPACE:\"\\xA0\",CHAR_PERCENT:\"%\",CHAR_PLUS:\"+\",CHAR_QUESTION_MARK:\"?\",CHAR_RIGHT_ANGLE_BRACKET:\">\",CHAR_RIGHT_CURLY_BRACE:\"}\",CHAR_RIGHT_SQUARE_BRACKET:\"]\",CHAR_SEMICOLON:\";\",CHAR_SINGLE_QUOTE:\"'\",CHAR_SPACE:\" \",CHAR_TAB:\"\t\",CHAR_UNDERSCORE:\"_\",CHAR_VERTICAL_LINE:\"|\",CHAR_ZERO_WIDTH_NOBREAK_SPACE:\"\\uFEFF\"}});var Eq=w((yet,pq)=>{\"use strict\";var Twe=Qy(),{MAX_LENGTH:dq,CHAR_BACKSLASH:Cv,CHAR_BACKTICK:Owe,CHAR_COMMA:Mwe,CHAR_DOT:Uwe,CHAR_LEFT_PARENTHESES:Kwe,CHAR_RIGHT_PARENTHESES:Hwe,CHAR_LEFT_CURLY_BRACE:jwe,CHAR_RIGHT_CURLY_BRACE:Gwe,CHAR_LEFT_SQUARE_BRACKET:Cq,CHAR_RIGHT_SQUARE_BRACKET:mq,CHAR_DOUBLE_QUOTE:Ywe,CHAR_SINGLE_QUOTE:qwe,CHAR_NO_BREAK_SPACE:Jwe,CHAR_ZERO_WIDTH_NOBREAK_SPACE:Wwe}=hq(),zwe=(r,e={})=>{if(typeof r!=\"string\")throw new TypeError(\"Expected a string\");let t=e||{},i=typeof t.maxLength==\"number\"?Math.min(dq,t.maxLength):dq;if(r.length>i)throw new SyntaxError(`Input length (${r.length}), exceeds max characters (${i})`);let n={type:\"root\",input:r,nodes:[]},s=[n],o=n,a=n,l=0,c=r.length,u=0,g=0,f,h={},p=()=>r[u++],m=y=>{if(y.type===\"text\"&&a.type===\"dot\"&&(a.type=\"text\"),a&&a.type===\"text\"&&y.type===\"text\"){a.value+=y.value;return}return o.nodes.push(y),y.parent=o,y.prev=a,a=y,y};for(m({type:\"bos\"});u<c;)if(o=s[s.length-1],f=p(),!(f===Wwe||f===Jwe)){if(f===Cv){m({type:\"text\",value:(e.keepEscaping?f:\"\")+p()});continue}if(f===mq){m({type:\"text\",value:\"\\\\\"+f});continue}if(f===Cq){l++;let y=!0,b;for(;u<c&&(b=p());){if(f+=b,b===Cq){l++;continue}if(b===Cv){f+=p();continue}if(b===mq&&(l--,l===0))break}m({type:\"text\",value:f});continue}if(f===Kwe){o=m({type:\"paren\",nodes:[]}),s.push(o),m({type:\"text\",value:f});continue}if(f===Hwe){if(o.type!==\"paren\"){m({type:\"text\",value:f});continue}o=s.pop(),m({type:\"text\",value:f}),o=s[s.length-1];continue}if(f===Ywe||f===qwe||f===Owe){let y=f,b;for(e.keepQuotes!==!0&&(f=\"\");u<c&&(b=p());){if(b===Cv){f+=b+p();continue}if(b===y){e.keepQuotes===!0&&(f+=b);break}f+=b}m({type:\"text\",value:f});continue}if(f===jwe){g++;let y=a.value&&a.value.slice(-1)===\"$\"||o.dollar===!0;o=m({type:\"brace\",open:!0,close:!1,dollar:y,depth:g,commas:0,ranges:0,nodes:[]}),s.push(o),m({type:\"open\",value:f});continue}if(f===Gwe){if(o.type!==\"brace\"){m({type:\"text\",value:f});continue}let y=\"close\";o=s.pop(),o.close=!0,m({type:y,value:f}),g--,o=s[s.length-1];continue}if(f===Mwe&&g>0){if(o.ranges>0){o.ranges=0;let y=o.nodes.shift();o.nodes=[y,{type:\"text\",value:Twe(o)}]}m({type:\"comma\",value:f}),o.commas++;continue}if(f===Uwe&&g>0&&o.commas===0){let y=o.nodes;if(g===0||y.length===0){m({type:\"text\",value:f});continue}if(a.type===\"dot\"){if(o.range=[],a.value+=f,a.type=\"range\",o.nodes.length!==3&&o.nodes.length!==5){o.invalid=!0,o.ranges=0,a.type=\"text\";continue}o.ranges++,o.args=[];continue}if(a.type===\"range\"){y.pop();let b=y[y.length-1];b.value+=a.value+f,a=b,o.ranges--;continue}m({type:\"dot\",value:f});continue}m({type:\"text\",value:f})}do if(o=s.pop(),o.type!==\"root\"){o.nodes.forEach(v=>{v.nodes||(v.type===\"open\"&&(v.isOpen=!0),v.type===\"close\"&&(v.isClose=!0),v.nodes||(v.type=\"text\"),v.invalid=!0)});let y=s[s.length-1],b=y.nodes.indexOf(o);y.nodes.splice(b,1,...o.nodes)}while(s.length>0);return m({type:\"eos\"}),n};pq.exports=zwe});var wq=w((wet,Iq)=>{\"use strict\";var yq=Qy(),_we=lq(),Vwe=gq(),Xwe=Eq(),rs=(r,e={})=>{let t=[];if(Array.isArray(r))for(let i of r){let n=rs.create(i,e);Array.isArray(n)?t.push(...n):t.push(n)}else t=[].concat(rs.create(r,e));return e&&e.expand===!0&&e.nodupes===!0&&(t=[...new Set(t)]),t};rs.parse=(r,e={})=>Xwe(r,e);rs.stringify=(r,e={})=>typeof r==\"string\"?yq(rs.parse(r,e),e):yq(r,e);rs.compile=(r,e={})=>(typeof r==\"string\"&&(r=rs.parse(r,e)),_we(r,e));rs.expand=(r,e={})=>{typeof r==\"string\"&&(r=rs.parse(r,e));let t=Vwe(r,e);return e.noempty===!0&&(t=t.filter(Boolean)),e.nodupes===!0&&(t=[...new Set(t)]),t};rs.create=(r,e={})=>r===\"\"||r.length<3?[r]:e.expand!==!0?rs.compile(r,e):rs.expand(r,e);Iq.exports=rs});var Xp=w((Bet,Bq)=>{\"use strict\";var Zwe=require(\"path\"),zo=\"\\\\\\\\/\",bq=`[^${zo}]`,_a=\"\\\\.\",$we=\"\\\\+\",eBe=\"\\\\?\",vy=\"\\\\/\",tBe=\"(?=.)\",Qq=\"[^/]\",mv=`(?:${vy}|$)`,Sq=`(?:^|${vy})`,Ev=`${_a}{1,2}${mv}`,rBe=`(?!${_a})`,iBe=`(?!${Sq}${Ev})`,nBe=`(?!${_a}{0,1}${mv})`,sBe=`(?!${Ev})`,oBe=`[^.${vy}]`,aBe=`${Qq}*?`,vq={DOT_LITERAL:_a,PLUS_LITERAL:$we,QMARK_LITERAL:eBe,SLASH_LITERAL:vy,ONE_CHAR:tBe,QMARK:Qq,END_ANCHOR:mv,DOTS_SLASH:Ev,NO_DOT:rBe,NO_DOTS:iBe,NO_DOT_SLASH:nBe,NO_DOTS_SLASH:sBe,QMARK_NO_DOT:oBe,STAR:aBe,START_ANCHOR:Sq},ABe=te(N({},vq),{SLASH_LITERAL:`[${zo}]`,QMARK:bq,STAR:`${bq}*?`,DOTS_SLASH:`${_a}{1,2}(?:[${zo}]|$)`,NO_DOT:`(?!${_a})`,NO_DOTS:`(?!(?:^|[${zo}])${_a}{1,2}(?:[${zo}]|$))`,NO_DOT_SLASH:`(?!${_a}{0,1}(?:[${zo}]|$))`,NO_DOTS_SLASH:`(?!${_a}{1,2}(?:[${zo}]|$))`,QMARK_NO_DOT:`[^.${zo}]`,START_ANCHOR:`(?:^|[${zo}])`,END_ANCHOR:`(?:[${zo}]|$)`}),lBe={alnum:\"a-zA-Z0-9\",alpha:\"a-zA-Z\",ascii:\"\\\\x00-\\\\x7F\",blank:\" \\\\t\",cntrl:\"\\\\x00-\\\\x1F\\\\x7F\",digit:\"0-9\",graph:\"\\\\x21-\\\\x7E\",lower:\"a-z\",print:\"\\\\x20-\\\\x7E \",punct:\"\\\\-!\\\"#$%&'()\\\\*+,./:;<=>?@[\\\\]^_`{|}~\",space:\" \\\\t\\\\r\\\\n\\\\v\\\\f\",upper:\"A-Z\",word:\"A-Za-z0-9_\",xdigit:\"A-Fa-f0-9\"};Bq.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:lBe,REGEX_BACKSLASH:/\\\\(?![*+?^${}(|)[\\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\\].,$*+?^{}()|\\\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\\\?)((\\W)(\\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\\[.*?[^\\\\]\\]|\\\\(?=.))/g,REPLACEMENTS:{\"***\":\"*\",\"**/**\":\"**\",\"**/**/**\":\"**\"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:Zwe.sep,extglobChars(r){return{\"!\":{type:\"negate\",open:\"(?:(?!(?:\",close:`))${r.STAR})`},\"?\":{type:\"qmark\",open:\"(?:\",close:\")?\"},\"+\":{type:\"plus\",open:\"(?:\",close:\")+\"},\"*\":{type:\"star\",open:\"(?:\",close:\")*\"},\"@\":{type:\"at\",open:\"(?:\",close:\")\"}}},globChars(r){return r===!0?ABe:vq}}});var Zp=w(kn=>{\"use strict\";var cBe=require(\"path\"),uBe=process.platform===\"win32\",{REGEX_BACKSLASH:gBe,REGEX_REMOVE_BACKSLASH:fBe,REGEX_SPECIAL_CHARS:hBe,REGEX_SPECIAL_CHARS_GLOBAL:pBe}=Xp();kn.isObject=r=>r!==null&&typeof r==\"object\"&&!Array.isArray(r);kn.hasRegexChars=r=>hBe.test(r);kn.isRegexChar=r=>r.length===1&&kn.hasRegexChars(r);kn.escapeRegex=r=>r.replace(pBe,\"\\\\$1\");kn.toPosixSlashes=r=>r.replace(gBe,\"/\");kn.removeBackslashes=r=>r.replace(fBe,e=>e===\"\\\\\"?\"\":e);kn.supportsLookbehinds=()=>{let r=process.version.slice(1).split(\".\").map(Number);return r.length===3&&r[0]>=9||r[0]===8&&r[1]>=10};kn.isWindows=r=>r&&typeof r.windows==\"boolean\"?r.windows:uBe===!0||cBe.sep===\"\\\\\";kn.escapeLast=(r,e,t)=>{let i=r.lastIndexOf(e,t);return i===-1?r:r[i-1]===\"\\\\\"?kn.escapeLast(r,e,i-1):`${r.slice(0,i)}\\\\${r.slice(i)}`};kn.removePrefix=(r,e={})=>{let t=r;return t.startsWith(\"./\")&&(t=t.slice(2),e.prefix=\"./\"),t};kn.wrapOutput=(r,e={},t={})=>{let i=t.contains?\"\":\"^\",n=t.contains?\"\":\"$\",s=`${i}(?:${r})${n}`;return e.negated===!0&&(s=`(?:^(?!${s}).*$)`),s}});var Lq=w((Qet,kq)=>{\"use strict\";var xq=Zp(),{CHAR_ASTERISK:Iv,CHAR_AT:dBe,CHAR_BACKWARD_SLASH:$p,CHAR_COMMA:CBe,CHAR_DOT:yv,CHAR_EXCLAMATION_MARK:wv,CHAR_FORWARD_SLASH:Pq,CHAR_LEFT_CURLY_BRACE:Bv,CHAR_LEFT_PARENTHESES:bv,CHAR_LEFT_SQUARE_BRACKET:mBe,CHAR_PLUS:EBe,CHAR_QUESTION_MARK:Dq,CHAR_RIGHT_CURLY_BRACE:IBe,CHAR_RIGHT_PARENTHESES:Rq,CHAR_RIGHT_SQUARE_BRACKET:yBe}=Xp(),Fq=r=>r===Pq||r===$p,Nq=r=>{r.isPrefix!==!0&&(r.depth=r.isGlobstar?Infinity:1)},wBe=(r,e)=>{let t=e||{},i=r.length-1,n=t.parts===!0||t.scanToEnd===!0,s=[],o=[],a=[],l=r,c=-1,u=0,g=0,f=!1,h=!1,p=!1,m=!1,y=!1,b=!1,v=!1,k=!1,T=!1,Y=!1,q=0,$,z,ne={value:\"\",depth:0,isGlob:!1},ee=()=>c>=i,A=()=>l.charCodeAt(c+1),oe=()=>($=z,l.charCodeAt(++c));for(;c<i;){z=oe();let de;if(z===$p){v=ne.backslashes=!0,z=oe(),z===Bv&&(b=!0);continue}if(b===!0||z===Bv){for(q++;ee()!==!0&&(z=oe());){if(z===$p){v=ne.backslashes=!0,oe();continue}if(z===Bv){q++;continue}if(b!==!0&&z===yv&&(z=oe())===yv){if(f=ne.isBrace=!0,p=ne.isGlob=!0,Y=!0,n===!0)continue;break}if(b!==!0&&z===CBe){if(f=ne.isBrace=!0,p=ne.isGlob=!0,Y=!0,n===!0)continue;break}if(z===IBe&&(q--,q===0)){b=!1,f=ne.isBrace=!0,Y=!0;break}}if(n===!0)continue;break}if(z===Pq){if(s.push(c),o.push(ne),ne={value:\"\",depth:0,isGlob:!1},Y===!0)continue;if($===yv&&c===u+1){u+=2;continue}g=c+1;continue}if(t.noext!==!0&&(z===EBe||z===dBe||z===Iv||z===Dq||z===wv)===!0&&A()===bv){if(p=ne.isGlob=!0,m=ne.isExtglob=!0,Y=!0,z===wv&&c===u&&(T=!0),n===!0){for(;ee()!==!0&&(z=oe());){if(z===$p){v=ne.backslashes=!0,z=oe();continue}if(z===Rq){p=ne.isGlob=!0,Y=!0;break}}continue}break}if(z===Iv){if($===Iv&&(y=ne.isGlobstar=!0),p=ne.isGlob=!0,Y=!0,n===!0)continue;break}if(z===Dq){if(p=ne.isGlob=!0,Y=!0,n===!0)continue;break}if(z===mBe){for(;ee()!==!0&&(de=oe());){if(de===$p){v=ne.backslashes=!0,oe();continue}if(de===yBe){h=ne.isBracket=!0,p=ne.isGlob=!0,Y=!0;break}}if(n===!0)continue;break}if(t.nonegate!==!0&&z===wv&&c===u){k=ne.negated=!0,u++;continue}if(t.noparen!==!0&&z===bv){if(p=ne.isGlob=!0,n===!0){for(;ee()!==!0&&(z=oe());){if(z===bv){v=ne.backslashes=!0,z=oe();continue}if(z===Rq){Y=!0;break}}continue}break}if(p===!0){if(Y=!0,n===!0)continue;break}}t.noext===!0&&(m=!1,p=!1);let ce=l,Z=\"\",O=\"\";u>0&&(Z=l.slice(0,u),l=l.slice(u),g-=u),ce&&p===!0&&g>0?(ce=l.slice(0,g),O=l.slice(g)):p===!0?(ce=\"\",O=l):ce=l,ce&&ce!==\"\"&&ce!==\"/\"&&ce!==l&&Fq(ce.charCodeAt(ce.length-1))&&(ce=ce.slice(0,-1)),t.unescape===!0&&(O&&(O=xq.removeBackslashes(O)),ce&&v===!0&&(ce=xq.removeBackslashes(ce)));let L={prefix:Z,input:r,start:u,base:ce,glob:O,isBrace:f,isBracket:h,isGlob:p,isExtglob:m,isGlobstar:y,negated:k,negatedExtglob:T};if(t.tokens===!0&&(L.maxDepth=0,Fq(z)||o.push(ne),L.tokens=o),t.parts===!0||t.tokens===!0){let de;for(let Be=0;Be<s.length;Be++){let Ge=de?de+1:u,re=s[Be],se=r.slice(Ge,re);t.tokens&&(Be===0&&u!==0?(o[Be].isPrefix=!0,o[Be].value=Z):o[Be].value=se,Nq(o[Be]),L.maxDepth+=o[Be].depth),(Be!==0||se!==\"\")&&a.push(se),de=re}if(de&&de+1<r.length){let Be=r.slice(de+1);a.push(Be),t.tokens&&(o[o.length-1].value=Be,Nq(o[o.length-1]),L.maxDepth+=o[o.length-1].depth)}L.slashes=s,L.parts=a}return L};kq.exports=wBe});var Uq=w((vet,Tq)=>{\"use strict\";var ky=Xp(),is=Zp(),{MAX_LENGTH:xy,POSIX_REGEX_SOURCE:BBe,REGEX_NON_SPECIAL_CHARS:bBe,REGEX_SPECIAL_CHARS_BACKREF:QBe,REPLACEMENTS:Oq}=ky,SBe=(r,e)=>{if(typeof e.expandRange==\"function\")return e.expandRange(...r,e);r.sort();let t=`[${r.join(\"-\")}]`;try{new RegExp(t)}catch(i){return r.map(n=>is.escapeRegex(n)).join(\"..\")}return t},Fg=(r,e)=>`Missing ${r}: \"${e}\" - use \"\\\\\\\\${e}\" to match literal characters`,Mq=(r,e)=>{if(typeof r!=\"string\")throw new TypeError(\"Expected a string\");r=Oq[r]||r;let t=N({},e),i=typeof t.maxLength==\"number\"?Math.min(xy,t.maxLength):xy,n=r.length;if(n>i)throw new SyntaxError(`Input length: ${n}, exceeds maximum allowed length: ${i}`);let s={type:\"bos\",value:\"\",output:t.prepend||\"\"},o=[s],a=t.capture?\"\":\"?:\",l=is.isWindows(e),c=ky.globChars(l),u=ky.extglobChars(c),{DOT_LITERAL:g,PLUS_LITERAL:f,SLASH_LITERAL:h,ONE_CHAR:p,DOTS_SLASH:m,NO_DOT:y,NO_DOT_SLASH:b,NO_DOTS_SLASH:v,QMARK:k,QMARK_NO_DOT:T,STAR:Y,START_ANCHOR:q}=c,$=V=>`(${a}(?:(?!${q}${V.dot?m:g}).)*?)`,z=t.dot?\"\":y,ne=t.dot?k:T,ee=t.bash===!0?$(t):Y;t.capture&&(ee=`(${ee})`),typeof t.noext==\"boolean\"&&(t.noextglob=t.noext);let A={input:r,index:-1,start:0,dot:t.dot===!0,consumed:\"\",output:\"\",prefix:\"\",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:o};r=is.removePrefix(r,A),n=r.length;let oe=[],ce=[],Z=[],O=s,L,de=()=>A.index===n-1,Be=A.peek=(V=1)=>r[A.index+V],Ge=A.advance=()=>r[++A.index]||\"\",re=()=>r.slice(A.index+1),se=(V=\"\",Qe=0)=>{A.consumed+=V,A.index+=Qe},be=V=>{A.output+=V.output!=null?V.output:V.value,se(V.value)},he=()=>{let V=1;for(;Be()===\"!\"&&(Be(2)!==\"(\"||Be(3)===\"?\");)Ge(),A.start++,V++;return V%2==0?!1:(A.negated=!0,A.start++,!0)},Fe=V=>{A[V]++,Z.push(V)},Ue=V=>{A[V]--,Z.pop()},xe=V=>{if(O.type===\"globstar\"){let Qe=A.braces>0&&(V.type===\"comma\"||V.type===\"brace\"),le=V.extglob===!0||oe.length&&(V.type===\"pipe\"||V.type===\"paren\");V.type!==\"slash\"&&V.type!==\"paren\"&&!Qe&&!le&&(A.output=A.output.slice(0,-O.output.length),O.type=\"star\",O.value=\"*\",O.output=ee,A.output+=O.output)}if(oe.length&&V.type!==\"paren\"&&(oe[oe.length-1].inner+=V.value),(V.value||V.output)&&be(V),O&&O.type===\"text\"&&V.type===\"text\"){O.value+=V.value,O.output=(O.output||\"\")+V.value;return}V.prev=O,o.push(V),O=V},ve=(V,Qe)=>{let le=te(N({},u[Qe]),{conditions:1,inner:\"\"});le.prev=O,le.parens=A.parens,le.output=A.output;let fe=(t.capture?\"(\":\"\")+le.open;Fe(\"parens\"),xe({type:V,value:Qe,output:A.output?\"\":p}),xe({type:\"paren\",extglob:!0,value:Ge(),output:fe}),oe.push(le)},pe=V=>{let Qe=V.close+(t.capture?\")\":\"\"),le;if(V.type===\"negate\"){let fe=ee;V.inner&&V.inner.length>1&&V.inner.includes(\"/\")&&(fe=$(t)),(fe!==ee||de()||/^\\)+$/.test(re()))&&(Qe=V.close=`)$))${fe}`),V.inner.includes(\"*\")&&(le=re())&&/^\\.[^\\\\/.]+$/.test(le)&&(Qe=V.close=`)${le})${fe})`),V.prev.type===\"bos\"&&(A.negatedExtglob=!0)}xe({type:\"paren\",extglob:!0,value:L,output:Qe}),Ue(\"parens\")};if(t.fastpaths!==!1&&!/(^[*!]|[/()[\\]{}\"])/.test(r)){let V=!1,Qe=r.replace(QBe,(le,fe,gt,Ht,Mt,Ei)=>Ht===\"\\\\\"?(V=!0,le):Ht===\"?\"?fe?fe+Ht+(Mt?k.repeat(Mt.length):\"\"):Ei===0?ne+(Mt?k.repeat(Mt.length):\"\"):k.repeat(gt.length):Ht===\".\"?g.repeat(gt.length):Ht===\"*\"?fe?fe+Ht+(Mt?ee:\"\"):ee:fe?le:`\\\\${le}`);return V===!0&&(t.unescape===!0?Qe=Qe.replace(/\\\\/g,\"\"):Qe=Qe.replace(/\\\\+/g,le=>le.length%2==0?\"\\\\\\\\\":le?\"\\\\\":\"\")),Qe===r&&t.contains===!0?(A.output=r,A):(A.output=is.wrapOutput(Qe,A,e),A)}for(;!de();){if(L=Ge(),L===\"\\0\")continue;if(L===\"\\\\\"){let le=Be();if(le===\"/\"&&t.bash!==!0||le===\".\"||le===\";\")continue;if(!le){L+=\"\\\\\",xe({type:\"text\",value:L});continue}let fe=/^\\\\+/.exec(re()),gt=0;if(fe&&fe[0].length>2&&(gt=fe[0].length,A.index+=gt,gt%2!=0&&(L+=\"\\\\\")),t.unescape===!0?L=Ge():L+=Ge(),A.brackets===0){xe({type:\"text\",value:L});continue}}if(A.brackets>0&&(L!==\"]\"||O.value===\"[\"||O.value===\"[^\")){if(t.posix!==!1&&L===\":\"){let le=O.value.slice(1);if(le.includes(\"[\")&&(O.posix=!0,le.includes(\":\"))){let fe=O.value.lastIndexOf(\"[\"),gt=O.value.slice(0,fe),Ht=O.value.slice(fe+2),Mt=BBe[Ht];if(Mt){O.value=gt+Mt,A.backtrack=!0,Ge(),!s.output&&o.indexOf(O)===1&&(s.output=p);continue}}}(L===\"[\"&&Be()!==\":\"||L===\"-\"&&Be()===\"]\")&&(L=`\\\\${L}`),L===\"]\"&&(O.value===\"[\"||O.value===\"[^\")&&(L=`\\\\${L}`),t.posix===!0&&L===\"!\"&&O.value===\"[\"&&(L=\"^\"),O.value+=L,be({value:L});continue}if(A.quotes===1&&L!=='\"'){L=is.escapeRegex(L),O.value+=L,be({value:L});continue}if(L==='\"'){A.quotes=A.quotes===1?0:1,t.keepQuotes===!0&&xe({type:\"text\",value:L});continue}if(L===\"(\"){Fe(\"parens\"),xe({type:\"paren\",value:L});continue}if(L===\")\"){if(A.parens===0&&t.strictBrackets===!0)throw new SyntaxError(Fg(\"opening\",\"(\"));let le=oe[oe.length-1];if(le&&A.parens===le.parens+1){pe(oe.pop());continue}xe({type:\"paren\",value:L,output:A.parens?\")\":\"\\\\)\"}),Ue(\"parens\");continue}if(L===\"[\"){if(t.nobracket===!0||!re().includes(\"]\")){if(t.nobracket!==!0&&t.strictBrackets===!0)throw new SyntaxError(Fg(\"closing\",\"]\"));L=`\\\\${L}`}else Fe(\"brackets\");xe({type:\"bracket\",value:L});continue}if(L===\"]\"){if(t.nobracket===!0||O&&O.type===\"bracket\"&&O.value.length===1){xe({type:\"text\",value:L,output:`\\\\${L}`});continue}if(A.brackets===0){if(t.strictBrackets===!0)throw new SyntaxError(Fg(\"opening\",\"[\"));xe({type:\"text\",value:L,output:`\\\\${L}`});continue}Ue(\"brackets\");let le=O.value.slice(1);if(O.posix!==!0&&le[0]===\"^\"&&!le.includes(\"/\")&&(L=`/${L}`),O.value+=L,be({value:L}),t.literalBrackets===!1||is.hasRegexChars(le))continue;let fe=is.escapeRegex(O.value);if(A.output=A.output.slice(0,-O.value.length),t.literalBrackets===!0){A.output+=fe,O.value=fe;continue}O.value=`(${a}${fe}|${O.value})`,A.output+=O.value;continue}if(L===\"{\"&&t.nobrace!==!0){Fe(\"braces\");let le={type:\"brace\",value:L,output:\"(\",outputIndex:A.output.length,tokensIndex:A.tokens.length};ce.push(le),xe(le);continue}if(L===\"}\"){let le=ce[ce.length-1];if(t.nobrace===!0||!le){xe({type:\"text\",value:L,output:L});continue}let fe=\")\";if(le.dots===!0){let gt=o.slice(),Ht=[];for(let Mt=gt.length-1;Mt>=0&&(o.pop(),gt[Mt].type!==\"brace\");Mt--)gt[Mt].type!==\"dots\"&&Ht.unshift(gt[Mt].value);fe=SBe(Ht,t),A.backtrack=!0}if(le.comma!==!0&&le.dots!==!0){let gt=A.output.slice(0,le.outputIndex),Ht=A.tokens.slice(le.tokensIndex);le.value=le.output=\"\\\\{\",L=fe=\"\\\\}\",A.output=gt;for(let Mt of Ht)A.output+=Mt.output||Mt.value}xe({type:\"brace\",value:L,output:fe}),Ue(\"braces\"),ce.pop();continue}if(L===\"|\"){oe.length>0&&oe[oe.length-1].conditions++,xe({type:\"text\",value:L});continue}if(L===\",\"){let le=L,fe=ce[ce.length-1];fe&&Z[Z.length-1]===\"braces\"&&(fe.comma=!0,le=\"|\"),xe({type:\"comma\",value:L,output:le});continue}if(L===\"/\"){if(O.type===\"dot\"&&A.index===A.start+1){A.start=A.index+1,A.consumed=\"\",A.output=\"\",o.pop(),O=s;continue}xe({type:\"slash\",value:L,output:h});continue}if(L===\".\"){if(A.braces>0&&O.type===\"dot\"){O.value===\".\"&&(O.output=g);let le=ce[ce.length-1];O.type=\"dots\",O.output+=L,O.value+=L,le.dots=!0;continue}if(A.braces+A.parens===0&&O.type!==\"bos\"&&O.type!==\"slash\"){xe({type:\"text\",value:L,output:g});continue}xe({type:\"dot\",value:L,output:g});continue}if(L===\"?\"){if(!(O&&O.value===\"(\")&&t.noextglob!==!0&&Be()===\"(\"&&Be(2)!==\"?\"){ve(\"qmark\",L);continue}if(O&&O.type===\"paren\"){let fe=Be(),gt=L;if(fe===\"<\"&&!is.supportsLookbehinds())throw new Error(\"Node.js v10 or higher is required for regex lookbehinds\");(O.value===\"(\"&&!/[!=<:]/.test(fe)||fe===\"<\"&&!/<([!=]|\\w+>)/.test(re()))&&(gt=`\\\\${L}`),xe({type:\"text\",value:L,output:gt});continue}if(t.dot!==!0&&(O.type===\"slash\"||O.type===\"bos\")){xe({type:\"qmark\",value:L,output:T});continue}xe({type:\"qmark\",value:L,output:k});continue}if(L===\"!\"){if(t.noextglob!==!0&&Be()===\"(\"&&(Be(2)!==\"?\"||!/[!=<:]/.test(Be(3)))){ve(\"negate\",L);continue}if(t.nonegate!==!0&&A.index===0){he();continue}}if(L===\"+\"){if(t.noextglob!==!0&&Be()===\"(\"&&Be(2)!==\"?\"){ve(\"plus\",L);continue}if(O&&O.value===\"(\"||t.regex===!1){xe({type:\"plus\",value:L,output:f});continue}if(O&&(O.type===\"bracket\"||O.type===\"paren\"||O.type===\"brace\")||A.parens>0){xe({type:\"plus\",value:L});continue}xe({type:\"plus\",value:f});continue}if(L===\"@\"){if(t.noextglob!==!0&&Be()===\"(\"&&Be(2)!==\"?\"){xe({type:\"at\",extglob:!0,value:L,output:\"\"});continue}xe({type:\"text\",value:L});continue}if(L!==\"*\"){(L===\"$\"||L===\"^\")&&(L=`\\\\${L}`);let le=bBe.exec(re());le&&(L+=le[0],A.index+=le[0].length),xe({type:\"text\",value:L});continue}if(O&&(O.type===\"globstar\"||O.star===!0)){O.type=\"star\",O.star=!0,O.value+=L,O.output=ee,A.backtrack=!0,A.globstar=!0,se(L);continue}let V=re();if(t.noextglob!==!0&&/^\\([^?]/.test(V)){ve(\"star\",L);continue}if(O.type===\"star\"){if(t.noglobstar===!0){se(L);continue}let le=O.prev,fe=le.prev,gt=le.type===\"slash\"||le.type===\"bos\",Ht=fe&&(fe.type===\"star\"||fe.type===\"globstar\");if(t.bash===!0&&(!gt||V[0]&&V[0]!==\"/\")){xe({type:\"star\",value:L,output:\"\"});continue}let Mt=A.braces>0&&(le.type===\"comma\"||le.type===\"brace\"),Ei=oe.length&&(le.type===\"pipe\"||le.type===\"paren\");if(!gt&&le.type!==\"paren\"&&!Mt&&!Ei){xe({type:\"star\",value:L,output:\"\"});continue}for(;V.slice(0,3)===\"/**\";){let jt=r[A.index+4];if(jt&&jt!==\"/\")break;V=V.slice(3),se(\"/**\",3)}if(le.type===\"bos\"&&de()){O.type=\"globstar\",O.value+=L,O.output=$(t),A.output=O.output,A.globstar=!0,se(L);continue}if(le.type===\"slash\"&&le.prev.type!==\"bos\"&&!Ht&&de()){A.output=A.output.slice(0,-(le.output+O.output).length),le.output=`(?:${le.output}`,O.type=\"globstar\",O.output=$(t)+(t.strictSlashes?\")\":\"|$)\"),O.value+=L,A.globstar=!0,A.output+=le.output+O.output,se(L);continue}if(le.type===\"slash\"&&le.prev.type!==\"bos\"&&V[0]===\"/\"){let jt=V[1]!==void 0?\"|$\":\"\";A.output=A.output.slice(0,-(le.output+O.output).length),le.output=`(?:${le.output}`,O.type=\"globstar\",O.output=`${$(t)}${h}|${h}${jt})`,O.value+=L,A.output+=le.output+O.output,A.globstar=!0,se(L+Ge()),xe({type:\"slash\",value:\"/\",output:\"\"});continue}if(le.type===\"bos\"&&V[0]===\"/\"){O.type=\"globstar\",O.value+=L,O.output=`(?:^|${h}|${$(t)}${h})`,A.output=O.output,A.globstar=!0,se(L+Ge()),xe({type:\"slash\",value:\"/\",output:\"\"});continue}A.output=A.output.slice(0,-O.output.length),O.type=\"globstar\",O.output=$(t),O.value+=L,A.output+=O.output,A.globstar=!0,se(L);continue}let Qe={type:\"star\",value:L,output:ee};if(t.bash===!0){Qe.output=\".*?\",(O.type===\"bos\"||O.type===\"slash\")&&(Qe.output=z+Qe.output),xe(Qe);continue}if(O&&(O.type===\"bracket\"||O.type===\"paren\")&&t.regex===!0){Qe.output=L,xe(Qe);continue}(A.index===A.start||O.type===\"slash\"||O.type===\"dot\")&&(O.type===\"dot\"?(A.output+=b,O.output+=b):t.dot===!0?(A.output+=v,O.output+=v):(A.output+=z,O.output+=z),Be()!==\"*\"&&(A.output+=p,O.output+=p)),xe(Qe)}for(;A.brackets>0;){if(t.strictBrackets===!0)throw new SyntaxError(Fg(\"closing\",\"]\"));A.output=is.escapeLast(A.output,\"[\"),Ue(\"brackets\")}for(;A.parens>0;){if(t.strictBrackets===!0)throw new SyntaxError(Fg(\"closing\",\")\"));A.output=is.escapeLast(A.output,\"(\"),Ue(\"parens\")}for(;A.braces>0;){if(t.strictBrackets===!0)throw new SyntaxError(Fg(\"closing\",\"}\"));A.output=is.escapeLast(A.output,\"{\"),Ue(\"braces\")}if(t.strictSlashes!==!0&&(O.type===\"star\"||O.type===\"bracket\")&&xe({type:\"maybe_slash\",value:\"\",output:`${h}?`}),A.backtrack===!0){A.output=\"\";for(let V of A.tokens)A.output+=V.output!=null?V.output:V.value,V.suffix&&(A.output+=V.suffix)}return A};Mq.fastpaths=(r,e)=>{let t=N({},e),i=typeof t.maxLength==\"number\"?Math.min(xy,t.maxLength):xy,n=r.length;if(n>i)throw new SyntaxError(`Input length: ${n}, exceeds maximum allowed length: ${i}`);r=Oq[r]||r;let s=is.isWindows(e),{DOT_LITERAL:o,SLASH_LITERAL:a,ONE_CHAR:l,DOTS_SLASH:c,NO_DOT:u,NO_DOTS:g,NO_DOTS_SLASH:f,STAR:h,START_ANCHOR:p}=ky.globChars(s),m=t.dot?g:u,y=t.dot?f:u,b=t.capture?\"\":\"?:\",v={negated:!1,prefix:\"\"},k=t.bash===!0?\".*?\":h;t.capture&&(k=`(${k})`);let T=z=>z.noglobstar===!0?k:`(${b}(?:(?!${p}${z.dot?c:o}).)*?)`,Y=z=>{switch(z){case\"*\":return`${m}${l}${k}`;case\".*\":return`${o}${l}${k}`;case\"*.*\":return`${m}${k}${o}${l}${k}`;case\"*/*\":return`${m}${k}${a}${l}${y}${k}`;case\"**\":return m+T(t);case\"**/*\":return`(?:${m}${T(t)}${a})?${y}${l}${k}`;case\"**/*.*\":return`(?:${m}${T(t)}${a})?${y}${k}${o}${l}${k}`;case\"**/.*\":return`(?:${m}${T(t)}${a})?${o}${l}${k}`;default:{let ne=/^(.*?)\\.(\\w+)$/.exec(z);if(!ne)return;let ee=Y(ne[1]);return ee?ee+o+ne[2]:void 0}}},q=is.removePrefix(r,v),$=Y(q);return $&&t.strictSlashes!==!0&&($+=`${a}?`),$};Tq.exports=Mq});var Hq=w((ket,Kq)=>{\"use strict\";var vBe=require(\"path\"),kBe=Lq(),Qv=Uq(),Sv=Zp(),xBe=Xp(),PBe=r=>r&&typeof r==\"object\"&&!Array.isArray(r),_r=(r,e,t=!1)=>{if(Array.isArray(r)){let u=r.map(f=>_r(f,e,t));return f=>{for(let h of u){let p=h(f);if(p)return p}return!1}}let i=PBe(r)&&r.tokens&&r.input;if(r===\"\"||typeof r!=\"string\"&&!i)throw new TypeError(\"Expected pattern to be a non-empty string\");let n=e||{},s=Sv.isWindows(e),o=i?_r.compileRe(r,e):_r.makeRe(r,e,!1,!0),a=o.state;delete o.state;let l=()=>!1;if(n.ignore){let u=te(N({},e),{ignore:null,onMatch:null,onResult:null});l=_r(n.ignore,u,t)}let c=(u,g=!1)=>{let{isMatch:f,match:h,output:p}=_r.test(u,o,e,{glob:r,posix:s}),m={glob:r,state:a,regex:o,posix:s,input:u,output:p,match:h,isMatch:f};return typeof n.onResult==\"function\"&&n.onResult(m),f===!1?(m.isMatch=!1,g?m:!1):l(u)?(typeof n.onIgnore==\"function\"&&n.onIgnore(m),m.isMatch=!1,g?m:!1):(typeof n.onMatch==\"function\"&&n.onMatch(m),g?m:!0)};return t&&(c.state=a),c};_r.test=(r,e,t,{glob:i,posix:n}={})=>{if(typeof r!=\"string\")throw new TypeError(\"Expected input to be a string\");if(r===\"\")return{isMatch:!1,output:\"\"};let s=t||{},o=s.format||(n?Sv.toPosixSlashes:null),a=r===i,l=a&&o?o(r):r;return a===!1&&(l=o?o(r):r,a=l===i),(a===!1||s.capture===!0)&&(s.matchBase===!0||s.basename===!0?a=_r.matchBase(r,e,t,n):a=e.exec(l)),{isMatch:Boolean(a),match:a,output:l}};_r.matchBase=(r,e,t,i=Sv.isWindows(t))=>(e instanceof RegExp?e:_r.makeRe(e,t)).test(vBe.basename(r));_r.isMatch=(r,e,t)=>_r(e,t)(r);_r.parse=(r,e)=>Array.isArray(r)?r.map(t=>_r.parse(t,e)):Qv(r,te(N({},e),{fastpaths:!1}));_r.scan=(r,e)=>kBe(r,e);_r.compileRe=(r,e,t=!1,i=!1)=>{if(t===!0)return r.output;let n=e||{},s=n.contains?\"\":\"^\",o=n.contains?\"\":\"$\",a=`${s}(?:${r.output})${o}`;r&&r.negated===!0&&(a=`^(?!${a}).*$`);let l=_r.toRegex(a,e);return i===!0&&(l.state=r),l};_r.makeRe=(r,e={},t=!1,i=!1)=>{if(!r||typeof r!=\"string\")throw new TypeError(\"Expected a non-empty string\");let n={negated:!1,fastpaths:!0};return e.fastpaths!==!1&&(r[0]===\".\"||r[0]===\"*\")&&(n.output=Qv.fastpaths(r,e)),n.output||(n=Qv(r,e)),_r.compileRe(n,e,t,i)};_r.toRegex=(r,e)=>{try{let t=e||{};return new RegExp(r,t.flags||(t.nocase?\"i\":\"\"))}catch(t){if(e&&e.debug===!0)throw t;return/$^/}};_r.constants=xBe;Kq.exports=_r});var vv=w((xet,jq)=>{\"use strict\";jq.exports=Hq()});var ns=w((Pet,Gq)=>{\"use strict\";var Yq=require(\"util\"),qq=wq(),_o=vv(),kv=Zp(),Jq=r=>r===\"\"||r===\"./\",Pr=(r,e,t)=>{e=[].concat(e),r=[].concat(r);let i=new Set,n=new Set,s=new Set,o=0,a=u=>{s.add(u.output),t&&t.onResult&&t.onResult(u)};for(let u=0;u<e.length;u++){let g=_o(String(e[u]),te(N({},t),{onResult:a}),!0),f=g.state.negated||g.state.negatedExtglob;f&&o++;for(let h of r){let p=g(h,!0);!(f?!p.isMatch:p.isMatch)||(f?i.add(p.output):(i.delete(p.output),n.add(p.output)))}}let c=(o===e.length?[...s]:[...n]).filter(u=>!i.has(u));if(t&&c.length===0){if(t.failglob===!0)throw new Error(`No matches found for \"${e.join(\", \")}\"`);if(t.nonull===!0||t.nullglob===!0)return t.unescape?e.map(u=>u.replace(/\\\\/g,\"\")):e}return c};Pr.match=Pr;Pr.matcher=(r,e)=>_o(r,e);Pr.isMatch=(r,e,t)=>_o(e,t)(r);Pr.any=Pr.isMatch;Pr.not=(r,e,t={})=>{e=[].concat(e).map(String);let i=new Set,n=[],s=a=>{t.onResult&&t.onResult(a),n.push(a.output)},o=Pr(r,e,te(N({},t),{onResult:s}));for(let a of n)o.includes(a)||i.add(a);return[...i]};Pr.contains=(r,e,t)=>{if(typeof r!=\"string\")throw new TypeError(`Expected a string: \"${Yq.inspect(r)}\"`);if(Array.isArray(e))return e.some(i=>Pr.contains(r,i,t));if(typeof e==\"string\"){if(Jq(r)||Jq(e))return!1;if(r.includes(e)||r.startsWith(\"./\")&&r.slice(2).includes(e))return!0}return Pr.isMatch(r,e,te(N({},t),{contains:!0}))};Pr.matchKeys=(r,e,t)=>{if(!kv.isObject(r))throw new TypeError(\"Expected the first argument to be an object\");let i=Pr(Object.keys(r),e,t),n={};for(let s of i)n[s]=r[s];return n};Pr.some=(r,e,t)=>{let i=[].concat(r);for(let n of[].concat(e)){let s=_o(String(n),t);if(i.some(o=>s(o)))return!0}return!1};Pr.every=(r,e,t)=>{let i=[].concat(r);for(let n of[].concat(e)){let s=_o(String(n),t);if(!i.every(o=>s(o)))return!1}return!0};Pr.all=(r,e,t)=>{if(typeof r!=\"string\")throw new TypeError(`Expected a string: \"${Yq.inspect(r)}\"`);return[].concat(e).every(i=>_o(i,t)(r))};Pr.capture=(r,e,t)=>{let i=kv.isWindows(t),s=_o.makeRe(String(r),te(N({},t),{capture:!0})).exec(i?kv.toPosixSlashes(e):e);if(s)return s.slice(1).map(o=>o===void 0?\"\":o)};Pr.makeRe=(...r)=>_o.makeRe(...r);Pr.scan=(...r)=>_o.scan(...r);Pr.parse=(r,e)=>{let t=[];for(let i of[].concat(r||[]))for(let n of qq(String(i),e))t.push(_o.parse(n,e));return t};Pr.braces=(r,e)=>{if(typeof r!=\"string\")throw new TypeError(\"Expected a string\");return e&&e.nobrace===!0||!/\\{.*\\}/.test(r)?[r]:qq(r,e)};Pr.braceExpand=(r,e)=>{if(typeof r!=\"string\")throw new TypeError(\"Expected a string\");return Pr.braces(r,te(N({},e),{expand:!0}))};Gq.exports=Pr});var zq=w((Det,Wq)=>{\"use strict\";Wq.exports=({onlyFirst:r=!1}={})=>{let e=[\"[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]+)*|[a-zA-Z\\\\d]+(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)\",\"(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))\"].join(\"|\");return new RegExp(e,r?void 0:\"g\")}});var Vq=w((Ret,_q)=>{\"use strict\";var DBe=zq();_q.exports=r=>typeof r==\"string\"?r.replace(DBe(),\"\"):r});var gJ=w((Vet,uJ)=>{\"use strict\";uJ.exports=(...r)=>[...new Set([].concat(...r))]});var Gv=w((Xet,fJ)=>{\"use strict\";var GBe=require(\"stream\"),hJ=GBe.PassThrough,YBe=Array.prototype.slice;fJ.exports=qBe;function qBe(){let r=[],e=!1,t=YBe.call(arguments),i=t[t.length-1];i&&!Array.isArray(i)&&i.pipe==null?t.pop():i={};let n=i.end!==!1;i.objectMode==null&&(i.objectMode=!0),i.highWaterMark==null&&(i.highWaterMark=64*1024);let s=hJ(i);function o(){for(let c=0,u=arguments.length;c<u;c++)r.push(pJ(arguments[c],i));return a(),this}function a(){if(e)return;e=!0;let c=r.shift();if(!c){process.nextTick(l);return}Array.isArray(c)||(c=[c]);let u=c.length+1;function g(){--u>0||(e=!1,a())}function f(h){function p(){h.removeListener(\"merge2UnpipeEnd\",p),h.removeListener(\"end\",p),g()}if(h._readableState.endEmitted)return g();h.on(\"merge2UnpipeEnd\",p),h.on(\"end\",p),h.pipe(s,{end:!1}),h.resume()}for(let h=0;h<c.length;h++)f(c[h]);g()}function l(){return e=!1,s.emit(\"queueDrain\"),n&&s.end()}return s.setMaxListeners(0),s.add=o,s.on(\"unpipe\",function(c){c.emit(\"merge2UnpipeEnd\")}),t.length&&o.apply(null,t),s}function pJ(r,e){if(Array.isArray(r))for(let t=0,i=r.length;t<i;t++)r[t]=pJ(r[t],e);else{if(!r._readableState&&r.pipe&&(r=r.pipe(hJ(e))),!r._readableState||!r.pause||!r.pipe)throw new Error(\"Only readable stream can be merged.\");r.pause()}return r}});var dJ=w(Ny=>{\"use strict\";Object.defineProperty(Ny,\"__esModule\",{value:!0});function JBe(r){return r.reduce((e,t)=>[].concat(e,t),[])}Ny.flatten=JBe;function WBe(r,e){let t=[[]],i=0;for(let n of r)e(n)?(i++,t[i]=[]):t[i].push(n);return t}Ny.splitWhen=WBe});var CJ=w(Yv=>{\"use strict\";Object.defineProperty(Yv,\"__esModule\",{value:!0});function zBe(r){return r.code===\"ENOENT\"}Yv.isEnoentCodeError=zBe});var EJ=w(qv=>{\"use strict\";Object.defineProperty(qv,\"__esModule\",{value:!0});var mJ=class{constructor(e,t){this.name=e,this.isBlockDevice=t.isBlockDevice.bind(t),this.isCharacterDevice=t.isCharacterDevice.bind(t),this.isDirectory=t.isDirectory.bind(t),this.isFIFO=t.isFIFO.bind(t),this.isFile=t.isFile.bind(t),this.isSocket=t.isSocket.bind(t),this.isSymbolicLink=t.isSymbolicLink.bind(t)}};function _Be(r,e){return new mJ(r,e)}qv.createDirentFromStats=_Be});var IJ=w(Kg=>{\"use strict\";Object.defineProperty(Kg,\"__esModule\",{value:!0});var VBe=require(\"path\"),XBe=2,ZBe=/(\\\\?)([()*?[\\]{|}]|^!|[!+@](?=\\())/g;function $Be(r){return r.replace(/\\\\/g,\"/\")}Kg.unixify=$Be;function e0e(r,e){return VBe.resolve(r,e)}Kg.makeAbsolute=e0e;function t0e(r){return r.replace(ZBe,\"\\\\$2\")}Kg.escape=t0e;function r0e(r){if(r.charAt(0)===\".\"){let e=r.charAt(1);if(e===\"/\"||e===\"\\\\\")return r.slice(XBe)}return r}Kg.removeLeadingDotSegment=r0e});var wJ=w((rtt,yJ)=>{yJ.exports=function(e){if(typeof e!=\"string\"||e===\"\")return!1;for(var t;t=/(\\\\).|([@?!+*]\\(.*\\))/g.exec(e);){if(t[2])return!0;e=e.slice(t.index+t[0].length)}return!1}});var QJ=w((itt,BJ)=>{var i0e=wJ(),bJ={\"{\":\"}\",\"(\":\")\",\"[\":\"]\"},n0e=function(r){if(r[0]===\"!\")return!0;for(var e=0,t=-2,i=-2,n=-2,s=-2,o=-2;e<r.length;){if(r[e]===\"*\"||r[e+1]===\"?\"&&/[\\].+)]/.test(r[e])||i!==-1&&r[e]===\"[\"&&r[e+1]!==\"]\"&&(i<e&&(i=r.indexOf(\"]\",e)),i>e&&(o===-1||o>i||(o=r.indexOf(\"\\\\\",e),o===-1||o>i)))||n!==-1&&r[e]===\"{\"&&r[e+1]!==\"}\"&&(n=r.indexOf(\"}\",e),n>e&&(o=r.indexOf(\"\\\\\",e),o===-1||o>n))||s!==-1&&r[e]===\"(\"&&r[e+1]===\"?\"&&/[:!=]/.test(r[e+2])&&r[e+3]!==\")\"&&(s=r.indexOf(\")\",e),s>e&&(o=r.indexOf(\"\\\\\",e),o===-1||o>s))||t!==-1&&r[e]===\"(\"&&r[e+1]!==\"|\"&&(t<e&&(t=r.indexOf(\"|\",e)),t!==-1&&r[t+1]!==\")\"&&(s=r.indexOf(\")\",t),s>t&&(o=r.indexOf(\"\\\\\",t),o===-1||o>s))))return!0;if(r[e]===\"\\\\\"){var a=r[e+1];e+=2;var l=bJ[a];if(l){var c=r.indexOf(l,e);c!==-1&&(e=c+1)}if(r[e]===\"!\")return!0}else e++}return!1},s0e=function(r){if(r[0]===\"!\")return!0;for(var e=0;e<r.length;){if(/[*?{}()[\\]]/.test(r[e]))return!0;if(r[e]===\"\\\\\"){var t=r[e+1];e+=2;var i=bJ[t];if(i){var n=r.indexOf(i,e);n!==-1&&(e=n+1)}if(r[e]===\"!\")return!0}else e++}return!1};BJ.exports=function(e,t){if(typeof e!=\"string\"||e===\"\")return!1;if(i0e(e))return!0;var i=n0e;return t&&t.strict===!1&&(i=s0e),i(e)}});var vJ=w((ntt,SJ)=>{\"use strict\";var o0e=QJ(),a0e=require(\"path\").posix.dirname,A0e=require(\"os\").platform()===\"win32\",Jv=\"/\",l0e=/\\\\/g,c0e=/[\\{\\[].*[\\}\\]]$/,u0e=/(^|[^\\\\])([\\{\\[]|\\([^\\)]+$)/,g0e=/\\\\([\\!\\*\\?\\|\\[\\]\\(\\)\\{\\}])/g;SJ.exports=function(e,t){var i=Object.assign({flipBackslashes:!0},t);i.flipBackslashes&&A0e&&e.indexOf(Jv)<0&&(e=e.replace(l0e,Jv)),c0e.test(e)&&(e+=Jv),e+=\"a\";do e=a0e(e);while(o0e(e)||u0e.test(e));return e.replace(g0e,\"$1\")}});var TJ=w(si=>{\"use strict\";Object.defineProperty(si,\"__esModule\",{value:!0});var f0e=require(\"path\"),h0e=vJ(),kJ=ns(),p0e=vv(),xJ=\"**\",d0e=\"\\\\\",C0e=/[*?]|^!/,m0e=/\\[.*]/,E0e=/(?:^|[^!*+?@])\\(.*\\|.*\\)/,I0e=/[!*+?@]\\(.*\\)/,y0e=/{.*(?:,|\\.\\.).*}/;function DJ(r,e={}){return!PJ(r,e)}si.isStaticPattern=DJ;function PJ(r,e={}){return!!(e.caseSensitiveMatch===!1||r.includes(d0e)||C0e.test(r)||m0e.test(r)||E0e.test(r)||e.extglob!==!1&&I0e.test(r)||e.braceExpansion!==!1&&y0e.test(r))}si.isDynamicPattern=PJ;function w0e(r){return Ly(r)?r.slice(1):r}si.convertToPositivePattern=w0e;function B0e(r){return\"!\"+r}si.convertToNegativePattern=B0e;function Ly(r){return r.startsWith(\"!\")&&r[1]!==\"(\"}si.isNegativePattern=Ly;function RJ(r){return!Ly(r)}si.isPositivePattern=RJ;function b0e(r){return r.filter(Ly)}si.getNegativePatterns=b0e;function Q0e(r){return r.filter(RJ)}si.getPositivePatterns=Q0e;function S0e(r){return h0e(r,{flipBackslashes:!1})}si.getBaseDirectory=S0e;function v0e(r){return r.includes(xJ)}si.hasGlobStar=v0e;function FJ(r){return r.endsWith(\"/\"+xJ)}si.endsWithSlashGlobStar=FJ;function k0e(r){let e=f0e.basename(r);return FJ(r)||DJ(e)}si.isAffectDepthOfReadingPattern=k0e;function x0e(r){return r.reduce((e,t)=>e.concat(NJ(t)),[])}si.expandPatternsWithBraceExpansion=x0e;function NJ(r){return kJ.braces(r,{expand:!0,nodupes:!0})}si.expandBraceExpansion=NJ;function P0e(r,e){let t=p0e.scan(r,Object.assign(Object.assign({},e),{parts:!0}));return t.parts.length===0?[r]:t.parts}si.getPatternParts=P0e;function LJ(r,e){return kJ.makeRe(r,e)}si.makeRe=LJ;function D0e(r,e){return r.map(t=>LJ(t,e))}si.convertPatternsToRe=D0e;function R0e(r,e){return e.some(t=>t.test(r))}si.matchAny=R0e});var MJ=w(Wv=>{\"use strict\";Object.defineProperty(Wv,\"__esModule\",{value:!0});var F0e=Gv();function N0e(r){let e=F0e(r);return r.forEach(t=>{t.once(\"error\",i=>e.emit(\"error\",i))}),e.once(\"close\",()=>OJ(r)),e.once(\"end\",()=>OJ(r)),e}Wv.merge=N0e;function OJ(r){r.forEach(e=>e.emit(\"close\"))}});var UJ=w(Ty=>{\"use strict\";Object.defineProperty(Ty,\"__esModule\",{value:!0});function L0e(r){return typeof r==\"string\"}Ty.isString=L0e;function T0e(r){return r===\"\"}Ty.isEmpty=T0e});var Za=w(Xa=>{\"use strict\";Object.defineProperty(Xa,\"__esModule\",{value:!0});var O0e=dJ();Xa.array=O0e;var M0e=CJ();Xa.errno=M0e;var U0e=EJ();Xa.fs=U0e;var K0e=IJ();Xa.path=K0e;var H0e=TJ();Xa.pattern=H0e;var j0e=MJ();Xa.stream=j0e;var G0e=UJ();Xa.string=G0e});var YJ=w($a=>{\"use strict\";Object.defineProperty($a,\"__esModule\",{value:!0});var Uc=Za();function Y0e(r,e){let t=KJ(r),i=HJ(r,e.ignore),n=t.filter(l=>Uc.pattern.isStaticPattern(l,e)),s=t.filter(l=>Uc.pattern.isDynamicPattern(l,e)),o=zv(n,i,!1),a=zv(s,i,!0);return o.concat(a)}$a.generate=Y0e;function zv(r,e,t){let i=jJ(r);return\".\"in i?[_v(\".\",r,e,t)]:GJ(i,e,t)}$a.convertPatternsToTasks=zv;function KJ(r){return Uc.pattern.getPositivePatterns(r)}$a.getPositivePatterns=KJ;function HJ(r,e){return Uc.pattern.getNegativePatterns(r).concat(e).map(Uc.pattern.convertToPositivePattern)}$a.getNegativePatternsAsPositive=HJ;function jJ(r){let e={};return r.reduce((t,i)=>{let n=Uc.pattern.getBaseDirectory(i);return n in t?t[n].push(i):t[n]=[i],t},e)}$a.groupPatternsByBaseDirectory=jJ;function GJ(r,e,t){return Object.keys(r).map(i=>_v(i,r[i],e,t))}$a.convertPatternGroupsToTasks=GJ;function _v(r,e,t,i){return{dynamic:i,positive:e,negative:t,base:r,patterns:[].concat(e,t.map(Uc.pattern.convertToNegativePattern))}}$a.convertPatternGroupToTask=_v});var JJ=w(Oy=>{\"use strict\";Object.defineProperty(Oy,\"__esModule\",{value:!0});Oy.read=void 0;function q0e(r,e,t){e.fs.lstat(r,(i,n)=>{if(i!==null){qJ(t,i);return}if(!n.isSymbolicLink()||!e.followSymbolicLink){Vv(t,n);return}e.fs.stat(r,(s,o)=>{if(s!==null){if(e.throwErrorOnBrokenSymbolicLink){qJ(t,s);return}Vv(t,n);return}e.markSymbolicLink&&(o.isSymbolicLink=()=>!0),Vv(t,o)})})}Oy.read=q0e;function qJ(r,e){r(e)}function Vv(r,e){r(null,e)}});var WJ=w(My=>{\"use strict\";Object.defineProperty(My,\"__esModule\",{value:!0});My.read=void 0;function J0e(r,e){let t=e.fs.lstatSync(r);if(!t.isSymbolicLink()||!e.followSymbolicLink)return t;try{let i=e.fs.statSync(r);return e.markSymbolicLink&&(i.isSymbolicLink=()=>!0),i}catch(i){if(!e.throwErrorOnBrokenSymbolicLink)return t;throw i}}My.read=J0e});var zJ=w(il=>{\"use strict\";Object.defineProperty(il,\"__esModule\",{value:!0});il.createFileSystemAdapter=il.FILE_SYSTEM_ADAPTER=void 0;var Uy=require(\"fs\");il.FILE_SYSTEM_ADAPTER={lstat:Uy.lstat,stat:Uy.stat,lstatSync:Uy.lstatSync,statSync:Uy.statSync};function W0e(r){return r===void 0?il.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},il.FILE_SYSTEM_ADAPTER),r)}il.createFileSystemAdapter=W0e});var VJ=w(Xv=>{\"use strict\";Object.defineProperty(Xv,\"__esModule\",{value:!0});var z0e=zJ(),_J=class{constructor(e={}){this._options=e,this.followSymbolicLink=this._getValue(this._options.followSymbolicLink,!0),this.fs=z0e.createFileSystemAdapter(this._options.fs),this.markSymbolicLink=this._getValue(this._options.markSymbolicLink,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0)}_getValue(e,t){return e!=null?e:t}};Xv.default=_J});var Kc=w(nl=>{\"use strict\";Object.defineProperty(nl,\"__esModule\",{value:!0});nl.statSync=nl.stat=nl.Settings=void 0;var XJ=JJ(),_0e=WJ(),Zv=VJ();nl.Settings=Zv.default;function V0e(r,e,t){if(typeof e==\"function\"){XJ.read(r,$v(),e);return}XJ.read(r,$v(e),t)}nl.stat=V0e;function X0e(r,e){let t=$v(e);return _0e.read(r,t)}nl.statSync=X0e;function $v(r={}){return r instanceof Zv.default?r:new Zv.default(r)}});var $J=w((ptt,ZJ)=>{ZJ.exports=Z0e;function Z0e(r,e){var t,i,n,s=!0;Array.isArray(r)?(t=[],i=r.length):(n=Object.keys(r),t={},i=n.length);function o(l){function c(){e&&e(l,t),e=null}s?process.nextTick(c):c()}function a(l,c,u){t[l]=u,(--i==0||c)&&o(c)}i?n?n.forEach(function(l){r[l](function(c,u){a(l,c,u)})}):r.forEach(function(l,c){l(function(u,g){a(c,u,g)})}):o(null),s=!1}});var ek=w(Ky=>{\"use strict\";Object.defineProperty(Ky,\"__esModule\",{value:!0});Ky.IS_SUPPORT_READDIR_WITH_FILE_TYPES=void 0;var Hy=process.versions.node.split(\".\");if(Hy[0]===void 0||Hy[1]===void 0)throw new Error(`Unexpected behavior. The 'process.versions.node' variable has invalid value: ${process.versions.node}`);var eW=Number.parseInt(Hy[0],10),$0e=Number.parseInt(Hy[1],10),tW=10,ebe=10,tbe=eW>tW,rbe=eW===tW&&$0e>=ebe;Ky.IS_SUPPORT_READDIR_WITH_FILE_TYPES=tbe||rbe});var iW=w(jy=>{\"use strict\";Object.defineProperty(jy,\"__esModule\",{value:!0});jy.createDirentFromStats=void 0;var rW=class{constructor(e,t){this.name=e,this.isBlockDevice=t.isBlockDevice.bind(t),this.isCharacterDevice=t.isCharacterDevice.bind(t),this.isDirectory=t.isDirectory.bind(t),this.isFIFO=t.isFIFO.bind(t),this.isFile=t.isFile.bind(t),this.isSocket=t.isSocket.bind(t),this.isSymbolicLink=t.isSymbolicLink.bind(t)}};function ibe(r,e){return new rW(r,e)}jy.createDirentFromStats=ibe});var tk=w(Gy=>{\"use strict\";Object.defineProperty(Gy,\"__esModule\",{value:!0});Gy.fs=void 0;var nbe=iW();Gy.fs=nbe});var rk=w(Yy=>{\"use strict\";Object.defineProperty(Yy,\"__esModule\",{value:!0});Yy.joinPathSegments=void 0;function sbe(r,e,t){return r.endsWith(t)?r+e:r+t+e}Yy.joinPathSegments=sbe});var lW=w(sl=>{\"use strict\";Object.defineProperty(sl,\"__esModule\",{value:!0});sl.readdir=sl.readdirWithFileTypes=sl.read=void 0;var obe=Kc(),nW=$J(),abe=ek(),sW=tk(),oW=rk();function Abe(r,e,t){if(!e.stats&&abe.IS_SUPPORT_READDIR_WITH_FILE_TYPES){aW(r,e,t);return}AW(r,e,t)}sl.read=Abe;function aW(r,e,t){e.fs.readdir(r,{withFileTypes:!0},(i,n)=>{if(i!==null){qy(t,i);return}let s=n.map(a=>({dirent:a,name:a.name,path:oW.joinPathSegments(r,a.name,e.pathSegmentSeparator)}));if(!e.followSymbolicLinks){ik(t,s);return}let o=s.map(a=>lbe(a,e));nW(o,(a,l)=>{if(a!==null){qy(t,a);return}ik(t,l)})})}sl.readdirWithFileTypes=aW;function lbe(r,e){return t=>{if(!r.dirent.isSymbolicLink()){t(null,r);return}e.fs.stat(r.path,(i,n)=>{if(i!==null){if(e.throwErrorOnBrokenSymbolicLink){t(i);return}t(null,r);return}r.dirent=sW.fs.createDirentFromStats(r.name,n),t(null,r)})}}function AW(r,e,t){e.fs.readdir(r,(i,n)=>{if(i!==null){qy(t,i);return}let s=n.map(o=>{let a=oW.joinPathSegments(r,o,e.pathSegmentSeparator);return l=>{obe.stat(a,e.fsStatSettings,(c,u)=>{if(c!==null){l(c);return}let g={name:o,path:a,dirent:sW.fs.createDirentFromStats(o,u)};e.stats&&(g.stats=u),l(null,g)})}});nW(s,(o,a)=>{if(o!==null){qy(t,o);return}ik(t,a)})})}sl.readdir=AW;function qy(r,e){r(e)}function ik(r,e){r(null,e)}});var hW=w(ol=>{\"use strict\";Object.defineProperty(ol,\"__esModule\",{value:!0});ol.readdir=ol.readdirWithFileTypes=ol.read=void 0;var cbe=Kc(),ube=ek(),cW=tk(),uW=rk();function gbe(r,e){return!e.stats&&ube.IS_SUPPORT_READDIR_WITH_FILE_TYPES?gW(r,e):fW(r,e)}ol.read=gbe;function gW(r,e){return e.fs.readdirSync(r,{withFileTypes:!0}).map(i=>{let n={dirent:i,name:i.name,path:uW.joinPathSegments(r,i.name,e.pathSegmentSeparator)};if(n.dirent.isSymbolicLink()&&e.followSymbolicLinks)try{let s=e.fs.statSync(n.path);n.dirent=cW.fs.createDirentFromStats(n.name,s)}catch(s){if(e.throwErrorOnBrokenSymbolicLink)throw s}return n})}ol.readdirWithFileTypes=gW;function fW(r,e){return e.fs.readdirSync(r).map(i=>{let n=uW.joinPathSegments(r,i,e.pathSegmentSeparator),s=cbe.statSync(n,e.fsStatSettings),o={name:i,path:n,dirent:cW.fs.createDirentFromStats(i,s)};return e.stats&&(o.stats=s),o})}ol.readdir=fW});var pW=w(al=>{\"use strict\";Object.defineProperty(al,\"__esModule\",{value:!0});al.createFileSystemAdapter=al.FILE_SYSTEM_ADAPTER=void 0;var Hg=require(\"fs\");al.FILE_SYSTEM_ADAPTER={lstat:Hg.lstat,stat:Hg.stat,lstatSync:Hg.lstatSync,statSync:Hg.statSync,readdir:Hg.readdir,readdirSync:Hg.readdirSync};function fbe(r){return r===void 0?al.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},al.FILE_SYSTEM_ADAPTER),r)}al.createFileSystemAdapter=fbe});var CW=w(nk=>{\"use strict\";Object.defineProperty(nk,\"__esModule\",{value:!0});var hbe=require(\"path\"),pbe=Kc(),dbe=pW(),dW=class{constructor(e={}){this._options=e,this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!1),this.fs=dbe.createFileSystemAdapter(this._options.fs),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,hbe.sep),this.stats=this._getValue(this._options.stats,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0),this.fsStatSettings=new pbe.Settings({followSymbolicLink:this.followSymbolicLinks,fs:this.fs,throwErrorOnBrokenSymbolicLink:this.throwErrorOnBrokenSymbolicLink})}_getValue(e,t){return e!=null?e:t}};nk.default=dW});var Jy=w(Al=>{\"use strict\";Object.defineProperty(Al,\"__esModule\",{value:!0});Al.Settings=Al.scandirSync=Al.scandir=void 0;var mW=lW(),Cbe=hW(),sk=CW();Al.Settings=sk.default;function mbe(r,e,t){if(typeof e==\"function\"){mW.read(r,ok(),e);return}mW.read(r,ok(e),t)}Al.scandir=mbe;function Ebe(r,e){let t=ok(e);return Cbe.read(r,t)}Al.scandirSync=Ebe;function ok(r={}){return r instanceof sk.default?r:new sk.default(r)}});var IW=w((Qtt,EW)=>{\"use strict\";function Ibe(r){var e=new r,t=e;function i(){var s=e;return s.next?e=s.next:(e=new r,t=e),s.next=null,s}function n(s){t.next=s,t=s}return{get:i,release:n}}EW.exports=Ibe});var wW=w((Stt,ak)=>{\"use strict\";var ybe=IW();function yW(r,e,t){if(typeof r==\"function\"&&(t=e,e=r,r=null),t<1)throw new Error(\"fastqueue concurrency must be greater than 1\");var i=ybe(wbe),n=null,s=null,o=0,a=null,l={push:m,drain:Ls,saturated:Ls,pause:u,paused:!1,concurrency:t,running:c,resume:h,idle:p,length:g,getQueue:f,unshift:y,empty:Ls,kill:v,killAndDrain:k,error:T};return l;function c(){return o}function u(){l.paused=!0}function g(){for(var Y=n,q=0;Y;)Y=Y.next,q++;return q}function f(){for(var Y=n,q=[];Y;)q.push(Y.value),Y=Y.next;return q}function h(){if(!!l.paused){l.paused=!1;for(var Y=0;Y<l.concurrency;Y++)o++,b()}}function p(){return o===0&&l.length()===0}function m(Y,q){var $=i.get();$.context=r,$.release=b,$.value=Y,$.callback=q||Ls,$.errorHandler=a,o===l.concurrency||l.paused?s?(s.next=$,s=$):(n=$,s=$,l.saturated()):(o++,e.call(r,$.value,$.worked))}function y(Y,q){var $=i.get();$.context=r,$.release=b,$.value=Y,$.callback=q||Ls,o===l.concurrency||l.paused?n?($.next=n,n=$):(n=$,s=$,l.saturated()):(o++,e.call(r,$.value,$.worked))}function b(Y){Y&&i.release(Y);var q=n;q?l.paused?o--:(s===n&&(s=null),n=q.next,q.next=null,e.call(r,q.value,q.worked),s===null&&l.empty()):--o==0&&l.drain()}function v(){n=null,s=null,l.drain=Ls}function k(){n=null,s=null,l.drain(),l.drain=Ls}function T(Y){a=Y}}function Ls(){}function wbe(){this.value=null,this.callback=Ls,this.next=null,this.release=Ls,this.context=null,this.errorHandler=null;var r=this;this.worked=function(t,i){var n=r.callback,s=r.errorHandler,o=r.value;r.value=null,r.callback=Ls,r.errorHandler&&s(t,o),n.call(r.context,t,i),r.release(r)}}function Bbe(r,e,t){typeof r==\"function\"&&(t=e,e=r,r=null);function i(u,g){e.call(this,u).then(function(f){g(null,f)},g)}var n=yW(r,i,t),s=n.push,o=n.unshift;return n.push=a,n.unshift=l,n.drained=c,n;function a(u){var g=new Promise(function(f,h){s(u,function(p,m){if(p){h(p);return}f(m)})});return g.catch(Ls),g}function l(u){var g=new Promise(function(f,h){o(u,function(p,m){if(p){h(p);return}f(m)})});return g.catch(Ls),g}function c(){var u=n.drain,g=new Promise(function(f){n.drain=function(){u(),f()}});return g}}ak.exports=yW;ak.exports.promise=Bbe});var Wy=w(Zo=>{\"use strict\";Object.defineProperty(Zo,\"__esModule\",{value:!0});Zo.joinPathSegments=Zo.replacePathSegmentSeparator=Zo.isAppliedFilter=Zo.isFatalError=void 0;function bbe(r,e){return r.errorFilter===null?!0:!r.errorFilter(e)}Zo.isFatalError=bbe;function Qbe(r,e){return r===null||r(e)}Zo.isAppliedFilter=Qbe;function Sbe(r,e){return r.split(/[/\\\\]/).join(e)}Zo.replacePathSegmentSeparator=Sbe;function vbe(r,e,t){return r===\"\"?e:r.endsWith(t)?r+e:r+t+e}Zo.joinPathSegments=vbe});var lk=w(Ak=>{\"use strict\";Object.defineProperty(Ak,\"__esModule\",{value:!0});var kbe=Wy(),BW=class{constructor(e,t){this._root=e,this._settings=t,this._root=kbe.replacePathSegmentSeparator(e,t.pathSegmentSeparator)}};Ak.default=BW});var uk=w(ck=>{\"use strict\";Object.defineProperty(ck,\"__esModule\",{value:!0});var xbe=require(\"events\"),Pbe=Jy(),Dbe=wW(),zy=Wy(),Rbe=lk(),bW=class extends Rbe.default{constructor(e,t){super(e,t);this._settings=t,this._scandir=Pbe.scandir,this._emitter=new xbe.EventEmitter,this._queue=Dbe(this._worker.bind(this),this._settings.concurrency),this._isFatalError=!1,this._isDestroyed=!1,this._queue.drain=()=>{this._isFatalError||this._emitter.emit(\"end\")}}read(){return this._isFatalError=!1,this._isDestroyed=!1,setImmediate(()=>{this._pushToQueue(this._root,this._settings.basePath)}),this._emitter}get isDestroyed(){return this._isDestroyed}destroy(){if(this._isDestroyed)throw new Error(\"The reader is already destroyed\");this._isDestroyed=!0,this._queue.killAndDrain()}onEntry(e){this._emitter.on(\"entry\",e)}onError(e){this._emitter.once(\"error\",e)}onEnd(e){this._emitter.once(\"end\",e)}_pushToQueue(e,t){let i={directory:e,base:t};this._queue.push(i,n=>{n!==null&&this._handleError(n)})}_worker(e,t){this._scandir(e.directory,this._settings.fsScandirSettings,(i,n)=>{if(i!==null){t(i,void 0);return}for(let s of n)this._handleEntry(s,e.base);t(null,void 0)})}_handleError(e){this._isDestroyed||!zy.isFatalError(this._settings,e)||(this._isFatalError=!0,this._isDestroyed=!0,this._emitter.emit(\"error\",e))}_handleEntry(e,t){if(this._isDestroyed||this._isFatalError)return;let i=e.path;t!==void 0&&(e.path=zy.joinPathSegments(t,e.name,this._settings.pathSegmentSeparator)),zy.isAppliedFilter(this._settings.entryFilter,e)&&this._emitEntry(e),e.dirent.isDirectory()&&zy.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(i,e.path)}_emitEntry(e){this._emitter.emit(\"entry\",e)}};ck.default=bW});var SW=w(gk=>{\"use strict\";Object.defineProperty(gk,\"__esModule\",{value:!0});var Fbe=uk(),QW=class{constructor(e,t){this._root=e,this._settings=t,this._reader=new Fbe.default(this._root,this._settings),this._storage=new Set}read(e){this._reader.onError(t=>{Nbe(e,t)}),this._reader.onEntry(t=>{this._storage.add(t)}),this._reader.onEnd(()=>{Lbe(e,[...this._storage])}),this._reader.read()}};gk.default=QW;function Nbe(r,e){r(e)}function Lbe(r,e){r(null,e)}});var kW=w(fk=>{\"use strict\";Object.defineProperty(fk,\"__esModule\",{value:!0});var Tbe=require(\"stream\"),Obe=uk(),vW=class{constructor(e,t){this._root=e,this._settings=t,this._reader=new Obe.default(this._root,this._settings),this._stream=new Tbe.Readable({objectMode:!0,read:()=>{},destroy:()=>{this._reader.isDestroyed||this._reader.destroy()}})}read(){return this._reader.onError(e=>{this._stream.emit(\"error\",e)}),this._reader.onEntry(e=>{this._stream.push(e)}),this._reader.onEnd(()=>{this._stream.push(null)}),this._reader.read(),this._stream}};fk.default=vW});var PW=w(hk=>{\"use strict\";Object.defineProperty(hk,\"__esModule\",{value:!0});var Mbe=Jy(),_y=Wy(),Ube=lk(),xW=class extends Ube.default{constructor(){super(...arguments);this._scandir=Mbe.scandirSync,this._storage=new Set,this._queue=new Set}read(){return this._pushToQueue(this._root,this._settings.basePath),this._handleQueue(),[...this._storage]}_pushToQueue(e,t){this._queue.add({directory:e,base:t})}_handleQueue(){for(let e of this._queue.values())this._handleDirectory(e.directory,e.base)}_handleDirectory(e,t){try{let i=this._scandir(e,this._settings.fsScandirSettings);for(let n of i)this._handleEntry(n,t)}catch(i){this._handleError(i)}}_handleError(e){if(!!_y.isFatalError(this._settings,e))throw e}_handleEntry(e,t){let i=e.path;t!==void 0&&(e.path=_y.joinPathSegments(t,e.name,this._settings.pathSegmentSeparator)),_y.isAppliedFilter(this._settings.entryFilter,e)&&this._pushToStorage(e),e.dirent.isDirectory()&&_y.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(i,e.path)}_pushToStorage(e){this._storage.add(e)}};hk.default=xW});var RW=w(pk=>{\"use strict\";Object.defineProperty(pk,\"__esModule\",{value:!0});var Kbe=PW(),DW=class{constructor(e,t){this._root=e,this._settings=t,this._reader=new Kbe.default(this._root,this._settings)}read(){return this._reader.read()}};pk.default=DW});var NW=w(dk=>{\"use strict\";Object.defineProperty(dk,\"__esModule\",{value:!0});var Hbe=require(\"path\"),jbe=Jy(),FW=class{constructor(e={}){this._options=e,this.basePath=this._getValue(this._options.basePath,void 0),this.concurrency=this._getValue(this._options.concurrency,Number.POSITIVE_INFINITY),this.deepFilter=this._getValue(this._options.deepFilter,null),this.entryFilter=this._getValue(this._options.entryFilter,null),this.errorFilter=this._getValue(this._options.errorFilter,null),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,Hbe.sep),this.fsScandirSettings=new jbe.Settings({followSymbolicLinks:this._options.followSymbolicLinks,fs:this._options.fs,pathSegmentSeparator:this._options.pathSegmentSeparator,stats:this._options.stats,throwErrorOnBrokenSymbolicLink:this._options.throwErrorOnBrokenSymbolicLink})}_getValue(e,t){return e!=null?e:t}};dk.default=FW});var mk=w($o=>{\"use strict\";Object.defineProperty($o,\"__esModule\",{value:!0});$o.Settings=$o.walkStream=$o.walkSync=$o.walk=void 0;var LW=SW(),Gbe=kW(),Ybe=RW(),Ck=NW();$o.Settings=Ck.default;function qbe(r,e,t){if(typeof e==\"function\"){new LW.default(r,Vy()).read(e);return}new LW.default(r,Vy(e)).read(t)}$o.walk=qbe;function Jbe(r,e){let t=Vy(e);return new Ybe.default(r,t).read()}$o.walkSync=Jbe;function Wbe(r,e){let t=Vy(e);return new Gbe.default(r,t).read()}$o.walkStream=Wbe;function Vy(r={}){return r instanceof Ck.default?r:new Ck.default(r)}});var Ik=w(Ek=>{\"use strict\";Object.defineProperty(Ek,\"__esModule\",{value:!0});var zbe=require(\"path\"),_be=Kc(),TW=Za(),OW=class{constructor(e){this._settings=e,this._fsStatSettings=new _be.Settings({followSymbolicLink:this._settings.followSymbolicLinks,fs:this._settings.fs,throwErrorOnBrokenSymbolicLink:this._settings.followSymbolicLinks})}_getFullEntryPath(e){return zbe.resolve(this._settings.cwd,e)}_makeEntry(e,t){let i={name:t,path:t,dirent:TW.fs.createDirentFromStats(t,e)};return this._settings.stats&&(i.stats=e),i}_isFatalError(e){return!TW.errno.isEnoentCodeError(e)&&!this._settings.suppressErrors}};Ek.default=OW});var wk=w(yk=>{\"use strict\";Object.defineProperty(yk,\"__esModule\",{value:!0});var Vbe=require(\"stream\"),Xbe=Kc(),Zbe=mk(),$be=Ik(),MW=class extends $be.default{constructor(){super(...arguments);this._walkStream=Zbe.walkStream,this._stat=Xbe.stat}dynamic(e,t){return this._walkStream(e,t)}static(e,t){let i=e.map(this._getFullEntryPath,this),n=new Vbe.PassThrough({objectMode:!0});n._write=(s,o,a)=>this._getEntry(i[s],e[s],t).then(l=>{l!==null&&t.entryFilter(l)&&n.push(l),s===i.length-1&&n.end(),a()}).catch(a);for(let s=0;s<i.length;s++)n.write(s);return n}_getEntry(e,t,i){return this._getStat(e).then(n=>this._makeEntry(n,t)).catch(n=>{if(i.errorFilter(n))return null;throw n})}_getStat(e){return new Promise((t,i)=>{this._stat(e,this._fsStatSettings,(n,s)=>n===null?t(s):i(n))})}};yk.default=MW});var KW=w(Bk=>{\"use strict\";Object.defineProperty(Bk,\"__esModule\",{value:!0});var jg=Za(),UW=class{constructor(e,t,i){this._patterns=e,this._settings=t,this._micromatchOptions=i,this._storage=[],this._fillStorage()}_fillStorage(){let e=jg.pattern.expandPatternsWithBraceExpansion(this._patterns);for(let t of e){let i=this._getPatternSegments(t),n=this._splitSegmentsIntoSections(i);this._storage.push({complete:n.length<=1,pattern:t,segments:i,sections:n})}}_getPatternSegments(e){return jg.pattern.getPatternParts(e,this._micromatchOptions).map(i=>jg.pattern.isDynamicPattern(i,this._settings)?{dynamic:!0,pattern:i,patternRe:jg.pattern.makeRe(i,this._micromatchOptions)}:{dynamic:!1,pattern:i})}_splitSegmentsIntoSections(e){return jg.array.splitWhen(e,t=>t.dynamic&&jg.pattern.hasGlobStar(t.pattern))}};Bk.default=UW});var jW=w(bk=>{\"use strict\";Object.defineProperty(bk,\"__esModule\",{value:!0});var eQe=KW(),HW=class extends eQe.default{match(e){let t=e.split(\"/\"),i=t.length,n=this._storage.filter(s=>!s.complete||s.segments.length>i);for(let s of n){let o=s.sections[0];if(!s.complete&&i>o.length||t.every((l,c)=>{let u=s.segments[c];return!!(u.dynamic&&u.patternRe.test(l)||!u.dynamic&&u.pattern===l)}))return!0}return!1}};bk.default=HW});var YW=w(Qk=>{\"use strict\";Object.defineProperty(Qk,\"__esModule\",{value:!0});var Xy=Za(),tQe=jW(),GW=class{constructor(e,t){this._settings=e,this._micromatchOptions=t}getFilter(e,t,i){let n=this._getMatcher(t),s=this._getNegativePatternsRe(i);return o=>this._filter(e,o,n,s)}_getMatcher(e){return new tQe.default(e,this._settings,this._micromatchOptions)}_getNegativePatternsRe(e){let t=e.filter(Xy.pattern.isAffectDepthOfReadingPattern);return Xy.pattern.convertPatternsToRe(t,this._micromatchOptions)}_filter(e,t,i,n){let s=this._getEntryLevel(e,t.path);if(this._isSkippedByDeep(s)||this._isSkippedSymbolicLink(t))return!1;let o=Xy.path.removeLeadingDotSegment(t.path);return this._isSkippedByPositivePatterns(o,i)?!1:this._isSkippedByNegativePatterns(o,n)}_isSkippedByDeep(e){return e>=this._settings.deep}_isSkippedSymbolicLink(e){return!this._settings.followSymbolicLinks&&e.dirent.isSymbolicLink()}_getEntryLevel(e,t){let i=e.split(\"/\").length;return t.split(\"/\").length-(e===\"\"?0:i)}_isSkippedByPositivePatterns(e,t){return!this._settings.baseNameMatch&&!t.match(e)}_isSkippedByNegativePatterns(e,t){return!Xy.pattern.matchAny(e,t)}};Qk.default=GW});var JW=w(Sk=>{\"use strict\";Object.defineProperty(Sk,\"__esModule\",{value:!0});var od=Za(),qW=class{constructor(e,t){this._settings=e,this._micromatchOptions=t,this.index=new Map}getFilter(e,t){let i=od.pattern.convertPatternsToRe(e,this._micromatchOptions),n=od.pattern.convertPatternsToRe(t,this._micromatchOptions);return s=>this._filter(s,i,n)}_filter(e,t,i){if(this._settings.unique){if(this._isDuplicateEntry(e))return!1;this._createIndexRecord(e)}if(this._onlyFileFilter(e)||this._onlyDirectoryFilter(e)||this._isSkippedByAbsoluteNegativePatterns(e,i))return!1;let n=this._settings.baseNameMatch?e.name:e.path;return this._isMatchToPatterns(n,t)&&!this._isMatchToPatterns(e.path,i)}_isDuplicateEntry(e){return this.index.has(e.path)}_createIndexRecord(e){this.index.set(e.path,void 0)}_onlyFileFilter(e){return this._settings.onlyFiles&&!e.dirent.isFile()}_onlyDirectoryFilter(e){return this._settings.onlyDirectories&&!e.dirent.isDirectory()}_isSkippedByAbsoluteNegativePatterns(e,t){if(!this._settings.absolute)return!1;let i=od.path.makeAbsolute(this._settings.cwd,e.path);return this._isMatchToPatterns(i,t)}_isMatchToPatterns(e,t){let i=od.path.removeLeadingDotSegment(e);return od.pattern.matchAny(i,t)}};Sk.default=qW});var zW=w(vk=>{\"use strict\";Object.defineProperty(vk,\"__esModule\",{value:!0});var rQe=Za(),WW=class{constructor(e){this._settings=e}getFilter(){return e=>this._isNonFatalError(e)}_isNonFatalError(e){return rQe.errno.isEnoentCodeError(e)||this._settings.suppressErrors}};vk.default=WW});var XW=w(kk=>{\"use strict\";Object.defineProperty(kk,\"__esModule\",{value:!0});var _W=Za(),VW=class{constructor(e){this._settings=e}getTransformer(){return e=>this._transform(e)}_transform(e){let t=e.path;return this._settings.absolute&&(t=_W.path.makeAbsolute(this._settings.cwd,t),t=_W.path.unixify(t)),this._settings.markDirectories&&e.dirent.isDirectory()&&(t+=\"/\"),this._settings.objectMode?Object.assign(Object.assign({},e),{path:t}):t}};kk.default=VW});var Zy=w(xk=>{\"use strict\";Object.defineProperty(xk,\"__esModule\",{value:!0});var iQe=require(\"path\"),nQe=YW(),sQe=JW(),oQe=zW(),aQe=XW(),ZW=class{constructor(e){this._settings=e,this.errorFilter=new oQe.default(this._settings),this.entryFilter=new sQe.default(this._settings,this._getMicromatchOptions()),this.deepFilter=new nQe.default(this._settings,this._getMicromatchOptions()),this.entryTransformer=new aQe.default(this._settings)}_getRootDirectory(e){return iQe.resolve(this._settings.cwd,e.base)}_getReaderOptions(e){let t=e.base===\".\"?\"\":e.base;return{basePath:t,pathSegmentSeparator:\"/\",concurrency:this._settings.concurrency,deepFilter:this.deepFilter.getFilter(t,e.positive,e.negative),entryFilter:this.entryFilter.getFilter(e.positive,e.negative),errorFilter:this.errorFilter.getFilter(),followSymbolicLinks:this._settings.followSymbolicLinks,fs:this._settings.fs,stats:this._settings.stats,throwErrorOnBrokenSymbolicLink:this._settings.throwErrorOnBrokenSymbolicLink,transform:this.entryTransformer.getTransformer()}}_getMicromatchOptions(){return{dot:this._settings.dot,matchBase:this._settings.baseNameMatch,nobrace:!this._settings.braceExpansion,nocase:!this._settings.caseSensitiveMatch,noext:!this._settings.extglob,noglobstar:!this._settings.globstar,posix:!0,strictSlashes:!1}}};xk.default=ZW});var e3=w(Pk=>{\"use strict\";Object.defineProperty(Pk,\"__esModule\",{value:!0});var AQe=wk(),lQe=Zy(),$W=class extends lQe.default{constructor(){super(...arguments);this._reader=new AQe.default(this._settings)}read(e){let t=this._getRootDirectory(e),i=this._getReaderOptions(e),n=[];return new Promise((s,o)=>{let a=this.api(t,e,i);a.once(\"error\",o),a.on(\"data\",l=>n.push(i.transform(l))),a.once(\"end\",()=>s(n))})}api(e,t,i){return t.dynamic?this._reader.dynamic(e,i):this._reader.static(t.patterns,i)}};Pk.default=$W});var r3=w(Dk=>{\"use strict\";Object.defineProperty(Dk,\"__esModule\",{value:!0});var cQe=require(\"stream\"),uQe=wk(),gQe=Zy(),t3=class extends gQe.default{constructor(){super(...arguments);this._reader=new uQe.default(this._settings)}read(e){let t=this._getRootDirectory(e),i=this._getReaderOptions(e),n=this.api(t,e,i),s=new cQe.Readable({objectMode:!0,read:()=>{}});return n.once(\"error\",o=>s.emit(\"error\",o)).on(\"data\",o=>s.emit(\"data\",i.transform(o))).once(\"end\",()=>s.emit(\"end\")),s.once(\"close\",()=>n.destroy()),s}api(e,t,i){return t.dynamic?this._reader.dynamic(e,i):this._reader.static(t.patterns,i)}};Dk.default=t3});var n3=w(Rk=>{\"use strict\";Object.defineProperty(Rk,\"__esModule\",{value:!0});var fQe=Kc(),hQe=mk(),pQe=Ik(),i3=class extends pQe.default{constructor(){super(...arguments);this._walkSync=hQe.walkSync,this._statSync=fQe.statSync}dynamic(e,t){return this._walkSync(e,t)}static(e,t){let i=[];for(let n of e){let s=this._getFullEntryPath(n),o=this._getEntry(s,n,t);o===null||!t.entryFilter(o)||i.push(o)}return i}_getEntry(e,t,i){try{let n=this._getStat(e);return this._makeEntry(n,t)}catch(n){if(i.errorFilter(n))return null;throw n}}_getStat(e){return this._statSync(e,this._fsStatSettings)}};Rk.default=i3});var o3=w(Fk=>{\"use strict\";Object.defineProperty(Fk,\"__esModule\",{value:!0});var dQe=n3(),CQe=Zy(),s3=class extends CQe.default{constructor(){super(...arguments);this._reader=new dQe.default(this._settings)}read(e){let t=this._getRootDirectory(e),i=this._getReaderOptions(e);return this.api(t,e,i).map(i.transform)}api(e,t,i){return t.dynamic?this._reader.dynamic(e,i):this._reader.static(t.patterns,i)}};Fk.default=s3});var A3=w(ad=>{\"use strict\";Object.defineProperty(ad,\"__esModule\",{value:!0});var Gg=require(\"fs\"),mQe=require(\"os\"),EQe=mQe.cpus().length;ad.DEFAULT_FILE_SYSTEM_ADAPTER={lstat:Gg.lstat,lstatSync:Gg.lstatSync,stat:Gg.stat,statSync:Gg.statSync,readdir:Gg.readdir,readdirSync:Gg.readdirSync};var a3=class{constructor(e={}){this._options=e,this.absolute=this._getValue(this._options.absolute,!1),this.baseNameMatch=this._getValue(this._options.baseNameMatch,!1),this.braceExpansion=this._getValue(this._options.braceExpansion,!0),this.caseSensitiveMatch=this._getValue(this._options.caseSensitiveMatch,!0),this.concurrency=this._getValue(this._options.concurrency,EQe),this.cwd=this._getValue(this._options.cwd,process.cwd()),this.deep=this._getValue(this._options.deep,Infinity),this.dot=this._getValue(this._options.dot,!1),this.extglob=this._getValue(this._options.extglob,!0),this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!0),this.fs=this._getFileSystemMethods(this._options.fs),this.globstar=this._getValue(this._options.globstar,!0),this.ignore=this._getValue(this._options.ignore,[]),this.markDirectories=this._getValue(this._options.markDirectories,!1),this.objectMode=this._getValue(this._options.objectMode,!1),this.onlyDirectories=this._getValue(this._options.onlyDirectories,!1),this.onlyFiles=this._getValue(this._options.onlyFiles,!0),this.stats=this._getValue(this._options.stats,!1),this.suppressErrors=this._getValue(this._options.suppressErrors,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!1),this.unique=this._getValue(this._options.unique,!0),this.onlyDirectories&&(this.onlyFiles=!1),this.stats&&(this.objectMode=!0)}_getValue(e,t){return e===void 0?t:e}_getFileSystemMethods(e={}){return Object.assign(Object.assign({},ad.DEFAULT_FILE_SYSTEM_ADAPTER),e)}};ad.default=a3});var $y=w((Vtt,l3)=>{\"use strict\";var c3=YJ(),IQe=e3(),yQe=r3(),wQe=o3(),Nk=A3(),Hc=Za();async function Tk(r,e){Yg(r);let t=Lk(r,IQe.default,e),i=await Promise.all(t);return Hc.array.flatten(i)}(function(r){function e(o,a){Yg(o);let l=Lk(o,wQe.default,a);return Hc.array.flatten(l)}r.sync=e;function t(o,a){Yg(o);let l=Lk(o,yQe.default,a);return Hc.stream.merge(l)}r.stream=t;function i(o,a){Yg(o);let l=[].concat(o),c=new Nk.default(a);return c3.generate(l,c)}r.generateTasks=i;function n(o,a){Yg(o);let l=new Nk.default(a);return Hc.pattern.isDynamicPattern(o,l)}r.isDynamicPattern=n;function s(o){return Yg(o),Hc.path.escape(o)}r.escapePath=s})(Tk||(Tk={}));function Lk(r,e,t){let i=[].concat(r),n=new Nk.default(t),s=c3.generate(i,n),o=new e(n);return s.map(o.read,o)}function Yg(r){if(![].concat(r).every(i=>Hc.string.isString(i)&&!Hc.string.isEmpty(i)))throw new TypeError(\"Patterns must be a string (non empty) or an array of strings\")}l3.exports=Tk});var g3=w(jc=>{\"use strict\";var{promisify:BQe}=require(\"util\"),u3=require(\"fs\");async function Ok(r,e,t){if(typeof t!=\"string\")throw new TypeError(`Expected a string, got ${typeof t}`);try{return(await BQe(u3[r])(t))[e]()}catch(i){if(i.code===\"ENOENT\")return!1;throw i}}function Mk(r,e,t){if(typeof t!=\"string\")throw new TypeError(`Expected a string, got ${typeof t}`);try{return u3[r](t)[e]()}catch(i){if(i.code===\"ENOENT\")return!1;throw i}}jc.isFile=Ok.bind(null,\"stat\",\"isFile\");jc.isDirectory=Ok.bind(null,\"stat\",\"isDirectory\");jc.isSymlink=Ok.bind(null,\"lstat\",\"isSymbolicLink\");jc.isFileSync=Mk.bind(null,\"statSync\",\"isFile\");jc.isDirectorySync=Mk.bind(null,\"statSync\",\"isDirectory\");jc.isSymlinkSync=Mk.bind(null,\"lstatSync\",\"isSymbolicLink\")});var C3=w((Ztt,Uk)=>{\"use strict\";var Gc=require(\"path\"),f3=g3(),h3=r=>r.length>1?`{${r.join(\",\")}}`:r[0],p3=(r,e)=>{let t=r[0]===\"!\"?r.slice(1):r;return Gc.isAbsolute(t)?t:Gc.join(e,t)},bQe=(r,e)=>Gc.extname(r)?`**/${r}`:`**/${r}.${h3(e)}`,d3=(r,e)=>{if(e.files&&!Array.isArray(e.files))throw new TypeError(`Expected \\`files\\` to be of type \\`Array\\` but received type \\`${typeof e.files}\\``);if(e.extensions&&!Array.isArray(e.extensions))throw new TypeError(`Expected \\`extensions\\` to be of type \\`Array\\` but received type \\`${typeof e.extensions}\\``);return e.files&&e.extensions?e.files.map(t=>Gc.posix.join(r,bQe(t,e.extensions))):e.files?e.files.map(t=>Gc.posix.join(r,`**/${t}`)):e.extensions?[Gc.posix.join(r,`**/*.${h3(e.extensions)}`)]:[Gc.posix.join(r,\"**\")]};Uk.exports=async(r,e)=>{if(e=N({cwd:process.cwd()},e),typeof e.cwd!=\"string\")throw new TypeError(`Expected \\`cwd\\` to be of type \\`string\\` but received type \\`${typeof e.cwd}\\``);let t=await Promise.all([].concat(r).map(async i=>await f3.isDirectory(p3(i,e.cwd))?d3(i,e):i));return[].concat.apply([],t)};Uk.exports.sync=(r,e)=>{if(e=N({cwd:process.cwd()},e),typeof e.cwd!=\"string\")throw new TypeError(`Expected \\`cwd\\` to be of type \\`string\\` but received type \\`${typeof e.cwd}\\``);let t=[].concat(r).map(i=>f3.isDirectorySync(p3(i,e.cwd))?d3(i,e):i);return[].concat.apply([],t)}});var v3=w(($tt,m3)=>{function E3(r){return Array.isArray(r)?r:[r]}var I3=\"\",y3=\" \",Kk=\"\\\\\",QQe=/^\\s+$/,SQe=/^\\\\!/,vQe=/^\\\\#/,kQe=/\\r?\\n/g,xQe=/^\\.*\\/|^\\.+$/,Hk=\"/\",w3=typeof Symbol!=\"undefined\"?Symbol.for(\"node-ignore\"):\"node-ignore\",PQe=(r,e,t)=>Object.defineProperty(r,e,{value:t}),DQe=/([0-z])-([0-z])/g,RQe=r=>r.replace(DQe,(e,t,i)=>t.charCodeAt(0)<=i.charCodeAt(0)?e:I3),FQe=r=>{let{length:e}=r;return r.slice(0,e-e%2)},NQe=[[/\\\\?\\s+$/,r=>r.indexOf(\"\\\\\")===0?y3:I3],[/\\\\\\s/g,()=>y3],[/[\\\\$.|*+(){^]/g,r=>`\\\\${r}`],[/(?!\\\\)\\?/g,()=>\"[^/]\"],[/^\\//,()=>\"^\"],[/\\//g,()=>\"\\\\/\"],[/^\\^*\\\\\\*\\\\\\*\\\\\\//,()=>\"^(?:.*\\\\/)?\"],[/^(?=[^^])/,function(){return/\\/(?!$)/.test(this)?\"^\":\"(?:^|\\\\/)\"}],[/\\\\\\/\\\\\\*\\\\\\*(?=\\\\\\/|$)/g,(r,e,t)=>e+6<t.length?\"(?:\\\\/[^\\\\/]+)*\":\"\\\\/.+\"],[/(^|[^\\\\]+)\\\\\\*(?=.+)/g,(r,e)=>`${e}[^\\\\/]*`],[/\\\\\\\\\\\\(?=[$.|*+(){^])/g,()=>Kk],[/\\\\\\\\/g,()=>Kk],[/(\\\\)?\\[([^\\]/]*?)(\\\\*)($|\\])/g,(r,e,t,i,n)=>e===Kk?`\\\\[${t}${FQe(i)}${n}`:n===\"]\"&&i.length%2==0?`[${RQe(t)}${i}]`:\"[]\"],[/(?:[^*])$/,r=>/\\/$/.test(r)?`${r}$`:`${r}(?=$|\\\\/$)`],[/(\\^|\\\\\\/)?\\\\\\*$/,(r,e)=>`${e?`${e}[^/]+`:\"[^/]*\"}(?=$|\\\\/$)`]],B3=Object.create(null),LQe=(r,e)=>{let t=B3[r];return t||(t=NQe.reduce((i,n)=>i.replace(n[0],n[1].bind(r)),r),B3[r]=t),e?new RegExp(t,\"i\"):new RegExp(t)},jk=r=>typeof r==\"string\",TQe=r=>r&&jk(r)&&!QQe.test(r)&&r.indexOf(\"#\")!==0,OQe=r=>r.split(kQe),b3=class{constructor(e,t,i,n){this.origin=e,this.pattern=t,this.negative=i,this.regex=n}},MQe=(r,e)=>{let t=r,i=!1;r.indexOf(\"!\")===0&&(i=!0,r=r.substr(1)),r=r.replace(SQe,\"!\").replace(vQe,\"#\");let n=LQe(r,e);return new b3(t,r,i,n)},UQe=(r,e)=>{throw new e(r)},eA=(r,e,t)=>jk(r)?r?eA.isNotRelative(r)?t(`path should be a \\`path.relative()\\`d string, but got \"${e}\"`,RangeError):!0:t(\"path must not be empty\",TypeError):t(`path must be a string, but got \\`${e}\\``,TypeError),Q3=r=>xQe.test(r);eA.isNotRelative=Q3;eA.convert=r=>r;var S3=class{constructor({ignorecase:e=!0}={}){PQe(this,w3,!0),this._rules=[],this._ignorecase=e,this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}_addPattern(e){if(e&&e[w3]){this._rules=this._rules.concat(e._rules),this._added=!0;return}if(TQe(e)){let t=MQe(e,this._ignorecase);this._added=!0,this._rules.push(t)}}add(e){return this._added=!1,E3(jk(e)?OQe(e):e).forEach(this._addPattern,this),this._added&&this._initCache(),this}addPattern(e){return this.add(e)}_testOne(e,t){let i=!1,n=!1;return this._rules.forEach(s=>{let{negative:o}=s;if(n===o&&i!==n||o&&!i&&!n&&!t)return;s.regex.test(e)&&(i=!o,n=o)}),{ignored:i,unignored:n}}_test(e,t,i,n){let s=e&&eA.convert(e);return eA(s,e,UQe),this._t(s,t,i,n)}_t(e,t,i,n){if(e in t)return t[e];if(n||(n=e.split(Hk)),n.pop(),!n.length)return t[e]=this._testOne(e,i);let s=this._t(n.join(Hk)+Hk,t,i,n);return t[e]=s.ignored?s:this._testOne(e,i)}ignores(e){return this._test(e,this._ignoreCache,!1).ignored}createFilter(){return e=>!this.ignores(e)}filter(e){return E3(e).filter(this.createFilter())}test(e){return this._test(e,this._testCache,!0)}},ew=r=>new S3(r),KQe=()=>!1,HQe=r=>eA(r&&eA.convert(r),r,KQe);ew.isPathValid=HQe;ew.default=ew;m3.exports=ew;if(typeof process!=\"undefined\"&&(process.env&&process.env.IGNORE_TEST_WIN32||process.platform===\"win32\")){let r=t=>/^\\\\\\\\\\?\\\\/.test(t)||/[\"<>|\\u0000-\\u001F]+/u.test(t)?t:t.replace(/\\\\/g,\"/\");eA.convert=r;let e=/^[a-z]:\\//i;eA.isNotRelative=t=>e.test(t)||Q3(t)}});var x3=w((ert,k3)=>{\"use strict\";k3.exports=r=>{let e=/^\\\\\\\\\\?\\\\/.test(r),t=/[^\\u0000-\\u0080]+/.test(r);return e||t?r:r.replace(/\\\\/g,\"/\")}});var T3=w((trt,Gk)=>{\"use strict\";var{promisify:jQe}=require(\"util\"),P3=require(\"fs\"),tA=require(\"path\"),D3=$y(),GQe=v3(),Ad=x3(),R3=[\"**/node_modules/**\",\"**/flow-typed/**\",\"**/coverage/**\",\"**/.git\"],YQe=jQe(P3.readFile),qQe=r=>e=>e.startsWith(\"!\")?\"!\"+tA.posix.join(r,e.slice(1)):tA.posix.join(r,e),JQe=(r,e)=>{let t=Ad(tA.relative(e.cwd,tA.dirname(e.fileName)));return r.split(/\\r?\\n/).filter(Boolean).filter(i=>!i.startsWith(\"#\")).map(qQe(t))},F3=r=>{let e=GQe();for(let t of r)e.add(JQe(t.content,{cwd:t.cwd,fileName:t.filePath}));return e},WQe=(r,e)=>{if(r=Ad(r),tA.isAbsolute(e)){if(Ad(e).startsWith(r))return e;throw new Error(`Path ${e} is not in cwd ${r}`)}return tA.join(r,e)},N3=(r,e)=>t=>r.ignores(Ad(tA.relative(e,WQe(e,t.path||t)))),zQe=async(r,e)=>{let t=tA.join(e,r),i=await YQe(t,\"utf8\");return{cwd:e,filePath:t,content:i}},_Qe=(r,e)=>{let t=tA.join(e,r),i=P3.readFileSync(t,\"utf8\");return{cwd:e,filePath:t,content:i}},L3=({ignore:r=[],cwd:e=Ad(process.cwd())}={})=>({ignore:r,cwd:e});Gk.exports=async r=>{r=L3(r);let e=await D3(\"**/.gitignore\",{ignore:R3.concat(r.ignore),cwd:r.cwd}),t=await Promise.all(e.map(n=>zQe(n,r.cwd))),i=F3(t);return N3(i,r.cwd)};Gk.exports.sync=r=>{r=L3(r);let t=D3.sync(\"**/.gitignore\",{ignore:R3.concat(r.ignore),cwd:r.cwd}).map(n=>_Qe(n,r.cwd)),i=F3(t);return N3(i,r.cwd)}});var K3=w((rrt,O3)=>{\"use strict\";var{Transform:VQe}=require(\"stream\"),Yk=class extends VQe{constructor(){super({objectMode:!0})}},M3=class extends Yk{constructor(e){super();this._filter=e}_transform(e,t,i){this._filter(e)&&this.push(e),i()}},U3=class extends Yk{constructor(){super();this._pushed=new Set}_transform(e,t,i){this._pushed.has(e)||(this.push(e),this._pushed.add(e)),i()}};O3.exports={FilterStream:M3,UniqueStream:U3}});var zk=w((irt,Yc)=>{\"use strict\";var H3=require(\"fs\"),tw=gJ(),XQe=Gv(),rw=$y(),iw=C3(),qk=T3(),{FilterStream:ZQe,UniqueStream:$Qe}=K3(),j3=()=>!1,G3=r=>r[0]===\"!\",eSe=r=>{if(!r.every(e=>typeof e==\"string\"))throw new TypeError(\"Patterns must be a string or an array of strings\")},tSe=(r={})=>{if(!r.cwd)return;let e;try{e=H3.statSync(r.cwd)}catch{return}if(!e.isDirectory())throw new Error(\"The `cwd` option must be a path to a directory\")},rSe=r=>r.stats instanceof H3.Stats?r.path:r,nw=(r,e)=>{r=tw([].concat(r)),eSe(r),tSe(e);let t=[];e=N({ignore:[],expandDirectories:!0},e);for(let[i,n]of r.entries()){if(G3(n))continue;let s=r.slice(i).filter(a=>G3(a)).map(a=>a.slice(1)),o=te(N({},e),{ignore:e.ignore.concat(s)});t.push({pattern:n,options:o})}return t},iSe=(r,e)=>{let t={};return r.options.cwd&&(t.cwd=r.options.cwd),Array.isArray(r.options.expandDirectories)?t=te(N({},t),{files:r.options.expandDirectories}):typeof r.options.expandDirectories==\"object\"&&(t=N(N({},t),r.options.expandDirectories)),e(r.pattern,t)},Jk=(r,e)=>r.options.expandDirectories?iSe(r,e):[r.pattern],Y3=r=>r&&r.gitignore?qk.sync({cwd:r.cwd,ignore:r.ignore}):j3,Wk=r=>e=>{let{options:t}=r;return t.ignore&&Array.isArray(t.ignore)&&t.expandDirectories&&(t.ignore=iw.sync(t.ignore)),{pattern:e,options:t}};Yc.exports=async(r,e)=>{let t=nw(r,e),i=async()=>e&&e.gitignore?qk({cwd:e.cwd,ignore:e.ignore}):j3,n=async()=>{let l=await Promise.all(t.map(async c=>{let u=await Jk(c,iw);return Promise.all(u.map(Wk(c)))}));return tw(...l)},[s,o]=await Promise.all([i(),n()]),a=await Promise.all(o.map(l=>rw(l.pattern,l.options)));return tw(...a).filter(l=>!s(rSe(l)))};Yc.exports.sync=(r,e)=>{let t=nw(r,e),i=[];for(let o of t){let a=Jk(o,iw.sync).map(Wk(o));i.push(...a)}let n=Y3(e),s=[];for(let o of i)s=tw(s,rw.sync(o.pattern,o.options));return s.filter(o=>!n(o))};Yc.exports.stream=(r,e)=>{let t=nw(r,e),i=[];for(let a of t){let l=Jk(a,iw.sync).map(Wk(a));i.push(...l)}let n=Y3(e),s=new ZQe(a=>!n(a)),o=new $Qe;return XQe(i.map(a=>rw.stream(a.pattern,a.options))).pipe(s).pipe(o)};Yc.exports.generateGlobTasks=nw;Yc.exports.hasMagic=(r,e)=>[].concat(r).some(t=>rw.isDynamicPattern(t,e));Yc.exports.gitignore=qk});var Fn=w((Prt,s4)=>{function dSe(r){var e=typeof r;return r!=null&&(e==\"object\"||e==\"function\")}s4.exports=dSe});var ix=w((Drt,o4)=>{var CSe=typeof global==\"object\"&&global&&global.Object===Object&&global;o4.exports=CSe});var Ts=w((Rrt,a4)=>{var mSe=ix(),ESe=typeof self==\"object\"&&self&&self.Object===Object&&self,ISe=mSe||ESe||Function(\"return this\")();a4.exports=ISe});var l4=w((Frt,A4)=>{var ySe=Ts(),wSe=function(){return ySe.Date.now()};A4.exports=wSe});var u4=w((Nrt,c4)=>{var BSe=/\\s/;function bSe(r){for(var e=r.length;e--&&BSe.test(r.charAt(e)););return e}c4.exports=bSe});var f4=w((Lrt,g4)=>{var QSe=u4(),SSe=/^\\s+/;function vSe(r){return r&&r.slice(0,QSe(r)+1).replace(SSe,\"\")}g4.exports=vSe});var Wc=w((Trt,h4)=>{var kSe=Ts(),xSe=kSe.Symbol;h4.exports=xSe});var m4=w((Ort,p4)=>{var d4=Wc(),C4=Object.prototype,PSe=C4.hasOwnProperty,DSe=C4.toString,Id=d4?d4.toStringTag:void 0;function RSe(r){var e=PSe.call(r,Id),t=r[Id];try{r[Id]=void 0;var i=!0}catch(s){}var n=DSe.call(r);return i&&(e?r[Id]=t:delete r[Id]),n}p4.exports=RSe});var I4=w((Mrt,E4)=>{var FSe=Object.prototype,NSe=FSe.toString;function LSe(r){return NSe.call(r)}E4.exports=LSe});var zc=w((Urt,y4)=>{var w4=Wc(),TSe=m4(),OSe=I4(),MSe=\"[object Null]\",USe=\"[object Undefined]\",B4=w4?w4.toStringTag:void 0;function KSe(r){return r==null?r===void 0?USe:MSe:B4&&B4 in Object(r)?TSe(r):OSe(r)}y4.exports=KSe});var ra=w((Krt,b4)=>{function HSe(r){return r!=null&&typeof r==\"object\"}b4.exports=HSe});var yd=w((Hrt,Q4)=>{var jSe=zc(),GSe=ra(),YSe=\"[object Symbol]\";function qSe(r){return typeof r==\"symbol\"||GSe(r)&&jSe(r)==YSe}Q4.exports=qSe});var x4=w((jrt,S4)=>{var JSe=f4(),v4=Fn(),WSe=yd(),k4=0/0,zSe=/^[-+]0x[0-9a-f]+$/i,_Se=/^0b[01]+$/i,VSe=/^0o[0-7]+$/i,XSe=parseInt;function ZSe(r){if(typeof r==\"number\")return r;if(WSe(r))return k4;if(v4(r)){var e=typeof r.valueOf==\"function\"?r.valueOf():r;r=v4(e)?e+\"\":e}if(typeof r!=\"string\")return r===0?r:+r;r=JSe(r);var t=_Se.test(r);return t||VSe.test(r)?XSe(r.slice(2),t?2:8):zSe.test(r)?k4:+r}S4.exports=ZSe});var R4=w((Grt,P4)=>{var $Se=Fn(),nx=l4(),D4=x4(),eve=\"Expected a function\",tve=Math.max,rve=Math.min;function ive(r,e,t){var i,n,s,o,a,l,c=0,u=!1,g=!1,f=!0;if(typeof r!=\"function\")throw new TypeError(eve);e=D4(e)||0,$Se(t)&&(u=!!t.leading,g=\"maxWait\"in t,s=g?tve(D4(t.maxWait)||0,e):s,f=\"trailing\"in t?!!t.trailing:f);function h(q){var $=i,z=n;return i=n=void 0,c=q,o=r.apply(z,$),o}function p(q){return c=q,a=setTimeout(b,e),u?h(q):o}function m(q){var $=q-l,z=q-c,ne=e-$;return g?rve(ne,s-z):ne}function y(q){var $=q-l,z=q-c;return l===void 0||$>=e||$<0||g&&z>=s}function b(){var q=nx();if(y(q))return v(q);a=setTimeout(b,m(q))}function v(q){return a=void 0,f&&i?h(q):(i=n=void 0,o)}function k(){a!==void 0&&clearTimeout(a),c=0,i=l=n=a=void 0}function T(){return a===void 0?o:v(nx())}function Y(){var q=nx(),$=y(q);if(i=arguments,n=this,l=q,$){if(a===void 0)return p(l);if(g)return clearTimeout(a),a=setTimeout(b,e),h(l)}return a===void 0&&(a=setTimeout(b,e)),o}return Y.cancel=k,Y.flush=T,Y}P4.exports=ive});var N4=w((Yrt,F4)=>{var nve=R4(),sve=Fn(),ove=\"Expected a function\";function ave(r,e,t){var i=!0,n=!0;if(typeof r!=\"function\")throw new TypeError(ove);return sve(t)&&(i=\"leading\"in t?!!t.leading:i,n=\"trailing\"in t?!!t.trailing:n),nve(r,e,{leading:i,maxWait:e,trailing:n})}F4.exports=ave});var nA=w((iA,bw)=>{\"use strict\";Object.defineProperty(iA,\"__esModule\",{value:!0});var j4=[\"Int8Array\",\"Uint8Array\",\"Uint8ClampedArray\",\"Int16Array\",\"Uint16Array\",\"Int32Array\",\"Uint32Array\",\"Float32Array\",\"Float64Array\",\"BigInt64Array\",\"BigUint64Array\"];function Ive(r){return j4.includes(r)}var yve=[\"Function\",\"Generator\",\"AsyncGenerator\",\"GeneratorFunction\",\"AsyncGeneratorFunction\",\"AsyncFunction\",\"Observable\",\"Array\",\"Buffer\",\"Object\",\"RegExp\",\"Date\",\"Error\",\"Map\",\"Set\",\"WeakMap\",\"WeakSet\",\"ArrayBuffer\",\"SharedArrayBuffer\",\"DataView\",\"Promise\",\"URL\",\"FormData\",\"URLSearchParams\",\"HTMLElement\",...j4];function wve(r){return yve.includes(r)}var Bve=[\"null\",\"undefined\",\"string\",\"number\",\"bigint\",\"boolean\",\"symbol\"];function bve(r){return Bve.includes(r)}function Zg(r){return e=>typeof e===r}var{toString:G4}=Object.prototype,kd=r=>{let e=G4.call(r).slice(8,-1);if(/HTML\\w+Element/.test(e)&&W.domElement(r))return\"HTMLElement\";if(wve(e))return e},hr=r=>e=>kd(e)===r;function W(r){if(r===null)return\"null\";switch(typeof r){case\"undefined\":return\"undefined\";case\"string\":return\"string\";case\"number\":return\"number\";case\"boolean\":return\"boolean\";case\"function\":return\"Function\";case\"bigint\":return\"bigint\";case\"symbol\":return\"symbol\";default:}if(W.observable(r))return\"Observable\";if(W.array(r))return\"Array\";if(W.buffer(r))return\"Buffer\";let e=kd(r);if(e)return e;if(r instanceof String||r instanceof Boolean||r instanceof Number)throw new TypeError(\"Please don't use object wrappers for primitive types\");return\"Object\"}W.undefined=Zg(\"undefined\");W.string=Zg(\"string\");var Qve=Zg(\"number\");W.number=r=>Qve(r)&&!W.nan(r);W.bigint=Zg(\"bigint\");W.function_=Zg(\"function\");W.null_=r=>r===null;W.class_=r=>W.function_(r)&&r.toString().startsWith(\"class \");W.boolean=r=>r===!0||r===!1;W.symbol=Zg(\"symbol\");W.numericString=r=>W.string(r)&&!W.emptyStringOrWhitespace(r)&&!Number.isNaN(Number(r));W.array=(r,e)=>Array.isArray(r)?W.function_(e)?r.every(e):!0:!1;W.buffer=r=>{var e,t,i,n;return(n=(i=(t=(e=r)===null||e===void 0?void 0:e.constructor)===null||t===void 0?void 0:t.isBuffer)===null||i===void 0?void 0:i.call(t,r))!==null&&n!==void 0?n:!1};W.nullOrUndefined=r=>W.null_(r)||W.undefined(r);W.object=r=>!W.null_(r)&&(typeof r==\"object\"||W.function_(r));W.iterable=r=>{var e;return W.function_((e=r)===null||e===void 0?void 0:e[Symbol.iterator])};W.asyncIterable=r=>{var e;return W.function_((e=r)===null||e===void 0?void 0:e[Symbol.asyncIterator])};W.generator=r=>W.iterable(r)&&W.function_(r.next)&&W.function_(r.throw);W.asyncGenerator=r=>W.asyncIterable(r)&&W.function_(r.next)&&W.function_(r.throw);W.nativePromise=r=>hr(\"Promise\")(r);var Sve=r=>{var e,t;return W.function_((e=r)===null||e===void 0?void 0:e.then)&&W.function_((t=r)===null||t===void 0?void 0:t.catch)};W.promise=r=>W.nativePromise(r)||Sve(r);W.generatorFunction=hr(\"GeneratorFunction\");W.asyncGeneratorFunction=r=>kd(r)===\"AsyncGeneratorFunction\";W.asyncFunction=r=>kd(r)===\"AsyncFunction\";W.boundFunction=r=>W.function_(r)&&!r.hasOwnProperty(\"prototype\");W.regExp=hr(\"RegExp\");W.date=hr(\"Date\");W.error=hr(\"Error\");W.map=r=>hr(\"Map\")(r);W.set=r=>hr(\"Set\")(r);W.weakMap=r=>hr(\"WeakMap\")(r);W.weakSet=r=>hr(\"WeakSet\")(r);W.int8Array=hr(\"Int8Array\");W.uint8Array=hr(\"Uint8Array\");W.uint8ClampedArray=hr(\"Uint8ClampedArray\");W.int16Array=hr(\"Int16Array\");W.uint16Array=hr(\"Uint16Array\");W.int32Array=hr(\"Int32Array\");W.uint32Array=hr(\"Uint32Array\");W.float32Array=hr(\"Float32Array\");W.float64Array=hr(\"Float64Array\");W.bigInt64Array=hr(\"BigInt64Array\");W.bigUint64Array=hr(\"BigUint64Array\");W.arrayBuffer=hr(\"ArrayBuffer\");W.sharedArrayBuffer=hr(\"SharedArrayBuffer\");W.dataView=hr(\"DataView\");W.directInstanceOf=(r,e)=>Object.getPrototypeOf(r)===e.prototype;W.urlInstance=r=>hr(\"URL\")(r);W.urlString=r=>{if(!W.string(r))return!1;try{return new URL(r),!0}catch(e){return!1}};W.truthy=r=>Boolean(r);W.falsy=r=>!r;W.nan=r=>Number.isNaN(r);W.primitive=r=>W.null_(r)||bve(typeof r);W.integer=r=>Number.isInteger(r);W.safeInteger=r=>Number.isSafeInteger(r);W.plainObject=r=>{if(G4.call(r)!==\"[object Object]\")return!1;let e=Object.getPrototypeOf(r);return e===null||e===Object.getPrototypeOf({})};W.typedArray=r=>Ive(kd(r));var vve=r=>W.safeInteger(r)&&r>=0;W.arrayLike=r=>!W.nullOrUndefined(r)&&!W.function_(r)&&vve(r.length);W.inRange=(r,e)=>{if(W.number(e))return r>=Math.min(0,e)&&r<=Math.max(e,0);if(W.array(e)&&e.length===2)return r>=Math.min(...e)&&r<=Math.max(...e);throw new TypeError(`Invalid range: ${JSON.stringify(e)}`)};var kve=1,xve=[\"innerHTML\",\"ownerDocument\",\"style\",\"attributes\",\"nodeValue\"];W.domElement=r=>W.object(r)&&r.nodeType===kve&&W.string(r.nodeName)&&!W.plainObject(r)&&xve.every(e=>e in r);W.observable=r=>{var e,t,i,n;return r?r===((t=(e=r)[Symbol.observable])===null||t===void 0?void 0:t.call(e))||r===((n=(i=r)[\"@@observable\"])===null||n===void 0?void 0:n.call(i)):!1};W.nodeStream=r=>W.object(r)&&W.function_(r.pipe)&&!W.observable(r);W.infinite=r=>r===Infinity||r===-Infinity;var Y4=r=>e=>W.integer(e)&&Math.abs(e%2)===r;W.evenInteger=Y4(0);W.oddInteger=Y4(1);W.emptyArray=r=>W.array(r)&&r.length===0;W.nonEmptyArray=r=>W.array(r)&&r.length>0;W.emptyString=r=>W.string(r)&&r.length===0;W.nonEmptyString=r=>W.string(r)&&r.length>0;var Pve=r=>W.string(r)&&!/\\S/.test(r);W.emptyStringOrWhitespace=r=>W.emptyString(r)||Pve(r);W.emptyObject=r=>W.object(r)&&!W.map(r)&&!W.set(r)&&Object.keys(r).length===0;W.nonEmptyObject=r=>W.object(r)&&!W.map(r)&&!W.set(r)&&Object.keys(r).length>0;W.emptySet=r=>W.set(r)&&r.size===0;W.nonEmptySet=r=>W.set(r)&&r.size>0;W.emptyMap=r=>W.map(r)&&r.size===0;W.nonEmptyMap=r=>W.map(r)&&r.size>0;W.propertyKey=r=>W.any([W.string,W.number,W.symbol],r);W.formData=r=>hr(\"FormData\")(r);W.urlSearchParams=r=>hr(\"URLSearchParams\")(r);var q4=(r,e,t)=>{if(!W.function_(e))throw new TypeError(`Invalid predicate: ${JSON.stringify(e)}`);if(t.length===0)throw new TypeError(\"Invalid number of values\");return r.call(t,e)};W.any=(r,...e)=>(W.array(r)?r:[r]).some(i=>q4(Array.prototype.some,i,e));W.all=(r,...e)=>q4(Array.prototype.every,r,e);var We=(r,e,t,i={})=>{if(!r){let{multipleValues:n}=i,s=n?`received values of types ${[...new Set(t.map(o=>`\\`${W(o)}\\``))].join(\", \")}`:`received value of type \\`${W(t)}\\``;throw new TypeError(`Expected value which is \\`${e}\\`, ${s}.`)}};iA.assert={undefined:r=>We(W.undefined(r),\"undefined\",r),string:r=>We(W.string(r),\"string\",r),number:r=>We(W.number(r),\"number\",r),bigint:r=>We(W.bigint(r),\"bigint\",r),function_:r=>We(W.function_(r),\"Function\",r),null_:r=>We(W.null_(r),\"null\",r),class_:r=>We(W.class_(r),\"Class\",r),boolean:r=>We(W.boolean(r),\"boolean\",r),symbol:r=>We(W.symbol(r),\"symbol\",r),numericString:r=>We(W.numericString(r),\"string with a number\",r),array:(r,e)=>{We(W.array(r),\"Array\",r),e&&r.forEach(e)},buffer:r=>We(W.buffer(r),\"Buffer\",r),nullOrUndefined:r=>We(W.nullOrUndefined(r),\"null or undefined\",r),object:r=>We(W.object(r),\"Object\",r),iterable:r=>We(W.iterable(r),\"Iterable\",r),asyncIterable:r=>We(W.asyncIterable(r),\"AsyncIterable\",r),generator:r=>We(W.generator(r),\"Generator\",r),asyncGenerator:r=>We(W.asyncGenerator(r),\"AsyncGenerator\",r),nativePromise:r=>We(W.nativePromise(r),\"native Promise\",r),promise:r=>We(W.promise(r),\"Promise\",r),generatorFunction:r=>We(W.generatorFunction(r),\"GeneratorFunction\",r),asyncGeneratorFunction:r=>We(W.asyncGeneratorFunction(r),\"AsyncGeneratorFunction\",r),asyncFunction:r=>We(W.asyncFunction(r),\"AsyncFunction\",r),boundFunction:r=>We(W.boundFunction(r),\"Function\",r),regExp:r=>We(W.regExp(r),\"RegExp\",r),date:r=>We(W.date(r),\"Date\",r),error:r=>We(W.error(r),\"Error\",r),map:r=>We(W.map(r),\"Map\",r),set:r=>We(W.set(r),\"Set\",r),weakMap:r=>We(W.weakMap(r),\"WeakMap\",r),weakSet:r=>We(W.weakSet(r),\"WeakSet\",r),int8Array:r=>We(W.int8Array(r),\"Int8Array\",r),uint8Array:r=>We(W.uint8Array(r),\"Uint8Array\",r),uint8ClampedArray:r=>We(W.uint8ClampedArray(r),\"Uint8ClampedArray\",r),int16Array:r=>We(W.int16Array(r),\"Int16Array\",r),uint16Array:r=>We(W.uint16Array(r),\"Uint16Array\",r),int32Array:r=>We(W.int32Array(r),\"Int32Array\",r),uint32Array:r=>We(W.uint32Array(r),\"Uint32Array\",r),float32Array:r=>We(W.float32Array(r),\"Float32Array\",r),float64Array:r=>We(W.float64Array(r),\"Float64Array\",r),bigInt64Array:r=>We(W.bigInt64Array(r),\"BigInt64Array\",r),bigUint64Array:r=>We(W.bigUint64Array(r),\"BigUint64Array\",r),arrayBuffer:r=>We(W.arrayBuffer(r),\"ArrayBuffer\",r),sharedArrayBuffer:r=>We(W.sharedArrayBuffer(r),\"SharedArrayBuffer\",r),dataView:r=>We(W.dataView(r),\"DataView\",r),urlInstance:r=>We(W.urlInstance(r),\"URL\",r),urlString:r=>We(W.urlString(r),\"string with a URL\",r),truthy:r=>We(W.truthy(r),\"truthy\",r),falsy:r=>We(W.falsy(r),\"falsy\",r),nan:r=>We(W.nan(r),\"NaN\",r),primitive:r=>We(W.primitive(r),\"primitive\",r),integer:r=>We(W.integer(r),\"integer\",r),safeInteger:r=>We(W.safeInteger(r),\"integer\",r),plainObject:r=>We(W.plainObject(r),\"plain object\",r),typedArray:r=>We(W.typedArray(r),\"TypedArray\",r),arrayLike:r=>We(W.arrayLike(r),\"array-like\",r),domElement:r=>We(W.domElement(r),\"HTMLElement\",r),observable:r=>We(W.observable(r),\"Observable\",r),nodeStream:r=>We(W.nodeStream(r),\"Node.js Stream\",r),infinite:r=>We(W.infinite(r),\"infinite number\",r),emptyArray:r=>We(W.emptyArray(r),\"empty array\",r),nonEmptyArray:r=>We(W.nonEmptyArray(r),\"non-empty array\",r),emptyString:r=>We(W.emptyString(r),\"empty string\",r),nonEmptyString:r=>We(W.nonEmptyString(r),\"non-empty string\",r),emptyStringOrWhitespace:r=>We(W.emptyStringOrWhitespace(r),\"empty string or whitespace\",r),emptyObject:r=>We(W.emptyObject(r),\"empty object\",r),nonEmptyObject:r=>We(W.nonEmptyObject(r),\"non-empty object\",r),emptySet:r=>We(W.emptySet(r),\"empty set\",r),nonEmptySet:r=>We(W.nonEmptySet(r),\"non-empty set\",r),emptyMap:r=>We(W.emptyMap(r),\"empty map\",r),nonEmptyMap:r=>We(W.nonEmptyMap(r),\"non-empty map\",r),propertyKey:r=>We(W.propertyKey(r),\"PropertyKey\",r),formData:r=>We(W.formData(r),\"FormData\",r),urlSearchParams:r=>We(W.urlSearchParams(r),\"URLSearchParams\",r),evenInteger:r=>We(W.evenInteger(r),\"even integer\",r),oddInteger:r=>We(W.oddInteger(r),\"odd integer\",r),directInstanceOf:(r,e)=>We(W.directInstanceOf(r,e),\"T\",r),inRange:(r,e)=>We(W.inRange(r,e),\"in range\",r),any:(r,...e)=>We(W.any(r,...e),\"predicate returns truthy for any value\",e,{multipleValues:!0}),all:(r,...e)=>We(W.all(r,...e),\"predicate returns truthy for all values\",e,{multipleValues:!0})};Object.defineProperties(W,{class:{value:W.class_},function:{value:W.function_},null:{value:W.null_}});Object.defineProperties(iA.assert,{class:{value:iA.assert.class_},function:{value:iA.assert.function_},null:{value:iA.assert.null_}});iA.default=W;bw.exports=W;bw.exports.default=W;bw.exports.assert=iA.assert});var J4=w((_it,bx)=>{\"use strict\";var Qx=class extends Error{constructor(e){super(e||\"Promise was canceled\");this.name=\"CancelError\"}get isCanceled(){return!0}},xd=class{static fn(e){return(...t)=>new xd((i,n,s)=>{t.push(s),e(...t).then(i,n)})}constructor(e){this._cancelHandlers=[],this._isPending=!0,this._isCanceled=!1,this._rejectOnCancel=!0,this._promise=new Promise((t,i)=>{this._reject=i;let n=a=>{this._isPending=!1,t(a)},s=a=>{this._isPending=!1,i(a)},o=a=>{if(!this._isPending)throw new Error(\"The `onCancel` handler was attached after the promise settled.\");this._cancelHandlers.push(a)};return Object.defineProperties(o,{shouldReject:{get:()=>this._rejectOnCancel,set:a=>{this._rejectOnCancel=a}}}),e(n,s,o)})}then(e,t){return this._promise.then(e,t)}catch(e){return this._promise.catch(e)}finally(e){return this._promise.finally(e)}cancel(e){if(!(!this._isPending||this._isCanceled)){if(this._cancelHandlers.length>0)try{for(let t of this._cancelHandlers)t()}catch(t){this._reject(t)}this._isCanceled=!0,this._rejectOnCancel&&this._reject(new Qx(e))}}get isCanceled(){return this._isCanceled}};Object.setPrototypeOf(xd.prototype,Promise.prototype);bx.exports=xd;bx.exports.CancelError=Qx});var W4=w((Sx,vx)=>{\"use strict\";Object.defineProperty(Sx,\"__esModule\",{value:!0});var Dve=require(\"tls\"),kx=(r,e)=>{let t;typeof e==\"function\"?t={connect:e}:t=e;let i=typeof t.connect==\"function\",n=typeof t.secureConnect==\"function\",s=typeof t.close==\"function\",o=()=>{i&&t.connect(),r instanceof Dve.TLSSocket&&n&&(r.authorized?t.secureConnect():r.authorizationError||r.once(\"secureConnect\",t.secureConnect)),s&&r.once(\"close\",t.close)};r.writable&&!r.connecting?o():r.connecting?r.once(\"connect\",o):r.destroyed&&s&&t.close(r._hadError)};Sx.default=kx;vx.exports=kx;vx.exports.default=kx});var z4=w((xx,Px)=>{\"use strict\";Object.defineProperty(xx,\"__esModule\",{value:!0});var Rve=W4(),Fve=Number(process.versions.node.split(\".\")[0]),Dx=r=>{let e={start:Date.now(),socket:void 0,lookup:void 0,connect:void 0,secureConnect:void 0,upload:void 0,response:void 0,end:void 0,error:void 0,abort:void 0,phases:{wait:void 0,dns:void 0,tcp:void 0,tls:void 0,request:void 0,firstByte:void 0,download:void 0,total:void 0}};r.timings=e;let t=o=>{let a=o.emit.bind(o);o.emit=(l,...c)=>(l===\"error\"&&(e.error=Date.now(),e.phases.total=e.error-e.start,o.emit=a),a(l,...c))};t(r),r.prependOnceListener(\"abort\",()=>{e.abort=Date.now(),(!e.response||Fve>=13)&&(e.phases.total=Date.now()-e.start)});let i=o=>{e.socket=Date.now(),e.phases.wait=e.socket-e.start;let a=()=>{e.lookup=Date.now(),e.phases.dns=e.lookup-e.socket};o.prependOnceListener(\"lookup\",a),Rve.default(o,{connect:()=>{e.connect=Date.now(),e.lookup===void 0&&(o.removeListener(\"lookup\",a),e.lookup=e.connect,e.phases.dns=e.lookup-e.socket),e.phases.tcp=e.connect-e.lookup},secureConnect:()=>{e.secureConnect=Date.now(),e.phases.tls=e.secureConnect-e.connect}})};r.socket?i(r.socket):r.prependOnceListener(\"socket\",i);let n=()=>{var o;e.upload=Date.now(),e.phases.request=e.upload-(o=e.secureConnect,o!=null?o:e.connect)};return(()=>typeof r.writableFinished==\"boolean\"?r.writableFinished:r.finished&&r.outputSize===0&&(!r.socket||r.socket.writableLength===0))()?n():r.prependOnceListener(\"finish\",n),r.prependOnceListener(\"response\",o=>{e.response=Date.now(),e.phases.firstByte=e.response-e.upload,o.timings=e,t(o),o.prependOnceListener(\"end\",()=>{e.end=Date.now(),e.phases.download=e.end-e.response,e.phases.total=e.end-e.start})}),e};xx.default=Dx;Px.exports=Dx;Px.exports.default=Dx});var tz=w((Vit,Rx)=>{\"use strict\";var{V4MAPPED:Nve,ADDRCONFIG:Lve,ALL:_4,promises:{Resolver:V4},lookup:Tve}=require(\"dns\"),{promisify:Fx}=require(\"util\"),Ove=require(\"os\"),$g=Symbol(\"cacheableLookupCreateConnection\"),Nx=Symbol(\"cacheableLookupInstance\"),X4=Symbol(\"expires\"),Mve=typeof _4==\"number\",Z4=r=>{if(!(r&&typeof r.createConnection==\"function\"))throw new Error(\"Expected an Agent instance as the first argument\")},Uve=r=>{for(let e of r)e.family!==6&&(e.address=`::ffff:${e.address}`,e.family=6)},$4=()=>{let r=!1,e=!1;for(let t of Object.values(Ove.networkInterfaces()))for(let i of t)if(!i.internal&&(i.family===\"IPv6\"?e=!0:r=!0,r&&e))return{has4:r,has6:e};return{has4:r,has6:e}},Kve=r=>Symbol.iterator in r,ez={ttl:!0},Hve={all:!0},Lx=class{constructor({cache:e=new Map,maxTtl:t=Infinity,fallbackDuration:i=3600,errorTtl:n=.15,resolver:s=new V4,lookup:o=Tve}={}){if(this.maxTtl=t,this.errorTtl=n,this._cache=e,this._resolver=s,this._dnsLookup=Fx(o),this._resolver instanceof V4?(this._resolve4=this._resolver.resolve4.bind(this._resolver),this._resolve6=this._resolver.resolve6.bind(this._resolver)):(this._resolve4=Fx(this._resolver.resolve4.bind(this._resolver)),this._resolve6=Fx(this._resolver.resolve6.bind(this._resolver))),this._iface=$4(),this._pending={},this._nextRemovalTime=!1,this._hostnamesToFallback=new Set,i<1)this._fallback=!1;else{this._fallback=!0;let a=setInterval(()=>{this._hostnamesToFallback.clear()},i*1e3);a.unref&&a.unref()}this.lookup=this.lookup.bind(this),this.lookupAsync=this.lookupAsync.bind(this)}set servers(e){this.clear(),this._resolver.setServers(e)}get servers(){return this._resolver.getServers()}lookup(e,t,i){if(typeof t==\"function\"?(i=t,t={}):typeof t==\"number\"&&(t={family:t}),!i)throw new Error(\"Callback must be a function.\");this.lookupAsync(e,t).then(n=>{t.all?i(null,n):i(null,n.address,n.family,n.expires,n.ttl)},i)}async lookupAsync(e,t={}){typeof t==\"number\"&&(t={family:t});let i=await this.query(e);if(t.family===6){let n=i.filter(s=>s.family===6);t.hints&Nve&&(Mve&&t.hints&_4||n.length===0)?Uve(i):i=n}else t.family===4&&(i=i.filter(n=>n.family===4));if(t.hints&Lve){let{_iface:n}=this;i=i.filter(s=>s.family===6?n.has6:n.has4)}if(i.length===0){let n=new Error(`cacheableLookup ENOTFOUND ${e}`);throw n.code=\"ENOTFOUND\",n.hostname=e,n}return t.all?i:i[0]}async query(e){let t=await this._cache.get(e);if(!t){let i=this._pending[e];if(i)t=await i;else{let n=this.queryAndCache(e);this._pending[e]=n,t=await n}}return t=t.map(i=>N({},i)),t}async _resolve(e){let t=async c=>{try{return await c}catch(u){if(u.code===\"ENODATA\"||u.code===\"ENOTFOUND\")return[];throw u}},[i,n]=await Promise.all([this._resolve4(e,ez),this._resolve6(e,ez)].map(c=>t(c))),s=0,o=0,a=0,l=Date.now();for(let c of i)c.family=4,c.expires=l+c.ttl*1e3,s=Math.max(s,c.ttl);for(let c of n)c.family=6,c.expires=l+c.ttl*1e3,o=Math.max(o,c.ttl);return i.length>0?n.length>0?a=Math.min(s,o):a=s:a=o,{entries:[...i,...n],cacheTtl:a}}async _lookup(e){try{return{entries:await this._dnsLookup(e,{all:!0}),cacheTtl:0}}catch(t){return{entries:[],cacheTtl:0}}}async _set(e,t,i){if(this.maxTtl>0&&i>0){i=Math.min(i,this.maxTtl)*1e3,t[X4]=Date.now()+i;try{await this._cache.set(e,t,i)}catch(n){this.lookupAsync=async()=>{let s=new Error(\"Cache Error. Please recreate the CacheableLookup instance.\");throw s.cause=n,s}}Kve(this._cache)&&this._tick(i)}}async queryAndCache(e){if(this._hostnamesToFallback.has(e))return this._dnsLookup(e,Hve);try{let t=await this._resolve(e);t.entries.length===0&&this._fallback&&(t=await this._lookup(e),t.entries.length!==0&&this._hostnamesToFallback.add(e));let i=t.entries.length===0?this.errorTtl:t.cacheTtl;return await this._set(e,t.entries,i),delete this._pending[e],t.entries}catch(t){throw delete this._pending[e],t}}_tick(e){let t=this._nextRemovalTime;(!t||e<t)&&(clearTimeout(this._removalTimeout),this._nextRemovalTime=e,this._removalTimeout=setTimeout(()=>{this._nextRemovalTime=!1;let i=Infinity,n=Date.now();for(let[s,o]of this._cache){let a=o[X4];n>=a?this._cache.delete(s):a<i&&(i=a)}i!==Infinity&&this._tick(i-n)},e),this._removalTimeout.unref&&this._removalTimeout.unref())}install(e){if(Z4(e),$g in e)throw new Error(\"CacheableLookup has been already installed\");e[$g]=e.createConnection,e[Nx]=this,e.createConnection=(t,i)=>(\"lookup\"in t||(t.lookup=this.lookup),e[$g](t,i))}uninstall(e){if(Z4(e),e[$g]){if(e[Nx]!==this)throw new Error(\"The agent is not owned by this CacheableLookup instance\");e.createConnection=e[$g],delete e[$g],delete e[Nx]}}updateInterfaceInfo(){let{_iface:e}=this;this._iface=$4(),(e.has4&&!this._iface.has4||e.has6&&!this._iface.has6)&&this._cache.clear()}clear(e){if(e){this._cache.delete(e);return}this._cache.clear()}};Rx.exports=Lx;Rx.exports.default=Lx});var nz=w((Xit,Tx)=>{\"use strict\";var jve=typeof URL==\"undefined\"?require(\"url\").URL:URL,Gve=\"text/plain\",Yve=\"us-ascii\",rz=(r,e)=>e.some(t=>t instanceof RegExp?t.test(r):t===r),qve=(r,{stripHash:e})=>{let t=r.match(/^data:([^,]*?),([^#]*?)(?:#(.*))?$/);if(!t)throw new Error(`Invalid URL: ${r}`);let i=t[1].split(\";\"),n=t[2],s=e?\"\":t[3],o=!1;i[i.length-1]===\"base64\"&&(i.pop(),o=!0);let a=(i.shift()||\"\").toLowerCase(),c=[...i.map(u=>{let[g,f=\"\"]=u.split(\"=\").map(h=>h.trim());return g===\"charset\"&&(f=f.toLowerCase(),f===Yve)?\"\":`${g}${f?`=${f}`:\"\"}`}).filter(Boolean)];return o&&c.push(\"base64\"),(c.length!==0||a&&a!==Gve)&&c.unshift(a),`data:${c.join(\";\")},${o?n.trim():n}${s?`#${s}`:\"\"}`},iz=(r,e)=>{if(e=N({defaultProtocol:\"http:\",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripWWW:!0,removeQueryParameters:[/^utm_\\w+/i],removeTrailingSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0},e),Reflect.has(e,\"normalizeHttps\"))throw new Error(\"options.normalizeHttps is renamed to options.forceHttp\");if(Reflect.has(e,\"normalizeHttp\"))throw new Error(\"options.normalizeHttp is renamed to options.forceHttps\");if(Reflect.has(e,\"stripFragment\"))throw new Error(\"options.stripFragment is renamed to options.stripHash\");if(r=r.trim(),/^data:/i.test(r))return qve(r,e);let t=r.startsWith(\"//\");!t&&/^\\.*\\//.test(r)||(r=r.replace(/^(?!(?:\\w+:)?\\/\\/)|^\\/\\//,e.defaultProtocol));let n=new jve(r);if(e.forceHttp&&e.forceHttps)throw new Error(\"The `forceHttp` and `forceHttps` options cannot be used together\");if(e.forceHttp&&n.protocol===\"https:\"&&(n.protocol=\"http:\"),e.forceHttps&&n.protocol===\"http:\"&&(n.protocol=\"https:\"),e.stripAuthentication&&(n.username=\"\",n.password=\"\"),e.stripHash&&(n.hash=\"\"),n.pathname&&(n.pathname=n.pathname.replace(/((?!:).|^)\\/{2,}/g,(s,o)=>/^(?!\\/)/g.test(o)?`${o}/`:\"/\")),n.pathname&&(n.pathname=decodeURI(n.pathname)),e.removeDirectoryIndex===!0&&(e.removeDirectoryIndex=[/^index\\.[a-z]+$/]),Array.isArray(e.removeDirectoryIndex)&&e.removeDirectoryIndex.length>0){let s=n.pathname.split(\"/\"),o=s[s.length-1];rz(o,e.removeDirectoryIndex)&&(s=s.slice(0,s.length-1),n.pathname=s.slice(1).join(\"/\")+\"/\")}if(n.hostname&&(n.hostname=n.hostname.replace(/\\.$/,\"\"),e.stripWWW&&/^www\\.([a-z\\-\\d]{2,63})\\.([a-z.]{2,5})$/.test(n.hostname)&&(n.hostname=n.hostname.replace(/^www\\./,\"\"))),Array.isArray(e.removeQueryParameters))for(let s of[...n.searchParams.keys()])rz(s,e.removeQueryParameters)&&n.searchParams.delete(s);return e.sortQueryParameters&&n.searchParams.sort(),e.removeTrailingSlash&&(n.pathname=n.pathname.replace(/\\/$/,\"\")),r=n.toString(),(e.removeTrailingSlash||n.pathname===\"/\")&&n.hash===\"\"&&(r=r.replace(/\\/$/,\"\")),t&&!e.normalizeProtocol&&(r=r.replace(/^http:\\/\\//,\"//\")),e.stripProtocol&&(r=r.replace(/^(?:https?:)?\\/\\//,\"\")),r};Tx.exports=iz;Tx.exports.default=iz});var az=w((Zit,sz)=>{sz.exports=oz;function oz(r,e){if(r&&e)return oz(r)(e);if(typeof r!=\"function\")throw new TypeError(\"need wrapper function\");return Object.keys(r).forEach(function(i){t[i]=r[i]}),t;function t(){for(var i=new Array(arguments.length),n=0;n<i.length;n++)i[n]=arguments[n];var s=r.apply(this,i),o=i[i.length-1];return typeof s==\"function\"&&s!==o&&Object.keys(o).forEach(function(a){s[a]=o[a]}),s}}});var Mx=w(($it,Ox)=>{var Az=az();Ox.exports=Az(Qw);Ox.exports.strict=Az(lz);Qw.proto=Qw(function(){Object.defineProperty(Function.prototype,\"once\",{value:function(){return Qw(this)},configurable:!0}),Object.defineProperty(Function.prototype,\"onceStrict\",{value:function(){return lz(this)},configurable:!0})});function Qw(r){var e=function(){return e.called?e.value:(e.called=!0,e.value=r.apply(this,arguments))};return e.called=!1,e}function lz(r){var e=function(){if(e.called)throw new Error(e.onceError);return e.called=!0,e.value=r.apply(this,arguments)},t=r.name||\"Function wrapped with `once`\";return e.onceError=t+\" shouldn't be called more than once\",e.called=!1,e}});var Ux=w((ent,cz)=>{var Jve=Mx(),Wve=function(){},zve=function(r){return r.setHeader&&typeof r.abort==\"function\"},_ve=function(r){return r.stdio&&Array.isArray(r.stdio)&&r.stdio.length===3},uz=function(r,e,t){if(typeof e==\"function\")return uz(r,null,e);e||(e={}),t=Jve(t||Wve);var i=r._writableState,n=r._readableState,s=e.readable||e.readable!==!1&&r.readable,o=e.writable||e.writable!==!1&&r.writable,a=function(){r.writable||l()},l=function(){o=!1,s||t.call(r)},c=function(){s=!1,o||t.call(r)},u=function(p){t.call(r,p?new Error(\"exited with error code: \"+p):null)},g=function(p){t.call(r,p)},f=function(){if(s&&!(n&&n.ended))return t.call(r,new Error(\"premature close\"));if(o&&!(i&&i.ended))return t.call(r,new Error(\"premature close\"))},h=function(){r.req.on(\"finish\",l)};return zve(r)?(r.on(\"complete\",l),r.on(\"abort\",f),r.req?h():r.on(\"request\",h)):o&&!i&&(r.on(\"end\",a),r.on(\"close\",a)),_ve(r)&&r.on(\"exit\",u),r.on(\"end\",c),r.on(\"finish\",l),e.error!==!1&&r.on(\"error\",g),r.on(\"close\",f),function(){r.removeListener(\"complete\",l),r.removeListener(\"abort\",f),r.removeListener(\"request\",h),r.req&&r.req.removeListener(\"finish\",l),r.removeListener(\"end\",a),r.removeListener(\"close\",a),r.removeListener(\"finish\",l),r.removeListener(\"exit\",u),r.removeListener(\"end\",c),r.removeListener(\"error\",g),r.removeListener(\"close\",f)}};cz.exports=uz});var hz=w((tnt,gz)=>{var Vve=Mx(),Xve=Ux(),Kx=require(\"fs\"),Pd=function(){},Zve=/^v?\\.0/.test(process.version),Sw=function(r){return typeof r==\"function\"},$ve=function(r){return!Zve||!Kx?!1:(r instanceof(Kx.ReadStream||Pd)||r instanceof(Kx.WriteStream||Pd))&&Sw(r.close)},eke=function(r){return r.setHeader&&Sw(r.abort)},tke=function(r,e,t,i){i=Vve(i);var n=!1;r.on(\"close\",function(){n=!0}),Xve(r,{readable:e,writable:t},function(o){if(o)return i(o);n=!0,i()});var s=!1;return function(o){if(!n&&!s){if(s=!0,$ve(r))return r.close(Pd);if(eke(r))return r.abort();if(Sw(r.destroy))return r.destroy();i(o||new Error(\"stream was destroyed\"))}}},fz=function(r){r()},rke=function(r,e){return r.pipe(e)},ike=function(){var r=Array.prototype.slice.call(arguments),e=Sw(r[r.length-1]||Pd)&&r.pop()||Pd;if(Array.isArray(r[0])&&(r=r[0]),r.length<2)throw new Error(\"pump requires two streams per minimum\");var t,i=r.map(function(n,s){var o=s<r.length-1,a=s>0;return tke(n,o,a,function(l){t||(t=l),l&&i.forEach(fz),!o&&(i.forEach(fz),e(t))})});return r.reduce(rke)};gz.exports=ike});var dz=w((rnt,pz)=>{\"use strict\";var{PassThrough:nke}=require(\"stream\");pz.exports=r=>{r=N({},r);let{array:e}=r,{encoding:t}=r,i=t===\"buffer\",n=!1;e?n=!(t||i):t=t||\"utf8\",i&&(t=null);let s=new nke({objectMode:n});t&&s.setEncoding(t);let o=0,a=[];return s.on(\"data\",l=>{a.push(l),n?o=a.length:o+=l.length}),s.getBufferedValue=()=>e?a:i?Buffer.concat(a,o):a.join(\"\"),s.getBufferedLength=()=>o,s}});var Cz=w((int,ef)=>{\"use strict\";var ske=hz(),oke=dz(),Hx=class extends Error{constructor(){super(\"maxBuffer exceeded\");this.name=\"MaxBufferError\"}};async function vw(r,e){if(!r)return Promise.reject(new Error(\"Expected a stream\"));e=N({maxBuffer:Infinity},e);let{maxBuffer:t}=e,i;return await new Promise((n,s)=>{let o=a=>{a&&(a.bufferedData=i.getBufferedValue()),s(a)};i=ske(r,oke(e),a=>{if(a){o(a);return}n()}),i.on(\"data\",()=>{i.getBufferedLength()>t&&o(new Hx)})}),i.getBufferedValue()}ef.exports=vw;ef.exports.default=vw;ef.exports.buffer=(r,e)=>vw(r,te(N({},e),{encoding:\"buffer\"}));ef.exports.array=(r,e)=>vw(r,te(N({},e),{array:!0}));ef.exports.MaxBufferError=Hx});var Ez=w((snt,mz)=>{\"use strict\";var ake=[200,203,204,206,300,301,404,405,410,414,501],Ake=[200,203,204,300,301,302,303,307,308,404,405,410,414,501],lke={date:!0,connection:!0,\"keep-alive\":!0,\"proxy-authenticate\":!0,\"proxy-authorization\":!0,te:!0,trailer:!0,\"transfer-encoding\":!0,upgrade:!0},cke={\"content-length\":!0,\"content-encoding\":!0,\"transfer-encoding\":!0,\"content-range\":!0};function jx(r){let e={};if(!r)return e;let t=r.trim().split(/\\s*,\\s*/);for(let i of t){let[n,s]=i.split(/\\s*=\\s*/,2);e[n]=s===void 0?!0:s.replace(/^\"|\"$/g,\"\")}return e}function uke(r){let e=[];for(let t in r){let i=r[t];e.push(i===!0?t:t+\"=\"+i)}if(!!e.length)return e.join(\", \")}mz.exports=class{constructor(e,t,{shared:i,cacheHeuristic:n,immutableMinTimeToLive:s,ignoreCargoCult:o,trustServerDate:a,_fromObject:l}={}){if(l){this._fromObject(l);return}if(!t||!t.headers)throw Error(\"Response headers missing\");this._assertRequestHasHeaders(e),this._responseTime=this.now(),this._isShared=i!==!1,this._trustServerDate=a!==void 0?a:!0,this._cacheHeuristic=n!==void 0?n:.1,this._immutableMinTtl=s!==void 0?s:24*3600*1e3,this._status=\"status\"in t?t.status:200,this._resHeaders=t.headers,this._rescc=jx(t.headers[\"cache-control\"]),this._method=\"method\"in e?e.method:\"GET\",this._url=e.url,this._host=e.headers.host,this._noAuthorization=!e.headers.authorization,this._reqHeaders=t.headers.vary?e.headers:null,this._reqcc=jx(e.headers[\"cache-control\"]),o&&\"pre-check\"in this._rescc&&\"post-check\"in this._rescc&&(delete this._rescc[\"pre-check\"],delete this._rescc[\"post-check\"],delete this._rescc[\"no-cache\"],delete this._rescc[\"no-store\"],delete this._rescc[\"must-revalidate\"],this._resHeaders=Object.assign({},this._resHeaders,{\"cache-control\":uke(this._rescc)}),delete this._resHeaders.expires,delete this._resHeaders.pragma),!t.headers[\"cache-control\"]&&/no-cache/.test(t.headers.pragma)&&(this._rescc[\"no-cache\"]=!0)}now(){return Date.now()}storable(){return!!(!this._reqcc[\"no-store\"]&&(this._method===\"GET\"||this._method===\"HEAD\"||this._method===\"POST\"&&this._hasExplicitExpiration())&&Ake.indexOf(this._status)!==-1&&!this._rescc[\"no-store\"]&&(!this._isShared||!this._rescc.private)&&(!this._isShared||this._noAuthorization||this._allowsStoringAuthenticated())&&(this._resHeaders.expires||this._rescc.public||this._rescc[\"max-age\"]||this._rescc[\"s-maxage\"]||ake.indexOf(this._status)!==-1))}_hasExplicitExpiration(){return this._isShared&&this._rescc[\"s-maxage\"]||this._rescc[\"max-age\"]||this._resHeaders.expires}_assertRequestHasHeaders(e){if(!e||!e.headers)throw Error(\"Request headers missing\")}satisfiesWithoutRevalidation(e){this._assertRequestHasHeaders(e);let t=jx(e.headers[\"cache-control\"]);return t[\"no-cache\"]||/no-cache/.test(e.headers.pragma)||t[\"max-age\"]&&this.age()>t[\"max-age\"]||t[\"min-fresh\"]&&this.timeToLive()<1e3*t[\"min-fresh\"]||this.stale()&&!(t[\"max-stale\"]&&!this._rescc[\"must-revalidate\"]&&(t[\"max-stale\"]===!0||t[\"max-stale\"]>this.age()-this.maxAge()))?!1:this._requestMatches(e,!1)}_requestMatches(e,t){return(!this._url||this._url===e.url)&&this._host===e.headers.host&&(!e.method||this._method===e.method||t&&e.method===\"HEAD\")&&this._varyMatches(e)}_allowsStoringAuthenticated(){return this._rescc[\"must-revalidate\"]||this._rescc.public||this._rescc[\"s-maxage\"]}_varyMatches(e){if(!this._resHeaders.vary)return!0;if(this._resHeaders.vary===\"*\")return!1;let t=this._resHeaders.vary.trim().toLowerCase().split(/\\s*,\\s*/);for(let i of t)if(e.headers[i]!==this._reqHeaders[i])return!1;return!0}_copyWithoutHopByHopHeaders(e){let t={};for(let i in e)lke[i]||(t[i]=e[i]);if(e.connection){let i=e.connection.trim().split(/\\s*,\\s*/);for(let n of i)delete t[n]}if(t.warning){let i=t.warning.split(/,/).filter(n=>!/^\\s*1[0-9][0-9]/.test(n));i.length?t.warning=i.join(\",\").trim():delete t.warning}return t}responseHeaders(){let e=this._copyWithoutHopByHopHeaders(this._resHeaders),t=this.age();return t>3600*24&&!this._hasExplicitExpiration()&&this.maxAge()>3600*24&&(e.warning=(e.warning?`${e.warning}, `:\"\")+'113 - \"rfc7234 5.5.4\"'),e.age=`${Math.round(t)}`,e.date=new Date(this.now()).toUTCString(),e}date(){return this._trustServerDate?this._serverDate():this._responseTime}_serverDate(){let e=Date.parse(this._resHeaders.date);if(isFinite(e)){let t=8*3600*1e3;if(Math.abs(this._responseTime-e)<t)return e}return this._responseTime}age(){let e=Math.max(0,(this._responseTime-this.date())/1e3);if(this._resHeaders.age){let i=this._ageValue();i>e&&(e=i)}let t=(this.now()-this._responseTime)/1e3;return e+t}_ageValue(){let e=parseInt(this._resHeaders.age);return isFinite(e)?e:0}maxAge(){if(!this.storable()||this._rescc[\"no-cache\"]||this._isShared&&this._resHeaders[\"set-cookie\"]&&!this._rescc.public&&!this._rescc.immutable||this._resHeaders.vary===\"*\")return 0;if(this._isShared){if(this._rescc[\"proxy-revalidate\"])return 0;if(this._rescc[\"s-maxage\"])return parseInt(this._rescc[\"s-maxage\"],10)}if(this._rescc[\"max-age\"])return parseInt(this._rescc[\"max-age\"],10);let e=this._rescc.immutable?this._immutableMinTtl:0,t=this._serverDate();if(this._resHeaders.expires){let i=Date.parse(this._resHeaders.expires);return Number.isNaN(i)||i<t?0:Math.max(e,(i-t)/1e3)}if(this._resHeaders[\"last-modified\"]){let i=Date.parse(this._resHeaders[\"last-modified\"]);if(isFinite(i)&&t>i)return Math.max(e,(t-i)/1e3*this._cacheHeuristic)}return e}timeToLive(){return Math.max(0,this.maxAge()-this.age())*1e3}stale(){return this.maxAge()<=this.age()}static fromObject(e){return new this(void 0,void 0,{_fromObject:e})}_fromObject(e){if(this._responseTime)throw Error(\"Reinitialized\");if(!e||e.v!==1)throw Error(\"Invalid serialization\");this._responseTime=e.t,this._isShared=e.sh,this._cacheHeuristic=e.ch,this._immutableMinTtl=e.imm!==void 0?e.imm:24*3600*1e3,this._status=e.st,this._resHeaders=e.resh,this._rescc=e.rescc,this._method=e.m,this._url=e.u,this._host=e.h,this._noAuthorization=e.a,this._reqHeaders=e.reqh,this._reqcc=e.reqcc}toObject(){return{v:1,t:this._responseTime,sh:this._isShared,ch:this._cacheHeuristic,imm:this._immutableMinTtl,st:this._status,resh:this._resHeaders,rescc:this._rescc,m:this._method,u:this._url,h:this._host,a:this._noAuthorization,reqh:this._reqHeaders,reqcc:this._reqcc}}revalidationHeaders(e){this._assertRequestHasHeaders(e);let t=this._copyWithoutHopByHopHeaders(e.headers);if(delete t[\"if-range\"],!this._requestMatches(e,!0)||!this.storable())return delete t[\"if-none-match\"],delete t[\"if-modified-since\"],t;if(this._resHeaders.etag&&(t[\"if-none-match\"]=t[\"if-none-match\"]?`${t[\"if-none-match\"]}, ${this._resHeaders.etag}`:this._resHeaders.etag),t[\"accept-ranges\"]||t[\"if-match\"]||t[\"if-unmodified-since\"]||this._method&&this._method!=\"GET\"){if(delete t[\"if-modified-since\"],t[\"if-none-match\"]){let n=t[\"if-none-match\"].split(/,/).filter(s=>!/^\\s*W\\//.test(s));n.length?t[\"if-none-match\"]=n.join(\",\").trim():delete t[\"if-none-match\"]}}else this._resHeaders[\"last-modified\"]&&!t[\"if-modified-since\"]&&(t[\"if-modified-since\"]=this._resHeaders[\"last-modified\"]);return t}revalidatedPolicy(e,t){if(this._assertRequestHasHeaders(e),!t||!t.headers)throw Error(\"Response headers missing\");let i=!1;if(t.status!==void 0&&t.status!=304?i=!1:t.headers.etag&&!/^\\s*W\\//.test(t.headers.etag)?i=this._resHeaders.etag&&this._resHeaders.etag.replace(/^\\s*W\\//,\"\")===t.headers.etag:this._resHeaders.etag&&t.headers.etag?i=this._resHeaders.etag.replace(/^\\s*W\\//,\"\")===t.headers.etag.replace(/^\\s*W\\//,\"\"):this._resHeaders[\"last-modified\"]?i=this._resHeaders[\"last-modified\"]===t.headers[\"last-modified\"]:!this._resHeaders.etag&&!this._resHeaders[\"last-modified\"]&&!t.headers.etag&&!t.headers[\"last-modified\"]&&(i=!0),!i)return{policy:new this.constructor(e,t),modified:t.status!=304,matches:!1};let n={};for(let o in this._resHeaders)n[o]=o in t.headers&&!cke[o]?t.headers[o]:this._resHeaders[o];let s=Object.assign({},t,{status:this._status,method:this._method,headers:n});return{policy:new this.constructor(e,s,{shared:this._isShared,cacheHeuristic:this._cacheHeuristic,immutableMinTimeToLive:this._immutableMinTtl,trustServerDate:this._trustServerDate}),modified:!1,matches:!0}}}});var kw=w((ont,Iz)=>{\"use strict\";Iz.exports=r=>{let e={};for(let[t,i]of Object.entries(r))e[t.toLowerCase()]=i;return e}});var Bz=w((ant,yz)=>{\"use strict\";var gke=require(\"stream\").Readable,fke=kw(),wz=class extends gke{constructor(e,t,i,n){if(typeof e!=\"number\")throw new TypeError(\"Argument `statusCode` should be a number\");if(typeof t!=\"object\")throw new TypeError(\"Argument `headers` should be an object\");if(!(i instanceof Buffer))throw new TypeError(\"Argument `body` should be a buffer\");if(typeof n!=\"string\")throw new TypeError(\"Argument `url` should be a string\");super();this.statusCode=e,this.headers=fke(t),this.body=i,this.url=n}_read(){this.push(this.body),this.push(null)}};yz.exports=wz});var Qz=w((Ant,bz)=>{\"use strict\";var hke=[\"destroy\",\"setTimeout\",\"socket\",\"headers\",\"trailers\",\"rawHeaders\",\"statusCode\",\"httpVersion\",\"httpVersionMinor\",\"httpVersionMajor\",\"rawTrailers\",\"statusMessage\"];bz.exports=(r,e)=>{let t=new Set(Object.keys(r).concat(hke));for(let i of t)i in e||(e[i]=typeof r[i]==\"function\"?r[i].bind(r):r[i])}});var vz=w((lnt,Sz)=>{\"use strict\";var pke=require(\"stream\").PassThrough,dke=Qz(),Cke=r=>{if(!(r&&r.pipe))throw new TypeError(\"Parameter `response` must be a response stream.\");let e=new pke;return dke(r,e),r.pipe(e)};Sz.exports=Cke});var kz=w(Gx=>{Gx.stringify=function r(e){if(typeof e==\"undefined\")return e;if(e&&Buffer.isBuffer(e))return JSON.stringify(\":base64:\"+e.toString(\"base64\"));if(e&&e.toJSON&&(e=e.toJSON()),e&&typeof e==\"object\"){var t=\"\",i=Array.isArray(e);t=i?\"[\":\"{\";var n=!0;for(var s in e){var o=typeof e[s]==\"function\"||!i&&typeof e[s]==\"undefined\";Object.hasOwnProperty.call(e,s)&&!o&&(n||(t+=\",\"),n=!1,i?e[s]==null?t+=\"null\":t+=r(e[s]):e[s]!==void 0&&(t+=r(s)+\":\"+r(e[s])))}return t+=i?\"]\":\"}\",t}else return typeof e==\"string\"?JSON.stringify(/^:/.test(e)?\":\"+e:e):typeof e==\"undefined\"?\"null\":JSON.stringify(e)};Gx.parse=function(r){return JSON.parse(r,function(e,t){return typeof t==\"string\"?/^:base64:/.test(t)?Buffer.from(t.substring(8),\"base64\"):/^:/.test(t)?t.substring(1):t:t})}});var Rz=w((unt,xz)=>{\"use strict\";var mke=require(\"events\"),Pz=kz(),Eke=r=>{let e={redis:\"@keyv/redis\",mongodb:\"@keyv/mongo\",mongo:\"@keyv/mongo\",sqlite:\"@keyv/sqlite\",postgresql:\"@keyv/postgres\",postgres:\"@keyv/postgres\",mysql:\"@keyv/mysql\"};if(r.adapter||r.uri){let t=r.adapter||/^[^:]*/.exec(r.uri)[0];return new(require(e[t]))(r)}return new Map},Dz=class extends mke{constructor(e,t){super();if(this.opts=Object.assign({namespace:\"keyv\",serialize:Pz.stringify,deserialize:Pz.parse},typeof e==\"string\"?{uri:e}:e,t),!this.opts.store){let i=Object.assign({},this.opts);this.opts.store=Eke(i)}typeof this.opts.store.on==\"function\"&&this.opts.store.on(\"error\",i=>this.emit(\"error\",i)),this.opts.store.namespace=this.opts.namespace}_getKeyPrefix(e){return`${this.opts.namespace}:${e}`}get(e,t){e=this._getKeyPrefix(e);let{store:i}=this.opts;return Promise.resolve().then(()=>i.get(e)).then(n=>typeof n==\"string\"?this.opts.deserialize(n):n).then(n=>{if(n!==void 0){if(typeof n.expires==\"number\"&&Date.now()>n.expires){this.delete(e);return}return t&&t.raw?n:n.value}})}set(e,t,i){e=this._getKeyPrefix(e),typeof i==\"undefined\"&&(i=this.opts.ttl),i===0&&(i=void 0);let{store:n}=this.opts;return Promise.resolve().then(()=>{let s=typeof i==\"number\"?Date.now()+i:null;return t={value:t,expires:s},this.opts.serialize(t)}).then(s=>n.set(e,s,i)).then(()=>!0)}delete(e){e=this._getKeyPrefix(e);let{store:t}=this.opts;return Promise.resolve().then(()=>t.delete(e))}clear(){let{store:e}=this.opts;return Promise.resolve().then(()=>e.clear())}};xz.exports=Dz});var Lz=w((gnt,Fz)=>{\"use strict\";var Ike=require(\"events\"),xw=require(\"url\"),yke=nz(),wke=Cz(),Yx=Ez(),Nz=Bz(),Bke=kw(),bke=vz(),Qke=Rz(),na=class{constructor(e,t){if(typeof e!=\"function\")throw new TypeError(\"Parameter `request` must be a function\");return this.cache=new Qke({uri:typeof t==\"string\"&&t,store:typeof t!=\"string\"&&t,namespace:\"cacheable-request\"}),this.createCacheableRequest(e)}createCacheableRequest(e){return(t,i)=>{let n;if(typeof t==\"string\")n=qx(xw.parse(t)),t={};else if(t instanceof xw.URL)n=qx(xw.parse(t.toString())),t={};else{let[g,...f]=(t.path||\"\").split(\"?\"),h=f.length>0?`?${f.join(\"?\")}`:\"\";n=qx(te(N({},t),{pathname:g,search:h}))}t=N(N({headers:{},method:\"GET\",cache:!0,strictTtl:!1,automaticFailover:!1},t),Ske(n)),t.headers=Bke(t.headers);let s=new Ike,o=yke(xw.format(n),{stripWWW:!1,removeTrailingSlash:!1,stripAuthentication:!1}),a=`${t.method}:${o}`,l=!1,c=!1,u=g=>{c=!0;let f=!1,h,p=new Promise(y=>{h=()=>{f||(f=!0,y())}}),m=y=>{if(l&&!g.forceRefresh){y.status=y.statusCode;let v=Yx.fromObject(l.cachePolicy).revalidatedPolicy(g,y);if(!v.modified){let k=v.policy.responseHeaders();y=new Nz(l.statusCode,k,l.body,l.url),y.cachePolicy=v.policy,y.fromCache=!0}}y.fromCache||(y.cachePolicy=new Yx(g,y,g),y.fromCache=!1);let b;g.cache&&y.cachePolicy.storable()?(b=bke(y),(async()=>{try{let v=wke.buffer(y);if(await Promise.race([p,new Promise(q=>y.once(\"end\",q))]),f)return;let k=await v,T={cachePolicy:y.cachePolicy.toObject(),url:y.url,statusCode:y.fromCache?l.statusCode:y.statusCode,body:k},Y=g.strictTtl?y.cachePolicy.timeToLive():void 0;g.maxTtl&&(Y=Y?Math.min(Y,g.maxTtl):g.maxTtl),await this.cache.set(a,T,Y)}catch(v){s.emit(\"error\",new na.CacheError(v))}})()):g.cache&&l&&(async()=>{try{await this.cache.delete(a)}catch(v){s.emit(\"error\",new na.CacheError(v))}})(),s.emit(\"response\",b||y),typeof i==\"function\"&&i(b||y)};try{let y=e(g,m);y.once(\"error\",h),y.once(\"abort\",h),s.emit(\"request\",y)}catch(y){s.emit(\"error\",new na.RequestError(y))}};return(async()=>{let g=async h=>{await Promise.resolve();let p=h.cache?await this.cache.get(a):void 0;if(typeof p==\"undefined\")return u(h);let m=Yx.fromObject(p.cachePolicy);if(m.satisfiesWithoutRevalidation(h)&&!h.forceRefresh){let y=m.responseHeaders(),b=new Nz(p.statusCode,y,p.body,p.url);b.cachePolicy=m,b.fromCache=!0,s.emit(\"response\",b),typeof i==\"function\"&&i(b)}else l=p,h.headers=m.revalidationHeaders(h),u(h)},f=h=>s.emit(\"error\",new na.CacheError(h));this.cache.once(\"error\",f),s.on(\"response\",()=>this.cache.removeListener(\"error\",f));try{await g(t)}catch(h){t.automaticFailover&&!c&&u(t),s.emit(\"error\",new na.CacheError(h))}})(),s}}};function Ske(r){let e=N({},r);return e.path=`${r.pathname||\"/\"}${r.search||\"\"}`,delete e.pathname,delete e.search,e}function qx(r){return{protocol:r.protocol,auth:r.auth,hostname:r.hostname||r.host||\"localhost\",port:r.port,pathname:r.pathname,search:r.search}}na.RequestError=class extends Error{constructor(r){super(r.message);this.name=\"RequestError\",Object.assign(this,r)}};na.CacheError=class extends Error{constructor(r){super(r.message);this.name=\"CacheError\",Object.assign(this,r)}};Fz.exports=na});var Oz=w((fnt,Tz)=>{\"use strict\";var vke=[\"aborted\",\"complete\",\"headers\",\"httpVersion\",\"httpVersionMinor\",\"httpVersionMajor\",\"method\",\"rawHeaders\",\"rawTrailers\",\"setTimeout\",\"socket\",\"statusCode\",\"statusMessage\",\"trailers\",\"url\"];Tz.exports=(r,e)=>{if(e._readableState.autoDestroy)throw new Error(\"The second stream must have the `autoDestroy` option set to `false`\");let t=new Set(Object.keys(r).concat(vke)),i={};for(let n of t)n in e||(i[n]={get(){let s=r[n];return typeof s==\"function\"?s.bind(r):s},set(s){r[n]=s},enumerable:!0,configurable:!1});return Object.defineProperties(e,i),r.once(\"aborted\",()=>{e.destroy(),e.emit(\"aborted\")}),r.once(\"close\",()=>{r.complete&&e.readable?e.once(\"end\",()=>{e.emit(\"close\")}):e.emit(\"close\")}),e}});var Uz=w((hnt,Mz)=>{\"use strict\";var{Transform:kke,PassThrough:xke}=require(\"stream\"),Jx=require(\"zlib\"),Pke=Oz();Mz.exports=r=>{let e=(r.headers[\"content-encoding\"]||\"\").toLowerCase();if(![\"gzip\",\"deflate\",\"br\"].includes(e))return r;let t=e===\"br\";if(t&&typeof Jx.createBrotliDecompress!=\"function\")return r.destroy(new Error(\"Brotli is not supported on Node.js < 12\")),r;let i=!0,n=new kke({transform(a,l,c){i=!1,c(null,a)},flush(a){a()}}),s=new xke({autoDestroy:!1,destroy(a,l){r.destroy(),l(a)}}),o=t?Jx.createBrotliDecompress():Jx.createUnzip();return o.once(\"error\",a=>{if(i&&!r.readable){s.end();return}s.destroy(a)}),Pke(r,s),r.pipe(n).pipe(o).pipe(s),s}});var Wx=w((pnt,Kz)=>{\"use strict\";var Hz=class{constructor(e={}){if(!(e.maxSize&&e.maxSize>0))throw new TypeError(\"`maxSize` must be a number greater than 0\");this.maxSize=e.maxSize,this.onEviction=e.onEviction,this.cache=new Map,this.oldCache=new Map,this._size=0}_set(e,t){if(this.cache.set(e,t),this._size++,this._size>=this.maxSize){if(this._size=0,typeof this.onEviction==\"function\")for(let[i,n]of this.oldCache.entries())this.onEviction(i,n);this.oldCache=this.cache,this.cache=new Map}}get(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e)){let t=this.oldCache.get(e);return this.oldCache.delete(e),this._set(e,t),t}}set(e,t){return this.cache.has(e)?this.cache.set(e,t):this._set(e,t),this}has(e){return this.cache.has(e)||this.oldCache.has(e)}peek(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e))return this.oldCache.get(e)}delete(e){let t=this.cache.delete(e);return t&&this._size--,this.oldCache.delete(e)||t}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}*keys(){for(let[e]of this)yield e}*values(){for(let[,e]of this)yield e}*[Symbol.iterator](){for(let e of this.cache)yield e;for(let e of this.oldCache){let[t]=e;this.cache.has(t)||(yield e)}}get size(){let e=0;for(let t of this.oldCache.keys())this.cache.has(t)||e++;return Math.min(this._size+e,this.maxSize)}};Kz.exports=Hz});var _x=w((dnt,jz)=>{\"use strict\";var Dke=require(\"events\"),Rke=require(\"tls\"),Fke=require(\"http2\"),Nke=Wx(),gn=Symbol(\"currentStreamsCount\"),Gz=Symbol(\"request\"),Os=Symbol(\"cachedOriginSet\"),tf=Symbol(\"gracefullyClosing\"),Lke=[\"maxDeflateDynamicTableSize\",\"maxSessionMemory\",\"maxHeaderListPairs\",\"maxOutstandingPings\",\"maxReservedRemoteStreams\",\"maxSendHeaderBlockLength\",\"paddingStrategy\",\"localAddress\",\"path\",\"rejectUnauthorized\",\"minDHSize\",\"ca\",\"cert\",\"clientCertEngine\",\"ciphers\",\"key\",\"pfx\",\"servername\",\"minVersion\",\"maxVersion\",\"secureProtocol\",\"crl\",\"honorCipherOrder\",\"ecdhCurve\",\"dhparam\",\"secureOptions\",\"sessionIdContext\"],Tke=(r,e,t)=>{let i=0,n=r.length;for(;i<n;){let s=i+n>>>1;t(r[s],e)?i=s+1:n=s}return i},Oke=(r,e)=>r.remoteSettings.maxConcurrentStreams>e.remoteSettings.maxConcurrentStreams,zx=(r,e)=>{for(let t of r)t[Os].length<e[Os].length&&t[Os].every(i=>e[Os].includes(i))&&t[gn]+e[gn]<=e.remoteSettings.maxConcurrentStreams&&Yz(t)},Mke=(r,e)=>{for(let t of r)e[Os].length<t[Os].length&&e[Os].every(i=>t[Os].includes(i))&&e[gn]+t[gn]<=t.remoteSettings.maxConcurrentStreams&&Yz(e)},qz=({agent:r,isFree:e})=>{let t={};for(let i in r.sessions){let s=r.sessions[i].filter(o=>{let a=o[sA.kCurrentStreamsCount]<o.remoteSettings.maxConcurrentStreams;return e?a:!a});s.length!==0&&(t[i]=s)}return t},Yz=r=>{r[tf]=!0,r[gn]===0&&r.close()},sA=class extends Dke{constructor({timeout:e=6e4,maxSessions:t=Infinity,maxFreeSessions:i=10,maxCachedTlsSessions:n=100}={}){super();this.sessions={},this.queue={},this.timeout=e,this.maxSessions=t,this.maxFreeSessions=i,this._freeSessionsCount=0,this._sessionsCount=0,this.settings={enablePush:!1},this.tlsSessionCache=new Nke({maxSize:n})}static normalizeOrigin(e,t){return typeof e==\"string\"&&(e=new URL(e)),t&&e.hostname!==t&&(e.hostname=t),e.origin}normalizeOptions(e){let t=\"\";if(e)for(let i of Lke)e[i]&&(t+=`:${e[i]}`);return t}_tryToCreateNewSession(e,t){if(!(e in this.queue)||!(t in this.queue[e]))return;let i=this.queue[e][t];this._sessionsCount<this.maxSessions&&!i.completed&&(i.completed=!0,i())}getSession(e,t,i){return new Promise((n,s)=>{Array.isArray(i)?(i=[...i],n()):i=[{resolve:n,reject:s}];let o=this.normalizeOptions(t),a=sA.normalizeOrigin(e,t&&t.servername);if(a===void 0){for(let{reject:u}of i)u(new TypeError(\"The `origin` argument needs to be a string or an URL object\"));return}if(o in this.sessions){let u=this.sessions[o],g=-1,f=-1,h;for(let p of u){let m=p.remoteSettings.maxConcurrentStreams;if(m<g)break;if(p[Os].includes(a)){let y=p[gn];if(y>=m||p[tf]||p.destroyed)continue;h||(g=m),y>f&&(h=p,f=y)}}if(h){if(i.length!==1){for(let{reject:p}of i){let m=new Error(`Expected the length of listeners to be 1, got ${i.length}.\nPlease report this to https://github.com/szmarczak/http2-wrapper/`);p(m)}return}i[0].resolve(h);return}}if(o in this.queue){if(a in this.queue[o]){this.queue[o][a].listeners.push(...i),this._tryToCreateNewSession(o,a);return}}else this.queue[o]={};let l=()=>{o in this.queue&&this.queue[o][a]===c&&(delete this.queue[o][a],Object.keys(this.queue[o]).length===0&&delete this.queue[o])},c=()=>{let u=`${a}:${o}`,g=!1;try{let f=Fke.connect(e,N({createConnection:this.createConnection,settings:this.settings,session:this.tlsSessionCache.get(u)},t));f[gn]=0,f[tf]=!1;let h=()=>f[gn]<f.remoteSettings.maxConcurrentStreams,p=!0;f.socket.once(\"session\",y=>{this.tlsSessionCache.set(u,y)}),f.once(\"error\",y=>{for(let{reject:b}of i)b(y);this.tlsSessionCache.delete(u)}),f.setTimeout(this.timeout,()=>{f.destroy()}),f.once(\"close\",()=>{if(g){p&&this._freeSessionsCount--,this._sessionsCount--;let y=this.sessions[o];y.splice(y.indexOf(f),1),y.length===0&&delete this.sessions[o]}else{let y=new Error(\"Session closed without receiving a SETTINGS frame\");y.code=\"HTTP2WRAPPER_NOSETTINGS\";for(let{reject:b}of i)b(y);l()}this._tryToCreateNewSession(o,a)});let m=()=>{if(!(!(o in this.queue)||!h())){for(let y of f[Os])if(y in this.queue[o]){let{listeners:b}=this.queue[o][y];for(;b.length!==0&&h();)b.shift().resolve(f);let v=this.queue[o];if(v[y].listeners.length===0&&(delete v[y],Object.keys(v).length===0)){delete this.queue[o];break}if(!h())break}}};f.on(\"origin\",()=>{f[Os]=f.originSet,!!h()&&(m(),zx(this.sessions[o],f))}),f.once(\"remoteSettings\",()=>{if(f.ref(),f.unref(),this._sessionsCount++,c.destroyed){let y=new Error(\"Agent has been destroyed\");for(let b of i)b.reject(y);f.destroy();return}f[Os]=f.originSet;{let y=this.sessions;if(o in y){let b=y[o];b.splice(Tke(b,f,Oke),0,f)}else y[o]=[f]}this._freeSessionsCount+=1,g=!0,this.emit(\"session\",f),m(),l(),f[gn]===0&&this._freeSessionsCount>this.maxFreeSessions&&f.close(),i.length!==0&&(this.getSession(a,t,i),i.length=0),f.on(\"remoteSettings\",()=>{m(),zx(this.sessions[o],f)})}),f[Gz]=f.request,f.request=(y,b)=>{if(f[tf])throw new Error(\"The session is gracefully closing. No new streams are allowed.\");let v=f[Gz](y,b);return f.ref(),++f[gn],f[gn]===f.remoteSettings.maxConcurrentStreams&&this._freeSessionsCount--,v.once(\"close\",()=>{if(p=h(),--f[gn],!f.destroyed&&!f.closed&&(Mke(this.sessions[o],f),h()&&!f.closed)){p||(this._freeSessionsCount++,p=!0);let k=f[gn]===0;k&&f.unref(),k&&(this._freeSessionsCount>this.maxFreeSessions||f[tf])?f.close():(zx(this.sessions[o],f),m())}}),v}}catch(f){for(let h of i)h.reject(f);l()}};c.listeners=i,c.completed=!1,c.destroyed=!1,this.queue[o][a]=c,this._tryToCreateNewSession(o,a)})}request(e,t,i,n){return new Promise((s,o)=>{this.getSession(e,t,[{reject:o,resolve:a=>{try{s(a.request(i,n))}catch(l){o(l)}}}])})}createConnection(e,t){return sA.connect(e,t)}static connect(e,t){t.ALPNProtocols=[\"h2\"];let i=e.port||443,n=e.hostname||e.host;return typeof t.servername==\"undefined\"&&(t.servername=n),Rke.connect(i,n,t)}closeFreeSessions(){for(let e of Object.values(this.sessions))for(let t of e)t[gn]===0&&t.close()}destroy(e){for(let t of Object.values(this.sessions))for(let i of t)i.destroy(e);for(let t of Object.values(this.queue))for(let i of Object.values(t))i.destroyed=!0;this.queue={}}get freeSessions(){return qz({agent:this,isFree:!0})}get busySessions(){return qz({agent:this,isFree:!1})}};sA.kCurrentStreamsCount=gn;sA.kGracefullyClosing=tf;jz.exports={Agent:sA,globalAgent:new sA}});var Vx=w((Cnt,Jz)=>{\"use strict\";var{Readable:Uke}=require(\"stream\"),Wz=class extends Uke{constructor(e,t){super({highWaterMark:t,autoDestroy:!1});this.statusCode=null,this.statusMessage=\"\",this.httpVersion=\"2.0\",this.httpVersionMajor=2,this.httpVersionMinor=0,this.headers={},this.trailers={},this.req=null,this.aborted=!1,this.complete=!1,this.upgrade=null,this.rawHeaders=[],this.rawTrailers=[],this.socket=e,this.connection=e,this._dumped=!1}_destroy(e){this.req._request.destroy(e)}setTimeout(e,t){return this.req.setTimeout(e,t),this}_dump(){this._dumped||(this._dumped=!0,this.removeAllListeners(\"data\"),this.resume())}_read(){this.req&&this.req._request.resume()}};Jz.exports=Wz});var Xx=w((mnt,zz)=>{\"use strict\";zz.exports=r=>{let e={protocol:r.protocol,hostname:typeof r.hostname==\"string\"&&r.hostname.startsWith(\"[\")?r.hostname.slice(1,-1):r.hostname,host:r.host,hash:r.hash,search:r.search,pathname:r.pathname,href:r.href,path:`${r.pathname||\"\"}${r.search||\"\"}`};return typeof r.port==\"string\"&&r.port.length!==0&&(e.port=Number(r.port)),(r.username||r.password)&&(e.auth=`${r.username||\"\"}:${r.password||\"\"}`),e}});var Vz=w((Ent,_z)=>{\"use strict\";_z.exports=(r,e,t)=>{for(let i of t)r.on(i,(...n)=>e.emit(i,...n))}});var Zz=w((Int,Xz)=>{\"use strict\";Xz.exports=r=>{switch(r){case\":method\":case\":scheme\":case\":authority\":case\":path\":return!0;default:return!1}}});var e8=w((wnt,$z)=>{\"use strict\";var rf=(r,e,t)=>{$z.exports[e]=class extends r{constructor(...n){super(typeof t==\"string\"?t:t(n));this.name=`${super.name} [${e}]`,this.code=e}}};rf(TypeError,\"ERR_INVALID_ARG_TYPE\",r=>{let e=r[0].includes(\".\")?\"property\":\"argument\",t=r[1],i=Array.isArray(t);return i&&(t=`${t.slice(0,-1).join(\", \")} or ${t.slice(-1)}`),`The \"${r[0]}\" ${e} must be ${i?\"one of\":\"of\"} type ${t}. Received ${typeof r[2]}`});rf(TypeError,\"ERR_INVALID_PROTOCOL\",r=>`Protocol \"${r[0]}\" not supported. Expected \"${r[1]}\"`);rf(Error,\"ERR_HTTP_HEADERS_SENT\",r=>`Cannot ${r[0]} headers after they are sent to the client`);rf(TypeError,\"ERR_INVALID_HTTP_TOKEN\",r=>`${r[0]} must be a valid HTTP token [${r[1]}]`);rf(TypeError,\"ERR_HTTP_INVALID_HEADER_VALUE\",r=>`Invalid value \"${r[0]} for header \"${r[1]}\"`);rf(TypeError,\"ERR_INVALID_CHAR\",r=>`Invalid character in ${r[0]} [${r[1]}]`)});var tP=w((Bnt,t8)=>{\"use strict\";var Kke=require(\"http2\"),{Writable:Hke}=require(\"stream\"),{Agent:r8,globalAgent:jke}=_x(),Gke=Vx(),Yke=Xx(),qke=Vz(),Jke=Zz(),{ERR_INVALID_ARG_TYPE:Zx,ERR_INVALID_PROTOCOL:Wke,ERR_HTTP_HEADERS_SENT:i8,ERR_INVALID_HTTP_TOKEN:zke,ERR_HTTP_INVALID_HEADER_VALUE:_ke,ERR_INVALID_CHAR:Vke}=e8(),{HTTP2_HEADER_STATUS:n8,HTTP2_HEADER_METHOD:s8,HTTP2_HEADER_PATH:o8,HTTP2_METHOD_CONNECT:Xke}=Kke.constants,Wi=Symbol(\"headers\"),$x=Symbol(\"origin\"),eP=Symbol(\"session\"),a8=Symbol(\"options\"),Pw=Symbol(\"flushedHeaders\"),Dd=Symbol(\"jobs\"),Zke=/^[\\^`\\-\\w!#$%&*+.|~]+$/,$ke=/[^\\t\\u0020-\\u007E\\u0080-\\u00FF]/,A8=class extends Hke{constructor(e,t,i){super({autoDestroy:!1});let n=typeof e==\"string\"||e instanceof URL;if(n&&(e=Yke(e instanceof URL?e:new URL(e))),typeof t==\"function\"||t===void 0?(i=t,t=n?e:N({},e)):t=N(N({},e),t),t.h2session)this[eP]=t.h2session;else if(t.agent===!1)this.agent=new r8({maxFreeSessions:0});else if(typeof t.agent==\"undefined\"||t.agent===null)typeof t.createConnection==\"function\"?(this.agent=new r8({maxFreeSessions:0}),this.agent.createConnection=t.createConnection):this.agent=jke;else if(typeof t.agent.request==\"function\")this.agent=t.agent;else throw new Zx(\"options.agent\",[\"Agent-like Object\",\"undefined\",\"false\"],t.agent);if(t.protocol&&t.protocol!==\"https:\")throw new Wke(t.protocol,\"https:\");let s=t.port||t.defaultPort||this.agent&&this.agent.defaultPort||443,o=t.hostname||t.host||\"localhost\";delete t.hostname,delete t.host,delete t.port;let{timeout:a}=t;if(t.timeout=void 0,this[Wi]=Object.create(null),this[Dd]=[],this.socket=null,this.connection=null,this.method=t.method||\"GET\",this.path=t.path,this.res=null,this.aborted=!1,this.reusedSocket=!1,t.headers)for(let[l,c]of Object.entries(t.headers))this.setHeader(l,c);t.auth&&!(\"authorization\"in this[Wi])&&(this[Wi].authorization=\"Basic \"+Buffer.from(t.auth).toString(\"base64\")),t.session=t.tlsSession,t.path=t.socketPath,this[a8]=t,s===443?(this[$x]=`https://${o}`,\":authority\"in this[Wi]||(this[Wi][\":authority\"]=o)):(this[$x]=`https://${o}:${s}`,\":authority\"in this[Wi]||(this[Wi][\":authority\"]=`${o}:${s}`)),a&&this.setTimeout(a),i&&this.once(\"response\",i),this[Pw]=!1}get method(){return this[Wi][s8]}set method(e){e&&(this[Wi][s8]=e.toUpperCase())}get path(){return this[Wi][o8]}set path(e){e&&(this[Wi][o8]=e)}get _mustNotHaveABody(){return this.method===\"GET\"||this.method===\"HEAD\"||this.method===\"DELETE\"}_write(e,t,i){if(this._mustNotHaveABody){i(new Error(\"The GET, HEAD and DELETE methods must NOT have a body\"));return}this.flushHeaders();let n=()=>this._request.write(e,t,i);this._request?n():this[Dd].push(n)}_final(e){if(this.destroyed)return;this.flushHeaders();let t=()=>{if(this._mustNotHaveABody){e();return}this._request.end(e)};this._request?t():this[Dd].push(t)}abort(){this.res&&this.res.complete||(this.aborted||process.nextTick(()=>this.emit(\"abort\")),this.aborted=!0,this.destroy())}_destroy(e,t){this.res&&this.res._dump(),this._request&&this._request.destroy(),t(e)}async flushHeaders(){if(this[Pw]||this.destroyed)return;this[Pw]=!0;let e=this.method===Xke,t=i=>{if(this._request=i,this.destroyed){i.destroy();return}e||qke(i,this,[\"timeout\",\"continue\",\"close\",\"error\"]);let n=o=>(...a)=>{!this.writable&&!this.destroyed?o(...a):this.once(\"finish\",()=>{o(...a)})};i.once(\"response\",n((o,a,l)=>{let c=new Gke(this.socket,i.readableHighWaterMark);this.res=c,c.req=this,c.statusCode=o[n8],c.headers=o,c.rawHeaders=l,c.once(\"end\",()=>{this.aborted?(c.aborted=!0,c.emit(\"aborted\")):(c.complete=!0,c.socket=null,c.connection=null)}),e?(c.upgrade=!0,this.emit(\"connect\",c,i,Buffer.alloc(0))?this.emit(\"close\"):i.destroy()):(i.on(\"data\",u=>{!c._dumped&&!c.push(u)&&i.pause()}),i.once(\"end\",()=>{c.push(null)}),this.emit(\"response\",c)||c._dump())})),i.once(\"headers\",n(o=>this.emit(\"information\",{statusCode:o[n8]}))),i.once(\"trailers\",n((o,a,l)=>{let{res:c}=this;c.trailers=o,c.rawTrailers=l}));let{socket:s}=i.session;this.socket=s,this.connection=s;for(let o of this[Dd])o();this.emit(\"socket\",this.socket)};if(this[eP])try{t(this[eP].request(this[Wi]))}catch(i){this.emit(\"error\",i)}else{this.reusedSocket=!0;try{t(await this.agent.request(this[$x],this[a8],this[Wi]))}catch(i){this.emit(\"error\",i)}}}getHeader(e){if(typeof e!=\"string\")throw new Zx(\"name\",\"string\",e);return this[Wi][e.toLowerCase()]}get headersSent(){return this[Pw]}removeHeader(e){if(typeof e!=\"string\")throw new Zx(\"name\",\"string\",e);if(this.headersSent)throw new i8(\"remove\");delete this[Wi][e.toLowerCase()]}setHeader(e,t){if(this.headersSent)throw new i8(\"set\");if(typeof e!=\"string\"||!Zke.test(e)&&!Jke(e))throw new zke(\"Header name\",e);if(typeof t==\"undefined\")throw new _ke(t,e);if($ke.test(t))throw new Vke(\"header content\",e);this[Wi][e.toLowerCase()]=t}setNoDelay(){}setSocketKeepAlive(){}setTimeout(e,t){let i=()=>this._request.setTimeout(e,t);return this._request?i():this[Dd].push(i),this}get maxHeadersCount(){if(!this.destroyed&&this._request)return this._request.session.localSettings.maxHeaderListSize}set maxHeadersCount(e){}};t8.exports=A8});var c8=w((bnt,l8)=>{\"use strict\";var exe=require(\"tls\");l8.exports=(r={})=>new Promise((e,t)=>{let i=exe.connect(r,()=>{r.resolveSocket?(i.off(\"error\",t),e({alpnProtocol:i.alpnProtocol,socket:i})):(i.destroy(),e({alpnProtocol:i.alpnProtocol}))});i.on(\"error\",t)})});var g8=w((Qnt,u8)=>{\"use strict\";var txe=require(\"net\");u8.exports=r=>{let e=r.host,t=r.headers&&r.headers.host;return t&&(t.startsWith(\"[\")?t.indexOf(\"]\")===-1?e=t:e=t.slice(1,-1):e=t.split(\":\",1)[0]),txe.isIP(e)?\"\":e}});var p8=w((Snt,rP)=>{\"use strict\";var f8=require(\"http\"),iP=require(\"https\"),rxe=c8(),ixe=Wx(),nxe=tP(),sxe=g8(),oxe=Xx(),Dw=new ixe({maxSize:100}),Rd=new Map,h8=(r,e,t)=>{e._httpMessage={shouldKeepAlive:!0};let i=()=>{r.emit(\"free\",e,t)};e.on(\"free\",i);let n=()=>{r.removeSocket(e,t)};e.on(\"close\",n);let s=()=>{r.removeSocket(e,t),e.off(\"close\",n),e.off(\"free\",i),e.off(\"agentRemove\",s)};e.on(\"agentRemove\",s),r.emit(\"free\",e,t)},axe=async r=>{let e=`${r.host}:${r.port}:${r.ALPNProtocols.sort()}`;if(!Dw.has(e)){if(Rd.has(e))return(await Rd.get(e)).alpnProtocol;let{path:t,agent:i}=r;r.path=r.socketPath;let n=rxe(r);Rd.set(e,n);try{let{socket:s,alpnProtocol:o}=await n;if(Dw.set(e,o),r.path=t,o===\"h2\")s.destroy();else{let{globalAgent:a}=iP,l=iP.Agent.prototype.createConnection;i?i.createConnection===l?h8(i,s,r):s.destroy():a.createConnection===l?h8(a,s,r):s.destroy()}return Rd.delete(e),o}catch(s){throw Rd.delete(e),s}}return Dw.get(e)};rP.exports=async(r,e,t)=>{if((typeof r==\"string\"||r instanceof URL)&&(r=oxe(new URL(r))),typeof e==\"function\"&&(t=e,e=void 0),e=te(N(N({ALPNProtocols:[\"h2\",\"http/1.1\"]},r),e),{resolveSocket:!0}),!Array.isArray(e.ALPNProtocols)||e.ALPNProtocols.length===0)throw new Error(\"The `ALPNProtocols` option must be an Array with at least one entry\");e.protocol=e.protocol||\"https:\";let i=e.protocol===\"https:\";e.host=e.hostname||e.host||\"localhost\",e.session=e.tlsSession,e.servername=e.servername||sxe(e),e.port=e.port||(i?443:80),e._defaultAgent=i?iP.globalAgent:f8.globalAgent;let n=e.agent;if(n){if(n.addRequest)throw new Error(\"The `options.agent` object can contain only `http`, `https` or `http2` properties\");e.agent=n[i?\"https\":\"http\"]}return i&&await axe(e)===\"h2\"?(n&&(e.agent=n.http2),new nxe(e,t)):f8.request(e,t)};rP.exports.protocolCache=Dw});var C8=w((vnt,d8)=>{\"use strict\";var Axe=require(\"http2\"),lxe=_x(),nP=tP(),cxe=Vx(),uxe=p8(),gxe=(r,e,t)=>new nP(r,e,t),fxe=(r,e,t)=>{let i=new nP(r,e,t);return i.end(),i};d8.exports=te(N(te(N({},Axe),{ClientRequest:nP,IncomingMessage:cxe}),lxe),{request:gxe,get:fxe,auto:uxe})});var oP=w(sP=>{\"use strict\";Object.defineProperty(sP,\"__esModule\",{value:!0});var m8=nA();sP.default=r=>m8.default.nodeStream(r)&&m8.default.function_(r.getBoundary)});var w8=w(aP=>{\"use strict\";Object.defineProperty(aP,\"__esModule\",{value:!0});var E8=require(\"fs\"),I8=require(\"util\"),y8=nA(),hxe=oP(),pxe=I8.promisify(E8.stat);aP.default=async(r,e)=>{if(e&&\"content-length\"in e)return Number(e[\"content-length\"]);if(!r)return 0;if(y8.default.string(r))return Buffer.byteLength(r);if(y8.default.buffer(r))return r.length;if(hxe.default(r))return I8.promisify(r.getLength.bind(r))();if(r instanceof E8.ReadStream){let{size:t}=await pxe(r.path);return t===0?void 0:t}}});var lP=w(AP=>{\"use strict\";Object.defineProperty(AP,\"__esModule\",{value:!0});function dxe(r,e,t){let i={};for(let n of t)i[n]=(...s)=>{e.emit(n,...s)},r.on(n,i[n]);return()=>{for(let n of t)r.off(n,i[n])}}AP.default=dxe});var B8=w(cP=>{\"use strict\";Object.defineProperty(cP,\"__esModule\",{value:!0});cP.default=()=>{let r=[];return{once(e,t,i){e.once(t,i),r.push({origin:e,event:t,fn:i})},unhandleAll(){for(let e of r){let{origin:t,event:i,fn:n}=e;t.removeListener(i,n)}r.length=0}}}});var Q8=w(Fd=>{\"use strict\";Object.defineProperty(Fd,\"__esModule\",{value:!0});Fd.TimeoutError=void 0;var Cxe=require(\"net\"),mxe=B8(),b8=Symbol(\"reentry\"),Exe=()=>{},uP=class extends Error{constructor(e,t){super(`Timeout awaiting '${t}' for ${e}ms`);this.event=t,this.name=\"TimeoutError\",this.code=\"ETIMEDOUT\"}};Fd.TimeoutError=uP;Fd.default=(r,e,t)=>{if(b8 in r)return Exe;r[b8]=!0;let i=[],{once:n,unhandleAll:s}=mxe.default(),o=(g,f,h)=>{var p;let m=setTimeout(f,g,g,h);(p=m.unref)===null||p===void 0||p.call(m);let y=()=>{clearTimeout(m)};return i.push(y),y},{host:a,hostname:l}=t,c=(g,f)=>{r.destroy(new uP(g,f))},u=()=>{for(let g of i)g();s()};if(r.once(\"error\",g=>{if(u(),r.listenerCount(\"error\")===0)throw g}),r.once(\"close\",u),n(r,\"response\",g=>{n(g,\"end\",u)}),typeof e.request!=\"undefined\"&&o(e.request,c,\"request\"),typeof e.socket!=\"undefined\"){let g=()=>{c(e.socket,\"socket\")};r.setTimeout(e.socket,g),i.push(()=>{r.removeListener(\"timeout\",g)})}return n(r,\"socket\",g=>{var f;let{socketPath:h}=r;if(g.connecting){let p=Boolean(h!=null?h:Cxe.isIP((f=l!=null?l:a)!==null&&f!==void 0?f:\"\")!==0);if(typeof e.lookup!=\"undefined\"&&!p&&typeof g.address().address==\"undefined\"){let m=o(e.lookup,c,\"lookup\");n(g,\"lookup\",m)}if(typeof e.connect!=\"undefined\"){let m=()=>o(e.connect,c,\"connect\");p?n(g,\"connect\",m()):n(g,\"lookup\",y=>{y===null&&n(g,\"connect\",m())})}typeof e.secureConnect!=\"undefined\"&&t.protocol===\"https:\"&&n(g,\"connect\",()=>{let m=o(e.secureConnect,c,\"secureConnect\");n(g,\"secureConnect\",m)})}if(typeof e.send!=\"undefined\"){let p=()=>o(e.send,c,\"send\");g.connecting?n(g,\"connect\",()=>{n(r,\"upload-complete\",p())}):n(r,\"upload-complete\",p())}}),typeof e.response!=\"undefined\"&&n(r,\"upload-complete\",()=>{let g=o(e.response,c,\"response\");n(r,\"response\",g)}),u}});var v8=w(gP=>{\"use strict\";Object.defineProperty(gP,\"__esModule\",{value:!0});var S8=nA();gP.default=r=>{r=r;let e={protocol:r.protocol,hostname:S8.default.string(r.hostname)&&r.hostname.startsWith(\"[\")?r.hostname.slice(1,-1):r.hostname,host:r.host,hash:r.hash,search:r.search,pathname:r.pathname,href:r.href,path:`${r.pathname||\"\"}${r.search||\"\"}`};return S8.default.string(r.port)&&r.port.length>0&&(e.port=Number(r.port)),(r.username||r.password)&&(e.auth=`${r.username||\"\"}:${r.password||\"\"}`),e}});var k8=w(fP=>{\"use strict\";Object.defineProperty(fP,\"__esModule\",{value:!0});var Ixe=require(\"url\"),yxe=[\"protocol\",\"host\",\"hostname\",\"port\",\"pathname\",\"search\"];fP.default=(r,e)=>{var t,i;if(e.path){if(e.pathname)throw new TypeError(\"Parameters `path` and `pathname` are mutually exclusive.\");if(e.search)throw new TypeError(\"Parameters `path` and `search` are mutually exclusive.\");if(e.searchParams)throw new TypeError(\"Parameters `path` and `searchParams` are mutually exclusive.\")}if(e.search&&e.searchParams)throw new TypeError(\"Parameters `search` and `searchParams` are mutually exclusive.\");if(!r){if(!e.protocol)throw new TypeError(\"No URL protocol specified\");r=`${e.protocol}//${(i=(t=e.hostname)!==null&&t!==void 0?t:e.host)!==null&&i!==void 0?i:\"\"}`}let n=new Ixe.URL(r);if(e.path){let s=e.path.indexOf(\"?\");s===-1?e.pathname=e.path:(e.pathname=e.path.slice(0,s),e.search=e.path.slice(s+1)),delete e.path}for(let s of yxe)e[s]&&(n[s]=e[s].toString());return n}});var P8=w(hP=>{\"use strict\";Object.defineProperty(hP,\"__esModule\",{value:!0});var x8=class{constructor(){this.weakMap=new WeakMap,this.map=new Map}set(e,t){typeof e==\"object\"?this.weakMap.set(e,t):this.map.set(e,t)}get(e){return typeof e==\"object\"?this.weakMap.get(e):this.map.get(e)}has(e){return typeof e==\"object\"?this.weakMap.has(e):this.map.has(e)}};hP.default=x8});var dP=w(pP=>{\"use strict\";Object.defineProperty(pP,\"__esModule\",{value:!0});var wxe=async r=>{let e=[],t=0;for await(let i of r)e.push(i),t+=Buffer.byteLength(i);return Buffer.isBuffer(e[0])?Buffer.concat(e,t):Buffer.from(e.join(\"\"))};pP.default=wxe});var R8=w(Xc=>{\"use strict\";Object.defineProperty(Xc,\"__esModule\",{value:!0});Xc.dnsLookupIpVersionToFamily=Xc.isDnsLookupIpVersion=void 0;var D8={auto:0,ipv4:4,ipv6:6};Xc.isDnsLookupIpVersion=r=>r in D8;Xc.dnsLookupIpVersionToFamily=r=>{if(Xc.isDnsLookupIpVersion(r))return D8[r];throw new Error(\"Invalid DNS lookup IP version\")}});var CP=w(Rw=>{\"use strict\";Object.defineProperty(Rw,\"__esModule\",{value:!0});Rw.isResponseOk=void 0;Rw.isResponseOk=r=>{let{statusCode:e}=r,t=r.request.options.followRedirect?299:399;return e>=200&&e<=t||e===304}});var N8=w(mP=>{\"use strict\";Object.defineProperty(mP,\"__esModule\",{value:!0});var F8=new Set;mP.default=r=>{F8.has(r)||(F8.add(r),process.emitWarning(`Got: ${r}`,{type:\"DeprecationWarning\"}))}});var L8=w(EP=>{\"use strict\";Object.defineProperty(EP,\"__esModule\",{value:!0});var Ir=nA(),Bxe=(r,e)=>{if(Ir.default.null_(r.encoding))throw new TypeError(\"To get a Buffer, set `options.responseType` to `buffer` instead\");Ir.assert.any([Ir.default.string,Ir.default.undefined],r.encoding),Ir.assert.any([Ir.default.boolean,Ir.default.undefined],r.resolveBodyOnly),Ir.assert.any([Ir.default.boolean,Ir.default.undefined],r.methodRewriting),Ir.assert.any([Ir.default.boolean,Ir.default.undefined],r.isStream),Ir.assert.any([Ir.default.string,Ir.default.undefined],r.responseType),r.responseType===void 0&&(r.responseType=\"text\");let{retry:t}=r;if(e?r.retry=N({},e.retry):r.retry={calculateDelay:i=>i.computedValue,limit:0,methods:[],statusCodes:[],errorCodes:[],maxRetryAfter:void 0},Ir.default.object(t)?(r.retry=N(N({},r.retry),t),r.retry.methods=[...new Set(r.retry.methods.map(i=>i.toUpperCase()))],r.retry.statusCodes=[...new Set(r.retry.statusCodes)],r.retry.errorCodes=[...new Set(r.retry.errorCodes)]):Ir.default.number(t)&&(r.retry.limit=t),Ir.default.undefined(r.retry.maxRetryAfter)&&(r.retry.maxRetryAfter=Math.min(...[r.timeout.request,r.timeout.connect].filter(Ir.default.number))),Ir.default.object(r.pagination)){e&&(r.pagination=N(N({},e.pagination),r.pagination));let{pagination:i}=r;if(!Ir.default.function_(i.transform))throw new Error(\"`options.pagination.transform` must be implemented\");if(!Ir.default.function_(i.shouldContinue))throw new Error(\"`options.pagination.shouldContinue` must be implemented\");if(!Ir.default.function_(i.filter))throw new TypeError(\"`options.pagination.filter` must be implemented\");if(!Ir.default.function_(i.paginate))throw new Error(\"`options.pagination.paginate` must be implemented\")}return r.responseType===\"json\"&&r.headers.accept===void 0&&(r.headers.accept=\"application/json\"),r};EP.default=Bxe});var T8=w(Nd=>{\"use strict\";Object.defineProperty(Nd,\"__esModule\",{value:!0});Nd.retryAfterStatusCodes=void 0;Nd.retryAfterStatusCodes=new Set([413,429,503]);var bxe=({attemptCount:r,retryOptions:e,error:t,retryAfter:i})=>{if(r>e.limit)return 0;let n=e.methods.includes(t.options.method),s=e.errorCodes.includes(t.code),o=t.response&&e.statusCodes.includes(t.response.statusCode);if(!n||!s&&!o)return 0;if(t.response){if(i)return e.maxRetryAfter===void 0||i>e.maxRetryAfter?0:i;if(t.response.statusCode===413)return 0}let a=Math.random()*100;return 2**(r-1)*1e3+a};Nd.default=bxe});var Td=w(qt=>{\"use strict\";Object.defineProperty(qt,\"__esModule\",{value:!0});qt.UnsupportedProtocolError=qt.ReadError=qt.TimeoutError=qt.UploadError=qt.CacheError=qt.HTTPError=qt.MaxRedirectsError=qt.RequestError=qt.setNonEnumerableProperties=qt.knownHookEvents=qt.withoutBody=qt.kIsNormalizedAlready=void 0;var O8=require(\"util\"),M8=require(\"stream\"),Qxe=require(\"fs\"),fl=require(\"url\"),U8=require(\"http\"),IP=require(\"http\"),Sxe=require(\"https\"),vxe=z4(),kxe=tz(),K8=Lz(),xxe=Uz(),Pxe=C8(),Dxe=kw(),Ee=nA(),Rxe=w8(),H8=oP(),Fxe=lP(),j8=Q8(),Nxe=v8(),G8=k8(),Lxe=P8(),Txe=dP(),Y8=R8(),Oxe=CP(),hl=N8(),Mxe=L8(),Uxe=T8(),yP,Fi=Symbol(\"request\"),Fw=Symbol(\"response\"),nf=Symbol(\"responseSize\"),sf=Symbol(\"downloadedSize\"),of=Symbol(\"bodySize\"),af=Symbol(\"uploadedSize\"),Nw=Symbol(\"serverResponsesPiped\"),q8=Symbol(\"unproxyEvents\"),J8=Symbol(\"isFromCache\"),wP=Symbol(\"cancelTimeouts\"),W8=Symbol(\"startedReading\"),Af=Symbol(\"stopReading\"),Lw=Symbol(\"triggerRead\"),pl=Symbol(\"body\"),Ld=Symbol(\"jobs\"),z8=Symbol(\"originalResponse\"),_8=Symbol(\"retryTimeout\");qt.kIsNormalizedAlready=Symbol(\"isNormalizedAlready\");var Kxe=Ee.default.string(process.versions.brotli);qt.withoutBody=new Set([\"GET\",\"HEAD\"]);qt.knownHookEvents=[\"init\",\"beforeRequest\",\"beforeRedirect\",\"beforeError\",\"beforeRetry\",\"afterResponse\"];function Hxe(r){for(let e in r){let t=r[e];if(!Ee.default.string(t)&&!Ee.default.number(t)&&!Ee.default.boolean(t)&&!Ee.default.null_(t)&&!Ee.default.undefined(t))throw new TypeError(`The \\`searchParams\\` value '${String(t)}' must be a string, number, boolean or null`)}}function jxe(r){return Ee.default.object(r)&&!(\"statusCode\"in r)}var BP=new Lxe.default,Gxe=async r=>new Promise((e,t)=>{let i=n=>{t(n)};r.pending||e(),r.once(\"error\",i),r.once(\"ready\",()=>{r.off(\"error\",i),e()})}),Yxe=new Set([300,301,302,303,304,307,308]),qxe=[\"context\",\"body\",\"json\",\"form\"];qt.setNonEnumerableProperties=(r,e)=>{let t={};for(let i of r)if(!!i)for(let n of qxe)n in i&&(t[n]={writable:!0,configurable:!0,enumerable:!1,value:i[n]});Object.defineProperties(e,t)};var hi=class extends Error{constructor(e,t,i){var n;super(e);if(Error.captureStackTrace(this,this.constructor),this.name=\"RequestError\",this.code=t.code,i instanceof bP?(Object.defineProperty(this,\"request\",{enumerable:!1,value:i}),Object.defineProperty(this,\"response\",{enumerable:!1,value:i[Fw]}),Object.defineProperty(this,\"options\",{enumerable:!1,value:i.options})):Object.defineProperty(this,\"options\",{enumerable:!1,value:i}),this.timings=(n=this.request)===null||n===void 0?void 0:n.timings,Ee.default.string(t.stack)&&Ee.default.string(this.stack)){let s=this.stack.indexOf(this.message)+this.message.length,o=this.stack.slice(s).split(`\n`).reverse(),a=t.stack.slice(t.stack.indexOf(t.message)+t.message.length).split(`\n`).reverse();for(;a.length!==0&&a[0]===o[0];)o.shift();this.stack=`${this.stack.slice(0,s)}${o.reverse().join(`\n`)}${a.reverse().join(`\n`)}`}}};qt.RequestError=hi;var QP=class extends hi{constructor(e){super(`Redirected ${e.options.maxRedirects} times. Aborting.`,{},e);this.name=\"MaxRedirectsError\"}};qt.MaxRedirectsError=QP;var SP=class extends hi{constructor(e){super(`Response code ${e.statusCode} (${e.statusMessage})`,{},e.request);this.name=\"HTTPError\"}};qt.HTTPError=SP;var vP=class extends hi{constructor(e,t){super(e.message,e,t);this.name=\"CacheError\"}};qt.CacheError=vP;var kP=class extends hi{constructor(e,t){super(e.message,e,t);this.name=\"UploadError\"}};qt.UploadError=kP;var xP=class extends hi{constructor(e,t,i){super(e.message,e,i);this.name=\"TimeoutError\",this.event=e.event,this.timings=t}};qt.TimeoutError=xP;var Tw=class extends hi{constructor(e,t){super(e.message,e,t);this.name=\"ReadError\"}};qt.ReadError=Tw;var PP=class extends hi{constructor(e){super(`Unsupported protocol \"${e.url.protocol}\"`,{},e);this.name=\"UnsupportedProtocolError\"}};qt.UnsupportedProtocolError=PP;var Jxe=[\"socket\",\"connect\",\"continue\",\"information\",\"upgrade\",\"timeout\"],bP=class extends M8.Duplex{constructor(e,t={},i){super({autoDestroy:!1,highWaterMark:0});this[sf]=0,this[af]=0,this.requestInitialized=!1,this[Nw]=new Set,this.redirects=[],this[Af]=!1,this[Lw]=!1,this[Ld]=[],this.retryCount=0,this._progressCallbacks=[];let n=()=>this._unlockWrite(),s=()=>this._lockWrite();this.on(\"pipe\",c=>{c.prependListener(\"data\",n),c.on(\"data\",s),c.prependListener(\"end\",n),c.on(\"end\",s)}),this.on(\"unpipe\",c=>{c.off(\"data\",n),c.off(\"data\",s),c.off(\"end\",n),c.off(\"end\",s)}),this.on(\"pipe\",c=>{c instanceof IP.IncomingMessage&&(this.options.headers=N(N({},c.headers),this.options.headers))});let{json:o,body:a,form:l}=t;if((o||a||l)&&this._lockWrite(),qt.kIsNormalizedAlready in t)this.options=t;else try{this.options=this.constructor.normalizeArguments(e,t,i)}catch(c){Ee.default.nodeStream(t.body)&&t.body.destroy(),this.destroy(c);return}(async()=>{var c;try{this.options.body instanceof Qxe.ReadStream&&await Gxe(this.options.body);let{url:u}=this.options;if(!u)throw new TypeError(\"Missing `url` property\");if(this.requestUrl=u.toString(),decodeURI(this.requestUrl),await this._finalizeBody(),await this._makeRequest(),this.destroyed){(c=this[Fi])===null||c===void 0||c.destroy();return}for(let g of this[Ld])g();this[Ld].length=0,this.requestInitialized=!0}catch(u){if(u instanceof hi){this._beforeError(u);return}this.destroyed||this.destroy(u)}})()}static normalizeArguments(e,t,i){var n,s,o,a,l;let c=t;if(Ee.default.object(e)&&!Ee.default.urlInstance(e))t=N(N(N({},i),e),t);else{if(e&&t&&t.url!==void 0)throw new TypeError(\"The `url` option is mutually exclusive with the `input` argument\");t=N(N({},i),t),e!==void 0&&(t.url=e),Ee.default.urlInstance(t.url)&&(t.url=new fl.URL(t.url.toString()))}if(t.cache===!1&&(t.cache=void 0),t.dnsCache===!1&&(t.dnsCache=void 0),Ee.assert.any([Ee.default.string,Ee.default.undefined],t.method),Ee.assert.any([Ee.default.object,Ee.default.undefined],t.headers),Ee.assert.any([Ee.default.string,Ee.default.urlInstance,Ee.default.undefined],t.prefixUrl),Ee.assert.any([Ee.default.object,Ee.default.undefined],t.cookieJar),Ee.assert.any([Ee.default.object,Ee.default.string,Ee.default.undefined],t.searchParams),Ee.assert.any([Ee.default.object,Ee.default.string,Ee.default.undefined],t.cache),Ee.assert.any([Ee.default.object,Ee.default.number,Ee.default.undefined],t.timeout),Ee.assert.any([Ee.default.object,Ee.default.undefined],t.context),Ee.assert.any([Ee.default.object,Ee.default.undefined],t.hooks),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.decompress),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.ignoreInvalidCookies),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.followRedirect),Ee.assert.any([Ee.default.number,Ee.default.undefined],t.maxRedirects),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.throwHttpErrors),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.http2),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.allowGetBody),Ee.assert.any([Ee.default.string,Ee.default.undefined],t.localAddress),Ee.assert.any([Y8.isDnsLookupIpVersion,Ee.default.undefined],t.dnsLookupIpVersion),Ee.assert.any([Ee.default.object,Ee.default.undefined],t.https),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.rejectUnauthorized),t.https&&(Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.https.rejectUnauthorized),Ee.assert.any([Ee.default.function_,Ee.default.undefined],t.https.checkServerIdentity),Ee.assert.any([Ee.default.string,Ee.default.object,Ee.default.array,Ee.default.undefined],t.https.certificateAuthority),Ee.assert.any([Ee.default.string,Ee.default.object,Ee.default.array,Ee.default.undefined],t.https.key),Ee.assert.any([Ee.default.string,Ee.default.object,Ee.default.array,Ee.default.undefined],t.https.certificate),Ee.assert.any([Ee.default.string,Ee.default.undefined],t.https.passphrase),Ee.assert.any([Ee.default.string,Ee.default.buffer,Ee.default.array,Ee.default.undefined],t.https.pfx)),Ee.assert.any([Ee.default.object,Ee.default.undefined],t.cacheOptions),Ee.default.string(t.method)?t.method=t.method.toUpperCase():t.method=\"GET\",t.headers===(i==null?void 0:i.headers)?t.headers=N({},t.headers):t.headers=Dxe(N(N({},i==null?void 0:i.headers),t.headers)),\"slashes\"in t)throw new TypeError(\"The legacy `url.Url` has been deprecated. Use `URL` instead.\");if(\"auth\"in t)throw new TypeError(\"Parameter `auth` is deprecated. Use `username` / `password` instead.\");if(\"searchParams\"in t&&t.searchParams&&t.searchParams!==(i==null?void 0:i.searchParams)){let h;if(Ee.default.string(t.searchParams)||t.searchParams instanceof fl.URLSearchParams)h=new fl.URLSearchParams(t.searchParams);else{Hxe(t.searchParams),h=new fl.URLSearchParams;for(let p in t.searchParams){let m=t.searchParams[p];m===null?h.append(p,\"\"):m!==void 0&&h.append(p,m)}}(n=i==null?void 0:i.searchParams)===null||n===void 0||n.forEach((p,m)=>{h.has(m)||h.append(m,p)}),t.searchParams=h}if(t.username=(s=t.username)!==null&&s!==void 0?s:\"\",t.password=(o=t.password)!==null&&o!==void 0?o:\"\",Ee.default.undefined(t.prefixUrl)?t.prefixUrl=(a=i==null?void 0:i.prefixUrl)!==null&&a!==void 0?a:\"\":(t.prefixUrl=t.prefixUrl.toString(),t.prefixUrl!==\"\"&&!t.prefixUrl.endsWith(\"/\")&&(t.prefixUrl+=\"/\")),Ee.default.string(t.url)){if(t.url.startsWith(\"/\"))throw new Error(\"`input` must not start with a slash when using `prefixUrl`\");t.url=G8.default(t.prefixUrl+t.url,t)}else(Ee.default.undefined(t.url)&&t.prefixUrl!==\"\"||t.protocol)&&(t.url=G8.default(t.prefixUrl,t));if(t.url){\"port\"in t&&delete t.port;let{prefixUrl:h}=t;Object.defineProperty(t,\"prefixUrl\",{set:m=>{let y=t.url;if(!y.href.startsWith(m))throw new Error(`Cannot change \\`prefixUrl\\` from ${h} to ${m}: ${y.href}`);t.url=new fl.URL(m+y.href.slice(h.length)),h=m},get:()=>h});let{protocol:p}=t.url;if(p===\"unix:\"&&(p=\"http:\",t.url=new fl.URL(`http://unix${t.url.pathname}${t.url.search}`)),t.searchParams&&(t.url.search=t.searchParams.toString()),p!==\"http:\"&&p!==\"https:\")throw new PP(t);t.username===\"\"?t.username=t.url.username:t.url.username=t.username,t.password===\"\"?t.password=t.url.password:t.url.password=t.password}let{cookieJar:u}=t;if(u){let{setCookie:h,getCookieString:p}=u;Ee.assert.function_(h),Ee.assert.function_(p),h.length===4&&p.length===0&&(h=O8.promisify(h.bind(t.cookieJar)),p=O8.promisify(p.bind(t.cookieJar)),t.cookieJar={setCookie:h,getCookieString:p})}let{cache:g}=t;if(g&&(BP.has(g)||BP.set(g,new K8((h,p)=>{let m=h[Fi](h,p);return Ee.default.promise(m)&&(m.once=(y,b)=>{if(y===\"error\")m.catch(b);else if(y===\"abort\")(async()=>{try{(await m).once(\"abort\",b)}catch(v){}})();else throw new Error(`Unknown HTTP2 promise event: ${y}`);return m}),m},g))),t.cacheOptions=N({},t.cacheOptions),t.dnsCache===!0)yP||(yP=new kxe.default),t.dnsCache=yP;else if(!Ee.default.undefined(t.dnsCache)&&!t.dnsCache.lookup)throw new TypeError(`Parameter \\`dnsCache\\` must be a CacheableLookup instance or a boolean, got ${Ee.default(t.dnsCache)}`);Ee.default.number(t.timeout)?t.timeout={request:t.timeout}:i&&t.timeout!==i.timeout?t.timeout=N(N({},i.timeout),t.timeout):t.timeout=N({},t.timeout),t.context||(t.context={});let f=t.hooks===(i==null?void 0:i.hooks);t.hooks=N({},t.hooks);for(let h of qt.knownHookEvents)if(h in t.hooks)if(Ee.default.array(t.hooks[h]))t.hooks[h]=[...t.hooks[h]];else throw new TypeError(`Parameter \\`${h}\\` must be an Array, got ${Ee.default(t.hooks[h])}`);else t.hooks[h]=[];if(i&&!f)for(let h of qt.knownHookEvents)i.hooks[h].length>0&&(t.hooks[h]=[...i.hooks[h],...t.hooks[h]]);if(\"family\"in t&&hl.default('\"options.family\" was never documented, please use \"options.dnsLookupIpVersion\"'),(i==null?void 0:i.https)&&(t.https=N(N({},i.https),t.https)),\"rejectUnauthorized\"in t&&hl.default('\"options.rejectUnauthorized\" is now deprecated, please use \"options.https.rejectUnauthorized\"'),\"checkServerIdentity\"in t&&hl.default('\"options.checkServerIdentity\" was never documented, please use \"options.https.checkServerIdentity\"'),\"ca\"in t&&hl.default('\"options.ca\" was never documented, please use \"options.https.certificateAuthority\"'),\"key\"in t&&hl.default('\"options.key\" was never documented, please use \"options.https.key\"'),\"cert\"in t&&hl.default('\"options.cert\" was never documented, please use \"options.https.certificate\"'),\"passphrase\"in t&&hl.default('\"options.passphrase\" was never documented, please use \"options.https.passphrase\"'),\"pfx\"in t&&hl.default('\"options.pfx\" was never documented, please use \"options.https.pfx\"'),\"followRedirects\"in t)throw new TypeError(\"The `followRedirects` option does not exist. Use `followRedirect` instead.\");if(t.agent){for(let h in t.agent)if(h!==\"http\"&&h!==\"https\"&&h!==\"http2\")throw new TypeError(`Expected the \\`options.agent\\` properties to be \\`http\\`, \\`https\\` or \\`http2\\`, got \\`${h}\\``)}return t.maxRedirects=(l=t.maxRedirects)!==null&&l!==void 0?l:0,qt.setNonEnumerableProperties([i,c],t),Mxe.default(t,i)}_lockWrite(){let e=()=>{throw new TypeError(\"The payload has been already provided\")};this.write=e,this.end=e}_unlockWrite(){this.write=super.write,this.end=super.end}async _finalizeBody(){let{options:e}=this,{headers:t}=e,i=!Ee.default.undefined(e.form),n=!Ee.default.undefined(e.json),s=!Ee.default.undefined(e.body),o=i||n||s,a=qt.withoutBody.has(e.method)&&!(e.method===\"GET\"&&e.allowGetBody);if(this._cannotHaveBody=a,o){if(a)throw new TypeError(`The \\`${e.method}\\` method cannot be used with a body`);if([s,i,n].filter(l=>l).length>1)throw new TypeError(\"The `body`, `json` and `form` options are mutually exclusive\");if(s&&!(e.body instanceof M8.Readable)&&!Ee.default.string(e.body)&&!Ee.default.buffer(e.body)&&!H8.default(e.body))throw new TypeError(\"The `body` option must be a stream.Readable, string or Buffer\");if(i&&!Ee.default.object(e.form))throw new TypeError(\"The `form` option must be an Object\");{let l=!Ee.default.string(t[\"content-type\"]);s?(H8.default(e.body)&&l&&(t[\"content-type\"]=`multipart/form-data; boundary=${e.body.getBoundary()}`),this[pl]=e.body):i?(l&&(t[\"content-type\"]=\"application/x-www-form-urlencoded\"),this[pl]=new fl.URLSearchParams(e.form).toString()):(l&&(t[\"content-type\"]=\"application/json\"),this[pl]=e.stringifyJson(e.json));let c=await Rxe.default(this[pl],e.headers);Ee.default.undefined(t[\"content-length\"])&&Ee.default.undefined(t[\"transfer-encoding\"])&&!a&&!Ee.default.undefined(c)&&(t[\"content-length\"]=String(c))}}else a?this._lockWrite():this._unlockWrite();this[of]=Number(t[\"content-length\"])||void 0}async _onResponseBase(e){let{options:t}=this,{url:i}=t;this[z8]=e,t.decompress&&(e=xxe(e));let n=e.statusCode,s=e;s.statusMessage=s.statusMessage?s.statusMessage:U8.STATUS_CODES[n],s.url=t.url.toString(),s.requestUrl=this.requestUrl,s.redirectUrls=this.redirects,s.request=this,s.isFromCache=e.fromCache||!1,s.ip=this.ip,s.retryCount=this.retryCount,this[J8]=s.isFromCache,this[nf]=Number(e.headers[\"content-length\"])||void 0,this[Fw]=e,e.once(\"end\",()=>{this[nf]=this[sf],this.emit(\"downloadProgress\",this.downloadProgress)}),e.once(\"error\",a=>{e.destroy(),this._beforeError(new Tw(a,this))}),e.once(\"aborted\",()=>{this._beforeError(new Tw({name:\"Error\",message:\"The server aborted pending request\",code:\"ECONNRESET\"},this))}),this.emit(\"downloadProgress\",this.downloadProgress);let o=e.headers[\"set-cookie\"];if(Ee.default.object(t.cookieJar)&&o){let a=o.map(async l=>t.cookieJar.setCookie(l,i.toString()));t.ignoreInvalidCookies&&(a=a.map(async l=>l.catch(()=>{})));try{await Promise.all(a)}catch(l){this._beforeError(l);return}}if(t.followRedirect&&e.headers.location&&Yxe.has(n)){if(e.resume(),this[Fi]&&(this[wP](),delete this[Fi],this[q8]()),(n===303&&t.method!==\"GET\"&&t.method!==\"HEAD\"||!t.methodRewriting)&&(t.method=\"GET\",\"body\"in t&&delete t.body,\"json\"in t&&delete t.json,\"form\"in t&&delete t.form,this[pl]=void 0,delete t.headers[\"content-length\"]),this.redirects.length>=t.maxRedirects){this._beforeError(new QP(this));return}try{let l=Buffer.from(e.headers.location,\"binary\").toString(),c=new fl.URL(l,i),u=c.toString();decodeURI(u),c.hostname!==i.hostname||c.port!==i.port?(\"host\"in t.headers&&delete t.headers.host,\"cookie\"in t.headers&&delete t.headers.cookie,\"authorization\"in t.headers&&delete t.headers.authorization,(t.username||t.password)&&(t.username=\"\",t.password=\"\")):(c.username=t.username,c.password=t.password),this.redirects.push(u),t.url=c;for(let g of t.hooks.beforeRedirect)await g(t,s);this.emit(\"redirect\",s,t),await this._makeRequest()}catch(l){this._beforeError(l);return}return}if(t.isStream&&t.throwHttpErrors&&!Oxe.isResponseOk(s)){this._beforeError(new SP(s));return}e.on(\"readable\",()=>{this[Lw]&&this._read()}),this.on(\"resume\",()=>{e.resume()}),this.on(\"pause\",()=>{e.pause()}),e.once(\"end\",()=>{this.push(null)}),this.emit(\"response\",e);for(let a of this[Nw])if(!a.headersSent){for(let l in e.headers){let c=t.decompress?l!==\"content-encoding\":!0,u=e.headers[l];c&&a.setHeader(l,u)}a.statusCode=n}}async _onResponse(e){try{await this._onResponseBase(e)}catch(t){this._beforeError(t)}}_onRequest(e){let{options:t}=this,{timeout:i,url:n}=t;vxe.default(e),this[wP]=j8.default(e,i,n);let s=t.cache?\"cacheableResponse\":\"response\";e.once(s,l=>{this._onResponse(l)}),e.once(\"error\",l=>{var c;e.destroy(),(c=e.res)===null||c===void 0||c.removeAllListeners(\"end\"),l=l instanceof j8.TimeoutError?new xP(l,this.timings,this):new hi(l.message,l,this),this._beforeError(l)}),this[q8]=Fxe.default(e,this,Jxe),this[Fi]=e,this.emit(\"uploadProgress\",this.uploadProgress);let o=this[pl],a=this.redirects.length===0?this:e;Ee.default.nodeStream(o)?(o.pipe(a),o.once(\"error\",l=>{this._beforeError(new kP(l,this))})):(this._unlockWrite(),Ee.default.undefined(o)?(this._cannotHaveBody||this._noPipe)&&(a.end(),this._lockWrite()):(this._writeRequest(o,void 0,()=>{}),a.end(),this._lockWrite())),this.emit(\"request\",e)}async _createCacheableRequest(e,t){return new Promise((i,n)=>{Object.assign(t,Nxe.default(e)),delete t.url;let s,o=BP.get(t.cache)(t,async a=>{a._readableState.autoDestroy=!1,s&&(await s).emit(\"cacheableResponse\",a),i(a)});t.url=e,o.once(\"error\",n),o.once(\"request\",async a=>{s=a,i(s)})})}async _makeRequest(){var e,t,i,n,s;let{options:o}=this,{headers:a}=o;for(let b in a)if(Ee.default.undefined(a[b]))delete a[b];else if(Ee.default.null_(a[b]))throw new TypeError(`Use \\`undefined\\` instead of \\`null\\` to delete the \\`${b}\\` header`);if(o.decompress&&Ee.default.undefined(a[\"accept-encoding\"])&&(a[\"accept-encoding\"]=Kxe?\"gzip, deflate, br\":\"gzip, deflate\"),o.cookieJar){let b=await o.cookieJar.getCookieString(o.url.toString());Ee.default.nonEmptyString(b)&&(o.headers.cookie=b)}for(let b of o.hooks.beforeRequest){let v=await b(o);if(!Ee.default.undefined(v)){o.request=()=>v;break}}o.body&&this[pl]!==o.body&&(this[pl]=o.body);let{agent:l,request:c,timeout:u,url:g}=o;if(o.dnsCache&&!(\"lookup\"in o)&&(o.lookup=o.dnsCache.lookup),g.hostname===\"unix\"){let b=/(?<socketPath>.+?):(?<path>.+)/.exec(`${g.pathname}${g.search}`);if(b==null?void 0:b.groups){let{socketPath:v,path:k}=b.groups;Object.assign(o,{socketPath:v,path:k,host:\"\"})}}let f=g.protocol===\"https:\",h;o.http2?h=Pxe.auto:h=f?Sxe.request:U8.request;let p=(e=o.request)!==null&&e!==void 0?e:h,m=o.cache?this._createCacheableRequest:p;l&&!o.http2&&(o.agent=l[f?\"https\":\"http\"]),o[Fi]=p,delete o.request,delete o.timeout;let y=o;if(y.shared=(t=o.cacheOptions)===null||t===void 0?void 0:t.shared,y.cacheHeuristic=(i=o.cacheOptions)===null||i===void 0?void 0:i.cacheHeuristic,y.immutableMinTimeToLive=(n=o.cacheOptions)===null||n===void 0?void 0:n.immutableMinTimeToLive,y.ignoreCargoCult=(s=o.cacheOptions)===null||s===void 0?void 0:s.ignoreCargoCult,o.dnsLookupIpVersion!==void 0)try{y.family=Y8.dnsLookupIpVersionToFamily(o.dnsLookupIpVersion)}catch(b){throw new Error(\"Invalid `dnsLookupIpVersion` option value\")}o.https&&(\"rejectUnauthorized\"in o.https&&(y.rejectUnauthorized=o.https.rejectUnauthorized),o.https.checkServerIdentity&&(y.checkServerIdentity=o.https.checkServerIdentity),o.https.certificateAuthority&&(y.ca=o.https.certificateAuthority),o.https.certificate&&(y.cert=o.https.certificate),o.https.key&&(y.key=o.https.key),o.https.passphrase&&(y.passphrase=o.https.passphrase),o.https.pfx&&(y.pfx=o.https.pfx));try{let b=await m(g,y);Ee.default.undefined(b)&&(b=h(g,y)),o.request=c,o.timeout=u,o.agent=l,o.https&&(\"rejectUnauthorized\"in o.https&&delete y.rejectUnauthorized,o.https.checkServerIdentity&&delete y.checkServerIdentity,o.https.certificateAuthority&&delete y.ca,o.https.certificate&&delete y.cert,o.https.key&&delete y.key,o.https.passphrase&&delete y.passphrase,o.https.pfx&&delete y.pfx),jxe(b)?this._onRequest(b):this.writable?(this.once(\"finish\",()=>{this._onResponse(b)}),this._unlockWrite(),this.end(),this._lockWrite()):this._onResponse(b)}catch(b){throw b instanceof K8.CacheError?new vP(b,this):new hi(b.message,b,this)}}async _error(e){try{for(let t of this.options.hooks.beforeError)e=await t(e)}catch(t){e=new hi(t.message,t,this)}this.destroy(e)}_beforeError(e){if(this[Af])return;let{options:t}=this,i=this.retryCount+1;this[Af]=!0,e instanceof hi||(e=new hi(e.message,e,this));let n=e,{response:s}=n;(async()=>{if(s&&!s.body){s.setEncoding(this._readableState.encoding);try{s.rawBody=await Txe.default(s),s.body=s.rawBody.toString()}catch(o){}}if(this.listenerCount(\"retry\")!==0){let o;try{let a;s&&\"retry-after\"in s.headers&&(a=Number(s.headers[\"retry-after\"]),Number.isNaN(a)?(a=Date.parse(s.headers[\"retry-after\"])-Date.now(),a<=0&&(a=1)):a*=1e3),o=await t.retry.calculateDelay({attemptCount:i,retryOptions:t.retry,error:n,retryAfter:a,computedValue:Uxe.default({attemptCount:i,retryOptions:t.retry,error:n,retryAfter:a,computedValue:0})})}catch(a){this._error(new hi(a.message,a,this));return}if(o){let a=async()=>{try{for(let l of this.options.hooks.beforeRetry)await l(this.options,n,i)}catch(l){this._error(new hi(l.message,e,this));return}this.destroyed||(this.destroy(),this.emit(\"retry\",i,e))};this[_8]=setTimeout(a,o);return}}this._error(n)})()}_read(){this[Lw]=!0;let e=this[Fw];if(e&&!this[Af]){e.readableLength&&(this[Lw]=!1);let t;for(;(t=e.read())!==null;){this[sf]+=t.length,this[W8]=!0;let i=this.downloadProgress;i.percent<1&&this.emit(\"downloadProgress\",i),this.push(t)}}}_write(e,t,i){let n=()=>{this._writeRequest(e,t,i)};this.requestInitialized?n():this[Ld].push(n)}_writeRequest(e,t,i){this[Fi].destroyed||(this._progressCallbacks.push(()=>{this[af]+=Buffer.byteLength(e,t);let n=this.uploadProgress;n.percent<1&&this.emit(\"uploadProgress\",n)}),this[Fi].write(e,t,n=>{!n&&this._progressCallbacks.length>0&&this._progressCallbacks.shift()(),i(n)}))}_final(e){let t=()=>{for(;this._progressCallbacks.length!==0;)this._progressCallbacks.shift()();if(!(Fi in this)){e();return}if(this[Fi].destroyed){e();return}this[Fi].end(i=>{i||(this[of]=this[af],this.emit(\"uploadProgress\",this.uploadProgress),this[Fi].emit(\"upload-complete\")),e(i)})};this.requestInitialized?t():this[Ld].push(t)}_destroy(e,t){var i;this[Af]=!0,clearTimeout(this[_8]),Fi in this&&(this[wP](),((i=this[Fw])===null||i===void 0?void 0:i.complete)||this[Fi].destroy()),e!==null&&!Ee.default.undefined(e)&&!(e instanceof hi)&&(e=new hi(e.message,e,this)),t(e)}get _isAboutToError(){return this[Af]}get ip(){var e;return(e=this.socket)===null||e===void 0?void 0:e.remoteAddress}get aborted(){var e,t,i;return((t=(e=this[Fi])===null||e===void 0?void 0:e.destroyed)!==null&&t!==void 0?t:this.destroyed)&&!((i=this[z8])===null||i===void 0?void 0:i.complete)}get socket(){var e,t;return(t=(e=this[Fi])===null||e===void 0?void 0:e.socket)!==null&&t!==void 0?t:void 0}get downloadProgress(){let e;return this[nf]?e=this[sf]/this[nf]:this[nf]===this[sf]?e=1:e=0,{percent:e,transferred:this[sf],total:this[nf]}}get uploadProgress(){let e;return this[of]?e=this[af]/this[of]:this[of]===this[af]?e=1:e=0,{percent:e,transferred:this[af],total:this[of]}}get timings(){var e;return(e=this[Fi])===null||e===void 0?void 0:e.timings}get isFromCache(){return this[J8]}pipe(e,t){if(this[W8])throw new Error(\"Failed to pipe. The response has been emitted already.\");return e instanceof IP.ServerResponse&&this[Nw].add(e),super.pipe(e,t)}unpipe(e){return e instanceof IP.ServerResponse&&this[Nw].delete(e),super.unpipe(e),this}};qt.default=bP});var Od=w(Eo=>{\"use strict\";var Wxe=Eo&&Eo.__createBinding||(Object.create?function(r,e,t,i){i===void 0&&(i=t),Object.defineProperty(r,i,{enumerable:!0,get:function(){return e[t]}})}:function(r,e,t,i){i===void 0&&(i=t),r[i]=e[t]}),zxe=Eo&&Eo.__exportStar||function(r,e){for(var t in r)t!==\"default\"&&!Object.prototype.hasOwnProperty.call(e,t)&&Wxe(e,r,t)};Object.defineProperty(Eo,\"__esModule\",{value:!0});Eo.CancelError=Eo.ParseError=void 0;var V8=Td(),X8=class extends V8.RequestError{constructor(e,t){let{options:i}=t.request;super(`${e.message} in \"${i.url.toString()}\"`,e,t.request);this.name=\"ParseError\"}};Eo.ParseError=X8;var Z8=class extends V8.RequestError{constructor(e){super(\"Promise was canceled\",{},e);this.name=\"CancelError\"}get isCanceled(){return!0}};Eo.CancelError=Z8;zxe(Td(),Eo)});var e5=w(DP=>{\"use strict\";Object.defineProperty(DP,\"__esModule\",{value:!0});var $8=Od(),_xe=(r,e,t,i)=>{let{rawBody:n}=r;try{if(e===\"text\")return n.toString(i);if(e===\"json\")return n.length===0?\"\":t(n.toString());if(e===\"buffer\")return n;throw new $8.ParseError({message:`Unknown body type '${e}'`,name:\"Error\"},r)}catch(s){throw new $8.ParseError(s,r)}};DP.default=_xe});var RP=w(dl=>{\"use strict\";var Vxe=dl&&dl.__createBinding||(Object.create?function(r,e,t,i){i===void 0&&(i=t),Object.defineProperty(r,i,{enumerable:!0,get:function(){return e[t]}})}:function(r,e,t,i){i===void 0&&(i=t),r[i]=e[t]}),Xxe=dl&&dl.__exportStar||function(r,e){for(var t in r)t!==\"default\"&&!Object.prototype.hasOwnProperty.call(e,t)&&Vxe(e,r,t)};Object.defineProperty(dl,\"__esModule\",{value:!0});var Zxe=require(\"events\"),$xe=nA(),ePe=J4(),Ow=Od(),t5=e5(),r5=Td(),tPe=lP(),rPe=dP(),i5=CP(),iPe=[\"request\",\"response\",\"redirect\",\"uploadProgress\",\"downloadProgress\"];function n5(r){let e,t,i=new Zxe.EventEmitter,n=new ePe((o,a,l)=>{let c=u=>{let g=new r5.default(void 0,r);g.retryCount=u,g._noPipe=!0,l(()=>g.destroy()),l.shouldReject=!1,l(()=>a(new Ow.CancelError(g))),e=g,g.once(\"response\",async p=>{var m;if(p.retryCount=u,p.request.aborted)return;let y;try{y=await rPe.default(g),p.rawBody=y}catch(T){return}if(g._isAboutToError)return;let b=((m=p.headers[\"content-encoding\"])!==null&&m!==void 0?m:\"\").toLowerCase(),v=[\"gzip\",\"deflate\",\"br\"].includes(b),{options:k}=g;if(v&&!k.decompress)p.body=y;else try{p.body=t5.default(p,k.responseType,k.parseJson,k.encoding)}catch(T){if(p.body=y.toString(),i5.isResponseOk(p)){g._beforeError(T);return}}try{for(let[T,Y]of k.hooks.afterResponse.entries())p=await Y(p,async q=>{let $=r5.default.normalizeArguments(void 0,te(N({},q),{retry:{calculateDelay:()=>0},throwHttpErrors:!1,resolveBodyOnly:!1}),k);$.hooks.afterResponse=$.hooks.afterResponse.slice(0,T);for(let ne of $.hooks.beforeRetry)await ne($);let z=n5($);return l(()=>{z.catch(()=>{}),z.cancel()}),z})}catch(T){g._beforeError(new Ow.RequestError(T.message,T,g));return}if(!i5.isResponseOk(p)){g._beforeError(new Ow.HTTPError(p));return}t=p,o(g.options.resolveBodyOnly?p.body:p)});let f=p=>{if(n.isCanceled)return;let{options:m}=g;if(p instanceof Ow.HTTPError&&!m.throwHttpErrors){let{response:y}=p;o(g.options.resolveBodyOnly?y.body:y);return}a(p)};g.once(\"error\",f);let h=g.options.body;g.once(\"retry\",(p,m)=>{var y,b;if(h===((y=m.request)===null||y===void 0?void 0:y.options.body)&&$xe.default.nodeStream((b=m.request)===null||b===void 0?void 0:b.options.body)){f(m);return}c(p)}),tPe.default(g,i,iPe)};c(0)});n.on=(o,a)=>(i.on(o,a),n);let s=o=>{let a=(async()=>{await n;let{options:l}=t.request;return t5.default(t,o,l.parseJson,l.encoding)})();return Object.defineProperties(a,Object.getOwnPropertyDescriptors(n)),a};return n.json=()=>{let{headers:o}=e.options;return!e.writableFinished&&o.accept===void 0&&(o.accept=\"application/json\"),s(\"json\")},n.buffer=()=>s(\"buffer\"),n.text=()=>s(\"text\"),n}dl.default=n5;Xxe(Od(),dl)});var s5=w(FP=>{\"use strict\";Object.defineProperty(FP,\"__esModule\",{value:!0});var nPe=Od();function sPe(r,...e){let t=(async()=>{if(r instanceof nPe.RequestError)try{for(let n of e)if(n)for(let s of n)r=await s(r)}catch(n){r=n}throw r})(),i=()=>t;return t.json=i,t.text=i,t.buffer=i,t.on=i,t}FP.default=sPe});var A5=w(NP=>{\"use strict\";Object.defineProperty(NP,\"__esModule\",{value:!0});var o5=nA();function a5(r){for(let e of Object.values(r))(o5.default.plainObject(e)||o5.default.array(e))&&a5(e);return Object.freeze(r)}NP.default=a5});var c5=w(l5=>{\"use strict\";Object.defineProperty(l5,\"__esModule\",{value:!0})});var LP=w(Ms=>{\"use strict\";var oPe=Ms&&Ms.__createBinding||(Object.create?function(r,e,t,i){i===void 0&&(i=t),Object.defineProperty(r,i,{enumerable:!0,get:function(){return e[t]}})}:function(r,e,t,i){i===void 0&&(i=t),r[i]=e[t]}),aPe=Ms&&Ms.__exportStar||function(r,e){for(var t in r)t!==\"default\"&&!Object.prototype.hasOwnProperty.call(e,t)&&oPe(e,r,t)};Object.defineProperty(Ms,\"__esModule\",{value:!0});Ms.defaultHandler=void 0;var u5=nA(),Us=RP(),APe=s5(),Mw=Td(),lPe=A5(),cPe={RequestError:Us.RequestError,CacheError:Us.CacheError,ReadError:Us.ReadError,HTTPError:Us.HTTPError,MaxRedirectsError:Us.MaxRedirectsError,TimeoutError:Us.TimeoutError,ParseError:Us.ParseError,CancelError:Us.CancelError,UnsupportedProtocolError:Us.UnsupportedProtocolError,UploadError:Us.UploadError},uPe=async r=>new Promise(e=>{setTimeout(e,r)}),{normalizeArguments:Uw}=Mw.default,g5=(...r)=>{let e;for(let t of r)e=Uw(void 0,t,e);return e},gPe=r=>r.isStream?new Mw.default(void 0,r):Us.default(r),fPe=r=>\"defaults\"in r&&\"options\"in r.defaults,hPe=[\"get\",\"post\",\"put\",\"patch\",\"head\",\"delete\"];Ms.defaultHandler=(r,e)=>e(r);var f5=(r,e)=>{if(r)for(let t of r)t(e)},h5=r=>{r._rawHandlers=r.handlers,r.handlers=r.handlers.map(i=>(n,s)=>{let o,a=i(n,l=>(o=s(l),o));if(a!==o&&!n.isStream&&o){let l=a,{then:c,catch:u,finally:g}=l;Object.setPrototypeOf(l,Object.getPrototypeOf(o)),Object.defineProperties(l,Object.getOwnPropertyDescriptors(o)),l.then=c,l.catch=u,l.finally=g}return a});let e=(i,n={},s)=>{var o,a;let l=0,c=u=>r.handlers[l++](u,l===r.handlers.length?gPe:c);if(u5.default.plainObject(i)){let u=N(N({},i),n);Mw.setNonEnumerableProperties([i,n],u),n=u,i=void 0}try{let u;try{f5(r.options.hooks.init,n),f5((o=n.hooks)===null||o===void 0?void 0:o.init,n)}catch(f){u=f}let g=Uw(i,n,s!=null?s:r.options);if(g[Mw.kIsNormalizedAlready]=!0,u)throw new Us.RequestError(u.message,u,g);return c(g)}catch(u){if(n.isStream)throw u;return APe.default(u,r.options.hooks.beforeError,(a=n.hooks)===null||a===void 0?void 0:a.beforeError)}};e.extend=(...i)=>{let n=[r.options],s=[...r._rawHandlers],o;for(let a of i)fPe(a)?(n.push(a.defaults.options),s.push(...a.defaults._rawHandlers),o=a.defaults.mutableDefaults):(n.push(a),\"handlers\"in a&&s.push(...a.handlers),o=a.mutableDefaults);return s=s.filter(a=>a!==Ms.defaultHandler),s.length===0&&s.push(Ms.defaultHandler),h5({options:g5(...n),handlers:s,mutableDefaults:Boolean(o)})};let t=async function*(i,n){let s=Uw(i,n,r.options);s.resolveBodyOnly=!1;let o=s.pagination;if(!u5.default.object(o))throw new TypeError(\"`options.pagination` must be implemented\");let a=[],{countLimit:l}=o,c=0;for(;c<o.requestLimit;){c!==0&&await uPe(o.backoff);let u=await e(void 0,void 0,s),g=await o.transform(u),f=[];for(let p of g)if(o.filter(p,a,f)&&(!o.shouldContinue(p,a,f)||(yield p,o.stackAllItems&&a.push(p),f.push(p),--l<=0)))return;let h=o.paginate(u,a,f);if(h===!1)return;h===u.request.options?s=u.request.options:h!==void 0&&(s=Uw(void 0,h,s)),c++}};e.paginate=t,e.paginate.all=async(i,n)=>{let s=[];for await(let o of t(i,n))s.push(o);return s},e.paginate.each=t,e.stream=(i,n)=>e(i,te(N({},n),{isStream:!0}));for(let i of hPe)e[i]=(n,s)=>e(n,te(N({},s),{method:i})),e.stream[i]=(n,s)=>e(n,te(N({},s),{method:i,isStream:!0}));return Object.assign(e,cPe),Object.defineProperty(e,\"defaults\",{value:r.mutableDefaults?r:lPe.default(r),writable:r.mutableDefaults,configurable:r.mutableDefaults,enumerable:!0}),e.mergeOptions=g5,e};Ms.default=h5;aPe(c5(),Ms)});var Hw=w((oA,Kw)=>{\"use strict\";var pPe=oA&&oA.__createBinding||(Object.create?function(r,e,t,i){i===void 0&&(i=t),Object.defineProperty(r,i,{enumerable:!0,get:function(){return e[t]}})}:function(r,e,t,i){i===void 0&&(i=t),r[i]=e[t]}),p5=oA&&oA.__exportStar||function(r,e){for(var t in r)t!==\"default\"&&!Object.prototype.hasOwnProperty.call(e,t)&&pPe(e,r,t)};Object.defineProperty(oA,\"__esModule\",{value:!0});var dPe=require(\"url\"),d5=LP(),CPe={options:{method:\"GET\",retry:{limit:2,methods:[\"GET\",\"PUT\",\"HEAD\",\"DELETE\",\"OPTIONS\",\"TRACE\"],statusCodes:[408,413,429,500,502,503,504,521,522,524],errorCodes:[\"ETIMEDOUT\",\"ECONNRESET\",\"EADDRINUSE\",\"ECONNREFUSED\",\"EPIPE\",\"ENOTFOUND\",\"ENETUNREACH\",\"EAI_AGAIN\"],maxRetryAfter:void 0,calculateDelay:({computedValue:r})=>r},timeout:{},headers:{\"user-agent\":\"got (https://github.com/sindresorhus/got)\"},hooks:{init:[],beforeRequest:[],beforeRedirect:[],beforeRetry:[],beforeError:[],afterResponse:[]},cache:void 0,dnsCache:void 0,decompress:!0,throwHttpErrors:!0,followRedirect:!0,isStream:!1,responseType:\"text\",resolveBodyOnly:!1,maxRedirects:10,prefixUrl:\"\",methodRewriting:!0,ignoreInvalidCookies:!1,context:{},http2:!1,allowGetBody:!1,https:void 0,pagination:{transform:r=>r.request.options.responseType===\"json\"?r.body:JSON.parse(r.body),paginate:r=>{if(!Reflect.has(r.headers,\"link\"))return!1;let e=r.headers.link.split(\",\"),t;for(let i of e){let n=i.split(\";\");if(n[1].includes(\"next\")){t=n[0].trimStart().trim(),t=t.slice(1,-1);break}}return t?{url:new dPe.URL(t)}:!1},filter:()=>!0,shouldContinue:()=>!0,countLimit:Infinity,backoff:0,requestLimit:1e4,stackAllItems:!0},parseJson:r=>JSON.parse(r),stringifyJson:r=>JSON.stringify(r),cacheOptions:{}},handlers:[d5.defaultHandler],mutableDefaults:!1},TP=d5.default(CPe);oA.default=TP;Kw.exports=TP;Kw.exports.default=TP;Kw.exports.__esModule=!0;p5(LP(),oA);p5(RP(),oA)});var I5=w(lf=>{\"use strict\";var Vnt=require(\"net\"),mPe=require(\"tls\"),OP=require(\"http\"),C5=require(\"https\"),EPe=require(\"events\"),Xnt=require(\"assert\"),IPe=require(\"util\");lf.httpOverHttp=yPe;lf.httpsOverHttp=wPe;lf.httpOverHttps=BPe;lf.httpsOverHttps=bPe;function yPe(r){var e=new aA(r);return e.request=OP.request,e}function wPe(r){var e=new aA(r);return e.request=OP.request,e.createSocket=m5,e.defaultPort=443,e}function BPe(r){var e=new aA(r);return e.request=C5.request,e}function bPe(r){var e=new aA(r);return e.request=C5.request,e.createSocket=m5,e.defaultPort=443,e}function aA(r){var e=this;e.options=r||{},e.proxyOptions=e.options.proxy||{},e.maxSockets=e.options.maxSockets||OP.Agent.defaultMaxSockets,e.requests=[],e.sockets=[],e.on(\"free\",function(i,n,s,o){for(var a=E5(n,s,o),l=0,c=e.requests.length;l<c;++l){var u=e.requests[l];if(u.host===a.host&&u.port===a.port){e.requests.splice(l,1),u.request.onSocket(i);return}}i.destroy(),e.removeSocket(i)})}IPe.inherits(aA,EPe.EventEmitter);aA.prototype.addRequest=function(e,t,i,n){var s=this,o=MP({request:e},s.options,E5(t,i,n));if(s.sockets.length>=this.maxSockets){s.requests.push(o);return}s.createSocket(o,function(a){a.on(\"free\",l),a.on(\"close\",c),a.on(\"agentRemove\",c),e.onSocket(a);function l(){s.emit(\"free\",a,o)}function c(u){s.removeSocket(a),a.removeListener(\"free\",l),a.removeListener(\"close\",c),a.removeListener(\"agentRemove\",c)}})};aA.prototype.createSocket=function(e,t){var i=this,n={};i.sockets.push(n);var s=MP({},i.proxyOptions,{method:\"CONNECT\",path:e.host+\":\"+e.port,agent:!1,headers:{host:e.host+\":\"+e.port}});e.localAddress&&(s.localAddress=e.localAddress),s.proxyAuth&&(s.headers=s.headers||{},s.headers[\"Proxy-Authorization\"]=\"Basic \"+new Buffer(s.proxyAuth).toString(\"base64\")),Cl(\"making CONNECT request\");var o=i.request(s);o.useChunkedEncodingByDefault=!1,o.once(\"response\",a),o.once(\"upgrade\",l),o.once(\"connect\",c),o.once(\"error\",u),o.end();function a(g){g.upgrade=!0}function l(g,f,h){process.nextTick(function(){c(g,f,h)})}function c(g,f,h){if(o.removeAllListeners(),f.removeAllListeners(),g.statusCode!==200){Cl(\"tunneling socket could not be established, statusCode=%d\",g.statusCode),f.destroy();var p=new Error(\"tunneling socket could not be established, statusCode=\"+g.statusCode);p.code=\"ECONNRESET\",e.request.emit(\"error\",p),i.removeSocket(n);return}if(h.length>0){Cl(\"got illegal response body from proxy\"),f.destroy();var p=new Error(\"got illegal response body from proxy\");p.code=\"ECONNRESET\",e.request.emit(\"error\",p),i.removeSocket(n);return}return Cl(\"tunneling connection has established\"),i.sockets[i.sockets.indexOf(n)]=f,t(f)}function u(g){o.removeAllListeners(),Cl(`tunneling socket could not be established, cause=%s\n`,g.message,g.stack);var f=new Error(\"tunneling socket could not be established, cause=\"+g.message);f.code=\"ECONNRESET\",e.request.emit(\"error\",f),i.removeSocket(n)}};aA.prototype.removeSocket=function(e){var t=this.sockets.indexOf(e);if(t!==-1){this.sockets.splice(t,1);var i=this.requests.shift();i&&this.createSocket(i,function(n){i.request.onSocket(n)})}};function m5(r,e){var t=this;aA.prototype.createSocket.call(t,r,function(i){var n=r.request.getHeader(\"host\"),s=MP({},t.options,{socket:i,servername:n?n.replace(/:.*$/,\"\"):r.host}),o=mPe.connect(0,s);t.sockets[t.sockets.indexOf(i)]=o,e(o)})}function E5(r,e,t){return typeof r==\"string\"?{host:r,port:e,localAddress:t}:r}function MP(r){for(var e=1,t=arguments.length;e<t;++e){var i=arguments[e];if(typeof i==\"object\")for(var n=Object.keys(i),s=0,o=n.length;s<o;++s){var a=n[s];i[a]!==void 0&&(r[a]=i[a])}}return r}var Cl;process.env.NODE_DEBUG&&/\\btunnel\\b/.test(process.env.NODE_DEBUG)?Cl=function(){var r=Array.prototype.slice.call(arguments);typeof r[0]==\"string\"?r[0]=\"TUNNEL: \"+r[0]:r.unshift(\"TUNNEL:\"),console.error.apply(console,r)}:Cl=function(){};lf.debug=Cl});var w5=w(($nt,y5)=>{y5.exports=I5()});var R5=w((Yw,GP)=>{var D5=Object.assign({},require(\"fs\")),YP=function(){var r=typeof document!=\"undefined\"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename!=\"undefined\"&&(r=r||__filename),function(e){e=e||{};var t=typeof e!=\"undefined\"?e:{},i,n;t.ready=new Promise(function(d,E){i=d,n=E});var s={},o;for(o in t)t.hasOwnProperty(o)&&(s[o]=t[o]);var a=[],l=\"./this.program\",c=function(d,E){throw E},u=!1,g=!0,f=\"\";function h(d){return t.locateFile?t.locateFile(d,f):f+d}var p,m,y,b;g&&(u?f=require(\"path\").dirname(f)+\"/\":f=__dirname+\"/\",p=function(E,I){var D=xa(E);return D?I?D:D.toString():(y||(y=D5),b||(b=require(\"path\")),E=b.normalize(E),y.readFileSync(E,I?null:\"utf8\"))},m=function(E){var I=p(E,!0);return I.buffer||(I=new Uint8Array(I)),Z(I.buffer),I},process.argv.length>1&&(l=process.argv[1].replace(/\\\\/g,\"/\")),a=process.argv.slice(2),c=function(d){process.exit(d)},t.inspect=function(){return\"[Emscripten Module object]\"});var v=t.print||console.log.bind(console),k=t.printErr||console.warn.bind(console);for(o in s)s.hasOwnProperty(o)&&(t[o]=s[o]);s=null,t.arguments&&(a=t.arguments),t.thisProgram&&(l=t.thisProgram),t.quit&&(c=t.quit);var T=16;function Y(d,E){return E||(E=T),Math.ceil(d/E)*E}var q=0,$=function(d){q=d},z;t.wasmBinary&&(z=t.wasmBinary);var ne=t.noExitRuntime||!0;typeof WebAssembly!=\"object\"&&vr(\"no native wasm support detected\");function ee(d,E,I){switch(E=E||\"i8\",E.charAt(E.length-1)===\"*\"&&(E=\"i32\"),E){case\"i1\":return pe[d>>0];case\"i8\":return pe[d>>0];case\"i16\":return Qe[d>>1];case\"i32\":return fe[d>>2];case\"i64\":return fe[d>>2];case\"float\":return Ht[d>>2];case\"double\":return Mt[d>>3];default:vr(\"invalid type for getValue: \"+E)}return null}var A,oe=!1,ce;function Z(d,E){d||vr(\"Assertion failed: \"+E)}function O(d){var E=t[\"_\"+d];return Z(E,\"Cannot call unknown function \"+d+\", make sure it is exported\"),E}function L(d,E,I,D,M){var _={string:function(st){var yt=0;if(st!=null&&st!==0){var ke=(st.length<<2)+1;yt=B(ke),be(st,yt,ke)}return yt},array:function(st){var yt=B(st.length);return Ue(st,yt),yt}};function ie(st){return E===\"string\"?re(st):E===\"boolean\"?Boolean(st):st}var we=O(d),me=[],_e=0;if(D)for(var ot=0;ot<D.length;ot++){var Bt=_[I[ot]];Bt?(_e===0&&(_e=kE()),me[ot]=Bt(D[ot])):me[ot]=D[ot]}var ut=we.apply(null,me);return ut=ie(ut),_e!==0&&xE(_e),ut}function de(d,E,I,D){I=I||[];var M=I.every(function(ie){return ie===\"number\"}),_=E!==\"string\";return _&&M&&!D?O(d):function(){return L(d,E,I,arguments,D)}}var Be=typeof TextDecoder!=\"undefined\"?new TextDecoder(\"utf8\"):void 0;function Ge(d,E,I){for(var D=E+I,M=E;d[M]&&!(M>=D);)++M;if(M-E>16&&d.subarray&&Be)return Be.decode(d.subarray(E,M));for(var _=\"\";E<M;){var ie=d[E++];if(!(ie&128)){_+=String.fromCharCode(ie);continue}var we=d[E++]&63;if((ie&224)==192){_+=String.fromCharCode((ie&31)<<6|we);continue}var me=d[E++]&63;if((ie&240)==224?ie=(ie&15)<<12|we<<6|me:ie=(ie&7)<<18|we<<12|me<<6|d[E++]&63,ie<65536)_+=String.fromCharCode(ie);else{var _e=ie-65536;_+=String.fromCharCode(55296|_e>>10,56320|_e&1023)}}return _}function re(d,E){return d?Ge(V,d,E):\"\"}function se(d,E,I,D){if(!(D>0))return 0;for(var M=I,_=I+D-1,ie=0;ie<d.length;++ie){var we=d.charCodeAt(ie);if(we>=55296&&we<=57343){var me=d.charCodeAt(++ie);we=65536+((we&1023)<<10)|me&1023}if(we<=127){if(I>=_)break;E[I++]=we}else if(we<=2047){if(I+1>=_)break;E[I++]=192|we>>6,E[I++]=128|we&63}else if(we<=65535){if(I+2>=_)break;E[I++]=224|we>>12,E[I++]=128|we>>6&63,E[I++]=128|we&63}else{if(I+3>=_)break;E[I++]=240|we>>18,E[I++]=128|we>>12&63,E[I++]=128|we>>6&63,E[I++]=128|we&63}}return E[I]=0,I-M}function be(d,E,I){return se(d,V,E,I)}function he(d){for(var E=0,I=0;I<d.length;++I){var D=d.charCodeAt(I);D>=55296&&D<=57343&&(D=65536+((D&1023)<<10)|d.charCodeAt(++I)&1023),D<=127?++E:D<=2047?E+=2:D<=65535?E+=3:E+=4}return E}function Fe(d){var E=he(d)+1,I=Et(E);return I&&se(d,pe,I,E),I}function Ue(d,E){pe.set(d,E)}function xe(d,E){return d%E>0&&(d+=E-d%E),d}var ve,pe,V,Qe,le,fe,gt,Ht,Mt;function Ei(d){ve=d,t.HEAP8=pe=new Int8Array(d),t.HEAP16=Qe=new Int16Array(d),t.HEAP32=fe=new Int32Array(d),t.HEAPU8=V=new Uint8Array(d),t.HEAPU16=le=new Uint16Array(d),t.HEAPU32=gt=new Uint32Array(d),t.HEAPF32=Ht=new Float32Array(d),t.HEAPF64=Mt=new Float64Array(d)}var jt=t.INITIAL_MEMORY||16777216,Qr,Oi=[],$s=[],Hn=[],jn=!1;function Sr(){if(t.preRun)for(typeof t.preRun==\"function\"&&(t.preRun=[t.preRun]);t.preRun.length;)Qa(t.preRun.shift());Do(Oi)}function Gn(){jn=!0,!t.noFSInit&&!S.init.initialized&&S.init(),ps.init(),Do($s)}function fs(){if(t.postRun)for(typeof t.postRun==\"function\"&&(t.postRun=[t.postRun]);t.postRun.length;)Lu(t.postRun.shift());Do(Hn)}function Qa(d){Oi.unshift(d)}function RA(d){$s.unshift(d)}function Lu(d){Hn.unshift(d)}var hs=0,FA=null,Sa=null;function Tu(d){return d}function NA(d){hs++,t.monitorRunDependencies&&t.monitorRunDependencies(hs)}function LA(d){if(hs--,t.monitorRunDependencies&&t.monitorRunDependencies(hs),hs==0&&(FA!==null&&(clearInterval(FA),FA=null),Sa)){var E=Sa;Sa=null,E()}}t.preloadedImages={},t.preloadedAudios={};function vr(d){t.onAbort&&t.onAbort(d),d+=\"\",k(d),oe=!0,ce=1,d=\"abort(\"+d+\"). Build with -s ASSERTIONS=1 for more info.\";var E=new WebAssembly.RuntimeError(d);throw n(E),E}var _l=\"data:application/octet-stream;base64,\";function Ou(d){return d.startsWith(_l)}var Po=\"data:application/octet-stream;base64,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ACgCFC0AAiAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQADIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAQgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ABSAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAGIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAcgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ACCAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAJIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAogACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ACyAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAMIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAA0gACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ADiAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAPIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhRBEGo2AhQgACAAKAIIQQFrIgE2AgggAQ0ACyAAIAAoAhhB8f8DcDYCGCAAIAAoAgxB8f8DcDYCDAwBCwsgACgCEARAA0AgACgCEEEQTwRAIAAgACgCEEEQazYCECAAIAAoAhQtAAAgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0AASAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQACIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAMgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ABCAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAFIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAYgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0AByAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAIIAAoAhhqNgIYIAAgACgCGCAAKAIMajYC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NgIYIAEoAgxCADcDICABKAIMQgA3AyggASgCDEEANgIwIAEoAgxBADYCNCABKAIMQQA2AjggASgCDEEANgI8IAEoAgxBADsBQCABKAIMQYCA2I14NgJEIAEoAgxCADcDSCABKAIMQQA7AVAgASgCDEEAOwFSIAEoAgxBADYCVAvSEwEBfyMAQbABayIDJAAgAyAANgKoASADIAE2AqQBIAMgAjYCoAEgA0EANgKQASADIAMoAqQBKAIwQQAQOjYClAEgAyADKAKkASgCOEEAEDo2ApgBAkACQAJAAkAgAygClAFBAkYEQCADKAKYAUEBRg0BCyADKAKUAUEBRgRAIAMoApgBQQJGDQELIAMoApQBQQJHDQEgAygCmAFBAkcNAQsgAygCpAEiACAALwEMQYAQcjsBDAwBCyADKAKkASIAIAAvAQxB/+8DcTsBDCADKAKUAUECRgRAIANB9eABIAMoAqQBKAIwIAMoAqgBQQhqEI4BNgKQASADKAKQAUUEQCADQX82AqwBDAMLCwJAIAMoAqABQYACcQ0AIAMoApgBQQJHDQAgA0H1xgEgAygCpAEoAjggAygCqAFBCGoQjgE2AkggAygCSEUEQCADKAKQARAjIANBfzYCrAEMAwsgAygCSCADKAKQATYCACADIAMoAkg2ApABCwsCQCADKAKkAS8BUkUEQCADKAKkASIAIAAvAQxB/v8DcTsBDAwBCyADKAKkASIAIAAvAQxBAXI7AQwLIAMgAygCpAEgAygCoAEQZUEBcToAhgEgAyADKAKgAUGACnFBgApHBH8gAy0AhgEFQQELQQFxOgCHASADAn9BASADKAKkAS8BUkGBAkYNABpBASADKAKkAS8BUkGCAkYNABogAygCpAEvAVJBgwJGC0EBcToAhQEgAy0AhwFBAXEEQCADIANBIGpCHBApNgIcIAMoAhxFBEAgAygCqAFBCGpBDkEAEBQgAygCkAEQIyADQX82AqwBDAILAkAgAygCoAFBgAJxBEACQCADKAKgAUGACHENACADKAKkASkDIEL/////D1YNACADKAKkASkDKEL/////D1gNAgsgAygCHCADKAKkASkDKBAtIAMoAhwgAygCpAEpAyAQLQwBCwJAAkAgAygCoAFBgAhxDQAgAygCpAEpAyBC/////w9WDQAgAygCpAEpAyhC/////w9WDQAgAygCpAEpA0hC/////w9YDQELIAMoAqQBKQMoQv////8PWgRAIAMoAhwgAygCpAEpAygQLQsgAygCpAEpAyBC/////w9aBEAgAygCHCADKAKkASkDIBAtCyADKAKkASkDSEL/////D1oEQCADKAIcIAMoAqQBKQNIEC0LCwsCfyMAQRBrIgAgAygCHDYCDCAAKAIMLQAAQQFxRQsEQCADKAKoAUEIakEUQQAQFCADKAIcEBYgAygCkAEQIyADQX82AqwBDAILIANBAQJ/IwBBEGsiACADKAIcNgIMAn4gACgCDC0AAEEBcQRAIAAoAgwpAxAMAQtCAAunQf//A3ELIANBIGpBgAYQVTYCjAEgAygCHBAWIAMoAowBIAMoApABNgIAIAMgAygCjAE2ApABCyADLQCFAUEBcQRAIAMgA0EVakIHECk2AhAgAygCEEUEQCADKAKoAUEIakEOQQAQFCADKAKQARAjIANBfzYCrAEMAgsgAygCEEECEB8gAygCEEG9EkECEEEgAygCECADKAKkAS8BUkH/AXEQlgEgAygCECADKAKkASgCEEH//wNxEB8CfyMAQRBrIgAgAygCEDYCDCAAKAIMLQAAQQFxRQsEQCADKAKoAUEIakEUQQAQFCADKAIQEBYgAygCkAEQIyADQX82AqwBDAILIANBgbICQQcgA0EVakGABhBVNgIMIAMoAhAQFiADKAIMIAMoApABNgIAIAMgAygCDDYCkAELIAMgA0HQAGpCLhApIgA2AkwgAEUEQCADKAKoAUEIakEOQQAQFCADKAKQARAjIANBfzYCrAEMAQsgAygCTEHxEkH2EiADKAKgAUGAAnEbQQQQQSADKAKgAUGAAnFFBEAgAygCTCADLQCGAUEBcQR/QS0FIAMoAqQBLwEIC0H//wNxEB8LIAMoAkwgAy0AhgFBAXEEf0EtBSADKAKkAS8BCgtB//8DcRAfIAMoAkwgAygCpAEvAQwQHwJAIAMtAIUBQQFxBEAgAygCTEHjABAfDAELIAMoAkwgAygCpAEoAhBB//8DcRAfCyADKAKkASgCFCADQZ4BaiADQZwBahCNASADKAJMIAMvAZ4BEB8gAygCTCADLwGcARAfAkACQCADLQCFAUEBcUUNACADKAKkASkDKEIUWg0AIAMoAkxBABAhDAELIAMoAkwgAygCpAEoAhgQIQsCQAJAIAMoAqABQYACcUGAAkcNACADKAKkASkDIEL/////D1QEQCADKAKkASkDKEL/////D1QNAQsgAygCTEF/ECEgAygCTEF/ECEMAQsCQCADKAKkASkDIEL/////D1QEQCADKAJMIAMoAqQBKQMgpxAhDAELIAMoAkxBfxAhCwJAIAMoAqQBKQMoQv////8PVARAIAMoAkwgAygCpAEpAyinECEMAQsgAygCTEF/ECELCyADKAJMIAMoAqQBKAIwEFFB//8DcRAfIAMgAygCpAEoAjQgAygCoAEQkgFB//8DcSADKAKQAUGABhCSAUH//wNxajYCiAEgAygCTCADKAKIAUH//wNxEB8gAygCoAFBgAJxRQRAIAMoAkwgAygCpAEoAjgQUUH//wNxEB8gAygCTCADKAKkASgCPEH//wNxEB8gAygCTCADKAKkAS8BQBAfIAMoAkwgAygCpAEoAkQQIQJAIAMoAqQBKQNIQv////8PVARAIAMoAkwgAygCpAEpA0inECEMAQsgAygCTEF/ECELCwJ/IwBBEGsiACADKAJMNgIMIAAoAgwtAABBAXFFCwRAIAMoAqgBQQhqQRRBABAUIAMoAkwQFiADKAKQARAjIANBfzYCrAEMAQsgAygCqAEgA0HQAGoCfiMAQRBrIgAgAygCTDYCDAJ+IAAoAgwtAABBAXEEQCAAKAIMKQMQDAELQgALCxA2QQBIBEAgAygCTBAWIAMoApABECMgA0F/NgKsAQwBCyADKAJMEBYgAygCpAEoAjAEQCADKAKoASADKAKkASgCMBCFAUEASARAIAMoApABECMgA0F/NgKsAQwCCwsgAygCkAEEQCADKAKoASADKAKQAUGABhCRAUEASARAIAMoApABECMgA0F/NgKsAQwCCwsgAygCkAEQIyADKAKkASgCNARAIAMoAqgBIAMoAqQBKAI0IAMoAqABEJEBQQBIBEAgA0F/NgKsAQwCCwsgAygCoAFBgAJxRQRAIAMoAqQBKAI4BEAgAygCqAEgAygCpAEoAjgQhQFBAEgEQCADQX82AqwBDAMLCwsgAyADLQCHAUEBcTYCrAELIAMoAqwBIQAgA0GwAWokACAAC+ACAQF/IwBBIGsiBCQAIAQgADsBGiAEIAE7ARggBCACNgIUIAQgAzYCECAEQRAQGCIANgIMAkAg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AAAgAygCHEHcFmogAygCDEECdGooAgAgAygCHEHYKGpqLQAASg0ADAELIAMoAhxB3BZqIAMoAhRBAnRqIAMoAhxB3BZqIAMoAgxBAnRqKAIANgIAIAMgAygCDDYCFCADIAMoAgxBAXQ2AgwMAQsLIAMoAhxB3BZqIAMoAhRBAnRqIAMoAhA2AgAL1xMBA38jAEEwayICJAAgAiAANgIsIAIgATYCKCACIAIoAigoAgA2AiQgAiACKAIoKAIIKAIANgIgIAIgAigCKCgCCCgCDDYCHCACQX82AhAgAigCLEEANgLQKCACKAIsQb0ENgLUKCACQQA2AhgDQCACKAIYIAIoAhxIBEACQCACKAIkIAIoAhhBAnRqLwEABEAgAiACKAIYIgE2AhAgAigCLEHcFmohAyACKAIsIgQoAtAoQQFqIQAgBCAANgLQKCAAQQJ0IANqIAE2AgAgAigCGCACKAIsQdgoampBADoAAAwBCyACKAIkIAIoAhhBAnRqQQA7AQILIAIgAigCGEEBajYCGAwBCwsDQCACKAIsKALQKEECSARAAkAgAigCEEECSARAIAIgAigCEEEBaiIANgIQDAELQQAhAAsgAigCLEHcFmohAyACKAIsIgQoAtAoQQFqIQEgBCABNgLQKCABQQJ0IANqIAA2AgAgAiAANgIMIAIoAiQgAigCDEECdGpBATsBACACKAIMIAIoAixB2ChqakEAOgAAIAIoAiwiACAAKAKoLUEBazYCqC0gAigCIARAIAIoAiwiACAAKAKsLSACKAIgIAIoAgxBAnRqLwECazYCrC0LDAELCyACKAIoIAIoAhA2AgQgAiACKAIsKALQKEECbTYCGANAIAIoAhhBAU4EQCACKAIsIAIoAiQgAigCGBB5IAIgAigCGEEBazYCGAwBCwsgAiACKAIcNgIMA0AgAiACKAIsKALgFjYCGCACKAIsQdwWaiEBIAIoAiwiAygC0CghACADIABBAWs2AtAoIAIoAiwgAEECdCABaigCADYC4BYgAigCLCACKAIkQQEQeSACIAIoAiwoAuAWNgIUIAIoAhghASACKAIsQdwWaiEDIAIoAiwiBCgC1ChBAWshACAEIAA2AtQoIABBAnQgA2ogATYCACACKAIUIQEgAigCLEHcFmohAyACKAIsIgQoAtQoQQFrIQAgBCAANgLUKCAA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AQsgAigCCEEANgIAIAIoAghCADcDECACKAIIQgA3AwggAigCCEIANwMgIAIoAghCADcDGCACKAIIQQA2AiggAigCCEEAOgAsIAIoAgggAikDECACKAIMEI8BQQFxRQRAIAIoAggQJSACQQA2AhwMAQsgAiACKAIINgIcCyACKAIcIQEgAkEgaiQAIAEL1gIBAX8jAEEgayIDJAAgAyAANgIYIAMgATYCFCADIAI2AhAgAyADQQxqQgQQKTYCCAJAIAMoAghFBEAgA0F/NgIcDAELA0AgAygCFARAIAMoAhQoAgQgAygCEHFBgAZxBEAgAygCCEIAECwaIAMoAgggAygCFC8BCBAfIAMoAgggAygCFC8BChAfAn8jAEEQayIAIAMoAgg2AgwgACgCDC0AAEEBcUULBEAgAygCGEEIakEUQQAQFCADKAIIEBYgA0F/NgIcDAQLIAMoAhggA0EMakIEEDZBAEgEQCADKAIIEBYgA0F/NgIcDAQLIAMoAhQvAQoEQCADKAIYIAMoAhQoAgwgAygCFC8BCq0QNkEASARAIAMoAggQFiADQX82AhwMBQsLCyADIAMoAhQoAgA2AhQMAQsLIAMoAggQFiADQQA2AhwLIAMoAhwhACADQSBqJAAgAAtoAQF/IwBBEGsiAiAANgIMIAIgATYCCCACQQA7AQYDQCACKAIMBEAgAigCDCgCBCACKAIIcUGABnEEQCACIAIoAgwvAQogAi8BBkEEamo7AQYLIAIgAigCDCgCADYCDAwBCwsgAi8BBgvwAQEBfyMAQRBrIgEkACABIAA2AgwgASABKAIMNgIIIAFBADYCBANAIAEoAgwEQAJAAkAgASgCDC8BCEH1xgFGDQAgASgCDC8BCEH14AFGDQAgASgCDC8BCEGBsgJGDQAgASgCDC8BCEEBRw0BCyABIAEoAgwoAgA2AgAgASgCCCABKAIMRgRAIAEgASgCADYCCAsgASgCDEEANgIAIAEoAgwQIyABKAIEBEAgASgCBCABKAIANgIACyABIAEoAgA2AgwMAgsgASABKAIMNgIEIAEgASgCDCgCADYCDAwBCwsgASgCCCEAIAFBEGokACAAC7IEAQF/IwBBQGoiBSQAIAUgADYCOCAFIAE7ATYgBSACNgIwIAUgAzYCLCAFIAQ2AiggBSAFKAI4IAUvATatECkiADYC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IAEoAhBB//8DRgRAIAEgASgCDDYCEAsgASgCCEH//wNGBEAgASABKAIENgIICwJAIAEoApQBQQRxRQ0AIAEoAgggASgCBEYEQCABKAIQIAEoAgxGDQELIAEoApABQRVBABAUIAEtABdBAXEEQCABKAKkARAWCyABQQA2AqwBDAELAkAgASgCEEUEQCABKAIIRQ0BCyABKAKQAUEBQQAQFCABLQAXQQFxBEAgASgCpAEQFgsgAUEANgKsAQwBCyABIAEoAqQBEDE3AyggASABKAKkARAxNwMgIAEpAyggASkDIFIEQCABKAKQAUEBQQAQFCABLQAXQQFxBEAgASgCpAEQFgsgAUEANgKsAQwBCyABIAEoAqQBEDE3AzAgASABKAKkARAxNwOAAQJ/IwBBEGsiBSABKAKkATYCDCAFKAIMLQAAQQFxRQsEQCABKAKQAUEUQQAQFCABLQAXQQFxBEAgASgCpAEQFgsgAUEANgKsAQwBCyABLQAXQQFxBEAgASgCpAEQFgsCQCABKQOAAUL///////////8AWARAIAEpA4ABIAEpA4ABIAEpAzB8WA0BCyABKAKQAUEEQRYQFCABQQA2AqwBDAELIAEpA4ABIAEpAzB8IAEpA5gBIAEpAzh8VgRAIAEoApABQRVBABAUIAFBADYCrAEMAQsCQCABKAKUAUEEcUUNACABKQOAASABKQMwfCABKQOYASABKQM4fFENACABKAKQAUEVQQAQFCABQQA2AqwBDAELIAEpAyggASkDMEIugFYEQCABKAKQAUEVQQAQFCABQQA2AqwBDAELIAEgASkDKCABKAKQARCQASIFNgKMASAFRQRAIAFBADYCrAEMAQsgASgCjAFBAToALCABKAKMASABKQMwNwMYIAEoAowBIAEpA4ABNwMgIAEgASgCjAE2AqwBCyABKAKsASEFIAFBsAFqJAAgACAFNgJQDAELIAAoAmQgACkDMBAsGiAAKAJkIQUgACkDWCEJIAAoAmgoAhQhBiAAKAJUIQcjAEHQAGsiASQAIAEgBTYCSCABIAk3A0AgASAGNgI8IAEgBzYCOAJAIAEoAkgQMEIWVARAIAEoAjhBFUEAEBQgAUEANgJMDAELIwBBEGsiBSABKAJINgIMIAECfiAFKAIMLQAAQQFxBEAgBSgCDCkDEAwBC0IACzcDCCABKAJI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ECADQcgAEBgiADYCDAJAIABFBEAgAygCEEEBQbSbASgCABAUIANBADYCHAwBCyADKAIMIAMoAhA2AgAgAygCDCADLQAbQQFxOgAEIAMoAgwgAygCFDYCCAJAIAMoAgwoAghBAU4EQCADKAIMKAIIQQlMDQELIAMoAgxBCTYCCAsgAygCDEEAOgAMIAMoAgxBADYCMCADKAIMQQA2AjQgAygCDEEANgI4IAMgAygCDDYCHAsgAygCHCEAIANBIGokACAACzgBAX8jAEEQayIBIAA2AgwgASgCDEEANgIAIAEoAgxBADYCBCABKAIMQQA2AgggASgCDEEAOgAMC+MIAQF/IwBBQGoiAiAANgI4IAIgATYCNCACIAIoAjgoAnw2AjAgAiACKAI4KAI4IAIoAjgoAmxqNgIsIAIgAigCOCgCeDYCICACIAIoAjgoApABNgIcIAICfyACKAI4KAJsIAIoAjgoAixBhgJrSwRAIAIoAjgoAmwgAigCOCgCLEGGAmtrDAELQQALNgIYIAIgAigCOCgCQDYCFCACIAIoAjgoAjQ2AhAgAiACKAI4KAI4IAIoAjgoAmxqQYICajYCDCACIAIoAiwgAigCIEEBa2otAAA6AAsgAiACKAIsIAIoAiBqLQAAOgAKIAIoAjgoAnggAigCOCgCjAFPBEAgAiACKAIwQQJ2NgIwCyACKAIcIAIoAjgoAnRLBEAgAiACKAI4KAJ0NgIcCwNAAkAgAiACKAI4KAI4IAIoAjRqNgIoAkAgAigCKCACKAIgai0AACACLQAKRw0AIAIoAiggAigCIEEBa2otAAAgAi0AC0cNACACKAIoLQAAIAIoAiwtAABHDQAgAiACKAIoIgBBAWo2AiggAC0AASACKAIsLQABRwRADAELIAIgAigCLEECajYCLCACIAIoAihBAWo2AigDQCACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AigCf0EAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AihBACAALQABIAFHDQAaIAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AihBACAALQABIAFHDQAaIAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACKAIsIAIoAgxJC0EBcQ0ACyACQYICIAIoAgwgAigCLGtrNgIkIAIgAigCDEGCAms2AiwgAigCJCACKAIgSgRAIAIoAjggAigCNDYCcCACIAIoAiQ2AiAgAigCJCACKAIcTg0CIAIgAigCLCACKAIgQQFrai0AADoACyACIAIoAiwgAigCIGotAAA6AAoLCyACIAIoAhQgAigCNCACKAIQcUEBdGovAQAiATYCNEEAIQAgASACKAIYSwR/IAIgAigCMEEBayIANgIwIABBAEcFQQALQQFxDQELCwJAIAIoAiAgAigCOCgCdE0EQCACIAIoAiA2AjwMAQsgAiACKAI4KAJ0NgI8CyACKAI8C5IQAQF/IwBBMGsiAiQAIAIgADYCKCACIAE2AiQgAgJ/IAIoAigoAiwgAigCKCgCDEEFa0kEQCACKAIoKAIsDAELIAIoAigoAgxBBWsLNgIgIAJBADYCECACIAIoAigoAgAoAgQ2AgwDQAJAIAJB//8DNgIcIAIgAigCKCgCvC1BKmpBA3U2AhQgAigCKCgCACgCECACKAIUSQ0AIAIgAigCKCgCACgCECACKAIUazYCFCACIAIoAigoAmwgAigCKCgCXGs2AhggAigCHCACKAIYIAIoAigoAgAoAgRqSwRAIAIgAigCGCACKAIoKAIAKAIEajYCHAsgAigCHCACKAIUSwRAIAIgAigCFDYCHAsCQCACKAIcIAIoAiBPDQACQCACKAIcRQRAIAIoAiRBBEcNAQsgAigCJEUNACACKAIcIAIoAhggAigCKCgCACgCBGpGDQELDAELQQAhACACIAIoAiRBBEYEfyACKAIcIAIoAhggAigCKCgCACgCBGpGBUEAC0EBcTYCECACKAIoQQBBACACKAIQEF0gAigCKCgCCCACKAIoKAIUQQRraiACKAIcOgAAIAIoAigoAgggAigCKCgCFEEDa2ogAigCHEEIdjoAACACKAIoKAIIIAIoAigoAhRBAmtqIAIoAhxBf3M6AAAgAigCKCgCCCACKAIoKAIUQQFraiACKAIcQX9zQQh2OgAAIAIoAigoAgAQHCACKAIYBEAgAigCGCACKAIcSwRAIAIgAigCHDYCGAsgAigCKCgCACgCDCACKAIoKAI4IAIoAigoAlxqIAIoAhgQGRogAigCKCgCACIAIAIoAhggACgCDGo2AgwgAigCKCgCACIAIAAoAhAgAigCGGs2AhAgAigCKCgCACIAIAIoAhggACgCFGo2AhQgAigCKCIAIAIoAhggACgCXGo2AlwgAiACKAIcIAIoAhhrNgIcCyACKAIcBEAgAigCKCgCACACKAIoKAIAKAIMIAIoAhwQdhogAigCKCgCACIAIAIoAhwgACgCDGo2AgwgAigCKCgCACIAIAAoAhAgAigCHGs2AhAgAigCKCgCACIAIAIoAhwgACgCFGo2AhQLIAIoAhBFDQELCyACIAIoAgwgAigCKCgCACgCBGs2AgwgAigCDARAAkAgAigCDCACKAIoKAIsTwRAIAIoAihBAjYCsC0gAigCKCgCOCACKAIoKAIAKAIAIAIoAigoAixrIAIoAigoAiwQGRogAigCKCACKAIoKAIsNgJsDAELIAIoAgwgAigCKCgCPCACKAIoKAJsa08EQCACKAIoIgAgACgCbCACKAIoKAIsazYCbCACKAIoKAI4IAIoAigoAjggAigCKCgCLGogAigCKCgCbBAZGiACKAIoKAKwLUECSQRAIAIoAigiACAAKAKwLUEBajYCsC0LCyACKAIoKAI4IAIoAigoAmxqIAIoAigoAgAoAgAgAigCDGsgAigCDBAZGiACKAIoIgAgAigCDCAAKAJsajYCbAsgAigCKCACKAIoKAJsNgJcIAIoAigiAQJ/IAIoAgwgAigCKCgCLCACKAIoKAK0LWtLBEAgAigCKCgCLCACKAIoKAK0LWsMAQsgAigCDAsgASgCtC1qNgK0LQsgAigCKCgCwC0gAigCKCgCbEkEQCACKAIoIAIoAigoAmw2AsAtCwJAIAIoAhAEQCACQQM2AiwMAQsCQCACKAIkRQ0AIAIoAiRBBEYNACACKAIoKAIAKAIEDQAgAigCKCgCbCACKAIoKAJcRw0AIAJBATYCLAwBCyACIAIoAigoAjwgAigCKCgCbGtBAWs2AhQCQCACKAIoKAIAKAIEIAIoAhRNDQAgAigCKCgCXCACKAIoKAIsSA0AIAIoAigiACAAKAJcIAIoAigoAixrNgJcIAIoAigiACAAKAJsIAIoAigoAixrNgJsIAIoAigoAjggAigCKCgCOCACKAIoKAIsaiACKAIoKAJsEBkaIAIoAigoArAtQQJJBEAgAigCKCIAIAAoArAtQQFqNgKwLQsgAiACKAIoKAIsIAIoAhRqNgIUCyACKAIUIAIoAigoAgAoAgRLBEAgAiACKAIoKAIAKAIENgIUCyACKAIUBEAgAigCKCgCACACKAIoKAI4IAIoAigoAmxqIAIoAhQQdhogAigCKCIAIAIoAhQgACgCbGo2AmwLIAIoAigoAsAtIAIoAigoAmxJBEAgAigCKCACKAIoKAJsNgLALQsgAiACKAIoKAK8LUEqakEDdTYCFCACIAIoAigoAgwgAigCFGtB//8DSwR/Qf//AwUgAigCKCgCDCACKAIUaws2AhQgAgJ/IAIoAhQgAigCKCgCLEsEQCACKAIoKAIsDAELIAIoAhQLNgIgIAIgAigCKCgCbCACKAIoKAJcazYCGAJAIAIoAhggAigCIEkEQCACKAIYRQRAIAIoAiRBBEcNAgsgAigCJEUNASACKAIoKAIAKAIEDQEgAigCGCACKAIUSw0BCyACAn8gAigCGCACKAIUSwRAIAIoAhQMAQsgAigCGAs2AhwgAgJ/QQAgAigCJEEERw0AGkEAIAIoAigoAgAoAgQNABogAigCHCACKAIYRgtBAXE2AhAgAigCKCACKAIoKAI4IAIoAigoAlxqIAIoAhwgAigCEBBdIAIoAigiACACKAIcIAAoAlxqNgJcIAIoAigoAgAQHAsgAkECQQAgAigCEBs2AiwLIAIoAiwhACACQTBqJAAgAAuyAgEBfyMAQRBrIgEkACABIAA2AggCQCABKAIIEHgEQCABQX42AgwMAQsgASABKAIIKAIcKAIENgIEIAEoAggoAhwoAggEQCABKAIIKAIoIAEoAggoAhwoAgggASgCCCgCJBEEAAsgASgCCCgCHCgCRARAIAEoAggoAiggASgCCCgCHCgCRCABKAIIKAIkEQQACyABKAIIKAIc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DQAgAiEAIANBAWsiAw0ACwsgBCgCFBogASACNgKgAQwCCyMAQRBrIgAgASgCqAEoAgQ2AgwgAUEAIAAoAgxrQQJ0QajZAGooAgA2AqABDAELIAFBADYCoAELCwJAIAEoAqABRQRAIAEgASgCpAE2AqwBDAELIAEgASgCoAEQLgJ/IAEoAqQBBEAgASgCpAEQLkECagwBC0EAC2pBAWoQGCIANgIcIABFBEAgAUG4EygCADYCrAEMAQsgASgCHCEAAn8gASgCpAEEQCABKAKkAQwBC0H6EgshA0HfEkH6EiABKAKkARshAiABIAEoAqABNgIIIAEgAjYCBCABIAM2AgAgAEG+CiABEG8gASgCqAEgASgCHDYCCCABIAEoAhw2AqwBCyABKAKsASEAIAFBsAFqJAAgAAsIAEEBQTgQfwszAQF/IAAoAhQiAyABIAIgACgCECADayIBIAEgAksbIgEQGRogACAAKAIUIAFqNgIUIAILjwUCBn4BfyABIAEoAgBBD2pBcHEiAUEQajYCACAAAnwgASkDACEDIAEpAwghBiMAQSBrIggkAAJAIAZC////////////AIMiBEKAgICAgIDAgDx9IARCgICAgICAwP/DAH1UBEAgBkIEhiADQjyIhCEEIANC//////////8PgyIDQoGAgICAgICACFoEQCAEQoGAgICAgICAwAB8IQIMAgsgBEKAgICAgICAgEB9IQIgA0KAgICAgICAgAiFQgBSDQEgAiAEQgGDfCECDAELIANQIARCgICAgICAwP//AFQgBEKAgICAgIDA//8AURtFBEAgBkIEhiADQjyIhEL/////////A4NCgICAgICAgPz/AIQhAgwBC0KAgICAgICA+P8AIQIgBEL///////+//8MAVg0AQgAhAiAEQjCIpyIAQZH3AEkNACADIQIgBkL///////8/g0KAgICAgIDAAIQiBSEHAkAgAEGB9wBrIgFBwABxBEAgAiABQUBqrYYhB0IAIQIMAQsgAUUNACAHIAGtIgSGIAJBwAAgAWutiIQhByACIASGIQILIAggAjcDECAIIAc3AxgCQEGB+AAgAGsiAEHAAHEEQCAFIABBQGqtiCEDQgAhBQwBCyAARQ0AIAVBwAAgAGuthiADIACtIgKIhCEDIAUgAoghBQsgCCADNwMAIAggBTcDCCAIKQMI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ADYCtC0gASgCFEEERgRAIAEoAhgCfyABKAIYKAJcQQBOBEAgASgCGCgCOCABKAIYKAJcagwBC0EACyABKAIYKAJsIAEoAhgoAlxrQQEQKCABKAIYIAEoAhgoAmw2AlwgASgCGCgCABAcIAEoAhgoAgAoAhBFBEAgAUECNgIcDAILIAFBAzYCHAwBCyABKAIYKAKgLQRAIAEoAhgCfyABKAIYKAJcQQBOBEAgASgCGCgCOCABKAIYKAJcagwBC0EACyABKAIYKAJsIAEoAhgoAlxrQQAQKCABKAIYIAEoAhgoAmw2AlwgASgCGCgCABAcIAEoAhgoAgAoAhBFBEAgAUEANgIcDAILCyABQQE2AhwLIAEoAhwhAiABQSBqJAAgAgwBCwJ/IAAoAiwoAogBQQNGBEAgACgCLCECIAAoAjQhAyMAQTBrIgEkACABIAI2AiggASADNgIkAkADQAJAIAEoAigoAnRBggJNBEAgASgCKBBcAkAgASgCKCgCdEGCAksNACABKAIkDQAgAUEANgIsDAQLIAEoAigoAnRFDQELIAEoAihBADYCYAJAIAEoAigoAnRBA0kNACABKAIoKAJsRQ0AIAEgASgCKCgCOCABKAIoKAJsakEBazYCGCABIAEoAhgtAAA2AhwgASgCHCECIAEgASgCGCIDQQFqNgIYAkAgAy0AASACRw0AIAEoAhwhAiABIAEoAhgiA0EBajYCGCADLQABIAJHDQAgASgCHCECIAEgASgCGCIDQQFqNgIYIAMtAAEgAkcNACABIAEoAigoAjggASgCKCgCbGpBggJqNgIUA0AgASgCHCECIAEgASgCGCIDQQFqNgIYAn9BACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABogASgCHCECIAEgASgCGCIDQQFqNgIYQQAgAy0AASACRw0AGiABKAIcIQIgASABKAIYIgNBAWo2AhhBACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABogASgCHCECIAEgASgCGCIDQQFqNgIYQQAgAy0AASACRw0AGiABKAIcIQIgASABKAIYIgNBAWo2AhhBACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABog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AS8BEiECIAEgASgCSCIDQQFqNgJIIAMgAjoAAAwCCyABKAIMQRBxBEAgASABLwESNgIIIAEgASgCDEEPcTYCDCABKAIMBEAgASgCKCABKAIMSQRAIAEgASgCUCICQQFqNgJQIAEgASgCLCACLQAAIAEoAih0ajYCLCABIAEoAihBCGo2AigLIAEgASgCCCABKAIsQQEgASgCDHRBAWtxajYCCCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoCyABKAIoQQ9JBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABIAEoAlAiAkEBajYCUCABIAEoAiwgAi0AACABKAIodGo2AiwgASABKAIoQQhqNgIoCyABIAEoAiAgASgCLCABKAIYcUECdGooAQA2ARACQANAIAEgAS0AETYCDCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoIAEgAS0AEDYCDCABKAIMQRBxBEAgASABLwESNgIEIAEgASgCDEEPcTYCDCABKAIoIAEoAgxJBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABKAIoIAEoAgxJBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKAsLIAEgASgCBCABKAIsQQEgASgCDHRBAWtxajYCBCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoIAEgASgCSCABKAJEazYCDAJAIAEoAgQgASgCDEsEQCABIAEoAgQgASgCDGs2AgwgASgCDCABKAI4SwRAIAEoAlQoAsQ3BEAgASgCXEHdDDYCGCABKAJUQdH+ADYCBAwKCwsgASABKAIwNgIAAkAgASgCNEUEQCABIAEoAgAgASgCPCABKAIMa2o2AgAgASgCDCABKAIISQRAIAEgASgCCCABKAIMazYCCANAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIMQQFrIgI2AgwgAg0ACyABIAEoAkggASgCBGs2AgALDAELAkAgASgCNCABKAIMSQRAIAEgASgCACABKAI8IAEoAjRqIAEoAgxrajYCACABIAEoAgwgASgCNGs2AgwgASgCDCABKAIISQRAIAEgASgCCCABKAIMazYCCANAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIMQQFrIgI2AgwgAg0ACyABIAEoAjA2AgAgASgCNCABKAIISQRAIAEgASgCNDYCDCABIAEoAgggASgCDGs2AggDQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCDEEBayICNgIMIAINAAsgASABKAJIIAEoAgRrNgIACwsMAQsgASABKAIAIAEoAjQgASgCDGtqNgIAIAEoAgwgASgCCEkEQCABIAEoAgggASgCDGs2AggDQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCDEEBayICNgIMIAINAAsgASABKAJIIAEoAgRrNgIACwsLA0AgASgCCEECSwRAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIAIgJBAWo2AgAgAi0AACECIAEgASgCSCIDQQFqNgJIIAMgAjoAACABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCCEEDazYCCAwBCwsMAQsgASABKAJIIAEoAgRrNgIAA0AgASABKAIAIgJBAWo2AgAgAi0AACECIAEgASgCSCIDQQFqNgJIIAMgAjoAACABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIIQQNrNgIIIAEoAghBAksNAAsLIAEoAggEQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEoAghBAUsEQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAACwsMAgsgASgCDEHAAHFFBEAgASABKAIgIAEvARIgASgCLEEBIAEoAgx0QQFrcWpBAnRqKAEANgEQDAELCyAB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AG5hbgAvZGV2L3VyYW5kb20AaW52YWxpZCBjb2RlIC0tIG1pc3NpbmcgZW5kLW9mLWJsb2NrAGluY29ycmVjdCBoZWFkZXIgY2hlY2sAaW5jb3JyZWN0IGxlbmd0aCBjaGVjawBpbmNvcnJlY3QgZGF0YSBjaGVjawBpbnZhbGlkIGRpc3RhbmNlIHRvbyBmYXIgYmFjawBoZWFkZXIgY3JjIG1pc21hdGNoAGluZgBpbnZhbGlkIHdpbmRvdyBzaXplAFJlYWQtb25seSBhcmNoaXZlAE5vdCBhIHppcCBhcmNoaXZlAFJlc291cmNlIHN0aWxsIGluIHVzZQBNYWxsb2MgZmFpbHVyZQBpbnZhbGlkIGJsb2NrIHR5cGUARmFpbHVyZSB0byBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUAQ2FuJ3Qgb3BlbiBmaWxlAE5vIHN1Y2ggZmlsZQBQcmVtYXR1cmUgZW5kIG9mIGZpbGUAQ2FuJ3QgcmVtb3ZlIGZpbGUAaW52YWxpZCBsaXRlcmFsL2xlbmd0aCBjb2RlAGludmFsaWQgZGlzdGFuY2UgY29kZQB1bmtub3duIGNvbXByZXNzaW9uIG1ldGhvZABzdHJlYW0gZW5kAENvbXByZXNzZWQgZGF0YSBpbnZhbGlkAE11bHRpLWRpc2sgemlwIGFyY2hpdmVzIG5vdCBzdXBwb3J0ZWQAT3BlcmF0aW9uIG5vdCBzdXBwb3J0ZWQARW5jcnlwdGlvbiBtZXRob2Qgbm90IHN1cHBvcnRlZABDb21wcmVzc2lvbiBtZXRob2Qgbm90IHN1cHBvcnRlZABFbnRyeSBoYXMgYmVlbiBkZWxldGVkAENvbnRhaW5pbmcgemlwIGFyY2hpdmUgd2FzIGNsb3NlZABDbG9zaW5nIHppcCBhcmNoaXZlIGZhaWxlZABSZW5hbWluZyB0ZW1wb3JhcnkgZmlsZSBmYWlsZWQARW50cnkgaGFzIGJlZW4gY2hhbmdlZABObyBwYXNzd29yZCBwcm92aWRlZABXcm9uZyBwYXNzd29yZCBwcm92aWRlZABVbmtub3duIGVycm9yICVkAHJiAHIrYgByd2EAJXMuWFhYWFhYAE5BTgBJTkYAQUUAMS4yLjExAC9wcm9jL3NlbGYvZmQvAC4AKG51bGwpADogAFBLBgcA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0gAIADIACACyAAgAcgAIAPIACAAKAAgAigAIAEoACADKAAgAKgAIAKoACABqAAgA6gAIABoACACaAAgAWgAIANoACAA6AAgAugAIAHoACAD6AAgABgAIAIYACABGAAgAxgAIACYACACmAAgAZgAIAOYACAAWAAgAlgAIAFYACADWAAgANgAIALYACAB2AAgA9gAIAA4ACACOAAgATgAIAM4ACAAuAAgArgAIAG4ACADuAAgAHgAIAJ4ACABeAAgA3gAIAD4ACAC+AAgAfgAIAP4ACAABAAgAgQAIAEEACADBAAgAIQAIAKEACABhAAgA4QAIABEACACRAAgAUQAIANEACAAxAAgAsQAIAHEACADxAAgACQAIAIkACABJAAgAyQAIACkACACpAAgAaQAIAOkACAAZAAgAmQAIAFkACADZAAgAOQAIALkACAB5AAgA+QAIAAUACACFAAgARQAIAMUACAAlAAgApQAIAGUACADlAAgAFQAIAJUACABVAAgA1QAIADUACAC1AAgAdQAIAPUACAANAAgAjQAIAE0ACADNAAgALQAIAK0ACABtAAgA7QAIAB0ACACdAAgAXQAIAN0ACAA9AAgAvQAIAH0ACAD9AAgAEwAJABMBCQCTAAkAkwEJAFMACQBTAQkA0wAJANMBCQAzAAkAMwEJALMACQCzAQkAcwAJAHMBCQDzAAkA8wEJAAsACQALAQkAiwAJAIsBCQBLAAkASwEJAMsACQDLAQkAKwAJACsBCQCrAAkAqwEJAGsACQBrAQkA6wAJAOsBCQAbAAkAGwEJAJsACQCbAQkAWwAJAFsBCQDbAAkA2wEJADsACQA7AQkAuwAJALsBCQB7AAkAewEJAPsACQD7AQkABwAJAAcBCQCHAAkAhwEJAEcACQBHAQkAxwAJAMcBCQAnAAkAJwEJAKcACQCnAQkAZwAJAGcBCQDnAAkA5wEJABcACQAXAQkAlwAJAJcBCQBXAAkAVwEJANcACQDXAQkANwAJADcBCQC3AAkAtwEJAHcACQB3AQkA9wAJAPcBCQAPAAkADwEJAI8ACQCPAQkATwAJAE8BCQDPAAkAzwEJAC8ACQAvAQkArwAJAK8BCQBvAAkAbwEJAO8ACQDvAQkAHwAJAB8BCQCfAAkAnwEJAF8ACQBfAQkA3wAJAN8BCQA/AAkAPwEJAL8ACQC/AQkAfwAJAH8BCQD/AAkA/wEJAAAABwBAAAcAIAAHAGAABwAQAAcAUAAHADAABwBwAAcACAAHAEgABwAoAAcAaAAHABgABwBYAAcAOAAHAHgABwAEAAcARAAHACQABwBkAAcAFAAHAFQABwA0AAcAdAAHAAMACACDAAgAQwAIAMMACAAjAAgAowAIAGMACADjAAgAAAAFABAABQAIAAUAGAAFAAQABQAUAAUADAAFABwABQACAAUAEgAFAAoABQAaAAUABgAFABYABQAOAAUAHgAFAAEABQARAAUACQAFABkABQAFAAUAFQAFAA0ABQAdAAUAAwAFABMABQALAAUAGwAFAAcABQAXAAUAQbDqAAtNAQAAAAEAAAABAAAAAQAAAAIAAAACAAAAAgAAAAIAAAADAAAAAwAAAAMAAAADAAAABAAAAAQAAAAEAAAABAAAAAUAAAAFAAAABQAAAAUAQaDrAAtlAQAAAAEAAAACAAAAAgAAAAMAAAADAAAABAAAAAQAAAAFAAAABQAAAAYAAAAGAAAABwAAAAcAAAAIAAAACAAAAAkAAAAJAAAACgAAAAoAAAALAAAACwAAAAwAAAAMAAAADQAAAA0AQdDsAAsjAgAAAAMAAAAHAAAAAAAAABAREgAIBwkGCgULBAwDDQIOAQ8AQYTtAAtpAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAKAAAADAAAAA4AAAAQAAAAFAAAABgAAAAcAAAAIAAAACgAAAAwAAAAOAAAAEAAAABQAAAAYAAAAHAAAACAAAAAoAAAAMAAAADgAEGE7gALegEAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAAABAACAAQAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAMS4yLjExAEGI7wALbQcAAAAEAAQACAAEAAgAAAAEAAUAEAAIAAgAAAAEAAYAIAAgAAgAAAAEAAQAEAAQAAkAAAAIABAAIAAgAAkAAAAIABAAgACAAAkAAAAIACAAgAAAAQkAAAAgAIAAAgEABAkAAAAgAAIBAgEAEAkAQYDwAAulAgMABAAFAAYABwAIAAkACgALAA0ADwARABMAFwAbAB8AIwArADMAOwBDAFMAYwBzAIMAowDDAOMAAgEAAAAAAAAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABMAEwATABMAFAAUABQAFAAVABUAFQAVABAATQDKAAAAAQACAAMABAAFAAcACQANABEAGQAhADEAQQBhAIEAwQABAYEBAQIBAwEEAQYBCAEMARABGAEgATABQAFgAAAAABAAEAAQABAAEQARABIAEgATABMAFAAUABUAFQAWABYAFwAXABgAGAAZABkAGgAaABsAGwAcABwAHQAdAEAAQAAQABEAEgAAAAgABwAJAAYACgAFAAsABAAMAAMADQACAA4AAQAPAEGw8gALwRFgBwAAAAhQAAAIEAAUCHMAEgcfAAAIcAAACDAAAAnAABAHCgAACGAAAAggAAAJoAAACAAAAAiAAAAIQAAACeAAEAcGAAAIWAAACBgAAAmQABMHOwAACHgAAAg4AAAJ0AARBxEAAAhoAAAIKAAACbAAAAgIAAAIiAAACEgAAAnwABAHBAAACFQAAAgUABUI4wATBysAAAh0AAAINAAACcgAEQcNAAAIZAAACCQAAAmoAAAIBAAACIQAAAhEAAAJ6AAQBwgAAAhcAAAIHAAACZgAFAdTAAAIfAAACDwAAAnYABIHFwAACGwAAAgsAAAJuAAACAwAAAiMAAAITAAACfgAEAcDAAAIUgAACBIAFQijABMHIwAACHIAAAgyAAAJxAARBwsAAAhiAAAIIgAACaQAAAgCAAAIggAACEIAAAnkABAHBwAACFoAAAgaAAAJlAAUB0MAAAh6AAAIOgAACdQAEgcTAAAIagAACCoAAAm0AAAICgAACIoAAAhKAAAJ9AAQBwUAAAhWAAAIFgBACAAAEwczAAAIdgAACDYAAAnMABEHDwAACGYAAAgmAAAJrAAACAYAAAiGAAAIRgAACewAEAcJAAAIXgAACB4AAAmcABQHYwAACH4AAAg+AAAJ3AASBxsAAAhuAAAILgAACbwAAAgOAAAIjgAACE4AAAn8AGAHAAAACFEAAAgRABUIgwASBx8AAAhxAAAIMQAACcIAEAcKAAAIYQAACCEAAAmiAAAIAQAACIEAAAhBAAAJ4gAQBwYAAAhZAAAIGQAACZIAEwc7AAAIeQAACDkAAAnSABEHEQAACGkAAAgpAAAJsgAACAkAAAiJAAAISQAACfIAEAcEAAAIVQAACBUAEAgCARMHKwAACHUAAAg1AAAJygARBw0AAAhlAAAIJQAACaoAAAgFAAAIhQAACEUAAAnqABAHCAAACF0AAAgdAAAJmgAUB1MAAAh9AAAIPQAACdoAEgcXAAAIbQAACC0AAAm6AAAIDQAACI0AAAhNAAAJ+gAQBwMAAAhTAAAIEwAVCMMAEwcjAAAIcwAACDMAAAnGABEHCwAACGMAAAgjAAAJpgAACAMAAAiDAAAIQwAACeYAEAcHAAAIWwAACBsAAAmWABQHQwAACHsAAAg7AAAJ1gASBxMAAAhrAAAIKwAACbYAAAgLAAAIiwAACEsAAAn2ABAHBQAACFcAAAgXAEAIAAATBzMAAAh3AAAINwAACc4AEQcPAAAIZwAACCcAAAmuAAAIBwAACIcAAAhHAAAJ7gAQBwkAAAhfAAAIHwAACZ4AFAdjAAAIfwAACD8AAAneABIHGwAACG8AAAgvAAAJvgAACA8AAAiPAAAITwAACf4AYAcAAAAIUAAACBAAFAhzABIHHwAACHAAAAgwAAAJwQAQBwoAAAhgAAAIIAAACaEAAAgAAAAIgAAACEAAAAnhABAHBgAACFgAAAgYAAAJkQATBzsAAAh4AAAIOAAACdEAEQcRAAAIaAAACCgAAAmxAAAICAAACIgAAAhIAAAJ8QAQBwQAAAhUAAAIFAAVCOMAEwcrAAAIdAAACDQAAAnJABEHDQAACGQAAAgkAAAJqQAACAQAAAiEAAAIRAAACekAEAcIAAAIXAAACBwAAAmZABQHUwAACHwAAAg8AAAJ2QASBxcAAAhsAAAILAAACbkAAAgMAAAIjAAACEwAAAn5ABAHAwAACFIAAAgSABUIowATByMAAAhyAAAIMgAACcUAEQcLAAAIYgAACCIAAAmlAAAIAgAACIIAAAhCAAAJ5QAQBwcAAAhaAAAIGgAACZUAFAdDAAAIegAACDoAAAnVABIHEwAACGoAAAgqAAAJtQAACAoAAAiKAAAISgAACfUAEAcFAAAIVgAACBYAQAgAABMHMwAACHYAAAg2AAAJzQARBw8AAAhmAAAIJgAACa0AAAgGAAAIhgAACEYAAAntABAHCQAACF4AAAgeAAAJnQAUB2MAAAh+AAAIPgAACd0AEgcbAAAIbgAACC4AAAm9AAAIDgAACI4AAAhOAAAJ/QBgBwAAAAhRAAAIEQAVCIMAEgcfAAAIcQAACDEAAAnDABAHCgAACGEAAAghAAAJowAACAEAAAiBAAAIQQAACeMAEAcGAAAIWQAACBkAAAmTABMHOwAACHkAAAg5AAAJ0wARBxEAAAhpAAAIKQAACbMAAAgJAAAIiQAACEkAAAnzABAHBAAACFUAAAgVABAIAgETBysAAAh1AAAINQAACcsAEQcNAAAIZQAACCUAAAmrAAAIBQAACIUAAAhFAAAJ6wAQBwgAAAhdAAAIHQAACZsAFAdTAAAIfQAACD0AAAnbABIHFwAACG0AAAgtAAAJuwAACA0AAAiNAAAITQAACfsAEAcDAAAIUwAACBMAFQjDABMHIwAACHMAAAgzAAAJxwARBwsAAAhjAAAIIwAACacAAAgDAAAIgwAACEMAAAnnABAHBwAACFsAAAgbAAAJlwAUB0MAAAh7AAAIOwAACdcAEgcTAAAIawAACCsAAAm3AAAICwAACIsAAAhLAAAJ9wAQBwUAAAhXAAAIFwBACAAAEwczAAAIdwAACDcAAAnPABEHDwAACGcAAAgnAAAJrwAACAcAAAiHAAAIRwAACe8AEAcJAAAIXwAACB8AAAmfABQHYwAACH8AAAg/AAAJ3wASBxsAAAhvAAAILwAACb8AAAgPAAAIjwAACE8AAAn/ABAFAQAXBQEBEwURABsFARARBQUAGQUBBBUFQQAdBQFAEAUDABgFAQIUBSEAHAUBIBIFCQAaBQEIFgWBAEAFAAAQBQIAFwWBARMFGQAbBQEYEQUHABkFAQYVBWEAHQUBYBAFBAAYBQEDFAUxABwFATASBQ0AGgUBDBYFwQBABQAAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAEACQsLAAAJBgsAAAsABhEAAAAREREAQYGEAQshCwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAEG7hAELAQwAQceEAQsVDAAAAAAMAAAAAAkMAAAAAAAMAAAMAEH1hAELAQ4AQYGFAQsVDQAAAAQNAAAAAAkOAAAAAAAOAAAOAEGvhQELARAAQbuFAQseDwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAEHyhQELDhIAAAASEhIAAAAAAAAJAEGjhgELAQsAQa+GAQsVCgAAAAAKAAAAAAkLAAAAAAALAAALAEHdhgELAQwAQemGAQsnDAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVGAEG0hwELARkAQduHAQsF//////8AQaCIAQtXGRJEOwI/LEcUPTMwChsGRktFNw9JDo4XA0AdPGkrNh9KLRwBICUpIQgMFRYiLhA4Pgs0MRhkdHV2L0EJfzkRI0MyQomKiwUEJignDSoeNYwHGkiTE5SVAEGAiQELig5JbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgBBkJcBC1JQUFAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAAAEAAAAIAAAAlEsAALRLAEGQmQELAgxQAEHImQELCR8AAADkTAAAAwBB5JkBC4wBLfRRWM+MscBG9rXLKTEDxwRbcDC0Xf0geH+LmthZKVBoSImrp1YDbP+3zYg/1He0K6WjcPG65Kj8QYP92W/hinovLXSWBx8NCV4Ddixw90ClLKdvV0GoqnTfoFhkA0rHxDxTrq9fGAQVseNtKIarDKS/Q/DpUIE5VxZSN/////////////////////8=\";Ou(Po)||(Po=h(Po));function Mu(d){try{if(d==Po&&z)return new Uint8Array(z);var E=xa(d);if(E)return E;if(m)return m(d);throw\"sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when generating HTML (but not JS)\"}catch(I){vr(I)}}function vh(d,E){var I,D,M;try{M=Mu(d),D=new WebAssembly.Module(M),I=new WebAssembly.Instance(D,E)}catch(ie){var _=ie.toString();throw k(\"failed to compile wasm module: \"+_),(_.includes(\"imported Memory\")||_.includes(\"memory import\"))&&k(\"Memory size incompatibility issues may be due to changing INITIAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set INITIAL_MEMORY at runtime to something smaller than it was at compile time).\"),ie}return[I,D]}function kh(){var d={a:Pa};function E(M,_){var ie=M.exports;t.asm=ie,A=t.asm.u,Ei(A.buffer),Qr=t.asm.pa,RA(t.asm.v),LA(\"wasm-instantiate\")}if(NA(\"wasm-instantiate\"),t.instantiateWasm)try{var I=t.instantiateWasm(d,E);return I}catch(M){return k(\"Module.instantiateWasm callback failed with error: \"+M),!1}var D=vh(Po,d);return E(D[0]),t.asm}var Dr,Ae;function Do(d){for(;d.length>0;){var E=d.shift();if(typeof E==\"function\"){E(t);continue}var I=E.func;typeof I==\"number\"?E.arg===void 0?Qr.get(I)():Qr.get(I)(E.arg):I(E.arg===void 0?null:E.arg)}}function Yn(d,E){var I=new Date(fe[d>>2]*1e3);fe[E>>2]=I.getUTCSeconds(),fe[E+4>>2]=I.getUTCMinutes(),fe[E+8>>2]=I.getUTCHours(),fe[E+12>>2]=I.getUTCDate(),fe[E+16>>2]=I.getUTCMonth(),fe[E+20>>2]=I.getUTCFullYear()-1900,fe[E+24>>2]=I.getUTCDay(),fe[E+36>>2]=0,fe[E+32>>2]=0;var D=Date.UTC(I.getUTCFullYear(),0,1,0,0,0,0),M=(I.getTime()-D)/(1e3*60*60*24)|0;return fe[E+28>>2]=M,Yn.GMTString||(Yn.GMTString=Fe(\"GMT\")),fe[E+40>>2]=Yn.GMTString,E}function Uu(d,E){return Yn(d,E)}var St={splitPath:function(d){var E=/^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/;return E.exec(d).slice(1)},normalizeArray:function(d,E){for(var I=0,D=d.length-1;D>=0;D--){var M=d[D];M===\".\"?d.splice(D,1):M===\"..\"?(d.splice(D,1),I++):I&&(d.splice(D,1),I--)}if(E)for(;I;I--)d.unshift(\"..\");return d},normalize:function(d){var E=d.charAt(0)===\"/\",I=d.substr(-1)===\"/\";return d=St.normalizeArray(d.split(\"/\").filter(function(D){return!!D}),!E).join(\"/\"),!d&&!E&&(d=\".\"),d&&I&&(d+=\"/\"),(E?\"/\":\"\")+d},dirname:function(d){var E=St.splitPath(d),I=E[0],D=E[1];return!I&&!D?\".\":(D&&(D=D.substr(0,D.length-1)),I+D)},basename:function(d){if(d===\"/\")return\"/\";d=St.normalize(d),d=d.replace(/\\/$/,\"\");var E=d.lastIndexOf(\"/\");return E===-1?d:d.substr(E+1)},extname:function(d){return St.splitPath(d)[3]},join:function(){var d=Array.prototype.slice.call(arguments,0);return St.normalize(d.join(\"/\"))},join2:function(d,E){return St.normalize(d+\"/\"+E)}};function Vl(){if(typeof crypto==\"object\"&&typeof crypto.getRandomValues==\"function\"){var d=new Uint8Array(1);return function(){return crypto.getRandomValues(d),d[0]}}else if(g)try{var E=require(\"crypto\");return function(){return E.randomBytes(1)[0]}}catch(I){}return function(){vr(\"randomDevice\")}}var qn={resolve:function(){for(var d=\"\",E=!1,I=arguments.length-1;I>=-1&&!E;I--){var D=I>=0?arguments[I]:S.cwd();if(typeof D!=\"string\")throw new TypeError(\"Arguments to path.resolve must be strings\");if(!D)return\"\";d=D+\"/\"+d,E=D.charAt(0)===\"/\"}return d=St.normalizeArray(d.split(\"/\").filter(function(M){return!!M}),!E).join(\"/\"),(E?\"/\":\"\")+d||\".\"},relative:function(d,E){d=qn.resolve(d).substr(1),E=qn.resolve(E).substr(1);function I(_e){for(var ot=0;ot<_e.length&&_e[ot]===\"\";ot++);for(var Bt=_e.length-1;Bt>=0&&_e[Bt]===\"\";Bt--);return ot>Bt?[]:_e.slice(ot,Bt-ot+1)}for(var D=I(d.split(\"/\")),M=I(E.split(\"/\")),_=Math.min(D.length,M.length),ie=_,we=0;we<_;we++)if(D[we]!==M[we]){ie=we;break}for(var me=[],we=ie;we<D.length;we++)me.push(\"..\");return me=me.concat(M.slice(ie)),me.join(\"/\")}},ps={ttys:[],init:function(){},shutdown:function(){},register:function(d,E){ps.ttys[d]={input:[],output:[],ops:E},S.registerDevice(d,ps.stream_ops)},stream_ops:{open:function(d){var E=ps.ttys[d.node.rdev];if(!E)throw new S.ErrnoError(43);d.tty=E,d.seekable=!1},close:function(d){d.tty.ops.flush(d.tty)},flush:function(d){d.tty.ops.flush(d.tty)},read:function(d,E,I,D,M){if(!d.tty||!d.tty.ops.get_char)throw new S.ErrnoError(60);for(var _=0,ie=0;ie<D;ie++){var we;try{we=d.tty.ops.get_char(d.tty)}catch(me){throw new S.ErrnoError(29)}if(we===void 0&&_===0)throw new S.ErrnoError(6);if(we==null)break;_++,E[I+ie]=we}return _&&(d.node.timestamp=Date.now()),_},write:function(d,E,I,D,M){if(!d.tty||!d.tty.ops.put_char)throw new S.ErrnoError(60);try{for(var _=0;_<D;_++)d.tty.ops.put_char(d.tty,E[I+_])}catch(ie){throw new S.ErrnoError(29)}return D&&(d.node.timestamp=Date.now()),_}},default_tty_ops:{get_char:function(d){if(!d.input.length){var E=null;if(g){var I=256,D=Buffer.alloc?Buffer.alloc(I):new Buffer(I),M=0;try{M=y.readSync(process.stdin.fd,D,0,I,null)}catch(_){if(_.toString().includes(\"EOF\"))M=0;else throw _}M>0?E=D.slice(0,M).toString(\"utf-8\"):E=null}else typeof window!=\"undefined\"&&typeof window.prompt==\"function\"?(E=window.prompt(\"Input: \"),E!==null&&(E+=`\n`)):typeof readline==\"function\"&&(E=readline(),E!==null&&(E+=`\n`));if(!E)return null;d.input=OA(E,!0)}return d.input.shift()},put_char:function(d,E){E===null||E===10?(v(Ge(d.output,0)),d.output=[]):E!=0&&d.output.push(E)},flush:function(d){d.output&&d.output.length>0&&(v(Ge(d.output,0)),d.output=[])}},default_tty1_ops:{put_char:function(d,E){E===null||E===10?(k(Ge(d.output,0)),d.output=[]):E!=0&&d.output.push(E)},flush:function(d){d.output&&d.output.length>0&&(k(Ge(d.output,0)),d.output=[])}}};function ds(d){for(var E=Y(d,65536),I=Et(E);d<E;)pe[I+d++]=0;return I}var pt={ops_table:null,mount:function(d){return pt.createNode(null,\"/\",16384|511,0)},createNode:function(d,E,I,D){if(S.isBlkdev(I)||S.isFIFO(I))throw new S.ErrnoError(63);pt.ops_table||(pt.ops_table={dir:{node:{getattr:pt.node_ops.getattr,setattr:pt.node_ops.setattr,lookup:pt.node_ops.lookup,mknod:pt.node_ops.mknod,rename:pt.node_ops.rename,unlink:pt.node_ops.unlink,rmdir:pt.node_ops.rmdir,readdir:pt.node_ops.readdir,symlink:pt.node_ops.symlink},stream:{llseek:pt.stream_ops.llseek}},file:{node:{getattr:pt.node_ops.getattr,setattr:pt.node_ops.setattr},stream:{llseek:pt.stream_ops.llseek,read:pt.stream_ops.read,write:pt.stream_ops.write,allocate:pt.stream_ops.allocate,mmap:pt.stream_ops.mmap,msync:pt.stream_ops.msync}},link:{node:{getattr:pt.node_ops.getattr,setattr:pt.node_ops.setattr,readlink:pt.node_ops.readlink},stream:{}},chrdev:{node:{getattr:pt.node_ops.getattr,setattr:pt.node_ops.setattr},stream:S.chrdev_stream_ops}});var M=S.createNode(d,E,I,D);return S.isDir(M.mode)?(M.node_ops=pt.ops_table.dir.node,M.stream_ops=pt.ops_table.dir.stream,M.contents={}):S.isFile(M.mode)?(M.node_ops=pt.ops_table.file.node,M.stream_ops=pt.ops_table.file.stream,M.usedBytes=0,M.contents=null):S.isLink(M.mode)?(M.node_ops=pt.ops_table.link.node,M.stream_ops=pt.ops_table.link.stream):S.isChrdev(M.mode)&&(M.node_ops=pt.ops_table.chrdev.node,M.stream_ops=pt.ops_table.chrdev.stream),M.timestamp=Date.now(),d&&(d.contents[E]=M,d.timestamp=M.timestamp),M},getFileDataAsTypedArray:function(d){return d.contents?d.contents.subarray?d.contents.subarray(0,d.usedBytes):new Uint8Array(d.contents):new Uint8Array(0)},expandFileStorage:function(d,E){var I=d.contents?d.contents.length:0;if(!(I>=E)){var D=1024*1024;E=Math.max(E,I*(I<D?2:1.125)>>>0),I!=0&&(E=Math.max(E,256));var M=d.contents;d.contents=new Uint8Array(E),d.usedBytes>0&&d.contents.set(M.subarray(0,d.usedBytes),0)}},resizeFileStorage:function(d,E){if(d.usedBytes!=E)if(E==0)d.contents=null,d.usedBytes=0;else{var I=d.contents;d.contents=new Uint8Array(E),I&&d.contents.set(I.subarray(0,Math.min(E,d.usedBytes))),d.usedBytes=E}},node_ops:{getattr:function(d){var E={};return E.dev=S.isChrdev(d.mode)?d.id:1,E.ino=d.id,E.mode=d.mode,E.nlink=1,E.uid=0,E.gid=0,E.rdev=d.rdev,S.isDir(d.mode)?E.size=4096:S.isFile(d.mode)?E.size=d.usedBytes:S.isLink(d.mode)?E.size=d.link.length:E.size=0,E.atime=new Date(d.timestamp),E.mtime=new Date(d.timestamp),E.ctime=new Date(d.timestamp),E.blksize=4096,E.blocks=Math.ceil(E.size/E.blksize),E},setattr:function(d,E){E.mode!==void 0&&(d.mode=E.mode),E.timestamp!==void 0&&(d.timestamp=E.timestamp),E.size!==void 0&&pt.resizeFileStorage(d,E.size)},lookup:function(d,E){throw S.genericErrors[44]},mknod:function(d,E,I,D){return pt.createNode(d,E,I,D)},rename:function(d,E,I){if(S.isDir(d.mode)){var D;try{D=S.lookupNode(E,I)}catch(_){}if(D)for(var M in D.contents)throw new S.ErrnoError(55)}delete d.parent.contents[d.name],d.parent.timestamp=Date.now(),d.name=I,E.contents[I]=d,E.timestamp=d.parent.timestamp,d.parent=E},unlink:function(d,E){delete d.contents[E],d.timestamp=Date.now()},rmdir:function(d,E){var I=S.lookupNode(d,E);for(var D in I.contents)throw new S.ErrnoError(55);delete d.contents[E],d.timestamp=Date.now()},readdir:function(d){var E=[\".\",\"..\"];for(var I in d.contents)!d.contents.hasOwnProperty(I)||E.push(I);return E},symlink:function(d,E,I){var D=pt.createNode(d,E,511|40960,0);return D.link=I,D},readlink:function(d){if(!S.isLink(d.mode))throw new S.ErrnoError(28);return d.link}},stream_ops:{read:function(d,E,I,D,M){var _=d.node.contents;if(M>=d.node.usedBytes)return 0;var ie=Math.min(d.node.usedBytes-M,D);if(ie>8&&_.subarray)E.set(_.subarray(M,M+ie),I);else for(var we=0;we<ie;we++)E[I+we]=_[M+we];return ie},write:function(d,E,I,D,M,_){if(E.buffer===pe.buffer&&(_=!1),!D)return 0;var ie=d.node;if(ie.timestamp=Date.now(),E.subarray&&(!ie.contents||ie.contents.subarray)){if(_)return ie.contents=E.subarray(I,I+D),ie.usedBytes=D,D;if(ie.usedBytes===0&&M===0)return ie.contents=E.slice(I,I+D),ie.usedBytes=D,D;if(M+D<=ie.usedBytes)return ie.contents.set(E.subarray(I,I+D),M),D}if(pt.expandFileStorage(ie,M+D),ie.contents.subarray&&E.subarray)ie.contents.set(E.subarray(I,I+D),M);else for(var we=0;we<D;we++)ie.contents[M+we]=E[I+we];return ie.usedBytes=Math.max(ie.usedBytes,M+D),D},llseek:function(d,E,I){var D=E;if(I===1?D+=d.position:I===2&&S.isFile(d.node.mode)&&(D+=d.node.usedBytes),D<0)throw new S.ErrnoError(28);return D},allocate:function(d,E,I){pt.expandFileStorage(d.node,E+I),d.node.usedBytes=Math.max(d.node.usedBytes,E+I)},mmap:function(d,E,I,D,M,_){if(E!==0)throw new S.ErrnoError(28);if(!S.isFile(d.node.mode))throw new S.ErrnoError(43);var ie,we,me=d.node.contents;if(!(_&2)&&me.buffer===ve)we=!1,ie=me.byteOffset;else{if((D>0||D+I<me.length)&&(me.subarray?me=me.subarray(D,D+I):me=Array.prototype.slice.call(me,D,D+I)),we=!0,ie=ds(I),!ie)throw new S.ErrnoError(48);pe.set(me,ie)}return{ptr:ie,allocated:we}},msync:function(d,E,I,D,M){if(!S.isFile(d.node.mode))throw new S.ErrnoError(43);if(M&2)return 0;var _=pt.stream_ops.write(d,E,0,D,I,!1);return 0}}},Ro={EPERM:63,ENOENT:44,ESRCH:71,EINTR:27,EIO:29,ENXIO:60,E2BIG:1,ENOEXEC:45,EBADF:8,ECHILD:12,EAGAIN:6,EWOULDBLOCK:6,ENOMEM:48,EACCES:2,EFAULT:21,ENOTBLK:105,EBUSY:10,EEXIST:20,EXDEV:75,ENODEV:43,ENOTDIR:54,EISDIR:31,EINVAL:28,ENFILE:41,EMFILE:33,ENOTTY:59,ETXTBSY:74,EFBIG:22,ENOSPC:51,ESPIPE:70,EROFS:69,EMLINK:34,EPIPE:64,EDOM:18,ERANGE:68,ENOMSG:49,EIDRM:24,ECHRNG:106,EL2NSYNC:156,EL3HLT:107,EL3RST:108,ELNRNG:109,EUNATCH:110,ENOCSI:111,EL2HLT:112,EDEADLK:16,ENOLCK:46,EBADE:113,EBADR:114,EXFULL:115,ENOANO:104,EBADRQC:103,EBADSLT:102,EDEADLOCK:16,EBFONT:101,ENOSTR:100,ENODATA:116,ETIME:117,ENOSR:118,ENONET:119,ENOPKG:120,EREMOTE:121,ENOLINK:47,EADV:122,ESRMNT:123,ECOMM:124,EPROTO:65,EMULTIHOP:36,EDOTDOT:125,EBADMSG:9,ENOTUNIQ:126,EBADFD:127,EREMCHG:128,ELIBACC:129,ELIBBAD:130,ELIBSCN:131,ELIBMAX:132,ELIBEXEC:133,ENOSYS:52,ENOTEMPTY:55,ENAMETOOLONG:37,ELOOP:32,EOPNOTSUPP:138,EPFNOSUPPORT:139,ECONNRESET:15,ENOBUFS:42,EAFNOSUPPORT:5,EPROTOTYPE:67,ENOTSOCK:57,ENOPROTOOPT:50,ESHUTDOWN:140,ECONNREFUSED:14,EADDRINUSE:3,ECONNABORTED:13,ENETUNREACH:40,ENETDOWN:38,ETIMEDOUT:73,EHOSTDOWN:142,EHOSTUNREACH:23,EINPROGRESS:26,EALREADY:7,EDESTADDRREQ:17,EMSGSIZE:35,EPROTONOSUPPORT:66,ESOCKTNOSUPPORT:137,EADDRNOTAVAIL:4,ENETRESET:39,EISCONN:30,ENOTCONN:53,ETOOMANYREFS:141,EUSERS:136,EDQUOT:19,ESTALE:72,ENOTSUP:138,ENOMEDIUM:148,EILSEQ:25,EOVERFLOW:61,ECANCELED:11,ENOTRECOVERABLE:56,EOWNERDEAD:62,ESTRPIPE:135},lt={isWindows:!1,staticInit:function(){lt.isWindows=!!process.platform.match(/^win/);var d={fs:Oe.constants};d.fs&&(d=d.fs),lt.flagsForNodeMap={1024:d.O_APPEND,64:d.O_CREAT,128:d.O_EXCL,256:d.O_NOCTTY,0:d.O_RDONLY,2:d.O_RDWR,4096:d.O_SYNC,512:d.O_TRUNC,1:d.O_WRONLY}},bufferFrom:function(d){return Buffer.alloc?Buffer.from(d):new Buffer(d)},convertNodeCode:function(d){var E=d.code;return Ro[E]},mount:function(d){return lt.createNode(null,\"/\",lt.getMode(d.opts.root),0)},createNode:function(d,E,I,D){if(!S.isDir(I)&&!S.isFile(I)&&!S.isLink(I))throw new S.ErrnoError(28);var M=S.createNode(d,E,I);return M.node_ops=lt.node_ops,M.stream_ops=lt.stream_ops,M},getMode:function(d){var E;try{E=Oe.lstatSync(d),lt.isWindows&&(E.mode=E.mode|(E.mode&292)>>2)}catch(I){throw I.code?new S.ErrnoError(lt.convertNodeCode(I)):I}return E.mode},realPath:function(d){for(var E=[];d.parent!==d;)E.push(d.name),d=d.parent;return E.push(d.mount.opts.root),E.reverse(),St.join.apply(null,E)},flagsForNode:function(d){d&=~2097152,d&=~2048,d&=~32768,d&=~524288;var E=0;for(var I in lt.flagsForNodeMap)d&I&&(E|=lt.flagsForNodeMap[I],d^=I);if(d)throw new S.ErrnoError(28);return E},node_ops:{getattr:function(d){var E=lt.realPath(d),I;try{I=Oe.lstatSync(E)}catch(D){throw D.code?new S.ErrnoError(lt.convertNodeCode(D)):D}return lt.isWindows&&!I.blksize&&(I.blksize=4096),lt.isWindows&&!I.blocks&&(I.blocks=(I.size+I.blksize-1)/I.blksize|0),{dev:I.dev,ino:I.ino,mode:I.mode,nlink:I.nlink,uid:I.uid,gid:I.gid,rdev:I.rdev,size:I.size,atime:I.atime,mtime:I.mtime,ctime:I.ctime,blksize:I.blksize,blocks:I.blocks}},setattr:function(d,E){var I=lt.realPath(d);try{if(E.mode!==void 0&&(Oe.chmodSync(I,E.mode),d.mode=E.mode),E.timestamp!==void 0){var D=new Date(E.timestamp);Oe.utimesSync(I,D,D)}E.size!==void 0&&Oe.truncateSync(I,E.size)}catch(M){throw M.code?new S.ErrnoError(lt.convertNodeCode(M)):M}},lookup:function(d,E){var I=St.join2(lt.realPath(d),E),D=lt.getMode(I);return lt.createNode(d,E,D)},mknod:function(d,E,I,D){var M=lt.createNode(d,E,I,D),_=lt.realPath(M);try{S.isDir(M.mode)?Oe.mkdirSync(_,M.mode):Oe.writeFileSync(_,\"\",{mode:M.mode})}catch(ie){throw ie.code?new S.ErrnoError(lt.convertNodeCode(ie)):ie}return M},rename:function(d,E,I){var D=lt.realPath(d),M=St.join2(lt.realPath(E),I);try{Oe.renameSync(D,M)}catch(_){throw _.code?new S.ErrnoError(lt.convertNodeCode(_)):_}d.name=I},unlink:function(d,E){var I=St.join2(lt.realPath(d),E);try{Oe.unlinkSync(I)}catch(D){throw D.code?new S.ErrnoError(lt.convertNodeCode(D)):D}},rmdir:function(d,E){var I=St.join2(lt.realPath(d),E);try{Oe.rmdirSync(I)}catch(D){throw D.code?new S.ErrnoError(lt.convertNodeCode(D)):D}},readdir:function(d){var E=lt.realPath(d);try{return Oe.readdirSync(E)}catch(I){throw I.code?new S.ErrnoError(lt.convertNodeCode(I)):I}},symlink:function(d,E,I){var D=St.join2(lt.realPath(d),E);try{Oe.symlinkSync(I,D)}catch(M){throw M.code?new S.ErrnoError(lt.convertNodeCode(M)):M}},readlink:function(d){var E=lt.realPath(d);try{return E=Oe.readlinkSync(E),E=ju.relative(ju.resolve(d.mount.opts.root),E),E}catch(I){throw I.code?new S.ErrnoError(lt.convertNodeCode(I)):I}}},stream_ops:{open:function(d){var E=lt.realPath(d.node);try{S.isFile(d.node.mode)&&(d.nfd=Oe.openSync(E,lt.flagsForNode(d.flags)))}catch(I){throw I.code?new S.ErrnoError(lt.convertNodeCode(I)):I}},close:function(d){try{S.isFile(d.node.mode)&&d.nfd&&Oe.closeSync(d.nfd)}catch(E){throw E.code?new S.ErrnoError(lt.convertNodeCode(E)):E}},read:function(d,E,I,D,M){if(D===0)return 0;try{return Oe.readSync(d.nfd,lt.bufferFrom(E.buffer),I,D,M)}catch(_){throw new S.ErrnoError(lt.convertNodeCode(_))}},write:function(d,E,I,D,M){try{return Oe.writeSync(d.nfd,lt.bufferFrom(E.buffer),I,D,M)}catch(_){throw new S.ErrnoError(lt.convertNodeCode(_))}},llseek:function(d,E,I){var D=E;if(I===1)D+=d.position;else if(I===2&&S.isFile(d.node.mode))try{var M=Oe.fstatSync(d.nfd);D+=M.size}catch(_){throw new S.ErrnoError(lt.convertNodeCode(_))}if(D<0)throw new S.ErrnoError(28);return D},mmap:function(d,E,I,D,M,_){if(E!==0)throw new S.ErrnoError(28);if(!S.isFile(d.node.mode))throw new S.ErrnoError(43);var ie=ds(I);return lt.stream_ops.read(d,pe,ie,I,D),{ptr:ie,allocated:!0}},msync:function(d,E,I,D,M){if(!S.isFile(d.node.mode))throw new S.ErrnoError(43);if(M&2)return 0;var _=lt.stream_ops.write(d,E,0,D,I,!1);return 0}}},mn={lookupPath:function(d){return{path:d,node:{mode:lt.getMode(d)}}},createStandardStreams:function(){S.streams[0]={fd:0,nfd:0,position:0,path:\"\",flags:0,tty:!0,seekable:!1};for(var d=1;d<3;d++)S.streams[d]={fd:d,nfd:d,position:0,path:\"\",flags:577,tty:!0,seekable:!1}},cwd:function(){return process.cwd()},chdir:function(){process.chdir.apply(void 0,arguments)},mknod:function(d,E){S.isDir(d)?Oe.mkdirSync(d,E):Oe.writeFileSync(d,\"\",{mode:E})},mkdir:function(){Oe.mkdirSync.apply(void 0,arguments)},symlink:function(){Oe.symlinkSync.apply(void 0,arguments)},rename:function(){Oe.renameSync.apply(void 0,arguments)},rmdir:function(){Oe.rmdirSync.apply(void 0,arguments)},readdir:function(){Oe.readdirSync.apply(void 0,arguments)},unlink:function(){Oe.unlinkSync.apply(void 0,arguments)},readlink:function(){return Oe.readlinkSync.apply(void 0,arguments)},stat:function(){return Oe.statSync.apply(void 0,arguments)},lstat:function(){return Oe.lstatSync.apply(void 0,arguments)},chmod:function(){Oe.chmodSync.apply(void 0,arguments)},fchmod:function(){Oe.fchmodSync.apply(void 0,arguments)},chown:function(){Oe.chownSync.apply(void 0,arguments)},fchown:function(){Oe.fchownSync.apply(void 0,arguments)},truncate:function(){Oe.truncateSync.apply(void 0,arguments)},ftruncate:function(d,E){if(E<0)throw new S.ErrnoError(28);Oe.ftruncateSync.apply(void 0,arguments)},utime:function(){Oe.utimesSync.apply(void 0,arguments)},open:function(d,E,I,D){typeof E==\"string\"&&(E=to.modeStringToFlags(E));var M=Oe.openSync(d,lt.flagsForNode(E),I),_=D!=null?D:S.nextfd(M),ie={fd:_,nfd:M,position:0,path:d,flags:E,seekable:!0};return S.streams[_]=ie,ie},close:function(d){d.stream_ops||Oe.closeSync(d.nfd),S.closeStream(d.fd)},llseek:function(d,E,I){if(d.stream_ops)return to.llseek(d,E,I);var D=E;if(I===1)D+=d.position;else if(I===2)D+=Oe.fstatSync(d.nfd).size;else if(I!==0)throw new S.ErrnoError(Ro.EINVAL);if(D<0)throw new S.ErrnoError(Ro.EINVAL);return d.position=D,D},read:function(d,E,I,D,M){if(d.stream_ops)return to.read(d,E,I,D,M);var _=typeof M!=\"undefined\";!_&&d.seekable&&(M=d.position);var ie=Oe.readSync(d.nfd,lt.bufferFrom(E.buffer),I,D,M);return _||(d.position+=ie),ie},write:function(d,E,I,D,M){if(d.stream_ops)return to.write(d,E,I,D,M);d.flags&+\"1024\"&&S.llseek(d,0,+\"2\");var _=typeof M!=\"undefined\";!_&&d.seekable&&(M=d.position);var ie=Oe.writeSync(d.nfd,lt.bufferFrom(E.buffer),I,D,M);return _||(d.position+=ie),ie},allocate:function(){throw new S.ErrnoError(Ro.EOPNOTSUPP)},mmap:function(d,E,I,D,M,_){if(d.stream_ops)return to.mmap(d,E,I,D,M,_);if(E!==0)throw new S.ErrnoError(28);var ie=ds(I);return S.read(d,pe,ie,I,D),{ptr:ie,allocated:!0}},msync:function(d,E,I,D,M){return d.stream_ops?to.msync(d,E,I,D,M):(M&2||S.write(d,E,0,D,I),0)},munmap:function(){return 0},ioctl:function(){throw new S.ErrnoError(Ro.ENOTTY)}},S={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:\"/\",initialized:!1,ignorePermissions:!0,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:function(d,E){if(d=qn.resolve(S.cwd(),d),E=E||{},!d)return{path:\"\",node:null};var I={follow_mount:!0,recurse_count:0};for(var D in I)E[D]===void 0&&(E[D]=I[D]);if(E.recurse_count>8)throw new S.ErrnoError(32);for(var M=St.normalizeArray(d.split(\"/\").filter(function(ut){return!!ut}),!1),_=S.root,ie=\"/\",we=0;we<M.length;we++){var me=we===M.length-1;if(me&&E.parent)break;if(_=S.lookupNode(_,M[we]),ie=St.join2(ie,M[we]),S.isMountpoint(_)&&(!me||me&&E.follow_mount)&&(_=_.mounted.root),!me||E.follow)for(var _e=0;S.isLink(_.mode);){var ot=S.readlink(ie);ie=qn.resolve(St.dirname(ie),ot);var Bt=S.lookupPath(ie,{recurse_count:E.recurse_count});if(_=Bt.node,_e++>40)throw new S.ErrnoError(32)}}return{path:ie,node:_}},getPath:function(d){for(var E;;){if(S.isRoot(d)){var I=d.mount.mountpoint;return E?I[I.length-1]!==\"/\"?I+\"/\"+E:I+E:I}E=E?d.name+\"/\"+E:d.name,d=d.parent}},hashName:function(d,E){for(var I=0,D=0;D<E.length;D++)I=(I<<5)-I+E.charCodeAt(D)|0;return(d+I>>>0)%S.nameTable.length},hashAddNode:function(d){var E=S.hashName(d.parent.id,d.name);d.name_next=S.nameTable[E],S.nameTable[E]=d},hashRemoveNode:function(d){var E=S.hashName(d.parent.id,d.name);if(S.nameTable[E]===d)S.nameTable[E]=d.name_next;else for(var I=S.nameTable[E];I;){if(I.name_next===d){I.name_next=d.name_next;break}I=I.name_next}},lookupNode:function(d,E){var I=S.mayLookup(d);if(I)throw new S.ErrnoError(I,d);for(var D=S.hashName(d.id,E),M=S.nameTable[D];M;M=M.name_next){var _=M.name;if(M.parent.id===d.id&&_===E)return M}return S.lookup(d,E)},createNode:function(d,E,I,D){var M=new S.FSNode(d,E,I,D);return S.hashAddNode(M),M},destroyNode:function(d){S.hashRemoveNode(d)},isRoot:function(d){return d===d.parent},isMountpoint:function(d){return!!d.mounted},isFile:function(d){return(d&61440)==32768},isDir:function(d){return(d&61440)==16384},isLink:function(d){return(d&61440)==40960},isChrdev:function(d){return(d&61440)==8192},isBlkdev:function(d){return(d&61440)==24576},isFIFO:function(d){return(d&61440)==4096},isSocket:function(d){return(d&49152)==49152},flagModes:{r:0,\"r+\":2,w:577,\"w+\":578,a:1089,\"a+\":1090},modeStringToFlags:function(d){var E=S.flagModes[d];if(typeof E==\"undefined\")throw new Error(\"Unknown file open mode: \"+d);return E},flagsToPermissionString:function(d){var E=[\"r\",\"w\",\"rw\"][d&3];return d&512&&(E+=\"w\"),E},nodePermissions:function(d,E){return S.ignorePermissions?0:E.includes(\"r\")&&!(d.mode&292)||E.includes(\"w\")&&!(d.mode&146)||E.includes(\"x\")&&!(d.mode&73)?2:0},mayLookup:function(d){var E=S.nodePermissions(d,\"x\");return E||(d.node_ops.lookup?0:2)},mayCreate:function(d,E){try{var I=S.lookupNode(d,E);return 20}catch(D){}return S.nodePermissions(d,\"wx\")},mayDelete:function(d,E,I){var D;try{D=S.lookupNode(d,E)}catch(_){return _.errno}var M=S.nodePermissions(d,\"wx\");if(M)return M;if(I){if(!S.isDir(D.mode))return 54;if(S.isRoot(D)||S.getPath(D)===S.cwd())return 10}else if(S.isDir(D.mode))return 31;return 0},mayOpen:function(d,E){return d?S.isLink(d.mode)?32:S.isDir(d.mode)&&(S.flagsToPermissionString(E)!==\"r\"||E&512)?31:S.nodePermissions(d,S.flagsToPermissionString(E)):44},MAX_OPEN_FDS:4096,nextfd:function(d,E){d=d||0,E=E||S.MAX_OPEN_FDS;for(var I=d;I<=E;I++)if(!S.streams[I])return I;throw new S.ErrnoError(33)},getStream:function(d){return S.streams[d]},createStream:function(d,E,I){S.FSStream||(S.FSStream=function(){},S.FSStream.prototype={object:{get:function(){return this.node},set:function(ie){this.node=ie}},isRead:{get:function(){return(this.flags&2097155)!=1}},isWrite:{get:function(){return(this.flags&2097155)!=0}},isAppend:{get:function(){return this.flags&1024}}});var D=new S.FSStream;for(var M in d)D[M]=d[M];d=D;var _=S.nextfd(E,I);return d.fd=_,S.streams[_]=d,d},closeStream:function(d){S.streams[d]=null},chrdev_stream_ops:{open:function(d){var E=S.getDevice(d.node.rdev);d.stream_ops=E.stream_ops,d.stream_ops.open&&d.stream_ops.open(d)},llseek:function(){throw new S.ErrnoError(70)}},major:function(d){return d>>8},minor:function(d){return d&255},makedev:function(d,E){return d<<8|E},registerDevice:function(d,E){S.devices[d]={stream_ops:E}},getDevice:function(d){return S.devices[d]},getMounts:function(d){for(var E=[],I=[d];I.length;){var D=I.pop();E.push(D),I.push.apply(I,D.mounts)}return E},syncfs:function(d,E){typeof d==\"function\"&&(E=d,d=!1),S.syncFSRequests++,S.syncFSRequests>1&&k(\"warning: \"+S.syncFSRequests+\" FS.syncfs operations in flight at once, probably just doing extra work\");var I=S.getMounts(S.root.mount),D=0;function M(ie){return S.syncFSRequests--,E(ie)}function _(ie){if(ie)return _.errored?void 0:(_.errored=!0,M(ie));++D>=I.length&&M(null)}I.forEach(function(ie){if(!ie.type.syncfs)return _(null);ie.type.syncfs(ie,d,_)})},mount:function(d,E,I){var D=I===\"/\",M=!I,_;if(D&&S.root)throw new S.ErrnoError(10);if(!D&&!M){var ie=S.lookupPath(I,{follow_mount:!1});if(I=ie.path,_=ie.node,S.isMountpoint(_))throw new S.ErrnoError(10);if(!S.isDir(_.mode))throw new S.ErrnoError(54)}var we={type:d,opts:E,mountpoint:I,mounts:[]},me=d.mount(we);return me.mount=we,we.root=me,D?S.root=me:_&&(_.mounted=we,_.mount&&_.mount.mounts.push(we)),me},unmount:function(d){var E=S.lookupPath(d,{follow_mount:!1});if(!S.isMountpoint(E.node))throw new S.ErrnoError(28);var I=E.node,D=I.mounted,M=S.getMounts(D);Object.keys(S.nameTable).forEach(function(ie){for(var we=S.nameTable[ie];we;){var me=we.name_next;M.includes(we.mount)&&S.destroyNode(we),we=me}}),I.mounted=null;var _=I.mount.mounts.indexOf(D);I.mount.mounts.splice(_,1)},lookup:function(d,E){return d.node_ops.lookup(d,E)},mknod:function(d,E,I){var D=S.lookupPath(d,{parent:!0}),M=D.node,_=St.basename(d);if(!_||_===\".\"||_===\"..\")throw new S.ErrnoError(28);var ie=S.mayCreate(M,_);if(ie)throw new S.ErrnoError(ie);if(!M.node_ops.mknod)throw new S.ErrnoError(63);return M.node_ops.mknod(M,_,E,I)},create:function(d,E){return E=E!==void 0?E:438,E&=4095,E|=32768,S.mknod(d,E,0)},mkdir:function(d,E){return E=E!==void 0?E:511,E&=511|512,E|=16384,S.mknod(d,E,0)},mkdirTree:function(d,E){for(var I=d.split(\"/\"),D=\"\",M=0;M<I.length;++M)if(!!I[M]){D+=\"/\"+I[M];try{S.mkdir(D,E)}catch(_){if(_.errno!=20)throw _}}},mkdev:function(d,E,I){return typeof I==\"undefined\"&&(I=E,E=438),E|=8192,S.mknod(d,E,I)},symlink:function(d,E){if(!qn.resolve(d))throw new S.ErrnoError(44);var I=S.lookupPath(E,{parent:!0}),D=I.node;if(!D)throw new S.ErrnoError(44);var M=St.basename(E),_=S.mayCreate(D,M);if(_)throw new S.ErrnoError(_);if(!D.node_ops.symlink)throw new S.ErrnoError(63);return D.node_ops.symlink(D,M,d)},rename:function(d,E){var I=St.dirname(d),D=St.dirname(E),M=St.basename(d),_=St.basename(E),ie,we,me;if(ie=S.lookupPath(d,{parent:!0}),we=ie.node,ie=S.lookupPath(E,{parent:!0}),me=ie.node,!we||!me)throw new S.ErrnoError(44);if(we.mount!==me.mount)throw new S.ErrnoError(75);var _e=S.lookupNode(we,M),ot=qn.relative(d,D);if(ot.charAt(0)!==\".\")throw new S.ErrnoError(28);if(ot=qn.relative(E,I),ot.charAt(0)!==\".\")throw new S.ErrnoError(55);var Bt;try{Bt=S.lookupNode(me,_)}catch(yt){}if(_e!==Bt){var ut=S.isDir(_e.mode),st=S.mayDelete(we,M,ut);if(st)throw new S.ErrnoError(st);if(st=Bt?S.mayDelete(me,_,ut):S.mayCreate(me,_),st)throw new S.ErrnoError(st);if(!we.node_ops.rename)throw new S.ErrnoError(63);if(S.isMountpoint(_e)||Bt&&S.isMountpoint(Bt))throw new S.ErrnoError(10);if(me!==we&&(st=S.nodePermissions(we,\"w\"),st))throw new S.ErrnoError(st);try{S.trackingDelegate.willMovePath&&S.trackingDelegate.willMovePath(d,E)}catch(yt){k(\"FS.trackingDelegate['willMovePath']('\"+d+\"', '\"+E+\"') threw an exception: \"+yt.message)}S.hashRemoveNode(_e);try{we.node_ops.rename(_e,me,_)}catch(yt){throw yt}finally{S.hashAddNode(_e)}try{S.trackingDelegate.onMovePath&&S.trackingDelegate.onMovePath(d,E)}catch(yt){k(\"FS.trackingDelegate['onMovePath']('\"+d+\"', '\"+E+\"') threw an exception: \"+yt.message)}}},rmdir:function(d){var E=S.lookupPath(d,{parent:!0}),I=E.node,D=St.basename(d),M=S.lookupNode(I,D),_=S.mayDelete(I,D,!0);if(_)throw new S.ErrnoError(_);if(!I.node_ops.rmdir)throw new S.ErrnoError(63);if(S.isMountpoint(M))throw new S.ErrnoError(10);try{S.trackingDelegate.willDeletePath&&S.trackingDelegate.willDeletePath(d)}catch(ie){k(\"FS.trackingDelegate['willDeletePath']('\"+d+\"') threw an exception: \"+ie.message)}I.node_ops.rmdir(I,D),S.destroyNode(M);try{S.trackingDelegate.onDeletePath&&S.trackingDelegate.onDeletePath(d)}catch(ie){k(\"FS.trackingDelegate['onDeletePath']('\"+d+\"') threw an exception: \"+ie.message)}},readdir:function(d){var E=S.lookupPath(d,{follow:!0}),I=E.node;if(!I.node_ops.readdir)throw new S.ErrnoError(54);return I.node_ops.readdir(I)},unlink:function(d){var E=S.lookupPath(d,{parent:!0}),I=E.node,D=St.basename(d),M=S.lookupNode(I,D),_=S.mayDelete(I,D,!1);if(_)throw new S.ErrnoError(_);if(!I.node_ops.unlink)throw new S.ErrnoError(63);if(S.isMountpoint(M))throw new S.ErrnoError(10);try{S.trackingDelegate.willDeletePath&&S.trackingDelegate.willDeletePath(d)}catch(ie){k(\"FS.trackingDelegate['willDeletePath']('\"+d+\"') threw an exception: \"+ie.message)}I.node_ops.unlink(I,D),S.destroyNode(M);try{S.trackingDelegate.onDeletePath&&S.trackingDelegate.onDeletePath(d)}catch(ie){k(\"FS.trackingDelegate['onDeletePath']('\"+d+\"') threw an exception: \"+ie.message)}},readlink:function(d){var E=S.lookupPath(d),I=E.node;if(!I)throw new S.ErrnoError(44);if(!I.node_ops.readlink)throw new S.ErrnoError(28);return qn.resolve(S.getPath(I.parent),I.node_ops.readlink(I))},stat:function(d,E){var I=S.lookupPath(d,{follow:!E}),D=I.node;if(!D)throw new S.ErrnoError(44);if(!D.node_ops.getattr)throw new S.ErrnoError(63);return D.node_ops.getattr(D)},lstat:function(d){return S.stat(d,!0)},chmod:function(d,E,I){var D;if(typeof d==\"string\"){var M=S.lookupPath(d,{follow:!I});D=M.node}else D=d;if(!D.node_ops.setattr)throw new S.ErrnoError(63);D.node_ops.setattr(D,{mode:E&4095|D.mode&~4095,timestamp:Date.now()})},lchmod:function(d,E){S.chmod(d,E,!0)},fchmod:function(d,E){var I=S.getStream(d);if(!I)throw new S.ErrnoError(8);S.chmod(I.node,E)},chown:function(d,E,I,D){var M;if(typeof d==\"string\"){var _=S.lookupPath(d,{follow:!D});M=_.node}else M=d;if(!M.node_ops.setattr)throw new S.ErrnoError(63);M.node_ops.setattr(M,{timestamp:Date.now()})},lchown:function(d,E,I){S.chown(d,E,I,!0)},fchown:function(d,E,I){var D=S.getStream(d);if(!D)throw new S.ErrnoError(8);S.chown(D.node,E,I)},truncate:function(d,E){if(E<0)throw new S.ErrnoError(28);var I;if(typeof d==\"string\"){var D=S.lookupPath(d,{follow:!0});I=D.node}else I=d;if(!I.node_ops.setattr)throw new S.ErrnoError(63);if(S.isDir(I.mode))throw new S.ErrnoError(31);if(!S.isFile(I.mode))throw new S.ErrnoError(28);var M=S.nodePermissions(I,\"w\");if(M)throw new S.ErrnoError(M);I.node_ops.setattr(I,{size:E,timestamp:Date.now()})},ftruncate:function(d,E){var I=S.getStream(d);if(!I)throw new S.ErrnoError(8);if((I.flags&2097155)==0)throw new S.ErrnoError(28);S.truncate(I.node,E)},utime:function(d,E,I){var D=S.lookupPath(d,{follow:!0}),M=D.node;M.node_ops.setattr(M,{timestamp:Math.max(E,I)})},open:function(d,E,I,D,M){if(d===\"\")throw new S.ErrnoError(44);E=typeof E==\"string\"?S.modeStringToFlags(E):E,I=typeof I==\"undefined\"?438:I,E&64?I=I&4095|32768:I=0;var _;if(typeof d==\"object\")_=d;else{d=St.normalize(d);try{var ie=S.lookupPath(d,{follow:!(E&131072)});_=ie.node}catch(Bt){}}var we=!1;if(E&64)if(_){if(E&128)throw new S.ErrnoError(20)}else _=S.mknod(d,I,0),we=!0;if(!_)throw new S.ErrnoError(44);if(S.isChrdev(_.mode)&&(E&=~512),E&65536&&!S.isDir(_.mode))throw new S.ErrnoError(54);if(!we){var me=S.mayOpen(_,E);if(me)throw new S.ErrnoError(me)}E&512&&S.truncate(_,0),E&=~(128|512|131072);var _e=S.createStream({node:_,path:S.getPath(_),flags:E,seekable:!0,position:0,stream_ops:_.stream_ops,ungotten:[],error:!1},D,M);_e.stream_ops.open&&_e.stream_ops.open(_e),t.logReadFiles&&!(E&1)&&(S.readFiles||(S.readFiles={}),d in S.readFiles||(S.readFiles[d]=1,k(\"FS.trackingDelegate error on read file: \"+d)));try{if(S.trackingDelegate.onOpenFile){var ot=0;(E&2097155)!=1&&(ot|=S.tracking.openFlags.READ),(E&2097155)!=0&&(ot|=S.tracking.openFlags.WRITE),S.trackingDelegate.onOpenFile(d,ot)}}catch(Bt){k(\"FS.trackingDelegate['onOpenFile']('\"+d+\"', flags) threw an exception: \"+Bt.message)}return _e},close:function(d){if(S.isClosed(d))throw new S.ErrnoError(8);d.getdents&&(d.getdents=null);try{d.stream_ops.close&&d.stream_ops.close(d)}catch(E){throw E}finally{S.closeStream(d.fd)}d.fd=null},isClosed:function(d){return d.fd===null},llseek:function(d,E,I){if(S.isClosed(d))throw new S.ErrnoError(8);if(!d.seekable||!d.stream_ops.llseek)throw new S.ErrnoError(70);if(I!=0&&I!=1&&I!=2)throw new S.ErrnoError(28);return d.position=d.stream_ops.llseek(d,E,I),d.ungotten=[],d.position},read:function(d,E,I,D,M){if(D<0||M<0)throw new S.ErrnoError(28);if(S.isClosed(d))throw new S.ErrnoError(8);if((d.flags&2097155)==1)throw new S.ErrnoError(8);if(S.isDir(d.node.mode))throw new S.ErrnoError(31);if(!d.stream_ops.read)throw new S.ErrnoError(28);var _=typeof M!=\"undefined\";if(!_)M=d.position;else if(!d.seekable)throw new S.ErrnoError(70);var ie=d.stream_ops.read(d,E,I,D,M);return _||(d.position+=ie),ie},write:function(d,E,I,D,M,_){if(D<0||M<0)throw new S.ErrnoError(28);if(S.isClosed(d))throw new S.ErrnoError(8);if((d.flags&2097155)==0)throw new S.ErrnoError(8);if(S.isDir(d.node.mode))throw new S.ErrnoError(31);if(!d.stream_ops.write)throw new S.ErrnoError(28);d.seekable&&d.flags&1024&&S.llseek(d,0,2);var ie=typeof M!=\"undefined\";if(!ie)M=d.position;else if(!d.seekable)throw new S.ErrnoError(70);var we=d.stream_ops.write(d,E,I,D,M,_);ie||(d.position+=we);try{d.path&&S.trackingDelegate.onWriteToFile&&S.trackingDelegate.onWriteToFile(d.path)}catch(me){k(\"FS.trackingDelegate['onWriteToFile']('\"+d.path+\"') threw an exception: \"+me.message)}return we},allocate:function(d,E,I){if(S.isClosed(d))throw new S.ErrnoError(8);if(E<0||I<=0)throw new S.ErrnoError(28);if((d.flags&2097155)==0)throw new S.ErrnoError(8);if(!S.isFile(d.node.mode)&&!S.isDir(d.node.mode))throw new S.ErrnoError(43);if(!d.stream_ops.allocate)throw new S.ErrnoError(138);d.stream_ops.allocate(d,E,I)},mmap:function(d,E,I,D,M,_){if((M&2)!=0&&(_&2)==0&&(d.flags&2097155)!=2)throw new S.ErrnoError(2);if((d.flags&2097155)==1)throw new S.ErrnoError(2);if(!d.stream_ops.mmap)throw new S.ErrnoError(43);return d.stream_ops.mmap(d,E,I,D,M,_)},msync:function(d,E,I,D,M){return!d||!d.stream_ops.msync?0:d.stream_ops.msync(d,E,I,D,M)},munmap:function(d){return 0},ioctl:function(d,E,I){if(!d.stream_ops.ioctl)throw new S.ErrnoError(59);return d.stream_ops.ioctl(d,E,I)},readFile:function(d,E){if(E=E||{},E.flags=E.flags||0,E.encoding=E.encoding||\"binary\",E.encoding!==\"utf8\"&&E.encoding!==\"binary\")throw new Error('Invalid encoding type \"'+E.encoding+'\"');var I,D=S.open(d,E.flags),M=S.stat(d),_=M.size,ie=new Uint8Array(_);return S.read(D,ie,0,_,0),E.encoding===\"utf8\"?I=Ge(ie,0):E.encoding===\"binary\"&&(I=ie),S.close(D),I},writeFile:function(d,E,I){I=I||{},I.flags=I.flags||577;var D=S.open(d,I.flags,I.mode);if(typeof E==\"string\"){var M=new Uint8Array(he(E)+1),_=se(E,M,0,M.length);S.write(D,M,0,_,void 0,I.canOwn)}else if(ArrayBuffer.isView(E))S.write(D,E,0,E.byteLength,void 0,I.canOwn);else throw new Error(\"Unsupported data type\");S.close(D)},cwd:function(){return S.currentPath},chdir:function(d){var E=S.lookupPath(d,{follow:!0});if(E.node===null)throw new S.ErrnoError(44);if(!S.isDir(E.node.mode))throw new S.ErrnoError(54);var I=S.nodePermissions(E.node,\"x\");if(I)throw new S.ErrnoError(I);S.currentPath=E.path},createDefaultDirectories:function(){S.mkdir(\"/tmp\"),S.mkdir(\"/home\"),S.mkdir(\"/home/web_user\")},createDefaultDevices:function(){S.mkdir(\"/dev\"),S.registerDevice(S.makedev(1,3),{read:function(){return 0},write:function(E,I,D,M,_){return M}}),S.mkdev(\"/dev/null\",S.makedev(1,3)),ps.register(S.makedev(5,0),ps.default_tty_ops),ps.register(S.makedev(6,0),ps.default_tty1_ops),S.mkdev(\"/dev/tty\",S.makedev(5,0)),S.mkdev(\"/dev/tty1\",S.makedev(6,0));var d=Vl();S.createDevice(\"/dev\",\"random\",d),S.createDevice(\"/dev\",\"urandom\",d),S.mkdir(\"/dev/shm\"),S.mkdir(\"/dev/shm/tmp\")},createSpecialDirectories:function(){S.mkdir(\"/proc\");var d=S.mkdir(\"/proc/self\");S.mkdir(\"/proc/self/fd\"),S.mount({mount:function(){var E=S.createNode(d,\"fd\",16384|511,73);return E.node_ops={lookup:function(I,D){var M=+D,_=S.getStream(M);if(!_)throw new S.ErrnoError(8);var ie={parent:null,mount:{mountpoint:\"fake\"},node_ops:{readlink:function(){return _.path}}};return ie.parent=ie,ie}},E}},{},\"/proc/self/fd\")},createStandardStreams:function(){t.stdin?S.createDevice(\"/dev\",\"stdin\",t.stdin):S.symlink(\"/dev/tty\",\"/dev/stdin\"),t.stdout?S.createDevice(\"/dev\",\"stdout\",null,t.stdout):S.symlink(\"/dev/tty\",\"/dev/stdout\"),t.stderr?S.createDevice(\"/dev\",\"stderr\",null,t.stderr):S.symlink(\"/dev/tty1\",\"/dev/stderr\");var d=S.open(\"/dev/stdin\",0),E=S.open(\"/dev/stdout\",1),I=S.open(\"/dev/stderr\",1)},ensureErrnoError:function(){S.ErrnoError||(S.ErrnoError=function(E,I){this.node=I,this.setErrno=function(D){this.errno=D},this.setErrno(E),this.message=\"FS error\"},S.ErrnoError.prototype=new Error,S.ErrnoError.prototype.constructor=S.ErrnoError,[44].forEach(function(d){S.genericErrors[d]=new S.ErrnoError(d),S.genericErrors[d].stack=\"<generic error, no stack>\"}))},staticInit:function(){S.ensureErrnoError(),S.nameTable=new Array(4096),S.mount(pt,{},\"/\"),S.createDefaultDirectories(),S.createDefaultDevices(),S.createSpecialDirectories(),S.filesystems={MEMFS:pt,NODEFS:lt}},init:function(d,E,I){S.init.initialized=!0,S.ensureErrnoError(),t.stdin=d||t.stdin,t.stdout=E||t.stdout,t.stderr=I||t.stderr,S.createStandardStreams()},quit:function(){S.init.initialized=!1;var d=t._fflush;d&&d(0);for(var E=0;E<S.streams.length;E++){var I=S.streams[E];!I||S.close(I)}},getMode:function(d,E){var I=0;return d&&(I|=292|73),E&&(I|=146),I},findObject:function(d,E){var I=S.analyzePath(d,E);return I.exists?I.object:null},analyzePath:function(d,E){try{var I=S.lookupPath(d,{follow:!E});d=I.path}catch(M){}var D={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var I=S.lookupPath(d,{parent:!0});D.parentExists=!0,D.parentPath=I.path,D.parentObject=I.node,D.name=St.basename(d),I=S.lookupPath(d,{follow:!E}),D.exists=!0,D.path=I.path,D.object=I.node,D.name=I.node.name,D.isRoot=I.path===\"/\"}catch(M){D.error=M.errno}return D},createPath:function(d,E,I,D){d=typeof d==\"string\"?d:S.getPath(d);for(var M=E.split(\"/\").reverse();M.length;){var _=M.pop();if(!!_){var ie=St.join2(d,_);try{S.mkdir(ie)}catch(we){}d=ie}}return ie},createFile:function(d,E,I,D,M){var _=St.join2(typeof d==\"string\"?d:S.getPath(d),E),ie=S.getMode(D,M);return S.create(_,ie)},createDataFile:function(d,E,I,D,M,_){var ie=E?St.join2(typeof d==\"string\"?d:S.getPath(d),E):d,we=S.getMode(D,M),me=S.create(ie,we);if(I){if(typeof I==\"string\"){for(var _e=new Array(I.length),ot=0,Bt=I.length;ot<Bt;++ot)_e[ot]=I.charCodeAt(ot);I=_e}S.chmod(me,we|146);var ut=S.open(me,577);S.write(ut,I,0,I.length,0,_),S.close(ut),S.chmod(me,we)}return me},createDevice:function(d,E,I,D){var M=St.join2(typeof d==\"string\"?d:S.getPath(d),E),_=S.getMode(!!I,!!D);S.createDevice.major||(S.createDevice.major=64);var ie=S.makedev(S.createDevice.major++,0);return S.registerDevice(ie,{open:function(we){we.seekable=!1},close:function(we){D&&D.buffer&&D.buffer.length&&D(10)},read:function(we,me,_e,ot,Bt){for(var ut=0,st=0;st<ot;st++){var yt;try{yt=I()}catch(ke){throw new S.ErrnoError(29)}if(yt===void 0&&ut===0)throw new S.ErrnoError(6);if(yt==null)break;ut++,me[_e+st]=yt}return ut&&(we.node.timestamp=Date.now()),ut},write:function(we,me,_e,ot,Bt){for(var ut=0;ut<ot;ut++)try{D(me[_e+ut])}catch(st){throw new S.ErrnoError(29)}return ot&&(we.node.timestamp=Date.now()),ut}}),S.mkdev(M,_,ie)},forceLoadFile:function(d){if(d.isDevice||d.isFolder||d.link||d.contents)return!0;if(typeof XMLHttpRequest!=\"undefined\")throw new Error(\"Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.\");if(p)try{d.contents=OA(p(d.url),!0),d.usedBytes=d.contents.length}catch(E){throw new S.ErrnoError(29)}else throw new Error(\"Cannot load without read() or XMLHttpRequest.\")},createLazyFile:function(d,E,I,D,M){function _(){this.lengthKnown=!1,this.chunks=[]}if(_.prototype.get=function(ut){if(!(ut>this.length-1||ut<0)){var st=ut%this.chunkSize,yt=ut/this.chunkSize|0;return this.getter(yt)[st]}},_.prototype.setDataGetter=function(ut){this.getter=ut},_.prototype.cacheLength=function(){var ut=new XMLHttpRequest;if(ut.open(\"HEAD\",I,!1),ut.send(null),!(ut.status>=200&&ut.status<300||ut.status===304))throw new Error(\"Couldn't load \"+I+\". Status: \"+ut.status);var st=Number(ut.getResponseHeader(\"Content-length\")),yt,ke=(yt=ut.getResponseHeader(\"Accept-Ranges\"))&&yt===\"bytes\",zn=(yt=ut.getResponseHeader(\"Content-Encoding\"))&&yt===\"gzip\",Mi=1024*1024;ke||(Mi=st);var jA=function(Cs,Da){if(Cs>Da)throw new Error(\"invalid range (\"+Cs+\", \"+Da+\") or no bytes requested!\");if(Da>st-1)throw new Error(\"only \"+st+\" bytes available! programmer error!\");var qr=new XMLHttpRequest;if(qr.open(\"GET\",I,!1),st!==Mi&&qr.setRequestHeader(\"Range\",\"bytes=\"+Cs+\"-\"+Da),typeof Uint8Array!=\"undefined\"&&(qr.responseType=\"arraybuffer\"),qr.overrideMimeType&&qr.overrideMimeType(\"text/plain; charset=x-user-defined\"),qr.send(null),!(qr.status>=200&&qr.status<300||qr.status===304))throw new Error(\"Couldn't load \"+I+\". Status: \"+qr.status);return qr.response!==void 0?new Uint8Array(qr.response||[]):OA(qr.responseText||\"\",!0)},Yr=this;Yr.setDataGetter(function(Cs){var Da=Cs*Mi,qr=(Cs+1)*Mi-1;if(qr=Math.min(qr,st-1),typeof Yr.chunks[Cs]==\"undefined\"&&(Yr.chunks[Cs]=jA(Da,qr)),typeof Yr.chunks[Cs]==\"undefined\")throw new Error(\"doXHR failed!\");return Yr.chunks[Cs]}),(zn||!st)&&(Mi=st=1,st=this.getter(0).length,Mi=st,v(\"LazyFiles on gzip forces download of the whole file when length is accessed\")),this._length=st,this._chunkSize=Mi,this.lengthKnown=!0},typeof XMLHttpRequest!=\"undefined\"){if(!u)throw\"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc\";var ie=new _;Object.defineProperties(ie,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var we={isDevice:!1,contents:ie}}else var we={isDevice:!1,url:I};var me=S.createFile(d,E,we,D,M);we.contents?me.contents=we.contents:we.url&&(me.contents=null,me.url=we.url),Object.defineProperties(me,{usedBytes:{get:function(){return this.contents.length}}});var _e={},ot=Object.keys(me.stream_ops);return ot.forEach(function(Bt){var ut=me.stream_ops[Bt];_e[Bt]=function(){return S.forceLoadFile(me),ut.apply(null,arguments)}}),_e.read=function(ut,st,yt,ke,zn){S.forceLoadFile(me);var Mi=ut.node.contents;if(zn>=Mi.length)return 0;var jA=Math.min(Mi.length-zn,ke);if(Mi.slice)for(var Yr=0;Yr<jA;Yr++)st[yt+Yr]=Mi[zn+Yr];else for(var Yr=0;Yr<jA;Yr++)st[yt+Yr]=Mi.get(zn+Yr);return jA},me.stream_ops=_e,me},createPreloadedFile:function(d,E,I,D,M,_,ie,we,me,_e){Browser.init();var ot=E?qn.resolve(St.join2(d,E)):d,Bt=Tu(\"cp \"+ot);function ut(st){function yt(zn){_e&&_e(),we||S.createDataFile(d,E,zn,D,M,me),_&&_(),LA(Bt)}var ke=!1;t.preloadPlugins.forEach(function(zn){ke||zn.canHandle(ot)&&(zn.handle(st,ot,yt,function(){ie&&ie(),LA(Bt)}),ke=!0)}),ke||yt(st)}NA(Bt),typeof I==\"string\"?Browser.asyncLoad(I,function(st){ut(st)},ie):ut(I)},indexedDB:function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB},DB_NAME:function(){return\"EM_FS_\"+window.location.pathname},DB_VERSION:20,DB_STORE_NAME:\"FILE_DATA\",saveFilesToDB:function(d,E,I){E=E||function(){},I=I||function(){};var D=S.indexedDB();try{var M=D.open(S.DB_NAME(),S.DB_VERSION)}catch(_){return I(_)}M.onupgradeneeded=function(){v(\"creating db\");var ie=M.result;ie.createObjectStore(S.DB_STORE_NAME)},M.onsuccess=function(){var ie=M.result,we=ie.transaction([S.DB_STORE_NAME],\"readwrite\"),me=we.objectStore(S.DB_STORE_NAME),_e=0,ot=0,Bt=d.length;function ut(){ot==0?E():I()}d.forEach(function(st){var yt=me.put(S.analyzePath(st).object.contents,st);yt.onsuccess=function(){_e++,_e+ot==Bt&&ut()},yt.onerror=function(){ot++,_e+ot==Bt&&ut()}}),we.onerror=I},M.onerror=I},loadFilesFromDB:function(d,E,I){E=E||function(){},I=I||function(){};var D=S.indexedDB();try{var M=D.open(S.DB_NAME(),S.DB_VERSION)}catch(_){return I(_)}M.onupgradeneeded=I,M.onsuccess=function(){var ie=M.result;try{var we=ie.transaction([S.DB_STORE_NAME],\"readonly\")}catch(st){I(st);return}var me=we.objectStore(S.DB_STORE_NAME),_e=0,ot=0,Bt=d.length;function ut(){ot==0?E():I()}d.forEach(function(st){var yt=me.get(st);yt.onsuccess=function(){S.analyzePath(st).exists&&S.unlink(st),S.createDataFile(St.dirname(st),St.basename(st),yt.result,!0,!0,!0),_e++,_e+ot==Bt&&ut()},yt.onerror=function(){ot++,_e+ot==Bt&&ut()}}),we.onerror=I},M.onerror=I}},Tt={mappings:{},DEFAULT_POLLMASK:5,umask:511,calculateAt:function(d,E,I){if(E[0]===\"/\")return E;var D;if(d===-100)D=S.cwd();else{var M=S.getStream(d);if(!M)throw new S.ErrnoError(8);D=M.path}if(E.length==0){if(!I)throw new S.ErrnoError(44);return D}return St.join2(D,E)},doStat:function(d,E,I){try{var D=d(E)}catch(M){if(M&&M.node&&St.normalize(E)!==St.normalize(S.getPath(M.node)))return-54;throw M}return fe[I>>2]=D.dev,fe[I+4>>2]=0,fe[I+8>>2]=D.ino,fe[I+12>>2]=D.mode,fe[I+16>>2]=D.nlink,fe[I+20>>2]=D.uid,fe[I+24>>2]=D.gid,fe[I+28>>2]=D.rdev,fe[I+32>>2]=0,Ae=[D.size>>>0,(Dr=D.size,+Math.abs(Dr)>=1?Dr>0?(Math.min(+Math.floor(Dr/4294967296),4294967295)|0)>>>0:~~+Math.ceil((Dr-+(~~Dr>>>0))/4294967296)>>>0:0)],fe[I+40>>2]=Ae[0],fe[I+44>>2]=Ae[1],fe[I+48>>2]=4096,fe[I+52>>2]=D.blocks,fe[I+56>>2]=D.atime.getTime()/1e3|0,fe[I+60>>2]=0,fe[I+64>>2]=D.mtime.getTime()/1e3|0,fe[I+68>>2]=0,fe[I+72>>2]=D.ctime.getTime()/1e3|0,fe[I+76>>2]=0,Ae=[D.ino>>>0,(Dr=D.ino,+Math.abs(Dr)>=1?Dr>0?(Math.min(+Math.floor(Dr/4294967296),4294967295)|0)>>>0:~~+Math.ceil((Dr-+(~~Dr>>>0))/4294967296)>>>0:0)],fe[I+80>>2]=Ae[0],fe[I+84>>2]=Ae[1],0},doMsync:function(d,E,I,D,M){var _=V.slice(d,d+I);S.msync(E,_,M,I,D)},doMkdir:function(d,E){return d=St.normalize(d),d[d.length-1]===\"/\"&&(d=d.substr(0,d.length-1)),S.mkdir(d,E,0),0},doMknod:function(d,E,I){switch(E&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}return S.mknod(d,E,I),0},doReadlink:function(d,E,I){if(I<=0)return-28;var D=S.readlink(d),M=Math.min(I,he(D)),_=pe[E+M];return be(D,E,I+1),pe[E+M]=_,M},doAccess:function(d,E){if(E&~7)return-28;var I,D=S.lookupPath(d,{follow:!0});if(I=D.node,!I)return-44;var M=\"\";return E&4&&(M+=\"r\"),E&2&&(M+=\"w\"),E&1&&(M+=\"x\"),M&&S.nodePermissions(I,M)?-2:0},doDup:function(d,E,I){var D=S.getStream(I);return D&&S.close(D),S.open(d,E,0,I,I).fd},doReadv:function(d,E,I,D){for(var M=0,_=0;_<I;_++){var ie=fe[E+_*8>>2],we=fe[E+(_*8+4)>>2],me=S.read(d,pe,ie,we,D);if(me<0)return-1;if(M+=me,me<we)break}return M},doWritev:function(d,E,I,D){for(var M=0,_=0;_<I;_++){var ie=fe[E+_*8>>2],we=fe[E+(_*8+4)>>2],me=S.write(d,pe,ie,we,D);if(me<0)return-1;M+=me}return M},varargs:void 0,get:function(){Tt.varargs+=4;var d=fe[Tt.varargs-4>>2];return d},getStr:function(d){var E=re(d);return E},getStreamFromFD:function(d){var E=S.getStream(d);if(!E)throw new S.ErrnoError(8);return E},get64:function(d,E){return d}};function Ku(d,E){try{return d=Tt.getStr(d),S.chmod(d,E),0}catch(I){return(typeof S==\"undefined\"||!(I instanceof S.ErrnoError))&&vr(I),-I.errno}}function Xl(d){return fe[Rt()>>2]=d,d}function xh(d,E,I){Tt.varargs=I;try{var D=Tt.getStreamFromFD(d);switch(E){case 0:{var M=Tt.get();if(M<0)return-28;var _;return _=S.open(D.path,D.flags,0,M),_.fd}case 1:case 2:return 0;case 3:return D.flags;case 4:{var M=Tt.get();return D.flags|=M,0}case 12:{var M=Tt.get(),ie=0;return Qe[M+ie>>1]=2,0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:return Xl(28),-1;default:return-28}}catch(we){return(typeof S==\"undefined\"||!(we instanceof S.ErrnoError))&&vr(we),-we.errno}}function Ph(d,E){try{var I=Tt.getStreamFromFD(d);return Tt.doStat(S.stat,I.path,E)}catch(D){return(typeof S==\"undefined\"||!(D instanceof S.ErrnoError))&&vr(D),-D.errno}}function Dh(d,E,I){Tt.varargs=I;try{var D=Tt.getStreamFromFD(d);switch(E){case 21509:case 21505:return D.tty?0:-59;case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:return D.tty?0:-59;case 21519:{if(!D.tty)return-59;var M=Tt.get();return fe[M>>2]=0,0}case 21520:return D.tty?-28:-59;case 21531:{var M=Tt.get();return S.ioctl(D,E,M)}case 21523:return D.tty?0:-59;case 21524:return D.tty?0:-59;default:vr(\"bad ioctl syscall \"+E)}}catch(_){return(typeof S==\"undefined\"||!(_ instanceof S.ErrnoError))&&vr(_),-_.errno}}function Rh(d,E,I){Tt.varargs=I;try{var D=Tt.getStr(d),M=I?Tt.get():0,_=S.open(D,E,M);return _.fd}catch(ie){return(typeof S==\"undefined\"||!(ie instanceof S.ErrnoError))&&vr(ie),-ie.errno}}function Fh(d,E){try{return d=Tt.getStr(d),E=Tt.getStr(E),S.rename(d,E),0}catch(I){return(typeof S==\"undefined\"||!(I instanceof S.ErrnoError))&&vr(I),-I.errno}}function j(d){try{return d=Tt.getStr(d),S.rmdir(d),0}catch(E){return(typeof S==\"undefined\"||!(E instanceof S.ErrnoError))&&vr(E),-E.errno}}function wt(d,E){try{return d=Tt.getStr(d),Tt.doStat(S.stat,d,E)}catch(I){return(typeof S==\"undefined\"||!(I instanceof S.ErrnoError))&&vr(I),-I.errno}}function TA(d){try{return d=Tt.getStr(d),S.unlink(d),0}catch(E){return(typeof S==\"undefined\"||!(E instanceof S.ErrnoError))&&vr(E),-E.errno}}function $i(d,E,I){V.copyWithin(d,E,E+I)}function Zl(d){try{return A.grow(d-ve.byteLength+65535>>>16),Ei(A.buffer),1}catch(E){}}function $e(d){var E=V.length;d=d>>>0;var I=2147483648;if(d>I)return!1;for(var D=1;D<=4;D*=2){var M=E*(1+.2/D);M=Math.min(M,d+100663296);var _=Math.min(I,xe(Math.max(d,M),65536)),ie=Zl(_);if(ie)return!0}return!1}function va(d){try{var E=Tt.getStreamFromFD(d);return S.close(E),0}catch(I){return(typeof S==\"undefined\"||!(I instanceof S.ErrnoError))&&vr(I),I.errno}}function Hu(d,E){try{var I=Tt.getStreamFromFD(d),D=I.tty?2:S.isDir(I.mode)?3:S.isLink(I.mode)?7:4;return pe[E>>0]=D,0}catch(M){return(typeof S==\"undefined\"||!(M instanceof S.ErrnoError))&&vr(M),M.errno}}function wE(d,E,I,D){try{var M=Tt.getStreamFromFD(d),_=Tt.doReadv(M,E,I);return fe[D>>2]=_,0}catch(ie){return(typeof S==\"undefined\"||!(ie instanceof S.ErrnoError))&&vr(ie),ie.errno}}function Nh(d,E,I,D,M){try{var _=Tt.getStreamFromFD(d),ie=4294967296,we=I*ie+(E>>>0),me=9007199254740992;return we<=-me||we>=me?-61:(S.llseek(_,we,D),Ae=[_.position>>>0,(Dr=_.position,+Math.abs(Dr)>=1?Dr>0?(Math.min(+Math.floor(Dr/4294967296),4294967295)|0)>>>0:~~+Math.ceil((Dr-+(~~Dr>>>0))/4294967296)>>>0:0)],fe[M>>2]=Ae[0],fe[M+4>>2]=Ae[1],_.getdents&&we===0&&D===0&&(_.getdents=null),0)}catch(_e){return(typeof S==\"undefined\"||!(_e instanceof S.ErrnoError))&&vr(_e),_e.errno}}function BE(d,E,I,D){try{var M=Tt.getStreamFromFD(d),_=Tt.doWritev(M,E,I);return fe[D>>2]=_,0}catch(ie){return(typeof S==\"undefined\"||!(ie instanceof S.ErrnoError))&&vr(ie),ie.errno}}function gr(d){$(d)}function Jn(d){var E=Date.now()/1e3|0;return d&&(fe[d>>2]=E),E}function $l(){if($l.called)return;$l.called=!0;var d=new Date().getFullYear(),E=new Date(d,0,1),I=new Date(d,6,1),D=E.getTimezoneOffset(),M=I.getTimezoneOffset(),_=Math.max(D,M);fe[_b()>>2]=_*60,fe[zb()>>2]=Number(D!=M);function ie(Bt){var ut=Bt.toTimeString().match(/\\(([A-Za-z ]+)\\)$/);return ut?ut[1]:\"GMT\"}var we=ie(E),me=ie(I),_e=Fe(we),ot=Fe(me);M<D?(fe[zu()>>2]=_e,fe[zu()+4>>2]=ot):(fe[zu()>>2]=ot,fe[zu()+4>>2]=_e)}function Lh(d){$l();var E=Date.UTC(fe[d+20>>2]+1900,fe[d+16>>2],fe[d+12>>2],fe[d+8>>2],fe[d+4>>2],fe[d>>2],0),I=new Date(E);fe[d+24>>2]=I.getUTCDay();var D=Date.UTC(I.getUTCFullYear(),0,1,0,0,0,0),M=(I.getTime()-D)/(1e3*60*60*24)|0;return fe[d+28>>2]=M,I.getTime()/1e3|0}var eo=function(d,E,I,D){d||(d=this),this.parent=d,this.mount=d.mount,this.mounted=null,this.id=S.nextInode++,this.name=E,this.mode=I,this.node_ops={},this.stream_ops={},this.rdev=D},ka=292|73,En=146;if(Object.defineProperties(eo.prototype,{read:{get:function(){return(this.mode&ka)===ka},set:function(d){d?this.mode|=ka:this.mode&=~ka}},write:{get:function(){return(this.mode&En)===En},set:function(d){d?this.mode|=En:this.mode&=~En}},isFolder:{get:function(){return S.isDir(this.mode)}},isDevice:{get:function(){return S.isChrdev(this.mode)}}}),S.FSNode=eo,S.staticInit(),g){var Oe=D5,ju=require(\"path\");lt.staticInit()}if(g){var ec=function(d){return function(){try{return d.apply(this,arguments)}catch(E){throw E.code?new S.ErrnoError(Ro[E.code]):E}}},to=Object.assign({},S);for(var tc in mn)S[tc]=ec(mn[tc])}else throw new Error(\"NODERAWFS is currently only supported on Node.js environment.\");function OA(d,E,I){var D=I>0?I:he(d)+1,M=new Array(D),_=se(d,M,0,M.length);return E&&(M.length=_),M}var Gu=typeof atob==\"function\"?atob:function(d){var E=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\",I=\"\",D,M,_,ie,we,me,_e,ot=0;d=d.replace(/[^A-Za-z0-9\\+\\/\\=]/g,\"\");do ie=E.indexOf(d.charAt(ot++)),we=E.indexOf(d.charAt(ot++)),me=E.indexOf(d.charAt(ot++)),_e=E.indexOf(d.charAt(ot++)),D=ie<<2|we>>4,M=(we&15)<<4|me>>2,_=(me&3)<<6|_e,I=I+String.fromCharCode(D),me!==64&&(I=I+String.fromCharCode(M)),_e!==64&&(I=I+String.fromCharCode(_));while(ot<d.length);return I};function Yu(d){if(typeof g==\"boolean\"&&g){var E;try{E=Buffer.from(d,\"base64\")}catch(_){E=new Buffer(d,\"base64\")}return new Uint8Array(E.buffer,E.byteOffset,E.byteLength)}try{for(var I=Gu(d),D=new Uint8Array(I.length),M=0;M<I.length;++M)D[M]=I.charCodeAt(M);return D}catch(_){throw new Error(\"Converting base64 string to bytes failed.\")}}function xa(d){if(!!Ou(d))return Yu(d.slice(_l.length))}var Pa={s:Uu,p:Ku,e:xh,k:Ph,o:Dh,q:Rh,i:Fh,r:j,c:wt,h:TA,l:$i,m:$e,f:va,j:Hu,g:wE,n:Nh,d:BE,a:gr,b:Jn,t:Lh},nt=kh(),Fo=t.___wasm_call_ctors=nt.v,MA=t._zip_ext_count_symlinks=nt.w,rc=t._zip_file_get_external_attributes=nt.x,ro=t._zipstruct_stat=nt.y,ic=t._zipstruct_statS=nt.z,bE=t._zipstruct_stat_name=nt.A,Th=t._zipstruct_stat_index=nt.B,qu=t._zipstruct_stat_size=nt.C,Oh=t._zipstruct_stat_mtime=nt.D,QE=t._zipstruct_stat_crc=nt.E,nc=t._zipstruct_error=nt.F,SE=t._zipstruct_errorS=nt.G,Ju=t._zipstruct_error_code_zip=nt.H,UA=t._zipstruct_stat_comp_size=nt.I,Tr=t._zipstruct_stat_comp_method=nt.J,vE=t._zip_close=nt.K,io=t._zip_delete=nt.L,no=t._zip_dir_add=nt.M,Wu=t._zip_discard=nt.N,KA=t._zip_error_init_with_code=nt.O,R=t._zip_get_error=nt.P,G=t._zip_file_get_error=nt.Q,Ce=t._zip_error_strerror=nt.R,je=t._zip_fclose=nt.S,Te=t._zip_file_add=nt.T,Xe=t._free=nt.U,Et=t._malloc=nt.V,Rt=t.___errno_location=nt.W,Wn=t._zip_source_error=nt.X,Mb=t._zip_source_seek=nt.Y,fO=t._zip_file_set_external_attributes=nt.Z,hO=t._zip_file_set_mtime=nt._,Ub=t._zip_fopen=nt.$,pO=t._zip_fopen_index=nt.aa,dO=t._zip_fread=nt.ba,Kb=t._zip_get_name=nt.ca,CO=t._zip_get_num_entries=nt.da,mO=t._zip_source_read=nt.ea,Hb=t._zip_name_locate=nt.fa,EO=t._zip_open=nt.ga,IO=t._zip_open_from_source=nt.ha,jb=t._zip_set_file_compression=nt.ia,yO=t._zip_source_buffer=nt.ja,wO=t._zip_source_buffer_create=nt.ka,BO=t._zip_source_close=nt.la,bO=t._zip_source_free=nt.ma,Gb=t._zip_source_keep=nt.na,Yb=t._zip_source_open=nt.oa,qb=t._zip_source_set_mtime=nt.qa,Jb=t._zip_source_tell=nt.ra,Wb=t._zip_stat=nt.sa,QO=t._zip_stat_index=nt.ta,zu=t.__get_tzname=nt.ua,zb=t.__get_daylight=nt.va,_b=t.__get_timezone=nt.wa,kE=t.stackSave=nt.xa,xE=t.stackRestore=nt.ya,B=t.stackAlloc=nt.za;t.cwrap=de,t.getValue=ee;var Ke;Sa=function d(){Ke||HA(),Ke||(Sa=d)};function HA(d){if(d=d||a,hs>0||(Sr(),hs>0))return;function E(){Ke||(Ke=!0,t.calledRun=!0,!oe&&(Gn(),i(t),t.onRuntimeInitialized&&t.onRuntimeInitialized(),fs()))}t.setStatus?(t.setStatus(\"Running...\"),setTimeout(function(){setTimeout(function(){t.setStatus(\"\")},1),E()},1)):E()}if(t.run=HA,t.preInit)for(typeof t.preInit==\"function\"&&(t.preInit=[t.preInit]);t.preInit.length>0;)t.preInit.pop()();return HA(),e}}();typeof Yw==\"object\"&&typeof GP==\"object\"?GP.exports=YP:typeof define==\"function\"&&define.amd?define([],function(){return YP}):typeof Yw==\"object\"&&(Yw.createModule=YP)});var i9=w((Tst,r9)=>{function jPe(r,e){for(var t=-1,i=r==null?0:r.length,n=Array(i);++t<i;)n[t]=e(r[t],t,r);return n}r9.exports=jPe});var Hs=w((Ost,n9)=>{var GPe=Array.isArray;n9.exports=GPe});var c9=w((Mst,s9)=>{var o9=Wc(),YPe=i9(),qPe=Hs(),JPe=yd(),WPe=1/0,a9=o9?o9.prototype:void 0,A9=a9?a9.toString:void 0;function l9(r){if(typeof r==\"string\")return r;if(qPe(r))return YPe(r,l9)+\"\";if(JPe(r))return A9?A9.call(r):\"\";var e=r+\"\";return e==\"0\"&&1/r==-WPe?\"-0\":e}s9.exports=l9});var cf=w((Ust,u9)=>{var zPe=c9();function _Pe(r){return r==null?\"\":zPe(r)}u9.exports=_Pe});var XP=w((Kst,g9)=>{function VPe(r,e,t){var i=-1,n=r.length;e<0&&(e=-e>n?0:n+e),t=t>n?n:t,t<0&&(t+=n),n=e>t?0:t-e>>>0,e>>>=0;for(var s=Array(n);++i<n;)s[i]=r[i+e];return s}g9.exports=VPe});var h9=w((Hst,f9)=>{var XPe=XP();function ZPe(r,e,t){var i=r.length;return t=t===void 0?i:t,!e&&t>=i?r:XPe(r,e,t)}f9.exports=ZPe});var ZP=w((jst,p9)=>{var $Pe=\"\\\\ud800-\\\\udfff\",eDe=\"\\\\u0300-\\\\u036f\",tDe=\"\\\\ufe20-\\\\ufe2f\",rDe=\"\\\\u20d0-\\\\u20ff\",iDe=eDe+tDe+rDe,nDe=\"\\\\ufe0e\\\\ufe0f\",sDe=\"\\\\u200d\",oDe=RegExp(\"[\"+sDe+$Pe+iDe+nDe+\"]\");function aDe(r){return oDe.test(r)}p9.exports=aDe});var C9=w((Gst,d9)=>{function ADe(r){return r.split(\"\")}d9.exports=ADe});var Q9=w((Yst,m9)=>{var E9=\"\\\\ud800-\\\\udfff\",lDe=\"\\\\u0300-\\\\u036f\",cDe=\"\\\\ufe20-\\\\ufe2f\",uDe=\"\\\\u20d0-\\\\u20ff\",gDe=lDe+cDe+uDe,fDe=\"\\\\ufe0e\\\\ufe0f\",hDe=\"[\"+E9+\"]\",$P=\"[\"+gDe+\"]\",eD=\"\\\\ud83c[\\\\udffb-\\\\udfff]\",pDe=\"(?:\"+$P+\"|\"+eD+\")\",I9=\"[^\"+E9+\"]\",y9=\"(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}\",w9=\"[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]\",dDe=\"\\\\u200d\",B9=pDe+\"?\",b9=\"[\"+fDe+\"]?\",CDe=\"(?:\"+dDe+\"(?:\"+[I9,y9,w9].join(\"|\")+\")\"+b9+B9+\")*\",mDe=b9+B9+CDe,EDe=\"(?:\"+[I9+$P+\"?\",$P,y9,w9,hDe].join(\"|\")+\")\",IDe=RegExp(eD+\"(?=\"+eD+\")|\"+EDe+mDe,\"g\");function yDe(r){return r.match(IDe)||[]}m9.exports=yDe});var v9=w((qst,S9)=>{var wDe=C9(),BDe=ZP(),bDe=Q9();function QDe(r){return BDe(r)?bDe(r):wDe(r)}S9.exports=QDe});var x9=w((Jst,k9)=>{var SDe=h9(),vDe=ZP(),kDe=v9(),xDe=cf();function PDe(r){return function(e){e=xDe(e);var t=vDe(e)?kDe(e):void 0,i=t?t[0]:e.charAt(0),n=t?SDe(t,1).join(\"\"):e.slice(1);return i[r]()+n}}k9.exports=PDe});var D9=w((Wst,P9)=>{var DDe=x9(),RDe=DDe(\"toUpperCase\");P9.exports=RDe});var $w=w((zst,R9)=>{var FDe=cf(),NDe=D9();function LDe(r){return NDe(FDe(r).toLowerCase())}R9.exports=LDe});var F9=w((_st,eB)=>{function TDe(){var r=0,e=1,t=2,i=3,n=4,s=5,o=6,a=7,l=8,c=9,u=10,g=11,f=12,h=13,p=14,m=15,y=16,b=17,v=0,k=1,T=2,Y=3,q=4;function $(A,oe){return 55296<=A.charCodeAt(oe)&&A.charCodeAt(oe)<=56319&&56320<=A.charCodeAt(oe+1)&&A.charCodeAt(oe+1)<=57343}function z(A,oe){oe===void 0&&(oe=0);var ce=A.charCodeAt(oe);if(55296<=ce&&ce<=56319&&oe<A.length-1){var Z=ce,O=A.charCodeAt(oe+1);return 56320<=O&&O<=57343?(Z-55296)*1024+(O-56320)+65536:Z}if(56320<=ce&&ce<=57343&&oe>=1){var Z=A.charCodeAt(oe-1),O=ce;return 55296<=Z&&Z<=56319?(Z-55296)*1024+(O-56320)+65536:O}return ce}function ne(A,oe,ce){var Z=[A].concat(oe).concat([ce]),O=Z[Z.length-2],L=ce,de=Z.lastIndexOf(p);if(de>1&&Z.slice(1,de).every(function(re){return re==i})&&[i,h,b].indexOf(A)==-1)return T;var Be=Z.lastIndexOf(n);if(Be>0&&Z.slice(1,Be).every(function(re){return re==n})&&[f,n].indexOf(O)==-1)return Z.filter(function(re){return re==n}).length%2==1?Y:q;if(O==r&&L==e)return v;if(O==t||O==r||O==e)return L==p&&oe.every(function(re){return re==i})?T:k;if(L==t||L==r||L==e)return k;if(O==o&&(L==o||L==a||L==c||L==u))return v;if((O==c||O==a)&&(L==a||L==l))return v;if((O==u||O==l)&&L==l)return v;if(L==i||L==m)return v;if(L==s)return v;if(O==f)return v;var Ge=Z.indexOf(i)!=-1?Z.lastIndexOf(i)-1:Z.length-2;return[h,b].indexOf(Z[Ge])!=-1&&Z.slice(Ge+1,-1).every(function(re){return re==i})&&L==p||O==m&&[y,b].indexOf(L)!=-1?v:oe.indexOf(n)!=-1?T:O==n&&L==n?v:k}this.nextBreak=function(A,oe){if(oe===void 0&&(oe=0),oe<0)return 0;if(oe>=A.length-1)return A.length;for(var ce=ee(z(A,oe)),Z=[],O=oe+1;O<A.length;O++)if(!$(A,O-1)){var L=ee(z(A,O));if(ne(ce,Z,L))return O;Z.push(L)}return A.length},this.splitGraphemes=function(A){for(var oe=[],ce=0,Z;(Z=this.nextBreak(A,ce))<A.length;)oe.push(A.slice(ce,Z)),ce=Z;return ce<A.length&&oe.push(A.slice(ce)),oe},this.iterateGraphemes=function(A){var oe=0,ce={next:function(){var Z,O;return(O=this.nextBreak(A,oe))<A.length?(Z=A.slice(oe,O),oe=O,{value:Z,done:!1}):oe<A.length?(Z=A.slice(oe),oe=A.length,{value:Z,done:!1}):{value:void 0,done:!0}}.bind(this)};return typeof Symbol!=\"undefined\"&&Symbol.iterator&&(ce[Symbol.iterator]=function(){return ce}),ce},this.countGraphemes=function(A){for(var oe=0,ce=0,Z;(Z=this.nextBreak(A,ce))<A.length;)ce=Z,oe++;return ce<A.length&&oe++,oe};function ee(A){return 1536<=A&&A<=1541||A==1757||A==1807||A==2274||A==3406||A==69821||70082<=A&&A<=70083||A==72250||72326<=A&&A<=72329||A==73030?f:A==13?r:A==10?e:0<=A&&A<=9||11<=A&&A<=12||14<=A&&A<=31||127<=A&&A<=159||A==173||A==1564||A==6158||A==8203||8206<=A&&A<=8207||A==8232||A==8233||8234<=A&&A<=8238||8288<=A&&A<=8292||A==8293||8294<=A&&A<=8303||55296<=A&&A<=57343||A==65279||65520<=A&&A<=65528||65529<=A&&A<=65531||113824<=A&&A<=113827||119155<=A&&A<=119162||A==917504||A==917505||917506<=A&&A<=917535||917632<=A&&A<=917759||918e3<=A&&A<=921599?t:768<=A&&A<=879||1155<=A&&A<=1159||1160<=A&&A<=1161||1425<=A&&A<=1469||A==1471||1473<=A&&A<=1474||1476<=A&&A<=1477||A==1479||1552<=A&&A<=1562||1611<=A&&A<=1631||A==1648||1750<=A&&A<=1756||1759<=A&&A<=1764||1767<=A&&A<=1768||1770<=A&&A<=1773||A==1809||1840<=A&&A<=1866||1958<=A&&A<=1968||2027<=A&&A<=2035||2070<=A&&A<=2073||2075<=A&&A<=2083||2085<=A&&A<=2087||2089<=A&&A<=2093||2137<=A&&A<=2139||2260<=A&&A<=2273||2275<=A&&A<=2306||A==2362||A==2364||2369<=A&&A<=2376||A==2381||2385<=A&&A<=2391||2402<=A&&A<=2403||A==2433||A==2492||A==2494||2497<=A&&A<=2500||A==2509||A==2519||2530<=A&&A<=2531||2561<=A&&A<=2562||A==2620||2625<=A&&A<=2626||2631<=A&&A<=2632||2635<=A&&A<=2637||A==2641||2672<=A&&A<=2673||A==2677||2689<=A&&A<=2690||A==2748||2753<=A&&A<=2757||2759<=A&&A<=2760||A==2765||2786<=A&&A<=2787||2810<=A&&A<=2815||A==2817||A==2876||A==2878||A==2879||2881<=A&&A<=2884||A==2893||A==2902||A==2903||2914<=A&&A<=2915||A==2946||A==3006||A==3008||A==3021||A==3031||A==3072||3134<=A&&A<=3136||3142<=A&&A<=3144||3146<=A&&A<=3149||3157<=A&&A<=3158||3170<=A&&A<=3171||A==3201||A==3260||A==3263||A==3266||A==3270||3276<=A&&A<=3277||3285<=A&&A<=3286||3298<=A&&A<=3299||3328<=A&&A<=3329||3387<=A&&A<=3388||A==3390||3393<=A&&A<=3396||A==3405||A==3415||3426<=A&&A<=3427||A==3530||A==3535||3538<=A&&A<=3540||A==3542||A==3551||A==3633||3636<=A&&A<=3642||3655<=A&&A<=3662||A==3761||3764<=A&&A<=3769||3771<=A&&A<=3772||3784<=A&&A<=3789||3864<=A&&A<=3865||A==3893||A==3895||A==3897||3953<=A&&A<=3966||3968<=A&&A<=3972||3974<=A&&A<=3975||3981<=A&&A<=3991||3993<=A&&A<=4028||A==4038||4141<=A&&A<=4144||4146<=A&&A<=4151||4153<=A&&A<=4154||4157<=A&&A<=4158||4184<=A&&A<=4185||4190<=A&&A<=4192||4209<=A&&A<=4212||A==4226||4229<=A&&A<=4230||A==4237||A==4253||4957<=A&&A<=4959||5906<=A&&A<=5908||5938<=A&&A<=5940||5970<=A&&A<=5971||6002<=A&&A<=6003||6068<=A&&A<=6069||6071<=A&&A<=6077||A==6086||6089<=A&&A<=6099||A==6109||6155<=A&&A<=6157||6277<=A&&A<=6278||A==6313||6432<=A&&A<=6434||6439<=A&&A<=6440||A==6450||6457<=A&&A<=6459||6679<=A&&A<=6680||A==6683||A==6742||6744<=A&&A<=6750||A==6752||A==6754||6757<=A&&A<=6764||6771<=A&&A<=6780||A==6783||6832<=A&&A<=6845||A==6846||6912<=A&&A<=6915||A==6964||6966<=A&&A<=6970||A==6972||A==6978||7019<=A&&A<=7027||7040<=A&&A<=7041||7074<=A&&A<=7077||7080<=A&&A<=7081||7083<=A&&A<=7085||A==7142||7144<=A&&A<=7145||A==7149||7151<=A&&A<=7153||7212<=A&&A<=7219||7222<=A&&A<=7223||7376<=A&&A<=7378||7380<=A&&A<=7392||7394<=A&&A<=7400||A==7405||A==7412||7416<=A&&A<=7417||7616<=A&&A<=7673||7675<=A&&A<=7679||A==8204||8400<=A&&A<=8412||8413<=A&&A<=8416||A==8417||8418<=A&&A<=8420||8421<=A&&A<=8432||11503<=A&&A<=11505||A==11647||11744<=A&&A<=11775||12330<=A&&A<=12333||12334<=A&&A<=12335||12441<=A&&A<=12442||A==42607||42608<=A&&A<=42610||42612<=A&&A<=42621||42654<=A&&A<=42655||42736<=A&&A<=42737||A==43010||A==43014||A==43019||43045<=A&&A<=43046||43204<=A&&A<=43205||43232<=A&&A<=43249||43302<=A&&A<=43309||43335<=A&&A<=43345||43392<=A&&A<=43394||A==43443||43446<=A&&A<=43449||A==43452||A==43493||43561<=A&&A<=43566||43569<=A&&A<=43570||43573<=A&&A<=43574||A==43587||A==43596||A==43644||A==43696||43698<=A&&A<=43700||43703<=A&&A<=43704||43710<=A&&A<=43711||A==43713||43756<=A&&A<=43757||A==43766||A==44005||A==44008||A==44013||A==64286||65024<=A&&A<=65039||65056<=A&&A<=65071||65438<=A&&A<=65439||A==66045||A==66272||66422<=A&&A<=66426||68097<=A&&A<=68099||68101<=A&&A<=68102||68108<=A&&A<=68111||68152<=A&&A<=68154||A==68159||68325<=A&&A<=68326||A==69633||69688<=A&&A<=69702||69759<=A&&A<=69761||69811<=A&&A<=69814||69817<=A&&A<=69818||69888<=A&&A<=69890||69927<=A&&A<=69931||69933<=A&&A<=69940||A==70003||70016<=A&&A<=70017||70070<=A&&A<=70078||70090<=A&&A<=70092||70191<=A&&A<=70193||A==70196||70198<=A&&A<=70199||A==70206||A==70367||70371<=A&&A<=70378||70400<=A&&A<=70401||A==70460||A==70462||A==70464||A==70487||70502<=A&&A<=70508||70512<=A&&A<=70516||70712<=A&&A<=70719||70722<=A&&A<=70724||A==70726||A==70832||70835<=A&&A<=70840||A==70842||A==70845||70847<=A&&A<=70848||70850<=A&&A<=70851||A==71087||71090<=A&&A<=71093||71100<=A&&A<=71101||71103<=A&&A<=71104||71132<=A&&A<=71133||71219<=A&&A<=71226||A==71229||71231<=A&&A<=71232||A==71339||A==71341||71344<=A&&A<=71349||A==71351||71453<=A&&A<=71455||71458<=A&&A<=71461||71463<=A&&A<=71467||72193<=A&&A<=72198||72201<=A&&A<=72202||72243<=A&&A<=72248||72251<=A&&A<=72254||A==72263||72273<=A&&A<=72278||72281<=A&&A<=72283||72330<=A&&A<=72342||72344<=A&&A<=72345||72752<=A&&A<=72758||72760<=A&&A<=72765||A==72767||72850<=A&&A<=72871||72874<=A&&A<=72880||72882<=A&&A<=72883||72885<=A&&A<=72886||73009<=A&&A<=73014||A==73018||73020<=A&&A<=73021||73023<=A&&A<=73029||A==73031||92912<=A&&A<=92916||92976<=A&&A<=92982||94095<=A&&A<=94098||113821<=A&&A<=113822||A==119141||119143<=A&&A<=119145||119150<=A&&A<=119154||119163<=A&&A<=119170||119173<=A&&A<=119179||119210<=A&&A<=119213||119362<=A&&A<=119364||121344<=A&&A<=121398||121403<=A&&A<=121452||A==121461||A==121476||121499<=A&&A<=121503||121505<=A&&A<=121519||122880<=A&&A<=122886||122888<=A&&A<=122904||122907<=A&&A<=122913||122915<=A&&A<=122916||122918<=A&&A<=122922||125136<=A&&A<=125142||125252<=A&&A<=125258||917536<=A&&A<=917631||917760<=A&&A<=917999?i:127462<=A&&A<=127487?n:A==2307||A==2363||2366<=A&&A<=2368||2377<=A&&A<=2380||2382<=A&&A<=2383||2434<=A&&A<=2435||2495<=A&&A<=2496||2503<=A&&A<=2504||2507<=A&&A<=2508||A==2563||2622<=A&&A<=2624||A==2691||2750<=A&&A<=2752||A==2761||2763<=A&&A<=2764||2818<=A&&A<=2819||A==2880||2887<=A&&A<=2888||2891<=A&&A<=2892||A==3007||3009<=A&&A<=3010||3014<=A&&A<=3016||3018<=A&&A<=3020||3073<=A&&A<=3075||3137<=A&&A<=3140||3202<=A&&A<=3203||A==3262||3264<=A&&A<=3265||3267<=A&&A<=3268||3271<=A&&A<=3272||3274<=A&&A<=3275||3330<=A&&A<=3331||3391<=A&&A<=3392||3398<=A&&A<=3400||3402<=A&&A<=3404||3458<=A&&A<=3459||3536<=A&&A<=3537||3544<=A&&A<=3550||3570<=A&&A<=3571||A==3635||A==3763||3902<=A&&A<=3903||A==3967||A==4145||4155<=A&&A<=4156||4182<=A&&A<=4183||A==4228||A==6070||6078<=A&&A<=6085||6087<=A&&A<=6088||6435<=A&&A<=6438||6441<=A&&A<=6443||6448<=A&&A<=6449||6451<=A&&A<=6456||6681<=A&&A<=6682||A==6741||A==6743||6765<=A&&A<=6770||A==6916||A==6965||A==6971||6973<=A&&A<=6977||6979<=A&&A<=6980||A==7042||A==7073||7078<=A&&A<=7079||A==7082||A==7143||7146<=A&&A<=7148||A==7150||7154<=A&&A<=7155||7204<=A&&A<=7211||7220<=A&&A<=7221||A==7393||7410<=A&&A<=7411||A==7415||43043<=A&&A<=43044||A==43047||43136<=A&&A<=43137||43188<=A&&A<=43203||43346<=A&&A<=43347||A==43395||43444<=A&&A<=43445||43450<=A&&A<=43451||43453<=A&&A<=43456||43567<=A&&A<=43568||43571<=A&&A<=43572||A==43597||A==43755||43758<=A&&A<=43759||A==43765||44003<=A&&A<=44004||44006<=A&&A<=44007||44009<=A&&A<=44010||A==44012||A==69632||A==69634||A==69762||69808<=A&&A<=69810||69815<=A&&A<=69816||A==69932||A==70018||70067<=A&&A<=70069||70079<=A&&A<=70080||70188<=A&&A<=70190||70194<=A&&A<=70195||A==70197||70368<=A&&A<=70370||70402<=A&&A<=70403||A==70463||70465<=A&&A<=70468||70471<=A&&A<=70472||70475<=A&&A<=70477||70498<=A&&A<=70499||70709<=A&&A<=70711||70720<=A&&A<=70721||A==70725||70833<=A&&A<=70834||A==70841||70843<=A&&A<=70844||A==70846||A==70849||71088<=A&&A<=71089||71096<=A&&A<=71099||A==71102||71216<=A&&A<=71218||71227<=A&&A<=71228||A==71230||A==71340||71342<=A&&A<=71343||A==71350||71456<=A&&A<=71457||A==71462||72199<=A&&A<=72200||A==72249||72279<=A&&A<=72280||A==72343||A==72751||A==72766||A==72873||A==72881||A==72884||94033<=A&&A<=94078||A==119142||A==119149?s:4352<=A&&A<=4447||43360<=A&&A<=43388?o:4448<=A&&A<=4519||55216<=A&&A<=55238?a:4520<=A&&A<=4607||55243<=A&&A<=55291?l:A==44032||A==44060||A==44088||A==44116||A==44144||A==44172||A==44200||A==44228||A==44256||A==44284||A==44312||A==44340||A==44368||A==44396||A==44424||A==44452||A==44480||A==44508||A==44536||A==44564||A==44592||A==44620||A==44648||A==44676||A==44704||A==44732||A==44760||A==44788||A==44816||A==44844||A==44872||A==44900||A==44928||A==44956||A==44984||A==45012||A==45040||A==45068||A==45096||A==45124||A==45152||A==45180||A==45208||A==45236||A==45264||A==45292||A==45320||A==45348||A==45376||A==45404||A==45432||A==45460||A==45488||A==45516||A==45544||A==45572||A==45600||A==45628||A==45656||A==45684||A==45712||A==45740||A==45768||A==45796||A==45824||A==45852||A==45880||A==45908||A==45936||A==45964||A==45992||A==46020||A==46048||A==46076||A==46104||A==46132||A==46160||A==46188||A==46216||A==46244||A==46272||A==46300||A==46328||A==46356||A==46384||A==46412||A==46440||A==46468||A==46496||A==46524||A==46552||A==46580||A==46608||A==46636||A==46664||A==46692||A==46720||A==46748||A==46776||A==46804||A==46832||A==46860||A==46888||A==46916||A==46944||A==46972||A==47e3||A==47028||A==47056||A==47084||A==47112||A==47140||A==47168||A==47196||A==47224||A==47252||A==47280||A==47308||A==47336||A==47364||A==47392||A==47420||A==47448||A==47476||A==47504||A==47532||A==47560||A==47588||A==47616||A==47644||A==47672||A==47700||A==47728||A==47756||A==47784||A==47812||A==47840||A==47868||A==47896||A==47924||A==47952||A==47980||A==48008||A==48036||A==48064||A==48092||A==48120||A==48148||A==48176||A==48204||A==48232||A==48260||A==48288||A==48316||A==48344||A==48372||A==48400||A==48428||A==48456||A==48484||A==48512||A==48540||A==48568||A==48596||A==48624||A==48652||A==48680||A==48708||A==48736||A==48764||A==48792||A==48820||A==48848||A==48876||A==48904||A==48932||A==48960||A==48988||A==49016||A==49044||A==49072||A==49100||A==49128||A==49156||A==49184||A==49212||A==49240||A==49268||A==49296||A==49324||A==49352||A==49380||A==49408||A==49436||A==49464||A==49492||A==49520||A==49548||A==49576||A==49604||A==49632||A==49660||A==49688||A==49716||A==49744||A==49772||A==49800||A==49828||A==49856||A==49884||A==49912||A==49940||A==49968||A==49996||A==50024||A==50052||A==50080||A==50108||A==50136||A==50164||A==50192||A==50220||A==50248||A==50276||A==50304||A==50332||A==50360||A==50388||A==50416||A==50444||A==50472||A==50500||A==50528||A==50556||A==50584||A==50612||A==50640||A==50668||A==50696||A==50724||A==50752||A==50780||A==50808||A==50836||A==50864||A==50892||A==50920||A==50948||A==50976||A==51004||A==51032||A==51060||A==51088||A==51116||A==51144||A==51172||A==51200||A==51228||A==51256||A==51284||A==51312||A==51340||A==51368||A==51396||A==51424||A==51452||A==51480||A==51508||A==51536||A==51564||A==51592||A==51620||A==51648||A==51676||A==51704||A==51732||A==51760||A==51788||A==51816||A==51844||A==51872||A==51900||A==51928||A==51956||A==51984||A==52012||A==52040||A==52068||A==52096||A==52124||A==52152||A==52180||A==52208||A==52236||A==52264||A==52292||A==52320||A==52348||A==52376||A==52404||A==52432||A==52460||A==52488||A==52516||A==52544||A==52572||A==52600||A==52628||A==52656||A==52684||A==52712||A==52740||A==52768||A==52796||A==52824||A==52852||A==52880||A==52908||A==52936||A==52964||A==52992||A==53020||A==53048||A==53076||A==53104||A==53132||A==53160||A==53188||A==53216||A==53244||A==53272||A==53300||A==53328||A==53356||A==53384||A==53412||A==53440||A==53468||A==53496||A==53524||A==53552||A==53580||A==53608||A==53636||A==53664||A==53692||A==53720||A==53748||A==53776||A==53804||A==53832||A==53860||A==53888||A==53916||A==53944||A==53972||A==54e3||A==54028||A==54056||A==54084||A==54112||A==54140||A==54168||A==54196||A==54224||A==54252||A==54280||A==54308||A==54336||A==54364||A==54392||A==54420||A==54448||A==54476||A==54504||A==54532||A==54560||A==54588||A==54616||A==54644||A==54672||A==54700||A==54728||A==54756||A==54784||A==54812||A==54840||A==54868||A==54896||A==54924||A==54952||A==54980||A==55008||A==55036||A==55064||A==55092||A==55120||A==55148||A==55176?c:44033<=A&&A<=44059||44061<=A&&A<=44087||44089<=A&&A<=44115||44117<=A&&A<=44143||44145<=A&&A<=44171||44173<=A&&A<=44199||44201<=A&&A<=44227||44229<=A&&A<=44255||44257<=A&&A<=44283||44285<=A&&A<=44311||44313<=A&&A<=44339||44341<=A&&A<=44367||44369<=A&&A<=44395||44397<=A&&A<=44423||44425<=A&&A<=44451||44453<=A&&A<=44479||44481<=A&&A<=44507||44509<=A&&A<=44535||44537<=A&&A<=44563||44565<=A&&A<=44591||44593<=A&&A<=44619||44621<=A&&A<=44647||44649<=A&&A<=44675||44677<=A&&A<=44703||44705<=A&&A<=44731||44733<=A&&A<=44759||44761<=A&&A<=44787||44789<=A&&A<=44815||44817<=A&&A<=44843||44845<=A&&A<=44871||44873<=A&&A<=44899||44901<=A&&A<=44927||44929<=A&&A<=44955||44957<=A&&A<=44983||44985<=A&&A<=45011||45013<=A&&A<=45039||45041<=A&&A<=45067||45069<=A&&A<=45095||45097<=A&&A<=45123||45125<=A&&A<=45151||45153<=A&&A<=45179||45181<=A&&A<=45207||45209<=A&&A<=45235||45237<=A&&A<=45263||45265<=A&&A<=45291||45293<=A&&A<=45319||45321<=A&&A<=45347||45349<=A&&A<=45375||45377<=A&&A<=45403||45405<=A&&A<=45431||45433<=A&&A<=45459||45461<=A&&A<=45487||45489<=A&&A<=45515||45517<=A&&A<=45543||45545<=A&&A<=45571||45573<=A&&A<=45599||45601<=A&&A<=45627||45629<=A&&A<=45655||45657<=A&&A<=45683||45685<=A&&A<=45711||45713<=A&&A<=45739||45741<=A&&A<=45767||45769<=A&&A<=45795||45797<=A&&A<=45823||45825<=A&&A<=45851||45853<=A&&A<=45879||45881<=A&&A<=45907||45909<=A&&A<=45935||45937<=A&&A<=45963||45965<=A&&A<=45991||45993<=A&&A<=46019||46021<=A&&A<=46047||46049<=A&&A<=46075||46077<=A&&A<=46103||46105<=A&&A<=46131||46133<=A&&A<=46159||46161<=A&&A<=46187||46189<=A&&A<=46215||46217<=A&&A<=46243||46245<=A&&A<=46271||46273<=A&&A<=46299||46301<=A&&A<=46327||46329<=A&&A<=46355||46357<=A&&A<=46383||46385<=A&&A<=46411||46413<=A&&A<=46439||46441<=A&&A<=46467||46469<=A&&A<=46495||46497<=A&&A<=46523||46525<=A&&A<=46551||46553<=A&&A<=46579||46581<=A&&A<=46607||46609<=A&&A<=46635||46637<=A&&A<=46663||46665<=A&&A<=46691||46693<=A&&A<=46719||46721<=A&&A<=46747||46749<=A&&A<=46775||46777<=A&&A<=46803||46805<=A&&A<=46831||46833<=A&&A<=46859||46861<=A&&A<=46887||46889<=A&&A<=46915||46917<=A&&A<=46943||46945<=A&&A<=46971||46973<=A&&A<=46999||47001<=A&&A<=47027||47029<=A&&A<=47055||47057<=A&&A<=47083||47085<=A&&A<=47111||47113<=A&&A<=47139||47141<=A&&A<=47167||47169<=A&&A<=47195||47197<=A&&A<=47223||47225<=A&&A<=47251||47253<=A&&A<=47279||47281<=A&&A<=47307||47309<=A&&A<=47335||47337<=A&&A<=47363||47365<=A&&A<=47391||47393<=A&&A<=47419||47421<=A&&A<=47447||47449<=A&&A<=47475||47477<=A&&A<=47503||47505<=A&&A<=47531||47533<=A&&A<=47559||47561<=A&&A<=47587||47589<=A&&A<=47615||47617<=A&&A<=47643||47645<=A&&A<=47671||47673<=A&&A<=47699||47701<=A&&A<=47727||47729<=A&&A<=47755||47757<=A&&A<=47783||47785<=A&&A<=47811||47813<=A&&A<=47839||47841<=A&&A<=47867||47869<=A&&A<=47895||47897<=A&&A<=47923||47925<=A&&A<=47951||47953<=A&&A<=47979||47981<=A&&A<=48007||48009<=A&&A<=48035||48037<=A&&A<=48063||48065<=A&&A<=48091||48093<=A&&A<=48119||48121<=A&&A<=48147||48149<=A&&A<=48175||48177<=A&&A<=48203||48205<=A&&A<=48231||48233<=A&&A<=48259||48261<=A&&A<=48287||48289<=A&&A<=48315||48317<=A&&A<=48343||48345<=A&&A<=48371||48373<=A&&A<=48399||48401<=A&&A<=48427||48429<=A&&A<=48455||48457<=A&&A<=48483||48485<=A&&A<=48511||48513<=A&&A<=48539||48541<=A&&A<=48567||48569<=A&&A<=48595||48597<=A&&A<=48623||48625<=A&&A<=48651||48653<=A&&A<=48679||48681<=A&&A<=48707||48709<=A&&A<=48735||48737<=A&&A<=48763||48765<=A&&A<=48791||48793<=A&&A<=48819||48821<=A&&A<=48847||48849<=A&&A<=48875||48877<=A&&A<=48903||48905<=A&&A<=48931||48933<=A&&A<=48959||48961<=A&&A<=48987||48989<=A&&A<=49015||49017<=A&&A<=49043||49045<=A&&A<=49071||49073<=A&&A<=49099||49101<=A&&A<=49127||49129<=A&&A<=49155||49157<=A&&A<=49183||49185<=A&&A<=49211||49213<=A&&A<=49239||49241<=A&&A<=49267||49269<=A&&A<=49295||49297<=A&&A<=49323||49325<=A&&A<=49351||49353<=A&&A<=49379||49381<=A&&A<=49407||49409<=A&&A<=49435||49437<=A&&A<=49463||49465<=A&&A<=49491||49493<=A&&A<=49519||49521<=A&&A<=49547||49549<=A&&A<=49575||49577<=A&&A<=49603||49605<=A&&A<=49631||49633<=A&&A<=49659||49661<=A&&A<=49687||49689<=A&&A<=49715||49717<=A&&A<=49743||49745<=A&&A<=49771||49773<=A&&A<=49799||49801<=A&&A<=49827||49829<=A&&A<=49855||49857<=A&&A<=49883||49885<=A&&A<=49911||49913<=A&&A<=49939||49941<=A&&A<=49967||49969<=A&&A<=49995||49997<=A&&A<=50023||50025<=A&&A<=50051||50053<=A&&A<=50079||50081<=A&&A<=50107||50109<=A&&A<=50135||50137<=A&&A<=50163||50165<=A&&A<=50191||50193<=A&&A<=50219||50221<=A&&A<=50247||50249<=A&&A<=50275||50277<=A&&A<=50303||50305<=A&&A<=50331||50333<=A&&A<=50359||50361<=A&&A<=50387||50389<=A&&A<=50415||50417<=A&&A<=50443||50445<=A&&A<=50471||50473<=A&&A<=50499||50501<=A&&A<=50527||50529<=A&&A<=50555||50557<=A&&A<=50583||50585<=A&&A<=50611||50613<=A&&A<=50639||50641<=A&&A<=50667||50669<=A&&A<=50695||50697<=A&&A<=50723||50725<=A&&A<=50751||50753<=A&&A<=50779||50781<=A&&A<=50807||50809<=A&&A<=50835||50837<=A&&A<=50863||50865<=A&&A<=50891||50893<=A&&A<=50919||50921<=A&&A<=50947||50949<=A&&A<=50975||50977<=A&&A<=51003||51005<=A&&A<=51031||51033<=A&&A<=51059||51061<=A&&A<=51087||51089<=A&&A<=51115||51117<=A&&A<=51143||51145<=A&&A<=51171||51173<=A&&A<=51199||51201<=A&&A<=51227||51229<=A&&A<=51255||51257<=A&&A<=51283||51285<=A&&A<=51311||51313<=A&&A<=51339||51341<=A&&A<=51367||51369<=A&&A<=51395||51397<=A&&A<=51423||51425<=A&&A<=51451||51453<=A&&A<=51479||51481<=A&&A<=51507||51509<=A&&A<=51535||51537<=A&&A<=51563||51565<=A&&A<=51591||51593<=A&&A<=51619||51621<=A&&A<=51647||51649<=A&&A<=51675||51677<=A&&A<=51703||51705<=A&&A<=51731||51733<=A&&A<=51759||51761<=A&&A<=51787||51789<=A&&A<=51815||51817<=A&&A<=51843||51845<=A&&A<=51871||51873<=A&&A<=51899||51901<=A&&A<=51927||51929<=A&&A<=51955||51957<=A&&A<=51983||51985<=A&&A<=52011||52013<=A&&A<=52039||52041<=A&&A<=52067||52069<=A&&A<=52095||52097<=A&&A<=52123||52125<=A&&A<=52151||52153<=A&&A<=52179||52181<=A&&A<=52207||52209<=A&&A<=52235||52237<=A&&A<=52263||52265<=A&&A<=52291||52293<=A&&A<=52319||52321<=A&&A<=52347||52349<=A&&A<=52375||52377<=A&&A<=52403||52405<=A&&A<=52431||52433<=A&&A<=52459||52461<=A&&A<=52487||52489<=A&&A<=52515||52517<=A&&A<=52543||52545<=A&&A<=52571||52573<=A&&A<=52599||52601<=A&&A<=52627||52629<=A&&A<=52655||52657<=A&&A<=52683||52685<=A&&A<=52711||52713<=A&&A<=52739||52741<=A&&A<=52767||52769<=A&&A<=52795||52797<=A&&A<=52823||52825<=A&&A<=52851||52853<=A&&A<=52879||52881<=A&&A<=52907||52909<=A&&A<=52935||52937<=A&&A<=52963||52965<=A&&A<=52991||52993<=A&&A<=53019||53021<=A&&A<=53047||53049<=A&&A<=53075||53077<=A&&A<=53103||53105<=A&&A<=53131||53133<=A&&A<=53159||53161<=A&&A<=53187||53189<=A&&A<=53215||53217<=A&&A<=53243||53245<=A&&A<=53271||53273<=A&&A<=53299||53301<=A&&A<=53327||53329<=A&&A<=53355||53357<=A&&A<=53383||53385<=A&&A<=53411||53413<=A&&A<=53439||53441<=A&&A<=53467||53469<=A&&A<=53495||53497<=A&&A<=53523||53525<=A&&A<=53551||53553<=A&&A<=53579||53581<=A&&A<=53607||53609<=A&&A<=53635||53637<=A&&A<=53663||53665<=A&&A<=53691||53693<=A&&A<=53719||53721<=A&&A<=53747||53749<=A&&A<=53775||53777<=A&&A<=53803||53805<=A&&A<=53831||53833<=A&&A<=53859||53861<=A&&A<=53887||53889<=A&&A<=53915||53917<=A&&A<=53943||53945<=A&&A<=53971||53973<=A&&A<=53999||54001<=A&&A<=54027||54029<=A&&A<=54055||54057<=A&&A<=54083||54085<=A&&A<=54111||54113<=A&&A<=54139||54141<=A&&A<=54167||54169<=A&&A<=54195||54197<=A&&A<=54223||54225<=A&&A<=54251||54253<=A&&A<=54279||54281<=A&&A<=54307||54309<=A&&A<=54335||54337<=A&&A<=54363||54365<=A&&A<=54391||54393<=A&&A<=54419||54421<=A&&A<=54447||54449<=A&&A<=54475||54477<=A&&A<=54503||54505<=A&&A<=54531||54533<=A&&A<=54559||54561<=A&&A<=54587||54589<=A&&A<=54615||54617<=A&&A<=54643||54645<=A&&A<=54671||54673<=A&&A<=54699||54701<=A&&A<=54727||54729<=A&&A<=54755||54757<=A&&A<=54783||54785<=A&&A<=54811||54813<=A&&A<=54839||54841<=A&&A<=54867||54869<=A&&A<=54895||54897<=A&&A<=54923||54925<=A&&A<=54951||54953<=A&&A<=54979||54981<=A&&A<=55007||55009<=A&&A<=55035||55037<=A&&A<=55063||55065<=A&&A<=55091||55093<=A&&A<=55119||55121<=A&&A<=55147||55149<=A&&A<=55175||55177<=A&&A<=55203?u:A==9757||A==9977||9994<=A&&A<=9997||A==127877||127938<=A&&A<=127940||A==127943||127946<=A&&A<=127948||128066<=A&&A<=128067||128070<=A&&A<=128080||A==128110||128112<=A&&A<=128120||A==128124||128129<=A&&A<=128131||128133<=A&&A<=128135||A==128170||128372<=A&&A<=128373||A==128378||A==128400||128405<=A&&A<=128406||128581<=A&&A<=128583||128587<=A&&A<=128591||A==128675||128692<=A&&A<=128694||A==128704||A==128716||129304<=A&&A<=129308||129310<=A&&A<=129311||A==129318||129328<=A&&A<=129337||129341<=A&&A<=129342||129489<=A&&A<=129501?h:127995<=A&&A<=127999?p:A==8205?m:A==9792||A==9794||9877<=A&&A<=9878||A==9992||A==10084||A==127752||A==127806||A==127859||A==127891||A==127908||A==127912||A==127979||A==127981||A==128139||128187<=A&&A<=128188||A==128295||A==128300||A==128488||A==128640||A==128658?y:128102<=A&&A<=128105?b:g}return this}typeof eB!=\"undefined\"&&eB.exports&&(eB.exports=TDe)});var L9=w((Vst,N9)=>{var ODe=/^(.*?)(\\x1b\\[[^m]+m|\\x1b\\]8;;.*?(\\x1b\\\\|\\u0007))/,tB;function MDe(){if(tB)return tB;if(typeof Intl.Segmenter!=\"undefined\"){let r=new Intl.Segmenter(\"en\",{granularity:\"grapheme\"});return tB=e=>Array.from(r.segment(e),({segment:t})=>t)}else{let r=F9(),e=new r;return tB=t=>e.splitGraphemes(t)}}N9.exports=(r,e=0,t=r.length)=>{if(e<0||t<0)throw new RangeError(\"Negative indices aren't supported by this implementation\");let i=t-e,n=\"\",s=0,o=0;for(;r.length>0;){let a=r.match(ODe)||[r,r,void 0],l=MDe()(a[1]),c=Math.min(e-s,l.length);l=l.slice(c);let u=Math.min(i-o,l.length);n+=l.slice(0,u).join(\"\"),s+=c,o+=u,typeof a[2]!=\"undefined\"&&(n+=a[2]),r=r.slice(a[0].length)}return n}});var uf=w((Qot,_9)=>{\"use strict\";var V9=new Map([[\"C\",\"cwd\"],[\"f\",\"file\"],[\"z\",\"gzip\"],[\"P\",\"preservePaths\"],[\"U\",\"unlink\"],[\"strip-components\",\"strip\"],[\"stripComponents\",\"strip\"],[\"keep-newer\",\"newer\"],[\"keepNewer\",\"newer\"],[\"keep-newer-files\",\"newer\"],[\"keepNewerFiles\",\"newer\"],[\"k\",\"keep\"],[\"keep-existing\",\"keep\"],[\"keepExisting\",\"keep\"],[\"m\",\"noMtime\"],[\"no-mtime\",\"noMtime\"],[\"p\",\"preserveOwner\"],[\"L\",\"follow\"],[\"h\",\"follow\"]]),bot=_9.exports=r=>r?Object.keys(r).map(e=>[V9.has(e)?V9.get(e):e,r[e]]).reduce((e,t)=>(e[t[0]]=t[1],e),Object.create(null)):{}});var gf=w((Sot,X9)=>{\"use strict\";var XDe=require(\"events\"),Z9=require(\"stream\"),Jd=bp(),$9=require(\"string_decoder\").StringDecoder,cA=Symbol(\"EOF\"),Wd=Symbol(\"maybeEmitEnd\"),yl=Symbol(\"emittedEnd\"),aB=Symbol(\"emittingEnd\"),AB=Symbol(\"closed\"),e_=Symbol(\"read\"),nD=Symbol(\"flush\"),t_=Symbol(\"flushChunk\"),Ln=Symbol(\"encoding\"),uA=Symbol(\"decoder\"),lB=Symbol(\"flowing\"),zd=Symbol(\"paused\"),_d=Symbol(\"resume\"),pn=Symbol(\"bufferLength\"),r_=Symbol(\"bufferPush\"),sD=Symbol(\"bufferShift\"),_i=Symbol(\"objectMode\"),Vi=Symbol(\"destroyed\"),i_=global._MP_NO_ITERATOR_SYMBOLS_!==\"1\",ZDe=i_&&Symbol.asyncIterator||Symbol(\"asyncIterator not implemented\"),$De=i_&&Symbol.iterator||Symbol(\"iterator not implemented\"),n_=r=>r===\"end\"||r===\"finish\"||r===\"prefinish\",eRe=r=>r instanceof ArrayBuffer||typeof r==\"object\"&&r.constructor&&r.constructor.name===\"ArrayBuffer\"&&r.byteLength>=0,tRe=r=>!Buffer.isBuffer(r)&&ArrayBuffer.isView(r);X9.exports=class s_ extends Z9{constructor(e){super();this[lB]=!1,this[zd]=!1,this.pipes=new Jd,this.buffer=new Jd,this[_i]=e&&e.objectMode||!1,this[_i]?this[Ln]=null:this[Ln]=e&&e.encoding||null,this[Ln]===\"buffer\"&&(this[Ln]=null),this[uA]=this[Ln]?new $9(this[Ln]):null,this[cA]=!1,this[yl]=!1,this[aB]=!1,this[AB]=!1,this.writable=!0,this.readable=!0,this[pn]=0,this[Vi]=!1}get bufferLength(){return this[pn]}get encoding(){return this[Ln]}set encoding(e){if(this[_i])throw new Error(\"cannot set encoding in objectMode\");if(this[Ln]&&e!==this[Ln]&&(this[uA]&&this[uA].lastNeed||this[pn]))throw new Error(\"cannot change encoding\");this[Ln]!==e&&(this[uA]=e?new $9(e):null,this.buffer.length&&(this.buffer=this.buffer.map(t=>this[uA].write(t)))),this[Ln]=e}setEncoding(e){this.encoding=e}get objectMode(){return this[_i]}set objectMode(e){this[_i]=this[_i]||!!e}write(e,t,i){if(this[cA])throw new Error(\"write after end\");return this[Vi]?(this.emit(\"error\",Object.assign(new Error(\"Cannot call write after a stream was destroyed\"),{code:\"ERR_STREAM_DESTROYED\"})),!0):(typeof t==\"function\"&&(i=t,t=\"utf8\"),t||(t=\"utf8\"),!this[_i]&&!Buffer.isBuffer(e)&&(tRe(e)?e=Buffer.from(e.buffer,e.byteOffset,e.byteLength):eRe(e)?e=Buffer.from(e):typeof e!=\"string\"&&(this.objectMode=!0)),!this.objectMode&&!e.length?(this[pn]!==0&&this.emit(\"readable\"),i&&i(),this.flowing):(typeof e==\"string\"&&!this[_i]&&!(t===this[Ln]&&!this[uA].lastNeed)&&(e=Buffer.from(e,t)),Buffer.isBuffer(e)&&this[Ln]&&(e=this[uA].write(e)),this.flowing?(this[pn]!==0&&this[nD](!0),this.emit(\"data\",e)):this[r_](e),this[pn]!==0&&this.emit(\"readable\"),i&&i(),this.flowing))}read(e){if(this[Vi])return null;try{return this[pn]===0||e===0||e>this[pn]?null:(this[_i]&&(e=null),this.buffer.length>1&&!this[_i]&&(this.encoding?this.buffer=new Jd([Array.from(this.buffer).join(\"\")]):this.buffer=new Jd([Buffer.concat(Array.from(this.buffer),this[pn])])),this[e_](e||null,this.buffer.head.value))}finally{this[Wd]()}}[e_](e,t){return e===t.length||e===null?this[sD]():(this.buffer.head.value=t.slice(e),t=t.slice(0,e),this[pn]-=e),this.emit(\"data\",t),!this.buffer.length&&!this[cA]&&this.emit(\"drain\"),t}end(e,t,i){return typeof e==\"function\"&&(i=e,e=null),typeof t==\"function\"&&(i=t,t=\"utf8\"),e&&this.write(e,t),i&&this.once(\"end\",i),this[cA]=!0,this.writable=!1,(this.flowing||!this[zd])&&this[Wd](),this}[_d](){this[Vi]||(this[zd]=!1,this[lB]=!0,this.emit(\"resume\"),this.buffer.length?this[nD]():this[cA]?this[Wd]():this.emit(\"drain\"))}resume(){return this[_d]()}pause(){this[lB]=!1,this[zd]=!0}get destroyed(){return this[Vi]}get flowing(){return this[lB]}get paused(){return this[zd]}[r_](e){return this[_i]?this[pn]+=1:this[pn]+=e.length,this.buffer.push(e)}[sD](){return this.buffer.length&&(this[_i]?this[pn]-=1:this[pn]-=this.buffer.head.value.length),this.buffer.shift()}[nD](e){do;while(this[t_](this[sD]()));!e&&!this.buffer.length&&!this[cA]&&this.emit(\"drain\")}[t_](e){return e?(this.emit(\"data\",e),this.flowing):!1}pipe(e,t){if(this[Vi])return;let i=this[yl];t=t||{},e===process.stdout||e===process.stderr?t.end=!1:t.end=t.end!==!1;let n={dest:e,opts:t,ondrain:s=>this[_d]()};return this.pipes.push(n),e.on(\"drain\",n.ondrain),this[_d](),i&&n.opts.end&&n.dest.end(),e}addListener(e,t){return this.on(e,t)}on(e,t){try{return super.on(e,t)}finally{e===\"data\"&&!this.pipes.length&&!this.flowing?this[_d]():n_(e)&&this[yl]&&(super.emit(e),this.removeAllListeners(e))}}get emittedEnd(){return this[yl]}[Wd](){!this[aB]&&!this[yl]&&!this[Vi]&&this.buffer.length===0&&this[cA]&&(this[aB]=!0,this.emit(\"end\"),this.emit(\"prefinish\"),this.emit(\"finish\"),this[AB]&&this.emit(\"close\"),this[aB]=!1)}emit(e,t){if(e!==\"error\"&&e!==\"close\"&&e!==Vi&&this[Vi])return;if(e===\"data\"){if(!t)return;this.pipes.length&&this.pipes.forEach(n=>n.dest.write(t)===!1&&this.pause())}else if(e===\"end\"){if(this[yl]===!0)return;this[yl]=!0,this.readable=!1,this[uA]&&(t=this[uA].end(),t&&(this.pipes.forEach(n=>n.dest.write(t)),super.emit(\"data\",t))),this.pipes.forEach(n=>{n.dest.removeListener(\"drain\",n.ondrain),n.opts.end&&n.dest.end()})}else if(e===\"close\"&&(this[AB]=!0,!this[yl]&&!this[Vi]))return;let i=new Array(arguments.length);if(i[0]=e,i[1]=t,arguments.length>2)for(let n=2;n<arguments.length;n++)i[n]=arguments[n];try{return super.emit.apply(this,i)}finally{n_(e)?this.removeAllListeners(e):this[Wd]()}}collect(){let e=[];this[_i]||(e.dataLength=0);let t=this.promise();return this.on(\"data\",i=>{e.push(i),this[_i]||(e.dataLength+=i.length)}),t.then(()=>e)}concat(){return this[_i]?Promise.reject(new Error(\"cannot concat in objectMode\")):this.collect().then(e=>this[_i]?Promise.reject(new Error(\"cannot concat in objectMode\")):this[Ln]?e.join(\"\"):Buffer.concat(e,e.dataLength))}promise(){return new Promise((e,t)=>{this.on(Vi,()=>t(new Error(\"stream destroyed\"))),this.on(\"end\",()=>e()),this.on(\"error\",i=>t(i))})}[ZDe](){return{next:()=>{let t=this.read();if(t!==null)return Promise.resolve({done:!1,value:t});if(this[cA])return Promise.resolve({done:!0});let i=null,n=null,s=c=>{this.removeListener(\"data\",o),this.removeListener(\"end\",a),n(c)},o=c=>{this.removeListener(\"error\",s),this.removeListener(\"end\",a),this.pause(),i({value:c,done:!!this[cA]})},a=()=>{this.removeListener(\"error\",s),this.removeListener(\"data\",o),i({done:!0})},l=()=>s(new Error(\"stream destroyed\"));return new Promise((c,u)=>{n=u,i=c,this.once(Vi,l),this.once(\"error\",s),this.once(\"end\",a),this.once(\"data\",o)})}}}[$De](){return{next:()=>{let t=this.read();return{value:t,done:t===null}}}}destroy(e){return this[Vi]?(e?this.emit(\"error\",e):this.emit(Vi),this):(this[Vi]=!0,this.buffer=new Jd,this[pn]=0,typeof this.close==\"function\"&&!this[AB]&&this.close(),e?this.emit(\"error\",e):this.emit(Vi),this)}static isStream(e){return!!e&&(e instanceof s_||e instanceof Z9||e instanceof XDe&&(typeof e.pipe==\"function\"||typeof e.write==\"function\"&&typeof e.end==\"function\"))}}});var a_=w((vot,o_)=>{var rRe=require(\"zlib\").constants||{ZLIB_VERNUM:4736};o_.exports=Object.freeze(Object.assign(Object.create(null),{Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_VERSION_ERROR:-6,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,DEFLATE:1,INFLATE:2,GZIP:3,GUNZIP:4,DEFLATERAW:5,INFLATERAW:6,UNZIP:7,BROTLI_DECODE:8,BROTLI_ENCODE:9,Z_MIN_WINDOWBITS:8,Z_MAX_WINDOWBITS:15,Z_DEFAULT_WINDOWBITS:15,Z_MIN_CHUNK:64,Z_MAX_CHUNK:Infinity,Z_DEFAULT_CHUNK:16384,Z_MIN_MEMLEVEL:1,Z_MAX_MEMLEVEL:9,Z_DEFAULT_MEMLEVEL:8,Z_MIN_LEVEL:-1,Z_MAX_LEVEL:9,Z_DEFAULT_LEVEL:-1,BROTLI_OPERATION_PROCESS:0,BROTLI_OPERATION_FLUSH:1,BROTLI_OPERATION_FINISH:2,BROTLI_OPERATION_EMIT_METADATA:3,BROTLI_MODE_GENERIC:0,BROTLI_MODE_TEXT:1,BROTLI_MODE_FONT:2,BROTLI_DEFAULT_MODE:0,BROTLI_MIN_QUALITY:0,BROTLI_MAX_QUALITY:11,BROTLI_DEFAULT_QUALITY:11,BROTLI_MIN_WINDOW_BITS:10,BROTLI_MAX_WINDOW_BITS:24,BROTLI_LARGE_MAX_WINDOW_BITS:30,BROTLI_DEFAULT_WINDOW:22,BROTLI_MIN_INPUT_BLOCK_BITS:16,BROTLI_MAX_INPUT_BLOCK_BITS:24,BROTLI_PARAM_MODE:0,BROTLI_PARAM_QUALITY:1,BROTLI_PARAM_LGWIN:2,BROTLI_PARAM_LGBLOCK:3,BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING:4,BROTLI_PARAM_SIZE_HINT:5,BROTLI_PARAM_LARGE_WINDOW:6,BROTLI_PARAM_NPOSTFIX:7,BROTLI_PARAM_NDIRECT:8,BROTLI_DECODER_RESULT_ERROR:0,BROTLI_DECODER_RESULT_SUCCESS:1,BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT:2,BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION:0,BROTLI_DECODER_PARAM_LARGE_WINDOW:1,BROTLI_DECODER_NO_ERROR:0,BROTLI_DECODER_SUCCESS:1,BROTLI_DECODER_NEEDS_MORE_INPUT:2,BROTLI_DECODER_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE:-1,BROTLI_DECODER_ERROR_FORMAT_RESERVED:-2,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE:-3,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET:-4,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME:-5,BROTLI_DECODER_ERROR_FORMAT_CL_SPACE:-6,BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE:-7,BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT:-8,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1:-9,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2:-10,BROTLI_DECODER_ERROR_FORMAT_TRANSFORM:-11,BROTLI_DECODER_ERROR_FORMAT_DICTIONARY:-12,BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS:-13,BROTLI_DECODER_ERROR_FORMAT_PADDING_1:-14,BROTLI_DECODER_ERROR_FORMAT_PADDING_2:-15,BROTLI_DECODER_ERROR_FORMAT_DISTANCE:-16,BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET:-19,BROTLI_DECODER_ERROR_INVALID_ARGUMENTS:-20,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES:-21,BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS:-22,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP:-25,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1:-26,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2:-27,BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES:-30,BROTLI_DECODER_ERROR_UNREACHABLE:-31},rRe))});var hD=w(as=>{\"use strict\";var oD=require(\"assert\"),wl=require(\"buffer\").Buffer,A_=require(\"zlib\"),$c=as.constants=a_(),iRe=gf(),l_=wl.concat,eu=Symbol(\"_superWrite\"),Vd=class extends Error{constructor(e){super(\"zlib: \"+e.message);this.code=e.code,this.errno=e.errno,this.code||(this.code=\"ZLIB_ERROR\"),this.message=\"zlib: \"+e.message,Error.captureStackTrace(this,this.constructor)}get name(){return\"ZlibError\"}},nRe=Symbol(\"opts\"),Xd=Symbol(\"flushFlag\"),c_=Symbol(\"finishFlushFlag\"),aD=Symbol(\"fullFlushFlag\"),pr=Symbol(\"handle\"),cB=Symbol(\"onError\"),ff=Symbol(\"sawError\"),AD=Symbol(\"level\"),lD=Symbol(\"strategy\"),cD=Symbol(\"ended\"),kot=Symbol(\"_defaultFullFlush\"),uD=class extends iRe{constructor(e,t){if(!e||typeof e!=\"object\")throw new TypeError(\"invalid options for ZlibBase constructor\");super(e);this[ff]=!1,this[cD]=!1,this[nRe]=e,this[Xd]=e.flush,this[c_]=e.finishFlush;try{this[pr]=new A_[t](e)}catch(i){throw new Vd(i)}this[cB]=i=>{this[ff]||(this[ff]=!0,this.close(),this.emit(\"error\",i))},this[pr].on(\"error\",i=>this[cB](new Vd(i))),this.once(\"end\",()=>this.close)}close(){this[pr]&&(this[pr].close(),this[pr]=null,this.emit(\"close\"))}reset(){if(!this[ff])return oD(this[pr],\"zlib binding closed\"),this[pr].reset()}flush(e){this.ended||(typeof e!=\"number\"&&(e=this[aD]),this.write(Object.assign(wl.alloc(0),{[Xd]:e})))}end(e,t,i){return e&&this.write(e,t),this.flush(this[c_]),this[cD]=!0,super.end(null,null,i)}get ended(){return this[cD]}write(e,t,i){if(typeof t==\"function\"&&(i=t,t=\"utf8\"),typeof e==\"string\"&&(e=wl.from(e,t)),this[ff])return;oD(this[pr],\"zlib binding closed\");let n=this[pr]._handle,s=n.close;n.close=()=>{};let o=this[pr].close;this[pr].close=()=>{},wl.concat=c=>c;let a;try{let c=typeof e[Xd]==\"number\"?e[Xd]:this[Xd];a=this[pr]._processChunk(e,c),wl.concat=l_}catch(c){wl.concat=l_,this[cB](new Vd(c))}finally{this[pr]&&(this[pr]._handle=n,n.close=s,this[pr].close=o,this[pr].removeAllListeners(\"error\"))}this[pr]&&this[pr].on(\"error\",c=>this[cB](new Vd(c)));let l;if(a)if(Array.isArray(a)&&a.length>0){l=this[eu](wl.from(a[0]));for(let c=1;c<a.length;c++)l=this[eu](a[c])}else l=this[eu](wl.from(a));return i&&i(),l}[eu](e){return super.write(e)}},Bl=class extends uD{constructor(e,t){e=e||{},e.flush=e.flush||$c.Z_NO_FLUSH,e.finishFlush=e.finishFlush||$c.Z_FINISH,super(e,t),this[aD]=$c.Z_FULL_FLUSH,this[AD]=e.level,this[lD]=e.strategy}params(e,t){if(!this[ff]){if(!this[pr])throw new Error(\"cannot switch params when binding is closed\");if(!this[pr].params)throw new Error(\"not supported in this implementation\");if(this[AD]!==e||this[lD]!==t){this.flush($c.Z_SYNC_FLUSH),oD(this[pr],\"zlib binding closed\");let i=this[pr].flush;this[pr].flush=(n,s)=>{this.flush(n),s()};try{this[pr].params(e,t)}finally{this[pr].flush=i}this[pr]&&(this[AD]=e,this[lD]=t)}}}},u_=class extends Bl{constructor(e){super(e,\"Deflate\")}},g_=class extends Bl{constructor(e){super(e,\"Inflate\")}},gD=Symbol(\"_portable\"),f_=class extends Bl{constructor(e){super(e,\"Gzip\");this[gD]=e&&!!e.portable}[eu](e){return this[gD]?(this[gD]=!1,e[9]=255,super[eu](e)):super[eu](e)}},h_=class extends Bl{constructor(e){super(e,\"Gunzip\")}},p_=class extends Bl{constructor(e){super(e,\"DeflateRaw\")}},d_=class extends Bl{constructor(e){super(e,\"InflateRaw\")}},C_=class extends Bl{constructor(e){super(e,\"Unzip\")}},fD=class extends uD{constructor(e,t){e=e||{},e.flush=e.flush||$c.BROTLI_OPERATION_PROCESS,e.finishFlush=e.finishFlush||$c.BROTLI_OPERATION_FINISH,super(e,t),this[aD]=$c.BROTLI_OPERATION_FLUSH}},m_=class extends fD{constructor(e){super(e,\"BrotliCompress\")}},E_=class extends fD{constructor(e){super(e,\"BrotliDecompress\")}};as.Deflate=u_;as.Inflate=g_;as.Gzip=f_;as.Gunzip=h_;as.DeflateRaw=p_;as.InflateRaw=d_;as.Unzip=C_;typeof A_.BrotliCompress==\"function\"?(as.BrotliCompress=m_,as.BrotliDecompress=E_):as.BrotliCompress=as.BrotliDecompress=class{constructor(){throw new Error(\"Brotli is not supported in this version of Node.js\")}}});var Zd=w(uB=>{\"use strict\";uB.name=new Map([[\"0\",\"File\"],[\"\",\"OldFile\"],[\"1\",\"Link\"],[\"2\",\"SymbolicLink\"],[\"3\",\"CharacterDevice\"],[\"4\",\"BlockDevice\"],[\"5\",\"Directory\"],[\"6\",\"FIFO\"],[\"7\",\"ContiguousFile\"],[\"g\",\"GlobalExtendedHeader\"],[\"x\",\"ExtendedHeader\"],[\"A\",\"SolarisACL\"],[\"D\",\"GNUDumpDir\"],[\"I\",\"Inode\"],[\"K\",\"NextFileHasLongLinkpath\"],[\"L\",\"NextFileHasLongPath\"],[\"M\",\"ContinuationFile\"],[\"N\",\"OldGnuLongPath\"],[\"S\",\"SparseFile\"],[\"V\",\"TapeVolumeHeader\"],[\"X\",\"OldExtendedHeader\"]]);uB.code=new Map(Array.from(uB.name).map(r=>[r[1],r[0]]))});var $d=w((Fot,I_)=>{\"use strict\";var Dot=Zd(),sRe=gf(),pD=Symbol(\"slurp\");I_.exports=class extends sRe{constructor(e,t,i){super();switch(this.pause(),this.extended=t,this.globalExtended=i,this.header=e,this.startBlockSize=512*Math.ceil(e.size/512),this.blockRemain=this.startBlockSize,this.remain=e.size,this.type=e.type,this.meta=!1,this.ignore=!1,this.type){case\"File\":case\"OldFile\":case\"Link\":case\"SymbolicLink\":case\"CharacterDevice\":case\"BlockDevice\":case\"Directory\":case\"FIFO\":case\"ContiguousFile\":case\"GNUDumpDir\":break;case\"NextFileHasLongLinkpath\":case\"NextFileHasLongPath\":case\"OldGnuLongPath\":case\"GlobalExtendedHeader\":case\"ExtendedHeader\":case\"OldExtendedHeader\":this.meta=!0;break;default:this.ignore=!0}this.path=e.path,this.mode=e.mode,this.mode&&(this.mode=this.mode&4095),this.uid=e.uid,this.gid=e.gid,this.uname=e.uname,this.gname=e.gname,this.size=e.size,this.mtime=e.mtime,this.atime=e.atime,this.ctime=e.ctime,this.linkpath=e.linkpath,this.uname=e.uname,this.gname=e.gname,t&&this[pD](t),i&&this[pD](i,!0)}write(e){let t=e.length;if(t>this.blockRemain)throw new Error(\"writing more to entry than is appropriate\");let i=this.remain,n=this.blockRemain;return this.remain=Math.max(0,i-t),this.blockRemain=Math.max(0,n-t),this.ignore?!0:i>=t?super.write(e):super.write(e.slice(0,i))}[pD](e,t){for(let i in e)e[i]!==null&&e[i]!==void 0&&!(t&&i===\"path\")&&(this[i]=e[i])}}});var B_=w(dD=>{\"use strict\";var Not=dD.encode=(r,e)=>{if(Number.isSafeInteger(r))r<0?aRe(r,e):oRe(r,e);else throw Error(\"cannot encode number outside of javascript safe integer range\");return e},oRe=(r,e)=>{e[0]=128;for(var t=e.length;t>1;t--)e[t-1]=r&255,r=Math.floor(r/256)},aRe=(r,e)=>{e[0]=255;var t=!1;r=r*-1;for(var i=e.length;i>1;i--){var n=r&255;r=Math.floor(r/256),t?e[i-1]=y_(n):n===0?e[i-1]=0:(t=!0,e[i-1]=w_(n))}},Lot=dD.parse=r=>{var e=r[r.length-1],t=r[0],i;if(t===128)i=lRe(r.slice(1,r.length));else if(t===255)i=ARe(r);else throw Error(\"invalid base256 encoding\");if(!Number.isSafeInteger(i))throw Error(\"parsed number outside of javascript safe integer range\");return i},ARe=r=>{for(var e=r.length,t=0,i=!1,n=e-1;n>-1;n--){var s=r[n],o;i?o=y_(s):s===0?o=s:(i=!0,o=w_(s)),o!==0&&(t-=o*Math.pow(256,e-n-1))}return t},lRe=r=>{for(var e=r.length,t=0,i=e-1;i>-1;i--){var n=r[i];n!==0&&(t+=n*Math.pow(256,e-i-1))}return t},y_=r=>(255^r)&255,w_=r=>(255^r)+1&255});var pf=w((Oot,b_)=>{\"use strict\";var CD=Zd(),hf=require(\"path\").posix,Q_=B_(),mD=Symbol(\"slurp\"),As=Symbol(\"type\"),S_=class{constructor(e,t,i,n){this.cksumValid=!1,this.needPax=!1,this.nullBlock=!1,this.block=null,this.path=null,this.mode=null,this.uid=null,this.gid=null,this.size=null,this.mtime=null,this.cksum=null,this[As]=\"0\",this.linkpath=null,this.uname=null,this.gname=null,this.devmaj=0,this.devmin=0,this.atime=null,this.ctime=null,Buffer.isBuffer(e)?this.decode(e,t||0,i,n):e&&this.set(e)}decode(e,t,i,n){if(t||(t=0),!e||!(e.length>=t+512))throw new Error(\"need 512 bytes for header\");if(this.path=tu(e,t,100),this.mode=bl(e,t+100,8),this.uid=bl(e,t+108,8),this.gid=bl(e,t+116,8),this.size=bl(e,t+124,12),this.mtime=ED(e,t+136,12),this.cksum=bl(e,t+148,12),this[mD](i),this[mD](n,!0),this[As]=tu(e,t+156,1),this[As]===\"\"&&(this[As]=\"0\"),this[As]===\"0\"&&this.path.substr(-1)===\"/\"&&(this[As]=\"5\"),this[As]===\"5\"&&(this.size=0),this.linkpath=tu(e,t+157,100),e.slice(t+257,t+265).toString()===\"ustar\\x0000\")if(this.uname=tu(e,t+265,32),this.gname=tu(e,t+297,32),this.devmaj=bl(e,t+329,8),this.devmin=bl(e,t+337,8),e[t+475]!==0){let o=tu(e,t+345,155);this.path=o+\"/\"+this.path}else{let o=tu(e,t+345,130);o&&(this.path=o+\"/\"+this.path),this.atime=ED(e,t+476,12),this.ctime=ED(e,t+488,12)}let s=8*32;for(let o=t;o<t+148;o++)s+=e[o];for(let o=t+156;o<t+512;o++)s+=e[o];this.cksumValid=s===this.cksum,this.cksum===null&&s===8*32&&(this.nullBlock=!0)}[mD](e,t){for(let i in e)e[i]!==null&&e[i]!==void 0&&!(t&&i===\"path\")&&(this[i]=e[i])}encode(e,t){if(e||(e=this.block=Buffer.alloc(512),t=0),t||(t=0),!(e.length>=t+512))throw new Error(\"need 512 bytes for header\");let i=this.ctime||this.atime?130:155,n=cRe(this.path||\"\",i),s=n[0],o=n[1];this.needPax=n[2],this.needPax=ru(e,t,100,s)||this.needPax,this.needPax=Ql(e,t+100,8,this.mode)||this.needPax,this.needPax=Ql(e,t+108,8,this.uid)||this.needPax,this.needPax=Ql(e,t+116,8,this.gid)||this.needPax,this.needPax=Ql(e,t+124,12,this.size)||this.needPax,this.needPax=ID(e,t+136,12,this.mtime)||this.needPax,e[t+156]=this[As].charCodeAt(0),this.needPax=ru(e,t+157,100,this.linkpath)||this.needPax,e.write(\"ustar\\x0000\",t+257,8),this.needPax=ru(e,t+265,32,this.uname)||this.needPax,this.needPax=ru(e,t+297,32,this.gname)||this.needPax,this.needPax=Ql(e,t+329,8,this.devmaj)||this.needPax,this.needPax=Ql(e,t+337,8,this.devmin)||this.needPax,this.needPax=ru(e,t+345,i,o)||this.needPax,e[t+475]!==0?this.needPax=ru(e,t+345,155,o)||this.needPax:(this.needPax=ru(e,t+345,130,o)||this.needPax,this.needPax=ID(e,t+476,12,this.atime)||this.needPax,this.needPax=ID(e,t+488,12,this.ctime)||this.needPax);let a=8*32;for(let l=t;l<t+148;l++)a+=e[l];for(let l=t+156;l<t+512;l++)a+=e[l];return this.cksum=a,Ql(e,t+148,8,this.cksum),this.cksumValid=!0,this.needPax}set(e){for(let t in e)e[t]!==null&&e[t]!==void 0&&(this[t]=e[t])}get type(){return CD.name.get(this[As])||this[As]}get typeKey(){return this[As]}set type(e){CD.code.has(e)?this[As]=CD.code.get(e):this[As]=e}},cRe=(r,e)=>{let t=100,i=r,n=\"\",s,o=hf.parse(r).root||\".\";if(Buffer.byteLength(i)<t)s=[i,n,!1];else{n=hf.dirname(i),i=hf.basename(i);do Buffer.byteLength(i)<=t&&Buffer.byteLength(n)<=e?s=[i,n,!1]:Buffer.byteLength(i)>t&&Buffer.byteLength(n)<=e?s=[i.substr(0,t-1),n,!0]:(i=hf.join(hf.basename(n),i),n=hf.dirname(n));while(n!==o&&!s);s||(s=[r.substr(0,t-1),\"\",!0])}return s},tu=(r,e,t)=>r.slice(e,e+t).toString(\"utf8\").replace(/\\0.*/,\"\"),ED=(r,e,t)=>uRe(bl(r,e,t)),uRe=r=>r===null?null:new Date(r*1e3),bl=(r,e,t)=>r[e]&128?Q_.parse(r.slice(e,e+t)):gRe(r,e,t),fRe=r=>isNaN(r)?null:r,gRe=(r,e,t)=>fRe(parseInt(r.slice(e,e+t).toString(\"utf8\").replace(/\\0.*$/,\"\").trim(),8)),hRe={12:8589934591,8:2097151},Ql=(r,e,t,i)=>i===null?!1:i>hRe[t]||i<0?(Q_.encode(i,r.slice(e,e+t)),!0):(pRe(r,e,t,i),!1),pRe=(r,e,t,i)=>r.write(dRe(i,t),e,t,\"ascii\"),dRe=(r,e)=>CRe(Math.floor(r).toString(8),e),CRe=(r,e)=>(r.length===e-1?r:new Array(e-r.length-1).join(\"0\")+r+\" \")+\"\\0\",ID=(r,e,t,i)=>i===null?!1:Ql(r,e,t,i.getTime()/1e3),mRe=new Array(156).join(\"\\0\"),ru=(r,e,t,i)=>i===null?!1:(r.write(i+mRe,e,t,\"utf8\"),i.length!==Buffer.byteLength(i)||i.length>t);b_.exports=S_});var fB=w((Mot,v_)=>{\"use strict\";var ERe=pf(),IRe=require(\"path\"),gB=class{constructor(e,t){this.atime=e.atime||null,this.charset=e.charset||null,this.comment=e.comment||null,this.ctime=e.ctime||null,this.gid=e.gid||null,this.gname=e.gname||null,this.linkpath=e.linkpath||null,this.mtime=e.mtime||null,this.path=e.path||null,this.size=e.size||null,this.uid=e.uid||null,this.uname=e.uname||null,this.dev=e.dev||null,this.ino=e.ino||null,this.nlink=e.nlink||null,this.global=t||!1}encode(){let e=this.encodeBody();if(e===\"\")return null;let t=Buffer.byteLength(e),i=512*Math.ceil(1+t/512),n=Buffer.allocUnsafe(i);for(let s=0;s<512;s++)n[s]=0;new ERe({path:(\"PaxHeader/\"+IRe.basename(this.path)).slice(0,99),mode:this.mode||420,uid:this.uid||null,gid:this.gid||null,size:t,mtime:this.mtime||null,type:this.global?\"GlobalExtendedHeader\":\"ExtendedHeader\",linkpath:\"\",uname:this.uname||\"\",gname:this.gname||\"\",devmaj:0,devmin:0,atime:this.atime||null,ctime:this.ctime||null}).encode(n),n.write(e,512,t,\"utf8\");for(let s=t+512;s<n.length;s++)n[s]=0;return n}encodeBody(){return this.encodeField(\"path\")+this.encodeField(\"ctime\")+this.encodeField(\"atime\")+this.encodeField(\"dev\")+this.encodeField(\"ino\")+this.encodeField(\"nlink\")+this.encodeField(\"charset\")+this.encodeField(\"comment\")+this.encodeField(\"gid\")+this.encodeField(\"gname\")+this.encodeField(\"linkpath\")+this.encodeField(\"mtime\")+this.encodeField(\"size\")+this.encodeField(\"uid\")+this.encodeField(\"uname\")}encodeField(e){if(this[e]===null||this[e]===void 0)return\"\";let t=this[e]instanceof Date?this[e].getTime()/1e3:this[e],i=\" \"+(e===\"dev\"||e===\"ino\"||e===\"nlink\"?\"SCHILY.\":\"\")+e+\"=\"+t+`\n`,n=Buffer.byteLength(i),s=Math.floor(Math.log(n)/Math.log(10))+1;return n+s>=Math.pow(10,s)&&(s+=1),s+n+i}};gB.parse=(r,e,t)=>new gB(yRe(wRe(r),e),t);var yRe=(r,e)=>e?Object.keys(r).reduce((t,i)=>(t[i]=r[i],t),e):r,wRe=r=>r.replace(/\\n$/,\"\").split(`\n`).reduce(BRe,Object.create(null)),BRe=(r,e)=>{let t=parseInt(e,10);if(t!==Buffer.byteLength(e)+1)return r;e=e.substr((t+\" \").length);let i=e.split(\"=\"),n=i.shift().replace(/^SCHILY\\.(dev|ino|nlink)/,\"$1\");if(!n)return r;let s=i.join(\"=\");return r[n]=/^([A-Z]+\\.)?([mac]|birth|creation)time$/.test(n)?new Date(s*1e3):/^[0-9]+$/.test(s)?+s:s,r};v_.exports=gB});var hB=w((Uot,k_)=>{\"use strict\";k_.exports=r=>class extends r{warn(e,t,i={}){this.file&&(i.file=this.file),this.cwd&&(i.cwd=this.cwd),i.code=t instanceof Error&&t.code||e,i.tarCode=e,!this.strict&&i.recoverable!==!1?(t instanceof Error&&(i=Object.assign(t,i),t=t.message),this.emit(\"warn\",i.tarCode,t,i)):t instanceof Error?this.emit(\"error\",Object.assign(t,i)):this.emit(\"error\",Object.assign(new Error(`${e}: ${t}`),i))}}});var wD=w((Kot,x_)=>{\"use strict\";var pB=[\"|\",\"<\",\">\",\"?\",\":\"],yD=pB.map(r=>String.fromCharCode(61440+r.charCodeAt(0))),bRe=new Map(pB.map((r,e)=>[r,yD[e]])),QRe=new Map(yD.map((r,e)=>[r,pB[e]]));x_.exports={encode:r=>pB.reduce((e,t)=>e.split(t).join(bRe.get(t)),r),decode:r=>yD.reduce((e,t)=>e.split(t).join(QRe.get(t)),r)}});var D_=w((Hot,P_)=>{\"use strict\";P_.exports=(r,e,t)=>(r&=4095,t&&(r=(r|384)&~18),e&&(r&256&&(r|=64),r&32&&(r|=8),r&4&&(r|=1)),r)});var xD=w((Jot,R_)=>{\"use strict\";var F_=gf(),N_=fB(),L_=pf(),jot=$d(),oa=require(\"fs\"),df=require(\"path\"),Got=Zd(),SRe=16*1024*1024,T_=Symbol(\"process\"),O_=Symbol(\"file\"),M_=Symbol(\"directory\"),BD=Symbol(\"symlink\"),U_=Symbol(\"hardlink\"),eC=Symbol(\"header\"),dB=Symbol(\"read\"),bD=Symbol(\"lstat\"),CB=Symbol(\"onlstat\"),QD=Symbol(\"onread\"),SD=Symbol(\"onreadlink\"),vD=Symbol(\"openfile\"),kD=Symbol(\"onopenfile\"),iu=Symbol(\"close\"),mB=Symbol(\"mode\"),K_=hB(),vRe=wD(),H_=D_(),EB=K_(class extends F_{constructor(e,t){if(t=t||{},super(t),typeof e!=\"string\")throw new TypeError(\"path is required\");this.path=e,this.portable=!!t.portable,this.myuid=process.getuid&&process.getuid(),this.myuser=process.env.USER||\"\",this.maxReadSize=t.maxReadSize||SRe,this.linkCache=t.linkCache||new Map,this.statCache=t.statCache||new Map,this.preservePaths=!!t.preservePaths,this.cwd=t.cwd||process.cwd(),this.strict=!!t.strict,this.noPax=!!t.noPax,this.noMtime=!!t.noMtime,this.mtime=t.mtime||null,typeof t.onwarn==\"function\"&&this.on(\"warn\",t.onwarn);let i=!1;if(!this.preservePaths&&df.win32.isAbsolute(e)){let n=df.win32.parse(e);this.path=e.substr(n.root.length),i=n.root}this.win32=!!t.win32||process.platform===\"win32\",this.win32&&(this.path=vRe.decode(this.path.replace(/\\\\/g,\"/\")),e=e.replace(/\\\\/g,\"/\")),this.absolute=t.absolute||df.resolve(this.cwd,e),this.path===\"\"&&(this.path=\"./\"),i&&this.warn(\"TAR_ENTRY_INFO\",`stripping ${i} from absolute path`,{entry:this,path:i+this.path}),this.statCache.has(this.absolute)?this[CB](this.statCache.get(this.absolute)):this[bD]()}[bD](){oa.lstat(this.absolute,(e,t)=>{if(e)return this.emit(\"error\",e);this[CB](t)})}[CB](e){this.statCache.set(this.absolute,e),this.stat=e,e.isFile()||(e.size=0),this.type=kRe(e),this.emit(\"stat\",e),this[T_]()}[T_](){switch(this.type){case\"File\":return this[O_]();case\"Directory\":return this[M_]();case\"SymbolicLink\":return this[BD]();default:return this.end()}}[mB](e){return H_(e,this.type===\"Directory\",this.portable)}[eC](){this.type===\"Directory\"&&this.portable&&(this.noMtime=!0),this.header=new L_({path:this.path,linkpath:this.linkpath,mode:this[mB](this.stat.mode),uid:this.portable?null:this.stat.uid,gid:this.portable?null:this.stat.gid,size:this.stat.size,mtime:this.noMtime?null:this.mtime||this.stat.mtime,type:this.type,uname:this.portable?null:this.stat.uid===this.myuid?this.myuser:\"\",atime:this.portable?null:this.stat.atime,ctime:this.portable?null:this.stat.ctime}),this.header.encode()&&!this.noPax&&this.write(new N_({atime:this.portable?null:this.header.atime,ctime:this.portable?null:this.header.ctime,gid:this.portable?null:this.header.gid,mtime:this.noMtime?null:this.mtime||this.header.mtime,path:this.path,linkpath:this.linkpath,size:this.header.size,uid:this.portable?null:this.header.uid,uname:this.portable?null:this.header.uname,dev:this.portable?null:this.stat.dev,ino:this.portable?null:this.stat.ino,nlink:this.portable?null:this.stat.nlink}).encode()),this.write(this.header.block)}[M_](){this.path.substr(-1)!==\"/\"&&(this.path+=\"/\"),this.stat.size=0,this[eC](),this.end()}[BD](){oa.readlink(this.absolute,(e,t)=>{if(e)return this.emit(\"error\",e);this[SD](t)})}[SD](e){this.linkpath=e.replace(/\\\\/g,\"/\"),this[eC](),this.end()}[U_](e){this.type=\"Link\",this.linkpath=df.relative(this.cwd,e).replace(/\\\\/g,\"/\"),this.stat.size=0,this[eC](),this.end()}[O_](){if(this.stat.nlink>1){let e=this.stat.dev+\":\"+this.stat.ino;if(this.linkCache.has(e)){let t=this.linkCache.get(e);if(t.indexOf(this.cwd)===0)return this[U_](t)}this.linkCache.set(e,this.absolute)}if(this[eC](),this.stat.size===0)return this.end();this[vD]()}[vD](){oa.open(this.absolute,\"r\",(e,t)=>{if(e)return this.emit(\"error\",e);this[kD](t)})}[kD](e){let t=512*Math.ceil(this.stat.size/512),i=Math.min(t,this.maxReadSize),n=Buffer.allocUnsafe(i);this[dB](e,n,0,n.length,0,this.stat.size,t)}[dB](e,t,i,n,s,o,a){oa.read(e,t,i,n,s,(l,c)=>{if(l)return this[iu](e,()=>this.emit(\"error\",l));this[QD](e,t,i,n,s,o,a,c)})}[iu](e,t){oa.close(e,t)}[QD](e,t,i,n,s,o,a,l){if(l<=0&&o>0){let u=new Error(\"encountered unexpected EOF\");return u.path=this.absolute,u.syscall=\"read\",u.code=\"EOF\",this[iu](e,()=>this.emit(\"error\",u))}if(l>o){let u=new Error(\"did not encounter expected EOF\");return u.path=this.absolute,u.syscall=\"read\",u.code=\"EOF\",this[iu](e,()=>this.emit(\"error\",u))}if(l===o)for(let u=l;u<n&&l<a;u++)t[u+i]=0,l++,o++;let c=i===0&&l===t.length?t:t.slice(i,i+l);if(o-=l,a-=l,s+=l,i+=l,this.write(c),!o)return a&&this.write(Buffer.alloc(a)),this[iu](e,u=>u?this.emit(\"error\",u):this.end());i>=n&&(t=Buffer.allocUnsafe(n),i=0),n=t.length-i,this[dB](e,t,i,n,s,o,a)}}),j_=class extends EB{constructor(e,t){super(e,t)}[bD](){this[CB](oa.lstatSync(this.absolute))}[BD](){this[SD](oa.readlinkSync(this.absolute))}[vD](){this[kD](oa.openSync(this.absolute,\"r\"))}[dB](e,t,i,n,s,o,a){let l=!0;try{let c=oa.readSync(e,t,i,n,s);this[QD](e,t,i,n,s,o,a,c),l=!1}finally{if(l)try{this[iu](e,()=>{})}catch(c){}}}[iu](e,t){oa.closeSync(e),t()}},xRe=K_(class extends F_{constructor(e,t){t=t||{},super(t),this.preservePaths=!!t.preservePaths,this.portable=!!t.portable,this.strict=!!t.strict,this.noPax=!!t.noPax,this.noMtime=!!t.noMtime,this.readEntry=e,this.type=e.type,this.type===\"Directory\"&&this.portable&&(this.noMtime=!0),this.path=e.path,this.mode=this[mB](e.mode),this.uid=this.portable?null:e.uid,this.gid=this.portable?null:e.gid,this.uname=this.portable?null:e.uname,this.gname=this.portable?null:e.gname,this.size=e.size,this.mtime=this.noMtime?null:t.mtime||e.mtime,this.atime=this.portable?null:e.atime,this.ctime=this.portable?null:e.ctime,this.linkpath=e.linkpath,typeof t.onwarn==\"function\"&&this.on(\"warn\",t.onwarn);let i=!1;if(df.isAbsolute(this.path)&&!this.preservePaths){let n=df.parse(this.path);i=n.root,this.path=this.path.substr(n.root.length)}this.remain=e.size,this.blockRemain=e.startBlockSize,this.header=new L_({path:this.path,linkpath:this.linkpath,mode:this.mode,uid:this.portable?null:this.uid,gid:this.portable?null:this.gid,size:this.size,mtime:this.noMtime?null:this.mtime,type:this.type,uname:this.portable?null:this.uname,atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime}),i&&this.warn(\"TAR_ENTRY_INFO\",`stripping ${i} from absolute path`,{entry:this,path:i+this.path}),this.header.encode()&&!this.noPax&&super.write(new N_({atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime,gid:this.portable?null:this.gid,mtime:this.noMtime?null:this.mtime,path:this.path,linkpath:this.linkpath,size:this.size,uid:this.portable?null:this.uid,uname:this.portable?null:this.uname,dev:this.portable?null:this.readEntry.dev,ino:this.portable?null:this.readEntry.ino,nlink:this.portable?null:this.readEntry.nlink}).encode()),super.write(this.header.block),e.pipe(this)}[mB](e){return H_(e,this.type===\"Directory\",this.portable)}write(e){let t=e.length;if(t>this.blockRemain)throw new Error(\"writing more to entry than is appropriate\");return this.blockRemain-=t,super.write(e)}end(){return this.blockRemain&&this.write(Buffer.alloc(this.blockRemain)),super.end()}});EB.Sync=j_;EB.Tar=xRe;var kRe=r=>r.isFile()?\"File\":r.isDirectory()?\"Directory\":r.isSymbolicLink()?\"SymbolicLink\":\"Unsupported\";R_.exports=EB});var vB=w((zot,G_)=>{\"use strict\";var PD=class{constructor(e,t){this.path=e||\"./\",this.absolute=t,this.entry=null,this.stat=null,this.readdir=null,this.pending=!1,this.ignore=!1,this.piped=!1}},PRe=gf(),DRe=hD(),RRe=$d(),DD=xD(),FRe=DD.Sync,NRe=DD.Tar,LRe=bp(),Y_=Buffer.alloc(1024),IB=Symbol(\"onStat\"),yB=Symbol(\"ended\"),aa=Symbol(\"queue\"),Cf=Symbol(\"current\"),nu=Symbol(\"process\"),wB=Symbol(\"processing\"),q_=Symbol(\"processJob\"),Aa=Symbol(\"jobs\"),RD=Symbol(\"jobDone\"),BB=Symbol(\"addFSEntry\"),J_=Symbol(\"addTarEntry\"),FD=Symbol(\"stat\"),ND=Symbol(\"readdir\"),bB=Symbol(\"onreaddir\"),QB=Symbol(\"pipe\"),W_=Symbol(\"entry\"),LD=Symbol(\"entryOpt\"),TD=Symbol(\"writeEntryClass\"),z_=Symbol(\"write\"),OD=Symbol(\"ondrain\"),SB=require(\"fs\"),__=require(\"path\"),TRe=hB(),MD=TRe(class extends PRe{constructor(e){super(e);e=e||Object.create(null),this.opt=e,this.file=e.file||\"\",this.cwd=e.cwd||process.cwd(),this.maxReadSize=e.maxReadSize,this.preservePaths=!!e.preservePaths,this.strict=!!e.strict,this.noPax=!!e.noPax,this.prefix=(e.prefix||\"\").replace(/(\\\\|\\/)+$/,\"\"),this.linkCache=e.linkCache||new Map,this.statCache=e.statCache||new Map,this.readdirCache=e.readdirCache||new Map,this[TD]=DD,typeof e.onwarn==\"function\"&&this.on(\"warn\",e.onwarn),this.portable=!!e.portable,this.zip=null,e.gzip?(typeof e.gzip!=\"object\"&&(e.gzip={}),this.portable&&(e.gzip.portable=!0),this.zip=new DRe.Gzip(e.gzip),this.zip.on(\"data\",t=>super.write(t)),this.zip.on(\"end\",t=>super.end()),this.zip.on(\"drain\",t=>this[OD]()),this.on(\"resume\",t=>this.zip.resume())):this.on(\"drain\",this[OD]),this.noDirRecurse=!!e.noDirRecurse,this.follow=!!e.follow,this.noMtime=!!e.noMtime,this.mtime=e.mtime||null,this.filter=typeof e.filter==\"function\"?e.filter:t=>!0,this[aa]=new LRe,this[Aa]=0,this.jobs=+e.jobs||4,this[wB]=!1,this[yB]=!1}[z_](e){return super.write(e)}add(e){return this.write(e),this}end(e){return e&&this.write(e),this[yB]=!0,this[nu](),this}write(e){if(this[yB])throw new Error(\"write after end\");return e instanceof RRe?this[J_](e):this[BB](e),this.flowing}[J_](e){let t=__.resolve(this.cwd,e.path);if(this.prefix&&(e.path=this.prefix+\"/\"+e.path.replace(/^\\.(\\/+|$)/,\"\")),!this.filter(e.path,e))e.resume();else{let i=new PD(e.path,t,!1);i.entry=new NRe(e,this[LD](i)),i.entry.on(\"end\",n=>this[RD](i)),this[Aa]+=1,this[aa].push(i)}this[nu]()}[BB](e){let t=__.resolve(this.cwd,e);this.prefix&&(e=this.prefix+\"/\"+e.replace(/^\\.(\\/+|$)/,\"\")),this[aa].push(new PD(e,t)),this[nu]()}[FD](e){e.pending=!0,this[Aa]+=1;let t=this.follow?\"stat\":\"lstat\";SB[t](e.absolute,(i,n)=>{e.pending=!1,this[Aa]-=1,i?this.emit(\"error\",i):this[IB](e,n)})}[IB](e,t){this.statCache.set(e.absolute,t),e.stat=t,this.filter(e.path,t)||(e.ignore=!0),this[nu]()}[ND](e){e.pending=!0,this[Aa]+=1,SB.readdir(e.absolute,(t,i)=>{if(e.pending=!1,this[Aa]-=1,t)return this.emit(\"error\",t);this[bB](e,i)})}[bB](e,t){this.readdirCache.set(e.absolute,t),e.readdir=t,this[nu]()}[nu](){if(!this[wB]){this[wB]=!0;for(let e=this[aa].head;e!==null&&this[Aa]<this.jobs;e=e.next)if(this[q_](e.value),e.value.ignore){let t=e.next;this[aa].removeNode(e),e.next=t}this[wB]=!1,this[yB]&&!this[aa].length&&this[Aa]===0&&(this.zip?this.zip.end(Y_):(super.write(Y_),super.end()))}}get[Cf](){return this[aa]&&this[aa].head&&this[aa].head.value}[RD](e){this[aa].shift(),this[Aa]-=1,this[nu]()}[q_](e){if(!e.pending){if(e.entry){e===this[Cf]&&!e.piped&&this[QB](e);return}if(e.stat||(this.statCache.has(e.absolute)?this[IB](e,this.statCache.get(e.absolute)):this[FD](e)),!!e.stat&&!e.ignore&&!(!this.noDirRecurse&&e.stat.isDirectory()&&!e.readdir&&(this.readdirCache.has(e.absolute)?this[bB](e,this.readdirCache.get(e.absolute)):this[ND](e),!e.readdir))){if(e.entry=this[W_](e),!e.entry){e.ignore=!0;return}e===this[Cf]&&!e.piped&&this[QB](e)}}}[LD](e){return{onwarn:(t,i,n)=>this.warn(t,i,n),noPax:this.noPax,cwd:this.cwd,absolute:e.absolute,preservePaths:this.preservePaths,maxReadSize:this.maxReadSize,strict:this.strict,portable:this.portable,linkCache:this.linkCache,statCache:this.statCache,noMtime:this.noMtime,mtime:this.mtime}}[W_](e){this[Aa]+=1;try{return new this[TD](e.path,this[LD](e)).on(\"end\",()=>this[RD](e)).on(\"error\",t=>this.emit(\"error\",t))}catch(t){this.emit(\"error\",t)}}[OD](){this[Cf]&&this[Cf].entry&&this[Cf].entry.resume()}[QB](e){e.piped=!0,e.readdir&&e.readdir.forEach(n=>{let s=this.prefix?e.path.slice(this.prefix.length+1)||\"./\":e.path,o=s===\"./\"?\"\":s.replace(/\\/*$/,\"/\");this[BB](o+n)});let t=e.entry,i=this.zip;i?t.on(\"data\",n=>{i.write(n)||t.pause()}):t.on(\"data\",n=>{super.write(n)||t.pause()})}pause(){return this.zip&&this.zip.pause(),super.pause()}}),V_=class extends MD{constructor(e){super(e);this[TD]=FRe}pause(){}resume(){}[FD](e){let t=this.follow?\"statSync\":\"lstatSync\";this[IB](e,SB[t](e.absolute))}[ND](e,t){this[bB](e,SB.readdirSync(e.absolute))}[QB](e){let t=e.entry,i=this.zip;e.readdir&&e.readdir.forEach(n=>{let s=this.prefix?e.path.slice(this.prefix.length+1)||\"./\":e.path,o=s===\"./\"?\"\":s.replace(/\\/*$/,\"/\");this[BB](o+n)}),i?t.on(\"data\",n=>{i.write(n)}):t.on(\"data\",n=>{super[z_](n)})}};MD.Sync=V_;G_.exports=MD});var Bf=w(tC=>{\"use strict\";var ORe=gf(),MRe=require(\"events\").EventEmitter,js=require(\"fs\"),kB=process.binding(\"fs\"),_ot=kB.writeBuffers,URe=kB.FSReqWrap||kB.FSReqCallback,mf=Symbol(\"_autoClose\"),la=Symbol(\"_close\"),rC=Symbol(\"_ended\"),or=Symbol(\"_fd\"),X_=Symbol(\"_finished\"),su=Symbol(\"_flags\"),UD=Symbol(\"_flush\"),KD=Symbol(\"_handleChunk\"),HD=Symbol(\"_makeBuf\"),jD=Symbol(\"_mode\"),xB=Symbol(\"_needDrain\"),Ef=Symbol(\"_onerror\"),If=Symbol(\"_onopen\"),GD=Symbol(\"_onread\"),ou=Symbol(\"_onwrite\"),Sl=Symbol(\"_open\"),vl=Symbol(\"_path\"),au=Symbol(\"_pos\"),ca=Symbol(\"_queue\"),yf=Symbol(\"_read\"),Z_=Symbol(\"_readSize\"),kl=Symbol(\"_reading\"),PB=Symbol(\"_remain\"),$_=Symbol(\"_size\"),DB=Symbol(\"_write\"),wf=Symbol(\"_writing\"),RB=Symbol(\"_defaultFlag\"),YD=class extends ORe{constructor(e,t){if(t=t||{},super(t),this.writable=!1,typeof e!=\"string\")throw new TypeError(\"path must be a string\");this[or]=typeof t.fd==\"number\"?t.fd:null,this[vl]=e,this[Z_]=t.readSize||16*1024*1024,this[kl]=!1,this[$_]=typeof t.size==\"number\"?t.size:Infinity,this[PB]=this[$_],this[mf]=typeof t.autoClose==\"boolean\"?t.autoClose:!0,typeof this[or]==\"number\"?this[yf]():this[Sl]()}get fd(){return this[or]}get path(){return this[vl]}write(){throw new TypeError(\"this is a readable stream\")}end(){throw new TypeError(\"this is a readable stream\")}[Sl](){js.open(this[vl],\"r\",(e,t)=>this[If](e,t))}[If](e,t){e?this[Ef](e):(this[or]=t,this.emit(\"open\",t),this[yf]())}[HD](){return Buffer.allocUnsafe(Math.min(this[Z_],this[PB]))}[yf](){if(!this[kl]){this[kl]=!0;let e=this[HD]();if(e.length===0)return process.nextTick(()=>this[GD](null,0,e));js.read(this[or],e,0,e.length,null,(t,i,n)=>this[GD](t,i,n))}}[GD](e,t,i){this[kl]=!1,e?this[Ef](e):this[KD](t,i)&&this[yf]()}[la](){this[mf]&&typeof this[or]==\"number\"&&(js.close(this[or],e=>this.emit(\"close\")),this[or]=null)}[Ef](e){this[kl]=!0,this[la](),this.emit(\"error\",e)}[KD](e,t){let i=!1;return this[PB]-=e,e>0&&(i=super.write(e<t.length?t.slice(0,e):t)),(e===0||this[PB]<=0)&&(i=!1,this[la](),super.end()),i}emit(e,t){switch(e){case\"prefinish\":case\"finish\":break;case\"drain\":typeof this[or]==\"number\"&&this[yf]();break;default:return super.emit(e,t)}}},eV=class extends YD{[Sl](){let e=!0;try{this[If](null,js.openSync(this[vl],\"r\")),e=!1}finally{e&&this[la]()}}[yf](){let e=!0;try{if(!this[kl]){this[kl]=!0;do{let t=this[HD](),i=t.length===0?0:js.readSync(this[or],t,0,t.length,null);if(!this[KD](i,t))break}while(!0);this[kl]=!1}e=!1}finally{e&&this[la]()}}[la](){if(this[mf]&&typeof this[or]==\"number\"){try{js.closeSync(this[or])}catch(e){}this[or]=null,this.emit(\"close\")}}},qD=class extends MRe{constructor(e,t){t=t||{},super(t),this.readable=!1,this[wf]=!1,this[rC]=!1,this[xB]=!1,this[ca]=[],this[vl]=e,this[or]=typeof t.fd==\"number\"?t.fd:null,this[jD]=t.mode===void 0?438:t.mode,this[au]=typeof t.start==\"number\"?t.start:null,this[mf]=typeof t.autoClose==\"boolean\"?t.autoClose:!0;let i=this[au]!==null?\"r+\":\"w\";this[RB]=t.flags===void 0,this[su]=this[RB]?i:t.flags,this[or]===null&&this[Sl]()}get fd(){return this[or]}get path(){return this[vl]}[Ef](e){this[la](),this[wf]=!0,this.emit(\"error\",e)}[Sl](){js.open(this[vl],this[su],this[jD],(e,t)=>this[If](e,t))}[If](e,t){this[RB]&&this[su]===\"r+\"&&e&&e.code===\"ENOENT\"?(this[su]=\"w\",this[Sl]()):e?this[Ef](e):(this[or]=t,this.emit(\"open\",t),this[UD]())}end(e,t){e&&this.write(e,t),this[rC]=!0,!this[wf]&&!this[ca].length&&typeof this[or]==\"number\"&&this[ou](null,0)}write(e,t){return typeof e==\"string\"&&(e=new Buffer(e,t)),this[rC]?(this.emit(\"error\",new Error(\"write() after end()\")),!1):this[or]===null||this[wf]||this[ca].length?(this[ca].push(e),this[xB]=!0,!1):(this[wf]=!0,this[DB](e),!0)}[DB](e){js.write(this[or],e,0,e.length,this[au],(t,i)=>this[ou](t,i))}[ou](e,t){e?this[Ef](e):(this[au]!==null&&(this[au]+=t),this[ca].length?this[UD]():(this[wf]=!1,this[rC]&&!this[X_]?(this[X_]=!0,this[la](),this.emit(\"finish\")):this[xB]&&(this[xB]=!1,this.emit(\"drain\"))))}[UD](){if(this[ca].length===0)this[rC]&&this[ou](null,0);else if(this[ca].length===1)this[DB](this[ca].pop());else{let e=this[ca];this[ca]=[],KRe(this[or],e,this[au],(t,i)=>this[ou](t,i))}}[la](){this[mf]&&typeof this[or]==\"number\"&&(js.close(this[or],e=>this.emit(\"close\")),this[or]=null)}},tV=class extends qD{[Sl](){let e;try{e=js.openSync(this[vl],this[su],this[jD])}catch(t){if(this[RB]&&this[su]===\"r+\"&&t&&t.code===\"ENOENT\")return this[su]=\"w\",this[Sl]();throw t}this[If](null,e)}[la](){if(this[mf]&&typeof this[or]==\"number\"){try{js.closeSync(this[or])}catch(e){}this[or]=null,this.emit(\"close\")}}[DB](e){try{this[ou](null,js.writeSync(this[or],e,0,e.length,this[au]))}catch(t){this[ou](t,0)}}},KRe=(r,e,t,i)=>{let n=(o,a)=>i(o,a,e),s=new URe;s.oncomplete=n,kB.writeBuffers(r,e,t,s)};tC.ReadStream=YD;tC.ReadStreamSync=eV;tC.WriteStream=qD;tC.WriteStreamSync=tV});var sC=w(($ot,rV)=>{\"use strict\";var HRe=hB(),Xot=require(\"path\"),jRe=pf(),GRe=require(\"events\"),YRe=bp(),qRe=1024*1024,JRe=$d(),iV=fB(),WRe=hD(),JD=Buffer.from([31,139]),Gs=Symbol(\"state\"),Au=Symbol(\"writeEntry\"),gA=Symbol(\"readEntry\"),WD=Symbol(\"nextEntry\"),nV=Symbol(\"processEntry\"),Ys=Symbol(\"extendedHeader\"),iC=Symbol(\"globalExtendedHeader\"),xl=Symbol(\"meta\"),sV=Symbol(\"emitMeta\"),yr=Symbol(\"buffer\"),fA=Symbol(\"queue\"),lu=Symbol(\"ended\"),oV=Symbol(\"emittedEnd\"),cu=Symbol(\"emit\"),Tn=Symbol(\"unzip\"),FB=Symbol(\"consumeChunk\"),NB=Symbol(\"consumeChunkSub\"),zD=Symbol(\"consumeBody\"),aV=Symbol(\"consumeMeta\"),AV=Symbol(\"consumeHeader\"),LB=Symbol(\"consuming\"),_D=Symbol(\"bufferConcat\"),VD=Symbol(\"maybeEnd\"),nC=Symbol(\"writing\"),Pl=Symbol(\"aborted\"),TB=Symbol(\"onDone\"),uu=Symbol(\"sawValidEntry\"),OB=Symbol(\"sawNullBlock\"),MB=Symbol(\"sawEOF\"),zRe=r=>!0;rV.exports=HRe(class extends GRe{constructor(e){e=e||{},super(e),this.file=e.file||\"\",this[uu]=null,this.on(TB,t=>{(this[Gs]===\"begin\"||this[uu]===!1)&&this.warn(\"TAR_BAD_ARCHIVE\",\"Unrecognized archive format\")}),e.ondone?this.on(TB,e.ondone):this.on(TB,t=>{this.emit(\"prefinish\"),this.emit(\"finish\"),this.emit(\"end\"),this.emit(\"close\")}),this.strict=!!e.strict,this.maxMetaEntrySize=e.maxMetaEntrySize||qRe,this.filter=typeof e.filter==\"function\"?e.filter:zRe,this.writable=!0,this.readable=!1,this[fA]=new YRe,this[yr]=null,this[gA]=null,this[Au]=null,this[Gs]=\"begin\",this[xl]=\"\",this[Ys]=null,this[iC]=null,this[lu]=!1,this[Tn]=null,this[Pl]=!1,this[OB]=!1,this[MB]=!1,typeof e.onwarn==\"function\"&&this.on(\"warn\",e.onwarn),typeof e.onentry==\"function\"&&this.on(\"entry\",e.onentry)}[AV](e,t){this[uu]===null&&(this[uu]=!1);let i;try{i=new jRe(e,t,this[Ys],this[iC])}catch(n){return this.warn(\"TAR_ENTRY_INVALID\",n)}if(i.nullBlock)this[OB]?(this[MB]=!0,this[Gs]===\"begin\"&&(this[Gs]=\"header\"),this[cu](\"eof\")):(this[OB]=!0,this[cu](\"nullBlock\"));else if(this[OB]=!1,!i.cksumValid)this.warn(\"TAR_ENTRY_INVALID\",\"checksum failure\",{header:i});else if(!i.path)this.warn(\"TAR_ENTRY_INVALID\",\"path is required\",{header:i});else{let n=i.type;if(/^(Symbolic)?Link$/.test(n)&&!i.linkpath)this.warn(\"TAR_ENTRY_INVALID\",\"linkpath required\",{header:i});else if(!/^(Symbolic)?Link$/.test(n)&&i.linkpath)this.warn(\"TAR_ENTRY_INVALID\",\"linkpath forbidden\",{header:i});else{let s=this[Au]=new JRe(i,this[Ys],this[iC]);if(!this[uu])if(s.remain){let o=()=>{s.invalid||(this[uu]=!0)};s.on(\"end\",o)}else this[uu]=!0;s.meta?s.size>this.maxMetaEntrySize?(s.ignore=!0,this[cu](\"ignoredEntry\",s),this[Gs]=\"ignore\",s.resume()):s.size>0&&(this[xl]=\"\",s.on(\"data\",o=>this[xl]+=o),this[Gs]=\"meta\"):(this[Ys]=null,s.ignore=s.ignore||!this.filter(s.path,s),s.ignore?(this[cu](\"ignoredEntry\",s),this[Gs]=s.remain?\"ignore\":\"header\",s.resume()):(s.remain?this[Gs]=\"body\":(this[Gs]=\"header\",s.end()),this[gA]?this[fA].push(s):(this[fA].push(s),this[WD]())))}}}[nV](e){let t=!0;return e?Array.isArray(e)?this.emit.apply(this,e):(this[gA]=e,this.emit(\"entry\",e),e.emittedEnd||(e.on(\"end\",i=>this[WD]()),t=!1)):(this[gA]=null,t=!1),t}[WD](){do;while(this[nV](this[fA].shift()));if(!this[fA].length){let e=this[gA];!e||e.flowing||e.size===e.remain?this[nC]||this.emit(\"drain\"):e.once(\"drain\",i=>this.emit(\"drain\"))}}[zD](e,t){let i=this[Au],n=i.blockRemain,s=n>=e.length&&t===0?e:e.slice(t,t+n);return i.write(s),i.blockRemain||(this[Gs]=\"header\",this[Au]=null,i.end()),s.length}[aV](e,t){let i=this[Au],n=this[zD](e,t);return this[Au]||this[sV](i),n}[cu](e,t,i){!this[fA].length&&!this[gA]?this.emit(e,t,i):this[fA].push([e,t,i])}[sV](e){switch(this[cu](\"meta\",this[xl]),e.type){case\"ExtendedHeader\":case\"OldExtendedHeader\":this[Ys]=iV.parse(this[xl],this[Ys],!1);break;case\"GlobalExtendedHeader\":this[iC]=iV.parse(this[xl],this[iC],!0);break;case\"NextFileHasLongPath\":case\"OldGnuLongPath\":this[Ys]=this[Ys]||Object.create(null),this[Ys].path=this[xl].replace(/\\0.*/,\"\");break;case\"NextFileHasLongLinkpath\":this[Ys]=this[Ys]||Object.create(null),this[Ys].linkpath=this[xl].replace(/\\0.*/,\"\");break;default:throw new Error(\"unknown meta: \"+e.type)}}abort(e){this[Pl]=!0,this.emit(\"abort\",e),this.warn(\"TAR_ABORT\",e,{recoverable:!1})}write(e){if(this[Pl])return;if(this[Tn]===null&&e){if(this[yr]&&(e=Buffer.concat([this[yr],e]),this[yr]=null),e.length<JD.length)return this[yr]=e,!0;for(let i=0;this[Tn]===null&&i<JD.length;i++)e[i]!==JD[i]&&(this[Tn]=!1);if(this[Tn]===null){let i=this[lu];this[lu]=!1,this[Tn]=new WRe.Unzip,this[Tn].on(\"data\",s=>this[FB](s)),this[Tn].on(\"error\",s=>this.abort(s)),this[Tn].on(\"end\",s=>{this[lu]=!0,this[FB]()}),this[nC]=!0;let n=this[Tn][i?\"end\":\"write\"](e);return this[nC]=!1,n}}this[nC]=!0,this[Tn]?this[Tn].write(e):this[FB](e),this[nC]=!1;let t=this[fA].length?!1:this[gA]?this[gA].flowing:!0;return!t&&!this[fA].length&&this[gA].once(\"drain\",i=>this.emit(\"drain\")),t}[_D](e){e&&!this[Pl]&&(this[yr]=this[yr]?Buffer.concat([this[yr],e]):e)}[VD](){if(this[lu]&&!this[oV]&&!this[Pl]&&!this[LB]){this[oV]=!0;let e=this[Au];if(e&&e.blockRemain){let t=this[yr]?this[yr].length:0;this.warn(\"TAR_BAD_ARCHIVE\",`Truncated input (needed ${e.blockRemain} more bytes, only ${t} available)`,{entry:e}),this[yr]&&e.write(this[yr]),e.end()}this[cu](TB)}}[FB](e){if(this[LB])this[_D](e);else if(!e&&!this[yr])this[VD]();else{if(this[LB]=!0,this[yr]){this[_D](e);let t=this[yr];this[yr]=null,this[NB](t)}else this[NB](e);for(;this[yr]&&this[yr].length>=512&&!this[Pl]&&!this[MB];){let t=this[yr];this[yr]=null,this[NB](t)}this[LB]=!1}(!this[yr]||this[lu])&&this[VD]()}[NB](e){let t=0,i=e.length;for(;t+512<=i&&!this[Pl]&&!this[MB];)switch(this[Gs]){case\"begin\":case\"header\":this[AV](e,t),t+=512;break;case\"ignore\":case\"body\":t+=this[zD](e,t);break;case\"meta\":t+=this[aV](e,t);break;default:throw new Error(\"invalid state: \"+this[Gs])}t<i&&(this[yr]?this[yr]=Buffer.concat([e.slice(t),this[yr]]):this[yr]=e.slice(t))}end(e){this[Pl]||(this[Tn]?this[Tn].end(e):(this[lu]=!0,this.write(e)))}})});var UB=w((tat,lV)=>{\"use strict\";var _Re=uf(),cV=sC(),bf=require(\"fs\"),VRe=Bf(),uV=require(\"path\"),eat=lV.exports=(r,e,t)=>{typeof r==\"function\"?(t=r,e=null,r={}):Array.isArray(r)&&(e=r,r={}),typeof e==\"function\"&&(t=e,e=null),e?e=Array.from(e):e=[];let i=_Re(r);if(i.sync&&typeof t==\"function\")throw new TypeError(\"callback not supported for sync tar functions\");if(!i.file&&typeof t==\"function\")throw new TypeError(\"callback only supported with file option\");return e.length&&ZRe(i,e),i.noResume||XRe(i),i.file&&i.sync?$Re(i):i.file?eFe(i,t):gV(i)},XRe=r=>{let e=r.onentry;r.onentry=e?t=>{e(t),t.resume()}:t=>t.resume()},ZRe=(r,e)=>{let t=new Map(e.map(s=>[s.replace(/\\/+$/,\"\"),!0])),i=r.filter,n=(s,o)=>{let a=o||uV.parse(s).root||\".\",l=s===a?!1:t.has(s)?t.get(s):n(uV.dirname(s),a);return t.set(s,l),l};r.filter=i?(s,o)=>i(s,o)&&n(s.replace(/\\/+$/,\"\")):s=>n(s.replace(/\\/+$/,\"\"))},$Re=r=>{let e=gV(r),t=r.file,i=!0,n;try{let s=bf.statSync(t),o=r.maxReadSize||16*1024*1024;if(s.size<o)e.end(bf.readFileSync(t));else{let a=0,l=Buffer.allocUnsafe(o);for(n=bf.openSync(t,\"r\");a<s.size;){let c=bf.readSync(n,l,0,o,a);a+=c,e.write(l.slice(0,c))}e.end()}i=!1}finally{if(i&&n)try{bf.closeSync(n)}catch(s){}}},eFe=(r,e)=>{let t=new cV(r),i=r.maxReadSize||16*1024*1024,n=r.file,s=new Promise((o,a)=>{t.on(\"error\",a),t.on(\"end\",o),bf.stat(n,(l,c)=>{if(l)a(l);else{let u=new VRe.ReadStream(n,{readSize:i,size:c.size});u.on(\"error\",a),u.pipe(t)}})});return e?s.then(e,e):s},gV=r=>new cV(r)});var mV=w((nat,fV)=>{\"use strict\";var tFe=uf(),KB=vB(),rat=require(\"fs\"),hV=Bf(),pV=UB(),dV=require(\"path\"),iat=fV.exports=(r,e,t)=>{if(typeof e==\"function\"&&(t=e),Array.isArray(r)&&(e=r,r={}),!e||!Array.isArray(e)||!e.length)throw new TypeError(\"no files or directories specified\");e=Array.from(e);let i=tFe(r);if(i.sync&&typeof t==\"function\")throw new TypeError(\"callback not supported for sync tar functions\");if(!i.file&&typeof t==\"function\")throw new TypeError(\"callback only supported with file option\");return i.file&&i.sync?rFe(i,e):i.file?iFe(i,e,t):i.sync?nFe(i,e):sFe(i,e)},rFe=(r,e)=>{let t=new KB.Sync(r),i=new hV.WriteStreamSync(r.file,{mode:r.mode||438});t.pipe(i),CV(t,e)},iFe=(r,e,t)=>{let i=new KB(r),n=new hV.WriteStream(r.file,{mode:r.mode||438});i.pipe(n);let s=new Promise((o,a)=>{n.on(\"error\",a),n.on(\"close\",o),i.on(\"error\",a)});return XD(i,e),t?s.then(t,t):s},CV=(r,e)=>{e.forEach(t=>{t.charAt(0)===\"@\"?pV({file:dV.resolve(r.cwd,t.substr(1)),sync:!0,noResume:!0,onentry:i=>r.add(i)}):r.add(t)}),r.end()},XD=(r,e)=>{for(;e.length;){let t=e.shift();if(t.charAt(0)===\"@\")return pV({file:dV.resolve(r.cwd,t.substr(1)),noResume:!0,onentry:i=>r.add(i)}).then(i=>XD(r,e));r.add(t)}r.end()},nFe=(r,e)=>{let t=new KB.Sync(r);return CV(t,e),t},sFe=(r,e)=>{let t=new KB(r);return XD(t,e),t}});var ZD=w((aat,EV)=>{\"use strict\";var oFe=uf(),IV=vB(),sat=sC(),qs=require(\"fs\"),yV=Bf(),wV=UB(),BV=require(\"path\"),bV=pf(),oat=EV.exports=(r,e,t)=>{let i=oFe(r);if(!i.file)throw new TypeError(\"file is required\");if(i.gzip)throw new TypeError(\"cannot append to compressed archives\");if(!e||!Array.isArray(e)||!e.length)throw new TypeError(\"no files or directories specified\");return e=Array.from(e),i.sync?aFe(i,e):AFe(i,e,t)},aFe=(r,e)=>{let t=new IV.Sync(r),i=!0,n,s;try{try{n=qs.openSync(r.file,\"r+\")}catch(l){if(l.code===\"ENOENT\")n=qs.openSync(r.file,\"w+\");else throw l}let o=qs.fstatSync(n),a=Buffer.alloc(512);e:for(s=0;s<o.size;s+=512){for(let u=0,g=0;u<512;u+=g){if(g=qs.readSync(n,a,u,a.length-u,s+u),s===0&&a[0]===31&&a[1]===139)throw new Error(\"cannot append to compressed archives\");if(!g)break e}let l=new bV(a);if(!l.cksumValid)break;let c=512*Math.ceil(l.size/512);if(s+c+512>o.size)break;s+=c,r.mtimeCache&&r.mtimeCache.set(l.path,l.mtime)}i=!1,lFe(r,t,s,n,e)}finally{if(i)try{qs.closeSync(n)}catch(o){}}},lFe=(r,e,t,i,n)=>{let s=new yV.WriteStreamSync(r.file,{fd:i,start:t});e.pipe(s),cFe(e,n)},AFe=(r,e,t)=>{e=Array.from(e);let i=new IV(r),n=(o,a,l)=>{let c=(p,m)=>{p?qs.close(o,y=>l(p)):l(null,m)},u=0;if(a===0)return c(null,0);let g=0,f=Buffer.alloc(512),h=(p,m)=>{if(p)return c(p);if(g+=m,g<512&&m)return qs.read(o,f,g,f.length-g,u+g,h);if(u===0&&f[0]===31&&f[1]===139)return c(new Error(\"cannot append to compressed archives\"));if(g<512)return c(null,u);let y=new bV(f);if(!y.cksumValid)return c(null,u);let b=512*Math.ceil(y.size/512);if(u+b+512>a||(u+=b+512,u>=a))return c(null,u);r.mtimeCache&&r.mtimeCache.set(y.path,y.mtime),g=0,qs.read(o,f,0,512,u,h)};qs.read(o,f,0,512,u,h)},s=new Promise((o,a)=>{i.on(\"error\",a);let l=\"r+\",c=(u,g)=>{if(u&&u.code===\"ENOENT\"&&l===\"r+\")return l=\"w+\",qs.open(r.file,l,c);if(u)return a(u);qs.fstat(g,(f,h)=>{if(f)return a(f);n(g,h.size,(p,m)=>{if(p)return a(p);let y=new yV.WriteStream(r.file,{fd:g,start:m});i.pipe(y),y.on(\"error\",a),y.on(\"close\",o),QV(i,e)})})};qs.open(r.file,l,c)});return t?s.then(t,t):s},cFe=(r,e)=>{e.forEach(t=>{t.charAt(0)===\"@\"?wV({file:BV.resolve(r.cwd,t.substr(1)),sync:!0,noResume:!0,onentry:i=>r.add(i)}):r.add(t)}),r.end()},QV=(r,e)=>{for(;e.length;){let t=e.shift();if(t.charAt(0)===\"@\")return wV({file:BV.resolve(r.cwd,t.substr(1)),noResume:!0,onentry:i=>r.add(i)}).then(i=>QV(r,e));r.add(t)}r.end()}});var vV=w((lat,SV)=>{\"use strict\";var uFe=uf(),gFe=ZD(),Aat=SV.exports=(r,e,t)=>{let i=uFe(r);if(!i.file)throw new TypeError(\"file is required\");if(i.gzip)throw new TypeError(\"cannot append to compressed archives\");if(!e||!Array.isArray(e)||!e.length)throw new TypeError(\"no files or directories specified\");return e=Array.from(e),fFe(i),gFe(i,e,t)},fFe=r=>{let e=r.filter;r.mtimeCache||(r.mtimeCache=new Map),r.filter=e?(t,i)=>e(t,i)&&!(r.mtimeCache.get(t)>i.mtime):(t,i)=>!(r.mtimeCache.get(t)>i.mtime)}});var PV=w((cat,kV)=>{var{promisify:xV}=require(\"util\"),Dl=require(\"fs\"),hFe=r=>{if(!r)r={mode:511,fs:Dl};else if(typeof r==\"object\")r=N({mode:511,fs:Dl},r);else if(typeof r==\"number\")r={mode:r,fs:Dl};else if(typeof r==\"string\")r={mode:parseInt(r,8),fs:Dl};else throw new TypeError(\"invalid options argument\");return r.mkdir=r.mkdir||r.fs.mkdir||Dl.mkdir,r.mkdirAsync=xV(r.mkdir),r.stat=r.stat||r.fs.stat||Dl.stat,r.statAsync=xV(r.stat),r.statSync=r.statSync||r.fs.statSync||Dl.statSync,r.mkdirSync=r.mkdirSync||r.fs.mkdirSync||Dl.mkdirSync,r};kV.exports=hFe});var RV=w((uat,DV)=>{var pFe=process.env.__TESTING_MKDIRP_PLATFORM__||process.platform,{resolve:dFe,parse:CFe}=require(\"path\"),mFe=r=>{if(/\\0/.test(r))throw Object.assign(new TypeError(\"path must be a string without null bytes\"),{path:r,code:\"ERR_INVALID_ARG_VALUE\"});if(r=dFe(r),pFe===\"win32\"){let e=/[*|\"<>?:]/,{root:t}=CFe(r);if(e.test(r.substr(t.length)))throw Object.assign(new Error(\"Illegal characters in path.\"),{path:r,code:\"EINVAL\"})}return r};DV.exports=mFe});var OV=w((gat,FV)=>{var{dirname:NV}=require(\"path\"),LV=(r,e,t=void 0)=>t===e?Promise.resolve():r.statAsync(e).then(i=>i.isDirectory()?t:void 0,i=>i.code===\"ENOENT\"?LV(r,NV(e),e):void 0),TV=(r,e,t=void 0)=>{if(t!==e)try{return r.statSync(e).isDirectory()?t:void 0}catch(i){return i.code===\"ENOENT\"?TV(r,NV(e),e):void 0}};FV.exports={findMade:LV,findMadeSync:TV}});var tR=w((fat,MV)=>{var{dirname:UV}=require(\"path\"),$D=(r,e,t)=>{e.recursive=!1;let i=UV(r);return i===r?e.mkdirAsync(r,e).catch(n=>{if(n.code!==\"EISDIR\")throw n}):e.mkdirAsync(r,e).then(()=>t||r,n=>{if(n.code===\"ENOENT\")return $D(i,e).then(s=>$D(r,e,s));if(n.code!==\"EEXIST\"&&n.code!==\"EROFS\")throw n;return e.statAsync(r).then(s=>{if(s.isDirectory())return t;throw n},()=>{throw n})})},eR=(r,e,t)=>{let i=UV(r);if(e.recursive=!1,i===r)try{return e.mkdirSync(r,e)}catch(n){if(n.code!==\"EISDIR\")throw n;return}try{return e.mkdirSync(r,e),t||r}catch(n){if(n.code===\"ENOENT\")return eR(r,e,eR(i,e,t));if(n.code!==\"EEXIST\"&&n.code!==\"EROFS\")throw n;try{if(!e.statSync(r).isDirectory())throw n}catch(s){throw n}}};MV.exports={mkdirpManual:$D,mkdirpManualSync:eR}});var jV=w((hat,KV)=>{var{dirname:HV}=require(\"path\"),{findMade:EFe,findMadeSync:IFe}=OV(),{mkdirpManual:yFe,mkdirpManualSync:wFe}=tR(),BFe=(r,e)=>(e.recursive=!0,HV(r)===r?e.mkdirAsync(r,e):EFe(e,r).then(i=>e.mkdirAsync(r,e).then(()=>i).catch(n=>{if(n.code===\"ENOENT\")return yFe(r,e);throw n}))),bFe=(r,e)=>{if(e.recursive=!0,HV(r)===r)return e.mkdirSync(r,e);let i=IFe(e,r);try{return e.mkdirSync(r,e),i}catch(n){if(n.code===\"ENOENT\")return wFe(r,e);throw n}};KV.exports={mkdirpNative:BFe,mkdirpNativeSync:bFe}});var JV=w((pat,GV)=>{var YV=require(\"fs\"),QFe=process.env.__TESTING_MKDIRP_NODE_VERSION__||process.version,rR=QFe.replace(/^v/,\"\").split(\".\"),qV=+rR[0]>10||+rR[0]==10&&+rR[1]>=12,SFe=qV?r=>r.mkdir===YV.mkdir:()=>!1,vFe=qV?r=>r.mkdirSync===YV.mkdirSync:()=>!1;GV.exports={useNative:SFe,useNativeSync:vFe}});var ZV=w((dat,WV)=>{var Qf=PV(),Sf=RV(),{mkdirpNative:zV,mkdirpNativeSync:_V}=jV(),{mkdirpManual:VV,mkdirpManualSync:XV}=tR(),{useNative:kFe,useNativeSync:xFe}=JV(),vf=(r,e)=>(r=Sf(r),e=Qf(e),kFe(e)?zV(r,e):VV(r,e)),PFe=(r,e)=>(r=Sf(r),e=Qf(e),xFe(e)?_V(r,e):XV(r,e));vf.sync=PFe;vf.native=(r,e)=>zV(Sf(r),Qf(e));vf.manual=(r,e)=>VV(Sf(r),Qf(e));vf.nativeSync=(r,e)=>_V(Sf(r),Qf(e));vf.manualSync=(r,e)=>XV(Sf(r),Qf(e));WV.exports=vf});var s6=w((Cat,$V)=>{\"use strict\";var Js=require(\"fs\"),gu=require(\"path\"),DFe=Js.lchown?\"lchown\":\"chown\",RFe=Js.lchownSync?\"lchownSync\":\"chownSync\",e6=Js.lchown&&!process.version.match(/v1[1-9]+\\./)&&!process.version.match(/v10\\.[6-9]/),t6=(r,e,t)=>{try{return Js[RFe](r,e,t)}catch(i){if(i.code!==\"ENOENT\")throw i}},FFe=(r,e,t)=>{try{return Js.chownSync(r,e,t)}catch(i){if(i.code!==\"ENOENT\")throw i}},NFe=e6?(r,e,t,i)=>n=>{!n||n.code!==\"EISDIR\"?i(n):Js.chown(r,e,t,i)}:(r,e,t,i)=>i,iR=e6?(r,e,t)=>{try{return t6(r,e,t)}catch(i){if(i.code!==\"EISDIR\")throw i;FFe(r,e,t)}}:(r,e,t)=>t6(r,e,t),LFe=process.version,r6=(r,e,t)=>Js.readdir(r,e,t),TFe=(r,e)=>Js.readdirSync(r,e);/^v4\\./.test(LFe)&&(r6=(r,e,t)=>Js.readdir(r,t));var HB=(r,e,t,i)=>{Js[DFe](r,e,t,NFe(r,e,t,n=>{i(n&&n.code!==\"ENOENT\"?n:null)}))},i6=(r,e,t,i,n)=>{if(typeof e==\"string\")return Js.lstat(gu.resolve(r,e),(s,o)=>{if(s)return n(s.code!==\"ENOENT\"?s:null);o.name=e,i6(r,o,t,i,n)});if(e.isDirectory())nR(gu.resolve(r,e.name),t,i,s=>{if(s)return n(s);let o=gu.resolve(r,e.name);HB(o,t,i,n)});else{let s=gu.resolve(r,e.name);HB(s,t,i,n)}},nR=(r,e,t,i)=>{r6(r,{withFileTypes:!0},(n,s)=>{if(n){if(n.code===\"ENOENT\")return i();if(n.code!==\"ENOTDIR\"&&n.code!==\"ENOTSUP\")return i(n)}if(n||!s.length)return HB(r,e,t,i);let o=s.length,a=null,l=c=>{if(!a){if(c)return i(a=c);if(--o==0)return HB(r,e,t,i)}};s.forEach(c=>i6(r,c,e,t,l))})},OFe=(r,e,t,i)=>{if(typeof e==\"string\")try{let n=Js.lstatSync(gu.resolve(r,e));n.name=e,e=n}catch(n){if(n.code===\"ENOENT\")return;throw n}e.isDirectory()&&n6(gu.resolve(r,e.name),t,i),iR(gu.resolve(r,e.name),t,i)},n6=(r,e,t)=>{let i;try{i=TFe(r,{withFileTypes:!0})}catch(n){if(n.code===\"ENOENT\")return;if(n.code===\"ENOTDIR\"||n.code===\"ENOTSUP\")return iR(r,e,t);throw n}return i&&i.length&&i.forEach(n=>OFe(r,n,e,t)),iR(r,e,t)};$V.exports=nR;nR.sync=n6});var l6=w((Iat,sR)=>{\"use strict\";var o6=ZV(),Ws=require(\"fs\"),jB=require(\"path\"),a6=s6(),oR=class extends Error{constructor(e,t){super(\"Cannot extract through symbolic link\");this.path=t,this.symlink=e}get name(){return\"SylinkError\"}},oC=class extends Error{constructor(e,t){super(t+\": Cannot cd into '\"+e+\"'\");this.path=e,this.code=t}get name(){return\"CwdError\"}},mat=sR.exports=(r,e,t)=>{let i=e.umask,n=e.mode|448,s=(n&i)!=0,o=e.uid,a=e.gid,l=typeof o==\"number\"&&typeof a==\"number\"&&(o!==e.processUid||a!==e.processGid),c=e.preserve,u=e.unlink,g=e.cache,f=e.cwd,h=(y,b)=>{y?t(y):(g.set(r,!0),b&&l?a6(b,o,a,v=>h(v)):s?Ws.chmod(r,n,t):t())};if(g&&g.get(r)===!0)return h();if(r===f)return Ws.stat(r,(y,b)=>{(y||!b.isDirectory())&&(y=new oC(r,y&&y.code||\"ENOTDIR\")),h(y)});if(c)return o6(r,{mode:n}).then(y=>h(null,y),h);let m=jB.relative(f,r).split(/\\/|\\\\/);GB(f,m,n,g,u,f,null,h)},GB=(r,e,t,i,n,s,o,a)=>{if(!e.length)return a(null,o);let l=e.shift(),c=r+\"/\"+l;if(i.get(c))return GB(c,e,t,i,n,s,o,a);Ws.mkdir(c,t,A6(c,e,t,i,n,s,o,a))},A6=(r,e,t,i,n,s,o,a)=>l=>{if(l){if(l.path&&jB.dirname(l.path)===s&&(l.code===\"ENOTDIR\"||l.code===\"ENOENT\"))return a(new oC(s,l.code));Ws.lstat(r,(c,u)=>{if(c)a(c);else if(u.isDirectory())GB(r,e,t,i,n,s,o,a);else if(n)Ws.unlink(r,g=>{if(g)return a(g);Ws.mkdir(r,t,A6(r,e,t,i,n,s,o,a))});else{if(u.isSymbolicLink())return a(new oR(r,r+\"/\"+e.join(\"/\")));a(l)}})}else o=o||r,GB(r,e,t,i,n,s,o,a)},Eat=sR.exports.sync=(r,e)=>{let t=e.umask,i=e.mode|448,n=(i&t)!=0,s=e.uid,o=e.gid,a=typeof s==\"number\"&&typeof o==\"number\"&&(s!==e.processUid||o!==e.processGid),l=e.preserve,c=e.unlink,u=e.cache,g=e.cwd,f=y=>{u.set(r,!0),y&&a&&a6.sync(y,s,o),n&&Ws.chmodSync(r,i)};if(u&&u.get(r)===!0)return f();if(r===g){let y=!1,b=\"ENOTDIR\";try{y=Ws.statSync(r).isDirectory()}catch(v){b=v.code}finally{if(!y)throw new oC(r,b)}f();return}if(l)return f(o6.sync(r,i));let p=jB.relative(g,r).split(/\\/|\\\\/),m=null;for(let y=p.shift(),b=g;y&&(b+=\"/\"+y);y=p.shift())if(!u.get(b))try{Ws.mkdirSync(b,i),m=m||b,u.set(b,!0)}catch(v){if(v.path&&jB.dirname(v.path)===g&&(v.code===\"ENOTDIR\"||v.code===\"ENOENT\"))return new oC(g,v.code);let k=Ws.lstatSync(b);if(k.isDirectory()){u.set(b,!0);continue}else if(c){Ws.unlinkSync(b),Ws.mkdirSync(b,i),m=m||b,u.set(b,!0);continue}else if(k.isSymbolicLink())return new oR(b,b+\"/\"+p.join(\"/\"))}return f(m)}});var g6=w((yat,c6)=>{var u6=require(\"assert\");c6.exports=()=>{let r=new Map,e=new Map,{join:t}=require(\"path\"),i=u=>t(u).split(/[\\\\\\/]/).slice(0,-1).reduce((g,f)=>g.length?g.concat(t(g[g.length-1],f)):[f],[]),n=new Set,s=u=>{let g=e.get(u);if(!g)throw new Error(\"function does not have any path reservations\");return{paths:g.paths.map(f=>r.get(f)),dirs:[...g.dirs].map(f=>r.get(f))}},o=u=>{let{paths:g,dirs:f}=s(u);return g.every(h=>h[0]===u)&&f.every(h=>h[0]instanceof Set&&h[0].has(u))},a=u=>n.has(u)||!o(u)?!1:(n.add(u),u(()=>l(u)),!0),l=u=>{if(!n.has(u))return!1;let{paths:g,dirs:f}=e.get(u),h=new Set;return g.forEach(p=>{let m=r.get(p);u6.equal(m[0],u),m.length===1?r.delete(p):(m.shift(),typeof m[0]==\"function\"?h.add(m[0]):m[0].forEach(y=>h.add(y)))}),f.forEach(p=>{let m=r.get(p);u6(m[0]instanceof Set),m[0].size===1&&m.length===1?r.delete(p):m[0].size===1?(m.shift(),h.add(m[0])):m[0].delete(u)}),n.delete(u),h.forEach(p=>a(p)),!0};return{check:o,reserve:(u,g)=>{let f=new Set(u.map(h=>i(h)).reduce((h,p)=>h.concat(p)));return e.set(g,{dirs:f,paths:u}),u.forEach(h=>{let p=r.get(h);p?p.push(g):r.set(h,[g])}),f.forEach(h=>{let p=r.get(h);p?p[p.length-1]instanceof Set?p[p.length-1].add(g):p.push(new Set([g])):r.set(h,[new Set([g])])}),a(g)}}}});var p6=w((wat,f6)=>{var MFe=process.env.__FAKE_PLATFORM__||process.platform,UFe=MFe===\"win32\",KFe=global.__FAKE_TESTING_FS__||require(\"fs\"),{O_CREAT:HFe,O_TRUNC:jFe,O_WRONLY:GFe,UV_FS_O_FILEMAP:h6=0}=KFe.constants,YFe=UFe&&!!h6,qFe=512*1024,JFe=h6|jFe|HFe|GFe;f6.exports=YFe?r=>r<qFe?JFe:\"w\":()=>\"w\"});var pR=w((Sat,d6)=>{\"use strict\";var WFe=require(\"assert\"),Bat=require(\"events\").EventEmitter,zFe=sC(),$t=require(\"fs\"),_Fe=Bf(),hA=require(\"path\"),aR=l6(),bat=aR.sync,C6=wD(),VFe=g6(),m6=Symbol(\"onEntry\"),AR=Symbol(\"checkFs\"),E6=Symbol(\"checkFs2\"),lR=Symbol(\"isReusable\"),pA=Symbol(\"makeFs\"),cR=Symbol(\"file\"),uR=Symbol(\"directory\"),YB=Symbol(\"link\"),I6=Symbol(\"symlink\"),y6=Symbol(\"hardlink\"),w6=Symbol(\"unsupported\"),Qat=Symbol(\"unknown\"),B6=Symbol(\"checkPath\"),kf=Symbol(\"mkdir\"),dn=Symbol(\"onError\"),qB=Symbol(\"pending\"),b6=Symbol(\"pend\"),xf=Symbol(\"unpend\"),gR=Symbol(\"ended\"),fR=Symbol(\"maybeClose\"),hR=Symbol(\"skip\"),aC=Symbol(\"doChown\"),AC=Symbol(\"uid\"),lC=Symbol(\"gid\"),Q6=require(\"crypto\"),S6=p6(),JB=()=>{throw new Error(\"sync function called cb somehow?!?\")},XFe=(r,e)=>{if(process.platform!==\"win32\")return $t.unlink(r,e);let t=r+\".DELETE.\"+Q6.randomBytes(16).toString(\"hex\");$t.rename(r,t,i=>{if(i)return e(i);$t.unlink(t,e)})},ZFe=r=>{if(process.platform!==\"win32\")return $t.unlinkSync(r);let e=r+\".DELETE.\"+Q6.randomBytes(16).toString(\"hex\");$t.renameSync(r,e),$t.unlinkSync(e)},v6=(r,e,t)=>r===r>>>0?r:e===e>>>0?e:t,WB=class extends zFe{constructor(e){if(e||(e={}),e.ondone=t=>{this[gR]=!0,this[fR]()},super(e),this.reservations=VFe(),this.transform=typeof e.transform==\"function\"?e.transform:null,this.writable=!0,this.readable=!1,this[qB]=0,this[gR]=!1,this.dirCache=e.dirCache||new Map,typeof e.uid==\"number\"||typeof e.gid==\"number\"){if(typeof e.uid!=\"number\"||typeof e.gid!=\"number\")throw new TypeError(\"cannot set owner without number uid and gid\");if(e.preserveOwner)throw new TypeError(\"cannot preserve owner in archive and also set owner explicitly\");this.uid=e.uid,this.gid=e.gid,this.setOwner=!0}else this.uid=null,this.gid=null,this.setOwner=!1;e.preserveOwner===void 0&&typeof e.uid!=\"number\"?this.preserveOwner=process.getuid&&process.getuid()===0:this.preserveOwner=!!e.preserveOwner,this.processUid=(this.preserveOwner||this.setOwner)&&process.getuid?process.getuid():null,this.processGid=(this.preserveOwner||this.setOwner)&&process.getgid?process.getgid():null,this.forceChown=e.forceChown===!0,this.win32=!!e.win32||process.platform===\"win32\",this.newer=!!e.newer,this.keep=!!e.keep,this.noMtime=!!e.noMtime,this.preservePaths=!!e.preservePaths,this.unlink=!!e.unlink,this.cwd=hA.resolve(e.cwd||process.cwd()),this.strip=+e.strip||0,this.processUmask=process.umask(),this.umask=typeof e.umask==\"number\"?e.umask:this.processUmask,this.dmode=e.dmode||511&~this.umask,this.fmode=e.fmode||438&~this.umask,this.on(\"entry\",t=>this[m6](t))}warn(e,t,i={}){return(e===\"TAR_BAD_ARCHIVE\"||e===\"TAR_ABORT\")&&(i.recoverable=!1),super.warn(e,t,i)}[fR](){this[gR]&&this[qB]===0&&(this.emit(\"prefinish\"),this.emit(\"finish\"),this.emit(\"end\"),this.emit(\"close\"))}[B6](e){if(this.strip){let t=e.path.split(/\\/|\\\\/);if(t.length<this.strip)return!1;if(e.path=t.slice(this.strip).join(\"/\"),e.type===\"Link\"){let i=e.linkpath.split(/\\/|\\\\/);i.length>=this.strip&&(e.linkpath=i.slice(this.strip).join(\"/\"))}}if(!this.preservePaths){let t=e.path;if(t.match(/(^|\\/|\\\\)\\.\\.(\\\\|\\/|$)/))return this.warn(\"TAR_ENTRY_ERROR\",\"path contains '..'\",{entry:e,path:t}),!1;if(hA.win32.isAbsolute(t)){let i=hA.win32.parse(t);e.path=t.substr(i.root.length);let n=i.root;this.warn(\"TAR_ENTRY_INFO\",`stripping ${n} from absolute path`,{entry:e,path:t})}}if(this.win32){let t=hA.win32.parse(e.path);e.path=t.root===\"\"?C6.encode(e.path):t.root+C6.encode(e.path.substr(t.root.length))}return hA.isAbsolute(e.path)?e.absolute=e.path:e.absolute=hA.resolve(this.cwd,e.path),!0}[m6](e){if(!this[B6](e))return e.resume();switch(WFe.equal(typeof e.absolute,\"string\"),e.type){case\"Directory\":case\"GNUDumpDir\":e.mode&&(e.mode=e.mode|448);case\"File\":case\"OldFile\":case\"ContiguousFile\":case\"Link\":case\"SymbolicLink\":return this[AR](e);case\"CharacterDevice\":case\"BlockDevice\":case\"FIFO\":return this[w6](e)}}[dn](e,t){e.name===\"CwdError\"?this.emit(\"error\",e):(this.warn(\"TAR_ENTRY_ERROR\",e,{entry:t}),this[xf](),t.resume())}[kf](e,t,i){aR(e,{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:t},i)}[aC](e){return this.forceChown||this.preserveOwner&&(typeof e.uid==\"number\"&&e.uid!==this.processUid||typeof e.gid==\"number\"&&e.gid!==this.processGid)||typeof this.uid==\"number\"&&this.uid!==this.processUid||typeof this.gid==\"number\"&&this.gid!==this.processGid}[AC](e){return v6(this.uid,e.uid,this.processUid)}[lC](e){return v6(this.gid,e.gid,this.processGid)}[cR](e,t){let i=e.mode&4095||this.fmode,n=new _Fe.WriteStream(e.absolute,{flags:S6(e.size),mode:i,autoClose:!1});n.on(\"error\",l=>this[dn](l,e));let s=1,o=l=>{if(l)return this[dn](l,e);--s==0&&$t.close(n.fd,c=>{t(),c?this[dn](c,e):this[xf]()})};n.on(\"finish\",l=>{let c=e.absolute,u=n.fd;if(e.mtime&&!this.noMtime){s++;let g=e.atime||new Date,f=e.mtime;$t.futimes(u,g,f,h=>h?$t.utimes(c,g,f,p=>o(p&&h)):o())}if(this[aC](e)){s++;let g=this[AC](e),f=this[lC](e);$t.fchown(u,g,f,h=>h?$t.chown(c,g,f,p=>o(p&&h)):o())}o()});let a=this.transform&&this.transform(e)||e;a!==e&&(a.on(\"error\",l=>this[dn](l,e)),e.pipe(a)),a.pipe(n)}[uR](e,t){let i=e.mode&4095||this.dmode;this[kf](e.absolute,i,n=>{if(n)return t(),this[dn](n,e);let s=1,o=a=>{--s==0&&(t(),this[xf](),e.resume())};e.mtime&&!this.noMtime&&(s++,$t.utimes(e.absolute,e.atime||new Date,e.mtime,o)),this[aC](e)&&(s++,$t.chown(e.absolute,this[AC](e),this[lC](e),o)),o()})}[w6](e){e.unsupported=!0,this.warn(\"TAR_ENTRY_UNSUPPORTED\",`unsupported entry type: ${e.type}`,{entry:e}),e.resume()}[I6](e,t){this[YB](e,e.linkpath,\"symlink\",t)}[y6](e,t){this[YB](e,hA.resolve(this.cwd,e.linkpath),\"link\",t)}[b6](){this[qB]++}[xf](){this[qB]--,this[fR]()}[hR](e){this[xf](),e.resume()}[lR](e,t){return e.type===\"File\"&&!this.unlink&&t.isFile()&&t.nlink<=1&&process.platform!==\"win32\"}[AR](e){this[b6]();let t=[e.path];e.linkpath&&t.push(e.linkpath),this.reservations.reserve(t,i=>this[E6](e,i))}[E6](e,t){this[kf](hA.dirname(e.absolute),this.dmode,i=>{if(i)return t(),this[dn](i,e);$t.lstat(e.absolute,(n,s)=>{s&&(this.keep||this.newer&&s.mtime>e.mtime)?(this[hR](e),t()):n||this[lR](e,s)?this[pA](null,e,t):s.isDirectory()?e.type===\"Directory\"?!e.mode||(s.mode&4095)===e.mode?this[pA](null,e,t):$t.chmod(e.absolute,e.mode,o=>this[pA](o,e,t)):$t.rmdir(e.absolute,o=>this[pA](o,e,t)):XFe(e.absolute,o=>this[pA](o,e,t))})})}[pA](e,t,i){if(e)return this[dn](e,t);switch(t.type){case\"File\":case\"OldFile\":case\"ContiguousFile\":return this[cR](t,i);case\"Link\":return this[y6](t,i);case\"SymbolicLink\":return this[I6](t,i);case\"Directory\":case\"GNUDumpDir\":return this[uR](t,i)}}[YB](e,t,i,n){$t[i](t,e.absolute,s=>{if(s)return this[dn](s,e);n(),this[xf](),e.resume()})}},k6=class extends WB{constructor(e){super(e)}[AR](e){let t=this[kf](hA.dirname(e.absolute),this.dmode,JB);if(t)return this[dn](t,e);try{let i=$t.lstatSync(e.absolute);if(this.keep||this.newer&&i.mtime>e.mtime)return this[hR](e);if(this[lR](e,i))return this[pA](null,e,JB);try{return i.isDirectory()?e.type===\"Directory\"?e.mode&&(i.mode&4095)!==e.mode&&$t.chmodSync(e.absolute,e.mode):$t.rmdirSync(e.absolute):ZFe(e.absolute),this[pA](null,e,JB)}catch(n){return this[dn](n,e)}}catch(i){return this[pA](null,e,JB)}}[cR](e,t){let i=e.mode&4095||this.fmode,n=l=>{let c;try{$t.closeSync(o)}catch(u){c=u}(l||c)&&this[dn](l||c,e)},s,o;try{o=$t.openSync(e.absolute,S6(e.size),i)}catch(l){return n(l)}let a=this.transform&&this.transform(e)||e;a!==e&&(a.on(\"error\",l=>this[dn](l,e)),e.pipe(a)),a.on(\"data\",l=>{try{$t.writeSync(o,l,0,l.length)}catch(c){n(c)}}),a.on(\"end\",l=>{let c=null;if(e.mtime&&!this.noMtime){let u=e.atime||new Date,g=e.mtime;try{$t.futimesSync(o,u,g)}catch(f){try{$t.utimesSync(e.absolute,u,g)}catch(h){c=f}}}if(this[aC](e)){let u=this[AC](e),g=this[lC](e);try{$t.fchownSync(o,u,g)}catch(f){try{$t.chownSync(e.absolute,u,g)}catch(h){c=c||f}}}n(c)})}[uR](e,t){let i=e.mode&4095||this.dmode,n=this[kf](e.absolute,i);if(n)return this[dn](n,e);if(e.mtime&&!this.noMtime)try{$t.utimesSync(e.absolute,e.atime||new Date,e.mtime)}catch(s){}if(this[aC](e))try{$t.chownSync(e.absolute,this[AC](e),this[lC](e))}catch(s){}e.resume()}[kf](e,t){try{return aR.sync(e,{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:t})}catch(i){return i}}[YB](e,t,i,n){try{$t[i+\"Sync\"](t,e.absolute),e.resume()}catch(s){return this[dn](s,e)}}};WB.Sync=k6;d6.exports=WB});var F6=w((kat,x6)=>{\"use strict\";var $Fe=uf(),zB=pR(),P6=require(\"fs\"),D6=Bf(),R6=require(\"path\"),vat=x6.exports=(r,e,t)=>{typeof r==\"function\"?(t=r,e=null,r={}):Array.isArray(r)&&(e=r,r={}),typeof e==\"function\"&&(t=e,e=null),e?e=Array.from(e):e=[];let i=$Fe(r);if(i.sync&&typeof t==\"function\")throw new TypeError(\"callback not supported for sync tar functions\");if(!i.file&&typeof t==\"function\")throw new TypeError(\"callback only supported with file option\");return e.length&&eNe(i,e),i.file&&i.sync?tNe(i):i.file?rNe(i,t):i.sync?iNe(i):nNe(i)},eNe=(r,e)=>{let t=new Map(e.map(s=>[s.replace(/\\/+$/,\"\"),!0])),i=r.filter,n=(s,o)=>{let a=o||R6.parse(s).root||\".\",l=s===a?!1:t.has(s)?t.get(s):n(R6.dirname(s),a);return t.set(s,l),l};r.filter=i?(s,o)=>i(s,o)&&n(s.replace(/\\/+$/,\"\")):s=>n(s.replace(/\\/+$/,\"\"))},tNe=r=>{let e=new zB.Sync(r),t=r.file,i=!0,n,s=P6.statSync(t),o=r.maxReadSize||16*1024*1024;new D6.ReadStreamSync(t,{readSize:o,size:s.size}).pipe(e)},rNe=(r,e)=>{let t=new zB(r),i=r.maxReadSize||16*1024*1024,n=r.file,s=new Promise((o,a)=>{t.on(\"error\",a),t.on(\"close\",o),P6.stat(n,(l,c)=>{if(l)a(l);else{let u=new D6.ReadStream(n,{readSize:i,size:c.size});u.on(\"error\",a),u.pipe(t)}})});return e?s.then(e,e):s},iNe=r=>new zB.Sync(r),nNe=r=>new zB(r)});var N6=w(pi=>{\"use strict\";pi.c=pi.create=mV();pi.r=pi.replace=ZD();pi.t=pi.list=UB();pi.u=pi.update=vV();pi.x=pi.extract=F6();pi.Pack=vB();pi.Unpack=pR();pi.Parse=sC();pi.ReadEntry=$d();pi.WriteEntry=xD();pi.Header=pf();pi.Pax=fB();pi.types=Zd()});var U6=w((Dat,M6)=>{var CR;M6.exports.getContent=()=>(typeof CR==\"undefined\"&&(CR=require(\"zlib\").brotliDecompressSync(Buffer.from(\"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\",\"base64\")).toString()),CR)});var q6=w((mR,Y6)=>{(function(r,e){typeof mR==\"object\"?Y6.exports=e():typeof define==\"function\"&&define.amd?define(e):r.treeify=e()})(mR,function(){function r(n,s){var o=s?\"\\u2514\":\"\\u251C\";return n?o+=\"\\u2500 \":o+=\"\\u2500\\u2500\\u2510\",o}function e(n,s){var o=[];for(var a in n)!n.hasOwnProperty(a)||s&&typeof n[a]==\"function\"||o.push(a);return o}function t(n,s,o,a,l,c,u){var g=\"\",f=0,h,p,m=a.slice(0);if(m.push([s,o])&&a.length>0&&(a.forEach(function(b,v){v>0&&(g+=(b[1]?\" \":\"\\u2502\")+\"  \"),!p&&b[0]===s&&(p=!0)}),g+=r(n,o)+n,l&&(typeof s!=\"object\"||s instanceof Date)&&(g+=\": \"+s),p&&(g+=\" (circular ref.)\"),u(g)),!p&&typeof s==\"object\"){var y=e(s,c);y.forEach(function(b){h=++f===y.length,t(b,s[b],h,m,l,c,u)})}}var i={};return i.asLines=function(n,s,o,a){var l=typeof o!=\"function\"?o:!1;t(\".\",n,!1,[],s,l,a||o)},i.asTree=function(n,s,o){var a=\"\";return t(\".\",n,!1,[],s,o,function(l){a+=l+`\n`}),a},i})});var VB=w((aAt,t7)=>{var wNe=Hs(),BNe=yd(),bNe=/\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,QNe=/^\\w*$/;function SNe(r,e){if(wNe(r))return!1;var t=typeof r;return t==\"number\"||t==\"symbol\"||t==\"boolean\"||r==null||BNe(r)?!0:QNe.test(r)||!bNe.test(r)||e!=null&&r in Object(e)}t7.exports=SNe});var XB=w((AAt,r7)=>{var vNe=zc(),kNe=Fn(),xNe=\"[object AsyncFunction]\",PNe=\"[object Function]\",DNe=\"[object GeneratorFunction]\",RNe=\"[object Proxy]\";function FNe(r){if(!kNe(r))return!1;var e=vNe(r);return e==PNe||e==DNe||e==xNe||e==RNe}r7.exports=FNe});var n7=w((lAt,i7)=>{var NNe=Ts(),LNe=NNe[\"__core-js_shared__\"];i7.exports=LNe});var a7=w((cAt,s7)=>{var SR=n7(),o7=function(){var r=/[^.]+$/.exec(SR&&SR.keys&&SR.keys.IE_PROTO||\"\");return r?\"Symbol(src)_1.\"+r:\"\"}();function TNe(r){return!!o7&&o7 in r}s7.exports=TNe});var vR=w((uAt,A7)=>{var ONe=Function.prototype,MNe=ONe.toString;function UNe(r){if(r!=null){try{return MNe.call(r)}catch(e){}try{return r+\"\"}catch(e){}}return\"\"}A7.exports=UNe});var c7=w((gAt,l7)=>{var KNe=XB(),HNe=a7(),jNe=Fn(),GNe=vR(),YNe=/[\\\\^$.*+?()[\\]{}|]/g,qNe=/^\\[object .+?Constructor\\]$/,JNe=Function.prototype,WNe=Object.prototype,zNe=JNe.toString,_Ne=WNe.hasOwnProperty,VNe=RegExp(\"^\"+zNe.call(_Ne).replace(YNe,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\");function XNe(r){if(!jNe(r)||HNe(r))return!1;var e=KNe(r)?VNe:qNe;return e.test(GNe(r))}l7.exports=XNe});var g7=w((fAt,u7)=>{function ZNe(r,e){return r==null?void 0:r[e]}u7.exports=ZNe});var Fl=w((hAt,f7)=>{var $Ne=c7(),eLe=g7();function tLe(r,e){var t=eLe(r,e);return $Ne(t)?t:void 0}f7.exports=tLe});var uC=w((pAt,h7)=>{var rLe=Fl(),iLe=rLe(Object,\"create\");h7.exports=iLe});var C7=w((dAt,p7)=>{var d7=uC();function nLe(){this.__data__=d7?d7(null):{},this.size=0}p7.exports=nLe});var E7=w((CAt,m7)=>{function sLe(r){var e=this.has(r)&&delete this.__data__[r];return this.size-=e?1:0,e}m7.exports=sLe});var y7=w((mAt,I7)=>{var oLe=uC(),aLe=\"__lodash_hash_undefined__\",ALe=Object.prototype,lLe=ALe.hasOwnProperty;function cLe(r){var e=this.__data__;if(oLe){var t=e[r];return t===aLe?void 0:t}return lLe.call(e,r)?e[r]:void 0}I7.exports=cLe});var B7=w((EAt,w7)=>{var uLe=uC(),gLe=Object.prototype,fLe=gLe.hasOwnProperty;function hLe(r){var e=this.__data__;return uLe?e[r]!==void 0:fLe.call(e,r)}w7.exports=hLe});var Q7=w((IAt,b7)=>{var pLe=uC(),dLe=\"__lodash_hash_undefined__\";function CLe(r,e){var t=this.__data__;return this.size+=this.has(r)?0:1,t[r]=pLe&&e===void 0?dLe:e,this}b7.exports=CLe});var v7=w((yAt,S7)=>{var mLe=C7(),ELe=E7(),ILe=y7(),yLe=B7(),wLe=Q7();function Pf(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e<t;){var i=r[e];this.set(i[0],i[1])}}Pf.prototype.clear=mLe;Pf.prototype.delete=ELe;Pf.prototype.get=ILe;Pf.prototype.has=yLe;Pf.prototype.set=wLe;S7.exports=Pf});var x7=w((wAt,k7)=>{function BLe(){this.__data__=[],this.size=0}k7.exports=BLe});var Df=w((BAt,P7)=>{function bLe(r,e){return r===e||r!==r&&e!==e}P7.exports=bLe});var gC=w((bAt,D7)=>{var QLe=Df();function SLe(r,e){for(var t=r.length;t--;)if(QLe(r[t][0],e))return t;return-1}D7.exports=SLe});var F7=w((QAt,R7)=>{var vLe=gC(),kLe=Array.prototype,xLe=kLe.splice;function PLe(r){var e=this.__data__,t=vLe(e,r);if(t<0)return!1;var i=e.length-1;return t==i?e.pop():xLe.call(e,t,1),--this.size,!0}R7.exports=PLe});var L7=w((SAt,N7)=>{var DLe=gC();function RLe(r){var e=this.__data__,t=DLe(e,r);return t<0?void 0:e[t][1]}N7.exports=RLe});var O7=w((vAt,T7)=>{var FLe=gC();function NLe(r){return FLe(this.__data__,r)>-1}T7.exports=NLe});var U7=w((kAt,M7)=>{var LLe=gC();function TLe(r,e){var t=this.__data__,i=LLe(t,r);return i<0?(++this.size,t.push([r,e])):t[i][1]=e,this}M7.exports=TLe});var fC=w((xAt,K7)=>{var OLe=x7(),MLe=F7(),ULe=L7(),KLe=O7(),HLe=U7();function Rf(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e<t;){var i=r[e];this.set(i[0],i[1])}}Rf.prototype.clear=OLe;Rf.prototype.delete=MLe;Rf.prototype.get=ULe;Rf.prototype.has=KLe;Rf.prototype.set=HLe;K7.exports=Rf});var ZB=w((PAt,H7)=>{var jLe=Fl(),GLe=Ts(),YLe=jLe(GLe,\"Map\");H7.exports=YLe});var Y7=w((DAt,j7)=>{var G7=v7(),qLe=fC(),JLe=ZB();function WLe(){this.size=0,this.__data__={hash:new G7,map:new(JLe||qLe),string:new G7}}j7.exports=WLe});var J7=w((RAt,q7)=>{function zLe(r){var e=typeof r;return e==\"string\"||e==\"number\"||e==\"symbol\"||e==\"boolean\"?r!==\"__proto__\":r===null}q7.exports=zLe});var hC=w((FAt,W7)=>{var _Le=J7();function VLe(r,e){var t=r.__data__;return _Le(e)?t[typeof e==\"string\"?\"string\":\"hash\"]:t.map}W7.exports=VLe});var _7=w((NAt,z7)=>{var XLe=hC();function ZLe(r){var e=XLe(this,r).delete(r);return this.size-=e?1:0,e}z7.exports=ZLe});var X7=w((LAt,V7)=>{var $Le=hC();function eTe(r){return $Le(this,r).get(r)}V7.exports=eTe});var $7=w((TAt,Z7)=>{var tTe=hC();function rTe(r){return tTe(this,r).has(r)}Z7.exports=rTe});var tX=w((OAt,eX)=>{var iTe=hC();function nTe(r,e){var t=iTe(this,r),i=t.size;return t.set(r,e),this.size+=t.size==i?0:1,this}eX.exports=nTe});var $B=w((MAt,rX)=>{var sTe=Y7(),oTe=_7(),aTe=X7(),ATe=$7(),lTe=tX();function Ff(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e<t;){var i=r[e];this.set(i[0],i[1])}}Ff.prototype.clear=sTe;Ff.prototype.delete=oTe;Ff.prototype.get=aTe;Ff.prototype.has=ATe;Ff.prototype.set=lTe;rX.exports=Ff});var sX=w((UAt,iX)=>{var nX=$B(),cTe=\"Expected a function\";function kR(r,e){if(typeof r!=\"function\"||e!=null&&typeof e!=\"function\")throw new TypeError(cTe);var t=function(){var i=arguments,n=e?e.apply(this,i):i[0],s=t.cache;if(s.has(n))return s.get(n);var o=r.apply(this,i);return t.cache=s.set(n,o)||s,o};return t.cache=new(kR.Cache||nX),t}kR.Cache=nX;iX.exports=kR});var aX=w((KAt,oX)=>{var uTe=sX(),gTe=500;function fTe(r){var e=uTe(r,function(i){return t.size===gTe&&t.clear(),i}),t=e.cache;return e}oX.exports=fTe});var lX=w((HAt,AX)=>{var hTe=aX(),pTe=/[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g,dTe=/\\\\(\\\\)?/g,CTe=hTe(function(r){var e=[];return r.charCodeAt(0)===46&&e.push(\"\"),r.replace(pTe,function(t,i,n,s){e.push(n?s.replace(dTe,\"$1\"):i||t)}),e});AX.exports=CTe});var Nf=w((jAt,cX)=>{var mTe=Hs(),ETe=VB(),ITe=lX(),yTe=cf();function wTe(r,e){return mTe(r)?r:ETe(r,e)?[r]:ITe(yTe(r))}cX.exports=wTe});var fu=w((GAt,uX)=>{var BTe=yd(),bTe=1/0;function QTe(r){if(typeof r==\"string\"||BTe(r))return r;var e=r+\"\";return e==\"0\"&&1/r==-bTe?\"-0\":e}uX.exports=QTe});var pC=w((YAt,gX)=>{var STe=Nf(),vTe=fu();function kTe(r,e){e=STe(e,r);for(var t=0,i=e.length;r!=null&&t<i;)r=r[vTe(e[t++])];return t&&t==i?r:void 0}gX.exports=kTe});var xR=w((qAt,fX)=>{var xTe=Fl(),PTe=function(){try{var r=xTe(Object,\"defineProperty\");return r({},\"\",{}),r}catch(e){}}();fX.exports=PTe});var Lf=w((JAt,hX)=>{var pX=xR();function DTe(r,e,t){e==\"__proto__\"&&pX?pX(r,e,{configurable:!0,enumerable:!0,value:t,writable:!0}):r[e]=t}hX.exports=DTe});var e0=w((WAt,dX)=>{var RTe=Lf(),FTe=Df(),NTe=Object.prototype,LTe=NTe.hasOwnProperty;function TTe(r,e,t){var i=r[e];(!(LTe.call(r,e)&&FTe(i,t))||t===void 0&&!(e in r))&&RTe(r,e,t)}dX.exports=TTe});var dC=w((zAt,CX)=>{var OTe=9007199254740991,MTe=/^(?:0|[1-9]\\d*)$/;function UTe(r,e){var t=typeof r;return e=e==null?OTe:e,!!e&&(t==\"number\"||t!=\"symbol\"&&MTe.test(r))&&r>-1&&r%1==0&&r<e}CX.exports=UTe});var PR=w((_At,mX)=>{var KTe=e0(),HTe=Nf(),jTe=dC(),EX=Fn(),GTe=fu();function YTe(r,e,t,i){if(!EX(r))return r;e=HTe(e,r);for(var n=-1,s=e.length,o=s-1,a=r;a!=null&&++n<s;){var l=GTe(e[n]),c=t;if(l===\"__proto__\"||l===\"constructor\"||l===\"prototype\")return r;if(n!=o){var u=a[l];c=i?i(u,l,a):void 0,c===void 0&&(c=EX(u)?u:jTe(e[n+1])?[]:{})}KTe(a,l,c),a=a[l]}return r}mX.exports=YTe});var yX=w((VAt,IX)=>{var qTe=pC(),JTe=PR(),WTe=Nf();function zTe(r,e,t){for(var i=-1,n=e.length,s={};++i<n;){var o=e[i],a=qTe(r,o);t(a,o)&&JTe(s,WTe(o,r),a)}return s}IX.exports=zTe});var BX=w((XAt,wX)=>{function _Te(r,e){return r!=null&&e in Object(r)}wX.exports=_Te});var QX=w((ZAt,bX)=>{var VTe=zc(),XTe=ra(),ZTe=\"[object Arguments]\";function $Te(r){return XTe(r)&&VTe(r)==ZTe}bX.exports=$Te});var CC=w(($At,SX)=>{var vX=QX(),eOe=ra(),kX=Object.prototype,tOe=kX.hasOwnProperty,rOe=kX.propertyIsEnumerable,iOe=vX(function(){return arguments}())?vX:function(r){return eOe(r)&&tOe.call(r,\"callee\")&&!rOe.call(r,\"callee\")};SX.exports=iOe});var t0=w((elt,xX)=>{var nOe=9007199254740991;function sOe(r){return typeof r==\"number\"&&r>-1&&r%1==0&&r<=nOe}xX.exports=sOe});var DR=w((tlt,PX)=>{var oOe=Nf(),aOe=CC(),AOe=Hs(),lOe=dC(),cOe=t0(),uOe=fu();function gOe(r,e,t){e=oOe(e,r);for(var i=-1,n=e.length,s=!1;++i<n;){var o=uOe(e[i]);if(!(s=r!=null&&t(r,o)))break;r=r[o]}return s||++i!=n?s:(n=r==null?0:r.length,!!n&&cOe(n)&&lOe(o,n)&&(AOe(r)||aOe(r)))}PX.exports=gOe});var RR=w((rlt,DX)=>{var fOe=BX(),hOe=DR();function pOe(r,e){return r!=null&&hOe(r,e,fOe)}DX.exports=pOe});var FX=w((ilt,RX)=>{var dOe=yX(),COe=RR();function mOe(r,e){return dOe(r,e,function(t,i){return COe(r,i)})}RX.exports=mOe});var r0=w((nlt,NX)=>{function EOe(r,e){for(var t=-1,i=e.length,n=r.length;++t<i;)r[n+t]=e[t];return r}NX.exports=EOe});var MX=w((slt,LX)=>{var TX=Wc(),IOe=CC(),yOe=Hs(),OX=TX?TX.isConcatSpreadable:void 0;function wOe(r){return yOe(r)||IOe(r)||!!(OX&&r&&r[OX])}LX.exports=wOe});var HX=w((olt,UX)=>{var BOe=r0(),bOe=MX();function KX(r,e,t,i,n){var s=-1,o=r.length;for(t||(t=bOe),n||(n=[]);++s<o;){var a=r[s];e>0&&t(a)?e>1?KX(a,e-1,t,i,n):BOe(n,a):i||(n[n.length]=a)}return n}UX.exports=KX});var GX=w((alt,jX)=>{var QOe=HX();function SOe(r){var e=r==null?0:r.length;return e?QOe(r,1):[]}jX.exports=SOe});var qX=w((Alt,YX)=>{function vOe(r,e,t){switch(t.length){case 0:return r.call(e);case 1:return r.call(e,t[0]);case 2:return r.call(e,t[0],t[1]);case 3:return r.call(e,t[0],t[1],t[2])}return r.apply(e,t)}YX.exports=vOe});var FR=w((llt,JX)=>{var kOe=qX(),WX=Math.max;function xOe(r,e,t){return e=WX(e===void 0?r.length-1:e,0),function(){for(var i=arguments,n=-1,s=WX(i.length-e,0),o=Array(s);++n<s;)o[n]=i[e+n];n=-1;for(var a=Array(e+1);++n<e;)a[n]=i[n];return a[e]=t(o),kOe(r,this,a)}}JX.exports=xOe});var _X=w((clt,zX)=>{function POe(r){return function(){return r}}zX.exports=POe});var i0=w((ult,VX)=>{function DOe(r){return r}VX.exports=DOe});var $X=w((glt,XX)=>{var ROe=_X(),ZX=xR(),FOe=i0(),NOe=ZX?function(r,e){return ZX(r,\"toString\",{configurable:!0,enumerable:!1,value:ROe(e),writable:!0})}:FOe;XX.exports=NOe});var tZ=w((flt,eZ)=>{var LOe=800,TOe=16,OOe=Date.now;function MOe(r){var e=0,t=0;return function(){var i=OOe(),n=TOe-(i-t);if(t=i,n>0){if(++e>=LOe)return arguments[0]}else e=0;return r.apply(void 0,arguments)}}eZ.exports=MOe});var NR=w((hlt,rZ)=>{var UOe=$X(),KOe=tZ(),HOe=KOe(UOe);rZ.exports=HOe});var nZ=w((plt,iZ)=>{var jOe=GX(),GOe=FR(),YOe=NR();function qOe(r){return YOe(GOe(r,void 0,jOe),r+\"\")}iZ.exports=qOe});var oZ=w((dlt,sZ)=>{var JOe=FX(),WOe=nZ(),zOe=WOe(function(r,e){return r==null?{}:JOe(r,e)});sZ.exports=zOe});var mZ=w((fut,pZ)=>{\"use strict\";var YR;try{YR=Map}catch(r){}var qR;try{qR=Set}catch(r){}function dZ(r,e,t){if(!r||typeof r!=\"object\"||typeof r==\"function\")return r;if(r.nodeType&&\"cloneNode\"in r)return r.cloneNode(!0);if(r instanceof Date)return new Date(r.getTime());if(r instanceof RegExp)return new RegExp(r);if(Array.isArray(r))return r.map(CZ);if(YR&&r instanceof YR)return new Map(Array.from(r.entries()));if(qR&&r instanceof qR)return new Set(Array.from(r.values()));if(r instanceof Object){e.push(r);var i=Object.create(r);t.push(i);for(var n in r){var s=e.findIndex(function(o){return o===r[n]});i[n]=s>-1?t[s]:dZ(r[n],e,t)}return i}return r}function CZ(r){return dZ(r,[],[])}pZ.exports=CZ});var yC=w(JR=>{\"use strict\";Object.defineProperty(JR,\"__esModule\",{value:!0});JR.default=iMe;var nMe=Object.prototype.toString,sMe=Error.prototype.toString,oMe=RegExp.prototype.toString,aMe=typeof Symbol!=\"undefined\"?Symbol.prototype.toString:()=>\"\",AMe=/^Symbol\\((.*)\\)(.*)$/;function lMe(r){return r!=+r?\"NaN\":r===0&&1/r<0?\"-0\":\"\"+r}function EZ(r,e=!1){if(r==null||r===!0||r===!1)return\"\"+r;let t=typeof r;if(t===\"number\")return lMe(r);if(t===\"string\")return e?`\"${r}\"`:r;if(t===\"function\")return\"[Function \"+(r.name||\"anonymous\")+\"]\";if(t===\"symbol\")return aMe.call(r).replace(AMe,\"Symbol($1)\");let i=nMe.call(r).slice(8,-1);return i===\"Date\"?isNaN(r.getTime())?\"\"+r:r.toISOString(r):i===\"Error\"||r instanceof Error?\"[\"+sMe.call(r)+\"]\":i===\"RegExp\"?oMe.call(r):null}function iMe(r,e){let t=EZ(r,e);return t!==null?t:JSON.stringify(r,function(i,n){let s=EZ(this[i],e);return s!==null?s:n},2)}});var mA=w(bi=>{\"use strict\";Object.defineProperty(bi,\"__esModule\",{value:!0});bi.default=bi.array=bi.object=bi.boolean=bi.date=bi.number=bi.string=bi.mixed=void 0;var IZ=cMe(yC());function cMe(r){return r&&r.__esModule?r:{default:r}}var yZ={default:\"${path} is invalid\",required:\"${path} is a required field\",oneOf:\"${path} must be one of the following values: ${values}\",notOneOf:\"${path} must not be one of the following values: ${values}\",notType:({path:r,type:e,value:t,originalValue:i})=>{let n=i!=null&&i!==t,s=`${r} must be a \\`${e}\\` type, but the final value was: \\`${(0,IZ.default)(t,!0)}\\``+(n?` (cast from the value \\`${(0,IZ.default)(i,!0)}\\`).`:\".\");return t===null&&(s+='\\n If \"null\" is intended as an empty value be sure to mark the schema as `.nullable()`'),s},defined:\"${path} must be defined\"};bi.mixed=yZ;var wZ={length:\"${path} must be exactly ${length} characters\",min:\"${path} must be at least ${min} characters\",max:\"${path} must be at most ${max} characters\",matches:'${path} must match the following: \"${regex}\"',email:\"${path} must be a valid email\",url:\"${path} must be a valid URL\",uuid:\"${path} must be a valid UUID\",trim:\"${path} must be a trimmed string\",lowercase:\"${path} must be a lowercase string\",uppercase:\"${path} must be a upper case string\"};bi.string=wZ;var BZ={min:\"${path} must be greater than or equal to ${min}\",max:\"${path} must be less than or equal to ${max}\",lessThan:\"${path} must be less than ${less}\",moreThan:\"${path} must be greater than ${more}\",positive:\"${path} must be a positive number\",negative:\"${path} must be a negative number\",integer:\"${path} must be an integer\"};bi.number=BZ;var bZ={min:\"${path} field must be later than ${min}\",max:\"${path} field must be at earlier than ${max}\"};bi.date=bZ;var QZ={isValue:\"${path} field must be ${value}\"};bi.boolean=QZ;var SZ={noUnknown:\"${path} field has unspecified keys: ${unknown}\"};bi.object=SZ;var vZ={min:\"${path} field must have at least ${min} items\",max:\"${path} field must have less than or equal to ${max} items\",length:\"${path} must be have ${length} items\"};bi.array=vZ;var uMe=Object.assign(Object.create(null),{mixed:yZ,string:wZ,number:BZ,date:bZ,object:SZ,array:vZ,boolean:QZ});bi.default=uMe});var xZ=w((dut,kZ)=>{var gMe=Object.prototype,fMe=gMe.hasOwnProperty;function hMe(r,e){return r!=null&&fMe.call(r,e)}kZ.exports=hMe});var wC=w((Cut,PZ)=>{var pMe=xZ(),dMe=DR();function CMe(r,e){return r!=null&&dMe(r,e,pMe)}PZ.exports=CMe});var Of=w(a0=>{\"use strict\";Object.defineProperty(a0,\"__esModule\",{value:!0});a0.default=void 0;var mMe=r=>r&&r.__isYupSchema__;a0.default=mMe});var FZ=w(A0=>{\"use strict\";Object.defineProperty(A0,\"__esModule\",{value:!0});A0.default=void 0;var EMe=DZ(wC()),IMe=DZ(Of());function DZ(r){return r&&r.__esModule?r:{default:r}}var RZ=class{constructor(e,t){if(this.refs=e,this.refs=e,typeof t==\"function\"){this.fn=t;return}if(!(0,EMe.default)(t,\"is\"))throw new TypeError(\"`is:` is required for `when()` conditions\");if(!t.then&&!t.otherwise)throw new TypeError(\"either `then:` or `otherwise:` is required for `when()` conditions\");let{is:i,then:n,otherwise:s}=t,o=typeof i==\"function\"?i:(...a)=>a.every(l=>l===i);this.fn=function(...a){let l=a.pop(),c=a.pop(),u=o(...a)?n:s;if(!!u)return typeof u==\"function\"?u(c):c.concat(u.resolve(l))}}resolve(e,t){let i=this.refs.map(s=>s.getValue(t==null?void 0:t.value,t==null?void 0:t.parent,t==null?void 0:t.context)),n=this.fn.apply(e,i.concat(e,t));if(n===void 0||n===e)return e;if(!(0,IMe.default)(n))throw new TypeError(\"conditions must return a schema object\");return n.resolve(t)}},yMe=RZ;A0.default=yMe});var zR=w(WR=>{\"use strict\";Object.defineProperty(WR,\"__esModule\",{value:!0});WR.default=wMe;function wMe(r){return r==null?[]:[].concat(r)}});var hu=w(l0=>{\"use strict\";Object.defineProperty(l0,\"__esModule\",{value:!0});l0.default=void 0;var BMe=NZ(yC()),bMe=NZ(zR());function NZ(r){return r&&r.__esModule?r:{default:r}}function _R(){return _R=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(r[i]=t[i])}return r},_R.apply(this,arguments)}var QMe=/\\$\\{\\s*(\\w+)\\s*\\}/g,BC=class extends Error{static formatError(e,t){let i=t.label||t.path||\"this\";return i!==t.path&&(t=_R({},t,{path:i})),typeof e==\"string\"?e.replace(QMe,(n,s)=>(0,BMe.default)(t[s])):typeof e==\"function\"?e(t):e}static isError(e){return e&&e.name===\"ValidationError\"}constructor(e,t,i,n){super();this.name=\"ValidationError\",this.value=t,this.path=i,this.type=n,this.errors=[],this.inner=[],(0,bMe.default)(e).forEach(s=>{BC.isError(s)?(this.errors.push(...s.errors),this.inner=this.inner.concat(s.inner.length?s.inner:s)):this.errors.push(s)}),this.message=this.errors.length>1?`${this.errors.length} errors occurred`:this.errors[0],Error.captureStackTrace&&Error.captureStackTrace(this,BC)}};l0.default=BC});var c0=w(VR=>{\"use strict\";Object.defineProperty(VR,\"__esModule\",{value:!0});VR.default=SMe;var XR=vMe(hu());function vMe(r){return r&&r.__esModule?r:{default:r}}var kMe=r=>{let e=!1;return(...t)=>{e||(e=!0,r(...t))}};function SMe(r,e){let{endEarly:t,tests:i,args:n,value:s,errors:o,sort:a,path:l}=r,c=kMe(e),u=i.length,g=[];if(o=o||[],!u)return o.length?c(new XR.default(o,s,l)):c(null,s);for(let f=0;f<i.length;f++)i[f](n,function(m){if(m){if(!XR.default.isError(m))return c(m,s);if(t)return m.value=s,c(m,s);g.push(m)}if(--u<=0){if(g.length&&(a&&g.sort(a),o.length&&g.push(...o),o=g),o.length){c(new XR.default(o,s,l),s);return}c(null,s)}})}});var TZ=w((But,LZ)=>{function xMe(r){return function(e,t,i){for(var n=-1,s=Object(e),o=i(e),a=o.length;a--;){var l=o[r?a:++n];if(t(s[l],l,s)===!1)break}return e}}LZ.exports=xMe});var ZR=w((but,OZ)=>{var PMe=TZ(),DMe=PMe();OZ.exports=DMe});var UZ=w((Qut,MZ)=>{function RMe(r,e){for(var t=-1,i=Array(r);++t<r;)i[t]=e(t);return i}MZ.exports=RMe});var HZ=w((Sut,KZ)=>{function FMe(){return!1}KZ.exports=FMe});var QC=w((bC,Mf)=>{var NMe=Ts(),LMe=HZ(),jZ=typeof bC==\"object\"&&bC&&!bC.nodeType&&bC,GZ=jZ&&typeof Mf==\"object\"&&Mf&&!Mf.nodeType&&Mf,TMe=GZ&&GZ.exports===jZ,YZ=TMe?NMe.Buffer:void 0,OMe=YZ?YZ.isBuffer:void 0,MMe=OMe||LMe;Mf.exports=MMe});var JZ=w((vut,qZ)=>{var UMe=zc(),KMe=t0(),HMe=ra(),jMe=\"[object Arguments]\",GMe=\"[object Array]\",YMe=\"[object Boolean]\",qMe=\"[object Date]\",JMe=\"[object Error]\",WMe=\"[object Function]\",zMe=\"[object Map]\",_Me=\"[object Number]\",VMe=\"[object Object]\",XMe=\"[object RegExp]\",ZMe=\"[object Set]\",$Me=\"[object String]\",e1e=\"[object WeakMap]\",t1e=\"[object ArrayBuffer]\",r1e=\"[object DataView]\",i1e=\"[object Float32Array]\",n1e=\"[object Float64Array]\",s1e=\"[object Int8Array]\",o1e=\"[object Int16Array]\",a1e=\"[object Int32Array]\",A1e=\"[object Uint8Array]\",l1e=\"[object Uint8ClampedArray]\",c1e=\"[object Uint16Array]\",u1e=\"[object Uint32Array]\",wr={};wr[i1e]=wr[n1e]=wr[s1e]=wr[o1e]=wr[a1e]=wr[A1e]=wr[l1e]=wr[c1e]=wr[u1e]=!0;wr[jMe]=wr[GMe]=wr[t1e]=wr[YMe]=wr[r1e]=wr[qMe]=wr[JMe]=wr[WMe]=wr[zMe]=wr[_Me]=wr[VMe]=wr[XMe]=wr[ZMe]=wr[$Me]=wr[e1e]=!1;function g1e(r){return HMe(r)&&KMe(r.length)&&!!wr[UMe(r)]}qZ.exports=g1e});var u0=w((kut,WZ)=>{function f1e(r){return function(e){return r(e)}}WZ.exports=f1e});var g0=w((SC,Uf)=>{var h1e=ix(),zZ=typeof SC==\"object\"&&SC&&!SC.nodeType&&SC,vC=zZ&&typeof Uf==\"object\"&&Uf&&!Uf.nodeType&&Uf,p1e=vC&&vC.exports===zZ,$R=p1e&&h1e.process,d1e=function(){try{var r=vC&&vC.require&&vC.require(\"util\").types;return r||$R&&$R.binding&&$R.binding(\"util\")}catch(e){}}();Uf.exports=d1e});var f0=w((xut,_Z)=>{var C1e=JZ(),m1e=u0(),VZ=g0(),XZ=VZ&&VZ.isTypedArray,E1e=XZ?m1e(XZ):C1e;_Z.exports=E1e});var eF=w((Put,ZZ)=>{var I1e=UZ(),y1e=CC(),w1e=Hs(),B1e=QC(),b1e=dC(),Q1e=f0(),S1e=Object.prototype,v1e=S1e.hasOwnProperty;function k1e(r,e){var t=w1e(r),i=!t&&y1e(r),n=!t&&!i&&B1e(r),s=!t&&!i&&!n&&Q1e(r),o=t||i||n||s,a=o?I1e(r.length,String):[],l=a.length;for(var c in r)(e||v1e.call(r,c))&&!(o&&(c==\"length\"||n&&(c==\"offset\"||c==\"parent\")||s&&(c==\"buffer\"||c==\"byteLength\"||c==\"byteOffset\")||b1e(c,l)))&&a.push(c);return a}ZZ.exports=k1e});var h0=w((Dut,$Z)=>{var x1e=Object.prototype;function P1e(r){var e=r&&r.constructor,t=typeof e==\"function\"&&e.prototype||x1e;return r===t}$Z.exports=P1e});var tF=w((Rut,e$)=>{function D1e(r,e){return function(t){return r(e(t))}}e$.exports=D1e});var r$=w((Fut,t$)=>{var R1e=tF(),F1e=R1e(Object.keys,Object);t$.exports=F1e});var n$=w((Nut,i$)=>{var N1e=h0(),L1e=r$(),T1e=Object.prototype,O1e=T1e.hasOwnProperty;function M1e(r){if(!N1e(r))return L1e(r);var e=[];for(var t in Object(r))O1e.call(r,t)&&t!=\"constructor\"&&e.push(t);return e}i$.exports=M1e});var kC=w((Lut,s$)=>{var U1e=XB(),K1e=t0();function H1e(r){return r!=null&&K1e(r.length)&&!U1e(r)}s$.exports=H1e});var Kf=w((Tut,o$)=>{var j1e=eF(),G1e=n$(),Y1e=kC();function q1e(r){return Y1e(r)?j1e(r):G1e(r)}o$.exports=q1e});var rF=w((Out,a$)=>{var J1e=ZR(),W1e=Kf();function z1e(r,e){return r&&J1e(r,e,W1e)}a$.exports=z1e});var l$=w((Mut,A$)=>{var _1e=fC();function V1e(){this.__data__=new _1e,this.size=0}A$.exports=V1e});var u$=w((Uut,c$)=>{function X1e(r){var e=this.__data__,t=e.delete(r);return this.size=e.size,t}c$.exports=X1e});var f$=w((Kut,g$)=>{function Z1e(r){return this.__data__.get(r)}g$.exports=Z1e});var p$=w((Hut,h$)=>{function $1e(r){return this.__data__.has(r)}h$.exports=$1e});var C$=w((jut,d$)=>{var eUe=fC(),tUe=ZB(),rUe=$B(),iUe=200;function nUe(r,e){var t=this.__data__;if(t instanceof eUe){var i=t.__data__;if(!tUe||i.length<iUe-1)return i.push([r,e]),this.size=++t.size,this;t=this.__data__=new rUe(i)}return t.set(r,e),this.size=t.size,this}d$.exports=nUe});var xC=w((Gut,m$)=>{var sUe=fC(),oUe=l$(),aUe=u$(),AUe=f$(),lUe=p$(),cUe=C$();function Hf(r){var e=this.__data__=new sUe(r);this.size=e.size}Hf.prototype.clear=oUe;Hf.prototype.delete=aUe;Hf.prototype.get=AUe;Hf.prototype.has=lUe;Hf.prototype.set=cUe;m$.exports=Hf});var I$=w((Yut,E$)=>{var uUe=\"__lodash_hash_undefined__\";function gUe(r){return this.__data__.set(r,uUe),this}E$.exports=gUe});var w$=w((qut,y$)=>{function fUe(r){return this.__data__.has(r)}y$.exports=fUe});var b$=w((Jut,B$)=>{var hUe=$B(),pUe=I$(),dUe=w$();function p0(r){var e=-1,t=r==null?0:r.length;for(this.__data__=new hUe;++e<t;)this.add(r[e])}p0.prototype.add=p0.prototype.push=pUe;p0.prototype.has=dUe;B$.exports=p0});var S$=w((Wut,Q$)=>{function CUe(r,e){for(var t=-1,i=r==null?0:r.length;++t<i;)if(e(r[t],t,r))return!0;return!1}Q$.exports=CUe});var k$=w((zut,v$)=>{function mUe(r,e){return r.has(e)}v$.exports=mUe});var iF=w((_ut,x$)=>{var EUe=b$(),IUe=S$(),yUe=k$(),wUe=1,BUe=2;function bUe(r,e,t,i,n,s){var o=t&wUe,a=r.length,l=e.length;if(a!=l&&!(o&&l>a))return!1;var c=s.get(r),u=s.get(e);if(c&&u)return c==e&&u==r;var g=-1,f=!0,h=t&BUe?new EUe:void 0;for(s.set(r,e),s.set(e,r);++g<a;){var p=r[g],m=e[g];if(i)var y=o?i(m,p,g,e,r,s):i(p,m,g,r,e,s);if(y!==void 0){if(y)continue;f=!1;break}if(h){if(!IUe(e,function(b,v){if(!yUe(h,v)&&(p===b||n(p,b,t,i,s)))return h.push(v)})){f=!1;break}}else if(!(p===m||n(p,m,t,i,s))){f=!1;break}}return s.delete(r),s.delete(e),f}x$.exports=bUe});var nF=w((Vut,P$)=>{var QUe=Ts(),SUe=QUe.Uint8Array;P$.exports=SUe});var R$=w((Xut,D$)=>{function vUe(r){var e=-1,t=Array(r.size);return r.forEach(function(i,n){t[++e]=[n,i]}),t}D$.exports=vUe});var N$=w((Zut,F$)=>{function kUe(r){var e=-1,t=Array(r.size);return r.forEach(function(i){t[++e]=i}),t}F$.exports=kUe});var U$=w(($ut,L$)=>{var T$=Wc(),O$=nF(),xUe=Df(),PUe=iF(),DUe=R$(),RUe=N$(),FUe=1,NUe=2,LUe=\"[object Boolean]\",TUe=\"[object Date]\",OUe=\"[object Error]\",MUe=\"[object Map]\",UUe=\"[object Number]\",KUe=\"[object RegExp]\",HUe=\"[object Set]\",jUe=\"[object String]\",GUe=\"[object Symbol]\",YUe=\"[object ArrayBuffer]\",qUe=\"[object DataView]\",M$=T$?T$.prototype:void 0,sF=M$?M$.valueOf:void 0;function JUe(r,e,t,i,n,s,o){switch(t){case qUe:if(r.byteLength!=e.byteLength||r.byteOffset!=e.byteOffset)return!1;r=r.buffer,e=e.buffer;case YUe:return!(r.byteLength!=e.byteLength||!s(new O$(r),new O$(e)));case LUe:case TUe:case UUe:return xUe(+r,+e);case OUe:return r.name==e.name&&r.message==e.message;case KUe:case jUe:return r==e+\"\";case MUe:var a=DUe;case HUe:var l=i&FUe;if(a||(a=RUe),r.size!=e.size&&!l)return!1;var c=o.get(r);if(c)return c==e;i|=NUe,o.set(r,e);var u=PUe(a(r),a(e),i,n,s,o);return o.delete(r),u;case GUe:if(sF)return sF.call(r)==sF.call(e)}return!1}L$.exports=JUe});var oF=w((egt,K$)=>{var WUe=r0(),zUe=Hs();function _Ue(r,e,t){var i=e(r);return zUe(r)?i:WUe(i,t(r))}K$.exports=_Ue});var j$=w((tgt,H$)=>{function VUe(r,e){for(var t=-1,i=r==null?0:r.length,n=0,s=[];++t<i;){var o=r[t];e(o,t,r)&&(s[n++]=o)}return s}H$.exports=VUe});var aF=w((rgt,G$)=>{function XUe(){return[]}G$.exports=XUe});var d0=w((igt,Y$)=>{var ZUe=j$(),$Ue=aF(),eKe=Object.prototype,tKe=eKe.propertyIsEnumerable,q$=Object.getOwnPropertySymbols,rKe=q$?function(r){return r==null?[]:(r=Object(r),ZUe(q$(r),function(e){return tKe.call(r,e)}))}:$Ue;Y$.exports=rKe});var AF=w((ngt,J$)=>{var iKe=oF(),nKe=d0(),sKe=Kf();function oKe(r){return iKe(r,sKe,nKe)}J$.exports=oKe});var _$=w((sgt,W$)=>{var z$=AF(),aKe=1,AKe=Object.prototype,lKe=AKe.hasOwnProperty;function cKe(r,e,t,i,n,s){var o=t&aKe,a=z$(r),l=a.length,c=z$(e),u=c.length;if(l!=u&&!o)return!1;for(var g=l;g--;){var f=a[g];if(!(o?f in e:lKe.call(e,f)))return!1}var h=s.get(r),p=s.get(e);if(h&&p)return h==e&&p==r;var m=!0;s.set(r,e),s.set(e,r);for(var y=o;++g<l;){f=a[g];var b=r[f],v=e[f];if(i)var k=o?i(v,b,f,e,r,s):i(b,v,f,r,e,s);if(!(k===void 0?b===v||n(b,v,t,i,s):k)){m=!1;break}y||(y=f==\"constructor\")}if(m&&!y){var T=r.constructor,Y=e.constructor;T!=Y&&\"constructor\"in r&&\"constructor\"in e&&!(typeof T==\"function\"&&T instanceof T&&typeof Y==\"function\"&&Y instanceof Y)&&(m=!1)}return s.delete(r),s.delete(e),m}W$.exports=cKe});var X$=w((ogt,V$)=>{var uKe=Fl(),gKe=Ts(),fKe=uKe(gKe,\"DataView\");V$.exports=fKe});var $$=w((agt,Z$)=>{var hKe=Fl(),pKe=Ts(),dKe=hKe(pKe,\"Promise\");Z$.exports=dKe});var tee=w((Agt,eee)=>{var CKe=Fl(),mKe=Ts(),EKe=CKe(mKe,\"Set\");eee.exports=EKe});var iee=w((lgt,ree)=>{var IKe=Fl(),yKe=Ts(),wKe=IKe(yKe,\"WeakMap\");ree.exports=wKe});var PC=w((cgt,nee)=>{var lF=X$(),cF=ZB(),uF=$$(),gF=tee(),fF=iee(),see=zc(),jf=vR(),oee=\"[object Map]\",BKe=\"[object Object]\",aee=\"[object Promise]\",Aee=\"[object Set]\",lee=\"[object WeakMap]\",cee=\"[object DataView]\",bKe=jf(lF),QKe=jf(cF),SKe=jf(uF),vKe=jf(gF),kKe=jf(fF),pu=see;(lF&&pu(new lF(new ArrayBuffer(1)))!=cee||cF&&pu(new cF)!=oee||uF&&pu(uF.resolve())!=aee||gF&&pu(new gF)!=Aee||fF&&pu(new fF)!=lee)&&(pu=function(r){var e=see(r),t=e==BKe?r.constructor:void 0,i=t?jf(t):\"\";if(i)switch(i){case bKe:return cee;case QKe:return oee;case SKe:return aee;case vKe:return Aee;case kKe:return lee}return e});nee.exports=pu});var mee=w((ugt,uee)=>{var hF=xC(),xKe=iF(),PKe=U$(),DKe=_$(),gee=PC(),fee=Hs(),hee=QC(),RKe=f0(),FKe=1,pee=\"[object Arguments]\",dee=\"[object Array]\",C0=\"[object Object]\",NKe=Object.prototype,Cee=NKe.hasOwnProperty;function LKe(r,e,t,i,n,s){var o=fee(r),a=fee(e),l=o?dee:gee(r),c=a?dee:gee(e);l=l==pee?C0:l,c=c==pee?C0:c;var u=l==C0,g=c==C0,f=l==c;if(f&&hee(r)){if(!hee(e))return!1;o=!0,u=!1}if(f&&!u)return s||(s=new hF),o||RKe(r)?xKe(r,e,t,i,n,s):PKe(r,e,l,t,i,n,s);if(!(t&FKe)){var h=u&&Cee.call(r,\"__wrapped__\"),p=g&&Cee.call(e,\"__wrapped__\");if(h||p){var m=h?r.value():r,y=p?e.value():e;return s||(s=new hF),n(m,y,t,i,s)}}return f?(s||(s=new hF),DKe(r,e,t,i,n,s)):!1}uee.exports=LKe});var pF=w((ggt,Eee)=>{var TKe=mee(),Iee=ra();function yee(r,e,t,i,n){return r===e?!0:r==null||e==null||!Iee(r)&&!Iee(e)?r!==r&&e!==e:TKe(r,e,t,i,yee,n)}Eee.exports=yee});var Bee=w((fgt,wee)=>{var OKe=xC(),MKe=pF(),UKe=1,KKe=2;function HKe(r,e,t,i){var n=t.length,s=n,o=!i;if(r==null)return!s;for(r=Object(r);n--;){var a=t[n];if(o&&a[2]?a[1]!==r[a[0]]:!(a[0]in r))return!1}for(;++n<s;){a=t[n];var l=a[0],c=r[l],u=a[1];if(o&&a[2]){if(c===void 0&&!(l in r))return!1}else{var g=new OKe;if(i)var f=i(c,u,l,r,e,g);if(!(f===void 0?MKe(u,c,UKe|KKe,i,g):f))return!1}}return!0}wee.exports=HKe});var dF=w((hgt,bee)=>{var jKe=Fn();function GKe(r){return r===r&&!jKe(r)}bee.exports=GKe});var See=w((pgt,Qee)=>{var YKe=dF(),qKe=Kf();function JKe(r){for(var e=qKe(r),t=e.length;t--;){var i=e[t],n=r[i];e[t]=[i,n,YKe(n)]}return e}Qee.exports=JKe});var CF=w((dgt,vee)=>{function WKe(r,e){return function(t){return t==null?!1:t[r]===e&&(e!==void 0||r in Object(t))}}vee.exports=WKe});var xee=w((Cgt,kee)=>{var zKe=Bee(),_Ke=See(),VKe=CF();function XKe(r){var e=_Ke(r);return e.length==1&&e[0][2]?VKe(e[0][0],e[0][1]):function(t){return t===r||zKe(t,r,e)}}kee.exports=XKe});var m0=w((mgt,Pee)=>{var ZKe=pC();function $Ke(r,e,t){var i=r==null?void 0:ZKe(r,e);return i===void 0?t:i}Pee.exports=$Ke});var Ree=w((Egt,Dee)=>{var e2e=pF(),t2e=m0(),r2e=RR(),i2e=VB(),n2e=dF(),s2e=CF(),o2e=fu(),a2e=1,A2e=2;function l2e(r,e){return i2e(r)&&n2e(e)?s2e(o2e(r),e):function(t){var i=t2e(t,r);return i===void 0&&i===e?r2e(t,r):e2e(e,i,a2e|A2e)}}Dee.exports=l2e});var Nee=w((Igt,Fee)=>{function c2e(r){return function(e){return e==null?void 0:e[r]}}Fee.exports=c2e});var Tee=w((ygt,Lee)=>{var u2e=pC();function g2e(r){return function(e){return u2e(e,r)}}Lee.exports=g2e});var Mee=w((wgt,Oee)=>{var f2e=Nee(),h2e=Tee(),p2e=VB(),d2e=fu();function C2e(r){return p2e(r)?f2e(d2e(r)):h2e(r)}Oee.exports=C2e});var mF=w((Bgt,Uee)=>{var m2e=xee(),E2e=Ree(),I2e=i0(),y2e=Hs(),w2e=Mee();function B2e(r){return typeof r==\"function\"?r:r==null?I2e:typeof r==\"object\"?y2e(r)?E2e(r[0],r[1]):m2e(r):w2e(r)}Uee.exports=B2e});var EF=w((bgt,Kee)=>{var b2e=Lf(),Q2e=rF(),S2e=mF();function v2e(r,e){var t={};return e=S2e(e,3),Q2e(r,function(i,n,s){b2e(t,n,e(i,n,s))}),t}Kee.exports=v2e});var DC=w((Qgt,Hee)=>{\"use strict\";function du(r){this._maxSize=r,this.clear()}du.prototype.clear=function(){this._size=0,this._values=Object.create(null)};du.prototype.get=function(r){return this._values[r]};du.prototype.set=function(r,e){return this._size>=this._maxSize&&this.clear(),r in this._values||this._size++,this._values[r]=e};var k2e=/[^.^\\]^[]+|(?=\\[\\]|\\.\\.)/g,jee=/^\\d+$/,x2e=/^\\d/,P2e=/[~`!#$%\\^&*+=\\-\\[\\]\\\\';,/{}|\\\\\":<>\\?]/g,D2e=/^\\s*(['\"]?)(.*?)(\\1)\\s*$/,IF=512,Gee=new du(IF),Yee=new du(IF),qee=new du(IF);Hee.exports={Cache:du,split:wF,normalizePath:yF,setter:function(r){var e=yF(r);return Yee.get(r)||Yee.set(r,function(i,n){for(var s=0,o=e.length,a=i;s<o-1;){var l=e[s];if(l===\"__proto__\"||l===\"constructor\"||l===\"prototype\")return i;a=a[e[s++]]}a[e[s]]=n})},getter:function(r,e){var t=yF(r);return qee.get(r)||qee.set(r,function(n){for(var s=0,o=t.length;s<o;)if(n!=null||!e)n=n[t[s++]];else return;return n})},join:function(r){return r.reduce(function(e,t){return e+(BF(t)||jee.test(t)?\"[\"+t+\"]\":(e?\".\":\"\")+t)},\"\")},forEach:function(r,e,t){R2e(Array.isArray(r)?r:wF(r),e,t)}};function yF(r){return Gee.get(r)||Gee.set(r,wF(r).map(function(e){return e.replace(D2e,\"$2\")}))}function wF(r){return r.match(k2e)}function R2e(r,e,t){var i=r.length,n,s,o,a;for(s=0;s<i;s++)n=r[s],n&&(F2e(n)&&(n='\"'+n+'\"'),a=BF(n),o=!a&&/^\\d+$/.test(n),e.call(t,n,a,o,s,r))}function BF(r){return typeof r==\"string\"&&r&&[\"'\",'\"'].indexOf(r.charAt(0))!==-1}function N2e(r){return r.match(x2e)&&!r.match(jee)}function L2e(r){return P2e.test(r)}function F2e(r){return!BF(r)&&(N2e(r)||L2e(r))}});var Cu=w(RC=>{\"use strict\";Object.defineProperty(RC,\"__esModule\",{value:!0});RC.create=T2e;RC.default=void 0;var O2e=DC(),E0={context:\"$\",value:\".\"};function T2e(r,e){return new I0(r,e)}var I0=class{constructor(e,t={}){if(typeof e!=\"string\")throw new TypeError(\"ref must be a string, got: \"+e);if(this.key=e.trim(),e===\"\")throw new TypeError(\"ref must be a non-empty string\");this.isContext=this.key[0]===E0.context,this.isValue=this.key[0]===E0.value,this.isSibling=!this.isContext&&!this.isValue;let i=this.isContext?E0.context:this.isValue?E0.value:\"\";this.path=this.key.slice(i.length),this.getter=this.path&&(0,O2e.getter)(this.path,!0),this.map=t.map}getValue(e,t,i){let n=this.isContext?i:this.isValue?e:t;return this.getter&&(n=this.getter(n||{})),this.map&&(n=this.map(n)),n}cast(e,t){return this.getValue(e,t==null?void 0:t.parent,t==null?void 0:t.context)}resolve(){return this}describe(){return{type:\"ref\",key:this.key}}toString(){return`Ref(${this.key})`}static isRef(e){return e&&e.__isYupRef}};RC.default=I0;I0.prototype.__isYupRef=!0});var Jee=w(bF=>{\"use strict\";Object.defineProperty(bF,\"__esModule\",{value:!0});bF.default=M2e;var U2e=QF(EF()),y0=QF(hu()),K2e=QF(Cu());function QF(r){return r&&r.__esModule?r:{default:r}}function w0(){return w0=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(r[i]=t[i])}return r},w0.apply(this,arguments)}function H2e(r,e){if(r==null)return{};var t={},i=Object.keys(r),n,s;for(s=0;s<i.length;s++)n=i[s],!(e.indexOf(n)>=0)&&(t[n]=r[n]);return t}function M2e(r){function e(t,i){let{value:n,path:s=\"\",label:o,options:a,originalValue:l,sync:c}=t,u=H2e(t,[\"value\",\"path\",\"label\",\"options\",\"originalValue\",\"sync\"]),{name:g,test:f,params:h,message:p}=r,{parent:m,context:y}=a;function b(q){return K2e.default.isRef(q)?q.getValue(n,m,y):q}function v(q={}){let $=(0,U2e.default)(w0({value:n,originalValue:l,label:o,path:q.path||s},h,q.params),b),z=new y0.default(y0.default.formatError(q.message||p,$),n,$.path,q.type||g);return z.params=$,z}let k=w0({path:s,parent:m,type:g,createError:v,resolve:b,options:a,originalValue:l},u);if(!c){try{Promise.resolve(f.call(k,n,k)).then(q=>{y0.default.isError(q)?i(q):q?i(null,q):i(v())})}catch(q){i(q)}return}let T;try{var Y;if(T=f.call(k,n,k),typeof((Y=T)==null?void 0:Y.then)==\"function\")throw new Error(`Validation test of type: \"${k.type}\" returned a Promise during a synchronous validate. This test will finish after the validate call has returned`)}catch(q){i(q);return}y0.default.isError(T)?i(T):T?i(null,T):i(v())}return e.OPTIONS=r,e}});var SF=w(FC=>{\"use strict\";Object.defineProperty(FC,\"__esModule\",{value:!0});FC.getIn=Wee;FC.default=void 0;var j2e=DC(),G2e=r=>r.substr(0,r.length-1).substr(1);function Wee(r,e,t,i=t){let n,s,o;return e?((0,j2e.forEach)(e,(a,l,c)=>{let u=l?G2e(a):a;if(r=r.resolve({context:i,parent:n,value:t}),r.innerType){let g=c?parseInt(u,10):0;if(t&&g>=t.length)throw new Error(`Yup.reach cannot resolve an array item at index: ${a}, in the path: ${e}. because there is no value at that index. `);n=t,t=t&&t[g],r=r.innerType}if(!c){if(!r.fields||!r.fields[u])throw new Error(`The schema does not contain the path: ${e}. (failed at: ${o} which is a type: \"${r._type}\")`);n=t,t=t&&t[u],r=r.fields[u]}s=u,o=l?\"[\"+a+\"]\":\".\"+a}),{schema:r,parent:n,parentPath:s}):{parent:n,parentPath:e,schema:r}}var Y2e=(r,e,t,i)=>Wee(r,e,t,i).schema,q2e=Y2e;FC.default=q2e});var _ee=w(B0=>{\"use strict\";Object.defineProperty(B0,\"__esModule\",{value:!0});B0.default=void 0;var zee=J2e(Cu());function J2e(r){return r&&r.__esModule?r:{default:r}}var b0=class{constructor(){this.list=new Set,this.refs=new Map}get size(){return this.list.size+this.refs.size}describe(){let e=[];for(let t of this.list)e.push(t);for(let[,t]of this.refs)e.push(t.describe());return e}toArray(){return Array.from(this.list).concat(Array.from(this.refs.values()))}add(e){zee.default.isRef(e)?this.refs.set(e.key,e):this.list.add(e)}delete(e){zee.default.isRef(e)?this.refs.delete(e.key):this.list.delete(e)}has(e,t){if(this.list.has(e))return!0;let i,n=this.refs.values();for(;i=n.next(),!i.done;)if(t(i.value)===e)return!0;return!1}clone(){let e=new b0;return e.list=new Set(this.list),e.refs=new Map(this.refs),e}merge(e,t){let i=this.clone();return e.list.forEach(n=>i.add(n)),e.refs.forEach(n=>i.add(n)),t.list.forEach(n=>i.delete(n)),t.refs.forEach(n=>i.delete(n)),i}};B0.default=b0});var IA=w(Q0=>{\"use strict\";Object.defineProperty(Q0,\"__esModule\",{value:!0});Q0.default=void 0;var Vee=EA(mZ()),Gf=mA(),W2e=EA(FZ()),Xee=EA(c0()),S0=EA(Jee()),Zee=EA(yC()),z2e=EA(Cu()),_2e=SF(),V2e=EA(zR()),$ee=EA(hu()),ete=EA(_ee());function EA(r){return r&&r.__esModule?r:{default:r}}function zs(){return zs=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(r[i]=t[i])}return r},zs.apply(this,arguments)}var ga=class{constructor(e){this.deps=[],this.conditions=[],this._whitelist=new ete.default,this._blacklist=new ete.default,this.exclusiveTests=Object.create(null),this.tests=[],this.transforms=[],this.withMutation(()=>{this.typeError(Gf.mixed.notType)}),this.type=(e==null?void 0:e.type)||\"mixed\",this.spec=zs({strip:!1,strict:!1,abortEarly:!0,recursive:!0,nullable:!1,presence:\"optional\"},e==null?void 0:e.spec)}get _type(){return this.type}_typeCheck(e){return!0}clone(e){if(this._mutate)return e&&Object.assign(this.spec,e),this;let t=Object.create(Object.getPrototypeOf(this));return t.type=this.type,t._typeError=this._typeError,t._whitelistError=this._whitelistError,t._blacklistError=this._blacklistError,t._whitelist=this._whitelist.clone(),t._blacklist=this._blacklist.clone(),t.exclusiveTests=zs({},this.exclusiveTests),t.deps=[...this.deps],t.conditions=[...this.conditions],t.tests=[...this.tests],t.transforms=[...this.transforms],t.spec=(0,Vee.default)(zs({},this.spec,e)),t}label(e){var t=this.clone();return t.spec.label=e,t}meta(...e){if(e.length===0)return this.spec.meta;let t=this.clone();return t.spec.meta=Object.assign(t.spec.meta||{},e[0]),t}withMutation(e){let t=this._mutate;this._mutate=!0;let i=e(this);return this._mutate=t,i}concat(e){if(!e||e===this)return this;if(e.type!==this.type&&this.type!==\"mixed\")throw new TypeError(`You cannot \\`concat()\\` schema's of different types: ${this.type} and ${e.type}`);let t=this,i=e.clone(),n=zs({},t.spec,i.spec);return i.spec=n,i._typeError||(i._typeError=t._typeError),i._whitelistError||(i._whitelistError=t._whitelistError),i._blacklistError||(i._blacklistError=t._blacklistError),i._whitelist=t._whitelist.merge(e._whitelist,e._blacklist),i._blacklist=t._blacklist.merge(e._blacklist,e._whitelist),i.tests=t.tests,i.exclusiveTests=t.exclusiveTests,i.withMutation(s=>{e.tests.forEach(o=>{s.test(o.OPTIONS)})}),i}isType(e){return this.spec.nullable&&e===null?!0:this._typeCheck(e)}resolve(e){let t=this;if(t.conditions.length){let i=t.conditions;t=t.clone(),t.conditions=[],t=i.reduce((n,s)=>s.resolve(n,e),t),t=t.resolve(e)}return t}cast(e,t={}){let i=this.resolve(zs({value:e},t)),n=i._cast(e,t);if(e!==void 0&&t.assert!==!1&&i.isType(n)!==!0){let s=(0,Zee.default)(e),o=(0,Zee.default)(n);throw new TypeError(`The value of ${t.path||\"field\"} could not be cast to a value that satisfies the schema type: \"${i._type}\". \n\nattempted value: ${s} \n`+(o!==s?`result of cast: ${o}`:\"\"))}return n}_cast(e,t){let i=e===void 0?e:this.transforms.reduce((n,s)=>s.call(this,n,e,this),e);return i===void 0&&(i=this.getDefault()),i}_validate(e,t={},i){let{sync:n,path:s,from:o=[],originalValue:a=e,strict:l=this.spec.strict,abortEarly:c=this.spec.abortEarly}=t,u=e;l||(u=this._cast(u,zs({assert:!1},t)));let g={value:u,path:s,options:t,originalValue:a,schema:this,label:this.spec.label,sync:n,from:o},f=[];this._typeError&&f.push(this._typeError),this._whitelistError&&f.push(this._whitelistError),this._blacklistError&&f.push(this._blacklistError),(0,Xee.default)({args:g,value:u,path:s,sync:n,tests:f,endEarly:c},h=>{if(h)return void i(h,u);(0,Xee.default)({tests:this.tests,args:g,path:s,sync:n,value:u,endEarly:c},i)})}validate(e,t,i){let n=this.resolve(zs({},t,{value:e}));return typeof i==\"function\"?n._validate(e,t,i):new Promise((s,o)=>n._validate(e,t,(a,l)=>{a?o(a):s(l)}))}validateSync(e,t){let i=this.resolve(zs({},t,{value:e})),n;return i._validate(e,zs({},t,{sync:!0}),(s,o)=>{if(s)throw s;n=o}),n}isValid(e,t){return this.validate(e,t).then(()=>!0,i=>{if($ee.default.isError(i))return!1;throw i})}isValidSync(e,t){try{return this.validateSync(e,t),!0}catch(i){if($ee.default.isError(i))return!1;throw i}}_getDefault(){let e=this.spec.default;return e==null?e:typeof e==\"function\"?e.call(this):(0,Vee.default)(e)}getDefault(e){return this.resolve(e||{})._getDefault()}default(e){return arguments.length===0?this._getDefault():this.clone({default:e})}strict(e=!0){var t=this.clone();return t.spec.strict=e,t}_isPresent(e){return e!=null}defined(e=Gf.mixed.defined){return this.test({message:e,name:\"defined\",exclusive:!0,test(t){return t!==void 0}})}required(e=Gf.mixed.required){return this.clone({presence:\"required\"}).withMutation(t=>t.test({message:e,name:\"required\",exclusive:!0,test(i){return this.schema._isPresent(i)}}))}notRequired(){var e=this.clone({presence:\"optional\"});return e.tests=e.tests.filter(t=>t.OPTIONS.name!==\"required\"),e}nullable(e=!0){var t=this.clone({nullable:e!==!1});return t}transform(e){var t=this.clone();return t.transforms.push(e),t}test(...e){let t;if(e.length===1?typeof e[0]==\"function\"?t={test:e[0]}:t=e[0]:e.length===2?t={name:e[0],test:e[1]}:t={name:e[0],message:e[1],test:e[2]},t.message===void 0&&(t.message=Gf.mixed.default),typeof t.test!=\"function\")throw new TypeError(\"`test` is a required parameters\");let i=this.clone(),n=(0,S0.default)(t),s=t.exclusive||t.name&&i.exclusiveTests[t.name]===!0;if(t.exclusive&&!t.name)throw new TypeError(\"Exclusive tests must provide a unique `name` identifying the test\");return t.name&&(i.exclusiveTests[t.name]=!!t.exclusive),i.tests=i.tests.filter(o=>!(o.OPTIONS.name===t.name&&(s||o.OPTIONS.test===n.OPTIONS.test))),i.tests.push(n),i}when(e,t){!Array.isArray(e)&&typeof e!=\"string\"&&(t=e,e=\".\");let i=this.clone(),n=(0,V2e.default)(e).map(s=>new z2e.default(s));return n.forEach(s=>{s.isSibling&&i.deps.push(s.key)}),i.conditions.push(new W2e.default(n,t)),i}typeError(e){var t=this.clone();return t._typeError=(0,S0.default)({message:e,name:\"typeError\",test(i){return i!==void 0&&!this.schema.isType(i)?this.createError({params:{type:this.schema._type}}):!0}}),t}oneOf(e,t=Gf.mixed.oneOf){var i=this.clone();return e.forEach(n=>{i._whitelist.add(n),i._blacklist.delete(n)}),i._whitelistError=(0,S0.default)({message:t,name:\"oneOf\",test(n){if(n===void 0)return!0;let s=this.schema._whitelist;return s.has(n,this.resolve)?!0:this.createError({params:{values:s.toArray().join(\", \")}})}}),i}notOneOf(e,t=Gf.mixed.notOneOf){var i=this.clone();return e.forEach(n=>{i._blacklist.add(n),i._whitelist.delete(n)}),i._blacklistError=(0,S0.default)({message:t,name:\"notOneOf\",test(n){let s=this.schema._blacklist;return s.has(n,this.resolve)?this.createError({params:{values:s.toArray().join(\", \")}}):!0}}),i}strip(e=!0){let t=this.clone();return t.spec.strip=e,t}describe(){let e=this.clone(),{label:t,meta:i}=e.spec;return{meta:i,label:t,type:e.type,oneOf:e._whitelist.describe(),notOneOf:e._blacklist.describe(),tests:e.tests.map(s=>({name:s.OPTIONS.name,params:s.OPTIONS.params})).filter((s,o,a)=>a.findIndex(l=>l.name===s.name)===o)}}};Q0.default=ga;ga.prototype.__isYupSchema__=!0;for(let r of[\"validate\",\"validateSync\"])ga.prototype[`${r}At`]=function(e,t,i={}){let{parent:n,parentPath:s,schema:o}=(0,_2e.getIn)(this,e,t,i.context);return o[r](n&&n[s],zs({},i,{parent:n,path:e}))};for(let r of[\"equals\",\"is\"])ga.prototype[r]=ga.prototype.oneOf;for(let r of[\"not\",\"nope\"])ga.prototype[r]=ga.prototype.notOneOf;ga.prototype.optional=ga.prototype.notRequired});var rte=w(NC=>{\"use strict\";Object.defineProperty(NC,\"__esModule\",{value:!0});NC.create=tte;NC.default=void 0;var Z2e=X2e(IA());function X2e(r){return r&&r.__esModule?r:{default:r}}var vF=Z2e.default,$2e=vF;NC.default=$2e;function tte(){return new vF}tte.prototype=vF.prototype});var Yf=w(v0=>{\"use strict\";Object.defineProperty(v0,\"__esModule\",{value:!0});v0.default=void 0;var eHe=r=>r==null;v0.default=eHe});var ate=w(LC=>{\"use strict\";Object.defineProperty(LC,\"__esModule\",{value:!0});LC.create=ite;LC.default=void 0;var tHe=nte(IA()),ste=mA(),ote=nte(Yf());function nte(r){return r&&r.__esModule?r:{default:r}}function ite(){return new k0}var k0=class extends tHe.default{constructor(){super({type:\"boolean\"});this.withMutation(()=>{this.transform(function(e){if(!this.isType(e)){if(/^(true|1)$/i.test(String(e)))return!0;if(/^(false|0)$/i.test(String(e)))return!1}return e})})}_typeCheck(e){return e instanceof Boolean&&(e=e.valueOf()),typeof e==\"boolean\"}isTrue(e=ste.boolean.isValue){return this.test({message:e,name:\"is-value\",exclusive:!0,params:{value:\"true\"},test(t){return(0,ote.default)(t)||t===!0}})}isFalse(e=ste.boolean.isValue){return this.test({message:e,name:\"is-value\",exclusive:!0,params:{value:\"false\"},test(t){return(0,ote.default)(t)||t===!1}})}};LC.default=k0;ite.prototype=k0.prototype});var cte=w(TC=>{\"use strict\";Object.defineProperty(TC,\"__esModule\",{value:!0});TC.create=Ate;TC.default=void 0;var fa=mA(),yA=lte(Yf()),rHe=lte(IA());function lte(r){return r&&r.__esModule?r:{default:r}}var iHe=/^((([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+(\\.([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+)*)|((\\x22)((((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(([\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]|\\x21|[\\x23-\\x5b]|[\\x5d-\\x7e]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(\\\\([\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]))))*(((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(\\x22)))@((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))$/i,nHe=/^((https?|ftp):)?\\/\\/(((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:)*@)?(((\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5]))|((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.?)(:\\d*)?)(\\/((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)+(\\/(([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)*)*)?)?(\\?((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)|[\\uE000-\\uF8FF]|\\/|\\?)*)?(\\#((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)|\\/|\\?)*)?$/i,sHe=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,oHe=r=>(0,yA.default)(r)||r===r.trim(),aHe={}.toString();function Ate(){return new x0}var x0=class extends rHe.default{constructor(){super({type:\"string\"});this.withMutation(()=>{this.transform(function(e){if(this.isType(e)||Array.isArray(e))return e;let t=e!=null&&e.toString?e.toString():e;return t===aHe?e:t})})}_typeCheck(e){return e instanceof String&&(e=e.valueOf()),typeof e==\"string\"}_isPresent(e){return super._isPresent(e)&&!!e.length}length(e,t=fa.string.length){return this.test({message:t,name:\"length\",exclusive:!0,params:{length:e},test(i){return(0,yA.default)(i)||i.length===this.resolve(e)}})}min(e,t=fa.string.min){return this.test({message:t,name:\"min\",exclusive:!0,params:{min:e},test(i){return(0,yA.default)(i)||i.length>=this.resolve(e)}})}max(e,t=fa.string.max){return this.test({name:\"max\",exclusive:!0,message:t,params:{max:e},test(i){return(0,yA.default)(i)||i.length<=this.resolve(e)}})}matches(e,t){let i=!1,n,s;return t&&(typeof t==\"object\"?{excludeEmptyString:i=!1,message:n,name:s}=t:n=t),this.test({name:s||\"matches\",message:n||fa.string.matches,params:{regex:e},test:o=>(0,yA.default)(o)||o===\"\"&&i||o.search(e)!==-1})}email(e=fa.string.email){return this.matches(iHe,{name:\"email\",message:e,excludeEmptyString:!0})}url(e=fa.string.url){return this.matches(nHe,{name:\"url\",message:e,excludeEmptyString:!0})}uuid(e=fa.string.uuid){return this.matches(sHe,{name:\"uuid\",message:e,excludeEmptyString:!1})}ensure(){return this.default(\"\").transform(e=>e===null?\"\":e)}trim(e=fa.string.trim){return this.transform(t=>t!=null?t.trim():t).test({message:e,name:\"trim\",test:oHe})}lowercase(e=fa.string.lowercase){return this.transform(t=>(0,yA.default)(t)?t:t.toLowerCase()).test({message:e,name:\"string_case\",exclusive:!0,test:t=>(0,yA.default)(t)||t===t.toLowerCase()})}uppercase(e=fa.string.uppercase){return this.transform(t=>(0,yA.default)(t)?t:t.toUpperCase()).test({message:e,name:\"string_case\",exclusive:!0,test:t=>(0,yA.default)(t)||t===t.toUpperCase()})}};TC.default=x0;Ate.prototype=x0.prototype});var fte=w(OC=>{\"use strict\";Object.defineProperty(OC,\"__esModule\",{value:!0});OC.create=ute;OC.default=void 0;var mu=mA(),Eu=gte(Yf()),AHe=gte(IA());function gte(r){return r&&r.__esModule?r:{default:r}}var lHe=r=>r!=+r;function ute(){return new P0}var P0=class extends AHe.default{constructor(){super({type:\"number\"});this.withMutation(()=>{this.transform(function(e){let t=e;if(typeof t==\"string\"){if(t=t.replace(/\\s/g,\"\"),t===\"\")return NaN;t=+t}return this.isType(t)?t:parseFloat(t)})})}_typeCheck(e){return e instanceof Number&&(e=e.valueOf()),typeof e==\"number\"&&!lHe(e)}min(e,t=mu.number.min){return this.test({message:t,name:\"min\",exclusive:!0,params:{min:e},test(i){return(0,Eu.default)(i)||i>=this.resolve(e)}})}max(e,t=mu.number.max){return this.test({message:t,name:\"max\",exclusive:!0,params:{max:e},test(i){return(0,Eu.default)(i)||i<=this.resolve(e)}})}lessThan(e,t=mu.number.lessThan){return this.test({message:t,name:\"max\",exclusive:!0,params:{less:e},test(i){return(0,Eu.default)(i)||i<this.resolve(e)}})}moreThan(e,t=mu.number.moreThan){return this.test({message:t,name:\"min\",exclusive:!0,params:{more:e},test(i){return(0,Eu.default)(i)||i>this.resolve(e)}})}positive(e=mu.number.positive){return this.moreThan(0,e)}negative(e=mu.number.negative){return this.lessThan(0,e)}integer(e=mu.number.integer){return this.test({name:\"integer\",message:e,test:t=>(0,Eu.default)(t)||Number.isInteger(t)})}truncate(){return this.transform(e=>(0,Eu.default)(e)?e:e|0)}round(e){var t,i=[\"ceil\",\"floor\",\"round\",\"trunc\"];if(e=((t=e)==null?void 0:t.toLowerCase())||\"round\",e===\"trunc\")return this.truncate();if(i.indexOf(e.toLowerCase())===-1)throw new TypeError(\"Only valid options for round() are: \"+i.join(\", \"));return this.transform(n=>(0,Eu.default)(n)?n:Math[e](n))}};OC.default=P0;ute.prototype=P0.prototype});var hte=w(kF=>{\"use strict\";Object.defineProperty(kF,\"__esModule\",{value:!0});kF.default=cHe;var uHe=/^(\\d{4}|[+\\-]\\d{6})(?:-?(\\d{2})(?:-?(\\d{2}))?)?(?:[ T]?(\\d{2}):?(\\d{2})(?::?(\\d{2})(?:[,\\.](\\d{1,}))?)?(?:(Z)|([+\\-])(\\d{2})(?::?(\\d{2}))?)?)?$/;function cHe(r){var e=[1,4,5,6,7,10,11],t=0,i,n;if(n=uHe.exec(r)){for(var s=0,o;o=e[s];++s)n[o]=+n[o]||0;n[2]=(+n[2]||1)-1,n[3]=+n[3]||1,n[7]=n[7]?String(n[7]).substr(0,3):0,(n[8]===void 0||n[8]===\"\")&&(n[9]===void 0||n[9]===\"\")?i=+new Date(n[1],n[2],n[3],n[4],n[5],n[6],n[7]):(n[8]!==\"Z\"&&n[9]!==void 0&&(t=n[10]*60+n[11],n[9]===\"+\"&&(t=0-t)),i=Date.UTC(n[1],n[2],n[3],n[4],n[5]+t,n[6],n[7]))}else i=Date.parse?Date.parse(r):NaN;return i}});var Cte=w(MC=>{\"use strict\";Object.defineProperty(MC,\"__esModule\",{value:!0});MC.create=xF;MC.default=void 0;var gHe=D0(hte()),pte=mA(),dte=D0(Yf()),fHe=D0(Cu()),hHe=D0(IA());function D0(r){return r&&r.__esModule?r:{default:r}}var PF=new Date(\"\"),pHe=r=>Object.prototype.toString.call(r)===\"[object Date]\";function xF(){return new UC}var UC=class extends hHe.default{constructor(){super({type:\"date\"});this.withMutation(()=>{this.transform(function(e){return this.isType(e)?e:(e=(0,gHe.default)(e),isNaN(e)?PF:new Date(e))})})}_typeCheck(e){return pHe(e)&&!isNaN(e.getTime())}prepareParam(e,t){let i;if(fHe.default.isRef(e))i=e;else{let n=this.cast(e);if(!this._typeCheck(n))throw new TypeError(`\\`${t}\\` must be a Date or a value that can be \\`cast()\\` to a Date`);i=n}return i}min(e,t=pte.date.min){let i=this.prepareParam(e,\"min\");return this.test({message:t,name:\"min\",exclusive:!0,params:{min:e},test(n){return(0,dte.default)(n)||n>=this.resolve(i)}})}max(e,t=pte.date.max){var i=this.prepareParam(e,\"max\");return this.test({message:t,name:\"max\",exclusive:!0,params:{max:e},test(n){return(0,dte.default)(n)||n<=this.resolve(i)}})}};MC.default=UC;UC.INVALID_DATE=PF;xF.prototype=UC.prototype;xF.INVALID_DATE=PF});var Ete=w((Mgt,mte)=>{function dHe(r,e,t,i){var n=-1,s=r==null?0:r.length;for(i&&s&&(t=r[++n]);++n<s;)t=e(t,r[n],n,r);return t}mte.exports=dHe});var yte=w((Ugt,Ite)=>{function CHe(r){return function(e){return r==null?void 0:r[e]}}Ite.exports=CHe});var Bte=w((Kgt,wte)=>{var mHe=yte(),EHe={\\u00C0:\"A\",\\u00C1:\"A\",\\u00C2:\"A\",\\u00C3:\"A\",\\u00C4:\"A\",\\u00C5:\"A\",\\u00E0:\"a\",\\u00E1:\"a\",\\u00E2:\"a\",\\u00E3:\"a\",\\u00E4:\"a\",\\u00E5:\"a\",\\u00C7:\"C\",\\u00E7:\"c\",\\u00D0:\"D\",\\u00F0:\"d\",\\u00C8:\"E\",\\u00C9:\"E\",\\u00CA:\"E\",\\u00CB:\"E\",\\u00E8:\"e\",\\u00E9:\"e\",\\u00EA:\"e\",\\u00EB:\"e\",\\u00CC:\"I\",\\u00CD:\"I\",\\u00CE:\"I\",\\u00CF:\"I\",\\u00EC:\"i\",\\u00ED:\"i\",\\u00EE:\"i\",\\u00EF:\"i\",\\u00D1:\"N\",\\u00F1:\"n\",\\u00D2:\"O\",\\u00D3:\"O\",\\u00D4:\"O\",\\u00D5:\"O\",\\u00D6:\"O\",\\u00D8:\"O\",\\u00F2:\"o\",\\u00F3:\"o\",\\u00F4:\"o\",\\u00F5:\"o\",\\u00F6:\"o\",\\u00F8:\"o\",\\u00D9:\"U\",\\u00DA:\"U\",\\u00DB:\"U\",\\u00DC:\"U\",\\u00F9:\"u\",\\u00FA:\"u\",\\u00FB:\"u\",\\u00FC:\"u\",\\u00DD:\"Y\",\\u00FD:\"y\",\\u00FF:\"y\",\\u00C6:\"Ae\",\\u00E6:\"ae\",\\u00DE:\"Th\",\\u00FE:\"th\",\\u00DF:\"ss\",\\u0100:\"A\",\\u0102:\"A\",\\u0104:\"A\",\\u0101:\"a\",\\u0103:\"a\",\\u0105:\"a\",\\u0106:\"C\",\\u0108:\"C\",\\u010A:\"C\",\\u010C:\"C\",\\u0107:\"c\",\\u0109:\"c\",\\u010B:\"c\",\\u010D:\"c\",\\u010E:\"D\",\\u0110:\"D\",\\u010F:\"d\",\\u0111:\"d\",\\u0112:\"E\",\\u0114:\"E\",\\u0116:\"E\",\\u0118:\"E\",\\u011A:\"E\",\\u0113:\"e\",\\u0115:\"e\",\\u0117:\"e\",\\u0119:\"e\",\\u011B:\"e\",\\u011C:\"G\",\\u011E:\"G\",\\u0120:\"G\",\\u0122:\"G\",\\u011D:\"g\",\\u011F:\"g\",\\u0121:\"g\",\\u0123:\"g\",\\u0124:\"H\",\\u0126:\"H\",\\u0125:\"h\",\\u0127:\"h\",\\u0128:\"I\",\\u012A:\"I\",\\u012C:\"I\",\\u012E:\"I\",\\u0130:\"I\",\\u0129:\"i\",\\u012B:\"i\",\\u012D:\"i\",\\u012F:\"i\",\\u0131:\"i\",\\u0134:\"J\",\\u0135:\"j\",\\u0136:\"K\",\\u0137:\"k\",\\u0138:\"k\",\\u0139:\"L\",\\u013B:\"L\",\\u013D:\"L\",\\u013F:\"L\",\\u0141:\"L\",\\u013A:\"l\",\\u013C:\"l\",\\u013E:\"l\",\\u0140:\"l\",\\u0142:\"l\",\\u0143:\"N\",\\u0145:\"N\",\\u0147:\"N\",\\u014A:\"N\",\\u0144:\"n\",\\u0146:\"n\",\\u0148:\"n\",\\u014B:\"n\",\\u014C:\"O\",\\u014E:\"O\",\\u0150:\"O\",\\u014D:\"o\",\\u014F:\"o\",\\u0151:\"o\",\\u0154:\"R\",\\u0156:\"R\",\\u0158:\"R\",\\u0155:\"r\",\\u0157:\"r\",\\u0159:\"r\",\\u015A:\"S\",\\u015C:\"S\",\\u015E:\"S\",\\u0160:\"S\",\\u015B:\"s\",\\u015D:\"s\",\\u015F:\"s\",\\u0161:\"s\",\\u0162:\"T\",\\u0164:\"T\",\\u0166:\"T\",\\u0163:\"t\",\\u0165:\"t\",\\u0167:\"t\",\\u0168:\"U\",\\u016A:\"U\",\\u016C:\"U\",\\u016E:\"U\",\\u0170:\"U\",\\u0172:\"U\",\\u0169:\"u\",\\u016B:\"u\",\\u016D:\"u\",\\u016F:\"u\",\\u0171:\"u\",\\u0173:\"u\",\\u0174:\"W\",\\u0175:\"w\",\\u0176:\"Y\",\\u0177:\"y\",\\u0178:\"Y\",\\u0179:\"Z\",\\u017B:\"Z\",\\u017D:\"Z\",\\u017A:\"z\",\\u017C:\"z\",\\u017E:\"z\",\\u0132:\"IJ\",\\u0133:\"ij\",\\u0152:\"Oe\",\\u0153:\"oe\",\\u0149:\"'n\",\\u017F:\"s\"},IHe=mHe(EHe);wte.exports=IHe});var Qte=w((Hgt,bte)=>{var yHe=Bte(),wHe=cf(),BHe=/[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g,bHe=\"\\\\u0300-\\\\u036f\",QHe=\"\\\\ufe20-\\\\ufe2f\",SHe=\"\\\\u20d0-\\\\u20ff\",vHe=bHe+QHe+SHe,kHe=\"[\"+vHe+\"]\",xHe=RegExp(kHe,\"g\");function PHe(r){return r=wHe(r),r&&r.replace(BHe,yHe).replace(xHe,\"\")}bte.exports=PHe});var vte=w((jgt,Ste)=>{var DHe=/[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g;function RHe(r){return r.match(DHe)||[]}Ste.exports=RHe});var xte=w((Ggt,kte)=>{var FHe=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;function NHe(r){return FHe.test(r)}kte.exports=NHe});var zte=w((Ygt,Pte)=>{var Dte=\"\\\\ud800-\\\\udfff\",LHe=\"\\\\u0300-\\\\u036f\",THe=\"\\\\ufe20-\\\\ufe2f\",OHe=\"\\\\u20d0-\\\\u20ff\",MHe=LHe+THe+OHe,Rte=\"\\\\u2700-\\\\u27bf\",Fte=\"a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff\",UHe=\"\\\\xac\\\\xb1\\\\xd7\\\\xf7\",KHe=\"\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf\",HHe=\"\\\\u2000-\\\\u206f\",jHe=\" \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000\",Nte=\"A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde\",GHe=\"\\\\ufe0e\\\\ufe0f\",Lte=UHe+KHe+HHe+jHe,Tte=\"['\\u2019]\",Ote=\"[\"+Lte+\"]\",YHe=\"[\"+MHe+\"]\",Mte=\"\\\\d+\",qHe=\"[\"+Rte+\"]\",Ute=\"[\"+Fte+\"]\",Kte=\"[^\"+Dte+Lte+Mte+Rte+Fte+Nte+\"]\",JHe=\"\\\\ud83c[\\\\udffb-\\\\udfff]\",WHe=\"(?:\"+YHe+\"|\"+JHe+\")\",zHe=\"[^\"+Dte+\"]\",Hte=\"(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}\",jte=\"[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]\",qf=\"[\"+Nte+\"]\",_He=\"\\\\u200d\",Gte=\"(?:\"+Ute+\"|\"+Kte+\")\",VHe=\"(?:\"+qf+\"|\"+Kte+\")\",Yte=\"(?:\"+Tte+\"(?:d|ll|m|re|s|t|ve))?\",qte=\"(?:\"+Tte+\"(?:D|LL|M|RE|S|T|VE))?\",Jte=WHe+\"?\",Wte=\"[\"+GHe+\"]?\",XHe=\"(?:\"+_He+\"(?:\"+[zHe,Hte,jte].join(\"|\")+\")\"+Wte+Jte+\")*\",ZHe=\"\\\\d*(?:1st|2nd|3rd|(?![123])\\\\dth)(?=\\\\b|[A-Z_])\",$He=\"\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\dTH)(?=\\\\b|[a-z_])\",eje=Wte+Jte+XHe,tje=\"(?:\"+[qHe,Hte,jte].join(\"|\")+\")\"+eje,rje=RegExp([qf+\"?\"+Ute+\"+\"+Yte+\"(?=\"+[Ote,qf,\"$\"].join(\"|\")+\")\",VHe+\"+\"+qte+\"(?=\"+[Ote,qf+Gte,\"$\"].join(\"|\")+\")\",qf+\"?\"+Gte+\"+\"+Yte,qf+\"+\"+qte,$He,ZHe,Mte,tje].join(\"|\"),\"g\");function ije(r){return r.match(rje)||[]}Pte.exports=ije});var Vte=w((qgt,_te)=>{var nje=vte(),sje=xte(),oje=cf(),aje=zte();function Aje(r,e,t){return r=oje(r),e=t?void 0:e,e===void 0?sje(r)?aje(r):nje(r):r.match(e)||[]}_te.exports=Aje});var DF=w((Jgt,Xte)=>{var lje=Ete(),cje=Qte(),uje=Vte(),gje=\"['\\u2019]\",fje=RegExp(gje,\"g\");function hje(r){return function(e){return lje(uje(cje(e).replace(fje,\"\")),r,\"\")}}Xte.exports=hje});var $te=w((Wgt,Zte)=>{var pje=DF(),dje=pje(function(r,e,t){return r+(t?\"_\":\"\")+e.toLowerCase()});Zte.exports=dje});var tre=w((zgt,ere)=>{var Cje=$w(),mje=DF(),Eje=mje(function(r,e,t){return e=e.toLowerCase(),r+(t?Cje(e):e)});ere.exports=Eje});var ire=w((_gt,rre)=>{var Ije=Lf(),yje=rF(),wje=mF();function Bje(r,e){var t={};return e=wje(e,3),yje(r,function(i,n,s){Ije(t,e(i,n,s),i)}),t}rre.exports=Bje});var sre=w((Vgt,RF)=>{RF.exports=function(r){return nre(bje(r),r)};RF.exports.array=nre;function nre(r,e){var t=r.length,i=new Array(t),n={},s=t,o=Qje(e),a=Sje(r);for(e.forEach(function(c){if(!a.has(c[0])||!a.has(c[1]))throw new Error(\"Unknown node. There is an unknown node in the supplied edges.\")});s--;)n[s]||l(r[s],s,new Set);return i;function l(c,u,g){if(g.has(c)){var f;try{f=\", node was:\"+JSON.stringify(c)}catch(m){f=\"\"}throw new Error(\"Cyclic dependency\"+f)}if(!a.has(c))throw new Error(\"Found unknown node. Make sure to provided all involved nodes. Unknown node: \"+JSON.stringify(c));if(!n[u]){n[u]=!0;var h=o.get(c)||new Set;if(h=Array.from(h),u=h.length){g.add(c);do{var p=h[--u];l(p,a.get(p),g)}while(u);g.delete(c)}i[--t]=c}}}function bje(r){for(var e=new Set,t=0,i=r.length;t<i;t++){var n=r[t];e.add(n[0]),e.add(n[1])}return Array.from(e)}function Qje(r){for(var e=new Map,t=0,i=r.length;t<i;t++){var n=r[t];e.has(n[0])||e.set(n[0],new Set),e.has(n[1])||e.set(n[1],new Set),e.get(n[0]).add(n[1])}return e}function Sje(r){for(var e=new Map,t=0,i=r.length;t<i;t++)e.set(r[t],t);return e}});var ore=w(FF=>{\"use strict\";Object.defineProperty(FF,\"__esModule\",{value:!0});FF.default=vje;var kje=R0(wC()),xje=R0(sre()),Pje=DC(),Dje=R0(Cu()),Rje=R0(Of());function R0(r){return r&&r.__esModule?r:{default:r}}function vje(r,e=[]){let t=[],i=[];function n(s,o){var a=(0,Pje.split)(s)[0];~i.indexOf(a)||i.push(a),~e.indexOf(`${o}-${a}`)||t.push([o,a])}for(let s in r)if((0,kje.default)(r,s)){let o=r[s];~i.indexOf(s)||i.push(s),Dje.default.isRef(o)&&o.isSibling?n(o.path,s):(0,Rje.default)(o)&&\"deps\"in o&&o.deps.forEach(a=>n(a,s))}return xje.default.array(i,t).reverse()}});var Are=w(NF=>{\"use strict\";Object.defineProperty(NF,\"__esModule\",{value:!0});NF.default=Fje;function are(r,e){let t=Infinity;return r.some((i,n)=>{var s;if(((s=e.path)==null?void 0:s.indexOf(i))!==-1)return t=n,!0}),t}function Fje(r){return(e,t)=>are(r,e)-are(r,t)}});var pre=w(KC=>{\"use strict\";Object.defineProperty(KC,\"__esModule\",{value:!0});KC.create=lre;KC.default=void 0;var cre=ha(wC()),ure=ha($te()),Nje=ha(tre()),Lje=ha(ire()),Tje=ha(EF()),Oje=DC(),gre=mA(),Mje=ha(ore()),fre=ha(Are()),Uje=ha(c0()),Kje=ha(hu()),LF=ha(IA());function ha(r){return r&&r.__esModule?r:{default:r}}function Jf(){return Jf=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(r[i]=t[i])}return r},Jf.apply(this,arguments)}var hre=r=>Object.prototype.toString.call(r)===\"[object Object]\";function Hje(r,e){let t=Object.keys(r.fields);return Object.keys(e).filter(i=>t.indexOf(i)===-1)}var jje=(0,fre.default)([]),F0=class extends LF.default{constructor(e){super({type:\"object\"});this.fields=Object.create(null),this._sortErrors=jje,this._nodes=[],this._excludedEdges=[],this.withMutation(()=>{this.transform(function(i){if(typeof i==\"string\")try{i=JSON.parse(i)}catch(n){i=null}return this.isType(i)?i:null}),e&&this.shape(e)})}_typeCheck(e){return hre(e)||typeof e==\"function\"}_cast(e,t={}){var i;let n=super._cast(e,t);if(n===void 0)return this.getDefault();if(!this._typeCheck(n))return n;let s=this.fields,o=(i=t.stripUnknown)!=null?i:this.spec.noUnknown,a=this._nodes.concat(Object.keys(n).filter(g=>this._nodes.indexOf(g)===-1)),l={},c=Jf({},t,{parent:l,__validating:t.__validating||!1}),u=!1;for(let g of a){let f=s[g],h=(0,cre.default)(n,g);if(f){let p,m=n[g];c.path=(t.path?`${t.path}.`:\"\")+g,f=f.resolve({value:m,context:t.context,parent:l});let y=\"spec\"in f?f.spec:void 0,b=y==null?void 0:y.strict;if(y==null?void 0:y.strip){u=u||g in n;continue}p=!t.__validating||!b?f.cast(n[g],c):n[g],p!==void 0&&(l[g]=p)}else h&&!o&&(l[g]=n[g]);l[g]!==n[g]&&(u=!0)}return u?l:n}_validate(e,t={},i){let n=[],{sync:s,from:o=[],originalValue:a=e,abortEarly:l=this.spec.abortEarly,recursive:c=this.spec.recursive}=t;o=[{schema:this,value:a},...o],t.__validating=!0,t.originalValue=a,t.from=o,super._validate(e,t,(u,g)=>{if(u){if(!Kje.default.isError(u)||l)return void i(u,g);n.push(u)}if(!c||!hre(g)){i(n[0]||null,g);return}a=a||g;let f=this._nodes.map(h=>(p,m)=>{let y=h.indexOf(\".\")===-1?(t.path?`${t.path}.`:\"\")+h:`${t.path||\"\"}[\"${h}\"]`,b=this.fields[h];if(b&&\"validate\"in b){b.validate(g[h],Jf({},t,{path:y,from:o,strict:!0,parent:g,originalValue:a[h]}),m);return}m(null)});(0,Uje.default)({sync:s,tests:f,value:g,errors:n,endEarly:l,sort:this._sortErrors,path:t.path},i)})}clone(e){let t=super.clone(e);return t.fields=Jf({},this.fields),t._nodes=this._nodes,t._excludedEdges=this._excludedEdges,t._sortErrors=this._sortErrors,t}concat(e){let t=super.concat(e),i=t.fields;for(let[n,s]of Object.entries(this.fields)){let o=i[n];o===void 0?i[n]=s:o instanceof LF.default&&s instanceof LF.default&&(i[n]=s.concat(o))}return t.withMutation(()=>t.shape(i))}getDefaultFromShape(){let e={};return this._nodes.forEach(t=>{let i=this.fields[t];e[t]=\"default\"in i?i.getDefault():void 0}),e}_getDefault(){if(\"default\"in this.spec)return super._getDefault();if(!!this._nodes.length)return this.getDefaultFromShape()}shape(e,t=[]){let i=this.clone(),n=Object.assign(i.fields,e);if(i.fields=n,i._sortErrors=(0,fre.default)(Object.keys(n)),t.length){Array.isArray(t[0])||(t=[t]);let s=t.map(([o,a])=>`${o}-${a}`);i._excludedEdges=i._excludedEdges.concat(s)}return i._nodes=(0,Mje.default)(n,i._excludedEdges),i}pick(e){let t={};for(let i of e)this.fields[i]&&(t[i]=this.fields[i]);return this.clone().withMutation(i=>(i.fields={},i.shape(t)))}omit(e){let t=this.clone(),i=t.fields;t.fields={};for(let n of e)delete i[n];return t.withMutation(()=>t.shape(i))}from(e,t,i){let n=(0,Oje.getter)(e,!0);return this.transform(s=>{if(s==null)return s;let o=s;return(0,cre.default)(s,e)&&(o=Jf({},s),i||delete o[e],o[t]=n(s)),o})}noUnknown(e=!0,t=gre.object.noUnknown){typeof e==\"string\"&&(t=e,e=!0);let i=this.test({name:\"noUnknown\",exclusive:!0,message:t,test(n){if(n==null)return!0;let s=Hje(this.schema,n);return!e||s.length===0||this.createError({params:{unknown:s.join(\", \")}})}});return i.spec.noUnknown=e,i}unknown(e=!0,t=gre.object.noUnknown){return this.noUnknown(!e,t)}transformKeys(e){return this.transform(t=>t&&(0,Lje.default)(t,(i,n)=>e(n)))}camelCase(){return this.transformKeys(Nje.default)}snakeCase(){return this.transformKeys(ure.default)}constantCase(){return this.transformKeys(e=>(0,ure.default)(e).toUpperCase())}describe(){let e=super.describe();return e.fields=(0,Tje.default)(this.fields,t=>t.describe()),e}};KC.default=F0;function lre(r){return new F0(r)}lre.prototype=F0.prototype});var Cre=w(HC=>{\"use strict\";Object.defineProperty(HC,\"__esModule\",{value:!0});HC.create=dre;HC.default=void 0;var TF=Wf(Yf()),Gje=Wf(Of()),Yje=Wf(yC()),OF=mA(),qje=Wf(c0()),Jje=Wf(hu()),Wje=Wf(IA());function Wf(r){return r&&r.__esModule?r:{default:r}}function N0(){return N0=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(r[i]=t[i])}return r},N0.apply(this,arguments)}function dre(r){return new L0(r)}var L0=class extends Wje.default{constructor(e){super({type:\"array\"});this.innerType=e,this.withMutation(()=>{this.transform(function(t){if(typeof t==\"string\")try{t=JSON.parse(t)}catch(i){t=null}return this.isType(t)?t:null})})}_typeCheck(e){return Array.isArray(e)}get _subType(){return this.innerType}_cast(e,t){let i=super._cast(e,t);if(!this._typeCheck(i)||!this.innerType)return i;let n=!1,s=i.map((o,a)=>{let l=this.innerType.cast(o,N0({},t,{path:`${t.path||\"\"}[${a}]`}));return l!==o&&(n=!0),l});return n?s:i}_validate(e,t={},i){var n,s;let o=[],a=t.sync,l=t.path,c=this.innerType,u=(n=t.abortEarly)!=null?n:this.spec.abortEarly,g=(s=t.recursive)!=null?s:this.spec.recursive,f=t.originalValue!=null?t.originalValue:e;super._validate(e,t,(h,p)=>{if(h){if(!Jje.default.isError(h)||u)return void i(h,p);o.push(h)}if(!g||!c||!this._typeCheck(p)){i(o[0]||null,p);return}f=f||p;let m=new Array(p.length);for(let y=0;y<p.length;y++){let b=p[y],v=`${t.path||\"\"}[${y}]`,k=N0({},t,{path:v,strict:!0,parent:p,index:y,originalValue:f[y]});m[y]=(T,Y)=>c.validate(b,k,Y)}(0,qje.default)({sync:a,path:l,value:p,errors:o,endEarly:u,tests:m},i)})}clone(e){let t=super.clone(e);return t.innerType=this.innerType,t}concat(e){let t=super.concat(e);return t.innerType=this.innerType,e.innerType&&(t.innerType=t.innerType?t.innerType.concat(e.innerType):e.innerType),t}of(e){let t=this.clone();if(!(0,Gje.default)(e))throw new TypeError(\"`array.of()` sub-schema must be a valid yup schema not: \"+(0,Yje.default)(e));return t.innerType=e,t}length(e,t=OF.array.length){return this.test({message:t,name:\"length\",exclusive:!0,params:{length:e},test(i){return(0,TF.default)(i)||i.length===this.resolve(e)}})}min(e,t){return t=t||OF.array.min,this.test({message:t,name:\"min\",exclusive:!0,params:{min:e},test(i){return(0,TF.default)(i)||i.length>=this.resolve(e)}})}max(e,t){return t=t||OF.array.max,this.test({message:t,name:\"max\",exclusive:!0,params:{max:e},test(i){return(0,TF.default)(i)||i.length<=this.resolve(e)}})}ensure(){return this.default(()=>[]).transform((e,t)=>this._typeCheck(e)?e:t==null?[]:[].concat(t))}compact(e){let t=e?(i,n,s)=>!e(i,n,s):i=>!!i;return this.transform(i=>i!=null?i.filter(t):i)}describe(){let e=super.describe();return this.innerType&&(e.innerType=this.innerType.describe()),e}nullable(e=!0){return super.nullable(e)}defined(){return super.defined()}required(e){return super.required(e)}};HC.default=L0;dre.prototype=L0.prototype});var mre=w(jC=>{\"use strict\";Object.defineProperty(jC,\"__esModule\",{value:!0});jC.create=zje;jC.default=void 0;var Vje=_je(Of());function _je(r){return r&&r.__esModule?r:{default:r}}function zje(r){return new MF(r)}var MF=class{constructor(e){this.type=\"lazy\",this.__isYupSchema__=!0,this._resolve=(t,i={})=>{let n=this.builder(t,i);if(!(0,Vje.default)(n))throw new TypeError(\"lazy() functions must return a valid schema\");return n.resolve(i)},this.builder=e}resolve(e){return this._resolve(e.value,e)}cast(e,t){return this._resolve(e,t).cast(e,t)}validate(e,t,i){return this._resolve(e,t).validate(e,t,i)}validateSync(e,t){return this._resolve(e,t).validateSync(e,t)}validateAt(e,t,i){return this._resolve(t,i).validateAt(e,t,i)}validateSyncAt(e,t,i){return this._resolve(t,i).validateSyncAt(e,t,i)}describe(){return null}isValid(e,t){return this._resolve(e,t).isValid(e,t)}isValidSync(e,t){return this._resolve(e,t).isValidSync(e,t)}},Xje=MF;jC.default=Xje});var Ere=w(UF=>{\"use strict\";Object.defineProperty(UF,\"__esModule\",{value:!0});UF.default=Zje;var eGe=$je(mA());function $je(r){return r&&r.__esModule?r:{default:r}}function Zje(r){Object.keys(r).forEach(e=>{Object.keys(r[e]).forEach(t=>{eGe.default[e][t]=r[e][t]})})}});var HF=w(Br=>{\"use strict\";Object.defineProperty(Br,\"__esModule\",{value:!0});Br.addMethod=tGe;Object.defineProperty(Br,\"MixedSchema\",{enumerable:!0,get:function(){return Ire.default}});Object.defineProperty(Br,\"mixed\",{enumerable:!0,get:function(){return Ire.create}});Object.defineProperty(Br,\"BooleanSchema\",{enumerable:!0,get:function(){return KF.default}});Object.defineProperty(Br,\"bool\",{enumerable:!0,get:function(){return KF.create}});Object.defineProperty(Br,\"boolean\",{enumerable:!0,get:function(){return KF.create}});Object.defineProperty(Br,\"StringSchema\",{enumerable:!0,get:function(){return yre.default}});Object.defineProperty(Br,\"string\",{enumerable:!0,get:function(){return yre.create}});Object.defineProperty(Br,\"NumberSchema\",{enumerable:!0,get:function(){return wre.default}});Object.defineProperty(Br,\"number\",{enumerable:!0,get:function(){return wre.create}});Object.defineProperty(Br,\"DateSchema\",{enumerable:!0,get:function(){return Bre.default}});Object.defineProperty(Br,\"date\",{enumerable:!0,get:function(){return Bre.create}});Object.defineProperty(Br,\"ObjectSchema\",{enumerable:!0,get:function(){return bre.default}});Object.defineProperty(Br,\"object\",{enumerable:!0,get:function(){return bre.create}});Object.defineProperty(Br,\"ArraySchema\",{enumerable:!0,get:function(){return Qre.default}});Object.defineProperty(Br,\"array\",{enumerable:!0,get:function(){return Qre.create}});Object.defineProperty(Br,\"ref\",{enumerable:!0,get:function(){return rGe.create}});Object.defineProperty(Br,\"lazy\",{enumerable:!0,get:function(){return iGe.create}});Object.defineProperty(Br,\"ValidationError\",{enumerable:!0,get:function(){return nGe.default}});Object.defineProperty(Br,\"reach\",{enumerable:!0,get:function(){return sGe.default}});Object.defineProperty(Br,\"isSchema\",{enumerable:!0,get:function(){return Sre.default}});Object.defineProperty(Br,\"setLocale\",{enumerable:!0,get:function(){return oGe.default}});Object.defineProperty(Br,\"BaseSchema\",{enumerable:!0,get:function(){return aGe.default}});var Ire=Iu(rte()),KF=Iu(ate()),yre=Iu(cte()),wre=Iu(fte()),Bre=Iu(Cte()),bre=Iu(pre()),Qre=Iu(Cre()),rGe=Cu(),iGe=mre(),nGe=GC(hu()),sGe=GC(SF()),Sre=GC(Of()),oGe=GC(Ere()),aGe=GC(IA());function GC(r){return r&&r.__esModule?r:{default:r}}function vre(){if(typeof WeakMap!=\"function\")return null;var r=new WeakMap;return vre=function(){return r},r}function Iu(r){if(r&&r.__esModule)return r;if(r===null||typeof r!=\"object\"&&typeof r!=\"function\")return{default:r};var e=vre();if(e&&e.has(r))return e.get(r);var t={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in r)if(Object.prototype.hasOwnProperty.call(r,n)){var s=i?Object.getOwnPropertyDescriptor(r,n):null;s&&(s.get||s.set)?Object.defineProperty(t,n,s):t[n]=r[n]}return t.default=r,e&&e.set(r,t),t}function tGe(r,e,t){if(!r||!(0,Sre.default)(r.prototype))throw new TypeError(\"You must provide a yup schema constructor function\");if(typeof e!=\"string\")throw new TypeError(\"A Method name must be provided\");if(typeof t!=\"function\")throw new TypeError(\"Method function must be provided\");r.prototype[e]=t}});var Rre=w((dft,qC)=>{\"use strict\";var cGe=process.env.TERM_PROGRAM===\"Hyper\",uGe=process.platform===\"win32\",xre=process.platform===\"linux\",jF={ballotDisabled:\"\\u2612\",ballotOff:\"\\u2610\",ballotOn:\"\\u2611\",bullet:\"\\u2022\",bulletWhite:\"\\u25E6\",fullBlock:\"\\u2588\",heart:\"\\u2764\",identicalTo:\"\\u2261\",line:\"\\u2500\",mark:\"\\u203B\",middot:\"\\xB7\",minus:\"\\uFF0D\",multiplication:\"\\xD7\",obelus:\"\\xF7\",pencilDownRight:\"\\u270E\",pencilRight:\"\\u270F\",pencilUpRight:\"\\u2710\",percent:\"%\",pilcrow2:\"\\u2761\",pilcrow:\"\\xB6\",plusMinus:\"\\xB1\",section:\"\\xA7\",starsOff:\"\\u2606\",starsOn:\"\\u2605\",upDownArrow:\"\\u2195\"},Pre=Object.assign({},jF,{check:\"\\u221A\",cross:\"\\xD7\",ellipsisLarge:\"...\",ellipsis:\"...\",info:\"i\",question:\"?\",questionSmall:\"?\",pointer:\">\",pointerSmall:\"\\xBB\",radioOff:\"( )\",radioOn:\"(*)\",warning:\"\\u203C\"}),Dre=Object.assign({},jF,{ballotCross:\"\\u2718\",check:\"\\u2714\",cross:\"\\u2716\",ellipsisLarge:\"\\u22EF\",ellipsis:\"\\u2026\",info:\"\\u2139\",question:\"?\",questionFull:\"\\uFF1F\",questionSmall:\"\\uFE56\",pointer:xre?\"\\u25B8\":\"\\u276F\",pointerSmall:xre?\"\\u2023\":\"\\u203A\",radioOff:\"\\u25EF\",radioOn:\"\\u25C9\",warning:\"\\u26A0\"});qC.exports=uGe&&!cGe?Pre:Dre;Reflect.defineProperty(qC.exports,\"common\",{enumerable:!1,value:jF});Reflect.defineProperty(qC.exports,\"windows\",{enumerable:!1,value:Pre});Reflect.defineProperty(qC.exports,\"other\",{enumerable:!1,value:Dre})});var yo=w((Cft,GF)=>{\"use strict\";var gGe=r=>r!==null&&typeof r==\"object\"&&!Array.isArray(r),fGe=/[\\u001b\\u009b][[\\]#;?()]*(?:(?:(?:[^\\W_]*;?[^\\W_]*)\\u0007)|(?:(?:[0-9]{1,4}(;[0-9]{0,4})*)?[~0-9=<>cf-nqrtyA-PRZ]))/g,Fre=()=>{let r={enabled:!0,visible:!0,styles:{},keys:{}};\"FORCE_COLOR\"in process.env&&(r.enabled=process.env.FORCE_COLOR!==\"0\");let e=s=>{let o=s.open=`\u001b[${s.codes[0]}m`,a=s.close=`\u001b[${s.codes[1]}m`,l=s.regex=new RegExp(`\\\\u001b\\\\[${s.codes[1]}m`,\"g\");return s.wrap=(c,u)=>{c.includes(a)&&(c=c.replace(l,a+o));let g=o+c+a;return u?g.replace(/\\r*\\n/g,`${a}$&${o}`):g},s},t=(s,o,a)=>typeof s==\"function\"?s(o):s.wrap(o,a),i=(s,o)=>{if(s===\"\"||s==null)return\"\";if(r.enabled===!1)return s;if(r.visible===!1)return\"\";let a=\"\"+s,l=a.includes(`\n`),c=o.length;for(c>0&&o.includes(\"unstyle\")&&(o=[...new Set([\"unstyle\",...o])].reverse());c-- >0;)a=t(r.styles[o[c]],a,l);return a},n=(s,o,a)=>{r.styles[s]=e({name:s,codes:o}),(r.keys[a]||(r.keys[a]=[])).push(s),Reflect.defineProperty(r,s,{configurable:!0,enumerable:!0,set(c){r.alias(s,c)},get(){let c=u=>i(u,c.stack);return Reflect.setPrototypeOf(c,r),c.stack=this.stack?this.stack.concat(s):[s],c}})};return n(\"reset\",[0,0],\"modifier\"),n(\"bold\",[1,22],\"modifier\"),n(\"dim\",[2,22],\"modifier\"),n(\"italic\",[3,23],\"modifier\"),n(\"underline\",[4,24],\"modifier\"),n(\"inverse\",[7,27],\"modifier\"),n(\"hidden\",[8,28],\"modifier\"),n(\"strikethrough\",[9,29],\"modifier\"),n(\"black\",[30,39],\"color\"),n(\"red\",[31,39],\"color\"),n(\"green\",[32,39],\"color\"),n(\"yellow\",[33,39],\"color\"),n(\"blue\",[34,39],\"color\"),n(\"magenta\",[35,39],\"color\"),n(\"cyan\",[36,39],\"color\"),n(\"white\",[37,39],\"color\"),n(\"gray\",[90,39],\"color\"),n(\"grey\",[90,39],\"color\"),n(\"bgBlack\",[40,49],\"bg\"),n(\"bgRed\",[41,49],\"bg\"),n(\"bgGreen\",[42,49],\"bg\"),n(\"bgYellow\",[43,49],\"bg\"),n(\"bgBlue\",[44,49],\"bg\"),n(\"bgMagenta\",[45,49],\"bg\"),n(\"bgCyan\",[46,49],\"bg\"),n(\"bgWhite\",[47,49],\"bg\"),n(\"blackBright\",[90,39],\"bright\"),n(\"redBright\",[91,39],\"bright\"),n(\"greenBright\",[92,39],\"bright\"),n(\"yellowBright\",[93,39],\"bright\"),n(\"blueBright\",[94,39],\"bright\"),n(\"magentaBright\",[95,39],\"bright\"),n(\"cyanBright\",[96,39],\"bright\"),n(\"whiteBright\",[97,39],\"bright\"),n(\"bgBlackBright\",[100,49],\"bgBright\"),n(\"bgRedBright\",[101,49],\"bgBright\"),n(\"bgGreenBright\",[102,49],\"bgBright\"),n(\"bgYellowBright\",[103,49],\"bgBright\"),n(\"bgBlueBright\",[104,49],\"bgBright\"),n(\"bgMagentaBright\",[105,49],\"bgBright\"),n(\"bgCyanBright\",[106,49],\"bgBright\"),n(\"bgWhiteBright\",[107,49],\"bgBright\"),r.ansiRegex=fGe,r.hasColor=r.hasAnsi=s=>(r.ansiRegex.lastIndex=0,typeof s==\"string\"&&s!==\"\"&&r.ansiRegex.test(s)),r.alias=(s,o)=>{let a=typeof o==\"string\"?r[o]:o;if(typeof a!=\"function\")throw new TypeError(\"Expected alias to be the name of an existing color (string) or a function\");a.stack||(Reflect.defineProperty(a,\"name\",{value:s}),r.styles[s]=a,a.stack=[s]),Reflect.defineProperty(r,s,{configurable:!0,enumerable:!0,set(l){r.alias(s,l)},get(){let l=c=>i(c,l.stack);return Reflect.setPrototypeOf(l,r),l.stack=this.stack?this.stack.concat(a.stack):a.stack,l}})},r.theme=s=>{if(!gGe(s))throw new TypeError(\"Expected theme to be an object\");for(let o of Object.keys(s))r.alias(o,s[o]);return r},r.alias(\"unstyle\",s=>typeof s==\"string\"&&s!==\"\"?(r.ansiRegex.lastIndex=0,s.replace(r.ansiRegex,\"\")):\"\"),r.alias(\"noop\",s=>s),r.none=r.clear=r.noop,r.stripColor=r.unstyle,r.symbols=Rre(),r.define=n,r};GF.exports=Fre();GF.exports.create=Fre});var Xi=w(Lt=>{\"use strict\";var hGe=Object.prototype.toString,_s=yo(),Nre=!1,YF=[],Lre={yellow:\"blue\",cyan:\"red\",green:\"magenta\",black:\"white\",blue:\"yellow\",red:\"cyan\",magenta:\"green\",white:\"black\"};Lt.longest=(r,e)=>r.reduce((t,i)=>Math.max(t,e?i[e].length:i.length),0);Lt.hasColor=r=>!!r&&_s.hasColor(r);var O0=Lt.isObject=r=>r!==null&&typeof r==\"object\"&&!Array.isArray(r);Lt.nativeType=r=>hGe.call(r).slice(8,-1).toLowerCase().replace(/\\s/g,\"\");Lt.isAsyncFn=r=>Lt.nativeType(r)===\"asyncfunction\";Lt.isPrimitive=r=>r!=null&&typeof r!=\"object\"&&typeof r!=\"function\";Lt.resolve=(r,e,...t)=>typeof e==\"function\"?e.call(r,...t):e;Lt.scrollDown=(r=[])=>[...r.slice(1),r[0]];Lt.scrollUp=(r=[])=>[r.pop(),...r];Lt.reorder=(r=[])=>{let e=r.slice();return e.sort((t,i)=>t.index>i.index?1:t.index<i.index?-1:0),e};Lt.swap=(r,e,t)=>{let i=r.length,n=t===i?0:t<0?i-1:t,s=r[e];r[e]=r[n],r[n]=s};Lt.width=(r,e=80)=>{let t=r&&r.columns?r.columns:e;return r&&typeof r.getWindowSize==\"function\"&&(t=r.getWindowSize()[0]),process.platform===\"win32\"?t-1:t};Lt.height=(r,e=20)=>{let t=r&&r.rows?r.rows:e;return r&&typeof r.getWindowSize==\"function\"&&(t=r.getWindowSize()[1]),t};Lt.wordWrap=(r,e={})=>{if(!r)return r;typeof e==\"number\"&&(e={width:e});let{indent:t=\"\",newline:i=`\n`+t,width:n=80}=e;n-=((i+t).match(/[^\\S\\n]/g)||[]).length;let o=`.{1,${n}}([\\\\s\\\\u200B]+|$)|[^\\\\s\\\\u200B]+?([\\\\s\\\\u200B]+|$)`,a=r.trim(),l=new RegExp(o,\"g\"),c=a.match(l)||[];return c=c.map(u=>u.replace(/\\n$/,\"\")),e.padEnd&&(c=c.map(u=>u.padEnd(n,\" \"))),e.padStart&&(c=c.map(u=>u.padStart(n,\" \"))),t+c.join(i)};Lt.unmute=r=>{let e=r.stack.find(i=>_s.keys.color.includes(i));return e?_s[e]:r.stack.find(i=>i.slice(2)===\"bg\")?_s[e.slice(2)]:i=>i};Lt.pascal=r=>r?r[0].toUpperCase()+r.slice(1):\"\";Lt.inverse=r=>{if(!r||!r.stack)return r;let e=r.stack.find(i=>_s.keys.color.includes(i));if(e){let i=_s[\"bg\"+Lt.pascal(e)];return i?i.black:r}let t=r.stack.find(i=>i.slice(0,2)===\"bg\");return t?_s[t.slice(2).toLowerCase()]||r:_s.none};Lt.complement=r=>{if(!r||!r.stack)return r;let e=r.stack.find(i=>_s.keys.color.includes(i)),t=r.stack.find(i=>i.slice(0,2)===\"bg\");if(e&&!t)return _s[Lre[e]||e];if(t){let i=t.slice(2).toLowerCase(),n=Lre[i];return n&&_s[\"bg\"+Lt.pascal(n)]||r}return _s.none};Lt.meridiem=r=>{let e=r.getHours(),t=r.getMinutes(),i=e>=12?\"pm\":\"am\";e=e%12;let n=e===0?12:e,s=t<10?\"0\"+t:t;return n+\":\"+s+\" \"+i};Lt.set=(r={},e=\"\",t)=>e.split(\".\").reduce((i,n,s,o)=>{let a=o.length-1>s?i[n]||{}:t;return!Lt.isObject(a)&&s<o.length-1&&(a={}),i[n]=a},r);Lt.get=(r={},e=\"\",t)=>{let i=r[e]==null?e.split(\".\").reduce((n,s)=>n&&n[s],r):r[e];return i==null?t:i};Lt.mixin=(r,e)=>{if(!O0(r))return e;if(!O0(e))return r;for(let t of Object.keys(e)){let i=Object.getOwnPropertyDescriptor(e,t);if(i.hasOwnProperty(\"value\"))if(r.hasOwnProperty(t)&&O0(i.value)){let n=Object.getOwnPropertyDescriptor(r,t);O0(n.value)?r[t]=Lt.merge({},r[t],e[t]):Reflect.defineProperty(r,t,i)}else Reflect.defineProperty(r,t,i);else Reflect.defineProperty(r,t,i)}return r};Lt.merge=(...r)=>{let e={};for(let t of r)Lt.mixin(e,t);return e};Lt.mixinEmitter=(r,e)=>{let t=e.constructor.prototype;for(let i of Object.keys(t)){let n=t[i];typeof n==\"function\"?Lt.define(r,i,n.bind(e)):Lt.define(r,i,n)}};Lt.onExit=r=>{let e=(t,i)=>{Nre||(Nre=!0,YF.forEach(n=>n()),t===!0&&process.exit(128+i))};YF.length===0&&(process.once(\"SIGTERM\",e.bind(null,!0,15)),process.once(\"SIGINT\",e.bind(null,!0,2)),process.once(\"exit\",e)),YF.push(r)};Lt.define=(r,e,t)=>{Reflect.defineProperty(r,e,{value:t})};Lt.defineExport=(r,e,t)=>{let i;Reflect.defineProperty(r,e,{enumerable:!0,configurable:!0,set(n){i=n},get(){return i?i():t()}})}});var Tre=w(_f=>{\"use strict\";_f.ctrl={a:\"first\",b:\"backward\",c:\"cancel\",d:\"deleteForward\",e:\"last\",f:\"forward\",g:\"reset\",i:\"tab\",k:\"cutForward\",l:\"reset\",n:\"newItem\",m:\"cancel\",j:\"submit\",p:\"search\",r:\"remove\",s:\"save\",u:\"undo\",w:\"cutLeft\",x:\"toggleCursor\",v:\"paste\"};_f.shift={up:\"shiftUp\",down:\"shiftDown\",left:\"shiftLeft\",right:\"shiftRight\",tab:\"prev\"};_f.fn={up:\"pageUp\",down:\"pageDown\",left:\"pageLeft\",right:\"pageRight\",delete:\"deleteForward\"};_f.option={b:\"backward\",f:\"forward\",d:\"cutRight\",left:\"cutLeft\",up:\"altUp\",down:\"altDown\"};_f.keys={pageup:\"pageUp\",pagedown:\"pageDown\",home:\"home\",end:\"end\",cancel:\"cancel\",delete:\"deleteForward\",backspace:\"delete\",down:\"down\",enter:\"submit\",escape:\"cancel\",left:\"left\",space:\"space\",number:\"number\",return:\"submit\",right:\"right\",tab:\"next\",up:\"up\"}});var Ure=w((Ift,Ore)=>{\"use strict\";var Mre=require(\"readline\"),pGe=Tre(),dGe=/^(?:\\x1b)([a-zA-Z0-9])$/,CGe=/^(?:\\x1b+)(O|N|\\[|\\[\\[)(?:(\\d+)(?:;(\\d+))?([~^$])|(?:1;)?(\\d+)?([a-zA-Z]))/,mGe={OP:\"f1\",OQ:\"f2\",OR:\"f3\",OS:\"f4\",\"[11~\":\"f1\",\"[12~\":\"f2\",\"[13~\":\"f3\",\"[14~\":\"f4\",\"[[A\":\"f1\",\"[[B\":\"f2\",\"[[C\":\"f3\",\"[[D\":\"f4\",\"[[E\":\"f5\",\"[15~\":\"f5\",\"[17~\":\"f6\",\"[18~\":\"f7\",\"[19~\":\"f8\",\"[20~\":\"f9\",\"[21~\":\"f10\",\"[23~\":\"f11\",\"[24~\":\"f12\",\"[A\":\"up\",\"[B\":\"down\",\"[C\":\"right\",\"[D\":\"left\",\"[E\":\"clear\",\"[F\":\"end\",\"[H\":\"home\",OA:\"up\",OB:\"down\",OC:\"right\",OD:\"left\",OE:\"clear\",OF:\"end\",OH:\"home\",\"[1~\":\"home\",\"[2~\":\"insert\",\"[3~\":\"delete\",\"[4~\":\"end\",\"[5~\":\"pageup\",\"[6~\":\"pagedown\",\"[[5~\":\"pageup\",\"[[6~\":\"pagedown\",\"[7~\":\"home\",\"[8~\":\"end\",\"[a\":\"up\",\"[b\":\"down\",\"[c\":\"right\",\"[d\":\"left\",\"[e\":\"clear\",\"[2$\":\"insert\",\"[3$\":\"delete\",\"[5$\":\"pageup\",\"[6$\":\"pagedown\",\"[7$\":\"home\",\"[8$\":\"end\",Oa:\"up\",Ob:\"down\",Oc:\"right\",Od:\"left\",Oe:\"clear\",\"[2^\":\"insert\",\"[3^\":\"delete\",\"[5^\":\"pageup\",\"[6^\":\"pagedown\",\"[7^\":\"home\",\"[8^\":\"end\",\"[Z\":\"tab\"};function EGe(r){return[\"[a\",\"[b\",\"[c\",\"[d\",\"[e\",\"[2$\",\"[3$\",\"[5$\",\"[6$\",\"[7$\",\"[8$\",\"[Z\"].includes(r)}function IGe(r){return[\"Oa\",\"Ob\",\"Oc\",\"Od\",\"Oe\",\"[2^\",\"[3^\",\"[5^\",\"[6^\",\"[7^\",\"[8^\"].includes(r)}var M0=(r=\"\",e={})=>{let t,i=N({name:e.name,ctrl:!1,meta:!1,shift:!1,option:!1,sequence:r,raw:r},e);if(Buffer.isBuffer(r)?r[0]>127&&r[1]===void 0?(r[0]-=128,r=\"\u001b\"+String(r)):r=String(r):r!==void 0&&typeof r!=\"string\"?r=String(r):r||(r=i.sequence||\"\"),i.sequence=i.sequence||r||i.name,r===\"\\r\")i.raw=void 0,i.name=\"return\";else if(r===`\n`)i.name=\"enter\";else if(r===\"\t\")i.name=\"tab\";else if(r===\"\\b\"||r===\"\\x7F\"||r===\"\u001b\\x7F\"||r===\"\u001b\\b\")i.name=\"backspace\",i.meta=r.charAt(0)===\"\u001b\";else if(r===\"\u001b\"||r===\"\u001b\u001b\")i.name=\"escape\",i.meta=r.length===2;else if(r===\" \"||r===\"\u001b \")i.name=\"space\",i.meta=r.length===2;else if(r<=\"\u001a\")i.name=String.fromCharCode(r.charCodeAt(0)+\"a\".charCodeAt(0)-1),i.ctrl=!0;else if(r.length===1&&r>=\"0\"&&r<=\"9\")i.name=\"number\";else if(r.length===1&&r>=\"a\"&&r<=\"z\")i.name=r;else if(r.length===1&&r>=\"A\"&&r<=\"Z\")i.name=r.toLowerCase(),i.shift=!0;else if(t=dGe.exec(r))i.meta=!0,i.shift=/^[A-Z]$/.test(t[1]);else if(t=CGe.exec(r)){let n=[...r];n[0]===\"\u001b\"&&n[1]===\"\u001b\"&&(i.option=!0);let s=[t[1],t[2],t[4],t[6]].filter(Boolean).join(\"\"),o=(t[3]||t[5]||1)-1;i.ctrl=!!(o&4),i.meta=!!(o&10),i.shift=!!(o&1),i.code=s,i.name=mGe[s],i.shift=EGe(s)||i.shift,i.ctrl=IGe(s)||i.ctrl}return i};M0.listen=(r={},e)=>{let{stdin:t}=r;if(!t||t!==process.stdin&&!t.isTTY)throw new Error(\"Invalid stream passed\");let i=Mre.createInterface({terminal:!0,input:t});Mre.emitKeypressEvents(t,i);let n=(a,l)=>e(a,M0(a,l),i),s=t.isRaw;return t.isTTY&&t.setRawMode(!0),t.on(\"keypress\",n),i.resume(),()=>{t.isTTY&&t.setRawMode(s),t.removeListener(\"keypress\",n),i.pause(),i.close()}};M0.action=(r,e,t)=>{let i=N(N({},pGe),t);return e.ctrl?(e.action=i.ctrl[e.name],e):e.option&&i.option?(e.action=i.option[e.name],e):e.shift?(e.action=i.shift[e.name],e):(e.action=i.keys[e.name],e)};Ore.exports=M0});var Hre=w((yft,Kre)=>{\"use strict\";Kre.exports=r=>{r.timers=r.timers||{};let e=r.options.timers;if(!!e)for(let t of Object.keys(e)){let i=e[t];typeof i==\"number\"&&(i={interval:i}),yGe(r,t,i)}};function yGe(r,e,t={}){let i=r.timers[e]={name:e,start:Date.now(),ms:0,tick:0},n=t.interval||120;i.frames=t.frames||[],i.loading=!0;let s=setInterval(()=>{i.ms=Date.now()-i.start,i.tick++,r.render()},n);return i.stop=()=>{i.loading=!1,clearInterval(s)},Reflect.defineProperty(i,\"interval\",{value:s}),r.once(\"close\",()=>i.stop()),i.stop}});var Yre=w((wft,jre)=>{\"use strict\";var{define:wGe,width:BGe}=Xi(),Gre=class{constructor(e){let t=e.options;wGe(this,\"_prompt\",e),this.type=e.type,this.name=e.name,this.message=\"\",this.header=\"\",this.footer=\"\",this.error=\"\",this.hint=\"\",this.input=\"\",this.cursor=0,this.index=0,this.lines=0,this.tick=0,this.prompt=\"\",this.buffer=\"\",this.width=BGe(t.stdout||process.stdout),Object.assign(this,t),this.name=this.name||this.message,this.message=this.message||this.name,this.symbols=e.symbols,this.styles=e.styles,this.required=new Set,this.cancelled=!1,this.submitted=!1}clone(){let e=N({},this);return e.status=this.status,e.buffer=Buffer.from(e.buffer),delete e.clone,e}set color(e){this._color=e}get color(){let e=this.prompt.styles;if(this.cancelled)return e.cancelled;if(this.submitted)return e.submitted;let t=this._color||e[this.status];return typeof t==\"function\"?t:e.pending}set loading(e){this._loading=e}get loading(){return typeof this._loading==\"boolean\"?this._loading:this.loadingChoices?\"choices\":!1}get status(){return this.cancelled?\"cancelled\":this.submitted?\"submitted\":\"pending\"}};jre.exports=Gre});var Jre=w((Bft,qre)=>{\"use strict\";var qF=Xi(),Ni=yo(),JF={default:Ni.noop,noop:Ni.noop,set inverse(r){this._inverse=r},get inverse(){return this._inverse||qF.inverse(this.primary)},set complement(r){this._complement=r},get complement(){return this._complement||qF.complement(this.primary)},primary:Ni.cyan,success:Ni.green,danger:Ni.magenta,strong:Ni.bold,warning:Ni.yellow,muted:Ni.dim,disabled:Ni.gray,dark:Ni.dim.gray,underline:Ni.underline,set info(r){this._info=r},get info(){return this._info||this.primary},set em(r){this._em=r},get em(){return this._em||this.primary.underline},set heading(r){this._heading=r},get heading(){return this._heading||this.muted.underline},set pending(r){this._pending=r},get pending(){return this._pending||this.primary},set submitted(r){this._submitted=r},get submitted(){return this._submitted||this.success},set cancelled(r){this._cancelled=r},get cancelled(){return this._cancelled||this.danger},set typing(r){this._typing=r},get typing(){return this._typing||this.dim},set placeholder(r){this._placeholder=r},get placeholder(){return this._placeholder||this.primary.dim},set highlight(r){this._highlight=r},get highlight(){return this._highlight||this.inverse}};JF.merge=(r={})=>{r.styles&&typeof r.styles.enabled==\"boolean\"&&(Ni.enabled=r.styles.enabled),r.styles&&typeof r.styles.visible==\"boolean\"&&(Ni.visible=r.styles.visible);let e=qF.merge({},JF,r.styles);delete e.merge;for(let t of Object.keys(Ni))e.hasOwnProperty(t)||Reflect.defineProperty(e,t,{get:()=>Ni[t]});for(let t of Object.keys(Ni.styles))e.hasOwnProperty(t)||Reflect.defineProperty(e,t,{get:()=>Ni[t]});return e};qre.exports=JF});var zre=w((bft,Wre)=>{\"use strict\";var WF=process.platform===\"win32\",wA=yo(),bGe=Xi(),zF=te(N({},wA.symbols),{upDownDoubleArrow:\"\\u21D5\",upDownDoubleArrow2:\"\\u2B0D\",upDownArrow:\"\\u2195\",asterisk:\"*\",asterism:\"\\u2042\",bulletWhite:\"\\u25E6\",electricArrow:\"\\u2301\",ellipsisLarge:\"\\u22EF\",ellipsisSmall:\"\\u2026\",fullBlock:\"\\u2588\",identicalTo:\"\\u2261\",indicator:wA.symbols.check,leftAngle:\"\\u2039\",mark:\"\\u203B\",minus:\"\\u2212\",multiplication:\"\\xD7\",obelus:\"\\xF7\",percent:\"%\",pilcrow:\"\\xB6\",pilcrow2:\"\\u2761\",pencilUpRight:\"\\u2710\",pencilDownRight:\"\\u270E\",pencilRight:\"\\u270F\",plus:\"+\",plusMinus:\"\\xB1\",pointRight:\"\\u261E\",rightAngle:\"\\u203A\",section:\"\\xA7\",hexagon:{off:\"\\u2B21\",on:\"\\u2B22\",disabled:\"\\u2B22\"},ballot:{on:\"\\u2611\",off:\"\\u2610\",disabled:\"\\u2612\"},stars:{on:\"\\u2605\",off:\"\\u2606\",disabled:\"\\u2606\"},folder:{on:\"\\u25BC\",off:\"\\u25B6\",disabled:\"\\u25B6\"},prefix:{pending:wA.symbols.question,submitted:wA.symbols.check,cancelled:wA.symbols.cross},separator:{pending:wA.symbols.pointerSmall,submitted:wA.symbols.middot,cancelled:wA.symbols.middot},radio:{off:WF?\"( )\":\"\\u25EF\",on:WF?\"(*)\":\"\\u25C9\",disabled:WF?\"(|)\":\"\\u24BE\"},numbers:[\"\\u24EA\",\"\\u2460\",\"\\u2461\",\"\\u2462\",\"\\u2463\",\"\\u2464\",\"\\u2465\",\"\\u2466\",\"\\u2467\",\"\\u2468\",\"\\u2469\",\"\\u246A\",\"\\u246B\",\"\\u246C\",\"\\u246D\",\"\\u246E\",\"\\u246F\",\"\\u2470\",\"\\u2471\",\"\\u2472\",\"\\u2473\",\"\\u3251\",\"\\u3252\",\"\\u3253\",\"\\u3254\",\"\\u3255\",\"\\u3256\",\"\\u3257\",\"\\u3258\",\"\\u3259\",\"\\u325A\",\"\\u325B\",\"\\u325C\",\"\\u325D\",\"\\u325E\",\"\\u325F\",\"\\u32B1\",\"\\u32B2\",\"\\u32B3\",\"\\u32B4\",\"\\u32B5\",\"\\u32B6\",\"\\u32B7\",\"\\u32B8\",\"\\u32B9\",\"\\u32BA\",\"\\u32BB\",\"\\u32BC\",\"\\u32BD\",\"\\u32BE\",\"\\u32BF\"]});zF.merge=r=>{let e=bGe.merge({},wA.symbols,zF,r.symbols);return delete e.merge,e};Wre.exports=zF});var Vre=w((Qft,_re)=>{\"use strict\";var QGe=Jre(),SGe=zre(),vGe=Xi();_re.exports=r=>{r.options=vGe.merge({},r.options.theme,r.options),r.symbols=SGe.merge(r.options),r.styles=QGe.merge(r.options)}});var tie=w((Xre,Zre)=>{\"use strict\";var $re=process.env.TERM_PROGRAM===\"Apple_Terminal\",kGe=yo(),_F=Xi(),wo=Zre.exports=Xre,Lr=\"\u001b[\",eie=\"\\x07\",VF=!1,Nl=wo.code={bell:eie,beep:eie,beginning:`${Lr}G`,down:`${Lr}J`,esc:Lr,getPosition:`${Lr}6n`,hide:`${Lr}?25l`,line:`${Lr}2K`,lineEnd:`${Lr}K`,lineStart:`${Lr}1K`,restorePosition:Lr+($re?\"8\":\"u\"),savePosition:Lr+($re?\"7\":\"s\"),screen:`${Lr}2J`,show:`${Lr}?25h`,up:`${Lr}1J`},yu=wo.cursor={get hidden(){return VF},hide(){return VF=!0,Nl.hide},show(){return VF=!1,Nl.show},forward:(r=1)=>`${Lr}${r}C`,backward:(r=1)=>`${Lr}${r}D`,nextLine:(r=1)=>`${Lr}E`.repeat(r),prevLine:(r=1)=>`${Lr}F`.repeat(r),up:(r=1)=>r?`${Lr}${r}A`:\"\",down:(r=1)=>r?`${Lr}${r}B`:\"\",right:(r=1)=>r?`${Lr}${r}C`:\"\",left:(r=1)=>r?`${Lr}${r}D`:\"\",to(r,e){return e?`${Lr}${e+1};${r+1}H`:`${Lr}${r+1}G`},move(r=0,e=0){let t=\"\";return t+=r<0?yu.left(-r):r>0?yu.right(r):\"\",t+=e<0?yu.up(-e):e>0?yu.down(e):\"\",t},restore(r={}){let{after:e,cursor:t,initial:i,input:n,prompt:s,size:o,value:a}=r;if(i=_F.isPrimitive(i)?String(i):\"\",n=_F.isPrimitive(n)?String(n):\"\",a=_F.isPrimitive(a)?String(a):\"\",o){let l=wo.cursor.up(o)+wo.cursor.to(s.length),c=n.length-t;return c>0&&(l+=wo.cursor.left(c)),l}if(a||e){let l=!n&&!!i?-i.length:-n.length+t;return e&&(l-=e.length),n===\"\"&&i&&!s.includes(i)&&(l+=i.length),wo.cursor.move(l)}}},XF=wo.erase={screen:Nl.screen,up:Nl.up,down:Nl.down,line:Nl.line,lineEnd:Nl.lineEnd,lineStart:Nl.lineStart,lines(r){let e=\"\";for(let t=0;t<r;t++)e+=wo.erase.line+(t<r-1?wo.cursor.up(1):\"\");return r&&(e+=wo.code.beginning),e}};wo.clear=(r=\"\",e=process.stdout.columns)=>{if(!e)return XF.line+yu.to(0);let t=s=>[...kGe.unstyle(s)].length,i=r.split(/\\r?\\n/),n=0;for(let s of i)n+=1+Math.floor(Math.max(t(s)-1,0)/e);return(XF.line+yu.prevLine()).repeat(n-1)+XF.line+yu.to(0)}});var Vf=w((Sft,rie)=>{\"use strict\";var xGe=require(\"events\"),iie=yo(),ZF=Ure(),PGe=Hre(),DGe=Yre(),RGe=Vre(),On=Xi(),wu=tie(),U0=class extends xGe{constructor(e={}){super();this.name=e.name,this.type=e.type,this.options=e,RGe(this),PGe(this),this.state=new DGe(this),this.initial=[e.initial,e.default].find(t=>t!=null),this.stdout=e.stdout||process.stdout,this.stdin=e.stdin||process.stdin,this.scale=e.scale||1,this.term=this.options.term||process.env.TERM_PROGRAM,this.margin=NGe(this.options.margin),this.setMaxListeners(0),FGe(this)}async keypress(e,t={}){this.keypressed=!0;let i=ZF.action(e,ZF(e,t),this.options.actions);this.state.keypress=i,this.emit(\"keypress\",e,i),this.emit(\"state\",this.state.clone());let n=this.options[i.action]||this[i.action]||this.dispatch;if(typeof n==\"function\")return await n.call(this,e,i);this.alert()}alert(){delete this.state.alert,this.options.show===!1?this.emit(\"alert\"):this.stdout.write(wu.code.beep)}cursorHide(){this.stdout.write(wu.cursor.hide()),On.onExit(()=>this.cursorShow())}cursorShow(){this.stdout.write(wu.cursor.show())}write(e){!e||(this.stdout&&this.state.show!==!1&&this.stdout.write(e),this.state.buffer+=e)}clear(e=0){let t=this.state.buffer;this.state.buffer=\"\",!(!t&&!e||this.options.show===!1)&&this.stdout.write(wu.cursor.down(e)+wu.clear(t,this.width))}restore(){if(this.state.closed||this.options.show===!1)return;let{prompt:e,after:t,rest:i}=this.sections(),{cursor:n,initial:s=\"\",input:o=\"\",value:a=\"\"}=this,l=this.state.size=i.length,c={after:t,cursor:n,initial:s,input:o,prompt:e,size:l,value:a},u=wu.cursor.restore(c);u&&this.stdout.write(u)}sections(){let{buffer:e,input:t,prompt:i}=this.state;i=iie.unstyle(i);let n=iie.unstyle(e),s=n.indexOf(i),o=n.slice(0,s),l=n.slice(s).split(`\n`),c=l[0],u=l[l.length-1],f=(i+(t?\" \"+t:\"\")).length,h=f<c.length?c.slice(f+1):\"\";return{header:o,prompt:c,after:h,rest:l.slice(1),last:u}}async submit(){this.state.submitted=!0,this.state.validating=!0,this.options.onSubmit&&await this.options.onSubmit.call(this,this.name,this.value,this);let e=this.state.error||await this.validate(this.value,this.state);if(e!==!0){let t=`\n`+this.symbols.pointer+\" \";typeof e==\"string\"?t+=e.trim():t+=\"Invalid input\",this.state.error=`\n`+this.styles.danger(t),this.state.submitted=!1,await this.render(),await this.alert(),this.state.validating=!1,this.state.error=void 0;return}this.state.validating=!1,await this.render(),await this.close(),this.value=await this.result(this.value),this.emit(\"submit\",this.value)}async cancel(e){this.state.cancelled=this.state.submitted=!0,await this.render(),await this.close(),typeof this.options.onCancel==\"function\"&&await this.options.onCancel.call(this,this.name,this.value,this),this.emit(\"cancel\",await this.error(e))}async close(){this.state.closed=!0;try{let e=this.sections(),t=Math.ceil(e.prompt.length/this.width);e.rest&&this.write(wu.cursor.down(e.rest.length)),this.write(`\n`.repeat(t))}catch(e){}this.emit(\"close\")}start(){!this.stop&&this.options.show!==!1&&(this.stop=ZF.listen(this,this.keypress.bind(this)),this.once(\"close\",this.stop))}async skip(){return this.skipped=this.options.skip===!0,typeof this.options.skip==\"function\"&&(this.skipped=await this.options.skip.call(this,this.name,this.value)),this.skipped}async initialize(){let{format:e,options:t,result:i}=this;if(this.format=()=>e.call(this,this.value),this.result=()=>i.call(this,this.value),typeof t.initial==\"function\"&&(this.initial=await t.initial.call(this,this)),typeof t.onRun==\"function\"&&await t.onRun.call(this,this),typeof t.onSubmit==\"function\"){let n=t.onSubmit.bind(this),s=this.submit.bind(this);delete this.options.onSubmit,this.submit=async()=>(await n(this.name,this.value,this),s())}await this.start(),await this.render()}render(){throw new Error(\"expected prompt to have a custom render method\")}run(){return new Promise(async(e,t)=>{if(this.once(\"submit\",e),this.once(\"cancel\",t),await this.skip())return this.render=()=>{},this.submit();await this.initialize(),this.emit(\"run\")})}async element(e,t,i){let{options:n,state:s,symbols:o,timers:a}=this,l=a&&a[e];s.timer=l;let c=n[e]||s[e]||o[e],u=t&&t[e]!=null?t[e]:await c;if(u===\"\")return u;let g=await this.resolve(u,s,t,i);return!g&&t&&t[e]?this.resolve(c,s,t,i):g}async prefix(){let e=await this.element(\"prefix\")||this.symbols,t=this.timers&&this.timers.prefix,i=this.state;return i.timer=t,On.isObject(e)&&(e=e[i.status]||e.pending),On.hasColor(e)?e:(this.styles[i.status]||this.styles.pending)(e)}async message(){let e=await this.element(\"message\");return On.hasColor(e)?e:this.styles.strong(e)}async separator(){let e=await this.element(\"separator\")||this.symbols,t=this.timers&&this.timers.separator,i=this.state;i.timer=t;let n=e[i.status]||e.pending||i.separator,s=await this.resolve(n,i);return On.isObject(s)&&(s=s[i.status]||s.pending),On.hasColor(s)?s:this.styles.muted(s)}async pointer(e,t){let i=await this.element(\"pointer\",e,t);if(typeof i==\"string\"&&On.hasColor(i))return i;if(i){let n=this.styles,s=this.index===t,o=s?n.primary:c=>c,a=await this.resolve(i[s?\"on\":\"off\"]||i,this.state),l=On.hasColor(a)?a:o(a);return s?l:\" \".repeat(a.length)}}async indicator(e,t){let i=await this.element(\"indicator\",e,t);if(typeof i==\"string\"&&On.hasColor(i))return i;if(i){let n=this.styles,s=e.enabled===!0,o=s?n.success:n.dark,a=i[s?\"on\":\"off\"]||i;return On.hasColor(a)?a:o(a)}return\"\"}body(){return null}footer(){if(this.state.status===\"pending\")return this.element(\"footer\")}header(){if(this.state.status===\"pending\")return this.element(\"header\")}async hint(){if(this.state.status===\"pending\"&&!this.isValue(this.state.input)){let e=await this.element(\"hint\");return On.hasColor(e)?e:this.styles.muted(e)}}error(e){return this.state.submitted?\"\":e||this.state.error}format(e){return e}result(e){return e}validate(e){return this.options.required===!0?this.isValue(e):!0}isValue(e){return e!=null&&e!==\"\"}resolve(e,...t){return On.resolve(this,e,...t)}get base(){return U0.prototype}get style(){return this.styles[this.state.status]}get height(){return this.options.rows||On.height(this.stdout,25)}get width(){return this.options.columns||On.width(this.stdout,80)}get size(){return{width:this.width,height:this.height}}set cursor(e){this.state.cursor=e}get cursor(){return this.state.cursor}set input(e){this.state.input=e}get input(){return this.state.input}set value(e){this.state.value=e}get value(){let{input:e,value:t}=this.state,i=[t,e].find(this.isValue.bind(this));return this.isValue(i)?i:this.initial}static get prompt(){return e=>new this(e).run()}};function FGe(r){let e=n=>r[n]===void 0||typeof r[n]==\"function\",t=[\"actions\",\"choices\",\"initial\",\"margin\",\"roles\",\"styles\",\"symbols\",\"theme\",\"timers\",\"value\"],i=[\"body\",\"footer\",\"error\",\"header\",\"hint\",\"indicator\",\"message\",\"prefix\",\"separator\",\"skip\"];for(let n of Object.keys(r.options)){if(t.includes(n)||/^on[A-Z]/.test(n))continue;let s=r.options[n];typeof s==\"function\"&&e(n)?i.includes(n)||(r[n]=s.bind(r)):typeof r[n]!=\"function\"&&(r[n]=s)}}function NGe(r){typeof r==\"number\"&&(r=[r,r,r,r]);let e=[].concat(r||[]),t=n=>n%2==0?`\n`:\" \",i=[];for(let n=0;n<4;n++){let s=t(n);e[n]?i.push(s.repeat(e[n])):i.push(\"\")}return i}rie.exports=U0});var oie=w((vft,nie)=>{\"use strict\";var LGe=Xi(),sie={default(r,e){return e},checkbox(r,e){throw new Error(\"checkbox role is not implemented yet\")},editable(r,e){throw new Error(\"editable role is not implemented yet\")},expandable(r,e){throw new Error(\"expandable role is not implemented yet\")},heading(r,e){return e.disabled=\"\",e.indicator=[e.indicator,\" \"].find(t=>t!=null),e.message=e.message||\"\",e},input(r,e){throw new Error(\"input role is not implemented yet\")},option(r,e){return sie.default(r,e)},radio(r,e){throw new Error(\"radio role is not implemented yet\")},separator(r,e){return e.disabled=\"\",e.indicator=[e.indicator,\" \"].find(t=>t!=null),e.message=e.message||r.symbols.line.repeat(5),e},spacer(r,e){return e}};nie.exports=(r,e={})=>{let t=LGe.merge({},sie,e.roles);return t[r]||t.default}});var JC=w((kft,aie)=>{\"use strict\";var TGe=yo(),OGe=Vf(),MGe=oie(),K0=Xi(),{reorder:$F,scrollUp:UGe,scrollDown:KGe,isObject:Aie,swap:HGe}=K0,lie=class extends OGe{constructor(e){super(e);this.cursorHide(),this.maxSelected=e.maxSelected||Infinity,this.multiple=e.multiple||!1,this.initial=e.initial||0,this.delay=e.delay||0,this.longest=0,this.num=\"\"}async initialize(){typeof this.options.initial==\"function\"&&(this.initial=await this.options.initial.call(this)),await this.reset(!0),await super.initialize()}async reset(){let{choices:e,initial:t,autofocus:i,suggest:n}=this.options;if(this.state._choices=[],this.state.choices=[],this.choices=await Promise.all(await this.toChoices(e)),this.choices.forEach(s=>s.enabled=!1),typeof n!=\"function\"&&this.selectable.length===0)throw new Error(\"At least one choice must be selectable\");Aie(t)&&(t=Object.keys(t)),Array.isArray(t)?(i!=null&&(this.index=this.findIndex(i)),t.forEach(s=>this.enable(this.find(s))),await this.render()):(i!=null&&(t=i),typeof t==\"string\"&&(t=this.findIndex(t)),typeof t==\"number\"&&t>-1&&(this.index=Math.max(0,Math.min(t,this.choices.length)),this.enable(this.find(this.index)))),this.isDisabled(this.focused)&&await this.down()}async toChoices(e,t){this.state.loadingChoices=!0;let i=[],n=0,s=async(o,a)=>{typeof o==\"function\"&&(o=await o.call(this)),o instanceof Promise&&(o=await o);for(let l=0;l<o.length;l++){let c=o[l]=await this.toChoice(o[l],n++,a);i.push(c),c.choices&&await s(c.choices,c)}return i};return s(e,t).then(o=>(this.state.loadingChoices=!1,o))}async toChoice(e,t,i){if(typeof e==\"function\"&&(e=await e.call(this,this)),e instanceof Promise&&(e=await e),typeof e==\"string\"&&(e={name:e}),e.normalized)return e;e.normalized=!0;let n=e.value;if(e=MGe(e.role,this.options)(this,e),typeof e.disabled==\"string\"&&!e.hint&&(e.hint=e.disabled,e.disabled=!0),e.disabled===!0&&e.hint==null&&(e.hint=\"(disabled)\"),e.index!=null)return e;e.name=e.name||e.key||e.title||e.value||e.message,e.message=e.message||e.name||\"\",e.value=[e.value,e.name].find(this.isValue.bind(this)),e.input=\"\",e.index=t,e.cursor=0,K0.define(e,\"parent\",i),e.level=i?i.level+1:1,e.indent==null&&(e.indent=i?i.indent+\"  \":e.indent||\"\"),e.path=i?i.path+\".\"+e.name:e.name,e.enabled=!!(this.multiple&&!this.isDisabled(e)&&(e.enabled||this.isSelected(e))),this.isDisabled(e)||(this.longest=Math.max(this.longest,TGe.unstyle(e.message).length));let o=N({},e);return e.reset=(a=o.input,l=o.value)=>{for(let c of Object.keys(o))e[c]=o[c];e.input=a,e.value=l},n==null&&typeof e.initial==\"function\"&&(e.input=await e.initial.call(this,this.state,e,t)),e}async onChoice(e,t){this.emit(\"choice\",e,t,this),typeof e.onChoice==\"function\"&&await e.onChoice.call(this,this.state,e,t)}async addChoice(e,t,i){let n=await this.toChoice(e,t,i);return this.choices.push(n),this.index=this.choices.length-1,this.limit=this.choices.length,n}async newItem(e,t,i){let n=N({name:\"New choice name?\",editable:!0,newChoice:!0},e),s=await this.addChoice(n,t,i);return s.updateChoice=()=>{delete s.newChoice,s.name=s.message=s.input,s.input=\"\",s.cursor=0},this.render()}indent(e){return e.indent==null?e.level>1?\"  \".repeat(e.level-1):\"\":e.indent}dispatch(e,t){if(this.multiple&&this[t.name])return this[t.name]();this.alert()}focus(e,t){return typeof t!=\"boolean\"&&(t=e.enabled),t&&!e.enabled&&this.selected.length>=this.maxSelected?this.alert():(this.index=e.index,e.enabled=t&&!this.isDisabled(e),e)}space(){return this.multiple?(this.toggle(this.focused),this.render()):this.alert()}a(){if(this.maxSelected<this.choices.length)return this.alert();let e=this.selectable.every(t=>t.enabled);return this.choices.forEach(t=>t.enabled=!e),this.render()}i(){return this.choices.length-this.selected.length>this.maxSelected?this.alert():(this.choices.forEach(e=>e.enabled=!e.enabled),this.render())}g(e=this.focused){return this.choices.some(t=>!!t.parent)?(this.toggle(e.parent&&!e.choices?e.parent:e),this.render()):this.a()}toggle(e,t){if(!e.enabled&&this.selected.length>=this.maxSelected)return this.alert();typeof t!=\"boolean\"&&(t=!e.enabled),e.enabled=t,e.choices&&e.choices.forEach(n=>this.toggle(n,t));let i=e.parent;for(;i;){let n=i.choices.filter(s=>this.isDisabled(s));i.enabled=n.every(s=>s.enabled===!0),i=i.parent}return cie(this,this.choices),this.emit(\"toggle\",e,this),e}enable(e){return this.selected.length>=this.maxSelected?this.alert():(e.enabled=!this.isDisabled(e),e.choices&&e.choices.forEach(this.enable.bind(this)),e)}disable(e){return e.enabled=!1,e.choices&&e.choices.forEach(this.disable.bind(this)),e}number(e){this.num+=e;let t=i=>{let n=Number(i);if(n>this.choices.length-1)return this.alert();let s=this.focused,o=this.choices.find(a=>n===a.index);if(!o.enabled&&this.selected.length>=this.maxSelected)return this.alert();if(this.visible.indexOf(o)===-1){let a=$F(this.choices),l=a.indexOf(o);if(s.index>l){let c=a.slice(l,l+this.limit),u=a.filter(g=>!c.includes(g));this.choices=c.concat(u)}else{let c=l-this.limit+1;this.choices=a.slice(c).concat(a.slice(0,c))}}return this.index=this.choices.indexOf(o),this.toggle(this.focused),this.render()};return clearTimeout(this.numberTimeout),new Promise(i=>{let n=this.choices.length,s=this.num,o=(a=!1,l)=>{clearTimeout(this.numberTimeout),a&&(l=t(s)),this.num=\"\",i(l)};if(s===\"0\"||s.length===1&&Number(s+\"0\")>n)return o(!0);if(Number(s)>n)return o(!1,this.alert());this.numberTimeout=setTimeout(()=>o(!0),this.delay)})}home(){return this.choices=$F(this.choices),this.index=0,this.render()}end(){let e=this.choices.length-this.limit,t=$F(this.choices);return this.choices=t.slice(e).concat(t.slice(0,e)),this.index=this.limit-1,this.render()}first(){return this.index=0,this.render()}last(){return this.index=this.visible.length-1,this.render()}prev(){return this.visible.length<=1?this.alert():this.up()}next(){return this.visible.length<=1?this.alert():this.down()}right(){return this.cursor>=this.input.length?this.alert():(this.cursor++,this.render())}left(){return this.cursor<=0?this.alert():(this.cursor--,this.render())}up(){let e=this.choices.length,t=this.visible.length,i=this.index;return this.options.scroll===!1&&i===0?this.alert():e>t&&i===0?this.scrollUp():(this.index=(i-1%e+e)%e,this.isDisabled()?this.up():this.render())}down(){let e=this.choices.length,t=this.visible.length,i=this.index;return this.options.scroll===!1&&i===t-1?this.alert():e>t&&i===t-1?this.scrollDown():(this.index=(i+1)%e,this.isDisabled()?this.down():this.render())}scrollUp(e=0){return this.choices=UGe(this.choices),this.index=e,this.isDisabled()?this.up():this.render()}scrollDown(e=this.visible.length-1){return this.choices=KGe(this.choices),this.index=e,this.isDisabled()?this.down():this.render()}async shiftUp(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index-1),await this.up(),this.sorting=!1;return}return this.scrollUp(this.index)}async shiftDown(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index+1),await this.down(),this.sorting=!1;return}return this.scrollDown(this.index)}pageUp(){return this.visible.length<=1?this.alert():(this.limit=Math.max(this.limit-1,0),this.index=Math.min(this.limit-1,this.index),this._limit=this.limit,this.isDisabled()?this.up():this.render())}pageDown(){return this.visible.length>=this.choices.length?this.alert():(this.index=Math.max(0,this.index),this.limit=Math.min(this.limit+1,this.choices.length),this._limit=this.limit,this.isDisabled()?this.down():this.render())}swap(e){HGe(this.choices,this.index,e)}isDisabled(e=this.focused){return e&&[\"disabled\",\"collapsed\",\"hidden\",\"completing\",\"readonly\"].some(i=>e[i]===!0)?!0:e&&e.role===\"heading\"}isEnabled(e=this.focused){if(Array.isArray(e))return e.every(t=>this.isEnabled(t));if(e.choices){let t=e.choices.filter(i=>!this.isDisabled(i));return e.enabled&&t.every(i=>this.isEnabled(i))}return e.enabled&&!this.isDisabled(e)}isChoice(e,t){return e.name===t||e.index===Number(t)}isSelected(e){return Array.isArray(this.initial)?this.initial.some(t=>this.isChoice(e,t)):this.isChoice(e,this.initial)}map(e=[],t=\"value\"){return[].concat(e||[]).reduce((i,n)=>(i[n]=this.find(n,t),i),{})}filter(e,t){let i=(a,l)=>[a.name,l].includes(e),n=typeof e==\"function\"?e:i,o=(this.options.multiple?this.state._choices:this.choices).filter(n);return t?o.map(a=>a[t]):o}find(e,t){if(Aie(e))return t?e[t]:e;let i=(o,a)=>[o.name,a].includes(e),n=typeof e==\"function\"?e:i,s=this.choices.find(n);if(s)return t?s[t]:s}findIndex(e){return this.choices.indexOf(this.find(e))}async submit(){let e=this.focused;if(!e)return this.alert();if(e.newChoice)return e.input?(e.updateChoice(),this.render()):this.alert();if(this.choices.some(o=>o.newChoice))return this.alert();let{reorder:t,sort:i}=this.options,n=this.multiple===!0,s=this.selected;return s===void 0?this.alert():(Array.isArray(s)&&t!==!1&&i!==!0&&(s=K0.reorder(s)),this.value=n?s.map(o=>o.name):s.name,super.submit())}set choices(e=[]){this.state._choices=this.state._choices||[],this.state.choices=e;for(let t of e)this.state._choices.some(i=>i.name===t.name)||this.state._choices.push(t);if(!this._initial&&this.options.initial){this._initial=!0;let t=this.initial;if(typeof t==\"string\"||typeof t==\"number\"){let i=this.find(t);i&&(this.initial=i.index,this.focus(i,!0))}}}get choices(){return cie(this,this.state.choices||[])}set visible(e){this.state.visible=e}get visible(){return(this.state.visible||this.choices).slice(0,this.limit)}set limit(e){this.state.limit=e}get limit(){let{state:e,options:t,choices:i}=this,n=e.limit||this._limit||t.limit||i.length;return Math.min(n,this.height)}set value(e){super.value=e}get value(){return typeof super.value!=\"string\"&&super.value===this.initial?this.input:super.value}set index(e){this.state.index=e}get index(){return Math.max(0,this.state?this.state.index:0)}get enabled(){return this.filter(this.isEnabled.bind(this))}get focused(){let e=this.choices[this.index];return e&&this.state.submitted&&this.multiple!==!0&&(e.enabled=!0),e}get selectable(){return this.choices.filter(e=>!this.isDisabled(e))}get selected(){return this.multiple?this.enabled:this.focused}};function cie(r,e){if(e instanceof Promise)return e;if(typeof e==\"function\"){if(K0.isAsyncFn(e))return e;e=e.call(r,r)}for(let t of e){if(Array.isArray(t.choices)){let i=t.choices.filter(n=>!r.isDisabled(n));t.enabled=i.every(n=>n.enabled===!0)}r.isDisabled(t)===!0&&delete t.enabled}return e}aie.exports=lie});var Ll=w((xft,uie)=>{\"use strict\";var jGe=JC(),eN=Xi(),gie=class extends jGe{constructor(e){super(e);this.emptyError=this.options.emptyError||\"No items were selected\"}async dispatch(e,t){if(this.multiple)return this[t.name]?await this[t.name](e,t):await super.dispatch(e,t);this.alert()}separator(){if(this.options.separator)return super.separator();let e=this.styles.muted(this.symbols.ellipsis);return this.state.submitted?super.separator():e}pointer(e,t){return!this.multiple||this.options.pointer?super.pointer(e,t):\"\"}indicator(e,t){return this.multiple?super.indicator(e,t):\"\"}choiceMessage(e,t){let i=this.resolve(e.message,this.state,e,t);return e.role===\"heading\"&&!eN.hasColor(i)&&(i=this.styles.strong(i)),this.resolve(i,this.state,e,t)}choiceSeparator(){return\":\"}async renderChoice(e,t){await this.onChoice(e,t);let i=this.index===t,n=await this.pointer(e,t),s=await this.indicator(e,t)+(e.pad||\"\"),o=await this.resolve(e.hint,this.state,e,t);o&&!eN.hasColor(o)&&(o=this.styles.muted(o));let a=this.indent(e),l=await this.choiceMessage(e,t),c=()=>[this.margin[3],a+n+s,l,this.margin[1],o].filter(Boolean).join(\" \");return e.role===\"heading\"?c():e.disabled?(eN.hasColor(l)||(l=this.styles.disabled(l)),c()):(i&&(l=this.styles.em(l)),c())}async renderChoices(){if(this.state.loading===\"choices\")return this.styles.warning(\"Loading choices\");if(this.state.submitted)return\"\";let e=this.visible.map(async(s,o)=>await this.renderChoice(s,o)),t=await Promise.all(e);t.length||t.push(this.styles.danger(\"No matching choices\"));let i=this.margin[0]+t.join(`\n`),n;return this.options.choicesHeader&&(n=await this.resolve(this.options.choicesHeader,this.state)),[n,i].filter(Boolean).join(`\n`)}format(){return!this.state.submitted||this.state.cancelled?\"\":Array.isArray(this.selected)?this.selected.map(e=>this.styles.primary(e.name)).join(\", \"):this.styles.primary(this.selected.name)}async render(){let{submitted:e,size:t}=this.state,i=\"\",n=await this.header(),s=await this.prefix(),o=await this.separator(),a=await this.message();this.options.promptLine!==!1&&(i=[s,a,o,\"\"].join(\" \"),this.state.prompt=i);let l=await this.format(),c=await this.error()||await this.hint(),u=await this.renderChoices(),g=await this.footer();l&&(i+=l),c&&!i.includes(c)&&(i+=\" \"+c),e&&!l&&!u.trim()&&this.multiple&&this.emptyError!=null&&(i+=this.styles.danger(this.emptyError)),this.clear(t),this.write([n,i,u,g].filter(Boolean).join(`\n`)),this.write(this.margin[2]),this.restore()}};uie.exports=gie});var pie=w((Pft,fie)=>{\"use strict\";var GGe=Ll(),YGe=(r,e)=>{let t=r.toLowerCase();return i=>{let s=i.toLowerCase().indexOf(t),o=e(i.slice(s,s+t.length));return s>=0?i.slice(0,s)+o+i.slice(s+t.length):i}},hie=class extends GGe{constructor(e){super(e);this.cursorShow()}moveCursor(e){this.state.cursor+=e}dispatch(e){return this.append(e)}space(e){return this.options.multiple?super.space(e):this.append(e)}append(e){let{cursor:t,input:i}=this.state;return this.input=i.slice(0,t)+e+i.slice(t),this.moveCursor(1),this.complete()}delete(){let{cursor:e,input:t}=this.state;return t?(this.input=t.slice(0,e-1)+t.slice(e),this.moveCursor(-1),this.complete()):this.alert()}deleteForward(){let{cursor:e,input:t}=this.state;return t[e]===void 0?this.alert():(this.input=`${t}`.slice(0,e)+`${t}`.slice(e+1),this.complete())}number(e){return this.append(e)}async complete(){this.completing=!0,this.choices=await this.suggest(this.input,this.state._choices),this.state.limit=void 0,this.index=Math.min(Math.max(this.visible.length-1,0),this.index),await this.render(),this.completing=!1}suggest(e=this.input,t=this.state._choices){if(typeof this.options.suggest==\"function\")return this.options.suggest.call(this,e,t);let i=e.toLowerCase();return t.filter(n=>n.message.toLowerCase().includes(i))}pointer(){return\"\"}format(){if(!this.focused)return this.input;if(this.options.multiple&&this.state.submitted)return this.selected.map(e=>this.styles.primary(e.message)).join(\", \");if(this.state.submitted){let e=this.value=this.input=this.focused.value;return this.styles.primary(e)}return this.input}async render(){if(this.state.status!==\"pending\")return super.render();let e=this.options.highlight?this.options.highlight.bind(this):this.styles.placeholder,t=YGe(this.input,e),i=this.choices;this.choices=i.map(n=>te(N({},n),{message:t(n.message)})),await super.render(),this.choices=i}submit(){return this.options.multiple&&(this.value=this.selected.map(e=>e.name)),super.submit()}};fie.exports=hie});var rN=w((Dft,die)=>{\"use strict\";var tN=Xi();die.exports=(r,e={})=>{r.cursorHide();let{input:t=\"\",initial:i=\"\",pos:n,showCursor:s=!0,color:o}=e,a=o||r.styles.placeholder,l=tN.inverse(r.styles.primary),c=m=>l(r.styles.black(m)),u=t,g=\" \",f=c(g);if(r.blink&&r.blink.off===!0&&(c=m=>m,f=\"\"),s&&n===0&&i===\"\"&&t===\"\")return c(g);if(s&&n===0&&(t===i||t===\"\"))return c(i[0])+a(i.slice(1));i=tN.isPrimitive(i)?`${i}`:\"\",t=tN.isPrimitive(t)?`${t}`:\"\";let h=i&&i.startsWith(t)&&i!==t,p=h?c(i[t.length]):f;if(n!==t.length&&s===!0&&(u=t.slice(0,n)+c(t[n])+t.slice(n+1),p=\"\"),s===!1&&(p=\"\"),h){let m=r.styles.unstyle(u+p);return u+p+a(i.slice(m.length))}return u+p}});var H0=w((Rft,Cie)=>{\"use strict\";var qGe=yo(),JGe=Ll(),WGe=rN(),mie=class extends JGe{constructor(e){super(te(N({},e),{multiple:!0}));this.type=\"form\",this.initial=this.options.initial,this.align=[this.options.align,\"right\"].find(t=>t!=null),this.emptyError=\"\",this.values={}}async reset(e){return await super.reset(),e===!0&&(this._index=this.index),this.index=this._index,this.values={},this.choices.forEach(t=>t.reset&&t.reset()),this.render()}dispatch(e){return!!e&&this.append(e)}append(e){let t=this.focused;if(!t)return this.alert();let{cursor:i,input:n}=t;return t.value=t.input=n.slice(0,i)+e+n.slice(i),t.cursor++,this.render()}delete(){let e=this.focused;if(!e||e.cursor<=0)return this.alert();let{cursor:t,input:i}=e;return e.value=e.input=i.slice(0,t-1)+i.slice(t),e.cursor--,this.render()}deleteForward(){let e=this.focused;if(!e)return this.alert();let{cursor:t,input:i}=e;if(i[t]===void 0)return this.alert();let n=`${i}`.slice(0,t)+`${i}`.slice(t+1);return e.value=e.input=n,this.render()}right(){let e=this.focused;return e?e.cursor>=e.input.length?this.alert():(e.cursor++,this.render()):this.alert()}left(){let e=this.focused;return e?e.cursor<=0?this.alert():(e.cursor--,this.render()):this.alert()}space(e,t){return this.dispatch(e,t)}number(e,t){return this.dispatch(e,t)}next(){let e=this.focused;if(!e)return this.alert();let{initial:t,input:i}=e;return t&&t.startsWith(i)&&i!==t?(e.value=e.input=t,e.cursor=e.value.length,this.render()):super.next()}prev(){let e=this.focused;return e?e.cursor===0?super.prev():(e.value=e.input=\"\",e.cursor=0,this.render()):this.alert()}separator(){return\"\"}format(e){return this.state.submitted?\"\":super.format(e)}pointer(){return\"\"}indicator(e){return e.input?\"\\u29BF\":\"\\u2299\"}async choiceSeparator(e,t){let i=await this.resolve(e.separator,this.state,e,t)||\":\";return i?\" \"+this.styles.disabled(i):\"\"}async renderChoice(e,t){await this.onChoice(e,t);let{state:i,styles:n}=this,{cursor:s,initial:o=\"\",name:a,hint:l,input:c=\"\"}=e,{muted:u,submitted:g,primary:f,danger:h}=n,p=l,m=this.index===t,y=e.validate||(()=>!0),b=await this.choiceSeparator(e,t),v=e.message;this.align===\"right\"&&(v=v.padStart(this.longest+1,\" \")),this.align===\"left\"&&(v=v.padEnd(this.longest+1,\" \"));let k=this.values[a]=c||o,T=c?\"success\":\"dark\";await y.call(e,k,this.state)!==!0&&(T=\"danger\");let q=n[T](await this.indicator(e,t))+(e.pad||\"\"),$=this.indent(e),z=()=>[$,q,v+b,c,p].filter(Boolean).join(\" \");if(i.submitted)return v=qGe.unstyle(v),c=g(c),p=\"\",z();if(e.format)c=await e.format.call(this,c,e,t);else{let ne=this.styles.muted;c=WGe(this,{input:c,initial:o,pos:s,showCursor:m,color:ne})}return this.isValue(c)||(c=this.styles.muted(this.symbols.ellipsis)),e.result&&(this.values[a]=await e.result.call(this,k,e,t)),m&&(v=f(v)),e.error?c+=(c?\" \":\"\")+h(e.error.trim()):e.hint&&(c+=(c?\" \":\"\")+u(e.hint.trim())),z()}async submit(){return this.value=this.values,super.base.submit.call(this)}};Cie.exports=mie});var iN=w((Fft,Eie)=>{\"use strict\";var zGe=H0(),_Ge=()=>{throw new Error(\"expected prompt to have a custom authenticate method\")},Iie=(r=_Ge)=>{class e extends zGe{constructor(i){super(i)}async submit(){this.value=await r.call(this,this.values,this.state),super.base.submit.call(this)}static create(i){return Iie(i)}}return e};Eie.exports=Iie()});var Bie=w((Nft,yie)=>{\"use strict\";var VGe=iN();function XGe(r,e){return r.username===this.options.username&&r.password===this.options.password}var wie=(r=XGe)=>{let e=[{name:\"username\",message:\"username\"},{name:\"password\",message:\"password\",format(i){return this.options.showPassword?i:(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(i.length))}}];class t extends VGe.create(r){constructor(n){super(te(N({},n),{choices:e}))}static create(n){return wie(n)}}return t};yie.exports=wie()});var j0=w((Lft,bie)=>{\"use strict\";var ZGe=Vf(),{isPrimitive:$Ge,hasColor:eYe}=Xi(),Qie=class extends ZGe{constructor(e){super(e);this.cursorHide()}async initialize(){let e=await this.resolve(this.initial,this.state);this.input=await this.cast(e),await super.initialize()}dispatch(e){return this.isValue(e)?(this.input=e,this.submit()):this.alert()}format(e){let{styles:t,state:i}=this;return i.submitted?t.success(e):t.primary(e)}cast(e){return this.isTrue(e)}isTrue(e){return/^[ty1]/i.test(e)}isFalse(e){return/^[fn0]/i.test(e)}isValue(e){return $Ge(e)&&(this.isTrue(e)||this.isFalse(e))}async hint(){if(this.state.status===\"pending\"){let e=await this.element(\"hint\");return eYe(e)?e:this.styles.muted(e)}}async render(){let{input:e,size:t}=this.state,i=await this.prefix(),n=await this.separator(),s=await this.message(),o=this.styles.muted(this.default),a=[i,s,o,n].filter(Boolean).join(\" \");this.state.prompt=a;let l=await this.header(),c=this.value=this.cast(e),u=await this.format(c),g=await this.error()||await this.hint(),f=await this.footer();g&&!a.includes(g)&&(u+=\" \"+g),a+=\" \"+u,this.clear(t),this.write([l,a,f].filter(Boolean).join(`\n`)),this.restore()}set value(e){super.value=e}get value(){return this.cast(super.value)}};bie.exports=Qie});var kie=w((Tft,Sie)=>{\"use strict\";var tYe=j0(),vie=class extends tYe{constructor(e){super(e);this.default=this.options.default||(this.initial?\"(Y/n)\":\"(y/N)\")}};Sie.exports=vie});var Die=w((Oft,xie)=>{\"use strict\";var rYe=Ll(),iYe=H0(),Xf=iYe.prototype,Pie=class extends rYe{constructor(e){super(te(N({},e),{multiple:!0}));this.align=[this.options.align,\"left\"].find(t=>t!=null),this.emptyError=\"\",this.values={}}dispatch(e,t){let i=this.focused,n=i.parent||{};return!i.editable&&!n.editable&&(e===\"a\"||e===\"i\")?super[e]():Xf.dispatch.call(this,e,t)}append(e,t){return Xf.append.call(this,e,t)}delete(e,t){return Xf.delete.call(this,e,t)}space(e){return this.focused.editable?this.append(e):super.space()}number(e){return this.focused.editable?this.append(e):super.number(e)}next(){return this.focused.editable?Xf.next.call(this):super.next()}prev(){return this.focused.editable?Xf.prev.call(this):super.prev()}async indicator(e,t){let i=e.indicator||\"\",n=e.editable?i:super.indicator(e,t);return await this.resolve(n,this.state,e,t)||\"\"}indent(e){return e.role===\"heading\"?\"\":e.editable?\" \":\"  \"}async renderChoice(e,t){return e.indent=\"\",e.editable?Xf.renderChoice.call(this,e,t):super.renderChoice(e,t)}error(){return\"\"}footer(){return this.state.error}async validate(){let e=!0;for(let t of this.choices){if(typeof t.validate!=\"function\"||t.role===\"heading\")continue;let i=t.parent?this.value[t.parent.name]:this.value;if(t.editable?i=t.value===t.name?t.initial||\"\":t.value:this.isDisabled(t)||(i=t.enabled===!0),e=await t.validate(i,this.state),e!==!0)break}return e!==!0&&(this.state.error=typeof e==\"string\"?e:\"Invalid Input\"),e}submit(){if(this.focused.newChoice===!0)return super.submit();if(this.choices.some(e=>e.newChoice))return this.alert();this.value={};for(let e of this.choices){let t=e.parent?this.value[e.parent.name]:this.value;if(e.role===\"heading\"){this.value[e.name]={};continue}e.editable?t[e.name]=e.value===e.name?e.initial||\"\":e.value:this.isDisabled(e)||(t[e.name]=e.enabled===!0)}return this.base.submit.call(this)}};xie.exports=Pie});var Bu=w((Mft,Rie)=>{\"use strict\";var nYe=Vf(),sYe=rN(),{isPrimitive:oYe}=Xi(),Fie=class extends nYe{constructor(e){super(e);this.initial=oYe(this.initial)?String(this.initial):\"\",this.initial&&this.cursorHide(),this.state.prevCursor=0,this.state.clipboard=[]}async keypress(e,t={}){let i=this.state.prevKeypress;return this.state.prevKeypress=t,this.options.multiline===!0&&t.name===\"return\"&&(!i||i.name!==\"return\")?this.append(`\n`,t):super.keypress(e,t)}moveCursor(e){this.cursor+=e}reset(){return this.input=this.value=\"\",this.cursor=0,this.render()}dispatch(e,t){if(!e||t.ctrl||t.code)return this.alert();this.append(e)}append(e){let{cursor:t,input:i}=this.state;this.input=`${i}`.slice(0,t)+e+`${i}`.slice(t),this.moveCursor(String(e).length),this.render()}insert(e){this.append(e)}delete(){let{cursor:e,input:t}=this.state;if(e<=0)return this.alert();this.input=`${t}`.slice(0,e-1)+`${t}`.slice(e),this.moveCursor(-1),this.render()}deleteForward(){let{cursor:e,input:t}=this.state;if(t[e]===void 0)return this.alert();this.input=`${t}`.slice(0,e)+`${t}`.slice(e+1),this.render()}cutForward(){let e=this.cursor;if(this.input.length<=e)return this.alert();this.state.clipboard.push(this.input.slice(e)),this.input=this.input.slice(0,e),this.render()}cutLeft(){let e=this.cursor;if(e===0)return this.alert();let t=this.input.slice(0,e),i=this.input.slice(e),n=t.split(\" \");this.state.clipboard.push(n.pop()),this.input=n.join(\" \"),this.cursor=this.input.length,this.input+=i,this.render()}paste(){if(!this.state.clipboard.length)return this.alert();this.insert(this.state.clipboard.pop()),this.render()}toggleCursor(){this.state.prevCursor?(this.cursor=this.state.prevCursor,this.state.prevCursor=0):(this.state.prevCursor=this.cursor,this.cursor=0),this.render()}first(){this.cursor=0,this.render()}last(){this.cursor=this.input.length-1,this.render()}next(){let e=this.initial!=null?String(this.initial):\"\";if(!e||!e.startsWith(this.input))return this.alert();this.input=this.initial,this.cursor=this.initial.length,this.render()}prev(){if(!this.input)return this.alert();this.reset()}backward(){return this.left()}forward(){return this.right()}right(){return this.cursor>=this.input.length?this.alert():(this.moveCursor(1),this.render())}left(){return this.cursor<=0?this.alert():(this.moveCursor(-1),this.render())}isValue(e){return!!e}async format(e=this.value){let t=await this.resolve(this.initial,this.state);return this.state.submitted?this.styles.submitted(e||t):sYe(this,{input:e,initial:t,pos:this.cursor})}async render(){let e=this.state.size,t=await this.prefix(),i=await this.separator(),n=await this.message(),s=[t,n,i].filter(Boolean).join(\" \");this.state.prompt=s;let o=await this.header(),a=await this.format(),l=await this.error()||await this.hint(),c=await this.footer();l&&!a.includes(l)&&(a+=\" \"+l),s+=\" \"+a,this.clear(e),this.write([o,s,c].filter(Boolean).join(`\n`)),this.restore()}};Rie.exports=Fie});var Lie=w((Uft,Nie)=>{\"use strict\";var aYe=r=>r.filter((e,t)=>r.lastIndexOf(e)===t),G0=r=>aYe(r).filter(Boolean);Nie.exports=(r,e={},t=\"\")=>{let{past:i=[],present:n=\"\"}=e,s,o;switch(r){case\"prev\":case\"undo\":return s=i.slice(0,i.length-1),o=i[i.length-1]||\"\",{past:G0([t,...s]),present:o};case\"next\":case\"redo\":return s=i.slice(1),o=i[0]||\"\",{past:G0([...s,t]),present:o};case\"save\":return{past:G0([...i,t]),present:\"\"};case\"remove\":return o=G0(i.filter(a=>a!==t)),n=\"\",o.length&&(n=o.pop()),{past:o,present:n};default:throw new Error(`Invalid action: \"${r}\"`)}}});var nN=w((Kft,Tie)=>{\"use strict\";var AYe=Bu(),Oie=Lie(),Mie=class extends AYe{constructor(e){super(e);let t=this.options.history;if(t&&t.store){let i=t.values||this.initial;this.autosave=!!t.autosave,this.store=t.store,this.data=this.store.get(\"values\")||{past:[],present:i},this.initial=this.data.present||this.data.past[this.data.past.length-1]}}completion(e){return this.store?(this.data=Oie(e,this.data,this.input),this.data.present?(this.input=this.data.present,this.cursor=this.input.length,this.render()):this.alert()):this.alert()}altUp(){return this.completion(\"prev\")}altDown(){return this.completion(\"next\")}prev(){return this.save(),super.prev()}save(){!this.store||(this.data=Oie(\"save\",this.data,this.input),this.store.set(\"values\",this.data))}submit(){return this.store&&this.autosave===!0&&this.save(),super.submit()}};Tie.exports=Mie});var Hie=w((Hft,Uie)=>{\"use strict\";var lYe=Bu(),Kie=class extends lYe{format(){return\"\"}};Uie.exports=Kie});var Yie=w((jft,jie)=>{\"use strict\";var cYe=Bu(),Gie=class extends cYe{constructor(e={}){super(e);this.sep=this.options.separator||/, */,this.initial=e.initial||\"\"}split(e=this.value){return e?String(e).split(this.sep):[]}format(){let e=this.state.submitted?this.styles.primary:t=>t;return this.list.map(e).join(\", \")}async submit(e){let t=this.state.error||await this.validate(this.list,this.state);return t!==!0?(this.state.error=t,super.submit()):(this.value=this.list,super.submit())}get list(){return this.split()}};jie.exports=Gie});var Wie=w((Gft,qie)=>{\"use strict\";var uYe=Ll(),Jie=class extends uYe{constructor(e){super(te(N({},e),{multiple:!0}))}};qie.exports=Jie});var sN=w((Yft,zie)=>{\"use strict\";var gYe=Bu(),_ie=class extends gYe{constructor(e={}){super(N({style:\"number\"},e));this.min=this.isValue(e.min)?this.toNumber(e.min):-Infinity,this.max=this.isValue(e.max)?this.toNumber(e.max):Infinity,this.delay=e.delay!=null?e.delay:1e3,this.float=e.float!==!1,this.round=e.round===!0||e.float===!1,this.major=e.major||10,this.minor=e.minor||1,this.initial=e.initial!=null?e.initial:\"\",this.input=String(this.initial),this.cursor=this.input.length,this.cursorShow()}append(e){return!/[-+.]/.test(e)||e===\".\"&&this.input.includes(\".\")?this.alert(\"invalid number\"):super.append(e)}number(e){return super.append(e)}next(){return this.input&&this.input!==this.initial?this.alert():this.isValue(this.initial)?(this.input=this.initial,this.cursor=String(this.initial).length,this.render()):this.alert()}up(e){let t=e||this.minor,i=this.toNumber(this.input);return i>this.max+t?this.alert():(this.input=`${i+t}`,this.render())}down(e){let t=e||this.minor,i=this.toNumber(this.input);return i<this.min-t?this.alert():(this.input=`${i-t}`,this.render())}shiftDown(){return this.down(this.major)}shiftUp(){return this.up(this.major)}format(e=this.input){return typeof this.options.format==\"function\"?this.options.format.call(this,e):this.styles.info(e)}toNumber(e=\"\"){return this.float?+e:Math.round(+e)}isValue(e){return/^[-+]?[0-9]+((\\.)|(\\.[0-9]+))?$/.test(e)}submit(){let e=[this.input,this.initial].find(t=>this.isValue(t));return this.value=this.toNumber(e||0),super.submit()}};zie.exports=_ie});var Xie=w((qft,Vie)=>{Vie.exports=sN()});var ene=w((Jft,Zie)=>{\"use strict\";var fYe=Bu(),$ie=class extends fYe{constructor(e){super(e);this.cursorShow()}format(e=this.input){return this.keypressed?(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(e.length)):\"\"}};Zie.exports=$ie});var nne=w((Wft,tne)=>{\"use strict\";var hYe=yo(),pYe=JC(),rne=Xi(),ine=class extends pYe{constructor(e={}){super(e);this.widths=[].concat(e.messageWidth||50),this.align=[].concat(e.align||\"left\"),this.linebreak=e.linebreak||!1,this.edgeLength=e.edgeLength||3,this.newline=e.newline||`\n   `;let t=e.startNumber||1;typeof this.scale==\"number\"&&(this.scaleKey=!1,this.scale=Array(this.scale).fill(0).map((i,n)=>({name:n+t})))}async reset(){return this.tableized=!1,await super.reset(),this.render()}tableize(){if(this.tableized===!0)return;this.tableized=!0;let e=0;for(let t of this.choices){e=Math.max(e,t.message.length),t.scaleIndex=t.initial||2,t.scale=[];for(let i=0;i<this.scale.length;i++)t.scale.push({index:i})}this.widths[0]=Math.min(this.widths[0],e+3)}async dispatch(e,t){if(this.multiple)return this[t.name]?await this[t.name](e,t):await super.dispatch(e,t);this.alert()}heading(e,t,i){return this.styles.strong(e)}separator(){return this.styles.muted(this.symbols.ellipsis)}right(){let e=this.focused;return e.scaleIndex>=this.scale.length-1?this.alert():(e.scaleIndex++,this.render())}left(){let e=this.focused;return e.scaleIndex<=0?this.alert():(e.scaleIndex--,this.render())}indent(){return\"\"}format(){return this.state.submitted?this.choices.map(t=>this.styles.info(t.index)).join(\", \"):\"\"}pointer(){return\"\"}renderScaleKey(){if(this.scaleKey===!1||this.state.submitted)return\"\";let e=this.scale.map(i=>`   ${i.name} - ${i.message}`);return[\"\",...e].map(i=>this.styles.muted(i)).join(`\n`)}renderScaleHeading(e){let t=this.scale.map(l=>l.name);typeof this.options.renderScaleHeading==\"function\"&&(t=this.options.renderScaleHeading.call(this,e));let i=this.scaleLength-t.join(\"\").length,n=Math.round(i/(t.length-1)),o=t.map(l=>this.styles.strong(l)).join(\" \".repeat(n)),a=\" \".repeat(this.widths[0]);return this.margin[3]+a+this.margin[1]+o}scaleIndicator(e,t,i){if(typeof this.options.scaleIndicator==\"function\")return this.options.scaleIndicator.call(this,e,t,i);let n=e.scaleIndex===t.index;return t.disabled?this.styles.hint(this.symbols.radio.disabled):n?this.styles.success(this.symbols.radio.on):this.symbols.radio.off}renderScale(e,t){let i=e.scale.map(s=>this.scaleIndicator(e,s,t)),n=this.term===\"Hyper\"?\"\":\" \";return i.join(n+this.symbols.line.repeat(this.edgeLength))}async renderChoice(e,t){await this.onChoice(e,t);let i=this.index===t,n=await this.pointer(e,t),s=await e.hint;s&&!rne.hasColor(s)&&(s=this.styles.muted(s));let o=p=>this.margin[3]+p.replace(/\\s+$/,\"\").padEnd(this.widths[0],\" \"),a=this.newline,l=this.indent(e),c=await this.resolve(e.message,this.state,e,t),u=await this.renderScale(e,t),g=this.margin[1]+this.margin[3];this.scaleLength=hYe.unstyle(u).length,this.widths[0]=Math.min(this.widths[0],this.width-this.scaleLength-g.length);let h=rne.wordWrap(c,{width:this.widths[0],newline:a}).split(`\n`).map(p=>o(p)+this.margin[1]);return i&&(u=this.styles.info(u),h=h.map(p=>this.styles.info(p))),h[0]+=u,this.linebreak&&h.push(\"\"),[l+n,h.join(`\n`)].filter(Boolean)}async renderChoices(){if(this.state.submitted)return\"\";this.tableize();let e=this.visible.map(async(n,s)=>await this.renderChoice(n,s)),t=await Promise.all(e),i=await this.renderScaleHeading();return this.margin[0]+[i,...t.map(n=>n.join(\" \"))].join(`\n`)}async render(){let{submitted:e,size:t}=this.state,i=await this.prefix(),n=await this.separator(),s=await this.message(),o=\"\";this.options.promptLine!==!1&&(o=[i,s,n,\"\"].join(\" \"),this.state.prompt=o);let a=await this.header(),l=await this.format(),c=await this.renderScaleKey(),u=await this.error()||await this.hint(),g=await this.renderChoices(),f=await this.footer(),h=this.emptyError;l&&(o+=l),u&&!o.includes(u)&&(o+=\" \"+u),e&&!l&&!g.trim()&&this.multiple&&h!=null&&(o+=this.styles.danger(h)),this.clear(t),this.write([a,o,c,g,f].filter(Boolean).join(`\n`)),this.state.submitted||this.write(this.margin[2]),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIndex;return this.base.submit.call(this)}};tne.exports=ine});var Ane=w((zft,sne)=>{\"use strict\";var one=yo(),dYe=(r=\"\")=>typeof r==\"string\"?r.replace(/^['\"]|['\"]$/g,\"\"):\"\",ane=class{constructor(e){this.name=e.key,this.field=e.field||{},this.value=dYe(e.initial||this.field.initial||\"\"),this.message=e.message||this.name,this.cursor=0,this.input=\"\",this.lines=[]}},CYe=async(r={},e={},t=i=>i)=>{let i=new Set,n=r.fields||[],s=r.template,o=[],a=[],l=[],c=1;typeof s==\"function\"&&(s=await s());let u=-1,g=()=>s[++u],f=()=>s[u+1],h=p=>{p.line=c,o.push(p)};for(h({type:\"bos\",value:\"\"});u<s.length-1;){let p=g();if(/^[^\\S\\n ]$/.test(p)){h({type:\"text\",value:p});continue}if(p===`\n`){h({type:\"newline\",value:p}),c++;continue}if(p===\"\\\\\"){p+=g(),h({type:\"text\",value:p});continue}if((p===\"$\"||p===\"#\"||p===\"{\")&&f()===\"{\"){p+=g();let b={type:\"template\",open:p,inner:\"\",close:\"\",value:p},v;for(;v=g();){if(v===\"}\"){f()===\"}\"&&(v+=g()),b.value+=v,b.close=v;break}v===\":\"?(b.initial=\"\",b.key=b.inner):b.initial!==void 0&&(b.initial+=v),b.value+=v,b.inner+=v}b.template=b.open+(b.initial||b.inner)+b.close,b.key=b.key||b.inner,e.hasOwnProperty(b.key)&&(b.initial=e[b.key]),b=t(b),h(b),l.push(b.key),i.add(b.key);let k=a.find(T=>T.name===b.key);b.field=n.find(T=>T.name===b.key),k||(k=new ane(b),a.push(k)),k.lines.push(b.line-1);continue}let m=o[o.length-1];m.type===\"text\"&&m.line===c?m.value+=p:h({type:\"text\",value:p})}return h({type:\"eos\",value:\"\"}),{input:s,tabstops:o,unique:i,keys:l,items:a}};sne.exports=async r=>{let e=r.options,t=new Set(e.required===!0?[]:e.required||[]),i=N(N({},e.values),e.initial),{tabstops:n,items:s,keys:o}=await CYe(e,i),a=oN(\"result\",r,e),l=oN(\"format\",r,e),c=oN(\"validate\",r,e,!0),u=r.isValue.bind(r);return async(g={},f=!1)=>{let h=0;g.required=t,g.items=s,g.keys=o,g.output=\"\";let p=async(v,k,T,Y)=>{let q=await c(v,k,T,Y);return q===!1?\"Invalid field \"+T.name:q};for(let v of n){let k=v.value,T=v.key;if(v.type!==\"template\"){k&&(g.output+=k);continue}if(v.type===\"template\"){let Y=s.find(ee=>ee.name===T);e.required===!0&&g.required.add(Y.name);let q=[Y.input,g.values[Y.value],Y.value,k].find(u),z=(Y.field||{}).message||v.inner;if(f){let ee=await p(g.values[T],g,Y,h);if(ee&&typeof ee==\"string\"||ee===!1){g.invalid.set(T,ee);continue}g.invalid.delete(T);let A=await a(g.values[T],g,Y,h);g.output+=one.unstyle(A);continue}Y.placeholder=!1;let ne=k;k=await l(k,g,Y,h),q!==k?(g.values[T]=q,k=r.styles.typing(q),g.missing.delete(z)):(g.values[T]=void 0,q=`<${z}>`,k=r.styles.primary(q),Y.placeholder=!0,g.required.has(T)&&g.missing.add(z)),g.missing.has(z)&&g.validating&&(k=r.styles.warning(q)),g.invalid.has(T)&&g.validating&&(k=r.styles.danger(q)),h===g.index&&(ne!==k?k=r.styles.underline(k):k=r.styles.heading(one.unstyle(k))),h++}k&&(g.output+=k)}let m=g.output.split(`\n`).map(v=>\" \"+v),y=s.length,b=0;for(let v of s)g.invalid.has(v.name)&&v.lines.forEach(k=>{m[k][0]===\" \"&&(m[k]=g.styles.danger(g.symbols.bullet)+m[k].slice(1))}),r.isValue(g.values[v.name])&&b++;return g.completed=(b/y*100).toFixed(0),g.output=m.join(`\n`),g.output}};function oN(r,e,t,i){return(n,s,o,a)=>typeof o.field[r]==\"function\"?o.field[r].call(e,n,s,o,a):[i,n].find(l=>e.isValue(l))}});var une=w((_ft,lne)=>{\"use strict\";var mYe=yo(),EYe=Ane(),IYe=Vf(),cne=class extends IYe{constructor(e){super(e);this.cursorHide(),this.reset(!0)}async initialize(){this.interpolate=await EYe(this),await super.initialize()}async reset(e){this.state.keys=[],this.state.invalid=new Map,this.state.missing=new Set,this.state.completed=0,this.state.values={},e!==!0&&(await this.initialize(),await this.render())}moveCursor(e){let t=this.getItem();this.cursor+=e,t.cursor+=e}dispatch(e,t){if(!t.code&&!t.ctrl&&e!=null&&this.getItem()){this.append(e,t);return}this.alert()}append(e,t){let i=this.getItem(),n=i.input.slice(0,this.cursor),s=i.input.slice(this.cursor);this.input=i.input=`${n}${e}${s}`,this.moveCursor(1),this.render()}delete(){let e=this.getItem();if(this.cursor<=0||!e.input)return this.alert();let t=e.input.slice(this.cursor),i=e.input.slice(0,this.cursor-1);this.input=e.input=`${i}${t}`,this.moveCursor(-1),this.render()}increment(e){return e>=this.state.keys.length-1?0:e+1}decrement(e){return e<=0?this.state.keys.length-1:e-1}first(){this.state.index=0,this.render()}last(){this.state.index=this.state.keys.length-1,this.render()}right(){if(this.cursor>=this.input.length)return this.alert();this.moveCursor(1),this.render()}left(){if(this.cursor<=0)return this.alert();this.moveCursor(-1),this.render()}prev(){this.state.index=this.decrement(this.state.index),this.getItem(),this.render()}next(){this.state.index=this.increment(this.state.index),this.getItem(),this.render()}up(){this.prev()}down(){this.next()}format(e){let t=this.state.completed<100?this.styles.warning:this.styles.success;return this.state.submitted===!0&&this.state.completed!==100&&(t=this.styles.danger),t(`${this.state.completed}% completed`)}async render(){let{index:e,keys:t=[],submitted:i,size:n}=this.state,s=[this.options.newline,`\n`].find(v=>v!=null),o=await this.prefix(),a=await this.separator(),l=await this.message(),c=[o,l,a].filter(Boolean).join(\" \");this.state.prompt=c;let u=await this.header(),g=await this.error()||\"\",f=await this.hint()||\"\",h=i?\"\":await this.interpolate(this.state),p=this.state.key=t[e]||\"\",m=await this.format(p),y=await this.footer();m&&(c+=\" \"+m),f&&!m&&this.state.completed===0&&(c+=\" \"+f),this.clear(n);let b=[u,c,h,y,g.trim()];this.write(b.filter(Boolean).join(s)),this.restore()}getItem(e){let{items:t,keys:i,index:n}=this.state,s=t.find(o=>o.name===i[n]);return s&&s.input!=null&&(this.input=s.input,this.cursor=s.cursor),s}async submit(){typeof this.interpolate!=\"function\"&&await this.initialize(),await this.interpolate(this.state,!0);let{invalid:e,missing:t,output:i,values:n}=this.state;if(e.size){let a=\"\";for(let[l,c]of e)a+=`Invalid ${l}: ${c}\n`;return this.state.error=a,super.submit()}if(t.size)return this.state.error=\"Required: \"+[...t.keys()].join(\", \"),super.submit();let o=mYe.unstyle(i).split(`\n`).map(a=>a.slice(1)).join(`\n`);return this.value={values:n,result:o},super.submit()}};lne.exports=cne});var hne=w((Vft,gne)=>{\"use strict\";var yYe=\"(Use <shift>+<up/down> to sort)\",wYe=Ll(),fne=class extends wYe{constructor(e){super(te(N({},e),{reorder:!1,sort:!0,multiple:!0}));this.state.hint=[this.options.hint,yYe].find(this.isValue.bind(this))}indicator(){return\"\"}async renderChoice(e,t){let i=await super.renderChoice(e,t),n=this.symbols.identicalTo+\" \",s=this.index===t&&this.sorting?this.styles.muted(n):\"  \";return this.options.drag===!1&&(s=\"\"),this.options.numbered===!0?s+`${t+1} - `+i:s+i}get selected(){return this.choices}submit(){return this.value=this.choices.map(e=>e.value),super.submit()}};gne.exports=fne});var Cne=w((Xft,pne)=>{\"use strict\";var BYe=JC(),dne=class extends BYe{constructor(e={}){super(e);if(this.emptyError=e.emptyError||\"No items were selected\",this.term=process.env.TERM_PROGRAM,!this.options.header){let t=[\"\",\"4 - Strongly Agree\",\"3 - Agree\",\"2 - Neutral\",\"1 - Disagree\",\"0 - Strongly Disagree\",\"\"];t=t.map(i=>this.styles.muted(i)),this.state.header=t.join(`\n   `)}}async toChoices(...e){if(this.createdScales)return!1;this.createdScales=!0;let t=await super.toChoices(...e);for(let i of t)i.scale=bYe(5,this.options),i.scaleIdx=2;return t}dispatch(){this.alert()}space(){let e=this.focused,t=e.scale[e.scaleIdx],i=t.selected;return e.scale.forEach(n=>n.selected=!1),t.selected=!i,this.render()}indicator(){return\"\"}pointer(){return\"\"}separator(){return this.styles.muted(this.symbols.ellipsis)}right(){let e=this.focused;return e.scaleIdx>=e.scale.length-1?this.alert():(e.scaleIdx++,this.render())}left(){let e=this.focused;return e.scaleIdx<=0?this.alert():(e.scaleIdx--,this.render())}indent(){return\"   \"}async renderChoice(e,t){await this.onChoice(e,t);let i=this.index===t,n=this.term===\"Hyper\",s=n?9:8,o=n?\"\":\" \",a=this.symbols.line.repeat(s),l=\" \".repeat(s+(n?0:1)),c=k=>(k?this.styles.success(\"\\u25C9\"):\"\\u25EF\")+o,u=t+1+\".\",g=i?this.styles.heading:this.styles.noop,f=await this.resolve(e.message,this.state,e,t),h=this.indent(e),p=h+e.scale.map((k,T)=>c(T===e.scaleIdx)).join(a),m=k=>k===e.scaleIdx?g(k):k,y=h+e.scale.map((k,T)=>m(T)).join(l),b=()=>[u,f].filter(Boolean).join(\" \"),v=()=>[b(),p,y,\" \"].filter(Boolean).join(`\n`);return i&&(p=this.styles.cyan(p),y=this.styles.cyan(y)),v()}async renderChoices(){if(this.state.submitted)return\"\";let e=this.visible.map(async(i,n)=>await this.renderChoice(i,n)),t=await Promise.all(e);return t.length||t.push(this.styles.danger(\"No matching choices\")),t.join(`\n`)}format(){return this.state.submitted?this.choices.map(t=>this.styles.info(t.scaleIdx)).join(\", \"):\"\"}async render(){let{submitted:e,size:t}=this.state,i=await this.prefix(),n=await this.separator(),s=await this.message(),o=[i,s,n].filter(Boolean).join(\" \");this.state.prompt=o;let a=await this.header(),l=await this.format(),c=await this.error()||await this.hint(),u=await this.renderChoices(),g=await this.footer();(l||!c)&&(o+=\" \"+l),c&&!o.includes(c)&&(o+=\" \"+c),e&&!l&&!u&&this.multiple&&this.type!==\"form\"&&(o+=this.styles.danger(this.emptyError)),this.clear(t),this.write([o,a,u,g].filter(Boolean).join(`\n`)),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIdx;return this.base.submit.call(this)}};function bYe(r,e={}){if(Array.isArray(e.scale))return e.scale.map(i=>N({},i));let t=[];for(let i=1;i<r+1;i++)t.push({i,selected:!1});return t}pne.exports=dne});var Ene=w((Zft,mne)=>{mne.exports=nN()});var wne=w(($ft,Ine)=>{\"use strict\";var QYe=j0(),yne=class extends QYe{async initialize(){await super.initialize(),this.value=this.initial=!!this.options.initial,this.disabled=this.options.disabled||\"no\",this.enabled=this.options.enabled||\"yes\",await this.render()}reset(){this.value=this.initial,this.render()}delete(){this.alert()}toggle(){this.value=!this.value,this.render()}enable(){if(this.value===!0)return this.alert();this.value=!0,this.render()}disable(){if(this.value===!1)return this.alert();this.value=!1,this.render()}up(){this.toggle()}down(){this.toggle()}right(){this.toggle()}left(){this.toggle()}next(){this.toggle()}prev(){this.toggle()}dispatch(e=\"\",t){switch(e.toLowerCase()){case\" \":return this.toggle();case\"1\":case\"y\":case\"t\":return this.enable();case\"0\":case\"n\":case\"f\":return this.disable();default:return this.alert()}}format(){let e=i=>this.styles.primary.underline(i);return[this.value?this.disabled:e(this.disabled),this.value?e(this.enabled):this.enabled].join(this.styles.muted(\" / \"))}async render(){let{size:e}=this.state,t=await this.header(),i=await this.prefix(),n=await this.separator(),s=await this.message(),o=await this.format(),a=await this.error()||await this.hint(),l=await this.footer(),c=[i,s,n,o].join(\" \");this.state.prompt=c,a&&!c.includes(a)&&(c+=\" \"+a),this.clear(e),this.write([t,c,l].filter(Boolean).join(`\n`)),this.write(this.margin[2]),this.restore()}};Ine.exports=yne});var Qne=w((eht,Bne)=>{\"use strict\";var SYe=Ll(),bne=class extends SYe{constructor(e){super(e);if(typeof this.options.correctChoice!=\"number\"||this.options.correctChoice<0)throw new Error(\"Please specify the index of the correct answer from the list of choices\")}async toChoices(e,t){let i=await super.toChoices(e,t);if(i.length<2)throw new Error(\"Please give at least two choices to the user\");if(this.options.correctChoice>i.length)throw new Error(\"Please specify the index of the correct answer from the list of choices\");return i}check(e){return e.index===this.options.correctChoice}async result(e){return{selectedAnswer:e,correctAnswer:this.options.choices[this.options.correctChoice].value,correct:await this.check(this.state)}}};Bne.exports=bne});var vne=w(aN=>{\"use strict\";var Sne=Xi(),mi=(r,e)=>{Sne.defineExport(aN,r,e),Sne.defineExport(aN,r.toLowerCase(),e)};mi(\"AutoComplete\",()=>pie());mi(\"BasicAuth\",()=>Bie());mi(\"Confirm\",()=>kie());mi(\"Editable\",()=>Die());mi(\"Form\",()=>H0());mi(\"Input\",()=>nN());mi(\"Invisible\",()=>Hie());mi(\"List\",()=>Yie());mi(\"MultiSelect\",()=>Wie());mi(\"Numeral\",()=>Xie());mi(\"Password\",()=>ene());mi(\"Scale\",()=>nne());mi(\"Select\",()=>Ll());mi(\"Snippet\",()=>une());mi(\"Sort\",()=>hne());mi(\"Survey\",()=>Cne());mi(\"Text\",()=>Ene());mi(\"Toggle\",()=>wne());mi(\"Quiz\",()=>Qne())});var xne=w((rht,kne)=>{kne.exports={ArrayPrompt:JC(),AuthPrompt:iN(),BooleanPrompt:j0(),NumberPrompt:sN(),StringPrompt:Bu()}});var zC=w((iht,Pne)=>{\"use strict\";var Dne=require(\"assert\"),AN=require(\"events\"),Tl=Xi(),pa=class extends AN{constructor(e,t){super();this.options=Tl.merge({},e),this.answers=N({},t)}register(e,t){if(Tl.isObject(e)){for(let n of Object.keys(e))this.register(n,e[n]);return this}Dne.equal(typeof t,\"function\",\"expected a function\");let i=e.toLowerCase();return t.prototype instanceof this.Prompt?this.prompts[i]=t:this.prompts[i]=t(this.Prompt,this),this}async prompt(e=[]){for(let t of[].concat(e))try{typeof t==\"function\"&&(t=await t.call(this)),await this.ask(Tl.merge({},this.options,t))}catch(i){return Promise.reject(i)}return this.answers}async ask(e){typeof e==\"function\"&&(e=await e.call(this));let t=Tl.merge({},this.options,e),{type:i,name:n}=e,{set:s,get:o}=Tl;if(typeof i==\"function\"&&(i=await i.call(this,e,this.answers)),!i)return this.answers[n];Dne(this.prompts[i],`Prompt \"${i}\" is not registered`);let a=new this.prompts[i](t),l=o(this.answers,n);a.state.answers=this.answers,a.enquirer=this,n&&a.on(\"submit\",u=>{this.emit(\"answer\",n,u,a),s(this.answers,n,u)});let c=a.emit.bind(a);return a.emit=(...u)=>(this.emit.call(this,...u),c(...u)),this.emit(\"prompt\",a,this),t.autofill&&l!=null?(a.value=a.input=l,t.autofill===\"show\"&&await a.submit()):l=a.value=await a.run(),l}use(e){return e.call(this,this),this}set Prompt(e){this._Prompt=e}get Prompt(){return this._Prompt||this.constructor.Prompt}get prompts(){return this.constructor.prompts}static set Prompt(e){this._Prompt=e}static get Prompt(){return this._Prompt||Vf()}static get prompts(){return vne()}static get types(){return xne()}static get prompt(){let e=(t,...i)=>{let n=new this(...i),s=n.emit.bind(n);return n.emit=(...o)=>(e.emit(...o),s(...o)),n.prompt(t)};return Tl.mixinEmitter(e,new AN),e}};Tl.mixinEmitter(pa,new AN);var lN=pa.prompts;for(let r of Object.keys(lN)){let e=r.toLowerCase(),t=i=>new lN[r](i).run();pa.prompt[e]=t,pa[e]=t,pa[r]||Reflect.defineProperty(pa,r,{get:()=>lN[r]})}var WC=r=>{Tl.defineExport(pa,r,()=>pa.types[r])};WC(\"ArrayPrompt\");WC(\"AuthPrompt\");WC(\"BooleanPrompt\");WC(\"NumberPrompt\");WC(\"StringPrompt\");Pne.exports=pa});var Yne=w((Jht,Gne)=>{function DYe(r,e){for(var t=-1,i=r==null?0:r.length;++t<i&&e(r[t],t,r)!==!1;);return r}Gne.exports=DYe});var $f=w((Wht,qne)=>{var RYe=e0(),FYe=Lf();function NYe(r,e,t,i){var n=!t;t||(t={});for(var s=-1,o=e.length;++s<o;){var a=e[s],l=i?i(t[a],r[a],a,t,r):void 0;l===void 0&&(l=r[a]),n?FYe(t,a,l):RYe(t,a,l)}return t}qne.exports=NYe});var Wne=w((zht,Jne)=>{var LYe=$f(),TYe=Kf();function OYe(r,e){return r&&LYe(e,TYe(e),r)}Jne.exports=OYe});var _ne=w((_ht,zne)=>{function MYe(r){var e=[];if(r!=null)for(var t in Object(r))e.push(t);return e}zne.exports=MYe});var Xne=w((Vht,Vne)=>{var UYe=Fn(),KYe=h0(),HYe=_ne(),jYe=Object.prototype,GYe=jYe.hasOwnProperty;function YYe(r){if(!UYe(r))return HYe(r);var e=KYe(r),t=[];for(var i in r)i==\"constructor\"&&(e||!GYe.call(r,i))||t.push(i);return t}Vne.exports=YYe});var eh=w((Xht,Zne)=>{var qYe=eF(),JYe=Xne(),WYe=kC();function zYe(r){return WYe(r)?qYe(r,!0):JYe(r)}Zne.exports=zYe});var ese=w((Zht,$ne)=>{var _Ye=$f(),VYe=eh();function XYe(r,e){return r&&_Ye(e,VYe(e),r)}$ne.exports=XYe});var pN=w((tm,th)=>{var ZYe=Ts(),tse=typeof tm==\"object\"&&tm&&!tm.nodeType&&tm,rse=tse&&typeof th==\"object\"&&th&&!th.nodeType&&th,$Ye=rse&&rse.exports===tse,ise=$Ye?ZYe.Buffer:void 0,nse=ise?ise.allocUnsafe:void 0;function eqe(r,e){if(e)return r.slice();var t=r.length,i=nse?nse(t):new r.constructor(t);return r.copy(i),i}th.exports=eqe});var dN=w(($ht,sse)=>{function tqe(r,e){var t=-1,i=r.length;for(e||(e=Array(i));++t<i;)e[t]=r[t];return e}sse.exports=tqe});var ase=w((ept,ose)=>{var rqe=$f(),iqe=d0();function nqe(r,e){return rqe(r,iqe(r),e)}ose.exports=nqe});var Y0=w((tpt,Ase)=>{var sqe=tF(),oqe=sqe(Object.getPrototypeOf,Object);Ase.exports=oqe});var CN=w((rpt,lse)=>{var aqe=r0(),Aqe=Y0(),lqe=d0(),cqe=aF(),uqe=Object.getOwnPropertySymbols,gqe=uqe?function(r){for(var e=[];r;)aqe(e,lqe(r)),r=Aqe(r);return e}:cqe;lse.exports=gqe});var use=w((ipt,cse)=>{var fqe=$f(),hqe=CN();function pqe(r,e){return fqe(r,hqe(r),e)}cse.exports=pqe});var fse=w((npt,gse)=>{var dqe=oF(),Cqe=CN(),mqe=eh();function Eqe(r){return dqe(r,mqe,Cqe)}gse.exports=Eqe});var pse=w((spt,hse)=>{var Iqe=Object.prototype,yqe=Iqe.hasOwnProperty;function wqe(r){var e=r.length,t=new r.constructor(e);return e&&typeof r[0]==\"string\"&&yqe.call(r,\"index\")&&(t.index=r.index,t.input=r.input),t}hse.exports=wqe});var q0=w((opt,dse)=>{var Cse=nF();function Bqe(r){var e=new r.constructor(r.byteLength);return new Cse(e).set(new Cse(r)),e}dse.exports=Bqe});var Ese=w((apt,mse)=>{var bqe=q0();function Qqe(r,e){var t=e?bqe(r.buffer):r.buffer;return new r.constructor(t,r.byteOffset,r.byteLength)}mse.exports=Qqe});var yse=w((Apt,Ise)=>{var Sqe=/\\w*$/;function vqe(r){var e=new r.constructor(r.source,Sqe.exec(r));return e.lastIndex=r.lastIndex,e}Ise.exports=vqe});var Sse=w((lpt,wse)=>{var Bse=Wc(),bse=Bse?Bse.prototype:void 0,Qse=bse?bse.valueOf:void 0;function kqe(r){return Qse?Object(Qse.call(r)):{}}wse.exports=kqe});var mN=w((cpt,vse)=>{var xqe=q0();function Pqe(r,e){var t=e?xqe(r.buffer):r.buffer;return new r.constructor(t,r.byteOffset,r.length)}vse.exports=Pqe});var xse=w((upt,kse)=>{var Dqe=q0(),Rqe=Ese(),Fqe=yse(),Nqe=Sse(),Lqe=mN(),Tqe=\"[object Boolean]\",Oqe=\"[object Date]\",Mqe=\"[object Map]\",Uqe=\"[object Number]\",Kqe=\"[object RegExp]\",Hqe=\"[object Set]\",jqe=\"[object String]\",Gqe=\"[object Symbol]\",Yqe=\"[object ArrayBuffer]\",qqe=\"[object DataView]\",Jqe=\"[object Float32Array]\",Wqe=\"[object Float64Array]\",zqe=\"[object Int8Array]\",_qe=\"[object Int16Array]\",Vqe=\"[object Int32Array]\",Xqe=\"[object Uint8Array]\",Zqe=\"[object Uint8ClampedArray]\",$qe=\"[object Uint16Array]\",eJe=\"[object Uint32Array]\";function tJe(r,e,t){var i=r.constructor;switch(e){case Yqe:return Dqe(r);case Tqe:case Oqe:return new i(+r);case qqe:return Rqe(r,t);case Jqe:case Wqe:case zqe:case _qe:case Vqe:case Xqe:case Zqe:case $qe:case eJe:return Lqe(r,t);case Mqe:return new i;case Uqe:case jqe:return new i(r);case Kqe:return Fqe(r);case Hqe:return new i;case Gqe:return Nqe(r)}}kse.exports=tJe});var Rse=w((gpt,Pse)=>{var rJe=Fn(),Dse=Object.create,iJe=function(){function r(){}return function(e){if(!rJe(e))return{};if(Dse)return Dse(e);r.prototype=e;var t=new r;return r.prototype=void 0,t}}();Pse.exports=iJe});var EN=w((fpt,Fse)=>{var nJe=Rse(),sJe=Y0(),oJe=h0();function aJe(r){return typeof r.constructor==\"function\"&&!oJe(r)?nJe(sJe(r)):{}}Fse.exports=aJe});var Lse=w((hpt,Nse)=>{var AJe=PC(),lJe=ra(),cJe=\"[object Map]\";function uJe(r){return lJe(r)&&AJe(r)==cJe}Nse.exports=uJe});var Use=w((ppt,Tse)=>{var gJe=Lse(),fJe=u0(),Ose=g0(),Mse=Ose&&Ose.isMap,hJe=Mse?fJe(Mse):gJe;Tse.exports=hJe});var Hse=w((dpt,Kse)=>{var pJe=PC(),dJe=ra(),CJe=\"[object Set]\";function mJe(r){return dJe(r)&&pJe(r)==CJe}Kse.exports=mJe});var qse=w((Cpt,jse)=>{var EJe=Hse(),IJe=u0(),Gse=g0(),Yse=Gse&&Gse.isSet,yJe=Yse?IJe(Yse):EJe;jse.exports=yJe});var Vse=w((mpt,Jse)=>{var wJe=xC(),BJe=Yne(),bJe=e0(),QJe=Wne(),SJe=ese(),vJe=pN(),kJe=dN(),xJe=ase(),PJe=use(),DJe=AF(),RJe=fse(),FJe=PC(),NJe=pse(),LJe=xse(),TJe=EN(),OJe=Hs(),MJe=QC(),UJe=Use(),KJe=Fn(),HJe=qse(),jJe=Kf(),GJe=eh(),YJe=1,qJe=2,JJe=4,Wse=\"[object Arguments]\",WJe=\"[object Array]\",zJe=\"[object Boolean]\",_Je=\"[object Date]\",VJe=\"[object Error]\",zse=\"[object Function]\",XJe=\"[object GeneratorFunction]\",ZJe=\"[object Map]\",$Je=\"[object Number]\",_se=\"[object Object]\",eWe=\"[object RegExp]\",tWe=\"[object Set]\",rWe=\"[object String]\",iWe=\"[object Symbol]\",nWe=\"[object WeakMap]\",sWe=\"[object ArrayBuffer]\",oWe=\"[object DataView]\",aWe=\"[object Float32Array]\",AWe=\"[object Float64Array]\",lWe=\"[object Int8Array]\",cWe=\"[object Int16Array]\",uWe=\"[object Int32Array]\",gWe=\"[object Uint8Array]\",fWe=\"[object Uint8ClampedArray]\",hWe=\"[object Uint16Array]\",pWe=\"[object Uint32Array]\",dr={};dr[Wse]=dr[WJe]=dr[sWe]=dr[oWe]=dr[zJe]=dr[_Je]=dr[aWe]=dr[AWe]=dr[lWe]=dr[cWe]=dr[uWe]=dr[ZJe]=dr[$Je]=dr[_se]=dr[eWe]=dr[tWe]=dr[rWe]=dr[iWe]=dr[gWe]=dr[fWe]=dr[hWe]=dr[pWe]=!0;dr[VJe]=dr[zse]=dr[nWe]=!1;function J0(r,e,t,i,n,s){var o,a=e&YJe,l=e&qJe,c=e&JJe;if(t&&(o=n?t(r,i,n,s):t(r)),o!==void 0)return o;if(!KJe(r))return r;var u=OJe(r);if(u){if(o=NJe(r),!a)return kJe(r,o)}else{var g=FJe(r),f=g==zse||g==XJe;if(MJe(r))return vJe(r,a);if(g==_se||g==Wse||f&&!n){if(o=l||f?{}:TJe(r),!a)return l?PJe(r,SJe(o,r)):xJe(r,QJe(o,r))}else{if(!dr[g])return n?r:{};o=LJe(r,g,a)}}s||(s=new wJe);var h=s.get(r);if(h)return h;s.set(r,o),HJe(r)?r.forEach(function(y){o.add(J0(y,e,t,y,r,s))}):UJe(r)&&r.forEach(function(y,b){o.set(b,J0(y,e,t,b,r,s))});var p=c?l?RJe:DJe:l?GJe:jJe,m=u?void 0:p(r);return BJe(m||r,function(y,b){m&&(b=y,y=r[b]),bJe(o,b,J0(y,e,t,b,r,s))}),o}Jse.exports=J0});var IN=w((Ept,Xse)=>{var dWe=Vse(),CWe=1,mWe=4;function EWe(r){return dWe(r,CWe|mWe)}Xse.exports=EWe});var $se=w((Ipt,Zse)=>{var IWe=PR();function yWe(r,e,t){return r==null?r:IWe(r,e,t)}Zse.exports=yWe});var soe=w((Spt,noe)=>{function wWe(r){var e=r==null?0:r.length;return e?r[e-1]:void 0}noe.exports=wWe});var aoe=w((vpt,ooe)=>{var BWe=pC(),bWe=XP();function QWe(r,e){return e.length<2?r:BWe(r,bWe(e,0,-1))}ooe.exports=QWe});var loe=w((kpt,Aoe)=>{var SWe=Nf(),vWe=soe(),kWe=aoe(),xWe=fu();function PWe(r,e){return e=SWe(e,r),r=kWe(r,e),r==null||delete r[xWe(vWe(e))]}Aoe.exports=PWe});var uoe=w((xpt,coe)=>{var DWe=loe();function RWe(r,e){return r==null?!0:DWe(r,e)}coe.exports=RWe});var Ioe=w((sdt,Eoe)=>{Eoe.exports={name:\"@yarnpkg/cli\",version:\"3.2.3\",license:\"BSD-2-Clause\",main:\"./sources/index.ts\",dependencies:{\"@yarnpkg/core\":\"workspace:^\",\"@yarnpkg/fslib\":\"workspace:^\",\"@yarnpkg/libzip\":\"workspace:^\",\"@yarnpkg/parsers\":\"workspace:^\",\"@yarnpkg/plugin-compat\":\"workspace:^\",\"@yarnpkg/plugin-dlx\":\"workspace:^\",\"@yarnpkg/plugin-essentials\":\"workspace:^\",\"@yarnpkg/plugin-file\":\"workspace:^\",\"@yarnpkg/plugin-git\":\"workspace:^\",\"@yarnpkg/plugin-github\":\"workspace:^\",\"@yarnpkg/plugin-http\":\"workspace:^\",\"@yarnpkg/plugin-init\":\"workspace:^\",\"@yarnpkg/plugin-link\":\"workspace:^\",\"@yarnpkg/plugin-nm\":\"workspace:^\",\"@yarnpkg/plugin-npm\":\"workspace:^\",\"@yarnpkg/plugin-npm-cli\":\"workspace:^\",\"@yarnpkg/plugin-pack\":\"workspace:^\",\"@yarnpkg/plugin-patch\":\"workspace:^\",\"@yarnpkg/plugin-pnp\":\"workspace:^\",\"@yarnpkg/plugin-pnpm\":\"workspace:^\",\"@yarnpkg/shell\":\"workspace:^\",chalk:\"^3.0.0\",\"ci-info\":\"^3.2.0\",clipanion:\"3.2.0-rc.4\",semver:\"^7.1.2\",tslib:\"^1.13.0\",typanion:\"^3.3.0\",yup:\"^0.32.9\"},devDependencies:{\"@types/semver\":\"^7.1.0\",\"@types/yup\":\"^0\",\"@yarnpkg/builder\":\"workspace:^\",\"@yarnpkg/monorepo\":\"workspace:^\",\"@yarnpkg/pnpify\":\"workspace:^\",micromatch:\"^4.0.2\"},peerDependencies:{\"@yarnpkg/core\":\"workspace:^\"},scripts:{postpack:\"rm -rf lib\",prepack:'run build:compile \"$(pwd)\"',\"build:cli+hook\":\"run build:pnp:hook && builder build bundle\",\"build:cli\":\"builder build bundle\",\"run:cli\":\"builder run\",\"update-local\":\"run build:cli --no-git-hash && rsync -a --delete bundles/ bin/\"},publishConfig:{main:\"./lib/index.js\",types:\"./lib/index.d.ts\",bin:null},files:[\"/lib/**/*\",\"!/lib/pluginConfiguration.*\",\"!/lib/cli.*\"],\"@yarnpkg/builder\":{bundles:{standard:[\"@yarnpkg/plugin-essentials\",\"@yarnpkg/plugin-compat\",\"@yarnpkg/plugin-dlx\",\"@yarnpkg/plugin-file\",\"@yarnpkg/plugin-git\",\"@yarnpkg/plugin-github\",\"@yarnpkg/plugin-http\",\"@yarnpkg/plugin-init\",\"@yarnpkg/plugin-link\",\"@yarnpkg/plugin-nm\",\"@yarnpkg/plugin-npm\",\"@yarnpkg/plugin-npm-cli\",\"@yarnpkg/plugin-pack\",\"@yarnpkg/plugin-patch\",\"@yarnpkg/plugin-pnp\",\"@yarnpkg/plugin-pnpm\"]}},repository:{type:\"git\",url:\"ssh://git@github.com/yarnpkg/berry.git\",directory:\"packages/yarnpkg-cli\"},engines:{node:\">=12 <14 || 14.2 - 14.9 || >14.10.0\"}}});var RN=w((OEt,oae)=>{\"use strict\";oae.exports=function(e,t){t===!0&&(t=0);var i=e.indexOf(\"://\"),n=e.substring(0,i).split(\"+\").filter(Boolean);return typeof t==\"number\"?n[t]:n}});var FN=w((MEt,aae)=>{\"use strict\";var $We=RN();function Aae(r){if(Array.isArray(r))return r.indexOf(\"ssh\")!==-1||r.indexOf(\"rsync\")!==-1;if(typeof r!=\"string\")return!1;var e=$We(r);return r=r.substring(r.indexOf(\"://\")+3),Aae(e)?!0:r.indexOf(\"@\")<r.indexOf(\":\")}aae.exports=Aae});var cae=w((UEt,lae)=>{\"use strict\";var e3e=RN(),t3e=FN(),r3e=require(\"querystring\");function i3e(r){r=(r||\"\").trim();var e={protocols:e3e(r),protocol:null,port:null,resource:\"\",user:\"\",pathname:\"\",hash:\"\",search:\"\",href:r,query:Object.create(null)},t=r.indexOf(\"://\"),i=-1,n=null,s=null;r.startsWith(\".\")&&(r.startsWith(\"./\")&&(r=r.substring(2)),e.pathname=r,e.protocol=\"file\");var o=r.charAt(1);return e.protocol||(e.protocol=e.protocols[0],e.protocol||(t3e(r)?e.protocol=\"ssh\":((o===\"/\"||o===\"~\")&&(r=r.substring(2)),e.protocol=\"file\"))),t!==-1&&(r=r.substring(t+3)),s=r.split(\"/\"),e.protocol!==\"file\"?e.resource=s.shift():e.resource=\"\",n=e.resource.split(\"@\"),n.length===2&&(e.user=n[0],e.resource=n[1]),n=e.resource.split(\":\"),n.length===2&&(e.resource=n[0],n[1]?(e.port=Number(n[1]),isNaN(e.port)&&(e.port=null,s.unshift(n[1]))):e.port=null),s=s.filter(Boolean),e.protocol===\"file\"?e.pathname=e.href:e.pathname=e.pathname||(e.protocol!==\"file\"||e.href[0]===\"/\"?\"/\":\"\")+s.join(\"/\"),n=e.pathname.split(\"#\"),n.length===2&&(e.pathname=n[0],e.hash=n[1]),n=e.pathname.split(\"?\"),n.length===2&&(e.pathname=n[0],e.search=n[1]),e.query=r3e.parse(e.search),e.href=e.href.replace(/\\/$/,\"\"),e.pathname=e.pathname.replace(/\\/$/,\"\"),e}lae.exports=i3e});var fae=w((KEt,uae)=>{\"use strict\";var n3e=\"text/plain\",s3e=\"us-ascii\",gae=(r,e)=>e.some(t=>t instanceof RegExp?t.test(r):t===r),o3e=(r,{stripHash:e})=>{let t=/^data:(?<type>[^,]*?),(?<data>[^#]*?)(?:#(?<hash>.*))?$/.exec(r);if(!t)throw new Error(`Invalid URL: ${r}`);let{type:i,data:n,hash:s}=t.groups,o=i.split(\";\");s=e?\"\":s;let a=!1;o[o.length-1]===\"base64\"&&(o.pop(),a=!0);let l=(o.shift()||\"\").toLowerCase(),u=[...o.map(g=>{let[f,h=\"\"]=g.split(\"=\").map(p=>p.trim());return f===\"charset\"&&(h=h.toLowerCase(),h===s3e)?\"\":`${f}${h?`=${h}`:\"\"}`}).filter(Boolean)];return a&&u.push(\"base64\"),(u.length!==0||l&&l!==n3e)&&u.unshift(l),`data:${u.join(\";\")},${a?n.trim():n}${s?`#${s}`:\"\"}`},a3e=(r,e)=>{if(e=N({defaultProtocol:\"http:\",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripTextFragment:!0,stripWWW:!0,removeQueryParameters:[/^utm_\\w+/i],removeTrailingSlash:!0,removeSingleSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0},e),r=r.trim(),/^data:/i.test(r))return o3e(r,e);if(/^view-source:/i.test(r))throw new Error(\"`view-source:` is not supported as it is a non-standard protocol\");let t=r.startsWith(\"//\");!t&&/^\\.*\\//.test(r)||(r=r.replace(/^(?!(?:\\w+:)?\\/\\/)|^\\/\\//,e.defaultProtocol));let n=new URL(r);if(e.forceHttp&&e.forceHttps)throw new Error(\"The `forceHttp` and `forceHttps` options cannot be used together\");if(e.forceHttp&&n.protocol===\"https:\"&&(n.protocol=\"http:\"),e.forceHttps&&n.protocol===\"http:\"&&(n.protocol=\"https:\"),e.stripAuthentication&&(n.username=\"\",n.password=\"\"),e.stripHash?n.hash=\"\":e.stripTextFragment&&(n.hash=n.hash.replace(/#?:~:text.*?$/i,\"\")),n.pathname&&(n.pathname=n.pathname.replace(/(?<!\\b(?:[a-z][a-z\\d+\\-.]{1,50}:))\\/{2,}/g,\"/\")),n.pathname)try{n.pathname=decodeURI(n.pathname)}catch(o){}if(e.removeDirectoryIndex===!0&&(e.removeDirectoryIndex=[/^index\\.[a-z]+$/]),Array.isArray(e.removeDirectoryIndex)&&e.removeDirectoryIndex.length>0){let o=n.pathname.split(\"/\"),a=o[o.length-1];gae(a,e.removeDirectoryIndex)&&(o=o.slice(0,o.length-1),n.pathname=o.slice(1).join(\"/\")+\"/\")}if(n.hostname&&(n.hostname=n.hostname.replace(/\\.$/,\"\"),e.stripWWW&&/^www\\.(?!www\\.)(?:[a-z\\-\\d]{1,63})\\.(?:[a-z.\\-\\d]{2,63})$/.test(n.hostname)&&(n.hostname=n.hostname.replace(/^www\\./,\"\"))),Array.isArray(e.removeQueryParameters))for(let o of[...n.searchParams.keys()])gae(o,e.removeQueryParameters)&&n.searchParams.delete(o);e.removeQueryParameters===!0&&(n.search=\"\"),e.sortQueryParameters&&n.searchParams.sort(),e.removeTrailingSlash&&(n.pathname=n.pathname.replace(/\\/$/,\"\"));let s=r;return r=n.toString(),!e.removeSingleSlash&&n.pathname===\"/\"&&!s.endsWith(\"/\")&&n.hash===\"\"&&(r=r.replace(/\\/$/,\"\")),(e.removeTrailingSlash||n.pathname===\"/\")&&n.hash===\"\"&&e.removeSingleSlash&&(r=r.replace(/\\/$/,\"\")),t&&!e.normalizeProtocol&&(r=r.replace(/^http:\\/\\//,\"//\")),e.stripProtocol&&(r=r.replace(/^(?:https?:)?\\/\\//,\"\")),r};uae.exports=a3e});var pae=w((HEt,hae)=>{\"use strict\";var A3e=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(r){return typeof r}:function(r){return r&&typeof Symbol==\"function\"&&r.constructor===Symbol&&r!==Symbol.prototype?\"symbol\":typeof r},l3e=cae(),c3e=fae();function u3e(r){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(typeof r!=\"string\"||!r.trim())throw new Error(\"Invalid url.\");e&&((typeof e==\"undefined\"?\"undefined\":A3e(e))!==\"object\"&&(e={stripHash:!1}),r=c3e(r,e));var t=l3e(r);return t}hae.exports=u3e});var mae=w((jEt,dae)=>{\"use strict\";var g3e=pae(),Cae=FN();function f3e(r){var e=g3e(r);e.token=\"\";var t=e.user.split(\":\");return t.length===2&&(t[1]===\"x-oauth-basic\"?e.token=t[0]:t[0]===\"x-token-auth\"&&(e.token=t[1])),Cae(e.protocols)||Cae(r)?e.protocol=\"ssh\":e.protocols.length?e.protocol=e.protocols[0]:e.protocol=\"file\",e.href=e.href.replace(/\\/$/,\"\"),e}dae.exports=f3e});var Iae=w((GEt,Eae)=>{\"use strict\";var h3e=mae();function NN(r){if(typeof r!=\"string\")throw new Error(\"The url must be a string.\");var e=h3e(r),t=e.resource.split(\".\"),i=null;switch(e.toString=function(l){return NN.stringify(this,l)},e.source=t.length>2?t.slice(1-t.length).join(\".\"):e.source=e.resource,e.git_suffix=/\\.git$/.test(e.pathname),e.name=decodeURIComponent(e.pathname.replace(/^\\//,\"\").replace(/\\.git$/,\"\")),e.owner=decodeURIComponent(e.user),e.source){case\"git.cloudforge.com\":e.owner=e.user,e.organization=t[0],e.source=\"cloudforge.com\";break;case\"visualstudio.com\":if(e.resource===\"vs-ssh.visualstudio.com\"){i=e.name.split(\"/\"),i.length===4&&(e.organization=i[1],e.owner=i[2],e.name=i[3],e.full_name=i[2]+\"/\"+i[3]);break}else{i=e.name.split(\"/\"),i.length===2?(e.owner=i[1],e.name=i[1],e.full_name=\"_git/\"+e.name):i.length===3?(e.name=i[2],i[0]===\"DefaultCollection\"?(e.owner=i[2],e.organization=i[0],e.full_name=e.organization+\"/_git/\"+e.name):(e.owner=i[0],e.full_name=e.owner+\"/_git/\"+e.name)):i.length===4&&(e.organization=i[0],e.owner=i[1],e.name=i[3],e.full_name=e.organization+\"/\"+e.owner+\"/_git/\"+e.name);break}case\"dev.azure.com\":case\"azure.com\":if(e.resource===\"ssh.dev.azure.com\"){i=e.name.split(\"/\"),i.length===4&&(e.organization=i[1],e.owner=i[2],e.name=i[3]);break}else{i=e.name.split(\"/\"),i.length===5?(e.organization=i[0],e.owner=i[1],e.name=i[4],e.full_name=\"_git/\"+e.name):i.length===3?(e.name=i[2],i[0]===\"DefaultCollection\"?(e.owner=i[2],e.organization=i[0],e.full_name=e.organization+\"/_git/\"+e.name):(e.owner=i[0],e.full_name=e.owner+\"/_git/\"+e.name)):i.length===4&&(e.organization=i[0],e.owner=i[1],e.name=i[3],e.full_name=e.organization+\"/\"+e.owner+\"/_git/\"+e.name);break}default:i=e.name.split(\"/\");var n=i.length-1;if(i.length>=2){var s=i.indexOf(\"blob\",2),o=i.indexOf(\"tree\",2),a=i.indexOf(\"commit\",2);n=s>0?s-1:o>0?o-1:a>0?a-1:n,e.owner=i.slice(0,n).join(\"/\"),e.name=i[n],a&&(e.commit=i[n+2])}e.ref=\"\",e.filepathtype=\"\",e.filepath=\"\",i.length>n+2&&[\"blob\",\"tree\"].indexOf(i[n+1])>=0&&(e.filepathtype=i[n+1],e.ref=i[n+2],i.length>n+3&&(e.filepath=i.slice(n+3).join(\"/\"))),e.organization=e.owner;break}return e.full_name||(e.full_name=e.owner,e.name&&(e.full_name&&(e.full_name+=\"/\"),e.full_name+=e.name)),e}NN.stringify=function(r,e){e=e||(r.protocols&&r.protocols.length?r.protocols.join(\"+\"):r.protocol);var t=r.port?\":\"+r.port:\"\",i=r.user||\"git\",n=r.git_suffix?\".git\":\"\";switch(e){case\"ssh\":return t?\"ssh://\"+i+\"@\"+r.resource+t+\"/\"+r.full_name+n:i+\"@\"+r.resource+\":\"+r.full_name+n;case\"git+ssh\":case\"ssh+git\":case\"ftp\":case\"ftps\":return e+\"://\"+i+\"@\"+r.resource+t+\"/\"+r.full_name+n;case\"http\":case\"https\":var s=r.token?p3e(r):r.user&&(r.protocols.includes(\"http\")||r.protocols.includes(\"https\"))?r.user+\"@\":\"\";return e+\"://\"+s+r.resource+t+\"/\"+r.full_name+n;default:return r.href}};function p3e(r){switch(r.source){case\"bitbucket.org\":return\"x-token-auth:\"+r.token+\"@\";default:return r.token+\"@\"}}Eae.exports=NN});var uL=w((Zwt,jae)=>{var N3e=Lf(),L3e=Df();function T3e(r,e,t){(t!==void 0&&!L3e(r[e],t)||t===void 0&&!(e in r))&&N3e(r,e,t)}jae.exports=T3e});var Yae=w(($wt,Gae)=>{var O3e=kC(),M3e=ra();function U3e(r){return M3e(r)&&O3e(r)}Gae.exports=U3e});var Wae=w((eBt,qae)=>{var K3e=zc(),H3e=Y0(),j3e=ra(),G3e=\"[object Object]\",Y3e=Function.prototype,q3e=Object.prototype,Jae=Y3e.toString,J3e=q3e.hasOwnProperty,W3e=Jae.call(Object);function z3e(r){if(!j3e(r)||K3e(r)!=G3e)return!1;var e=H3e(r);if(e===null)return!0;var t=J3e.call(e,\"constructor\")&&e.constructor;return typeof t==\"function\"&&t instanceof t&&Jae.call(t)==W3e}qae.exports=z3e});var gL=w((tBt,zae)=>{function _3e(r,e){if(!(e===\"constructor\"&&typeof r[e]==\"function\")&&e!=\"__proto__\")return r[e]}zae.exports=_3e});var Vae=w((rBt,_ae)=>{var V3e=$f(),X3e=eh();function Z3e(r){return V3e(r,X3e(r))}_ae.exports=Z3e});var rAe=w((iBt,Xae)=>{var Zae=uL(),$3e=pN(),e4e=mN(),t4e=dN(),r4e=EN(),$ae=CC(),eAe=Hs(),i4e=Yae(),n4e=QC(),s4e=XB(),o4e=Fn(),a4e=Wae(),A4e=f0(),tAe=gL(),l4e=Vae();function c4e(r,e,t,i,n,s,o){var a=tAe(r,t),l=tAe(e,t),c=o.get(l);if(c){Zae(r,t,c);return}var u=s?s(a,l,t+\"\",r,e,o):void 0,g=u===void 0;if(g){var f=eAe(l),h=!f&&n4e(l),p=!f&&!h&&A4e(l);u=l,f||h||p?eAe(a)?u=a:i4e(a)?u=t4e(a):h?(g=!1,u=$3e(l,!0)):p?(g=!1,u=e4e(l,!0)):u=[]:a4e(l)||$ae(l)?(u=a,$ae(a)?u=l4e(a):(!o4e(a)||s4e(a))&&(u=r4e(l))):g=!1}g&&(o.set(l,u),n(u,l,i,s,o),o.delete(l)),Zae(r,t,u)}Xae.exports=c4e});var sAe=w((nBt,iAe)=>{var u4e=xC(),g4e=uL(),f4e=ZR(),h4e=rAe(),p4e=Fn(),d4e=eh(),C4e=gL();function nAe(r,e,t,i,n){r!==e&&f4e(e,function(s,o){if(n||(n=new u4e),p4e(s))h4e(r,e,o,t,nAe,i,n);else{var a=i?i(C4e(r,o),s,o+\"\",r,e,n):void 0;a===void 0&&(a=s),g4e(r,o,a)}},d4e)}iAe.exports=nAe});var aAe=w((sBt,oAe)=>{var m4e=i0(),E4e=FR(),I4e=NR();function y4e(r,e){return I4e(E4e(r,e,m4e),r+\"\")}oAe.exports=y4e});var lAe=w((oBt,AAe)=>{var w4e=Df(),B4e=kC(),b4e=dC(),Q4e=Fn();function S4e(r,e,t){if(!Q4e(t))return!1;var i=typeof e;return(i==\"number\"?B4e(t)&&b4e(e,t.length):i==\"string\"&&e in t)?w4e(t[e],r):!1}AAe.exports=S4e});var uAe=w((aBt,cAe)=>{var v4e=aAe(),k4e=lAe();function x4e(r){return v4e(function(e,t){var i=-1,n=t.length,s=n>1?t[n-1]:void 0,o=n>2?t[2]:void 0;for(s=r.length>3&&typeof s==\"function\"?(n--,s):void 0,o&&k4e(t[0],t[1],o)&&(s=n<3?void 0:s,n=1),e=Object(e);++i<n;){var a=t[i];a&&r(e,a,i,s)}return e})}cAe.exports=x4e});var fAe=w((ABt,gAe)=>{var P4e=sAe(),D4e=uAe(),R4e=D4e(function(r,e,t){P4e(r,e,t)});gAe.exports=R4e});var xAe=w((f0t,kAe)=>{var SL;kAe.exports=()=>(typeof SL==\"undefined\"&&(SL=require(\"zlib\").brotliDecompressSync(Buffer.from(\"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\",\"base64\")).toString()),SL)});var KAe=w((J0t,UAe)=>{var PL;UAe.exports=()=>(typeof PL==\"undefined\"&&(PL=require(\"zlib\").brotliDecompressSync(Buffer.from(\"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\",\"base64\")).toString()),PL)});var zAe=w((OL,ML)=>{(function(r){OL&&typeof OL==\"object\"&&typeof ML!=\"undefined\"?ML.exports=r():typeof define==\"function\"&&define.amd?define([],r):typeof window!=\"undefined\"?window.isWindows=r():typeof global!=\"undefined\"?global.isWindows=r():typeof self!=\"undefined\"?self.isWindows=r():this.isWindows=r()})(function(){\"use strict\";return function(){return process&&(process.platform===\"win32\"||/^(msys|cygwin)$/.test(process.env.OSTYPE))}})});var ZAe=w((Zbt,_Ae)=>{\"use strict\";UL.ifExists=Ize;var Ah=require(\"util\"),Vs=require(\"path\"),VAe=zAe(),yze=/^#!\\s*(?:\\/usr\\/bin\\/env)?\\s*([^ \\t]+)(.*)$/,wze={createPwshFile:!0,createCmdFile:VAe(),fs:require(\"fs\")},Bze=new Map([[\".js\",\"node\"],[\".cjs\",\"node\"],[\".mjs\",\"node\"],[\".cmd\",\"cmd\"],[\".bat\",\"cmd\"],[\".ps1\",\"pwsh\"],[\".sh\",\"sh\"]]);function XAe(r){let e=N(N({},wze),r),t=e.fs;return e.fs_={chmod:t.chmod?Ah.promisify(t.chmod):async()=>{},mkdir:Ah.promisify(t.mkdir),readFile:Ah.promisify(t.readFile),stat:Ah.promisify(t.stat),unlink:Ah.promisify(t.unlink),writeFile:Ah.promisify(t.writeFile)},e}async function UL(r,e,t){let i=XAe(t);await i.fs_.stat(r),await bze(r,e,i)}function Ize(r,e,t){return UL(r,e,t).catch(()=>{})}function Qze(r,e){return e.fs_.unlink(r).catch(()=>{})}async function bze(r,e,t){let i=await kze(r,t);return await Sze(e,t),vze(r,e,i,t)}function Sze(r,e){return e.fs_.mkdir(Vs.dirname(r),{recursive:!0})}function vze(r,e,t,i){let n=XAe(i),s=[{generator:Dze,extension:\"\"}];return n.createCmdFile&&s.push({generator:Pze,extension:\".cmd\"}),n.createPwshFile&&s.push({generator:Rze,extension:\".ps1\"}),Promise.all(s.map(o=>xze(r,e+o.extension,t,o.generator,n)))}function Fze(r,e){return Qze(r,e)}function Lze(r,e){return Nze(r,e)}async function kze(r,e){let n=(await e.fs_.readFile(r,\"utf8\")).trim().split(/\\r*\\n/)[0].match(yze);if(!n){let s=Vs.extname(r).toLowerCase();return{program:Bze.get(s)||null,additionalArgs:\"\"}}return{program:n[1],additionalArgs:n[2]}}async function xze(r,e,t,i,n){let s=n.preserveSymlinks?\"--preserve-symlinks\":\"\",o=[t.additionalArgs,s].filter(a=>a).join(\" \");return n=Object.assign({},n,{prog:t.program,args:o}),await Fze(e,n),await n.fs_.writeFile(e,i(r,e,n),\"utf8\"),Lze(e,n)}function Pze(r,e,t){let n=Vs.relative(Vs.dirname(e),r).split(\"/\").join(\"\\\\\"),s=Vs.isAbsolute(n)?`\"${n}\"`:`\"%~dp0\\\\${n}\"`,o,a=t.prog,l=t.args||\"\",c=KL(t.nodePath).win32;a?(o=`\"%~dp0\\\\${a}.exe\"`,n=s):(a=s,l=\"\",n=\"\");let u=t.progArgs?`${t.progArgs.join(\" \")} `:\"\",g=c?`@SET NODE_PATH=${c}\\r\n`:\"\";return o?g+=`@IF EXIST ${o} (\\r\n  ${o} ${l} ${n} ${u}%*\\r\n) ELSE (\\r\n  @SETLOCAL\\r\n  @SET PATHEXT=%PATHEXT:;.JS;=;%\\r\n  ${a} ${l} ${n} ${u}%*\\r\n)\\r\n`:g+=`@${a} ${l} ${n} ${u}%*\\r\n`,g}function Dze(r,e,t){let i=Vs.relative(Vs.dirname(e),r),n=t.prog&&t.prog.split(\"\\\\\").join(\"/\"),s;i=i.split(\"\\\\\").join(\"/\");let o=Vs.isAbsolute(i)?`\"${i}\"`:`\"$basedir/${i}\"`,a=t.args||\"\",l=KL(t.nodePath).posix;n?(s=`\"$basedir/${t.prog}\"`,i=o):(n=o,a=\"\",i=\"\");let c=t.progArgs?`${t.progArgs.join(\" \")} `:\"\",u=`#!/bin/sh\nbasedir=$(dirname \"$(echo \"$0\" | sed -e 's,\\\\\\\\,/,g')\")\n\ncase \\`uname\\` in\n    *CYGWIN*) basedir=\\`cygpath -w \"$basedir\"\\`;;\nesac\n\n`,g=t.nodePath?`export NODE_PATH=\"${l}\"\n`:\"\";return s?u+=`${g}if [ -x ${s} ]; then\n  exec ${s} ${a} ${i} ${c}\"$@\"\nelse\n  exec ${n} ${a} ${i} ${c}\"$@\"\nfi\n`:u+=`${g}${n} ${a} ${i} ${c}\"$@\"\nexit $?\n`,u}function Rze(r,e,t){let i=Vs.relative(Vs.dirname(e),r),n=t.prog&&t.prog.split(\"\\\\\").join(\"/\"),s=n&&`\"${n}$exe\"`,o;i=i.split(\"\\\\\").join(\"/\");let a=Vs.isAbsolute(i)?`\"${i}\"`:`\"$basedir/${i}\"`,l=t.args||\"\",c=KL(t.nodePath),u=c.win32,g=c.posix;s?(o=`\"$basedir/${t.prog}$exe\"`,i=a):(s=a,l=\"\",i=\"\");let f=t.progArgs?`${t.progArgs.join(\" \")} `:\"\",h=`#!/usr/bin/env pwsh\n$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent\n\n$exe=\"\"\n${t.nodePath?`$env_node_path=$env:NODE_PATH\n$env:NODE_PATH=\"${u}\"\n`:\"\"}if ($PSVersionTable.PSVersion -lt \"6.0\" -or $IsWindows) {\n  # Fix case when both the Windows and Linux builds of Node\n  # are installed in the same directory\n  $exe=\".exe\"\n}`;return t.nodePath&&(h+=` else {\n  $env:NODE_PATH=\"${g}\"\n}`),o?h+=`\n$ret=0\nif (Test-Path ${o}) {\n  # Support pipeline input\n  if ($MyInvocation.ExpectingInput) {\n    $input | & ${o} ${l} ${i} ${f}$args\n  } else {\n    & ${o} ${l} ${i} ${f}$args\n  }\n  $ret=$LASTEXITCODE\n} else {\n  # Support pipeline input\n  if ($MyInvocation.ExpectingInput) {\n    $input | & ${s} ${l} ${i} ${f}$args\n  } else {\n    & ${s} ${l} ${i} ${f}$args\n  }\n  $ret=$LASTEXITCODE\n}\n${t.nodePath?`$env:NODE_PATH=$env_node_path\n`:\"\"}exit $ret\n`:h+=`\n# Support pipeline input\nif ($MyInvocation.ExpectingInput) {\n  $input | & ${s} ${l} ${i} ${f}$args\n} else {\n  & ${s} ${l} ${i} ${f}$args\n}\n${t.nodePath?`$env:NODE_PATH=$env_node_path\n`:\"\"}exit $LASTEXITCODE\n`,h}function Nze(r,e){return e.fs_.chmod(r,493)}function KL(r){if(!r)return{win32:\"\",posix:\"\"};let e=typeof r==\"string\"?r.split(Vs.delimiter):Array.from(r),t={};for(let i=0;i<e.length;i++){let n=e[i].split(\"/\").join(\"\\\\\"),s=VAe()?e[i].split(\"\\\\\").join(\"/\").replace(/^([^:\\\\/]*):/,(o,a)=>`/mnt/${a.toLowerCase()}`):e[i];t.win32=t.win32?`${t.win32};${n}`:n,t.posix=t.posix?`${t.posix}:${s}`:s,t[i]={win32:n,posix:s}}return t}_Ae.exports=UL});var tT=w((NSt,mle)=>{mle.exports=require(\"stream\")});var wle=w((LSt,Ele)=>{\"use strict\";function Ile(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(r);e&&(i=i.filter(function(n){return Object.getOwnPropertyDescriptor(r,n).enumerable})),t.push.apply(t,i)}return t}function t8e(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Ile(Object(t),!0).forEach(function(i){e8e(r,i,t[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):Ile(Object(t)).forEach(function(i){Object.defineProperty(r,i,Object.getOwnPropertyDescriptor(t,i))})}return r}function e8e(r,e,t){return e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function r8e(r,e){if(!(r instanceof e))throw new TypeError(\"Cannot call a class as a function\")}function yle(r,e){for(var t=0;t<e.length;t++){var i=e[t];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(r,i.key,i)}}function i8e(r,e,t){return e&&yle(r.prototype,e),t&&yle(r,t),r}var n8e=require(\"buffer\"),cb=n8e.Buffer,s8e=require(\"util\"),rT=s8e.inspect,o8e=rT&&rT.custom||\"inspect\";function a8e(r,e,t){cb.prototype.copy.call(r,e,t)}Ele.exports=function(){function r(){r8e(this,r),this.head=null,this.tail=null,this.length=0}return i8e(r,[{key:\"push\",value:function(t){var i={data:t,next:null};this.length>0?this.tail.next=i:this.head=i,this.tail=i,++this.length}},{key:\"unshift\",value:function(t){var i={data:t,next:this.head};this.length===0&&(this.tail=i),this.head=i,++this.length}},{key:\"shift\",value:function(){if(this.length!==0){var t=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,t}}},{key:\"clear\",value:function(){this.head=this.tail=null,this.length=0}},{key:\"join\",value:function(t){if(this.length===0)return\"\";for(var i=this.head,n=\"\"+i.data;i=i.next;)n+=t+i.data;return n}},{key:\"concat\",value:function(t){if(this.length===0)return cb.alloc(0);for(var i=cb.allocUnsafe(t>>>0),n=this.head,s=0;n;)a8e(n.data,i,s),s+=n.data.length,n=n.next;return i}},{key:\"consume\",value:function(t,i){var n;return t<this.head.data.length?(n=this.head.data.slice(0,t),this.head.data=this.head.data.slice(t)):t===this.head.data.length?n=this.shift():n=i?this._getString(t):this._getBuffer(t),n}},{key:\"first\",value:function(){return this.head.data}},{key:\"_getString\",value:function(t){var i=this.head,n=1,s=i.data;for(t-=s.length;i=i.next;){var o=i.data,a=t>o.length?o.length:t;if(a===o.length?s+=o:s+=o.slice(0,t),t-=a,t===0){a===o.length?(++n,i.next?this.head=i.next:this.head=this.tail=null):(this.head=i,i.data=o.slice(a));break}++n}return this.length-=n,s}},{key:\"_getBuffer\",value:function(t){var i=cb.allocUnsafe(t),n=this.head,s=1;for(n.data.copy(i),t-=n.data.length;n=n.next;){var o=n.data,a=t>o.length?o.length:t;if(o.copy(i,i.length-t,0,a),t-=a,t===0){a===o.length?(++s,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=o.slice(a));break}++s}return this.length-=s,i}},{key:o8e,value:function(t,i){return rT(this,t8e({},i,{depth:0,customInspect:!1}))}}]),r}()});var nT=w((TSt,Ble)=>{\"use strict\";function A8e(r,e){var t=this,i=this._readableState&&this._readableState.destroyed,n=this._writableState&&this._writableState.destroyed;return i||n?(e?e(r):r&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(iT,this,r)):process.nextTick(iT,this,r)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(r||null,function(s){!e&&s?t._writableState?t._writableState.errorEmitted?process.nextTick(ub,t):(t._writableState.errorEmitted=!0,process.nextTick(ble,t,s)):process.nextTick(ble,t,s):e?(process.nextTick(ub,t),e(s)):process.nextTick(ub,t)}),this)}function ble(r,e){iT(r,e),ub(r)}function ub(r){r._writableState&&!r._writableState.emitClose||r._readableState&&!r._readableState.emitClose||r.emit(\"close\")}function l8e(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function iT(r,e){r.emit(\"error\",e)}function c8e(r,e){var t=r._readableState,i=r._writableState;t&&t.autoDestroy||i&&i.autoDestroy?r.destroy(e):r.emit(\"error\",e)}Ble.exports={destroy:A8e,undestroy:l8e,errorOrDestroy:c8e}});var Hl=w((OSt,Qle)=>{\"use strict\";var Sle={};function Xs(r,e,t){t||(t=Error);function i(s,o,a){return typeof e==\"string\"?e:e(s,o,a)}class n extends t{constructor(o,a,l){super(i(o,a,l))}}n.prototype.name=t.name,n.prototype.code=r,Sle[r]=n}function vle(r,e){if(Array.isArray(r)){let t=r.length;return r=r.map(i=>String(i)),t>2?`one of ${e} ${r.slice(0,t-1).join(\", \")}, or `+r[t-1]:t===2?`one of ${e} ${r[0]} or ${r[1]}`:`of ${e} ${r[0]}`}else return`of ${e} ${String(r)}`}function u8e(r,e,t){return r.substr(!t||t<0?0:+t,e.length)===e}function g8e(r,e,t){return(t===void 0||t>r.length)&&(t=r.length),r.substring(t-e.length,t)===e}function f8e(r,e,t){return typeof t!=\"number\"&&(t=0),t+e.length>r.length?!1:r.indexOf(e,t)!==-1}Xs(\"ERR_INVALID_OPT_VALUE\",function(r,e){return'The value \"'+e+'\" is invalid for option \"'+r+'\"'},TypeError);Xs(\"ERR_INVALID_ARG_TYPE\",function(r,e,t){let i;typeof e==\"string\"&&u8e(e,\"not \")?(i=\"must not be\",e=e.replace(/^not /,\"\")):i=\"must be\";let n;if(g8e(r,\" argument\"))n=`The ${r} ${i} ${vle(e,\"type\")}`;else{let s=f8e(r,\".\")?\"property\":\"argument\";n=`The \"${r}\" ${s} ${i} ${vle(e,\"type\")}`}return n+=`. Received type ${typeof t}`,n},TypeError);Xs(\"ERR_STREAM_PUSH_AFTER_EOF\",\"stream.push() after EOF\");Xs(\"ERR_METHOD_NOT_IMPLEMENTED\",function(r){return\"The \"+r+\" method is not implemented\"});Xs(\"ERR_STREAM_PREMATURE_CLOSE\",\"Premature close\");Xs(\"ERR_STREAM_DESTROYED\",function(r){return\"Cannot call \"+r+\" after a stream was destroyed\"});Xs(\"ERR_MULTIPLE_CALLBACK\",\"Callback called multiple times\");Xs(\"ERR_STREAM_CANNOT_PIPE\",\"Cannot pipe, not readable\");Xs(\"ERR_STREAM_WRITE_AFTER_END\",\"write after end\");Xs(\"ERR_STREAM_NULL_VALUES\",\"May not write null values to stream\",TypeError);Xs(\"ERR_UNKNOWN_ENCODING\",function(r){return\"Unknown encoding: \"+r},TypeError);Xs(\"ERR_STREAM_UNSHIFT_AFTER_END_EVENT\",\"stream.unshift() after end event\");Qle.exports.codes=Sle});var sT=w((MSt,kle)=>{\"use strict\";var h8e=Hl().codes.ERR_INVALID_OPT_VALUE;function p8e(r,e,t){return r.highWaterMark!=null?r.highWaterMark:e?r[t]:null}function d8e(r,e,t,i){var n=p8e(e,i,t);if(n!=null){if(!(isFinite(n)&&Math.floor(n)===n)||n<0){var s=i?t:\"highWaterMark\";throw new h8e(s,n)}return Math.floor(n)}return r.objectMode?16:16*1024}kle.exports={getHighWaterMark:d8e}});var xle=w((USt,oT)=>{typeof Object.create==\"function\"?oT.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:oT.exports=function(e,t){if(t){e.super_=t;var i=function(){};i.prototype=t.prototype,e.prototype=new i,e.prototype.constructor=e}}});var jl=w((KSt,aT)=>{try{if(AT=require(\"util\"),typeof AT.inherits!=\"function\")throw\"\";aT.exports=AT.inherits}catch(r){aT.exports=xle()}var AT});var Dle=w((HSt,Ple)=>{Ple.exports=require(\"util\").deprecate});var uT=w((jSt,Rle)=>{\"use strict\";Rle.exports=Gr;function Fle(r){var e=this;this.next=null,this.entry=null,this.finish=function(){C8e(e,r)}}var uh;Gr.WritableState=Ym;var m8e={deprecate:Dle()},Nle=tT(),gb=require(\"buffer\").Buffer,E8e=global.Uint8Array||function(){};function I8e(r){return gb.from(r)}function y8e(r){return gb.isBuffer(r)||r instanceof E8e}var lT=nT(),w8e=sT(),B8e=w8e.getHighWaterMark,Gl=Hl().codes,b8e=Gl.ERR_INVALID_ARG_TYPE,Q8e=Gl.ERR_METHOD_NOT_IMPLEMENTED,S8e=Gl.ERR_MULTIPLE_CALLBACK,v8e=Gl.ERR_STREAM_CANNOT_PIPE,k8e=Gl.ERR_STREAM_DESTROYED,x8e=Gl.ERR_STREAM_NULL_VALUES,P8e=Gl.ERR_STREAM_WRITE_AFTER_END,D8e=Gl.ERR_UNKNOWN_ENCODING,gh=lT.errorOrDestroy;jl()(Gr,Nle);function R8e(){}function Ym(r,e,t){uh=uh||Pu(),r=r||{},typeof t!=\"boolean\"&&(t=e instanceof uh),this.objectMode=!!r.objectMode,t&&(this.objectMode=this.objectMode||!!r.writableObjectMode),this.highWaterMark=B8e(this,r,\"writableHighWaterMark\",t),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var i=r.decodeStrings===!1;this.decodeStrings=!i,this.defaultEncoding=r.defaultEncoding||\"utf8\",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(n){F8e(e,n)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=r.emitClose!==!1,this.autoDestroy=!!r.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new Fle(this)}Ym.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t};(function(){try{Object.defineProperty(Ym.prototype,\"buffer\",{get:m8e.deprecate(function(){return this.getBuffer()},\"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.\",\"DEP0003\")})}catch(r){}})();var fb;typeof Symbol==\"function\"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]==\"function\"?(fb=Function.prototype[Symbol.hasInstance],Object.defineProperty(Gr,Symbol.hasInstance,{value:function(e){return fb.call(this,e)?!0:this!==Gr?!1:e&&e._writableState instanceof Ym}})):fb=function(e){return e instanceof this};function Gr(r){uh=uh||Pu();var e=this instanceof uh;if(!e&&!fb.call(Gr,this))return new Gr(r);this._writableState=new Ym(r,this,e),this.writable=!0,r&&(typeof r.write==\"function\"&&(this._write=r.write),typeof r.writev==\"function\"&&(this._writev=r.writev),typeof r.destroy==\"function\"&&(this._destroy=r.destroy),typeof r.final==\"function\"&&(this._final=r.final)),Nle.call(this)}Gr.prototype.pipe=function(){gh(this,new v8e)};function N8e(r,e){var t=new P8e;gh(r,t),process.nextTick(e,t)}function L8e(r,e,t,i){var n;return t===null?n=new x8e:typeof t!=\"string\"&&!e.objectMode&&(n=new b8e(\"chunk\",[\"string\",\"Buffer\"],t)),n?(gh(r,n),process.nextTick(i,n),!1):!0}Gr.prototype.write=function(r,e,t){var i=this._writableState,n=!1,s=!i.objectMode&&y8e(r);return s&&!gb.isBuffer(r)&&(r=I8e(r)),typeof e==\"function\"&&(t=e,e=null),s?e=\"buffer\":e||(e=i.defaultEncoding),typeof t!=\"function\"&&(t=R8e),i.ending?N8e(this,t):(s||L8e(this,i,r,t))&&(i.pendingcb++,n=T8e(this,i,s,r,e,t)),n};Gr.prototype.cork=function(){this._writableState.corked++};Gr.prototype.uncork=function(){var r=this._writableState;r.corked&&(r.corked--,!r.writing&&!r.corked&&!r.bufferProcessing&&r.bufferedRequest&&Lle(this,r))};Gr.prototype.setDefaultEncoding=function(e){if(typeof e==\"string\"&&(e=e.toLowerCase()),!([\"hex\",\"utf8\",\"utf-8\",\"ascii\",\"binary\",\"base64\",\"ucs2\",\"ucs-2\",\"utf16le\",\"utf-16le\",\"raw\"].indexOf((e+\"\").toLowerCase())>-1))throw new D8e(e);return this._writableState.defaultEncoding=e,this};Object.defineProperty(Gr.prototype,\"writableBuffer\",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function O8e(r,e,t){return!r.objectMode&&r.decodeStrings!==!1&&typeof e==\"string\"&&(e=gb.from(e,t)),e}Object.defineProperty(Gr.prototype,\"writableHighWaterMark\",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function T8e(r,e,t,i,n,s){if(!t){var o=O8e(e,i,n);i!==o&&(t=!0,n=\"buffer\",i=o)}var a=e.objectMode?1:i.length;e.length+=a;var l=e.length<e.highWaterMark;if(l||(e.needDrain=!0),e.writing||e.corked){var c=e.lastBufferedRequest;e.lastBufferedRequest={chunk:i,encoding:n,isBuf:t,callback:s,next:null},c?c.next=e.lastBufferedRequest:e.bufferedRequest=e.lastBufferedRequest,e.bufferedRequestCount+=1}else cT(r,e,!1,a,i,n,s);return l}function cT(r,e,t,i,n,s,o){e.writelen=i,e.writecb=o,e.writing=!0,e.sync=!0,e.destroyed?e.onwrite(new k8e(\"write\")):t?r._writev(n,e.onwrite):r._write(n,s,e.onwrite),e.sync=!1}function M8e(r,e,t,i,n){--e.pendingcb,t?(process.nextTick(n,i),process.nextTick(qm,r,e),r._writableState.errorEmitted=!0,gh(r,i)):(n(i),r._writableState.errorEmitted=!0,gh(r,i),qm(r,e))}function U8e(r){r.writing=!1,r.writecb=null,r.length-=r.writelen,r.writelen=0}function F8e(r,e){var t=r._writableState,i=t.sync,n=t.writecb;if(typeof n!=\"function\")throw new S8e;if(U8e(t),e)M8e(r,t,i,e,n);else{var s=Ole(t)||r.destroyed;!s&&!t.corked&&!t.bufferProcessing&&t.bufferedRequest&&Lle(r,t),i?process.nextTick(Tle,r,t,s,n):Tle(r,t,s,n)}}function Tle(r,e,t,i){t||K8e(r,e),e.pendingcb--,i(),qm(r,e)}function K8e(r,e){e.length===0&&e.needDrain&&(e.needDrain=!1,r.emit(\"drain\"))}function Lle(r,e){e.bufferProcessing=!0;var t=e.bufferedRequest;if(r._writev&&t&&t.next){var i=e.bufferedRequestCount,n=new Array(i),s=e.corkedRequestsFree;s.entry=t;for(var o=0,a=!0;t;)n[o]=t,t.isBuf||(a=!1),t=t.next,o+=1;n.allBuffers=a,cT(r,e,!0,e.length,n,\"\",s.finish),e.pendingcb++,e.lastBufferedRequest=null,s.next?(e.corkedRequestsFree=s.next,s.next=null):e.corkedRequestsFree=new Fle(e),e.bufferedRequestCount=0}else{for(;t;){var l=t.chunk,c=t.encoding,u=t.callback,g=e.objectMode?1:l.length;if(cT(r,e,!1,g,l,c,u),t=t.next,e.bufferedRequestCount--,e.writing)break}t===null&&(e.lastBufferedRequest=null)}e.bufferedRequest=t,e.bufferProcessing=!1}Gr.prototype._write=function(r,e,t){t(new Q8e(\"_write()\"))};Gr.prototype._writev=null;Gr.prototype.end=function(r,e,t){var i=this._writableState;return typeof r==\"function\"?(t=r,r=null,e=null):typeof e==\"function\"&&(t=e,e=null),r!=null&&this.write(r,e),i.corked&&(i.corked=1,this.uncork()),i.ending||H8e(this,i,t),this};Object.defineProperty(Gr.prototype,\"writableLength\",{enumerable:!1,get:function(){return this._writableState.length}});function Ole(r){return r.ending&&r.length===0&&r.bufferedRequest===null&&!r.finished&&!r.writing}function j8e(r,e){r._final(function(t){e.pendingcb--,t&&gh(r,t),e.prefinished=!0,r.emit(\"prefinish\"),qm(r,e)})}function G8e(r,e){!e.prefinished&&!e.finalCalled&&(typeof r._final==\"function\"&&!e.destroyed?(e.pendingcb++,e.finalCalled=!0,process.nextTick(j8e,r,e)):(e.prefinished=!0,r.emit(\"prefinish\")))}function qm(r,e){var t=Ole(e);if(t&&(G8e(r,e),e.pendingcb===0&&(e.finished=!0,r.emit(\"finish\"),e.autoDestroy))){var i=r._readableState;(!i||i.autoDestroy&&i.endEmitted)&&r.destroy()}return t}function H8e(r,e,t){e.ending=!0,qm(r,e),t&&(e.finished?process.nextTick(t):r.once(\"finish\",t)),e.ended=!0,r.writable=!1}function C8e(r,e,t){var i=r.entry;for(r.entry=null;i;){var n=i.callback;e.pendingcb--,n(t),i=i.next}e.corkedRequestsFree.next=r}Object.defineProperty(Gr.prototype,\"destroyed\",{enumerable:!1,get:function(){return this._writableState===void 0?!1:this._writableState.destroyed},set:function(e){!this._writableState||(this._writableState.destroyed=e)}});Gr.prototype.destroy=lT.destroy;Gr.prototype._undestroy=lT.undestroy;Gr.prototype._destroy=function(r,e){e(r)}});var Pu=w((GSt,Mle)=>{\"use strict\";var Y8e=Object.keys||function(r){var e=[];for(var t in r)e.push(t);return e};Mle.exports=Ia;var Ule=gT(),fT=uT();jl()(Ia,Ule);for(hT=Y8e(fT.prototype),hb=0;hb<hT.length;hb++)pb=hT[hb],Ia.prototype[pb]||(Ia.prototype[pb]=fT.prototype[pb]);var hT,pb,hb;function Ia(r){if(!(this instanceof Ia))return new Ia(r);Ule.call(this,r),fT.call(this,r),this.allowHalfOpen=!0,r&&(r.readable===!1&&(this.readable=!1),r.writable===!1&&(this.writable=!1),r.allowHalfOpen===!1&&(this.allowHalfOpen=!1,this.once(\"end\",q8e)))}Object.defineProperty(Ia.prototype,\"writableHighWaterMark\",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});Object.defineProperty(Ia.prototype,\"writableBuffer\",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});Object.defineProperty(Ia.prototype,\"writableLength\",{enumerable:!1,get:function(){return this._writableState.length}});function q8e(){this._writableState.ended||process.nextTick(J8e,this)}function J8e(r){r.end()}Object.defineProperty(Ia.prototype,\"destroyed\",{enumerable:!1,get:function(){return this._readableState===void 0||this._writableState===void 0?!1:this._readableState.destroyed&&this._writableState.destroyed},set:function(e){this._readableState===void 0||this._writableState===void 0||(this._readableState.destroyed=e,this._writableState.destroyed=e)}})});var jle=w((pT,Kle)=>{var db=require(\"buffer\"),kA=db.Buffer;function Hle(r,e){for(var t in r)e[t]=r[t]}kA.from&&kA.alloc&&kA.allocUnsafe&&kA.allocUnsafeSlow?Kle.exports=db:(Hle(db,pT),pT.Buffer=fh);function fh(r,e,t){return kA(r,e,t)}Hle(kA,fh);fh.from=function(r,e,t){if(typeof r==\"number\")throw new TypeError(\"Argument must not be a number\");return kA(r,e,t)};fh.alloc=function(r,e,t){if(typeof r!=\"number\")throw new TypeError(\"Argument must be a number\");var i=kA(r);return e!==void 0?typeof t==\"string\"?i.fill(e,t):i.fill(e):i.fill(0),i};fh.allocUnsafe=function(r){if(typeof r!=\"number\")throw new TypeError(\"Argument must be a number\");return kA(r)};fh.allocUnsafeSlow=function(r){if(typeof r!=\"number\")throw new TypeError(\"Argument must be a number\");return db.SlowBuffer(r)}});var mT=w(Gle=>{\"use strict\";var dT=jle().Buffer,Yle=dT.isEncoding||function(r){switch(r=\"\"+r,r&&r.toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":case\"raw\":return!0;default:return!1}};function W8e(r){if(!r)return\"utf8\";for(var e;;)switch(r){case\"utf8\":case\"utf-8\":return\"utf8\";case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return\"utf16le\";case\"latin1\":case\"binary\":return\"latin1\";case\"base64\":case\"ascii\":case\"hex\":return r;default:if(e)return;r=(\"\"+r).toLowerCase(),e=!0}}function z8e(r){var e=W8e(r);if(typeof e!=\"string\"&&(dT.isEncoding===Yle||!Yle(r)))throw new Error(\"Unknown encoding: \"+r);return e||r}Gle.StringDecoder=Jm;function Jm(r){this.encoding=z8e(r);var e;switch(this.encoding){case\"utf16le\":this.text=V8e,this.end=X8e,e=4;break;case\"utf8\":this.fillLast=_8e,e=4;break;case\"base64\":this.text=Z8e,this.end=$8e,e=3;break;default:this.write=e5e,this.end=t5e;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=dT.allocUnsafe(e)}Jm.prototype.write=function(r){if(r.length===0)return\"\";var e,t;if(this.lastNeed){if(e=this.fillLast(r),e===void 0)return\"\";t=this.lastNeed,this.lastNeed=0}else t=0;return t<r.length?e?e+this.text(r,t):this.text(r,t):e||\"\"};Jm.prototype.end=r5e;Jm.prototype.text=i5e;Jm.prototype.fillLast=function(r){if(this.lastNeed<=r.length)return r.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);r.copy(this.lastChar,this.lastTotal-this.lastNeed,0,r.length),this.lastNeed-=r.length};function CT(r){return r<=127?0:r>>5==6?2:r>>4==14?3:r>>3==30?4:r>>6==2?-1:-2}function n5e(r,e,t){var i=e.length-1;if(i<t)return 0;var n=CT(e[i]);return n>=0?(n>0&&(r.lastNeed=n-1),n):--i<t||n===-2?0:(n=CT(e[i]),n>=0?(n>0&&(r.lastNeed=n-2),n):--i<t||n===-2?0:(n=CT(e[i]),n>=0?(n>0&&(n===2?n=0:r.lastNeed=n-3),n):0))}function s5e(r,e,t){if((e[0]&192)!=128)return r.lastNeed=0,\"\\uFFFD\";if(r.lastNeed>1&&e.length>1){if((e[1]&192)!=128)return r.lastNeed=1,\"\\uFFFD\";if(r.lastNeed>2&&e.length>2&&(e[2]&192)!=128)return r.lastNeed=2,\"\\uFFFD\"}}function _8e(r){var e=this.lastTotal-this.lastNeed,t=s5e(this,r,e);if(t!==void 0)return t;if(this.lastNeed<=r.length)return r.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);r.copy(this.lastChar,e,0,r.length),this.lastNeed-=r.length}function i5e(r,e){var t=n5e(this,r,e);if(!this.lastNeed)return r.toString(\"utf8\",e);this.lastTotal=t;var i=r.length-(t-this.lastNeed);return r.copy(this.lastChar,0,i),r.toString(\"utf8\",e,i)}function r5e(r){var e=r&&r.length?this.write(r):\"\";return this.lastNeed?e+\"\\uFFFD\":e}function V8e(r,e){if((r.length-e)%2==0){var t=r.toString(\"utf16le\",e);if(t){var i=t.charCodeAt(t.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=r[r.length-2],this.lastChar[1]=r[r.length-1],t.slice(0,-1)}return t}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=r[r.length-1],r.toString(\"utf16le\",e,r.length-1)}function X8e(r){var e=r&&r.length?this.write(r):\"\";if(this.lastNeed){var t=this.lastTotal-this.lastNeed;return e+this.lastChar.toString(\"utf16le\",0,t)}return e}function Z8e(r,e){var t=(r.length-e)%3;return t===0?r.toString(\"base64\",e):(this.lastNeed=3-t,this.lastTotal=3,t===1?this.lastChar[0]=r[r.length-1]:(this.lastChar[0]=r[r.length-2],this.lastChar[1]=r[r.length-1]),r.toString(\"base64\",e,r.length-t))}function $8e(r){var e=r&&r.length?this.write(r):\"\";return this.lastNeed?e+this.lastChar.toString(\"base64\",0,3-this.lastNeed):e}function e5e(r){return r.toString(this.encoding)}function t5e(r){return r&&r.length?this.write(r):\"\"}});var Cb=w((qSt,qle)=>{\"use strict\";var Jle=Hl().codes.ERR_STREAM_PREMATURE_CLOSE;function o5e(r){var e=!1;return function(){if(!e){e=!0;for(var t=arguments.length,i=new Array(t),n=0;n<t;n++)i[n]=arguments[n];r.apply(this,i)}}}function a5e(){}function A5e(r){return r.setHeader&&typeof r.abort==\"function\"}function Wle(r,e,t){if(typeof e==\"function\")return Wle(r,null,e);e||(e={}),t=o5e(t||a5e);var i=e.readable||e.readable!==!1&&r.readable,n=e.writable||e.writable!==!1&&r.writable,s=function(){r.writable||a()},o=r._writableState&&r._writableState.finished,a=function(){n=!1,o=!0,i||t.call(r)},l=r._readableState&&r._readableState.endEmitted,c=function(){i=!1,l=!0,n||t.call(r)},u=function(p){t.call(r,p)},g=function(){var p;if(i&&!l)return(!r._readableState||!r._readableState.ended)&&(p=new Jle),t.call(r,p);if(n&&!o)return(!r._writableState||!r._writableState.ended)&&(p=new Jle),t.call(r,p)},f=function(){r.req.on(\"finish\",a)};return A5e(r)?(r.on(\"complete\",a),r.on(\"abort\",g),r.req?f():r.on(\"request\",f)):n&&!r._writableState&&(r.on(\"end\",s),r.on(\"close\",s)),r.on(\"end\",c),r.on(\"finish\",a),e.error!==!1&&r.on(\"error\",u),r.on(\"close\",g),function(){r.removeListener(\"complete\",a),r.removeListener(\"abort\",g),r.removeListener(\"request\",f),r.req&&r.req.removeListener(\"finish\",a),r.removeListener(\"end\",s),r.removeListener(\"close\",s),r.removeListener(\"finish\",a),r.removeListener(\"end\",c),r.removeListener(\"error\",u),r.removeListener(\"close\",g)}}qle.exports=Wle});var _le=w((JSt,zle)=>{\"use strict\";var mb;function Yl(r,e,t){return e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}var l5e=Cb(),ql=Symbol(\"lastResolve\"),Du=Symbol(\"lastReject\"),Wm=Symbol(\"error\"),Eb=Symbol(\"ended\"),Ru=Symbol(\"lastPromise\"),ET=Symbol(\"handlePromise\"),Fu=Symbol(\"stream\");function Jl(r,e){return{value:r,done:e}}function c5e(r){var e=r[ql];if(e!==null){var t=r[Fu].read();t!==null&&(r[Ru]=null,r[ql]=null,r[Du]=null,e(Jl(t,!1)))}}function u5e(r){process.nextTick(c5e,r)}function g5e(r,e){return function(t,i){r.then(function(){if(e[Eb]){t(Jl(void 0,!0));return}e[ET](t,i)},i)}}var f5e=Object.getPrototypeOf(function(){}),h5e=Object.setPrototypeOf((mb={get stream(){return this[Fu]},next:function(){var e=this,t=this[Wm];if(t!==null)return Promise.reject(t);if(this[Eb])return Promise.resolve(Jl(void 0,!0));if(this[Fu].destroyed)return new Promise(function(o,a){process.nextTick(function(){e[Wm]?a(e[Wm]):o(Jl(void 0,!0))})});var i=this[Ru],n;if(i)n=new Promise(g5e(i,this));else{var s=this[Fu].read();if(s!==null)return Promise.resolve(Jl(s,!1));n=new Promise(this[ET])}return this[Ru]=n,n}},Yl(mb,Symbol.asyncIterator,function(){return this}),Yl(mb,\"return\",function(){var e=this;return new Promise(function(t,i){e[Fu].destroy(null,function(n){if(n){i(n);return}t(Jl(void 0,!0))})})}),mb),f5e),p5e=function(e){var t,i=Object.create(h5e,(t={},Yl(t,Fu,{value:e,writable:!0}),Yl(t,ql,{value:null,writable:!0}),Yl(t,Du,{value:null,writable:!0}),Yl(t,Wm,{value:null,writable:!0}),Yl(t,Eb,{value:e._readableState.endEmitted,writable:!0}),Yl(t,ET,{value:function(s,o){var a=i[Fu].read();a?(i[Ru]=null,i[ql]=null,i[Du]=null,s(Jl(a,!1))):(i[ql]=s,i[Du]=o)},writable:!0}),t));return i[Ru]=null,l5e(e,function(n){if(n&&n.code!==\"ERR_STREAM_PREMATURE_CLOSE\"){var s=i[Du];s!==null&&(i[Ru]=null,i[ql]=null,i[Du]=null,s(n)),i[Wm]=n;return}var o=i[ql];o!==null&&(i[Ru]=null,i[ql]=null,i[Du]=null,o(Jl(void 0,!0))),i[Eb]=!0}),e.on(\"readable\",u5e.bind(null,i)),i};zle.exports=p5e});var $le=w((WSt,Vle)=>{\"use strict\";function Xle(r,e,t,i,n,s,o){try{var a=r[s](o),l=a.value}catch(c){t(c);return}a.done?e(l):Promise.resolve(l).then(i,n)}function d5e(r){return function(){var e=this,t=arguments;return new Promise(function(i,n){var s=r.apply(e,t);function o(l){Xle(s,i,n,o,a,\"next\",l)}function a(l){Xle(s,i,n,o,a,\"throw\",l)}o(void 0)})}}function Zle(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(r);e&&(i=i.filter(function(n){return Object.getOwnPropertyDescriptor(r,n).enumerable})),t.push.apply(t,i)}return t}function m5e(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Zle(Object(t),!0).forEach(function(i){C5e(r,i,t[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):Zle(Object(t)).forEach(function(i){Object.defineProperty(r,i,Object.getOwnPropertyDescriptor(t,i))})}return r}function C5e(r,e,t){return e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}var E5e=Hl().codes.ERR_INVALID_ARG_TYPE;function I5e(r,e,t){var i;if(e&&typeof e.next==\"function\")i=e;else if(e&&e[Symbol.asyncIterator])i=e[Symbol.asyncIterator]();else if(e&&e[Symbol.iterator])i=e[Symbol.iterator]();else throw new E5e(\"iterable\",[\"Iterable\"],e);var n=new r(m5e({objectMode:!0},t)),s=!1;n._read=function(){s||(s=!0,o())};function o(){return a.apply(this,arguments)}function a(){return a=d5e(function*(){try{var l=yield i.next(),c=l.value,u=l.done;u?n.push(null):n.push(yield c)?o():s=!1}catch(g){n.destroy(g)}}),a.apply(this,arguments)}return n}Vle.exports=I5e});var gT=w((_St,ece)=>{\"use strict\";ece.exports=Kt;var hh;Kt.ReadableState=tce;var zSt=require(\"events\").EventEmitter,rce=function(e,t){return e.listeners(t).length},zm=tT(),Ib=require(\"buffer\").Buffer,y5e=global.Uint8Array||function(){};function w5e(r){return Ib.from(r)}function B5e(r){return Ib.isBuffer(r)||r instanceof y5e}var IT=require(\"util\"),Pt;IT&&IT.debuglog?Pt=IT.debuglog(\"stream\"):Pt=function(){};var b5e=wle(),yT=nT(),Q5e=sT(),S5e=Q5e.getHighWaterMark,yb=Hl().codes,v5e=yb.ERR_INVALID_ARG_TYPE,k5e=yb.ERR_STREAM_PUSH_AFTER_EOF,x5e=yb.ERR_METHOD_NOT_IMPLEMENTED,P5e=yb.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,ph,wT,BT;jl()(Kt,zm);var _m=yT.errorOrDestroy,bT=[\"error\",\"close\",\"destroy\",\"pause\",\"resume\"];function D5e(r,e,t){if(typeof r.prependListener==\"function\")return r.prependListener(e,t);!r._events||!r._events[e]?r.on(e,t):Array.isArray(r._events[e])?r._events[e].unshift(t):r._events[e]=[t,r._events[e]]}function tce(r,e,t){hh=hh||Pu(),r=r||{},typeof t!=\"boolean\"&&(t=e instanceof hh),this.objectMode=!!r.objectMode,t&&(this.objectMode=this.objectMode||!!r.readableObjectMode),this.highWaterMark=S5e(this,r,\"readableHighWaterMark\",t),this.buffer=new b5e,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=r.emitClose!==!1,this.autoDestroy=!!r.autoDestroy,this.destroyed=!1,this.defaultEncoding=r.defaultEncoding||\"utf8\",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,r.encoding&&(ph||(ph=mT().StringDecoder),this.decoder=new ph(r.encoding),this.encoding=r.encoding)}function Kt(r){if(hh=hh||Pu(),!(this instanceof Kt))return new Kt(r);var e=this instanceof hh;this._readableState=new tce(r,this,e),this.readable=!0,r&&(typeof r.read==\"function\"&&(this._read=r.read),typeof r.destroy==\"function\"&&(this._destroy=r.destroy)),zm.call(this)}Object.defineProperty(Kt.prototype,\"destroyed\",{enumerable:!1,get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(e){!this._readableState||(this._readableState.destroyed=e)}});Kt.prototype.destroy=yT.destroy;Kt.prototype._undestroy=yT.undestroy;Kt.prototype._destroy=function(r,e){e(r)};Kt.prototype.push=function(r,e){var t=this._readableState,i;return t.objectMode?i=!0:typeof r==\"string\"&&(e=e||t.defaultEncoding,e!==t.encoding&&(r=Ib.from(r,e),e=\"\"),i=!0),ice(this,r,e,!1,i)};Kt.prototype.unshift=function(r){return ice(this,r,null,!0,!1)};function ice(r,e,t,i,n){Pt(\"readableAddChunk\",e);var s=r._readableState;if(e===null)s.reading=!1,F5e(r,s);else{var o;if(n||(o=R5e(s,e)),o)_m(r,o);else if(s.objectMode||e&&e.length>0)if(typeof e!=\"string\"&&!s.objectMode&&Object.getPrototypeOf(e)!==Ib.prototype&&(e=w5e(e)),i)s.endEmitted?_m(r,new P5e):QT(r,s,e,!0);else if(s.ended)_m(r,new k5e);else{if(s.destroyed)return!1;s.reading=!1,s.decoder&&!t?(e=s.decoder.write(e),s.objectMode||e.length!==0?QT(r,s,e,!1):ST(r,s)):QT(r,s,e,!1)}else i||(s.reading=!1,ST(r,s))}return!s.ended&&(s.length<s.highWaterMark||s.length===0)}function QT(r,e,t,i){e.flowing&&e.length===0&&!e.sync?(e.awaitDrain=0,r.emit(\"data\",t)):(e.length+=e.objectMode?1:t.length,i?e.buffer.unshift(t):e.buffer.push(t),e.needReadable&&wb(r)),ST(r,e)}function R5e(r,e){var t;return!B5e(e)&&typeof e!=\"string\"&&e!==void 0&&!r.objectMode&&(t=new v5e(\"chunk\",[\"string\",\"Buffer\",\"Uint8Array\"],e)),t}Kt.prototype.isPaused=function(){return this._readableState.flowing===!1};Kt.prototype.setEncoding=function(r){ph||(ph=mT().StringDecoder);var e=new ph(r);this._readableState.decoder=e,this._readableState.encoding=this._readableState.decoder.encoding;for(var t=this._readableState.buffer.head,i=\"\";t!==null;)i+=e.write(t.data),t=t.next;return this._readableState.buffer.clear(),i!==\"\"&&this._readableState.buffer.push(i),this._readableState.length=i.length,this};var nce=1073741824;function N5e(r){return r>=nce?r=nce:(r--,r|=r>>>1,r|=r>>>2,r|=r>>>4,r|=r>>>8,r|=r>>>16,r++),r}function sce(r,e){return r<=0||e.length===0&&e.ended?0:e.objectMode?1:r!==r?e.flowing&&e.length?e.buffer.head.data.length:e.length:(r>e.highWaterMark&&(e.highWaterMark=N5e(r)),r<=e.length?r:e.ended?e.length:(e.needReadable=!0,0))}Kt.prototype.read=function(r){Pt(\"read\",r),r=parseInt(r,10);var e=this._readableState,t=r;if(r!==0&&(e.emittedReadable=!1),r===0&&e.needReadable&&((e.highWaterMark!==0?e.length>=e.highWaterMark:e.length>0)||e.ended))return Pt(\"read: emitReadable\",e.length,e.ended),e.length===0&&e.ended?vT(this):wb(this),null;if(r=sce(r,e),r===0&&e.ended)return e.length===0&&vT(this),null;var i=e.needReadable;Pt(\"need readable\",i),(e.length===0||e.length-r<e.highWaterMark)&&(i=!0,Pt(\"length less than watermark\",i)),e.ended||e.reading?(i=!1,Pt(\"reading or ended\",i)):i&&(Pt(\"do read\"),e.reading=!0,e.sync=!0,e.length===0&&(e.needReadable=!0),this._read(e.highWaterMark),e.sync=!1,e.reading||(r=sce(t,e)));var n;return r>0?n=oce(r,e):n=null,n===null?(e.needReadable=e.length<=e.highWaterMark,r=0):(e.length-=r,e.awaitDrain=0),e.length===0&&(e.ended||(e.needReadable=!0),t!==r&&e.ended&&vT(this)),n!==null&&this.emit(\"data\",n),n};function F5e(r,e){if(Pt(\"onEofChunk\"),!e.ended){if(e.decoder){var t=e.decoder.end();t&&t.length&&(e.buffer.push(t),e.length+=e.objectMode?1:t.length)}e.ended=!0,e.sync?wb(r):(e.needReadable=!1,e.emittedReadable||(e.emittedReadable=!0,ace(r)))}}function wb(r){var e=r._readableState;Pt(\"emitReadable\",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(Pt(\"emitReadable\",e.flowing),e.emittedReadable=!0,process.nextTick(ace,r))}function ace(r){var e=r._readableState;Pt(\"emitReadable_\",e.destroyed,e.length,e.ended),!e.destroyed&&(e.length||e.ended)&&(r.emit(\"readable\"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,kT(r)}function ST(r,e){e.readingMore||(e.readingMore=!0,process.nextTick(L5e,r,e))}function L5e(r,e){for(;!e.reading&&!e.ended&&(e.length<e.highWaterMark||e.flowing&&e.length===0);){var t=e.length;if(Pt(\"maybeReadMore read 0\"),r.read(0),t===e.length)break}e.readingMore=!1}Kt.prototype._read=function(r){_m(this,new x5e(\"_read()\"))};Kt.prototype.pipe=function(r,e){var t=this,i=this._readableState;switch(i.pipesCount){case 0:i.pipes=r;break;case 1:i.pipes=[i.pipes,r];break;default:i.pipes.push(r);break}i.pipesCount+=1,Pt(\"pipe count=%d opts=%j\",i.pipesCount,e);var n=(!e||e.end!==!1)&&r!==process.stdout&&r!==process.stderr,s=n?a:m;i.endEmitted?process.nextTick(s):t.once(\"end\",s),r.on(\"unpipe\",o);function o(y,b){Pt(\"onunpipe\"),y===t&&b&&b.hasUnpiped===!1&&(b.hasUnpiped=!0,u())}function a(){Pt(\"onend\"),r.end()}var l=T5e(t);r.on(\"drain\",l);var c=!1;function u(){Pt(\"cleanup\"),r.removeListener(\"close\",h),r.removeListener(\"finish\",p),r.removeListener(\"drain\",l),r.removeListener(\"error\",f),r.removeListener(\"unpipe\",o),t.removeListener(\"end\",a),t.removeListener(\"end\",m),t.removeListener(\"data\",g),c=!0,i.awaitDrain&&(!r._writableState||r._writableState.needDrain)&&l()}t.on(\"data\",g);function g(y){Pt(\"ondata\");var b=r.write(y);Pt(\"dest.write\",b),b===!1&&((i.pipesCount===1&&i.pipes===r||i.pipesCount>1&&Ace(i.pipes,r)!==-1)&&!c&&(Pt(\"false write response, pause\",i.awaitDrain),i.awaitDrain++),t.pause())}function f(y){Pt(\"onerror\",y),m(),r.removeListener(\"error\",f),rce(r,\"error\")===0&&_m(r,y)}D5e(r,\"error\",f);function h(){r.removeListener(\"finish\",p),m()}r.once(\"close\",h);function p(){Pt(\"onfinish\"),r.removeListener(\"close\",h),m()}r.once(\"finish\",p);function m(){Pt(\"unpipe\"),t.unpipe(r)}return r.emit(\"pipe\",t),i.flowing||(Pt(\"pipe resume\"),t.resume()),r};function T5e(r){return function(){var t=r._readableState;Pt(\"pipeOnDrain\",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,t.awaitDrain===0&&rce(r,\"data\")&&(t.flowing=!0,kT(r))}}Kt.prototype.unpipe=function(r){var e=this._readableState,t={hasUnpiped:!1};if(e.pipesCount===0)return this;if(e.pipesCount===1)return r&&r!==e.pipes?this:(r||(r=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,r&&r.emit(\"unpipe\",this,t),this);if(!r){var i=e.pipes,n=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var s=0;s<n;s++)i[s].emit(\"unpipe\",this,{hasUnpiped:!1});return this}var o=Ace(e.pipes,r);return o===-1?this:(e.pipes.splice(o,1),e.pipesCount-=1,e.pipesCount===1&&(e.pipes=e.pipes[0]),r.emit(\"unpipe\",this,t),this)};Kt.prototype.on=function(r,e){var t=zm.prototype.on.call(this,r,e),i=this._readableState;return r===\"data\"?(i.readableListening=this.listenerCount(\"readable\")>0,i.flowing!==!1&&this.resume()):r===\"readable\"&&!i.endEmitted&&!i.readableListening&&(i.readableListening=i.needReadable=!0,i.flowing=!1,i.emittedReadable=!1,Pt(\"on readable\",i.length,i.reading),i.length?wb(this):i.reading||process.nextTick(O5e,this)),t};Kt.prototype.addListener=Kt.prototype.on;Kt.prototype.removeListener=function(r,e){var t=zm.prototype.removeListener.call(this,r,e);return r===\"readable\"&&process.nextTick(lce,this),t};Kt.prototype.removeAllListeners=function(r){var e=zm.prototype.removeAllListeners.apply(this,arguments);return(r===\"readable\"||r===void 0)&&process.nextTick(lce,this),e};function lce(r){var e=r._readableState;e.readableListening=r.listenerCount(\"readable\")>0,e.resumeScheduled&&!e.paused?e.flowing=!0:r.listenerCount(\"data\")>0&&r.resume()}function O5e(r){Pt(\"readable nexttick read 0\"),r.read(0)}Kt.prototype.resume=function(){var r=this._readableState;return r.flowing||(Pt(\"resume\"),r.flowing=!r.readableListening,M5e(this,r)),r.paused=!1,this};function M5e(r,e){e.resumeScheduled||(e.resumeScheduled=!0,process.nextTick(U5e,r,e))}function U5e(r,e){Pt(\"resume\",e.reading),e.reading||r.read(0),e.resumeScheduled=!1,r.emit(\"resume\"),kT(r),e.flowing&&!e.reading&&r.read(0)}Kt.prototype.pause=function(){return Pt(\"call pause flowing=%j\",this._readableState.flowing),this._readableState.flowing!==!1&&(Pt(\"pause\"),this._readableState.flowing=!1,this.emit(\"pause\")),this._readableState.paused=!0,this};function kT(r){var e=r._readableState;for(Pt(\"flow\",e.flowing);e.flowing&&r.read()!==null;);}Kt.prototype.wrap=function(r){var e=this,t=this._readableState,i=!1;r.on(\"end\",function(){if(Pt(\"wrapped end\"),t.decoder&&!t.ended){var o=t.decoder.end();o&&o.length&&e.push(o)}e.push(null)}),r.on(\"data\",function(o){if(Pt(\"wrapped data\"),t.decoder&&(o=t.decoder.write(o)),!(t.objectMode&&o==null)&&!(!t.objectMode&&(!o||!o.length))){var a=e.push(o);a||(i=!0,r.pause())}});for(var n in r)this[n]===void 0&&typeof r[n]==\"function\"&&(this[n]=function(a){return function(){return r[a].apply(r,arguments)}}(n));for(var s=0;s<bT.length;s++)r.on(bT[s],this.emit.bind(this,bT[s]));return this._read=function(o){Pt(\"wrapped _read\",o),i&&(i=!1,r.resume())},this};typeof Symbol==\"function\"&&(Kt.prototype[Symbol.asyncIterator]=function(){return wT===void 0&&(wT=_le()),wT(this)});Object.defineProperty(Kt.prototype,\"readableHighWaterMark\",{enumerable:!1,get:function(){return this._readableState.highWaterMark}});Object.defineProperty(Kt.prototype,\"readableBuffer\",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}});Object.defineProperty(Kt.prototype,\"readableFlowing\",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(e){this._readableState&&(this._readableState.flowing=e)}});Kt._fromList=oce;Object.defineProperty(Kt.prototype,\"readableLength\",{enumerable:!1,get:function(){return this._readableState.length}});function oce(r,e){if(e.length===0)return null;var t;return e.objectMode?t=e.buffer.shift():!r||r>=e.length?(e.decoder?t=e.buffer.join(\"\"):e.buffer.length===1?t=e.buffer.first():t=e.buffer.concat(e.length),e.buffer.clear()):t=e.buffer.consume(r,e.decoder),t}function vT(r){var e=r._readableState;Pt(\"endReadable\",e.endEmitted),e.endEmitted||(e.ended=!0,process.nextTick(K5e,e,r))}function K5e(r,e){if(Pt(\"endReadableNT\",r.endEmitted,r.length),!r.endEmitted&&r.length===0&&(r.endEmitted=!0,e.readable=!1,e.emit(\"end\"),r.autoDestroy)){var t=e._writableState;(!t||t.autoDestroy&&t.finished)&&e.destroy()}}typeof Symbol==\"function\"&&(Kt.from=function(r,e){return BT===void 0&&(BT=$le()),BT(Kt,r,e)});function Ace(r,e){for(var t=0,i=r.length;t<i;t++)if(r[t]===e)return t;return-1}});var xT=w((VSt,cce)=>{\"use strict\";cce.exports=xA;var Bb=Hl().codes,H5e=Bb.ERR_METHOD_NOT_IMPLEMENTED,j5e=Bb.ERR_MULTIPLE_CALLBACK,G5e=Bb.ERR_TRANSFORM_ALREADY_TRANSFORMING,Y5e=Bb.ERR_TRANSFORM_WITH_LENGTH_0,bb=Pu();jl()(xA,bb);function q5e(r,e){var t=this._transformState;t.transforming=!1;var i=t.writecb;if(i===null)return this.emit(\"error\",new j5e);t.writechunk=null,t.writecb=null,e!=null&&this.push(e),i(r);var n=this._readableState;n.reading=!1,(n.needReadable||n.length<n.highWaterMark)&&this._read(n.highWaterMark)}function xA(r){if(!(this instanceof xA))return new xA(r);bb.call(this,r),this._transformState={afterTransform:q5e.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,r&&(typeof r.transform==\"function\"&&(this._transform=r.transform),typeof r.flush==\"function\"&&(this._flush=r.flush)),this.on(\"prefinish\",J5e)}function J5e(){var r=this;typeof this._flush==\"function\"&&!this._readableState.destroyed?this._flush(function(e,t){uce(r,e,t)}):uce(this,null,null)}xA.prototype.push=function(r,e){return this._transformState.needTransform=!1,bb.prototype.push.call(this,r,e)};xA.prototype._transform=function(r,e,t){t(new H5e(\"_transform()\"))};xA.prototype._write=function(r,e,t){var i=this._transformState;if(i.writecb=t,i.writechunk=r,i.writeencoding=e,!i.transforming){var n=this._readableState;(i.needTransform||n.needReadable||n.length<n.highWaterMark)&&this._read(n.highWaterMark)}};xA.prototype._read=function(r){var e=this._transformState;e.writechunk!==null&&!e.transforming?(e.transforming=!0,this._transform(e.writechunk,e.writeencoding,e.afterTransform)):e.needTransform=!0};xA.prototype._destroy=function(r,e){bb.prototype._destroy.call(this,r,function(t){e(t)})};function uce(r,e,t){if(e)return r.emit(\"error\",e);if(t!=null&&r.push(t),r._writableState.length)throw new Y5e;if(r._transformState.transforming)throw new G5e;return r.push(null)}});var hce=w((XSt,gce)=>{\"use strict\";gce.exports=Vm;var fce=xT();jl()(Vm,fce);function Vm(r){if(!(this instanceof Vm))return new Vm(r);fce.call(this,r)}Vm.prototype._transform=function(r,e,t){t(null,r)}});var Ece=w((ZSt,pce)=>{\"use strict\";var PT;function W5e(r){var e=!1;return function(){e||(e=!0,r.apply(void 0,arguments))}}var dce=Hl().codes,z5e=dce.ERR_MISSING_ARGS,_5e=dce.ERR_STREAM_DESTROYED;function Cce(r){if(r)throw r}function V5e(r){return r.setHeader&&typeof r.abort==\"function\"}function X5e(r,e,t,i){i=W5e(i);var n=!1;r.on(\"close\",function(){n=!0}),PT===void 0&&(PT=Cb()),PT(r,{readable:e,writable:t},function(o){if(o)return i(o);n=!0,i()});var s=!1;return function(o){if(!n&&!s){if(s=!0,V5e(r))return r.abort();if(typeof r.destroy==\"function\")return r.destroy();i(o||new _5e(\"pipe\"))}}}function mce(r){r()}function Z5e(r,e){return r.pipe(e)}function $5e(r){return!r.length||typeof r[r.length-1]!=\"function\"?Cce:r.pop()}function e9e(){for(var r=arguments.length,e=new Array(r),t=0;t<r;t++)e[t]=arguments[t];var i=$5e(e);if(Array.isArray(e[0])&&(e=e[0]),e.length<2)throw new z5e(\"streams\");var n,s=e.map(function(o,a){var l=a<e.length-1,c=a>0;return X5e(o,l,c,function(u){n||(n=u),u&&s.forEach(mce),!l&&(s.forEach(mce),i(n))})});return e.reduce(Z5e)}pce.exports=e9e});var dh=w((Zs,Xm)=>{var Zm=require(\"stream\");process.env.READABLE_STREAM===\"disable\"&&Zm?(Xm.exports=Zm.Readable,Object.assign(Xm.exports,Zm),Xm.exports.Stream=Zm):(Zs=Xm.exports=gT(),Zs.Stream=Zm||Zs,Zs.Readable=Zs,Zs.Writable=uT(),Zs.Duplex=Pu(),Zs.Transform=xT(),Zs.PassThrough=hce(),Zs.finished=Cb(),Zs.pipeline=Ece())});var wce=w(($St,Ice)=>{\"use strict\";var{Buffer:ko}=require(\"buffer\"),yce=Symbol.for(\"BufferList\");function mr(r){if(!(this instanceof mr))return new mr(r);mr._init.call(this,r)}mr._init=function(e){Object.defineProperty(this,yce,{value:!0}),this._bufs=[],this.length=0,e&&this.append(e)};mr.prototype._new=function(e){return new mr(e)};mr.prototype._offset=function(e){if(e===0)return[0,0];let t=0;for(let i=0;i<this._bufs.length;i++){let n=t+this._bufs[i].length;if(e<n||i===this._bufs.length-1)return[i,e-t];t=n}};mr.prototype._reverseOffset=function(r){let e=r[0],t=r[1];for(let i=0;i<e;i++)t+=this._bufs[i].length;return t};mr.prototype.get=function(e){if(e>this.length||e<0)return;let t=this._offset(e);return this._bufs[t[0]][t[1]]};mr.prototype.slice=function(e,t){return typeof e==\"number\"&&e<0&&(e+=this.length),typeof t==\"number\"&&t<0&&(t+=this.length),this.copy(null,0,e,t)};mr.prototype.copy=function(e,t,i,n){if((typeof i!=\"number\"||i<0)&&(i=0),(typeof n!=\"number\"||n>this.length)&&(n=this.length),i>=this.length||n<=0)return e||ko.alloc(0);let s=!!e,o=this._offset(i),a=n-i,l=a,c=s&&t||0,u=o[1];if(i===0&&n===this.length){if(!s)return this._bufs.length===1?this._bufs[0]:ko.concat(this._bufs,this.length);for(let g=0;g<this._bufs.length;g++)this._bufs[g].copy(e,c),c+=this._bufs[g].length;return e}if(l<=this._bufs[o[0]].length-u)return s?this._bufs[o[0]].copy(e,t,u,u+l):this._bufs[o[0]].slice(u,u+l);s||(e=ko.allocUnsafe(a));for(let g=o[0];g<this._bufs.length;g++){let f=this._bufs[g].length-u;if(l>f)this._bufs[g].copy(e,c,u),c+=f;else{this._bufs[g].copy(e,c,u,u+l),c+=f;break}l-=f,u&&(u=0)}return e.length>c?e.slice(0,c):e};mr.prototype.shallowSlice=function(e,t){if(e=e||0,t=typeof t!=\"number\"?this.length:t,e<0&&(e+=this.length),t<0&&(t+=this.length),e===t)return this._new();let i=this._offset(e),n=this._offset(t),s=this._bufs.slice(i[0],n[0]+1);return n[1]===0?s.pop():s[s.length-1]=s[s.length-1].slice(0,n[1]),i[1]!==0&&(s[0]=s[0].slice(i[1])),this._new(s)};mr.prototype.toString=function(e,t,i){return this.slice(t,i).toString(e)};mr.prototype.consume=function(e){if(e=Math.trunc(e),Number.isNaN(e)||e<=0)return this;for(;this._bufs.length;)if(e>=this._bufs[0].length)e-=this._bufs[0].length,this.length-=this._bufs[0].length,this._bufs.shift();else{this._bufs[0]=this._bufs[0].slice(e),this.length-=e;break}return this};mr.prototype.duplicate=function(){let e=this._new();for(let t=0;t<this._bufs.length;t++)e.append(this._bufs[t]);return e};mr.prototype.append=function(e){if(e==null)return this;if(e.buffer)this._appendBuffer(ko.from(e.buffer,e.byteOffset,e.byteLength));else if(Array.isArray(e))for(let t=0;t<e.length;t++)this.append(e[t]);else if(this._isBufferList(e))for(let t=0;t<e._bufs.length;t++)this.append(e._bufs[t]);else typeof e==\"number\"&&(e=e.toString()),this._appendBuffer(ko.from(e));return this};mr.prototype._appendBuffer=function(e){this._bufs.push(e),this.length+=e.length};mr.prototype.indexOf=function(r,e,t){if(t===void 0&&typeof e==\"string\"&&(t=e,e=void 0),typeof r==\"function\"||Array.isArray(r))throw new TypeError('The \"value\" argument must be one of type string, Buffer, BufferList, or Uint8Array.');if(typeof r==\"number\"?r=ko.from([r]):typeof r==\"string\"?r=ko.from(r,t):this._isBufferList(r)?r=r.slice():Array.isArray(r.buffer)?r=ko.from(r.buffer,r.byteOffset,r.byteLength):ko.isBuffer(r)||(r=ko.from(r)),e=Number(e||0),isNaN(e)&&(e=0),e<0&&(e=this.length+e),e<0&&(e=0),r.length===0)return e>this.length?this.length:e;let i=this._offset(e),n=i[0],s=i[1];for(;n<this._bufs.length;n++){let o=this._bufs[n];for(;s<o.length;)if(o.length-s>=r.length){let l=o.indexOf(r,s);if(l!==-1)return this._reverseOffset([n,l]);s=o.length-r.length+1}else{let l=this._reverseOffset([n,s]);if(this._match(l,r))return l;s++}s=0}return-1};mr.prototype._match=function(r,e){if(this.length-r<e.length)return!1;for(let t=0;t<e.length;t++)if(this.get(r+t)!==e[t])return!1;return!0};(function(){let r={readDoubleBE:8,readDoubleLE:8,readFloatBE:4,readFloatLE:4,readInt32BE:4,readInt32LE:4,readUInt32BE:4,readUInt32LE:4,readInt16BE:2,readInt16LE:2,readUInt16BE:2,readUInt16LE:2,readInt8:1,readUInt8:1,readIntBE:null,readIntLE:null,readUIntBE:null,readUIntLE:null};for(let e in r)(function(t){r[t]===null?mr.prototype[t]=function(i,n){return this.slice(i,i+n)[t](0,n)}:mr.prototype[t]=function(i=0){return this.slice(i,i+r[t])[t](0)}})(e)})();mr.prototype._isBufferList=function(e){return e instanceof mr||mr.isBufferList(e)};mr.isBufferList=function(e){return e!=null&&e[yce]};Ice.exports=mr});var Bce=w((evt,Qb)=>{\"use strict\";var DT=dh().Duplex,t9e=jl(),$m=wce();function Zi(r){if(!(this instanceof Zi))return new Zi(r);if(typeof r==\"function\"){this._callback=r;let e=function(i){this._callback&&(this._callback(i),this._callback=null)}.bind(this);this.on(\"pipe\",function(i){i.on(\"error\",e)}),this.on(\"unpipe\",function(i){i.removeListener(\"error\",e)}),r=null}$m._init.call(this,r),DT.call(this)}t9e(Zi,DT);Object.assign(Zi.prototype,$m.prototype);Zi.prototype._new=function(e){return new Zi(e)};Zi.prototype._write=function(e,t,i){this._appendBuffer(e),typeof i==\"function\"&&i()};Zi.prototype._read=function(e){if(!this.length)return this.push(null);e=Math.min(e,this.length),this.push(this.slice(0,e)),this.consume(e)};Zi.prototype.end=function(e){DT.prototype.end.call(this,e),this._callback&&(this._callback(null,this.slice()),this._callback=null)};Zi.prototype._destroy=function(e,t){this._bufs.length=0,this.length=0,t(e)};Zi.prototype._isBufferList=function(e){return e instanceof Zi||e instanceof $m||Zi.isBufferList(e)};Zi.isBufferList=$m.isBufferList;Qb.exports=Zi;Qb.exports.BufferListStream=Zi;Qb.exports.BufferList=$m});var NT=w(Ch=>{var r9e=Buffer.alloc,i9e=\"0000000000000000000\",n9e=\"7777777777777777777\",bce=\"0\".charCodeAt(0),Qce=Buffer.from(\"ustar\\0\",\"binary\"),s9e=Buffer.from(\"00\",\"binary\"),o9e=Buffer.from(\"ustar \",\"binary\"),a9e=Buffer.from(\" \\0\",\"binary\"),A9e=parseInt(\"7777\",8),eE=257,RT=263,l9e=function(r,e,t){return typeof r!=\"number\"?t:(r=~~r,r>=e?e:r>=0||(r+=e,r>=0)?r:0)},c9e=function(r){switch(r){case 0:return\"file\";case 1:return\"link\";case 2:return\"symlink\";case 3:return\"character-device\";case 4:return\"block-device\";case 5:return\"directory\";case 6:return\"fifo\";case 7:return\"contiguous-file\";case 72:return\"pax-header\";case 55:return\"pax-global-header\";case 27:return\"gnu-long-link-path\";case 28:case 30:return\"gnu-long-path\"}return null},u9e=function(r){switch(r){case\"file\":return 0;case\"link\":return 1;case\"symlink\":return 2;case\"character-device\":return 3;case\"block-device\":return 4;case\"directory\":return 5;case\"fifo\":return 6;case\"contiguous-file\":return 7;case\"pax-header\":return 72}return 0},Sce=function(r,e,t,i){for(;t<i;t++)if(r[t]===e)return t;return i},vce=function(r){for(var e=8*32,t=0;t<148;t++)e+=r[t];for(var i=156;i<512;i++)e+=r[i];return e},Wl=function(r,e){return r=r.toString(8),r.length>e?n9e.slice(0,e)+\" \":i9e.slice(0,e-r.length)+r+\" \"};function g9e(r){var e;if(r[0]===128)e=!0;else if(r[0]===255)e=!1;else return null;for(var t=[],i=r.length-1;i>0;i--){var n=r[i];e?t.push(n):t.push(255-n)}var s=0,o=t.length;for(i=0;i<o;i++)s+=t[i]*Math.pow(256,i);return e?s:-1*s}var zl=function(r,e,t){if(r=r.slice(e,e+t),e=0,r[e]&128)return g9e(r);for(;e<r.length&&r[e]===32;)e++;for(var i=l9e(Sce(r,32,e,r.length),r.length,r.length);e<i&&r[e]===0;)e++;return i===e?0:parseInt(r.slice(e,i).toString(),8)},mh=function(r,e,t,i){return r.slice(e,Sce(r,0,e,e+t)).toString(i)},FT=function(r){var e=Buffer.byteLength(r),t=Math.floor(Math.log(e)/Math.log(10))+1;return e+t>=Math.pow(10,t)&&t++,e+t+r};Ch.decodeLongPath=function(r,e){return mh(r,0,r.length,e)};Ch.encodePax=function(r){var e=\"\";r.name&&(e+=FT(\" path=\"+r.name+`\n`)),r.linkname&&(e+=FT(\" linkpath=\"+r.linkname+`\n`));var t=r.pax;if(t)for(var i in t)e+=FT(\" \"+i+\"=\"+t[i]+`\n`);return Buffer.from(e)};Ch.decodePax=function(r){for(var e={};r.length;){for(var t=0;t<r.length&&r[t]!==32;)t++;var i=parseInt(r.slice(0,t).toString(),10);if(!i)return e;var n=r.slice(t+1,i-1).toString(),s=n.indexOf(\"=\");if(s===-1)return e;e[n.slice(0,s)]=n.slice(s+1),r=r.slice(i)}return e};Ch.encode=function(r){var e=r9e(512),t=r.name,i=\"\";if(r.typeflag===5&&t[t.length-1]!==\"/\"&&(t+=\"/\"),Buffer.byteLength(t)!==t.length)return null;for(;Buffer.byteLength(t)>100;){var n=t.indexOf(\"/\");if(n===-1)return null;i+=i?\"/\"+t.slice(0,n):t.slice(0,n),t=t.slice(n+1)}return Buffer.byteLength(t)>100||Buffer.byteLength(i)>155||r.linkname&&Buffer.byteLength(r.linkname)>100?null:(e.write(t),e.write(Wl(r.mode&A9e,6),100),e.write(Wl(r.uid,6),108),e.write(Wl(r.gid,6),116),e.write(Wl(r.size,11),124),e.write(Wl(r.mtime.getTime()/1e3|0,11),136),e[156]=bce+u9e(r.type),r.linkname&&e.write(r.linkname,157),Qce.copy(e,eE),s9e.copy(e,RT),r.uname&&e.write(r.uname,265),r.gname&&e.write(r.gname,297),e.write(Wl(r.devmajor||0,6),329),e.write(Wl(r.devminor||0,6),337),i&&e.write(i,345),e.write(Wl(vce(e),6),148),e)};Ch.decode=function(r,e,t){var i=r[156]===0?0:r[156]-bce,n=mh(r,0,100,e),s=zl(r,100,8),o=zl(r,108,8),a=zl(r,116,8),l=zl(r,124,12),c=zl(r,136,12),u=c9e(i),g=r[157]===0?null:mh(r,157,100,e),f=mh(r,265,32),h=mh(r,297,32),p=zl(r,329,8),m=zl(r,337,8),y=vce(r);if(y===8*32)return null;if(y!==zl(r,148,8))throw new Error(\"Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?\");if(Qce.compare(r,eE,eE+6)===0)r[345]&&(n=mh(r,345,155,e)+\"/\"+n);else if(!(o9e.compare(r,eE,eE+6)===0&&a9e.compare(r,RT,RT+2)===0)){if(!t)throw new Error(\"Invalid tar header: unknown format.\")}return i===0&&n&&n[n.length-1]===\"/\"&&(i=5),{name:n,mode:s,uid:o,gid:a,size:l,mtime:new Date(1e3*c),type:u,linkname:g,uname:f,gname:h,devmajor:p,devminor:m}}});var Nce=w((rvt,kce)=>{var xce=require(\"util\"),f9e=Bce(),tE=NT(),Pce=dh().Writable,Dce=dh().PassThrough,Rce=function(){},Fce=function(r){return r&=511,r&&512-r},h9e=function(r,e){var t=new Sb(r,e);return t.end(),t},p9e=function(r,e){return e.path&&(r.name=e.path),e.linkpath&&(r.linkname=e.linkpath),e.size&&(r.size=parseInt(e.size,10)),r.pax=e,r},Sb=function(r,e){this._parent=r,this.offset=e,Dce.call(this,{autoDestroy:!1})};xce.inherits(Sb,Dce);Sb.prototype.destroy=function(r){this._parent.destroy(r)};var PA=function(r){if(!(this instanceof PA))return new PA(r);Pce.call(this,r),r=r||{},this._offset=0,this._buffer=f9e(),this._missing=0,this._partial=!1,this._onparse=Rce,this._header=null,this._stream=null,this._overflow=null,this._cb=null,this._locked=!1,this._destroyed=!1,this._pax=null,this._paxGlobal=null,this._gnuLongPath=null,this._gnuLongLinkPath=null;var e=this,t=e._buffer,i=function(){e._continue()},n=function(f){if(e._locked=!1,f)return e.destroy(f);e._stream||i()},s=function(){e._stream=null;var f=Fce(e._header.size);f?e._parse(f,o):e._parse(512,g),e._locked||i()},o=function(){e._buffer.consume(Fce(e._header.size)),e._parse(512,g),i()},a=function(){var f=e._header.size;e._paxGlobal=tE.decodePax(t.slice(0,f)),t.consume(f),s()},l=function(){var f=e._header.size;e._pax=tE.decodePax(t.slice(0,f)),e._paxGlobal&&(e._pax=Object.assign({},e._paxGlobal,e._pax)),t.consume(f),s()},c=function(){var f=e._header.size;this._gnuLongPath=tE.decodeLongPath(t.slice(0,f),r.filenameEncoding),t.consume(f),s()},u=function(){var f=e._header.size;this._gnuLongLinkPath=tE.decodeLongPath(t.slice(0,f),r.filenameEncoding),t.consume(f),s()},g=function(){var f=e._offset,h;try{h=e._header=tE.decode(t.slice(0,512),r.filenameEncoding,r.allowUnknownFormat)}catch(p){e.emit(\"error\",p)}if(t.consume(512),!h){e._parse(512,g),i();return}if(h.type===\"gnu-long-path\"){e._parse(h.size,c),i();return}if(h.type===\"gnu-long-link-path\"){e._parse(h.size,u),i();return}if(h.type===\"pax-global-header\"){e._parse(h.size,a),i();return}if(h.type===\"pax-header\"){e._parse(h.size,l),i();return}if(e._gnuLongPath&&(h.name=e._gnuLongPath,e._gnuLongPath=null),e._gnuLongLinkPath&&(h.linkname=e._gnuLongLinkPath,e._gnuLongLinkPath=null),e._pax&&(e._header=h=p9e(h,e._pax),e._pax=null),e._locked=!0,!h.size||h.type===\"directory\"){e._parse(512,g),e.emit(\"entry\",h,h9e(e,f),n);return}e._stream=new Sb(e,f),e.emit(\"entry\",h,e._stream,n),e._parse(h.size,s),i()};this._onheader=g,this._parse(512,g)};xce.inherits(PA,Pce);PA.prototype.destroy=function(r){this._destroyed||(this._destroyed=!0,r&&this.emit(\"error\",r),this.emit(\"close\"),this._stream&&this._stream.emit(\"close\"))};PA.prototype._parse=function(r,e){this._destroyed||(this._offset+=r,this._missing=r,e===this._onheader&&(this._partial=!1),this._onparse=e)};PA.prototype._continue=function(){if(!this._destroyed){var r=this._cb;this._cb=Rce,this._overflow?this._write(this._overflow,void 0,r):r()}};PA.prototype._write=function(r,e,t){if(!this._destroyed){var i=this._stream,n=this._buffer,s=this._missing;if(r.length&&(this._partial=!0),r.length<s)return this._missing-=r.length,this._overflow=null,i?i.write(r,t):(n.append(r),t());this._cb=t,this._missing=0;var o=null;r.length>s&&(o=r.slice(s),r=r.slice(0,s)),i?i.end(r):n.append(r),this._overflow=o,this._onparse()}};PA.prototype._final=function(r){if(this._partial)return this.destroy(new Error(\"Unexpected end of data\"));r()};kce.exports=PA});var Tce=w((ivt,Lce)=>{Lce.exports=require(\"fs\").constants||require(\"constants\")});var Hce=w((nvt,Oce)=>{var Eh=Tce(),Mce=Ux(),vb=jl(),d9e=Buffer.alloc,Uce=dh().Readable,Ih=dh().Writable,C9e=require(\"string_decoder\").StringDecoder,kb=NT(),m9e=parseInt(\"755\",8),E9e=parseInt(\"644\",8),Kce=d9e(1024),LT=function(){},TT=function(r,e){e&=511,e&&r.push(Kce.slice(0,512-e))};function I9e(r){switch(r&Eh.S_IFMT){case Eh.S_IFBLK:return\"block-device\";case Eh.S_IFCHR:return\"character-device\";case Eh.S_IFDIR:return\"directory\";case Eh.S_IFIFO:return\"fifo\";case Eh.S_IFLNK:return\"symlink\"}return\"file\"}var xb=function(r){Ih.call(this),this.written=0,this._to=r,this._destroyed=!1};vb(xb,Ih);xb.prototype._write=function(r,e,t){if(this.written+=r.length,this._to.push(r))return t();this._to._drain=t};xb.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit(\"close\"))};var Pb=function(){Ih.call(this),this.linkname=\"\",this._decoder=new C9e(\"utf-8\"),this._destroyed=!1};vb(Pb,Ih);Pb.prototype._write=function(r,e,t){this.linkname+=this._decoder.write(r),t()};Pb.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit(\"close\"))};var rE=function(){Ih.call(this),this._destroyed=!1};vb(rE,Ih);rE.prototype._write=function(r,e,t){t(new Error(\"No body allowed for this entry\"))};rE.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit(\"close\"))};var ya=function(r){if(!(this instanceof ya))return new ya(r);Uce.call(this,r),this._drain=LT,this._finalized=!1,this._finalizing=!1,this._destroyed=!1,this._stream=null};vb(ya,Uce);ya.prototype.entry=function(r,e,t){if(this._stream)throw new Error(\"already piping an entry\");if(!(this._finalized||this._destroyed)){typeof e==\"function\"&&(t=e,e=null),t||(t=LT);var i=this;if((!r.size||r.type===\"symlink\")&&(r.size=0),r.type||(r.type=I9e(r.mode)),r.mode||(r.mode=r.type===\"directory\"?m9e:E9e),r.uid||(r.uid=0),r.gid||(r.gid=0),r.mtime||(r.mtime=new Date),typeof e==\"string\"&&(e=Buffer.from(e)),Buffer.isBuffer(e)){r.size=e.length,this._encode(r);var n=this.push(e);return TT(i,r.size),n?process.nextTick(t):this._drain=t,new rE}if(r.type===\"symlink\"&&!r.linkname){var s=new Pb;return Mce(s,function(a){if(a)return i.destroy(),t(a);r.linkname=s.linkname,i._encode(r),t()}),s}if(this._encode(r),r.type!==\"file\"&&r.type!==\"contiguous-file\")return process.nextTick(t),new rE;var o=new xb(this);return this._stream=o,Mce(o,function(a){if(i._stream=null,a)return i.destroy(),t(a);if(o.written!==r.size)return i.destroy(),t(new Error(\"size mismatch\"));TT(i,r.size),i._finalizing&&i.finalize(),t()}),o}};ya.prototype.finalize=function(){if(this._stream){this._finalizing=!0;return}this._finalized||(this._finalized=!0,this.push(Kce),this.push(null))};ya.prototype.destroy=function(r){this._destroyed||(this._destroyed=!0,r&&this.emit(\"error\",r),this.emit(\"close\"),this._stream&&this._stream.destroy&&this._stream.destroy())};ya.prototype._encode=function(r){if(!r.pax){var e=kb.encode(r);if(e){this.push(e);return}}this._encodePax(r)};ya.prototype._encodePax=function(r){var e=kb.encodePax({name:r.name,linkname:r.linkname,pax:r.pax}),t={name:\"PaxHeader\",mode:r.mode,uid:r.uid,gid:r.gid,size:e.length,mtime:r.mtime,type:\"pax-header\",linkname:r.linkname&&\"PaxHeader\",uname:r.uname,gname:r.gname,devmajor:r.devmajor,devminor:r.devminor};this.push(kb.encode(t)),this.push(e),TT(this,e.length),t.size=r.size,t.type=r.type,this.push(kb.encode(t))};ya.prototype._read=function(r){var e=this._drain;this._drain=LT,e()};Oce.exports=ya});var jce=w(OT=>{OT.extract=Nce();OT.pack=Hce()});var tue=w((vvt,Xce)=>{\"use strict\";var yh=class{constructor(e,t,i){this.__specs=e||{},Object.keys(this.__specs).forEach(n=>{if(typeof this.__specs[n]==\"string\"){let s=this.__specs[n],o=this.__specs[s];if(o){let a=o.aliases||[];a.push(n,s),o.aliases=[...new Set(a)],this.__specs[n]=o}else throw new Error(`Alias refers to invalid key: ${s} -> ${n}`)}}),this.__opts=t||{},this.__providers=$ce(i.filter(n=>n!=null&&typeof n==\"object\")),this.__isFiggyPudding=!0}get(e){return GT(this,e,!0)}get[Symbol.toStringTag](){return\"FiggyPudding\"}forEach(e,t=this){for(let[i,n]of this.entries())e.call(t,n,i,this)}toJSON(){let e={};return this.forEach((t,i)=>{e[i]=t}),e}*entries(e){for(let i of Object.keys(this.__specs))yield[i,this.get(i)];let t=e||this.__opts.other;if(t){let i=new Set;for(let n of this.__providers){let s=n.entries?n.entries(t):F9e(n);for(let[o,a]of s)t(o)&&!i.has(o)&&(i.add(o),yield[o,a])}}}*[Symbol.iterator](){for(let[e,t]of this.entries())yield[e,t]}*keys(){for(let[e]of this.entries())yield e}*values(){for(let[,e]of this.entries())yield e}concat(...e){return new Proxy(new yh(this.__specs,this.__opts,$ce(this.__providers).concat(e)),Zce)}};try{let r=require(\"util\");yh.prototype[r.inspect.custom]=function(e,t){return this[Symbol.toStringTag]+\" \"+r.inspect(this.toJSON(),t)}}catch(r){}function N9e(r){throw Object.assign(new Error(`invalid config key requested: ${r}`),{code:\"EBADKEY\"})}function GT(r,e,t){let i=r.__specs[e];if(t&&!i&&(!r.__opts.other||!r.__opts.other(e)))N9e(e);else{i||(i={});let n;for(let s of r.__providers){if(n=eue(e,s),n===void 0&&i.aliases&&i.aliases.length){for(let o of i.aliases)if(o!==e&&(n=eue(o,s),n!==void 0))break}if(n!==void 0)break}return n===void 0&&i.default!==void 0?typeof i.default==\"function\"?i.default(r):i.default:n}}function eue(r,e){let t;return e.__isFiggyPudding?t=GT(e,r,!1):typeof e.get==\"function\"?t=e.get(r):t=e[r],t}var Zce={has(r,e){return e in r.__specs&&GT(r,e,!1)!==void 0},ownKeys(r){return Object.keys(r.__specs)},get(r,e){return typeof e==\"symbol\"||e.slice(0,2)===\"__\"||e in yh.prototype?r[e]:r.get(e)},set(r,e,t){if(typeof e==\"symbol\"||e.slice(0,2)===\"__\")return r[e]=t,!0;throw new Error(\"figgyPudding options cannot be modified. Use .concat() instead.\")},deleteProperty(){throw new Error(\"figgyPudding options cannot be deleted. Use .concat() and shadow them instead.\")}};Xce.exports=L9e;function L9e(r,e){function t(...i){return new Proxy(new yh(r,e,i),Zce)}return t}function $ce(r){let e=[];return r.forEach(t=>e.unshift(t)),e}function F9e(r){return Object.keys(r).map(e=>[e,r[e]])}});var nue=w((kvt,wa)=>{\"use strict\";var nE=require(\"crypto\"),T9e=tue(),O9e=require(\"stream\").Transform,rue=[\"sha256\",\"sha384\",\"sha512\"],M9e=/^[a-z0-9+/]+(?:=?=?)$/i,U9e=/^([^-]+)-([^?]+)([?\\S*]*)$/,K9e=/^([^-]+)-([A-Za-z0-9+/=]{44,88})(\\?[\\x21-\\x7E]*)*$/,H9e=/^[\\x21-\\x7E]+$/,Cn=T9e({algorithms:{default:[\"sha512\"]},error:{default:!1},integrity:{},options:{default:[]},pickAlgorithm:{default:()=>j9e},Promise:{default:()=>Promise},sep:{default:\" \"},single:{default:!1},size:{},strict:{default:!1}}),Nu=class{get isHash(){return!0}constructor(e,t){t=Cn(t);let i=!!t.strict;this.source=e.trim();let n=this.source.match(i?K9e:U9e);if(!n||i&&!rue.some(o=>o===n[1]))return;this.algorithm=n[1],this.digest=n[2];let s=n[3];this.options=s?s.slice(1).split(\"?\"):[]}hexDigest(){return this.digest&&Buffer.from(this.digest,\"base64\").toString(\"hex\")}toJSON(){return this.toString()}toString(e){if(e=Cn(e),e.strict&&!(rue.some(i=>i===this.algorithm)&&this.digest.match(M9e)&&(this.options||[]).every(i=>i.match(H9e))))return\"\";let t=this.options&&this.options.length?`?${this.options.join(\"?\")}`:\"\";return`${this.algorithm}-${this.digest}${t}`}},wh=class{get isIntegrity(){return!0}toJSON(){return this.toString()}toString(e){e=Cn(e);let t=e.sep||\" \";return e.strict&&(t=t.replace(/\\S+/g,\" \")),Object.keys(this).map(i=>this[i].map(n=>Nu.prototype.toString.call(n,e)).filter(n=>n.length).join(t)).filter(i=>i.length).join(t)}concat(e,t){t=Cn(t);let i=typeof e==\"string\"?e:sE(e,t);return Ba(`${this.toString(t)} ${i}`,t)}hexDigest(){return Ba(this,{single:!0}).hexDigest()}match(e,t){t=Cn(t);let i=Ba(e,t),n=i.pickAlgorithm(t);return this[n]&&i[n]&&this[n].find(s=>i[n].find(o=>s.digest===o.digest))||!1}pickAlgorithm(e){e=Cn(e);let t=e.pickAlgorithm,i=Object.keys(this);if(!i.length)throw new Error(`No algorithms available for ${JSON.stringify(this.toString())}`);return i.reduce((n,s)=>t(n,s)||n)}};wa.exports.parse=Ba;function Ba(r,e){if(e=Cn(e),typeof r==\"string\")return YT(r,e);if(r.algorithm&&r.digest){let t=new wh;return t[r.algorithm]=[r],YT(sE(t,e),e)}else return YT(sE(r,e),e)}function YT(r,e){return e.single?new Nu(r,e):r.trim().split(/\\s+/).reduce((t,i)=>{let n=new Nu(i,e);if(n.algorithm&&n.digest){let s=n.algorithm;t[s]||(t[s]=[]),t[s].push(n)}return t},new wh)}wa.exports.stringify=sE;function sE(r,e){return e=Cn(e),r.algorithm&&r.digest?Nu.prototype.toString.call(r,e):typeof r==\"string\"?sE(Ba(r,e),e):wh.prototype.toString.call(r,e)}wa.exports.fromHex=G9e;function G9e(r,e,t){t=Cn(t);let i=t.options&&t.options.length?`?${t.options.join(\"?\")}`:\"\";return Ba(`${e}-${Buffer.from(r,\"hex\").toString(\"base64\")}${i}`,t)}wa.exports.fromData=Y9e;function Y9e(r,e){e=Cn(e);let t=e.algorithms,i=e.options&&e.options.length?`?${e.options.join(\"?\")}`:\"\";return t.reduce((n,s)=>{let o=nE.createHash(s).update(r).digest(\"base64\"),a=new Nu(`${s}-${o}${i}`,e);if(a.algorithm&&a.digest){let l=a.algorithm;n[l]||(n[l]=[]),n[l].push(a)}return n},new wh)}wa.exports.fromStream=q9e;function q9e(r,e){e=Cn(e);let t=e.Promise||Promise,i=qT(e);return new t((n,s)=>{r.pipe(i),r.on(\"error\",s),i.on(\"error\",s);let o;i.on(\"integrity\",a=>{o=a}),i.on(\"end\",()=>n(o)),i.on(\"data\",()=>{})})}wa.exports.checkData=J9e;function J9e(r,e,t){if(t=Cn(t),e=Ba(e,t),!Object.keys(e).length){if(t.error)throw Object.assign(new Error(\"No valid integrity hashes to check against\"),{code:\"EINTEGRITY\"});return!1}let i=e.pickAlgorithm(t),n=nE.createHash(i).update(r).digest(\"base64\"),s=Ba({algorithm:i,digest:n}),o=s.match(e,t);if(o||!t.error)return o;if(typeof t.size==\"number\"&&r.length!==t.size){let a=new Error(`data size mismatch when checking ${e}.\n  Wanted: ${t.size}\n  Found: ${r.length}`);throw a.code=\"EBADSIZE\",a.found=r.length,a.expected=t.size,a.sri=e,a}else{let a=new Error(`Integrity checksum failed when using ${i}: Wanted ${e}, but got ${s}. (${r.length} bytes)`);throw a.code=\"EINTEGRITY\",a.found=s,a.expected=e,a.algorithm=i,a.sri=e,a}}wa.exports.checkStream=W9e;function W9e(r,e,t){t=Cn(t);let i=t.Promise||Promise,n=qT(t.concat({integrity:e}));return new i((s,o)=>{r.pipe(n),r.on(\"error\",o),n.on(\"error\",o);let a;n.on(\"verified\",l=>{a=l}),n.on(\"end\",()=>s(a)),n.on(\"data\",()=>{})})}wa.exports.integrityStream=qT;function qT(r){r=Cn(r);let e=r.integrity&&Ba(r.integrity,r),t=e&&Object.keys(e).length,i=t&&e.pickAlgorithm(r),n=t&&e[i],s=Array.from(new Set(r.algorithms.concat(i?[i]:[]))),o=s.map(nE.createHash),a=0,l=new O9e({transform(c,u,g){a+=c.length,o.forEach(f=>f.update(c,u)),g(null,c,u)}}).on(\"end\",()=>{let c=r.options&&r.options.length?`?${r.options.join(\"?\")}`:\"\",u=Ba(o.map((f,h)=>`${s[h]}-${f.digest(\"base64\")}${c}`).join(\" \"),r),g=t&&u.match(e,r);if(typeof r.size==\"number\"&&a!==r.size){let f=new Error(`stream size mismatch when checking ${e}.\n  Wanted: ${r.size}\n  Found: ${a}`);f.code=\"EBADSIZE\",f.found=a,f.expected=r.size,f.sri=e,l.emit(\"error\",f)}else if(r.integrity&&!g){let f=new Error(`${e} integrity checksum failed when using ${i}: wanted ${n} but got ${u}. (${a} bytes)`);f.code=\"EINTEGRITY\",f.found=u,f.expected=n,f.algorithm=i,f.sri=e,l.emit(\"error\",f)}else l.emit(\"size\",a),l.emit(\"integrity\",u),g&&l.emit(\"verified\",g)});return l}wa.exports.create=z9e;function z9e(r){r=Cn(r);let e=r.algorithms,t=r.options.length?`?${r.options.join(\"?\")}`:\"\",i=e.map(nE.createHash);return{update:function(n,s){return i.forEach(o=>o.update(n,s)),this},digest:function(n){return e.reduce((o,a)=>{let l=i.shift().digest(\"base64\"),c=new Nu(`${a}-${l}${t}`,r);if(c.algorithm&&c.digest){let u=c.algorithm;o[u]||(o[u]=[]),o[u].push(c)}return o},new wh)}}}var _9e=new Set(nE.getHashes()),iue=[\"md5\",\"whirlpool\",\"sha1\",\"sha224\",\"sha256\",\"sha384\",\"sha512\",\"sha3\",\"sha3-256\",\"sha3-384\",\"sha3-512\",\"sha3_256\",\"sha3_384\",\"sha3_512\"].filter(r=>_9e.has(r));function j9e(r,e){return iue.indexOf(r.toLowerCase())>=iue.indexOf(e.toLowerCase())?r:e}});var IC={};ft(IC,{BuildType:()=>cs,Cache:()=>Nt,Configuration:()=>ye,DEFAULT_LOCK_FILENAME:()=>hx,DEFAULT_RC_FILENAME:()=>fx,FormatType:()=>Ri,InstallMode:()=>Ci,LightReport:()=>dA,LinkType:()=>Qt,Manifest:()=>At,MessageName:()=>X,MultiFetcher:()=>wd,PackageExtensionStatus:()=>qi,PackageExtensionType:()=>wi,Project:()=>ze,ProjectLookup:()=>gl,Report:()=>Ji,ReportError:()=>ct,SettingsType:()=>Ie,StreamReport:()=>Je,TAG_REGEXP:()=>_g,TelemetryManager:()=>EC,ThrowReport:()=>di,VirtualFetcher:()=>bd,Workspace:()=>mC,WorkspaceFetcher:()=>Qd,WorkspaceResolver:()=>oi,YarnVersion:()=>Kr,execUtils:()=>Nr,folderUtils:()=>ox,formatUtils:()=>ae,hashUtils:()=>Rn,httpUtils:()=>ir,miscUtils:()=>Se,nodeUtils:()=>Xg,parseMessageName:()=>yI,scriptUtils:()=>Zt,semverUtils:()=>Wt,stringifyMessageName:()=>VA,structUtils:()=>P,tgzUtils:()=>Bi,treeUtils:()=>ls});var Nr={};ft(Nr,{EndStrategy:()=>ss,ExecError:()=>yx,PipeError:()=>Bw,execvp:()=>mve,pipevp:()=>ia});var $h={};ft($h,{AliasFS:()=>La,CwdFS:()=>_t,DEFAULT_COMPRESSION_LEVEL:()=>cc,FakeFS:()=>qA,Filename:()=>xt,JailFS:()=>Ta,LazyFS:()=>Vh,LinkStrategy:()=>Yh,NoFS:()=>GE,NodeFS:()=>ar,PortablePath:()=>Me,PosixFS:()=>Xh,ProxiedFS:()=>Qi,VirtualFS:()=>Wr,ZipFS:()=>li,ZipOpenFS:()=>ys,constants:()=>Rr,extendFs:()=>zE,normalizeLineEndings:()=>oc,npath:()=>H,opendir:()=>KE,patchFs:()=>dQ,ppath:()=>x,statUtils:()=>iQ,toFilename:()=>Jr,xfs:()=>U});var Rr={};ft(Rr,{SAFE_TIME:()=>rQ,S_IFDIR:()=>Ra,S_IFLNK:()=>Na,S_IFMT:()=>Vn,S_IFREG:()=>Fa});var Vn=61440,Ra=16384,Fa=32768,Na=40960,rQ=456789e3;var iQ={};ft(iQ,{BigIntStatsEntry:()=>Hh,DEFAULT_MODE:()=>Kh,DirEntry:()=>GO,StatEntry:()=>GA,areStatsEqual:()=>sQ,clearStats:()=>FE,convertToBigIntStats:()=>NE,makeDefaultStats:()=>jh,makeEmptyStats:()=>dge});var nQ=ge(require(\"util\"));var Kh=Fa|420,GO=class{constructor(){this.name=\"\";this.mode=0}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&Vn)===Ra}isFIFO(){return!1}isFile(){return(this.mode&Vn)===Fa}isSocket(){return!1}isSymbolicLink(){return(this.mode&Vn)===Na}},GA=class{constructor(){this.uid=0;this.gid=0;this.size=0;this.blksize=0;this.atimeMs=0;this.mtimeMs=0;this.ctimeMs=0;this.birthtimeMs=0;this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=0;this.ino=0;this.mode=Kh;this.nlink=1;this.rdev=0;this.blocks=1}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&Vn)===Ra}isFIFO(){return!1}isFile(){return(this.mode&Vn)===Fa}isSocket(){return!1}isSymbolicLink(){return(this.mode&Vn)===Na}},Hh=class{constructor(){this.uid=BigInt(0);this.gid=BigInt(0);this.size=BigInt(0);this.blksize=BigInt(0);this.atimeMs=BigInt(0);this.mtimeMs=BigInt(0);this.ctimeMs=BigInt(0);this.birthtimeMs=BigInt(0);this.atimeNs=BigInt(0);this.mtimeNs=BigInt(0);this.ctimeNs=BigInt(0);this.birthtimeNs=BigInt(0);this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=BigInt(0);this.ino=BigInt(0);this.mode=BigInt(Kh);this.nlink=BigInt(1);this.rdev=BigInt(0);this.blocks=BigInt(1)}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&BigInt(Vn))===BigInt(Ra)}isFIFO(){return!1}isFile(){return(this.mode&BigInt(Vn))===BigInt(Fa)}isSocket(){return!1}isSymbolicLink(){return(this.mode&BigInt(Vn))===BigInt(Na)}};function jh(){return new GA}function dge(){return FE(jh())}function FE(r){for(let e in r)if(Object.prototype.hasOwnProperty.call(r,e)){let t=r[e];typeof t==\"number\"?r[e]=0:typeof t==\"bigint\"?r[e]=BigInt(0):nQ.types.isDate(t)&&(r[e]=new Date(0))}return r}function NE(r){let e=new Hh;for(let t in r)if(Object.prototype.hasOwnProperty.call(r,t)){let i=r[t];typeof i==\"number\"?e[t]=BigInt(i):nQ.types.isDate(i)&&(e[t]=new Date(i))}return e.atimeNs=e.atimeMs*BigInt(1e6),e.mtimeNs=e.mtimeMs*BigInt(1e6),e.ctimeNs=e.ctimeMs*BigInt(1e6),e.birthtimeNs=e.birthtimeMs*BigInt(1e6),e}function sQ(r,e){if(r.atimeMs!==e.atimeMs||r.birthtimeMs!==e.birthtimeMs||r.blksize!==e.blksize||r.blocks!==e.blocks||r.ctimeMs!==e.ctimeMs||r.dev!==e.dev||r.gid!==e.gid||r.ino!==e.ino||r.isBlockDevice()!==e.isBlockDevice()||r.isCharacterDevice()!==e.isCharacterDevice()||r.isDirectory()!==e.isDirectory()||r.isFIFO()!==e.isFIFO()||r.isFile()!==e.isFile()||r.isSocket()!==e.isSocket()||r.isSymbolicLink()!==e.isSymbolicLink()||r.mode!==e.mode||r.mtimeMs!==e.mtimeMs||r.nlink!==e.nlink||r.rdev!==e.rdev||r.size!==e.size||r.uid!==e.uid)return!1;let t=r,i=e;return!(t.atimeNs!==i.atimeNs||t.mtimeNs!==i.mtimeNs||t.ctimeNs!==i.ctimeNs||t.birthtimeNs!==i.birthtimeNs)}var TE=ge(require(\"fs\"));var Gh=ge(require(\"path\")),YO;(function(i){i[i.File=0]=\"File\",i[i.Portable=1]=\"Portable\",i[i.Native=2]=\"Native\"})(YO||(YO={}));var Me={root:\"/\",dot:\".\"},xt={nodeModules:\"node_modules\",manifest:\"package.json\",lockfile:\"yarn.lock\",virtual:\"__virtual__\",pnpJs:\".pnp.js\",pnpCjs:\".pnp.cjs\",rc:\".yarnrc.yml\"},H=Object.create(Gh.default),x=Object.create(Gh.default.posix);H.cwd=()=>process.cwd();x.cwd=()=>oQ(process.cwd());x.resolve=(...r)=>r.length>0&&x.isAbsolute(r[0])?Gh.default.posix.resolve(...r):Gh.default.posix.resolve(x.cwd(),...r);var qO=function(r,e,t){return e=r.normalize(e),t=r.normalize(t),e===t?\".\":(e.endsWith(r.sep)||(e=e+r.sep),t.startsWith(e)?t.slice(e.length):null)};H.fromPortablePath=JO;H.toPortablePath=oQ;H.contains=(r,e)=>qO(H,r,e);x.contains=(r,e)=>qO(x,r,e);var Cge=/^([a-zA-Z]:.*)$/,mge=/^\\/\\/(\\.\\/)?(.*)$/,Ege=/^\\/([a-zA-Z]:.*)$/,Ige=/^\\/unc\\/(\\.dot\\/)?(.*)$/;function JO(r){if(process.platform!==\"win32\")return r;let e,t;if(e=r.match(Ege))r=e[1];else if(t=r.match(Ige))r=`\\\\\\\\${t[1]?\".\\\\\":\"\"}${t[2]}`;else return r;return r.replace(/\\//g,\"\\\\\")}function oQ(r){if(process.platform!==\"win32\")return r;r=r.replace(/\\\\/g,\"/\");let e,t;return(e=r.match(Cge))?r=`/${e[1]}`:(t=r.match(mge))&&(r=`/unc/${t[1]?\".dot/\":\"\"}${t[2]}`),r}function LE(r,e){return r===H?JO(e):oQ(e)}function Jr(r){if(H.parse(r).dir!==\"\"||x.parse(r).dir!==\"\")throw new Error(`Invalid filename: \"${r}\"`);return r}var OE=new Date(rQ*1e3),Yh;(function(t){t.Allow=\"allow\",t.ReadOnly=\"readOnly\"})(Yh||(Yh={}));async function WO(r,e,t,i,n){let s=r.pathUtils.normalize(e),o=t.pathUtils.normalize(i),a=[],l=[],{atime:c,mtime:u}=n.stableTime?{atime:OE,mtime:OE}:await t.lstatPromise(o);await r.mkdirpPromise(r.pathUtils.dirname(e),{utimes:[c,u]});let g=typeof r.lutimesPromise==\"function\"?r.lutimesPromise.bind(r):r.utimesPromise.bind(r);await aQ(a,l,g,r,s,t,o,te(N({},n),{didParentExist:!0}));for(let f of a)await f();await Promise.all(l.map(f=>f()))}async function aQ(r,e,t,i,n,s,o,a){var h,p;let l=a.didParentExist?await yge(i,n):null,c=await s.lstatPromise(o),{atime:u,mtime:g}=a.stableTime?{atime:OE,mtime:OE}:c,f;switch(!0){case c.isDirectory():f=await wge(r,e,t,i,n,l,s,o,c,a);break;case c.isFile():f=await Bge(r,e,t,i,n,l,s,o,c,a);break;case c.isSymbolicLink():f=await bge(r,e,t,i,n,l,s,o,c,a);break;default:throw new Error(`Unsupported file type (${c.mode})`)}return(f||((h=l==null?void 0:l.mtime)==null?void 0:h.getTime())!==g.getTime()||((p=l==null?void 0:l.atime)==null?void 0:p.getTime())!==u.getTime())&&(e.push(()=>t(n,u,g)),f=!0),(l===null||(l.mode&511)!=(c.mode&511))&&(e.push(()=>i.chmodPromise(n,c.mode&511)),f=!0),f}async function yge(r,e){try{return await r.lstatPromise(e)}catch(t){return null}}async function wge(r,e,t,i,n,s,o,a,l,c){if(s!==null&&!s.isDirectory())if(c.overwrite)r.push(async()=>i.removePromise(n)),s=null;else return!1;let u=!1;s===null&&(r.push(async()=>{try{await i.mkdirPromise(n,{mode:l.mode})}catch(h){if(h.code!==\"EEXIST\")throw h}}),u=!0);let g=await o.readdirPromise(a),f=c.didParentExist&&!s?te(N({},c),{didParentExist:!1}):c;if(c.stableSort)for(let h of g.sort())await aQ(r,e,t,i,i.pathUtils.join(n,h),o,o.pathUtils.join(a,h),f)&&(u=!0);else(await Promise.all(g.map(async p=>{await aQ(r,e,t,i,i.pathUtils.join(n,p),o,o.pathUtils.join(a,p),f)}))).some(p=>p)&&(u=!0);return u}var AQ=new WeakMap;function lQ(r,e,t,i,n){return async()=>{await r.linkPromise(t,e),n===Yh.ReadOnly&&(i.mode&=~146,await r.chmodPromise(e,i.mode))}}function Qge(r,e,t,i,n){let s=AQ.get(r);return typeof s==\"undefined\"?async()=>{try{await r.copyFilePromise(t,e,TE.default.constants.COPYFILE_FICLONE_FORCE),AQ.set(r,!0)}catch(o){if(o.code===\"ENOSYS\"||o.code===\"ENOTSUP\")AQ.set(r,!1),await lQ(r,e,t,i,n)();else throw o}}:s?async()=>r.copyFilePromise(t,e,TE.default.constants.COPYFILE_FICLONE_FORCE):lQ(r,e,t,i,n)}async function Bge(r,e,t,i,n,s,o,a,l,c){var f;if(s!==null)if(c.overwrite)r.push(async()=>i.removePromise(n)),s=null;else return!1;let u=(f=c.linkStrategy)!=null?f:null,g=i===o?u!==null?Qge(i,n,a,l,u):async()=>i.copyFilePromise(a,n,TE.default.constants.COPYFILE_FICLONE):u!==null?lQ(i,n,a,l,u):async()=>i.writeFilePromise(n,await o.readFilePromise(a));return r.push(async()=>g()),!0}async function bge(r,e,t,i,n,s,o,a,l,c){if(s!==null)if(c.overwrite)r.push(async()=>i.removePromise(n)),s=null;else return!1;return r.push(async()=>{await i.symlinkPromise(LE(i.pathUtils,await o.readlinkPromise(a)),n)}),!0}function Es(r,e){return Object.assign(new Error(`${r}: ${e}`),{code:r})}function ME(r){return Es(\"EBUSY\",r)}function qh(r,e){return Es(\"ENOSYS\",`${r}, ${e}`)}function YA(r){return Es(\"EINVAL\",`invalid argument, ${r}`)}function Ai(r){return Es(\"EBADF\",`bad file descriptor, ${r}`)}function so(r){return Es(\"ENOENT\",`no such file or directory, ${r}`)}function No(r){return Es(\"ENOTDIR\",`not a directory, ${r}`)}function Jh(r){return Es(\"EISDIR\",`illegal operation on a directory, ${r}`)}function UE(r){return Es(\"EEXIST\",`file already exists, ${r}`)}function In(r){return Es(\"EROFS\",`read-only filesystem, ${r}`)}function zO(r){return Es(\"ENOTEMPTY\",`directory not empty, ${r}`)}function _O(r){return Es(\"EOPNOTSUPP\",`operation not supported, ${r}`)}function VO(){return Es(\"ERR_DIR_CLOSED\",\"Directory handle was closed\")}var cQ=class extends Error{constructor(e,t){super(e);this.name=\"Libzip Error\",this.code=t}};var XO=class{constructor(e,t,i={}){this.path=e;this.nextDirent=t;this.opts=i;this.closed=!1}throwIfClosed(){if(this.closed)throw VO()}async*[Symbol.asyncIterator](){try{let e;for(;(e=await this.read())!==null;)yield e}finally{await this.close()}}read(e){let t=this.readSync();return typeof e!=\"undefined\"?e(null,t):Promise.resolve(t)}readSync(){return this.throwIfClosed(),this.nextDirent()}close(e){return this.closeSync(),typeof e!=\"undefined\"?e(null):Promise.resolve()}closeSync(){var e,t;this.throwIfClosed(),(t=(e=this.opts).onClose)==null||t.call(e),this.closed=!0}};function KE(r,e,t,i){let n=()=>{let s=t.shift();return typeof s==\"undefined\"?null:Object.assign(r.statSync(r.pathUtils.join(e,s)),{name:s})};return new XO(e,n,i)}var ZO=ge(require(\"os\"));var qA=class{constructor(e){this.pathUtils=e}async*genTraversePromise(e,{stableSort:t=!1}={}){let i=[e];for(;i.length>0;){let n=i.shift();if((await this.lstatPromise(n)).isDirectory()){let o=await this.readdirPromise(n);if(t)for(let a of o.sort())i.push(this.pathUtils.join(n,a));else throw new Error(\"Not supported\")}else yield n}}async removePromise(e,{recursive:t=!0,maxRetries:i=5}={}){let n;try{n=await this.lstatPromise(e)}catch(s){if(s.code===\"ENOENT\")return;throw s}if(n.isDirectory()){if(t){let s=await this.readdirPromise(e);await Promise.all(s.map(o=>this.removePromise(this.pathUtils.resolve(e,o))))}for(let s=0;s<=i;s++)try{await this.rmdirPromise(e);break}catch(o){if(o.code!==\"EBUSY\"&&o.code!==\"ENOTEMPTY\")throw o;s<i&&await new Promise(a=>setTimeout(a,s*100))}}else await this.unlinkPromise(e)}removeSync(e,{recursive:t=!0}={}){let i;try{i=this.lstatSync(e)}catch(n){if(n.code===\"ENOENT\")return;throw n}if(i.isDirectory()){if(t)for(let n of this.readdirSync(e))this.removeSync(this.pathUtils.resolve(e,n));this.rmdirSync(e)}else this.unlinkSync(e)}async mkdirpPromise(e,{chmod:t,utimes:i}={}){if(e=this.resolve(e),e===this.pathUtils.dirname(e))return;let n=e.split(this.pathUtils.sep),s;for(let o=2;o<=n.length;++o){let a=n.slice(0,o).join(this.pathUtils.sep);if(!this.existsSync(a)){try{await this.mkdirPromise(a)}catch(l){if(l.code===\"EEXIST\")continue;throw l}if(s!=null||(s=a),t!=null&&await this.chmodPromise(a,t),i!=null)await this.utimesPromise(a,i[0],i[1]);else{let l=await this.statPromise(this.pathUtils.dirname(a));await this.utimesPromise(a,l.atime,l.mtime)}}}return s}mkdirpSync(e,{chmod:t,utimes:i}={}){if(e=this.resolve(e),e===this.pathUtils.dirname(e))return;let n=e.split(this.pathUtils.sep),s;for(let o=2;o<=n.length;++o){let a=n.slice(0,o).join(this.pathUtils.sep);if(!this.existsSync(a)){try{this.mkdirSync(a)}catch(l){if(l.code===\"EEXIST\")continue;throw l}if(s!=null||(s=a),t!=null&&this.chmodSync(a,t),i!=null)this.utimesSync(a,i[0],i[1]);else{let l=this.statSync(this.pathUtils.dirname(a));this.utimesSync(a,l.atime,l.mtime)}}}return s}async copyPromise(e,t,{baseFs:i=this,overwrite:n=!0,stableSort:s=!1,stableTime:o=!1,linkStrategy:a=null}={}){return await WO(this,e,i,t,{overwrite:n,stableSort:s,stableTime:o,linkStrategy:a})}copySync(e,t,{baseFs:i=this,overwrite:n=!0}={}){let s=i.lstatSync(t),o=this.existsSync(e);if(s.isDirectory()){this.mkdirpSync(e);let l=i.readdirSync(t);for(let c of l)this.copySync(this.pathUtils.join(e,c),i.pathUtils.join(t,c),{baseFs:i,overwrite:n})}else if(s.isFile()){if(!o||n){o&&this.removeSync(e);let l=i.readFileSync(t);this.writeFileSync(e,l)}}else if(s.isSymbolicLink()){if(!o||n){o&&this.removeSync(e);let l=i.readlinkSync(t);this.symlinkSync(LE(this.pathUtils,l),e)}}else throw new Error(`Unsupported file type (file: ${t}, mode: 0o${s.mode.toString(8).padStart(6,\"0\")})`);let a=s.mode&511;this.chmodSync(e,a)}async changeFilePromise(e,t,i={}){return Buffer.isBuffer(t)?this.changeFileBufferPromise(e,t,i):this.changeFileTextPromise(e,t,i)}async changeFileBufferPromise(e,t,{mode:i}={}){let n=Buffer.alloc(0);try{n=await this.readFilePromise(e)}catch(s){}Buffer.compare(n,t)!==0&&await this.writeFilePromise(e,t,{mode:i})}async changeFileTextPromise(e,t,{automaticNewlines:i,mode:n}={}){let s=\"\";try{s=await this.readFilePromise(e,\"utf8\")}catch(a){}let o=i?oc(s,t):t;s!==o&&await this.writeFilePromise(e,o,{mode:n})}changeFileSync(e,t,i={}){return Buffer.isBuffer(t)?this.changeFileBufferSync(e,t,i):this.changeFileTextSync(e,t,i)}changeFileBufferSync(e,t,{mode:i}={}){let n=Buffer.alloc(0);try{n=this.readFileSync(e)}catch(s){}Buffer.compare(n,t)!==0&&this.writeFileSync(e,t,{mode:i})}changeFileTextSync(e,t,{automaticNewlines:i=!1,mode:n}={}){let s=\"\";try{s=this.readFileSync(e,\"utf8\")}catch(a){}let o=i?oc(s,t):t;s!==o&&this.writeFileSync(e,o,{mode:n})}async movePromise(e,t){try{await this.renamePromise(e,t)}catch(i){if(i.code===\"EXDEV\")await this.copyPromise(t,e),await this.removePromise(e);else throw i}}moveSync(e,t){try{this.renameSync(e,t)}catch(i){if(i.code===\"EXDEV\")this.copySync(t,e),this.removeSync(e);else throw i}}async lockPromise(e,t){let i=`${e}.flock`,n=1e3/60,s=Date.now(),o=null,a=async()=>{let l;try{[l]=await this.readJsonPromise(i)}catch(c){return Date.now()-s<500}try{return process.kill(l,0),!0}catch(c){return!1}};for(;o===null;)try{o=await this.openPromise(i,\"wx\")}catch(l){if(l.code===\"EEXIST\"){if(!await a())try{await this.unlinkPromise(i);continue}catch(c){}if(Date.now()-s<60*1e3)await new Promise(c=>setTimeout(c,n));else throw new Error(`Couldn't acquire a lock in a reasonable time (via ${i})`)}else throw l}await this.writePromise(o,JSON.stringify([process.pid]));try{return await t()}finally{try{await this.closePromise(o),await this.unlinkPromise(i)}catch(l){}}}async readJsonPromise(e){let t=await this.readFilePromise(e,\"utf8\");try{return JSON.parse(t)}catch(i){throw i.message+=` (in ${e})`,i}}readJsonSync(e){let t=this.readFileSync(e,\"utf8\");try{return JSON.parse(t)}catch(i){throw i.message+=` (in ${e})`,i}}async writeJsonPromise(e,t){return await this.writeFilePromise(e,`${JSON.stringify(t,null,2)}\n`)}writeJsonSync(e,t){return this.writeFileSync(e,`${JSON.stringify(t,null,2)}\n`)}async preserveTimePromise(e,t){let i=await this.lstatPromise(e),n=await t();typeof n!=\"undefined\"&&(e=n),this.lutimesPromise?await this.lutimesPromise(e,i.atime,i.mtime):i.isSymbolicLink()||await this.utimesPromise(e,i.atime,i.mtime)}async preserveTimeSync(e,t){let i=this.lstatSync(e),n=t();typeof n!=\"undefined\"&&(e=n),this.lutimesSync?this.lutimesSync(e,i.atime,i.mtime):i.isSymbolicLink()||this.utimesSync(e,i.atime,i.mtime)}},ac=class extends qA{constructor(){super(x)}};function Sge(r){let e=r.match(/\\r?\\n/g);if(e===null)return ZO.EOL;let t=e.filter(n=>n===`\\r\n`).length,i=e.length-t;return t>i?`\\r\n`:`\n`}function oc(r,e){return e.replace(/\\r?\\n/g,Sge(r))}var _u=ge(require(\"fs\")),uQ=ge(require(\"stream\")),rM=ge(require(\"util\")),gQ=ge(require(\"zlib\"));var $O=ge(require(\"fs\"));var ar=class extends ac{constructor(e=$O.default){super();this.realFs=e,typeof this.realFs.lutimes!=\"undefined\"&&(this.lutimesPromise=this.lutimesPromiseImpl,this.lutimesSync=this.lutimesSyncImpl)}getExtractHint(){return!1}getRealPath(){return Me.root}resolve(e){return x.resolve(e)}async openPromise(e,t,i){return await new Promise((n,s)=>{this.realFs.open(H.fromPortablePath(e),t,i,this.makeCallback(n,s))})}openSync(e,t,i){return this.realFs.openSync(H.fromPortablePath(e),t,i)}async opendirPromise(e,t){return await new Promise((i,n)=>{typeof t!=\"undefined\"?this.realFs.opendir(H.fromPortablePath(e),t,this.makeCallback(i,n)):this.realFs.opendir(H.fromPortablePath(e),this.makeCallback(i,n))}).then(i=>Object.defineProperty(i,\"path\",{value:e,configurable:!0,writable:!0}))}opendirSync(e,t){let i=typeof t!=\"undefined\"?this.realFs.opendirSync(H.fromPortablePath(e),t):this.realFs.opendirSync(H.fromPortablePath(e));return Object.defineProperty(i,\"path\",{value:e,configurable:!0,writable:!0})}async readPromise(e,t,i=0,n=0,s=-1){return await new Promise((o,a)=>{this.realFs.read(e,t,i,n,s,(l,c)=>{l?a(l):o(c)})})}readSync(e,t,i,n,s){return this.realFs.readSync(e,t,i,n,s)}async writePromise(e,t,i,n,s){return await new Promise((o,a)=>typeof t==\"string\"?this.realFs.write(e,t,i,this.makeCallback(o,a)):this.realFs.write(e,t,i,n,s,this.makeCallback(o,a)))}writeSync(e,t,i,n,s){return typeof t==\"string\"?this.realFs.writeSync(e,t,i):this.realFs.writeSync(e,t,i,n,s)}async closePromise(e){await new Promise((t,i)=>{this.realFs.close(e,this.makeCallback(t,i))})}closeSync(e){this.realFs.closeSync(e)}createReadStream(e,t){let i=e!==null?H.fromPortablePath(e):e;return this.realFs.createReadStream(i,t)}createWriteStream(e,t){let i=e!==null?H.fromPortablePath(e):e;return this.realFs.createWriteStream(i,t)}async realpathPromise(e){return await new Promise((t,i)=>{this.realFs.realpath(H.fromPortablePath(e),{},this.makeCallback(t,i))}).then(t=>H.toPortablePath(t))}realpathSync(e){return H.toPortablePath(this.realFs.realpathSync(H.fromPortablePath(e),{}))}async existsPromise(e){return await new Promise(t=>{this.realFs.exists(H.fromPortablePath(e),t)})}accessSync(e,t){return this.realFs.accessSync(H.fromPortablePath(e),t)}async accessPromise(e,t){return await new Promise((i,n)=>{this.realFs.access(H.fromPortablePath(e),t,this.makeCallback(i,n))})}existsSync(e){return this.realFs.existsSync(H.fromPortablePath(e))}async statPromise(e,t){return await new Promise((i,n)=>{t?this.realFs.stat(H.fromPortablePath(e),t,this.makeCallback(i,n)):this.realFs.stat(H.fromPortablePath(e),this.makeCallback(i,n))})}statSync(e,t){return t?this.realFs.statSync(H.fromPortablePath(e),t):this.realFs.statSync(H.fromPortablePath(e))}async fstatPromise(e,t){return await new Promise((i,n)=>{t?this.realFs.fstat(e,t,this.makeCallback(i,n)):this.realFs.fstat(e,this.makeCallback(i,n))})}fstatSync(e,t){return t?this.realFs.fstatSync(e,t):this.realFs.fstatSync(e)}async lstatPromise(e,t){return await new Promise((i,n)=>{t?this.realFs.lstat(H.fromPortablePath(e),t,this.makeCallback(i,n)):this.realFs.lstat(H.fromPortablePath(e),this.makeCallback(i,n))})}lstatSync(e,t){return t?this.realFs.lstatSync(H.fromPortablePath(e),t):this.realFs.lstatSync(H.fromPortablePath(e))}async fchmodPromise(e,t){return await new Promise((i,n)=>{this.realFs.fchmod(e,t,this.makeCallback(i,n))})}fchmodSync(e,t){return this.realFs.fchmodSync(e,t)}async chmodPromise(e,t){return await new Promise((i,n)=>{this.realFs.chmod(H.fromPortablePath(e),t,this.makeCallback(i,n))})}chmodSync(e,t){return this.realFs.chmodSync(H.fromPortablePath(e),t)}async chownPromise(e,t,i){return await new Promise((n,s)=>{this.realFs.chown(H.fromPortablePath(e),t,i,this.makeCallback(n,s))})}chownSync(e,t,i){return this.realFs.chownSync(H.fromPortablePath(e),t,i)}async renamePromise(e,t){return await new Promise((i,n)=>{this.realFs.rename(H.fromPortablePath(e),H.fromPortablePath(t),this.makeCallback(i,n))})}renameSync(e,t){return this.realFs.renameSync(H.fromPortablePath(e),H.fromPortablePath(t))}async copyFilePromise(e,t,i=0){return await new Promise((n,s)=>{this.realFs.copyFile(H.fromPortablePath(e),H.fromPortablePath(t),i,this.makeCallback(n,s))})}copyFileSync(e,t,i=0){return this.realFs.copyFileSync(H.fromPortablePath(e),H.fromPortablePath(t),i)}async appendFilePromise(e,t,i){return await new Promise((n,s)=>{let o=typeof e==\"string\"?H.fromPortablePath(e):e;i?this.realFs.appendFile(o,t,i,this.makeCallback(n,s)):this.realFs.appendFile(o,t,this.makeCallback(n,s))})}appendFileSync(e,t,i){let n=typeof e==\"string\"?H.fromPortablePath(e):e;i?this.realFs.appendFileSync(n,t,i):this.realFs.appendFileSync(n,t)}async writeFilePromise(e,t,i){return await new Promise((n,s)=>{let o=typeof e==\"string\"?H.fromPortablePath(e):e;i?this.realFs.writeFile(o,t,i,this.makeCallback(n,s)):this.realFs.writeFile(o,t,this.makeCallback(n,s))})}writeFileSync(e,t,i){let n=typeof e==\"string\"?H.fromPortablePath(e):e;i?this.realFs.writeFileSync(n,t,i):this.realFs.writeFileSync(n,t)}async unlinkPromise(e){return await new Promise((t,i)=>{this.realFs.unlink(H.fromPortablePath(e),this.makeCallback(t,i))})}unlinkSync(e){return this.realFs.unlinkSync(H.fromPortablePath(e))}async utimesPromise(e,t,i){return await new Promise((n,s)=>{this.realFs.utimes(H.fromPortablePath(e),t,i,this.makeCallback(n,s))})}utimesSync(e,t,i){this.realFs.utimesSync(H.fromPortablePath(e),t,i)}async lutimesPromiseImpl(e,t,i){let n=this.realFs.lutimes;if(typeof n==\"undefined\")throw qh(\"unavailable Node binding\",`lutimes '${e}'`);return await new Promise((s,o)=>{n.call(this.realFs,H.fromPortablePath(e),t,i,this.makeCallback(s,o))})}lutimesSyncImpl(e,t,i){let n=this.realFs.lutimesSync;if(typeof n==\"undefined\")throw qh(\"unavailable Node binding\",`lutimes '${e}'`);n.call(this.realFs,H.fromPortablePath(e),t,i)}async mkdirPromise(e,t){return await new Promise((i,n)=>{this.realFs.mkdir(H.fromPortablePath(e),t,this.makeCallback(i,n))})}mkdirSync(e,t){return this.realFs.mkdirSync(H.fromPortablePath(e),t)}async rmdirPromise(e,t){return await new Promise((i,n)=>{t?this.realFs.rmdir(H.fromPortablePath(e),t,this.makeCallback(i,n)):this.realFs.rmdir(H.fromPortablePath(e),this.makeCallback(i,n))})}rmdirSync(e,t){return this.realFs.rmdirSync(H.fromPortablePath(e),t)}async linkPromise(e,t){return await new Promise((i,n)=>{this.realFs.link(H.fromPortablePath(e),H.fromPortablePath(t),this.makeCallback(i,n))})}linkSync(e,t){return this.realFs.linkSync(H.fromPortablePath(e),H.fromPortablePath(t))}async symlinkPromise(e,t,i){return await new Promise((n,s)=>{this.realFs.symlink(H.fromPortablePath(e.replace(/\\/+$/,\"\")),H.fromPortablePath(t),i,this.makeCallback(n,s))})}symlinkSync(e,t,i){return this.realFs.symlinkSync(H.fromPortablePath(e.replace(/\\/+$/,\"\")),H.fromPortablePath(t),i)}async readFilePromise(e,t){return await new Promise((i,n)=>{let s=typeof e==\"string\"?H.fromPortablePath(e):e;this.realFs.readFile(s,t,this.makeCallback(i,n))})}readFileSync(e,t){let i=typeof e==\"string\"?H.fromPortablePath(e):e;return this.realFs.readFileSync(i,t)}async readdirPromise(e,t){return await new Promise((i,n)=>{(t==null?void 0:t.withFileTypes)?this.realFs.readdir(H.fromPortablePath(e),{withFileTypes:!0},this.makeCallback(i,n)):this.realFs.readdir(H.fromPortablePath(e),this.makeCallback(s=>i(s),n))})}readdirSync(e,t){return(t==null?void 0:t.withFileTypes)?this.realFs.readdirSync(H.fromPortablePath(e),{withFileTypes:!0}):this.realFs.readdirSync(H.fromPortablePath(e))}async readlinkPromise(e){return await new Promise((t,i)=>{this.realFs.readlink(H.fromPortablePath(e),this.makeCallback(t,i))}).then(t=>H.toPortablePath(t))}readlinkSync(e){return H.toPortablePath(this.realFs.readlinkSync(H.fromPortablePath(e)))}async truncatePromise(e,t){return await new Promise((i,n)=>{this.realFs.truncate(H.fromPortablePath(e),t,this.makeCallback(i,n))})}truncateSync(e,t){return this.realFs.truncateSync(H.fromPortablePath(e),t)}async ftruncatePromise(e,t){return await new Promise((i,n)=>{this.realFs.ftruncate(e,t,this.makeCallback(i,n))})}ftruncateSync(e,t){return this.realFs.ftruncateSync(e,t)}watch(e,t,i){return this.realFs.watch(H.fromPortablePath(e),t,i)}watchFile(e,t,i){return this.realFs.watchFile(H.fromPortablePath(e),t,i)}unwatchFile(e,t){return this.realFs.unwatchFile(H.fromPortablePath(e),t)}makeCallback(e,t){return(i,n)=>{i?t(i):e(n)}}};var eM=ge(require(\"events\"));var Ac;(function(t){t.Change=\"change\",t.Stop=\"stop\"})(Ac||(Ac={}));var lc;(function(i){i.Ready=\"ready\",i.Running=\"running\",i.Stopped=\"stopped\"})(lc||(lc={}));function tM(r,e){if(r!==e)throw new Error(`Invalid StatWatcher status: expected '${e}', got '${r}'`)}var Wh=class extends eM.EventEmitter{constructor(e,t,{bigint:i=!1}={}){super();this.status=lc.Ready;this.changeListeners=new Map;this.startTimeout=null;this.fakeFs=e,this.path=t,this.bigint=i,this.lastStats=this.stat()}static create(e,t,i){let n=new Wh(e,t,i);return n.start(),n}start(){tM(this.status,lc.Ready),this.status=lc.Running,this.startTimeout=setTimeout(()=>{this.startTimeout=null,this.fakeFs.existsSync(this.path)||this.emit(Ac.Change,this.lastStats,this.lastStats)},3)}stop(){tM(this.status,lc.Running),this.status=lc.Stopped,this.startTimeout!==null&&(clearTimeout(this.startTimeout),this.startTimeout=null),this.emit(Ac.Stop)}stat(){try{return this.fakeFs.statSync(this.path,{bigint:this.bigint})}catch(e){let t=this.bigint?new Hh:new GA;return FE(t)}}makeInterval(e){let t=setInterval(()=>{let i=this.stat(),n=this.lastStats;sQ(i,n)||(this.lastStats=i,this.emit(Ac.Change,i,n))},e.interval);return e.persistent?t:t.unref()}registerChangeListener(e,t){this.addListener(Ac.Change,e),this.changeListeners.set(e,this.makeInterval(t))}unregisterChangeListener(e){this.removeListener(Ac.Change,e);let t=this.changeListeners.get(e);typeof t!=\"undefined\"&&clearInterval(t),this.changeListeners.delete(e)}unregisterAllChangeListeners(){for(let e of this.changeListeners.keys())this.unregisterChangeListener(e)}hasChangeListeners(){return this.changeListeners.size>0}ref(){for(let e of this.changeListeners.values())e.ref();return this}unref(){for(let e of this.changeListeners.values())e.unref();return this}};var HE=new WeakMap;function jE(r,e,t,i){let n,s,o,a;switch(typeof t){case\"function\":n=!1,s=!0,o=5007,a=t;break;default:({bigint:n=!1,persistent:s=!0,interval:o=5007}=t),a=i;break}let l=HE.get(r);typeof l==\"undefined\"&&HE.set(r,l=new Map);let c=l.get(e);return typeof c==\"undefined\"&&(c=Wh.create(r,e,{bigint:n}),l.set(e,c)),c.registerChangeListener(a,{persistent:s,interval:o}),c}function zh(r,e,t){let i=HE.get(r);if(typeof i==\"undefined\")return;let n=i.get(e);typeof n!=\"undefined\"&&(typeof t==\"undefined\"?n.unregisterAllChangeListeners():n.unregisterChangeListener(t),n.hasChangeListeners()||(n.stop(),i.delete(e)))}function _h(r){let e=HE.get(r);if(typeof e!=\"undefined\")for(let t of e.keys())zh(r,t)}var cc=\"mixed\";function vge(r){if(typeof r==\"string\"&&String(+r)===r)return+r;if(Number.isFinite(r))return r<0?Date.now()/1e3:r;if(rM.types.isDate(r))return r.getTime()/1e3;throw new Error(\"Invalid time\")}function iM(){return Buffer.from([80,75,5,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0])}var li=class extends ac{constructor(e,t){super();this.lzSource=null;this.listings=new Map;this.entries=new Map;this.fileSources=new Map;this.fds=new Map;this.nextFd=0;this.ready=!1;this.readOnly=!1;this.libzip=t.libzip;let i=t;if(this.level=typeof i.level!=\"undefined\"?i.level:cc,e!=null||(e=iM()),typeof e==\"string\"){let{baseFs:o=new ar}=i;this.baseFs=o,this.path=e}else this.path=null,this.baseFs=null;if(t.stats)this.stats=t.stats;else if(typeof e==\"string\")try{this.stats=this.baseFs.statSync(e)}catch(o){if(o.code===\"ENOENT\"&&i.create)this.stats=jh();else throw o}else this.stats=jh();let n=this.libzip.malloc(4);try{let o=0;if(typeof e==\"string\"&&i.create&&(o|=this.libzip.ZIP_CREATE|this.libzip.ZIP_TRUNCATE),t.readOnly&&(o|=this.libzip.ZIP_RDONLY,this.readOnly=!0),typeof e==\"string\")this.zip=this.libzip.open(H.fromPortablePath(e),o,n);else{let a=this.allocateUnattachedSource(e);try{this.zip=this.libzip.openFromSource(a,o,n),this.lzSource=a}catch(l){throw this.libzip.source.free(a),l}}if(this.zip===0){let a=this.libzip.struct.errorS();throw this.libzip.error.initWithCode(a,this.libzip.getValue(n,\"i32\")),this.makeLibzipError(a)}}finally{this.libzip.free(n)}this.listings.set(Me.root,new Set);let s=this.libzip.getNumEntries(this.zip,0);for(let o=0;o<s;++o){let a=this.libzip.getName(this.zip,o,0);if(x.isAbsolute(a))continue;let l=x.resolve(Me.root,a);this.registerEntry(l,o),a.endsWith(\"/\")&&this.registerListing(l)}if(this.symlinkCount=this.libzip.ext.countSymlinks(this.zip),this.symlinkCount===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));this.ready=!0}makeLibzipError(e){let t=this.libzip.struct.errorCodeZip(e),i=this.libzip.error.strerror(e),n=new cQ(i,this.libzip.errors[t]);if(t===this.libzip.errors.ZIP_ER_CHANGED)throw new Error(`Assertion failed: Unexpected libzip error: ${n.message}`);return n}getExtractHint(e){for(let t of this.entries.keys()){let i=this.pathUtils.extname(t);if(e.relevantExtensions.has(i))return!0}return!1}getAllFiles(){return Array.from(this.entries.keys())}getRealPath(){if(!this.path)throw new Error(\"ZipFS don't have real paths when loaded from a buffer\");return this.path}getBufferAndClose(){if(this.prepareClose(),!this.lzSource)throw new Error(\"ZipFS was not created from a Buffer\");try{if(this.libzip.source.keep(this.lzSource),this.libzip.close(this.zip)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));if(this.libzip.source.open(this.lzSource)===-1)throw this.makeLibzipError(this.libzip.source.error(this.lzSource));if(this.libzip.source.seek(this.lzSource,0,0,this.libzip.SEEK_END)===-1)throw this.makeLibzipError(this.libzip.source.error(this.lzSource));let e=this.libzip.source.tell(this.lzSource);if(e===-1)throw this.makeLibzipError(this.libzip.source.error(this.lzSource));if(this.libzip.source.seek(this.lzSource,0,0,this.libzip.SEEK_SET)===-1)throw this.makeLibzipError(this.libzip.source.error(this.lzSource));let t=this.libzip.malloc(e);if(!t)throw new Error(\"Couldn't allocate enough memory\");try{let i=this.libzip.source.read(this.lzSource,t,e);if(i===-1)throw this.makeLibzipError(this.libzip.source.error(this.lzSource));if(i<e)throw new Error(\"Incomplete read\");if(i>e)throw new Error(\"Overread\");let n=this.libzip.HEAPU8.subarray(t,t+e);return Buffer.from(n)}finally{this.libzip.free(t)}}finally{this.libzip.source.close(this.lzSource),this.libzip.source.free(this.lzSource),this.ready=!1}}prepareClose(){if(!this.ready)throw ME(\"archive closed, close\");_h(this)}saveAndClose(){if(!this.path||!this.baseFs)throw new Error(\"ZipFS cannot be saved and must be discarded when loaded from a buffer\");if(this.prepareClose(),this.readOnly){this.discardAndClose();return}let e=this.baseFs.existsSync(this.path)||this.stats.mode===Kh?void 0:this.stats.mode;if(this.entries.size===0)this.discardAndClose(),this.baseFs.writeFileSync(this.path,iM(),{mode:e});else{if(this.libzip.close(this.zip)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));typeof e!=\"undefined\"&&this.baseFs.chmodSync(this.path,e)}this.ready=!1}discardAndClose(){this.prepareClose(),this.libzip.discard(this.zip),this.ready=!1}resolve(e){return x.resolve(Me.root,e)}async openPromise(e,t,i){return this.openSync(e,t,i)}openSync(e,t,i){let n=this.nextFd++;return this.fds.set(n,{cursor:0,p:e}),n}hasOpenFileHandles(){return!!this.fds.size}async opendirPromise(e,t){return this.opendirSync(e,t)}opendirSync(e,t={}){let i=this.resolveFilename(`opendir '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw so(`opendir '${e}'`);let n=this.listings.get(i);if(!n)throw No(`opendir '${e}'`);let s=[...n],o=this.openSync(i,\"r\");return KE(this,i,s,{onClose:()=>{this.closeSync(o)}})}async readPromise(e,t,i,n,s){return this.readSync(e,t,i,n,s)}readSync(e,t,i=0,n=t.byteLength,s=-1){let o=this.fds.get(e);if(typeof o==\"undefined\")throw Ai(\"read\");let a=s===-1||s===null?o.cursor:s,l=this.readFileSync(o.p);l.copy(t,i,a,a+n);let c=Math.max(0,Math.min(l.length-a,n));return(s===-1||s===null)&&(o.cursor+=c),c}async writePromise(e,t,i,n,s){return typeof t==\"string\"?this.writeSync(e,t,s):this.writeSync(e,t,i,n,s)}writeSync(e,t,i,n,s){throw typeof this.fds.get(e)==\"undefined\"?Ai(\"read\"):new Error(\"Unimplemented\")}async closePromise(e){return this.closeSync(e)}closeSync(e){if(typeof this.fds.get(e)==\"undefined\")throw Ai(\"read\");this.fds.delete(e)}createReadStream(e,{encoding:t}={}){if(e===null)throw new Error(\"Unimplemented\");let i=this.openSync(e,\"r\"),n=Object.assign(new uQ.PassThrough({emitClose:!0,autoDestroy:!0,destroy:(o,a)=>{clearImmediate(s),this.closeSync(i),a(o)}}),{close(){n.destroy()},bytesRead:0,path:e}),s=setImmediate(async()=>{try{let o=await this.readFilePromise(e,t);n.bytesRead=o.length,n.end(o)}catch(o){n.destroy(o)}});return n}createWriteStream(e,{encoding:t}={}){if(this.readOnly)throw In(`open '${e}'`);if(e===null)throw new Error(\"Unimplemented\");let i=[],n=this.openSync(e,\"w\"),s=Object.assign(new uQ.PassThrough({autoDestroy:!0,emitClose:!0,destroy:(o,a)=>{try{o?a(o):(this.writeFileSync(e,Buffer.concat(i),t),a(null))}catch(l){a(l)}finally{this.closeSync(n)}}}),{bytesWritten:0,path:e,close(){s.destroy()}});return s.on(\"data\",o=>{let a=Buffer.from(o);s.bytesWritten+=a.length,i.push(a)}),s}async realpathPromise(e){return this.realpathSync(e)}realpathSync(e){let t=this.resolveFilename(`lstat '${e}'`,e);if(!this.entries.has(t)&&!this.listings.has(t))throw so(`lstat '${e}'`);return t}async existsPromise(e){return this.existsSync(e)}existsSync(e){if(!this.ready)throw ME(`archive closed, existsSync '${e}'`);if(this.symlinkCount===0){let i=x.resolve(Me.root,e);return this.entries.has(i)||this.listings.has(i)}let t;try{t=this.resolveFilename(`stat '${e}'`,e,void 0,!1)}catch(i){return!1}return t===void 0?!1:this.entries.has(t)||this.listings.has(t)}async accessPromise(e,t){return this.accessSync(e,t)}accessSync(e,t=_u.constants.F_OK){let i=this.resolveFilename(`access '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw so(`access '${e}'`);if(this.readOnly&&t&_u.constants.W_OK)throw In(`access '${e}'`)}async statPromise(e,t={bigint:!1}){return t.bigint?this.statSync(e,{bigint:!0}):this.statSync(e)}statSync(e,t={bigint:!1,throwIfNoEntry:!0}){let i=this.resolveFilename(`stat '${e}'`,e,void 0,t.throwIfNoEntry);if(i!==void 0){if(!this.entries.has(i)&&!this.listings.has(i)){if(t.throwIfNoEntry===!1)return;throw so(`stat '${e}'`)}if(e[e.length-1]===\"/\"&&!this.listings.has(i))throw No(`stat '${e}'`);return this.statImpl(`stat '${e}'`,i,t)}}async fstatPromise(e,t){return this.fstatSync(e,t)}fstatSync(e,t){let i=this.fds.get(e);if(typeof i==\"undefined\")throw Ai(\"fstatSync\");let{p:n}=i,s=this.resolveFilename(`stat '${n}'`,n);if(!this.entries.has(s)&&!this.listings.has(s))throw so(`stat '${n}'`);if(n[n.length-1]===\"/\"&&!this.listings.has(s))throw No(`stat '${n}'`);return this.statImpl(`fstat '${n}'`,s,t)}async lstatPromise(e,t={bigint:!1}){return t.bigint?this.lstatSync(e,{bigint:!0}):this.lstatSync(e)}lstatSync(e,t={bigint:!1,throwIfNoEntry:!0}){let i=this.resolveFilename(`lstat '${e}'`,e,!1,t.throwIfNoEntry);if(i!==void 0){if(!this.entries.has(i)&&!this.listings.has(i)){if(t.throwIfNoEntry===!1)return;throw so(`lstat '${e}'`)}if(e[e.length-1]===\"/\"&&!this.listings.has(i))throw No(`lstat '${e}'`);return this.statImpl(`lstat '${e}'`,i,t)}}statImpl(e,t,i={}){let n=this.entries.get(t);if(typeof n!=\"undefined\"){let s=this.libzip.struct.statS();if(this.libzip.statIndex(this.zip,n,0,0,s)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let a=this.stats.uid,l=this.stats.gid,c=this.libzip.struct.statSize(s)>>>0,u=512,g=Math.ceil(c/u),f=(this.libzip.struct.statMtime(s)>>>0)*1e3,h=f,p=f,m=f,y=new Date(h),b=new Date(p),v=new Date(m),k=new Date(f),T=this.listings.has(t)?Ra:this.isSymbolicLink(n)?Na:Fa,Y=T===Ra?493:420,q=T|this.getUnixMode(n,Y)&511,$=this.libzip.struct.statCrc(s),z=Object.assign(new GA,{uid:a,gid:l,size:c,blksize:u,blocks:g,atime:y,birthtime:b,ctime:v,mtime:k,atimeMs:h,birthtimeMs:p,ctimeMs:m,mtimeMs:f,mode:q,crc:$});return i.bigint===!0?NE(z):z}if(this.listings.has(t)){let s=this.stats.uid,o=this.stats.gid,a=0,l=512,c=0,u=this.stats.mtimeMs,g=this.stats.mtimeMs,f=this.stats.mtimeMs,h=this.stats.mtimeMs,p=new Date(u),m=new Date(g),y=new Date(f),b=new Date(h),v=Ra|493,k=0,T=Object.assign(new GA,{uid:s,gid:o,size:a,blksize:l,blocks:c,atime:p,birthtime:m,ctime:y,mtime:b,atimeMs:u,birthtimeMs:g,ctimeMs:f,mtimeMs:h,mode:v,crc:k});return i.bigint===!0?NE(T):T}throw new Error(\"Unreachable\")}getUnixMode(e,t){if(this.libzip.file.getExternalAttributes(this.zip,e,0,0,this.libzip.uint08S,this.libzip.uint32S)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.libzip.getValue(this.libzip.uint08S,\"i8\")>>>0!==this.libzip.ZIP_OPSYS_UNIX?t:this.libzip.getValue(this.libzip.uint32S,\"i32\")>>>16}registerListing(e){let t=this.listings.get(e);if(t)return t;this.registerListing(x.dirname(e)).add(x.basename(e));let n=new Set;return this.listings.set(e,n),n}registerEntry(e,t){this.registerListing(x.dirname(e)).add(x.basename(e)),this.entries.set(e,t)}unregisterListing(e){this.listings.delete(e);let t=this.listings.get(x.dirname(e));t==null||t.delete(x.basename(e))}unregisterEntry(e){this.unregisterListing(e);let t=this.entries.get(e);this.entries.delete(e),typeof t!=\"undefined\"&&(this.fileSources.delete(t),this.isSymbolicLink(t)&&this.symlinkCount--)}deleteEntry(e,t){if(this.unregisterEntry(e),this.libzip.delete(this.zip,t)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}resolveFilename(e,t,i=!0,n=!0){if(!this.ready)throw ME(`archive closed, ${e}`);let s=x.resolve(Me.root,t);if(s===\"/\")return Me.root;let o=this.entries.get(s);if(i&&o!==void 0)if(this.symlinkCount!==0&&this.isSymbolicLink(o)){let a=this.getFileSource(o).toString();return this.resolveFilename(e,x.resolve(x.dirname(s),a),!0,n)}else return s;for(;;){let a=this.resolveFilename(e,x.dirname(s),!0,n);if(a===void 0)return a;let l=this.listings.has(a),c=this.entries.has(a);if(!l&&!c){if(n===!1)return;throw so(e)}if(!l)throw No(e);if(s=x.resolve(a,x.basename(s)),!i||this.symlinkCount===0)break;let u=this.libzip.name.locate(this.zip,s.slice(1));if(u===-1)break;if(this.isSymbolicLink(u)){let g=this.getFileSource(u).toString();s=x.resolve(x.dirname(s),g)}else break}return s}allocateBuffer(e){Buffer.isBuffer(e)||(e=Buffer.from(e));let t=this.libzip.malloc(e.byteLength);if(!t)throw new Error(\"Couldn't allocate enough memory\");return new Uint8Array(this.libzip.HEAPU8.buffer,t,e.byteLength).set(e),{buffer:t,byteLength:e.byteLength}}allocateUnattachedSource(e){let t=this.libzip.struct.errorS(),{buffer:i,byteLength:n}=this.allocateBuffer(e),s=this.libzip.source.fromUnattachedBuffer(i,n,0,!0,t);if(s===0)throw this.libzip.free(t),this.makeLibzipError(t);return s}allocateSource(e){let{buffer:t,byteLength:i}=this.allocateBuffer(e),n=this.libzip.source.fromBuffer(this.zip,t,i,0,!0);if(n===0)throw this.libzip.free(t),this.makeLibzipError(this.libzip.getError(this.zip));return n}setFileSource(e,t){let i=Buffer.isBuffer(t)?t:Buffer.from(t),n=x.relative(Me.root,e),s=this.allocateSource(t);try{let o=this.libzip.file.add(this.zip,n,s,this.libzip.ZIP_FL_OVERWRITE);if(o===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));if(this.level!==\"mixed\"){let a=this.level===0?this.libzip.ZIP_CM_STORE:this.libzip.ZIP_CM_DEFLATE;if(this.libzip.file.setCompression(this.zip,o,0,a,this.level)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}return this.fileSources.set(o,i),o}catch(o){throw this.libzip.source.free(s),o}}isSymbolicLink(e){if(this.symlinkCount===0)return!1;if(this.libzip.file.getExternalAttributes(this.zip,e,0,0,this.libzip.uint08S,this.libzip.uint32S)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.libzip.getValue(this.libzip.uint08S,\"i8\")>>>0!==this.libzip.ZIP_OPSYS_UNIX?!1:(this.libzip.getValue(this.libzip.uint32S,\"i32\")>>>16&Vn)===Na}getFileSource(e,t={asyncDecompress:!1}){let i=this.fileSources.get(e);if(typeof i!=\"undefined\")return i;let n=this.libzip.struct.statS();if(this.libzip.statIndex(this.zip,e,0,0,n)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let o=this.libzip.struct.statCompSize(n),a=this.libzip.struct.statCompMethod(n),l=this.libzip.malloc(o);try{let c=this.libzip.fopenIndex(this.zip,e,0,this.libzip.ZIP_FL_COMPRESSED);if(c===0)throw this.makeLibzipError(this.libzip.getError(this.zip));try{let u=this.libzip.fread(c,l,o,0);if(u===-1)throw this.makeLibzipError(this.libzip.file.getError(c));if(u<o)throw new Error(\"Incomplete read\");if(u>o)throw new Error(\"Overread\");let g=this.libzip.HEAPU8.subarray(l,l+o),f=Buffer.from(g);if(a===0)return this.fileSources.set(e,f),f;if(t.asyncDecompress)return new Promise((h,p)=>{gQ.default.inflateRaw(f,(m,y)=>{m?p(m):(this.fileSources.set(e,y),h(y))})});{let h=gQ.default.inflateRawSync(f);return this.fileSources.set(e,h),h}}finally{this.libzip.fclose(c)}}finally{this.libzip.free(l)}}async fchmodPromise(e,t){return this.chmodPromise(this.fdToPath(e,\"fchmod\"),t)}fchmodSync(e,t){return this.chmodSync(this.fdToPath(e,\"fchmodSync\"),t)}async chmodPromise(e,t){return this.chmodSync(e,t)}chmodSync(e,t){if(this.readOnly)throw In(`chmod '${e}'`);t&=493;let i=this.resolveFilename(`chmod '${e}'`,e,!1),n=this.entries.get(i);if(typeof n==\"undefined\")throw new Error(`Assertion failed: The entry should have been registered (${i})`);let o=this.getUnixMode(n,Fa|0)&~511|t;if(this.libzip.file.setExternalAttributes(this.zip,n,0,0,this.libzip.ZIP_OPSYS_UNIX,o<<16)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}async chownPromise(e,t,i){return this.chownSync(e,t,i)}chownSync(e,t,i){throw new Error(\"Unimplemented\")}async renamePromise(e,t){return this.renameSync(e,t)}renameSync(e,t){throw new Error(\"Unimplemented\")}async copyFilePromise(e,t,i){let{indexSource:n,indexDest:s,resolvedDestP:o}=this.prepareCopyFile(e,t,i),a=await this.getFileSource(n,{asyncDecompress:!0}),l=this.setFileSource(o,a);l!==s&&this.registerEntry(o,l)}copyFileSync(e,t,i=0){let{indexSource:n,indexDest:s,resolvedDestP:o}=this.prepareCopyFile(e,t,i),a=this.getFileSource(n),l=this.setFileSource(o,a);l!==s&&this.registerEntry(o,l)}prepareCopyFile(e,t,i=0){if(this.readOnly)throw In(`copyfile '${e} -> '${t}'`);if((i&_u.constants.COPYFILE_FICLONE_FORCE)!=0)throw qh(\"unsupported clone operation\",`copyfile '${e}' -> ${t}'`);let n=this.resolveFilename(`copyfile '${e} -> ${t}'`,e),s=this.entries.get(n);if(typeof s==\"undefined\")throw YA(`copyfile '${e}' -> '${t}'`);let o=this.resolveFilename(`copyfile '${e}' -> ${t}'`,t),a=this.entries.get(o);if((i&(_u.constants.COPYFILE_EXCL|_u.constants.COPYFILE_FICLONE_FORCE))!=0&&typeof a!=\"undefined\")throw UE(`copyfile '${e}' -> '${t}'`);return{indexSource:s,resolvedDestP:o,indexDest:a}}async appendFilePromise(e,t,i){if(this.readOnly)throw In(`open '${e}'`);return typeof i==\"undefined\"?i={flag:\"a\"}:typeof i==\"string\"?i={flag:\"a\",encoding:i}:typeof i.flag==\"undefined\"&&(i=N({flag:\"a\"},i)),this.writeFilePromise(e,t,i)}appendFileSync(e,t,i={}){if(this.readOnly)throw In(`open '${e}'`);return typeof i==\"undefined\"?i={flag:\"a\"}:typeof i==\"string\"?i={flag:\"a\",encoding:i}:typeof i.flag==\"undefined\"&&(i=N({flag:\"a\"},i)),this.writeFileSync(e,t,i)}fdToPath(e,t){var n;let i=(n=this.fds.get(e))==null?void 0:n.p;if(typeof i==\"undefined\")throw Ai(t);return i}async writeFilePromise(e,t,i){let{encoding:n,mode:s,index:o,resolvedP:a}=this.prepareWriteFile(e,i);o!==void 0&&typeof i==\"object\"&&i.flag&&i.flag.includes(\"a\")&&(t=Buffer.concat([await this.getFileSource(o,{asyncDecompress:!0}),Buffer.from(t)])),n!==null&&(t=t.toString(n));let l=this.setFileSource(a,t);l!==o&&this.registerEntry(a,l),s!==null&&await this.chmodPromise(a,s)}writeFileSync(e,t,i){let{encoding:n,mode:s,index:o,resolvedP:a}=this.prepareWriteFile(e,i);o!==void 0&&typeof i==\"object\"&&i.flag&&i.flag.includes(\"a\")&&(t=Buffer.concat([this.getFileSource(o),Buffer.from(t)])),n!==null&&(t=t.toString(n));let l=this.setFileSource(a,t);l!==o&&this.registerEntry(a,l),s!==null&&this.chmodSync(a,s)}prepareWriteFile(e,t){if(typeof e==\"number\"&&(e=this.fdToPath(e,\"read\")),this.readOnly)throw In(`open '${e}'`);let i=this.resolveFilename(`open '${e}'`,e);if(this.listings.has(i))throw Jh(`open '${e}'`);let n=null,s=null;typeof t==\"string\"?n=t:typeof t==\"object\"&&({encoding:n=null,mode:s=null}=t);let o=this.entries.get(i);return{encoding:n,mode:s,resolvedP:i,index:o}}async unlinkPromise(e){return this.unlinkSync(e)}unlinkSync(e){if(this.readOnly)throw In(`unlink '${e}'`);let t=this.resolveFilename(`unlink '${e}'`,e);if(this.listings.has(t))throw Jh(`unlink '${e}'`);let i=this.entries.get(t);if(typeof i==\"undefined\")throw YA(`unlink '${e}'`);this.deleteEntry(t,i)}async utimesPromise(e,t,i){return this.utimesSync(e,t,i)}utimesSync(e,t,i){if(this.readOnly)throw In(`utimes '${e}'`);let n=this.resolveFilename(`utimes '${e}'`,e);this.utimesImpl(n,i)}async lutimesPromise(e,t,i){return this.lutimesSync(e,t,i)}lutimesSync(e,t,i){if(this.readOnly)throw In(`lutimes '${e}'`);let n=this.resolveFilename(`utimes '${e}'`,e,!1);this.utimesImpl(n,i)}utimesImpl(e,t){this.listings.has(e)&&(this.entries.has(e)||this.hydrateDirectory(e));let i=this.entries.get(e);if(i===void 0)throw new Error(\"Unreachable\");if(this.libzip.file.setMtime(this.zip,i,0,vge(t),0)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}async mkdirPromise(e,t){return this.mkdirSync(e,t)}mkdirSync(e,{mode:t=493,recursive:i=!1}={}){if(i)return this.mkdirpSync(e,{chmod:t});if(this.readOnly)throw In(`mkdir '${e}'`);let n=this.resolveFilename(`mkdir '${e}'`,e);if(this.entries.has(n)||this.listings.has(n))throw UE(`mkdir '${e}'`);this.hydrateDirectory(n),this.chmodSync(n,t)}async rmdirPromise(e,t){return this.rmdirSync(e,t)}rmdirSync(e,{recursive:t=!1}={}){if(this.readOnly)throw In(`rmdir '${e}'`);if(t){this.removeSync(e);return}let i=this.resolveFilename(`rmdir '${e}'`,e),n=this.listings.get(i);if(!n)throw No(`rmdir '${e}'`);if(n.size>0)throw zO(`rmdir '${e}'`);let s=this.entries.get(i);if(typeof s==\"undefined\")throw YA(`rmdir '${e}'`);this.deleteEntry(e,s)}hydrateDirectory(e){let t=this.libzip.dir.add(this.zip,x.relative(Me.root,e));if(t===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.registerListing(e),this.registerEntry(e,t),t}async linkPromise(e,t){return this.linkSync(e,t)}linkSync(e,t){throw _O(`link '${e}' -> '${t}'`)}async symlinkPromise(e,t){return this.symlinkSync(e,t)}symlinkSync(e,t){if(this.readOnly)throw In(`symlink '${e}' -> '${t}'`);let i=this.resolveFilename(`symlink '${e}' -> '${t}'`,t);if(this.listings.has(i))throw Jh(`symlink '${e}' -> '${t}'`);if(this.entries.has(i))throw UE(`symlink '${e}' -> '${t}'`);let n=this.setFileSource(i,e);if(this.registerEntry(i,n),this.libzip.file.setExternalAttributes(this.zip,n,0,0,this.libzip.ZIP_OPSYS_UNIX,(Na|511)<<16)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));this.symlinkCount+=1}async readFilePromise(e,t){typeof t==\"object\"&&(t=t?t.encoding:void 0);let i=await this.readFileBuffer(e,{asyncDecompress:!0});return t?i.toString(t):i}readFileSync(e,t){typeof t==\"object\"&&(t=t?t.encoding:void 0);let i=this.readFileBuffer(e);return t?i.toString(t):i}readFileBuffer(e,t={asyncDecompress:!1}){typeof e==\"number\"&&(e=this.fdToPath(e,\"read\"));let i=this.resolveFilename(`open '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw so(`open '${e}'`);if(e[e.length-1]===\"/\"&&!this.listings.has(i))throw No(`open '${e}'`);if(this.listings.has(i))throw Jh(\"read\");let n=this.entries.get(i);if(n===void 0)throw new Error(\"Unreachable\");return this.getFileSource(n,t)}async readdirPromise(e,t){return this.readdirSync(e,t)}readdirSync(e,t){let i=this.resolveFilename(`scandir '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw so(`scandir '${e}'`);let n=this.listings.get(i);if(!n)throw No(`scandir '${e}'`);let s=[...n];return(t==null?void 0:t.withFileTypes)?s.map(o=>Object.assign(this.statImpl(\"lstat\",x.join(e,o)),{name:o})):s}async readlinkPromise(e){let t=this.prepareReadlink(e);return(await this.getFileSource(t,{asyncDecompress:!0})).toString()}readlinkSync(e){let t=this.prepareReadlink(e);return this.getFileSource(t).toString()}prepareReadlink(e){let t=this.resolveFilename(`readlink '${e}'`,e,!1);if(!this.entries.has(t)&&!this.listings.has(t))throw so(`readlink '${e}'`);if(e[e.length-1]===\"/\"&&!this.listings.has(t))throw No(`open '${e}'`);if(this.listings.has(t))throw YA(`readlink '${e}'`);let i=this.entries.get(t);if(i===void 0)throw new Error(\"Unreachable\");if(!this.isSymbolicLink(i))throw YA(`readlink '${e}'`);return i}async truncatePromise(e,t=0){let i=this.resolveFilename(`open '${e}'`,e),n=this.entries.get(i);if(typeof n==\"undefined\")throw YA(`open '${e}'`);let s=await this.getFileSource(n,{asyncDecompress:!0}),o=Buffer.alloc(t,0);return s.copy(o),await this.writeFilePromise(e,o)}truncateSync(e,t=0){let i=this.resolveFilename(`open '${e}'`,e),n=this.entries.get(i);if(typeof n==\"undefined\")throw YA(`open '${e}'`);let s=this.getFileSource(n),o=Buffer.alloc(t,0);return s.copy(o),this.writeFileSync(e,o)}async ftruncatePromise(e,t){return this.truncatePromise(this.fdToPath(e,\"ftruncate\"),t)}ftruncateSync(e,t){return this.truncateSync(this.fdToPath(e,\"ftruncateSync\"),t)}watch(e,t,i){let n;switch(typeof t){case\"function\":case\"string\":case\"undefined\":n=!0;break;default:({persistent:n=!0}=t);break}if(!n)return{on:()=>{},close:()=>{}};let s=setInterval(()=>{},24*60*60*1e3);return{on:()=>{},close:()=>{clearInterval(s)}}}watchFile(e,t,i){let n=x.resolve(Me.root,e);return jE(this,n,t,i)}unwatchFile(e,t){let i=x.resolve(Me.root,e);return zh(this,i,t)}};var Qi=class extends qA{getExtractHint(e){return this.baseFs.getExtractHint(e)}resolve(e){return this.mapFromBase(this.baseFs.resolve(this.mapToBase(e)))}getRealPath(){return this.mapFromBase(this.baseFs.getRealPath())}async openPromise(e,t,i){return this.baseFs.openPromise(this.mapToBase(e),t,i)}openSync(e,t,i){return this.baseFs.openSync(this.mapToBase(e),t,i)}async opendirPromise(e,t){return Object.assign(await this.baseFs.opendirPromise(this.mapToBase(e),t),{path:e})}opendirSync(e,t){return Object.assign(this.baseFs.opendirSync(this.mapToBase(e),t),{path:e})}async readPromise(e,t,i,n,s){return await this.baseFs.readPromise(e,t,i,n,s)}readSync(e,t,i,n,s){return this.baseFs.readSync(e,t,i,n,s)}async writePromise(e,t,i,n,s){return typeof t==\"string\"?await this.baseFs.writePromise(e,t,i):await this.baseFs.writePromise(e,t,i,n,s)}writeSync(e,t,i,n,s){return typeof t==\"string\"?this.baseFs.writeSync(e,t,i):this.baseFs.writeSync(e,t,i,n,s)}async closePromise(e){return this.baseFs.closePromise(e)}closeSync(e){this.baseFs.closeSync(e)}createReadStream(e,t){return this.baseFs.createReadStream(e!==null?this.mapToBase(e):e,t)}createWriteStream(e,t){return this.baseFs.createWriteStream(e!==null?this.mapToBase(e):e,t)}async realpathPromise(e){return this.mapFromBase(await this.baseFs.realpathPromise(this.mapToBase(e)))}realpathSync(e){return this.mapFromBase(this.baseFs.realpathSync(this.mapToBase(e)))}async existsPromise(e){return this.baseFs.existsPromise(this.mapToBase(e))}existsSync(e){return this.baseFs.existsSync(this.mapToBase(e))}accessSync(e,t){return this.baseFs.accessSync(this.mapToBase(e),t)}async accessPromise(e,t){return this.baseFs.accessPromise(this.mapToBase(e),t)}async statPromise(e,t){return this.baseFs.statPromise(this.mapToBase(e),t)}statSync(e,t){return this.baseFs.statSync(this.mapToBase(e),t)}async fstatPromise(e,t){return this.baseFs.fstatPromise(e,t)}fstatSync(e,t){return this.baseFs.fstatSync(e,t)}lstatPromise(e,t){return this.baseFs.lstatPromise(this.mapToBase(e),t)}lstatSync(e,t){return this.baseFs.lstatSync(this.mapToBase(e),t)}async fchmodPromise(e,t){return this.baseFs.fchmodPromise(e,t)}fchmodSync(e,t){return this.baseFs.fchmodSync(e,t)}async chmodPromise(e,t){return this.baseFs.chmodPromise(this.mapToBase(e),t)}chmodSync(e,t){return this.baseFs.chmodSync(this.mapToBase(e),t)}async chownPromise(e,t,i){return this.baseFs.chownPromise(this.mapToBase(e),t,i)}chownSync(e,t,i){return this.baseFs.chownSync(this.mapToBase(e),t,i)}async renamePromise(e,t){return this.baseFs.renamePromise(this.mapToBase(e),this.mapToBase(t))}renameSync(e,t){return this.baseFs.renameSync(this.mapToBase(e),this.mapToBase(t))}async copyFilePromise(e,t,i=0){return this.baseFs.copyFilePromise(this.mapToBase(e),this.mapToBase(t),i)}copyFileSync(e,t,i=0){return this.baseFs.copyFileSync(this.mapToBase(e),this.mapToBase(t),i)}async appendFilePromise(e,t,i){return this.baseFs.appendFilePromise(this.fsMapToBase(e),t,i)}appendFileSync(e,t,i){return this.baseFs.appendFileSync(this.fsMapToBase(e),t,i)}async writeFilePromise(e,t,i){return this.baseFs.writeFilePromise(this.fsMapToBase(e),t,i)}writeFileSync(e,t,i){return this.baseFs.writeFileSync(this.fsMapToBase(e),t,i)}async unlinkPromise(e){return this.baseFs.unlinkPromise(this.mapToBase(e))}unlinkSync(e){return this.baseFs.unlinkSync(this.mapToBase(e))}async utimesPromise(e,t,i){return this.baseFs.utimesPromise(this.mapToBase(e),t,i)}utimesSync(e,t,i){return this.baseFs.utimesSync(this.mapToBase(e),t,i)}async mkdirPromise(e,t){return this.baseFs.mkdirPromise(this.mapToBase(e),t)}mkdirSync(e,t){return this.baseFs.mkdirSync(this.mapToBase(e),t)}async rmdirPromise(e,t){return this.baseFs.rmdirPromise(this.mapToBase(e),t)}rmdirSync(e,t){return this.baseFs.rmdirSync(this.mapToBase(e),t)}async linkPromise(e,t){return this.baseFs.linkPromise(this.mapToBase(e),this.mapToBase(t))}linkSync(e,t){return this.baseFs.linkSync(this.mapToBase(e),this.mapToBase(t))}async symlinkPromise(e,t,i){let n=this.mapToBase(t);if(this.pathUtils.isAbsolute(e))return this.baseFs.symlinkPromise(this.mapToBase(e),n,i);let s=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(t),e)),o=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(n),s);return this.baseFs.symlinkPromise(o,n,i)}symlinkSync(e,t,i){let n=this.mapToBase(t);if(this.pathUtils.isAbsolute(e))return this.baseFs.symlinkSync(this.mapToBase(e),n,i);let s=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(t),e)),o=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(n),s);return this.baseFs.symlinkSync(o,n,i)}async readFilePromise(e,t){return t===\"utf8\"?this.baseFs.readFilePromise(this.fsMapToBase(e),t):this.baseFs.readFilePromise(this.fsMapToBase(e),t)}readFileSync(e,t){return t===\"utf8\"?this.baseFs.readFileSync(this.fsMapToBase(e),t):this.baseFs.readFileSync(this.fsMapToBase(e),t)}async readdirPromise(e,t){return this.baseFs.readdirPromise(this.mapToBase(e),t)}readdirSync(e,t){return this.baseFs.readdirSync(this.mapToBase(e),t)}async readlinkPromise(e){return this.mapFromBase(await this.baseFs.readlinkPromise(this.mapToBase(e)))}readlinkSync(e){return this.mapFromBase(this.baseFs.readlinkSync(this.mapToBase(e)))}async truncatePromise(e,t){return this.baseFs.truncatePromise(this.mapToBase(e),t)}truncateSync(e,t){return this.baseFs.truncateSync(this.mapToBase(e),t)}async ftruncatePromise(e,t){return this.baseFs.ftruncatePromise(e,t)}ftruncateSync(e,t){return this.baseFs.ftruncateSync(e,t)}watch(e,t,i){return this.baseFs.watch(this.mapToBase(e),t,i)}watchFile(e,t,i){return this.baseFs.watchFile(this.mapToBase(e),t,i)}unwatchFile(e,t){return this.baseFs.unwatchFile(this.mapToBase(e),t)}fsMapToBase(e){return typeof e==\"number\"?e:this.mapToBase(e)}};var La=class extends Qi{constructor(e,{baseFs:t,pathUtils:i}){super(i);this.target=e,this.baseFs=t}getRealPath(){return this.target}getBaseFs(){return this.baseFs}mapFromBase(e){return e}mapToBase(e){return e}};var _t=class extends Qi{constructor(e,{baseFs:t=new ar}={}){super(x);this.target=this.pathUtils.normalize(e),this.baseFs=t}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.target)}resolve(e){return this.pathUtils.isAbsolute(e)?x.normalize(e):this.baseFs.resolve(x.join(this.target,e))}mapFromBase(e){return e}mapToBase(e){return this.pathUtils.isAbsolute(e)?e:this.pathUtils.join(this.target,e)}};var nM=Me.root,Ta=class extends Qi{constructor(e,{baseFs:t=new ar}={}){super(x);this.target=this.pathUtils.resolve(Me.root,e),this.baseFs=t}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.pathUtils.relative(Me.root,this.target))}getTarget(){return this.target}getBaseFs(){return this.baseFs}mapToBase(e){let t=this.pathUtils.normalize(e);if(this.pathUtils.isAbsolute(e))return this.pathUtils.resolve(this.target,this.pathUtils.relative(nM,e));if(t.match(/^\\.\\.\\/?/))throw new Error(`Resolving this path (${e}) would escape the jail`);return this.pathUtils.resolve(this.target,e)}mapFromBase(e){return this.pathUtils.resolve(nM,this.pathUtils.relative(this.target,e))}};var Vh=class extends Qi{constructor(e,t){super(t);this.instance=null;this.factory=e}get baseFs(){return this.instance||(this.instance=this.factory()),this.instance}set baseFs(e){this.instance=e}mapFromBase(e){return e}mapToBase(e){return e}};var et=()=>Object.assign(new Error(\"ENOSYS: unsupported filesystem access\"),{code:\"ENOSYS\"}),fQ=class extends qA{constructor(){super(x)}getExtractHint(){throw et()}getRealPath(){throw et()}resolve(){throw et()}async openPromise(){throw et()}openSync(){throw et()}async opendirPromise(){throw et()}opendirSync(){throw et()}async readPromise(){throw et()}readSync(){throw et()}async writePromise(){throw et()}writeSync(){throw et()}async closePromise(){throw et()}closeSync(){throw et()}createWriteStream(){throw et()}createReadStream(){throw et()}async realpathPromise(){throw et()}realpathSync(){throw et()}async readdirPromise(){throw et()}readdirSync(){throw et()}async existsPromise(e){throw et()}existsSync(e){throw et()}async accessPromise(){throw et()}accessSync(){throw et()}async statPromise(){throw et()}statSync(){throw et()}async fstatPromise(e){throw et()}fstatSync(e){throw et()}async lstatPromise(e){throw et()}lstatSync(e){throw et()}async fchmodPromise(){throw et()}fchmodSync(){throw et()}async chmodPromise(){throw et()}chmodSync(){throw et()}async chownPromise(){throw et()}chownSync(){throw et()}async mkdirPromise(){throw et()}mkdirSync(){throw et()}async rmdirPromise(){throw et()}rmdirSync(){throw et()}async linkPromise(){throw et()}linkSync(){throw et()}async symlinkPromise(){throw et()}symlinkSync(){throw et()}async renamePromise(){throw et()}renameSync(){throw et()}async copyFilePromise(){throw et()}copyFileSync(){throw et()}async appendFilePromise(){throw et()}appendFileSync(){throw et()}async writeFilePromise(){throw et()}writeFileSync(){throw et()}async unlinkPromise(){throw et()}unlinkSync(){throw et()}async utimesPromise(){throw et()}utimesSync(){throw et()}async readFilePromise(){throw et()}readFileSync(){throw et()}async readlinkPromise(){throw et()}readlinkSync(){throw et()}async truncatePromise(){throw et()}truncateSync(){throw et()}async ftruncatePromise(e,t){throw et()}ftruncateSync(e,t){throw et()}watch(){throw et()}watchFile(){throw et()}unwatchFile(){throw et()}},GE=fQ;GE.instance=new fQ;var Xh=class extends Qi{constructor(e){super(H);this.baseFs=e}mapFromBase(e){return H.fromPortablePath(e)}mapToBase(e){return H.toPortablePath(e)}};var kge=/^[0-9]+$/,hQ=/^(\\/(?:[^/]+\\/)*?(?:\\$\\$virtual|__virtual__))((?:\\/((?:[^/]+-)?[a-f0-9]+)(?:\\/([^/]+))?)?((?:\\/.*)?))$/,xge=/^([^/]+-)?[a-f0-9]+$/,Wr=class extends Qi{static makeVirtualPath(e,t,i){if(x.basename(e)!==\"__virtual__\")throw new Error('Assertion failed: Virtual folders must be named \"__virtual__\"');if(!x.basename(t).match(xge))throw new Error(\"Assertion failed: Virtual components must be ended by an hexadecimal hash\");let s=x.relative(x.dirname(e),i).split(\"/\"),o=0;for(;o<s.length&&s[o]===\"..\";)o+=1;let a=s.slice(o);return x.join(e,t,String(o),...a)}static resolveVirtual(e){let t=e.match(hQ);if(!t||!t[3]&&t[5])return e;let i=x.dirname(t[1]);if(!t[3]||!t[4])return i;if(!kge.test(t[4]))return e;let s=Number(t[4]),o=\"../\".repeat(s),a=t[5]||\".\";return Wr.resolveVirtual(x.join(i,o,a))}constructor({baseFs:e=new ar}={}){super(x);this.baseFs=e}getExtractHint(e){return this.baseFs.getExtractHint(e)}getRealPath(){return this.baseFs.getRealPath()}realpathSync(e){let t=e.match(hQ);if(!t)return this.baseFs.realpathSync(e);if(!t[5])return e;let i=this.baseFs.realpathSync(this.mapToBase(e));return Wr.makeVirtualPath(t[1],t[3],i)}async realpathPromise(e){let t=e.match(hQ);if(!t)return await this.baseFs.realpathPromise(e);if(!t[5])return e;let i=await this.baseFs.realpathPromise(this.mapToBase(e));return Wr.makeVirtualPath(t[1],t[3],i)}mapToBase(e){if(e===\"\")return e;if(this.pathUtils.isAbsolute(e))return Wr.resolveVirtual(e);let t=Wr.resolveVirtual(this.baseFs.resolve(Me.dot)),i=Wr.resolveVirtual(this.baseFs.resolve(e));return x.relative(t,i)||Me.dot}mapFromBase(e){return e}};var Zh=ge(require(\"fs\"));var Is=4278190080,Xn=704643072,sM=(r,e)=>{let t=r.indexOf(e);if(t<=0)return null;let i=t;for(;t>=0&&(i=t+e.length,r[i]!==x.sep);){if(r[t-1]===x.sep)return null;t=r.indexOf(e,i)}return r.length>i&&r[i]!==x.sep?null:r.slice(0,i)},ys=class extends ac{constructor({libzip:e,baseFs:t=new ar,filter:i=null,maxOpenFiles:n=Infinity,readOnlyArchives:s=!1,useCache:o=!0,maxAge:a=5e3,fileExtensions:l=null}){super();this.fdMap=new Map;this.nextFd=3;this.isZip=new Set;this.notZip=new Set;this.realPaths=new Map;this.limitOpenFilesTimeout=null;this.libzipFactory=typeof e!=\"function\"?()=>e:e,this.baseFs=t,this.zipInstances=o?new Map:null,this.filter=i,this.maxOpenFiles=n,this.readOnlyArchives=s,this.maxAge=a,this.fileExtensions=l}static async openPromise(e,t){let i=new ys(t);try{return await e(i)}finally{i.saveAndClose()}}get libzip(){return typeof this.libzipInstance==\"undefined\"&&(this.libzipInstance=this.libzipFactory()),this.libzipInstance}getExtractHint(e){return this.baseFs.getExtractHint(e)}getRealPath(){return this.baseFs.getRealPath()}saveAndClose(){if(_h(this),this.zipInstances)for(let[e,{zipFs:t}]of this.zipInstances.entries())t.saveAndClose(),this.zipInstances.delete(e)}discardAndClose(){if(_h(this),this.zipInstances)for(let[e,{zipFs:t}]of this.zipInstances.entries())t.discardAndClose(),this.zipInstances.delete(e)}resolve(e){return this.baseFs.resolve(e)}remapFd(e,t){let i=this.nextFd++|Xn;return this.fdMap.set(i,[e,t]),i}async openPromise(e,t,i){return await this.makeCallPromise(e,async()=>await this.baseFs.openPromise(e,t,i),async(n,{subPath:s})=>this.remapFd(n,await n.openPromise(s,t,i)))}openSync(e,t,i){return this.makeCallSync(e,()=>this.baseFs.openSync(e,t,i),(n,{subPath:s})=>this.remapFd(n,n.openSync(s,t,i)))}async opendirPromise(e,t){return await this.makeCallPromise(e,async()=>await this.baseFs.opendirPromise(e,t),async(i,{subPath:n})=>await i.opendirPromise(n,t),{requireSubpath:!1})}opendirSync(e,t){return this.makeCallSync(e,()=>this.baseFs.opendirSync(e,t),(i,{subPath:n})=>i.opendirSync(n,t),{requireSubpath:!1})}async readPromise(e,t,i,n,s){if((e&Is)!==Xn)return await this.baseFs.readPromise(e,t,i,n,s);let o=this.fdMap.get(e);if(typeof o==\"undefined\")throw Ai(\"read\");let[a,l]=o;return await a.readPromise(l,t,i,n,s)}readSync(e,t,i,n,s){if((e&Is)!==Xn)return this.baseFs.readSync(e,t,i,n,s);let o=this.fdMap.get(e);if(typeof o==\"undefined\")throw Ai(\"readSync\");let[a,l]=o;return a.readSync(l,t,i,n,s)}async writePromise(e,t,i,n,s){if((e&Is)!==Xn)return typeof t==\"string\"?await this.baseFs.writePromise(e,t,i):await this.baseFs.writePromise(e,t,i,n,s);let o=this.fdMap.get(e);if(typeof o==\"undefined\")throw Ai(\"write\");let[a,l]=o;return typeof t==\"string\"?await a.writePromise(l,t,i):await a.writePromise(l,t,i,n,s)}writeSync(e,t,i,n,s){if((e&Is)!==Xn)return typeof t==\"string\"?this.baseFs.writeSync(e,t,i):this.baseFs.writeSync(e,t,i,n,s);let o=this.fdMap.get(e);if(typeof o==\"undefined\")throw Ai(\"writeSync\");let[a,l]=o;return typeof t==\"string\"?a.writeSync(l,t,i):a.writeSync(l,t,i,n,s)}async closePromise(e){if((e&Is)!==Xn)return await this.baseFs.closePromise(e);let t=this.fdMap.get(e);if(typeof t==\"undefined\")throw Ai(\"close\");this.fdMap.delete(e);let[i,n]=t;return await i.closePromise(n)}closeSync(e){if((e&Is)!==Xn)return this.baseFs.closeSync(e);let t=this.fdMap.get(e);if(typeof t==\"undefined\")throw Ai(\"closeSync\");this.fdMap.delete(e);let[i,n]=t;return i.closeSync(n)}createReadStream(e,t){return e===null?this.baseFs.createReadStream(e,t):this.makeCallSync(e,()=>this.baseFs.createReadStream(e,t),(i,{archivePath:n,subPath:s})=>{let o=i.createReadStream(s,t);return o.path=H.fromPortablePath(this.pathUtils.join(n,s)),o})}createWriteStream(e,t){return e===null?this.baseFs.createWriteStream(e,t):this.makeCallSync(e,()=>this.baseFs.createWriteStream(e,t),(i,{subPath:n})=>i.createWriteStream(n,t))}async realpathPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.realpathPromise(e),async(t,{archivePath:i,subPath:n})=>{let s=this.realPaths.get(i);return typeof s==\"undefined\"&&(s=await this.baseFs.realpathPromise(i),this.realPaths.set(i,s)),this.pathUtils.join(s,this.pathUtils.relative(Me.root,await t.realpathPromise(n)))})}realpathSync(e){return this.makeCallSync(e,()=>this.baseFs.realpathSync(e),(t,{archivePath:i,subPath:n})=>{let s=this.realPaths.get(i);return typeof s==\"undefined\"&&(s=this.baseFs.realpathSync(i),this.realPaths.set(i,s)),this.pathUtils.join(s,this.pathUtils.relative(Me.root,t.realpathSync(n)))})}async existsPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.existsPromise(e),async(t,{subPath:i})=>await t.existsPromise(i))}existsSync(e){return this.makeCallSync(e,()=>this.baseFs.existsSync(e),(t,{subPath:i})=>t.existsSync(i))}async accessPromise(e,t){return await this.makeCallPromise(e,async()=>await this.baseFs.accessPromise(e,t),async(i,{subPath:n})=>await i.accessPromise(n,t))}accessSync(e,t){return this.makeCallSync(e,()=>this.baseFs.accessSync(e,t),(i,{subPath:n})=>i.accessSync(n,t))}async statPromise(e,t){return await this.makeCallPromise(e,async()=>await this.baseFs.statPromise(e,t),async(i,{subPath:n})=>await i.statPromise(n,t))}statSync(e,t){return this.makeCallSync(e,()=>this.baseFs.statSync(e,t),(i,{subPath:n})=>i.statSync(n,t))}async fstatPromise(e,t){if((e&Is)!==Xn)return this.baseFs.fstatPromise(e,t);let i=this.fdMap.get(e);if(typeof i==\"undefined\")throw Ai(\"fstat\");let[n,s]=i;return n.fstatPromise(s,t)}fstatSync(e,t){if((e&Is)!==Xn)return this.baseFs.fstatSync(e,t);let i=this.fdMap.get(e);if(typeof i==\"undefined\")throw Ai(\"fstatSync\");let[n,s]=i;return n.fstatSync(s,t)}async lstatPromise(e,t){return await this.makeCallPromise(e,async()=>await this.baseFs.lstatPromise(e,t),async(i,{subPath:n})=>await i.lstatPromise(n,t))}lstatSync(e,t){return this.makeCallSync(e,()=>this.baseFs.lstatSync(e,t),(i,{subPath:n})=>i.lstatSync(n,t))}async fchmodPromise(e,t){if((e&Is)!==Xn)return this.baseFs.fchmodPromise(e,t);let i=this.fdMap.get(e);if(typeof i==\"undefined\")throw Ai(\"fchmod\");let[n,s]=i;return n.fchmodPromise(s,t)}fchmodSync(e,t){if((e&Is)!==Xn)return this.baseFs.fchmodSync(e,t);let i=this.fdMap.get(e);if(typeof i==\"undefined\")throw Ai(\"fchmodSync\");let[n,s]=i;return n.fchmodSync(s,t)}async chmodPromise(e,t){return await this.makeCallPromise(e,async()=>await this.baseFs.chmodPromise(e,t),async(i,{subPath:n})=>await i.chmodPromise(n,t))}chmodSync(e,t){return this.makeCallSync(e,()=>this.baseFs.chmodSync(e,t),(i,{subPath:n})=>i.chmodSync(n,t))}async chownPromise(e,t,i){return await this.makeCallPromise(e,async()=>await this.baseFs.chownPromise(e,t,i),async(n,{subPath:s})=>await n.chownPromise(s,t,i))}chownSync(e,t,i){return this.makeCallSync(e,()=>this.baseFs.chownSync(e,t,i),(n,{subPath:s})=>n.chownSync(s,t,i))}async renamePromise(e,t){return await this.makeCallPromise(e,async()=>await this.makeCallPromise(t,async()=>await this.baseFs.renamePromise(e,t),async()=>{throw Object.assign(new Error(\"EEXDEV: cross-device link not permitted\"),{code:\"EEXDEV\"})}),async(i,{subPath:n})=>await this.makeCallPromise(t,async()=>{throw Object.assign(new Error(\"EEXDEV: cross-device link not permitted\"),{code:\"EEXDEV\"})},async(s,{subPath:o})=>{if(i!==s)throw Object.assign(new Error(\"EEXDEV: cross-device link not permitted\"),{code:\"EEXDEV\"});return await i.renamePromise(n,o)}))}renameSync(e,t){return this.makeCallSync(e,()=>this.makeCallSync(t,()=>this.baseFs.renameSync(e,t),()=>{throw Object.assign(new Error(\"EEXDEV: cross-device link not permitted\"),{code:\"EEXDEV\"})}),(i,{subPath:n})=>this.makeCallSync(t,()=>{throw Object.assign(new Error(\"EEXDEV: cross-device link not permitted\"),{code:\"EEXDEV\"})},(s,{subPath:o})=>{if(i!==s)throw Object.assign(new Error(\"EEXDEV: cross-device link not permitted\"),{code:\"EEXDEV\"});return i.renameSync(n,o)}))}async copyFilePromise(e,t,i=0){let n=async(s,o,a,l)=>{if((i&Zh.constants.COPYFILE_FICLONE_FORCE)!=0)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${o}' -> ${l}'`),{code:\"EXDEV\"});if(i&Zh.constants.COPYFILE_EXCL&&await this.existsPromise(o))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${o}' -> '${l}'`),{code:\"EEXIST\"});let c;try{c=await s.readFilePromise(o)}catch(u){throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${o}' -> '${l}'`),{code:\"EINVAL\"})}await a.writeFilePromise(l,c)};return await this.makeCallPromise(e,async()=>await this.makeCallPromise(t,async()=>await this.baseFs.copyFilePromise(e,t,i),async(s,{subPath:o})=>await n(this.baseFs,e,s,o)),async(s,{subPath:o})=>await this.makeCallPromise(t,async()=>await n(s,o,this.baseFs,t),async(a,{subPath:l})=>s!==a?await n(s,o,a,l):await s.copyFilePromise(o,l,i)))}copyFileSync(e,t,i=0){let n=(s,o,a,l)=>{if((i&Zh.constants.COPYFILE_FICLONE_FORCE)!=0)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${o}' -> ${l}'`),{code:\"EXDEV\"});if(i&Zh.constants.COPYFILE_EXCL&&this.existsSync(o))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${o}' -> '${l}'`),{code:\"EEXIST\"});let c;try{c=s.readFileSync(o)}catch(u){throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${o}' -> '${l}'`),{code:\"EINVAL\"})}a.writeFileSync(l,c)};return this.makeCallSync(e,()=>this.makeCallSync(t,()=>this.baseFs.copyFileSync(e,t,i),(s,{subPath:o})=>n(this.baseFs,e,s,o)),(s,{subPath:o})=>this.makeCallSync(t,()=>n(s,o,this.baseFs,t),(a,{subPath:l})=>s!==a?n(s,o,a,l):s.copyFileSync(o,l,i)))}async appendFilePromise(e,t,i){return await this.makeCallPromise(e,async()=>await this.baseFs.appendFilePromise(e,t,i),async(n,{subPath:s})=>await n.appendFilePromise(s,t,i))}appendFileSync(e,t,i){return this.makeCallSync(e,()=>this.baseFs.appendFileSync(e,t,i),(n,{subPath:s})=>n.appendFileSync(s,t,i))}async writeFilePromise(e,t,i){return await this.makeCallPromise(e,async()=>await this.baseFs.writeFilePromise(e,t,i),async(n,{subPath:s})=>await n.writeFilePromise(s,t,i))}writeFileSync(e,t,i){return this.makeCallSync(e,()=>this.baseFs.writeFileSync(e,t,i),(n,{subPath:s})=>n.writeFileSync(s,t,i))}async unlinkPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.unlinkPromise(e),async(t,{subPath:i})=>await t.unlinkPromise(i))}unlinkSync(e){return this.makeCallSync(e,()=>this.baseFs.unlinkSync(e),(t,{subPath:i})=>t.unlinkSync(i))}async utimesPromise(e,t,i){return await this.makeCallPromise(e,async()=>await this.baseFs.utimesPromise(e,t,i),async(n,{subPath:s})=>await n.utimesPromise(s,t,i))}utimesSync(e,t,i){return this.makeCallSync(e,()=>this.baseFs.utimesSync(e,t,i),(n,{subPath:s})=>n.utimesSync(s,t,i))}async mkdirPromise(e,t){return await this.makeCallPromise(e,async()=>await this.baseFs.mkdirPromise(e,t),async(i,{subPath:n})=>await i.mkdirPromise(n,t))}mkdirSync(e,t){return this.makeCallSync(e,()=>this.baseFs.mkdirSync(e,t),(i,{subPath:n})=>i.mkdirSync(n,t))}async rmdirPromise(e,t){return await this.makeCallPromise(e,async()=>await this.baseFs.rmdirPromise(e,t),async(i,{subPath:n})=>await i.rmdirPromise(n,t))}rmdirSync(e,t){return this.makeCallSync(e,()=>this.baseFs.rmdirSync(e,t),(i,{subPath:n})=>i.rmdirSync(n,t))}async linkPromise(e,t){return await this.makeCallPromise(t,async()=>await this.baseFs.linkPromise(e,t),async(i,{subPath:n})=>await i.linkPromise(e,n))}linkSync(e,t){return this.makeCallSync(t,()=>this.baseFs.linkSync(e,t),(i,{subPath:n})=>i.linkSync(e,n))}async symlinkPromise(e,t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.symlinkPromise(e,t,i),async(n,{subPath:s})=>await n.symlinkPromise(e,s))}symlinkSync(e,t,i){return this.makeCallSync(t,()=>this.baseFs.symlinkSync(e,t,i),(n,{subPath:s})=>n.symlinkSync(e,s))}async readFilePromise(e,t){return this.makeCallPromise(e,async()=>{switch(t){case\"utf8\":return await this.baseFs.readFilePromise(e,t);default:return await this.baseFs.readFilePromise(e,t)}},async(i,{subPath:n})=>await i.readFilePromise(n,t))}readFileSync(e,t){return this.makeCallSync(e,()=>{switch(t){case\"utf8\":return this.baseFs.readFileSync(e,t);default:return this.baseFs.readFileSync(e,t)}},(i,{subPath:n})=>i.readFileSync(n,t))}async readdirPromise(e,t){return await this.makeCallPromise(e,async()=>await this.baseFs.readdirPromise(e,t),async(i,{subPath:n})=>await i.readdirPromise(n,t),{requireSubpath:!1})}readdirSync(e,t){return this.makeCallSync(e,()=>this.baseFs.readdirSync(e,t),(i,{subPath:n})=>i.readdirSync(n,t),{requireSubpath:!1})}async readlinkPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.readlinkPromise(e),async(t,{subPath:i})=>await t.readlinkPromise(i))}readlinkSync(e){return this.makeCallSync(e,()=>this.baseFs.readlinkSync(e),(t,{subPath:i})=>t.readlinkSync(i))}async truncatePromise(e,t){return await this.makeCallPromise(e,async()=>await this.baseFs.truncatePromise(e,t),async(i,{subPath:n})=>await i.truncatePromise(n,t))}truncateSync(e,t){return this.makeCallSync(e,()=>this.baseFs.truncateSync(e,t),(i,{subPath:n})=>i.truncateSync(n,t))}async ftruncatePromise(e,t){if((e&Is)!==Xn)return this.baseFs.ftruncatePromise(e,t);let i=this.fdMap.get(e);if(typeof i==\"undefined\")throw Ai(\"ftruncate\");let[n,s]=i;return n.ftruncatePromise(s,t)}ftruncateSync(e,t){if((e&Is)!==Xn)return this.baseFs.ftruncateSync(e,t);let i=this.fdMap.get(e);if(typeof i==\"undefined\")throw Ai(\"ftruncateSync\");let[n,s]=i;return n.ftruncateSync(s,t)}watch(e,t,i){return this.makeCallSync(e,()=>this.baseFs.watch(e,t,i),(n,{subPath:s})=>n.watch(s,t,i))}watchFile(e,t,i){return this.makeCallSync(e,()=>this.baseFs.watchFile(e,t,i),()=>jE(this,e,t,i))}unwatchFile(e,t){return this.makeCallSync(e,()=>this.baseFs.unwatchFile(e,t),()=>zh(this,e,t))}async makeCallPromise(e,t,i,{requireSubpath:n=!0}={}){if(typeof e!=\"string\")return await t();let s=this.resolve(e),o=this.findZip(s);return o?n&&o.subPath===\"/\"?await t():await this.getZipPromise(o.archivePath,async a=>await i(a,o)):await t()}makeCallSync(e,t,i,{requireSubpath:n=!0}={}){if(typeof e!=\"string\")return t();let s=this.resolve(e),o=this.findZip(s);return!o||n&&o.subPath===\"/\"?t():this.getZipSync(o.archivePath,a=>i(a,o))}findZip(e){if(this.filter&&!this.filter.test(e))return null;let t=\"\";for(;;){let i=e.substring(t.length),n;if(!this.fileExtensions)n=sM(i,\".zip\");else for(let s of this.fileExtensions)if(n=sM(i,s),n)break;if(!n)return null;if(t=this.pathUtils.join(t,n),this.isZip.has(t)===!1){if(this.notZip.has(t))continue;try{if(!this.baseFs.lstatSync(t).isFile()){this.notZip.add(t);continue}}catch{return null}this.isZip.add(t)}return{archivePath:t,subPath:this.pathUtils.join(Me.root,e.substring(t.length))}}}limitOpenFiles(e){if(this.zipInstances===null)return;let t=Date.now(),i=t+this.maxAge,n=e===null?0:this.zipInstances.size-e;for(let[s,{zipFs:o,expiresAt:a,refCount:l}]of this.zipInstances.entries())if(!(l!==0||o.hasOpenFileHandles())){if(t>=a){o.saveAndClose(),this.zipInstances.delete(s),n-=1;continue}else if(e===null||n<=0){i=a;break}o.saveAndClose(),this.zipInstances.delete(s),n-=1}this.limitOpenFilesTimeout===null&&(e===null&&this.zipInstances.size>0||e!==null)&&(this.limitOpenFilesTimeout=setTimeout(()=>{this.limitOpenFilesTimeout=null,this.limitOpenFiles(null)},i-t).unref())}async getZipPromise(e,t){let i=async()=>({baseFs:this.baseFs,libzip:this.libzip,readOnly:this.readOnlyArchives,stats:await this.baseFs.statPromise(e)});if(this.zipInstances){let n=this.zipInstances.get(e);if(!n){let s=await i();n=this.zipInstances.get(e),n||(n={zipFs:new li(e,s),expiresAt:0,refCount:0})}this.zipInstances.delete(e),this.limitOpenFiles(this.maxOpenFiles-1),this.zipInstances.set(e,n),n.expiresAt=Date.now()+this.maxAge,n.refCount+=1;try{return await t(n.zipFs)}finally{n.refCount-=1}}else{let n=new li(e,await i());try{return await t(n)}finally{n.saveAndClose()}}}getZipSync(e,t){let i=()=>({baseFs:this.baseFs,libzip:this.libzip,readOnly:this.readOnlyArchives,stats:this.baseFs.statSync(e)});if(this.zipInstances){let n=this.zipInstances.get(e);return n||(n={zipFs:new li(e,i()),expiresAt:0,refCount:0}),this.zipInstances.delete(e),this.limitOpenFiles(this.maxOpenFiles-1),this.zipInstances.set(e,n),n.expiresAt=Date.now()+this.maxAge,t(n.zipFs)}else{let n=new li(e,i());try{return t(n)}finally{n.saveAndClose()}}}};var Xu=ge(require(\"util\"));var YE=ge(require(\"url\"));var pQ=class extends Qi{constructor(e){super(H);this.baseFs=e}mapFromBase(e){return e}mapToBase(e){return e instanceof YE.URL?(0,YE.fileURLToPath)(e):e}};var en=Symbol(\"kBaseFs\"),Oa=Symbol(\"kFd\"),JA=Symbol(\"kClosePromise\"),qE=Symbol(\"kCloseResolve\"),JE=Symbol(\"kCloseReject\"),Vu=Symbol(\"kRefs\"),Lo=Symbol(\"kRef\"),To=Symbol(\"kUnref\"),v6e,k6e,x6e,P6e,WE=class{constructor(e,t){this[v6e]=1;this[k6e]=void 0;this[x6e]=void 0;this[P6e]=void 0;this[en]=t,this[Oa]=e}get fd(){return this[Oa]}async appendFile(e,t){var i;try{this[Lo](this.appendFile);let n=(i=typeof t==\"string\"?t:t==null?void 0:t.encoding)!=null?i:void 0;return await this[en].appendFilePromise(this.fd,e,n?{encoding:n}:void 0)}finally{this[To]()}}chown(e,t){throw new Error(\"Method not implemented.\")}async chmod(e){try{return this[Lo](this.chmod),await this[en].fchmodPromise(this.fd,e)}finally{this[To]()}}createReadStream(e){return this[en].createReadStream(null,te(N({},e),{fd:this.fd}))}createWriteStream(e){return this[en].createWriteStream(null,te(N({},e),{fd:this.fd}))}datasync(){throw new Error(\"Method not implemented.\")}sync(){throw new Error(\"Method not implemented.\")}async read(e,t,i,n){var s,o,a;try{this[Lo](this.read);let l;return Buffer.isBuffer(e)?l=e:(e!=null||(e={}),l=(s=e.buffer)!=null?s:Buffer.alloc(16384),t=e.offset||0,i=(o=e.length)!=null?o:l.byteLength,n=(a=e.position)!=null?a:null),t!=null||(t=0),i!=null||(i=0),i===0?{bytesRead:i,buffer:l}:{bytesRead:await this[en].readPromise(this.fd,l,t,i,n),buffer:l}}finally{this[To]()}}async readFile(e){var t;try{this[Lo](this.readFile);let i=(t=typeof e==\"string\"?e:e==null?void 0:e.encoding)!=null?t:void 0;return await this[en].readFilePromise(this.fd,i)}finally{this[To]()}}async stat(e){try{return this[Lo](this.stat),await this[en].fstatPromise(this.fd,e)}finally{this[To]()}}async truncate(e){try{return this[Lo](this.truncate),await this[en].ftruncatePromise(this.fd,e)}finally{this[To]()}}utimes(e,t){throw new Error(\"Method not implemented.\")}async writeFile(e,t){var i;try{this[Lo](this.writeFile);let n=(i=typeof t==\"string\"?t:t==null?void 0:t.encoding)!=null?i:void 0;await this[en].writeFilePromise(this.fd,e,n)}finally{this[To]()}}async write(...e){try{if(this[Lo](this.write),ArrayBuffer.isView(e[0])){let[t,i,n,s]=e;return{bytesWritten:await this[en].writePromise(this.fd,t,i!=null?i:void 0,n!=null?n:void 0,s!=null?s:void 0),buffer:t}}else{let[t,i,n]=e;return{bytesWritten:await this[en].writePromise(this.fd,t,i,n),buffer:t}}}finally{this[To]()}}async writev(e,t){try{this[Lo](this.writev);let i=0;if(typeof t!=\"undefined\")for(let n of e){let s=await this.write(n,void 0,void 0,t);i+=s.bytesWritten,t+=s.bytesWritten}else for(let n of e)i+=(await this.write(n)).bytesWritten;return{buffers:e,bytesWritten:i}}finally{this[To]()}}readv(e,t){throw new Error(\"Method not implemented.\")}close(){if(this[Oa]===-1)return Promise.resolve();if(this[JA])return this[JA];if(this[Vu]--,this[Vu]===0){let e=this[Oa];this[Oa]=-1,this[JA]=this[en].closePromise(e).finally(()=>{this[JA]=void 0})}else this[JA]=new Promise((e,t)=>{this[qE]=e,this[JE]=t}).finally(()=>{this[JA]=void 0,this[JE]=void 0,this[qE]=void 0});return this[JA]}[(en,Oa,v6e=Vu,k6e=JA,x6e=qE,P6e=JE,Lo)](e){if(this[Oa]===-1){let t=new Error(\"file closed\");throw t.code=\"EBADF\",t.syscall=e.name,t}this[Vu]++}[To](){if(this[Vu]--,this[Vu]===0){let e=this[Oa];this[Oa]=-1,this[en].closePromise(e).then(this[qE],this[JE])}}};var Pge=new Set([\"accessSync\",\"appendFileSync\",\"createReadStream\",\"createWriteStream\",\"chmodSync\",\"fchmodSync\",\"chownSync\",\"closeSync\",\"copyFileSync\",\"linkSync\",\"lstatSync\",\"fstatSync\",\"lutimesSync\",\"mkdirSync\",\"openSync\",\"opendirSync\",\"readlinkSync\",\"readFileSync\",\"readdirSync\",\"readlinkSync\",\"realpathSync\",\"renameSync\",\"rmdirSync\",\"statSync\",\"symlinkSync\",\"truncateSync\",\"ftruncateSync\",\"unlinkSync\",\"unwatchFile\",\"utimesSync\",\"watch\",\"watchFile\",\"writeFileSync\",\"writeSync\"]),oM=new Set([\"accessPromise\",\"appendFilePromise\",\"fchmodPromise\",\"chmodPromise\",\"chownPromise\",\"closePromise\",\"copyFilePromise\",\"linkPromise\",\"fstatPromise\",\"lstatPromise\",\"lutimesPromise\",\"mkdirPromise\",\"openPromise\",\"opendirPromise\",\"readdirPromise\",\"realpathPromise\",\"readFilePromise\",\"readdirPromise\",\"readlinkPromise\",\"renamePromise\",\"rmdirPromise\",\"statPromise\",\"symlinkPromise\",\"truncatePromise\",\"ftruncatePromise\",\"unlinkPromise\",\"utimesPromise\",\"writeFilePromise\",\"writeSync\"]);function dQ(r,e){e=new pQ(e);let t=(i,n,s)=>{let o=i[n];i[n]=s,typeof(o==null?void 0:o[Xu.promisify.custom])!=\"undefined\"&&(s[Xu.promisify.custom]=o[Xu.promisify.custom])};{t(r,\"exists\",(i,...n)=>{let o=typeof n[n.length-1]==\"function\"?n.pop():()=>{};process.nextTick(()=>{e.existsPromise(i).then(a=>{o(a)},()=>{o(!1)})})}),t(r,\"read\",(...i)=>{let[n,s,o,a,l,c]=i;if(i.length<=3){let u={};i.length<3?c=i[1]:(u=i[1],c=i[2]),{buffer:s=Buffer.alloc(16384),offset:o=0,length:a=s.byteLength,position:l}=u}if(o==null&&(o=0),a|=0,a===0){process.nextTick(()=>{c(null,0,s)});return}l==null&&(l=-1),process.nextTick(()=>{e.readPromise(n,s,o,a,l).then(u=>{c(null,u,s)},u=>{c(u,0,s)})})});for(let i of oM){let n=i.replace(/Promise$/,\"\");if(typeof r[n]==\"undefined\")continue;let s=e[i];if(typeof s==\"undefined\")continue;t(r,n,(...a)=>{let c=typeof a[a.length-1]==\"function\"?a.pop():()=>{};process.nextTick(()=>{s.apply(e,a).then(u=>{c(null,u)},u=>{c(u)})})})}r.realpath.native=r.realpath}{t(r,\"existsSync\",i=>{try{return e.existsSync(i)}catch(n){return!1}}),t(r,\"readSync\",(...i)=>{let[n,s,o,a,l]=i;return i.length<=3&&({offset:o=0,length:a=s.byteLength,position:l}=i[2]||{}),o==null&&(o=0),a|=0,a===0?0:(l==null&&(l=-1),e.readSync(n,s,o,a,l))});for(let i of Pge){let n=i;if(typeof r[n]==\"undefined\")continue;let s=e[i];typeof s!=\"undefined\"&&t(r,n,s.bind(e))}r.realpathSync.native=r.realpathSync}{let i=process.emitWarning;process.emitWarning=()=>{};let n;try{n=r.promises}finally{process.emitWarning=i}if(typeof n!=\"undefined\"){for(let s of oM){let o=s.replace(/Promise$/,\"\");if(typeof n[o]==\"undefined\")continue;let a=e[s];typeof a!=\"undefined\"&&s!==\"open\"&&t(n,o,(l,...c)=>l instanceof WE?l[o].apply(l,c):a.call(e,l,...c))}t(n,\"open\",async(...s)=>{let o=await e.openPromise(...s);return new WE(o,e)})}}r.read[Xu.promisify.custom]=async(i,n,...s)=>({bytesRead:await e.readPromise(i,n,...s),buffer:n}),r.write[Xu.promisify.custom]=async(i,n,...s)=>({bytesWritten:await e.writePromise(i,n,...s),buffer:n})}function zE(r,e){let t=Object.create(r);return dQ(t,e),t}var aM=ge(require(\"os\"));function AM(r){let e=Math.ceil(Math.random()*4294967296).toString(16).padStart(8,\"0\");return`${r}${e}`}var oo=new Set,CQ=null;function lM(){if(CQ)return CQ;let r=H.toPortablePath(aM.default.tmpdir()),e=U.realpathSync(r);return process.once(\"exit\",()=>{U.rmtempSync()}),CQ={tmpdir:r,realTmpdir:e}}var U=Object.assign(new ar,{detachTemp(r){oo.delete(r)},mktempSync(r){let{tmpdir:e,realTmpdir:t}=lM();for(;;){let i=AM(\"xfs-\");try{this.mkdirSync(x.join(e,i))}catch(s){if(s.code===\"EEXIST\")continue;throw s}let n=x.join(t,i);if(oo.add(n),typeof r==\"undefined\")return n;try{return r(n)}finally{if(oo.has(n)){oo.delete(n);try{this.removeSync(n)}catch{}}}}},async mktempPromise(r){let{tmpdir:e,realTmpdir:t}=lM();for(;;){let i=AM(\"xfs-\");try{await this.mkdirPromise(x.join(e,i))}catch(s){if(s.code===\"EEXIST\")continue;throw s}let n=x.join(t,i);if(oo.add(n),typeof r==\"undefined\")return n;try{return await r(n)}finally{if(oo.has(n)){oo.delete(n);try{await this.removePromise(n)}catch{}}}}},async rmtempPromise(){await Promise.all(Array.from(oo.values()).map(async r=>{try{await U.removePromise(r,{maxRetries:0}),oo.delete(r)}catch{}}))},rmtempSync(){for(let r of oo)try{U.removeSync(r),oo.delete(r)}catch{}}});var Ex=ge(vQ());var ap={};ft(ap,{parseResolution:()=>eI,parseShell:()=>VE,parseSyml:()=>Si,stringifyArgument:()=>DQ,stringifyArgumentSegment:()=>RQ,stringifyArithmeticExpression:()=>$E,stringifyCommand:()=>PQ,stringifyCommandChain:()=>tg,stringifyCommandChainThen:()=>xQ,stringifyCommandLine:()=>XE,stringifyCommandLineThen:()=>kQ,stringifyEnvSegment:()=>ZE,stringifyRedirectArgument:()=>ep,stringifyResolution:()=>tI,stringifyShell:()=>eg,stringifyShellLine:()=>eg,stringifySyml:()=>Ua,stringifyValueArgument:()=>gc});var $M=ge(ZM());function VE(r,e={isGlobPattern:()=>!1}){try{return(0,$M.parse)(r,e)}catch(t){throw t.location&&(t.message=t.message.replace(/(\\.)?$/,` (line ${t.location.start.line}, column ${t.location.start.column})$1`)),t}}function eg(r,{endSemicolon:e=!1}={}){return r.map(({command:t,type:i},n)=>`${XE(t)}${i===\";\"?n!==r.length-1||e?\";\":\"\":\" &\"}`).join(\" \")}function XE(r){return`${tg(r.chain)}${r.then?` ${kQ(r.then)}`:\"\"}`}function kQ(r){return`${r.type} ${XE(r.line)}`}function tg(r){return`${PQ(r)}${r.then?` ${xQ(r.then)}`:\"\"}`}function xQ(r){return`${r.type} ${tg(r.chain)}`}function PQ(r){switch(r.type){case\"command\":return`${r.envs.length>0?`${r.envs.map(e=>ZE(e)).join(\" \")} `:\"\"}${r.args.map(e=>DQ(e)).join(\" \")}`;case\"subshell\":return`(${eg(r.subshell)})${r.args.length>0?` ${r.args.map(e=>ep(e)).join(\" \")}`:\"\"}`;case\"group\":return`{ ${eg(r.group,{endSemicolon:!0})} }${r.args.length>0?` ${r.args.map(e=>ep(e)).join(\" \")}`:\"\"}`;case\"envs\":return r.envs.map(e=>ZE(e)).join(\" \");default:throw new Error(`Unsupported command type:  \"${r.type}\"`)}}function ZE(r){return`${r.name}=${r.args[0]?gc(r.args[0]):\"\"}`}function DQ(r){switch(r.type){case\"redirection\":return ep(r);case\"argument\":return gc(r);default:throw new Error(`Unsupported argument type: \"${r.type}\"`)}}function ep(r){return`${r.subtype} ${r.args.map(e=>gc(e)).join(\" \")}`}function gc(r){return r.segments.map(e=>RQ(e)).join(\"\")}function RQ(r){let e=(i,n)=>n?`\"${i}\"`:i,t=i=>i===\"\"?'\"\"':i.match(/[(){}<>$|&; \\t\"']/)?`$'${i.replace(/\\\\/g,\"\\\\\\\\\").replace(/'/g,\"\\\\'\").replace(/\\f/g,\"\\\\f\").replace(/\\n/g,\"\\\\n\").replace(/\\r/g,\"\\\\r\").replace(/\\t/g,\"\\\\t\").replace(/\\v/g,\"\\\\v\").replace(/\\0/g,\"\\\\0\")}'`:i;switch(r.type){case\"text\":return t(r.text);case\"glob\":return r.pattern;case\"shell\":return e(`\\${${eg(r.shell)}}`,r.quoted);case\"variable\":return e(typeof r.defaultValue==\"undefined\"?typeof r.alternativeValue==\"undefined\"?`\\${${r.name}}`:r.alternativeValue.length===0?`\\${${r.name}:+}`:`\\${${r.name}:+${r.alternativeValue.map(i=>gc(i)).join(\" \")}}`:r.defaultValue.length===0?`\\${${r.name}:-}`:`\\${${r.name}:-${r.defaultValue.map(i=>gc(i)).join(\" \")}}`,r.quoted);case\"arithmetic\":return`$(( ${$E(r.arithmetic)} ))`;default:throw new Error(`Unsupported argument segment type: \"${r.type}\"`)}}function $E(r){let e=n=>{switch(n){case\"addition\":return\"+\";case\"subtraction\":return\"-\";case\"multiplication\":return\"*\";case\"division\":return\"/\";default:throw new Error(`Can't extract operator from arithmetic expression of type \"${n}\"`)}},t=(n,s)=>s?`( ${n} )`:n,i=n=>t($E(n),![\"number\",\"variable\"].includes(n.type));switch(r.type){case\"number\":return String(r.value);case\"variable\":return r.name;default:return`${i(r.left)} ${e(r.type)} ${i(r.right)}`}}var r1=ge(t1());function eI(r){let e=r.match(/^\\*{1,2}\\/(.*)/);if(e)throw new Error(`The override for '${r}' includes a glob pattern. Glob patterns have been removed since their behaviours don't match what you'd expect. Set the override to '${e[1]}' instead.`);try{return(0,r1.parse)(r)}catch(t){throw t.location&&(t.message=t.message.replace(/(\\.)?$/,` (line ${t.location.start.line}, column ${t.location.start.column})$1`)),t}}function tI(r){let e=\"\";return r.from&&(e+=r.from.fullName,r.from.description&&(e+=`@${r.from.description}`),e+=\"/\"),e+=r.descriptor.fullName,r.descriptor.description&&(e+=`@${r.descriptor.description}`),e}var gI=ge(JU()),_U=ge(zU()),Upe=/^(?![-?:,\\][{}#&*!|>'\"%@` \\t\\r\\n]).([ \\t]*(?![,\\][{}:# \\t\\r\\n]).)*$/,VU=[\"__metadata\",\"version\",\"resolution\",\"dependencies\",\"peerDependencies\",\"dependenciesMeta\",\"peerDependenciesMeta\",\"binaries\"],qQ=class{constructor(e){this.data=e}};function XU(r){return r.match(Upe)?r:JSON.stringify(r)}function ZU(r){return typeof r==\"undefined\"?!0:typeof r==\"object\"&&r!==null?Object.keys(r).every(e=>ZU(r[e])):!1}function JQ(r,e,t){if(r===null)return`null\n`;if(typeof r==\"number\"||typeof r==\"boolean\")return`${r.toString()}\n`;if(typeof r==\"string\")return`${XU(r)}\n`;if(Array.isArray(r)){if(r.length===0)return`[]\n`;let i=\"  \".repeat(e);return`\n${r.map(s=>`${i}- ${JQ(s,e+1,!1)}`).join(\"\")}`}if(typeof r==\"object\"&&r){let i,n;r instanceof qQ?(i=r.data,n=!1):(i=r,n=!0);let s=\"  \".repeat(e),o=Object.keys(i);n&&o.sort((l,c)=>{let u=VU.indexOf(l),g=VU.indexOf(c);return u===-1&&g===-1?l<c?-1:l>c?1:0:u!==-1&&g===-1?-1:u===-1&&g!==-1?1:u-g});let a=o.filter(l=>!ZU(i[l])).map((l,c)=>{let u=i[l],g=XU(l),f=JQ(u,e+1,!0),h=c>0||t?s:\"\",p=g.length>1024?`? ${g}\n${h}:`:`${g}:`,m=f.startsWith(`\n`)?f:` ${f}`;return`${h}${p}${m}`}).join(e===0?`\n`:\"\")||`\n`;return t?`\n${a}`:`${a}`}throw new Error(`Unsupported value type (${r})`)}function Ua(r){try{let e=JQ(r,0,!1);return e!==`\n`?e:\"\"}catch(e){throw e.location&&(e.message=e.message.replace(/(\\.)?$/,` (line ${e.location.start.line}, column ${e.location.start.column})$1`)),e}}Ua.PreserveOrdering=qQ;function Kpe(r){return r.endsWith(`\n`)||(r+=`\n`),(0,_U.parse)(r)}var Hpe=/^(#.*(\\r?\\n))*?#\\s+yarn\\s+lockfile\\s+v1\\r?\\n/i;function jpe(r){if(Hpe.test(r))return Kpe(r);let e=(0,gI.safeLoad)(r,{schema:gI.FAILSAFE_SCHEMA,json:!0});if(e==null)return{};if(typeof e!=\"object\")throw new Error(`Expected an indexed object, got a ${typeof e} instead. Does your file follow Yaml's rules?`);if(Array.isArray(e))throw new Error(\"Expected an indexed object, got an array instead. Does your file follow Yaml's rules?\");return e}function Si(r){return jpe(r)}var K4=ge(eK()),Ew=ge(yc());var mp={};ft(mp,{Builtins:()=>aS,Cli:()=>Bs,Command:()=>Re,Option:()=>J,UsageError:()=>Pe,formatMarkdownish:()=>Ki});var wc=0,Ap=1,tn=2,zQ=\"\u0001\",vi=\"\\0\",cg=-1,_Q=/^(-h|--help)(?:=([0-9]+))?$/,fI=/^(--[a-z]+(?:-[a-z]+)*|-[a-zA-Z]+)$/,sK=/^-[a-zA-Z]{2,}$/,VQ=/^([^=]+)=([\\s\\S]*)$/,XQ=process.env.DEBUG_CLI===\"1\";var Pe=class extends Error{constructor(e){super(e);this.clipanion={type:\"usage\"},this.name=\"UsageError\"}},lp=class extends Error{constructor(e,t){super();if(this.input=e,this.candidates=t,this.clipanion={type:\"none\"},this.name=\"UnknownSyntaxError\",this.candidates.length===0)this.message=\"Command not found, but we're not sure what's the alternative.\";else if(this.candidates.every(i=>i.reason!==null&&i.reason===t[0].reason)){let[{reason:i}]=this.candidates;this.message=`${i}\n\n${this.candidates.map(({usage:n})=>`$ ${n}`).join(`\n`)}`}else if(this.candidates.length===1){let[{usage:i}]=this.candidates;this.message=`Command not found; did you mean:\n\n$ ${i}\n${ZQ(e)}`}else this.message=`Command not found; did you mean one of:\n\n${this.candidates.map(({usage:i},n)=>`${`${n}.`.padStart(4)} ${i}`).join(`\n`)}\n\n${ZQ(e)}`}},$Q=class extends Error{constructor(e,t){super();this.input=e,this.usages=t,this.clipanion={type:\"none\"},this.name=\"AmbiguousSyntaxError\",this.message=`Cannot find which to pick amongst the following alternatives:\n\n${this.usages.map((i,n)=>`${`${n}.`.padStart(4)} ${i}`).join(`\n`)}\n\n${ZQ(e)}`}},ZQ=r=>`While running ${r.filter(e=>e!==vi).map(e=>{let t=JSON.stringify(e);return e.match(/\\s/)||e.length===0||t!==`\"${e}\"`?t:e}).join(\" \")}`;var cp=Symbol(\"clipanion/isOption\");function rn(r){return te(N({},r),{[cp]:!0})}function Uo(r,e){return typeof r==\"undefined\"?[r,e]:typeof r==\"object\"&&r!==null&&!Array.isArray(r)?[void 0,r]:[r,e]}function hI(r,e=!1){let t=r.replace(/^\\.: /,\"\");return e&&(t=t[0].toLowerCase()+t.slice(1)),t}function up(r,e){return e.length===1?new Pe(`${r}: ${hI(e[0],!0)}`):new Pe(`${r}:\n${e.map(t=>`\n- ${hI(t)}`).join(\"\")}`)}function gp(r,e,t){if(typeof t==\"undefined\")return e;let i=[],n=[],s=a=>{let l=e;return e=a,s.bind(null,l)};if(!t(e,{errors:i,coercions:n,coercion:s}))throw up(`Invalid value for ${r}`,i);for(let[,a]of n)a();return e}var Re=class{constructor(){this.help=!1}static Usage(e){return e}async catch(e){throw e}async validateAndExecute(){let t=this.constructor.schema;if(Array.isArray(t)){let{isDict:n,isUnknown:s,applyCascade:o}=await Promise.resolve().then(()=>(ws(),ug)),a=o(n(s()),t),l=[],c=[];if(!a(this,{errors:l,coercions:c}))throw up(\"Invalid option schema\",l);for(let[,g]of c)g()}else if(t!=null)throw new Error(\"Invalid command schema\");let i=await this.execute();return typeof i!=\"undefined\"?i:0}};Re.isOption=cp;Re.Default=[];var pK=80,rS=Array(pK).fill(\"\\u2501\");for(let r=0;r<=24;++r)rS[rS.length-r]=`\u001b[38;5;${232+r}m\\u2501`;var iS={header:r=>`\u001b[1m\\u2501\\u2501\\u2501 ${r}${r.length<pK-5?` ${rS.slice(r.length+5).join(\"\")}`:\":\"}\u001b[0m`,bold:r=>`\u001b[1m${r}\u001b[22m`,error:r=>`\u001b[31m\u001b[1m${r}\u001b[22m\u001b[39m`,code:r=>`\u001b[36m${r}\u001b[39m`},dK={header:r=>r,bold:r=>r,error:r=>r,code:r=>r};function bde(r){let e=r.split(`\n`),t=e.filter(n=>n.match(/\\S/)),i=t.length>0?t.reduce((n,s)=>Math.min(n,s.length-s.trimStart().length),Number.MAX_VALUE):0;return e.map(n=>n.slice(i).trimRight()).join(`\n`)}function Ki(r,{format:e,paragraphs:t}){return r=r.replace(/\\r\\n?/g,`\n`),r=bde(r),r=r.replace(/^\\n+|\\n+$/g,\"\"),r=r.replace(/^(\\s*)-([^\\n]*?)\\n+/gm,`$1-$2\n\n`),r=r.replace(/\\n(\\n)?\\n*/g,\"$1\"),t&&(r=r.split(/\\n/).map(i=>{let n=i.match(/^\\s*[*-][\\t ]+(.*)/);if(!n)return i.match(/(.{1,80})(?: |$)/g).join(`\n`);let s=i.length-i.trimStart().length;return n[1].match(new RegExp(`(.{1,${78-s}})(?: |$)`,\"g\")).map((o,a)=>\" \".repeat(s)+(a===0?\"- \":\"  \")+o).join(`\n`)}).join(`\n\n`)),r=r.replace(/(`+)((?:.|[\\n])*?)\\1/g,(i,n,s)=>e.code(n+s+n)),r=r.replace(/(\\*\\*)((?:.|[\\n])*?)\\1/g,(i,n,s)=>e.bold(n+s+n)),r?`${r}\n`:\"\"}var oS=ge(require(\"tty\"));function wn(r){XQ&&console.log(r)}var CK={candidateUsage:null,requiredOptions:[],errorMessage:null,ignoreOptions:!1,path:[],positionals:[],options:[],remainder:null,selectedIndex:cg};function mK(){return{nodes:[sn(),sn(),sn()]}}function Sde(r){let e=mK(),t=[],i=e.nodes.length;for(let n of r){t.push(i);for(let s=0;s<n.nodes.length;++s)EK(s)||e.nodes.push(Qde(n.nodes[s],i));i+=n.nodes.length-2}for(let n of t)gg(e,wc,n);return e}function ao(r,e){return r.nodes.push(e),r.nodes.length-1}function vde(r){let e=new Set,t=i=>{if(e.has(i))return;e.add(i);let n=r.nodes[i];for(let o of Object.values(n.statics))for(let{to:a}of o)t(a);for(let[,{to:o}]of n.dynamics)t(o);for(let{to:o}of n.shortcuts)t(o);let s=new Set(n.shortcuts.map(({to:o})=>o));for(;n.shortcuts.length>0;){let{to:o}=n.shortcuts.shift(),a=r.nodes[o];for(let[l,c]of Object.entries(a.statics)){let u=Object.prototype.hasOwnProperty.call(n.statics,l)?n.statics[l]:n.statics[l]=[];for(let g of c)u.some(({to:f})=>g.to===f)||u.push(g)}for(let[l,c]of a.dynamics)n.dynamics.some(([u,{to:g}])=>l===u&&c.to===g)||n.dynamics.push([l,c]);for(let l of a.shortcuts)s.has(l.to)||(n.shortcuts.push(l),s.add(l.to))}};t(wc)}function kde(r,{prefix:e=\"\"}={}){if(XQ){wn(`${e}Nodes are:`);for(let t=0;t<r.nodes.length;++t)wn(`${e}  ${t}: ${JSON.stringify(r.nodes[t])}`)}}function IK(r,e,t=!1){wn(`Running a vm on ${JSON.stringify(e)}`);let i=[{node:wc,state:{candidateUsage:null,requiredOptions:[],errorMessage:null,ignoreOptions:!1,options:[],path:[],positionals:[],remainder:null,selectedIndex:null}}];kde(r,{prefix:\"  \"});let n=[zQ,...e];for(let s=0;s<n.length;++s){let o=n[s];wn(`  Processing ${JSON.stringify(o)}`);let a=[];for(let{node:l,state:c}of i){wn(`    Current node is ${l}`);let u=r.nodes[l];if(l===tn){a.push({node:l,state:c});continue}console.assert(u.shortcuts.length===0,\"Shortcuts should have been eliminated by now\");let g=Object.prototype.hasOwnProperty.call(u.statics,o);if(!t||s<n.length-1||g)if(g){let f=u.statics[o];for(let{to:h,reducer:p}of f)a.push({node:h,state:typeof p!=\"undefined\"?dI(nS,p,c,o):c}),wn(`      Static transition to ${h} found`)}else wn(\"      No static transition found\");else{let f=!1;for(let h of Object.keys(u.statics))if(!!h.startsWith(o)){if(o===h)for(let{to:p,reducer:m}of u.statics[h])a.push({node:p,state:typeof m!=\"undefined\"?dI(nS,m,c,o):c}),wn(`      Static transition to ${p} found`);else for(let{to:p}of u.statics[h])a.push({node:p,state:te(N({},c),{remainder:h.slice(o.length)})}),wn(`      Static transition to ${p} found (partial match)`);f=!0}f||wn(\"      No partial static transition found\")}if(o!==vi)for(let[f,{to:h,reducer:p}]of u.dynamics)dI(CI,f,c,o)&&(a.push({node:h,state:typeof p!=\"undefined\"?dI(nS,p,c,o):c}),wn(`      Dynamic transition to ${h} found (via ${f})`))}if(a.length===0&&o===vi&&e.length===1)return[{node:wc,state:CK}];if(a.length===0)throw new lp(e,i.filter(({node:l})=>l!==tn).map(({state:l})=>({usage:l.candidateUsage,reason:null})));if(a.every(({node:l})=>l===tn))throw new lp(e,a.map(({state:l})=>({usage:l.candidateUsage,reason:l.errorMessage})));i=xde(a)}if(i.length>0){wn(\"  Results:\");for(let s of i)wn(`    - ${s.node} -> ${JSON.stringify(s.state)}`)}else wn(\"  No results\");return i}function Pde(r,e){if(e.selectedIndex!==null)return!0;if(Object.prototype.hasOwnProperty.call(r.statics,vi)){for(let{to:t}of r.statics[vi])if(t===Ap)return!0}return!1}function Rde(r,e,t){let i=t&&e.length>0?[\"\"]:[],n=IK(r,e,t),s=[],o=new Set,a=(l,c,u=!0)=>{let g=[c];for(;g.length>0;){let h=g;g=[];for(let p of h){let m=r.nodes[p],y=Object.keys(m.statics);for(let b of Object.keys(m.statics)){let v=y[0];for(let{to:k,reducer:T}of m.statics[v])T===\"pushPath\"&&(u||l.push(v),g.push(k))}}u=!1}let f=JSON.stringify(l);o.has(f)||(s.push(l),o.add(f))};for(let{node:l,state:c}of n){if(c.remainder!==null){a([c.remainder],l);continue}let u=r.nodes[l],g=Pde(u,c);for(let[f,h]of Object.entries(u.statics))(g&&f!==vi||!f.startsWith(\"-\")&&h.some(({reducer:p})=>p===\"pushPath\"))&&a([...i,f],l);if(!!g)for(let[f,{to:h}]of u.dynamics){if(h===tn)continue;let p=Dde(f,c);if(p!==null)for(let m of p)a([...i,m],l)}}return[...s].sort()}function Nde(r,e){let t=IK(r,[...e,vi]);return Fde(e,t.map(({state:i})=>i))}function xde(r){let e=0;for(let{state:t}of r)t.path.length>e&&(e=t.path.length);return r.filter(({state:t})=>t.path.length===e)}function Fde(r,e){let t=e.filter(g=>g.selectedIndex!==null);if(t.length===0)throw new Error;let i=t.filter(g=>g.requiredOptions.every(f=>f.some(h=>g.options.find(p=>p.name===h))));if(i.length===0)throw new lp(r,t.map(g=>({usage:g.candidateUsage,reason:null})));let n=0;for(let g of i)g.path.length>n&&(n=g.path.length);let s=i.filter(g=>g.path.length===n),o=g=>g.positionals.filter(({extra:f})=>!f).length+g.options.length,a=s.map(g=>({state:g,positionalCount:o(g)})),l=0;for(let{positionalCount:g}of a)g>l&&(l=g);let c=a.filter(({positionalCount:g})=>g===l).map(({state:g})=>g),u=Lde(c);if(u.length>1)throw new $Q(r,u.map(g=>g.candidateUsage));return u[0]}function Lde(r){let e=[],t=[];for(let i of r)i.selectedIndex===cg?t.push(i):e.push(i);return t.length>0&&e.push(te(N({},CK),{path:yK(...t.map(i=>i.path)),options:t.reduce((i,n)=>i.concat(n.options),[])})),e}function yK(r,e,...t){return e===void 0?Array.from(r):yK(r.filter((i,n)=>i===e[n]),...t)}function sn(){return{dynamics:[],shortcuts:[],statics:{}}}function EK(r){return r===Ap||r===tn}function sS(r,e=0){return{to:EK(r.to)?r.to:r.to>2?r.to+e-2:r.to+e,reducer:r.reducer}}function Qde(r,e=0){let t=sn();for(let[i,n]of r.dynamics)t.dynamics.push([i,sS(n,e)]);for(let i of r.shortcuts)t.shortcuts.push(sS(i,e));for(let[i,n]of Object.entries(r.statics))t.statics[i]=n.map(s=>sS(s,e));return t}function ki(r,e,t,i,n){r.nodes[e].dynamics.push([t,{to:i,reducer:n}])}function gg(r,e,t,i){r.nodes[e].shortcuts.push({to:t,reducer:i})}function Ka(r,e,t,i,n){(Object.prototype.hasOwnProperty.call(r.nodes[e].statics,t)?r.nodes[e].statics[t]:r.nodes[e].statics[t]=[]).push({to:i,reducer:n})}function dI(r,e,t,i){if(Array.isArray(e)){let[n,...s]=e;return r[n](t,i,...s)}else return r[e](t,i)}function Dde(r,e){let t=Array.isArray(r)?CI[r[0]]:CI[r];if(typeof t.suggest==\"undefined\")return null;let i=Array.isArray(r)?r.slice(1):[];return t.suggest(e,...i)}var CI={always:()=>!0,isOptionLike:(r,e)=>!r.ignoreOptions&&e!==\"-\"&&e.startsWith(\"-\"),isNotOptionLike:(r,e)=>r.ignoreOptions||e===\"-\"||!e.startsWith(\"-\"),isOption:(r,e,t,i)=>!r.ignoreOptions&&e===t,isBatchOption:(r,e,t)=>!r.ignoreOptions&&sK.test(e)&&[...e.slice(1)].every(i=>t.includes(`-${i}`)),isBoundOption:(r,e,t,i)=>{let n=e.match(VQ);return!r.ignoreOptions&&!!n&&fI.test(n[1])&&t.includes(n[1])&&i.filter(s=>s.names.includes(n[1])).every(s=>s.allowBinding)},isNegatedOption:(r,e,t)=>!r.ignoreOptions&&e===`--no-${t.slice(2)}`,isHelp:(r,e)=>!r.ignoreOptions&&_Q.test(e),isUnsupportedOption:(r,e,t)=>!r.ignoreOptions&&e.startsWith(\"-\")&&fI.test(e)&&!t.includes(e),isInvalidOption:(r,e)=>!r.ignoreOptions&&e.startsWith(\"-\")&&!fI.test(e)};CI.isOption.suggest=(r,e,t=!0)=>t?null:[e];var nS={setCandidateState:(r,e,t)=>N(N({},r),t),setSelectedIndex:(r,e,t)=>te(N({},r),{selectedIndex:t}),pushBatch:(r,e)=>te(N({},r),{options:r.options.concat([...e.slice(1)].map(t=>({name:`-${t}`,value:!0})))}),pushBound:(r,e)=>{let[,t,i]=e.match(VQ);return te(N({},r),{options:r.options.concat({name:t,value:i})})},pushPath:(r,e)=>te(N({},r),{path:r.path.concat(e)}),pushPositional:(r,e)=>te(N({},r),{positionals:r.positionals.concat({value:e,extra:!1})}),pushExtra:(r,e)=>te(N({},r),{positionals:r.positionals.concat({value:e,extra:!0})}),pushExtraNoLimits:(r,e)=>te(N({},r),{positionals:r.positionals.concat({value:e,extra:$n})}),pushTrue:(r,e,t=e)=>te(N({},r),{options:r.options.concat({name:e,value:!0})}),pushFalse:(r,e,t=e)=>te(N({},r),{options:r.options.concat({name:t,value:!1})}),pushUndefined:(r,e)=>te(N({},r),{options:r.options.concat({name:e,value:void 0})}),pushStringValue:(r,e)=>{var t;let i=te(N({},r),{options:[...r.options]}),n=r.options[r.options.length-1];return n.value=((t=n.value)!==null&&t!==void 0?t:[]).concat([e]),i},setStringValue:(r,e)=>{let t=te(N({},r),{options:[...r.options]}),i=r.options[r.options.length-1];return i.value=e,t},inhibateOptions:r=>te(N({},r),{ignoreOptions:!0}),useHelp:(r,e,t)=>{let[,,i]=e.match(_Q);return typeof i!=\"undefined\"?te(N({},r),{options:[{name:\"-c\",value:String(t)},{name:\"-i\",value:i}]}):te(N({},r),{options:[{name:\"-c\",value:String(t)}]})},setError:(r,e,t)=>e===vi?te(N({},r),{errorMessage:`${t}.`}):te(N({},r),{errorMessage:`${t} (\"${e}\").`}),setOptionArityError:(r,e)=>{let t=r.options[r.options.length-1];return te(N({},r),{errorMessage:`Not enough arguments to option ${t.name}.`})}},$n=Symbol(),wK=class{constructor(e,t){this.allOptionNames=[],this.arity={leading:[],trailing:[],extra:[],proxy:!1},this.options=[],this.paths=[],this.cliIndex=e,this.cliOpts=t}addPath(e){this.paths.push(e)}setArity({leading:e=this.arity.leading,trailing:t=this.arity.trailing,extra:i=this.arity.extra,proxy:n=this.arity.proxy}){Object.assign(this.arity,{leading:e,trailing:t,extra:i,proxy:n})}addPositional({name:e=\"arg\",required:t=!0}={}){if(!t&&this.arity.extra===$n)throw new Error(\"Optional parameters cannot be declared when using .rest() or .proxy()\");if(!t&&this.arity.trailing.length>0)throw new Error(\"Optional parameters cannot be declared after the required trailing positional arguments\");!t&&this.arity.extra!==$n?this.arity.extra.push(e):this.arity.extra!==$n&&this.arity.extra.length===0?this.arity.leading.push(e):this.arity.trailing.push(e)}addRest({name:e=\"arg\",required:t=0}={}){if(this.arity.extra===$n)throw new Error(\"Infinite lists cannot be declared multiple times in the same command\");if(this.arity.trailing.length>0)throw new Error(\"Infinite lists cannot be declared after the required trailing positional arguments\");for(let i=0;i<t;++i)this.addPositional({name:e});this.arity.extra=$n}addProxy({required:e=0}={}){this.addRest({required:e}),this.arity.proxy=!0}addOption({names:e,description:t,arity:i=0,hidden:n=!1,required:s=!1,allowBinding:o=!0}){if(!o&&i>1)throw new Error(\"The arity cannot be higher than 1 when the option only supports the --arg=value syntax\");if(!Number.isInteger(i))throw new Error(`The arity must be an integer, got ${i}`);if(i<0)throw new Error(`The arity must be positive, got ${i}`);this.allOptionNames.push(...e),this.options.push({names:e,description:t,arity:i,hidden:n,required:s,allowBinding:o})}setContext(e){this.context=e}usage({detailed:e=!0,inlineOptions:t=!0}={}){let i=[this.cliOpts.binaryName],n=[];if(this.paths.length>0&&i.push(...this.paths[0]),e){for(let{names:o,arity:a,hidden:l,description:c,required:u}of this.options){if(l)continue;let g=[];for(let h=0;h<a;++h)g.push(` #${h}`);let f=`${o.join(\",\")}${g.join(\"\")}`;!t&&c?n.push({definition:f,description:c,required:u}):i.push(u?`<${f}>`:`[${f}]`)}i.push(...this.arity.leading.map(o=>`<${o}>`)),this.arity.extra===$n?i.push(\"...\"):i.push(...this.arity.extra.map(o=>`[${o}]`)),i.push(...this.arity.trailing.map(o=>`<${o}>`))}return{usage:i.join(\" \"),options:n}}compile(){if(typeof this.context==\"undefined\")throw new Error(\"Assertion failed: No context attached\");let e=mK(),t=wc,i=this.usage().usage,n=this.options.filter(a=>a.required).map(a=>a.names);t=ao(e,sn()),Ka(e,wc,zQ,t,[\"setCandidateState\",{candidateUsage:i,requiredOptions:n}]);let s=this.arity.proxy?\"always\":\"isNotOptionLike\",o=this.paths.length>0?this.paths:[[]];for(let a of o){let l=t;if(a.length>0){let f=ao(e,sn());gg(e,l,f),this.registerOptions(e,f),l=f}for(let f=0;f<a.length;++f){let h=ao(e,sn());Ka(e,l,a[f],h,\"pushPath\"),l=h}if(this.arity.leading.length>0||!this.arity.proxy){let f=ao(e,sn());ki(e,l,\"isHelp\",f,[\"useHelp\",this.cliIndex]),Ka(e,f,vi,Ap,[\"setSelectedIndex\",cg]),this.registerOptions(e,l)}this.arity.leading.length>0&&Ka(e,l,vi,tn,[\"setError\",\"Not enough positional arguments\"]);let c=l;for(let f=0;f<this.arity.leading.length;++f){let h=ao(e,sn());this.arity.proxy||this.registerOptions(e,h),(this.arity.trailing.length>0||f+1!==this.arity.leading.length)&&Ka(e,h,vi,tn,[\"setError\",\"Not enough positional arguments\"]),ki(e,c,\"isNotOptionLike\",h,\"pushPositional\"),c=h}let u=c;if(this.arity.extra===$n||this.arity.extra.length>0){let f=ao(e,sn());if(gg(e,c,f),this.arity.extra===$n){let h=ao(e,sn());this.arity.proxy||this.registerOptions(e,h),ki(e,c,s,h,\"pushExtraNoLimits\"),ki(e,h,s,h,\"pushExtraNoLimits\"),gg(e,h,f)}else for(let h=0;h<this.arity.extra.length;++h){let p=ao(e,sn());this.arity.proxy||this.registerOptions(e,p),ki(e,u,s,p,\"pushExtra\"),gg(e,p,f),u=p}u=f}this.arity.trailing.length>0&&Ka(e,u,vi,tn,[\"setError\",\"Not enough positional arguments\"]);let g=u;for(let f=0;f<this.arity.trailing.length;++f){let h=ao(e,sn());this.arity.proxy||this.registerOptions(e,h),f+1<this.arity.trailing.length&&Ka(e,h,vi,tn,[\"setError\",\"Not enough positional arguments\"]),ki(e,g,\"isNotOptionLike\",h,\"pushPositional\"),g=h}ki(e,g,s,tn,[\"setError\",\"Extraneous positional argument\"]),Ka(e,g,vi,Ap,[\"setSelectedIndex\",this.cliIndex])}return{machine:e,context:this.context}}registerOptions(e,t){ki(e,t,[\"isOption\",\"--\"],t,\"inhibateOptions\"),ki(e,t,[\"isBatchOption\",this.allOptionNames],t,\"pushBatch\"),ki(e,t,[\"isBoundOption\",this.allOptionNames,this.options],t,\"pushBound\"),ki(e,t,[\"isUnsupportedOption\",this.allOptionNames],tn,[\"setError\",\"Unsupported option name\"]),ki(e,t,[\"isInvalidOption\"],tn,[\"setError\",\"Invalid option name\"]);for(let i of this.options){let n=i.names.reduce((s,o)=>o.length>s.length?o:s,\"\");if(i.arity===0)for(let s of i.names)ki(e,t,[\"isOption\",s,i.hidden||s!==n],t,\"pushTrue\"),s.startsWith(\"--\")&&!s.startsWith(\"--no-\")&&ki(e,t,[\"isNegatedOption\",s],t,[\"pushFalse\",s]);else{let s=ao(e,sn());for(let o of i.names)ki(e,t,[\"isOption\",o,i.hidden||o!==n],s,\"pushUndefined\");for(let o=0;o<i.arity;++o){let a=ao(e,sn());Ka(e,s,vi,tn,\"setOptionArityError\"),ki(e,s,\"isOptionLike\",tn,\"setOptionArityError\");let l=i.arity===1?\"setStringValue\":\"pushStringValue\";ki(e,s,\"isNotOptionLike\",a,l),s=a}gg(e,s,t)}}}},dp=class{constructor({binaryName:e=\"...\"}={}){this.builders=[],this.opts={binaryName:e}}static build(e,t={}){return new dp(t).commands(e).compile()}getBuilderByIndex(e){if(!(e>=0&&e<this.builders.length))throw new Error(`Assertion failed: Out-of-bound command index (${e})`);return this.builders[e]}commands(e){for(let t of e)t(this.command());return this}command(){let e=new wK(this.builders.length,this.opts);return this.builders.push(e),e}compile(){let e=[],t=[];for(let n of this.builders){let{machine:s,context:o}=n.compile();e.push(s),t.push(o)}let i=Sde(e);return vde(i),{machine:i,contexts:t,process:n=>Nde(i,n),suggest:(n,s)=>Rde(i,n,s)}}};var Cp=class extends Re{constructor(e){super();this.contexts=e,this.commands=[]}static from(e,t){let i=new Cp(t);i.path=e.path;for(let n of e.options)switch(n.name){case\"-c\":i.commands.push(Number(n.value));break;case\"-i\":i.index=Number(n.value);break}return i}async execute(){let e=this.commands;if(typeof this.index!=\"undefined\"&&this.index>=0&&this.index<e.length&&(e=[e[this.index]]),e.length===0)this.context.stdout.write(this.cli.usage());else if(e.length===1)this.context.stdout.write(this.cli.usage(this.contexts[e[0]].commandClass,{detailed:!0}));else if(e.length>1){this.context.stdout.write(`Multiple commands match your selection:\n`),this.context.stdout.write(`\n`);let t=0;for(let i of this.commands)this.context.stdout.write(this.cli.usage(this.contexts[i].commandClass,{prefix:`${t++}. `.padStart(5)}));this.context.stdout.write(`\n`),this.context.stdout.write(`Run again with -h=<index> to see the longer details of any of those commands.\n`)}}};var BK=Symbol(\"clipanion/errorCommand\");function Tde(){return process.env.FORCE_COLOR===\"0\"?1:process.env.FORCE_COLOR===\"1\"||typeof process.stdout!=\"undefined\"&&process.stdout.isTTY?8:1}var Bs=class{constructor({binaryLabel:e,binaryName:t=\"...\",binaryVersion:i,enableCapture:n=!1,enableColors:s}={}){this.registrations=new Map,this.builder=new dp({binaryName:t}),this.binaryLabel=e,this.binaryName=t,this.binaryVersion=i,this.enableCapture=n,this.enableColors=s}static from(e,t={}){let i=new Bs(t);for(let n of e)i.register(n);return i}register(e){var t;let i=new Map,n=new e;for(let l in n){let c=n[l];typeof c==\"object\"&&c!==null&&c[Re.isOption]&&i.set(l,c)}let s=this.builder.command(),o=s.cliIndex,a=(t=e.paths)!==null&&t!==void 0?t:n.paths;if(typeof a!=\"undefined\")for(let l of a)s.addPath(l);this.registrations.set(e,{specs:i,builder:s,index:o});for(let[l,{definition:c}]of i.entries())c(s,l);s.setContext({commandClass:e})}process(e){let{contexts:t,process:i}=this.builder.compile(),n=i(e);switch(n.selectedIndex){case cg:return Cp.from(n,t);default:{let{commandClass:s}=t[n.selectedIndex],o=this.registrations.get(s);if(typeof o==\"undefined\")throw new Error(\"Assertion failed: Expected the command class to have been registered.\");let a=new s;a.path=n.path;try{for(let[l,{transformer:c}]of o.specs.entries())a[l]=c(o.builder,l,n);return a}catch(l){throw l[BK]=a,l}}break}}async run(e,t){var i;let n,s=N(N({},Bs.defaultContext),t),o=(i=this.enableColors)!==null&&i!==void 0?i:s.colorDepth>1;if(!Array.isArray(e))n=e;else try{n=this.process(e)}catch(c){return s.stdout.write(this.error(c,{colored:o})),1}if(n.help)return s.stdout.write(this.usage(n,{colored:o,detailed:!0})),0;n.context=s,n.cli={binaryLabel:this.binaryLabel,binaryName:this.binaryName,binaryVersion:this.binaryVersion,enableCapture:this.enableCapture,enableColors:this.enableColors,definitions:()=>this.definitions(),error:(c,u)=>this.error(c,u),format:c=>this.format(c),process:c=>this.process(c),run:(c,u)=>this.run(c,N(N({},s),u)),usage:(c,u)=>this.usage(c,u)};let a=this.enableCapture?Ode(s):bK,l;try{l=await a(()=>n.validateAndExecute().catch(c=>n.catch(c).then(()=>0)))}catch(c){return s.stdout.write(this.error(c,{colored:o,command:n})),1}return l}async runExit(e,t){process.exitCode=await this.run(e,t)}suggest(e,t){let{suggest:i}=this.builder.compile();return i(e,t)}definitions({colored:e=!1}={}){let t=[];for(let[i,{index:n}]of this.registrations){if(typeof i.usage==\"undefined\")continue;let{usage:s}=this.getUsageByIndex(n,{detailed:!1}),{usage:o,options:a}=this.getUsageByIndex(n,{detailed:!0,inlineOptions:!1}),l=typeof i.usage.category!=\"undefined\"?Ki(i.usage.category,{format:this.format(e),paragraphs:!1}):void 0,c=typeof i.usage.description!=\"undefined\"?Ki(i.usage.description,{format:this.format(e),paragraphs:!1}):void 0,u=typeof i.usage.details!=\"undefined\"?Ki(i.usage.details,{format:this.format(e),paragraphs:!0}):void 0,g=typeof i.usage.examples!=\"undefined\"?i.usage.examples.map(([f,h])=>[Ki(f,{format:this.format(e),paragraphs:!1}),h.replace(/\\$0/g,this.binaryName)]):void 0;t.push({path:s,usage:o,category:l,description:c,details:u,examples:g,options:a})}return t}usage(e=null,{colored:t,detailed:i=!1,prefix:n=\"$ \"}={}){var s;if(e===null){for(let l of this.registrations.keys()){let c=l.paths,u=typeof l.usage!=\"undefined\";if(!c||c.length===0||c.length===1&&c[0].length===0||((s=c==null?void 0:c.some(h=>h.length===0))!==null&&s!==void 0?s:!1))if(e){e=null;break}else e=l;else if(u){e=null;continue}}e&&(i=!0)}let o=e!==null&&e instanceof Re?e.constructor:e,a=\"\";if(o)if(i){let{description:l=\"\",details:c=\"\",examples:u=[]}=o.usage||{};l!==\"\"&&(a+=Ki(l,{format:this.format(t),paragraphs:!1}).replace(/^./,h=>h.toUpperCase()),a+=`\n`),(c!==\"\"||u.length>0)&&(a+=`${this.format(t).header(\"Usage\")}\n`,a+=`\n`);let{usage:g,options:f}=this.getUsageByRegistration(o,{inlineOptions:!1});if(a+=`${this.format(t).bold(n)}${g}\n`,f.length>0){a+=`\n`,a+=`${iS.header(\"Options\")}\n`;let h=f.reduce((p,m)=>Math.max(p,m.definition.length),0);a+=`\n`;for(let{definition:p,description:m}of f)a+=`  ${this.format(t).bold(p.padEnd(h))}    ${Ki(m,{format:this.format(t),paragraphs:!1})}`}if(c!==\"\"&&(a+=`\n`,a+=`${this.format(t).header(\"Details\")}\n`,a+=`\n`,a+=Ki(c,{format:this.format(t),paragraphs:!0})),u.length>0){a+=`\n`,a+=`${this.format(t).header(\"Examples\")}\n`;for(let[h,p]of u)a+=`\n`,a+=Ki(h,{format:this.format(t),paragraphs:!1}),a+=`${p.replace(/^/m,`  ${this.format(t).bold(n)}`).replace(/\\$0/g,this.binaryName)}\n`}}else{let{usage:l}=this.getUsageByRegistration(o);a+=`${this.format(t).bold(n)}${l}\n`}else{let l=new Map;for(let[f,{index:h}]of this.registrations.entries()){if(typeof f.usage==\"undefined\")continue;let p=typeof f.usage.category!=\"undefined\"?Ki(f.usage.category,{format:this.format(t),paragraphs:!1}):null,m=l.get(p);typeof m==\"undefined\"&&l.set(p,m=[]);let{usage:y}=this.getUsageByIndex(h);m.push({commandClass:f,usage:y})}let c=Array.from(l.keys()).sort((f,h)=>f===null?-1:h===null?1:f.localeCompare(h,\"en\",{usage:\"sort\",caseFirst:\"upper\"})),u=typeof this.binaryLabel!=\"undefined\",g=typeof this.binaryVersion!=\"undefined\";u||g?(u&&g?a+=`${this.format(t).header(`${this.binaryLabel} - ${this.binaryVersion}`)}\n\n`:u?a+=`${this.format(t).header(`${this.binaryLabel}`)}\n`:a+=`${this.format(t).header(`${this.binaryVersion}`)}\n`,a+=`  ${this.format(t).bold(n)}${this.binaryName} <command>\n`):a+=`${this.format(t).bold(n)}${this.binaryName} <command>\n`;for(let f of c){let h=l.get(f).slice().sort((m,y)=>m.usage.localeCompare(y.usage,\"en\",{usage:\"sort\",caseFirst:\"upper\"})),p=f!==null?f.trim():\"General commands\";a+=`\n`,a+=`${this.format(t).header(`${p}`)}\n`;for(let{commandClass:m,usage:y}of h){let b=m.usage.description||\"undocumented\";a+=`\n`,a+=`  ${this.format(t).bold(y)}\n`,a+=`    ${Ki(b,{format:this.format(t),paragraphs:!1})}`}}a+=`\n`,a+=Ki(\"You can also print more details about any of these commands by calling them with the `-h,--help` flag right after the command name.\",{format:this.format(t),paragraphs:!0})}return a}error(e,t){var i,{colored:n,command:s=(i=e[BK])!==null&&i!==void 0?i:null}=t===void 0?{}:t;e instanceof Error||(e=new Error(`Execution failed with a non-error rejection (rejected value: ${JSON.stringify(e)})`));let o=\"\",a=e.name.replace(/([a-z])([A-Z])/g,\"$1 $2\");a===\"Error\"&&(a=\"Internal Error\"),o+=`${this.format(n).error(a)}: ${e.message}\n`;let l=e.clipanion;return typeof l!=\"undefined\"?l.type===\"usage\"&&(o+=`\n`,o+=this.usage(s)):e.stack&&(o+=`${e.stack.replace(/^.*\\n/,\"\")}\n`),o}format(e){var t;return((t=e!=null?e:this.enableColors)!==null&&t!==void 0?t:Bs.defaultContext.colorDepth>1)?iS:dK}getUsageByRegistration(e,t){let i=this.registrations.get(e);if(typeof i==\"undefined\")throw new Error(\"Assertion failed: Unregistered command\");return this.getUsageByIndex(i.index,t)}getUsageByIndex(e,t){return this.builder.getBuilderByIndex(e).usage(t)}};Bs.defaultContext={stdin:process.stdin,stdout:process.stdout,stderr:process.stderr,colorDepth:\"getColorDepth\"in oS.default.WriteStream.prototype?oS.default.WriteStream.prototype.getColorDepth():Tde()};var QK;function Ode(r){let e=QK;if(typeof e==\"undefined\"){if(r.stdout===process.stdout&&r.stderr===process.stderr)return bK;let{AsyncLocalStorage:t}=require(\"async_hooks\");e=QK=new t;let i=process.stdout._write;process.stdout._write=function(s,o,a){let l=e.getStore();return typeof l==\"undefined\"?i.call(this,s,o,a):l.stdout.write(s,o,a)};let n=process.stderr._write;process.stderr._write=function(s,o,a){let l=e.getStore();return typeof l==\"undefined\"?n.call(this,s,o,a):l.stderr.write(s,o,a)}}return t=>e.run(r,t)}function bK(r){return r()}var aS={};ft(aS,{DefinitionsCommand:()=>mI,HelpCommand:()=>EI,VersionCommand:()=>II});var mI=class extends Re{async execute(){this.context.stdout.write(`${JSON.stringify(this.cli.definitions(),null,2)}\n`)}};mI.paths=[[\"--clipanion=definitions\"]];var EI=class extends Re{async execute(){this.context.stdout.write(this.cli.usage())}};EI.paths=[[\"-h\"],[\"--help\"]];var II=class extends Re{async execute(){var e;this.context.stdout.write(`${(e=this.cli.binaryVersion)!==null&&e!==void 0?e:\"<unknown>\"}\n`)}};II.paths=[[\"-v\"],[\"--version\"]];var J={};ft(J,{Array:()=>SK,Boolean:()=>vK,Counter:()=>kK,Proxy:()=>xK,Rest:()=>PK,String:()=>DK,applyValidator:()=>gp,cleanValidationError:()=>hI,formatError:()=>up,isOptionSymbol:()=>cp,makeCommandOption:()=>rn,rerouteArguments:()=>Uo});function SK(r,e,t){let[i,n]=Uo(e,t!=null?t:{}),{arity:s=1}=n,o=r.split(\",\"),a=new Set(o);return rn({definition(l){l.addOption({names:o,arity:s,hidden:n==null?void 0:n.hidden,description:n==null?void 0:n.description,required:n.required})},transformer(l,c,u){let g=typeof i!=\"undefined\"?[...i]:void 0;for(let{name:f,value:h}of u.options)!a.has(f)||(g=g!=null?g:[],g.push(h));return g}})}function vK(r,e,t){let[i,n]=Uo(e,t!=null?t:{}),s=r.split(\",\"),o=new Set(s);return rn({definition(a){a.addOption({names:s,allowBinding:!1,arity:0,hidden:n.hidden,description:n.description,required:n.required})},transformer(a,l,c){let u=i;for(let{name:g,value:f}of c.options)!o.has(g)||(u=f);return u}})}function kK(r,e,t){let[i,n]=Uo(e,t!=null?t:{}),s=r.split(\",\"),o=new Set(s);return rn({definition(a){a.addOption({names:s,allowBinding:!1,arity:0,hidden:n.hidden,description:n.description,required:n.required})},transformer(a,l,c){let u=i;for(let{name:g,value:f}of c.options)!o.has(g)||(u!=null||(u=0),f?u+=1:u=0);return u}})}function xK(r={}){return rn({definition(e,t){var i;e.addProxy({name:(i=r.name)!==null&&i!==void 0?i:t,required:r.required})},transformer(e,t,i){return i.positionals.map(({value:n})=>n)}})}function PK(r={}){return rn({definition(e,t){var i;e.addRest({name:(i=r.name)!==null&&i!==void 0?i:t,required:r.required})},transformer(e,t,i){let n=o=>{let a=i.positionals[o];return a.extra===$n||a.extra===!1&&o<e.arity.leading.length},s=0;for(;s<i.positionals.length&&n(s);)s+=1;return i.positionals.splice(0,s).map(({value:o})=>o)}})}function Mde(r,e,t){let[i,n]=Uo(e,t!=null?t:{}),{arity:s=1}=n,o=r.split(\",\"),a=new Set(o);return rn({definition(l){l.addOption({names:o,arity:n.tolerateBoolean?0:s,hidden:n.hidden,description:n.description,required:n.required})},transformer(l,c,u){let g,f=i;for(let{name:h,value:p}of u.options)!a.has(h)||(g=h,f=p);return typeof f==\"string\"?gp(g!=null?g:c,f,n.validator):f}})}function Ude(r={}){let{required:e=!0}=r;return rn({definition(t,i){var n;t.addPositional({name:(n=r.name)!==null&&n!==void 0?n:i,required:r.required})},transformer(t,i,n){var s;for(let o=0;o<n.positionals.length;++o){if(n.positionals[o].extra===$n||e&&n.positionals[o].extra===!0||!e&&n.positionals[o].extra===!1)continue;let[a]=n.positionals.splice(o,1);return gp((s=r.name)!==null&&s!==void 0?s:i,a.value,r.validator)}}})}function DK(r,...e){return typeof r==\"string\"?Mde(r,...e):Ude(r)}var H4=ge(fg()),gx=ge(require(\"stream\"));var X;(function(Ae){Ae[Ae.UNNAMED=0]=\"UNNAMED\",Ae[Ae.EXCEPTION=1]=\"EXCEPTION\",Ae[Ae.MISSING_PEER_DEPENDENCY=2]=\"MISSING_PEER_DEPENDENCY\",Ae[Ae.CYCLIC_DEPENDENCIES=3]=\"CYCLIC_DEPENDENCIES\",Ae[Ae.DISABLED_BUILD_SCRIPTS=4]=\"DISABLED_BUILD_SCRIPTS\",Ae[Ae.BUILD_DISABLED=5]=\"BUILD_DISABLED\",Ae[Ae.SOFT_LINK_BUILD=6]=\"SOFT_LINK_BUILD\",Ae[Ae.MUST_BUILD=7]=\"MUST_BUILD\",Ae[Ae.MUST_REBUILD=8]=\"MUST_REBUILD\",Ae[Ae.BUILD_FAILED=9]=\"BUILD_FAILED\",Ae[Ae.RESOLVER_NOT_FOUND=10]=\"RESOLVER_NOT_FOUND\",Ae[Ae.FETCHER_NOT_FOUND=11]=\"FETCHER_NOT_FOUND\",Ae[Ae.LINKER_NOT_FOUND=12]=\"LINKER_NOT_FOUND\",Ae[Ae.FETCH_NOT_CACHED=13]=\"FETCH_NOT_CACHED\",Ae[Ae.YARN_IMPORT_FAILED=14]=\"YARN_IMPORT_FAILED\",Ae[Ae.REMOTE_INVALID=15]=\"REMOTE_INVALID\",Ae[Ae.REMOTE_NOT_FOUND=16]=\"REMOTE_NOT_FOUND\",Ae[Ae.RESOLUTION_PACK=17]=\"RESOLUTION_PACK\",Ae[Ae.CACHE_CHECKSUM_MISMATCH=18]=\"CACHE_CHECKSUM_MISMATCH\",Ae[Ae.UNUSED_CACHE_ENTRY=19]=\"UNUSED_CACHE_ENTRY\",Ae[Ae.MISSING_LOCKFILE_ENTRY=20]=\"MISSING_LOCKFILE_ENTRY\",Ae[Ae.WORKSPACE_NOT_FOUND=21]=\"WORKSPACE_NOT_FOUND\",Ae[Ae.TOO_MANY_MATCHING_WORKSPACES=22]=\"TOO_MANY_MATCHING_WORKSPACES\",Ae[Ae.CONSTRAINTS_MISSING_DEPENDENCY=23]=\"CONSTRAINTS_MISSING_DEPENDENCY\",Ae[Ae.CONSTRAINTS_INCOMPATIBLE_DEPENDENCY=24]=\"CONSTRAINTS_INCOMPATIBLE_DEPENDENCY\",Ae[Ae.CONSTRAINTS_EXTRANEOUS_DEPENDENCY=25]=\"CONSTRAINTS_EXTRANEOUS_DEPENDENCY\",Ae[Ae.CONSTRAINTS_INVALID_DEPENDENCY=26]=\"CONSTRAINTS_INVALID_DEPENDENCY\",Ae[Ae.CANT_SUGGEST_RESOLUTIONS=27]=\"CANT_SUGGEST_RESOLUTIONS\",Ae[Ae.FROZEN_LOCKFILE_EXCEPTION=28]=\"FROZEN_LOCKFILE_EXCEPTION\",Ae[Ae.CROSS_DRIVE_VIRTUAL_LOCAL=29]=\"CROSS_DRIVE_VIRTUAL_LOCAL\",Ae[Ae.FETCH_FAILED=30]=\"FETCH_FAILED\",Ae[Ae.DANGEROUS_NODE_MODULES=31]=\"DANGEROUS_NODE_MODULES\",Ae[Ae.NODE_GYP_INJECTED=32]=\"NODE_GYP_INJECTED\",Ae[Ae.AUTHENTICATION_NOT_FOUND=33]=\"AUTHENTICATION_NOT_FOUND\",Ae[Ae.INVALID_CONFIGURATION_KEY=34]=\"INVALID_CONFIGURATION_KEY\",Ae[Ae.NETWORK_ERROR=35]=\"NETWORK_ERROR\",Ae[Ae.LIFECYCLE_SCRIPT=36]=\"LIFECYCLE_SCRIPT\",Ae[Ae.CONSTRAINTS_MISSING_FIELD=37]=\"CONSTRAINTS_MISSING_FIELD\",Ae[Ae.CONSTRAINTS_INCOMPATIBLE_FIELD=38]=\"CONSTRAINTS_INCOMPATIBLE_FIELD\",Ae[Ae.CONSTRAINTS_EXTRANEOUS_FIELD=39]=\"CONSTRAINTS_EXTRANEOUS_FIELD\",Ae[Ae.CONSTRAINTS_INVALID_FIELD=40]=\"CONSTRAINTS_INVALID_FIELD\",Ae[Ae.AUTHENTICATION_INVALID=41]=\"AUTHENTICATION_INVALID\",Ae[Ae.PROLOG_UNKNOWN_ERROR=42]=\"PROLOG_UNKNOWN_ERROR\",Ae[Ae.PROLOG_SYNTAX_ERROR=43]=\"PROLOG_SYNTAX_ERROR\",Ae[Ae.PROLOG_EXISTENCE_ERROR=44]=\"PROLOG_EXISTENCE_ERROR\",Ae[Ae.STACK_OVERFLOW_RESOLUTION=45]=\"STACK_OVERFLOW_RESOLUTION\",Ae[Ae.AUTOMERGE_FAILED_TO_PARSE=46]=\"AUTOMERGE_FAILED_TO_PARSE\",Ae[Ae.AUTOMERGE_IMMUTABLE=47]=\"AUTOMERGE_IMMUTABLE\",Ae[Ae.AUTOMERGE_SUCCESS=48]=\"AUTOMERGE_SUCCESS\",Ae[Ae.AUTOMERGE_REQUIRED=49]=\"AUTOMERGE_REQUIRED\",Ae[Ae.DEPRECATED_CLI_SETTINGS=50]=\"DEPRECATED_CLI_SETTINGS\",Ae[Ae.PLUGIN_NAME_NOT_FOUND=51]=\"PLUGIN_NAME_NOT_FOUND\",Ae[Ae.INVALID_PLUGIN_REFERENCE=52]=\"INVALID_PLUGIN_REFERENCE\",Ae[Ae.CONSTRAINTS_AMBIGUITY=53]=\"CONSTRAINTS_AMBIGUITY\",Ae[Ae.CACHE_OUTSIDE_PROJECT=54]=\"CACHE_OUTSIDE_PROJECT\",Ae[Ae.IMMUTABLE_INSTALL=55]=\"IMMUTABLE_INSTALL\",Ae[Ae.IMMUTABLE_CACHE=56]=\"IMMUTABLE_CACHE\",Ae[Ae.INVALID_MANIFEST=57]=\"INVALID_MANIFEST\",Ae[Ae.PACKAGE_PREPARATION_FAILED=58]=\"PACKAGE_PREPARATION_FAILED\",Ae[Ae.INVALID_RANGE_PEER_DEPENDENCY=59]=\"INVALID_RANGE_PEER_DEPENDENCY\",Ae[Ae.INCOMPATIBLE_PEER_DEPENDENCY=60]=\"INCOMPATIBLE_PEER_DEPENDENCY\",Ae[Ae.DEPRECATED_PACKAGE=61]=\"DEPRECATED_PACKAGE\",Ae[Ae.INCOMPATIBLE_OS=62]=\"INCOMPATIBLE_OS\",Ae[Ae.INCOMPATIBLE_CPU=63]=\"INCOMPATIBLE_CPU\",Ae[Ae.FROZEN_ARTIFACT_EXCEPTION=64]=\"FROZEN_ARTIFACT_EXCEPTION\",Ae[Ae.TELEMETRY_NOTICE=65]=\"TELEMETRY_NOTICE\",Ae[Ae.PATCH_HUNK_FAILED=66]=\"PATCH_HUNK_FAILED\",Ae[Ae.INVALID_CONFIGURATION_VALUE=67]=\"INVALID_CONFIGURATION_VALUE\",Ae[Ae.UNUSED_PACKAGE_EXTENSION=68]=\"UNUSED_PACKAGE_EXTENSION\",Ae[Ae.REDUNDANT_PACKAGE_EXTENSION=69]=\"REDUNDANT_PACKAGE_EXTENSION\",Ae[Ae.AUTO_NM_SUCCESS=70]=\"AUTO_NM_SUCCESS\",Ae[Ae.NM_CANT_INSTALL_EXTERNAL_SOFT_LINK=71]=\"NM_CANT_INSTALL_EXTERNAL_SOFT_LINK\",Ae[Ae.NM_PRESERVE_SYMLINKS_REQUIRED=72]=\"NM_PRESERVE_SYMLINKS_REQUIRED\",Ae[Ae.UPDATE_LOCKFILE_ONLY_SKIP_LINK=73]=\"UPDATE_LOCKFILE_ONLY_SKIP_LINK\",Ae[Ae.NM_HARDLINKS_MODE_DOWNGRADED=74]=\"NM_HARDLINKS_MODE_DOWNGRADED\",Ae[Ae.PROLOG_INSTANTIATION_ERROR=75]=\"PROLOG_INSTANTIATION_ERROR\",Ae[Ae.INCOMPATIBLE_ARCHITECTURE=76]=\"INCOMPATIBLE_ARCHITECTURE\",Ae[Ae.GHOST_ARCHITECTURE=77]=\"GHOST_ARCHITECTURE\",Ae[Ae.PROLOG_LIMIT_EXCEEDED=79]=\"PROLOG_LIMIT_EXCEEDED\"})(X||(X={}));function VA(r){return`YN${r.toString(10).padStart(4,\"0\")}`}function yI(r){let e=Number(r.slice(2));if(typeof X[e]==\"undefined\")throw new Error(`Unknown message name: \"${r}\"`);return e}var P={};ft(P,{areDescriptorsEqual:()=>z3,areIdentsEqual:()=>hd,areLocatorsEqual:()=>pd,areVirtualPackagesEquivalent:()=>cSe,bindDescriptor:()=>ASe,bindLocator:()=>lSe,convertDescriptorToLocator:()=>lw,convertLocatorToDescriptor:()=>Vk,convertPackageToLocator:()=>aSe,convertToIdent:()=>oSe,convertToManifestRange:()=>fSe,copyPackage:()=>ud,devirtualizeDescriptor:()=>gd,devirtualizeLocator:()=>fd,getIdentVendorPath:()=>tx,isPackageCompatible:()=>fw,isVirtualDescriptor:()=>ll,isVirtualLocator:()=>ta,makeDescriptor:()=>rr,makeIdent:()=>ea,makeLocator:()=>cn,makeRange:()=>uw,parseDescriptor:()=>cl,parseFileStyleRange:()=>uSe,parseIdent:()=>An,parseLocator:()=>qc,parseRange:()=>Jg,prettyDependent:()=>Tv,prettyDescriptor:()=>sr,prettyIdent:()=>fi,prettyLocator:()=>It,prettyLocatorNoColors:()=>ex,prettyRange:()=>Aw,prettyReference:()=>Cd,prettyResolution:()=>Ov,prettyWorkspace:()=>md,renamePackage:()=>cd,slugifyIdent:()=>$k,slugifyLocator:()=>Wg,sortDescriptors:()=>zg,stringifyDescriptor:()=>Pn,stringifyIdent:()=>Ot,stringifyLocator:()=>Fs,tryParseDescriptor:()=>dd,tryParseIdent:()=>_3,tryParseLocator:()=>cw,virtualizeDescriptor:()=>Xk,virtualizePackage:()=>Zk});var qg=ge(require(\"querystring\")),q3=ge(ri()),J3=ge(AY());var ae={};ft(ae,{LogLevel:()=>Co,Style:()=>Oc,Type:()=>Ye,addLogFilterSupport:()=>sd,applyColor:()=>Dn,applyHyperlink:()=>Ug,applyStyle:()=>Fy,json:()=>Mc,jsonOrPretty:()=>jBe,mark:()=>jv,pretty:()=>tt,prettyField:()=>Xo,prettyList:()=>Hv,supportsColor:()=>Dy,supportsHyperlinks:()=>Uv,tuple:()=>po});var id=ge(gv()),nd=ge(yc());var lJ=ge(ns()),cJ=ge(Vq());var Se={};ft(Se,{AsyncActions:()=>iJ,BufferStream:()=>rJ,CachingStrategy:()=>Tc,DefaultStream:()=>nJ,allSettledSafe:()=>ho,assertNever:()=>Dv,bufferStream:()=>Og,buildIgnorePattern:()=>MBe,convertMapsToIndexableObjects:()=>Py,dynamicRequire:()=>Mg,escapeRegExp:()=>FBe,getArrayWithDefault:()=>Ng,getFactoryWithDefault:()=>Va,getMapWithDefault:()=>Lg,getSetWithDefault:()=>Lc,isIndexableObject:()=>Rv,isPathLike:()=>UBe,isTaggedYarnVersion:()=>RBe,mapAndFilter:()=>Vo,mapAndFind:()=>ed,overrideType:()=>Pv,parseBoolean:()=>rd,parseOptionalBoolean:()=>AJ,prettifyAsyncErrors:()=>Tg,prettifySyncErrors:()=>Fv,releaseAfterUseAsync:()=>LBe,replaceEnvVariables:()=>Nv,sortMap:()=>xn,tryParseOptionalBoolean:()=>Lv,validateEnum:()=>NBe});var Xq=ge(ns()),Zq=ge(fg()),$q=ge(ri()),xv=ge(require(\"stream\"));function RBe(r){return!!($q.default.valid(r)&&r.match(/^[^-]+(-rc\\.[0-9]+)?$/))}function FBe(r){return r.replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\")}function Pv(r){}function Dv(r){throw new Error(`Assertion failed: Unexpected object '${r}'`)}function NBe(r,e){let t=Object.values(r);if(!t.includes(e))throw new Pe(`Invalid value for enumeration: ${JSON.stringify(e)} (expected one of ${t.map(i=>JSON.stringify(i)).join(\", \")})`);return e}function Vo(r,e){let t=[];for(let i of r){let n=e(i);n!==eJ&&t.push(n)}return t}var eJ=Symbol();Vo.skip=eJ;function ed(r,e){for(let t of r){let i=e(t);if(i!==tJ)return i}}var tJ=Symbol();ed.skip=tJ;function Rv(r){return typeof r==\"object\"&&r!==null}async function ho(r){let e=await Promise.allSettled(r),t=[];for(let i of e){if(i.status===\"rejected\")throw i.reason;t.push(i.value)}return t}function Py(r){if(r instanceof Map&&(r=Object.fromEntries(r)),Rv(r))for(let e of Object.keys(r)){let t=r[e];Rv(t)&&(r[e]=Py(t))}return r}function Va(r,e,t){let i=r.get(e);return typeof i==\"undefined\"&&r.set(e,i=t()),i}function Ng(r,e){let t=r.get(e);return typeof t==\"undefined\"&&r.set(e,t=[]),t}function Lc(r,e){let t=r.get(e);return typeof t==\"undefined\"&&r.set(e,t=new Set),t}function Lg(r,e){let t=r.get(e);return typeof t==\"undefined\"&&r.set(e,t=new Map),t}async function LBe(r,e){if(e==null)return await r();try{return await r()}finally{await e()}}async function Tg(r,e){try{return await r()}catch(t){throw t.message=e(t.message),t}}function Fv(r,e){try{return r()}catch(t){throw t.message=e(t.message),t}}async function Og(r){return await new Promise((e,t)=>{let i=[];r.on(\"error\",n=>{t(n)}),r.on(\"data\",n=>{i.push(n)}),r.on(\"end\",()=>{e(Buffer.concat(i))})})}var rJ=class extends xv.Transform{constructor(){super(...arguments);this.chunks=[]}_transform(e,t,i){if(t!==\"buffer\"||!Buffer.isBuffer(e))throw new Error(\"Assertion failed: BufferStream only accept buffers\");this.chunks.push(e),i(null,null)}_flush(e){e(null,Buffer.concat(this.chunks))}};function TBe(){let r,e;return{promise:new Promise((i,n)=>{r=i,e=n}),resolve:r,reject:e}}var iJ=class{constructor(e){this.deferred=new Map;this.promises=new Map;this.limit=(0,Zq.default)(e)}set(e,t){let i=this.deferred.get(e);typeof i==\"undefined\"&&this.deferred.set(e,i=TBe());let n=this.limit(()=>t());return this.promises.set(e,n),n.then(()=>{this.promises.get(e)===n&&i.resolve()},s=>{this.promises.get(e)===n&&i.reject(s)}),i.promise}reduce(e,t){var n;let i=(n=this.promises.get(e))!=null?n:Promise.resolve();this.set(e,()=>t(i))}async wait(){await Promise.all(this.promises.values())}},nJ=class extends xv.Transform{constructor(e=Buffer.alloc(0)){super();this.active=!0;this.ifEmpty=e}_transform(e,t,i){if(t!==\"buffer\"||!Buffer.isBuffer(e))throw new Error(\"Assertion failed: DefaultStream only accept buffers\");this.active=!1,i(null,e)}_flush(e){this.active&&this.ifEmpty.length>0?e(null,this.ifEmpty):e(null)}},td=eval(\"require\");function sJ(r){return td(H.fromPortablePath(r))}function oJ(path){let physicalPath=H.fromPortablePath(path),currentCacheEntry=td.cache[physicalPath];delete td.cache[physicalPath];let result;try{result=sJ(physicalPath);let freshCacheEntry=td.cache[physicalPath],dynamicModule=eval(\"module\"),freshCacheIndex=dynamicModule.children.indexOf(freshCacheEntry);freshCacheIndex!==-1&&dynamicModule.children.splice(freshCacheIndex,1)}finally{td.cache[physicalPath]=currentCacheEntry}return result}var aJ=new Map;function OBe(r){let e=aJ.get(r),t=U.statSync(r);if((e==null?void 0:e.mtime)===t.mtimeMs)return e.instance;let i=oJ(r);return aJ.set(r,{mtime:t.mtimeMs,instance:i}),i}var Tc;(function(i){i[i.NoCache=0]=\"NoCache\",i[i.FsTime=1]=\"FsTime\",i[i.Node=2]=\"Node\"})(Tc||(Tc={}));function Mg(r,{cachingStrategy:e=2}={}){switch(e){case 0:return oJ(r);case 1:return OBe(r);case 2:return sJ(r);default:throw new Error(\"Unsupported caching strategy\")}}function xn(r,e){let t=Array.from(r);Array.isArray(e)||(e=[e]);let i=[];for(let s of e)i.push(t.map(o=>s(o)));let n=t.map((s,o)=>o);return n.sort((s,o)=>{for(let a of i){let l=a[s]<a[o]?-1:a[s]>a[o]?1:0;if(l!==0)return l}return 0}),n.map(s=>t[s])}function MBe(r){return r.length===0?null:r.map(e=>`(${Xq.default.makeRe(e,{windows:!1,dot:!0}).source})`).join(\"|\")}function Nv(r,{env:e}){let t=/\\${(?<variableName>[\\d\\w_]+)(?<colon>:)?(?:-(?<fallback>[^}]*))?}/g;return r.replace(t,(...i)=>{let{variableName:n,colon:s,fallback:o}=i[i.length-1],a=Object.prototype.hasOwnProperty.call(e,n),l=e[n];if(l||a&&!s)return l;if(o!=null)return o;throw new Pe(`Environment variable not found (${n})`)})}function rd(r){switch(r){case\"true\":case\"1\":case 1:case!0:return!0;case\"false\":case\"0\":case 0:case!1:return!1;default:throw new Error(`Couldn't parse \"${r}\" as a boolean`)}}function AJ(r){return typeof r==\"undefined\"?r:rd(r)}function Lv(r){try{return AJ(r)}catch{return null}}function UBe(r){return!!(H.isAbsolute(r)||r.match(/^(\\.{1,2}|~)\\//))}var Qt;(function(t){t.HARD=\"HARD\",t.SOFT=\"SOFT\"})(Qt||(Qt={}));var wi;(function(i){i.Dependency=\"Dependency\",i.PeerDependency=\"PeerDependency\",i.PeerDependencyMeta=\"PeerDependencyMeta\"})(wi||(wi={}));var qi;(function(i){i.Inactive=\"inactive\",i.Redundant=\"redundant\",i.Active=\"active\"})(qi||(qi={}));var Ye={NO_HINT:\"NO_HINT\",NULL:\"NULL\",SCOPE:\"SCOPE\",NAME:\"NAME\",RANGE:\"RANGE\",REFERENCE:\"REFERENCE\",NUMBER:\"NUMBER\",PATH:\"PATH\",URL:\"URL\",ADDED:\"ADDED\",REMOVED:\"REMOVED\",CODE:\"CODE\",DURATION:\"DURATION\",SIZE:\"SIZE\",IDENT:\"IDENT\",DESCRIPTOR:\"DESCRIPTOR\",LOCATOR:\"LOCATOR\",RESOLUTION:\"RESOLUTION\",DEPENDENT:\"DEPENDENT\",PACKAGE_EXTENSION:\"PACKAGE_EXTENSION\",SETTING:\"SETTING\",MARKDOWN:\"MARKDOWN\"},Oc;(function(e){e[e.BOLD=2]=\"BOLD\"})(Oc||(Oc={}));var Mv=nd.default.GITHUB_ACTIONS?{level:2}:id.default.supportsColor?{level:id.default.supportsColor.level}:{level:0},Dy=Mv.level!==0,Uv=Dy&&!nd.default.GITHUB_ACTIONS&&!nd.default.CIRCLE&&!nd.default.GITLAB,Kv=new id.default.Instance(Mv),KBe=new Map([[Ye.NO_HINT,null],[Ye.NULL,[\"#a853b5\",129]],[Ye.SCOPE,[\"#d75f00\",166]],[Ye.NAME,[\"#d7875f\",173]],[Ye.RANGE,[\"#00afaf\",37]],[Ye.REFERENCE,[\"#87afff\",111]],[Ye.NUMBER,[\"#ffd700\",220]],[Ye.PATH,[\"#d75fd7\",170]],[Ye.URL,[\"#d75fd7\",170]],[Ye.ADDED,[\"#5faf00\",70]],[Ye.REMOVED,[\"#d70000\",160]],[Ye.CODE,[\"#87afff\",111]],[Ye.SIZE,[\"#ffd700\",220]]]),Ns=r=>r,Ry={[Ye.NUMBER]:Ns({pretty:(r,e)=>Dn(r,`${e}`,Ye.NUMBER),json:r=>r}),[Ye.IDENT]:Ns({pretty:(r,e)=>fi(r,e),json:r=>Ot(r)}),[Ye.LOCATOR]:Ns({pretty:(r,e)=>It(r,e),json:r=>Fs(r)}),[Ye.DESCRIPTOR]:Ns({pretty:(r,e)=>sr(r,e),json:r=>Pn(r)}),[Ye.RESOLUTION]:Ns({pretty:(r,{descriptor:e,locator:t})=>Ov(r,e,t),json:({descriptor:r,locator:e})=>({descriptor:Pn(r),locator:e!==null?Fs(e):null})}),[Ye.DEPENDENT]:Ns({pretty:(r,{locator:e,descriptor:t})=>Tv(r,e,t),json:({locator:r,descriptor:e})=>({locator:Fs(r),descriptor:Pn(e)})}),[Ye.PACKAGE_EXTENSION]:Ns({pretty:(r,e)=>{switch(e.type){case wi.Dependency:return`${fi(r,e.parentDescriptor)} \\u27A4 ${Dn(r,\"dependencies\",Ye.CODE)} \\u27A4 ${fi(r,e.descriptor)}`;case wi.PeerDependency:return`${fi(r,e.parentDescriptor)} \\u27A4 ${Dn(r,\"peerDependencies\",Ye.CODE)} \\u27A4 ${fi(r,e.descriptor)}`;case wi.PeerDependencyMeta:return`${fi(r,e.parentDescriptor)} \\u27A4 ${Dn(r,\"peerDependenciesMeta\",Ye.CODE)} \\u27A4 ${fi(r,An(e.selector))} \\u27A4 ${Dn(r,e.key,Ye.CODE)}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${e.type}`)}},json:r=>{switch(r.type){case wi.Dependency:return`${Ot(r.parentDescriptor)} > ${Ot(r.descriptor)}`;case wi.PeerDependency:return`${Ot(r.parentDescriptor)} >> ${Ot(r.descriptor)}`;case wi.PeerDependencyMeta:return`${Ot(r.parentDescriptor)} >> ${r.selector} / ${r.key}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${r.type}`)}}}),[Ye.SETTING]:Ns({pretty:(r,e)=>(r.get(e),Ug(r,Dn(r,e,Ye.CODE),`https://yarnpkg.com/configuration/yarnrc#${e}`)),json:r=>r}),[Ye.DURATION]:Ns({pretty:(r,e)=>{if(e>1e3*60){let t=Math.floor(e/1e3/60),i=Math.ceil((e-t*60*1e3)/1e3);return i===0?`${t}m`:`${t}m ${i}s`}else{let t=Math.floor(e/1e3),i=e-t*1e3;return i===0?`${t}s`:`${t}s ${i}ms`}},json:r=>r}),[Ye.SIZE]:Ns({pretty:(r,e)=>{let t=[\"KB\",\"MB\",\"GB\",\"TB\"],i=t.length;for(;i>1&&e<1024**i;)i-=1;let n=1024**i,s=Math.floor(e*100/n)/100;return Dn(r,`${s} ${t[i-1]}`,Ye.NUMBER)},json:r=>r}),[Ye.PATH]:Ns({pretty:(r,e)=>Dn(r,H.fromPortablePath(e),Ye.PATH),json:r=>H.fromPortablePath(r)}),[Ye.MARKDOWN]:Ns({pretty:(r,{text:e,format:t,paragraphs:i})=>Ki(e,{format:t,paragraphs:i}),json:({text:r})=>r})};function po(r,e){return[e,r]}function Fy(r,e,t){return r.get(\"enableColors\")&&t&2&&(e=id.default.bold(e)),e}function Dn(r,e,t){if(!r.get(\"enableColors\"))return e;let i=KBe.get(t);if(i===null)return e;let n=typeof i==\"undefined\"?t:Mv.level>=3?i[0]:i[1],s=typeof n==\"number\"?Kv.ansi256(n):n.startsWith(\"#\")?Kv.hex(n):Kv[n];if(typeof s!=\"function\")throw new Error(`Invalid format type ${n}`);return s(e)}var HBe=!!process.env.KONSOLE_VERSION;function Ug(r,e,t){return r.get(\"enableHyperlinks\")?HBe?`\u001b]8;;${t}\u001b\\\\${e}\u001b]8;;\u001b\\\\`:`\u001b]8;;${t}\\x07${e}\u001b]8;;\\x07`:e}function tt(r,e,t){if(e===null)return Dn(r,\"null\",Ye.NULL);if(Object.prototype.hasOwnProperty.call(Ry,t))return Ry[t].pretty(r,e);if(typeof e!=\"string\")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof e}`);return Dn(r,e,t)}function Hv(r,e,t,{separator:i=\", \"}={}){return[...e].map(n=>tt(r,n,t)).join(i)}function Mc(r,e){if(r===null)return null;if(Object.prototype.hasOwnProperty.call(Ry,e))return Pv(e),Ry[e].json(r);if(typeof r!=\"string\")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof r}`);return r}function jBe(r,e,[t,i]){return r?Mc(t,i):tt(e,t,i)}function jv(r){return{Check:Dn(r,\"\\u2713\",\"green\"),Cross:Dn(r,\"\\u2718\",\"red\"),Question:Dn(r,\"?\",\"cyan\")}}function Xo(r,{label:e,value:[t,i]}){return`${tt(r,e,Ye.CODE)}: ${tt(r,t,i)}`}var Co;(function(n){n.Error=\"error\",n.Warning=\"warning\",n.Info=\"info\",n.Discard=\"discard\"})(Co||(Co={}));function sd(r,{configuration:e}){let t=e.get(\"logFilters\"),i=new Map,n=new Map,s=[];for(let g of t){let f=g.get(\"level\");if(typeof f==\"undefined\")continue;let h=g.get(\"code\");typeof h!=\"undefined\"&&i.set(h,f);let p=g.get(\"text\");typeof p!=\"undefined\"&&n.set(p,f);let m=g.get(\"pattern\");typeof m!=\"undefined\"&&s.push([lJ.default.matcher(m,{contains:!0}),f])}s.reverse();let o=(g,f,h)=>{if(g===null||g===X.UNNAMED)return h;let p=n.size>0||s.length>0?(0,cJ.default)(f):f;if(n.size>0){let m=n.get(p);if(typeof m!=\"undefined\")return m!=null?m:h}if(s.length>0){for(let[m,y]of s)if(m(p))return y!=null?y:h}if(i.size>0){let m=i.get(VA(g));if(typeof m!=\"undefined\")return m!=null?m:h}return h},a=r.reportInfo,l=r.reportWarning,c=r.reportError,u=function(g,f,h,p){switch(o(f,h,p)){case Co.Info:a.call(g,f,h);break;case Co.Warning:l.call(g,f!=null?f:X.UNNAMED,h);break;case Co.Error:c.call(g,f!=null?f:X.UNNAMED,h);break}};r.reportInfo=function(...g){return u(this,...g,Co.Info)},r.reportWarning=function(...g){return u(this,...g,Co.Warning)},r.reportError=function(...g){return u(this,...g,Co.Error)}}var Rn={};ft(Rn,{checksumFile:()=>ow,checksumPattern:()=>aw,makeHash:()=>ln});var sw=ge(require(\"crypto\")),_k=ge(zk());function ln(...r){let e=(0,sw.createHash)(\"sha512\"),t=\"\";for(let i of r)typeof i==\"string\"?t+=i:i&&(t&&(e.update(t),t=\"\"),e.update(i));return t&&e.update(t),e.digest(\"hex\")}async function ow(r,{baseFs:e,algorithm:t}={baseFs:U,algorithm:\"sha512\"}){let i=await e.openPromise(r,\"r\");try{let n=65536,s=Buffer.allocUnsafeSlow(n),o=(0,sw.createHash)(t),a=0;for(;(a=await e.readPromise(i,s,0,n))!==0;)o.update(a===n?s:s.slice(0,a));return o.digest(\"hex\")}finally{await e.closePromise(i)}}async function aw(r,{cwd:e}){let i=(await(0,_k.default)(r,{cwd:H.fromPortablePath(e),expandDirectories:!1,onlyDirectories:!0,unique:!0})).map(a=>`${a}/**/*`),n=await(0,_k.default)([r,...i],{cwd:H.fromPortablePath(e),expandDirectories:!1,onlyFiles:!1,unique:!0});n.sort();let s=await Promise.all(n.map(async a=>{let l=[Buffer.from(a)],c=H.toPortablePath(a),u=await U.lstatPromise(c);return u.isSymbolicLink()?l.push(Buffer.from(await U.readlinkPromise(c))):u.isFile()&&l.push(await U.readFilePromise(c)),l.join(\"\\0\")})),o=(0,sw.createHash)(\"sha512\");for(let a of s)o.update(a);return o.digest(\"hex\")}var ld=\"virtual:\",nSe=5,W3=/(os|cpu|libc)=([a-z0-9_-]+)/,sSe=(0,J3.makeParser)(W3);function ea(r,e){if(r==null?void 0:r.startsWith(\"@\"))throw new Error(\"Invalid scope: don't prefix it with '@'\");return{identHash:ln(r,e),scope:r,name:e}}function rr(r,e){return{identHash:r.identHash,scope:r.scope,name:r.name,descriptorHash:ln(r.identHash,e),range:e}}function cn(r,e){return{identHash:r.identHash,scope:r.scope,name:r.name,locatorHash:ln(r.identHash,e),reference:e}}function oSe(r){return{identHash:r.identHash,scope:r.scope,name:r.name}}function lw(r){return{identHash:r.identHash,scope:r.scope,name:r.name,locatorHash:r.descriptorHash,reference:r.range}}function Vk(r){return{identHash:r.identHash,scope:r.scope,name:r.name,descriptorHash:r.locatorHash,range:r.reference}}function aSe(r){return{identHash:r.identHash,scope:r.scope,name:r.name,locatorHash:r.locatorHash,reference:r.reference}}function cd(r,e){return{identHash:e.identHash,scope:e.scope,name:e.name,locatorHash:e.locatorHash,reference:e.reference,version:r.version,languageName:r.languageName,linkType:r.linkType,conditions:r.conditions,dependencies:new Map(r.dependencies),peerDependencies:new Map(r.peerDependencies),dependenciesMeta:new Map(r.dependenciesMeta),peerDependenciesMeta:new Map(r.peerDependenciesMeta),bin:new Map(r.bin)}}function ud(r){return cd(r,r)}function Xk(r,e){if(e.includes(\"#\"))throw new Error(\"Invalid entropy\");return rr(r,`virtual:${e}#${r.range}`)}function Zk(r,e){if(e.includes(\"#\"))throw new Error(\"Invalid entropy\");return cd(r,cn(r,`virtual:${e}#${r.reference}`))}function ll(r){return r.range.startsWith(ld)}function ta(r){return r.reference.startsWith(ld)}function gd(r){if(!ll(r))throw new Error(\"Not a virtual descriptor\");return rr(r,r.range.replace(/^[^#]*#/,\"\"))}function fd(r){if(!ta(r))throw new Error(\"Not a virtual descriptor\");return cn(r,r.reference.replace(/^[^#]*#/,\"\"))}function ASe(r,e){return r.range.includes(\"::\")?r:rr(r,`${r.range}::${qg.default.stringify(e)}`)}function lSe(r,e){return r.reference.includes(\"::\")?r:cn(r,`${r.reference}::${qg.default.stringify(e)}`)}function hd(r,e){return r.identHash===e.identHash}function z3(r,e){return r.descriptorHash===e.descriptorHash}function pd(r,e){return r.locatorHash===e.locatorHash}function cSe(r,e){if(!ta(r))throw new Error(\"Invalid package type\");if(!ta(e))throw new Error(\"Invalid package type\");if(!hd(r,e)||r.dependencies.size!==e.dependencies.size)return!1;for(let t of r.dependencies.values()){let i=e.dependencies.get(t.identHash);if(!i||!z3(t,i))return!1}return!0}function An(r){let e=_3(r);if(!e)throw new Error(`Invalid ident (${r})`);return e}function _3(r){let e=r.match(/^(?:@([^/]+?)\\/)?([^/]+)$/);if(!e)return null;let[,t,i]=e,n=typeof t!=\"undefined\"?t:null;return ea(n,i)}function cl(r,e=!1){let t=dd(r,e);if(!t)throw new Error(`Invalid descriptor (${r})`);return t}function dd(r,e=!1){let t=e?r.match(/^(?:@([^/]+?)\\/)?([^/]+?)(?:@(.+))$/):r.match(/^(?:@([^/]+?)\\/)?([^/]+?)(?:@(.+))?$/);if(!t)return null;let[,i,n,s]=t;if(s===\"unknown\")throw new Error(`Invalid range (${r})`);let o=typeof i!=\"undefined\"?i:null,a=typeof s!=\"undefined\"?s:\"unknown\";return rr(ea(o,n),a)}function qc(r,e=!1){let t=cw(r,e);if(!t)throw new Error(`Invalid locator (${r})`);return t}function cw(r,e=!1){let t=e?r.match(/^(?:@([^/]+?)\\/)?([^/]+?)(?:@(.+))$/):r.match(/^(?:@([^/]+?)\\/)?([^/]+?)(?:@(.+))?$/);if(!t)return null;let[,i,n,s]=t;if(s===\"unknown\")throw new Error(`Invalid reference (${r})`);let o=typeof i!=\"undefined\"?i:null,a=typeof s!=\"undefined\"?s:\"unknown\";return cn(ea(o,n),a)}function Jg(r,e){let t=r.match(/^([^#:]*:)?((?:(?!::)[^#])*)(?:#((?:(?!::).)*))?(?:::(.*))?$/);if(t===null)throw new Error(`Invalid range (${r})`);let i=typeof t[1]!=\"undefined\"?t[1]:null;if(typeof(e==null?void 0:e.requireProtocol)==\"string\"&&i!==e.requireProtocol)throw new Error(`Invalid protocol (${i})`);if((e==null?void 0:e.requireProtocol)&&i===null)throw new Error(`Missing protocol (${i})`);let n=typeof t[3]!=\"undefined\"?decodeURIComponent(t[2]):null;if((e==null?void 0:e.requireSource)&&n===null)throw new Error(`Missing source (${r})`);let s=typeof t[3]!=\"undefined\"?decodeURIComponent(t[3]):decodeURIComponent(t[2]),o=(e==null?void 0:e.parseSelector)?qg.default.parse(s):s,a=typeof t[4]!=\"undefined\"?qg.default.parse(t[4]):null;return{protocol:i,source:n,selector:o,params:a}}function uSe(r,{protocol:e}){let{selector:t,params:i}=Jg(r,{requireProtocol:e,requireBindings:!0});if(typeof i.locator!=\"string\")throw new Error(`Assertion failed: Invalid bindings for ${r}`);return{parentLocator:qc(i.locator,!0),path:t}}function V3(r){return r=r.replace(/%/g,\"%25\"),r=r.replace(/:/g,\"%3A\"),r=r.replace(/#/g,\"%23\"),r}function gSe(r){return r===null?!1:Object.entries(r).length>0}function uw({protocol:r,source:e,selector:t,params:i}){let n=\"\";return r!==null&&(n+=`${r}`),e!==null&&(n+=`${V3(e)}#`),n+=V3(t),gSe(i)&&(n+=`::${qg.default.stringify(i)}`),n}function fSe(r){let{params:e,protocol:t,source:i,selector:n}=Jg(r);for(let s in e)s.startsWith(\"__\")&&delete e[s];return uw({protocol:t,source:i,params:e,selector:n})}function Ot(r){return r.scope?`@${r.scope}/${r.name}`:`${r.name}`}function Pn(r){return r.scope?`@${r.scope}/${r.name}@${r.range}`:`${r.name}@${r.range}`}function Fs(r){return r.scope?`@${r.scope}/${r.name}@${r.reference}`:`${r.name}@${r.reference}`}function $k(r){return r.scope!==null?`@${r.scope}-${r.name}`:r.name}function Wg(r){let{protocol:e,selector:t}=Jg(r.reference),i=e!==null?e.replace(/:$/,\"\"):\"exotic\",n=q3.default.valid(t),s=n!==null?`${i}-${n}`:`${i}`,o=10,a=r.scope?`${$k(r)}-${s}-${r.locatorHash.slice(0,o)}`:`${$k(r)}-${s}-${r.locatorHash.slice(0,o)}`;return Jr(a)}function fi(r,e){return e.scope?`${tt(r,`@${e.scope}/`,Ye.SCOPE)}${tt(r,e.name,Ye.NAME)}`:`${tt(r,e.name,Ye.NAME)}`}function gw(r){if(r.startsWith(ld)){let e=gw(r.substring(r.indexOf(\"#\")+1)),t=r.substring(ld.length,ld.length+nSe);return`${e} [${t}]`}else return r.replace(/\\?.*/,\"?[...]\")}function Aw(r,e){return`${tt(r,gw(e),Ye.RANGE)}`}function sr(r,e){return`${fi(r,e)}${tt(r,\"@\",Ye.RANGE)}${Aw(r,e.range)}`}function Cd(r,e){return`${tt(r,gw(e),Ye.REFERENCE)}`}function It(r,e){return`${fi(r,e)}${tt(r,\"@\",Ye.REFERENCE)}${Cd(r,e.reference)}`}function ex(r){return`${Ot(r)}@${gw(r.reference)}`}function zg(r){return xn(r,[e=>Ot(e),e=>e.range])}function md(r,e){return fi(r,e.locator)}function Ov(r,e,t){let i=ll(e)?gd(e):e;return t===null?`${sr(r,i)} \\u2192 ${jv(r).Cross}`:i.identHash===t.identHash?`${sr(r,i)} \\u2192 ${Cd(r,t.reference)}`:`${sr(r,i)} \\u2192 ${It(r,t)}`}function Tv(r,e,t){return t===null?`${It(r,e)}`:`${It(r,e)} (via ${Aw(r,t.range)})`}function tx(r){return`node_modules/${Ot(r)}`}function fw(r,e){return r.conditions?sSe(r.conditions,t=>{let[,i,n]=t.match(W3),s=e[i];return s?s.includes(n):!0}):!0}var X3={hooks:{reduceDependency:(r,e,t,i,{resolver:n,resolveOptions:s})=>{for(let{pattern:o,reference:a}of e.topLevelWorkspace.manifest.resolutions){if(o.from&&o.from.fullName!==Ot(t)||o.from&&o.from.description&&o.from.description!==t.reference||o.descriptor.fullName!==Ot(r)||o.descriptor.description&&o.descriptor.description!==r.range)continue;return n.bindDescriptor(rr(r,a),e.topLevelWorkspace.anchoredLocator,s)}return r},validateProject:async(r,e)=>{for(let t of r.workspaces){let i=md(r.configuration,t);await r.configuration.triggerHook(n=>n.validateWorkspace,t,{reportWarning:(n,s)=>e.reportWarning(n,`${i}: ${s}`),reportError:(n,s)=>e.reportError(n,`${i}: ${s}`)})}},validateWorkspace:async(r,e)=>{let{manifest:t}=r;t.resolutions.length&&r.cwd!==r.project.cwd&&t.errors.push(new Error(\"Resolutions field will be ignored\"));for(let i of t.errors)e.reportWarning(X.INVALID_MANIFEST,i.message)}}};var t4=ge(ri());var Ed=class{supportsDescriptor(e,t){return!!(e.range.startsWith(Ed.protocol)||t.project.tryWorkspaceByDescriptor(e)!==null)}supportsLocator(e,t){return!!e.reference.startsWith(Ed.protocol)}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){return[i.project.getWorkspaceByDescriptor(e).anchoredLocator]}async getSatisfying(e,t,i){return null}async resolve(e,t){let i=t.project.getWorkspaceByCwd(e.reference.slice(Ed.protocol.length));return te(N({},e),{version:i.manifest.version||\"0.0.0\",languageName:\"unknown\",linkType:Qt.SOFT,conditions:null,dependencies:new Map([...i.manifest.dependencies,...i.manifest.devDependencies]),peerDependencies:new Map([...i.manifest.peerDependencies]),dependenciesMeta:i.manifest.dependenciesMeta,peerDependenciesMeta:i.manifest.peerDependenciesMeta,bin:i.manifest.bin})}},oi=Ed;oi.protocol=\"workspace:\";var Wt={};ft(Wt,{SemVer:()=>Z3.SemVer,clean:()=>pSe,satisfiesWithPrereleases:()=>Jc,validRange:()=>mo});var hw=ge(ri()),Z3=ge(ri()),$3=new Map;function Jc(r,e,t=!1){if(!r)return!1;let i=`${e}${t}`,n=$3.get(i);if(typeof n==\"undefined\")try{n=new hw.default.Range(e,{includePrerelease:!0,loose:t})}catch{return!1}finally{$3.set(i,n||null)}else if(n===null)return!1;let s;try{s=new hw.default.SemVer(r,n)}catch(o){return!1}return n.test(s)?!0:(s.prerelease&&(s.prerelease=[]),n.set.some(o=>{for(let a of o)a.semver.prerelease&&(a.semver.prerelease=[]);return o.every(a=>a.test(s))}))}var e4=new Map;function mo(r){if(r.indexOf(\":\")!==-1)return null;let e=e4.get(r);if(typeof e!=\"undefined\")return e;try{e=new hw.default.Range(r)}catch{e=null}return e4.set(r,e),e}var hSe=/^(?:[\\sv=]*?)((0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?)(?:\\s*)$/;function pSe(r){let e=hSe.exec(r);return e?e[1]:null}var ul=class{constructor(){this.indent=\"  \";this.name=null;this.version=null;this.os=null;this.cpu=null;this.libc=null;this.type=null;this.packageManager=null;this.private=!1;this.license=null;this.main=null;this.module=null;this.browser=null;this.languageName=null;this.bin=new Map;this.scripts=new Map;this.dependencies=new Map;this.devDependencies=new Map;this.peerDependencies=new Map;this.workspaceDefinitions=[];this.dependenciesMeta=new Map;this.peerDependenciesMeta=new Map;this.resolutions=[];this.files=null;this.publishConfig=null;this.installConfig=null;this.preferUnplugged=null;this.raw={};this.errors=[]}static async tryFind(e,{baseFs:t=new ar}={}){let i=x.join(e,\"package.json\");try{return await ul.fromFile(i,{baseFs:t})}catch(n){if(n.code===\"ENOENT\")return null;throw n}}static async find(e,{baseFs:t}={}){let i=await ul.tryFind(e,{baseFs:t});if(i===null)throw new Error(\"Manifest not found\");return i}static async fromFile(e,{baseFs:t=new ar}={}){let i=new ul;return await i.loadFile(e,{baseFs:t}),i}static fromText(e){let t=new ul;return t.loadFromText(e),t}static isManifestFieldCompatible(e,t){if(e===null)return!0;let i=!0,n=!1;for(let s of e)if(s[0]===\"!\"){if(n=!0,t===s.slice(1))return!1}else if(i=!1,s===t)return!0;return n&&i}loadFromText(e){let t;try{t=JSON.parse(i4(e)||\"{}\")}catch(i){throw i.message+=` (when parsing ${e})`,i}this.load(t),this.indent=r4(e)}async loadFile(e,{baseFs:t=new ar}){let i=await t.readFilePromise(e,\"utf8\"),n;try{n=JSON.parse(i4(i)||\"{}\")}catch(s){throw s.message+=` (when parsing ${e})`,s}this.load(n),this.indent=r4(i)}load(e,{yamlCompatibilityMode:t=!1}={}){if(typeof e!=\"object\"||e===null)throw new Error(`Utterly invalid manifest data (${e})`);this.raw=e;let i=[];if(this.name=null,typeof e.name==\"string\")try{this.name=An(e.name)}catch(s){i.push(new Error(\"Parsing failed for the 'name' field\"))}if(typeof e.version==\"string\"?this.version=e.version:this.version=null,Array.isArray(e.os)){let s=[];this.os=s;for(let o of e.os)typeof o!=\"string\"?i.push(new Error(\"Parsing failed for the 'os' field\")):s.push(o)}else this.os=null;if(Array.isArray(e.cpu)){let s=[];this.cpu=s;for(let o of e.cpu)typeof o!=\"string\"?i.push(new Error(\"Parsing failed for the 'cpu' field\")):s.push(o)}else this.cpu=null;if(Array.isArray(e.libc)){let s=[];this.libc=s;for(let o of e.libc)typeof o!=\"string\"?i.push(new Error(\"Parsing failed for the 'libc' field\")):s.push(o)}else this.libc=null;if(typeof e.type==\"string\"?this.type=e.type:this.type=null,typeof e.packageManager==\"string\"?this.packageManager=e.packageManager:this.packageManager=null,typeof e.private==\"boolean\"?this.private=e.private:this.private=!1,typeof e.license==\"string\"?this.license=e.license:this.license=null,typeof e.languageName==\"string\"?this.languageName=e.languageName:this.languageName=null,typeof e.main==\"string\"?this.main=un(e.main):this.main=null,typeof e.module==\"string\"?this.module=un(e.module):this.module=null,e.browser!=null)if(typeof e.browser==\"string\")this.browser=un(e.browser);else{this.browser=new Map;for(let[s,o]of Object.entries(e.browser))this.browser.set(un(s),typeof o==\"string\"?un(o):o)}else this.browser=null;if(this.bin=new Map,typeof e.bin==\"string\")this.name!==null?this.bin.set(this.name.name,un(e.bin)):i.push(new Error(\"String bin field, but no attached package name\"));else if(typeof e.bin==\"object\"&&e.bin!==null)for(let[s,o]of Object.entries(e.bin)){if(typeof o!=\"string\"){i.push(new Error(`Invalid bin definition for '${s}'`));continue}let a=An(s);this.bin.set(a.name,un(o))}if(this.scripts=new Map,typeof e.scripts==\"object\"&&e.scripts!==null)for(let[s,o]of Object.entries(e.scripts)){if(typeof o!=\"string\"){i.push(new Error(`Invalid script definition for '${s}'`));continue}this.scripts.set(s,o)}if(this.dependencies=new Map,typeof e.dependencies==\"object\"&&e.dependencies!==null)for(let[s,o]of Object.entries(e.dependencies)){if(typeof o!=\"string\"){i.push(new Error(`Invalid dependency range for '${s}'`));continue}let a;try{a=An(s)}catch(c){i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=rr(a,o);this.dependencies.set(l.identHash,l)}if(this.devDependencies=new Map,typeof e.devDependencies==\"object\"&&e.devDependencies!==null)for(let[s,o]of Object.entries(e.devDependencies)){if(typeof o!=\"string\"){i.push(new Error(`Invalid dependency range for '${s}'`));continue}let a;try{a=An(s)}catch(c){i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=rr(a,o);this.devDependencies.set(l.identHash,l)}if(this.peerDependencies=new Map,typeof e.peerDependencies==\"object\"&&e.peerDependencies!==null)for(let[s,o]of Object.entries(e.peerDependencies)){let a;try{a=An(s)}catch(c){i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}(typeof o!=\"string\"||!o.startsWith(oi.protocol)&&!mo(o))&&(i.push(new Error(`Invalid dependency range for '${s}'`)),o=\"*\");let l=rr(a,o);this.peerDependencies.set(l.identHash,l)}typeof e.workspaces==\"object\"&&e.workspaces!==null&&e.workspaces.nohoist&&i.push(new Error(\"'nohoist' is deprecated, please use 'installConfig.hoistingLimits' instead\"));let n=Array.isArray(e.workspaces)?e.workspaces:typeof e.workspaces==\"object\"&&e.workspaces!==null&&Array.isArray(e.workspaces.packages)?e.workspaces.packages:[];this.workspaceDefinitions=[];for(let s of n){if(typeof s!=\"string\"){i.push(new Error(`Invalid workspace definition for '${s}'`));continue}this.workspaceDefinitions.push({pattern:s})}if(this.dependenciesMeta=new Map,typeof e.dependenciesMeta==\"object\"&&e.dependenciesMeta!==null)for(let[s,o]of Object.entries(e.dependenciesMeta)){if(typeof o!=\"object\"||o===null){i.push(new Error(`Invalid meta field for '${s}`));continue}let a=cl(s),l=this.ensureDependencyMeta(a),c=pw(o.built,{yamlCompatibilityMode:t});if(c===null){i.push(new Error(`Invalid built meta field for '${s}'`));continue}let u=pw(o.optional,{yamlCompatibilityMode:t});if(u===null){i.push(new Error(`Invalid optional meta field for '${s}'`));continue}let g=pw(o.unplugged,{yamlCompatibilityMode:t});if(g===null){i.push(new Error(`Invalid unplugged meta field for '${s}'`));continue}Object.assign(l,{built:c,optional:u,unplugged:g})}if(this.peerDependenciesMeta=new Map,typeof e.peerDependenciesMeta==\"object\"&&e.peerDependenciesMeta!==null)for(let[s,o]of Object.entries(e.peerDependenciesMeta)){if(typeof o!=\"object\"||o===null){i.push(new Error(`Invalid meta field for '${s}'`));continue}let a=cl(s),l=this.ensurePeerDependencyMeta(a),c=pw(o.optional,{yamlCompatibilityMode:t});if(c===null){i.push(new Error(`Invalid optional meta field for '${s}'`));continue}Object.assign(l,{optional:c})}if(this.resolutions=[],typeof e.resolutions==\"object\"&&e.resolutions!==null)for(let[s,o]of Object.entries(e.resolutions)){if(typeof o!=\"string\"){i.push(new Error(`Invalid resolution entry for '${s}'`));continue}try{this.resolutions.push({pattern:eI(s),reference:o})}catch(a){i.push(a);continue}}if(Array.isArray(e.files)){this.files=new Set;for(let s of e.files){if(typeof s!=\"string\"){i.push(new Error(`Invalid files entry for '${s}'`));continue}this.files.add(s)}}else this.files=null;if(typeof e.publishConfig==\"object\"&&e.publishConfig!==null){if(this.publishConfig={},typeof e.publishConfig.access==\"string\"&&(this.publishConfig.access=e.publishConfig.access),typeof e.publishConfig.main==\"string\"&&(this.publishConfig.main=un(e.publishConfig.main)),typeof e.publishConfig.module==\"string\"&&(this.publishConfig.module=un(e.publishConfig.module)),e.publishConfig.browser!=null)if(typeof e.publishConfig.browser==\"string\")this.publishConfig.browser=un(e.publishConfig.browser);else{this.publishConfig.browser=new Map;for(let[s,o]of Object.entries(e.publishConfig.browser))this.publishConfig.browser.set(un(s),typeof o==\"string\"?un(o):o)}if(typeof e.publishConfig.registry==\"string\"&&(this.publishConfig.registry=e.publishConfig.registry),typeof e.publishConfig.bin==\"string\")this.name!==null?this.publishConfig.bin=new Map([[this.name.name,un(e.publishConfig.bin)]]):i.push(new Error(\"String bin field, but no attached package name\"));else if(typeof e.publishConfig.bin==\"object\"&&e.publishConfig.bin!==null){this.publishConfig.bin=new Map;for(let[s,o]of Object.entries(e.publishConfig.bin)){if(typeof o!=\"string\"){i.push(new Error(`Invalid bin definition for '${s}'`));continue}this.publishConfig.bin.set(s,un(o))}}if(Array.isArray(e.publishConfig.executableFiles)){this.publishConfig.executableFiles=new Set;for(let s of e.publishConfig.executableFiles){if(typeof s!=\"string\"){i.push(new Error(\"Invalid executable file definition\"));continue}this.publishConfig.executableFiles.add(un(s))}}}else this.publishConfig=null;if(typeof e.installConfig==\"object\"&&e.installConfig!==null){this.installConfig={};for(let s of Object.keys(e.installConfig))s===\"hoistingLimits\"?typeof e.installConfig.hoistingLimits==\"string\"?this.installConfig.hoistingLimits=e.installConfig.hoistingLimits:i.push(new Error(\"Invalid hoisting limits definition\")):s==\"selfReferences\"?typeof e.installConfig.selfReferences==\"boolean\"?this.installConfig.selfReferences=e.installConfig.selfReferences:i.push(new Error(\"Invalid selfReferences definition, must be a boolean value\")):i.push(new Error(`Unrecognized installConfig key: ${s}`))}else this.installConfig=null;if(typeof e.optionalDependencies==\"object\"&&e.optionalDependencies!==null)for(let[s,o]of Object.entries(e.optionalDependencies)){if(typeof o!=\"string\"){i.push(new Error(`Invalid dependency range for '${s}'`));continue}let a;try{a=An(s)}catch(g){i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=rr(a,o);this.dependencies.set(l.identHash,l);let c=rr(a,\"unknown\"),u=this.ensureDependencyMeta(c);Object.assign(u,{optional:!0})}typeof e.preferUnplugged==\"boolean\"?this.preferUnplugged=e.preferUnplugged:this.preferUnplugged=null,this.errors=i}getForScope(e){switch(e){case\"dependencies\":return this.dependencies;case\"devDependencies\":return this.devDependencies;case\"peerDependencies\":return this.peerDependencies;default:throw new Error(`Unsupported value (\"${e}\")`)}}hasConsumerDependency(e){return!!(this.dependencies.has(e.identHash)||this.peerDependencies.has(e.identHash))}hasHardDependency(e){return!!(this.dependencies.has(e.identHash)||this.devDependencies.has(e.identHash))}hasSoftDependency(e){return!!this.peerDependencies.has(e.identHash)}hasDependency(e){return!!(this.hasHardDependency(e)||this.hasSoftDependency(e))}getConditions(){let e=[];return this.os&&this.os.length>0&&e.push(rx(\"os\",this.os)),this.cpu&&this.cpu.length>0&&e.push(rx(\"cpu\",this.cpu)),this.libc&&this.libc.length>0&&e.push(rx(\"libc\",this.libc)),e.length>0?e.join(\" & \"):null}isCompatibleWithOS(e){return ul.isManifestFieldCompatible(this.os,e)}isCompatibleWithCPU(e){return ul.isManifestFieldCompatible(this.cpu,e)}ensureDependencyMeta(e){if(e.range!==\"unknown\"&&!t4.default.valid(e.range))throw new Error(`Invalid meta field range for '${Pn(e)}'`);let t=Ot(e),i=e.range!==\"unknown\"?e.range:null,n=this.dependenciesMeta.get(t);n||this.dependenciesMeta.set(t,n=new Map);let s=n.get(i);return s||n.set(i,s={}),s}ensurePeerDependencyMeta(e){if(e.range!==\"unknown\")throw new Error(`Invalid meta field range for '${Pn(e)}'`);let t=Ot(e),i=this.peerDependenciesMeta.get(t);return i||this.peerDependenciesMeta.set(t,i={}),i}setRawField(e,t,{after:i=[]}={}){let n=new Set(i.filter(s=>Object.prototype.hasOwnProperty.call(this.raw,s)));if(n.size===0||Object.prototype.hasOwnProperty.call(this.raw,e))this.raw[e]=t;else{let s=this.raw,o=this.raw={},a=!1;for(let l of Object.keys(s))o[l]=s[l],a||(n.delete(l),n.size===0&&(o[e]=t,a=!0))}}exportTo(e,{compatibilityMode:t=!0}={}){var s;if(Object.assign(e,this.raw),this.name!==null?e.name=Ot(this.name):delete e.name,this.version!==null?e.version=this.version:delete e.version,this.os!==null?e.os=this.os:delete e.os,this.cpu!==null?e.cpu=this.cpu:delete e.cpu,this.type!==null?e.type=this.type:delete e.type,this.packageManager!==null?e.packageManager=this.packageManager:delete e.packageManager,this.private?e.private=!0:delete e.private,this.license!==null?e.license=this.license:delete e.license,this.languageName!==null?e.languageName=this.languageName:delete e.languageName,this.main!==null?e.main=this.main:delete e.main,this.module!==null?e.module=this.module:delete e.module,this.browser!==null){let o=this.browser;typeof o==\"string\"?e.browser=o:o instanceof Map&&(e.browser=Object.assign({},...Array.from(o.keys()).sort().map(a=>({[a]:o.get(a)}))))}else delete e.browser;this.bin.size===1&&this.name!==null&&this.bin.has(this.name.name)?e.bin=this.bin.get(this.name.name):this.bin.size>0?e.bin=Object.assign({},...Array.from(this.bin.keys()).sort().map(o=>({[o]:this.bin.get(o)}))):delete e.bin,this.workspaceDefinitions.length>0?this.raw.workspaces&&!Array.isArray(this.raw.workspaces)?e.workspaces=te(N({},this.raw.workspaces),{packages:this.workspaceDefinitions.map(({pattern:o})=>o)}):e.workspaces=this.workspaceDefinitions.map(({pattern:o})=>o):this.raw.workspaces&&!Array.isArray(this.raw.workspaces)&&Object.keys(this.raw.workspaces).length>0?e.workspaces=this.raw.workspaces:delete e.workspaces;let i=[],n=[];for(let o of this.dependencies.values()){let a=this.dependenciesMeta.get(Ot(o)),l=!1;if(t&&a){let c=a.get(null);c&&c.optional&&(l=!0)}l?n.push(o):i.push(o)}i.length>0?e.dependencies=Object.assign({},...zg(i).map(o=>({[Ot(o)]:o.range}))):delete e.dependencies,n.length>0?e.optionalDependencies=Object.assign({},...zg(n).map(o=>({[Ot(o)]:o.range}))):delete e.optionalDependencies,this.devDependencies.size>0?e.devDependencies=Object.assign({},...zg(this.devDependencies.values()).map(o=>({[Ot(o)]:o.range}))):delete e.devDependencies,this.peerDependencies.size>0?e.peerDependencies=Object.assign({},...zg(this.peerDependencies.values()).map(o=>({[Ot(o)]:o.range}))):delete e.peerDependencies,e.dependenciesMeta={};for(let[o,a]of xn(this.dependenciesMeta.entries(),([l,c])=>l))for(let[l,c]of xn(a.entries(),([u,g])=>u!==null?`0${u}`:\"1\")){let u=l!==null?Pn(rr(An(o),l)):o,g=N({},c);t&&l===null&&delete g.optional,Object.keys(g).length!==0&&(e.dependenciesMeta[u]=g)}if(Object.keys(e.dependenciesMeta).length===0&&delete e.dependenciesMeta,this.peerDependenciesMeta.size>0?e.peerDependenciesMeta=Object.assign({},...xn(this.peerDependenciesMeta.entries(),([o,a])=>o).map(([o,a])=>({[o]:a}))):delete e.peerDependenciesMeta,this.resolutions.length>0?e.resolutions=Object.assign({},...this.resolutions.map(({pattern:o,reference:a})=>({[tI(o)]:a}))):delete e.resolutions,this.files!==null?e.files=Array.from(this.files):delete e.files,this.preferUnplugged!==null?e.preferUnplugged=this.preferUnplugged:delete e.preferUnplugged,this.scripts!==null&&this.scripts.size>0){(s=e.scripts)!=null||(e.scripts={});for(let o of Object.keys(e.scripts))this.scripts.has(o)||delete e.scripts[o];for(let[o,a]of this.scripts.entries())e.scripts[o]=a}else delete e.scripts;return e}},At=ul;At.fileName=\"package.json\",At.allDependencies=[\"dependencies\",\"devDependencies\",\"peerDependencies\"],At.hardDependencies=[\"dependencies\",\"devDependencies\"];function r4(r){let e=r.match(/^[ \\t]+/m);return e?e[0]:\"  \"}function i4(r){return r.charCodeAt(0)===65279?r.slice(1):r}function un(r){return r.replace(/\\\\/g,\"/\")}function pw(r,{yamlCompatibilityMode:e}){return e?Lv(r):typeof r==\"undefined\"||typeof r==\"boolean\"?r:null}function n4(r,e){let t=e.search(/[^!]/);if(t===-1)return\"invalid\";let i=t%2==0?\"\":\"!\",n=e.slice(t);return`${i}${r}=${n}`}function rx(r,e){return e.length===1?n4(r,e[0]):`(${e.map(t=>n4(r,t)).join(\" | \")})`}var L4=ge(N4()),T4=ge(require(\"stream\")),O4=ge(require(\"string_decoder\"));var Ave=15,ct=class extends Error{constructor(e,t,i){super(t);this.reportExtra=i;this.reportCode=e}};function lve(r){return typeof r.reportCode!=\"undefined\"}var Ji=class{constructor(){this.reportedInfos=new Set;this.reportedWarnings=new Set;this.reportedErrors=new Set}static progressViaCounter(e){let t=0,i,n=new Promise(l=>{i=l}),s=l=>{let c=i;n=new Promise(u=>{i=u}),t=l,c()},o=(l=0)=>{s(t+1)},a=async function*(){for(;t<e;)await n,yield{progress:t/e}}();return{[Symbol.asyncIterator](){return a},hasProgress:!0,hasTitle:!1,set:s,tick:o}}static progressViaTitle(){let e,t,i=new Promise(o=>{t=o}),n=(0,L4.default)(o=>{let a=t;i=new Promise(l=>{t=l}),e=o,a()},1e3/Ave),s=async function*(){for(;;)await i,yield{title:e}}();return{[Symbol.asyncIterator](){return s},hasProgress:!1,hasTitle:!0,setTitle:n}}async startProgressPromise(e,t){let i=this.reportProgress(e);try{return await t(e)}finally{i.stop()}}startProgressSync(e,t){let i=this.reportProgress(e);try{return t(e)}finally{i.stop()}}reportInfoOnce(e,t,i){var s;let n=i&&i.key?i.key:t;this.reportedInfos.has(n)||(this.reportedInfos.add(n),this.reportInfo(e,t),(s=i==null?void 0:i.reportExtra)==null||s.call(i,this))}reportWarningOnce(e,t,i){var s;let n=i&&i.key?i.key:t;this.reportedWarnings.has(n)||(this.reportedWarnings.add(n),this.reportWarning(e,t),(s=i==null?void 0:i.reportExtra)==null||s.call(i,this))}reportErrorOnce(e,t,i){var s;let n=i&&i.key?i.key:t;this.reportedErrors.has(n)||(this.reportedErrors.add(n),this.reportError(e,t),(s=i==null?void 0:i.reportExtra)==null||s.call(i,this))}reportExceptionOnce(e){lve(e)?this.reportErrorOnce(e.reportCode,e.message,{key:e,reportExtra:e.reportExtra}):this.reportErrorOnce(X.EXCEPTION,e.stack||e.message,{key:e})}createStreamReporter(e=null){let t=new T4.PassThrough,i=new O4.StringDecoder,n=\"\";return t.on(\"data\",s=>{let o=i.write(s),a;do if(a=o.indexOf(`\n`),a!==-1){let l=n+o.substring(0,a);o=o.substring(a+1),n=\"\",e!==null?this.reportInfo(null,`${e} ${l}`):this.reportInfo(null,l)}while(a!==-1);n+=o}),t.on(\"end\",()=>{let s=i.end();s!==\"\"&&(e!==null?this.reportInfo(null,`${e} ${s}`):this.reportInfo(null,s))}),t}};var wd=class{constructor(e){this.fetchers=e}supports(e,t){return!!this.tryFetcher(e,t)}getLocalPath(e,t){return this.getFetcher(e,t).getLocalPath(e,t)}async fetch(e,t){return await this.getFetcher(e,t).fetch(e,t)}tryFetcher(e,t){let i=this.fetchers.find(n=>n.supports(e,t));return i||null}getFetcher(e,t){let i=this.fetchers.find(n=>n.supports(e,t));if(!i)throw new ct(X.FETCHER_NOT_FOUND,`${It(t.project.configuration,e)} isn't supported by any available fetcher`);return i}};var Bd=class{constructor(e){this.resolvers=e.filter(t=>t)}supportsDescriptor(e,t){return!!this.tryResolverByDescriptor(e,t)}supportsLocator(e,t){return!!this.tryResolverByLocator(e,t)}shouldPersistResolution(e,t){return this.getResolverByLocator(e,t).shouldPersistResolution(e,t)}bindDescriptor(e,t,i){return this.getResolverByDescriptor(e,i).bindDescriptor(e,t,i)}getResolutionDependencies(e,t){return this.getResolverByDescriptor(e,t).getResolutionDependencies(e,t)}async getCandidates(e,t,i){return await this.getResolverByDescriptor(e,i).getCandidates(e,t,i)}async getSatisfying(e,t,i){return this.getResolverByDescriptor(e,i).getSatisfying(e,t,i)}async resolve(e,t){return await this.getResolverByLocator(e,t).resolve(e,t)}tryResolverByDescriptor(e,t){let i=this.resolvers.find(n=>n.supportsDescriptor(e,t));return i||null}getResolverByDescriptor(e,t){let i=this.resolvers.find(n=>n.supportsDescriptor(e,t));if(!i)throw new Error(`${sr(t.project.configuration,e)} isn't supported by any available resolver`);return i}tryResolverByLocator(e,t){let i=this.resolvers.find(n=>n.supportsLocator(e,t));return i||null}getResolverByLocator(e,t){let i=this.resolvers.find(n=>n.supportsLocator(e,t));if(!i)throw new Error(`${It(t.project.configuration,e)} isn't supported by any available resolver`);return i}};var M4=ge(ri());var _g=/^(?!v)[a-z0-9._-]+$/i,sx=class{supportsDescriptor(e,t){return!!(mo(e.range)||_g.test(e.range))}supportsLocator(e,t){return!!(M4.default.valid(e.reference)||_g.test(e.reference))}shouldPersistResolution(e,t){return t.resolver.shouldPersistResolution(this.forwardLocator(e,t),t)}bindDescriptor(e,t,i){return i.resolver.bindDescriptor(this.forwardDescriptor(e,i),t,i)}getResolutionDependencies(e,t){return t.resolver.getResolutionDependencies(this.forwardDescriptor(e,t),t)}async getCandidates(e,t,i){return await i.resolver.getCandidates(this.forwardDescriptor(e,i),t,i)}async getSatisfying(e,t,i){return await i.resolver.getSatisfying(this.forwardDescriptor(e,i),t,i)}async resolve(e,t){let i=await t.resolver.resolve(this.forwardLocator(e,t),t);return cd(i,e)}forwardDescriptor(e,t){return rr(e,`${t.project.configuration.get(\"defaultProtocol\")}${e.range}`)}forwardLocator(e,t){return cn(e,`${t.project.configuration.get(\"defaultProtocol\")}${e.reference}`)}};var bd=class{supports(e){return!!e.reference.startsWith(\"virtual:\")}getLocalPath(e,t){let i=e.reference.indexOf(\"#\");if(i===-1)throw new Error(\"Invalid virtual package reference\");let n=e.reference.slice(i+1),s=cn(e,n);return t.fetcher.getLocalPath(s,t)}async fetch(e,t){let i=e.reference.indexOf(\"#\");if(i===-1)throw new Error(\"Invalid virtual package reference\");let n=e.reference.slice(i+1),s=cn(e,n),o=await t.fetcher.fetch(s,t);return await this.ensureVirtualLink(e,o,t)}getLocatorFilename(e){return Wg(e)}async ensureVirtualLink(e,t,i){let n=t.packageFs.getRealPath(),s=i.project.configuration.get(\"virtualFolder\"),o=this.getLocatorFilename(e),a=Wr.makeVirtualPath(s,o,n),l=new La(a,{baseFs:t.packageFs,pathUtils:x});return te(N({},t),{packageFs:l})}};var Vg=class{static isVirtualDescriptor(e){return!!e.range.startsWith(Vg.protocol)}static isVirtualLocator(e){return!!e.reference.startsWith(Vg.protocol)}supportsDescriptor(e,t){return Vg.isVirtualDescriptor(e)}supportsLocator(e,t){return Vg.isVirtualLocator(e)}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,i){throw new Error('Assertion failed: calling \"bindDescriptor\" on a virtual descriptor is unsupported')}getResolutionDependencies(e,t){throw new Error('Assertion failed: calling \"getResolutionDependencies\" on a virtual descriptor is unsupported')}async getCandidates(e,t,i){throw new Error('Assertion failed: calling \"getCandidates\" on a virtual descriptor is unsupported')}async getSatisfying(e,t,i){throw new Error('Assertion failed: calling \"getSatisfying\" on a virtual descriptor is unsupported')}async resolve(e,t){throw new Error('Assertion failed: calling \"resolve\" on a virtual locator is unsupported')}},dw=Vg;dw.protocol=\"virtual:\";var Qd=class{supports(e){return!!e.reference.startsWith(oi.protocol)}getLocalPath(e,t){return this.getWorkspace(e,t).cwd}async fetch(e,t){let i=this.getWorkspace(e,t).cwd;return{packageFs:new _t(i),prefixPath:Me.dot,localPath:i}}getWorkspace(e,t){return t.project.getWorkspaceByCwd(e.reference.slice(oi.protocol.length))}};var ox={};ft(ox,{getDefaultGlobalFolder:()=>Ax,getHomeFolder:()=>Sd,isFolderInside:()=>lx});var ax=ge(require(\"os\"));function Ax(){if(process.platform===\"win32\"){let r=H.toPortablePath(process.env.LOCALAPPDATA||H.join((0,ax.homedir)(),\"AppData\",\"Local\"));return x.resolve(r,\"Yarn/Berry\")}if(process.env.XDG_DATA_HOME){let r=H.toPortablePath(process.env.XDG_DATA_HOME);return x.resolve(r,\"yarn/berry\")}return x.resolve(Sd(),\".yarn/berry\")}function Sd(){return H.toPortablePath((0,ax.homedir)()||\"/usr/local/share\")}function lx(r,e){let t=x.relative(e,r);return t&&!t.startsWith(\"..\")&&!x.isAbsolute(t)}var Xg={};ft(Xg,{builtinModules:()=>cx,getArchitecture:()=>vd,getArchitectureName:()=>uve,getArchitectureSet:()=>ux});var U4=ge(require(\"module\"));function cx(){return new Set(U4.default.builtinModules||Object.keys(process.binding(\"natives\")))}function cve(){var i,n,s,o;if(process.platform===\"win32\")return null;let e=(s=((n=(i=process.report)==null?void 0:i.getReport())!=null?n:{}).sharedObjects)!=null?s:[],t=/\\/(?:(ld-linux-|[^/]+-linux-gnu\\/)|(libc.musl-|ld-musl-))/;return(o=ed(e,a=>{let l=a.match(t);if(!l)return ed.skip;if(l[1])return\"glibc\";if(l[2])return\"musl\";throw new Error(\"Assertion failed: Expected the libc variant to have been detected\")}))!=null?o:null}var Cw,mw;function vd(){return Cw=Cw!=null?Cw:{os:process.platform,cpu:process.arch,libc:cve()}}function uve(r=vd()){return r.libc?`${r.os}-${r.cpu}-${r.libc}`:`${r.os}-${r.cpu}`}function ux(){let r=vd();return mw=mw!=null?mw:{os:[r.os],cpu:[r.cpu],libc:r.libc?[r.libc]:[]}}var gve=new Set([\"binFolder\",\"version\",\"flags\",\"profile\",\"gpg\",\"ignoreNode\",\"wrapOutput\",\"home\",\"confDir\"]),Iw=\"yarn_\",fx=\".yarnrc.yml\",hx=\"yarn.lock\",fve=\"********\",Ie;(function(u){u.ANY=\"ANY\",u.BOOLEAN=\"BOOLEAN\",u.ABSOLUTE_PATH=\"ABSOLUTE_PATH\",u.LOCATOR=\"LOCATOR\",u.LOCATOR_LOOSE=\"LOCATOR_LOOSE\",u.NUMBER=\"NUMBER\",u.STRING=\"STRING\",u.SECRET=\"SECRET\",u.SHAPE=\"SHAPE\",u.MAP=\"MAP\"})(Ie||(Ie={}));var Ri=Ye,px={lastUpdateCheck:{description:\"Last timestamp we checked whether new Yarn versions were available\",type:Ie.STRING,default:null},yarnPath:{description:\"Path to the local executable that must be used over the global one\",type:Ie.ABSOLUTE_PATH,default:null},ignorePath:{description:\"If true, the local executable will be ignored when using the global one\",type:Ie.BOOLEAN,default:!1},ignoreCwd:{description:\"If true, the `--cwd` flag will be ignored\",type:Ie.BOOLEAN,default:!1},cacheKeyOverride:{description:\"A global cache key override; used only for test purposes\",type:Ie.STRING,default:null},globalFolder:{description:\"Folder where all system-global files are stored\",type:Ie.ABSOLUTE_PATH,default:Ax()},cacheFolder:{description:\"Folder where the cache files must be written\",type:Ie.ABSOLUTE_PATH,default:\"./.yarn/cache\"},compressionLevel:{description:\"Zip files compression level, from 0 to 9 or mixed (a variant of 9, which stores some files uncompressed, when compression doesn't yield good results)\",type:Ie.NUMBER,values:[\"mixed\",0,1,2,3,4,5,6,7,8,9],default:cc},virtualFolder:{description:\"Folder where the virtual packages (cf doc) will be mapped on the disk (must be named __virtual__)\",type:Ie.ABSOLUTE_PATH,default:\"./.yarn/__virtual__\"},lockfileFilename:{description:\"Name of the files where the Yarn dependency tree entries must be stored\",type:Ie.STRING,default:hx},installStatePath:{description:\"Path of the file where the install state will be persisted\",type:Ie.ABSOLUTE_PATH,default:\"./.yarn/install-state.gz\"},immutablePatterns:{description:\"Array of glob patterns; files matching them won't be allowed to change during immutable installs\",type:Ie.STRING,default:[],isArray:!0},rcFilename:{description:\"Name of the files where the configuration can be found\",type:Ie.STRING,default:yw()},enableGlobalCache:{description:\"If true, the system-wide cache folder will be used regardless of `cache-folder`\",type:Ie.BOOLEAN,default:!1},enableColors:{description:\"If true, the CLI is allowed to use colors in its output\",type:Ie.BOOLEAN,default:Dy,defaultText:\"<dynamic>\"},enableHyperlinks:{description:\"If true, the CLI is allowed to use hyperlinks in its output\",type:Ie.BOOLEAN,default:Uv,defaultText:\"<dynamic>\"},enableInlineBuilds:{description:\"If true, the CLI will print the build output on the command line\",type:Ie.BOOLEAN,default:Ew.isCI,defaultText:\"<dynamic>\"},enableMessageNames:{description:\"If true, the CLI will prefix most messages with codes suitable for search engines\",type:Ie.BOOLEAN,default:!0},enableProgressBars:{description:\"If true, the CLI is allowed to show a progress bar for long-running events\",type:Ie.BOOLEAN,default:!Ew.isCI,defaultText:\"<dynamic>\"},enableTimers:{description:\"If true, the CLI is allowed to print the time spent executing commands\",type:Ie.BOOLEAN,default:!0},preferAggregateCacheInfo:{description:\"If true, the CLI will only print a one-line report of any cache changes\",type:Ie.BOOLEAN,default:Ew.isCI},preferInteractive:{description:\"If true, the CLI will automatically use the interactive mode when called from a TTY\",type:Ie.BOOLEAN,default:!1},preferTruncatedLines:{description:\"If true, the CLI will truncate lines that would go beyond the size of the terminal\",type:Ie.BOOLEAN,default:!1},progressBarStyle:{description:\"Which style of progress bar should be used (only when progress bars are enabled)\",type:Ie.STRING,default:void 0,defaultText:\"<dynamic>\"},defaultLanguageName:{description:\"Default language mode that should be used when a package doesn't offer any insight\",type:Ie.STRING,default:\"node\"},defaultProtocol:{description:\"Default resolution protocol used when resolving pure semver and tag ranges\",type:Ie.STRING,default:\"npm:\"},enableTransparentWorkspaces:{description:\"If false, Yarn won't automatically resolve workspace dependencies unless they use the `workspace:` protocol\",type:Ie.BOOLEAN,default:!0},supportedArchitectures:{description:\"Architectures that Yarn will fetch and inject into the resolver\",type:Ie.SHAPE,properties:{os:{description:\"Array of supported process.platform strings, or null to target them all\",type:Ie.STRING,isArray:!0,isNullable:!0,default:[\"current\"]},cpu:{description:\"Array of supported process.arch strings, or null to target them all\",type:Ie.STRING,isArray:!0,isNullable:!0,default:[\"current\"]},libc:{description:\"Array of supported libc libraries, or null to target them all\",type:Ie.STRING,isArray:!0,isNullable:!0,default:[\"current\"]}}},enableMirror:{description:\"If true, the downloaded packages will be retrieved and stored in both the local and global folders\",type:Ie.BOOLEAN,default:!0},enableNetwork:{description:\"If false, the package manager will refuse to use the network if required to\",type:Ie.BOOLEAN,default:!0},httpProxy:{description:\"URL of the http proxy that must be used for outgoing http requests\",type:Ie.STRING,default:null},httpsProxy:{description:\"URL of the http proxy that must be used for outgoing https requests\",type:Ie.STRING,default:null},unsafeHttpWhitelist:{description:\"List of the hostnames for which http queries are allowed (glob patterns are supported)\",type:Ie.STRING,default:[],isArray:!0},httpTimeout:{description:\"Timeout of each http request in milliseconds\",type:Ie.NUMBER,default:6e4},httpRetry:{description:\"Retry times on http failure\",type:Ie.NUMBER,default:3},networkConcurrency:{description:\"Maximal number of concurrent requests\",type:Ie.NUMBER,default:50},networkSettings:{description:\"Network settings per hostname (glob patterns are supported)\",type:Ie.MAP,valueDefinition:{description:\"\",type:Ie.SHAPE,properties:{caFilePath:{description:\"Path to file containing one or multiple Certificate Authority signing certificates\",type:Ie.ABSOLUTE_PATH,default:null},enableNetwork:{description:\"If false, the package manager will refuse to use the network if required to\",type:Ie.BOOLEAN,default:null},httpProxy:{description:\"URL of the http proxy that must be used for outgoing http requests\",type:Ie.STRING,default:null},httpsProxy:{description:\"URL of the http proxy that must be used for outgoing https requests\",type:Ie.STRING,default:null},httpsKeyFilePath:{description:\"Path to file containing private key in PEM format\",type:Ie.ABSOLUTE_PATH,default:null},httpsCertFilePath:{description:\"Path to file containing certificate chain in PEM format\",type:Ie.ABSOLUTE_PATH,default:null}}}},caFilePath:{description:\"A path to a file containing one or multiple Certificate Authority signing certificates\",type:Ie.ABSOLUTE_PATH,default:null},httpsKeyFilePath:{description:\"Path to file containing private key in PEM format\",type:Ie.ABSOLUTE_PATH,default:null},httpsCertFilePath:{description:\"Path to file containing certificate chain in PEM format\",type:Ie.ABSOLUTE_PATH,default:null},enableStrictSsl:{description:\"If false, SSL certificate errors will be ignored\",type:Ie.BOOLEAN,default:!0},logFilters:{description:\"Overrides for log levels\",type:Ie.SHAPE,isArray:!0,concatenateValues:!0,properties:{code:{description:\"Code of the messages covered by this override\",type:Ie.STRING,default:void 0},text:{description:\"Code of the texts covered by this override\",type:Ie.STRING,default:void 0},pattern:{description:\"Code of the patterns covered by this override\",type:Ie.STRING,default:void 0},level:{description:\"Log level override, set to null to remove override\",type:Ie.STRING,values:Object.values(Co),isNullable:!0,default:void 0}}},enableTelemetry:{description:\"If true, telemetry will be periodically sent, following the rules in https://yarnpkg.com/advanced/telemetry\",type:Ie.BOOLEAN,default:!0},telemetryInterval:{description:\"Minimal amount of time between two telemetry uploads, in days\",type:Ie.NUMBER,default:7},telemetryUserId:{description:\"If you desire to tell us which project you are, you can set this field. Completely optional and opt-in.\",type:Ie.STRING,default:null},enableScripts:{description:\"If true, packages are allowed to have install scripts by default\",type:Ie.BOOLEAN,default:!0},enableStrictSettings:{description:\"If true, unknown settings will cause Yarn to abort\",type:Ie.BOOLEAN,default:!0},enableImmutableCache:{description:\"If true, the cache is reputed immutable and actions that would modify it will throw\",type:Ie.BOOLEAN,default:!1},checksumBehavior:{description:\"Enumeration defining what to do when a checksum doesn't match expectations\",type:Ie.STRING,default:\"throw\"},packageExtensions:{description:\"Map of package corrections to apply on the dependency tree\",type:Ie.MAP,valueDefinition:{description:\"The extension that will be applied to any package whose version matches the specified range\",type:Ie.SHAPE,properties:{dependencies:{description:\"The set of dependencies that must be made available to the current package in order for it to work properly\",type:Ie.MAP,valueDefinition:{description:\"A range\",type:Ie.STRING}},peerDependencies:{description:\"Inherited dependencies - the consumer of the package will be tasked to provide them\",type:Ie.MAP,valueDefinition:{description:\"A semver range\",type:Ie.STRING}},peerDependenciesMeta:{description:\"Extra information related to the dependencies listed in the peerDependencies field\",type:Ie.MAP,valueDefinition:{description:\"The peerDependency meta\",type:Ie.SHAPE,properties:{optional:{description:\"If true, the selected peer dependency will be marked as optional by the package manager and the consumer omitting it won't be reported as an error\",type:Ie.BOOLEAN,default:!1}}}}}}}};function Cx(r,e,t,i,n){if(i.isArray||i.type===Ie.ANY&&Array.isArray(t))return Array.isArray(t)?t.map((s,o)=>dx(r,`${e}[${o}]`,s,i,n)):String(t).split(/,/).map(s=>dx(r,e,s,i,n));if(Array.isArray(t))throw new Error(`Non-array configuration settings \"${e}\" cannot be an array`);return dx(r,e,t,i,n)}function dx(r,e,t,i,n){var a;switch(i.type){case Ie.ANY:return t;case Ie.SHAPE:return hve(r,e,t,i,n);case Ie.MAP:return pve(r,e,t,i,n)}if(t===null&&!i.isNullable&&i.default!==null)throw new Error(`Non-nullable configuration settings \"${e}\" cannot be set to null`);if((a=i.values)==null?void 0:a.includes(t))return t;let o=(()=>{if(i.type===Ie.BOOLEAN&&typeof t!=\"string\")return rd(t);if(typeof t!=\"string\")throw new Error(`Expected value (${t}) to be a string`);let l=Nv(t,{env:process.env});switch(i.type){case Ie.ABSOLUTE_PATH:return x.resolve(n,H.toPortablePath(l));case Ie.LOCATOR_LOOSE:return qc(l,!1);case Ie.NUMBER:return parseInt(l);case Ie.LOCATOR:return qc(l);case Ie.BOOLEAN:return rd(l);default:return l}})();if(i.values&&!i.values.includes(o))throw new Error(`Invalid value, expected one of ${i.values.join(\", \")}`);return o}function hve(r,e,t,i,n){if(typeof t!=\"object\"||Array.isArray(t))throw new Pe(`Object configuration settings \"${e}\" must be an object`);let s=mx(r,i,{ignoreArrays:!0});if(t===null)return s;for(let[o,a]of Object.entries(t)){let l=`${e}.${o}`;if(!i.properties[o])throw new Pe(`Unrecognized configuration settings found: ${e}.${o} - run \"yarn config -v\" to see the list of settings supported in Yarn`);s.set(o,Cx(r,l,a,i.properties[o],n))}return s}function pve(r,e,t,i,n){let s=new Map;if(typeof t!=\"object\"||Array.isArray(t))throw new Pe(`Map configuration settings \"${e}\" must be an object`);if(t===null)return s;for(let[o,a]of Object.entries(t)){let l=i.normalizeKeys?i.normalizeKeys(o):o,c=`${e}['${l}']`,u=i.valueDefinition;s.set(l,Cx(r,c,a,u,n))}return s}function mx(r,e,{ignoreArrays:t=!1}={}){switch(e.type){case Ie.SHAPE:{if(e.isArray&&!t)return[];let i=new Map;for(let[n,s]of Object.entries(e.properties))i.set(n,mx(r,s));return i}break;case Ie.MAP:return e.isArray&&!t?[]:new Map;case Ie.ABSOLUTE_PATH:return e.default===null?null:r.projectCwd===null?x.isAbsolute(e.default)?x.normalize(e.default):e.isNullable?null:void 0:Array.isArray(e.default)?e.default.map(i=>x.resolve(r.projectCwd,i)):x.resolve(r.projectCwd,e.default);default:return e.default}}function ww(r,e,t){if(e.type===Ie.SECRET&&typeof r==\"string\"&&t.hideSecrets)return fve;if(e.type===Ie.ABSOLUTE_PATH&&typeof r==\"string\"&&t.getNativePaths)return H.fromPortablePath(r);if(e.isArray&&Array.isArray(r)){let i=[];for(let n of r)i.push(ww(n,e,t));return i}if(e.type===Ie.MAP&&r instanceof Map){let i=new Map;for(let[n,s]of r.entries())i.set(n,ww(s,e.valueDefinition,t));return i}if(e.type===Ie.SHAPE&&r instanceof Map){let i=new Map;for(let[n,s]of r.entries()){let o=e.properties[n];i.set(n,ww(s,o,t))}return i}return r}function dve(){let r={};for(let[e,t]of Object.entries(process.env))e=e.toLowerCase(),!!e.startsWith(Iw)&&(e=(0,K4.default)(e.slice(Iw.length)),r[e]=t);return r}function yw(){let r=`${Iw}rc_filename`;for(let[e,t]of Object.entries(process.env))if(e.toLowerCase()===r&&typeof t==\"string\")return t;return fx}var gl;(function(i){i[i.LOCKFILE=0]=\"LOCKFILE\",i[i.MANIFEST=1]=\"MANIFEST\",i[i.NONE=2]=\"NONE\"})(gl||(gl={}));var rA=class{constructor(e){this.projectCwd=null;this.plugins=new Map;this.settings=new Map;this.values=new Map;this.sources=new Map;this.invalid=new Map;this.packageExtensions=new Map;this.limits=new Map;this.startingCwd=e}static create(e,t,i){let n=new rA(e);typeof t!=\"undefined\"&&!(t instanceof Map)&&(n.projectCwd=t),n.importSettings(px);let s=typeof i!=\"undefined\"?i:t instanceof Map?t:new Map;for(let[o,a]of s)n.activatePlugin(o,a);return n}static async find(e,t,{lookup:i=0,strict:n=!0,usePath:s=!1,useRc:o=!0}={}){let a=dve();delete a.rcFilename;let l=await rA.findRcFiles(e),c=await rA.findHomeRcFile();if(c){let b=l.find(v=>v.path===c.path);b?b.strict=!1:l.push(te(N({},c),{strict:!1}))}let u=({ignoreCwd:b,yarnPath:v,ignorePath:k,lockfileFilename:T})=>({ignoreCwd:b,yarnPath:v,ignorePath:k,lockfileFilename:T}),g=q=>{var $=q,{ignoreCwd:b,yarnPath:v,ignorePath:k,lockfileFilename:T}=$,Y=Or($,[\"ignoreCwd\",\"yarnPath\",\"ignorePath\",\"lockfileFilename\"]);return Y},f=new rA(e);f.importSettings(u(px)),f.useWithSource(\"<environment>\",u(a),e,{strict:!1});for(let{path:b,cwd:v,data:k}of l)f.useWithSource(b,u(k),v,{strict:!1});if(s){let b=f.get(\"yarnPath\"),v=f.get(\"ignorePath\");if(b!==null&&!v)return f}let h=f.get(\"lockfileFilename\"),p;switch(i){case 0:p=await rA.findProjectCwd(e,h);break;case 1:p=await rA.findProjectCwd(e,null);break;case 2:U.existsSync(x.join(e,\"package.json\"))?p=x.resolve(e):p=null;break}f.startingCwd=e,f.projectCwd=p,f.importSettings(g(px));let m=new Map([[\"@@core\",X3]]),y=b=>\"default\"in b?b.default:b;if(t!==null){for(let T of t.plugins.keys())m.set(T,y(t.modules.get(T)));let b=new Map;for(let T of cx())b.set(T,()=>Mg(T));for(let[T,Y]of t.modules)b.set(T,()=>Y);let v=new Set,k=async(T,Y)=>{let{factory:q,name:$}=Mg(T);if(v.has($))return;let z=new Map(b),ne=A=>{if(z.has(A))return z.get(A)();throw new Pe(`This plugin cannot access the package referenced via ${A} which is neither a builtin, nor an exposed entry`)},ee=await Tg(async()=>y(await q(ne)),A=>`${A} (when initializing ${$}, defined in ${Y})`);b.set($,()=>ee),v.add($),m.set($,ee)};if(a.plugins)for(let T of a.plugins.split(\";\")){let Y=x.resolve(e,H.toPortablePath(T));await k(Y,\"<environment>\")}for(let{path:T,cwd:Y,data:q}of l)if(!!o&&!!Array.isArray(q.plugins))for(let $ of q.plugins){let z=typeof $!=\"string\"?$.path:$,ne=x.resolve(Y,H.toPortablePath(z));await k(ne,T)}}for(let[b,v]of m)f.activatePlugin(b,v);f.useWithSource(\"<environment>\",g(a),e,{strict:n});for(let{path:b,cwd:v,data:k,strict:T}of l)f.useWithSource(b,g(k),v,{strict:T!=null?T:n});return f.get(\"enableGlobalCache\")&&(f.values.set(\"cacheFolder\",`${f.get(\"globalFolder\")}/cache`),f.sources.set(\"cacheFolder\",\"<internal>\")),await f.refreshPackageExtensions(),f}static async findRcFiles(e){let t=yw(),i=[],n=e,s=null;for(;n!==s;){s=n;let o=x.join(s,t);if(U.existsSync(o)){let a=await U.readFilePromise(o,\"utf8\"),l;try{l=Si(a)}catch(c){let u=\"\";throw a.match(/^\\s+(?!-)[^:]+\\s+\\S+/m)&&(u=\" (in particular, make sure you list the colons after each key name)\"),new Pe(`Parse error when loading ${o}; please check it's proper Yaml${u}`)}i.push({path:o,cwd:s,data:l})}n=x.dirname(s)}return i}static async findHomeRcFile(){let e=yw(),t=Sd(),i=x.join(t,e);if(U.existsSync(i)){let n=await U.readFilePromise(i,\"utf8\"),s=Si(n);return{path:i,cwd:t,data:s}}return null}static async findProjectCwd(e,t){let i=null,n=e,s=null;for(;n!==s;){if(s=n,U.existsSync(x.join(s,\"package.json\"))&&(i=s),t!==null){if(U.existsSync(x.join(s,t))){i=s;break}}else if(i!==null)break;n=x.dirname(s)}return i}static async updateConfiguration(e,t){let i=yw(),n=x.join(e,i),s=U.existsSync(n)?Si(await U.readFilePromise(n,\"utf8\")):{},o=!1,a;if(typeof t==\"function\"){try{a=t(s)}catch{a=t({})}if(a===s)return}else{a=s;for(let l of Object.keys(t)){let c=s[l],u=t[l],g;if(typeof u==\"function\")try{g=u(c)}catch{g=u(void 0)}else g=u;c!==g&&(a[l]=g,o=!0)}if(!o)return}await U.changeFilePromise(n,Ua(a),{automaticNewlines:!0})}static async updateHomeConfiguration(e){let t=Sd();return await rA.updateConfiguration(t,e)}activatePlugin(e,t){this.plugins.set(e,t),typeof t.configuration!=\"undefined\"&&this.importSettings(t.configuration)}importSettings(e){for(let[t,i]of Object.entries(e))if(i!=null){if(this.settings.has(t))throw new Error(`Cannot redefine settings \"${t}\"`);this.settings.set(t,i),this.values.set(t,mx(this,i))}}useWithSource(e,t,i,n){try{this.use(e,t,i,n)}catch(s){throw s.message+=` (in ${tt(this,e,Ye.PATH)})`,s}}use(e,t,i,{strict:n=!0,overwrite:s=!1}={}){n=n&&this.get(\"enableStrictSettings\");for(let o of[\"enableStrictSettings\",...Object.keys(t)]){if(typeof t[o]==\"undefined\"||o===\"plugins\"||e===\"<environment>\"&&gve.has(o))continue;if(o===\"rcFilename\")throw new Pe(`The rcFilename settings can only be set via ${`${Iw}RC_FILENAME`.toUpperCase()}, not via a rc file`);let l=this.settings.get(o);if(!l){if(n)throw new Pe(`Unrecognized or legacy configuration settings found: ${o} - run \"yarn config -v\" to see the list of settings supported in Yarn`);this.invalid.set(o,e);continue}if(this.sources.has(o)&&!(s||l.type===Ie.MAP||l.isArray&&l.concatenateValues))continue;let c;try{c=Cx(this,o,t[o],l,i)}catch(u){throw u.message+=` in ${tt(this,e,Ye.PATH)}`,u}if(o===\"enableStrictSettings\"&&e!==\"<environment>\"){n=c;continue}if(l.type===Ie.MAP){let u=this.values.get(o);this.values.set(o,new Map(s?[...u,...c]:[...c,...u])),this.sources.set(o,`${this.sources.get(o)}, ${e}`)}else if(l.isArray&&l.concatenateValues){let u=this.values.get(o);this.values.set(o,s?[...u,...c]:[...c,...u]),this.sources.set(o,`${this.sources.get(o)}, ${e}`)}else this.values.set(o,c),this.sources.set(o,e)}}get(e){if(!this.values.has(e))throw new Error(`Invalid configuration key \"${e}\"`);return this.values.get(e)}getSpecial(e,{hideSecrets:t=!1,getNativePaths:i=!1}){let n=this.get(e),s=this.settings.get(e);if(typeof s==\"undefined\")throw new Pe(`Couldn't find a configuration settings named \"${e}\"`);return ww(n,s,{hideSecrets:t,getNativePaths:i})}getSubprocessStreams(e,{header:t,prefix:i,report:n}){let s,o,a=U.createWriteStream(e);if(this.get(\"enableInlineBuilds\")){let l=n.createStreamReporter(`${i} ${tt(this,\"STDOUT\",\"green\")}`),c=n.createStreamReporter(`${i} ${tt(this,\"STDERR\",\"red\")}`);s=new gx.PassThrough,s.pipe(l),s.pipe(a),o=new gx.PassThrough,o.pipe(c),o.pipe(a)}else s=a,o=a,typeof t!=\"undefined\"&&s.write(`${t}\n`);return{stdout:s,stderr:o}}makeResolver(){let e=[];for(let t of this.plugins.values())for(let i of t.resolvers||[])e.push(new i);return new Bd([new dw,new oi,new sx,...e])}makeFetcher(){let e=[];for(let t of this.plugins.values())for(let i of t.fetchers||[])e.push(new i);return new wd([new bd,new Qd,...e])}getLinkers(){let e=[];for(let t of this.plugins.values())for(let i of t.linkers||[])e.push(new i);return e}getSupportedArchitectures(){let e=vd(),t=this.get(\"supportedArchitectures\"),i=t.get(\"os\");i!==null&&(i=i.map(o=>o===\"current\"?e.os:o));let n=t.get(\"cpu\");n!==null&&(n=n.map(o=>o===\"current\"?e.cpu:o));let s=t.get(\"libc\");return s!==null&&(s=Vo(s,o=>{var a;return o===\"current\"?(a=e.libc)!=null?a:Vo.skip:o})),{os:i,cpu:n,libc:s}}async refreshPackageExtensions(){this.packageExtensions=new Map;let e=this.packageExtensions,t=(i,n,{userProvided:s=!1}={})=>{if(!mo(i.range))throw new Error(\"Only semver ranges are allowed as keys for the packageExtensions setting\");let o=new At;o.load(n,{yamlCompatibilityMode:!0});let a=Ng(e,i.identHash),l=[];a.push([i.range,l]);let c={status:qi.Inactive,userProvided:s,parentDescriptor:i};for(let u of o.dependencies.values())l.push(te(N({},c),{type:wi.Dependency,descriptor:u}));for(let u of o.peerDependencies.values())l.push(te(N({},c),{type:wi.PeerDependency,descriptor:u}));for(let[u,g]of o.peerDependenciesMeta)for(let[f,h]of Object.entries(g))l.push(te(N({},c),{type:wi.PeerDependencyMeta,selector:u,key:f,value:h}))};await this.triggerHook(i=>i.registerPackageExtensions,this,t);for(let[i,n]of this.get(\"packageExtensions\"))t(cl(i,!0),Py(n),{userProvided:!0})}normalizePackage(e){let t=ud(e);if(this.packageExtensions==null)throw new Error(\"refreshPackageExtensions has to be called before normalizing packages\");let i=this.packageExtensions.get(e.identHash);if(typeof i!=\"undefined\"){let s=e.version;if(s!==null){for(let[o,a]of i)if(!!Jc(s,o))for(let l of a)switch(l.status===qi.Inactive&&(l.status=qi.Redundant),l.type){case wi.Dependency:typeof t.dependencies.get(l.descriptor.identHash)==\"undefined\"&&(l.status=qi.Active,t.dependencies.set(l.descriptor.identHash,l.descriptor));break;case wi.PeerDependency:typeof t.peerDependencies.get(l.descriptor.identHash)==\"undefined\"&&(l.status=qi.Active,t.peerDependencies.set(l.descriptor.identHash,l.descriptor));break;case wi.PeerDependencyMeta:{let c=t.peerDependenciesMeta.get(l.selector);(typeof c==\"undefined\"||!Object.prototype.hasOwnProperty.call(c,l.key)||c[l.key]!==l.value)&&(l.status=qi.Active,Va(t.peerDependenciesMeta,l.selector,()=>({}))[l.key]=l.value)}break;default:Dv(l);break}}}let n=s=>s.scope?`${s.scope}__${s.name}`:`${s.name}`;for(let s of t.peerDependenciesMeta.keys()){let o=An(s);t.peerDependencies.has(o.identHash)||t.peerDependencies.set(o.identHash,rr(o,\"*\"))}for(let s of t.peerDependencies.values()){if(s.scope===\"types\")continue;let o=n(s),a=ea(\"types\",o),l=Ot(a);t.peerDependencies.has(a.identHash)||t.peerDependenciesMeta.has(l)||(t.peerDependencies.set(a.identHash,rr(a,\"*\")),t.peerDependenciesMeta.set(l,{optional:!0}))}return t.dependencies=new Map(xn(t.dependencies,([,s])=>Pn(s))),t.peerDependencies=new Map(xn(t.peerDependencies,([,s])=>Pn(s))),t}getLimit(e){return Va(this.limits,e,()=>(0,H4.default)(this.get(e)))}async triggerHook(e,...t){for(let i of this.plugins.values()){let n=i.hooks;if(!n)continue;let s=e(n);!s||await s(...t)}}async triggerMultipleHooks(e,t){for(let i of t)await this.triggerHook(e,...i)}async reduceHook(e,t,...i){let n=t;for(let s of this.plugins.values()){let o=s.hooks;if(!o)continue;let a=e(o);!a||(n=await a(n,...i))}return n}async firstHook(e,...t){for(let i of this.plugins.values()){let n=i.hooks;if(!n)continue;let s=e(n);if(!s)continue;let o=await s(...t);if(typeof o!=\"undefined\")return o}return null}},ye=rA;ye.telemetry=null;var ss;(function(i){i[i.Never=0]=\"Never\",i[i.ErrorCode=1]=\"ErrorCode\",i[i.Always=2]=\"Always\"})(ss||(ss={}));var Bw=class extends ct{constructor({fileName:e,code:t,signal:i}){let n=ye.create(x.cwd()),s=tt(n,e,Ye.PATH);super(X.EXCEPTION,`Child ${s} reported an error`,o=>{Cve(t,i,{configuration:n,report:o})});this.code=Ix(t,i)}},yx=class extends Bw{constructor({fileName:e,code:t,signal:i,stdout:n,stderr:s}){super({fileName:e,code:t,signal:i});this.stdout=n,this.stderr=s}};function _c(r){return r!==null&&typeof r.fd==\"number\"}var Vc=new Set;function wx(){}function Bx(){for(let r of Vc)r.kill()}async function ia(r,e,{cwd:t,env:i=process.env,strict:n=!1,stdin:s=null,stdout:o,stderr:a,end:l=2}){let c=[\"pipe\",\"pipe\",\"pipe\"];s===null?c[0]=\"ignore\":_c(s)&&(c[0]=s),_c(o)&&(c[1]=o),_c(a)&&(c[2]=a);let u=(0,Ex.default)(r,e,{cwd:H.fromPortablePath(t),env:te(N({},i),{PWD:H.fromPortablePath(t)}),stdio:c});Vc.add(u),Vc.size===1&&(process.on(\"SIGINT\",wx),process.on(\"SIGTERM\",Bx)),!_c(s)&&s!==null&&s.pipe(u.stdin),_c(o)||u.stdout.pipe(o,{end:!1}),_c(a)||u.stderr.pipe(a,{end:!1});let g=()=>{for(let f of new Set([o,a]))_c(f)||f.end()};return new Promise((f,h)=>{u.on(\"error\",p=>{Vc.delete(u),Vc.size===0&&(process.off(\"SIGINT\",wx),process.off(\"SIGTERM\",Bx)),(l===2||l===1)&&g(),h(p)}),u.on(\"close\",(p,m)=>{Vc.delete(u),Vc.size===0&&(process.off(\"SIGINT\",wx),process.off(\"SIGTERM\",Bx)),(l===2||l===1&&p>0)&&g(),p===0||!n?f({code:Ix(p,m)}):h(new Bw({fileName:r,code:p,signal:m}))})})}async function mve(r,e,{cwd:t,env:i=process.env,encoding:n=\"utf8\",strict:s=!1}){let o=[\"ignore\",\"pipe\",\"pipe\"],a=[],l=[],c=H.fromPortablePath(t);typeof i.PWD!=\"undefined\"&&(i=te(N({},i),{PWD:c}));let u=(0,Ex.default)(r,e,{cwd:c,env:i,stdio:o});return u.stdout.on(\"data\",g=>{a.push(g)}),u.stderr.on(\"data\",g=>{l.push(g)}),await new Promise((g,f)=>{u.on(\"error\",h=>{let p=ye.create(t),m=tt(p,r,Ye.PATH);f(new ct(X.EXCEPTION,`Process ${m} failed to spawn`,y=>{y.reportError(X.EXCEPTION,`  ${Xo(p,{label:\"Thrown Error\",value:po(Ye.NO_HINT,h.message)})}`)}))}),u.on(\"close\",(h,p)=>{let m=n===\"buffer\"?Buffer.concat(a):Buffer.concat(a).toString(n),y=n===\"buffer\"?Buffer.concat(l):Buffer.concat(l).toString(n);h===0||!s?g({code:Ix(h,p),stdout:m,stderr:y}):f(new yx({fileName:r,code:h,signal:p,stdout:m,stderr:y}))})})}var Eve=new Map([[\"SIGINT\",2],[\"SIGQUIT\",3],[\"SIGKILL\",9],[\"SIGTERM\",15]]);function Ix(r,e){let t=Eve.get(e);return typeof t!=\"undefined\"?128+t:r!=null?r:1}function Cve(r,e,{configuration:t,report:i}){i.reportError(X.EXCEPTION,`  ${Xo(t,r!==null?{label:\"Exit Code\",value:po(Ye.NUMBER,r)}:{label:\"Exit Signal\",value:po(Ye.CODE,e)})}`)}var ir={};ft(ir,{Method:()=>ml,RequestError:()=>S5.RequestError,del:()=>DPe,get:()=>xPe,getNetworkSettings:()=>P5,post:()=>jP,put:()=>PPe,request:()=>Md});var B5=ge(Hw()),b5=ge(require(\"https\")),Q5=ge(require(\"http\")),UP=ge(ns()),KP=ge(w5()),jw=ge(require(\"url\"));var S5=ge(Hw()),v5=new Map,k5=new Map,QPe=new Q5.Agent({keepAlive:!0}),SPe=new b5.Agent({keepAlive:!0});function x5(r){let e=new jw.URL(r),t={host:e.hostname,headers:{}};return e.port&&(t.port=Number(e.port)),{proxy:t}}async function HP(r){return Va(k5,r,()=>U.readFilePromise(r).then(e=>(k5.set(r,e),e)))}function vPe({statusCode:r,statusMessage:e},t){let i=tt(t,r,Ye.NUMBER),n=`https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/${r}`;return Ug(t,`${i}${e?` (${e})`:\"\"}`,n)}async function Gw(r,{configuration:e,customErrorMessage:t}){var i,n;try{return await r}catch(s){if(s.name!==\"HTTPError\")throw s;let o=(n=t==null?void 0:t(s))!=null?n:(i=s.response.body)==null?void 0:i.error;o==null&&(s.message.startsWith(\"Response code\")?o=\"The remote server failed to provide the requested resource\":o=s.message),s instanceof B5.TimeoutError&&s.event===\"socket\"&&(o+=`(can be increased via ${tt(e,\"httpTimeout\",Ye.SETTING)})`);let a=new ct(X.NETWORK_ERROR,o,l=>{s.response&&l.reportError(X.NETWORK_ERROR,`  ${Xo(e,{label:\"Response Code\",value:po(Ye.NO_HINT,vPe(s.response,e))})}`),s.request&&(l.reportError(X.NETWORK_ERROR,`  ${Xo(e,{label:\"Request Method\",value:po(Ye.NO_HINT,s.request.options.method)})}`),l.reportError(X.NETWORK_ERROR,`  ${Xo(e,{label:\"Request URL\",value:po(Ye.URL,s.request.requestUrl)})}`)),s.request.redirects.length>0&&l.reportError(X.NETWORK_ERROR,`  ${Xo(e,{label:\"Request Redirects\",value:po(Ye.NO_HINT,Hv(e,s.request.redirects,Ye.URL))})}`),s.request.retryCount===s.request.options.retry.limit&&l.reportError(X.NETWORK_ERROR,`  ${Xo(e,{label:\"Request Retry Count\",value:po(Ye.NO_HINT,`${tt(e,s.request.retryCount,Ye.NUMBER)} (can be increased via ${tt(e,\"httpRetry\",Ye.SETTING)})`)})}`)});throw a.originalError=s,a}}function P5(r,e){let t=[...e.configuration.get(\"networkSettings\")].sort(([o],[a])=>a.length-o.length),i={enableNetwork:void 0,caFilePath:void 0,httpProxy:void 0,httpsProxy:void 0,httpsKeyFilePath:void 0,httpsCertFilePath:void 0},n=Object.keys(i),s=typeof r==\"string\"?new jw.URL(r):r;for(let[o,a]of t)if(UP.default.isMatch(s.hostname,o))for(let l of n){let c=a.get(l);c!==null&&typeof i[l]==\"undefined\"&&(i[l]=c)}for(let o of n)typeof i[o]==\"undefined\"&&(i[o]=e.configuration.get(o));return i}var ml;(function(n){n.GET=\"GET\",n.PUT=\"PUT\",n.POST=\"POST\",n.DELETE=\"DELETE\"})(ml||(ml={}));async function Md(r,e,{configuration:t,headers:i,jsonRequest:n,jsonResponse:s,method:o=ml.GET}){let a=async()=>await kPe(r,e,{configuration:t,headers:i,jsonRequest:n,jsonResponse:s,method:o});return await(await t.reduceHook(c=>c.wrapNetworkRequest,a,{target:r,body:e,configuration:t,headers:i,jsonRequest:n,jsonResponse:s,method:o}))()}async function xPe(r,n){var s=n,{configuration:e,jsonResponse:t}=s,i=Or(s,[\"configuration\",\"jsonResponse\"]);let o=Va(v5,r,()=>Gw(Md(r,null,N({configuration:e},i)),{configuration:e}).then(a=>(v5.set(r,a.body),a.body)));return Buffer.isBuffer(o)===!1&&(o=await o),t?JSON.parse(o.toString()):o}async function PPe(r,e,n){var s=n,{customErrorMessage:t}=s,i=Or(s,[\"customErrorMessage\"]);return(await Gw(Md(r,e,te(N({},i),{method:ml.PUT})),i)).body}async function jP(r,e,n){var s=n,{customErrorMessage:t}=s,i=Or(s,[\"customErrorMessage\"]);return(await Gw(Md(r,e,te(N({},i),{method:ml.POST})),i)).body}async function DPe(r,i){var n=i,{customErrorMessage:e}=n,t=Or(n,[\"customErrorMessage\"]);return(await Gw(Md(r,null,te(N({},t),{method:ml.DELETE})),t)).body}async function kPe(r,e,{configuration:t,headers:i,jsonRequest:n,jsonResponse:s,method:o=ml.GET}){let a=typeof r==\"string\"?new jw.URL(r):r,l=P5(a,{configuration:t});if(l.enableNetwork===!1)throw new Error(`Request to '${a.href}' has been blocked because of your configuration settings`);if(a.protocol===\"http:\"&&!UP.default.isMatch(a.hostname,t.get(\"unsafeHttpWhitelist\")))throw new Error(`Unsafe http requests must be explicitly whitelisted in your configuration (${a.hostname})`);let u={agent:{http:l.httpProxy?KP.default.httpOverHttp(x5(l.httpProxy)):QPe,https:l.httpsProxy?KP.default.httpsOverHttp(x5(l.httpsProxy)):SPe},headers:i,method:o};u.responseType=s?\"json\":\"buffer\",e!==null&&(Buffer.isBuffer(e)||!n&&typeof e==\"string\"?u.body=e:u.json=e);let g=t.get(\"httpTimeout\"),f=t.get(\"httpRetry\"),h=t.get(\"enableStrictSsl\"),p=l.caFilePath,m=l.httpsCertFilePath,y=l.httpsKeyFilePath,{default:b}=await Promise.resolve().then(()=>ge(Hw())),v=p?await HP(p):void 0,k=m?await HP(m):void 0,T=y?await HP(y):void 0,Y=b.extend(N({timeout:{socket:g},retry:f,https:{rejectUnauthorized:h,certificateAuthority:v,certificate:k,key:T}},u));return t.getLimit(\"networkConcurrency\")(()=>Y(a))}var Zt={};ft(Zt,{PackageManager:()=>hn,detectPackageManager:()=>G9,executePackageAccessibleBinary:()=>z9,executePackageScript:()=>sB,executePackageShellcode:()=>iD,executeWorkspaceAccessibleBinary:()=>VDe,executeWorkspaceLifecycleScript:()=>W9,executeWorkspaceScript:()=>J9,getPackageAccessibleBinaries:()=>oB,getWorkspaceAccessibleBinaries:()=>q9,hasPackageScript:()=>WDe,hasWorkspaceScript:()=>rD,makeScriptEnv:()=>qd,maybeExecuteWorkspaceLifecycleScript:()=>_De,prepareExternalProject:()=>JDe});var Ud={};ft(Ud,{getLibzipPromise:()=>fn,getLibzipSync:()=>L5});var N5=ge(R5());var El=[\"number\",\"number\"],qP;(function(L){L[L.ZIP_ER_OK=0]=\"ZIP_ER_OK\",L[L.ZIP_ER_MULTIDISK=1]=\"ZIP_ER_MULTIDISK\",L[L.ZIP_ER_RENAME=2]=\"ZIP_ER_RENAME\",L[L.ZIP_ER_CLOSE=3]=\"ZIP_ER_CLOSE\",L[L.ZIP_ER_SEEK=4]=\"ZIP_ER_SEEK\",L[L.ZIP_ER_READ=5]=\"ZIP_ER_READ\",L[L.ZIP_ER_WRITE=6]=\"ZIP_ER_WRITE\",L[L.ZIP_ER_CRC=7]=\"ZIP_ER_CRC\",L[L.ZIP_ER_ZIPCLOSED=8]=\"ZIP_ER_ZIPCLOSED\",L[L.ZIP_ER_NOENT=9]=\"ZIP_ER_NOENT\",L[L.ZIP_ER_EXISTS=10]=\"ZIP_ER_EXISTS\",L[L.ZIP_ER_OPEN=11]=\"ZIP_ER_OPEN\",L[L.ZIP_ER_TMPOPEN=12]=\"ZIP_ER_TMPOPEN\",L[L.ZIP_ER_ZLIB=13]=\"ZIP_ER_ZLIB\",L[L.ZIP_ER_MEMORY=14]=\"ZIP_ER_MEMORY\",L[L.ZIP_ER_CHANGED=15]=\"ZIP_ER_CHANGED\",L[L.ZIP_ER_COMPNOTSUPP=16]=\"ZIP_ER_COMPNOTSUPP\",L[L.ZIP_ER_EOF=17]=\"ZIP_ER_EOF\",L[L.ZIP_ER_INVAL=18]=\"ZIP_ER_INVAL\",L[L.ZIP_ER_NOZIP=19]=\"ZIP_ER_NOZIP\",L[L.ZIP_ER_INTERNAL=20]=\"ZIP_ER_INTERNAL\",L[L.ZIP_ER_INCONS=21]=\"ZIP_ER_INCONS\",L[L.ZIP_ER_REMOVE=22]=\"ZIP_ER_REMOVE\",L[L.ZIP_ER_DELETED=23]=\"ZIP_ER_DELETED\",L[L.ZIP_ER_ENCRNOTSUPP=24]=\"ZIP_ER_ENCRNOTSUPP\",L[L.ZIP_ER_RDONLY=25]=\"ZIP_ER_RDONLY\",L[L.ZIP_ER_NOPASSWD=26]=\"ZIP_ER_NOPASSWD\",L[L.ZIP_ER_WRONGPASSWD=27]=\"ZIP_ER_WRONGPASSWD\",L[L.ZIP_ER_OPNOTSUPP=28]=\"ZIP_ER_OPNOTSUPP\",L[L.ZIP_ER_INUSE=29]=\"ZIP_ER_INUSE\",L[L.ZIP_ER_TELL=30]=\"ZIP_ER_TELL\",L[L.ZIP_ER_COMPRESSED_DATA=31]=\"ZIP_ER_COMPRESSED_DATA\"})(qP||(qP={}));var F5=r=>({get HEAP8(){return r.HEAP8},get HEAPU8(){return r.HEAPU8},errors:qP,SEEK_SET:0,SEEK_CUR:1,SEEK_END:2,ZIP_CHECKCONS:4,ZIP_CREATE:1,ZIP_EXCL:2,ZIP_TRUNCATE:8,ZIP_RDONLY:16,ZIP_FL_OVERWRITE:8192,ZIP_FL_COMPRESSED:4,ZIP_OPSYS_DOS:0,ZIP_OPSYS_AMIGA:1,ZIP_OPSYS_OPENVMS:2,ZIP_OPSYS_UNIX:3,ZIP_OPSYS_VM_CMS:4,ZIP_OPSYS_ATARI_ST:5,ZIP_OPSYS_OS_2:6,ZIP_OPSYS_MACINTOSH:7,ZIP_OPSYS_Z_SYSTEM:8,ZIP_OPSYS_CPM:9,ZIP_OPSYS_WINDOWS_NTFS:10,ZIP_OPSYS_MVS:11,ZIP_OPSYS_VSE:12,ZIP_OPSYS_ACORN_RISC:13,ZIP_OPSYS_VFAT:14,ZIP_OPSYS_ALTERNATE_MVS:15,ZIP_OPSYS_BEOS:16,ZIP_OPSYS_TANDEM:17,ZIP_OPSYS_OS_400:18,ZIP_OPSYS_OS_X:19,ZIP_CM_DEFAULT:-1,ZIP_CM_STORE:0,ZIP_CM_DEFLATE:8,uint08S:r._malloc(1),uint16S:r._malloc(2),uint32S:r._malloc(4),uint64S:r._malloc(8),malloc:r._malloc,free:r._free,getValue:r.getValue,open:r.cwrap(\"zip_open\",\"number\",[\"string\",\"number\",\"number\"]),openFromSource:r.cwrap(\"zip_open_from_source\",\"number\",[\"number\",\"number\",\"number\"]),close:r.cwrap(\"zip_close\",\"number\",[\"number\"]),discard:r.cwrap(\"zip_discard\",null,[\"number\"]),getError:r.cwrap(\"zip_get_error\",\"number\",[\"number\"]),getName:r.cwrap(\"zip_get_name\",\"string\",[\"number\",\"number\",\"number\"]),getNumEntries:r.cwrap(\"zip_get_num_entries\",\"number\",[\"number\",\"number\"]),delete:r.cwrap(\"zip_delete\",\"number\",[\"number\",\"number\"]),stat:r.cwrap(\"zip_stat\",\"number\",[\"number\",\"string\",\"number\",\"number\"]),statIndex:r.cwrap(\"zip_stat_index\",\"number\",[\"number\",...El,\"number\",\"number\"]),fopen:r.cwrap(\"zip_fopen\",\"number\",[\"number\",\"string\",\"number\"]),fopenIndex:r.cwrap(\"zip_fopen_index\",\"number\",[\"number\",...El,\"number\"]),fread:r.cwrap(\"zip_fread\",\"number\",[\"number\",\"number\",\"number\",\"number\"]),fclose:r.cwrap(\"zip_fclose\",\"number\",[\"number\"]),dir:{add:r.cwrap(\"zip_dir_add\",\"number\",[\"number\",\"string\"])},file:{add:r.cwrap(\"zip_file_add\",\"number\",[\"number\",\"string\",\"number\",\"number\"]),getError:r.cwrap(\"zip_file_get_error\",\"number\",[\"number\"]),getExternalAttributes:r.cwrap(\"zip_file_get_external_attributes\",\"number\",[\"number\",...El,\"number\",\"number\",\"number\"]),setExternalAttributes:r.cwrap(\"zip_file_set_external_attributes\",\"number\",[\"number\",...El,\"number\",\"number\",\"number\"]),setMtime:r.cwrap(\"zip_file_set_mtime\",\"number\",[\"number\",...El,\"number\",\"number\"]),setCompression:r.cwrap(\"zip_set_file_compression\",\"number\",[\"number\",...El,\"number\",\"number\"])},ext:{countSymlinks:r.cwrap(\"zip_ext_count_symlinks\",\"number\",[\"number\"])},error:{initWithCode:r.cwrap(\"zip_error_init_with_code\",null,[\"number\",\"number\"]),strerror:r.cwrap(\"zip_error_strerror\",\"string\",[\"number\"])},name:{locate:r.cwrap(\"zip_name_locate\",\"number\",[\"number\",\"string\",\"number\"])},source:{fromUnattachedBuffer:r.cwrap(\"zip_source_buffer_create\",\"number\",[\"number\",\"number\",\"number\",\"number\"]),fromBuffer:r.cwrap(\"zip_source_buffer\",\"number\",[\"number\",\"number\",...El,\"number\"]),free:r.cwrap(\"zip_source_free\",null,[\"number\"]),keep:r.cwrap(\"zip_source_keep\",null,[\"number\"]),open:r.cwrap(\"zip_source_open\",\"number\",[\"number\"]),close:r.cwrap(\"zip_source_close\",\"number\",[\"number\"]),seek:r.cwrap(\"zip_source_seek\",\"number\",[\"number\",...El,\"number\"]),tell:r.cwrap(\"zip_source_tell\",\"number\",[\"number\"]),read:r.cwrap(\"zip_source_read\",\"number\",[\"number\",\"number\",\"number\"]),error:r.cwrap(\"zip_source_error\",\"number\",[\"number\"]),setMtime:r.cwrap(\"zip_source_set_mtime\",\"number\",[\"number\",\"number\"])},struct:{stat:r.cwrap(\"zipstruct_stat\",\"number\",[]),statS:r.cwrap(\"zipstruct_statS\",\"number\",[]),statName:r.cwrap(\"zipstruct_stat_name\",\"string\",[\"number\"]),statIndex:r.cwrap(\"zipstruct_stat_index\",\"number\",[\"number\"]),statSize:r.cwrap(\"zipstruct_stat_size\",\"number\",[\"number\"]),statCompSize:r.cwrap(\"zipstruct_stat_comp_size\",\"number\",[\"number\"]),statCompMethod:r.cwrap(\"zipstruct_stat_comp_method\",\"number\",[\"number\"]),statMtime:r.cwrap(\"zipstruct_stat_mtime\",\"number\",[\"number\"]),statCrc:r.cwrap(\"zipstruct_stat_crc\",\"number\",[\"number\"]),error:r.cwrap(\"zipstruct_error\",\"number\",[]),errorS:r.cwrap(\"zipstruct_errorS\",\"number\",[]),errorCodeZip:r.cwrap(\"zipstruct_error_code_zip\",\"number\",[\"number\"])}});var JP=null;function L5(){return JP===null&&(JP=F5((0,N5.default)())),JP}async function fn(){return L5()}var Hd={};ft(Hd,{ShellError:()=>Ks,execute:()=>Zw,globUtils:()=>qw});var W5=ge(gv()),z5=ge(require(\"os\")),os=ge(require(\"stream\")),_5=ge(require(\"util\"));var Ks=class extends Error{constructor(e){super(e);this.name=\"ShellError\"}};var qw={};ft(qw,{fastGlobOptions:()=>M5,isBraceExpansion:()=>U5,isGlobPattern:()=>RPe,match:()=>FPe,micromatchOptions:()=>Ww});var T5=ge($y()),O5=ge(require(\"fs\")),Jw=ge(ns()),Ww={strictBrackets:!0},M5={onlyDirectories:!1,onlyFiles:!1};function RPe(r){if(!Jw.default.scan(r,Ww).isGlob)return!1;try{Jw.default.parse(r,Ww)}catch{return!1}return!0}function FPe(r,{cwd:e,baseFs:t}){return(0,T5.default)(r,te(N({},M5),{cwd:H.fromPortablePath(e),fs:zE(O5.default,new Xh(t))}))}function U5(r){return Jw.default.scan(r,Ww).isBrace}var K5=ge(vQ()),sa=ge(require(\"stream\")),H5=ge(require(\"string_decoder\")),Nn;(function(i){i[i.STDIN=0]=\"STDIN\",i[i.STDOUT=1]=\"STDOUT\",i[i.STDERR=2]=\"STDERR\"})(Nn||(Nn={}));var Zc=new Set;function WP(){}function zP(){for(let r of Zc)r.kill()}function j5(r,e,t,i){return n=>{let s=n[0]instanceof sa.Transform?\"pipe\":n[0],o=n[1]instanceof sa.Transform?\"pipe\":n[1],a=n[2]instanceof sa.Transform?\"pipe\":n[2],l=(0,K5.default)(r,e,te(N({},i),{stdio:[s,o,a]}));return Zc.add(l),Zc.size===1&&(process.on(\"SIGINT\",WP),process.on(\"SIGTERM\",zP)),n[0]instanceof sa.Transform&&n[0].pipe(l.stdin),n[1]instanceof sa.Transform&&l.stdout.pipe(n[1],{end:!1}),n[2]instanceof sa.Transform&&l.stderr.pipe(n[2],{end:!1}),{stdin:l.stdin,promise:new Promise(c=>{l.on(\"error\",u=>{switch(Zc.delete(l),Zc.size===0&&(process.off(\"SIGINT\",WP),process.off(\"SIGTERM\",zP)),u.code){case\"ENOENT\":n[2].write(`command not found: ${r}\n`),c(127);break;case\"EACCES\":n[2].write(`permission denied: ${r}\n`),c(128);break;default:n[2].write(`uncaught error: ${u.message}\n`),c(1);break}}),l.on(\"close\",u=>{Zc.delete(l),Zc.size===0&&(process.off(\"SIGINT\",WP),process.off(\"SIGTERM\",zP)),c(u!==null?u:129)})})}}}function G5(r){return e=>{let t=e[0]===\"pipe\"?new sa.PassThrough:e[0];return{stdin:t,promise:Promise.resolve().then(()=>r({stdin:t,stdout:e[1],stderr:e[2]}))}}}var Io=class{constructor(e){this.stream=e}close(){}get(){return this.stream}},Y5=class{constructor(){this.stream=null}close(){if(this.stream===null)throw new Error(\"Assertion failed: No stream attached\");this.stream.end()}attach(e){this.stream=e}get(){if(this.stream===null)throw new Error(\"Assertion failed: No stream attached\");return this.stream}},Kd=class{constructor(e,t){this.stdin=null;this.stdout=null;this.stderr=null;this.pipe=null;this.ancestor=e,this.implementation=t}static start(e,{stdin:t,stdout:i,stderr:n}){let s=new Kd(null,e);return s.stdin=t,s.stdout=i,s.stderr=n,s}pipeTo(e,t=1){let i=new Kd(this,e),n=new Y5;return i.pipe=n,i.stdout=this.stdout,i.stderr=this.stderr,(t&1)==1?this.stdout=n:this.ancestor!==null&&(this.stderr=this.ancestor.stdout),(t&2)==2?this.stderr=n:this.ancestor!==null&&(this.stderr=this.ancestor.stderr),i}async exec(){let e=[\"ignore\",\"ignore\",\"ignore\"];if(this.pipe)e[0]=\"pipe\";else{if(this.stdin===null)throw new Error(\"Assertion failed: No input stream registered\");e[0]=this.stdin.get()}let t;if(this.stdout===null)throw new Error(\"Assertion failed: No output stream registered\");t=this.stdout,e[1]=t.get();let i;if(this.stderr===null)throw new Error(\"Assertion failed: No error stream registered\");i=this.stderr,e[2]=i.get();let n=this.implementation(e);return this.pipe&&this.pipe.attach(n.stdin),await n.promise.then(s=>(t.close(),i.close(),s))}async run(){let e=[];for(let i=this;i;i=i.ancestor)e.push(i.exec());return(await Promise.all(e))[0]}};function zw(r,e){return Kd.start(r,e)}function q5(r,e=null){let t=new sa.PassThrough,i=new H5.StringDecoder,n=\"\";return t.on(\"data\",s=>{let o=i.write(s),a;do if(a=o.indexOf(`\n`),a!==-1){let l=n+o.substring(0,a);o=o.substring(a+1),n=\"\",r(e!==null?`${e} ${l}`:l)}while(a!==-1);n+=o}),t.on(\"end\",()=>{let s=i.end();s!==\"\"&&r(e!==null?`${e} ${s}`:s)}),t}function J5(r,{prefix:e}){return{stdout:q5(t=>r.stdout.write(`${t}\n`),r.stdout.isTTY?e:null),stderr:q5(t=>r.stderr.write(`${t}\n`),r.stderr.isTTY?e:null)}}var NPe=(0,_5.promisify)(setTimeout);var zi;(function(t){t[t.Readable=1]=\"Readable\",t[t.Writable=2]=\"Writable\"})(zi||(zi={}));function V5(r,e,t){let i=new os.PassThrough({autoDestroy:!0});switch(r){case Nn.STDIN:(e&1)==1&&t.stdin.pipe(i,{end:!1}),(e&2)==2&&t.stdin instanceof os.Writable&&i.pipe(t.stdin,{end:!1});break;case Nn.STDOUT:(e&1)==1&&t.stdout.pipe(i,{end:!1}),(e&2)==2&&i.pipe(t.stdout,{end:!1});break;case Nn.STDERR:(e&1)==1&&t.stderr.pipe(i,{end:!1}),(e&2)==2&&i.pipe(t.stderr,{end:!1});break;default:throw new Ks(`Bad file descriptor: \"${r}\"`)}return i}function _w(r,e={}){let t=N(N({},r),e);return t.environment=N(N({},r.environment),e.environment),t.variables=N(N({},r.variables),e.variables),t}var LPe=new Map([[\"cd\",async([r=(0,z5.homedir)(),...e],t,i)=>{let n=x.resolve(i.cwd,H.toPortablePath(r));if(!(await t.baseFs.statPromise(n).catch(o=>{throw o.code===\"ENOENT\"?new Ks(`cd: no such file or directory: ${r}`):o})).isDirectory())throw new Ks(`cd: not a directory: ${r}`);return i.cwd=n,0}],[\"pwd\",async(r,e,t)=>(t.stdout.write(`${H.fromPortablePath(t.cwd)}\n`),0)],[\":\",async(r,e,t)=>0],[\"true\",async(r,e,t)=>0],[\"false\",async(r,e,t)=>1],[\"exit\",async([r,...e],t,i)=>i.exitCode=parseInt(r!=null?r:i.variables[\"?\"],10)],[\"echo\",async(r,e,t)=>(t.stdout.write(`${r.join(\" \")}\n`),0)],[\"sleep\",async([r],e,t)=>{if(typeof r==\"undefined\")throw new Ks(\"sleep: missing operand\");let i=Number(r);if(Number.isNaN(i))throw new Ks(`sleep: invalid time interval '${r}'`);return await NPe(1e3*i,0)}],[\"__ysh_run_procedure\",async(r,e,t)=>{let i=t.procedures[r[0]];return await zw(i,{stdin:new Io(t.stdin),stdout:new Io(t.stdout),stderr:new Io(t.stderr)}).run()}],[\"__ysh_set_redirects\",async(r,e,t)=>{let i=t.stdin,n=t.stdout,s=t.stderr,o=[],a=[],l=[],c=0;for(;r[c]!==\"--\";){let g=r[c++],{type:f,fd:h}=JSON.parse(g),p=v=>{switch(h){case null:case 0:o.push(v);break;default:throw new Error(`Unsupported file descriptor: \"${h}\"`)}},m=v=>{switch(h){case null:case 1:a.push(v);break;case 2:l.push(v);break;default:throw new Error(`Unsupported file descriptor: \"${h}\"`)}},y=Number(r[c++]),b=c+y;for(let v=c;v<b;++c,++v)switch(f){case\"<\":p(()=>e.baseFs.createReadStream(x.resolve(t.cwd,H.toPortablePath(r[v]))));break;case\"<<<\":p(()=>{let k=new os.PassThrough;return process.nextTick(()=>{k.write(`${r[v]}\n`),k.end()}),k});break;case\"<&\":p(()=>V5(Number(r[v]),1,t));break;case\">\":case\">>\":{let k=x.resolve(t.cwd,H.toPortablePath(r[v]));m(k===\"/dev/null\"?new os.Writable({autoDestroy:!0,emitClose:!0,write(T,Y,q){setImmediate(q)}}):e.baseFs.createWriteStream(k,f===\">>\"?{flags:\"a\"}:void 0))}break;case\">&\":m(V5(Number(r[v]),2,t));break;default:throw new Error(`Assertion failed: Unsupported redirection type: \"${f}\"`)}}if(o.length>0){let g=new os.PassThrough;i=g;let f=h=>{if(h===o.length)g.end();else{let p=o[h]();p.pipe(g,{end:!1}),p.on(\"end\",()=>{f(h+1)})}};f(0)}if(a.length>0){let g=new os.PassThrough;n=g;for(let f of a)g.pipe(f)}if(l.length>0){let g=new os.PassThrough;s=g;for(let f of l)g.pipe(f)}let u=await zw(jd(r.slice(c+1),e,t),{stdin:new Io(i),stdout:new Io(n),stderr:new Io(s)}).run();return await Promise.all(a.map(g=>new Promise((f,h)=>{g.on(\"error\",p=>{h(p)}),g.on(\"close\",()=>{f()}),g.end()}))),await Promise.all(l.map(g=>new Promise((f,h)=>{g.on(\"error\",p=>{h(p)}),g.on(\"close\",()=>{f()}),g.end()}))),u}]]);async function TPe(r,e,t){let i=[],n=new os.PassThrough;return n.on(\"data\",s=>i.push(s)),await Vw(r,e,_w(t,{stdout:n})),Buffer.concat(i).toString().replace(/[\\r\\n]+$/,\"\")}async function X5(r,e,t){let i=r.map(async s=>{let o=await AA(s.args,e,t);return{name:s.name,value:o.join(\" \")}});return(await Promise.all(i)).reduce((s,o)=>(s[o.name]=o.value,s),{})}function Xw(r){return r.match(/[^ \\r\\n\\t]+/g)||[]}async function Z5(r,e,t,i,n=i){switch(r.name){case\"$\":i(String(process.pid));break;case\"#\":i(String(e.args.length));break;case\"@\":if(r.quoted)for(let s of e.args)n(s);else for(let s of e.args){let o=Xw(s);for(let a=0;a<o.length-1;++a)n(o[a]);i(o[o.length-1])}break;case\"*\":{let s=e.args.join(\" \");if(r.quoted)i(s);else for(let o of Xw(s))n(o)}break;case\"PPID\":i(String(process.ppid));break;case\"RANDOM\":i(String(Math.floor(Math.random()*32768)));break;default:{let s=parseInt(r.name,10),o;if(Number.isFinite(s))if(s>=0&&s<e.args.length)o=e.args[s];else if(r.defaultValue)o=(await AA(r.defaultValue,e,t)).join(\" \");else if(r.alternativeValue)o=(await AA(r.alternativeValue,e,t)).join(\" \");else throw new Ks(`Unbound argument #${s}`);else if(Object.prototype.hasOwnProperty.call(t.variables,r.name))o=t.variables[r.name];else if(Object.prototype.hasOwnProperty.call(t.environment,r.name))o=t.environment[r.name];else if(r.defaultValue)o=(await AA(r.defaultValue,e,t)).join(\" \");else throw new Ks(`Unbound variable \"${r.name}\"`);if(typeof o!=\"undefined\"&&r.alternativeValue&&(o=(await AA(r.alternativeValue,e,t)).join(\" \")),r.quoted)i(o);else{let a=Xw(o);for(let c=0;c<a.length-1;++c)n(a[c]);let l=a[a.length-1];typeof l!=\"undefined\"&&i(l)}}break}}var OPe={addition:(r,e)=>r+e,subtraction:(r,e)=>r-e,multiplication:(r,e)=>r*e,division:(r,e)=>Math.trunc(r/e)};async function Gd(r,e,t){if(r.type===\"number\"){if(Number.isInteger(r.value))return r.value;throw new Error(`Invalid number: \"${r.value}\", only integers are allowed`)}else if(r.type===\"variable\"){let i=[];await Z5(te(N({},r),{quoted:!0}),e,t,s=>i.push(s));let n=Number(i.join(\" \"));return Number.isNaN(n)?Gd({type:\"variable\",name:i.join(\" \")},e,t):Gd({type:\"number\",value:n},e,t)}else return OPe[r.type](await Gd(r.left,e,t),await Gd(r.right,e,t))}async function AA(r,e,t){let i=new Map,n=[],s=[],o=u=>{s.push(u)},a=()=>{s.length>0&&n.push(s.join(\"\")),s=[]},l=u=>{o(u),a()},c=(u,g,f)=>{let h=JSON.stringify({type:u,fd:g}),p=i.get(h);typeof p==\"undefined\"&&i.set(h,p=[]),p.push(f)};for(let u of r){let g=!1;switch(u.type){case\"redirection\":{let f=await AA(u.args,e,t);for(let h of f)c(u.subtype,u.fd,h)}break;case\"argument\":for(let f of u.segments)switch(f.type){case\"text\":o(f.text);break;case\"glob\":o(f.pattern),g=!0;break;case\"shell\":{let h=await TPe(f.shell,e,t);if(f.quoted)o(h);else{let p=Xw(h);for(let m=0;m<p.length-1;++m)l(p[m]);o(p[p.length-1])}}break;case\"variable\":await Z5(f,e,t,o,l);break;case\"arithmetic\":o(String(await Gd(f.arithmetic,e,t)));break}break}if(a(),g){let f=n.pop();if(typeof f==\"undefined\")throw new Error(\"Assertion failed: Expected a glob pattern to have been set\");let h=await e.glob.match(f,{cwd:t.cwd,baseFs:e.baseFs});if(h.length===0){let p=U5(f)?\". Note: Brace expansion of arbitrary strings isn't currently supported. For more details, please read this issue: https://github.com/yarnpkg/berry/issues/22\":\"\";throw new Ks(`No matches found: \"${f}\"${p}`)}for(let p of h.sort())l(p)}}if(i.size>0){let u=[];for(let[g,f]of i.entries())u.splice(u.length,0,g,String(f.length),...f);n.splice(0,0,\"__ysh_set_redirects\",...u,\"--\")}return n}function jd(r,e,t){e.builtins.has(r[0])||(r=[\"command\",...r]);let i=H.fromPortablePath(t.cwd),n=t.environment;typeof n.PWD!=\"undefined\"&&(n=te(N({},n),{PWD:i}));let[s,...o]=r;if(s===\"command\")return j5(o[0],o.slice(1),e,{cwd:i,env:n});let a=e.builtins.get(s);if(typeof a==\"undefined\")throw new Error(`Assertion failed: A builtin should exist for \"${s}\"`);return G5(async({stdin:l,stdout:c,stderr:u})=>{let{stdin:g,stdout:f,stderr:h}=t;t.stdin=l,t.stdout=c,t.stderr=u;try{return await a(o,e,t)}finally{t.stdin=g,t.stdout=f,t.stderr=h}})}function MPe(r,e,t){return i=>{let n=new os.PassThrough,s=Vw(r,e,_w(t,{stdin:n}));return{stdin:n,promise:s}}}function UPe(r,e,t){return i=>{let n=new os.PassThrough,s=Vw(r,e,t);return{stdin:n,promise:s}}}function $5(r,e,t,i){if(e.length===0)return r;{let n;do n=String(Math.random());while(Object.prototype.hasOwnProperty.call(i.procedures,n));return i.procedures=N({},i.procedures),i.procedures[n]=r,jd([...e,\"__ysh_run_procedure\",n],t,i)}}async function e9(r,e,t){let i=r,n=null,s=null;for(;i;){let o=i.then?N({},t):t,a;switch(i.type){case\"command\":{let l=await AA(i.args,e,t),c=await X5(i.envs,e,t);a=i.envs.length?jd(l,e,_w(o,{environment:c})):jd(l,e,o)}break;case\"subshell\":{let l=await AA(i.args,e,t),c=MPe(i.subshell,e,o);a=$5(c,l,e,o)}break;case\"group\":{let l=await AA(i.args,e,t),c=UPe(i.group,e,o);a=$5(c,l,e,o)}break;case\"envs\":{let l=await X5(i.envs,e,t);o.environment=N(N({},o.environment),l),a=jd([\"true\"],e,o)}break}if(typeof a==\"undefined\")throw new Error(\"Assertion failed: An action should have been generated\");if(n===null)s=zw(a,{stdin:new Io(o.stdin),stdout:new Io(o.stdout),stderr:new Io(o.stderr)});else{if(s===null)throw new Error(\"Assertion failed: The execution pipeline should have been setup\");switch(n){case\"|\":s=s.pipeTo(a,Nn.STDOUT);break;case\"|&\":s=s.pipeTo(a,Nn.STDOUT|Nn.STDERR);break}}i.then?(n=i.then.type,i=i.then.chain):i=null}if(s===null)throw new Error(\"Assertion failed: The execution pipeline should have been setup\");return await s.run()}async function KPe(r,e,t,{background:i=!1}={}){function n(s){let o=[\"#2E86AB\",\"#A23B72\",\"#F18F01\",\"#C73E1D\",\"#CCE2A3\"],a=o[s%o.length];return W5.default.hex(a)}if(i){let s=t.nextBackgroundJobIndex++,o=n(s),a=`[${s}]`,l=o(a),{stdout:c,stderr:u}=J5(t,{prefix:l});return t.backgroundJobs.push(e9(r,e,_w(t,{stdout:c,stderr:u})).catch(g=>u.write(`${g.message}\n`)).finally(()=>{t.stdout.isTTY&&t.stdout.write(`Job ${l}, '${o(tg(r))}' has ended\n`)})),0}return await e9(r,e,t)}async function HPe(r,e,t,{background:i=!1}={}){let n,s=a=>{n=a,t.variables[\"?\"]=String(a)},o=async a=>{try{return await KPe(a.chain,e,t,{background:i&&typeof a.then==\"undefined\"})}catch(l){if(!(l instanceof Ks))throw l;return t.stderr.write(`${l.message}\n`),1}};for(s(await o(r));r.then;){if(t.exitCode!==null)return t.exitCode;switch(r.then.type){case\"&&\":n===0&&s(await o(r.then.line));break;case\"||\":n!==0&&s(await o(r.then.line));break;default:throw new Error(`Assertion failed: Unsupported command type: \"${r.then.type}\"`)}r=r.then.line}return n}async function Vw(r,e,t){let i=t.backgroundJobs;t.backgroundJobs=[];let n=0;for(let{command:s,type:o}of r){if(n=await HPe(s,e,t,{background:o===\"&\"}),t.exitCode!==null)return t.exitCode;t.variables[\"?\"]=String(n)}return await Promise.all(t.backgroundJobs),t.backgroundJobs=i,n}function t9(r){switch(r.type){case\"variable\":return r.name===\"@\"||r.name===\"#\"||r.name===\"*\"||Number.isFinite(parseInt(r.name,10))||\"defaultValue\"in r&&!!r.defaultValue&&r.defaultValue.some(e=>Yd(e))||\"alternativeValue\"in r&&!!r.alternativeValue&&r.alternativeValue.some(e=>Yd(e));case\"arithmetic\":return _P(r.arithmetic);case\"shell\":return VP(r.shell);default:return!1}}function Yd(r){switch(r.type){case\"redirection\":return r.args.some(e=>Yd(e));case\"argument\":return r.segments.some(e=>t9(e));default:throw new Error(`Assertion failed: Unsupported argument type: \"${r.type}\"`)}}function _P(r){switch(r.type){case\"variable\":return t9(r);case\"number\":return!1;default:return _P(r.left)||_P(r.right)}}function VP(r){return r.some(({command:e})=>{for(;e;){let t=e.chain;for(;t;){let i;switch(t.type){case\"subshell\":i=VP(t.subshell);break;case\"command\":i=t.envs.some(n=>n.args.some(s=>Yd(s)))||t.args.some(n=>Yd(n));break}if(i)return!0;if(!t.then)break;t=t.then.chain}if(!e.then)break;e=e.then.line}return!1})}async function Zw(r,e=[],{baseFs:t=new ar,builtins:i={},cwd:n=H.toPortablePath(process.cwd()),env:s=process.env,stdin:o=process.stdin,stdout:a=process.stdout,stderr:l=process.stderr,variables:c={},glob:u=qw}={}){let g={};for(let[p,m]of Object.entries(s))typeof m!=\"undefined\"&&(g[p]=m);let f=new Map(LPe);for(let[p,m]of Object.entries(i))f.set(p,m);o===null&&(o=new os.PassThrough,o.end());let h=VE(r,u);if(!VP(h)&&h.length>0&&e.length>0){let{command:p}=h[h.length-1];for(;p.then;)p=p.then.line;let m=p.chain;for(;m.then;)m=m.then.chain;m.type===\"command\"&&(m.args=m.args.concat(e.map(y=>({type:\"argument\",segments:[{type:\"text\",text:y}]}))))}return await Vw(h,{args:e,baseFs:t,builtins:f,initialStdin:o,initialStdout:a,initialStderr:l,glob:u},{cwd:n,environment:g,exitCode:null,procedures:{},stdin:o,stdout:a,stderr:l,variables:Object.assign({},c,{[\"?\"]:0}),nextBackgroundJobIndex:1,backgroundJobs:[]})}var H9=ge($w()),j9=ge(fg()),Il=ge(require(\"stream\"));var T9=ge(L9()),rB=ge(yc());var O9=[\"\\u280B\",\"\\u2819\",\"\\u2839\",\"\\u2838\",\"\\u283C\",\"\\u2834\",\"\\u2826\",\"\\u2827\",\"\\u2807\",\"\\u280F\"],M9=80,UDe=new Set([X.FETCH_NOT_CACHED,X.UNUSED_CACHE_ENTRY]),KDe=5,iB=rB.default.GITHUB_ACTIONS?{start:r=>`::group::${r}\n`,end:r=>`::endgroup::\n`}:rB.default.TRAVIS?{start:r=>`travis_fold:start:${r}\n`,end:r=>`travis_fold:end:${r}\n`}:rB.default.GITLAB?{start:r=>`section_start:${Math.floor(Date.now()/1e3)}:${r.toLowerCase().replace(/\\W+/g,\"_\")}[collapsed=true]\\r\u001b[0K${r}\n`,end:r=>`section_end:${Math.floor(Date.now()/1e3)}:${r.toLowerCase().replace(/\\W+/g,\"_\")}\\r\u001b[0K`}:null,U9=new Date,HDe=[\"iTerm.app\",\"Apple_Terminal\"].includes(process.env.TERM_PROGRAM)||!!process.env.WT_SESSION,jDe=r=>r,nB=jDe({patrick:{date:[17,3],chars:[\"\\u{1F340}\",\"\\u{1F331}\"],size:40},simba:{date:[19,7],chars:[\"\\u{1F981}\",\"\\u{1F334}\"],size:40},jack:{date:[31,10],chars:[\"\\u{1F383}\",\"\\u{1F987}\"],size:40},hogsfather:{date:[31,12],chars:[\"\\u{1F389}\",\"\\u{1F384}\"],size:40},default:{chars:[\"=\",\"-\"],size:80}}),GDe=HDe&&Object.keys(nB).find(r=>{let e=nB[r];return!(e.date&&(e.date[0]!==U9.getDate()||e.date[1]!==U9.getMonth()+1))})||\"default\";function K9(r,{configuration:e,json:t}){if(!e.get(\"enableMessageNames\"))return\"\";let n=VA(r===null?0:r);return!t&&r===null?tt(e,n,\"grey\"):n}function tD(r,{configuration:e,json:t}){let i=K9(r,{configuration:e,json:t});if(!i||r===null||r===X.UNNAMED)return i;let n=X[r],s=`https://yarnpkg.com/advanced/error-codes#${i}---${n}`.toLowerCase();return Ug(e,i,s)}var Je=class extends Ji{constructor({configuration:e,stdout:t,json:i=!1,includeFooter:n=!0,includeLogs:s=!i,includeInfos:o=s,includeWarnings:a=s,forgettableBufferSize:l=KDe,forgettableNames:c=new Set}){super();this.uncommitted=new Set;this.cacheHitCount=0;this.cacheMissCount=0;this.lastCacheMiss=null;this.warningCount=0;this.errorCount=0;this.startTime=Date.now();this.indent=0;this.progress=new Map;this.progressTime=0;this.progressFrame=0;this.progressTimeout=null;this.progressStyle=null;this.progressMaxScaledSize=null;this.forgettableLines=[];if(sd(this,{configuration:e}),this.configuration=e,this.forgettableBufferSize=l,this.forgettableNames=new Set([...c,...UDe]),this.includeFooter=n,this.includeInfos=o,this.includeWarnings=a,this.json=i,this.stdout=t,e.get(\"enableProgressBars\")&&!i&&t.isTTY&&t.columns>22){let u=e.get(\"progressBarStyle\")||GDe;if(!Object.prototype.hasOwnProperty.call(nB,u))throw new Error(\"Assertion failed: Invalid progress bar style\");this.progressStyle=nB[u];let g=\"\\u27A4 YN0000: \\u250C \".length,f=Math.max(0,Math.min(t.columns-g,80));this.progressMaxScaledSize=Math.floor(this.progressStyle.size*f/80)}}static async start(e,t){let i=new this(e),n=process.emitWarning;process.emitWarning=(s,o)=>{if(typeof s!=\"string\"){let l=s;s=l.message,o=o!=null?o:l.name}let a=typeof o!=\"undefined\"?`${o}: ${s}`:s;i.reportWarning(X.UNNAMED,a)};try{await t(i)}catch(s){i.reportExceptionOnce(s)}finally{await i.finalize(),process.emitWarning=n}return i}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(e){this.cacheHitCount+=1}reportCacheMiss(e,t){this.lastCacheMiss=e,this.cacheMissCount+=1,typeof t!=\"undefined\"&&!this.configuration.get(\"preferAggregateCacheInfo\")&&this.reportInfo(X.FETCH_NOT_CACHED,t)}startSectionSync({reportHeader:e,reportFooter:t,skipIfEmpty:i},n){let s={committed:!1,action:()=>{e==null||e()}};i?this.uncommitted.add(s):(s.action(),s.committed=!0);let o=Date.now();try{return n()}catch(a){throw this.reportExceptionOnce(a),a}finally{let a=Date.now();this.uncommitted.delete(s),s.committed&&(t==null||t(a-o))}}async startSectionPromise({reportHeader:e,reportFooter:t,skipIfEmpty:i},n){let s={committed:!1,action:()=>{e==null||e()}};i?this.uncommitted.add(s):(s.action(),s.committed=!0);let o=Date.now();try{return await n()}catch(a){throw this.reportExceptionOnce(a),a}finally{let a=Date.now();this.uncommitted.delete(s),s.committed&&(t==null||t(a-o))}}startTimerImpl(e,t,i){let n=typeof t==\"function\"?{}:t;return{cb:typeof t==\"function\"?t:i,reportHeader:()=>{this.reportInfo(null,`\\u250C ${e}`),this.indent+=1,iB!==null&&!this.json&&this.includeInfos&&this.stdout.write(iB.start(e))},reportFooter:o=>{this.indent-=1,iB!==null&&!this.json&&this.includeInfos&&this.stdout.write(iB.end(e)),this.configuration.get(\"enableTimers\")&&o>200?this.reportInfo(null,`\\u2514 Completed in ${tt(this.configuration,o,Ye.DURATION)}`):this.reportInfo(null,\"\\u2514 Completed\")},skipIfEmpty:n.skipIfEmpty}}startTimerSync(e,t,i){let o=this.startTimerImpl(e,t,i),{cb:n}=o,s=Or(o,[\"cb\"]);return this.startSectionSync(s,n)}async startTimerPromise(e,t,i){let o=this.startTimerImpl(e,t,i),{cb:n}=o,s=Or(o,[\"cb\"]);return this.startSectionPromise(s,n)}async startCacheReport(e){let t=this.configuration.get(\"preferAggregateCacheInfo\")?{cacheHitCount:this.cacheHitCount,cacheMissCount:this.cacheMissCount}:null;try{return await e()}catch(i){throw this.reportExceptionOnce(i),i}finally{t!==null&&this.reportCacheChanges(t)}}reportSeparator(){this.indent===0?this.writeLineWithForgettableReset(\"\"):this.reportInfo(null,\"\")}reportInfo(e,t){if(!this.includeInfos)return;this.commit();let i=this.formatNameWithHyperlink(e),n=i?`${i}: `:\"\",s=`${tt(this.configuration,\"\\u27A4\",\"blueBright\")} ${n}${this.formatIndent()}${t}`;if(this.json)this.reportJson({type:\"info\",name:e,displayName:this.formatName(e),indent:this.formatIndent(),data:t});else if(this.forgettableNames.has(e))if(this.forgettableLines.push(s),this.forgettableLines.length>this.forgettableBufferSize){for(;this.forgettableLines.length>this.forgettableBufferSize;)this.forgettableLines.shift();this.writeLines(this.forgettableLines,{truncate:!0})}else this.writeLine(s,{truncate:!0});else this.writeLineWithForgettableReset(s)}reportWarning(e,t){if(this.warningCount+=1,!this.includeWarnings)return;this.commit();let i=this.formatNameWithHyperlink(e),n=i?`${i}: `:\"\";this.json?this.reportJson({type:\"warning\",name:e,displayName:this.formatName(e),indent:this.formatIndent(),data:t}):this.writeLineWithForgettableReset(`${tt(this.configuration,\"\\u27A4\",\"yellowBright\")} ${n}${this.formatIndent()}${t}`)}reportError(e,t){this.errorCount+=1,this.commit();let i=this.formatNameWithHyperlink(e),n=i?`${i}: `:\"\";this.json?this.reportJson({type:\"error\",name:e,displayName:this.formatName(e),indent:this.formatIndent(),data:t}):this.writeLineWithForgettableReset(`${tt(this.configuration,\"\\u27A4\",\"redBright\")} ${n}${this.formatIndent()}${t}`,{truncate:!1})}reportProgress(e){if(this.progressStyle===null)return te(N({},Promise.resolve()),{stop:()=>{}});if(e.hasProgress&&e.hasTitle)throw new Error(\"Unimplemented: Progress bars can't have both progress and titles.\");let t=!1,i=Promise.resolve().then(async()=>{let s={progress:e.hasProgress?0:void 0,title:e.hasTitle?\"\":void 0};this.progress.set(e,{definition:s,lastScaledSize:e.hasProgress?-1:void 0,lastTitle:void 0}),this.refreshProgress({delta:-1});for await(let{progress:o,title:a}of e)t||s.progress===o&&s.title===a||(s.progress=o,s.title=a,this.refreshProgress());n()}),n=()=>{t||(t=!0,this.progress.delete(e),this.refreshProgress({delta:1}))};return te(N({},i),{stop:n})}reportJson(e){this.json&&this.writeLineWithForgettableReset(`${JSON.stringify(e)}`)}async finalize(){if(!this.includeFooter)return;let e=\"\";this.errorCount>0?e=\"Failed with errors\":this.warningCount>0?e=\"Done with warnings\":e=\"Done\";let t=tt(this.configuration,Date.now()-this.startTime,Ye.DURATION),i=this.configuration.get(\"enableTimers\")?`${e} in ${t}`:e;this.errorCount>0?this.reportError(X.UNNAMED,i):this.warningCount>0?this.reportWarning(X.UNNAMED,i):this.reportInfo(X.UNNAMED,i)}writeLine(e,{truncate:t}={}){this.clearProgress({clear:!0}),this.stdout.write(`${this.truncate(e,{truncate:t})}\n`),this.writeProgress()}writeLineWithForgettableReset(e,{truncate:t}={}){this.forgettableLines=[],this.writeLine(e,{truncate:t})}writeLines(e,{truncate:t}={}){this.clearProgress({delta:e.length});for(let i of e)this.stdout.write(`${this.truncate(i,{truncate:t})}\n`);this.writeProgress()}reportCacheChanges({cacheHitCount:e,cacheMissCount:t}){let i=this.cacheHitCount-e,n=this.cacheMissCount-t;if(i===0&&n===0)return;let s=\"\";this.cacheHitCount>1?s+=`${this.cacheHitCount} packages were already cached`:this.cacheHitCount===1?s+=\" - one package was already cached\":s+=\"No packages were cached\",this.cacheHitCount>0?this.cacheMissCount>1?s+=`, ${this.cacheMissCount} had to be fetched`:this.cacheMissCount===1&&(s+=`, one had to be fetched (${It(this.configuration,this.lastCacheMiss)})`):this.cacheMissCount>1?s+=` - ${this.cacheMissCount} packages had to be fetched`:this.cacheMissCount===1&&(s+=` - one package had to be fetched (${It(this.configuration,this.lastCacheMiss)})`),this.reportInfo(X.FETCH_NOT_CACHED,s)}commit(){let e=this.uncommitted;this.uncommitted=new Set;for(let t of e)t.committed=!0,t.action()}clearProgress({delta:e=0,clear:t=!1}){this.progressStyle!==null&&this.progress.size+e>0&&(this.stdout.write(`\u001b[${this.progress.size+e}A`),(e>0||t)&&this.stdout.write(\"\u001b[0J\"))}writeProgress(){if(this.progressStyle===null||(this.progressTimeout!==null&&clearTimeout(this.progressTimeout),this.progressTimeout=null,this.progress.size===0))return;let e=Date.now();e-this.progressTime>M9&&(this.progressFrame=(this.progressFrame+1)%O9.length,this.progressTime=e);let t=O9[this.progressFrame];for(let i of this.progress.values()){let n=\"\";if(typeof i.lastScaledSize!=\"undefined\"){let l=this.progressStyle.chars[0].repeat(i.lastScaledSize),c=this.progressStyle.chars[1].repeat(this.progressMaxScaledSize-i.lastScaledSize);n=` ${l}${c}`}let s=this.formatName(null),o=s?`${s}: `:\"\",a=i.definition.title?` ${i.definition.title}`:\"\";this.stdout.write(`${tt(this.configuration,\"\\u27A4\",\"blueBright\")} ${o}${t}${n}${a}\n`)}this.progressTimeout=setTimeout(()=>{this.refreshProgress({force:!0})},M9)}refreshProgress({delta:e=0,force:t=!1}={}){let i=!1,n=!1;if(t||this.progress.size===0)i=!0;else for(let s of this.progress.values()){let o=typeof s.definition.progress!=\"undefined\"?Math.trunc(this.progressMaxScaledSize*s.definition.progress):void 0,a=s.lastScaledSize;s.lastScaledSize=o;let l=s.lastTitle;if(s.lastTitle=s.definition.title,o!==a||(n=l!==s.definition.title)){i=!0;break}}i&&(this.clearProgress({delta:e,clear:n}),this.writeProgress())}truncate(e,{truncate:t}={}){return this.progressStyle===null&&(t=!1),typeof t==\"undefined\"&&(t=this.configuration.get(\"preferTruncatedLines\")),t&&(e=(0,T9.default)(e,0,this.stdout.columns-1)),e}formatName(e){return K9(e,{configuration:this.configuration,json:this.json})}formatNameWithHyperlink(e){return tD(e,{configuration:this.configuration,json:this.json})}formatIndent(){return\"\\u2502 \".repeat(this.indent)}};var Kr=\"3.2.3\";var hn;(function(n){n.Yarn1=\"Yarn Classic\",n.Yarn2=\"Yarn\",n.Npm=\"npm\",n.Pnpm=\"pnpm\"})(hn||(hn={}));async function lA(r,e,t,i=[]){if(process.platform===\"win32\"){let n=`@goto #_undefined_# 2>NUL || @title %COMSPEC% & @setlocal & @\"${t}\" ${i.map(s=>`\"${s.replace('\"','\"\"')}\"`).join(\" \")} %*`;await U.writeFilePromise(x.format({dir:r,name:e,ext:\".cmd\"}),n)}await U.writeFilePromise(x.join(r,e),`#!/bin/sh\nexec \"${t}\" ${i.map(n=>`'${n.replace(/'/g,`'\"'\"'`)}'`).join(\" \")} \"$@\"\n`,{mode:493})}async function G9(r){let e=await At.tryFind(r);if(e==null?void 0:e.packageManager){let i=cw(e.packageManager);if(i==null?void 0:i.name){let n=`found ${JSON.stringify({packageManager:e.packageManager})} in manifest`,[s]=i.reference.split(\".\");switch(i.name){case\"yarn\":return{packageManager:Number(s)===1?hn.Yarn1:hn.Yarn2,reason:n};case\"npm\":return{packageManager:hn.Npm,reason:n};case\"pnpm\":return{packageManager:hn.Pnpm,reason:n}}}}let t;try{t=await U.readFilePromise(x.join(r,xt.lockfile),\"utf8\")}catch{}return t!==void 0?t.match(/^__metadata:$/m)?{packageManager:hn.Yarn2,reason:'\"__metadata\" key found in yarn.lock'}:{packageManager:hn.Yarn1,reason:'\"__metadata\" key not found in yarn.lock, must be a Yarn classic lockfile'}:U.existsSync(x.join(r,\"package-lock.json\"))?{packageManager:hn.Npm,reason:`found npm's \"package-lock.json\" lockfile`}:U.existsSync(x.join(r,\"pnpm-lock.yaml\"))?{packageManager:hn.Pnpm,reason:`found pnpm's \"pnpm-lock.yaml\" lockfile`}:null}async function qd({project:r,locator:e,binFolder:t,lifecycleScript:i}){var l,c;let n={};for(let[u,g]of Object.entries(process.env))typeof g!=\"undefined\"&&(n[u.toLowerCase()!==\"path\"?u:\"PATH\"]=g);let s=H.fromPortablePath(t);n.BERRY_BIN_FOLDER=H.fromPortablePath(s);let o=process.env.COREPACK_ROOT?H.join(process.env.COREPACK_ROOT,\"dist/yarn.js\"):process.argv[1];if(await Promise.all([lA(t,\"node\",process.execPath),...Kr!==null?[lA(t,\"run\",process.execPath,[o,\"run\"]),lA(t,\"yarn\",process.execPath,[o]),lA(t,\"yarnpkg\",process.execPath,[o]),lA(t,\"node-gyp\",process.execPath,[o,\"run\",\"--top-level\",\"node-gyp\"])]:[]]),r&&(n.INIT_CWD=H.fromPortablePath(r.configuration.startingCwd),n.PROJECT_CWD=H.fromPortablePath(r.cwd)),n.PATH=n.PATH?`${s}${H.delimiter}${n.PATH}`:`${s}`,n.npm_execpath=`${s}${H.sep}yarn`,n.npm_node_execpath=`${s}${H.sep}node`,e){if(!r)throw new Error(\"Assertion failed: Missing project\");let u=r.tryWorkspaceByLocator(e),g=u?(l=u.manifest.version)!=null?l:\"\":(c=r.storedPackages.get(e.locatorHash).version)!=null?c:\"\";n.npm_package_name=Ot(e),n.npm_package_version=g;let f;if(u)f=u.cwd;else{let h=r.storedPackages.get(e.locatorHash);if(!h)throw new Error(`Package for ${It(r.configuration,e)} not found in the project`);let p=r.configuration.getLinkers(),m={project:r,report:new Je({stdout:new Il.PassThrough,configuration:r.configuration})},y=p.find(b=>b.supportsPackage(h,m));if(!y)throw new Error(`The package ${It(r.configuration,h)} isn't supported by any of the available linkers`);f=await y.findPackageLocation(h,m)}n.npm_package_json=H.fromPortablePath(x.join(f,xt.manifest))}let a=Kr!==null?`yarn/${Kr}`:`yarn/${Mg(\"@yarnpkg/core\").version}-core`;return n.npm_config_user_agent=`${a} npm/? node/${process.version} ${process.platform} ${process.arch}`,i&&(n.npm_lifecycle_event=i),r&&await r.configuration.triggerHook(u=>u.setupScriptEnvironment,r,n,async(u,g,f)=>await lA(t,Jr(u),g,f)),n}var YDe=2,qDe=(0,j9.default)(YDe);async function JDe(r,e,{configuration:t,report:i,workspace:n=null,locator:s=null}){await qDe(async()=>{await U.mktempPromise(async o=>{let a=x.join(o,\"pack.log\"),l=null,{stdout:c,stderr:u}=t.getSubprocessStreams(a,{prefix:H.fromPortablePath(r),report:i}),g=s&&ta(s)?fd(s):s,f=g?Fs(g):\"an external project\";c.write(`Packing ${f} from sources\n`);let h=await G9(r),p;h!==null?(c.write(`Using ${h.packageManager} for bootstrap. Reason: ${h.reason}\n\n`),p=h.packageManager):(c.write(`No package manager configuration detected; defaulting to Yarn\n\n`),p=hn.Yarn2),await U.mktempPromise(async m=>{let y=await qd({binFolder:m}),v=new Map([[hn.Yarn1,async()=>{let T=n!==null?[\"workspace\",n]:[],Y=x.join(r,xt.manifest),q=await U.readFilePromise(Y),$=await ia(process.execPath,[process.argv[1],\"set\",\"version\",\"classic\",\"--only-if-needed\"],{cwd:r,env:y,stdin:l,stdout:c,stderr:u,end:ss.ErrorCode});if($.code!==0)return $.code;await U.writeFilePromise(Y,q),await U.appendFilePromise(x.join(r,\".npmignore\"),`/.yarn\n`),c.write(`\n`),delete y.NODE_ENV;let z=await ia(\"yarn\",[\"install\"],{cwd:r,env:y,stdin:l,stdout:c,stderr:u,end:ss.ErrorCode});if(z.code!==0)return z.code;c.write(`\n`);let ne=await ia(\"yarn\",[...T,\"pack\",\"--filename\",H.fromPortablePath(e)],{cwd:r,env:y,stdin:l,stdout:c,stderr:u});return ne.code!==0?ne.code:0}],[hn.Yarn2,async()=>{let T=n!==null?[\"workspace\",n]:[];y.YARN_ENABLE_INLINE_BUILDS=\"1\";let Y=x.join(r,xt.lockfile);await U.existsPromise(Y)||await U.writeFilePromise(Y,\"\");let q=await ia(\"yarn\",[...T,\"pack\",\"--install-if-needed\",\"--filename\",H.fromPortablePath(e)],{cwd:r,env:y,stdin:l,stdout:c,stderr:u});return q.code!==0?q.code:0}],[hn.Npm,async()=>{if(n!==null){let A=new Il.PassThrough,oe=Og(A);A.pipe(c,{end:!1});let ce=await ia(\"npm\",[\"--version\"],{cwd:r,env:y,stdin:l,stdout:A,stderr:u,end:ss.Never});if(A.end(),ce.code!==0)return c.end(),u.end(),ce.code;let Z=(await oe).toString().trim();if(!Jc(Z,\">=7.x\")){let O=ea(null,\"npm\"),L=rr(O,Z),de=rr(O,\">=7.x\");throw new Error(`Workspaces aren't supported by ${sr(t,L)}; please upgrade to ${sr(t,de)} (npm has been detected as the primary package manager for ${tt(t,r,Ye.PATH)})`)}}let T=n!==null?[\"--workspace\",n]:[];delete y.npm_config_user_agent,delete y.npm_config_production,delete y.NPM_CONFIG_PRODUCTION,delete y.NODE_ENV;let Y=await ia(\"npm\",[\"install\"],{cwd:r,env:y,stdin:l,stdout:c,stderr:u,end:ss.ErrorCode});if(Y.code!==0)return Y.code;let q=new Il.PassThrough,$=Og(q);q.pipe(c);let z=await ia(\"npm\",[\"pack\",\"--silent\",...T],{cwd:r,env:y,stdin:l,stdout:q,stderr:u});if(z.code!==0)return z.code;let ne=(await $).toString().trim().replace(/^.*\\n/s,\"\"),ee=x.resolve(r,H.toPortablePath(ne));return await U.renamePromise(ee,e),0}]]).get(p);if(typeof v==\"undefined\")throw new Error(\"Assertion failed: Unsupported workflow\");let k=await v();if(!(k===0||typeof k==\"undefined\"))throw U.detachTemp(o),new ct(X.PACKAGE_PREPARATION_FAILED,`Packing the package failed (exit code ${k}, logs can be found here: ${tt(t,a,Ye.PATH)})`)})})})}async function WDe(r,e,{project:t}){let i=t.tryWorkspaceByLocator(r);if(i!==null)return rD(i,e);let n=t.storedPackages.get(r.locatorHash);if(!n)throw new Error(`Package for ${It(t.configuration,r)} not found in the project`);return await ys.openPromise(async s=>{let o=t.configuration,a=t.configuration.getLinkers(),l={project:t,report:new Je({stdout:new Il.PassThrough,configuration:o})},c=a.find(h=>h.supportsPackage(n,l));if(!c)throw new Error(`The package ${It(t.configuration,n)} isn't supported by any of the available linkers`);let u=await c.findPackageLocation(n,l),g=new _t(u,{baseFs:s});return(await At.find(Me.dot,{baseFs:g})).scripts.has(e)},{libzip:await fn()})}async function sB(r,e,t,{cwd:i,project:n,stdin:s,stdout:o,stderr:a}){return await U.mktempPromise(async l=>{let{manifest:c,env:u,cwd:g}=await Y9(r,{project:n,binFolder:l,cwd:i,lifecycleScript:e}),f=c.scripts.get(e);if(typeof f==\"undefined\")return 1;let h=async()=>await Zw(f,t,{cwd:g,env:u,stdin:s,stdout:o,stderr:a});return await(await n.configuration.reduceHook(m=>m.wrapScriptExecution,h,n,r,e,{script:f,args:t,cwd:g,env:u,stdin:s,stdout:o,stderr:a}))()})}async function iD(r,e,t,{cwd:i,project:n,stdin:s,stdout:o,stderr:a}){return await U.mktempPromise(async l=>{let{env:c,cwd:u}=await Y9(r,{project:n,binFolder:l,cwd:i});return await Zw(e,t,{cwd:u,env:c,stdin:s,stdout:o,stderr:a})})}async function zDe(r,{binFolder:e,cwd:t,lifecycleScript:i}){let n=await qd({project:r.project,locator:r.anchoredLocator,binFolder:e,lifecycleScript:i});return await Promise.all(Array.from(await q9(r),([s,[,o]])=>lA(e,Jr(s),process.execPath,[o]))),typeof t==\"undefined\"&&(t=x.dirname(await U.realpathPromise(x.join(r.cwd,\"package.json\")))),{manifest:r.manifest,binFolder:e,env:n,cwd:t}}async function Y9(r,{project:e,binFolder:t,cwd:i,lifecycleScript:n}){let s=e.tryWorkspaceByLocator(r);if(s!==null)return zDe(s,{binFolder:t,cwd:i,lifecycleScript:n});let o=e.storedPackages.get(r.locatorHash);if(!o)throw new Error(`Package for ${It(e.configuration,r)} not found in the project`);return await ys.openPromise(async a=>{let l=e.configuration,c=e.configuration.getLinkers(),u={project:e,report:new Je({stdout:new Il.PassThrough,configuration:l})},g=c.find(y=>y.supportsPackage(o,u));if(!g)throw new Error(`The package ${It(e.configuration,o)} isn't supported by any of the available linkers`);let f=await qd({project:e,locator:r,binFolder:t,lifecycleScript:n});await Promise.all(Array.from(await oB(r,{project:e}),([y,[,b]])=>lA(t,Jr(y),process.execPath,[b])));let h=await g.findPackageLocation(o,u),p=new _t(h,{baseFs:a}),m=await At.find(Me.dot,{baseFs:p});return typeof i==\"undefined\"&&(i=h),{manifest:m,binFolder:t,env:f,cwd:i}},{libzip:await fn()})}async function J9(r,e,t,{cwd:i,stdin:n,stdout:s,stderr:o}){return await sB(r.anchoredLocator,e,t,{cwd:i,project:r.project,stdin:n,stdout:s,stderr:o})}function rD(r,e){return r.manifest.scripts.has(e)}async function W9(r,e,{cwd:t,report:i}){let{configuration:n}=r.project,s=null;await U.mktempPromise(async o=>{let a=x.join(o,`${e}.log`),l=`# This file contains the result of Yarn calling the \"${e}\" lifecycle script inside a workspace (\"${H.fromPortablePath(r.cwd)}\")\n`,{stdout:c,stderr:u}=n.getSubprocessStreams(a,{report:i,prefix:It(n,r.anchoredLocator),header:l});i.reportInfo(X.LIFECYCLE_SCRIPT,`Calling the \"${e}\" lifecycle script`);let g=await J9(r,e,[],{cwd:t,stdin:s,stdout:c,stderr:u});if(c.end(),u.end(),g!==0)throw U.detachTemp(o),new ct(X.LIFECYCLE_SCRIPT,`${(0,H9.default)(e)} script failed (exit code ${tt(n,g,Ye.NUMBER)}, logs can be found here: ${tt(n,a,Ye.PATH)}); run ${tt(n,`yarn ${e}`,Ye.CODE)} to investigate`)})}async function _De(r,e,t){rD(r,e)&&await W9(r,e,t)}async function oB(r,{project:e}){let t=e.configuration,i=new Map,n=e.storedPackages.get(r.locatorHash);if(!n)throw new Error(`Package for ${It(t,r)} not found in the project`);let s=new Il.Writable,o=t.getLinkers(),a={project:e,report:new Je({configuration:t,stdout:s})},l=new Set([r.locatorHash]);for(let u of n.dependencies.values()){let g=e.storedResolutions.get(u.descriptorHash);if(!g)throw new Error(`Assertion failed: The resolution (${sr(t,u)}) should have been registered`);l.add(g)}let c=await Promise.all(Array.from(l,async u=>{let g=e.storedPackages.get(u);if(!g)throw new Error(`Assertion failed: The package (${u}) should have been registered`);if(g.bin.size===0)return Vo.skip;let f=o.find(p=>p.supportsPackage(g,a));if(!f)return Vo.skip;let h=null;try{h=await f.findPackageLocation(g,a)}catch(p){if(p.code===\"LOCATOR_NOT_INSTALLED\")return Vo.skip;throw p}return{dependency:g,packageLocation:h}}));for(let u of c){if(u===Vo.skip)continue;let{dependency:g,packageLocation:f}=u;for(let[h,p]of g.bin)i.set(h,[g,H.fromPortablePath(x.resolve(f,p))])}return i}async function q9(r){return await oB(r.anchoredLocator,{project:r.project})}async function z9(r,e,t,{cwd:i,project:n,stdin:s,stdout:o,stderr:a,nodeArgs:l=[],packageAccessibleBinaries:c}){c!=null||(c=await oB(r,{project:n}));let u=c.get(e);if(!u)throw new Error(`Binary not found (${e}) for ${It(n.configuration,r)}`);return await U.mktempPromise(async g=>{let[,f]=u,h=await qd({project:n,locator:r,binFolder:g});await Promise.all(Array.from(c,([m,[,y]])=>lA(h.BERRY_BIN_FOLDER,Jr(m),process.execPath,[y])));let p;try{p=await ia(process.execPath,[...l,f,...t],{cwd:i,env:h,stdin:s,stdout:o,stderr:a})}finally{await U.removePromise(h.BERRY_BIN_FOLDER)}return p.code})}async function VDe(r,e,t,{cwd:i,stdin:n,stdout:s,stderr:o,packageAccessibleBinaries:a}){return await z9(r.anchoredLocator,e,t,{project:r.project,cwd:i,stdin:n,stdout:s,stderr:o,packageAccessibleBinaries:a})}var Bi={};ft(Bi,{convertToZip:()=>oNe,extractArchiveTo:()=>ANe,makeArchiveFromDirectory:()=>sNe});var K6=ge(require(\"stream\")),H6=ge(N6());var L6=ge(require(\"os\")),T6=ge(fg()),O6=ge(require(\"worker_threads\")),Rl=Symbol(\"kTaskInfo\"),dR=class{constructor(e){this.source=e;this.workers=[];this.limit=(0,T6.default)(Math.max(1,(0,L6.cpus)().length));this.cleanupInterval=setInterval(()=>{if(this.limit.pendingCount===0&&this.limit.activeCount===0){let t=this.workers.pop();t?t.terminate():clearInterval(this.cleanupInterval)}},5e3).unref()}createWorker(){this.cleanupInterval.refresh();let e=new O6.Worker(this.source,{eval:!0,execArgv:[...process.execArgv,\"--unhandled-rejections=strict\"]});return e.on(\"message\",t=>{if(!e[Rl])throw new Error(\"Assertion failed: Worker sent a result without having a task assigned\");e[Rl].resolve(t),e[Rl]=null,e.unref(),this.workers.push(e)}),e.on(\"error\",t=>{var i;(i=e[Rl])==null||i.reject(t),e[Rl]=null}),e.on(\"exit\",t=>{var i;t!==0&&((i=e[Rl])==null||i.reject(new Error(`Worker exited with code ${t}`))),e[Rl]=null}),e}run(e){return this.limit(()=>{var i;let t=(i=this.workers.pop())!=null?i:this.createWorker();return t.ref(),new Promise((n,s)=>{t[Rl]={resolve:n,reject:s},t.postMessage(e)})})}};var j6=ge(U6());async function sNe(r,{baseFs:e=new ar,prefixPath:t=Me.root,compressionLevel:i,inMemory:n=!1}={}){let s=await fn(),o;if(n)o=new li(null,{libzip:s,level:i});else{let l=await U.mktempPromise(),c=x.join(l,\"archive.zip\");o=new li(c,{create:!0,libzip:s,level:i})}let a=x.resolve(Me.root,t);return await o.copyPromise(a,r,{baseFs:e,stableTime:!0,stableSort:!0}),o}var G6;async function oNe(r,e){let t=await U.mktempPromise(),i=x.join(t,\"archive.zip\");return G6||(G6=new dR((0,j6.getContent)())),await G6.run({tmpFile:i,tgz:r,opts:e}),new li(i,{libzip:await fn(),level:e.compressionLevel})}async function*aNe(r){let e=new H6.default.Parse,t=new K6.PassThrough({objectMode:!0,autoDestroy:!0,emitClose:!0});e.on(\"entry\",i=>{t.write(i)}),e.on(\"error\",i=>{t.destroy(i)}),e.on(\"close\",()=>{t.destroyed||t.end()}),e.end(r);for await(let i of t){let n=i;yield n,n.resume()}}async function ANe(r,e,{stripComponents:t=0,prefixPath:i=Me.dot}={}){var s,o;function n(a){if(a.path[0]===\"/\")return!0;let l=a.path.split(/\\//g);return!!(l.some(c=>c===\"..\")||l.length<=t)}for await(let a of aNe(r)){if(n(a))continue;let l=x.normalize(H.toPortablePath(a.path)).replace(/\\/$/,\"\").split(/\\//g);if(l.length<=t)continue;let c=l.slice(t).join(\"/\"),u=x.join(i,c),g=420;switch((a.type===\"Directory\"||(((s=a.mode)!=null?s:0)&73)!=0)&&(g|=73),a.type){case\"Directory\":e.mkdirpSync(x.dirname(u),{chmod:493,utimes:[Rr.SAFE_TIME,Rr.SAFE_TIME]}),e.mkdirSync(u,{mode:g}),e.utimesSync(u,Rr.SAFE_TIME,Rr.SAFE_TIME);break;case\"OldFile\":case\"File\":e.mkdirpSync(x.dirname(u),{chmod:493,utimes:[Rr.SAFE_TIME,Rr.SAFE_TIME]}),e.writeFileSync(u,await Og(a),{mode:g}),e.utimesSync(u,Rr.SAFE_TIME,Rr.SAFE_TIME);break;case\"SymbolicLink\":e.mkdirpSync(x.dirname(u),{chmod:493,utimes:[Rr.SAFE_TIME,Rr.SAFE_TIME]}),e.symlinkSync(a.linkpath,u),(o=e.lutimesSync)==null||o.call(e,u,Rr.SAFE_TIME,Rr.SAFE_TIME);break}}return e}var ls={};ft(ls,{emitList:()=>lNe,emitTree:()=>_6,treeNodeToJson:()=>z6,treeNodeToTreeify:()=>W6});var J6=ge(q6());function W6(r,{configuration:e}){let t={},i=(n,s)=>{let o=Array.isArray(n)?n.entries():Object.entries(n);for(let[a,{label:l,value:c,children:u}]of o){let g=[];typeof l!=\"undefined\"&&g.push(Fy(e,l,Oc.BOLD)),typeof c!=\"undefined\"&&g.push(tt(e,c[0],c[1])),g.length===0&&g.push(Fy(e,`${a}`,Oc.BOLD));let f=g.join(\": \"),h=s[f]={};typeof u!=\"undefined\"&&i(u,h)}};if(typeof r.children==\"undefined\")throw new Error(\"The root node must only contain children\");return i(r.children,t),t}function z6(r){let e=t=>{var s;if(typeof t.children==\"undefined\"){if(typeof t.value==\"undefined\")throw new Error(\"Assertion failed: Expected a value to be set if the children are missing\");return Mc(t.value[0],t.value[1])}let i=Array.isArray(t.children)?t.children.entries():Object.entries((s=t.children)!=null?s:{}),n=Array.isArray(t.children)?[]:{};for(let[o,a]of i)n[o]=e(a);return typeof t.value==\"undefined\"?n:{value:Mc(t.value[0],t.value[1]),children:n}};return e(r)}function lNe(r,{configuration:e,stdout:t,json:i}){let n=r.map(s=>({value:s}));_6({children:n},{configuration:e,stdout:t,json:i})}function _6(r,{configuration:e,stdout:t,json:i,separators:n=0}){var o;if(i){let a=Array.isArray(r.children)?r.children.values():Object.values((o=r.children)!=null?o:{});for(let l of a)t.write(`${JSON.stringify(z6(l))}\n`);return}let s=(0,J6.asTree)(W6(r,{configuration:e}),!1,!1);if(n>=1&&(s=s.replace(/^([├└]─)/gm,`\\u2502\n$1`).replace(/^│\\n/,\"\")),n>=2)for(let a=0;a<2;++a)s=s.replace(/^([│ ].{2}[├│ ].{2}[^\\n]+\\n)(([│ ]).{2}[├└].{2}[^\\n]*\\n[│ ].{2}[│ ].{2}[├└]─)/gm,`$1$3  \\u2502\n$2`).replace(/^│\\n/,\"\");if(n>=3)throw new Error(\"Only the first two levels are accepted by treeUtils.emitTree\");t.write(s)}var V6=ge(require(\"crypto\")),ER=ge(require(\"fs\"));var cNe=8,Nt=class{constructor(e,{configuration:t,immutable:i=t.get(\"enableImmutableCache\"),check:n=!1}){this.markedFiles=new Set;this.mutexes=new Map;this.cacheId=`-${(0,V6.randomBytes)(8).toString(\"hex\")}.tmp`;this.configuration=t,this.cwd=e,this.immutable=i,this.check=n;let s=t.get(\"cacheKeyOverride\");if(s!==null)this.cacheKey=`${s}`;else{let o=t.get(\"compressionLevel\"),a=o!==cc?`c${o}`:\"\";this.cacheKey=[cNe,a].join(\"\")}}static async find(e,{immutable:t,check:i}={}){let n=new Nt(e.get(\"cacheFolder\"),{configuration:e,immutable:t,check:i});return await n.setup(),n}get mirrorCwd(){if(!this.configuration.get(\"enableMirror\"))return null;let e=`${this.configuration.get(\"globalFolder\")}/cache`;return e!==this.cwd?e:null}getVersionFilename(e){return`${Wg(e)}-${this.cacheKey}.zip`}getChecksumFilename(e,t){let n=uNe(t).slice(0,10);return`${Wg(e)}-${n}.zip`}getLocatorPath(e,t,i={}){var s;return this.mirrorCwd===null||((s=i.unstablePackages)==null?void 0:s.has(e.locatorHash))?x.resolve(this.cwd,this.getVersionFilename(e)):t===null||IR(t)!==this.cacheKey?null:x.resolve(this.cwd,this.getChecksumFilename(e,t))}getLocatorMirrorPath(e){let t=this.mirrorCwd;return t!==null?x.resolve(t,this.getVersionFilename(e)):null}async setup(){if(!this.configuration.get(\"enableGlobalCache\"))if(this.immutable){if(!await U.existsPromise(this.cwd))throw new ct(X.IMMUTABLE_CACHE,\"Cache path does not exist.\")}else{await U.mkdirPromise(this.cwd,{recursive:!0});let e=x.resolve(this.cwd,\".gitignore\");await U.changeFilePromise(e,`/.gitignore\n*.flock\n*.tmp\n`)}(this.mirrorCwd||!this.immutable)&&await U.mkdirPromise(this.mirrorCwd||this.cwd,{recursive:!0})}async fetchPackageFromCache(e,t,a){var l=a,{onHit:i,onMiss:n,loader:s}=l,o=Or(l,[\"onHit\",\"onMiss\",\"loader\"]);var A;let c=this.getLocatorMirrorPath(e),u=new ar,g=()=>{let oe=new li(null,{libzip:Y}),ce=x.join(Me.root,tx(e));return oe.mkdirSync(ce,{recursive:!0}),oe.writeJsonSync(x.join(ce,xt.manifest),{name:Ot(e),mocked:!0}),oe},f=async(oe,ce=null)=>{var O;if(ce===null&&((O=o.unstablePackages)==null?void 0:O.has(e.locatorHash)))return null;let Z=!o.skipIntegrityCheck||!t?`${this.cacheKey}/${await ow(oe)}`:t;if(ce!==null){let L=!o.skipIntegrityCheck||!t?`${this.cacheKey}/${await ow(ce)}`:t;if(Z!==L)throw new ct(X.CACHE_CHECKSUM_MISMATCH,\"The remote archive doesn't match the local checksum - has the local cache been corrupted?\")}if(t!==null&&Z!==t){let L;switch(this.check?L=\"throw\":IR(t)!==IR(Z)?L=\"update\":L=this.configuration.get(\"checksumBehavior\"),L){case\"ignore\":return t;case\"update\":return Z;default:case\"throw\":throw new ct(X.CACHE_CHECKSUM_MISMATCH,\"The remote archive doesn't match the expected checksum\")}}return Z},h=async oe=>{if(!s)throw new Error(`Cache check required but no loader configured for ${It(this.configuration,e)}`);let ce=await s(),Z=ce.getRealPath();return ce.saveAndClose(),await U.chmodPromise(Z,420),await f(oe,Z)},p=async()=>{if(c===null||!await U.existsPromise(c)){let oe=await s(),ce=oe.getRealPath();return oe.saveAndClose(),{source:\"loader\",path:ce}}return{source:\"mirror\",path:c}},m=async()=>{if(!s)throw new Error(`Cache entry required but missing for ${It(this.configuration,e)}`);if(this.immutable)throw new ct(X.IMMUTABLE_CACHE,`Cache entry required but missing for ${It(this.configuration,e)}`);let{path:oe,source:ce}=await p(),Z=await f(oe),O=this.getLocatorPath(e,Z,o);if(!O)throw new Error(\"Assertion failed: Expected the cache path to be available\");let L=[];ce!==\"mirror\"&&c!==null&&L.push(async()=>{let Be=`${c}${this.cacheId}`;await U.copyFilePromise(oe,Be,ER.default.constants.COPYFILE_FICLONE),await U.chmodPromise(Be,420),await U.renamePromise(Be,c)}),(!o.mirrorWriteOnly||c===null)&&L.push(async()=>{let Be=`${O}${this.cacheId}`;await U.copyFilePromise(oe,Be,ER.default.constants.COPYFILE_FICLONE),await U.chmodPromise(Be,420),await U.renamePromise(Be,O)});let de=o.mirrorWriteOnly&&c!=null?c:O;return await Promise.all(L.map(Be=>Be())),[!1,de,Z]},y=async()=>{let ce=(async()=>{var Ge;let Z=this.getLocatorPath(e,t,o),O=Z!==null?await u.existsPromise(Z):!1,L=!!((Ge=o.mockedPackages)==null?void 0:Ge.has(e.locatorHash))&&(!this.check||!O),de=L||O,Be=de?i:n;if(Be&&Be(),de){let re=null,se=Z;return L||(re=this.check?await h(se):await f(se)),[L,se,re]}else return m()})();this.mutexes.set(e.locatorHash,ce);try{return await ce}finally{this.mutexes.delete(e.locatorHash)}};for(let oe;oe=this.mutexes.get(e.locatorHash);)await oe;let[b,v,k]=await y();this.markedFiles.add(v);let T,Y=await fn(),q=b?()=>g():()=>new li(v,{baseFs:u,libzip:Y,readOnly:!0}),$=new Vh(()=>Fv(()=>T=q(),oe=>`Failed to open the cache entry for ${It(this.configuration,e)}: ${oe}`),x),z=new La(v,{baseFs:$,pathUtils:x}),ne=()=>{T==null||T.discardAndClose()},ee=((A=o.unstablePackages)==null?void 0:A.has(e.locatorHash))?null:k;return[z,ne,ee]}};function IR(r){let e=r.indexOf(\"/\");return e!==-1?r.slice(0,e):null}function uNe(r){let e=r.indexOf(\"/\");return e!==-1?r.slice(e+1):r}var cs;(function(t){t[t.SCRIPT=0]=\"SCRIPT\",t[t.SHELLCODE=1]=\"SHELLCODE\"})(cs||(cs={}));var dA=class extends Ji{constructor({configuration:e,stdout:t,suggestInstall:i=!0}){super();this.errorCount=0;sd(this,{configuration:e}),this.configuration=e,this.stdout=t,this.suggestInstall=i}static async start(e,t){let i=new this(e);try{await t(i)}catch(n){i.reportExceptionOnce(n)}finally{await i.finalize()}return i}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(e){}reportCacheMiss(e){}startSectionSync(e,t){return t()}async startSectionPromise(e,t){return await t()}startTimerSync(e,t,i){return(typeof t==\"function\"?t:i)()}async startTimerPromise(e,t,i){return await(typeof t==\"function\"?t:i)()}async startCacheReport(e){return await e()}reportSeparator(){}reportInfo(e,t){}reportWarning(e,t){}reportError(e,t){this.errorCount+=1,this.stdout.write(`${tt(this.configuration,\"\\u27A4\",\"redBright\")} ${this.formatNameWithHyperlink(e)}: ${t}\n`)}reportProgress(e){let t=Promise.resolve().then(async()=>{for await(let{}of e);}),i=()=>{};return te(N({},t),{stop:i})}reportJson(e){}async finalize(){this.errorCount>0&&(this.stdout.write(`\n`),this.stdout.write(`${tt(this.configuration,\"\\u27A4\",\"redBright\")} Errors happened when preparing the environment required to run this command.\n`),this.suggestInstall&&this.stdout.write(`${tt(this.configuration,\"\\u27A4\",\"redBright\")} This might be caused by packages being missing from the lockfile, in which case running \"yarn install\" might help.\n`))}formatNameWithHyperlink(e){return tD(e,{configuration:this.configuration,json:!1})}};var n0=ge(require(\"crypto\"));function CA(){}CA.prototype={diff:function(e,t){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},n=i.callback;typeof i==\"function\"&&(n=i,i={}),this.options=i;var s=this;function o(m){return n?(setTimeout(function(){n(void 0,m)},0),!0):m}e=this.castInput(e),t=this.castInput(t),e=this.removeEmpty(this.tokenize(e)),t=this.removeEmpty(this.tokenize(t));var a=t.length,l=e.length,c=1,u=a+l;i.maxEditLength&&(u=Math.min(u,i.maxEditLength));var g=[{newPos:-1,components:[]}],f=this.extractCommon(g[0],t,e,0);if(g[0].newPos+1>=a&&f+1>=l)return o([{value:this.join(t),count:t.length}]);function h(){for(var m=-1*c;m<=c;m+=2){var y=void 0,b=g[m-1],v=g[m+1],k=(v?v.newPos:0)-m;b&&(g[m-1]=void 0);var T=b&&b.newPos+1<a,Y=v&&0<=k&&k<l;if(!T&&!Y){g[m]=void 0;continue}if(!T||Y&&b.newPos<v.newPos?(y=fNe(v),s.pushComponent(y.components,void 0,!0)):(y=b,y.newPos++,s.pushComponent(y.components,!0,void 0)),k=s.extractCommon(y,t,e,m),y.newPos+1>=a&&k+1>=l)return o(gNe(s,y.components,t,e,s.useLongestToken));g[m]=y}c++}if(n)(function m(){setTimeout(function(){if(c>u)return n();h()||m()},0)})();else for(;c<=u;){var p=h();if(p)return p}},pushComponent:function(e,t,i){var n=e[e.length-1];n&&n.added===t&&n.removed===i?e[e.length-1]={count:n.count+1,added:t,removed:i}:e.push({count:1,added:t,removed:i})},extractCommon:function(e,t,i,n){for(var s=t.length,o=i.length,a=e.newPos,l=a-n,c=0;a+1<s&&l+1<o&&this.equals(t[a+1],i[l+1]);)a++,l++,c++;return c&&e.components.push({count:c}),e.newPos=a,l},equals:function(e,t){return this.options.comparator?this.options.comparator(e,t):e===t||this.options.ignoreCase&&e.toLowerCase()===t.toLowerCase()},removeEmpty:function(e){for(var t=[],i=0;i<e.length;i++)e[i]&&t.push(e[i]);return t},castInput:function(e){return e},tokenize:function(e){return e.split(\"\")},join:function(e){return e.join(\"\")}};function gNe(r,e,t,i,n){for(var s=0,o=e.length,a=0,l=0;s<o;s++){var c=e[s];if(c.removed){if(c.value=r.join(i.slice(l,l+c.count)),l+=c.count,s&&e[s-1].added){var g=e[s-1];e[s-1]=e[s],e[s]=g}}else{if(!c.added&&n){var u=t.slice(a,a+c.count);u=u.map(function(h,p){var m=i[l+p];return m.length>h.length?m:h}),c.value=r.join(u)}else c.value=r.join(t.slice(a,a+c.count));a+=c.count,c.added||(l+=c.count)}}var f=e[o-1];return o>1&&typeof f.value==\"string\"&&(f.added||f.removed)&&r.equals(\"\",f.value)&&(e[o-2].value+=f.value,e.pop()),e}function fNe(r){return{newPos:r.newPos,components:r.components.slice(0)}}var oAt=new CA;var X6=/^[A-Za-z\\xC0-\\u02C6\\u02C8-\\u02D7\\u02DE-\\u02FF\\u1E00-\\u1EFF]+$/,Z6=/\\S/,$6=new CA;$6.equals=function(r,e){return this.options.ignoreCase&&(r=r.toLowerCase(),e=e.toLowerCase()),r===e||this.options.ignoreWhitespace&&!Z6.test(r)&&!Z6.test(e)};$6.tokenize=function(r){for(var e=r.split(/([^\\S\\r\\n]+|[()[\\]{}'\"\\r\\n]|\\b)/),t=0;t<e.length-1;t++)!e[t+1]&&e[t+2]&&X6.test(e[t])&&X6.test(e[t+2])&&(e[t]+=e[t+2],e.splice(t+1,2),t--);return e};var yR=new CA;yR.tokenize=function(r){var e=[],t=r.split(/(\\n|\\r\\n)/);t[t.length-1]||t.pop();for(var i=0;i<t.length;i++){var n=t[i];i%2&&!this.options.newlineIsToken?e[e.length-1]+=n:(this.options.ignoreWhitespace&&(n=n.trim()),e.push(n))}return e};function hNe(r,e,t){return yR.diff(r,e,t)}var pNe=new CA;pNe.tokenize=function(r){return r.split(/(\\S.+?[.!?])(?=\\s+|$)/)};var dNe=new CA;dNe.tokenize=function(r){return r.split(/([{}:;,]|\\s+)/)};function _B(r){return typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?_B=function(e){return typeof e}:_B=function(e){return e&&typeof Symbol==\"function\"&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},_B(r)}function wR(r){return CNe(r)||mNe(r)||ENe(r)||INe()}function CNe(r){if(Array.isArray(r))return BR(r)}function mNe(r){if(typeof Symbol!=\"undefined\"&&Symbol.iterator in Object(r))return Array.from(r)}function ENe(r,e){if(!!r){if(typeof r==\"string\")return BR(r,e);var t=Object.prototype.toString.call(r).slice(8,-1);if(t===\"Object\"&&r.constructor&&(t=r.constructor.name),t===\"Map\"||t===\"Set\")return Array.from(r);if(t===\"Arguments\"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return BR(r,e)}}function BR(r,e){(e==null||e>r.length)&&(e=r.length);for(var t=0,i=new Array(e);t<e;t++)i[t]=r[t];return i}function INe(){throw new TypeError(`Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var yNe=Object.prototype.toString,cC=new CA;cC.useLongestToken=!0;cC.tokenize=yR.tokenize;cC.castInput=function(r){var e=this.options,t=e.undefinedReplacement,i=e.stringifyReplacer,n=i===void 0?function(s,o){return typeof o==\"undefined\"?t:o}:i;return typeof r==\"string\"?r:JSON.stringify(bR(r,null,null,n),n,\"  \")};cC.equals=function(r,e){return CA.prototype.equals.call(cC,r.replace(/,([\\r\\n])/g,\"$1\"),e.replace(/,([\\r\\n])/g,\"$1\"))};function bR(r,e,t,i,n){e=e||[],t=t||[],i&&(r=i(n,r));var s;for(s=0;s<e.length;s+=1)if(e[s]===r)return t[s];var o;if(yNe.call(r)===\"[object Array]\"){for(e.push(r),o=new Array(r.length),t.push(o),s=0;s<r.length;s+=1)o[s]=bR(r[s],e,t,i,n);return e.pop(),t.pop(),o}if(r&&r.toJSON&&(r=r.toJSON()),_B(r)===\"object\"&&r!==null){e.push(r),o={},t.push(o);var a=[],l;for(l in r)r.hasOwnProperty(l)&&a.push(l);for(a.sort(),s=0;s<a.length;s+=1)l=a[s],o[l]=bR(r[l],e,t,i,l);e.pop(),t.pop()}else o=r;return o}var QR=new CA;QR.tokenize=function(r){return r.slice()};QR.join=QR.removeEmpty=function(r){return r};function e7(r,e,t,i,n,s,o){o||(o={}),typeof o.context==\"undefined\"&&(o.context=4);var a=hNe(t,i,o);if(!a)return;a.push({value:\"\",lines:[]});function l(b){return b.map(function(v){return\" \"+v})}for(var c=[],u=0,g=0,f=[],h=1,p=1,m=function(v){var k=a[v],T=k.lines||k.value.replace(/\\n$/,\"\").split(`\n`);if(k.lines=T,k.added||k.removed){var Y;if(!u){var q=a[v-1];u=h,g=p,q&&(f=o.context>0?l(q.lines.slice(-o.context)):[],u-=f.length,g-=f.length)}(Y=f).push.apply(Y,wR(T.map(function(Z){return(k.added?\"+\":\"-\")+Z}))),k.added?p+=T.length:h+=T.length}else{if(u)if(T.length<=o.context*2&&v<a.length-2){var $;($=f).push.apply($,wR(l(T)))}else{var z,ne=Math.min(T.length,o.context);(z=f).push.apply(z,wR(l(T.slice(0,ne))));var ee={oldStart:u,oldLines:h-u+ne,newStart:g,newLines:p-g+ne,lines:f};if(v>=a.length-2&&T.length<=o.context){var A=/\\n$/.test(t),oe=/\\n$/.test(i),ce=T.length==0&&f.length>ee.oldLines;!A&&ce&&t.length>0&&f.splice(ee.oldLines,0,\"\\\\ No newline at end of file\"),(!A&&!ce||!oe)&&f.push(\"\\\\ No newline at end of file\")}c.push(ee),u=0,g=0,f=[]}h+=T.length,p+=T.length}},y=0;y<a.length;y++)m(y);return{oldFileName:r,newFileName:e,oldHeader:n,newHeader:s,hunks:c}}var s0=ge(oZ()),AZ=ge(fg()),lZ=ge(ri()),MR=ge(require(\"util\")),UR=ge(require(\"v8\")),KR=ge(require(\"zlib\"));var _Oe=[[/^(git(?:\\+(?:https|ssh))?:\\/\\/.*(?:\\.git)?)#(.*)$/,(r,e,t,i)=>`${t}#commit=${i}`],[/^https:\\/\\/((?:[^/]+?)@)?codeload\\.github\\.com\\/([^/]+\\/[^/]+)\\/tar\\.gz\\/([0-9a-f]+)$/,(r,e,t=\"\",i,n)=>`https://${t}github.com/${i}.git#commit=${n}`],[/^https:\\/\\/((?:[^/]+?)@)?github\\.com\\/([^/]+\\/[^/]+?)(?:\\.git)?#([0-9a-f]+)$/,(r,e,t=\"\",i,n)=>`https://${t}github.com/${i}.git#commit=${n}`],[/^https?:\\/\\/[^/]+\\/(?:[^/]+\\/)*(?:@.+(?:\\/|(?:%2f)))?([^/]+)\\/(?:-|download)\\/\\1-[^/]+\\.tgz(?:#|$)/,r=>`npm:${r}`],[/^https:\\/\\/npm\\.pkg\\.github\\.com\\/download\\/(?:@[^/]+)\\/(?:[^/]+)\\/(?:[^/]+)\\/(?:[0-9a-f]+)(?:#|$)/,r=>`npm:${r}`],[/^https:\\/\\/npm\\.fontawesome\\.com\\/(?:@[^/]+)\\/([^/]+)\\/-\\/([^/]+)\\/\\1-\\2.tgz(?:#|$)/,r=>`npm:${r}`],[/^https?:\\/\\/[^/]+\\/.*\\/(@[^/]+)\\/([^/]+)\\/-\\/\\1\\/\\2-(?:[.\\d\\w-]+)\\.tgz(?:#|$)/,(r,e)=>uw({protocol:\"npm:\",source:null,selector:r,params:{__archiveUrl:e}})],[/^[^/]+\\.tgz#[0-9a-f]+$/,r=>`npm:${r}`]],LR=class{constructor(e){this.resolver=e;this.resolutions=null}async setup(e,{report:t}){let i=x.join(e.cwd,e.configuration.get(\"lockfileFilename\"));if(!U.existsSync(i))return;let n=await U.readFilePromise(i,\"utf8\"),s=Si(n);if(Object.prototype.hasOwnProperty.call(s,\"__metadata\"))return;let o=this.resolutions=new Map;for(let a of Object.keys(s)){let l=dd(a);if(!l){t.reportWarning(X.YARN_IMPORT_FAILED,`Failed to parse the string \"${a}\" into a proper descriptor`);continue}mo(l.range)&&(l=rr(l,`npm:${l.range}`));let{version:c,resolved:u}=s[a];if(!u)continue;let g;for(let[h,p]of _Oe){let m=u.match(h);if(m){g=p(c,...m);break}}if(!g){t.reportWarning(X.YARN_IMPORT_FAILED,`${sr(e.configuration,l)}: Only some patterns can be imported from legacy lockfiles (not \"${u}\")`);continue}let f=l;try{let h=Jg(l.range),p=dd(h.selector,!0);p&&(f=p)}catch{}o.set(l.descriptorHash,cn(f,g))}}supportsDescriptor(e,t){return this.resolutions?this.resolutions.has(e.descriptorHash):!1}supportsLocator(e,t){return!1}shouldPersistResolution(e,t){throw new Error(\"Assertion failed: This resolver doesn't support resolving locators to packages\")}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){if(!this.resolutions)throw new Error(\"Assertion failed: The resolution store should have been setup\");let n=this.resolutions.get(e.descriptorHash);if(!n)throw new Error(\"Assertion failed: The resolution should have been registered\");return await this.resolver.getCandidates(Vk(n),t,i)}async getSatisfying(e,t,i){return null}async resolve(e,t){throw new Error(\"Assertion failed: This resolver doesn't support resolving locators to packages\")}};var TR=class{constructor(e){this.resolver=e}supportsDescriptor(e,t){return!!(t.project.storedResolutions.get(e.descriptorHash)||t.project.originalPackages.has(lw(e).locatorHash))}supportsLocator(e,t){return!!(t.project.originalPackages.has(e.locatorHash)&&!t.project.lockfileNeedsRefresh)}shouldPersistResolution(e,t){throw new Error(\"The shouldPersistResolution method shouldn't be called on the lockfile resolver, which would always answer yes\")}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return this.resolver.getResolutionDependencies(e,t)}async getCandidates(e,t,i){let n=i.project.originalPackages.get(lw(e).locatorHash);if(n)return[n];let s=i.project.storedResolutions.get(e.descriptorHash);if(!s)throw new Error(\"Expected the resolution to have been successful - resolution not found\");if(n=i.project.originalPackages.get(s),!n)throw new Error(\"Expected the resolution to have been successful - package not found\");return[n]}async getSatisfying(e,t,i){return null}async resolve(e,t){let i=t.project.originalPackages.get(e.locatorHash);if(!i)throw new Error(\"The lockfile resolver isn't meant to resolve packages - they should already have been stored into a cache\");return i}};var OR=class{constructor(e){this.resolver=e}supportsDescriptor(e,t){return this.resolver.supportsDescriptor(e,t)}supportsLocator(e,t){return this.resolver.supportsLocator(e,t)}shouldPersistResolution(e,t){return this.resolver.shouldPersistResolution(e,t)}bindDescriptor(e,t,i){return this.resolver.bindDescriptor(e,t,i)}getResolutionDependencies(e,t){return this.resolver.getResolutionDependencies(e,t)}async getCandidates(e,t,i){throw new ct(X.MISSING_LOCKFILE_ENTRY,`This package doesn't seem to be present in your lockfile; run \"yarn install\" to update the lockfile`)}async getSatisfying(e,t,i){throw new ct(X.MISSING_LOCKFILE_ENTRY,`This package doesn't seem to be present in your lockfile; run \"yarn install\" to update the lockfile`)}async resolve(e,t){throw new ct(X.MISSING_LOCKFILE_ENTRY,`This package doesn't seem to be present in your lockfile; run \"yarn install\" to update the lockfile`)}};var di=class extends Ji{reportCacheHit(e){}reportCacheMiss(e){}startSectionSync(e,t){return t()}async startSectionPromise(e,t){return await t()}startTimerSync(e,t,i){return(typeof t==\"function\"?t:i)()}async startTimerPromise(e,t,i){return await(typeof t==\"function\"?t:i)()}async startCacheReport(e){return await e()}reportSeparator(){}reportInfo(e,t){}reportWarning(e,t){}reportError(e,t){}reportProgress(e){let t=Promise.resolve().then(async()=>{for await(let{}of e);}),i=()=>{};return te(N({},t),{stop:i})}reportJson(e){}async finalize(){}};var aZ=ge(zk());var mC=class{constructor(e,{project:t}){this.workspacesCwds=new Set;this.dependencies=new Map;this.project=t,this.cwd=e}async setup(){var s;this.manifest=(s=await At.tryFind(this.cwd))!=null?s:new At,this.relativeCwd=x.relative(this.project.cwd,this.cwd)||Me.dot;let e=this.manifest.name?this.manifest.name:ea(null,`${this.computeCandidateName()}-${ln(this.relativeCwd).substring(0,6)}`),t=this.manifest.version?this.manifest.version:\"0.0.0\";this.locator=cn(e,t),this.anchoredDescriptor=rr(this.locator,`${oi.protocol}${this.relativeCwd}`),this.anchoredLocator=cn(this.locator,`${oi.protocol}${this.relativeCwd}`);let i=this.manifest.workspaceDefinitions.map(({pattern:o})=>o),n=await(0,aZ.default)(i,{cwd:H.fromPortablePath(this.cwd),expandDirectories:!1,onlyDirectories:!0,onlyFiles:!1,ignore:[\"**/node_modules\",\"**/.git\",\"**/.yarn\"]});n.sort();for(let o of n){let a=x.resolve(this.cwd,H.toPortablePath(o));U.existsSync(x.join(a,\"package.json\"))&&this.workspacesCwds.add(a)}}accepts(e){var o;let t=e.indexOf(\":\"),i=t!==-1?e.slice(0,t+1):null,n=t!==-1?e.slice(t+1):e;if(i===oi.protocol&&x.normalize(n)===this.relativeCwd||i===oi.protocol&&(n===\"*\"||n===\"^\"||n===\"~\"))return!0;let s=mo(n);return s?i===oi.protocol?s.test((o=this.manifest.version)!=null?o:\"0.0.0\"):this.project.configuration.get(\"enableTransparentWorkspaces\")&&this.manifest.version!==null?s.test(this.manifest.version):!1:!1}computeCandidateName(){return this.cwd===this.project.cwd?\"root-workspace\":`${x.basename(this.cwd)}`||\"unnamed-workspace\"}getRecursiveWorkspaceDependencies({dependencies:e=At.hardDependencies}={}){let t=new Set,i=n=>{for(let s of e)for(let o of n.manifest[s].values()){let a=this.project.tryWorkspaceByDescriptor(o);a===null||t.has(a)||(t.add(a),i(a))}};return i(this),t}getRecursiveWorkspaceDependents({dependencies:e=At.hardDependencies}={}){let t=new Set,i=n=>{for(let s of this.project.workspaces)e.some(a=>[...s.manifest[a].values()].some(l=>{let c=this.project.tryWorkspaceByDescriptor(l);return c!==null&&pd(c.anchoredLocator,n.anchoredLocator)}))&&!t.has(s)&&(t.add(s),i(s))};return i(this),t}getRecursiveWorkspaceChildren(){let e=[];for(let t of this.workspacesCwds){let i=this.project.workspacesByCwd.get(t);i&&e.push(i,...i.getRecursiveWorkspaceChildren())}return e}async persistManifest(){let e={};this.manifest.exportTo(e);let t=x.join(this.cwd,At.fileName),i=`${JSON.stringify(e,null,this.manifest.indent)}\n`;await U.changeFilePromise(t,i,{automaticNewlines:!0}),this.manifest.raw=e}};var cZ=6,VOe=1,XOe=/ *, */g,uZ=/\\/$/,ZOe=32,$Oe=(0,MR.promisify)(KR.default.gzip),eMe=(0,MR.promisify)(KR.default.gunzip),Ci;(function(t){t.UpdateLockfile=\"update-lockfile\",t.SkipBuild=\"skip-build\"})(Ci||(Ci={}));var HR={restoreInstallersCustomData:[\"installersCustomData\"],restoreResolutions:[\"accessibleLocators\",\"conditionalLocators\",\"disabledLocators\",\"optionalBuilds\",\"storedDescriptors\",\"storedResolutions\",\"storedPackages\",\"lockFileChecksum\"],restoreBuildState:[\"storedBuildState\"]},gZ=r=>ln(`${VOe}`,r),ze=class{constructor(e,{configuration:t}){this.resolutionAliases=new Map;this.workspaces=[];this.workspacesByCwd=new Map;this.workspacesByIdent=new Map;this.storedResolutions=new Map;this.storedDescriptors=new Map;this.storedPackages=new Map;this.storedChecksums=new Map;this.storedBuildState=new Map;this.accessibleLocators=new Set;this.conditionalLocators=new Set;this.disabledLocators=new Set;this.originalPackages=new Map;this.optionalBuilds=new Set;this.lockfileNeedsRefresh=!1;this.peerRequirements=new Map;this.installersCustomData=new Map;this.lockFileChecksum=null;this.installStateChecksum=null;this.configuration=t,this.cwd=e}static async find(e,t){var p,m,y;if(!e.projectCwd)throw new Pe(`No project found in ${t}`);let i=e.projectCwd,n=t,s=null;for(;s!==e.projectCwd;){if(s=n,U.existsSync(x.join(s,xt.manifest))){i=s;break}n=x.dirname(s)}let o=new ze(e.projectCwd,{configuration:e});(p=ye.telemetry)==null||p.reportProject(o.cwd),await o.setupResolutions(),await o.setupWorkspaces(),(m=ye.telemetry)==null||m.reportWorkspaceCount(o.workspaces.length),(y=ye.telemetry)==null||y.reportDependencyCount(o.workspaces.reduce((b,v)=>b+v.manifest.dependencies.size+v.manifest.devDependencies.size,0));let a=o.tryWorkspaceByCwd(i);if(a)return{project:o,workspace:a,locator:a.anchoredLocator};let l=await o.findLocatorForLocation(`${i}/`,{strict:!0});if(l)return{project:o,locator:l,workspace:null};let c=tt(e,o.cwd,Ye.PATH),u=tt(e,x.relative(o.cwd,i),Ye.PATH),g=`- If ${c} isn't intended to be a project, remove any yarn.lock and/or package.json file there.`,f=`- If ${c} is intended to be a project, it might be that you forgot to list ${u} in its workspace configuration.`,h=`- Finally, if ${c} is fine and you intend ${u} to be treated as a completely separate project (not even a workspace), create an empty yarn.lock file in it.`;throw new Pe(`The nearest package directory (${tt(e,i,Ye.PATH)}) doesn't seem to be part of the project declared in ${tt(e,o.cwd,Ye.PATH)}.\n\n${[g,f,h].join(`\n`)}`)}async setupResolutions(){var i;this.storedResolutions=new Map,this.storedDescriptors=new Map,this.storedPackages=new Map,this.lockFileChecksum=null;let e=x.join(this.cwd,this.configuration.get(\"lockfileFilename\")),t=this.configuration.get(\"defaultLanguageName\");if(U.existsSync(e)){let n=await U.readFilePromise(e,\"utf8\");this.lockFileChecksum=gZ(n);let s=Si(n);if(s.__metadata){let o=s.__metadata.version,a=s.__metadata.cacheKey;this.lockfileNeedsRefresh=o<cZ;for(let l of Object.keys(s)){if(l===\"__metadata\")continue;let c=s[l];if(typeof c.resolution==\"undefined\")throw new Error(`Assertion failed: Expected the lockfile entry to have a resolution field (${l})`);let u=qc(c.resolution,!0),g=new At;g.load(c,{yamlCompatibilityMode:!0});let f=g.version,h=g.languageName||t,p=c.linkType.toUpperCase(),m=(i=c.conditions)!=null?i:null,y=g.dependencies,b=g.peerDependencies,v=g.dependenciesMeta,k=g.peerDependenciesMeta,T=g.bin;if(c.checksum!=null){let q=typeof a!=\"undefined\"&&!c.checksum.includes(\"/\")?`${a}/${c.checksum}`:c.checksum;this.storedChecksums.set(u.locatorHash,q)}let Y=te(N({},u),{version:f,languageName:h,linkType:p,conditions:m,dependencies:y,peerDependencies:b,dependenciesMeta:v,peerDependenciesMeta:k,bin:T});this.originalPackages.set(Y.locatorHash,Y);for(let q of l.split(XOe)){let $=cl(q);this.storedDescriptors.set($.descriptorHash,$),this.storedResolutions.set($.descriptorHash,u.locatorHash)}}}}}async setupWorkspaces(){this.workspaces=[],this.workspacesByCwd=new Map,this.workspacesByIdent=new Map;let e=[this.cwd];for(;e.length>0;){let t=e;e=[];for(let i of t){if(this.workspacesByCwd.has(i))continue;let n=await this.addWorkspace(i),s=this.storedPackages.get(n.anchoredLocator.locatorHash);s&&(n.dependencies=s.dependencies);for(let o of n.workspacesCwds)e.push(o)}}}async addWorkspace(e){let t=new mC(e,{project:this});await t.setup();let i=this.workspacesByIdent.get(t.locator.identHash);if(typeof i!=\"undefined\")throw new Error(`Duplicate workspace name ${fi(this.configuration,t.locator)}: ${H.fromPortablePath(e)} conflicts with ${H.fromPortablePath(i.cwd)}`);return this.workspaces.push(t),this.workspacesByCwd.set(e,t),this.workspacesByIdent.set(t.locator.identHash,t),t}get topLevelWorkspace(){return this.getWorkspaceByCwd(this.cwd)}tryWorkspaceByCwd(e){x.isAbsolute(e)||(e=x.resolve(this.cwd,e)),e=x.normalize(e).replace(/\\/+$/,\"\");let t=this.workspacesByCwd.get(e);return t||null}getWorkspaceByCwd(e){let t=this.tryWorkspaceByCwd(e);if(!t)throw new Error(`Workspace not found (${e})`);return t}tryWorkspaceByFilePath(e){let t=null;for(let i of this.workspaces)x.relative(i.cwd,e).startsWith(\"../\")||t&&t.cwd.length>=i.cwd.length||(t=i);return t||null}getWorkspaceByFilePath(e){let t=this.tryWorkspaceByFilePath(e);if(!t)throw new Error(`Workspace not found (${e})`);return t}tryWorkspaceByIdent(e){let t=this.workspacesByIdent.get(e.identHash);return typeof t==\"undefined\"?null:t}getWorkspaceByIdent(e){let t=this.tryWorkspaceByIdent(e);if(!t)throw new Error(`Workspace not found (${fi(this.configuration,e)})`);return t}tryWorkspaceByDescriptor(e){let t=this.tryWorkspaceByIdent(e);return t===null||(ll(e)&&(e=gd(e)),!t.accepts(e.range))?null:t}getWorkspaceByDescriptor(e){let t=this.tryWorkspaceByDescriptor(e);if(t===null)throw new Error(`Workspace not found (${sr(this.configuration,e)})`);return t}tryWorkspaceByLocator(e){let t=this.tryWorkspaceByIdent(e);return t===null||(ta(e)&&(e=fd(e)),t.locator.locatorHash!==e.locatorHash&&t.anchoredLocator.locatorHash!==e.locatorHash)?null:t}getWorkspaceByLocator(e){let t=this.tryWorkspaceByLocator(e);if(!t)throw new Error(`Workspace not found (${It(this.configuration,e)})`);return t}refreshWorkspaceDependencies(){for(let e of this.workspaces){let t=this.storedPackages.get(e.anchoredLocator.locatorHash);if(!t)throw new Error(`Assertion failed: Expected workspace ${md(this.configuration,e)} (${tt(this.configuration,x.join(e.cwd,xt.manifest),Ye.PATH)}) to have been resolved. Run \"yarn install\" to update the lockfile`);e.dependencies=new Map(t.dependencies)}}forgetResolution(e){let t=n=>{this.storedResolutions.delete(n),this.storedDescriptors.delete(n)},i=n=>{this.originalPackages.delete(n),this.storedPackages.delete(n),this.accessibleLocators.delete(n)};if(\"descriptorHash\"in e){let n=this.storedResolutions.get(e.descriptorHash);t(e.descriptorHash);let s=new Set(this.storedResolutions.values());typeof n!=\"undefined\"&&!s.has(n)&&i(n)}if(\"locatorHash\"in e){i(e.locatorHash);for(let[n,s]of this.storedResolutions)s===e.locatorHash&&t(n)}}forgetTransientResolutions(){let e=this.configuration.makeResolver();for(let t of this.originalPackages.values()){let i;try{i=e.shouldPersistResolution(t,{project:this,resolver:e})}catch{i=!1}i||this.forgetResolution(t)}}forgetVirtualResolutions(){for(let e of this.storedPackages.values())for(let[t,i]of e.dependencies)ll(i)&&e.dependencies.set(t,gd(i))}getDependencyMeta(e,t){let i={},s=this.topLevelWorkspace.manifest.dependenciesMeta.get(Ot(e));if(!s)return i;let o=s.get(null);if(o&&Object.assign(i,o),t===null||!lZ.default.valid(t))return i;for(let[a,l]of s)a!==null&&a===t&&Object.assign(i,l);return i}async findLocatorForLocation(e,{strict:t=!1}={}){let i=new di,n=this.configuration.getLinkers(),s={project:this,report:i};for(let o of n){let a=await o.findPackageLocator(e,s);if(a){if(t&&(await o.findPackageLocation(a,s)).replace(uZ,\"\")!==e.replace(uZ,\"\"))continue;return a}}return null}async resolveEverything(e){if(!this.workspacesByCwd||!this.workspacesByIdent)throw new Error(\"Workspaces must have been setup before calling this function\");this.forgetVirtualResolutions(),e.lockfileOnly||this.forgetTransientResolutions();let t=e.resolver||this.configuration.makeResolver(),i=new LR(t);await i.setup(this,{report:e.report});let n=e.lockfileOnly?[new OR(t)]:[i,t],s=new Bd([new TR(t),...n]),o=this.configuration.makeFetcher(),a=e.lockfileOnly?{project:this,report:e.report,resolver:s}:{project:this,report:e.report,resolver:s,fetchOptions:{project:this,cache:e.cache,checksums:this.storedChecksums,report:e.report,fetcher:o,cacheOptions:{mirrorWriteOnly:!0}}},l=new Map,c=new Map,u=new Map,g=new Map,f=new Map,h=new Map,p=this.topLevelWorkspace.anchoredLocator,m=new Set,y=[],b=ux(),v=this.configuration.getSupportedArchitectures();await e.report.startProgressPromise(Ji.progressViaTitle(),async ne=>{let ee=async O=>{let L=await Tg(async()=>await s.resolve(O,a),Ge=>`${It(this.configuration,O)}: ${Ge}`);if(!pd(O,L))throw new Error(`Assertion failed: The locator cannot be changed by the resolver (went from ${It(this.configuration,O)} to ${It(this.configuration,L)})`);g.set(L.locatorHash,L);let de=this.configuration.normalizePackage(L);for(let[Ge,re]of de.dependencies){let se=await this.configuration.reduceHook(he=>he.reduceDependency,re,this,de,re,{resolver:s,resolveOptions:a});if(!hd(re,se))throw new Error(\"Assertion failed: The descriptor ident cannot be changed through aliases\");let be=s.bindDescriptor(se,O,a);de.dependencies.set(Ge,be)}let Be=ho([...de.dependencies.values()].map(Ge=>Z(Ge)));return y.push(Be),Be.catch(()=>{}),c.set(de.locatorHash,de),de},A=async O=>{let L=f.get(O.locatorHash);if(typeof L!=\"undefined\")return L;let de=Promise.resolve().then(()=>ee(O));return f.set(O.locatorHash,de),de},oe=async(O,L)=>{let de=await Z(L);return l.set(O.descriptorHash,O),u.set(O.descriptorHash,de.locatorHash),de},ce=async O=>{ne.setTitle(sr(this.configuration,O));let L=this.resolutionAliases.get(O.descriptorHash);if(typeof L!=\"undefined\")return oe(O,this.storedDescriptors.get(L));let de=s.getResolutionDependencies(O,a),Be=new Map(await ho(de.map(async se=>{let be=s.bindDescriptor(se,p,a),he=await Z(be);return m.add(he.locatorHash),[se.descriptorHash,he]}))),re=(await Tg(async()=>await s.getCandidates(O,Be,a),se=>`${sr(this.configuration,O)}: ${se}`))[0];if(typeof re==\"undefined\")throw new Error(`${sr(this.configuration,O)}: No candidates found`);return l.set(O.descriptorHash,O),u.set(O.descriptorHash,re.locatorHash),A(re)},Z=O=>{let L=h.get(O.descriptorHash);if(typeof L!=\"undefined\")return L;l.set(O.descriptorHash,O);let de=Promise.resolve().then(()=>ce(O));return h.set(O.descriptorHash,de),de};for(let O of this.workspaces){let L=O.anchoredDescriptor;y.push(Z(L))}for(;y.length>0;){let O=[...y];y.length=0,await ho(O)}});let k=new Set(this.resolutionAliases.values()),T=new Set(c.keys()),Y=new Set,q=new Map;tMe({project:this,report:e.report,accessibleLocators:Y,volatileDescriptors:k,optionalBuilds:T,peerRequirements:q,allDescriptors:l,allResolutions:u,allPackages:c});for(let ne of m)T.delete(ne);for(let ne of k)l.delete(ne),u.delete(ne);let $=new Set,z=new Set;for(let ne of c.values())ne.conditions!=null&&(!T.has(ne.locatorHash)||(fw(ne,v)||(fw(ne,b)&&e.report.reportWarningOnce(X.GHOST_ARCHITECTURE,`${It(this.configuration,ne)}: Your current architecture (${process.platform}-${process.arch}) is supported by this package, but is missing from the ${tt(this.configuration,\"supportedArchitectures\",Ri.SETTING)} setting`),z.add(ne.locatorHash)),$.add(ne.locatorHash)));this.storedResolutions=u,this.storedDescriptors=l,this.storedPackages=c,this.accessibleLocators=Y,this.conditionalLocators=$,this.disabledLocators=z,this.originalPackages=g,this.optionalBuilds=T,this.peerRequirements=q,this.refreshWorkspaceDependencies()}async fetchEverything({cache:e,report:t,fetcher:i,mode:n}){let s={mockedPackages:this.disabledLocators,unstablePackages:this.conditionalLocators},o=i||this.configuration.makeFetcher(),a={checksums:this.storedChecksums,project:this,cache:e,fetcher:o,report:t,cacheOptions:s},l=Array.from(new Set(xn(this.storedResolutions.values(),[f=>{let h=this.storedPackages.get(f);if(!h)throw new Error(\"Assertion failed: The locator should have been registered\");return Fs(h)}])));n===Ci.UpdateLockfile&&(l=l.filter(f=>!this.storedChecksums.has(f)));let c=!1,u=Ji.progressViaCounter(l.length);t.reportProgress(u);let g=(0,AZ.default)(ZOe);if(await t.startCacheReport(async()=>{await ho(l.map(f=>g(async()=>{let h=this.storedPackages.get(f);if(!h)throw new Error(\"Assertion failed: The locator should have been registered\");if(ta(h))return;let p;try{p=await o.fetch(h,a)}catch(m){m.message=`${It(this.configuration,h)}: ${m.message}`,t.reportExceptionOnce(m),c=m;return}p.checksum!=null?this.storedChecksums.set(h.locatorHash,p.checksum):this.storedChecksums.delete(h.locatorHash),p.releaseFs&&p.releaseFs()}).finally(()=>{u.tick()})))}),c)throw c}async linkEverything({cache:e,report:t,fetcher:i,mode:n}){var A,oe,ce;let s={mockedPackages:this.disabledLocators,unstablePackages:this.conditionalLocators,skipIntegrityCheck:!0},o=i||this.configuration.makeFetcher(),a={checksums:this.storedChecksums,project:this,cache:e,fetcher:o,report:t,skipIntegrityCheck:!0,cacheOptions:s},l=this.configuration.getLinkers(),c={project:this,report:t},u=new Map(l.map(Z=>{let O=Z.makeInstaller(c),L=O.getCustomDataKey(),de=this.installersCustomData.get(L);return typeof de!=\"undefined\"&&O.attachCustomData(de),[Z,O]})),g=new Map,f=new Map,h=new Map,p=new Map(await ho([...this.accessibleLocators].map(async Z=>{let O=this.storedPackages.get(Z);if(!O)throw new Error(\"Assertion failed: The locator should have been registered\");return[Z,await o.fetch(O,a)]}))),m=[];for(let Z of this.accessibleLocators){let O=this.storedPackages.get(Z);if(typeof O==\"undefined\")throw new Error(\"Assertion failed: The locator should have been registered\");let L=p.get(O.locatorHash);if(typeof L==\"undefined\")throw new Error(\"Assertion failed: The fetch result should have been registered\");let de=[],Be=re=>{de.push(re)},Ge=this.tryWorkspaceByLocator(O);if(Ge!==null){let re=[],{scripts:se}=Ge.manifest;for(let he of[\"preinstall\",\"install\",\"postinstall\"])se.has(he)&&re.push([cs.SCRIPT,he]);try{for(let[he,Fe]of u)if(he.supportsPackage(O,c)&&(await Fe.installPackage(O,L,{holdFetchResult:Be})).buildDirective!==null)throw new Error(\"Assertion failed: Linkers can't return build directives for workspaces; this responsibility befalls to the Yarn core\")}finally{de.length===0?(A=L.releaseFs)==null||A.call(L):m.push(ho(de).catch(()=>{}).then(()=>{var he;(he=L.releaseFs)==null||he.call(L)}))}let be=x.join(L.packageFs.getRealPath(),L.prefixPath);f.set(O.locatorHash,be),!ta(O)&&re.length>0&&h.set(O.locatorHash,{directives:re,buildLocations:[be]})}else{let re=l.find(he=>he.supportsPackage(O,c));if(!re)throw new ct(X.LINKER_NOT_FOUND,`${It(this.configuration,O)} isn't supported by any available linker`);let se=u.get(re);if(!se)throw new Error(\"Assertion failed: The installer should have been registered\");let be;try{be=await se.installPackage(O,L,{holdFetchResult:Be})}finally{de.length===0?(oe=L.releaseFs)==null||oe.call(L):m.push(ho(de).then(()=>{}).then(()=>{var he;(he=L.releaseFs)==null||he.call(L)}))}g.set(O.locatorHash,re),f.set(O.locatorHash,be.packageLocation),be.buildDirective&&be.buildDirective.length>0&&be.packageLocation&&h.set(O.locatorHash,{directives:be.buildDirective,buildLocations:[be.packageLocation]})}}let y=new Map;for(let Z of this.accessibleLocators){let O=this.storedPackages.get(Z);if(!O)throw new Error(\"Assertion failed: The locator should have been registered\");let L=this.tryWorkspaceByLocator(O)!==null,de=async(Be,Ge)=>{let re=f.get(O.locatorHash);if(typeof re==\"undefined\")throw new Error(`Assertion failed: The package (${It(this.configuration,O)}) should have been registered`);let se=[];for(let be of O.dependencies.values()){let he=this.storedResolutions.get(be.descriptorHash);if(typeof he==\"undefined\")throw new Error(`Assertion failed: The resolution (${sr(this.configuration,be)}, from ${It(this.configuration,O)})should have been registered`);let Fe=this.storedPackages.get(he);if(typeof Fe==\"undefined\")throw new Error(`Assertion failed: The package (${he}, resolved from ${sr(this.configuration,be)}) should have been registered`);let Ue=this.tryWorkspaceByLocator(Fe)===null?g.get(he):null;if(typeof Ue==\"undefined\")throw new Error(`Assertion failed: The package (${he}, resolved from ${sr(this.configuration,be)}) should have been registered`);Ue===Be||Ue===null?f.get(Fe.locatorHash)!==null&&se.push([be,Fe]):!L&&re!==null&&Ng(y,he).push(re)}re!==null&&await Ge.attachInternalDependencies(O,se)};if(L)for(let[Be,Ge]of u)Be.supportsPackage(O,c)&&await de(Be,Ge);else{let Be=g.get(O.locatorHash);if(!Be)throw new Error(\"Assertion failed: The linker should have been found\");let Ge=u.get(Be);if(!Ge)throw new Error(\"Assertion failed: The installer should have been registered\");await de(Be,Ge)}}for(let[Z,O]of y){let L=this.storedPackages.get(Z);if(!L)throw new Error(\"Assertion failed: The package should have been registered\");let de=g.get(L.locatorHash);if(!de)throw new Error(\"Assertion failed: The linker should have been found\");let Be=u.get(de);if(!Be)throw new Error(\"Assertion failed: The installer should have been registered\");await Be.attachExternalDependents(L,O)}let b=new Map;for(let Z of u.values()){let O=await Z.finalizeInstall();for(let L of(ce=O==null?void 0:O.records)!=null?ce:[])h.set(L.locatorHash,{directives:L.buildDirective,buildLocations:L.buildLocations});typeof(O==null?void 0:O.customData)!=\"undefined\"&&b.set(Z.getCustomDataKey(),O.customData)}if(this.installersCustomData=b,await ho(m),n===Ci.SkipBuild)return;let v=new Set(this.storedPackages.keys()),k=new Set(h.keys());for(let Z of k)v.delete(Z);let T=(0,n0.createHash)(\"sha512\");T.update(process.versions.node),await this.configuration.triggerHook(Z=>Z.globalHashGeneration,this,Z=>{T.update(\"\\0\"),T.update(Z)});let Y=T.digest(\"hex\"),q=new Map,$=Z=>{let O=q.get(Z.locatorHash);if(typeof O!=\"undefined\")return O;let L=this.storedPackages.get(Z.locatorHash);if(typeof L==\"undefined\")throw new Error(\"Assertion failed: The package should have been registered\");let de=(0,n0.createHash)(\"sha512\");de.update(Z.locatorHash),q.set(Z.locatorHash,\"<recursive>\");for(let Be of L.dependencies.values()){let Ge=this.storedResolutions.get(Be.descriptorHash);if(typeof Ge==\"undefined\")throw new Error(`Assertion failed: The resolution (${sr(this.configuration,Be)}) should have been registered`);let re=this.storedPackages.get(Ge);if(typeof re==\"undefined\")throw new Error(\"Assertion failed: The package should have been registered\");de.update($(re))}return O=de.digest(\"hex\"),q.set(Z.locatorHash,O),O},z=(Z,O)=>{let L=(0,n0.createHash)(\"sha512\");L.update(Y),L.update($(Z));for(let de of O)L.update(de);return L.digest(\"hex\")},ne=new Map,ee=!1;for(;k.size>0;){let Z=k.size,O=[];for(let L of k){let de=this.storedPackages.get(L);if(!de)throw new Error(\"Assertion failed: The package should have been registered\");let Be=!0;for(let se of de.dependencies.values()){let be=this.storedResolutions.get(se.descriptorHash);if(!be)throw new Error(`Assertion failed: The resolution (${sr(this.configuration,se)}) should have been registered`);if(k.has(be)){Be=!1;break}}if(!Be)continue;k.delete(L);let Ge=h.get(de.locatorHash);if(!Ge)throw new Error(\"Assertion failed: The build directive should have been registered\");let re=z(de,Ge.buildLocations);if(this.storedBuildState.get(de.locatorHash)===re){ne.set(de.locatorHash,re);continue}ee||(await this.persistInstallStateFile(),ee=!0),this.storedBuildState.has(de.locatorHash)?t.reportInfo(X.MUST_REBUILD,`${It(this.configuration,de)} must be rebuilt because its dependency tree changed`):t.reportInfo(X.MUST_BUILD,`${It(this.configuration,de)} must be built because it never has been before or the last one failed`);for(let se of Ge.buildLocations){if(!x.isAbsolute(se))throw new Error(`Assertion failed: Expected the build location to be absolute (not ${se})`);O.push((async()=>{for(let[be,he]of Ge.directives){let Fe=`# This file contains the result of Yarn building a package (${Fs(de)})\n`;switch(be){case cs.SCRIPT:Fe+=`# Script name: ${he}\n`;break;case cs.SHELLCODE:Fe+=`# Script code: ${he}\n`;break}let Ue=null;if(!await U.mktempPromise(async ve=>{let pe=x.join(ve,\"build.log\"),{stdout:V,stderr:Qe}=this.configuration.getSubprocessStreams(pe,{header:Fe,prefix:It(this.configuration,de),report:t}),le;try{switch(be){case cs.SCRIPT:le=await sB(de,he,[],{cwd:se,project:this,stdin:Ue,stdout:V,stderr:Qe});break;case cs.SHELLCODE:le=await iD(de,he,[],{cwd:se,project:this,stdin:Ue,stdout:V,stderr:Qe});break}}catch(gt){Qe.write(gt.stack),le=1}if(V.end(),Qe.end(),le===0)return ne.set(de.locatorHash,re),!0;U.detachTemp(ve);let fe=`${It(this.configuration,de)} couldn't be built successfully (exit code ${tt(this.configuration,le,Ye.NUMBER)}, logs can be found here: ${tt(this.configuration,pe,Ye.PATH)})`;return this.optionalBuilds.has(de.locatorHash)?(t.reportInfo(X.BUILD_FAILED,fe),ne.set(de.locatorHash,re),!0):(t.reportError(X.BUILD_FAILED,fe),!1)}))return}})())}}if(await ho(O),Z===k.size){let L=Array.from(k).map(de=>{let Be=this.storedPackages.get(de);if(!Be)throw new Error(\"Assertion failed: The package should have been registered\");return It(this.configuration,Be)}).join(\", \");t.reportError(X.CYCLIC_DEPENDENCIES,`Some packages have circular dependencies that make their build order unsatisfiable - as a result they won't be built (affected packages are: ${L})`);break}}this.storedBuildState=ne}async install(e){var a,l;let t=this.configuration.get(\"nodeLinker\");(a=ye.telemetry)==null||a.reportInstall(t),await e.report.startTimerPromise(\"Project validation\",{skipIfEmpty:!0},async()=>{await this.configuration.triggerHook(c=>c.validateProject,this,{reportWarning:e.report.reportWarning.bind(e.report),reportError:e.report.reportError.bind(e.report)})});for(let c of this.configuration.packageExtensions.values())for(let[,u]of c)for(let g of u)g.status=qi.Inactive;let i=x.join(this.cwd,this.configuration.get(\"lockfileFilename\")),n=null;if(e.immutable)try{n=await U.readFilePromise(i,\"utf8\")}catch(c){throw c.code===\"ENOENT\"?new ct(X.FROZEN_LOCKFILE_EXCEPTION,\"The lockfile would have been created by this install, which is explicitly forbidden.\"):c}await e.report.startTimerPromise(\"Resolution step\",async()=>{await this.resolveEverything(e)}),await e.report.startTimerPromise(\"Post-resolution validation\",{skipIfEmpty:!0},async()=>{for(let[,c]of this.configuration.packageExtensions)for(let[,u]of c)for(let g of u)if(g.userProvided){let f=tt(this.configuration,g,Ye.PACKAGE_EXTENSION);switch(g.status){case qi.Inactive:e.report.reportWarning(X.UNUSED_PACKAGE_EXTENSION,`${f}: No matching package in the dependency tree; you may not need this rule anymore.`);break;case qi.Redundant:e.report.reportWarning(X.REDUNDANT_PACKAGE_EXTENSION,`${f}: This rule seems redundant when applied on the original package; the extension may have been applied upstream.`);break}}if(n!==null){let c=oc(n,this.generateLockfile());if(c!==n){let u=e7(i,i,n,c,void 0,void 0,{maxEditLength:100});if(u){e.report.reportSeparator();for(let g of u.hunks){e.report.reportInfo(null,`@@ -${g.oldStart},${g.oldLines} +${g.newStart},${g.newLines} @@`);for(let f of g.lines)f.startsWith(\"+\")?e.report.reportError(X.FROZEN_LOCKFILE_EXCEPTION,tt(this.configuration,f,Ye.ADDED)):f.startsWith(\"-\")?e.report.reportError(X.FROZEN_LOCKFILE_EXCEPTION,tt(this.configuration,f,Ye.REMOVED)):e.report.reportInfo(null,tt(this.configuration,f,\"grey\"))}e.report.reportSeparator()}throw new ct(X.FROZEN_LOCKFILE_EXCEPTION,\"The lockfile would have been modified by this install, which is explicitly forbidden.\")}}});for(let c of this.configuration.packageExtensions.values())for(let[,u]of c)for(let g of u)g.userProvided&&g.status===qi.Active&&((l=ye.telemetry)==null||l.reportPackageExtension(Mc(g,Ye.PACKAGE_EXTENSION)));await e.report.startTimerPromise(\"Fetch step\",async()=>{await this.fetchEverything(e),(typeof e.persistProject==\"undefined\"||e.persistProject)&&e.mode!==Ci.UpdateLockfile&&await this.cacheCleanup(e)});let s=e.immutable?[...new Set(this.configuration.get(\"immutablePatterns\"))].sort():[],o=await Promise.all(s.map(async c=>aw(c,{cwd:this.cwd})));(typeof e.persistProject==\"undefined\"||e.persistProject)&&await this.persist(),await e.report.startTimerPromise(\"Link step\",async()=>{if(e.mode===Ci.UpdateLockfile){e.report.reportWarning(X.UPDATE_LOCKFILE_ONLY_SKIP_LINK,`Skipped due to ${tt(this.configuration,\"mode=update-lockfile\",Ye.CODE)}`);return}await this.linkEverything(e);let c=await Promise.all(s.map(async u=>aw(u,{cwd:this.cwd})));for(let u=0;u<s.length;++u)o[u]!==c[u]&&e.report.reportError(X.FROZEN_ARTIFACT_EXCEPTION,`The checksum for ${s[u]} has been modified by this install, which is explicitly forbidden.`)}),await this.persistInstallStateFile(),await this.configuration.triggerHook(c=>c.afterAllInstalled,this,e)}generateLockfile(){let e=new Map;for(let[n,s]of this.storedResolutions.entries()){let o=e.get(s);o||e.set(s,o=new Set),o.add(n)}let t={};t.__metadata={version:cZ,cacheKey:void 0};for(let[n,s]of e.entries()){let o=this.originalPackages.get(n);if(!o)continue;let a=[];for(let f of s){let h=this.storedDescriptors.get(f);if(!h)throw new Error(\"Assertion failed: The descriptor should have been registered\");a.push(h)}let l=a.map(f=>Pn(f)).sort().join(\", \"),c=new At;c.version=o.linkType===Qt.HARD?o.version:\"0.0.0-use.local\",c.languageName=o.languageName,c.dependencies=new Map(o.dependencies),c.peerDependencies=new Map(o.peerDependencies),c.dependenciesMeta=new Map(o.dependenciesMeta),c.peerDependenciesMeta=new Map(o.peerDependenciesMeta),c.bin=new Map(o.bin);let u,g=this.storedChecksums.get(o.locatorHash);if(typeof g!=\"undefined\"){let f=g.indexOf(\"/\");if(f===-1)throw new Error(\"Assertion failed: Expected the checksum to reference its cache key\");let h=g.slice(0,f),p=g.slice(f+1);typeof t.__metadata.cacheKey==\"undefined\"&&(t.__metadata.cacheKey=h),h===t.__metadata.cacheKey?u=p:u=g}t[l]=te(N({},c.exportTo({},{compatibilityMode:!1})),{linkType:o.linkType.toLowerCase(),resolution:Fs(o),checksum:u,conditions:o.conditions||void 0})}return`${[`# This file is generated by running \"yarn install\" inside your project.\n`,`# Manual changes might be lost - proceed with caution!\n`].join(\"\")}\n`+Ua(t)}async persistLockfile(){let e=x.join(this.cwd,this.configuration.get(\"lockfileFilename\")),t=\"\";try{t=await U.readFilePromise(e,\"utf8\")}catch(s){}let i=this.generateLockfile(),n=oc(t,i);n!==t&&(await U.writeFilePromise(e,n),this.lockFileChecksum=gZ(n),this.lockfileNeedsRefresh=!1)}async persistInstallStateFile(){let e=[];for(let o of Object.values(HR))e.push(...o);let t=(0,s0.default)(this,e),i=UR.default.serialize(t),n=ln(i);if(this.installStateChecksum===n)return;let s=this.configuration.get(\"installStatePath\");await U.mkdirPromise(x.dirname(s),{recursive:!0}),await U.writeFilePromise(s,await $Oe(i)),this.installStateChecksum=n}async restoreInstallState({restoreInstallersCustomData:e=!0,restoreResolutions:t=!0,restoreBuildState:i=!0}={}){let n=this.configuration.get(\"installStatePath\"),s;try{let o=await eMe(await U.readFilePromise(n));s=UR.default.deserialize(o),this.installStateChecksum=ln(o)}catch{t&&await this.applyLightResolution();return}e&&typeof s.installersCustomData!=\"undefined\"&&(this.installersCustomData=s.installersCustomData),i&&Object.assign(this,(0,s0.default)(s,HR.restoreBuildState)),t&&(s.lockFileChecksum===this.lockFileChecksum?(Object.assign(this,(0,s0.default)(s,HR.restoreResolutions)),this.refreshWorkspaceDependencies()):await this.applyLightResolution())}async applyLightResolution(){await this.resolveEverything({lockfileOnly:!0,report:new di}),await this.persistInstallStateFile()}async persist(){await this.persistLockfile();for(let e of this.workspacesByCwd.values())await e.persistManifest()}async cacheCleanup({cache:e,report:t}){if(this.configuration.get(\"enableGlobalCache\"))return;let i=new Set([\".gitignore\"]);if(!lx(e.cwd,this.cwd)||!await U.existsPromise(e.cwd))return;let n=this.configuration.get(\"preferAggregateCacheInfo\"),s=0,o=null;for(let a of await U.readdirPromise(e.cwd)){if(i.has(a))continue;let l=x.resolve(e.cwd,a);e.markedFiles.has(l)||(o=a,e.immutable?t.reportError(X.IMMUTABLE_CACHE,`${tt(this.configuration,x.basename(l),\"magenta\")} appears to be unused and would be marked for deletion, but the cache is immutable`):(n?s+=1:t.reportInfo(X.UNUSED_CACHE_ENTRY,`${tt(this.configuration,x.basename(l),\"magenta\")} appears to be unused - removing`),await U.removePromise(l)))}n&&s!==0&&t.reportInfo(X.UNUSED_CACHE_ENTRY,s>1?`${s} packages appeared to be unused and were removed`:`${o} appeared to be unused and was removed`),e.markedFiles.clear()}};function tMe({project:r,allDescriptors:e,allResolutions:t,allPackages:i,accessibleLocators:n=new Set,optionalBuilds:s=new Set,peerRequirements:o=new Map,volatileDescriptors:a=new Set,report:l,tolerateMissingPackages:c=!1}){var ne;let u=new Map,g=[],f=new Map,h=new Map,p=new Map,m=new Map,y=new Map,b=new Map(r.workspaces.map(ee=>{let A=ee.anchoredLocator.locatorHash,oe=i.get(A);if(typeof oe==\"undefined\"){if(c)return[A,null];throw new Error(\"Assertion failed: The workspace should have an associated package\")}return[A,ud(oe)]})),v=()=>{let ee=U.mktempSync(),A=x.join(ee,\"stacktrace.log\"),oe=String(g.length+1).length,ce=g.map((Z,O)=>`${`${O+1}.`.padStart(oe,\" \")} ${Fs(Z)}\n`).join(\"\");throw U.writeFileSync(A,ce),U.detachTemp(ee),new ct(X.STACK_OVERFLOW_RESOLUTION,`Encountered a stack overflow when resolving peer dependencies; cf ${H.fromPortablePath(A)}`)},k=ee=>{let A=t.get(ee.descriptorHash);if(typeof A==\"undefined\")throw new Error(\"Assertion failed: The resolution should have been registered\");let oe=i.get(A);if(!oe)throw new Error(\"Assertion failed: The package could not be found\");return oe},T=(ee,A,oe,{top:ce,optional:Z})=>{g.length>1e3&&v(),g.push(A);let O=Y(ee,A,oe,{top:ce,optional:Z});return g.pop(),O},Y=(ee,A,oe,{top:ce,optional:Z})=>{if(n.has(A.locatorHash))return;n.add(A.locatorHash),Z||s.delete(A.locatorHash);let O=i.get(A.locatorHash);if(!O){if(c)return;throw new Error(`Assertion failed: The package (${It(r.configuration,A)}) should have been registered`)}let L=[],de=[],Be=[],Ge=[],re=[];for(let be of Array.from(O.dependencies.values())){if(O.peerDependencies.has(be.identHash)&&O.locatorHash!==ce)continue;if(ll(be))throw new Error(\"Assertion failed: Virtual packages shouldn't be encountered when virtualizing a branch\");a.delete(be.descriptorHash);let he=Z;if(!he){let Qe=O.dependenciesMeta.get(Ot(be));if(typeof Qe!=\"undefined\"){let le=Qe.get(null);typeof le!=\"undefined\"&&le.optional&&(he=!0)}}let Fe=t.get(be.descriptorHash);if(!Fe){if(c)continue;throw new Error(`Assertion failed: The resolution (${sr(r.configuration,be)}) should have been registered`)}let Ue=b.get(Fe)||i.get(Fe);if(!Ue)throw new Error(`Assertion failed: The package (${Fe}, resolved from ${sr(r.configuration,be)}) should have been registered`);if(Ue.peerDependencies.size===0){T(be,Ue,new Map,{top:ce,optional:he});continue}let xe,ve,pe=new Set,V;de.push(()=>{xe=Xk(be,A.locatorHash),ve=Zk(Ue,A.locatorHash),O.dependencies.delete(be.identHash),O.dependencies.set(xe.identHash,xe),t.set(xe.descriptorHash,ve.locatorHash),e.set(xe.descriptorHash,xe),i.set(ve.locatorHash,ve),L.push([Ue,xe,ve])}),Be.push(()=>{var Qe;V=new Map;for(let le of ve.peerDependencies.values()){let fe=O.dependencies.get(le.identHash);if(!fe&&hd(A,le)&&(ee.identHash===A.identHash?fe=ee:(fe=rr(A,ee.range),e.set(fe.descriptorHash,fe),t.set(fe.descriptorHash,A.locatorHash),a.delete(fe.descriptorHash))),(!fe||fe.range===\"missing:\")&&ve.dependencies.has(le.identHash)){ve.peerDependencies.delete(le.identHash);continue}fe||(fe=rr(le,\"missing:\")),ve.dependencies.set(fe.identHash,fe),ll(fe)&&Lc(p,fe.descriptorHash).add(ve.locatorHash),f.set(fe.identHash,fe),fe.range===\"missing:\"&&pe.add(fe.identHash),V.set(le.identHash,(Qe=oe.get(le.identHash))!=null?Qe:ve.locatorHash)}ve.dependencies=new Map(xn(ve.dependencies,([le,fe])=>Ot(fe)))}),Ge.push(()=>{if(!i.has(ve.locatorHash))return;let Qe=u.get(Ue.locatorHash);typeof Qe==\"number\"&&Qe>=2&&v();let le=u.get(Ue.locatorHash),fe=typeof le!=\"undefined\"?le+1:1;u.set(Ue.locatorHash,fe),T(xe,ve,V,{top:ce,optional:he}),u.set(Ue.locatorHash,fe-1)}),re.push(()=>{let Qe=O.dependencies.get(be.identHash);if(typeof Qe==\"undefined\")throw new Error(\"Assertion failed: Expected the peer dependency to have been turned into a dependency\");let le=t.get(Qe.descriptorHash);if(typeof le==\"undefined\")throw new Error(\"Assertion failed: Expected the descriptor to be registered\");if(Lc(y,le).add(A.locatorHash),!!i.has(ve.locatorHash)){for(let fe of ve.peerDependencies.values()){let gt=V.get(fe.identHash);if(typeof gt==\"undefined\")throw new Error(\"Assertion failed: Expected the peer dependency ident to be registered\");Ng(Lg(m,gt),Ot(fe)).push(ve.locatorHash)}for(let fe of pe)ve.dependencies.delete(fe)}})}for(let be of[...de,...Be])be();let se;do{se=!0;for(let[be,he,Fe]of L){let Ue=Lg(h,be.locatorHash),xe=ln(...[...Fe.dependencies.values()].map(Qe=>{let le=Qe.range!==\"missing:\"?t.get(Qe.descriptorHash):\"missing:\";if(typeof le==\"undefined\")throw new Error(`Assertion failed: Expected the resolution for ${sr(r.configuration,Qe)} to have been registered`);return le===ce?`${le} (top)`:le}),he.identHash),ve=Ue.get(xe);if(typeof ve==\"undefined\"){Ue.set(xe,he);continue}if(ve===he)continue;i.delete(Fe.locatorHash),e.delete(he.descriptorHash),t.delete(he.descriptorHash),n.delete(Fe.locatorHash);let pe=p.get(he.descriptorHash)||[],V=[O.locatorHash,...pe];p.delete(he.descriptorHash);for(let Qe of V){let le=i.get(Qe);typeof le!=\"undefined\"&&(le.dependencies.get(he.identHash).descriptorHash!==ve.descriptorHash&&(se=!1),le.dependencies.set(he.identHash,ve))}}}while(!se);for(let be of[...Ge,...re])be()};for(let ee of r.workspaces){let A=ee.anchoredLocator;a.delete(ee.anchoredDescriptor.descriptorHash),T(ee.anchoredDescriptor,A,new Map,{top:A.locatorHash,optional:!1})}var q;(function(oe){oe[oe.NotProvided=0]=\"NotProvided\",oe[oe.NotCompatible=1]=\"NotCompatible\"})(q||(q={}));let $=[];for(let[ee,A]of y){let oe=i.get(ee);if(typeof oe==\"undefined\")throw new Error(\"Assertion failed: Expected the root to be registered\");let ce=m.get(ee);if(typeof ce!=\"undefined\")for(let Z of A){let O=i.get(Z);if(typeof O!=\"undefined\")for(let[L,de]of ce){let Be=An(L);if(O.peerDependencies.has(Be.identHash))continue;let Ge=`p${ln(Z,L,ee).slice(0,5)}`;o.set(Ge,{subject:Z,requested:Be,rootRequester:ee,allRequesters:de});let re=oe.dependencies.get(Be.identHash);if(typeof re!=\"undefined\"){let se=k(re),be=(ne=se.version)!=null?ne:\"0.0.0\",he=new Set;for(let Ue of de){let xe=i.get(Ue);if(typeof xe==\"undefined\")throw new Error(\"Assertion failed: Expected the link to be registered\");let ve=xe.peerDependencies.get(Be.identHash);if(typeof ve==\"undefined\")throw new Error(\"Assertion failed: Expected the ident to be registered\");he.add(ve.range)}[...he].every(Ue=>{if(Ue.startsWith(oi.protocol)){if(!r.tryWorkspaceByLocator(se))return!1;Ue=Ue.slice(oi.protocol.length),(Ue===\"^\"||Ue===\"~\")&&(Ue=\"*\")}return Jc(be,Ue)})||$.push({type:1,subject:O,requested:Be,requester:oe,version:be,hash:Ge,requirementCount:de.length})}else{let se=oe.peerDependenciesMeta.get(L);(se==null?void 0:se.optional)||$.push({type:0,subject:O,requested:Be,requester:oe,hash:Ge})}}}}let z=[ee=>ex(ee.subject),ee=>Ot(ee.requested),ee=>`${ee.type}`];l==null||l.startSectionSync({reportFooter:()=>{l.reportWarning(X.UNNAMED,`Some peer dependencies are incorrectly met; run ${tt(r.configuration,\"yarn explain peer-requirements <hash>\",Ye.CODE)} for details, where ${tt(r.configuration,\"<hash>\",Ye.CODE)} is the six-letter p-prefixed code`)},skipIfEmpty:!0},()=>{for(let ee of xn($,z))switch(ee.type){case 0:l.reportWarning(X.MISSING_PEER_DEPENDENCY,`${It(r.configuration,ee.subject)} doesn't provide ${fi(r.configuration,ee.requested)} (${tt(r.configuration,ee.hash,Ye.CODE)}), requested by ${fi(r.configuration,ee.requester)}`);break;case 1:{let A=ee.requirementCount>1?\"and some of its descendants request\":\"requests\";l.reportWarning(X.INCOMPATIBLE_PEER_DEPENDENCY,`${It(r.configuration,ee.subject)} provides ${fi(r.configuration,ee.requested)} (${tt(r.configuration,ee.hash,Ye.CODE)}) with version ${Cd(r.configuration,ee.version)}, which doesn't satisfy what ${fi(r.configuration,ee.requester)} ${A}`)}break}})}var ua;(function(l){l.VERSION=\"version\",l.COMMAND_NAME=\"commandName\",l.PLUGIN_NAME=\"pluginName\",l.INSTALL_COUNT=\"installCount\",l.PROJECT_COUNT=\"projectCount\",l.WORKSPACE_COUNT=\"workspaceCount\",l.DEPENDENCY_COUNT=\"dependencyCount\",l.EXTENSION=\"packageExtension\"})(ua||(ua={}));var EC=class{constructor(e,t){this.values=new Map;this.hits=new Map;this.enumerators=new Map;this.configuration=e;let i=this.getRegistryPath();this.isNew=!U.existsSync(i),this.sendReport(t),this.startBuffer()}reportVersion(e){this.reportValue(ua.VERSION,e.replace(/-git\\..*/,\"-git\"))}reportCommandName(e){this.reportValue(ua.COMMAND_NAME,e||\"<none>\")}reportPluginName(e){this.reportValue(ua.PLUGIN_NAME,e)}reportProject(e){this.reportEnumerator(ua.PROJECT_COUNT,e)}reportInstall(e){this.reportHit(ua.INSTALL_COUNT,e)}reportPackageExtension(e){this.reportValue(ua.EXTENSION,e)}reportWorkspaceCount(e){this.reportValue(ua.WORKSPACE_COUNT,String(e))}reportDependencyCount(e){this.reportValue(ua.DEPENDENCY_COUNT,String(e))}reportValue(e,t){Lc(this.values,e).add(t)}reportEnumerator(e,t){Lc(this.enumerators,e).add(ln(t))}reportHit(e,t=\"*\"){let i=Lg(this.hits,e),n=Va(i,t,()=>0);i.set(t,n+1)}getRegistryPath(){let e=this.configuration.get(\"globalFolder\");return x.join(e,\"telemetry.json\")}sendReport(e){var u,g,f;let t=this.getRegistryPath(),i;try{i=U.readJsonSync(t)}catch{i={}}let n=Date.now(),s=this.configuration.get(\"telemetryInterval\")*24*60*60*1e3,a=((u=i.lastUpdate)!=null?u:n+s+Math.floor(s*Math.random()))+s;if(a>n&&i.lastUpdate!=null)return;try{U.mkdirSync(x.dirname(t),{recursive:!0}),U.writeJsonSync(t,{lastUpdate:n})}catch{return}if(a>n||!i.blocks)return;let l=`https://browser-http-intake.logs.datadoghq.eu/v1/input/${e}?ddsource=yarn`,c=h=>jP(l,h,{configuration:this.configuration}).catch(()=>{});for(let[h,p]of Object.entries((g=i.blocks)!=null?g:{})){if(Object.keys(p).length===0)continue;let m=p;m.userId=h,m.reportType=\"primary\";for(let v of Object.keys((f=m.enumerators)!=null?f:{}))m.enumerators[v]=m.enumerators[v].length;c(m);let y=new Map,b=20;for(let[v,k]of Object.entries(m.values))k.length>0&&y.set(v,k.slice(0,b));for(;y.size>0;){let v={};v.userId=h,v.reportType=\"secondary\",v.metrics={};for(let[k,T]of y)v.metrics[k]=T.shift(),T.length===0&&y.delete(k);c(v)}}}applyChanges(){var o,a,l,c,u,g,f,h,p;let e=this.getRegistryPath(),t;try{t=U.readJsonSync(e)}catch{t={}}let i=(o=this.configuration.get(\"telemetryUserId\"))!=null?o:\"*\",n=t.blocks=(a=t.blocks)!=null?a:{},s=n[i]=(l=n[i])!=null?l:{};for(let m of this.hits.keys()){let y=s.hits=(c=s.hits)!=null?c:{},b=y[m]=(u=y[m])!=null?u:{};for(let[v,k]of this.hits.get(m))b[v]=((g=b[v])!=null?g:0)+k}for(let m of[\"values\",\"enumerators\"])for(let y of this[m].keys()){let b=s[m]=(f=s[m])!=null?f:{};b[y]=[...new Set([...(h=b[y])!=null?h:[],...(p=this[m].get(y))!=null?p:[]])]}U.mkdirSync(x.dirname(e),{recursive:!0}),U.writeJsonSync(e,t)}startBuffer(){process.on(\"exit\",()=>{try{this.applyChanges()}catch{}})}};var jR=ge(require(\"child_process\")),fZ=ge(yc());var GR=ge(require(\"fs\"));var Tf=new Map([[\"constraints\",[[\"constraints\",\"query\"],[\"constraints\",\"source\"],[\"constraints\"]]],[\"exec\",[]],[\"interactive-tools\",[[\"search\"],[\"upgrade-interactive\"]]],[\"stage\",[[\"stage\"]]],[\"typescript\",[]],[\"version\",[[\"version\",\"apply\"],[\"version\",\"check\"],[\"version\"]]],[\"workspace-tools\",[[\"workspaces\",\"focus\"],[\"workspaces\",\"foreach\"]]]]);function rMe(r){let e=H.fromPortablePath(r);process.on(\"SIGINT\",()=>{}),e?(0,jR.execFileSync)(process.execPath,[e,...process.argv.slice(2)],{stdio:\"inherit\",env:te(N({},process.env),{YARN_IGNORE_PATH:\"1\",YARN_IGNORE_CWD:\"1\"})}):(0,jR.execFileSync)(e,process.argv.slice(2),{stdio:\"inherit\",env:te(N({},process.env),{YARN_IGNORE_PATH:\"1\",YARN_IGNORE_CWD:\"1\"})})}async function o0({binaryVersion:r,pluginConfiguration:e}){async function t(){let n=new Bs({binaryLabel:\"Yarn Package Manager\",binaryName:\"yarn\",binaryVersion:r});try{await i(n)}catch(s){process.stdout.write(n.error(s)),process.exitCode=1}}async function i(n){var m,y,b,v,k;let s=process.versions.node,o=\">=12 <14 || 14.2 - 14.9 || >14.10.0\";if(!Se.parseOptionalBoolean(process.env.YARN_IGNORE_NODE)&&!Wt.satisfiesWithPrereleases(s,o))throw new Pe(`This tool requires a Node version compatible with ${o} (got ${s}). Upgrade Node, or set \\`YARN_IGNORE_NODE=1\\` in your environment.`);let l=await ye.find(H.toPortablePath(process.cwd()),e,{usePath:!0,strict:!1}),c=l.get(\"yarnPath\"),u=l.get(\"ignorePath\"),g=l.get(\"ignoreCwd\"),f=H.toPortablePath(H.resolve(process.argv[1])),h=T=>U.readFilePromise(T).catch(()=>Buffer.of());if(!u&&!g&&await(async()=>c===f||Buffer.compare(...await Promise.all([h(c),h(f)]))===0)()){process.env.YARN_IGNORE_PATH=\"1\",process.env.YARN_IGNORE_CWD=\"1\",await i(n);return}else if(c!==null&&!u)if(!U.existsSync(c))process.stdout.write(n.error(new Error(`The \"yarn-path\" option has been set (in ${l.sources.get(\"yarnPath\")}), but the specified location doesn't exist (${c}).`))),process.exitCode=1;else try{rMe(c)}catch(T){process.exitCode=T.code||1}else{u&&delete process.env.YARN_IGNORE_PATH,l.get(\"enableTelemetry\")&&!fZ.isCI&&process.stdout.isTTY&&(ye.telemetry=new EC(l,\"puba9cdc10ec5790a2cf4969dd413a47270\")),(m=ye.telemetry)==null||m.reportVersion(r);for(let[$,z]of l.plugins.entries()){Tf.has((b=(y=$.match(/^@yarnpkg\\/plugin-(.*)$/))==null?void 0:y[1])!=null?b:\"\")&&((v=ye.telemetry)==null||v.reportPluginName($));for(let ne of z.commands||[])n.register(ne)}let Y=n.process(process.argv.slice(2));Y.help||(k=ye.telemetry)==null||k.reportCommandName(Y.path.join(\" \"));let q=Y.cwd;if(typeof q!=\"undefined\"&&!g){let $=(0,GR.realpathSync)(process.cwd()),z=(0,GR.realpathSync)(q);if($!==z){process.chdir(q),await t();return}}await n.runExit(Y,{cwd:H.toPortablePath(process.cwd()),plugins:e,quiet:!1,stdin:process.stdin,stdout:process.stdout,stderr:process.stderr})}}return t().catch(n=>{process.stdout.write(n.stack||n.message),process.exitCode=1}).finally(()=>U.rmtempPromise())}function hZ(r){r.Command.Path=(...e)=>t=>{t.paths=t.paths||[],t.paths.push(e)};for(let e of[\"Array\",\"Boolean\",\"String\",\"Proxy\",\"Rest\",\"Counter\"])r.Command[e]=(...t)=>(i,n)=>{let s=r.Option[e](...t);Object.defineProperty(i,`__${n}`,{configurable:!1,enumerable:!0,get(){return s},set(o){this[n]=o}})};return r}var YC={};ft(YC,{BaseCommand:()=>Le,WorkspaceRequiredError:()=>ht,getDynamicLibs:()=>kre,getPluginConfiguration:()=>T0,main:()=>o0,openWorkspace:()=>zf,pluginCommands:()=>Tf});var Le=class extends Re{constructor(){super(...arguments);this.cwd=J.String(\"--cwd\",{hidden:!0})}};var ht=class extends Pe{constructor(e,t){let i=x.relative(e,t),n=x.join(e,At.fileName);super(`This command can only be run from within a workspace of your project (${i} isn't a workspace of ${n}).`)}};var AGe=ge(ri());ws();var lGe=ge(HF()),kre=()=>new Map([[\"@yarnpkg/cli\",YC],[\"@yarnpkg/core\",IC],[\"@yarnpkg/fslib\",$h],[\"@yarnpkg/libzip\",Ud],[\"@yarnpkg/parsers\",ap],[\"@yarnpkg/shell\",Hd],[\"clipanion\",mp],[\"semver\",AGe],[\"typanion\",ug],[\"yup\",lGe]]);async function zf(r,e){let{project:t,workspace:i}=await ze.find(r,e);if(!i)throw new ht(t.cwd,e);return i}var v_e=ge(ri());ws();var k_e=ge(HF());var YN={};ft(YN,{dedupeUtils:()=>BN,default:()=>y3e,suggestUtils:()=>cN});var Pae=ge(yc());var One=ge(zC());ws();var cN={};ft(cN,{Modifier:()=>da,Strategy:()=>Vr,Target:()=>Hr,WorkspaceModifier:()=>Zf,applyModifier:()=>Fne,extractDescriptorFromPath:()=>fN,extractRangeModifier:()=>Rne,fetchDescriptorFrom:()=>gN,findProjectDescriptors:()=>Tne,getModifier:()=>_C,getSuggestedDescriptors:()=>VC,makeWorkspaceDescriptor:()=>Lne,toWorkspaceModifier:()=>Nne});var uN=ge(ri()),vYe=\"workspace:\",Hr;(function(i){i.REGULAR=\"dependencies\",i.DEVELOPMENT=\"devDependencies\",i.PEER=\"peerDependencies\"})(Hr||(Hr={}));var da;(function(i){i.CARET=\"^\",i.TILDE=\"~\",i.EXACT=\"\"})(da||(da={}));var Zf;(function(i){i.CARET=\"^\",i.TILDE=\"~\",i.EXACT=\"*\"})(Zf||(Zf={}));var Vr;(function(s){s.KEEP=\"keep\",s.REUSE=\"reuse\",s.PROJECT=\"project\",s.LATEST=\"latest\",s.CACHE=\"cache\"})(Vr||(Vr={}));function _C(r,e){return r.exact?da.EXACT:r.caret?da.CARET:r.tilde?da.TILDE:e.configuration.get(\"defaultSemverRangePrefix\")}var kYe=/^([\\^~]?)[0-9]+(?:\\.[0-9]+){0,2}(?:-\\S+)?$/;function Rne(r,{project:e}){let t=r.match(kYe);return t?t[1]:e.configuration.get(\"defaultSemverRangePrefix\")}function Fne(r,e){let{protocol:t,source:i,params:n,selector:s}=P.parseRange(r.range);return uN.default.valid(s)&&(s=`${e}${r.range}`),P.makeDescriptor(r,P.makeRange({protocol:t,source:i,params:n,selector:s}))}function Nne(r){switch(r){case da.CARET:return Zf.CARET;case da.TILDE:return Zf.TILDE;case da.EXACT:return Zf.EXACT;default:throw new Error(`Assertion failed: Unknown modifier: \"${r}\"`)}}function Lne(r,e){return P.makeDescriptor(r.anchoredDescriptor,`${vYe}${Nne(e)}`)}async function Tne(r,{project:e,target:t}){let i=new Map,n=s=>{let o=i.get(s.descriptorHash);return o||i.set(s.descriptorHash,o={descriptor:s,locators:[]}),o};for(let s of e.workspaces)if(t===Hr.PEER){let o=s.manifest.peerDependencies.get(r.identHash);o!==void 0&&n(o).locators.push(s.locator)}else{let o=s.manifest.dependencies.get(r.identHash),a=s.manifest.devDependencies.get(r.identHash);t===Hr.DEVELOPMENT?a!==void 0?n(a).locators.push(s.locator):o!==void 0&&n(o).locators.push(s.locator):o!==void 0?n(o).locators.push(s.locator):a!==void 0&&n(a).locators.push(s.locator)}return i}async function fN(r,{cwd:e,workspace:t}){return await xYe(async i=>{x.isAbsolute(r)||(r=x.relative(t.cwd,x.resolve(e,r)),r.match(/^\\.{0,2}\\//)||(r=`./${r}`));let{project:n}=t,s=await gN(P.makeIdent(null,\"archive\"),r,{project:t.project,cache:i,workspace:t});if(!s)throw new Error(\"Assertion failed: The descriptor should have been found\");let o=new di,a=n.configuration.makeResolver(),l=n.configuration.makeFetcher(),c={checksums:n.storedChecksums,project:n,cache:i,fetcher:l,report:o,resolver:a},u=a.bindDescriptor(s,t.anchoredLocator,c),g=P.convertDescriptorToLocator(u),f=await l.fetch(g,c),h=await At.find(f.prefixPath,{baseFs:f.packageFs});if(!h.name)throw new Error(\"Target path doesn't have a name\");return P.makeDescriptor(h.name,r)})}async function VC(r,{project:e,workspace:t,cache:i,target:n,modifier:s,strategies:o,maxResults:a=Infinity}){if(!(a>=0))throw new Error(`Invalid maxResults (${a})`);if(r.range!==\"unknown\")return{suggestions:[{descriptor:r,name:`Use ${P.prettyDescriptor(e.configuration,r)}`,reason:\"(unambiguous explicit request)\"}],rejections:[]};let l=typeof t!=\"undefined\"&&t!==null&&t.manifest[n].get(r.identHash)||null,c=[],u=[],g=async f=>{try{await f()}catch(h){u.push(h)}};for(let f of o){if(c.length>=a)break;switch(f){case Vr.KEEP:await g(async()=>{l&&c.push({descriptor:l,name:`Keep ${P.prettyDescriptor(e.configuration,l)}`,reason:\"(no changes)\"})});break;case Vr.REUSE:await g(async()=>{for(let{descriptor:h,locators:p}of(await Tne(r,{project:e,target:n})).values()){if(p.length===1&&p[0].locatorHash===t.anchoredLocator.locatorHash&&o.includes(Vr.KEEP))continue;let m=`(originally used by ${P.prettyLocator(e.configuration,p[0])}`;m+=p.length>1?` and ${p.length-1} other${p.length>2?\"s\":\"\"})`:\")\",c.push({descriptor:h,name:`Reuse ${P.prettyDescriptor(e.configuration,h)}`,reason:m})}});break;case Vr.CACHE:await g(async()=>{for(let h of e.storedDescriptors.values())h.identHash===r.identHash&&c.push({descriptor:h,name:`Reuse ${P.prettyDescriptor(e.configuration,h)}`,reason:\"(already used somewhere in the lockfile)\"})});break;case Vr.PROJECT:await g(async()=>{if(t.manifest.name!==null&&r.identHash===t.manifest.name.identHash)return;let h=e.tryWorkspaceByIdent(r);if(h===null)return;let p=Lne(h,s);c.push({descriptor:p,name:`Attach ${P.prettyDescriptor(e.configuration,p)}`,reason:`(local workspace at ${ae.pretty(e.configuration,h.relativeCwd,ae.Type.PATH)})`})});break;case Vr.LATEST:await g(async()=>{if(r.range!==\"unknown\")c.push({descriptor:r,name:`Use ${P.prettyRange(e.configuration,r.range)}`,reason:\"(explicit range requested)\"});else if(n===Hr.PEER)c.push({descriptor:P.makeDescriptor(r,\"*\"),name:\"Use *\",reason:\"(catch-all peer dependency pattern)\"});else if(!e.configuration.get(\"enableNetwork\"))c.push({descriptor:null,name:\"Resolve from latest\",reason:ae.pretty(e.configuration,\"(unavailable because enableNetwork is toggled off)\",\"grey\")});else{let h=await gN(r,\"latest\",{project:e,cache:i,workspace:t,preserveModifier:!1});h&&(h=Fne(h,s),c.push({descriptor:h,name:`Use ${P.prettyDescriptor(e.configuration,h)}`,reason:\"(resolved from latest)\"}))}});break}}return{suggestions:c.slice(0,a),rejections:u.slice(0,a)}}async function gN(r,e,{project:t,cache:i,workspace:n,preserveModifier:s=!0}){let o=P.makeDescriptor(r,e),a=new di,l=t.configuration.makeFetcher(),c=t.configuration.makeResolver(),u={project:t,fetcher:l,cache:i,checksums:t.storedChecksums,report:a,cacheOptions:{skipIntegrityCheck:!0},skipIntegrityCheck:!0},g=te(N({},u),{resolver:c,fetchOptions:u}),f=c.bindDescriptor(o,n.anchoredLocator,g),h=await c.getCandidates(f,new Map,g);if(h.length===0)return null;let p=h[0],{protocol:m,source:y,params:b,selector:v}=P.parseRange(P.convertToManifestRange(p.reference));if(m===t.configuration.get(\"defaultProtocol\")&&(m=null),uN.default.valid(v)&&s!==!1){let k=typeof s==\"string\"?s:o.range;v=Rne(k,{project:t})+v}return P.makeDescriptor(p,P.makeRange({protocol:m,source:y,params:b,selector:v}))}async function xYe(r){return await U.mktempPromise(async e=>{let t=ye.create(e);return t.useWithSource(e,{enableMirror:!1,compressionLevel:0},e,{overwrite:!0}),await r(new Nt(e,{configuration:t,check:!1,immutable:!1}))})}var XC=class extends Le{constructor(){super(...arguments);this.json=J.Boolean(\"--json\",!1,{description:\"Format the output as an NDJSON stream\"});this.exact=J.Boolean(\"-E,--exact\",!1,{description:\"Don't use any semver modifier on the resolved range\"});this.tilde=J.Boolean(\"-T,--tilde\",!1,{description:\"Use the `~` semver modifier on the resolved range\"});this.caret=J.Boolean(\"-C,--caret\",!1,{description:\"Use the `^` semver modifier on the resolved range\"});this.dev=J.Boolean(\"-D,--dev\",!1,{description:\"Add a package as a dev dependency\"});this.peer=J.Boolean(\"-P,--peer\",!1,{description:\"Add a package as a peer dependency\"});this.optional=J.Boolean(\"-O,--optional\",!1,{description:\"Add / upgrade a package to an optional regular / peer dependency\"});this.preferDev=J.Boolean(\"--prefer-dev\",!1,{description:\"Add / upgrade a package to a dev dependency\"});this.interactive=J.Boolean(\"-i,--interactive\",{description:\"Reuse the specified package from other workspaces in the project\"});this.cached=J.Boolean(\"--cached\",!1,{description:\"Reuse the highest version already used somewhere within the project\"});this.mode=J.String(\"--mode\",{description:\"Change what artifacts installs generate\",validator:nn(Ci)});this.silent=J.Boolean(\"--silent\",{hidden:!0});this.packages=J.Rest()}async execute(){var m;let e=await ye.find(this.context.cwd,this.context.plugins),{project:t,workspace:i}=await ze.find(e,this.context.cwd),n=await Nt.find(e);if(!i)throw new ht(t.cwd,this.context.cwd);await t.restoreInstallState({restoreResolutions:!1});let s=(m=this.interactive)!=null?m:e.get(\"preferInteractive\"),o=_C(this,t),a=[...s?[Vr.REUSE]:[],Vr.PROJECT,...this.cached?[Vr.CACHE]:[],Vr.LATEST],l=s?Infinity:1,c=await Promise.all(this.packages.map(async y=>{let b=y.match(/^\\.{0,2}\\//)?await fN(y,{cwd:this.context.cwd,workspace:i}):P.tryParseDescriptor(y),v=y.match(/^(https?:|git@github)/);if(v)throw new Pe(`It seems you are trying to add a package using a ${ae.pretty(e,`${v[0]}...`,Ri.RANGE)} url; we now require package names to be explicitly specified.\nTry running the command again with the package name prefixed: ${ae.pretty(e,\"yarn add\",Ri.CODE)} ${ae.pretty(e,P.makeDescriptor(P.makeIdent(null,\"my-package\"),`${v[0]}...`),Ri.DESCRIPTOR)}`);if(!b)throw new Pe(`The ${ae.pretty(e,y,Ri.CODE)} string didn't match the required format (package-name@range). Did you perhaps forget to explicitly reference the package name?`);let k=PYe(i,b,{dev:this.dev,peer:this.peer,preferDev:this.preferDev,optional:this.optional}),T=await VC(b,{project:t,workspace:i,cache:n,target:k,modifier:o,strategies:a,maxResults:l});return[b,T,k]})),u=await dA.start({configuration:e,stdout:this.context.stdout,suggestInstall:!1},async y=>{for(let[b,{suggestions:v,rejections:k}]of c)if(v.filter(Y=>Y.descriptor!==null).length===0){let[Y]=k;if(typeof Y==\"undefined\")throw new Error(\"Assertion failed: Expected an error to have been set\");t.configuration.get(\"enableNetwork\")?y.reportError(X.CANT_SUGGEST_RESOLUTIONS,`${P.prettyDescriptor(e,b)} can't be resolved to a satisfying range`):y.reportError(X.CANT_SUGGEST_RESOLUTIONS,`${P.prettyDescriptor(e,b)} can't be resolved to a satisfying range (note: network resolution has been disabled)`),y.reportSeparator(),y.reportExceptionOnce(Y)}});if(u.hasErrors())return u.exitCode();let g=!1,f=[],h=[];for(let[,{suggestions:y},b]of c){let v,k=y.filter($=>$.descriptor!==null),T=k[0].descriptor,Y=k.every($=>P.areDescriptorsEqual($.descriptor,T));k.length===1||Y?v=T:(g=!0,{answer:v}=await(0,One.prompt)({type:\"select\",name:\"answer\",message:\"Which range do you want to use?\",choices:y.map(({descriptor:$,name:z,reason:ne})=>$?{name:z,hint:ne,descriptor:$}:{name:z,hint:ne,disabled:!0}),onCancel:()=>process.exit(130),result($){return this.find($,\"descriptor\")},stdin:this.context.stdin,stdout:this.context.stdout}));let q=i.manifest[b].get(v.identHash);(typeof q==\"undefined\"||q.descriptorHash!==v.descriptorHash)&&(i.manifest[b].set(v.identHash,v),this.optional&&(b===\"dependencies\"?i.manifest.ensureDependencyMeta(te(N({},v),{range:\"unknown\"})).optional=!0:b===\"peerDependencies\"&&(i.manifest.ensurePeerDependencyMeta(te(N({},v),{range:\"unknown\"})).optional=!0)),typeof q==\"undefined\"?f.push([i,b,v,a]):h.push([i,b,q,v]))}return await e.triggerMultipleHooks(y=>y.afterWorkspaceDependencyAddition,f),await e.triggerMultipleHooks(y=>y.afterWorkspaceDependencyReplacement,h),g&&this.context.stdout.write(`\n`),(await Je.start({configuration:e,json:this.json,stdout:this.context.stdout,includeLogs:!this.context.quiet},async y=>{await t.install({cache:n,report:y,mode:this.mode})})).exitCode()}};XC.paths=[[\"add\"]],XC.usage=Re.Usage({description:\"add dependencies to the project\",details:\"\\n      This command adds a package to the package.json for the nearest workspace.\\n\\n      - If it didn't exist before, the package will by default be added to the regular `dependencies` field, but this behavior can be overriden thanks to the `-D,--dev` flag (which will cause the dependency to be added to the `devDependencies` field instead) and the `-P,--peer` flag (which will do the same but for `peerDependencies`).\\n\\n      - If the package was already listed in your dependencies, it will by default be upgraded whether it's part of your `dependencies` or `devDependencies` (it won't ever update `peerDependencies`, though).\\n\\n      - If set, the `--prefer-dev` flag will operate as a more flexible `-D,--dev` in that it will add the package to your `devDependencies` if it isn't already listed in either `dependencies` or `devDependencies`, but it will also happily upgrade your `dependencies` if that's what you already use (whereas `-D,--dev` would throw an exception).\\n\\n      - If set, the `-O,--optional` flag will add the package to the `optionalDependencies` field and, in combination with the `-P,--peer` flag, it will add the package as an optional peer dependency. If the package was already listed in your `dependencies`, it will be upgraded to `optionalDependencies`. If the package was already listed in your `peerDependencies`, in combination with the `-P,--peer` flag, it will be upgraded to an optional peer dependency: `\\\"peerDependenciesMeta\\\": { \\\"<package>\\\": { \\\"optional\\\": true } }`\\n\\n      - If the added package doesn't specify a range at all its `latest` tag will be resolved and the returned version will be used to generate a new semver range (using the `^` modifier by default unless otherwise configured via the `defaultSemverRangePrefix` configuration, or the `~` modifier if `-T,--tilde` is specified, or no modifier at all if `-E,--exact` is specified). Two exceptions to this rule: the first one is that if the package is a workspace then its local version will be used, and the second one is that if you use `-P,--peer` the default range will be `*` and won't be resolved at all.\\n\\n      - If the added package specifies a range (such as `^1.0.0`, `latest`, or `rc`), Yarn will add this range as-is in the resulting package.json entry (in particular, tags such as `rc` will be encoded as-is rather than being converted into a semver range).\\n\\n      If the `--cached` option is used, Yarn will preferably reuse the highest version already used somewhere within the project, even if through a transitive dependency.\\n\\n      If the `-i,--interactive` option is used (or if the `preferInteractive` settings is toggled on) the command will first try to check whether other workspaces in the project use the specified package and, if so, will offer to reuse them.\\n\\n      If the `--mode=<mode>` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\\n\\n      - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the later will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\\n\\n      - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\\n\\n      For a compilation of all the supported protocols, please consult the dedicated page from our website: https://yarnpkg.com/features/protocols.\\n    \",examples:[[\"Add a regular package to the current workspace\",\"$0 add lodash\"],[\"Add a specific version for a package to the current workspace\",\"$0 add lodash@1.2.3\"],[\"Add a package from a GitHub repository (the master branch) to the current workspace using a URL\",\"$0 add lodash@https://github.com/lodash/lodash\"],[\"Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol\",\"$0 add lodash@github:lodash/lodash\"],[\"Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol (shorthand)\",\"$0 add lodash@lodash/lodash\"],[\"Add a package from a specific branch of a GitHub repository to the current workspace using the GitHub protocol (shorthand)\",\"$0 add lodash-es@lodash/lodash#es\"]]});var Mne=XC;function PYe(r,e,{dev:t,peer:i,preferDev:n,optional:s}){let o=r.manifest[Hr.REGULAR].has(e.identHash),a=r.manifest[Hr.DEVELOPMENT].has(e.identHash),l=r.manifest[Hr.PEER].has(e.identHash);if((t||i)&&o)throw new Pe(`Package \"${P.prettyIdent(r.project.configuration,e)}\" is already listed as a regular dependency - remove the -D,-P flags or remove it from your dependencies first`);if(!t&&!i&&l)throw new Pe(`Package \"${P.prettyIdent(r.project.configuration,e)}\" is already listed as a peer dependency - use either of -D or -P, or remove it from your peer dependencies first`);if(s&&a)throw new Pe(`Package \"${P.prettyIdent(r.project.configuration,e)}\" is already listed as a dev dependency - remove the -O flag or remove it from your dev dependencies first`);if(s&&!i&&l)throw new Pe(`Package \"${P.prettyIdent(r.project.configuration,e)}\" is already listed as a peer dependency - remove the -O flag or add the -P flag or remove it from your peer dependencies first`);if((t||n)&&s)throw new Pe(`Package \"${P.prettyIdent(r.project.configuration,e)}\" cannot simultaneously be a dev dependency and an optional dependency`);return i?Hr.PEER:t||n?Hr.DEVELOPMENT:o?Hr.REGULAR:a?Hr.DEVELOPMENT:Hr.REGULAR}var ZC=class extends Le{constructor(){super(...arguments);this.verbose=J.Boolean(\"-v,--verbose\",!1,{description:\"Print both the binary name and the locator of the package that provides the binary\"});this.json=J.Boolean(\"--json\",!1,{description:\"Format the output as an NDJSON stream\"});this.name=J.String({required:!1})}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:t,locator:i}=await ze.find(e,this.context.cwd);if(await t.restoreInstallState(),this.name){let o=(await Zt.getPackageAccessibleBinaries(i,{project:t})).get(this.name);if(!o)throw new Pe(`Couldn't find a binary named \"${this.name}\" for package \"${P.prettyLocator(e,i)}\"`);let[,a]=o;return this.context.stdout.write(`${a}\n`),0}return(await Je.start({configuration:e,json:this.json,stdout:this.context.stdout},async s=>{let o=await Zt.getPackageAccessibleBinaries(i,{project:t}),l=Array.from(o.keys()).reduce((c,u)=>Math.max(c,u.length),0);for(let[c,[u,g]]of o)s.reportJson({name:c,source:P.stringifyIdent(u),path:g});if(this.verbose)for(let[c,[u]]of o)s.reportInfo(null,`${c.padEnd(l,\" \")}   ${P.prettyLocator(e,u)}`);else for(let c of o.keys())s.reportInfo(null,c)})).exitCode()}};ZC.paths=[[\"bin\"]],ZC.usage=Re.Usage({description:\"get the path to a binary script\",details:`\n      When used without arguments, this command will print the list of all the binaries available in the current workspace. Adding the \\`-v,--verbose\\` flag will cause the output to contain both the binary name and the locator of the package that provides the binary.\n\n      When an argument is specified, this command will just print the path to the binary on the standard output and exit. Note that the reported path may be stored within a zip archive.\n    `,examples:[[\"List all the available binaries\",\"$0 bin\"],[\"Print the path to a specific binary\",\"$0 bin eslint\"]]});var Une=ZC;var $C=class extends Le{constructor(){super(...arguments);this.mirror=J.Boolean(\"--mirror\",!1,{description:\"Remove the global cache files instead of the local cache files\"});this.all=J.Boolean(\"--all\",!1,{description:\"Remove both the global cache files and the local cache files of the current project\"})}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),t=await Nt.find(e);return(await Je.start({configuration:e,stdout:this.context.stdout},async()=>{let n=(this.all||this.mirror)&&t.mirrorCwd!==null,s=!this.mirror;n&&(await U.removePromise(t.mirrorCwd),await e.triggerHook(o=>o.cleanGlobalArtifacts,e)),s&&await U.removePromise(t.cwd)})).exitCode()}};$C.paths=[[\"cache\",\"clean\"],[\"cache\",\"clear\"]],$C.usage=Re.Usage({description:\"remove the shared cache files\",details:`\n      This command will remove all the files from the cache.\n    `,examples:[[\"Remove all the local archives\",\"$0 cache clean\"],[\"Remove all the archives stored in the ~/.yarn directory\",\"$0 cache clean --mirror\"]]});var Kne=$C;var Hne=ge(m0()),hN=ge(require(\"util\")),em=class extends Le{constructor(){super(...arguments);this.json=J.Boolean(\"--json\",!1,{description:\"Format the output as an NDJSON stream\"});this.unsafe=J.Boolean(\"--no-redacted\",!1,{description:\"Don't redact secrets (such as tokens) from the output\"});this.name=J.String()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),t=this.name.replace(/[.[].*$/,\"\"),i=this.name.replace(/^[^.[]*/,\"\");if(typeof e.settings.get(t)==\"undefined\")throw new Pe(`Couldn't find a configuration settings named \"${t}\"`);let s=e.getSpecial(t,{hideSecrets:!this.unsafe,getNativePaths:!0}),o=Se.convertMapsToIndexableObjects(s),a=i?(0,Hne.default)(o,i):o,l=await Je.start({configuration:e,includeFooter:!1,json:this.json,stdout:this.context.stdout},async c=>{c.reportJson(a)});if(!this.json){if(typeof a==\"string\")return this.context.stdout.write(`${a}\n`),l.exitCode();hN.inspect.styles.name=\"cyan\",this.context.stdout.write(`${(0,hN.inspect)(a,{depth:Infinity,colors:e.get(\"enableColors\"),compact:!1})}\n`)}return l.exitCode()}};em.paths=[[\"config\",\"get\"]],em.usage=Re.Usage({description:\"read a configuration settings\",details:`\n      This command will print a configuration setting.\n\n      Secrets (such as tokens) will be redacted from the output by default. If this behavior isn't desired, set the \\`--no-redacted\\` to get the untransformed value.\n    `,examples:[[\"Print a simple configuration setting\",\"yarn config get yarnPath\"],[\"Print a complex configuration setting\",\"yarn config get packageExtensions\"],[\"Print a nested field from the configuration\",`yarn config get 'npmScopes[\"my-company\"].npmRegistryServer'`],[\"Print a token from the configuration\",\"yarn config get npmAuthToken --no-redacted\"],[\"Print a configuration setting as JSON\",\"yarn config get packageExtensions --json\"]]});var jne=em;var eoe=ge(IN()),toe=ge(m0()),roe=ge($se()),yN=ge(require(\"util\")),rm=class extends Le{constructor(){super(...arguments);this.json=J.Boolean(\"--json\",!1,{description:\"Set complex configuration settings to JSON values\"});this.home=J.Boolean(\"-H,--home\",!1,{description:\"Update the home configuration instead of the project configuration\"});this.name=J.String();this.value=J.String()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),t=()=>{if(!e.projectCwd)throw new Pe(\"This command must be run from within a project folder\");return e.projectCwd},i=this.name.replace(/[.[].*$/,\"\"),n=this.name.replace(/^[^.[]*\\.?/,\"\");if(typeof e.settings.get(i)==\"undefined\")throw new Pe(`Couldn't find a configuration settings named \"${i}\"`);if(i===\"enableStrictSettings\")throw new Pe(\"This setting only affects the file it's in, and thus cannot be set from the CLI\");let o=this.json?JSON.parse(this.value):this.value;await(this.home?h=>ye.updateHomeConfiguration(h):h=>ye.updateConfiguration(t(),h))(h=>{if(n){let p=(0,eoe.default)(h);return(0,roe.default)(p,this.name,o),p}else return te(N({},h),{[i]:o})});let c=(await ye.find(this.context.cwd,this.context.plugins)).getSpecial(i,{hideSecrets:!0,getNativePaths:!0}),u=Se.convertMapsToIndexableObjects(c),g=n?(0,toe.default)(u,n):u;return(await Je.start({configuration:e,includeFooter:!1,stdout:this.context.stdout},async h=>{yN.inspect.styles.name=\"cyan\",h.reportInfo(X.UNNAMED,`Successfully set ${this.name} to ${(0,yN.inspect)(g,{depth:Infinity,colors:e.get(\"enableColors\"),compact:!1})}`)})).exitCode()}};rm.paths=[[\"config\",\"set\"]],rm.usage=Re.Usage({description:\"change a configuration settings\",details:`\n      This command will set a configuration setting.\n\n      When used without the \\`--json\\` flag, it can only set a simple configuration setting (a string, a number, or a boolean).\n\n      When used with the \\`--json\\` flag, it can set both simple and complex configuration settings, including Arrays and Objects.\n    `,examples:[[\"Set a simple configuration setting (a string, a number, or a boolean)\",\"yarn config set initScope myScope\"],[\"Set a simple configuration setting (a string, a number, or a boolean) using the `--json` flag\",'yarn config set initScope --json \\\\\"myScope\\\\\"'],[\"Set a complex configuration setting (an Array) using the `--json` flag\",`yarn config set unsafeHttpWhitelist --json '[\"*.example.com\", \"example.com\"]'`],[\"Set a complex configuration setting (an Object) using the `--json` flag\",`yarn config set packageExtensions --json '{ \"@babel/parser@*\": { \"dependencies\": { \"@babel/types\": \"*\" } } }'`],[\"Set a nested configuration setting\",'yarn config set npmScopes.company.npmRegistryServer \"https://npm.example.com\"'],[\"Set a nested configuration setting using indexed access for non-simple keys\",`yarn config set 'npmRegistries[\"//npm.example.com\"].npmAuthToken' \"ffffffff-ffff-ffff-ffff-ffffffffffff\"`]]});var ioe=rm;var goe=ge(IN()),foe=ge(wC()),hoe=ge(uoe()),im=class extends Le{constructor(){super(...arguments);this.home=J.Boolean(\"-H,--home\",!1,{description:\"Update the home configuration instead of the project configuration\"});this.name=J.String()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),t=()=>{if(!e.projectCwd)throw new Pe(\"This command must be run from within a project folder\");return e.projectCwd},i=this.name.replace(/[.[].*$/,\"\"),n=this.name.replace(/^[^.[]*\\.?/,\"\");if(typeof e.settings.get(i)==\"undefined\")throw new Pe(`Couldn't find a configuration settings named \"${i}\"`);let o=this.home?l=>ye.updateHomeConfiguration(l):l=>ye.updateConfiguration(t(),l);return(await Je.start({configuration:e,includeFooter:!1,stdout:this.context.stdout},async l=>{let c=!1;await o(u=>{if(!(0,foe.default)(u,this.name))return l.reportWarning(X.UNNAMED,`Configuration doesn't contain setting ${this.name}; there is nothing to unset`),c=!0,u;let g=n?(0,goe.default)(u):N({},u);return(0,hoe.default)(g,this.name),g}),c||l.reportInfo(X.UNNAMED,`Successfully unset ${this.name}`)})).exitCode()}};im.paths=[[\"config\",\"unset\"]],im.usage=Re.Usage({description:\"unset a configuration setting\",details:`\n      This command will unset a configuration setting.\n    `,examples:[[\"Unset a simple configuration setting\",\"yarn config unset initScope\"],[\"Unset a complex configuration setting\",\"yarn config unset packageExtensions\"],[\"Unset a nested configuration setting\",\"yarn config unset npmScopes.company.npmRegistryServer\"]]});var poe=im;var wN=ge(require(\"util\")),nm=class extends Le{constructor(){super(...arguments);this.verbose=J.Boolean(\"-v,--verbose\",!1,{description:\"Print the setting description on top of the regular key/value information\"});this.why=J.Boolean(\"--why\",!1,{description:\"Print the reason why a setting is set a particular way\"});this.json=J.Boolean(\"--json\",!1,{description:\"Format the output as an NDJSON stream\"})}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins,{strict:!1});return(await Je.start({configuration:e,json:this.json,stdout:this.context.stdout},async i=>{if(e.invalid.size>0&&!this.json){for(let[n,s]of e.invalid)i.reportError(X.INVALID_CONFIGURATION_KEY,`Invalid configuration key \"${n}\" in ${s}`);i.reportSeparator()}if(this.json){let n=Se.sortMap(e.settings.keys(),s=>s);for(let s of n){let o=e.settings.get(s),a=e.getSpecial(s,{hideSecrets:!0,getNativePaths:!0}),l=e.sources.get(s);this.verbose?i.reportJson({key:s,effective:a,source:l}):i.reportJson(N({key:s,effective:a,source:l},o))}}else{let n=Se.sortMap(e.settings.keys(),a=>a),s=n.reduce((a,l)=>Math.max(a,l.length),0),o={breakLength:Infinity,colors:e.get(\"enableColors\"),maxArrayLength:2};if(this.why||this.verbose){let a=n.map(c=>{let u=e.settings.get(c);if(!u)throw new Error(`Assertion failed: This settings (\"${c}\") should have been registered`);let g=this.why?e.sources.get(c)||\"<default>\":u.description;return[c,g]}),l=a.reduce((c,[,u])=>Math.max(c,u.length),0);for(let[c,u]of a)i.reportInfo(null,`${c.padEnd(s,\" \")}   ${u.padEnd(l,\" \")}   ${(0,wN.inspect)(e.getSpecial(c,{hideSecrets:!0,getNativePaths:!0}),o)}`)}else for(let a of n)i.reportInfo(null,`${a.padEnd(s,\" \")}   ${(0,wN.inspect)(e.getSpecial(a,{hideSecrets:!0,getNativePaths:!0}),o)}`)}})).exitCode()}};nm.paths=[[\"config\"]],nm.usage=Re.Usage({description:\"display the current configuration\",details:`\n      This command prints the current active configuration settings.\n    `,examples:[[\"Print the active configuration settings\",\"$0 config\"]]});var doe=nm;ws();var BN={};ft(BN,{Strategy:()=>bu,acceptedStrategies:()=>FWe,dedupe:()=>bN});var Coe=ge(ns()),bu;(function(e){e.HIGHEST=\"highest\"})(bu||(bu={}));var FWe=new Set(Object.values(bu)),NWe={highest:async(r,e,{resolver:t,fetcher:i,resolveOptions:n,fetchOptions:s})=>{let o=new Map;for(let[a,l]of r.storedResolutions){let c=r.storedDescriptors.get(a);if(typeof c==\"undefined\")throw new Error(`Assertion failed: The descriptor (${a}) should have been registered`);Se.getSetWithDefault(o,c.identHash).add(l)}return Array.from(r.storedDescriptors.values(),async a=>{if(e.length&&!Coe.default.isMatch(P.stringifyIdent(a),e))return null;let l=r.storedResolutions.get(a.descriptorHash);if(typeof l==\"undefined\")throw new Error(`Assertion failed: The resolution (${a.descriptorHash}) should have been registered`);let c=r.originalPackages.get(l);if(typeof c==\"undefined\"||!t.shouldPersistResolution(c,n))return null;let u=o.get(a.identHash);if(typeof u==\"undefined\")throw new Error(`Assertion failed: The resolutions (${a.identHash}) should have been registered`);if(u.size===1)return null;let g=[...u].map(y=>{let b=r.originalPackages.get(y);if(typeof b==\"undefined\")throw new Error(`Assertion failed: The package (${y}) should have been registered`);return b.reference}),f=await t.getSatisfying(a,g,n),h=f==null?void 0:f[0];if(typeof h==\"undefined\")return null;let p=h.locatorHash,m=r.originalPackages.get(p);if(typeof m==\"undefined\")throw new Error(`Assertion failed: The package (${p}) should have been registered`);return p===l?null:{descriptor:a,currentPackage:c,updatedPackage:m}})}};async function bN(r,{strategy:e,patterns:t,cache:i,report:n}){let{configuration:s}=r,o=new di,a=s.makeResolver(),l=s.makeFetcher(),c={cache:i,checksums:r.storedChecksums,fetcher:l,project:r,report:o,skipIntegrityCheck:!0,cacheOptions:{skipIntegrityCheck:!0}},u={project:r,resolver:a,report:o,fetchOptions:c};return await n.startTimerPromise(\"Deduplication step\",async()=>{let f=await NWe[e](r,t,{resolver:a,resolveOptions:u,fetcher:l,fetchOptions:c}),h=Ji.progressViaCounter(f.length);n.reportProgress(h);let p=0;await Promise.all(f.map(b=>b.then(v=>{if(v===null)return;p++;let{descriptor:k,currentPackage:T,updatedPackage:Y}=v;n.reportInfo(X.UNNAMED,`${P.prettyDescriptor(s,k)} can be deduped from ${P.prettyLocator(s,T)} to ${P.prettyLocator(s,Y)}`),n.reportJson({descriptor:P.stringifyDescriptor(k),currentResolution:P.stringifyLocator(T),updatedResolution:P.stringifyLocator(Y)}),r.storedResolutions.set(k.descriptorHash,Y.locatorHash)}).finally(()=>h.tick())));let m;switch(p){case 0:m=\"No packages\";break;case 1:m=\"One package\";break;default:m=`${p} packages`}let y=ae.pretty(s,e,ae.Type.CODE);return n.reportInfo(X.UNNAMED,`${m} can be deduped using the ${y} strategy`),p})}var sm=class extends Le{constructor(){super(...arguments);this.strategy=J.String(\"-s,--strategy\",bu.HIGHEST,{description:\"The strategy to use when deduping dependencies\",validator:nn(bu)});this.check=J.Boolean(\"-c,--check\",!1,{description:\"Exit with exit code 1 when duplicates are found, without persisting the dependency tree\"});this.json=J.Boolean(\"--json\",!1,{description:\"Format the output as an NDJSON stream\"});this.mode=J.String(\"--mode\",{description:\"Change what artifacts installs generate\",validator:nn(Ci)});this.patterns=J.Rest()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:t}=await ze.find(e,this.context.cwd),i=await Nt.find(e);await t.restoreInstallState({restoreResolutions:!1});let n=0,s=await Je.start({configuration:e,includeFooter:!1,stdout:this.context.stdout,json:this.json},async o=>{n=await bN(t,{strategy:this.strategy,patterns:this.patterns,cache:i,report:o})});return s.hasErrors()?s.exitCode():this.check?n?1:0:(await Je.start({configuration:e,stdout:this.context.stdout,json:this.json},async a=>{await t.install({cache:i,report:a,mode:this.mode})})).exitCode()}};sm.paths=[[\"dedupe\"]],sm.usage=Re.Usage({description:\"deduplicate dependencies with overlapping ranges\",details:\"\\n      Duplicates are defined as descriptors with overlapping ranges being resolved and locked to different locators. They are a natural consequence of Yarn's deterministic installs, but they can sometimes pile up and unnecessarily increase the size of your project.\\n\\n      This command dedupes dependencies in the current project using different strategies (only one is implemented at the moment):\\n\\n      - `highest`: Reuses (where possible) the locators with the highest versions. This means that dependencies can only be upgraded, never downgraded. It's also guaranteed that it never takes more than a single pass to dedupe the entire dependency tree.\\n\\n      **Note:** Even though it never produces a wrong dependency tree, this command should be used with caution, as it modifies the dependency tree, which can sometimes cause problems when packages don't strictly follow semver recommendations. Because of this, it is recommended to also review the changes manually.\\n\\n      If set, the `-c,--check` flag will only report the found duplicates, without persisting the modified dependency tree. If changes are found, the command will exit with a non-zero exit code, making it suitable for CI purposes.\\n\\n      If the `--mode=<mode>` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\\n\\n      - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the later will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\\n\\n      - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\\n\\n      This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\\n\\n      ### In-depth explanation:\\n\\n      Yarn doesn't deduplicate dependencies by default, otherwise installs wouldn't be deterministic and the lockfile would be useless. What it actually does is that it tries to not duplicate dependencies in the first place.\\n\\n      **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@*`will cause Yarn to reuse `foo@2.3.4`, even if the latest `foo` is actually `foo@2.10.14`, thus preventing unnecessary duplication.\\n\\n      Duplication happens when Yarn can't unlock dependencies that have already been locked inside the lockfile.\\n\\n      **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@2.10.14` will cause Yarn to install `foo@2.10.14` because the existing resolution doesn't satisfy the range `2.10.14`. This behavior can lead to (sometimes) unwanted duplication, since now the lockfile contains 2 separate resolutions for the 2 `foo` descriptors, even though they have overlapping ranges, which means that the lockfile can be simplified so that both descriptors resolve to `foo@2.10.14`.\\n    \",examples:[[\"Dedupe all packages\",\"$0 dedupe\"],[\"Dedupe all packages using a specific strategy\",\"$0 dedupe --strategy highest\"],[\"Dedupe a specific package\",\"$0 dedupe lodash\"],[\"Dedupe all packages with the `@babel/*` scope\",\"$0 dedupe '@babel/*'\"],[\"Check for duplicates (can be used as a CI step)\",\"$0 dedupe --check\"]]});var moe=sm;var W0=class extends Le{async execute(){let{plugins:e}=await ye.find(this.context.cwd,this.context.plugins),t=[];for(let o of e){let{commands:a}=o[1];if(a){let c=Bs.from(a).definitions();t.push([o[0],c])}}let i=this.cli.definitions(),n=(o,a)=>o.split(\" \").slice(1).join()===a.split(\" \").slice(1).join(),s=Ioe()[\"@yarnpkg/builder\"].bundles.standard;for(let o of t){let a=o[1];for(let l of a)i.find(c=>n(c.path,l.path)).plugin={name:o[0],isDefault:s.includes(o[0])}}this.context.stdout.write(`${JSON.stringify(i,null,2)}\n`)}};W0.paths=[[\"--clipanion=definitions\"]];var yoe=W0;var z0=class extends Le{async execute(){this.context.stdout.write(this.cli.usage(null))}};z0.paths=[[\"help\"],[\"--help\"],[\"-h\"]];var woe=z0;var QN=class extends Le{constructor(){super(...arguments);this.leadingArgument=J.String();this.args=J.Proxy()}async execute(){if(this.leadingArgument.match(/[\\\\/]/)&&!P.tryParseIdent(this.leadingArgument)){let e=x.resolve(this.context.cwd,H.toPortablePath(this.leadingArgument));return await this.cli.run(this.args,{cwd:e})}else return await this.cli.run([\"run\",this.leadingArgument,...this.args])}},Boe=QN;var _0=class extends Le{async execute(){this.context.stdout.write(`${Kr||\"<unknown>\"}\n`)}};_0.paths=[[\"-v\"],[\"--version\"]];var boe=_0;var om=class extends Le{constructor(){super(...arguments);this.commandName=J.String();this.args=J.Proxy()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:t,locator:i}=await ze.find(e,this.context.cwd);return await t.restoreInstallState(),await Zt.executePackageShellcode(i,this.commandName,this.args,{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,project:t})}};om.paths=[[\"exec\"]],om.usage=Re.Usage({description:\"execute a shell script\",details:`\n      This command simply executes a shell script within the context of the root directory of the active workspace using the portable shell.\n\n      It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment).\n    `,examples:[[\"Execute a single shell command\",\"$0 exec echo Hello World\"],[\"Execute a shell script\",'$0 exec \"tsc & babel src --out-dir lib\"']]});var Qoe=om;ws();var am=class extends Le{constructor(){super(...arguments);this.hash=J.String({required:!1,validator:hp(fp(),[pp(/^p[0-9a-f]{5}$/)])})}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:t}=await ze.find(e,this.context.cwd);return await t.restoreInstallState({restoreResolutions:!1}),await t.applyLightResolution(),typeof this.hash!=\"undefined\"?await LWe(this.hash,t,{stdout:this.context.stdout}):(await Je.start({configuration:e,stdout:this.context.stdout,includeFooter:!1},async n=>{var o;let s=[([,a])=>P.stringifyLocator(t.storedPackages.get(a.subject)),([,a])=>P.stringifyIdent(a.requested)];for(let[a,l]of Se.sortMap(t.peerRequirements,s)){let c=t.storedPackages.get(l.subject);if(typeof c==\"undefined\")throw new Error(\"Assertion failed: Expected the subject package to have been registered\");let u=t.storedPackages.get(l.rootRequester);if(typeof u==\"undefined\")throw new Error(\"Assertion failed: Expected the root package to have been registered\");let g=(o=c.dependencies.get(l.requested.identHash))!=null?o:null,f=ae.pretty(e,a,ae.Type.CODE),h=P.prettyLocator(e,c),p=P.prettyIdent(e,l.requested),m=P.prettyIdent(e,u),y=l.allRequesters.length-1,b=`descendant${y===1?\"\":\"s\"}`,v=y>0?` and ${y} ${b}`:\"\",k=g!==null?\"provides\":\"doesn't provide\";n.reportInfo(null,`${f} \\u2192 ${h} ${k} ${p} to ${m}${v}`)}})).exitCode()}};am.paths=[[\"explain\",\"peer-requirements\"]],am.usage=Re.Usage({description:\"explain a set of peer requirements\",details:`\n      A set of peer requirements represents all peer requirements that a dependent must satisfy when providing a given peer request to a requester and its descendants.\n\n      When the hash argument is specified, this command prints a detailed explanation of all requirements of the set corresponding to the hash and whether they're satisfied or not.\n\n      When used without arguments, this command lists all sets of peer requirements and the corresponding hash that can be used to get detailed information about a given set.\n\n      **Note:** A hash is a six-letter p-prefixed code that can be obtained from peer dependency warnings or from the list of all peer requirements (\\`yarn explain peer-requirements\\`).\n    `,examples:[[\"Explain the corresponding set of peer requirements for a hash\",\"$0 explain peer-requirements p1a4ed\"],[\"List all sets of peer requirements\",\"$0 explain peer-requirements\"]]});var Soe=am;async function LWe(r,e,t){let{configuration:i}=e,n=e.peerRequirements.get(r);if(typeof n==\"undefined\")throw new Error(`No peerDependency requirements found for hash: \"${r}\"`);return(await Je.start({configuration:i,stdout:t.stdout,includeFooter:!1},async o=>{var b,v;let a=e.storedPackages.get(n.subject);if(typeof a==\"undefined\")throw new Error(\"Assertion failed: Expected the subject package to have been registered\");let l=e.storedPackages.get(n.rootRequester);if(typeof l==\"undefined\")throw new Error(\"Assertion failed: Expected the root package to have been registered\");let c=(b=a.dependencies.get(n.requested.identHash))!=null?b:null,u=c!==null?e.storedResolutions.get(c.descriptorHash):null;if(typeof u==\"undefined\")throw new Error(\"Assertion failed: Expected the resolution to have been registered\");let g=u!==null?e.storedPackages.get(u):null;if(typeof g==\"undefined\")throw new Error(\"Assertion failed: Expected the provided package to have been registered\");let f=[...n.allRequesters.values()].map(k=>{let T=e.storedPackages.get(k);if(typeof T==\"undefined\")throw new Error(\"Assertion failed: Expected the package to be registered\");let Y=P.devirtualizeLocator(T),q=e.storedPackages.get(Y.locatorHash);if(typeof q==\"undefined\")throw new Error(\"Assertion failed: Expected the package to be registered\");let $=q.peerDependencies.get(n.requested.identHash);if(typeof $==\"undefined\")throw new Error(\"Assertion failed: Expected the peer dependency to be registered\");return{pkg:T,peerDependency:$}});if(g!==null){let k=f.every(({peerDependency:T})=>Wt.satisfiesWithPrereleases(g.version,T.range));o.reportInfo(X.UNNAMED,`${P.prettyLocator(i,a)} provides ${P.prettyLocator(i,g)} with version ${P.prettyReference(i,(v=g.version)!=null?v:\"<missing>\")}, which ${k?\"satisfies\":\"doesn't satisfy\"} the following requirements:`)}else o.reportInfo(X.UNNAMED,`${P.prettyLocator(i,a)} doesn't provide ${P.prettyIdent(i,n.requested)}, breaking the following requirements:`);o.reportSeparator();let h=ae.mark(i),p=[];for(let{pkg:k,peerDependency:T}of Se.sortMap(f,Y=>P.stringifyLocator(Y.pkg))){let q=(g!==null?Wt.satisfiesWithPrereleases(g.version,T.range):!1)?h.Check:h.Cross;p.push({stringifiedLocator:P.stringifyLocator(k),prettyLocator:P.prettyLocator(i,k),prettyRange:P.prettyRange(i,T.range),mark:q})}let m=Math.max(...p.map(({stringifiedLocator:k})=>k.length)),y=Math.max(...p.map(({prettyRange:k})=>k.length));for(let{stringifiedLocator:k,prettyLocator:T,prettyRange:Y,mark:q}of Se.sortMap(p,({stringifiedLocator:$})=>$))o.reportInfo(null,`${T.padEnd(m+(T.length-k.length),\" \")} \\u2192 ${Y.padEnd(y,\" \")} ${q}`);p.length>1&&(o.reportSeparator(),o.reportInfo(X.UNNAMED,`Note: these requirements start with ${P.prettyLocator(e.configuration,l)}`))})).exitCode()}ws();var voe=ge(ri()),Am=class extends Le{constructor(){super(...arguments);this.onlyIfNeeded=J.Boolean(\"--only-if-needed\",!1,{description:\"Only lock the Yarn version if it isn't already locked\"});this.version=J.String()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins);if(e.get(\"yarnPath\")&&this.onlyIfNeeded)return 0;let t=()=>{if(typeof Kr==\"undefined\")throw new Pe(\"The --install flag can only be used without explicit version specifier from the Yarn CLI\");return`file://${process.argv[1]}`},i;if(this.version===\"self\")i=t();else if(this.version===\"latest\"||this.version===\"berry\"||this.version===\"stable\")i=`https://repo.yarnpkg.com/${await lm(e,\"stable\")}/packages/yarnpkg-cli/bin/yarn.js`;else if(this.version===\"canary\")i=`https://repo.yarnpkg.com/${await lm(e,\"canary\")}/packages/yarnpkg-cli/bin/yarn.js`;else if(this.version===\"classic\")i=\"https://nightly.yarnpkg.com/latest.js\";else if(this.version.match(/^https?:/))i=this.version;else if(this.version.match(/^\\.{0,2}[\\\\/]/)||H.isAbsolute(this.version))i=`file://${H.resolve(this.version)}`;else if(Wt.satisfiesWithPrereleases(this.version,\">=2.0.0\"))i=`https://repo.yarnpkg.com/${this.version}/packages/yarnpkg-cli/bin/yarn.js`;else if(Wt.satisfiesWithPrereleases(this.version,\"^0.x || ^1.x\"))i=`https://github.com/yarnpkg/yarn/releases/download/v${this.version}/yarn-${this.version}.js`;else if(Wt.validRange(this.version))i=`https://repo.yarnpkg.com/${await TWe(e,this.version)}/packages/yarnpkg-cli/bin/yarn.js`;else throw new Pe(`Invalid version descriptor \"${this.version}\"`);return(await Je.start({configuration:e,stdout:this.context.stdout,includeLogs:!this.context.quiet},async s=>{let o=\"file://\",a;i.startsWith(o)?(s.reportInfo(X.UNNAMED,`Downloading ${ae.pretty(e,i,Ri.URL)}`),a=await U.readFilePromise(H.toPortablePath(i.slice(o.length)))):(s.reportInfo(X.UNNAMED,`Retrieving ${ae.pretty(e,i,Ri.PATH)}`),a=await ir.get(i,{configuration:e})),await SN(e,null,a,{report:s})})).exitCode()}};Am.paths=[[\"set\",\"version\"]],Am.usage=Re.Usage({description:\"lock the Yarn version used by the project\",details:\"\\n      This command will download a specific release of Yarn directly from the Yarn GitHub repository, will store it inside your project, and will change the `yarnPath` settings from your project `.yarnrc.yml` file to point to the new file.\\n\\n      A very good use case for this command is to enforce the version of Yarn used by the any single member of your team inside a same project - by doing this you ensure that you have control on Yarn upgrades and downgrades (including on your deployment servers), and get rid of most of the headaches related to someone using a slightly different version and getting a different behavior than you.\\n\\n      The version specifier can be:\\n\\n      - a tag:\\n        - `latest` / `berry` / `stable` -> the most recent stable berry (`>=2.0.0`) release\\n        - `canary` -> the most recent canary (release candidate) berry (`>=2.0.0`) release\\n        - `classic` -> the most recent classic (`^0.x || ^1.x`) release\\n\\n      - a semver range (e.g. `2.x`) -> the most recent version satisfying the range (limited to berry releases)\\n\\n      - a semver version (e.g. `2.4.1`, `1.22.1`)\\n\\n      - a local file referenced through either a relative or absolute path\\n\\n      - `self` -> the version used to invoke the command\\n    \",examples:[[\"Download the latest release from the Yarn repository\",\"$0 set version latest\"],[\"Download the latest canary release from the Yarn repository\",\"$0 set version canary\"],[\"Download the latest classic release from the Yarn repository\",\"$0 set version classic\"],[\"Download the most recent Yarn 3 build\",\"$0 set version 3.x\"],[\"Download a specific Yarn 2 build\",\"$0 set version 2.0.0-rc.30\"],[\"Switch back to a specific Yarn 1 release\",\"$0 set version 1.22.1\"],[\"Use a release from the local filesystem\",\"$0 set version ./yarn.cjs\"],[\"Use a release from a URL\",\"$0 set version https://repo.yarnpkg.com/3.1.0/packages/yarnpkg-cli/bin/yarn.js\"],[\"Download the version used to invoke the command\",\"$0 set version self\"]]});var koe=Am;async function TWe(r,e){let i=(await ir.get(\"https://repo.yarnpkg.com/tags\",{configuration:r,jsonResponse:!0})).tags.filter(n=>Wt.satisfiesWithPrereleases(n,e));if(i.length===0)throw new Pe(`No matching release found for range ${ae.pretty(r,e,ae.Type.RANGE)}.`);return i[0]}async function lm(r,e){let t=await ir.get(\"https://repo.yarnpkg.com/tags\",{configuration:r,jsonResponse:!0});if(!t.latest[e])throw new Pe(`Tag ${ae.pretty(r,e,ae.Type.RANGE)} not found`);return t.latest[e]}async function SN(r,e,t,{report:i}){var g;e===null&&await U.mktempPromise(async f=>{let h=x.join(f,\"yarn.cjs\");await U.writeFilePromise(h,t);let{stdout:p}=await Nr.execvp(process.execPath,[H.fromPortablePath(h),\"--version\"],{cwd:f,env:te(N({},process.env),{YARN_IGNORE_PATH:\"1\"})});if(e=p.trim(),!voe.default.valid(e))throw new Error(`Invalid semver version. ${ae.pretty(r,\"yarn --version\",ae.Type.CODE)} returned:\n${e}`)});let n=(g=r.projectCwd)!=null?g:r.startingCwd,s=x.resolve(n,\".yarn/releases\"),o=x.resolve(s,`yarn-${e}.cjs`),a=x.relative(r.startingCwd,o),l=x.relative(n,o),c=r.get(\"yarnPath\"),u=c===null||c.startsWith(`${s}/`);if(i.reportInfo(X.UNNAMED,`Saving the new release in ${ae.pretty(r,a,\"magenta\")}`),await U.removePromise(x.dirname(o)),await U.mkdirPromise(x.dirname(o),{recursive:!0}),await U.writeFilePromise(o,t,{mode:493}),u){await ye.updateConfiguration(n,{yarnPath:l});let f=await At.tryFind(n)||new At;f.packageManager=`yarn@${e&&Se.isTaggedYarnVersion(e)?e:await lm(r,\"stable\")}`;let h={};f.exportTo(h);let p=x.join(n,At.fileName),m=`${JSON.stringify(h,null,f.indent)}\n`;await U.changeFilePromise(p,m,{automaticNewlines:!0})}}function xoe(r){return X[yI(r)]}var OWe=/## (?<code>YN[0-9]{4}) - `(?<name>[A-Z_]+)`\\n\\n(?<details>(?:.(?!##))+)/gs;async function MWe(r){let t=`https://repo.yarnpkg.com/${Se.isTaggedYarnVersion(Kr)?Kr:await lm(r,\"canary\")}/packages/gatsby/content/advanced/error-codes.md`,i=await ir.get(t,{configuration:r});return new Map(Array.from(i.toString().matchAll(OWe),({groups:n})=>{if(!n)throw new Error(\"Assertion failed: Expected the match to have been successful\");let s=xoe(n.code);if(n.name!==s)throw new Error(`Assertion failed: Invalid error code data: Expected \"${n.name}\" to be named \"${s}\"`);return[n.code,n.details]}))}var cm=class extends Le{constructor(){super(...arguments);this.code=J.String({required:!1,validator:hp(fp(),[pp(/^YN[0-9]{4}$/)])});this.json=J.Boolean(\"--json\",!1,{description:\"Format the output as an NDJSON stream\"})}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins);if(typeof this.code!=\"undefined\"){let t=xoe(this.code),i=ae.pretty(e,t,ae.Type.CODE),n=this.cli.format().header(`${this.code} - ${i}`),o=(await MWe(e)).get(this.code),a=typeof o!=\"undefined\"?ae.jsonOrPretty(this.json,e,ae.tuple(ae.Type.MARKDOWN,{text:o,format:this.cli.format(),paragraphs:!0})):`This error code does not have a description.\n\nYou can help us by editing this page on GitHub \\u{1F642}:\n${ae.jsonOrPretty(this.json,e,ae.tuple(ae.Type.URL,\"https://github.com/yarnpkg/berry/blob/master/packages/gatsby/content/advanced/error-codes.md\"))}\n`;this.json?this.context.stdout.write(`${JSON.stringify({code:this.code,name:t,details:a})}\n`):this.context.stdout.write(`${n}\n\n${a}\n`)}else{let t={children:Se.mapAndFilter(Object.entries(X),([i,n])=>Number.isNaN(Number(i))?Se.mapAndFilter.skip:{label:VA(Number(i)),value:ae.tuple(ae.Type.CODE,n)})};ls.emitTree(t,{configuration:e,stdout:this.context.stdout,json:this.json})}}};cm.paths=[[\"explain\"]],cm.usage=Re.Usage({description:\"explain an error code\",details:`\n      When the code argument is specified, this command prints its name and its details.\n\n      When used without arguments, this command lists all error codes and their names.\n    `,examples:[[\"Explain an error code\",\"$0 explain YN0006\"],[\"List all error codes\",\"$0 explain\"]]});var Poe=cm;var Doe=ge(ns()),um=class extends Le{constructor(){super(...arguments);this.all=J.Boolean(\"-A,--all\",!1,{description:\"Print versions of a package from the whole project\"});this.recursive=J.Boolean(\"-R,--recursive\",!1,{description:\"Print information for all packages, including transitive dependencies\"});this.extra=J.Array(\"-X,--extra\",[],{description:\"An array of requests of extra data provided by plugins\"});this.cache=J.Boolean(\"--cache\",!1,{description:\"Print information about the cache entry of a package (path, size, checksum)\"});this.dependents=J.Boolean(\"--dependents\",!1,{description:\"Print all dependents for each matching package\"});this.manifest=J.Boolean(\"--manifest\",!1,{description:\"Print data obtained by looking at the package archive (license, homepage, ...)\"});this.nameOnly=J.Boolean(\"--name-only\",!1,{description:\"Only print the name for the matching packages\"});this.virtuals=J.Boolean(\"--virtuals\",!1,{description:\"Print each instance of the virtual packages\"});this.json=J.Boolean(\"--json\",!1,{description:\"Format the output as an NDJSON stream\"});this.patterns=J.Rest()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:t,workspace:i}=await ze.find(e,this.context.cwd),n=await Nt.find(e);if(!i&&!this.all)throw new ht(t.cwd,this.context.cwd);await t.restoreInstallState();let s=new Set(this.extra);this.cache&&s.add(\"cache\"),this.dependents&&s.add(\"dependents\"),this.manifest&&s.add(\"manifest\");let o=(k,{recursive:T})=>{let Y=k.anchoredLocator.locatorHash,q=new Map,$=[Y];for(;$.length>0;){let z=$.shift();if(q.has(z))continue;let ne=t.storedPackages.get(z);if(typeof ne==\"undefined\")throw new Error(\"Assertion failed: Expected the package to be registered\");if(q.set(z,ne),P.isVirtualLocator(ne)&&$.push(P.devirtualizeLocator(ne).locatorHash),!(!T&&z!==Y))for(let ee of ne.dependencies.values()){let A=t.storedResolutions.get(ee.descriptorHash);if(typeof A==\"undefined\")throw new Error(\"Assertion failed: Expected the resolution to be registered\");$.push(A)}}return q.values()},a=({recursive:k})=>{let T=new Map;for(let Y of t.workspaces)for(let q of o(Y,{recursive:k}))T.set(q.locatorHash,q);return T.values()},l=({all:k,recursive:T})=>k&&T?t.storedPackages.values():k?a({recursive:T}):o(i,{recursive:T}),c=({all:k,recursive:T})=>{let Y=l({all:k,recursive:T}),q=this.patterns.map(ne=>{let ee=P.parseLocator(ne),A=Doe.default.makeRe(P.stringifyIdent(ee)),oe=P.isVirtualLocator(ee),ce=oe?P.devirtualizeLocator(ee):ee;return Z=>{let O=P.stringifyIdent(Z);if(!A.test(O))return!1;if(ee.reference===\"unknown\")return!0;let L=P.isVirtualLocator(Z),de=L?P.devirtualizeLocator(Z):Z;return!(oe&&L&&ee.reference!==Z.reference||ce.reference!==de.reference)}}),$=Se.sortMap([...Y],ne=>P.stringifyLocator(ne));return{selection:$.filter(ne=>q.length===0||q.some(ee=>ee(ne))),sortedLookup:$}},{selection:u,sortedLookup:g}=c({all:this.all,recursive:this.recursive});if(u.length===0)throw new Pe(\"No package matched your request\");let f=new Map;if(this.dependents)for(let k of g)for(let T of k.dependencies.values()){let Y=t.storedResolutions.get(T.descriptorHash);if(typeof Y==\"undefined\")throw new Error(\"Assertion failed: Expected the resolution to be registered\");Se.getArrayWithDefault(f,Y).push(k)}let h=new Map;for(let k of g){if(!P.isVirtualLocator(k))continue;let T=P.devirtualizeLocator(k);Se.getArrayWithDefault(h,T.locatorHash).push(k)}let p={},m={children:p},y=e.makeFetcher(),b={project:t,fetcher:y,cache:n,checksums:t.storedChecksums,report:new di,cacheOptions:{skipIntegrityCheck:!0},skipIntegrityCheck:!0},v=[async(k,T,Y)=>{var z,ne;if(!T.has(\"manifest\"))return;let q=await y.fetch(k,b),$;try{$=await At.find(q.prefixPath,{baseFs:q.packageFs})}finally{(z=q.releaseFs)==null||z.call(q)}Y(\"Manifest\",{License:ae.tuple(ae.Type.NO_HINT,$.license),Homepage:ae.tuple(ae.Type.URL,(ne=$.raw.homepage)!=null?ne:null)})},async(k,T,Y)=>{var A;if(!T.has(\"cache\"))return;let q={mockedPackages:t.disabledLocators,unstablePackages:t.conditionalLocators},$=(A=t.storedChecksums.get(k.locatorHash))!=null?A:null,z=n.getLocatorPath(k,$,q),ne;if(z!==null)try{ne=U.statSync(z)}catch{}let ee=typeof ne!=\"undefined\"?[ne.size,ae.Type.SIZE]:void 0;Y(\"Cache\",{Checksum:ae.tuple(ae.Type.NO_HINT,$),Path:ae.tuple(ae.Type.PATH,z),Size:ee})}];for(let k of u){let T=P.isVirtualLocator(k);if(!this.virtuals&&T)continue;let Y={},q={value:[k,ae.Type.LOCATOR],children:Y};if(p[P.stringifyLocator(k)]=q,this.nameOnly){delete q.children;continue}let $=h.get(k.locatorHash);typeof $!=\"undefined\"&&(Y.Instances={label:\"Instances\",value:ae.tuple(ae.Type.NUMBER,$.length)}),Y.Version={label:\"Version\",value:ae.tuple(ae.Type.NO_HINT,k.version)};let z=(ee,A)=>{let oe={};if(Y[ee]=oe,Array.isArray(A))oe.children=A.map(ce=>({value:ce}));else{let ce={};oe.children=ce;for(let[Z,O]of Object.entries(A))typeof O!=\"undefined\"&&(ce[Z]={label:Z,value:O})}};if(!T){for(let ee of v)await ee(k,s,z);await e.triggerHook(ee=>ee.fetchPackageInfo,k,s,z)}k.bin.size>0&&!T&&z(\"Exported Binaries\",[...k.bin.keys()].map(ee=>ae.tuple(ae.Type.PATH,ee)));let ne=f.get(k.locatorHash);typeof ne!=\"undefined\"&&ne.length>0&&z(\"Dependents\",ne.map(ee=>ae.tuple(ae.Type.LOCATOR,ee))),k.dependencies.size>0&&!T&&z(\"Dependencies\",[...k.dependencies.values()].map(ee=>{var ce;let A=t.storedResolutions.get(ee.descriptorHash),oe=typeof A!=\"undefined\"&&(ce=t.storedPackages.get(A))!=null?ce:null;return ae.tuple(ae.Type.RESOLUTION,{descriptor:ee,locator:oe})})),k.peerDependencies.size>0&&T&&z(\"Peer dependencies\",[...k.peerDependencies.values()].map(ee=>{var Z,O;let A=k.dependencies.get(ee.identHash),oe=typeof A!=\"undefined\"&&(Z=t.storedResolutions.get(A.descriptorHash))!=null?Z:null,ce=oe!==null&&(O=t.storedPackages.get(oe))!=null?O:null;return ae.tuple(ae.Type.RESOLUTION,{descriptor:ee,locator:ce})}))}ls.emitTree(m,{configuration:e,json:this.json,stdout:this.context.stdout,separators:this.nameOnly?0:2})}};um.paths=[[\"info\"]],um.usage=Re.Usage({description:\"see information related to packages\",details:\"\\n      This command prints various information related to the specified packages, accepting glob patterns.\\n\\n      By default, if the locator reference is missing, Yarn will default to print the information about all the matching direct dependencies of the package for the active workspace. To instead print all versions of the package that are direct dependencies of any of your workspaces, use the `-A,--all` flag. Adding the `-R,--recursive` flag will also report transitive dependencies.\\n\\n      Some fields will be hidden by default in order to keep the output readable, but can be selectively displayed by using additional options (`--dependents`, `--manifest`, `--virtuals`, ...) described in the option descriptions.\\n\\n      Note that this command will only print the information directly related to the selected packages - if you wish to know why the package is there in the first place, use `yarn why` which will do just that (it also provides a `-R,--recursive` flag that may be of some help).\\n    \",examples:[[\"Show information about Lodash\",\"$0 info lodash\"]]});var Roe=um;var V0=ge(yc());ws();var gm=class extends Le{constructor(){super(...arguments);this.json=J.Boolean(\"--json\",!1,{description:\"Format the output as an NDJSON stream\"});this.immutable=J.Boolean(\"--immutable\",{description:\"Abort with an error exit code if the lockfile was to be modified\"});this.immutableCache=J.Boolean(\"--immutable-cache\",{description:\"Abort with an error exit code if the cache folder was to be modified\"});this.checkCache=J.Boolean(\"--check-cache\",!1,{description:\"Always refetch the packages and ensure that their checksums are consistent\"});this.inlineBuilds=J.Boolean(\"--inline-builds\",{description:\"Verbosely print the output of the build steps of dependencies\"});this.mode=J.String(\"--mode\",{description:\"Change what artifacts installs generate\",validator:nn(Ci)});this.cacheFolder=J.String(\"--cache-folder\",{hidden:!0});this.frozenLockfile=J.Boolean(\"--frozen-lockfile\",{hidden:!0});this.ignoreEngines=J.Boolean(\"--ignore-engines\",{hidden:!0});this.nonInteractive=J.Boolean(\"--non-interactive\",{hidden:!0});this.preferOffline=J.Boolean(\"--prefer-offline\",{hidden:!0});this.production=J.Boolean(\"--production\",{hidden:!0});this.registry=J.String(\"--registry\",{hidden:!0});this.silent=J.Boolean(\"--silent\",{hidden:!0});this.networkTimeout=J.String(\"--network-timeout\",{hidden:!0})}async execute(){var g;let e=await ye.find(this.context.cwd,this.context.plugins);typeof this.inlineBuilds!=\"undefined\"&&e.useWithSource(\"<cli>\",{enableInlineBuilds:this.inlineBuilds},e.startingCwd,{overwrite:!0});let t=!!process.env.FUNCTION_TARGET||!!process.env.GOOGLE_RUNTIME,i=async(f,{error:h})=>{let p=await Je.start({configuration:e,stdout:this.context.stdout,includeFooter:!1},async m=>{h?m.reportError(X.DEPRECATED_CLI_SETTINGS,f):m.reportWarning(X.DEPRECATED_CLI_SETTINGS,f)});return p.hasErrors()?p.exitCode():null};if(typeof this.ignoreEngines!=\"undefined\"){let f=await i(\"The --ignore-engines option is deprecated; engine checking isn't a core feature anymore\",{error:!V0.default.VERCEL});if(f!==null)return f}if(typeof this.registry!=\"undefined\"){let f=await i(\"The --registry option is deprecated; prefer setting npmRegistryServer in your .yarnrc.yml file\",{error:!1});if(f!==null)return f}if(typeof this.preferOffline!=\"undefined\"){let f=await i(\"The --prefer-offline flag is deprecated; use the --cached flag with 'yarn add' instead\",{error:!V0.default.VERCEL});if(f!==null)return f}if(typeof this.production!=\"undefined\"){let f=await i(\"The --production option is deprecated on 'install'; use 'yarn workspaces focus' instead\",{error:!0});if(f!==null)return f}if(typeof this.nonInteractive!=\"undefined\"){let f=await i(\"The --non-interactive option is deprecated\",{error:!t});if(f!==null)return f}if(typeof this.frozenLockfile!=\"undefined\"&&(await i(\"The --frozen-lockfile option is deprecated; use --immutable and/or --immutable-cache instead\",{error:!1}),this.immutable=this.frozenLockfile),typeof this.cacheFolder!=\"undefined\"){let f=await i(\"The cache-folder option has been deprecated; use rc settings instead\",{error:!V0.default.NETLIFY});if(f!==null)return f}let n=this.mode===Ci.UpdateLockfile;if(n&&(this.immutable||this.immutableCache))throw new Pe(`${ae.pretty(e,\"--immutable\",ae.Type.CODE)} and ${ae.pretty(e,\"--immutable-cache\",ae.Type.CODE)} cannot be used with ${ae.pretty(e,\"--mode=update-lockfile\",ae.Type.CODE)}`);let s=((g=this.immutable)!=null?g:e.get(\"enableImmutableInstalls\"))&&!n,o=this.immutableCache&&!n;if(e.projectCwd!==null){let f=await Je.start({configuration:e,json:this.json,stdout:this.context.stdout,includeFooter:!1},async h=>{await UWe(e,s)&&(h.reportInfo(X.AUTOMERGE_SUCCESS,\"Automatically fixed merge conflicts \\u{1F44D}\"),h.reportSeparator())});if(f.hasErrors())return f.exitCode()}if(e.projectCwd!==null&&typeof e.sources.get(\"nodeLinker\")==\"undefined\"){let f=e.projectCwd,h;try{h=await U.readFilePromise(x.join(f,xt.lockfile),\"utf8\")}catch{}if(h==null?void 0:h.includes(\"yarn lockfile v1\")){let p=await Je.start({configuration:e,json:this.json,stdout:this.context.stdout,includeFooter:!1},async m=>{m.reportInfo(X.AUTO_NM_SUCCESS,\"Migrating from Yarn 1; automatically enabling the compatibility node-modules linker \\u{1F44D}\"),m.reportSeparator(),e.use(\"<compat>\",{nodeLinker:\"node-modules\"},f,{overwrite:!0}),await ye.updateConfiguration(f,{nodeLinker:\"node-modules\"})});if(p.hasErrors())return p.exitCode()}}if(e.projectCwd!==null){let f=await Je.start({configuration:e,json:this.json,stdout:this.context.stdout,includeFooter:!1},async h=>{var p;((p=ye.telemetry)==null?void 0:p.isNew)&&(h.reportInfo(X.TELEMETRY_NOTICE,\"Yarn will periodically gather anonymous telemetry: https://yarnpkg.com/advanced/telemetry\"),h.reportInfo(X.TELEMETRY_NOTICE,`Run ${ae.pretty(e,\"yarn config set --home enableTelemetry 0\",ae.Type.CODE)} to disable`),h.reportSeparator())});if(f.hasErrors())return f.exitCode()}let{project:a,workspace:l}=await ze.find(e,this.context.cwd),c=await Nt.find(e,{immutable:o,check:this.checkCache});if(!l)throw new ht(a.cwd,this.context.cwd);return await a.restoreInstallState({restoreResolutions:!1}),(await Je.start({configuration:e,json:this.json,stdout:this.context.stdout,includeLogs:!0},async f=>{await a.install({cache:c,report:f,immutable:s,mode:this.mode})})).exitCode()}};gm.paths=[[\"install\"],Re.Default],gm.usage=Re.Usage({description:\"install the project dependencies\",details:`\n      This command sets up your project if needed. The installation is split into four different steps that each have their own characteristics:\n\n      - **Resolution:** First the package manager will resolve your dependencies. The exact way a dependency version is privileged over another isn't standardized outside of the regular semver guarantees. If a package doesn't resolve to what you would expect, check that all dependencies are correctly declared (also check our website for more information: ).\n\n      - **Fetch:** Then we download all the dependencies if needed, and make sure that they're all stored within our cache (check the value of \\`cacheFolder\\` in \\`yarn config\\` to see where the cache files are stored).\n\n      - **Link:** Then we send the dependency tree information to internal plugins tasked with writing them on the disk in some form (for example by generating the .pnp.cjs file you might know).\n\n      - **Build:** Once the dependency tree has been written on the disk, the package manager will now be free to run the build scripts for all packages that might need it, in a topological order compatible with the way they depend on one another. See https://yarnpkg.com/advanced/lifecycle-scripts for detail.\n\n      Note that running this command is not part of the recommended workflow. Yarn supports zero-installs, which means that as long as you store your cache and your .pnp.cjs file inside your repository, everything will work without requiring any install right after cloning your repository or switching branches.\n\n      If the \\`--immutable\\` option is set (defaults to true on CI), Yarn will abort with an error exit code if the lockfile was to be modified (other paths can be added using the \\`immutablePatterns\\` configuration setting). For backward compatibility we offer an alias under the name of \\`--frozen-lockfile\\`, but it will be removed in a later release.\n\n      If the \\`--immutable-cache\\` option is set, Yarn will abort with an error exit code if the cache folder was to be modified (either because files would be added, or because they'd be removed).\n\n      If the \\`--check-cache\\` option is set, Yarn will always refetch the packages and will ensure that their checksum matches what's 1/ described in the lockfile 2/ inside the existing cache files (if present). This is recommended as part of your CI workflow if you're both following the Zero-Installs model and accepting PRs from third-parties, as they'd otherwise have the ability to alter the checked-in packages before submitting them.\n\n      If the \\`--inline-builds\\` option is set, Yarn will verbosely print the output of the build steps of your dependencies (instead of writing them into individual files). This is likely useful mostly for debug purposes only when using Docker-like environments.\n\n      If the \\`--mode=<mode>\\` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n      - \\`skip-build\\` will not run the build scripts at all. Note that this is different from setting \\`enableScripts\\` to false because the later will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n      - \\`update-lockfile\\` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n    `,examples:[[\"Install the project\",\"$0 install\"],[\"Validate a project when using Zero-Installs\",\"$0 install --immutable --immutable-cache\"],[\"Validate a project when using Zero-Installs (slightly safer if you accept external PRs)\",\"$0 install --immutable --immutable-cache --check-cache\"]]});var Foe=gm,KWe=\"|||||||\",HWe=\">>>>>>>\",jWe=\"=======\",Noe=\"<<<<<<<\";async function UWe(r,e){if(!r.projectCwd)return!1;let t=x.join(r.projectCwd,r.get(\"lockfileFilename\"));if(!await U.existsPromise(t))return!1;let i=await U.readFilePromise(t,\"utf8\");if(!i.includes(Noe))return!1;if(e)throw new ct(X.AUTOMERGE_IMMUTABLE,\"Cannot autofix a lockfile when running an immutable install\");let[n,s]=GWe(i),o,a;try{o=Si(n),a=Si(s)}catch(c){throw new ct(X.AUTOMERGE_FAILED_TO_PARSE,\"The individual variants of the lockfile failed to parse\")}let l=N(N({},o),a);for(let[c,u]of Object.entries(l))typeof u==\"string\"&&delete l[c];return await U.changeFilePromise(t,Ua(l),{automaticNewlines:!0}),!0}function GWe(r){let e=[[],[]],t=r.split(/\\r?\\n/g),i=!1;for(;t.length>0;){let n=t.shift();if(typeof n==\"undefined\")throw new Error(\"Assertion failed: Some lines should remain\");if(n.startsWith(Noe)){for(;t.length>0;){let s=t.shift();if(typeof s==\"undefined\")throw new Error(\"Assertion failed: Some lines should remain\");if(s===jWe){i=!1;break}else if(i||s.startsWith(KWe)){i=!0;continue}else e[0].push(s)}for(;t.length>0;){let s=t.shift();if(typeof s==\"undefined\")throw new Error(\"Assertion failed: Some lines should remain\");if(s.startsWith(HWe))break;e[1].push(s)}}else e[0].push(n),e[1].push(n)}return[e[0].join(`\n`),e[1].join(`\n`)]}var fm=class extends Le{constructor(){super(...arguments);this.all=J.Boolean(\"-A,--all\",!1,{description:\"Link all workspaces belonging to the target project to the current one\"});this.private=J.Boolean(\"-p,--private\",!1,{description:\"Also link private workspaces belonging to the target project to the current one\"});this.relative=J.Boolean(\"-r,--relative\",!1,{description:\"Link workspaces using relative paths instead of absolute paths\"});this.destination=J.String()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:t,workspace:i}=await ze.find(e,this.context.cwd),n=await Nt.find(e);if(!i)throw new ht(t.cwd,this.context.cwd);await t.restoreInstallState({restoreResolutions:!1});let s=x.resolve(this.context.cwd,H.toPortablePath(this.destination)),o=await ye.find(s,this.context.plugins,{useRc:!1,strict:!1}),{project:a,workspace:l}=await ze.find(o,s);if(t.cwd===a.cwd)throw new Pe(\"Invalid destination; Can't link the project to itself\");if(!l)throw new ht(a.cwd,s);let c=t.topLevelWorkspace,u=[];if(this.all){for(let f of a.workspaces)f.manifest.name&&(!f.manifest.private||this.private)&&u.push(f);if(u.length===0)throw new Pe(\"No workspace found to be linked in the target project\")}else{if(!l.manifest.name)throw new Pe(\"The target workspace doesn't have a name and thus cannot be linked\");if(l.manifest.private&&!this.private)throw new Pe(\"The target workspace is marked private - use the --private flag to link it anyway\");u.push(l)}for(let f of u){let h=P.stringifyIdent(f.locator),p=this.relative?x.relative(t.cwd,f.cwd):f.cwd;c.manifest.resolutions.push({pattern:{descriptor:{fullName:h}},reference:`portal:${p}`})}return(await Je.start({configuration:e,stdout:this.context.stdout},async f=>{await t.install({cache:n,report:f})})).exitCode()}};fm.paths=[[\"link\"]],fm.usage=Re.Usage({description:\"connect the local project to another one\",details:\"\\n      This command will set a new `resolutions` field in the project-level manifest and point it to the workspace at the specified location (even if part of another project).\\n    \",examples:[[\"Register a remote workspace for use in the current project\",\"$0 link ~/ts-loader\"],[\"Register all workspaces from a remote project for use in the current project\",\"$0 link ~/jest --all\"]]});var Loe=fm;var hm=class extends Le{constructor(){super(...arguments);this.args=J.Proxy()}async execute(){return this.cli.run([\"exec\",\"node\",...this.args])}};hm.paths=[[\"node\"]],hm.usage=Re.Usage({description:\"run node with the hook already setup\",details:`\n      This command simply runs Node. It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment).\n\n      The Node process will use the exact same version of Node as the one used to run Yarn itself, which might be a good way to ensure that your commands always use a consistent Node version.\n    `,examples:[[\"Run a Node script\",\"$0 node ./my-script.js\"]]});var Toe=hm;var qoe=ge(require(\"os\"));var Moe=ge(require(\"os\"));var YWe=\"https://raw.githubusercontent.com/yarnpkg/berry/master/plugins.yml\";async function Qu(r){let e=await ir.get(YWe,{configuration:r});return Si(e.toString())}var pm=class extends Le{constructor(){super(...arguments);this.json=J.Boolean(\"--json\",!1,{description:\"Format the output as an NDJSON stream\"})}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins);return(await Je.start({configuration:e,json:this.json,stdout:this.context.stdout},async i=>{let n=await Qu(e);for(let s of Object.entries(n)){let[l,o]=s,a=o,{experimental:c}=a,u=Or(a,[\"experimental\"]);let g=l;c&&(g+=\" [experimental]\"),i.reportJson(N({name:l,experimental:c},u)),i.reportInfo(null,g)}})).exitCode()}};pm.paths=[[\"plugin\",\"list\"]],pm.usage=Re.Usage({category:\"Plugin-related commands\",description:\"list the available official plugins\",details:\"\\n      This command prints the plugins available directly from the Yarn repository. Only those plugins can be referenced by name in `yarn plugin import`.\\n    \",examples:[[\"List the official plugins\",\"$0 plugin list\"]]});var Ooe=pm;var qWe=/^[0-9]+$/;function Uoe(r){return qWe.test(r)?`pull/${r}/head`:r}var JWe=({repository:r,branch:e},t)=>[[\"git\",\"init\",H.fromPortablePath(t)],[\"git\",\"remote\",\"add\",\"origin\",r],[\"git\",\"fetch\",\"origin\",\"--depth=1\",Uoe(e)],[\"git\",\"reset\",\"--hard\",\"FETCH_HEAD\"]],WWe=({branch:r})=>[[\"git\",\"fetch\",\"origin\",\"--depth=1\",Uoe(r),\"--force\"],[\"git\",\"reset\",\"--hard\",\"FETCH_HEAD\"],[\"git\",\"clean\",\"-dfx\"]],zWe=({plugins:r,noMinify:e},t)=>[[\"yarn\",\"build:cli\",...new Array().concat(...r.map(i=>[\"--plugin\",x.resolve(t,i)])),...e?[\"--no-minify\"]:[],\"|\"]],dm=class extends Le{constructor(){super(...arguments);this.installPath=J.String(\"--path\",{description:\"The path where the repository should be cloned to\"});this.repository=J.String(\"--repository\",\"https://github.com/yarnpkg/berry.git\",{description:\"The repository that should be cloned\"});this.branch=J.String(\"--branch\",\"master\",{description:\"The branch of the repository that should be cloned\"});this.plugins=J.Array(\"--plugin\",[],{description:\"An array of additional plugins that should be included in the bundle\"});this.noMinify=J.Boolean(\"--no-minify\",!1,{description:\"Build a bundle for development (debugging) - non-minified and non-mangled\"});this.force=J.Boolean(\"-f,--force\",!1,{description:\"Always clone the repository instead of trying to fetch the latest commits\"});this.skipPlugins=J.Boolean(\"--skip-plugins\",!1,{description:\"Skip updating the contrib plugins\"})}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:t}=await ze.find(e,this.context.cwd),i=typeof this.installPath!=\"undefined\"?x.resolve(this.context.cwd,H.toPortablePath(this.installPath)):x.resolve(H.toPortablePath((0,Moe.tmpdir)()),\"yarnpkg-sources\",Rn.makeHash(this.repository).slice(0,6));return(await Je.start({configuration:e,stdout:this.context.stdout},async s=>{await kN(this,{configuration:e,report:s,target:i}),s.reportSeparator(),s.reportInfo(X.UNNAMED,\"Building a fresh bundle\"),s.reportSeparator(),await Cm(zWe(this,i),{configuration:e,context:this.context,target:i}),s.reportSeparator();let o=x.resolve(i,\"packages/yarnpkg-cli/bundles/yarn.js\"),a=await U.readFilePromise(o);await SN(e,\"sources\",a,{report:s}),this.skipPlugins||await _We(this,{project:t,report:s,target:i})})).exitCode()}};dm.paths=[[\"set\",\"version\",\"from\",\"sources\"]],dm.usage=Re.Usage({description:\"build Yarn from master\",details:`\n      This command will clone the Yarn repository into a temporary folder, then build it. The resulting bundle will then be copied into the local project.\n\n      By default, it also updates all contrib plugins to the same commit the bundle is built from. This behavior can be disabled by using the \\`--skip-plugins\\` flag.\n    `,examples:[[\"Build Yarn from master\",\"$0 set version from sources\"]]});var Koe=dm;async function Cm(r,{configuration:e,context:t,target:i}){for(let[n,...s]of r){let o=s[s.length-1]===\"|\";if(o&&s.pop(),o)await Nr.pipevp(n,s,{cwd:i,stdin:t.stdin,stdout:t.stdout,stderr:t.stderr,strict:!0});else{t.stdout.write(`${ae.pretty(e,`  $ ${[n,...s].join(\" \")}`,\"grey\")}\n`);try{await Nr.execvp(n,s,{cwd:i,strict:!0})}catch(a){throw t.stdout.write(a.stdout||a.stack),a}}}}async function kN(r,{configuration:e,report:t,target:i}){let n=!1;if(!r.force&&U.existsSync(x.join(i,\".git\"))){t.reportInfo(X.UNNAMED,\"Fetching the latest commits\"),t.reportSeparator();try{await Cm(WWe(r),{configuration:e,context:r.context,target:i}),n=!0}catch(s){t.reportSeparator(),t.reportWarning(X.UNNAMED,\"Repository update failed; we'll try to regenerate it\")}}n||(t.reportInfo(X.UNNAMED,\"Cloning the remote repository\"),t.reportSeparator(),await U.removePromise(i),await U.mkdirPromise(i,{recursive:!0}),await Cm(JWe(r,i),{configuration:e,context:r.context,target:i}))}async function _We(r,{project:e,report:t,target:i}){let n=await Qu(e.configuration),s=new Set(Object.keys(n));for(let o of e.configuration.plugins.keys())!s.has(o)||await vN(o,r,{project:e,report:t,target:i})}var Hoe=ge(ri()),joe=ge(require(\"url\")),Goe=ge(require(\"vm\"));var mm=class extends Le{constructor(){super(...arguments);this.name=J.String()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins);return(await Je.start({configuration:e,stdout:this.context.stdout},async i=>{let{project:n}=await ze.find(e,this.context.cwd),s,o;if(this.name.match(/^\\.{0,2}[\\\\/]/)||H.isAbsolute(this.name)){let a=x.resolve(this.context.cwd,H.toPortablePath(this.name));i.reportInfo(X.UNNAMED,`Reading ${ae.pretty(e,a,ae.Type.PATH)}`),s=x.relative(n.cwd,a),o=await U.readFilePromise(a)}else{let a;if(this.name.match(/^https?:/)){try{new joe.URL(this.name)}catch{throw new ct(X.INVALID_PLUGIN_REFERENCE,`Plugin specifier \"${this.name}\" is neither a plugin name nor a valid url`)}s=this.name,a=this.name}else{let l=P.parseLocator(this.name.replace(/^((@yarnpkg\\/)?plugin-)?/,\"@yarnpkg/plugin-\"));if(l.reference!==\"unknown\"&&!Hoe.default.valid(l.reference))throw new ct(X.UNNAMED,\"Official plugins only accept strict version references. Use an explicit URL if you wish to download them from another location.\");let c=P.stringifyIdent(l),u=await Qu(e);if(!Object.prototype.hasOwnProperty.call(u,c))throw new ct(X.PLUGIN_NAME_NOT_FOUND,`Couldn't find a plugin named \"${c}\" on the remote registry. Note that only the plugins referenced on our website (https://github.com/yarnpkg/berry/blob/master/plugins.yml) can be referenced by their name; any other plugin will have to be referenced through its public url (for example https://github.com/yarnpkg/berry/raw/master/packages/plugin-typescript/bin/%40yarnpkg/plugin-typescript.js).`);s=c,a=u[c].url,l.reference!==\"unknown\"?a=a.replace(/\\/master\\//,`/${c}/${l.reference}/`):Kr!==null&&(a=a.replace(/\\/master\\//,`/@yarnpkg/cli/${Kr}/`))}i.reportInfo(X.UNNAMED,`Downloading ${ae.pretty(e,a,\"green\")}`),o=await ir.get(a,{configuration:e})}await xN(s,o,{project:n,report:i})})).exitCode()}};mm.paths=[[\"plugin\",\"import\"]],mm.usage=Re.Usage({category:\"Plugin-related commands\",description:\"download a plugin\",details:`\n      This command downloads the specified plugin from its remote location and updates the configuration to reference it in further CLI invocations.\n\n      Three types of plugin references are accepted:\n\n      - If the plugin is stored within the Yarn repository, it can be referenced by name.\n      - Third-party plugins can be referenced directly through their public urls.\n      - Local plugins can be referenced by their path on the disk.\n\n      Plugins cannot be downloaded from the npm registry, and aren't allowed to have dependencies (they need to be bundled into a single file, possibly thanks to the \\`@yarnpkg/builder\\` package).\n    `,examples:[['Download and activate the \"@yarnpkg/plugin-exec\" plugin',\"$0 plugin import @yarnpkg/plugin-exec\"],['Download and activate the \"@yarnpkg/plugin-exec\" plugin (shorthand)',\"$0 plugin import exec\"],[\"Download and activate a community plugin\",\"$0 plugin import https://example.org/path/to/plugin.js\"],[\"Activate a local plugin\",\"$0 plugin import ./path/to/plugin.js\"]]});var Yoe=mm;async function xN(r,e,{project:t,report:i}){let{configuration:n}=t,s={},o={exports:s};(0,Goe.runInNewContext)(e.toString(),{module:o,exports:s});let a=o.exports.name,l=`.yarn/plugins/${a}.cjs`,c=x.resolve(t.cwd,l);i.reportInfo(X.UNNAMED,`Saving the new plugin in ${ae.pretty(n,l,\"magenta\")}`),await U.mkdirPromise(x.dirname(c),{recursive:!0}),await U.writeFilePromise(c,e);let u={path:l,spec:r};await ye.updateConfiguration(t.cwd,g=>{let f=[],h=!1;for(let p of g.plugins||[]){let m=typeof p!=\"string\"?p.path:p,y=x.resolve(t.cwd,H.toPortablePath(m)),{name:b}=Se.dynamicRequire(y);b!==a?f.push(p):(f.push(u),h=!0)}return h||f.push(u),te(N({},g),{plugins:f})})}var VWe=({pluginName:r,noMinify:e},t)=>[[\"yarn\",`build:${r}`,...e?[\"--no-minify\"]:[],\"|\"]],Em=class extends Le{constructor(){super(...arguments);this.installPath=J.String(\"--path\",{description:\"The path where the repository should be cloned to\"});this.repository=J.String(\"--repository\",\"https://github.com/yarnpkg/berry.git\",{description:\"The repository that should be cloned\"});this.branch=J.String(\"--branch\",\"master\",{description:\"The branch of the repository that should be cloned\"});this.noMinify=J.Boolean(\"--no-minify\",!1,{description:\"Build a plugin for development (debugging) - non-minified and non-mangled\"});this.force=J.Boolean(\"-f,--force\",!1,{description:\"Always clone the repository instead of trying to fetch the latest commits\"});this.name=J.String()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),t=typeof this.installPath!=\"undefined\"?x.resolve(this.context.cwd,H.toPortablePath(this.installPath)):x.resolve(H.toPortablePath((0,qoe.tmpdir)()),\"yarnpkg-sources\",Rn.makeHash(this.repository).slice(0,6));return(await Je.start({configuration:e,stdout:this.context.stdout},async n=>{let{project:s}=await ze.find(e,this.context.cwd),o=P.parseIdent(this.name.replace(/^((@yarnpkg\\/)?plugin-)?/,\"@yarnpkg/plugin-\")),a=P.stringifyIdent(o),l=await Qu(e);if(!Object.prototype.hasOwnProperty.call(l,a))throw new ct(X.PLUGIN_NAME_NOT_FOUND,`Couldn't find a plugin named \"${a}\" on the remote registry. Note that only the plugins referenced on our website (https://github.com/yarnpkg/berry/blob/master/plugins.yml) can be built and imported from sources.`);let c=a;await kN(this,{configuration:e,report:n,target:t}),await vN(c,this,{project:s,report:n,target:t})})).exitCode()}};Em.paths=[[\"plugin\",\"import\",\"from\",\"sources\"]],Em.usage=Re.Usage({category:\"Plugin-related commands\",description:\"build a plugin from sources\",details:`\n      This command clones the Yarn repository into a temporary folder, builds the specified contrib plugin and updates the configuration to reference it in further CLI invocations.\n\n      The plugins can be referenced by their short name if sourced from the official Yarn repository.\n    `,examples:[['Build and activate the \"@yarnpkg/plugin-exec\" plugin',\"$0 plugin import from sources @yarnpkg/plugin-exec\"],['Build and activate the \"@yarnpkg/plugin-exec\" plugin (shorthand)',\"$0 plugin import from sources exec\"]]});var Joe=Em;async function vN(r,{context:e,noMinify:t},{project:i,report:n,target:s}){let o=r.replace(/@yarnpkg\\//,\"\"),{configuration:a}=i;n.reportSeparator(),n.reportInfo(X.UNNAMED,`Building a fresh ${o}`),n.reportSeparator(),await Cm(VWe({pluginName:o,noMinify:t},s),{configuration:a,context:e,target:s}),n.reportSeparator();let l=x.resolve(s,`packages/${o}/bundles/${r}.js`),c=await U.readFilePromise(l);await xN(r,c,{project:i,report:n})}var Im=class extends Le{constructor(){super(...arguments);this.name=J.String()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:t}=await ze.find(e,this.context.cwd);return(await Je.start({configuration:e,stdout:this.context.stdout},async n=>{let s=this.name,o=P.parseIdent(s);if(!e.plugins.has(s))throw new Pe(`${P.prettyIdent(e,o)} isn't referenced by the current configuration`);let a=`.yarn/plugins/${s}.cjs`,l=x.resolve(t.cwd,a);U.existsSync(l)&&(n.reportInfo(X.UNNAMED,`Removing ${ae.pretty(e,a,ae.Type.PATH)}...`),await U.removePromise(l)),n.reportInfo(X.UNNAMED,\"Updating the configuration...\"),await ye.updateConfiguration(t.cwd,c=>{if(!Array.isArray(c.plugins))return c;let u=c.plugins.filter(g=>g.path!==a);return c.plugins.length===u.length?c:te(N({},c),{plugins:u})})})).exitCode()}};Im.paths=[[\"plugin\",\"remove\"]],Im.usage=Re.Usage({category:\"Plugin-related commands\",description:\"remove a plugin\",details:`\n      This command deletes the specified plugin from the .yarn/plugins folder and removes it from the configuration.\n\n      **Note:** The plugins have to be referenced by their name property, which can be obtained using the \\`yarn plugin runtime\\` command. Shorthands are not allowed.\n   `,examples:[[\"Remove a plugin imported from the Yarn repository\",\"$0 plugin remove @yarnpkg/plugin-typescript\"],[\"Remove a plugin imported from a local file\",\"$0 plugin remove my-local-plugin\"]]});var Woe=Im;var ym=class extends Le{constructor(){super(...arguments);this.json=J.Boolean(\"--json\",!1,{description:\"Format the output as an NDJSON stream\"})}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins);return(await Je.start({configuration:e,json:this.json,stdout:this.context.stdout},async i=>{for(let n of e.plugins.keys()){let s=this.context.plugins.plugins.has(n),o=n;s&&(o+=\" [builtin]\"),i.reportJson({name:n,builtin:s}),i.reportInfo(null,`${o}`)}})).exitCode()}};ym.paths=[[\"plugin\",\"runtime\"]],ym.usage=Re.Usage({category:\"Plugin-related commands\",description:\"list the active plugins\",details:`\n      This command prints the currently active plugins. Will be displayed both builtin plugins and external plugins.\n    `,examples:[[\"List the currently active plugins\",\"$0 plugin runtime\"]]});var zoe=ym;var wm=class extends Le{constructor(){super(...arguments);this.idents=J.Rest()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:t,workspace:i}=await ze.find(e,this.context.cwd),n=await Nt.find(e);if(!i)throw new ht(t.cwd,this.context.cwd);let s=new Set;for(let a of this.idents)s.add(P.parseIdent(a).identHash);if(await t.restoreInstallState({restoreResolutions:!1}),await t.resolveEverything({cache:n,report:new di}),s.size>0)for(let a of t.storedPackages.values())s.has(a.identHash)&&t.storedBuildState.delete(a.locatorHash);else t.storedBuildState.clear();return(await Je.start({configuration:e,stdout:this.context.stdout,includeLogs:!this.context.quiet},async a=>{await t.install({cache:n,report:a})})).exitCode()}};wm.paths=[[\"rebuild\"]],wm.usage=Re.Usage({description:\"rebuild the project's native packages\",details:`\n      This command will automatically cause Yarn to forget about previous compilations of the given packages and to run them again.\n\n      Note that while Yarn forgets the compilation, the previous artifacts aren't erased from the filesystem and may affect the next builds (in good or bad). To avoid this, you may remove the .yarn/unplugged folder, or any other relevant location where packages might have been stored (Yarn may offer a way to do that automatically in the future).\n\n      By default all packages will be rebuilt, but you can filter the list by specifying the names of the packages you want to clear from memory.\n    `,examples:[[\"Rebuild all packages\",\"$0 rebuild\"],[\"Rebuild fsevents only\",\"$0 rebuild fsevents\"]]});var _oe=wm;var PN=ge(ns());ws();var Bm=class extends Le{constructor(){super(...arguments);this.all=J.Boolean(\"-A,--all\",!1,{description:\"Apply the operation to all workspaces from the current project\"});this.mode=J.String(\"--mode\",{description:\"Change what artifacts installs generate\",validator:nn(Ci)});this.patterns=J.Rest()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:t,workspace:i}=await ze.find(e,this.context.cwd),n=await Nt.find(e);if(!i)throw new ht(t.cwd,this.context.cwd);await t.restoreInstallState({restoreResolutions:!1});let s=this.all?t.workspaces:[i],o=[Hr.REGULAR,Hr.DEVELOPMENT,Hr.PEER],a=[],l=!1,c=[];for(let h of this.patterns){let p=!1,m=P.parseIdent(h);for(let y of s){let b=[...y.manifest.peerDependenciesMeta.keys()];for(let v of(0,PN.default)(b,h))y.manifest.peerDependenciesMeta.delete(v),l=!0,p=!0;for(let v of o){let k=y.manifest.getForScope(v),T=[...k.values()].map(Y=>P.stringifyIdent(Y));for(let Y of(0,PN.default)(T,P.stringifyIdent(m))){let{identHash:q}=P.parseIdent(Y),$=k.get(q);if(typeof $==\"undefined\")throw new Error(\"Assertion failed: Expected the descriptor to be registered\");y.manifest[v].delete(q),c.push([y,v,$]),l=!0,p=!0}}}p||a.push(h)}let u=a.length>1?\"Patterns\":\"Pattern\",g=a.length>1?\"don't\":\"doesn't\",f=this.all?\"any\":\"this\";if(a.length>0)throw new Pe(`${u} ${ae.prettyList(e,a,Ri.CODE)} ${g} match any packages referenced by ${f} workspace`);return l?(await e.triggerMultipleHooks(p=>p.afterWorkspaceDependencyRemoval,c),(await Je.start({configuration:e,stdout:this.context.stdout},async p=>{await t.install({cache:n,report:p,mode:this.mode})})).exitCode()):0}};Bm.paths=[[\"remove\"]],Bm.usage=Re.Usage({description:\"remove dependencies from the project\",details:`\n      This command will remove the packages matching the specified patterns from the current workspace.\n\n      If the \\`--mode=<mode>\\` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n      - \\`skip-build\\` will not run the build scripts at all. Note that this is different from setting \\`enableScripts\\` to false because the later will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n      - \\`update-lockfile\\` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n      This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n    `,examples:[[\"Remove a dependency from the current project\",\"$0 remove lodash\"],[\"Remove a dependency from all workspaces at once\",\"$0 remove lodash --all\"],[\"Remove all dependencies starting with `eslint-`\",\"$0 remove 'eslint-*'\"],[\"Remove all dependencies with the `@babel` scope\",\"$0 remove '@babel/*'\"],[\"Remove all dependencies matching `react-dom` or `react-helmet`\",\"$0 remove 'react-{dom,helmet}'\"]]});var Voe=Bm;var Xoe=ge(require(\"util\")),X0=class extends Le{async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:t,workspace:i}=await ze.find(e,this.context.cwd);if(!i)throw new ht(t.cwd,this.context.cwd);return(await Je.start({configuration:e,stdout:this.context.stdout},async s=>{let o=i.manifest.scripts,a=Se.sortMap(o.keys(),u=>u),l={breakLength:Infinity,colors:e.get(\"enableColors\"),maxArrayLength:2},c=a.reduce((u,g)=>Math.max(u,g.length),0);for(let[u,g]of o.entries())s.reportInfo(null,`${u.padEnd(c,\" \")}   ${(0,Xoe.inspect)(g,l)}`)})).exitCode()}};X0.paths=[[\"run\"]];var Zoe=X0;var bm=class extends Le{constructor(){super(...arguments);this.inspect=J.String(\"--inspect\",!1,{tolerateBoolean:!0,description:\"Forwarded to the underlying Node process when executing a binary\"});this.inspectBrk=J.String(\"--inspect-brk\",!1,{tolerateBoolean:!0,description:\"Forwarded to the underlying Node process when executing a binary\"});this.topLevel=J.Boolean(\"-T,--top-level\",!1,{description:\"Check the root workspace for scripts and/or binaries instead of the current one\"});this.binariesOnly=J.Boolean(\"-B,--binaries-only\",!1,{description:\"Ignore any user defined scripts and only check for binaries\"});this.silent=J.Boolean(\"--silent\",{hidden:!0});this.scriptName=J.String();this.args=J.Proxy()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:t,workspace:i,locator:n}=await ze.find(e,this.context.cwd);await t.restoreInstallState();let s=this.topLevel?t.topLevelWorkspace.anchoredLocator:n;if(!this.binariesOnly&&await Zt.hasPackageScript(s,this.scriptName,{project:t}))return await Zt.executePackageScript(s,this.scriptName,this.args,{project:t,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});let o=await Zt.getPackageAccessibleBinaries(s,{project:t});if(o.get(this.scriptName)){let l=[];return this.inspect&&(typeof this.inspect==\"string\"?l.push(`--inspect=${this.inspect}`):l.push(\"--inspect\")),this.inspectBrk&&(typeof this.inspectBrk==\"string\"?l.push(`--inspect-brk=${this.inspectBrk}`):l.push(\"--inspect-brk\")),await Zt.executePackageAccessibleBinary(s,this.scriptName,this.args,{cwd:this.context.cwd,project:t,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,nodeArgs:l,packageAccessibleBinaries:o})}if(!this.topLevel&&!this.binariesOnly&&i&&this.scriptName.includes(\":\")){let c=(await Promise.all(t.workspaces.map(async u=>u.manifest.scripts.has(this.scriptName)?u:null))).filter(u=>u!==null);if(c.length===1)return await Zt.executeWorkspaceScript(c[0],this.scriptName,this.args,{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})}if(this.topLevel)throw this.scriptName===\"node-gyp\"?new Pe(`Couldn't find a script name \"${this.scriptName}\" in the top-level (used by ${P.prettyLocator(e,n)}). This typically happens because some package depends on \"node-gyp\" to build itself, but didn't list it in their dependencies. To fix that, please run \"yarn add node-gyp\" into your top-level workspace. You also can open an issue on the repository of the specified package to suggest them to use an optional peer dependency.`):new Pe(`Couldn't find a script name \"${this.scriptName}\" in the top-level (used by ${P.prettyLocator(e,n)}).`);{if(this.scriptName===\"global\")throw new Pe(\"The 'yarn global' commands have been removed in 2.x - consider using 'yarn dlx' or a third-party plugin instead\");let l=[this.scriptName].concat(this.args);for(let[c,u]of Tf)for(let g of u)if(l.length>=g.length&&JSON.stringify(l.slice(0,g.length))===JSON.stringify(g))throw new Pe(`Couldn't find a script named \"${this.scriptName}\", but a matching command can be found in the ${c} plugin. You can install it with \"yarn plugin import ${c}\".`);throw new Pe(`Couldn't find a script named \"${this.scriptName}\".`)}}};bm.paths=[[\"run\"]],bm.usage=Re.Usage({description:\"run a script defined in the package.json\",details:`\n      This command will run a tool. The exact tool that will be executed will depend on the current state of your workspace:\n\n      - If the \\`scripts\\` field from your local package.json contains a matching script name, its definition will get executed.\n\n      - Otherwise, if one of the local workspace's dependencies exposes a binary with a matching name, this binary will get executed.\n\n      - Otherwise, if the specified name contains a colon character and if one of the workspaces in the project contains exactly one script with a matching name, then this script will get executed.\n\n      Whatever happens, the cwd of the spawned process will be the workspace that declares the script (which makes it possible to call commands cross-workspaces using the third syntax).\n    `,examples:[[\"Run the tests from the local workspace\",\"$0 run test\"],['Same thing, but without the \"run\" keyword',\"$0 test\"],[\"Inspect Webpack while running\",\"$0 run --inspect-brk webpack\"]]});var $oe=bm;var Qm=class extends Le{constructor(){super(...arguments);this.save=J.Boolean(\"-s,--save\",!1,{description:\"Persist the resolution inside the top-level manifest\"});this.descriptor=J.String();this.resolution=J.String()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:t,workspace:i}=await ze.find(e,this.context.cwd),n=await Nt.find(e);if(await t.restoreInstallState({restoreResolutions:!1}),!i)throw new ht(t.cwd,this.context.cwd);let s=P.parseDescriptor(this.descriptor,!0),o=P.makeDescriptor(s,this.resolution);return t.storedDescriptors.set(s.descriptorHash,s),t.storedDescriptors.set(o.descriptorHash,o),t.resolutionAliases.set(s.descriptorHash,o.descriptorHash),(await Je.start({configuration:e,stdout:this.context.stdout},async l=>{await t.install({cache:n,report:l})})).exitCode()}};Qm.paths=[[\"set\",\"resolution\"]],Qm.usage=Re.Usage({description:\"enforce a package resolution\",details:'\\n      This command updates the resolution table so that `descriptor` is resolved by `resolution`.\\n\\n      Note that by default this command only affect the current resolution table - meaning that this \"manual override\" will disappear if you remove the lockfile, or if the package disappear from the table. If you wish to make the enforced resolution persist whatever happens, add the `-s,--save` flag which will also edit the `resolutions` field from your top-level manifest.\\n\\n      Note that no attempt is made at validating that `resolution` is a valid resolution entry for `descriptor`.\\n    ',examples:[[\"Force all instances of lodash@npm:^1.2.3 to resolve to 1.5.0\",\"$0 set resolution lodash@npm:^1.2.3 1.5.0\"]]});var eae=Qm;var tae=ge(ns()),Sm=class extends Le{constructor(){super(...arguments);this.all=J.Boolean(\"-A,--all\",!1,{description:\"Unlink all workspaces belonging to the target project from the current one\"});this.leadingArguments=J.Rest()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:t,workspace:i}=await ze.find(e,this.context.cwd),n=await Nt.find(e);if(!i)throw new ht(t.cwd,this.context.cwd);let s=t.topLevelWorkspace,o=new Set;if(this.leadingArguments.length===0&&this.all)for(let{pattern:l,reference:c}of s.manifest.resolutions)c.startsWith(\"portal:\")&&o.add(l.descriptor.fullName);if(this.leadingArguments.length>0)for(let l of this.leadingArguments){let c=x.resolve(this.context.cwd,H.toPortablePath(l));if(Se.isPathLike(l)){let u=await ye.find(c,this.context.plugins,{useRc:!1,strict:!1}),{project:g,workspace:f}=await ze.find(u,c);if(!f)throw new ht(g.cwd,c);if(this.all){for(let h of g.workspaces)h.manifest.name&&o.add(P.stringifyIdent(h.locator));if(o.size===0)throw new Pe(\"No workspace found to be unlinked in the target project\")}else{if(!f.manifest.name)throw new Pe(\"The target workspace doesn't have a name and thus cannot be unlinked\");o.add(P.stringifyIdent(f.locator))}}else{let u=[...s.manifest.resolutions.map(({pattern:g})=>g.descriptor.fullName)];for(let g of(0,tae.default)(u,l))o.add(g)}}return s.manifest.resolutions=s.manifest.resolutions.filter(({pattern:l})=>!o.has(l.descriptor.fullName)),(await Je.start({configuration:e,stdout:this.context.stdout},async l=>{await t.install({cache:n,report:l})})).exitCode()}};Sm.paths=[[\"unlink\"]],Sm.usage=Re.Usage({description:\"disconnect the local project from another one\",details:`\n      This command will remove any resolutions in the project-level manifest that would have been added via a yarn link with similar arguments.\n    `,examples:[[\"Unregister a remote workspace in the current project\",\"$0 unlink ~/ts-loader\"],[\"Unregister all workspaces from a remote project in the current project\",\"$0 unlink ~/jest --all\"],[\"Unregister all previously linked workspaces\",\"$0 unlink --all\"],[\"Unregister all workspaces matching a glob\",\"$0 unlink '@babel/*' 'pkg-{a,b}'\"]]});var rae=Sm;var iae=ge(zC()),DN=ge(ns());ws();var rh=class extends Le{constructor(){super(...arguments);this.interactive=J.Boolean(\"-i,--interactive\",{description:\"Offer various choices, depending on the detected upgrade paths\"});this.exact=J.Boolean(\"-E,--exact\",!1,{description:\"Don't use any semver modifier on the resolved range\"});this.tilde=J.Boolean(\"-T,--tilde\",!1,{description:\"Use the `~` semver modifier on the resolved range\"});this.caret=J.Boolean(\"-C,--caret\",!1,{description:\"Use the `^` semver modifier on the resolved range\"});this.recursive=J.Boolean(\"-R,--recursive\",!1,{description:\"Resolve again ALL resolutions for those packages\"});this.mode=J.String(\"--mode\",{description:\"Change what artifacts installs generate\",validator:nn(Ci)});this.patterns=J.Rest()}async execute(){return this.recursive?await this.executeUpRecursive():await this.executeUpClassic()}async executeUpRecursive(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:t,workspace:i}=await ze.find(e,this.context.cwd),n=await Nt.find(e);if(!i)throw new ht(t.cwd,this.context.cwd);await t.restoreInstallState({restoreResolutions:!1});let s=[...t.storedDescriptors.values()],o=s.map(u=>P.stringifyIdent(u)),a=new Set;for(let u of this.patterns){if(P.parseDescriptor(u).range!==\"unknown\")throw new Pe(\"Ranges aren't allowed when using --recursive\");for(let g of(0,DN.default)(o,u)){let f=P.parseIdent(g);a.add(f.identHash)}}let l=s.filter(u=>a.has(u.identHash));for(let u of l)t.storedDescriptors.delete(u.descriptorHash),t.storedResolutions.delete(u.descriptorHash);return(await Je.start({configuration:e,stdout:this.context.stdout},async u=>{await t.install({cache:n,report:u})})).exitCode()}async executeUpClassic(){var m;let e=await ye.find(this.context.cwd,this.context.plugins),{project:t,workspace:i}=await ze.find(e,this.context.cwd),n=await Nt.find(e);if(!i)throw new ht(t.cwd,this.context.cwd);await t.restoreInstallState({restoreResolutions:!1});let s=(m=this.interactive)!=null?m:e.get(\"preferInteractive\"),o=_C(this,t),a=s?[Vr.KEEP,Vr.REUSE,Vr.PROJECT,Vr.LATEST]:[Vr.PROJECT,Vr.LATEST],l=[],c=[];for(let y of this.patterns){let b=!1,v=P.parseDescriptor(y);for(let k of t.workspaces)for(let T of[Hr.REGULAR,Hr.DEVELOPMENT]){let q=[...k.manifest.getForScope(T).values()].map($=>P.stringifyIdent($));for(let $ of(0,DN.default)(q,P.stringifyIdent(v))){let z=P.parseIdent($),ne=k.manifest[T].get(z.identHash);if(typeof ne==\"undefined\")throw new Error(\"Assertion failed: Expected the descriptor to be registered\");let ee=P.makeDescriptor(z,v.range);l.push(Promise.resolve().then(async()=>[k,T,ne,await VC(ee,{project:t,workspace:k,cache:n,target:T,modifier:o,strategies:a})])),b=!0}}b||c.push(y)}if(c.length>1)throw new Pe(`Patterns ${ae.prettyList(e,c,Ri.CODE)} don't match any packages referenced by any workspace`);if(c.length>0)throw new Pe(`Pattern ${ae.prettyList(e,c,Ri.CODE)} doesn't match any packages referenced by any workspace`);let u=await Promise.all(l),g=await dA.start({configuration:e,stdout:this.context.stdout,suggestInstall:!1},async y=>{for(let[,,b,{suggestions:v,rejections:k}]of u){let T=v.filter(Y=>Y.descriptor!==null);if(T.length===0){let[Y]=k;if(typeof Y==\"undefined\")throw new Error(\"Assertion failed: Expected an error to have been set\");let q=this.cli.error(Y);t.configuration.get(\"enableNetwork\")?y.reportError(X.CANT_SUGGEST_RESOLUTIONS,`${P.prettyDescriptor(e,b)} can't be resolved to a satisfying range\n\n${q}`):y.reportError(X.CANT_SUGGEST_RESOLUTIONS,`${P.prettyDescriptor(e,b)} can't be resolved to a satisfying range (note: network resolution has been disabled)\n\n${q}`)}else T.length>1&&!s&&y.reportError(X.CANT_SUGGEST_RESOLUTIONS,`${P.prettyDescriptor(e,b)} has multiple possible upgrade strategies; use -i to disambiguate manually`)}});if(g.hasErrors())return g.exitCode();let f=!1,h=[];for(let[y,b,,{suggestions:v}]of u){let k,T=v.filter(z=>z.descriptor!==null),Y=T[0].descriptor,q=T.every(z=>P.areDescriptorsEqual(z.descriptor,Y));T.length===1||q?k=Y:(f=!0,{answer:k}=await(0,iae.prompt)({type:\"select\",name:\"answer\",message:`Which range to you want to use in ${P.prettyWorkspace(e,y)} \\u276F ${b}?`,choices:v.map(({descriptor:z,name:ne,reason:ee})=>z?{name:ne,hint:ee,descriptor:z}:{name:ne,hint:ee,disabled:!0}),onCancel:()=>process.exit(130),result(z){return this.find(z,\"descriptor\")},stdin:this.context.stdin,stdout:this.context.stdout}));let $=y.manifest[b].get(k.identHash);if(typeof $==\"undefined\")throw new Error(\"Assertion failed: This descriptor should have a matching entry\");if($.descriptorHash!==k.descriptorHash)y.manifest[b].set(k.identHash,k),h.push([y,b,$,k]);else{let z=e.makeResolver(),ne={project:t,resolver:z},ee=z.bindDescriptor($,y.anchoredLocator,ne);t.forgetResolution(ee)}}return await e.triggerMultipleHooks(y=>y.afterWorkspaceDependencyReplacement,h),f&&this.context.stdout.write(`\n`),(await Je.start({configuration:e,stdout:this.context.stdout},async y=>{await t.install({cache:n,report:y,mode:this.mode})})).exitCode()}};rh.paths=[[\"up\"]],rh.usage=Re.Usage({description:\"upgrade dependencies across the project\",details:\"\\n      This command upgrades the packages matching the list of specified patterns to their latest available version across the whole project (regardless of whether they're part of `dependencies` or `devDependencies` - `peerDependencies` won't be affected). This is a project-wide command: all workspaces will be upgraded in the process.\\n\\n      If `-R,--recursive` is set the command will change behavior and no other switch will be allowed. When operating under this mode `yarn up` will force all ranges matching the selected packages to be resolved again (often to the highest available versions) before being stored in the lockfile. It however won't touch your manifests anymore, so depending on your needs you might want to run both `yarn up` and `yarn up -R` to cover all bases.\\n\\n      If `-i,--interactive` is set (or if the `preferInteractive` settings is toggled on) the command will offer various choices, depending on the detected upgrade paths. Some upgrades require this flag in order to resolve ambiguities.\\n\\n      The, `-C,--caret`, `-E,--exact` and  `-T,--tilde` options have the same meaning as in the `add` command (they change the modifier used when the range is missing or a tag, and are ignored when the range is explicitly set).\\n\\n      If the `--mode=<mode>` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\\n\\n      - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the later will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\\n\\n      - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\\n\\n      Generally you can see `yarn up` as a counterpart to what was `yarn upgrade --latest` in Yarn 1 (ie it ignores the ranges previously listed in your manifests), but unlike `yarn upgrade` which only upgraded dependencies in the current workspace, `yarn up` will upgrade all workspaces at the same time.\\n\\n      This command accepts glob patterns as arguments (if valid Descriptors and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\\n\\n      **Note:** The ranges have to be static, only the package scopes and names can contain glob patterns.\\n    \",examples:[[\"Upgrade all instances of lodash to the latest release\",\"$0 up lodash\"],[\"Upgrade all instances of lodash to the latest release, but ask confirmation for each\",\"$0 up lodash -i\"],[\"Upgrade all instances of lodash to 1.2.3\",\"$0 up lodash@1.2.3\"],[\"Upgrade all instances of packages with the `@babel` scope to the latest release\",\"$0 up '@babel/*'\"],[\"Upgrade all instances of packages containing the word `jest` to the latest release\",\"$0 up '*jest*'\"],[\"Upgrade all instances of packages with the `@babel` scope to 7.0.0\",\"$0 up '@babel/*@7.0.0'\"]]}),rh.schema=[tS(\"recursive\",bc.Forbids,[\"interactive\",\"exact\",\"tilde\",\"caret\"],{ignore:[void 0,!1]})];var nae=rh;var vm=class extends Le{constructor(){super(...arguments);this.recursive=J.Boolean(\"-R,--recursive\",!1,{description:\"List, for each workspace, what are all the paths that lead to the dependency\"});this.json=J.Boolean(\"--json\",!1,{description:\"Format the output as an NDJSON stream\"});this.peers=J.Boolean(\"--peers\",!1,{description:\"Also print the peer dependencies that match the specified name\"});this.package=J.String()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:t,workspace:i}=await ze.find(e,this.context.cwd);if(!i)throw new ht(t.cwd,this.context.cwd);await t.restoreInstallState();let n=P.parseIdent(this.package).identHash,s=this.recursive?ZWe(t,n,{configuration:e,peers:this.peers}):XWe(t,n,{configuration:e,peers:this.peers});ls.emitTree(s,{configuration:e,stdout:this.context.stdout,json:this.json,separators:1})}};vm.paths=[[\"why\"]],vm.usage=Re.Usage({description:\"display the reason why a package is needed\",details:`\n      This command prints the exact reasons why a package appears in the dependency tree.\n\n      If \\`-R,--recursive\\` is set, the listing will go in depth and will list, for each workspaces, what are all the paths that lead to the dependency. Note that the display is somewhat optimized in that it will not print the package listing twice for a single package, so if you see a leaf named \"Foo\" when looking for \"Bar\", it means that \"Foo\" already got printed higher in the tree.\n    `,examples:[[\"Explain why lodash is used in your project\",\"$0 why lodash\"]]});var sae=vm;function XWe(r,e,{configuration:t,peers:i}){let n=Se.sortMap(r.storedPackages.values(),a=>P.stringifyLocator(a)),s={},o={children:s};for(let a of n){let l={},c=null;for(let u of a.dependencies.values()){if(!i&&a.peerDependencies.has(u.identHash))continue;let g=r.storedResolutions.get(u.descriptorHash);if(!g)throw new Error(\"Assertion failed: The resolution should have been registered\");let f=r.storedPackages.get(g);if(!f)throw new Error(\"Assertion failed: The package should have been registered\");if(f.identHash!==e)continue;if(c===null){let p=P.stringifyLocator(a);s[p]={value:[a,ae.Type.LOCATOR],children:l}}let h=P.stringifyLocator(f);l[h]={value:[{descriptor:u,locator:f},ae.Type.DEPENDENT]}}}return o}function ZWe(r,e,{configuration:t,peers:i}){let n=Se.sortMap(r.workspaces,f=>P.stringifyLocator(f.anchoredLocator)),s=new Set,o=new Set,a=f=>{if(s.has(f.locatorHash))return o.has(f.locatorHash);if(s.add(f.locatorHash),f.identHash===e)return o.add(f.locatorHash),!0;let h=!1;f.identHash===e&&(h=!0);for(let p of f.dependencies.values()){if(!i&&f.peerDependencies.has(p.identHash))continue;let m=r.storedResolutions.get(p.descriptorHash);if(!m)throw new Error(\"Assertion failed: The resolution should have been registered\");let y=r.storedPackages.get(m);if(!y)throw new Error(\"Assertion failed: The package should have been registered\");a(y)&&(h=!0)}return h&&o.add(f.locatorHash),h};for(let f of n){let h=r.storedPackages.get(f.anchoredLocator.locatorHash);if(!h)throw new Error(\"Assertion failed: The package should have been registered\");a(h)}let l=new Set,c={},u={children:c},g=(f,h,p)=>{if(!o.has(f.locatorHash))return;let m=p!==null?ae.tuple(ae.Type.DEPENDENT,{locator:f,descriptor:p}):ae.tuple(ae.Type.LOCATOR,f),y={},b={value:m,children:y},v=P.stringifyLocator(f);if(h[v]=b,!l.has(f.locatorHash)&&(l.add(f.locatorHash),!(p!==null&&r.tryWorkspaceByLocator(f))))for(let k of f.dependencies.values()){if(!i&&f.peerDependencies.has(k.identHash))continue;let T=r.storedResolutions.get(k.descriptorHash);if(!T)throw new Error(\"Assertion failed: The resolution should have been registered\");let Y=r.storedPackages.get(T);if(!Y)throw new Error(\"Assertion failed: The package should have been registered\");g(Y,y,k)}};for(let f of n){let h=r.storedPackages.get(f.anchoredLocator.locatorHash);if(!h)throw new Error(\"Assertion failed: The package should have been registered\");g(h,c,null)}return u}var GN={};ft(GN,{default:()=>E3e,gitUtils:()=>Su});var Su={};ft(Su,{TreeishProtocols:()=>Mn,clone:()=>KN,fetchBase:()=>Sae,fetchChangedFiles:()=>vae,fetchChangedWorkspaces:()=>C3e,fetchRoot:()=>Qae,isGitUrl:()=>nh,lsRemote:()=>bae,normalizeLocator:()=>ON,normalizeRepoUrl:()=>km,resolveUrl:()=>UN,splitRepoUrl:()=>xm});var LN=ge(Iae()),yae=ge($w()),ih=ge(require(\"querystring\")),TN=ge(ri()),wae=ge(require(\"url\"));function Bae(){return te(N({},process.env),{GIT_SSH_COMMAND:process.env.GIT_SSH_COMMAND||`${process.env.GIT_SSH||\"ssh\"} -o BatchMode=yes`})}var d3e=[/^ssh:/,/^git(?:\\+[^:]+)?:/,/^(?:git\\+)?https?:[^#]+\\/[^#]+(?:\\.git)(?:#.*)?$/,/^git@[^#]+\\/[^#]+\\.git(?:#.*)?$/,/^(?:github:|https:\\/\\/github\\.com\\/)?(?!\\.{1,2}\\/)([a-zA-Z._0-9-]+)\\/(?!\\.{1,2}(?:#|$))([a-zA-Z._0-9-]+?)(?:\\.git)?(?:#.*)?$/,/^https:\\/\\/github\\.com\\/(?!\\.{1,2}\\/)([a-zA-Z0-9._-]+)\\/(?!\\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\\/tarball\\/(.+)?$/],Mn;(function(n){n.Commit=\"commit\",n.Head=\"head\",n.Tag=\"tag\",n.Semver=\"semver\"})(Mn||(Mn={}));function nh(r){return r?d3e.some(e=>!!r.match(e)):!1}function xm(r){r=km(r);let e=r.indexOf(\"#\");if(e===-1)return{repo:r,treeish:{protocol:Mn.Head,request:\"HEAD\"},extra:{}};let t=r.slice(0,e),i=r.slice(e+1);if(i.match(/^[a-z]+=/)){let n=ih.default.parse(i);for(let[l,c]of Object.entries(n))if(typeof c!=\"string\")throw new Error(`Assertion failed: The ${l} parameter must be a literal string`);let s=Object.values(Mn).find(l=>Object.prototype.hasOwnProperty.call(n,l)),o,a;typeof s!=\"undefined\"?(o=s,a=n[s]):(o=Mn.Head,a=\"HEAD\");for(let l of Object.values(Mn))delete n[l];return{repo:t,treeish:{protocol:o,request:a},extra:n}}else{let n=i.indexOf(\":\"),s,o;return n===-1?(s=null,o=i):(s=i.slice(0,n),o=i.slice(n+1)),{repo:t,treeish:{protocol:s,request:o},extra:{}}}}function km(r,{git:e=!1}={}){var t;if(r=r.replace(/^git\\+https:/,\"https:\"),r=r.replace(/^(?:github:|https:\\/\\/github\\.com\\/)?(?!\\.{1,2}\\/)([a-zA-Z0-9._-]+)\\/(?!\\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)(?:\\.git)?(#.*)?$/,\"https://github.com/$1/$2.git$3\"),r=r.replace(/^https:\\/\\/github\\.com\\/(?!\\.{1,2}\\/)([a-zA-Z0-9._-]+)\\/(?!\\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\\/tarball\\/(.+)?$/,\"https://github.com/$1/$2.git#$3\"),e){r=r.replace(/^git\\+([^:]+):/,\"$1:\");let i;try{i=wae.default.parse(r)}catch{i=null}i&&i.protocol===\"ssh:\"&&((t=i.path)==null?void 0:t.startsWith(\"/:\"))&&(r=r.replace(/^ssh:\\/\\//,\"\"))}return r}function ON(r){return P.makeLocator(r,km(r.reference))}async function bae(r,e){let t=km(r,{git:!0});if(!ir.getNetworkSettings(`https://${(0,LN.default)(t).resource}`,{configuration:e}).enableNetwork)throw new Error(`Request to '${t}' has been blocked because of your configuration settings`);let n=await MN(\"listing refs\",[\"ls-remote\",t],{cwd:e.startingCwd,env:Bae()},{configuration:e,normalizedRepoUrl:t}),s=new Map,o=/^([a-f0-9]{40})\\t([^\\n]+)/gm,a;for(;(a=o.exec(n.stdout))!==null;)s.set(a[2],a[1]);return s}async function UN(r,e){let{repo:t,treeish:{protocol:i,request:n},extra:s}=xm(r),o=await bae(t,e),a=(c,u)=>{switch(c){case Mn.Commit:{if(!u.match(/^[a-f0-9]{40}$/))throw new Error(\"Invalid commit hash\");return ih.default.stringify(te(N({},s),{commit:u}))}case Mn.Head:{let g=o.get(u===\"HEAD\"?u:`refs/heads/${u}`);if(typeof g==\"undefined\")throw new Error(`Unknown head (\"${u}\")`);return ih.default.stringify(te(N({},s),{commit:g}))}case Mn.Tag:{let g=o.get(`refs/tags/${u}`);if(typeof g==\"undefined\")throw new Error(`Unknown tag (\"${u}\")`);return ih.default.stringify(te(N({},s),{commit:g}))}case Mn.Semver:{let g=Wt.validRange(u);if(!g)throw new Error(`Invalid range (\"${u}\")`);let f=new Map([...o.entries()].filter(([p])=>p.startsWith(\"refs/tags/\")).map(([p,m])=>[TN.default.parse(p.slice(10)),m]).filter(p=>p[0]!==null)),h=TN.default.maxSatisfying([...f.keys()],g);if(h===null)throw new Error(`No matching range (\"${u}\")`);return ih.default.stringify(te(N({},s),{commit:f.get(h)}))}case null:{let g;if((g=l(Mn.Commit,u))!==null||(g=l(Mn.Tag,u))!==null||(g=l(Mn.Head,u))!==null)return g;throw u.match(/^[a-f0-9]+$/)?new Error(`Couldn't resolve \"${u}\" as either a commit, a tag, or a head - if a commit, use the 40-characters commit hash`):new Error(`Couldn't resolve \"${u}\" as either a commit, a tag, or a head`)}default:throw new Error(`Invalid Git resolution protocol (\"${c}\")`)}},l=(c,u)=>{try{return a(c,u)}catch(g){return null}};return`${t}#${a(i,n)}`}async function KN(r,e){return await e.getLimit(\"cloneConcurrency\")(async()=>{let{repo:t,treeish:{protocol:i,request:n}}=xm(r);if(i!==\"commit\")throw new Error(\"Invalid treeish protocol when cloning\");let s=km(t,{git:!0});if(ir.getNetworkSettings(`https://${(0,LN.default)(s).resource}`,{configuration:e}).enableNetwork===!1)throw new Error(`Request to '${s}' has been blocked because of your configuration settings`);let o=await U.mktempPromise(),a={cwd:o,env:Bae()};return await MN(\"cloning the repository\",[\"clone\",\"-c core.autocrlf=false\",s,H.fromPortablePath(o)],a,{configuration:e,normalizedRepoUrl:s}),await MN(\"switching branch\",[\"checkout\",`${n}`],a,{configuration:e,normalizedRepoUrl:s}),o})}async function Qae(r){let e=null,t,i=r;do t=i,await U.existsPromise(x.join(t,\".git\"))&&(e=t),i=x.dirname(t);while(e===null&&i!==t);return e}async function Sae(r,{baseRefs:e}){if(e.length===0)throw new Pe(\"Can't run this command with zero base refs specified.\");let t=[];for(let a of e){let{code:l}=await Nr.execvp(\"git\",[\"merge-base\",a,\"HEAD\"],{cwd:r});l===0&&t.push(a)}if(t.length===0)throw new Pe(`No ancestor could be found between any of HEAD and ${e.join(\", \")}`);let{stdout:i}=await Nr.execvp(\"git\",[\"merge-base\",\"HEAD\",...t],{cwd:r,strict:!0}),n=i.trim(),{stdout:s}=await Nr.execvp(\"git\",[\"show\",\"--quiet\",\"--pretty=format:%s\",n],{cwd:r,strict:!0}),o=s.trim();return{hash:n,title:o}}async function vae(r,{base:e,project:t}){let i=Se.buildIgnorePattern(t.configuration.get(\"changesetIgnorePatterns\")),{stdout:n}=await Nr.execvp(\"git\",[\"diff\",\"--name-only\",`${e}`],{cwd:r,strict:!0}),s=n.split(/\\r\\n|\\r|\\n/).filter(c=>c.length>0).map(c=>x.resolve(r,H.toPortablePath(c))),{stdout:o}=await Nr.execvp(\"git\",[\"ls-files\",\"--others\",\"--exclude-standard\"],{cwd:r,strict:!0}),a=o.split(/\\r\\n|\\r|\\n/).filter(c=>c.length>0).map(c=>x.resolve(r,H.toPortablePath(c))),l=[...new Set([...s,...a].sort())];return i?l.filter(c=>!x.relative(t.cwd,c).match(i)):l}async function C3e({ref:r,project:e}){if(e.configuration.projectCwd===null)throw new Pe(\"This command can only be run from within a Yarn project\");let t=[x.resolve(e.cwd,e.configuration.get(\"cacheFolder\")),x.resolve(e.cwd,e.configuration.get(\"installStatePath\")),x.resolve(e.cwd,e.configuration.get(\"lockfileFilename\")),x.resolve(e.cwd,e.configuration.get(\"virtualFolder\"))];await e.configuration.triggerHook(o=>o.populateYarnPaths,e,o=>{o!=null&&t.push(o)});let i=await Qae(e.configuration.projectCwd);if(i==null)throw new Pe(\"This command can only be run on Git repositories\");let n=await Sae(i,{baseRefs:typeof r==\"string\"?[r]:e.configuration.get(\"changesetBaseRefs\")}),s=await vae(i,{base:n.hash,project:e});return new Set(Se.mapAndFilter(s,o=>{let a=e.tryWorkspaceByFilePath(o);return a===null?Se.mapAndFilter.skip:t.some(l=>o.startsWith(l))?Se.mapAndFilter.skip:a}))}async function MN(r,e,t,{configuration:i,normalizedRepoUrl:n}){try{return await Nr.execvp(\"git\",e,te(N({},t),{strict:!0}))}catch(s){if(!(s instanceof Nr.ExecError))throw s;let o=s.reportExtra,a=s.stderr.toString();throw new ct(X.EXCEPTION,`Failed ${r}`,l=>{l.reportError(X.EXCEPTION,`  ${ae.prettyField(i,{label:\"Repository URL\",value:ae.tuple(ae.Type.URL,n)})}`);for(let c of a.matchAll(/^(.+?): (.*)$/gm)){let[,u,g]=c;u=u.toLowerCase();let f=u===\"error\"?\"Error\":`${(0,yae.default)(u)} Error`;l.reportError(X.EXCEPTION,`  ${ae.prettyField(i,{label:f,value:ae.tuple(ae.Type.NO_HINT,g)})}`)}o==null||o(l)})}}var HN=class{supports(e,t){return nh(e.reference)}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,n=ON(e),s=new Map(t.checksums);s.set(n.locatorHash,i);let o=te(N({},t),{checksums:s}),a=await this.downloadHosted(n,o);if(a!==null)return a;let[l,c,u]=await t.cache.fetchPackageFromCache(e,i,N({onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the remote repository`),loader:()=>this.cloneFromRemote(n,o),skipIntegrityCheck:t.skipIntegrityCheck},t.cacheOptions));return{packageFs:l,releaseFs:c,prefixPath:P.getIdentVendorPath(e),checksum:u}}async downloadHosted(e,t){return t.project.configuration.reduceHook(i=>i.fetchHostedRepository,null,e,t)}async cloneFromRemote(e,t){let i=await KN(e.reference,t.project.configuration),n=xm(e.reference),s=x.join(i,\"package.tgz\");await Zt.prepareExternalProject(i,s,{configuration:t.project.configuration,report:t.report,workspace:n.extra.workspace,locator:e});let o=await U.readFilePromise(s);return await Se.releaseAfterUseAsync(async()=>await Bi.convertToZip(o,{compressionLevel:t.project.configuration.get(\"compressionLevel\"),prefixPath:P.getIdentVendorPath(e),stripComponents:1}))}};var jN=class{supportsDescriptor(e,t){return nh(e.range)}supportsLocator(e,t){return nh(e.reference)}shouldPersistResolution(e,t){return!0}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){let n=await UN(e.range,i.project.configuration);return[P.makeLocator(e,n)]}async getSatisfying(e,t,i){return null}async resolve(e,t){if(!t.fetchOptions)throw new Error(\"Assertion failed: This resolver cannot be used unless a fetcher is configured\");let i=await t.fetchOptions.fetcher.fetch(e,t.fetchOptions),n=await Se.releaseAfterUseAsync(async()=>await At.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return te(N({},e),{version:n.version||\"0.0.0\",languageName:n.languageName||t.project.configuration.get(\"defaultLanguageName\"),linkType:Qt.HARD,conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var m3e={configuration:{changesetBaseRefs:{description:\"The base git refs that the current HEAD is compared against when detecting changes. Supports git branches, tags, and commits.\",type:Ie.STRING,isArray:!0,isNullable:!1,default:[\"master\",\"origin/master\",\"upstream/master\",\"main\",\"origin/main\",\"upstream/main\"]},changesetIgnorePatterns:{description:\"Array of glob patterns; files matching them will be ignored when fetching the changed files\",type:Ie.STRING,default:[],isArray:!0},cloneConcurrency:{description:\"Maximal number of concurrent clones\",type:Ie.NUMBER,default:2}},fetchers:[HN],resolvers:[jN]};var E3e=m3e;var Pm=class extends Le{constructor(){super(...arguments);this.since=J.String(\"--since\",{description:\"Only include workspaces that have been changed since the specified ref.\",tolerateBoolean:!0});this.recursive=J.Boolean(\"-R,--recursive\",!1,{description:\"Find packages via dependencies/devDependencies instead of using the workspaces field\"});this.verbose=J.Boolean(\"-v,--verbose\",!1,{description:\"Also return the cross-dependencies between workspaces\"});this.json=J.Boolean(\"--json\",!1,{description:\"Format the output as an NDJSON stream\"})}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:t}=await ze.find(e,this.context.cwd);return(await Je.start({configuration:e,json:this.json,stdout:this.context.stdout},async n=>{let s=this.since?await Su.fetchChangedWorkspaces({ref:this.since,project:t}):t.workspaces,o=new Set(s);if(this.recursive)for(let a of[...s].map(l=>l.getRecursiveWorkspaceDependents()))for(let l of a)o.add(l);for(let a of o){let{manifest:l}=a,c;if(this.verbose){let u=new Set,g=new Set;for(let f of At.hardDependencies)for(let[h,p]of l.getForScope(f)){let m=t.tryWorkspaceByDescriptor(p);m===null?t.workspacesByIdent.has(h)&&g.add(p):u.add(m)}c={workspaceDependencies:Array.from(u).map(f=>f.relativeCwd),mismatchedWorkspaceDependencies:Array.from(g).map(f=>P.stringifyDescriptor(f))}}n.reportInfo(null,`${a.relativeCwd}`),n.reportJson(N({location:a.relativeCwd,name:l.name?P.stringifyIdent(l.name):null},c))}})).exitCode()}};Pm.paths=[[\"workspaces\",\"list\"]],Pm.usage=Re.Usage({category:\"Workspace-related commands\",description:\"list all available workspaces\",details:\"\\n      This command will print the list of all workspaces in the project.\\n\\n      - If `--since` is set, Yarn will only list workspaces that have been modified since the specified ref. By default Yarn will use the refs specified by the `changesetBaseRefs` configuration option.\\n\\n      - If `-R,--recursive` is set, Yarn will find workspaces to run the command on by recursively evaluating `dependencies` and `devDependencies` fields, instead of looking at the `workspaces` fields.\\n\\n      - If both the `-v,--verbose` and `--json` options are set, Yarn will also return the cross-dependencies between each workspaces (useful when you wish to automatically generate Buck / Bazel rules).\\n    \"});var kae=Pm;var Dm=class extends Le{constructor(){super(...arguments);this.workspaceName=J.String();this.commandName=J.String();this.args=J.Proxy()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:t,workspace:i}=await ze.find(e,this.context.cwd);if(!i)throw new ht(t.cwd,this.context.cwd);let n=t.workspaces,s=new Map(n.map(a=>{let l=P.convertToIdent(a.locator);return[P.stringifyIdent(l),a]})),o=s.get(this.workspaceName);if(o===void 0){let a=Array.from(s.keys()).sort();throw new Pe(`Workspace '${this.workspaceName}' not found. Did you mean any of the following:\n  - ${a.join(`\n  - `)}?`)}return this.cli.run([this.commandName,...this.args],{cwd:o.cwd})}};Dm.paths=[[\"workspace\"]],Dm.usage=Re.Usage({category:\"Workspace-related commands\",description:\"run a command within the specified workspace\",details:`\n      This command will run a given sub-command on a single workspace.\n    `,examples:[[\"Add a package to a single workspace\",\"yarn workspace components add -D react\"],[\"Run build script on a single workspace\",\"yarn workspace components run build\"]]});var xae=Dm;var I3e={configuration:{enableImmutableInstalls:{description:\"If true (the default on CI), prevents the install command from modifying the lockfile\",type:Ie.BOOLEAN,default:Pae.isCI},defaultSemverRangePrefix:{description:\"The default save prefix: '^', '~' or ''\",type:Ie.STRING,values:[\"^\",\"~\",\"\"],default:da.CARET}},commands:[Kne,jne,ioe,poe,eae,Koe,koe,kae,yoe,woe,Boe,boe,Mne,Une,doe,moe,Qoe,Soe,Poe,Roe,Foe,Loe,rae,Toe,Joe,Yoe,Woe,Ooe,zoe,_oe,Voe,Zoe,$oe,nae,sae,xae]},y3e=I3e;var _N={};ft(_N,{default:()=>B3e});var He={optional:!0},qN=[[\"@tailwindcss/aspect-ratio@<0.2.1\",{peerDependencies:{tailwindcss:\"^2.0.2\"}}],[\"@tailwindcss/line-clamp@<0.2.1\",{peerDependencies:{tailwindcss:\"^2.0.2\"}}],[\"@fullhuman/postcss-purgecss@3.1.3 || 3.1.3-alpha.0\",{peerDependencies:{postcss:\"^8.0.0\"}}],[\"@samverschueren/stream-to-observable@<0.3.1\",{peerDependenciesMeta:{rxjs:He,zenObservable:He}}],[\"any-observable@<0.5.1\",{peerDependenciesMeta:{rxjs:He,zenObservable:He}}],[\"@pm2/agent@<1.0.4\",{dependencies:{debug:\"*\"}}],[\"debug@<4.2.0\",{peerDependenciesMeta:{[\"supports-color\"]:He}}],[\"got@<11\",{dependencies:{[\"@types/responselike\"]:\"^1.0.0\",[\"@types/keyv\"]:\"^3.1.1\"}}],[\"cacheable-lookup@<4.1.2\",{dependencies:{[\"@types/keyv\"]:\"^3.1.1\"}}],[\"http-link-dataloader@*\",{peerDependencies:{graphql:\"^0.13.1 || ^14.0.0\"}}],[\"typescript-language-server@*\",{dependencies:{[\"vscode-jsonrpc\"]:\"^5.0.1\",[\"vscode-languageserver-protocol\"]:\"^3.15.0\"}}],[\"postcss-syntax@*\",{peerDependenciesMeta:{[\"postcss-html\"]:He,[\"postcss-jsx\"]:He,[\"postcss-less\"]:He,[\"postcss-markdown\"]:He,[\"postcss-scss\"]:He}}],[\"jss-plugin-rule-value-function@<=10.1.1\",{dependencies:{[\"tiny-warning\"]:\"^1.0.2\"}}],[\"ink-select-input@<4.1.0\",{peerDependencies:{react:\"^16.8.2\"}}],[\"license-webpack-plugin@<2.3.18\",{peerDependenciesMeta:{webpack:He}}],[\"snowpack@>=3.3.0\",{dependencies:{[\"node-gyp\"]:\"^7.1.0\"}}],[\"promise-inflight@*\",{peerDependenciesMeta:{bluebird:He}}],[\"reactcss@*\",{peerDependencies:{react:\"*\"}}],[\"react-color@<=2.19.0\",{peerDependencies:{react:\"*\"}}],[\"gatsby-plugin-i18n@*\",{dependencies:{ramda:\"^0.24.1\"}}],[\"useragent@^2.0.0\",{dependencies:{request:\"^2.88.0\",yamlparser:\"0.0.x\",semver:\"5.5.x\"}}],[\"@apollographql/apollo-tools@<=0.5.2\",{peerDependencies:{graphql:\"^14.2.1 || ^15.0.0\"}}],[\"material-table@^2.0.0\",{dependencies:{\"@babel/runtime\":\"^7.11.2\"}}],[\"@babel/parser@*\",{dependencies:{\"@babel/types\":\"^7.8.3\"}}],[\"fork-ts-checker-webpack-plugin@<=6.3.4\",{peerDependencies:{eslint:\">= 6\",typescript:\">= 2.7\",webpack:\">= 4\",\"vue-template-compiler\":\"*\"},peerDependenciesMeta:{eslint:He,\"vue-template-compiler\":He}}],[\"rc-animate@<=3.1.1\",{peerDependencies:{react:\">=16.9.0\",\"react-dom\":\">=16.9.0\"}}],[\"react-bootstrap-table2-paginator@*\",{dependencies:{classnames:\"^2.2.6\"}}],[\"react-draggable@<=4.4.3\",{peerDependencies:{react:\">= 16.3.0\",\"react-dom\":\">= 16.3.0\"}}],[\"apollo-upload-client@<14\",{peerDependencies:{graphql:\"14 - 15\"}}],[\"react-instantsearch-core@<=6.7.0\",{peerDependencies:{algoliasearch:\">= 3.1 < 5\"}}],[\"react-instantsearch-dom@<=6.7.0\",{dependencies:{\"react-fast-compare\":\"^3.0.0\"}}],[\"ws@<7.2.1\",{peerDependencies:{bufferutil:\"^4.0.1\",\"utf-8-validate\":\"^5.0.2\"},peerDependenciesMeta:{bufferutil:He,\"utf-8-validate\":He}}],[\"react-portal@*\",{peerDependencies:{\"react-dom\":\"^15.0.0-0 || ^16.0.0-0 || ^17.0.0-0\"}}],[\"react-scripts@<=4.0.1\",{peerDependencies:{react:\"*\"}}],[\"testcafe@<=1.10.1\",{dependencies:{\"@babel/plugin-transform-for-of\":\"^7.12.1\",\"@babel/runtime\":\"^7.12.5\"}}],[\"testcafe-legacy-api@<=4.2.0\",{dependencies:{\"testcafe-hammerhead\":\"^17.0.1\",\"read-file-relative\":\"^1.2.0\"}}],[\"@google-cloud/firestore@<=4.9.3\",{dependencies:{protobufjs:\"^6.8.6\"}}],[\"gatsby-source-apiserver@*\",{dependencies:{[\"babel-polyfill\"]:\"^6.26.0\"}}],[\"@webpack-cli/package-utils@<=1.0.1-alpha.4\",{dependencies:{[\"cross-spawn\"]:\"^7.0.3\"}}],[\"gatsby-remark-prismjs@<3.3.28\",{dependencies:{lodash:\"^4\"}}],[\"gatsby-plugin-favicon@*\",{peerDependencies:{webpack:\"*\"}}],[\"gatsby-plugin-sharp@<=4.6.0-next.3\",{dependencies:{debug:\"^4.3.1\"}}],[\"gatsby-react-router-scroll@<=5.6.0-next.0\",{dependencies:{[\"prop-types\"]:\"^15.7.2\"}}],[\"@rebass/forms@*\",{dependencies:{[\"@styled-system/should-forward-prop\"]:\"^5.0.0\"},peerDependencies:{react:\"^16.8.6\"}}],[\"rebass@*\",{peerDependencies:{react:\"^16.8.6\"}}],[\"@ant-design/react-slick@<=0.28.3\",{peerDependencies:{react:\">=16.0.0\"}}],[\"mqtt@<4.2.7\",{dependencies:{duplexify:\"^4.1.1\"}}],[\"vue-cli-plugin-vuetify@<=2.0.3\",{dependencies:{semver:\"^6.3.0\"},peerDependenciesMeta:{\"sass-loader\":He,\"vuetify-loader\":He}}],[\"vue-cli-plugin-vuetify@<=2.0.4\",{dependencies:{\"null-loader\":\"^3.0.0\"}}],[\"vue-cli-plugin-vuetify@>=2.4.3\",{peerDependencies:{vue:\"*\"}}],[\"@vuetify/cli-plugin-utils@<=0.0.4\",{dependencies:{semver:\"^6.3.0\"},peerDependenciesMeta:{\"sass-loader\":He}}],[\"@vue/cli-plugin-typescript@<=5.0.0-alpha.0\",{dependencies:{\"babel-loader\":\"^8.1.0\"}}],[\"@vue/cli-plugin-typescript@<=5.0.0-beta.0\",{dependencies:{\"@babel/core\":\"^7.12.16\"},peerDependencies:{\"vue-template-compiler\":\"^2.0.0\"},peerDependenciesMeta:{\"vue-template-compiler\":He}}],[\"cordova-ios@<=6.3.0\",{dependencies:{underscore:\"^1.9.2\"}}],[\"cordova-lib@<=10.0.1\",{dependencies:{underscore:\"^1.9.2\"}}],[\"git-node-fs@*\",{peerDependencies:{\"js-git\":\"^0.7.8\"},peerDependenciesMeta:{\"js-git\":He}}],[\"consolidate@<0.16.0\",{peerDependencies:{mustache:\"^3.0.0\"},peerDependenciesMeta:{mustache:He}}],[\"consolidate@*\",{peerDependencies:{velocityjs:\"^2.0.1\",tinyliquid:\"^0.2.34\",\"liquid-node\":\"^3.0.1\",jade:\"^1.11.0\",\"then-jade\":\"*\",dust:\"^0.3.0\",\"dustjs-helpers\":\"^1.7.4\",\"dustjs-linkedin\":\"^2.7.5\",swig:\"^1.4.2\",\"swig-templates\":\"^2.0.3\",\"razor-tmpl\":\"^1.3.1\",atpl:\">=0.7.6\",liquor:\"^0.0.5\",twig:\"^1.15.2\",ejs:\"^3.1.5\",eco:\"^1.1.0-rc-3\",jazz:\"^0.0.18\",jqtpl:\"~1.1.0\",hamljs:\"^0.6.2\",hamlet:\"^0.3.3\",whiskers:\"^0.4.0\",\"haml-coffee\":\"^1.14.1\",\"hogan.js\":\"^3.0.2\",templayed:\">=0.2.3\",handlebars:\"^4.7.6\",underscore:\"^1.11.0\",lodash:\"^4.17.20\",pug:\"^3.0.0\",\"then-pug\":\"*\",qejs:\"^3.0.5\",walrus:\"^0.10.1\",mustache:\"^4.0.1\",just:\"^0.1.8\",ect:\"^0.5.9\",mote:\"^0.2.0\",toffee:\"^0.3.6\",dot:\"^1.1.3\",\"bracket-template\":\"^1.1.5\",ractive:\"^1.3.12\",nunjucks:\"^3.2.2\",htmling:\"^0.0.8\",\"babel-core\":\"^6.26.3\",plates:\"~0.4.11\",\"react-dom\":\"^16.13.1\",react:\"^16.13.1\",\"arc-templates\":\"^0.5.3\",vash:\"^0.13.0\",slm:\"^2.0.0\",marko:\"^3.14.4\",teacup:\"^2.0.0\",\"coffee-script\":\"^1.12.7\",squirrelly:\"^5.1.0\",twing:\"^5.0.2\"},peerDependenciesMeta:{velocityjs:He,tinyliquid:He,\"liquid-node\":He,jade:He,\"then-jade\":He,dust:He,\"dustjs-helpers\":He,\"dustjs-linkedin\":He,swig:He,\"swig-templates\":He,\"razor-tmpl\":He,atpl:He,liquor:He,twig:He,ejs:He,eco:He,jazz:He,jqtpl:He,hamljs:He,hamlet:He,whiskers:He,\"haml-coffee\":He,\"hogan.js\":He,templayed:He,handlebars:He,underscore:He,lodash:He,pug:He,\"then-pug\":He,qejs:He,walrus:He,mustache:He,just:He,ect:He,mote:He,toffee:He,dot:He,\"bracket-template\":He,ractive:He,nunjucks:He,htmling:He,\"babel-core\":He,plates:He,\"react-dom\":He,react:He,\"arc-templates\":He,vash:He,slm:He,marko:He,teacup:He,\"coffee-script\":He,squirrelly:He,twing:He}}],[\"vue-loader@<=16.3.3\",{peerDependencies:{\"@vue/compiler-sfc\":\"^3.0.8\",webpack:\"^4.1.0 || ^5.0.0-0\"},peerDependenciesMeta:{\"@vue/compiler-sfc\":He}}],[\"vue-loader@^16.7.0\",{peerDependencies:{\"@vue/compiler-sfc\":\"^3.0.8\",vue:\"^3.2.13\"},peerDependenciesMeta:{\"@vue/compiler-sfc\":He,vue:He}}],[\"scss-parser@*\",{dependencies:{lodash:\"^4.17.21\"}}],[\"query-ast@*\",{dependencies:{lodash:\"^4.17.21\"}}],[\"redux-thunk@<=2.3.0\",{peerDependencies:{redux:\"^4.0.0\"}}],[\"skypack@<=0.3.2\",{dependencies:{tar:\"^6.1.0\"}}],[\"@npmcli/metavuln-calculator@<2.0.0\",{dependencies:{\"json-parse-even-better-errors\":\"^2.3.1\"}}],[\"bin-links@<2.3.0\",{dependencies:{\"mkdirp-infer-owner\":\"^1.0.2\"}}],[\"rollup-plugin-polyfill-node@<=0.8.0\",{peerDependencies:{rollup:\"^1.20.0 || ^2.0.0\"}}],[\"snowpack@<3.8.6\",{dependencies:{\"magic-string\":\"^0.25.7\"}}],[\"elm-webpack-loader@*\",{dependencies:{temp:\"^0.9.4\"}}],[\"winston-transport@<=4.4.0\",{dependencies:{logform:\"^2.2.0\"}}],[\"jest-vue-preprocessor@*\",{dependencies:{\"@babel/core\":\"7.8.7\",\"@babel/template\":\"7.8.6\"},peerDependencies:{pug:\"^2.0.4\"},peerDependenciesMeta:{pug:He}}],[\"redux-persist@*\",{peerDependencies:{react:\">=16\"},peerDependenciesMeta:{react:He}}],[\"sodium@>=3\",{dependencies:{\"node-gyp\":\"^3.8.0\"}}],[\"babel-plugin-graphql-tag@<=3.1.0\",{peerDependencies:{graphql:\"^14.0.0 || ^15.0.0\"}}],[\"@playwright/test@<=1.14.1\",{dependencies:{\"jest-matcher-utils\":\"^26.4.2\"}}],...[\"babel-plugin-remove-graphql-queries@<3.14.0-next.1\",\"babel-preset-gatsby-package@<1.14.0-next.1\",\"create-gatsby@<1.14.0-next.1\",\"gatsby-admin@<0.24.0-next.1\",\"gatsby-cli@<3.14.0-next.1\",\"gatsby-core-utils@<2.14.0-next.1\",\"gatsby-design-tokens@<3.14.0-next.1\",\"gatsby-legacy-polyfills@<1.14.0-next.1\",\"gatsby-plugin-benchmark-reporting@<1.14.0-next.1\",\"gatsby-plugin-graphql-config@<0.23.0-next.1\",\"gatsby-plugin-image@<1.14.0-next.1\",\"gatsby-plugin-mdx@<2.14.0-next.1\",\"gatsby-plugin-netlify-cms@<5.14.0-next.1\",\"gatsby-plugin-no-sourcemaps@<3.14.0-next.1\",\"gatsby-plugin-page-creator@<3.14.0-next.1\",\"gatsby-plugin-preact@<5.14.0-next.1\",\"gatsby-plugin-preload-fonts@<2.14.0-next.1\",\"gatsby-plugin-schema-snapshot@<2.14.0-next.1\",\"gatsby-plugin-styletron@<6.14.0-next.1\",\"gatsby-plugin-subfont@<3.14.0-next.1\",\"gatsby-plugin-utils@<1.14.0-next.1\",\"gatsby-recipes@<0.25.0-next.1\",\"gatsby-source-shopify@<5.6.0-next.1\",\"gatsby-source-wikipedia@<3.14.0-next.1\",\"gatsby-transformer-screenshot@<3.14.0-next.1\",\"gatsby-worker@<0.5.0-next.1\"].map(r=>[r,{dependencies:{\"@babel/runtime\":\"^7.14.8\"}}]),[\"gatsby-core-utils@<2.14.0-next.1\",{dependencies:{got:\"8.3.2\"}}],[\"gatsby-plugin-gatsby-cloud@<=3.1.0-next.0\",{dependencies:{\"gatsby-core-utils\":\"^2.13.0-next.0\"}}],[\"gatsby-plugin-gatsby-cloud@<=3.2.0-next.1\",{peerDependencies:{webpack:\"*\"}}],[\"babel-plugin-remove-graphql-queries@<=3.14.0-next.1\",{dependencies:{\"gatsby-core-utils\":\"^2.8.0-next.1\"}}],[\"gatsby-plugin-netlify@3.13.0-next.1\",{dependencies:{\"gatsby-core-utils\":\"^2.13.0-next.0\"}}],[\"clipanion-v3-codemod@<=0.2.0\",{peerDependencies:{jscodeshift:\"^0.11.0\"}}],[\"react-live@*\",{peerDependencies:{\"react-dom\":\"*\",react:\"*\"}}],[\"webpack@<4.44.1\",{peerDependenciesMeta:{\"webpack-cli\":He,\"webpack-command\":He}}],[\"webpack@<5.0.0-beta.23\",{peerDependenciesMeta:{\"webpack-cli\":He}}],[\"webpack-dev-server@<3.10.2\",{peerDependenciesMeta:{\"webpack-cli\":He}}],[\"@docusaurus/responsive-loader@<1.5.0\",{peerDependenciesMeta:{sharp:He,jimp:He}}],[\"eslint-module-utils@*\",{peerDependenciesMeta:{\"eslint-import-resolver-node\":He,\"eslint-import-resolver-typescript\":He,\"eslint-import-resolver-webpack\":He,\"@typescript-eslint/parser\":He}}],[\"eslint-plugin-import@*\",{peerDependenciesMeta:{\"@typescript-eslint/parser\":He}}],[\"critters-webpack-plugin@<3.0.2\",{peerDependenciesMeta:{\"html-webpack-plugin\":He}}],[\"terser@<=5.10.0\",{dependencies:{acorn:\"^8.5.0\"}}],[\"babel-preset-react-app@10.0.x\",{dependencies:{\"@babel/plugin-proposal-private-property-in-object\":\"^7.16.0\"}}],[\"eslint-config-react-app@*\",{peerDependenciesMeta:{typescript:He}}],[\"@vue/eslint-config-typescript@<11.0.0\",{peerDependenciesMeta:{typescript:He}}],[\"unplugin-vue2-script-setup@<0.9.1\",{peerDependencies:{\"@vue/composition-api\":\"^1.4.3\",\"@vue/runtime-dom\":\"^3.2.26\"}}],[\"@cypress/snapshot@*\",{dependencies:{debug:\"^3.2.7\"}}],[\"auto-relay@*\",{peerDependencies:{\"reflect-metadata\":\"^0.1.13\"}}],[\"vue-template-babel-compiler@<1.2.0\",{peerDependencies:{[\"vue-template-compiler\"]:\"^2.6.0\"}}],[\"@parcel/transformer-image@<2.5.0\",{peerDependencies:{[\"@parcel/core\"]:\"*\"}}],[\"@parcel/transformer-js@<2.5.0\",{peerDependencies:{[\"@parcel/core\"]:\"*\"}}],[\"parcel@*\",{peerDependenciesMeta:{[\"@parcel/core\"]:He}}],[\"react-scripts@*\",{peerDependencies:{eslint:\"*\"}}],[\"focus-trap-react@^8.0.0\",{dependencies:{tabbable:\"^5.3.2\"}}],[\"react-rnd@<10.3.7\",{peerDependencies:{react:\">=16.3.0\",\"react-dom\":\">=16.3.0\"}}],[\"connect-mongo@*\",{peerDependencies:{\"express-session\":\"^1.17.1\"}}],[\"vue-i18n@<9\",{peerDependencies:{vue:\"^2\"}}],[\"vue-router@<4\",{peerDependencies:{vue:\"^2\"}}],[\"unified@<10\",{dependencies:{\"@types/unist\":\"^2.0.0\"}}],[\"react-github-btn@<=1.3.0\",{peerDependencies:{react:\">=16.3.0\"}}],[\"react-dev-utils@*\",{peerDependencies:{typescript:\">=2.7\",webpack:\">=4\"},peerDependenciesMeta:{typescript:He}}],[\"@asyncapi/react-component@<=1.0.0-next.39\",{peerDependencies:{react:\">=16.8.0\",\"react-dom\":\">=16.8.0\"}}],[\"xo@*\",{peerDependencies:{webpack:\">=1.11.0\"},peerDependenciesMeta:{webpack:He}}],[\"babel-plugin-remove-graphql-queries@<=4.20.0-next.0\",{dependencies:{\"@babel/types\":\"^7.15.4\"}}],[\"gatsby-plugin-page-creator@<=4.20.0-next.1\",{dependencies:{\"fs-extra\":\"^10.1.0\"}}],[\"gatsby-plugin-utils@<=3.14.0-next.1\",{dependencies:{fastq:\"^1.13.0\"},peerDependencies:{graphql:\"^15.0.0\"}}],[\"gatsby-plugin-mdx@<3.1.0-next.1\",{dependencies:{mkdirp:\"^1.0.4\"}}],[\"gatsby-plugin-mdx@^2\",{peerDependencies:{gatsby:\"^3.0.0-next\"}}]];var JN;function Dae(){return typeof JN==\"undefined\"&&(JN=require(\"zlib\").brotliDecompressSync(Buffer.from(\"G7weAByFTVk3Vs7UfHhq4yykgEM7pbW7TI43SG2S5tvGrwHBAzdz+s/npQ6tgEvobvxisrPIadkXeUAJotBn5bDZ5kAhcRqsIHe3F75Walet5hNalwgFDtxb0BiDUjiUQkjG0yW2hto9HPgiCkm316d6bC0kST72YN7D7rfkhCE9x4J0XwB0yavalxpUu2t9xszHrmtwalOxT7VslsxWcB1qpqZwERUra4psWhTV8BgwWeizurec82Caf1ABL11YMfbf8FJ9JBceZOkgmvrQPbC9DUldX/yMbmX06UQluCEjSwUoyO+EZPIjofr+/oAZUck2enraRD+oWLlnlYnj8xB+gwSo9lmmks4fXv574qSqcWA6z21uYkzMu3EWj+K23RxeQlLqiE35/rC8GcS4CGkKHKKq+zAIQwD9iRDNfiAqueLLpicFFrNsAI4zeTD/eO9MHcnRa5m8UT+M2+V+AkFST4BlKneiAQRSdST8KEAIyFlULt6wa9EBd0Ds28VmpaxquJdVt+nwdEs5xUskI13OVtFyY0UrQIRAlCuvvWivvlSKQfTO+2Q8OyUR1W5RvetaPz4jD27hdtwHFFA1Ptx6Ee/t2cY2rg2G46M1pNDRf2pWhvpy8pqMnuI3++4OF3+7OFIWXGjh+o7Nr2jNvbiYcQdQS1h903/jVFgOpA0yJ78z+x759bFA0rq+6aY5qPB4FzS3oYoLupDUhD9nDz6F6H7hpnlMf18KNKDu4IKjTWwrAnY6MFQw1W6ymOALHlFyCZmQhldg1MQHaMVVQTVgDC60TfaBqG++Y8PEoFhN/PBTZT175KNP/BlHDYGOOBmnBdzqJKplZ/ljiVG0ZBzfqeBRrrUkn6rA54462SgiliKoYVnbeptMdXNfAuaupIEi0bApF10TlgHfmEJAPUVidRVFyDupSem5po5vErPqWKhKbUIp0LozpYsIKK57dM/HKr+nguF+7924IIWMICkQ8JUigs9D+W+c4LnNoRtPPKNRUiCYmP+Jfo2lfKCKw8qpraEeWU3uiNRO6zcyKQoXPR5htmzzLznke7b4YbXW3I1lIRzmgG02Udb58U+7TpwyN7XymCgH+wuPDthZVQvRZuEP+SnLtMicz9m5zASWOBiAcLmkuFlTKuHspSIhCBD0yUPKcxu81A+4YD78rA2vtwsUEday9WNyrShyrl60rWmA+SmbYZkQOwFJWArxRYYc5jGhA5ikxYw1rx3ei4NmeX/lKiwpZ9Ln1tV2Ae7sArvxuVLbJjqJRjW1vFXAyHpvLG+8MJ6T2Ubx5M2KDa2SN6vuIGxJ9WQM9Mk3Q7aCNiZONXllhqq24DmoLbQfW2rYWsOgHWjtOmIQMyMKdiHZDjoyIq5+U700nZ6odJAoYXPQBvFNiQ78d5jaXliBqLTJEqUCwi+LiH2mx92EmNKDsJL74Z613+3lf20pxkV1+erOrjj8pW00vsPaahKUM+05ssd5uwM7K482KWEf3TCwlg/o3e5ngto7qSMz7YteIgCsF1UOcsLk7F7MxWbvrPMY473ew0G+noVL8EPbkmEMftMSeL6HFub/zy+2JQ==\",\"base64\")).toString()),JN}var WN;function Rae(){return typeof WN==\"undefined\"&&(WN=require(\"zlib\").brotliDecompressSync(Buffer.from(\"G8MSIIzURnVBnObTcvb3XE6v2S9Qgc2K801Oa5otNKEtK8BINZNcaQHy+9/vf/WXBimwutXC33P2DPc64pps5rz7NGGWaOKNSPL4Y2KRE8twut2lFOIN+OXPtRmPMRhMTILib2bEQx43az2I5d3YS8Roa5UZpF/ujHb3Djd3GDvYUfvFYSUQ39vb2cmifp/rgB4J/65JK3wRBTvMBoNBmn3mbXC63/gbBkW/2IRPri0O8bcsRBsmarF328pAln04nyJFkwUAvNu934supAqLtyerZZpJ8I8suJHhf/ocMV+scKwa8NOiDKIPXw6Ex/EEZD6TEGaW8N5zvNHYF10l6Lfooj7D5W2k3dgvQSbp2Wv8TGOayS978gxlOLVjTGXs66ozewbrjwElLtyrYNnWTfzzdEutgROUFPVMhnMoy8EjJLLlWwIEoySxliim9kYW30JUHiPVyjt0iAw/ZpPmCbUCltYPnq6ZNblIKhTNhqS/oqC9iya5sGKZTOVsTEg34n92uZTf2iPpcZih8rPW8CzA+adIGmyCPcKdLMsBLShd+zuEbTrqpwuh+DLmracZcjPC5Sdf5odDAhKpFuOsQS67RT+1VgWWygSv3YwxDnylc04/PYuaMeIzhBkLrvs7e/OUzRTF56MmfY6rI63QtEjEQzq637zQqJ39nNhu3NmoRRhW/086bHGBUtx0PE0j3aEGvkdh9WJC8y8j8mqqke9/dQ5la+Q3ba4RlhvTbnfQhPDDab3tUifkjKuOsp13mXEmO00Mu88F/M67R7LXfoFDFLNtgCSWjWX+3Jn1371pJTK9xPBiMJafvDjtFyAzu8rxeQ0TKMQXNPs5xxiBOd+BRJP8KP88XPtJIbZKh/cdW8KvBUkpqKpGoiIaA32c3/JnQr4efXt85mXvidOvn/eU3Pase1typLYBalJ14mCso9h79nuMOuCa/kZAOkJHmTjP5RM2WNoPasZUAnT1TAE/NH25hUxcQv6hQWR/m1PKk4ooXMcM4SR1iYU3fUohvqk4RY2hbmTVVIXv6TvqO+0doOjgeVFAcom+RlwJQmOVH7pr1Q9LoJT6n1DeQEB+NHygsATbIwTcOKZlJsY8G4+suX1uQLjUWwLjjs0mvSvZcLTpIGAekeR7GCgl8eo3ndAqEe2XCav4huliHjdbIPBsGJuPX7lrO9HX1UbXRH5opOe1x6JsOSgHZR+EaxuXVhpLLxm6jk1LJtZfHSc6BKPun3CpYYVMJGwEUyk8MTGG0XL5MfEwaXpnc9TKnBmlGn6nHiGREc3ysn47XIBDzA+YvFdjZzVIEDcKGpS6PbUJehFRjEne8D0lVU1XuRtlgszq6pTNlQ/3MzNOEgCWPyTct22V2mEi2krizn5VDo9B19/X2DB3hCGRMM7ONbtnAcIx/OWB1u5uPbW1gsH8irXxT/IzG0PoXWYjhbMsH3KTuoOl5o17PulcgvsfTSnKFM354GWI8luqZnrswWjiXy3G+Vbyo1KMopFmmvBwNELgaS8z8dNZchx/Cl/xjddxhMcyqtzFyONb2Zdu90NkI8pAeufe7YlXrp53v8Dj/l8vWeVspRKBGXScBBPI/HinSTGmLDOGGOCIyH0JFdOZx0gWsacNlQLJMIrBhqRxXxHF/5pseWwejlAAvZ3klZSDSYY8mkToaWejXhgNomeGtx1DTLEUFMRkgF5yFB22WYdJnaWN14r1YJj81hGi45+jrADS5nYRhCiSlCJJ1nL8pYX+HDSMhdTEWyRcgHVp/IsUIZYMfT+YYncUQPgcxNGCHfZ88vDdrcUuaGIl6zhAsiaq7R5dfqrqXH/JcBhfjT8D0azayIyEz75Nxp6YkcyDxlJq3EXnJUpqDohJJOysL1t1uNiHESlvsxPb5cpbW0+ICZqJmUZus1BMW0F5IVBODLIo2zHHjA0=\",\"base64\")).toString()),WN}var zN;function Fae(){return typeof zN==\"undefined\"&&(zN=require(\"zlib\").brotliDecompressSync(Buffer.from(\"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\",\"base64\")).toString()),zN}var Nae=new Map([[P.makeIdent(null,\"fsevents\").identHash,Dae],[P.makeIdent(null,\"resolve\").identHash,Rae],[P.makeIdent(null,\"typescript\").identHash,Fae]]),w3e={hooks:{registerPackageExtensions:async(r,e)=>{for(let[t,i]of qN)e(P.parseDescriptor(t,!0),i)},getBuiltinPatch:async(r,e)=>{var s;let t=\"compat/\";if(!e.startsWith(t))return;let i=P.parseIdent(e.slice(t.length)),n=(s=Nae.get(i.identHash))==null?void 0:s();return typeof n!=\"undefined\"?n:null},reduceDependency:async(r,e,t,i)=>typeof Nae.get(r.identHash)==\"undefined\"?r:P.makeDescriptor(r,P.makeRange({protocol:\"patch:\",source:P.stringifyDescriptor(r),selector:`~builtin<compat/${P.stringifyIdent(r)}>`,params:null}))}},B3e=w3e;var VN={};ft(VN,{default:()=>Q3e});var Z0=class extends Le{constructor(){super(...arguments);this.pkg=J.String(\"-p,--package\",{description:\"The package to run the provided command from\"});this.quiet=J.Boolean(\"-q,--quiet\",!1,{description:\"Only report critical errors instead of printing the full install logs\"});this.command=J.String();this.args=J.Proxy()}async execute(){let e=[];this.pkg&&e.push(\"--package\",this.pkg),this.quiet&&e.push(\"--quiet\");let t=P.parseDescriptor(this.command),i;t.scope?i=P.makeIdent(t.scope,`create-${t.name}`):t.name.startsWith(\"@\")?i=P.makeIdent(t.name.substring(1),\"create\"):i=P.makeIdent(null,`create-${t.name}`);let n=P.stringifyIdent(i);return t.range!==\"unknown\"&&(n+=`@${t.range}`),this.cli.run([\"dlx\",...e,n,...this.args])}};Z0.paths=[[\"create\"]];var Lae=Z0;var Rm=class extends Le{constructor(){super(...arguments);this.packages=J.Array(\"-p,--package\",{description:\"The package(s) to install before running the command\"});this.quiet=J.Boolean(\"-q,--quiet\",!1,{description:\"Only report critical errors instead of printing the full install logs\"});this.command=J.String();this.args=J.Proxy()}async execute(){return ye.telemetry=null,await U.mktempPromise(async e=>{var p;let t=x.join(e,`dlx-${process.pid}`);await U.mkdirPromise(t),await U.writeFilePromise(x.join(t,\"package.json\"),`{}\n`),await U.writeFilePromise(x.join(t,\"yarn.lock\"),\"\");let i=x.join(t,\".yarnrc.yml\"),n=await ye.findProjectCwd(this.context.cwd,xt.lockfile),s=!(await ye.find(this.context.cwd,null,{strict:!1})).get(\"enableGlobalCache\"),o=n!==null?x.join(n,\".yarnrc.yml\"):null;o!==null&&U.existsSync(o)?(await U.copyFilePromise(o,i),await ye.updateConfiguration(t,m=>{let y=te(N({},m),{enableGlobalCache:s,enableTelemetry:!1});return Array.isArray(m.plugins)&&(y.plugins=m.plugins.map(b=>{let v=typeof b==\"string\"?b:b.path,k=H.isAbsolute(v)?v:H.resolve(H.fromPortablePath(n),v);return typeof b==\"string\"?k:{path:k,spec:b.spec}})),y})):await U.writeFilePromise(i,`enableGlobalCache: ${s}\nenableTelemetry: false\n`);let a=(p=this.packages)!=null?p:[this.command],l=P.parseDescriptor(this.command).name,c=await this.cli.run([\"add\",\"--\",...a],{cwd:t,quiet:this.quiet});if(c!==0)return c;this.quiet||this.context.stdout.write(`\n`);let u=await ye.find(t,this.context.plugins),{project:g,workspace:f}=await ze.find(u,t);if(f===null)throw new ht(g.cwd,t);await g.restoreInstallState();let h=await Zt.getWorkspaceAccessibleBinaries(f);return h.has(l)===!1&&h.size===1&&typeof this.packages==\"undefined\"&&(l=Array.from(h)[0][0]),await Zt.executeWorkspaceAccessibleBinary(f,l,this.args,{packageAccessibleBinaries:h,cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})})}};Rm.paths=[[\"dlx\"]],Rm.usage=Re.Usage({description:\"run a package in a temporary environment\",details:\"\\n      This command will install a package within a temporary environment, and run its binary script if it contains any. The binary will run within the current cwd.\\n\\n      By default Yarn will download the package named `command`, but this can be changed through the use of the `-p,--package` flag which will instruct Yarn to still run the same command but from a different package.\\n\\n      Using `yarn dlx` as a replacement of `yarn add` isn't recommended, as it makes your project non-deterministic (Yarn doesn't keep track of the packages installed through `dlx` - neither their name, nor their version).\\n    \",examples:[[\"Use create-react-app to create a new React app\",\"yarn dlx create-react-app ./my-app\"],[\"Install multiple packages for a single command\",`yarn dlx -p typescript -p ts-node ts-node --transpile-only -e \"console.log('hello!')\"`]]});var Tae=Rm;var b3e={commands:[Lae,Tae]},Q3e=b3e;var sL={};ft(sL,{default:()=>k3e,fileUtils:()=>XN});var sh=/^(?:[a-zA-Z]:[\\\\/]|\\.{0,2}\\/)/,Fm=/^[^?]*\\.(?:tar\\.gz|tgz)(?:::.*)?$/,Xr=\"file:\";var XN={};ft(XN,{makeArchiveFromLocator:()=>$0,makeBufferFromLocator:()=>eL,makeLocator:()=>$N,makeSpec:()=>Oae,parseSpec:()=>ZN});function ZN(r){let{params:e,selector:t}=P.parseRange(r),i=H.toPortablePath(t);return{parentLocator:e&&typeof e.locator==\"string\"?P.parseLocator(e.locator):null,path:i}}function Oae({parentLocator:r,path:e,folderHash:t,protocol:i}){let n=r!==null?{locator:P.stringifyLocator(r)}:{},s=typeof t!=\"undefined\"?{hash:t}:{};return P.makeRange({protocol:i,source:e,selector:e,params:N(N({},s),n)})}function $N(r,{parentLocator:e,path:t,folderHash:i,protocol:n}){return P.makeLocator(r,Oae({parentLocator:e,path:t,folderHash:i,protocol:n}))}async function $0(r,{protocol:e,fetchOptions:t,inMemory:i=!1}){let{parentLocator:n,path:s}=P.parseFileStyleRange(r.reference,{protocol:e}),o=x.isAbsolute(s)?{packageFs:new _t(Me.root),prefixPath:Me.dot,localPath:Me.root}:await t.fetcher.fetch(n,t),a=o.localPath?{packageFs:new _t(Me.root),prefixPath:x.relative(Me.root,o.localPath)}:o;o!==a&&o.releaseFs&&o.releaseFs();let l=a.packageFs,c=x.join(a.prefixPath,s);return await Se.releaseAfterUseAsync(async()=>await Bi.makeArchiveFromDirectory(c,{baseFs:l,prefixPath:P.getIdentVendorPath(r),compressionLevel:t.project.configuration.get(\"compressionLevel\"),inMemory:i}),a.releaseFs)}async function eL(r,{protocol:e,fetchOptions:t}){return(await $0(r,{protocol:e,fetchOptions:t,inMemory:!0})).getBufferAndClose()}var tL=class{supports(e,t){return!!e.reference.startsWith(Xr)}getLocalPath(e,t){let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:Xr});if(x.isAbsolute(n))return n;let s=t.fetcher.getLocalPath(i,t);return s===null?null:x.resolve(s,n)}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,N({onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,t),skipIntegrityCheck:t.skipIntegrityCheck},t.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),localPath:this.getLocalPath(e,t),checksum:o}}async fetchFromDisk(e,t){return $0(e,{protocol:Xr,fetchOptions:t})}};var S3e=2,rL=class{supportsDescriptor(e,t){return e.range.match(sh)?!0:!!e.range.startsWith(Xr)}supportsLocator(e,t){return!!e.reference.startsWith(Xr)}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,i){return sh.test(e.range)&&(e=P.makeDescriptor(e,`${Xr}${e.range}`)),P.bindDescriptor(e,{locator:P.stringifyLocator(t)})}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){if(!i.fetchOptions)throw new Error(\"Assertion failed: This resolver cannot be used unless a fetcher is configured\");let{path:n,parentLocator:s}=ZN(e.range);if(s===null)throw new Error(\"Assertion failed: The descriptor should have been bound\");let o=await eL(P.makeLocator(e,P.makeRange({protocol:Xr,source:n,selector:n,params:{locator:P.stringifyLocator(s)}})),{protocol:Xr,fetchOptions:i.fetchOptions}),a=Rn.makeHash(`${S3e}`,o).slice(0,6);return[$N(e,{parentLocator:s,path:n,folderHash:a,protocol:Xr})]}async getSatisfying(e,t,i){return null}async resolve(e,t){if(!t.fetchOptions)throw new Error(\"Assertion failed: This resolver cannot be used unless a fetcher is configured\");let i=await t.fetchOptions.fetcher.fetch(e,t.fetchOptions),n=await Se.releaseAfterUseAsync(async()=>await At.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return te(N({},e),{version:n.version||\"0.0.0\",languageName:n.languageName||t.project.configuration.get(\"defaultLanguageName\"),linkType:Qt.HARD,conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var iL=class{supports(e,t){return Fm.test(e.reference)?!!e.reference.startsWith(Xr):!1}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,N({onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,t),skipIntegrityCheck:t.skipIntegrityCheck},t.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromDisk(e,t){let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:Xr}),s=x.isAbsolute(n)?{packageFs:new _t(Me.root),prefixPath:Me.dot,localPath:Me.root}:await t.fetcher.fetch(i,t),o=s.localPath?{packageFs:new _t(Me.root),prefixPath:x.relative(Me.root,s.localPath)}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=x.join(o.prefixPath,n),c=await a.readFilePromise(l);return await Se.releaseAfterUseAsync(async()=>await Bi.convertToZip(c,{compressionLevel:t.project.configuration.get(\"compressionLevel\"),prefixPath:P.getIdentVendorPath(e),stripComponents:1}),o.releaseFs)}};var nL=class{supportsDescriptor(e,t){return Fm.test(e.range)?!!(e.range.startsWith(Xr)||sh.test(e.range)):!1}supportsLocator(e,t){return Fm.test(e.reference)?!!e.reference.startsWith(Xr):!1}shouldPersistResolution(e,t){return!0}bindDescriptor(e,t,i){return sh.test(e.range)&&(e=P.makeDescriptor(e,`${Xr}${e.range}`)),P.bindDescriptor(e,{locator:P.stringifyLocator(t)})}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){let n=e.range;return n.startsWith(Xr)&&(n=n.slice(Xr.length)),[P.makeLocator(e,`${Xr}${H.toPortablePath(n)}`)]}async getSatisfying(e,t,i){return null}async resolve(e,t){if(!t.fetchOptions)throw new Error(\"Assertion failed: This resolver cannot be used unless a fetcher is configured\");let i=await t.fetchOptions.fetcher.fetch(e,t.fetchOptions),n=await Se.releaseAfterUseAsync(async()=>await At.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return te(N({},e),{version:n.version||\"0.0.0\",languageName:n.languageName||t.project.configuration.get(\"defaultLanguageName\"),linkType:Qt.HARD,conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var v3e={fetchers:[iL,tL],resolvers:[nL,rL]},k3e=v3e;var aL={};ft(aL,{default:()=>D3e});var Mae=ge(require(\"querystring\")),Uae=[/^https?:\\/\\/(?:([^/]+?)@)?github.com\\/([^/#]+)\\/([^/#]+)\\/tarball\\/([^/#]+)(?:#(.*))?$/,/^https?:\\/\\/(?:([^/]+?)@)?github.com\\/([^/#]+)\\/([^/#]+?)(?:\\.git)?(?:#(.*))?$/];function Kae(r){return r?Uae.some(e=>!!r.match(e)):!1}function Hae(r){let e;for(let a of Uae)if(e=r.match(a),e)break;if(!e)throw new Error(x3e(r));let[,t,i,n,s=\"master\"]=e,{commit:o}=Mae.default.parse(s);return s=o||s.replace(/[^:]*:/,\"\"),{auth:t,username:i,reponame:n,treeish:s}}function x3e(r){return`Input cannot be parsed as a valid GitHub URL ('${r}').`}var oL=class{supports(e,t){return!!Kae(e.reference)}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,N({onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from GitHub`),loader:()=>this.fetchFromNetwork(e,t),skipIntegrityCheck:t.skipIntegrityCheck},t.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,t){let i=await ir.get(this.getLocatorUrl(e,t),{configuration:t.project.configuration});return await U.mktempPromise(async n=>{let s=new _t(n);await Bi.extractArchiveTo(i,s,{stripComponents:1});let o=Su.splitRepoUrl(e.reference),a=x.join(n,\"package.tgz\");await Zt.prepareExternalProject(n,a,{configuration:t.project.configuration,report:t.report,workspace:o.extra.workspace,locator:e});let l=await U.readFilePromise(a);return await Bi.convertToZip(l,{compressionLevel:t.project.configuration.get(\"compressionLevel\"),prefixPath:P.getIdentVendorPath(e),stripComponents:1})})}getLocatorUrl(e,t){let{auth:i,username:n,reponame:s,treeish:o}=Hae(e.reference);return`https://${i?`${i}@`:\"\"}github.com/${n}/${s}/archive/${o}.tar.gz`}};var P3e={hooks:{async fetchHostedRepository(r,e,t){if(r!==null)return r;let i=new oL;if(!i.supports(e,t))return null;try{return await i.fetch(e,t)}catch(n){return null}}}},D3e=P3e;var cL={};ft(cL,{default:()=>F3e});var Nm=/^[^?]*\\.(?:tar\\.gz|tgz)(?:\\?.*)?$/,Lm=/^https?:/;var AL=class{supports(e,t){return Nm.test(e.reference)?!!Lm.test(e.reference):!1}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,N({onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,t),skipIntegrityCheck:t.skipIntegrityCheck},t.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,t){let i=await ir.get(e.reference,{configuration:t.project.configuration});return await Bi.convertToZip(i,{compressionLevel:t.project.configuration.get(\"compressionLevel\"),prefixPath:P.getIdentVendorPath(e),stripComponents:1})}};var lL=class{supportsDescriptor(e,t){return Nm.test(e.range)?!!Lm.test(e.range):!1}supportsLocator(e,t){return Nm.test(e.reference)?!!Lm.test(e.reference):!1}shouldPersistResolution(e,t){return!0}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){return[P.convertDescriptorToLocator(e)]}async getSatisfying(e,t,i){return null}async resolve(e,t){if(!t.fetchOptions)throw new Error(\"Assertion failed: This resolver cannot be used unless a fetcher is configured\");let i=await t.fetchOptions.fetcher.fetch(e,t.fetchOptions),n=await Se.releaseAfterUseAsync(async()=>await At.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return te(N({},e),{version:n.version||\"0.0.0\",languageName:n.languageName||t.project.configuration.get(\"defaultLanguageName\"),linkType:Qt.HARD,conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var R3e={fetchers:[AL],resolvers:[lL]},F3e=R3e;var hL={};ft(hL,{default:()=>N4e});var hAe=ge(fAe()),fL=ge(require(\"util\")),Tm=class extends Le{constructor(){super(...arguments);this.private=J.Boolean(\"-p,--private\",!1,{description:\"Initialize a private package\"});this.workspace=J.Boolean(\"-w,--workspace\",!1,{description:\"Initialize a workspace root with a `packages/` directory\"});this.install=J.String(\"-i,--install\",!1,{tolerateBoolean:!0,description:\"Initialize a package with a specific bundle that will be locked in the project\"});this.usev2=J.Boolean(\"-2\",!1,{hidden:!0});this.yes=J.Boolean(\"-y,--yes\",{hidden:!0});this.assumeFreshProject=J.Boolean(\"--assume-fresh-project\",!1,{hidden:!0})}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),t=typeof this.install==\"string\"?this.install:this.usev2||this.install===!0?\"latest\":null;return t!==null?await this.executeProxy(e,t):await this.executeRegular(e)}async executeProxy(e,t){if(e.projectCwd!==null&&e.projectCwd!==this.context.cwd)throw new Pe(\"Cannot use the --install flag from within a project subdirectory\");U.existsSync(this.context.cwd)||await U.mkdirPromise(this.context.cwd,{recursive:!0});let i=x.join(this.context.cwd,e.get(\"lockfileFilename\"));U.existsSync(i)||await U.writeFilePromise(i,\"\");let n=await this.cli.run([\"set\",\"version\",t],{quiet:!0});if(n!==0)return n;let s=[];return this.private&&s.push(\"-p\"),this.workspace&&s.push(\"-w\"),this.yes&&s.push(\"-y\"),await U.mktempPromise(async o=>{let{code:a}=await Nr.pipevp(\"yarn\",[\"init\",...s],{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,env:await Zt.makeScriptEnv({binFolder:o})});return a})}async executeRegular(e){var l;let t=null;try{t=(await ze.find(e,this.context.cwd)).project}catch{t=null}U.existsSync(this.context.cwd)||await U.mkdirPromise(this.context.cwd,{recursive:!0});let i=await At.tryFind(this.context.cwd)||new At,n=Object.fromEntries(e.get(\"initFields\").entries());i.load(n),i.name=(l=i.name)!=null?l:P.makeIdent(e.get(\"initScope\"),x.basename(this.context.cwd)),i.packageManager=Kr&&Se.isTaggedYarnVersion(Kr)?`yarn@${Kr}`:null,typeof i.raw.private==\"undefined\"&&(this.private||this.workspace&&i.workspaceDefinitions.length===0)&&(i.private=!0),this.workspace&&i.workspaceDefinitions.length===0&&(await U.mkdirPromise(x.join(this.context.cwd,\"packages\"),{recursive:!0}),i.workspaceDefinitions=[{pattern:\"packages/*\"}]);let s={};i.exportTo(s),fL.inspect.styles.name=\"cyan\",this.context.stdout.write(`${(0,fL.inspect)(s,{depth:Infinity,colors:!0,compact:!1})}\n`);let o=x.join(this.context.cwd,At.fileName);await U.changeFilePromise(o,`${JSON.stringify(s,null,2)}\n`,{automaticNewlines:!0});let a=x.join(this.context.cwd,\"README.md\");if(U.existsSync(a)||await U.writeFilePromise(a,`# ${P.stringifyIdent(i.name)}\n`),!t||t.cwd===this.context.cwd){let c=x.join(this.context.cwd,xt.lockfile);U.existsSync(c)||await U.writeFilePromise(c,\"\");let g=[\".yarn/*\",\"!.yarn/patches\",\"!.yarn/plugins\",\"!.yarn/releases\",\"!.yarn/sdks\",\"!.yarn/versions\",\"\",\"# Swap the comments on the following lines if you don't wish to use zero-installs\",\"# Documentation here: https://yarnpkg.com/features/zero-installs\",\"!.yarn/cache\",\"#.pnp.*\"].map(y=>`${y}\n`).join(\"\"),f=x.join(this.context.cwd,\".gitignore\");U.existsSync(f)||await U.writeFilePromise(f,g);let h={[\"*\"]:{endOfLine:\"lf\",insertFinalNewline:!0},[\"*.{js,json,yml}\"]:{charset:\"utf-8\",indentStyle:\"space\",indentSize:2}};(0,hAe.default)(h,e.get(\"initEditorConfig\"));let p=`root = true\n`;for(let[y,b]of Object.entries(h)){p+=`\n[${y}]\n`;for(let[v,k]of Object.entries(b))p+=`${v.replace(/[A-Z]/g,Y=>`_${Y.toLowerCase()}`)} = ${k}\n`}let m=x.join(this.context.cwd,\".editorconfig\");U.existsSync(m)||await U.writeFilePromise(m,p),U.existsSync(x.join(this.context.cwd,\".git\"))||await Nr.execvp(\"git\",[\"init\"],{cwd:this.context.cwd})}}};Tm.paths=[[\"init\"]],Tm.usage=Re.Usage({description:\"create a new package\",details:\"\\n      This command will setup a new package in your local directory.\\n\\n      If the `-p,--private` or `-w,--workspace` options are set, the package will be private by default.\\n\\n      If the `-w,--workspace` option is set, the package will be configured to accept a set of workspaces in the `packages/` directory.\\n\\n      If the `-i,--install` option is given a value, Yarn will first download it using `yarn set version` and only then forward the init call to the newly downloaded bundle. Without arguments, the downloaded bundle will be `latest`.\\n\\n      The initial settings of the manifest can be changed by using the `initScope` and `initFields` configuration values. Additionally, Yarn will generate an EditorConfig file whose rules can be altered via `initEditorConfig`, and will initialize a Git repository in the current directory.\\n    \",examples:[[\"Create a new package in the local directory\",\"yarn init\"],[\"Create a new private package in the local directory\",\"yarn init -p\"],[\"Create a new package and store the Yarn release inside\",\"yarn init -i=latest\"],[\"Create a new private package and defines it as a workspace root\",\"yarn init -w\"]]});var pAe=Tm;var F4e={configuration:{initScope:{description:\"Scope used when creating packages via the init command\",type:Ie.STRING,default:null},initFields:{description:\"Additional fields to set when creating packages via the init command\",type:Ie.MAP,valueDefinition:{description:\"\",type:Ie.ANY}},initEditorConfig:{description:\"Extra rules to define in the generator editorconfig\",type:Ie.MAP,valueDefinition:{description:\"\",type:Ie.ANY}}},commands:[pAe]},N4e=F4e;var EL={};ft(EL,{default:()=>T4e});var BA=\"portal:\",bA=\"link:\";var pL=class{supports(e,t){return!!e.reference.startsWith(BA)}getLocalPath(e,t){let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:BA});if(x.isAbsolute(n))return n;let s=t.fetcher.getLocalPath(i,t);return s===null?null:x.resolve(s,n)}async fetch(e,t){var c;let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:BA}),s=x.isAbsolute(n)?{packageFs:new _t(Me.root),prefixPath:Me.dot,localPath:Me.root}:await t.fetcher.fetch(i,t),o=s.localPath?{packageFs:new _t(Me.root),prefixPath:x.relative(Me.root,s.localPath),localPath:Me.root}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=x.resolve((c=o.localPath)!=null?c:o.packageFs.getRealPath(),o.prefixPath,n);return s.localPath?{packageFs:new _t(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Me.dot,localPath:l}:{packageFs:new Ta(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Me.dot}}};var dL=class{supportsDescriptor(e,t){return!!e.range.startsWith(BA)}supportsLocator(e,t){return!!e.reference.startsWith(BA)}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,i){return P.bindDescriptor(e,{locator:P.stringifyLocator(t)})}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){let n=e.range.slice(BA.length);return[P.makeLocator(e,`${BA}${H.toPortablePath(n)}`)]}async getSatisfying(e,t,i){return null}async resolve(e,t){if(!t.fetchOptions)throw new Error(\"Assertion failed: This resolver cannot be used unless a fetcher is configured\");let i=await t.fetchOptions.fetcher.fetch(e,t.fetchOptions),n=await Se.releaseAfterUseAsync(async()=>await At.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return te(N({},e),{version:n.version||\"0.0.0\",languageName:n.languageName||t.project.configuration.get(\"defaultLanguageName\"),linkType:Qt.SOFT,conditions:n.getConditions(),dependencies:new Map([...n.dependencies]),peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var CL=class{supports(e,t){return!!e.reference.startsWith(bA)}getLocalPath(e,t){let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:bA});if(x.isAbsolute(n))return n;let s=t.fetcher.getLocalPath(i,t);return s===null?null:x.resolve(s,n)}async fetch(e,t){var c;let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:bA}),s=x.isAbsolute(n)?{packageFs:new _t(Me.root),prefixPath:Me.dot,localPath:Me.root}:await t.fetcher.fetch(i,t),o=s.localPath?{packageFs:new _t(Me.root),prefixPath:x.relative(Me.root,s.localPath),localPath:Me.root}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=x.resolve((c=o.localPath)!=null?c:o.packageFs.getRealPath(),o.prefixPath,n);return s.localPath?{packageFs:new _t(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Me.dot,discardFromLookup:!0,localPath:l}:{packageFs:new Ta(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Me.dot,discardFromLookup:!0}}};var mL=class{supportsDescriptor(e,t){return!!e.range.startsWith(bA)}supportsLocator(e,t){return!!e.reference.startsWith(bA)}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,i){return P.bindDescriptor(e,{locator:P.stringifyLocator(t)})}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){let n=e.range.slice(bA.length);return[P.makeLocator(e,`${bA}${H.toPortablePath(n)}`)]}async getSatisfying(e,t,i){return null}async resolve(e,t){return te(N({},e),{version:\"0.0.0\",languageName:t.project.configuration.get(\"defaultLanguageName\"),linkType:Qt.SOFT,conditions:null,dependencies:new Map,peerDependencies:new Map,dependenciesMeta:new Map,peerDependenciesMeta:new Map,bin:new Map})}};var L4e={fetchers:[CL,pL],resolvers:[mL,dL]},T4e=L4e;var WL={};ft(WL,{default:()=>qze});var Un;(function(i){i[i.REGULAR=0]=\"REGULAR\",i[i.WORKSPACE=1]=\"WORKSPACE\",i[i.EXTERNAL_SOFT_LINK=2]=\"EXTERNAL_SOFT_LINK\"})(Un||(Un={}));var QA;(function(i){i[i.YES=0]=\"YES\",i[i.NO=1]=\"NO\",i[i.DEPENDS=2]=\"DEPENDS\"})(QA||(QA={}));var IL=(r,e)=>`${r}@${e}`,dAe=(r,e)=>{let t=e.indexOf(\"#\"),i=t>=0?e.substring(t+1):e;return IL(r,i)},Bo;(function(s){s[s.NONE=-1]=\"NONE\",s[s.PERF=0]=\"PERF\",s[s.CHECK=1]=\"CHECK\",s[s.REASONS=2]=\"REASONS\",s[s.INTENSIVE_CHECK=9]=\"INTENSIVE_CHECK\"})(Bo||(Bo={}));var mAe=(r,e={})=>{let t=e.debugLevel||Number(process.env.NM_DEBUG_LEVEL||-1),i=e.check||t>=9,n=e.hoistingLimits||new Map,s={check:i,debugLevel:t,hoistingLimits:n,fastLookupPossible:!0},o;s.debugLevel>=0&&(o=Date.now());let a=O4e(r,s),l=!1,c=0;do l=yL(a,[a],new Set([a.locator]),new Map,s).anotherRoundNeeded,s.fastLookupPossible=!1,c++;while(l);if(s.debugLevel>=0&&console.log(`hoist time: ${Date.now()-o}ms, rounds: ${c}`),s.debugLevel>=1){let u=Om(a);if(yL(a,[a],new Set([a.locator]),new Map,s).isGraphChanged)throw new Error(`The hoisting result is not terminal, prev tree:\n${u}, next tree:\n${Om(a)}`);let f=CAe(a);if(f)throw new Error(`${f}, after hoisting finished:\n${Om(a)}`)}return s.debugLevel>=2&&console.log(Om(a)),M4e(a)},U4e=r=>{let e=r[r.length-1],t=new Map,i=new Set,n=s=>{if(!i.has(s)){i.add(s);for(let o of s.hoistedDependencies.values())t.set(o.name,o);for(let o of s.dependencies.values())s.peerNames.has(o.name)||n(o)}};return n(e),t},K4e=r=>{let e=r[r.length-1],t=new Map,i=new Set,n=new Set,s=(o,a)=>{if(i.has(o))return;i.add(o);for(let c of o.hoistedDependencies.values())if(!a.has(c.name)){let u;for(let g of r)u=g.dependencies.get(c.name),u&&t.set(u.name,u)}let l=new Set;for(let c of o.dependencies.values())l.add(c.name);for(let c of o.dependencies.values())o.peerNames.has(c.name)||s(c,l)};return s(e,n),t},EAe=(r,e)=>{if(e.decoupled)return e;let{name:t,references:i,ident:n,locator:s,dependencies:o,originalDependencies:a,hoistedDependencies:l,peerNames:c,reasons:u,isHoistBorder:g,hoistPriority:f,dependencyKind:h,hoistedFrom:p,hoistedTo:m}=e,y={name:t,references:new Set(i),ident:n,locator:s,dependencies:new Map(o),originalDependencies:new Map(a),hoistedDependencies:new Map(l),peerNames:new Set(c),reasons:new Map(u),decoupled:!0,isHoistBorder:g,hoistPriority:f,dependencyKind:h,hoistedFrom:new Map(p),hoistedTo:new Map(m)},b=y.dependencies.get(t);return b&&b.ident==y.ident&&y.dependencies.set(t,y),r.dependencies.set(y.name,y),y},H4e=(r,e)=>{let t=new Map([[r.name,[r.ident]]]);for(let n of r.dependencies.values())r.peerNames.has(n.name)||t.set(n.name,[n.ident]);let i=Array.from(e.keys());i.sort((n,s)=>{let o=e.get(n),a=e.get(s);return a.hoistPriority!==o.hoistPriority?a.hoistPriority-o.hoistPriority:a.peerDependents.size!==o.peerDependents.size?a.peerDependents.size-o.peerDependents.size:a.dependents.size-o.dependents.size});for(let n of i){let s=n.substring(0,n.indexOf(\"@\",1)),o=n.substring(s.length+1);if(!r.peerNames.has(s)){let a=t.get(s);a||(a=[],t.set(s,a)),a.indexOf(o)<0&&a.push(o)}}return t},wL=r=>{let e=new Set,t=(i,n=new Set)=>{if(!n.has(i)){n.add(i);for(let s of i.peerNames)if(!r.peerNames.has(s)){let o=r.dependencies.get(s);o&&!e.has(o)&&t(o,n)}e.add(i)}};for(let i of r.dependencies.values())r.peerNames.has(i.name)||t(i);return e},yL=(r,e,t,i,n,s=new Set)=>{let o=e[e.length-1];if(s.has(o))return{anotherRoundNeeded:!1,isGraphChanged:!1};s.add(o);let a=G4e(o),l=H4e(o,a),c=r==o?new Map:n.fastLookupPossible?U4e(e):K4e(e),u,g=!1,f=!1,h=new Map(Array.from(l.entries()).map(([m,y])=>[m,y[0]])),p=new Map;do{let m=j4e(r,e,t,c,h,l,i,p,n);m.isGraphChanged&&(f=!0),m.anotherRoundNeeded&&(g=!0),u=!1;for(let[y,b]of l)b.length>1&&!o.dependencies.has(y)&&(h.delete(y),b.shift(),h.set(y,b[0]),u=!0)}while(u);for(let m of o.dependencies.values())if(!o.peerNames.has(m.name)&&!t.has(m.locator)){t.add(m.locator);let y=yL(r,[...e,m],t,p,n);y.isGraphChanged&&(f=!0),y.anotherRoundNeeded&&(g=!0),t.delete(m.locator)}return{anotherRoundNeeded:g,isGraphChanged:f}},Y4e=r=>{for(let[e,t]of r.dependencies)if(!r.peerNames.has(e)&&t.ident!==r.ident)return!0;return!1},q4e=(r,e,t,i,n,s,o,a,{outputReason:l,fastLookupPossible:c})=>{let u,g=null,f=new Set;l&&(u=`${Array.from(e).map(y=>Li(y)).join(\"\\u2192\")}`);let h=t[t.length-1],m=!(i.ident===h.ident);if(l&&!m&&(g=\"- self-reference\"),m&&(m=i.dependencyKind!==1,l&&!m&&(g=\"- workspace\")),m&&i.dependencyKind===2&&(m=!Y4e(i),l&&!m&&(g=\"- external soft link with unhoisted dependencies\")),m&&(m=h.dependencyKind!==1||h.hoistedFrom.has(i.name)||e.size===1,l&&!m&&(g=h.reasons.get(i.name))),m&&(m=!r.peerNames.has(i.name),l&&!m&&(g=`- cannot shadow peer: ${Li(r.originalDependencies.get(i.name).locator)} at ${u}`)),m){let y=!1,b=n.get(i.name);if(y=!b||b.ident===i.ident,l&&!y&&(g=`- filled by: ${Li(b.locator)} at ${u}`),y)for(let v=t.length-1;v>=1;v--){let T=t[v].dependencies.get(i.name);if(T&&T.ident!==i.ident){y=!1;let Y=a.get(h);Y||(Y=new Set,a.set(h,Y)),Y.add(i.name),l&&(g=`- filled by ${Li(T.locator)} at ${t.slice(0,v).map(q=>Li(q.locator)).join(\"\\u2192\")}`);break}}m=y}if(m&&(m=s.get(i.name)===i.ident,l&&!m&&(g=`- filled by: ${Li(o.get(i.name)[0])} at ${u}`)),m){let y=!0,b=new Set(i.peerNames);for(let v=t.length-1;v>=1;v--){let k=t[v];for(let T of b){if(k.peerNames.has(T)&&k.originalDependencies.has(T))continue;let Y=k.dependencies.get(T);Y&&r.dependencies.get(T)!==Y&&(v===t.length-1?f.add(Y):(f=null,y=!1,l&&(g=`- peer dependency ${Li(Y.locator)} from parent ${Li(k.locator)} was not hoisted to ${u}`))),b.delete(T)}if(!y)break}m=y}if(m&&!c)for(let y of i.hoistedDependencies.values()){let b=n.get(y.name)||r.dependencies.get(y.name);if(!b||y.ident!==b.ident){m=!1,l&&(g=`- previously hoisted dependency mismatch, needed: ${Li(y.locator)}, available: ${Li(b==null?void 0:b.locator)}`);break}}return f!==null&&f.size>0?{isHoistable:2,dependsOn:f,reason:g}:{isHoistable:m?0:1,reason:g}},eb=r=>`${r.name}@${r.locator}`,j4e=(r,e,t,i,n,s,o,a,l)=>{let c=e[e.length-1],u=new Set,g=!1,f=!1,h=(b,v,k,T,Y)=>{if(u.has(T))return;let q=[...v,eb(T)],$=[...k,eb(T)],z=new Map,ne=new Map;for(let Z of wL(T)){let O=q4e(c,t,[c,...b,T],Z,i,n,s,a,{outputReason:l.debugLevel>=2,fastLookupPossible:l.fastLookupPossible});if(ne.set(Z,O),O.isHoistable===2)for(let L of O.dependsOn){let de=z.get(L.name)||new Set;de.add(Z.name),z.set(L.name,de)}}let ee=new Set,A=(Z,O,L)=>{if(!ee.has(Z)){ee.add(Z),ne.set(Z,{isHoistable:1,reason:L});for(let de of z.get(Z.name)||[])A(T.dependencies.get(de),O,l.debugLevel>=2?`- peer dependency ${Li(Z.locator)} from parent ${Li(T.locator)} was not hoisted`:\"\")}};for(let[Z,O]of ne)O.isHoistable===1&&A(Z,O,O.reason);let oe=!1;for(let Z of ne.keys())if(!ee.has(Z)){f=!0;let O=o.get(T);O&&O.has(Z.name)&&(g=!0),oe=!0,T.dependencies.delete(Z.name),T.hoistedDependencies.set(Z.name,Z),T.reasons.delete(Z.name);let L=c.dependencies.get(Z.name);if(l.debugLevel>=2){let de=Array.from(v).concat([T.locator]).map(Ge=>Li(Ge)).join(\"\\u2192\"),Be=c.hoistedFrom.get(Z.name);Be||(Be=[],c.hoistedFrom.set(Z.name,Be)),Be.push(de),T.hoistedTo.set(Z.name,Array.from(e).map(Ge=>Li(Ge.locator)).join(\"\\u2192\"))}if(!L)c.ident!==Z.ident&&(c.dependencies.set(Z.name,Z),Y.add(Z));else for(let de of Z.references)L.references.add(de)}if(T.dependencyKind===2&&oe&&(g=!0),l.check){let Z=CAe(r);if(Z)throw new Error(`${Z}, after hoisting dependencies of ${[c,...b,T].map(O=>Li(O.locator)).join(\"\\u2192\")}:\n${Om(r)}`)}let ce=wL(T);for(let Z of ce)if(ee.has(Z)){let O=ne.get(Z);if((n.get(Z.name)===Z.ident||!T.reasons.has(Z.name))&&O.isHoistable!==0&&T.reasons.set(Z.name,O.reason),!Z.isHoistBorder&&$.indexOf(eb(Z))<0){u.add(T);let de=EAe(T,Z);h([...b,T],q,$,de,m),u.delete(T)}}},p,m=new Set(wL(c)),y=Array.from(e).map(b=>eb(b));do{p=m,m=new Set;for(let b of p){if(b.locator===c.locator||b.isHoistBorder)continue;let v=EAe(c,b);h([],Array.from(t),y,v,m)}}while(m.size>0);return{anotherRoundNeeded:g,isGraphChanged:f}},CAe=r=>{let e=[],t=new Set,i=new Set,n=(s,o,a)=>{if(t.has(s)||(t.add(s),i.has(s)))return;let l=new Map(o);for(let c of s.dependencies.values())s.peerNames.has(c.name)||l.set(c.name,c);for(let c of s.originalDependencies.values()){let u=l.get(c.name),g=()=>`${Array.from(i).concat([s]).map(f=>Li(f.locator)).join(\"\\u2192\")}`;if(s.peerNames.has(c.name)){let f=o.get(c.name);(f!==u||!f||f.ident!==c.ident)&&e.push(`${g()} - broken peer promise: expected ${c.ident} but found ${f&&f.ident}`)}else{let f=a.hoistedFrom.get(s.name),h=s.hoistedTo.get(c.name),p=`${f?` hoisted from ${f.join(\", \")}`:\"\"}`,m=`${h?` hoisted to ${h}`:\"\"}`,y=`${g()}${p}`;u?u.ident!==c.ident&&e.push(`${y} - broken require promise for ${c.name}${m}: expected ${c.ident}, but found: ${u.ident}`):e.push(`${y} - broken require promise: no required dependency ${c.name}${m} found`)}}i.add(s);for(let c of s.dependencies.values())s.peerNames.has(c.name)||n(c,l,s);i.delete(s)};return n(r,r.dependencies,r),e.join(`\n`)},O4e=(r,e)=>{let{identName:t,name:i,reference:n,peerNames:s}=r,o={name:i,references:new Set([n]),locator:IL(t,n),ident:dAe(t,n),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(s),reasons:new Map,decoupled:!0,isHoistBorder:!0,hoistPriority:0,dependencyKind:1,hoistedFrom:new Map,hoistedTo:new Map},a=new Map([[r,o]]),l=(c,u)=>{let g=a.get(c),f=!!g;if(!g){let{name:h,identName:p,reference:m,peerNames:y,hoistPriority:b,dependencyKind:v}=c,k=e.hoistingLimits.get(u.locator);g={name:h,references:new Set([m]),locator:IL(p,m),ident:dAe(p,m),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(y),reasons:new Map,decoupled:!0,isHoistBorder:k?k.has(h):!1,hoistPriority:b||0,dependencyKind:v||0,hoistedFrom:new Map,hoistedTo:new Map},a.set(c,g)}if(u.dependencies.set(c.name,g),u.originalDependencies.set(c.name,g),f){let h=new Set,p=m=>{if(!h.has(m)){h.add(m),m.decoupled=!1;for(let y of m.dependencies.values())m.peerNames.has(y.name)||p(y)}};p(g)}else for(let h of c.dependencies)l(h,g)};for(let c of r.dependencies)l(c,o);return o},BL=r=>r.substring(0,r.indexOf(\"@\",1)),M4e=r=>{let e={name:r.name,identName:BL(r.locator),references:new Set(r.references),dependencies:new Set},t=new Set([r]),i=(n,s,o)=>{let a=t.has(n),l;if(s===n)l=o;else{let{name:c,references:u,locator:g}=n;l={name:c,identName:BL(g),references:u,dependencies:new Set}}if(o.dependencies.add(l),!a){t.add(n);for(let c of n.dependencies.values())n.peerNames.has(c.name)||i(c,n,l);t.delete(n)}};for(let n of r.dependencies.values())i(n,r,e);return e},G4e=r=>{let e=new Map,t=new Set([r]),i=o=>`${o.name}@${o.ident}`,n=o=>{let a=i(o),l=e.get(a);return l||(l={dependents:new Set,peerDependents:new Set,hoistPriority:0},e.set(a,l)),l},s=(o,a)=>{let l=!!t.has(a);if(n(a).dependents.add(o.ident),!l){t.add(a);for(let u of a.dependencies.values()){let g=n(u);g.hoistPriority=Math.max(g.hoistPriority,u.hoistPriority),a.peerNames.has(u.name)?g.peerDependents.add(a.ident):s(a,u)}}};for(let o of r.dependencies.values())r.peerNames.has(o.name)||s(r,o);return e},Li=r=>{if(!r)return\"none\";let e=r.indexOf(\"@\",1),t=r.substring(0,e);t.endsWith(\"$wsroot$\")&&(t=`wh:${t.replace(\"$wsroot$\",\"\")}`);let i=r.substring(e+1);if(i===\"workspace:.\")return\".\";if(i){let n=(i.indexOf(\"#\")>0?i.split(\"#\")[1]:i).replace(\"npm:\",\"\");return i.startsWith(\"virtual\")&&(t=`v:${t}`),n.startsWith(\"workspace\")&&(t=`w:${t}`,n=\"\"),`${t}${n?`@${n}`:\"\"}`}else return`${t}`},IAe=5e4,Om=r=>{let e=0,t=(n,s,o=\"\")=>{if(e>IAe||s.has(n))return\"\";e++;let a=Array.from(n.dependencies.values()).sort((c,u)=>c.name===u.name?0:c.name>u.name?1:-1),l=\"\";s.add(n);for(let c=0;c<a.length;c++){let u=a[c];if(!n.peerNames.has(u.name)&&u!==n){let g=n.reasons.get(u.name),f=BL(u.locator);l+=`${o}${c<a.length-1?\"\\u251C\\u2500\":\"\\u2514\\u2500\"}${(s.has(u)?\">\":\"\")+(f!==u.name?`a:${u.name}:`:\"\")+Li(u.locator)+(g?` ${g}`:\"\")}\n`,l+=t(u,s,`${o}${c<a.length-1?\"\\u2502 \":\"  \"}`)}}return s.delete(n),l};return t(r,new Set)+(e>IAe?`\nTree is too large, part of the tree has been dunped\n`:\"\")};var bo;(function(t){t.HARD=\"HARD\",t.SOFT=\"SOFT\"})(bo||(bo={}));var Kn;(function(i){i.WORKSPACES=\"workspaces\",i.DEPENDENCIES=\"dependencies\",i.NONE=\"none\"})(Kn||(Kn={}));var yAe=\"node_modules\",vu=\"$wsroot$\";var Mm=(r,e)=>{let{packageTree:t,hoistingLimits:i,errors:n,preserveSymlinksRequired:s}=J4e(r,e),o=null;if(n.length===0){let a=mAe(t,{hoistingLimits:i});o=W4e(r,a,e)}return{tree:o,errors:n,preserveSymlinksRequired:s}},Ca=r=>`${r.name}@${r.reference}`,bL=r=>{let e=new Map;for(let[t,i]of r.entries())if(!i.dirList){let n=e.get(i.locator);n||(n={target:i.target,linkType:i.linkType,locations:[],aliases:i.aliases},e.set(i.locator,n)),n.locations.push(t)}for(let t of e.values())t.locations=t.locations.sort((i,n)=>{let s=i.split(x.delimiter).length,o=n.split(x.delimiter).length;return n===i?0:s!==o?o-s:n>i?1:-1});return e},wAe=(r,e)=>{let t=P.isVirtualLocator(r)?P.devirtualizeLocator(r):r,i=P.isVirtualLocator(e)?P.devirtualizeLocator(e):e;return P.areLocatorsEqual(t,i)},QL=(r,e,t,i)=>{if(r.linkType!==bo.SOFT)return!1;let n=H.toPortablePath(t.resolveVirtual&&e.reference&&e.reference.startsWith(\"virtual:\")?t.resolveVirtual(r.packageLocation):r.packageLocation);return x.contains(i,n)===null},z4e=r=>{let e=r.getPackageInformation(r.topLevel);if(e===null)throw new Error(\"Assertion failed: Expected the top-level package to have been registered\");if(r.findPackageLocator(e.packageLocation)===null)throw new Error(\"Assertion failed: Expected the top-level package to have a physical locator\");let i=H.toPortablePath(e.packageLocation.slice(0,-1)),n=new Map,s={children:new Map},o=r.getDependencyTreeRoots(),a=new Map,l=new Set,c=(f,h)=>{let p=Ca(f);if(l.has(p))return;l.add(p);let m=r.getPackageInformation(f);if(m){let y=h?Ca(h):\"\";if(Ca(f)!==y&&m.linkType===bo.SOFT&&!QL(m,f,r,i)){let b=BAe(m,f,r);(!a.get(b)||f.reference.startsWith(\"workspace:\"))&&a.set(b,f)}for(let[b,v]of m.packageDependencies)v!==null&&(m.packagePeers.has(b)||c(r.getLocator(b,v),f))}};for(let f of o)c(f,null);let u=i.split(x.sep);for(let f of a.values()){let h=r.getPackageInformation(f),m=H.toPortablePath(h.packageLocation.slice(0,-1)).split(x.sep).slice(u.length),y=s;for(let b of m){let v=y.children.get(b);v||(v={children:new Map},y.children.set(b,v)),y=v}y.workspaceLocator=f}let g=(f,h)=>{if(f.workspaceLocator){let p=Ca(h),m=n.get(p);m||(m=new Set,n.set(p,m)),m.add(f.workspaceLocator)}for(let p of f.children.values())g(p,f.workspaceLocator||h)};for(let f of s.children.values())g(f,s.workspaceLocator);return n},J4e=(r,e)=>{let t=[],i=!1,n=new Map,s=z4e(r),o=r.getPackageInformation(r.topLevel);if(o===null)throw new Error(\"Assertion failed: Expected the top-level package to have been registered\");let a=r.findPackageLocator(o.packageLocation);if(a===null)throw new Error(\"Assertion failed: Expected the top-level package to have a physical locator\");let l=H.toPortablePath(o.packageLocation.slice(0,-1)),c={name:a.name,identName:a.name,reference:a.reference,peerNames:o.packagePeers,dependencies:new Set,dependencyKind:Un.WORKSPACE},u=new Map,g=(h,p)=>`${Ca(p)}:${h}`,f=(h,p,m,y,b,v,k,T)=>{var Z,O;let Y=g(h,m),q=u.get(Y),$=!!q;!$&&m.name===a.name&&m.reference===a.reference&&(q=c,u.set(Y,c));let z=QL(p,m,r,l);if(!q){let L=Un.REGULAR;z?L=Un.EXTERNAL_SOFT_LINK:p.linkType===bo.SOFT&&m.name.endsWith(vu)&&(L=Un.WORKSPACE),q={name:h,identName:m.name,reference:m.reference,dependencies:new Set,peerNames:L===Un.WORKSPACE?new Set:p.packagePeers,dependencyKind:L},u.set(Y,q)}let ne;if(z?ne=2:b.linkType===bo.SOFT?ne=1:ne=0,q.hoistPriority=Math.max(q.hoistPriority||0,ne),T&&!z){let L=Ca({name:y.identName,reference:y.reference}),de=n.get(L)||new Set;n.set(L,de),de.add(q.name)}let ee=new Map(p.packageDependencies);if(e.project){let L=e.project.workspacesByCwd.get(H.toPortablePath(p.packageLocation.slice(0,-1)));if(L){let de=new Set([...Array.from(L.manifest.peerDependencies.values(),Be=>P.stringifyIdent(Be)),...Array.from(L.manifest.peerDependenciesMeta.keys())]);for(let Be of de)ee.has(Be)||(ee.set(Be,v.get(Be)||null),q.peerNames.add(Be))}}let A=Ca({name:m.name.replace(vu,\"\"),reference:m.reference}),oe=s.get(A);if(oe)for(let L of oe)ee.set(`${L.name}${vu}`,L.reference);(p!==b||p.linkType!==bo.SOFT||!z&&(!e.selfReferencesByCwd||e.selfReferencesByCwd.get(k)))&&y.dependencies.add(q);let ce=m!==a&&p.linkType===bo.SOFT&&!m.name.endsWith(vu)&&!z;if(!$&&!ce){let L=new Map;for(let[de,Be]of ee)if(Be!==null){let Ge=r.getLocator(de,Be),re=r.getLocator(de.replace(vu,\"\"),Be),se=r.getPackageInformation(re);if(se===null)throw new Error(\"Assertion failed: Expected the package to have been registered\");let be=QL(se,Ge,r,l);if(e.validateExternalSoftLinks&&e.project&&be){se.packageDependencies.size>0&&(i=!0);for(let[ve,pe]of se.packageDependencies)if(pe!==null){let V=P.parseLocator(Array.isArray(pe)?`${pe[0]}@${pe[1]}`:`${ve}@${pe}`);if(Ca(V)!==Ca(Ge)){let Qe=ee.get(ve);if(Qe){let le=P.parseLocator(Array.isArray(Qe)?`${Qe[0]}@${Qe[1]}`:`${ve}@${Qe}`);wAe(le,V)||t.push({messageName:X.NM_CANT_INSTALL_EXTERNAL_SOFT_LINK,text:`Cannot link ${P.prettyIdent(e.project.configuration,P.parseIdent(Ge.name))} into ${P.prettyLocator(e.project.configuration,P.parseLocator(`${m.name}@${m.reference}`))} dependency ${P.prettyLocator(e.project.configuration,V)} conflicts with parent dependency ${P.prettyLocator(e.project.configuration,le)}`})}else{let le=L.get(ve);if(le){let fe=le.target,gt=P.parseLocator(Array.isArray(fe)?`${fe[0]}@${fe[1]}`:`${ve}@${fe}`);wAe(gt,V)||t.push({messageName:X.NM_CANT_INSTALL_EXTERNAL_SOFT_LINK,text:`Cannot link ${P.prettyIdent(e.project.configuration,P.parseIdent(Ge.name))} into ${P.prettyLocator(e.project.configuration,P.parseLocator(`${m.name}@${m.reference}`))} dependency ${P.prettyLocator(e.project.configuration,V)} conflicts with dependency ${P.prettyLocator(e.project.configuration,gt)} from sibling portal ${P.prettyIdent(e.project.configuration,P.parseIdent(le.portal.name))}`})}else L.set(ve,{target:V.reference,portal:Ge})}}}}let he=(Z=e.hoistingLimitsByCwd)==null?void 0:Z.get(k),Fe=be?k:x.relative(l,H.toPortablePath(se.packageLocation))||Me.dot,Ue=(O=e.hoistingLimitsByCwd)==null?void 0:O.get(Fe),xe=he===Kn.DEPENDENCIES||Ue===Kn.DEPENDENCIES||Ue===Kn.WORKSPACES;f(de,se,Ge,q,p,ee,Fe,xe)}}};return f(a.name,o,a,c,o,o.packageDependencies,Me.dot,!1),{packageTree:c,hoistingLimits:n,errors:t,preserveSymlinksRequired:i}};function BAe(r,e,t){let i=t.resolveVirtual&&e.reference&&e.reference.startsWith(\"virtual:\")?t.resolveVirtual(r.packageLocation):r.packageLocation;return H.toPortablePath(i||r.packageLocation)}function _4e(r,e,t){let i=e.getLocator(r.name.replace(vu,\"\"),r.reference),n=e.getPackageInformation(i);if(n===null)throw new Error(\"Assertion failed: Expected the package to be registered\");let s,o;return t.pnpifyFs?(o=H.toPortablePath(n.packageLocation),s=bo.SOFT):(o=BAe(n,r,e),s=n.linkType),{linkType:s,target:o}}var W4e=(r,e,t)=>{let i=new Map,n=(u,g,f)=>{let{linkType:h,target:p}=_4e(u,r,t);return{locator:Ca(u),nodePath:g,target:p,linkType:h,aliases:f}},s=u=>{let[g,f]=u.split(\"/\");return f?{scope:Jr(g),name:Jr(f)}:{scope:null,name:Jr(g)}},o=new Set,a=(u,g,f)=>{if(!o.has(u)){o.add(u);for(let h of u.dependencies){if(h===u)continue;let p=Array.from(h.references).sort(),m={name:h.identName,reference:p[0]},{name:y,scope:b}=s(h.name),v=b?[b,y]:[y],k=x.join(g,yAe),T=x.join(k,...v),Y=`${f}/${m.name}`,q=n(m,f,p.slice(1)),$=!1;if(q.linkType===bo.SOFT&&t.project){let z=t.project.workspacesByCwd.get(q.target.slice(0,-1));$=!!(z&&!z.manifest.name)}if(!h.name.endsWith(vu)&&!$){let z=i.get(T);if(z){if(z.dirList)throw new Error(`Assertion failed: ${T} cannot merge dir node with leaf node`);{let oe=P.parseLocator(z.locator),ce=P.parseLocator(q.locator);if(z.linkType!==q.linkType)throw new Error(`Assertion failed: ${T} cannot merge nodes with different link types ${z.nodePath}/${P.stringifyLocator(oe)} and ${f}/${P.stringifyLocator(ce)}`);if(oe.identHash!==ce.identHash)throw new Error(`Assertion failed: ${T} cannot merge nodes with different idents ${z.nodePath}/${P.stringifyLocator(oe)} and ${f}/s${P.stringifyLocator(ce)}`);q.aliases=[...q.aliases,...z.aliases,P.parseLocator(z.locator).reference]}}i.set(T,q);let ne=T.split(\"/\"),ee=ne.indexOf(yAe),A=ne.length-1;for(;ee>=0&&A>ee;){let oe=H.toPortablePath(ne.slice(0,A).join(x.sep)),ce=Jr(ne[A]),Z=i.get(oe);if(!Z)i.set(oe,{dirList:new Set([ce])});else if(Z.dirList){if(Z.dirList.has(ce))break;Z.dirList.add(ce)}A--}}a(h,q.linkType===bo.SOFT?q.target:T,Y)}}},l=n({name:e.name,reference:Array.from(e.references)[0]},\"\",[]),c=l.target;return i.set(c,l),a(e,c,\"\"),i};var TL={};ft(TL,{PnpInstaller:()=>ah,PnpLinker:()=>xu,default:()=>Eze,getPnpPath:()=>Ol,jsInstallUtils:()=>ma,pnpUtils:()=>NL,quotePathIfNeeded:()=>WAe});var qAe=ge(ri()),JAe=ge(require(\"url\"));var bAe;(function(t){t.HARD=\"HARD\",t.SOFT=\"SOFT\"})(bAe||(bAe={}));var er;(function(f){f.DEFAULT=\"DEFAULT\",f.TOP_LEVEL=\"TOP_LEVEL\",f.FALLBACK_EXCLUSION_LIST=\"FALLBACK_EXCLUSION_LIST\",f.FALLBACK_EXCLUSION_ENTRIES=\"FALLBACK_EXCLUSION_ENTRIES\",f.FALLBACK_EXCLUSION_DATA=\"FALLBACK_EXCLUSION_DATA\",f.PACKAGE_REGISTRY_DATA=\"PACKAGE_REGISTRY_DATA\",f.PACKAGE_REGISTRY_ENTRIES=\"PACKAGE_REGISTRY_ENTRIES\",f.PACKAGE_STORE_DATA=\"PACKAGE_STORE_DATA\",f.PACKAGE_STORE_ENTRIES=\"PACKAGE_STORE_ENTRIES\",f.PACKAGE_INFORMATION_DATA=\"PACKAGE_INFORMATION_DATA\",f.PACKAGE_DEPENDENCIES=\"PACKAGE_DEPENDENCIES\",f.PACKAGE_DEPENDENCY=\"PACKAGE_DEPENDENCY\"})(er||(er={}));var QAe={[er.DEFAULT]:{collapsed:!1,next:{[\"*\"]:er.DEFAULT}},[er.TOP_LEVEL]:{collapsed:!1,next:{fallbackExclusionList:er.FALLBACK_EXCLUSION_LIST,packageRegistryData:er.PACKAGE_REGISTRY_DATA,[\"*\"]:er.DEFAULT}},[er.FALLBACK_EXCLUSION_LIST]:{collapsed:!1,next:{[\"*\"]:er.FALLBACK_EXCLUSION_ENTRIES}},[er.FALLBACK_EXCLUSION_ENTRIES]:{collapsed:!0,next:{[\"*\"]:er.FALLBACK_EXCLUSION_DATA}},[er.FALLBACK_EXCLUSION_DATA]:{collapsed:!0,next:{[\"*\"]:er.DEFAULT}},[er.PACKAGE_REGISTRY_DATA]:{collapsed:!1,next:{[\"*\"]:er.PACKAGE_REGISTRY_ENTRIES}},[er.PACKAGE_REGISTRY_ENTRIES]:{collapsed:!0,next:{[\"*\"]:er.PACKAGE_STORE_DATA}},[er.PACKAGE_STORE_DATA]:{collapsed:!1,next:{[\"*\"]:er.PACKAGE_STORE_ENTRIES}},[er.PACKAGE_STORE_ENTRIES]:{collapsed:!0,next:{[\"*\"]:er.PACKAGE_INFORMATION_DATA}},[er.PACKAGE_INFORMATION_DATA]:{collapsed:!1,next:{packageDependencies:er.PACKAGE_DEPENDENCIES,[\"*\"]:er.DEFAULT}},[er.PACKAGE_DEPENDENCIES]:{collapsed:!1,next:{[\"*\"]:er.PACKAGE_DEPENDENCY}},[er.PACKAGE_DEPENDENCY]:{collapsed:!0,next:{[\"*\"]:er.DEFAULT}}};function V4e(r,e,t){let i=\"\";i+=\"[\";for(let n=0,s=r.length;n<s;++n)i+=tb(String(n),r[n],e,t).replace(/^ +/g,\"\"),n+1<s&&(i+=\", \");return i+=\"]\",i}function X4e(r,e,t){let i=`${t}  `,n=\"\";n+=t,n+=`[\n`;for(let s=0,o=r.length;s<o;++s)n+=i+tb(String(s),r[s],e,i).replace(/^ +/,\"\"),s+1<o&&(n+=\",\"),n+=`\n`;return n+=t,n+=\"]\",n}function Z4e(r,e,t){let i=Object.keys(r),n=\"\";n+=\"{\";for(let s=0,o=i.length,a=0;s<o;++s){let l=i[s],c=r[l];typeof c!=\"undefined\"&&(a!==0&&(n+=\", \"),n+=JSON.stringify(l),n+=\": \",n+=tb(l,c,e,t).replace(/^ +/g,\"\"),a+=1)}return n+=\"}\",n}function $4e(r,e,t){let i=Object.keys(r),n=`${t}  `,s=\"\";s+=t,s+=`{\n`;let o=0;for(let a=0,l=i.length;a<l;++a){let c=i[a],u=r[c];typeof u!=\"undefined\"&&(o!==0&&(s+=\",\",s+=`\n`),s+=n,s+=JSON.stringify(c),s+=\": \",s+=tb(c,u,e,n).replace(/^ +/g,\"\"),o+=1)}return o!==0&&(s+=`\n`),s+=t,s+=\"}\",s}function tb(r,e,t,i){let{next:n}=QAe[t],s=n[r]||n[\"*\"];return SAe(e,s,i)}function SAe(r,e,t){let{collapsed:i}=QAe[e];return Array.isArray(r)?i?V4e(r,e,t):X4e(r,e,t):typeof r==\"object\"&&r!==null?i?Z4e(r,e,t):$4e(r,e,t):JSON.stringify(r)}function vAe(r){return SAe(r,er.TOP_LEVEL,\"\")}function Um(r,e){let t=Array.from(r);Array.isArray(e)||(e=[e]);let i=[];for(let s of e)i.push(t.map(o=>s(o)));let n=t.map((s,o)=>o);return n.sort((s,o)=>{for(let a of i){let l=a[s]<a[o]?-1:a[s]>a[o]?1:0;if(l!==0)return l}return 0}),n.map(s=>t[s])}function eze(r){let e=new Map,t=Um(r.fallbackExclusionList||[],[({name:i,reference:n})=>i,({name:i,reference:n})=>n]);for(let{name:i,reference:n}of t){let s=e.get(i);typeof s==\"undefined\"&&e.set(i,s=new Set),s.add(n)}return Array.from(e).map(([i,n])=>[i,Array.from(n)])}function tze(r){return Um(r.fallbackPool||[],([e])=>e)}function rze(r){let e=[];for(let[t,i]of Um(r.packageRegistry,([n])=>n===null?\"0\":`1${n}`)){let n=[];e.push([t,n]);for(let[s,{packageLocation:o,packageDependencies:a,packagePeers:l,linkType:c,discardFromLookup:u}]of Um(i,([g])=>g===null?\"0\":`1${g}`)){let g=[];t!==null&&s!==null&&!a.has(t)&&g.push([t,s]);for(let[p,m]of Um(a.entries(),([y])=>y))g.push([p,m]);let f=l&&l.size>0?Array.from(l):void 0,h=u||void 0;n.push([s,{packageLocation:o,packageDependencies:g,packagePeers:f,linkType:c,discardFromLookup:h}])}}return e}function Km(r){return{__info:[\"This file is automatically generated. Do not touch it, or risk\",\"your modifications being lost. We also recommend you not to read\",\"it either without using the @yarnpkg/pnp package, as the data layout\",\"is entirely unspecified and WILL change from a version to another.\"],dependencyTreeRoots:r.dependencyTreeRoots,enableTopLevelFallback:r.enableTopLevelFallback||!1,ignorePatternData:r.ignorePattern||null,fallbackExclusionList:eze(r),fallbackPool:tze(r),packageRegistryData:rze(r)}}var PAe=ge(xAe());function DAe(r,e){return[r?`${r}\n`:\"\",`/* eslint-disable */\n\n`,`try {\n`,`  Object.freeze({}).detectStrictMode = true;\n`,`} catch (error) {\n`,\"  throw new Error(`The whole PnP file got strict-mode-ified, which is known to break (Emscripten libraries aren't strict mode). This usually happens when the file goes through Babel.`);\\n\",`}\n`,`\n`,`function $$SETUP_STATE(hydrateRuntimeState, basePath) {\n`,e.replace(/^/gm,\"  \"),`}\n`,`\n`,(0,PAe.default)()].join(\"\")}function ize(r){return JSON.stringify(r,null,2)}function nze(r){return`'${r.replace(/\\\\/g,\"\\\\\\\\\").replace(/'/g,\"\\\\'\").replace(/\\n/g,`\\\\\n`)}'`}function sze(r){return[`return hydrateRuntimeState(JSON.parse(${nze(vAe(r))}), {basePath: basePath || __dirname});\n`].join(\"\")}function oze(r){return[`var path = require('path');\n`,`var dataLocation = path.resolve(__dirname, ${JSON.stringify(r)});\n`,`return hydrateRuntimeState(require(dataLocation), {basePath: basePath || path.dirname(dataLocation)});\n`].join(\"\")}function RAe(r){let e=Km(r),t=sze(e);return DAe(r.shebang,t)}function FAe(r){let e=Km(r),t=oze(r.dataLocation),i=DAe(r.shebang,t);return{dataFile:ize(e),loaderFile:i}}var TAe=ge(require(\"fs\")),gze=ge(require(\"path\")),OAe=ge(require(\"util\"));function vL(r,{basePath:e}){let t=H.toPortablePath(e),i=x.resolve(t),n=r.ignorePatternData!==null?new RegExp(r.ignorePatternData):null,s=new Map,o=new Map(r.packageRegistryData.map(([g,f])=>[g,new Map(f.map(([h,p])=>{var k;if(g===null!=(h===null))throw new Error(\"Assertion failed: The name and reference should be null, or neither should\");let m=(k=p.discardFromLookup)!=null?k:!1,y={name:g,reference:h},b=s.get(p.packageLocation);b?(b.discardFromLookup=b.discardFromLookup&&m,m||(b.locator=y)):s.set(p.packageLocation,{locator:y,discardFromLookup:m});let v=null;return[h,{packageDependencies:new Map(p.packageDependencies),packagePeers:new Set(p.packagePeers),linkType:p.linkType,discardFromLookup:m,get packageLocation(){return v||(v=x.join(i,p.packageLocation))}}]}))])),a=new Map(r.fallbackExclusionList.map(([g,f])=>[g,new Set(f)])),l=new Map(r.fallbackPool),c=r.dependencyTreeRoots,u=r.enableTopLevelFallback;return{basePath:t,dependencyTreeRoots:c,enableTopLevelFallback:u,fallbackExclusionList:a,fallbackPool:l,ignorePattern:n,packageLocatorsByLocations:s,packageRegistry:o}}var Hm=ge(require(\"module\"));function oh(r,e){if(typeof r==\"string\")return r;if(r){let t,i;if(Array.isArray(r)){for(t=0;t<r.length;t++)if(i=oh(r[t],e))return i}else for(t in r)if(e.has(t))return oh(r[t],e)}}function ku(r,e,t){throw new Error(t?`No known conditions for \"${e}\" entry in \"${r}\" package`:`Missing \"${e}\" export in \"${r}\" package`)}function aze(r,e){return e===r?\".\":e[0]===\".\"?e:e.replace(new RegExp(\"^\"+r+\"/\"),\"./\")}function NAe(r,e=\".\",t={}){let{name:i,exports:n}=r;if(n){let{browser:s,require:o,unsafe:a,conditions:l=[]}=t,c=aze(i,e);if(c[0]!==\".\"&&(c=\"./\"+c),typeof n==\"string\")return c===\".\"?n:ku(i,c);let u=new Set([\"default\",...l]);a||u.add(o?\"require\":\"import\"),a||u.add(s?\"browser\":\"node\");let g,f,h=!1;for(g in n){h=g[0]!==\".\";break}if(h)return c===\".\"?oh(n,u)||ku(i,c,1):ku(i,c);if(f=n[c])return oh(f,u)||ku(i,c,1);for(g in n){if(f=g[g.length-1],f===\"/\"&&c.startsWith(g))return(f=oh(n[g],u))?f+c.substring(g.length):ku(i,c,1);if(f===\"*\"&&c.startsWith(g.slice(0,-1))&&c.substring(g.length-1).length>0)return(f=oh(n[g],u))?f.replace(\"*\",c.substring(g.length-1)):ku(i,c,1)}return ku(i,c)}}var kL=ge(require(\"util\"));var ur;(function(c){c.API_ERROR=\"API_ERROR\",c.BUILTIN_NODE_RESOLUTION_FAILED=\"BUILTIN_NODE_RESOLUTION_FAILED\",c.EXPORTS_RESOLUTION_FAILED=\"EXPORTS_RESOLUTION_FAILED\",c.MISSING_DEPENDENCY=\"MISSING_DEPENDENCY\",c.MISSING_PEER_DEPENDENCY=\"MISSING_PEER_DEPENDENCY\",c.QUALIFIED_PATH_RESOLUTION_FAILED=\"QUALIFIED_PATH_RESOLUTION_FAILED\",c.INTERNAL=\"INTERNAL\",c.UNDECLARED_DEPENDENCY=\"UNDECLARED_DEPENDENCY\",c.UNSUPPORTED=\"UNSUPPORTED\"})(ur||(ur={}));var Aze=new Set([ur.BUILTIN_NODE_RESOLUTION_FAILED,ur.MISSING_DEPENDENCY,ur.MISSING_PEER_DEPENDENCY,ur.QUALIFIED_PATH_RESOLUTION_FAILED,ur.UNDECLARED_DEPENDENCY]);function ai(r,e,t={},i){i!=null||(i=Aze.has(r)?\"MODULE_NOT_FOUND\":r);let n={configurable:!0,writable:!0,enumerable:!1};return Object.defineProperties(new Error(e),{code:te(N({},n),{value:i}),pnpCode:te(N({},n),{value:r}),data:te(N({},n),{value:t})})}function Qo(r){return H.normalize(H.fromPortablePath(r))}var lze=ge(require(\"fs\")),LAe=ge(require(\"module\")),cze=ge(require(\"path\")),uze=new Set(LAe.Module.builtinModules||Object.keys(process.binding(\"natives\"))),rb=r=>r.startsWith(\"node:\")||uze.has(r);function xL(r,e){let t=Number(process.env.PNP_ALWAYS_WARN_ON_FALLBACK)>0,i=Number(process.env.PNP_DEBUG_LEVEL),n=/^(?![a-zA-Z]:[\\\\/]|\\\\\\\\|\\.{0,2}(?:\\/|$))((?:node:)?(?:@[^/]+\\/)?[^/]+)\\/*(.*|)$/,s=/^(\\/|\\.{1,2}(\\/|$))/,o=/\\/$/,a=/^\\.{0,2}\\//,l={name:null,reference:null},c=[],u=new Set;if(r.enableTopLevelFallback===!0&&c.push(l),e.compatibilityMode!==!1)for(let re of[\"react-scripts\",\"gatsby\"]){let se=r.packageRegistry.get(re);if(se)for(let be of se.keys()){if(be===null)throw new Error(\"Assertion failed: This reference shouldn't be null\");c.push({name:re,reference:be})}}let{ignorePattern:g,packageRegistry:f,packageLocatorsByLocations:h}=r;function p(re,se){return{fn:re,args:se,error:null,result:null}}function m(re){var Ue,xe,ve,pe,V,Qe;let se=(ve=(xe=(Ue=process.stderr)==null?void 0:Ue.hasColors)==null?void 0:xe.call(Ue))!=null?ve:process.stdout.isTTY,be=(le,fe)=>`\u001b[${le}m${fe}\u001b[0m`,he=re.error;console.error(he?be(\"31;1\",`\\u2716 ${(pe=re.error)==null?void 0:pe.message.replace(/\\n.*/s,\"\")}`):be(\"33;1\",\"\\u203C Resolution\")),re.args.length>0&&console.error();for(let le of re.args)console.error(`  ${be(\"37;1\",\"In \\u2190\")} ${(0,kL.inspect)(le,{colors:se,compact:!0})}`);re.result&&(console.error(),console.error(`  ${be(\"37;1\",\"Out \\u2192\")} ${(0,kL.inspect)(re.result,{colors:se,compact:!0})}`));let Fe=(Qe=(V=new Error().stack.match(/(?<=^ +)at.*/gm))==null?void 0:V.slice(2))!=null?Qe:[];if(Fe.length>0){console.error();for(let le of Fe)console.error(`  ${be(\"38;5;244\",le)}`)}console.error()}function y(re,se){if(e.allowDebug===!1)return se;if(Number.isFinite(i)){if(i>=2)return(...be)=>{let he=p(re,be);try{return he.result=se(...be)}catch(Fe){throw he.error=Fe}finally{m(he)}};if(i>=1)return(...be)=>{try{return se(...be)}catch(he){let Fe=p(re,be);throw Fe.error=he,m(Fe),he}}}return se}function b(re){let se=A(re);if(!se)throw ai(ur.INTERNAL,\"Couldn't find a matching entry in the dependency tree for the specified parent (this is probably an internal error)\");return se}function v(re){if(re.name===null)return!0;for(let se of r.dependencyTreeRoots)if(se.name===re.name&&se.reference===re.reference)return!0;return!1}let k=new Set([\"default\",\"node\",\"require\"]);function T(re,se=k){let be=Z(x.join(re,\"internal.js\"),{resolveIgnored:!0,includeDiscardFromLookup:!0});if(be===null)throw ai(ur.INTERNAL,`The locator that owns the \"${re}\" path can't be found inside the dependency tree (this is probably an internal error)`);let{packageLocation:he}=b(be),Fe=x.join(he,xt.manifest);if(!e.fakeFs.existsSync(Fe))return null;let Ue=JSON.parse(e.fakeFs.readFileSync(Fe,\"utf8\")),xe=x.contains(he,re);if(xe===null)throw ai(ur.INTERNAL,\"unqualifiedPath doesn't contain the packageLocation (this is probably an internal error)\");a.test(xe)||(xe=`./${xe}`);let ve;try{ve=NAe(Ue,x.normalize(xe),{conditions:se,unsafe:!0})}catch(pe){throw ai(ur.EXPORTS_RESOLUTION_FAILED,pe.message,{unqualifiedPath:Qo(re),locator:be,pkgJson:Ue,subpath:Qo(xe),conditions:se},\"ERR_PACKAGE_PATH_NOT_EXPORTED\")}return typeof ve==\"string\"?x.join(he,ve):null}function Y(re,se,{extensions:be}){let he;try{se.push(re),he=e.fakeFs.statSync(re)}catch(Fe){}if(he&&!he.isDirectory())return e.fakeFs.realpathSync(re);if(he&&he.isDirectory()){let Fe;try{Fe=JSON.parse(e.fakeFs.readFileSync(x.join(re,xt.manifest),\"utf8\"))}catch(xe){}let Ue;if(Fe&&Fe.main&&(Ue=x.resolve(re,Fe.main)),Ue&&Ue!==re){let xe=Y(Ue,se,{extensions:be});if(xe!==null)return xe}}for(let Fe=0,Ue=be.length;Fe<Ue;Fe++){let xe=`${re}${be[Fe]}`;if(se.push(xe),e.fakeFs.existsSync(xe))return xe}if(he&&he.isDirectory())for(let Fe=0,Ue=be.length;Fe<Ue;Fe++){let xe=x.format({dir:re,name:\"index\",ext:be[Fe]});if(se.push(xe),e.fakeFs.existsSync(xe))return xe}return null}function q(re){let se=new Hm.Module(re,null);return se.filename=re,se.paths=Hm.Module._nodeModulePaths(re),se}function $(re,se){return se.endsWith(\"/\")&&(se=x.join(se,\"internal.js\")),Hm.Module._resolveFilename(H.fromPortablePath(re),q(H.fromPortablePath(se)),!1,{plugnplay:!1})}function z(re){if(g===null)return!1;let se=x.contains(r.basePath,re);return se===null?!1:!!g.test(se.replace(/\\/$/,\"\"))}let ne={std:3,resolveVirtual:1,getAllLocators:1},ee=l;function A({name:re,reference:se}){let be=f.get(re);if(!be)return null;let he=be.get(se);return he||null}function oe({name:re,reference:se}){let be=[];for(let[he,Fe]of f)if(he!==null)for(let[Ue,xe]of Fe)Ue===null||xe.packageDependencies.get(re)!==se||he===re&&Ue===se||be.push({name:he,reference:Ue});return be}function ce(re,se){let be=new Map,he=new Set,Fe=xe=>{let ve=JSON.stringify(xe.name);if(he.has(ve))return;he.add(ve);let pe=oe(xe);for(let V of pe)if(b(V).packagePeers.has(re))Fe(V);else{let le=be.get(V.name);typeof le==\"undefined\"&&be.set(V.name,le=new Set),le.add(V.reference)}};Fe(se);let Ue=[];for(let xe of[...be.keys()].sort())for(let ve of[...be.get(xe)].sort())Ue.push({name:xe,reference:ve});return Ue}function Z(re,{resolveIgnored:se=!1,includeDiscardFromLookup:be=!1}={}){if(z(re)&&!se)return null;let he=x.relative(r.basePath,re);he.match(s)||(he=`./${he}`),he.endsWith(\"/\")||(he=`${he}/`);do{let Fe=h.get(he);if(typeof Fe==\"undefined\"||Fe.discardFromLookup&&!be){he=he.substring(0,he.lastIndexOf(\"/\",he.length-2)+1);continue}return Fe.locator}while(he!==\"\");return null}function O(re,se,{considerBuiltins:be=!0}={}){if(re===\"pnpapi\")return H.toPortablePath(e.pnpapiResolution);if(be&&rb(re))return null;let he=Qo(re),Fe=se&&Qo(se);if(se&&z(se)&&(!x.isAbsolute(re)||Z(re)===null)){let ve=$(re,se);if(ve===!1)throw ai(ur.BUILTIN_NODE_RESOLUTION_FAILED,`The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer was explicitely ignored by the regexp)\n\nRequire request: \"${he}\"\nRequired by: ${Fe}\n`,{request:he,issuer:Fe});return H.toPortablePath(ve)}let Ue,xe=re.match(n);if(xe){if(!se)throw ai(ur.API_ERROR,\"The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute\",{request:he,issuer:Fe});let[,ve,pe]=xe,V=Z(se);if(!V){let jt=$(re,se);if(jt===!1)throw ai(ur.BUILTIN_NODE_RESOLUTION_FAILED,`The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer doesn't seem to be part of the Yarn-managed dependency tree).\n\nRequire path: \"${he}\"\nRequired by: ${Fe}\n`,{request:he,issuer:Fe});return H.toPortablePath(jt)}let le=b(V).packageDependencies.get(ve),fe=null;if(le==null&&V.name!==null){let jt=r.fallbackExclusionList.get(V.name);if(!jt||!jt.has(V.reference)){for(let Oi=0,$s=c.length;Oi<$s;++Oi){let jn=b(c[Oi]).packageDependencies.get(ve);if(jn!=null){t?fe=jn:le=jn;break}}if(r.enableTopLevelFallback&&le==null&&fe===null){let Oi=r.fallbackPool.get(ve);Oi!=null&&(fe=Oi)}}}let gt=null;if(le===null)if(v(V))gt=ai(ur.MISSING_PEER_DEPENDENCY,`Your application tried to access ${ve} (a peer dependency); this isn't allowed as there is no ancestor to satisfy the requirement. Use a devDependency if needed.\n\nRequired package: ${ve}${ve!==he?` (via \"${he}\")`:\"\"}\nRequired by: ${Fe}\n`,{request:he,issuer:Fe,dependencyName:ve});else{let jt=ce(ve,V);jt.every(Qr=>v(Qr))?gt=ai(ur.MISSING_PEER_DEPENDENCY,`${V.name} tried to access ${ve} (a peer dependency) but it isn't provided by your application; this makes the require call ambiguous and unsound.\n\nRequired package: ${ve}${ve!==he?` (via \"${he}\")`:\"\"}\nRequired by: ${V.name}@${V.reference} (via ${Fe})\n${jt.map(Qr=>`Ancestor breaking the chain: ${Qr.name}@${Qr.reference}\n`).join(\"\")}\n`,{request:he,issuer:Fe,issuerLocator:Object.assign({},V),dependencyName:ve,brokenAncestors:jt}):gt=ai(ur.MISSING_PEER_DEPENDENCY,`${V.name} tried to access ${ve} (a peer dependency) but it isn't provided by its ancestors; this makes the require call ambiguous and unsound.\n\nRequired package: ${ve}${ve!==he?` (via \"${he}\")`:\"\"}\nRequired by: ${V.name}@${V.reference} (via ${Fe})\n\n${jt.map(Qr=>`Ancestor breaking the chain: ${Qr.name}@${Qr.reference}\n`).join(\"\")}\n`,{request:he,issuer:Fe,issuerLocator:Object.assign({},V),dependencyName:ve,brokenAncestors:jt})}else le===void 0&&(!be&&rb(re)?v(V)?gt=ai(ur.UNDECLARED_DEPENDENCY,`Your application tried to access ${ve}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${ve} isn't otherwise declared in your dependencies, this makes the require call ambiguous and unsound.\n\nRequired package: ${ve}${ve!==he?` (via \"${he}\")`:\"\"}\nRequired by: ${Fe}\n`,{request:he,issuer:Fe,dependencyName:ve}):gt=ai(ur.UNDECLARED_DEPENDENCY,`${V.name} tried to access ${ve}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${ve} isn't otherwise declared in ${V.name}'s dependencies, this makes the require call ambiguous and unsound.\n\nRequired package: ${ve}${ve!==he?` (via \"${he}\")`:\"\"}\nRequired by: ${Fe}\n`,{request:he,issuer:Fe,issuerLocator:Object.assign({},V),dependencyName:ve}):v(V)?gt=ai(ur.UNDECLARED_DEPENDENCY,`Your application tried to access ${ve}, but it isn't declared in your dependencies; this makes the require call ambiguous and unsound.\n\nRequired package: ${ve}${ve!==he?` (via \"${he}\")`:\"\"}\nRequired by: ${Fe}\n`,{request:he,issuer:Fe,dependencyName:ve}):gt=ai(ur.UNDECLARED_DEPENDENCY,`${V.name} tried to access ${ve}, but it isn't declared in its dependencies; this makes the require call ambiguous and unsound.\n\nRequired package: ${ve}${ve!==he?` (via \"${he}\")`:\"\"}\nRequired by: ${V.name}@${V.reference} (via ${Fe})\n`,{request:he,issuer:Fe,issuerLocator:Object.assign({},V),dependencyName:ve}));if(le==null){if(fe===null||gt===null)throw gt||new Error(\"Assertion failed: Expected an error to have been set\");le=fe;let jt=gt.message.replace(/\\n.*/g,\"\");gt.message=jt,!u.has(jt)&&i!==0&&(u.add(jt),process.emitWarning(gt))}let Ht=Array.isArray(le)?{name:le[0],reference:le[1]}:{name:ve,reference:le},Mt=b(Ht);if(!Mt.packageLocation)throw ai(ur.MISSING_DEPENDENCY,`A dependency seems valid but didn't get installed for some reason. This might be caused by a partial install, such as dev vs prod.\n\nRequired package: ${Ht.name}@${Ht.reference}${Ht.name!==he?` (via \"${he}\")`:\"\"}\nRequired by: ${V.name}@${V.reference} (via ${Fe})\n`,{request:he,issuer:Fe,dependencyLocator:Object.assign({},Ht)});let Ei=Mt.packageLocation;pe?Ue=x.join(Ei,pe):Ue=Ei}else if(x.isAbsolute(re))Ue=x.normalize(re);else{if(!se)throw ai(ur.API_ERROR,\"The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute\",{request:he,issuer:Fe});let ve=x.resolve(se);se.match(o)?Ue=x.normalize(x.join(ve,re)):Ue=x.normalize(x.join(x.dirname(ve),re))}return x.normalize(Ue)}function L(re,se,be=k){if(s.test(re))return se;let he=T(se,be);return he?x.normalize(he):se}function de(re,{extensions:se=Object.keys(Hm.Module._extensions)}={}){var Fe,Ue;let be=[],he=Y(re,be,{extensions:se});if(he)return x.normalize(he);{let xe=Qo(re),ve=Z(re);if(ve){let{packageLocation:pe}=b(ve),V=!0;try{e.fakeFs.accessSync(pe)}catch(Qe){if((Qe==null?void 0:Qe.code)===\"ENOENT\")V=!1;else{let le=((Ue=(Fe=Qe==null?void 0:Qe.message)!=null?Fe:Qe)!=null?Ue:\"empty exception thrown\").replace(/^[A-Z]/,fe=>fe.toLowerCase());throw ai(ur.QUALIFIED_PATH_RESOLUTION_FAILED,`Required package exists but could not be accessed (${le}).\n\nMissing package: ${ve.name}@${ve.reference}\nExpected package location: ${Qo(pe)}\n`,{unqualifiedPath:xe,extensions:se})}}if(!V){let Qe=pe.includes(\"/unplugged/\")?\"Required unplugged package missing from disk. This may happen when switching branches without running installs (unplugged packages must be fully materialized on disk to work).\":\"Required package missing from disk. If you keep your packages inside your repository then restarting the Node process may be enough. Otherwise, try to run an install first.\";throw ai(ur.QUALIFIED_PATH_RESOLUTION_FAILED,`${Qe}\n\nMissing package: ${ve.name}@${ve.reference}\nExpected package location: ${Qo(pe)}\n`,{unqualifiedPath:xe,extensions:se})}}throw ai(ur.QUALIFIED_PATH_RESOLUTION_FAILED,`Qualified path resolution failed: we looked for the following paths, but none could be accessed.\n\nSource path: ${xe}\n${be.map(pe=>`Not found: ${Qo(pe)}\n`).join(\"\")}`,{unqualifiedPath:xe,extensions:se})}}function Be(re,se,{considerBuiltins:be,extensions:he,conditions:Fe}={}){try{let Ue=O(re,se,{considerBuiltins:be});if(re===\"pnpapi\")return Ue;if(Ue===null)return null;let xe=()=>se!==null?z(se):!1,ve=(!be||!rb(re))&&!xe()?L(re,Ue,Fe):Ue;return de(ve,{extensions:he})}catch(Ue){throw Object.prototype.hasOwnProperty.call(Ue,\"pnpCode\")&&Object.assign(Ue.data,{request:Qo(re),issuer:se&&Qo(se)}),Ue}}function Ge(re){let se=x.normalize(re),be=Wr.resolveVirtual(se);return be!==se?be:null}return{VERSIONS:ne,topLevel:ee,getLocator:(re,se)=>Array.isArray(se)?{name:se[0],reference:se[1]}:{name:re,reference:se},getDependencyTreeRoots:()=>[...r.dependencyTreeRoots],getAllLocators(){let re=[];for(let[se,be]of f)for(let he of be.keys())se!==null&&he!==null&&re.push({name:se,reference:he});return re},getPackageInformation:re=>{let se=A(re);if(se===null)return null;let be=H.fromPortablePath(se.packageLocation);return te(N({},se),{packageLocation:be})},findPackageLocator:re=>Z(H.toPortablePath(re)),resolveToUnqualified:y(\"resolveToUnqualified\",(re,se,be)=>{let he=se!==null?H.toPortablePath(se):null,Fe=O(H.toPortablePath(re),he,be);return Fe===null?null:H.fromPortablePath(Fe)}),resolveUnqualified:y(\"resolveUnqualified\",(re,se)=>H.fromPortablePath(de(H.toPortablePath(re),se))),resolveRequest:y(\"resolveRequest\",(re,se,be)=>{let he=se!==null?H.toPortablePath(se):null,Fe=Be(H.toPortablePath(re),he,be);return Fe===null?null:H.fromPortablePath(Fe)}),resolveVirtual:y(\"resolveVirtual\",re=>{let se=Ge(H.toPortablePath(re));return se!==null?H.fromPortablePath(se):null})}}var U0t=(0,OAe.promisify)(TAe.readFile);var MAe=(r,e,t)=>{let i=Km(r),n=vL(i,{basePath:e}),s=H.join(e,xt.pnpCjs);return xL(n,{fakeFs:t,pnpapiResolution:s})};var DL=ge(KAe());var ma={};ft(ma,{checkAndReportManifestCompatibility:()=>jAe,checkManifestCompatibility:()=>HAe,extractBuildScripts:()=>ib,getExtractHint:()=>RL,hasBindingGyp:()=>FL});function HAe(r){return P.isPackageCompatible(r,Xg.getArchitectureSet())}function jAe(r,e,{configuration:t,report:i}){return HAe(r)?!0:(i==null||i.reportWarningOnce(X.INCOMPATIBLE_ARCHITECTURE,`${P.prettyLocator(t,r)} The ${Xg.getArchitectureName()} architecture is incompatible with this package, ${e} skipped.`),!1)}function ib(r,e,t,{configuration:i,report:n}){let s=[];for(let a of[\"preinstall\",\"install\",\"postinstall\"])e.manifest.scripts.has(a)&&s.push([cs.SCRIPT,a]);return!e.manifest.scripts.has(\"install\")&&e.misc.hasBindingGyp&&s.push([cs.SHELLCODE,\"node-gyp rebuild\"]),s.length===0?[]:r.linkType!==Qt.HARD?(n==null||n.reportWarningOnce(X.SOFT_LINK_BUILD,`${P.prettyLocator(i,r)} lists build scripts, but is referenced through a soft link. Soft links don't support build scripts, so they'll be ignored.`),[]):t&&t.built===!1?(n==null||n.reportInfoOnce(X.BUILD_DISABLED,`${P.prettyLocator(i,r)} lists build scripts, but its build has been explicitly disabled through configuration.`),[]):!i.get(\"enableScripts\")&&!t.built?(n==null||n.reportWarningOnce(X.DISABLED_BUILD_SCRIPTS,`${P.prettyLocator(i,r)} lists build scripts, but all build scripts have been disabled.`),[]):jAe(r,\"build\",{configuration:i,report:n})?s:[]}var fze=new Set([\".exe\",\".h\",\".hh\",\".hpp\",\".c\",\".cc\",\".cpp\",\".java\",\".jar\",\".node\"]);function RL(r){return r.packageFs.getExtractHint({relevantExtensions:fze})}function FL(r){let e=x.join(r.prefixPath,\"binding.gyp\");return r.packageFs.existsSync(e)}var NL={};ft(NL,{getUnpluggedPath:()=>jm});function jm(r,{configuration:e}){return x.resolve(e.get(\"pnpUnpluggedFolder\"),P.slugifyLocator(r))}var hze=new Set([P.makeIdent(null,\"nan\").identHash,P.makeIdent(null,\"node-gyp\").identHash,P.makeIdent(null,\"node-pre-gyp\").identHash,P.makeIdent(null,\"node-addon-api\").identHash,P.makeIdent(null,\"fsevents\").identHash,P.makeIdent(null,\"open\").identHash,P.makeIdent(null,\"opn\").identHash]),xu=class{constructor(){this.mode=\"strict\";this.pnpCache=new Map}supportsPackage(e,t){return this.isEnabled(t)}async findPackageLocation(e,t){if(!this.isEnabled(t))throw new Error(\"Assertion failed: Expected the PnP linker to be enabled\");let i=Ol(t.project).cjs;if(!U.existsSync(i))throw new Pe(`The project in ${ae.pretty(t.project.configuration,`${t.project.cwd}/package.json`,ae.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let n=Se.getFactoryWithDefault(this.pnpCache,i,()=>Se.dynamicRequire(i,{cachingStrategy:Se.CachingStrategy.FsTime})),s={name:P.stringifyIdent(e),reference:e.reference},o=n.getPackageInformation(s);if(!o)throw new Pe(`Couldn't find ${P.prettyLocator(t.project.configuration,e)} in the currently installed PnP map - running an install might help`);return H.toPortablePath(o.packageLocation)}async findPackageLocator(e,t){if(!this.isEnabled(t))return null;let i=Ol(t.project).cjs;if(!U.existsSync(i))return null;let s=Se.getFactoryWithDefault(this.pnpCache,i,()=>Se.dynamicRequire(i,{cachingStrategy:Se.CachingStrategy.FsTime})).findPackageLocator(H.fromPortablePath(e));return s?P.makeLocator(P.parseIdent(s.name),s.reference):null}makeInstaller(e){return new ah(e)}isEnabled(e){return!(e.project.configuration.get(\"nodeLinker\")!==\"pnp\"||e.project.configuration.get(\"pnpMode\")!==this.mode)}},ah=class{constructor(e){this.opts=e;this.mode=\"strict\";this.asyncActions=new Se.AsyncActions(10);this.packageRegistry=new Map;this.virtualTemplates=new Map;this.isESMLoaderRequired=!1;this.customData={store:new Map};this.unpluggedPaths=new Set;this.opts=e}getCustomDataKey(){return JSON.stringify({name:\"PnpInstaller\",version:2})}attachCustomData(e){this.customData=e}async installPackage(e,t,i){let n=P.stringifyIdent(e),s=e.reference,o=!!this.opts.project.tryWorkspaceByLocator(e),a=P.isVirtualLocator(e),l=e.peerDependencies.size>0&&!a,c=!l&&!o,u=!l&&e.linkType!==Qt.SOFT,g,f;if(c||u){let k=a?P.devirtualizeLocator(e):e;g=this.customData.store.get(k.locatorHash),typeof g==\"undefined\"&&(g=await pze(t),e.linkType===Qt.HARD&&this.customData.store.set(k.locatorHash,g)),g.manifest.type===\"module\"&&(this.isESMLoaderRequired=!0),f=this.opts.project.getDependencyMeta(k,e.version)}let h=c?ib(e,g,f,{configuration:this.opts.project.configuration,report:this.opts.report}):[],p=u?await this.unplugPackageIfNeeded(e,g,t,f,i):t.packageFs;if(x.isAbsolute(t.prefixPath))throw new Error(`Assertion failed: Expected the prefix path (${t.prefixPath}) to be relative to the parent`);let m=x.resolve(p.getRealPath(),t.prefixPath),y=LL(this.opts.project.cwd,m),b=new Map,v=new Set;if(a){for(let k of e.peerDependencies.values())b.set(P.stringifyIdent(k),null),v.add(P.stringifyIdent(k));if(!o){let k=P.devirtualizeLocator(e);this.virtualTemplates.set(k.locatorHash,{location:LL(this.opts.project.cwd,Wr.resolveVirtual(m)),locator:k})}}return Se.getMapWithDefault(this.packageRegistry,n).set(s,{packageLocation:y,packageDependencies:b,packagePeers:v,linkType:e.linkType,discardFromLookup:t.discardFromLookup||!1}),{packageLocation:m,buildDirective:h.length>0?h:null}}async attachInternalDependencies(e,t){let i=this.getPackageInformation(e);for(let[n,s]of t){let o=P.areIdentsEqual(n,s)?s.reference:[P.stringifyIdent(s),s.reference];i.packageDependencies.set(P.stringifyIdent(n),o)}}async attachExternalDependents(e,t){for(let i of t)this.getDiskInformation(i).packageDependencies.set(P.stringifyIdent(e),e.reference)}async finalizeInstall(){if(this.opts.project.configuration.get(\"pnpMode\")!==this.mode)return;let e=Ol(this.opts.project);if(U.existsSync(e.cjsLegacy)&&(this.opts.report.reportWarning(X.UNNAMED,`Removing the old ${ae.pretty(this.opts.project.configuration,xt.pnpJs,ae.Type.PATH)} file. You might need to manually update existing references to reference the new ${ae.pretty(this.opts.project.configuration,xt.pnpCjs,ae.Type.PATH)} file. If you use Editor SDKs, you'll have to rerun ${ae.pretty(this.opts.project.configuration,\"yarn sdks\",ae.Type.CODE)}.`),await U.removePromise(e.cjsLegacy)),this.isEsmEnabled()||await U.removePromise(e.esmLoader),this.opts.project.configuration.get(\"nodeLinker\")!==\"pnp\"){await U.removePromise(e.cjs),await U.removePromise(this.opts.project.configuration.get(\"pnpDataPath\")),await U.removePromise(e.esmLoader);return}for(let{locator:u,location:g}of this.virtualTemplates.values())Se.getMapWithDefault(this.packageRegistry,P.stringifyIdent(u)).set(u.reference,{packageLocation:g,packageDependencies:new Map,packagePeers:new Set,linkType:Qt.SOFT,discardFromLookup:!1});this.packageRegistry.set(null,new Map([[null,this.getPackageInformation(this.opts.project.topLevelWorkspace.anchoredLocator)]]));let t=this.opts.project.configuration.get(\"pnpFallbackMode\"),i=this.opts.project.workspaces.map(({anchoredLocator:u})=>({name:P.stringifyIdent(u),reference:u.reference})),n=t!==\"none\",s=[],o=new Map,a=Se.buildIgnorePattern([\".yarn/sdks/**\",...this.opts.project.configuration.get(\"pnpIgnorePatterns\")]),l=this.packageRegistry,c=this.opts.project.configuration.get(\"pnpShebang\");if(t===\"dependencies-only\")for(let u of this.opts.project.storedPackages.values())this.opts.project.tryWorkspaceByLocator(u)&&s.push({name:P.stringifyIdent(u),reference:u.reference});return await this.asyncActions.wait(),await this.finalizeInstallWithPnp({dependencyTreeRoots:i,enableTopLevelFallback:n,fallbackExclusionList:s,fallbackPool:o,ignorePattern:a,packageRegistry:l,shebang:c}),{customData:this.customData}}async transformPnpSettings(e){}isEsmEnabled(){if(this.opts.project.configuration.sources.has(\"pnpEnableEsmLoader\"))return this.opts.project.configuration.get(\"pnpEnableEsmLoader\");if(this.isESMLoaderRequired)return!0;for(let e of this.opts.project.workspaces)if(e.manifest.type===\"module\")return!0;return!1}async finalizeInstallWithPnp(e){let t=Ol(this.opts.project),i=this.opts.project.configuration.get(\"pnpDataPath\"),n=await this.locateNodeModules(e.ignorePattern);if(n.length>0){this.opts.report.reportWarning(X.DANGEROUS_NODE_MODULES,\"One or more node_modules have been detected and will be removed. This operation may take some time.\");for(let o of n)await U.removePromise(o)}if(await this.transformPnpSettings(e),this.opts.project.configuration.get(\"pnpEnableInlining\")){let o=RAe(e);await U.changeFilePromise(t.cjs,o,{automaticNewlines:!0,mode:493}),await U.removePromise(i)}else{let o=x.relative(x.dirname(t.cjs),i),{dataFile:a,loaderFile:l}=FAe(te(N({},e),{dataLocation:o}));await U.changeFilePromise(t.cjs,l,{automaticNewlines:!0,mode:493}),await U.changeFilePromise(i,a,{automaticNewlines:!0,mode:420})}this.isEsmEnabled()&&(this.opts.report.reportWarning(X.UNNAMED,\"ESM support for PnP uses the experimental loader API and is therefore experimental\"),await U.changeFilePromise(t.esmLoader,(0,DL.default)(),{automaticNewlines:!0,mode:420}));let s=this.opts.project.configuration.get(\"pnpUnpluggedFolder\");if(this.unpluggedPaths.size===0)await U.removePromise(s);else for(let o of await U.readdirPromise(s)){let a=x.resolve(s,o);this.unpluggedPaths.has(a)||await U.removePromise(a)}}async locateNodeModules(e){let t=[],i=e?new RegExp(e):null;for(let n of this.opts.project.workspaces){let s=x.join(n.cwd,\"node_modules\");if(i&&i.test(x.relative(this.opts.project.cwd,n.cwd))||!U.existsSync(s))continue;let o=await U.readdirPromise(s,{withFileTypes:!0}),a=o.filter(l=>!l.isDirectory()||l.name===\".bin\"||!l.name.startsWith(\".\"));if(a.length===o.length)t.push(s);else for(let l of a)t.push(x.join(s,l.name))}return t}async unplugPackageIfNeeded(e,t,i,n,s){return this.shouldBeUnplugged(e,t,n)?this.unplugPackage(e,i,s):i.packageFs}shouldBeUnplugged(e,t,i){return typeof i.unplugged!=\"undefined\"?i.unplugged:hze.has(e.identHash)||e.conditions!=null?!0:t.manifest.preferUnplugged!==null?t.manifest.preferUnplugged:!!(ib(e,t,i,{configuration:this.opts.project.configuration}).length>0||t.misc.extractHint)}async unplugPackage(e,t,i){let n=jm(e,{configuration:this.opts.project.configuration});return this.opts.project.disabledLocators.has(e.locatorHash)?new La(n,{baseFs:t.packageFs,pathUtils:x}):(this.unpluggedPaths.add(n),i.holdFetchResult(this.asyncActions.set(e.locatorHash,async()=>{let s=x.join(n,t.prefixPath,\".ready\");await U.existsPromise(s)||(this.opts.project.storedBuildState.delete(e.locatorHash),await U.mkdirPromise(n,{recursive:!0}),await U.copyPromise(n,Me.dot,{baseFs:t.packageFs,overwrite:!1}),await U.writeFilePromise(s,\"\"))})),new _t(n))}getPackageInformation(e){let t=P.stringifyIdent(e),i=e.reference,n=this.packageRegistry.get(t);if(!n)throw new Error(`Assertion failed: The package information store should have been available (for ${P.prettyIdent(this.opts.project.configuration,e)})`);let s=n.get(i);if(!s)throw new Error(`Assertion failed: The package information should have been available (for ${P.prettyLocator(this.opts.project.configuration,e)})`);return s}getDiskInformation(e){let t=Se.getMapWithDefault(this.packageRegistry,\"@@disk\"),i=LL(this.opts.project.cwd,e);return Se.getFactoryWithDefault(t,i,()=>({packageLocation:i,packageDependencies:new Map,packagePeers:new Set,linkType:Qt.SOFT,discardFromLookup:!1}))}};function LL(r,e){let t=x.relative(r,e);return t.match(/^\\.{0,2}\\//)||(t=`./${t}`),t.replace(/\\/?$/,\"/\")}async function pze(r){var i;let e=(i=await At.tryFind(r.prefixPath,{baseFs:r.packageFs}))!=null?i:new At,t=new Set([\"preinstall\",\"install\",\"postinstall\"]);for(let n of e.scripts.keys())t.has(n)||e.scripts.delete(n);return{manifest:{scripts:e.scripts,preferUnplugged:e.preferUnplugged,type:e.type},misc:{extractHint:RL(r),hasBindingGyp:FL(r)}}}var GAe=ge(ns());var Gm=class extends Le{constructor(){super(...arguments);this.all=J.Boolean(\"-A,--all\",!1,{description:\"Unplug direct dependencies from the entire project\"});this.recursive=J.Boolean(\"-R,--recursive\",!1,{description:\"Unplug both direct and transitive dependencies\"});this.json=J.Boolean(\"--json\",!1,{description:\"Format the output as an NDJSON stream\"});this.patterns=J.Rest()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:t,workspace:i}=await ze.find(e,this.context.cwd),n=await Nt.find(e);if(!i)throw new ht(t.cwd,this.context.cwd);if(e.get(\"nodeLinker\")!==\"pnp\")throw new Pe(\"This command can only be used if the `nodeLinker` option is set to `pnp`\");await t.restoreInstallState();let s=new Set(this.patterns),o=this.patterns.map(f=>{let h=P.parseDescriptor(f),p=h.range!==\"unknown\"?h:P.makeDescriptor(h,\"*\");if(!Wt.validRange(p.range))throw new Pe(`The range of the descriptor patterns must be a valid semver range (${P.prettyDescriptor(e,p)})`);return m=>{let y=P.stringifyIdent(m);return!GAe.default.isMatch(y,P.stringifyIdent(p))||m.version&&!Wt.satisfiesWithPrereleases(m.version,p.range)?!1:(s.delete(f),!0)}}),a=()=>{let f=[];for(let h of t.storedPackages.values())!t.tryWorkspaceByLocator(h)&&!P.isVirtualLocator(h)&&o.some(p=>p(h))&&f.push(h);return f},l=f=>{let h=new Set,p=[],m=(y,b)=>{if(!h.has(y.locatorHash)&&(h.add(y.locatorHash),!t.tryWorkspaceByLocator(y)&&o.some(v=>v(y))&&p.push(y),!(b>0&&!this.recursive)))for(let v of y.dependencies.values()){let k=t.storedResolutions.get(v.descriptorHash);if(!k)throw new Error(\"Assertion failed: The resolution should have been registered\");let T=t.storedPackages.get(k);if(!T)throw new Error(\"Assertion failed: The package should have been registered\");m(T,b+1)}};for(let y of f){let b=t.storedPackages.get(y.anchoredLocator.locatorHash);if(!b)throw new Error(\"Assertion failed: The package should have been registered\");m(b,0)}return p},c,u;if(this.all&&this.recursive?(c=a(),u=\"the project\"):this.all?(c=l(t.workspaces),u=\"any workspace\"):(c=l([i]),u=\"this workspace\"),s.size>1)throw new Pe(`Patterns ${ae.prettyList(e,s,ae.Type.CODE)} don't match any packages referenced by ${u}`);if(s.size>0)throw new Pe(`Pattern ${ae.prettyList(e,s,ae.Type.CODE)} doesn't match any packages referenced by ${u}`);return c=Se.sortMap(c,f=>P.stringifyLocator(f)),(await Je.start({configuration:e,stdout:this.context.stdout,json:this.json},async f=>{var h;for(let p of c){let m=(h=p.version)!=null?h:\"unknown\",y=t.topLevelWorkspace.manifest.ensureDependencyMeta(P.makeDescriptor(p,m));y.unplugged=!0,f.reportInfo(X.UNNAMED,`Will unpack ${P.prettyLocator(e,p)} to ${ae.pretty(e,jm(p,{configuration:e}),ae.Type.PATH)}`),f.reportJson({locator:P.stringifyLocator(p),version:m})}await t.topLevelWorkspace.persistManifest(),f.reportSeparator(),await t.install({cache:n,report:f})})).exitCode()}};Gm.paths=[[\"unplug\"]],Gm.usage=Re.Usage({description:\"force the unpacking of a list of packages\",details:\"\\n      This command will add the selectors matching the specified patterns to the list of packages that must be unplugged when installed.\\n\\n      A package being unplugged means that instead of being referenced directly through its archive, it will be unpacked at install time in the directory configured via `pnpUnpluggedFolder`. Note that unpacking packages this way is generally not recommended because it'll make it harder to store your packages within the repository. However, it's a good approach to quickly and safely debug some packages, and can even sometimes be required depending on the context (for example when the package contains shellscripts).\\n\\n      Running the command will set a persistent flag inside your top-level `package.json`, in the `dependenciesMeta` field. As such, to undo its effects, you'll need to revert the changes made to the manifest and run `yarn install` to apply the modification.\\n\\n      By default, only direct dependencies from the current workspace are affected. If `-A,--all` is set, direct dependencies from the entire project are affected. Using the `-R,--recursive` flag will affect transitive dependencies as well as direct ones.\\n\\n      This command accepts glob patterns inside the scope and name components (not the range). Make sure to escape the patterns to prevent your own shell from trying to expand them.\\n    \",examples:[[\"Unplug the lodash dependency from the active workspace\",\"yarn unplug lodash\"],[\"Unplug all instances of lodash referenced by any workspace\",\"yarn unplug lodash -A\"],[\"Unplug all instances of lodash referenced by the active workspace and its dependencies\",\"yarn unplug lodash -R\"],[\"Unplug all instances of lodash, anywhere\",\"yarn unplug lodash -AR\"],[\"Unplug one specific version of lodash\",\"yarn unplug lodash@1.2.3\"],[\"Unplug all packages with the `@babel` scope\",\"yarn unplug '@babel/*'\"],[\"Unplug all packages (only for testing, not recommended)\",\"yarn unplug -R '*'\"]]});var YAe=Gm;var Ol=r=>({cjs:x.join(r.cwd,xt.pnpCjs),cjsLegacy:x.join(r.cwd,xt.pnpJs),esmLoader:x.join(r.cwd,\".pnp.loader.mjs\")}),WAe=r=>/\\s/.test(r)?JSON.stringify(r):r;async function dze(r,e,t){let i=Ol(r),n=`--require ${WAe(H.fromPortablePath(i.cjs))}`;if(U.existsSync(i.esmLoader)&&(n=`${n} --experimental-loader ${(0,JAe.pathToFileURL)(H.fromPortablePath(i.esmLoader)).href}`),i.cjs.includes(\" \")&&qAe.default.lt(process.versions.node,\"12.0.0\"))throw new Error(`Expected the build location to not include spaces when using Node < 12.0.0 (${process.versions.node})`);if(U.existsSync(i.cjs)){let s=e.NODE_OPTIONS||\"\",o=/\\s*--require\\s+\\S*\\.pnp\\.c?js\\s*/g,a=/\\s*--experimental-loader\\s+\\S*\\.pnp\\.loader\\.mjs\\s*/;s=s.replace(o,\" \").replace(a,\" \").trim(),s=s?`${n} ${s}`:n,e.NODE_OPTIONS=s}}async function Cze(r,e){let t=Ol(r);e(t.cjs),e(t.esmLoader),e(r.configuration.get(\"pnpDataPath\")),e(r.configuration.get(\"pnpUnpluggedFolder\"))}var mze={hooks:{populateYarnPaths:Cze,setupScriptEnvironment:dze},configuration:{nodeLinker:{description:'The linker used for installing Node packages, one of: \"pnp\", \"node-modules\"',type:Ie.STRING,default:\"pnp\"},pnpMode:{description:\"If 'strict', generates standard PnP maps. If 'loose', merges them with the n_m resolution.\",type:Ie.STRING,default:\"strict\"},pnpShebang:{description:\"String to prepend to the generated PnP script\",type:Ie.STRING,default:\"#!/usr/bin/env node\"},pnpIgnorePatterns:{description:\"Array of glob patterns; files matching them will use the classic resolution\",type:Ie.STRING,default:[],isArray:!0},pnpEnableEsmLoader:{description:\"If true, Yarn will generate an ESM loader (`.pnp.loader.mjs`). If this is not explicitly set Yarn tries to automatically detect whether ESM support is required.\",type:Ie.BOOLEAN,default:!1},pnpEnableInlining:{description:\"If true, the PnP data will be inlined along with the generated loader\",type:Ie.BOOLEAN,default:!0},pnpFallbackMode:{description:\"If true, the generated PnP loader will follow the top-level fallback rule\",type:Ie.STRING,default:\"dependencies-only\"},pnpUnpluggedFolder:{description:\"Folder where the unplugged packages must be stored\",type:Ie.ABSOLUTE_PATH,default:\"./.yarn/unplugged\"},pnpDataPath:{description:\"Path of the file where the PnP data (used by the loader) must be written\",type:Ie.ABSOLUTE_PATH,default:\"./.pnp.data.json\"}},linkers:[xu],commands:[YAe]},Eze=mze;var $Ae=ge(ZAe());var HL=ge(require(\"crypto\")),ele=ge(require(\"fs\")),tle=1,jr=\"node_modules\",nb=\".bin\",rle=\".yarn-state.yml\",Ti;(function(i){i.CLASSIC=\"classic\",i.HARDLINKS_LOCAL=\"hardlinks-local\",i.HARDLINKS_GLOBAL=\"hardlinks-global\"})(Ti||(Ti={}));var jL=class{constructor(){this.installStateCache=new Map}supportsPackage(e,t){return this.isEnabled(t)}async findPackageLocation(e,t){if(!this.isEnabled(t))throw new Error(\"Assertion failed: Expected the node-modules linker to be enabled\");let i=t.project.tryWorkspaceByLocator(e);if(i)return i.cwd;let n=await Se.getFactoryWithDefault(this.installStateCache,t.project.cwd,async()=>await GL(t.project,{unrollAliases:!0}));if(n===null)throw new Pe(\"Couldn't find the node_modules state file - running an install might help (findPackageLocation)\");let s=n.locatorMap.get(P.stringifyLocator(e));if(!s){let a=new Pe(`Couldn't find ${P.prettyLocator(t.project.configuration,e)} in the currently installed node_modules map - running an install might help`);throw a.code=\"LOCATOR_NOT_INSTALLED\",a}let o=t.project.configuration.startingCwd;return s.locations.find(a=>x.contains(o,a))||s.locations[0]}async findPackageLocator(e,t){if(!this.isEnabled(t))return null;let i=await Se.getFactoryWithDefault(this.installStateCache,t.project.cwd,async()=>await GL(t.project,{unrollAliases:!0}));if(i===null)return null;let{locationRoot:n,segments:s}=sb(x.resolve(e),{skipPrefix:t.project.cwd}),o=i.locationTree.get(n);if(!o)return null;let a=o.locator;for(let l of s){if(o=o.children.get(l),!o)break;a=o.locator||a}return P.parseLocator(a)}makeInstaller(e){return new ile(e)}isEnabled(e){return e.project.configuration.get(\"nodeLinker\")===\"node-modules\"}},ile=class{constructor(e){this.opts=e;this.localStore=new Map;this.realLocatorChecksums=new Map;this.customData={store:new Map}}getCustomDataKey(){return JSON.stringify({name:\"NodeModulesInstaller\",version:2})}attachCustomData(e){this.customData=e}async installPackage(e,t){var u;let i=x.resolve(t.packageFs.getRealPath(),t.prefixPath),n=this.customData.store.get(e.locatorHash);if(typeof n==\"undefined\"&&(n=await Tze(e,t),e.linkType===Qt.HARD&&this.customData.store.set(e.locatorHash,n)),!P.isPackageCompatible(e,this.opts.project.configuration.getSupportedArchitectures()))return{packageLocation:null,buildDirective:null};let s=new Map,o=new Set;s.has(P.stringifyIdent(e))||s.set(P.stringifyIdent(e),e.reference);let a=e;if(P.isVirtualLocator(e)){a=P.devirtualizeLocator(e);for(let g of e.peerDependencies.values())s.set(P.stringifyIdent(g),null),o.add(P.stringifyIdent(g))}let l={packageLocation:`${H.fromPortablePath(i)}/`,packageDependencies:s,packagePeers:o,linkType:e.linkType,discardFromLookup:(u=t.discardFromLookup)!=null?u:!1};this.localStore.set(e.locatorHash,{pkg:e,customPackageData:n,dependencyMeta:this.opts.project.getDependencyMeta(e,e.version),pnpNode:l});let c=t.checksum?t.checksum.substring(t.checksum.indexOf(\"/\")+1):null;return this.realLocatorChecksums.set(a.locatorHash,c),{packageLocation:i,buildDirective:null}}async attachInternalDependencies(e,t){let i=this.localStore.get(e.locatorHash);if(typeof i==\"undefined\")throw new Error(\"Assertion failed: Expected information object to have been registered\");for(let[n,s]of t){let o=P.areIdentsEqual(n,s)?s.reference:[P.stringifyIdent(s),s.reference];i.pnpNode.packageDependencies.set(P.stringifyIdent(n),o)}}async attachExternalDependents(e,t){throw new Error(\"External dependencies haven't been implemented for the node-modules linker\")}async finalizeInstall(){if(this.opts.project.configuration.get(\"nodeLinker\")!==\"node-modules\")return;let e=new Wr({baseFs:new ys({libzip:await fn(),maxOpenFiles:80,readOnlyArchives:!0})}),t=await GL(this.opts.project),i=this.opts.project.configuration.get(\"nmMode\");(t===null||i!==t.nmMode)&&(this.opts.project.storedBuildState.clear(),t={locatorMap:new Map,binSymlinks:new Map,locationTree:new Map,nmMode:i,mtimeMs:0});let n=new Map(this.opts.project.workspaces.map(f=>{var p,m;let h=this.opts.project.configuration.get(\"nmHoistingLimits\");try{h=Se.validateEnum(Kn,(m=(p=f.manifest.installConfig)==null?void 0:p.hoistingLimits)!=null?m:h)}catch(y){let b=P.prettyWorkspace(this.opts.project.configuration,f);this.opts.report.reportWarning(X.INVALID_MANIFEST,`${b}: Invalid 'installConfig.hoistingLimits' value. Expected one of ${Object.values(Kn).join(\", \")}, using default: \"${h}\"`)}return[f.relativeCwd,h]})),s=new Map(this.opts.project.workspaces.map(f=>{var p,m;let h=this.opts.project.configuration.get(\"nmSelfReferences\");return h=(m=(p=f.manifest.installConfig)==null?void 0:p.selfReferences)!=null?m:h,[f.relativeCwd,h]})),o={VERSIONS:{std:1},topLevel:{name:null,reference:null},getLocator:(f,h)=>Array.isArray(h)?{name:h[0],reference:h[1]}:{name:f,reference:h},getDependencyTreeRoots:()=>this.opts.project.workspaces.map(f=>{let h=f.anchoredLocator;return{name:P.stringifyIdent(f.locator),reference:h.reference}}),getPackageInformation:f=>{let h=f.reference===null?this.opts.project.topLevelWorkspace.anchoredLocator:P.makeLocator(P.parseIdent(f.name),f.reference),p=this.localStore.get(h.locatorHash);if(typeof p==\"undefined\")throw new Error(\"Assertion failed: Expected the package reference to have been registered\");return p.pnpNode},findPackageLocator:f=>{let h=this.opts.project.tryWorkspaceByCwd(H.toPortablePath(f));if(h!==null){let p=h.anchoredLocator;return{name:P.stringifyIdent(p),reference:p.reference}}throw new Error(\"Assertion failed: Unimplemented\")},resolveToUnqualified:()=>{throw new Error(\"Assertion failed: Unimplemented\")},resolveUnqualified:()=>{throw new Error(\"Assertion failed: Unimplemented\")},resolveRequest:()=>{throw new Error(\"Assertion failed: Unimplemented\")},resolveVirtual:f=>H.fromPortablePath(Wr.resolveVirtual(H.toPortablePath(f)))},{tree:a,errors:l,preserveSymlinksRequired:c}=Mm(o,{pnpifyFs:!1,validateExternalSoftLinks:!0,hoistingLimitsByCwd:n,project:this.opts.project,selfReferencesByCwd:s});if(!a){for(let{messageName:f,text:h}of l)this.opts.report.reportError(f,h);return}let u=bL(a);await Oze(t,u,{baseFs:e,project:this.opts.project,report:this.opts.report,realLocatorChecksums:this.realLocatorChecksums,loadManifest:async f=>{let h=P.parseLocator(f),p=this.localStore.get(h.locatorHash);if(typeof p==\"undefined\")throw new Error(\"Assertion failed: Expected the slot to exist\");return p.customPackageData.manifest}});let g=[];for(let[f,h]of u.entries()){if(nle(f))continue;let p=P.parseLocator(f),m=this.localStore.get(p.locatorHash);if(typeof m==\"undefined\")throw new Error(\"Assertion failed: Expected the slot to exist\");if(this.opts.project.tryWorkspaceByLocator(m.pkg))continue;let y=ma.extractBuildScripts(m.pkg,m.customPackageData,m.dependencyMeta,{configuration:this.opts.project.configuration,report:this.opts.report});y.length!==0&&g.push({buildLocations:h.locations,locatorHash:p.locatorHash,buildDirective:y})}return c&&this.opts.report.reportWarning(X.NM_PRESERVE_SYMLINKS_REQUIRED,`The application uses portals and that's why ${ae.pretty(this.opts.project.configuration,\"--preserve-symlinks\",ae.Type.CODE)} Node option is required for launching it`),{customData:this.customData,records:g}}};async function Tze(r,e){var n;let t=(n=await At.tryFind(e.prefixPath,{baseFs:e.packageFs}))!=null?n:new At,i=new Set([\"preinstall\",\"install\",\"postinstall\"]);for(let s of t.scripts.keys())i.has(s)||t.scripts.delete(s);return{manifest:{bin:t.bin,scripts:t.scripts},misc:{extractHint:ma.getExtractHint(e),hasBindingGyp:ma.hasBindingGyp(e)}}}async function Mze(r,e,t,i,{installChangedByUser:n}){let s=\"\";s+=`# Warning: This file is automatically generated. Removing it is fine, but will\n`,s+=`# cause your node_modules installation to become invalidated.\n`,s+=`\n`,s+=`__metadata:\n`,s+=`  version: ${tle}\n`,s+=`  nmMode: ${i.value}\n`;let o=Array.from(e.keys()).sort(),a=P.stringifyLocator(r.topLevelWorkspace.anchoredLocator);for(let u of o){let g=e.get(u);s+=`\n`,s+=`${JSON.stringify(u)}:\n`,s+=`  locations:\n`;for(let f of g.locations){let h=x.contains(r.cwd,f);if(h===null)throw new Error(`Assertion failed: Expected the path to be within the project (${f})`);s+=`    - ${JSON.stringify(h)}\n`}if(g.aliases.length>0){s+=`  aliases:\n`;for(let f of g.aliases)s+=`    - ${JSON.stringify(f)}\n`}if(u===a&&t.size>0){s+=`  bin:\n`;for(let[f,h]of t){let p=x.contains(r.cwd,f);if(p===null)throw new Error(`Assertion failed: Expected the path to be within the project (${f})`);s+=`    ${JSON.stringify(p)}:\n`;for(let[m,y]of h){let b=x.relative(x.join(f,jr),y);s+=`      ${JSON.stringify(m)}: ${JSON.stringify(b)}\n`}}}}let l=r.cwd,c=x.join(l,jr,rle);n&&await U.removePromise(c),await U.changeFilePromise(c,s,{automaticNewlines:!0})}async function GL(r,{unrollAliases:e=!1}={}){let t=r.cwd,i=x.join(t,jr,rle),n;try{n=await U.statPromise(i)}catch(c){}if(!n)return null;let s=Si(await U.readFilePromise(i,\"utf8\"));if(s.__metadata.version>tle)return null;let o=s.__metadata.nmMode||Ti.CLASSIC,a=new Map,l=new Map;delete s.__metadata;for(let[c,u]of Object.entries(s)){let g=u.locations.map(h=>x.join(t,h)),f=u.bin;if(f)for(let[h,p]of Object.entries(f)){let m=x.join(t,H.toPortablePath(h)),y=Se.getMapWithDefault(l,m);for(let[b,v]of Object.entries(p))y.set(Jr(b),H.toPortablePath([m,jr,v].join(x.sep)))}if(a.set(c,{target:Me.dot,linkType:Qt.HARD,locations:g,aliases:u.aliases||[]}),e&&u.aliases)for(let h of u.aliases){let{scope:p,name:m}=P.parseLocator(c),y=P.makeLocator(P.makeIdent(p,m),h),b=P.stringifyLocator(y);a.set(b,{target:Me.dot,linkType:Qt.HARD,locations:g,aliases:[]})}}return{locatorMap:a,binSymlinks:l,locationTree:sle(a,{skipPrefix:r.cwd}),nmMode:o,mtimeMs:n.mtimeMs}}var lh=async(r,e)=>{if(r.split(x.sep).indexOf(jr)<0)throw new Error(`Assertion failed: trying to remove dir that doesn't contain node_modules: ${r}`);try{if(!e.innerLoop){let i=e.allowSymlink?await U.statPromise(r):await U.lstatPromise(r);if(e.allowSymlink&&!i.isDirectory()||!e.allowSymlink&&i.isSymbolicLink()){await U.unlinkPromise(r);return}}let t=await U.readdirPromise(r,{withFileTypes:!0});for(let i of t){let n=x.join(r,Jr(i.name));i.isDirectory()?(i.name!==jr||e&&e.innerLoop)&&await lh(n,{innerLoop:!0,contentsOnly:!1}):await U.unlinkPromise(n)}e.contentsOnly||await U.rmdirPromise(r)}catch(t){if(t.code!==\"ENOENT\"&&t.code!==\"ENOTEMPTY\")throw t}},ole=4,sb=(r,{skipPrefix:e})=>{let t=x.contains(e,r);if(t===null)throw new Error(`Assertion failed: Writing attempt prevented to ${r} which is outside project root: ${e}`);let i=t.split(x.sep).filter(l=>l!==\"\"),n=i.indexOf(jr),s=i.slice(0,n).join(x.sep),o=x.join(e,s),a=i.slice(n);return{locationRoot:o,segments:a}},sle=(r,{skipPrefix:e})=>{let t=new Map;if(r===null)return t;let i=()=>({children:new Map,linkType:Qt.HARD});for(let[n,s]of r.entries()){if(s.linkType===Qt.SOFT&&x.contains(e,s.target)!==null){let a=Se.getFactoryWithDefault(t,s.target,i);a.locator=n,a.linkType=s.linkType}for(let o of s.locations){let{locationRoot:a,segments:l}=sb(o,{skipPrefix:e}),c=Se.getFactoryWithDefault(t,a,i);for(let u=0;u<l.length;++u){let g=l[u];if(g!==\".\"){let f=Se.getFactoryWithDefault(c.children,g,i);c.children.set(g,f),c=f}u===l.length-1&&(c.locator=n,c.linkType=s.linkType)}}}return t},YL=async(r,e)=>{let t;try{process.platform===\"win32\"&&(t=await U.lstatPromise(r))}catch(i){}process.platform==\"win32\"&&(!t||t.isDirectory())?await U.symlinkPromise(r,e,\"junction\"):await U.symlinkPromise(x.relative(x.dirname(e),r),e)};async function ale(r,e,t){let i=x.join(r,Jr(`${HL.default.randomBytes(16).toString(\"hex\")}.tmp`));try{await U.writeFilePromise(i,t);try{await U.linkPromise(i,e)}catch(n){}}finally{await U.unlinkPromise(i)}}async function Uze({srcPath:r,dstPath:e,srcMode:t,globalHardlinksStore:i,baseFs:n,nmMode:s,digest:o}){if(s.value===Ti.HARDLINKS_GLOBAL&&i&&o){let l=x.join(i,o.substring(0,2),`${o.substring(2)}.dat`),c;try{if(await Rn.checksumFile(l,{baseFs:U,algorithm:\"sha1\"})!==o){let g=x.join(i,Jr(`${HL.default.randomBytes(16).toString(\"hex\")}.tmp`));await U.renamePromise(l,g);let f=await n.readFilePromise(r);await U.writeFilePromise(g,f);try{await U.linkPromise(g,l),await U.unlinkPromise(g)}catch(h){}}await U.linkPromise(l,e),c=!0}catch(u){c=!1}if(!c){let u=await n.readFilePromise(r);await ale(i,l,u);try{await U.linkPromise(l,e)}catch(g){g&&g.code&&g.code==\"EXDEV\"&&(s.value=Ti.HARDLINKS_LOCAL,await n.copyFilePromise(r,e))}}}else await n.copyFilePromise(r,e);let a=t&511;a!==420&&await U.chmodPromise(e,a)}var Ml;(function(i){i.FILE=\"file\",i.DIRECTORY=\"directory\",i.SYMLINK=\"symlink\"})(Ml||(Ml={}));var Kze=async(r,e,{baseFs:t,globalHardlinksStore:i,nmMode:n,packageChecksum:s})=>{await U.mkdirPromise(r,{recursive:!0});let o=async(l=Me.dot)=>{let c=x.join(e,l),u=await t.readdirPromise(c,{withFileTypes:!0}),g=new Map;for(let f of u){let h=x.join(l,f.name),p,m=x.join(c,f.name);if(f.isFile()){if(p={kind:Ml.FILE,mode:(await t.lstatPromise(m)).mode},n.value===Ti.HARDLINKS_GLOBAL){let y=await Rn.checksumFile(m,{baseFs:t,algorithm:\"sha1\"});p.digest=y}}else if(f.isDirectory())p={kind:Ml.DIRECTORY};else if(f.isSymbolicLink())p={kind:Ml.SYMLINK,symlinkTo:await t.readlinkPromise(m)};else throw new Error(`Unsupported file type (file: ${m}, mode: 0o${await t.statSync(m).mode.toString(8).padStart(6,\"0\")})`);if(g.set(h,p),f.isDirectory()&&h!==jr){let y=await o(h);for(let[b,v]of y)g.set(b,v)}}return g},a;if(n.value===Ti.HARDLINKS_GLOBAL&&i&&s){let l=x.join(i,s.substring(0,2),`${s.substring(2)}.json`);try{a=new Map(Object.entries(JSON.parse(await U.readFilePromise(l,\"utf8\"))))}catch(c){a=await o(),await ale(i,l,Buffer.from(JSON.stringify(Object.fromEntries(a))))}}else a=await o();for(let[l,c]of a){let u=x.join(e,l),g=x.join(r,l);c.kind===Ml.DIRECTORY?await U.mkdirPromise(g,{recursive:!0}):c.kind===Ml.FILE?await Uze({srcPath:u,dstPath:g,srcMode:c.mode,digest:c.digest,nmMode:n,baseFs:t,globalHardlinksStore:i}):c.kind===Ml.SYMLINK&&await YL(x.resolve(x.dirname(g),c.symlinkTo),g)}};function Hze(r,e,t,i){let n=new Map,s=new Map,o=new Map,a=!1,l=(c,u,g,f,h)=>{let p=!0,m=x.join(c,u),y=new Set;if(u===jr||u.startsWith(\"@\")){let v;try{v=U.statSync(m)}catch(T){}p=!!v,v?v.mtimeMs>t?(a=!0,y=new Set(U.readdirSync(m))):y=new Set(g.children.get(u).children.keys()):a=!0;let k=e.get(c);if(k){let T=x.join(c,jr,nb),Y;try{Y=U.statSync(T)}catch(q){}if(!Y)a=!0;else if(Y.mtimeMs>t){a=!0;let q=new Set(U.readdirSync(T)),$=new Map;s.set(c,$);for(let[z,ne]of k)q.has(z)&&$.set(z,ne)}else s.set(c,k)}}else p=h.has(u);let b=g.children.get(u);if(p){let{linkType:v,locator:k}=b,T={children:new Map,linkType:v,locator:k};if(f.children.set(u,T),k){let Y=Se.getSetWithDefault(o,k);Y.add(m),o.set(k,Y)}for(let Y of b.children.keys())l(m,Y,b,T,y)}else b.locator&&i.storedBuildState.delete(P.parseLocator(b.locator).locatorHash)};for(let[c,u]of r){let{linkType:g,locator:f}=u,h={children:new Map,linkType:g,locator:f};if(n.set(c,h),f){let p=Se.getSetWithDefault(o,u.locator);p.add(c),o.set(u.locator,p)}u.children.has(jr)&&l(c,jr,u,h,new Set)}return{locationTree:n,binSymlinks:s,locatorLocations:o,installChangedByUser:a}}function nle(r){let e=P.parseDescriptor(r);return P.isVirtualDescriptor(e)&&(e=P.devirtualizeDescriptor(e)),e.range.startsWith(\"link:\")}async function jze(r,e,t,{loadManifest:i}){let n=new Map;for(let[a,{locations:l}]of r){let c=nle(a)?null:await i(a,l[0]),u=new Map;if(c)for(let[g,f]of c.bin){let h=x.join(l[0],f);f!==\"\"&&U.existsSync(h)&&u.set(g,f)}n.set(a,u)}let s=new Map,o=(a,l,c)=>{let u=new Map,g=x.contains(t,a);if(c.locator&&g!==null){let f=n.get(c.locator);for(let[h,p]of f){let m=x.join(a,H.toPortablePath(p));u.set(Jr(h),m)}for(let[h,p]of c.children){let m=x.join(a,h),y=o(m,m,p);y.size>0&&s.set(a,new Map([...s.get(a)||new Map,...y]))}}else for(let[f,h]of c.children){let p=o(x.join(a,f),l,h);for(let[m,y]of p)u.set(m,y)}return u};for(let[a,l]of e){let c=o(a,a,l);c.size>0&&s.set(a,new Map([...s.get(a)||new Map,...c]))}return s}var Ale=(r,e)=>{if(!r||!e)return r===e;let t=P.parseLocator(r);P.isVirtualLocator(t)&&(t=P.devirtualizeLocator(t));let i=P.parseLocator(e);return P.isVirtualLocator(i)&&(i=P.devirtualizeLocator(i)),P.areLocatorsEqual(t,i)};function qL(r){return x.join(r.get(\"globalFolder\"),\"store\")}async function Oze(r,e,{baseFs:t,project:i,report:n,loadManifest:s,realLocatorChecksums:o}){let a=x.join(i.cwd,jr),{locationTree:l,binSymlinks:c,locatorLocations:u,installChangedByUser:g}=Hze(r.locationTree,r.binSymlinks,r.mtimeMs,i),f=sle(e,{skipPrefix:i.cwd}),h=[],p=async({srcDir:z,dstDir:ne,linkType:ee,globalHardlinksStore:A,nmMode:oe,packageChecksum:ce})=>{let Z=(async()=>{try{ee===Qt.SOFT?(await U.mkdirPromise(x.dirname(ne),{recursive:!0}),await YL(x.resolve(z),ne)):await Kze(ne,z,{baseFs:t,globalHardlinksStore:A,nmMode:oe,packageChecksum:ce})}catch(O){throw O.message=`While persisting ${z} -> ${ne} ${O.message}`,O}finally{T.tick()}})().then(()=>h.splice(h.indexOf(Z),1));h.push(Z),h.length>ole&&await Promise.race(h)},m=async(z,ne,ee)=>{let A=(async()=>{let oe=async(ce,Z,O)=>{try{O.innerLoop||await U.mkdirPromise(Z,{recursive:!0});let L=await U.readdirPromise(ce,{withFileTypes:!0});for(let de of L){if(!O.innerLoop&&de.name===nb)continue;let Be=x.join(ce,de.name),Ge=x.join(Z,de.name);de.isDirectory()?(de.name!==jr||O&&O.innerLoop)&&(await U.mkdirPromise(Ge,{recursive:!0}),await oe(Be,Ge,te(N({},O),{innerLoop:!0}))):$.value===Ti.HARDLINKS_LOCAL||$.value===Ti.HARDLINKS_GLOBAL?await U.linkPromise(Be,Ge):await U.copyFilePromise(Be,Ge,ele.default.constants.COPYFILE_FICLONE)}}catch(L){throw O.innerLoop||(L.message=`While cloning ${ce} -> ${Z} ${L.message}`),L}finally{O.innerLoop||T.tick()}};await oe(z,ne,ee)})().then(()=>h.splice(h.indexOf(A),1));h.push(A),h.length>ole&&await Promise.race(h)},y=async(z,ne,ee)=>{if(ee)for(let[A,oe]of ne.children){let ce=ee.children.get(A);await y(x.join(z,A),oe,ce)}else{ne.children.has(jr)&&await lh(x.join(z,jr),{contentsOnly:!1});let A=x.basename(z)===jr&&f.has(x.join(x.dirname(z),x.sep));await lh(z,{contentsOnly:z===a,allowSymlink:A})}};for(let[z,ne]of l){let ee=f.get(z);for(let[A,oe]of ne.children){if(A===\".\")continue;let ce=ee&&ee.children.get(A),Z=x.join(z,A);await y(Z,oe,ce)}}let b=async(z,ne,ee)=>{if(ee){Ale(ne.locator,ee.locator)||await lh(z,{contentsOnly:ne.linkType===Qt.HARD});for(let[A,oe]of ne.children){let ce=ee.children.get(A);await b(x.join(z,A),oe,ce)}}else{ne.children.has(jr)&&await lh(x.join(z,jr),{contentsOnly:!0});let A=x.basename(z)===jr&&f.has(x.join(x.dirname(z),x.sep));await lh(z,{contentsOnly:ne.linkType===Qt.HARD,allowSymlink:A})}};for(let[z,ne]of f){let ee=l.get(z);for(let[A,oe]of ne.children){if(A===\".\")continue;let ce=ee&&ee.children.get(A);await b(x.join(z,A),oe,ce)}}let v=new Map,k=[];for(let[z,ne]of u)for(let ee of ne){let{locationRoot:A,segments:oe}=sb(ee,{skipPrefix:i.cwd}),ce=f.get(A),Z=A;if(ce){for(let O of oe)if(Z=x.join(Z,O),ce=ce.children.get(O),!ce)break;if(ce){let O=Ale(ce.locator,z),L=e.get(ce.locator),de=L.target,Be=Z,Ge=L.linkType;if(O)v.has(de)||v.set(de,Be);else if(de!==Be){let re=P.parseLocator(ce.locator);P.isVirtualLocator(re)&&(re=P.devirtualizeLocator(re)),k.push({srcDir:de,dstDir:Be,linkType:Ge,realLocatorHash:re.locatorHash})}}}}for(let[z,{locations:ne}]of e.entries())for(let ee of ne){let{locationRoot:A,segments:oe}=sb(ee,{skipPrefix:i.cwd}),ce=l.get(A),Z=f.get(A),O=A,L=e.get(z),de=P.parseLocator(z);P.isVirtualLocator(de)&&(de=P.devirtualizeLocator(de));let Be=de.locatorHash,Ge=L.target,re=ee;if(Ge===re)continue;let se=L.linkType;for(let be of oe)Z=Z.children.get(be);if(!ce)k.push({srcDir:Ge,dstDir:re,linkType:se,realLocatorHash:Be});else for(let be of oe)if(O=x.join(O,be),ce=ce.children.get(be),!ce){k.push({srcDir:Ge,dstDir:re,linkType:se,realLocatorHash:Be});break}}let T=Ji.progressViaCounter(k.length),Y=n.reportProgress(T),q=i.configuration.get(\"nmMode\"),$={value:q};try{let z=$.value===Ti.HARDLINKS_GLOBAL?`${qL(i.configuration)}/v1`:null;if(z&&!await U.existsPromise(z)){await U.mkdirpPromise(z);for(let ee=0;ee<256;ee++)await U.mkdirPromise(x.join(z,ee.toString(16).padStart(2,\"0\")))}for(let ee of k)(ee.linkType===Qt.SOFT||!v.has(ee.srcDir))&&(v.set(ee.srcDir,ee.dstDir),await p(te(N({},ee),{globalHardlinksStore:z,nmMode:$,packageChecksum:o.get(ee.realLocatorHash)||null})));await Promise.all(h),h.length=0;for(let ee of k){let A=v.get(ee.srcDir);ee.linkType!==Qt.SOFT&&ee.dstDir!==A&&await m(A,ee.dstDir,{nmMode:$})}await Promise.all(h),await U.mkdirPromise(a,{recursive:!0});let ne=await jze(e,f,i.cwd,{loadManifest:s});await Gze(c,ne,i.cwd),await Mze(i,e,ne,$,{installChangedByUser:g}),q==Ti.HARDLINKS_GLOBAL&&$.value==Ti.HARDLINKS_LOCAL&&n.reportWarningOnce(X.NM_HARDLINKS_MODE_DOWNGRADED,\"'nmMode' has been downgraded to 'hardlinks-local' due to global cache and install folder being on different devices\")}finally{Y.stop()}}async function Gze(r,e,t){for(let i of r.keys()){if(x.contains(t,i)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${i}`);if(!e.has(i)){let n=x.join(i,jr,nb);await U.removePromise(n)}}for(let[i,n]of e){if(x.contains(t,i)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${i}`);let s=x.join(i,jr,nb),o=r.get(i)||new Map;await U.mkdirPromise(s,{recursive:!0});for(let a of o.keys())n.has(a)||(await U.removePromise(x.join(s,a)),process.platform===\"win32\"&&await U.removePromise(x.join(s,Jr(`${a}.cmd`))));for(let[a,l]of n){let c=o.get(a),u=x.join(s,a);c!==l&&(process.platform===\"win32\"?await(0,$Ae.default)(H.fromPortablePath(l),H.fromPortablePath(u),{createPwshFile:!1}):(await U.removePromise(u),await YL(l,u),x.contains(t,await U.realpathPromise(l))!==null&&await U.chmodPromise(l,493)))}}}var JL=class extends xu{constructor(){super(...arguments);this.mode=\"loose\"}makeInstaller(e){return new lle(e)}},lle=class extends ah{constructor(){super(...arguments);this.mode=\"loose\"}async transformPnpSettings(e){let t=new Wr({baseFs:new ys({libzip:await fn(),maxOpenFiles:80,readOnlyArchives:!0})}),i=MAe(e,this.opts.project.cwd,t),{tree:n,errors:s}=Mm(i,{pnpifyFs:!1,project:this.opts.project});if(!n){for(let{messageName:u,text:g}of s)this.opts.report.reportError(u,g);return}let o=new Map;e.fallbackPool=o;let a=(u,g)=>{let f=P.parseLocator(g.locator),h=P.stringifyIdent(f);h===u?o.set(u,f.reference):o.set(u,[h,f.reference])},l=x.join(this.opts.project.cwd,xt.nodeModules),c=n.get(l);if(typeof c!=\"undefined\"){if(\"target\"in c)throw new Error(\"Assertion failed: Expected the root junction point to be a directory\");for(let u of c.dirList){let g=x.join(l,u),f=n.get(g);if(typeof f==\"undefined\")throw new Error(\"Assertion failed: Expected the child to have been registered\");if(\"target\"in f)a(u,f);else for(let h of f.dirList){let p=x.join(g,h),m=n.get(p);if(typeof m==\"undefined\")throw new Error(\"Assertion failed: Expected the subchild to have been registered\");if(\"target\"in m)a(`${u}/${h}`,m);else throw new Error(\"Assertion failed: Expected the leaf junction to be a package\")}}}}};var Yze={hooks:{cleanGlobalArtifacts:async r=>{let e=qL(r);await U.removePromise(e)}},configuration:{nmHoistingLimits:{description:\"Prevent packages to be hoisted past specific levels\",type:Ie.STRING,values:[Kn.WORKSPACES,Kn.DEPENDENCIES,Kn.NONE],default:Kn.NONE},nmMode:{description:'If set to \"hardlinks-local\" Yarn will utilize hardlinks to reduce disk space consumption inside \"node_modules\" directories. With \"hardlinks-global\" Yarn will use global content addressable storage to reduce \"node_modules\" size across all the projects using this option.',type:Ie.STRING,values:[Ti.CLASSIC,Ti.HARDLINKS_LOCAL,Ti.HARDLINKS_GLOBAL],default:Ti.CLASSIC},nmSelfReferences:{description:\"If set to 'false' the workspace will not be allowed to require itself and corresponding self-referencing symlink will not be created\",type:Ie.BOOLEAN,default:!0}},linkers:[jL,JL]},qze=Yze;var JT={};ft(JT,{default:()=>$9e,npmConfigUtils:()=>br,npmHttpUtils:()=>zt,npmPublishUtils:()=>Bh});var hle=ge(ri());var Cr=\"npm:\";var zt={};ft(zt,{AuthType:()=>us,customPackageError:()=>zze,del:()=>Xze,get:()=>So,getIdentUrl:()=>Kl,handleInvalidAuthenticationError:()=>Ul,post:()=>_ze,put:()=>Vze});var gle=ge(zC()),fle=ge(require(\"url\"));var br={};ft(br,{RegistryType:()=>SA,getAuditRegistry:()=>Jze,getAuthConfiguration:()=>_L,getDefaultRegistry:()=>ob,getPublishRegistry:()=>cle,getRegistryConfiguration:()=>ule,getScopeConfiguration:()=>zL,getScopeRegistry:()=>vA,normalizeRegistry:()=>Ea});var SA;(function(i){i.AUDIT_REGISTRY=\"npmAuditRegistry\",i.FETCH_REGISTRY=\"npmRegistryServer\",i.PUBLISH_REGISTRY=\"npmPublishRegistry\"})(SA||(SA={}));function Ea(r){return r.replace(/\\/$/,\"\")}function Jze(r,{configuration:e}){let t=e.get(SA.AUDIT_REGISTRY);return t!==null?Ea(t):cle(r,{configuration:e})}function cle(r,{configuration:e}){var t;return((t=r.publishConfig)==null?void 0:t.registry)?Ea(r.publishConfig.registry):r.name?vA(r.name.scope,{configuration:e,type:SA.PUBLISH_REGISTRY}):ob({configuration:e,type:SA.PUBLISH_REGISTRY})}function vA(r,{configuration:e,type:t=SA.FETCH_REGISTRY}){let i=zL(r,{configuration:e});if(i===null)return ob({configuration:e,type:t});let n=i.get(t);return n===null?ob({configuration:e,type:t}):Ea(n)}function ob({configuration:r,type:e=SA.FETCH_REGISTRY}){let t=r.get(e);return Ea(t!==null?t:r.get(SA.FETCH_REGISTRY))}function ule(r,{configuration:e}){let t=e.get(\"npmRegistries\"),i=Ea(r),n=t.get(i);if(typeof n!=\"undefined\")return n;let s=t.get(i.replace(/^[a-z]+:/,\"\"));return typeof s!=\"undefined\"?s:null}function zL(r,{configuration:e}){if(r===null)return null;let i=e.get(\"npmScopes\").get(r);return i||null}function _L(r,{configuration:e,ident:t}){let i=t&&zL(t.scope,{configuration:e});return(i==null?void 0:i.get(\"npmAuthIdent\"))||(i==null?void 0:i.get(\"npmAuthToken\"))?i:ule(r,{configuration:e})||e}var us;(function(n){n[n.NO_AUTH=0]=\"NO_AUTH\",n[n.BEST_EFFORT=1]=\"BEST_EFFORT\",n[n.CONFIGURATION=2]=\"CONFIGURATION\",n[n.ALWAYS_AUTH=3]=\"ALWAYS_AUTH\"})(us||(us={}));async function Ul(r,{attemptedAs:e,registry:t,headers:i,configuration:n}){var s,o;if(ab(r))throw new ct(X.AUTHENTICATION_INVALID,\"Invalid OTP token\");if(((s=r.originalError)==null?void 0:s.name)===\"HTTPError\"&&((o=r.originalError)==null?void 0:o.response.statusCode)===401)throw new ct(X.AUTHENTICATION_INVALID,`Invalid authentication (${typeof e!=\"string\"?`as ${await Wze(t,i,{configuration:n})}`:`attempted as ${e}`})`)}function zze(r){var e;return((e=r.response)==null?void 0:e.statusCode)===404?\"Package not found\":null}function Kl(r){return r.scope?`/@${r.scope}%2f${r.name}`:`/${r.name}`}async function So(r,a){var l=a,{configuration:e,headers:t,ident:i,authType:n,registry:s}=l,o=Or(l,[\"configuration\",\"headers\",\"ident\",\"authType\",\"registry\"]);if(i&&typeof s==\"undefined\"&&(s=vA(i.scope,{configuration:e})),i&&i.scope&&typeof n==\"undefined\"&&(n=1),typeof s!=\"string\")throw new Error(\"Assertion failed: The registry should be a string\");let c=await Ab(s,{authType:n,configuration:e,ident:i});c&&(t=te(N({},t),{authorization:c}));try{return await ir.get(r.charAt(0)===\"/\"?`${s}${r}`:r,N({configuration:e,headers:t},o))}catch(u){throw await Ul(u,{registry:s,configuration:e,headers:t}),u}}async function _ze(r,e,u){var g=u,{attemptedAs:t,configuration:i,headers:n,ident:s,authType:o=3,registry:a,otp:l}=g,c=Or(g,[\"attemptedAs\",\"configuration\",\"headers\",\"ident\",\"authType\",\"registry\",\"otp\"]);if(s&&typeof a==\"undefined\"&&(a=vA(s.scope,{configuration:i})),typeof a!=\"string\")throw new Error(\"Assertion failed: The registry should be a string\");let f=await Ab(a,{authType:o,configuration:i,ident:s});f&&(n=te(N({},n),{authorization:f})),l&&(n=N(N({},n),ch(l)));try{return await ir.post(a+r,e,N({configuration:i,headers:n},c))}catch(h){if(!ab(h)||l)throw await Ul(h,{attemptedAs:t,registry:a,configuration:i,headers:n}),h;l=await VL();let p=N(N({},n),ch(l));try{return await ir.post(`${a}${r}`,e,N({configuration:i,headers:p},c))}catch(m){throw await Ul(m,{attemptedAs:t,registry:a,configuration:i,headers:n}),m}}}async function Vze(r,e,u){var g=u,{attemptedAs:t,configuration:i,headers:n,ident:s,authType:o=3,registry:a,otp:l}=g,c=Or(g,[\"attemptedAs\",\"configuration\",\"headers\",\"ident\",\"authType\",\"registry\",\"otp\"]);if(s&&typeof a==\"undefined\"&&(a=vA(s.scope,{configuration:i})),typeof a!=\"string\")throw new Error(\"Assertion failed: The registry should be a string\");let f=await Ab(a,{authType:o,configuration:i,ident:s});f&&(n=te(N({},n),{authorization:f})),l&&(n=N(N({},n),ch(l)));try{return await ir.put(a+r,e,N({configuration:i,headers:n},c))}catch(h){if(!ab(h))throw await Ul(h,{attemptedAs:t,registry:a,configuration:i,headers:n}),h;l=await VL();let p=N(N({},n),ch(l));try{return await ir.put(`${a}${r}`,e,N({configuration:i,headers:p},c))}catch(m){throw await Ul(m,{attemptedAs:t,registry:a,configuration:i,headers:n}),m}}}async function Xze(r,c){var u=c,{attemptedAs:e,configuration:t,headers:i,ident:n,authType:s=3,registry:o,otp:a}=u,l=Or(u,[\"attemptedAs\",\"configuration\",\"headers\",\"ident\",\"authType\",\"registry\",\"otp\"]);if(n&&typeof o==\"undefined\"&&(o=vA(n.scope,{configuration:t})),typeof o!=\"string\")throw new Error(\"Assertion failed: The registry should be a string\");let g=await Ab(o,{authType:s,configuration:t,ident:n});g&&(i=te(N({},i),{authorization:g})),a&&(i=N(N({},i),ch(a)));try{return await ir.del(o+r,N({configuration:t,headers:i},l))}catch(f){if(!ab(f)||a)throw await Ul(f,{attemptedAs:e,registry:o,configuration:t,headers:i}),f;a=await VL();let h=N(N({},i),ch(a));try{return await ir.del(`${o}${r}`,N({configuration:t,headers:h},l))}catch(p){throw await Ul(p,{attemptedAs:e,registry:o,configuration:t,headers:i}),p}}}async function Ab(r,{authType:e=2,configuration:t,ident:i}){let n=_L(r,{configuration:t,ident:i}),s=Zze(n,e);if(!s)return null;let o=await t.reduceHook(a=>a.getNpmAuthenticationHeader,void 0,r,{configuration:t,ident:i});if(o)return o;if(n.get(\"npmAuthToken\"))return`Bearer ${n.get(\"npmAuthToken\")}`;if(n.get(\"npmAuthIdent\")){let a=n.get(\"npmAuthIdent\");return a.includes(\":\")?`Basic ${Buffer.from(a).toString(\"base64\")}`:`Basic ${a}`}if(s&&e!==1)throw new ct(X.AUTHENTICATION_NOT_FOUND,\"No authentication configured for request\");return null}function Zze(r,e){switch(e){case 2:return r.get(\"npmAlwaysAuth\");case 1:case 3:return!0;case 0:return!1;default:throw new Error(\"Unreachable\")}}async function Wze(r,e,{configuration:t}){var i;if(typeof e==\"undefined\"||typeof e.authorization==\"undefined\")return\"an anonymous user\";try{return(i=(await ir.get(new fle.URL(`${r}/-/whoami`).href,{configuration:t,headers:e,jsonResponse:!0})).username)!=null?i:\"an unknown user\"}catch{return\"an unknown user\"}}async function VL(){if(process.env.TEST_ENV)return process.env.TEST_NPM_2FA_TOKEN||\"\";let{otp:r}=await(0,gle.prompt)({type:\"password\",name:\"otp\",message:\"One-time password:\",required:!0,onCancel:()=>process.exit(130)});return r}function ab(r){var e,t;if(((e=r.originalError)==null?void 0:e.name)!==\"HTTPError\")return!1;try{return((t=r.originalError)==null?void 0:t.response.headers[\"www-authenticate\"].split(/,\\s*/).map(n=>n.toLowerCase())).includes(\"otp\")}catch(i){return!1}}function ch(r){return{[\"npm-otp\"]:r}}var XL=class{supports(e,t){if(!e.reference.startsWith(Cr))return!1;let{selector:i,params:n}=P.parseRange(e.reference);return!(!hle.default.valid(i)||n===null||typeof n.__archiveUrl!=\"string\")}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,N({onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,t),skipIntegrityCheck:t.skipIntegrityCheck},t.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,t){let{params:i}=P.parseRange(e.reference);if(i===null||typeof i.__archiveUrl!=\"string\")throw new Error(\"Assertion failed: The archiveUrl querystring parameter should have been available\");let n=await So(i.__archiveUrl,{configuration:t.project.configuration,ident:e});return await Bi.convertToZip(n,{compressionLevel:t.project.configuration.get(\"compressionLevel\"),prefixPath:P.getIdentVendorPath(e),stripComponents:1})}};var ZL=class{supportsDescriptor(e,t){return!(!e.range.startsWith(Cr)||!P.tryParseDescriptor(e.range.slice(Cr.length),!0))}supportsLocator(e,t){return!1}shouldPersistResolution(e,t){throw new Error(\"Unreachable\")}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){let i=P.parseDescriptor(e.range.slice(Cr.length),!0);return t.resolver.getResolutionDependencies(i,t)}async getCandidates(e,t,i){let n=P.parseDescriptor(e.range.slice(Cr.length),!0);return await i.resolver.getCandidates(n,t,i)}async getSatisfying(e,t,i){let n=P.parseDescriptor(e.range.slice(Cr.length),!0);return i.resolver.getSatisfying(n,t,i)}resolve(e,t){throw new Error(\"Unreachable\")}};var ple=ge(ri()),dle=ge(require(\"url\"));var vo=class{supports(e,t){if(!e.reference.startsWith(Cr))return!1;let i=new dle.URL(e.reference);return!(!ple.default.valid(i.pathname)||i.searchParams.has(\"__archiveUrl\"))}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,N({onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the remote registry`),loader:()=>this.fetchFromNetwork(e,t),skipIntegrityCheck:t.skipIntegrityCheck},t.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,t){let i;try{i=await So(vo.getLocatorUrl(e),{configuration:t.project.configuration,ident:e})}catch(n){i=await So(vo.getLocatorUrl(e).replace(/%2f/g,\"/\"),{configuration:t.project.configuration,ident:e})}return await Bi.convertToZip(i,{compressionLevel:t.project.configuration.get(\"compressionLevel\"),prefixPath:P.getIdentVendorPath(e),stripComponents:1})}static isConventionalTarballUrl(e,t,{configuration:i}){let n=vA(e.scope,{configuration:i}),s=vo.getLocatorUrl(e);return t=t.replace(/^https?:(\\/\\/(?:[^/]+\\.)?npmjs.org(?:$|\\/))/,\"https:$1\"),n=n.replace(/^https:\\/\\/registry\\.npmjs\\.org($|\\/)/,\"https://registry.yarnpkg.com$1\"),t=t.replace(/^https:\\/\\/registry\\.npmjs\\.org($|\\/)/,\"https://registry.yarnpkg.com$1\"),t===n+s||t===n+s.replace(/%2f/g,\"/\")}static getLocatorUrl(e){let t=Wt.clean(e.reference.slice(Cr.length));if(t===null)throw new ct(X.RESOLVER_NOT_FOUND,\"The npm semver resolver got selected, but the version isn't semver\");return`${Kl(e)}/-/${e.name}-${t}.tgz`}};var Cle=ge(ri());var lb=P.makeIdent(null,\"node-gyp\"),$ze=/\\b(node-gyp|prebuild-install)\\b/,$L=class{supportsDescriptor(e,t){return e.range.startsWith(Cr)?!!Wt.validRange(e.range.slice(Cr.length)):!1}supportsLocator(e,t){if(!e.reference.startsWith(Cr))return!1;let{selector:i}=P.parseRange(e.reference);return!!Cle.default.valid(i)}shouldPersistResolution(e,t){return!0}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){let n=Wt.validRange(e.range.slice(Cr.length));if(n===null)throw new Error(`Expected a valid range, got ${e.range.slice(Cr.length)}`);let s=await So(Kl(e),{configuration:i.project.configuration,ident:e,jsonResponse:!0}),o=Se.mapAndFilter(Object.keys(s.versions),c=>{try{let u=new Wt.SemVer(c);if(n.test(u))return u}catch{}return Se.mapAndFilter.skip}),a=o.filter(c=>!s.versions[c.raw].deprecated),l=a.length>0?a:o;return l.sort((c,u)=>-c.compare(u)),l.map(c=>{let u=P.makeLocator(e,`${Cr}${c.raw}`),g=s.versions[c.raw].dist.tarball;return vo.isConventionalTarballUrl(u,g,{configuration:i.project.configuration})?u:P.bindLocator(u,{__archiveUrl:g})})}async getSatisfying(e,t,i){let n=Wt.validRange(e.range.slice(Cr.length));if(n===null)throw new Error(`Expected a valid range, got ${e.range.slice(Cr.length)}`);return Se.mapAndFilter(t,s=>{try{let{selector:o}=P.parseRange(s,{requireProtocol:Cr}),a=new Wt.SemVer(o);if(n.test(a))return{reference:s,version:a}}catch{}return Se.mapAndFilter.skip}).sort((s,o)=>-s.version.compare(o.version)).map(({reference:s})=>P.makeLocator(e,s))}async resolve(e,t){let{selector:i}=P.parseRange(e.reference),n=Wt.clean(i);if(n===null)throw new ct(X.RESOLVER_NOT_FOUND,\"The npm semver resolver got selected, but the version isn't semver\");let s=await So(Kl(e),{configuration:t.project.configuration,ident:e,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(s,\"versions\"))throw new ct(X.REMOTE_INVALID,'Registry returned invalid data for - missing \"versions\" field');if(!Object.prototype.hasOwnProperty.call(s.versions,n))throw new ct(X.REMOTE_NOT_FOUND,`Registry failed to return reference \"${n}\"`);let o=new At;if(o.load(s.versions[n]),!o.dependencies.has(lb.identHash)&&!o.peerDependencies.has(lb.identHash)){for(let a of o.scripts.values())if(a.match($ze)){o.dependencies.set(lb.identHash,P.makeDescriptor(lb,\"latest\")),t.report.reportWarningOnce(X.NODE_GYP_INJECTED,`${P.prettyLocator(t.project.configuration,e)}: Implicit dependencies on node-gyp are discouraged`);break}}if(typeof o.raw.deprecated==\"string\"&&o.raw.deprecated!==\"\"){let a=P.prettyLocator(t.project.configuration,e),l=o.raw.deprecated.match(/\\S/)?`${a} is deprecated: ${o.raw.deprecated}`:`${a} is deprecated`;t.report.reportWarningOnce(X.DEPRECATED_PACKAGE,l)}return te(N({},e),{version:n,languageName:\"node\",linkType:Qt.HARD,conditions:o.getConditions(),dependencies:o.dependencies,peerDependencies:o.peerDependencies,dependenciesMeta:o.dependenciesMeta,peerDependenciesMeta:o.peerDependenciesMeta,bin:o.bin})}};var eT=class{supportsDescriptor(e,t){return!(!e.range.startsWith(Cr)||!_g.test(e.range.slice(Cr.length)))}supportsLocator(e,t){return!1}shouldPersistResolution(e,t){throw new Error(\"Unreachable\")}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){let n=e.range.slice(Cr.length),s=await So(Kl(e),{configuration:i.project.configuration,ident:e,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(s,\"dist-tags\"))throw new ct(X.REMOTE_INVALID,'Registry returned invalid data - missing \"dist-tags\" field');let o=s[\"dist-tags\"];if(!Object.prototype.hasOwnProperty.call(o,n))throw new ct(X.REMOTE_NOT_FOUND,`Registry failed to return tag \"${n}\"`);let a=o[n],l=P.makeLocator(e,`${Cr}${a}`),c=s.versions[a].dist.tarball;return vo.isConventionalTarballUrl(l,c,{configuration:i.project.configuration})?[l]:[P.bindLocator(l,{__archiveUrl:c})]}async getSatisfying(e,t,i){return null}async resolve(e,t){throw new Error(\"Unreachable\")}};var Bh={};ft(Bh,{getGitHead:()=>X9e,makePublishBody:()=>V9e});var jT={};ft(jT,{default:()=>R9e,packUtils:()=>DA});var DA={};ft(DA,{genPackList:()=>Db,genPackStream:()=>HT,genPackageManifest:()=>qce,hasPackScripts:()=>UT,prepareForPack:()=>KT});var MT=ge(ns()),Gce=ge(jce()),Yce=ge(require(\"zlib\")),y9e=[\"/package.json\",\"/readme\",\"/readme.*\",\"/license\",\"/license.*\",\"/licence\",\"/licence.*\",\"/changelog\",\"/changelog.*\"],w9e=[\"/package.tgz\",\".github\",\".git\",\".hg\",\"node_modules\",\".npmignore\",\".gitignore\",\".#*\",\".DS_Store\"];async function UT(r){return!!(Zt.hasWorkspaceScript(r,\"prepack\")||Zt.hasWorkspaceScript(r,\"postpack\"))}async function KT(r,{report:e},t){await Zt.maybeExecuteWorkspaceLifecycleScript(r,\"prepack\",{report:e});try{let i=x.join(r.cwd,At.fileName);await U.existsPromise(i)&&await r.manifest.loadFile(i,{baseFs:U}),await t()}finally{await Zt.maybeExecuteWorkspaceLifecycleScript(r,\"postpack\",{report:e})}}async function HT(r,e){var s,o;typeof e==\"undefined\"&&(e=await Db(r));let t=new Set;for(let a of(o=(s=r.manifest.publishConfig)==null?void 0:s.executableFiles)!=null?o:new Set)t.add(x.normalize(a));for(let a of r.manifest.bin.values())t.add(x.normalize(a));let i=Gce.default.pack();process.nextTick(async()=>{for(let a of e){let l=x.normalize(a),c=x.resolve(r.cwd,l),u=x.join(\"package\",l),g=await U.lstatPromise(c),f={name:u,mtime:new Date(Rr.SAFE_TIME*1e3)},h=t.has(l)?493:420,p,m,y=new Promise((v,k)=>{p=v,m=k}),b=v=>{v?m(v):p()};if(g.isFile()){let v;l===\"package.json\"?v=Buffer.from(JSON.stringify(await qce(r),null,2)):v=await U.readFilePromise(c),i.entry(te(N({},f),{mode:h,type:\"file\"}),v,b)}else g.isSymbolicLink()?i.entry(te(N({},f),{mode:h,type:\"symlink\",linkname:await U.readlinkPromise(c)}),b):b(new Error(`Unsupported file type ${g.mode} for ${H.fromPortablePath(l)}`));await y}i.finalize()});let n=(0,Yce.createGzip)();return i.pipe(n),n}async function qce(r){let e=JSON.parse(JSON.stringify(r.manifest.raw));return await r.project.configuration.triggerHook(t=>t.beforeWorkspacePacking,r,e),e}async function Db(r){var g,f,h,p,m,y,b,v;let e=r.project,t=e.configuration,i={accept:[],reject:[]};for(let k of w9e)i.reject.push(k);for(let k of y9e)i.accept.push(k);i.reject.push(t.get(\"rcFilename\"));let n=k=>{if(k===null||!k.startsWith(`${r.cwd}/`))return;let T=x.relative(r.cwd,k),Y=x.resolve(Me.root,T);i.reject.push(Y)};n(x.resolve(e.cwd,t.get(\"lockfileFilename\"))),n(t.get(\"cacheFolder\")),n(t.get(\"globalFolder\")),n(t.get(\"installStatePath\")),n(t.get(\"virtualFolder\")),n(t.get(\"yarnPath\")),await t.triggerHook(k=>k.populateYarnPaths,e,k=>{n(k)});for(let k of e.workspaces){let T=x.relative(r.cwd,k.cwd);T!==\"\"&&!T.match(/^(\\.\\.)?\\//)&&i.reject.push(`/${T}`)}let s={accept:[],reject:[]},o=(f=(g=r.manifest.publishConfig)==null?void 0:g.main)!=null?f:r.manifest.main,a=(p=(h=r.manifest.publishConfig)==null?void 0:h.module)!=null?p:r.manifest.module,l=(y=(m=r.manifest.publishConfig)==null?void 0:m.browser)!=null?y:r.manifest.browser,c=(v=(b=r.manifest.publishConfig)==null?void 0:b.bin)!=null?v:r.manifest.bin;o!=null&&s.accept.push(x.resolve(Me.root,o)),a!=null&&s.accept.push(x.resolve(Me.root,a)),typeof l==\"string\"&&s.accept.push(x.resolve(Me.root,l));for(let k of c.values())s.accept.push(x.resolve(Me.root,k));if(l instanceof Map)for(let[k,T]of l.entries())s.accept.push(x.resolve(Me.root,k)),typeof T==\"string\"&&s.accept.push(x.resolve(Me.root,T));let u=r.manifest.files!==null;if(u){s.reject.push(\"/*\");for(let k of r.manifest.files)Jce(s.accept,k,{cwd:Me.root})}return await B9e(r.cwd,{hasExplicitFileList:u,globalList:i,ignoreList:s})}async function B9e(r,{hasExplicitFileList:e,globalList:t,ignoreList:i}){let n=[],s=new Ta(r),o=[[Me.root,[i]]];for(;o.length>0;){let[a,l]=o.pop(),c=await s.lstatPromise(a);if(!zce(a,{globalList:t,ignoreLists:c.isDirectory()?null:l}))if(c.isDirectory()){let u=await s.readdirPromise(a),g=!1,f=!1;if(!e||a!==Me.root)for(let m of u)g=g||m===\".gitignore\",f=f||m===\".npmignore\";let h=f?await Wce(s,a,\".npmignore\"):g?await Wce(s,a,\".gitignore\"):null,p=h!==null?[h].concat(l):l;zce(a,{globalList:t,ignoreLists:l})&&(p=[...l,{accept:[],reject:[\"**/*\"]}]);for(let m of u)o.push([x.resolve(a,m),p])}else(c.isFile()||c.isSymbolicLink())&&n.push(x.relative(Me.root,a))}return n.sort()}async function Wce(r,e,t){let i={accept:[],reject:[]},n=await r.readFilePromise(x.join(e,t),\"utf8\");for(let s of n.split(/\\n/g))Jce(i.reject,s,{cwd:e});return i}function b9e(r,{cwd:e}){let t=r[0]===\"!\";return t&&(r=r.slice(1)),r.match(/\\.{0,1}\\//)&&(r=x.resolve(e,r)),t&&(r=`!${r}`),r}function Jce(r,e,{cwd:t}){let i=e.trim();i===\"\"||i[0]===\"#\"||r.push(b9e(i,{cwd:t}))}var gs;(function(i){i[i.None=0]=\"None\",i[i.Match=1]=\"Match\",i[i.NegatedMatch=2]=\"NegatedMatch\"})(gs||(gs={}));function zce(r,{globalList:e,ignoreLists:t}){let i=Rb(r,e.accept);if(i!==0)return i===2;let n=Rb(r,e.reject);if(n!==0)return n===1;if(t!==null)for(let s of t){let o=Rb(r,s.accept);if(o!==0)return o===2;let a=Rb(r,s.reject);if(a!==0)return a===1}return!1}function Rb(r,e){let t=e,i=[];for(let n=0;n<e.length;++n)e[n][0]!==\"!\"?t!==e&&t.push(e[n]):(t===e&&(t=e.slice(0,n)),i.push(e[n].slice(1)));return _ce(r,i)?2:_ce(r,t)?1:0}function _ce(r,e){let t=e,i=[];for(let n=0;n<e.length;++n)e[n].includes(\"/\")?t!==e&&t.push(e[n]):(t===e&&(t=e.slice(0,n)),i.push(e[n]));return!!(MT.default.isMatch(r,t,{dot:!0,nocase:!0})||MT.default.isMatch(r,i,{dot:!0,basename:!0,nocase:!0}))}var iE=class extends Le{constructor(){super(...arguments);this.installIfNeeded=J.Boolean(\"--install-if-needed\",!1,{description:\"Run a preliminary `yarn install` if the package contains build scripts\"});this.dryRun=J.Boolean(\"-n,--dry-run\",!1,{description:\"Print the file paths without actually generating the package archive\"});this.json=J.Boolean(\"--json\",!1,{description:\"Format the output as an NDJSON stream\"});this.out=J.String(\"-o,--out\",{description:\"Create the archive at the specified path\"});this.filename=J.String(\"--filename\",{hidden:!0})}async execute(){var a;let e=await ye.find(this.context.cwd,this.context.plugins),{project:t,workspace:i}=await ze.find(e,this.context.cwd);if(!i)throw new ht(t.cwd,this.context.cwd);await UT(i)&&(this.installIfNeeded?await t.install({cache:await Nt.find(e),report:new di}):await t.restoreInstallState());let n=(a=this.out)!=null?a:this.filename,s=typeof n!=\"undefined\"?x.resolve(this.context.cwd,Q9e(n,{workspace:i})):x.resolve(i.cwd,\"package.tgz\");return(await Je.start({configuration:e,stdout:this.context.stdout,json:this.json},async l=>{await KT(i,{report:l},async()=>{l.reportJson({base:H.fromPortablePath(i.cwd)});let c=await Db(i);for(let u of c)l.reportInfo(null,H.fromPortablePath(u)),l.reportJson({location:H.fromPortablePath(u)});if(!this.dryRun){let u=await HT(i,c),g=U.createWriteStream(s);u.pipe(g),await new Promise(f=>{g.on(\"finish\",f)})}}),this.dryRun||(l.reportInfo(X.UNNAMED,`Package archive generated in ${ae.pretty(e,s,ae.Type.PATH)}`),l.reportJson({output:H.fromPortablePath(s)}))})).exitCode()}};iE.paths=[[\"pack\"]],iE.usage=Re.Usage({description:\"generate a tarball from the active workspace\",details:\"\\n      This command will turn the active workspace into a compressed archive suitable for publishing. The archive will by default be stored at the root of the workspace (`package.tgz`).\\n\\n      If the `-o,---out` is set the archive will be created at the specified path. The `%s` and `%v` variables can be used within the path and will be respectively replaced by the package name and version.\\n    \",examples:[[\"Create an archive from the active workspace\",\"yarn pack\"],[\"List the files that would be made part of the workspace's archive\",\"yarn pack --dry-run\"],[\"Name and output the archive in a dedicated folder\",\"yarn pack --out /artifacts/%s-%v.tgz\"]]});var Vce=iE;function Q9e(r,{workspace:e}){let t=r.replace(\"%s\",S9e(e)).replace(\"%v\",v9e(e));return H.toPortablePath(t)}function S9e(r){return r.manifest.name!==null?P.slugifyIdent(r.manifest.name):\"package\"}function v9e(r){return r.manifest.version!==null?r.manifest.version:\"unknown\"}var k9e=[\"dependencies\",\"devDependencies\",\"peerDependencies\"],x9e=\"workspace:\",P9e=(r,e)=>{var i,n;e.publishConfig&&(e.publishConfig.main&&(e.main=e.publishConfig.main),e.publishConfig.browser&&(e.browser=e.publishConfig.browser),e.publishConfig.module&&(e.module=e.publishConfig.module),e.publishConfig.browser&&(e.browser=e.publishConfig.browser),e.publishConfig.exports&&(e.exports=e.publishConfig.exports),e.publishConfig.bin&&(e.bin=e.publishConfig.bin));let t=r.project;for(let s of k9e)for(let o of r.manifest.getForScope(s).values()){let a=t.tryWorkspaceByDescriptor(o),l=P.parseRange(o.range);if(l.protocol===x9e)if(a===null){if(t.tryWorkspaceByIdent(o)===null)throw new ct(X.WORKSPACE_NOT_FOUND,`${P.prettyDescriptor(t.configuration,o)}: No local workspace found for this range`)}else{let c;P.areDescriptorsEqual(o,a.anchoredDescriptor)||l.selector===\"*\"?c=(i=a.manifest.version)!=null?i:\"0.0.0\":l.selector===\"~\"||l.selector===\"^\"?c=`${l.selector}${(n=a.manifest.version)!=null?n:\"0.0.0\"}`:c=l.selector;let u=s===\"dependencies\"?P.makeDescriptor(o,\"unknown\"):null,g=u!==null&&r.manifest.ensureDependencyMeta(u).optional?\"optionalDependencies\":s;e[g][P.stringifyIdent(o)]=c}}},D9e={hooks:{beforeWorkspacePacking:P9e},commands:[Vce]},R9e=D9e;var sue=ge(require(\"crypto\")),oue=ge(nue()),aue=ge(require(\"url\"));async function V9e(r,e,{access:t,tag:i,registry:n,gitHead:s}){let o=r.project.configuration,a=r.manifest.name,l=r.manifest.version,c=P.stringifyIdent(a),u=(0,sue.createHash)(\"sha1\").update(e).digest(\"hex\"),g=oue.default.fromData(e).toString();typeof t==\"undefined\"&&(r.manifest.publishConfig&&typeof r.manifest.publishConfig.access==\"string\"?t=r.manifest.publishConfig.access:o.get(\"npmPublishAccess\")!==null?t=o.get(\"npmPublishAccess\"):a.scope?t=\"restricted\":t=\"public\");let f=await DA.genPackageManifest(r),h=`${c}-${l}.tgz`,p=new aue.URL(`${Ea(n)}/${c}/-/${h}`);return{_id:c,_attachments:{[h]:{content_type:\"application/octet-stream\",data:e.toString(\"base64\"),length:e.length}},name:c,access:t,[\"dist-tags\"]:{[i]:l},versions:{[l]:te(N({},f),{_id:`${c}@${l}`,name:c,version:l,gitHead:s,dist:{shasum:u,integrity:g,tarball:p.toString()}})}}}async function X9e(r){try{let{stdout:e}=await Nr.execvp(\"git\",[\"rev-parse\",\"--revs-only\",\"HEAD\"],{cwd:r});return e.trim()===\"\"?void 0:e.trim()}catch{return}}var WT={npmAlwaysAuth:{description:\"URL of the selected npm registry (note: npm enterprise isn't supported)\",type:Ie.BOOLEAN,default:!1},npmAuthIdent:{description:\"Authentication identity for the npm registry (_auth in npm and yarn v1)\",type:Ie.SECRET,default:null},npmAuthToken:{description:\"Authentication token for the npm registry (_authToken in npm and yarn v1)\",type:Ie.SECRET,default:null}},Aue={npmAuditRegistry:{description:\"Registry to query for audit reports\",type:Ie.STRING,default:null},npmPublishRegistry:{description:\"Registry to push packages to\",type:Ie.STRING,default:null},npmRegistryServer:{description:\"URL of the selected npm registry (note: npm enterprise isn't supported)\",type:Ie.STRING,default:\"https://registry.yarnpkg.com\"}},Z9e={configuration:te(N(N({},WT),Aue),{npmScopes:{description:\"Settings per package scope\",type:Ie.MAP,valueDefinition:{description:\"\",type:Ie.SHAPE,properties:N(N({},WT),Aue)}},npmRegistries:{description:\"Settings per registry\",type:Ie.MAP,normalizeKeys:Ea,valueDefinition:{description:\"\",type:Ie.SHAPE,properties:N({},WT)}}}),fetchers:[XL,vo],resolvers:[ZL,$L,eT]},$9e=Z9e;var XT={};ft(XT,{default:()=>A_e});ws();var ba;(function(i){i.All=\"all\",i.Production=\"production\",i.Development=\"development\"})(ba||(ba={}));var xo;(function(s){s.Info=\"info\",s.Low=\"low\",s.Moderate=\"moderate\",s.High=\"high\",s.Critical=\"critical\"})(xo||(xo={}));var Fb=[xo.Info,xo.Low,xo.Moderate,xo.High,xo.Critical];function lue(r,e){let t=[],i=new Set,n=o=>{i.has(o)||(i.add(o),t.push(o))};for(let o of e)n(o);let s=new Set;for(;t.length>0;){let o=t.shift(),a=r.storedResolutions.get(o);if(typeof a==\"undefined\")throw new Error(\"Assertion failed: Expected the resolution to have been registered\");let l=r.storedPackages.get(a);if(!!l){s.add(o);for(let c of l.dependencies.values())n(c.descriptorHash)}}return s}function e_e(r,e){return new Set([...r].filter(t=>!e.has(t)))}function t_e(r,e,{all:t}){let i=t?r.workspaces:[e],n=i.map(f=>f.manifest),s=new Set(n.map(f=>[...f.dependencies].map(([h,p])=>h)).flat()),o=new Set(n.map(f=>[...f.devDependencies].map(([h,p])=>h)).flat()),a=i.map(f=>[...f.dependencies.values()]).flat(),l=a.filter(f=>s.has(f.identHash)).map(f=>f.descriptorHash),c=a.filter(f=>o.has(f.identHash)).map(f=>f.descriptorHash),u=lue(r,l),g=lue(r,c);return e_e(g,u)}function cue(r){let e={};for(let t of r)e[P.stringifyIdent(t)]=P.parseRange(t.range).selector;return e}function uue(r){if(typeof r==\"undefined\")return new Set;let e=Fb.indexOf(r),t=Fb.slice(e);return new Set(t)}function r_e(r,e){let t=uue(e),i={};for(let n of t)i[n]=r[n];return i}function gue(r,e){var i;let t=r_e(r,e);for(let n of Object.keys(t))if((i=t[n])!=null?i:0>0)return!0;return!1}function fue(r,e){var s;let t={},i={children:t},n=Object.values(r.advisories);if(e!=null){let o=uue(e);n=n.filter(a=>o.has(a.severity))}for(let o of Se.sortMap(n,a=>a.module_name))t[o.module_name]={label:o.module_name,value:ae.tuple(ae.Type.RANGE,o.findings.map(a=>a.version).join(\", \")),children:{Issue:{label:\"Issue\",value:ae.tuple(ae.Type.NO_HINT,o.title)},URL:{label:\"URL\",value:ae.tuple(ae.Type.URL,o.url)},Severity:{label:\"Severity\",value:ae.tuple(ae.Type.NO_HINT,o.severity)},[\"Vulnerable Versions\"]:{label:\"Vulnerable Versions\",value:ae.tuple(ae.Type.RANGE,o.vulnerable_versions)},[\"Patched Versions\"]:{label:\"Patched Versions\",value:ae.tuple(ae.Type.RANGE,o.patched_versions)},Via:{label:\"Via\",value:ae.tuple(ae.Type.NO_HINT,Array.from(new Set(o.findings.map(a=>a.paths).flat().map(a=>a.split(\">\")[0]))).join(\", \"))},Recommendation:{label:\"Recommendation\",value:ae.tuple(ae.Type.NO_HINT,(s=o.recommendation)==null?void 0:s.replace(/\\n/g,\" \"))}}};return i}function hue(r,e,{all:t,environment:i}){let n=t?r.workspaces:[e],s=[ba.All,ba.Production].includes(i),o=[];if(s)for(let c of n)for(let u of c.manifest.dependencies.values())o.push(u);let a=[ba.All,ba.Development].includes(i),l=[];if(a)for(let c of n)for(let u of c.manifest.devDependencies.values())l.push(u);return cue([...o,...l].filter(c=>P.parseRange(c.range).protocol===null))}function pue(r,e,{all:t}){var s;let i=t_e(r,e,{all:t}),n={};for(let o of r.storedPackages.values())n[P.stringifyIdent(o)]={version:(s=o.version)!=null?s:\"0.0.0\",integrity:o.identHash,requires:cue(o.dependencies.values()),dev:i.has(P.convertLocatorToDescriptor(o).descriptorHash)};return n}var oE=class extends Le{constructor(){super(...arguments);this.all=J.Boolean(\"-A,--all\",!1,{description:\"Audit dependencies from all workspaces\"});this.recursive=J.Boolean(\"-R,--recursive\",!1,{description:\"Audit transitive dependencies as well\"});this.environment=J.String(\"--environment\",ba.All,{description:\"Which environments to cover\",validator:nn(ba)});this.json=J.Boolean(\"--json\",!1,{description:\"Format the output as an NDJSON stream\"});this.severity=J.String(\"--severity\",xo.Info,{description:\"Minimal severity requested for packages to be displayed\",validator:nn(xo)})}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:t,workspace:i}=await ze.find(e,this.context.cwd);if(!i)throw new ht(t.cwd,this.context.cwd);await t.restoreInstallState();let n=hue(t,i,{all:this.all,environment:this.environment}),s=pue(t,i,{all:this.all});if(!this.recursive)for(let f of Object.keys(s))Object.prototype.hasOwnProperty.call(n,f)?s[f].requires={}:delete s[f];let o={requires:n,dependencies:s},a=br.getAuditRegistry(i.manifest,{configuration:e}),l,c=await dA.start({configuration:e,stdout:this.context.stdout},async()=>{l=await zt.post(\"/-/npm/v1/security/audits/quick\",o,{authType:zt.AuthType.BEST_EFFORT,configuration:e,jsonResponse:!0,registry:a})});if(c.hasErrors())return c.exitCode();let u=gue(l.metadata.vulnerabilities,this.severity);return!this.json&&u?(ls.emitTree(fue(l,this.severity),{configuration:e,json:this.json,stdout:this.context.stdout,separators:2}),1):(await Je.start({configuration:e,includeFooter:!1,json:this.json,stdout:this.context.stdout},async f=>{f.reportJson(l),u||f.reportInfo(X.EXCEPTION,\"No audit suggestions\")})).exitCode()}};oE.paths=[[\"npm\",\"audit\"]],oE.usage=Re.Usage({description:\"perform a vulnerability audit against the installed packages\",details:`\n      This command checks for known security reports on the packages you use. The reports are by default extracted from the npm registry, and may or may not be relevant to your actual program (not all vulnerabilities affect all code paths).\n\n      For consistency with our other commands the default is to only check the direct dependencies for the active workspace. To extend this search to all workspaces, use \\`-A,--all\\`. To extend this search to both direct and transitive dependencies, use \\`-R,--recursive\\`.\n\n      Applying the \\`--severity\\` flag will limit the audit table to vulnerabilities of the corresponding severity and above. Valid values are ${Fb.map(e=>`\\`${e}\\``).join(\", \")}.\n\n      If the \\`--json\\` flag is set, Yarn will print the output exactly as received from the registry. Regardless of this flag, the process will exit with a non-zero exit code if a report is found for the selected packages.\n\n      To understand the dependency tree requiring vulnerable packages, check the raw report with the \\`--json\\` flag or use \\`yarn why <package>\\` to get more information as to who depends on them.\n    `,examples:[[\"Checks for known security issues with the installed packages. The output is a list of known issues.\",\"yarn npm audit\"],[\"Audit dependencies in all workspaces\",\"yarn npm audit --all\"],[\"Limit auditing to `dependencies` (excludes `devDependencies`)\",\"yarn npm audit --environment production\"],[\"Show audit report as valid JSON\",\"yarn npm audit --json\"],[\"Audit all direct and transitive dependencies\",\"yarn npm audit --recursive\"],[\"Output moderate (or more severe) vulnerabilities\",\"yarn npm audit --severity moderate\"]]});var due=oE;var zT=ge(ri()),_T=ge(require(\"util\")),aE=class extends Le{constructor(){super(...arguments);this.fields=J.String(\"-f,--fields\",{description:\"A comma-separated list of manifest fields that should be displayed\"});this.json=J.Boolean(\"--json\",!1,{description:\"Format the output as an NDJSON stream\"});this.packages=J.Rest()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:t}=await ze.find(e,this.context.cwd),i=typeof this.fields!=\"undefined\"?new Set([\"name\",...this.fields.split(/\\s*,\\s*/)]):null,n=[],s=!1,o=await Je.start({configuration:e,includeFooter:!1,json:this.json,stdout:this.context.stdout},async a=>{for(let l of this.packages){let c;if(l===\".\"){let k=t.topLevelWorkspace;if(!k.manifest.name)throw new Pe(`Missing ${ae.pretty(e,\"name\",ae.Type.CODE)} field in ${H.fromPortablePath(x.join(k.cwd,xt.manifest))}`);c=P.makeDescriptor(k.manifest.name,\"unknown\")}else c=P.parseDescriptor(l);let u=zt.getIdentUrl(c),g=VT(await zt.get(u,{configuration:e,ident:c,jsonResponse:!0,customErrorMessage:zt.customPackageError})),f=Object.keys(g.versions).sort(zT.default.compareLoose),p=g[\"dist-tags\"].latest||f[f.length-1],m=Wt.validRange(c.range);if(m){let k=zT.default.maxSatisfying(f,m);k!==null?p=k:(a.reportWarning(X.UNNAMED,`Unmet range ${P.prettyRange(e,c.range)}; falling back to the latest version`),s=!0)}else Object.prototype.hasOwnProperty.call(g[\"dist-tags\"],c.range)?p=g[\"dist-tags\"][c.range]:c.range!==\"unknown\"&&(a.reportWarning(X.UNNAMED,`Unknown tag ${P.prettyRange(e,c.range)}; falling back to the latest version`),s=!0);let y=g.versions[p],b=te(N(N({},g),y),{version:p,versions:f}),v;if(i!==null){v={};for(let k of i){let T=b[k];if(typeof T!=\"undefined\")v[k]=T;else{a.reportWarning(X.EXCEPTION,`The ${ae.pretty(e,k,ae.Type.CODE)} field doesn't exist inside ${P.prettyIdent(e,c)}'s information`),s=!0;continue}}}else this.json||(delete b.dist,delete b.readme,delete b.users),v=b;a.reportJson(v),this.json||n.push(v)}});_T.inspect.styles.name=\"cyan\";for(let a of n)(a!==n[0]||s)&&this.context.stdout.write(`\n`),this.context.stdout.write(`${(0,_T.inspect)(a,{depth:Infinity,colors:!0,compact:!1})}\n`);return o.exitCode()}};aE.paths=[[\"npm\",\"info\"]],aE.usage=Re.Usage({category:\"Npm-related commands\",description:\"show information about a package\",details:\"\\n      This command fetches information about a package from the npm registry and prints it in a tree format.\\n\\n      The package does not have to be installed locally, but needs to have been published (in particular, local changes will be ignored even for workspaces).\\n\\n      Append `@<range>` to the package argument to provide information specific to the latest version that satisfies the range or to the corresponding tagged version. If the range is invalid or if there is no version satisfying the range, the command will print a warning and fall back to the latest version.\\n\\n      If the `-f,--fields` option is set, it's a comma-separated list of fields which will be used to only display part of the package information.\\n\\n      By default, this command won't return the `dist`, `readme`, and `users` fields, since they are often very long. To explicitly request those fields, explicitly list them with the `--fields` flag or request the output in JSON mode.\\n    \",examples:[[\"Show all available information about react (except the `dist`, `readme`, and `users` fields)\",\"yarn npm info react\"],[\"Show all available information about react as valid JSON (including the `dist`, `readme`, and `users` fields)\",\"yarn npm info react --json\"],[\"Show all available information about react@16.12.0\",\"yarn npm info react@16.12.0\"],[\"Show all available information about react@next\",\"yarn npm info react@next\"],[\"Show the description of react\",\"yarn npm info react --fields description\"],[\"Show all available versions of react\",\"yarn npm info react --fields versions\"],[\"Show the readme of react\",\"yarn npm info react --fields readme\"],[\"Show a few fields of react\",\"yarn npm info react --fields homepage,repository\"]]});var Cue=aE;function VT(r){if(Array.isArray(r)){let e=[];for(let t of r)t=VT(t),t&&e.push(t);return e}else if(typeof r==\"object\"&&r!==null){let e={};for(let t of Object.keys(r)){if(t.startsWith(\"_\"))continue;let i=VT(r[t]);i&&(e[t]=i)}return e}else return r||null}var mue=ge(zC()),AE=class extends Le{constructor(){super(...arguments);this.scope=J.String(\"-s,--scope\",{description:\"Login to the registry configured for a given scope\"});this.publish=J.Boolean(\"--publish\",!1,{description:\"Login to the publish registry\"})}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),t=await Nb({configuration:e,cwd:this.context.cwd,publish:this.publish,scope:this.scope});return(await Je.start({configuration:e,stdout:this.context.stdout},async n=>{let s=await n_e({registry:t,report:n,stdin:this.context.stdin,stdout:this.context.stdout}),o=`/-/user/org.couchdb.user:${encodeURIComponent(s.name)}`,a=await zt.put(o,s,{attemptedAs:s.name,configuration:e,registry:t,jsonResponse:!0,authType:zt.AuthType.NO_AUTH});return await i_e(t,a.token,{configuration:e,scope:this.scope}),n.reportInfo(X.UNNAMED,\"Successfully logged in\")})).exitCode()}};AE.paths=[[\"npm\",\"login\"]],AE.usage=Re.Usage({category:\"Npm-related commands\",description:\"store new login info to access the npm registry\",details:\"\\n      This command will ask you for your username, password, and 2FA One-Time-Password (when it applies). It will then modify your local configuration (in your home folder, never in the project itself) to reference the new tokens thus generated.\\n\\n      Adding the `-s,--scope` flag will cause the authentication to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\\n\\n      Adding the `--publish` flag will cause the authentication to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\\n    \",examples:[[\"Login to the default registry\",\"yarn npm login\"],[\"Login to the registry linked to the @my-scope registry\",\"yarn npm login --scope my-scope\"],[\"Login to the publish registry for the current package\",\"yarn npm login --publish\"]]});var Eue=AE;async function Nb({scope:r,publish:e,configuration:t,cwd:i}){return r&&e?br.getScopeRegistry(r,{configuration:t,type:br.RegistryType.PUBLISH_REGISTRY}):r?br.getScopeRegistry(r,{configuration:t}):e?br.getPublishRegistry((await zf(t,i)).manifest,{configuration:t}):br.getDefaultRegistry({configuration:t})}async function i_e(r,e,{configuration:t,scope:i}){let n=o=>a=>{let l=Se.isIndexableObject(a)?a:{},c=l[o],u=Se.isIndexableObject(c)?c:{};return te(N({},l),{[o]:te(N({},u),{npmAuthToken:e})})},s=i?{npmScopes:n(i)}:{npmRegistries:n(r)};return await ye.updateHomeConfiguration(s)}async function n_e({registry:r,report:e,stdin:t,stdout:i}){if(process.env.TEST_ENV)return{name:process.env.TEST_NPM_USER||\"\",password:process.env.TEST_NPM_PASSWORD||\"\"};e.reportInfo(X.UNNAMED,`Logging in to ${r}`);let n=!1;r.match(/^https:\\/\\/npm\\.pkg\\.github\\.com(\\/|$)/)&&(e.reportInfo(X.UNNAMED,\"You seem to be using the GitHub Package Registry. Tokens must be generated with the 'repo', 'write:packages', and 'read:packages' permissions.\"),n=!0),e.reportSeparator();let{username:s,password:o}=await(0,mue.prompt)([{type:\"input\",name:\"username\",message:\"Username:\",required:!0,onCancel:()=>process.exit(130),stdin:t,stdout:i},{type:\"password\",name:\"password\",message:n?\"Token:\":\"Password:\",required:!0,onCancel:()=>process.exit(130),stdin:t,stdout:i}]);return e.reportSeparator(),{name:s,password:o}}var bh=new Set([\"npmAuthIdent\",\"npmAuthToken\"]),lE=class extends Le{constructor(){super(...arguments);this.scope=J.String(\"-s,--scope\",{description:\"Logout of the registry configured for a given scope\"});this.publish=J.Boolean(\"--publish\",!1,{description:\"Logout of the publish registry\"});this.all=J.Boolean(\"-A,--all\",!1,{description:\"Logout of all registries\"})}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),t=async()=>{var l;let n=await Nb({configuration:e,cwd:this.context.cwd,publish:this.publish,scope:this.scope}),s=await ye.find(this.context.cwd,this.context.plugins),o=P.makeIdent((l=this.scope)!=null?l:null,\"pkg\");return!br.getAuthConfiguration(n,{configuration:s,ident:o}).get(\"npmAuthToken\")};return(await Je.start({configuration:e,stdout:this.context.stdout},async n=>{if(this.all&&(await s_e(),n.reportInfo(X.UNNAMED,\"Successfully logged out from everything\")),this.scope){await Iue(\"npmScopes\",this.scope),await t()?n.reportInfo(X.UNNAMED,`Successfully logged out from ${this.scope}`):n.reportWarning(X.UNNAMED,\"Scope authentication settings removed, but some other ones settings still apply to it\");return}let s=await Nb({configuration:e,cwd:this.context.cwd,publish:this.publish});await Iue(\"npmRegistries\",s),await t()?n.reportInfo(X.UNNAMED,`Successfully logged out from ${s}`):n.reportWarning(X.UNNAMED,\"Registry authentication settings removed, but some other ones settings still apply to it\")})).exitCode()}};lE.paths=[[\"npm\",\"logout\"]],lE.usage=Re.Usage({category:\"Npm-related commands\",description:\"logout of the npm registry\",details:\"\\n      This command will log you out by modifying your local configuration (in your home folder, never in the project itself) to delete all credentials linked to a registry.\\n\\n      Adding the `-s,--scope` flag will cause the deletion to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\\n\\n      Adding the `--publish` flag will cause the deletion to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\\n\\n      Adding the `-A,--all` flag will cause the deletion to be done against all registries and scopes.\\n    \",examples:[[\"Logout of the default registry\",\"yarn npm logout\"],[\"Logout of the @my-scope scope\",\"yarn npm logout --scope my-scope\"],[\"Logout of the publish registry for the current package\",\"yarn npm logout --publish\"],[\"Logout of all registries\",\"yarn npm logout --all\"]]});var yue=lE;function o_e(r,e){let t=r[e];if(!Se.isIndexableObject(t))return!1;let i=new Set(Object.keys(t));if([...bh].every(s=>!i.has(s)))return!1;for(let s of bh)i.delete(s);if(i.size===0)return r[e]=void 0,!0;let n=N({},t);for(let s of bh)delete n[s];return r[e]=n,!0}async function s_e(){let r=e=>{let t=!1,i=Se.isIndexableObject(e)?N({},e):{};i.npmAuthToken&&(delete i.npmAuthToken,t=!0);for(let n of Object.keys(i))o_e(i,n)&&(t=!0);if(Object.keys(i).length!==0)return t?i:e};return await ye.updateHomeConfiguration({npmRegistries:r,npmScopes:r})}async function Iue(r,e){return await ye.updateHomeConfiguration({[r]:t=>{let i=Se.isIndexableObject(t)?t:{};if(!Object.prototype.hasOwnProperty.call(i,e))return t;let n=i[e],s=Se.isIndexableObject(n)?n:{},o=new Set(Object.keys(s));if([...bh].every(l=>!o.has(l)))return t;for(let l of bh)o.delete(l);if(o.size===0)return Object.keys(i).length===1?void 0:te(N({},i),{[e]:void 0});let a={};for(let l of bh)a[l]=void 0;return te(N({},i),{[e]:N(N({},s),a)})}})}var cE=class extends Le{constructor(){super(...arguments);this.access=J.String(\"--access\",{description:\"The access for the published package (public or restricted)\"});this.tag=J.String(\"--tag\",\"latest\",{description:\"The tag on the registry that the package should be attached to\"});this.tolerateRepublish=J.Boolean(\"--tolerate-republish\",!1,{description:\"Warn and exit when republishing an already existing version of a package\"});this.otp=J.String(\"--otp\",{description:\"The OTP token to use with the command\"})}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:t,workspace:i}=await ze.find(e,this.context.cwd);if(!i)throw new ht(t.cwd,this.context.cwd);if(i.manifest.private)throw new Pe(\"Private workspaces cannot be published\");if(i.manifest.name===null||i.manifest.version===null)throw new Pe(\"Workspaces must have valid names and versions to be published on an external registry\");await t.restoreInstallState();let n=i.manifest.name,s=i.manifest.version,o=br.getPublishRegistry(i.manifest,{configuration:e});return(await Je.start({configuration:e,stdout:this.context.stdout},async l=>{var c,u;if(this.tolerateRepublish)try{let g=await zt.get(zt.getIdentUrl(n),{configuration:e,registry:o,ident:n,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(g,\"versions\"))throw new ct(X.REMOTE_INVALID,'Registry returned invalid data for - missing \"versions\" field');if(Object.prototype.hasOwnProperty.call(g.versions,s)){l.reportWarning(X.UNNAMED,`Registry already knows about version ${s}; skipping.`);return}}catch(g){if(((u=(c=g.originalError)==null?void 0:c.response)==null?void 0:u.statusCode)!==404)throw g}await Zt.maybeExecuteWorkspaceLifecycleScript(i,\"prepublish\",{report:l}),await DA.prepareForPack(i,{report:l},async()=>{let g=await DA.genPackList(i);for(let y of g)l.reportInfo(null,y);let f=await DA.genPackStream(i,g),h=await Se.bufferStream(f),p=await Bh.getGitHead(i.cwd),m=await Bh.makePublishBody(i,h,{access:this.access,tag:this.tag,registry:o,gitHead:p});await zt.put(zt.getIdentUrl(n),m,{configuration:e,registry:o,ident:n,otp:this.otp,jsonResponse:!0})}),l.reportInfo(X.UNNAMED,\"Package archive published\")})).exitCode()}};cE.paths=[[\"npm\",\"publish\"]],cE.usage=Re.Usage({category:\"Npm-related commands\",description:\"publish the active workspace to the npm registry\",details:'\\n      This command will pack the active workspace into a fresh archive and upload it to the npm registry.\\n\\n      The package will by default be attached to the `latest` tag on the registry, but this behavior can be overriden by using the `--tag` option.\\n\\n      Note that for legacy reasons scoped packages are by default published with an access set to `restricted` (aka \"private packages\"). This requires you to register for a paid npm plan. In case you simply wish to publish a public scoped package to the registry (for free), just add the `--access public` flag. This behavior can be enabled by default through the `npmPublishAccess` settings.\\n    ',examples:[[\"Publish the active workspace\",\"yarn npm publish\"]]});var wue=cE;var bue=ge(ri());var uE=class extends Le{constructor(){super(...arguments);this.json=J.Boolean(\"--json\",!1,{description:\"Format the output as an NDJSON stream\"});this.package=J.String({required:!1})}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:t,workspace:i}=await ze.find(e,this.context.cwd),n;if(typeof this.package!=\"undefined\")n=P.parseIdent(this.package);else{if(!i)throw new ht(t.cwd,this.context.cwd);if(!i.manifest.name)throw new Pe(`Missing 'name' field in ${H.fromPortablePath(x.join(i.cwd,xt.manifest))}`);n=i.manifest.name}let s=await gE(n,e),a={children:Se.sortMap(Object.entries(s),([l])=>l).map(([l,c])=>({value:ae.tuple(ae.Type.RESOLUTION,{descriptor:P.makeDescriptor(n,l),locator:P.makeLocator(n,c)})}))};return ls.emitTree(a,{configuration:e,json:this.json,stdout:this.context.stdout})}};uE.paths=[[\"npm\",\"tag\",\"list\"]],uE.usage=Re.Usage({category:\"Npm-related commands\",description:\"list all dist-tags of a package\",details:`\n      This command will list all tags of a package from the npm registry.\n\n      If the package is not specified, Yarn will default to the current workspace.\n    `,examples:[[\"List all tags of package `my-pkg`\",\"yarn npm tag list my-pkg\"]]});var Bue=uE;async function gE(r,e){let t=`/-/package${zt.getIdentUrl(r)}/dist-tags`;return zt.get(t,{configuration:e,ident:r,jsonResponse:!0,customErrorMessage:zt.customPackageError})}var fE=class extends Le{constructor(){super(...arguments);this.package=J.String();this.tag=J.String()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:t,workspace:i}=await ze.find(e,this.context.cwd);if(!i)throw new ht(t.cwd,this.context.cwd);let n=P.parseDescriptor(this.package,!0),s=n.range;if(!bue.default.valid(s))throw new Pe(`The range ${ae.pretty(e,n.range,ae.Type.RANGE)} must be a valid semver version`);let o=br.getPublishRegistry(i.manifest,{configuration:e}),a=ae.pretty(e,n,ae.Type.IDENT),l=ae.pretty(e,s,ae.Type.RANGE),c=ae.pretty(e,this.tag,ae.Type.CODE);return(await Je.start({configuration:e,stdout:this.context.stdout},async g=>{let f=await gE(n,e);Object.prototype.hasOwnProperty.call(f,this.tag)&&f[this.tag]===s&&g.reportWarning(X.UNNAMED,`Tag ${c} is already set to version ${l}`);let h=`/-/package${zt.getIdentUrl(n)}/dist-tags/${encodeURIComponent(this.tag)}`;await zt.put(h,s,{configuration:e,registry:o,ident:n,jsonRequest:!0,jsonResponse:!0}),g.reportInfo(X.UNNAMED,`Tag ${c} added to version ${l} of package ${a}`)})).exitCode()}};fE.paths=[[\"npm\",\"tag\",\"add\"]],fE.usage=Re.Usage({category:\"Npm-related commands\",description:\"add a tag for a specific version of a package\",details:`\n      This command will add a tag to the npm registry for a specific version of a package. If the tag already exists, it will be overwritten.\n    `,examples:[[\"Add a `beta` tag for version `2.3.4-beta.4` of package `my-pkg`\",\"yarn npm tag add my-pkg@2.3.4-beta.4 beta\"]]});var Que=fE;var hE=class extends Le{constructor(){super(...arguments);this.package=J.String();this.tag=J.String()}async execute(){if(this.tag===\"latest\")throw new Pe(\"The 'latest' tag cannot be removed.\");let e=await ye.find(this.context.cwd,this.context.plugins),{project:t,workspace:i}=await ze.find(e,this.context.cwd);if(!i)throw new ht(t.cwd,this.context.cwd);let n=P.parseIdent(this.package),s=br.getPublishRegistry(i.manifest,{configuration:e}),o=ae.pretty(e,this.tag,ae.Type.CODE),a=ae.pretty(e,n,ae.Type.IDENT),l=await gE(n,e);if(!Object.prototype.hasOwnProperty.call(l,this.tag))throw new Pe(`${o} is not a tag of package ${a}`);return(await Je.start({configuration:e,stdout:this.context.stdout},async u=>{let g=`/-/package${zt.getIdentUrl(n)}/dist-tags/${encodeURIComponent(this.tag)}`;await zt.del(g,{configuration:e,registry:s,ident:n,jsonResponse:!0}),u.reportInfo(X.UNNAMED,`Tag ${o} removed from package ${a}`)})).exitCode()}};hE.paths=[[\"npm\",\"tag\",\"remove\"]],hE.usage=Re.Usage({category:\"Npm-related commands\",description:\"remove a tag from a package\",details:`\n      This command will remove a tag from a package from the npm registry.\n    `,examples:[[\"Remove the `beta` tag from package `my-pkg`\",\"yarn npm tag remove my-pkg beta\"]]});var Sue=hE;var pE=class extends Le{constructor(){super(...arguments);this.scope=J.String(\"-s,--scope\",{description:\"Print username for the registry configured for a given scope\"});this.publish=J.Boolean(\"--publish\",!1,{description:\"Print username for the publish registry\"})}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),t;return this.scope&&this.publish?t=br.getScopeRegistry(this.scope,{configuration:e,type:br.RegistryType.PUBLISH_REGISTRY}):this.scope?t=br.getScopeRegistry(this.scope,{configuration:e}):this.publish?t=br.getPublishRegistry((await zf(e,this.context.cwd)).manifest,{configuration:e}):t=br.getDefaultRegistry({configuration:e}),(await Je.start({configuration:e,stdout:this.context.stdout},async n=>{var o,a;let s;try{s=await zt.get(\"/-/whoami\",{configuration:e,registry:t,authType:zt.AuthType.ALWAYS_AUTH,jsonResponse:!0,ident:this.scope?P.makeIdent(this.scope,\"\"):void 0})}catch(l){if(((o=l.response)==null?void 0:o.statusCode)===401||((a=l.response)==null?void 0:a.statusCode)===403){n.reportError(X.AUTHENTICATION_INVALID,\"Authentication failed - your credentials may have expired\");return}else throw l}n.reportInfo(X.UNNAMED,s.username)})).exitCode()}};pE.paths=[[\"npm\",\"whoami\"]],pE.usage=Re.Usage({category:\"Npm-related commands\",description:\"display the name of the authenticated user\",details:\"\\n      Print the username associated with the current authentication settings to the standard output.\\n\\n      When using `-s,--scope`, the username printed will be the one that matches the authentication settings of the registry associated with the given scope (those settings can be overriden using the `npmRegistries` map, and the registry associated with the scope is configured via the `npmScopes` map).\\n\\n      When using `--publish`, the registry we'll select will by default be the one used when publishing packages (`publishConfig.registry` or `npmPublishRegistry` if available, otherwise we'll fallback to the regular `npmRegistryServer`).\\n    \",examples:[[\"Print username for the default registry\",\"yarn npm whoami\"],[\"Print username for the registry on a given scope\",\"yarn npm whoami --scope company\"]]});var vue=pE;var a_e={configuration:{npmPublishAccess:{description:\"Default access of the published packages\",type:Ie.STRING,default:null}},commands:[due,Cue,Eue,yue,wue,Que,Bue,Sue,vue]},A_e=a_e;var AO={};ft(AO,{default:()=>B_e,patchUtils:()=>ZT});var ZT={};ft(ZT,{applyPatchFile:()=>Ob,diffFolders:()=>sO,ensureUnpatchedDescriptor:()=>eO,extractPackageToDisk:()=>nO,extractPatchFlags:()=>Nue,isParentRequired:()=>iO,loadPatchFiles:()=>EE,makeDescriptor:()=>tO,makeLocator:()=>rO,parseDescriptor:()=>CE,parseLocator:()=>mE,parsePatchFile:()=>Tb});var dE=class extends Error{constructor(e,t){super(`Cannot apply hunk #${e+1}`);this.hunk=t}};var l_e=/^@@ -(\\d+)(,(\\d+))? \\+(\\d+)(,(\\d+))? @@.*/;function Qh(r){return x.relative(Me.root,x.resolve(Me.root,H.toPortablePath(r)))}function c_e(r){let e=r.trim().match(l_e);if(!e)throw new Error(`Bad header line: '${r}'`);return{original:{start:Math.max(Number(e[1]),1),length:Number(e[3]||1)},patched:{start:Math.max(Number(e[4]),1),length:Number(e[6]||1)}}}var u_e=420,g_e=493,Zr;(function(i){i.Context=\"context\",i.Insertion=\"insertion\",i.Deletion=\"deletion\"})(Zr||(Zr={}));var kue=()=>({semverExclusivity:null,diffLineFromPath:null,diffLineToPath:null,oldMode:null,newMode:null,deletedFileMode:null,newFileMode:null,renameFrom:null,renameTo:null,beforeHash:null,afterHash:null,fromPath:null,toPath:null,hunks:null}),f_e=r=>({header:c_e(r),parts:[]}),h_e={[\"@\"]:\"header\",[\"-\"]:Zr.Deletion,[\"+\"]:Zr.Insertion,[\" \"]:Zr.Context,[\"\\\\\"]:\"pragma\",undefined:Zr.Context};function d_e(r){let e=[],t=kue(),i=\"parsing header\",n=null,s=null;function o(){n&&(s&&(n.parts.push(s),s=null),t.hunks.push(n),n=null)}function a(){o(),e.push(t),t=kue()}for(let l=0;l<r.length;l++){let c=r[l];if(i===\"parsing header\")if(c.startsWith(\"@@\"))i=\"parsing hunks\",t.hunks=[],l-=1;else if(c.startsWith(\"diff --git \")){t&&t.diffLineFromPath&&a();let u=c.match(/^diff --git a\\/(.*?) b\\/(.*?)\\s*$/);if(!u)throw new Error(`Bad diff line: ${c}`);t.diffLineFromPath=u[1],t.diffLineToPath=u[2]}else if(c.startsWith(\"old mode \"))t.oldMode=c.slice(\"old mode \".length).trim();else if(c.startsWith(\"new mode \"))t.newMode=c.slice(\"new mode \".length).trim();else if(c.startsWith(\"deleted file mode \"))t.deletedFileMode=c.slice(\"deleted file mode \".length).trim();else if(c.startsWith(\"new file mode \"))t.newFileMode=c.slice(\"new file mode \".length).trim();else if(c.startsWith(\"rename from \"))t.renameFrom=c.slice(\"rename from \".length).trim();else if(c.startsWith(\"rename to \"))t.renameTo=c.slice(\"rename to \".length).trim();else if(c.startsWith(\"index \")){let u=c.match(/(\\w+)\\.\\.(\\w+)/);if(!u)continue;t.beforeHash=u[1],t.afterHash=u[2]}else c.startsWith(\"semver exclusivity \")?t.semverExclusivity=c.slice(\"semver exclusivity \".length).trim():c.startsWith(\"--- \")?t.fromPath=c.slice(\"--- a/\".length).trim():c.startsWith(\"+++ \")&&(t.toPath=c.slice(\"+++ b/\".length).trim());else{let u=h_e[c[0]]||null;switch(u){case\"header\":o(),n=f_e(c);break;case null:i=\"parsing header\",a(),l-=1;break;case\"pragma\":{if(!c.startsWith(\"\\\\ No newline at end of file\"))throw new Error(`Unrecognized pragma in patch file: ${c}`);if(!s)throw new Error(\"Bad parser state: No newline at EOF pragma encountered without context\");s.noNewlineAtEndOfFile=!0}break;case Zr.Context:case Zr.Deletion:case Zr.Insertion:{if(!n)throw new Error(\"Bad parser state: Hunk lines encountered before hunk header\");s&&s.type!==u&&(n.parts.push(s),s=null),s||(s={type:u,lines:[],noNewlineAtEndOfFile:!1}),s.lines.push(c.slice(1))}break;default:Se.assertNever(u);break}}}a();for(let{hunks:l}of e)if(l)for(let c of l)p_e(c);return e}function C_e(r){let e=[];for(let t of r){let{semverExclusivity:i,diffLineFromPath:n,diffLineToPath:s,oldMode:o,newMode:a,deletedFileMode:l,newFileMode:c,renameFrom:u,renameTo:g,beforeHash:f,afterHash:h,fromPath:p,toPath:m,hunks:y}=t,b=u?\"rename\":l?\"file deletion\":c?\"file creation\":y&&y.length>0?\"patch\":\"mode change\",v=null;switch(b){case\"rename\":{if(!u||!g)throw new Error(\"Bad parser state: rename from & to not given\");e.push({type:\"rename\",semverExclusivity:i,fromPath:Qh(u),toPath:Qh(g)}),v=g}break;case\"file deletion\":{let k=n||p;if(!k)throw new Error(\"Bad parse state: no path given for file deletion\");e.push({type:\"file deletion\",semverExclusivity:i,hunk:y&&y[0]||null,path:Qh(k),mode:Lb(l),hash:f})}break;case\"file creation\":{let k=s||m;if(!k)throw new Error(\"Bad parse state: no path given for file creation\");e.push({type:\"file creation\",semverExclusivity:i,hunk:y&&y[0]||null,path:Qh(k),mode:Lb(c),hash:h})}break;case\"patch\":case\"mode change\":v=m||s;break;default:Se.assertNever(b);break}v&&o&&a&&o!==a&&e.push({type:\"mode change\",semverExclusivity:i,path:Qh(v),oldMode:Lb(o),newMode:Lb(a)}),v&&y&&y.length&&e.push({type:\"patch\",semverExclusivity:i,path:Qh(v),hunks:y,beforeHash:f,afterHash:h})}if(e.length===0)throw new Error(\"Unable to parse patch file: No changes found. Make sure the patch is a valid UTF8 encoded string\");return e}function Lb(r){let e=parseInt(r,8)&511;if(e!==u_e&&e!==g_e)throw new Error(`Unexpected file mode string: ${r}`);return e}function Tb(r){let e=r.split(/\\n/g);return e[e.length-1]===\"\"&&e.pop(),C_e(d_e(e))}function p_e(r){let e=0,t=0;for(let{type:i,lines:n}of r.parts)switch(i){case Zr.Context:t+=n.length,e+=n.length;break;case Zr.Deletion:e+=n.length;break;case Zr.Insertion:t+=n.length;break;default:Se.assertNever(i);break}if(e!==r.header.original.length||t!==r.header.patched.length){let i=n=>n<0?n:`+${n}`;throw new Error(`hunk header integrity check failed (expected @@ ${i(r.header.original.length)} ${i(r.header.patched.length)} @@, got @@ ${i(e)} ${i(t)} @@)`)}}async function Sh(r,e,t){let i=await r.lstatPromise(e),n=await t();if(typeof n!=\"undefined\"&&(e=n),r.lutimesPromise)await r.lutimesPromise(e,i.atime,i.mtime);else if(!i.isSymbolicLink())await r.utimesPromise(e,i.atime,i.mtime);else throw new Error(\"Cannot preserve the time values of a symlink\")}async function Ob(r,{baseFs:e=new ar,dryRun:t=!1,version:i=null}={}){for(let n of r)if(!(n.semverExclusivity!==null&&i!==null&&!Wt.satisfiesWithPrereleases(i,n.semverExclusivity)))switch(n.type){case\"file deletion\":if(t){if(!e.existsSync(n.path))throw new Error(`Trying to delete a file that doesn't exist: ${n.path}`)}else await Sh(e,x.dirname(n.path),async()=>{await e.unlinkPromise(n.path)});break;case\"rename\":if(t){if(!e.existsSync(n.fromPath))throw new Error(`Trying to move a file that doesn't exist: ${n.fromPath}`)}else await Sh(e,x.dirname(n.fromPath),async()=>{await Sh(e,x.dirname(n.toPath),async()=>{await Sh(e,n.fromPath,async()=>(await e.movePromise(n.fromPath,n.toPath),n.toPath))})});break;case\"file creation\":if(t){if(e.existsSync(n.path))throw new Error(`Trying to create a file that already exists: ${n.path}`)}else{let s=n.hunk?n.hunk.parts[0].lines.join(`\n`)+(n.hunk.parts[0].noNewlineAtEndOfFile?\"\":`\n`):\"\";await e.mkdirpPromise(x.dirname(n.path),{chmod:493,utimes:[Rr.SAFE_TIME,Rr.SAFE_TIME]}),await e.writeFilePromise(n.path,s,{mode:n.mode}),await e.utimesPromise(n.path,Rr.SAFE_TIME,Rr.SAFE_TIME)}break;case\"patch\":await Sh(e,n.path,async()=>{await m_e(n,{baseFs:e,dryRun:t})});break;case\"mode change\":{let o=(await e.statPromise(n.path)).mode;if(xue(n.newMode)!==xue(o))continue;await Sh(e,n.path,async()=>{await e.chmodPromise(n.path,n.newMode)})}break;default:Se.assertNever(n);break}}function xue(r){return(r&64)>0}function Pue(r){return r.replace(/\\s+$/,\"\")}function E_e(r,e){return Pue(r)===Pue(e)}async function m_e({hunks:r,path:e},{baseFs:t,dryRun:i=!1}){let n=await t.statSync(e).mode,o=(await t.readFileSync(e,\"utf8\")).split(/\\n/),a=[],l=0,c=0;for(let g of r){let f=Math.max(c,g.header.patched.start+l),h=Math.max(0,f-c),p=Math.max(0,o.length-f-g.header.original.length),m=Math.max(h,p),y=0,b=0,v=null;for(;y<=m;){if(y<=h&&(b=f-y,v=Due(g,o,b),v!==null)){y=-y;break}if(y<=p&&(b=f+y,v=Due(g,o,b),v!==null))break;y+=1}if(v===null)throw new dE(r.indexOf(g),g);a.push(v),l+=y,c=b+g.header.original.length}if(i)return;let u=0;for(let g of a)for(let f of g)switch(f.type){case\"splice\":{let h=f.index+u;o.splice(h,f.numToDelete,...f.linesToInsert),u+=f.linesToInsert.length-f.numToDelete}break;case\"pop\":o.pop();break;case\"push\":o.push(f.line);break;default:Se.assertNever(f);break}await t.writeFilePromise(e,o.join(`\n`),{mode:n})}function Due(r,e,t){let i=[];for(let n of r.parts)switch(n.type){case Zr.Context:case Zr.Deletion:{for(let s of n.lines){let o=e[t];if(o==null||!E_e(o,s))return null;t+=1}n.type===Zr.Deletion&&(i.push({type:\"splice\",index:t-n.lines.length,numToDelete:n.lines.length,linesToInsert:[]}),n.noNewlineAtEndOfFile&&i.push({type:\"push\",line:\"\"}))}break;case Zr.Insertion:i.push({type:\"splice\",index:t,numToDelete:0,linesToInsert:n.lines}),n.noNewlineAtEndOfFile&&i.push({type:\"pop\"});break;default:Se.assertNever(n.type);break}return i}var I_e=/^builtin<([^>]+)>$/;function $T(r,e){let{source:t,selector:i,params:n}=P.parseRange(r);if(t===null)throw new Error(\"Patch locators must explicitly define their source\");let s=i?i.split(/&/).map(c=>H.toPortablePath(c)):[],o=n&&typeof n.locator==\"string\"?P.parseLocator(n.locator):null,a=n&&typeof n.version==\"string\"?n.version:null,l=e(t);return{parentLocator:o,sourceItem:l,patchPaths:s,sourceVersion:a}}function CE(r){let i=$T(r.range,P.parseDescriptor),{sourceItem:e}=i,t=Or(i,[\"sourceItem\"]);return te(N({},t),{sourceDescriptor:e})}function mE(r){let i=$T(r.reference,P.parseLocator),{sourceItem:e}=i,t=Or(i,[\"sourceItem\"]);return te(N({},t),{sourceLocator:e})}function eO(r){if(!r.range.startsWith(\"patch:\"))return r;let{sourceItem:e}=$T(r.range,P.parseDescriptor);return e}function Rue({parentLocator:r,sourceItem:e,patchPaths:t,sourceVersion:i,patchHash:n},s){let o=r!==null?{locator:P.stringifyLocator(r)}:{},a=typeof i!=\"undefined\"?{version:i}:{},l=typeof n!=\"undefined\"?{hash:n}:{};return P.makeRange({protocol:\"patch:\",source:s(e),selector:t.join(\"&\"),params:N(N(N({},a),l),o)})}function tO(r,{parentLocator:e,sourceDescriptor:t,patchPaths:i}){return P.makeDescriptor(r,Rue({parentLocator:e,sourceItem:t,patchPaths:i},P.stringifyDescriptor))}function rO(r,{parentLocator:e,sourcePackage:t,patchPaths:i,patchHash:n}){return P.makeLocator(r,Rue({parentLocator:e,sourceItem:t,sourceVersion:t.version,patchPaths:i,patchHash:n},P.stringifyLocator))}function Fue({onAbsolute:r,onRelative:e,onBuiltin:t},i){i.startsWith(\"~\")&&(i=i.slice(1));let s=i.match(I_e);return s!==null?t(s[1]):x.isAbsolute(i)?r(i):e(i)}function Nue(r){let e=r.startsWith(\"~\");return e&&(r=r.slice(1)),{optional:e}}function iO(r){return Fue({onAbsolute:()=>!1,onRelative:()=>!0,onBuiltin:()=>!1},r)}async function EE(r,e,t){let i=r!==null?await t.fetcher.fetch(r,t):null,n=i&&i.localPath?{packageFs:new _t(Me.root),prefixPath:x.relative(Me.root,i.localPath)}:i;i&&i!==n&&i.releaseFs&&i.releaseFs();let s=await Se.releaseAfterUseAsync(async()=>await Promise.all(e.map(async o=>{let a=Nue(o),l=await Fue({onAbsolute:async()=>await U.readFilePromise(o,\"utf8\"),onRelative:async()=>{if(n===null)throw new Error(\"Assertion failed: The parent locator should have been fetched\");return await n.packageFs.readFilePromise(x.join(n.prefixPath,o),\"utf8\")},onBuiltin:async c=>await t.project.configuration.firstHook(u=>u.getBuiltinPatch,t.project,c)},o);return te(N({},a),{source:l})})));for(let o of s)typeof o.source==\"string\"&&(o.source=o.source.replace(/\\r\\n?/g,`\n`));return s}async function nO(r,{cache:e,project:t}){let i=t.storedPackages.get(r.locatorHash);if(typeof i==\"undefined\")throw new Error(\"Assertion failed: Expected the package to be registered\");let n=t.storedChecksums,s=new di,o=t.configuration.makeFetcher(),a=await o.fetch(r,{cache:e,project:t,fetcher:o,checksums:n,report:s}),l=await U.mktempPromise(),c=x.join(l,\"source\"),u=x.join(l,\"user\"),g=x.join(l,\".yarn-patch.json\");return await Promise.all([U.copyPromise(c,a.prefixPath,{baseFs:a.packageFs}),U.copyPromise(u,a.prefixPath,{baseFs:a.packageFs}),U.writeJsonPromise(g,{locator:P.stringifyLocator(r),version:i.version})]),U.detachTemp(l),u}async function sO(r,e){let t=H.fromPortablePath(r).replace(/\\\\/g,\"/\"),i=H.fromPortablePath(e).replace(/\\\\/g,\"/\"),{stdout:n,stderr:s}=await Nr.execvp(\"git\",[\"-c\",\"core.safecrlf=false\",\"diff\",\"--src-prefix=a/\",\"--dst-prefix=b/\",\"--ignore-cr-at-eol\",\"--full-index\",\"--no-index\",\"--no-renames\",\"--text\",t,i],{cwd:H.toPortablePath(process.cwd()),env:te(N({},process.env),{GIT_CONFIG_NOSYSTEM:\"1\",HOME:\"\",XDG_CONFIG_HOME:\"\",USERPROFILE:\"\"})});if(s.length>0)throw new Error(`Unable to diff directories. Make sure you have a recent version of 'git' available in PATH.\nThe following error was reported by 'git':\n${s}`);let o=t.startsWith(\"/\")?a=>a.slice(1):a=>a;return n.replace(new RegExp(`(a|b)(${Se.escapeRegExp(`/${o(t)}/`)})`,\"g\"),\"$1/\").replace(new RegExp(`(a|b)${Se.escapeRegExp(`/${o(i)}/`)}`,\"g\"),\"$1/\").replace(new RegExp(Se.escapeRegExp(`${t}/`),\"g\"),\"\").replace(new RegExp(Se.escapeRegExp(`${i}/`),\"g\"),\"\")}function Lue(r,{configuration:e,report:t}){for(let i of r.parts)for(let n of i.lines)switch(i.type){case Zr.Context:t.reportInfo(null,`  ${ae.pretty(e,n,\"grey\")}`);break;case Zr.Deletion:t.reportError(X.FROZEN_LOCKFILE_EXCEPTION,`- ${ae.pretty(e,n,ae.Type.REMOVED)}`);break;case Zr.Insertion:t.reportError(X.FROZEN_LOCKFILE_EXCEPTION,`+ ${ae.pretty(e,n,ae.Type.ADDED)}`);break;default:Se.assertNever(i.type)}}var oO=class{supports(e,t){return!!e.reference.startsWith(\"patch:\")}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,N({onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.patchPackage(e,t),skipIntegrityCheck:t.skipIntegrityCheck},t.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),localPath:this.getLocalPath(e,t),checksum:o}}async patchPackage(e,t){let{parentLocator:i,sourceLocator:n,sourceVersion:s,patchPaths:o}=mE(e),a=await EE(i,o,t),l=await U.mktempPromise(),c=x.join(l,\"current.zip\"),u=await t.fetcher.fetch(n,t),g=P.getIdentVendorPath(e),f=await fn(),h=new li(c,{libzip:f,create:!0,level:t.project.configuration.get(\"compressionLevel\")});await Se.releaseAfterUseAsync(async()=>{await h.copyPromise(g,u.prefixPath,{baseFs:u.packageFs,stableSort:!0})},u.releaseFs),h.saveAndClose();for(let{source:p,optional:m}of a){if(p===null)continue;let y=new li(c,{libzip:f,level:t.project.configuration.get(\"compressionLevel\")}),b=new _t(x.resolve(Me.root,g),{baseFs:y});try{await Ob(Tb(p),{baseFs:b,version:s})}catch(v){if(!(v instanceof dE))throw v;let k=t.project.configuration.get(\"enableInlineHunks\"),T=!k&&!m?\" (set enableInlineHunks for details)\":\"\",Y=`${P.prettyLocator(t.project.configuration,e)}: ${v.message}${T}`,q=$=>{!k||Lue(v.hunk,{configuration:t.project.configuration,report:$})};if(y.discardAndClose(),m){t.report.reportWarningOnce(X.PATCH_HUNK_FAILED,Y,{reportExtra:q});continue}else throw new ct(X.PATCH_HUNK_FAILED,Y,q)}y.saveAndClose()}return new li(c,{libzip:f,level:t.project.configuration.get(\"compressionLevel\")})}};var y_e=3,aO=class{supportsDescriptor(e,t){return!!e.range.startsWith(\"patch:\")}supportsLocator(e,t){return!!e.reference.startsWith(\"patch:\")}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,i){let{patchPaths:n}=CE(e);return n.every(s=>!iO(s))?e:P.bindDescriptor(e,{locator:P.stringifyLocator(t)})}getResolutionDependencies(e,t){let{sourceDescriptor:i}=CE(e);return[i]}async getCandidates(e,t,i){if(!i.fetchOptions)throw new Error(\"Assertion failed: This resolver cannot be used unless a fetcher is configured\");let{parentLocator:n,sourceDescriptor:s,patchPaths:o}=CE(e),a=await EE(n,o,i.fetchOptions),l=t.get(s.descriptorHash);if(typeof l==\"undefined\")throw new Error(\"Assertion failed: The dependency should have been resolved\");let c=Rn.makeHash(`${y_e}`,...a.map(u=>JSON.stringify(u))).slice(0,6);return[rO(e,{parentLocator:n,sourcePackage:l,patchPaths:o,patchHash:c})]}async getSatisfying(e,t,i){return null}async resolve(e,t){let{sourceLocator:i}=mE(e),n=await t.resolver.resolve(i,t);return N(N({},n),e)}};var IE=class extends Le{constructor(){super(...arguments);this.save=J.Boolean(\"-s,--save\",!1,{description:\"Add the patch to your resolution entries\"});this.patchFolder=J.String()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:t,workspace:i}=await ze.find(e,this.context.cwd);if(!i)throw new ht(t.cwd,this.context.cwd);await t.restoreInstallState();let n=x.resolve(this.context.cwd,H.toPortablePath(this.patchFolder)),s=x.join(n,\"../source\"),o=x.join(n,\"../.yarn-patch.json\");if(!U.existsSync(s))throw new Pe(\"The argument folder didn't get created by 'yarn patch'\");let a=await sO(s,n),l=await U.readJsonPromise(o),c=P.parseLocator(l.locator,!0);if(!t.storedPackages.has(c.locatorHash))throw new Pe(\"No package found in the project for the given locator\");if(!this.save){this.context.stdout.write(a);return}let u=e.get(\"patchFolder\"),g=x.join(u,`${P.slugifyLocator(c)}.patch`);await U.mkdirPromise(u,{recursive:!0}),await U.writeFilePromise(g,a);let f=new Map;for(let h of t.storedPackages.values()){if(P.isVirtualLocator(h))continue;let p=h.dependencies.get(c.identHash);if(!p)continue;let m=P.isVirtualDescriptor(p)?P.devirtualizeDescriptor(p):p,y=eO(m),b=t.storedResolutions.get(y.descriptorHash);if(!b)throw new Error(\"Assertion failed: Expected the resolution to have been registered\");if(!t.storedPackages.get(b))throw new Error(\"Assertion failed: Expected the package to have been registered\");let k=t.originalPackages.get(h.locatorHash);if(!k)throw new Error(\"Assertion failed: Expected the original package to have been registered\");let T=k.dependencies.get(p.identHash);if(!T)throw new Error(\"Assertion failed: Expected the original dependency to have been registered\");f.set(T.descriptorHash,T)}for(let h of f.values()){let p=tO(h,{parentLocator:null,sourceDescriptor:P.convertLocatorToDescriptor(c),sourceVersion:null,patchPaths:[`./${x.relative(t.cwd,g)}`]});t.topLevelWorkspace.manifest.resolutions.push({pattern:{descriptor:{fullName:P.stringifyIdent(p),description:h.range}},reference:p.range})}await t.persist()}};IE.paths=[[\"patch-commit\"]],IE.usage=Re.Usage({description:\"generate a patch out of a directory\",details:\"\\n      By default, this will print a patchfile on stdout based on the diff between the folder passed in and the original version of the package. Such file is suitable for consumption with the `patch:` protocol.\\n\\n      With the `-s,--save` option set, the patchfile won't be printed on stdout anymore and will instead be stored within a local file (by default kept within `.yarn/patches`, but configurable via the `patchFolder` setting). A `resolutions` entry will also be added to your top-level manifest, referencing the patched package via the `patch:` protocol.\\n\\n      Note that only folders generated by `yarn patch` are accepted as valid input for `yarn patch-commit`.\\n    \"});var Tue=IE;var yE=class extends Le{constructor(){super(...arguments);this.json=J.Boolean(\"--json\",!1,{description:\"Format the output as an NDJSON stream\"});this.package=J.String()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:t,workspace:i}=await ze.find(e,this.context.cwd),n=await Nt.find(e);if(!i)throw new ht(t.cwd,this.context.cwd);await t.restoreInstallState();let s=P.parseLocator(this.package);if(s.reference===\"unknown\"){let o=Se.mapAndFilter([...t.storedPackages.values()],a=>a.identHash!==s.identHash?Se.mapAndFilter.skip:P.isVirtualLocator(a)?Se.mapAndFilter.skip:a);if(o.length===0)throw new Pe(\"No package found in the project for the given locator\");if(o.length>1)throw new Pe(`Multiple candidate packages found; explicitly choose one of them (use \\`yarn why <package>\\` to get more information as to who depends on them):\n${o.map(a=>`\n- ${P.prettyLocator(e,a)}`).join(\"\")}`);s=o[0]}if(!t.storedPackages.has(s.locatorHash))throw new Pe(\"No package found in the project for the given locator\");await Je.start({configuration:e,json:this.json,stdout:this.context.stdout},async o=>{let a=await nO(s,{cache:n,project:t});o.reportJson({locator:P.stringifyLocator(s),path:H.fromPortablePath(a)}),o.reportInfo(X.UNNAMED,`Package ${P.prettyLocator(e,s)} got extracted with success!`),o.reportInfo(X.UNNAMED,`You can now edit the following folder: ${ae.pretty(e,H.fromPortablePath(a),\"magenta\")}`),o.reportInfo(X.UNNAMED,`Once you are done run ${ae.pretty(e,`yarn patch-commit -s ${process.platform===\"win32\"?'\"':\"\"}${H.fromPortablePath(a)}${process.platform===\"win32\"?'\"':\"\"}`,\"cyan\")} and Yarn will store a patchfile based on your changes.`)})}};yE.paths=[[\"patch\"]],yE.usage=Re.Usage({description:\"prepare a package for patching\",details:\"\\n      This command will cause a package to be extracted in a temporary directory intended to be editable at will.\\n      \\n      Once you're done with your changes, run `yarn patch-commit -s <path>` (with `<path>` being the temporary directory you received) to generate a patchfile and register it into your top-level manifest via the `patch:` protocol. Run `yarn patch-commit -h` for more details.\\n    \"});var Oue=yE;var w_e={configuration:{enableInlineHunks:{description:\"If true, the installs will print unmatched patch hunks\",type:Ie.BOOLEAN,default:!1},patchFolder:{description:\"Folder where the patch files must be written\",type:Ie.ABSOLUTE_PATH,default:\"./.yarn/patches\"}},commands:[Tue,Oue],fetchers:[oO],resolvers:[aO]},B_e=w_e;var gO={};ft(gO,{default:()=>S_e});var lO=class{supportsPackage(e,t){return this.isEnabled(t)}async findPackageLocation(e,t){if(!this.isEnabled(t))throw new Error(\"Assertion failed: Expected the pnpm linker to be enabled\");let i=cO(),n=t.project.installersCustomData.get(i);if(!n)throw new Pe(`The project in ${ae.pretty(t.project.configuration,`${t.project.cwd}/package.json`,ae.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let s=n.pathByLocator.get(e.locatorHash);if(typeof s==\"undefined\")throw new Pe(`Couldn't find ${P.prettyLocator(t.project.configuration,e)} in the currently installed pnpm map - running an install might help`);return s}async findPackageLocator(e,t){if(!this.isEnabled(t))return null;let i=cO(),n=t.project.installersCustomData.get(i);if(!n)throw new Pe(`The project in ${ae.pretty(t.project.configuration,`${t.project.cwd}/package.json`,ae.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let s=e.match(/(^.*\\/node_modules\\/(@[^/]*\\/)?[^/]+)(\\/.*$)/);if(s){let l=n.locatorByPath.get(s[1]);if(l)return l}let o=e,a=e;do{a=o,o=x.dirname(a);let l=n.locatorByPath.get(a);if(l)return l}while(o!==a);return null}makeInstaller(e){return new Mue(e)}isEnabled(e){return e.project.configuration.get(\"nodeLinker\")===\"pnpm\"}},Mue=class{constructor(e){this.opts=e;this.asyncActions=new Se.AsyncActions(10);this.customData={pathByLocator:new Map,locatorByPath:new Map}}getCustomDataKey(){return cO()}attachCustomData(e){}async installPackage(e,t,i){switch(e.linkType){case Qt.SOFT:return this.installPackageSoft(e,t,i);case Qt.HARD:return this.installPackageHard(e,t,i)}throw new Error(\"Assertion failed: Unsupported package link type\")}async installPackageSoft(e,t,i){let n=x.resolve(t.packageFs.getRealPath(),t.prefixPath);return this.customData.pathByLocator.set(e.locatorHash,n),{packageLocation:n,buildDirective:null}}async installPackageHard(e,t,i){var u;let n=b_e(e,{project:this.opts.project});this.customData.locatorByPath.set(n,P.stringifyLocator(e)),this.customData.pathByLocator.set(e.locatorHash,n),i.holdFetchResult(this.asyncActions.set(e.locatorHash,async()=>{await U.mkdirPromise(n,{recursive:!0}),await U.copyPromise(n,t.prefixPath,{baseFs:t.packageFs,overwrite:!1})}));let o=P.isVirtualLocator(e)?P.devirtualizeLocator(e):e,a={manifest:(u=await At.tryFind(t.prefixPath,{baseFs:t.packageFs}))!=null?u:new At,misc:{hasBindingGyp:ma.hasBindingGyp(t)}},l=this.opts.project.getDependencyMeta(o,e.version),c=ma.extractBuildScripts(e,a,l,{configuration:this.opts.project.configuration,report:this.opts.report});return{packageLocation:n,buildDirective:c}}async attachInternalDependencies(e,t){this.opts.project.configuration.get(\"nodeLinker\")===\"pnpm\"&&(!Hue(e,{project:this.opts.project})||this.asyncActions.reduce(e.locatorHash,async i=>{await i;let n=this.customData.pathByLocator.get(e.locatorHash);if(typeof n==\"undefined\")throw new Error(`Assertion failed: Expected the package to have been registered (${P.stringifyLocator(e)})`);let s=x.join(n,xt.nodeModules),o=[],a=await jue(s);for(let[l,c]of t){let u=c;Hue(c,{project:this.opts.project})||(this.opts.report.reportWarning(X.UNNAMED,\"The pnpm linker doesn't support providing different versions to workspaces' peer dependencies\"),u=P.devirtualizeLocator(c));let g=this.customData.pathByLocator.get(u.locatorHash);if(typeof g==\"undefined\")throw new Error(`Assertion failed: Expected the package to have been registered (${P.stringifyLocator(c)})`);let f=P.stringifyIdent(l),h=x.join(s,f),p=x.relative(x.dirname(h),g),m=a.get(f);a.delete(f),o.push(Promise.resolve().then(async()=>{if(m){if(m.isSymbolicLink()&&await U.readlinkPromise(h)===p)return;await U.removePromise(h)}await U.mkdirpPromise(x.dirname(h)),process.platform==\"win32\"?await U.symlinkPromise(g,h,\"junction\"):await U.symlinkPromise(p,h)}))}o.push(Gue(s,a)),await Promise.all(o)}))}async attachExternalDependents(e,t){throw new Error(\"External dependencies haven't been implemented for the pnpm linker\")}async finalizeInstall(){let e=Kue(this.opts.project);if(this.opts.project.configuration.get(\"nodeLinker\")!==\"pnpm\")await U.removePromise(e);else{let t=[],i=new Set;for(let s of this.customData.pathByLocator.values()){let o=x.contains(e,s);if(o!==null){let[a,,...l]=o.split(x.sep);i.add(a);let c=x.join(e,a);t.push(U.readdirPromise(c).then(u=>Promise.all(u.map(async g=>{let f=x.join(c,g);if(g===xt.nodeModules){let h=await jue(f);return h.delete(l.join(x.sep)),Gue(f,h)}else return U.removePromise(f)}))).catch(u=>{if(u.code!==\"ENOENT\")throw u}))}}let n;try{n=await U.readdirPromise(e)}catch{n=[]}for(let s of n)i.has(s)||t.push(U.removePromise(x.join(e,s)));await Promise.all(t)}return await this.asyncActions.wait(),await uO(e),this.opts.project.configuration.get(\"nodeLinker\")!==\"node-modules\"&&await uO(Uue(this.opts.project)),{customData:this.customData}}};function cO(){return JSON.stringify({name:\"PnpmInstaller\",version:2})}function Uue(r){return x.join(r.cwd,xt.nodeModules)}function Kue(r){return x.join(Uue(r),\".store\")}function b_e(r,{project:e}){let t=P.slugifyLocator(r),i=P.getIdentVendorPath(r);return x.join(Kue(e),t,i)}function Hue(r,{project:e}){return!P.isVirtualLocator(r)||!e.tryWorkspaceByLocator(r)}async function jue(r){let e=new Map,t=[];try{t=await U.readdirPromise(r,{withFileTypes:!0})}catch(i){if(i.code!==\"ENOENT\")throw i}try{for(let i of t)if(!i.name.startsWith(\".\"))if(i.name.startsWith(\"@\")){let n=await U.readdirPromise(x.join(r,i.name),{withFileTypes:!0});if(n.length===0)e.set(i.name,i);else for(let s of n)e.set(`${i.name}/${s.name}`,s)}else e.set(i.name,i)}catch(i){if(i.code!==\"ENOENT\")throw i}return e}async function Gue(r,e){var n;let t=[],i=new Set;for(let s of e.keys()){t.push(U.removePromise(x.join(r,s)));let o=(n=P.tryParseIdent(s))==null?void 0:n.scope;o&&i.add(`@${o}`)}return Promise.all(t).then(()=>Promise.all([...i].map(s=>uO(x.join(r,s)))))}async function uO(r){try{await U.rmdirPromise(r)}catch(e){if(e.code!==\"ENOENT\"&&e.code!==\"ENOTEMPTY\")throw e}}var Q_e={linkers:[lO]},S_e=Q_e;var T0=()=>({modules:new Map([[\"@yarnpkg/cli\",YC],[\"@yarnpkg/core\",IC],[\"@yarnpkg/fslib\",$h],[\"@yarnpkg/libzip\",Ud],[\"@yarnpkg/parsers\",ap],[\"@yarnpkg/shell\",Hd],[\"clipanion\",hZ(mp)],[\"semver\",v_e],[\"typanion\",ug],[\"yup\",k_e],[\"@yarnpkg/plugin-essentials\",YN],[\"@yarnpkg/plugin-compat\",_N],[\"@yarnpkg/plugin-dlx\",VN],[\"@yarnpkg/plugin-file\",sL],[\"@yarnpkg/plugin-git\",GN],[\"@yarnpkg/plugin-github\",aL],[\"@yarnpkg/plugin-http\",cL],[\"@yarnpkg/plugin-init\",hL],[\"@yarnpkg/plugin-link\",EL],[\"@yarnpkg/plugin-nm\",WL],[\"@yarnpkg/plugin-npm\",JT],[\"@yarnpkg/plugin-npm-cli\",XT],[\"@yarnpkg/plugin-pack\",jT],[\"@yarnpkg/plugin-patch\",AO],[\"@yarnpkg/plugin-pnp\",TL],[\"@yarnpkg/plugin-pnpm\",gO]]),plugins:new Set([\"@yarnpkg/plugin-essentials\",\"@yarnpkg/plugin-compat\",\"@yarnpkg/plugin-dlx\",\"@yarnpkg/plugin-file\",\"@yarnpkg/plugin-git\",\"@yarnpkg/plugin-github\",\"@yarnpkg/plugin-http\",\"@yarnpkg/plugin-init\",\"@yarnpkg/plugin-link\",\"@yarnpkg/plugin-nm\",\"@yarnpkg/plugin-npm\",\"@yarnpkg/plugin-npm-cli\",\"@yarnpkg/plugin-pack\",\"@yarnpkg/plugin-patch\",\"@yarnpkg/plugin-pnp\",\"@yarnpkg/plugin-pnpm\"])});o0({binaryVersion:Kr||\"<unknown>\",pluginConfiguration:T0()});})();\n/*!\n * buildToken\n * Builds OAuth token prefix (helper function)\n *\n * @name buildToken\n * @function\n * @param {GitUrl} obj The parsed Git url object.\n * @return {String} token prefix\n */\n/*!\n * fill-range <https://github.com/jonschlinkert/fill-range>\n *\n * Copyright (c) 2014-present, Jon Schlinkert.\n * Licensed under the MIT License.\n */\n/*!\n * is-extglob <https://github.com/jonschlinkert/is-extglob>\n *\n * Copyright (c) 2014-2016, Jon Schlinkert.\n * Licensed under the MIT License.\n */\n/*!\n * is-glob <https://github.com/jonschlinkert/is-glob>\n *\n * Copyright (c) 2014-2017, Jon Schlinkert.\n * Released under the MIT License.\n */\n/*!\n * is-number <https://github.com/jonschlinkert/is-number>\n *\n * Copyright (c) 2014-present, Jon Schlinkert.\n * Released under the MIT License.\n */\n/*!\n * is-windows <https://github.com/jonschlinkert/is-windows>\n *\n * Copyright © 2015-2018, Jon Schlinkert.\n * Released under the MIT License.\n */\n/*!\n * to-regex-range <https://github.com/micromatch/to-regex-range>\n *\n * Copyright (c) 2015-present, Jon Schlinkert.\n * Released under the MIT License.\n */\n"
  },
  {
    "path": ".yarnrc.yml",
    "content": "nodeLinker: node-modules\n\nnpmPublishAccess: public\n\nplugins:\n  - path: .yarn/plugins/@yarnpkg/plugin-workspace-tools.cjs\n    spec: \"@yarnpkg/plugin-workspace-tools\"\n\nyarnPath: .yarn/releases/yarn-3.2.3.cjs\n"
  },
  {
    "path": "CHANGELOG.md",
    "content": "# New Changes\n\nAll new changes are now documented in `CHANGELOG.md` files in each package's directory.\n\n## v10.0.0 (2018-10-27)\n\nEmotion 10 is a big change that we're really excited about with improvements to the css prop, a Global component for dynamic global styles, zero config SSR, lots of small fixes and improvements and more with an incremental adoption strategy. For a higher-level overview, read the [Medium article on Emotion 10](https://medium.com/emotion-js/announcing-emotion-10-f1a4b17b8ccd). For a migration guide, visit [the migrating to Emotion 10 page on emotion.sh](https://emotion.sh/docs/migrating-to-emotion-10)\n\n#### :rocket: Enhancement\n\n- The css prop works without `babel-plugin-emotion`\n  - The css prop receives the theme\n  - Labels are added to the css prop without `babel-plugin-emotion` in some cases\n- Add the Global and ClassNames components\n- styled uses forwardRef\n- Add the as prop to styled\n- Providing options can be done via the CacheProvider\n- The autoLabel and sourceMap options are enabled in development with the Babel Macros\n- The autoLabel and sourceMap options are on by default in development in `babel-plugin-emotion`\n- Add warning for kebab-case css properties in objects\n- Add keyframes to snapshots with jest-emotion\n- Add codemod rules for Emotion 10\n- Fix SSR with \\_ in labels\n- Add warnings for unsafe pseudo classes\n\n#### :boom: Breaking Change\n\n- create-emotion no longer accepts a global context object\n- Support for preact-emotion has been dropped(note that the emotion package still works with preact)\n- Emotion only supports react@>=16.3\n- The `channel` and `createBroadcast` exports from emotion-theming have been removed\n- The `extractStatic` option to babel-plugin-emotion has been removed\n- jest-emotion no longer accepts an emotion instance\n- `create-emotion-server` accepts a cache instead of an emotion instance\n- The css prop doesn't work via the babel plugin. `jsx` can be manually imported from `@emotion/core`(which can be automated with eslint-plugin-emotion) or [babel-plugin-jsx-pragmatic](https://github.com/jmm/babel-plugin-jsx-pragmatic) can be used.\n- Functions in interpolations are stringified in css and cx calls(probably won't affect you very much, there's a warning about it in v9)\n- `create-emotion` doesn't return a caches property and instead returns a cache property which is the same return value as `@emotion/cache`\n- The `importedNames` option to babel-plugin-emotion is gone\n- The `hoist` option is gone, hoisting always happens\n\n## v9.2.7 (2018-07-29)\n\n#### :rocket: Enhancement\n\n- `native`, `primitives-core`, `primitives`\n  - [#759](https://github.com/emotion-js/emotion/pull/759) Emotion Native. ([@nitin42](https://github.com/nitin42))\n- `jest-emotion`\n  - [#777](https://github.com/emotion-js/emotion/pull/777) add serializer file. ([@kentcdodds](https://github.com/kentcdodds))\n\n#### Committers: 4\n\n- Billy Vong ([billyvg](https://github.com/billyvg))\n- Kent C. Dodds ([kentcdodds](https://github.com/kentcdodds))\n- Emma Hamilton ([emmatown](https://github.com/emmatown))\n- Nitin Tulswani ([nitin42](https://github.com/nitin42))\n\n## v9.2.6 (2018-07-15)\n\n#### :rocket: Enhancement\n\n- `create-emotion`\n  - [#751](https://github.com/emotion-js/emotion/pull/751) classnames also accept undefined as value. ([@pasix](https://github.com/pasix))\n\n#### :bug: Bug Fix\n\n- `create-emotion`, `emotion`\n  - [#695](https://github.com/emotion-js/emotion/pull/695) Generate the same class names for server and client if source maps are different. ([@mgroenhoff](https://github.com/mgroenhoff))\n\n#### Committers: 2\n\n- Iacopo ([pasix](https://github.com/pasix))\n- Melvin Groenhoff ([mgroenhoff](https://github.com/mgroenhoff))\n- Emma Hamilton ([emmatown](https://github.com/emmatown))\n\n## v9.2.5 (2018-07-07)\n\n#### :rocket: Enhancement\n\n- `babel-plugin-emotion`, `@emotion/primitives`\n  - [#658](https://github.com/emotion-js/emotion/pull/658) Emotion Primitives. ([@nitin42](https://github.com/nitin42))\n\n#### :bug: Bug Fix\n\n- `create-emotion-styled`, `preact-emotion`\n  - [#737](https://github.com/emotion-js/emotion/pull/737) Add ComponentType overloading. ([@Ailrun](https://github.com/Ailrun))\n- `create-emotion-styled`, `create-emotion`, `emotion`, `preact-emotion`, `react-emotion`\n  - [#729](https://github.com/emotion-js/emotion/pull/729) Enable css prop in Preact with TypeScript. ([@aaronjensen](https://github.com/aaronjensen))\n\n#### :memo: Documentation\n\n- Other\n  - [#748](https://github.com/emotion-js/emotion/pull/748) update link to site in examples section. ([@bpote](https://github.com/bpote))\n  - [#636](https://github.com/emotion-js/emotion/pull/636) Add eslint-plugin-emotion to docs. ([@alex-pex](https://github.com/alex-pex))\n- `babel-plugin-emotion`, `emotion-theming`, `emotion`, `jest-emotion`, `site`\n  - [#720](https://github.com/emotion-js/emotion/pull/720) Use emotion-next in the site, update to gatsby v2 and add Community page. ([@emmatown](https://github.com/emmatown))\n\n#### :house: Internal\n\n- `babel-plugin-emotion`, `create-emotion-server`, `create-emotion-styled`, `create-emotion`, `emotion-server`, `emotion-theming`, `emotion`, `eslint-plugin-emotion`, `jest-emotion`, `preact-emotion`, `react-emotion`\n  - [#747](https://github.com/emotion-js/emotion/pull/747) Change build system and update Jest. ([@emmatown](https://github.com/emmatown))\n\n#### Committers: 7\n\n- Aaron Jensen ([aaronjensen](https://github.com/aaronjensen))\n- Alexandre Paixao ([alex-pex](https://github.com/alex-pex))\n- Brisha Pote ([bpote](https://github.com/bpote))\n- Junyoung Clare Jang ([Ailrun](https://github.com/Ailrun))\n- Kye Hohenberger ([tkh44](https://github.com/tkh44))\n- Emma Hamilton ([emmatown](https://github.com/emmatown))\n- Nitin Tulswani ([nitin42](https://github.com/nitin42))\n\n## v9.2.4 (2018-06-22)\n\n#### :rocket: Enhancement\n\n- `babel-plugin-emotion`, `create-emotion`\n  - [#741](https://github.com/emotion-js/emotion/pull/741) Improve labels and upgrade @emotion/stylis. ([@emmatown](https://github.com/emmatown))\n- `jest-emotion`\n  - [#723](https://github.com/emotion-js/emotion/pull/723) Add typings for jest-emotion. ([@Ailrun](https://github.com/Ailrun))\n\n#### :bug: Bug Fix\n\n- `jest-emotion`\n  - [#731](https://github.com/emotion-js/emotion/pull/731) Fix jest-emotion for preact. ([@aaronjensen](https://github.com/aaronjensen))\n- `babel-plugin-emotion`\n  - [#730](https://github.com/emotion-js/emotion/pull/730) No duplicated ast nodes. ([@Andarist](https://github.com/Andarist))\n\n#### :house: Internal\n\n- `create-emotion-server`\n  - [#725](https://github.com/emotion-js/emotion/pull/725) create-emotion-server: refactor inline for performance. ([@apapirovski](https://github.com/apapirovski))\n- `emotion-theming`\n  - [#714](https://github.com/emotion-js/emotion/pull/714) Fix tsconfig for emotion-theming. ([@Ailrun](https://github.com/Ailrun))\n\n#### Committers: 6\n\n- Aaron Jensen ([aaronjensen](https://github.com/aaronjensen))\n- Anatoli Papirovski ([apapirovski](https://github.com/apapirovski))\n- Junyoung Clare Jang ([Ailrun](https://github.com/Ailrun))\n- Konrad Kruk ([konradk](https://github.com/konradk))\n- Mateusz Burzyński ([Andarist](https://github.com/Andarist))\n- Emma Hamilton ([emmatown](https://github.com/emmatown))\n\n## v9.2.3 (2018-06-09)\n\n#### :bug: Bug Fix\n\n- `create-emotion-styled`, `emotion-server`, `emotion-theming`, `emotion`, `preact-emotion`, `react-emotion`\n  - [#710](https://github.com/emotion-js/emotion/pull/710) Remove allowSyntheticDefaultImports from typings. ([@Ailrun](https://github.com/Ailrun))\n\n#### Committers: 1\n\n- Junyoung Clare Jang ([Ailrun](https://github.com/Ailrun))\n\n## v9.2.1 (2018-06-07)\n\n#### :bug: Bug Fix\n\n- `create-emotion-styled`, `create-emotion`, `emotion-theming`, `emotion`, `preact-emotion`, `react-emotion`\n  - [#704](https://github.com/emotion-js/emotion/pull/704) Update rollup to fix bundle size regression. ([@emmatown](https://github.com/emmatown))\n\n#### Committers: 1\n\n- Emma Hamilton ([emmatown](https://github.com/emmatown))\n\n## v9.2.0 (2018-06-07)\n\n#### :rocket: Enhancement\n\n- `react-emotion`\n  - [#678](https://github.com/emotion-js/emotion/pull/678) Fix react-emotion typing. ([@Ailrun](https://github.com/Ailrun))\n- `preact-emotion`\n  - [#680](https://github.com/emotion-js/emotion/pull/680) Add typings for preact-emotion. ([@Ailrun](https://github.com/Ailrun))\n- `create-emotion-styled`, `create-emotion`\n  - [#676](https://github.com/emotion-js/emotion/pull/676) Add ClassInterpolation to typings. ([@Ailrun](https://github.com/Ailrun))\n- `create-emotion-styled`\n  - [#671](https://github.com/emotion-js/emotion/pull/671) Fix typing for create-emotion-styled. ([@Ailrun](https://github.com/Ailrun))\n  - [#668](https://github.com/emotion-js/emotion/pull/668) Add typing for create-emotion-styled. ([@Ailrun](https://github.com/Ailrun))\n- `jest-emotion`\n  - [#662](https://github.com/emotion-js/emotion/pull/662) Add toHaveStyleRule to jest-emotion. ([@danreeves](https://github.com/danreeves))\n- `create-emotion-styled`, `react-emotion`\n  - [#670](https://github.com/emotion-js/emotion/pull/670) compose shouldForwardProp. ([@brentertz](https://github.com/brentertz))\n  - [#659](https://github.com/emotion-js/emotion/pull/659) Forward .defaultProps when reusing \\_\\_emotion_base. ([@Andarist](https://github.com/Andarist))\n- `emotion`\n  - [#667](https://github.com/emotion-js/emotion/pull/667) Fix typing for emotion package. ([@Ailrun](https://github.com/Ailrun))\n- `create-emotion`\n  - [#663](https://github.com/emotion-js/emotion/pull/663) Add TS typings to create-emotion. ([@Ailrun](https://github.com/Ailrun))\n\n#### :bug: Bug Fix\n\n- `babel-plugin-emotion`, `create-emotion`, `emotion-server`, `emotion`\n  - [#650](https://github.com/emotion-js/emotion/pull/650) Remove comments from styles in babel-plugin-emotion. ([@emmatown](https://github.com/emmatown))\n- `jest-emotion`\n  - [#641](https://github.com/emotion-js/emotion/pull/641) Fix jest-emotion in certain cases with nested selectors. ([@emmatown](https://github.com/emmatown))\n\n#### :memo: Documentation\n\n- `site`\n  - [#679](https://github.com/emotion-js/emotion/pull/679) Update typescript document to match with current types. ([@Ailrun](https://github.com/Ailrun))\n- Other\n  - [#691](https://github.com/emotion-js/emotion/pull/691) Fix example in TS docs. ([@gillchristian](https://github.com/gillchristian))\n  - [#660](https://github.com/emotion-js/emotion/pull/660) added govuk-react to list of examples. ([@marksy](https://github.com/marksy))\n  - [#656](https://github.com/emotion-js/emotion/pull/656) Tweak babel.md. ([@smhutch](https://github.com/smhutch))\n\n#### :house: Internal\n\n- `create-emotion-server`, `emotion-server`, `emotion-theming`, `emotion`, `react-emotion`\n  - [#692](https://github.com/emotion-js/emotion/pull/692) Add Typescript definitions for 'create-emotion-server' and 'emotion-server'. ([@mgroenhoff](https://github.com/mgroenhoff))\n- `create-emotion`\n  - [#698](https://github.com/emotion-js/emotion/pull/698) Remove unused type in create-emotion typing. ([@Ailrun](https://github.com/Ailrun))\n- `create-emotion-styled`, `emotion-theming`, `preact-emotion`, `react-emotion`\n  - [#694](https://github.com/emotion-js/emotion/pull/694) Add react/preact as peer-dependencies to react-emotion/preact-emotion. ([@mgroenhoff](https://github.com/mgroenhoff))\n- Other\n  - [#699](https://github.com/emotion-js/emotion/pull/699) chore: add Node.js 10. ([@DanielRuf](https://github.com/DanielRuf))\n  - [#681](https://github.com/emotion-js/emotion/pull/681) Update yarn.lock again.... ([@Ailrun](https://github.com/Ailrun))\n  - [#677](https://github.com/emotion-js/emotion/pull/677) Add type test to TravisCI. ([@Ailrun](https://github.com/Ailrun))\n- `babel-plugin-emotion`, `site`\n  - [#674](https://github.com/emotion-js/emotion/pull/674) Update yarn.lock. ([@Ailrun](https://github.com/Ailrun))\n- `create-emotion`, `emotion`\n  - [#643](https://github.com/emotion-js/emotion/pull/643) Deprecate passing functions to css and cx. ([@emmatown](https://github.com/emmatown))\n- `react-emotion`\n  - [#635](https://github.com/emotion-js/emotion/pull/635) Add StyledComponent to allowed Interpolation types. ([@mvestergaard](https://github.com/mvestergaard))\n\n#### Committers: 12\n\n- Brent Ertz ([brentertz](https://github.com/brentertz))\n- Christian Gill ([gillchristian](https://github.com/gillchristian))\n- Dan Reeves ([danreeves](https://github.com/danreeves))\n- Daniel Ruf ([DanielRuf](https://github.com/DanielRuf))\n- Junyoung Clare Jang ([Ailrun](https://github.com/Ailrun))\n- Mark Chambers ([marksy](https://github.com/marksy))\n- Mateusz Burzyński ([Andarist](https://github.com/Andarist))\n- Mathias Vestergaard ([mvestergaard](https://github.com/mvestergaard))\n- Melvin Groenhoff ([mgroenhoff](https://github.com/mgroenhoff))\n- Emma Hamilton ([emmatown](https://github.com/emmatown))\n- Scott Martin Hutcheson ([smhutch](https://github.com/smhutch))\n- osdevisnot ([osdevisnot](https://github.com/osdevisnot))\n\n## v9.1.3 (2018-05-07)\n\n#### :rocket: Enhancement\n\n- `create-emotion`, `emotion`\n  - [#634](https://github.com/emotion-js/emotion/pull/634) Support array fallback syntax in objects. ([@emmatown](https://github.com/emmatown))\n  - [#633](https://github.com/emotion-js/emotion/pull/633) Add warning for invalid content values in objects. ([@emmatown](https://github.com/emmatown))\n\n#### Committers: 2\n\n- Andrew Hutchings ([ahutchings](https://github.com/ahutchings))\n- Emma Hamilton ([emmatown](https://github.com/emmatown))\n\n## v9.1.2 (2018-04-17)\n\n#### :rocket: Enhancement\n\n- `jest-emotion`\n  - [#622](https://github.com/emotion-js/emotion/pull/622) Add support to jest-emotion for printing DOM Elements (#619). ([@rszewczyk](https://github.com/rszewczyk))\n- `emotion-theming`\n  - [#614](https://github.com/emotion-js/emotion/pull/614) Export \"createBroadcast\". ([@billyvg](https://github.com/billyvg))\n- `create-emotion-styled`, `react-emotion`\n  - [#616](https://github.com/emotion-js/emotion/pull/616) Support shouldForwardProp in styled's options. ([@Andarist](https://github.com/Andarist))\n\n#### :house: Internal\n\n- `babel-plugin-emotion`, `create-emotion-server`, `create-emotion-styled`, `create-emotion`, `emotion-utils`, `emotion`, `site`\n  - [#628](https://github.com/emotion-js/emotion/pull/628) Remove emotion-utils and use packages from emotion-js/next. ([@emmatown](https://github.com/emmatown))\n- `create-emotion`, `emotion`\n  - [#624](https://github.com/emotion-js/emotion/pull/624) Closes [#623](https://github.com/emotion-js/emotion/issues/623) (remove redundant HTML attribute). ([@karol-majewski](https://github.com/karol-majewski))\n- `create-emotion-styled`, `emotion-utils`\n  - [#620](https://github.com/emotion-js/emotion/pull/620) Use @emotion/memoize. ([@Andarist](https://github.com/Andarist))\n\n#### Committers: 8\n\n- Billy Vong ([billyvg](https://github.com/billyvg))\n- Claudio Procida ([claudiopro](https://github.com/claudiopro))\n- Karol Majewski ([karol-majewski](https://github.com/karol-majewski))\n- Kye Hohenberger ([tkh44](https://github.com/tkh44))\n- Mateusz Burzyński ([Andarist](https://github.com/Andarist))\n- Emma Hamilton ([emmatown](https://github.com/emmatown))\n- Rob Szewczyk ([rszewczyk](https://github.com/rszewczyk))\n- Thomas Ingram ([ravinggenius](https://github.com/ravinggenius))\n\n## v9.1.1 (2018-04-04)\n\n#### :rocket: Enhancement\n\n- `create-emotion`, `emotion-server`, `emotion`, `react-emotion`\n  - [#609](https://github.com/emotion-js/emotion/pull/609) Allow labels to be composed. ([@emmatown](https://github.com/emmatown))\n\n#### :house: Internal\n\n- `create-emotion-styled`\n  - [#612](https://github.com/emotion-js/emotion/pull/612) Use @emotion/is-prop-valid for checking valid props on string tags. ([@emmatown](https://github.com/emmatown))\n\n#### Committers: 1\n\n- Emma Hamilton ([emmatown](https://github.com/emmatown))\n\n## v9.1.0 (2018-03-24)\n\n#### :rocket: Enhancement\n\n- `babel-plugin-emotion`\n  - [#583](https://github.com/emotion-js/emotion/pull/583) Output dir support. ([@wardpeet](https://github.com/wardpeet))\n\n#### :bug: Bug Fix\n\n- `create-emotion`\n  - [#605](https://github.com/emotion-js/emotion/pull/605) Fix SSR with multiple createEmotion calls with the same context. ([@emmatown](https://github.com/emmatown))\n- `emotion`\n  - [#596](https://github.com/emotion-js/emotion/pull/596) Remove fontface type. ([@renanrboliveira](https://github.com/renanrboliveira))\n- `react-emotion`\n  - [#590](https://github.com/emotion-js/emotion/pull/590) Fixed TSLint errors. ([@alex-pex](https://github.com/alex-pex))\n- `create-emotion-styled`, `react-emotion`\n  - [#589](https://github.com/emotion-js/emotion/pull/589) Carry styles from flattened components with withComponent. ([@emmatown](https://github.com/emmatown))\n- `babel-plugin-emotion`\n  - [#584](https://github.com/emotion-js/emotion/pull/584) Preserve existing options passed to styled calls. ([@Andarist](https://github.com/Andarist))\n\n#### Committers: 8\n\n- Alexandre PAIXAO ([alex-pex](https://github.com/alex-pex))\n- Felix Jung ([felixjung](https://github.com/felixjung))\n- Mateusz Burzyński ([Andarist](https://github.com/Andarist))\n- Emma Hamilton ([emmatown](https://github.com/emmatown))\n- Rajan Singh ([woahitsraj](https://github.com/woahitsraj))\n- Renan R. Oliveira ([renanrboliveira](https://github.com/renanrboliveira))\n- Utopia፲ ([utopiaio](https://github.com/utopiaio))\n- Ward Peeters ([wardpeet](https://github.com/wardpeet))\n\n## v9.0.2 (2018-02-23)\n\n#### :bug: Bug Fix\n\n- `create-emotion`\n  - [#575](https://github.com/emotion-js/emotion/pull/575) Remove Array.from() usage to support IE11. ([@asistapl](https://github.com/asistapl))\n\n#### :memo: Documentation\n\n- Other\n  - [#577](https://github.com/emotion-js/emotion/pull/577) Add Website Development to CONTRIBUTING.md. ([@azizhk](https://github.com/azizhk))\n- `emotion`, `site`\n  - [#576](https://github.com/emotion-js/emotion/pull/576) Fix links on both github and website. ([@azizhk](https://github.com/azizhk))\n\n#### Committers: 2\n\n- Asista ([asistapl](https://github.com/asistapl))\n- Aziz Khambati ([azizhk](https://github.com/azizhk))\n\n## v9.0.1 (2018-02-13)\n\n#### :rocket: Enhancement\n\n- `babel-plugin-emotion`\n  - [#566](https://github.com/emotion-js/emotion/pull/566) Add option for label formatting. ([@sgal](https://github.com/sgal))\n\n#### :bug: Bug Fix\n\n- `create-emotion-styled`, `create-emotion`, `emotion`\n  - [#568](https://github.com/emotion-js/emotion/pull/568) Change component selector error throwing. ([@emmatown](https://github.com/emmatown))\n- `emotion-utils`\n  - [#567](https://github.com/emotion-js/emotion/pull/567) Line clamp property needs webkit vendor prefix. ([@jschr](https://github.com/jschr))\n\n#### Committers: 5\n\n- Alex LaFroscia ([alexlafroscia](https://github.com/alexlafroscia))\n- Chris Bolin ([chrisbolin](https://github.com/chrisbolin))\n- Jordan Schroter ([jschr](https://github.com/jschr))\n- Emma Hamilton ([emmatown](https://github.com/emmatown))\n- Sergey Galchenko ([sgal](https://github.com/sgal))\n\n## v9.0.0 (2018-02-04)\n\nEmotion 9 introduces [instances](https://emotion.sh/docs/create-emotion), jest-emotion, two new SSR methods, a bunch of fixes and a brand new website!! Instances allow you to customize prefixing options, run plugins during CSS processing, set nonces for CSP and they're totally optional so if you don't need instances keep on using `emotion`. jest-emotion offers a better out of the box experience and has the potential for more features in the future. emotion-server has new methods for inlining CSS in HTML right before it's needed and adds support for streaming.\n\n#### :rocket: Enhancement\n\n- `jest-emotion`\n  - [#495](https://github.com/emotion-js/emotion/pull/495) Add jest-emotion ([@emmatown](https://github.com/emmatown))\n- `emotion-server`\n  - [#448](https://github.com/emotion-js/emotion/pull/448) Add SSR streaming API and stuff ([@emmatown](https://github.com/emmatown))\n\n#### Migrating from Emotion 8\n\n1.  Emotion no longer has `fontFace`, you can use `injectGlobal` to insert font faces instead.\n\n```diff\n-import { fontFace } from 'emotion'\n+import { injectGlobal } from 'emotion'\n\n-fontFace`\n-  font-family: 'Oxygen';\n-  font-style: normal;\n-  font-weight: 400;\n-  src: local('Oxygen Regular'), local('Oxygen-Regular'),\n-    url(https://fonts.gstatic.com/s/oxygen/v6/qBSyz106i5ud7wkBU-FrPevvDin1pK8aKteLpeZ5c0A.woff2)\n-      format('woff2');\n-  unicode-range: U+0000-00ff, U+0131, U+0152-0153, U+02c6, U+02da, U+02dc,\n-    U+2000-206f, U+2074, U+20ac, U+2212, U+2215;\n-`\n+injectGlobal`\n+  @font-face {\n+    font-family: 'Oxygen';\n+    font-style: normal;\n+    font-weight: 400;\n+    src: local('Oxygen Regular'), local('Oxygen-Regular'),\n+      url(https://fonts.gstatic.com/s/oxygen/v6/qBSyz106i5ud7wkBU-FrPevvDin1pK8aKteLpeZ5c0A.woff2)\n+        format('woff2');\n+    unicode-range: U+0000-00ff, U+0131, U+0152-0153, U+02c6, U+02da, U+02dc,\n+      U+2000-206f, U+2074, U+20ac, U+2212, U+2215;\n+  }\n+`\n```\n\n2.  If you used [jest-glamor-react](https://github.com/kentcdodds/jest-glamor-react) in emotion 8, you can switch to jest-emotion by installing it and changing your test setup as shown below.\n\n```bash\nnpm install --save jest-emotion\n```\n\n```diff\n-import { sheet } from 'emotion'\n-import serializer from 'jest-glamor-react'\n+import * as emotion from 'emotion'\n+import { createSerializer } from 'jest-emotion'\n\n-expect.addSnapshotSerializer(serializer(sheet))\n+expect.addSnapshotSerializer(createSerializer(emotion))\n```\n\n3.  Emotion doesn't automatically insert semicolons in styles now. We recommend using [Prettier](https://prettier.io/) to ensure that your styles are formatted correctly.\n4.  That's It!! You might want to check the more detailed list of breaking changes below just in case though.\n\n#### :boom: Breaking Change\n\n- `emotion`\n  - `fontFace` is gone, it can be replaced with `injectGlobal` with a regular css `@font-face` rule.\n  - The `registered` and `inserted` caches are no longer exports of emotion (they're now on the `caches` object which is exported by emotion) but these aren't documented and should never be relied on externally so this shouldn't cause a problem.\n  - Semicolons are not automatically added in style blocks.\n  - `StyleSheet` is no longer used for SSR, this is completely internal(except that emotion exports an instance of this as `sheet`) so it shouldn't cause any problems.\n- `emotion-server`\n  - `extractCritical` no longer returns a rules property, this was never documented so it shouldn't cause any problems.\n\n#### :boom: Breaking Change\n\n- `babel-plugin-emotion`, `create-emotion-server`, `create-emotion-styled`, `create-emotion`, `emotion-server`, `emotion-theming`, `emotion-utils`, `emotion`, `jest-emotion`, `preact-emotion`, `react-emotion`, `site`\n  - [#464](https://github.com/emotion-js/emotion/pull/464) Add Instances. ([@emmatown](https://github.com/emmatown))\n\n#### :rocket: Enhancement\n\n- `babel-plugin-emotion`, `emotion`, `react-emotion`\n  - [#503](https://github.com/emotion-js/emotion/pull/503) [babel-plugin-emotion][react-emotion] Adds Support for Components as Selectors Using the Object Syntax #501. ([@smlmrkhlms](https://github.com/smlmrkhlms))\n\n#### :bug: Bug Fix\n\n- `emotion`\n  - [#500](https://github.com/emotion-js/emotion/pull/500) Fix styles getting injected in the classname (#492). ([@pimmey](https://github.com/pimmey))\n- `emotion-theming`\n  - [#497](https://github.com/emotion-js/emotion/pull/497) Fixed nested themes not being republished on outer theme changes. ([@Andarist](https://github.com/Andarist))\n- `jest-emotion`\n  - [#504](https://github.com/emotion-js/emotion/pull/504) Change class name prefix in jest-emotion. ([@emmatown](https://github.com/emmatown))\n\n#### :house: Internal\n\n- `emotion`\n  - [#502](https://github.com/emotion-js/emotion/pull/502) Pass converted arguments as array directly to the underlaying classnames helper. ([@Andarist](https://github.com/Andarist))\n- `babel-plugin-emotion`, `emotion-server`, `emotion`, `react-emotion`\n  - [#498](https://github.com/emotion-js/emotion/pull/498) used a simpler hashing strategy when a file system is available. ([@probablyup](https://github.com/probablyup))\n- `create-emotion`\n  - [#550](https://github.com/emotion-js/emotion/pull/550) Check for `document` instead of `window`. ([@alexlafroscia](https://github.com/alexlafroscia))\n- `emotion-utils`\n  - [#544](https://github.com/emotion-js/emotion/pull/544) Change hash implementation. ([@emmatown](https://github.com/emmatown))\n\n#### Committers: 12\n\n- Evan Scott ([probablyup](https://github.com/probablyup))\n- Mark Holmes ([smlmrkhlms](https://github.com/smlmrkhlms))\n- Mateusz Burzyński ([Andarist](https://github.com/Andarist))\n- Emma Hamilton ([emmatown](https://github.com/emmatown))\n- Yegor Borisenco ([pimmey](https://github.com/pimmey))\n- Dara Hak ([darahak](https://github.com/darahak))\n- Divyanshu Maithani ([divyanshu013](https://github.com/divyanshu013))\n- Haroen Viaene ([Haroenv](https://github.com/Haroenv))\n- Mouad Debbar ([mdebbar](https://github.com/mdebbar))\n- Oliver Turner ([oliverturner](https://github.com/oliverturner))\n- [ARChilton](https://github.com/ARChilton)\n- ryota-murakami ([ryota-murakami](https://github.com/ryota-murakami))\n- Alex LaFroscia ([alexlafroscia](https://github.com/alexlafroscia))\n- Devin Otway ([TroutZen](https://github.com/TroutZen))\n\n## v9.0.0-3 (2018-02-03)\n\n#### :bug: Bug Fix\n\n- `create-emotion-styled`, `emotion`, `site`\n  - [#540](https://github.com/emotion-js/emotion/pull/540) Fix create-emotion-styled proxy with react-hot-loader and add appearance: none to search input. ([@emmatown](https://github.com/emmatown))\n\n#### :house: Internal\n\n- `create-emotion`\n  - [#550](https://github.com/emotion-js/emotion/pull/550) Check for `document` instead of `window`. ([@alexlafroscia](https://github.com/alexlafroscia))\n- `emotion-utils`\n  - [#544](https://github.com/emotion-js/emotion/pull/544) Change hash implementation. ([@emmatown](https://github.com/emmatown))\n\n#### Committers: 3\n\n- Alex LaFroscia ([alexlafroscia](https://github.com/alexlafroscia))\n- Devin Otway ([TroutZen](https://github.com/TroutZen))\n- Emma Hamilton ([emmatown](https://github.com/emmatown))\n\n## v9.0.0-2 (2018-01-17)\n\n#### :rocket: Enhancement\n\n- `create-emotion-styled`, `create-emotion`, `emotion-utils`, `emotion`, `react-emotion`\n  - [#516](https://github.com/emotion-js/emotion/pull/516) Throw a nice error when using the styled shorthand without babel-plugin-emotion and remove duplication in component selector code. ([@emmatown](https://github.com/emmatown))\n\n#### :bug: Bug Fix\n\n- `create-emotion`, `emotion`\n  - [#532](https://github.com/emotion-js/emotion/pull/532) Fix extra whitespace in cx. ([@emmatown](https://github.com/emmatown))\n\n#### :memo: Documentation\n\n- Other\n  - [#533](https://github.com/emotion-js/emotion/pull/533) Reusable Media Queries with String Styles wasn't working. ([@ARChilton](https://github.com/ARChilton))\n  - [#529](https://github.com/emotion-js/emotion/pull/529) Update examples in Readme. ([@divyanshu013](https://github.com/divyanshu013))\n  - [#509](https://github.com/emotion-js/emotion/pull/509) fix Readme markdown list syntax. ([@ryota-murakami](https://github.com/ryota-murakami))\n  - [#505](https://github.com/emotion-js/emotion/pull/505) Fixed jest-glamor-react -> jest-emotion upgrade description. ([@Andarist](https://github.com/Andarist))\n- `site`\n  - [#530](https://github.com/emotion-js/emotion/pull/530) Add search to docs. ([@emmatown](https://github.com/emmatown))\n- `babel-plugin-emotion`\n  - [#514](https://github.com/emotion-js/emotion/pull/514) Better example for hoist option. ([@Andarist](https://github.com/Andarist))\n\n#### :house: Internal\n\n- `create-emotion-styled`, `create-emotion`, `emotion-server`, `emotion`, `site`\n  - [#534](https://github.com/emotion-js/emotion/pull/534) Update prettier and add .prettierrc.yaml. ([@emmatown](https://github.com/emmatown))\n- `babel-plugin-emotion`, `benchmarks`, `emotion`\n  - [#525](https://github.com/emotion-js/emotion/pull/525) chore: upgrade to babel-plugin-macros. ([@Haroenv](https://github.com/Haroenv))\n- Other\n  - [#507](https://github.com/emotion-js/emotion/pull/507) Use lerna-alias for rollup config + fixed rollup plugins order. ([@Andarist](https://github.com/Andarist))\n  - [#506](https://github.com/emotion-js/emotion/pull/506) Added lerna-alias dep to automate creating jest aliases. ([@Andarist](https://github.com/Andarist))\n\n#### Committers: 9\n\n- Dara Hak ([darahak](https://github.com/darahak))\n- Divyanshu Maithani ([divyanshu013](https://github.com/divyanshu013))\n- Haroen Viaene ([Haroenv](https://github.com/Haroenv))\n- Mateusz Burzyński ([Andarist](https://github.com/Andarist))\n- Emma Hamilton ([emmatown](https://github.com/emmatown))\n- Mouad Debbar ([mdebbar](https://github.com/mdebbar))\n- Oliver Turner ([oliverturner](https://github.com/oliverturner))\n- [ARChilton](https://github.com/ARChilton)\n- ryota-murakami ([ryota-murakami](https://github.com/ryota-murakami))\n\n## v9.0.0-1 (2017-12-23)\n\n#### :bug: Bug Fix\n\n- `babel-plugin-emotion`, `create-emotion`, `emotion-theming`, `emotion`, `jest-emotion`, `react-emotion`\n  - [#504](https://github.com/emotion-js/emotion/pull/504) Change class name prefix in jest-emotion. ([@emmatown](https://github.com/emmatown))\n\n#### Committers: 1\n\n- Emma Hamilton ([emmatown](https://github.com/emmatown))\n\n## v9.0.0-0 (2017-12-23)\n\n#### :boom: Breaking Change\n\n- `babel-plugin-emotion`, `create-emotion-server`, `create-emotion-styled`, `create-emotion`, `emotion-server`, `emotion-theming`, `emotion-utils`, `emotion`, `jest-emotion`, `preact-emotion`, `react-emotion`, `site`\n  - [#464](https://github.com/emotion-js/emotion/pull/464) Add Instances. ([@emmatown](https://github.com/emmatown))\n\n#### :rocket: Enhancement\n\n- `babel-plugin-emotion`, `emotion`, `react-emotion`\n  - [#503](https://github.com/emotion-js/emotion/pull/503) [babel-plugin-emotion][react-emotion] Adds Support for Components as Selectors Using the Object Syntax #501. ([@smlmrkhlms](https://github.com/smlmrkhlms))\n\n#### :bug: Bug Fix\n\n- `emotion`\n  - [#500](https://github.com/emotion-js/emotion/pull/500) Fix styles getting injected in the classname (#492). ([@pimmey](https://github.com/pimmey))\n- `emotion-theming`\n  - [#497](https://github.com/emotion-js/emotion/pull/497) Fixed nested themes not being republished on outer theme changes. ([@Andarist](https://github.com/Andarist))\n\n#### :house: Internal\n\n- `emotion`\n  - [#502](https://github.com/emotion-js/emotion/pull/502) Pass converted arguments as array directly to the underlaying classnames helper. ([@Andarist](https://github.com/Andarist))\n- `babel-plugin-emotion`, `emotion-server`, `emotion`, `react-emotion`\n  - [#498](https://github.com/emotion-js/emotion/pull/498) used a simpler hashing strategy when a file system is available. ([@probablyup](https://github.com/probablyup))\n\n#### Committers: 5\n\n- Evan Scott ([probablyup](https://github.com/probablyup))\n- Mark Holmes ([smlmrkhlms](https://github.com/smlmrkhlms))\n- Mateusz Burzyński ([Andarist](https://github.com/Andarist))\n- Emma Hamilton ([emmatown](https://github.com/emmatown))\n- Yegor Borisenco ([pimmey](https://github.com/pimmey))\n\n## v8.0.12 (2017-12-01)\n\n#### :rocket: Enhancement\n\n- `babel-plugin-emotion`, `emotion-server`, `emotion-theming`, `emotion-utils`, `emotion`, `react-emotion`, `site`\n  - [#474](https://github.com/emotion-js/emotion/pull/474) Reimplement component selectors. ([@probablyup](https://github.com/probablyup))\n\n#### :bug: Bug Fix\n\n- `babel-plugin-emotion`\n  - [#483](https://github.com/emotion-js/emotion/pull/483) Fix css prop in babel 7 with module transformer and fix source maps in latest babel 7 beta. ([@emmatown](https://github.com/emmatown))\n- `emotion`\n  - [#480](https://github.com/emotion-js/emotion/pull/480) Do not add px to css custom-properties. ([@TrySound](https://github.com/TrySound))\n\n#### Committers: 3\n\n- Bogdan Chadkin ([TrySound](https://github.com/TrySound))\n- Evan Scott ([probablyup](https://github.com/probablyup))\n- Emma Hamilton ([emmatown](https://github.com/emmatown))\n\n## v8.0.11 (2017-11-24)\n\n#### :bug: Bug Fix\n\n- `babel-plugin-emotion`, `emotion`, `react-emotion`\n  - [#465](https://github.com/emotion-js/emotion/pull/465) Add SVG attributes. ([@sleepycat](https://github.com/sleepycat))\n- `babel-plugin-emotion`, `emotion`\n  - [#458](https://github.com/emotion-js/emotion/pull/458) Fix source maps without a semicolon or newline after the last declaration. ([@emmatown](https://github.com/emmatown))\n\n#### :house: Internal\n\n- `emotion-theming`\n  - [#459](https://github.com/emotion-js/emotion/pull/459) Create rollup builds with Babel 7. ([@emmatown](https://github.com/emmatown))\n- `emotion-theming`, `emotion-utils`, `emotion`, `preact-emotion`, `react-emotion`\n  - [#457](https://github.com/emotion-js/emotion/pull/457) Update rollup. ([@emmatown](https://github.com/emmatown))\n\n#### Committers: 2\n\n- Mike Williamson ([sleepycat](https://github.com/sleepycat))\n- Emma Hamilton ([emmatown](https://github.com/emmatown))\n\n## v8.0.10 (2017-11-07)\n\n#### :rocket: Enhancement\n\n- `react-emotion`\n  - [#443](https://github.com/emotion-js/emotion/pull/443) Don't filter props on string tags started with Uppercase letter. ([@asvetliakov](https://github.com/asvetliakov))\n- `babel-plugin-emotion`, `emotion-server`, `emotion`, `react-emotion`\n  - [#375](https://github.com/emotion-js/emotion/pull/375) Add label property and autoLabel option for babel-plugin-emotion. ([@tkh44](https://github.com/tkh44))\n\n#### :bug: Bug Fix\n\n- `babel-plugin-emotion`, `benchmarks`, `emotion-server`, `emotion-theming`, `emotion-utils`, `emotion`, `preact-emotion`, `react-emotion`, `site`\n  - [#440](https://github.com/emotion-js/emotion/pull/440) Babel 7 compatibility and change tests. ([@emmatown](https://github.com/emmatown))\n\n#### :memo: Documentation\n\n- `emotion-theming`\n  - [#445](https://github.com/emotion-js/emotion/pull/445) docs(emotion-theming): fix typo in README of packages/emotion-theming. ([@cherealnice](https://github.com/cherealnice))\n- Other\n  - [#444](https://github.com/emotion-js/emotion/pull/444) docs(css): fix import in example. ([@justinobney](https://github.com/justinobney))\n  - [#441](https://github.com/emotion-js/emotion/pull/441) Object style docs. ([@tkh44](https://github.com/tkh44))\n  - [#439](https://github.com/emotion-js/emotion/pull/439) Add docs for media queries and reusable media queries. ([@dstaley](https://github.com/dstaley))\n  - [#438](https://github.com/emotion-js/emotion/pull/438) Add blazity.com to In the Wild section 🔥. ([@hmeissner](https://github.com/hmeissner))\n  - [#435](https://github.com/emotion-js/emotion/pull/435) add design-system-utils to ecosystem. ([@mrmartineau](https://github.com/mrmartineau))\n  - [#429](https://github.com/emotion-js/emotion/pull/429) Updates README Ecosystem with ShevyJS. ([@kyleshevlin](https://github.com/kyleshevlin))\n- `babel-plugin-emotion`\n  - [#436](https://github.com/emotion-js/emotion/pull/436) Fix typo in package description. ([@ismamz](https://github.com/ismamz))\n  - [#431](https://github.com/emotion-js/emotion/pull/431) extractStatic Default Value in Readme. ([@malectro](https://github.com/malectro))\n\n#### :house: Internal\n\n- `emotion-theming`, `emotion`, `react-emotion`\n  - [#421](https://github.com/emotion-js/emotion/pull/421) Switched to using dtslint from just running tsc --noEmit for typescript tests. ([@cameron-martin](https://github.com/cameron-martin))\n\n#### Committers: 12\n\n- Alexey Svetliakov ([asvetliakov](https://github.com/asvetliakov))\n- Cameron Martin ([cameron-martin](https://github.com/cameron-martin))\n- Dan Cherouny ([cherealnice](https://github.com/cherealnice))\n- Dylan Staley ([dstaley](https://github.com/dstaley))\n- Hugo Meissner ([hmeissner](https://github.com/hmeissner))\n- Ismael Martínez ([ismamz](https://github.com/ismamz))\n- Justin Obney ([justinobney](https://github.com/justinobney))\n- Kye Hohenberger ([tkh44](https://github.com/tkh44))\n- Kyle Shevlin ([kyleshevlin](https://github.com/kyleshevlin))\n- Kyle Warren ([malectro](https://github.com/malectro))\n- Emma Hamilton ([emmatown](https://github.com/emmatown))\n- ZΛNDΞR ([mrmartineau](https://github.com/mrmartineau))\n\n## v8.0.9 (2017-10-23)\n\n#### :rocket: Enhancement\n\n- `react-emotion`\n  - [#426](https://github.com/emotion-js/emotion/pull/426) Added TypeScript definitions for innerRef. ([@cameron-martin](https://github.com/cameron-martin))\n- `emotion`\n  - [#416](https://github.com/emotion-js/emotion/pull/416) Added TypeScript definitions for css prop. ([@cameron-martin](https://github.com/cameron-martin))\n- `babel-plugin-emotion`, `benchmarks`\n  - [#414](https://github.com/emotion-js/emotion/pull/414) Automatic hoisting. ([@tkh44](https://github.com/tkh44))\n\n#### :bug: Bug Fix\n\n- `babel-plugin-emotion`, `emotion`\n  - [#428](https://github.com/emotion-js/emotion/pull/428) Fix editing styles in devtools with source maps. ([@emmatown](https://github.com/emmatown))\n\n#### :memo: Documentation\n\n- [#423](https://github.com/emotion-js/emotion/pull/423) Fix incorrect usage of css variable in docs. ([@ekeric13](https://github.com/ekeric13))\n- [#413](https://github.com/emotion-js/emotion/pull/413) Fix a typo in docs on composition. ([@ervasive](https://github.com/ervasive))\n- [#412](https://github.com/emotion-js/emotion/pull/412) Remove dead links. ([@greggb](https://github.com/greggb))\n\n#### :house: Internal\n\n- `babel-plugin-emotion`, `benchmarks`, `emotion-server`, `emotion-theming`, `emotion-utils`, `emotion`, `preact-emotion`, `react-emotion`, `site`\n  - [#415](https://github.com/emotion-js/emotion/pull/415) Use yarn workspaces. ([@tkh44](https://github.com/tkh44))\n- `react-emotion`\n  - [#420](https://github.com/emotion-js/emotion/pull/420) Fix component type in TS typings. ([@asvetliakov](https://github.com/asvetliakov))\n- `emotion-theming`, `react-emotion`\n  - [#419](https://github.com/emotion-js/emotion/pull/419) Typescript typings: Added emotion-theming typings and fixed react-emotion typings. ([@asvetliakov](https://github.com/asvetliakov))\n- `emotion`\n  - [#417](https://github.com/emotion-js/emotion/pull/417) Added TypeScript definitions for the newly-added cx function.. ([@cameron-martin](https://github.com/cameron-martin))\n\n#### Committers: 7\n\n- Alexey Svetliakov ([asvetliakov](https://github.com/asvetliakov))\n- Cameron Martin ([cameron-martin](https://github.com/cameron-martin))\n- Eric Kennedy ([ekeric13](https://github.com/ekeric13))\n- Gregg Brewster ([greggb](https://github.com/greggb))\n- Kye Hohenberger ([tkh44](https://github.com/tkh44))\n- Emma Hamilton ([emmatown](https://github.com/emmatown))\n- Ruslan Vasiliev ([ervasive](https://github.com/ervasive))\n\n## v8.0.8 (2017-10-16)\n\n#### :rocket: Enhancement\n\n- `emotion`\n  - [#397](https://github.com/emotion-js/emotion/pull/397) Add a basic cx api so that users can merge emotion and custom classes. ([@tkh44](https://github.com/tkh44))\n\n#### :memo: Documentation\n\n- [#410](https://github.com/emotion-js/emotion/pull/410) added gatsbythemes.com to the list In The Wild in the README. ([@saschajullmann](https://github.com/saschajullmann))\n\n#### Committers: 2\n\n- Kye Hohenberger ([tkh44](https://github.com/tkh44))\n- Sascha Jullmann ([saschajullmann](https://github.com/saschajullmann))\n\n## v8.0.7 (2017-10-16)\n\n#### :rocket: Enhancement\n\n- `emotion`\n  - [#338](https://github.com/emotion-js/emotion/pull/338) change \"DO-NOT-USE\" to \"emotion.umd\" in umd file names. ([@tkh44](https://github.com/tkh44))\n- `react-emotion`\n  - [#398](https://github.com/emotion-js/emotion/pull/398) Add types to react-emotion. ([@renatorib](https://github.com/renatorib))\n\n#### :memo: Documentation\n\n- `emotion-theming`, `emotion`\n  - [#408](https://github.com/emotion-js/emotion/pull/408) readme and doc consolidation updates. ([@greggb](https://github.com/greggb))\n- Other\n  - [#407](https://github.com/emotion-js/emotion/pull/407) Clarify Babel plugin usage in install docs. ([@wKovacs64](https://github.com/wKovacs64))\n\n#### Committers: 5\n\n- Gregg Brewster ([greggb](https://github.com/greggb))\n- Justin Hall ([wKovacs64](https://github.com/wKovacs64))\n- Kye Hohenberger ([tkh44](https://github.com/tkh44))\n- Emma Hamilton ([emmatown](https://github.com/emmatown))\n- Renato Ribeiro ([renatorib](https://github.com/renatorib))\n\n## v8.0.6 (2017-10-14)\n\n#### :rocket: Enhancement\n\n- `emotion`\n  - [#379](https://github.com/emotion-js/emotion/pull/379) Added TypeScript types and tests for the emotion package.. ([@cameron-martin](https://github.com/cameron-martin))\n\n#### :house: Internal\n\n- `babel-plugin-emotion`, `emotion`, `react-emotion`, `stylis-plugin-emotion`\n  - [#406](https://github.com/emotion-js/emotion/pull/406) Remove stylis-plugin-emotion and use stylis-rule-sheet. ([@emmatown](https://github.com/emmatown))\n- `emotion`\n  - [#392](https://github.com/emotion-js/emotion/pull/392) Remove flatten. ([@tkh44](https://github.com/tkh44))\n\n#### Committers: 4\n\n- Cameron Martin ([cameron-martin](https://github.com/cameron-martin))\n- Hosmel Quintana ([hosmelq](https://github.com/hosmelq))\n- Kye Hohenberger ([tkh44](https://github.com/tkh44))\n- Emma Hamilton ([emmatown](https://github.com/emmatown))\n\n## v8.0.5 (2017-10-07)\n\n#### :memo: Documentation\n\n- [#390](https://github.com/emotion-js/emotion/pull/390) jest-glamor-react docs. ([@greggb](https://github.com/greggb))\n\n#### :house: Internal\n\n- `emotion`, `stylis-plugin-emotion`\n  - [#391](https://github.com/emotion-js/emotion/pull/391) Extract insertion plugin into stylis-plugin-emotion. ([@tkh44](https://github.com/tkh44))\n\n#### Committers: 2\n\n- Gregg Brewster ([greggb](https://github.com/greggb))\n- Kye Hohenberger ([tkh44](https://github.com/tkh44))\n\n## v8.0.4 (2017-10-07)\n\n#### :house: Internal\n\n- `emotion`, `react-emotion`\n  - [#387](https://github.com/emotion-js/emotion/pull/387) Insert nested selectors differently. ([@emmatown](https://github.com/emmatown))\n\n#### Committers: 1\n\n- Emma Hamilton ([emmatown](https://github.com/emmatown))\n\n## v8.0.3 (2017-10-06)\n\n#### :rocket: Enhancement\n\n- `emotion`\n  - [#377](https://github.com/emotion-js/emotion/pull/377) Add isBrowser as a property of sheet so that it can be manually set.. ([@tkh44](https://github.com/tkh44))\n\n#### :bug: Bug Fix\n\n- `babel-plugin-emotion`, `emotion`, `react-emotion`\n  - [#386](https://github.com/emotion-js/emotion/pull/386) Insertion plugin with tree. ([@tkh44](https://github.com/tkh44))\n\n#### :memo: Documentation\n\n- [#380](https://github.com/emotion-js/emotion/pull/380) Create webpack.md. ([@greggb](https://github.com/greggb))\n\n#### :house: Internal\n\n- [#371](https://github.com/emotion-js/emotion/pull/371) Add codecov.yml. ([@tkh44](https://github.com/tkh44))\n\n#### Committers: 2\n\n- Gregg Brewster ([greggb](https://github.com/greggb))\n- Kye Hohenberger ([tkh44](https://github.com/tkh44))\n\n## v8.0.2 (2017-10-01)\n\n#### :bug: Bug Fix\n\n- `react-emotion`\n  - [#364](https://github.com/emotion-js/emotion/pull/364) Make the theme prop always exist. ([@emmatown](https://github.com/emmatown))\n\n#### Committers: 1\n\n- Emma Hamilton ([emmatown](https://github.com/emmatown))\n\n## v8.0.2-13 (2017-10-01)\n\n#### :bug: Bug Fix\n\n- `react-emotion`\n  - [#364](https://github.com/emotion-js/emotion/pull/364) Make the theme prop always exist. ([@emmatown](https://github.com/emmatown))\n\n#### Committers: 1\n\n- Emma Hamilton ([emmatown](https://github.com/emmatown))\n\n## v8.0.2-12 (2017-10-01)\n\n#### :rocket: Enhancement\n\n- `emotion`, `react-emotion`\n  - [#363](https://github.com/emotion-js/emotion/pull/363) Recursively call functions in styled with props. ([@emmatown](https://github.com/emmatown))\n\n#### Committers: 1\n\n- Emma Hamilton ([emmatown](https://github.com/emmatown))\n\n## v8.0.2-11 (2017-09-30)\n\n#### :rocket: Enhancement\n\n- `babel-plugin-emotion`, `emotion-theming`, `react-emotion`\n  - [#361](https://github.com/emotion-js/emotion/pull/361) Add more context to the styled component displayName. ([@tkh44](https://github.com/tkh44))\n\n#### :bug: Bug Fix\n\n- `emotion`\n  - [#360](https://github.com/emotion-js/emotion/pull/360) Handle boolean values. ([@tkh44](https://github.com/tkh44))\n\n#### :house: Internal\n\n- `emotion`, `react-emotion`\n  - [#359](https://github.com/emotion-js/emotion/pull/359) Hoist some functions in react-emotion. ([@emmatown](https://github.com/emmatown))\n\n#### Committers: 2\n\n- Kye Hohenberger ([tkh44](https://github.com/tkh44))\n- Emma Hamilton ([emmatown](https://github.com/emmatown))\n\n## v8.0.2-10 (2017-09-29)\n\n#### :rocket: Enhancement\n\n- `babel-plugin-emotion`, `emotion-theming`, `react-emotion`, `site`\n  - [#292](https://github.com/emotion-js/emotion/pull/292) Migrate \"theming\" library. ([@probablyup](https://github.com/probablyup))\n\n#### Committers: 2\n\n- Evan Scott ([probablyup](https://github.com/probablyup))\n- Kye Hohenberger ([tkh44](https://github.com/tkh44))\n\n## v8.0.2-9 (2017-09-27)\n\n#### :bug: Bug Fix\n\n- `emotion`, `react-emotion`\n  - [#352](https://github.com/emotion-js/emotion/pull/352) Check for null when evaluating input strings in createStyles. ([@tkh44](https://github.com/tkh44))\n\n#### Committers: 1\n\n- Kye Hohenberger ([tkh44](https://github.com/tkh44))\n\n## v8.0.2-8 (2017-09-27)\n\n#### :rocket: Enhancement\n\n- `emotion`\n  - [#347](https://github.com/emotion-js/emotion/pull/347) Allow external stylis plugins. ([@emmatown](https://github.com/emmatown))\n\n#### :memo: Documentation\n\n- [#348](https://github.com/emotion-js/emotion/pull/348) Document CSS prop incompatibility with babel-plugin-transform-react-inline-elements. ([@apostolos](https://github.com/apostolos))\n\n#### Committers: 2\n\n- Apostolos Tsakpinis ([apostolos](https://github.com/apostolos))\n- Emma Hamilton ([emmatown](https://github.com/emmatown))\n\n## v8.0.2-7 (2017-09-25)\n\n#### :rocket: Enhancement\n\n- `emotion`, `react-emotion`\n  - [#346](https://github.com/emotion-js/emotion/pull/346) Allow interpolation return value to be a function. . ([@tkh44](https://github.com/tkh44))\n  - [#327](https://github.com/emotion-js/emotion/pull/327) Use cross-env to pass env vars across platforms. ([@apostolos](https://github.com/apostolos))\n\n#### :memo: Documentation\n\n- [#345](https://github.com/emotion-js/emotion/pull/345) Add /docs folder README and CodeSandbox.io links. ([@tkh44](https://github.com/tkh44))\n\n#### Committers: 2\n\n- Apostolos Tsakpinis ([apostolos](https://github.com/apostolos))\n- Kye Hohenberger ([tkh44](https://github.com/tkh44))\n\n## v8.0.2-6 (2017-09-25)\n\n#### :boom: Breaking Change\n\n- `babel-plugin-emotion`, `emotion-server`, `emotion`, `react-emotion`\n  - [#334](https://github.com/emotion-js/emotion/pull/334) Remove component selectors. ([@tkh44](https://github.com/tkh44))\n\n#### :rocket: Enhancement\n\n- `react-emotion`, `site`\n  - [#232](https://github.com/emotion-js/emotion/pull/232) Allow Styled tags to be updated via withComponent. ([@ifyoumakeit](https://github.com/ifyoumakeit))\n- `emotion`\n  - [#335](https://github.com/emotion-js/emotion/pull/335) Add a WeakMap cache to createStringFromObject. ([@emmatown](https://github.com/emmatown))\n- `babel-plugin-emotion`, `emotion`, `site`\n  - [#332](https://github.com/emotion-js/emotion/pull/332) Add support for object arguments in css prop with source maps. ([@tkh44](https://github.com/tkh44))\n\n#### :house: Internal\n\n- `emotion`\n  - [#339](https://github.com/emotion-js/emotion/pull/339) Don't abstract WeakMap cache. ([@emmatown](https://github.com/emmatown))\n- Other\n  - [#333](https://github.com/emotion-js/emotion/pull/333) Run benchmarks and tests in parallel and cache packages node_modules. ([@emmatown](https://github.com/emmatown))\n\n#### Committers: 3\n\n- Dave Garwacke ([ifyoumakeit](https://github.com/ifyoumakeit))\n- Kye Hohenberger ([tkh44](https://github.com/tkh44))\n- Emma Hamilton ([emmatown](https://github.com/emmatown))\n\n## v8.0.2-5 (2017-09-24)\n\n#### :rocket: Enhancement\n\n- `babel-plugin-emotion`, `emotion-server`, `emotion`, `site`\n  - [#320](https://github.com/emotion-js/emotion/pull/320) Add Source Maps 🗺 . ([@tkh44](https://github.com/tkh44))\n\n#### :bug: Bug Fix\n\n- `emotion`\n  - [#326](https://github.com/emotion-js/emotion/pull/326) At rule fixes. ([@emmatown](https://github.com/emmatown))\n\n#### :house: Internal\n\n- `benchmarks`\n  - [#328](https://github.com/emotion-js/emotion/pull/328) Benchmarks on Travis. ([@emmatown](https://github.com/emmatown))\n\n#### Committers: 2\n\n- Kye Hohenberger ([tkh44](https://github.com/tkh44))\n- Emma Hamilton ([emmatown](https://github.com/emmatown))\n\n## v8.0.2-4 (2017-09-22)\n\n#### :bug: Bug Fix\n\n- `emotion`\n  - [#324](https://github.com/emotion-js/emotion/pull/324) Fix multiple nested selectors in media queries. ([@emmatown](https://github.com/emmatown))\n\n#### Committers: 1\n\n- Emma Hamilton ([emmatown](https://github.com/emmatown))\n\n## v8.0.2-3 (2017-09-22)\n\n#### :boom: Breaking Change\n\n- `babel-plugin-emotion`, `emotion-server`, `emotion-utils`, `emotion`, `preact-emotion`, `react-emotion`\n  - [#322](https://github.com/emotion-js/emotion/pull/322) Move emotion to peerDependencies. ([@emmatown](https://github.com/emmatown))\n\n#### :bug: Bug Fix\n\n- `babel-plugin-emotion`, `emotion-server`, `emotion-utils`, `emotion`, `preact-emotion`, `react-emotion`\n  - [#322](https://github.com/emotion-js/emotion/pull/322) Move emotion to peerDependencies. ([@emmatown](https://github.com/emmatown))\n\n#### Committers: 1\n\n- Emma Hamilton ([emmatown](https://github.com/emmatown))\n\n## v8.0.2-2 (2017-09-22)\n\n#### :bug: Bug Fix\n\n- `babel-plugin-emotion`, `emotion-server`, `emotion`, `react-emotion`\n  - [#321](https://github.com/emotion-js/emotion/pull/321) Ensure proper insert order of nested rules & atRules. ([@tkh44](https://github.com/tkh44))\n\n#### Committers: 2\n\n- Kye Hohenberger ([tkh44](https://github.com/tkh44))\n- Emma Hamilton ([emmatown](https://github.com/emmatown))\n\n## v8.0.2-1 (2017-09-21)\n\n#### :bug: Bug Fix\n\n- `babel-plugin-emotion`, `emotion`\n  - [#317](https://github.com/emotion-js/emotion/pull/317) Media query nested selector fix. ([@emmatown](https://github.com/emmatown))\n\n#### Committers: 1\n\n- Emma Hamilton ([emmatown](https://github.com/emmatown))\n\n## v8.0.2-0 (2017-09-20)\n\n#### :bug: Bug Fix\n\n- `emotion`\n  - [#316](https://github.com/emotion-js/emotion/pull/316) Handle null value in array of styles.. ([@tkh44](https://github.com/tkh44))\n\n#### Committers: 1\n\n- Kye Hohenberger ([tkh44](https://github.com/tkh44))\n\n## v8.0.0-0 (2017-09-14)\n\n(This is a WIP changelog)\n\n#### :boom: Breaking Change\n\n- composes is gone and replaced with random interpolations ([there's a codemod](https://github.com/emotion-js/emotion-composes-codemod))\n- Nested class selectors default to `& .class` instead of `&.class` if the `&` is omitted\n\n#### :rocket: Enhancement\n\n- Better performance\n\n#### :bug: Bug Fix\n\n- All edge cases with prefixing are gone\n- css prop specificity (#308)\n\n#### :house: Internal\n\n- Don't convert tagged template literals to objects\n\n#### Committers: 2\n\n- Kye Hohenberger ([tkh44](https://github.com/tkh44))\n- Emma Hamilton ([emmatown](https://github.com/emmatown))\n\n## v7.3.2 (2017-09-14)\n\n#### :rocket: Enhancement\n\n- `babel-plugin-emotion`\n  - [#306](https://github.com/emotion-js/emotion/pull/306) Allow all imports to be configurable. ([@emmatown](https://github.com/emmatown))\n\n#### Committers: 1\n\n- Emma Hamilton ([emmatown](https://github.com/emmatown))\n\n## v7.3.0 (2017-09-13)\n\n#### :rocket: Enhancement\n\n- `babel-plugin-emotion`\n  - [#290](https://github.com/emotion-js/emotion/pull/290) Configurable imports. ([@ChristopherBiscardi](https://github.com/ChristopherBiscardi))\n\n#### :house: Internal\n\n- `babel-plugin-emotion`, `emotion`, `react-emotion`\n  - [#304](https://github.com/emotion-js/emotion/pull/304) Use babel-plugin-codegen to generate props regex. ([@emmatown](https://github.com/emmatown))\n- `babel-plugin-emotion`\n  - [#298](https://github.com/emotion-js/emotion/pull/298) upgrade to babel-macros 1.0.0. ([@kentcdodds](https://github.com/kentcdodds))\n\n#### Committers: 3\n\n- Christopher Biscardi ([ChristopherBiscardi](https://github.com/ChristopherBiscardi))\n- Kent C. Dodds ([kentcdodds](https://github.com/kentcdodds))\n- Emma Hamilton ([emmatown](https://github.com/emmatown))\n\n## v7.2.1 (2017-09-05)\n\n#### :memo: Documentation\n\n- [#198](https://github.com/emotion-js/emotion/pull/198) add docs for using withProps from recompose. ([@divyagnan](https://github.com/divyagnan))\n\n#### :house: Internal\n\n- Other\n  - [#294](https://github.com/emotion-js/emotion/pull/294) Add module name mapping for emotion-utils to .flowconfig. ([@bigslycat](https://github.com/bigslycat))\n- `babel-plugin-emotion`\n  - [#293](https://github.com/emotion-js/emotion/pull/293) Fix flowtype errors in babel-plugin-emotion. ([@bigslycat](https://github.com/bigslycat))\n- `babel-plugin-emotion`, `emotion-utils`, `emotion`, `preact-emotion`, `react-emotion`\n  - [#280](https://github.com/emotion-js/emotion/pull/280) Change rollup config. ([@emmatown](https://github.com/emmatown))\n- `babel-plugin-emotion`, `emotion-server`, `emotion-utils`, `emotion`, `preact-emotion`, `react-emotion`\n  - [#276](https://github.com/emotion-js/emotion/pull/276) chore: update packages to deeplink into their respective directories. ([@probablyup](https://github.com/probablyup))\n\n#### Committers: 6\n\n- Christopher Biscardi ([ChristopherBiscardi](https://github.com/ChristopherBiscardi))\n- Divyagnan Kandala ([divyagnan](https://github.com/divyagnan))\n- Evan Scott ([probablyup](https://github.com/probablyup))\n- Emma Hamilton ([emmatown](https://github.com/emmatown))\n- Pavel ([bigslycat](https://github.com/bigslycat))\n- Siddharth Kshetrapal ([siddharthkp](https://github.com/siddharthkp))\n\n## v7.2.0 (2017-08-20)\n\n#### :rocket: Enhancement\n\n- `emotion`, `preact-emotion`\n  - [#273](https://github.com/tkh44/emotion/pull/273) Add preact-emotion. ([@emmatown](https://github.com/emmatown))\n\n#### Committers: 1\n\n- Emma Hamilton ([emmatown](https://github.com/emmatown))\n\n## v7.1.1 (2017-08-20)\n\n#### :bug: Bug Fix\n\n- `react-emotion`\n  - [#268](https://github.com/tkh44/emotion/pull/268) Add missing macro.js to react-emotion package. ([@silvenon](https://github.com/silvenon))\n\n#### :memo: Documentation\n\n- `emotion`\n  - [#269](https://github.com/tkh44/emotion/pull/269) Fix react size badges in readme. ([@emmatown](https://github.com/emmatown))\n\n#### Commiteters: 2\n\n- Matija Marohnić ([silvenon](https://github.com/silvenon))\n- Emma Hamilton ([emmatown](https://github.com/emmatown))\n\n## v7.1.0 (2017-08-18)\n\n#### :rocket: Enhancement\n\n- `babel-plugin-emotion`, `emotion-server`, `emotion`\n  - [#265](https://github.com/tkh44/emotion/pull/265) Fix nested interpolated media queries and support random interpolations in injectGlobal. ([@emmatown](https://github.com/emmatown))\n- `babel-plugin-emotion`, `emotion-server`, `emotion-utils`, `emotion`, `react-emotion`\n  - [#259](https://github.com/tkh44/emotion/pull/259) Split everything into its own package with Lerna. ([@emmatown](https://github.com/emmatown))\n- Other\n  - [#253](https://github.com/tkh44/emotion/pull/253) Add identifier name to styled class. ([@emmatown](https://github.com/emmatown))\n\n#### :bug: Bug Fix\n\n- [#256](https://github.com/tkh44/emotion/pull/256) Fix nested selectors without parent declaration. ([@emmatown](https://github.com/emmatown))\n\n#### :memo: Documentation\n\n- [#252](https://github.com/tkh44/emotion/pull/252) Add documentation for nested selectors. ([@silvenon](https://github.com/silvenon))\n- [#250](https://github.com/tkh44/emotion/pull/250) Remove Vue from the babel-macros doc. ([@emmatown](https://github.com/emmatown))\n\n#### Committers: 2\n\n- Matija Marohnić ([silvenon](https://github.com/silvenon))\n- Emma Hamilton ([emmatown](https://github.com/emmatown))\n\n## v7.0.12 (2017-08-09)\n\n#### :bug: Bug Fix\n\n- [#243](https://github.com/tkh44/emotion/pull/243) Pass filename to PostCSS correctly. ([@emmatown](https://github.com/emmatown))\n- [#236](https://github.com/tkh44/emotion/pull/236) Filter props on composed components. ([@emmatown](https://github.com/emmatown))\n\n#### :memo: Documentation\n\n- [#234](https://github.com/tkh44/emotion/pull/234) Add emotion-vue. ([@egoist](https://github.com/egoist))\n\n#### :house: Internal\n\n- [#237](https://github.com/tkh44/emotion/pull/237) adding theming to dev dependencies. ([@areai51](https://github.com/areai51))\n- [#238](https://github.com/tkh44/emotion/pull/238) Make the styled content function return an object. ([@emmatown](https://github.com/emmatown))\n\n#### Committers: 3\n\n- EGOIST ([egoist](https://github.com/egoist))\n- Emma Hamilton ([emmatown](https://github.com/emmatown))\n- [areai51](https://github.com/areai51)\n\n## v7.0.11 (2017-08-05)\n\n#### :house: Internal\n\n- [#233](https://github.com/tkh44/emotion/pull/233) Add postcss as a dependency. ([@emmatown](https://github.com/emmatown))\n- [#231](https://github.com/tkh44/emotion/pull/231) Use ESLint directly. ([@emmatown](https://github.com/emmatown))\n\n#### Committers: 1\n\n- Emma Hamilton ([emmatown](https://github.com/emmatown))\n\n## v7.0.10 (2017-08-04)\n\n#### :memo: Documentation\n\n- [#230](https://github.com/tkh44/emotion/pull/230) Fix typo in react gzip size badge. ([@emmatown](https://github.com/emmatown))\n\n#### Committers: 1\n\n- Emma Hamilton ([emmatown](https://github.com/emmatown))\n\n## v7.0.9 (2017-08-04)\n\n#### :rocket: Enhancement\n\n- [#227](https://github.com/tkh44/emotion/pull/227) Prop filtering. ([@emmatown](https://github.com/emmatown))\n- [#228](https://github.com/tkh44/emotion/pull/228) Spread out fragments earlier so that we can do redic nesting. ([@tkh44](https://github.com/tkh44))\n- [#225](https://github.com/tkh44/emotion/pull/225) Remove theming. ([@tkh44](https://github.com/tkh44))\n\n#### Committers: 2\n\n- Kye Hohenberger ([tkh44](https://github.com/tkh44))\n- Emma Hamilton ([emmatown](https://github.com/emmatown))\n\n## v7.0.7 (2017-08-02)\n\n#### :rocket: Enhancement\n\n- [#221](https://github.com/tkh44/emotion/pull/221) Random object interpolations. ([@emmatown](https://github.com/emmatown))\n\n#### :bug: Bug Fix\n\n- [#224](https://github.com/tkh44/emotion/pull/224) Handle case where css float property is converted to `cssFloat` by autoprefixer camelCase function. ([@tkh44](https://github.com/tkh44))\n- [#223](https://github.com/tkh44/emotion/pull/223) Small fix for #221. ([@tkh44](https://github.com/tkh44))\n\n#### Committers: 2\n\n- Kye Hohenberger ([tkh44](https://github.com/tkh44))\n- Emma Hamilton ([emmatown](https://github.com/emmatown))\n\n## v7.0.6 (2017-08-01)\n\n#### :rocket: Enhancement\n\n- [#213](https://github.com/tkh44/emotion/pull/213) Allow random expressions as long as they result in a className that begins with css. ([@tkh44](https://github.com/tkh44))\n\n#### Committers: 1\n\n- Kye Hohenberger ([tkh44](https://github.com/tkh44))\n\n## v7.0.5 (2017-08-01)\n\n#### :bug: Bug Fix\n\n- [#218](https://github.com/tkh44/emotion/pull/218) Fix SSR hydration. ([@emmatown](https://github.com/emmatown))\n- [#214](https://github.com/tkh44/emotion/pull/214) [Fix] #196. ([@bogas04](https://github.com/bogas04))\n\n#### Committers: 2\n\n- Divjot Singh ([bogas04](https://github.com/bogas04))\n- Emma Hamilton ([emmatown](https://github.com/emmatown))\n\n## v7.0.4 (2017-07-30)\n\n#### :bug: Bug Fix\n\n- [#205](https://github.com/tkh44/emotion/pull/205) Fix prefixed selectors in objects. ([@emmatown](https://github.com/emmatown))\n- [#204](https://github.com/tkh44/emotion/pull/204) Fix shorthand property syntax in object styles and use spread syntax instead of transform in tests. ([@emmatown](https://github.com/emmatown))\n- [#203](https://github.com/tkh44/emotion/pull/203) Component as selector fix. ([@emmatown](https://github.com/emmatown))\n\n#### :memo: Documentation\n\n- [#207](https://github.com/tkh44/emotion/pull/207) Fix logo alignment on npm. ([@emmatown](https://github.com/emmatown))\n- [#206](https://github.com/tkh44/emotion/pull/206) Remove attr from Usage with CSS Modules docs. ([@emmatown](https://github.com/emmatown))\n- [#190](https://github.com/tkh44/emotion/pull/190) [Update] import `styled` from 'emotion/react'. ([@bogas04](https://github.com/bogas04))\n\n#### Committers: 2\n\n- Divjot Singh ([bogas04](https://github.com/bogas04))\n- Emma Hamilton ([emmatown](https://github.com/emmatown))\n\n## v7.0.3 (2017-07-28)\n\n#### :rocket: Enhancement\n\n- [#202](https://github.com/tkh44/emotion/pull/202) Render fewer components when composing components. ([@emmatown](https://github.com/emmatown))\n\n#### Committers: 1\n\n- Emma Hamilton ([emmatown](https://github.com/emmatown))\n\n## v7.0.2 (2017-07-28)\n\n#### :rocket: Enhancement\n\n- [#197](https://github.com/tkh44/emotion/pull/197) Prefix objects css props. ([@tkh44](https://github.com/tkh44))\n- [#200](https://github.com/tkh44/emotion/pull/200) Auto import css for css prop. ([@emmatown](https://github.com/emmatown))\n\n#### :bug: Bug Fix\n\n- [#192](https://github.com/tkh44/emotion/pull/192) Use postcss-nested and postcss-safe-parser instead of styled-components fork and pass filename to postcss. ([@emmatown](https://github.com/emmatown))\n\n#### :house: Internal\n\n- [#191](https://github.com/tkh44/emotion/pull/191) More tests, use fns from utils and rework core. ([@emmatown](https://github.com/emmatown))\n- [#193](https://github.com/tkh44/emotion/pull/193) Use spread over Object.assign. ([@bogas04](https://github.com/bogas04))\n\n#### Committers: 3\n\n- Divjot Singh ([bogas04](https://github.com/bogas04))\n- Kye Hohenberger ([tkh44](https://github.com/tkh44))\n- Emma Hamilton ([emmatown](https://github.com/emmatown))\n\n## v7.0.1 (2017-07-27)\n\n#### :bug: Bug Fix\n\n- [#177](https://github.com/tkh44/emotion/pull/177) fresh regex every time extractCritical is called. ([@threepointone](https://github.com/threepointone))\n\n#### :house: Internal\n\n- [#182](https://github.com/tkh44/emotion/pull/182) Move fbjs imports for warning and camelizeStyleName. ([@emmatown](https://github.com/emmatown))\n- [#176](https://github.com/tkh44/emotion/pull/176) Update jest-glamor-react. ([@emmatown](https://github.com/emmatown))\n- [#175](https://github.com/tkh44/emotion/pull/175) Clean up css operations. ([@tkh44](https://github.com/tkh44))\n\n#### Committers: 3\n\n- Sunil Pai ([threepointone](https://github.com/threepointone))\n- Kye Hohenberger ([tkh44](https://github.com/tkh44))\n- Emma Hamilton ([emmatown](https://github.com/emmatown))\n"
  },
  {
    "path": "CODE_OF_CONDUCT.md",
    "content": "# Contributor Covenant Code of Conduct\n\n## Our Pledge\n\nIn the interest of fostering an open and welcoming environment, we as\ncontributors and maintainers pledge to making participation in our project and\nour community a harassment-free experience for everyone, regardless of age, body\nsize, disability, ethnicity, gender identity and expression, level of experience,\nnationality, personal appearance, race, religion, or sexual identity and\norientation.\n\n## Our Standards\n\nExamples of behavior that contributes to creating a positive environment\ninclude:\n\n- Using welcoming and inclusive language\n- Being respectful of differing viewpoints and experiences\n- Gracefully accepting constructive criticism\n- Focusing on what is best for the community\n- Showing empathy towards other community members\n\nExamples of unacceptable behavior by participants include:\n\n- The use of sexualized language or imagery and unwelcome sexual attention or\n  advances\n- Trolling, insulting/derogatory comments, and personal or political attacks\n- Public or private harassment\n- Publishing others' private information, such as a physical or electronic\n  address, without explicit permission\n- Other conduct which could reasonably be considered inappropriate in a\n  professional setting\n\n## Our Responsibilities\n\nProject maintainers are responsible for clarifying the standards of acceptable\nbehavior and are expected to take appropriate and fair corrective action in\nresponse to any instances of unacceptable behavior.\n\nProject maintainers have the right and responsibility to remove, edit, or\nreject comments, commits, code, wiki edits, issues, and other contributions\nthat are not aligned to this Code of Conduct, or to ban temporarily or\npermanently any contributor for other behaviors that they deem inappropriate,\nthreatening, offensive, or harmful.\n\n## Scope\n\nThis Code of Conduct applies both within project spaces and in public spaces\nwhen an individual is representing the project or its community. Examples of\nrepresenting a project or community include using an official project e-mail\naddress, posting via an official social media account, or acting as an appointed\nrepresentative at an online or offline event. Representation of a project may be\nfurther defined and clarified by project maintainers.\n\n## Enforcement\n\nInstances of abusive, harassing, or otherwise unacceptable behavior may be\nreported by contacting the project team at kye.hohenberger@gmail.com. All\ncomplaints will be reviewed and investigated and will result in a response that\nis deemed necessary and appropriate to the circumstances. The project team is\nobligated to maintain confidentiality with regard to the reporter of an incident.\nFurther details of specific enforcement policies may be posted separately.\n\nProject maintainers who do not follow or enforce the Code of Conduct in good\nfaith may face temporary or permanent repercussions as determined by other\nmembers of the project's leadership.\n\n## Attribution\n\nThis Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,\navailable at [http://contributor-covenant.org/version/1/4][version]\n\n[homepage]: http://contributor-covenant.org\n[version]: http://contributor-covenant.org/version/1/4/\n"
  },
  {
    "path": "CONTRIBUTING.md",
    "content": "## Prerequisites\n\n- [Node.js](http://nodejs.org/) >= v16 must be installed.\n- We are using Yarn Modern so you need either a global install of Yarn v1 (`npm i -g yarn`) or you need to [enable Corepack](https://yarnpkg.com/getting-started/install).\n\n## Installation\n\n- (If using Windows) Enable Developer Mode in the Windows settings app. On Windows 11, this can be done by searching the start menu for \"Developer settings\" and then enabling the Developer Mode toggle switch.\n- Run `yarn` in the repository's root directory to install everything you need for development.\n- Run `yarn build` in the root directory to build the modules.\n\n## Running Tests\n\n- `yarn test` will run the tests once.\n- `yarn coverage` will run the tests and produce a coverage report in `coverage/`.\n- `yarn test:watch` will run the tests on every change.\n\n## Building\n\n- Run `yarn build` in the root directory to build the modules. (Required before publishing)\n- Run `yarn build PACKAGE_NAME ANOTHER_PACKAGE_NAME` to only build certain packages.\n- Run `yarn build:watch` to build packages on every change.\n\n## Documentation Website Development\n\n- Run above installation steps and then `cd` to the `site` directory.\n- Run `yarn dev` to run the Next.js development server.\n- Run `yarn build` to create a build of the assets for the documentation website.\n\n## Changesets\n\nEmotion uses [changesets](https://github.com/Noviny/changesets) to do versioning. What that means for contributors is that you need to add a changeset by running `yarn changeset` which contains what packages should be bumped, their associated semver bump types and some markdown which will be inserted into changelogs.\n"
  },
  {
    "path": "LICENSE",
    "content": "MIT License\n\nCopyright (c) Emotion team and other contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "README.md",
    "content": "<p align=\"center\" style=\"color: #343a40\">\n  <img src=\"https://raw.githubusercontent.com/emotion-js/emotion/main/emotion.png\" alt=\"Emotion logo\" height=\"150\" width=\"150\">\n  <h1 align=\"center\">emotion</h1>\n</p>\n<p align=\"center\" style=\"font-size: 1.2rem;\">The Next Generation of CSS-in-JS</p>\n\n> **Emotion 11 has been released 🚀 [See the blog post](https://emotion.sh/docs/emotion-11)**\n\n[![Backers on Open Collective](https://img.shields.io/opencollective/backers/emotion)](#backers) [![Sponsors on Open Collective](https://img.shields.io/opencollective/sponsors/emotion)](#sponsors) [![npm version](https://badge.fury.io/js/emotion.svg)](https://badge.fury.io/js/emotion)\n[![Build Status](https://img.shields.io/circleci/project/github/emotion-js/emotion/main.svg)](https://circleci.com/gh/emotion-js/emotion)\n[![codecov](https://codecov.io/gh/emotion-js/emotion/branch/main/graph/badge.svg)](https://codecov.io/gh/emotion-js/emotion)\n![@emotion/css size](https://img.shields.io/bundlephobia/min/@emotion/css.svg?label=@emotion/css%20size)\n![@emotion/css gzip size](https://img.shields.io/bundlephobia/minzip/@emotion/css.svg?label=@emotion/css%20gzip%20size)\n![@emotion/react size](https://img.shields.io/bundlephobia/min/@emotion/react.svg?label=@emotion/react%20size)\n![@emotion/react gzip size](https://img.shields.io/bundlephobia/minzip/@emotion/react.svg?label=@emotion/react%20gzip%20size)\n![@emotion/styled size](https://img.shields.io/bundlephobia/min/@emotion/styled.svg?label=@emotion/styled%20size)\n![@emotion/styled gzip size](https://img.shields.io/bundlephobia/minzip/@emotion/styled.svg?label=@emotion/styled%20gzip%20size)\n[![slack](https://img.shields.io/badge/join-slack-green)](https://join.slack.com/t/emotion-slack/shared_invite/zt-rmtwsy74-2uvyFdz5uxa8OiMguJJeuQ)\n\nEmotion is a performant and flexible CSS-in-JS library. Building on many other CSS-in-JS libraries, it allows you to style apps quickly with string or object styles. It has predictable composition to avoid specificity issues with CSS. With source maps and labels, Emotion has a great developer experience and great performance with heavy caching in production.\n\n# [👀 Demo Sandbox](https://codesandbox.io/s/pk1qjqpw67)\n\n# [📖 Docs](https://emotion.sh/docs/introduction)\n\nFrequently viewed docs:\n\n- [Introduction](https://emotion.sh/docs/introduction)\n- [Install](https://emotion.sh/docs/install)\n- [CSS Prop](https://emotion.sh/docs/css-prop)\n- [Styled Components](https://emotion.sh/docs/styled)\n- [Composition](https://emotion.sh/docs/composition)\n- [Nested Selectors](https://emotion.sh/docs/nested)\n- [Media Queries](https://emotion.sh/docs/media-queries)\n\n### Quick Start\n\nGet up and running with a single import.\n\n```bash\nnpm install --save @emotion/react\n```\n\n```jsx\n/** @jsx jsx */\nimport { jsx } from '@emotion/react'\n\nlet SomeComponent = props => {\n  return (\n    <div\n      css={{\n        color: 'hotpink'\n      }}\n      {...props}\n    />\n  )\n}\n```\n\n### Do I Need To Use the Babel Plugin?\n\nThe babel plugin is not required, but enables some optimizations and customizations that could be beneficial for your project.\n\nLook here 👉 _[emotion babel plugin feature table and documentation](https://github.com/emotion-js/emotion/tree/main/packages/babel-plugin)_\n\n### Demo Sandbox\n\n[Demo Code Sandbox](https://codesandbox.io/s/pk1qjqpw67)\n\n### Examples\n\n- [emotion website](site) [[Demo Here](https://emotion.sh)]\n- [next-hnpwa-guide-kit](https://github.com/tkh44/next-hnpwa-guide-kit) [[Demo Here](https://hnpwa.life)]\n- [reactivesearch](https://github.com/appbaseio/reactivesearch), a react UI library for Elasticsearch [[Website](https://opensource.appbase.io/reactivesearch/)]\n- [circuit-ui](https://github.com/sumup-oss/circuit-ui), a react component library built at SumUp [[Storybook](https://circuit.sumup.com/?path=/story/introduction-welcome--page)]\n- **open a PR and add yours!**\n\n### Ecosystem\n\n- [stylelint](https://github.com/stylelint/stylelint) - A mighty, modern linter that helps you avoid errors and enforce conventions in your styles.\n- [facepaint](https://github.com/emotion-js/facepaint)\n- [emotion-vue](https://github.com/egoist/emotion-vue)\n- [nuxt-community/emotion-module](https://github.com/nuxt-community/emotion-module) - Emotion module for Nuxt.js\n- [ember-emotion](https://github.com/alexlafroscia/ember-emotion)\n- [CSS to emotion transform](https://transform.now.sh/css-to-emotion/)\n- [ShevyJS](https://github.com/kyleshevlin/shevyjs)\n- [design-system-utils](https://github.com/mrmartineau/design-system-utils) - Utilities to give better access to your design system.\n- [polished](https://github.com/styled-components/polished) - Lightweight set of Sass/Compass-style mixins/helpers for writing styles in JavaScript.\n- [monad-ui](https://github.com/muhajirdev/monad-ui/) - Utility First CSS-In-JS\n- [css-in-js-media](https://github.com/zx6658/css-in-js-media) - you can deal with responsive design using css-in-js easily with this `css-in-js-media` which is similar with include-media\n- [emotion-native-extended](https://github.com/ItsWendell/emotion-native-extended) - Better styling support for Emotion Native with [React Native Extended Stylesheet](https://github.com/vitalets/react-native-extended-stylesheet)\n\n### In the Wild\n\n- [feathery.io](https://feathery.io)\n- [frontity.org](https://frontity.org)\n- [abacusfi.com](https://abacusfi.com)\n- [healthline.com](https://www.healthline.com)\n- [nytimes.com](https://www.nytimes.com)\n- [vault.crucible.gg](http://vault.crucible.gg/)\n- [render.com](https://render.com)\n- [gatsbythemes.com](https://gatsbythemes.com/)\n- [blazity.com](https://blazity.com/)\n- [postmates.com](https://postmates.com/)\n- [thedisconnect.co](https://thedisconnect.co/one)\n- [zefenify.com](https://zefenify.com/about.html)\n- [sentry.io](https://sentry.io)\n- [comparett.com](https://comparett.com)\n- [Domain.com.au](https://www.domain.com.au)\n- [cyberhaven.com](https://cyberhaven.com)\n- [CommercialRealEstate.com.au](https://www.commercialrealestate.com.au)\n- [codecademy.com](https://www.codecademy.com)\n- [Apache Superset](https://superset.apache.org/)\n\n## Sponsors\n\nSupport this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/emotion#sponsor)]\n\n<a href=\"https://thinkmill.com.au\" target=\"_blank\"><img height=\"64\" alt=\"Thinkmill\" src=\"https://thinkmill.github.io/badge/wide-logo.svg\"></a>\n<a href=\"https://opencollective.com/emotion/sponsor/0/website\" target=\"_blank\"><img src=\"https://opencollective.com/emotion/sponsor/0/avatar.svg\"></a>\n<a href=\"https://opencollective.com/emotion/sponsor/1/website\" target=\"_blank\"><img src=\"https://opencollective.com/emotion/sponsor/1/avatar.svg\"></a>\n<a href=\"https://opencollective.com/emotion/sponsor/2/website\" target=\"_blank\"><img src=\"https://opencollective.com/emotion/sponsor/2/avatar.svg\"></a>\n<a href=\"https://opencollective.com/emotion/sponsor/3/website\" target=\"_blank\"><img src=\"https://opencollective.com/emotion/sponsor/3/avatar.svg\"></a>\n<a href=\"https://opencollective.com/emotion/sponsor/4/website\" target=\"_blank\"><img src=\"https://opencollective.com/emotion/sponsor/4/avatar.svg\"></a>\n<a href=\"https://opencollective.com/emotion/sponsor/5/website\" target=\"_blank\"><img src=\"https://opencollective.com/emotion/sponsor/5/avatar.svg\"></a>\n<a href=\"https://opencollective.com/emotion/sponsor/6/website\" target=\"_blank\"><img src=\"https://opencollective.com/emotion/sponsor/6/avatar.svg\"></a>\n<a href=\"https://opencollective.com/emotion/sponsor/7/website\" target=\"_blank\"><img src=\"https://opencollective.com/emotion/sponsor/7/avatar.svg\"></a>\n<a href=\"https://opencollective.com/emotion/sponsor/8/website\" target=\"_blank\"><img src=\"https://opencollective.com/emotion/sponsor/8/avatar.svg\"></a>\n<a href=\"https://opencollective.com/emotion/sponsor/9/website\" target=\"_blank\"><img src=\"https://opencollective.com/emotion/sponsor/9/avatar.svg\"></a>\n\n## Backers\n\nThank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/emotion#backer)]\n\n<a href=\"https://opencollective.com/emotion#backers\" target=\"_blank\"><img src=\"https://opencollective.com/emotion/backers.svg?width=890\"></a>\n\n## Contributors\n\nThis project exists thanks to all the people who contribute. [[Contribute](CONTRIBUTING.md)].\n<a href=\"https://github.com/emotion-js/emotion/graphs/contributors\"><img src=\"https://opencollective.com/emotion/contributors.svg?width=890&button=false\" /></a>\n"
  },
  {
    "path": "RELEASING.md",
    "content": "# Releasing Emotion\n\nEmotion uses [changesets](https://github.com/Noviny/changesets) to do versioning. This makes releasing really easy and changelogs are automatically generated.\n\n## How to do a release\n\n1. Run `yarn` to make sure everything is up to date\n2. Run `yarn version-packages`.\n3. Run `NPM_CONFIG_OTP=PUTANOTPCODEHERE yarn release`. If the 2FA code times out while publishing, run the command again with a new code, only the packages that were not published will be published.\n"
  },
  {
    "path": "SECURITY.md",
    "content": "# Security policy\n\n## Supported versions\n\nThe latest version of the project is currently supported with security updates.\n\n## Reporting a vulnerability\n\nYou can report a vulnerability by contacting maintainers via email.\n"
  },
  {
    "path": "__mocks__/react-native.js",
    "content": "/* eslint-env jest */\n\nlet components = [\n  'ActivityIndicator',\n  'ActivityIndicatorIOS',\n  'ART',\n  'Button',\n  'DatePickerIOS',\n  'DrawerLayoutAndroid',\n  'Image',\n  'ImageBackground',\n  'ImageEditor',\n  'ImageStore',\n  'KeyboardAvoidingView',\n  'ListView',\n  'MapView',\n  'Modal',\n  'NavigatorIOS',\n  'Picker',\n  'PickerIOS',\n  'ProgressBarAndroid',\n  'ProgressViewIOS',\n  'ScrollView',\n  'SegmentedControlIOS',\n  'Slider',\n  'SliderIOS',\n  'SnapshotViewIOS',\n  'Switch',\n  'RecyclerViewBackedScrollView',\n  'RefreshControl',\n  'SafeAreaView',\n  'StatusBar',\n  'SwipeableListView',\n  'SwitchAndroid',\n  'SwitchIOS',\n  'TabBarIOS',\n  'Text',\n  'TextInput',\n  'ToastAndroid',\n  'ToolbarAndroid',\n  'Touchable',\n  'TouchableHighlight',\n  'TouchableNativeFeedback',\n  'TouchableOpacity',\n  'TouchableWithoutFeedback',\n  'View',\n  'ViewPagerAndroid',\n  'WebView',\n  'FlatList',\n  'SectionList',\n  'VirtualizedList'\n]\n\nmodule.exports = {\n  ...jest.requireActual('react-primitives'),\n  ...components.reduce((obj, key) => {\n    obj[key] = key\n    return obj\n  }, {})\n}\n"
  },
  {
    "path": "__mocks__/react-primitives.js",
    "content": "export * from 'react-primitives/lib/index.web'\n"
  },
  {
    "path": "babel.config.js",
    "content": "const path = require('path')\nconst emotionDevPreset = require('babel-preset-emotion-dev')\n\nlet needsBabelPluginEmotion = filename => /\\.test\\.js$/.test(filename)\n\nlet isTestFile = filename =>\n  /\\.test\\.js$/.test(filename) ||\n  filename.includes(`${path.sep}__tests__${path.sep}`)\n\nmodule.exports = api => {\n  api.cache(true)\n  return {\n    presets: ['babel-preset-emotion-dev', '@babel/preset-typescript'],\n    overrides: [\n      {\n        test: filename =>\n          filename &&\n          ((!filename.includes('no-babel') &&\n            needsBabelPluginEmotion(filename)) ||\n            filename.includes(path.join('__tests__', 'babel'))),\n        presets: [[emotionDevPreset, { useEmotionPlugin: true }]]\n      },\n      {\n        test: filename =>\n          filename &&\n          filename.includes('source-map') &&\n          needsBabelPluginEmotion(filename),\n        presets: [\n          [emotionDevPreset, { useEmotionPlugin: true, sourceMap: true }]\n        ]\n      },\n      {\n        test: filename =>\n          filename &&\n          isTestFile(filename) &&\n          filename.includes('automatic-runtime'),\n        presets: [\n          [emotionDevPreset, { runtime: 'automatic', useEmotionPlugin: true }]\n        ]\n      },\n      {\n        test: filename =>\n          filename &&\n          isTestFile(filename) &&\n          filename.includes('automatic-dev-runtime'),\n        presets: [\n          [\n            emotionDevPreset,\n            { runtime: 'automatic', development: true, useEmotionPlugin: true }\n          ]\n        ]\n      }\n    ]\n  }\n}\n"
  },
  {
    "path": "codecov.yml",
    "content": "comment: # https://docs.codecov.io/docs/pull-request-comments\n  layout: 'files'\n  behavior: once\n  require_changes: true # if true: only post the comment if coverage changes\n  require_base: no # [yes :: must have a base report to post]\n  require_head: yes # [yes :: must have a head report to post]\n  branches: null\n"
  },
  {
    "path": "docs/README.md",
    "content": "# [Read the docs at https://emotion.sh/docs](https://emotion.sh/docs)\n"
  },
  {
    "path": "docs/babel-macros.mdx",
    "content": "---\ntitle: 'Babel Macros'\n---\n\n[Create React App recently added support for Babel Macros](https://reactjs.org/blog/2018/10/01/create-react-app-v2.html) which makes it possible to run Babel transforms without changing a Babel config.\n\nAll of Emotion's Babel Macros are available by adding `/macro` to the end of the import you'd normally use. (assuming you're using Create React App v2 or you've added babel-plugin-macros to your .babelrc) For example, to use the macro for styled, use `@emotion/styled/macro`.\n\n```jsx\nimport styled from '@emotion/styled/macro'\nimport { jsx, css, Global, keyframes } from '@emotion/react/macro'\nimport { css, keyframes, injectGlobal } from '@emotion/css/macro'\n```\n\n> Note\n>\n> There are some optimisations which aren't possible with Babel Macros, so if it's possible, we still recommend using @emotion/babel-plugin\n"
  },
  {
    "path": "docs/babel.mdx",
    "content": "---\ntitle: 'Babel Plugin'\n---\n\n`@emotion/babel-plugin` is highly recommended. All of the options that can be provided to `@emotion/babel-plugin` are documented in [`@emotion/babel-plugin`'s README](https://github.com/emotion-js/emotion/tree/main/packages/babel-plugin).\n\n## Install\n\nIn `emotion` version 8 and above, installation is optional. In older versions, installation is required. See the [installation instructions](/docs/install.mdx).\n\n## Features which are enabled with the babel plugin\n\n#### Minification\n\nAny leading/trailing space between properties in your `css` and `styled` blocks is removed. This can reduce the size of your final bundle.\n\n#### Dead Code Elimination\n\nUglifyjs will use the injected `/*#__PURE__*/` flag comments to mark your `css` and `styled` blocks as candidates for dead code elimination.\n\n#### Source Maps\n\nWhen enabled, navigate directly to the style declaration in your javascript file.\n\n#### Components as selectors\n\nThe ability to refer to another component to apply override styles depending on nesting context. Learn more in the [styled docs](/docs/styled.mdx#targeting-another-emotion-component).\n"
  },
  {
    "path": "docs/best-practices.mdx",
    "content": "---\ntitle: 'Best Practices'\n---\n\nEmotion is an extremely flexible library, but this can make it intimidating, especially for new users. This guide contains several recommendations for how to use Emotion in your application. Keep in mind, these are only recommendations, not requirements!\n\n## Recommendations\n\n### Use TypeScript and object styles\n\nYou don't get Intellisense or type checking when using CSS strings, e.g. `` css`color: blue` ``. You can improve the developer experience and prevent style bugs by using TypeScript and object styles, which enable Intellisense and _some_ static type checking:\n\n```tsx\nconst myCss = css({\n  color: 'blue',\n  grid: 1 // Error: Type 'number' is not assignable to type 'Grid | Grid[] | undefined'\n})\n```\n\n### Colocate styles with components\n\nWith normal CSS, the styles for a component are defined in a separate file. This makes maintenance more difficult because it's harder to tell which components use a given piece of CSS, and you can easily forget to update the relevant CSS after modifying a component. One of the main benefits of Emotion is that you can [colocate](https://kentcdodds.com/blog/colocation) your styles with your components. All this means is that the CSS for a component should be in the same file as the component itself.\n\n### Consider how you will share styles\n\nThere are two main approaches for sharing styles across an Emotion application.\n\nTo illustrate the two methods, let's imagine we're developing an application that needs to display error messages in many different components. All of the error messages should be red and bold. Some error messages should also use a large font.\n\n#### Method 1: Export CSS objects\n\nThe simplest way to share styles is to export CSS from a shared file and then import that CSS in many places:\n\n```tsx\nexport const errorCss = css({\n  color: 'red',\n  fontWeight: 'bold'\n})\n\n// Use arrays to compose styles\nexport const largeErrorCss = css([errorCss, { fontSize: '1.5rem' }])\n```\n\nThen, in one of your components:\n\n```tsx\nimport { errorCss } from '...'\n\nreturn <p css={errorCss}>Failed to fizzle the frozzle.</p>\n```\n\nThis method is great when you only want to share CSS between components. A potential drawback of this method is that shared styles are not colocated with the components that use them.\n\n#### Method 2: Share styles via component reuse\n\nThis method is slightly more complex but arguably more powerful than the previous method.\n\n```tsx\nexport function ErrorMessage({ className, children }) {\n  return (\n    <p css={{ color: 'red', fontWeight: 'bold' }} className={className}>\n      {children}\n    </p>\n  )\n}\n\n// `fontSize: '1.5rem'` is passed down to the ErrorMessage component via the\n// className prop, so ErrorMessage must accept a className prop for this to\n// work!\nexport function LargeErrorMessage({ className, children }) {\n  return (\n    <ErrorMessage css={{ fontSize: '1.5rem' }} className={className}>\n      {children}\n    </ErrorMessage>\n  )\n}\n```\n\nThen, in one of your components:\n\n```tsx\nimport { ErrorMessage } from '...'\n\nreturn <ErrorMessage>Failed to fizzle the frozzle.</ErrorMessage>\n```\n\nAdvantages of sharing styles via component reuse include:\n\n- Component reuse allows you to share both logic and styles. You can easily add additional props and functionality to the `ErrorMessage` component with limited refactoring.\n- Styles are always colocated with their components.\n\n### Use the `style` prop for dynamic styles\n\nThe css prop or `styled` should be used for static styles, while the `style` prop (inline styles) should be used for truly dynamic styles. By dynamic styles, we mean styles that change frequently or are unique to a single element.\n\nImagine you are displaying a list of user avatars in a forum application. Every avatar shares certain static CSS, like `width: 40px` and `border-radius: 50%`, but the avatar image is set via a `background-image` rule whose value is different for each avatar. If you pass all of this CSS through the CSS prop, you'll end up with a lot of nearly-duplicate CSS in the document. With 3 avatars, Emotion will create something like:\n\n```html\n<style>\n  .css-1udhswa {\n    border-radius: 50%;\n    width: 40px;\n    height: 40px;\n    background-image: url(https://i.pravatar.cc/150?u=0);\n  }\n\n  .css-1cpwmbr {\n    border-radius: 50%;\n    width: 40px;\n    height: 40px;\n    background-image: url(https://i.pravatar.cc/150?u=1);\n  }\n\n  .css-am987o {\n    border-radius: 50%;\n    width: 40px;\n    height: 40px;\n    background-image: url(https://i.pravatar.cc/150?u=2);\n  }\n</style>\n```\n\nNow imagine how much CSS there would be if there were 100 avatars on the page!\n\nYou should also use the `style` prop if the styles will be updated frequently. If your application lets a user drag and drop an element, you likely have a `transform` property like\n\n```ts\n{\n  transform: `translate(${x}px, ${y}px)`\n}\n```\n\nThis property should go through the `style` prop since `x` and `y` will change rapidly as the element is dragged.\n\n#### Advanced: CSS variables with `style`\n\nCSS variables can be used with the `style` prop to keep the CSS in a single place while \"deferring\" the actual value of a property. Going back to the avatar example above, you could define the following static CSS using the css prop:\n\n```css\n.avatar {\n  border-radius: 50%;\n  width: 40px;\n  height: 40px;\n  background-image: var(--background-image);\n}\n```\n\nThen, for each avatar, you render an element which sets the value of the `--background-image` CSS variable:\n\n```tsx\nfunction Avatar({ imageUrl }) {\n  return <div className=\"avatar\" style={{ '--background-image': imageUrl }} />\n}\n```\n\nIf you're using TypeScript, you'll have to use a type assertion like `style={{ ['--background-image' as any]: imageUrl }}` as explained [here](https://stackoverflow.com/a/52013197/752601).\n\n### If using React, prefer `@emotion/react` or `@emotion/styled` over `@emotion/css`\n\n`@emotion/react` and `@emotion/styled` generally offer a better developer experience over class names (`@emotion/css`) when using React.\n\n### Use the css prop or `@emotion/styled`, but not both\n\nWhile the css prop and `styled` can peacefully coexist, it's better to pick one approach and use it consistently across your codebase. Whether you choose the css prop or `styled` is a matter of personal preference. (If you're curious, the css prop is more popular among the maintainers of Emotion.)\n\n### Consider defining styles outside your components\n\nFor example:\n\n```tsx\nimport { css } from '@emotion/react'\n\nconst cardCss = {\n  self: css({\n    backgroundColor: 'white',\n    border: '1px solid #eee',\n    borderRadius: '0.5rem',\n    padding: '1rem'\n  }),\n\n  title: css({\n    fontSize: '1.25rem'\n  })\n}\n\nexport function Card({ title, children }) {\n  return (\n    <div css={cardCss.self}>\n      <h5 css={cardCss.title}>{title}</h5>\n      {children}\n    </div>\n  )\n}\n```\n\nBenefits of this approach:\n\n- Styles are only serialized once, instead of on every render.\n- It's no longer possible to accidentally pass dynamic styles through the css prop.\n- The JSX is arguably more readable with the CSS separated out into a different part of the file.\n\n### Define colors and other style constants as JavaScript variables\n\nDon't repeat yourself! If you are using a color, padding, border radius, .etc throughout your application, add it to your theme or define it as a JavaScript constant, like\n\n```ts\nexport const colors = {\n  primary: '#0d6efd',\n  success: '#198754',\n  danger: '#dc3545'\n}\n```\n\n### Don't use a theme unless your app supports multiple themes (or will eventually support multiple themes)\n\nEmotion allows you to define a [theme](/docs/theming.mdx) which you can use in style rules across your application. This feature is awesome if your app has multiple themes, like light mode and dark mode.\n\nOn the other hand, if your app will only ever have a single theme, it's simpler to define colors and other style variables as JavaScript constants.\n\n## Additional Reading\n\n- [Colocation](https://kentcdodds.com/blog/colocation) by Kent C. Dodds\n- [Change how you write your CSS-in-JS for better performance](https://douges.dev/blog/taming-the-beast-that-is-css-in-js) by Michael Dougall\n"
  },
  {
    "path": "docs/cache-provider.mdx",
    "content": "---\ntitle: 'CacheProvider'\n---\n\nIt can be useful to customize emotion's options - i.e. to add custom Stylis plugins, customize prefix of inserted class names, render style tags into specific element and more. You can look up full list of options [here](/packages/cache#options).\n\n```jsx\n// @live\nimport { CacheProvider, css } from '@emotion/react'\nimport createCache from '@emotion/cache'\nimport { prefixer } from 'stylis'\n\nconst customPlugin = () => {}\n\nconst myCache = createCache({\n  key: 'my-prefix-key',\n  stylisPlugins: [\n    customPlugin,\n    // has to be included manually when customizing `stylisPlugins` if you want\n    // to have vendor prefixes added automatically\n    prefixer\n  ]\n})\n\nrender(\n  <CacheProvider value={myCache}>\n    <div\n      css={css`\n        display: flex;\n      `}\n    >\n      <div\n        css={css`\n          flex: 1;\n          transform: scale(1.1);\n          color: hotpink;\n        `}\n      >\n        Some text\n      </div>\n    </div>\n  </CacheProvider>\n)\n```\n"
  },
  {
    "path": "docs/class-names.mdx",
    "content": "---\ntitle: 'Class Names'\n---\n\nIt can be useful to create a className that is not passed to a component, for example if a component accepts a `wrapperClassName` prop or similar. To do this, Emotion exposes a render prop component which you can pass a function which accepts `css` and `cx`. If you have used versions of Emotion prior to Emotion 10 or used vanilla Emotion, the `css` and `cx` functions work exactly like they do in those versions.\n\n```jsx\n// @live\nimport { ClassNames } from '@emotion/react'\n\n// this might be a component from npm that accepts a wrapperClassName prop\nlet SomeComponent = props => (\n  <div className={props.wrapperClassName}>\n    in the wrapper!\n    <div className={props.className}>{props.children}</div>\n  </div>\n)\n\nrender(\n  <ClassNames>\n    {({ css, cx }) => (\n      <SomeComponent\n        wrapperClassName={css({ color: 'green' })}\n        className={css`\n          color: hotpink;\n        `}\n      >\n        from children!!\n      </SomeComponent>\n    )}\n  </ClassNames>\n)\n```\n"
  },
  {
    "path": "docs/community.mdx",
    "content": "---\ntitle: 'Community'\n---\n\n> A curated list of awesome stuff related to Emotion.\n\n## Contents\n\n- [Libraries](#libraries)\n- [Component Libraries](#component-libraries)\n- [Examples In the Wild](#examples-in-the-wild)\n\n## Libraries\n\n- [facepaint](https://github.com/emotion-js/facepaint) - Responsive style values for css-in-js\n- [ember-emotion](https://github.com/alexlafroscia/ember-emotion) - Use emotion in Ember.js\n- [vue-emotion](https://github.com/egoist/vue-emotion) - Use emotion in Vue.js\n- [CSS to emotion transform](https://transform.now.sh/css-to-emotion/)\n- [ShevyJS](https://github.com/kyleshevlin/shevyjs) - Configurable Vertical Rhythm & Typography in CSS-in-JS\n- [design-system-utils](https://github.com/mrmartineau/design-system-utils) - Utilities to give better access to your design system.\n- [styled-map](https://github.com/scf4/styled-map) - Super simple lib to map props to styles\n- [polished](https://github.com/styled-components/polished) - Lightweight set of Sass/Compass-style mixins/helpers for writing styles in JavaScript\n- [styled-conditions](https://github.com/karolisgrinkevicius/styled-conditions) - Ultra-lightweight flag utility to conditionally apply css depending on React props\n- [manipulative](https://github.com/paulshen/manipulative) - React devtool to style emotion components from the browser\n- [emotion-tailwind-preflight](https://github.com/flogy/emotion-tailwind-preflight) - Merge the shiny TailwindCSS base styles into your CSS-in-JS project\n\n## Component Libraries\n\n- [react-select](https://github.com/JedWatson/react-select) ([Website](http://jedwatson.github.io/react-select/))\n- [reactivesearch](https://github.com/appbaseio/reactivesearch) ([Website](https://opensource.appbase.io/reactivesearch/))\n- [circuit-ui](https://github.com/sumup/circuit-ui) ([Storybook](https://sumup.github.io/circuit-ui/))\n- [govuk-react](https://github.com/govuk-react/govuk-react) ([Storybook](https://govuk-react.github.io/govuk-react/))\n- [smooth-ui](https://github.com/smooth-code/smooth-ui) ([Website](https://smooth-ui.smooth-code.com/))\n- [material-ui](https://github.com/mui-org/material-ui) ([Website](https://mui.com/))\n- [mineral-ui](https://mineral-ui.com) ([Website](https://mineral-ui.com))\n- [sancho-ui](https://sancho-ui.com) ([Website](https://sancho-ui.com))\n\n## Examples In the Wild\n\n- [healthline.com](https://www.healthline.com/health/body-aches)\n- [nytimes.com](https://www.nytimes.com)\n- [vault.crucible.gg](http://vault.crucible.gg/)\n- [saldotuc.com](https://saldotuc.com)\n- [gatsbythemes.com](https://gatsbythemes.com/)\n- [blazity.com](https://blazity.com/)\n- [postmates.com](https://postmates.com/)\n- [thedisconnect.co](https://thedisconnect.co/one)\n- [zefenify.com](https://zefenify.com/about.html)\n- [strelkamag.com](https://strelkamag.com/)\n- [rookout.com](https://www.rookout.com)\n- [figma.com](https://www.figma.com/)\n- [designsystems.com](https://www.designsystems.com/)\n"
  },
  {
    "path": "docs/composition.mdx",
    "content": "---\ntitle: 'Composition'\n---\n\nComposition is one of the most powerful and useful patterns in Emotion. You can compose styles together by interpolating value returned from `css` in another style block.\n\n```jsx\n// @live\nimport { css } from '@emotion/react'\n\nconst base = css`\n  color: hotpink;\n`\n\nrender(\n  <div\n    css={css`\n      ${base};\n      background-color: #eee;\n    `}\n  >\n    This is hotpink.\n  </div>\n)\n```\n\nWith regular css, you can compose styles together using multiple class names, but this is very limited because the order that they're defined is the order they'll be applied. This can lead to hacks with `!important` and such to apply the correct styles.\n\nFor example, we have some base styles and a danger style, we want the danger styles to have precedence over the base styles but because `base` is in the stylesheet after `danger` its styles will override the styles defined in `danger`, as per [the cascade rules](https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/Cascade_and_inheritance#the_cascade). In regular CSS, you might do something to make `danger` take precedence over `base` like moving the `danger` class so it's defined later than `base`, or use `!important`, or abandon composition and rewrite the styles each time you need them.\n\n```jsx\n// @live\nrender(\n  <div>\n    <style>\n      {`\n        .danger {\n          color: red;\n        }\n        .base {\n          background-color: lightgray;\n          color: turquoise;\n        }\n      `}\n      >\n    </style>\n    <p className=\"base danger\">What color will this be?</p>\n  </div>\n)\n```\n\nWith Emotion though, you can create styles and combine them.\n\n```jsx\n// @live\nimport { css } from '@emotion/react'\n\nconst danger = css`\n  color: red;\n`\n\nconst base = css`\n  background-color: darkgreen;\n  color: turquoise;\n`\n\nrender(\n  <div>\n    <div css={base}>This will be turquoise</div>\n    <div css={[danger, base]}>\n      This will be also be turquoise since the base styles overwrite the danger\n      styles.\n    </div>\n    <div css={[base, danger]}>This will be red</div>\n  </div>\n)\n```\n\nUsing Emotion's composition, you don't have to think about the order that styles were created because the styles are merged in the order that you use them.\n"
  },
  {
    "path": "docs/css-prop.mdx",
    "content": "---\ntitle: 'The css Prop'\n---\n\nThe primary way to style elements with emotion is the `css` prop. It provides a concise and flexible API to style your components.\n\n## Get Started\n\nThere are 2 ways to get started with the `css` prop.\n\n- [Babel Preset](#babel-preset)\n- [JSX Pragma](#jsx-pragma)\n\nBoth methods result in the same compiled code.\nAfter adding the preset or setting the pragma as a comment, compiled jsx code will use emotion's `jsx` function instead of `React.createElement`.\n\n|        | Input                      | Output                                              |\n| ------ | -------------------------- | --------------------------------------------------- |\n| Before | `<img src=\"avatar.png\" />` | `React.createElement('img', { src: 'avatar.png' })` |\n| After  | `<img src=\"avatar.png\" />` | `jsx('img', { src: 'avatar.png' })`                 |\n\n#### Babel Preset\n\nThis method will **not** work with [Create React App](https://github.com/facebook/create-react-app) or other projects that do not allow custom Babel configurations.\nUse the [JSX Pragma](#jsx-pragma) method instead.\n\n**.babelrc**\n\n```json\n{\n  \"presets\": [\"@emotion/babel-preset-css-prop\"]\n}\n```\n\n> [Full `@emotion/babel-preset-css-prop` documentation](https://emotion.sh/docs/@emotion/babel-preset-css-prop)\n\nIf you are using the compatible React version (`>=16.14.0`) then you can opt into using [the new JSX runtimes](https://reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html) by using such configuration:\n\n**.babelrc**\n\n```json\n{\n  \"presets\": [\n    [\n      \"@babel/preset-react\",\n      { \"runtime\": \"automatic\", \"importSource\": \"@emotion/react\" }\n    ]\n  ],\n  \"plugins\": [\"@emotion/babel-plugin\"]\n}\n```\n\nIn case you want to use the new JSX runtimes with [Next.js](https://nextjs.org/) and you are using their [`next/babel`](https://nextjs.org/docs/advanced-features/customizing-babel-config) preset then the configuration should look like this:\n\n**.babelrc**\n\n```json\n{\n  \"presets\": [\n    [\n      \"next/babel\",\n      {\n        \"preset-react\": {\n          \"runtime\": \"automatic\",\n          \"importSource\": \"@emotion/react\"\n        }\n      }\n    ]\n  ],\n  \"plugins\": [\"@emotion/babel-plugin\"]\n}\n```\n\n#### JSX Pragma\n\nSet the jsx pragma at the top of your source file that uses the `css` prop.\nThis option works best for testing out the `css` prop feature or in projects where the babel configuration is not configurable (create-react-app, codesandbox, etc.).\n\n```js\n/** @jsx jsx */\n```\n\nSimilar to a comment containing linter configuration, this configures the [jsx babel plugin](https://babeljs.io/docs/en/babel-plugin-transform-react-jsx) to use the `jsx` function instead of `React.createElement`.\n\nIf you are using a zero-config tool with automatic detection of which runtime (classic vs. automatic) should be used and you are already using a React version that has [the new JSX runtimes](https://reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html) (hence `runtime: 'automatic'` being configured automatically for you) such as Create React App 4 then `/** @jsx jsx */` pragma might not work and you should use `/** @jsxImportSource @emotion/react */` instead.\n\n> [JSX Pragma Babel Documentation](https://babeljs.io/docs/en/babel-plugin-transform-react-jsx#pragma)\n\n#### Import the `jsx` function from `@emotion/react`\n\n```js\n/** @jsx jsx */\nimport { jsx } from '@emotion/react'\n```\n\nNote that excluding this will cause your css to render as `[Object Object]`.\n\n#### Use the `css` prop\n\nAny component or element that accepts a `className` prop can also use the `css` prop. The styles supplied to the `css` prop are evaluated and the computed class name is applied to the `className` prop.\n\n## Object Styles\n\nThe `css` prop accepts object styles directly and does not require an additional import.\n\n```jsx\n// @live\nrender(\n  <div\n    css={{\n      backgroundColor: 'hotpink',\n      '&:hover': {\n        color: 'lightgreen'\n      }\n    }}\n  >\n    This has a hotpink background.\n  </div>\n)\n```\n\n> [Object Style Documentation](/docs/object-styles.mdx).\n\n## String Styles\n\nTo pass string styles, you must use `css` which is exported by `@emotion/react`, it can be used as a [tagged template literal](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals) like below.\n\n```jsx\n// @live\nimport { css } from '@emotion/react'\n\nconst color = 'darkgreen'\n\nrender(\n  <div\n    css={css`\n      background-color: hotpink;\n      &:hover {\n        color: ${color};\n      }\n    `}\n  >\n    This has a hotpink background.\n  </div>\n)\n```\n\n> Note:\n>\n> **`css` from `@emotion/react` does not return the computed class name string.** The function returns an object containing the computed name and flattened styles. The returned object is understood by emotion at a low level and can be composed with other emotion based styles inside of the `css` prop, other `css` calls, or the `styled` API.\n\nYou can also pass in your css as variables, which allows for composition (read more about this [here](https://emotion.sh/docs/composition)).\n\n## Style Precedence\n\n- Class names containing emotion styles from the `className` prop override `css` prop styles.\n- Class names from sources other than emotion are ignored and appended to the computed emotion class name.\n\nThe precedence order may seem counter-intuitive, but it allows components with styles defined on the `css` prop to be customized via the `className` prop passed from the parent.\n\nThe `P` component in this example has its default styles overridden in the `ArticleText` component.\n\n```jsx\nconst P = props => (\n  <p\n    css={{\n      margin: 0,\n      fontSize: 12,\n      lineHeight: '1.5',\n      fontFamily: 'Sans-Serif',\n      color: 'black'\n    }}\n    {...props} // <- props contains the `className` prop\n  />\n)\n\nconst ArticleText = props => (\n  <P\n    css={{\n      fontSize: 14,\n      fontFamily: 'Georgia, serif',\n      color: 'darkgray'\n    }}\n    {...props} // <- props contains the `className` prop\n  />\n)\n```\n\nThe `ArticleText` component can be customized and the styles composed with its default styles. The result is passed `P` and the process repeats.\n\n```jsx\nconst P = props => (\n  <p\n    css={{\n      margin: 0,\n      fontSize: 12,\n      lineHeight: '1.5',\n      fontFamily: 'sans-serif',\n      color: 'black'\n    }}\n    {...props} // <- props contains the `className` prop\n  />\n)\n\nconst ArticleText = props => (\n  <P\n    css={{\n      fontSize: 14,\n      fontFamily: 'Georgia, serif',\n      color: 'darkgray'\n    }}\n    {...props} // <- props contains the `className` prop\n  />\n)\n\nconst SmallArticleText = props => (\n  <ArticleText\n    css={{\n      fontSize: 10\n    }}\n    {...props} // <- props contains the `className` prop\n  />\n)\n```\n\nThe styles are concatenated together and inserted via `insertRule`.\n\n1. `P` component\n\n```css\n.css-1 {\n  margin: 0;\n  font-size: 12px;\n  line-height: 1.5;\n  font-family: sans-serif;\n  color: black;\n}\n```\n\n2. `ArticleText` component\n\n```css\n.css-2 {\n  font-size: 14px;\n  font-family: Georgia, serif;\n  color: darkgray;\n}\n```\n\n3. `SmallArticleText` component\n\n```css\n.css-3 {\n  font-size: 10px;\n}\n```\n\n4. Result\n\n```diff\n.css-result {\n+ margin: 0;\n- font-size: 12px;\n+ line-height: 1.5;\n- font-family: 'sans-serif';\n- color: black;\n- font-size: 14px;\n+ font-family: Georgia, serif;\n+ color: darkgray;\n+ font-size: 10px;\n}\n```\n\nRelying on the css spec's [\"Order of Appearance\"](https://www.w3.org/TR/css-cascade-3/#cascade-order) rule, property values defined later (green) override those before it (red).\n\n## Gotchas\n\n- If you include the plugin `@babel/plugin-transform-react-inline-elements` in your `.babelrc` your styles will not be applied. The plugin is not compatible with the `css` prop.\n- When using `React.cloneElement` you can't easily add a css prop if the cloned element doesn't already have it. Otherwise `React.cloneElement` works with `jsx`-created elements.\n"
  },
  {
    "path": "docs/docs.yaml",
    "content": "- title: Getting Started\n  items:\n    - introduction\n    - install\n    - css-prop\n    - styled\n    - composition\n    - object-styles\n    - nested\n    - media-queries\n    - globals\n    - package-summary\n\n- title: Advanced\n  items:\n    - best-practices\n    - keyframes\n    - ssr\n    - with-props\n    - theming\n    - labels\n    - class-names\n    - cache-provider\n    - performance\n    - for-library-authors\n    - community # There is code to hide this from the menu since it has its own navbar link\n\n- title: Tooling\n  items:\n    - babel\n    - babel-macros\n    - source-maps\n    - testing\n    - typescript\n    - eslint-plugin-react\n\n# This loads the READMEs instead of files in docs/\n- title: Packages\n  items:\n    - '@emotion/react'\n    - '@emotion/styled'\n    - '@emotion/cache'\n    - '@emotion/css'\n    - '@emotion/babel-plugin'\n    - '@emotion/eslint-plugin'\n    - '@emotion/server'\n    - '@emotion/jest'\n    - '@emotion/native'\n    - '@emotion/primitives'\n    - '@emotion/babel-preset-css-prop'\n\n- title: Posts\n  items:\n    - emotion-11\n    - migrating-to-emotion-10\n"
  },
  {
    "path": "docs/emotion-11.mdx",
    "content": "---\ntitle: 'Emotion 11'\n---\n\nEmotion 11 is a slight evolution over the Emotion 10. It focuses mainly on the developer experience, TS types improvements, switches internals to hooks and to the new version of the parser that we use: [Stylis](https://github.com/thysultan/stylis.js).\n\n## Package renaming\n\nOne of the most significant changes is that most of the user-facing packages have been renamed.\n\nMost of this renaming can be done automatically via a codemod, following these steps:\n\n1. [Install](https://github.com/emotion-js/emotion/tree/main/packages/eslint-plugin#installation) `@emotion/eslint-plugin`\n1. [Add it as a plugin](https://github.com/emotion-js/emotion/tree/main/packages/eslint-plugin#usage) to `.eslintrc`\n1. [Add Emotion 11 codemod rule](https://github.com/emotion-js/emotion/tree/main/packages/eslint-plugin#emotion-11-codemod)\n1. Run `eslint` with the `--fix` flag. For example: `yarn eslint --config .eslintrc --ext .js,.jsx \".\" --fix`\n\nThe full list of renamed packages:\n\n- `@emotion/core` → `@emotion/react`\n- `emotion` → `@emotion/css`\n- `emotion-theming` → moved into ` @emotion/react`\n- `emotion-server` → `@emotion/server`\n- `create-emotion` → `@emotion/css/create-instance`\n- `create-emotion-server` → `@emotion/server/create-instance`\n- `babel-plugin-emotion` → `@emotion/babel-plugin`\n- `eslint-plugin-emotion` → `@emotion/eslint-plugin`\n- `jest-emotion` → `@emotion/jest`\n\n## Hooks\n\nUse hooks internally for improved bundle size and a better tree in React DevTools 🎉.\n\n## TypeScript\n\n### Types overhaul\n\nTypeScript types have been significantly restructured.\n\n- reduce build times when using Emotion, especially in larger projects\n- it's no longer necessary to manually specify generic parameters for your Emotion components in many cases\n- union types as props are better supported and should be inferred properly\n- the `css` function has been restricted to prevent passing invalid types\n- `styled`'s generic parameter has been changed, if you were specifying the `ComponentType` you will need to remove that generic parameter\n- `styled` no longer takes a second `ExtraProps` parameter - instead of that move it to after the `styled` call. So instead of writing `styled<typeof MyComponent, ExtraProps>(MyComponent)({})` you should now be writing `styled(MyComponent)<ExtraProps>({})`\n\nIf you encounter build issues after upgrade, try removing any manually specified generic types and let them be inferred.\n\n### Theme type\n\nIt's now easier to provide a type for `Theme`. Instead of creating custom instances (like before) you can augment the builtin `Theme` interface like this:\n\n```ts\nimport '@emotion/react'\n\ndeclare module '@emotion/react' {\n  export interface Theme {\n    primaryColor: string\n    secondaryColor: string\n  }\n}\n```\n\n### css prop types\n\nThe way in which we provide TypeScript support for the `css` prop has changed. Based on the usage of our JSX factories, we can add support for `css` prop only for components that support `className` prop (as our JSX factory functions take the provided `css` prop, resolve it and pass the generated `className` to the rendered component).\n\nFor the classic runtime this has been implemented using technique described [here](https://www.typescriptlang.org/docs/handbook/jsx.html#factory-functions). What is important - we no longer extend any global interfaces, so people shouldn't bump anymore into type conflicts for the `css` prop when using different libraries with `css` prop support, such as `styled-components`.\n\nFor the automatic runtime this has been implemented by exporting `JSX` namespace from the appropriate entries but this is only supported in **TypeScript 4.1 or higher**.\n\nHowever, if you are stuck with older version of TypeScript or using the classic runtime implicitly by using our `@emotion/babel-preset-css-prop` then it's not possible to leverage `css` prop support being added conditionally based on a type of rendered component. For those cases we have added a special file that can be imported once to add support for the `css` prop globally, for all components. Use it like this:\n\n```ts\n/// <reference types=\"@emotion/react/types/css-prop\" />\n```\n\nIn this particular case we are forced to extend the existing `React.Attributes` interface. Previously we've been extending both `React.DOMAttributes` and `JSX.IntrinsicAttributes`. This change is really minor and shouldn't affect any consuming code.\n\n## Stylis v4\n\nThe parser we use ([Stylis](https://github.com/thysultan/stylis.js)) got upgraded. It fixes some long-standing parsing edge cases while being smaller and faster 🚀\n\nIt has been completely rewritten and comes with some breaking changes. The most notable ones that might affect Emotion users are:\n\n- plugins written for the former Stylis v3 are not compatible with the new version. To learn more on how to write a plugin for Stylis v4 you can check out its [README](https://github.com/thysultan/stylis.js#middleware) and the source code of core plugins.\n- vendor-prefixing was previously customizable using `prefix` option. This was always limited to turning off all of some of the prefixes as all available prefixes were on by default. The `prefix` option is gone and to customize which prefixes are applied you need to fork (copy-paste) the prefixer plugin and adjust it to your needs. While this being somewhat more problematic to setup at first we believe that the vast majority of users were not customizing this anyway. By not including the possibility to customize this through an extra option the final solution is more performant because there is no extra overhead of checking if a particular property should be prefixed or not.\n- the prefixer is now just a plugin which happens to be included in the default `stylisPlugins`. If you plan to use custom `stylisPlugins` and you want to have your styles prefixed automatically you must include prefixer in your custom `stylisPlugins`. You can import `prefixer` from the `stylis` module to do that.\n- `@import` rules are no longer special-cased. The responsibility to put them first has been moved to the author of the styles. They also can't be nested within other rules now. It's only possible to write them at the top level of global styles.\n\n## Emotion's caches\n\nThe `key` option is now required when creating a custom instance of a cache. Please make sure it's unique (and not equal to `'css'`) as it's used for linking styles to your cache. If multiple caches share the same key they might \"fight\" for each other's style elements.\n\nThe new `prepend` option can make Emotion add style tags at the beginning of the specified DOM container instead of the end.\n\n## Other\n\nThere are a lot of less substantial changes than what has been described here, some of them might even be breaking changes but are not relevant to the majority of users. Therefore to learn more about all of the changes please read through the full list of changes contained in the respective changelogs:\n\n[`@emotion/babel-plugin`](https://github.com/emotion-js/emotion/blob/main/packages/babel-plugin/CHANGELOG.md#1100)\n[`@emotion/babel-preset-css-prop`](https://github.com/emotion-js/emotion/blob/main/packages/babel-preset-css-prop/CHANGELOG.md#1100)\n[`@emotion/cache`](https://github.com/emotion-js/emotion/blob/main/packages/cache/CHANGELOG.md#1100)\n[`@emotion/css`](https://github.com/emotion-js/emotion/blob/main/packages/css/CHANGELOG.md#1100)\n[`@emotion/eslint-plugin`](https://github.com/emotion-js/emotion/blob/main/packages/eslint-plugin/CHANGELOG.md#1100)\n[`@emotion/is-prop-valid`](https://github.com/emotion-js/emotion/blob/main/packages/is-prop-valid/CHANGELOG.md#100)\n[`@emotion/jest`](https://github.com/emotion-js/emotion/blob/main/packages/jest/CHANGELOG.md#1100)\n[`@emotion/native`](https://github.com/emotion-js/emotion/blob/main/packages/native/CHANGELOG.md#1100)\n[`@emotion/primitives-core`](https://github.com/emotion-js/emotion/blob/main/packages/primitives-core/CHANGELOG.md#1100)\n[`@emotion/primitives`](https://github.com/emotion-js/emotion/blob/main/packages/primitives/CHANGELOG.md#1100)\n[`@emotion/react`](https://github.com/emotion-js/emotion/blob/main/packages/react/CHANGELOG.md#1100)\n[`@emotion/serialize`](https://github.com/emotion-js/emotion/blob/main/packages/serialize/CHANGELOG.md#100)\n[`@emotion/server`](https://github.com/emotion-js/emotion/blob/main/packages/server/CHANGELOG.md#1100)\n[`@emotion/sheet`](https://github.com/emotion-js/emotion/blob/main/packages/sheet/CHANGELOG.md#100)\n[`@emotion/styled`](https://github.com/emotion-js/emotion/blob/main/packages/styled/CHANGELOG.md#1100)\n[`@emotion/utils`](https://github.com/emotion-js/emotion/blob/main/packages/utils/CHANGELOG.md#100)\n"
  },
  {
    "path": "docs/eslint-plugin-react.mdx",
    "content": "---\ntitle: 'eslint-plugin-react'\n---\n\nThe [`react/no-unknown-property` rule](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-unknown-property.md) from [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) will produce an error if the `css` prop is passed to a DOM element. This violation of the rule can be safely ignored because `@emotion/react` intercepts the `css` prop before it is applied to the DOM element.\n\nThe rule can be configured to ignore the `css` prop like so:\n\n```json\n{\n  \"rules\": {\n    \"react/no-unknown-property\": [\"error\", { \"ignore\": [\"css\"] }]\n  }\n}\n```\n"
  },
  {
    "path": "docs/extract-static.mdx",
    "content": "---\ntitle: 'Extract Static'\n---\n\n# Static Extraction has been removed from Emotion, this page only exists to explain the decision\n\n###### [requires babel plugin](/docs/babel.mdx)\n\n## DEPRECATED\n\nextractStatic is deprecated and will be removed in emotion@10. We recommend disabling extractStatic or using other libraries like [linaria](https://github.com/callstack-io/linaria) or [css-literal-loader](https://github.com/4Catalyzer/css-literal-loader).\n\n### Why is extractStatic being deprecated?\n\nStatic extraction was made for earlier versions of emotion which had a very different architecture to the architecture emotion has today. As emotion has gotten more performant and features such as [composition](/docs/composition.mdx) have been added, static extraction has become less important. Because most of the community is leveraging the composition and `extractStatic` is rarely used, the time spent maintaining `extractStatic` is much higher than the benefits we get from it. Libraries such as [linaria](https://github.com/callstack-io/linaria) and [css-literal-loader](https://github.com/4Catalyzer/css-literal-loader) do static extraction well and the people working on them are focused on this specific problem. As a team, we believe that projects like [prepack](https://github.com/facebook/prepack), when they are ready, will provide a better and more powerful way to pre-compile styles.\n\nThe `extractStatic` option to `babel-plugin-emotion` allows you to extract styles with no interpolations into external css files. **`extractStatic` is not recommended** because it **breaks [composition](/docs/composition.mdx)** and other powerful patterns from libraries like [facepaint](https://github.com/emotion-js/facepaint).\n\n**If you want to use dynamic values you must use css variables.**\n\n```javascript\nconst Button = styled('button')`\n  background-color: var(--bg);\n  padding: 10px;\n`\n<Button style={{ '--bg': props.success ? '#8BC34A' : '#2395f3' }}/>\n```\n\nConfigure babel\n\n```bash\nyarn add --dev babel-plugin-emotion\n```\n\n**.babelrc**\n\n```json\n{\n  \"plugins\": [[\"emotion\", { \"extractStatic\": true }]]\n}\n```\n\nThis js file, `h1.js`\n\n```jsx\nimport styled from 'react-emotion'\n\nconst H1 = styled('h1')`\n  color: #ffd43b;\n`\n```\n\nDuring babel compilation emotion will create `h1.emotion.css` and add `import './h1.emotion.css'` to the top of `h1.js`\n\n```css\n/* h1.emotion.css */\n.css-H1-duiy4a {\n  color: blue;\n}\n```\n\n`h1.js` after babel compilation\n\n```jsx\nimport './h1.emotion.css'\nimport styled from 'react-emotion'\n\nconst H1 = styled('h1', {\n  e: 'css-duiy4a'\n})()\n```\n"
  },
  {
    "path": "docs/for-library-authors.mdx",
    "content": "---\ntitle: 'For Library Authors'\n---\n\n**If you are writing a component library, carefully consider whether your library will depend on Emotion.** A simple alternative is to include a regular CSS file in your package, which your users bring in via a normal `import` statement.\n\nIf you're reading this, you probably know about Emotion's many benefits. **Here are some drawbacks to consider:**\n\n- Consuming applications will have to use the same version of Emotion as the library. There will be issues if, for example, your library depends on Emotion 11 but a user's application depends on Emotion 10.\n- If your package only contains a handful of small components, Emotion may significantly increase your package's bundle size.\n- Emotion may be more error prone than a simple CSS file in certain edge cases. For example, in a previous version of [react-loading-skeleton](https://github.com/dvtng/react-loading-skeleton) which utilized Emotion 10, we received reports of styles not working in production builds, iframes, and the shadow DOM.\n\nIf you do choose to use Emotion in your library, it is best to list the Emotion packages as **peer dependencies** in your `package.json`. This ensures that your library and the consuming application get the same instance of each Emotion package.\n"
  },
  {
    "path": "docs/globals.mdx",
    "content": "---\ntitle: 'Global Styles'\n---\n\nSometimes you might want to insert global css like resets or font faces. You can use the `Global` component to do this. It accepts a `styles` prop which accepts the same values as the `css` prop except it inserts styles globally. Global styles are also removed when the styles change or when the Global component unmounts.\n\n```jsx\n// @live\nimport { Global, css } from '@emotion/react'\n\nrender(\n  <div>\n    <Global\n      styles={css`\n        .some-class {\n          color: hotpink !important;\n        }\n      `}\n    />\n    <Global\n      styles={{\n        '.some-class': {\n          fontSize: 50,\n          textAlign: 'center'\n        }\n      }}\n    />\n    <div className=\"some-class\">This is hotpink now!</div>\n  </div>\n)\n```\n"
  },
  {
    "path": "docs/install.mdx",
    "content": "---\ntitle: 'Install'\n---\n\nThere are lots of ways to use Emotion, if you're using React, the easiest way to get started is to use the [`@emotion/react` package](/packages/react). If you're not using React, you should use [the `@emotion/css` package](#vanilla).\n\n```bash\nyarn add @emotion/react\n```\n\nor if you prefer npm\n\n```bash\nnpm install --save @emotion/react\n```\n\nTo use it, import what you need, for example use [the css prop](/docs/css-prop.mdx) to create class names with styles.\n\n```jsx\n// @live\nimport { css } from '@emotion/react'\n\nconst style = css`\n  color: hotpink;\n`\n\nconst SomeComponent = ({ children }) => (\n  <div css={style}>\n    Some hotpink text.\n    {children}\n  </div>\n)\n\nconst anotherStyle = css({\n  textDecoration: 'underline'\n})\n\nconst AnotherComponent = () => (\n  <div css={anotherStyle}>Some text with an underline.</div>\n)\nrender(\n  <SomeComponent>\n    <AnotherComponent />\n  </SomeComponent>\n)\n```\n\n## With [`styled`](/docs/styled.mdx)\n\n`styled` is a way to create React components that have styles attached to them.\n\n```bash\n# assuming you already have @emotion/react installed\nyarn add @emotion/styled\n```\n\nor if you prefer npm\n\n```bash\nnpm install --save @emotion/styled\n```\n\n```jsx\n// @live\nimport styled from '@emotion/styled'\n\nconst Button = styled.button`\n  color: hotpink;\n`\n\nrender(<Button>This is a hotpink button.</Button>)\n```\n\n## With [`@emotion/babel-plugin`](/packages/babel-plugin)\n\n> Note:\n>\n> If you're using Create React App, you can use the [Babel macro](/docs/babel-macros.mdx)\n\nEmotion has an optional [Babel](https://babeljs.io/) plugin that optimizes styles by compressing and hoisting them and creates a better developer experience with source maps and labels.\n\n```bash\nyarn add --dev @emotion/babel-plugin\n```\n\nor if you prefer npm\n\n```bash\nnpm install --save-dev @emotion/babel-plugin\n```\n\n## .babelrc\n\n_`\"emotion\"` must be the **first plugin** in your babel config `plugins` list._\n\n```json\n{\n  \"plugins\": [\"@emotion\"]\n}\n```\n\nIf you are using Babel's env option emotion must also be first for each environment.\n\n```json\n{\n  \"env\": {\n    \"production\": {\n      \"plugins\": [\"@emotion\", ...otherBabelPlugins]\n    }\n  },\n  \"plugins\": [\"@emotion\"]\n}\n```\n\n## Vanilla\n\nIf you're not using React, you can use vanilla Emotion from the `@emotion/css` package. Most of the documentation here focuses on the React-specific version of Emotion, but most of the concepts in the React-specific version also apply to vanilla Emotion.\n\n```bash\nyarn add @emotion/css\n```\n\n```jsx\nimport { css } from '@emotion/css'\n\nconst app = document.getElementById('root')\nconst myClassName = css`\n  color: hotpink;\n`\napp.classList.add(myClassName)\n```\n"
  },
  {
    "path": "docs/introduction.mdx",
    "content": "---\ntitle: 'Introduction'\n---\n\nEmotion is a library designed for writing css styles with JavaScript. It provides powerful and predictable style composition in addition to a great developer experience with features such as source maps, labels, and testing utilities. Both string and object styles are supported.\n\n---\n\nThere are two primary methods of using Emotion. The first is framework agnostic and the second is for use with React.\n\n### Framework Agnostic\n\n```bash\nnpm i @emotion/css\n```\n\n**[`@emotion/css` documentation](https://emotion.sh/docs/@emotion/css)**\n\nThe [@emotion/css](https://www.npmjs.com/package/@emotion/css) package is framework agnostic and the simplest way to use Emotion.\n\n- Requires no additional setup, babel plugin, or other config changes.\n\n- Has support for auto vendor-prefixing, nested selectors, and media queries.\n\n- You simply prefer to use the `css` function to generate class names and `cx` to compose them.\n\n- Server side rendering requires [additional work to set up](/docs/ssr.mdx#api)\n\n```jsx\n// @live\nimport { css } from '@emotion/css'\n\nconst color = 'white'\n\nrender(\n  <div\n    className={css`\n      padding: 32px;\n      background-color: hotpink;\n      font-size: 24px;\n      border-radius: 4px;\n      &:hover {\n        color: ${color};\n      }\n    `}\n  >\n    Hover to change color.\n  </div>\n)\n```\n\n### React\n\n```bash\nnpm i @emotion/react\n```\n\nThe [@emotion/react](https://www.npmjs.com/package/@emotion/react) package requires React and is recommended for users of that framework if possible.\n\n- Best when using React with a build environment that can be configured.\n\n- `css` prop support\n\n  - Similar to the `style` prop, but also has support for auto vendor-prefixing, nested selectors, and media queries.\n\n  - Allows developers to skip the `styled` API abstraction and style components and elements directly.\n\n  - The `css` prop also accepts a function that is called with your theme as an argument allowing developers easy access to common and customizable values.\n\n  - Reduces boilerplate when composing components and styled with emotion.\n\n- Server side rendering with zero configuration.\n\n- Theming works out of the box.\n\n- ESLint plugins available to ensure proper patterns and configuration are set.\n\n**[`@emotion/react` css prop documentation](/docs/css-prop.mdx)**\n\n```jsx\n// @live\nimport { css } from '@emotion/react'\n\nconst color = 'white'\n\nrender(\n  <div\n    css={css`\n      padding: 32px;\n      background-color: hotpink;\n      font-size: 24px;\n      border-radius: 4px;\n      &:hover {\n        color: ${color};\n      }\n    `}\n  >\n    Hover to change color.\n  </div>\n)\n```\n\n```bash\nnpm i @emotion/styled @emotion/react\n```\n\nThe [@emotion/styled](https://www.npmjs.com/package/@emotion/styled) package is for those who prefer to use the `styled.div` style API for creating components.\n\n**[`@emotion/styled` documentation](/docs/styled.mdx)**\n\n```jsx\n// @live\nimport styled from '@emotion/styled'\n\nconst Button = styled.button`\n  padding: 32px;\n  background-color: hotpink;\n  font-size: 24px;\n  border-radius: 4px;\n  color: black;\n  font-weight: bold;\n  &:hover {\n    color: white;\n  }\n`\n\nrender(<Button>This my button component.</Button>)\n```\n\n### Browser requirements\n\nEmotion supports all popular browsers and Internet Explorer 11.\n\n### Libraries that Inspired Us\n\n- [\"original\" glam](https://github.com/threepointone/glam/tree/e9bca3950f12503246ed7fccad5cf13e5e9c86e3)\n- [glam](https://github.com/threepointone/glam)\n- [glamor](https://github.com/threepointone/glamor)\n- [styled-components](https://www.styled-components.com/)\n- [glamorous](https://glamorous.rocks)\n"
  },
  {
    "path": "docs/keyframes.mdx",
    "content": "---\ntitle: 'Keyframes'\n---\n\nYou can define animations using the `keyframes` helper from `@emotion/react`. `keyframes` takes in a css keyframe definition and returns an object you can use in styles. You can use strings or objects just like `css`.\n\n```jsx\n// @live\nimport { css, keyframes } from '@emotion/react'\n\nconst bounce = keyframes`\n  from, 20%, 53%, 80%, to {\n    transform: translate3d(0,0,0);\n  }\n\n  40%, 43% {\n    transform: translate3d(0, -30px, 0);\n  }\n\n  70% {\n    transform: translate3d(0, -15px, 0);\n  }\n\n  90% {\n    transform: translate3d(0,-4px,0);\n  }\n`\n\nrender(\n  <div\n    css={css`\n      animation: ${bounce} 1s ease infinite;\n    `}\n  >\n    some bouncing text!\n  </div>\n)\n```\n"
  },
  {
    "path": "docs/labels.mdx",
    "content": "---\ntitle: 'Labels'\n---\n\nEmotion adds a CSS property called `label` which is appended to the generated class name to make it more readable. `@emotion/babel-plugin` adds these labels automatically based on the variable name and other information, so they don't need to be manually specified.\n\n```jsx\n// @live\nimport { css } from '@emotion/react'\n\nlet style = css`\n  color: hotpink;\n  label: some-name;\n`\n\nlet anotherStyle = css({\n  color: 'lightgreen',\n  label: 'another-name'\n})\n\nlet ShowClassName = ({ className }) => (\n  <div className={className}>{className}</div>\n)\n\nrender(\n  <div>\n    <ShowClassName css={style} />\n    <ShowClassName css={anotherStyle} />\n  </div>\n)\n```\n\n## Automatic Labeling at Runtime\n\nIf you are not using `@emotion/babel-plugin`, you can still get automatic labels in development by setting the following global flag:\n\n```js\nglobalThis.EMOTION_RUNTIME_AUTO_LABEL = true\n```\n\nThis feature is opt-in because:\n\n- If you use server-side rendering and test your site in Safari, you may get spurious hydration warnings because the label computed on the server does not match the label computed in Safari.\n- This feature may degrade performance if the number of elements using the `css` prop is very large.\n"
  },
  {
    "path": "docs/media-queries.mdx",
    "content": "---\ntitle: 'Media Queries'\n---\n\nUsing media queries in emotion works just like using media queries in regular css except you don't have to specify a selector inside the block, you can put your css directly in the css block.\n\n```jsx\n// @live\nimport { css } from '@emotion/react'\n\nrender(\n  <p\n    css={css`\n      font-size: 30px;\n      @media (min-width: 420px) {\n        font-size: 50px;\n      }\n    `}\n  >\n    Some text!\n  </p>\n)\n```\n\n## Reusable Media Queries\n\nMedia queries can be useful to create responsive apps but repeating them is annoying and can lead to inconsistencies. Instead of rewriting them each time you use them, you can move them into constants and refer to the variable each time you want to use them like this.\n\n```jsx\n// @live\nimport { css } from '@emotion/react'\n\nconst breakpoints = [576, 768, 992, 1200]\n\nconst mq = breakpoints.map(bp => `@media (min-width: ${bp}px)`)\n\nrender(\n  <div>\n    <div\n      css={{\n        color: 'green',\n        [mq[0]]: {\n          color: 'gray'\n        },\n        [mq[1]]: {\n          color: 'hotpink'\n        }\n      }}\n    >\n      Some text!\n    </div>\n    <p\n      css={css`\n        color: green;\n        ${mq[0]} {\n          color: gray;\n        }\n        ${mq[1]} {\n          color: hotpink;\n        }\n      `}\n    >\n      Some other text!\n    </p>\n  </div>\n)\n```\n\n### facepaint\n\nWhile defining media queries in constants is much easier than rewriting media queries each time, they're still quite verbose since you usually want to change the same property at different breakpoints. [facepaint](https://github.com/emotion-js/facepaint) makes this easier by allowing you to define what each css property should be at each media query as an array.\n\n> Note:\n>\n> `facepaint` only works with object styles.\n\n```bash\nyarn add facepaint\n# or if you use npm\nnpm install --save facepaint\n```\n\n```jsx\n// @live\nimport facepaint from 'facepaint'\n\nconst breakpoints = [576, 768, 992, 1200]\n\nconst mq = facepaint(breakpoints.map(bp => `@media (min-width: ${bp}px)`))\n\nrender(\n  <div\n    css={mq({\n      color: ['green', 'gray', 'hotpink']\n    })}\n  >\n    Some text.\n  </div>\n)\n```\n"
  },
  {
    "path": "docs/migrating-to-emotion-10.mdx",
    "content": "---\ntitle: 'Migrating to Emotion 10'\n---\n\nEmotion 10 is a significant change to Emotion, so it requires some changes to your code. Some of the changes can be done automatically via a codemod, and the rest can be done incrementally.\n\n> Note\n>\n> This page only applies if you're using Emotion with React. If you're not using Emotion with React, you don't have to change anything.\n\n> Note\n>\n> Emotion 10 requires `React` 16.3 or greater.\n\n## Thinking\n\nThe most significant change in Emotion 10 is that it doesn't let you easily access the underlying class names. Instead of thinking in class names, you have to think in terms of styles and composing them together (you can still use class names directly if you want to, but you won't get new features like zero-config server rendering).\n\nFor example, in Emotion 9, you might have had two classes from `css` and compose them together with `cx`, but in Emotion 10, you create two styles and compose them together in the `css` prop like this:\n\n```jsx\n// Emotion 9\nimport { css, cx } from 'emotion'\n\nlet basic = css`\n  color: green;\n`\n\nlet important = css`\n  color: hotpink;\n`\n\nconst SomeComponent = props => (\n  <div className={cx(basic, props.important && important)} />\n)\n```\n\n```jsx\n// Emotion 10\n/** @jsx jsx */\nimport { css, jsx } from '@emotion/core'\n\nlet basic = css`\n  color: green;\n`\n\nlet important = css`\n  color: hotpink;\n`\n\nconst SomeComponent = props => (\n  <div css={[basic, props.important && important]} />\n)\n```\n\n## Incremental Migration\n\nIncremental migration is something really important to Emotion because we don't want anyone to have to rewrite their entire app.\n\nThe upgrades to Emotion 10 are split into two parts. The first part can be done automatically by using [`eslint-plugin-emotion`](./eslint-plugin-emotion#emotion-10-codemods).\n\n### Codemoddable\n\n- Change all `react-emotion` imports so that `styled` is imported from `@emotion/styled` and all the `emotion` exports are split into a second import.\n\n```jsx\nimport styled, { css } from 'react-emotion'\n\n// ↓ ↓ ↓ ↓ ↓ ↓\n\nimport styled from '@emotion/styled'\nimport { css } from 'emotion'\n```\n\n- Add a `css` call to the `css` prop when a template literal is used.\n\n```jsx\nlet element = (\n  <div\n    css={`\n      color: hotpink;\n    `}\n  />\n)\n\n// ↓ ↓ ↓ ↓ ↓ ↓\n\nimport { css } from '@emotion/core'\n\nlet element = (\n  <div\n    css={css`\n      color: hotpink;\n    `}\n  />\n)\n```\n\n- Add a `jsx` import and set the jsx pragma at the top of the source file.\n\n```jsx\nimport { css } from '@emotion/core'\n\nlet element = (\n  <div\n    css={css`\n      color: hotpink;\n    `}\n  />\n)\n\n// ↓ ↓ ↓ ↓ ↓ ↓\n\n/** @jsx jsx */\nimport { css, jsx } from '@emotion/core'\n\nlet element = (\n  <div\n    css={css`\n      color: hotpink;\n    `}\n  />\n)\n```\n\n### Manual Steps\n\n- Add compat cache with provider\n\nThis step is necessary if you still use `css`, `keyframes` or `injectGlobal` from `emotion`. Once you remove all the usages of them in your app, you can remove this.\n\n```jsx\nimport { render } from 'react-dom'\nimport App from './App'\nimport { cache } from 'emotion'\nimport { CacheProvider } from '@emotion/core'\n\nrender(\n  <CacheProvider value={cache}>\n    <App />\n  </CacheProvider>,\n  rootNode\n)\n```\n\n### Manual Steps Over Time\n\n- Change `css` usage to `css` prop\n\n```jsx\nimport { css } from 'emotion'\nlet element = (\n  <div\n    className={css`\n      color: hotpink;\n    `}\n  />\n)\n\n// ↓ ↓ ↓ ↓ ↓ ↓\n\n/** @jsx jsx */\nimport { jsx, css } from '@emotion/core'\n\nlet element = (\n  <div\n    css={css`\n      color: hotpink;\n    `}\n  />\n)\n```\n\nIf you have components that accepts props like `wrapperClassName`, etc., you can use the [`ClassNames` component](/docs/class-names.mdx).\n\n```jsx\nimport { css } from 'emotion'\nimport { SomeComponent } from 'somewhere'\nlet element = (\n  <SomeComponent\n    wrapperClassName={css`\n      color: hotpink;\n    `}\n  />\n)\n\n// ↓ ↓ ↓ ↓ ↓ ↓\n\nimport { ClassNames } from '@emotion/core'\nimport { SomeComponent } from 'somewhere'\n\nlet element = (\n  <ClassNames>\n    {({ css }) => (\n      <SomeComponent\n        wrapperClassName={css`\n          color: hotpink;\n        `}\n      />\n    )}\n  </ClassNames>\n)\n```\n\n- Replace `injectGlobal` with `Global` styles\n\n```jsx\nimport { injectGlobal } from 'emotion'\n\ninjectGlobal`\n  * {\n    box-sizing: border-box;\n  }\n`\n\n// ↓ ↓ ↓ ↓ ↓ ↓\n\nimport { Global, css } from '@emotion/core'\n\n;<Global\n  styles={css`\n    * {\n      box-sizing: border-box;\n    }\n  `}\n/>\n```\n"
  },
  {
    "path": "docs/nested.mdx",
    "content": "---\ntitle: 'Nested Selectors'\n---\n\nSometimes it's useful to nest selectors to target elements inside the current class or React component. An example with an element selector is shown below.\n\n```jsx\n// @live\nimport { css } from '@emotion/react'\n\nconst paragraph = css`\n  color: turquoise;\n\n  a {\n    border-bottom: 1px solid currentColor;\n    cursor: pointer;\n  }\n`\nrender(\n  <p css={paragraph}>\n    Some text. <a>A link with a bottom border.</a>\n  </p>\n)\n```\n\nYou can use `&` to select the current class nested in another element:\n\n```jsx\n// @live\nimport { css } from '@emotion/react'\n\nconst paragraph = css`\n  color: turquoise;\n\n  header & {\n    color: green;\n  }\n`\nrender(\n  <div>\n    <header>\n      <p css={paragraph}>This is green since it's inside a header</p>\n    </header>\n    <p css={paragraph}>This is turquoise since it's not inside a header.</p>\n  </div>\n)\n```\n"
  },
  {
    "path": "docs/object-styles.mdx",
    "content": "---\ntitle: 'Object Styles'\n---\n\nWriting styles with objects is a powerful pattern built directly into the core of emotion. Instead of writing css properties in `kebab-case` like regular css, you write them in `camelCase`, for example `background-color` would be `backgroundColor`. Object styles are especially useful with the css prop because you don't need a css call like with string styles but object styles can also be used with styled.\n\n### Examples\n\n#### With the css prop\n\n```jsx\n// @live\nrender(\n  <div\n    css={{\n      color: 'darkorchid',\n      backgroundColor: 'lightgray'\n    }}\n  >\n    This is darkorchid.\n  </div>\n)\n```\n\n#### With `styled`\n\n```jsx\n// @live\nimport styled from '@emotion/styled'\n\nconst Button = styled.button(\n  {\n    color: 'darkorchid'\n  },\n  props => ({\n    fontSize: props.fontSize\n  })\n)\n\nrender(<Button fontSize={16}>This is a darkorchid button.</Button>)\n```\n\n### Child Selectors\n\n```jsx\n// @live\nrender(\n  <div\n    css={{\n      color: 'darkorchid',\n      '& .name': {\n        color: 'orange'\n      }\n    }}\n  >\n    This is darkorchid.\n    <div className=\"name\">This is orange</div>\n  </div>\n)\n```\n\n### Media Queries\n\n```jsx\n// @live\nrender(\n  <div\n    css={{\n      color: 'darkorchid',\n      '@media(min-width: 420px)': {\n        color: 'orange'\n      }\n    }}\n  >\n    This is orange on a big screen and darkorchid on a small screen.\n  </div>\n)\n```\n\n### Numbers\n\nWhen numbers are the value of a css property, `px` is appended to the number unless it is a css property that is unitless.\n\n```jsx\n// @live\nrender(\n  <div\n    css={{\n      padding: 8,\n      zIndex: 200\n    }}\n  >\n    This has 8px of padding and a z-index of 200.\n  </div>\n)\n```\n\n### Arrays\n\nNested arrays are flattened.\n\n```jsx\n// @live\nrender(\n  <div\n    css={[\n      { color: 'darkorchid' },\n      { backgroundColor: 'hotpink' },\n      { padding: 8 }\n    ]}\n  >\n    This is darkorchid with a hotpink background and 8px of padding.\n  </div>\n)\n```\n\n### Fallbacks\n\nDefine fallback values for browsers that don't support features with arrays.\n\n```jsx\n// @live\nrender(\n  <div\n    css={{\n      background: ['red', 'linear-gradient(#e66465, #9198e5)'],\n      height: 100\n    }}\n  >\n    This has a gradient background in browsers that support gradients and is red\n    in browsers that don't support gradients\n  </div>\n)\n```\n\n### With `css`\n\nYou can also use `css` with object styles.\n\n```jsx\n// @live\nimport { css } from '@emotion/react'\n\nconst hotpink = css({\n  color: 'hotpink'\n})\n\nrender(\n  <div>\n    <p css={hotpink}>This is hotpink</p>\n  </div>\n)\n```\n\n### Composition\n\n[Learn more composition in Emotion](/docs/composition.mdx).\n\n```jsx\n// @live\nimport { css } from '@emotion/react'\n\nconst hotpink = css({\n  color: 'hotpink'\n})\n\nconst hotpinkHoverOrFocus = css({\n  '&:hover,&:focus': hotpink\n})\n\nconst hotpinkWithBlackBackground = css(\n  {\n    backgroundColor: 'black',\n    color: 'green'\n  },\n  hotpink\n)\n\nrender(\n  <div>\n    <p css={hotpink}>This is hotpink</p>\n    <button css={hotpinkHoverOrFocus}>This is hotpink on hover or focus</button>\n    <p css={hotpinkWithBlackBackground}>\n      This has a black background and is hotpink. Try moving where hotpink is in\n      the css call and see if the color changes.\n    </p>\n  </div>\n)\n```\n"
  },
  {
    "path": "docs/package-summary.mdx",
    "content": "---\ntitle: \"Package Summaries\"\n---\n\nBelow is a list of most of Emotion's packages and a summary of what it's for and how it relates to other Emotion packages.\n\n## @emotion/react\n\nContains the react-specific version of Emotion. use this if you’re using React. Has different functionality and APIs from @emotion/css and doesn’t work the same way under the hood.\nDepends on @emotion/cache\n\n## @emotion/styled\n\nContains the styled API, uses @emotion/react under the hood and wraps it with a different API.\nDepends on @emotion/react\n\n## @emotion/css\n\nContains a framework agnostic version of Emotion. Has different functionality and APIs from @emotion/react and doesn’t work the same way under the hood.\nDepends on @emotion/cache which can be customized by creating a custom instance at @emotion/css/create-instance\n\n## @emotion/cache\n\nA cache used by both of the main Emotion APIs. Can be used to provide a custom cache in @emotion/react with its CacheProvider. To customize the equivalent options for @emotion/css, @emotion/css/create-instance can create another instance of @emotion/css and it accepts\nDepended upon by @emotion/react and @emotion/css\n\n## @emotion/babel-plugin\n\nA Babel plugin to optimise for @emotion/css, @emotion/react and @emotion/styled\n\n## @emotion/eslint-plugin\n\nESLint rules for @emotion/css, @emotion/react and @emotion/styled\n\n## @emotion/server\n\nContains APIs for server rendering with @emotion/css. Can also work with @emotion/react if emotion’s cache is passed to @emotion/react’s CacheProvider\nHas an optional peer dependency on @emotion/css for when @emotion/server is used directly but it’s an optional so that @emotion/server/create-instance can be used with any cache created by @emotion/cache\n\n## @emotion/jest\n\nContains a Jest snapshot serializer and matchers for use with all Emotion packages\nDepends on the behaviour of @emotion/cache so it therefore works with @emotion/react and @emotion/css\n\n## @emotion/native\n\nContains the styled API for React Native along with a css function similar to the ones from @emotion/css and @emotion/react except that it returns a React Native style object\n\n## @emotion/primitives\n\nContains the styled API for React Primitives along with a css function similar to the ones from @emotion/css and @emotion/react except that it returns a React Native style object.\n\n## @emotion/babel-preset-css-prop\n\nA Babel preset to allow usage of the css prop everywhere without importing it\nUses @emotion/react and @emotion/babel-plugin\n"
  },
  {
    "path": "docs/performance.mdx",
    "content": "---\ntitle: 'Performance'\n---\n\nEmotion is a highly performant library and will not be a performance bottleneck in most applications. That said, if you are experiencing poor performance, the tips on this page can help. As always, remember the golden rule of programming: premature optimization is the root of all evil!\n\n**The first step in improving your app's performance is to profile it using the React DevTools.** Use the profiler results to determine whether the slowdown is caused by Emotion or something else.\n\n**If Emotion-related code is indeed slowing down your app, here are some optimizations you can attempt:**\n\n- Reduce the frequency at which your components render using `React.memo` and other standard optimization techniques.\n- Reduce the number of component instances that use Emotion. For example: suppose you need to render 10,000 instances of a component that uses the css prop. Emotion has to do a small amount of work for each of the 10,000 component instances. A more performant approach is to use the css prop on a single parent element, using a CSS selector to target each of the 10,000 elements with the same piece of CSS:\n\n  ```tsx\n  render(\n    <div\n      css={{\n        '.my-component': { color: 'red' }\n      }}\n    >\n      {/* render the 10,000 instances of MyComponent here */}\n    </div>\n  )\n  ```\n\n- Use the css prop for static styles and the `style` prop for dynamic styles. The [Best Practices page](/docs/best-practices#use-the-style-prop-for-dynamic-styles) has more details on this.\n- Call `css` on your object style or CSS string **outside** your component so that the styles are only serialized once instead of on every render. The [Best Practices page](/docs/best-practices#consider-defining-styles-outside-your-components) has an example of this.\n- Use [@emotion/babel-plugin](/docs/babel.mdx), which peforms some compile-time optimizations to the css prop.\n"
  },
  {
    "path": "docs/source-maps.mdx",
    "content": "---\ntitle: 'Source Maps'\n---\n\n> Note:\n>\n> `@emotion/babel-plugin` is required for source maps\n\nEmotion supports source maps for styles authored in JavaScript.\n\n![Source map demo](https://user-images.githubusercontent.com/662750/30778580-78fbeae4-a096-11e7-82e1-120b6984e875.gif)\n\nRequired For Source Maps:\n\n1. `@emotion/babel-plugin` must be in your Babel setup. [[documentation]](/docs/install.mdx)\n2. `process.env.NODE_ENV` must be any value except `\"production\"`\n\n> Note:\n>\n> Source maps are on by default in @emotion/babel-plugin but they will be removed in production builds\n"
  },
  {
    "path": "docs/ssr.mdx",
    "content": "---\ntitle: 'Server Side Rendering'\n---\n\nServer side rendering in Emotion 10 has two approaches, each with their own trade-offs. The default approach works with streaming and requires no additional configuration, but does not work with nth child or similar selectors. It's strongly recommended that you use the default approach unless you need nth child or similar selectors.\n\n## Default Approach\n\nServer side rendering works out of the box in Emotion 10 and above if you're only using `@emotion/react` and `@emotion/styled`. This means you can call React's [`renderToString`](https://reactjs.org/docs/react-dom-server.html#rendertostring) or [`renderToNodeStream`](https://reactjs.org/docs/react-dom-server.html#rendertonodestream) methods directly without any extra configuration.\n\n```jsx\nimport { renderToString } from 'react-dom/server'\nimport App from './App'\n\nlet html = renderToString(<App />)\n```\n\nThe rendered output will insert a `<style>` tag above each element with styles for example\n\n```jsx\nconst MyDiv = styled('div')({ fontSize: 12 })\n<MyDiv>Text</MyDiv>\n// Will render as\n<style data-emotion-css=\"21cs4\">.css-21cs4 { font-size: 12 }</style>\n<div class=\"css-21cs4\">Text</div>\n```\n\n> Warning: This approach can interfere with nth child and similar selectors as it inserts style tags directly into your markup. You will get a warning if you use such selectors when using this approach.\n\n## Advanced Approach\n\n> Note: If you're not using nth child or similar selectors, you don't need to do this. Use the default approach.\n\nYou can also use the advanced integration, it requires more work but does not have limitations on nth child and similar selectors. This approach does not work with the streaming APIs.\n\n### On server\n\n#### When using `@emotion/react`\n\n```jsx\nimport { CacheProvider } from '@emotion/react'\nimport { renderToString } from 'react-dom/server'\nimport createEmotionServer from '@emotion/server/create-instance'\nimport createCache from '@emotion/cache'\n\nconst key = 'custom'\nconst cache = createCache({ key })\nconst { extractCriticalToChunks, constructStyleTagsFromChunks } = createEmotionServer(cache)\n\nconst html = renderToString(\n  <CacheProvider value={cache}>\n    <App />\n  </CacheProvider>\n)\n\nconst chunks = extractCriticalToChunks(html)\nconst styles = constructStyleTagsFromChunks(chunks)\n\nres\n  .status(200)\n  .header('Content-Type', 'text/html')\n  .send(`<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"ie=edge\">\n    <title>My site</title>\n    ${styles}\n</head>\n<body>\n    <div id=\"root\">${html}</div>\n\n    <script src=\"./bundle.js\"></script>\n</body>\n</html>`);\n```\n\n#### When using `@emotion/css`\n\n```jsx\nimport { CacheProvider } from '@emotion/react'\nimport { renderToString } from 'react-dom/server'\nimport createEmotionServer from '@emotion/server/create-instance'\nimport createCache from '@emotion/cache'\n\nconst key = 'custom'\nconst cache = createCache({ key })\nconst { extractCritical } = createEmotionServer(cache)\n\nlet element = (\n  <CacheProvider value={cache}>\n    <App />\n  </CacheProvider>\n)\n\nlet { html, css, ids } = extractCritical(renderToString(element))\n\nres\n  .status(200)\n  .header('Content-Type', 'text/html')\n  .send(`<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"ie=edge\">\n    <title>My site</title>\n    <style data-emotion=\"${key} ${ids.join(' ')}\">${css}</style>\n</head>\n<body>\n    <div id=\"root\">${html}</div>\n\n    <script src=\"./bundle.js\"></script>\n</body>\n</html>`);\n```\n\n### On client\n\n```jsx\n// Hydration of the ids in `data-emotion-css` will automatically occur when the cache is created\nconst cache = createCache()\nReactDOM.hydrate(\n  <CacheProvider value={cache}>\n    <App />\n  </CacheProvider>,\n  document.getElementById('root')\n)\n```\n\n\n\nIn this approach you have to create your own cache and emotion server then use extractCritical\n\n## API Reference\n\n### renderStylesToString\n\nThis returns a string of html that inlines the critical css required right before it's used.\n\n```jsx\nimport { renderToString } from 'react-dom/server'\nimport { renderStylesToString } from '@emotion/server'\nimport App from './App'\n\nconst html = renderStylesToString(renderToString(<App />))\n```\n\n### renderStylesToNodeStream\n\nThis returns a [Node Stream Writable](https://nodejs.org/api/stream.html#stream_class_stream_writable) that can be used to insert critical css right before it's required. This can be used with [React's streaming API](https://reactjs.org/docs/react-dom-server.html#rendertonodestream).\n\n```jsx\nimport { renderToNodeStream } from 'react-dom/server'\nimport { renderStylesToNodeStream } from '@emotion/server'\nimport App from './App'\n\nconst stream = renderToNodeStream(<App />).pipe(renderStylesToNodeStream())\n```\n\n### extractCritical\n\nThis returns an object with the properties `html`, `ids` and `css`. It pulls out Emotion rules that are actually used in the rendered HTML, but it still includes all global rules because they don't appear in the rendered HTML as they might affect any elements on the page.\n\n> Note:\n>\n> If you have dynamic global styles it's advised to create cache **per** single render to avoid global styles from different renders leaking into the extracted `css`.\n\n\n```jsx\nimport { renderToString } from 'react-dom/server'\nimport { extractCritical } from '@emotion/server'\nimport App from './App'\n\nconst { html, ids, css } = extractCritical(renderToString(<App />))\n```\n\n#### hydrate\n\n`hydrate` should be called on the client with the `ids` that `extractCritical` returns. If you don't call it then Emotion will reinsert all the rules. `hydrate` is **only** required for `extractCritical`, **not** for `renderStylesToString` or `renderStylesToNodeStream`, hydration occurs automatically with `renderStylesToString` and `renderStylesToNodeStream`.\n\n```jsx\nimport { hydrate } from '@emotion/css'\n\nhydrate(ids)\n```\n\n## Next.js\n\nTo use emotion's SSR with Next.js you need a custom `Document` component in `pages/_document.js` that renders the styles and inserts them into the `<head>`. [An example of Next.js with emotion can be found in the Next.js repo](https://github.com/vercel/next.js/tree/master/examples/with-emotion-vanilla).\n\n> Note:\n>\n> This only applies if you're using vanilla Emotion or a version of Emotion prior to v10. For v10 and above, SSR just works in Next.js.\n\n## Gatsby\n\nTo use emotion's SSR with Gatsby, you can use `gatsby-plugin-emotion` or you can do it yourself with emotion and Gatsby's various APIs but it's generally recommended to use `gatsby-plugin-emotion`. [There's an example available in the Gatsby repo](https://github.com/gatsbyjs/gatsby/tree/master/examples/using-emotion) or [you can look at this site which is built with Gatsby!](https://github.com/emotion-js/emotion/tree/main/site)\n\n```bash\nyarn add gatsby-plugin-emotion\n```\n\ngatsby-config.js\n\n```jsx\nmodule.exports = {\n  plugins: [...otherGatsbyPlugins, 'gatsby-plugin-emotion']\n}\n```\n\nIf using a [custom cache](./cache-provider), ensure you are creating a new cache per server render within `gatsby-ssr.js`. This will differ from the implementation within `gatsby-browser.js`.\n\ncreate-emotion-cache.js\n\n```jsx\nimport createCache from '@emotion/cache'\n\nexport const createMyCache = () =>\n  createCache({\n    key: 'my-prefix-key',\n    stylisPlugins: [\n      /* your plugins here */\n    ],\n  })\n\nexport const myCache = createMyCache()\n```\n\ngatsby-ssr.js\n\n```jsx\nimport { CacheProvider } from '@emotion/react'\n\nimport { createMyCache } from './create-emotion-cache'\n\nexport const wrapRootElement = ({ element }) => (\n  <CacheProvider value={createMyCache()}>{element}</CacheProvider>\n)\n```\n\ngatsby-browser.js\n\n```jsx\nimport { CacheProvider } from '@emotion/react'\n\nimport { myCache } from './create-emotion-cache'\n\nexport const wrapRootElement = ({ element }) => (\n  <CacheProvider value={myCache}>{element}</CacheProvider>\n)\n```\n\n> Note:\n>\n> While Emotion 10 and above supports SSR out of the box, it's still recommended to use gatsby-plugin-emotion as gatsby-plugin-emotion will enable @emotion/babel-plugin and other potential future optimisations.\n\n## Puppeteer\n\nIf you are using Puppeteer to prerender your application, emotion's `speedy` option has to be disabled so that the CSS is rendered into the DOM.\n\nindex.js\n\n```jsx\n// This has to be run before emotion inserts any styles so it's imported before the App component\nimport './disable-speedy'\nimport ReactDOM from 'react-dom'\nimport App from './App'\n\nconst root = document.getElementById('root')\n\n// Check if the root node has any children to detect if the app has been prerendered\nif (root.hasChildNodes()) {\n  ReactDOM.hydrate(<App />, root)\n} else {\n  ReactDOM.render(<App />, root)\n}\n```\n\ndisable-speedy.js\n\n```js\nimport { sheet } from '@emotion/css'\n\n// Check if the root node has any children to detect if the app has been preprendered\n// speedy is disabled when the app is being prerendered so that styles render into the DOM\n// speedy is significantly faster though so it should only be disabled during prerendering\nif (!document.getElementById('root').hasChildNodes()) {\n  sheet.speedy(false)\n}\n```\n\n> Note:\n>\n> The `sheet.speedy` call has to be run before anything that inserts styles so it has to be put into it's own file that's imported before anything else.\n"
  },
  {
    "path": "docs/styled.mdx",
    "content": "---\ntitle: 'Styled Components'\n---\n\n`styled` is a way to create React components that have styles attached to them. It's available from [@emotion/styled](/packages/styled). `styled` was heavily inspired by [styled-components](https://www.styled-components.com/) and [glamorous](https://glamorous.rocks/).\n\n### Styling elements and components\n\n`styled` is very similar to `css` except you call it with an html tag or React component and then call that with a template literal for string styles or a regular function call for object styles.\n\n```jsx\n// @live\nimport styled from '@emotion/styled'\n\nconst Button = styled.button`\n  color: turquoise;\n`\n\nrender(<Button>This my button component.</Button>)\n```\n\n### Changing based on props\n\nAny interpolations or arguments that are functions in `styled` are called with `props`, this allows you to change the styles of a component based on the props.\n\n```jsx\n// @live\nimport styled from '@emotion/styled'\n\nconst Button = styled.button`\n  color: ${props => (props.primary ? 'hotpink' : 'turquoise')};\n`\n\nconst Container = styled.div(props => ({\n  display: 'flex',\n  flexDirection: props.column && 'column'\n}))\n\nrender(\n  <Container column>\n    <Button>This is a regular button.</Button>\n    <Button primary>This is a primary button.</Button>\n  </Container>\n)\n```\n\n### Styling any component\n\n`styled` can style any component as long as it accepts a `className` prop.\n\n```jsx\n// @live\nimport styled from '@emotion/styled'\n\nconst Basic = ({ className }) => <div className={className}>Some text</div>\n\nconst Fancy = styled(Basic)`\n  color: hotpink;\n`\n\nrender(<Fancy />)\n```\n\n### Change the rendered tag using `withComponent`\n\nSometimes you want to create some styles with one component but then use those styles again with another component, the `withComponent` method can be used for this. This was inspired by [styled-components' `withComponent`](https://www.styled-components.com/docs/api#withcomponent).\n\n```jsx\n// @live\nimport styled from '@emotion/styled'\n\nconst Section = styled.section`\n  background: #333;\n  color: #fff;\n`\n\n// this component has the same styles as Section but it renders an aside\nconst Aside = Section.withComponent('aside')\n\nrender(\n  <div>\n    <Section>This is a section</Section>\n    <Aside>This is an aside</Aside>\n  </div>\n)\n```\n\n### Targeting another emotion component\n\nSimilar to [styled-components](https://www.styled-components.com/docs/faqs#can-i-refer-to-other-components), emotion allows for emotion components to be targeted like regular CSS selectors when using [@emotion/babel-plugin](/packages/babel-plugin).\n\n```jsx\n// @live\nimport styled from '@emotion/styled'\n\nconst Child = styled.div`\n  color: red;\n`\n\nconst Parent = styled.div`\n  ${Child} {\n    color: green;\n  }\n`\n\nrender(\n  <div>\n    <Parent>\n      <Child>Green because I am inside a Parent</Child>\n    </Parent>\n    <Child>Red because I am not inside a Parent</Child>\n  </div>\n)\n```\n\nComponent selectors can also be used with object styles.\n\n```jsx\n// @live\nimport styled from '@emotion/styled'\n\nconst Child = styled.div({\n  color: 'red'\n})\n\nconst Parent = styled.div({\n  [Child]: {\n    color: 'green'\n  }\n})\n\nrender(\n  <div>\n    <Parent>\n      <Child>green</Child>\n    </Parent>\n    <Child>red</Child>\n  </div>\n)\n```\n\n### Object styles\n\n```jsx\n// @live\nimport styled from '@emotion/styled'\n\nconst H1 = styled.h1(\n  {\n    fontSize: 20\n  },\n  props => ({ color: props.color })\n)\n\nrender(<H1 color=\"lightgreen\">This is lightgreen.</H1>)\n```\n\nThis API was inspired by [glamorous](https://github.com/paypal/glamorous). ❤️\n\n### Customizing prop forwarding\n\nBy default, Emotion passes all props (except for `theme`) to custom components and only props that are valid html attributes for string tags. You can customize this by passing a custom `shouldForwardProp` function. You can also use `@emotion/is-prop-valid` (which is used by emotion internally) to filter out props that are not valid as html attributes.\n\n```jsx\n// @live\nimport isPropValid from '@emotion/is-prop-valid'\nimport styled from '@emotion/styled'\n\nconst H1 = styled('h1', {\n  shouldForwardProp: prop => isPropValid(prop) && prop !== 'color'\n})(props => ({\n  color: props.color\n}))\n\nrender(<H1 color=\"lightgreen\">This is lightgreen.</H1>)\n```\n\n### Composing dynamic styles\n\nYou can create dynamic styles that are based on props and use them in styles.\n\n```jsx\n// @live\nimport styled from '@emotion/styled'\nimport { css } from '@emotion/react'\n\nconst dynamicStyle = props =>\n  css`\n    color: ${props.color};\n  `\n\nconst Container = styled.div`\n  ${dynamicStyle};\n`\nrender(<Container color=\"lightgreen\">This is lightgreen.</Container>)\n```\n\n### `as` prop\n\nTo use styles from a styled component but change the element that's rendered, you can use the `as` prop.\n\n```jsx\n// @live\nimport styled from '@emotion/styled'\n\nconst Button = styled.button`\n  color: hotpink;\n`\n\nrender(\n  <Button as=\"a\" href=\"https://github.com/emotion-js/emotion\">\n    Emotion on GitHub\n  </Button>\n)\n```\n\nThis API was inspired by [styled-components](https://www.styled-components.com). ❤️\n\nThe `as` prop is only used by styled when it's not forwarded to the underlying element. By default, this means that the `as` prop is used for html tags and forwarded for components. To change this, you can pass a custom [`shouldForwardProp`](#customizing-prop-forwarding) which returns `true` for `'as'` to forward it or returns `false` for `'as'` to use it and not forward it.\n\n### Nesting components\n\nWe can nest selectors using `&`:\n\n```jsx\n// @live\n\nimport styled from '@emotion/styled'\n\nconst Example = styled('span')`\n  color: lightgreen;\n\n  & > strong {\n    color: hotpink;\n  }\n`\n\nrender(\n  <Example>\n    This is <strong>nested</strong>.\n  </Example>\n)\n```\n"
  },
  {
    "path": "docs/testing.mdx",
    "content": "---\ntitle: 'Snapshot Testing'\n---\n\nAdding [snapshot tests with Jest](https://facebook.github.io/jest/docs/en/snapshot-testing.html) is a great way to help avoid unintended changes to your app's UI.\n\nBy diffing the serialized value of your React tree Jest can show you what changed in your app and allow you to fix it or update the snapshot.\n\nBy default snapshots with emotion show generated class names. Adding [@emotion/jest](https://github.com/emotion-js/emotion/tree/main/packages/jest) allows you to output the actual styles being applied.\n\n<img src=\"https://user-images.githubusercontent.com/514026/31314015-02b79ca6-abc3-11e7-8f70-1edb31c7f43b.jpg\" />\n\n### Installation\n\n```bash\nnpm install --save-dev @emotion/jest\n```\n\nAdd the `\"@emotion/jest/serializer\"` to the [`snapshotSerializers`](https://jestjs.io/docs/en/configuration#snapshotserializers-arraystring) option.\n\n```json\n{\n  \"snapshotSerializers\": [\"@emotion/jest/serializer\"]\n}\n```\n\nOr use `expect.addSnapshotSerializer` to add it.\n\n```javascript\nimport { createSerializer } from '@emotion/jest'\n\nexpect.addSnapshotSerializer(createSerializer())\n```\n\nWhen using Enzyme, you can add `\"@emotion/jest/enzyme-serializer\"` instead.\n\n```json\n{\n  \"snapshotSerializers\": [\"@emotion/jest/enzyme-serializer\"]\n}\n```\n\nOr use `expect.addSnapshotSerializer` to add it like this:\n\n```javascript\n// also adds the enzyme-to-json serializer\nimport { createEnzymeSerializer } from '@emotion/jest/enzyme-serializer'\n\nexpect.addSnapshotSerializer(createEnzymeSerializer())\n```\n\n### Writing a test\n\nWriting a test with `@emotion/jest` involves creating a snapshot from the `react-test-renderer` or `enzyme-to-json`'s resulting JSON.\n\n```jsx\nimport React from 'react'\nimport renderer from 'react-test-renderer'\n\nconst Button = props => (\n  <button\n    css={{\n      color: 'hotpink'\n    }}\n    {...props}\n  />\n)\n\ntest('Button renders correctly', () => {\n  expect(\n    renderer.create(<Button>This is hotpink.</Button>).toJSON()\n  ).toMatchSnapshot()\n})\n```\n\nIt'll create a snapshot that looks like this.\n\n```jsx\n// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`Button renders correctly 1`] = `\n.emotion-0 {\n  color: hotpink;\n}\n\n<div\n  className=\"emotion-0\"\n>\n  This is hotpink.\n</div>\n`\n```\n\nWhen the styles of a component change, the snapshot will fail and you'll be able to update the snapshot or fix the component.\n"
  },
  {
    "path": "docs/theming.mdx",
    "content": "---\ntitle: 'Theming'\n---\n\nTheming is included in the [`@emotion/react`](https://emotion.sh/docs/@emotion/react) package.\n\nAdd `ThemeProvider` to the top level of your app and access the theme with `props.theme` in a styled component or provide a function that accepts the theme as the css prop.\n\n## Table of Contents\n\n- [Examples](#examples)\n- [API](#api)\n  - [ThemeProvider](#themeprovider-reactcomponenttype)\n  - [withTheme](#withthemecomponent-reactcomponenttype-reactcomponenttype)\n  - [useTheme](#usetheme)\n- [Credits](#credits)\n\n## Examples\n\n### css prop\n\n```jsx\n// @live\nimport { ThemeProvider } from '@emotion/react'\n\nconst theme = {\n  colors: {\n    primary: 'hotpink'\n  }\n}\n\nrender(\n  <ThemeProvider theme={theme}>\n    <div css={theme => ({ color: theme.colors.primary })}>some other text</div>\n  </ThemeProvider>\n)\n```\n\n### styled\n\n```jsx\n// @live\nimport { ThemeProvider } from '@emotion/react'\nimport styled from '@emotion/styled'\n\nconst theme = {\n  colors: {\n    primary: 'hotpink'\n  }\n}\n\nconst SomeText = styled.div`\n  color: ${props => props.theme.colors.primary};\n`\n\nrender(\n  <ThemeProvider theme={theme}>\n    <SomeText>some text</SomeText>\n  </ThemeProvider>\n)\n```\n\n### useTheme hook\n\n```jsx\n// @live\nimport { ThemeProvider, useTheme } from '@emotion/react'\n\nconst theme = {\n  colors: {\n    primary: 'hotpink'\n  }\n}\n\nfunction SomeText(props) {\n  const theme = useTheme()\n  return <div css={{ color: theme.colors.primary }} {...props} />\n}\n\nrender(\n  <ThemeProvider theme={theme}>\n    <SomeText>some text</SomeText>\n  </ThemeProvider>\n)\n```\n\n## API\n\n### ThemeProvider: React.ComponentType\n\nA React component that passes the theme object down the component tree via [context](https://reactjs.org/docs/context.html). Additional `ThemeProvider` components can be added deeper in the tree to override the original theme. The theme object will be merged into its ancestor as if by [`Object.assign`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign). If a function is passed instead of an object it will be called with the ancestor theme and the result will be the new theme.\n\n_Accepts:_\n\n- **`children`: React.Node**\n- **`theme`: Object|Object => Object** - An object or function that provides an object.\n\n```jsx\nimport * as React from 'react'\nimport styled from '@emotion/styled'\nimport { ThemeProvider, withTheme } from '@emotion/react'\n\n// object-style theme\n\nconst theme = {\n  backgroundColor: 'green',\n  color: 'red'\n}\n\n// function-style theme; note that if multiple <ThemeProvider> are used,\n// the parent theme will be passed as a function argument\n\nconst adjustedTheme = ancestorTheme => ({ ...ancestorTheme, color: 'blue' })\n\nclass Container extends React.Component {\n  render() {\n    return (\n      <ThemeProvider theme={theme}>\n        <ThemeProvider theme={adjustedTheme}>\n          <Text>Boom shaka laka!</Text>\n        </ThemeProvider>\n      </ThemeProvider>\n    )\n  }\n}\n```\n\n> Note:\n>\n> Make sure to hoist your theme out of render otherwise you may have performance problems.\n\n### withTheme(component: React.ComponentType): React.ComponentType\n\nA higher-order component that provides the current theme as a prop to the wrapped child and listens for changes. If the theme is updated, the child component will be re-rendered accordingly.\n\n```jsx\nimport * as PropTypes from 'prop-types'\nimport * as React from 'react'\nimport { withTheme } from '@emotion/react'\n\nclass TellMeTheColor extends React.Component {\n  render() {\n    return <div>The color is {this.props.theme.color}.</div>\n  }\n}\n\nTellMeTheColor.propTypes = {\n  theme: PropTypes.shape({\n    color: PropTypes.string\n  })\n}\n\nconst TellMeTheColorWithTheme = withTheme(TellMeTheColor)\n```\n\n### useTheme\n\nA React hook that provides the current theme as its value. If the theme is updated, the child component will be re-rendered accordingly.\n\n```jsx\n// @live\nimport { ThemeProvider, useTheme } from '@emotion/react'\nimport styled from '@emotion/styled'\n\nconst theme = {\n  colors: {\n    primary: 'hotpink'\n  }\n}\n\nfunction SomeText(props) {\n  const theme = useTheme()\n  return <div css={{ color: theme.colors.primary }} {...props} />\n}\n\nrender(\n  <ThemeProvider theme={theme}>\n    <SomeText>some text</SomeText>\n  </ThemeProvider>\n)\n```\n\n## Credits\n\nThanks goes to the [styled-components team](https://github.com/styled-components/styled-components) and [their contributors](https://github.com/styled-components/styled-components/graphs/contributors) who designed this API.\n"
  },
  {
    "path": "docs/typescript.mdx",
    "content": "---\ntitle: 'TypeScript'\n---\n\nEmotion includes TypeScript definitions for `@emotion/react` and `@emotion/styled`. These definitions infer types for css properties with the object syntax, HTML/SVG tag names, and prop types.\n\n## @emotion/react\n\nThe easiest way to use the css prop with TypeScript is with the new JSX transform and the `jsxImportSource` TSConfig option (available since TS 4.1). For this approach, your TSConfig `compilerOptions` should contain\n\n```json\n\"jsx\": \"react-jsx\",\n\"jsxImportSource\": \"@emotion/react\"\n```\n\nFor most users, this is all the setup that is required. You can now define styles using the object syntax or template literal syntax and pass them to your components via the `css` prop.\n\n```tsx\nimport { css } from '@emotion/react'\n\nconst titleStyle = css({\n  boxSizing: 'border-box',\n  width: 300,\n  height: 200\n})\n\nconst subtitleStyle = css`\n  box-sizing: border-box;\n  width: 100px;\n  height: 60px;\n`\n```\n\nObject styles are recommended since they are type checked with the help of the [csstype](https://www.npmjs.com/package/csstype) package. For example, the following code will emit an error.\n\n```tsx\nimport { css } from '@emotion/react';\n\nconst titleStyle = css({\n                       ^ Argument of type 'boxSizing: 'bordre-box';' is not assignable [...]\n  boxSizing: 'bordre-box', // Oops, there's a typo!\n  width: 300,\n  height: 200,\n});\n```\n\nWhen using our JSX factory, TypeScript only allows the `css` prop on components that accept a `className` prop. This is because `@emotion/react` resolves the value of the `css` prop to a class name and then passes this class name down to the rendered component.\n\n### With the Babel plugin\n\n[`@emotion/babel-plugin`](/docs/babel) is completely optional for TypeScript users. If you are not already using Babel, you probably shouldn't add it to your build tooling unless you truly need one of the features offered by `@emotion/babel-plugin`. On the other hand, there's no reason not to use `@emotion/babel-plugin` if you are already using Babel to transpile your TypeScript code.\n\n### With the old JSX transform\n\nIf you are unable to upgrade to the `react-jsx` transform, you will need to specify the JSX factory at the top of every file:\n\n```tsx\n/** @jsx jsx */\nimport { jsx } from '@emotion/react'\n```\n\nAs a result, you may be not able to use the shorthand syntax `<></>` for React fragments, but you can still use `<Fragment></Fragment>`. This is a limitation of the TypeScript compiler not being able to independently specify jsx pragma and jsxFrag pragma.\n\nYou can still use the css helper and pass the className yourself (ensure you are importing from the `@emotion/css` package, not `@emotion/react`).\n\n```tsx\nimport { css } from '@emotion/css'\n\nconst el = <div className={css({ background: 'black' })} />\n```\n\nIt's not possible to leverage `css` prop support being added conditionally based on the type of a rendered component when not using our jsx pragma or the `react-jsx` transform. If you use our pragma implicitly (for example when using our `@emotion/babel-preset-css-prop`) we have a special file that can be imported once to add support for the `css` prop globally, for all components. Use it like this:\n\n```ts\n/// <reference types=\"@emotion/react/types/css-prop\" />\n```\n\n## @emotion/styled\n\n`@emotion/styled` works with TypeScript without any additional configuration.\n\n### HTML/SVG elements\n\n```tsx\nimport styled from '@emotion/styled'\n\nconst Link = styled('a')`\n  color: red;\n`\n\nconst Icon = styled('svg')`\n  stroke: green;\n`\n\nconst App = () => <Link href=\"#\">Click me</Link>\n```\n\n```tsx\nimport styled from '@emotion/styled';\n\nconst NotALink = styled('div')`\n  color: red;\n`;\n\nconst App = () => (\n  <NotALink href=\"#\">Click me</NotALink>\n            ^^^^^^^^ Property 'href' does not exist [...]\n);\n```\n\n### `withComponent`\n\n```tsx\nimport styled from '@emotion/styled'\n\nconst NotALink = styled('div')`\n  color: red;\n`\n\nconst Link = NotALink.withComponent('a')\n\nconst App = () => <Link href=\"#\">Click me</Link>\n\n// No errors!\n```\n\n### Passing Props\n\nYou can type the props of styled components.\n\n```tsx\nimport styled from '@emotion/styled'\n\ntype ImageProps = {\n  src: string\n  width: number\n}\n\n// Using a css block\nconst Image0 = styled.div<ImageProps>`\n  width: ${props => props.width};\n  background: url(${props => props.src}) center center;\n  background-size: contain;\n`\nconst Image0 = styled('div')<ImageProps>`\n  width: ${props => props.width};\n  background: url(${props => props.src}) center center;\n  background-size: contain;\n`\n\n// Or with object styles\nconst Image1 = styled('div')<ImageProps>(\n  {\n    backgroundSize: 'contain'\n  },\n  props => ({\n    width: props.width,\n    background: `url(${props.src}) center center`\n  })\n)\n```\n\n### React Components\n\nEmotion can also style React components and will infer component props as expected.\n\n```tsx\nimport React, { FC } from 'react'\nimport styled from '@emotion/styled'\n\ninterface ComponentProps {\n  className?: string\n  label: string\n}\n\nconst Component: FC<ComponentProps> = ({ label, className }) => (\n  <div className={className}>{label}</div>\n)\n\nconst StyledComponent0 = styled(Component)`\n  color: ${props => (props.label === 'Important' ? 'red' : 'green')};\n`\n\nconst StyledComponent1 = styled(Component)({\n  color: 'red'\n})\n\nconst App = () => (\n  <div>\n    <StyledComponent0 label=\"Important\" />\n    <StyledComponent1 label=\"Yea! No need to re-type this label prop.\" />\n  </div>\n)\n```\n\n### Forwarding props\n\nSometimes you want to wrap an existing component and override the type of a prop. Emotion allows you to specify a `shouldForwardProp` hook to filter properties which should be passed to the wrapped component.\n\nIf you make `shouldForwardProp` a [type guard](https://www.typescriptlang.org/docs/handbook/2/narrowing.html#using-type-predicates) then only the props from the type guard will be exposed.\n\nFor example:\n\n```ts\nconst Original: React.FC<{ prop1: string; prop2: string }> = () => null\n\ninterface StyledOriginalExtraProps {\n  // This prop would conflict with the `prop2` on Original\n  prop2: number\n}\nconst StyledOriginal = styled(Original, {\n  // Filter prop2 by only forwarding prop1\n  shouldForwardProp: (propName): propName is 'prop1' => propName === 'prop1'\n})<StyledOriginalExtraProps>(props => {\n  // props.prop2 will be `number`\n  return {}\n})\n\n// No more type conflict error\n;<StyledOriginal prop1=\"1\" prop2={2} />\n```\n\n### Passing props when styling a React component\n\n```tsx\nimport React, { FC } from 'react'\nimport styled from '@emotion/styled'\n\ninterface ComponentProps {\n  className?: string\n  label: string\n}\n\nconst Component: FC<ComponentProps> = ({\n  label,\n  className\n}) => <div className={className}>{label}</div>\n\ninterface StyledComponentProps {\n  bgColor: string\n}\n\nconst StyledComponent0 = styled(Component)<StyledComponentProps>`\n  color: red;\n  background: ${props => props.label ? props.bgColor : 'white'};\n`\n// or\nconst StyledComponent1 = styled(Component)<StyledComponentProps>(\n  props => ({\n    color: 'red'\n    background: props.label ? props.bgColor : 'white'\n  })\n)\n\nconst App = () => (\n  <div>\n    <StyledComponent0\n      bgColor=\"red\"\n      label=\"Some cool text\"\n    />\n    <StyledComponent1\n      bgColor=\"red\"\n      label=\"Some more cool text\"\n    />\n  </div>\n)\n```\n\n### Define a Theme\n\nBy default, `props.theme` is an empty object because it's the only thing that is type-safe as a default.\nYou can define a theme type by extending our type declarations via your own declarations file.\n\n_emotion.d.ts_\n\n```typescript\nimport '@emotion/react'\n\ndeclare module '@emotion/react' {\n  export interface Theme {\n    color: {\n      primary: string\n      positive: string\n      negative: string\n    }\n  }\n}\n\n// You are also able to use a 3rd party theme this way:\nimport '@emotion/react'\nimport { LibTheme } from 'some-lib'\n\ndeclare module '@emotion/react' {\n  export interface Theme extends LibTheme {}\n}\n```\n\n_Button.tsx_\n\n```tsx\nimport styled from '@emotion/styled'\n\nconst Button = styled('button')`\n  padding: 20px;\n  background-color: ${props => props.theme.someLibProperty};\n  border-radius: 3px;\n`\n\nexport default Button\n```\n\nIf you were previously relying on `theme` being an `any` type, you can restore compatibility with:\n\n_emotion.d.ts_\n\n```ts\nimport '@emotion/react'\n\ndeclare module '@emotion/react' {\n  export interface Theme extends Record<string, any> {}\n}\n```\n"
  },
  {
    "path": "docs/with-props.mdx",
    "content": "---\ntitle: 'Attaching Props'\n---\n\nSome css-in-js libraries offer APIs to attach props to components, instead of having our own API to do that, we recommend creating a regular react component, using the css prop and attaching props like you would with any other React component.\n\nNote that if css is passed down via props, it will take precedence over the css in the component.\n\n```jsx\n// @live\nimport { css } from '@emotion/react'\n\nconst pinkInput = css`\n  background-color: pink;\n`\nconst RedPasswordInput = props => (\n  <input\n    type=\"password\"\n    css={css`\n      background-color: red;\n      display: block;\n    `}\n    {...props}\n  />\n)\n\nrender(\n  <div>\n    <RedPasswordInput placeholder=\"red\" />\n    <RedPasswordInput placeholder=\"pink\" css={pinkInput} />\n  </div>\n)\n```\n"
  },
  {
    "path": "flow-typed/npm/vitest_vx.x.x.js",
    "content": "declare var vi: {}\n"
  },
  {
    "path": "jest-react18.config.js",
    "content": "const baseConfig = require('./jest.config.js')\n\nmodule.exports = Object.assign({}, baseConfig, {\n  moduleNameMapper: {\n    '^react($|\\\\/.+)': 'react18$1',\n    '^react-dom($|\\\\/.+)': 'react18-dom$1',\n    '^react-test-renderer($|\\\\/.+)': 'react18-test-renderer$1'\n  }\n})\n"
  },
  {
    "path": "jest.config.js",
    "content": "module.exports = {\n  testEnvironment: 'jsdom',\n  testEnvironmentOptions: {\n    customExportConditions: ['development']\n  },\n  transform: {\n    '^.+\\\\.(tsx|ts|js)?$': 'babel-jest'\n  },\n  watchPlugins: [\n    'jest-watch-typeahead/filename',\n    'jest-watch-typeahead/testname'\n  ],\n  testPathIgnorePatterns: [\n    '/node_modules/',\n    '/__fixtures__/',\n    '/site/',\n    '/types/'\n  ],\n  setupFilesAfterEnv: ['test-utils/testSetup.js'],\n  coveragePathIgnorePatterns: [\n    '/node_modules/',\n    '<rootDir>/packages/babel-plugin/test/util.js'\n  ],\n  snapshotFormat: {\n    escapeString: false,\n    printBasicPrototype: false\n  }\n}\n"
  },
  {
    "path": "jest.dist.js",
    "content": "const baseConfig = require('./jest.config.js')\n\nmodule.exports = Object.assign({}, baseConfig, {\n  transformIgnorePatterns: ['dist', 'node_modules']\n})\n"
  },
  {
    "path": "jest.prod.js",
    "content": "const baseConfig = require('./jest.config.js')\n\nmodule.exports = Object.assign({}, baseConfig, {\n  testEnvironmentOptions: {\n    ...baseConfig.testEnvironmentOptions,\n    customExportConditions:\n      baseConfig.testEnvironmentOptions.customExportConditions.filter(\n        c => c !== 'development'\n      )\n  }\n})\n"
  },
  {
    "path": "netlify.toml",
    "content": "[build]\n  command = \"yarn build && cd site && yarn build\"\n  publish = \"site/out\"\n\n[build.environment]\n  NODE_VERSION = \"16\"\n  YARN_VERSION = \"1.22.19\"\n  YARN_FLAGS = \"--immutable\"\n  NETLIFY = \"true\"\n\n# These take effect in production and should match the redirects in next.config.js\n[[redirects]]\n  from = \"/\"\n  to = \"/docs/introduction\"\n\n[[redirects]]\n  from = \"/docs\"\n  to = \"/docs/introduction\"\n\n[[redirects]]\n  from = \"/community\"\n  to = \"/docs/community\""
  },
  {
    "path": "package.json",
    "content": "{\n  \"private\": true,\n  \"name\": \"emotion-monorepo\",\n  \"version\": \"10.0.0\",\n  \"scripts\": {\n    \"build:watch\": \"preconstruct watch\",\n    \"build\": \"preconstruct build\",\n    \"tsc:all\": \"tsc && tsc --project site\",\n    \"test:size\": \"npm-run-all build size\",\n    \"test:debug\": \"node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand --watch\",\n    \"test\": \"jest\",\n    \"test:react18\": \"jest -c jest-react18.config.js\",\n    \"test:typescript\": \"yarn workspaces foreach --verbose --exclude emotion-monorepo run test:typescript\",\n    \"test:ci\": \"jest --coverage --no-cache --ci --runInBand\",\n    \"test:react18:ci\": \"yarn test:react18 --coverage --no-cache --ci --runInBand\",\n    \"test:dist\": \"yarn build && jest -c jest.dist.js --no-cache --ci --runInBand\",\n    \"test:prod\": \"jest -c jest.prod.js --no-cache --ci --runInBand\",\n    \"lint:check\": \"eslint .\",\n    \"test:watch\": \"jest --watch\",\n    \"size\": \"bundlesize\",\n    \"lint\": \"eslint . --fix\",\n    \"benchmark\": \"cd scripts/benchmarks && yarn build && yarn run-benchmark\",\n    \"preinstall\": \"node ./scripts/ensure-yarn.js\",\n    \"postinstall\": \"preconstruct dev && manypkg check\",\n    \"changeset\": \"changeset\",\n    \"version-packages\": \"changeset version && yarn --mode=\\\"update-lockfile\\\"\",\n    \"release\": \"yarn build && changeset publish\"\n  },\n  \"author\": \"Kye Hohenberger\",\n  \"homepage\": \"https://emotion.sh\",\n  \"license\": \"MIT\",\n  \"repository\": {\n    \"type\": \"git\",\n    \"url\": \"git+https://github.com/emotion-js/emotion.git\"\n  },\n  \"directories\": {\n    \"test\": \"tests\"\n  },\n  \"keywords\": [\n    \"styles\",\n    \"emotion\",\n    \"react\",\n    \"css\",\n    \"css-in-js\"\n  ],\n  \"eslintConfig\": {\n    \"extends\": [\n      \"prettier\",\n      \"plugin:@typescript-eslint/eslint-recommended\"\n    ],\n    \"plugins\": [\n      \"prettier\",\n      \"@emotion\",\n      \"react\",\n      \"@typescript-eslint\"\n    ],\n    \"parser\": \"@typescript-eslint/parser\",\n    \"rules\": {\n      \"camelcase\": 0,\n      \"no-template-curly-in-string\": 0,\n      \"prefer-const\": 0,\n      \"no-unused-vars\": 0,\n      \"prettier/prettier\": [\n        \"error\",\n        {\n          \"parser\": \"typescript\"\n        }\n      ],\n      \"react/jsx-curly-brace-presence\": 0,\n      \"react/jsx-handler-names\": 0,\n      \"react/no-unused-prop-types\": 0,\n      \"react/prop-types\": 0,\n      \"react/react-in-jsx-scope\": 0,\n      \"@emotion/pkg-renaming\": 2\n    },\n    \"env\": {\n      \"browser\": true\n    },\n    \"overrides\": [\n      {\n        \"files\": [\n          \"*.test.js\",\n          \"**/__tests__/**\"\n        ],\n        \"env\": {\n          \"jest\": true\n        }\n      },\n      {\n        \"files\": [\n          \"**/packages/**/*.ts\",\n          \"**/packages/**/*.tsx\"\n        ],\n        \"rules\": {\n          \"prettier/prettier\": [\n            \"error\",\n            {\n              \"parser\": \"typescript\"\n            }\n          ]\n        }\n      },\n      {\n        \"files\": [\n          \"**/__fixtures__/*\"\n        ],\n        \"rules\": {\n          \"no-unused-vars\": 0\n        },\n        \"env\": {\n          \"jest\": false\n        }\n      }\n    ]\n  },\n  \"workspaces\": {\n    \"packages\": [\n      \"packages/*\",\n      \"site\",\n      \"scripts/*\",\n      \"playgrounds/*\"\n    ]\n  },\n  \"preconstruct\": {\n    \"packages\": [\n      \"packages/*\"\n    ],\n    \"globals\": {\n      \"react\": \"React\",\n      \"react/jsx-runtime\": \"ReactJSX\",\n      \"react/jsx-dev-runtime\": \"ReactJSXDev\"\n    },\n    \"exports\": {\n      \"importConditionDefaultExport\": \"default\"\n    },\n    \"___experimentalFlags_WILL_CHANGE_IN_PATCH\": {\n      \"importsConditions\": true\n    }\n  },\n  \"bugs\": {\n    \"url\": \"https://github.com/emotion-js/emotion/issues\"\n  },\n  \"bundlesize\": [\n    {\n      \"path\": \"./packages/emotion/dist/emotion.umd.min.js\",\n      \"threshold\": \"7 Kb\"\n    },\n    {\n      \"path\": \"./packages/styled/base/dist/styled.umd.min.js\",\n      \"threshold\": \"9.7 Kb\"\n    },\n    {\n      \"path\": \"./packages/core/dist/core.umd.min.js\",\n      \"threshold\": \"7 Kb\"\n    }\n  ],\n  \"lint-staged\": {\n    \"*.{js,ts,tsx,md}\": [\n      \"prettier --write\",\n      \"git add\"\n    ]\n  },\n  \"collective\": {\n    \"type\": \"opencollective\",\n    \"url\": \"https://opencollective.com/emotion\"\n  },\n  \"husky\": {\n    \"hooks\": {\n      \"post-commit\": \"git update-index --again\",\n      \"pre-commit\": \"lint-staged\"\n    }\n  },\n  \"dependencies\": {\n    \"@babel/core\": \"^7.18.5\",\n    \"@babel/helper-module-imports\": \"^7.16.7\",\n    \"@babel/plugin-proposal-class-properties\": \"^7.17.12\",\n    \"@babel/plugin-syntax-jsx\": \"^7.17.12\",\n    \"@babel/plugin-transform-react-jsx\": \"^7.17.12\",\n    \"@babel/preset-env\": \"^7.18.2\",\n    \"@babel/preset-react\": \"^7.17.12\",\n    \"@babel/preset-typescript\": \"^7.18.6\",\n    \"@babel/register\": \"^7.17.7\",\n    \"@babel/runtime\": \"^7.18.3\",\n    \"@changesets/changelog-github\": \"^0.5.0\",\n    \"@changesets/cli\": \"^2.27.7\",\n    \"@manypkg/cli\": \"^0.19.1\",\n    \"@preconstruct/cli\": \"^2.8.8\",\n    \"@testing-library/react\": \"13.0.0-alpha.5\",\n    \"@types/jest\": \"^29.5.12\",\n    \"@types/node\": \"^12.20.37\",\n    \"@types/react\": \"18.3.12\",\n    \"@typescript-eslint/eslint-plugin\": \"^7.13.0\",\n    \"@typescript-eslint/parser\": \"^7.13.0\",\n    \"babel-check-duplicated-nodes\": \"^1.0.0\",\n    \"babel-eslint\": \"^10.1.0\",\n    \"babel-jest\": \"^29.7.0\",\n    \"babel-plugin-codegen\": \"^4.1.5\",\n    \"babel-plugin-jsx-pragmatic\": \"^1.0.2\",\n    \"benchmark\": \"^2.1.4\",\n    \"bolt-check\": \"^0.3.0\",\n    \"bundlesize\": \"^0.13.2\",\n    \"codecov\": \"^2.3.1\",\n    \"cssjanus\": \"^1.2.0\",\n    \"enzyme\": \"^3.11.0\",\n    \"enzyme-adapter-react-16\": \"^1.15.5\",\n    \"enzyme-to-json\": \"^3.6.1\",\n    \"eslint\": \"^8.57.0\",\n    \"eslint-config-prettier\": \"^9.1.0\",\n    \"eslint-config-react\": \"^1.1.7\",\n    \"eslint-plugin-node\": \"^11.1.0\",\n    \"eslint-plugin-prettier\": \"^5.1.3\",\n    \"eslint-plugin-promise\": \"^6.2.0\",\n    \"eslint-plugin-react\": \"^7.34.2\",\n    \"eslint-plugin-react-hooks\": \"^4.6.2\",\n    \"html-tag-names\": \"^1.1.2\",\n    \"husky\": \"^3.0.9\",\n    \"jest\": \"^29.7.0\",\n    \"jest-environment-jsdom\": \"^29.7.0\",\n    \"jest-in-case\": \"^1.0.2\",\n    \"jest-junit\": \"^13.0.0\",\n    \"jest-serializer-html\": \"^7.1.0\",\n    \"jest-watch-typeahead\": \"^2.2.2\",\n    \"lint-staged\": \"^7.2.0\",\n    \"module-alias\": \"^2.0.1\",\n    \"multipipe\": \"^1.0.2\",\n    \"normalize.css\": \"^8.0.0\",\n    \"npm-run-all\": \"^4.0.2\",\n    \"opencollective\": \"^1.0.3\",\n    \"polished\": \"^1.2.1\",\n    \"prettier\": \"^3.3.2\",\n    \"raf\": \"^3.4.0\",\n    \"react\": \"16.14.0\",\n    \"react-dom\": \"16.14.0\",\n    \"react-native\": \"^0.63.2\",\n    \"react-primitives\": \"^0.8.1\",\n    \"react-test-renderer\": \"16.8.6\",\n    \"react18\": \"npm:react@18.0.0-rc.0-next-aa8f2bdbc-20211215\",\n    \"react18-dom\": \"npm:react-dom@18.0.0-rc.0-next-aa8f2bdbc-20211215\",\n    \"react18-test-renderer\": \"npm:react-test-renderer@18.0.0-rc.0-next-aa8f2bdbc-20211215\",\n    \"svg-tag-names\": \"^1.1.1\",\n    \"through\": \"^2.3.8\",\n    \"typescript\": \"^5.4.5\",\n    \"unified\": \"^6.1.6\",\n    \"webpack-bundle-analyzer\": \"3.3.2\"\n  },\n  \"packageManager\": \"yarn@3.2.3\",\n  \"resolutions\": {\n    \"@definitelytyped/dtslint@0.0.112\": \"patch:@definitelytyped/dtslint@npm%3A0.0.112#./.yarn/patches/@definitelytyped-dtslint-npm-0.0.112-1e6b842976.patch\"\n  }\n}\n"
  },
  {
    "path": "packages/babel-plugin/CHANGELOG.md",
    "content": "# @emotion/babel-plugin\n\n## 11.13.5\n\n### Patch Changes\n\n- [#3270](https://github.com/emotion-js/emotion/pull/3270) [`77d930d`](https://github.com/emotion-js/emotion/commit/77d930dc708015ff6fd34a1084bb343b02d732fa) Thanks [@emmatown](https://github.com/emmatown)! - Fix inconsistent hashes using development vs production bundles/`exports` conditions when using `@emotion/babel-plugin` with `sourceMap: true` (the default). This is particularly visible when using Emotion with the Next.js Pages router where the `development` condition is used when bundling code but not when importing external code with Node.js.\n\n- Updated dependencies [[`77d930d`](https://github.com/emotion-js/emotion/commit/77d930dc708015ff6fd34a1084bb343b02d732fa)]:\n  - @emotion/serialize@1.3.3\n\n## 11.12.0\n\n### Patch Changes\n\n- Updated dependencies [[`9ca22c6`](https://github.com/emotion-js/emotion/commit/9ca22c6c23e9effa086d161a9b0ae1c645686680), [`7f8db2d`](https://github.com/emotion-js/emotion/commit/7f8db2d7a900bb34995db66084a99d512811e33d), [`ea2c397`](https://github.com/emotion-js/emotion/commit/ea2c397bbf7d9838086ec88b3eb86db9230d32ae)]:\n  - @emotion/serialize@1.2.0\n  - @emotion/memoize@0.9.0\n  - @emotion/hash@0.9.2\n\n## 11.11.0\n\n### Patch Changes\n\n- [#3031](https://github.com/emotion-js/emotion/pull/3031) [`336f3d50`](https://github.com/emotion-js/emotion/commit/336f3d50fd684ccbb160fff0c63d5560936f1ee5) Thanks [@Andarist](https://github.com/Andarist)! - Updated the underlying parser ([stylis](https://github.com/thysultan/stylis)) to 4.2.0\n\n* [#3029](https://github.com/emotion-js/emotion/pull/3029) [`eed5e6cf`](https://github.com/emotion-js/emotion/commit/eed5e6cf00f94f3011b93825ccce43cb2270c247) Thanks [@Andarist](https://github.com/Andarist)! - Fixed importing in Node ESM\n\n* Updated dependencies [[`eed5e6cf`](https://github.com/emotion-js/emotion/commit/eed5e6cf00f94f3011b93825ccce43cb2270c247)]:\n  - @emotion/hash@0.9.1\n  - @emotion/memoize@0.8.1\n  - @emotion/serialize@1.1.2\n\n## 11.10.8\n\n### Patch Changes\n\n- [#3025](https://github.com/emotion-js/emotion/pull/3025) [`6bd13425`](https://github.com/emotion-js/emotion/commit/6bd13425a2b413150c81e63fad1105d7968b5e6f) Thanks [@Andarist](https://github.com/Andarist)! - Updated the underlying parser ([stylis](https://github.com/thysultan/stylis)) to 4.1.4\n\n## 11.10.6\n\n### Patch Changes\n\n- [#2985](https://github.com/emotion-js/emotion/pull/2985) [`4e172c2a`](https://github.com/emotion-js/emotion/commit/4e172c2ae4e5237500ec84688d76ebf253ab1fdc) Thanks [@emmatown](https://github.com/emmatown)! - Remove peer dependency on `@babel/core`\n\n## 11.10.5\n\n### Patch Changes\n\n- [#2929](https://github.com/emotion-js/emotion/pull/2929) [`13afe030`](https://github.com/emotion-js/emotion/commit/13afe0303e2e54b5869c326e6d9c9dc36a332c02) Thanks [@Andarist](https://github.com/Andarist)! - Updated the underlying parser ([stylis](https://github.com/thysultan/stylis)).\n\n- Updated dependencies [[`c02b1214`](https://github.com/emotion-js/emotion/commit/c02b12145a94df011e0fd6ffd54197a4d9369783)]:\n  - @emotion/serialize@1.1.1\n\n## 11.10.2\n\n### Patch Changes\n\n- [#2858](https://github.com/emotion-js/emotion/pull/2858) [`005e211d`](https://github.com/emotion-js/emotion/commit/005e211d53a4a1a34509400e41402b8910875fda) Thanks [@Andarist](https://github.com/Andarist)! - Fixed an issue in the styles minifier that caused interpolations to be sometimes included more than once in the output.\n\n## 11.10.0\n\n### Minor Changes\n\n- [#2819](https://github.com/emotion-js/emotion/pull/2819) [`bbad8c79`](https://github.com/emotion-js/emotion/commit/bbad8c79937f8dfd5d93bf485c1e9ec44124d228) Thanks [@nicksrandall](https://github.com/nicksrandall)! - `exports` field has been added to the `package.json` manifest. It limits what files can be imported from a package but we've tried our best to allow importing all the files that were considered to be a part of the public API.\n\n### Patch Changes\n\n- Updated dependencies [[`bbad8c79`](https://github.com/emotion-js/emotion/commit/bbad8c79937f8dfd5d93bf485c1e9ec44124d228)]:\n  - @emotion/hash@0.9.0\n  - @emotion/memoize@0.8.0\n  - @emotion/serialize@1.1.0\n\n## 11.9.5\n\n### Patch Changes\n\n- [#2799](https://github.com/emotion-js/emotion/pull/2799) [`5b99a849`](https://github.com/emotion-js/emotion/commit/5b99a849364119d979c6d1fe5e5a0e9ea4e74011) Thanks [@Andarist](https://github.com/Andarist)! - Fixed an issue with the lack of `/*#__PURE__*/` annotations before styled calls transformed from tagged template expressions.\n\n## 11.9.2\n\n### Patch Changes\n\n- [#2721](https://github.com/emotion-js/emotion/pull/2721) [`ae0f650b`](https://github.com/emotion-js/emotion/commit/ae0f650b5ad8ef658b61edca6157fe208be23b43) Thanks [@Andarist](https://github.com/Andarist)! - Fixed an issue in the minifying logic that could remove rules with the same context values as their parent rules. Like in the example below:\n\n  ```js\n  styled.div`\n    > div {\n      color: blue;\n\n      > div {\n        color: hotpink;\n      }\n    }\n  `\n  ```\n\n## 11.7.2\n\n### Patch Changes\n\n- [#2585](https://github.com/emotion-js/emotion/pull/2585) [`b830c7dc`](https://github.com/emotion-js/emotion/commit/b830c7dc9da1c75c88e655150f04ef52b8176212) Thanks [@Andarist](https://github.com/Andarist)! - Fixed label extraction crashing in some cases involving variable declarations with array and object patterns.\n\n* [#2585](https://github.com/emotion-js/emotion/pull/2585) [`b830c7dc`](https://github.com/emotion-js/emotion/commit/b830c7dc9da1c75c88e655150f04ef52b8176212) Thanks [@kddc](https://github.com/kddc), [@Andarist](https://github.com/Andarist)! - Improved label extraction for named function expressions and anonymous functions used as object property values.\n\n- [#2602](https://github.com/emotion-js/emotion/pull/2602) [`b02f349d`](https://github.com/emotion-js/emotion/commit/b02f349d28df7bc77cad6d7e1b62aecef9f19405) Thanks [@Andarist](https://github.com/Andarist)! - Fixed an issue with styled transformer sometimes not using the used local name for the imported named export when used with `importMap`.\n\n## 11.7.1\n\n### Patch Changes\n\n- [#2590](https://github.com/emotion-js/emotion/pull/2590) [`1554a7e2`](https://github.com/emotion-js/emotion/commit/1554a7e264e05780b2c5bd74ccb20a92005ba61d) Thanks [@Andarist](https://github.com/Andarist)! - Upgraded and pinned the version of Stylis - the CSS parser that Emotion uses under the hood.\n\n## 11.3.0\n\n### Minor Changes\n\n- [`36a51c27`](https://github.com/emotion-js/emotion/commit/36a51c273d9dd5ab95367fbcf95cd809bb625f28) [#2340](https://github.com/emotion-js/emotion/pull/2340) Thanks [@Andarist](https://github.com/Andarist)! - Added support for label extraction from object methods.\n\n### Patch Changes\n\n- [`36a51c27`](https://github.com/emotion-js/emotion/commit/36a51c273d9dd5ab95367fbcf95cd809bb625f28) [#2340](https://github.com/emotion-js/emotion/pull/2340) Thanks [@Andarist](https://github.com/Andarist)! - Fixed a crash when extracting labels from object properties with string literal keys in certain situations.\n\n- Updated dependencies [[`662f0e0f`](https://github.com/emotion-js/emotion/commit/662f0e0f888c8e80cf6b2d68b52ff1bb84cbdde5), [`830dd0e6`](https://github.com/emotion-js/emotion/commit/830dd0e6d071c98bc0b4b0ecc99dd21a93f057b9)]:\n  - @emotion/serialize@1.0.2\n\n## 11.2.0\n\n### Patch Changes\n\n- [`c9b57f36`](https://github.com/emotion-js/emotion/commit/c9b57f36e99f8cfe86c971ddb29c7a5d70644bc1) [#2157](https://github.com/emotion-js/emotion/pull/2157) Thanks [@Andarist](https://github.com/Andarist)! - Fixed an issue with `styled` transformer not respecting `autoLabel: 'dev-only'` setting.\n\n## 11.1.2\n\n### Patch Changes\n\n- [`de378ab8`](https://github.com/emotion-js/emotion/commit/de378ab8693c74be5714c6c12ccc191ed2d7ac1a) [#2147](https://github.com/emotion-js/emotion/pull/2147) Thanks [@macalinao](https://github.com/macalinao)! - Fixed an issue with template strings minifier crashing on two consecutive interpolations without any meaningful string in between them.\n\n- Updated dependencies [[`ee6a673f`](https://github.com/emotion-js/emotion/commit/ee6a673f74e934bf738d5346ddfc7982caa23827)]:\n  - @emotion/memoize@0.7.5\n\n## 11.0.0\n\n### Major Changes\n\n- [`b8476e08`](https://github.com/emotion-js/emotion/commit/b8476e08af4a2e8de94a112cb0daf6e8e4d56fe1) [#1675](https://github.com/emotion-js/emotion/pull/1675) Thanks [@emmatown](https://github.com/emmatown)! - Rename `babel-plugin-emotion` to `@emotion/babel-plugin`. Please replace `\"plugins\": [\"emotion\"]` with `\"plugins\": [\"@emotion\"]` in your Babel config.\n\n* [`c5b12d90`](https://github.com/emotion-js/emotion/commit/c5b12d90316477e95ce3680a3c745cde328a14c1) [#1220](https://github.com/emotion-js/emotion/pull/1220) Thanks [@emmatown](https://github.com/emmatown)! - Removed support for the `instances` option, any usage of it should be replaced with the `importMap` option\n\n* [`c65c5d88`](https://github.com/emotion-js/emotion/commit/c65c5d887002d76557eaefcb98091d795b13f9a9) [#1622](https://github.com/emotion-js/emotion/pull/1622) Thanks [@Andarist](https://github.com/Andarist)! - Drop Babel 6 support\n\n- [`c7850e61`](https://github.com/emotion-js/emotion/commit/c7850e61211d6aa26a3388399889a6072ee2f1fe) [#1656](https://github.com/emotion-js/emotion/pull/1656) Thanks [@Andarist](https://github.com/Andarist)! - `autoLabel` option no longer is a simple boolean. Instead we accept now 3 values: `dev-only` (the default), `always` and `never`.\n\n  Each possible value for this option produces different output code:\n\n  - with `dev-only` we optimize the production code, so there are no labels added there, but at the same time we keep labels for development environments,\n  - with `always` we always add labels when possible,\n  - with `never` we disable this entirely and no labels are added.\n\n* [`b7d21373`](https://github.com/emotion-js/emotion/commit/b7d21373d967d0f958dd59aaaa650047e23e8e8b) [#2080](https://github.com/emotion-js/emotion/pull/2080) Thanks [@Andarist](https://github.com/Andarist)! - `cssPropOptimization` defaults now to `true` regardless of the `@emotion/react` import presence.\n\n### Minor Changes\n\n- [`c5b12d90`](https://github.com/emotion-js/emotion/commit/c5b12d90316477e95ce3680a3c745cde328a14c1) [#1220](https://github.com/emotion-js/emotion/pull/1220) Thanks [@emmatown](https://github.com/emmatown)! - Added the `importMap` option which allows you to tell `@emotion/babel-plugin` what imports it should look at to determine what it should transform so if you re-export Emotion's exports, you can still use the Babel transforms\n\n- [`c672175b`](https://github.com/emotion-js/emotion/commit/c672175b52e86de43b3d4092a8fe34b2023ceae8) [#1130](https://github.com/emotion-js/emotion/pull/1130) Thanks [@jtmthf](https://github.com/jtmthf)! - Adjust how arrays passed to css prop are transformed so function elements can be resolved at runtime.\n\n* [`5e803106`](https://github.com/emotion-js/emotion/commit/5e803106d391b7c036bdf634318b80337a1d9b70) [#1893](https://github.com/emotion-js/emotion/pull/1893) Thanks [@Andarist](https://github.com/Andarist)! - Added support for converting assignment expressions to labels in cases like this:\n\n  ```js\n  styles = css``\n  Timeline.Item = styled.li``\n  Timeline.Item.Anchor = styled.a``\n  ```\n\n- [`0a4a22ff`](https://github.com/emotion-js/emotion/commit/0a4a22ffcfaa49d09a88856ef2d51e0d53e31b6d) [#1651](https://github.com/emotion-js/emotion/pull/1651) Thanks [@Andarist](https://github.com/Andarist)! - Allow `labelFormat` option to be a function.\n\n* [`5c7ec859`](https://github.com/emotion-js/emotion/commit/5c7ec85904633a11185066fa591dc8969f3f2ff2) [#1805](https://github.com/emotion-js/emotion/pull/1805) Thanks [@Andarist](https://github.com/Andarist)! - Requirements for a label extraction have been relaxed. In certain situations it was previously required for a containing function to have a PascalCased name.\n\n* [`828111cd`](https://github.com/emotion-js/emotion/commit/828111cd32d3fe8c984231201e518d1b6000bffd) [#1639](https://github.com/emotion-js/emotion/pull/1639) Thanks [@Andarist](https://github.com/Andarist)! - `Global` gets handled by the Babel plugin now - this gives inline css-less expressions source maps.\n\n### Patch Changes\n\n- [`b0ad4f0c`](https://github.com/emotion-js/emotion/commit/b0ad4f0c628813a42c4637857be9a969429db6f0) [#1602](https://github.com/emotion-js/emotion/pull/1602) Thanks [@Andarist](https://github.com/Andarist)! - Avoid transpiling vanilla emotion calls in already transpiled code to avoid double labels and such\n\n* [`9e998e37`](https://github.com/emotion-js/emotion/commit/9e998e3755c217027ad1be0af4c64644fe14c6bf) [#1817](https://github.com/emotion-js/emotion/pull/1817) Thanks [@Andarist](https://github.com/Andarist)! - Fixed an issue in our tagged template expressions minifier which has caused whitespace before nested orphaned pseudo selectors being incorrectly removed. In a selector like `& :hover` the whitespace before colon has a semantic meaning and needs to be preserved.\n\n* Updated dependencies [[`e3d7db87`](https://github.com/emotion-js/emotion/commit/e3d7db87deaac95817404760112417ac1fa1b56d), [`8a896a31`](https://github.com/emotion-js/emotion/commit/8a896a31434a1d2f69e1f1467c446c884c929387), [`5c55fd17`](https://github.com/emotion-js/emotion/commit/5c55fd17dcaec84d1f5d5d13ae90dd336d7e4403), [`a085003d`](https://github.com/emotion-js/emotion/commit/a085003d4c8ca284c116668d7217fb747802ed85), [`5d692a6a`](https://github.com/emotion-js/emotion/commit/5d692a6a8102b3faabefb773dd0145b123668a07), [`c6431074`](https://github.com/emotion-js/emotion/commit/c6431074cf52a4bb64587c86ce5d42fe2d49230b)]:\n  - @emotion/serialize@1.0.0\n\n## 11.0.0-rc.0\n\n### Major Changes\n\n- [`9c4ebc16`](https://github.com/emotion-js/emotion/commit/9c4ebc160471097c5d04fb92dba3ed0df870bb63) [#2030](https://github.com/emotion-js/emotion/pull/2030) Thanks [@Andarist](https://github.com/Andarist)! - Release candidate version.\n\n### Patch Changes\n\n- Updated dependencies [[`9c4ebc16`](https://github.com/emotion-js/emotion/commit/9c4ebc160471097c5d04fb92dba3ed0df870bb63)]:\n  - @emotion/serialize@1.0.0-rc.0\n\n## 11.0.0-next.17\n\n### Patch Changes\n\n- Updated dependencies [[`76e3dc4d`](https://github.com/emotion-js/emotion/commit/76e3dc4dd3e76423aa5d527b3e66fe3be1722e5a)]:\n  - @emotion/serialize@1.0.0-next.5\n\n## 11.0.0-next.16\n\n### Patch Changes\n\n- Updated dependencies []:\n  - @emotion/serialize@0.11.15-next.4\n\n## 11.0.0-next.15\n\n### Patch Changes\n\n- Updated dependencies [[`5d692a6a`](https://github.com/emotion-js/emotion/commit/5d692a6a8102b3faabefb773dd0145b123668a07)]:\n  - @emotion/serialize@1.0.0-next.3\n\n## 11.0.0-next.13\n\n### Minor Changes\n\n- [`5e803106`](https://github.com/emotion-js/emotion/commit/5e803106d391b7c036bdf634318b80337a1d9b70) [#1893](https://github.com/emotion-js/emotion/pull/1893) Thanks [@Andarist](https://github.com/Andarist)! - Added support for converting assignment expressions to labels in cases like this:\n\n  ```js\n  styles = css``\n  Timeline.Item = styled.li``\n  Timeline.Item.Anchor = styled.a``\n  ```\n\n### Patch Changes\n\n- [`9e998e37`](https://github.com/emotion-js/emotion/commit/9e998e3755c217027ad1be0af4c64644fe14c6bf) [#1817](https://github.com/emotion-js/emotion/pull/1817) Thanks [@Andarist](https://github.com/Andarist)! - Fixed an issue in our tagged template expressions minifier which has caused whitespace before nested orphaned pseudo selectors being incorrectly removed. In a selector like `& :hover` the whitespace before colon has a semantic meaning and needs to be preserved.\n\n- Updated dependencies []:\n  - @emotion/serialize@0.11.15-next.2\n\n## 11.0.0-next.12\n\n### Minor Changes\n\n- [`5c7ec859`](https://github.com/emotion-js/emotion/commit/5c7ec85904633a11185066fa591dc8969f3f2ff2) [#1805](https://github.com/emotion-js/emotion/pull/1805) Thanks [@Andarist](https://github.com/Andarist)! - Requirements for a label extraction have been relaxed. In certain situations it was previously required for a containing function to have a PascalCased name.\n\n### Patch Changes\n\n- [`e3d7db87`](https://github.com/emotion-js/emotion/commit/e3d7db87deaac95817404760112417ac1fa1b56d) [#1732](https://github.com/emotion-js/emotion/pull/1732) Thanks [@Andarist](https://github.com/Andarist)! - Fixed a regression from [a PR which has optimized Babel output](https://github.com/emotion-js/emotion/pull/1656) which has caused inserted label not being extracted correctly and also broke styles composition in certain situations.\n\n- Updated dependencies [[`e3d7db87`](https://github.com/emotion-js/emotion/commit/e3d7db87deaac95817404760112417ac1fa1b56d)]:\n  - @emotion/serialize@1.0.0-next.1\n\n## 11.0.0-next.11\n\n### Patch Changes\n\n- Updated dependencies [[`f08ef5a3`](https://github.com/emotion-js/emotion/commit/f08ef5a316c1d05bff8e7f3690781e1089a263c6)]:\n  - @emotion/serialize@0.11.15-next.4\n\n## 11.0.0-next.10\n\n### Major Changes\n\n- [`b8476e08`](https://github.com/emotion-js/emotion/commit/b8476e08af4a2e8de94a112cb0daf6e8e4d56fe1) [#1675](https://github.com/emotion-js/emotion/pull/1675) Thanks [@emmatown](https://github.com/emmatown)! - Rename `babel-plugin-emotion` to `@emotion/babel-plugin`. Please replace `\"plugins\": [\"emotion\"]` with `\"plugins\": [\"@emotion\"]` in your Babel config.\n\n* [`c7850e61`](https://github.com/emotion-js/emotion/commit/c7850e61211d6aa26a3388399889a6072ee2f1fe) [#1656](https://github.com/emotion-js/emotion/pull/1656) Thanks [@Andarist](https://github.com/Andarist)! - `autoLabel` option no longer is a simple boolean. Instead we accept now 3 values: `dev-only` (the default), `always` and `never`.\n\n  Each possible value for this option produces different output code:\n\n  - with `dev-only` we optimize the production code, so there are no labels added there, but at the same time we keep labels for development environments,\n  - with `always` we always add labels when possible,\n  - with `never` we disable this entirely and no labels are added.\n\n## 11.0.0-next.6\n\n### Major Changes\n\n- [`843bfb11`](https://github.com/emotion-js/emotion/commit/843bfb1153ee0dbe33d005fdd5c5be185daa5c41) [#1630](https://github.com/emotion-js/emotion/pull/1630) Thanks [@Andarist](https://github.com/Andarist)! - Removed `@emotion/css` - it's main purpose was to allow `css` to be a Babel macro, but since babel-plugin-macros allows us to keep imports nowadays this is no longer needed. `@emotion/core/macro` has been added to account for this use case and appropriate changes has been made to `babel-plugin-emotion` to facilitate those changes.\n\n  If you have used `@emotion/css` directly (it was always reexported from `@emotion/core`) or you have been using its macro then you should update your code like this:\n\n  ```diff\n  -import css from '@emotion/css'\n  +import { css } from '@emotion/core'\n\n  // or\n  -import css from '@emotion/css/macro'\n  +import { css } from '@emotion/core/macro'\n  ```\n\n### Minor Changes\n\n- [`0a4a22ff`](https://github.com/emotion-js/emotion/commit/0a4a22ffcfaa49d09a88856ef2d51e0d53e31b6d) [#1651](https://github.com/emotion-js/emotion/pull/1651) Thanks [@Andarist](https://github.com/Andarist)! - Allow `labelFormat` option to be a function.\n\n* [`828111cd`](https://github.com/emotion-js/emotion/commit/828111cd32d3fe8c984231201e518d1b6000bffd) [#1639](https://github.com/emotion-js/emotion/pull/1639) Thanks [@Andarist](https://github.com/Andarist)! - `Global` gets handled by the Babel plugin now - this gives inline css-less expressions source maps.\n\n## 11.0.0-next.4\n\n### Major Changes\n\n- [`c65c5d88`](https://github.com/emotion-js/emotion/commit/c65c5d887002d76557eaefcb98091d795b13f9a9) [#973](https://github.com/emotion-js/emotion/pull/973) Thanks [@Andarist](https://github.com/Andarist)! - Drop Babel 6 support\n\n## 11.0.0-next.3\n\n### Major Changes\n\n- [`c5b12d90`](https://github.com/emotion-js/emotion/commit/c5b12d90316477e95ce3680a3c745cde328a14c1) [#1220](https://github.com/emotion-js/emotion/pull/1220) Thanks [@emmatown](https://github.com/emmatown)! - Removed support for the `instances` option, any usage of it should be replaced with the `importMap` option\n\n* [`f9feab1a`](https://github.com/emotion-js/emotion/commit/f9feab1a5d1ca88e53c3f7a063be5d5871cc93e8) [#1575](https://github.com/emotion-js/emotion/pull/1575) Thanks [@emmatown](https://github.com/emmatown)! - Removed support for `@emotion/styled-base` package. It has been moved to `@emotion/styled` and is available as `@emotion/styled/base`. This simplifies how the regular and base versions relate to each other and eliminates problems with stricter package managers when `@emotion/styled-base` was not installed explicitly by a user.\n\n### Minor Changes\n\n- [`c5b12d90`](https://github.com/emotion-js/emotion/commit/c5b12d90316477e95ce3680a3c745cde328a14c1) [#1220](https://github.com/emotion-js/emotion/pull/1220) Thanks [@emmatown](https://github.com/emmatown)! - Added the `importMap` option which allows you to tell babel-plugin-emotion what imports it should look at to determine what it should transform so if you re-export Emotion's exports, you can still use the Babel transforms\n\n### Patch Changes\n\n- [`c5b12d90`](https://github.com/emotion-js/emotion/commit/c5b12d90316477e95ce3680a3c745cde328a14c1) [#1220](https://github.com/emotion-js/emotion/pull/1220) Thanks [@emmatown](https://github.com/emmatown)! - Fix issue with not updating referenced import when bailing out on already transpiled vanilla emotion nodes (a regression introduced in #1602)\n- Updated dependencies [[`8a896a31`](https://github.com/emotion-js/emotion/commit/8a896a31434a1d2f69e1f1467c446c884c929387), [`a085003d`](https://github.com/emotion-js/emotion/commit/a085003d4c8ca284c116668d7217fb747802ed85)]:\n  - @emotion/serialize@0.11.15-next.1\n\n## 11.0.0-next.1\n\n### Patch Changes\n\n- Updated dependencies [[`1eaa3a38`](https://github.com/emotion-js/emotion/commit/1eaa3a389876d4a623ce66735dc6db093cb2a8e6)]:\n  - @emotion/serialize@1.0.0-next.0\n\n## 11.0.0-next.0\n\n### Major Changes\n\n- [`302bdba1`](https://github.com/emotion-js/emotion/commit/302bdba1a6b793484c09edeb668815c5e31ea555) [#1600](https://github.com/emotion-js/emotion/pull/1600) Thanks [@emmatown](https://github.com/emmatown)! - Ensure packages are major bumped so that pre-release versions of the linked packages are consistent in the major number\n\n### Patch Changes\n\n- [`b0ad4f0c`](https://github.com/emotion-js/emotion/commit/b0ad4f0c628813a42c4637857be9a969429db6f0) [#1602](https://github.com/emotion-js/emotion/pull/1602) Thanks [@Andarist](https://github.com/Andarist)! - Avoid transpiling vanilla emotion calls in already transpiled code to avoid double labels and such\n\n## 10.0.33\n\n### Patch Changes\n\n- [`b9f8ae3`](https://github.com/emotion-js/emotion/commit/b9f8ae3f6e18b0569376b9ed62e9d09d141adff8) [#1829](https://github.com/emotion-js/emotion/pull/1829) Thanks [@Andarist](https://github.com/Andarist)! - Skip appending source maps & labels to Babel-transpiled tagged template expressions.\n\n## 10.0.29\n\n### Patch Changes\n\n- Updated dependencies [[`446e756`](https://github.com/emotion-js/emotion/commit/446e75661c4aa01e51d1466472a212940c19cd82)]:\n  - @emotion/hash@0.8.0\n  - @emotion/serialize@0.11.16\n\n## 10.0.28\n\n### Patch Changes\n\n- [`4dfe558`](https://github.com/emotion-js/emotion/commit/4dfe55811a25bf66306aee46f7f0d6c909004c42) [#1731](https://github.com/emotion-js/emotion/pull/1731) Thanks [@ndelangen](https://github.com/ndelangen)! - Fixed an issue with adding `label` & `target` options to `styled`-related calls when those properties were already set, causing those properties to be duplicated. This could have happened for example when transpiling already transpiled code or when providing those options manually (latter being less likely).\n\n* [`af07afb`](https://github.com/emotion-js/emotion/commit/af07afbe5a887be82f72a12fd6cd1673a32f5263) [#1761](https://github.com/emotion-js/emotion/pull/1761) Thanks [@mansourkheffache](https://github.com/mansourkheffache)! - Push source maps & labels to cooked/raw arrays in TS-transpiled tagged template expressions containing interpolations. This is a case not covered previously by [#1538](https://github.com/emotion-js/emotion/pull/1538).\n\n## 10.0.27\n\n### Patch Changes\n\n- [`4c62ae9`](https://github.com/emotion-js/emotion/commit/4c62ae9447959d438928e1a26f76f1487983c968) [#1698](https://github.com/emotion-js/emotion/pull/1698) Thanks [@Andarist](https://github.com/Andarist)! - Add LICENSE file\n- Updated dependencies [[`4c62ae9`](https://github.com/emotion-js/emotion/commit/4c62ae9447959d438928e1a26f76f1487983c968)]:\n  - @emotion/hash@0.7.4\n  - @emotion/memoize@0.7.4\n  - @emotion/serialize@0.11.15\n\n## 10.0.23\n\n### Patch Changes\n\n- [`3927293d`](https://github.com/emotion-js/emotion/commit/3927293d0b9d96b4a7c00196e8430728759b1161) [#1569](https://github.com/emotion-js/emotion/pull/1569) Thanks [@Andarist](https://github.com/Andarist)! - Add dev hint about css object (generated by Babel) being stringified by accident\n\n* [`b3a0f148`](https://github.com/emotion-js/emotion/commit/b3a0f1484f2efcc78b447639ff2e0bc0f29915ae) [#1574](https://github.com/emotion-js/emotion/pull/1574) Thanks [@Andarist](https://github.com/Andarist)! - Fix babel plugin crashing when called programmatically without providing a filename\n\n* Updated dependencies [[`a55f3d49`](https://github.com/emotion-js/emotion/commit/a55f3d49c2febdf7eb1bede3f12da13c3efa1399), [`ca95f385`](https://github.com/emotion-js/emotion/commit/ca95f385f7ce3da6d53de1a652b3b219f11434c4)]:\n  - @emotion/serialize@0.11.14\n\n## 10.0.22\n\n### Patch Changes\n\n- [`1bb3efe3`](https://github.com/emotion-js/emotion/commit/1bb3efe399ddf0f3332187f3c751fbba9326d02c) [#1554](https://github.com/emotion-js/emotion/pull/1554) Thanks [@Andarist](https://github.com/Andarist)! - Prepend appended label string with semicolon to avoid problems with declaration blocks without a final semicolon\n\n- Updated dependencies [[`4fc5657a`](https://github.com/emotion-js/emotion/commit/4fc5657ac8d0002322321cfbfc254b7196d27387), [`10211951`](https://github.com/emotion-js/emotion/commit/10211951051729b149930a8646de14bae9ae1bbc), [`57a767ea`](https://github.com/emotion-js/emotion/commit/57a767ea3dd18eefbbdc7269cc13128caad65286)]:\n  - @emotion/serialize@0.11.12\n\n## 10.0.21\n\n### Patch Changes\n\n- [0eafebb5](https://github.com/emotion-js/emotion/commit/0eafebb5119212897f81084f63a807c02b0012fc) [#1538](https://github.com/emotion-js/emotion/pull/1538) Thanks [@Andarist](https://github.com/Andarist)! - Push source maps & labels to cooked/raw arrays in TS-transpiled tagged template expressions\n\n## 10.0.20\n\n### Patch Changes\n\n- [1b3791d4](https://github.com/emotion-js/emotion/commit/1b3791d4c458838a097c815a38108c9719023b92) [#1526](https://github.com/emotion-js/emotion/pull/1526) Thanks [@ahutchings](https://github.com/ahutchings)! - Fix `autoLabel` crash on `css` used in expression assigned to an object pattern\n\n## 10.0.19\n\n- Updated dependencies [c81c0033]:\n  - @emotion/serialize@0.11.11\n  - @emotion/hash@0.7.3\n  - @emotion/memoize@0.7.3\n\n## 10.0.17\n\n### Patch Changes\n\n- [b22b4ca4](https://github.com/emotion-js/emotion/commit/b22b4ca460ec66ea313dd9ea9556bd7a2d04798c) [#1485](https://github.com/emotion-js/emotion/pull/1485) Thanks [@JSteunou](https://github.com/JSteunou)! - Fix `autoLabel` crash on `css` used as a computed key of an object\n\n## 10.0.16\n\n### Patch Changes\n\n- [1ea9b3a6](https://github.com/emotion-js/emotion/commit/1ea9b3a6) - Fix an inconsistency with Babel config ordering in the README\n\n## 10.0.15\n\n### Patch Changes\n\n- [4a3b18a2](https://github.com/emotion-js/emotion/commit/4a3b18a2) [#1451](https://github.com/emotion-js/emotion/pull/1451) Thanks [@Andarist](https://github.com/Andarist)! - Fixed issue with auto-labelling crashing on \\$ at runtime\n- [284f8fa](https://github.com/emotion-js/emotion/commit/284f8fa9e0d2926fa26346e63519f8db24e22cc7) [#1336](https://github.com/emotion-js/emotion/pull/1336) Thanks [@Zenwolf](https://github.com/Zenwolf)! - Keep CSS comments that include `@`\n\n## 10.0.14\n\n### Patch Changes\n\n- [c0eb604d](https://github.com/emotion-js/emotion/commit/c0eb604d) [#1419](https://github.com/emotion-js/emotion/pull/1419) Thanks [@emmatown](https://github.com/emmatown)! - Update build tool\n\n## 10.0.13\n\n### Patch Changes\n\n- [7bad392c](https://github.com/emotion-js/emotion/commit/7bad392c) [#1387](https://github.com/emotion-js/emotion/pull/1387) Thanks [@mherodev](https://github.com/mherodev)! - Added object property auto label support for babel-plugin-emotion\n"
  },
  {
    "path": "packages/babel-plugin/LICENSE",
    "content": "MIT License\n\nCopyright (c) Emotion team and other contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "packages/babel-plugin/README.md",
    "content": "# @emotion/babel-plugin\n\n> Babel plugin for the minification and optimization of emotion styles.\n\n`@emotion/babel-plugin` is highly recommended, but not required in version 8 and\nabove of Emotion.\n\n## Features\n\n<table>\n  <thead>\n    <tr>\n      <th>Feature/Syntax</th>\n      <th>Native</th>\n      <th>Babel Plugin Required</th>\n      <th>Notes</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <td><code>css``</code></td>\n      <td align=\"center\">✅</td>\n      <td align=\"center\"></td>\n      <td></td>\n    </tr>\n    <tr>\n      <td><code>css(...)</code></td>\n      <td align=\"center\">✅</td>\n      <td align=\"center\"></td>\n      <td>Generally used for object styles.</td>\n    </tr>\n    <tr>\n      <td>components as selectors</td>\n      <td align=\"center\"></td>\n      <td align=\"center\">✅</td>\n      <td>Allows an emotion component to be <a href=\"https://emotion.sh/docs/styled#targeting-another-emotion-component\">used as a CSS selector</a>.</td>\n    </tr>\n    <tr>\n      <td>Minification</td>\n      <td align=\"center\"></td>\n      <td align=\"center\">✅</td>\n      <td>Any leading/trailing space between properties in your <code>css</code> and <code>styled</code> blocks is removed. This can reduce the size of your final bundle.</td>\n    </tr>\n    <tr>\n      <td>Dead Code Elimination</td>\n      <td align=\"center\"></td>\n      <td align=\"center\">✅</td>\n      <td>Uglifyjs will use the injected <code>/*#__PURE__*/</code> flag comments to mark your <code>css</code> and <code>styled</code> blocks as candidates for dead code elimination.</td>\n    </tr>\n    <tr>\n      <td>Source Maps</td>\n      <td align=\"center\"></td>\n      <td align=\"center\">✅</td>\n      <td>When enabled, navigate directly to the style declaration in your javascript file.</td>\n    </tr>\n    <tr>\n      <td>Contextual Class Names</td>\n      <td align=\"center\"></td>\n      <td align=\"center\">✅</td>\n      <td>Generated class names include the name of the variable or component they were defined in.</td>\n    </tr>\n  </tbody>\n</table>\n\n## Example\n\n**In**\n\n```javascript\nconst myStyles = css`\n  font-size: 20px;\n  @media (min-width: 420px) {\n    color: blue;\n    ${css`\n      width: 96px;\n      height: 96px;\n    `};\n    line-height: 26px;\n  }\n  background: green;\n  ${{ backgroundColor: 'hotpink' }};\n`\n```\n\n**Out**\n\n```javascript\nconst myStyles = /* #__PURE__ */ css(\n  'font-size:20px;@media(min-width:420px){color:blue;',\n  /* #__PURE__ */ css('width:96px;height:96px;'),\n  ';line-height:26px;}background:green;',\n  { backgroundColor: 'hotpink' },\n  ';'\n)\n```\n\n## Installation\n\n```bash\nyarn add --dev @emotion/babel-plugin\n```\n\nor if you prefer npm\n\n```bash\nnpm install --save-dev @emotion/babel-plugin\n```\n\n## Usage\n\n### Via `.babelrc` (Recommended)\n\n**.babelrc**\n\nWithout options:\n\n```json\n{\n  \"plugins\": [\"@emotion\"]\n}\n```\n\nWith options:\n\n_Defaults Shown_\n\n```js\n{\n  \"plugins\": [\n    [\n      \"@emotion\",\n      {\n        // sourceMap is on by default but source maps are dead code eliminated in production\n        \"sourceMap\": true,\n        \"autoLabel\": \"dev-only\",\n        \"labelFormat\": \"[local]\",\n        \"cssPropOptimization\": true\n      }\n    ]\n  ]\n}\n```\n\nRecommended Setup\n\n**.babelrc**\n\n```json\n{\n  \"plugins\": [\"@emotion\"]\n}\n```\n\n### Via CLI\n\n```bash\nbabel --plugins @emotion/babel-plugin script.js\n```\n\n### Via Node API\n\n```javascript\nrequire('@babel/core').transform('code', {\n  plugins: ['@emotion/babel-plugin']\n})\n```\n\n## Options\n\n### `sourceMap`\n\n`boolean`, defaults to `true`.\n\nThis option enables the following:\n\n- Injected source maps for use in browser dev tools\n\n[**Documentation**](https://emotion.sh/docs/source-maps)\n\n> Note:\n>\n> Source maps are on by default in @emotion/babel-plugin but they will be removed in production builds\n\n### `autoLabel`\n\n`'dev-only' | 'always' | 'never'`, defaults to `dev-only`.\n\nThis option enables the following:\n\n- Automatically adds the `label` property to styles so that class names\n  generated by `css` or `styled` include the name of the variable the result is\n  assigned to.\n- Please note that non word characters in the variable will be removed\n  (Eg. `iconStyles$1` will become `iconStyles1`) because `$` is not valid\n  [CSS ClassName Selector](https://stackoverflow.com/questions/448981/which-characters-are-valid-in-css-class-names-selectors#449000)\n\nEach possible value for this option produces different output code:\n\n- with `dev-only` we optimize the production code, so there are no labels added there, but at the same time we keep labels for development environments,\n- with `always` we always add labels when possible,\n- with `never` we disable this entirely and no labels are added.\n\n#### css\n\n**In**\n\n```javascript\nconst brownStyles = css({ color: 'brown' })\n```\n\n**Out**\n\n```javascript\nconst brownStyles = /*#__PURE__*/ css({ color: 'brown' }, 'label:brownStyles;')\n```\n\n`brownStyles`'s value would be `css-1q8eu9e-brownStyles`\n\n### `labelFormat`\n\n`string`, defaults to `\"[local]\"`.\n\nThis option only works when `autoLabel` is set to `'dev-only'` or `'always'`. It allows you to\ndefine the format of the resulting `label`. The format is defined via string where\nvariable parts are enclosed in square brackets `[]`.\nFor example `labelFormat: \"my-classname--[local]\"`, where `[local]` will be replaced\nwith the name of the variable the result is assigned to.\n\nAllowed values:\n\n- `[local]` - the name of the variable the result of the `css` or `styled` expression is assigned to.\n- `[filename]` - name of the file (without extension) where `css` or `styled` expression is located.\n- `[dirname]` - name of the directory containing the file where `css` or `styled` expression is located.\n\nThis format only affects the label property of the expression, meaning that the `css` prefix and hash will\nbe prepended automatically.\n\n#### css\n\n**In**\n\n```javascript\n// BrownView.js\n// autoLabel: 'dev-only'\n// labelFormat: '[filename]--[local]'\nconst brownStyles = css({ color: 'brown' })\n```\n\n**Out**\n\n```javascript\nconst brownStyles = /*#__PURE__*/ css(\n  { color: 'brown' },\n  'label:BrownView--brownStyles;'\n)\n```\n\n`BrownView--brownStyles`'s value would be `css-hash-BrownView--brownStyles`\n\n#### styled\n\n**In**\n\n```javascript\nconst H1 = styled.h1({\n  borderRadius: '50%',\n  transition: 'transform 400ms ease-in-out',\n  boxSizing: 'border-box',\n  display: 'flex',\n  ':hover': {\n    transform: 'scale(1.2)'\n  }\n})\n```\n\n**Out**\n\n```javascript\nconst H1 = /*#__PURE__*/ styled('h1', {\n  label: 'H1'\n})({\n  borderRadius: '50%',\n  transition: 'transform 400ms ease-in-out',\n  boxSizing: 'border-box',\n  display: 'flex',\n  ':hover': {\n    transform: 'scale(1.2)'\n  }\n})\n```\n\n`H1`'s class name attribute would be `css-hash-H1`\n\n### `cssPropOptimization`\n\n`boolean`, defaults to `true`.\n\nThis option assumes that you are using something to make `@emotion/react`'s `jsx` function work for all jsx. If you are not doing so and you do not want such optimizations to occur, disable this option.\n\n### `importMap`\n\nThis option allows you to tell @emotion/babel-plugin what imports it should look at to determine what it should transform so if you re-export Emotion's exports, you can still use the Babel transforms\n\nAn example file:\n\n```js\nimport { anotherExport } from 'my-package'\nimport { someExport, thisIsTheJsxExport } from 'some-package'\n```\n\nAn example config:\n\n```json\n{\n  \"my-package\": {\n    \"anotherExport\": {\n      \"canonicalImport\": [\"@emotion/styled\", \"default\"],\n      \"styledBaseImport\": [\"my-package/base\", \"anotherExport\"]\n    }\n  },\n  \"some-package\": {\n    \"someExport\": {\n      \"canonicalImport\": [\"@emotion/react\", \"css\"]\n    },\n    \"thisIsTheJsxExport\": {\n      \"canonicalImport\": [\"@emotion/react\", \"jsx\"]\n    }\n  }\n}\n```\n\n## Babel Macros\n\nInstead of using `@emotion/babel-plugin`, you can use emotion with [`babel-plugin-macros`](https://github.com/kentcdodds/babel-plugin-macros). Add `babel-plugin-macros` to your babel config (which is included in Create React App 2.0) and use the imports/packages shown below.\n\n```jsx\nimport {\n  css,\n  keyframes,\n  injectGlobal,\n  flush,\n  hydrate\n} from '@emotion/css/macro'\nimport { jsx, css, Global, keyframes } from '@emotion/react/macro'\nimport styled from '@emotion/styled/macro'\n```\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/__fixtures__/autolabel-and-css-property-label.js",
    "content": "/** @jsx jsx */\nimport { jsx, css } from '@emotion/react'\n\nconst SomeComponent = () => (\n  <div\n    className={css`\n      color: pink;\n      label: iChenLei;\n    `}\n  />\n)\n\nconst OtherComponent = () => (\n  <div\n    className={css({\n      color: 'blue',\n      label: 'iChenLei'\n    })}\n  />\n)\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/__fixtures__/core-with-component.js",
    "content": "import styled from '@emotion/styled'\n\nconst MyComponent = styled.div({ color: 'hotpink' })\n\nconst OtherComponent = MyComponent.withComponent('section')\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/__fixtures__/core-with-css-import-dynamic.js",
    "content": "/** @jsx jsx */\nimport { jsx, css } from '@emotion/react'\n\nconst SomeComponent = props => (\n  <div\n    css={css`\n      color: ${window};\n    `}\n    {...props}\n  />\n)\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/__fixtures__/core-with-css-import.js",
    "content": "/** @jsx jsx */\nimport { jsx, css } from '@emotion/react'\n\nconst SomeComponent = props => (\n  <div\n    css={css`\n      color: hotpink;\n    `}\n    {...props}\n  />\n)\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/__fixtures__/css-prop-complex-array.js",
    "content": "/** @jsx jsx */\nimport { jsx, Global } from '@emotion/react/macro'\n\nconst css1 = theme => ({ backgroundColor: theme.bgColor })\nconst css2 = theme => ({ padding: theme.spacing.small })\n\nfunction SomeComponent(props) {\n  return <div css={[css1, css2]}>{'Emotion'}</div>\n}\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/__fixtures__/does-not-change-other-props.js",
    "content": "/** @jsx jsx */\nimport { jsx } from '@emotion/react'\n\nconst Svg = <rect style={{ stroke: '#ff0000' }} />\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/__fixtures__/dynamic.js",
    "content": "/** @jsx jsx */\nimport { jsx } from '@emotion/react'\n\nconst SomeComponent = props => <div css={{ color: window }} {...props} />\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/__fixtures__/function-declaration.js",
    "content": "import * as React from 'react'\nimport { jsx } from '@emotion/react'\n\nfunction Logo(props) {\n  return (\n    <a\n      css={{\n        display: 'block'\n      }}\n    />\n  )\n}\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/__fixtures__/import-namespace-does-not-throw.js",
    "content": "import * as emotionCore from '@emotion/react'\n// could probably support this for real but it's pretty rare so I'm not gonna spend time on it now\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/__fixtures__/jsx-hoist.js",
    "content": "/** @jsx jsx */\nimport { jsx } from '@emotion/react'\n\nconst SomeComponent = props => (\n  <div\n    css={{\n      color: 'hotpink'\n    }}\n    {...props}\n  />\n)\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/__fixtures__/object-property.js",
    "content": "import * as React from 'react'\nimport { jsx } from '@emotion/react'\nimport styled from '@emotion/styled'\n\nconst MyObject = {\n  MyProperty: styled.div({ color: 'hotpink' })\n}\n\nfunction Logo(props) {\n  return <MyObject.MyProperty />\n}\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/__fixtures__/static-object-with-camel-case.js",
    "content": "/** @jsx jsx */\nimport { jsx } from '@emotion/react'\n\nconst SomeComponent = props => (\n  <div\n    css={{\n      color: 'hotpink',\n      backgroundColor: 'green'\n    }}\n    {...props}\n  />\n)\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/__fixtures__/static-object-with-child-selectors.js",
    "content": "/** @jsx jsx */\n\nimport { jsx } from '@emotion/react'\n\nconst SomeComponent = props => {\n  return (\n    <div\n      css={{\n        color: 'green',\n        ':hover': {\n          color: 'hotpink'\n        }\n      }}\n      {...props}\n    />\n  )\n}\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/__snapshots__/css-requires-options.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`babel css inline autoLabel set to always - complex expression 1`] = `\n\"\n    import { css } from 'emotion'\n    import fooStyles from './foo'\n    let cls = css(fooStyles)\n    \n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport { css } from 'emotion';\nimport fooStyles from './foo';\nlet cls = css(fooStyles);\"\n`;\n\nexports[`babel css inline autoLabel set to always - complex expression, last arg string 1`] = `\n\"\n    import { css } from 'emotion'\n    import fooStyles from './foo'\n    let cls = css(fooStyles, 'color: hotpink;')\n    \n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport { css } from 'emotion';\nimport fooStyles from './foo';\nlet cls = css(fooStyles, 'color: hotpink;');\"\n`;\n\nexports[`babel css inline autoLabel set to always 1`] = `\n\"\n    import { css } from 'emotion'\n    let cls = css({color:'hotpink'})\n    \n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport { css } from 'emotion';\nlet cls = css({\n  color: 'hotpink'\n});\"\n`;\n\nexports[`babel css inline autoLabel set to never - complex expression 1`] = `\n\"\n    import { css } from 'emotion'\n    import fooStyles from './foo'\n    let cls = css(fooStyles)\n    \n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport { css } from 'emotion';\nimport fooStyles from './foo';\nlet cls = css(fooStyles);\"\n`;\n\nexports[`babel css inline autoLabel set to never 1`] = `\n\"\n    import { css } from 'emotion'\n    let cls = css({color:'hotpink'})\n    \n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport { css } from 'emotion';\nlet cls = css({\n  color: 'hotpink'\n});\"\n`;\n\nexports[`babel css inline code already transpiled by emotion plugin (avoid double transpilation) 1`] = `\n\"\n    import { keyframes as _keyframes } from \"emotion\";\n    import { css as _css } from \"emotion\";\n\n    function _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\n    let someCls =\n    /*#__PURE__*/\n    _css(process.env.NODE_ENV === \"production\" ? {\n      name: \"1jwq1yt-someCls\",\n      styles: \"color:hotpink;;label:someCls;\"\n    } : {\n      name: \"1jwq1yt-someCls\",\n      styles: \"color:hotpink;;label:someCls;\",\n      map: \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImRvZXMtbm90LWRvdWJsZS1sYWJlbC1hbHJlYWR5LXRyYW5zcGlsZWQtY29kZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHaUIiLCJmaWxlIjoiZG9lcy1ub3QtZG91YmxlLWxhYmVsLWFscmVhZHktdHJhbnNwaWxlZC1jb2RlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gVE9ETzogdGhlb3JldGljYWxsdCBgZW1vdGlvbmAgc2hvdWxkIGJlIG1lbnRpb25lZCBpbiB0aGlzIHRlc3QgLSBzbyBwcm9iYWJseSB3ZSdkIGxpa2UgdG8gbW92ZSB0aGlzIHRlc3QgYXJvdW5kXG5pbXBvcnQgeyBjc3MsIGtleWZyYW1lcyB9IGZyb20gJ2Vtb3Rpb24nXG5cbmxldCBzb21lQ2xzID0gY3NzYFxuICBjb2xvcjogaG90cGluaztcbmBcblxubGV0IHJvdGF0ZTM2MCA9IGtleWZyYW1lc2BcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbmBcbiJdfQ== */\",\n      toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n    });\n\n    let rotate360 =\n    /*#__PURE__*/\n    _keyframes(process.env.NODE_ENV === \"production\" ? {\n      name: \"1k98dea-rotate360\",\n      styles: \"from{transform:rotate(0deg);}to{transform:rotate(360deg);};label:rotate360;\"\n    } : {\n      name: \"1k98dea-rotate360\",\n      styles: \"from{transform:rotate(0deg);}to{transform:rotate(360deg);};label:rotate360;\",\n      map: \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImRvZXMtbm90LWRvdWJsZS1sYWJlbC1hbHJlYWR5LXRyYW5zcGlsZWQtY29kZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPeUIiLCJmaWxlIjoiZG9lcy1ub3QtZG91YmxlLWxhYmVsLWFscmVhZHktdHJhbnNwaWxlZC1jb2RlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gVE9ETzogdGhlb3JldGljYWxsdCBgZW1vdGlvbmAgc2hvdWxkIGJlIG1lbnRpb25lZCBpbiB0aGlzIHRlc3QgLSBzbyBwcm9iYWJseSB3ZSdkIGxpa2UgdG8gbW92ZSB0aGlzIHRlc3QgYXJvdW5kXG5pbXBvcnQgeyBjc3MsIGtleWZyYW1lcyB9IGZyb20gJ2Vtb3Rpb24nXG5cbmxldCBzb21lQ2xzID0gY3NzYFxuICBjb2xvcjogaG90cGluaztcbmBcblxubGV0IHJvdGF0ZTM2MCA9IGtleWZyYW1lc2BcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbmBcbiJdfQ== */\",\n      toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n    });\n    \n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport { keyframes as _keyframes } from \"emotion\";\nimport { css as _css } from \"emotion\";\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() {\n  return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\";\n}\n\nlet someCls = /*#__PURE__*/_css(process.env.NODE_ENV === \"production\" ? {\n  name: \"1jwq1yt-someCls\",\n  styles: \"color:hotpink;;label:someCls;\"\n} : {\n  name: \"1jwq1yt-someCls\",\n  styles: \"color:hotpink;;label:someCls;\",\n  map: \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImRvZXMtbm90LWRvdWJsZS1sYWJlbC1hbHJlYWR5LXRyYW5zcGlsZWQtY29kZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHaUIiLCJmaWxlIjoiZG9lcy1ub3QtZG91YmxlLWxhYmVsLWFscmVhZHktdHJhbnNwaWxlZC1jb2RlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gVE9ETzogdGhlb3JldGljYWxsdCBgZW1vdGlvbmAgc2hvdWxkIGJlIG1lbnRpb25lZCBpbiB0aGlzIHRlc3QgLSBzbyBwcm9iYWJseSB3ZSdkIGxpa2UgdG8gbW92ZSB0aGlzIHRlc3QgYXJvdW5kXG5pbXBvcnQgeyBjc3MsIGtleWZyYW1lcyB9IGZyb20gJ2Vtb3Rpb24nXG5cbmxldCBzb21lQ2xzID0gY3NzYFxuICBjb2xvcjogaG90cGluaztcbmBcblxubGV0IHJvdGF0ZTM2MCA9IGtleWZyYW1lc2BcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbmBcbiJdfQ== */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\n\nlet rotate360 = /*#__PURE__*/_keyframes(process.env.NODE_ENV === \"production\" ? {\n  name: \"1k98dea-rotate360\",\n  styles: \"from{transform:rotate(0deg);}to{transform:rotate(360deg);};label:rotate360;\"\n} : {\n  name: \"1k98dea-rotate360\",\n  styles: \"from{transform:rotate(0deg);}to{transform:rotate(360deg);};label:rotate360;\",\n  map: \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImRvZXMtbm90LWRvdWJsZS1sYWJlbC1hbHJlYWR5LXRyYW5zcGlsZWQtY29kZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPeUIiLCJmaWxlIjoiZG9lcy1ub3QtZG91YmxlLWxhYmVsLWFscmVhZHktdHJhbnNwaWxlZC1jb2RlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gVE9ETzogdGhlb3JldGljYWxsdCBgZW1vdGlvbmAgc2hvdWxkIGJlIG1lbnRpb25lZCBpbiB0aGlzIHRlc3QgLSBzbyBwcm9iYWJseSB3ZSdkIGxpa2UgdG8gbW92ZSB0aGlzIHRlc3QgYXJvdW5kXG5pbXBvcnQgeyBjc3MsIGtleWZyYW1lcyB9IGZyb20gJ2Vtb3Rpb24nXG5cbmxldCBzb21lQ2xzID0gY3NzYFxuICBjb2xvcjogaG90cGluaztcbmBcblxubGV0IHJvdGF0ZTM2MCA9IGtleWZyYW1lc2BcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbmBcbiJdfQ== */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\"\n`;\n\nexports[`babel css inline label format function 1`] = `\n\"\n    import { css } from '@emotion/css'\n    let cls = css({color:'hotpink'})\n    \n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { css } from '@emotion/css';\nlet cls = /*#__PURE__*/css(process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"wiafqk-CLS_CSS-REQUIRES-OPTIONS\",\n  styles: \"color:hotpink;label:CLS_CSS-REQUIRES-OPTIONS;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNzcy1yZXF1aXJlcy1vcHRpb25zLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVjIiwiZmlsZSI6ImNzcy1yZXF1aXJlcy1vcHRpb25zLmpzIiwic291cmNlc0NvbnRlbnQiOlsiXG4gICAgaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vY3NzJ1xuICAgIGxldCBjbHMgPSBjc3Moe2NvbG9yOidob3RwaW5rJ30pXG4gICAgIl19 */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\"\n`;\n\nexports[`babel css inline label format with dirname, filename, and local 1`] = `\n\"\n    import { css } from '@emotion/css'\n    let cls = css({color:'hotpink'})\n    \n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { css } from '@emotion/css';\nlet cls = /*#__PURE__*/css(process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"1azqn5t-my-css-__tests__-css-requires-options-cls\",\n  styles: \"color:hotpink;label:my-css-__tests__-css-requires-options-cls;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNzcy1yZXF1aXJlcy1vcHRpb25zLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVjIiwiZmlsZSI6ImNzcy1yZXF1aXJlcy1vcHRpb25zLmpzIiwic291cmNlc0NvbnRlbnQiOlsiXG4gICAgaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vY3NzJ1xuICAgIGxldCBjbHMgPSBjc3Moe2NvbG9yOidob3RwaW5rJ30pXG4gICAgIl19 */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\"\n`;\n\nexports[`babel css inline label format with filename and local 1`] = `\n\"\n    import { css } from '@emotion/css'\n    let cls = css({color:'hotpink'})\n    \n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { css } from '@emotion/css';\nlet cls = /*#__PURE__*/css(process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"12j84ju-my-css-css-requires-options-cls\",\n  styles: \"color:hotpink;label:my-css-css-requires-options-cls;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNzcy1yZXF1aXJlcy1vcHRpb25zLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVjIiwiZmlsZSI6ImNzcy1yZXF1aXJlcy1vcHRpb25zLmpzIiwic291cmNlc0NvbnRlbnQiOlsiXG4gICAgaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vY3NzJ1xuICAgIGxldCBjbHMgPSBjc3Moe2NvbG9yOidob3RwaW5rJ30pXG4gICAgIl19 */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\"\n`;\n\nexports[`babel css inline label format with filename that is index and local 1`] = `\n\"\n    import { css } from '@emotion/css'\n    let cls = css({color:'hotpink'})\n    \n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { css } from '@emotion/css';\nlet cls = /*#__PURE__*/css(process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"1uf5d32-my-css-some-directory-cls\",\n  styles: \"color:hotpink;label:my-css-some-directory-cls;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVjIiwiZmlsZSI6ImluZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiXG4gICAgaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vY3NzJ1xuICAgIGxldCBjbHMgPSBjc3Moe2NvbG9yOidob3RwaW5rJ30pXG4gICAgIl19 */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\"\n`;\n\nexports[`babel css inline label format with only local 1`] = `\n\"\n    import { css } from '@emotion/css'\n    let cls = css({color:'hotpink'})\n    \n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { css } from '@emotion/css';\nlet cls = /*#__PURE__*/css(process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"1xiywpm-my-css-cls\",\n  styles: \"color:hotpink;label:my-css-cls;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNzcy1yZXF1aXJlcy1vcHRpb25zLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVjIiwiZmlsZSI6ImNzcy1yZXF1aXJlcy1vcHRpb25zLmpzIiwic291cmNlc0NvbnRlbnQiOlsiXG4gICAgaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vY3NzJ1xuICAgIGxldCBjbHMgPSBjc3Moe2NvbG9yOidob3RwaW5rJ30pXG4gICAgIl19 */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\"\n`;\n\nexports[`babel css inline label on code transpiled by TS (with interpolations)  1`] = `\n\"\n    import { __makeTemplateObject } from 'tslib'\n    import { css } from '@emotion/react'\n    import { hoverStyles } from './styles'\n\n    var templateObject_1\n\n    const someVar = css(\n      templateObject_1 ||\n        (templateObject_1 = __makeTemplateObject(\n          ['\\\\n  color: hotpink;\\\\n'],\n          ['\\\\n  color: hotpink;\\\\n']\n        )),\n      hoverStyles\n    )\n    \n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport { __makeTemplateObject } from 'tslib';\nimport { css } from '@emotion/react';\nimport { hoverStyles } from './styles';\nvar templateObject_1;\nconst someVar = css(templateObject_1 || (templateObject_1 = __makeTemplateObject(['\\\\n  color: hotpink;\\\\n'], ['\\\\n  color: hotpink;\\\\n'])), hoverStyles);\"\n`;\n\nexports[`babel css inline label on code transpiled by TS 1`] = `\n\"\n    import { __makeTemplateObject } from 'tslib'\n    import { css } from '@emotion/react'\n\n    var templateObject_1\n\n    const someVar = css(\n      templateObject_1 ||\n        (templateObject_1 = __makeTemplateObject(\n          ['\\\\n  color: hotpink;\\\\n'],\n          ['\\\\n  color: hotpink;\\\\n']\n        ))\n    )\n    \n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport { __makeTemplateObject } from 'tslib';\nimport { css } from '@emotion/react';\nvar templateObject_1;\nconst someVar = /*#__PURE__*/css(templateObject_1 || (templateObject_1 = __makeTemplateObject(['\\\\n  color: hotpink;\\\\n' + (process.env.NODE_ENV === \"production\" ? \"\" : \";label:someVar;\")], ['\\\\n  color: hotpink;\\\\n' + (process.env.NODE_ENV === \"production\" ? \"\" : \";label:someVar;\")])));\"\n`;\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/__snapshots__/css.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`emotion-babel-plugin css actual-expected-usage 1`] = `\n\"/** @jsx jsx */\nimport { jsx, css } from '@emotion/react'\n\nconst SomeComponent = () => (\n  <div\n    css={css\\`\n      color: hotpink;\n    \\`}\n  />\n)\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\n/** @jsx jsx */\nimport { jsx, css } from '@emotion/react';\n\nvar _ref = process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"1wl9j1m-SomeComponent\",\n  styles: \"color:hotpink;label:SomeComponent;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFjdHVhbC1leHBlY3RlZC11c2FnZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLWSIsImZpbGUiOiJhY3R1YWwtZXhwZWN0ZWQtdXNhZ2UuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiogQGpzeCBqc3ggKi9cbmltcG9ydCB7IGpzeCwgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5cbmNvbnN0IFNvbWVDb21wb25lbnQgPSAoKSA9PiAoXG4gIDxkaXZcbiAgICBjc3M9e2Nzc2BcbiAgICAgIGNvbG9yOiBob3RwaW5rO1xuICAgIGB9XG4gIC8+XG4pXG4iXX0= */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\n\nconst SomeComponent = () => <div css={_ref} />;\"\n`;\n\nexports[`emotion-babel-plugin css already-transpiled-by-babel 1`] = `\n\"/* eslint-disable */\nimport css from '@emotion/css'\nimport _taggedTemplateLiteralLoose from '@babel/runtime/helpers/esm/taggedTemplateLiteralLoose'\n\nfunction _templateObject() {\n  var data = _taggedTemplateLiteralLoose(['\\\\n    color: hotpink;\\\\n  '])\n\n  _templateObject = function _templateObject() {\n    return data\n  }\n\n  return data\n}\n\n// no label & source maps should be appended\nconst fooStyles = css(_templateObject())\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\n/* eslint-disable */\nimport css from '@emotion/css';\nimport _taggedTemplateLiteralLoose from '@babel/runtime/helpers/esm/taggedTemplateLiteralLoose';\n\nfunction _templateObject() {\n  var data = _taggedTemplateLiteralLoose(['\\\\n    color: hotpink;\\\\n  ']);\n\n  _templateObject = function _templateObject() {\n    return data;\n  };\n\n  return data;\n} // no label & source maps should be appended\n\n\nconst fooStyles = css(_templateObject());\"\n`;\n\nexports[`emotion-babel-plugin css basic 1`] = `\n\"import { css } from '@emotion/react'\n\nfunction doThing() {\n  return css\\`\n    display: flex;\n  \\`\n}\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { css } from '@emotion/react';\n\nvar _ref = process.env.NODE_ENV === \"production\" ? {\n  name: \"zjik7\",\n  styles: \"display:flex\"\n} : {\n  name: \"8v5aok-doThing\",\n  styles: \"display:flex;label:doThing;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJhc2ljLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdZIiwiZmlsZSI6ImJhc2ljLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5cbmZ1bmN0aW9uIGRvVGhpbmcoKSB7XG4gIHJldHVybiBjc3NgXG4gICAgZGlzcGxheTogZmxleDtcbiAgYFxufVxuIl19 */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\n\nfunction doThing() {\n  return _ref;\n}\"\n`;\n\nexports[`emotion-babel-plugin css call-expression 1`] = `\n\"import { css } from '@emotion/react'\n\nfunction doThing() {\n  return css({ color: 'hotpink' })\n}\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { css } from '@emotion/react';\n\nvar _ref = process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"aarqni-doThing\",\n  styles: \"color:hotpink;label:doThing;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNhbGwtZXhwcmVzc2lvbi5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHUyIsImZpbGUiOiJjYWxsLWV4cHJlc3Npb24uanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcblxuZnVuY3Rpb24gZG9UaGluZygpIHtcbiAgcmV0dXJuIGNzcyh7IGNvbG9yOiAnaG90cGluaycgfSlcbn1cbiJdfQ== */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\n\nfunction doThing() {\n  return _ref;\n}\"\n`;\n\nexports[`emotion-babel-plugin css call-inside-call 1`] = `\n\"import { css } from '@emotion/react'\n\nconst thing = css\\`\n  display: flex;\n  &:hover {\n    \\${css\\`\n      color: hotpink;\n    \\`};\n  }\n\\`\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { css } from '@emotion/react';\nconst thing = /*#__PURE__*/css(\"display:flex;&:hover{\", process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"1hi0qos-thing\",\n  styles: \"color:hotpink;label:thing;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNhbGwtaW5zaWRlLWNhbGwuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS1MiLCJmaWxlIjoiY2FsbC1pbnNpZGUtY2FsbC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuXG5jb25zdCB0aGluZyA9IGNzc2BcbiAgZGlzcGxheTogZmxleDtcbiAgJjpob3ZlciB7XG4gICAgJHtjc3NgXG4gICAgICBjb2xvcjogaG90cGluaztcbiAgICBgfTtcbiAgfVxuYFxuIl19 */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n}, \";}\" + (process.env.NODE_ENV === \"production\" ? \"\" : \";label:thing;\"), process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNhbGwtaW5zaWRlLWNhbGwuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRWlCIiwiZmlsZSI6ImNhbGwtaW5zaWRlLWNhbGwuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcblxuY29uc3QgdGhpbmcgPSBjc3NgXG4gIGRpc3BsYXk6IGZsZXg7XG4gICY6aG92ZXIge1xuICAgICR7Y3NzYFxuICAgICAgY29sb3I6IGhvdHBpbms7XG4gICAgYH07XG4gIH1cbmBcbiJdfQ== */\");\"\n`;\n\nexports[`emotion-babel-plugin css comment-with-interpolation 1`] = `\n\"import { css } from '@emotion/react'\n\ncss\\`\n  // color: \\${'green'};\n  /*\n\n  something: \\${'something'};\n\n  */\n  color: hotpink;\n\\`\n\ncss\\`\n  // color: \\${'green'};\n  /*\n\n  something: \\${'something'};\n\n  */\n  color: \\${'hotpink'};\n\\`\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { css } from '@emotion/react';\nprocess.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbW1lbnQtd2l0aC1pbnRlcnBvbGF0aW9uLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVHIiwiZmlsZSI6ImNvbW1lbnQtd2l0aC1pbnRlcnBvbGF0aW9uLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5cbmNzc2BcbiAgLy8gY29sb3I6ICR7J2dyZWVuJ307XG4gIC8qXG5cbiAgc29tZXRoaW5nOiAkeydzb21ldGhpbmcnfTtcblxuICAqL1xuICBjb2xvcjogaG90cGluaztcbmBcblxuY3NzYFxuICAvLyBjb2xvcjogJHsnZ3JlZW4nfTtcbiAgLypcblxuICBzb21ldGhpbmc6ICR7J3NvbWV0aGluZyd9O1xuXG4gICovXG4gIGNvbG9yOiAkeydob3RwaW5rJ307XG5gXG4iXX0= */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\nprocess.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbW1lbnQtd2l0aC1pbnRlcnBvbGF0aW9uLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVlHIiwiZmlsZSI6ImNvbW1lbnQtd2l0aC1pbnRlcnBvbGF0aW9uLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5cbmNzc2BcbiAgLy8gY29sb3I6ICR7J2dyZWVuJ307XG4gIC8qXG5cbiAgc29tZXRoaW5nOiAkeydzb21ldGhpbmcnfTtcblxuICAqL1xuICBjb2xvcjogaG90cGluaztcbmBcblxuY3NzYFxuICAvLyBjb2xvcjogJHsnZ3JlZW4nfTtcbiAgLypcblxuICBzb21ldGhpbmc6ICR7J3NvbWV0aGluZyd9O1xuXG4gICovXG4gIGNvbG9yOiAkeydob3RwaW5rJ307XG5gXG4iXX0= */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\"\n`;\n\nexports[`emotion-babel-plugin css impure 1`] = `\n\"import { css } from '@emotion/react'\n\nfunction thing() {}\n\nfunction doThing() {\n  return css\\`\n    display: \\${thing()};\n  \\`\n}\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport { css } from '@emotion/react';\n\nfunction thing() {}\n\nfunction doThing() {\n  return /*#__PURE__*/css(\"display:\", thing(), \";\" + (process.env.NODE_ENV === \"production\" ? \"\" : \";label:doThing;\"), process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImltcHVyZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLWSIsImZpbGUiOiJpbXB1cmUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcblxuZnVuY3Rpb24gdGhpbmcoKSB7fVxuXG5mdW5jdGlvbiBkb1RoaW5nKCkge1xuICByZXR1cm4gY3NzYFxuICAgIGRpc3BsYXk6ICR7dGhpbmcoKX07XG4gIGBcbn1cbiJdfQ== */\");\n}\"\n`;\n\nexports[`emotion-babel-plugin css inside-anonymous-arrow-function 1`] = `\n\"import { css } from '@emotion/react'\n\nexport default () => {\n  css\\`\n    color: hotpink;\n  \\`\n}\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { css } from '@emotion/react';\n\nvar _ref = process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluc2lkZS1hbm9ueW1vdXMtYXJyb3ctZnVuY3Rpb24uanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0siLCJmaWxlIjoiaW5zaWRlLWFub255bW91cy1hcnJvdy1mdW5jdGlvbi5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuXG5leHBvcnQgZGVmYXVsdCAoKSA9PiB7XG4gIGNzc2BcbiAgICBjb2xvcjogaG90cGluaztcbiAgYFxufVxuIl19 */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\n\nexport default (() => {\n  _ref;\n});\"\n`;\n\nexports[`emotion-babel-plugin css inside-anonymous-function 1`] = `\n\"import { css } from '@emotion/react'\n\nexport default () => {\n  css\\`\n    color: hotpink;\n  \\`\n}\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { css } from '@emotion/react';\n\nvar _ref = process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluc2lkZS1hbm9ueW1vdXMtZnVuY3Rpb24uanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0siLCJmaWxlIjoiaW5zaWRlLWFub255bW91cy1mdW5jdGlvbi5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuXG5leHBvcnQgZGVmYXVsdCAoKSA9PiB7XG4gIGNzc2BcbiAgICBjb2xvcjogaG90cGluaztcbiAgYFxufVxuIl19 */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\n\nexport default (() => {\n  _ref;\n});\"\n`;\n\nexports[`emotion-babel-plugin css inside-class 1`] = `\n\"/** @jsx jsx */\nimport { Component } from 'react'\nimport { jsx, css } from '@emotion/react'\n\nclass SomeComponent extends Component {\n  render() {\n    return (\n      <div\n        css={css\\`\n          color: hotpink;\n        \\`}\n      />\n    )\n  }\n}\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\n/** @jsx jsx */\nimport { Component } from 'react';\nimport { jsx, css } from '@emotion/react';\n\nvar _ref = process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"1wl9j1m-SomeComponent\",\n  styles: \"color:hotpink;label:SomeComponent;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluc2lkZS1jbGFzcy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRZ0IiLCJmaWxlIjoiaW5zaWRlLWNsYXNzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBqc3gganN4ICovXG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IGpzeCwgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5cbmNsYXNzIFNvbWVDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnQge1xuICByZW5kZXIoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXZcbiAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgY29sb3I6IGhvdHBpbms7XG4gICAgICAgIGB9XG4gICAgICAvPlxuICAgIClcbiAgfVxufVxuIl19 */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\n\nclass SomeComponent extends Component {\n  render() {\n    return <div css={_ref} />;\n  }\n\n}\"\n`;\n\nexports[`emotion-babel-plugin css label-1 1`] = `\n\"import { css } from '@emotion/react'\n\nconst thing = css\\`\n  color: hotpink;\n\\`\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { css } from '@emotion/react';\nconst thing = process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"1hi0qos-thing\",\n  styles: \"color:hotpink;label:thing;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxhYmVsLTEuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRWlCIiwiZmlsZSI6ImxhYmVsLTEuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcblxuY29uc3QgdGhpbmcgPSBjc3NgXG4gIGNvbG9yOiBob3RwaW5rO1xuYFxuIl19 */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\"\n`;\n\nexports[`emotion-babel-plugin css label-arrow-as-obj-property 1`] = `\n\"import { css } from '@emotion/react'\n\nexport const styles = {\n  colorFn1: () => css\\`\n    color: hotpink;\n  \\`\n}\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { css } from '@emotion/react';\n\nvar _ref = process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"1pr7txl-colorFn1\",\n  styles: \"color:hotpink;label:colorFn1;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxhYmVsLWFycm93LWFzLW9iai1wcm9wZXJ0eS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHcUIiLCJmaWxlIjoibGFiZWwtYXJyb3ctYXMtb2JqLXByb3BlcnR5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5cbmV4cG9ydCBjb25zdCBzdHlsZXMgPSB7XG4gIGNvbG9yRm4xOiAoKSA9PiBjc3NgXG4gICAgY29sb3I6IGhvdHBpbms7XG4gIGBcbn1cbiJdfQ== */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\n\nexport const styles = {\n  colorFn1: () => _ref\n};\"\n`;\n\nexports[`emotion-babel-plugin css label-arrow-function-expression 1`] = `\n\"import { css } from '@emotion/react'\n\nconst thing = () => css\\`\n  color: hotpink;\n\\`\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { css } from '@emotion/react';\n\nvar _ref = process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"1hi0qos-thing\",\n  styles: \"color:hotpink;label:thing;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxhYmVsLWFycm93LWZ1bmN0aW9uLWV4cHJlc3Npb24uanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRXVCIiwiZmlsZSI6ImxhYmVsLWFycm93LWZ1bmN0aW9uLWV4cHJlc3Npb24uanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcblxuY29uc3QgdGhpbmcgPSAoKSA9PiBjc3NgXG4gIGNvbG9yOiBob3RwaW5rO1xuYFxuIl19 */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\n\nconst thing = () => _ref;\"\n`;\n\nexports[`emotion-babel-plugin css label-function-expression 1`] = `\n\"import { css } from '@emotion/react'\n\nconst thing = function () {\n  return css\\`\n    color: hotpink;\n  \\`\n}\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { css } from '@emotion/react';\n\nvar _ref = process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"1hi0qos-thing\",\n  styles: \"color:hotpink;label:thing;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxhYmVsLWZ1bmN0aW9uLWV4cHJlc3Npb24uanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR1kiLCJmaWxlIjoibGFiZWwtZnVuY3Rpb24tZXhwcmVzc2lvbi5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuXG5jb25zdCB0aGluZyA9IGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuIGNzc2BcbiAgICBjb2xvcjogaG90cGluaztcbiAgYFxufVxuIl19 */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\n\nconst thing = function () {\n  return _ref;\n};\"\n`;\n\nexports[`emotion-babel-plugin css label-function-expression-as-obj-property 1`] = `\n\"import { css } from '@emotion/react'\n\nexport const styles = {\n  colorFn1: function () {\n    return css\\`\n      color: hotpink;\n    \\`\n  }\n}\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { css } from '@emotion/react';\n\nvar _ref = process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"1pr7txl-colorFn1\",\n  styles: \"color:hotpink;label:colorFn1;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxhYmVsLWZ1bmN0aW9uLWV4cHJlc3Npb24tYXMtb2JqLXByb3BlcnR5LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUljIiwiZmlsZSI6ImxhYmVsLWZ1bmN0aW9uLWV4cHJlc3Npb24tYXMtb2JqLXByb3BlcnR5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5cbmV4cG9ydCBjb25zdCBzdHlsZXMgPSB7XG4gIGNvbG9yRm4xOiBmdW5jdGlvbiAoKSB7XG4gICAgcmV0dXJuIGNzc2BcbiAgICAgIGNvbG9yOiBob3RwaW5rO1xuICAgIGBcbiAgfVxufVxuIl19 */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\n\nexport const styles = {\n  colorFn1: function () {\n    return _ref;\n  }\n};\"\n`;\n\nexports[`emotion-babel-plugin css label-function-expression-named 1`] = `\n\"import { css } from '@emotion/react'\n\nconst thing = function someName() {\n  return css\\`\n    color: hotpink;\n  \\`\n}\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { css } from '@emotion/react';\n\nvar _ref = process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"sn4mkg-someName\",\n  styles: \"color:hotpink;label:someName;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxhYmVsLWZ1bmN0aW9uLWV4cHJlc3Npb24tbmFtZWQuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR1kiLCJmaWxlIjoibGFiZWwtZnVuY3Rpb24tZXhwcmVzc2lvbi1uYW1lZC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuXG5jb25zdCB0aGluZyA9IGZ1bmN0aW9uIHNvbWVOYW1lKCkge1xuICByZXR1cm4gY3NzYFxuICAgIGNvbG9yOiBob3RwaW5rO1xuICBgXG59XG4iXX0= */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\n\nconst thing = function someName() {\n  return _ref;\n};\"\n`;\n\nexports[`emotion-babel-plugin css label-no-final-semi 1`] = `\n\"import { css } from '@emotion/react'\n\n// prettier-ignore\nconst thing = css\\`\n  color: hotpink\n\\`\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { css } from '@emotion/react'; // prettier-ignore\n\nconst thing = process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"1hi0qos-thing\",\n  styles: \"color:hotpink;label:thing;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxhYmVsLW5vLWZpbmFsLXNlbWkuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR2lCIiwiZmlsZSI6ImxhYmVsLW5vLWZpbmFsLXNlbWkuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcblxuLy8gcHJldHRpZXItaWdub3JlXG5jb25zdCB0aGluZyA9IGNzc2BcbiAgY29sb3I6IGhvdHBpbmtcbmBcbiJdfQ== */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\"\n`;\n\nexports[`emotion-babel-plugin css label-obj-method 1`] = `\n\"import { css } from '@emotion/react'\n\nconst obj = {\n  FooBar() {\n    return (\n      <div\n        css={css\\`\n          background-color: hotpink;\n        \\`}\n      />\n    )\n  }\n}\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { css } from '@emotion/react';\n\nvar _ref = process.env.NODE_ENV === \"production\" ? {\n  name: \"utcpyu\",\n  styles: \"background-color:hotpink\"\n} : {\n  name: \"h6ixui-FooBar\",\n  styles: \"background-color:hotpink;label:FooBar;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxhYmVsLW9iai1tZXRob2QuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTWdCIiwiZmlsZSI6ImxhYmVsLW9iai1tZXRob2QuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcblxuY29uc3Qgb2JqID0ge1xuICBGb29CYXIoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXZcbiAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaG90cGluaztcbiAgICAgICAgYH1cbiAgICAgIC8+XG4gICAgKVxuICB9XG59XG4iXX0= */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\n\nconst obj = {\n  FooBar() {\n    return <div css={_ref} />;\n  }\n\n};\"\n`;\n\nexports[`emotion-babel-plugin css label-obj-property-literal 1`] = `\n\"import { css } from '@emotion/react'\n\nconst obj = {\n  'red component': (\n    <div\n      css={css\\`\n        background-color: hotpink;\n      \\`}\n    />\n  )\n}\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { css } from '@emotion/react';\nconst obj = {\n  'red component': <div css={process.env.NODE_ENV === \"production\" ? {\n    name: \"utcpyu\",\n    styles: \"background-color:hotpink\"\n  } : {\n    name: \"1ewo2bz-red-component\",\n    styles: \"background-color:hotpink;label:red-component;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxhYmVsLW9iai1wcm9wZXJ0eS1saXRlcmFsLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtjIiwiZmlsZSI6ImxhYmVsLW9iai1wcm9wZXJ0eS1saXRlcmFsLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5cbmNvbnN0IG9iaiA9IHtcbiAgJ3JlZCBjb21wb25lbnQnOiAoXG4gICAgPGRpdlxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGhvdHBpbms7XG4gICAgICBgfVxuICAgIC8+XG4gIClcbn1cbiJdfQ== */\",\n    toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n  }} />\n};\"\n`;\n\nexports[`emotion-babel-plugin css label-object 1`] = `\n\"import { css } from '@emotion/react'\n\nconst thing = {\n  thisShouldBeTheLabel: css\\`\n    color: hotpink;\n  \\`,\n  // prettier-ignore\n  'shouldBeAnotherLabel':css\\`\n    color:green;\n  \\`\n}\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { css } from '@emotion/react';\nconst thing = {\n  thisShouldBeTheLabel: process.env.NODE_ENV === \"production\" ? {\n    name: \"3sn2xs\",\n    styles: \"color:hotpink\"\n  } : {\n    name: \"xjpive-thisShouldBeTheLabel\",\n    styles: \"color:hotpink;label:thisShouldBeTheLabel;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxhYmVsLW9iamVjdC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHMkIiLCJmaWxlIjoibGFiZWwtb2JqZWN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5cbmNvbnN0IHRoaW5nID0ge1xuICB0aGlzU2hvdWxkQmVUaGVMYWJlbDogY3NzYFxuICAgIGNvbG9yOiBob3RwaW5rO1xuICBgLFxuICAvLyBwcmV0dGllci1pZ25vcmVcbiAgJ3Nob3VsZEJlQW5vdGhlckxhYmVsJzpjc3NgXG4gICAgY29sb3I6Z3JlZW47XG4gIGBcbn1cbiJdfQ== */\",\n    toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n  },\n  // prettier-ignore\n  'shouldBeAnotherLabel': process.env.NODE_ENV === \"production\" ? {\n    name: \"v98kxt\",\n    styles: \"color:green\"\n  } : {\n    name: \"lgalrw-shouldBeAnotherLabel\",\n    styles: \"color:green;label:shouldBeAnotherLabel;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxhYmVsLW9iamVjdC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPNEIiLCJmaWxlIjoibGFiZWwtb2JqZWN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5cbmNvbnN0IHRoaW5nID0ge1xuICB0aGlzU2hvdWxkQmVUaGVMYWJlbDogY3NzYFxuICAgIGNvbG9yOiBob3RwaW5rO1xuICBgLFxuICAvLyBwcmV0dGllci1pZ25vcmVcbiAgJ3Nob3VsZEJlQW5vdGhlckxhYmVsJzpjc3NgXG4gICAgY29sb3I6Z3JlZW47XG4gIGBcbn1cbiJdfQ== */\",\n    toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n  }\n};\"\n`;\n\nexports[`emotion-babel-plugin css label-transpiled-by-ts 1`] = `\n\"import { __makeTemplateObject } from 'tslib'\nimport { css } from '@emotion/react'\n\nvar templateObject_1\n\nconst someVar = css(\n  templateObject_1 ||\n    (templateObject_1 = __makeTemplateObject(\n      ['\\\\n  color: hotpink;\\\\n'],\n      ['\\\\n  color: hotpink;\\\\n']\n    ))\n)\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport { __makeTemplateObject } from 'tslib';\nimport { css } from '@emotion/react';\nvar templateObject_1;\nconst someVar = /*#__PURE__*/css(templateObject_1 || (templateObject_1 = __makeTemplateObject(['\\\\n  color: hotpink;\\\\n' + (process.env.NODE_ENV === \"production\" ? \"\" : \";label:someVar;\") + (process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxhYmVsLXRyYW5zcGlsZWQtYnktdHMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS2dCIiwiZmlsZSI6ImxhYmVsLXRyYW5zcGlsZWQtYnktdHMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBfX21ha2VUZW1wbGF0ZU9iamVjdCB9IGZyb20gJ3RzbGliJ1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5cbnZhciB0ZW1wbGF0ZU9iamVjdF8xXG5cbmNvbnN0IHNvbWVWYXIgPSBjc3MoXG4gIHRlbXBsYXRlT2JqZWN0XzEgfHxcbiAgICAodGVtcGxhdGVPYmplY3RfMSA9IF9fbWFrZVRlbXBsYXRlT2JqZWN0KFxuICAgICAgWydcXG4gIGNvbG9yOiBob3RwaW5rO1xcbiddLFxuICAgICAgWydcXG4gIGNvbG9yOiBob3RwaW5rO1xcbiddXG4gICAgKSlcbilcbiJdfQ== */\")], ['\\\\n  color: hotpink;\\\\n' + (process.env.NODE_ENV === \"production\" ? \"\" : \";label:someVar;\") + (process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxhYmVsLXRyYW5zcGlsZWQtYnktdHMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS2dCIiwiZmlsZSI6ImxhYmVsLXRyYW5zcGlsZWQtYnktdHMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBfX21ha2VUZW1wbGF0ZU9iamVjdCB9IGZyb20gJ3RzbGliJ1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5cbnZhciB0ZW1wbGF0ZU9iamVjdF8xXG5cbmNvbnN0IHNvbWVWYXIgPSBjc3MoXG4gIHRlbXBsYXRlT2JqZWN0XzEgfHxcbiAgICAodGVtcGxhdGVPYmplY3RfMSA9IF9fbWFrZVRlbXBsYXRlT2JqZWN0KFxuICAgICAgWydcXG4gIGNvbG9yOiBob3RwaW5rO1xcbiddLFxuICAgICAgWydcXG4gIGNvbG9yOiBob3RwaW5rO1xcbiddXG4gICAgKSlcbilcbiJdfQ== */\")])));\"\n`;\n\nexports[`emotion-babel-plugin css label-transpiled-by-ts-with-interpolations 1`] = `\n\"import { __makeTemplateObject } from 'tslib'\nimport css from '@emotion/react'\nimport { hoverStyles } from './styles'\n\nvar templateObject_1\n\nconst someVar = css(\n  templateObject_1 ||\n    (templateObject_1 = __makeTemplateObject(\n      ['\\\\n  color: hotpink;\\\\n'],\n      ['\\\\n  color: hotpink;\\\\n']\n    )),\n  hoverStyles\n)\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport { __makeTemplateObject } from 'tslib';\nimport css from '@emotion/react';\nimport { hoverStyles } from './styles';\nvar templateObject_1;\nconst someVar = css(templateObject_1 || (templateObject_1 = __makeTemplateObject(['\\\\n  color: hotpink;\\\\n'], ['\\\\n  color: hotpink;\\\\n'])), hoverStyles);\"\n`;\n\nexports[`emotion-babel-plugin css multiple-calls 1`] = `\n\"import { css } from '@emotion/react'\n\nconst thing = css\\`\n  color: hotpink;\n\\`\n\nconst otherThing = css\\`\n  color: green;\n\\`\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { css } from '@emotion/react';\nconst thing = process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"1hi0qos-thing\",\n  styles: \"color:hotpink;label:thing;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm11bHRpcGxlLWNhbGxzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVpQiIsImZpbGUiOiJtdWx0aXBsZS1jYWxscy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuXG5jb25zdCB0aGluZyA9IGNzc2BcbiAgY29sb3I6IGhvdHBpbms7XG5gXG5cbmNvbnN0IG90aGVyVGhpbmcgPSBjc3NgXG4gIGNvbG9yOiBncmVlbjtcbmBcbiJdfQ== */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\nconst otherThing = process.env.NODE_ENV === \"production\" ? {\n  name: \"v98kxt\",\n  styles: \"color:green\"\n} : {\n  name: \"onvdw0-otherThing\",\n  styles: \"color:green;label:otherThing;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm11bHRpcGxlLWNhbGxzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1zQiIsImZpbGUiOiJtdWx0aXBsZS1jYWxscy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuXG5jb25zdCB0aGluZyA9IGNzc2BcbiAgY29sb3I6IGhvdHBpbms7XG5gXG5cbmNvbnN0IG90aGVyVGhpbmcgPSBjc3NgXG4gIGNvbG9yOiBncmVlbjtcbmBcbiJdfQ== */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\"\n`;\n\nexports[`emotion-babel-plugin css no-actual-import 1`] = `\n\"import '@emotion/react'\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport '@emotion/react';\"\n`;\n\nexports[`emotion-babel-plugin css no-label-array-pattern 1`] = `\n\"import { css } from '@emotion/react'\n\nconst [weirdo] = [\n  css\\`\n    color: hotpink;\n  \\`\n]\n\nexport default weirdo\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { css } from '@emotion/react';\nconst [weirdo] = [process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5vLWxhYmVsLWFycmF5LXBhdHRlcm4uanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0siLCJmaWxlIjoibm8tbGFiZWwtYXJyYXktcGF0dGVybi5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuXG5jb25zdCBbd2VpcmRvXSA9IFtcbiAgY3NzYFxuICAgIGNvbG9yOiBob3RwaW5rO1xuICBgXG5dXG5cbmV4cG9ydCBkZWZhdWx0IHdlaXJkb1xuIl19 */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n}];\nexport default weirdo;\"\n`;\n\nexports[`emotion-babel-plugin css no-label-obj-pattern-computed-property 1`] = `\n\"import { css } from '@emotion/react'\n\nconst computed = 'weirdo'\n\nconst { weirdo } = {\n  [computed]: css\\`\n    color: hotpink;\n  \\`\n}\n\nexport default weirdo\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { css } from '@emotion/react';\nconst computed = 'weirdo';\nconst {\n  weirdo\n} = {\n  [computed]: process.env.NODE_ENV === \"production\" ? {\n    name: \"3sn2xs\",\n    styles: \"color:hotpink\"\n  } : {\n    name: \"3sn2xs\",\n    styles: \"color:hotpink/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5vLWxhYmVsLW9iai1wYXR0ZXJuLWNvbXB1dGVkLXByb3BlcnR5LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtpQiIsImZpbGUiOiJuby1sYWJlbC1vYmotcGF0dGVybi1jb21wdXRlZC1wcm9wZXJ0eS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuXG5jb25zdCBjb21wdXRlZCA9ICd3ZWlyZG8nXG5cbmNvbnN0IHsgd2VpcmRvIH0gPSB7XG4gIFtjb21wdXRlZF06IGNzc2BcbiAgICBjb2xvcjogaG90cGluaztcbiAgYFxufVxuXG5leHBvcnQgZGVmYXVsdCB3ZWlyZG9cbiJdfQ== */\",\n    toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n  }\n};\nexport default weirdo;\"\n`;\n\nexports[`emotion-babel-plugin css object-dynamic-property 1`] = `\n\"import { css } from '@emotion/react'\n\nfunction doThing() {\n  return {\n    [css({ color: 'hotpink' })]: 'coldblue'\n  }\n}\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { css } from '@emotion/react';\n\nvar _ref = process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm9iamVjdC1keW5hbWljLXByb3BlcnR5LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlLIiwiZmlsZSI6Im9iamVjdC1keW5hbWljLXByb3BlcnR5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5cbmZ1bmN0aW9uIGRvVGhpbmcoKSB7XG4gIHJldHVybiB7XG4gICAgW2Nzcyh7IGNvbG9yOiAnaG90cGluaycgfSldOiAnY29sZGJsdWUnXG4gIH1cbn1cbiJdfQ== */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\n\nfunction doThing() {\n  return {\n    [_ref]: 'coldblue'\n  };\n}\"\n`;\n\nexports[`emotion-babel-plugin css object-pattern-variable-declarator 1`] = `\n\"import { css } from '@emotion/react'\nimport { extractCritical } from '@emotion/server'\nimport React from 'react'\nimport { renderToString } from 'react-dom/server'\n\nconst { css: styles } = extractCritical(\n  renderToString(\n    <div\n      css={css\\`\n        color: hotpink;\n      \\`}\n    />\n  )\n)\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { css } from '@emotion/react';\nimport { extractCritical } from '@emotion/server';\nimport React from 'react';\nimport { renderToString } from 'react-dom/server';\nconst {\n  css: styles\n} = extractCritical(renderToString(<div css={process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm9iamVjdC1wYXR0ZXJuLXZhcmlhYmxlLWRlY2xhcmF0b3IuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUWMiLCJmaWxlIjoib2JqZWN0LXBhdHRlcm4tdmFyaWFibGUtZGVjbGFyYXRvci5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuaW1wb3J0IHsgZXh0cmFjdENyaXRpY2FsIH0gZnJvbSAnQGVtb3Rpb24vc2VydmVyJ1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgcmVuZGVyVG9TdHJpbmcgfSBmcm9tICdyZWFjdC1kb20vc2VydmVyJ1xuXG5jb25zdCB7IGNzczogc3R5bGVzIH0gPSBleHRyYWN0Q3JpdGljYWwoXG4gIHJlbmRlclRvU3RyaW5nKFxuICAgIDxkaXZcbiAgICAgIGNzcz17Y3NzYFxuICAgICAgICBjb2xvcjogaG90cGluaztcbiAgICAgIGB9XG4gICAgLz5cbiAgKVxuKVxuIl19 */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n}} />));\"\n`;\n\nexports[`emotion-babel-plugin css other-imports 1`] = `\n\"import { nonExistantImport } from '@emotion/react'\n\nnonExistantImport()\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport { nonExistantImport } from '@emotion/react';\nnonExistantImport();\"\n`;\n\nexports[`emotion-babel-plugin css remove-block-comments 1`] = `\n\"import { css } from '@emotion/react'\n\ncss\\`\n  /* color:green;\nddjfwjkng\n  */\n  color: hotpink;\n\\`\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { css } from '@emotion/react';\nprocess.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInJlbW92ZS1ibG9jay1jb21tZW50cy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFRyIsImZpbGUiOiJyZW1vdmUtYmxvY2stY29tbWVudHMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcblxuY3NzYFxuICAvKiBjb2xvcjpncmVlbjtcbmRkamZ3amtuZ1xuICAqL1xuICBjb2xvcjogaG90cGluaztcbmBcbiJdfQ== */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\"\n`;\n\nexports[`emotion-babel-plugin css remove-line-comments 1`] = `\n\"import { css } from '@emotion/react'\n\ncss\\`\n  // color: green;\n  color: hotpink;\n\\`\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { css } from '@emotion/react';\nprocess.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInJlbW92ZS1saW5lLWNvbW1lbnRzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVHIiwiZmlsZSI6InJlbW92ZS1saW5lLWNvbW1lbnRzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5cbmNzc2BcbiAgLy8gY29sb3I6IGdyZWVuO1xuICBjb2xvcjogaG90cGluaztcbmBcbiJdfQ== */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\"\n`;\n\nexports[`emotion-babel-plugin css tagged-template-args-forwarded 1`] = `\n\"import { css } from '@emotion/react'\n\nfunction media(...args) {\n  return css\\`\n    @media (min-width: 100px) {\n      \\${css(...args)};\n    }\n  \\`\n}\n\nconst test = css\\`\n  \\${media\\`color: red;\\`};\n\\`\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport { css } from '@emotion/react';\n\nfunction media(...args) {\n  return /*#__PURE__*/css(\"@media (min-width: 100px){\", /*#__PURE__*/css(...args), \";}\" + (process.env.NODE_ENV === \"production\" ? \"\" : \";label:media;\"), process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRhZ2dlZC10ZW1wbGF0ZS1hcmdzLWZvcndhcmRlZC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHWSIsImZpbGUiOiJ0YWdnZWQtdGVtcGxhdGUtYXJncy1mb3J3YXJkZWQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcblxuZnVuY3Rpb24gbWVkaWEoLi4uYXJncykge1xuICByZXR1cm4gY3NzYFxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDBweCkge1xuICAgICAgJHtjc3MoLi4uYXJncyl9O1xuICAgIH1cbiAgYFxufVxuXG5jb25zdCB0ZXN0ID0gY3NzYFxuICAke21lZGlhYGNvbG9yOiByZWQ7YH07XG5gXG4iXX0= */\");\n}\n\nconst test = /*#__PURE__*/css(media\\`color: red;\\`, \";\" + (process.env.NODE_ENV === \"production\" ? \"\" : \";label:test;\"), process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRhZ2dlZC10ZW1wbGF0ZS1hcmdzLWZvcndhcmRlZC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVZ0IiLCJmaWxlIjoidGFnZ2VkLXRlbXBsYXRlLWFyZ3MtZm9yd2FyZGVkLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5cbmZ1bmN0aW9uIG1lZGlhKC4uLmFyZ3MpIHtcbiAgcmV0dXJuIGNzc2BcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAwcHgpIHtcbiAgICAgICR7Y3NzKC4uLmFyZ3MpfTtcbiAgICB9XG4gIGBcbn1cblxuY29uc3QgdGVzdCA9IGNzc2BcbiAgJHttZWRpYWBjb2xvcjogcmVkO2B9O1xuYFxuIl19 */\");\"\n`;\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/__snapshots__/global-requires-options.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`Global inline source maps can be disabled 1`] = `\n\"\nimport * as React from 'react'\nimport { Global } from '@emotion/react'\n\nexport default () => <Global styles={{ color: 'hotpink' }} />\n    \n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport * as React from 'react';\nimport { Global } from '@emotion/react';\n\nvar _ref = process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\n\nexport default (() => <Global styles={_ref} />);\"\n`;\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/__snapshots__/global.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`emotion-babel-plugin Global basic-array 1`] = `\n\"import * as React from 'react'\nimport { Global } from '@emotion/react'\n\nexport default () => (\n  <Global styles={[{ color: 'hotpink' }, { backgroundColor: '#fff' }]} />\n)\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport * as React from 'react';\nimport { Global } from '@emotion/react';\n\nvar _ref = process.env.NODE_ENV === \"production\" ? {\n  name: \"9aoaei\",\n  styles: \"color:hotpink;background-color:#fff\"\n} : {\n  name: \"9aoaei\",\n  styles: \"color:hotpink;background-color:#fff/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJhc2ljLWFycmF5LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlVIiwiZmlsZSI6ImJhc2ljLWFycmF5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBHbG9iYWwgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcblxuZXhwb3J0IGRlZmF1bHQgKCkgPT4gKFxuICA8R2xvYmFsIHN0eWxlcz17W3sgY29sb3I6ICdob3RwaW5rJyB9LCB7IGJhY2tncm91bmRDb2xvcjogJyNmZmYnIH1dfSAvPlxuKVxuIl19 */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\n\nexport default (() => <Global styles={_ref} />);\"\n`;\n\nexports[`emotion-babel-plugin Global basic-obj 1`] = `\n\"import * as React from 'react'\nimport { Global } from '@emotion/react'\n\nexport default () => <Global styles={{ color: 'hotpink' }} />\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport * as React from 'react';\nimport { Global } from '@emotion/react';\n\nvar _ref = process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJhc2ljLW9iai5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHNkIiLCJmaWxlIjoiYmFzaWMtb2JqLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBHbG9iYWwgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcblxuZXhwb3J0IGRlZmF1bHQgKCkgPT4gPEdsb2JhbCBzdHlsZXM9e3sgY29sb3I6ICdob3RwaW5rJyB9fSAvPlxuIl19 */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\n\nexport default (() => <Global styles={_ref} />);\"\n`;\n\nexports[`emotion-babel-plugin Global complex-array 1`] = `\n\"import * as React from 'react'\nimport { Global } from '@emotion/react'\n\nconst getBgColor = () => ({ backgroundColor: '#fff' })\n\nexport default () => <Global styles={[{ color: 'hotpink' }, getBgColor()]} />\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport * as React from 'react';\nimport { Global } from '@emotion/react';\n\nconst getBgColor = () => ({\n  backgroundColor: '#fff'\n});\n\nexport default (() => <Global styles={[\"color:hotpink;\", getBgColor(), process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBsZXgtYXJyYXkuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSzZCIiwiZmlsZSI6ImNvbXBsZXgtYXJyYXkuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCdcbmltcG9ydCB7IEdsb2JhbCB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuXG5jb25zdCBnZXRCZ0NvbG9yID0gKCkgPT4gKHsgYmFja2dyb3VuZENvbG9yOiAnI2ZmZicgfSlcblxuZXhwb3J0IGRlZmF1bHQgKCkgPT4gPEdsb2JhbCBzdHlsZXM9e1t7IGNvbG9yOiAnaG90cGluaycgfSwgZ2V0QmdDb2xvcigpXX0gLz5cbiJdfQ== */\"]} />);\"\n`;\n\nexports[`emotion-babel-plugin Global complex-obj 1`] = `\n\"import * as React from 'react'\nimport { Global } from '@emotion/react'\n\nconst getBgColor = () => ({ backgroundColor: '#fff' })\n\nexport default () => <Global styles={{ color: 'hotpink', ...getBgColor() }} />\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport { css as _css } from \"@emotion/react\";\nimport * as React from 'react';\nimport { Global } from '@emotion/react';\n\nconst getBgColor = () => ({\n  backgroundColor: '#fff'\n});\n\nexport default (() => <Global styles={/*#__PURE__*/_css({\n  color: 'hotpink',\n  ...getBgColor()\n}, process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBsZXgtb2JqLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUs2QiIsImZpbGUiOiJjb21wbGV4LW9iai5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgR2xvYmFsIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5cbmNvbnN0IGdldEJnQ29sb3IgPSAoKSA9PiAoeyBiYWNrZ3JvdW5kQ29sb3I6ICcjZmZmJyB9KVxuXG5leHBvcnQgZGVmYXVsdCAoKSA9PiA8R2xvYmFsIHN0eWxlcz17eyBjb2xvcjogJ2hvdHBpbmsnLCAuLi5nZXRCZ0NvbG9yKCkgfX0gLz5cbiJdfQ== */\")} />);\"\n`;\n\nexports[`emotion-babel-plugin Global css-used-as-value 1`] = `\n\"import * as React from 'react'\nimport { Global, css } from '@emotion/react'\n\n// this gets ignored by Global macro, but it tests that this combination doesn't crash or something\nexport default () => <Global styles={css({ color: 'hotpink' })} />\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport * as React from 'react';\nimport { Global, css } from '@emotion/react'; // this gets ignored by Global macro, but it tests that this combination doesn't crash or something\n\nvar _ref = process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNzcy11c2VkLWFzLXZhbHVlLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlxQyIsImZpbGUiOiJjc3MtdXNlZC1hcy12YWx1ZS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgR2xvYmFsLCBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcblxuLy8gdGhpcyBnZXRzIGlnbm9yZWQgYnkgR2xvYmFsIG1hY3JvLCBidXQgaXQgdGVzdHMgdGhhdCB0aGlzIGNvbWJpbmF0aW9uIGRvZXNuJ3QgY3Jhc2ggb3Igc29tZXRoaW5nXG5leHBvcnQgZGVmYXVsdCAoKSA9PiA8R2xvYmFsIHN0eWxlcz17Y3NzKHsgY29sb3I6ICdob3RwaW5rJyB9KX0gLz5cbiJdfQ== */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\n\nexport default (() => <Global styles={_ref} />);\"\n`;\n\nexports[`emotion-babel-plugin Global no-jsx 1`] = `\n\"import * as React from 'react'\nimport { Global } from '@emotion/react'\n\nconst foo = Global\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport * as React from 'react';\nimport { Global } from '@emotion/react';\nconst foo = Global;\"\n`;\n\nexports[`emotion-babel-plugin Global no-styles-prop 1`] = `\n\"import * as React from 'react'\nimport { Global } from '@emotion/react'\n\nexport default () => <Global />\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport * as React from 'react';\nimport { Global } from '@emotion/react';\nexport default (() => <Global />);\"\n`;\n\nexports[`emotion-babel-plugin Global spread-styles 1`] = `\n\"/* eslint-disable */\nimport * as React from 'react'\nimport { Global } from '@emotion/react'\n\nexport default () => <Global {...styles} />\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\n/* eslint-disable */\nimport * as React from 'react';\nimport { Global } from '@emotion/react';\nexport default (() => <Global {...styles} />);\"\n`;\n\nexports[`emotion-babel-plugin Global with-closing-element 1`] = `\n\"/* eslint-disable */\nimport * as React from 'react'\nimport { Global } from '@emotion/react'\n\n// prettier-ignore\nexport default () => <Global styles={{ color: 'hotpink' }}></Global>\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\n/* eslint-disable */\nimport * as React from 'react';\nimport { Global } from '@emotion/react'; // prettier-ignore\n\nvar _ref = process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndpdGgtY2xvc2luZy1lbGVtZW50LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUs2QiIsImZpbGUiOiJ3aXRoLWNsb3NpbmctZWxlbWVudC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlICovXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCdcbmltcG9ydCB7IEdsb2JhbCB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuXG4vLyBwcmV0dGllci1pZ25vcmVcbmV4cG9ydCBkZWZhdWx0ICgpID0+IDxHbG9iYWwgc3R5bGVzPXt7IGNvbG9yOiAnaG90cGluaycgfX0+PC9HbG9iYWw+XG4iXX0= */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\n\nexport default (() => <Global styles={_ref}></Global>);\"\n`;\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/__snapshots__/index.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`@emotion/babel-plugin autolabel-and-css-property-label 1`] = `\n\"/** @jsx jsx */\nimport { jsx, css } from '@emotion/react'\n\nconst SomeComponent = () => (\n  <div\n    className={css\\`\n      color: pink;\n      label: iChenLei;\n    \\`}\n  />\n)\n\nconst OtherComponent = () => (\n  <div\n    className={css({\n      color: 'blue',\n      label: 'iChenLei'\n    })}\n  />\n)\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\n/** @jsx jsx */\nimport { jsx, css } from '@emotion/react';\n\nvar _ref2 = process.env.NODE_ENV === \"production\" ? {\n  name: \"1fxxsfa-iChenLei\",\n  styles: \"color:pink;label:iChenLei\"\n} : {\n  name: \"nd3mvs-iChenLei-SomeComponent\",\n  styles: \"color:pink;label:iChenLei;label:SomeComponent;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImF1dG9sYWJlbC1hbmQtY3NzLXByb3BlcnR5LWxhYmVsLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtrQiIsImZpbGUiOiJhdXRvbGFiZWwtYW5kLWNzcy1wcm9wZXJ0eS1sYWJlbC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBAanN4IGpzeCAqL1xuaW1wb3J0IHsganN4LCBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcblxuY29uc3QgU29tZUNvbXBvbmVudCA9ICgpID0+IChcbiAgPGRpdlxuICAgIGNsYXNzTmFtZT17Y3NzYFxuICAgICAgY29sb3I6IHBpbms7XG4gICAgICBsYWJlbDogaUNoZW5MZWk7XG4gICAgYH1cbiAgLz5cbilcblxuY29uc3QgT3RoZXJDb21wb25lbnQgPSAoKSA9PiAoXG4gIDxkaXZcbiAgICBjbGFzc05hbWU9e2Nzcyh7XG4gICAgICBjb2xvcjogJ2JsdWUnLFxuICAgICAgbGFiZWw6ICdpQ2hlbkxlaSdcbiAgICB9KX1cbiAgLz5cbilcbiJdfQ== */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\n\nconst SomeComponent = () => <div className={_ref2} />;\n\nvar _ref = process.env.NODE_ENV === \"production\" ? {\n  name: \"lbkv5g-iChenLei\",\n  styles: \"color:blue;label:iChenLei\"\n} : {\n  name: \"102zoqq-iChenLei-OtherComponent\",\n  styles: \"color:blue;label:iChenLei;label:OtherComponent;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImF1dG9sYWJlbC1hbmQtY3NzLXByb3BlcnR5LWxhYmVsLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWNlIiwiZmlsZSI6ImF1dG9sYWJlbC1hbmQtY3NzLXByb3BlcnR5LWxhYmVsLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBqc3gganN4ICovXG5pbXBvcnQgeyBqc3gsIGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuXG5jb25zdCBTb21lQ29tcG9uZW50ID0gKCkgPT4gKFxuICA8ZGl2XG4gICAgY2xhc3NOYW1lPXtjc3NgXG4gICAgICBjb2xvcjogcGluaztcbiAgICAgIGxhYmVsOiBpQ2hlbkxlaTtcbiAgICBgfVxuICAvPlxuKVxuXG5jb25zdCBPdGhlckNvbXBvbmVudCA9ICgpID0+IChcbiAgPGRpdlxuICAgIGNsYXNzTmFtZT17Y3NzKHtcbiAgICAgIGNvbG9yOiAnYmx1ZScsXG4gICAgICBsYWJlbDogJ2lDaGVuTGVpJ1xuICAgIH0pfVxuICAvPlxuKVxuIl19 */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\n\nconst OtherComponent = () => <div className={_ref} />;\"\n`;\n\nexports[`@emotion/babel-plugin core-with-component 1`] = `\n\"import styled from '@emotion/styled'\n\nconst MyComponent = styled.div({ color: 'hotpink' })\n\nconst OtherComponent = MyComponent.withComponent('section')\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport _styled from \"@emotion/styled/base\";\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nconst MyComponent = /*#__PURE__*/_styled(\"div\", process.env.NODE_ENV === \"production\" ? {\n  target: \"eck06en0\"\n} : {\n  target: \"eck06en0\",\n  label: \"MyComponent\"\n})(process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvcmUtd2l0aC1jb21wb25lbnQuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRW9CIiwiZmlsZSI6ImNvcmUtd2l0aC1jb21wb25lbnQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCdcblxuY29uc3QgTXlDb21wb25lbnQgPSBzdHlsZWQuZGl2KHsgY29sb3I6ICdob3RwaW5rJyB9KVxuXG5jb25zdCBPdGhlckNvbXBvbmVudCA9IE15Q29tcG9uZW50LndpdGhDb21wb25lbnQoJ3NlY3Rpb24nKVxuIl19 */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\n\nconst OtherComponent = MyComponent.withComponent('section', process.env.NODE_ENV === \"production\" ? {\n  target: \"eck06en1\"\n} : {\n  target: \"eck06en1\",\n  label: \"OtherComponent\"\n});\"\n`;\n\nexports[`@emotion/babel-plugin core-with-css-import 1`] = `\n\"/** @jsx jsx */\nimport { jsx, css } from '@emotion/react'\n\nconst SomeComponent = props => (\n  <div\n    css={css\\`\n      color: hotpink;\n    \\`}\n    {...props}\n  />\n)\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\n/** @jsx jsx */\nimport { jsx, css } from '@emotion/react';\n\nvar _ref = process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"1wl9j1m-SomeComponent\",\n  styles: \"color:hotpink;label:SomeComponent;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvcmUtd2l0aC1jc3MtaW1wb3J0LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtZIiwiZmlsZSI6ImNvcmUtd2l0aC1jc3MtaW1wb3J0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBqc3gganN4ICovXG5pbXBvcnQgeyBqc3gsIGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuXG5jb25zdCBTb21lQ29tcG9uZW50ID0gcHJvcHMgPT4gKFxuICA8ZGl2XG4gICAgY3NzPXtjc3NgXG4gICAgICBjb2xvcjogaG90cGluaztcbiAgICBgfVxuICAgIHsuLi5wcm9wc31cbiAgLz5cbilcbiJdfQ== */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\n\nconst SomeComponent = props => <div css={_ref} {...props} />;\"\n`;\n\nexports[`@emotion/babel-plugin core-with-css-import-dynamic 1`] = `\n\"/** @jsx jsx */\nimport { jsx, css } from '@emotion/react'\n\nconst SomeComponent = props => (\n  <div\n    css={css\\`\n      color: \\${window};\n    \\`}\n    {...props}\n  />\n)\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\n/** @jsx jsx */\nimport { jsx, css } from '@emotion/react';\n\nconst SomeComponent = props => <div css={\n/*#__PURE__*/\n\n/*#__PURE__*/\ncss(\"color:\", window, \";\" + (process.env.NODE_ENV === \"production\" ? \"\" : \";label:SomeComponent;\"), process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvcmUtd2l0aC1jc3MtaW1wb3J0LWR5bmFtaWMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS1kiLCJmaWxlIjoiY29yZS13aXRoLWNzcy1pbXBvcnQtZHluYW1pYy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBAanN4IGpzeCAqL1xuaW1wb3J0IHsganN4LCBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcblxuY29uc3QgU29tZUNvbXBvbmVudCA9IHByb3BzID0+IChcbiAgPGRpdlxuICAgIGNzcz17Y3NzYFxuICAgICAgY29sb3I6ICR7d2luZG93fTtcbiAgICBgfVxuICAgIHsuLi5wcm9wc31cbiAgLz5cbilcbiJdfQ== */\", process.env.NODE_ENV === \"production\" ? \"\" : \";label:SomeComponent;\")} {...props} />;\"\n`;\n\nexports[`@emotion/babel-plugin css-prop-complex-array 1`] = `\n\"/** @jsx jsx */\nimport { jsx, Global } from '@emotion/react/macro'\n\nconst css1 = theme => ({ backgroundColor: theme.bgColor })\nconst css2 = theme => ({ padding: theme.spacing.small })\n\nfunction SomeComponent(props) {\n  return <div css={[css1, css2]}>{'Emotion'}</div>\n}\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\n/** @jsx jsx */\nimport { jsx, Global } from \"@emotion/react\";\n\nconst css1 = theme => ({\n  backgroundColor: theme.bgColor\n});\n\nconst css2 = theme => ({\n  padding: theme.spacing.small\n});\n\nfunction SomeComponent(props) {\n  return <div css={[css1, css2, process.env.NODE_ENV === \"production\" ? \"\" : \";label:SomeComponent;\", process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNzcy1wcm9wLWNvbXBsZXgtYXJyYXkuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT2MiLCJmaWxlIjoiY3NzLXByb3AtY29tcGxleC1hcnJheS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBAanN4IGpzeCAqL1xuaW1wb3J0IHsganN4LCBHbG9iYWwgfSBmcm9tICdAZW1vdGlvbi9yZWFjdC9tYWNybydcblxuY29uc3QgY3NzMSA9IHRoZW1lID0+ICh7IGJhY2tncm91bmRDb2xvcjogdGhlbWUuYmdDb2xvciB9KVxuY29uc3QgY3NzMiA9IHRoZW1lID0+ICh7IHBhZGRpbmc6IHRoZW1lLnNwYWNpbmcuc21hbGwgfSlcblxuZnVuY3Rpb24gU29tZUNvbXBvbmVudChwcm9wcykge1xuICByZXR1cm4gPGRpdiBjc3M9e1tjc3MxLCBjc3MyXX0+eydFbW90aW9uJ308L2Rpdj5cbn1cbiJdfQ== */\", process.env.NODE_ENV === \"production\" ? \"\" : \";label:SomeComponent;\", process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNzcy1wcm9wLWNvbXBsZXgtYXJyYXkuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT2MiLCJmaWxlIjoiY3NzLXByb3AtY29tcGxleC1hcnJheS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBAanN4IGpzeCAqL1xuaW1wb3J0IHsganN4LCBHbG9iYWwgfSBmcm9tICdAZW1vdGlvbi9yZWFjdC9tYWNybydcblxuY29uc3QgY3NzMSA9IHRoZW1lID0+ICh7IGJhY2tncm91bmRDb2xvcjogdGhlbWUuYmdDb2xvciB9KVxuY29uc3QgY3NzMiA9IHRoZW1lID0+ICh7IHBhZGRpbmc6IHRoZW1lLnNwYWNpbmcuc21hbGwgfSlcblxuZnVuY3Rpb24gU29tZUNvbXBvbmVudChwcm9wcykge1xuICByZXR1cm4gPGRpdiBjc3M9e1tjc3MxLCBjc3MyXX0+eydFbW90aW9uJ308L2Rpdj5cbn1cbiJdfQ== */\"]}>{'Emotion'}</div>;\n}\"\n`;\n\nexports[`@emotion/babel-plugin does-not-change-other-props 1`] = `\n\"/** @jsx jsx */\nimport { jsx } from '@emotion/react'\n\nconst Svg = <rect style={{ stroke: '#ff0000' }} />\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\n/** @jsx jsx */\nimport { jsx } from '@emotion/react';\nconst Svg = <rect style={{\n  stroke: '#ff0000'\n}} />;\"\n`;\n\nexports[`@emotion/babel-plugin dynamic 1`] = `\n\"/** @jsx jsx */\nimport { jsx } from '@emotion/react'\n\nconst SomeComponent = props => <div css={{ color: window }} {...props} />\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport { css as _css } from \"@emotion/react\";\n\n/** @jsx jsx */\nimport { jsx } from '@emotion/react';\n\nconst SomeComponent = props => <div css={/*#__PURE__*/_css({\n  color: window\n}, process.env.NODE_ENV === \"production\" ? \"\" : \";label:SomeComponent;\", process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImR5bmFtaWMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR29DIiwiZmlsZSI6ImR5bmFtaWMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiogQGpzeCBqc3ggKi9cbmltcG9ydCB7IGpzeCB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuXG5jb25zdCBTb21lQ29tcG9uZW50ID0gcHJvcHMgPT4gPGRpdiBjc3M9e3sgY29sb3I6IHdpbmRvdyB9fSB7Li4ucHJvcHN9IC8+XG4iXX0= */\")} {...props} />;\"\n`;\n\nexports[`@emotion/babel-plugin function-declaration 1`] = `\n\"import * as React from 'react'\nimport { jsx } from '@emotion/react'\n\nfunction Logo(props) {\n  return (\n    <a\n      css={{\n        display: 'block'\n      }}\n    />\n  )\n}\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport * as React from 'react';\nimport { jsx } from '@emotion/react';\n\nvar _ref = process.env.NODE_ENV === \"production\" ? {\n  name: \"4zleql\",\n  styles: \"display:block\"\n} : {\n  name: \"jgxhdf-Logo\",\n  styles: \"display:block;label:Logo;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZ1bmN0aW9uLWRlY2xhcmF0aW9uLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1NIiwiZmlsZSI6ImZ1bmN0aW9uLWRlY2xhcmF0aW9uLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBqc3ggfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcblxuZnVuY3Rpb24gTG9nbyhwcm9wcykge1xuICByZXR1cm4gKFxuICAgIDxhXG4gICAgICBjc3M9e3tcbiAgICAgICAgZGlzcGxheTogJ2Jsb2NrJ1xuICAgICAgfX1cbiAgICAvPlxuICApXG59XG4iXX0= */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\n\nfunction Logo(props) {\n  return <a css={_ref} />;\n}\"\n`;\n\nexports[`@emotion/babel-plugin import-namespace-does-not-throw 1`] = `\n\"import * as emotionCore from '@emotion/react'\n// could probably support this for real but it's pretty rare so I'm not gonna spend time on it now\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport * as emotionCore from '@emotion/react'; // could probably support this for real but it's pretty rare so I'm not gonna spend time on it now\"\n`;\n\nexports[`@emotion/babel-plugin jsx-hoist 1`] = `\n\"/** @jsx jsx */\nimport { jsx } from '@emotion/react'\n\nconst SomeComponent = props => (\n  <div\n    css={{\n      color: 'hotpink'\n    }}\n    {...props}\n  />\n)\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\n/** @jsx jsx */\nimport { jsx } from '@emotion/react';\n\nvar _ref = process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"1wl9j1m-SomeComponent\",\n  styles: \"color:hotpink;label:SomeComponent;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImpzeC1ob2lzdC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLSSIsImZpbGUiOiJqc3gtaG9pc3QuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiogQGpzeCBqc3ggKi9cbmltcG9ydCB7IGpzeCB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuXG5jb25zdCBTb21lQ29tcG9uZW50ID0gcHJvcHMgPT4gKFxuICA8ZGl2XG4gICAgY3NzPXt7XG4gICAgICBjb2xvcjogJ2hvdHBpbmsnXG4gICAgfX1cbiAgICB7Li4ucHJvcHN9XG4gIC8+XG4pXG4iXX0= */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\n\nconst SomeComponent = props => <div css={_ref} {...props} />;\"\n`;\n\nexports[`@emotion/babel-plugin object-property 1`] = `\n\"import * as React from 'react'\nimport { jsx } from '@emotion/react'\nimport styled from '@emotion/styled'\n\nconst MyObject = {\n  MyProperty: styled.div({ color: 'hotpink' })\n}\n\nfunction Logo(props) {\n  return <MyObject.MyProperty />\n}\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport _styled from \"@emotion/styled/base\";\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport * as React from 'react';\nimport { jsx } from '@emotion/react';\nconst MyObject = {\n  MyProperty: /*#__PURE__*/_styled(\"div\", process.env.NODE_ENV === \"production\" ? {\n    target: \"erl9uiw0\"\n  } : {\n    target: \"erl9uiw0\",\n    label: \"MyProperty\"\n  })(process.env.NODE_ENV === \"production\" ? {\n    name: \"3sn2xs\",\n    styles: \"color:hotpink\"\n  } : {\n    name: \"3sn2xs\",\n    styles: \"color:hotpink/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm9iamVjdC1wcm9wZXJ0eS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLYyIsImZpbGUiOiJvYmplY3QtcHJvcGVydHkuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCdcbmltcG9ydCB7IGpzeCB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5cbmNvbnN0IE15T2JqZWN0ID0ge1xuICBNeVByb3BlcnR5OiBzdHlsZWQuZGl2KHsgY29sb3I6ICdob3RwaW5rJyB9KVxufVxuXG5mdW5jdGlvbiBMb2dvKHByb3BzKSB7XG4gIHJldHVybiA8TXlPYmplY3QuTXlQcm9wZXJ0eSAvPlxufVxuIl19 */\",\n    toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n  })\n};\n\nfunction Logo(props) {\n  return <MyObject.MyProperty />;\n}\"\n`;\n\nexports[`@emotion/babel-plugin static-object-with-camel-case 1`] = `\n\"/** @jsx jsx */\nimport { jsx } from '@emotion/react'\n\nconst SomeComponent = props => (\n  <div\n    css={{\n      color: 'hotpink',\n      backgroundColor: 'green'\n    }}\n    {...props}\n  />\n)\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\n/** @jsx jsx */\nimport { jsx } from '@emotion/react';\n\nvar _ref = process.env.NODE_ENV === \"production\" ? {\n  name: \"qmoypw\",\n  styles: \"color:hotpink;background-color:green\"\n} : {\n  name: \"lcrht-SomeComponent\",\n  styles: \"color:hotpink;background-color:green;label:SomeComponent;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0YXRpYy1vYmplY3Qtd2l0aC1jYW1lbC1jYXNlLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtJIiwiZmlsZSI6InN0YXRpYy1vYmplY3Qtd2l0aC1jYW1lbC1jYXNlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBqc3gganN4ICovXG5pbXBvcnQgeyBqc3ggfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcblxuY29uc3QgU29tZUNvbXBvbmVudCA9IHByb3BzID0+IChcbiAgPGRpdlxuICAgIGNzcz17e1xuICAgICAgY29sb3I6ICdob3RwaW5rJyxcbiAgICAgIGJhY2tncm91bmRDb2xvcjogJ2dyZWVuJ1xuICAgIH19XG4gICAgey4uLnByb3BzfVxuICAvPlxuKVxuIl19 */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\n\nconst SomeComponent = props => <div css={_ref} {...props} />;\"\n`;\n\nexports[`@emotion/babel-plugin static-object-with-child-selectors 1`] = `\n\"/** @jsx jsx */\n\nimport { jsx } from '@emotion/react'\n\nconst SomeComponent = props => {\n  return (\n    <div\n      css={{\n        color: 'green',\n        ':hover': {\n          color: 'hotpink'\n        }\n      }}\n      {...props}\n    />\n  )\n}\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\n/** @jsx jsx */\nimport { jsx } from '@emotion/react';\n\nvar _ref = process.env.NODE_ENV === \"production\" ? {\n  name: \"1t2q7lq\",\n  styles: \"color:green;:hover{color:hotpink;}\"\n} : {\n  name: \"1vvht02-SomeComponent\",\n  styles: \"color:green;:hover{color:hotpink;};label:SomeComponent;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0YXRpYy1vYmplY3Qtd2l0aC1jaGlsZC1zZWxlY3RvcnMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT00iLCJmaWxlIjoic3RhdGljLW9iamVjdC13aXRoLWNoaWxkLXNlbGVjdG9ycy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBAanN4IGpzeCAqL1xuXG5pbXBvcnQgeyBqc3ggfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcblxuY29uc3QgU29tZUNvbXBvbmVudCA9IHByb3BzID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjc3M9e3tcbiAgICAgICAgY29sb3I6ICdncmVlbicsXG4gICAgICAgICc6aG92ZXInOiB7XG4gICAgICAgICAgY29sb3I6ICdob3RwaW5rJ1xuICAgICAgICB9XG4gICAgICB9fVxuICAgICAgey4uLnByb3BzfVxuICAgIC8+XG4gIClcbn1cbiJdfQ== */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\n\nconst SomeComponent = props => {\n  return <div css={_ref} {...props} />;\n};\"\n`;\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/__snapshots__/styled-requires-options.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`styled inline autoLabel set to never 1`] = `\n\"\nimport styled from '@emotion/styled'\nconst Foo = styled.h1\\`color:hotpink;\\`\n    \n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport _styled from \"@emotion/styled/base\";\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nconst Foo = /*#__PURE__*/_styled(\"h1\", {\n  target: \"eoxfmb00\"\n})(process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlZC1yZXF1aXJlcy1vcHRpb25zLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVxQiIsImZpbGUiOiJzdHlsZWQtcmVxdWlyZXMtb3B0aW9ucy5qcyIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5jb25zdCBGb28gPSBzdHlsZWQuaDFgY29sb3I6aG90cGluaztgXG4gICAgIl19 */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\"\n`;\n\nexports[`styled inline hash generation no file system 1`] = `\n\"\nimport styled from '@emotion/styled'\nstyled.h1\\`color:blue;\\`\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport _styled from \"@emotion/styled/base\";\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\n/*#__PURE__*/\n_styled(\"h1\", {\n  target: \"e8evh370\"\n})(process.env.NODE_ENV === \"production\" ? {\n  name: \"117wnve\",\n  styles: \"color:blue\"\n} : {\n  name: \"117wnve\",\n  styles: \"color:blue\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\"\n`;\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/__snapshots__/styled.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`emotion-babel-plugin styled already-transpiled-by-babel 1`] = `\n\"/* eslint-disable */\nimport styled from '@emotion/styled'\nimport _taggedTemplateLiteralLoose from '@babel/runtime/helpers/esm/taggedTemplateLiteralLoose'\n\nfunction _templateObject() {\n  var data = _taggedTemplateLiteralLoose(['\\\\n    color: hotpink;\\\\n  '])\n\n  _templateObject = function _templateObject() {\n    return data\n  }\n\n  return data\n}\n\n// source maps should not be appended\nconst SomeComponent = styled('div')(_templateObject())\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport _styled from \"@emotion/styled/base\";\n\n/* eslint-disable */\nimport _taggedTemplateLiteralLoose from '@babel/runtime/helpers/esm/taggedTemplateLiteralLoose';\n\nfunction _templateObject() {\n  var data = _taggedTemplateLiteralLoose(['\\\\n    color: hotpink;\\\\n  ']);\n\n  _templateObject = function _templateObject() {\n    return data;\n  };\n\n  return data;\n} // source maps should not be appended\n\n\nconst SomeComponent = /*#__PURE__*/_styled('div', process.env.NODE_ENV === \"production\" ? {\n  target: \"ec90nws0\"\n} : {\n  target: \"ec90nws0\",\n  label: \"SomeComponent\"\n})(_templateObject());\"\n`;\n\nexports[`emotion-babel-plugin styled auto-inserted-rule-in-at-rule-preceeded-by-interpolation 1`] = `\n\"import styled from '@emotion/styled'\nimport { css } from '@emotion/react'\n\nconst fullWidth = css\\`\n  width: 100%;\n\\`\n\nconst StyledRoot = styled.div\\`\n  \\${fullWidth}\n\n  button {\n    @media (min-width: 768px) {\n      color: red;\n    }\n  }\n\\`\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport _styled from \"@emotion/styled/base\";\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { css } from '@emotion/react';\nconst fullWidth = process.env.NODE_ENV === \"production\" ? {\n  name: \"1d3w5wq\",\n  styles: \"width:100%\"\n} : {\n  name: \"329gto-fullWidth\",\n  styles: \"width:100%;label:fullWidth;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImF1dG8taW5zZXJ0ZWQtcnVsZS1pbi1hdC1ydWxlLXByZWNlZWRlZC1ieS1pbnRlcnBvbGF0aW9uLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdxQiIsImZpbGUiOiJhdXRvLWluc2VydGVkLXJ1bGUtaW4tYXQtcnVsZS1wcmVjZWVkZWQtYnktaW50ZXJwb2xhdGlvbi5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJ1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5cbmNvbnN0IGZ1bGxXaWR0aCA9IGNzc2BcbiAgd2lkdGg6IDEwMCU7XG5gXG5cbmNvbnN0IFN0eWxlZFJvb3QgPSBzdHlsZWQuZGl2YFxuICAke2Z1bGxXaWR0aH1cblxuICBidXR0b24ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgY29sb3I6IHJlZDtcbiAgICB9XG4gIH1cbmBcbiJdfQ== */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\n\nconst StyledRoot = /*#__PURE__*/_styled(\"div\", process.env.NODE_ENV === \"production\" ? {\n  target: \"e10xv6gg0\"\n} : {\n  target: \"e10xv6gg0\",\n  label: \"StyledRoot\"\n})(fullWidth, \" button{@media (min-width: 768px){color:red;}}\" + (process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImF1dG8taW5zZXJ0ZWQtcnVsZS1pbi1hdC1ydWxlLXByZWNlZWRlZC1ieS1pbnRlcnBvbGF0aW9uLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU82QiIsImZpbGUiOiJhdXRvLWluc2VydGVkLXJ1bGUtaW4tYXQtcnVsZS1wcmVjZWVkZWQtYnktaW50ZXJwb2xhdGlvbi5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJ1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5cbmNvbnN0IGZ1bGxXaWR0aCA9IGNzc2BcbiAgd2lkdGg6IDEwMCU7XG5gXG5cbmNvbnN0IFN0eWxlZFJvb3QgPSBzdHlsZWQuZGl2YFxuICAke2Z1bGxXaWR0aH1cblxuICBidXR0b24ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgY29sb3I6IHJlZDtcbiAgICB9XG4gIH1cbmBcbiJdfQ== */\"));\"\n`;\n\nexports[`emotion-babel-plugin styled basic 1`] = `\n\"import styled from '@emotion/styled'\n\nconst SomeComponent = styled.div\\`\n  color: hotpink;\n\\`\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport _styled from \"@emotion/styled/base\";\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nconst SomeComponent = /*#__PURE__*/_styled(\"div\", process.env.NODE_ENV === \"production\" ? {\n  target: \"el9tp5g0\"\n} : {\n  target: \"el9tp5g0\",\n  label: \"SomeComponent\"\n})(process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJhc2ljLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVnQyIsImZpbGUiOiJiYXNpYy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJ1xuXG5jb25zdCBTb21lQ29tcG9uZW50ID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6IGhvdHBpbms7XG5gXG4iXX0= */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\"\n`;\n\nexports[`emotion-babel-plugin styled call-expression 1`] = `\n\"import styled from '@emotion/styled'\n\nconst SomeComponent = styled('div')\\`\n  color: hotpink;\n\\`\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport _styled from \"@emotion/styled/base\";\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nconst SomeComponent = /*#__PURE__*/_styled('div', process.env.NODE_ENV === \"production\" ? {\n  target: \"elbjn3a0\"\n} : {\n  target: \"elbjn3a0\",\n  label: \"SomeComponent\"\n})(process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNhbGwtZXhwcmVzc2lvbi5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFbUMiLCJmaWxlIjoiY2FsbC1leHByZXNzaW9uLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5cbmNvbnN0IFNvbWVDb21wb25lbnQgPSBzdHlsZWQoJ2RpdicpYFxuICBjb2xvcjogaG90cGluaztcbmBcbiJdfQ== */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\"\n`;\n\nexports[`emotion-babel-plugin styled comments 1`] = `\n\"import styled from '@emotion/styled'\n\nstyled.div\\`\n  // display:flex;\n\n  /*\nwef\n\ndfwf */\n  color: hotpink;\n\\`\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport _styled from \"@emotion/styled/base\";\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\n/*#__PURE__*/\n_styled(\"div\", {\n  target: \"e1jqiiye0\"\n})(process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbW1lbnRzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVVIiwiZmlsZSI6ImNvbW1lbnRzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5cbnN0eWxlZC5kaXZgXG4gIC8vIGRpc3BsYXk6ZmxleDtcblxuICAvKlxud2VmXG5cbmRmd2YgKi9cbiAgY29sb3I6IGhvdHBpbms7XG5gXG4iXX0= */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\"\n`;\n\nexports[`emotion-babel-plugin styled component-selector 1`] = `\n\"import styled from '@emotion/styled'\n\nconst SomeComponent = styled.div\\`\n  color: hotpink;\n\\`\n\nlet SomeOtherComponent = styled.div({ color: 'hotpink' })\n\nlet AnotherComponent = styled.div\\`\n  \\${SomeComponent} {\n    color: green;\n  }\n  \\${SomeOtherComponent} {\n    color: green;\n  }\n\\`\n\nlet OneLastComponent = styled.div({\n  [SomeComponent]: {\n    color: 'green'\n  },\n  [SomeOtherComponent]: {\n    color: 'green'\n  }\n})\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport _styled from \"@emotion/styled/base\";\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nconst SomeComponent = /*#__PURE__*/_styled(\"div\", process.env.NODE_ENV === \"production\" ? {\n  target: \"e1i93zq73\"\n} : {\n  target: \"e1i93zq73\",\n  label: \"SomeComponent\"\n})(process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudC1zZWxlY3Rvci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFZ0MiLCJmaWxlIjoiY29tcG9uZW50LXNlbGVjdG9yLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5cbmNvbnN0IFNvbWVDb21wb25lbnQgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogaG90cGluaztcbmBcblxubGV0IFNvbWVPdGhlckNvbXBvbmVudCA9IHN0eWxlZC5kaXYoeyBjb2xvcjogJ2hvdHBpbmsnIH0pXG5cbmxldCBBbm90aGVyQ29tcG9uZW50ID0gc3R5bGVkLmRpdmBcbiAgJHtTb21lQ29tcG9uZW50fSB7XG4gICAgY29sb3I6IGdyZWVuO1xuICB9XG4gICR7U29tZU90aGVyQ29tcG9uZW50fSB7XG4gICAgY29sb3I6IGdyZWVuO1xuICB9XG5gXG5cbmxldCBPbmVMYXN0Q29tcG9uZW50ID0gc3R5bGVkLmRpdih7XG4gIFtTb21lQ29tcG9uZW50XToge1xuICAgIGNvbG9yOiAnZ3JlZW4nXG4gIH0sXG4gIFtTb21lT3RoZXJDb21wb25lbnRdOiB7XG4gICAgY29sb3I6ICdncmVlbidcbiAgfVxufSlcbiJdfQ== */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\n\nlet SomeOtherComponent = /*#__PURE__*/_styled(\"div\", process.env.NODE_ENV === \"production\" ? {\n  target: \"e1i93zq72\"\n} : {\n  target: \"e1i93zq72\",\n  label: \"SomeOtherComponent\"\n})(process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudC1zZWxlY3Rvci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNeUIiLCJmaWxlIjoiY29tcG9uZW50LXNlbGVjdG9yLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5cbmNvbnN0IFNvbWVDb21wb25lbnQgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogaG90cGluaztcbmBcblxubGV0IFNvbWVPdGhlckNvbXBvbmVudCA9IHN0eWxlZC5kaXYoeyBjb2xvcjogJ2hvdHBpbmsnIH0pXG5cbmxldCBBbm90aGVyQ29tcG9uZW50ID0gc3R5bGVkLmRpdmBcbiAgJHtTb21lQ29tcG9uZW50fSB7XG4gICAgY29sb3I6IGdyZWVuO1xuICB9XG4gICR7U29tZU90aGVyQ29tcG9uZW50fSB7XG4gICAgY29sb3I6IGdyZWVuO1xuICB9XG5gXG5cbmxldCBPbmVMYXN0Q29tcG9uZW50ID0gc3R5bGVkLmRpdih7XG4gIFtTb21lQ29tcG9uZW50XToge1xuICAgIGNvbG9yOiAnZ3JlZW4nXG4gIH0sXG4gIFtTb21lT3RoZXJDb21wb25lbnRdOiB7XG4gICAgY29sb3I6ICdncmVlbidcbiAgfVxufSlcbiJdfQ== */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\n\nlet AnotherComponent = /*#__PURE__*/_styled(\"div\", process.env.NODE_ENV === \"production\" ? {\n  target: \"e1i93zq71\"\n} : {\n  target: \"e1i93zq71\",\n  label: \"AnotherComponent\"\n})(SomeComponent, \"{color:green;}\", SomeOtherComponent, \"{color:green;}\" + (process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudC1zZWxlY3Rvci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRaUMiLCJmaWxlIjoiY29tcG9uZW50LXNlbGVjdG9yLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5cbmNvbnN0IFNvbWVDb21wb25lbnQgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogaG90cGluaztcbmBcblxubGV0IFNvbWVPdGhlckNvbXBvbmVudCA9IHN0eWxlZC5kaXYoeyBjb2xvcjogJ2hvdHBpbmsnIH0pXG5cbmxldCBBbm90aGVyQ29tcG9uZW50ID0gc3R5bGVkLmRpdmBcbiAgJHtTb21lQ29tcG9uZW50fSB7XG4gICAgY29sb3I6IGdyZWVuO1xuICB9XG4gICR7U29tZU90aGVyQ29tcG9uZW50fSB7XG4gICAgY29sb3I6IGdyZWVuO1xuICB9XG5gXG5cbmxldCBPbmVMYXN0Q29tcG9uZW50ID0gc3R5bGVkLmRpdih7XG4gIFtTb21lQ29tcG9uZW50XToge1xuICAgIGNvbG9yOiAnZ3JlZW4nXG4gIH0sXG4gIFtTb21lT3RoZXJDb21wb25lbnRdOiB7XG4gICAgY29sb3I6ICdncmVlbidcbiAgfVxufSlcbiJdfQ== */\"));\n\nlet OneLastComponent = /*#__PURE__*/_styled(\"div\", process.env.NODE_ENV === \"production\" ? {\n  target: \"e1i93zq70\"\n} : {\n  target: \"e1i93zq70\",\n  label: \"OneLastComponent\"\n})({\n  [SomeComponent]: {\n    color: 'green'\n  },\n  [SomeOtherComponent]: {\n    color: 'green'\n  }\n}, process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudC1zZWxlY3Rvci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFpQnVCIiwiZmlsZSI6ImNvbXBvbmVudC1zZWxlY3Rvci5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJ1xuXG5jb25zdCBTb21lQ29tcG9uZW50ID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6IGhvdHBpbms7XG5gXG5cbmxldCBTb21lT3RoZXJDb21wb25lbnQgPSBzdHlsZWQuZGl2KHsgY29sb3I6ICdob3RwaW5rJyB9KVxuXG5sZXQgQW5vdGhlckNvbXBvbmVudCA9IHN0eWxlZC5kaXZgXG4gICR7U29tZUNvbXBvbmVudH0ge1xuICAgIGNvbG9yOiBncmVlbjtcbiAgfVxuICAke1NvbWVPdGhlckNvbXBvbmVudH0ge1xuICAgIGNvbG9yOiBncmVlbjtcbiAgfVxuYFxuXG5sZXQgT25lTGFzdENvbXBvbmVudCA9IHN0eWxlZC5kaXYoe1xuICBbU29tZUNvbXBvbmVudF06IHtcbiAgICBjb2xvcjogJ2dyZWVuJ1xuICB9LFxuICBbU29tZU90aGVyQ29tcG9uZW50XToge1xuICAgIGNvbG9yOiAnZ3JlZW4nXG4gIH1cbn0pXG4iXX0= */\");\"\n`;\n\nexports[`emotion-babel-plugin styled existing-options 1`] = `\n\"import styled from '@emotion/styled'\n\nstyled('div', { shouldForwardProp: window.whatever }, window.whatever)()\n\nstyled('div', { shouldForwardProp: window.whatever }, window.whatever)\\`\\`\n\nstyled(\n  window.whatever,\n  { shouldForwardProp: window.whatever },\n  window.whatever\n)()\n\nstyled(\n  window.whatever,\n  { shouldForwardProp: window.whatever },\n  window.whatever\n)\\`\\`\n\nconst cfg = { shouldForwardProp: window.whatever }\nstyled('button', cfg)({})\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport _styled from \"@emotion/styled/base\";\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\n/*#__PURE__*/\n_styled('div', {\n  shouldForwardProp: window.whatever,\n  target: \"e4yan9t4\"\n}, window.whatever)(process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImV4aXN0aW5nLW9wdGlvbnMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEiLCJmaWxlIjoiZXhpc3Rpbmctb3B0aW9ucy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJ1xuXG5zdHlsZWQoJ2RpdicsIHsgc2hvdWxkRm9yd2FyZFByb3A6IHdpbmRvdy53aGF0ZXZlciB9LCB3aW5kb3cud2hhdGV2ZXIpKClcblxuc3R5bGVkKCdkaXYnLCB7IHNob3VsZEZvcndhcmRQcm9wOiB3aW5kb3cud2hhdGV2ZXIgfSwgd2luZG93LndoYXRldmVyKWBgXG5cbnN0eWxlZChcbiAgd2luZG93LndoYXRldmVyLFxuICB7IHNob3VsZEZvcndhcmRQcm9wOiB3aW5kb3cud2hhdGV2ZXIgfSxcbiAgd2luZG93LndoYXRldmVyXG4pKClcblxuc3R5bGVkKFxuICB3aW5kb3cud2hhdGV2ZXIsXG4gIHsgc2hvdWxkRm9yd2FyZFByb3A6IHdpbmRvdy53aGF0ZXZlciB9LFxuICB3aW5kb3cud2hhdGV2ZXJcbilgYFxuXG5jb25zdCBjZmcgPSB7IHNob3VsZEZvcndhcmRQcm9wOiB3aW5kb3cud2hhdGV2ZXIgfVxuc3R5bGVkKCdidXR0b24nLCBjZmcpKHt9KVxuIl19 */\");\n\n/*#__PURE__*/\n_styled('div', {\n  shouldForwardProp: window.whatever,\n  target: \"e4yan9t3\"\n}, window.whatever)(process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImV4aXN0aW5nLW9wdGlvbnMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSXNFIiwiZmlsZSI6ImV4aXN0aW5nLW9wdGlvbnMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCdcblxuc3R5bGVkKCdkaXYnLCB7IHNob3VsZEZvcndhcmRQcm9wOiB3aW5kb3cud2hhdGV2ZXIgfSwgd2luZG93LndoYXRldmVyKSgpXG5cbnN0eWxlZCgnZGl2JywgeyBzaG91bGRGb3J3YXJkUHJvcDogd2luZG93LndoYXRldmVyIH0sIHdpbmRvdy53aGF0ZXZlcilgYFxuXG5zdHlsZWQoXG4gIHdpbmRvdy53aGF0ZXZlcixcbiAgeyBzaG91bGRGb3J3YXJkUHJvcDogd2luZG93LndoYXRldmVyIH0sXG4gIHdpbmRvdy53aGF0ZXZlclxuKSgpXG5cbnN0eWxlZChcbiAgd2luZG93LndoYXRldmVyLFxuICB7IHNob3VsZEZvcndhcmRQcm9wOiB3aW5kb3cud2hhdGV2ZXIgfSxcbiAgd2luZG93LndoYXRldmVyXG4pYGBcblxuY29uc3QgY2ZnID0geyBzaG91bGRGb3J3YXJkUHJvcDogd2luZG93LndoYXRldmVyIH1cbnN0eWxlZCgnYnV0dG9uJywgY2ZnKSh7fSlcbiJdfQ== */\");\n\n/*#__PURE__*/\n_styled(window.whatever, {\n  shouldForwardProp: window.whatever,\n  target: \"e4yan9t2\"\n}, window.whatever)(process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImV4aXN0aW5nLW9wdGlvbnMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEiLCJmaWxlIjoiZXhpc3Rpbmctb3B0aW9ucy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJ1xuXG5zdHlsZWQoJ2RpdicsIHsgc2hvdWxkRm9yd2FyZFByb3A6IHdpbmRvdy53aGF0ZXZlciB9LCB3aW5kb3cud2hhdGV2ZXIpKClcblxuc3R5bGVkKCdkaXYnLCB7IHNob3VsZEZvcndhcmRQcm9wOiB3aW5kb3cud2hhdGV2ZXIgfSwgd2luZG93LndoYXRldmVyKWBgXG5cbnN0eWxlZChcbiAgd2luZG93LndoYXRldmVyLFxuICB7IHNob3VsZEZvcndhcmRQcm9wOiB3aW5kb3cud2hhdGV2ZXIgfSxcbiAgd2luZG93LndoYXRldmVyXG4pKClcblxuc3R5bGVkKFxuICB3aW5kb3cud2hhdGV2ZXIsXG4gIHsgc2hvdWxkRm9yd2FyZFByb3A6IHdpbmRvdy53aGF0ZXZlciB9LFxuICB3aW5kb3cud2hhdGV2ZXJcbilgYFxuXG5jb25zdCBjZmcgPSB7IHNob3VsZEZvcndhcmRQcm9wOiB3aW5kb3cud2hhdGV2ZXIgfVxuc3R5bGVkKCdidXR0b24nLCBjZmcpKHt9KVxuIl19 */\");\n\n/*#__PURE__*/\n_styled(window.whatever, {\n  shouldForwardProp: window.whatever,\n  target: \"e4yan9t1\"\n}, window.whatever)(process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImV4aXN0aW5nLW9wdGlvbnMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZ0JDIiwiZmlsZSI6ImV4aXN0aW5nLW9wdGlvbnMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCdcblxuc3R5bGVkKCdkaXYnLCB7IHNob3VsZEZvcndhcmRQcm9wOiB3aW5kb3cud2hhdGV2ZXIgfSwgd2luZG93LndoYXRldmVyKSgpXG5cbnN0eWxlZCgnZGl2JywgeyBzaG91bGRGb3J3YXJkUHJvcDogd2luZG93LndoYXRldmVyIH0sIHdpbmRvdy53aGF0ZXZlcilgYFxuXG5zdHlsZWQoXG4gIHdpbmRvdy53aGF0ZXZlcixcbiAgeyBzaG91bGRGb3J3YXJkUHJvcDogd2luZG93LndoYXRldmVyIH0sXG4gIHdpbmRvdy53aGF0ZXZlclxuKSgpXG5cbnN0eWxlZChcbiAgd2luZG93LndoYXRldmVyLFxuICB7IHNob3VsZEZvcndhcmRQcm9wOiB3aW5kb3cud2hhdGV2ZXIgfSxcbiAgd2luZG93LndoYXRldmVyXG4pYGBcblxuY29uc3QgY2ZnID0geyBzaG91bGRGb3J3YXJkUHJvcDogd2luZG93LndoYXRldmVyIH1cbnN0eWxlZCgnYnV0dG9uJywgY2ZnKSh7fSlcbiJdfQ== */\");\n\nconst cfg = {\n  shouldForwardProp: window.whatever\n};\n\n/*#__PURE__*/\n_styled('button', _extends({}, {\n  target: \"e4yan9t0\"\n}, cfg))(process.env.NODE_ENV === \"production\" ? {\n  name: \"0\",\n  styles: \"\"\n} : {\n  name: \"0\",\n  styles: \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImV4aXN0aW5nLW9wdGlvbnMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbUJBIiwiZmlsZSI6ImV4aXN0aW5nLW9wdGlvbnMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCdcblxuc3R5bGVkKCdkaXYnLCB7IHNob3VsZEZvcndhcmRQcm9wOiB3aW5kb3cud2hhdGV2ZXIgfSwgd2luZG93LndoYXRldmVyKSgpXG5cbnN0eWxlZCgnZGl2JywgeyBzaG91bGRGb3J3YXJkUHJvcDogd2luZG93LndoYXRldmVyIH0sIHdpbmRvdy53aGF0ZXZlcilgYFxuXG5zdHlsZWQoXG4gIHdpbmRvdy53aGF0ZXZlcixcbiAgeyBzaG91bGRGb3J3YXJkUHJvcDogd2luZG93LndoYXRldmVyIH0sXG4gIHdpbmRvdy53aGF0ZXZlclxuKSgpXG5cbnN0eWxlZChcbiAgd2luZG93LndoYXRldmVyLFxuICB7IHNob3VsZEZvcndhcmRQcm9wOiB3aW5kb3cud2hhdGV2ZXIgfSxcbiAgd2luZG93LndoYXRldmVyXG4pYGBcblxuY29uc3QgY2ZnID0geyBzaG91bGRGb3J3YXJkUHJvcDogd2luZG93LndoYXRldmVyIH1cbnN0eWxlZCgnYnV0dG9uJywgY2ZnKSh7fSlcbiJdfQ== */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\"\n`;\n\nexports[`emotion-babel-plugin styled function-interpolation 1`] = `\n\"import styled from '@emotion/styled'\n\nlet Avatar = styled.img\\`\n  width: 96px;\n  height: 96px;\n  border-radius: \\${props => props.theme.borderRadius};\n  border: 1px solid \\${props => props.theme.borderColor};\n\\`\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport _styled from \"@emotion/styled/base\";\n\nlet Avatar = /*#__PURE__*/_styled(\"img\", process.env.NODE_ENV === \"production\" ? {\n  target: \"e9o8e9e0\"\n} : {\n  target: \"e9o8e9e0\",\n  label: \"Avatar\"\n})(\"width:96px;height:96px;border-radius:\", props => props.theme.borderRadius, \";border:1px solid \", props => props.theme.borderColor, \";\" + (process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZ1bmN0aW9uLWludGVycG9sYXRpb24uanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRXVCIiwiZmlsZSI6ImZ1bmN0aW9uLWludGVycG9sYXRpb24uanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCdcblxubGV0IEF2YXRhciA9IHN0eWxlZC5pbWdgXG4gIHdpZHRoOiA5NnB4O1xuICBoZWlnaHQ6IDk2cHg7XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYm9yZGVyOiAxcHggc29saWQgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5ib3JkZXJDb2xvcn07XG5gXG4iXX0= */\"));\"\n`;\n\nexports[`emotion-babel-plugin styled label 1`] = `\n\"/** @jsx jsx */\n/* eslint-disable react/jsx-pascal-case */\nimport styled from '@emotion/styled'\nimport { jsx } from '@emotion/react'\n\nlet SomeComp = styled.div({ color: 'hotpink' })\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport _styled from \"@emotion/styled/base\";\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\n/** @jsx jsx */\n\n/* eslint-disable react/jsx-pascal-case */\nimport { jsx } from '@emotion/react';\n\nlet SomeComp = /*#__PURE__*/_styled(\"div\", process.env.NODE_ENV === \"production\" ? {\n  target: \"e2dh5500\"\n} : {\n  target: \"e2dh5500\",\n  label: \"SomeComp\"\n})(process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxhYmVsLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtlIiwiZmlsZSI6ImxhYmVsLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBqc3gganN4ICovXG4vKiBlc2xpbnQtZGlzYWJsZSByZWFjdC9qc3gtcGFzY2FsLWNhc2UgKi9cbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJ1xuaW1wb3J0IHsganN4IH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5cbmxldCBTb21lQ29tcCA9IHN0eWxlZC5kaXYoeyBjb2xvcjogJ2hvdHBpbmsnIH0pXG4iXX0= */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\"\n`;\n\nexports[`emotion-babel-plugin styled label-assignment-expression 1`] = `\n\"/** @jsx jsx */\nimport styled from '@emotion/styled'\nimport { jsx } from '@emotion/react'\n\nlet Comp\nComp = styled.div\\`\\`\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport _styled from \"@emotion/styled/base\";\n\n/** @jsx jsx */\nimport { jsx } from '@emotion/react';\nlet Comp;\nComp = /*#__PURE__*/_styled(\"div\", process.env.NODE_ENV === \"production\" ? {\n  target: \"e16lswdj0\"\n} : {\n  target: \"e16lswdj0\",\n  label: \"Comp\"\n})(process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxhYmVsLWFzc2lnbm1lbnQtZXhwcmVzc2lvbi5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLaUIiLCJmaWxlIjoibGFiZWwtYXNzaWdubWVudC1leHByZXNzaW9uLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBqc3gganN4ICovXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCdcbmltcG9ydCB7IGpzeCB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuXG5sZXQgQ29tcFxuQ29tcCA9IHN0eWxlZC5kaXZgYFxuIl19 */\");\"\n`;\n\nexports[`emotion-babel-plugin styled label-class-fields 1`] = `\n\"/** @jsx jsx */\nimport styled from '@emotion/styled'\nimport { jsx } from '@emotion/react'\n\nclass Thing {\n  static SomeComponent = styled.div\\`\n    color: hotpink;\n  \\`\n  BadIdeaComponent = styled.div\\`\n    background: hotpink;\n  \\`\n}\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport _styled from \"@emotion/styled/base\";\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\n/** @jsx jsx */\nimport { jsx } from '@emotion/react';\n\nclass Thing {\n  static SomeComponent = /*#__PURE__*/_styled(\"div\", process.env.NODE_ENV === \"production\" ? {\n    target: \"e1s9kmbj1\"\n  } : {\n    target: \"e1s9kmbj1\",\n    label: \"SomeComponent\"\n  })(process.env.NODE_ENV === \"production\" ? {\n    name: \"3sn2xs\",\n    styles: \"color:hotpink\"\n  } : {\n    name: \"3sn2xs\",\n    styles: \"color:hotpink/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxhYmVsLWNsYXNzLWZpZWxkcy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLbUMiLCJmaWxlIjoibGFiZWwtY2xhc3MtZmllbGRzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBqc3gganN4ICovXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCdcbmltcG9ydCB7IGpzeCB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuXG5jbGFzcyBUaGluZyB7XG4gIHN0YXRpYyBTb21lQ29tcG9uZW50ID0gc3R5bGVkLmRpdmBcbiAgICBjb2xvcjogaG90cGluaztcbiAgYFxuICBCYWRJZGVhQ29tcG9uZW50ID0gc3R5bGVkLmRpdmBcbiAgICBiYWNrZ3JvdW5kOiBob3RwaW5rO1xuICBgXG59XG4iXX0= */\",\n    toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n  });\n  BadIdeaComponent = /*#__PURE__*/_styled(\"div\", process.env.NODE_ENV === \"production\" ? {\n    target: \"e1s9kmbj0\"\n  } : {\n    target: \"e1s9kmbj0\",\n    label: \"BadIdeaComponent\"\n  })(process.env.NODE_ENV === \"production\" ? {\n    name: \"1nzpx79\",\n    styles: \"background:hotpink\"\n  } : {\n    name: \"1nzpx79\",\n    styles: \"background:hotpink/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxhYmVsLWNsYXNzLWZpZWxkcy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRK0IiLCJmaWxlIjoibGFiZWwtY2xhc3MtZmllbGRzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBqc3gganN4ICovXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCdcbmltcG9ydCB7IGpzeCB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuXG5jbGFzcyBUaGluZyB7XG4gIHN0YXRpYyBTb21lQ29tcG9uZW50ID0gc3R5bGVkLmRpdmBcbiAgICBjb2xvcjogaG90cGluaztcbiAgYFxuICBCYWRJZGVhQ29tcG9uZW50ID0gc3R5bGVkLmRpdmBcbiAgICBiYWNrZ3JvdW5kOiBob3RwaW5rO1xuICBgXG59XG4iXX0= */\",\n    toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n  });\n}\"\n`;\n\nexports[`emotion-babel-plugin styled label-member-expression 1`] = `\n\"/** @jsx jsx */\nimport styled from '@emotion/styled'\nimport { jsx } from '@emotion/react'\n\nconst Timeline = styled.ul\\`\\`\nTimeline.Item = styled.li\\`\\`\nTimeline.Item.Anchor = styled.a\\`\\`\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport _styled from \"@emotion/styled/base\";\n\n/** @jsx jsx */\nimport { jsx } from '@emotion/react';\n\nconst Timeline = /*#__PURE__*/_styled(\"ul\", process.env.NODE_ENV === \"production\" ? {\n  target: \"e1djkynu2\"\n} : {\n  target: \"e1djkynu2\",\n  label: \"Timeline\"\n})(process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxhYmVsLW1lbWJlci1leHByZXNzaW9uLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUkwQiIsImZpbGUiOiJsYWJlbC1tZW1iZXItZXhwcmVzc2lvbi5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBAanN4IGpzeCAqL1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5pbXBvcnQgeyBqc3ggfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcblxuY29uc3QgVGltZWxpbmUgPSBzdHlsZWQudWxgYFxuVGltZWxpbmUuSXRlbSA9IHN0eWxlZC5saWBgXG5UaW1lbGluZS5JdGVtLkFuY2hvciA9IHN0eWxlZC5hYGBcbiJdfQ== */\");\n\nTimeline.Item = /*#__PURE__*/_styled(\"li\", process.env.NODE_ENV === \"production\" ? {\n  target: \"e1djkynu1\"\n} : {\n  target: \"e1djkynu1\",\n  label: \"Timeline-Item\"\n})(process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxhYmVsLW1lbWJlci1leHByZXNzaW9uLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUt5QiIsImZpbGUiOiJsYWJlbC1tZW1iZXItZXhwcmVzc2lvbi5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBAanN4IGpzeCAqL1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5pbXBvcnQgeyBqc3ggfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcblxuY29uc3QgVGltZWxpbmUgPSBzdHlsZWQudWxgYFxuVGltZWxpbmUuSXRlbSA9IHN0eWxlZC5saWBgXG5UaW1lbGluZS5JdGVtLkFuY2hvciA9IHN0eWxlZC5hYGBcbiJdfQ== */\");\nTimeline.Item.Anchor = /*#__PURE__*/_styled(\"a\", process.env.NODE_ENV === \"production\" ? {\n  target: \"e1djkynu0\"\n} : {\n  target: \"e1djkynu0\",\n  label: \"Timeline-Item-Anchor\"\n})(process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxhYmVsLW1lbWJlci1leHByZXNzaW9uLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU0rQiIsImZpbGUiOiJsYWJlbC1tZW1iZXItZXhwcmVzc2lvbi5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBAanN4IGpzeCAqL1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5pbXBvcnQgeyBqc3ggfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcblxuY29uc3QgVGltZWxpbmUgPSBzdHlsZWQudWxgYFxuVGltZWxpbmUuSXRlbSA9IHN0eWxlZC5saWBgXG5UaW1lbGluZS5JdGVtLkFuY2hvciA9IHN0eWxlZC5hYGBcbiJdfQ== */\");\"\n`;\n\nexports[`emotion-babel-plugin styled label-sanitize 1`] = `\n\"/** @jsx jsx */\n/* eslint-disable react/jsx-pascal-case */\nimport styled from '@emotion/styled'\nimport { jsx } from '@emotion/react'\n\nconst MiniCalWrap$ = styled.div\\`\n  color: red;\n\\`\nconst Test = () => <MiniCalWrap$ />\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport _styled from \"@emotion/styled/base\";\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\n/** @jsx jsx */\n\n/* eslint-disable react/jsx-pascal-case */\nimport { jsx } from '@emotion/react';\n\nconst MiniCalWrap$ = /*#__PURE__*/_styled(\"div\", process.env.NODE_ENV === \"production\" ? {\n  target: \"elww2rn0\"\n} : {\n  target: \"elww2rn0\",\n  label: \"MiniCalWrap-\"\n})(process.env.NODE_ENV === \"production\" ? {\n  name: \"hwfcu5\",\n  styles: \"color:red\"\n} : {\n  name: \"hwfcu5\",\n  styles: \"color:red/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxhYmVsLXNhbml0aXplLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUsrQiIsImZpbGUiOiJsYWJlbC1zYW5pdGl6ZS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBAanN4IGpzeCAqL1xuLyogZXNsaW50LWRpc2FibGUgcmVhY3QvanN4LXBhc2NhbC1jYXNlICovXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCdcbmltcG9ydCB7IGpzeCB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuXG5jb25zdCBNaW5pQ2FsV3JhcCQgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogcmVkO1xuYFxuY29uc3QgVGVzdCA9ICgpID0+IDxNaW5pQ2FsV3JhcCQgLz5cbiJdfQ== */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\n\nconst Test = () => <MiniCalWrap$ />;\"\n`;\n\nexports[`emotion-babel-plugin styled more-than-10-interpolations 1`] = `\n\"import styled from '@emotion/styled'\n\n// yes, this was actually a bug at one point\nconst H1 = styled.h1\\`\n  text-decoration: \\${'underline'};\n  border-right: solid blue \\${54}px;\n  background: \\${'white'};\n  color: \\${'black'};\n  display: \\${'block'};\n  border-radius: \\${'3px'};\n  padding: \\${'25px'};\n  width: \\${'500px'};\n  z-index: \\${100};\n  font-size: \\${'18px'};\n  text-align: \\${'center'};\n  border-left: \\${p => p.theme.blue};\n\\`\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport _styled from \"@emotion/styled/base\";\n\n// yes, this was actually a bug at one point\nconst H1 = /*#__PURE__*/_styled(\"h1\", process.env.NODE_ENV === \"production\" ? {\n  target: \"e1nqrpma0\"\n} : {\n  target: \"e1nqrpma0\",\n  label: \"H1\"\n})(\"text-decoration:underline;border-right:solid blue \", 54, \"px;background:white;color:black;display:block;border-radius:3px;padding:25px;width:500px;z-index:\", 100, \";font-size:18px;text-align:center;border-left:\", p => p.theme.blue, \";\" + (process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1vcmUtdGhhbi0xMC1pbnRlcnBvbGF0aW9ucy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHb0IiLCJmaWxlIjoibW9yZS10aGFuLTEwLWludGVycG9sYXRpb25zLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5cbi8vIHllcywgdGhpcyB3YXMgYWN0dWFsbHkgYSBidWcgYXQgb25lIHBvaW50XG5jb25zdCBIMSA9IHN0eWxlZC5oMWBcbiAgdGV4dC1kZWNvcmF0aW9uOiAkeyd1bmRlcmxpbmUnfTtcbiAgYm9yZGVyLXJpZ2h0OiBzb2xpZCBibHVlICR7NTR9cHg7XG4gIGJhY2tncm91bmQ6ICR7J3doaXRlJ307XG4gIGNvbG9yOiAkeydibGFjayd9O1xuICBkaXNwbGF5OiAkeydibG9jayd9O1xuICBib3JkZXItcmFkaXVzOiAkeyczcHgnfTtcbiAgcGFkZGluZzogJHsnMjVweCd9O1xuICB3aWR0aDogJHsnNTAwcHgnfTtcbiAgei1pbmRleDogJHsxMDB9O1xuICBmb250LXNpemU6ICR7JzE4cHgnfTtcbiAgdGV4dC1hbGlnbjogJHsnY2VudGVyJ307XG4gIGJvcmRlci1sZWZ0OiAke3AgPT4gcC50aGVtZS5ibHVlfTtcbmBcbiJdfQ== */\"));\"\n`;\n\nexports[`emotion-babel-plugin styled multiple-calls 1`] = `\n\"import styled from '@emotion/styled'\n\nconst SomeComponent = styled.div\\`\n  color: hotpink;\n\\`\n\nconst SomeOtherComponent = styled.button\\`\n  color: green;\n\\`\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport _styled from \"@emotion/styled/base\";\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nconst SomeComponent = /*#__PURE__*/_styled(\"div\", process.env.NODE_ENV === \"production\" ? {\n  target: \"eqhyoqt1\"\n} : {\n  target: \"eqhyoqt1\",\n  label: \"SomeComponent\"\n})(process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm11bHRpcGxlLWNhbGxzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVnQyIsImZpbGUiOiJtdWx0aXBsZS1jYWxscy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJ1xuXG5jb25zdCBTb21lQ29tcG9uZW50ID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6IGhvdHBpbms7XG5gXG5cbmNvbnN0IFNvbWVPdGhlckNvbXBvbmVudCA9IHN0eWxlZC5idXR0b25gXG4gIGNvbG9yOiBncmVlbjtcbmBcbiJdfQ== */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\n\nconst SomeOtherComponent = /*#__PURE__*/_styled(\"button\", process.env.NODE_ENV === \"production\" ? {\n  target: \"eqhyoqt0\"\n} : {\n  target: \"eqhyoqt0\",\n  label: \"SomeOtherComponent\"\n})(process.env.NODE_ENV === \"production\" ? {\n  name: \"v98kxt\",\n  styles: \"color:green\"\n} : {\n  name: \"v98kxt\",\n  styles: \"color:green/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm11bHRpcGxlLWNhbGxzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU13QyIsImZpbGUiOiJtdWx0aXBsZS1jYWxscy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJ1xuXG5jb25zdCBTb21lQ29tcG9uZW50ID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6IGhvdHBpbms7XG5gXG5cbmNvbnN0IFNvbWVPdGhlckNvbXBvbmVudCA9IHN0eWxlZC5idXR0b25gXG4gIGNvbG9yOiBncmVlbjtcbmBcbiJdfQ== */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\"\n`;\n\nexports[`emotion-babel-plugin styled native 1`] = `\n\"import styled from '@emotion/native'\n\nstyled.View\\`\n  color: hotpink;\n\\`\n\nstyled.View({})\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport styled from '@emotion/native';\n\n/*#__PURE__*/\nstyled.View(\"color:hotpink;\");\n\n/*#__PURE__*/\nstyled.View(\"\");\"\n`;\n\nexports[`emotion-babel-plugin styled no-call 1`] = `\n\"import styled from '@emotion/styled'\n\nexport let thing = styled\n\nconsole.log(styled)\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport styled from '@emotion/styled';\nexport let thing = styled;\nconsole.log(styled);\"\n`;\n\nexports[`emotion-babel-plugin styled no-import 1`] = `\n\"import '@emotion/styled'\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport '@emotion/styled';\"\n`;\n\nexports[`emotion-babel-plugin styled object 1`] = `\n\"import styled from '@emotion/styled'\n\nconst SomeComponent = styled.div({ color: 'hotpink' })\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport _styled from \"@emotion/styled/base\";\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nconst SomeComponent = /*#__PURE__*/_styled(\"div\", process.env.NODE_ENV === \"production\" ? {\n  target: \"eyr3fbm0\"\n} : {\n  target: \"eyr3fbm0\",\n  label: \"SomeComponent\"\n})(process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm9iamVjdC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFc0IiLCJmaWxlIjoib2JqZWN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5cbmNvbnN0IFNvbWVDb21wb25lbnQgPSBzdHlsZWQuZGl2KHsgY29sb3I6ICdob3RwaW5rJyB9KVxuIl19 */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\"\n`;\n\nexports[`emotion-babel-plugin styled object-call-expression 1`] = `\n\"import styled from '@emotion/styled'\n\nconst SomeComponent = styled('div')({ color: 'hotpink' })\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport _styled from \"@emotion/styled/base\";\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nconst SomeComponent = /*#__PURE__*/_styled('div', process.env.NODE_ENV === \"production\" ? {\n  target: \"e1cky9xc0\"\n} : {\n  target: \"e1cky9xc0\",\n  label: \"SomeComponent\"\n})(process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm9iamVjdC1jYWxsLWV4cHJlc3Npb24uanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRXNCIiwiZmlsZSI6Im9iamVjdC1jYWxsLWV4cHJlc3Npb24uanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCdcblxuY29uc3QgU29tZUNvbXBvbmVudCA9IHN0eWxlZCgnZGl2JykoeyBjb2xvcjogJ2hvdHBpbmsnIH0pXG4iXX0= */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\"\n`;\n\nexports[`emotion-babel-plugin styled object-function 1`] = `\n\"import styled from '@emotion/styled'\n\nconst SomeComponent = styled.div(props => ({ color: props.color }))\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport _styled from \"@emotion/styled/base\";\n\nconst SomeComponent = /*#__PURE__*/_styled(\"div\", process.env.NODE_ENV === \"production\" ? {\n  target: \"e14okpby0\"\n} : {\n  target: \"e14okpby0\",\n  label: \"SomeComponent\"\n})(props => ({\n  color: props.color\n}), process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm9iamVjdC1mdW5jdGlvbi5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFc0IiLCJmaWxlIjoib2JqZWN0LWZ1bmN0aW9uLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5cbmNvbnN0IFNvbWVDb21wb25lbnQgPSBzdHlsZWQuZGl2KHByb3BzID0+ICh7IGNvbG9yOiBwcm9wcy5jb2xvciB9KSlcbiJdfQ== */\");\"\n`;\n\nexports[`emotion-babel-plugin styled other-imports 1`] = `\n\"import { something, otherThing } from '@emotion/styled'\n\nsomething()\notherThing()\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport { something, otherThing } from '@emotion/styled';\nsomething();\notherThing();\"\n`;\n\nexports[`emotion-babel-plugin styled primitives 1`] = `\n\"import styled from '@emotion/primitives'\n\nstyled('SomeFakeComponent')\\`\n  color: hotpink;\n\\`\n\nstyled('SomeFakeComponent')({})\n\nstyled.View\\`\n  color: hotpink;\n\\`\n\nstyled.View({})\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport styled from '@emotion/primitives';\n\n/*#__PURE__*/\nstyled('SomeFakeComponent')(\"color:hotpink;\");\n\n/*#__PURE__*/\nstyled('SomeFakeComponent')(\"\");\n\n/*#__PURE__*/\nstyled.View(\"color:hotpink;\");\n\n/*#__PURE__*/\nstyled.View(\"\");\"\n`;\n\nexports[`emotion-babel-plugin styled primitives-other-name 1`] = `\n\"import something from '@emotion/primitives'\n\nsomething.View\\`\n  color: hotpink;\n\\`\n\nsomething.View({})\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport something from '@emotion/primitives';\n\n/*#__PURE__*/\nsomething.View(\"color:hotpink;\");\n\n/*#__PURE__*/\nsomething.View(\"\");\"\n`;\n\nexports[`emotion-babel-plugin styled same-nested-contex-value 1`] = `\n\"import styled from '@emotion/styled'\n\nexport const Comp = styled.div\\`\n  > div {\n    color: blue;\n\n    > div {\n      color: hotpink;\n    }\n  }\n\\`\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport _styled from \"@emotion/styled/base\";\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nexport const Comp = /*#__PURE__*/_styled(\"div\", process.env.NODE_ENV === \"production\" ? {\n  target: \"e1dl4grl0\"\n} : {\n  target: \"e1dl4grl0\",\n  label: \"Comp\"\n})(process.env.NODE_ENV === \"production\" ? {\n  name: \"11tack0\",\n  styles: \">div{color:blue;>div{color:hotpink;}}\"\n} : {\n  name: \"11tack0\",\n  styles: \">div{color:blue;>div{color:hotpink;}}/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNhbWUtbmVzdGVkLWNvbnRleC12YWx1ZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFOEIiLCJmaWxlIjoic2FtZS1uZXN0ZWQtY29udGV4LXZhbHVlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5cbmV4cG9ydCBjb25zdCBDb21wID0gc3R5bGVkLmRpdmBcbiAgPiBkaXYge1xuICAgIGNvbG9yOiBibHVlO1xuXG4gICAgPiBkaXYge1xuICAgICAgY29sb3I6IGhvdHBpbms7XG4gICAgfVxuICB9XG5gXG4iXX0= */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\"\n`;\n\nexports[`emotion-babel-plugin styled shorthand-property 1`] = `\n\"import styled from '@emotion/styled'\n\nlet fontSize = window.whatever\n\nconst H1 = styled.h1({ fontSize })\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport _styled from \"@emotion/styled/base\";\nlet fontSize = window.whatever;\n\nconst H1 = /*#__PURE__*/_styled(\"h1\", process.env.NODE_ENV === \"production\" ? {\n  target: \"e4pkhyn0\"\n} : {\n  target: \"e4pkhyn0\",\n  label: \"H1\"\n})({\n  fontSize\n}, process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNob3J0aGFuZC1wcm9wZXJ0eS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJVyIsImZpbGUiOiJzaG9ydGhhbmQtcHJvcGVydHkuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCdcblxubGV0IGZvbnRTaXplID0gd2luZG93LndoYXRldmVyXG5cbmNvbnN0IEgxID0gc3R5bGVkLmgxKHsgZm9udFNpemUgfSlcbiJdfQ== */\");\"\n`;\n\nexports[`emotion-babel-plugin styled two-consecutive-interpolations 1`] = `\n\"import styled from '@emotion/styled'\nimport { css } from '@emotion/react'\n\nconst H1 = styled.h1\\`\n  \\${props => css\\`\n    color: red;\n  \\`}\n  /* dummy comment */\n  \\${props => css\\`\n    text-transform: uppercase;\n  \\`}\n\\`\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport _styled from \"@emotion/styled/base\";\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { css } from '@emotion/react';\n\nvar _ref = process.env.NODE_ENV === \"production\" ? {\n  name: \"50zrmy\",\n  styles: \"text-transform:uppercase\"\n} : {\n  name: \"15r1ir2-H1\",\n  styles: \"text-transform:uppercase;label:H1;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInR3by1jb25zZWN1dGl2ZS1pbnRlcnBvbGF0aW9ucy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRZ0IiLCJmaWxlIjoidHdvLWNvbnNlY3V0aXZlLWludGVycG9sYXRpb25zLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcblxuY29uc3QgSDEgPSBzdHlsZWQuaDFgXG4gICR7cHJvcHMgPT4gY3NzYFxuICAgIGNvbG9yOiByZWQ7XG4gIGB9XG4gIC8qIGR1bW15IGNvbW1lbnQgKi9cbiAgJHtwcm9wcyA9PiBjc3NgXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYH1cbmBcbiJdfQ== */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\n\nvar _ref2 = process.env.NODE_ENV === \"production\" ? {\n  name: \"hwfcu5\",\n  styles: \"color:red\"\n} : {\n  name: \"1yd8rfk-H1\",\n  styles: \"color:red;label:H1;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInR3by1jb25zZWN1dGl2ZS1pbnRlcnBvbGF0aW9ucy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJZ0IiLCJmaWxlIjoidHdvLWNvbnNlY3V0aXZlLWludGVycG9sYXRpb25zLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcblxuY29uc3QgSDEgPSBzdHlsZWQuaDFgXG4gICR7cHJvcHMgPT4gY3NzYFxuICAgIGNvbG9yOiByZWQ7XG4gIGB9XG4gIC8qIGR1bW15IGNvbW1lbnQgKi9cbiAgJHtwcm9wcyA9PiBjc3NgXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYH1cbmBcbiJdfQ== */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\n\nconst H1 = /*#__PURE__*/_styled(\"h1\", process.env.NODE_ENV === \"production\" ? {\n  target: \"e45grep0\"\n} : {\n  target: \"e45grep0\",\n  label: \"H1\"\n})(props => _ref2, props => _ref, \";\" + (process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInR3by1jb25zZWN1dGl2ZS1pbnRlcnBvbGF0aW9ucy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHb0IiLCJmaWxlIjoidHdvLWNvbnNlY3V0aXZlLWludGVycG9sYXRpb25zLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcblxuY29uc3QgSDEgPSBzdHlsZWQuaDFgXG4gICR7cHJvcHMgPT4gY3NzYFxuICAgIGNvbG9yOiByZWQ7XG4gIGB9XG4gIC8qIGR1bW15IGNvbW1lbnQgKi9cbiAgJHtwcm9wcyA9PiBjc3NgXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYH1cbmBcbiJdfQ== */\"));\"\n`;\n\nexports[`emotion-babel-plugin styled with-spread 1`] = `\n\"import styled from '@emotion/styled'\n\nconst H1 = styled.h1({ ...window.whatever })\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport _styled from \"@emotion/styled/base\";\n\nconst H1 = /*#__PURE__*/_styled(\"h1\", process.env.NODE_ENV === \"production\" ? {\n  target: \"e49hde00\"\n} : {\n  target: \"e49hde00\",\n  label: \"H1\"\n})({ ...window.whatever\n}, process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndpdGgtc3ByZWFkLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVXIiwiZmlsZSI6IndpdGgtc3ByZWFkLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5cbmNvbnN0IEgxID0gc3R5bGVkLmgxKHsgLi4ud2luZG93LndoYXRldmVyIH0pXG4iXX0= */\");\"\n`;\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/__snapshots__/vanilla-emotion.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`vanilla emotion comments 1`] = `\n\"import { css } from '@emotion/css'\n\ncss\\`\n  // display:flex;\n\n  /*\nwef\n\ndfwf*/\n  color: hotpink;\n\\`\n\ncss\\`\n  /* @noflip */\n  left: 1px;\n\\`\n\ncss\\`\n  left: 2px;\n\n  /* @noflip */\n  &.foo {\n    left: 3px;\n  }\n\n  &.zot {\n    /* @noflip */\n    right: 1px;\n  }\n\\`\n\ncss\\`\n  /* @whatever */\n  left: 4px;\n\\`\n\ncss\\`\n  left: 5px;\n\n  /* @whatever */\n  &.foo {\n    left: 6px;\n  }\n\n  &.zot {\n    /* @whatever */\n    right: 2px;\n  }\n\\`\n\ncss\\`\n  // @noflip should-be-removed\n  left: 7px;\n\\`\n\ncss\\`\n  // @shouldberemoved\n  left: 8px;\n\\`\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { css } from '@emotion/css';\n\n/*#__PURE__*/\ncss(process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbW1lbnRzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVHIiwiZmlsZSI6ImNvbW1lbnRzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vY3NzJ1xuXG5jc3NgXG4gIC8vIGRpc3BsYXk6ZmxleDtcblxuICAvKlxud2VmXG5cbmRmd2YqL1xuICBjb2xvcjogaG90cGluaztcbmBcblxuY3NzYFxuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IDFweDtcbmBcblxuY3NzYFxuICBsZWZ0OiAycHg7XG5cbiAgLyogQG5vZmxpcCAqL1xuICAmLmZvbyB7XG4gICAgbGVmdDogM3B4O1xuICB9XG5cbiAgJi56b3Qge1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICByaWdodDogMXB4O1xuICB9XG5gXG5cbmNzc2BcbiAgLyogQHdoYXRldmVyICovXG4gIGxlZnQ6IDRweDtcbmBcblxuY3NzYFxuICBsZWZ0OiA1cHg7XG5cbiAgLyogQHdoYXRldmVyICovXG4gICYuZm9vIHtcbiAgICBsZWZ0OiA2cHg7XG4gIH1cblxuICAmLnpvdCB7XG4gICAgLyogQHdoYXRldmVyICovXG4gICAgcmlnaHQ6IDJweDtcbiAgfVxuYFxuXG5jc3NgXG4gIC8vIEBub2ZsaXAgc2hvdWxkLWJlLXJlbW92ZWRcbiAgbGVmdDogN3B4O1xuYFxuXG5jc3NgXG4gIC8vIEBzaG91bGRiZXJlbW92ZWRcbiAgbGVmdDogOHB4O1xuYFxuIl19 */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\n\n/*#__PURE__*/\ncss(process.env.NODE_ENV === \"production\" ? {\n  name: \"14fte1c\",\n  styles: \"/* @noflip */left:1px\"\n} : {\n  name: \"14fte1c\",\n  styles: \"/* @noflip */left:1px/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbW1lbnRzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVlHIiwiZmlsZSI6ImNvbW1lbnRzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vY3NzJ1xuXG5jc3NgXG4gIC8vIGRpc3BsYXk6ZmxleDtcblxuICAvKlxud2VmXG5cbmRmd2YqL1xuICBjb2xvcjogaG90cGluaztcbmBcblxuY3NzYFxuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IDFweDtcbmBcblxuY3NzYFxuICBsZWZ0OiAycHg7XG5cbiAgLyogQG5vZmxpcCAqL1xuICAmLmZvbyB7XG4gICAgbGVmdDogM3B4O1xuICB9XG5cbiAgJi56b3Qge1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICByaWdodDogMXB4O1xuICB9XG5gXG5cbmNzc2BcbiAgLyogQHdoYXRldmVyICovXG4gIGxlZnQ6IDRweDtcbmBcblxuY3NzYFxuICBsZWZ0OiA1cHg7XG5cbiAgLyogQHdoYXRldmVyICovXG4gICYuZm9vIHtcbiAgICBsZWZ0OiA2cHg7XG4gIH1cblxuICAmLnpvdCB7XG4gICAgLyogQHdoYXRldmVyICovXG4gICAgcmlnaHQ6IDJweDtcbiAgfVxuYFxuXG5jc3NgXG4gIC8vIEBub2ZsaXAgc2hvdWxkLWJlLXJlbW92ZWRcbiAgbGVmdDogN3B4O1xuYFxuXG5jc3NgXG4gIC8vIEBzaG91bGRiZXJlbW92ZWRcbiAgbGVmdDogOHB4O1xuYFxuIl19 */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\n\n/*#__PURE__*/\ncss(process.env.NODE_ENV === \"production\" ? {\n  name: \"hdn0xn\",\n  styles: \"left:2px;/* @noflip */&.foo{left:3px;}&.zot{/* @noflip */right:1px;}\"\n} : {\n  name: \"hdn0xn\",\n  styles: \"left:2px;/* @noflip */&.foo{left:3px;}&.zot{/* @noflip */right:1px;}/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbW1lbnRzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlCRyIsImZpbGUiOiJjb21tZW50cy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL2NzcydcblxuY3NzYFxuICAvLyBkaXNwbGF5OmZsZXg7XG5cbiAgLypcbndlZlxuXG5kZndmKi9cbiAgY29sb3I6IGhvdHBpbms7XG5gXG5cbmNzc2BcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiAxcHg7XG5gXG5cbmNzc2BcbiAgbGVmdDogMnB4O1xuXG4gIC8qIEBub2ZsaXAgKi9cbiAgJi5mb28ge1xuICAgIGxlZnQ6IDNweDtcbiAgfVxuXG4gICYuem90IHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgcmlnaHQ6IDFweDtcbiAgfVxuYFxuXG5jc3NgXG4gIC8qIEB3aGF0ZXZlciAqL1xuICBsZWZ0OiA0cHg7XG5gXG5cbmNzc2BcbiAgbGVmdDogNXB4O1xuXG4gIC8qIEB3aGF0ZXZlciAqL1xuICAmLmZvbyB7XG4gICAgbGVmdDogNnB4O1xuICB9XG5cbiAgJi56b3Qge1xuICAgIC8qIEB3aGF0ZXZlciAqL1xuICAgIHJpZ2h0OiAycHg7XG4gIH1cbmBcblxuY3NzYFxuICAvLyBAbm9mbGlwIHNob3VsZC1iZS1yZW1vdmVkXG4gIGxlZnQ6IDdweDtcbmBcblxuY3NzYFxuICAvLyBAc2hvdWxkYmVyZW1vdmVkXG4gIGxlZnQ6IDhweDtcbmBcbiJdfQ== */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\n\n/*#__PURE__*/\ncss(process.env.NODE_ENV === \"production\" ? {\n  name: \"m1e8pu\",\n  styles: \"/* @whatever */left:4px\"\n} : {\n  name: \"m1e8pu\",\n  styles: \"/* @whatever */left:4px/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbW1lbnRzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQStCRyIsImZpbGUiOiJjb21tZW50cy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL2NzcydcblxuY3NzYFxuICAvLyBkaXNwbGF5OmZsZXg7XG5cbiAgLypcbndlZlxuXG5kZndmKi9cbiAgY29sb3I6IGhvdHBpbms7XG5gXG5cbmNzc2BcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiAxcHg7XG5gXG5cbmNzc2BcbiAgbGVmdDogMnB4O1xuXG4gIC8qIEBub2ZsaXAgKi9cbiAgJi5mb28ge1xuICAgIGxlZnQ6IDNweDtcbiAgfVxuXG4gICYuem90IHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgcmlnaHQ6IDFweDtcbiAgfVxuYFxuXG5jc3NgXG4gIC8qIEB3aGF0ZXZlciAqL1xuICBsZWZ0OiA0cHg7XG5gXG5cbmNzc2BcbiAgbGVmdDogNXB4O1xuXG4gIC8qIEB3aGF0ZXZlciAqL1xuICAmLmZvbyB7XG4gICAgbGVmdDogNnB4O1xuICB9XG5cbiAgJi56b3Qge1xuICAgIC8qIEB3aGF0ZXZlciAqL1xuICAgIHJpZ2h0OiAycHg7XG4gIH1cbmBcblxuY3NzYFxuICAvLyBAbm9mbGlwIHNob3VsZC1iZS1yZW1vdmVkXG4gIGxlZnQ6IDdweDtcbmBcblxuY3NzYFxuICAvLyBAc2hvdWxkYmVyZW1vdmVkXG4gIGxlZnQ6IDhweDtcbmBcbiJdfQ== */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\n\n/*#__PURE__*/\ncss(process.env.NODE_ENV === \"production\" ? {\n  name: \"ldghp9\",\n  styles: \"left:5px;/* @whatever */&.foo{left:6px;}&.zot{/* @whatever */right:2px;}\"\n} : {\n  name: \"ldghp9\",\n  styles: \"left:5px;/* @whatever */&.foo{left:6px;}&.zot{/* @whatever */right:2px;}/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbW1lbnRzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW9DRyIsImZpbGUiOiJjb21tZW50cy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL2NzcydcblxuY3NzYFxuICAvLyBkaXNwbGF5OmZsZXg7XG5cbiAgLypcbndlZlxuXG5kZndmKi9cbiAgY29sb3I6IGhvdHBpbms7XG5gXG5cbmNzc2BcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiAxcHg7XG5gXG5cbmNzc2BcbiAgbGVmdDogMnB4O1xuXG4gIC8qIEBub2ZsaXAgKi9cbiAgJi5mb28ge1xuICAgIGxlZnQ6IDNweDtcbiAgfVxuXG4gICYuem90IHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgcmlnaHQ6IDFweDtcbiAgfVxuYFxuXG5jc3NgXG4gIC8qIEB3aGF0ZXZlciAqL1xuICBsZWZ0OiA0cHg7XG5gXG5cbmNzc2BcbiAgbGVmdDogNXB4O1xuXG4gIC8qIEB3aGF0ZXZlciAqL1xuICAmLmZvbyB7XG4gICAgbGVmdDogNnB4O1xuICB9XG5cbiAgJi56b3Qge1xuICAgIC8qIEB3aGF0ZXZlciAqL1xuICAgIHJpZ2h0OiAycHg7XG4gIH1cbmBcblxuY3NzYFxuICAvLyBAbm9mbGlwIHNob3VsZC1iZS1yZW1vdmVkXG4gIGxlZnQ6IDdweDtcbmBcblxuY3NzYFxuICAvLyBAc2hvdWxkYmVyZW1vdmVkXG4gIGxlZnQ6IDhweDtcbmBcbiJdfQ== */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\n\n/*#__PURE__*/\ncss(process.env.NODE_ENV === \"production\" ? {\n  name: \"o10ag4\",\n  styles: \"left:7px\"\n} : {\n  name: \"o10ag4\",\n  styles: \"left:7px/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbW1lbnRzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWtERyIsImZpbGUiOiJjb21tZW50cy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL2NzcydcblxuY3NzYFxuICAvLyBkaXNwbGF5OmZsZXg7XG5cbiAgLypcbndlZlxuXG5kZndmKi9cbiAgY29sb3I6IGhvdHBpbms7XG5gXG5cbmNzc2BcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiAxcHg7XG5gXG5cbmNzc2BcbiAgbGVmdDogMnB4O1xuXG4gIC8qIEBub2ZsaXAgKi9cbiAgJi5mb28ge1xuICAgIGxlZnQ6IDNweDtcbiAgfVxuXG4gICYuem90IHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgcmlnaHQ6IDFweDtcbiAgfVxuYFxuXG5jc3NgXG4gIC8qIEB3aGF0ZXZlciAqL1xuICBsZWZ0OiA0cHg7XG5gXG5cbmNzc2BcbiAgbGVmdDogNXB4O1xuXG4gIC8qIEB3aGF0ZXZlciAqL1xuICAmLmZvbyB7XG4gICAgbGVmdDogNnB4O1xuICB9XG5cbiAgJi56b3Qge1xuICAgIC8qIEB3aGF0ZXZlciAqL1xuICAgIHJpZ2h0OiAycHg7XG4gIH1cbmBcblxuY3NzYFxuICAvLyBAbm9mbGlwIHNob3VsZC1iZS1yZW1vdmVkXG4gIGxlZnQ6IDdweDtcbmBcblxuY3NzYFxuICAvLyBAc2hvdWxkYmVyZW1vdmVkXG4gIGxlZnQ6IDhweDtcbmBcbiJdfQ== */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\n\n/*#__PURE__*/\ncss(process.env.NODE_ENV === \"production\" ? {\n  name: \"zrl602\",\n  styles: \"left:8px\"\n} : {\n  name: \"zrl602\",\n  styles: \"left:8px/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbW1lbnRzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXVERyIsImZpbGUiOiJjb21tZW50cy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL2NzcydcblxuY3NzYFxuICAvLyBkaXNwbGF5OmZsZXg7XG5cbiAgLypcbndlZlxuXG5kZndmKi9cbiAgY29sb3I6IGhvdHBpbms7XG5gXG5cbmNzc2BcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiAxcHg7XG5gXG5cbmNzc2BcbiAgbGVmdDogMnB4O1xuXG4gIC8qIEBub2ZsaXAgKi9cbiAgJi5mb28ge1xuICAgIGxlZnQ6IDNweDtcbiAgfVxuXG4gICYuem90IHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgcmlnaHQ6IDFweDtcbiAgfVxuYFxuXG5jc3NgXG4gIC8qIEB3aGF0ZXZlciAqL1xuICBsZWZ0OiA0cHg7XG5gXG5cbmNzc2BcbiAgbGVmdDogNXB4O1xuXG4gIC8qIEB3aGF0ZXZlciAqL1xuICAmLmZvbyB7XG4gICAgbGVmdDogNnB4O1xuICB9XG5cbiAgJi56b3Qge1xuICAgIC8qIEB3aGF0ZXZlciAqL1xuICAgIHJpZ2h0OiAycHg7XG4gIH1cbmBcblxuY3NzYFxuICAvLyBAbm9mbGlwIHNob3VsZC1iZS1yZW1vdmVkXG4gIGxlZnQ6IDdweDtcbmBcblxuY3NzYFxuICAvLyBAc2hvdWxkYmVyZW1vdmVkXG4gIGxlZnQ6IDhweDtcbmBcbiJdfQ== */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\"\n`;\n\nexports[`vanilla emotion css-basic 1`] = `\n\"import { css } from '@emotion/css'\n\ncss\\`\n  margin: 12px 48px;\n  color: #ffffff;\n  display: flex;\n  flex: 1 0 auto;\n  color: blue;\n  @media (min-width: 420px) {\n    line-height: 40px;\n  }\n  width: \\${window.whatever};\n\\`\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport { css } from '@emotion/css';\n\n/*#__PURE__*/\ncss(\"margin:12px 48px;color:#ffffff;display:flex;flex:1 0 auto;color:blue;@media (min-width: 420px){line-height:40px;}width:\", window.whatever, \";\" + (process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNzcy1iYXNpYy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFRyIsImZpbGUiOiJjc3MtYmFzaWMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jc3MnXG5cbmNzc2BcbiAgbWFyZ2luOiAxMnB4IDQ4cHg7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAxIDAgYXV0bztcbiAgY29sb3I6IGJsdWU7XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0MjBweCkge1xuICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICB9XG4gIHdpZHRoOiAke3dpbmRvdy53aGF0ZXZlcn07XG5gXG4iXX0= */\"));\"\n`;\n\nexports[`vanilla emotion css-object 1`] = `\n\"import { css } from '@emotion/css'\n\nlet someCls = css({\n  color: window.whatever\n})\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport { css } from '@emotion/css';\nlet someCls = /*#__PURE__*/css({\n  color: window.whatever\n}, process.env.NODE_ENV === \"production\" ? \"\" : \";label:someCls;\", process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNzcy1vYmplY3QuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRWMiLCJmaWxlIjoiY3NzLW9iamVjdC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL2NzcydcblxubGV0IHNvbWVDbHMgPSBjc3Moe1xuICBjb2xvcjogd2luZG93LndoYXRldmVyXG59KVxuIl19 */\");\"\n`;\n\nexports[`vanilla emotion does-not-minify-inside-content-property 1`] = `\n\"import { css } from '@emotion/css'\n\nconst cls1 = css\\`\n  content: '  {  }  ';\n\\`\n// prettier-ignore\nconst cls2 = css\\`\n  content: \"  {  }  \";\n\\`\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { css } from '@emotion/css';\nconst cls1 = /*#__PURE__*/css(process.env.NODE_ENV === \"production\" ? {\n  name: \"1bpoqk7\",\n  styles: \"content:'  {  }  '\"\n} : {\n  name: \"19tqhve-cls1\",\n  styles: \"content:'  {  }  ';label:cls1;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImRvZXMtbm90LW1pbmlmeS1pbnNpZGUtY29udGVudC1wcm9wZXJ0eS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFZ0IiLCJmaWxlIjoiZG9lcy1ub3QtbWluaWZ5LWluc2lkZS1jb250ZW50LXByb3BlcnR5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vY3NzJ1xuXG5jb25zdCBjbHMxID0gY3NzYFxuICBjb250ZW50OiAnICB7ICB9ICAnO1xuYFxuLy8gcHJldHRpZXItaWdub3JlXG5jb25zdCBjbHMyID0gY3NzYFxuICBjb250ZW50OiBcIiAgeyAgfSAgXCI7XG5gXG4iXX0= */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n}); // prettier-ignore\n\nconst cls2 = /*#__PURE__*/css(process.env.NODE_ENV === \"production\" ? {\n  name: \"9pd1g7\",\n  styles: \"content:\\\\\"  {  }  \\\\\"\"\n} : {\n  name: \"16r822g-cls2\",\n  styles: \"content:\\\\\"  {  }  \\\\\";label:cls2;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImRvZXMtbm90LW1pbmlmeS1pbnNpZGUtY29udGVudC1wcm9wZXJ0eS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNZ0IiLCJmaWxlIjoiZG9lcy1ub3QtbWluaWZ5LWluc2lkZS1jb250ZW50LXByb3BlcnR5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vY3NzJ1xuXG5jb25zdCBjbHMxID0gY3NzYFxuICBjb250ZW50OiAnICB7ICB9ICAnO1xuYFxuLy8gcHJldHRpZXItaWdub3JlXG5jb25zdCBjbHMyID0gY3NzYFxuICBjb250ZW50OiBcIiAgeyAgfSAgXCI7XG5gXG4iXX0= */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\"\n`;\n\nexports[`vanilla emotion hoisting 1`] = `\n\"import { css } from '@emotion/css'\n\nfunction test() {\n  const cls1 = css\\`\n    font-size: 20px;\n    @media (min-width: 420px) {\n      color: blue;\n      \\${css\\`\n        width: 96px;\n        height: 96px;\n      \\`};\n      line-height: 26px;\n    }\n    background: green;\n    \\${{ backgroundColor: 'hotpink' }};\n  \\`\n\n  const cls2 = css\\`\n    \\${{ color: 'blue' }};\n  \\`\n\n  const cls3 = css\\`\n    display: flex;\n    &:hover {\n      color: hotpink;\n    }\n  \\`\n  let outerVar = 'something'\n  function inner() {\n    const styles = { color: 'darkorchid' }\n    const color = 'aquamarine'\n\n    const cls4 = css\\`\n      \\${cls3};\n      \\${cls1};\n      \\${{ color: 'darkorchid' }};\n      \\${{ color }};\n      \\${css\\`\n        height: 420px;\n        width: \\${styles};\n      \\`};\n    \\`\n    let someCls = css\\`\n      color: \\${outerVar};\n    \\`\n  }\n}\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { css } from '@emotion/css';\n\nfunction test() {\n  const cls1 = /*#__PURE__*/css(\"font-size:20px;@media (min-width: 420px){color:blue;\", /*#__PURE__*/css(process.env.NODE_ENV === \"production\" ? {\n    name: \"14ht2kb\",\n    styles: \"width:96px;height:96px\"\n  } : {\n    name: \"1ylk12k-cls1\",\n    styles: \"width:96px;height:96px;label:cls1;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImhvaXN0aW5nLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9XIiwiZmlsZSI6ImhvaXN0aW5nLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vY3NzJ1xuXG5mdW5jdGlvbiB0ZXN0KCkge1xuICBjb25zdCBjbHMxID0gY3NzYFxuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDIwcHgpIHtcbiAgICAgIGNvbG9yOiBibHVlO1xuICAgICAgJHtjc3NgXG4gICAgICAgIHdpZHRoOiA5NnB4O1xuICAgICAgICBoZWlnaHQ6IDk2cHg7XG4gICAgICBgfTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgIH1cbiAgICBiYWNrZ3JvdW5kOiBncmVlbjtcbiAgICAke3sgYmFja2dyb3VuZENvbG9yOiAnaG90cGluaycgfX07XG4gIGBcblxuICBjb25zdCBjbHMyID0gY3NzYFxuICAgICR7eyBjb2xvcjogJ2JsdWUnIH19O1xuICBgXG5cbiAgY29uc3QgY2xzMyA9IGNzc2BcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6IGhvdHBpbms7XG4gICAgfVxuICBgXG4gIGxldCBvdXRlclZhciA9ICdzb21ldGhpbmcnXG4gIGZ1bmN0aW9uIGlubmVyKCkge1xuICAgIGNvbnN0IHN0eWxlcyA9IHsgY29sb3I6ICdkYXJrb3JjaGlkJyB9XG4gICAgY29uc3QgY29sb3IgPSAnYXF1YW1hcmluZSdcblxuICAgIGNvbnN0IGNsczQgPSBjc3NgXG4gICAgICAke2NsczN9O1xuICAgICAgJHtjbHMxfTtcbiAgICAgICR7eyBjb2xvcjogJ2RhcmtvcmNoaWQnIH19O1xuICAgICAgJHt7IGNvbG9yIH19O1xuICAgICAgJHtjc3NgXG4gICAgICAgIGhlaWdodDogNDIwcHg7XG4gICAgICAgIHdpZHRoOiAke3N0eWxlc307XG4gICAgICBgfTtcbiAgICBgXG4gICAgbGV0IHNvbWVDbHMgPSBjc3NgXG4gICAgICBjb2xvcjogJHtvdXRlclZhcn07XG4gICAgYFxuICB9XG59XG4iXX0= */\",\n    toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n  }), \";line-height:26px;}background:green;background-color:hotpink;;\" + (process.env.NODE_ENV === \"production\" ? \"\" : \";label:cls1;\"), process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImhvaXN0aW5nLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdrQiIsImZpbGUiOiJob2lzdGluZy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL2NzcydcblxuZnVuY3Rpb24gdGVzdCgpIHtcbiAgY29uc3QgY2xzMSA9IGNzc2BcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQyMHB4KSB7XG4gICAgICBjb2xvcjogYmx1ZTtcbiAgICAgICR7Y3NzYFxuICAgICAgICB3aWR0aDogOTZweDtcbiAgICAgICAgaGVpZ2h0OiA5NnB4O1xuICAgICAgYH07XG4gICAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgICB9XG4gICAgYmFja2dyb3VuZDogZ3JlZW47XG4gICAgJHt7IGJhY2tncm91bmRDb2xvcjogJ2hvdHBpbmsnIH19O1xuICBgXG5cbiAgY29uc3QgY2xzMiA9IGNzc2BcbiAgICAke3sgY29sb3I6ICdibHVlJyB9fTtcbiAgYFxuXG4gIGNvbnN0IGNsczMgPSBjc3NgXG4gICAgZGlzcGxheTogZmxleDtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiBob3RwaW5rO1xuICAgIH1cbiAgYFxuICBsZXQgb3V0ZXJWYXIgPSAnc29tZXRoaW5nJ1xuICBmdW5jdGlvbiBpbm5lcigpIHtcbiAgICBjb25zdCBzdHlsZXMgPSB7IGNvbG9yOiAnZGFya29yY2hpZCcgfVxuICAgIGNvbnN0IGNvbG9yID0gJ2FxdWFtYXJpbmUnXG5cbiAgICBjb25zdCBjbHM0ID0gY3NzYFxuICAgICAgJHtjbHMzfTtcbiAgICAgICR7Y2xzMX07XG4gICAgICAke3sgY29sb3I6ICdkYXJrb3JjaGlkJyB9fTtcbiAgICAgICR7eyBjb2xvciB9fTtcbiAgICAgICR7Y3NzYFxuICAgICAgICBoZWlnaHQ6IDQyMHB4O1xuICAgICAgICB3aWR0aDogJHtzdHlsZXN9O1xuICAgICAgYH07XG4gICAgYFxuICAgIGxldCBzb21lQ2xzID0gY3NzYFxuICAgICAgY29sb3I6ICR7b3V0ZXJWYXJ9O1xuICAgIGBcbiAgfVxufVxuIl19 */\");\n  const cls2 = /*#__PURE__*/css(process.env.NODE_ENV === \"production\" ? {\n    name: \"14ksm7b\",\n    styles: \"color:blue;\"\n  } : {\n    name: \"ca17a1-cls2\",\n    styles: \"color:blue;;label:cls2;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImhvaXN0aW5nLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlCa0IiLCJmaWxlIjoiaG9pc3RpbmcuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jc3MnXG5cbmZ1bmN0aW9uIHRlc3QoKSB7XG4gIGNvbnN0IGNsczEgPSBjc3NgXG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0MjBweCkge1xuICAgICAgY29sb3I6IGJsdWU7XG4gICAgICAke2Nzc2BcbiAgICAgICAgd2lkdGg6IDk2cHg7XG4gICAgICAgIGhlaWdodDogOTZweDtcbiAgICAgIGB9O1xuICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgfVxuICAgIGJhY2tncm91bmQ6IGdyZWVuO1xuICAgICR7eyBiYWNrZ3JvdW5kQ29sb3I6ICdob3RwaW5rJyB9fTtcbiAgYFxuXG4gIGNvbnN0IGNsczIgPSBjc3NgXG4gICAgJHt7IGNvbG9yOiAnYmx1ZScgfX07XG4gIGBcblxuICBjb25zdCBjbHMzID0gY3NzYFxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogaG90cGluaztcbiAgICB9XG4gIGBcbiAgbGV0IG91dGVyVmFyID0gJ3NvbWV0aGluZydcbiAgZnVuY3Rpb24gaW5uZXIoKSB7XG4gICAgY29uc3Qgc3R5bGVzID0geyBjb2xvcjogJ2RhcmtvcmNoaWQnIH1cbiAgICBjb25zdCBjb2xvciA9ICdhcXVhbWFyaW5lJ1xuXG4gICAgY29uc3QgY2xzNCA9IGNzc2BcbiAgICAgICR7Y2xzM307XG4gICAgICAke2NsczF9O1xuICAgICAgJHt7IGNvbG9yOiAnZGFya29yY2hpZCcgfX07XG4gICAgICAke3sgY29sb3IgfX07XG4gICAgICAke2Nzc2BcbiAgICAgICAgaGVpZ2h0OiA0MjBweDtcbiAgICAgICAgd2lkdGg6ICR7c3R5bGVzfTtcbiAgICAgIGB9O1xuICAgIGBcbiAgICBsZXQgc29tZUNscyA9IGNzc2BcbiAgICAgIGNvbG9yOiAke291dGVyVmFyfTtcbiAgICBgXG4gIH1cbn1cbiJdfQ== */\",\n    toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n  });\n  const cls3 = /*#__PURE__*/css(process.env.NODE_ENV === \"production\" ? {\n    name: \"a21n9o\",\n    styles: \"display:flex;&:hover{color:hotpink;}\"\n  } : {\n    name: \"1m06t0b-cls3\",\n    styles: \"display:flex;&:hover{color:hotpink;};label:cls3;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImhvaXN0aW5nLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXFCa0IiLCJmaWxlIjoiaG9pc3RpbmcuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jc3MnXG5cbmZ1bmN0aW9uIHRlc3QoKSB7XG4gIGNvbnN0IGNsczEgPSBjc3NgXG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0MjBweCkge1xuICAgICAgY29sb3I6IGJsdWU7XG4gICAgICAke2Nzc2BcbiAgICAgICAgd2lkdGg6IDk2cHg7XG4gICAgICAgIGhlaWdodDogOTZweDtcbiAgICAgIGB9O1xuICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgfVxuICAgIGJhY2tncm91bmQ6IGdyZWVuO1xuICAgICR7eyBiYWNrZ3JvdW5kQ29sb3I6ICdob3RwaW5rJyB9fTtcbiAgYFxuXG4gIGNvbnN0IGNsczIgPSBjc3NgXG4gICAgJHt7IGNvbG9yOiAnYmx1ZScgfX07XG4gIGBcblxuICBjb25zdCBjbHMzID0gY3NzYFxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogaG90cGluaztcbiAgICB9XG4gIGBcbiAgbGV0IG91dGVyVmFyID0gJ3NvbWV0aGluZydcbiAgZnVuY3Rpb24gaW5uZXIoKSB7XG4gICAgY29uc3Qgc3R5bGVzID0geyBjb2xvcjogJ2RhcmtvcmNoaWQnIH1cbiAgICBjb25zdCBjb2xvciA9ICdhcXVhbWFyaW5lJ1xuXG4gICAgY29uc3QgY2xzNCA9IGNzc2BcbiAgICAgICR7Y2xzM307XG4gICAgICAke2NsczF9O1xuICAgICAgJHt7IGNvbG9yOiAnZGFya29yY2hpZCcgfX07XG4gICAgICAke3sgY29sb3IgfX07XG4gICAgICAke2Nzc2BcbiAgICAgICAgaGVpZ2h0OiA0MjBweDtcbiAgICAgICAgd2lkdGg6ICR7c3R5bGVzfTtcbiAgICAgIGB9O1xuICAgIGBcbiAgICBsZXQgc29tZUNscyA9IGNzc2BcbiAgICAgIGNvbG9yOiAke291dGVyVmFyfTtcbiAgICBgXG4gIH1cbn1cbiJdfQ== */\",\n    toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n  });\n  let outerVar = 'something';\n\n  function inner() {\n    const styles = {\n      color: 'darkorchid'\n    };\n    const color = 'aquamarine';\n    const cls4 = /*#__PURE__*/css(cls3, \";\", cls1, \";color:darkorchid;;\", {\n      color\n    }, \";\", /*#__PURE__*/css(\"height:420px;width:\", styles, \";\" + (process.env.NODE_ENV === \"production\" ? \"\" : \";label:cls4;\"), process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImhvaXN0aW5nLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXFDVyIsImZpbGUiOiJob2lzdGluZy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL2NzcydcblxuZnVuY3Rpb24gdGVzdCgpIHtcbiAgY29uc3QgY2xzMSA9IGNzc2BcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQyMHB4KSB7XG4gICAgICBjb2xvcjogYmx1ZTtcbiAgICAgICR7Y3NzYFxuICAgICAgICB3aWR0aDogOTZweDtcbiAgICAgICAgaGVpZ2h0OiA5NnB4O1xuICAgICAgYH07XG4gICAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgICB9XG4gICAgYmFja2dyb3VuZDogZ3JlZW47XG4gICAgJHt7IGJhY2tncm91bmRDb2xvcjogJ2hvdHBpbmsnIH19O1xuICBgXG5cbiAgY29uc3QgY2xzMiA9IGNzc2BcbiAgICAke3sgY29sb3I6ICdibHVlJyB9fTtcbiAgYFxuXG4gIGNvbnN0IGNsczMgPSBjc3NgXG4gICAgZGlzcGxheTogZmxleDtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiBob3RwaW5rO1xuICAgIH1cbiAgYFxuICBsZXQgb3V0ZXJWYXIgPSAnc29tZXRoaW5nJ1xuICBmdW5jdGlvbiBpbm5lcigpIHtcbiAgICBjb25zdCBzdHlsZXMgPSB7IGNvbG9yOiAnZGFya29yY2hpZCcgfVxuICAgIGNvbnN0IGNvbG9yID0gJ2FxdWFtYXJpbmUnXG5cbiAgICBjb25zdCBjbHM0ID0gY3NzYFxuICAgICAgJHtjbHMzfTtcbiAgICAgICR7Y2xzMX07XG4gICAgICAke3sgY29sb3I6ICdkYXJrb3JjaGlkJyB9fTtcbiAgICAgICR7eyBjb2xvciB9fTtcbiAgICAgICR7Y3NzYFxuICAgICAgICBoZWlnaHQ6IDQyMHB4O1xuICAgICAgICB3aWR0aDogJHtzdHlsZXN9O1xuICAgICAgYH07XG4gICAgYFxuICAgIGxldCBzb21lQ2xzID0gY3NzYFxuICAgICAgY29sb3I6ICR7b3V0ZXJWYXJ9O1xuICAgIGBcbiAgfVxufVxuIl19 */\"), \";\" + (process.env.NODE_ENV === \"production\" ? \"\" : \";label:cls4;\"), process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImhvaXN0aW5nLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWdDb0IiLCJmaWxlIjoiaG9pc3RpbmcuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jc3MnXG5cbmZ1bmN0aW9uIHRlc3QoKSB7XG4gIGNvbnN0IGNsczEgPSBjc3NgXG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0MjBweCkge1xuICAgICAgY29sb3I6IGJsdWU7XG4gICAgICAke2Nzc2BcbiAgICAgICAgd2lkdGg6IDk2cHg7XG4gICAgICAgIGhlaWdodDogOTZweDtcbiAgICAgIGB9O1xuICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgfVxuICAgIGJhY2tncm91bmQ6IGdyZWVuO1xuICAgICR7eyBiYWNrZ3JvdW5kQ29sb3I6ICdob3RwaW5rJyB9fTtcbiAgYFxuXG4gIGNvbnN0IGNsczIgPSBjc3NgXG4gICAgJHt7IGNvbG9yOiAnYmx1ZScgfX07XG4gIGBcblxuICBjb25zdCBjbHMzID0gY3NzYFxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogaG90cGluaztcbiAgICB9XG4gIGBcbiAgbGV0IG91dGVyVmFyID0gJ3NvbWV0aGluZydcbiAgZnVuY3Rpb24gaW5uZXIoKSB7XG4gICAgY29uc3Qgc3R5bGVzID0geyBjb2xvcjogJ2RhcmtvcmNoaWQnIH1cbiAgICBjb25zdCBjb2xvciA9ICdhcXVhbWFyaW5lJ1xuXG4gICAgY29uc3QgY2xzNCA9IGNzc2BcbiAgICAgICR7Y2xzM307XG4gICAgICAke2NsczF9O1xuICAgICAgJHt7IGNvbG9yOiAnZGFya29yY2hpZCcgfX07XG4gICAgICAke3sgY29sb3IgfX07XG4gICAgICAke2Nzc2BcbiAgICAgICAgaGVpZ2h0OiA0MjBweDtcbiAgICAgICAgd2lkdGg6ICR7c3R5bGVzfTtcbiAgICAgIGB9O1xuICAgIGBcbiAgICBsZXQgc29tZUNscyA9IGNzc2BcbiAgICAgIGNvbG9yOiAke291dGVyVmFyfTtcbiAgICBgXG4gIH1cbn1cbiJdfQ== */\");\n    let someCls = /*#__PURE__*/css(\"color:\", outerVar, \";\" + (process.env.NODE_ENV === \"production\" ? \"\" : \";label:someCls;\"), process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImhvaXN0aW5nLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTBDcUIiLCJmaWxlIjoiaG9pc3RpbmcuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jc3MnXG5cbmZ1bmN0aW9uIHRlc3QoKSB7XG4gIGNvbnN0IGNsczEgPSBjc3NgXG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0MjBweCkge1xuICAgICAgY29sb3I6IGJsdWU7XG4gICAgICAke2Nzc2BcbiAgICAgICAgd2lkdGg6IDk2cHg7XG4gICAgICAgIGhlaWdodDogOTZweDtcbiAgICAgIGB9O1xuICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgfVxuICAgIGJhY2tncm91bmQ6IGdyZWVuO1xuICAgICR7eyBiYWNrZ3JvdW5kQ29sb3I6ICdob3RwaW5rJyB9fTtcbiAgYFxuXG4gIGNvbnN0IGNsczIgPSBjc3NgXG4gICAgJHt7IGNvbG9yOiAnYmx1ZScgfX07XG4gIGBcblxuICBjb25zdCBjbHMzID0gY3NzYFxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogaG90cGluaztcbiAgICB9XG4gIGBcbiAgbGV0IG91dGVyVmFyID0gJ3NvbWV0aGluZydcbiAgZnVuY3Rpb24gaW5uZXIoKSB7XG4gICAgY29uc3Qgc3R5bGVzID0geyBjb2xvcjogJ2RhcmtvcmNoaWQnIH1cbiAgICBjb25zdCBjb2xvciA9ICdhcXVhbWFyaW5lJ1xuXG4gICAgY29uc3QgY2xzNCA9IGNzc2BcbiAgICAgICR7Y2xzM307XG4gICAgICAke2NsczF9O1xuICAgICAgJHt7IGNvbG9yOiAnZGFya29yY2hpZCcgfX07XG4gICAgICAke3sgY29sb3IgfX07XG4gICAgICAke2Nzc2BcbiAgICAgICAgaGVpZ2h0OiA0MjBweDtcbiAgICAgICAgd2lkdGg6ICR7c3R5bGVzfTtcbiAgICAgIGB9O1xuICAgIGBcbiAgICBsZXQgc29tZUNscyA9IGNzc2BcbiAgICAgIGNvbG9yOiAke291dGVyVmFyfTtcbiAgICBgXG4gIH1cbn1cbiJdfQ== */\");\n  }\n}\"\n`;\n\nexports[`vanilla emotion inject-global-basic 1`] = `\n\"import { injectGlobal } from '@emotion/css'\n\ninjectGlobal\\`\n  body {\n    margin: 0;\n    padding: 0;\n    & > div {\n      display: flex;\n    }\n  }\n  html {\n    background: green;\n  }\n\\`\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { injectGlobal } from '@emotion/css';\ninjectGlobal(process.env.NODE_ENV === \"production\" ? {\n  name: \"59k0ad\",\n  styles: \"body{margin:0;padding:0;&>div{display:flex;}}html{background:green;}\"\n} : {\n  name: \"59k0ad\",\n  styles: \"body{margin:0;padding:0;&>div{display:flex;}}html{background:green;}/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluamVjdC1nbG9iYWwtYmFzaWMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRVkiLCJmaWxlIjoiaW5qZWN0LWdsb2JhbC1iYXNpYy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdEdsb2JhbCB9IGZyb20gJ0BlbW90aW9uL2NzcydcblxuaW5qZWN0R2xvYmFsYFxuICBib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICAmID4gZGl2IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICB9XG4gIGh0bWwge1xuICAgIGJhY2tncm91bmQ6IGdyZWVuO1xuICB9XG5gXG4iXX0= */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\"\n`;\n\nexports[`vanilla emotion inject-global-change-import 1`] = `\n\"import { injectGlobal as inject } from '@emotion/css'\n\ninject\\`\n  body {\n    margin: 0;\n    padding: 0;\n    & > div {\n      display: flex;\n    }\n  }\n  html {\n    background: green;\n  }\n\\`\n\nlet injectGlobal = window.whatever\n\ninjectGlobal\\`\n  body {\n    margin: 0;\n    padding: 0;\n    & > div {\n      display: flex;\n    }\n  }\n  html {\n    background: green;\n  }\n\\`\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { injectGlobal as inject } from '@emotion/css';\ninject(process.env.NODE_ENV === \"production\" ? {\n  name: \"59k0ad\",\n  styles: \"body{margin:0;padding:0;&>div{display:flex;}}html{background:green;}\"\n} : {\n  name: \"59k0ad\",\n  styles: \"body{margin:0;padding:0;&>div{display:flex;}}html{background:green;}/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluamVjdC1nbG9iYWwtY2hhbmdlLWltcG9ydC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFTSIsImZpbGUiOiJpbmplY3QtZ2xvYmFsLWNoYW5nZS1pbXBvcnQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3RHbG9iYWwgYXMgaW5qZWN0IH0gZnJvbSAnQGVtb3Rpb24vY3NzJ1xuXG5pbmplY3RgXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgICYgPiBkaXYge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gIH1cbiAgaHRtbCB7XG4gICAgYmFja2dyb3VuZDogZ3JlZW47XG4gIH1cbmBcblxubGV0IGluamVjdEdsb2JhbCA9IHdpbmRvdy53aGF0ZXZlclxuXG5pbmplY3RHbG9iYWxgXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgICYgPiBkaXYge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gIH1cbiAgaHRtbCB7XG4gICAgYmFja2dyb3VuZDogZ3JlZW47XG4gIH1cbmBcbiJdfQ== */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\nlet injectGlobal = window.whatever;\ninjectGlobal\\`\n  body {\n    margin: 0;\n    padding: 0;\n    & > div {\n      display: flex;\n    }\n  }\n  html {\n    background: green;\n  }\n\\`;\"\n`;\n\nexports[`vanilla emotion inject-global-with-font-face 1`] = `\n\"import { injectGlobal } from '@emotion/css'\n\ninjectGlobal\\`\n  @font-face {\n    font-family: 'Patrick Hand SC';\n    font-style: normal;\n    font-weight: 400;\n    src: local('Patrick Hand SC'), local('PatrickHandSC-Regular'),\n      url(https://fonts.gstatic.com/s/patrickhandsc/v4/OYFWCgfCR-7uHIovjUZXsZ71Uis0Qeb9Gqo8IZV7ckE.woff2)\n        format('woff2');\n    unicode-range: U+0100-024f, U+1-1eff, U+20a0-20ab, U+20ad-20cf, U+2c60-2c7f,\n      U+A720-A7FF;\n  }\n\\`\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { injectGlobal } from '@emotion/css';\ninjectGlobal(process.env.NODE_ENV === \"production\" ? {\n  name: \"lu7y12\",\n  styles: \"@font-face{font-family:'Patrick Hand SC';font-style:normal;font-weight:400;src:local('Patrick Hand SC'),local('PatrickHandSC-Regular'),url(https://fonts.gstatic.com/s/patrickhandsc/v4/OYFWCgfCR-7uHIovjUZXsZ71Uis0Qeb9Gqo8IZV7ckE.woff2) format('woff2');unicode-range:U+0100-024f,U+1-1eff,U+20a0-20ab,U+20ad-20cf,U+2c60-2c7f,U+A720-A7FF;}\"\n} : {\n  name: \"lu7y12\",\n  styles: \"@font-face{font-family:'Patrick Hand SC';font-style:normal;font-weight:400;src:local('Patrick Hand SC'),local('PatrickHandSC-Regular'),url(https://fonts.gstatic.com/s/patrickhandsc/v4/OYFWCgfCR-7uHIovjUZXsZ71Uis0Qeb9Gqo8IZV7ckE.woff2) format('woff2');unicode-range:U+0100-024f,U+1-1eff,U+20a0-20ab,U+20ad-20cf,U+2c60-2c7f,U+A720-A7FF;}/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluamVjdC1nbG9iYWwtd2l0aC1mb250LWZhY2UuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRVkiLCJmaWxlIjoiaW5qZWN0LWdsb2JhbC13aXRoLWZvbnQtZmFjZS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdEdsb2JhbCB9IGZyb20gJ0BlbW90aW9uL2NzcydcblxuaW5qZWN0R2xvYmFsYFxuICBAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ1BhdHJpY2sgSGFuZCBTQyc7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgc3JjOiBsb2NhbCgnUGF0cmljayBIYW5kIFNDJyksIGxvY2FsKCdQYXRyaWNrSGFuZFNDLVJlZ3VsYXInKSxcbiAgICAgIHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvcGF0cmlja2hhbmRzYy92NC9PWUZXQ2dmQ1ItN3VISW92alVaWHNaNzFVaXMwUWViOUdxbzhJWlY3Y2tFLndvZmYyKVxuICAgICAgICBmb3JtYXQoJ3dvZmYyJyk7XG4gICAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyNGYsIFUrMS0xZWZmLCBVKzIwYTAtMjBhYiwgVSsyMGFkLTIwY2YsIFUrMmM2MC0yYzdmLFxuICAgICAgVStBNzIwLUE3RkY7XG4gIH1cbmBcbiJdfQ== */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\"\n`;\n\nexports[`vanilla emotion inject-global-with-interpolation 1`] = `\n\"import { injectGlobal } from '@emotion/css'\n\nlet display = window.whatever\n\ninjectGlobal\\`\n  body {\n    margin: 0;\n    padding: 0;\n    display: \\${display};\n    & > div {\n      display: none;\n    }\n  }\n  html {\n    background: green;\n  }\n\\`\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport { injectGlobal } from '@emotion/css';\nlet display = window.whatever;\ninjectGlobal(\"body{margin:0;padding:0;display:\", display, \";&>div{display:none;}}html{background:green;}\" + (process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluamVjdC1nbG9iYWwtd2l0aC1pbnRlcnBvbGF0aW9uLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlZIiwiZmlsZSI6ImluamVjdC1nbG9iYWwtd2l0aC1pbnRlcnBvbGF0aW9uLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0R2xvYmFsIH0gZnJvbSAnQGVtb3Rpb24vY3NzJ1xuXG5sZXQgZGlzcGxheSA9IHdpbmRvdy53aGF0ZXZlclxuXG5pbmplY3RHbG9iYWxgXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGRpc3BsYXk6ICR7ZGlzcGxheX07XG4gICAgJiA+IGRpdiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuICBodG1sIHtcbiAgICBiYWNrZ3JvdW5kOiBncmVlbjtcbiAgfVxuYFxuIl19 */\"));\"\n`;\n\nexports[`vanilla emotion keyframes-basic 1`] = `\n\"import { keyframes } from '@emotion/css'\n\nconst rotate360 = keyframes\\`\n  from {\n    transform: rotate(0deg);\n  }\n  to {\n    transform: rotate(360deg);\n  }\n\\`\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { keyframes } from '@emotion/css';\nconst rotate360 = /*#__PURE__*/keyframes(process.env.NODE_ENV === \"production\" ? {\n  name: \"1q8eu9e\",\n  styles: \"from{transform:rotate(0deg);}to{transform:rotate(360deg);}\"\n} : {\n  name: \"1k98dea-rotate360\",\n  styles: \"from{transform:rotate(0deg);}to{transform:rotate(360deg);};label:rotate360;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImtleWZyYW1lcy1iYXNpYy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFMkIiLCJmaWxlIjoia2V5ZnJhbWVzLWJhc2ljLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsga2V5ZnJhbWVzIH0gZnJvbSAnQGVtb3Rpb24vY3NzJ1xuXG5jb25zdCByb3RhdGUzNjAgPSBrZXlmcmFtZXNgXG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG5gXG4iXX0= */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\"\n`;\n\nexports[`vanilla emotion keyframes-with-interpolation 1`] = `\n\"import { keyframes } from '@emotion/css'\n\nlet endingRotation = window.whatever\n\nconst rotate360 = keyframes\\`\n  from {\n    transform: rotate(0deg);\n  }\n  to {\n    transform: rotate(\\${endingRotation});\n  }\n\\`\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport { keyframes } from '@emotion/css';\nlet endingRotation = window.whatever;\nconst rotate360 = /*#__PURE__*/keyframes(\"from{transform:rotate(0deg);}to{transform:rotate(\", endingRotation, \");}\" + (process.env.NODE_ENV === \"production\" ? \"\" : \";label:rotate360;\"), process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImtleWZyYW1lcy13aXRoLWludGVycG9sYXRpb24uanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSTJCIiwiZmlsZSI6ImtleWZyYW1lcy13aXRoLWludGVycG9sYXRpb24uanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBrZXlmcmFtZXMgfSBmcm9tICdAZW1vdGlvbi9jc3MnXG5cbmxldCBlbmRpbmdSb3RhdGlvbiA9IHdpbmRvdy53aGF0ZXZlclxuXG5jb25zdCByb3RhdGUzNjAgPSBrZXlmcmFtZXNgXG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgke2VuZGluZ1JvdGF0aW9ufSk7XG4gIH1cbmBcbiJdfQ== */\");\"\n`;\n\nexports[`vanilla emotion nested-orphaned-pseudo 1`] = `\n\"import { css } from '@emotion/css'\n\n// whitespace before pseudo should be preserved\ncss\\`\n  & :hover {\n    color: hotpink;\n  }\n\\`\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { css } from '@emotion/css'; // whitespace before pseudo should be preserved\n\n/*#__PURE__*/\ncss(process.env.NODE_ENV === \"production\" ? {\n  name: \"1e7lzue\",\n  styles: \"& :hover{color:hotpink;}\"\n} : {\n  name: \"1e7lzue\",\n  styles: \"& :hover{color:hotpink;}/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5lc3RlZC1vcnBoYW5lZC1wc2V1ZG8uanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0ciLCJmaWxlIjoibmVzdGVkLW9ycGhhbmVkLXBzZXVkby5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL2NzcydcblxuLy8gd2hpdGVzcGFjZSBiZWZvcmUgcHNldWRvIHNob3VsZCBiZSBwcmVzZXJ2ZWRcbmNzc2BcbiAgJiA6aG92ZXIge1xuICAgIGNvbG9yOiBob3RwaW5rO1xuICB9XG5gXG4iXX0= */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\"\n`;\n\nexports[`vanilla emotion object-label 1`] = `\n\"import { css } from '@emotion/css'\n\nlet obj = {\n  someProp: css({ color: 'green' }),\n  anotherProp: css({ color: 'hotpink' })\n}\nclass Thing {\n  static Prop = css({ color: 'yellow' })\n  BadIdea = css({ color: 'red' })\n}\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { css } from '@emotion/css';\nlet obj = {\n  someProp: /*#__PURE__*/css(process.env.NODE_ENV === \"production\" ? {\n    name: \"v98kxt\",\n    styles: \"color:green\"\n  } : {\n    name: \"cw3a48-someProp\",\n    styles: \"color:green;label:someProp;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm9iamVjdC1sYWJlbC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHWSIsImZpbGUiOiJvYmplY3QtbGFiZWwuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jc3MnXG5cbmxldCBvYmogPSB7XG4gIHNvbWVQcm9wOiBjc3MoeyBjb2xvcjogJ2dyZWVuJyB9KSxcbiAgYW5vdGhlclByb3A6IGNzcyh7IGNvbG9yOiAnaG90cGluaycgfSlcbn1cbmNsYXNzIFRoaW5nIHtcbiAgc3RhdGljIFByb3AgPSBjc3MoeyBjb2xvcjogJ3llbGxvdycgfSlcbiAgQmFkSWRlYSA9IGNzcyh7IGNvbG9yOiAncmVkJyB9KVxufVxuIl19 */\",\n    toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n  }),\n  anotherProp: /*#__PURE__*/css(process.env.NODE_ENV === \"production\" ? {\n    name: \"3sn2xs\",\n    styles: \"color:hotpink\"\n  } : {\n    name: \"1oocabw-anotherProp\",\n    styles: \"color:hotpink;label:anotherProp;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm9iamVjdC1sYWJlbC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJZSIsImZpbGUiOiJvYmplY3QtbGFiZWwuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jc3MnXG5cbmxldCBvYmogPSB7XG4gIHNvbWVQcm9wOiBjc3MoeyBjb2xvcjogJ2dyZWVuJyB9KSxcbiAgYW5vdGhlclByb3A6IGNzcyh7IGNvbG9yOiAnaG90cGluaycgfSlcbn1cbmNsYXNzIFRoaW5nIHtcbiAgc3RhdGljIFByb3AgPSBjc3MoeyBjb2xvcjogJ3llbGxvdycgfSlcbiAgQmFkSWRlYSA9IGNzcyh7IGNvbG9yOiAncmVkJyB9KVxufVxuIl19 */\",\n    toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n  })\n};\n\nclass Thing {\n  static Prop = /*#__PURE__*/css(process.env.NODE_ENV === \"production\" ? {\n    name: \"1bcsghv\",\n    styles: \"color:yellow\"\n  } : {\n    name: \"1p4vs6c-Prop\",\n    styles: \"color:yellow;label:Prop;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm9iamVjdC1sYWJlbC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPZ0IiLCJmaWxlIjoib2JqZWN0LWxhYmVsLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vY3NzJ1xuXG5sZXQgb2JqID0ge1xuICBzb21lUHJvcDogY3NzKHsgY29sb3I6ICdncmVlbicgfSksXG4gIGFub3RoZXJQcm9wOiBjc3MoeyBjb2xvcjogJ2hvdHBpbmsnIH0pXG59XG5jbGFzcyBUaGluZyB7XG4gIHN0YXRpYyBQcm9wID0gY3NzKHsgY29sb3I6ICd5ZWxsb3cnIH0pXG4gIEJhZElkZWEgPSBjc3MoeyBjb2xvcjogJ3JlZCcgfSlcbn1cbiJdfQ== */\",\n    toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n  });\n  BadIdea = /*#__PURE__*/css(process.env.NODE_ENV === \"production\" ? {\n    name: \"hwfcu5\",\n    styles: \"color:red\"\n  } : {\n    name: \"1htwp0n-BadIdea\",\n    styles: \"color:red;label:BadIdea;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm9iamVjdC1sYWJlbC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRWSIsImZpbGUiOiJvYmplY3QtbGFiZWwuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jc3MnXG5cbmxldCBvYmogPSB7XG4gIHNvbWVQcm9wOiBjc3MoeyBjb2xvcjogJ2dyZWVuJyB9KSxcbiAgYW5vdGhlclByb3A6IGNzcyh7IGNvbG9yOiAnaG90cGluaycgfSlcbn1cbmNsYXNzIFRoaW5nIHtcbiAgc3RhdGljIFByb3AgPSBjc3MoeyBjb2xvcjogJ3llbGxvdycgfSlcbiAgQmFkSWRlYSA9IGNzcyh7IGNvbG9yOiAncmVkJyB9KVxufVxuIl19 */\",\n    toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n  });\n}\"\n`;\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/css-macro/__fixtures__/actual-expected-usage.js",
    "content": "/** @jsx jsx */\nimport { jsx, css } from '@emotion/react/macro'\n\nconst SomeComponent = () => (\n  <div\n    css={css`\n      color: hotpink;\n    `}\n  />\n)\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/css-macro/__fixtures__/already-transpiled-by-babel.js",
    "content": "/* eslint-disable */\nimport css from '@emotion/css/macro'\nimport _taggedTemplateLiteralLoose from '@babel/runtime/helpers/esm/taggedTemplateLiteralLoose'\n\nfunction _templateObject() {\n  var data = _taggedTemplateLiteralLoose(['\\n    color: hotpink;\\n  '])\n\n  _templateObject = function _templateObject() {\n    return data\n  }\n\n  return data\n}\n\n// no label & source maps should be appended\nconst fooStyles = css(_templateObject())\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/css-macro/__fixtures__/basic.js",
    "content": "import { css } from '@emotion/react/macro'\n\nfunction doThing() {\n  return css`\n    display: flex;\n  `\n}\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/css-macro/__fixtures__/call-expression.js",
    "content": "import { css } from '@emotion/react/macro'\n\nfunction doThing() {\n  return css({ color: 'hotpink' })\n}\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/css-macro/__fixtures__/call-inside-call.js",
    "content": "import { css } from '@emotion/react/macro'\n\nconst thing = css`\n  display: flex;\n  &:hover {\n    ${css`\n      color: hotpink;\n    `};\n  }\n`\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/css-macro/__fixtures__/comment-with-interpolation.js",
    "content": "import { css } from '@emotion/react/macro'\n\ncss`\n  // color: ${'green'};\n  /*\n\n  something: ${'something'};\n\n  */\n  color: hotpink;\n`\n\ncss`\n  // color: ${'green'};\n  /*\n\n  something: ${'something'};\n\n  */\n  color: ${'hotpink'};\n`\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/css-macro/__fixtures__/impure.js",
    "content": "import { css } from '@emotion/react/macro'\n\nfunction thing() {}\n\nfunction doThing() {\n  return css`\n    display: ${thing()};\n  `\n}\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/css-macro/__fixtures__/inside-anonymous-arrow-function.js",
    "content": "import { css } from '@emotion/react/macro'\n\nexport default () => {\n  css`\n    color: hotpink;\n  `\n}\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/css-macro/__fixtures__/inside-anonymous-function.js",
    "content": "import { css } from '@emotion/react/macro'\n\nexport default () => {\n  css`\n    color: hotpink;\n  `\n}\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/css-macro/__fixtures__/inside-class.js",
    "content": "/** @jsx jsx */\nimport { Component } from 'react'\nimport { jsx, css } from '@emotion/react/macro'\n\nclass SomeComponent extends Component {\n  render() {\n    return (\n      <div\n        css={css`\n          color: hotpink;\n        `}\n      />\n    )\n  }\n}\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/css-macro/__fixtures__/label-1.js",
    "content": "import { css } from '@emotion/react/macro'\n\nconst thing = css`\n  color: hotpink;\n`\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/css-macro/__fixtures__/label-arrow-as-obj-property.js",
    "content": "import { css } from '@emotion/react/macro'\n\nexport const styles = {\n  colorFn1: () => css`\n    color: hotpink;\n  `\n}\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/css-macro/__fixtures__/label-arrow-function-expression.js",
    "content": "import { css } from '@emotion/react/macro'\n\nconst thing = () => css`\n  color: hotpink;\n`\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/css-macro/__fixtures__/label-function-expression-as-obj-property.js",
    "content": "import { css } from '@emotion/react/macro'\n\nexport const styles = {\n  colorFn1: function () {\n    return css`\n      color: hotpink;\n    `\n  }\n}\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/css-macro/__fixtures__/label-function-expression-named.js",
    "content": "import { css } from '@emotion/react/macro'\n\nconst thing = function someName() {\n  return css`\n    color: hotpink;\n  `\n}\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/css-macro/__fixtures__/label-function-expression.js",
    "content": "import { css } from '@emotion/react/macro'\n\nconst thing = function () {\n  return css`\n    color: hotpink;\n  `\n}\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/css-macro/__fixtures__/label-no-final-semi.js",
    "content": "import { css } from '@emotion/react/macro'\n\n// prettier-ignore\nconst thing = css`\n  color: hotpink\n`\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/css-macro/__fixtures__/label-obj-method.js",
    "content": "import { css } from '@emotion/react/macro'\n\nconst obj = {\n  FooBar() {\n    return (\n      <div\n        css={css`\n          background-color: hotpink;\n        `}\n      />\n    )\n  }\n}\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/css-macro/__fixtures__/label-obj-property-literal.js",
    "content": "import { css } from '@emotion/react/macro'\n\nconst obj = {\n  'red component': (\n    <div\n      css={css`\n        background-color: hotpink;\n      `}\n    />\n  )\n}\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/css-macro/__fixtures__/label-object.js",
    "content": "import { css } from '@emotion/react/macro'\n\nconst thing = {\n  thisShouldBeTheLabel: css`\n    color: hotpink;\n  `,\n  // prettier-ignore\n  'shouldBeAnotherLabel':css`\n    color:green;\n  `\n}\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/css-macro/__fixtures__/label-transpiled-by-ts-with-interpolations.js",
    "content": "import { __makeTemplateObject } from 'tslib'\nimport css from '@emotion/react/macro'\nimport { hoverStyles } from './styles'\n\nvar templateObject_1\n\nconst someVar = css(\n  templateObject_1 ||\n    (templateObject_1 = __makeTemplateObject(\n      ['\\n  color: hotpink;\\n'],\n      ['\\n  color: hotpink;\\n']\n    )),\n  hoverStyles\n)\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/css-macro/__fixtures__/label-transpiled-by-ts.js",
    "content": "import { __makeTemplateObject } from 'tslib'\nimport { css } from '@emotion/react/macro'\n\nvar templateObject_1\n\nconst someVar = css(\n  templateObject_1 ||\n    (templateObject_1 = __makeTemplateObject(\n      ['\\n  color: hotpink;\\n'],\n      ['\\n  color: hotpink;\\n']\n    ))\n)\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/css-macro/__fixtures__/multiple-calls.js",
    "content": "import { css } from '@emotion/react/macro'\n\nconst thing = css`\n  color: hotpink;\n`\n\nconst otherThing = css`\n  color: green;\n`\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/css-macro/__fixtures__/no-actual-import.js",
    "content": "import '@emotion/react/macro'\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/css-macro/__fixtures__/no-label-array-pattern.js",
    "content": "import { css } from '@emotion/react/macro'\n\nconst [weirdo] = [\n  css`\n    color: hotpink;\n  `\n]\n\nexport default weirdo\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/css-macro/__fixtures__/no-label-obj-pattern-computed-property.js",
    "content": "import { css } from '@emotion/react/macro'\n\nconst computed = 'weirdo'\n\nconst { weirdo } = {\n  [computed]: css`\n    color: hotpink;\n  `\n}\n\nexport default weirdo\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/css-macro/__fixtures__/object-dynamic-property.js",
    "content": "import { css } from '@emotion/react/macro'\n\nfunction doThing() {\n  return {\n    [css({ color: 'hotpink' })]: 'coldblue'\n  }\n}\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/css-macro/__fixtures__/object-pattern-variable-declarator.js",
    "content": "import { css } from '@emotion/react'\nimport { extractCritical } from '@emotion/server'\nimport React from 'react'\nimport { renderToString } from 'react-dom/server'\n\nconst { css: styles } = extractCritical(\n  renderToString(\n    <div\n      css={css`\n        color: hotpink;\n      `}\n    />\n  )\n)\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/css-macro/__fixtures__/other-imports.js",
    "content": "import { nonExistantImport } from '@emotion/react/macro'\n\nnonExistantImport()\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/css-macro/__fixtures__/remove-block-comments.js",
    "content": "import { css } from '@emotion/react/macro'\n\ncss`\n  /* color:green;\nddjfwjkng\n  */\n  color: hotpink;\n`\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/css-macro/__fixtures__/remove-line-comments.js",
    "content": "import { css } from '@emotion/react/macro'\n\ncss`\n  // color: green;\n  color: hotpink;\n`\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/css-macro/__fixtures__/tagged-template-args-forwarded.js",
    "content": "import { css } from '@emotion/react/macro'\n\nfunction media(...args) {\n  return css`\n    @media (min-width: 100px) {\n      ${css(...args)};\n    }\n  `\n}\n\nconst test = css`\n  ${media`color: red;`};\n`\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/css-macro/__snapshots__/index.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`@emotion/react - css macro actual-expected-usage 1`] = `\n\"/** @jsx jsx */\nimport { jsx, css } from '@emotion/react/macro'\n\nconst SomeComponent = () => (\n  <div\n    css={css\\`\n      color: hotpink;\n    \\`}\n  />\n)\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\n/** @jsx jsx */\nimport { jsx, css } from \"@emotion/react\";\n\nvar _ref = process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"1wl9j1m-SomeComponent\",\n  styles: \"color:hotpink;label:SomeComponent;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFjdHVhbC1leHBlY3RlZC11c2FnZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLWSIsImZpbGUiOiJhY3R1YWwtZXhwZWN0ZWQtdXNhZ2UuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiogQGpzeCBqc3ggKi9cbmltcG9ydCB7IGpzeCwgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QvbWFjcm8nXG5cbmNvbnN0IFNvbWVDb21wb25lbnQgPSAoKSA9PiAoXG4gIDxkaXZcbiAgICBjc3M9e2Nzc2BcbiAgICAgIGNvbG9yOiBob3RwaW5rO1xuICAgIGB9XG4gIC8+XG4pXG4iXX0= */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\n\nconst SomeComponent = () => <div css={_ref} />;\"\n`;\n\nexports[`@emotion/react - css macro already-transpiled-by-babel 1`] = `\n\"/* eslint-disable */\nimport css from '@emotion/css/macro'\nimport _taggedTemplateLiteralLoose from '@babel/runtime/helpers/esm/taggedTemplateLiteralLoose'\n\nfunction _templateObject() {\n  var data = _taggedTemplateLiteralLoose(['\\\\n    color: hotpink;\\\\n  '])\n\n  _templateObject = function _templateObject() {\n    return data\n  }\n\n  return data\n}\n\n// no label & source maps should be appended\nconst fooStyles = css(_templateObject())\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\n/* eslint-disable */\nimport css from \"@emotion/css\";\nimport _taggedTemplateLiteralLoose from '@babel/runtime/helpers/esm/taggedTemplateLiteralLoose';\n\nfunction _templateObject() {\n  var data = _taggedTemplateLiteralLoose(['\\\\n    color: hotpink;\\\\n  ']);\n\n  _templateObject = function _templateObject() {\n    return data;\n  };\n\n  return data;\n} // no label & source maps should be appended\n\n\nconst fooStyles = css(_templateObject());\"\n`;\n\nexports[`@emotion/react - css macro basic 1`] = `\n\"import { css } from '@emotion/react/macro'\n\nfunction doThing() {\n  return css\\`\n    display: flex;\n  \\`\n}\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { css } from \"@emotion/react\";\n\nvar _ref = process.env.NODE_ENV === \"production\" ? {\n  name: \"zjik7\",\n  styles: \"display:flex\"\n} : {\n  name: \"8v5aok-doThing\",\n  styles: \"display:flex;label:doThing;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJhc2ljLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdZIiwiZmlsZSI6ImJhc2ljLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QvbWFjcm8nXG5cbmZ1bmN0aW9uIGRvVGhpbmcoKSB7XG4gIHJldHVybiBjc3NgXG4gICAgZGlzcGxheTogZmxleDtcbiAgYFxufVxuIl19 */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\n\nfunction doThing() {\n  return _ref;\n}\"\n`;\n\nexports[`@emotion/react - css macro call-expression 1`] = `\n\"import { css } from '@emotion/react/macro'\n\nfunction doThing() {\n  return css({ color: 'hotpink' })\n}\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { css } from \"@emotion/react\";\n\nvar _ref = process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"aarqni-doThing\",\n  styles: \"color:hotpink;label:doThing;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNhbGwtZXhwcmVzc2lvbi5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHUyIsImZpbGUiOiJjYWxsLWV4cHJlc3Npb24uanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdC9tYWNybydcblxuZnVuY3Rpb24gZG9UaGluZygpIHtcbiAgcmV0dXJuIGNzcyh7IGNvbG9yOiAnaG90cGluaycgfSlcbn1cbiJdfQ== */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\n\nfunction doThing() {\n  return _ref;\n}\"\n`;\n\nexports[`@emotion/react - css macro call-inside-call 1`] = `\n\"import { css } from '@emotion/react/macro'\n\nconst thing = css\\`\n  display: flex;\n  &:hover {\n    \\${css\\`\n      color: hotpink;\n    \\`};\n  }\n\\`\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { css } from \"@emotion/react\";\nconst thing = /*#__PURE__*/css(\"display:flex;&:hover{\", process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"1hi0qos-thing\",\n  styles: \"color:hotpink;label:thing;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNhbGwtaW5zaWRlLWNhbGwuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS1MiLCJmaWxlIjoiY2FsbC1pbnNpZGUtY2FsbC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0L21hY3JvJ1xuXG5jb25zdCB0aGluZyA9IGNzc2BcbiAgZGlzcGxheTogZmxleDtcbiAgJjpob3ZlciB7XG4gICAgJHtjc3NgXG4gICAgICBjb2xvcjogaG90cGluaztcbiAgICBgfTtcbiAgfVxuYFxuIl19 */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n}, \";}\" + (process.env.NODE_ENV === \"production\" ? \"\" : \";label:thing;\"), process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNhbGwtaW5zaWRlLWNhbGwuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRWlCIiwiZmlsZSI6ImNhbGwtaW5zaWRlLWNhbGwuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdC9tYWNybydcblxuY29uc3QgdGhpbmcgPSBjc3NgXG4gIGRpc3BsYXk6IGZsZXg7XG4gICY6aG92ZXIge1xuICAgICR7Y3NzYFxuICAgICAgY29sb3I6IGhvdHBpbms7XG4gICAgYH07XG4gIH1cbmBcbiJdfQ== */\");\"\n`;\n\nexports[`@emotion/react - css macro comment-with-interpolation 1`] = `\n\"import { css } from '@emotion/react/macro'\n\ncss\\`\n  // color: \\${'green'};\n  /*\n\n  something: \\${'something'};\n\n  */\n  color: hotpink;\n\\`\n\ncss\\`\n  // color: \\${'green'};\n  /*\n\n  something: \\${'something'};\n\n  */\n  color: \\${'hotpink'};\n\\`\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { css } from \"@emotion/react\";\nprocess.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbW1lbnQtd2l0aC1pbnRlcnBvbGF0aW9uLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVHIiwiZmlsZSI6ImNvbW1lbnQtd2l0aC1pbnRlcnBvbGF0aW9uLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QvbWFjcm8nXG5cbmNzc2BcbiAgLy8gY29sb3I6ICR7J2dyZWVuJ307XG4gIC8qXG5cbiAgc29tZXRoaW5nOiAkeydzb21ldGhpbmcnfTtcblxuICAqL1xuICBjb2xvcjogaG90cGluaztcbmBcblxuY3NzYFxuICAvLyBjb2xvcjogJHsnZ3JlZW4nfTtcbiAgLypcblxuICBzb21ldGhpbmc6ICR7J3NvbWV0aGluZyd9O1xuXG4gICovXG4gIGNvbG9yOiAkeydob3RwaW5rJ307XG5gXG4iXX0= */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\nprocess.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbW1lbnQtd2l0aC1pbnRlcnBvbGF0aW9uLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVlHIiwiZmlsZSI6ImNvbW1lbnQtd2l0aC1pbnRlcnBvbGF0aW9uLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QvbWFjcm8nXG5cbmNzc2BcbiAgLy8gY29sb3I6ICR7J2dyZWVuJ307XG4gIC8qXG5cbiAgc29tZXRoaW5nOiAkeydzb21ldGhpbmcnfTtcblxuICAqL1xuICBjb2xvcjogaG90cGluaztcbmBcblxuY3NzYFxuICAvLyBjb2xvcjogJHsnZ3JlZW4nfTtcbiAgLypcblxuICBzb21ldGhpbmc6ICR7J3NvbWV0aGluZyd9O1xuXG4gICovXG4gIGNvbG9yOiAkeydob3RwaW5rJ307XG5gXG4iXX0= */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\"\n`;\n\nexports[`@emotion/react - css macro impure 1`] = `\n\"import { css } from '@emotion/react/macro'\n\nfunction thing() {}\n\nfunction doThing() {\n  return css\\`\n    display: \\${thing()};\n  \\`\n}\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport { css } from \"@emotion/react\";\n\nfunction thing() {}\n\nfunction doThing() {\n  return /*#__PURE__*/css(\"display:\", thing(), \";\" + (process.env.NODE_ENV === \"production\" ? \"\" : \";label:doThing;\"), process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImltcHVyZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLWSIsImZpbGUiOiJpbXB1cmUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdC9tYWNybydcblxuZnVuY3Rpb24gdGhpbmcoKSB7fVxuXG5mdW5jdGlvbiBkb1RoaW5nKCkge1xuICByZXR1cm4gY3NzYFxuICAgIGRpc3BsYXk6ICR7dGhpbmcoKX07XG4gIGBcbn1cbiJdfQ== */\");\n}\"\n`;\n\nexports[`@emotion/react - css macro inside-anonymous-arrow-function 1`] = `\n\"import { css } from '@emotion/react/macro'\n\nexport default () => {\n  css\\`\n    color: hotpink;\n  \\`\n}\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { css } from \"@emotion/react\";\n\nvar _ref = process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluc2lkZS1hbm9ueW1vdXMtYXJyb3ctZnVuY3Rpb24uanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0siLCJmaWxlIjoiaW5zaWRlLWFub255bW91cy1hcnJvdy1mdW5jdGlvbi5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0L21hY3JvJ1xuXG5leHBvcnQgZGVmYXVsdCAoKSA9PiB7XG4gIGNzc2BcbiAgICBjb2xvcjogaG90cGluaztcbiAgYFxufVxuIl19 */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\n\nexport default (() => {\n  _ref;\n});\"\n`;\n\nexports[`@emotion/react - css macro inside-anonymous-function 1`] = `\n\"import { css } from '@emotion/react/macro'\n\nexport default () => {\n  css\\`\n    color: hotpink;\n  \\`\n}\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { css } from \"@emotion/react\";\n\nvar _ref = process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluc2lkZS1hbm9ueW1vdXMtZnVuY3Rpb24uanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0siLCJmaWxlIjoiaW5zaWRlLWFub255bW91cy1mdW5jdGlvbi5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0L21hY3JvJ1xuXG5leHBvcnQgZGVmYXVsdCAoKSA9PiB7XG4gIGNzc2BcbiAgICBjb2xvcjogaG90cGluaztcbiAgYFxufVxuIl19 */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\n\nexport default (() => {\n  _ref;\n});\"\n`;\n\nexports[`@emotion/react - css macro inside-class 1`] = `\n\"/** @jsx jsx */\nimport { Component } from 'react'\nimport { jsx, css } from '@emotion/react/macro'\n\nclass SomeComponent extends Component {\n  render() {\n    return (\n      <div\n        css={css\\`\n          color: hotpink;\n        \\`}\n      />\n    )\n  }\n}\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\n/** @jsx jsx */\nimport { Component } from 'react';\nimport { jsx, css } from \"@emotion/react\";\n\nvar _ref = process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"1wl9j1m-SomeComponent\",\n  styles: \"color:hotpink;label:SomeComponent;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluc2lkZS1jbGFzcy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRZ0IiLCJmaWxlIjoiaW5zaWRlLWNsYXNzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBqc3gganN4ICovXG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IGpzeCwgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QvbWFjcm8nXG5cbmNsYXNzIFNvbWVDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnQge1xuICByZW5kZXIoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXZcbiAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgY29sb3I6IGhvdHBpbms7XG4gICAgICAgIGB9XG4gICAgICAvPlxuICAgIClcbiAgfVxufVxuIl19 */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\n\nclass SomeComponent extends Component {\n  render() {\n    return <div css={_ref} />;\n  }\n\n}\"\n`;\n\nexports[`@emotion/react - css macro label-1 1`] = `\n\"import { css } from '@emotion/react/macro'\n\nconst thing = css\\`\n  color: hotpink;\n\\`\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { css } from \"@emotion/react\";\nconst thing = process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"1hi0qos-thing\",\n  styles: \"color:hotpink;label:thing;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxhYmVsLTEuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRWlCIiwiZmlsZSI6ImxhYmVsLTEuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdC9tYWNybydcblxuY29uc3QgdGhpbmcgPSBjc3NgXG4gIGNvbG9yOiBob3RwaW5rO1xuYFxuIl19 */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\"\n`;\n\nexports[`@emotion/react - css macro label-arrow-as-obj-property 1`] = `\n\"import { css } from '@emotion/react/macro'\n\nexport const styles = {\n  colorFn1: () => css\\`\n    color: hotpink;\n  \\`\n}\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { css } from \"@emotion/react\";\n\nvar _ref = process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"1pr7txl-colorFn1\",\n  styles: \"color:hotpink;label:colorFn1;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxhYmVsLWFycm93LWFzLW9iai1wcm9wZXJ0eS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHcUIiLCJmaWxlIjoibGFiZWwtYXJyb3ctYXMtb2JqLXByb3BlcnR5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QvbWFjcm8nXG5cbmV4cG9ydCBjb25zdCBzdHlsZXMgPSB7XG4gIGNvbG9yRm4xOiAoKSA9PiBjc3NgXG4gICAgY29sb3I6IGhvdHBpbms7XG4gIGBcbn1cbiJdfQ== */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\n\nexport const styles = {\n  colorFn1: () => _ref\n};\"\n`;\n\nexports[`@emotion/react - css macro label-arrow-function-expression 1`] = `\n\"import { css } from '@emotion/react/macro'\n\nconst thing = () => css\\`\n  color: hotpink;\n\\`\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { css } from \"@emotion/react\";\n\nvar _ref = process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"1hi0qos-thing\",\n  styles: \"color:hotpink;label:thing;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxhYmVsLWFycm93LWZ1bmN0aW9uLWV4cHJlc3Npb24uanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRXVCIiwiZmlsZSI6ImxhYmVsLWFycm93LWZ1bmN0aW9uLWV4cHJlc3Npb24uanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdC9tYWNybydcblxuY29uc3QgdGhpbmcgPSAoKSA9PiBjc3NgXG4gIGNvbG9yOiBob3RwaW5rO1xuYFxuIl19 */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\n\nconst thing = () => _ref;\"\n`;\n\nexports[`@emotion/react - css macro label-function-expression 1`] = `\n\"import { css } from '@emotion/react/macro'\n\nconst thing = function () {\n  return css\\`\n    color: hotpink;\n  \\`\n}\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { css } from \"@emotion/react\";\n\nvar _ref = process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"1hi0qos-thing\",\n  styles: \"color:hotpink;label:thing;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxhYmVsLWZ1bmN0aW9uLWV4cHJlc3Npb24uanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR1kiLCJmaWxlIjoibGFiZWwtZnVuY3Rpb24tZXhwcmVzc2lvbi5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0L21hY3JvJ1xuXG5jb25zdCB0aGluZyA9IGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuIGNzc2BcbiAgICBjb2xvcjogaG90cGluaztcbiAgYFxufVxuIl19 */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\n\nconst thing = function () {\n  return _ref;\n};\"\n`;\n\nexports[`@emotion/react - css macro label-function-expression-as-obj-property 1`] = `\n\"import { css } from '@emotion/react/macro'\n\nexport const styles = {\n  colorFn1: function () {\n    return css\\`\n      color: hotpink;\n    \\`\n  }\n}\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { css } from \"@emotion/react\";\n\nvar _ref = process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"1pr7txl-colorFn1\",\n  styles: \"color:hotpink;label:colorFn1;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxhYmVsLWZ1bmN0aW9uLWV4cHJlc3Npb24tYXMtb2JqLXByb3BlcnR5LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUljIiwiZmlsZSI6ImxhYmVsLWZ1bmN0aW9uLWV4cHJlc3Npb24tYXMtb2JqLXByb3BlcnR5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QvbWFjcm8nXG5cbmV4cG9ydCBjb25zdCBzdHlsZXMgPSB7XG4gIGNvbG9yRm4xOiBmdW5jdGlvbiAoKSB7XG4gICAgcmV0dXJuIGNzc2BcbiAgICAgIGNvbG9yOiBob3RwaW5rO1xuICAgIGBcbiAgfVxufVxuIl19 */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\n\nexport const styles = {\n  colorFn1: function () {\n    return _ref;\n  }\n};\"\n`;\n\nexports[`@emotion/react - css macro label-function-expression-named 1`] = `\n\"import { css } from '@emotion/react/macro'\n\nconst thing = function someName() {\n  return css\\`\n    color: hotpink;\n  \\`\n}\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { css } from \"@emotion/react\";\n\nvar _ref = process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"sn4mkg-someName\",\n  styles: \"color:hotpink;label:someName;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxhYmVsLWZ1bmN0aW9uLWV4cHJlc3Npb24tbmFtZWQuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR1kiLCJmaWxlIjoibGFiZWwtZnVuY3Rpb24tZXhwcmVzc2lvbi1uYW1lZC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0L21hY3JvJ1xuXG5jb25zdCB0aGluZyA9IGZ1bmN0aW9uIHNvbWVOYW1lKCkge1xuICByZXR1cm4gY3NzYFxuICAgIGNvbG9yOiBob3RwaW5rO1xuICBgXG59XG4iXX0= */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\n\nconst thing = function someName() {\n  return _ref;\n};\"\n`;\n\nexports[`@emotion/react - css macro label-no-final-semi 1`] = `\n\"import { css } from '@emotion/react/macro'\n\n// prettier-ignore\nconst thing = css\\`\n  color: hotpink\n\\`\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { css } from \"@emotion/react\"; // prettier-ignore\n\nconst thing = process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"1hi0qos-thing\",\n  styles: \"color:hotpink;label:thing;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxhYmVsLW5vLWZpbmFsLXNlbWkuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR2lCIiwiZmlsZSI6ImxhYmVsLW5vLWZpbmFsLXNlbWkuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdC9tYWNybydcblxuLy8gcHJldHRpZXItaWdub3JlXG5jb25zdCB0aGluZyA9IGNzc2BcbiAgY29sb3I6IGhvdHBpbmtcbmBcbiJdfQ== */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\"\n`;\n\nexports[`@emotion/react - css macro label-obj-method 1`] = `\n\"import { css } from '@emotion/react/macro'\n\nconst obj = {\n  FooBar() {\n    return (\n      <div\n        css={css\\`\n          background-color: hotpink;\n        \\`}\n      />\n    )\n  }\n}\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { css } from \"@emotion/react\";\n\nvar _ref = process.env.NODE_ENV === \"production\" ? {\n  name: \"utcpyu\",\n  styles: \"background-color:hotpink\"\n} : {\n  name: \"h6ixui-FooBar\",\n  styles: \"background-color:hotpink;label:FooBar;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxhYmVsLW9iai1tZXRob2QuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTWdCIiwiZmlsZSI6ImxhYmVsLW9iai1tZXRob2QuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdC9tYWNybydcblxuY29uc3Qgb2JqID0ge1xuICBGb29CYXIoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXZcbiAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaG90cGluaztcbiAgICAgICAgYH1cbiAgICAgIC8+XG4gICAgKVxuICB9XG59XG4iXX0= */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\n\nconst obj = {\n  FooBar() {\n    return <div css={_ref} />;\n  }\n\n};\"\n`;\n\nexports[`@emotion/react - css macro label-obj-property-literal 1`] = `\n\"import { css } from '@emotion/react/macro'\n\nconst obj = {\n  'red component': (\n    <div\n      css={css\\`\n        background-color: hotpink;\n      \\`}\n    />\n  )\n}\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { css } from \"@emotion/react\";\nconst obj = {\n  'red component': <div css={process.env.NODE_ENV === \"production\" ? {\n    name: \"utcpyu\",\n    styles: \"background-color:hotpink\"\n  } : {\n    name: \"1ewo2bz-red-component\",\n    styles: \"background-color:hotpink;label:red-component;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxhYmVsLW9iai1wcm9wZXJ0eS1saXRlcmFsLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtjIiwiZmlsZSI6ImxhYmVsLW9iai1wcm9wZXJ0eS1saXRlcmFsLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QvbWFjcm8nXG5cbmNvbnN0IG9iaiA9IHtcbiAgJ3JlZCBjb21wb25lbnQnOiAoXG4gICAgPGRpdlxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGhvdHBpbms7XG4gICAgICBgfVxuICAgIC8+XG4gIClcbn1cbiJdfQ== */\",\n    toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n  }} />\n};\"\n`;\n\nexports[`@emotion/react - css macro label-object 1`] = `\n\"import { css } from '@emotion/react/macro'\n\nconst thing = {\n  thisShouldBeTheLabel: css\\`\n    color: hotpink;\n  \\`,\n  // prettier-ignore\n  'shouldBeAnotherLabel':css\\`\n    color:green;\n  \\`\n}\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { css } from \"@emotion/react\";\nconst thing = {\n  thisShouldBeTheLabel: process.env.NODE_ENV === \"production\" ? {\n    name: \"3sn2xs\",\n    styles: \"color:hotpink\"\n  } : {\n    name: \"xjpive-thisShouldBeTheLabel\",\n    styles: \"color:hotpink;label:thisShouldBeTheLabel;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxhYmVsLW9iamVjdC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHMkIiLCJmaWxlIjoibGFiZWwtb2JqZWN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QvbWFjcm8nXG5cbmNvbnN0IHRoaW5nID0ge1xuICB0aGlzU2hvdWxkQmVUaGVMYWJlbDogY3NzYFxuICAgIGNvbG9yOiBob3RwaW5rO1xuICBgLFxuICAvLyBwcmV0dGllci1pZ25vcmVcbiAgJ3Nob3VsZEJlQW5vdGhlckxhYmVsJzpjc3NgXG4gICAgY29sb3I6Z3JlZW47XG4gIGBcbn1cbiJdfQ== */\",\n    toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n  },\n  // prettier-ignore\n  'shouldBeAnotherLabel': process.env.NODE_ENV === \"production\" ? {\n    name: \"v98kxt\",\n    styles: \"color:green\"\n  } : {\n    name: \"lgalrw-shouldBeAnotherLabel\",\n    styles: \"color:green;label:shouldBeAnotherLabel;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxhYmVsLW9iamVjdC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPNEIiLCJmaWxlIjoibGFiZWwtb2JqZWN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QvbWFjcm8nXG5cbmNvbnN0IHRoaW5nID0ge1xuICB0aGlzU2hvdWxkQmVUaGVMYWJlbDogY3NzYFxuICAgIGNvbG9yOiBob3RwaW5rO1xuICBgLFxuICAvLyBwcmV0dGllci1pZ25vcmVcbiAgJ3Nob3VsZEJlQW5vdGhlckxhYmVsJzpjc3NgXG4gICAgY29sb3I6Z3JlZW47XG4gIGBcbn1cbiJdfQ== */\",\n    toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n  }\n};\"\n`;\n\nexports[`@emotion/react - css macro label-transpiled-by-ts 1`] = `\n\"import { __makeTemplateObject } from 'tslib'\nimport { css } from '@emotion/react/macro'\n\nvar templateObject_1\n\nconst someVar = css(\n  templateObject_1 ||\n    (templateObject_1 = __makeTemplateObject(\n      ['\\\\n  color: hotpink;\\\\n'],\n      ['\\\\n  color: hotpink;\\\\n']\n    ))\n)\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport { __makeTemplateObject } from 'tslib';\nimport { css } from \"@emotion/react\";\nvar templateObject_1;\nconst someVar = /*#__PURE__*/css(templateObject_1 || (templateObject_1 = __makeTemplateObject(['\\\\n  color: hotpink;\\\\n' + (process.env.NODE_ENV === \"production\" ? \"\" : \";label:someVar;\") + (process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxhYmVsLXRyYW5zcGlsZWQtYnktdHMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS2dCIiwiZmlsZSI6ImxhYmVsLXRyYW5zcGlsZWQtYnktdHMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBfX21ha2VUZW1wbGF0ZU9iamVjdCB9IGZyb20gJ3RzbGliJ1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QvbWFjcm8nXG5cbnZhciB0ZW1wbGF0ZU9iamVjdF8xXG5cbmNvbnN0IHNvbWVWYXIgPSBjc3MoXG4gIHRlbXBsYXRlT2JqZWN0XzEgfHxcbiAgICAodGVtcGxhdGVPYmplY3RfMSA9IF9fbWFrZVRlbXBsYXRlT2JqZWN0KFxuICAgICAgWydcXG4gIGNvbG9yOiBob3RwaW5rO1xcbiddLFxuICAgICAgWydcXG4gIGNvbG9yOiBob3RwaW5rO1xcbiddXG4gICAgKSlcbilcbiJdfQ== */\")], ['\\\\n  color: hotpink;\\\\n' + (process.env.NODE_ENV === \"production\" ? \"\" : \";label:someVar;\") + (process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxhYmVsLXRyYW5zcGlsZWQtYnktdHMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS2dCIiwiZmlsZSI6ImxhYmVsLXRyYW5zcGlsZWQtYnktdHMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBfX21ha2VUZW1wbGF0ZU9iamVjdCB9IGZyb20gJ3RzbGliJ1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QvbWFjcm8nXG5cbnZhciB0ZW1wbGF0ZU9iamVjdF8xXG5cbmNvbnN0IHNvbWVWYXIgPSBjc3MoXG4gIHRlbXBsYXRlT2JqZWN0XzEgfHxcbiAgICAodGVtcGxhdGVPYmplY3RfMSA9IF9fbWFrZVRlbXBsYXRlT2JqZWN0KFxuICAgICAgWydcXG4gIGNvbG9yOiBob3RwaW5rO1xcbiddLFxuICAgICAgWydcXG4gIGNvbG9yOiBob3RwaW5rO1xcbiddXG4gICAgKSlcbilcbiJdfQ== */\")])));\"\n`;\n\nexports[`@emotion/react - css macro label-transpiled-by-ts-with-interpolations 1`] = `\n\"import { __makeTemplateObject } from 'tslib'\nimport css from '@emotion/react/macro'\nimport { hoverStyles } from './styles'\n\nvar templateObject_1\n\nconst someVar = css(\n  templateObject_1 ||\n    (templateObject_1 = __makeTemplateObject(\n      ['\\\\n  color: hotpink;\\\\n'],\n      ['\\\\n  color: hotpink;\\\\n']\n    )),\n  hoverStyles\n)\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport { __makeTemplateObject } from 'tslib';\nimport css from \"@emotion/react\";\nimport { hoverStyles } from './styles';\nvar templateObject_1;\nconst someVar = css(templateObject_1 || (templateObject_1 = __makeTemplateObject(['\\\\n  color: hotpink;\\\\n'], ['\\\\n  color: hotpink;\\\\n'])), hoverStyles);\"\n`;\n\nexports[`@emotion/react - css macro multiple-calls 1`] = `\n\"import { css } from '@emotion/react/macro'\n\nconst thing = css\\`\n  color: hotpink;\n\\`\n\nconst otherThing = css\\`\n  color: green;\n\\`\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { css } from \"@emotion/react\";\nconst thing = process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"1hi0qos-thing\",\n  styles: \"color:hotpink;label:thing;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm11bHRpcGxlLWNhbGxzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVpQiIsImZpbGUiOiJtdWx0aXBsZS1jYWxscy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0L21hY3JvJ1xuXG5jb25zdCB0aGluZyA9IGNzc2BcbiAgY29sb3I6IGhvdHBpbms7XG5gXG5cbmNvbnN0IG90aGVyVGhpbmcgPSBjc3NgXG4gIGNvbG9yOiBncmVlbjtcbmBcbiJdfQ== */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\nconst otherThing = process.env.NODE_ENV === \"production\" ? {\n  name: \"v98kxt\",\n  styles: \"color:green\"\n} : {\n  name: \"onvdw0-otherThing\",\n  styles: \"color:green;label:otherThing;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm11bHRpcGxlLWNhbGxzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1zQiIsImZpbGUiOiJtdWx0aXBsZS1jYWxscy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0L21hY3JvJ1xuXG5jb25zdCB0aGluZyA9IGNzc2BcbiAgY29sb3I6IGhvdHBpbms7XG5gXG5cbmNvbnN0IG90aGVyVGhpbmcgPSBjc3NgXG4gIGNvbG9yOiBncmVlbjtcbmBcbiJdfQ== */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\"\n`;\n\nexports[`@emotion/react - css macro no-actual-import 1`] = `\n\"import '@emotion/react/macro'\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport \"@emotion/react\";\"\n`;\n\nexports[`@emotion/react - css macro no-label-array-pattern 1`] = `\n\"import { css } from '@emotion/react/macro'\n\nconst [weirdo] = [\n  css\\`\n    color: hotpink;\n  \\`\n]\n\nexport default weirdo\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { css } from \"@emotion/react\";\nconst [weirdo] = [process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5vLWxhYmVsLWFycmF5LXBhdHRlcm4uanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0siLCJmaWxlIjoibm8tbGFiZWwtYXJyYXktcGF0dGVybi5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0L21hY3JvJ1xuXG5jb25zdCBbd2VpcmRvXSA9IFtcbiAgY3NzYFxuICAgIGNvbG9yOiBob3RwaW5rO1xuICBgXG5dXG5cbmV4cG9ydCBkZWZhdWx0IHdlaXJkb1xuIl19 */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n}];\nexport default weirdo;\"\n`;\n\nexports[`@emotion/react - css macro no-label-obj-pattern-computed-property 1`] = `\n\"import { css } from '@emotion/react/macro'\n\nconst computed = 'weirdo'\n\nconst { weirdo } = {\n  [computed]: css\\`\n    color: hotpink;\n  \\`\n}\n\nexport default weirdo\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { css } from \"@emotion/react\";\nconst computed = 'weirdo';\nconst {\n  weirdo\n} = {\n  [computed]: process.env.NODE_ENV === \"production\" ? {\n    name: \"3sn2xs\",\n    styles: \"color:hotpink\"\n  } : {\n    name: \"3sn2xs\",\n    styles: \"color:hotpink/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5vLWxhYmVsLW9iai1wYXR0ZXJuLWNvbXB1dGVkLXByb3BlcnR5LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtpQiIsImZpbGUiOiJuby1sYWJlbC1vYmotcGF0dGVybi1jb21wdXRlZC1wcm9wZXJ0eS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0L21hY3JvJ1xuXG5jb25zdCBjb21wdXRlZCA9ICd3ZWlyZG8nXG5cbmNvbnN0IHsgd2VpcmRvIH0gPSB7XG4gIFtjb21wdXRlZF06IGNzc2BcbiAgICBjb2xvcjogaG90cGluaztcbiAgYFxufVxuXG5leHBvcnQgZGVmYXVsdCB3ZWlyZG9cbiJdfQ== */\",\n    toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n  }\n};\nexport default weirdo;\"\n`;\n\nexports[`@emotion/react - css macro object-dynamic-property 1`] = `\n\"import { css } from '@emotion/react/macro'\n\nfunction doThing() {\n  return {\n    [css({ color: 'hotpink' })]: 'coldblue'\n  }\n}\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { css } from \"@emotion/react\";\n\nvar _ref = process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm9iamVjdC1keW5hbWljLXByb3BlcnR5LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlLIiwiZmlsZSI6Im9iamVjdC1keW5hbWljLXByb3BlcnR5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QvbWFjcm8nXG5cbmZ1bmN0aW9uIGRvVGhpbmcoKSB7XG4gIHJldHVybiB7XG4gICAgW2Nzcyh7IGNvbG9yOiAnaG90cGluaycgfSldOiAnY29sZGJsdWUnXG4gIH1cbn1cbiJdfQ== */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\n\nfunction doThing() {\n  return {\n    [_ref]: 'coldblue'\n  };\n}\"\n`;\n\nexports[`@emotion/react - css macro object-pattern-variable-declarator 1`] = `\n\"import { css } from '@emotion/react'\nimport { extractCritical } from '@emotion/server'\nimport React from 'react'\nimport { renderToString } from 'react-dom/server'\n\nconst { css: styles } = extractCritical(\n  renderToString(\n    <div\n      css={css\\`\n        color: hotpink;\n      \\`}\n    />\n  )\n)\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport { css } from '@emotion/react';\nimport { extractCritical } from '@emotion/server';\nimport React from 'react';\nimport { renderToString } from 'react-dom/server';\nconst {\n  css: styles\n} = extractCritical(renderToString(<div css={css\\`\n        color: hotpink;\n      \\`} />));\"\n`;\n\nexports[`@emotion/react - css macro other-imports 1`] = `\n\"import { nonExistantImport } from '@emotion/react/macro'\n\nnonExistantImport()\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport { nonExistantImport } from \"@emotion/react\";\nnonExistantImport();\"\n`;\n\nexports[`@emotion/react - css macro remove-block-comments 1`] = `\n\"import { css } from '@emotion/react/macro'\n\ncss\\`\n  /* color:green;\nddjfwjkng\n  */\n  color: hotpink;\n\\`\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { css } from \"@emotion/react\";\nprocess.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInJlbW92ZS1ibG9jay1jb21tZW50cy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFRyIsImZpbGUiOiJyZW1vdmUtYmxvY2stY29tbWVudHMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdC9tYWNybydcblxuY3NzYFxuICAvKiBjb2xvcjpncmVlbjtcbmRkamZ3amtuZ1xuICAqL1xuICBjb2xvcjogaG90cGluaztcbmBcbiJdfQ== */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\"\n`;\n\nexports[`@emotion/react - css macro remove-line-comments 1`] = `\n\"import { css } from '@emotion/react/macro'\n\ncss\\`\n  // color: green;\n  color: hotpink;\n\\`\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { css } from \"@emotion/react\";\nprocess.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInJlbW92ZS1saW5lLWNvbW1lbnRzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVHIiwiZmlsZSI6InJlbW92ZS1saW5lLWNvbW1lbnRzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QvbWFjcm8nXG5cbmNzc2BcbiAgLy8gY29sb3I6IGdyZWVuO1xuICBjb2xvcjogaG90cGluaztcbmBcbiJdfQ== */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\"\n`;\n\nexports[`@emotion/react - css macro tagged-template-args-forwarded 1`] = `\n\"import { css } from '@emotion/react/macro'\n\nfunction media(...args) {\n  return css\\`\n    @media (min-width: 100px) {\n      \\${css(...args)};\n    }\n  \\`\n}\n\nconst test = css\\`\n  \\${media\\`color: red;\\`};\n\\`\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport { css } from \"@emotion/react\";\n\nfunction media(...args) {\n  return /*#__PURE__*/css(\"@media (min-width: 100px){\", /*#__PURE__*/css(...args), \";}\" + (process.env.NODE_ENV === \"production\" ? \"\" : \";label:media;\"), process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRhZ2dlZC10ZW1wbGF0ZS1hcmdzLWZvcndhcmRlZC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHWSIsImZpbGUiOiJ0YWdnZWQtdGVtcGxhdGUtYXJncy1mb3J3YXJkZWQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdC9tYWNybydcblxuZnVuY3Rpb24gbWVkaWEoLi4uYXJncykge1xuICByZXR1cm4gY3NzYFxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDBweCkge1xuICAgICAgJHtjc3MoLi4uYXJncyl9O1xuICAgIH1cbiAgYFxufVxuXG5jb25zdCB0ZXN0ID0gY3NzYFxuICAke21lZGlhYGNvbG9yOiByZWQ7YH07XG5gXG4iXX0= */\");\n}\n\nconst test = /*#__PURE__*/css(media\\`color: red;\\`, \";\" + (process.env.NODE_ENV === \"production\" ? \"\" : \";label:test;\"), process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRhZ2dlZC10ZW1wbGF0ZS1hcmdzLWZvcndhcmRlZC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVZ0IiLCJmaWxlIjoidGFnZ2VkLXRlbXBsYXRlLWFyZ3MtZm9yd2FyZGVkLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QvbWFjcm8nXG5cbmZ1bmN0aW9uIG1lZGlhKC4uLmFyZ3MpIHtcbiAgcmV0dXJuIGNzc2BcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAwcHgpIHtcbiAgICAgICR7Y3NzKC4uLmFyZ3MpfTtcbiAgICB9XG4gIGBcbn1cblxuY29uc3QgdGVzdCA9IGNzc2BcbiAgJHttZWRpYWBjb2xvcjogcmVkO2B9O1xuYFxuIl19 */\");\"\n`;\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/css-macro/index.js",
    "content": "import babelTester from 'babel-tester'\n\nbabelTester('@emotion/react - css macro', __dirname)\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/css-requires-options.js",
    "content": "import nodePath from 'path'\nimport babelTester from 'babel-tester'\nimport plugin from '@emotion/babel-plugin'\n\nconst last = arr => arr[arr.length - 1]\n\nconst cases = {\n  'label format with only local': {\n    code: `\n    import { css } from '@emotion/css'\n    let cls = css({color:'hotpink'})\n    `,\n    plugins: [\n      [\n        plugin,\n        {\n          labelFormat: 'my-css-[local]'\n        }\n      ]\n    ],\n    babelFileName: __filename\n  },\n  'label format with filename that is index and local': {\n    code: `\n    import { css } from '@emotion/css'\n    let cls = css({color:'hotpink'})\n    `,\n    plugins: [\n      [\n        plugin,\n        {\n          labelFormat: 'my-css-[filename]-[local]'\n        }\n      ]\n    ],\n    babelFileName: 'some-directory/index.js'\n  },\n\n  'label format with filename and local': {\n    code: `\n    import { css } from '@emotion/css'\n    let cls = css({color:'hotpink'})\n    `,\n    plugins: [\n      [\n        plugin,\n        {\n          labelFormat: 'my-css-[filename]-[local]'\n        }\n      ]\n    ],\n    babelFileName: __filename\n  },\n\n  'label format with dirname, filename, and local': {\n    code: `\n    import { css } from '@emotion/css'\n    let cls = css({color:'hotpink'})\n    `,\n    plugins: [\n      [\n        plugin,\n        {\n          labelFormat: 'my-css-[dirname]-[filename]-[local]'\n        }\n      ]\n    ],\n    babelFileName: __filename\n  },\n\n  'label format function': {\n    code: `\n    import { css } from '@emotion/css'\n    let cls = css({color:'hotpink'})\n    `,\n    plugins: [\n      [\n        plugin,\n        {\n          labelFormat: ({ name, path }) =>\n            `${name.toUpperCase()}_${last(\n              path.replace(/\\..+$/, '').split(nodePath.sep)\n            ).toUpperCase()}`\n        }\n      ]\n    ],\n    babelFileName: __filename\n  },\n\n  // this test has better readability for label alone than other ones which include source maps\n  'label on code transpiled by TS': {\n    code: `\n    import { __makeTemplateObject } from 'tslib'\n    import { css } from '@emotion/react'\n\n    var templateObject_1\n\n    const someVar = css(\n      templateObject_1 ||\n        (templateObject_1 = __makeTemplateObject(\n          ['\\\\n  color: hotpink;\\\\n'],\n          ['\\\\n  color: hotpink;\\\\n']\n        ))\n    )\n    `,\n    plugins: [\n      [\n        plugin,\n        {\n          sourceMap: false\n        }\n      ]\n    ],\n    babelFileName: __filename\n  },\n\n  'label on code transpiled by TS (with interpolations) ': {\n    code: `\n    import { __makeTemplateObject } from 'tslib'\n    import { css } from '@emotion/react'\n    import { hoverStyles } from './styles'\n\n    var templateObject_1\n\n    const someVar = css(\n      templateObject_1 ||\n        (templateObject_1 = __makeTemplateObject(\n          ['\\\\n  color: hotpink;\\\\n'],\n          ['\\\\n  color: hotpink;\\\\n']\n        )),\n      hoverStyles\n    )\n    `,\n    opts: {\n      autoLabel: true,\n      sourceMap: false\n    },\n    filename: __filename\n  },\n\n  'code already transpiled by emotion plugin (avoid double transpilation)': {\n    code: `\n    import { keyframes as _keyframes } from \"emotion\";\n    import { css as _css } from \"emotion\";\n\n    function _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\n    let someCls =\n    /*#__PURE__*/\n    _css(process.env.NODE_ENV === \"production\" ? {\n      name: \"1jwq1yt-someCls\",\n      styles: \"color:hotpink;;label:someCls;\"\n    } : {\n      name: \"1jwq1yt-someCls\",\n      styles: \"color:hotpink;;label:someCls;\",\n      map: \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImRvZXMtbm90LWRvdWJsZS1sYWJlbC1hbHJlYWR5LXRyYW5zcGlsZWQtY29kZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHaUIiLCJmaWxlIjoiZG9lcy1ub3QtZG91YmxlLWxhYmVsLWFscmVhZHktdHJhbnNwaWxlZC1jb2RlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gVE9ETzogdGhlb3JldGljYWxsdCBgZW1vdGlvbmAgc2hvdWxkIGJlIG1lbnRpb25lZCBpbiB0aGlzIHRlc3QgLSBzbyBwcm9iYWJseSB3ZSdkIGxpa2UgdG8gbW92ZSB0aGlzIHRlc3QgYXJvdW5kXG5pbXBvcnQgeyBjc3MsIGtleWZyYW1lcyB9IGZyb20gJ2Vtb3Rpb24nXG5cbmxldCBzb21lQ2xzID0gY3NzYFxuICBjb2xvcjogaG90cGluaztcbmBcblxubGV0IHJvdGF0ZTM2MCA9IGtleWZyYW1lc2BcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbmBcbiJdfQ== */\",\n      toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n    });\n\n    let rotate360 =\n    /*#__PURE__*/\n    _keyframes(process.env.NODE_ENV === \"production\" ? {\n      name: \"1k98dea-rotate360\",\n      styles: \"from{transform:rotate(0deg);}to{transform:rotate(360deg);};label:rotate360;\"\n    } : {\n      name: \"1k98dea-rotate360\",\n      styles: \"from{transform:rotate(0deg);}to{transform:rotate(360deg);};label:rotate360;\",\n      map: \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImRvZXMtbm90LWRvdWJsZS1sYWJlbC1hbHJlYWR5LXRyYW5zcGlsZWQtY29kZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPeUIiLCJmaWxlIjoiZG9lcy1ub3QtZG91YmxlLWxhYmVsLWFscmVhZHktdHJhbnNwaWxlZC1jb2RlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gVE9ETzogdGhlb3JldGljYWxsdCBgZW1vdGlvbmAgc2hvdWxkIGJlIG1lbnRpb25lZCBpbiB0aGlzIHRlc3QgLSBzbyBwcm9iYWJseSB3ZSdkIGxpa2UgdG8gbW92ZSB0aGlzIHRlc3QgYXJvdW5kXG5pbXBvcnQgeyBjc3MsIGtleWZyYW1lcyB9IGZyb20gJ2Vtb3Rpb24nXG5cbmxldCBzb21lQ2xzID0gY3NzYFxuICBjb2xvcjogaG90cGluaztcbmBcblxubGV0IHJvdGF0ZTM2MCA9IGtleWZyYW1lc2BcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbmBcbiJdfQ== */\",\n      toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n    });\n    `,\n    plugins: [plugin],\n    babelFileName: __filename\n  },\n  'autoLabel set to always': {\n    code: `\n    import { css } from 'emotion'\n    let cls = css({color:'hotpink'})\n    `,\n    plugins: [[plugin, { autoLabel: 'always' }]],\n    babelFileName: __filename\n  },\n  'autoLabel set to always - complex expression': {\n    code: `\n    import { css } from 'emotion'\n    import fooStyles from './foo'\n    let cls = css(fooStyles)\n    `,\n    plugins: [[plugin, { autoLabel: 'always' }]],\n    babelFileName: __filename\n  },\n  'autoLabel set to always - complex expression, last arg string': {\n    code: `\n    import { css } from 'emotion'\n    import fooStyles from './foo'\n    let cls = css(fooStyles, 'color: hotpink;')\n    `,\n    plugins: [[plugin, { autoLabel: 'always' }]],\n    babelFileName: __filename\n  },\n  'autoLabel set to never': {\n    code: `\n    import { css } from 'emotion'\n    let cls = css({color:'hotpink'})\n    `,\n    plugins: [[plugin, { autoLabel: 'never' }]],\n    babelFileName: __filename\n  },\n  'autoLabel set to never - complex expression': {\n    code: `\n    import { css } from 'emotion'\n    import fooStyles from './foo'\n    let cls = css(fooStyles)\n    `,\n    plugins: [[plugin, { autoLabel: 'never' }]],\n    babelFileName: __filename\n  }\n}\nbabelTester('babel css inline', cases)\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/css.js",
    "content": "import babelTester from 'babel-tester'\nimport plugin from '@emotion/babel-plugin'\nimport path from 'path'\n\nbabelTester('emotion-babel-plugin css', path.join(__dirname, 'css-macro'), {\n  plugins: [plugin],\n  transform: src => src.replace(/\\/macro/g, '')\n})\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/disable-source-map/__fixtures__/css.js",
    "content": "import { css } from '@emotion/react'\n\nlet style = css({ color: 'hotpink' })\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/disable-source-map/__fixtures__/styled.js",
    "content": "import styled from '@emotion/styled'\n\nlet Comp = styled.div({ color: 'hotpink' })\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/disable-source-map/__fixtures__/vanilla.js",
    "content": "import { css } from '@emotion/css'\n\nlet cls = css({ color: 'hotpink' })\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/disable-source-map/__snapshots__/index.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`disable source map css 1`] = `\n\"import { css } from '@emotion/react'\n\nlet style = css({ color: 'hotpink' })\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { css } from '@emotion/react';\nlet style = process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"1gfxf27-style\",\n  styles: \"color:hotpink;label:style;\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\"\n`;\n\nexports[`disable source map styled 1`] = `\n\"import styled from '@emotion/styled'\n\nlet Comp = styled.div({ color: 'hotpink' })\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport _styled from \"@emotion/styled/base\";\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nlet Comp = /*#__PURE__*/_styled(\"div\", process.env.NODE_ENV === \"production\" ? {\n  target: \"eggnygh0\"\n} : {\n  target: \"eggnygh0\",\n  label: \"Comp\"\n})(process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\"\n`;\n\nexports[`disable source map vanilla 1`] = `\n\"import { css } from '@emotion/css'\n\nlet cls = css({ color: 'hotpink' })\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { css } from '@emotion/css';\nlet cls = /*#__PURE__*/css(process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"6kh100-cls\",\n  styles: \"color:hotpink;label:cls;\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\"\n`;\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/disable-source-map/index.js",
    "content": "import babelTester from 'babel-tester'\nimport plugin from '@emotion/babel-plugin'\n\nbabelTester('disable source map', __dirname, {\n  plugins: [[plugin, { sourceMap: false }]]\n})\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/global-macro/__fixtures__/basic-array.js",
    "content": "import * as React from 'react'\nimport { Global } from '@emotion/react/macro'\n\nexport default () => (\n  <Global styles={[{ color: 'hotpink' }, { backgroundColor: '#fff' }]} />\n)\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/global-macro/__fixtures__/basic-obj.js",
    "content": "import * as React from 'react'\nimport { Global } from '@emotion/react/macro'\n\nexport default () => <Global styles={{ color: 'hotpink' }} />\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/global-macro/__fixtures__/complex-array.js",
    "content": "import * as React from 'react'\nimport { Global } from '@emotion/react/macro'\n\nconst getBgColor = () => ({ backgroundColor: '#fff' })\n\nexport default () => <Global styles={[{ color: 'hotpink' }, getBgColor()]} />\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/global-macro/__fixtures__/complex-obj.js",
    "content": "import * as React from 'react'\nimport { Global } from '@emotion/react/macro'\n\nconst getBgColor = () => ({ backgroundColor: '#fff' })\n\nexport default () => <Global styles={{ color: 'hotpink', ...getBgColor() }} />\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/global-macro/__fixtures__/css-used-as-value.js",
    "content": "import * as React from 'react'\nimport { Global, css } from '@emotion/react/macro'\n\n// this gets ignored by Global macro, but it tests that this combination doesn't crash or something\nexport default () => <Global styles={css({ color: 'hotpink' })} />\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/global-macro/__fixtures__/no-jsx.js",
    "content": "import * as React from 'react'\nimport { Global } from '@emotion/react/macro'\n\nconst foo = Global\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/global-macro/__fixtures__/no-styles-prop.js",
    "content": "import * as React from 'react'\nimport { Global } from '@emotion/react/macro'\n\nexport default () => <Global />\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/global-macro/__fixtures__/spread-styles.js",
    "content": "/* eslint-disable */\nimport * as React from 'react'\nimport { Global } from '@emotion/react/macro'\n\nexport default () => <Global {...styles} />\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/global-macro/__fixtures__/with-closing-element.js",
    "content": "/* eslint-disable */\nimport * as React from 'react'\nimport { Global } from '@emotion/react/macro'\n\n// prettier-ignore\nexport default () => <Global styles={{ color: 'hotpink' }}></Global>\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/global-macro/__snapshots__/index.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`@emotion/react - Global macro basic-array 1`] = `\n\"import * as React from 'react'\nimport { Global } from '@emotion/react/macro'\n\nexport default () => (\n  <Global styles={[{ color: 'hotpink' }, { backgroundColor: '#fff' }]} />\n)\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport * as React from 'react';\nimport { Global } from \"@emotion/react\";\n\nvar _ref = process.env.NODE_ENV === \"production\" ? {\n  name: \"9aoaei\",\n  styles: \"color:hotpink;background-color:#fff\"\n} : {\n  name: \"9aoaei\",\n  styles: \"color:hotpink;background-color:#fff/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJhc2ljLWFycmF5LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlVIiwiZmlsZSI6ImJhc2ljLWFycmF5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBHbG9iYWwgfSBmcm9tICdAZW1vdGlvbi9yZWFjdC9tYWNybydcblxuZXhwb3J0IGRlZmF1bHQgKCkgPT4gKFxuICA8R2xvYmFsIHN0eWxlcz17W3sgY29sb3I6ICdob3RwaW5rJyB9LCB7IGJhY2tncm91bmRDb2xvcjogJyNmZmYnIH1dfSAvPlxuKVxuIl19 */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\n\nexport default (() => <Global styles={_ref} />);\"\n`;\n\nexports[`@emotion/react - Global macro basic-obj 1`] = `\n\"import * as React from 'react'\nimport { Global } from '@emotion/react/macro'\n\nexport default () => <Global styles={{ color: 'hotpink' }} />\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport * as React from 'react';\nimport { Global } from \"@emotion/react\";\n\nvar _ref = process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJhc2ljLW9iai5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHNkIiLCJmaWxlIjoiYmFzaWMtb2JqLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBHbG9iYWwgfSBmcm9tICdAZW1vdGlvbi9yZWFjdC9tYWNybydcblxuZXhwb3J0IGRlZmF1bHQgKCkgPT4gPEdsb2JhbCBzdHlsZXM9e3sgY29sb3I6ICdob3RwaW5rJyB9fSAvPlxuIl19 */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\n\nexport default (() => <Global styles={_ref} />);\"\n`;\n\nexports[`@emotion/react - Global macro complex-array 1`] = `\n\"import * as React from 'react'\nimport { Global } from '@emotion/react/macro'\n\nconst getBgColor = () => ({ backgroundColor: '#fff' })\n\nexport default () => <Global styles={[{ color: 'hotpink' }, getBgColor()]} />\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport * as React from 'react';\nimport { Global } from \"@emotion/react\";\n\nconst getBgColor = () => ({\n  backgroundColor: '#fff'\n});\n\nexport default (() => <Global styles={[\"color:hotpink;\", getBgColor(), process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBsZXgtYXJyYXkuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSzZCIiwiZmlsZSI6ImNvbXBsZXgtYXJyYXkuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCdcbmltcG9ydCB7IEdsb2JhbCB9IGZyb20gJ0BlbW90aW9uL3JlYWN0L21hY3JvJ1xuXG5jb25zdCBnZXRCZ0NvbG9yID0gKCkgPT4gKHsgYmFja2dyb3VuZENvbG9yOiAnI2ZmZicgfSlcblxuZXhwb3J0IGRlZmF1bHQgKCkgPT4gPEdsb2JhbCBzdHlsZXM9e1t7IGNvbG9yOiAnaG90cGluaycgfSwgZ2V0QmdDb2xvcigpXX0gLz5cbiJdfQ== */\"]} />);\"\n`;\n\nexports[`@emotion/react - Global macro complex-obj 1`] = `\n\"import * as React from 'react'\nimport { Global } from '@emotion/react/macro'\n\nconst getBgColor = () => ({ backgroundColor: '#fff' })\n\nexport default () => <Global styles={{ color: 'hotpink', ...getBgColor() }} />\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport { css as _css } from \"@emotion/react\";\nimport * as React from 'react';\nimport { Global } from \"@emotion/react\";\n\nconst getBgColor = () => ({\n  backgroundColor: '#fff'\n});\n\nexport default (() => <Global styles={/*#__PURE__*/_css({\n  color: 'hotpink',\n  ...getBgColor()\n}, process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBsZXgtb2JqLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUs2QiIsImZpbGUiOiJjb21wbGV4LW9iai5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgR2xvYmFsIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QvbWFjcm8nXG5cbmNvbnN0IGdldEJnQ29sb3IgPSAoKSA9PiAoeyBiYWNrZ3JvdW5kQ29sb3I6ICcjZmZmJyB9KVxuXG5leHBvcnQgZGVmYXVsdCAoKSA9PiA8R2xvYmFsIHN0eWxlcz17eyBjb2xvcjogJ2hvdHBpbmsnLCAuLi5nZXRCZ0NvbG9yKCkgfX0gLz5cbiJdfQ== */\")} />);\"\n`;\n\nexports[`@emotion/react - Global macro css-used-as-value 1`] = `\n\"import * as React from 'react'\nimport { Global, css } from '@emotion/react/macro'\n\n// this gets ignored by Global macro, but it tests that this combination doesn't crash or something\nexport default () => <Global styles={css({ color: 'hotpink' })} />\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport * as React from 'react';\nimport { Global, css } from \"@emotion/react\"; // this gets ignored by Global macro, but it tests that this combination doesn't crash or something\n\nvar _ref = process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNzcy11c2VkLWFzLXZhbHVlLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlxQyIsImZpbGUiOiJjc3MtdXNlZC1hcy12YWx1ZS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgR2xvYmFsLCBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdC9tYWNybydcblxuLy8gdGhpcyBnZXRzIGlnbm9yZWQgYnkgR2xvYmFsIG1hY3JvLCBidXQgaXQgdGVzdHMgdGhhdCB0aGlzIGNvbWJpbmF0aW9uIGRvZXNuJ3QgY3Jhc2ggb3Igc29tZXRoaW5nXG5leHBvcnQgZGVmYXVsdCAoKSA9PiA8R2xvYmFsIHN0eWxlcz17Y3NzKHsgY29sb3I6ICdob3RwaW5rJyB9KX0gLz5cbiJdfQ== */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\n\nexport default (() => <Global styles={_ref} />);\"\n`;\n\nexports[`@emotion/react - Global macro no-jsx 1`] = `\n\"import * as React from 'react'\nimport { Global } from '@emotion/react/macro'\n\nconst foo = Global\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport * as React from 'react';\nimport { Global } from \"@emotion/react\";\nconst foo = Global;\"\n`;\n\nexports[`@emotion/react - Global macro no-styles-prop 1`] = `\n\"import * as React from 'react'\nimport { Global } from '@emotion/react/macro'\n\nexport default () => <Global />\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport * as React from 'react';\nimport { Global } from \"@emotion/react\";\nexport default (() => <Global />);\"\n`;\n\nexports[`@emotion/react - Global macro spread-styles 1`] = `\n\"/* eslint-disable */\nimport * as React from 'react'\nimport { Global } from '@emotion/react/macro'\n\nexport default () => <Global {...styles} />\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\n/* eslint-disable */\nimport * as React from 'react';\nimport { Global } from \"@emotion/react\";\nexport default (() => <Global {...styles} />);\"\n`;\n\nexports[`@emotion/react - Global macro with-closing-element 1`] = `\n\"/* eslint-disable */\nimport * as React from 'react'\nimport { Global } from '@emotion/react/macro'\n\n// prettier-ignore\nexport default () => <Global styles={{ color: 'hotpink' }}></Global>\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\n/* eslint-disable */\nimport * as React from 'react';\nimport { Global } from \"@emotion/react\"; // prettier-ignore\n\nvar _ref = process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndpdGgtY2xvc2luZy1lbGVtZW50LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUs2QiIsImZpbGUiOiJ3aXRoLWNsb3NpbmctZWxlbWVudC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlICovXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCdcbmltcG9ydCB7IEdsb2JhbCB9IGZyb20gJ0BlbW90aW9uL3JlYWN0L21hY3JvJ1xuXG4vLyBwcmV0dGllci1pZ25vcmVcbmV4cG9ydCBkZWZhdWx0ICgpID0+IDxHbG9iYWwgc3R5bGVzPXt7IGNvbG9yOiAnaG90cGluaycgfX0+PC9HbG9iYWw+XG4iXX0= */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\n\nexport default (() => <Global styles={_ref}></Global>);\"\n`;\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/global-macro/index.js",
    "content": "import babelTester from 'babel-tester'\n\nbabelTester('@emotion/react - Global macro', __dirname)\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/global-requires-options.js",
    "content": "import babelTester from 'babel-tester'\nimport plugin from '@emotion/babel-plugin'\n\nconst cases = {\n  'source maps can be disabled': {\n    code: `\nimport * as React from 'react'\nimport { Global } from '@emotion/react'\n\nexport default () => <Global styles={{ color: 'hotpink' }} />\n    `,\n    plugins: [[plugin, { sourceMap: false }]]\n  }\n}\n\nbabelTester('Global inline', cases)\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/global.js",
    "content": "import babelTester from 'babel-tester'\nimport plugin from '@emotion/babel-plugin'\nimport path from 'path'\n\nbabelTester(\n  'emotion-babel-plugin Global',\n  path.join(__dirname, 'global-macro'),\n  {\n    plugins: [plugin],\n    transform: src => src.replace(/\\/macro/g, '')\n  }\n)\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/import-mapping/__fixtures__/global-needs-css.js",
    "content": "import * as React from 'react'\nimport { SomeGlobalFromCore } from 'package-two'\n\nconst getBgColor = () => ({ backgroundColor: '#fff' })\n\nexport default () => (\n  <SomeGlobalFromCore styles={{ color: 'hotpink', ...getBgColor() }} />\n)\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/import-mapping/__fixtures__/global.js",
    "content": "import * as React from 'react'\nimport { SomeGlobalFromCore } from 'package-two'\n\nexport default () => <SomeGlobalFromCore styles={{ color: 'hotpink' }} />\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/import-mapping/__fixtures__/jsx.js",
    "content": "/** @jsx someJsx */\nimport { someJsx } from 'package-two'\n\nconst SomeComponent = props => <div css={{ color: window }} {...props} />\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/import-mapping/__fixtures__/non-default-styled-aliased.js",
    "content": "import { nonDefaultStyled as someAlias } from 'package-one'\n\nlet SomeComp = someAlias.div({ color: 'hotpink' })\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/import-mapping/__fixtures__/non-default-styled.js",
    "content": "import { nonDefaultStyled } from 'package-one'\n\nlet SomeComp = nonDefaultStyled.div({ color: 'hotpink' })\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/import-mapping/__fixtures__/styled-with-base-specified.js",
    "content": "import { nonDefaultStyled } from 'package-four'\n\nlet SomeComp = nonDefaultStyled.div({ color: 'hotpink' })\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/import-mapping/__fixtures__/vanilla.js",
    "content": "import { something } from 'package-three'\n\nsomething({ color: 'green' })\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/import-mapping/__snapshots__/import-mapping.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`import mapping global 1`] = `\n\"import * as React from 'react'\nimport { SomeGlobalFromCore } from 'package-two'\n\nexport default () => <SomeGlobalFromCore styles={{ color: 'hotpink' }} />\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport * as React from 'react';\nimport { SomeGlobalFromCore } from 'package-two';\n\nvar _ref = process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImdsb2JhbC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHeUMiLCJmaWxlIjoiZ2xvYmFsLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBTb21lR2xvYmFsRnJvbUNvcmUgfSBmcm9tICdwYWNrYWdlLXR3bydcblxuZXhwb3J0IGRlZmF1bHQgKCkgPT4gPFNvbWVHbG9iYWxGcm9tQ29yZSBzdHlsZXM9e3sgY29sb3I6ICdob3RwaW5rJyB9fSAvPlxuIl19 */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\n\nexport default (() => <SomeGlobalFromCore styles={_ref} />);\"\n`;\n\nexports[`import mapping global-needs-css 1`] = `\n\"import * as React from 'react'\nimport { SomeGlobalFromCore } from 'package-two'\n\nconst getBgColor = () => ({ backgroundColor: '#fff' })\n\nexport default () => (\n  <SomeGlobalFromCore styles={{ color: 'hotpink', ...getBgColor() }} />\n)\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport { someCssFromCore as _css } from \"package-two\";\nimport * as React from 'react';\nimport { SomeGlobalFromCore } from 'package-two';\n\nconst getBgColor = () => ({\n  backgroundColor: '#fff'\n});\n\nexport default (() => <SomeGlobalFromCore styles={/*#__PURE__*/_css({\n  color: 'hotpink',\n  ...getBgColor()\n}, process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImdsb2JhbC1uZWVkcy1jc3MuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTXNCIiwiZmlsZSI6Imdsb2JhbC1uZWVkcy1jc3MuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCdcbmltcG9ydCB7IFNvbWVHbG9iYWxGcm9tQ29yZSB9IGZyb20gJ3BhY2thZ2UtdHdvJ1xuXG5jb25zdCBnZXRCZ0NvbG9yID0gKCkgPT4gKHsgYmFja2dyb3VuZENvbG9yOiAnI2ZmZicgfSlcblxuZXhwb3J0IGRlZmF1bHQgKCkgPT4gKFxuICA8U29tZUdsb2JhbEZyb21Db3JlIHN0eWxlcz17eyBjb2xvcjogJ2hvdHBpbmsnLCAuLi5nZXRCZ0NvbG9yKCkgfX0gLz5cbilcbiJdfQ== */\")} />);\"\n`;\n\nexports[`import mapping jsx 1`] = `\n\"/** @jsx someJsx */\nimport { someJsx } from 'package-two'\n\nconst SomeComponent = props => <div css={{ color: window }} {...props} />\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport { someCssFromCore as _css } from \"package-two\";\n\n/** @jsx someJsx */\nimport { someJsx } from 'package-two';\n\nconst SomeComponent = props => <div css={/*#__PURE__*/_css({\n  color: window\n}, process.env.NODE_ENV === \"production\" ? \"\" : \";label:SomeComponent;\", process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImpzeC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHb0MiLCJmaWxlIjoianN4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBqc3ggc29tZUpzeCAqL1xuaW1wb3J0IHsgc29tZUpzeCB9IGZyb20gJ3BhY2thZ2UtdHdvJ1xuXG5jb25zdCBTb21lQ29tcG9uZW50ID0gcHJvcHMgPT4gPGRpdiBjc3M9e3sgY29sb3I6IHdpbmRvdyB9fSB7Li4ucHJvcHN9IC8+XG4iXX0= */\")} {...props} />;\"\n`;\n\nexports[`import mapping non-default-styled 1`] = `\n\"import { nonDefaultStyled } from 'package-one'\n\nlet SomeComp = nonDefaultStyled.div({ color: 'hotpink' })\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { nonDefaultStyled } from 'package-one';\nlet SomeComp = /*#__PURE__*/nonDefaultStyled(\"div\", process.env.NODE_ENV === \"production\" ? {\n  target: \"e1dq5q4a0\"\n} : {\n  target: \"e1dq5q4a0\",\n  label: \"SomeComp\"\n})(process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5vbi1kZWZhdWx0LXN0eWxlZC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFZSIsImZpbGUiOiJub24tZGVmYXVsdC1zdHlsZWQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBub25EZWZhdWx0U3R5bGVkIH0gZnJvbSAncGFja2FnZS1vbmUnXG5cbmxldCBTb21lQ29tcCA9IG5vbkRlZmF1bHRTdHlsZWQuZGl2KHsgY29sb3I6ICdob3RwaW5rJyB9KVxuIl19 */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\"\n`;\n\nexports[`import mapping non-default-styled-aliased 1`] = `\n\"import { nonDefaultStyled as someAlias } from 'package-one'\n\nlet SomeComp = someAlias.div({ color: 'hotpink' })\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { nonDefaultStyled as someAlias } from 'package-one';\nlet SomeComp = /*#__PURE__*/someAlias(\"div\", process.env.NODE_ENV === \"production\" ? {\n  target: \"erjjkeh0\"\n} : {\n  target: \"erjjkeh0\",\n  label: \"SomeComp\"\n})(process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5vbi1kZWZhdWx0LXN0eWxlZC1hbGlhc2VkLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVlIiwiZmlsZSI6Im5vbi1kZWZhdWx0LXN0eWxlZC1hbGlhc2VkLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbm9uRGVmYXVsdFN0eWxlZCBhcyBzb21lQWxpYXMgfSBmcm9tICdwYWNrYWdlLW9uZSdcblxubGV0IFNvbWVDb21wID0gc29tZUFsaWFzLmRpdih7IGNvbG9yOiAnaG90cGluaycgfSlcbiJdfQ== */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\"\n`;\n\nexports[`import mapping styled-with-base-specified 1`] = `\n\"import { nonDefaultStyled } from 'package-four'\n\nlet SomeComp = nonDefaultStyled.div({ color: 'hotpink' })\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport { something as _styled } from \"package-four/base\";\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nlet SomeComp = /*#__PURE__*/_styled(\"div\", process.env.NODE_ENV === \"production\" ? {\n  target: \"e16az05m0\"\n} : {\n  target: \"e16az05m0\",\n  label: \"SomeComp\"\n})(process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlZC13aXRoLWJhc2Utc3BlY2lmaWVkLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVlIiwiZmlsZSI6InN0eWxlZC13aXRoLWJhc2Utc3BlY2lmaWVkLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbm9uRGVmYXVsdFN0eWxlZCB9IGZyb20gJ3BhY2thZ2UtZm91cidcblxubGV0IFNvbWVDb21wID0gbm9uRGVmYXVsdFN0eWxlZC5kaXYoeyBjb2xvcjogJ2hvdHBpbmsnIH0pXG4iXX0= */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\"\n`;\n\nexports[`import mapping vanilla 1`] = `\n\"import { something } from 'package-three'\n\nsomething({ color: 'green' })\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { something } from 'package-three';\n\n/*#__PURE__*/\nsomething(process.env.NODE_ENV === \"production\" ? {\n  name: \"v98kxt\",\n  styles: \"color:green\"\n} : {\n  name: \"v98kxt\",\n  styles: \"color:green/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInZhbmlsbGEuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEiLCJmaWxlIjoidmFuaWxsYS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHNvbWV0aGluZyB9IGZyb20gJ3BhY2thZ2UtdGhyZWUnXG5cbnNvbWV0aGluZyh7IGNvbG9yOiAnZ3JlZW4nIH0pXG4iXX0= */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\"\n`;\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/import-mapping/import-mapping.js",
    "content": "import babelTester from 'babel-tester'\nimport plugin from '@emotion/babel-plugin'\n\nbabelTester('import mapping', __dirname, {\n  plugins: [\n    [\n      plugin,\n      {\n        importMap: {\n          'package-one': {\n            nonDefaultStyled: {\n              canonicalImport: ['@emotion/styled', 'default']\n            }\n          },\n          'package-two': {\n            someJsx: {\n              canonicalImport: ['@emotion/react', 'jsx']\n            },\n            someCssFromCore: {\n              canonicalImport: ['@emotion/react', 'css']\n            },\n            SomeGlobalFromCore: {\n              canonicalImport: ['@emotion/react', 'Global']\n            }\n          },\n\n          'package-three': {\n            something: {\n              canonicalImport: ['@emotion/css', 'css']\n            }\n          },\n          'package-four': {\n            nonDefaultStyled: {\n              canonicalImport: ['@emotion/styled', 'default'],\n              styledBaseImport: ['package-four/base', 'something']\n            }\n          }\n        }\n      }\n    ]\n  ]\n})\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/index.js",
    "content": "import babelTester from 'babel-tester'\nimport plugin from '@emotion/babel-plugin'\n\nbabelTester('@emotion/babel-plugin', __dirname, {\n  // we add a duplicate of our own plugin\n  // users may run babel twice, and our plugin should be smart enough to not duplicate fields\n  plugins: [plugin, [plugin, undefined, 'emotion-copy']]\n})\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/source-maps/__fixtures__/css-object.js",
    "content": "import { css } from '@emotion/react'\n\ncss({ color: 'hotpink' })\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/source-maps/__fixtures__/css-prop-dynamic.js",
    "content": "/** @jsx jsx */\nimport { jsx } from '@emotion/react'\n\nconst SomeComponent = props => (\n  <div\n    css={{\n      backgroundColor: window.something\n    }}\n    {...props}\n  />\n)\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/source-maps/__fixtures__/css-prop.js",
    "content": "/** @jsx jsx */\nimport { jsx } from '@emotion/react'\n\nconst SomeComponent = props => <div css={{ color: 'hotpink' }} {...props} />\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/source-maps/__fixtures__/css-string.js",
    "content": "import { css } from '@emotion/react'\n\ncss`\n  color: hotpink;\n`\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/source-maps/__fixtures__/css-transpiled-by-ts-with-interpolations.js",
    "content": "import { __makeTemplateObject } from 'tslib'\nimport { css } from '@emotion/react'\nimport { hoverStyles } from './styles'\n\nvar templateObject_1\n\ncss(\n  templateObject_1 ||\n    (templateObject_1 = __makeTemplateObject(\n      ['\\n  color: hotpink;\\n'],\n      ['\\n  color: hotpink;\\n']\n    )),\n  hoverStyles\n)\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/source-maps/__fixtures__/css-transpiled-by-ts.js",
    "content": "import { __makeTemplateObject } from 'tslib'\nimport { css } from '@emotion/react'\n\nvar templateObject_1\n\ncss(\n  templateObject_1 ||\n    (templateObject_1 = __makeTemplateObject(\n      ['\\n  color: hotpink;\\n'],\n      ['\\n  color: hotpink;\\n']\n    ))\n)\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/source-maps/__fixtures__/global-styles-prop.js",
    "content": "import * as React from 'react'\nimport { Global } from '@emotion/react'\n\nexport default () => <Global styles={{ color: 'hotpink' }} />\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/source-maps/__fixtures__/styled-object.js",
    "content": "import styled from '@emotion/styled'\n\nconst SomeComponent = styled.div({\n  color: 'hotpink'\n})\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/source-maps/__fixtures__/styled-string.js",
    "content": "import styled from '@emotion/styled'\n\nconst SomeComponent = styled.div`\n  color: hotpink;\n`\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/source-maps/__snapshots__/index.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`source maps css-object 1`] = `\n\"import { css } from '@emotion/react'\n\ncss({ color: 'hotpink' })\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { css } from '@emotion/react';\nprocess.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNvdXJjZS1tYXAudGVzdC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSIsImZpbGUiOiJzb3VyY2UtbWFwLnRlc3QuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcblxuY3NzKHsgY29sb3I6ICdob3RwaW5rJyB9KVxuIl19 */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\"\n`;\n\nexports[`source maps css-prop 1`] = `\n\"/** @jsx jsx */\nimport { jsx } from '@emotion/react'\n\nconst SomeComponent = props => <div css={{ color: 'hotpink' }} {...props} />\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\n/** @jsx jsx */\nimport { jsx } from '@emotion/react';\n\nvar _ref = process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"1wl9j1m-SomeComponent\",\n  styles: \"color:hotpink;label:SomeComponent;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNvdXJjZS1tYXAudGVzdC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHb0MiLCJmaWxlIjoic291cmNlLW1hcC50ZXN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBqc3gganN4ICovXG5pbXBvcnQgeyBqc3ggfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcblxuY29uc3QgU29tZUNvbXBvbmVudCA9IHByb3BzID0+IDxkaXYgY3NzPXt7IGNvbG9yOiAnaG90cGluaycgfX0gey4uLnByb3BzfSAvPlxuIl19 */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\n\nconst SomeComponent = props => <div css={_ref} {...props} />;\"\n`;\n\nexports[`source maps css-prop-dynamic 1`] = `\n\"/** @jsx jsx */\nimport { jsx } from '@emotion/react'\n\nconst SomeComponent = props => (\n  <div\n    css={{\n      backgroundColor: window.something\n    }}\n    {...props}\n  />\n)\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport { css as _css } from \"@emotion/react\";\n\n/** @jsx jsx */\nimport { jsx } from '@emotion/react';\n\nconst SomeComponent = props => <div css={/*#__PURE__*/_css({\n  backgroundColor: window.something\n}, process.env.NODE_ENV === \"production\" ? \"\" : \";label:SomeComponent;\", process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNvdXJjZS1tYXAudGVzdC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLSSIsImZpbGUiOiJzb3VyY2UtbWFwLnRlc3QuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiogQGpzeCBqc3ggKi9cbmltcG9ydCB7IGpzeCB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuXG5jb25zdCBTb21lQ29tcG9uZW50ID0gcHJvcHMgPT4gKFxuICA8ZGl2XG4gICAgY3NzPXt7XG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6IHdpbmRvdy5zb21ldGhpbmdcbiAgICB9fVxuICAgIHsuLi5wcm9wc31cbiAgLz5cbilcbiJdfQ== */\")} {...props} />;\"\n`;\n\nexports[`source maps css-string 1`] = `\n\"import { css } from '@emotion/react'\n\ncss\\`\n  color: hotpink;\n\\`\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { css } from '@emotion/react';\nprocess.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNvdXJjZS1tYXAudGVzdC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFRyIsImZpbGUiOiJzb3VyY2UtbWFwLnRlc3QuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcblxuY3NzYFxuICBjb2xvcjogaG90cGluaztcbmBcbiJdfQ== */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\"\n`;\n\nexports[`source maps css-transpiled-by-ts 1`] = `\n\"import { __makeTemplateObject } from 'tslib'\nimport { css } from '@emotion/react'\n\nvar templateObject_1\n\ncss(\n  templateObject_1 ||\n    (templateObject_1 = __makeTemplateObject(\n      ['\\\\n  color: hotpink;\\\\n'],\n      ['\\\\n  color: hotpink;\\\\n']\n    ))\n)\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport { __makeTemplateObject } from 'tslib';\nimport { css } from '@emotion/react';\nvar templateObject_1;\n\n/*#__PURE__*/\ncss(templateObject_1 || (templateObject_1 = __makeTemplateObject(['\\\\n  color: hotpink;\\\\n' + (process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNvdXJjZS1tYXAudGVzdC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSIsImZpbGUiOiJzb3VyY2UtbWFwLnRlc3QuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBfX21ha2VUZW1wbGF0ZU9iamVjdCB9IGZyb20gJ3RzbGliJ1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5cbnZhciB0ZW1wbGF0ZU9iamVjdF8xXG5cbmNzcyhcbiAgdGVtcGxhdGVPYmplY3RfMSB8fFxuICAgICh0ZW1wbGF0ZU9iamVjdF8xID0gX19tYWtlVGVtcGxhdGVPYmplY3QoXG4gICAgICBbJ1xcbiAgY29sb3I6IGhvdHBpbms7XFxuJ10sXG4gICAgICBbJ1xcbiAgY29sb3I6IGhvdHBpbms7XFxuJ11cbiAgICApKVxuKVxuIl19 */\")], ['\\\\n  color: hotpink;\\\\n' + (process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNvdXJjZS1tYXAudGVzdC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSIsImZpbGUiOiJzb3VyY2UtbWFwLnRlc3QuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBfX21ha2VUZW1wbGF0ZU9iamVjdCB9IGZyb20gJ3RzbGliJ1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5cbnZhciB0ZW1wbGF0ZU9iamVjdF8xXG5cbmNzcyhcbiAgdGVtcGxhdGVPYmplY3RfMSB8fFxuICAgICh0ZW1wbGF0ZU9iamVjdF8xID0gX19tYWtlVGVtcGxhdGVPYmplY3QoXG4gICAgICBbJ1xcbiAgY29sb3I6IGhvdHBpbms7XFxuJ10sXG4gICAgICBbJ1xcbiAgY29sb3I6IGhvdHBpbms7XFxuJ11cbiAgICApKVxuKVxuIl19 */\")])));\"\n`;\n\nexports[`source maps css-transpiled-by-ts-with-interpolations 1`] = `\n\"import { __makeTemplateObject } from 'tslib'\nimport { css } from '@emotion/react'\nimport { hoverStyles } from './styles'\n\nvar templateObject_1\n\ncss(\n  templateObject_1 ||\n    (templateObject_1 = __makeTemplateObject(\n      ['\\\\n  color: hotpink;\\\\n'],\n      ['\\\\n  color: hotpink;\\\\n']\n    )),\n  hoverStyles\n)\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport { __makeTemplateObject } from 'tslib';\nimport { css } from '@emotion/react';\nimport { hoverStyles } from './styles';\nvar templateObject_1;\n\n/*#__PURE__*/\ncss(templateObject_1 || (templateObject_1 = __makeTemplateObject(['\\\\n  color: hotpink;\\\\n' + (process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNvdXJjZS1tYXAudGVzdC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSIsImZpbGUiOiJzb3VyY2UtbWFwLnRlc3QuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBfX21ha2VUZW1wbGF0ZU9iamVjdCB9IGZyb20gJ3RzbGliJ1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5pbXBvcnQgeyBob3ZlclN0eWxlcyB9IGZyb20gJy4vc3R5bGVzJ1xuXG52YXIgdGVtcGxhdGVPYmplY3RfMVxuXG5jc3MoXG4gIHRlbXBsYXRlT2JqZWN0XzEgfHxcbiAgICAodGVtcGxhdGVPYmplY3RfMSA9IF9fbWFrZVRlbXBsYXRlT2JqZWN0KFxuICAgICAgWydcXG4gIGNvbG9yOiBob3RwaW5rO1xcbiddLFxuICAgICAgWydcXG4gIGNvbG9yOiBob3RwaW5rO1xcbiddXG4gICAgKSksXG4gIGhvdmVyU3R5bGVzXG4pXG4iXX0= */\")], ['\\\\n  color: hotpink;\\\\n' + (process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNvdXJjZS1tYXAudGVzdC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSIsImZpbGUiOiJzb3VyY2UtbWFwLnRlc3QuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBfX21ha2VUZW1wbGF0ZU9iamVjdCB9IGZyb20gJ3RzbGliJ1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5pbXBvcnQgeyBob3ZlclN0eWxlcyB9IGZyb20gJy4vc3R5bGVzJ1xuXG52YXIgdGVtcGxhdGVPYmplY3RfMVxuXG5jc3MoXG4gIHRlbXBsYXRlT2JqZWN0XzEgfHxcbiAgICAodGVtcGxhdGVPYmplY3RfMSA9IF9fbWFrZVRlbXBsYXRlT2JqZWN0KFxuICAgICAgWydcXG4gIGNvbG9yOiBob3RwaW5rO1xcbiddLFxuICAgICAgWydcXG4gIGNvbG9yOiBob3RwaW5rO1xcbiddXG4gICAgKSksXG4gIGhvdmVyU3R5bGVzXG4pXG4iXX0= */\")])), hoverStyles);\"\n`;\n\nexports[`source maps global-styles-prop 1`] = `\n\"import * as React from 'react'\nimport { Global } from '@emotion/react'\n\nexport default () => <Global styles={{ color: 'hotpink' }} />\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport * as React from 'react';\nimport { Global } from '@emotion/react';\n\nvar _ref = process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNvdXJjZS1tYXAudGVzdC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHNkIiLCJmaWxlIjoic291cmNlLW1hcC50ZXN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBHbG9iYWwgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcblxuZXhwb3J0IGRlZmF1bHQgKCkgPT4gPEdsb2JhbCBzdHlsZXM9e3sgY29sb3I6ICdob3RwaW5rJyB9fSAvPlxuIl19 */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\n\nexport default (() => <Global styles={_ref} />);\"\n`;\n\nexports[`source maps styled-object 1`] = `\n\"import styled from '@emotion/styled'\n\nconst SomeComponent = styled.div({\n  color: 'hotpink'\n})\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport _styled from \"@emotion/styled/base\";\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nconst SomeComponent = /*#__PURE__*/_styled(\"div\", process.env.NODE_ENV === \"production\" ? {\n  target: \"eb28ebz0\"\n} : {\n  target: \"eb28ebz0\",\n  label: \"SomeComponent\"\n})(process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNvdXJjZS1tYXAudGVzdC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFc0IiLCJmaWxlIjoic291cmNlLW1hcC50ZXN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5cbmNvbnN0IFNvbWVDb21wb25lbnQgPSBzdHlsZWQuZGl2KHtcbiAgY29sb3I6ICdob3RwaW5rJ1xufSlcbiJdfQ== */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\"\n`;\n\nexports[`source maps styled-string 1`] = `\n\"import styled from '@emotion/styled'\n\nconst SomeComponent = styled.div\\`\n  color: hotpink;\n\\`\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport _styled from \"@emotion/styled/base\";\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nconst SomeComponent = /*#__PURE__*/_styled(\"div\", process.env.NODE_ENV === \"production\" ? {\n  target: \"eb28ebz0\"\n} : {\n  target: \"eb28ebz0\",\n  label: \"SomeComponent\"\n})(process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNvdXJjZS1tYXAudGVzdC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFZ0MiLCJmaWxlIjoic291cmNlLW1hcC50ZXN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5cbmNvbnN0IFNvbWVDb21wb25lbnQgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogaG90cGluaztcbmBcbiJdfQ== */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\"\n`;\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/source-maps/index.js",
    "content": "import babelTester from 'babel-tester'\nimport plugin from '@emotion/babel-plugin'\n\nbabelTester('source maps', __dirname, {\n  plugins: [[plugin, { sourceMap: true }]],\n  filename: 'source-map.test.js'\n})\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/styled-macro/__fixtures__/already-transpiled-by-babel.js",
    "content": "/* eslint-disable */\nimport styled from '@emotion/styled/macro'\nimport _taggedTemplateLiteralLoose from '@babel/runtime/helpers/esm/taggedTemplateLiteralLoose'\n\nfunction _templateObject() {\n  var data = _taggedTemplateLiteralLoose(['\\n    color: hotpink;\\n  '])\n\n  _templateObject = function _templateObject() {\n    return data\n  }\n\n  return data\n}\n\n// source maps should not be appended\nconst SomeComponent = styled('div')(_templateObject())\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/styled-macro/__fixtures__/auto-inserted-rule-in-at-rule-preceeded-by-interpolation.js",
    "content": "import styled from '@emotion/styled/macro'\nimport { css } from '@emotion/react'\n\nconst fullWidth = css`\n  width: 100%;\n`\n\nconst StyledRoot = styled.div`\n  ${fullWidth}\n\n  button {\n    @media (min-width: 768px) {\n      color: red;\n    }\n  }\n`\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/styled-macro/__fixtures__/basic.js",
    "content": "import styled from '@emotion/styled/macro'\n\nconst SomeComponent = styled.div`\n  color: hotpink;\n`\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/styled-macro/__fixtures__/call-expression.js",
    "content": "import styled from '@emotion/styled/macro'\n\nconst SomeComponent = styled('div')`\n  color: hotpink;\n`\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/styled-macro/__fixtures__/comments.js",
    "content": "import styled from '@emotion/styled/macro'\n\nstyled.div`\n  // display:flex;\n\n  /*\nwef\n\ndfwf */\n  color: hotpink;\n`\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/styled-macro/__fixtures__/component-selector.js",
    "content": "import styled from '@emotion/styled/macro'\n\nconst SomeComponent = styled.div`\n  color: hotpink;\n`\n\nlet SomeOtherComponent = styled.div({ color: 'hotpink' })\n\nlet AnotherComponent = styled.div`\n  ${SomeComponent} {\n    color: green;\n  }\n  ${SomeOtherComponent} {\n    color: green;\n  }\n`\n\nlet OneLastComponent = styled.div({\n  [SomeComponent]: {\n    color: 'green'\n  },\n  [SomeOtherComponent]: {\n    color: 'green'\n  }\n})\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/styled-macro/__fixtures__/existing-options.js",
    "content": "import styled from '@emotion/styled/macro'\n\nstyled('div', { shouldForwardProp: window.whatever }, window.whatever)()\n\nstyled('div', { shouldForwardProp: window.whatever }, window.whatever)``\n\nstyled(\n  window.whatever,\n  { shouldForwardProp: window.whatever },\n  window.whatever\n)()\n\nstyled(\n  window.whatever,\n  { shouldForwardProp: window.whatever },\n  window.whatever\n)``\n\nconst cfg = { shouldForwardProp: window.whatever }\nstyled('button', cfg)({})\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/styled-macro/__fixtures__/function-interpolation.js",
    "content": "import styled from '@emotion/styled/macro'\n\nlet Avatar = styled.img`\n  width: 96px;\n  height: 96px;\n  border-radius: ${props => props.theme.borderRadius};\n  border: 1px solid ${props => props.theme.borderColor};\n`\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/styled-macro/__fixtures__/label-assignment-expression.js",
    "content": "/** @jsx jsx */\nimport styled from '@emotion/styled/macro'\nimport { jsx } from '@emotion/react'\n\nlet Comp\nComp = styled.div``\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/styled-macro/__fixtures__/label-class-fields.js",
    "content": "/** @jsx jsx */\nimport styled from '@emotion/styled/macro'\nimport { jsx } from '@emotion/react'\n\nclass Thing {\n  static SomeComponent = styled.div`\n    color: hotpink;\n  `\n  BadIdeaComponent = styled.div`\n    background: hotpink;\n  `\n}\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/styled-macro/__fixtures__/label-member-expression.js",
    "content": "/** @jsx jsx */\nimport styled from '@emotion/styled/macro'\nimport { jsx } from '@emotion/react'\n\nconst Timeline = styled.ul``\nTimeline.Item = styled.li``\nTimeline.Item.Anchor = styled.a``\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/styled-macro/__fixtures__/label-sanitize.js",
    "content": "/** @jsx jsx */\n/* eslint-disable react/jsx-pascal-case */\nimport styled from '@emotion/styled/macro'\nimport { jsx } from '@emotion/react'\n\nconst MiniCalWrap$ = styled.div`\n  color: red;\n`\nconst Test = () => <MiniCalWrap$ />\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/styled-macro/__fixtures__/label.js",
    "content": "/** @jsx jsx */\n/* eslint-disable react/jsx-pascal-case */\nimport styled from '@emotion/styled/macro'\nimport { jsx } from '@emotion/react'\n\nlet SomeComp = styled.div({ color: 'hotpink' })\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/styled-macro/__fixtures__/more-than-10-interpolations.js",
    "content": "import styled from '@emotion/styled/macro'\n\n// yes, this was actually a bug at one point\nconst H1 = styled.h1`\n  text-decoration: ${'underline'};\n  border-right: solid blue ${54}px;\n  background: ${'white'};\n  color: ${'black'};\n  display: ${'block'};\n  border-radius: ${'3px'};\n  padding: ${'25px'};\n  width: ${'500px'};\n  z-index: ${100};\n  font-size: ${'18px'};\n  text-align: ${'center'};\n  border-left: ${p => p.theme.blue};\n`\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/styled-macro/__fixtures__/multiple-calls.js",
    "content": "import styled from '@emotion/styled/macro'\n\nconst SomeComponent = styled.div`\n  color: hotpink;\n`\n\nconst SomeOtherComponent = styled.button`\n  color: green;\n`\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/styled-macro/__fixtures__/native.js",
    "content": "import styled from '@emotion/native'\n\nstyled.View`\n  color: hotpink;\n`\n\nstyled.View({})\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/styled-macro/__fixtures__/no-call.js",
    "content": "import styled from '@emotion/styled/macro'\n\nexport let thing = styled\n\nconsole.log(styled)\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/styled-macro/__fixtures__/no-import.js",
    "content": "import '@emotion/styled'\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/styled-macro/__fixtures__/object-call-expression.js",
    "content": "import styled from '@emotion/styled/macro'\n\nconst SomeComponent = styled('div')({ color: 'hotpink' })\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/styled-macro/__fixtures__/object-function.js",
    "content": "import styled from '@emotion/styled/macro'\n\nconst SomeComponent = styled.div(props => ({ color: props.color }))\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/styled-macro/__fixtures__/object.js",
    "content": "import styled from '@emotion/styled/macro'\n\nconst SomeComponent = styled.div({ color: 'hotpink' })\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/styled-macro/__fixtures__/other-imports.js",
    "content": "import { something, otherThing } from '@emotion/styled'\n\nsomething()\notherThing()\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/styled-macro/__fixtures__/primitives-other-name.js",
    "content": "import something from '@emotion/primitives'\n\nsomething.View`\n  color: hotpink;\n`\n\nsomething.View({})\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/styled-macro/__fixtures__/primitives.js",
    "content": "import styled from '@emotion/primitives'\n\nstyled('SomeFakeComponent')`\n  color: hotpink;\n`\n\nstyled('SomeFakeComponent')({})\n\nstyled.View`\n  color: hotpink;\n`\n\nstyled.View({})\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/styled-macro/__fixtures__/same-nested-contex-value.js",
    "content": "import styled from '@emotion/styled/macro'\n\nexport const Comp = styled.div`\n  > div {\n    color: blue;\n\n    > div {\n      color: hotpink;\n    }\n  }\n`\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/styled-macro/__fixtures__/shorthand-property.js",
    "content": "import styled from '@emotion/styled/macro'\n\nlet fontSize = window.whatever\n\nconst H1 = styled.h1({ fontSize })\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/styled-macro/__fixtures__/two-consecutive-interpolations.js",
    "content": "import styled from '@emotion/styled/macro'\nimport { css } from '@emotion/react'\n\nconst H1 = styled.h1`\n  ${props => css`\n    color: red;\n  `}\n  /* dummy comment */\n  ${props => css`\n    text-transform: uppercase;\n  `}\n`\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/styled-macro/__fixtures__/with-spread.js",
    "content": "import styled from '@emotion/styled/macro'\n\nconst H1 = styled.h1({ ...window.whatever })\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/styled-macro/__snapshots__/index.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`@emotion/styled.macro already-transpiled-by-babel 1`] = `\n\"/* eslint-disable */\nimport styled from '@emotion/styled/macro'\nimport _taggedTemplateLiteralLoose from '@babel/runtime/helpers/esm/taggedTemplateLiteralLoose'\n\nfunction _templateObject() {\n  var data = _taggedTemplateLiteralLoose(['\\\\n    color: hotpink;\\\\n  '])\n\n  _templateObject = function _templateObject() {\n    return data\n  }\n\n  return data\n}\n\n// source maps should not be appended\nconst SomeComponent = styled('div')(_templateObject())\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport _styled from \"@emotion/styled/base\";\n\n/* eslint-disable */\nimport _taggedTemplateLiteralLoose from '@babel/runtime/helpers/esm/taggedTemplateLiteralLoose';\n\nfunction _templateObject() {\n  var data = _taggedTemplateLiteralLoose(['\\\\n    color: hotpink;\\\\n  ']);\n\n  _templateObject = function _templateObject() {\n    return data;\n  };\n\n  return data;\n} // source maps should not be appended\n\n\nconst SomeComponent = /*#__PURE__*/_styled('div', process.env.NODE_ENV === \"production\" ? {\n  target: \"ec90nws0\"\n} : {\n  target: \"ec90nws0\",\n  label: \"SomeComponent\"\n})(_templateObject());\"\n`;\n\nexports[`@emotion/styled.macro auto-inserted-rule-in-at-rule-preceeded-by-interpolation 1`] = `\n\"import styled from '@emotion/styled/macro'\nimport { css } from '@emotion/react'\n\nconst fullWidth = css\\`\n  width: 100%;\n\\`\n\nconst StyledRoot = styled.div\\`\n  \\${fullWidth}\n\n  button {\n    @media (min-width: 768px) {\n      color: red;\n    }\n  }\n\\`\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport _styled from \"@emotion/styled/base\";\nimport { css } from '@emotion/react';\nconst fullWidth = css\\`\n  width: 100%;\n\\`;\n\nconst StyledRoot = /*#__PURE__*/_styled(\"div\", process.env.NODE_ENV === \"production\" ? {\n  target: \"e10xv6gg0\"\n} : {\n  target: \"e10xv6gg0\",\n  label: \"StyledRoot\"\n})(fullWidth, \" button{@media (min-width: 768px){color:red;}}\" + (process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImF1dG8taW5zZXJ0ZWQtcnVsZS1pbi1hdC1ydWxlLXByZWNlZWRlZC1ieS1pbnRlcnBvbGF0aW9uLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU82QiIsImZpbGUiOiJhdXRvLWluc2VydGVkLXJ1bGUtaW4tYXQtcnVsZS1wcmVjZWVkZWQtYnktaW50ZXJwb2xhdGlvbi5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkL21hY3JvJ1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5cbmNvbnN0IGZ1bGxXaWR0aCA9IGNzc2BcbiAgd2lkdGg6IDEwMCU7XG5gXG5cbmNvbnN0IFN0eWxlZFJvb3QgPSBzdHlsZWQuZGl2YFxuICAke2Z1bGxXaWR0aH1cblxuICBidXR0b24ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgY29sb3I6IHJlZDtcbiAgICB9XG4gIH1cbmBcbiJdfQ== */\"));\"\n`;\n\nexports[`@emotion/styled.macro basic 1`] = `\n\"import styled from '@emotion/styled/macro'\n\nconst SomeComponent = styled.div\\`\n  color: hotpink;\n\\`\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport _styled from \"@emotion/styled/base\";\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nconst SomeComponent = /*#__PURE__*/_styled(\"div\", process.env.NODE_ENV === \"production\" ? {\n  target: \"el9tp5g0\"\n} : {\n  target: \"el9tp5g0\",\n  label: \"SomeComponent\"\n})(process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJhc2ljLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVnQyIsImZpbGUiOiJiYXNpYy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkL21hY3JvJ1xuXG5jb25zdCBTb21lQ29tcG9uZW50ID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6IGhvdHBpbms7XG5gXG4iXX0= */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\"\n`;\n\nexports[`@emotion/styled.macro call-expression 1`] = `\n\"import styled from '@emotion/styled/macro'\n\nconst SomeComponent = styled('div')\\`\n  color: hotpink;\n\\`\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport _styled from \"@emotion/styled/base\";\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nconst SomeComponent = /*#__PURE__*/_styled('div', process.env.NODE_ENV === \"production\" ? {\n  target: \"elbjn3a0\"\n} : {\n  target: \"elbjn3a0\",\n  label: \"SomeComponent\"\n})(process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNhbGwtZXhwcmVzc2lvbi5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFbUMiLCJmaWxlIjoiY2FsbC1leHByZXNzaW9uLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQvbWFjcm8nXG5cbmNvbnN0IFNvbWVDb21wb25lbnQgPSBzdHlsZWQoJ2RpdicpYFxuICBjb2xvcjogaG90cGluaztcbmBcbiJdfQ== */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\"\n`;\n\nexports[`@emotion/styled.macro comments 1`] = `\n\"import styled from '@emotion/styled/macro'\n\nstyled.div\\`\n  // display:flex;\n\n  /*\nwef\n\ndfwf */\n  color: hotpink;\n\\`\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport _styled from \"@emotion/styled/base\";\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\n/*#__PURE__*/\n_styled(\"div\", {\n  target: \"e1jqiiye0\"\n})(process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbW1lbnRzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVVIiwiZmlsZSI6ImNvbW1lbnRzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQvbWFjcm8nXG5cbnN0eWxlZC5kaXZgXG4gIC8vIGRpc3BsYXk6ZmxleDtcblxuICAvKlxud2VmXG5cbmRmd2YgKi9cbiAgY29sb3I6IGhvdHBpbms7XG5gXG4iXX0= */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\"\n`;\n\nexports[`@emotion/styled.macro component-selector 1`] = `\n\"import styled from '@emotion/styled/macro'\n\nconst SomeComponent = styled.div\\`\n  color: hotpink;\n\\`\n\nlet SomeOtherComponent = styled.div({ color: 'hotpink' })\n\nlet AnotherComponent = styled.div\\`\n  \\${SomeComponent} {\n    color: green;\n  }\n  \\${SomeOtherComponent} {\n    color: green;\n  }\n\\`\n\nlet OneLastComponent = styled.div({\n  [SomeComponent]: {\n    color: 'green'\n  },\n  [SomeOtherComponent]: {\n    color: 'green'\n  }\n})\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport _styled from \"@emotion/styled/base\";\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nconst SomeComponent = /*#__PURE__*/_styled(\"div\", process.env.NODE_ENV === \"production\" ? {\n  target: \"e1i93zq73\"\n} : {\n  target: \"e1i93zq73\",\n  label: \"SomeComponent\"\n})(process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudC1zZWxlY3Rvci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFZ0MiLCJmaWxlIjoiY29tcG9uZW50LXNlbGVjdG9yLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQvbWFjcm8nXG5cbmNvbnN0IFNvbWVDb21wb25lbnQgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogaG90cGluaztcbmBcblxubGV0IFNvbWVPdGhlckNvbXBvbmVudCA9IHN0eWxlZC5kaXYoeyBjb2xvcjogJ2hvdHBpbmsnIH0pXG5cbmxldCBBbm90aGVyQ29tcG9uZW50ID0gc3R5bGVkLmRpdmBcbiAgJHtTb21lQ29tcG9uZW50fSB7XG4gICAgY29sb3I6IGdyZWVuO1xuICB9XG4gICR7U29tZU90aGVyQ29tcG9uZW50fSB7XG4gICAgY29sb3I6IGdyZWVuO1xuICB9XG5gXG5cbmxldCBPbmVMYXN0Q29tcG9uZW50ID0gc3R5bGVkLmRpdih7XG4gIFtTb21lQ29tcG9uZW50XToge1xuICAgIGNvbG9yOiAnZ3JlZW4nXG4gIH0sXG4gIFtTb21lT3RoZXJDb21wb25lbnRdOiB7XG4gICAgY29sb3I6ICdncmVlbidcbiAgfVxufSlcbiJdfQ== */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\n\nlet SomeOtherComponent = /*#__PURE__*/_styled(\"div\", process.env.NODE_ENV === \"production\" ? {\n  target: \"e1i93zq72\"\n} : {\n  target: \"e1i93zq72\",\n  label: \"SomeOtherComponent\"\n})(process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudC1zZWxlY3Rvci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNeUIiLCJmaWxlIjoiY29tcG9uZW50LXNlbGVjdG9yLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQvbWFjcm8nXG5cbmNvbnN0IFNvbWVDb21wb25lbnQgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogaG90cGluaztcbmBcblxubGV0IFNvbWVPdGhlckNvbXBvbmVudCA9IHN0eWxlZC5kaXYoeyBjb2xvcjogJ2hvdHBpbmsnIH0pXG5cbmxldCBBbm90aGVyQ29tcG9uZW50ID0gc3R5bGVkLmRpdmBcbiAgJHtTb21lQ29tcG9uZW50fSB7XG4gICAgY29sb3I6IGdyZWVuO1xuICB9XG4gICR7U29tZU90aGVyQ29tcG9uZW50fSB7XG4gICAgY29sb3I6IGdyZWVuO1xuICB9XG5gXG5cbmxldCBPbmVMYXN0Q29tcG9uZW50ID0gc3R5bGVkLmRpdih7XG4gIFtTb21lQ29tcG9uZW50XToge1xuICAgIGNvbG9yOiAnZ3JlZW4nXG4gIH0sXG4gIFtTb21lT3RoZXJDb21wb25lbnRdOiB7XG4gICAgY29sb3I6ICdncmVlbidcbiAgfVxufSlcbiJdfQ== */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\n\nlet AnotherComponent = /*#__PURE__*/_styled(\"div\", process.env.NODE_ENV === \"production\" ? {\n  target: \"e1i93zq71\"\n} : {\n  target: \"e1i93zq71\",\n  label: \"AnotherComponent\"\n})(SomeComponent, \"{color:green;}\", SomeOtherComponent, \"{color:green;}\" + (process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudC1zZWxlY3Rvci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRaUMiLCJmaWxlIjoiY29tcG9uZW50LXNlbGVjdG9yLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQvbWFjcm8nXG5cbmNvbnN0IFNvbWVDb21wb25lbnQgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogaG90cGluaztcbmBcblxubGV0IFNvbWVPdGhlckNvbXBvbmVudCA9IHN0eWxlZC5kaXYoeyBjb2xvcjogJ2hvdHBpbmsnIH0pXG5cbmxldCBBbm90aGVyQ29tcG9uZW50ID0gc3R5bGVkLmRpdmBcbiAgJHtTb21lQ29tcG9uZW50fSB7XG4gICAgY29sb3I6IGdyZWVuO1xuICB9XG4gICR7U29tZU90aGVyQ29tcG9uZW50fSB7XG4gICAgY29sb3I6IGdyZWVuO1xuICB9XG5gXG5cbmxldCBPbmVMYXN0Q29tcG9uZW50ID0gc3R5bGVkLmRpdih7XG4gIFtTb21lQ29tcG9uZW50XToge1xuICAgIGNvbG9yOiAnZ3JlZW4nXG4gIH0sXG4gIFtTb21lT3RoZXJDb21wb25lbnRdOiB7XG4gICAgY29sb3I6ICdncmVlbidcbiAgfVxufSlcbiJdfQ== */\"));\n\nlet OneLastComponent = /*#__PURE__*/_styled(\"div\", process.env.NODE_ENV === \"production\" ? {\n  target: \"e1i93zq70\"\n} : {\n  target: \"e1i93zq70\",\n  label: \"OneLastComponent\"\n})({\n  [SomeComponent]: {\n    color: 'green'\n  },\n  [SomeOtherComponent]: {\n    color: 'green'\n  }\n}, process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudC1zZWxlY3Rvci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFpQnVCIiwiZmlsZSI6ImNvbXBvbmVudC1zZWxlY3Rvci5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkL21hY3JvJ1xuXG5jb25zdCBTb21lQ29tcG9uZW50ID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6IGhvdHBpbms7XG5gXG5cbmxldCBTb21lT3RoZXJDb21wb25lbnQgPSBzdHlsZWQuZGl2KHsgY29sb3I6ICdob3RwaW5rJyB9KVxuXG5sZXQgQW5vdGhlckNvbXBvbmVudCA9IHN0eWxlZC5kaXZgXG4gICR7U29tZUNvbXBvbmVudH0ge1xuICAgIGNvbG9yOiBncmVlbjtcbiAgfVxuICAke1NvbWVPdGhlckNvbXBvbmVudH0ge1xuICAgIGNvbG9yOiBncmVlbjtcbiAgfVxuYFxuXG5sZXQgT25lTGFzdENvbXBvbmVudCA9IHN0eWxlZC5kaXYoe1xuICBbU29tZUNvbXBvbmVudF06IHtcbiAgICBjb2xvcjogJ2dyZWVuJ1xuICB9LFxuICBbU29tZU90aGVyQ29tcG9uZW50XToge1xuICAgIGNvbG9yOiAnZ3JlZW4nXG4gIH1cbn0pXG4iXX0= */\");\"\n`;\n\nexports[`@emotion/styled.macro existing-options 1`] = `\n\"import styled from '@emotion/styled/macro'\n\nstyled('div', { shouldForwardProp: window.whatever }, window.whatever)()\n\nstyled('div', { shouldForwardProp: window.whatever }, window.whatever)\\`\\`\n\nstyled(\n  window.whatever,\n  { shouldForwardProp: window.whatever },\n  window.whatever\n)()\n\nstyled(\n  window.whatever,\n  { shouldForwardProp: window.whatever },\n  window.whatever\n)\\`\\`\n\nconst cfg = { shouldForwardProp: window.whatever }\nstyled('button', cfg)({})\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport _styled from \"@emotion/styled/base\";\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\n/*#__PURE__*/\n_styled('div', {\n  shouldForwardProp: window.whatever,\n  target: \"e4yan9t4\"\n}, window.whatever)(process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImV4aXN0aW5nLW9wdGlvbnMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEiLCJmaWxlIjoiZXhpc3Rpbmctb3B0aW9ucy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkL21hY3JvJ1xuXG5zdHlsZWQoJ2RpdicsIHsgc2hvdWxkRm9yd2FyZFByb3A6IHdpbmRvdy53aGF0ZXZlciB9LCB3aW5kb3cud2hhdGV2ZXIpKClcblxuc3R5bGVkKCdkaXYnLCB7IHNob3VsZEZvcndhcmRQcm9wOiB3aW5kb3cud2hhdGV2ZXIgfSwgd2luZG93LndoYXRldmVyKWBgXG5cbnN0eWxlZChcbiAgd2luZG93LndoYXRldmVyLFxuICB7IHNob3VsZEZvcndhcmRQcm9wOiB3aW5kb3cud2hhdGV2ZXIgfSxcbiAgd2luZG93LndoYXRldmVyXG4pKClcblxuc3R5bGVkKFxuICB3aW5kb3cud2hhdGV2ZXIsXG4gIHsgc2hvdWxkRm9yd2FyZFByb3A6IHdpbmRvdy53aGF0ZXZlciB9LFxuICB3aW5kb3cud2hhdGV2ZXJcbilgYFxuXG5jb25zdCBjZmcgPSB7IHNob3VsZEZvcndhcmRQcm9wOiB3aW5kb3cud2hhdGV2ZXIgfVxuc3R5bGVkKCdidXR0b24nLCBjZmcpKHt9KVxuIl19 */\");\n\n/*#__PURE__*/\n_styled('div', {\n  shouldForwardProp: window.whatever,\n  target: \"e4yan9t3\"\n}, window.whatever)(process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImV4aXN0aW5nLW9wdGlvbnMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSXNFIiwiZmlsZSI6ImV4aXN0aW5nLW9wdGlvbnMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZC9tYWNybydcblxuc3R5bGVkKCdkaXYnLCB7IHNob3VsZEZvcndhcmRQcm9wOiB3aW5kb3cud2hhdGV2ZXIgfSwgd2luZG93LndoYXRldmVyKSgpXG5cbnN0eWxlZCgnZGl2JywgeyBzaG91bGRGb3J3YXJkUHJvcDogd2luZG93LndoYXRldmVyIH0sIHdpbmRvdy53aGF0ZXZlcilgYFxuXG5zdHlsZWQoXG4gIHdpbmRvdy53aGF0ZXZlcixcbiAgeyBzaG91bGRGb3J3YXJkUHJvcDogd2luZG93LndoYXRldmVyIH0sXG4gIHdpbmRvdy53aGF0ZXZlclxuKSgpXG5cbnN0eWxlZChcbiAgd2luZG93LndoYXRldmVyLFxuICB7IHNob3VsZEZvcndhcmRQcm9wOiB3aW5kb3cud2hhdGV2ZXIgfSxcbiAgd2luZG93LndoYXRldmVyXG4pYGBcblxuY29uc3QgY2ZnID0geyBzaG91bGRGb3J3YXJkUHJvcDogd2luZG93LndoYXRldmVyIH1cbnN0eWxlZCgnYnV0dG9uJywgY2ZnKSh7fSlcbiJdfQ== */\");\n\n/*#__PURE__*/\n_styled(window.whatever, {\n  shouldForwardProp: window.whatever,\n  target: \"e4yan9t2\"\n}, window.whatever)(process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImV4aXN0aW5nLW9wdGlvbnMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEiLCJmaWxlIjoiZXhpc3Rpbmctb3B0aW9ucy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkL21hY3JvJ1xuXG5zdHlsZWQoJ2RpdicsIHsgc2hvdWxkRm9yd2FyZFByb3A6IHdpbmRvdy53aGF0ZXZlciB9LCB3aW5kb3cud2hhdGV2ZXIpKClcblxuc3R5bGVkKCdkaXYnLCB7IHNob3VsZEZvcndhcmRQcm9wOiB3aW5kb3cud2hhdGV2ZXIgfSwgd2luZG93LndoYXRldmVyKWBgXG5cbnN0eWxlZChcbiAgd2luZG93LndoYXRldmVyLFxuICB7IHNob3VsZEZvcndhcmRQcm9wOiB3aW5kb3cud2hhdGV2ZXIgfSxcbiAgd2luZG93LndoYXRldmVyXG4pKClcblxuc3R5bGVkKFxuICB3aW5kb3cud2hhdGV2ZXIsXG4gIHsgc2hvdWxkRm9yd2FyZFByb3A6IHdpbmRvdy53aGF0ZXZlciB9LFxuICB3aW5kb3cud2hhdGV2ZXJcbilgYFxuXG5jb25zdCBjZmcgPSB7IHNob3VsZEZvcndhcmRQcm9wOiB3aW5kb3cud2hhdGV2ZXIgfVxuc3R5bGVkKCdidXR0b24nLCBjZmcpKHt9KVxuIl19 */\");\n\n/*#__PURE__*/\n_styled(window.whatever, {\n  shouldForwardProp: window.whatever,\n  target: \"e4yan9t1\"\n}, window.whatever)(process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImV4aXN0aW5nLW9wdGlvbnMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZ0JDIiwiZmlsZSI6ImV4aXN0aW5nLW9wdGlvbnMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZC9tYWNybydcblxuc3R5bGVkKCdkaXYnLCB7IHNob3VsZEZvcndhcmRQcm9wOiB3aW5kb3cud2hhdGV2ZXIgfSwgd2luZG93LndoYXRldmVyKSgpXG5cbnN0eWxlZCgnZGl2JywgeyBzaG91bGRGb3J3YXJkUHJvcDogd2luZG93LndoYXRldmVyIH0sIHdpbmRvdy53aGF0ZXZlcilgYFxuXG5zdHlsZWQoXG4gIHdpbmRvdy53aGF0ZXZlcixcbiAgeyBzaG91bGRGb3J3YXJkUHJvcDogd2luZG93LndoYXRldmVyIH0sXG4gIHdpbmRvdy53aGF0ZXZlclxuKSgpXG5cbnN0eWxlZChcbiAgd2luZG93LndoYXRldmVyLFxuICB7IHNob3VsZEZvcndhcmRQcm9wOiB3aW5kb3cud2hhdGV2ZXIgfSxcbiAgd2luZG93LndoYXRldmVyXG4pYGBcblxuY29uc3QgY2ZnID0geyBzaG91bGRGb3J3YXJkUHJvcDogd2luZG93LndoYXRldmVyIH1cbnN0eWxlZCgnYnV0dG9uJywgY2ZnKSh7fSlcbiJdfQ== */\");\n\nconst cfg = {\n  shouldForwardProp: window.whatever\n};\n\n/*#__PURE__*/\n_styled('button', _extends({}, {\n  target: \"e4yan9t0\"\n}, cfg))(process.env.NODE_ENV === \"production\" ? {\n  name: \"0\",\n  styles: \"\"\n} : {\n  name: \"0\",\n  styles: \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImV4aXN0aW5nLW9wdGlvbnMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbUJBIiwiZmlsZSI6ImV4aXN0aW5nLW9wdGlvbnMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZC9tYWNybydcblxuc3R5bGVkKCdkaXYnLCB7IHNob3VsZEZvcndhcmRQcm9wOiB3aW5kb3cud2hhdGV2ZXIgfSwgd2luZG93LndoYXRldmVyKSgpXG5cbnN0eWxlZCgnZGl2JywgeyBzaG91bGRGb3J3YXJkUHJvcDogd2luZG93LndoYXRldmVyIH0sIHdpbmRvdy53aGF0ZXZlcilgYFxuXG5zdHlsZWQoXG4gIHdpbmRvdy53aGF0ZXZlcixcbiAgeyBzaG91bGRGb3J3YXJkUHJvcDogd2luZG93LndoYXRldmVyIH0sXG4gIHdpbmRvdy53aGF0ZXZlclxuKSgpXG5cbnN0eWxlZChcbiAgd2luZG93LndoYXRldmVyLFxuICB7IHNob3VsZEZvcndhcmRQcm9wOiB3aW5kb3cud2hhdGV2ZXIgfSxcbiAgd2luZG93LndoYXRldmVyXG4pYGBcblxuY29uc3QgY2ZnID0geyBzaG91bGRGb3J3YXJkUHJvcDogd2luZG93LndoYXRldmVyIH1cbnN0eWxlZCgnYnV0dG9uJywgY2ZnKSh7fSlcbiJdfQ== */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\"\n`;\n\nexports[`@emotion/styled.macro function-interpolation 1`] = `\n\"import styled from '@emotion/styled/macro'\n\nlet Avatar = styled.img\\`\n  width: 96px;\n  height: 96px;\n  border-radius: \\${props => props.theme.borderRadius};\n  border: 1px solid \\${props => props.theme.borderColor};\n\\`\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport _styled from \"@emotion/styled/base\";\n\nlet Avatar = /*#__PURE__*/_styled(\"img\", process.env.NODE_ENV === \"production\" ? {\n  target: \"e9o8e9e0\"\n} : {\n  target: \"e9o8e9e0\",\n  label: \"Avatar\"\n})(\"width:96px;height:96px;border-radius:\", props => props.theme.borderRadius, \";border:1px solid \", props => props.theme.borderColor, \";\" + (process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZ1bmN0aW9uLWludGVycG9sYXRpb24uanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRXVCIiwiZmlsZSI6ImZ1bmN0aW9uLWludGVycG9sYXRpb24uanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZC9tYWNybydcblxubGV0IEF2YXRhciA9IHN0eWxlZC5pbWdgXG4gIHdpZHRoOiA5NnB4O1xuICBoZWlnaHQ6IDk2cHg7XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYm9yZGVyOiAxcHggc29saWQgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5ib3JkZXJDb2xvcn07XG5gXG4iXX0= */\"));\"\n`;\n\nexports[`@emotion/styled.macro label 1`] = `\n\"/** @jsx jsx */\n/* eslint-disable react/jsx-pascal-case */\nimport styled from '@emotion/styled/macro'\nimport { jsx } from '@emotion/react'\n\nlet SomeComp = styled.div({ color: 'hotpink' })\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport _styled from \"@emotion/styled/base\";\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\n/** @jsx jsx */\n\n/* eslint-disable react/jsx-pascal-case */\nimport { jsx } from '@emotion/react';\n\nlet SomeComp = /*#__PURE__*/_styled(\"div\", process.env.NODE_ENV === \"production\" ? {\n  target: \"e2dh5500\"\n} : {\n  target: \"e2dh5500\",\n  label: \"SomeComp\"\n})(process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxhYmVsLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtlIiwiZmlsZSI6ImxhYmVsLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBqc3gganN4ICovXG4vKiBlc2xpbnQtZGlzYWJsZSByZWFjdC9qc3gtcGFzY2FsLWNhc2UgKi9cbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkL21hY3JvJ1xuaW1wb3J0IHsganN4IH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5cbmxldCBTb21lQ29tcCA9IHN0eWxlZC5kaXYoeyBjb2xvcjogJ2hvdHBpbmsnIH0pXG4iXX0= */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\"\n`;\n\nexports[`@emotion/styled.macro label-assignment-expression 1`] = `\n\"/** @jsx jsx */\nimport styled from '@emotion/styled/macro'\nimport { jsx } from '@emotion/react'\n\nlet Comp\nComp = styled.div\\`\\`\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport _styled from \"@emotion/styled/base\";\n\n/** @jsx jsx */\nimport { jsx } from '@emotion/react';\nlet Comp;\nComp = /*#__PURE__*/_styled(\"div\", process.env.NODE_ENV === \"production\" ? {\n  target: \"e16lswdj0\"\n} : {\n  target: \"e16lswdj0\",\n  label: \"Comp\"\n})(process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxhYmVsLWFzc2lnbm1lbnQtZXhwcmVzc2lvbi5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLaUIiLCJmaWxlIjoibGFiZWwtYXNzaWdubWVudC1leHByZXNzaW9uLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBqc3gganN4ICovXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZC9tYWNybydcbmltcG9ydCB7IGpzeCB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuXG5sZXQgQ29tcFxuQ29tcCA9IHN0eWxlZC5kaXZgYFxuIl19 */\");\"\n`;\n\nexports[`@emotion/styled.macro label-class-fields 1`] = `\n\"/** @jsx jsx */\nimport styled from '@emotion/styled/macro'\nimport { jsx } from '@emotion/react'\n\nclass Thing {\n  static SomeComponent = styled.div\\`\n    color: hotpink;\n  \\`\n  BadIdeaComponent = styled.div\\`\n    background: hotpink;\n  \\`\n}\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport _styled from \"@emotion/styled/base\";\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\n/** @jsx jsx */\nimport { jsx } from '@emotion/react';\n\nclass Thing {\n  static SomeComponent = /*#__PURE__*/_styled(\"div\", process.env.NODE_ENV === \"production\" ? {\n    target: \"e1s9kmbj1\"\n  } : {\n    target: \"e1s9kmbj1\",\n    label: \"SomeComponent\"\n  })(process.env.NODE_ENV === \"production\" ? {\n    name: \"3sn2xs\",\n    styles: \"color:hotpink\"\n  } : {\n    name: \"3sn2xs\",\n    styles: \"color:hotpink/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxhYmVsLWNsYXNzLWZpZWxkcy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLbUMiLCJmaWxlIjoibGFiZWwtY2xhc3MtZmllbGRzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBqc3gganN4ICovXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZC9tYWNybydcbmltcG9ydCB7IGpzeCB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuXG5jbGFzcyBUaGluZyB7XG4gIHN0YXRpYyBTb21lQ29tcG9uZW50ID0gc3R5bGVkLmRpdmBcbiAgICBjb2xvcjogaG90cGluaztcbiAgYFxuICBCYWRJZGVhQ29tcG9uZW50ID0gc3R5bGVkLmRpdmBcbiAgICBiYWNrZ3JvdW5kOiBob3RwaW5rO1xuICBgXG59XG4iXX0= */\",\n    toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n  });\n  BadIdeaComponent = /*#__PURE__*/_styled(\"div\", process.env.NODE_ENV === \"production\" ? {\n    target: \"e1s9kmbj0\"\n  } : {\n    target: \"e1s9kmbj0\",\n    label: \"BadIdeaComponent\"\n  })(process.env.NODE_ENV === \"production\" ? {\n    name: \"1nzpx79\",\n    styles: \"background:hotpink\"\n  } : {\n    name: \"1nzpx79\",\n    styles: \"background:hotpink/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxhYmVsLWNsYXNzLWZpZWxkcy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRK0IiLCJmaWxlIjoibGFiZWwtY2xhc3MtZmllbGRzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBqc3gganN4ICovXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZC9tYWNybydcbmltcG9ydCB7IGpzeCB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuXG5jbGFzcyBUaGluZyB7XG4gIHN0YXRpYyBTb21lQ29tcG9uZW50ID0gc3R5bGVkLmRpdmBcbiAgICBjb2xvcjogaG90cGluaztcbiAgYFxuICBCYWRJZGVhQ29tcG9uZW50ID0gc3R5bGVkLmRpdmBcbiAgICBiYWNrZ3JvdW5kOiBob3RwaW5rO1xuICBgXG59XG4iXX0= */\",\n    toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n  });\n}\"\n`;\n\nexports[`@emotion/styled.macro label-member-expression 1`] = `\n\"/** @jsx jsx */\nimport styled from '@emotion/styled/macro'\nimport { jsx } from '@emotion/react'\n\nconst Timeline = styled.ul\\`\\`\nTimeline.Item = styled.li\\`\\`\nTimeline.Item.Anchor = styled.a\\`\\`\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport _styled from \"@emotion/styled/base\";\n\n/** @jsx jsx */\nimport { jsx } from '@emotion/react';\n\nconst Timeline = /*#__PURE__*/_styled(\"ul\", process.env.NODE_ENV === \"production\" ? {\n  target: \"e1djkynu2\"\n} : {\n  target: \"e1djkynu2\",\n  label: \"Timeline\"\n})(process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxhYmVsLW1lbWJlci1leHByZXNzaW9uLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUkwQiIsImZpbGUiOiJsYWJlbC1tZW1iZXItZXhwcmVzc2lvbi5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBAanN4IGpzeCAqL1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQvbWFjcm8nXG5pbXBvcnQgeyBqc3ggfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcblxuY29uc3QgVGltZWxpbmUgPSBzdHlsZWQudWxgYFxuVGltZWxpbmUuSXRlbSA9IHN0eWxlZC5saWBgXG5UaW1lbGluZS5JdGVtLkFuY2hvciA9IHN0eWxlZC5hYGBcbiJdfQ== */\");\n\nTimeline.Item = /*#__PURE__*/_styled(\"li\", process.env.NODE_ENV === \"production\" ? {\n  target: \"e1djkynu1\"\n} : {\n  target: \"e1djkynu1\",\n  label: \"Timeline-Item\"\n})(process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxhYmVsLW1lbWJlci1leHByZXNzaW9uLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUt5QiIsImZpbGUiOiJsYWJlbC1tZW1iZXItZXhwcmVzc2lvbi5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBAanN4IGpzeCAqL1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQvbWFjcm8nXG5pbXBvcnQgeyBqc3ggfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcblxuY29uc3QgVGltZWxpbmUgPSBzdHlsZWQudWxgYFxuVGltZWxpbmUuSXRlbSA9IHN0eWxlZC5saWBgXG5UaW1lbGluZS5JdGVtLkFuY2hvciA9IHN0eWxlZC5hYGBcbiJdfQ== */\");\nTimeline.Item.Anchor = /*#__PURE__*/_styled(\"a\", process.env.NODE_ENV === \"production\" ? {\n  target: \"e1djkynu0\"\n} : {\n  target: \"e1djkynu0\",\n  label: \"Timeline-Item-Anchor\"\n})(process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxhYmVsLW1lbWJlci1leHByZXNzaW9uLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU0rQiIsImZpbGUiOiJsYWJlbC1tZW1iZXItZXhwcmVzc2lvbi5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBAanN4IGpzeCAqL1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQvbWFjcm8nXG5pbXBvcnQgeyBqc3ggfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcblxuY29uc3QgVGltZWxpbmUgPSBzdHlsZWQudWxgYFxuVGltZWxpbmUuSXRlbSA9IHN0eWxlZC5saWBgXG5UaW1lbGluZS5JdGVtLkFuY2hvciA9IHN0eWxlZC5hYGBcbiJdfQ== */\");\"\n`;\n\nexports[`@emotion/styled.macro label-sanitize 1`] = `\n\"/** @jsx jsx */\n/* eslint-disable react/jsx-pascal-case */\nimport styled from '@emotion/styled/macro'\nimport { jsx } from '@emotion/react'\n\nconst MiniCalWrap$ = styled.div\\`\n  color: red;\n\\`\nconst Test = () => <MiniCalWrap$ />\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport _styled from \"@emotion/styled/base\";\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\n/** @jsx jsx */\n\n/* eslint-disable react/jsx-pascal-case */\nimport { jsx } from '@emotion/react';\n\nconst MiniCalWrap$ = /*#__PURE__*/_styled(\"div\", process.env.NODE_ENV === \"production\" ? {\n  target: \"elww2rn0\"\n} : {\n  target: \"elww2rn0\",\n  label: \"MiniCalWrap-\"\n})(process.env.NODE_ENV === \"production\" ? {\n  name: \"hwfcu5\",\n  styles: \"color:red\"\n} : {\n  name: \"hwfcu5\",\n  styles: \"color:red/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxhYmVsLXNhbml0aXplLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUsrQiIsImZpbGUiOiJsYWJlbC1zYW5pdGl6ZS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBAanN4IGpzeCAqL1xuLyogZXNsaW50LWRpc2FibGUgcmVhY3QvanN4LXBhc2NhbC1jYXNlICovXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZC9tYWNybydcbmltcG9ydCB7IGpzeCB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuXG5jb25zdCBNaW5pQ2FsV3JhcCQgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogcmVkO1xuYFxuY29uc3QgVGVzdCA9ICgpID0+IDxNaW5pQ2FsV3JhcCQgLz5cbiJdfQ== */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\n\nconst Test = () => <MiniCalWrap$ />;\"\n`;\n\nexports[`@emotion/styled.macro more-than-10-interpolations 1`] = `\n\"import styled from '@emotion/styled/macro'\n\n// yes, this was actually a bug at one point\nconst H1 = styled.h1\\`\n  text-decoration: \\${'underline'};\n  border-right: solid blue \\${54}px;\n  background: \\${'white'};\n  color: \\${'black'};\n  display: \\${'block'};\n  border-radius: \\${'3px'};\n  padding: \\${'25px'};\n  width: \\${'500px'};\n  z-index: \\${100};\n  font-size: \\${'18px'};\n  text-align: \\${'center'};\n  border-left: \\${p => p.theme.blue};\n\\`\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport _styled from \"@emotion/styled/base\";\n\n// yes, this was actually a bug at one point\nconst H1 = /*#__PURE__*/_styled(\"h1\", process.env.NODE_ENV === \"production\" ? {\n  target: \"e1nqrpma0\"\n} : {\n  target: \"e1nqrpma0\",\n  label: \"H1\"\n})(\"text-decoration:underline;border-right:solid blue \", 54, \"px;background:white;color:black;display:block;border-radius:3px;padding:25px;width:500px;z-index:\", 100, \";font-size:18px;text-align:center;border-left:\", p => p.theme.blue, \";\" + (process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1vcmUtdGhhbi0xMC1pbnRlcnBvbGF0aW9ucy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHb0IiLCJmaWxlIjoibW9yZS10aGFuLTEwLWludGVycG9sYXRpb25zLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQvbWFjcm8nXG5cbi8vIHllcywgdGhpcyB3YXMgYWN0dWFsbHkgYSBidWcgYXQgb25lIHBvaW50XG5jb25zdCBIMSA9IHN0eWxlZC5oMWBcbiAgdGV4dC1kZWNvcmF0aW9uOiAkeyd1bmRlcmxpbmUnfTtcbiAgYm9yZGVyLXJpZ2h0OiBzb2xpZCBibHVlICR7NTR9cHg7XG4gIGJhY2tncm91bmQ6ICR7J3doaXRlJ307XG4gIGNvbG9yOiAkeydibGFjayd9O1xuICBkaXNwbGF5OiAkeydibG9jayd9O1xuICBib3JkZXItcmFkaXVzOiAkeyczcHgnfTtcbiAgcGFkZGluZzogJHsnMjVweCd9O1xuICB3aWR0aDogJHsnNTAwcHgnfTtcbiAgei1pbmRleDogJHsxMDB9O1xuICBmb250LXNpemU6ICR7JzE4cHgnfTtcbiAgdGV4dC1hbGlnbjogJHsnY2VudGVyJ307XG4gIGJvcmRlci1sZWZ0OiAke3AgPT4gcC50aGVtZS5ibHVlfTtcbmBcbiJdfQ== */\"));\"\n`;\n\nexports[`@emotion/styled.macro multiple-calls 1`] = `\n\"import styled from '@emotion/styled/macro'\n\nconst SomeComponent = styled.div\\`\n  color: hotpink;\n\\`\n\nconst SomeOtherComponent = styled.button\\`\n  color: green;\n\\`\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport _styled from \"@emotion/styled/base\";\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nconst SomeComponent = /*#__PURE__*/_styled(\"div\", process.env.NODE_ENV === \"production\" ? {\n  target: \"eqhyoqt1\"\n} : {\n  target: \"eqhyoqt1\",\n  label: \"SomeComponent\"\n})(process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm11bHRpcGxlLWNhbGxzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVnQyIsImZpbGUiOiJtdWx0aXBsZS1jYWxscy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkL21hY3JvJ1xuXG5jb25zdCBTb21lQ29tcG9uZW50ID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6IGhvdHBpbms7XG5gXG5cbmNvbnN0IFNvbWVPdGhlckNvbXBvbmVudCA9IHN0eWxlZC5idXR0b25gXG4gIGNvbG9yOiBncmVlbjtcbmBcbiJdfQ== */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\n\nconst SomeOtherComponent = /*#__PURE__*/_styled(\"button\", process.env.NODE_ENV === \"production\" ? {\n  target: \"eqhyoqt0\"\n} : {\n  target: \"eqhyoqt0\",\n  label: \"SomeOtherComponent\"\n})(process.env.NODE_ENV === \"production\" ? {\n  name: \"v98kxt\",\n  styles: \"color:green\"\n} : {\n  name: \"v98kxt\",\n  styles: \"color:green/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm11bHRpcGxlLWNhbGxzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU13QyIsImZpbGUiOiJtdWx0aXBsZS1jYWxscy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkL21hY3JvJ1xuXG5jb25zdCBTb21lQ29tcG9uZW50ID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6IGhvdHBpbms7XG5gXG5cbmNvbnN0IFNvbWVPdGhlckNvbXBvbmVudCA9IHN0eWxlZC5idXR0b25gXG4gIGNvbG9yOiBncmVlbjtcbmBcbiJdfQ== */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\"\n`;\n\nexports[`@emotion/styled.macro native 1`] = `\n\"import styled from '@emotion/native'\n\nstyled.View\\`\n  color: hotpink;\n\\`\n\nstyled.View({})\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport styled from '@emotion/native';\nstyled.View\\`\n  color: hotpink;\n\\`;\nstyled.View({});\"\n`;\n\nexports[`@emotion/styled.macro no-call 1`] = `\n\"import styled from '@emotion/styled/macro'\n\nexport let thing = styled\n\nconsole.log(styled)\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport styled from \"@emotion/styled\";\nexport let thing = styled;\nconsole.log(styled);\"\n`;\n\nexports[`@emotion/styled.macro no-import 1`] = `\n\"import '@emotion/styled'\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport '@emotion/styled';\"\n`;\n\nexports[`@emotion/styled.macro object 1`] = `\n\"import styled from '@emotion/styled/macro'\n\nconst SomeComponent = styled.div({ color: 'hotpink' })\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport _styled from \"@emotion/styled/base\";\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nconst SomeComponent = /*#__PURE__*/_styled(\"div\", process.env.NODE_ENV === \"production\" ? {\n  target: \"eyr3fbm0\"\n} : {\n  target: \"eyr3fbm0\",\n  label: \"SomeComponent\"\n})(process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm9iamVjdC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFc0IiLCJmaWxlIjoib2JqZWN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQvbWFjcm8nXG5cbmNvbnN0IFNvbWVDb21wb25lbnQgPSBzdHlsZWQuZGl2KHsgY29sb3I6ICdob3RwaW5rJyB9KVxuIl19 */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\"\n`;\n\nexports[`@emotion/styled.macro object-call-expression 1`] = `\n\"import styled from '@emotion/styled/macro'\n\nconst SomeComponent = styled('div')({ color: 'hotpink' })\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport _styled from \"@emotion/styled/base\";\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nconst SomeComponent = /*#__PURE__*/_styled('div', process.env.NODE_ENV === \"production\" ? {\n  target: \"e1cky9xc0\"\n} : {\n  target: \"e1cky9xc0\",\n  label: \"SomeComponent\"\n})(process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm9iamVjdC1jYWxsLWV4cHJlc3Npb24uanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRXNCIiwiZmlsZSI6Im9iamVjdC1jYWxsLWV4cHJlc3Npb24uanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZC9tYWNybydcblxuY29uc3QgU29tZUNvbXBvbmVudCA9IHN0eWxlZCgnZGl2JykoeyBjb2xvcjogJ2hvdHBpbmsnIH0pXG4iXX0= */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\"\n`;\n\nexports[`@emotion/styled.macro object-function 1`] = `\n\"import styled from '@emotion/styled/macro'\n\nconst SomeComponent = styled.div(props => ({ color: props.color }))\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport _styled from \"@emotion/styled/base\";\n\nconst SomeComponent = /*#__PURE__*/_styled(\"div\", process.env.NODE_ENV === \"production\" ? {\n  target: \"e14okpby0\"\n} : {\n  target: \"e14okpby0\",\n  label: \"SomeComponent\"\n})(props => ({\n  color: props.color\n}), process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm9iamVjdC1mdW5jdGlvbi5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFc0IiLCJmaWxlIjoib2JqZWN0LWZ1bmN0aW9uLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQvbWFjcm8nXG5cbmNvbnN0IFNvbWVDb21wb25lbnQgPSBzdHlsZWQuZGl2KHByb3BzID0+ICh7IGNvbG9yOiBwcm9wcy5jb2xvciB9KSlcbiJdfQ== */\");\"\n`;\n\nexports[`@emotion/styled.macro other-imports 1`] = `\n\"import { something, otherThing } from '@emotion/styled'\n\nsomething()\notherThing()\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport { something, otherThing } from '@emotion/styled';\nsomething();\notherThing();\"\n`;\n\nexports[`@emotion/styled.macro primitives 1`] = `\n\"import styled from '@emotion/primitives'\n\nstyled('SomeFakeComponent')\\`\n  color: hotpink;\n\\`\n\nstyled('SomeFakeComponent')({})\n\nstyled.View\\`\n  color: hotpink;\n\\`\n\nstyled.View({})\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport styled from '@emotion/primitives';\nstyled('SomeFakeComponent')\\`\n  color: hotpink;\n\\`;\nstyled('SomeFakeComponent')({});\nstyled.View\\`\n  color: hotpink;\n\\`;\nstyled.View({});\"\n`;\n\nexports[`@emotion/styled.macro primitives-other-name 1`] = `\n\"import something from '@emotion/primitives'\n\nsomething.View\\`\n  color: hotpink;\n\\`\n\nsomething.View({})\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport something from '@emotion/primitives';\nsomething.View\\`\n  color: hotpink;\n\\`;\nsomething.View({});\"\n`;\n\nexports[`@emotion/styled.macro same-nested-contex-value 1`] = `\n\"import styled from '@emotion/styled/macro'\n\nexport const Comp = styled.div\\`\n  > div {\n    color: blue;\n\n    > div {\n      color: hotpink;\n    }\n  }\n\\`\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport _styled from \"@emotion/styled/base\";\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nexport const Comp = /*#__PURE__*/_styled(\"div\", process.env.NODE_ENV === \"production\" ? {\n  target: \"e1dl4grl0\"\n} : {\n  target: \"e1dl4grl0\",\n  label: \"Comp\"\n})(process.env.NODE_ENV === \"production\" ? {\n  name: \"11tack0\",\n  styles: \">div{color:blue;>div{color:hotpink;}}\"\n} : {\n  name: \"11tack0\",\n  styles: \">div{color:blue;>div{color:hotpink;}}/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNhbWUtbmVzdGVkLWNvbnRleC12YWx1ZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFOEIiLCJmaWxlIjoic2FtZS1uZXN0ZWQtY29udGV4LXZhbHVlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQvbWFjcm8nXG5cbmV4cG9ydCBjb25zdCBDb21wID0gc3R5bGVkLmRpdmBcbiAgPiBkaXYge1xuICAgIGNvbG9yOiBibHVlO1xuXG4gICAgPiBkaXYge1xuICAgICAgY29sb3I6IGhvdHBpbms7XG4gICAgfVxuICB9XG5gXG4iXX0= */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\"\n`;\n\nexports[`@emotion/styled.macro shorthand-property 1`] = `\n\"import styled from '@emotion/styled/macro'\n\nlet fontSize = window.whatever\n\nconst H1 = styled.h1({ fontSize })\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport _styled from \"@emotion/styled/base\";\nlet fontSize = window.whatever;\n\nconst H1 = /*#__PURE__*/_styled(\"h1\", process.env.NODE_ENV === \"production\" ? {\n  target: \"e4pkhyn0\"\n} : {\n  target: \"e4pkhyn0\",\n  label: \"H1\"\n})({\n  fontSize\n}, process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNob3J0aGFuZC1wcm9wZXJ0eS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJVyIsImZpbGUiOiJzaG9ydGhhbmQtcHJvcGVydHkuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZC9tYWNybydcblxubGV0IGZvbnRTaXplID0gd2luZG93LndoYXRldmVyXG5cbmNvbnN0IEgxID0gc3R5bGVkLmgxKHsgZm9udFNpemUgfSlcbiJdfQ== */\");\"\n`;\n\nexports[`@emotion/styled.macro two-consecutive-interpolations 1`] = `\n\"import styled from '@emotion/styled/macro'\nimport { css } from '@emotion/react'\n\nconst H1 = styled.h1\\`\n  \\${props => css\\`\n    color: red;\n  \\`}\n  /* dummy comment */\n  \\${props => css\\`\n    text-transform: uppercase;\n  \\`}\n\\`\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport _styled from \"@emotion/styled/base\";\nimport { css } from '@emotion/react';\n\nconst H1 = /*#__PURE__*/_styled(\"h1\", process.env.NODE_ENV === \"production\" ? {\n  target: \"e45grep0\"\n} : {\n  target: \"e45grep0\",\n  label: \"H1\"\n})(props => css\\`\n    color: red;\n  \\`, props => css\\`\n    text-transform: uppercase;\n  \\`, \";\" + (process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInR3by1jb25zZWN1dGl2ZS1pbnRlcnBvbGF0aW9ucy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHb0IiLCJmaWxlIjoidHdvLWNvbnNlY3V0aXZlLWludGVycG9sYXRpb25zLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQvbWFjcm8nXG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcblxuY29uc3QgSDEgPSBzdHlsZWQuaDFgXG4gICR7cHJvcHMgPT4gY3NzYFxuICAgIGNvbG9yOiByZWQ7XG4gIGB9XG4gIC8qIGR1bW15IGNvbW1lbnQgKi9cbiAgJHtwcm9wcyA9PiBjc3NgXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYH1cbmBcbiJdfQ== */\"));\"\n`;\n\nexports[`@emotion/styled.macro with-spread 1`] = `\n\"import styled from '@emotion/styled/macro'\n\nconst H1 = styled.h1({ ...window.whatever })\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport _styled from \"@emotion/styled/base\";\n\nconst H1 = /*#__PURE__*/_styled(\"h1\", process.env.NODE_ENV === \"production\" ? {\n  target: \"e49hde00\"\n} : {\n  target: \"e49hde00\",\n  label: \"H1\"\n})({ ...window.whatever\n}, process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndpdGgtc3ByZWFkLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVXIiwiZmlsZSI6IndpdGgtc3ByZWFkLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQvbWFjcm8nXG5cbmNvbnN0IEgxID0gc3R5bGVkLmgxKHsgLi4ud2luZG93LndoYXRldmVyIH0pXG4iXX0= */\");\"\n`;\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/styled-macro/index.js",
    "content": "import babelTester from 'babel-tester'\n\nbabelTester('@emotion/styled.macro', __dirname)\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/styled-requires-options.js",
    "content": "import babelTester from 'babel-tester'\nimport plugin from '@emotion/babel-plugin'\n\nconst cases = {\n  'hash generation no file system': {\n    code: `\nimport styled from '@emotion/styled'\nstyled.h1\\`color:blue;\\`\n`,\n    plugins: [plugin],\n    babelFileName: undefined\n  },\n  'autoLabel set to never': {\n    code: `\nimport styled from '@emotion/styled'\nconst Foo = styled.h1\\`color:hotpink;\\`\n    `,\n    plugins: [[plugin, { autoLabel: 'never' }]],\n    babelFileName: __filename\n  }\n}\n\nbabelTester('styled inline', cases)\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/styled.js",
    "content": "import babelTester from 'babel-tester'\nimport plugin from '@emotion/babel-plugin'\nimport path from 'path'\n\nbabelTester(\n  'emotion-babel-plugin styled',\n  path.join(__dirname, 'styled-macro'),\n  {\n    plugins: [plugin],\n    transform: src => src.replace(/\\/macro/g, '')\n  }\n)\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/vanilla-emotion-macro/__fixtures__/comments.js",
    "content": "import { css } from '@emotion/css/macro'\n\ncss`\n  // display:flex;\n\n  /*\nwef\n\ndfwf*/\n  color: hotpink;\n`\n\ncss`\n  /* @noflip */\n  left: 1px;\n`\n\ncss`\n  left: 2px;\n\n  /* @noflip */\n  &.foo {\n    left: 3px;\n  }\n\n  &.zot {\n    /* @noflip */\n    right: 1px;\n  }\n`\n\ncss`\n  /* @whatever */\n  left: 4px;\n`\n\ncss`\n  left: 5px;\n\n  /* @whatever */\n  &.foo {\n    left: 6px;\n  }\n\n  &.zot {\n    /* @whatever */\n    right: 2px;\n  }\n`\n\ncss`\n  // @noflip should-be-removed\n  left: 7px;\n`\n\ncss`\n  // @shouldberemoved\n  left: 8px;\n`\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/vanilla-emotion-macro/__fixtures__/css-basic.js",
    "content": "import { css } from '@emotion/css/macro'\n\ncss`\n  margin: 12px 48px;\n  color: #ffffff;\n  display: flex;\n  flex: 1 0 auto;\n  color: blue;\n  @media (min-width: 420px) {\n    line-height: 40px;\n  }\n  width: ${window.whatever};\n`\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/vanilla-emotion-macro/__fixtures__/css-object.js",
    "content": "import { css } from '@emotion/css/macro'\n\nlet someCls = css({\n  color: window.whatever\n})\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/vanilla-emotion-macro/__fixtures__/does-not-minify-inside-content-property.js",
    "content": "import { css } from '@emotion/css/macro'\n\nconst cls1 = css`\n  content: '  {  }  ';\n`\n// prettier-ignore\nconst cls2 = css`\n  content: \"  {  }  \";\n`\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/vanilla-emotion-macro/__fixtures__/hoisting.js",
    "content": "import { css } from '@emotion/css/macro'\n\nfunction test() {\n  const cls1 = css`\n    font-size: 20px;\n    @media (min-width: 420px) {\n      color: blue;\n      ${css`\n        width: 96px;\n        height: 96px;\n      `};\n      line-height: 26px;\n    }\n    background: green;\n    ${{ backgroundColor: 'hotpink' }};\n  `\n\n  const cls2 = css`\n    ${{ color: 'blue' }};\n  `\n\n  const cls3 = css`\n    display: flex;\n    &:hover {\n      color: hotpink;\n    }\n  `\n  let outerVar = 'something'\n  function inner() {\n    const styles = { color: 'darkorchid' }\n    const color = 'aquamarine'\n\n    const cls4 = css`\n      ${cls3};\n      ${cls1};\n      ${{ color: 'darkorchid' }};\n      ${{ color }};\n      ${css`\n        height: 420px;\n        width: ${styles};\n      `};\n    `\n    let someCls = css`\n      color: ${outerVar};\n    `\n  }\n}\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/vanilla-emotion-macro/__fixtures__/inject-global-basic.js",
    "content": "import { injectGlobal } from '@emotion/css/macro'\n\ninjectGlobal`\n  body {\n    margin: 0;\n    padding: 0;\n    & > div {\n      display: flex;\n    }\n  }\n  html {\n    background: green;\n  }\n`\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/vanilla-emotion-macro/__fixtures__/inject-global-change-import.js",
    "content": "import { injectGlobal as inject } from '@emotion/css/macro'\n\ninject`\n  body {\n    margin: 0;\n    padding: 0;\n    & > div {\n      display: flex;\n    }\n  }\n  html {\n    background: green;\n  }\n`\n\nlet injectGlobal = window.whatever\n\ninjectGlobal`\n  body {\n    margin: 0;\n    padding: 0;\n    & > div {\n      display: flex;\n    }\n  }\n  html {\n    background: green;\n  }\n`\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/vanilla-emotion-macro/__fixtures__/inject-global-with-font-face.js",
    "content": "import { injectGlobal } from '@emotion/css/macro'\n\ninjectGlobal`\n  @font-face {\n    font-family: 'Patrick Hand SC';\n    font-style: normal;\n    font-weight: 400;\n    src: local('Patrick Hand SC'), local('PatrickHandSC-Regular'),\n      url(https://fonts.gstatic.com/s/patrickhandsc/v4/OYFWCgfCR-7uHIovjUZXsZ71Uis0Qeb9Gqo8IZV7ckE.woff2)\n        format('woff2');\n    unicode-range: U+0100-024f, U+1-1eff, U+20a0-20ab, U+20ad-20cf, U+2c60-2c7f,\n      U+A720-A7FF;\n  }\n`\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/vanilla-emotion-macro/__fixtures__/inject-global-with-interpolation.js",
    "content": "import { injectGlobal } from '@emotion/css/macro'\n\nlet display = window.whatever\n\ninjectGlobal`\n  body {\n    margin: 0;\n    padding: 0;\n    display: ${display};\n    & > div {\n      display: none;\n    }\n  }\n  html {\n    background: green;\n  }\n`\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/vanilla-emotion-macro/__fixtures__/keyframes-basic.js",
    "content": "import { keyframes } from '@emotion/css/macro'\n\nconst rotate360 = keyframes`\n  from {\n    transform: rotate(0deg);\n  }\n  to {\n    transform: rotate(360deg);\n  }\n`\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/vanilla-emotion-macro/__fixtures__/keyframes-with-interpolation.js",
    "content": "import { keyframes } from '@emotion/css/macro'\n\nlet endingRotation = window.whatever\n\nconst rotate360 = keyframes`\n  from {\n    transform: rotate(0deg);\n  }\n  to {\n    transform: rotate(${endingRotation});\n  }\n`\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/vanilla-emotion-macro/__fixtures__/nested-orphaned-pseudo.js",
    "content": "import { css } from '@emotion/css/macro'\n\n// whitespace before pseudo should be preserved\ncss`\n  & :hover {\n    color: hotpink;\n  }\n`\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/vanilla-emotion-macro/__fixtures__/object-label.js",
    "content": "import { css } from '@emotion/css/macro'\n\nlet obj = {\n  someProp: css({ color: 'green' }),\n  anotherProp: css({ color: 'hotpink' })\n}\nclass Thing {\n  static Prop = css({ color: 'yellow' })\n  BadIdea = css({ color: 'red' })\n}\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/vanilla-emotion-macro/__snapshots__/index.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`vanilla emotion comments 1`] = `\n\"import { css } from '@emotion/css/macro'\n\ncss\\`\n  // display:flex;\n\n  /*\nwef\n\ndfwf*/\n  color: hotpink;\n\\`\n\ncss\\`\n  /* @noflip */\n  left: 1px;\n\\`\n\ncss\\`\n  left: 2px;\n\n  /* @noflip */\n  &.foo {\n    left: 3px;\n  }\n\n  &.zot {\n    /* @noflip */\n    right: 1px;\n  }\n\\`\n\ncss\\`\n  /* @whatever */\n  left: 4px;\n\\`\n\ncss\\`\n  left: 5px;\n\n  /* @whatever */\n  &.foo {\n    left: 6px;\n  }\n\n  &.zot {\n    /* @whatever */\n    right: 2px;\n  }\n\\`\n\ncss\\`\n  // @noflip should-be-removed\n  left: 7px;\n\\`\n\ncss\\`\n  // @shouldberemoved\n  left: 8px;\n\\`\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { css } from \"@emotion/css\";\n\n/*#__PURE__*/\ncss(process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbW1lbnRzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVHIiwiZmlsZSI6ImNvbW1lbnRzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vY3NzL21hY3JvJ1xuXG5jc3NgXG4gIC8vIGRpc3BsYXk6ZmxleDtcblxuICAvKlxud2VmXG5cbmRmd2YqL1xuICBjb2xvcjogaG90cGluaztcbmBcblxuY3NzYFxuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IDFweDtcbmBcblxuY3NzYFxuICBsZWZ0OiAycHg7XG5cbiAgLyogQG5vZmxpcCAqL1xuICAmLmZvbyB7XG4gICAgbGVmdDogM3B4O1xuICB9XG5cbiAgJi56b3Qge1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICByaWdodDogMXB4O1xuICB9XG5gXG5cbmNzc2BcbiAgLyogQHdoYXRldmVyICovXG4gIGxlZnQ6IDRweDtcbmBcblxuY3NzYFxuICBsZWZ0OiA1cHg7XG5cbiAgLyogQHdoYXRldmVyICovXG4gICYuZm9vIHtcbiAgICBsZWZ0OiA2cHg7XG4gIH1cblxuICAmLnpvdCB7XG4gICAgLyogQHdoYXRldmVyICovXG4gICAgcmlnaHQ6IDJweDtcbiAgfVxuYFxuXG5jc3NgXG4gIC8vIEBub2ZsaXAgc2hvdWxkLWJlLXJlbW92ZWRcbiAgbGVmdDogN3B4O1xuYFxuXG5jc3NgXG4gIC8vIEBzaG91bGRiZXJlbW92ZWRcbiAgbGVmdDogOHB4O1xuYFxuIl19 */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\n\n/*#__PURE__*/\ncss(process.env.NODE_ENV === \"production\" ? {\n  name: \"14fte1c\",\n  styles: \"/* @noflip */left:1px\"\n} : {\n  name: \"14fte1c\",\n  styles: \"/* @noflip */left:1px/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbW1lbnRzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVlHIiwiZmlsZSI6ImNvbW1lbnRzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vY3NzL21hY3JvJ1xuXG5jc3NgXG4gIC8vIGRpc3BsYXk6ZmxleDtcblxuICAvKlxud2VmXG5cbmRmd2YqL1xuICBjb2xvcjogaG90cGluaztcbmBcblxuY3NzYFxuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IDFweDtcbmBcblxuY3NzYFxuICBsZWZ0OiAycHg7XG5cbiAgLyogQG5vZmxpcCAqL1xuICAmLmZvbyB7XG4gICAgbGVmdDogM3B4O1xuICB9XG5cbiAgJi56b3Qge1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICByaWdodDogMXB4O1xuICB9XG5gXG5cbmNzc2BcbiAgLyogQHdoYXRldmVyICovXG4gIGxlZnQ6IDRweDtcbmBcblxuY3NzYFxuICBsZWZ0OiA1cHg7XG5cbiAgLyogQHdoYXRldmVyICovXG4gICYuZm9vIHtcbiAgICBsZWZ0OiA2cHg7XG4gIH1cblxuICAmLnpvdCB7XG4gICAgLyogQHdoYXRldmVyICovXG4gICAgcmlnaHQ6IDJweDtcbiAgfVxuYFxuXG5jc3NgXG4gIC8vIEBub2ZsaXAgc2hvdWxkLWJlLXJlbW92ZWRcbiAgbGVmdDogN3B4O1xuYFxuXG5jc3NgXG4gIC8vIEBzaG91bGRiZXJlbW92ZWRcbiAgbGVmdDogOHB4O1xuYFxuIl19 */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\n\n/*#__PURE__*/\ncss(process.env.NODE_ENV === \"production\" ? {\n  name: \"hdn0xn\",\n  styles: \"left:2px;/* @noflip */&.foo{left:3px;}&.zot{/* @noflip */right:1px;}\"\n} : {\n  name: \"hdn0xn\",\n  styles: \"left:2px;/* @noflip */&.foo{left:3px;}&.zot{/* @noflip */right:1px;}/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbW1lbnRzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlCRyIsImZpbGUiOiJjb21tZW50cy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL2Nzcy9tYWNybydcblxuY3NzYFxuICAvLyBkaXNwbGF5OmZsZXg7XG5cbiAgLypcbndlZlxuXG5kZndmKi9cbiAgY29sb3I6IGhvdHBpbms7XG5gXG5cbmNzc2BcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiAxcHg7XG5gXG5cbmNzc2BcbiAgbGVmdDogMnB4O1xuXG4gIC8qIEBub2ZsaXAgKi9cbiAgJi5mb28ge1xuICAgIGxlZnQ6IDNweDtcbiAgfVxuXG4gICYuem90IHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgcmlnaHQ6IDFweDtcbiAgfVxuYFxuXG5jc3NgXG4gIC8qIEB3aGF0ZXZlciAqL1xuICBsZWZ0OiA0cHg7XG5gXG5cbmNzc2BcbiAgbGVmdDogNXB4O1xuXG4gIC8qIEB3aGF0ZXZlciAqL1xuICAmLmZvbyB7XG4gICAgbGVmdDogNnB4O1xuICB9XG5cbiAgJi56b3Qge1xuICAgIC8qIEB3aGF0ZXZlciAqL1xuICAgIHJpZ2h0OiAycHg7XG4gIH1cbmBcblxuY3NzYFxuICAvLyBAbm9mbGlwIHNob3VsZC1iZS1yZW1vdmVkXG4gIGxlZnQ6IDdweDtcbmBcblxuY3NzYFxuICAvLyBAc2hvdWxkYmVyZW1vdmVkXG4gIGxlZnQ6IDhweDtcbmBcbiJdfQ== */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\n\n/*#__PURE__*/\ncss(process.env.NODE_ENV === \"production\" ? {\n  name: \"m1e8pu\",\n  styles: \"/* @whatever */left:4px\"\n} : {\n  name: \"m1e8pu\",\n  styles: \"/* @whatever */left:4px/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbW1lbnRzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQStCRyIsImZpbGUiOiJjb21tZW50cy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL2Nzcy9tYWNybydcblxuY3NzYFxuICAvLyBkaXNwbGF5OmZsZXg7XG5cbiAgLypcbndlZlxuXG5kZndmKi9cbiAgY29sb3I6IGhvdHBpbms7XG5gXG5cbmNzc2BcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiAxcHg7XG5gXG5cbmNzc2BcbiAgbGVmdDogMnB4O1xuXG4gIC8qIEBub2ZsaXAgKi9cbiAgJi5mb28ge1xuICAgIGxlZnQ6IDNweDtcbiAgfVxuXG4gICYuem90IHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgcmlnaHQ6IDFweDtcbiAgfVxuYFxuXG5jc3NgXG4gIC8qIEB3aGF0ZXZlciAqL1xuICBsZWZ0OiA0cHg7XG5gXG5cbmNzc2BcbiAgbGVmdDogNXB4O1xuXG4gIC8qIEB3aGF0ZXZlciAqL1xuICAmLmZvbyB7XG4gICAgbGVmdDogNnB4O1xuICB9XG5cbiAgJi56b3Qge1xuICAgIC8qIEB3aGF0ZXZlciAqL1xuICAgIHJpZ2h0OiAycHg7XG4gIH1cbmBcblxuY3NzYFxuICAvLyBAbm9mbGlwIHNob3VsZC1iZS1yZW1vdmVkXG4gIGxlZnQ6IDdweDtcbmBcblxuY3NzYFxuICAvLyBAc2hvdWxkYmVyZW1vdmVkXG4gIGxlZnQ6IDhweDtcbmBcbiJdfQ== */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\n\n/*#__PURE__*/\ncss(process.env.NODE_ENV === \"production\" ? {\n  name: \"ldghp9\",\n  styles: \"left:5px;/* @whatever */&.foo{left:6px;}&.zot{/* @whatever */right:2px;}\"\n} : {\n  name: \"ldghp9\",\n  styles: \"left:5px;/* @whatever */&.foo{left:6px;}&.zot{/* @whatever */right:2px;}/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbW1lbnRzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW9DRyIsImZpbGUiOiJjb21tZW50cy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL2Nzcy9tYWNybydcblxuY3NzYFxuICAvLyBkaXNwbGF5OmZsZXg7XG5cbiAgLypcbndlZlxuXG5kZndmKi9cbiAgY29sb3I6IGhvdHBpbms7XG5gXG5cbmNzc2BcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiAxcHg7XG5gXG5cbmNzc2BcbiAgbGVmdDogMnB4O1xuXG4gIC8qIEBub2ZsaXAgKi9cbiAgJi5mb28ge1xuICAgIGxlZnQ6IDNweDtcbiAgfVxuXG4gICYuem90IHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgcmlnaHQ6IDFweDtcbiAgfVxuYFxuXG5jc3NgXG4gIC8qIEB3aGF0ZXZlciAqL1xuICBsZWZ0OiA0cHg7XG5gXG5cbmNzc2BcbiAgbGVmdDogNXB4O1xuXG4gIC8qIEB3aGF0ZXZlciAqL1xuICAmLmZvbyB7XG4gICAgbGVmdDogNnB4O1xuICB9XG5cbiAgJi56b3Qge1xuICAgIC8qIEB3aGF0ZXZlciAqL1xuICAgIHJpZ2h0OiAycHg7XG4gIH1cbmBcblxuY3NzYFxuICAvLyBAbm9mbGlwIHNob3VsZC1iZS1yZW1vdmVkXG4gIGxlZnQ6IDdweDtcbmBcblxuY3NzYFxuICAvLyBAc2hvdWxkYmVyZW1vdmVkXG4gIGxlZnQ6IDhweDtcbmBcbiJdfQ== */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\n\n/*#__PURE__*/\ncss(process.env.NODE_ENV === \"production\" ? {\n  name: \"o10ag4\",\n  styles: \"left:7px\"\n} : {\n  name: \"o10ag4\",\n  styles: \"left:7px/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbW1lbnRzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWtERyIsImZpbGUiOiJjb21tZW50cy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL2Nzcy9tYWNybydcblxuY3NzYFxuICAvLyBkaXNwbGF5OmZsZXg7XG5cbiAgLypcbndlZlxuXG5kZndmKi9cbiAgY29sb3I6IGhvdHBpbms7XG5gXG5cbmNzc2BcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiAxcHg7XG5gXG5cbmNzc2BcbiAgbGVmdDogMnB4O1xuXG4gIC8qIEBub2ZsaXAgKi9cbiAgJi5mb28ge1xuICAgIGxlZnQ6IDNweDtcbiAgfVxuXG4gICYuem90IHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgcmlnaHQ6IDFweDtcbiAgfVxuYFxuXG5jc3NgXG4gIC8qIEB3aGF0ZXZlciAqL1xuICBsZWZ0OiA0cHg7XG5gXG5cbmNzc2BcbiAgbGVmdDogNXB4O1xuXG4gIC8qIEB3aGF0ZXZlciAqL1xuICAmLmZvbyB7XG4gICAgbGVmdDogNnB4O1xuICB9XG5cbiAgJi56b3Qge1xuICAgIC8qIEB3aGF0ZXZlciAqL1xuICAgIHJpZ2h0OiAycHg7XG4gIH1cbmBcblxuY3NzYFxuICAvLyBAbm9mbGlwIHNob3VsZC1iZS1yZW1vdmVkXG4gIGxlZnQ6IDdweDtcbmBcblxuY3NzYFxuICAvLyBAc2hvdWxkYmVyZW1vdmVkXG4gIGxlZnQ6IDhweDtcbmBcbiJdfQ== */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\n\n/*#__PURE__*/\ncss(process.env.NODE_ENV === \"production\" ? {\n  name: \"zrl602\",\n  styles: \"left:8px\"\n} : {\n  name: \"zrl602\",\n  styles: \"left:8px/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbW1lbnRzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXVERyIsImZpbGUiOiJjb21tZW50cy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL2Nzcy9tYWNybydcblxuY3NzYFxuICAvLyBkaXNwbGF5OmZsZXg7XG5cbiAgLypcbndlZlxuXG5kZndmKi9cbiAgY29sb3I6IGhvdHBpbms7XG5gXG5cbmNzc2BcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiAxcHg7XG5gXG5cbmNzc2BcbiAgbGVmdDogMnB4O1xuXG4gIC8qIEBub2ZsaXAgKi9cbiAgJi5mb28ge1xuICAgIGxlZnQ6IDNweDtcbiAgfVxuXG4gICYuem90IHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgcmlnaHQ6IDFweDtcbiAgfVxuYFxuXG5jc3NgXG4gIC8qIEB3aGF0ZXZlciAqL1xuICBsZWZ0OiA0cHg7XG5gXG5cbmNzc2BcbiAgbGVmdDogNXB4O1xuXG4gIC8qIEB3aGF0ZXZlciAqL1xuICAmLmZvbyB7XG4gICAgbGVmdDogNnB4O1xuICB9XG5cbiAgJi56b3Qge1xuICAgIC8qIEB3aGF0ZXZlciAqL1xuICAgIHJpZ2h0OiAycHg7XG4gIH1cbmBcblxuY3NzYFxuICAvLyBAbm9mbGlwIHNob3VsZC1iZS1yZW1vdmVkXG4gIGxlZnQ6IDdweDtcbmBcblxuY3NzYFxuICAvLyBAc2hvdWxkYmVyZW1vdmVkXG4gIGxlZnQ6IDhweDtcbmBcbiJdfQ== */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\"\n`;\n\nexports[`vanilla emotion css-basic 1`] = `\n\"import { css } from '@emotion/css/macro'\n\ncss\\`\n  margin: 12px 48px;\n  color: #ffffff;\n  display: flex;\n  flex: 1 0 auto;\n  color: blue;\n  @media (min-width: 420px) {\n    line-height: 40px;\n  }\n  width: \\${window.whatever};\n\\`\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport { css } from \"@emotion/css\";\n\n/*#__PURE__*/\ncss(\"margin:12px 48px;color:#ffffff;display:flex;flex:1 0 auto;color:blue;@media (min-width: 420px){line-height:40px;}width:\", window.whatever, \";\" + (process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNzcy1iYXNpYy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFRyIsImZpbGUiOiJjc3MtYmFzaWMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jc3MvbWFjcm8nXG5cbmNzc2BcbiAgbWFyZ2luOiAxMnB4IDQ4cHg7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAxIDAgYXV0bztcbiAgY29sb3I6IGJsdWU7XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0MjBweCkge1xuICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICB9XG4gIHdpZHRoOiAke3dpbmRvdy53aGF0ZXZlcn07XG5gXG4iXX0= */\"));\"\n`;\n\nexports[`vanilla emotion css-object 1`] = `\n\"import { css } from '@emotion/css/macro'\n\nlet someCls = css({\n  color: window.whatever\n})\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport { css } from \"@emotion/css\";\nlet someCls = /*#__PURE__*/css({\n  color: window.whatever\n}, process.env.NODE_ENV === \"production\" ? \"\" : \";label:someCls;\", process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNzcy1vYmplY3QuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRWMiLCJmaWxlIjoiY3NzLW9iamVjdC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL2Nzcy9tYWNybydcblxubGV0IHNvbWVDbHMgPSBjc3Moe1xuICBjb2xvcjogd2luZG93LndoYXRldmVyXG59KVxuIl19 */\");\"\n`;\n\nexports[`vanilla emotion does-not-minify-inside-content-property 1`] = `\n\"import { css } from '@emotion/css/macro'\n\nconst cls1 = css\\`\n  content: '  {  }  ';\n\\`\n// prettier-ignore\nconst cls2 = css\\`\n  content: \"  {  }  \";\n\\`\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { css } from \"@emotion/css\";\nconst cls1 = /*#__PURE__*/css(process.env.NODE_ENV === \"production\" ? {\n  name: \"1bpoqk7\",\n  styles: \"content:'  {  }  '\"\n} : {\n  name: \"19tqhve-cls1\",\n  styles: \"content:'  {  }  ';label:cls1;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImRvZXMtbm90LW1pbmlmeS1pbnNpZGUtY29udGVudC1wcm9wZXJ0eS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFZ0IiLCJmaWxlIjoiZG9lcy1ub3QtbWluaWZ5LWluc2lkZS1jb250ZW50LXByb3BlcnR5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vY3NzL21hY3JvJ1xuXG5jb25zdCBjbHMxID0gY3NzYFxuICBjb250ZW50OiAnICB7ICB9ICAnO1xuYFxuLy8gcHJldHRpZXItaWdub3JlXG5jb25zdCBjbHMyID0gY3NzYFxuICBjb250ZW50OiBcIiAgeyAgfSAgXCI7XG5gXG4iXX0= */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n}); // prettier-ignore\n\nconst cls2 = /*#__PURE__*/css(process.env.NODE_ENV === \"production\" ? {\n  name: \"9pd1g7\",\n  styles: \"content:\\\\\"  {  }  \\\\\"\"\n} : {\n  name: \"16r822g-cls2\",\n  styles: \"content:\\\\\"  {  }  \\\\\";label:cls2;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImRvZXMtbm90LW1pbmlmeS1pbnNpZGUtY29udGVudC1wcm9wZXJ0eS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNZ0IiLCJmaWxlIjoiZG9lcy1ub3QtbWluaWZ5LWluc2lkZS1jb250ZW50LXByb3BlcnR5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vY3NzL21hY3JvJ1xuXG5jb25zdCBjbHMxID0gY3NzYFxuICBjb250ZW50OiAnICB7ICB9ICAnO1xuYFxuLy8gcHJldHRpZXItaWdub3JlXG5jb25zdCBjbHMyID0gY3NzYFxuICBjb250ZW50OiBcIiAgeyAgfSAgXCI7XG5gXG4iXX0= */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\"\n`;\n\nexports[`vanilla emotion hoisting 1`] = `\n\"import { css } from '@emotion/css/macro'\n\nfunction test() {\n  const cls1 = css\\`\n    font-size: 20px;\n    @media (min-width: 420px) {\n      color: blue;\n      \\${css\\`\n        width: 96px;\n        height: 96px;\n      \\`};\n      line-height: 26px;\n    }\n    background: green;\n    \\${{ backgroundColor: 'hotpink' }};\n  \\`\n\n  const cls2 = css\\`\n    \\${{ color: 'blue' }};\n  \\`\n\n  const cls3 = css\\`\n    display: flex;\n    &:hover {\n      color: hotpink;\n    }\n  \\`\n  let outerVar = 'something'\n  function inner() {\n    const styles = { color: 'darkorchid' }\n    const color = 'aquamarine'\n\n    const cls4 = css\\`\n      \\${cls3};\n      \\${cls1};\n      \\${{ color: 'darkorchid' }};\n      \\${{ color }};\n      \\${css\\`\n        height: 420px;\n        width: \\${styles};\n      \\`};\n    \\`\n    let someCls = css\\`\n      color: \\${outerVar};\n    \\`\n  }\n}\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { css } from \"@emotion/css\";\n\nfunction test() {\n  const cls1 = /*#__PURE__*/css(\"font-size:20px;@media (min-width: 420px){color:blue;\", /*#__PURE__*/css(process.env.NODE_ENV === \"production\" ? {\n    name: \"14ht2kb\",\n    styles: \"width:96px;height:96px\"\n  } : {\n    name: \"1ylk12k-cls1\",\n    styles: \"width:96px;height:96px;label:cls1;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImhvaXN0aW5nLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9XIiwiZmlsZSI6ImhvaXN0aW5nLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vY3NzL21hY3JvJ1xuXG5mdW5jdGlvbiB0ZXN0KCkge1xuICBjb25zdCBjbHMxID0gY3NzYFxuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDIwcHgpIHtcbiAgICAgIGNvbG9yOiBibHVlO1xuICAgICAgJHtjc3NgXG4gICAgICAgIHdpZHRoOiA5NnB4O1xuICAgICAgICBoZWlnaHQ6IDk2cHg7XG4gICAgICBgfTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgIH1cbiAgICBiYWNrZ3JvdW5kOiBncmVlbjtcbiAgICAke3sgYmFja2dyb3VuZENvbG9yOiAnaG90cGluaycgfX07XG4gIGBcblxuICBjb25zdCBjbHMyID0gY3NzYFxuICAgICR7eyBjb2xvcjogJ2JsdWUnIH19O1xuICBgXG5cbiAgY29uc3QgY2xzMyA9IGNzc2BcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6IGhvdHBpbms7XG4gICAgfVxuICBgXG4gIGxldCBvdXRlclZhciA9ICdzb21ldGhpbmcnXG4gIGZ1bmN0aW9uIGlubmVyKCkge1xuICAgIGNvbnN0IHN0eWxlcyA9IHsgY29sb3I6ICdkYXJrb3JjaGlkJyB9XG4gICAgY29uc3QgY29sb3IgPSAnYXF1YW1hcmluZSdcblxuICAgIGNvbnN0IGNsczQgPSBjc3NgXG4gICAgICAke2NsczN9O1xuICAgICAgJHtjbHMxfTtcbiAgICAgICR7eyBjb2xvcjogJ2RhcmtvcmNoaWQnIH19O1xuICAgICAgJHt7IGNvbG9yIH19O1xuICAgICAgJHtjc3NgXG4gICAgICAgIGhlaWdodDogNDIwcHg7XG4gICAgICAgIHdpZHRoOiAke3N0eWxlc307XG4gICAgICBgfTtcbiAgICBgXG4gICAgbGV0IHNvbWVDbHMgPSBjc3NgXG4gICAgICBjb2xvcjogJHtvdXRlclZhcn07XG4gICAgYFxuICB9XG59XG4iXX0= */\",\n    toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n  }), \";line-height:26px;}background:green;background-color:hotpink;;\" + (process.env.NODE_ENV === \"production\" ? \"\" : \";label:cls1;\"), process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImhvaXN0aW5nLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdrQiIsImZpbGUiOiJob2lzdGluZy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL2Nzcy9tYWNybydcblxuZnVuY3Rpb24gdGVzdCgpIHtcbiAgY29uc3QgY2xzMSA9IGNzc2BcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQyMHB4KSB7XG4gICAgICBjb2xvcjogYmx1ZTtcbiAgICAgICR7Y3NzYFxuICAgICAgICB3aWR0aDogOTZweDtcbiAgICAgICAgaGVpZ2h0OiA5NnB4O1xuICAgICAgYH07XG4gICAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgICB9XG4gICAgYmFja2dyb3VuZDogZ3JlZW47XG4gICAgJHt7IGJhY2tncm91bmRDb2xvcjogJ2hvdHBpbmsnIH19O1xuICBgXG5cbiAgY29uc3QgY2xzMiA9IGNzc2BcbiAgICAke3sgY29sb3I6ICdibHVlJyB9fTtcbiAgYFxuXG4gIGNvbnN0IGNsczMgPSBjc3NgXG4gICAgZGlzcGxheTogZmxleDtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiBob3RwaW5rO1xuICAgIH1cbiAgYFxuICBsZXQgb3V0ZXJWYXIgPSAnc29tZXRoaW5nJ1xuICBmdW5jdGlvbiBpbm5lcigpIHtcbiAgICBjb25zdCBzdHlsZXMgPSB7IGNvbG9yOiAnZGFya29yY2hpZCcgfVxuICAgIGNvbnN0IGNvbG9yID0gJ2FxdWFtYXJpbmUnXG5cbiAgICBjb25zdCBjbHM0ID0gY3NzYFxuICAgICAgJHtjbHMzfTtcbiAgICAgICR7Y2xzMX07XG4gICAgICAke3sgY29sb3I6ICdkYXJrb3JjaGlkJyB9fTtcbiAgICAgICR7eyBjb2xvciB9fTtcbiAgICAgICR7Y3NzYFxuICAgICAgICBoZWlnaHQ6IDQyMHB4O1xuICAgICAgICB3aWR0aDogJHtzdHlsZXN9O1xuICAgICAgYH07XG4gICAgYFxuICAgIGxldCBzb21lQ2xzID0gY3NzYFxuICAgICAgY29sb3I6ICR7b3V0ZXJWYXJ9O1xuICAgIGBcbiAgfVxufVxuIl19 */\");\n  const cls2 = /*#__PURE__*/css(process.env.NODE_ENV === \"production\" ? {\n    name: \"14ksm7b\",\n    styles: \"color:blue;\"\n  } : {\n    name: \"ca17a1-cls2\",\n    styles: \"color:blue;;label:cls2;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImhvaXN0aW5nLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlCa0IiLCJmaWxlIjoiaG9pc3RpbmcuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jc3MvbWFjcm8nXG5cbmZ1bmN0aW9uIHRlc3QoKSB7XG4gIGNvbnN0IGNsczEgPSBjc3NgXG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0MjBweCkge1xuICAgICAgY29sb3I6IGJsdWU7XG4gICAgICAke2Nzc2BcbiAgICAgICAgd2lkdGg6IDk2cHg7XG4gICAgICAgIGhlaWdodDogOTZweDtcbiAgICAgIGB9O1xuICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgfVxuICAgIGJhY2tncm91bmQ6IGdyZWVuO1xuICAgICR7eyBiYWNrZ3JvdW5kQ29sb3I6ICdob3RwaW5rJyB9fTtcbiAgYFxuXG4gIGNvbnN0IGNsczIgPSBjc3NgXG4gICAgJHt7IGNvbG9yOiAnYmx1ZScgfX07XG4gIGBcblxuICBjb25zdCBjbHMzID0gY3NzYFxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogaG90cGluaztcbiAgICB9XG4gIGBcbiAgbGV0IG91dGVyVmFyID0gJ3NvbWV0aGluZydcbiAgZnVuY3Rpb24gaW5uZXIoKSB7XG4gICAgY29uc3Qgc3R5bGVzID0geyBjb2xvcjogJ2RhcmtvcmNoaWQnIH1cbiAgICBjb25zdCBjb2xvciA9ICdhcXVhbWFyaW5lJ1xuXG4gICAgY29uc3QgY2xzNCA9IGNzc2BcbiAgICAgICR7Y2xzM307XG4gICAgICAke2NsczF9O1xuICAgICAgJHt7IGNvbG9yOiAnZGFya29yY2hpZCcgfX07XG4gICAgICAke3sgY29sb3IgfX07XG4gICAgICAke2Nzc2BcbiAgICAgICAgaGVpZ2h0OiA0MjBweDtcbiAgICAgICAgd2lkdGg6ICR7c3R5bGVzfTtcbiAgICAgIGB9O1xuICAgIGBcbiAgICBsZXQgc29tZUNscyA9IGNzc2BcbiAgICAgIGNvbG9yOiAke291dGVyVmFyfTtcbiAgICBgXG4gIH1cbn1cbiJdfQ== */\",\n    toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n  });\n  const cls3 = /*#__PURE__*/css(process.env.NODE_ENV === \"production\" ? {\n    name: \"a21n9o\",\n    styles: \"display:flex;&:hover{color:hotpink;}\"\n  } : {\n    name: \"1m06t0b-cls3\",\n    styles: \"display:flex;&:hover{color:hotpink;};label:cls3;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImhvaXN0aW5nLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXFCa0IiLCJmaWxlIjoiaG9pc3RpbmcuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jc3MvbWFjcm8nXG5cbmZ1bmN0aW9uIHRlc3QoKSB7XG4gIGNvbnN0IGNsczEgPSBjc3NgXG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0MjBweCkge1xuICAgICAgY29sb3I6IGJsdWU7XG4gICAgICAke2Nzc2BcbiAgICAgICAgd2lkdGg6IDk2cHg7XG4gICAgICAgIGhlaWdodDogOTZweDtcbiAgICAgIGB9O1xuICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgfVxuICAgIGJhY2tncm91bmQ6IGdyZWVuO1xuICAgICR7eyBiYWNrZ3JvdW5kQ29sb3I6ICdob3RwaW5rJyB9fTtcbiAgYFxuXG4gIGNvbnN0IGNsczIgPSBjc3NgXG4gICAgJHt7IGNvbG9yOiAnYmx1ZScgfX07XG4gIGBcblxuICBjb25zdCBjbHMzID0gY3NzYFxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogaG90cGluaztcbiAgICB9XG4gIGBcbiAgbGV0IG91dGVyVmFyID0gJ3NvbWV0aGluZydcbiAgZnVuY3Rpb24gaW5uZXIoKSB7XG4gICAgY29uc3Qgc3R5bGVzID0geyBjb2xvcjogJ2RhcmtvcmNoaWQnIH1cbiAgICBjb25zdCBjb2xvciA9ICdhcXVhbWFyaW5lJ1xuXG4gICAgY29uc3QgY2xzNCA9IGNzc2BcbiAgICAgICR7Y2xzM307XG4gICAgICAke2NsczF9O1xuICAgICAgJHt7IGNvbG9yOiAnZGFya29yY2hpZCcgfX07XG4gICAgICAke3sgY29sb3IgfX07XG4gICAgICAke2Nzc2BcbiAgICAgICAgaGVpZ2h0OiA0MjBweDtcbiAgICAgICAgd2lkdGg6ICR7c3R5bGVzfTtcbiAgICAgIGB9O1xuICAgIGBcbiAgICBsZXQgc29tZUNscyA9IGNzc2BcbiAgICAgIGNvbG9yOiAke291dGVyVmFyfTtcbiAgICBgXG4gIH1cbn1cbiJdfQ== */\",\n    toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n  });\n  let outerVar = 'something';\n\n  function inner() {\n    const styles = {\n      color: 'darkorchid'\n    };\n    const color = 'aquamarine';\n    const cls4 = /*#__PURE__*/css(cls3, \";\", cls1, \";color:darkorchid;;\", {\n      color\n    }, \";\", /*#__PURE__*/css(\"height:420px;width:\", styles, \";\" + (process.env.NODE_ENV === \"production\" ? \"\" : \";label:cls4;\"), process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImhvaXN0aW5nLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXFDVyIsImZpbGUiOiJob2lzdGluZy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL2Nzcy9tYWNybydcblxuZnVuY3Rpb24gdGVzdCgpIHtcbiAgY29uc3QgY2xzMSA9IGNzc2BcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQyMHB4KSB7XG4gICAgICBjb2xvcjogYmx1ZTtcbiAgICAgICR7Y3NzYFxuICAgICAgICB3aWR0aDogOTZweDtcbiAgICAgICAgaGVpZ2h0OiA5NnB4O1xuICAgICAgYH07XG4gICAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgICB9XG4gICAgYmFja2dyb3VuZDogZ3JlZW47XG4gICAgJHt7IGJhY2tncm91bmRDb2xvcjogJ2hvdHBpbmsnIH19O1xuICBgXG5cbiAgY29uc3QgY2xzMiA9IGNzc2BcbiAgICAke3sgY29sb3I6ICdibHVlJyB9fTtcbiAgYFxuXG4gIGNvbnN0IGNsczMgPSBjc3NgXG4gICAgZGlzcGxheTogZmxleDtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiBob3RwaW5rO1xuICAgIH1cbiAgYFxuICBsZXQgb3V0ZXJWYXIgPSAnc29tZXRoaW5nJ1xuICBmdW5jdGlvbiBpbm5lcigpIHtcbiAgICBjb25zdCBzdHlsZXMgPSB7IGNvbG9yOiAnZGFya29yY2hpZCcgfVxuICAgIGNvbnN0IGNvbG9yID0gJ2FxdWFtYXJpbmUnXG5cbiAgICBjb25zdCBjbHM0ID0gY3NzYFxuICAgICAgJHtjbHMzfTtcbiAgICAgICR7Y2xzMX07XG4gICAgICAke3sgY29sb3I6ICdkYXJrb3JjaGlkJyB9fTtcbiAgICAgICR7eyBjb2xvciB9fTtcbiAgICAgICR7Y3NzYFxuICAgICAgICBoZWlnaHQ6IDQyMHB4O1xuICAgICAgICB3aWR0aDogJHtzdHlsZXN9O1xuICAgICAgYH07XG4gICAgYFxuICAgIGxldCBzb21lQ2xzID0gY3NzYFxuICAgICAgY29sb3I6ICR7b3V0ZXJWYXJ9O1xuICAgIGBcbiAgfVxufVxuIl19 */\"), \";\" + (process.env.NODE_ENV === \"production\" ? \"\" : \";label:cls4;\"), process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImhvaXN0aW5nLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWdDb0IiLCJmaWxlIjoiaG9pc3RpbmcuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jc3MvbWFjcm8nXG5cbmZ1bmN0aW9uIHRlc3QoKSB7XG4gIGNvbnN0IGNsczEgPSBjc3NgXG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0MjBweCkge1xuICAgICAgY29sb3I6IGJsdWU7XG4gICAgICAke2Nzc2BcbiAgICAgICAgd2lkdGg6IDk2cHg7XG4gICAgICAgIGhlaWdodDogOTZweDtcbiAgICAgIGB9O1xuICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgfVxuICAgIGJhY2tncm91bmQ6IGdyZWVuO1xuICAgICR7eyBiYWNrZ3JvdW5kQ29sb3I6ICdob3RwaW5rJyB9fTtcbiAgYFxuXG4gIGNvbnN0IGNsczIgPSBjc3NgXG4gICAgJHt7IGNvbG9yOiAnYmx1ZScgfX07XG4gIGBcblxuICBjb25zdCBjbHMzID0gY3NzYFxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogaG90cGluaztcbiAgICB9XG4gIGBcbiAgbGV0IG91dGVyVmFyID0gJ3NvbWV0aGluZydcbiAgZnVuY3Rpb24gaW5uZXIoKSB7XG4gICAgY29uc3Qgc3R5bGVzID0geyBjb2xvcjogJ2RhcmtvcmNoaWQnIH1cbiAgICBjb25zdCBjb2xvciA9ICdhcXVhbWFyaW5lJ1xuXG4gICAgY29uc3QgY2xzNCA9IGNzc2BcbiAgICAgICR7Y2xzM307XG4gICAgICAke2NsczF9O1xuICAgICAgJHt7IGNvbG9yOiAnZGFya29yY2hpZCcgfX07XG4gICAgICAke3sgY29sb3IgfX07XG4gICAgICAke2Nzc2BcbiAgICAgICAgaGVpZ2h0OiA0MjBweDtcbiAgICAgICAgd2lkdGg6ICR7c3R5bGVzfTtcbiAgICAgIGB9O1xuICAgIGBcbiAgICBsZXQgc29tZUNscyA9IGNzc2BcbiAgICAgIGNvbG9yOiAke291dGVyVmFyfTtcbiAgICBgXG4gIH1cbn1cbiJdfQ== */\");\n    let someCls = /*#__PURE__*/css(\"color:\", outerVar, \";\" + (process.env.NODE_ENV === \"production\" ? \"\" : \";label:someCls;\"), process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImhvaXN0aW5nLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTBDcUIiLCJmaWxlIjoiaG9pc3RpbmcuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jc3MvbWFjcm8nXG5cbmZ1bmN0aW9uIHRlc3QoKSB7XG4gIGNvbnN0IGNsczEgPSBjc3NgXG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0MjBweCkge1xuICAgICAgY29sb3I6IGJsdWU7XG4gICAgICAke2Nzc2BcbiAgICAgICAgd2lkdGg6IDk2cHg7XG4gICAgICAgIGhlaWdodDogOTZweDtcbiAgICAgIGB9O1xuICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgfVxuICAgIGJhY2tncm91bmQ6IGdyZWVuO1xuICAgICR7eyBiYWNrZ3JvdW5kQ29sb3I6ICdob3RwaW5rJyB9fTtcbiAgYFxuXG4gIGNvbnN0IGNsczIgPSBjc3NgXG4gICAgJHt7IGNvbG9yOiAnYmx1ZScgfX07XG4gIGBcblxuICBjb25zdCBjbHMzID0gY3NzYFxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogaG90cGluaztcbiAgICB9XG4gIGBcbiAgbGV0IG91dGVyVmFyID0gJ3NvbWV0aGluZydcbiAgZnVuY3Rpb24gaW5uZXIoKSB7XG4gICAgY29uc3Qgc3R5bGVzID0geyBjb2xvcjogJ2RhcmtvcmNoaWQnIH1cbiAgICBjb25zdCBjb2xvciA9ICdhcXVhbWFyaW5lJ1xuXG4gICAgY29uc3QgY2xzNCA9IGNzc2BcbiAgICAgICR7Y2xzM307XG4gICAgICAke2NsczF9O1xuICAgICAgJHt7IGNvbG9yOiAnZGFya29yY2hpZCcgfX07XG4gICAgICAke3sgY29sb3IgfX07XG4gICAgICAke2Nzc2BcbiAgICAgICAgaGVpZ2h0OiA0MjBweDtcbiAgICAgICAgd2lkdGg6ICR7c3R5bGVzfTtcbiAgICAgIGB9O1xuICAgIGBcbiAgICBsZXQgc29tZUNscyA9IGNzc2BcbiAgICAgIGNvbG9yOiAke291dGVyVmFyfTtcbiAgICBgXG4gIH1cbn1cbiJdfQ== */\");\n  }\n}\"\n`;\n\nexports[`vanilla emotion inject-global-basic 1`] = `\n\"import { injectGlobal } from '@emotion/css/macro'\n\ninjectGlobal\\`\n  body {\n    margin: 0;\n    padding: 0;\n    & > div {\n      display: flex;\n    }\n  }\n  html {\n    background: green;\n  }\n\\`\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { injectGlobal } from \"@emotion/css\";\ninjectGlobal(process.env.NODE_ENV === \"production\" ? {\n  name: \"59k0ad\",\n  styles: \"body{margin:0;padding:0;&>div{display:flex;}}html{background:green;}\"\n} : {\n  name: \"59k0ad\",\n  styles: \"body{margin:0;padding:0;&>div{display:flex;}}html{background:green;}/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluamVjdC1nbG9iYWwtYmFzaWMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRVkiLCJmaWxlIjoiaW5qZWN0LWdsb2JhbC1iYXNpYy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdEdsb2JhbCB9IGZyb20gJ0BlbW90aW9uL2Nzcy9tYWNybydcblxuaW5qZWN0R2xvYmFsYFxuICBib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICAmID4gZGl2IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICB9XG4gIGh0bWwge1xuICAgIGJhY2tncm91bmQ6IGdyZWVuO1xuICB9XG5gXG4iXX0= */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\"\n`;\n\nexports[`vanilla emotion inject-global-change-import 1`] = `\n\"import { injectGlobal as inject } from '@emotion/css/macro'\n\ninject\\`\n  body {\n    margin: 0;\n    padding: 0;\n    & > div {\n      display: flex;\n    }\n  }\n  html {\n    background: green;\n  }\n\\`\n\nlet injectGlobal = window.whatever\n\ninjectGlobal\\`\n  body {\n    margin: 0;\n    padding: 0;\n    & > div {\n      display: flex;\n    }\n  }\n  html {\n    background: green;\n  }\n\\`\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { injectGlobal as inject } from \"@emotion/css\";\ninject(process.env.NODE_ENV === \"production\" ? {\n  name: \"59k0ad\",\n  styles: \"body{margin:0;padding:0;&>div{display:flex;}}html{background:green;}\"\n} : {\n  name: \"59k0ad\",\n  styles: \"body{margin:0;padding:0;&>div{display:flex;}}html{background:green;}/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluamVjdC1nbG9iYWwtY2hhbmdlLWltcG9ydC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFTSIsImZpbGUiOiJpbmplY3QtZ2xvYmFsLWNoYW5nZS1pbXBvcnQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3RHbG9iYWwgYXMgaW5qZWN0IH0gZnJvbSAnQGVtb3Rpb24vY3NzL21hY3JvJ1xuXG5pbmplY3RgXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgICYgPiBkaXYge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gIH1cbiAgaHRtbCB7XG4gICAgYmFja2dyb3VuZDogZ3JlZW47XG4gIH1cbmBcblxubGV0IGluamVjdEdsb2JhbCA9IHdpbmRvdy53aGF0ZXZlclxuXG5pbmplY3RHbG9iYWxgXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgICYgPiBkaXYge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gIH1cbiAgaHRtbCB7XG4gICAgYmFja2dyb3VuZDogZ3JlZW47XG4gIH1cbmBcbiJdfQ== */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\nlet injectGlobal = window.whatever;\ninjectGlobal\\`\n  body {\n    margin: 0;\n    padding: 0;\n    & > div {\n      display: flex;\n    }\n  }\n  html {\n    background: green;\n  }\n\\`;\"\n`;\n\nexports[`vanilla emotion inject-global-with-font-face 1`] = `\n\"import { injectGlobal } from '@emotion/css/macro'\n\ninjectGlobal\\`\n  @font-face {\n    font-family: 'Patrick Hand SC';\n    font-style: normal;\n    font-weight: 400;\n    src: local('Patrick Hand SC'), local('PatrickHandSC-Regular'),\n      url(https://fonts.gstatic.com/s/patrickhandsc/v4/OYFWCgfCR-7uHIovjUZXsZ71Uis0Qeb9Gqo8IZV7ckE.woff2)\n        format('woff2');\n    unicode-range: U+0100-024f, U+1-1eff, U+20a0-20ab, U+20ad-20cf, U+2c60-2c7f,\n      U+A720-A7FF;\n  }\n\\`\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { injectGlobal } from \"@emotion/css\";\ninjectGlobal(process.env.NODE_ENV === \"production\" ? {\n  name: \"lu7y12\",\n  styles: \"@font-face{font-family:'Patrick Hand SC';font-style:normal;font-weight:400;src:local('Patrick Hand SC'),local('PatrickHandSC-Regular'),url(https://fonts.gstatic.com/s/patrickhandsc/v4/OYFWCgfCR-7uHIovjUZXsZ71Uis0Qeb9Gqo8IZV7ckE.woff2) format('woff2');unicode-range:U+0100-024f,U+1-1eff,U+20a0-20ab,U+20ad-20cf,U+2c60-2c7f,U+A720-A7FF;}\"\n} : {\n  name: \"lu7y12\",\n  styles: \"@font-face{font-family:'Patrick Hand SC';font-style:normal;font-weight:400;src:local('Patrick Hand SC'),local('PatrickHandSC-Regular'),url(https://fonts.gstatic.com/s/patrickhandsc/v4/OYFWCgfCR-7uHIovjUZXsZ71Uis0Qeb9Gqo8IZV7ckE.woff2) format('woff2');unicode-range:U+0100-024f,U+1-1eff,U+20a0-20ab,U+20ad-20cf,U+2c60-2c7f,U+A720-A7FF;}/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluamVjdC1nbG9iYWwtd2l0aC1mb250LWZhY2UuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRVkiLCJmaWxlIjoiaW5qZWN0LWdsb2JhbC13aXRoLWZvbnQtZmFjZS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdEdsb2JhbCB9IGZyb20gJ0BlbW90aW9uL2Nzcy9tYWNybydcblxuaW5qZWN0R2xvYmFsYFxuICBAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ1BhdHJpY2sgSGFuZCBTQyc7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgc3JjOiBsb2NhbCgnUGF0cmljayBIYW5kIFNDJyksIGxvY2FsKCdQYXRyaWNrSGFuZFNDLVJlZ3VsYXInKSxcbiAgICAgIHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvcGF0cmlja2hhbmRzYy92NC9PWUZXQ2dmQ1ItN3VISW92alVaWHNaNzFVaXMwUWViOUdxbzhJWlY3Y2tFLndvZmYyKVxuICAgICAgICBmb3JtYXQoJ3dvZmYyJyk7XG4gICAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyNGYsIFUrMS0xZWZmLCBVKzIwYTAtMjBhYiwgVSsyMGFkLTIwY2YsIFUrMmM2MC0yYzdmLFxuICAgICAgVStBNzIwLUE3RkY7XG4gIH1cbmBcbiJdfQ== */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\"\n`;\n\nexports[`vanilla emotion inject-global-with-interpolation 1`] = `\n\"import { injectGlobal } from '@emotion/css/macro'\n\nlet display = window.whatever\n\ninjectGlobal\\`\n  body {\n    margin: 0;\n    padding: 0;\n    display: \\${display};\n    & > div {\n      display: none;\n    }\n  }\n  html {\n    background: green;\n  }\n\\`\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport { injectGlobal } from \"@emotion/css\";\nlet display = window.whatever;\ninjectGlobal(\"body{margin:0;padding:0;display:\", display, \";&>div{display:none;}}html{background:green;}\" + (process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluamVjdC1nbG9iYWwtd2l0aC1pbnRlcnBvbGF0aW9uLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlZIiwiZmlsZSI6ImluamVjdC1nbG9iYWwtd2l0aC1pbnRlcnBvbGF0aW9uLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0R2xvYmFsIH0gZnJvbSAnQGVtb3Rpb24vY3NzL21hY3JvJ1xuXG5sZXQgZGlzcGxheSA9IHdpbmRvdy53aGF0ZXZlclxuXG5pbmplY3RHbG9iYWxgXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGRpc3BsYXk6ICR7ZGlzcGxheX07XG4gICAgJiA+IGRpdiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuICBodG1sIHtcbiAgICBiYWNrZ3JvdW5kOiBncmVlbjtcbiAgfVxuYFxuIl19 */\"));\"\n`;\n\nexports[`vanilla emotion keyframes-basic 1`] = `\n\"import { keyframes } from '@emotion/css/macro'\n\nconst rotate360 = keyframes\\`\n  from {\n    transform: rotate(0deg);\n  }\n  to {\n    transform: rotate(360deg);\n  }\n\\`\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { keyframes } from \"@emotion/css\";\nconst rotate360 = /*#__PURE__*/keyframes(process.env.NODE_ENV === \"production\" ? {\n  name: \"1q8eu9e\",\n  styles: \"from{transform:rotate(0deg);}to{transform:rotate(360deg);}\"\n} : {\n  name: \"1k98dea-rotate360\",\n  styles: \"from{transform:rotate(0deg);}to{transform:rotate(360deg);};label:rotate360;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImtleWZyYW1lcy1iYXNpYy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFMkIiLCJmaWxlIjoia2V5ZnJhbWVzLWJhc2ljLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsga2V5ZnJhbWVzIH0gZnJvbSAnQGVtb3Rpb24vY3NzL21hY3JvJ1xuXG5jb25zdCByb3RhdGUzNjAgPSBrZXlmcmFtZXNgXG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG5gXG4iXX0= */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\"\n`;\n\nexports[`vanilla emotion keyframes-with-interpolation 1`] = `\n\"import { keyframes } from '@emotion/css/macro'\n\nlet endingRotation = window.whatever\n\nconst rotate360 = keyframes\\`\n  from {\n    transform: rotate(0deg);\n  }\n  to {\n    transform: rotate(\\${endingRotation});\n  }\n\\`\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport { keyframes } from \"@emotion/css\";\nlet endingRotation = window.whatever;\nconst rotate360 = /*#__PURE__*/keyframes(\"from{transform:rotate(0deg);}to{transform:rotate(\", endingRotation, \");}\" + (process.env.NODE_ENV === \"production\" ? \"\" : \";label:rotate360;\"), process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImtleWZyYW1lcy13aXRoLWludGVycG9sYXRpb24uanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSTJCIiwiZmlsZSI6ImtleWZyYW1lcy13aXRoLWludGVycG9sYXRpb24uanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBrZXlmcmFtZXMgfSBmcm9tICdAZW1vdGlvbi9jc3MvbWFjcm8nXG5cbmxldCBlbmRpbmdSb3RhdGlvbiA9IHdpbmRvdy53aGF0ZXZlclxuXG5jb25zdCByb3RhdGUzNjAgPSBrZXlmcmFtZXNgXG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgke2VuZGluZ1JvdGF0aW9ufSk7XG4gIH1cbmBcbiJdfQ== */\");\"\n`;\n\nexports[`vanilla emotion nested-orphaned-pseudo 1`] = `\n\"import { css } from '@emotion/css/macro'\n\n// whitespace before pseudo should be preserved\ncss\\`\n  & :hover {\n    color: hotpink;\n  }\n\\`\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { css } from \"@emotion/css\"; // whitespace before pseudo should be preserved\n\n/*#__PURE__*/\ncss(process.env.NODE_ENV === \"production\" ? {\n  name: \"1e7lzue\",\n  styles: \"& :hover{color:hotpink;}\"\n} : {\n  name: \"1e7lzue\",\n  styles: \"& :hover{color:hotpink;}/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5lc3RlZC1vcnBoYW5lZC1wc2V1ZG8uanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0ciLCJmaWxlIjoibmVzdGVkLW9ycGhhbmVkLXBzZXVkby5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL2Nzcy9tYWNybydcblxuLy8gd2hpdGVzcGFjZSBiZWZvcmUgcHNldWRvIHNob3VsZCBiZSBwcmVzZXJ2ZWRcbmNzc2BcbiAgJiA6aG92ZXIge1xuICAgIGNvbG9yOiBob3RwaW5rO1xuICB9XG5gXG4iXX0= */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n});\"\n`;\n\nexports[`vanilla emotion object-label 1`] = `\n\"import { css } from '@emotion/css/macro'\n\nlet obj = {\n  someProp: css({ color: 'green' }),\n  anotherProp: css({ color: 'hotpink' })\n}\nclass Thing {\n  static Prop = css({ color: 'yellow' })\n  BadIdea = css({ color: 'red' })\n}\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport { css } from \"@emotion/css\";\nlet obj = {\n  someProp: /*#__PURE__*/css(process.env.NODE_ENV === \"production\" ? {\n    name: \"v98kxt\",\n    styles: \"color:green\"\n  } : {\n    name: \"cw3a48-someProp\",\n    styles: \"color:green;label:someProp;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm9iamVjdC1sYWJlbC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHWSIsImZpbGUiOiJvYmplY3QtbGFiZWwuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jc3MvbWFjcm8nXG5cbmxldCBvYmogPSB7XG4gIHNvbWVQcm9wOiBjc3MoeyBjb2xvcjogJ2dyZWVuJyB9KSxcbiAgYW5vdGhlclByb3A6IGNzcyh7IGNvbG9yOiAnaG90cGluaycgfSlcbn1cbmNsYXNzIFRoaW5nIHtcbiAgc3RhdGljIFByb3AgPSBjc3MoeyBjb2xvcjogJ3llbGxvdycgfSlcbiAgQmFkSWRlYSA9IGNzcyh7IGNvbG9yOiAncmVkJyB9KVxufVxuIl19 */\",\n    toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n  }),\n  anotherProp: /*#__PURE__*/css(process.env.NODE_ENV === \"production\" ? {\n    name: \"3sn2xs\",\n    styles: \"color:hotpink\"\n  } : {\n    name: \"1oocabw-anotherProp\",\n    styles: \"color:hotpink;label:anotherProp;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm9iamVjdC1sYWJlbC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJZSIsImZpbGUiOiJvYmplY3QtbGFiZWwuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jc3MvbWFjcm8nXG5cbmxldCBvYmogPSB7XG4gIHNvbWVQcm9wOiBjc3MoeyBjb2xvcjogJ2dyZWVuJyB9KSxcbiAgYW5vdGhlclByb3A6IGNzcyh7IGNvbG9yOiAnaG90cGluaycgfSlcbn1cbmNsYXNzIFRoaW5nIHtcbiAgc3RhdGljIFByb3AgPSBjc3MoeyBjb2xvcjogJ3llbGxvdycgfSlcbiAgQmFkSWRlYSA9IGNzcyh7IGNvbG9yOiAncmVkJyB9KVxufVxuIl19 */\",\n    toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n  })\n};\n\nclass Thing {\n  static Prop = /*#__PURE__*/css(process.env.NODE_ENV === \"production\" ? {\n    name: \"1bcsghv\",\n    styles: \"color:yellow\"\n  } : {\n    name: \"1p4vs6c-Prop\",\n    styles: \"color:yellow;label:Prop;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm9iamVjdC1sYWJlbC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPZ0IiLCJmaWxlIjoib2JqZWN0LWxhYmVsLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vY3NzL21hY3JvJ1xuXG5sZXQgb2JqID0ge1xuICBzb21lUHJvcDogY3NzKHsgY29sb3I6ICdncmVlbicgfSksXG4gIGFub3RoZXJQcm9wOiBjc3MoeyBjb2xvcjogJ2hvdHBpbmsnIH0pXG59XG5jbGFzcyBUaGluZyB7XG4gIHN0YXRpYyBQcm9wID0gY3NzKHsgY29sb3I6ICd5ZWxsb3cnIH0pXG4gIEJhZElkZWEgPSBjc3MoeyBjb2xvcjogJ3JlZCcgfSlcbn1cbiJdfQ== */\",\n    toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n  });\n  BadIdea = /*#__PURE__*/css(process.env.NODE_ENV === \"production\" ? {\n    name: \"hwfcu5\",\n    styles: \"color:red\"\n  } : {\n    name: \"1htwp0n-BadIdea\",\n    styles: \"color:red;label:BadIdea;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm9iamVjdC1sYWJlbC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRWSIsImZpbGUiOiJvYmplY3QtbGFiZWwuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jc3MvbWFjcm8nXG5cbmxldCBvYmogPSB7XG4gIHNvbWVQcm9wOiBjc3MoeyBjb2xvcjogJ2dyZWVuJyB9KSxcbiAgYW5vdGhlclByb3A6IGNzcyh7IGNvbG9yOiAnaG90cGluaycgfSlcbn1cbmNsYXNzIFRoaW5nIHtcbiAgc3RhdGljIFByb3AgPSBjc3MoeyBjb2xvcjogJ3llbGxvdycgfSlcbiAgQmFkSWRlYSA9IGNzcyh7IGNvbG9yOiAncmVkJyB9KVxufVxuIl19 */\",\n    toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n  });\n}\"\n`;\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/vanilla-emotion-macro/index.js",
    "content": "import babelTester from 'babel-tester'\n\nbabelTester('vanilla emotion', __dirname)\n"
  },
  {
    "path": "packages/babel-plugin/__tests__/vanilla-emotion.js",
    "content": "import babelTester from 'babel-tester'\nimport plugin from '@emotion/babel-plugin'\nimport path from 'path'\n\nbabelTester('vanilla emotion', path.join(__dirname, 'vanilla-emotion-macro'), {\n  plugins: [plugin],\n  transform: src => src.replace(/\\/macro/g, '')\n})\n"
  },
  {
    "path": "packages/babel-plugin/package.json",
    "content": "{\n  \"name\": \"@emotion/babel-plugin\",\n  \"version\": \"11.13.5\",\n  \"description\": \"A recommended babel preprocessing plugin for emotion, The Next Generation of CSS-in-JS.\",\n  \"main\": \"dist/emotion-babel-plugin.cjs.js\",\n  \"module\": \"dist/emotion-babel-plugin.esm.js\",\n  \"exports\": {\n    \".\": {\n      \"types\": {\n        \"import\": \"./dist/emotion-babel-plugin.cjs.mjs\",\n        \"default\": \"./dist/emotion-babel-plugin.cjs.js\"\n      },\n      \"module\": \"./dist/emotion-babel-plugin.esm.js\",\n      \"import\": \"./dist/emotion-babel-plugin.cjs.mjs\",\n      \"default\": \"./dist/emotion-babel-plugin.cjs.js\"\n    },\n    \"./package.json\": \"./package.json\"\n  },\n  \"files\": [\n    \"src\",\n    \"lib\",\n    \"dist\"\n  ],\n  \"dependencies\": {\n    \"@babel/helper-module-imports\": \"^7.16.7\",\n    \"@babel/runtime\": \"^7.18.3\",\n    \"@emotion/hash\": \"^0.9.2\",\n    \"@emotion/memoize\": \"^0.9.0\",\n    \"@emotion/serialize\": \"^1.3.3\",\n    \"babel-plugin-macros\": \"^3.1.0\",\n    \"convert-source-map\": \"^1.5.0\",\n    \"escape-string-regexp\": \"^4.0.0\",\n    \"find-root\": \"^1.1.0\",\n    \"source-map\": \"^0.5.7\",\n    \"stylis\": \"4.2.0\"\n  },\n  \"devDependencies\": {\n    \"@babel/core\": \"^7.18.5\",\n    \"babel-check-duplicated-nodes\": \"^1.0.0\"\n  },\n  \"author\": \"Kye Hohenberger\",\n  \"homepage\": \"https://emotion.sh\",\n  \"license\": \"MIT\",\n  \"repository\": \"https://github.com/emotion-js/emotion/tree/main/packages/babel-plugin\",\n  \"keywords\": [\n    \"styles\",\n    \"emotion\",\n    \"react\",\n    \"css\",\n    \"css-in-js\"\n  ],\n  \"bugs\": {\n    \"url\": \"https://github.com/emotion-js/emotion/issues\"\n  }\n}\n"
  },
  {
    "path": "packages/babel-plugin/src/core-macro.js",
    "content": "import {\n  transformExpressionWithStyles,\n  createTransformerMacro,\n  getSourceMap,\n  addImport\n} from './utils'\n\nexport const transformCssCallExpression = (\n  { state, babel, path, sourceMap, annotateAsPure = true } /*: {\n  state: *,\n  babel: *,\n  path: *,\n  sourceMap?: string,\n  annotateAsPure?: boolean\n} */\n) => {\n  let node = transformExpressionWithStyles({\n    babel,\n    state,\n    path,\n    shouldLabel: true,\n    sourceMap\n  })\n  if (node) {\n    path.replaceWith(node)\n    path.hoist()\n  } else if (annotateAsPure && path.isCallExpression()) {\n    path.addComment('leading', '#__PURE__')\n  }\n}\n\nexport const transformCsslessArrayExpression = (\n  { state, babel, path } /*: {\n  babel: *,\n  state: *,\n  path: *\n} */\n) => {\n  let t = babel.types\n  let expressionPath = path.get('value.expression')\n  let sourceMap =\n    state.emotionSourceMap && path.node.loc !== undefined\n      ? getSourceMap(path.node.loc.start, state)\n      : ''\n\n  expressionPath.replaceWith(\n    t.callExpression(\n      // the name of this identifier doesn't really matter at all\n      // it'll never appear in generated code\n      t.identifier('___shouldNeverAppearCSS'),\n      path.node.value.expression.elements\n    )\n  )\n\n  transformCssCallExpression({\n    babel,\n    state,\n    path: expressionPath,\n    sourceMap,\n    annotateAsPure: false\n  })\n\n  if (t.isCallExpression(expressionPath)) {\n    expressionPath.replaceWith(t.arrayExpression(expressionPath.node.arguments))\n  }\n}\n\nexport const transformCsslessObjectExpression = (\n  { state, babel, path, cssImport } /*: {\n  babel: *,\n  state: *,\n  path: *,\n  cssImport: { importSource: string, cssExport: string }\n} */\n) => {\n  let t = babel.types\n  let expressionPath = path.get('value.expression')\n  let sourceMap =\n    state.emotionSourceMap && path.node.loc !== undefined\n      ? getSourceMap(path.node.loc.start, state)\n      : ''\n\n  expressionPath.replaceWith(\n    t.callExpression(\n      // the name of this identifier doesn't really matter at all\n      // it'll never appear in generated code\n      t.identifier('___shouldNeverAppearCSS'),\n      [path.node.value.expression]\n    )\n  )\n\n  transformCssCallExpression({\n    babel,\n    state,\n    path: expressionPath,\n    sourceMap\n  })\n\n  if (t.isCallExpression(expressionPath)) {\n    expressionPath\n      .get('callee')\n      .replaceWith(\n        addImport(state, cssImport.importSource, cssImport.cssExport, 'css')\n      )\n  }\n}\n\nlet cssTransformer = (\n  { state, babel, reference } /*: {\n  state: any,\n  babel: any,\n  reference: any\n} */\n) => {\n  transformCssCallExpression({ babel, state, path: reference.parentPath })\n}\n\nlet globalTransformer = (\n  { state, babel, reference, importSource, options } /*: {\n  state: any,\n  babel: any,\n  reference: any,\n  importSource: string,\n  options: { cssExport?: string }\n} */\n) => {\n  const t = babel.types\n\n  if (\n    !t.isJSXIdentifier(reference.node) ||\n    !t.isJSXOpeningElement(reference.parentPath.node)\n  ) {\n    return\n  }\n\n  const stylesPropPath = reference.parentPath\n    .get('attributes')\n    .find(p => t.isJSXAttribute(p.node) && p.node.name.name === 'styles')\n\n  if (!stylesPropPath) {\n    return\n  }\n\n  if (t.isJSXExpressionContainer(stylesPropPath.node.value)) {\n    if (t.isArrayExpression(stylesPropPath.node.value.expression)) {\n      transformCsslessArrayExpression({\n        state,\n        babel,\n        path: stylesPropPath\n      })\n    } else if (t.isObjectExpression(stylesPropPath.node.value.expression)) {\n      transformCsslessObjectExpression({\n        state,\n        babel,\n        path: stylesPropPath,\n        cssImport:\n          options.cssExport !== undefined\n            ? {\n                importSource,\n                cssExport: options.cssExport\n              }\n            : {\n                importSource: '@emotion/react',\n                cssExport: 'css'\n              }\n      })\n    }\n  }\n}\n\nexport const transformers = {\n  // this is an empty function because this transformer is never called\n  // we don't run any transforms on `jsx` directly\n  // instead we use it as a hint to enable css prop optimization\n  jsx: () => {},\n  css: cssTransformer,\n  Global: globalTransformer\n}\n\nexport default createTransformerMacro(transformers, {\n  importSource: '@emotion/react'\n})\n"
  },
  {
    "path": "packages/babel-plugin/src/emotion-macro.js",
    "content": "import { transformExpressionWithStyles, createTransformerMacro } from './utils'\n\nconst isAlreadyTranspiled = path => {\n  if (!path.isCallExpression()) {\n    return false\n  }\n\n  const firstArgPath = path.get('arguments.0')\n\n  if (!firstArgPath) {\n    return false\n  }\n\n  if (!firstArgPath.isConditionalExpression()) {\n    return false\n  }\n\n  const alternatePath = firstArgPath.get('alternate')\n\n  if (!alternatePath.isObjectExpression()) {\n    return false\n  }\n\n  const properties = new Set(\n    alternatePath.get('properties').map(p => p.node.key.name)\n  )\n\n  return ['name', 'styles'].every(p => properties.has(p))\n}\n\nlet createEmotionTransformer =\n  (isPure /*: boolean */) =>\n  (\n    { state, babel, importSource, reference, importSpecifierName } /*: Object */\n  ) => {\n    const path = reference.parentPath\n\n    if (isAlreadyTranspiled(path)) {\n      return\n    }\n\n    if (isPure) {\n      path.addComment('leading', '#__PURE__')\n    }\n\n    let node = transformExpressionWithStyles({\n      babel,\n      state,\n      path,\n      shouldLabel: true\n    })\n    if (node) {\n      path.node.arguments[0] = node\n    }\n  }\n\nexport let transformers = {\n  css: createEmotionTransformer(true),\n  injectGlobal: createEmotionTransformer(false),\n  keyframes: createEmotionTransformer(true)\n}\n\nexport let createEmotionMacro = (importSource /*: string */) =>\n  createTransformerMacro(transformers, { importSource })\n"
  },
  {
    "path": "packages/babel-plugin/src/index.js",
    "content": "import {\n  createEmotionMacro,\n  transformers as vanillaTransformers\n} from './emotion-macro'\nimport { createStyledMacro, styledTransformer } from './styled-macro'\nimport coreMacro, {\n  transformers as coreTransformers,\n  transformCsslessArrayExpression,\n  transformCsslessObjectExpression\n} from './core-macro'\nimport { getStyledOptions, createTransformerMacro } from './utils'\n\nconst getCssExport = (reexported, importSource, mapping) => {\n  const cssExport = Object.keys(mapping).find(localExportName => {\n    const [packageName, exportName] = mapping[localExportName].canonicalImport\n    return packageName === '@emotion/react' && exportName === 'css'\n  })\n\n  if (!cssExport) {\n    throw new Error(\n      `You have specified that '${importSource}' re-exports '${reexported}' from '@emotion/react' but it doesn't also re-export 'css' from '@emotion/react', 'css' is necessary for certain optimisations, please re-export it from '${importSource}'`\n    )\n  }\n\n  return cssExport\n}\n\nlet webStyledMacro = createStyledMacro({\n  importSource: '@emotion/styled/base',\n  originalImportSource: '@emotion/styled',\n  isWeb: true\n})\nlet nativeStyledMacro = createStyledMacro({\n  importSource: '@emotion/native',\n  originalImportSource: '@emotion/native',\n  isWeb: false\n})\nlet primitivesStyledMacro = createStyledMacro({\n  importSource: '@emotion/primitives',\n  originalImportSource: '@emotion/primitives',\n  isWeb: false\n})\nlet vanillaEmotionMacro = createEmotionMacro('@emotion/css')\n\nlet transformersSource = {\n  '@emotion/css': vanillaTransformers,\n  '@emotion/react': coreTransformers,\n  '@emotion/styled': {\n    default: [\n      styledTransformer,\n      { styledBaseImport: ['@emotion/styled/base', 'default'], isWeb: true }\n    ]\n  },\n  '@emotion/primitives': {\n    default: [styledTransformer, { isWeb: false }]\n  },\n  '@emotion/native': {\n    default: [styledTransformer, { isWeb: false }]\n  }\n}\n\nexport const macros = {\n  core: coreMacro,\n  nativeStyled: nativeStyledMacro,\n  primitivesStyled: primitivesStyledMacro,\n  webStyled: webStyledMacro,\n  vanillaEmotion: vanillaEmotionMacro\n}\n\n/*\nexport type BabelPath = any\n\nexport type EmotionBabelPluginPass = any\n*/\n\nconst AUTO_LABEL_VALUES = ['dev-only', 'never', 'always']\n\nexport default function (babel, options) {\n  if (\n    options.autoLabel !== undefined &&\n    !AUTO_LABEL_VALUES.includes(options.autoLabel)\n  ) {\n    throw new Error(\n      `The 'autoLabel' option must be undefined, or one of the following: ${AUTO_LABEL_VALUES.map(\n        s => `\"${s}\"`\n      ).join(', ')}`\n    )\n  }\n\n  let t = babel.types\n  return {\n    name: '@emotion',\n    // https://github.com/babel/babel/blob/0c97749e0fe8ad845b902e0b23a24b308b0bf05d/packages/babel-plugin-syntax-jsx/src/index.ts#L9-L18\n    manipulateOptions(opts, parserOpts) {\n      const { plugins } = parserOpts\n\n      if (\n        plugins.some(p => {\n          const plugin = Array.isArray(p) ? p[0] : p\n          return plugin === 'typescript' || plugin === 'jsx'\n        })\n      ) {\n        return\n      }\n\n      plugins.push('jsx')\n    },\n    visitor: {\n      ImportDeclaration(path, state) {\n        const macro = state.pluginMacros[path.node.source.value]\n        // most of this is from https://github.com/kentcdodds/babel-plugin-macros/blob/main/src/index.js\n        if (macro === undefined) {\n          return\n        }\n        if (t.isImportNamespaceSpecifier(path.node.specifiers[0])) {\n          return\n        }\n        const imports = path.node.specifiers.map(s => ({\n          localName: s.local.name,\n          importedName:\n            s.type === 'ImportDefaultSpecifier' ? 'default' : s.imported.name\n        }))\n        let shouldExit = false\n        let hasReferences = false\n        const referencePathsByImportName = imports.reduce(\n          (byName, { importedName, localName }) => {\n            let binding = path.scope.getBinding(localName)\n            if (!binding) {\n              shouldExit = true\n              return byName\n            }\n            byName[importedName] = binding.referencePaths\n            hasReferences =\n              hasReferences || Boolean(byName[importedName].length)\n            return byName\n          },\n          {}\n        )\n        if (!hasReferences || shouldExit) {\n          return\n        }\n        /**\n         * Other plugins that run before babel-plugin-macros might use path.replace, where a path is\n         * put into its own replacement. Apparently babel does not update the scope after such\n         * an operation. As a remedy, the whole scope is traversed again with an empty \"Identifier\"\n         * visitor - this makes the problem go away.\n         *\n         * See: https://github.com/kentcdodds/import-all.macro/issues/7\n         */\n        state.file.scope.path.traverse({\n          Identifier() {}\n        })\n\n        macro({\n          path,\n          references: referencePathsByImportName,\n          state,\n          babel,\n          isEmotionCall: true,\n          isBabelMacrosCall: true\n        })\n      },\n      Program(path, state) {\n        let macros = {}\n        let jsxReactImports /*: Array<{\n          importSource: string,\n          export: string,\n          cssExport: string\n        }> */ = [\n          { importSource: '@emotion/react', export: 'jsx', cssExport: 'css' }\n        ]\n        state.jsxReactImport = jsxReactImports[0]\n        Object.keys(state.opts.importMap || {}).forEach(importSource => {\n          let value = state.opts.importMap[importSource]\n          let transformers = {}\n          Object.keys(value).forEach(localExportName => {\n            let { canonicalImport, ...options } = value[localExportName]\n            let [packageName, exportName] = canonicalImport\n            if (packageName === '@emotion/react' && exportName === 'jsx') {\n              jsxReactImports.push({\n                importSource,\n                export: localExportName,\n                cssExport: getCssExport('jsx', importSource, value)\n              })\n              return\n            }\n            let packageTransformers = transformersSource[packageName]\n\n            if (packageTransformers === undefined) {\n              throw new Error(\n                `There is no transformer for the export '${exportName}' in '${packageName}'`\n              )\n            }\n\n            let extraOptions\n\n            if (packageName === '@emotion/react' && exportName === 'Global') {\n              // this option is not supposed to be set in importMap\n              extraOptions = {\n                cssExport: getCssExport('Global', importSource, value)\n              }\n            } else if (\n              packageName === '@emotion/styled' &&\n              exportName === 'default'\n            ) {\n              // this is supposed to override defaultOptions value\n              // and let correct value to be set if coming in options\n              extraOptions = {\n                styledBaseImport: undefined\n              }\n            }\n\n            let [exportTransformer, defaultOptions] = Array.isArray(\n              packageTransformers[exportName]\n            )\n              ? packageTransformers[exportName]\n              : [packageTransformers[exportName]]\n\n            transformers[localExportName] = [\n              exportTransformer,\n              {\n                ...defaultOptions,\n                ...extraOptions,\n                ...options\n              }\n            ]\n          })\n          macros[importSource] = createTransformerMacro(transformers, {\n            importSource\n          })\n        })\n        state.pluginMacros = {\n          '@emotion/styled': webStyledMacro,\n          '@emotion/react': coreMacro,\n          '@emotion/primitives': primitivesStyledMacro,\n          '@emotion/native': nativeStyledMacro,\n          '@emotion/css': vanillaEmotionMacro,\n          ...macros\n        }\n\n        for (const node of path.node.body) {\n          if (t.isImportDeclaration(node)) {\n            let jsxReactImport = jsxReactImports.find(\n              thing =>\n                node.source.value === thing.importSource &&\n                node.specifiers.some(\n                  x =>\n                    t.isImportSpecifier(x) && x.imported.name === thing.export\n                )\n            )\n            if (jsxReactImport) {\n              state.jsxReactImport = jsxReactImport\n              break\n            }\n          }\n        }\n\n        if (state.opts.cssPropOptimization === false) {\n          state.transformCssProp = false\n        } else {\n          state.transformCssProp = true\n        }\n\n        if (state.opts.sourceMap === false) {\n          state.emotionSourceMap = false\n        } else {\n          state.emotionSourceMap = true\n        }\n      },\n      JSXAttribute(path, state) {\n        if (path.node.name.name !== 'css' || !state.transformCssProp) {\n          return\n        }\n\n        if (t.isJSXExpressionContainer(path.node.value)) {\n          if (t.isArrayExpression(path.node.value.expression)) {\n            transformCsslessArrayExpression({\n              state,\n              babel,\n              path\n            })\n          } else if (t.isObjectExpression(path.node.value.expression)) {\n            transformCsslessObjectExpression({\n              state,\n              babel,\n              path,\n              cssImport: state.jsxReactImport\n            })\n          }\n        }\n      },\n      CallExpression: {\n        exit(path /*: BabelPath */, state /*: EmotionBabelPluginPass */) {\n          try {\n            if (\n              path.node.callee &&\n              path.node.callee.property &&\n              path.node.callee.property.name === 'withComponent'\n            ) {\n              switch (path.node.arguments.length) {\n                case 1:\n                case 2: {\n                  path.node.arguments[1] = getStyledOptions(t, path, state)\n                }\n              }\n            }\n          } catch (e) {\n            throw path.buildCodeFrameError(e)\n          }\n        }\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "packages/babel-plugin/src/styled-macro.js",
    "content": "import {\n  transformExpressionWithStyles,\n  getStyledOptions,\n  addImport,\n  createTransformerMacro\n} from './utils'\n\nconst getReferencedSpecifier = (path, specifierName) => {\n  const specifiers = path.get('specifiers')\n  return specifierName === 'default'\n    ? specifiers.find(p => p.isImportDefaultSpecifier())\n    : specifiers.find(p => p.node.local.name === specifierName)\n}\n\nexport let styledTransformer = (\n  {\n    state,\n    babel,\n    path,\n    importSource,\n    reference,\n    importSpecifierName,\n    options: { styledBaseImport, isWeb }\n  } /*: {\n  state: Object,\n  babel: Object,\n  path: any,\n  importSource: string,\n  importSpecifierName: string,\n  reference: Object,\n  options: { styledBaseImport?: [string, string], isWeb: boolean }\n} */\n) => {\n  let t = babel.types\n\n  let getStyledIdentifier = () => {\n    if (\n      !styledBaseImport ||\n      (styledBaseImport[0] === importSource &&\n        styledBaseImport[1] === importSpecifierName)\n    ) {\n      return t.cloneNode(reference.node)\n    }\n\n    if (path.node) {\n      const referencedSpecifier = getReferencedSpecifier(\n        path,\n        importSpecifierName\n      )\n\n      if (referencedSpecifier) {\n        referencedSpecifier.remove()\n      }\n\n      if (!path.get('specifiers').length) {\n        path.remove()\n      }\n    }\n\n    const [baseImportSource, baseSpecifierName] = styledBaseImport\n\n    return addImport(state, baseImportSource, baseSpecifierName, 'styled')\n  }\n  let createStyledComponentPath = null\n  if (\n    t.isMemberExpression(reference.parent) &&\n    reference.parent.computed === false\n  ) {\n    if (\n      // checks if the first character is lowercase\n      // becasue we don't want to transform the member expression if\n      // it's in primitives/native\n      reference.parent.property.name.charCodeAt(0) > 96\n    ) {\n      reference.parentPath.replaceWith(\n        t.callExpression(getStyledIdentifier(), [\n          t.stringLiteral(reference.parent.property.name)\n        ])\n      )\n    } else {\n      reference.replaceWith(getStyledIdentifier())\n    }\n\n    createStyledComponentPath = reference.parentPath\n  } else if (\n    reference.parentPath &&\n    t.isCallExpression(reference.parentPath) &&\n    reference.parent.callee === reference.node\n  ) {\n    reference.replaceWith(getStyledIdentifier())\n    createStyledComponentPath = reference.parentPath\n  }\n\n  if (!createStyledComponentPath) {\n    return\n  }\n\n  const styledCallLikeWithStylesPath = createStyledComponentPath.parentPath\n\n  let node = transformExpressionWithStyles({\n    path: styledCallLikeWithStylesPath,\n    state,\n    babel,\n    shouldLabel: false\n  })\n\n  if (node && isWeb) {\n    // we know the argument length will be 1 since that's the only time we will have a node since it will be static\n    styledCallLikeWithStylesPath.node.arguments[0] = node\n  }\n\n  styledCallLikeWithStylesPath.addComment('leading', '#__PURE__')\n\n  if (isWeb) {\n    createStyledComponentPath.node.arguments[1] = getStyledOptions(\n      t,\n      createStyledComponentPath,\n      state\n    )\n  }\n}\n\nexport let createStyledMacro = (\n  {\n    importSource,\n    originalImportSource = importSource,\n    baseImportName = 'default',\n    isWeb\n  } /*: {\n  importSource: string,\n  originalImportSource?: string,\n  baseImportName?: string,\n  isWeb: boolean\n} */\n) =>\n  createTransformerMacro(\n    {\n      default: [\n        styledTransformer,\n        { styledBaseImport: [importSource, baseImportName], isWeb }\n      ]\n    },\n    { importSource: originalImportSource }\n  )\n"
  },
  {
    "path": "packages/babel-plugin/src/utils/add-import.js",
    "content": "import { addDefault, addNamed } from '@babel/helper-module-imports'\n\nexport function addImport(\n  state,\n  importSource /*: string */,\n  importedSpecifier /*: string */,\n  nameHint /* ?: string */\n) {\n  let cacheKey = ['import', importSource, importedSpecifier].join(':')\n  if (state[cacheKey] === undefined) {\n    let importIdentifier\n    if (importedSpecifier === 'default') {\n      importIdentifier = addDefault(state.file.path, importSource, { nameHint })\n    } else {\n      importIdentifier = addNamed(\n        state.file.path,\n        importedSpecifier,\n        importSource,\n        {\n          nameHint\n        }\n      )\n    }\n    state[cacheKey] = importIdentifier.name\n  }\n  return {\n    type: 'Identifier',\n    name: state[cacheKey]\n  }\n}\n"
  },
  {
    "path": "packages/babel-plugin/src/utils/create-node-env-conditional.js",
    "content": "export default function createNodeEnvConditional(t, production, development) {\n  return t.conditionalExpression(\n    t.binaryExpression(\n      '===',\n      t.memberExpression(\n        t.memberExpression(t.identifier('process'), t.identifier('env')),\n        t.identifier('NODE_ENV')\n      ),\n      t.stringLiteral('production')\n    ),\n    production,\n    development\n  )\n}\n"
  },
  {
    "path": "packages/babel-plugin/src/utils/get-styled-options.js",
    "content": "import { getLabelFromPath } from './label'\nimport { getTargetClassName } from './get-target-class-name'\nimport createNodeEnvConditional from './create-node-env-conditional'\n\nconst getKnownProperties = (t, node) =>\n  new Set(\n    node.properties\n      .filter(n => t.isObjectProperty(n) && !n.computed)\n      .map(n => (t.isIdentifier(n.key) ? n.key.name : n.key.value))\n  )\n\nconst createObjectSpreadLike = (t, file, ...objs) =>\n  t.callExpression(file.addHelper('extends'), [t.objectExpression([]), ...objs])\n\nexport let getStyledOptions = (t, path, state) => {\n  const autoLabel = state.opts.autoLabel || 'dev-only'\n\n  let args = path.node.arguments\n  let optionsArgument = args.length >= 2 ? args[1] : null\n\n  let prodProperties = []\n  let devProperties = null\n  let knownProperties =\n    optionsArgument && t.isObjectExpression(optionsArgument)\n      ? getKnownProperties(t, optionsArgument)\n      : new Set()\n\n  if (!knownProperties.has('target')) {\n    prodProperties.push(\n      t.objectProperty(\n        t.identifier('target'),\n        t.stringLiteral(getTargetClassName(state, t))\n      )\n    )\n  }\n\n  let label =\n    autoLabel !== 'never' && !knownProperties.has('label')\n      ? getLabelFromPath(path, state, t)\n      : null\n\n  if (label) {\n    const labelNode = t.objectProperty(\n      t.identifier('label'),\n      t.stringLiteral(label)\n    )\n    switch (autoLabel) {\n      case 'always':\n        prodProperties.push(labelNode)\n        break\n      case 'dev-only':\n        devProperties = [labelNode]\n        break\n    }\n  }\n\n  if (optionsArgument) {\n    // for some reason `.withComponent` transformer gets requeued\n    // so check if this has been already transpiled to avoid double wrapping\n    if (\n      t.isConditionalExpression(optionsArgument) &&\n      t.isBinaryExpression(optionsArgument.test) &&\n      t.buildMatchMemberExpression('process.env.NODE_ENV')(\n        optionsArgument.test.left\n      )\n    ) {\n      return optionsArgument\n    }\n    if (!t.isObjectExpression(optionsArgument)) {\n      const prodNode = createObjectSpreadLike(\n        t,\n        state.file,\n        t.objectExpression(prodProperties),\n        optionsArgument\n      )\n      return devProperties\n        ? createNodeEnvConditional(\n            t,\n            prodNode,\n            t.cloneNode(\n              createObjectSpreadLike(\n                t,\n                state.file,\n                t.objectExpression(prodProperties.concat(devProperties)),\n                optionsArgument\n              )\n            )\n          )\n        : prodNode\n    }\n\n    prodProperties.unshift(...optionsArgument.properties)\n  }\n\n  return devProperties\n    ? createNodeEnvConditional(\n        t,\n        t.objectExpression(prodProperties),\n        t.cloneNode(t.objectExpression(prodProperties.concat(devProperties)))\n      )\n    : t.objectExpression(prodProperties)\n}\n"
  },
  {
    "path": "packages/babel-plugin/src/utils/get-target-class-name.js",
    "content": "import findRoot from 'find-root'\nimport memoize from '@emotion/memoize'\nimport nodePath from 'path'\nimport hashString from '@emotion/hash'\nimport escapeRegexp from 'escape-string-regexp'\n\nlet hashArray = (arr /*: Array<string> */) => hashString(arr.join(''))\n\nconst unsafeRequire = require\n\nconst getPackageRootPath = memoize(filename => findRoot(filename))\n\nconst separator = new RegExp(escapeRegexp(nodePath.sep), 'g')\n\nconst normalizePath = path => nodePath.normalize(path).replace(separator, '/')\n\nexport function getTargetClassName(state, t) {\n  if (state.emotionTargetClassNameCount === undefined) {\n    state.emotionTargetClassNameCount = 0\n  }\n\n  const hasFilepath =\n    state.file.opts.filename && state.file.opts.filename !== 'unknown'\n  const filename = hasFilepath ? state.file.opts.filename : ''\n  // normalize the file path to ignore folder structure\n  // outside the current node project and arch-specific delimiters\n  let moduleName = ''\n  let rootPath = filename\n\n  try {\n    rootPath = getPackageRootPath(filename)\n    moduleName = unsafeRequire(rootPath + '/package.json').name\n  } catch (err) {}\n\n  const finalPath =\n    filename === rootPath ? 'root' : filename.slice(rootPath.length)\n\n  const positionInFile = state.emotionTargetClassNameCount++\n\n  const stuffToHash = [moduleName]\n\n  if (finalPath) {\n    stuffToHash.push(normalizePath(finalPath))\n  } else {\n    stuffToHash.push(state.file.code)\n  }\n\n  const stableClassName = `e${hashArray(stuffToHash)}${positionInFile}`\n\n  return stableClassName\n}\n"
  },
  {
    "path": "packages/babel-plugin/src/utils/index.js",
    "content": "export { getLabelFromPath } from './label'\nexport { getSourceMap } from './source-maps'\nexport { getTargetClassName } from './get-target-class-name'\nexport { simplifyObject } from './object-to-string'\nexport { transformExpressionWithStyles } from './transform-expression-with-styles'\nexport { getStyledOptions } from './get-styled-options'\nexport {\n  appendStringReturningExpressionToArguments,\n  joinStringLiterals\n} from './strings'\nexport { addImport } from './add-import'\nexport { createTransformerMacro } from './transformer-macro'\n"
  },
  {
    "path": "packages/babel-plugin/src/utils/label.js",
    "content": "import nodePath from 'path'\n\n/*\ntype LabelFormatOptions = {\n  name: string,\n  path: string\n}\n*/\n\nconst invalidClassNameCharacters = /[!\"#$%&'()*+,./:;<=>?@[\\]^`|}~{]/g\n\nconst sanitizeLabelPart = (labelPart /*: string */) =>\n  labelPart.trim().replace(invalidClassNameCharacters, '-')\n\nfunction getLabel(\n  identifierName /* ?: string */,\n  labelFormat /* ?: string | (LabelFormatOptions => string) */,\n  filename /*: string */\n) {\n  if (!identifierName) return null\n\n  const sanitizedName = sanitizeLabelPart(identifierName)\n\n  if (!labelFormat) {\n    return sanitizedName\n  }\n\n  if (typeof labelFormat === 'function') {\n    return labelFormat({\n      name: sanitizedName,\n      path: filename\n    })\n  }\n\n  const parsedPath = nodePath.parse(filename)\n  let localDirname = nodePath.basename(parsedPath.dir)\n  let localFilename = parsedPath.name\n\n  if (localFilename === 'index') {\n    localFilename = localDirname\n  }\n\n  return labelFormat\n    .replace(/\\[local\\]/gi, sanitizedName)\n    .replace(/\\[filename\\]/gi, sanitizeLabelPart(localFilename))\n    .replace(/\\[dirname\\]/gi, sanitizeLabelPart(localDirname))\n}\n\nexport function getLabelFromPath(path, state, t) {\n  return getLabel(\n    getIdentifierName(path, t),\n    state.opts.labelFormat,\n    state.file.opts.filename\n  )\n}\n\nconst getObjPropertyLikeName = (path, t) => {\n  if (\n    (!t.isObjectProperty(path) && !t.isObjectMethod(path)) ||\n    path.node.computed\n  ) {\n    return null\n  }\n  if (t.isIdentifier(path.node.key)) {\n    return path.node.key.name\n  }\n\n  if (t.isStringLiteral(path.node.key)) {\n    return path.node.key.value.replace(/\\s+/g, '-')\n  }\n\n  return null\n}\n\nfunction getDeclaratorName(path, t) {\n  const parent = path.findParent(\n    p =>\n      p.isVariableDeclarator() ||\n      p.isAssignmentExpression() ||\n      p.isFunctionDeclaration() ||\n      p.isFunctionExpression() ||\n      p.isArrowFunctionExpression() ||\n      p.isObjectProperty() ||\n      p.isObjectMethod()\n  )\n  if (!parent) {\n    return ''\n  }\n\n  // we probably have a css call assigned to a variable\n  // so we'll just return the variable name\n  if (parent.isVariableDeclarator()) {\n    if (t.isIdentifier(parent.node.id)) {\n      return parent.node.id.name\n    }\n    return ''\n  }\n\n  if (parent.isAssignmentExpression()) {\n    let { left } = parent.node\n    if (t.isIdentifier(left)) {\n      return left.name\n    }\n    if (t.isMemberExpression(left)) {\n      let memberExpression = left\n      let name = ''\n      while (true) {\n        if (!t.isIdentifier(memberExpression.property)) {\n          return ''\n        }\n\n        name = `${memberExpression.property.name}${name ? `-${name}` : ''}`\n\n        if (t.isIdentifier(memberExpression.object)) {\n          return `${memberExpression.object.name}-${name}`\n        }\n\n        if (!t.isMemberExpression(memberExpression.object)) {\n          return ''\n        }\n        memberExpression = memberExpression.object\n      }\n    }\n    return ''\n  }\n\n  // we probably have an inline css prop usage\n  if (parent.isFunctionDeclaration()) {\n    return parent.node.id.name || ''\n  }\n\n  if (parent.isFunctionExpression()) {\n    if (parent.node.id) {\n      return parent.node.id.name || ''\n    }\n    return getDeclaratorName(parent, t)\n  }\n\n  if (parent.isArrowFunctionExpression()) {\n    return getDeclaratorName(parent, t)\n  }\n\n  // we could also have an object property\n  const objPropertyLikeName = getObjPropertyLikeName(parent, t)\n\n  if (objPropertyLikeName) {\n    return objPropertyLikeName\n  }\n\n  let variableDeclarator = parent.findParent(p => p.isVariableDeclarator())\n  if (!variableDeclarator || !variableDeclarator.get('id').isIdentifier()) {\n    return ''\n  }\n  return variableDeclarator.node.id.name\n}\n\nfunction getIdentifierName(path, t) {\n  let objPropertyLikeName = getObjPropertyLikeName(path.parentPath, t)\n\n  if (objPropertyLikeName) {\n    return objPropertyLikeName\n  }\n\n  let classOrClassPropertyParent = path.findParent(\n    p => t.isClassProperty(p) || t.isClass(p)\n  )\n\n  if (classOrClassPropertyParent) {\n    if (\n      t.isClassProperty(classOrClassPropertyParent) &&\n      classOrClassPropertyParent.node.computed === false &&\n      t.isIdentifier(classOrClassPropertyParent.node.key)\n    ) {\n      return classOrClassPropertyParent.node.key.name\n    }\n    if (\n      t.isClass(classOrClassPropertyParent) &&\n      classOrClassPropertyParent.node.id\n    ) {\n      return t.isIdentifier(classOrClassPropertyParent.node.id)\n        ? classOrClassPropertyParent.node.id.name\n        : ''\n    }\n  }\n\n  let declaratorName = getDeclaratorName(path, t)\n  // if the name starts with _ it was probably generated by babel so we should ignore it\n  if (declaratorName.charAt(0) === '_') {\n    return ''\n  }\n  return declaratorName\n}\n"
  },
  {
    "path": "packages/babel-plugin/src/utils/minify.js",
    "content": "import { compile } from 'stylis'\n\nconst haveSameLocation = (element1, element2) => {\n  return element1.line === element2.line && element1.column === element2.column\n}\n\nconst isAutoInsertedRule = element =>\n  element.type === 'rule' &&\n  element.parent &&\n  haveSameLocation(element, element.parent)\n\nconst toInputTree = (elements, tree) => {\n  for (let i = 0; i < elements.length; i++) {\n    const element = elements[i]\n    const { parent, children } = element\n\n    if (!parent) {\n      tree.push(element)\n    } else if (!isAutoInsertedRule(element)) {\n      parent.children.push(element)\n    }\n\n    if (Array.isArray(children)) {\n      element.children = []\n      toInputTree(children, tree)\n    }\n  }\n\n  return tree\n}\n\nvar stringifyTree = elements => {\n  return elements\n    .map(element => {\n      switch (element.type) {\n        case 'import':\n        case 'decl':\n          return element.value\n        case 'comm':\n          // When we encounter a standard multi-line CSS comment and it contains a '@'\n          // character, we keep the comment. Some Stylis plugins, such as\n          // the stylis-rtl via the cssjanus plugin, use this special comment syntax\n          // to control behavior (such as: /* @noflip */). We can do this\n          // with standard CSS comments because they will work with compression,\n          // as opposed to non-standard single-line comments that will break compressed CSS.\n          return element.props === '/' && element.value.includes('@')\n            ? element.value\n            : ''\n        case 'rule':\n          return `${element.value.replace(/&\\f/g, '&')}{${stringifyTree(\n            element.children\n          )}}`\n        default: {\n          return `${element.value}{${stringifyTree(element.children)}}`\n        }\n      }\n    })\n    .join('')\n}\n\nconst interleave = (strings /*: Array<*> */, interpolations /*: Array<*> */) =>\n  interpolations.reduce(\n    (array, interp, i) => array.concat([interp], strings[i + 1]),\n    [strings[0]]\n  )\n\nfunction getDynamicMatches(str /*: string */) {\n  const re = /xxx(\\d+):xxx/gm\n  let match\n  const matches = []\n  while ((match = re.exec(str)) !== null) {\n    if (match !== null) {\n      matches.push({\n        value: match[0],\n        p1: parseInt(match[1], 10),\n        index: match.index\n      })\n    }\n  }\n\n  return matches\n}\n\nfunction replacePlaceholdersWithExpressions(\n  str /*: string */,\n  expressions /*: Array<*> */,\n  t\n) {\n  const matches = getDynamicMatches(str)\n  if (matches.length === 0) {\n    if (str === '') {\n      return []\n    }\n    return [t.stringLiteral(str)]\n  }\n  const strings = []\n  const finalExpressions = []\n  let cursor = 0\n\n  matches.forEach(({ value, p1, index }, i) => {\n    const preMatch = str.substring(cursor, index)\n    cursor = cursor + preMatch.length + value.length\n\n    if (!preMatch && i === 0) {\n      strings.push(t.stringLiteral(''))\n    } else {\n      strings.push(t.stringLiteral(preMatch))\n    }\n\n    finalExpressions.push(expressions[p1])\n    if (i === matches.length - 1) {\n      strings.push(t.stringLiteral(str.substring(index + value.length)))\n    }\n  })\n\n  return interleave(strings, finalExpressions).filter(\n    (node /*: { value: string } */) => {\n      return node.value !== ''\n    }\n  )\n}\n\nfunction createRawStringFromTemplateLiteral(\n  quasi /*: {\n  quasis: Array<{ value: { cooked: string } }>\n} */\n) {\n  let strs = quasi.quasis.map(x => x.value.cooked)\n\n  const src = strs\n    .reduce((arr, str, i) => {\n      arr.push(str)\n      if (i !== strs.length - 1) {\n        arr.push(`xxx${i}:xxx`)\n      }\n      return arr\n    }, [])\n    .join('')\n    .trim()\n  return src\n}\n\nexport default function minify(path, t) {\n  const quasi = path.node.quasi\n  const raw = createRawStringFromTemplateLiteral(quasi)\n  const minified = stringifyTree(toInputTree(compile(raw), []))\n  const expressions = replacePlaceholdersWithExpressions(\n    minified,\n    quasi.expressions || [],\n    t\n  )\n  path.replaceWith(t.callExpression(path.node.tag, expressions))\n}\n"
  },
  {
    "path": "packages/babel-plugin/src/utils/object-to-string.js",
    "content": "import { serializeStyles } from '@emotion/serialize'\n\n// to anyone looking at this, this isn't intended to simplify every single case\n// it's meant to simplify the most common cases so i don't want to make it especially complex\n// also, this will be unnecessary when prepack is ready\nexport function simplifyObject(node, t /*: Object */) {\n  let finalString = ''\n  for (let i = 0; i < node.properties.length; i++) {\n    let property = node.properties[i]\n\n    if (\n      !t.isObjectProperty(property) ||\n      property.computed ||\n      (!t.isIdentifier(property.key) && !t.isStringLiteral(property.key)) ||\n      (!t.isStringLiteral(property.value) &&\n        !t.isNumericLiteral(property.value) &&\n        !t.isObjectExpression(property.value))\n    ) {\n      return node\n    }\n\n    let key = property.key.name || property.key.value\n    if (key === 'styles') {\n      return node\n    }\n    if (t.isObjectExpression(property.value)) {\n      let simplifiedChild = simplifyObject(property.value, t)\n      if (!t.isStringLiteral(simplifiedChild)) {\n        return node\n      }\n      finalString += `${key}{${simplifiedChild.value}}`\n      continue\n    }\n    let value = property.value.value\n\n    finalString += serializeStyles([{ [key]: value }]).styles\n  }\n  return t.stringLiteral(finalString)\n}\n"
  },
  {
    "path": "packages/babel-plugin/src/utils/source-maps.js",
    "content": "import { SourceMapGenerator } from 'source-map'\nimport convert from 'convert-source-map'\n\nfunction getGeneratorOpts(file) {\n  return file.opts.generatorOpts ? file.opts.generatorOpts : file.opts\n}\n\nexport function makeSourceMapGenerator(file) {\n  const generatorOpts = getGeneratorOpts(file)\n  const filename = generatorOpts.sourceFileName\n  const generator = new SourceMapGenerator({\n    file: filename,\n    sourceRoot: generatorOpts.sourceRoot\n  })\n\n  generator.setSourceContent(filename, file.code)\n  return generator\n}\n\nexport function getSourceMap(\n  offset /*: {\n    line: number,\n    column: number\n  } */,\n  state\n) /*: string */ {\n  const generator = makeSourceMapGenerator(state.file)\n  const generatorOpts = getGeneratorOpts(state.file)\n  if (\n    generatorOpts.sourceFileName &&\n    generatorOpts.sourceFileName !== 'unknown'\n  ) {\n    generator.addMapping({\n      generated: {\n        line: 1,\n        column: 0\n      },\n      source: generatorOpts.sourceFileName,\n      original: offset\n    })\n    return convert.fromObject(generator).toComment({ multiline: true })\n  }\n  return ''\n}\n"
  },
  {
    "path": "packages/babel-plugin/src/utils/strings.js",
    "content": "import {\n  getTypeScriptMakeTemplateObjectPath,\n  isTaggedTemplateTranspiledByBabel\n} from './transpiled-output-utils'\n\nexport const appendStringReturningExpressionToArguments = (\n  t,\n  path,\n  expression\n) => {\n  let lastIndex = path.node.arguments.length - 1\n  let last = path.node.arguments[lastIndex]\n  if (t.isStringLiteral(last)) {\n    if (typeof expression === 'string') {\n      path.node.arguments[lastIndex].value += expression\n    } else {\n      path.node.arguments[lastIndex] = t.binaryExpression('+', last, expression)\n    }\n  } else {\n    const makeTemplateObjectCallPath = getTypeScriptMakeTemplateObjectPath(path)\n\n    if (makeTemplateObjectCallPath) {\n      makeTemplateObjectCallPath.get('arguments').forEach(argPath => {\n        const elements = argPath.get('elements')\n        const lastElement = elements[elements.length - 1]\n        if (typeof expression === 'string') {\n          lastElement.replaceWith(\n            t.stringLiteral(lastElement.node.value + expression)\n          )\n        } else {\n          lastElement.replaceWith(\n            t.binaryExpression('+', lastElement.node, t.cloneNode(expression))\n          )\n        }\n      })\n    } else if (!isTaggedTemplateTranspiledByBabel(path)) {\n      if (typeof expression === 'string') {\n        path.node.arguments.push(t.stringLiteral(expression))\n      } else {\n        path.node.arguments.push(expression)\n      }\n    }\n  }\n}\n\nexport const joinStringLiterals = (expressions /*: Array<*> */, t) => {\n  return expressions.reduce((finalExpressions, currentExpression, i) => {\n    if (!t.isStringLiteral(currentExpression)) {\n      finalExpressions.push(currentExpression)\n    } else if (\n      t.isStringLiteral(finalExpressions[finalExpressions.length - 1])\n    ) {\n      finalExpressions[finalExpressions.length - 1].value +=\n        currentExpression.value\n    } else {\n      finalExpressions.push(currentExpression)\n    }\n    return finalExpressions\n  }, [])\n}\n"
  },
  {
    "path": "packages/babel-plugin/src/utils/transform-expression-with-styles.js",
    "content": "import { serializeStyles } from '@emotion/serialize'\nimport minify from './minify'\nimport { getLabelFromPath } from './label'\nimport { getSourceMap } from './source-maps'\nimport { simplifyObject } from './object-to-string'\nimport {\n  appendStringReturningExpressionToArguments,\n  joinStringLiterals\n} from './strings'\nimport createNodeEnvConditional from './create-node-env-conditional'\n\nconst CSS_OBJECT_STRINGIFIED_ERROR =\n  \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\"\n\nexport let transformExpressionWithStyles = (\n  { babel, state, path, shouldLabel, sourceMap = '' } /*: {\n  babel,\n  state,\n  path,\n  shouldLabel: boolean,\n  sourceMap?: string\n} */\n) => {\n  const autoLabel = state.opts.autoLabel || 'dev-only'\n  let t = babel.types\n  if (t.isTaggedTemplateExpression(path)) {\n    if (\n      !sourceMap &&\n      state.emotionSourceMap &&\n      path.node.quasi.loc !== undefined\n    ) {\n      sourceMap = getSourceMap(path.node.quasi.loc.start, state)\n    }\n    minify(path, t)\n  }\n\n  if (t.isCallExpression(path)) {\n    const canAppendStrings = path.node.arguments.every(\n      arg => arg.type !== 'SpreadElement'\n    )\n\n    path.get('arguments').forEach(node => {\n      if (t.isObjectExpression(node)) {\n        node.replaceWith(simplifyObject(node.node, t))\n      }\n    })\n\n    path.node.arguments = joinStringLiterals(path.node.arguments, t)\n\n    if (\n      !sourceMap &&\n      canAppendStrings &&\n      state.emotionSourceMap &&\n      path.node.loc !== undefined\n    ) {\n      sourceMap = getSourceMap(path.node.loc.start, state)\n    }\n\n    const label =\n      shouldLabel && autoLabel !== 'never'\n        ? getLabelFromPath(path, state, t)\n        : null\n\n    if (\n      path.node.arguments.length === 1 &&\n      t.isStringLiteral(path.node.arguments[0])\n    ) {\n      let cssString = path.node.arguments[0].value.replace(/;$/, '')\n      let res = serializeStyles([\n        `${cssString}${\n          label && autoLabel === 'always' ? `;label:${label};` : ''\n        }`\n      ])\n      let prodNode = t.objectExpression([\n        t.objectProperty(t.identifier('name'), t.stringLiteral(res.name)),\n        t.objectProperty(t.identifier('styles'), t.stringLiteral(res.styles))\n      ])\n\n      if (!state.emotionStringifiedCssId) {\n        const uid = state.file.scope.generateUidIdentifier(\n          '__EMOTION_STRINGIFIED_CSS_ERROR__'\n        )\n        state.emotionStringifiedCssId = uid\n        const cssObjectToString = t.functionDeclaration(\n          uid,\n          [],\n          t.blockStatement([\n            t.returnStatement(t.stringLiteral(CSS_OBJECT_STRINGIFIED_ERROR))\n          ])\n        )\n        cssObjectToString._compact = true\n        state.file.path.unshiftContainer('body', [cssObjectToString])\n      }\n\n      if (label && autoLabel === 'dev-only') {\n        res = serializeStyles([`${cssString};label:${label};`])\n      }\n\n      let devNode = t.objectExpression(\n        [\n          t.objectProperty(t.identifier('name'), t.stringLiteral(res.name)),\n          t.objectProperty(\n            t.identifier('styles'),\n            t.stringLiteral(res.styles + sourceMap)\n          ),\n          t.objectProperty(\n            t.identifier('toString'),\n            t.cloneNode(state.emotionStringifiedCssId)\n          )\n        ].filter(Boolean)\n      )\n\n      return createNodeEnvConditional(t, prodNode, devNode)\n    }\n\n    if (canAppendStrings && label) {\n      const labelString = `;label:${label};`\n\n      switch (autoLabel) {\n        case 'dev-only': {\n          const labelConditional = createNodeEnvConditional(\n            t,\n            t.stringLiteral(''),\n            t.stringLiteral(labelString)\n          )\n          appendStringReturningExpressionToArguments(t, path, labelConditional)\n          break\n        }\n        case 'always':\n          appendStringReturningExpressionToArguments(t, path, labelString)\n          break\n      }\n    }\n\n    if (sourceMap) {\n      let sourceMapConditional = createNodeEnvConditional(\n        t,\n        t.stringLiteral(''),\n        t.stringLiteral(sourceMap)\n      )\n      appendStringReturningExpressionToArguments(t, path, sourceMapConditional)\n    }\n  }\n}\n"
  },
  {
    "path": "packages/babel-plugin/src/utils/transformer-macro.js",
    "content": "import { createMacro } from 'babel-plugin-macros'\n\n/*\ntype Transformer = Function\n*/\n\nexport function createTransformerMacro(\n  transformers /*: { [key: string]: Transformer | [Transformer, Object] } */,\n  { importSource } /*: { importSource: string } */\n) {\n  let macro = createMacro(\n    ({ path, source, references, state, babel, isEmotionCall }) => {\n      if (!path) {\n        path = state.file.scope.path\n          .get('body')\n          .find(p => p.isImportDeclaration() && p.node.source.value === source)\n      }\n\n      if (/\\/macro$/.test(source)) {\n        path\n          .get('source')\n          .replaceWith(\n            babel.types.stringLiteral(source.replace(/\\/macro$/, ''))\n          )\n      }\n\n      if (!isEmotionCall) {\n        state.emotionSourceMap = true\n      }\n      Object.keys(references).forEach(importSpecifierName => {\n        if (transformers[importSpecifierName]) {\n          references[importSpecifierName].reverse().forEach(reference => {\n            let options\n            let transformer\n            if (Array.isArray(transformers[importSpecifierName])) {\n              transformer = transformers[importSpecifierName][0]\n              options = transformers[importSpecifierName][1]\n            } else {\n              transformer = transformers[importSpecifierName]\n              options = {}\n            }\n            transformer({\n              state,\n              babel,\n              path,\n              importSource,\n              importSpecifierName,\n              options,\n              reference\n            })\n          })\n        }\n      })\n      return { keepImports: true }\n    }\n  )\n  macro.transformers = transformers\n  return macro\n}\n"
  },
  {
    "path": "packages/babel-plugin/src/utils/transpiled-output-utils.js",
    "content": "// this only works correctly in modules, but we don't run on scripts anyway, so it's fine\n// the difference is that in modules template objects are being cached per call site\nexport function getTypeScriptMakeTemplateObjectPath(path) {\n  if (path.node.arguments.length === 0) {\n    return null\n  }\n\n  const firstArgPath = path.get('arguments')[0]\n\n  if (\n    firstArgPath.isLogicalExpression() &&\n    firstArgPath.get('left').isIdentifier() &&\n    firstArgPath.get('right').isAssignmentExpression() &&\n    firstArgPath.get('right.right').isCallExpression() &&\n    firstArgPath.get('right.right.callee').isIdentifier() &&\n    firstArgPath.node.right.right.callee.name.includes('makeTemplateObject') &&\n    firstArgPath.node.right.right.arguments.length === 2\n  ) {\n    return firstArgPath.get('right.right')\n  }\n\n  return null\n}\n\n// this is only used to prevent appending strings/expressions to arguments incorectly\n// we could push them to found array expressions, as we do it for TS-transpile output ¯\\_(ツ)_/¯\n// it seems overly complicated though - mainly because we'd also have to check against existing stuff of a particular type (source maps & labels)\n// considering Babel double-transpilation as a valid use case seems rather far-fetched\nexport function isTaggedTemplateTranspiledByBabel(path) {\n  if (path.node.arguments.length === 0) {\n    return false\n  }\n\n  const firstArgPath = path.get('arguments')[0]\n\n  if (\n    !firstArgPath.isCallExpression() ||\n    !firstArgPath.get('callee').isIdentifier()\n  ) {\n    return false\n  }\n\n  const calleeName = firstArgPath.node.callee.name\n\n  if (!calleeName.includes('templateObject')) {\n    return false\n  }\n\n  const bindingPath = path.scope.getBinding(calleeName).path\n\n  if (!bindingPath.isFunction()) {\n    return false\n  }\n\n  const functionBody = bindingPath.get('body.body')\n\n  if (!functionBody[0].isVariableDeclaration()) {\n    return false\n  }\n\n  const declarationInit = functionBody[0].get('declarations')[0].get('init')\n\n  if (!declarationInit.isCallExpression()) {\n    return false\n  }\n\n  const declarationInitArguments = declarationInit.get('arguments')\n\n  if (\n    declarationInitArguments.length === 0 ||\n    declarationInitArguments.length > 2 ||\n    declarationInitArguments.some(argPath => !argPath.isArrayExpression())\n  ) {\n    return false\n  }\n\n  return true\n}\n"
  },
  {
    "path": "packages/babel-plugin-jsx-pragmatic/CHANGELOG.md",
    "content": "# @emotion/babel-plugin-jsx-pragmatic\n\n## 0.3.0\n\n### Minor Changes\n\n- [#2570](https://github.com/emotion-js/emotion/pull/2570) [`ea84c40`](https://github.com/emotion-js/emotion/commit/ea84c4096d7bc28f03c4cdc1f453bb64d09dcd15) Thanks [@G-Rath](https://github.com/G-Rath)! - Source code has been migrated to TypeScript. From now on type declarations will be emitted based on that, instead of being hand-written.\n\n## 0.2.1\n\n### Patch Changes\n\n- [#3029](https://github.com/emotion-js/emotion/pull/3029) [`eed5e6cf`](https://github.com/emotion-js/emotion/commit/eed5e6cf00f94f3011b93825ccce43cb2270c247) Thanks [@Andarist](https://github.com/Andarist)! - Fixed importing in Node ESM\n\n## 0.2.0\n\n### Minor Changes\n\n- [#2819](https://github.com/emotion-js/emotion/pull/2819) [`bbad8c79`](https://github.com/emotion-js/emotion/commit/bbad8c79937f8dfd5d93bf485c1e9ec44124d228) Thanks [@nicksrandall](https://github.com/nicksrandall)! - `exports` field has been added to the `package.json` manifest. It limits what files can be imported from a package but we've tried our best to allow importing all the files that were considered to be a part of the public API.\n\n## 0.1.5\n\n### Patch Changes\n\n- [`4c62ae9`](https://github.com/emotion-js/emotion/commit/4c62ae9447959d438928e1a26f76f1487983c968) [#1698](https://github.com/emotion-js/emotion/pull/1698) Thanks [@Andarist](https://github.com/Andarist)! - Add LICENSE file\n\n## 0.1.4\n\n### Patch Changes\n\n- [`539bc0c2`](https://github.com/emotion-js/emotion/commit/539bc0c2acf164b6c31f5df55f05db35932af100) [#1576](https://github.com/emotion-js/emotion/pull/1576) Thanks [@Andarist](https://github.com/Andarist)! - Insert import to @emotion/core after existing imports to avoid ordering issues with polyfills\n\n## 0.1.3\n\n### Patch Changes\n\n- [c0eb604d](https://github.com/emotion-js/emotion/commit/c0eb604d) [#1419](https://github.com/emotion-js/emotion/pull/1419) Thanks [@emmatown](https://github.com/emmatown)! - Update build tool\n"
  },
  {
    "path": "packages/babel-plugin-jsx-pragmatic/LICENSE",
    "content": "MIT License\n\nCopyright (c) Emotion team and other contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "packages/babel-plugin-jsx-pragmatic/README.md",
    "content": "# @emotion/babel-plugin-jsx-pragmatic\n\nThis package is a fork of [babel-plugin-jsx-pragmatic](https://github.com/jmm/babel-plugin-jsx-pragmatic) to support React Fragments.\n\nThe original README of babel-plugin-jsx-pragmatic with some modifications is shown below.\n\n---\n\n[@babel/plugin-transform-react-jsx](https://babeljs.io/docs/en/babel-plugin-transform-react-jsx.html) has a `pragma` option that's used when transforming JSX to function calls instead of the default function `React.createElement`.\n\nThis Babel plugin is a companion to that feature that allows you to dynamically load a module associated with the `pragma` value.\n\nExample:\n\nGiven this file:\n\n```js\n<Some jsx=\"element\" />\n```\n\nbabel would normally transform the JSX to:\n\n```js\nReact.createElement(Some, { jsx: 'element' })\n```\n\nBy setting the `pragma` option like this:\n\n```js\nbabel.transformSync(code, {\n  plugins: [\n    [\n      '@babel/plugin-transform-react-jsx',\n      {\n        pragma: 'whatever'\n      }\n    ]\n  ]\n})\n```\n\nIt would instead transform it to:\n\n```js\nwhatever(Some, { jsx: 'element' })\n```\n\nHowever, you might need to load a module corresponding to `whatever` in each module containing JSX:\n\n```js\nimport whatever from 'whatever'\n// or\nvar whatever = require('whatever')\n```\n\nThis plugin allows you to make that part dynamic as well:\n\n```js\nbabel.transformSync(code, {\n  plugins: [\n    [\n      '@babel/plugin-transform-react-jsx',\n      {\n        pragma: 'whatever'\n      }\n    ],\n\n    [\n      '@emotion/babel-plugin-jsx-pragmatic',\n      {\n        module: '/something/whatever',\n        import: 'whatever'\n      }\n    ]\n  ]\n})\n```\n\nResults in:\n\n```js\nimport { default as whatever } from '/something/whatever'\n```\n\n## Options\n\n### `module`\n\nString. Module ID or pathname. The value of the `ModuleSpecifier` of an import. Required.\n\n### `import`\n\nString. The identifier that you want to import the `module` with. This should correspond to the root identifier of the `pragma` value. Required. Examples:\n\n```js\n{\n  plugins: [\n    [\n      '@babel/plugin-transform-react-jsx',\n      {\n        pragma: 'x'\n      }\n    ],\n\n    [\n      '@emotion/babel-plugin-jsx-pragmatic',\n      {\n        module: '/something/whatever',\n        import: 'x'\n      }\n    ]\n  ]\n}\n\n{\n  plugins: [\n    [\n      '@babel/plugin-transform-react-jsx',\n      {\n        pragma: 'x.y'\n      }\n    ],\n\n    [\n      '@emotion/babel-plugin-jsx-pragmatic',\n      {\n        module: '/something/whatever',\n        import: 'x'\n      }\n    ]\n  ]\n}\n```\n\n### `export`\n\nString. The export that you want to import as `import` from `module`. Default value is `default` (the default export). Examples:\n\n```js\n// Will import the default export (`default`)\n{\n  module: \"whatever\",\n  import: \"x\"\n}\n// import {default as x} from \"whatever\"\n\n\n// Will import the default export (`default`)\n{\n  module: \"whatever\",\n  import: \"x\",\n  export: \"default\",\n}\n// import {default as x} from \"whatever\"\n\n\n// Will import the export named `something`\n{\n  module: \"whatever\",\n  import: \"x\",\n  export: \"something\",\n}\n// import {something as x} from \"whatever\"\n```\n\n# Known Issues\n\n- Doesn't do anything special in the case that the file being transformed\n  already imports or declares an identifier with the same name as `import`.\n\n- Doesn't take into account when a file actually contains a JSX pragma comment.\n"
  },
  {
    "path": "packages/babel-plugin-jsx-pragmatic/__tests__/__fixtures__/existing-imports.js",
    "content": "// inserted import has to go AFTER polyfills\nimport 'react-app-polyfill/ie11'\nimport 'react-app-polyfill/stable'\n\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport App from './App'\n\nReactDOM.render(<App />, document.getElementById('root'))\n"
  },
  {
    "path": "packages/babel-plugin-jsx-pragmatic/__tests__/__fixtures__/fragment-only.js",
    "content": "import * as React from 'react'\n\nconst F = () => <></>\n"
  },
  {
    "path": "packages/babel-plugin-jsx-pragmatic/__tests__/__fixtures__/minimal.js",
    "content": "import * as React from 'react'\n\nconst P = () => <p />\n"
  },
  {
    "path": "packages/babel-plugin-jsx-pragmatic/__tests__/__snapshots__/index.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`@emotion/babel-plugin-jsx-pragmatic existing-imports 1`] = `\n\"// inserted import has to go AFTER polyfills\nimport 'react-app-polyfill/ie11'\nimport 'react-app-polyfill/stable'\n\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport App from './App'\n\nReactDOM.render(<App />, document.getElementById('root'))\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\n// inserted import has to go AFTER polyfills\nimport 'react-app-polyfill/ie11';\nimport 'react-app-polyfill/stable';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport App from './App';\nimport { jsx as ___EmotionJSX } from \"@emotion/react\";\nReactDOM.render(<App />, document.getElementById('root'));\"\n`;\n\nexports[`@emotion/babel-plugin-jsx-pragmatic fragment-only 1`] = `\n\"import * as React from 'react'\n\nconst F = () => <></>\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport * as React from 'react';\nimport { jsx as ___EmotionJSX } from \"@emotion/react\";\n\nconst F = () => <></>;\"\n`;\n\nexports[`@emotion/babel-plugin-jsx-pragmatic minimal 1`] = `\n\"import * as React from 'react'\n\nconst P = () => <p />\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nimport * as React from 'react';\nimport { jsx as ___EmotionJSX } from \"@emotion/react\";\n\nconst P = () => <p />;\"\n`;\n"
  },
  {
    "path": "packages/babel-plugin-jsx-pragmatic/__tests__/index.js",
    "content": "import babelTester from 'babel-tester'\nimport jsxPragmatic from '@emotion/babel-plugin-jsx-pragmatic'\nimport { transformSync } from '@babel/core'\n\nbabelTester('@emotion/babel-plugin-jsx-pragmatic', __dirname, {\n  plugins: [\n    [\n      jsxPragmatic,\n      {\n        export: 'jsx',\n        module: '@emotion/react',\n        import: '___EmotionJSX'\n      }\n    ]\n  ]\n})\n\ntest('babel-plugin-jsx-pragmatic should throw error when invalid options', () => {\n  expect(() => {\n    transformSync('<></>', {\n      filename: __filename,\n      plugins: [[jsxPragmatic, { export: 'jsx' }]]\n    })\n  }).toThrow(\n    '@emotion/babel-plugin-jsx-pragmatic: You must specify `module` and `import`'\n  )\n})\n"
  },
  {
    "path": "packages/babel-plugin-jsx-pragmatic/babel__plugin-syntax-jsx.d.ts",
    "content": "declare module '@babel/plugin-syntax-jsx' {\n  const plugin: any\n  export default plugin\n}\n"
  },
  {
    "path": "packages/babel-plugin-jsx-pragmatic/package.json",
    "content": "{\n  \"name\": \"@emotion/babel-plugin-jsx-pragmatic\",\n  \"version\": \"0.3.0\",\n  \"description\": \"Insert code to load a module corresponding to JSX pragma.\",\n  \"main\": \"dist/emotion-babel-plugin-jsx-pragmatic.cjs.js\",\n  \"module\": \"dist/emotion-babel-plugin-jsx-pragmatic.esm.js\",\n  \"exports\": {\n    \".\": {\n      \"types\": {\n        \"import\": \"./dist/emotion-babel-plugin-jsx-pragmatic.cjs.mjs\",\n        \"default\": \"./dist/emotion-babel-plugin-jsx-pragmatic.cjs.js\"\n      },\n      \"module\": \"./dist/emotion-babel-plugin-jsx-pragmatic.esm.js\",\n      \"import\": \"./dist/emotion-babel-plugin-jsx-pragmatic.cjs.mjs\",\n      \"default\": \"./dist/emotion-babel-plugin-jsx-pragmatic.cjs.js\"\n    },\n    \"./package.json\": \"./package.json\"\n  },\n  \"license\": \"MIT\",\n  \"repository\": \"https://github.com/emotion-js/emotion/tree/main/packages/babel-plugin-jsx-pragmatic\",\n  \"dependencies\": {\n    \"@babel/plugin-syntax-jsx\": \"^7.17.12\"\n  },\n  \"peerDependencies\": {\n    \"@babel/core\": \"^7.0.0\"\n  },\n  \"files\": [\n    \"src\",\n    \"dist\"\n  ],\n  \"publishConfig\": {\n    \"access\": \"public\"\n  },\n  \"devDependencies\": {\n    \"@babel/core\": \"^7.18.5\",\n    \"@types/babel__core\": \"^7.1.18\"\n  }\n}\n"
  },
  {
    "path": "packages/babel-plugin-jsx-pragmatic/src/index.ts",
    "content": "import type {\n  NodePath,\n  PluginObj,\n  PluginPass,\n  types as BabelTypes\n} from '@babel/core'\nimport syntaxJsx from '@babel/plugin-syntax-jsx'\n\nconst findLast = <T>(arr: T[], predicate: (item: T) => boolean): T | null => {\n  for (let i = arr.length - 1; i >= 0; i--) {\n    if (predicate(arr[i])) {\n      return arr[i]\n    }\n  }\n\n  return null\n}\n\ninterface PluginPassWithOpts extends PluginPass {\n  opts: {\n    module: string\n    import: string\n    export?: string\n  }\n}\n\nexport default function jsxPragmatic(babel: {\n  types: typeof BabelTypes\n}): PluginObj<PluginPassWithOpts> {\n  const t = babel.types\n\n  function addPragmaImport(\n    path: NodePath<BabelTypes.Program>,\n    state: PluginPassWithOpts\n  ) {\n    const importDeclar = t.importDeclaration(\n      [\n        t.importSpecifier(\n          t.identifier(state.opts.import),\n          t.identifier(state.opts.export || 'default')\n        )\n      ],\n      t.stringLiteral(state.opts.module)\n    )\n\n    const targetPath = findLast(path.get('body'), p => p.isImportDeclaration())\n\n    if (targetPath) {\n      targetPath.insertAfter([importDeclar])\n    } else {\n      // Apparently it's now safe to do this even if Program begins with directives.\n      path.unshiftContainer('body', importDeclar)\n    }\n  }\n\n  return {\n    inherits: syntaxJsx,\n    pre: function () {\n      if (!(this.opts.module && this.opts.import)) {\n        throw new Error(\n          '@emotion/babel-plugin-jsx-pragmatic: You must specify `module` and `import`'\n        )\n      }\n    },\n    visitor: {\n      Program: {\n        exit: function (path, state) {\n          if (!state.get('jsxDetected')) return\n          addPragmaImport(path, state)\n        }\n      },\n\n      JSXElement: function (path, state) {\n        state.set('jsxDetected', true)\n      },\n      JSXFragment: function (path, state) {\n        state.set('jsxDetected', true)\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "packages/babel-preset-css-prop/CHANGELOG.md",
    "content": "# @emotion/babel-preset-css-prop\n\n## 11.12.0\n\n### Patch Changes\n\n- Updated dependencies [[`ea84c40`](https://github.com/emotion-js/emotion/commit/ea84c4096d7bc28f03c4cdc1f453bb64d09dcd15)]:\n  - @emotion/babel-plugin-jsx-pragmatic@0.3.0\n  - @emotion/babel-plugin@11.12.0\n\n## 11.11.0\n\n### Patch Changes\n\n- [#3029](https://github.com/emotion-js/emotion/pull/3029) [`eed5e6cf`](https://github.com/emotion-js/emotion/commit/eed5e6cf00f94f3011b93825ccce43cb2270c247) Thanks [@Andarist](https://github.com/Andarist)! - Fixed importing in Node ESM\n\n- Updated dependencies [[`336f3d50`](https://github.com/emotion-js/emotion/commit/336f3d50fd684ccbb160fff0c63d5560936f1ee5), [`eed5e6cf`](https://github.com/emotion-js/emotion/commit/eed5e6cf00f94f3011b93825ccce43cb2270c247)]:\n  - @emotion/babel-plugin@11.11.0\n  - @emotion/babel-plugin-jsx-pragmatic@0.2.1\n\n## 11.10.0\n\n### Minor Changes\n\n- [#2819](https://github.com/emotion-js/emotion/pull/2819) [`bbad8c79`](https://github.com/emotion-js/emotion/commit/bbad8c79937f8dfd5d93bf485c1e9ec44124d228) Thanks [@nicksrandall](https://github.com/nicksrandall)! - `exports` field has been added to the `package.json` manifest. It limits what files can be imported from a package but we've tried our best to allow importing all the files that were considered to be a part of the public API.\n\n### Patch Changes\n\n- Updated dependencies [[`bbad8c79`](https://github.com/emotion-js/emotion/commit/bbad8c79937f8dfd5d93bf485c1e9ec44124d228)]:\n  - @emotion/babel-plugin@11.10.0\n  - @emotion/babel-plugin-jsx-pragmatic@0.2.0\n\n## 11.2.0\n\n### Patch Changes\n\n- [`64bc9037`](https://github.com/emotion-js/emotion/commit/64bc9037b1172d46b3b42c58dce0b2533e488209) [#2245](https://github.com/emotion-js/emotion/pull/2245) Thanks [@0xBono](https://github.com/0xBono)! - Fixed the invalid example in the README.\n\n- Updated dependencies [[`c9b57f36`](https://github.com/emotion-js/emotion/commit/c9b57f36e99f8cfe86c971ddb29c7a5d70644bc1)]:\n  - @emotion/babel-plugin@11.2.0\n\n## 11.0.0\n\n### Major Changes\n\n- [`9e3671c4`](https://github.com/emotion-js/emotion/commit/9e3671c466975fb31cd45431e25cb60ffb677a70) [#2076](https://github.com/emotion-js/emotion/pull/2076) Thanks [@Andarist](https://github.com/Andarist)! - Removed `runtime` option that was introduced to this preset and deprecated shortly after that. If you want to configure `runtime: \"automatic\"`, replace `@emotion/babel-preset-css-prop` with `@babel/preset-react` and `@emotion/babel-plugin`. You can find out how to configure things properly here: https://emotion.sh/docs/css-prop#babel-preset\n\n- [`c5b12d90`](https://github.com/emotion-js/emotion/commit/c5b12d90316477e95ce3680a3c745cde328a14c1) [#1220](https://github.com/emotion-js/emotion/pull/1220) Thanks [@emmatown](https://github.com/emmatown)! - Removed support for the `instances` option, any usage of it should be replaced with the `importMap` option\n\n* [`c7850e61`](https://github.com/emotion-js/emotion/commit/c7850e61211d6aa26a3388399889a6072ee2f1fe) [#1656](https://github.com/emotion-js/emotion/pull/1656) Thanks [@Andarist](https://github.com/Andarist)! - `autoLabel` option no longer is a simple boolean. Instead we accept now 3 values: `dev-only` (the default), `always` and `never`.\n\n  Each possible value for this option produces different output code:\n\n  - with `dev-only` we optimize the production code, so there are no labels added there, but at the same time we keep labels for development environments,\n  - with `always` we always add labels when possible,\n  - with `never` we disable this entirely and no labels are added.\n\n### Minor Changes\n\n- [`c5b12d90`](https://github.com/emotion-js/emotion/commit/c5b12d90316477e95ce3680a3c745cde328a14c1) [#1220](https://github.com/emotion-js/emotion/pull/1220) Thanks [@emmatown](https://github.com/emmatown)! - Added the `importMap` option which allows you to tell `@emotion/babel-plugin` what imports it should look at to determine what it should transform so if you re-export Emotion's exports, you can still use the Babel transforms\n\n- [`c672175b`](https://github.com/emotion-js/emotion/commit/c672175b52e86de43b3d4092a8fe34b2023ceae8) [#1130](https://github.com/emotion-js/emotion/pull/1130) Thanks [@jtmthf](https://github.com/jtmthf)! - Adjust how arrays passed to css prop are transformed so function elements can be resolved at runtime.\n\n* [`0a4a22ff`](https://github.com/emotion-js/emotion/commit/0a4a22ffcfaa49d09a88856ef2d51e0d53e31b6d) [#1651](https://github.com/emotion-js/emotion/pull/1651) Thanks [@Andarist](https://github.com/Andarist)! - Allow `labelFormat` option to be a function.\n\n### Patch Changes\n\n- Updated dependencies [[`c672175b`](https://github.com/emotion-js/emotion/commit/c672175b52e86de43b3d4092a8fe34b2023ceae8), [`c5b12d90`](https://github.com/emotion-js/emotion/commit/c5b12d90316477e95ce3680a3c745cde328a14c1), [`5e803106`](https://github.com/emotion-js/emotion/commit/5e803106d391b7c036bdf634318b80337a1d9b70), [`b8476e08`](https://github.com/emotion-js/emotion/commit/b8476e08af4a2e8de94a112cb0daf6e8e4d56fe1), [`0a4a22ff`](https://github.com/emotion-js/emotion/commit/0a4a22ffcfaa49d09a88856ef2d51e0d53e31b6d), [`b0ad4f0c`](https://github.com/emotion-js/emotion/commit/b0ad4f0c628813a42c4637857be9a969429db6f0), [`9e998e37`](https://github.com/emotion-js/emotion/commit/9e998e3755c217027ad1be0af4c64644fe14c6bf), [`c65c5d88`](https://github.com/emotion-js/emotion/commit/c65c5d887002d76557eaefcb98091d795b13f9a9), [`5c7ec859`](https://github.com/emotion-js/emotion/commit/5c7ec85904633a11185066fa591dc8969f3f2ff2), [`c7850e61`](https://github.com/emotion-js/emotion/commit/c7850e61211d6aa26a3388399889a6072ee2f1fe), [`b7d21373`](https://github.com/emotion-js/emotion/commit/b7d21373d967d0f958dd59aaaa650047e23e8e8b), [`c5b12d90`](https://github.com/emotion-js/emotion/commit/c5b12d90316477e95ce3680a3c745cde328a14c1), [`828111cd`](https://github.com/emotion-js/emotion/commit/828111cd32d3fe8c984231201e518d1b6000bffd)]:\n  - @emotion/babel-plugin@11.0.0\n\n## 11.0.0-rc.0\n\n### Major Changes\n\n- [`9c4ebc16`](https://github.com/emotion-js/emotion/commit/9c4ebc160471097c5d04fb92dba3ed0df870bb63) [#2030](https://github.com/emotion-js/emotion/pull/2030) Thanks [@Andarist](https://github.com/Andarist)! - Release candidate version.\n\n### Patch Changes\n\n- Updated dependencies [[`9c4ebc16`](https://github.com/emotion-js/emotion/commit/9c4ebc160471097c5d04fb92dba3ed0df870bb63)]:\n  - @emotion/babel-plugin@11.0.0-rc.0\n\n## 11.0.0-next.10\n\n### Major Changes\n\n- [`c7850e61`](https://github.com/emotion-js/emotion/commit/c7850e61211d6aa26a3388399889a6072ee2f1fe) [#1656](https://github.com/emotion-js/emotion/pull/1656) Thanks [@Andarist](https://github.com/Andarist)! - `autoLabel` option no longer is a simple boolean. Instead we accept now 3 values: `dev-only` (the default), `always` and `never`.\n\n  Each possible value for this option produces different output code:\n\n  - with `dev-only` we optimize the production code, so there are no labels added there, but at the same time we keep labels for development environments,\n  - with `always` we always add labels when possible,\n  - with `never` we disable this entirely and no labels are added.\n\n### Patch Changes\n\n- Updated dependencies [[`b8476e08`](https://github.com/emotion-js/emotion/commit/b8476e08af4a2e8de94a112cb0daf6e8e4d56fe1), [`c7850e61`](https://github.com/emotion-js/emotion/commit/c7850e61211d6aa26a3388399889a6072ee2f1fe)]:\n  - @emotion/babel-plugin@11.0.0-next.10\n\n## 11.0.0-next.8\n\n### Minor Changes\n\n- [`c643107`](https://github.com/emotion-js/emotion/commit/c6431074cf52a4bb64587c86ce5d42fe2d49230b) [#1609](https://github.com/emotion-js/emotion/pull/1609) Thanks [@joltmode](https://github.com/joltmode)! - Adjust how arrays passed to css prop are transformed so function elements can be resolved at runtime.\n\n### Patch Changes\n\n- Updated dependencies [[`c643107`](https://github.com/emotion-js/emotion/commit/c6431074cf52a4bb64587c86ce5d42fe2d49230b)]:\n  - babel-plugin-emotion@11.0.0-next.8\n\n## 11.0.0-next.6\n\n### Minor Changes\n\n- [`0a4a22ff`](https://github.com/emotion-js/emotion/commit/0a4a22ffcfaa49d09a88856ef2d51e0d53e31b6d) [#1651](https://github.com/emotion-js/emotion/pull/1651) Thanks [@Andarist](https://github.com/Andarist)! - Allow `labelFormat` option to be a function.\n\n### Patch Changes\n\n- Updated dependencies [[`0a4a22ff`](https://github.com/emotion-js/emotion/commit/0a4a22ffcfaa49d09a88856ef2d51e0d53e31b6d), [`843bfb11`](https://github.com/emotion-js/emotion/commit/843bfb1153ee0dbe33d005fdd5c5be185daa5c41), [`828111cd`](https://github.com/emotion-js/emotion/commit/828111cd32d3fe8c984231201e518d1b6000bffd)]:\n  - babel-plugin-emotion@11.0.0-next.6\n\n## 11.0.0-next.3\n\n### Major Changes\n\n- [`c5b12d90`](https://github.com/emotion-js/emotion/commit/c5b12d90316477e95ce3680a3c745cde328a14c1) [#1220](https://github.com/emotion-js/emotion/pull/1220) Thanks [@emmatown](https://github.com/emmatown)! - Removed support for the `instances` option, any usage of it should be replaced with the `importMap` option\n\n### Minor Changes\n\n- [`c5b12d90`](https://github.com/emotion-js/emotion/commit/c5b12d90316477e95ce3680a3c745cde328a14c1) [#1220](https://github.com/emotion-js/emotion/pull/1220) Thanks [@emmatown](https://github.com/emmatown)! - Added the `importMap` option which allows you to tell babel-plugin-emotion what imports it should look at to determine what it should transform so if you re-export Emotion's exports, you can still use the Babel transforms\n\n### Patch Changes\n\n- Updated dependencies [[`c5b12d90`](https://github.com/emotion-js/emotion/commit/c5b12d90316477e95ce3680a3c745cde328a14c1), [`c5b12d90`](https://github.com/emotion-js/emotion/commit/c5b12d90316477e95ce3680a3c745cde328a14c1), [`f9feab1a`](https://github.com/emotion-js/emotion/commit/f9feab1a5d1ca88e53c3f7a063be5d5871cc93e8), [`c5b12d90`](https://github.com/emotion-js/emotion/commit/c5b12d90316477e95ce3680a3c745cde328a14c1)]:\n  - babel-plugin-emotion@11.0.0-next.3\n\n## 11.0.0-next.0\n\n### Patch Changes\n\n- Updated dependencies [[`b0ad4f0c`](https://github.com/emotion-js/emotion/commit/b0ad4f0c628813a42c4637857be9a969429db6f0), [`302bdba1`](https://github.com/emotion-js/emotion/commit/302bdba1a6b793484c09edeb668815c5e31ea555)]:\n  - babel-plugin-emotion@11.0.0-next.0\n\n## 10.2.1\n\n### Patch Changes\n\n- [`32c8528a`](https://github.com/emotion-js/emotion/commit/32c8528a63153acd05f3da1d627d8617758e8033) [#2084](https://github.com/emotion-js/emotion/pull/2084) Thanks [@Andarist](https://github.com/Andarist)! - Only use `'@babel/plugin-transform-react-jsx-development'` based on the `development` option when `runtime` is set to `\"automatic\"`. The classic runtime is not compatible with this plugin.\n\n## 10.2.0\n\n### Minor Changes\n\n- [`c55fadb4`](https://github.com/emotion-js/emotion/commit/c55fadb4c90f86e3c7837b4b3a5902f0e90a4f19) [#2074](https://github.com/emotion-js/emotion/pull/2074) Thanks [@Andarist](https://github.com/Andarist)! - `runtime` option has been deprecated. It still works and will continue to work in Emotion 10 but we have found out that including JSX plugin twice in the Babel configuration leads to hard to debug problems and it's not always obvious that some presets include it. If you want to configure `runtime: \"automatic\"` just replace `@emotion/babel-preset-css-prop` with `@babel/preset-react` and `babel-plugin-emotion`. You can find out how to configure things properly here: https://emotion.sh/docs/css-prop#babel-preset\n\n## 10.1.0\n\n### Minor Changes\n\n- [`71514b06`](https://github.com/emotion-js/emotion/commit/71514b06fe172517168f98321499f05e74388de6) [#1970](https://github.com/emotion-js/emotion/pull/1970) Thanks [@FLGMwt](https://github.com/FLGMwt)! - A new `runtime` option has been added that can be configured to `'automatic'` to opt into [the new JSX runtimes](https://reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html). To use this a compatible React version has to be used.\n\n## 10.0.27\n\n### Patch Changes\n\n- [`4c62ae9`](https://github.com/emotion-js/emotion/commit/4c62ae9447959d438928e1a26f76f1487983c968) [#1698](https://github.com/emotion-js/emotion/pull/1698) Thanks [@Andarist](https://github.com/Andarist)! - Add LICENSE file\n- Updated dependencies [[`4c62ae9`](https://github.com/emotion-js/emotion/commit/4c62ae9447959d438928e1a26f76f1487983c968)]:\n  - babel-plugin-emotion@10.0.27\n  - @emotion/babel-plugin-jsx-pragmatic@0.1.5\n\n## 10.0.23\n\n### Patch Changes\n\n- [`539bc0c2`](https://github.com/emotion-js/emotion/commit/539bc0c2acf164b6c31f5df55f05db35932af100) [#1576](https://github.com/emotion-js/emotion/pull/1576) Thanks [@Andarist](https://github.com/Andarist)! - Insert import to @emotion/core after existing imports to avoid ordering issues with polyfills\n\n* [`3927293d`](https://github.com/emotion-js/emotion/commit/3927293d0b9d96b4a7c00196e8430728759b1161) [#1569](https://github.com/emotion-js/emotion/pull/1569) Thanks [@Andarist](https://github.com/Andarist)! - Add dev hint about css object (generated by Babel) being stringified by accident\n\n* Updated dependencies [[`539bc0c2`](https://github.com/emotion-js/emotion/commit/539bc0c2acf164b6c31f5df55f05db35932af100), [`3927293d`](https://github.com/emotion-js/emotion/commit/3927293d0b9d96b4a7c00196e8430728759b1161), [`b3a0f148`](https://github.com/emotion-js/emotion/commit/b3a0f1484f2efcc78b447639ff2e0bc0f29915ae)]:\n  - @emotion/babel-plugin-jsx-pragmatic@0.1.4\n  - babel-plugin-emotion@10.0.23\n\n## 10.0.22\n\n### Patch Changes\n\n- [`1bb3efe3`](https://github.com/emotion-js/emotion/commit/1bb3efe399ddf0f3332187f3c751fbba9326d02c) [#1554](https://github.com/emotion-js/emotion/pull/1554) Thanks [@Andarist](https://github.com/Andarist)! - Prepend appended label string with semicolon to avoid problems with declaration blocks without a final semicolon\n\n- Updated dependencies [[`1bb3efe3`](https://github.com/emotion-js/emotion/commit/1bb3efe399ddf0f3332187f3c751fbba9326d02c)]:\n  - babel-plugin-emotion@10.0.22\n\n## 10.0.17\n\n### Patch Changes\n\n- [66cda641](https://github.com/emotion-js/emotion/commit/66cda64128631790b81e3c9df273a972358ea593) [#1478](https://github.com/emotion-js/emotion/pull/1478) Thanks [@Andarist](https://github.com/Andarist)! - Update Babel dependencies\n\n## 10.0.14\n\n### Patch Changes\n\n- [c0eb604d](https://github.com/emotion-js/emotion/commit/c0eb604d) [#1419](https://github.com/emotion-js/emotion/pull/1419) Thanks [@emmatown](https://github.com/emmatown)! - Update build tool\n"
  },
  {
    "path": "packages/babel-preset-css-prop/LICENSE",
    "content": "MIT License\n\nCopyright (c) Emotion team and other contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "packages/babel-preset-css-prop/README.md",
    "content": "# @emotion/babel-preset-css-prop\n\n> A Babel preset to automatically enable Emotion's css prop when using the classic JSX runtime. If you want to use [the new JSX runtimes](https://reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html) please do not use this preset but rather just include our [`@emotion/babel-plugin`](/packages/babel-plugin) directly and follow instructions for configuring the new JSX runtimes [here](/docs/css-prop.mdx#babel-preset).\n\n- [@emotion/babel-preset-css-prop](#emotionbabel-preset-css-prop)\n  - [Install](#install)\n  - [Usage](#usage)\n    - [Via CLI](#via-cli)\n    - [Via Node API](#via-node-api)\n  - [Features](#features)\n  - [Example](#example)\n  - [Options](#options)\n    - [Examples](#examples)\n\n## Install\n\n```bash\nyarn add @emotion/babel-preset-css-prop\n```\n\n## Usage\n\n> Note:\n>\n> This plugin is not compatible with `@babel/plugin-transform-react-inline-elements`. If you use both then your `css` prop styles won't be applied correctly.\n\n**.babelrc**\n\n```json\n{\n  \"presets\": [\"@emotion/babel-preset-css-prop\"]\n}\n```\n\n`@emotion/babel-preset-css-prop` includes the emotion plugin. The `@emotion/babel-plugin` entry should be removed from your config and any options moved to the preset. If you use `@babel/preset-react` or `@babel/preset-typescript` ensure that `@emotion/babel-preset-css-prop` is inserted after them in your babel config.\n\n```diff\n{\n+ \"presets\": [\n+   [\n+     \"@emotion/babel-preset-css-prop\",\n+     {\n+       \"autoLabel\": \"dev-only\",\n+       \"labelFormat\": \"[local]\"\n+     }\n+   ]\n+ ],\n- \"plugins\": [\n-   [\n-     \"@emotion\",\n-     {\n-       \"autoLabel\": \"dev-only\",\n-       \"labelFormat\": \"[local]\"\n-     }\n-   ]\n- ]\n}\n```\n\nSee [the options documentation](#options) for more information.\n\n### Via CLI\n\n```bash\nbabel --presets @emotion/babel-preset-css-prop script.js\n```\n\n### Via Node API\n\n```javascript\nrequire('@babel/core').transform(code, {\n  presets: ['@emotion/babel-preset-css-prop']\n})\n```\n\n## Features\n\nThis preset enables the `css` prop for an entire project via a single entry to the babel configuration. After adding the preset, compiled JSX code will use Emotion's `jsx` function instead of `React.createElement`.\n\n|        | Input                      | Output                                              |\n| ------ | -------------------------- | --------------------------------------------------- |\n| Before | `<img src=\"avatar.png\" />` | `React.createElement('img', { src: 'avatar.png' })` |\n| After  | `<img src=\"avatar.png\" />` | `jsx('img', { src: 'avatar.png' })`                 |\n\n`import { jsx } from '@emotion/react'` is automatically added to the top of files where required.\n\n## Example\n\n**In**\n\n```javascript\nconst Link = props => (\n  <a\n    css={{\n      color: 'hotpink',\n      '&:hover': {\n        color: 'darkorchid'\n      }\n    }}\n    {...props}\n  />\n)\n```\n\n**Out**\n\n```javascript\nimport { jsx as ___EmotionJSX } from '@emotion/react'\n\nfunction _extends() {\n  /* babel Object.assign polyfill */\n}\n\nvar _ref =\n  process.env.NODE_ENV === 'production'\n    ? {\n        name: '1fpk7dx-Link',\n        styles: 'color:hotpink;&:hover{color:darkorchid;}label:Link;'\n      }\n    : {\n        name: '1fpk7dx-Link',\n        styles: 'color:hotpink;&:hover{color:darkorchid;}label:Link;',\n        map: '/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImF1dG9tYXRpYy1pbXBvcnQuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUkiLCJmaWxlIjoiYXV0b21hdGljLWltcG9ydC5qcyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IExpbmsgPSBwcm9wcyA9PiAoXG4gIDxhXG4gICAgY3NzPXt7XG4gICAgICBjb2xvcjogJ2hvdHBpbmsnLFxuICAgICAgJyY6aG92ZXInOiB7XG4gICAgICAgIGNvbG9yOiAnZGFya29yY2hpZCdcbiAgICAgIH1cbiAgICB9fVxuICAgIHsuLi5wcm9wc31cbiAgLz5cbilcbiJdfQ== */'\n      }\n\nconst Link = props =>\n  ___EmotionJSX(\n    'a',\n    _extends(\n      {\n        css: _ref\n      },\n      props\n    )\n  )\n```\n\n_In addition to the custom JSX factory, this example includes `@emotion/babel-plugin` transforms that are enabled by default._\n\n## Options\n\nOptions for both `@emotion/babel-plugin` and `@babel/plugin-transform-react-jsx` are supported and will be forwarded to their respective plugin.\n\n> Refer to the plugin's documentation for full option documentation.\n>\n> - [`@emotion/babel-plugin`](https://emotion.sh/docs/babel)\n>\n> - [`@babel/plugin-transform-react-jsx`](https://babeljs.io/docs/en/babel-plugin-transform-react-jsx)\n\n### Examples\n\n```json\n{\n  \"presets\": [\n    [\n      \"@emotion/babel-preset-css-prop\",\n      {\n        \"autoLabel\": \"dev-only\",\n        \"labelFormat\": \"[local]\",\n        \"useBuiltIns\": false,\n        \"throwIfNamespace\": true\n      }\n    ]\n  ]\n}\n```\n\n_Options set to default values for demonstration purposes._\n"
  },
  {
    "path": "packages/babel-preset-css-prop/__tests__/__fixtures__/array-css-prop.js",
    "content": "import * as React from 'react'\n\nconst Component = props => <div css={[{ color: 'green' }]} {...props} />\n"
  },
  {
    "path": "packages/babel-preset-css-prop/__tests__/__fixtures__/index.js",
    "content": "import * as React from 'react'\n\nexport let Button = props => {\n  return (\n    <>\n      <button\n        css={{\n          color: 'hotpink'\n        }}\n        {...props}\n      />\n    </>\n  )\n}\n"
  },
  {
    "path": "packages/babel-preset-css-prop/__tests__/__snapshots__/index.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`@emotion/babel-preset-css-prop array-css-prop 1`] = `\n\"import * as React from 'react'\n\nconst Component = props => <div css={[{ color: 'green' }]} {...props} />\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport * as React from 'react';\nimport { jsx as ___EmotionJSX } from \"@emotion/react\";\n\nvar _ref = process.env.NODE_ENV === \"production\" ? {\n  name: \"v98kxt\",\n  styles: \"color:green\"\n} : {\n  name: \"1p2bh5c-Component\",\n  styles: \"color:green;label:Component;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFycmF5LWNzcy1wcm9wLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVnQyIsImZpbGUiOiJhcnJheS1jc3MtcHJvcC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0J1xuXG5jb25zdCBDb21wb25lbnQgPSBwcm9wcyA9PiA8ZGl2IGNzcz17W3sgY29sb3I6ICdncmVlbicgfV19IHsuLi5wcm9wc30gLz5cbiJdfQ== */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\n\nconst Component = props => ___EmotionJSX(\"div\", _extends({\n  css: _ref\n}, props));\"\n`;\n\nexports[`@emotion/babel-preset-css-prop index 1`] = `\n\"import * as React from 'react'\n\nexport let Button = props => {\n  return (\n    <>\n      <button\n        css={{\n          color: 'hotpink'\n        }}\n        {...props}\n      />\n    </>\n  )\n}\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport * as React from 'react';\nimport { jsx as ___EmotionJSX } from \"@emotion/react\";\n\nvar _ref = process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"1v4u9bq-Button\",\n  styles: \"color:hotpink;label:Button;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1RIiwiZmlsZSI6ImluZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnXG5cbmV4cG9ydCBsZXQgQnV0dG9uID0gcHJvcHMgPT4ge1xuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIGNzcz17e1xuICAgICAgICAgIGNvbG9yOiAnaG90cGluaydcbiAgICAgICAgfX1cbiAgICAgICAgey4uLnByb3BzfVxuICAgICAgLz5cbiAgICA8Lz5cbiAgKVxufVxuIl19 */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\n\nexport let Button = props => {\n  return ___EmotionJSX(React.Fragment, null, ___EmotionJSX(\"button\", _extends({\n    css: _ref\n  }, props)));\n};\"\n`;\n"
  },
  {
    "path": "packages/babel-preset-css-prop/__tests__/__snapshots__/options-are-used.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`options are used array-css-prop 1`] = `\n\"import * as React from 'react'\n\nconst Component = props => <div css={[{ color: 'green' }]} {...props} />\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport * as React from 'react';\nimport { jsx as ___EmotionJSX } from \"@emotion/react\";\n\nvar _ref = process.env.NODE_ENV === \"production\" ? {\n  name: \"v98kxt\",\n  styles: \"color:green\"\n} : {\n  name: \"vplqcj-__fixtures__--array-css-prop--Component\",\n  styles: \"color:green;label:__fixtures__--array-css-prop--Component;\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\n\nconst Component = props => ___EmotionJSX(\"div\", _extends({\n  css: _ref\n}, props));\"\n`;\n\nexports[`options are used index 1`] = `\n\"import * as React from 'react'\n\nexport let Button = props => {\n  return (\n    <>\n      <button\n        css={{\n          color: 'hotpink'\n        }}\n        {...props}\n      />\n    </>\n  )\n}\n\n\n      ↓ ↓ ↓ ↓ ↓ ↓\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"; }\n\nimport * as React from 'react';\nimport { jsx as ___EmotionJSX } from \"@emotion/react\";\n\nvar _ref = process.env.NODE_ENV === \"production\" ? {\n  name: \"3sn2xs\",\n  styles: \"color:hotpink\"\n} : {\n  name: \"17qglar-__fixtures__--__fixtures__--Button\",\n  styles: \"color:hotpink;label:__fixtures__--__fixtures__--Button;\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\n\nexport let Button = props => {\n  return ___EmotionJSX(React.Fragment, null, ___EmotionJSX(\"button\", _extends({\n    css: _ref\n  }, props)));\n};\"\n`;\n"
  },
  {
    "path": "packages/babel-preset-css-prop/__tests__/index.js",
    "content": "import babelTester from 'babel-tester'\nimport preset from '@emotion/babel-preset-css-prop'\n\nbabelTester('@emotion/babel-preset-css-prop', __dirname, {\n  presets: [preset]\n})\n"
  },
  {
    "path": "packages/babel-preset-css-prop/__tests__/options-are-used.js",
    "content": "import babelTester from 'babel-tester'\nimport preset from '@emotion/babel-preset-css-prop'\n\nbabelTester('options are used', __dirname, {\n  presets: [\n    [\n      preset,\n      {\n        sourceMap: false,\n        labelFormat: '[dirname]--[filename]--[local]'\n      }\n    ]\n  ]\n})\n"
  },
  {
    "path": "packages/babel-preset-css-prop/package.json",
    "content": "{\n  \"name\": \"@emotion/babel-preset-css-prop\",\n  \"version\": \"11.12.0\",\n  \"description\": \"A babel preset to automatically enable emotion's css prop\",\n  \"main\": \"dist/emotion-babel-preset-css-prop.cjs.js\",\n  \"module\": \"dist/emotion-babel-preset-css-prop.esm.js\",\n  \"exports\": {\n    \".\": {\n      \"types\": {\n        \"import\": \"./dist/emotion-babel-preset-css-prop.cjs.mjs\",\n        \"default\": \"./dist/emotion-babel-preset-css-prop.cjs.js\"\n      },\n      \"module\": \"./dist/emotion-babel-preset-css-prop.esm.js\",\n      \"import\": \"./dist/emotion-babel-preset-css-prop.cjs.mjs\",\n      \"default\": \"./dist/emotion-babel-preset-css-prop.cjs.js\"\n    },\n    \"./package.json\": \"./package.json\"\n  },\n  \"license\": \"MIT\",\n  \"repository\": \"https://github.com/emotion-js/emotion/tree/main/packages/babel-preset-css-prop\",\n  \"dependencies\": {\n    \"@babel/plugin-transform-react-jsx\": \"^7.17.12\",\n    \"@babel/runtime\": \"^7.18.3\",\n    \"@emotion/babel-plugin\": \"^11.12.0\",\n    \"@emotion/babel-plugin-jsx-pragmatic\": \"^0.3.0\"\n  },\n  \"peerDependencies\": {\n    \"@babel/core\": \"^7.0.0\"\n  },\n  \"publishConfig\": {\n    \"access\": \"public\"\n  },\n  \"files\": [\n    \"src\",\n    \"dist\"\n  ],\n  \"devDependencies\": {\n    \"@babel/core\": \"^7.18.5\"\n  }\n}\n"
  },
  {
    "path": "packages/babel-preset-css-prop/src/index.js",
    "content": "import jsx from '@babel/plugin-transform-react-jsx'\nimport pragmatic from '@emotion/babel-plugin-jsx-pragmatic'\nimport emotion from '@emotion/babel-plugin'\n\nlet pragmaName = '___EmotionJSX'\n\n// pull out the emotion options and pass everything else to the jsx transformer\n// this means if @babel/plugin-transform-react-jsx adds more options, it'll just work\n// and if @emotion/babel-plugin adds more options we can add them since this lives in\n// the same repo as @emotion/babel-plugin\n\nexport default (\n  api,\n  { pragma, sourceMap, autoLabel, labelFormat, importMap, ...options } = {}\n) => {\n  if (options.runtime) {\n    throw new Error(\n      'The `runtime` option has been removed. If you want to configure `runtime: \"automatic\"`, replace `@emotion/babel-preset-css-prop` with `@babel/preset-react` and `@emotion/babel-plugin`. You can find out how to configure things properly here: https://emotion.sh/docs/css-prop#babel-preset'\n    )\n  }\n\n  return {\n    plugins: [\n      [\n        pragmatic,\n        {\n          export: 'jsx',\n          module: '@emotion/react',\n          import: pragmaName\n        }\n      ],\n      [\n        jsx,\n        {\n          pragma: pragmaName,\n          pragmaFrag: 'React.Fragment',\n          ...options\n        }\n      ],\n      [\n        emotion,\n        {\n          sourceMap,\n          autoLabel,\n          labelFormat,\n          cssPropOptimization: true,\n          importMap\n        }\n      ]\n    ]\n  }\n}\n"
  },
  {
    "path": "packages/cache/CHANGELOG.md",
    "content": "# @emotion/cache\n\n## 11.14.0\n\n### Minor Changes\n\n- [#3277](https://github.com/emotion-js/emotion/pull/3277) [`8dc1a6d`](https://github.com/emotion-js/emotion/commit/8dc1a6dd19d2dc9ce435ef0aff85ccf5647f5d2e) Thanks [@Andarist](https://github.com/Andarist)! - Source code has been migrated to TypeScript. From now on type declarations will be emitted based on that, instead of being hand-written.\n\n## 11.13.5\n\n### Patch Changes\n\n- [#3270](https://github.com/emotion-js/emotion/pull/3270) [`77d930d`](https://github.com/emotion-js/emotion/commit/77d930dc708015ff6fd34a1084bb343b02d732fa) Thanks [@emmatown](https://github.com/emmatown)! - Fix inconsistent hashes using development vs production bundles/`exports` conditions when using `@emotion/babel-plugin` with `sourceMap: true` (the default). This is particularly visible when using Emotion with the Next.js Pages router where the `development` condition is used when bundling code but not when importing external code with Node.js.\n\n- Updated dependencies [[`77d930d`](https://github.com/emotion-js/emotion/commit/77d930dc708015ff6fd34a1084bb343b02d732fa)]:\n  - @emotion/utils@1.4.2\n\n## 11.13.1\n\n### Patch Changes\n\n- [#3219](https://github.com/emotion-js/emotion/pull/3219) [`c72d279`](https://github.com/emotion-js/emotion/commit/c72d2798fe5d9e245ebe91e1b612919fda4ee0cf) Thanks [@Andarist](https://github.com/Andarist)! - Removed incorrect tripleslash directive referencing node types\n\n## 11.13.0\n\n### Minor Changes\n\n- [#3198](https://github.com/emotion-js/emotion/pull/3198) [`d8ff8a5`](https://github.com/emotion-js/emotion/commit/d8ff8a5990c691017b463b3fa23a9f46ab28147b) Thanks [@Andarist](https://github.com/Andarist)! - Migrated away from relying on `process.env.NODE_ENV` checks to differentiate between production and development builds.\n\n  Development builds (and other environment-specific builds) can be used by using proper conditions (see [here](https://nodejs.org/docs/v20.15.1/api/packages.html#resolving-user-conditions)). Most modern bundlers/frameworks already preconfigure those for the user so no action has to be taken.\n\n  Default files should continue to work in all environments.\n\n- [#3215](https://github.com/emotion-js/emotion/pull/3215) [`a9f6912`](https://github.com/emotion-js/emotion/commit/a9f691299844bf6837b7ad41ee17cd912496f3d5) Thanks [@Andarist](https://github.com/Andarist)! - Added `edge-light` and `workerd` conditions to `package.json` manifest to better serve users using Vercel Edge and Cloudflare Workers.\n\n### Patch Changes\n\n- Updated dependencies [[`d8ff8a5`](https://github.com/emotion-js/emotion/commit/d8ff8a5990c691017b463b3fa23a9f46ab28147b), [`a9f6912`](https://github.com/emotion-js/emotion/commit/a9f691299844bf6837b7ad41ee17cd912496f3d5)]:\n  - @emotion/sheet@1.4.0\n  - @emotion/utils@1.4.0\n\n## 11.12.0\n\n### Patch Changes\n\n- Updated dependencies [[`7f8db2d`](https://github.com/emotion-js/emotion/commit/7f8db2d7a900bb34995db66084a99d512811e33d), [`b1d16b0`](https://github.com/emotion-js/emotion/commit/b1d16b087d057524f374e347fdfd6a03e505107a), [`16d8a8c`](https://github.com/emotion-js/emotion/commit/16d8a8c2198461c4842c73048b406c346a70aa59), [`52aadc6`](https://github.com/emotion-js/emotion/commit/52aadc6e77140867392f81545cc92e04fd84d453), [`52aadc6`](https://github.com/emotion-js/emotion/commit/52aadc6e77140867392f81545cc92e04fd84d453)]:\n  - @emotion/memoize@0.9.0\n  - @emotion/weak-memoize@0.4.0\n  - @emotion/utils@1.3.0\n  - @emotion/sheet@1.3.0\n\n## 11.11.0\n\n### Minor Changes\n\n- [#3031](https://github.com/emotion-js/emotion/pull/3031) [`336f3d50`](https://github.com/emotion-js/emotion/commit/336f3d50fd684ccbb160fff0c63d5560936f1ee5) Thanks [@Andarist](https://github.com/Andarist)! - Added support for cascade `@layer`s by updating the underlying parser ([stylis](https://github.com/thysultan/stylis)).\n\n### Patch Changes\n\n- [#3029](https://github.com/emotion-js/emotion/pull/3029) [`eed5e6cf`](https://github.com/emotion-js/emotion/commit/eed5e6cf00f94f3011b93825ccce43cb2270c247) Thanks [@Andarist](https://github.com/Andarist)! - Fixed importing in Node ESM\n\n- Updated dependencies [[`eed5e6cf`](https://github.com/emotion-js/emotion/commit/eed5e6cf00f94f3011b93825ccce43cb2270c247)]:\n  - @emotion/memoize@0.8.1\n  - @emotion/sheet@1.2.2\n  - @emotion/utils@1.2.1\n  - @emotion/weak-memoize@0.3.1\n\n## 11.10.8\n\n### Patch Changes\n\n- [#3025](https://github.com/emotion-js/emotion/pull/3025) [`6bd13425`](https://github.com/emotion-js/emotion/commit/6bd13425a2b413150c81e63fad1105d7968b5e6f) Thanks [@Andarist](https://github.com/Andarist)! - Fixed a parsing issue with `&` within nested functions in declaration values by updating the underlying parser ([stylis](https://github.com/thysultan/stylis)).\n\n## 11.10.7\n\n### Patch Changes\n\n- [#3019](https://github.com/emotion-js/emotion/pull/3019) [`b02be0ba`](https://github.com/emotion-js/emotion/commit/b02be0bae0048df4b3a8567436bc31059b00d213) Thanks [@Andarist](https://github.com/Andarist)! - Fixed `/* emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason */` not disabling the warning for rules defined inside other rules.\n\n## 11.10.5\n\n### Patch Changes\n\n- [#2890](https://github.com/emotion-js/emotion/pull/2890) [`d8a13bca`](https://github.com/emotion-js/emotion/commit/d8a13bcae81812d3dff643bcf446709f965f0909) Thanks [@Andarist](https://github.com/Andarist)! - An edge case issue with some specific CSS variables being treated as prefixable declarations got fixed by updating the underlying parser ([stylis](https://github.com/thysultan/stylis)).\n\n- Updated dependencies [[`61c66963`](https://github.com/emotion-js/emotion/commit/61c66963dd8426b59d1ec424b5d1b41a371f9d49)]:\n  - @emotion/sheet@1.2.1\n\n## 11.10.3\n\n### Patch Changes\n\n- [#2864](https://github.com/emotion-js/emotion/pull/2864) [`b9b8b749`](https://github.com/emotion-js/emotion/commit/b9b8b7493d6aea7cb2543aa1925eb2cac9636be9) Thanks [@Andarist](https://github.com/Andarist)! - Fixed a regression that could cause a crash when looking for an ignoring comment for unsafe pseudo-classes.\n\n## 11.10.2\n\n### Patch Changes\n\n- [#2751](https://github.com/emotion-js/emotion/pull/2751) [`0ffd6068`](https://github.com/emotion-js/emotion/commit/0ffd6068fe1c455788c0099b350ea771ce5657ee) Thanks [@Andarist](https://github.com/Andarist), [@kyoncy](https://github.com/kyoncy)! - Fix `/* emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason */` not disabling the warning when there are multiple blocks of CSS.\n\n## 11.10.1\n\n### Patch Changes\n\n- [#2842](https://github.com/emotion-js/emotion/pull/2842) [`28e9b499`](https://github.com/emotion-js/emotion/commit/28e9b4996f45d209bfc821927f9c41e378ebc10b) Thanks [@Andarist](https://github.com/Andarist)! - Thanks to the recently added `exports` field, the package now includes a `worker` condition that can be utilized by properly configured bundlers when targeting worker-like environments. It fixes the issue with browser-specific files being prioritized by some bundlers when targeting workers.\n\n## 11.10.0\n\n### Minor Changes\n\n- [#2819](https://github.com/emotion-js/emotion/pull/2819) [`bbad8c79`](https://github.com/emotion-js/emotion/commit/bbad8c79937f8dfd5d93bf485c1e9ec44124d228) Thanks [@nicksrandall](https://github.com/nicksrandall)! - `exports` field has been added to the `package.json` manifest. It limits what files can be imported from a package but we've tried our best to allow importing all the files that were considered to be a part of the public API.\n\n### Patch Changes\n\n- Updated dependencies [[`bbad8c79`](https://github.com/emotion-js/emotion/commit/bbad8c79937f8dfd5d93bf485c1e9ec44124d228), [`bbad8c79`](https://github.com/emotion-js/emotion/commit/bbad8c79937f8dfd5d93bf485c1e9ec44124d228)]:\n  - @emotion/memoize@0.8.0\n  - @emotion/sheet@1.2.0\n  - @emotion/utils@1.2.0\n  - @emotion/weak-memoize@0.3.0\n\n## 11.9.3\n\n### Patch Changes\n\n- [#2728](https://github.com/emotion-js/emotion/pull/2728) [`6c2d7a60`](https://github.com/emotion-js/emotion/commit/6c2d7a6010af85502ae33d14dcbd3bb62ed7612e) Thanks [@Peeja](https://github.com/Peeja)! - TypeScript type for the `container` option has been adjusted. It will now accept a `ShadowRoot`, or any other kind of `Node`.\n\n- Updated dependencies [[`6c2d7a60`](https://github.com/emotion-js/emotion/commit/6c2d7a6010af85502ae33d14dcbd3bb62ed7612e)]:\n  - @emotion/sheet@1.1.1\n\n## 11.7.1\n\n### Patch Changes\n\n- [#2590](https://github.com/emotion-js/emotion/pull/2590) [`1554a7e2`](https://github.com/emotion-js/emotion/commit/1554a7e264e05780b2c5bd74ccb20a92005ba61d) Thanks [@Andarist](https://github.com/Andarist)! - Upgraded and pinned the version of Stylis - the CSS parser that Emotion uses under the hood.\n\n## 11.6.0\n\n### Minor Changes\n\n- [#2521](https://github.com/emotion-js/emotion/pull/2521) [`516fe458`](https://github.com/emotion-js/emotion/commit/516fe458058c9ec8218740472b301e935801ebbc) Thanks [@mnajdova](https://github.com/mnajdova)! - Added `insertionPoint` option to the `createCache`. It can be used to insert rules after the specified element. For example, to use it with the `CacheProvider` from `@emotion/react` you can do this:\n\n  ```jsx\n  const head = document.querySelector('head')\n\n  // <meta name=\"emotion-insertion-point\" content=\"\">\n  const emotionInsertionPoint = document.createElement('meta')\n  emotionInsertionPoint.setAttribute('name', 'emotion-insertion-point')\n  emotionInsertionPoint.setAttribute('content', '')\n\n  head.appendChild(emotionInsertionPoint)\n\n  // the emotion sheets should be inserted right after the meta tag\n  const cache = createCache({\n    key: 'my-app',\n    insertionPoint: emotionInsertionPoint\n  })\n\n  function App() {\n    return (\n      <CacheProvider value={cache}>\n        <Main />\n      </CacheProvider>\n    )\n  }\n  ```\n\n### Patch Changes\n\n- Updated dependencies [[`9e82a991`](https://github.com/emotion-js/emotion/commit/9e82a991624b18c20c46c5974e8a127c94a54711)]:\n  - @emotion/sheet@1.1.0\n\n## 11.5.0\n\n### Patch Changes\n\n- [#2498](https://github.com/emotion-js/emotion/pull/2498) [`e5beae8e`](https://github.com/emotion-js/emotion/commit/e5beae8e320f3d1455e45efecdfeb7d757687a43) Thanks [@Andarist](https://github.com/Andarist)! - Fixed an edge case issue with incorrect rules being generated. When a context selector (`&`) was used not at the beginning of a selector (which is not valid SCSS but is allowed by the Stylis parser that we are using) within a group of selectors containing a pseudoclass then it was not replaced correctly with the current context selector.\n\n* [#2493](https://github.com/emotion-js/emotion/pull/2493) [`9ae4a91a`](https://github.com/emotion-js/emotion/commit/9ae4a91a08a6f7c5ca26a585f1c271a179db4623) Thanks [@Andarist](https://github.com/Andarist)! - Improved the declared types related to Stylis. This should improve the compatibility with the types published in `@types/stylis`.\n\n* Updated dependencies [[`f2eda829`](https://github.com/emotion-js/emotion/commit/f2eda8295429dd1892a06cbc9496321f2a55c10a)]:\n  - @emotion/sheet@1.0.3\n\n## 11.4.0\n\n### Patch Changes\n\n- [#2361](https://github.com/emotion-js/emotion/pull/2361) [`38f9d44f`](https://github.com/emotion-js/emotion/commit/38f9d44f919dccbf66c835ccde3f08ab927a4940) Thanks [@danieldelcore](https://github.com/danieldelcore), [@emmatown](https://github.com/emmatown)! - Fixed moving of client-side inserted style tags from Emotion 10 when intending to hydrate Emotion 11 styles resulting in losing styles in production\n\n## 11.1.3\n\n### Patch Changes\n\n- [`704b0092`](https://github.com/emotion-js/emotion/commit/704b0092ebba648c3937cc281e4d549565968201) [#2180](https://github.com/emotion-js/emotion/pull/2180) Thanks [@Andarist](https://github.com/Andarist)! - Fixed an issue with global styles containing pseudo selectors in at-rules not being able to be inserted.\n\n## 11.0.0\n\n### Major Changes\n\n- [`105de5c8`](https://github.com/emotion-js/emotion/commit/105de5c8752be0983c000e1e26462dc8fcf0708d) [#1572](https://github.com/emotion-js/emotion/pull/1572) Thanks [@Andarist](https://github.com/Andarist)! - From now on `key` option is required. Please make sure it's unique (and not equal to `\"css\"`) as it's used for linking styles to your cache. If multiple caches share the same key they might \"fight\" for each other's style elements.\n\n* [`9e998e37`](https://github.com/emotion-js/emotion/commit/9e998e3755c217027ad1be0af4c64644fe14c6bf) [#1817](https://github.com/emotion-js/emotion/pull/1817) Thanks [@Andarist](https://github.com/Andarist)! - The parser we use ([Stylis](https://github.com/thysultan/stylis.js)) got upgraded. It fixes some long-standing parsing edge cases while being smaller and faster 🚀\n\n  It has been completely rewritten and comes with some breaking changes. The most notable ones that might affect Emotion users are:\n\n  - plugins written for the former Stylis v3 are not compatible with the new version. To learn more on how to write a plugin for Stylis v4 you can check out its [README](https://github.com/thysultan/stylis.js#middleware) and the source code of core plugins.\n  - vendor-prefixing was previously customizable using `prefix` option. This was always limited to turning off all of some of the prefixes as all available prefixes were on by default. The `prefix` option is gone and to customize which prefixes are applied you need to fork (copy-paste) the prefixer plugin and adjust it to your needs. While this being somewhat more problematic to setup at first we believe that the vast majority of users were not customizing this anyway. By not including the possibility to customize this through an extra option the final solution is more performant because there is no extra overhead of checking if a particular property should be prefixed or not.\n  - the prefixer is now just a plugin which happens to be included in the default `stylisPlugins`. If you plan to use custom `stylisPlugins` and you want to have your styles prefixed automatically you must include prefixer in your custom `stylisPlugins`. You can import `prefixer` from the `stylis` module to do that.\n  - `@import` rules are no longer special-cased. The responsibility to put them first has been moved to the author of the styles. They also can't be nested within other rules now. It's only possible to write them at the top level of global styles.\n\n### Minor Changes\n\n- [`4a891bf6`](https://github.com/emotion-js/emotion/commit/4a891bf6a30e3bb37f8f32031fa75a571c637d9c) [#1473](https://github.com/emotion-js/emotion/pull/1473) Thanks [@jcharry](https://github.com/jcharry)! - The new `prepend` option can make Emotion add style tags at the beginning of the specified DOM container instead of the end.\n\n### Patch Changes\n\n- [`a8eb4e75`](https://github.com/emotion-js/emotion/commit/a8eb4e75eed26763dc4f82ddd9bb49af4552768b) [#1998](https://github.com/emotion-js/emotion/pull/1998) Thanks [@Andarist](https://github.com/Andarist)! - Styles are now correctly extracted from the correct cache (`key`-sensitive) on the server.\n\n* [`105de5c8`](https://github.com/emotion-js/emotion/commit/105de5c8752be0983c000e1e26462dc8fcf0708d) [#1572](https://github.com/emotion-js/emotion/pull/1572) Thanks [@Andarist](https://github.com/Andarist)! - Fixed issue with SSRed styles causing a React rehydration mismatch between server & client when cache was created in render.\n\n- [`39be057b`](https://github.com/emotion-js/emotion/commit/39be057b1a0c6b76f2cb7a455cb8bc35fe875ba0) [#1997](https://github.com/emotion-js/emotion/pull/1997) Thanks [@Andarist](https://github.com/Andarist)! - From now on an empty rule will get inserted into the DOM in non-production environments if it gets created by the user. This helps to grab used `key`s from the (JS)DOM even for caches that have not inserted any actual rules to the document yet. It allows `@emotion/jest` to find those and serialize Emotion classes properly in situations like this:\n\n  ```js\n  import styled from '@emotion/styled/macro'\n  import { render } from '@testing-library/react'\n  const Div = styled.div``\n  test('foo', () => {\n    const { container } = render(<Div />)\n    expect(container).toMatchSnapshot()\n  })\n  ```\n\n- Updated dependencies [[`42df3f3b`](https://github.com/emotion-js/emotion/commit/42df3f3bc01526eed61cedba106d86b9e3807f9d), [`4a891bf6`](https://github.com/emotion-js/emotion/commit/4a891bf6a30e3bb37f8f32031fa75a571c637d9c), [`1e4a741d`](https://github.com/emotion-js/emotion/commit/1e4a741de6424d3d9c1f3ca9695e1953bed3a194), [`debaad9a`](https://github.com/emotion-js/emotion/commit/debaad9ab4bd6c80312092826d9146f3d29c0899), [`dfe79aca`](https://github.com/emotion-js/emotion/commit/dfe79aca696fc688f960218b16afee197926fe71), [`9e998e37`](https://github.com/emotion-js/emotion/commit/9e998e3755c217027ad1be0af4c64644fe14c6bf), [`9e998e37`](https://github.com/emotion-js/emotion/commit/9e998e3755c217027ad1be0af4c64644fe14c6bf)]:\n  - @emotion/sheet@1.0.0\n  - @emotion/utils@1.0.0\n\n## 11.0.0-rc.0\n\n### Major Changes\n\n- [`9c4ebc16`](https://github.com/emotion-js/emotion/commit/9c4ebc160471097c5d04fb92dba3ed0df870bb63) [#2030](https://github.com/emotion-js/emotion/pull/2030) Thanks [@Andarist](https://github.com/Andarist)! - Release candidate version.\n\n### Patch Changes\n\n- Updated dependencies [[`9c4ebc16`](https://github.com/emotion-js/emotion/commit/9c4ebc160471097c5d04fb92dba3ed0df870bb63)]:\n  - @emotion/sheet@1.0.0-rc.0\n  - @emotion/utils@1.0.0-rc.0\n\n## 11.0.0-next.19\n\n### Patch Changes\n\n- [`42df3f3b`](https://github.com/emotion-js/emotion/commit/42df3f3bc01526eed61cedba106d86b9e3807f9d) [#2028](https://github.com/emotion-js/emotion/pull/2028) Thanks [@Andarist](https://github.com/Andarist)! - Fixed an issue with Emotion messing up style elements already processed by previously initialized Emotion copy.\n\n- Updated dependencies [[`42df3f3b`](https://github.com/emotion-js/emotion/commit/42df3f3bc01526eed61cedba106d86b9e3807f9d)]:\n  - @emotion/sheet@1.0.0-next.5\n\n## 11.0.0-next.18\n\n### Patch Changes\n\n- [`19df60b8`](https://github.com/emotion-js/emotion/commit/19df60b8382814f241f909e1f4cb98fe19e72a4a) [#2015](https://github.com/emotion-js/emotion/pull/2015) Thanks [@Andarist](https://github.com/Andarist)! - Fixed an issue with rules nested in orphaned pseudo selectors not being adjusted correctly.\n\n## 11.0.0-next.16\n\n### Patch Changes\n\n- [`a8eb4e75`](https://github.com/emotion-js/emotion/commit/a8eb4e75eed26763dc4f82ddd9bb49af4552768b) [#1998](https://github.com/emotion-js/emotion/pull/1998) Thanks [@Andarist](https://github.com/Andarist)! - Styles are now correctly extracted from the correct cache (`key`-sensitive) on the server.\n\n* [`dfe98028`](https://github.com/emotion-js/emotion/commit/dfe98028451a27c5190fa1ba138e51ef3d6d9be1) [#2003](https://github.com/emotion-js/emotion/pull/2003) Thanks [@Andarist](https://github.com/Andarist)! - Fixed an issue with orphaned pseudo selectors (e.g. `:hover` - where `&:hover`, `div:hover`, etc are not considered orphaned) having the context selector (the one computed based on all ancestor levels selectors) doubled in a descendant at-rule.\n\n- [`39be057b`](https://github.com/emotion-js/emotion/commit/39be057b1a0c6b76f2cb7a455cb8bc35fe875ba0) [#1997](https://github.com/emotion-js/emotion/pull/1997) Thanks [@Andarist](https://github.com/Andarist)! - From now on an empty rule will get inserted into the DOM in non-production environments if it gets created by the user. This helps to grab used `key`s from the (JS)DOM even for caches that have not inserted any actual rules to the document yet. It allows `@emotion/jest` to find those and serialize Emotion classes properly in situations like this:\n\n  ```js\n  import styled from '@emotion/styled/macro'\n  import { render } from '@testing-library/react'\n  const Div = styled.div``\n  test('foo', () => {\n    const { container } = render(<Div />)\n    expect(container).toMatchSnapshot()\n  })\n  ```\n\n- Updated dependencies [[`debaad9a`](https://github.com/emotion-js/emotion/commit/debaad9ab4bd6c80312092826d9146f3d29c0899), [`39be057b`](https://github.com/emotion-js/emotion/commit/39be057b1a0c6b76f2cb7a455cb8bc35fe875ba0)]:\n  - @emotion/utils@1.0.0-next.1\n  - @emotion/sheet@1.0.0-next.4\n\n## 11.0.0-next.15\n\n### Patch Changes\n\n- Updated dependencies [[`dc1a0c5e`](https://github.com/emotion-js/emotion/commit/dc1a0c5ed78b27fb7ce49b6296f2ca8631654cd1)]:\n  - @emotion/sheet@1.0.0-next.3\n\n## 11.0.0-next.13\n\n### Major Changes\n\n- [`9e998e37`](https://github.com/emotion-js/emotion/commit/9e998e3755c217027ad1be0af4c64644fe14c6bf) [#1817](https://github.com/emotion-js/emotion/pull/1817) Thanks [@Andarist](https://github.com/Andarist)! - The parser we use ([Stylis](https://github.com/thysultan/stylis.js)) got upgraded. It fixes some long-standing parsing edge cases while being smaller and faster 🚀\n\n  It has been completely rewritten and comes with some breaking changes. Most notable ones that might affect Emotion users are:\n\n  - plugins written for the former Stylis v3 are not compatible with the new version. To learn more on how to write a plugin for Stylis v4 you can check out its [README](https://github.com/thysultan/stylis.js#middleware) and the source code of core plugins.\n  - vendor-prefixing was previously customizable using `prefix` option. This was always limited to turning off all of some of the prefixes as all available prefixes were on by default. The `prefix` option is gone and to customize which prefixes are applied you need to fork (copy-paste) the prefixer plugin and adjust it to your needs. While this being somewhat more problematic to setup at first we believe that the vast majority of users were not customizing this anyway. By not including the possibility to customize this through an extra option the final solution is more performant because there is no extra overhead of checking if a particular property should be prefixed or not.\n  - Prefixer is now just a plugin which happens to be put in default `stylisPlugins`. If you plan to use custom `stylisPlugins` and you want to have your styles prefixed automatically you must include prefixer in your custom `stylisPlugins`. You can import `prefixer` from the `stylis` module to do that.\n  - `@import` rules are no longer special-cased. The responsibility to put them first has been moved to the author of the styles. They also can't be nested within other rules now. It's only possible to write them at the top level of global styles.\n\n### Patch Changes\n\n- Updated dependencies [[`91046a8c`](https://github.com/emotion-js/emotion/commit/91046a8c188327a65daac61583ef3c4458f30afb), [`9e998e37`](https://github.com/emotion-js/emotion/commit/9e998e3755c217027ad1be0af4c64644fe14c6bf), [`9e998e37`](https://github.com/emotion-js/emotion/commit/9e998e3755c217027ad1be0af4c64644fe14c6bf)]:\n  - @emotion/sheet@1.0.0-next.2\n  - @emotion/utils@1.0.0-next.0\n\n## 11.0.0-next.12\n\n### Major Changes\n\n- [`105de5c8`](https://github.com/emotion-js/emotion/commit/105de5c8752be0983c000e1e26462dc8fcf0708d) [#1572](https://github.com/emotion-js/emotion/pull/1572) Thanks [@Andarist](https://github.com/Andarist)! - From now on `key` option is required. Please make sure it's unique (and not equal to 'css') as it's used for linking styles to your cache. If multiple caches share the same key they might \"fight\" for each other's style elements.\n\n### Patch Changes\n\n- [`105de5c8`](https://github.com/emotion-js/emotion/commit/105de5c8752be0983c000e1e26462dc8fcf0708d) [#1572](https://github.com/emotion-js/emotion/pull/1572) Thanks [@Andarist](https://github.com/Andarist)! - Fixed issue with SSRed styles causing a React rehydration mismatch between server & client when cache was created in render.\n\n## 11.0.0-next.10\n\n### Patch Changes\n\n- [`dfe79aca`](https://github.com/emotion-js/emotion/commit/dfe79aca696fc688f960218b16afee197926fe71) [#1572](https://github.com/emotion-js/emotion/pull/1572) Thanks [@Andarist](https://github.com/Andarist)! - Use sheet's `rehydrate` method for SSRed styles which inserts rehydrated styles at correct position when used in combination with `prepend` option.\n- Updated dependencies [[`1e4a741d`](https://github.com/emotion-js/emotion/commit/1e4a741de6424d3d9c1f3ca9695e1953bed3a194), [`dfe79aca`](https://github.com/emotion-js/emotion/commit/dfe79aca696fc688f960218b16afee197926fe71)]:\n  - @emotion/sheet@0.10.0-next.1\n\n## 11.0.0-next.6\n\n### Minor Changes\n\n- [`4a891bf6`](https://github.com/emotion-js/emotion/commit/4a891bf6a30e3bb37f8f32031fa75a571c637d9c) [#1473](https://github.com/emotion-js/emotion/pull/1473) Thanks [@jcharry](https://github.com/jcharry)! - Accept new `prepend` option to allow for adding style tags at the beginning of the specified DOM container.\n\n### Patch Changes\n\n- Updated dependencies [[`4a891bf6`](https://github.com/emotion-js/emotion/commit/4a891bf6a30e3bb37f8f32031fa75a571c637d9c)]:\n  - @emotion/sheet@0.10.0-next.0\n\n## 11.0.0-next.0\n\n### Major Changes\n\n- [`302bdba1`](https://github.com/emotion-js/emotion/commit/302bdba1a6b793484c09edeb668815c5e31ea555) [#1600](https://github.com/emotion-js/emotion/pull/1600) Thanks [@emmatown](https://github.com/emmatown)! - Ensure packages are major bumped so that pre-release versions of the linked packages are consistent in the major number\n\n## 10.0.29\n\n### Patch Changes\n\n- Updated dependencies [[`446e756`](https://github.com/emotion-js/emotion/commit/446e75661c4aa01e51d1466472a212940c19cd82)]:\n  - @emotion/hash@0.8.0\n\n## 10.0.27\n\n### Patch Changes\n\n- [`4c62ae9`](https://github.com/emotion-js/emotion/commit/4c62ae9447959d438928e1a26f76f1487983c968) [#1698](https://github.com/emotion-js/emotion/pull/1698) Thanks [@Andarist](https://github.com/Andarist)! - Add LICENSE file\n- Updated dependencies [[`4c62ae9`](https://github.com/emotion-js/emotion/commit/4c62ae9447959d438928e1a26f76f1487983c968)]:\n  - @emotion/hash@0.7.4\n  - @emotion/sheet@0.9.4\n  - @emotion/stylis@0.8.5\n  - @emotion/utils@0.11.3\n  - @emotion/weak-memoize@0.2.5\n\n## 10.0.19\n\n- Updated dependencies [c81c0033]:\n  - @emotion/hash@0.7.3\n  - @emotion/weak-memoize@0.2.4\n\n## 10.0.17\n\n### Patch Changes\n\n- [10514a86](https://github.com/emotion-js/emotion/commit/10514a8635dcaa55b85c7bff90e2a9e14d1ba61f) [#1482](https://github.com/emotion-js/emotion/pull/1482) Thanks [@emmatown](https://github.com/emmatown)! - Remove react native bundles in favour of different isBrowser detection\n  - [16ff2330](https://github.com/emotion-js/emotion/commit/16ff233061e35fe71bfb1671da54ac12d6fc9eeb) [#1483](https://github.com/emotion-js/emotion/pull/1483) Thanks [@JakeGinnivan](https://github.com/JakeGinnivan)! - nth selector will no longer warn when using extract critical\n\n## 10.0.15\n\n### Patch Changes\n\n- [61e61edc](https://github.com/emotion-js/emotion/commit/61e61edc) [#1412](https://github.com/emotion-js/emotion/pull/1412) Thanks [@donysukardi](https://github.com/donysukardi)! - Add explicit entries for react-native and sketch environments\n\n## 10.0.14\n\n### Patch Changes\n\n- [c0eb604d](https://github.com/emotion-js/emotion/commit/c0eb604d) [#1419](https://github.com/emotion-js/emotion/pull/1419) Thanks [@emmatown](https://github.com/emmatown)! - Update build tool\n"
  },
  {
    "path": "packages/cache/LICENSE",
    "content": "MIT License\n\nCopyright (c) Emotion team and other contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "packages/cache/README.md",
    "content": "# @emotion/cache\n\n### createCache\n\n`createCache` allows for low level customization of how styles get inserted by emotion. It's intended to be used with the [`<CacheProvider/>`](https://emotion.sh/docs/cache-provider) component to override the default cache, which is created with sensible defaults for most applications.\n\n```javascript\nimport createCache from '@emotion/cache'\n\nexport const myCache = createCache({\n  key: 'my-prefix-key',\n  stylisPlugins: [\n    /* your plugins here */\n  ]\n})\n```\n\n### Primary use cases\n\n- Using emotion in embedded contexts such as an `<iframe/>`\n\n- Setting a [nonce](#nonce-string) on any `<style/>` tag emotion creates for security purposes\n\n- Using emotion with a developer defined `<style/>` tag\n\n- Using emotion with custom Stylis plugins\n\n## Options\n\n### `nonce`\n\n`string`\n\nA nonce that will be set on each style tag that emotion inserts for [Content Security Policies](https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP).\n\n### `stylisPlugins`\n\n`Array<Function>`\n\nA Stylis plugins that will be run by Stylis during preprocessing. [Read the Stylis docs to find out more](https://github.com/thysultan/stylis.js#middleware). This can be used for many purposes such as RTL.\n\n> Note:\n>\n> Prefixer is just a plugin which happens to be put in default `stylisPlugins`. If you plan to use custom `stylisPlugins` and you want to have your styles prefixed automatically you must include prefixer in your custom `stylisPlugins`. You can import `prefixer` from the `stylis` module to do that (`import { prefixer } from 'stylis'`);\n\n### `key`\n\n`string (Pattern: [^a-z-])`\n\nThe prefix before class names. It will also be set as the value of the `data-emotion` attribute on the style tags that emotion inserts and it's used in the attribute name that marks style elements in `renderStylesToString` and `renderStylesToNodeStream`. This is **required if using multiple emotion caches in the same app**.\n\n### `container`\n\n`Node`\n\nA DOM node that emotion will insert all of its style tags into. This is useful for inserting styles into iframes or windows.\n\n### `prepend`\n\n`boolean`\n\nA boolean representing whether to prepend rather than append style tags into the specified container DOM node.\n"
  },
  {
    "path": "packages/cache/__tests__/__snapshots__/hydration.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`it works 1`] = `\n<html>\n  <head>\n    <style\n      data-emotion=\"css 1lrxbo5\"\n      data-s=\"\"\n    >\n      .css-1lrxbo5{color:hotpink;}\n    </style>\n  </head>\n  <body />\n</html>\n`;\n\nexports[`rehydrated styles to head can be flushed 1`] = `\n<html>\n  <head>\n    <style\n      data-emotion=\"emo 1lrxbo5\"\n      data-s=\"\"\n    >\n      .emo-1lrxbo5{color:hotpink;}\n    </style>\n  </head>\n  <body />\n</html>\n`;\n\nexports[`rehydrated styles to head can be flushed 2`] = `\n<html>\n  <head />\n  <body />\n</html>\n`;\n"
  },
  {
    "path": "packages/cache/__tests__/__snapshots__/index.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`should accept container option 1`] = `\n.emotion-0 {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  color: blue;\n}\n\n<body>\n  \n    \n  <div\n    id=\"container\"\n  >\n    \n  \n    <style\n      data-emotion=\"test-container\"\n      data-s=\"\"\n    >\n      \n      .emotion-0{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;color:blue;}\n    </style>\n  </div>\n  <div>\n    <div\n      class=\"emotion-0\"\n    />\n  </div>\n</body>\n`;\n\nexports[`should accept insertionPoint option 1`] = `\n<head>\n  \n    \n  <style\n    id=\"first\"\n  />\n  <style\n    data-emotion=\"test-insertion-point\"\n    data-s=\"\"\n  >\n    \n    .test-insertion-point-83n355{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;color:blue;}\n  </style>\n  \n    \n  <style\n    id=\"last\"\n  />\n  \n  \n</head>\n`;\n\nexports[`throws correct error with invalid key 1`] = `\"Emotion key must only contain lower case alphabetical characters and - but \".\" was passed\"`;\n"
  },
  {
    "path": "packages/cache/__tests__/hydration.js",
    "content": "import { safeQuerySelector } from 'test-utils'\nimport hashString from '@emotion/hash'\nimport createCache from '@emotion/cache'\n\nbeforeEach(() => {\n  safeQuerySelector('head').innerHTML = ''\n  safeQuerySelector('body').innerHTML = ''\n})\n\ntest('it works', () => {\n  let css = `color:hotpink;`\n  let hash = hashString(css)\n  safeQuerySelector('body').innerHTML =\n    `<style data-emotion=\"css ${hash}\">.css-${hash}{${css}}</style>`\n  let cache = createCache({ key: 'css' })\n  expect(cache.inserted).toEqual({ [hash]: true })\n  expect(document.documentElement).toMatchSnapshot()\n})\n\ntest('rehydrated styles to head can be flushed', () => {\n  let css = `color:hotpink;`\n  let hash = hashString(css)\n  safeQuerySelector('head').innerHTML =\n    `<style data-emotion=\"emo ${hash}\">.emo-${hash}{${css}}</style>`\n\n  // this moves emotion style tags at initialization time\n  jest.resetModules()\n  require('@emotion/react')\n\n  let cache = createCache({ key: 'emo' })\n  expect(document.documentElement).toMatchSnapshot()\n  cache.sheet.flush()\n  expect(document.documentElement).toMatchSnapshot()\n})\n\ntest('flushing rehydrated styles in the head only affect styles matching the cache key', () => {\n  safeQuerySelector('head').innerHTML = [\n    '<style data-emotion=\"emo 1lrxbo5\">.emo-1lrxbo5{color:hotpink;}</style>',\n    '<style data-emotion=\"css qweqwee\">.css-qweqwee{color:red;}</style>'\n  ].join('')\n\n  // this moves emotion style tags at initialization time\n  jest.resetModules()\n  require('@emotion/react')\n\n  const cache = createCache({ key: 'emo' })\n  expect(document.documentElement).toMatchInlineSnapshot(`\n    <html>\n      <head>\n        <style\n          data-emotion=\"css qweqwee\"\n          data-s=\"\"\n        >\n          .css-qweqwee{color:red;}\n        </style>\n        <style\n          data-emotion=\"emo 1lrxbo5\"\n          data-s=\"\"\n        >\n          .emo-1lrxbo5{color:hotpink;}\n        </style>\n      </head>\n      <body />\n    </html>\n  `)\n\n  cache.sheet.flush()\n  expect(document.documentElement).toMatchInlineSnapshot(`\n    <html>\n      <head>\n        <style\n          data-emotion=\"css qweqwee\"\n          data-s=\"\"\n        >\n          .css-qweqwee{color:red;}\n        </style>\n      </head>\n      <body />\n    </html>\n  `)\n})\n\ntest('should only hydrate style elements matching the cache key', () => {\n  let css = `color:hotpink;`\n  let hash = hashString(css)\n\n  safeQuerySelector('body').innerHTML =\n    `<style data-emotion=\"emo ${hash}\">.emo-${hash}{${css}}</style>`\n\n  const cache = createCache({ key: 'custom-key' })\n\n  expect(cache.inserted).toEqual({})\n  expect(document.documentElement).toMatchInlineSnapshot(`\n    <html>\n      <head />\n      <body>\n        <style\n          data-emotion=\"emo 1lrxbo5\"\n        >\n          .emo-1lrxbo5{color:hotpink;}\n        </style>\n      </body>\n    </html>\n  `)\n\n  const cache2 = createCache({ key: 'emo' })\n\n  expect(cache2.inserted).toEqual({ [hash]: true })\n  expect(document.documentElement).toMatchInlineSnapshot(`\n    <html>\n      <head>\n        <style\n          data-emotion=\"emo 1lrxbo5\"\n        >\n          .emo-1lrxbo5{color:hotpink;}\n        </style>\n      </head>\n      <body />\n    </html>\n  `)\n})\n\ntest('Existing client-side inserted styles from Emotion 10 should not be moved', () => {\n  // the nested nature isn't special, it's just meant to be a general \"make sure they're not moved\"\n  safeQuerySelector('body').innerHTML =\n    `<div><style data-emotion=\"css-global\"></style><div><style data-emotion=\"css\"></style></div></div>`\n  expect(document.documentElement).toMatchInlineSnapshot(`\n    <html>\n      <head />\n      <body>\n        <div>\n          <style\n            data-emotion=\"css-global\"\n          />\n          <div>\n            <style\n              data-emotion=\"css\"\n            />\n          </div>\n        </div>\n      </body>\n    </html>\n  `)\n\n  const css = `color:hotpink;`\n  const hash = hashString(css)\n  let thing = document.createElement('div')\n  thing.innerHTML = `<style data-emotion=\"css ${hash}\">.css-${hash}{${css}}</style>`\n  safeQuerySelector('body').appendChild(thing)\n  jest.resetModules()\n  require('@emotion/react')\n\n  expect(document.documentElement).toMatchInlineSnapshot(`\n    <html>\n      <head>\n        <style\n          data-emotion=\"css 1lrxbo5\"\n          data-s=\"\"\n        >\n          .css-1lrxbo5{color:hotpink;}\n        </style>\n      </head>\n      <body>\n        <div>\n          <style\n            data-emotion=\"css-global\"\n          />\n          <div>\n            <style\n              data-emotion=\"css\"\n            />\n          </div>\n        </div>\n        <div />\n      </body>\n    </html>\n  `)\n})\n"
  },
  {
    "path": "packages/cache/__tests__/index.js",
    "content": "/** @jsx jsx */\nimport 'test-utils/next-env'\nimport { safeQuerySelector } from 'test-utils'\nimport createCache from '@emotion/cache'\nimport { jsx, CacheProvider } from '@emotion/react'\nimport { render } from '@testing-library/react'\n\ntest('throws correct error with invalid key', () => {\n  expect(() => {\n    createCache({ key: '.' })\n  }).toThrowErrorMatchingSnapshot()\n})\n\ntest('should accept insertionPoint option', () => {\n  const head = safeQuerySelector('head')\n\n  head.innerHTML = `\n    <style id=\"first\"></style>\n    <style id=\"last\"></style>\n  `\n\n  // the sheet should be inserted between the first and last style nodes\n  const cache = createCache({\n    key: 'test-insertion-point',\n    insertionPoint: safeQuerySelector('#first')\n  })\n\n  render(\n    <CacheProvider value={cache}>\n      <div css={{ display: 'flex', color: 'blue' }} />\n    </CacheProvider>\n  )\n\n  expect(document.head).toMatchSnapshot()\n})\n\ntest('should accept container option', () => {\n  const body = safeQuerySelector('body')\n\n  body.innerHTML = `\n    <div id=\"container\" />\n  `\n\n  const cache = createCache({\n    key: 'test-container',\n    container: safeQuerySelector('#container')\n  })\n\n  render(\n    <CacheProvider value={cache}>\n      <div css={{ display: 'flex', color: 'blue' }} />\n    </CacheProvider>\n  )\n\n  expect(document.body).toMatchSnapshot()\n})\n"
  },
  {
    "path": "packages/cache/package.json",
    "content": "{\n  \"name\": \"@emotion/cache\",\n  \"version\": \"11.14.0\",\n  \"description\": \"emotion's cache\",\n  \"main\": \"dist/emotion-cache.cjs.js\",\n  \"module\": \"dist/emotion-cache.esm.js\",\n  \"types\": \"dist/emotion-cache.cjs.d.ts\",\n  \"exports\": {\n    \".\": {\n      \"types\": {\n        \"import\": \"./dist/emotion-cache.cjs.mjs\",\n        \"default\": \"./dist/emotion-cache.cjs.js\"\n      },\n      \"development\": {\n        \"edge-light\": {\n          \"module\": \"./dist/emotion-cache.development.edge-light.esm.js\",\n          \"import\": \"./dist/emotion-cache.development.edge-light.cjs.mjs\",\n          \"default\": \"./dist/emotion-cache.development.edge-light.cjs.js\"\n        },\n        \"worker\": {\n          \"module\": \"./dist/emotion-cache.development.edge-light.esm.js\",\n          \"import\": \"./dist/emotion-cache.development.edge-light.cjs.mjs\",\n          \"default\": \"./dist/emotion-cache.development.edge-light.cjs.js\"\n        },\n        \"workerd\": {\n          \"module\": \"./dist/emotion-cache.development.edge-light.esm.js\",\n          \"import\": \"./dist/emotion-cache.development.edge-light.cjs.mjs\",\n          \"default\": \"./dist/emotion-cache.development.edge-light.cjs.js\"\n        },\n        \"browser\": {\n          \"module\": \"./dist/emotion-cache.browser.development.esm.js\",\n          \"import\": \"./dist/emotion-cache.browser.development.cjs.mjs\",\n          \"default\": \"./dist/emotion-cache.browser.development.cjs.js\"\n        },\n        \"module\": \"./dist/emotion-cache.development.esm.js\",\n        \"import\": \"./dist/emotion-cache.development.cjs.mjs\",\n        \"default\": \"./dist/emotion-cache.development.cjs.js\"\n      },\n      \"edge-light\": {\n        \"module\": \"./dist/emotion-cache.edge-light.esm.js\",\n        \"import\": \"./dist/emotion-cache.edge-light.cjs.mjs\",\n        \"default\": \"./dist/emotion-cache.edge-light.cjs.js\"\n      },\n      \"worker\": {\n        \"module\": \"./dist/emotion-cache.edge-light.esm.js\",\n        \"import\": \"./dist/emotion-cache.edge-light.cjs.mjs\",\n        \"default\": \"./dist/emotion-cache.edge-light.cjs.js\"\n      },\n      \"workerd\": {\n        \"module\": \"./dist/emotion-cache.edge-light.esm.js\",\n        \"import\": \"./dist/emotion-cache.edge-light.cjs.mjs\",\n        \"default\": \"./dist/emotion-cache.edge-light.cjs.js\"\n      },\n      \"browser\": {\n        \"module\": \"./dist/emotion-cache.browser.esm.js\",\n        \"import\": \"./dist/emotion-cache.browser.cjs.mjs\",\n        \"default\": \"./dist/emotion-cache.browser.cjs.js\"\n      },\n      \"module\": \"./dist/emotion-cache.esm.js\",\n      \"import\": \"./dist/emotion-cache.cjs.mjs\",\n      \"default\": \"./dist/emotion-cache.cjs.js\"\n    },\n    \"./package.json\": \"./package.json\"\n  },\n  \"imports\": {\n    \"#is-development\": {\n      \"development\": \"./src/conditions/true.ts\",\n      \"default\": \"./src/conditions/false.ts\"\n    },\n    \"#is-browser\": {\n      \"edge-light\": \"./src/conditions/false.ts\",\n      \"workerd\": \"./src/conditions/false.ts\",\n      \"worker\": \"./src/conditions/false.ts\",\n      \"browser\": \"./src/conditions/true.ts\",\n      \"default\": \"./src/conditions/is-browser.ts\"\n    }\n  },\n  \"license\": \"MIT\",\n  \"repository\": \"https://github.com/emotion-js/emotion/tree/main/packages/cache\",\n  \"scripts\": {\n    \"test:typescript\": \"dtslint types\"\n  },\n  \"dependencies\": {\n    \"@emotion/memoize\": \"^0.9.0\",\n    \"@emotion/sheet\": \"^1.4.0\",\n    \"@emotion/utils\": \"^1.4.2\",\n    \"@emotion/weak-memoize\": \"^0.4.0\",\n    \"stylis\": \"4.2.0\"\n  },\n  \"devDependencies\": {\n    \"@definitelytyped/dtslint\": \"0.0.112\",\n    \"@emotion/hash\": \"*\",\n    \"@types/stylis\": \"^4.2.7\",\n    \"typescript\": \"^5.4.5\"\n  },\n  \"files\": [\n    \"src\",\n    \"dist\"\n  ]\n}\n"
  },
  {
    "path": "packages/cache/src/conditions/false.ts",
    "content": "export default false\n"
  },
  {
    "path": "packages/cache/src/conditions/is-browser.ts",
    "content": "export default typeof document !== 'undefined'\n"
  },
  {
    "path": "packages/cache/src/conditions/true.ts",
    "content": "export default true\n"
  },
  {
    "path": "packages/cache/src/index.ts",
    "content": "import { StyleSheet } from '@emotion/sheet'\nimport type { EmotionCache, SerializedStyles } from '@emotion/utils'\nimport {\n  serialize,\n  compile,\n  middleware,\n  rulesheet,\n  stringify,\n  COMMENT\n} from 'stylis'\nimport type { Element as StylisElement } from 'stylis'\nimport weakMemoize from '@emotion/weak-memoize'\nimport memoize from '@emotion/memoize'\nimport isDevelopment from '#is-development'\nimport isBrowser from '#is-browser'\nimport {\n  compat,\n  removeLabel,\n  createUnsafeSelectorsAlarm,\n  incorrectImportAlarm\n} from './stylis-plugins'\nimport { prefixer } from './prefixer'\nimport { StylisPlugin } from './types'\n\nexport interface Options {\n  nonce?: string\n  stylisPlugins?: Array<StylisPlugin>\n  key: string\n  container?: Node\n  speedy?: boolean\n  /** @deprecate use `insertionPoint` instead */\n  prepend?: boolean\n  insertionPoint?: HTMLElement\n}\n\nlet getServerStylisCache = isBrowser\n  ? undefined\n  : weakMemoize(() => memoize<Record<string, string>>(() => ({})))\n\nconst defaultStylisPlugins = [prefixer]\n\nlet getSourceMap: ((styles: string) => string | undefined) | undefined\nif (isDevelopment) {\n  let sourceMapPattern =\n    /\\/\\*#\\ssourceMappingURL=data:application\\/json;\\S+\\s+\\*\\//g\n  getSourceMap = styles => {\n    let matches = styles.match(sourceMapPattern)\n    if (!matches) return\n    return matches[matches.length - 1]\n  }\n}\n\nlet createCache = (options: Options): EmotionCache => {\n  let key = options.key\n\n  if (isDevelopment && !key) {\n    throw new Error(\n      \"You have to configure `key` for your cache. Please make sure it's unique (and not equal to 'css') as it's used for linking styles to your cache.\\n\" +\n        `If multiple caches share the same key they might \"fight\" for each other's style elements.`\n    )\n  }\n\n  if (isBrowser && key === 'css') {\n    const ssrStyles = document.querySelectorAll(\n      `style[data-emotion]:not([data-s])`\n    )\n\n    // get SSRed styles out of the way of React's hydration\n    // document.head is a safe place to move them to(though note document.head is not necessarily the last place they will be)\n    // note this very very intentionally targets all style elements regardless of the key to ensure\n    // that creating a cache works inside of render of a React component\n    Array.prototype.forEach.call(ssrStyles, (node: HTMLStyleElement) => {\n      // we want to only move elements which have a space in the data-emotion attribute value\n      // because that indicates that it is an Emotion 11 server-side rendered style elements\n      // while we will already ignore Emotion 11 client-side inserted styles because of the :not([data-s]) part in the selector\n      // Emotion 10 client-side inserted styles did not have data-s (but importantly did not have a space in their data-emotion attributes)\n      // so checking for the space ensures that loading Emotion 11 after Emotion 10 has inserted some styles\n      // will not result in the Emotion 10 styles being destroyed\n      const dataEmotionAttribute = node.getAttribute('data-emotion')!\n      if (dataEmotionAttribute.indexOf(' ') === -1) {\n        return\n      }\n\n      document.head.appendChild(node)\n      node.setAttribute('data-s', '')\n    })\n  }\n\n  const stylisPlugins = options.stylisPlugins || defaultStylisPlugins\n\n  if (isDevelopment) {\n    if (/[^a-z-]/.test(key)) {\n      throw new Error(\n        `Emotion key must only contain lower case alphabetical characters and - but \"${key}\" was passed`\n      )\n    }\n  }\n  let inserted: EmotionCache['inserted'] = {}\n  let container: Node\n  const nodesToHydrate: HTMLStyleElement[] = []\n  if (isBrowser) {\n    container = options.container || document.head\n\n    Array.prototype.forEach.call(\n      // this means we will ignore elements which don't have a space in them which\n      // means that the style elements we're looking at are only Emotion 11 server-rendered style elements\n      document.querySelectorAll(`style[data-emotion^=\"${key} \"]`),\n      (node: HTMLStyleElement) => {\n        const attrib = node.getAttribute(`data-emotion`)!.split(' ')\n        for (let i = 1; i < attrib.length; i++) {\n          inserted[attrib[i]] = true\n        }\n        nodesToHydrate.push(node)\n      }\n    )\n  }\n\n  let insert: (\n    selector: string,\n    serialized: SerializedStyles,\n    sheet: StyleSheet,\n    shouldCache: boolean\n  ) => string | void\n  const omnipresentPlugins = [compat, removeLabel]\n\n  if (isDevelopment) {\n    omnipresentPlugins.push(\n      createUnsafeSelectorsAlarm({\n        get compat() {\n          return cache.compat\n        }\n      }),\n      incorrectImportAlarm\n    )\n  }\n\n  if (!getServerStylisCache) {\n    let currentSheet: Pick<StyleSheet, 'insert'>\n\n    const finalizingPlugins = [\n      stringify,\n      isDevelopment\n        ? (element: StylisElement) => {\n            if (!element.root) {\n              if (element.return) {\n                currentSheet.insert(element.return)\n              } else if (element.value && element.type !== COMMENT) {\n                // insert empty rule in non-production environments\n                // so @emotion/jest can grab `key` from the (JS)DOM for caches without any rules inserted yet\n                currentSheet.insert(`${element.value}{}`)\n              }\n            }\n          }\n        : rulesheet(rule => {\n            currentSheet.insert(rule)\n          })\n    ]\n\n    const serializer = middleware(\n      omnipresentPlugins.concat(stylisPlugins, finalizingPlugins)\n    )\n    const stylis = (styles: string) => serialize(compile(styles), serializer)\n\n    insert = (selector, serialized, sheet, shouldCache) => {\n      currentSheet = sheet\n\n      if (getSourceMap) {\n        let sourceMap = getSourceMap(serialized.styles)\n        if (sourceMap) {\n          currentSheet = {\n            insert: rule => {\n              sheet.insert(rule + sourceMap)\n            }\n          }\n        }\n      }\n\n      stylis(selector ? `${selector}{${serialized.styles}}` : serialized.styles)\n\n      if (shouldCache) {\n        cache.inserted[serialized.name] = true\n      }\n    }\n  } else {\n    const finalizingPlugins = [stringify]\n    const serializer = middleware(\n      omnipresentPlugins.concat(stylisPlugins, finalizingPlugins)\n    )\n    const stylis = (styles: string) => serialize(compile(styles), serializer)\n\n    let serverStylisCache = getServerStylisCache(stylisPlugins)(key)\n    let getRules = (selector: string, serialized: SerializedStyles): string => {\n      let name = serialized.name\n      if (serverStylisCache[name] === undefined) {\n        serverStylisCache[name] = stylis(\n          selector ? `${selector}{${serialized.styles}}` : serialized.styles\n        )\n      }\n      return serverStylisCache[name]\n    }\n    insert = (selector, serialized, sheet, shouldCache) => {\n      let name = serialized.name\n      let rules = getRules(selector, serialized)\n      if (cache.compat === undefined) {\n        // in regular mode, we don't set the styles on the inserted cache\n        // since we don't need to and that would be wasting memory\n        // we return them so that they are rendered in a style tag\n        if (shouldCache) {\n          cache.inserted[name] = true\n        }\n        if (getSourceMap) {\n          let sourceMap = getSourceMap(serialized.styles)\n          if (sourceMap) {\n            return rules + sourceMap\n          }\n        }\n        return rules\n      } else {\n        // in compat mode, we put the styles on the inserted cache so\n        // that emotion-server can pull out the styles\n        // except when we don't want to cache it which was in Global but now\n        // is nowhere but we don't want to do a major right now\n        // and just in case we're going to leave the case here\n        // it's also not affecting client side bundle size\n        // so it's really not a big deal\n\n        if (shouldCache) {\n          cache.inserted[name] = rules\n        } else {\n          return rules\n        }\n      }\n    }\n  }\n\n  const cache: EmotionCache = {\n    key,\n    sheet: new StyleSheet({\n      key,\n      container: container!,\n      nonce: options.nonce,\n      speedy: options.speedy,\n      prepend: options.prepend,\n      insertionPoint: options.insertionPoint\n    }),\n    nonce: options.nonce,\n    inserted,\n    registered: {},\n    insert\n  }\n\n  cache.sheet.hydrate(nodesToHydrate)\n\n  return cache\n}\n\nexport default createCache\nexport type { EmotionCache }\nexport type { StylisElement, StylisPlugin, StylisPluginCallback } from './types'\n"
  },
  {
    "path": "packages/cache/src/prefixer.ts",
    "content": "/* eslint-disable no-fallthrough */\n/* eslint-disable eqeqeq */\nimport {\n  charat,\n  combine,\n  copy,\n  DECLARATION,\n  hash,\n  indexof,\n  KEYFRAMES,\n  match,\n  MOZ,\n  MS,\n  replace,\n  RULESET,\n  serialize,\n  strlen,\n  WEBKIT,\n  Element,\n  Middleware\n} from 'stylis'\n\n// this is a copy of stylis@4.0.13 prefixer, the latter version introduced grid prefixing which we don't want\n\nfunction prefix(value: string, length: number): string {\n  switch (hash(value, length)) {\n    // color-adjust\n    case 5103:\n      return WEBKIT + 'print-' + value + value\n    // animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)\n    case 5737:\n    case 4201:\n    case 3177:\n    case 3433:\n    case 1641:\n    case 4457:\n    case 2921:\n    // text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break\n    case 5572:\n    case 6356:\n    case 5844:\n    case 3191:\n    case 6645:\n    case 3005:\n    // mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,\n    case 6391:\n    case 5879:\n    case 5623:\n    case 6135:\n    case 4599:\n    case 4855:\n    // background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)\n    case 4215:\n    case 6389:\n    case 5109:\n    case 5365:\n    case 5621:\n    case 3829:\n      return WEBKIT + value + value\n    // appearance, user-select, transform, hyphens, text-size-adjust\n    case 5349:\n    case 4246:\n    case 4810:\n    case 6968:\n    case 2756:\n      return WEBKIT + value + MOZ + value + MS + value + value\n    // flex, flex-direction\n    case 6828:\n    case 4268:\n      return WEBKIT + value + MS + value + value\n    // order\n    case 6165:\n      return WEBKIT + value + MS + 'flex-' + value + value\n    // align-items\n    case 5187:\n      return (\n        WEBKIT +\n        value +\n        replace(\n          value,\n          /(\\w+).+(:[^]+)/,\n          WEBKIT + 'box-$1$2' + MS + 'flex-$1$2'\n        ) +\n        value\n      )\n    // align-self\n    case 5443:\n      return (\n        WEBKIT +\n        value +\n        MS +\n        'flex-item-' +\n        replace(value, /flex-|-self/, '') +\n        value\n      )\n    // align-content\n    case 4675:\n      return (\n        WEBKIT +\n        value +\n        MS +\n        'flex-line-pack' +\n        replace(value, /align-content|flex-|-self/, '') +\n        value\n      )\n    // flex-shrink\n    case 5548:\n      return WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value\n    // flex-basis\n    case 5292:\n      return (\n        WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value\n      )\n    // flex-grow\n    case 6060:\n      return (\n        WEBKIT +\n        'box-' +\n        replace(value, '-grow', '') +\n        WEBKIT +\n        value +\n        MS +\n        replace(value, 'grow', 'positive') +\n        value\n      )\n    // transition\n    case 4554:\n      return (\n        WEBKIT +\n        replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') +\n        value\n      )\n    // cursor\n    case 6187:\n      return (\n        replace(\n          replace(\n            replace(value, /(zoom-|grab)/, WEBKIT + '$1'),\n            /(image-set)/,\n            WEBKIT + '$1'\n          ),\n          value,\n          ''\n        ) + value\n      )\n    // background, background-image\n    case 5495:\n    case 3959:\n      return replace(value, /(image-set\\([^]*)/, WEBKIT + '$1' + '$`$1')\n    // justify-content\n    case 4968:\n      return (\n        replace(\n          replace(\n            value,\n            /(.+:)(flex-)?(.*)/,\n            WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'\n          ),\n          /s.+-b[^;]+/,\n          'justify'\n        ) +\n        WEBKIT +\n        value +\n        value\n      )\n    // (margin|padding)-inline-(start|end)\n    case 4095:\n    case 3583:\n    case 4068:\n    case 2532:\n      return replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value\n    // (min|max)?(width|height|inline-size|block-size)\n    case 8116:\n    case 7059:\n    case 5753:\n    case 5535:\n    case 5445:\n    case 5701:\n    case 4933:\n    case 4677:\n    case 5533:\n    case 5789:\n    case 5021:\n    case 4765:\n      // stretch, max-content, min-content, fill-available\n      if (strlen(value) - 1 - length > 6)\n        switch (charat(value, length + 1)) {\n          // (m)ax-content, (m)in-content\n          case 109:\n            // -\n            if (charat(value, length + 4) !== 45) break\n          // (f)ill-available, (f)it-content\n          case 102:\n            return (\n              replace(\n                value,\n                /(.+:)(.+)-([^]+)/,\n                '$1' +\n                  WEBKIT +\n                  '$2-$3' +\n                  '$1' +\n                  MOZ +\n                  (charat(value, length + 3) == 108 ? '$3' : '$2-$3')\n              ) + value\n            )\n          // (s)tretch\n          case 115:\n            return ~indexof(value, 'stretch')\n              ? prefix(replace(value, 'stretch', 'fill-available'), length) +\n                  value\n              : value\n        }\n      break\n    // position: sticky\n    case 4949:\n      // (s)ticky?\n      if (charat(value, length + 1) !== 115) break\n    // display: (flex|inline-flex)\n    case 6444:\n      switch (\n        charat(value, strlen(value) - 3 - (~indexof(value, '!important') && 10))\n      ) {\n        // stic(k)y\n        case 107:\n          return replace(value, ':', ':' + WEBKIT) + value\n        // (inline-)?fl(e)x\n        case 101:\n          return (\n            replace(\n              value,\n              /(.+:)([^;!]+)(;|!.+)?/,\n              '$1' +\n                WEBKIT +\n                (charat(value, 14) === 45 ? 'inline-' : '') +\n                'box$3' +\n                '$1' +\n                WEBKIT +\n                '$2$3' +\n                '$1' +\n                MS +\n                '$2box$3'\n            ) + value\n          )\n      }\n      break\n    // writing-mode\n    case 5936:\n      switch (charat(value, length + 11)) {\n        // vertical-l(r)\n        case 114:\n          return (\n            WEBKIT +\n            value +\n            MS +\n            replace(value, /[svh]\\w+-[tblr]{2}/, 'tb') +\n            value\n          )\n        // vertical-r(l)\n        case 108:\n          return (\n            WEBKIT +\n            value +\n            MS +\n            replace(value, /[svh]\\w+-[tblr]{2}/, 'tb-rl') +\n            value\n          )\n        // horizontal(-)tb\n        case 45:\n          return (\n            WEBKIT +\n            value +\n            MS +\n            replace(value, /[svh]\\w+-[tblr]{2}/, 'lr') +\n            value\n          )\n      }\n\n      return WEBKIT + value + MS + value + value\n  }\n\n  return value\n}\n\nexport let prefixer = (\n  element: Element,\n  index: number,\n  children: Element[],\n  callback: Middleware\n) => {\n  if (element.length > -1)\n    if (!element.return)\n      switch (element.type) {\n        case DECLARATION:\n          element.return = prefix(element.value, element.length)\n          break\n        case KEYFRAMES:\n          return serialize(\n            [\n              copy(element, {\n                value: replace(element.value, '@', '@' + WEBKIT)\n              })\n            ],\n            callback\n          )\n        case RULESET:\n          if (element.length)\n            return combine(element.props as string[], function (value) {\n              switch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n                // :read-(only|write)\n                case ':read-only':\n                case ':read-write':\n                  return serialize(\n                    [\n                      copy(element, {\n                        props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]\n                      })\n                    ],\n                    callback\n                  )\n                // :placeholder\n                case '::placeholder':\n                  return serialize(\n                    [\n                      copy(element, {\n                        props: [\n                          replace(\n                            value,\n                            /:(plac\\w+)/,\n                            ':' + WEBKIT + 'input-$1'\n                          )\n                        ]\n                      }),\n                      copy(element, {\n                        props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]\n                      }),\n                      copy(element, {\n                        props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]\n                      })\n                    ],\n                    callback\n                  )\n              }\n\n              return ''\n            })\n      }\n}\n"
  },
  {
    "path": "packages/cache/src/stylis-plugins.ts",
    "content": "import { EmotionCache } from '@emotion/utils'\nimport {\n  alloc,\n  dealloc,\n  delimit,\n  Element,\n  from,\n  Middleware,\n  next,\n  peek,\n  position,\n  slice,\n  token\n} from 'stylis'\n\n// based on https://github.com/thysultan/stylis.js/blob/e6843c373ebcbbfade25ebcc23f540ed8508da0a/src/Tokenizer.js#L239-L244\nconst identifierWithPointTracking = (\n  begin: number,\n  points: number[],\n  index: number\n) => {\n  let previous = 0\n  let character = 0\n\n  while (true) {\n    previous = character\n    character = peek()\n\n    // &\\f\n    if (previous === 38 && character === 12) {\n      points[index] = 1\n    }\n\n    if (token(character)) {\n      break\n    }\n\n    next()\n  }\n\n  return slice(begin, position)\n}\n\nconst toRules = (parsed: string[], points: number[]) => {\n  // pretend we've started with a comma\n  let index = -1\n  let character = 44\n\n  do {\n    switch (token(character)) {\n      case 0:\n        // &\\f\n        if (character === 38 && peek() === 12) {\n          // this is not 100% correct, we don't account for literal sequences here - like for example quoted strings\n          // stylis inserts \\f after & to know when & where it should replace this sequence with the context selector\n          // and when it should just concatenate the outer and inner selectors\n          // it's very unlikely for this sequence to actually appear in a different context, so we just leverage this fact here\n          points[index] = 1\n        }\n        parsed[index] += identifierWithPointTracking(\n          position - 1,\n          points,\n          index\n        )\n        break\n      case 2:\n        parsed[index] += delimit(character)\n        break\n      case 4:\n        // comma\n        if (character === 44) {\n          // colon\n          parsed[++index] = peek() === 58 ? '&\\f' : ''\n          points[index] = parsed[index].length\n          break\n        }\n      // fallthrough\n      default:\n        parsed[index] += from(character)\n    }\n  } while ((character = next()))\n\n  return parsed\n}\n\nconst getRules = (value: string, points: number[]) =>\n  dealloc(toRules(alloc(value) as string[], points))\n\n// WeakSet would be more appropriate, but only WeakMap is supported in IE11\nconst fixedElements = /* #__PURE__ */ new WeakMap()\n\nexport let compat: Middleware = element => {\n  if (\n    element.type !== 'rule' ||\n    !element.parent ||\n    // positive .length indicates that this rule contains pseudo\n    // negative .length indicates that this rule has been already prefixed\n    element.length < 1\n  ) {\n    return\n  }\n\n  let value = element.value\n  let parent: Element | null = element.parent\n  let isImplicitRule =\n    element.column === parent.column && element.line === parent.line\n\n  while (parent.type !== 'rule') {\n    parent = parent.parent\n    if (!parent) return\n  }\n\n  // short-circuit for the simplest case\n  if (\n    element.props.length === 1 &&\n    value.charCodeAt(0) !== 58 /* colon */ &&\n    !fixedElements.get(parent)\n  ) {\n    return\n  }\n\n  // if this is an implicitly inserted rule (the one eagerly inserted at the each new nested level)\n  // then the props has already been manipulated beforehand as they that array is shared between it and its \"rule parent\"\n  if (isImplicitRule) {\n    return\n  }\n\n  fixedElements.set(element, true)\n\n  const points: number[] = []\n  const rules = getRules(value, points)\n  const parentRules = parent.props\n\n  for (let i = 0, k = 0; i < rules.length; i++) {\n    for (let j = 0; j < parentRules.length; j++, k++) {\n      ;(element.props as string[])[k] = points[i]\n        ? rules[i].replace(/&\\f/g, parentRules[j])\n        : `${parentRules[j]} ${rules[i]}`\n    }\n  }\n}\n\nexport let removeLabel: Middleware = element => {\n  if (element.type === 'decl') {\n    const value = element.value\n    if (\n      // charcode for l\n      value.charCodeAt(0) === 108 &&\n      // charcode for b\n      value.charCodeAt(2) === 98\n    ) {\n      // this ignores label\n      element.return = ''\n      element.value = ''\n    }\n  }\n}\n\nconst ignoreFlag =\n  'emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason'\n\nconst isIgnoringComment = (element: Element) =>\n  element.type === 'comm' &&\n  (element.children as string).indexOf(ignoreFlag) > -1\n\nexport let createUnsafeSelectorsAlarm =\n  (cache: Pick<EmotionCache, 'compat'>): Middleware =>\n  (element, index, children) => {\n    if (element.type !== 'rule' || cache.compat) return\n\n    const unsafePseudoClasses = element.value.match(\n      /(:first|:nth|:nth-last)-child/g\n    )\n\n    if (unsafePseudoClasses) {\n      const isNested = !!element.parent\n      // in nested rules comments become children of the \"auto-inserted\" rule and that's always the `element.parent`\n      //\n      // considering this input:\n      // .a {\n      //   .b /* comm */ {}\n      //   color: hotpink;\n      // }\n      // we get output corresponding to this:\n      // .a {\n      //   & {\n      //     /* comm */\n      //     color: hotpink;\n      //   }\n      //   .b {}\n      // }\n      const commentContainer = isNested\n        ? element.parent!.children\n        : // global rule at the root level\n          children\n\n      for (let i = commentContainer.length - 1; i >= 0; i--) {\n        const node = commentContainer[i] as Element\n\n        if (node.line < element.line) {\n          break\n        }\n\n        // it is quite weird but comments are *usually* put at `column: element.column - 1`\n        // so we seek *from the end* for the node that is earlier than the rule's `element` and check that\n        // this will also match inputs like this:\n        // .a {\n        //   /* comm */\n        //   .b {}\n        // }\n        //\n        // but that is fine\n        //\n        // it would be the easiest to change the placement of the comment to be the first child of the rule:\n        // .a {\n        //   .b { /* comm */ }\n        // }\n        // with such inputs we wouldn't have to search for the comment at all\n        // TODO: consider changing this comment placement in the next major version\n        if (node.column < element.column) {\n          if (isIgnoringComment(node)) {\n            return\n          }\n          break\n        }\n      }\n\n      unsafePseudoClasses.forEach(unsafePseudoClass => {\n        console.error(\n          `The pseudo class \"${unsafePseudoClass}\" is potentially unsafe when doing server-side rendering. Try changing it to \"${\n            unsafePseudoClass.split('-child')[0]\n          }-of-type\".`\n        )\n      })\n    }\n  }\n\nlet isImportRule = (element: Element) =>\n  element.type.charCodeAt(1) === 105 && element.type.charCodeAt(0) === 64\n\nconst isPrependedWithRegularRules = (index: number, children: Element[]) => {\n  for (let i = index - 1; i >= 0; i--) {\n    if (!isImportRule(children[i])) {\n      return true\n    }\n  }\n  return false\n}\n\n// use this to remove incorrect elements from further processing\n// so they don't get handed to the `sheet` (or anything else)\n// as that could potentially lead to additional logs which in turn could be overhelming to the user\nconst nullifyElement = (element: Element) => {\n  element.type = ''\n  element.value = ''\n  element.return = ''\n  element.children = ''\n  element.props = ''\n}\n\nexport let incorrectImportAlarm: Middleware = (element, index, children) => {\n  if (!isImportRule(element)) {\n    return\n  }\n\n  if (element.parent) {\n    console.error(\n      \"`@import` rules can't be nested inside other rules. Please move it to the top level and put it before regular rules. Keep in mind that they can only be used within global styles.\"\n    )\n    nullifyElement(element)\n  } else if (isPrependedWithRegularRules(index, children)) {\n    console.error(\n      \"`@import` rules can't be after other rules. Please put your `@import` rules before your other rules.\"\n    )\n    nullifyElement(element)\n  }\n}\n"
  },
  {
    "path": "packages/cache/src/types.ts",
    "content": "export interface StylisElement {\n  type: string\n  value: string\n  props: Array<string> | string\n  root: StylisElement | null\n  parent: StylisElement | null\n  children: Array<StylisElement> | string\n  line: number\n  column: number\n  length: number\n  return: string\n}\nexport type StylisPluginCallback = (\n  element: StylisElement,\n  index: number,\n  children: Array<StylisElement>,\n  callback: StylisPluginCallback\n) => string | void\n\nexport type StylisPlugin = (\n  element: StylisElement,\n  index: number,\n  children: Array<StylisElement>,\n  callback: StylisPluginCallback\n) => string | void\n"
  },
  {
    "path": "packages/cache/types/index.d.ts",
    "content": "export * from '..'\n"
  },
  {
    "path": "packages/cache/types/resolved-condition.ts",
    "content": "export default true as boolean\n"
  },
  {
    "path": "packages/cache/types/tests.ts",
    "content": "import createCache, { Options } from '@emotion/cache'\n\ndeclare const testOptions: Options\n\n// $ExpectType EmotionCache\ncreateCache({ key: 'test-key' })\n// $ExpectType EmotionCache\ncreateCache(testOptions)\n"
  },
  {
    "path": "packages/cache/types/tsconfig.json",
    "content": "{\n  \"compilerOptions\": {\n    \"baseUrl\": \"../\",\n    \"forceConsistentCasingInFileNames\": true,\n    \"jsx\": \"react\",\n    \"lib\": [\"es6\", \"dom\"],\n    \"module\": \"commonjs\",\n    \"noEmit\": true,\n    \"strict\": true,\n    \"target\": \"es5\",\n    \"typeRoots\": [\"../\"],\n    \"types\": [],\n    \"paths\": {\n      \"#is-browser\": [\"./types/resolved-condition.ts\"],\n      \"#is-development\": [\"./types/resolved-condition.ts\"]\n    }\n  },\n  \"include\": [\"./*.ts\", \"./*.tsx\"]\n}\n"
  },
  {
    "path": "packages/cache/types/tslint.json",
    "content": "{\n  \"extends\": \"@definitelytyped/dtslint/dtslint.json\",\n  \"rules\": {\n    \"array-type\": [true, \"generic\"],\n    \"semicolon\": false,\n    \"unnecessary-bind\": false\n  }\n}\n"
  },
  {
    "path": "packages/css/CHANGELOG.md",
    "content": "# emotion\n\n## 11.13.5\n\n### Patch Changes\n\n- [#3270](https://github.com/emotion-js/emotion/pull/3270) [`77d930d`](https://github.com/emotion-js/emotion/commit/77d930dc708015ff6fd34a1084bb343b02d732fa) Thanks [@emmatown](https://github.com/emmatown)! - Fix inconsistent hashes using development vs production bundles/`exports` conditions when using `@emotion/babel-plugin` with `sourceMap: true` (the default). This is particularly visible when using Emotion with the Next.js Pages router where the `development` condition is used when bundling code but not when importing external code with Node.js.\n\n- Updated dependencies [[`77d930d`](https://github.com/emotion-js/emotion/commit/77d930dc708015ff6fd34a1084bb343b02d732fa)]:\n  - @emotion/serialize@1.3.3\n  - @emotion/cache@11.13.5\n  - @emotion/utils@1.4.2\n  - @emotion/babel-plugin@11.13.5\n\n## 11.13.4\n\n### Patch Changes\n\n- [#3262](https://github.com/emotion-js/emotion/pull/3262) [`b10de75`](https://github.com/emotion-js/emotion/commit/b10de75cd400e9cd37b195afdc9a716736214708) Thanks [@emmatown](https://github.com/emmatown)! - Fix `Cannot find name 'EmotionCache'` type error\n\n## 11.13.0\n\n### Minor Changes\n\n- [#3198](https://github.com/emotion-js/emotion/pull/3198) [`d8ff8a5`](https://github.com/emotion-js/emotion/commit/d8ff8a5990c691017b463b3fa23a9f46ab28147b) Thanks [@Andarist](https://github.com/Andarist)! - Migrated away from relying on `process.env.NODE_ENV` checks to differentiate between production and development builds.\n\n  Development builds (and other environment-specific builds) can be used by using proper conditions (see [here](https://nodejs.org/docs/v20.15.1/api/packages.html#resolving-user-conditions)). Most modern bundlers/frameworks already preconfigure those for the user so no action has to be taken.\n\n  Default files should continue to work in all environments.\n\n### Patch Changes\n\n- Updated dependencies [[`d8ff8a5`](https://github.com/emotion-js/emotion/commit/d8ff8a5990c691017b463b3fa23a9f46ab28147b), [`a9f6912`](https://github.com/emotion-js/emotion/commit/a9f691299844bf6837b7ad41ee17cd912496f3d5)]:\n  - @emotion/cache@11.13.0\n  - @emotion/serialize@1.3.0\n  - @emotion/sheet@1.4.0\n  - @emotion/utils@1.4.0\n\n## 11.12.0\n\n### Minor Changes\n\n- [#2558](https://github.com/emotion-js/emotion/pull/2558) [`85772c3`](https://github.com/emotion-js/emotion/commit/85772c33ecb01c70bc8afafa627c9fb7140b593c) Thanks [@emmatown](https://github.com/emmatown)! - Source code has been migrated to TypeScript. From now on type declarations will be emitted based on that, instead of being hand-written.\n\n### Patch Changes\n\n- [#2558](https://github.com/emotion-js/emotion/pull/2558) [`85772c3`](https://github.com/emotion-js/emotion/commit/85772c33ecb01c70bc8afafa627c9fb7140b593c) Thanks [@emmatown](https://github.com/emmatown)! - Fixed `options` parameter to `createEmotion` from `@emotion/css/create-instance` incorrectly being marked as optional when it's required.\n\n- Updated dependencies [[`9ca22c6`](https://github.com/emotion-js/emotion/commit/9ca22c6c23e9effa086d161a9b0ae1c645686680), [`16d8a8c`](https://github.com/emotion-js/emotion/commit/16d8a8c2198461c4842c73048b406c346a70aa59), [`52aadc6`](https://github.com/emotion-js/emotion/commit/52aadc6e77140867392f81545cc92e04fd84d453), [`52aadc6`](https://github.com/emotion-js/emotion/commit/52aadc6e77140867392f81545cc92e04fd84d453)]:\n  - @emotion/serialize@1.2.0\n  - @emotion/utils@1.3.0\n  - @emotion/sheet@1.3.0\n  - @emotion/babel-plugin@11.12.0\n  - @emotion/cache@11.12.0\n\n## 11.11.2\n\n### Patch Changes\n\n- [#3057](https://github.com/emotion-js/emotion/pull/3057) [`8f665262`](https://github.com/emotion-js/emotion/commit/8f66526244be77a29f04db2d4154664961beb3e6) Thanks [@emmatown](https://github.com/emmatown)! - Fix `@emotion/css/create-instance` types in TypeScript module resolution modes that support the `exports` field\n\n## 11.11.0\n\n### Minor Changes\n\n- [#3031](https://github.com/emotion-js/emotion/pull/3031) [`336f3d50`](https://github.com/emotion-js/emotion/commit/336f3d50fd684ccbb160fff0c63d5560936f1ee5) Thanks [@Andarist](https://github.com/Andarist)! - Added support for cascade `@layer`s by updating the underlying parser ([stylis](https://github.com/thysultan/stylis)).\n\n### Patch Changes\n\n- [#3029](https://github.com/emotion-js/emotion/pull/3029) [`eed5e6cf`](https://github.com/emotion-js/emotion/commit/eed5e6cf00f94f3011b93825ccce43cb2270c247) Thanks [@Andarist](https://github.com/Andarist)! - Fixed importing in Node ESM\n\n- Updated dependencies [[`336f3d50`](https://github.com/emotion-js/emotion/commit/336f3d50fd684ccbb160fff0c63d5560936f1ee5), [`eed5e6cf`](https://github.com/emotion-js/emotion/commit/eed5e6cf00f94f3011b93825ccce43cb2270c247), [`336f3d50`](https://github.com/emotion-js/emotion/commit/336f3d50fd684ccbb160fff0c63d5560936f1ee5)]:\n  - @emotion/babel-plugin@11.11.0\n  - @emotion/cache@11.11.0\n  - @emotion/serialize@1.1.2\n  - @emotion/sheet@1.2.2\n  - @emotion/utils@1.2.1\n\n## 11.10.8\n\n### Patch Changes\n\n- [#3025](https://github.com/emotion-js/emotion/pull/3025) [`6bd13425`](https://github.com/emotion-js/emotion/commit/6bd13425a2b413150c81e63fad1105d7968b5e6f) Thanks [@Andarist](https://github.com/Andarist)! - Fixed a parsing issue with `&` within nested functions in declaration values by updating the underlying parser ([stylis](https://github.com/thysultan/stylis)).\n\n- Updated dependencies [[`6bd13425`](https://github.com/emotion-js/emotion/commit/6bd13425a2b413150c81e63fad1105d7968b5e6f), [`6bd13425`](https://github.com/emotion-js/emotion/commit/6bd13425a2b413150c81e63fad1105d7968b5e6f)]:\n  - @emotion/babel-plugin@11.10.8\n  - @emotion/cache@11.10.8\n\n## 11.10.6\n\n### Patch Changes\n\n- [#2985](https://github.com/emotion-js/emotion/pull/2985) [`4e172c2a`](https://github.com/emotion-js/emotion/commit/4e172c2ae4e5237500ec84688d76ebf253ab1fdc) Thanks [@emmatown](https://github.com/emmatown)! - Remove peer dependency on `@babel/core`\n\n- Updated dependencies [[`4e172c2a`](https://github.com/emotion-js/emotion/commit/4e172c2ae4e5237500ec84688d76ebf253ab1fdc)]:\n  - @emotion/babel-plugin@11.10.6\n\n## 11.10.5\n\n### Patch Changes\n\n- [#2929](https://github.com/emotion-js/emotion/pull/2929) [`13afe030`](https://github.com/emotion-js/emotion/commit/13afe0303e2e54b5869c326e6d9c9dc36a332c02) Thanks [@Andarist](https://github.com/Andarist)! - The support for `@container` queries has been added by updating the underlying parser ([stylis](https://github.com/thysultan/stylis)) .\n\n- Updated dependencies [[`13afe030`](https://github.com/emotion-js/emotion/commit/13afe0303e2e54b5869c326e6d9c9dc36a332c02), [`61c66963`](https://github.com/emotion-js/emotion/commit/61c66963dd8426b59d1ec424b5d1b41a371f9d49), [`c02b1214`](https://github.com/emotion-js/emotion/commit/c02b12145a94df011e0fd6ffd54197a4d9369783), [`d8a13bca`](https://github.com/emotion-js/emotion/commit/d8a13bcae81812d3dff643bcf446709f965f0909)]:\n  - @emotion/babel-plugin@11.10.5\n  - @emotion/sheet@1.2.1\n  - @emotion/serialize@1.1.1\n  - @emotion/cache@11.10.5\n\n## 11.10.0\n\n### Minor Changes\n\n- [#2819](https://github.com/emotion-js/emotion/pull/2819) [`bbad8c79`](https://github.com/emotion-js/emotion/commit/bbad8c79937f8dfd5d93bf485c1e9ec44124d228) Thanks [@nicksrandall](https://github.com/nicksrandall)! - `exports` field has been added to the `package.json` manifest. It limits what files can be imported from a package but we've tried our best to allow importing all the files that were considered to be a part of the public API.\n\n### Patch Changes\n\n- Updated dependencies [[`bbad8c79`](https://github.com/emotion-js/emotion/commit/bbad8c79937f8dfd5d93bf485c1e9ec44124d228), [`bbad8c79`](https://github.com/emotion-js/emotion/commit/bbad8c79937f8dfd5d93bf485c1e9ec44124d228)]:\n  - @emotion/babel-plugin@11.10.0\n  - @emotion/cache@11.10.0\n  - @emotion/serialize@1.1.0\n  - @emotion/sheet@1.2.0\n  - @emotion/utils@1.2.0\n\n## 11.9.0\n\n### Patch Changes\n\n- [#2700](https://github.com/emotion-js/emotion/pull/2700) [`d9357621`](https://github.com/emotion-js/emotion/commit/d935762131b1474f2474296ee4706f7ecd59b6dd) Thanks [@arturmuller](https://github.com/arturmuller)! - Fixed a false positive warning for `content` properties that included `var()`.\n\n- Updated dependencies [[`d9357621`](https://github.com/emotion-js/emotion/commit/d935762131b1474f2474296ee4706f7ecd59b6dd)]:\n  - @emotion/serialize@1.0.3\n\n## 11.7.1\n\n### Patch Changes\n\n- [#2590](https://github.com/emotion-js/emotion/pull/2590) [`1554a7e2`](https://github.com/emotion-js/emotion/commit/1554a7e264e05780b2c5bd74ccb20a92005ba61d) Thanks [@Andarist](https://github.com/Andarist)! - Upgraded and pinned the version of Stylis - the CSS parser that Emotion uses under the hood.\n\n- Updated dependencies [[`1554a7e2`](https://github.com/emotion-js/emotion/commit/1554a7e264e05780b2c5bd74ccb20a92005ba61d)]:\n  - @emotion/babel-plugin@11.7.1\n  - @emotion/cache@11.7.1\n\n## 11.5.0\n\n### Patch Changes\n\n- [#2498](https://github.com/emotion-js/emotion/pull/2498) [`e5beae8e`](https://github.com/emotion-js/emotion/commit/e5beae8e320f3d1455e45efecdfeb7d757687a43) Thanks [@Andarist](https://github.com/Andarist)! - Fixed an edge case issue with incorrect rules being generated. When a context selector (`&`) was used not at the beginning of a selector (which is not valid SCSS but is allowed by the Stylis parser that we are using) within a group of selectors containing a pseudoclass then it was not replaced correctly with the current context selector.\n\n- Updated dependencies [[`e5beae8e`](https://github.com/emotion-js/emotion/commit/e5beae8e320f3d1455e45efecdfeb7d757687a43), [`9ae4a91a`](https://github.com/emotion-js/emotion/commit/9ae4a91a08a6f7c5ca26a585f1c271a179db4623), [`f2eda829`](https://github.com/emotion-js/emotion/commit/f2eda8295429dd1892a06cbc9496321f2a55c10a)]:\n  - @emotion/cache@11.5.0\n  - @emotion/sheet@1.0.3\n\n## 11.1.3\n\n### Patch Changes\n\n- [`704b0092`](https://github.com/emotion-js/emotion/commit/704b0092ebba648c3937cc281e4d549565968201) [#2180](https://github.com/emotion-js/emotion/pull/2180) Thanks [@Andarist](https://github.com/Andarist)! - Fixed an issue with global styles containing pseudo selectors in at-rules not being able to be inserted.\n\n- Updated dependencies [[`704b0092`](https://github.com/emotion-js/emotion/commit/704b0092ebba648c3937cc281e4d549565968201)]:\n  - @emotion/cache@11.1.3\n\n## 11.0.0\n\n### Major Changes\n\n- [`b8476e08`](https://github.com/emotion-js/emotion/commit/b8476e08af4a2e8de94a112cb0daf6e8e4d56fe1) [#1675](https://github.com/emotion-js/emotion/pull/1675) Thanks [@emmatown](https://github.com/emmatown)! - Rename `emotion` to `@emotion/css`. Please change any imports of `emotion` to import `@emotion/css` or use the `@emotion/pkg-renaming` ESLint rule from `@emotion/eslint-plugin`.\n\n* [`b8476e08`](https://github.com/emotion-js/emotion/commit/b8476e08af4a2e8de94a112cb0daf6e8e4d56fe1) [#1675](https://github.com/emotion-js/emotion/pull/1675) Thanks [@emmatown](https://github.com/emmatown)! - Move create `create-emotion` to `@emotion/css/create-instance`. Please change any imports of `create-emotion` to import `@emotion/css/create-instance` or use the `@emotion/pkg-renaming` ESLint rule from `@emotion/eslint-plugin`.\n\n- [`105de5c8`](https://github.com/emotion-js/emotion/commit/105de5c8752be0983c000e1e26462dc8fcf0708d) [#1572](https://github.com/emotion-js/emotion/pull/1572) Thanks [@Andarist](https://github.com/Andarist)! - The `key` option is now required when creating a custom instance of a cache. Please make sure it's unique (and not equal to `'css'`) as it's used for linking styles to your cache. If multiple caches share the same key they might \"fight\" for each other's style elements.\n\n* [`5bea60b1`](https://github.com/emotion-js/emotion/commit/5bea60b1ffab85fbc965532006c3a94ea139f0bf) [#1807](https://github.com/emotion-js/emotion/pull/1807) Thanks [@Andarist](https://github.com/Andarist)! - Removed support for interpolating class names returned from `css`, so this will no longer be possible:\n\n  ```js\n  const cls1 = css`\n    color: blue;\n  `\n  const cls2 = css`\n    & .${cls1} {\n      color: red;\n    }\n  `\n  ```\n\n  This has already been deprecated for the lifetime of v10.\n\n* [`843bfb11`](https://github.com/emotion-js/emotion/commit/843bfb1153ee0dbe33d005fdd5c5be185daa5c41) [#1630](https://github.com/emotion-js/emotion/pull/1630) Thanks [@Andarist](https://github.com/Andarist)! - Removed default export from `@emotion/css` - it's main purpose was to allow `css` to be a Babel macro, but since babel-plugin-macros allows us to keep imports nowadays this is no longer needed. `@emotion/react/macro` has been added to account for this use case and appropriate changes has been made to `@emotion/babel-plugin` to facilitate those changes.\n\n  If you have used `@emotion/css` directly (it was always reexported from `@emotion/react`) or you have been using its macro then you should update your code like this:\n\n  ```diff\n  -import css from '@emotion/css'\n  +import { css } from '@emotion/react'\n\n  // or\n  -import css from '@emotion/css/macro'\n  +import { css } from '@emotion/react/macro'\n  ```\n\n  You can also use the `@emotion/pkg-renaming` ESLint rule from `@emotion/eslint-plugin` to do this for you.\n\n* [`9e998e37`](https://github.com/emotion-js/emotion/commit/9e998e3755c217027ad1be0af4c64644fe14c6bf) [#1817](https://github.com/emotion-js/emotion/pull/1817) Thanks [@Andarist](https://github.com/Andarist)! - The parser we use ([Stylis](https://github.com/thysultan/stylis.js)) got upgraded. It fixes some long-standing parsing edge cases while being smaller and faster 🚀\n\n  It has been completely rewritten and comes with some breaking changes. The most notable ones that might affect Emotion users are:\n\n  - plugins written for the former Stylis v3 are not compatible with the new version. To learn more on how to write a plugin for Stylis v4 you can check out its [README](https://github.com/thysultan/stylis.js#middleware) and the source code of core plugins.\n  - vendor-prefixing was previously customizable using `prefix` option. This was always limited to turning off all of some of the prefixes as all available prefixes were on by default. The `prefix` option is gone and to customize which prefixes are applied you need to fork (copy-paste) the prefixer plugin and adjust it to your needs. While this being somewhat more problematic to setup at first we believe that the vast majority of users were not customizing this anyway. By not including the possibility to customize this through an extra option the final solution is more performant because there is no extra overhead of checking if a particular property should be prefixed or not.\n  - the prefixer is now just a plugin which happens to be included in the default `stylisPlugins`. If you plan to use custom `stylisPlugins` and you want to have your styles prefixed automatically you must include prefixer in your custom `stylisPlugins`. You can import `prefixer` from the `stylis` module to do that.\n  - `@import` rules are no longer special-cased. The responsibility to put them first has been moved to the author of the styles. They also can't be nested within other rules now. It's only possible to write them at the top level of global styles.\n\n- [`cf56694`](https://github.com/emotion-js/emotion/commit/cf56694d54d0b2bd6208f561d8ce829da4918952) [#2088](https://github.com/emotion-js/emotion/pull/2088) Thanks [@Andarist](https://github.com/Andarist)! - UMD filenames have been changed.\n\n### Minor Changes\n\n- [`5d692a6a`](https://github.com/emotion-js/emotion/commit/5d692a6a8102b3faabefb773dd0145b123668a07) [#1956](https://github.com/emotion-js/emotion/pull/1956) Thanks [@eps1lon](https://github.com/eps1lon)! - Upgraded [`csstype`](https://www.npmjs.com/package/csstype) dependency to its v3. This is what we use to provide TypeScript typings for object styles. The upgrade should not affect any consuming code but it's worth mentioning if any edge case scenarios arise.\n\n### Patch Changes\n\n- [`6d32d82b`](https://github.com/emotion-js/emotion/commit/6d32d82beb45b18e5f18a37932b862ad19b17044) [#1848](https://github.com/emotion-js/emotion/pull/1848) Thanks [@osdiab](https://github.com/osdiab)! - Added `speedy` method to the TS type declaration of the `sheet` object available on Emotion instances. In addition to that - `StyleSheet` type is no longer exported from this package and instead `CSSStyleSheet` is available now. The `StyleSheet` type might still be imported from `@emotion/sheet`, but it has no `speedy` method and thus it's not the same as what is available in this package as `CSSStyleSheet`.\n\n- Updated dependencies [[`c672175b`](https://github.com/emotion-js/emotion/commit/c672175b52e86de43b3d4092a8fe34b2023ceae8), [`a8eb4e75`](https://github.com/emotion-js/emotion/commit/a8eb4e75eed26763dc4f82ddd9bb49af4552768b), [`e3d7db87`](https://github.com/emotion-js/emotion/commit/e3d7db87deaac95817404760112417ac1fa1b56d), [`8a896a31`](https://github.com/emotion-js/emotion/commit/8a896a31434a1d2f69e1f1467c446c884c929387), [`42df3f3b`](https://github.com/emotion-js/emotion/commit/42df3f3bc01526eed61cedba106d86b9e3807f9d), [`c5b12d90`](https://github.com/emotion-js/emotion/commit/c5b12d90316477e95ce3680a3c745cde328a14c1), [`4a891bf6`](https://github.com/emotion-js/emotion/commit/4a891bf6a30e3bb37f8f32031fa75a571c637d9c), [`5e803106`](https://github.com/emotion-js/emotion/commit/5e803106d391b7c036bdf634318b80337a1d9b70), [`b8476e08`](https://github.com/emotion-js/emotion/commit/b8476e08af4a2e8de94a112cb0daf6e8e4d56fe1), [`1e4a741d`](https://github.com/emotion-js/emotion/commit/1e4a741de6424d3d9c1f3ca9695e1953bed3a194), [`debaad9a`](https://github.com/emotion-js/emotion/commit/debaad9ab4bd6c80312092826d9146f3d29c0899), [`0a4a22ff`](https://github.com/emotion-js/emotion/commit/0a4a22ffcfaa49d09a88856ef2d51e0d53e31b6d), [`5c55fd17`](https://github.com/emotion-js/emotion/commit/5c55fd17dcaec84d1f5d5d13ae90dd336d7e4403), [`b0ad4f0c`](https://github.com/emotion-js/emotion/commit/b0ad4f0c628813a42c4637857be9a969429db6f0), [`9e998e37`](https://github.com/emotion-js/emotion/commit/9e998e3755c217027ad1be0af4c64644fe14c6bf), [`c65c5d88`](https://github.com/emotion-js/emotion/commit/c65c5d887002d76557eaefcb98091d795b13f9a9), [`5c7ec859`](https://github.com/emotion-js/emotion/commit/5c7ec85904633a11185066fa591dc8969f3f2ff2), [`a085003d`](https://github.com/emotion-js/emotion/commit/a085003d4c8ca284c116668d7217fb747802ed85), [`dfe79aca`](https://github.com/emotion-js/emotion/commit/dfe79aca696fc688f960218b16afee197926fe71), [`c7850e61`](https://github.com/emotion-js/emotion/commit/c7850e61211d6aa26a3388399889a6072ee2f1fe), [`105de5c8`](https://github.com/emotion-js/emotion/commit/105de5c8752be0983c000e1e26462dc8fcf0708d), [`39be057b`](https://github.com/emotion-js/emotion/commit/39be057b1a0c6b76f2cb7a455cb8bc35fe875ba0), [`b7d21373`](https://github.com/emotion-js/emotion/commit/b7d21373d967d0f958dd59aaaa650047e23e8e8b), [`105de5c8`](https://github.com/emotion-js/emotion/commit/105de5c8752be0983c000e1e26462dc8fcf0708d), [`5d692a6a`](https://github.com/emotion-js/emotion/commit/5d692a6a8102b3faabefb773dd0145b123668a07), [`c5b12d90`](https://github.com/emotion-js/emotion/commit/c5b12d90316477e95ce3680a3c745cde328a14c1), [`9e998e37`](https://github.com/emotion-js/emotion/commit/9e998e3755c217027ad1be0af4c64644fe14c6bf), [`c6431074`](https://github.com/emotion-js/emotion/commit/c6431074cf52a4bb64587c86ce5d42fe2d49230b), [`828111cd`](https://github.com/emotion-js/emotion/commit/828111cd32d3fe8c984231201e518d1b6000bffd), [`9e998e37`](https://github.com/emotion-js/emotion/commit/9e998e3755c217027ad1be0af4c64644fe14c6bf), [`9e998e37`](https://github.com/emotion-js/emotion/commit/9e998e3755c217027ad1be0af4c64644fe14c6bf)]:\n  - @emotion/babel-plugin@11.0.0\n  - @emotion/cache@11.0.0\n  - @emotion/serialize@1.0.0\n  - @emotion/sheet@1.0.0\n  - @emotion/utils@1.0.0\n\n## 11.0.0-rc.0\n\n### Major Changes\n\n- [`9c4ebc16`](https://github.com/emotion-js/emotion/commit/9c4ebc160471097c5d04fb92dba3ed0df870bb63) [#2030](https://github.com/emotion-js/emotion/pull/2030) Thanks [@Andarist](https://github.com/Andarist)! - Release candidate version.\n\n### Patch Changes\n\n- Updated dependencies [[`9c4ebc16`](https://github.com/emotion-js/emotion/commit/9c4ebc160471097c5d04fb92dba3ed0df870bb63)]:\n  - @emotion/babel-plugin@11.0.0-rc.0\n  - @emotion/cache@11.0.0-rc.0\n  - @emotion/serialize@1.0.0-rc.0\n  - @emotion/sheet@1.0.0-rc.0\n  - @emotion/utils@1.0.0-rc.0\n\n## 11.0.0-next.19\n\n### Patch Changes\n\n- Updated dependencies [[`42df3f3b`](https://github.com/emotion-js/emotion/commit/42df3f3bc01526eed61cedba106d86b9e3807f9d), [`42df3f3b`](https://github.com/emotion-js/emotion/commit/42df3f3bc01526eed61cedba106d86b9e3807f9d)]:\n  - @emotion/sheet@1.0.0-next.5\n  - @emotion/cache@11.0.0-next.19\n\n## 11.0.0-next.17\n\n### Patch Changes\n\n- Updated dependencies [[`76e3dc4d`](https://github.com/emotion-js/emotion/commit/76e3dc4dd3e76423aa5d527b3e66fe3be1722e5a)]:\n  - @emotion/serialize@1.0.0-next.5\n  - @emotion/babel-plugin@11.0.0-next.17\n\n## 11.0.0-next.16\n\n### Patch Changes\n\n- Updated dependencies [[`a8eb4e75`](https://github.com/emotion-js/emotion/commit/a8eb4e75eed26763dc4f82ddd9bb49af4552768b), [`dfe98028`](https://github.com/emotion-js/emotion/commit/dfe98028451a27c5190fa1ba138e51ef3d6d9be1), [`debaad9a`](https://github.com/emotion-js/emotion/commit/debaad9ab4bd6c80312092826d9146f3d29c0899), [`39be057b`](https://github.com/emotion-js/emotion/commit/39be057b1a0c6b76f2cb7a455cb8bc35fe875ba0), [`39be057b`](https://github.com/emotion-js/emotion/commit/39be057b1a0c6b76f2cb7a455cb8bc35fe875ba0)]:\n  - @emotion/cache@11.0.0-next.16\n  - @emotion/utils@1.0.0-next.1\n  - @emotion/sheet@1.0.0-next.4\n  - @emotion/serialize@0.11.15-next.4\n  - @emotion/babel-plugin@11.0.0-next.16\n\n## 11.0.0-next.15\n\n### Minor Changes\n\n- [`5d692a6a`](https://github.com/emotion-js/emotion/commit/5d692a6a8102b3faabefb773dd0145b123668a07) [#1956](https://github.com/emotion-js/emotion/pull/1956) Thanks [@eps1lon](https://github.com/eps1lon)! - Upgraded [`csstype`](https://www.npmjs.com/package/csstype) dependency to its v3. This is what we use to provide TypeScript typings for object styles. The upgrade should not affect any consuming code but it's worth mentioning if any edge case scenarios arise.\n\n### Patch Changes\n\n- Updated dependencies [[`dc1a0c5e`](https://github.com/emotion-js/emotion/commit/dc1a0c5ed78b27fb7ce49b6296f2ca8631654cd1), [`5d692a6a`](https://github.com/emotion-js/emotion/commit/5d692a6a8102b3faabefb773dd0145b123668a07)]:\n  - @emotion/sheet@1.0.0-next.3\n  - @emotion/serialize@1.0.0-next.3\n  - @emotion/cache@11.0.0-next.15\n  - @emotion/babel-plugin@11.0.0-next.15\n\n## 11.0.0-next.14\n\n### Patch Changes\n\n- [`6d32d82b`](https://github.com/emotion-js/emotion/commit/6d32d82beb45b18e5f18a37932b862ad19b17044) [#1848](https://github.com/emotion-js/emotion/pull/1848) Thanks [@osdiab](https://github.com/osdiab)! - Added `speedy` method to the TS type declaration of the `sheet` object available on Emotion instances. In addition to that - `StyleSheet` type is no longer exported from this package and instead `CSSStyleSheet` is available now. The `StyleSheet` type might still be imported from `@emotion/sheet`, but it has no `speedy` method and thus it's not the same as what is available in this package as `CSSStyleSheet`.\n\n## 11.0.0-next.13\n\n### Major Changes\n\n- [`9e998e37`](https://github.com/emotion-js/emotion/commit/9e998e3755c217027ad1be0af4c64644fe14c6bf) [#1817](https://github.com/emotion-js/emotion/pull/1817) Thanks [@Andarist](https://github.com/Andarist)! - The parser we use ([Stylis](https://github.com/thysultan/stylis.js)) got upgraded. It fixes some long-standing parsing edge cases while being smaller and faster 🚀\n\n  It has been completely rewritten and comes with some breaking changes. Most notable ones that might affect Emotion users are:\n\n  - plugins written for the former Stylis v3 are not compatible with the new version. To learn more on how to write a plugin for Stylis v4 you can check out its [README](https://github.com/thysultan/stylis.js#middleware) and the source code of core plugins.\n  - vendor-prefixing was previously customizable using `prefix` option. This was always limited to turning off all of some of the prefixes as all available prefixes were on by default. The `prefix` option is gone and to customize which prefixes are applied you need to fork (copy-paste) the prefixer plugin and adjust it to your needs. While this being somewhat more problematic to setup at first we believe that the vast majority of users were not customizing this anyway. By not including the possibility to customize this through an extra option the final solution is more performant because there is no extra overhead of checking if a particular property should be prefixed or not.\n  - Prefixer is now just a plugin which happens to be put in default `stylisPlugins`. If you plan to use custom `stylisPlugins` and you want to have your styles prefixed automatically you must include prefixer in your custom `stylisPlugins`. You can import `prefixer` from the `stylis` module to do that.\n  - `@import` rules are no longer special-cased. The responsibility to put them first has been moved to the author of the styles. They also can't be nested within other rules now. It's only possible to write them at the top level of global styles.\n\n### Patch Changes\n\n- Updated dependencies [[`91046a8c`](https://github.com/emotion-js/emotion/commit/91046a8c188327a65daac61583ef3c4458f30afb), [`5e803106`](https://github.com/emotion-js/emotion/commit/5e803106d391b7c036bdf634318b80337a1d9b70), [`9e998e37`](https://github.com/emotion-js/emotion/commit/9e998e3755c217027ad1be0af4c64644fe14c6bf), [`9e998e37`](https://github.com/emotion-js/emotion/commit/9e998e3755c217027ad1be0af4c64644fe14c6bf), [`9e998e37`](https://github.com/emotion-js/emotion/commit/9e998e3755c217027ad1be0af4c64644fe14c6bf), [`9e998e37`](https://github.com/emotion-js/emotion/commit/9e998e3755c217027ad1be0af4c64644fe14c6bf)]:\n  - @emotion/sheet@1.0.0-next.2\n  - @emotion/babel-plugin@11.0.0-next.13\n  - @emotion/cache@11.0.0-next.13\n  - @emotion/utils@1.0.0-next.0\n  - @emotion/serialize@0.11.15-next.2\n\n## 11.0.0-next.12\n\n### Major Changes\n\n- [`5bea60b1`](https://github.com/emotion-js/emotion/commit/5bea60b1ffab85fbc965532006c3a94ea139f0bf) [#1807](https://github.com/emotion-js/emotion/pull/1807) Thanks [@Andarist](https://github.com/Andarist)! - Removed support for interpolating class names returned from `css`, so this will no longer be possible:\n\n  ```js\n  const cls1 = css`\n    color: blue;\n  `\n  const cls2 = css`\n    & .${cls1} {\n      color: red;\n    }\n  `\n  ```\n\n  This has already been deprecated for the lifetime of v10.\n\n* [`105de5c8`](https://github.com/emotion-js/emotion/commit/105de5c8752be0983c000e1e26462dc8fcf0708d) [#1572](https://github.com/emotion-js/emotion/pull/1572) Thanks [@Andarist](https://github.com/Andarist)! - From now on `key` option is required when creating a custom instance. Please make sure it's unique (and not equal to 'css') as it's used for linking styles to your cache. If multiple caches share the same key they might \"fight\" for each other's style elements.\n\n### Patch Changes\n\n- Updated dependencies [[`e3d7db87`](https://github.com/emotion-js/emotion/commit/e3d7db87deaac95817404760112417ac1fa1b56d), [`5c7ec859`](https://github.com/emotion-js/emotion/commit/5c7ec85904633a11185066fa591dc8969f3f2ff2), [`105de5c8`](https://github.com/emotion-js/emotion/commit/105de5c8752be0983c000e1e26462dc8fcf0708d), [`e3d7db87`](https://github.com/emotion-js/emotion/commit/e3d7db87deaac95817404760112417ac1fa1b56d), [`105de5c8`](https://github.com/emotion-js/emotion/commit/105de5c8752be0983c000e1e26462dc8fcf0708d)]:\n  - @emotion/serialize@1.0.0-next.1\n  - @emotion/babel-plugin@11.0.0-next.12\n  - @emotion/cache@11.0.0-next.12\n\n## 11.0.0-next.11\n\n### Patch Changes\n\n- Updated dependencies [[`f08ef5a3`](https://github.com/emotion-js/emotion/commit/f08ef5a316c1d05bff8e7f3690781e1089a263c6)]:\n  - @emotion/serialize@0.11.15-next.4\n  - @emotion/babel-plugin@11.0.0-next.11\n\n## 11.0.0-next.10\n\n### Major Changes\n\n- [`b8476e08`](https://github.com/emotion-js/emotion/commit/b8476e08af4a2e8de94a112cb0daf6e8e4d56fe1) [#1675](https://github.com/emotion-js/emotion/pull/1675) Thanks [@emmatown](https://github.com/emmatown)! - Move create `create-emotion` to `@emotion/css/create-instance`. Please change any imports of `create-emotion` to import `@emotion/css/create-instance` or use the `@emotion/pkg-renaming` ESLint rule from `@emotion/eslint-plugin`.\n\n* [`b8476e08`](https://github.com/emotion-js/emotion/commit/b8476e08af4a2e8de94a112cb0daf6e8e4d56fe1) [#1675](https://github.com/emotion-js/emotion/pull/1675) Thanks [@emmatown](https://github.com/emmatown)! - Rename `emotion` to `@emotion/css`. Please change any imports of `emotion` to import `@emotion/css` or use the `@emotion/pkg-renaming` ESLint rule from `@emotion/eslint-plugin`.\n\n### Patch Changes\n\n- Updated dependencies [[`b8476e08`](https://github.com/emotion-js/emotion/commit/b8476e08af4a2e8de94a112cb0daf6e8e4d56fe1), [`1e4a741d`](https://github.com/emotion-js/emotion/commit/1e4a741de6424d3d9c1f3ca9695e1953bed3a194), [`dfe79aca`](https://github.com/emotion-js/emotion/commit/dfe79aca696fc688f960218b16afee197926fe71), [`c7850e61`](https://github.com/emotion-js/emotion/commit/c7850e61211d6aa26a3388399889a6072ee2f1fe), [`dfe79aca`](https://github.com/emotion-js/emotion/commit/dfe79aca696fc688f960218b16afee197926fe71)]:\n  - @emotion/babel-plugin@11.0.0-next.10\n  - @emotion/sheet@0.10.0-next.1\n  - @emotion/cache@11.0.0-next.10\n\n## 11.0.0-next.0\n\n### Major Changes\n\n- [`302bdba1`](https://github.com/emotion-js/emotion/commit/302bdba1a6b793484c09edeb668815c5e31ea555) [#1600](https://github.com/emotion-js/emotion/pull/1600) Thanks [@emmatown](https://github.com/emmatown)! - Ensure packages are major bumped so that pre-release versions of the linked packages are consistent in the major number\n\n### Patch Changes\n\n- Updated dependencies [[`b0ad4f0c`](https://github.com/emotion-js/emotion/commit/b0ad4f0c628813a42c4637857be9a969429db6f0), [`302bdba1`](https://github.com/emotion-js/emotion/commit/302bdba1a6b793484c09edeb668815c5e31ea555)]:\n  - babel-plugin-emotion@11.0.0-next.0\n  - create-emotion@11.0.0-next.0\n\n## 10.0.27\n\n### Patch Changes\n\n- [`4c62ae9`](https://github.com/emotion-js/emotion/commit/4c62ae9447959d438928e1a26f76f1487983c968) [#1698](https://github.com/emotion-js/emotion/pull/1698) Thanks [@Andarist](https://github.com/Andarist)! - Add LICENSE file\n- Updated dependencies [[`4c62ae9`](https://github.com/emotion-js/emotion/commit/4c62ae9447959d438928e1a26f76f1487983c968)]:\n  - babel-plugin-emotion@10.0.27\n  - create-emotion@10.0.27\n  - @emotion/stylis@0.8.5\n\n## 10.0.23\n\n### Patch Changes\n\n- [`1ae94891`](https://github.com/emotion-js/emotion/commit/1ae948917326e2bc2bc978c59d04cb2695c72e38) [#1583](https://github.com/emotion-js/emotion/pull/1583) Thanks [@Andarist](https://github.com/Andarist)! - Export TS & Flow types for emotion/macro\n\n- Updated dependencies [[`3927293d`](https://github.com/emotion-js/emotion/commit/3927293d0b9d96b4a7c00196e8430728759b1161), [`b3a0f148`](https://github.com/emotion-js/emotion/commit/b3a0f1484f2efcc78b447639ff2e0bc0f29915ae)]:\n  - babel-plugin-emotion@10.0.23\n\n## 10.0.17\n\n### Patch Changes\n\n- [66cda641](https://github.com/emotion-js/emotion/commit/66cda64128631790b81e3c9df273a972358ea593) [#1478](https://github.com/emotion-js/emotion/pull/1478) Thanks [@Andarist](https://github.com/Andarist)! - Add warnings about using illegal escape sequences\n\n## 10.0.14\n\n### Patch Changes\n\n- [c0eb604d](https://github.com/emotion-js/emotion/commit/c0eb604d) [#1419](https://github.com/emotion-js/emotion/pull/1419) Thanks [@emmatown](https://github.com/emmatown)! - Update build tool\n"
  },
  {
    "path": "packages/css/LICENSE",
    "content": "MIT License\n\nCopyright (c) Emotion team and other contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "packages/css/README.md",
    "content": "# @emotion/css\n\nThe [@emotion/css](https://www.npmjs.com/package/@emotion/css) package is framework agnostic and the simplest way to use Emotion.\n\n## Table of Contents\n\n- [Quick Start](#quick-start)\n- [API](#api)\n  - [Generate Class Names — `css`](#css)\n  - [Global Styles — `injectGlobal`](#global-styles)\n  - [Animation Keyframes — `keyframes`](#animation-keyframes)\n  - [Composing Class Names — `cx`](#cx)\n- [Custom Instances](#custom-instances)\n- [Server Side Rendering](https://emotion.sh/docs/ssr#api)\n- [Babel Plugin](https://emotion.sh/docs/@emotion/babel-plugin)\n\n## Quick Start\n\nGet up and running with a single import.\n\n```bash\nnpm install --save @emotion/css\n```\n\n```javascript\nimport { css } from '@emotion/css'\n\nconst app = document.getElementById('root')\nconst myStyle = css`\n  color: rebeccapurple;\n`\napp.classList.add(myStyle)\n```\n\n## API\n\n### css\n\nThe `css` function accepts styles as a template literal, object, or array of objects and returns a class name. It is the foundation of emotion.\n\n#### String Styles\n\n```jsx\n// @live\nimport { css } from '@emotion/css'\n\nconst color = 'darkgreen'\n\nrender(\n  <div\n    className={css`\n      background-color: hotpink;\n      &:hover {\n        color: ${color};\n      }\n    `}\n  >\n    This has a hotpink background.\n  </div>\n)\n```\n\n#### Object Styles\n\n```jsx\n// @live\nimport { css } from '@emotion/css'\n\nconst color = 'darkgreen'\n\nrender(\n  <div\n    className={css({\n      backgroundColor: 'hotpink',\n      '&:hover': {\n        color\n      }\n    })}\n  >\n    This has a hotpink background.\n  </div>\n)\n```\n\n#### Array of Object Styles\n\n```jsx\n// @live\nimport { css } from '@emotion/css'\n\nconst color = 'darkgreen'\nconst isDanger = true\n\nrender(\n  <div\n    className={css([\n      {\n        backgroundColor: 'hotpink',\n        '&:hover': {\n          color\n        }\n      },\n      isDanger && {\n        color: 'red'\n      }\n    ])}\n  >\n    This has a hotpink background.\n  </div>\n)\n```\n\n### Global Styles\n\n`injectGlobal` injects styles into the global scope and is useful for applications such as css resets or font faces.\n\n```jsx\nimport { injectGlobal } from '@emotion/css'\n\ninjectGlobal`\n  * {\n    box-sizing: border-box;\n  }\n  @font-face {\n    font-family: 'Patrick Hand SC';\n    font-style: normal;\n    font-weight: 400;\n    src: local('Patrick Hand SC'),\n      local('PatrickHandSC-Regular'),\n      url(https://fonts.gstatic.com/s/patrickhandsc/v4/OYFWCgfCR-7uHIovjUZXsZ71Uis0Qeb9Gqo8IZV7ckE.woff2)\n        format('woff2');\n    unicode-range: U+0100-024f, U+1-1eff,\n      U+20a0-20ab, U+20ad-20cf, U+2c60-2c7f,\n      U+A720-A7FF;\n  }\n`\n```\n\n### Animation Keyframes\n\n`keyframes` generates a unique animation name that can be used to animate elements with CSS animations.\n\n**String Styles**\n\n```jsx\n// @live\nimport { css, keyframes } from '@emotion/css'\n\nconst bounce = keyframes`\n  from, 20%, 53%, 80%, to {\n    transform: translate3d(0,0,0);\n  }\n\n  40%, 43% {\n    transform: translate3d(0, -30px, 0);\n  }\n\n  70% {\n    transform: translate3d(0, -15px, 0);\n  }\n\n  90% {\n    transform: translate3d(0,-4px,0);\n  }\n`\n\nrender(\n  <img\n    className={css`\n      width: 96px;\n      height: 96px;\n      border-radius: 50%;\n      animation: ${bounce} 1s ease infinite;\n      transform-origin: center bottom;\n    `}\n    src={logoUrl}\n  />\n)\n```\n\n**Object Styles**\n\n```jsx\n// @live\nimport { css, keyframes } from '@emotion/css'\n\nconst bounce = keyframes({\n  'from, 20%, 53%, 80%, to': {\n    transform: 'translate3d(0,0,0)'\n  },\n  '40%, 43%': {\n    transform: 'translate3d(0, -30px, 0)'\n  },\n  '70%': {\n    transform: 'translate3d(0, -15px, 0)'\n  },\n  '90%': {\n    transform: 'translate3d(0, -4px, 0)'\n  }\n})\n\nrender(\n  <img\n    src={logoUrl}\n    className={css({\n      width: 96,\n      height: 96,\n      borderRadius: '50%',\n      animation: `${bounce} 1s ease infinite`,\n      transformOrigin: 'center bottom'\n    })}\n  />\n)\n```\n\n### cx\n\n`cx` is emotion's version of the popular [`classnames` library](https://github.com/JedWatson/classnames). The key advantage of `cx` is that it detects emotion generated class names ensuring styles are overwritten in the correct order. Emotion generated styles are applied from left to right. Subsequent styles overwrite property values of previous styles.\n\n**Combining class names**\n\n```jsx\nimport { cx, css } from '@emotion/css'\n\nconst cls1 = css`\n  font-size: 20px;\n  background: green;\n`\nconst cls2 = css`\n  font-size: 20px;\n  background: blue;\n`\n\n<div className={cx(cls1, cls2)} />\n```\n\n**Conditional class names**\n\n```jsx\nconst cls1 = css`\n  font-size: 20px;\n  background: green;\n`\nconst cls2 = css`\n  font-size: 20px;\n  background: blue;\n`\n\nconst foo = true\nconst bar = false\n\n\n<div\n  className={cx(\n    { [cls1]: foo },\n    { [cls2]: bar }\n  )}\n/>\n```\n\n**Using class names from other sources**\n\n```jsx\nconst cls1 = css`\n  font-size: 20px;\n  background: green;\n`\n\n<div\n  className={cx(cls1, 'profile')}\n/>\n```\n\n## Custom Instances\n\nWith `@emotion/css/create-instance`, you can provide custom options to Emotion's cache.\n\nThe main `@emotion/css` entrypoint can be thought of as a call to `@emotion/css/create-instance` with sensible defaults for most applications.\n\n```javascript\nimport createEmotion from '@emotion/css/create-instance'\n\nexport const {\n  flush,\n  hydrate,\n  cx,\n  merge,\n  getRegisteredStyles,\n  injectGlobal,\n  keyframes,\n  css,\n  sheet,\n  cache\n} = createEmotion()\n```\n\n### Upside\n\n- Calling it directly will allow for some low level customization.\n\n- Create custom names for emotion APIs to help with migration from other, similar libraries.\n\n- Could set custom `key` to something other than `css`\n\n### Downside\n\n- Introduces some amount of complexity to your application that can vary depending on developer experience.\n\n- Required to keep up with changes in the repo and API at a lower level than if using `@emotion/css` directly\n\n### Primary use cases\n\n- Using emotion in embedded contexts such as an `<iframe/>`\n\n- Setting a [nonce](/packages/cache#nonce-string) on any `<style/>` tag emotion creates for security purposes\n\n- Use emotion with a container different than `document.head` for style elements\n\n- Using emotion with custom stylis plugins\n\n## Multiple instances in a single app example\n\n```jsx\nimport createEmotion from '@emotion/css/create-instance'\n\nexport const {\n  flush,\n  hydrate,\n  cx,\n  merge,\n  getRegisteredStyles,\n  injectGlobal,\n  keyframes,\n  css,\n  sheet,\n  cache\n} = createEmotion({\n  // The key option is required when there will be multiple instances in a single app\n  key: 'some-key'\n})\n```\n\n## Options\n\n`createEmotion` accepts the same options as [createCache](/packages/cache#options) from `@emotion/cache`.\n"
  },
  {
    "path": "packages/css/create-instance/package.json",
    "content": "{\n  \"main\": \"dist/emotion-css-create-instance.cjs.js\",\n  \"module\": \"dist/emotion-css-create-instance.esm.js\",\n  \"umd:main\": \"dist/emotion-css-create-instance.umd.min.js\",\n  \"types\": \"dist/emotion-css-create-instance.cjs.d.ts\",\n  \"preconstruct\": {\n    \"umdName\": \"createEmotion\"\n  }\n}\n"
  },
  {
    "path": "packages/css/macro.d.mts",
    "content": "export * from './macro.js'\n"
  },
  {
    "path": "packages/css/macro.d.ts",
    "content": "export * from '@emotion/css'\n"
  },
  {
    "path": "packages/css/macro.js",
    "content": "module.exports = require('@emotion/babel-plugin').macros.vanillaEmotion\n"
  },
  {
    "path": "packages/css/package.json",
    "content": "{\n  \"name\": \"@emotion/css\",\n  \"version\": \"11.13.5\",\n  \"description\": \"The Next Generation of CSS-in-JS.\",\n  \"main\": \"dist/emotion-css.cjs.js\",\n  \"module\": \"dist/emotion-css.esm.js\",\n  \"types\": \"dist/emotion-css.cjs.d.ts\",\n  \"files\": [\n    \"src\",\n    \"dist\",\n    \"types\",\n    \"macro.*\",\n    \"create-instance\"\n  ],\n  \"scripts\": {\n    \"test:typescript\": \"dtslint types\"\n  },\n  \"dependencies\": {\n    \"@emotion/babel-plugin\": \"^11.13.5\",\n    \"@emotion/cache\": \"^11.13.5\",\n    \"@emotion/serialize\": \"^1.3.3\",\n    \"@emotion/sheet\": \"^1.4.0\",\n    \"@emotion/utils\": \"^1.4.2\"\n  },\n  \"devDependencies\": {\n    \"@definitelytyped/dtslint\": \"0.0.112\",\n    \"typescript\": \"^5.4.5\"\n  },\n  \"author\": \"Kye Hohenberger\",\n  \"homepage\": \"https://emotion.sh\",\n  \"license\": \"MIT\",\n  \"repository\": \"https://github.com/emotion-js/emotion/tree/main/packages/css\",\n  \"keywords\": [\n    \"styles\",\n    \"emotion\",\n    \"react\",\n    \"css\",\n    \"css-in-js\"\n  ],\n  \"bugs\": {\n    \"url\": \"https://github.com/emotion-js/emotion/issues\"\n  },\n  \"umd:main\": \"dist/emotion-css.umd.min.js\",\n  \"exports\": {\n    \".\": {\n      \"types\": {\n        \"import\": \"./dist/emotion-css.cjs.mjs\",\n        \"default\": \"./dist/emotion-css.cjs.js\"\n      },\n      \"development\": {\n        \"module\": \"./dist/emotion-css.development.esm.js\",\n        \"import\": \"./dist/emotion-css.development.cjs.mjs\",\n        \"default\": \"./dist/emotion-css.development.cjs.js\"\n      },\n      \"module\": \"./dist/emotion-css.esm.js\",\n      \"import\": \"./dist/emotion-css.cjs.mjs\",\n      \"default\": \"./dist/emotion-css.cjs.js\"\n    },\n    \"./create-instance\": {\n      \"types\": {\n        \"import\": \"./create-instance/dist/emotion-css-create-instance.cjs.mjs\",\n        \"default\": \"./create-instance/dist/emotion-css-create-instance.cjs.js\"\n      },\n      \"development\": {\n        \"module\": \"./create-instance/dist/emotion-css-create-instance.development.esm.js\",\n        \"import\": \"./create-instance/dist/emotion-css-create-instance.development.cjs.mjs\",\n        \"default\": \"./create-instance/dist/emotion-css-create-instance.development.cjs.js\"\n      },\n      \"module\": \"./create-instance/dist/emotion-css-create-instance.esm.js\",\n      \"import\": \"./create-instance/dist/emotion-css-create-instance.cjs.mjs\",\n      \"default\": \"./create-instance/dist/emotion-css-create-instance.cjs.js\"\n    },\n    \"./package.json\": \"./package.json\",\n    \"./macro\": {\n      \"types\": {\n        \"import\": \"./macro.d.mts\",\n        \"default\": \"./macro.d.ts\"\n      },\n      \"default\": \"./macro.js\"\n    }\n  },\n  \"imports\": {\n    \"#is-development\": {\n      \"development\": \"./src/conditions/true.ts\",\n      \"default\": \"./src/conditions/false.ts\"\n    }\n  },\n  \"preconstruct\": {\n    \"umdName\": \"emotion\",\n    \"entrypoints\": [\n      \"./index.ts\",\n      \"./create-instance.ts\"\n    ],\n    \"exports\": {\n      \"extra\": {\n        \"./macro\": {\n          \"types\": {\n            \"import\": \"./macro.d.mts\",\n            \"default\": \"./macro.d.ts\"\n          },\n          \"default\": \"./macro.js\"\n        }\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "packages/css/src/conditions/false.ts",
    "content": "export default false as boolean\n"
  },
  {
    "path": "packages/css/src/conditions/true.ts",
    "content": "export default true as boolean\n"
  },
  {
    "path": "packages/css/src/create-instance.ts",
    "content": "import createCache from '@emotion/cache'\nimport {\n  serializeStyles,\n  CSSInterpolation,\n  Interpolation\n} from '@emotion/serialize'\nimport {\n  insertStyles,\n  getRegisteredStyles,\n  SerializedStyles,\n  RegisteredCache\n} from '@emotion/utils'\nimport { EmotionCache, Options } from '@emotion/cache'\nimport { StyleSheet } from '@emotion/sheet'\nimport isDevelopment from '#is-development'\n\nexport type {\n  CSSInterpolation,\n  ArrayCSSInterpolation,\n  ComponentSelector,\n  CSSObject\n} from '@emotion/serialize'\n\nfunction insertWithoutScoping(\n  cache: EmotionCache,\n  serialized: SerializedStyles\n) {\n  if (cache.inserted[serialized.name] === undefined) {\n    return cache.insert('', serialized, cache.sheet, true)\n  }\n}\n\nexport type { EmotionCache, Options }\n\nexport interface ArrayClassNamesArg extends Array<ClassNamesArg> {}\nexport type ClassNamesArg =\n  | undefined\n  | null\n  | string\n  | boolean\n  | { [className: string]: boolean | null | undefined }\n  | ArrayClassNamesArg\n\nexport interface CSSStyleSheet extends StyleSheet {\n  speedy(value: boolean): void\n}\n\nexport interface Emotion {\n  css(template: TemplateStringsArray, ...args: Array<CSSInterpolation>): string\n  css(...args: Array<CSSInterpolation>): string\n  cx(...classNames: Array<ClassNamesArg>): string\n  flush(): void\n  hydrate(ids: Array<string>): void\n  injectGlobal(\n    template: TemplateStringsArray,\n    ...args: Array<CSSInterpolation>\n  ): void\n  injectGlobal(...args: Array<CSSInterpolation>): void\n  keyframes(\n    template: TemplateStringsArray,\n    ...args: Array<CSSInterpolation>\n  ): string\n  keyframes(...args: Array<CSSInterpolation>): string\n  sheet: CSSStyleSheet\n  cache: EmotionCache\n  merge(className: string): string\n  getRegisteredStyles(\n    registeredStyles: Array<string>,\n    className: string\n  ): string\n}\n\nfunction merge(\n  registered: RegisteredCache,\n  css: Emotion['css'],\n  className: string\n) {\n  const registeredStyles: string[] = []\n  const rawClassName = getRegisteredStyles(\n    registered,\n    registeredStyles,\n    className\n  )\n\n  if (registeredStyles.length < 2) {\n    return className\n  }\n  return rawClassName + css(registeredStyles)\n}\n\nlet createEmotion = (options: Options): Emotion => {\n  let cache = createCache(options)\n\n  ;(cache.sheet as CSSStyleSheet).speedy = function (value: boolean) {\n    if (isDevelopment && this.ctr !== 0) {\n      throw new Error('speedy must be changed before any rules are inserted')\n    }\n    this.isSpeedy = value\n  }\n\n  cache.compat = true\n\n  let css: Emotion['css'] = (\n    ...args: (TemplateStringsArray | Interpolation<unknown>)[]\n  ) => {\n    let serialized = serializeStyles(args, cache.registered, undefined)\n    insertStyles(cache, serialized, false)\n    return `${cache.key}-${serialized.name}`\n  }\n\n  let keyframes: Emotion['keyframes'] = (\n    ...args: (TemplateStringsArray | Interpolation<unknown>)[]\n  ) => {\n    let serialized = serializeStyles(args, cache.registered)\n    let animation = `animation-${serialized.name}`\n    insertWithoutScoping(cache, {\n      name: serialized.name,\n      styles: `@keyframes ${animation}{${serialized.styles}}`\n    })\n\n    return animation\n  }\n  let injectGlobal: Emotion['injectGlobal'] = (\n    ...args: (TemplateStringsArray | Interpolation<unknown>)[]\n  ) => {\n    let serialized = serializeStyles(args, cache.registered)\n    insertWithoutScoping(cache, serialized)\n  }\n\n  let cx: Emotion['cx'] = (...args) => {\n    return merge(cache.registered, css, classnames(args))\n  }\n  return {\n    css,\n    cx,\n    injectGlobal,\n    keyframes,\n    hydrate(ids) {\n      ids.forEach(key => {\n        cache.inserted[key] = true\n      })\n    },\n    flush() {\n      cache.registered = {}\n      cache.inserted = {}\n      cache.sheet.flush()\n    },\n    sheet: cache.sheet as CSSStyleSheet,\n    cache,\n    getRegisteredStyles: getRegisteredStyles.bind(null, cache.registered),\n    merge: merge.bind(null, cache.registered, css)\n  }\n}\n\nlet classnames = (args: ClassNamesArg[]) => {\n  let cls = ''\n  for (let i = 0; i < args.length; i++) {\n    let arg = args[i]\n    if (arg == null) continue\n\n    let toAdd\n    switch (typeof arg) {\n      case 'boolean':\n        break\n      case 'object': {\n        if (Array.isArray(arg)) {\n          toAdd = classnames(arg)\n        } else {\n          toAdd = ''\n          for (const k in arg) {\n            if (arg[k] && k) {\n              toAdd && (toAdd += ' ')\n              toAdd += k\n            }\n          }\n        }\n        break\n      }\n      default: {\n        toAdd = arg\n      }\n    }\n    if (toAdd) {\n      cls && (cls += ' ')\n      cls += toAdd\n    }\n  }\n  return cls\n}\n\nexport default createEmotion\n"
  },
  {
    "path": "packages/css/src/index.ts",
    "content": "import createEmotion from './create-instance'\n\nexport const {\n  flush,\n  hydrate,\n  cx,\n  merge,\n  getRegisteredStyles,\n  injectGlobal,\n  keyframes,\n  css,\n  sheet,\n  cache\n} = createEmotion({ key: 'css' })\n"
  },
  {
    "path": "packages/css/test/__snapshots__/component-selector.test.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`component selector should be converted to use the emotion target className 1`] = `\n.emotion-0 .emotion-2 {\n  color: red;\n}\n\n.emotion-1 {\n  color: blue;\n}\n\n<div\n  className=\"emotion-0\"\n>\n  <div\n    className=\"emotion-1 emotion-2\"\n  />\n</div>\n`;\n"
  },
  {
    "path": "packages/css/test/__snapshots__/css.test.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`css @supports 1`] = `\n@supports (display: grid) {\n  .emotion-0 {\n    display: grid;\n  }\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css array fallback 1`] = `\n.emotion-0 {\n  color: yellow;\n  color: hotpink;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css array with explicit false 1`] = `\n.emotion-0 {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css array with explicit true 1`] = `\n.emotion-0 {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css auto px 1`] = `\n.emotion-0 {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-flex: 1;\n  -ms-flex: 1;\n  flex: 1;\n  font-size: 10px;\n  --custom: 5;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css boolean as value 1`] = `\n.emotion-0 {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css composition stuff 1`] = `\n.emotion-0 {\n  -webkit-box-pack: center;\n  -ms-flex-pack: center;\n  -webkit-justify-content: center;\n  justify-content: center;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css composition stuff 2`] = `\n.emotion-0 {\n  -webkit-box-pack: center;\n  -ms-flex-pack: center;\n  -webkit-justify-content: center;\n  justify-content: center;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css composition with objects 1`] = `\n.emotion-0 {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  width: 30px;\n  height: calc(40vw - 50px);\n  -webkit-box-pack: center;\n  -ms-flex-pack: center;\n  -webkit-justify-content: center;\n  justify-content: center;\n}\n\n.emotion-0:hover {\n  color: blue;\n}\n\n.emotion-0:after {\n  content: \" \";\n  color: red;\n}\n\n@media (min-width: 420px) {\n  .emotion-0 {\n    color: green;\n  }\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css computed key is only dynamic 1`] = `\n.emotion-0 {\n  font-size: 10px;\n  width: 20px;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css css variables 1`] = `\n.emotion-0 {\n  --some-var: 1px;\n  width: var(--some-var);\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css explicit & 1`] = `\n.emotion-0.another-class {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n}\n\n<div\n  className=\"emotion-0 another-class\"\n/>\n`;\n\nexports[`css explicit & 2`] = `\n\".css-5v9d41-cls1.another-class {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n}\"\n`;\n\nexports[`css explicit false 1`] = `\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css falsy property value in object 1`] = `\n.emotion-0 {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css falsy value in nested selector on object 1`] = `\n.emotion-0:hover {\n  color: hotpink;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css float property 1`] = `\n.emotion-0 {\n  float: left;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css flushes correctly 1`] = `\n.emotion-0 {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css flushes correctly 2`] = `\n<div\n  className=\"css-15gpprc-cls1\"\n/>\n`;\n\nexports[`css handles array of objects 1`] = `\n.emotion-0 {\n  height: 50px;\n  width: 20px;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css handles more than 10 dynamic properties 1`] = `\n.emotion-0 {\n  -webkit-text-decoration: underline;\n  text-decoration: underline;\n  border-right: solid blue 54px;\n  background: white;\n  color: black;\n  display: block;\n  border-radius: 3px;\n  padding: 25px;\n  width: 500px;\n  z-index: 100;\n  font-size: 18px;\n  text-align: center;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css handles objects 1`] = `\n.emotion-0 {\n  float: left;\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  color: blue;\n  font-size: 20px;\n  height: 50px;\n  width: 20px;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css manually use label property 1`] = `\n.emotion-0 {\n  color: hotpink;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css manually use label property 2`] = `\n\".css-3uek40-wow-cls1 {\n  color: hotpink;\n}\"\n`;\n\nexports[`css media query specificity 1`] = `\n\".css-xlxbv2-cls {\n  width: 32px;\n  height: 32px;\n  border-radius: 50%;\n}\n\n@media (min-width: 420px) {\n  .css-xlxbv2-cls {\n    width: 96px;\n    height: 96px;\n  }\n}\"\n`;\n\nexports[`css media query specificity 2`] = `\n.emotion-0 {\n  width: 32px;\n  height: 32px;\n  border-radius: 50%;\n}\n\n@media (min-width: 420px) {\n  .emotion-0 {\n    width: 96px;\n    height: 96px;\n  }\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css multiline declaration 1`] = `\n.emotion-0 {\n  display: grid;\n  grid: 'AppBar' auto 'Main' 1fr/1fr;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css multiline selector 1`] = `\n.emotion-0 .my-class:hover .its-child {\n  background: pink;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css nested 1`] = `\n.emotion-0 {\n  color: yellow;\n}\n\n.emotion-0 .some-class {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n}\n\n.emotion-0 .some-class .some-other-class {\n  background-color: hotpink;\n}\n\n@media (max-width: 600px) {\n  .emotion-0 .some-class {\n    background-color: pink;\n  }\n}\n\n<div\n  className=\"emotion-0\"\n>\n  <div\n    className=\"some-class\"\n  >\n    <div\n      className=\"some-other-class\"\n    />\n  </div>\n</div>\n`;\n\nexports[`css nested array 1`] = `\n.emotion-0 {\n  display: inline;\n  display: inline-block;\n  display: block;\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  display: table;\n  color: darkorchid;\n  font-size: 16px;\n}\n\n.emotion-0:after {\n  background-color: aquamarine;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css nested at rule 1`] = `\n@media (min-width: 980px) {\n  .emotion-0 {\n    background-color: blue;\n  }\n\n  @supports (width: 100vw) {\n    .emotion-0 {\n      background-color: red;\n    }\n  }\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css null rule 1`] = `\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css null value 1`] = `\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css random expression 1`] = `\n.emotion-0 {\n  font-size: 20px;\n  background: green;\n}\n\n@media (min-width: 420px) {\n  .emotion-0 {\n    color: blue;\n    width: 96px;\n    height: 96px;\n    line-height: 40px;\n  }\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css random interpolation with undefined values 1`] = `\n.emotion-0 {\n  -webkit-box-pack: center;\n  -ms-flex-pack: center;\n  -webkit-justify-content: center;\n  justify-content: center;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css registered styles as nested selector value in object 1`] = `\n.emotion-0:hover {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  background-color: hotpink;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css rule after media query 1`] = `\n@media (min-width: 600px) {\n  .emotion-0 {\n    color: green;\n  }\n}\n\n.emotion-0:hover {\n  color: hotpink;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css simple composition 1`] = `\n.emotion-0 {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-pack: center;\n  -ms-flex-pack: center;\n  -webkit-justify-content: center;\n  justify-content: center;\n}\n\n.emotion-0:hover {\n  color: hotpink;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css weakmap 1`] = `\n.emotion-0 {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css weakmap 2`] = `\n.emotion-0 {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n"
  },
  {
    "path": "packages/css/test/__snapshots__/cx.test.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`cx all types 1`] = `\n.emotion-0 {\n  font-size: 20px;\n  background: green;\n  font-size: 20px;\n  background: darkorange;\n  font-size: 20px;\n  background: darkgreen;\n}\n\n<div\n  className=\"modal profile emotion-0\"\n/>\n`;\n\nexports[`cx fun fun functions 1`] = `\n.emotion-0 {\n  font-size: 20px;\n  background: green;\n  font-size: 20px;\n  background: darkorange;\n  font-size: 20px;\n  background: darkgreen;\n}\n\n<div\n  className=\"modal profile emotion-0\"\n/>\n`;\n\nexports[`cx merge 2 1`] = `\n.emotion-0 {\n  font-size: 20px;\n  background: green;\n}\n\n<div\n  className=\"emotion-0 modal\"\n/>\n`;\n\nexports[`cx merge 3 1`] = `\n.emotion-0 {\n  font-size: 20px;\n  background: green;\n  font-size: 20px;\n  background: blue;\n}\n\n<div\n  className=\"modal emotion-0\"\n/>\n`;\n\nexports[`cx merge 4 1`] = `\n.emotion-0 {\n  font-size: 20px;\n  background: green;\n  font-size: 20px;\n  background: blue;\n}\n\n<div\n  className=\"modal profile emotion-0\"\n/>\n`;\n\nexports[`cx no extra whitespace 1`] = `\"blockquote news\"`;\n\nexports[`cx no extra whitespace 2`] = `\"group news\"`;\n\nexports[`cx no extra whitespace 3`] = `\"author\"`;\n\nexports[`cx no extra whitespace 4`] = `\"someClass\"`;\n\nexports[`cx no extra whitespace 5`] = `\"someClass anotherClass\"`;\n"
  },
  {
    "path": "packages/css/test/__snapshots__/inject-global.test.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`injectGlobal basic 1`] = `\n\"html {\n  background: pink;\n}\n\nhtml.active {\n  background: red;\n}\"\n`;\n\nexports[`injectGlobal interpolated value 1`] = `\n\"body {\n  color: yellow;\n  margin: 0;\n  padding: 0;\n}\"\n`;\n\nexports[`injectGlobal nested interpolated media query 1`] = `\n\"@media (max-width: 600px) {\n  body {\n    display: -webkit-box;\n    display: -webkit-flex;\n    display: -ms-flexbox;\n    display: flex;\n  }\n}\"\n`;\n\nexports[`injectGlobal pseudo in @media 1`] = `\n\"@media (min-width: 300px) {\n  .header:after {\n    content: '';\n  }\n}\"\n`;\n\nexports[`injectGlobal random interpolation 1`] = `\n\".css-1002tid-cls {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n}\n\nbody {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n}\"\n`;\n\nexports[`injectGlobal with @font-face 1`] = `\n\"@font-face {\n  font-family: 'Patrick Hand SC';\n  font-style: normal;\n  font-weight: 400;\n  src: local('Patrick Hand SC'),local('PatrickHandSC-Regular'),url(https://fonts.gstatic.com/s/patrickhandsc/v4/OYFWCgfCR-7uHIovjUZXsZ71Uis0Qeb9Gqo8IZV7ckE.woff2) format('woff2');\n  unicode-range: U+0100-024f,U+1-1eff,U+20a0-20ab,U+20ad-20cf,U+2c60-2c7f,U+A720-A7FF;\n}\"\n`;\n"
  },
  {
    "path": "packages/css/test/__snapshots__/keyframes.test.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`keyframes keyframes with interpolation 1`] = `\n@keyframes animation-0 {\n  from {\n    -webkit-transform: rotate(0deg);\n    -moz-transform: rotate(0deg);\n    -ms-transform: rotate(0deg);\n    transform: rotate(0deg);\n  }\n\n  to {\n    -webkit-transform: rotate(360deg);\n    -moz-transform: rotate(360deg);\n    -ms-transform: rotate(360deg);\n    transform: rotate(360deg);\n  }\n}\n\n.emotion-0 {\n  -webkit-animation: animation-0 2s linear infinite;\n  animation: animation-0 2s linear infinite;\n}\n\n<h1\n  className=\"emotion-0\"\n>\n  hello world\n</h1>\n`;\n\nexports[`keyframes renders 1`] = `\n@keyframes animation-0 {\n  from, 20%, 53%, 80%, to {\n    -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n    -webkit-transform: translate3d(0,0,0);\n    -moz-transform: translate3d(0,0,0);\n    -ms-transform: translate3d(0,0,0);\n    transform: translate3d(0,0,0);\n  }\n\n  40%, 43% {\n    -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);\n    animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);\n    -webkit-transform: translate3d(0, -30px, 0);\n    -moz-transform: translate3d(0, -30px, 0);\n    -ms-transform: translate3d(0, -30px, 0);\n    transform: translate3d(0, -30px, 0);\n  }\n\n  70% {\n    -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);\n    animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);\n    -webkit-transform: translate3d(0, -15px, 0);\n    -moz-transform: translate3d(0, -15px, 0);\n    -ms-transform: translate3d(0, -15px, 0);\n    transform: translate3d(0, -15px, 0);\n  }\n\n  90% {\n    -webkit-transform: translate3d(0,-4px,0);\n    -moz-transform: translate3d(0,-4px,0);\n    -ms-transform: translate3d(0,-4px,0);\n    transform: translate3d(0,-4px,0);\n  }\n}\n\n.emotion-0 {\n  -webkit-animation: animation-0 2s linear infinite;\n  animation: animation-0 2s linear infinite;\n}\n\n<h1\n  className=\"emotion-0\"\n>\n  hello world\n</h1>\n`;\n"
  },
  {
    "path": "packages/css/test/__snapshots__/label-pattern.test.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`label pattern input + label styled 1`] = `\n.emotion-0+label::after {\n  color: pink;\n  background: orange;\n}\n\n<div>\n  <input\n    className=\"emotion-0 emotion-1\"\n  />\n  <label>\n    Label\n  </label>\n</div>\n`;\n"
  },
  {
    "path": "packages/css/test/__snapshots__/selectivity.test.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`css complex nested media queries 1`] = `\n\"@media (max-width: 600px) {\n  .css-1vjvce5 h1 {\n    font-size: 1.4rem;\n  }\n}\n\n@media (max-width: 400px), (max-height: 420px) {\n  .css-1vjvce5 h1 {\n    font-size: 1.1rem;\n  }\n}\"\n`;\n\nexports[`css complex nested styles 1`] = `\n\".css-52fshx {\n  color: blue;\n}\n\n.css-52fshx:hover {\n  color: green;\n}\n\n.css-52fshx:hover .name {\n  color: amethyst;\n}\n\n.css-52fshx:hover .name:focus {\n  color: burlywood;\n}\n\n@media (min-width: 420px) {\n  .css-52fshx:hover .name:focus {\n    color: rebeccapurple;\n  }\n}\"\n`;\n\nexports[`css handles media query merges 1`] = `\n\".css-19kb3dc {\n  color: darkslateblue;\n  color: red;\n  color: purple;\n}\n\n@media (min-width: 420px) {\n  .css-19kb3dc {\n    color: amethyst;\n  }\n}\n\n@media (min-width: 640px) {\n  .css-19kb3dc {\n    color: rebeccapurple;\n  }\n}\n\n@media (min-width: 960px) {\n  .css-19kb3dc {\n    color: burlywood;\n  }\n}\n\n@media (min-width: 640px) {\n  .css-19kb3dc {\n    color: blue;\n  }\n}\n\n@media (min-width: 640px) {\n  .css-19kb3dc {\n    color: aquamarine;\n  }\n}\"\n`;\n\nexports[`css media queries with multiple nested selectors 1`] = `\n\".css-snkf7h {\n  color: blue;\n}\n\n@media (max-width: 400px) {\n  .css-snkf7h {\n    color: green;\n  }\n\n  .css-snkf7h h1 {\n    color: red;\n  }\n\n  .css-snkf7h span {\n    color: red;\n  }\n}\"\n`;\n\nexports[`css media query with nested selector with nested selector on root 1`] = `\n\".css-1hvbare span {\n  color: blue;\n}\n\n@media (max-width: 400px) {\n  .css-1hvbare {\n    color: green;\n  }\n\n  .css-1hvbare span {\n    color: red;\n  }\n}\"\n`;\n\nexports[`css media query with nested selector without declarations on root 1`] = `\n\"@media (max-width: 400px) {\n  .css-156bult {\n    color: green;\n  }\n\n  .css-156bult span {\n    color: red;\n  }\n}\"\n`;\n\nexports[`css should allow a weird class containing & when pseudoclass appears in the selector group 1`] = `\n\".css-13p6h3h:hover,\n.css-13p6h3h .t\\\\&t {\n  background: blue;\n}\"\n`;\n\nexports[`css should allow for context selector being appended to an element type 1`] = `\n\"a.css-ciaq1 {\n  background: blue;\n}\"\n`;\n\nexports[`css should allow for context selector being appended to an element type when pseudoclass appears in the selector group 1`] = `\n\".css-miigdc:hover,\na.css-miigdc {\n  background: blue;\n}\"\n`;\n\nexports[`orphaned pseudos in nested atrules 1`] = `\n\"@media (max-width: 400px) {\n  @supports (display: grid) {\n    .css-mlu596 div,\n    .css-mlu596:first-child {\n      color: hotpink;\n    }\n  }\n}\"\n`;\n\nexports[`orphaned pseudos multiple in a group 1`] = `\n\".css-ynt3gm:hover div,\n.css-ynt3gm:focus {\n  color: hotpink;\n}\"\n`;\n\nexports[`orphaned pseudos multiple in a group in multiple in a group 1`] = `\n\".css-b4zt77 .foo:first-child,\n.css-b4zt77 .bar div:first-child,\n.css-b4zt77 .qwe:first-child,\n.css-b4zt77 .foo div,\n.css-b4zt77 .bar div div,\n.css-b4zt77 .qwe div,\n.css-b4zt77 .foo span,\n.css-b4zt77 .bar div span,\n.css-b4zt77 .qwe span,\n.css-b4zt77 .foo:last-child,\n.css-b4zt77 .bar div:last-child,\n.css-b4zt77 .qwe:last-child {\n  color: hotpink;\n}\"\n`;\n\nexports[`orphaned pseudos orphaned pseudo nested in orphaned pseudo 1`] = `\n\".css-1dmq8mx:hover {\n  color: hotpink;\n}\n\n.css-1dmq8mx:hover:focus {\n  outline-color: blue;\n}\"\n`;\n\nexports[`orphaned pseudos overlapping - reversed 1`] = `\n\".css-15m4dbh :first-child:first-child .css-15m4dbh :first-child {\n  color: hotpink;\n}\"\n`;\n\nexports[`orphaned pseudos overlapping 1`] = `\n\".css-dmhqee :first-child:first-child {\n  color: hotpink;\n}\"\n`;\n\nexports[`orphaned pseudos regexp special character 1`] = `\n\".css-1545qp0:nth-child(3) {\n  color: hotpink;\n}\"\n`;\n\nexports[`orphaned pseudos regular rule nested in orphaned pseudo 1`] = `\n\".css-1u1a2oo:hover {\n  color: hotpink;\n}\n\n.css-1u1a2oo:hover .foo {\n  color: grey;\n}\"\n`;\n\nexports[`orphaned pseudos regular rule with nested rule nested in orphaned pseudo 1`] = `\n\".css-1tlqvwi:hover {\n  color: hotpink;\n}\n\n.css-1tlqvwi:hover .foo {\n  color: grey;\n}\n\n@media print {\n  .css-1tlqvwi:hover .foo {\n    display: none;\n  }\n}\"\n`;\n\nexports[`orphaned pseudos selector list with nested atrule 1`] = `\n\".css-7vvm69::backdrop,\n.css-7vvm69+.backdrop {\n  background-color: grey;\n}\n\n@media print {\n  .css-7vvm69::backdrop,\n  .css-7vvm69+.backdrop {\n    display: none;\n  }\n}\"\n`;\n\nexports[`orphaned pseudos single 1`] = `\n\".css-17n559g:focus {\n  color: hotpink;\n}\"\n`;\n\nexports[`orphaned pseudos with nested atrule 1`] = `\n\".css-1vs75su::before {\n  content: \"*\";\n  background: pink;\n}\n\n@media screen and (max-width: 800px) {\n  .css-1vs75su::before {\n    background: cyan;\n  }\n}\"\n`;\n"
  },
  {
    "path": "packages/css/test/__snapshots__/sheet.dom.test.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`sheet .speedy throws when a rule has already been inserted 1`] = `\"speedy must be changed before any rules are inserted\"`;\n\nexports[`sheet tags 1`] = `\n[\n  <style\n    data-emotion=\"css\"\n    data-s=\"\"\n  >\n    \n  </style>,\n]\n`;\n"
  },
  {
    "path": "packages/css/test/__snapshots__/warnings.test.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`does not warn when valid values are passed for the content property 1`] = `\n.emotion-0 {\n  content: normal;\n  content: none;\n  content: open-quote;\n  content: close-quote;\n  content: no-open-quote;\n  content: no-close-quote;\n  content: initial;\n  content: inherit;\n  content: \"some thing\";\n  content: 'another thing';\n  content: var(--variable-name);\n  content: url(\"http://www.example.com/test.png\");\n  content: linear-gradient(hotpink, #8be9fd);\n  content: radial-gradient(hotpink, #8be9fd);\n  content: repeating-linear-gradient(hotpink, #8be9fd);\n  content: repeating-radial-gradient(hotpink, #8be9fd);\n  content: conic-gradient(hotpink, #8be9fd);\n  content: counter(chapter_counter);\n  content: counters(section_counter, \".\");\n  content: attr(value string);\n  content: open-quote counter(chapter_counter);\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n"
  },
  {
    "path": "packages/css/test/component-selector.test.js",
    "content": "import 'test-utils/legacy-env'\nimport React from 'react'\nimport styled from '@emotion/styled'\nimport renderer from 'react-test-renderer'\nimport { css } from '@emotion/css'\n\ndescribe('component selector', () => {\n  test('should be converted to use the emotion target className', () => {\n    const FakeComponent = styled.div`\n      color: blue;\n    `\n\n    const cls2 = css`\n      ${FakeComponent} {\n        color: red;\n      }\n    `\n    const tree = renderer\n      .create(\n        <div className={cls2}>\n          <FakeComponent />\n        </div>\n      )\n      .toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n})\n"
  },
  {
    "path": "packages/css/test/css.test.js",
    "content": "import 'test-utils/legacy-env'\nimport React from 'react'\nimport renderer from 'react-test-renderer'\nimport { css, flush, sheet } from '@emotion/css'\n\ndescribe('css', () => {\n  test('float property', () => {\n    const cls1 = css`\n      float: left;\n    `\n\n    const tree = renderer.create(<div className={cls1} />).toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('handles more than 10 dynamic properties', () => {\n    const cls1 = css`\n      text-decoration: ${'underline'};\n      border-right: solid blue 54px;\n      background: ${'white'};\n      color: ${'black'};\n      display: ${'block'};\n      border-radius: ${'3px'};\n      padding: ${'25px'};\n      width: ${'500px'};\n      z-index: ${100};\n      font-size: ${'18px'};\n      text-align: ${'center'};\n    `\n\n    const tree = renderer.create(<div className={cls1} />).toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('falsy value in nested selector on object', () => {\n    const cls1 = css({ ':hover': { display: null, color: 'hotpink' } })\n    const tree = renderer.create(<div className={cls1} />).toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n  test('boolean as value', () => {\n    const cls1 = css({ display: 'flex', color: false, backgroundColor: true })\n    const tree = renderer.create(<div className={cls1} />).toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n  test('auto px', () => {\n    const cls1 = css({ display: 'flex', flex: 1, fontSize: 10, '--custom': 5 })\n    const tree = renderer.create(<div className={cls1} />).toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('random interpolation with undefined values', () => {\n    const cls2 = css`\n      ${undefined};\n      justify-content: center;\n    `\n    const tree = renderer.create(<div className={cls2} />).toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('random expression', () => {\n    const cls2 = css`\n      font-size: 20px;\n      @media (min-width: 420px) {\n        color: blue;\n        ${css`\n          width: 96px;\n          height: 96px;\n        `};\n        line-height: 40px;\n      }\n      background: green;\n    `\n    const tree = renderer.create(<div className={cls2} />).toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('simple composition', () => {\n    const cls1 = css`\n      display: flex;\n      &:hover {\n        color: hotpink;\n      }\n    `\n    const cls2 = css`\n      ${cls1};\n      justify-content: center;\n    `\n    const tree = renderer.create(<div className={cls2} />).toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('handles objects', () => {\n    const cls1 = css({\n      float: 'left',\n      display: 'flex',\n      color: `${'blue'}`,\n      fontSize: `${'20px'}`,\n      height: 50,\n      width: 20\n    })\n    const tree = renderer.create(<div className={cls1} />).toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('handles array of objects', () => {\n    const cls1 = css([{ height: 50, width: 20 }, null])\n    const tree = renderer.create(<div className={cls1} />).toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('computed key is only dynamic', () => {\n    const cls1 = css({ fontSize: 10, [`w${'idth'}`]: 20 })\n    const tree = renderer.create(<div className={cls1} />).toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('composition with objects', () => {\n    const cls1 = css({\n      display: 'flex',\n      width: 30,\n      height: 'calc(40vw - 50px)',\n      '&:hover': { color: 'blue' },\n      ':after': {\n        content: '\" \"',\n        color: 'red'\n      },\n      '@media(min-width: 420px)': {\n        color: 'green'\n      }\n    })\n    const cls2 = css`\n      ${cls1};\n      justify-content: center;\n    `\n\n    const tree = renderer.create(<div className={cls2} />).toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n  test('@supports', () => {\n    const cls1 = css`\n      @supports (display: grid) {\n        display: grid;\n      }\n    `\n    const tree = renderer.create(<div className={cls1} />).toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n  test.skip('nested at rules', () => {\n    const cls1 = css`\n      @supports (display: grid) {\n        display: grid;\n        @supports (display: flex) {\n          display: flex;\n        }\n      }\n      @media (min-width: 420px) {\n        color: pink;\n        @media (max-width: 500px) {\n          color: hotpink;\n        }\n      }\n    `\n    const tree = renderer.create(<div className={cls1} />).toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n  test('nested array', () => {\n    const cls1 = css([\n      [{ display: 'inline' }],\n      [{ display: 'inline-block' }],\n      [\n        { display: 'block' },\n        [\n          { display: 'flex' },\n          [\n            { display: 'table' },\n            { color: 'darkorchid' },\n            [\n              {\n                fontSize: 16\n              },\n              [{ '&:after': { backgroundColor: 'aquamarine' } }]\n            ]\n          ]\n        ]\n      ]\n    ])\n    const tree = renderer.create(<div className={cls1} />).toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('explicit false', () => {\n    const cls1 = css(false)\n    const tree = renderer.create(<div className={cls1} />).toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('array with explicit false', () => {\n    const cls1 = css([[{ display: 'flex' }], false])\n    const tree = renderer.create(<div className={cls1} />).toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('array with explicit true', () => {\n    const cls1 = css([[{ display: 'flex' }], true])\n    const tree = renderer.create(<div className={cls1} />).toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('nested', () => {\n    const cls1 = css`\n      color: yellow;\n      & .some-class {\n        display: flex;\n        & .some-other-class {\n          background-color: hotpink;\n        }\n        @media (max-width: 600px) {\n          background-color: pink;\n        }\n      }\n    `\n    const tree = renderer\n      .create(\n        <div className={cls1}>\n          <div className=\"some-class\">\n            <div className=\"some-other-class\" />\n          </div>\n        </div>\n      )\n      .toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n  test('explicit &', () => {\n    flush()\n    const cls1 = css`\n      &.another-class {\n        display: flex;\n      }\n    `\n    const tree = renderer\n      .create(<div className={`${cls1} another-class`} />)\n      .toJSON()\n    expect(tree).toMatchSnapshot()\n    expect(sheet).toMatchSnapshot()\n    flush()\n  })\n  test('falsy property value in object', () => {\n    const cls = css({ display: 'flex', backgroundColor: undefined })\n    const tree = renderer.create(<div className={cls} />).toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n  test('registered styles as nested selector value in object', () => {\n    const cls = css({ display: 'flex', backgroundColor: 'hotpink' })\n    const cls1 = css({ ':hover': cls })\n    const tree = renderer.create(<div className={cls1} />).toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n  test('composition stuff', () => {\n    const cls1 = css({ justifyContent: 'center' })\n    const cls2 = css([cls1])\n    const tree = renderer.create(<div className={cls1} />).toJSON()\n    expect(tree).toMatchSnapshot()\n    const tree2 = renderer.create(<div className={cls2} />).toJSON()\n    expect(tree2).toMatchSnapshot()\n  })\n  test('null rule', () => {\n    const cls1 = css()\n\n    const tree = renderer.create(<div className={cls1} />).toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n  test('css variables', () => {\n    const cls1 = css`\n      --some-var: 1px;\n      width: var(--some-var);\n    `\n    const tree = renderer.create(<div className={cls1} />).toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('null value', () => {\n    const cls1 = css(null)\n\n    expect(renderer.create(<div className={cls1} />).toJSON()).toMatchSnapshot()\n  })\n\n  test('flushes correctly', () => {\n    const cls1 = css`\n      display: flex;\n    `\n    const tree = renderer.create(<div className={cls1} />).toJSON()\n    expect(tree).toMatchSnapshot()\n    flush()\n    const tree2 = renderer.create(<div className={cls1} />).toJSON()\n    expect(tree2).toMatchSnapshot()\n  })\n  test('media query specificity', () => {\n    flush()\n    const cls = css`\n      width: 32px;\n      height: 32px;\n      border-radius: 50%;\n\n      @media (min-width: 420px) {\n        width: 96px;\n        height: 96px;\n      }\n    `\n\n    const tree = renderer.create(<div className={cls} />).toJSON()\n    expect(sheet).toMatchSnapshot()\n    expect(tree).toMatchSnapshot()\n    flush()\n  })\n  test('weakmap', () => {\n    const styles = { display: 'flex' }\n    const cls1 = css(styles)\n    const cls2 = css(styles)\n    const tree1 = renderer.create(<div className={cls1} />).toJSON()\n    expect(tree1).toMatchSnapshot()\n    const tree2 = renderer.create(<div className={cls2} />).toJSON()\n    expect(tree2).toMatchSnapshot()\n  })\n\n  test('manually use label property', () => {\n    flush()\n    const cls1 = css`\n      color: hotpink;\n      label: wow;\n    `\n    const tree = renderer.create(<div className={cls1} />).toJSON()\n    expect(tree).toMatchSnapshot()\n    expect(sheet).toMatchSnapshot()\n  })\n  test('multiline declaration', () => {\n    /* eslint-disable prettier/prettier */\n    const cls1 = css`\n      display: grid;\n      grid:\n        'AppBar' auto\n        'Main' 1fr\n        / 1fr;\n    `\n    /* eslint-enable prettier/prettier */\n\n    const tree = renderer.create(<div className={cls1} />).toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n  test('multiline selector', () => {\n    /* eslint-disable prettier/prettier */\n    const cls1 = css`\n      .my-class:hover .its-child {\n        background: pink;\n      }\n    `\n    /* eslint-enable prettier/prettier */\n\n    const tree = renderer.create(<div className={cls1} />).toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n  test('rule after media query', () => {\n    const cls1 = css`\n      @media (min-width: 600px) {\n        color: green;\n      }\n      &:hover {\n        color: hotpink;\n      }\n    `\n    const tree = renderer.create(<div className={cls1} />).toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n  test('nested at rule', () => {\n    const cls = css({\n      '@media (min-width: 980px)': {\n        backgroundColor: 'blue',\n        '@supports (width: 100vw)': {\n          backgroundColor: 'red'\n        }\n      }\n    })\n    // this works correctly but `css` doesn't print it correctly so the snapshot doesn't look correct\n    const tree = renderer.create(<div className={cls} />).toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n  test('array fallback', () => {\n    const cls = css({\n      color: ['yellow', 'hotpink']\n    })\n    const tree = renderer.create(<div className={cls} />).toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n})\n"
  },
  {
    "path": "packages/css/test/cx.test.js",
    "content": "import 'test-utils/legacy-env'\nimport React from 'react'\nimport renderer from 'react-test-renderer'\nimport { css, cx } from '@emotion/css'\n\ndescribe('cx', () => {\n  test('merge 2', () => {\n    const cls1 = css`\n      font-size: 20px;\n      background: green;\n    `\n\n    const tree = renderer.create(<div className={cx(cls1, 'modal')} />).toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('merge 3', () => {\n    const cls1 = css`\n      font-size: 20px;\n      background: green;\n    `\n    const cls2 = css`\n      font-size: 20px;\n      background: blue;\n    `\n\n    const tree = renderer\n      .create(<div className={cx(cls1, cls2, 'modal')} />)\n      .toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('merge 4', () => {\n    const cls1 = css`\n      font-size: 20px;\n      background: green;\n    `\n    const cls2 = css`\n      font-size: 20px;\n      background: blue;\n    `\n\n    const tree = renderer\n      .create(<div className={cx(cls1, cls2, 'modal', 'profile')} />)\n      .toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('all types', () => {\n    const cls1 = css`\n      font-size: 20px;\n      background: green;\n    `\n    const cls2 = css`\n      font-size: 20px;\n      background: blue;\n    `\n\n    const cls3 = css`\n      font-size: 20px;\n      background: darkorange;\n    `\n\n    const cls4 = css`\n      font-size: 20px;\n      background: darkgreen;\n    `\n\n    const foo = true\n    const bar = false\n\n    const tree = renderer\n      .create(\n        <div\n          className={cx({ [cls1]: foo }, 'modal', { [cls2]: bar }, 'profile', [\n            [cls3, [cls4]]\n          ])}\n        />\n      )\n      .toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('fun fun functions', () => {\n    const cls1 = css`\n      font-size: 20px;\n      background: green;\n    `\n    const cls2 = css`\n      font-size: 20px;\n      background: blue;\n    `\n\n    const cls3 = css`\n      font-size: 20px;\n      background: darkorange;\n    `\n\n    const cls4 = css`\n      font-size: 20px;\n      background: darkgreen;\n    `\n\n    const tree = renderer\n      .create(\n        <div\n          className={cx([\n            [cls1, false && cls2, 'modal'],\n            [cls3, { [cls4]: true }, 'profile']\n          ])}\n        />\n      )\n      .toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n  test('no extra whitespace', () => {\n    expect(cx('blockquote', '', 'news')).toMatchSnapshot()\n    expect(cx('', 'group', '', 'news', '')).toMatchSnapshot()\n    expect(cx('author', '')).toMatchSnapshot()\n    expect(cx({ someClass: true, '': true })).toMatchSnapshot()\n    expect(\n      cx({ someClass: true, '': true, anotherClass: true })\n    ).toMatchSnapshot()\n  })\n})\n"
  },
  {
    "path": "packages/css/test/inject-global.test.js",
    "content": "import 'test-utils/legacy-env'\nimport { injectGlobal, sheet, flush, css } from '@emotion/css'\n\ndescribe('injectGlobal', () => {\n  afterEach(() => {\n    flush()\n  })\n  test('basic', () => {\n    injectGlobal`\n      html {\n        background: pink;\n      }\n      html.active {\n        background: red;\n      }\n    `\n    expect(sheet).toMatchSnapshot()\n  })\n  test('interpolated value', () => {\n    const color = 'yellow'\n    injectGlobal`\n      body {\n        color: ${color};\n        margin: 0;\n        padding: 0;\n      }\n    `\n    expect(sheet).toMatchSnapshot()\n  })\n  test('nested interpolated media query', () => {\n    injectGlobal`\n      body {\n        ${'@media (max-width: 600px)'} {\n          display: flex;\n        }\n      }\n    `\n    expect(sheet).toMatchSnapshot()\n  })\n  test('random interpolation', () => {\n    const cls = css`\n      display: flex;\n    `\n    injectGlobal`\n      body {\n        ${cls};\n      }\n    `\n    expect(sheet).toMatchSnapshot()\n  })\n  test('with @font-face', () => {\n    injectGlobal`\n      @font-face {\n        font-family: 'Patrick Hand SC';\n        font-style: normal;\n        font-weight: 400;\n        src: local('Patrick Hand SC'), local('PatrickHandSC-Regular'),\n          url(https://fonts.gstatic.com/s/patrickhandsc/v4/OYFWCgfCR-7uHIovjUZXsZ71Uis0Qeb9Gqo8IZV7ckE.woff2)\n            format('woff2');\n        unicode-range: U+0100-024f, U+1-1eff, U+20a0-20ab, U+20ad-20cf,\n          U+2c60-2c7f, U+A720-A7FF;\n      }\n    `\n    expect(sheet).toMatchSnapshot()\n  })\n  test('pseudo in @media', () => {\n    injectGlobal`\n      @media (min-width: 300px) {\n        .header:after {\n          content: '';\n        }\n      }\n    `\n\n    expect(sheet).toMatchSnapshot()\n  })\n})\n"
  },
  {
    "path": "packages/css/test/instance/__snapshots__/css.test.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`css @supports 1`] = `\n@supports (display: grid) {\n  .emotion-0 {\n    display: grid;\n  }\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css array with explicit false 1`] = `\n.emotion-0 {\n  display: flex;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css array with explicit true 1`] = `\n.emotion-0 {\n  display: flex;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css auto px 1`] = `\n.emotion-0 {\n  display: flex;\n  flex: 1;\n  font-size: 10px;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css boolean as value 1`] = `\n.emotion-0 {\n  display: flex;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css composition stuff 1`] = `\n.emotion-0 {\n  justify-content: center;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css composition stuff 2`] = `\n.emotion-0 {\n  justify-content: center;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css composition with objects 1`] = `\n.emotion-0 {\n  display: flex;\n  width: 30px;\n  height: calc(40vw - 50px);\n  justify-content: center;\n}\n\n.emotion-0:hover {\n  color: hotpink;\n}\n\n.emotion-0:after {\n  content: \" \";\n  color: hotpink;\n}\n\n@media (min-width: 420px) {\n  .emotion-0 {\n    color: hotpink;\n  }\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css computed key is only dynamic 1`] = `\n.emotion-0 {\n  font-size: 10px;\n  width: 20px;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css css variables 1`] = `\n.emotion-0 {\n  --some-var: 1px;\n  width: var(--some-var);\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css explicit & 1`] = `\n.emotion-0.another-class {\n  display: flex;\n}\n\n<div\n  className=\"emotion-0 another-class\"\n/>\n`;\n\nexports[`css explicit & 2`] = `\n\".some-key-gfk73z.another-class {\n  display: flex;\n}\"\n`;\n\nexports[`css explicit false 1`] = `\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css falsy property value in object 1`] = `\n.emotion-0 {\n  display: flex;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css falsy value in nested selector on object 1`] = `\n.emotion-0:hover {\n  color: hotpink;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css float property 1`] = `\n.emotion-0 {\n  float: left;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css flushes correctly 1`] = `\n.emotion-0 {\n  display: flex;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css flushes correctly 2`] = `\n<div\n  className=\"some-key-vyoujf\"\n/>\n`;\n\nexports[`css handles array of objects 1`] = `\n.emotion-0 {\n  height: 50px;\n  width: 20px;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css handles more than 10 dynamic properties 1`] = `\n.emotion-0 {\n  text-decoration: underline;\n  border-right: solid blue 54px;\n  background: white;\n  color: hotpink;\n  display: block;\n  border-radius: 3px;\n  padding: 25px;\n  width: 500px;\n  z-index: 100;\n  font-size: 18px;\n  text-align: center;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css handles objects 1`] = `\n.emotion-0 {\n  float: left;\n  display: flex;\n  color: hotpink;\n  font-size: 20px;\n  height: 50px;\n  width: 20px;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css manually use label property 1`] = `\n.emotion-0 {\n  color: hotpink;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css manually use label property 2`] = `\n\".some-key-1ytppqs-wow {\n  color: hotpink;\n}\"\n`;\n\nexports[`css media query specificity 1`] = `\n\".some-key-11dfhpp {\n  width: 32px;\n  height: 32px;\n  border-radius: 50%;\n}\n\n@media (min-width: 420px) {\n  .some-key-11dfhpp {\n    width: 96px;\n    height: 96px;\n  }\n}\"\n`;\n\nexports[`css media query specificity 2`] = `\n.emotion-0 {\n  width: 32px;\n  height: 32px;\n  border-radius: 50%;\n}\n\n@media (min-width: 420px) {\n  .emotion-0 {\n    width: 96px;\n    height: 96px;\n  }\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css nested 1`] = `\n.emotion-0 {\n  color: hotpink;\n}\n\n.emotion-0 .some-class {\n  display: flex;\n}\n\n.emotion-0 .some-class .some-other-class {\n  background-color: hotpink;\n}\n\n@media (max-width: 600px) {\n  .emotion-0 .some-class {\n    background-color: pink;\n  }\n}\n\n<div\n  className=\"emotion-0\"\n>\n  <div\n    className=\"some-class\"\n  >\n    <div\n      className=\"some-other-class\"\n    />\n  </div>\n</div>\n`;\n\nexports[`css nested array 1`] = `\n.emotion-0 {\n  display: inline;\n  display: inline-block;\n  display: block;\n  display: flex;\n  display: table;\n  color: hotpink;\n  font-size: 16px;\n}\n\n.emotion-0:after {\n  background-color: aquamarine;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css null rule 1`] = `\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css null value 1`] = `\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css null value 2`] = `\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css random expression 1`] = `\n.emotion-0 {\n  font-size: 20px;\n  background: green;\n}\n\n@media (min-width: 420px) {\n  .emotion-0 {\n    color: hotpink;\n    width: 96px;\n    height: 96px;\n    line-height: 40px;\n  }\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css random interpolation with undefined values 1`] = `\n.emotion-0 {\n  justify-content: center;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css registered styles as nested selector value in object 1`] = `\n.emotion-0:hover {\n  display: flex;\n  background-color: hotpink;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css simple composition 1`] = `\n.emotion-0 {\n  display: flex;\n  justify-content: center;\n}\n\n.emotion-0:hover {\n  color: hotpink;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css weakmap 1`] = `\n.emotion-0 {\n  display: flex;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css weakmap 2`] = `\n.emotion-0 {\n  display: flex;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n"
  },
  {
    "path": "packages/css/test/instance/__snapshots__/inline.test.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`hydration only inserts rules that are not in the critical css 1`] = `\n<style data-emotion=\"some-key 1uqawbr i9f7qw-bounce 1nhdffy\"\n       nonce=\"some-nonce\"\n>\n  @font-face{font-family:'Patrick Hand SC';font-style:normal;font-weight:400;src:local('Patrick Hand SC'),local('PatrickHandSC-Regular'),url(https://fonts.gstatic.com/s/patrickhandsc/v4/OYFWCgfCR-7uHIovjUZXsZ71Uis0Qeb9Gqo8IZV7ckE.woff2) format('woff2');unicode-range:U+0100-024f,U+1-1eff,U+20a0-20ab,U+20ad-20cf,U+2c60-2c7f,U+A720-A7FF;}@keyframes animation-i9f7qw-bounce{from,20%,53%,80%,to{animation-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transform:translate3d(0, 0, 0);}40%,43%{animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);transform:translate3d(0, -30px, 0);}70%{animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);transform:translate3d(0, -15px, 0);}90%{transform:translate3d(0, -4px, 0);}}.no-prefix{display:flex;justify-content:center;}\n</style>\n<style data-emotion=\"some-key fgjrlg-hoverStyles-Something_Main\"\n       nonce=\"some-nonce\"\n>\n  .some-key-fgjrlg-hoverStyles-Something_Main{color:hotpink;display:flex;}.some-key-fgjrlg-hoverStyles-Something_Main:hover{color:hotpink;background-color:lightgray;border-color:aqua;box-shadow:-15px -15px 0 0 aqua,-30px -30px 0 0 cornflowerblue;}\n</style>\n<main class=\"some-key-fgjrlg-hoverStyles-Something_Main\">\n  <style data-emotion=\"some-key 1h1w8ez-Image\"\n         nonce=\"some-nonce\"\n  >\n    .some-key-1h1w8ez-Image{animation:animation-i9f7qw-bounce;border-radius:50%;height:50px;width:50px;background-color:red;}\n  </style>\n  <img size=\"30\"\n       class=\"some-key-1h1w8ez-Image\"\n  >\n  <img size=\"100\"\n       class=\"some-key-1h1w8ez-Image\"\n  >\n  <img class=\"some-key-1h1w8ez-Image\">\n</main>\n`;\n\nexports[`hydration only inserts rules that are not in the critical css 2`] = `\n\".some-key-v31heb-hoverStyles {\n  color: hotpink;\n}\n\n.some-key-v31heb-hoverStyles:hover {\n  color: hotpink;\n  background-color: lightgray;\n  border-color: aqua;\n  box-shadow: -15px -15px 0 0 aqua,-30px -30px 0 0 cornflowerblue;\n}\n\n.some-key-k26awr {\n  display: none;\n}\"\n`;\n\nexports[`hydration only inserts rules that are not in the critical css 3`] = `\n\"@font-face {\n  font-family: 'Patrick Hand SC';\n  font-style: normal;\n  font-weight: 400;\n  src: local('Patrick Hand SC'),local('PatrickHandSC-Regular'),url(https://fonts.gstatic.com/s/patrickhandsc/v4/OYFWCgfCR-7uHIovjUZXsZ71Uis0Qeb9Gqo8IZV7ckE.woff2) format('woff2');\n  unicode-range: U+0100-024f,U+1-1eff,U+20a0-20ab,U+20ad-20cf,U+2c60-2c7f,U+A720-A7FF;\n}\n\n@keyframes animation-i9f7qw-bounce {\n  from, 20%, 53%, 80%, to {\n    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n    transform: translate3d(0, 0, 0);\n  }\n\n  40%, 43% {\n    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\n    transform: translate3d(0, -30px, 0);\n  }\n\n  70% {\n    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\n    transform: translate3d(0, -15px, 0);\n  }\n\n  90% {\n    transform: translate3d(0, -4px, 0);\n  }\n}\n\n.no-prefix {\n  display: flex;\n  justify-content: center;\n}\n\n.some-key-fgjrlg-hoverStyles-Something_Main {\n  color: hotpink;\n  display: flex;\n}\n\n.some-key-fgjrlg-hoverStyles-Something_Main:hover {\n  color: hotpink;\n  background-color: lightgray;\n  border-color: aqua;\n  box-shadow: -15px -15px 0 0 aqua,-30px -30px 0 0 cornflowerblue;\n}\n\n.some-key-1h1w8ez-Image {\n  animation: animation-i9f7qw-bounce;\n  border-radius: 50%;\n  height: 50px;\n  width: 50px;\n  background-color: red;\n}\"\n`;\n\nexports[`renderStylesToString renders large recursive component 1`] = `\n<style data-emotion=\"some-key 1mxgdgj 7oyr76 j3l52t 1be0pz3 awuqpb 1i7zhog 1wfoctz fc6lvz 2squ55 1w5v94j aunzx7 3al575 11f074x p15six 18u2re8 jcpju2 5d0zsm 1dpd5ul gfcbni 1jiphdk rj01o9 1488xs5 15xnezh 184lbb8 manocn 1umkmjt odl9to 11xg40 rgxdxp 70qps 5rivwv 1ekpy8w 1td920t 1epp5w 1k1d8rn vk4jtt 628xoq 1mvbvml 1c0xybd gj3v00 nkhoz4 17n2b4l 1es3p9i 1ndh3ck 1xvd1pe 18ld629 kg8xpq ppci6y 1ia901n j0k50p e0gjgb 1enrcxf 13r7krf 1kanh94 li2rx1 1mmlcvc 1nlc23 17beei6 1jqhnzu oqcnq8 1uus9kv 1m0952k dcxbft 12b54g8 936m12 1rqy942 ssgydo bvr28e q7rqgc 6uph5v 1t8v36t y7o2df vn3biw qvxdsd 1aqic6s 30owfv 1vj3hk7 1xfrpf4 l539hk 15joy70 16ylmie 7y2cvq 1w0x3oa 15nxgk3 qy1n2d 1vzbl6r 1never2 inwqci cja9xn vh9ala 1l5peir 1y1m1bn clop4i c9h5qg 1803k8u xgd3dd g0qjre 1u3agcs 4vb10h f59pxt 1is0wnp 1m7m6b8 1abpa1i 2qg1ot 1962n5a tvm0n3 1wo7l9z e963hw helz5s 1lo5wgy jas2da 6b1mn9 9456c 1burs84 acvymo 5ir6nu 3uxv18 676m05 16ch583 1l5q8o6 29hq6z t8ulab 11c3pwx plfo0u jzad8y n2u7t0 gj0ny3 hq26b 13txtj7 1abkqu 18qp6qn 1j8ha2k 1dawo17 1g5i33r qwzehu 661prt r9hkdr 1jwml5g eif6tj 1glgqbn xagvgz xegjiq 1dg3mz2 12g56i4 155k1ol wmmgi8 1rtokyw eub81m 1sp6wed sopwqw jvlbzj c0fhpp ya5fjl a1wt2a s3t0mz e2iwhw f6fc7a 14lo9e8 15nr8n6 opmfz1 xzjoum 19cwupx yzjpko 1hdtk9n qch6gk 1brwxbm qi3ue pby1bx 1ngv0xw 1tf2gqw 2aj80b yiuueo 7dj3zo 1ua8hry ph7df6 1wl9l48 1jpf5tg 25pweb 1vhoxch fqa73u 1042dyt 13l2gd9 z8odma 17r5vu0 1neh6nm 10nd4xt 15g5cci 11cgmwf ag6j9u jku1jn 1pxlxrg u1dyl6 37fxtj uia17y 5kf6fm z9hh1c 1abr9jj brxqds 130nyr5 1atrbnz\"\n       nonce=\"some-nonce\"\n>\n  .some-global-200{padding:0;margin:200;}.some-global-199{padding:0;margin:199;}.some-global-198{padding:0;margin:198;}.some-global-197{padding:0;margin:197;}.some-global-196{padding:0;margin:196;}.some-global-195{padding:0;margin:195;}.some-global-194{padding:0;margin:194;}.some-global-193{padding:0;margin:193;}.some-global-192{padding:0;margin:192;}.some-global-191{padding:0;margin:191;}.some-global-190{padding:0;margin:190;}.some-global-189{padding:0;margin:189;}.some-global-188{padding:0;margin:188;}.some-global-187{padding:0;margin:187;}.some-global-186{padding:0;margin:186;}.some-global-185{padding:0;margin:185;}.some-global-184{padding:0;margin:184;}.some-global-183{padding:0;margin:183;}.some-global-182{padding:0;margin:182;}.some-global-181{padding:0;margin:181;}.some-global-180{padding:0;margin:180;}.some-global-179{padding:0;margin:179;}.some-global-178{padding:0;margin:178;}.some-global-177{padding:0;margin:177;}.some-global-176{padding:0;margin:176;}.some-global-175{padding:0;margin:175;}.some-global-174{padding:0;margin:174;}.some-global-173{padding:0;margin:173;}.some-global-172{padding:0;margin:172;}.some-global-171{padding:0;margin:171;}.some-global-170{padding:0;margin:170;}.some-global-169{padding:0;margin:169;}.some-global-168{padding:0;margin:168;}.some-global-167{padding:0;margin:167;}.some-global-166{padding:0;margin:166;}.some-global-165{padding:0;margin:165;}.some-global-164{padding:0;margin:164;}.some-global-163{padding:0;margin:163;}.some-global-162{padding:0;margin:162;}.some-global-161{padding:0;margin:161;}.some-global-160{padding:0;margin:160;}.some-global-159{padding:0;margin:159;}.some-global-158{padding:0;margin:158;}.some-global-157{padding:0;margin:157;}.some-global-156{padding:0;margin:156;}.some-global-155{padding:0;margin:155;}.some-global-154{padding:0;margin:154;}.some-global-153{padding:0;margin:153;}.some-global-152{padding:0;margin:152;}.some-global-151{padding:0;margin:151;}.some-global-150{padding:0;margin:150;}.some-global-149{padding:0;margin:149;}.some-global-148{padding:0;margin:148;}.some-global-147{padding:0;margin:147;}.some-global-146{padding:0;margin:146;}.some-global-145{padding:0;margin:145;}.some-global-144{padding:0;margin:144;}.some-global-143{padding:0;margin:143;}.some-global-142{padding:0;margin:142;}.some-global-141{padding:0;margin:141;}.some-global-140{padding:0;margin:140;}.some-global-139{padding:0;margin:139;}.some-global-138{padding:0;margin:138;}.some-global-137{padding:0;margin:137;}.some-global-136{padding:0;margin:136;}.some-global-135{padding:0;margin:135;}.some-global-134{padding:0;margin:134;}.some-global-133{padding:0;margin:133;}.some-global-132{padding:0;margin:132;}.some-global-131{padding:0;margin:131;}.some-global-130{padding:0;margin:130;}.some-global-129{padding:0;margin:129;}.some-global-128{padding:0;margin:128;}.some-global-127{padding:0;margin:127;}.some-global-126{padding:0;margin:126;}.some-global-125{padding:0;margin:125;}.some-global-124{padding:0;margin:124;}.some-global-123{padding:0;margin:123;}.some-global-122{padding:0;margin:122;}.some-global-121{padding:0;margin:121;}.some-global-120{padding:0;margin:120;}.some-global-119{padding:0;margin:119;}.some-global-118{padding:0;margin:118;}.some-global-117{padding:0;margin:117;}.some-global-116{padding:0;margin:116;}.some-global-115{padding:0;margin:115;}.some-global-114{padding:0;margin:114;}.some-global-113{padding:0;margin:113;}.some-global-112{padding:0;margin:112;}.some-global-111{padding:0;margin:111;}.some-global-110{padding:0;margin:110;}.some-global-109{padding:0;margin:109;}.some-global-108{padding:0;margin:108;}.some-global-107{padding:0;margin:107;}.some-global-106{padding:0;margin:106;}.some-global-105{padding:0;margin:105;}.some-global-104{padding:0;margin:104;}.some-global-103{padding:0;margin:103;}.some-global-102{padding:0;margin:102;}.some-global-101{padding:0;margin:101;}.some-global-100{padding:0;margin:100;}.some-global-99{padding:0;margin:99;}.some-global-98{padding:0;margin:98;}.some-global-97{padding:0;margin:97;}.some-global-96{padding:0;margin:96;}.some-global-95{padding:0;margin:95;}.some-global-94{padding:0;margin:94;}.some-global-93{padding:0;margin:93;}.some-global-92{padding:0;margin:92;}.some-global-91{padding:0;margin:91;}.some-global-90{padding:0;margin:90;}.some-global-89{padding:0;margin:89;}.some-global-88{padding:0;margin:88;}.some-global-87{padding:0;margin:87;}.some-global-86{padding:0;margin:86;}.some-global-85{padding:0;margin:85;}.some-global-84{padding:0;margin:84;}.some-global-83{padding:0;margin:83;}.some-global-82{padding:0;margin:82;}.some-global-81{padding:0;margin:81;}.some-global-80{padding:0;margin:80;}.some-global-79{padding:0;margin:79;}.some-global-78{padding:0;margin:78;}.some-global-77{padding:0;margin:77;}.some-global-76{padding:0;margin:76;}.some-global-75{padding:0;margin:75;}.some-global-74{padding:0;margin:74;}.some-global-73{padding:0;margin:73;}.some-global-72{padding:0;margin:72;}.some-global-71{padding:0;margin:71;}.some-global-70{padding:0;margin:70;}.some-global-69{padding:0;margin:69;}.some-global-68{padding:0;margin:68;}.some-global-67{padding:0;margin:67;}.some-global-66{padding:0;margin:66;}.some-global-65{padding:0;margin:65;}.some-global-64{padding:0;margin:64;}.some-global-63{padding:0;margin:63;}.some-global-62{padding:0;margin:62;}.some-global-61{padding:0;margin:61;}.some-global-60{padding:0;margin:60;}.some-global-59{padding:0;margin:59;}.some-global-58{padding:0;margin:58;}.some-global-57{padding:0;margin:57;}.some-global-56{padding:0;margin:56;}.some-global-55{padding:0;margin:55;}.some-global-54{padding:0;margin:54;}.some-global-53{padding:0;margin:53;}.some-global-52{padding:0;margin:52;}.some-global-51{padding:0;margin:51;}.some-global-50{padding:0;margin:50;}.some-global-49{padding:0;margin:49;}.some-global-48{padding:0;margin:48;}.some-global-47{padding:0;margin:47;}.some-global-46{padding:0;margin:46;}.some-global-45{padding:0;margin:45;}.some-global-44{padding:0;margin:44;}.some-global-43{padding:0;margin:43;}.some-global-42{padding:0;margin:42;}.some-global-41{padding:0;margin:41;}.some-global-40{padding:0;margin:40;}.some-global-39{padding:0;margin:39;}.some-global-38{padding:0;margin:38;}.some-global-37{padding:0;margin:37;}.some-global-36{padding:0;margin:36;}.some-global-35{padding:0;margin:35;}.some-global-34{padding:0;margin:34;}.some-global-33{padding:0;margin:33;}.some-global-32{padding:0;margin:32;}.some-global-31{padding:0;margin:31;}.some-global-30{padding:0;margin:30;}.some-global-29{padding:0;margin:29;}.some-global-28{padding:0;margin:28;}.some-global-27{padding:0;margin:27;}.some-global-26{padding:0;margin:26;}.some-global-25{padding:0;margin:25;}.some-global-24{padding:0;margin:24;}.some-global-23{padding:0;margin:23;}.some-global-22{padding:0;margin:22;}.some-global-21{padding:0;margin:21;}.some-global-20{padding:0;margin:20;}.some-global-19{padding:0;margin:19;}.some-global-18{padding:0;margin:18;}.some-global-17{padding:0;margin:17;}.some-global-16{padding:0;margin:16;}.some-global-15{padding:0;margin:15;}.some-global-14{padding:0;margin:14;}.some-global-13{padding:0;margin:13;}.some-global-12{padding:0;margin:12;}.some-global-11{padding:0;margin:11;}.some-global-10{padding:0;margin:10;}.some-global-9{padding:0;margin:9;}.some-global-8{padding:0;margin:8;}.some-global-7{padding:0;margin:7;}.some-global-6{padding:0;margin:6;}.some-global-5{padding:0;margin:5;}.some-global-4{padding:0;margin:4;}.some-global-3{padding:0;margin:3;}.some-global-2{padding:0;margin:2;}.some-global-1{padding:0;margin:1;}\n</style>\n<style data-emotion=\"some-key 127stik\"\n       nonce=\"some-nonce\"\n>\n  .some-key-127stik{color:hotpink;}\n</style>\n<div class=\"some-key-127stik\">\n  woah there\n  <span>\n    hello world\n  </span>\n  <style data-emotion=\"some-key 9rpmvg\"\n         nonce=\"some-nonce\"\n  >\n    .some-key-9rpmvg{color:hotpink;}\n  </style>\n  <div class=\"some-key-9rpmvg\">\n    woah there\n    <span>\n      hello world\n    </span>\n    <style data-emotion=\"some-key 1hzr4kc\"\n           nonce=\"some-nonce\"\n    >\n      .some-key-1hzr4kc{color:hotpink;}\n    </style>\n    <div class=\"some-key-1hzr4kc\">\n      woah there\n      <span>\n        hello world\n      </span>\n      <style data-emotion=\"some-key ogzoe7\"\n             nonce=\"some-nonce\"\n      >\n        .some-key-ogzoe7{color:hotpink;}\n      </style>\n      <div class=\"some-key-ogzoe7\">\n        woah there\n        <span>\n          hello world\n        </span>\n        <style data-emotion=\"some-key 6ng8h1\"\n               nonce=\"some-nonce\"\n        >\n          .some-key-6ng8h1{color:hotpink;}\n        </style>\n        <div class=\"some-key-6ng8h1\">\n          woah there\n          <span>\n            hello world\n          </span>\n          <style data-emotion=\"some-key zv4lth\"\n                 nonce=\"some-nonce\"\n          >\n            .some-key-zv4lth{color:hotpink;}\n          </style>\n          <div class=\"some-key-zv4lth\">\n            woah there\n            <span>\n              hello world\n            </span>\n            <style data-emotion=\"some-key 1ui45lz\"\n                   nonce=\"some-nonce\"\n            >\n              .some-key-1ui45lz{color:hotpink;}\n            </style>\n            <div class=\"some-key-1ui45lz\">\n              woah there\n              <span>\n                hello world\n              </span>\n              <style data-emotion=\"some-key 1h86azu\"\n                     nonce=\"some-nonce\"\n              >\n                .some-key-1h86azu{color:hotpink;}\n              </style>\n              <div class=\"some-key-1h86azu\">\n                woah there\n                <span>\n                  hello world\n                </span>\n                <style data-emotion=\"some-key 1piy66f\"\n                       nonce=\"some-nonce\"\n                >\n                  .some-key-1piy66f{color:hotpink;}\n                </style>\n                <div class=\"some-key-1piy66f\">\n                  woah there\n                  <span>\n                    hello world\n                  </span>\n                  <style data-emotion=\"some-key a19qo7\"\n                         nonce=\"some-nonce\"\n                  >\n                    .some-key-a19qo7{color:hotpink;}\n                  </style>\n                  <div class=\"some-key-a19qo7\">\n                    woah there\n                    <span>\n                      hello world\n                    </span>\n                    <style data-emotion=\"some-key wj15j7\"\n                           nonce=\"some-nonce\"\n                    >\n                      .some-key-wj15j7{color:hotpink;}\n                    </style>\n                    <div class=\"some-key-wj15j7\">\n                      woah there\n                      <span>\n                        hello world\n                      </span>\n                      <style data-emotion=\"some-key 1hrwn8e\"\n                             nonce=\"some-nonce\"\n                      >\n                        .some-key-1hrwn8e{color:hotpink;}\n                      </style>\n                      <div class=\"some-key-1hrwn8e\">\n                        woah there\n                        <span>\n                          hello world\n                        </span>\n                        <style data-emotion=\"some-key 17myt6d\"\n                               nonce=\"some-nonce\"\n                        >\n                          .some-key-17myt6d{color:hotpink;}\n                        </style>\n                        <div class=\"some-key-17myt6d\">\n                          woah there\n                          <span>\n                            hello world\n                          </span>\n                          <style data-emotion=\"some-key 2jtlz5\"\n                                 nonce=\"some-nonce\"\n                          >\n                            .some-key-2jtlz5{color:hotpink;}\n                          </style>\n                          <div class=\"some-key-2jtlz5\">\n                            woah there\n                            <span>\n                              hello world\n                            </span>\n                            <style data-emotion=\"some-key 1xu1wg1\"\n                                   nonce=\"some-nonce\"\n                            >\n                              .some-key-1xu1wg1{color:hotpink;}\n                            </style>\n                            <div class=\"some-key-1xu1wg1\">\n                              woah there\n                              <span>\n                                hello world\n                              </span>\n                              <style data-emotion=\"some-key 1wmxn4h\"\n                                     nonce=\"some-nonce\"\n                              >\n                                .some-key-1wmxn4h{color:hotpink;}\n                              </style>\n                              <div class=\"some-key-1wmxn4h\">\n                                woah there\n                                <span>\n                                  hello world\n                                </span>\n                                <style data-emotion=\"some-key lrd20s\"\n                                       nonce=\"some-nonce\"\n                                >\n                                  .some-key-lrd20s{color:hotpink;}\n                                </style>\n                                <div class=\"some-key-lrd20s\">\n                                  woah there\n                                  <span>\n                                    hello world\n                                  </span>\n                                  <style data-emotion=\"some-key r7njcf\"\n                                         nonce=\"some-nonce\"\n                                  >\n                                    .some-key-r7njcf{color:hotpink;}\n                                  </style>\n                                  <div class=\"some-key-r7njcf\">\n                                    woah there\n                                    <span>\n                                      hello world\n                                    </span>\n                                    <style data-emotion=\"some-key 9lx5bg\"\n                                           nonce=\"some-nonce\"\n                                    >\n                                      .some-key-9lx5bg{color:hotpink;}\n                                    </style>\n                                    <div class=\"some-key-9lx5bg\">\n                                      woah there\n                                      <span>\n                                        hello world\n                                      </span>\n                                      <style data-emotion=\"some-key 16v8jwc\"\n                                             nonce=\"some-nonce\"\n                                      >\n                                        .some-key-16v8jwc{color:hotpink;}\n                                      </style>\n                                      <div class=\"some-key-16v8jwc\">\n                                        woah there\n                                        <span>\n                                          hello world\n                                        </span>\n                                        <style data-emotion=\"some-key 14fn903\"\n                                               nonce=\"some-nonce\"\n                                        >\n                                          .some-key-14fn903{color:hotpink;}\n                                        </style>\n                                        <div class=\"some-key-14fn903\">\n                                          woah there\n                                          <span>\n                                            hello world\n                                          </span>\n                                          <style data-emotion=\"some-key 1h1mfz2\"\n                                                 nonce=\"some-nonce\"\n                                          >\n                                            .some-key-1h1mfz2{color:hotpink;}\n                                          </style>\n                                          <div class=\"some-key-1h1mfz2\">\n                                            woah there\n                                            <span>\n                                              hello world\n                                            </span>\n                                            <style data-emotion=\"some-key 11mzquy\"\n                                                   nonce=\"some-nonce\"\n                                            >\n                                              .some-key-11mzquy{color:hotpink;}\n                                            </style>\n                                            <div class=\"some-key-11mzquy\">\n                                              woah there\n                                              <span>\n                                                hello world\n                                              </span>\n                                              <style data-emotion=\"some-key 3930ld\"\n                                                     nonce=\"some-nonce\"\n                                              >\n                                                .some-key-3930ld{color:hotpink;}\n                                              </style>\n                                              <div class=\"some-key-3930ld\">\n                                                woah there\n                                                <span>\n                                                  hello world\n                                                </span>\n                                                <style data-emotion=\"some-key 1lby04m\"\n                                                       nonce=\"some-nonce\"\n                                                >\n                                                  .some-key-1lby04m{color:hotpink;}\n                                                </style>\n                                                <div class=\"some-key-1lby04m\">\n                                                  woah there\n                                                  <span>\n                                                    hello world\n                                                  </span>\n                                                  <style data-emotion=\"some-key hp7r6o\"\n                                                         nonce=\"some-nonce\"\n                                                  >\n                                                    .some-key-hp7r6o{color:hotpink;}\n                                                  </style>\n                                                  <div class=\"some-key-hp7r6o\">\n                                                    woah there\n                                                    <span>\n                                                      hello world\n                                                    </span>\n                                                    <style data-emotion=\"some-key 98uzk5\"\n                                                           nonce=\"some-nonce\"\n                                                    >\n                                                      .some-key-98uzk5{color:hotpink;}\n                                                    </style>\n                                                    <div class=\"some-key-98uzk5\">\n                                                      woah there\n                                                      <span>\n                                                        hello world\n                                                      </span>\n                                                      <style data-emotion=\"some-key 1krg3ya\"\n                                                             nonce=\"some-nonce\"\n                                                      >\n                                                        .some-key-1krg3ya{color:hotpink;}\n                                                      </style>\n                                                      <div class=\"some-key-1krg3ya\">\n                                                        woah there\n                                                        <span>\n                                                          hello world\n                                                        </span>\n                                                        <style data-emotion=\"some-key 1ktw7xe\"\n                                                               nonce=\"some-nonce\"\n                                                        >\n                                                          .some-key-1ktw7xe{color:hotpink;}\n                                                        </style>\n                                                        <div class=\"some-key-1ktw7xe\">\n                                                          woah there\n                                                          <span>\n                                                            hello world\n                                                          </span>\n                                                          <style data-emotion=\"some-key ck0owr\"\n                                                                 nonce=\"some-nonce\"\n                                                          >\n                                                            .some-key-ck0owr{color:hotpink;}\n                                                          </style>\n                                                          <div class=\"some-key-ck0owr\">\n                                                            woah there\n                                                            <span>\n                                                              hello world\n                                                            </span>\n                                                            <style data-emotion=\"some-key 1xcxshi\"\n                                                                   nonce=\"some-nonce\"\n                                                            >\n                                                              .some-key-1xcxshi{color:hotpink;}\n                                                            </style>\n                                                            <div class=\"some-key-1xcxshi\">\n                                                              woah there\n                                                              <span>\n                                                                hello world\n                                                              </span>\n                                                              <style data-emotion=\"some-key 1ps9cly\"\n                                                                     nonce=\"some-nonce\"\n                                                              >\n                                                                .some-key-1ps9cly{color:hotpink;}\n                                                              </style>\n                                                              <div class=\"some-key-1ps9cly\">\n                                                                woah there\n                                                                <span>\n                                                                  hello world\n                                                                </span>\n                                                                <style data-emotion=\"some-key 1yvnnz5\"\n                                                                       nonce=\"some-nonce\"\n                                                                >\n                                                                  .some-key-1yvnnz5{color:hotpink;}\n                                                                </style>\n                                                                <div class=\"some-key-1yvnnz5\">\n                                                                  woah there\n                                                                  <span>\n                                                                    hello world\n                                                                  </span>\n                                                                  <style data-emotion=\"some-key 1c10kwm\"\n                                                                         nonce=\"some-nonce\"\n                                                                  >\n                                                                    .some-key-1c10kwm{color:hotpink;}\n                                                                  </style>\n                                                                  <div class=\"some-key-1c10kwm\">\n                                                                    woah there\n                                                                    <span>\n                                                                      hello world\n                                                                    </span>\n                                                                    <style data-emotion=\"some-key hkdnb5\"\n                                                                           nonce=\"some-nonce\"\n                                                                    >\n                                                                      .some-key-hkdnb5{color:hotpink;}\n                                                                    </style>\n                                                                    <div class=\"some-key-hkdnb5\">\n                                                                      woah there\n                                                                      <span>\n                                                                        hello world\n                                                                      </span>\n                                                                      <style data-emotion=\"some-key 1v2yh0n\"\n                                                                             nonce=\"some-nonce\"\n                                                                      >\n                                                                        .some-key-1v2yh0n{color:hotpink;}\n                                                                      </style>\n                                                                      <div class=\"some-key-1v2yh0n\">\n                                                                        woah there\n                                                                        <span>\n                                                                          hello world\n                                                                        </span>\n                                                                        <style data-emotion=\"some-key 1jzftor\"\n                                                                               nonce=\"some-nonce\"\n                                                                        >\n                                                                          .some-key-1jzftor{color:hotpink;}\n                                                                        </style>\n                                                                        <div class=\"some-key-1jzftor\">\n                                                                          woah there\n                                                                          <span>\n                                                                            hello world\n                                                                          </span>\n                                                                          <style data-emotion=\"some-key wr17pn\"\n                                                                                 nonce=\"some-nonce\"\n                                                                          >\n                                                                            .some-key-wr17pn{color:hotpink;}\n                                                                          </style>\n                                                                          <div class=\"some-key-wr17pn\">\n                                                                            woah there\n                                                                            <span>\n                                                                              hello world\n                                                                            </span>\n                                                                            <style data-emotion=\"some-key hf7itv\"\n                                                                                   nonce=\"some-nonce\"\n                                                                            >\n                                                                              .some-key-hf7itv{color:hotpink;}\n                                                                            </style>\n                                                                            <div class=\"some-key-hf7itv\">\n                                                                              woah there\n                                                                              <span>\n                                                                                hello world\n                                                                              </span>\n                                                                              <style data-emotion=\"some-key 6qzhcg\"\n                                                                                     nonce=\"some-nonce\"\n                                                                              >\n                                                                                .some-key-6qzhcg{color:hotpink;}\n                                                                              </style>\n                                                                              <div class=\"some-key-6qzhcg\">\n                                                                                woah there\n                                                                                <span>\n                                                                                  hello world\n                                                                                </span>\n                                                                                <style data-emotion=\"some-key 1avzbzg\"\n                                                                                       nonce=\"some-nonce\"\n                                                                                >\n                                                                                  .some-key-1avzbzg{color:hotpink;}\n                                                                                </style>\n                                                                                <div class=\"some-key-1avzbzg\">\n                                                                                  woah there\n                                                                                  <span>\n                                                                                    hello world\n                                                                                  </span>\n                                                                                  <style data-emotion=\"some-key o92y19\"\n                                                                                         nonce=\"some-nonce\"\n                                                                                  >\n                                                                                    .some-key-o92y19{color:hotpink;}\n                                                                                  </style>\n                                                                                  <div class=\"some-key-o92y19\">\n                                                                                    woah there\n                                                                                    <span>\n                                                                                      hello world\n                                                                                    </span>\n                                                                                    <style data-emotion=\"some-key 1ljsuqn\"\n                                                                                           nonce=\"some-nonce\"\n                                                                                    >\n                                                                                      .some-key-1ljsuqn{color:hotpink;}\n                                                                                    </style>\n                                                                                    <div class=\"some-key-1ljsuqn\">\n                                                                                      woah there\n                                                                                      <span>\n                                                                                        hello world\n                                                                                      </span>\n                                                                                      <style data-emotion=\"some-key 9zagsq\"\n                                                                                             nonce=\"some-nonce\"\n                                                                                      >\n                                                                                        .some-key-9zagsq{color:hotpink;}\n                                                                                      </style>\n                                                                                      <div class=\"some-key-9zagsq\">\n                                                                                        woah there\n                                                                                        <span>\n                                                                                          hello world\n                                                                                        </span>\n                                                                                        <style data-emotion=\"some-key 1ypl0i8\"\n                                                                                               nonce=\"some-nonce\"\n                                                                                        >\n                                                                                          .some-key-1ypl0i8{color:hotpink;}\n                                                                                        </style>\n                                                                                        <div class=\"some-key-1ypl0i8\">\n                                                                                          woah there\n                                                                                          <span>\n                                                                                            hello world\n                                                                                          </span>\n                                                                                          <style data-emotion=\"some-key rzsrsa\"\n                                                                                                 nonce=\"some-nonce\"\n                                                                                          >\n                                                                                            .some-key-rzsrsa{color:hotpink;}\n                                                                                          </style>\n                                                                                          <div class=\"some-key-rzsrsa\">\n                                                                                            woah there\n                                                                                            <span>\n                                                                                              hello world\n                                                                                            </span>\n                                                                                            <style data-emotion=\"some-key ce7d51\"\n                                                                                                   nonce=\"some-nonce\"\n                                                                                            >\n                                                                                              .some-key-ce7d51{color:hotpink;}\n                                                                                            </style>\n                                                                                            <div class=\"some-key-ce7d51\">\n                                                                                              woah there\n                                                                                              <span>\n                                                                                                hello world\n                                                                                              </span>\n                                                                                              <style data-emotion=\"some-key tknw4p\"\n                                                                                                     nonce=\"some-nonce\"\n                                                                                              >\n                                                                                                .some-key-tknw4p{color:hotpink;}\n                                                                                              </style>\n                                                                                              <div class=\"some-key-tknw4p\">\n                                                                                                woah there\n                                                                                                <span>\n                                                                                                  hello world\n                                                                                                </span>\n                                                                                                <style data-emotion=\"some-key zgq7e2\"\n                                                                                                       nonce=\"some-nonce\"\n                                                                                                >\n                                                                                                  .some-key-zgq7e2{color:hotpink;}\n                                                                                                </style>\n                                                                                                <div class=\"some-key-zgq7e2\">\n                                                                                                  woah there\n                                                                                                  <span>\n                                                                                                    hello world\n                                                                                                  </span>\n                                                                                                  <style data-emotion=\"some-key 16xxcse\"\n                                                                                                         nonce=\"some-nonce\"\n                                                                                                  >\n                                                                                                    .some-key-16xxcse{color:hotpink;}\n                                                                                                  </style>\n                                                                                                  <div class=\"some-key-16xxcse\">\n                                                                                                    woah there\n                                                                                                    <span>\n                                                                                                      hello world\n                                                                                                    </span>\n                                                                                                    <style data-emotion=\"some-key rvw1un\"\n                                                                                                           nonce=\"some-nonce\"\n                                                                                                    >\n                                                                                                      .some-key-rvw1un{color:hotpink;}\n                                                                                                    </style>\n                                                                                                    <div class=\"some-key-rvw1un\">\n                                                                                                      woah there\n                                                                                                      <span>\n                                                                                                        hello world\n                                                                                                      </span>\n                                                                                                      <style data-emotion=\"some-key br1uza\"\n                                                                                                             nonce=\"some-nonce\"\n                                                                                                      >\n                                                                                                        .some-key-br1uza{color:hotpink;}\n                                                                                                      </style>\n                                                                                                      <div class=\"some-key-br1uza\">\n                                                                                                        woah there\n                                                                                                        <span>\n                                                                                                          hello world\n                                                                                                        </span>\n                                                                                                        <style data-emotion=\"some-key 1o91asl\"\n                                                                                                               nonce=\"some-nonce\"\n                                                                                                        >\n                                                                                                          .some-key-1o91asl{color:hotpink;}\n                                                                                                        </style>\n                                                                                                        <div class=\"some-key-1o91asl\">\n                                                                                                          woah there\n                                                                                                          <span>\n                                                                                                            hello world\n                                                                                                          </span>\n                                                                                                          <style data-emotion=\"some-key 1nn9pws\"\n                                                                                                                 nonce=\"some-nonce\"\n                                                                                                          >\n                                                                                                            .some-key-1nn9pws{color:hotpink;}\n                                                                                                          </style>\n                                                                                                          <div class=\"some-key-1nn9pws\">\n                                                                                                            woah there\n                                                                                                            <span>\n                                                                                                              hello world\n                                                                                                            </span>\n                                                                                                            <style data-emotion=\"some-key upbaf3\"\n                                                                                                                   nonce=\"some-nonce\"\n                                                                                                            >\n                                                                                                              .some-key-upbaf3{color:hotpink;}\n                                                                                                            </style>\n                                                                                                            <div class=\"some-key-upbaf3\">\n                                                                                                              woah there\n                                                                                                              <span>\n                                                                                                                hello world\n                                                                                                              </span>\n                                                                                                              <style data-emotion=\"some-key 10168f0\"\n                                                                                                                     nonce=\"some-nonce\"\n                                                                                                              >\n                                                                                                                .some-key-10168f0{color:hotpink;}\n                                                                                                              </style>\n                                                                                                              <div class=\"some-key-10168f0\">\n                                                                                                                woah there\n                                                                                                                <span>\n                                                                                                                  hello world\n                                                                                                                </span>\n                                                                                                                <style data-emotion=\"some-key 18beinc\"\n                                                                                                                       nonce=\"some-nonce\"\n                                                                                                                >\n                                                                                                                  .some-key-18beinc{color:hotpink;}\n                                                                                                                </style>\n                                                                                                                <div class=\"some-key-18beinc\">\n                                                                                                                  woah there\n                                                                                                                  <span>\n                                                                                                                    hello world\n                                                                                                                  </span>\n                                                                                                                  <style data-emotion=\"some-key 11m1dja\"\n                                                                                                                         nonce=\"some-nonce\"\n                                                                                                                  >\n                                                                                                                    .some-key-11m1dja{color:hotpink;}\n                                                                                                                  </style>\n                                                                                                                  <div class=\"some-key-11m1dja\">\n                                                                                                                    woah there\n                                                                                                                    <span>\n                                                                                                                      hello world\n                                                                                                                    </span>\n                                                                                                                    <style data-emotion=\"some-key h4at5s\"\n                                                                                                                           nonce=\"some-nonce\"\n                                                                                                                    >\n                                                                                                                      .some-key-h4at5s{color:hotpink;}\n                                                                                                                    </style>\n                                                                                                                    <div class=\"some-key-h4at5s\">\n                                                                                                                      woah there\n                                                                                                                      <span>\n                                                                                                                        hello world\n                                                                                                                      </span>\n                                                                                                                      <style data-emotion=\"some-key ejnakw\"\n                                                                                                                             nonce=\"some-nonce\"\n                                                                                                                      >\n                                                                                                                        .some-key-ejnakw{color:hotpink;}\n                                                                                                                      </style>\n                                                                                                                      <div class=\"some-key-ejnakw\">\n                                                                                                                        woah there\n                                                                                                                        <span>\n                                                                                                                          hello world\n                                                                                                                        </span>\n                                                                                                                        <style data-emotion=\"some-key 1o2ovve\"\n                                                                                                                               nonce=\"some-nonce\"\n                                                                                                                        >\n                                                                                                                          .some-key-1o2ovve{color:hotpink;}\n                                                                                                                        </style>\n                                                                                                                        <div class=\"some-key-1o2ovve\">\n                                                                                                                          woah there\n                                                                                                                          <span>\n                                                                                                                            hello world\n                                                                                                                          </span>\n                                                                                                                          <style data-emotion=\"some-key ac9phq\"\n                                                                                                                                 nonce=\"some-nonce\"\n                                                                                                                          >\n                                                                                                                            .some-key-ac9phq{color:hotpink;}\n                                                                                                                          </style>\n                                                                                                                          <div class=\"some-key-ac9phq\">\n                                                                                                                            woah there\n                                                                                                                            <span>\n                                                                                                                              hello world\n                                                                                                                            </span>\n                                                                                                                            <style data-emotion=\"some-key 1phm45w\"\n                                                                                                                                   nonce=\"some-nonce\"\n                                                                                                                            >\n                                                                                                                              .some-key-1phm45w{color:hotpink;}\n                                                                                                                            </style>\n                                                                                                                            <div class=\"some-key-1phm45w\">\n                                                                                                                              woah there\n                                                                                                                              <span>\n                                                                                                                                hello world\n                                                                                                                              </span>\n                                                                                                                              <style data-emotion=\"some-key 159l0ul\"\n                                                                                                                                     nonce=\"some-nonce\"\n                                                                                                                              >\n                                                                                                                                .some-key-159l0ul{color:hotpink;}\n                                                                                                                              </style>\n                                                                                                                              <div class=\"some-key-159l0ul\">\n                                                                                                                                woah there\n                                                                                                                                <span>\n                                                                                                                                  hello world\n                                                                                                                                </span>\n                                                                                                                                <style data-emotion=\"some-key ia21oa\"\n                                                                                                                                       nonce=\"some-nonce\"\n                                                                                                                                >\n                                                                                                                                  .some-key-ia21oa{color:hotpink;}\n                                                                                                                                </style>\n                                                                                                                                <div class=\"some-key-ia21oa\">\n                                                                                                                                  woah there\n                                                                                                                                  <span>\n                                                                                                                                    hello world\n                                                                                                                                  </span>\n                                                                                                                                  <style data-emotion=\"some-key tz2duq\"\n                                                                                                                                         nonce=\"some-nonce\"\n                                                                                                                                  >\n                                                                                                                                    .some-key-tz2duq{color:hotpink;}\n                                                                                                                                  </style>\n                                                                                                                                  <div class=\"some-key-tz2duq\">\n                                                                                                                                    woah there\n                                                                                                                                    <span>\n                                                                                                                                      hello world\n                                                                                                                                    </span>\n                                                                                                                                    <style data-emotion=\"some-key 4xg4ag\"\n                                                                                                                                           nonce=\"some-nonce\"\n                                                                                                                                    >\n                                                                                                                                      .some-key-4xg4ag{color:hotpink;}\n                                                                                                                                    </style>\n                                                                                                                                    <div class=\"some-key-4xg4ag\">\n                                                                                                                                      woah there\n                                                                                                                                      <span>\n                                                                                                                                        hello world\n                                                                                                                                      </span>\n                                                                                                                                      <style data-emotion=\"some-key pur9fb\"\n                                                                                                                                             nonce=\"some-nonce\"\n                                                                                                                                      >\n                                                                                                                                        .some-key-pur9fb{color:hotpink;}\n                                                                                                                                      </style>\n                                                                                                                                      <div class=\"some-key-pur9fb\">\n                                                                                                                                        woah there\n                                                                                                                                        <span>\n                                                                                                                                          hello world\n                                                                                                                                        </span>\n                                                                                                                                        <style data-emotion=\"some-key 6nme6c\"\n                                                                                                                                               nonce=\"some-nonce\"\n                                                                                                                                        >\n                                                                                                                                          .some-key-6nme6c{color:hotpink;}\n                                                                                                                                        </style>\n                                                                                                                                        <div class=\"some-key-6nme6c\">\n                                                                                                                                          woah there\n                                                                                                                                          <span>\n                                                                                                                                            hello world\n                                                                                                                                          </span>\n                                                                                                                                          <style data-emotion=\"some-key 13nv4rl\"\n                                                                                                                                                 nonce=\"some-nonce\"\n                                                                                                                                          >\n                                                                                                                                            .some-key-13nv4rl{color:hotpink;}\n                                                                                                                                          </style>\n                                                                                                                                          <div class=\"some-key-13nv4rl\">\n                                                                                                                                            woah there\n                                                                                                                                            <span>\n                                                                                                                                              hello world\n                                                                                                                                            </span>\n                                                                                                                                            <style data-emotion=\"some-key 155bmea\"\n                                                                                                                                                   nonce=\"some-nonce\"\n                                                                                                                                            >\n                                                                                                                                              .some-key-155bmea{color:hotpink;}\n                                                                                                                                            </style>\n                                                                                                                                            <div class=\"some-key-155bmea\">\n                                                                                                                                              woah there\n                                                                                                                                              <span>\n                                                                                                                                                hello world\n                                                                                                                                              </span>\n                                                                                                                                              <style data-emotion=\"some-key 10s2f9x\"\n                                                                                                                                                     nonce=\"some-nonce\"\n                                                                                                                                              >\n                                                                                                                                                .some-key-10s2f9x{color:hotpink;}\n                                                                                                                                              </style>\n                                                                                                                                              <div class=\"some-key-10s2f9x\">\n                                                                                                                                                woah there\n                                                                                                                                                <span>\n                                                                                                                                                  hello world\n                                                                                                                                                </span>\n                                                                                                                                                <style data-emotion=\"some-key 178vhlt\"\n                                                                                                                                                       nonce=\"some-nonce\"\n                                                                                                                                                >\n                                                                                                                                                  .some-key-178vhlt{color:hotpink;}\n                                                                                                                                                </style>\n                                                                                                                                                <div class=\"some-key-178vhlt\">\n                                                                                                                                                  woah there\n                                                                                                                                                  <span>\n                                                                                                                                                    hello world\n                                                                                                                                                  </span>\n                                                                                                                                                  <style data-emotion=\"some-key 1hsnkst\"\n                                                                                                                                                         nonce=\"some-nonce\"\n                                                                                                                                                  >\n                                                                                                                                                    .some-key-1hsnkst{color:hotpink;}\n                                                                                                                                                  </style>\n                                                                                                                                                  <div class=\"some-key-1hsnkst\">\n                                                                                                                                                    woah there\n                                                                                                                                                    <span>\n                                                                                                                                                      hello world\n                                                                                                                                                    </span>\n                                                                                                                                                    <style data-emotion=\"some-key zuvm9o\"\n                                                                                                                                                           nonce=\"some-nonce\"\n                                                                                                                                                    >\n                                                                                                                                                      .some-key-zuvm9o{color:hotpink;}\n                                                                                                                                                    </style>\n                                                                                                                                                    <div class=\"some-key-zuvm9o\">\n                                                                                                                                                      woah there\n                                                                                                                                                      <span>\n                                                                                                                                                        hello world\n                                                                                                                                                      </span>\n                                                                                                                                                      <style data-emotion=\"some-key 1tl89bm\"\n                                                                                                                                                             nonce=\"some-nonce\"\n                                                                                                                                                      >\n                                                                                                                                                        .some-key-1tl89bm{color:hotpink;}\n                                                                                                                                                      </style>\n                                                                                                                                                      <div class=\"some-key-1tl89bm\">\n                                                                                                                                                        woah there\n                                                                                                                                                        <span>\n                                                                                                                                                          hello world\n                                                                                                                                                        </span>\n                                                                                                                                                        <style data-emotion=\"some-key wpx7q8\"\n                                                                                                                                                               nonce=\"some-nonce\"\n                                                                                                                                                        >\n                                                                                                                                                          .some-key-wpx7q8{color:hotpink;}\n                                                                                                                                                        </style>\n                                                                                                                                                        <div class=\"some-key-wpx7q8\">\n                                                                                                                                                          woah there\n                                                                                                                                                          <span>\n                                                                                                                                                            hello world\n                                                                                                                                                          </span>\n                                                                                                                                                          <style data-emotion=\"some-key 1tehwar\"\n                                                                                                                                                                 nonce=\"some-nonce\"\n                                                                                                                                                          >\n                                                                                                                                                            .some-key-1tehwar{color:hotpink;}\n                                                                                                                                                          </style>\n                                                                                                                                                          <div class=\"some-key-1tehwar\">\n                                                                                                                                                            woah there\n                                                                                                                                                            <span>\n                                                                                                                                                              hello world\n                                                                                                                                                            </span>\n                                                                                                                                                            <style data-emotion=\"some-key ms9j35\"\n                                                                                                                                                                   nonce=\"some-nonce\"\n                                                                                                                                                            >\n                                                                                                                                                              .some-key-ms9j35{color:hotpink;}\n                                                                                                                                                            </style>\n                                                                                                                                                            <div class=\"some-key-ms9j35\">\n                                                                                                                                                              woah there\n                                                                                                                                                              <span>\n                                                                                                                                                                hello world\n                                                                                                                                                              </span>\n                                                                                                                                                              <style data-emotion=\"some-key m4u91z\"\n                                                                                                                                                                     nonce=\"some-nonce\"\n                                                                                                                                                              >\n                                                                                                                                                                .some-key-m4u91z{color:hotpink;}\n                                                                                                                                                              </style>\n                                                                                                                                                              <div class=\"some-key-m4u91z\">\n                                                                                                                                                                woah there\n                                                                                                                                                                <span>\n                                                                                                                                                                  hello world\n                                                                                                                                                                </span>\n                                                                                                                                                                <style data-emotion=\"some-key 3ci19s\"\n                                                                                                                                                                       nonce=\"some-nonce\"\n                                                                                                                                                                >\n                                                                                                                                                                  .some-key-3ci19s{color:hotpink;}\n                                                                                                                                                                </style>\n                                                                                                                                                                <div class=\"some-key-3ci19s\">\n                                                                                                                                                                  woah there\n                                                                                                                                                                  <span>\n                                                                                                                                                                    hello world\n                                                                                                                                                                  </span>\n                                                                                                                                                                  <style data-emotion=\"some-key evutcw\"\n                                                                                                                                                                         nonce=\"some-nonce\"\n                                                                                                                                                                  >\n                                                                                                                                                                    .some-key-evutcw{color:hotpink;}\n                                                                                                                                                                  </style>\n                                                                                                                                                                  <div class=\"some-key-evutcw\">\n                                                                                                                                                                    woah there\n                                                                                                                                                                    <span>\n                                                                                                                                                                      hello world\n                                                                                                                                                                    </span>\n                                                                                                                                                                    <style data-emotion=\"some-key 1g07rpc\"\n                                                                                                                                                                           nonce=\"some-nonce\"\n                                                                                                                                                                    >\n                                                                                                                                                                      .some-key-1g07rpc{color:hotpink;}\n                                                                                                                                                                    </style>\n                                                                                                                                                                    <div class=\"some-key-1g07rpc\">\n                                                                                                                                                                      woah there\n                                                                                                                                                                      <span>\n                                                                                                                                                                        hello world\n                                                                                                                                                                      </span>\n                                                                                                                                                                      <style data-emotion=\"some-key 16ejwut\"\n                                                                                                                                                                             nonce=\"some-nonce\"\n                                                                                                                                                                      >\n                                                                                                                                                                        .some-key-16ejwut{color:hotpink;}\n                                                                                                                                                                      </style>\n                                                                                                                                                                      <div class=\"some-key-16ejwut\">\n                                                                                                                                                                        woah there\n                                                                                                                                                                        <span>\n                                                                                                                                                                          hello world\n                                                                                                                                                                        </span>\n                                                                                                                                                                        <style data-emotion=\"some-key 6gxm9\"\n                                                                                                                                                                               nonce=\"some-nonce\"\n                                                                                                                                                                        >\n                                                                                                                                                                          .some-key-6gxm9{color:hotpink;}\n                                                                                                                                                                        </style>\n                                                                                                                                                                        <div class=\"some-key-6gxm9\">\n                                                                                                                                                                          woah there\n                                                                                                                                                                          <span>\n                                                                                                                                                                            hello world\n                                                                                                                                                                          </span>\n                                                                                                                                                                          <style data-emotion=\"some-key 1mbin8s\"\n                                                                                                                                                                                 nonce=\"some-nonce\"\n                                                                                                                                                                          >\n                                                                                                                                                                            .some-key-1mbin8s{color:hotpink;}\n                                                                                                                                                                          </style>\n                                                                                                                                                                          <div class=\"some-key-1mbin8s\">\n                                                                                                                                                                            woah there\n                                                                                                                                                                            <span>\n                                                                                                                                                                              hello world\n                                                                                                                                                                            </span>\n                                                                                                                                                                            <style data-emotion=\"some-key 1cj8bm0\"\n                                                                                                                                                                                   nonce=\"some-nonce\"\n                                                                                                                                                                            >\n                                                                                                                                                                              .some-key-1cj8bm0{color:hotpink;}\n                                                                                                                                                                            </style>\n                                                                                                                                                                            <div class=\"some-key-1cj8bm0\">\n                                                                                                                                                                              woah there\n                                                                                                                                                                              <span>\n                                                                                                                                                                                hello world\n                                                                                                                                                                              </span>\n                                                                                                                                                                              <style data-emotion=\"some-key r5e3ls\"\n                                                                                                                                                                                     nonce=\"some-nonce\"\n                                                                                                                                                                              >\n                                                                                                                                                                                .some-key-r5e3ls{color:hotpink;}\n                                                                                                                                                                              </style>\n                                                                                                                                                                              <div class=\"some-key-r5e3ls\">\n                                                                                                                                                                                woah there\n                                                                                                                                                                                <span>\n                                                                                                                                                                                  hello world\n                                                                                                                                                                                </span>\n                                                                                                                                                                                <style data-emotion=\"some-key uupi2e\"\n                                                                                                                                                                                       nonce=\"some-nonce\"\n                                                                                                                                                                                >\n                                                                                                                                                                                  .some-key-uupi2e{color:hotpink;}\n                                                                                                                                                                                </style>\n                                                                                                                                                                                <div class=\"some-key-uupi2e\">\n                                                                                                                                                                                  woah there\n                                                                                                                                                                                  <span>\n                                                                                                                                                                                    hello world\n                                                                                                                                                                                  </span>\n                                                                                                                                                                                  <style data-emotion=\"some-key zr22cf\"\n                                                                                                                                                                                         nonce=\"some-nonce\"\n                                                                                                                                                                                  >\n                                                                                                                                                                                    .some-key-zr22cf{color:hotpink;}\n                                                                                                                                                                                  </style>\n                                                                                                                                                                                  <div class=\"some-key-zr22cf\">\n                                                                                                                                                                                    woah there\n                                                                                                                                                                                    <span>\n                                                                                                                                                                                      hello world\n                                                                                                                                                                                    </span>\n                                                                                                                                                                                    <style data-emotion=\"some-key 13wmhd1\"\n                                                                                                                                                                                           nonce=\"some-nonce\"\n                                                                                                                                                                                    >\n                                                                                                                                                                                      .some-key-13wmhd1{color:hotpink;}\n                                                                                                                                                                                    </style>\n                                                                                                                                                                                    <div class=\"some-key-13wmhd1\">\n                                                                                                                                                                                      woah there\n                                                                                                                                                                                      <span>\n                                                                                                                                                                                        hello world\n                                                                                                                                                                                      </span>\n                                                                                                                                                                                      <style data-emotion=\"some-key i8sgdi\"\n                                                                                                                                                                                             nonce=\"some-nonce\"\n                                                                                                                                                                                      >\n                                                                                                                                                                                        .some-key-i8sgdi{color:hotpink;}\n                                                                                                                                                                                      </style>\n                                                                                                                                                                                      <div class=\"some-key-i8sgdi\">\n                                                                                                                                                                                        woah there\n                                                                                                                                                                                        <span>\n                                                                                                                                                                                          hello world\n                                                                                                                                                                                        </span>\n                                                                                                                                                                                        <style data-emotion=\"some-key k0avx5\"\n                                                                                                                                                                                               nonce=\"some-nonce\"\n                                                                                                                                                                                        >\n                                                                                                                                                                                          .some-key-k0avx5{color:hotpink;}\n                                                                                                                                                                                        </style>\n                                                                                                                                                                                        <div class=\"some-key-k0avx5\">\n                                                                                                                                                                                          woah there\n                                                                                                                                                                                          <span>\n                                                                                                                                                                                            hello world\n                                                                                                                                                                                          </span>\n                                                                                                                                                                                          <style data-emotion=\"some-key 6dl9n7\"\n                                                                                                                                                                                                 nonce=\"some-nonce\"\n                                                                                                                                                                                          >\n                                                                                                                                                                                            .some-key-6dl9n7{color:hotpink;}\n                                                                                                                                                                                          </style>\n                                                                                                                                                                                          <div class=\"some-key-6dl9n7\">\n                                                                                                                                                                                            woah there\n                                                                                                                                                                                            <span>\n                                                                                                                                                                                              hello world\n                                                                                                                                                                                            </span>\n                                                                                                                                                                                            <style data-emotion=\"some-key 1fz7vvs\"\n                                                                                                                                                                                                   nonce=\"some-nonce\"\n                                                                                                                                                                                            >\n                                                                                                                                                                                              .some-key-1fz7vvs{color:hotpink;}\n                                                                                                                                                                                            </style>\n                                                                                                                                                                                            <div class=\"some-key-1fz7vvs\">\n                                                                                                                                                                                              woah there\n                                                                                                                                                                                              <span>\n                                                                                                                                                                                                hello world\n                                                                                                                                                                                              </span>\n                                                                                                                                                                                              <style data-emotion=\"some-key 17n3gda\"\n                                                                                                                                                                                                     nonce=\"some-nonce\"\n                                                                                                                                                                                              >\n                                                                                                                                                                                                .some-key-17n3gda{color:hotpink;}\n                                                                                                                                                                                              </style>\n                                                                                                                                                                                              <div class=\"some-key-17n3gda\">\n                                                                                                                                                                                                woah there\n                                                                                                                                                                                                <span>\n                                                                                                                                                                                                  hello world\n                                                                                                                                                                                                </span>\n                                                                                                                                                                                                <style data-emotion=\"some-key 1qfsvxb\"\n                                                                                                                                                                                                       nonce=\"some-nonce\"\n                                                                                                                                                                                                >\n                                                                                                                                                                                                  .some-key-1qfsvxb{color:hotpink;}\n                                                                                                                                                                                                </style>\n                                                                                                                                                                                                <div class=\"some-key-1qfsvxb\">\n                                                                                                                                                                                                  woah there\n                                                                                                                                                                                                  <span>\n                                                                                                                                                                                                    hello world\n                                                                                                                                                                                                  </span>\n                                                                                                                                                                                                  <style data-emotion=\"some-key 4tl6t0\"\n                                                                                                                                                                                                         nonce=\"some-nonce\"\n                                                                                                                                                                                                  >\n                                                                                                                                                                                                    .some-key-4tl6t0{color:hotpink;}\n                                                                                                                                                                                                  </style>\n                                                                                                                                                                                                  <div class=\"some-key-4tl6t0\">\n                                                                                                                                                                                                    woah there\n                                                                                                                                                                                                    <span>\n                                                                                                                                                                                                      hello world\n                                                                                                                                                                                                    </span>\n                                                                                                                                                                                                    <style data-emotion=\"some-key 1rryha9\"\n                                                                                                                                                                                                           nonce=\"some-nonce\"\n                                                                                                                                                                                                    >\n                                                                                                                                                                                                      .some-key-1rryha9{color:hotpink;}\n                                                                                                                                                                                                    </style>\n                                                                                                                                                                                                    <div class=\"some-key-1rryha9\">\n                                                                                                                                                                                                      woah there\n                                                                                                                                                                                                      <span>\n                                                                                                                                                                                                        hello world\n                                                                                                                                                                                                      </span>\n                                                                                                                                                                                                      <style data-emotion=\"some-key ejgs3d\"\n                                                                                                                                                                                                             nonce=\"some-nonce\"\n                                                                                                                                                                                                      >\n                                                                                                                                                                                                        .some-key-ejgs3d{color:hotpink;}\n                                                                                                                                                                                                      </style>\n                                                                                                                                                                                                      <div class=\"some-key-ejgs3d\">\n                                                                                                                                                                                                        woah there\n                                                                                                                                                                                                        <span>\n                                                                                                                                                                                                          hello world\n                                                                                                                                                                                                        </span>\n                                                                                                                                                                                                        <style data-emotion=\"some-key 1h1preu\"\n                                                                                                                                                                                                               nonce=\"some-nonce\"\n                                                                                                                                                                                                        >\n                                                                                                                                                                                                          .some-key-1h1preu{color:hotpink;}\n                                                                                                                                                                                                        </style>\n                                                                                                                                                                                                        <div class=\"some-key-1h1preu\">\n                                                                                                                                                                                                          woah there\n                                                                                                                                                                                                          <span>\n                                                                                                                                                                                                            hello world\n                                                                                                                                                                                                          </span>\n                                                                                                                                                                                                          <style data-emotion=\"some-key 1ewulib\"\n                                                                                                                                                                                                                 nonce=\"some-nonce\"\n                                                                                                                                                                                                          >\n                                                                                                                                                                                                            .some-key-1ewulib{color:hotpink;}\n                                                                                                                                                                                                          </style>\n                                                                                                                                                                                                          <div class=\"some-key-1ewulib\">\n                                                                                                                                                                                                            woah there\n                                                                                                                                                                                                            <span>\n                                                                                                                                                                                                              hello world\n                                                                                                                                                                                                            </span>\n                                                                                                                                                                                                            <style data-emotion=\"some-key 1g9aqxv\"\n                                                                                                                                                                                                                   nonce=\"some-nonce\"\n                                                                                                                                                                                                            >\n                                                                                                                                                                                                              .some-key-1g9aqxv{color:hotpink;}\n                                                                                                                                                                                                            </style>\n                                                                                                                                                                                                            <div class=\"some-key-1g9aqxv\">\n                                                                                                                                                                                                              woah there\n                                                                                                                                                                                                              <span>\n                                                                                                                                                                                                                hello world\n                                                                                                                                                                                                              </span>\n                                                                                                                                                                                                              <style data-emotion=\"some-key 1lxxdaw\"\n                                                                                                                                                                                                                     nonce=\"some-nonce\"\n                                                                                                                                                                                                              >\n                                                                                                                                                                                                                .some-key-1lxxdaw{color:hotpink;}\n                                                                                                                                                                                                              </style>\n                                                                                                                                                                                                              <div class=\"some-key-1lxxdaw\">\n                                                                                                                                                                                                                woah there\n                                                                                                                                                                                                                <span>\n                                                                                                                                                                                                                  hello world\n                                                                                                                                                                                                                </span>\n                                                                                                                                                                                                                <style data-emotion=\"some-key x21xi2\"\n                                                                                                                                                                                                                       nonce=\"some-nonce\"\n                                                                                                                                                                                                                >\n                                                                                                                                                                                                                  .some-key-x21xi2{color:hotpink;}\n                                                                                                                                                                                                                </style>\n                                                                                                                                                                                                                <div class=\"some-key-x21xi2\">\n                                                                                                                                                                                                                  woah there\n                                                                                                                                                                                                                  <span>\n                                                                                                                                                                                                                    hello world\n                                                                                                                                                                                                                  </span>\n                                                                                                                                                                                                                  <style data-emotion=\"some-key 133obvl\"\n                                                                                                                                                                                                                         nonce=\"some-nonce\"\n                                                                                                                                                                                                                  >\n                                                                                                                                                                                                                    .some-key-133obvl{color:hotpink;}\n                                                                                                                                                                                                                  </style>\n                                                                                                                                                                                                                  <div class=\"some-key-133obvl\">\n                                                                                                                                                                                                                    woah there\n                                                                                                                                                                                                                    <span>\n                                                                                                                                                                                                                      hello world\n                                                                                                                                                                                                                    </span>\n                                                                                                                                                                                                                    <style data-emotion=\"some-key o9oiih\"\n                                                                                                                                                                                                                           nonce=\"some-nonce\"\n                                                                                                                                                                                                                    >\n                                                                                                                                                                                                                      .some-key-o9oiih{color:hotpink;}\n                                                                                                                                                                                                                    </style>\n                                                                                                                                                                                                                    <div class=\"some-key-o9oiih\">\n                                                                                                                                                                                                                      woah there\n                                                                                                                                                                                                                      <span>\n                                                                                                                                                                                                                        hello world\n                                                                                                                                                                                                                      </span>\n                                                                                                                                                                                                                      <style data-emotion=\"some-key 16h21pl\"\n                                                                                                                                                                                                                             nonce=\"some-nonce\"\n                                                                                                                                                                                                                      >\n                                                                                                                                                                                                                        .some-key-16h21pl{color:hotpink;}\n                                                                                                                                                                                                                      </style>\n                                                                                                                                                                                                                      <div class=\"some-key-16h21pl\">\n                                                                                                                                                                                                                        woah there\n                                                                                                                                                                                                                        <span>\n                                                                                                                                                                                                                          hello world\n                                                                                                                                                                                                                        </span>\n                                                                                                                                                                                                                        <style data-emotion=\"some-key scfkxf\"\n                                                                                                                                                                                                                               nonce=\"some-nonce\"\n                                                                                                                                                                                                                        >\n                                                                                                                                                                                                                          .some-key-scfkxf{color:hotpink;}\n                                                                                                                                                                                                                        </style>\n                                                                                                                                                                                                                        <div class=\"some-key-scfkxf\">\n                                                                                                                                                                                                                          woah there\n                                                                                                                                                                                                                          <span>\n                                                                                                                                                                                                                            hello world\n                                                                                                                                                                                                                          </span>\n                                                                                                                                                                                                                          <style data-emotion=\"some-key 1u10ji2\"\n                                                                                                                                                                                                                                 nonce=\"some-nonce\"\n                                                                                                                                                                                                                          >\n                                                                                                                                                                                                                            .some-key-1u10ji2{color:hotpink;}\n                                                                                                                                                                                                                          </style>\n                                                                                                                                                                                                                          <div class=\"some-key-1u10ji2\">\n                                                                                                                                                                                                                            woah there\n                                                                                                                                                                                                                            <span>\n                                                                                                                                                                                                                              hello world\n                                                                                                                                                                                                                            </span>\n                                                                                                                                                                                                                            <style data-emotion=\"some-key i9peew\"\n                                                                                                                                                                                                                                   nonce=\"some-nonce\"\n                                                                                                                                                                                                                            >\n                                                                                                                                                                                                                              .some-key-i9peew{color:hotpink;}\n                                                                                                                                                                                                                            </style>\n                                                                                                                                                                                                                            <div class=\"some-key-i9peew\">\n                                                                                                                                                                                                                              woah there\n                                                                                                                                                                                                                              <span>\n                                                                                                                                                                                                                                hello world\n                                                                                                                                                                                                                              </span>\n                                                                                                                                                                                                                              <style data-emotion=\"some-key 13q89pq\"\n                                                                                                                                                                                                                                     nonce=\"some-nonce\"\n                                                                                                                                                                                                                              >\n                                                                                                                                                                                                                                .some-key-13q89pq{color:hotpink;}\n                                                                                                                                                                                                                              </style>\n                                                                                                                                                                                                                              <div class=\"some-key-13q89pq\">\n                                                                                                                                                                                                                                woah there\n                                                                                                                                                                                                                                <span>\n                                                                                                                                                                                                                                  hello world\n                                                                                                                                                                                                                                </span>\n                                                                                                                                                                                                                                <style data-emotion=\"some-key qcun1q\"\n                                                                                                                                                                                                                                       nonce=\"some-nonce\"\n                                                                                                                                                                                                                                >\n                                                                                                                                                                                                                                  .some-key-qcun1q{color:hotpink;}\n                                                                                                                                                                                                                                </style>\n                                                                                                                                                                                                                                <div class=\"some-key-qcun1q\">\n                                                                                                                                                                                                                                  woah there\n                                                                                                                                                                                                                                  <span>\n                                                                                                                                                                                                                                    hello world\n                                                                                                                                                                                                                                  </span>\n                                                                                                                                                                                                                                  <style data-emotion=\"some-key eb1awr\"\n                                                                                                                                                                                                                                         nonce=\"some-nonce\"\n                                                                                                                                                                                                                                  >\n                                                                                                                                                                                                                                    .some-key-eb1awr{color:hotpink;}\n                                                                                                                                                                                                                                  </style>\n                                                                                                                                                                                                                                  <div class=\"some-key-eb1awr\">\n                                                                                                                                                                                                                                    woah there\n                                                                                                                                                                                                                                    <span>\n                                                                                                                                                                                                                                      hello world\n                                                                                                                                                                                                                                    </span>\n                                                                                                                                                                                                                                    <style data-emotion=\"some-key 1sllz3x\"\n                                                                                                                                                                                                                                           nonce=\"some-nonce\"\n                                                                                                                                                                                                                                    >\n                                                                                                                                                                                                                                      .some-key-1sllz3x{color:hotpink;}\n                                                                                                                                                                                                                                    </style>\n                                                                                                                                                                                                                                    <div class=\"some-key-1sllz3x\">\n                                                                                                                                                                                                                                      woah there\n                                                                                                                                                                                                                                      <span>\n                                                                                                                                                                                                                                        hello world\n                                                                                                                                                                                                                                      </span>\n                                                                                                                                                                                                                                      <style data-emotion=\"some-key 1oevn2u\"\n                                                                                                                                                                                                                                             nonce=\"some-nonce\"\n                                                                                                                                                                                                                                      >\n                                                                                                                                                                                                                                        .some-key-1oevn2u{color:hotpink;}\n                                                                                                                                                                                                                                      </style>\n                                                                                                                                                                                                                                      <div class=\"some-key-1oevn2u\">\n                                                                                                                                                                                                                                        woah there\n                                                                                                                                                                                                                                        <span>\n                                                                                                                                                                                                                                          hello world\n                                                                                                                                                                                                                                        </span>\n                                                                                                                                                                                                                                        <style data-emotion=\"some-key zjzdc9\"\n                                                                                                                                                                                                                                               nonce=\"some-nonce\"\n                                                                                                                                                                                                                                        >\n                                                                                                                                                                                                                                          .some-key-zjzdc9{color:hotpink;}\n                                                                                                                                                                                                                                        </style>\n                                                                                                                                                                                                                                        <div class=\"some-key-zjzdc9\">\n                                                                                                                                                                                                                                          woah there\n                                                                                                                                                                                                                                          <span>\n                                                                                                                                                                                                                                            hello world\n                                                                                                                                                                                                                                          </span>\n                                                                                                                                                                                                                                          <style data-emotion=\"some-key 6wqs48\"\n                                                                                                                                                                                                                                                 nonce=\"some-nonce\"\n                                                                                                                                                                                                                                          >\n                                                                                                                                                                                                                                            .some-key-6wqs48{color:hotpink;}\n                                                                                                                                                                                                                                          </style>\n                                                                                                                                                                                                                                          <div class=\"some-key-6wqs48\">\n                                                                                                                                                                                                                                            woah there\n                                                                                                                                                                                                                                            <span>\n                                                                                                                                                                                                                                              hello world\n                                                                                                                                                                                                                                            </span>\n                                                                                                                                                                                                                                            <style data-emotion=\"some-key 1jrdvsc\"\n                                                                                                                                                                                                                                                   nonce=\"some-nonce\"\n                                                                                                                                                                                                                                            >\n                                                                                                                                                                                                                                              .some-key-1jrdvsc{color:hotpink;}\n                                                                                                                                                                                                                                            </style>\n                                                                                                                                                                                                                                            <div class=\"some-key-1jrdvsc\">\n                                                                                                                                                                                                                                              woah there\n                                                                                                                                                                                                                                              <span>\n                                                                                                                                                                                                                                                hello world\n                                                                                                                                                                                                                                              </span>\n                                                                                                                                                                                                                                              <style data-emotion=\"some-key 1vea8p9\"\n                                                                                                                                                                                                                                                     nonce=\"some-nonce\"\n                                                                                                                                                                                                                                              >\n                                                                                                                                                                                                                                                .some-key-1vea8p9{color:hotpink;}\n                                                                                                                                                                                                                                              </style>\n                                                                                                                                                                                                                                              <div class=\"some-key-1vea8p9\">\n                                                                                                                                                                                                                                                woah there\n                                                                                                                                                                                                                                                <span>\n                                                                                                                                                                                                                                                  hello world\n                                                                                                                                                                                                                                                </span>\n                                                                                                                                                                                                                                                <style data-emotion=\"some-key vekko5\"\n                                                                                                                                                                                                                                                       nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                >\n                                                                                                                                                                                                                                                  .some-key-vekko5{color:hotpink;}\n                                                                                                                                                                                                                                                </style>\n                                                                                                                                                                                                                                                <div class=\"some-key-vekko5\">\n                                                                                                                                                                                                                                                  woah there\n                                                                                                                                                                                                                                                  <span>\n                                                                                                                                                                                                                                                    hello world\n                                                                                                                                                                                                                                                  </span>\n                                                                                                                                                                                                                                                  <style data-emotion=\"some-key 1ixaqkz\"\n                                                                                                                                                                                                                                                         nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                  >\n                                                                                                                                                                                                                                                    .some-key-1ixaqkz{color:hotpink;}\n                                                                                                                                                                                                                                                  </style>\n                                                                                                                                                                                                                                                  <div class=\"some-key-1ixaqkz\">\n                                                                                                                                                                                                                                                    woah there\n                                                                                                                                                                                                                                                    <span>\n                                                                                                                                                                                                                                                      hello world\n                                                                                                                                                                                                                                                    </span>\n                                                                                                                                                                                                                                                    <style data-emotion=\"some-key 1juqtoj\"\n                                                                                                                                                                                                                                                           nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                    >\n                                                                                                                                                                                                                                                      .some-key-1juqtoj{color:hotpink;}\n                                                                                                                                                                                                                                                    </style>\n                                                                                                                                                                                                                                                    <div class=\"some-key-1juqtoj\">\n                                                                                                                                                                                                                                                      woah there\n                                                                                                                                                                                                                                                      <span>\n                                                                                                                                                                                                                                                        hello world\n                                                                                                                                                                                                                                                      </span>\n                                                                                                                                                                                                                                                      <style data-emotion=\"some-key cyahzj\"\n                                                                                                                                                                                                                                                             nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                      >\n                                                                                                                                                                                                                                                        .some-key-cyahzj{color:hotpink;}\n                                                                                                                                                                                                                                                      </style>\n                                                                                                                                                                                                                                                      <div class=\"some-key-cyahzj\">\n                                                                                                                                                                                                                                                        woah there\n                                                                                                                                                                                                                                                        <span>\n                                                                                                                                                                                                                                                          hello world\n                                                                                                                                                                                                                                                        </span>\n                                                                                                                                                                                                                                                        <style data-emotion=\"some-key 1559ay6\"\n                                                                                                                                                                                                                                                               nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                        >\n                                                                                                                                                                                                                                                          .some-key-1559ay6{color:hotpink;}\n                                                                                                                                                                                                                                                        </style>\n                                                                                                                                                                                                                                                        <div class=\"some-key-1559ay6\">\n                                                                                                                                                                                                                                                          woah there\n                                                                                                                                                                                                                                                          <span>\n                                                                                                                                                                                                                                                            hello world\n                                                                                                                                                                                                                                                          </span>\n                                                                                                                                                                                                                                                          <style data-emotion=\"some-key kgdim\"\n                                                                                                                                                                                                                                                                 nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                          >\n                                                                                                                                                                                                                                                            .some-key-kgdim{color:hotpink;}\n                                                                                                                                                                                                                                                          </style>\n                                                                                                                                                                                                                                                          <div class=\"some-key-kgdim\">\n                                                                                                                                                                                                                                                            woah there\n                                                                                                                                                                                                                                                            <span>\n                                                                                                                                                                                                                                                              hello world\n                                                                                                                                                                                                                                                            </span>\n                                                                                                                                                                                                                                                            <style data-emotion=\"some-key 18cyyxf\"\n                                                                                                                                                                                                                                                                   nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                            >\n                                                                                                                                                                                                                                                              .some-key-18cyyxf{color:hotpink;}\n                                                                                                                                                                                                                                                            </style>\n                                                                                                                                                                                                                                                            <div class=\"some-key-18cyyxf\">\n                                                                                                                                                                                                                                                              woah there\n                                                                                                                                                                                                                                                              <span>\n                                                                                                                                                                                                                                                                hello world\n                                                                                                                                                                                                                                                              </span>\n                                                                                                                                                                                                                                                              <style data-emotion=\"some-key z0i9x2\"\n                                                                                                                                                                                                                                                                     nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                              >\n                                                                                                                                                                                                                                                                .some-key-z0i9x2{color:hotpink;}\n                                                                                                                                                                                                                                                              </style>\n                                                                                                                                                                                                                                                              <div class=\"some-key-z0i9x2\">\n                                                                                                                                                                                                                                                                woah there\n                                                                                                                                                                                                                                                                <span>\n                                                                                                                                                                                                                                                                  hello world\n                                                                                                                                                                                                                                                                </span>\n                                                                                                                                                                                                                                                                <style data-emotion=\"some-key gkpvss\"\n                                                                                                                                                                                                                                                                       nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                >\n                                                                                                                                                                                                                                                                  .some-key-gkpvss{color:hotpink;}\n                                                                                                                                                                                                                                                                </style>\n                                                                                                                                                                                                                                                                <div class=\"some-key-gkpvss\">\n                                                                                                                                                                                                                                                                  woah there\n                                                                                                                                                                                                                                                                  <span>\n                                                                                                                                                                                                                                                                    hello world\n                                                                                                                                                                                                                                                                  </span>\n                                                                                                                                                                                                                                                                  <style data-emotion=\"some-key weerr6\"\n                                                                                                                                                                                                                                                                         nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                  >\n                                                                                                                                                                                                                                                                    .some-key-weerr6{color:hotpink;}\n                                                                                                                                                                                                                                                                  </style>\n                                                                                                                                                                                                                                                                  <div class=\"some-key-weerr6\">\n                                                                                                                                                                                                                                                                    woah there\n                                                                                                                                                                                                                                                                    <span>\n                                                                                                                                                                                                                                                                      hello world\n                                                                                                                                                                                                                                                                    </span>\n                                                                                                                                                                                                                                                                    <style data-emotion=\"some-key sw7yje\"\n                                                                                                                                                                                                                                                                           nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                    >\n                                                                                                                                                                                                                                                                      .some-key-sw7yje{color:hotpink;}\n                                                                                                                                                                                                                                                                    </style>\n                                                                                                                                                                                                                                                                    <div class=\"some-key-sw7yje\">\n                                                                                                                                                                                                                                                                      woah there\n                                                                                                                                                                                                                                                                      <span>\n                                                                                                                                                                                                                                                                        hello world\n                                                                                                                                                                                                                                                                      </span>\n                                                                                                                                                                                                                                                                      <style data-emotion=\"some-key 12qk6uq\"\n                                                                                                                                                                                                                                                                             nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                      >\n                                                                                                                                                                                                                                                                        .some-key-12qk6uq{color:hotpink;}\n                                                                                                                                                                                                                                                                      </style>\n                                                                                                                                                                                                                                                                      <div class=\"some-key-12qk6uq\">\n                                                                                                                                                                                                                                                                        woah there\n                                                                                                                                                                                                                                                                        <span>\n                                                                                                                                                                                                                                                                          hello world\n                                                                                                                                                                                                                                                                        </span>\n                                                                                                                                                                                                                                                                        <style data-emotion=\"some-key 8e7cu8\"\n                                                                                                                                                                                                                                                                               nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                        >\n                                                                                                                                                                                                                                                                          .some-key-8e7cu8{color:hotpink;}\n                                                                                                                                                                                                                                                                        </style>\n                                                                                                                                                                                                                                                                        <div class=\"some-key-8e7cu8\">\n                                                                                                                                                                                                                                                                          woah there\n                                                                                                                                                                                                                                                                          <span>\n                                                                                                                                                                                                                                                                            hello world\n                                                                                                                                                                                                                                                                          </span>\n                                                                                                                                                                                                                                                                          <style data-emotion=\"some-key 6bla26\"\n                                                                                                                                                                                                                                                                                 nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                          >\n                                                                                                                                                                                                                                                                            .some-key-6bla26{color:hotpink;}\n                                                                                                                                                                                                                                                                          </style>\n                                                                                                                                                                                                                                                                          <div class=\"some-key-6bla26\">\n                                                                                                                                                                                                                                                                            woah there\n                                                                                                                                                                                                                                                                            <span>\n                                                                                                                                                                                                                                                                              hello world\n                                                                                                                                                                                                                                                                            </span>\n                                                                                                                                                                                                                                                                            <style data-emotion=\"some-key 35jwvs\"\n                                                                                                                                                                                                                                                                                   nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                            >\n                                                                                                                                                                                                                                                                              .some-key-35jwvs{color:hotpink;}\n                                                                                                                                                                                                                                                                            </style>\n                                                                                                                                                                                                                                                                            <div class=\"some-key-35jwvs\">\n                                                                                                                                                                                                                                                                              woah there\n                                                                                                                                                                                                                                                                              <span>\n                                                                                                                                                                                                                                                                                hello world\n                                                                                                                                                                                                                                                                              </span>\n                                                                                                                                                                                                                                                                              <style data-emotion=\"some-key 1nrgdft\"\n                                                                                                                                                                                                                                                                                     nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                              >\n                                                                                                                                                                                                                                                                                .some-key-1nrgdft{color:hotpink;}\n                                                                                                                                                                                                                                                                              </style>\n                                                                                                                                                                                                                                                                              <div class=\"some-key-1nrgdft\">\n                                                                                                                                                                                                                                                                                woah there\n                                                                                                                                                                                                                                                                                <span>\n                                                                                                                                                                                                                                                                                  hello world\n                                                                                                                                                                                                                                                                                </span>\n                                                                                                                                                                                                                                                                                <style data-emotion=\"some-key 1g4joaz\"\n                                                                                                                                                                                                                                                                                       nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                >\n                                                                                                                                                                                                                                                                                  .some-key-1g4joaz{color:hotpink;}\n                                                                                                                                                                                                                                                                                </style>\n                                                                                                                                                                                                                                                                                <div class=\"some-key-1g4joaz\">\n                                                                                                                                                                                                                                                                                  woah there\n                                                                                                                                                                                                                                                                                  <span>\n                                                                                                                                                                                                                                                                                    hello world\n                                                                                                                                                                                                                                                                                  </span>\n                                                                                                                                                                                                                                                                                  <style data-emotion=\"some-key 3zq00y\"\n                                                                                                                                                                                                                                                                                         nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                  >\n                                                                                                                                                                                                                                                                                    .some-key-3zq00y{color:hotpink;}\n                                                                                                                                                                                                                                                                                  </style>\n                                                                                                                                                                                                                                                                                  <div class=\"some-key-3zq00y\">\n                                                                                                                                                                                                                                                                                    woah there\n                                                                                                                                                                                                                                                                                    <span>\n                                                                                                                                                                                                                                                                                      hello world\n                                                                                                                                                                                                                                                                                    </span>\n                                                                                                                                                                                                                                                                                    <style data-emotion=\"some-key 1gk0yhg\"\n                                                                                                                                                                                                                                                                                           nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                    >\n                                                                                                                                                                                                                                                                                      .some-key-1gk0yhg{color:hotpink;}\n                                                                                                                                                                                                                                                                                    </style>\n                                                                                                                                                                                                                                                                                    <div class=\"some-key-1gk0yhg\">\n                                                                                                                                                                                                                                                                                      woah there\n                                                                                                                                                                                                                                                                                      <span>\n                                                                                                                                                                                                                                                                                        hello world\n                                                                                                                                                                                                                                                                                      </span>\n                                                                                                                                                                                                                                                                                      <style data-emotion=\"some-key 65xyj4\"\n                                                                                                                                                                                                                                                                                             nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                      >\n                                                                                                                                                                                                                                                                                        .some-key-65xyj4{color:hotpink;}\n                                                                                                                                                                                                                                                                                      </style>\n                                                                                                                                                                                                                                                                                      <div class=\"some-key-65xyj4\">\n                                                                                                                                                                                                                                                                                        woah there\n                                                                                                                                                                                                                                                                                        <span>\n                                                                                                                                                                                                                                                                                          hello world\n                                                                                                                                                                                                                                                                                        </span>\n                                                                                                                                                                                                                                                                                        <style data-emotion=\"some-key 17wkfhz\"\n                                                                                                                                                                                                                                                                                               nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                        >\n                                                                                                                                                                                                                                                                                          .some-key-17wkfhz{color:hotpink;}\n                                                                                                                                                                                                                                                                                        </style>\n                                                                                                                                                                                                                                                                                        <div class=\"some-key-17wkfhz\">\n                                                                                                                                                                                                                                                                                          woah there\n                                                                                                                                                                                                                                                                                          <span>\n                                                                                                                                                                                                                                                                                            hello world\n                                                                                                                                                                                                                                                                                          </span>\n                                                                                                                                                                                                                                                                                          <style data-emotion=\"some-key w9l44e\"\n                                                                                                                                                                                                                                                                                                 nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                          >\n                                                                                                                                                                                                                                                                                            .some-key-w9l44e{color:hotpink;}\n                                                                                                                                                                                                                                                                                          </style>\n                                                                                                                                                                                                                                                                                          <div class=\"some-key-w9l44e\">\n                                                                                                                                                                                                                                                                                            woah there\n                                                                                                                                                                                                                                                                                            <span>\n                                                                                                                                                                                                                                                                                              hello world\n                                                                                                                                                                                                                                                                                            </span>\n                                                                                                                                                                                                                                                                                            <style data-emotion=\"some-key i5ss3y\"\n                                                                                                                                                                                                                                                                                                   nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                            >\n                                                                                                                                                                                                                                                                                              .some-key-i5ss3y{color:hotpink;}\n                                                                                                                                                                                                                                                                                            </style>\n                                                                                                                                                                                                                                                                                            <div class=\"some-key-i5ss3y\">\n                                                                                                                                                                                                                                                                                              woah there\n                                                                                                                                                                                                                                                                                              <span>\n                                                                                                                                                                                                                                                                                                hello world\n                                                                                                                                                                                                                                                                                              </span>\n                                                                                                                                                                                                                                                                                              <style data-emotion=\"some-key qua63f\"\n                                                                                                                                                                                                                                                                                                     nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                              >\n                                                                                                                                                                                                                                                                                                .some-key-qua63f{color:hotpink;}\n                                                                                                                                                                                                                                                                                              </style>\n                                                                                                                                                                                                                                                                                              <div class=\"some-key-qua63f\">\n                                                                                                                                                                                                                                                                                                woah there\n                                                                                                                                                                                                                                                                                                <span>\n                                                                                                                                                                                                                                                                                                  hello world\n                                                                                                                                                                                                                                                                                                </span>\n                                                                                                                                                                                                                                                                                                <style data-emotion=\"some-key 1sjj1qr\"\n                                                                                                                                                                                                                                                                                                       nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                >\n                                                                                                                                                                                                                                                                                                  .some-key-1sjj1qr{color:hotpink;}\n                                                                                                                                                                                                                                                                                                </style>\n                                                                                                                                                                                                                                                                                                <div class=\"some-key-1sjj1qr\">\n                                                                                                                                                                                                                                                                                                  woah there\n                                                                                                                                                                                                                                                                                                  <span>\n                                                                                                                                                                                                                                                                                                    hello world\n                                                                                                                                                                                                                                                                                                  </span>\n                                                                                                                                                                                                                                                                                                  <style data-emotion=\"some-key 90js15\"\n                                                                                                                                                                                                                                                                                                         nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                  >\n                                                                                                                                                                                                                                                                                                    .some-key-90js15{color:hotpink;}\n                                                                                                                                                                                                                                                                                                  </style>\n                                                                                                                                                                                                                                                                                                  <div class=\"some-key-90js15\">\n                                                                                                                                                                                                                                                                                                    woah there\n                                                                                                                                                                                                                                                                                                    <span>\n                                                                                                                                                                                                                                                                                                      hello world\n                                                                                                                                                                                                                                                                                                    </span>\n                                                                                                                                                                                                                                                                                                    <style data-emotion=\"some-key 1mzlono\"\n                                                                                                                                                                                                                                                                                                           nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                    >\n                                                                                                                                                                                                                                                                                                      .some-key-1mzlono{color:hotpink;}\n                                                                                                                                                                                                                                                                                                    </style>\n                                                                                                                                                                                                                                                                                                    <div class=\"some-key-1mzlono\">\n                                                                                                                                                                                                                                                                                                      woah there\n                                                                                                                                                                                                                                                                                                      <span>\n                                                                                                                                                                                                                                                                                                        hello world\n                                                                                                                                                                                                                                                                                                      </span>\n                                                                                                                                                                                                                                                                                                      <style data-emotion=\"some-key bjhszk\"\n                                                                                                                                                                                                                                                                                                             nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                      >\n                                                                                                                                                                                                                                                                                                        .some-key-bjhszk{color:hotpink;}\n                                                                                                                                                                                                                                                                                                      </style>\n                                                                                                                                                                                                                                                                                                      <div class=\"some-key-bjhszk\">\n                                                                                                                                                                                                                                                                                                        woah there\n                                                                                                                                                                                                                                                                                                        <span>\n                                                                                                                                                                                                                                                                                                          hello world\n                                                                                                                                                                                                                                                                                                        </span>\n                                                                                                                                                                                                                                                                                                        <style data-emotion=\"some-key ja3cay\"\n                                                                                                                                                                                                                                                                                                               nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                        >\n                                                                                                                                                                                                                                                                                                          .some-key-ja3cay{color:hotpink;}\n                                                                                                                                                                                                                                                                                                        </style>\n                                                                                                                                                                                                                                                                                                        <div class=\"some-key-ja3cay\">\n                                                                                                                                                                                                                                                                                                          woah there\n                                                                                                                                                                                                                                                                                                          <span>\n                                                                                                                                                                                                                                                                                                            hello world\n                                                                                                                                                                                                                                                                                                          </span>\n                                                                                                                                                                                                                                                                                                          <style data-emotion=\"some-key 148np4p\"\n                                                                                                                                                                                                                                                                                                                 nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                          >\n                                                                                                                                                                                                                                                                                                            .some-key-148np4p{color:hotpink;}\n                                                                                                                                                                                                                                                                                                          </style>\n                                                                                                                                                                                                                                                                                                          <div class=\"some-key-148np4p\">\n                                                                                                                                                                                                                                                                                                            woah there\n                                                                                                                                                                                                                                                                                                            <span>\n                                                                                                                                                                                                                                                                                                              hello world\n                                                                                                                                                                                                                                                                                                            </span>\n                                                                                                                                                                                                                                                                                                            <style data-emotion=\"some-key f4eyff\"\n                                                                                                                                                                                                                                                                                                                   nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                            >\n                                                                                                                                                                                                                                                                                                              .some-key-f4eyff{color:hotpink;}\n                                                                                                                                                                                                                                                                                                            </style>\n                                                                                                                                                                                                                                                                                                            <div class=\"some-key-f4eyff\">\n                                                                                                                                                                                                                                                                                                              woah there\n                                                                                                                                                                                                                                                                                                              <span>\n                                                                                                                                                                                                                                                                                                                hello world\n                                                                                                                                                                                                                                                                                                              </span>\n                                                                                                                                                                                                                                                                                                              <style data-emotion=\"some-key 1rl24dh\"\n                                                                                                                                                                                                                                                                                                                     nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                              >\n                                                                                                                                                                                                                                                                                                                .some-key-1rl24dh{color:hotpink;}\n                                                                                                                                                                                                                                                                                                              </style>\n                                                                                                                                                                                                                                                                                                              <div class=\"some-key-1rl24dh\">\n                                                                                                                                                                                                                                                                                                                woah there\n                                                                                                                                                                                                                                                                                                                <span>\n                                                                                                                                                                                                                                                                                                                  hello world\n                                                                                                                                                                                                                                                                                                                </span>\n                                                                                                                                                                                                                                                                                                                <style data-emotion=\"some-key c5gtq4\"\n                                                                                                                                                                                                                                                                                                                       nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                >\n                                                                                                                                                                                                                                                                                                                  .some-key-c5gtq4{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                </style>\n                                                                                                                                                                                                                                                                                                                <div class=\"some-key-c5gtq4\">\n                                                                                                                                                                                                                                                                                                                  woah there\n                                                                                                                                                                                                                                                                                                                  <span>\n                                                                                                                                                                                                                                                                                                                    hello world\n                                                                                                                                                                                                                                                                                                                  </span>\n                                                                                                                                                                                                                                                                                                                  <style data-emotion=\"some-key zn3vlf\"\n                                                                                                                                                                                                                                                                                                                         nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                  >\n                                                                                                                                                                                                                                                                                                                    .some-key-zn3vlf{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                  </style>\n                                                                                                                                                                                                                                                                                                                  <div class=\"some-key-zn3vlf\">\n                                                                                                                                                                                                                                                                                                                    woah there\n                                                                                                                                                                                                                                                                                                                    <span>\n                                                                                                                                                                                                                                                                                                                      hello world\n                                                                                                                                                                                                                                                                                                                    </span>\n                                                                                                                                                                                                                                                                                                                    <style data-emotion=\"some-key 10y72es\"\n                                                                                                                                                                                                                                                                                                                           nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                    >\n                                                                                                                                                                                                                                                                                                                      .some-key-10y72es{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                    </style>\n                                                                                                                                                                                                                                                                                                                    <div class=\"some-key-10y72es\">\n                                                                                                                                                                                                                                                                                                                      woah there\n                                                                                                                                                                                                                                                                                                                      <span>\n                                                                                                                                                                                                                                                                                                                        hello world\n                                                                                                                                                                                                                                                                                                                      </span>\n                                                                                                                                                                                                                                                                                                                      <style data-emotion=\"some-key bm2jv1\"\n                                                                                                                                                                                                                                                                                                                             nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                      >\n                                                                                                                                                                                                                                                                                                                        .some-key-bm2jv1{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                      </style>\n                                                                                                                                                                                                                                                                                                                      <div class=\"some-key-bm2jv1\">\n                                                                                                                                                                                                                                                                                                                        woah there\n                                                                                                                                                                                                                                                                                                                        <span>\n                                                                                                                                                                                                                                                                                                                          hello world\n                                                                                                                                                                                                                                                                                                                        </span>\n                                                                                                                                                                                                                                                                                                                        <style data-emotion=\"some-key 11jkxwc\"\n                                                                                                                                                                                                                                                                                                                               nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                        >\n                                                                                                                                                                                                                                                                                                                          .some-key-11jkxwc{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                        </style>\n                                                                                                                                                                                                                                                                                                                        <div class=\"some-key-11jkxwc\">\n                                                                                                                                                                                                                                                                                                                          woah there\n                                                                                                                                                                                                                                                                                                                          <span>\n                                                                                                                                                                                                                                                                                                                            hello world\n                                                                                                                                                                                                                                                                                                                          </span>\n                                                                                                                                                                                                                                                                                                                          <style data-emotion=\"some-key 2u5nz5\"\n                                                                                                                                                                                                                                                                                                                                 nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                          >\n                                                                                                                                                                                                                                                                                                                            .some-key-2u5nz5{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                          </style>\n                                                                                                                                                                                                                                                                                                                          <div class=\"some-key-2u5nz5\">\n                                                                                                                                                                                                                                                                                                                            woah there\n                                                                                                                                                                                                                                                                                                                            <span>\n                                                                                                                                                                                                                                                                                                                              hello world\n                                                                                                                                                                                                                                                                                                                            </span>\n                                                                                                                                                                                                                                                                                                                            <style data-emotion=\"some-key a8aq2j\"\n                                                                                                                                                                                                                                                                                                                                   nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                            >\n                                                                                                                                                                                                                                                                                                                              .some-key-a8aq2j{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                            </style>\n                                                                                                                                                                                                                                                                                                                            <div class=\"some-key-a8aq2j\">\n                                                                                                                                                                                                                                                                                                                              woah there\n                                                                                                                                                                                                                                                                                                                              <span>\n                                                                                                                                                                                                                                                                                                                                hello world\n                                                                                                                                                                                                                                                                                                                              </span>\n                                                                                                                                                                                                                                                                                                                              <style data-emotion=\"some-key z8kcia\"\n                                                                                                                                                                                                                                                                                                                                     nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                              >\n                                                                                                                                                                                                                                                                                                                                .some-key-z8kcia{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                              </style>\n                                                                                                                                                                                                                                                                                                                              <div class=\"some-key-z8kcia\">\n                                                                                                                                                                                                                                                                                                                                woah there\n                                                                                                                                                                                                                                                                                                                                <span>\n                                                                                                                                                                                                                                                                                                                                  hello world\n                                                                                                                                                                                                                                                                                                                                </span>\n                                                                                                                                                                                                                                                                                                                                <style data-emotion=\"some-key 1df0hco\"\n                                                                                                                                                                                                                                                                                                                                       nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                >\n                                                                                                                                                                                                                                                                                                                                  .some-key-1df0hco{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                </style>\n                                                                                                                                                                                                                                                                                                                                <div class=\"some-key-1df0hco\">\n                                                                                                                                                                                                                                                                                                                                  woah there\n                                                                                                                                                                                                                                                                                                                                  <span>\n                                                                                                                                                                                                                                                                                                                                    hello world\n                                                                                                                                                                                                                                                                                                                                  </span>\n                                                                                                                                                                                                                                                                                                                                  <style data-emotion=\"some-key 11rstpz\"\n                                                                                                                                                                                                                                                                                                                                         nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                  >\n                                                                                                                                                                                                                                                                                                                                    .some-key-11rstpz{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                  </style>\n                                                                                                                                                                                                                                                                                                                                  <div class=\"some-key-11rstpz\">\n                                                                                                                                                                                                                                                                                                                                    woah there\n                                                                                                                                                                                                                                                                                                                                    <span>\n                                                                                                                                                                                                                                                                                                                                      hello world\n                                                                                                                                                                                                                                                                                                                                    </span>\n                                                                                                                                                                                                                                                                                                                                    <style data-emotion=\"some-key 1w071u6\"\n                                                                                                                                                                                                                                                                                                                                           nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                    >\n                                                                                                                                                                                                                                                                                                                                      .some-key-1w071u6{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                    </style>\n                                                                                                                                                                                                                                                                                                                                    <div class=\"some-key-1w071u6\">\n                                                                                                                                                                                                                                                                                                                                      woah there\n                                                                                                                                                                                                                                                                                                                                      <span>\n                                                                                                                                                                                                                                                                                                                                        hello world\n                                                                                                                                                                                                                                                                                                                                      </span>\n                                                                                                                                                                                                                                                                                                                                      <style data-emotion=\"some-key 1luo8x6\"\n                                                                                                                                                                                                                                                                                                                                             nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                      >\n                                                                                                                                                                                                                                                                                                                                        .some-key-1luo8x6{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                      </style>\n                                                                                                                                                                                                                                                                                                                                      <div class=\"some-key-1luo8x6\">\n                                                                                                                                                                                                                                                                                                                                        woah there\n                                                                                                                                                                                                                                                                                                                                        <span>\n                                                                                                                                                                                                                                                                                                                                          hello world\n                                                                                                                                                                                                                                                                                                                                        </span>\n                                                                                                                                                                                                                                                                                                                                        <style data-emotion=\"some-key 1ts80l8\"\n                                                                                                                                                                                                                                                                                                                                               nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                        >\n                                                                                                                                                                                                                                                                                                                                          .some-key-1ts80l8{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                        </style>\n                                                                                                                                                                                                                                                                                                                                        <div class=\"some-key-1ts80l8\">\n                                                                                                                                                                                                                                                                                                                                          woah there\n                                                                                                                                                                                                                                                                                                                                          <span>\n                                                                                                                                                                                                                                                                                                                                            hello world\n                                                                                                                                                                                                                                                                                                                                          </span>\n                                                                                                                                                                                                                                                                                                                                          <style data-emotion=\"some-key duffth\"\n                                                                                                                                                                                                                                                                                                                                                 nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                          >\n                                                                                                                                                                                                                                                                                                                                            .some-key-duffth{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                          </style>\n                                                                                                                                                                                                                                                                                                                                          <div class=\"some-key-duffth\">\n                                                                                                                                                                                                                                                                                                                                            woah there\n                                                                                                                                                                                                                                                                                                                                            <span>\n                                                                                                                                                                                                                                                                                                                                              hello world\n                                                                                                                                                                                                                                                                                                                                            </span>\n                                                                                                                                                                                                                                                                                                                                            <style data-emotion=\"some-key tt1okc\"\n                                                                                                                                                                                                                                                                                                                                                   nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                            >\n                                                                                                                                                                                                                                                                                                                                              .some-key-tt1okc{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                            </style>\n                                                                                                                                                                                                                                                                                                                                            <div class=\"some-key-tt1okc\">\n                                                                                                                                                                                                                                                                                                                                              woah there\n                                                                                                                                                                                                                                                                                                                                              <span>\n                                                                                                                                                                                                                                                                                                                                                hello world\n                                                                                                                                                                                                                                                                                                                                              </span>\n                                                                                                                                                                                                                                                                                                                                              <style data-emotion=\"some-key tax4hg\"\n                                                                                                                                                                                                                                                                                                                                                     nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                              >\n                                                                                                                                                                                                                                                                                                                                                .some-key-tax4hg{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                              </style>\n                                                                                                                                                                                                                                                                                                                                              <div class=\"some-key-tax4hg\">\n                                                                                                                                                                                                                                                                                                                                                woah there\n                                                                                                                                                                                                                                                                                                                                                <span>\n                                                                                                                                                                                                                                                                                                                                                  hello world\n                                                                                                                                                                                                                                                                                                                                                </span>\n                                                                                                                                                                                                                                                                                                                                                <style data-emotion=\"some-key 1k8drt4\"\n                                                                                                                                                                                                                                                                                                                                                       nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                                >\n                                                                                                                                                                                                                                                                                                                                                  .some-key-1k8drt4{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                                </style>\n                                                                                                                                                                                                                                                                                                                                                <div class=\"some-key-1k8drt4\">\n                                                                                                                                                                                                                                                                                                                                                  woah there\n                                                                                                                                                                                                                                                                                                                                                  <span>\n                                                                                                                                                                                                                                                                                                                                                    hello world\n                                                                                                                                                                                                                                                                                                                                                  </span>\n                                                                                                                                                                                                                                                                                                                                                  <style data-emotion=\"some-key qfe6wx\"\n                                                                                                                                                                                                                                                                                                                                                         nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                                  >\n                                                                                                                                                                                                                                                                                                                                                    .some-key-qfe6wx{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                                  </style>\n                                                                                                                                                                                                                                                                                                                                                  <div class=\"some-key-qfe6wx\">\n                                                                                                                                                                                                                                                                                                                                                    woah there\n                                                                                                                                                                                                                                                                                                                                                    <span>\n                                                                                                                                                                                                                                                                                                                                                      hello world\n                                                                                                                                                                                                                                                                                                                                                    </span>\n                                                                                                                                                                                                                                                                                                                                                    <style data-emotion=\"some-key jhchv1\"\n                                                                                                                                                                                                                                                                                                                                                           nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                                    >\n                                                                                                                                                                                                                                                                                                                                                      .some-key-jhchv1{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                                    </style>\n                                                                                                                                                                                                                                                                                                                                                    <div class=\"some-key-jhchv1\">\n                                                                                                                                                                                                                                                                                                                                                      woah there\n                                                                                                                                                                                                                                                                                                                                                      <span>\n                                                                                                                                                                                                                                                                                                                                                        hello world\n                                                                                                                                                                                                                                                                                                                                                      </span>\n                                                                                                                                                                                                                                                                                                                                                      <style data-emotion=\"some-key 1soonbp\"\n                                                                                                                                                                                                                                                                                                                                                             nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                                      >\n                                                                                                                                                                                                                                                                                                                                                        .some-key-1soonbp{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                                      </style>\n                                                                                                                                                                                                                                                                                                                                                      <div class=\"some-key-1soonbp\">\n                                                                                                                                                                                                                                                                                                                                                        woah there\n                                                                                                                                                                                                                                                                                                                                                        <span>\n                                                                                                                                                                                                                                                                                                                                                          hello world\n                                                                                                                                                                                                                                                                                                                                                        </span>\n                                                                                                                                                                                                                                                                                                                                                        <style data-emotion=\"some-key 1vibp0n\"\n                                                                                                                                                                                                                                                                                                                                                               nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                                        >\n                                                                                                                                                                                                                                                                                                                                                          .some-key-1vibp0n{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                                        </style>\n                                                                                                                                                                                                                                                                                                                                                        <div class=\"some-key-1vibp0n\">\n                                                                                                                                                                                                                                                                                                                                                          woah there\n                                                                                                                                                                                                                                                                                                                                                          <span>\n                                                                                                                                                                                                                                                                                                                                                            hello world\n                                                                                                                                                                                                                                                                                                                                                          </span>\n                                                                                                                                                                                                                                                                                                                                                          <style data-emotion=\"some-key 13a4u4g\"\n                                                                                                                                                                                                                                                                                                                                                                 nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                                          >\n                                                                                                                                                                                                                                                                                                                                                            .some-key-13a4u4g{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                                          </style>\n                                                                                                                                                                                                                                                                                                                                                          <div class=\"some-key-13a4u4g\">\n                                                                                                                                                                                                                                                                                                                                                            woah there\n                                                                                                                                                                                                                                                                                                                                                            <span>\n                                                                                                                                                                                                                                                                                                                                                              hello world\n                                                                                                                                                                                                                                                                                                                                                            </span>\n                                                                                                                                                                                                                                                                                                                                                            <style data-emotion=\"some-key 99b9o6\"\n                                                                                                                                                                                                                                                                                                                                                                   nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                                            >\n                                                                                                                                                                                                                                                                                                                                                              .some-key-99b9o6{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                                            </style>\n                                                                                                                                                                                                                                                                                                                                                            <div class=\"some-key-99b9o6\">\n                                                                                                                                                                                                                                                                                                                                                              woah there\n                                                                                                                                                                                                                                                                                                                                                              <span>\n                                                                                                                                                                                                                                                                                                                                                                hello world\n                                                                                                                                                                                                                                                                                                                                                              </span>\n                                                                                                                                                                                                                                                                                                                                                              <style data-emotion=\"some-key mccdz6\"\n                                                                                                                                                                                                                                                                                                                                                                     nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                                              >\n                                                                                                                                                                                                                                                                                                                                                                .some-key-mccdz6{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                                              </style>\n                                                                                                                                                                                                                                                                                                                                                              <div class=\"some-key-mccdz6\">\n                                                                                                                                                                                                                                                                                                                                                                woah there\n                                                                                                                                                                                                                                                                                                                                                                <span>\n                                                                                                                                                                                                                                                                                                                                                                  hello world\n                                                                                                                                                                                                                                                                                                                                                                </span>\n                                                                                                                                                                                                                                                                                                                                                                <style data-emotion=\"some-key vh0ult\"\n                                                                                                                                                                                                                                                                                                                                                                       nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                                                >\n                                                                                                                                                                                                                                                                                                                                                                  .some-key-vh0ult{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                                                </style>\n                                                                                                                                                                                                                                                                                                                                                                <div class=\"some-key-vh0ult\">\n                                                                                                                                                                                                                                                                                                                                                                  woah there\n                                                                                                                                                                                                                                                                                                                                                                  <span>\n                                                                                                                                                                                                                                                                                                                                                                    hello world\n                                                                                                                                                                                                                                                                                                                                                                  </span>\n                                                                                                                                                                                                                                                                                                                                                                  <style data-emotion=\"some-key 1jkc31r\"\n                                                                                                                                                                                                                                                                                                                                                                         nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                                                  >\n                                                                                                                                                                                                                                                                                                                                                                    .some-key-1jkc31r{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                                                  </style>\n                                                                                                                                                                                                                                                                                                                                                                  <div class=\"some-key-1jkc31r\">\n                                                                                                                                                                                                                                                                                                                                                                    woah there\n                                                                                                                                                                                                                                                                                                                                                                    <span>\n                                                                                                                                                                                                                                                                                                                                                                      hello world\n                                                                                                                                                                                                                                                                                                                                                                    </span>\n                                                                                                                                                                                                                                                                                                                                                                    <style data-emotion=\"some-key a00fqn\"\n                                                                                                                                                                                                                                                                                                                                                                           nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                                                    >\n                                                                                                                                                                                                                                                                                                                                                                      .some-key-a00fqn{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                                                    </style>\n                                                                                                                                                                                                                                                                                                                                                                    <div class=\"some-key-a00fqn\">\n                                                                                                                                                                                                                                                                                                                                                                      woah there\n                                                                                                                                                                                                                                                                                                                                                                      <span>\n                                                                                                                                                                                                                                                                                                                                                                        hello world\n                                                                                                                                                                                                                                                                                                                                                                      </span>\n                                                                                                                                                                                                                                                                                                                                                                      <style data-emotion=\"some-key jkplpw\"\n                                                                                                                                                                                                                                                                                                                                                                             nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                                                      >\n                                                                                                                                                                                                                                                                                                                                                                        .some-key-jkplpw{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                                                      </style>\n                                                                                                                                                                                                                                                                                                                                                                      <div class=\"some-key-jkplpw\">\n                                                                                                                                                                                                                                                                                                                                                                        woah there\n                                                                                                                                                                                                                                                                                                                                                                        <span>\n                                                                                                                                                                                                                                                                                                                                                                          hello world\n                                                                                                                                                                                                                                                                                                                                                                        </span>\n                                                                                                                                                                                                                                                                                                                                                                        <style data-emotion=\"some-key 10sw1k2\"\n                                                                                                                                                                                                                                                                                                                                                                               nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                                                        >\n                                                                                                                                                                                                                                                                                                                                                                          .some-key-10sw1k2{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                                                        </style>\n                                                                                                                                                                                                                                                                                                                                                                        <div class=\"some-key-10sw1k2\">\n                                                                                                                                                                                                                                                                                                                                                                          woah there\n                                                                                                                                                                                                                                                                                                                                                                          <span>\n                                                                                                                                                                                                                                                                                                                                                                            hello world\n                                                                                                                                                                                                                                                                                                                                                                          </span>\n                                                                                                                                                                                                                                                                                                                                                                          <style data-emotion=\"some-key gs8wd6\"\n                                                                                                                                                                                                                                                                                                                                                                                 nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                                                          >\n                                                                                                                                                                                                                                                                                                                                                                            .some-key-gs8wd6{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                                                          </style>\n                                                                                                                                                                                                                                                                                                                                                                          <div class=\"some-key-gs8wd6\">\n                                                                                                                                                                                                                                                                                                                                                                            woah there\n                                                                                                                                                                                                                                                                                                                                                                            <span>\n                                                                                                                                                                                                                                                                                                                                                                              hello world\n                                                                                                                                                                                                                                                                                                                                                                            </span>\n                                                                                                                                                                                                                                                                                                                                                                            <style data-emotion=\"some-key 1kgu7pf\"\n                                                                                                                                                                                                                                                                                                                                                                                   nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                                                            >\n                                                                                                                                                                                                                                                                                                                                                                              .some-key-1kgu7pf{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                                                            </style>\n                                                                                                                                                                                                                                                                                                                                                                            <div class=\"some-key-1kgu7pf\">\n                                                                                                                                                                                                                                                                                                                                                                              woah there\n                                                                                                                                                                                                                                                                                                                                                                              <span>\n                                                                                                                                                                                                                                                                                                                                                                                hello world\n                                                                                                                                                                                                                                                                                                                                                                              </span>\n                                                                                                                                                                                                                                                                                                                                                                              <style data-emotion=\"some-key abzsl4\"\n                                                                                                                                                                                                                                                                                                                                                                                     nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                                                              >\n                                                                                                                                                                                                                                                                                                                                                                                .some-key-abzsl4{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                                                              </style>\n                                                                                                                                                                                                                                                                                                                                                                              <div class=\"some-key-abzsl4\">\n                                                                                                                                                                                                                                                                                                                                                                                woah there\n                                                                                                                                                                                                                                                                                                                                                                                <span>\n                                                                                                                                                                                                                                                                                                                                                                                  hello world\n                                                                                                                                                                                                                                                                                                                                                                                </span>\n                                                                                                                                                                                                                                                                                                                                                                                <style data-emotion=\"some-key 1k6hdda\"\n                                                                                                                                                                                                                                                                                                                                                                                       nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                                                                >\n                                                                                                                                                                                                                                                                                                                                                                                  .some-key-1k6hdda{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                                                                </style>\n                                                                                                                                                                                                                                                                                                                                                                                <div class=\"some-key-1k6hdda\">\n                                                                                                                                                                                                                                                                                                                                                                                  woah there\n                                                                                                                                                                                                                                                                                                                                                                                  <span>\n                                                                                                                                                                                                                                                                                                                                                                                    hello world\n                                                                                                                                                                                                                                                                                                                                                                                  </span>\n                                                                                                                                                                                                                                                                                                                                                                                  <style data-emotion=\"some-key 9gkufl\"\n                                                                                                                                                                                                                                                                                                                                                                                         nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                                                                  >\n                                                                                                                                                                                                                                                                                                                                                                                    .some-key-9gkufl{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                                                                  </style>\n                                                                                                                                                                                                                                                                                                                                                                                  <div class=\"some-key-9gkufl\">\n                                                                                                                                                                                                                                                                                                                                                                                    woah there\n                                                                                                                                                                                                                                                                                                                                                                                    <span>\n                                                                                                                                                                                                                                                                                                                                                                                      hello world\n                                                                                                                                                                                                                                                                                                                                                                                    </span>\n                                                                                                                                                                                                                                                                                                                                                                                    <style data-emotion=\"some-key 1ewesh6\"\n                                                                                                                                                                                                                                                                                                                                                                                           nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                                                                    >\n                                                                                                                                                                                                                                                                                                                                                                                      .some-key-1ewesh6{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                                                                    </style>\n                                                                                                                                                                                                                                                                                                                                                                                    <div class=\"some-key-1ewesh6\">\n                                                                                                                                                                                                                                                                                                                                                                                      woah there\n                                                                                                                                                                                                                                                                                                                                                                                      <span>\n                                                                                                                                                                                                                                                                                                                                                                                        hello world\n                                                                                                                                                                                                                                                                                                                                                                                      </span>\n                                                                                                                                                                                                                                                                                                                                                                                      <style data-emotion=\"some-key 9e7j34\"\n                                                                                                                                                                                                                                                                                                                                                                                             nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                                                                      >\n                                                                                                                                                                                                                                                                                                                                                                                        .some-key-9e7j34{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                                                                      </style>\n                                                                                                                                                                                                                                                                                                                                                                                      <div class=\"some-key-9e7j34\">\n                                                                                                                                                                                                                                                                                                                                                                                        woah there\n                                                                                                                                                                                                                                                                                                                                                                                        <span>\n                                                                                                                                                                                                                                                                                                                                                                                          hello world\n                                                                                                                                                                                                                                                                                                                                                                                        </span>\n                                                                                                                                                                                                                                                                                                                                                                                        <style data-emotion=\"some-key 1ta3m3l\"\n                                                                                                                                                                                                                                                                                                                                                                                               nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                                                                        >\n                                                                                                                                                                                                                                                                                                                                                                                          .some-key-1ta3m3l{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                                                                        </style>\n                                                                                                                                                                                                                                                                                                                                                                                        <div class=\"some-key-1ta3m3l\">\n                                                                                                                                                                                                                                                                                                                                                                                          woah there\n                                                                                                                                                                                                                                                                                                                                                                                          <span>\n                                                                                                                                                                                                                                                                                                                                                                                            hello world\n                                                                                                                                                                                                                                                                                                                                                                                          </span>\n                                                                                                                                                                                                                                                                                                                                                                                          <style data-emotion=\"some-key mke1vr\"\n                                                                                                                                                                                                                                                                                                                                                                                                 nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                                                                          >\n                                                                                                                                                                                                                                                                                                                                                                                            .some-key-mke1vr{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                                                                          </style>\n                                                                                                                                                                                                                                                                                                                                                                                          <div class=\"some-key-mke1vr\">\n                                                                                                                                                                                                                                                                                                                                                                                            woah there\n                                                                                                                                                                                                                                                                                                                                                                                            <span>\n                                                                                                                                                                                                                                                                                                                                                                                              hello world\n                                                                                                                                                                                                                                                                                                                                                                                            </span>\n                                                                                                                                                                                                                                                                                                                                                                                            <style data-emotion=\"some-key 138g2ic\"\n                                                                                                                                                                                                                                                                                                                                                                                                   nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                                                                            >\n                                                                                                                                                                                                                                                                                                                                                                                              .some-key-138g2ic{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                                                                            </style>\n                                                                                                                                                                                                                                                                                                                                                                                            <div class=\"some-key-138g2ic\">\n                                                                                                                                                                                                                                                                                                                                                                                              woah there\n                                                                                                                                                                                                                                                                                                                                                                                              <span>\n                                                                                                                                                                                                                                                                                                                                                                                                hello world\n                                                                                                                                                                                                                                                                                                                                                                                              </span>\n                                                                                                                                                                                                                                                                                                                                                                                              <style data-emotion=\"some-key 1ambdpy\"\n                                                                                                                                                                                                                                                                                                                                                                                                     nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                                                                              >\n                                                                                                                                                                                                                                                                                                                                                                                                .some-key-1ambdpy{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                                                                              </style>\n                                                                                                                                                                                                                                                                                                                                                                                              <div class=\"some-key-1ambdpy\">\n                                                                                                                                                                                                                                                                                                                                                                                                woah there\n                                                                                                                                                                                                                                                                                                                                                                                                <span>\n                                                                                                                                                                                                                                                                                                                                                                                                  hello world\n                                                                                                                                                                                                                                                                                                                                                                                                </span>\n                                                                                                                                                                                                                                                                                                                                                                                                <style data-emotion=\"some-key 36wzef\"\n                                                                                                                                                                                                                                                                                                                                                                                                       nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                                                                                >\n                                                                                                                                                                                                                                                                                                                                                                                                  .some-key-36wzef{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                                                                                </style>\n                                                                                                                                                                                                                                                                                                                                                                                                <div class=\"some-key-36wzef\">\n                                                                                                                                                                                                                                                                                                                                                                                                  woah there\n                                                                                                                                                                                                                                                                                                                                                                                                  <span>\n                                                                                                                                                                                                                                                                                                                                                                                                    hello world\n                                                                                                                                                                                                                                                                                                                                                                                                  </span>\n                                                                                                                                                                                                                                                                                                                                                                                                  <style data-emotion=\"some-key 1vluzwd\"\n                                                                                                                                                                                                                                                                                                                                                                                                         nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                                                                                  >\n                                                                                                                                                                                                                                                                                                                                                                                                    .some-key-1vluzwd{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                                                                                  </style>\n                                                                                                                                                                                                                                                                                                                                                                                                  <div class=\"some-key-1vluzwd\">\n                                                                                                                                                                                                                                                                                                                                                                                                    woah there\n                                                                                                                                                                                                                                                                                                                                                                                                    <span>\n                                                                                                                                                                                                                                                                                                                                                                                                      hello world\n                                                                                                                                                                                                                                                                                                                                                                                                    </span>\n                                                                                                                                                                                                                                                                                                                                                                                                    <style data-emotion=\"some-key 1o5nzp5\"\n                                                                                                                                                                                                                                                                                                                                                                                                           nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                                                                                    >\n                                                                                                                                                                                                                                                                                                                                                                                                      .some-key-1o5nzp5{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                                                                                    </style>\n                                                                                                                                                                                                                                                                                                                                                                                                    <div class=\"some-key-1o5nzp5\">\n                                                                                                                                                                                                                                                                                                                                                                                                      woah there\n                                                                                                                                                                                                                                                                                                                                                                                                      <span>\n                                                                                                                                                                                                                                                                                                                                                                                                        hello world\n                                                                                                                                                                                                                                                                                                                                                                                                      </span>\n                                                                                                                                                                                                                                                                                                                                                                                                      <style data-emotion=\"some-key xnoh5a\"\n                                                                                                                                                                                                                                                                                                                                                                                                             nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                                                                                      >\n                                                                                                                                                                                                                                                                                                                                                                                                        .some-key-xnoh5a{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                                                                                      </style>\n                                                                                                                                                                                                                                                                                                                                                                                                      <div class=\"some-key-xnoh5a\">\n                                                                                                                                                                                                                                                                                                                                                                                                        woah there\n                                                                                                                                                                                                                                                                                                                                                                                                        <span>\n                                                                                                                                                                                                                                                                                                                                                                                                          hello world\n                                                                                                                                                                                                                                                                                                                                                                                                        </span>\n                                                                                                                                                                                                                                                                                                                                                                                                        <style data-emotion=\"some-key 1gl3nb5\"\n                                                                                                                                                                                                                                                                                                                                                                                                               nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                                                                                        >\n                                                                                                                                                                                                                                                                                                                                                                                                          .some-key-1gl3nb5{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                                                                                        </style>\n                                                                                                                                                                                                                                                                                                                                                                                                        <div class=\"some-key-1gl3nb5\">\n                                                                                                                                                                                                                                                                                                                                                                                                          woah there\n                                                                                                                                                                                                                                                                                                                                                                                                          <span>\n                                                                                                                                                                                                                                                                                                                                                                                                            hello world\n                                                                                                                                                                                                                                                                                                                                                                                                          </span>\n                                                                                                                                                                                                                                                                                                                                                                                                          <style data-emotion=\"some-key 1etkgh2\"\n                                                                                                                                                                                                                                                                                                                                                                                                                 nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                                                                                          >\n                                                                                                                                                                                                                                                                                                                                                                                                            .some-key-1etkgh2{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                                                                                          </style>\n                                                                                                                                                                                                                                                                                                                                                                                                          <div class=\"some-key-1etkgh2\">\n                                                                                                                                                                                                                                                                                                                                                                                                            woah there\n                                                                                                                                                                                                                                                                                                                                                                                                            <span>\n                                                                                                                                                                                                                                                                                                                                                                                                              hello world\n                                                                                                                                                                                                                                                                                                                                                                                                            </span>\n                                                                                                                                                                                                                                                                                                                                                                                                            <style data-emotion=\"some-key 191jeup\"\n                                                                                                                                                                                                                                                                                                                                                                                                                   nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                                                                                            >\n                                                                                                                                                                                                                                                                                                                                                                                                              .some-key-191jeup{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                                                                                            </style>\n                                                                                                                                                                                                                                                                                                                                                                                                            <div class=\"some-key-191jeup\">\n                                                                                                                                                                                                                                                                                                                                                                                                              woah there\n                                                                                                                                                                                                                                                                                                                                                                                                              <span>\n                                                                                                                                                                                                                                                                                                                                                                                                                hello world\n                                                                                                                                                                                                                                                                                                                                                                                                              </span>\n                                                                                                                                                                                                                                                                                                                                                                                                              <style data-emotion=\"some-key 1wes8i6\"\n                                                                                                                                                                                                                                                                                                                                                                                                                     nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                                                                                              >\n                                                                                                                                                                                                                                                                                                                                                                                                                .some-key-1wes8i6{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                                                                                              </style>\n                                                                                                                                                                                                                                                                                                                                                                                                              <div class=\"some-key-1wes8i6\">\n                                                                                                                                                                                                                                                                                                                                                                                                                woah there\n                                                                                                                                                                                                                                                                                                                                                                                                                <span>\n                                                                                                                                                                                                                                                                                                                                                                                                                  hello world\n                                                                                                                                                                                                                                                                                                                                                                                                                </span>\n                                                                                                                                                                                                                                                                                                                                                                                                              </div>\n                                                                                                                                                                                                                                                                                                                                                                                                            </div>\n                                                                                                                                                                                                                                                                                                                                                                                                          </div>\n                                                                                                                                                                                                                                                                                                                                                                                                        </div>\n                                                                                                                                                                                                                                                                                                                                                                                                      </div>\n                                                                                                                                                                                                                                                                                                                                                                                                    </div>\n                                                                                                                                                                                                                                                                                                                                                                                                  </div>\n                                                                                                                                                                                                                                                                                                                                                                                                </div>\n                                                                                                                                                                                                                                                                                                                                                                                              </div>\n                                                                                                                                                                                                                                                                                                                                                                                            </div>\n                                                                                                                                                                                                                                                                                                                                                                                          </div>\n                                                                                                                                                                                                                                                                                                                                                                                        </div>\n                                                                                                                                                                                                                                                                                                                                                                                      </div>\n                                                                                                                                                                                                                                                                                                                                                                                    </div>\n                                                                                                                                                                                                                                                                                                                                                                                  </div>\n                                                                                                                                                                                                                                                                                                                                                                                </div>\n                                                                                                                                                                                                                                                                                                                                                                              </div>\n                                                                                                                                                                                                                                                                                                                                                                            </div>\n                                                                                                                                                                                                                                                                                                                                                                          </div>\n                                                                                                                                                                                                                                                                                                                                                                        </div>\n                                                                                                                                                                                                                                                                                                                                                                      </div>\n                                                                                                                                                                                                                                                                                                                                                                    </div>\n                                                                                                                                                                                                                                                                                                                                                                  </div>\n                                                                                                                                                                                                                                                                                                                                                                </div>\n                                                                                                                                                                                                                                                                                                                                                              </div>\n                                                                                                                                                                                                                                                                                                                                                            </div>\n                                                                                                                                                                                                                                                                                                                                                          </div>\n                                                                                                                                                                                                                                                                                                                                                        </div>\n                                                                                                                                                                                                                                                                                                                                                      </div>\n                                                                                                                                                                                                                                                                                                                                                    </div>\n                                                                                                                                                                                                                                                                                                                                                  </div>\n                                                                                                                                                                                                                                                                                                                                                </div>\n                                                                                                                                                                                                                                                                                                                                              </div>\n                                                                                                                                                                                                                                                                                                                                            </div>\n                                                                                                                                                                                                                                                                                                                                          </div>\n                                                                                                                                                                                                                                                                                                                                        </div>\n                                                                                                                                                                                                                                                                                                                                      </div>\n                                                                                                                                                                                                                                                                                                                                    </div>\n                                                                                                                                                                                                                                                                                                                                  </div>\n                                                                                                                                                                                                                                                                                                                                </div>\n                                                                                                                                                                                                                                                                                                                              </div>\n                                                                                                                                                                                                                                                                                                                            </div>\n                                                                                                                                                                                                                                                                                                                          </div>\n                                                                                                                                                                                                                                                                                                                        </div>\n                                                                                                                                                                                                                                                                                                                      </div>\n                                                                                                                                                                                                                                                                                                                    </div>\n                                                                                                                                                                                                                                                                                                                  </div>\n                                                                                                                                                                                                                                                                                                                </div>\n                                                                                                                                                                                                                                                                                                              </div>\n                                                                                                                                                                                                                                                                                                            </div>\n                                                                                                                                                                                                                                                                                                          </div>\n                                                                                                                                                                                                                                                                                                        </div>\n                                                                                                                                                                                                                                                                                                      </div>\n                                                                                                                                                                                                                                                                                                    </div>\n                                                                                                                                                                                                                                                                                                  </div>\n                                                                                                                                                                                                                                                                                                </div>\n                                                                                                                                                                                                                                                                                              </div>\n                                                                                                                                                                                                                                                                                            </div>\n                                                                                                                                                                                                                                                                                          </div>\n                                                                                                                                                                                                                                                                                        </div>\n                                                                                                                                                                                                                                                                                      </div>\n                                                                                                                                                                                                                                                                                    </div>\n                                                                                                                                                                                                                                                                                  </div>\n                                                                                                                                                                                                                                                                                </div>\n                                                                                                                                                                                                                                                                              </div>\n                                                                                                                                                                                                                                                                            </div>\n                                                                                                                                                                                                                                                                          </div>\n                                                                                                                                                                                                                                                                        </div>\n                                                                                                                                                                                                                                                                      </div>\n                                                                                                                                                                                                                                                                    </div>\n                                                                                                                                                                                                                                                                  </div>\n                                                                                                                                                                                                                                                                </div>\n                                                                                                                                                                                                                                                              </div>\n                                                                                                                                                                                                                                                            </div>\n                                                                                                                                                                                                                                                          </div>\n                                                                                                                                                                                                                                                        </div>\n                                                                                                                                                                                                                                                      </div>\n                                                                                                                                                                                                                                                    </div>\n                                                                                                                                                                                                                                                  </div>\n                                                                                                                                                                                                                                                </div>\n                                                                                                                                                                                                                                              </div>\n                                                                                                                                                                                                                                            </div>\n                                                                                                                                                                                                                                          </div>\n                                                                                                                                                                                                                                        </div>\n                                                                                                                                                                                                                                      </div>\n                                                                                                                                                                                                                                    </div>\n                                                                                                                                                                                                                                  </div>\n                                                                                                                                                                                                                                </div>\n                                                                                                                                                                                                                              </div>\n                                                                                                                                                                                                                            </div>\n                                                                                                                                                                                                                          </div>\n                                                                                                                                                                                                                        </div>\n                                                                                                                                                                                                                      </div>\n                                                                                                                                                                                                                    </div>\n                                                                                                                                                                                                                  </div>\n                                                                                                                                                                                                                </div>\n                                                                                                                                                                                                              </div>\n                                                                                                                                                                                                            </div>\n                                                                                                                                                                                                          </div>\n                                                                                                                                                                                                        </div>\n                                                                                                                                                                                                      </div>\n                                                                                                                                                                                                    </div>\n                                                                                                                                                                                                  </div>\n                                                                                                                                                                                                </div>\n                                                                                                                                                                                              </div>\n                                                                                                                                                                                            </div>\n                                                                                                                                                                                          </div>\n                                                                                                                                                                                        </div>\n                                                                                                                                                                                      </div>\n                                                                                                                                                                                    </div>\n                                                                                                                                                                                  </div>\n                                                                                                                                                                                </div>\n                                                                                                                                                                              </div>\n                                                                                                                                                                            </div>\n                                                                                                                                                                          </div>\n                                                                                                                                                                        </div>\n                                                                                                                                                                      </div>\n                                                                                                                                                                    </div>\n                                                                                                                                                                  </div>\n                                                                                                                                                                </div>\n                                                                                                                                                              </div>\n                                                                                                                                                            </div>\n                                                                                                                                                          </div>\n                                                                                                                                                        </div>\n                                                                                                                                                      </div>\n                                                                                                                                                    </div>\n                                                                                                                                                  </div>\n                                                                                                                                                </div>\n                                                                                                                                              </div>\n                                                                                                                                            </div>\n                                                                                                                                          </div>\n                                                                                                                                        </div>\n                                                                                                                                      </div>\n                                                                                                                                    </div>\n                                                                                                                                  </div>\n                                                                                                                                </div>\n                                                                                                                              </div>\n                                                                                                                            </div>\n                                                                                                                          </div>\n                                                                                                                        </div>\n                                                                                                                      </div>\n                                                                                                                    </div>\n                                                                                                                  </div>\n                                                                                                                </div>\n                                                                                                              </div>\n                                                                                                            </div>\n                                                                                                          </div>\n                                                                                                        </div>\n                                                                                                      </div>\n                                                                                                    </div>\n                                                                                                  </div>\n                                                                                                </div>\n                                                                                              </div>\n                                                                                            </div>\n                                                                                          </div>\n                                                                                        </div>\n                                                                                      </div>\n                                                                                    </div>\n                                                                                  </div>\n                                                                                </div>\n                                                                              </div>\n                                                                            </div>\n                                                                          </div>\n                                                                        </div>\n                                                                      </div>\n                                                                    </div>\n                                                                  </div>\n                                                                </div>\n                                                              </div>\n                                                            </div>\n                                                          </div>\n                                                        </div>\n                                                      </div>\n                                                    </div>\n                                                  </div>\n                                                </div>\n                                              </div>\n                                            </div>\n                                          </div>\n                                        </div>\n                                      </div>\n                                    </div>\n                                  </div>\n                                </div>\n                              </div>\n                            </div>\n                          </div>\n                        </div>\n                      </div>\n                    </div>\n                  </div>\n                </div>\n              </div>\n            </div>\n          </div>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n`;\n\nexports[`renderStylesToString renders styles with ids 1`] = `\n<style data-emotion=\"some-key 1uqawbr i9f7qw-bounce 1nhdffy\"\n       nonce=\"some-nonce\"\n>\n  @font-face{font-family:'Patrick Hand SC';font-style:normal;font-weight:400;src:local('Patrick Hand SC'),local('PatrickHandSC-Regular'),url(https://fonts.gstatic.com/s/patrickhandsc/v4/OYFWCgfCR-7uHIovjUZXsZ71Uis0Qeb9Gqo8IZV7ckE.woff2) format('woff2');unicode-range:U+0100-024f,U+1-1eff,U+20a0-20ab,U+20ad-20cf,U+2c60-2c7f,U+A720-A7FF;}@keyframes animation-i9f7qw-bounce{from,20%,53%,80%,to{animation-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transform:translate3d(0, 0, 0);}40%,43%{animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);transform:translate3d(0, -30px, 0);}70%{animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);transform:translate3d(0, -15px, 0);}90%{transform:translate3d(0, -4px, 0);}}.no-prefix{display:flex;justify-content:center;}\n</style>\n<style data-emotion=\"some-key fgjrlg-hoverStyles-Something_Main\"\n       nonce=\"some-nonce\"\n>\n  .some-key-fgjrlg-hoverStyles-Something_Main{color:hotpink;display:flex;}.some-key-fgjrlg-hoverStyles-Something_Main:hover{color:hotpink;background-color:lightgray;border-color:aqua;box-shadow:-15px -15px 0 0 aqua,-30px -30px 0 0 cornflowerblue;}\n</style>\n<main class=\"some-key-fgjrlg-hoverStyles-Something_Main\">\n  <style data-emotion=\"some-key 1h1w8ez-Image\"\n         nonce=\"some-nonce\"\n  >\n    .some-key-1h1w8ez-Image{animation:animation-i9f7qw-bounce;border-radius:50%;height:50px;width:50px;background-color:red;}\n  </style>\n  <img size=\"30\"\n       class=\"some-key-1h1w8ez-Image\"\n  >\n  <img size=\"100\"\n       class=\"some-key-1h1w8ez-Image\"\n  >\n  <img class=\"some-key-1h1w8ez-Image\">\n</main>\n`;\n\nexports[`renderStylesToString renders styles with ids 2`] = `\n<style data-emotion=\"some-key 1uqawbr i9f7qw-bounce 1nhdffy\"\n       nonce=\"some-nonce\"\n>\n  @font-face{font-family:'Patrick Hand SC';font-style:normal;font-weight:400;src:local('Patrick Hand SC'),local('PatrickHandSC-Regular'),url(https://fonts.gstatic.com/s/patrickhandsc/v4/OYFWCgfCR-7uHIovjUZXsZ71Uis0Qeb9Gqo8IZV7ckE.woff2) format('woff2');unicode-range:U+0100-024f,U+1-1eff,U+20a0-20ab,U+20ad-20cf,U+2c60-2c7f,U+A720-A7FF;}@keyframes animation-i9f7qw-bounce{from,20%,53%,80%,to{animation-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transform:translate3d(0, 0, 0);}40%,43%{animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);transform:translate3d(0, -30px, 0);}70%{animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);transform:translate3d(0, -15px, 0);}90%{transform:translate3d(0, -4px, 0);}}.no-prefix{display:flex;justify-content:center;}\n</style>\n<style data-emotion=\"some-key fgjrlg-hoverStyles-Something_Main\"\n       nonce=\"some-nonce\"\n>\n  .some-key-fgjrlg-hoverStyles-Something_Main{color:hotpink;display:flex;}.some-key-fgjrlg-hoverStyles-Something_Main:hover{color:hotpink;background-color:lightgray;border-color:aqua;box-shadow:-15px -15px 0 0 aqua,-30px -30px 0 0 cornflowerblue;}\n</style>\n<main class=\"some-key-fgjrlg-hoverStyles-Something_Main\">\n  <div>\n    Hello\n  </div>\n</main>\n`;\n"
  },
  {
    "path": "packages/css/test/instance/__snapshots__/instance.test.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`general instance tests throws with invalid key 1`] = `\"Emotion key must only contain lower case alphabetical characters and - but \"css1\" was passed\"`;\n"
  },
  {
    "path": "packages/css/test/instance/__snapshots__/stream.test.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`hydration only inserts rules that are not in the critical css 1`] = `\n<style data-emotion=\"some-key fgjrlg-hoverStyles-Something_Main 1uqawbr i9f7qw-bounce 1nhdffy\"\n       nonce=\"some-nonce\"\n>\n  @font-face{font-family:'Patrick Hand SC';font-style:normal;font-weight:400;src:local('Patrick Hand SC'),local('PatrickHandSC-Regular'),url(https://fonts.gstatic.com/s/patrickhandsc/v4/OYFWCgfCR-7uHIovjUZXsZ71Uis0Qeb9Gqo8IZV7ckE.woff2) format('woff2');unicode-range:U+0100-024f,U+1-1eff,U+20a0-20ab,U+20ad-20cf,U+2c60-2c7f,U+A720-A7FF;}@keyframes animation-i9f7qw-bounce{from,20%,53%,80%,to{animation-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transform:translate3d(0, 0, 0);}40%,43%{animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);transform:translate3d(0, -30px, 0);}70%{animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);transform:translate3d(0, -15px, 0);}90%{transform:translate3d(0, -4px, 0);}}.no-prefix{display:flex;justify-content:center;}.some-key-fgjrlg-hoverStyles-Something_Main{color:hotpink;display:flex;}.some-key-fgjrlg-hoverStyles-Something_Main:hover{color:hotpink;background-color:lightgray;border-color:aqua;box-shadow:-15px -15px 0 0 aqua,-30px -30px 0 0 cornflowerblue;}\n</style>\n<main class=\"some-key-fgjrlg-hoverStyles-Something_Main\">\n  <style data-emotion=\"some-key 1h1w8ez-Image\"\n         nonce=\"some-nonce\"\n  >\n    .some-key-1h1w8ez-Image{animation:animation-i9f7qw-bounce;border-radius:50%;height:50px;width:50px;background-color:red;}\n  </style>\n  <img size=\"30\"\n       class=\"some-key-1h1w8ez-Image\"\n  >\n  <img size=\"100\"\n       class=\"some-key-1h1w8ez-Image\"\n  >\n  <img class=\"some-key-1h1w8ez-Image\">\n</main>\n`;\n\nexports[`hydration only inserts rules that are not in the critical css 2`] = `\n\".some-key-v31heb-hoverStyles {\n  color: hotpink;\n}\n\n.some-key-v31heb-hoverStyles:hover {\n  color: hotpink;\n  background-color: lightgray;\n  border-color: aqua;\n  box-shadow: -15px -15px 0 0 aqua,-30px -30px 0 0 cornflowerblue;\n}\n\n.some-key-k26awr {\n  display: none;\n}\"\n`;\n\nexports[`hydration only inserts rules that are not in the critical css 3`] = `\n\"@font-face {\n  font-family: 'Patrick Hand SC';\n  font-style: normal;\n  font-weight: 400;\n  src: local('Patrick Hand SC'),local('PatrickHandSC-Regular'),url(https://fonts.gstatic.com/s/patrickhandsc/v4/OYFWCgfCR-7uHIovjUZXsZ71Uis0Qeb9Gqo8IZV7ckE.woff2) format('woff2');\n  unicode-range: U+0100-024f,U+1-1eff,U+20a0-20ab,U+20ad-20cf,U+2c60-2c7f,U+A720-A7FF;\n}\n\n@keyframes animation-i9f7qw-bounce {\n  from, 20%, 53%, 80%, to {\n    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n    transform: translate3d(0, 0, 0);\n  }\n\n  40%, 43% {\n    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\n    transform: translate3d(0, -30px, 0);\n  }\n\n  70% {\n    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\n    transform: translate3d(0, -15px, 0);\n  }\n\n  90% {\n    transform: translate3d(0, -4px, 0);\n  }\n}\n\n.no-prefix {\n  display: flex;\n  justify-content: center;\n}\n\n.some-key-fgjrlg-hoverStyles-Something_Main {\n  color: hotpink;\n  display: flex;\n}\n\n.some-key-fgjrlg-hoverStyles-Something_Main:hover {\n  color: hotpink;\n  background-color: lightgray;\n  border-color: aqua;\n  box-shadow: -15px -15px 0 0 aqua,-30px -30px 0 0 cornflowerblue;\n}\n\n.some-key-1h1w8ez-Image {\n  animation: animation-i9f7qw-bounce;\n  border-radius: 50%;\n  height: 50px;\n  width: 50px;\n  background-color: red;\n}\"\n`;\n\nexports[`renderStylesToNodeStream renders large recursive component 1`] = `\n<style data-emotion=\"some-key 127stik 1mxgdgj 7oyr76 j3l52t 1be0pz3 awuqpb 1i7zhog 1wfoctz fc6lvz 2squ55 1w5v94j aunzx7 3al575 11f074x p15six 18u2re8 jcpju2 5d0zsm 1dpd5ul gfcbni 1jiphdk rj01o9 1488xs5 15xnezh 184lbb8 manocn 1umkmjt odl9to 11xg40 rgxdxp 70qps 5rivwv 1ekpy8w 1td920t 1epp5w 1k1d8rn vk4jtt 628xoq 1mvbvml 1c0xybd gj3v00 nkhoz4 17n2b4l 1es3p9i 1ndh3ck 1xvd1pe 18ld629 kg8xpq ppci6y 1ia901n j0k50p e0gjgb 1enrcxf 13r7krf 1kanh94 li2rx1 1mmlcvc 1nlc23 17beei6 1jqhnzu oqcnq8 1uus9kv 1m0952k dcxbft 12b54g8 936m12 1rqy942 ssgydo bvr28e q7rqgc 6uph5v 1t8v36t y7o2df vn3biw qvxdsd 1aqic6s 30owfv 1vj3hk7 1xfrpf4 l539hk 15joy70 16ylmie 7y2cvq 1w0x3oa 15nxgk3 qy1n2d 1vzbl6r 1never2 inwqci cja9xn vh9ala 1l5peir 1y1m1bn clop4i c9h5qg 1803k8u xgd3dd g0qjre 1u3agcs 4vb10h f59pxt 1is0wnp 1m7m6b8 1abpa1i 2qg1ot 1962n5a tvm0n3 1wo7l9z e963hw helz5s 1lo5wgy jas2da 6b1mn9 9456c 1burs84 acvymo 5ir6nu 3uxv18 676m05 16ch583 1l5q8o6 29hq6z t8ulab 11c3pwx plfo0u jzad8y n2u7t0 gj0ny3 hq26b 13txtj7 1abkqu 18qp6qn 1j8ha2k 1dawo17 1g5i33r qwzehu 661prt r9hkdr 1jwml5g eif6tj 1glgqbn xagvgz xegjiq 1dg3mz2 12g56i4 155k1ol wmmgi8 1rtokyw eub81m 1sp6wed sopwqw jvlbzj c0fhpp ya5fjl a1wt2a s3t0mz e2iwhw f6fc7a 14lo9e8 15nr8n6 opmfz1 xzjoum 19cwupx yzjpko 1hdtk9n qch6gk 1brwxbm qi3ue pby1bx 1ngv0xw 1tf2gqw 2aj80b yiuueo 7dj3zo 1ua8hry ph7df6 1wl9l48 1jpf5tg 25pweb 1vhoxch fqa73u 1042dyt 13l2gd9 z8odma 17r5vu0 1neh6nm 10nd4xt 15g5cci 11cgmwf ag6j9u jku1jn 1pxlxrg u1dyl6 37fxtj uia17y 5kf6fm z9hh1c 1abr9jj brxqds 130nyr5 1atrbnz\"\n       nonce=\"some-nonce\"\n>\n  .some-global-200{padding:0;margin:200;}.some-key-127stik{color:hotpink;}.some-global-199{padding:0;margin:199;}.some-global-198{padding:0;margin:198;}.some-global-197{padding:0;margin:197;}.some-global-196{padding:0;margin:196;}.some-global-195{padding:0;margin:195;}.some-global-194{padding:0;margin:194;}.some-global-193{padding:0;margin:193;}.some-global-192{padding:0;margin:192;}.some-global-191{padding:0;margin:191;}.some-global-190{padding:0;margin:190;}.some-global-189{padding:0;margin:189;}.some-global-188{padding:0;margin:188;}.some-global-187{padding:0;margin:187;}.some-global-186{padding:0;margin:186;}.some-global-185{padding:0;margin:185;}.some-global-184{padding:0;margin:184;}.some-global-183{padding:0;margin:183;}.some-global-182{padding:0;margin:182;}.some-global-181{padding:0;margin:181;}.some-global-180{padding:0;margin:180;}.some-global-179{padding:0;margin:179;}.some-global-178{padding:0;margin:178;}.some-global-177{padding:0;margin:177;}.some-global-176{padding:0;margin:176;}.some-global-175{padding:0;margin:175;}.some-global-174{padding:0;margin:174;}.some-global-173{padding:0;margin:173;}.some-global-172{padding:0;margin:172;}.some-global-171{padding:0;margin:171;}.some-global-170{padding:0;margin:170;}.some-global-169{padding:0;margin:169;}.some-global-168{padding:0;margin:168;}.some-global-167{padding:0;margin:167;}.some-global-166{padding:0;margin:166;}.some-global-165{padding:0;margin:165;}.some-global-164{padding:0;margin:164;}.some-global-163{padding:0;margin:163;}.some-global-162{padding:0;margin:162;}.some-global-161{padding:0;margin:161;}.some-global-160{padding:0;margin:160;}.some-global-159{padding:0;margin:159;}.some-global-158{padding:0;margin:158;}.some-global-157{padding:0;margin:157;}.some-global-156{padding:0;margin:156;}.some-global-155{padding:0;margin:155;}.some-global-154{padding:0;margin:154;}.some-global-153{padding:0;margin:153;}.some-global-152{padding:0;margin:152;}.some-global-151{padding:0;margin:151;}.some-global-150{padding:0;margin:150;}.some-global-149{padding:0;margin:149;}.some-global-148{padding:0;margin:148;}.some-global-147{padding:0;margin:147;}.some-global-146{padding:0;margin:146;}.some-global-145{padding:0;margin:145;}.some-global-144{padding:0;margin:144;}.some-global-143{padding:0;margin:143;}.some-global-142{padding:0;margin:142;}.some-global-141{padding:0;margin:141;}.some-global-140{padding:0;margin:140;}.some-global-139{padding:0;margin:139;}.some-global-138{padding:0;margin:138;}.some-global-137{padding:0;margin:137;}.some-global-136{padding:0;margin:136;}.some-global-135{padding:0;margin:135;}.some-global-134{padding:0;margin:134;}.some-global-133{padding:0;margin:133;}.some-global-132{padding:0;margin:132;}.some-global-131{padding:0;margin:131;}.some-global-130{padding:0;margin:130;}.some-global-129{padding:0;margin:129;}.some-global-128{padding:0;margin:128;}.some-global-127{padding:0;margin:127;}.some-global-126{padding:0;margin:126;}.some-global-125{padding:0;margin:125;}.some-global-124{padding:0;margin:124;}.some-global-123{padding:0;margin:123;}.some-global-122{padding:0;margin:122;}.some-global-121{padding:0;margin:121;}.some-global-120{padding:0;margin:120;}.some-global-119{padding:0;margin:119;}.some-global-118{padding:0;margin:118;}.some-global-117{padding:0;margin:117;}.some-global-116{padding:0;margin:116;}.some-global-115{padding:0;margin:115;}.some-global-114{padding:0;margin:114;}.some-global-113{padding:0;margin:113;}.some-global-112{padding:0;margin:112;}.some-global-111{padding:0;margin:111;}.some-global-110{padding:0;margin:110;}.some-global-109{padding:0;margin:109;}.some-global-108{padding:0;margin:108;}.some-global-107{padding:0;margin:107;}.some-global-106{padding:0;margin:106;}.some-global-105{padding:0;margin:105;}.some-global-104{padding:0;margin:104;}.some-global-103{padding:0;margin:103;}.some-global-102{padding:0;margin:102;}.some-global-101{padding:0;margin:101;}.some-global-100{padding:0;margin:100;}.some-global-99{padding:0;margin:99;}.some-global-98{padding:0;margin:98;}.some-global-97{padding:0;margin:97;}.some-global-96{padding:0;margin:96;}.some-global-95{padding:0;margin:95;}.some-global-94{padding:0;margin:94;}.some-global-93{padding:0;margin:93;}.some-global-92{padding:0;margin:92;}.some-global-91{padding:0;margin:91;}.some-global-90{padding:0;margin:90;}.some-global-89{padding:0;margin:89;}.some-global-88{padding:0;margin:88;}.some-global-87{padding:0;margin:87;}.some-global-86{padding:0;margin:86;}.some-global-85{padding:0;margin:85;}.some-global-84{padding:0;margin:84;}.some-global-83{padding:0;margin:83;}.some-global-82{padding:0;margin:82;}.some-global-81{padding:0;margin:81;}.some-global-80{padding:0;margin:80;}.some-global-79{padding:0;margin:79;}.some-global-78{padding:0;margin:78;}.some-global-77{padding:0;margin:77;}.some-global-76{padding:0;margin:76;}.some-global-75{padding:0;margin:75;}.some-global-74{padding:0;margin:74;}.some-global-73{padding:0;margin:73;}.some-global-72{padding:0;margin:72;}.some-global-71{padding:0;margin:71;}.some-global-70{padding:0;margin:70;}.some-global-69{padding:0;margin:69;}.some-global-68{padding:0;margin:68;}.some-global-67{padding:0;margin:67;}.some-global-66{padding:0;margin:66;}.some-global-65{padding:0;margin:65;}.some-global-64{padding:0;margin:64;}.some-global-63{padding:0;margin:63;}.some-global-62{padding:0;margin:62;}.some-global-61{padding:0;margin:61;}.some-global-60{padding:0;margin:60;}.some-global-59{padding:0;margin:59;}.some-global-58{padding:0;margin:58;}.some-global-57{padding:0;margin:57;}.some-global-56{padding:0;margin:56;}.some-global-55{padding:0;margin:55;}.some-global-54{padding:0;margin:54;}.some-global-53{padding:0;margin:53;}.some-global-52{padding:0;margin:52;}.some-global-51{padding:0;margin:51;}.some-global-50{padding:0;margin:50;}.some-global-49{padding:0;margin:49;}.some-global-48{padding:0;margin:48;}.some-global-47{padding:0;margin:47;}.some-global-46{padding:0;margin:46;}.some-global-45{padding:0;margin:45;}.some-global-44{padding:0;margin:44;}.some-global-43{padding:0;margin:43;}.some-global-42{padding:0;margin:42;}.some-global-41{padding:0;margin:41;}.some-global-40{padding:0;margin:40;}.some-global-39{padding:0;margin:39;}.some-global-38{padding:0;margin:38;}.some-global-37{padding:0;margin:37;}.some-global-36{padding:0;margin:36;}.some-global-35{padding:0;margin:35;}.some-global-34{padding:0;margin:34;}.some-global-33{padding:0;margin:33;}.some-global-32{padding:0;margin:32;}.some-global-31{padding:0;margin:31;}.some-global-30{padding:0;margin:30;}.some-global-29{padding:0;margin:29;}.some-global-28{padding:0;margin:28;}.some-global-27{padding:0;margin:27;}.some-global-26{padding:0;margin:26;}.some-global-25{padding:0;margin:25;}.some-global-24{padding:0;margin:24;}.some-global-23{padding:0;margin:23;}.some-global-22{padding:0;margin:22;}.some-global-21{padding:0;margin:21;}.some-global-20{padding:0;margin:20;}.some-global-19{padding:0;margin:19;}.some-global-18{padding:0;margin:18;}.some-global-17{padding:0;margin:17;}.some-global-16{padding:0;margin:16;}.some-global-15{padding:0;margin:15;}.some-global-14{padding:0;margin:14;}.some-global-13{padding:0;margin:13;}.some-global-12{padding:0;margin:12;}.some-global-11{padding:0;margin:11;}.some-global-10{padding:0;margin:10;}.some-global-9{padding:0;margin:9;}.some-global-8{padding:0;margin:8;}.some-global-7{padding:0;margin:7;}.some-global-6{padding:0;margin:6;}.some-global-5{padding:0;margin:5;}.some-global-4{padding:0;margin:4;}.some-global-3{padding:0;margin:3;}.some-global-2{padding:0;margin:2;}.some-global-1{padding:0;margin:1;}\n</style>\n<div class=\"some-key-127stik\">\n  woah there\n  <span>\n    hello world\n  </span>\n  <style data-emotion=\"some-key 9rpmvg\"\n         nonce=\"some-nonce\"\n  >\n    .some-key-9rpmvg{color:hotpink;}\n  </style>\n  <div class=\"some-key-9rpmvg\">\n    woah there\n    <span>\n      hello world\n    </span>\n    <style data-emotion=\"some-key 1hzr4kc\"\n           nonce=\"some-nonce\"\n    >\n      .some-key-1hzr4kc{color:hotpink;}\n    </style>\n    <div class=\"some-key-1hzr4kc\">\n      woah there\n      <span>\n        hello world\n      </span>\n      <style data-emotion=\"some-key ogzoe7\"\n             nonce=\"some-nonce\"\n      >\n        .some-key-ogzoe7{color:hotpink;}\n      </style>\n      <div class=\"some-key-ogzoe7\">\n        woah there\n        <span>\n          hello world\n        </span>\n        <style data-emotion=\"some-key 6ng8h1\"\n               nonce=\"some-nonce\"\n        >\n          .some-key-6ng8h1{color:hotpink;}\n        </style>\n        <div class=\"some-key-6ng8h1\">\n          woah there\n          <span>\n            hello world\n          </span>\n          <style data-emotion=\"some-key zv4lth\"\n                 nonce=\"some-nonce\"\n          >\n            .some-key-zv4lth{color:hotpink;}\n          </style>\n          <div class=\"some-key-zv4lth\">\n            woah there\n            <span>\n              hello world\n            </span>\n            <style data-emotion=\"some-key 1ui45lz\"\n                   nonce=\"some-nonce\"\n            >\n              .some-key-1ui45lz{color:hotpink;}\n            </style>\n            <div class=\"some-key-1ui45lz\">\n              woah there\n              <span>\n                hello world\n              </span>\n              <style data-emotion=\"some-key 1h86azu\"\n                     nonce=\"some-nonce\"\n              >\n                .some-key-1h86azu{color:hotpink;}\n              </style>\n              <div class=\"some-key-1h86azu\">\n                woah there\n                <span>\n                  hello world\n                </span>\n                <style data-emotion=\"some-key 1piy66f\"\n                       nonce=\"some-nonce\"\n                >\n                  .some-key-1piy66f{color:hotpink;}\n                </style>\n                <div class=\"some-key-1piy66f\">\n                  woah there\n                  <span>\n                    hello world\n                  </span>\n                  <style data-emotion=\"some-key a19qo7\"\n                         nonce=\"some-nonce\"\n                  >\n                    .some-key-a19qo7{color:hotpink;}\n                  </style>\n                  <div class=\"some-key-a19qo7\">\n                    woah there\n                    <span>\n                      hello world\n                    </span>\n                    <style data-emotion=\"some-key wj15j7\"\n                           nonce=\"some-nonce\"\n                    >\n                      .some-key-wj15j7{color:hotpink;}\n                    </style>\n                    <div class=\"some-key-wj15j7\">\n                      woah there\n                      <span>\n                        hello world\n                      </span>\n                      <style data-emotion=\"some-key 1hrwn8e\"\n                             nonce=\"some-nonce\"\n                      >\n                        .some-key-1hrwn8e{color:hotpink;}\n                      </style>\n                      <div class=\"some-key-1hrwn8e\">\n                        woah there\n                        <span>\n                          hello world\n                        </span>\n                        <style data-emotion=\"some-key 17myt6d\"\n                               nonce=\"some-nonce\"\n                        >\n                          .some-key-17myt6d{color:hotpink;}\n                        </style>\n                        <div class=\"some-key-17myt6d\">\n                          woah there\n                          <span>\n                            hello world\n                          </span>\n                          <style data-emotion=\"some-key 2jtlz5\"\n                                 nonce=\"some-nonce\"\n                          >\n                            .some-key-2jtlz5{color:hotpink;}\n                          </style>\n                          <div class=\"some-key-2jtlz5\">\n                            woah there\n                            <span>\n                              hello world\n                            </span>\n                            <style data-emotion=\"some-key 1xu1wg1\"\n                                   nonce=\"some-nonce\"\n                            >\n                              .some-key-1xu1wg1{color:hotpink;}\n                            </style>\n                            <div class=\"some-key-1xu1wg1\">\n                              woah there\n                              <span>\n                                hello world\n                              </span>\n                              <style data-emotion=\"some-key 1wmxn4h\"\n                                     nonce=\"some-nonce\"\n                              >\n                                .some-key-1wmxn4h{color:hotpink;}\n                              </style>\n                              <div class=\"some-key-1wmxn4h\">\n                                woah there\n                                <span>\n                                  hello world\n                                </span>\n                                <style data-emotion=\"some-key lrd20s\"\n                                       nonce=\"some-nonce\"\n                                >\n                                  .some-key-lrd20s{color:hotpink;}\n                                </style>\n                                <div class=\"some-key-lrd20s\">\n                                  woah there\n                                  <span>\n                                    hello world\n                                  </span>\n                                  <style data-emotion=\"some-key r7njcf\"\n                                         nonce=\"some-nonce\"\n                                  >\n                                    .some-key-r7njcf{color:hotpink;}\n                                  </style>\n                                  <div class=\"some-key-r7njcf\">\n                                    woah there\n                                    <span>\n                                      hello world\n                                    </span>\n                                    <style data-emotion=\"some-key 9lx5bg\"\n                                           nonce=\"some-nonce\"\n                                    >\n                                      .some-key-9lx5bg{color:hotpink;}\n                                    </style>\n                                    <div class=\"some-key-9lx5bg\">\n                                      woah there\n                                      <span>\n                                        hello world\n                                      </span>\n                                      <style data-emotion=\"some-key 16v8jwc\"\n                                             nonce=\"some-nonce\"\n                                      >\n                                        .some-key-16v8jwc{color:hotpink;}\n                                      </style>\n                                      <div class=\"some-key-16v8jwc\">\n                                        woah there\n                                        <span>\n                                          hello world\n                                        </span>\n                                        <style data-emotion=\"some-key 14fn903\"\n                                               nonce=\"some-nonce\"\n                                        >\n                                          .some-key-14fn903{color:hotpink;}\n                                        </style>\n                                        <div class=\"some-key-14fn903\">\n                                          woah there\n                                          <span>\n                                            hello world\n                                          </span>\n                                          <style data-emotion=\"some-key 1h1mfz2\"\n                                                 nonce=\"some-nonce\"\n                                          >\n                                            .some-key-1h1mfz2{color:hotpink;}\n                                          </style>\n                                          <div class=\"some-key-1h1mfz2\">\n                                            woah there\n                                            <span>\n                                              hello world\n                                            </span>\n                                            <style data-emotion=\"some-key 11mzquy\"\n                                                   nonce=\"some-nonce\"\n                                            >\n                                              .some-key-11mzquy{color:hotpink;}\n                                            </style>\n                                            <div class=\"some-key-11mzquy\">\n                                              woah there\n                                              <span>\n                                                hello world\n                                              </span>\n                                              <style data-emotion=\"some-key 3930ld\"\n                                                     nonce=\"some-nonce\"\n                                              >\n                                                .some-key-3930ld{color:hotpink;}\n                                              </style>\n                                              <div class=\"some-key-3930ld\">\n                                                woah there\n                                                <span>\n                                                  hello world\n                                                </span>\n                                                <style data-emotion=\"some-key 1lby04m\"\n                                                       nonce=\"some-nonce\"\n                                                >\n                                                  .some-key-1lby04m{color:hotpink;}\n                                                </style>\n                                                <div class=\"some-key-1lby04m\">\n                                                  woah there\n                                                  <span>\n                                                    hello world\n                                                  </span>\n                                                  <style data-emotion=\"some-key hp7r6o\"\n                                                         nonce=\"some-nonce\"\n                                                  >\n                                                    .some-key-hp7r6o{color:hotpink;}\n                                                  </style>\n                                                  <div class=\"some-key-hp7r6o\">\n                                                    woah there\n                                                    <span>\n                                                      hello world\n                                                    </span>\n                                                    <style data-emotion=\"some-key 98uzk5\"\n                                                           nonce=\"some-nonce\"\n                                                    >\n                                                      .some-key-98uzk5{color:hotpink;}\n                                                    </style>\n                                                    <div class=\"some-key-98uzk5\">\n                                                      woah there\n                                                      <span>\n                                                        hello world\n                                                      </span>\n                                                      <style data-emotion=\"some-key 1krg3ya\"\n                                                             nonce=\"some-nonce\"\n                                                      >\n                                                        .some-key-1krg3ya{color:hotpink;}\n                                                      </style>\n                                                      <div class=\"some-key-1krg3ya\">\n                                                        woah there\n                                                        <span>\n                                                          hello world\n                                                        </span>\n                                                        <style data-emotion=\"some-key 1ktw7xe\"\n                                                               nonce=\"some-nonce\"\n                                                        >\n                                                          .some-key-1ktw7xe{color:hotpink;}\n                                                        </style>\n                                                        <div class=\"some-key-1ktw7xe\">\n                                                          woah there\n                                                          <span>\n                                                            hello world\n                                                          </span>\n                                                          <style data-emotion=\"some-key ck0owr\"\n                                                                 nonce=\"some-nonce\"\n                                                          >\n                                                            .some-key-ck0owr{color:hotpink;}\n                                                          </style>\n                                                          <div class=\"some-key-ck0owr\">\n                                                            woah there\n                                                            <span>\n                                                              hello world\n                                                            </span>\n                                                            <style data-emotion=\"some-key 1xcxshi\"\n                                                                   nonce=\"some-nonce\"\n                                                            >\n                                                              .some-key-1xcxshi{color:hotpink;}\n                                                            </style>\n                                                            <div class=\"some-key-1xcxshi\">\n                                                              woah there\n                                                              <span>\n                                                                hello world\n                                                              </span>\n                                                              <style data-emotion=\"some-key 1ps9cly\"\n                                                                     nonce=\"some-nonce\"\n                                                              >\n                                                                .some-key-1ps9cly{color:hotpink;}\n                                                              </style>\n                                                              <div class=\"some-key-1ps9cly\">\n                                                                woah there\n                                                                <span>\n                                                                  hello world\n                                                                </span>\n                                                                <style data-emotion=\"some-key 1yvnnz5\"\n                                                                       nonce=\"some-nonce\"\n                                                                >\n                                                                  .some-key-1yvnnz5{color:hotpink;}\n                                                                </style>\n                                                                <div class=\"some-key-1yvnnz5\">\n                                                                  woah there\n                                                                  <span>\n                                                                    hello world\n                                                                  </span>\n                                                                  <style data-emotion=\"some-key 1c10kwm\"\n                                                                         nonce=\"some-nonce\"\n                                                                  >\n                                                                    .some-key-1c10kwm{color:hotpink;}\n                                                                  </style>\n                                                                  <div class=\"some-key-1c10kwm\">\n                                                                    woah there\n                                                                    <span>\n                                                                      hello world\n                                                                    </span>\n                                                                    <style data-emotion=\"some-key hkdnb5\"\n                                                                           nonce=\"some-nonce\"\n                                                                    >\n                                                                      .some-key-hkdnb5{color:hotpink;}\n                                                                    </style>\n                                                                    <div class=\"some-key-hkdnb5\">\n                                                                      woah there\n                                                                      <span>\n                                                                        hello world\n                                                                      </span>\n                                                                      <style data-emotion=\"some-key 1v2yh0n\"\n                                                                             nonce=\"some-nonce\"\n                                                                      >\n                                                                        .some-key-1v2yh0n{color:hotpink;}\n                                                                      </style>\n                                                                      <div class=\"some-key-1v2yh0n\">\n                                                                        woah there\n                                                                        <span>\n                                                                          hello world\n                                                                        </span>\n                                                                        <style data-emotion=\"some-key 1jzftor\"\n                                                                               nonce=\"some-nonce\"\n                                                                        >\n                                                                          .some-key-1jzftor{color:hotpink;}\n                                                                        </style>\n                                                                        <div class=\"some-key-1jzftor\">\n                                                                          woah there\n                                                                          <span>\n                                                                            hello world\n                                                                          </span>\n                                                                          <style data-emotion=\"some-key wr17pn\"\n                                                                                 nonce=\"some-nonce\"\n                                                                          >\n                                                                            .some-key-wr17pn{color:hotpink;}\n                                                                          </style>\n                                                                          <div class=\"some-key-wr17pn\">\n                                                                            woah there\n                                                                            <span>\n                                                                              hello world\n                                                                            </span>\n                                                                            <style data-emotion=\"some-key hf7itv\"\n                                                                                   nonce=\"some-nonce\"\n                                                                            >\n                                                                              .some-key-hf7itv{color:hotpink;}\n                                                                            </style>\n                                                                            <div class=\"some-key-hf7itv\">\n                                                                              woah there\n                                                                              <span>\n                                                                                hello world\n                                                                              </span>\n                                                                              <style data-emotion=\"some-key 6qzhcg\"\n                                                                                     nonce=\"some-nonce\"\n                                                                              >\n                                                                                .some-key-6qzhcg{color:hotpink;}\n                                                                              </style>\n                                                                              <div class=\"some-key-6qzhcg\">\n                                                                                woah there\n                                                                                <span>\n                                                                                  hello world\n                                                                                </span>\n                                                                                <style data-emotion=\"some-key 1avzbzg\"\n                                                                                       nonce=\"some-nonce\"\n                                                                                >\n                                                                                  .some-key-1avzbzg{color:hotpink;}\n                                                                                </style>\n                                                                                <div class=\"some-key-1avzbzg\">\n                                                                                  woah there\n                                                                                  <span>\n                                                                                    hello world\n                                                                                  </span>\n                                                                                  <style data-emotion=\"some-key o92y19\"\n                                                                                         nonce=\"some-nonce\"\n                                                                                  >\n                                                                                    .some-key-o92y19{color:hotpink;}\n                                                                                  </style>\n                                                                                  <div class=\"some-key-o92y19\">\n                                                                                    woah there\n                                                                                    <span>\n                                                                                      hello world\n                                                                                    </span>\n                                                                                    <style data-emotion=\"some-key 1ljsuqn\"\n                                                                                           nonce=\"some-nonce\"\n                                                                                    >\n                                                                                      .some-key-1ljsuqn{color:hotpink;}\n                                                                                    </style>\n                                                                                    <div class=\"some-key-1ljsuqn\">\n                                                                                      woah there\n                                                                                      <span>\n                                                                                        hello world\n                                                                                      </span>\n                                                                                      <style data-emotion=\"some-key 9zagsq\"\n                                                                                             nonce=\"some-nonce\"\n                                                                                      >\n                                                                                        .some-key-9zagsq{color:hotpink;}\n                                                                                      </style>\n                                                                                      <div class=\"some-key-9zagsq\">\n                                                                                        woah there\n                                                                                        <span>\n                                                                                          hello world\n                                                                                        </span>\n                                                                                        <style data-emotion=\"some-key 1ypl0i8\"\n                                                                                               nonce=\"some-nonce\"\n                                                                                        >\n                                                                                          .some-key-1ypl0i8{color:hotpink;}\n                                                                                        </style>\n                                                                                        <div class=\"some-key-1ypl0i8\">\n                                                                                          woah there\n                                                                                          <span>\n                                                                                            hello world\n                                                                                          </span>\n                                                                                          <style data-emotion=\"some-key rzsrsa\"\n                                                                                                 nonce=\"some-nonce\"\n                                                                                          >\n                                                                                            .some-key-rzsrsa{color:hotpink;}\n                                                                                          </style>\n                                                                                          <div class=\"some-key-rzsrsa\">\n                                                                                            woah there\n                                                                                            <span>\n                                                                                              hello world\n                                                                                            </span>\n                                                                                            <style data-emotion=\"some-key ce7d51\"\n                                                                                                   nonce=\"some-nonce\"\n                                                                                            >\n                                                                                              .some-key-ce7d51{color:hotpink;}\n                                                                                            </style>\n                                                                                            <div class=\"some-key-ce7d51\">\n                                                                                              woah there\n                                                                                              <span>\n                                                                                                hello world\n                                                                                              </span>\n                                                                                              <style data-emotion=\"some-key tknw4p\"\n                                                                                                     nonce=\"some-nonce\"\n                                                                                              >\n                                                                                                .some-key-tknw4p{color:hotpink;}\n                                                                                              </style>\n                                                                                              <div class=\"some-key-tknw4p\">\n                                                                                                woah there\n                                                                                                <span>\n                                                                                                  hello world\n                                                                                                </span>\n                                                                                                <style data-emotion=\"some-key zgq7e2\"\n                                                                                                       nonce=\"some-nonce\"\n                                                                                                >\n                                                                                                  .some-key-zgq7e2{color:hotpink;}\n                                                                                                </style>\n                                                                                                <div class=\"some-key-zgq7e2\">\n                                                                                                  woah there\n                                                                                                  <span>\n                                                                                                    hello world\n                                                                                                  </span>\n                                                                                                  <style data-emotion=\"some-key 16xxcse\"\n                                                                                                         nonce=\"some-nonce\"\n                                                                                                  >\n                                                                                                    .some-key-16xxcse{color:hotpink;}\n                                                                                                  </style>\n                                                                                                  <div class=\"some-key-16xxcse\">\n                                                                                                    woah there\n                                                                                                    <span>\n                                                                                                      hello world\n                                                                                                    </span>\n                                                                                                    <style data-emotion=\"some-key rvw1un\"\n                                                                                                           nonce=\"some-nonce\"\n                                                                                                    >\n                                                                                                      .some-key-rvw1un{color:hotpink;}\n                                                                                                    </style>\n                                                                                                    <div class=\"some-key-rvw1un\">\n                                                                                                      woah there\n                                                                                                      <span>\n                                                                                                        hello world\n                                                                                                      </span>\n                                                                                                      <style data-emotion=\"some-key br1uza\"\n                                                                                                             nonce=\"some-nonce\"\n                                                                                                      >\n                                                                                                        .some-key-br1uza{color:hotpink;}\n                                                                                                      </style>\n                                                                                                      <div class=\"some-key-br1uza\">\n                                                                                                        woah there\n                                                                                                        <span>\n                                                                                                          hello world\n                                                                                                        </span>\n                                                                                                        <style data-emotion=\"some-key 1o91asl\"\n                                                                                                               nonce=\"some-nonce\"\n                                                                                                        >\n                                                                                                          .some-key-1o91asl{color:hotpink;}\n                                                                                                        </style>\n                                                                                                        <div class=\"some-key-1o91asl\">\n                                                                                                          woah there\n                                                                                                          <span>\n                                                                                                            hello world\n                                                                                                          </span>\n                                                                                                          <style data-emotion=\"some-key 1nn9pws\"\n                                                                                                                 nonce=\"some-nonce\"\n                                                                                                          >\n                                                                                                            .some-key-1nn9pws{color:hotpink;}\n                                                                                                          </style>\n                                                                                                          <div class=\"some-key-1nn9pws\">\n                                                                                                            woah there\n                                                                                                            <span>\n                                                                                                              hello world\n                                                                                                            </span>\n                                                                                                            <style data-emotion=\"some-key upbaf3\"\n                                                                                                                   nonce=\"some-nonce\"\n                                                                                                            >\n                                                                                                              .some-key-upbaf3{color:hotpink;}\n                                                                                                            </style>\n                                                                                                            <div class=\"some-key-upbaf3\">\n                                                                                                              woah there\n                                                                                                              <span>\n                                                                                                                hello world\n                                                                                                              </span>\n                                                                                                              <style data-emotion=\"some-key 10168f0\"\n                                                                                                                     nonce=\"some-nonce\"\n                                                                                                              >\n                                                                                                                .some-key-10168f0{color:hotpink;}\n                                                                                                              </style>\n                                                                                                              <div class=\"some-key-10168f0\">\n                                                                                                                woah there\n                                                                                                                <span>\n                                                                                                                  hello world\n                                                                                                                </span>\n                                                                                                                <style data-emotion=\"some-key 18beinc\"\n                                                                                                                       nonce=\"some-nonce\"\n                                                                                                                >\n                                                                                                                  .some-key-18beinc{color:hotpink;}\n                                                                                                                </style>\n                                                                                                                <div class=\"some-key-18beinc\">\n                                                                                                                  woah there\n                                                                                                                  <span>\n                                                                                                                    hello world\n                                                                                                                  </span>\n                                                                                                                  <style data-emotion=\"some-key 11m1dja\"\n                                                                                                                         nonce=\"some-nonce\"\n                                                                                                                  >\n                                                                                                                    .some-key-11m1dja{color:hotpink;}\n                                                                                                                  </style>\n                                                                                                                  <div class=\"some-key-11m1dja\">\n                                                                                                                    woah there\n                                                                                                                    <span>\n                                                                                                                      hello world\n                                                                                                                    </span>\n                                                                                                                    <style data-emotion=\"some-key h4at5s\"\n                                                                                                                           nonce=\"some-nonce\"\n                                                                                                                    >\n                                                                                                                      .some-key-h4at5s{color:hotpink;}\n                                                                                                                    </style>\n                                                                                                                    <div class=\"some-key-h4at5s\">\n                                                                                                                      woah there\n                                                                                                                      <span>\n                                                                                                                        hello world\n                                                                                                                      </span>\n                                                                                                                      <style data-emotion=\"some-key ejnakw\"\n                                                                                                                             nonce=\"some-nonce\"\n                                                                                                                      >\n                                                                                                                        .some-key-ejnakw{color:hotpink;}\n                                                                                                                      </style>\n                                                                                                                      <div class=\"some-key-ejnakw\">\n                                                                                                                        woah there\n                                                                                                                        <span>\n                                                                                                                          hello world\n                                                                                                                        </span>\n                                                                                                                        <style data-emotion=\"some-key 1o2ovve\"\n                                                                                                                               nonce=\"some-nonce\"\n                                                                                                                        >\n                                                                                                                          .some-key-1o2ovve{color:hotpink;}\n                                                                                                                        </style>\n                                                                                                                        <div class=\"some-key-1o2ovve\">\n                                                                                                                          woah there\n                                                                                                                          <span>\n                                                                                                                            hello world\n                                                                                                                          </span>\n                                                                                                                          <style data-emotion=\"some-key ac9phq\"\n                                                                                                                                 nonce=\"some-nonce\"\n                                                                                                                          >\n                                                                                                                            .some-key-ac9phq{color:hotpink;}\n                                                                                                                          </style>\n                                                                                                                          <div class=\"some-key-ac9phq\">\n                                                                                                                            woah there\n                                                                                                                            <span>\n                                                                                                                              hello world\n                                                                                                                            </span>\n                                                                                                                            <style data-emotion=\"some-key 1phm45w\"\n                                                                                                                                   nonce=\"some-nonce\"\n                                                                                                                            >\n                                                                                                                              .some-key-1phm45w{color:hotpink;}\n                                                                                                                            </style>\n                                                                                                                            <div class=\"some-key-1phm45w\">\n                                                                                                                              woah there\n                                                                                                                              <span>\n                                                                                                                                hello world\n                                                                                                                              </span>\n                                                                                                                              <style data-emotion=\"some-key 159l0ul\"\n                                                                                                                                     nonce=\"some-nonce\"\n                                                                                                                              >\n                                                                                                                                .some-key-159l0ul{color:hotpink;}\n                                                                                                                              </style>\n                                                                                                                              <div class=\"some-key-159l0ul\">\n                                                                                                                                woah there\n                                                                                                                                <span>\n                                                                                                                                  hello world\n                                                                                                                                </span>\n                                                                                                                                <style data-emotion=\"some-key ia21oa\"\n                                                                                                                                       nonce=\"some-nonce\"\n                                                                                                                                >\n                                                                                                                                  .some-key-ia21oa{color:hotpink;}\n                                                                                                                                </style>\n                                                                                                                                <div class=\"some-key-ia21oa\">\n                                                                                                                                  woah there\n                                                                                                                                  <span>\n                                                                                                                                    hello world\n                                                                                                                                  </span>\n                                                                                                                                  <style data-emotion=\"some-key tz2duq\"\n                                                                                                                                         nonce=\"some-nonce\"\n                                                                                                                                  >\n                                                                                                                                    .some-key-tz2duq{color:hotpink;}\n                                                                                                                                  </style>\n                                                                                                                                  <div class=\"some-key-tz2duq\">\n                                                                                                                                    woah there\n                                                                                                                                    <span>\n                                                                                                                                      hello world\n                                                                                                                                    </span>\n                                                                                                                                    <style data-emotion=\"some-key 4xg4ag\"\n                                                                                                                                           nonce=\"some-nonce\"\n                                                                                                                                    >\n                                                                                                                                      .some-key-4xg4ag{color:hotpink;}\n                                                                                                                                    </style>\n                                                                                                                                    <div class=\"some-key-4xg4ag\">\n                                                                                                                                      woah there\n                                                                                                                                      <span>\n                                                                                                                                        hello world\n                                                                                                                                      </span>\n                                                                                                                                      <style data-emotion=\"some-key pur9fb\"\n                                                                                                                                             nonce=\"some-nonce\"\n                                                                                                                                      >\n                                                                                                                                        .some-key-pur9fb{color:hotpink;}\n                                                                                                                                      </style>\n                                                                                                                                      <div class=\"some-key-pur9fb\">\n                                                                                                                                        woah there\n                                                                                                                                        <span>\n                                                                                                                                          hello world\n                                                                                                                                        </span>\n                                                                                                                                        <style data-emotion=\"some-key 6nme6c\"\n                                                                                                                                               nonce=\"some-nonce\"\n                                                                                                                                        >\n                                                                                                                                          .some-key-6nme6c{color:hotpink;}\n                                                                                                                                        </style>\n                                                                                                                                        <div class=\"some-key-6nme6c\">\n                                                                                                                                          woah there\n                                                                                                                                          <span>\n                                                                                                                                            hello world\n                                                                                                                                          </span>\n                                                                                                                                          <style data-emotion=\"some-key 13nv4rl\"\n                                                                                                                                                 nonce=\"some-nonce\"\n                                                                                                                                          >\n                                                                                                                                            .some-key-13nv4rl{color:hotpink;}\n                                                                                                                                          </style>\n                                                                                                                                          <div class=\"some-key-13nv4rl\">\n                                                                                                                                            woah there\n                                                                                                                                            <span>\n                                                                                                                                              hello world\n                                                                                                                                            </span>\n                                                                                                                                            <style data-emotion=\"some-key 155bmea\"\n                                                                                                                                                   nonce=\"some-nonce\"\n                                                                                                                                            >\n                                                                                                                                              .some-key-155bmea{color:hotpink;}\n                                                                                                                                            </style>\n                                                                                                                                            <div class=\"some-key-155bmea\">\n                                                                                                                                              woah there\n                                                                                                                                              <span>\n                                                                                                                                                hello world\n                                                                                                                                              </span>\n                                                                                                                                              <style data-emotion=\"some-key 10s2f9x\"\n                                                                                                                                                     nonce=\"some-nonce\"\n                                                                                                                                              >\n                                                                                                                                                .some-key-10s2f9x{color:hotpink;}\n                                                                                                                                              </style>\n                                                                                                                                              <div class=\"some-key-10s2f9x\">\n                                                                                                                                                woah there\n                                                                                                                                                <span>\n                                                                                                                                                  hello world\n                                                                                                                                                </span>\n                                                                                                                                                <style data-emotion=\"some-key 178vhlt\"\n                                                                                                                                                       nonce=\"some-nonce\"\n                                                                                                                                                >\n                                                                                                                                                  .some-key-178vhlt{color:hotpink;}\n                                                                                                                                                </style>\n                                                                                                                                                <div class=\"some-key-178vhlt\">\n                                                                                                                                                  woah there\n                                                                                                                                                  <span>\n                                                                                                                                                    hello world\n                                                                                                                                                  </span>\n                                                                                                                                                  <style data-emotion=\"some-key 1hsnkst\"\n                                                                                                                                                         nonce=\"some-nonce\"\n                                                                                                                                                  >\n                                                                                                                                                    .some-key-1hsnkst{color:hotpink;}\n                                                                                                                                                  </style>\n                                                                                                                                                  <div class=\"some-key-1hsnkst\">\n                                                                                                                                                    woah there\n                                                                                                                                                    <span>\n                                                                                                                                                      hello world\n                                                                                                                                                    </span>\n                                                                                                                                                    <style data-emotion=\"some-key zuvm9o\"\n                                                                                                                                                           nonce=\"some-nonce\"\n                                                                                                                                                    >\n                                                                                                                                                      .some-key-zuvm9o{color:hotpink;}\n                                                                                                                                                    </style>\n                                                                                                                                                    <div class=\"some-key-zuvm9o\">\n                                                                                                                                                      woah there\n                                                                                                                                                      <span>\n                                                                                                                                                        hello world\n                                                                                                                                                      </span>\n                                                                                                                                                      <style data-emotion=\"some-key 1tl89bm\"\n                                                                                                                                                             nonce=\"some-nonce\"\n                                                                                                                                                      >\n                                                                                                                                                        .some-key-1tl89bm{color:hotpink;}\n                                                                                                                                                      </style>\n                                                                                                                                                      <div class=\"some-key-1tl89bm\">\n                                                                                                                                                        woah there\n                                                                                                                                                        <span>\n                                                                                                                                                          hello world\n                                                                                                                                                        </span>\n                                                                                                                                                        <style data-emotion=\"some-key wpx7q8\"\n                                                                                                                                                               nonce=\"some-nonce\"\n                                                                                                                                                        >\n                                                                                                                                                          .some-key-wpx7q8{color:hotpink;}\n                                                                                                                                                        </style>\n                                                                                                                                                        <div class=\"some-key-wpx7q8\">\n                                                                                                                                                          woah there\n                                                                                                                                                          <span>\n                                                                                                                                                            hello world\n                                                                                                                                                          </span>\n                                                                                                                                                          <style data-emotion=\"some-key 1tehwar\"\n                                                                                                                                                                 nonce=\"some-nonce\"\n                                                                                                                                                          >\n                                                                                                                                                            .some-key-1tehwar{color:hotpink;}\n                                                                                                                                                          </style>\n                                                                                                                                                          <div class=\"some-key-1tehwar\">\n                                                                                                                                                            woah there\n                                                                                                                                                            <span>\n                                                                                                                                                              hello world\n                                                                                                                                                            </span>\n                                                                                                                                                            <style data-emotion=\"some-key ms9j35\"\n                                                                                                                                                                   nonce=\"some-nonce\"\n                                                                                                                                                            >\n                                                                                                                                                              .some-key-ms9j35{color:hotpink;}\n                                                                                                                                                            </style>\n                                                                                                                                                            <div class=\"some-key-ms9j35\">\n                                                                                                                                                              woah there\n                                                                                                                                                              <span>\n                                                                                                                                                                hello world\n                                                                                                                                                              </span>\n                                                                                                                                                              <style data-emotion=\"some-key m4u91z\"\n                                                                                                                                                                     nonce=\"some-nonce\"\n                                                                                                                                                              >\n                                                                                                                                                                .some-key-m4u91z{color:hotpink;}\n                                                                                                                                                              </style>\n                                                                                                                                                              <div class=\"some-key-m4u91z\">\n                                                                                                                                                                woah there\n                                                                                                                                                                <span>\n                                                                                                                                                                  hello world\n                                                                                                                                                                </span>\n                                                                                                                                                                <style data-emotion=\"some-key 3ci19s\"\n                                                                                                                                                                       nonce=\"some-nonce\"\n                                                                                                                                                                >\n                                                                                                                                                                  .some-key-3ci19s{color:hotpink;}\n                                                                                                                                                                </style>\n                                                                                                                                                                <div class=\"some-key-3ci19s\">\n                                                                                                                                                                  woah there\n                                                                                                                                                                  <span>\n                                                                                                                                                                    hello world\n                                                                                                                                                                  </span>\n                                                                                                                                                                  <style data-emotion=\"some-key evutcw\"\n                                                                                                                                                                         nonce=\"some-nonce\"\n                                                                                                                                                                  >\n                                                                                                                                                                    .some-key-evutcw{color:hotpink;}\n                                                                                                                                                                  </style>\n                                                                                                                                                                  <div class=\"some-key-evutcw\">\n                                                                                                                                                                    woah there\n                                                                                                                                                                    <span>\n                                                                                                                                                                      hello world\n                                                                                                                                                                    </span>\n                                                                                                                                                                    <style data-emotion=\"some-key 1g07rpc\"\n                                                                                                                                                                           nonce=\"some-nonce\"\n                                                                                                                                                                    >\n                                                                                                                                                                      .some-key-1g07rpc{color:hotpink;}\n                                                                                                                                                                    </style>\n                                                                                                                                                                    <div class=\"some-key-1g07rpc\">\n                                                                                                                                                                      woah there\n                                                                                                                                                                      <span>\n                                                                                                                                                                        hello world\n                                                                                                                                                                      </span>\n                                                                                                                                                                      <style data-emotion=\"some-key 16ejwut\"\n                                                                                                                                                                             nonce=\"some-nonce\"\n                                                                                                                                                                      >\n                                                                                                                                                                        .some-key-16ejwut{color:hotpink;}\n                                                                                                                                                                      </style>\n                                                                                                                                                                      <div class=\"some-key-16ejwut\">\n                                                                                                                                                                        woah there\n                                                                                                                                                                        <span>\n                                                                                                                                                                          hello world\n                                                                                                                                                                        </span>\n                                                                                                                                                                        <style data-emotion=\"some-key 6gxm9\"\n                                                                                                                                                                               nonce=\"some-nonce\"\n                                                                                                                                                                        >\n                                                                                                                                                                          .some-key-6gxm9{color:hotpink;}\n                                                                                                                                                                        </style>\n                                                                                                                                                                        <div class=\"some-key-6gxm9\">\n                                                                                                                                                                          woah there\n                                                                                                                                                                          <span>\n                                                                                                                                                                            hello world\n                                                                                                                                                                          </span>\n                                                                                                                                                                          <style data-emotion=\"some-key 1mbin8s\"\n                                                                                                                                                                                 nonce=\"some-nonce\"\n                                                                                                                                                                          >\n                                                                                                                                                                            .some-key-1mbin8s{color:hotpink;}\n                                                                                                                                                                          </style>\n                                                                                                                                                                          <div class=\"some-key-1mbin8s\">\n                                                                                                                                                                            woah there\n                                                                                                                                                                            <span>\n                                                                                                                                                                              hello world\n                                                                                                                                                                            </span>\n                                                                                                                                                                            <style data-emotion=\"some-key 1cj8bm0\"\n                                                                                                                                                                                   nonce=\"some-nonce\"\n                                                                                                                                                                            >\n                                                                                                                                                                              .some-key-1cj8bm0{color:hotpink;}\n                                                                                                                                                                            </style>\n                                                                                                                                                                            <div class=\"some-key-1cj8bm0\">\n                                                                                                                                                                              woah there\n                                                                                                                                                                              <span>\n                                                                                                                                                                                hello world\n                                                                                                                                                                              </span>\n                                                                                                                                                                              <style data-emotion=\"some-key r5e3ls\"\n                                                                                                                                                                                     nonce=\"some-nonce\"\n                                                                                                                                                                              >\n                                                                                                                                                                                .some-key-r5e3ls{color:hotpink;}\n                                                                                                                                                                              </style>\n                                                                                                                                                                              <div class=\"some-key-r5e3ls\">\n                                                                                                                                                                                woah there\n                                                                                                                                                                                <span>\n                                                                                                                                                                                  hello world\n                                                                                                                                                                                </span>\n                                                                                                                                                                                <style data-emotion=\"some-key uupi2e\"\n                                                                                                                                                                                       nonce=\"some-nonce\"\n                                                                                                                                                                                >\n                                                                                                                                                                                  .some-key-uupi2e{color:hotpink;}\n                                                                                                                                                                                </style>\n                                                                                                                                                                                <div class=\"some-key-uupi2e\">\n                                                                                                                                                                                  woah there\n                                                                                                                                                                                  <span>\n                                                                                                                                                                                    hello world\n                                                                                                                                                                                  </span>\n                                                                                                                                                                                  <style data-emotion=\"some-key zr22cf\"\n                                                                                                                                                                                         nonce=\"some-nonce\"\n                                                                                                                                                                                  >\n                                                                                                                                                                                    .some-key-zr22cf{color:hotpink;}\n                                                                                                                                                                                  </style>\n                                                                                                                                                                                  <div class=\"some-key-zr22cf\">\n                                                                                                                                                                                    woah there\n                                                                                                                                                                                    <span>\n                                                                                                                                                                                      hello world\n                                                                                                                                                                                    </span>\n                                                                                                                                                                                    <style data-emotion=\"some-key 13wmhd1\"\n                                                                                                                                                                                           nonce=\"some-nonce\"\n                                                                                                                                                                                    >\n                                                                                                                                                                                      .some-key-13wmhd1{color:hotpink;}\n                                                                                                                                                                                    </style>\n                                                                                                                                                                                    <div class=\"some-key-13wmhd1\">\n                                                                                                                                                                                      woah there\n                                                                                                                                                                                      <span>\n                                                                                                                                                                                        hello world\n                                                                                                                                                                                      </span>\n                                                                                                                                                                                      <style data-emotion=\"some-key i8sgdi\"\n                                                                                                                                                                                             nonce=\"some-nonce\"\n                                                                                                                                                                                      >\n                                                                                                                                                                                        .some-key-i8sgdi{color:hotpink;}\n                                                                                                                                                                                      </style>\n                                                                                                                                                                                      <div class=\"some-key-i8sgdi\">\n                                                                                                                                                                                        woah there\n                                                                                                                                                                                        <span>\n                                                                                                                                                                                          hello world\n                                                                                                                                                                                        </span>\n                                                                                                                                                                                        <style data-emotion=\"some-key k0avx5\"\n                                                                                                                                                                                               nonce=\"some-nonce\"\n                                                                                                                                                                                        >\n                                                                                                                                                                                          .some-key-k0avx5{color:hotpink;}\n                                                                                                                                                                                        </style>\n                                                                                                                                                                                        <div class=\"some-key-k0avx5\">\n                                                                                                                                                                                          woah there\n                                                                                                                                                                                          <span>\n                                                                                                                                                                                            hello world\n                                                                                                                                                                                          </span>\n                                                                                                                                                                                          <style data-emotion=\"some-key 6dl9n7\"\n                                                                                                                                                                                                 nonce=\"some-nonce\"\n                                                                                                                                                                                          >\n                                                                                                                                                                                            .some-key-6dl9n7{color:hotpink;}\n                                                                                                                                                                                          </style>\n                                                                                                                                                                                          <div class=\"some-key-6dl9n7\">\n                                                                                                                                                                                            woah there\n                                                                                                                                                                                            <span>\n                                                                                                                                                                                              hello world\n                                                                                                                                                                                            </span>\n                                                                                                                                                                                            <style data-emotion=\"some-key 1fz7vvs\"\n                                                                                                                                                                                                   nonce=\"some-nonce\"\n                                                                                                                                                                                            >\n                                                                                                                                                                                              .some-key-1fz7vvs{color:hotpink;}\n                                                                                                                                                                                            </style>\n                                                                                                                                                                                            <div class=\"some-key-1fz7vvs\">\n                                                                                                                                                                                              woah there\n                                                                                                                                                                                              <span>\n                                                                                                                                                                                                hello world\n                                                                                                                                                                                              </span>\n                                                                                                                                                                                              <style data-emotion=\"some-key 17n3gda\"\n                                                                                                                                                                                                     nonce=\"some-nonce\"\n                                                                                                                                                                                              >\n                                                                                                                                                                                                .some-key-17n3gda{color:hotpink;}\n                                                                                                                                                                                              </style>\n                                                                                                                                                                                              <div class=\"some-key-17n3gda\">\n                                                                                                                                                                                                woah there\n                                                                                                                                                                                                <span>\n                                                                                                                                                                                                  hello world\n                                                                                                                                                                                                </span>\n                                                                                                                                                                                                <style data-emotion=\"some-key 1qfsvxb\"\n                                                                                                                                                                                                       nonce=\"some-nonce\"\n                                                                                                                                                                                                >\n                                                                                                                                                                                                  .some-key-1qfsvxb{color:hotpink;}\n                                                                                                                                                                                                </style>\n                                                                                                                                                                                                <div class=\"some-key-1qfsvxb\">\n                                                                                                                                                                                                  woah there\n                                                                                                                                                                                                  <span>\n                                                                                                                                                                                                    hello world\n                                                                                                                                                                                                  </span>\n                                                                                                                                                                                                  <style data-emotion=\"some-key 4tl6t0\"\n                                                                                                                                                                                                         nonce=\"some-nonce\"\n                                                                                                                                                                                                  >\n                                                                                                                                                                                                    .some-key-4tl6t0{color:hotpink;}\n                                                                                                                                                                                                  </style>\n                                                                                                                                                                                                  <div class=\"some-key-4tl6t0\">\n                                                                                                                                                                                                    woah there\n                                                                                                                                                                                                    <span>\n                                                                                                                                                                                                      hello world\n                                                                                                                                                                                                    </span>\n                                                                                                                                                                                                    <style data-emotion=\"some-key 1rryha9\"\n                                                                                                                                                                                                           nonce=\"some-nonce\"\n                                                                                                                                                                                                    >\n                                                                                                                                                                                                      .some-key-1rryha9{color:hotpink;}\n                                                                                                                                                                                                    </style>\n                                                                                                                                                                                                    <div class=\"some-key-1rryha9\">\n                                                                                                                                                                                                      woah there\n                                                                                                                                                                                                      <span>\n                                                                                                                                                                                                        hello world\n                                                                                                                                                                                                      </span>\n                                                                                                                                                                                                      <style data-emotion=\"some-key ejgs3d\"\n                                                                                                                                                                                                             nonce=\"some-nonce\"\n                                                                                                                                                                                                      >\n                                                                                                                                                                                                        .some-key-ejgs3d{color:hotpink;}\n                                                                                                                                                                                                      </style>\n                                                                                                                                                                                                      <div class=\"some-key-ejgs3d\">\n                                                                                                                                                                                                        woah there\n                                                                                                                                                                                                        <span>\n                                                                                                                                                                                                          hello world\n                                                                                                                                                                                                        </span>\n                                                                                                                                                                                                        <style data-emotion=\"some-key 1h1preu\"\n                                                                                                                                                                                                               nonce=\"some-nonce\"\n                                                                                                                                                                                                        >\n                                                                                                                                                                                                          .some-key-1h1preu{color:hotpink;}\n                                                                                                                                                                                                        </style>\n                                                                                                                                                                                                        <div class=\"some-key-1h1preu\">\n                                                                                                                                                                                                          woah there\n                                                                                                                                                                                                          <span>\n                                                                                                                                                                                                            hello world\n                                                                                                                                                                                                          </span>\n                                                                                                                                                                                                          <style data-emotion=\"some-key 1ewulib\"\n                                                                                                                                                                                                                 nonce=\"some-nonce\"\n                                                                                                                                                                                                          >\n                                                                                                                                                                                                            .some-key-1ewulib{color:hotpink;}\n                                                                                                                                                                                                          </style>\n                                                                                                                                                                                                          <div class=\"some-key-1ewulib\">\n                                                                                                                                                                                                            woah there\n                                                                                                                                                                                                            <span>\n                                                                                                                                                                                                              hello world\n                                                                                                                                                                                                            </span>\n                                                                                                                                                                                                            <style data-emotion=\"some-key 1g9aqxv\"\n                                                                                                                                                                                                                   nonce=\"some-nonce\"\n                                                                                                                                                                                                            >\n                                                                                                                                                                                                              .some-key-1g9aqxv{color:hotpink;}\n                                                                                                                                                                                                            </style>\n                                                                                                                                                                                                            <div class=\"some-key-1g9aqxv\">\n                                                                                                                                                                                                              woah there\n                                                                                                                                                                                                              <span>\n                                                                                                                                                                                                                hello world\n                                                                                                                                                                                                              </span>\n                                                                                                                                                                                                              <style data-emotion=\"some-key 1lxxdaw\"\n                                                                                                                                                                                                                     nonce=\"some-nonce\"\n                                                                                                                                                                                                              >\n                                                                                                                                                                                                                .some-key-1lxxdaw{color:hotpink;}\n                                                                                                                                                                                                              </style>\n                                                                                                                                                                                                              <div class=\"some-key-1lxxdaw\">\n                                                                                                                                                                                                                woah there\n                                                                                                                                                                                                                <span>\n                                                                                                                                                                                                                  hello world\n                                                                                                                                                                                                                </span>\n                                                                                                                                                                                                                <style data-emotion=\"some-key x21xi2\"\n                                                                                                                                                                                                                       nonce=\"some-nonce\"\n                                                                                                                                                                                                                >\n                                                                                                                                                                                                                  .some-key-x21xi2{color:hotpink;}\n                                                                                                                                                                                                                </style>\n                                                                                                                                                                                                                <div class=\"some-key-x21xi2\">\n                                                                                                                                                                                                                  woah there\n                                                                                                                                                                                                                  <span>\n                                                                                                                                                                                                                    hello world\n                                                                                                                                                                                                                  </span>\n                                                                                                                                                                                                                  <style data-emotion=\"some-key 133obvl\"\n                                                                                                                                                                                                                         nonce=\"some-nonce\"\n                                                                                                                                                                                                                  >\n                                                                                                                                                                                                                    .some-key-133obvl{color:hotpink;}\n                                                                                                                                                                                                                  </style>\n                                                                                                                                                                                                                  <div class=\"some-key-133obvl\">\n                                                                                                                                                                                                                    woah there\n                                                                                                                                                                                                                    <span>\n                                                                                                                                                                                                                      hello world\n                                                                                                                                                                                                                    </span>\n                                                                                                                                                                                                                    <style data-emotion=\"some-key o9oiih\"\n                                                                                                                                                                                                                           nonce=\"some-nonce\"\n                                                                                                                                                                                                                    >\n                                                                                                                                                                                                                      .some-key-o9oiih{color:hotpink;}\n                                                                                                                                                                                                                    </style>\n                                                                                                                                                                                                                    <div class=\"some-key-o9oiih\">\n                                                                                                                                                                                                                      woah there\n                                                                                                                                                                                                                      <span>\n                                                                                                                                                                                                                        hello world\n                                                                                                                                                                                                                      </span>\n                                                                                                                                                                                                                      <style data-emotion=\"some-key 16h21pl\"\n                                                                                                                                                                                                                             nonce=\"some-nonce\"\n                                                                                                                                                                                                                      >\n                                                                                                                                                                                                                        .some-key-16h21pl{color:hotpink;}\n                                                                                                                                                                                                                      </style>\n                                                                                                                                                                                                                      <div class=\"some-key-16h21pl\">\n                                                                                                                                                                                                                        woah there\n                                                                                                                                                                                                                        <span>\n                                                                                                                                                                                                                          hello world\n                                                                                                                                                                                                                        </span>\n                                                                                                                                                                                                                        <style data-emotion=\"some-key scfkxf\"\n                                                                                                                                                                                                                               nonce=\"some-nonce\"\n                                                                                                                                                                                                                        >\n                                                                                                                                                                                                                          .some-key-scfkxf{color:hotpink;}\n                                                                                                                                                                                                                        </style>\n                                                                                                                                                                                                                        <div class=\"some-key-scfkxf\">\n                                                                                                                                                                                                                          woah there\n                                                                                                                                                                                                                          <span>\n                                                                                                                                                                                                                            hello world\n                                                                                                                                                                                                                          </span>\n                                                                                                                                                                                                                          <style data-emotion=\"some-key 1u10ji2\"\n                                                                                                                                                                                                                                 nonce=\"some-nonce\"\n                                                                                                                                                                                                                          >\n                                                                                                                                                                                                                            .some-key-1u10ji2{color:hotpink;}\n                                                                                                                                                                                                                          </style>\n                                                                                                                                                                                                                          <div class=\"some-key-1u10ji2\">\n                                                                                                                                                                                                                            woah there\n                                                                                                                                                                                                                            <span>\n                                                                                                                                                                                                                              hello world\n                                                                                                                                                                                                                            </span>\n                                                                                                                                                                                                                            <style data-emotion=\"some-key i9peew\"\n                                                                                                                                                                                                                                   nonce=\"some-nonce\"\n                                                                                                                                                                                                                            >\n                                                                                                                                                                                                                              .some-key-i9peew{color:hotpink;}\n                                                                                                                                                                                                                            </style>\n                                                                                                                                                                                                                            <div class=\"some-key-i9peew\">\n                                                                                                                                                                                                                              woah there\n                                                                                                                                                                                                                              <span>\n                                                                                                                                                                                                                                hello world\n                                                                                                                                                                                                                              </span>\n                                                                                                                                                                                                                              <style data-emotion=\"some-key 13q89pq\"\n                                                                                                                                                                                                                                     nonce=\"some-nonce\"\n                                                                                                                                                                                                                              >\n                                                                                                                                                                                                                                .some-key-13q89pq{color:hotpink;}\n                                                                                                                                                                                                                              </style>\n                                                                                                                                                                                                                              <div class=\"some-key-13q89pq\">\n                                                                                                                                                                                                                                woah there\n                                                                                                                                                                                                                                <span>\n                                                                                                                                                                                                                                  hello world\n                                                                                                                                                                                                                                </span>\n                                                                                                                                                                                                                                <style data-emotion=\"some-key qcun1q\"\n                                                                                                                                                                                                                                       nonce=\"some-nonce\"\n                                                                                                                                                                                                                                >\n                                                                                                                                                                                                                                  .some-key-qcun1q{color:hotpink;}\n                                                                                                                                                                                                                                </style>\n                                                                                                                                                                                                                                <div class=\"some-key-qcun1q\">\n                                                                                                                                                                                                                                  woah there\n                                                                                                                                                                                                                                  <span>\n                                                                                                                                                                                                                                    hello world\n                                                                                                                                                                                                                                  </span>\n                                                                                                                                                                                                                                  <style data-emotion=\"some-key eb1awr\"\n                                                                                                                                                                                                                                         nonce=\"some-nonce\"\n                                                                                                                                                                                                                                  >\n                                                                                                                                                                                                                                    .some-key-eb1awr{color:hotpink;}\n                                                                                                                                                                                                                                  </style>\n                                                                                                                                                                                                                                  <div class=\"some-key-eb1awr\">\n                                                                                                                                                                                                                                    woah there\n                                                                                                                                                                                                                                    <span>\n                                                                                                                                                                                                                                      hello world\n                                                                                                                                                                                                                                    </span>\n                                                                                                                                                                                                                                    <style data-emotion=\"some-key 1sllz3x\"\n                                                                                                                                                                                                                                           nonce=\"some-nonce\"\n                                                                                                                                                                                                                                    >\n                                                                                                                                                                                                                                      .some-key-1sllz3x{color:hotpink;}\n                                                                                                                                                                                                                                    </style>\n                                                                                                                                                                                                                                    <div class=\"some-key-1sllz3x\">\n                                                                                                                                                                                                                                      woah there\n                                                                                                                                                                                                                                      <span>\n                                                                                                                                                                                                                                        hello world\n                                                                                                                                                                                                                                      </span>\n                                                                                                                                                                                                                                      <style data-emotion=\"some-key 1oevn2u\"\n                                                                                                                                                                                                                                             nonce=\"some-nonce\"\n                                                                                                                                                                                                                                      >\n                                                                                                                                                                                                                                        .some-key-1oevn2u{color:hotpink;}\n                                                                                                                                                                                                                                      </style>\n                                                                                                                                                                                                                                      <div class=\"some-key-1oevn2u\">\n                                                                                                                                                                                                                                        woah there\n                                                                                                                                                                                                                                        <span>\n                                                                                                                                                                                                                                          hello world\n                                                                                                                                                                                                                                        </span>\n                                                                                                                                                                                                                                        <style data-emotion=\"some-key zjzdc9\"\n                                                                                                                                                                                                                                               nonce=\"some-nonce\"\n                                                                                                                                                                                                                                        >\n                                                                                                                                                                                                                                          .some-key-zjzdc9{color:hotpink;}\n                                                                                                                                                                                                                                        </style>\n                                                                                                                                                                                                                                        <div class=\"some-key-zjzdc9\">\n                                                                                                                                                                                                                                          woah there\n                                                                                                                                                                                                                                          <span>\n                                                                                                                                                                                                                                            hello world\n                                                                                                                                                                                                                                          </span>\n                                                                                                                                                                                                                                          <style data-emotion=\"some-key 6wqs48\"\n                                                                                                                                                                                                                                                 nonce=\"some-nonce\"\n                                                                                                                                                                                                                                          >\n                                                                                                                                                                                                                                            .some-key-6wqs48{color:hotpink;}\n                                                                                                                                                                                                                                          </style>\n                                                                                                                                                                                                                                          <div class=\"some-key-6wqs48\">\n                                                                                                                                                                                                                                            woah there\n                                                                                                                                                                                                                                            <span>\n                                                                                                                                                                                                                                              hello world\n                                                                                                                                                                                                                                            </span>\n                                                                                                                                                                                                                                            <style data-emotion=\"some-key 1jrdvsc\"\n                                                                                                                                                                                                                                                   nonce=\"some-nonce\"\n                                                                                                                                                                                                                                            >\n                                                                                                                                                                                                                                              .some-key-1jrdvsc{color:hotpink;}\n                                                                                                                                                                                                                                            </style>\n                                                                                                                                                                                                                                            <div class=\"some-key-1jrdvsc\">\n                                                                                                                                                                                                                                              woah there\n                                                                                                                                                                                                                                              <span>\n                                                                                                                                                                                                                                                hello world\n                                                                                                                                                                                                                                              </span>\n                                                                                                                                                                                                                                              <style data-emotion=\"some-key 1vea8p9\"\n                                                                                                                                                                                                                                                     nonce=\"some-nonce\"\n                                                                                                                                                                                                                                              >\n                                                                                                                                                                                                                                                .some-key-1vea8p9{color:hotpink;}\n                                                                                                                                                                                                                                              </style>\n                                                                                                                                                                                                                                              <div class=\"some-key-1vea8p9\">\n                                                                                                                                                                                                                                                woah there\n                                                                                                                                                                                                                                                <span>\n                                                                                                                                                                                                                                                  hello world\n                                                                                                                                                                                                                                                </span>\n                                                                                                                                                                                                                                                <style data-emotion=\"some-key vekko5\"\n                                                                                                                                                                                                                                                       nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                >\n                                                                                                                                                                                                                                                  .some-key-vekko5{color:hotpink;}\n                                                                                                                                                                                                                                                </style>\n                                                                                                                                                                                                                                                <div class=\"some-key-vekko5\">\n                                                                                                                                                                                                                                                  woah there\n                                                                                                                                                                                                                                                  <span>\n                                                                                                                                                                                                                                                    hello world\n                                                                                                                                                                                                                                                  </span>\n                                                                                                                                                                                                                                                  <style data-emotion=\"some-key 1ixaqkz\"\n                                                                                                                                                                                                                                                         nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                  >\n                                                                                                                                                                                                                                                    .some-key-1ixaqkz{color:hotpink;}\n                                                                                                                                                                                                                                                  </style>\n                                                                                                                                                                                                                                                  <div class=\"some-key-1ixaqkz\">\n                                                                                                                                                                                                                                                    woah there\n                                                                                                                                                                                                                                                    <span>\n                                                                                                                                                                                                                                                      hello world\n                                                                                                                                                                                                                                                    </span>\n                                                                                                                                                                                                                                                    <style data-emotion=\"some-key 1juqtoj\"\n                                                                                                                                                                                                                                                           nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                    >\n                                                                                                                                                                                                                                                      .some-key-1juqtoj{color:hotpink;}\n                                                                                                                                                                                                                                                    </style>\n                                                                                                                                                                                                                                                    <div class=\"some-key-1juqtoj\">\n                                                                                                                                                                                                                                                      woah there\n                                                                                                                                                                                                                                                      <span>\n                                                                                                                                                                                                                                                        hello world\n                                                                                                                                                                                                                                                      </span>\n                                                                                                                                                                                                                                                      <style data-emotion=\"some-key cyahzj\"\n                                                                                                                                                                                                                                                             nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                      >\n                                                                                                                                                                                                                                                        .some-key-cyahzj{color:hotpink;}\n                                                                                                                                                                                                                                                      </style>\n                                                                                                                                                                                                                                                      <div class=\"some-key-cyahzj\">\n                                                                                                                                                                                                                                                        woah there\n                                                                                                                                                                                                                                                        <span>\n                                                                                                                                                                                                                                                          hello world\n                                                                                                                                                                                                                                                        </span>\n                                                                                                                                                                                                                                                        <style data-emotion=\"some-key 1559ay6\"\n                                                                                                                                                                                                                                                               nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                        >\n                                                                                                                                                                                                                                                          .some-key-1559ay6{color:hotpink;}\n                                                                                                                                                                                                                                                        </style>\n                                                                                                                                                                                                                                                        <div class=\"some-key-1559ay6\">\n                                                                                                                                                                                                                                                          woah there\n                                                                                                                                                                                                                                                          <span>\n                                                                                                                                                                                                                                                            hello world\n                                                                                                                                                                                                                                                          </span>\n                                                                                                                                                                                                                                                          <style data-emotion=\"some-key kgdim\"\n                                                                                                                                                                                                                                                                 nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                          >\n                                                                                                                                                                                                                                                            .some-key-kgdim{color:hotpink;}\n                                                                                                                                                                                                                                                          </style>\n                                                                                                                                                                                                                                                          <div class=\"some-key-kgdim\">\n                                                                                                                                                                                                                                                            woah there\n                                                                                                                                                                                                                                                            <span>\n                                                                                                                                                                                                                                                              hello world\n                                                                                                                                                                                                                                                            </span>\n                                                                                                                                                                                                                                                            <style data-emotion=\"some-key 18cyyxf\"\n                                                                                                                                                                                                                                                                   nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                            >\n                                                                                                                                                                                                                                                              .some-key-18cyyxf{color:hotpink;}\n                                                                                                                                                                                                                                                            </style>\n                                                                                                                                                                                                                                                            <div class=\"some-key-18cyyxf\">\n                                                                                                                                                                                                                                                              woah there\n                                                                                                                                                                                                                                                              <span>\n                                                                                                                                                                                                                                                                hello world\n                                                                                                                                                                                                                                                              </span>\n                                                                                                                                                                                                                                                              <style data-emotion=\"some-key z0i9x2\"\n                                                                                                                                                                                                                                                                     nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                              >\n                                                                                                                                                                                                                                                                .some-key-z0i9x2{color:hotpink;}\n                                                                                                                                                                                                                                                              </style>\n                                                                                                                                                                                                                                                              <div class=\"some-key-z0i9x2\">\n                                                                                                                                                                                                                                                                woah there\n                                                                                                                                                                                                                                                                <span>\n                                                                                                                                                                                                                                                                  hello world\n                                                                                                                                                                                                                                                                </span>\n                                                                                                                                                                                                                                                                <style data-emotion=\"some-key gkpvss\"\n                                                                                                                                                                                                                                                                       nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                >\n                                                                                                                                                                                                                                                                  .some-key-gkpvss{color:hotpink;}\n                                                                                                                                                                                                                                                                </style>\n                                                                                                                                                                                                                                                                <div class=\"some-key-gkpvss\">\n                                                                                                                                                                                                                                                                  woah there\n                                                                                                                                                                                                                                                                  <span>\n                                                                                                                                                                                                                                                                    hello world\n                                                                                                                                                                                                                                                                  </span>\n                                                                                                                                                                                                                                                                  <style data-emotion=\"some-key weerr6\"\n                                                                                                                                                                                                                                                                         nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                  >\n                                                                                                                                                                                                                                                                    .some-key-weerr6{color:hotpink;}\n                                                                                                                                                                                                                                                                  </style>\n                                                                                                                                                                                                                                                                  <div class=\"some-key-weerr6\">\n                                                                                                                                                                                                                                                                    woah there\n                                                                                                                                                                                                                                                                    <span>\n                                                                                                                                                                                                                                                                      hello world\n                                                                                                                                                                                                                                                                    </span>\n                                                                                                                                                                                                                                                                    <style data-emotion=\"some-key sw7yje\"\n                                                                                                                                                                                                                                                                           nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                    >\n                                                                                                                                                                                                                                                                      .some-key-sw7yje{color:hotpink;}\n                                                                                                                                                                                                                                                                    </style>\n                                                                                                                                                                                                                                                                    <div class=\"some-key-sw7yje\">\n                                                                                                                                                                                                                                                                      woah there\n                                                                                                                                                                                                                                                                      <span>\n                                                                                                                                                                                                                                                                        hello world\n                                                                                                                                                                                                                                                                      </span>\n                                                                                                                                                                                                                                                                      <style data-emotion=\"some-key 12qk6uq\"\n                                                                                                                                                                                                                                                                             nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                      >\n                                                                                                                                                                                                                                                                        .some-key-12qk6uq{color:hotpink;}\n                                                                                                                                                                                                                                                                      </style>\n                                                                                                                                                                                                                                                                      <div class=\"some-key-12qk6uq\">\n                                                                                                                                                                                                                                                                        woah there\n                                                                                                                                                                                                                                                                        <span>\n                                                                                                                                                                                                                                                                          hello world\n                                                                                                                                                                                                                                                                        </span>\n                                                                                                                                                                                                                                                                        <style data-emotion=\"some-key 8e7cu8\"\n                                                                                                                                                                                                                                                                               nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                        >\n                                                                                                                                                                                                                                                                          .some-key-8e7cu8{color:hotpink;}\n                                                                                                                                                                                                                                                                        </style>\n                                                                                                                                                                                                                                                                        <div class=\"some-key-8e7cu8\">\n                                                                                                                                                                                                                                                                          woah there\n                                                                                                                                                                                                                                                                          <span>\n                                                                                                                                                                                                                                                                            hello world\n                                                                                                                                                                                                                                                                          </span>\n                                                                                                                                                                                                                                                                          <style data-emotion=\"some-key 6bla26\"\n                                                                                                                                                                                                                                                                                 nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                          >\n                                                                                                                                                                                                                                                                            .some-key-6bla26{color:hotpink;}\n                                                                                                                                                                                                                                                                          </style>\n                                                                                                                                                                                                                                                                          <div class=\"some-key-6bla26\">\n                                                                                                                                                                                                                                                                            woah there\n                                                                                                                                                                                                                                                                            <span>\n                                                                                                                                                                                                                                                                              hello world\n                                                                                                                                                                                                                                                                            </span>\n                                                                                                                                                                                                                                                                            <style data-emotion=\"some-key 35jwvs\"\n                                                                                                                                                                                                                                                                                   nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                            >\n                                                                                                                                                                                                                                                                              .some-key-35jwvs{color:hotpink;}\n                                                                                                                                                                                                                                                                            </style>\n                                                                                                                                                                                                                                                                            <div class=\"some-key-35jwvs\">\n                                                                                                                                                                                                                                                                              woah there\n                                                                                                                                                                                                                                                                              <span>\n                                                                                                                                                                                                                                                                                hello world\n                                                                                                                                                                                                                                                                              </span>\n                                                                                                                                                                                                                                                                              <style data-emotion=\"some-key 1nrgdft\"\n                                                                                                                                                                                                                                                                                     nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                              >\n                                                                                                                                                                                                                                                                                .some-key-1nrgdft{color:hotpink;}\n                                                                                                                                                                                                                                                                              </style>\n                                                                                                                                                                                                                                                                              <div class=\"some-key-1nrgdft\">\n                                                                                                                                                                                                                                                                                woah there\n                                                                                                                                                                                                                                                                                <span>\n                                                                                                                                                                                                                                                                                  hello world\n                                                                                                                                                                                                                                                                                </span>\n                                                                                                                                                                                                                                                                                <style data-emotion=\"some-key 1g4joaz\"\n                                                                                                                                                                                                                                                                                       nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                >\n                                                                                                                                                                                                                                                                                  .some-key-1g4joaz{color:hotpink;}\n                                                                                                                                                                                                                                                                                </style>\n                                                                                                                                                                                                                                                                                <div class=\"some-key-1g4joaz\">\n                                                                                                                                                                                                                                                                                  woah there\n                                                                                                                                                                                                                                                                                  <span>\n                                                                                                                                                                                                                                                                                    hello world\n                                                                                                                                                                                                                                                                                  </span>\n                                                                                                                                                                                                                                                                                  <style data-emotion=\"some-key 3zq00y\"\n                                                                                                                                                                                                                                                                                         nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                  >\n                                                                                                                                                                                                                                                                                    .some-key-3zq00y{color:hotpink;}\n                                                                                                                                                                                                                                                                                  </style>\n                                                                                                                                                                                                                                                                                  <div class=\"some-key-3zq00y\">\n                                                                                                                                                                                                                                                                                    woah there\n                                                                                                                                                                                                                                                                                    <span>\n                                                                                                                                                                                                                                                                                      hello world\n                                                                                                                                                                                                                                                                                    </span>\n                                                                                                                                                                                                                                                                                    <style data-emotion=\"some-key 1gk0yhg\"\n                                                                                                                                                                                                                                                                                           nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                    >\n                                                                                                                                                                                                                                                                                      .some-key-1gk0yhg{color:hotpink;}\n                                                                                                                                                                                                                                                                                    </style>\n                                                                                                                                                                                                                                                                                    <div class=\"some-key-1gk0yhg\">\n                                                                                                                                                                                                                                                                                      woah there\n                                                                                                                                                                                                                                                                                      <span>\n                                                                                                                                                                                                                                                                                        hello world\n                                                                                                                                                                                                                                                                                      </span>\n                                                                                                                                                                                                                                                                                      <style data-emotion=\"some-key 65xyj4\"\n                                                                                                                                                                                                                                                                                             nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                      >\n                                                                                                                                                                                                                                                                                        .some-key-65xyj4{color:hotpink;}\n                                                                                                                                                                                                                                                                                      </style>\n                                                                                                                                                                                                                                                                                      <div class=\"some-key-65xyj4\">\n                                                                                                                                                                                                                                                                                        woah there\n                                                                                                                                                                                                                                                                                        <span>\n                                                                                                                                                                                                                                                                                          hello world\n                                                                                                                                                                                                                                                                                        </span>\n                                                                                                                                                                                                                                                                                        <style data-emotion=\"some-key 17wkfhz\"\n                                                                                                                                                                                                                                                                                               nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                        >\n                                                                                                                                                                                                                                                                                          .some-key-17wkfhz{color:hotpink;}\n                                                                                                                                                                                                                                                                                        </style>\n                                                                                                                                                                                                                                                                                        <div class=\"some-key-17wkfhz\">\n                                                                                                                                                                                                                                                                                          woah there\n                                                                                                                                                                                                                                                                                          <span>\n                                                                                                                                                                                                                                                                                            hello world\n                                                                                                                                                                                                                                                                                          </span>\n                                                                                                                                                                                                                                                                                          <style data-emotion=\"some-key w9l44e\"\n                                                                                                                                                                                                                                                                                                 nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                          >\n                                                                                                                                                                                                                                                                                            .some-key-w9l44e{color:hotpink;}\n                                                                                                                                                                                                                                                                                          </style>\n                                                                                                                                                                                                                                                                                          <div class=\"some-key-w9l44e\">\n                                                                                                                                                                                                                                                                                            woah there\n                                                                                                                                                                                                                                                                                            <span>\n                                                                                                                                                                                                                                                                                              hello world\n                                                                                                                                                                                                                                                                                            </span>\n                                                                                                                                                                                                                                                                                            <style data-emotion=\"some-key i5ss3y\"\n                                                                                                                                                                                                                                                                                                   nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                            >\n                                                                                                                                                                                                                                                                                              .some-key-i5ss3y{color:hotpink;}\n                                                                                                                                                                                                                                                                                            </style>\n                                                                                                                                                                                                                                                                                            <div class=\"some-key-i5ss3y\">\n                                                                                                                                                                                                                                                                                              woah there\n                                                                                                                                                                                                                                                                                              <span>\n                                                                                                                                                                                                                                                                                                hello world\n                                                                                                                                                                                                                                                                                              </span>\n                                                                                                                                                                                                                                                                                              <style data-emotion=\"some-key qua63f\"\n                                                                                                                                                                                                                                                                                                     nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                              >\n                                                                                                                                                                                                                                                                                                .some-key-qua63f{color:hotpink;}\n                                                                                                                                                                                                                                                                                              </style>\n                                                                                                                                                                                                                                                                                              <div class=\"some-key-qua63f\">\n                                                                                                                                                                                                                                                                                                woah there\n                                                                                                                                                                                                                                                                                                <span>\n                                                                                                                                                                                                                                                                                                  hello world\n                                                                                                                                                                                                                                                                                                </span>\n                                                                                                                                                                                                                                                                                                <style data-emotion=\"some-key 1sjj1qr\"\n                                                                                                                                                                                                                                                                                                       nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                >\n                                                                                                                                                                                                                                                                                                  .some-key-1sjj1qr{color:hotpink;}\n                                                                                                                                                                                                                                                                                                </style>\n                                                                                                                                                                                                                                                                                                <div class=\"some-key-1sjj1qr\">\n                                                                                                                                                                                                                                                                                                  woah there\n                                                                                                                                                                                                                                                                                                  <span>\n                                                                                                                                                                                                                                                                                                    hello world\n                                                                                                                                                                                                                                                                                                  </span>\n                                                                                                                                                                                                                                                                                                  <style data-emotion=\"some-key 90js15\"\n                                                                                                                                                                                                                                                                                                         nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                  >\n                                                                                                                                                                                                                                                                                                    .some-key-90js15{color:hotpink;}\n                                                                                                                                                                                                                                                                                                  </style>\n                                                                                                                                                                                                                                                                                                  <div class=\"some-key-90js15\">\n                                                                                                                                                                                                                                                                                                    woah there\n                                                                                                                                                                                                                                                                                                    <span>\n                                                                                                                                                                                                                                                                                                      hello world\n                                                                                                                                                                                                                                                                                                    </span>\n                                                                                                                                                                                                                                                                                                    <style data-emotion=\"some-key 1mzlono\"\n                                                                                                                                                                                                                                                                                                           nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                    >\n                                                                                                                                                                                                                                                                                                      .some-key-1mzlono{color:hotpink;}\n                                                                                                                                                                                                                                                                                                    </style>\n                                                                                                                                                                                                                                                                                                    <div class=\"some-key-1mzlono\">\n                                                                                                                                                                                                                                                                                                      woah there\n                                                                                                                                                                                                                                                                                                      <span>\n                                                                                                                                                                                                                                                                                                        hello world\n                                                                                                                                                                                                                                                                                                      </span>\n                                                                                                                                                                                                                                                                                                      <style data-emotion=\"some-key bjhszk\"\n                                                                                                                                                                                                                                                                                                             nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                      >\n                                                                                                                                                                                                                                                                                                        .some-key-bjhszk{color:hotpink;}\n                                                                                                                                                                                                                                                                                                      </style>\n                                                                                                                                                                                                                                                                                                      <div class=\"some-key-bjhszk\">\n                                                                                                                                                                                                                                                                                                        woah there\n                                                                                                                                                                                                                                                                                                        <span>\n                                                                                                                                                                                                                                                                                                          hello world\n                                                                                                                                                                                                                                                                                                        </span>\n                                                                                                                                                                                                                                                                                                        <style data-emotion=\"some-key ja3cay\"\n                                                                                                                                                                                                                                                                                                               nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                        >\n                                                                                                                                                                                                                                                                                                          .some-key-ja3cay{color:hotpink;}\n                                                                                                                                                                                                                                                                                                        </style>\n                                                                                                                                                                                                                                                                                                        <div class=\"some-key-ja3cay\">\n                                                                                                                                                                                                                                                                                                          woah there\n                                                                                                                                                                                                                                                                                                          <span>\n                                                                                                                                                                                                                                                                                                            hello world\n                                                                                                                                                                                                                                                                                                          </span>\n                                                                                                                                                                                                                                                                                                          <style data-emotion=\"some-key 148np4p\"\n                                                                                                                                                                                                                                                                                                                 nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                          >\n                                                                                                                                                                                                                                                                                                            .some-key-148np4p{color:hotpink;}\n                                                                                                                                                                                                                                                                                                          </style>\n                                                                                                                                                                                                                                                                                                          <div class=\"some-key-148np4p\">\n                                                                                                                                                                                                                                                                                                            woah there\n                                                                                                                                                                                                                                                                                                            <span>\n                                                                                                                                                                                                                                                                                                              hello world\n                                                                                                                                                                                                                                                                                                            </span>\n                                                                                                                                                                                                                                                                                                            <style data-emotion=\"some-key f4eyff\"\n                                                                                                                                                                                                                                                                                                                   nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                            >\n                                                                                                                                                                                                                                                                                                              .some-key-f4eyff{color:hotpink;}\n                                                                                                                                                                                                                                                                                                            </style>\n                                                                                                                                                                                                                                                                                                            <div class=\"some-key-f4eyff\">\n                                                                                                                                                                                                                                                                                                              woah there\n                                                                                                                                                                                                                                                                                                              <span>\n                                                                                                                                                                                                                                                                                                                hello world\n                                                                                                                                                                                                                                                                                                              </span>\n                                                                                                                                                                                                                                                                                                              <style data-emotion=\"some-key 1rl24dh\"\n                                                                                                                                                                                                                                                                                                                     nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                              >\n                                                                                                                                                                                                                                                                                                                .some-key-1rl24dh{color:hotpink;}\n                                                                                                                                                                                                                                                                                                              </style>\n                                                                                                                                                                                                                                                                                                              <div class=\"some-key-1rl24dh\">\n                                                                                                                                                                                                                                                                                                                woah there\n                                                                                                                                                                                                                                                                                                                <span>\n                                                                                                                                                                                                                                                                                                                  hello world\n                                                                                                                                                                                                                                                                                                                </span>\n                                                                                                                                                                                                                                                                                                                <style data-emotion=\"some-key c5gtq4\"\n                                                                                                                                                                                                                                                                                                                       nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                >\n                                                                                                                                                                                                                                                                                                                  .some-key-c5gtq4{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                </style>\n                                                                                                                                                                                                                                                                                                                <div class=\"some-key-c5gtq4\">\n                                                                                                                                                                                                                                                                                                                  woah there\n                                                                                                                                                                                                                                                                                                                  <span>\n                                                                                                                                                                                                                                                                                                                    hello world\n                                                                                                                                                                                                                                                                                                                  </span>\n                                                                                                                                                                                                                                                                                                                  <style data-emotion=\"some-key zn3vlf\"\n                                                                                                                                                                                                                                                                                                                         nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                  >\n                                                                                                                                                                                                                                                                                                                    .some-key-zn3vlf{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                  </style>\n                                                                                                                                                                                                                                                                                                                  <div class=\"some-key-zn3vlf\">\n                                                                                                                                                                                                                                                                                                                    woah there\n                                                                                                                                                                                                                                                                                                                    <span>\n                                                                                                                                                                                                                                                                                                                      hello world\n                                                                                                                                                                                                                                                                                                                    </span>\n                                                                                                                                                                                                                                                                                                                    <style data-emotion=\"some-key 10y72es\"\n                                                                                                                                                                                                                                                                                                                           nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                    >\n                                                                                                                                                                                                                                                                                                                      .some-key-10y72es{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                    </style>\n                                                                                                                                                                                                                                                                                                                    <div class=\"some-key-10y72es\">\n                                                                                                                                                                                                                                                                                                                      woah there\n                                                                                                                                                                                                                                                                                                                      <span>\n                                                                                                                                                                                                                                                                                                                        hello world\n                                                                                                                                                                                                                                                                                                                      </span>\n                                                                                                                                                                                                                                                                                                                      <style data-emotion=\"some-key bm2jv1\"\n                                                                                                                                                                                                                                                                                                                             nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                      >\n                                                                                                                                                                                                                                                                                                                        .some-key-bm2jv1{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                      </style>\n                                                                                                                                                                                                                                                                                                                      <div class=\"some-key-bm2jv1\">\n                                                                                                                                                                                                                                                                                                                        woah there\n                                                                                                                                                                                                                                                                                                                        <span>\n                                                                                                                                                                                                                                                                                                                          hello world\n                                                                                                                                                                                                                                                                                                                        </span>\n                                                                                                                                                                                                                                                                                                                        <style data-emotion=\"some-key 11jkxwc\"\n                                                                                                                                                                                                                                                                                                                               nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                        >\n                                                                                                                                                                                                                                                                                                                          .some-key-11jkxwc{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                        </style>\n                                                                                                                                                                                                                                                                                                                        <div class=\"some-key-11jkxwc\">\n                                                                                                                                                                                                                                                                                                                          woah there\n                                                                                                                                                                                                                                                                                                                          <span>\n                                                                                                                                                                                                                                                                                                                            hello world\n                                                                                                                                                                                                                                                                                                                          </span>\n                                                                                                                                                                                                                                                                                                                          <style data-emotion=\"some-key 2u5nz5\"\n                                                                                                                                                                                                                                                                                                                                 nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                          >\n                                                                                                                                                                                                                                                                                                                            .some-key-2u5nz5{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                          </style>\n                                                                                                                                                                                                                                                                                                                          <div class=\"some-key-2u5nz5\">\n                                                                                                                                                                                                                                                                                                                            woah there\n                                                                                                                                                                                                                                                                                                                            <span>\n                                                                                                                                                                                                                                                                                                                              hello world\n                                                                                                                                                                                                                                                                                                                            </span>\n                                                                                                                                                                                                                                                                                                                            <style data-emotion=\"some-key a8aq2j\"\n                                                                                                                                                                                                                                                                                                                                   nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                            >\n                                                                                                                                                                                                                                                                                                                              .some-key-a8aq2j{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                            </style>\n                                                                                                                                                                                                                                                                                                                            <div class=\"some-key-a8aq2j\">\n                                                                                                                                                                                                                                                                                                                              woah there\n                                                                                                                                                                                                                                                                                                                              <span>\n                                                                                                                                                                                                                                                                                                                                hello world\n                                                                                                                                                                                                                                                                                                                              </span>\n                                                                                                                                                                                                                                                                                                                              <style data-emotion=\"some-key z8kcia\"\n                                                                                                                                                                                                                                                                                                                                     nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                              >\n                                                                                                                                                                                                                                                                                                                                .some-key-z8kcia{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                              </style>\n                                                                                                                                                                                                                                                                                                                              <div class=\"some-key-z8kcia\">\n                                                                                                                                                                                                                                                                                                                                woah there\n                                                                                                                                                                                                                                                                                                                                <span>\n                                                                                                                                                                                                                                                                                                                                  hello world\n                                                                                                                                                                                                                                                                                                                                </span>\n                                                                                                                                                                                                                                                                                                                                <style data-emotion=\"some-key 1df0hco\"\n                                                                                                                                                                                                                                                                                                                                       nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                >\n                                                                                                                                                                                                                                                                                                                                  .some-key-1df0hco{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                </style>\n                                                                                                                                                                                                                                                                                                                                <div class=\"some-key-1df0hco\">\n                                                                                                                                                                                                                                                                                                                                  woah there\n                                                                                                                                                                                                                                                                                                                                  <span>\n                                                                                                                                                                                                                                                                                                                                    hello world\n                                                                                                                                                                                                                                                                                                                                  </span>\n                                                                                                                                                                                                                                                                                                                                  <style data-emotion=\"some-key 11rstpz\"\n                                                                                                                                                                                                                                                                                                                                         nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                  >\n                                                                                                                                                                                                                                                                                                                                    .some-key-11rstpz{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                  </style>\n                                                                                                                                                                                                                                                                                                                                  <div class=\"some-key-11rstpz\">\n                                                                                                                                                                                                                                                                                                                                    woah there\n                                                                                                                                                                                                                                                                                                                                    <span>\n                                                                                                                                                                                                                                                                                                                                      hello world\n                                                                                                                                                                                                                                                                                                                                    </span>\n                                                                                                                                                                                                                                                                                                                                    <style data-emotion=\"some-key 1w071u6\"\n                                                                                                                                                                                                                                                                                                                                           nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                    >\n                                                                                                                                                                                                                                                                                                                                      .some-key-1w071u6{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                    </style>\n                                                                                                                                                                                                                                                                                                                                    <div class=\"some-key-1w071u6\">\n                                                                                                                                                                                                                                                                                                                                      woah there\n                                                                                                                                                                                                                                                                                                                                      <span>\n                                                                                                                                                                                                                                                                                                                                        hello world\n                                                                                                                                                                                                                                                                                                                                      </span>\n                                                                                                                                                                                                                                                                                                                                      <style data-emotion=\"some-key 1luo8x6\"\n                                                                                                                                                                                                                                                                                                                                             nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                      >\n                                                                                                                                                                                                                                                                                                                                        .some-key-1luo8x6{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                      </style>\n                                                                                                                                                                                                                                                                                                                                      <div class=\"some-key-1luo8x6\">\n                                                                                                                                                                                                                                                                                                                                        woah there\n                                                                                                                                                                                                                                                                                                                                        <span>\n                                                                                                                                                                                                                                                                                                                                          hello world\n                                                                                                                                                                                                                                                                                                                                        </span>\n                                                                                                                                                                                                                                                                                                                                        <style data-emotion=\"some-key 1ts80l8\"\n                                                                                                                                                                                                                                                                                                                                               nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                        >\n                                                                                                                                                                                                                                                                                                                                          .some-key-1ts80l8{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                        </style>\n                                                                                                                                                                                                                                                                                                                                        <div class=\"some-key-1ts80l8\">\n                                                                                                                                                                                                                                                                                                                                          woah there\n                                                                                                                                                                                                                                                                                                                                          <span>\n                                                                                                                                                                                                                                                                                                                                            hello world\n                                                                                                                                                                                                                                                                                                                                          </span>\n                                                                                                                                                                                                                                                                                                                                          <style data-emotion=\"some-key duffth\"\n                                                                                                                                                                                                                                                                                                                                                 nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                          >\n                                                                                                                                                                                                                                                                                                                                            .some-key-duffth{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                          </style>\n                                                                                                                                                                                                                                                                                                                                          <div class=\"some-key-duffth\">\n                                                                                                                                                                                                                                                                                                                                            woah there\n                                                                                                                                                                                                                                                                                                                                            <span>\n                                                                                                                                                                                                                                                                                                                                              hello world\n                                                                                                                                                                                                                                                                                                                                            </span>\n                                                                                                                                                                                                                                                                                                                                            <style data-emotion=\"some-key tt1okc\"\n                                                                                                                                                                                                                                                                                                                                                   nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                            >\n                                                                                                                                                                                                                                                                                                                                              .some-key-tt1okc{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                            </style>\n                                                                                                                                                                                                                                                                                                                                            <div class=\"some-key-tt1okc\">\n                                                                                                                                                                                                                                                                                                                                              woah there\n                                                                                                                                                                                                                                                                                                                                              <span>\n                                                                                                                                                                                                                                                                                                                                                hello world\n                                                                                                                                                                                                                                                                                                                                              </span>\n                                                                                                                                                                                                                                                                                                                                              <style data-emotion=\"some-key tax4hg\"\n                                                                                                                                                                                                                                                                                                                                                     nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                              >\n                                                                                                                                                                                                                                                                                                                                                .some-key-tax4hg{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                              </style>\n                                                                                                                                                                                                                                                                                                                                              <div class=\"some-key-tax4hg\">\n                                                                                                                                                                                                                                                                                                                                                woah there\n                                                                                                                                                                                                                                                                                                                                                <span>\n                                                                                                                                                                                                                                                                                                                                                  hello world\n                                                                                                                                                                                                                                                                                                                                                </span>\n                                                                                                                                                                                                                                                                                                                                                <style data-emotion=\"some-key 1k8drt4\"\n                                                                                                                                                                                                                                                                                                                                                       nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                                >\n                                                                                                                                                                                                                                                                                                                                                  .some-key-1k8drt4{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                                </style>\n                                                                                                                                                                                                                                                                                                                                                <div class=\"some-key-1k8drt4\">\n                                                                                                                                                                                                                                                                                                                                                  woah there\n                                                                                                                                                                                                                                                                                                                                                  <span>\n                                                                                                                                                                                                                                                                                                                                                    hello world\n                                                                                                                                                                                                                                                                                                                                                  </span>\n                                                                                                                                                                                                                                                                                                                                                  <style data-emotion=\"some-key qfe6wx\"\n                                                                                                                                                                                                                                                                                                                                                         nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                                  >\n                                                                                                                                                                                                                                                                                                                                                    .some-key-qfe6wx{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                                  </style>\n                                                                                                                                                                                                                                                                                                                                                  <div class=\"some-key-qfe6wx\">\n                                                                                                                                                                                                                                                                                                                                                    woah there\n                                                                                                                                                                                                                                                                                                                                                    <span>\n                                                                                                                                                                                                                                                                                                                                                      hello world\n                                                                                                                                                                                                                                                                                                                                                    </span>\n                                                                                                                                                                                                                                                                                                                                                    <style data-emotion=\"some-key jhchv1\"\n                                                                                                                                                                                                                                                                                                                                                           nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                                    >\n                                                                                                                                                                                                                                                                                                                                                      .some-key-jhchv1{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                                    </style>\n                                                                                                                                                                                                                                                                                                                                                    <div class=\"some-key-jhchv1\">\n                                                                                                                                                                                                                                                                                                                                                      woah there\n                                                                                                                                                                                                                                                                                                                                                      <span>\n                                                                                                                                                                                                                                                                                                                                                        hello world\n                                                                                                                                                                                                                                                                                                                                                      </span>\n                                                                                                                                                                                                                                                                                                                                                      <style data-emotion=\"some-key 1soonbp\"\n                                                                                                                                                                                                                                                                                                                                                             nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                                      >\n                                                                                                                                                                                                                                                                                                                                                        .some-key-1soonbp{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                                      </style>\n                                                                                                                                                                                                                                                                                                                                                      <div class=\"some-key-1soonbp\">\n                                                                                                                                                                                                                                                                                                                                                        woah there\n                                                                                                                                                                                                                                                                                                                                                        <span>\n                                                                                                                                                                                                                                                                                                                                                          hello world\n                                                                                                                                                                                                                                                                                                                                                        </span>\n                                                                                                                                                                                                                                                                                                                                                        <style data-emotion=\"some-key 1vibp0n\"\n                                                                                                                                                                                                                                                                                                                                                               nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                                        >\n                                                                                                                                                                                                                                                                                                                                                          .some-key-1vibp0n{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                                        </style>\n                                                                                                                                                                                                                                                                                                                                                        <div class=\"some-key-1vibp0n\">\n                                                                                                                                                                                                                                                                                                                                                          woah there\n                                                                                                                                                                                                                                                                                                                                                          <span>\n                                                                                                                                                                                                                                                                                                                                                            hello world\n                                                                                                                                                                                                                                                                                                                                                          </span>\n                                                                                                                                                                                                                                                                                                                                                          <style data-emotion=\"some-key 13a4u4g\"\n                                                                                                                                                                                                                                                                                                                                                                 nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                                          >\n                                                                                                                                                                                                                                                                                                                                                            .some-key-13a4u4g{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                                          </style>\n                                                                                                                                                                                                                                                                                                                                                          <div class=\"some-key-13a4u4g\">\n                                                                                                                                                                                                                                                                                                                                                            woah there\n                                                                                                                                                                                                                                                                                                                                                            <span>\n                                                                                                                                                                                                                                                                                                                                                              hello world\n                                                                                                                                                                                                                                                                                                                                                            </span>\n                                                                                                                                                                                                                                                                                                                                                            <style data-emotion=\"some-key 99b9o6\"\n                                                                                                                                                                                                                                                                                                                                                                   nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                                            >\n                                                                                                                                                                                                                                                                                                                                                              .some-key-99b9o6{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                                            </style>\n                                                                                                                                                                                                                                                                                                                                                            <div class=\"some-key-99b9o6\">\n                                                                                                                                                                                                                                                                                                                                                              woah there\n                                                                                                                                                                                                                                                                                                                                                              <span>\n                                                                                                                                                                                                                                                                                                                                                                hello world\n                                                                                                                                                                                                                                                                                                                                                              </span>\n                                                                                                                                                                                                                                                                                                                                                              <style data-emotion=\"some-key mccdz6\"\n                                                                                                                                                                                                                                                                                                                                                                     nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                                              >\n                                                                                                                                                                                                                                                                                                                                                                .some-key-mccdz6{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                                              </style>\n                                                                                                                                                                                                                                                                                                                                                              <div class=\"some-key-mccdz6\">\n                                                                                                                                                                                                                                                                                                                                                                woah there\n                                                                                                                                                                                                                                                                                                                                                                <span>\n                                                                                                                                                                                                                                                                                                                                                                  hello world\n                                                                                                                                                                                                                                                                                                                                                                </span>\n                                                                                                                                                                                                                                                                                                                                                                <style data-emotion=\"some-key vh0ult\"\n                                                                                                                                                                                                                                                                                                                                                                       nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                                                >\n                                                                                                                                                                                                                                                                                                                                                                  .some-key-vh0ult{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                                                </style>\n                                                                                                                                                                                                                                                                                                                                                                <div class=\"some-key-vh0ult\">\n                                                                                                                                                                                                                                                                                                                                                                  woah there\n                                                                                                                                                                                                                                                                                                                                                                  <span>\n                                                                                                                                                                                                                                                                                                                                                                    hello world\n                                                                                                                                                                                                                                                                                                                                                                  </span>\n                                                                                                                                                                                                                                                                                                                                                                  <style data-emotion=\"some-key 1jkc31r\"\n                                                                                                                                                                                                                                                                                                                                                                         nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                                                  >\n                                                                                                                                                                                                                                                                                                                                                                    .some-key-1jkc31r{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                                                  </style>\n                                                                                                                                                                                                                                                                                                                                                                  <div class=\"some-key-1jkc31r\">\n                                                                                                                                                                                                                                                                                                                                                                    woah there\n                                                                                                                                                                                                                                                                                                                                                                    <span>\n                                                                                                                                                                                                                                                                                                                                                                      hello world\n                                                                                                                                                                                                                                                                                                                                                                    </span>\n                                                                                                                                                                                                                                                                                                                                                                    <style data-emotion=\"some-key a00fqn\"\n                                                                                                                                                                                                                                                                                                                                                                           nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                                                    >\n                                                                                                                                                                                                                                                                                                                                                                      .some-key-a00fqn{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                                                    </style>\n                                                                                                                                                                                                                                                                                                                                                                    <div class=\"some-key-a00fqn\">\n                                                                                                                                                                                                                                                                                                                                                                      woah there\n                                                                                                                                                                                                                                                                                                                                                                      <span>\n                                                                                                                                                                                                                                                                                                                                                                        hello world\n                                                                                                                                                                                                                                                                                                                                                                      </span>\n                                                                                                                                                                                                                                                                                                                                                                      <style data-emotion=\"some-key jkplpw\"\n                                                                                                                                                                                                                                                                                                                                                                             nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                                                      >\n                                                                                                                                                                                                                                                                                                                                                                        .some-key-jkplpw{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                                                      </style>\n                                                                                                                                                                                                                                                                                                                                                                      <div class=\"some-key-jkplpw\">\n                                                                                                                                                                                                                                                                                                                                                                        woah there\n                                                                                                                                                                                                                                                                                                                                                                        <span>\n                                                                                                                                                                                                                                                                                                                                                                          hello world\n                                                                                                                                                                                                                                                                                                                                                                        </span>\n                                                                                                                                                                                                                                                                                                                                                                        <style data-emotion=\"some-key 10sw1k2\"\n                                                                                                                                                                                                                                                                                                                                                                               nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                                                        >\n                                                                                                                                                                                                                                                                                                                                                                          .some-key-10sw1k2{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                                                        </style>\n                                                                                                                                                                                                                                                                                                                                                                        <div class=\"some-key-10sw1k2\">\n                                                                                                                                                                                                                                                                                                                                                                          woah there\n                                                                                                                                                                                                                                                                                                                                                                          <span>\n                                                                                                                                                                                                                                                                                                                                                                            hello world\n                                                                                                                                                                                                                                                                                                                                                                          </span>\n                                                                                                                                                                                                                                                                                                                                                                          <style data-emotion=\"some-key gs8wd6\"\n                                                                                                                                                                                                                                                                                                                                                                                 nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                                                          >\n                                                                                                                                                                                                                                                                                                                                                                            .some-key-gs8wd6{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                                                          </style>\n                                                                                                                                                                                                                                                                                                                                                                          <div class=\"some-key-gs8wd6\">\n                                                                                                                                                                                                                                                                                                                                                                            woah there\n                                                                                                                                                                                                                                                                                                                                                                            <span>\n                                                                                                                                                                                                                                                                                                                                                                              hello world\n                                                                                                                                                                                                                                                                                                                                                                            </span>\n                                                                                                                                                                                                                                                                                                                                                                            <style data-emotion=\"some-key 1kgu7pf\"\n                                                                                                                                                                                                                                                                                                                                                                                   nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                                                            >\n                                                                                                                                                                                                                                                                                                                                                                              .some-key-1kgu7pf{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                                                            </style>\n                                                                                                                                                                                                                                                                                                                                                                            <div class=\"some-key-1kgu7pf\">\n                                                                                                                                                                                                                                                                                                                                                                              woah there\n                                                                                                                                                                                                                                                                                                                                                                              <span>\n                                                                                                                                                                                                                                                                                                                                                                                hello world\n                                                                                                                                                                                                                                                                                                                                                                              </span>\n                                                                                                                                                                                                                                                                                                                                                                              <style data-emotion=\"some-key abzsl4\"\n                                                                                                                                                                                                                                                                                                                                                                                     nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                                                              >\n                                                                                                                                                                                                                                                                                                                                                                                .some-key-abzsl4{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                                                              </style>\n                                                                                                                                                                                                                                                                                                                                                                              <div class=\"some-key-abzsl4\">\n                                                                                                                                                                                                                                                                                                                                                                                woah there\n                                                                                                                                                                                                                                                                                                                                                                                <span>\n                                                                                                                                                                                                                                                                                                                                                                                  hello world\n                                                                                                                                                                                                                                                                                                                                                                                </span>\n                                                                                                                                                                                                                                                                                                                                                                                <style data-emotion=\"some-key 1k6hdda\"\n                                                                                                                                                                                                                                                                                                                                                                                       nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                                                                >\n                                                                                                                                                                                                                                                                                                                                                                                  .some-key-1k6hdda{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                                                                </style>\n                                                                                                                                                                                                                                                                                                                                                                                <div class=\"some-key-1k6hdda\">\n                                                                                                                                                                                                                                                                                                                                                                                  woah there\n                                                                                                                                                                                                                                                                                                                                                                                  <span>\n                                                                                                                                                                                                                                                                                                                                                                                    hello world\n                                                                                                                                                                                                                                                                                                                                                                                  </span>\n                                                                                                                                                                                                                                                                                                                                                                                  <style data-emotion=\"some-key 9gkufl\"\n                                                                                                                                                                                                                                                                                                                                                                                         nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                                                                  >\n                                                                                                                                                                                                                                                                                                                                                                                    .some-key-9gkufl{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                                                                  </style>\n                                                                                                                                                                                                                                                                                                                                                                                  <div class=\"some-key-9gkufl\">\n                                                                                                                                                                                                                                                                                                                                                                                    woah there\n                                                                                                                                                                                                                                                                                                                                                                                    <span>\n                                                                                                                                                                                                                                                                                                                                                                                      hello world\n                                                                                                                                                                                                                                                                                                                                                                                    </span>\n                                                                                                                                                                                                                                                                                                                                                                                    <style data-emotion=\"some-key 1ewesh6\"\n                                                                                                                                                                                                                                                                                                                                                                                           nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                                                                    >\n                                                                                                                                                                                                                                                                                                                                                                                      .some-key-1ewesh6{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                                                                    </style>\n                                                                                                                                                                                                                                                                                                                                                                                    <div class=\"some-key-1ewesh6\">\n                                                                                                                                                                                                                                                                                                                                                                                      woah there\n                                                                                                                                                                                                                                                                                                                                                                                      <span>\n                                                                                                                                                                                                                                                                                                                                                                                        hello world\n                                                                                                                                                                                                                                                                                                                                                                                      </span>\n                                                                                                                                                                                                                                                                                                                                                                                      <style data-emotion=\"some-key 9e7j34\"\n                                                                                                                                                                                                                                                                                                                                                                                             nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                                                                      >\n                                                                                                                                                                                                                                                                                                                                                                                        .some-key-9e7j34{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                                                                      </style>\n                                                                                                                                                                                                                                                                                                                                                                                      <div class=\"some-key-9e7j34\">\n                                                                                                                                                                                                                                                                                                                                                                                        woah there\n                                                                                                                                                                                                                                                                                                                                                                                        <span>\n                                                                                                                                                                                                                                                                                                                                                                                          hello world\n                                                                                                                                                                                                                                                                                                                                                                                        </span>\n                                                                                                                                                                                                                                                                                                                                                                                        <style data-emotion=\"some-key 1ta3m3l\"\n                                                                                                                                                                                                                                                                                                                                                                                               nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                                                                        >\n                                                                                                                                                                                                                                                                                                                                                                                          .some-key-1ta3m3l{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                                                                        </style>\n                                                                                                                                                                                                                                                                                                                                                                                        <div class=\"some-key-1ta3m3l\">\n                                                                                                                                                                                                                                                                                                                                                                                          woah there\n                                                                                                                                                                                                                                                                                                                                                                                          <span>\n                                                                                                                                                                                                                                                                                                                                                                                            hello world\n                                                                                                                                                                                                                                                                                                                                                                                          </span>\n                                                                                                                                                                                                                                                                                                                                                                                          <style data-emotion=\"some-key mke1vr\"\n                                                                                                                                                                                                                                                                                                                                                                                                 nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                                                                          >\n                                                                                                                                                                                                                                                                                                                                                                                            .some-key-mke1vr{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                                                                          </style>\n                                                                                                                                                                                                                                                                                                                                                                                          <div class=\"some-key-mke1vr\">\n                                                                                                                                                                                                                                                                                                                                                                                            woah there\n                                                                                                                                                                                                                                                                                                                                                                                            <span>\n                                                                                                                                                                                                                                                                                                                                                                                              hello world\n                                                                                                                                                                                                                                                                                                                                                                                            </span>\n                                                                                                                                                                                                                                                                                                                                                                                            <style data-emotion=\"some-key 138g2ic\"\n                                                                                                                                                                                                                                                                                                                                                                                                   nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                                                                            >\n                                                                                                                                                                                                                                                                                                                                                                                              .some-key-138g2ic{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                                                                            </style>\n                                                                                                                                                                                                                                                                                                                                                                                            <div class=\"some-key-138g2ic\">\n                                                                                                                                                                                                                                                                                                                                                                                              woah there\n                                                                                                                                                                                                                                                                                                                                                                                              <span>\n                                                                                                                                                                                                                                                                                                                                                                                                hello world\n                                                                                                                                                                                                                                                                                                                                                                                              </span>\n                                                                                                                                                                                                                                                                                                                                                                                              <style data-emotion=\"some-key 1ambdpy\"\n                                                                                                                                                                                                                                                                                                                                                                                                     nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                                                                              >\n                                                                                                                                                                                                                                                                                                                                                                                                .some-key-1ambdpy{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                                                                              </style>\n                                                                                                                                                                                                                                                                                                                                                                                              <div class=\"some-key-1ambdpy\">\n                                                                                                                                                                                                                                                                                                                                                                                                woah there\n                                                                                                                                                                                                                                                                                                                                                                                                <span>\n                                                                                                                                                                                                                                                                                                                                                                                                  hello world\n                                                                                                                                                                                                                                                                                                                                                                                                </span>\n                                                                                                                                                                                                                                                                                                                                                                                                <style data-emotion=\"some-key 36wzef\"\n                                                                                                                                                                                                                                                                                                                                                                                                       nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                                                                                >\n                                                                                                                                                                                                                                                                                                                                                                                                  .some-key-36wzef{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                                                                                </style>\n                                                                                                                                                                                                                                                                                                                                                                                                <div class=\"some-key-36wzef\">\n                                                                                                                                                                                                                                                                                                                                                                                                  woah there\n                                                                                                                                                                                                                                                                                                                                                                                                  <span>\n                                                                                                                                                                                                                                                                                                                                                                                                    hello world\n                                                                                                                                                                                                                                                                                                                                                                                                  </span>\n                                                                                                                                                                                                                                                                                                                                                                                                  <style data-emotion=\"some-key 1vluzwd\"\n                                                                                                                                                                                                                                                                                                                                                                                                         nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                                                                                  >\n                                                                                                                                                                                                                                                                                                                                                                                                    .some-key-1vluzwd{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                                                                                  </style>\n                                                                                                                                                                                                                                                                                                                                                                                                  <div class=\"some-key-1vluzwd\">\n                                                                                                                                                                                                                                                                                                                                                                                                    woah there\n                                                                                                                                                                                                                                                                                                                                                                                                    <span>\n                                                                                                                                                                                                                                                                                                                                                                                                      hello world\n                                                                                                                                                                                                                                                                                                                                                                                                    </span>\n                                                                                                                                                                                                                                                                                                                                                                                                    <style data-emotion=\"some-key 1o5nzp5\"\n                                                                                                                                                                                                                                                                                                                                                                                                           nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                                                                                    >\n                                                                                                                                                                                                                                                                                                                                                                                                      .some-key-1o5nzp5{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                                                                                    </style>\n                                                                                                                                                                                                                                                                                                                                                                                                    <div class=\"some-key-1o5nzp5\">\n                                                                                                                                                                                                                                                                                                                                                                                                      woah there\n                                                                                                                                                                                                                                                                                                                                                                                                      <span>\n                                                                                                                                                                                                                                                                                                                                                                                                        hello world\n                                                                                                                                                                                                                                                                                                                                                                                                      </span>\n                                                                                                                                                                                                                                                                                                                                                                                                      <style data-emotion=\"some-key xnoh5a\"\n                                                                                                                                                                                                                                                                                                                                                                                                             nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                                                                                      >\n                                                                                                                                                                                                                                                                                                                                                                                                        .some-key-xnoh5a{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                                                                                      </style>\n                                                                                                                                                                                                                                                                                                                                                                                                      <div class=\"some-key-xnoh5a\">\n                                                                                                                                                                                                                                                                                                                                                                                                        woah there\n                                                                                                                                                                                                                                                                                                                                                                                                        <span>\n                                                                                                                                                                                                                                                                                                                                                                                                          hello world\n                                                                                                                                                                                                                                                                                                                                                                                                        </span>\n                                                                                                                                                                                                                                                                                                                                                                                                        <style data-emotion=\"some-key 1gl3nb5\"\n                                                                                                                                                                                                                                                                                                                                                                                                               nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                                                                                        >\n                                                                                                                                                                                                                                                                                                                                                                                                          .some-key-1gl3nb5{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                                                                                        </style>\n                                                                                                                                                                                                                                                                                                                                                                                                        <div class=\"some-key-1gl3nb5\">\n                                                                                                                                                                                                                                                                                                                                                                                                          woah there\n                                                                                                                                                                                                                                                                                                                                                                                                          <span>\n                                                                                                                                                                                                                                                                                                                                                                                                            hello world\n                                                                                                                                                                                                                                                                                                                                                                                                          </span>\n                                                                                                                                                                                                                                                                                                                                                                                                          <style data-emotion=\"some-key 1etkgh2\"\n                                                                                                                                                                                                                                                                                                                                                                                                                 nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                                                                                          >\n                                                                                                                                                                                                                                                                                                                                                                                                            .some-key-1etkgh2{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                                                                                          </style>\n                                                                                                                                                                                                                                                                                                                                                                                                          <div class=\"some-key-1etkgh2\">\n                                                                                                                                                                                                                                                                                                                                                                                                            woah there\n                                                                                                                                                                                                                                                                                                                                                                                                            <span>\n                                                                                                                                                                                                                                                                                                                                                                                                              hello world\n                                                                                                                                                                                                                                                                                                                                                                                                            </span>\n                                                                                                                                                                                                                                                                                                                                                                                                            <style data-emotion=\"some-key 191jeup\"\n                                                                                                                                                                                                                                                                                                                                                                                                                   nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                                                                                            >\n                                                                                                                                                                                                                                                                                                                                                                                                              .some-key-191jeup{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                                                                                            </style>\n                                                                                                                                                                                                                                                                                                                                                                                                            <div class=\"some-key-191jeup\">\n                                                                                                                                                                                                                                                                                                                                                                                                              woah there\n                                                                                                                                                                                                                                                                                                                                                                                                              <span>\n                                                                                                                                                                                                                                                                                                                                                                                                                hello world\n                                                                                                                                                                                                                                                                                                                                                                                                              </span>\n                                                                                                                                                                                                                                                                                                                                                                                                              <style data-emotion=\"some-key 1wes8i6\"\n                                                                                                                                                                                                                                                                                                                                                                                                                     nonce=\"some-nonce\"\n                                                                                                                                                                                                                                                                                                                                                                                                              >\n                                                                                                                                                                                                                                                                                                                                                                                                                .some-key-1wes8i6{color:hotpink;}\n                                                                                                                                                                                                                                                                                                                                                                                                              </style>\n                                                                                                                                                                                                                                                                                                                                                                                                              <div class=\"some-key-1wes8i6\">\n                                                                                                                                                                                                                                                                                                                                                                                                                woah there\n                                                                                                                                                                                                                                                                                                                                                                                                                <span>\n                                                                                                                                                                                                                                                                                                                                                                                                                  hello world\n                                                                                                                                                                                                                                                                                                                                                                                                                </span>\n                                                                                                                                                                                                                                                                                                                                                                                                              </div>\n                                                                                                                                                                                                                                                                                                                                                                                                            </div>\n                                                                                                                                                                                                                                                                                                                                                                                                          </div>\n                                                                                                                                                                                                                                                                                                                                                                                                        </div>\n                                                                                                                                                                                                                                                                                                                                                                                                      </div>\n                                                                                                                                                                                                                                                                                                                                                                                                    </div>\n                                                                                                                                                                                                                                                                                                                                                                                                  </div>\n                                                                                                                                                                                                                                                                                                                                                                                                </div>\n                                                                                                                                                                                                                                                                                                                                                                                              </div>\n                                                                                                                                                                                                                                                                                                                                                                                            </div>\n                                                                                                                                                                                                                                                                                                                                                                                          </div>\n                                                                                                                                                                                                                                                                                                                                                                                        </div>\n                                                                                                                                                                                                                                                                                                                                                                                      </div>\n                                                                                                                                                                                                                                                                                                                                                                                    </div>\n                                                                                                                                                                                                                                                                                                                                                                                  </div>\n                                                                                                                                                                                                                                                                                                                                                                                </div>\n                                                                                                                                                                                                                                                                                                                                                                              </div>\n                                                                                                                                                                                                                                                                                                                                                                            </div>\n                                                                                                                                                                                                                                                                                                                                                                          </div>\n                                                                                                                                                                                                                                                                                                                                                                        </div>\n                                                                                                                                                                                                                                                                                                                                                                      </div>\n                                                                                                                                                                                                                                                                                                                                                                    </div>\n                                                                                                                                                                                                                                                                                                                                                                  </div>\n                                                                                                                                                                                                                                                                                                                                                                </div>\n                                                                                                                                                                                                                                                                                                                                                              </div>\n                                                                                                                                                                                                                                                                                                                                                            </div>\n                                                                                                                                                                                                                                                                                                                                                          </div>\n                                                                                                                                                                                                                                                                                                                                                        </div>\n                                                                                                                                                                                                                                                                                                                                                      </div>\n                                                                                                                                                                                                                                                                                                                                                    </div>\n                                                                                                                                                                                                                                                                                                                                                  </div>\n                                                                                                                                                                                                                                                                                                                                                </div>\n                                                                                                                                                                                                                                                                                                                                              </div>\n                                                                                                                                                                                                                                                                                                                                            </div>\n                                                                                                                                                                                                                                                                                                                                          </div>\n                                                                                                                                                                                                                                                                                                                                        </div>\n                                                                                                                                                                                                                                                                                                                                      </div>\n                                                                                                                                                                                                                                                                                                                                    </div>\n                                                                                                                                                                                                                                                                                                                                  </div>\n                                                                                                                                                                                                                                                                                                                                </div>\n                                                                                                                                                                                                                                                                                                                              </div>\n                                                                                                                                                                                                                                                                                                                            </div>\n                                                                                                                                                                                                                                                                                                                          </div>\n                                                                                                                                                                                                                                                                                                                        </div>\n                                                                                                                                                                                                                                                                                                                      </div>\n                                                                                                                                                                                                                                                                                                                    </div>\n                                                                                                                                                                                                                                                                                                                  </div>\n                                                                                                                                                                                                                                                                                                                </div>\n                                                                                                                                                                                                                                                                                                              </div>\n                                                                                                                                                                                                                                                                                                            </div>\n                                                                                                                                                                                                                                                                                                          </div>\n                                                                                                                                                                                                                                                                                                        </div>\n                                                                                                                                                                                                                                                                                                      </div>\n                                                                                                                                                                                                                                                                                                    </div>\n                                                                                                                                                                                                                                                                                                  </div>\n                                                                                                                                                                                                                                                                                                </div>\n                                                                                                                                                                                                                                                                                              </div>\n                                                                                                                                                                                                                                                                                            </div>\n                                                                                                                                                                                                                                                                                          </div>\n                                                                                                                                                                                                                                                                                        </div>\n                                                                                                                                                                                                                                                                                      </div>\n                                                                                                                                                                                                                                                                                    </div>\n                                                                                                                                                                                                                                                                                  </div>\n                                                                                                                                                                                                                                                                                </div>\n                                                                                                                                                                                                                                                                              </div>\n                                                                                                                                                                                                                                                                            </div>\n                                                                                                                                                                                                                                                                          </div>\n                                                                                                                                                                                                                                                                        </div>\n                                                                                                                                                                                                                                                                      </div>\n                                                                                                                                                                                                                                                                    </div>\n                                                                                                                                                                                                                                                                  </div>\n                                                                                                                                                                                                                                                                </div>\n                                                                                                                                                                                                                                                              </div>\n                                                                                                                                                                                                                                                            </div>\n                                                                                                                                                                                                                                                          </div>\n                                                                                                                                                                                                                                                        </div>\n                                                                                                                                                                                                                                                      </div>\n                                                                                                                                                                                                                                                    </div>\n                                                                                                                                                                                                                                                  </div>\n                                                                                                                                                                                                                                                </div>\n                                                                                                                                                                                                                                              </div>\n                                                                                                                                                                                                                                            </div>\n                                                                                                                                                                                                                                          </div>\n                                                                                                                                                                                                                                        </div>\n                                                                                                                                                                                                                                      </div>\n                                                                                                                                                                                                                                    </div>\n                                                                                                                                                                                                                                  </div>\n                                                                                                                                                                                                                                </div>\n                                                                                                                                                                                                                              </div>\n                                                                                                                                                                                                                            </div>\n                                                                                                                                                                                                                          </div>\n                                                                                                                                                                                                                        </div>\n                                                                                                                                                                                                                      </div>\n                                                                                                                                                                                                                    </div>\n                                                                                                                                                                                                                  </div>\n                                                                                                                                                                                                                </div>\n                                                                                                                                                                                                              </div>\n                                                                                                                                                                                                            </div>\n                                                                                                                                                                                                          </div>\n                                                                                                                                                                                                        </div>\n                                                                                                                                                                                                      </div>\n                                                                                                                                                                                                    </div>\n                                                                                                                                                                                                  </div>\n                                                                                                                                                                                                </div>\n                                                                                                                                                                                              </div>\n                                                                                                                                                                                            </div>\n                                                                                                                                                                                          </div>\n                                                                                                                                                                                        </div>\n                                                                                                                                                                                      </div>\n                                                                                                                                                                                    </div>\n                                                                                                                                                                                  </div>\n                                                                                                                                                                                </div>\n                                                                                                                                                                              </div>\n                                                                                                                                                                            </div>\n                                                                                                                                                                          </div>\n                                                                                                                                                                        </div>\n                                                                                                                                                                      </div>\n                                                                                                                                                                    </div>\n                                                                                                                                                                  </div>\n                                                                                                                                                                </div>\n                                                                                                                                                              </div>\n                                                                                                                                                            </div>\n                                                                                                                                                          </div>\n                                                                                                                                                        </div>\n                                                                                                                                                      </div>\n                                                                                                                                                    </div>\n                                                                                                                                                  </div>\n                                                                                                                                                </div>\n                                                                                                                                              </div>\n                                                                                                                                            </div>\n                                                                                                                                          </div>\n                                                                                                                                        </div>\n                                                                                                                                      </div>\n                                                                                                                                    </div>\n                                                                                                                                  </div>\n                                                                                                                                </div>\n                                                                                                                              </div>\n                                                                                                                            </div>\n                                                                                                                          </div>\n                                                                                                                        </div>\n                                                                                                                      </div>\n                                                                                                                    </div>\n                                                                                                                  </div>\n                                                                                                                </div>\n                                                                                                              </div>\n                                                                                                            </div>\n                                                                                                          </div>\n                                                                                                        </div>\n                                                                                                      </div>\n                                                                                                    </div>\n                                                                                                  </div>\n                                                                                                </div>\n                                                                                              </div>\n                                                                                            </div>\n                                                                                          </div>\n                                                                                        </div>\n                                                                                      </div>\n                                                                                    </div>\n                                                                                  </div>\n                                                                                </div>\n                                                                              </div>\n                                                                            </div>\n                                                                          </div>\n                                                                        </div>\n                                                                      </div>\n                                                                    </div>\n                                                                  </div>\n                                                                </div>\n                                                              </div>\n                                                            </div>\n                                                          </div>\n                                                        </div>\n                                                      </div>\n                                                    </div>\n                                                  </div>\n                                                </div>\n                                              </div>\n                                            </div>\n                                          </div>\n                                        </div>\n                                      </div>\n                                    </div>\n                                  </div>\n                                </div>\n                              </div>\n                            </div>\n                          </div>\n                        </div>\n                      </div>\n                    </div>\n                  </div>\n                </div>\n              </div>\n            </div>\n          </div>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n`;\n\nexports[`renderStylesToNodeStream renders styles with ids 1`] = `\n<style data-emotion=\"some-key fgjrlg-hoverStyles-Something_Main 1uqawbr i9f7qw-bounce 1nhdffy\"\n       nonce=\"some-nonce\"\n>\n  @font-face{font-family:'Patrick Hand SC';font-style:normal;font-weight:400;src:local('Patrick Hand SC'),local('PatrickHandSC-Regular'),url(https://fonts.gstatic.com/s/patrickhandsc/v4/OYFWCgfCR-7uHIovjUZXsZ71Uis0Qeb9Gqo8IZV7ckE.woff2) format('woff2');unicode-range:U+0100-024f,U+1-1eff,U+20a0-20ab,U+20ad-20cf,U+2c60-2c7f,U+A720-A7FF;}@keyframes animation-i9f7qw-bounce{from,20%,53%,80%,to{animation-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transform:translate3d(0, 0, 0);}40%,43%{animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);transform:translate3d(0, -30px, 0);}70%{animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);transform:translate3d(0, -15px, 0);}90%{transform:translate3d(0, -4px, 0);}}.no-prefix{display:flex;justify-content:center;}.some-key-fgjrlg-hoverStyles-Something_Main{color:hotpink;display:flex;}.some-key-fgjrlg-hoverStyles-Something_Main:hover{color:hotpink;background-color:lightgray;border-color:aqua;box-shadow:-15px -15px 0 0 aqua,-30px -30px 0 0 cornflowerblue;}\n</style>\n<main class=\"some-key-fgjrlg-hoverStyles-Something_Main\">\n  <style data-emotion=\"some-key 1h1w8ez-Image\"\n         nonce=\"some-nonce\"\n  >\n    .some-key-1h1w8ez-Image{animation:animation-i9f7qw-bounce;border-radius:50%;height:50px;width:50px;background-color:red;}\n  </style>\n  <img size=\"30\"\n       class=\"some-key-1h1w8ez-Image\"\n  >\n  <img size=\"100\"\n       class=\"some-key-1h1w8ez-Image\"\n  >\n  <img class=\"some-key-1h1w8ez-Image\">\n</main>\n`;\n\nexports[`renderStylesToNodeStream renders styles with ids 2`] = `\n<style data-emotion=\"some-key fgjrlg-hoverStyles-Something_Main 1uqawbr i9f7qw-bounce 1nhdffy\"\n       nonce=\"some-nonce\"\n>\n  @font-face{font-family:'Patrick Hand SC';font-style:normal;font-weight:400;src:local('Patrick Hand SC'),local('PatrickHandSC-Regular'),url(https://fonts.gstatic.com/s/patrickhandsc/v4/OYFWCgfCR-7uHIovjUZXsZ71Uis0Qeb9Gqo8IZV7ckE.woff2) format('woff2');unicode-range:U+0100-024f,U+1-1eff,U+20a0-20ab,U+20ad-20cf,U+2c60-2c7f,U+A720-A7FF;}@keyframes animation-i9f7qw-bounce{from,20%,53%,80%,to{animation-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transform:translate3d(0, 0, 0);}40%,43%{animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);transform:translate3d(0, -30px, 0);}70%{animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);transform:translate3d(0, -15px, 0);}90%{transform:translate3d(0, -4px, 0);}}.no-prefix{display:flex;justify-content:center;}.some-key-fgjrlg-hoverStyles-Something_Main{color:hotpink;display:flex;}.some-key-fgjrlg-hoverStyles-Something_Main:hover{color:hotpink;background-color:lightgray;border-color:aqua;box-shadow:-15px -15px 0 0 aqua,-30px -30px 0 0 cornflowerblue;}\n</style>\n<main class=\"some-key-fgjrlg-hoverStyles-Something_Main\">\n  <div>\n    Hello\n  </div>\n</main>\n`;\n"
  },
  {
    "path": "packages/css/test/instance/css.test.js",
    "content": "import 'test-utils/next-env'\nimport React from 'react'\nimport renderer from 'react-test-renderer'\nimport { css as differentCss, flush, sheet } from './emotion-instance'\n\ndescribe('css', () => {\n  test('float property', () => {\n    const cls1 = differentCss`\n      float: left;\n    `\n\n    const tree = renderer.create(<div className={cls1} />).toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('handles more than 10 dynamic properties', () => {\n    const cls1 = differentCss`\n      text-decoration: ${'underline'};\n      border-right: solid blue 54px;\n      background: ${'white'};\n      color: ${'black'};\n      display: ${'block'};\n      border-radius: ${'3px'};\n      padding: ${'25px'};\n      width: ${'500px'};\n      z-index: ${100};\n      font-size: ${'18px'};\n      text-align: ${'center'};\n    `\n\n    const tree = renderer.create(<div className={cls1} />).toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('falsy value in nested selector on object', () => {\n    const cls1 = differentCss({ ':hover': { display: null, color: 'hotpink' } })\n    const tree = renderer.create(<div className={cls1} />).toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n  test('boolean as value', () => {\n    const cls1 = differentCss({\n      display: 'flex',\n      color: false,\n      backgroundColor: true\n    })\n    const tree = renderer.create(<div className={cls1} />).toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n  test('auto px', () => {\n    const cls1 = differentCss({ display: 'flex', flex: 1, fontSize: 10 })\n    const tree = renderer.create(<div className={cls1} />).toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('random interpolation with undefined values', () => {\n    const cls2 = differentCss`\n      ${undefined};\n      justify-content: center;\n    `\n    const tree = renderer.create(<div className={cls2} />).toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('random expression', () => {\n    const cls2 = differentCss`\n      font-size: 20px;\n      @media (min-width: 420px) {\n        color: blue;\n        ${differentCss`\n          width: 96px;\n          height: 96px;\n        `};\n        line-height: 40px;\n      }\n      background: green;\n    `\n    const tree = renderer.create(<div className={cls2} />).toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('simple composition', () => {\n    const cls1 = differentCss`\n      display: flex;\n      &:hover {\n        color: hotpink;\n      }\n    `\n    const cls2 = differentCss`\n      ${cls1};\n      justify-content: center;\n    `\n    const tree = renderer.create(<div className={cls2} />).toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('handles objects', () => {\n    const cls1 = differentCss({\n      float: 'left',\n      display: 'flex',\n      color: `${'blue'}`,\n      fontSize: `${'20px'}`,\n      height: 50,\n      width: 20\n    })\n    const tree = renderer.create(<div className={cls1} />).toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('handles array of objects', () => {\n    const cls1 = differentCss([{ height: 50, width: 20 }, null])\n    const tree = renderer.create(<div className={cls1} />).toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('computed key is only dynamic', () => {\n    const cls1 = differentCss({ fontSize: 10, [`w${'idth'}`]: 20 })\n    const tree = renderer.create(<div className={cls1} />).toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('composition with objects', () => {\n    const cls1 = differentCss({\n      display: 'flex',\n      width: 30,\n      height: 'calc(40vw - 50px)',\n      '&:hover': { color: 'blue' },\n      ':after': {\n        content: '\" \"',\n        color: 'red'\n      },\n      '@media(min-width: 420px)': {\n        color: 'green'\n      }\n    })\n    const cls2 = differentCss`\n      ${cls1};\n      justify-content: center;\n    `\n\n    const tree = renderer.create(<div className={cls2} />).toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n  test('@supports', () => {\n    const cls1 = differentCss`\n      @supports (display: grid) {\n        display: grid;\n      }\n    `\n    const tree = renderer.create(<div className={cls1} />).toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n  test.skip('nested at rules', () => {\n    const cls1 = differentCss`\n      @supports (display: grid) {\n        display: grid;\n        @supports (display: flex) {\n          display: flex;\n        }\n      }\n      @media (min-width: 420px) {\n        color: pink;\n        @media (max-width: 500px) {\n          color: hotpink;\n        }\n      }\n    `\n    const tree = renderer.create(<div className={cls1} />).toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n  test('nested array', () => {\n    const cls1 = differentCss([\n      [{ display: 'inline' }],\n      [{ display: 'inline-block' }],\n      [\n        { display: 'block' },\n        [\n          { display: 'flex' },\n          [\n            { display: 'table' },\n            { color: 'darkorchid' },\n            [\n              {\n                fontSize: 16\n              },\n              [{ '&:after': { backgroundColor: 'aquamarine' } }]\n            ]\n          ]\n        ]\n      ]\n    ])\n    const tree = renderer.create(<div className={cls1} />).toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('explicit false', () => {\n    const cls1 = differentCss(false)\n    const tree = renderer.create(<div className={cls1} />).toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('array with explicit false', () => {\n    const cls1 = differentCss([[{ display: 'flex' }], false])\n    const tree = renderer.create(<div className={cls1} />).toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('array with explicit true', () => {\n    const cls1 = differentCss([[{ display: 'flex' }], true])\n    const tree = renderer.create(<div className={cls1} />).toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('nested', () => {\n    const cls1 = differentCss`\n      color: yellow;\n      & .some-class {\n        display: flex;\n        & .some-other-class {\n          background-color: hotpink;\n        }\n        @media (max-width: 600px) {\n          background-color: pink;\n        }\n      }\n    `\n    const tree = renderer\n      .create(\n        <div className={cls1}>\n          <div className=\"some-class\">\n            <div className=\"some-other-class\" />\n          </div>\n        </div>\n      )\n      .toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n  test('explicit &', () => {\n    flush()\n    const cls1 = differentCss`\n      &.another-class {\n        display: flex;\n      }\n    `\n    const tree = renderer\n      .create(<div className={`${cls1} another-class`} />)\n      .toJSON()\n    expect(tree).toMatchSnapshot()\n    expect(sheet).toMatchSnapshot()\n    flush()\n  })\n  test('falsy property value in object', () => {\n    const cls = differentCss({ display: 'flex', backgroundColor: undefined })\n    const tree = renderer.create(<div className={cls} />).toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n  test('registered styles as nested selector value in object', () => {\n    const cls = differentCss({ display: 'flex', backgroundColor: 'hotpink' })\n    const cls1 = differentCss({ ':hover': cls })\n    const tree = renderer.create(<div className={cls1} />).toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n  test('composition stuff', () => {\n    const cls1 = differentCss({ justifyContent: 'center' })\n    const cls2 = differentCss([cls1])\n    const tree = renderer.create(<div className={cls1} />).toJSON()\n    expect(tree).toMatchSnapshot()\n    const tree2 = renderer.create(<div className={cls2} />).toJSON()\n    expect(tree2).toMatchSnapshot()\n  })\n  test('null rule', () => {\n    const cls1 = differentCss()\n\n    const tree = renderer.create(<div className={cls1} />).toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n  test('css variables', () => {\n    const cls1 = differentCss`\n      --some-var: 1px;\n      width: var(--some-var);\n    `\n    const tree = renderer.create(<div className={cls1} />).toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('null value', () => {\n    const cls1 = differentCss(null)\n    const cls2 = differentCss`\n      ${null};\n    `\n    expect(renderer.create(<div className={cls1} />).toJSON()).toMatchSnapshot()\n    expect(renderer.create(<div className={cls2} />).toJSON()).toMatchSnapshot()\n  })\n\n  test('flushes correctly', () => {\n    const cls1 = differentCss`\n      display: flex;\n    `\n    const tree = renderer.create(<div className={cls1} />).toJSON()\n    expect(tree).toMatchSnapshot()\n    flush()\n    const tree2 = renderer.create(<div className={cls1} />).toJSON()\n    expect(tree2).toMatchSnapshot()\n  })\n  test('media query specificity', () => {\n    flush()\n    const cls = differentCss`\n      width: 32px;\n      height: 32px;\n      border-radius: 50%;\n\n      @media (min-width: 420px) {\n        width: 96px;\n        height: 96px;\n      }\n    `\n\n    const tree = renderer.create(<div className={cls} />).toJSON()\n    expect(sheet).toMatchSnapshot()\n    expect(tree).toMatchSnapshot()\n    flush()\n  })\n  test('weakmap', () => {\n    const styles = { display: 'flex' }\n    const cls1 = differentCss(styles)\n    const cls2 = differentCss(styles)\n    const tree1 = renderer.create(<div className={cls1} />).toJSON()\n    expect(tree1).toMatchSnapshot()\n    const tree2 = renderer.create(<div className={cls2} />).toJSON()\n    expect(tree2).toMatchSnapshot()\n  })\n\n  test('manually use label property', () => {\n    flush()\n    const cls1 = differentCss`\n      color: hotpink;\n      label: wow;\n    `\n    const tree = renderer.create(<div className={cls1} />).toJSON()\n    expect(tree).toMatchSnapshot()\n    expect(sheet).toMatchSnapshot()\n  })\n  test('sets correct nonce value', () => {\n    flush()\n    differentCss`\n      color: hotpink;\n    `\n    differentCss`\n      color: yellow;\n    `\n    expect(sheet.tags).toHaveLength(2)\n\n    expect(sheet.tags[0].getAttribute('nonce')).toBe('some-nonce')\n    expect(sheet.tags[1].getAttribute('nonce')).toBe('some-nonce')\n  })\n})\n"
  },
  {
    "path": "packages/css/test/instance/emotion-instance.js",
    "content": "import createEmotion from '@emotion/css/create-instance'\nimport createEmotionServer from '@emotion/server/create-instance'\n\nfunction stylisPlugin(element) {\n  if (element.type === 'decl' && element.value.startsWith('color:')) {\n    element.value = `color:hotpink;`\n  }\n}\n\nexport let container\n\nif (typeof document !== 'undefined') {\n  container = document.createElement('div')\n  document.head.appendChild(container)\n}\n\nconst emotion = createEmotion({\n  stylisPlugins: [stylisPlugin],\n  nonce: 'some-nonce',\n  key: 'some-key',\n  container\n})\n\nexport const {\n  flush,\n  hydrate,\n  cx,\n  merge,\n  getRegisteredStyles,\n  injectGlobal,\n  keyframes,\n  css,\n  sheet,\n  cache\n} = emotion\n\nexport const {\n  extractCritical,\n  renderStylesToString,\n  renderStylesToNodeStream\n} = createEmotionServer(cache)\n\nexport { default } from '@emotion/styled'\n"
  },
  {
    "path": "packages/css/test/instance/inline.test.js",
    "content": "import {\n  stripDataReactRoot,\n  disableBrowserEnvTemporarily,\n  safeQuerySelector\n} from 'test-utils'\nimport {\n  getComponents,\n  getInjectedRules,\n  createBigComponent,\n  getCssFromChunks,\n  setHtml\n} from '../../../server/test/util'\n\nlet React\nlet renderToString\nlet render\nlet emotion\nlet emotionServer\nlet reactEmotion\n\nconst resetAllModules = () => {\n  jest.resetModules()\n  React = require('react')\n  renderToString = require('react-dom/server').renderToString\n  render = require('@testing-library/react/pure').render\n  emotion = require('./emotion-instance')\n  emotionServer = require('./emotion-instance')\n  reactEmotion = require('./emotion-instance')\n}\n\ndescribe('renderStylesToString', () => {\n  test('renders styles with ids', async () => {\n    await disableBrowserEnvTemporarily(() => {\n      resetAllModules()\n      const { Page1, Page2 } = getComponents(emotion, reactEmotion)\n      expect(\n        emotionServer.renderStylesToString(renderToString(<Page1 />))\n      ).toMatchSnapshot()\n      expect(\n        emotionServer.renderStylesToString(renderToString(<Page2 />))\n      ).toMatchSnapshot()\n    })\n  })\n  test('renders large recursive component', async () => {\n    await disableBrowserEnvTemporarily(() => {\n      resetAllModules()\n      const BigComponent = createBigComponent(emotion)\n      expect(\n        stripDataReactRoot(\n          emotionServer.renderStylesToString(\n            renderToString(<BigComponent count={200} />)\n          )\n        )\n      ).toMatchSnapshot()\n    })\n  })\n})\ndescribe('hydration', () => {\n  test('only inserts rules that are not in the critical css', async () => {\n    const appHtml = await disableBrowserEnvTemporarily(() => {\n      resetAllModules()\n\n      const { Page1 } = getComponents(emotion, reactEmotion)\n      return emotionServer.renderStylesToString(renderToString(<Page1 />))\n    })\n\n    expect(appHtml).toMatchSnapshot()\n    document.body.innerHTML = `<div id=\"root\">${appHtml}</div>`\n\n    resetAllModules()\n\n    expect(emotion.cache.registered).toEqual({})\n\n    const { Page1: NewPage1 } = getComponents(emotion, reactEmotion)\n    render(<NewPage1 />, {\n      container: safeQuerySelector('#root')\n    })\n    expect(getInjectedRules()).toMatchSnapshot()\n    expect(getCssFromChunks(emotion, document)).toMatchSnapshot()\n  })\n})\n"
  },
  {
    "path": "packages/css/test/instance/instance.test.js",
    "content": "import createEmotion from '@emotion/css/create-instance'\nimport { container, css, sheet } from './emotion-instance'\n\ndescribe('general instance tests', () => {\n  test('inserts style tags into container', () => {\n    css`\n      display: flex;\n    `\n    sheet.tags.forEach(tag => {\n      expect(tag.getAttribute('data-emotion')).toBe('some-key')\n      expect(tag.getAttribute('nonce')).toBe('some-nonce')\n      expect(tag.parentNode).toBe(container)\n    })\n  })\n  test('throws with invalid key', () => {\n    expect(() => {\n      createEmotion({ key: 'css1' })\n    }).toThrowErrorMatchingSnapshot()\n  })\n})\n"
  },
  {
    "path": "packages/css/test/instance/stream.test.js",
    "content": "import {\n  stripDataReactRoot,\n  disableBrowserEnvTemporarily,\n  safeQuerySelector\n} from 'test-utils'\n\nlet React\nlet renderToString\nlet render\nlet emotion\nlet emotionServer\nlet reactEmotion\nlet util\n\nconst resetAllModules = () => {\n  jest.resetModules()\n  React = require('react')\n  renderToString = require('react-dom/server').renderToString\n  render = require('@testing-library/react/pure').render\n  emotion = require('./emotion-instance')\n  emotionServer = require('./emotion-instance')\n  reactEmotion = require('./emotion-instance')\n  util = require('../../../server/test/util')\n}\n\ndescribe('renderStylesToNodeStream', () => {\n  test('renders styles with ids', async () => {\n    await disableBrowserEnvTemporarily(async () => {\n      resetAllModules()\n      const { Page1, Page2 } = util.getComponents(emotion, reactEmotion)\n      expect(\n        await util.renderToStringWithStream(<Page1 />, emotionServer)\n      ).toMatchSnapshot()\n      expect(\n        await util.renderToStringWithStream(<Page2 />, emotionServer)\n      ).toMatchSnapshot()\n    })\n  })\n  test('renders large recursive component', async () => {\n    await disableBrowserEnvTemporarily(async () => {\n      resetAllModules()\n      const BigComponent = util.createBigComponent(emotion)\n      expect(\n        stripDataReactRoot(\n          await util.renderToStringWithStream(\n            <BigComponent count={200} />,\n            emotionServer\n          )\n        )\n      ).toMatchSnapshot()\n    })\n  })\n})\ndescribe('hydration', () => {\n  test('only inserts rules that are not in the critical css', async () => {\n    const appHtml = await disableBrowserEnvTemporarily(() => {\n      resetAllModules()\n      const { Page1 } = util.getComponents(emotion, reactEmotion)\n      return util.renderToStringWithStream(<Page1 />, emotionServer)\n    })\n\n    expect(appHtml).toMatchSnapshot()\n    document.body.innerHTML = `<div id=\"root\">${appHtml}</div>`\n\n    resetAllModules()\n\n    expect(emotion.cache.registered).toEqual({})\n\n    const { Page1: NewPage1 } = util.getComponents(emotion, reactEmotion)\n    render(<NewPage1 />, {\n      container: safeQuerySelector('#root')\n    })\n    expect(util.getInjectedRules(document)).toMatchSnapshot()\n    expect(util.getCssFromChunks(emotion, document)).toMatchSnapshot()\n  })\n})\n"
  },
  {
    "path": "packages/css/test/keyframes.test.js",
    "content": "import 'test-utils/legacy-env'\nimport React from 'react'\nimport renderer from 'react-test-renderer'\nimport { keyframes, flush, css } from '@emotion/css'\n\ndescribe('keyframes', () => {\n  afterEach(() => {\n    flush()\n  })\n  test('renders', () => {\n    const bounce = keyframes`\n      from, 20%, 53%, 80%, to {\n        animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n        transform: translate3d(0,0,0);\n      }\n    \n      40%, 43% {\n        animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);\n        transform: translate3d(0, -30px, 0);\n      }\n    \n      70% {\n        animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);\n        transform: translate3d(0, -15px, 0);\n      }\n    \n      90% {\n        transform: translate3d(0,-4px,0);\n      }\n    `\n\n    const tree = renderer\n      .create(\n        <h1\n          className={css`\n            animation: ${bounce} 2s linear infinite;\n          `}\n        >\n          hello world\n        </h1>\n      )\n      .toJSON()\n\n    expect(tree).toMatchSnapshot()\n  })\n  test('keyframes with interpolation', () => {\n    const endingRotation = '360deg'\n\n    const tree = renderer\n      .create(\n        <h1\n          className={css`\n            animation: ${keyframes`\n    from {\n      transform: rotate(0deg);\n    }\n  \n    to {\n      transform: rotate(${endingRotation});\n    }\n  `} 2s linear infinite;\n          `}\n        >\n          hello world\n        </h1>\n      )\n      .toJSON()\n\n    expect(tree).toMatchSnapshot()\n  })\n})\n"
  },
  {
    "path": "packages/css/test/label-pattern.test.js",
    "content": "import 'test-utils/legacy-env'\nimport React from 'react'\nimport styled from '@emotion/styled'\nimport renderer from 'react-test-renderer'\nimport { flush } from '@emotion/css'\n\ndescribe('label pattern', () => {\n  afterEach(() => flush())\n\n  test('input + label styled', () => {\n    const Input = styled.input`\n      & + label::after {\n        color: pink;\n        background: orange;\n      }\n    `\n\n    const tree = renderer\n      .create(\n        <div>\n          <Input />\n          <label>Label</label>\n        </div>\n      )\n      .toJSON()\n\n    expect(tree).toMatchSnapshot()\n  })\n})\n"
  },
  {
    "path": "packages/css/test/no-babel/__snapshots__/index.test.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`css @supports 1`] = `\n@supports (display: grid) {\n  .emotion-0 {\n    display: grid;\n  }\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css component as selectors (object syntax) 1`] = `\"Component selectors can only be used in conjunction with @emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware compiler transform.\"`;\n\nexports[`css component as selectors (object syntax) 2`] = `\"The above error occurred in the <Styled(div)> component:\"`;\n\nexports[`css component selectors without target 1`] = `\"Component selectors can only be used in conjunction with @emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware compiler transform.\"`;\n\nexports[`css composition 1`] = `\n.emotion-0 {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-pack: center;\n  -ms-flex-pack: center;\n  -webkit-justify-content: center;\n  justify-content: center;\n}\n\n.emotion-0:hover {\n  color: hotpink;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css composition stuff 1`] = `\n.emotion-0 {\n  -webkit-box-pack: center;\n  -ms-flex-pack: center;\n  -webkit-justify-content: center;\n  justify-content: center;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css composition stuff 2`] = `\n.emotion-0 {\n  -webkit-box-pack: center;\n  -ms-flex-pack: center;\n  -webkit-justify-content: center;\n  justify-content: center;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css composition with objects 1`] = `\n.emotion-0 {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  width: 30px;\n  height: calc(40vw - 50px);\n  -webkit-box-pack: center;\n  -ms-flex-pack: center;\n  -webkit-justify-content: center;\n  justify-content: center;\n}\n\n.emotion-0:hover {\n  color: blue;\n}\n\n.emotion-0:after {\n  content: \" \";\n  color: red;\n}\n\n@media (min-width: 420px) {\n  .emotion-0 {\n    color: green;\n  }\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css function in expression 1`] = `\n.emotion-0 {\n  font-size: 20px;\n  font-size: 40px;\n}\n\n<h1\n  className=\"legacy__class emotion-0\"\n  scale={2}\n>\n  hello world\n</h1>\n`;\n\nexports[`css glamorous style api & composition 1`] = `\n.emotion-0 {\n  font-size: 20px;\n  -webkit-flex: 1;\n  -ms-flex: 1;\n  flex: 1;\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n}\n\n<h1\n  className=\"emotion-0\"\n  fontSize={20}\n>\n  hello world\n</h1>\n`;\n\nexports[`css handles objects 1`] = `\n.emotion-0 {\n  float: left;\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  color: blue;\n  font-size: 20px;\n  height: 50px;\n  width: 20px;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css nested array 1`] = `\n.emotion-0 {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css no dynamic 1`] = `\n.emotion-0 {\n  float: left;\n}\n\n<h1\n  className=\"emotion-0\"\n>\n  hello world\n</h1>\n`;\n\nexports[`css null rule 1`] = `\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css object as style 1`] = `\n.emotion-0 {\n  font-size: 20px;\n  -webkit-flex: 1;\n  -ms-flex: 1;\n  flex: 1;\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n}\n\n<h1\n  className=\"emotion-0\"\n  fontSize={20}\n>\n  hello world\n</h1>\n`;\n\nexports[`css random expression 1`] = `\n.emotion-0 {\n  font-size: 20px;\n  background: green;\n}\n\n@media (min-width: 420px) {\n  .emotion-0 {\n    color: blue;\n    width: 96px;\n    height: 96px;\n    line-height: 40px;\n  }\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css random expressions undefined return 1`] = `\n.emotion-0 {\n  color: green;\n}\n\n<h1\n  className=\"legacy__class emotion-0\"\n>\n  hello world\n</h1>\n`;\n"
  },
  {
    "path": "packages/css/test/no-babel/index.test.js",
    "content": "import 'test-utils/legacy-env'\nimport React from 'react'\nimport renderer from 'react-test-renderer'\nimport { css } from '@emotion/css'\nimport styled from '@emotion/styled'\n\nlet consoleError = console.error\n\nafterEach(() => {\n  console.error = consoleError\n})\n\ndescribe('css', () => {\n  test('random expression', () => {\n    const cls2 = css`\n      font-size: 20px;\n      @media (min-width: 420px) {\n        color: blue;\n        ${css`\n          width: 96px;\n          height: 96px;\n        `};\n        line-height: 40px;\n      }\n      background: green;\n    `\n    const tree = renderer.create(<div className={cls2} />).toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('composition', () => {\n    const cls1 = css`\n      display: flex;\n      &:hover {\n        color: hotpink;\n      }\n    `\n    const cls2 = css`\n      ${cls1};\n      justify-content: center;\n    `\n    const tree = renderer.create(<div className={cls2} />).toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('handles objects', () => {\n    const cls1 = css({\n      float: 'left',\n      display: 'flex',\n      color: `${'blue'}`,\n      fontSize: `${'20px'}`,\n      height: 50,\n      width: 20\n    })\n    const tree = renderer.create(<div className={cls1} />).toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('composition with objects', () => {\n    const cls1 = css({\n      display: 'flex',\n      width: 30,\n      height: 'calc(40vw - 50px)',\n      '&:hover': { color: 'blue' },\n      ':after': {\n        content: '\" \"',\n        color: 'red'\n      },\n      '@media(min-width: 420px)': {\n        color: 'green'\n      }\n    })\n    const cls2 = css`\n      ${cls1};\n      justify-content: center;\n    `\n\n    const tree = renderer.create(<div className={cls2} />).toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n  test('@supports', () => {\n    const cls1 = css`\n      @supports (display: grid) {\n        display: grid;\n      }\n    `\n    const tree = renderer.create(<div className={cls1} />).toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n  test('nested array', () => {\n    const cls1 = css([[{ display: 'flex' }]])\n    const tree = renderer.create(<div className={cls1} />).toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n  test('composition stuff', () => {\n    const cls1 = css({ justifyContent: 'center' })\n    const cls2 = css([cls1])\n    const tree = renderer.create(<div className={cls1} />).toJSON()\n    expect(tree).toMatchSnapshot()\n    const tree2 = renderer.create(<div className={cls2} />).toJSON()\n    expect(tree2).toMatchSnapshot()\n  })\n  test('null rule', () => {\n    const cls1 = css()\n\n    const tree = renderer.create(<div className={cls1} />).toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n  test('no dynamic', () => {\n    const H1 = styled('h1')`\n      float: left;\n    `\n\n    const tree = renderer.create(<H1>hello world</H1>).toJSON()\n\n    expect(tree).toMatchSnapshot()\n  })\n  test('object as style', () => {\n    const H1 = styled('h1')(\n      props => ({\n        fontSize: props.fontSize\n      }),\n      props => ({ flex: props.flex }),\n      { display: 'flex' }\n    )\n\n    const tree = renderer\n      .create(\n        <H1 fontSize={20} flex={1}>\n          hello world\n        </H1>\n      )\n      .toJSON()\n\n    expect(tree).toMatchSnapshot()\n  })\n  test('component as selectors (object syntax)', () => {\n    const fontSize = '20px'\n    const H1 = styled('h1')({ fontSize })\n    const Thing = styled('div')({\n      display: 'flex',\n      [String(H1)]: {\n        color: 'green'\n      }\n    })\n\n    const spy = jest.fn()\n    console.error = spy\n\n    expect(() =>\n      renderer.create(\n        <Thing>\n          hello <H1>This will be green</H1> world\n        </Thing>\n      )\n    ).toThrowErrorMatchingSnapshot()\n\n    expect(spy.mock.calls.length).toBe(1)\n    expect(spy.mock.calls[0][0].split('\\n')[0]).toMatchSnapshot()\n  })\n  test('component selectors without target', () => {\n    const SomeComponent = styled('div')`\n      color: blue;\n    `\n\n    expect(() => {\n      css`\n        ${SomeComponent} {\n          color: red;\n        }\n      `\n    }).toThrowErrorMatchingSnapshot()\n  })\n  test('glamorous style api & composition', () => {\n    const H1 = styled('h1')(props => ({ fontSize: props.fontSize }))\n    const H2 = styled(H1)(props => ({ flex: props.flex }), {\n      display: 'flex'\n    })\n\n    const tree = renderer\n      .create(\n        <H2 fontSize={20} flex={1}>\n          hello world\n        </H2>\n      )\n      .toJSON()\n\n    expect(tree).toMatchSnapshot()\n  })\n  test('random expressions undefined return', () => {\n    const H1 = styled('h1')`\n      ${props =>\n        props.prop &&\n        css`\n          font-size: 1rem;\n        `};\n      color: green;\n    `\n\n    const tree = renderer\n      .create(<H1 className={'legacy__class'}>hello world</H1>)\n      .toJSON()\n\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('function in expression', () => {\n    const fontSize = 20\n    const H1 = styled('h1')`\n      font-size: ${fontSize + 'px'};\n    `\n\n    const H2 = styled(H1)`\n      font-size: ${({ scale }) => fontSize * scale + 'px'};\n    `\n\n    const tree = renderer\n      .create(\n        <H2 scale={2} className={'legacy__class'}>\n          hello world\n        </H2>\n      )\n      .toJSON()\n\n    expect(tree).toMatchSnapshot()\n  })\n  test('name with class component', () => {\n    class SomeComponent extends React.Component /* <{ className: string }> */ {\n      render() {\n        return <div className={this.props.className} />\n      }\n    }\n    const StyledComponent = styled(SomeComponent)`\n      color: hotpink;\n    `\n    expect(StyledComponent.displayName).toBe(`Styled(SomeComponent)`)\n  })\n  test('styled does not throw on toString without target', () => {\n    expect(() => {\n      styled('div')().toString()\n    }).not.toThrow()\n  })\n  test('styled does not throw an error when certain properties are accessed', () => {\n    expect(() => {\n      /* eslint-disable no-unused-expressions */\n      // eslint-disable-next-line no-proto\n      styled.__proto__\n      styled.prototype\n      styled.name\n      styled.displayName\n      /* eslint-enable no-unused-expressions */\n    }).not.toThrow()\n  })\n})\n"
  },
  {
    "path": "packages/css/test/no-babel/warnings.test.js",
    "content": "import 'test-utils/legacy-env'\nimport { css } from '@emotion/css'\n\nconsole.error = jest.fn()\n\nafterEach(() => {\n  jest.clearAllMocks()\n})\n\ntest('warns about illegal escape sequences inside first quasi of template literal', () => {\n  css`\n    :before {\n      content: '\\00d7';\n    }\n  `\n\n  expect(console.error.mock.calls[0]).toMatchInlineSnapshot(`\n    [\n      \"You have illegal escape sequence in your template literal, most likely inside content's property value.\n    Because you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \"content: '\\\\00d7';\" should become \"content: '\\\\\\\\00d7';\".\n    You can read more about this here:\n    https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences\",\n    ]\n  `)\n})\n\ntest('warns about illegal escape sequences inside non-first quasi of template literal', () => {\n  const color = `color: hotpink`\n  css`\n    background-color: black;\n    ${color};\n    :before {\n      content: '\\00d7';\n    }\n  `\n\n  expect(console.error.mock.calls[0]).toMatchInlineSnapshot(`\n    [\n      \"You have illegal escape sequence in your template literal, most likely inside content's property value.\n    Because you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \"content: '\\\\00d7';\" should become \"content: '\\\\\\\\00d7';\".\n    You can read more about this here:\n    https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences\",\n    ]\n  `)\n})\n"
  },
  {
    "path": "packages/css/test/selectivity.test.js",
    "content": "import 'test-utils/legacy-env'\nimport { css, sheet, flush } from '@emotion/css'\n\ndescribe('css', () => {\n  afterEach(() => flush())\n\n  test('complex nested styles', () => {\n    const mq = [\n      '@media(min-width: 420px)',\n      '@media(min-width: 640px)',\n      '@media(min-width: 960px)'\n    ]\n\n    css({\n      color: 'blue',\n      '&:hover': {\n        '& .name': {\n          color: 'amethyst',\n          '&:focus': {\n            color: 'burlywood',\n            [mq[0]]: {\n              color: 'rebeccapurple'\n            }\n          }\n        },\n        color: 'green'\n      }\n    })\n    expect(sheet).toMatchSnapshot()\n  })\n\n  test('complex nested media queries', () => {\n    css`\n      @media (max-width: 600px) {\n        h1 {\n          font-size: 1.4rem;\n        }\n      }\n\n      @media (max-width: 400px), (max-height: 420px) {\n        h1 {\n          font-size: 1.1rem;\n        }\n      }\n    `\n\n    expect(sheet).toMatchSnapshot()\n  })\n\n  test('handles media query merges', () => {\n    const mq = [\n      '@media(min-width: 420px)',\n      '@media(min-width: 640px)',\n      '@media(min-width: 960px)'\n    ]\n    const buttonCSS = [\n      { color: 'red', [mq[1]]: { color: 'blue' } },\n      { color: 'purple', [mq[1]]: { color: 'aquamarine' } }\n    ]\n    css([\n      {\n        color: 'darkslateblue',\n        [mq[0]]: {\n          color: 'amethyst'\n        },\n        [mq[1]]: {\n          color: 'rebeccapurple'\n        },\n        [mq[2]]: {\n          color: 'burlywood'\n        }\n      },\n      buttonCSS\n    ])\n    expect(sheet).toMatchSnapshot()\n  })\n  test('media queries with multiple nested selectors', () => {\n    css`\n      color: blue;\n\n      @media (max-width: 400px) {\n        color: green;\n        h1 {\n          color: red;\n        }\n        span {\n          color: red;\n        }\n      }\n    `\n\n    expect(sheet).toMatchSnapshot()\n  })\n  test('media query with nested selector without declarations on root', () => {\n    css`\n      @media (max-width: 400px) {\n        color: green;\n        span {\n          color: red;\n        }\n      }\n    `\n    expect(sheet).toMatchSnapshot()\n  })\n  test('media query with nested selector with nested selector on root', () => {\n    css`\n      span {\n        color: blue;\n      }\n      @media (max-width: 400px) {\n        color: green;\n        span {\n          color: red;\n        }\n      }\n    `\n    expect(sheet).toMatchSnapshot()\n  })\n\n  // this isn't compatible with SCSS but is allowed in Stylis\n  test('should allow for context selector being appended to an element type', () => {\n    css`\n      a& {\n        background: blue;\n      }\n    `\n    expect(sheet).toMatchSnapshot()\n  })\n\n  // #2488\n  test('should allow for context selector being appended to an element type when pseudoclass appears in the selector group', () => {\n    css`\n      &:hover,\n      a& {\n        background: blue;\n      }\n    `\n    expect(sheet).toMatchSnapshot()\n  })\n\n  test('should allow a weird class containing & when pseudoclass appears in the selector group', () => {\n    css`\n      &:hover,\n      .t\\\\&t {\n        background: blue;\n      }\n    `\n    expect(sheet).toMatchSnapshot()\n  })\n})\n\ndescribe('orphaned pseudos', () => {\n  afterEach(() => flush())\n\n  test('single', () => {\n    css`\n      :focus {\n        color: hotpink;\n      }\n    `\n\n    expect(sheet).toMatchSnapshot()\n  })\n\n  test('multiple in a group', () => {\n    css`\n      :hover div,\n      :focus {\n        color: hotpink;\n      }\n    `\n\n    expect(sheet).toMatchSnapshot()\n  })\n\n  test('multiple in a group in multiple in a group', () => {\n    css`\n      .foo,\n      .bar div,\n      .qwe {\n        :first-child,\n        div,\n        span,\n        :last-child {\n          color: hotpink;\n        }\n      }\n    `\n\n    expect(sheet).toMatchSnapshot()\n  })\n\n  test('regexp special character', () => {\n    css`\n      :nth-child(3) {\n        color: hotpink;\n      }\n    `\n\n    expect(sheet).toMatchSnapshot()\n  })\n\n  test('overlapping', () => {\n    css`\n      & :first-child {\n        :first-child {\n          color: hotpink;\n        }\n      }\n    `\n\n    expect(sheet).toMatchSnapshot()\n  })\n\n  test('overlapping - reversed', () => {\n    css`\n      & :first-child {\n        :first-child & {\n          color: hotpink;\n        }\n      }\n    `\n\n    expect(sheet).toMatchSnapshot()\n  })\n\n  test('in nested atrules', () => {\n    css`\n      @media (max-width: 400px) {\n        @supports (display: grid) {\n          div,\n          :first-child {\n            color: hotpink;\n          }\n        }\n      }\n    `\n\n    expect(sheet).toMatchSnapshot()\n  })\n\n  test('with nested atrule', () => {\n    css({\n      '::before': {\n        content: '\"*\"',\n        background: 'pink',\n        '@media screen and (max-width: 800px)': {\n          background: 'cyan'\n        }\n      }\n    })\n\n    expect(sheet).toMatchSnapshot()\n  })\n\n  test('selector list with nested atrule', () => {\n    css({\n      '::backdrop, & + .backdrop': {\n        backgroundColor: 'grey',\n        '@media print': {\n          display: 'none'\n        }\n      }\n    })\n\n    expect(sheet).toMatchSnapshot()\n  })\n\n  test('regular rule nested in orphaned pseudo', () => {\n    css({\n      ':hover': {\n        color: 'hotpink',\n        '.foo': {\n          color: 'grey'\n        }\n      }\n    })\n\n    expect(sheet).toMatchSnapshot()\n  })\n\n  test('regular rule with nested rule nested in orphaned pseudo', () => {\n    css({\n      ':hover': {\n        color: 'hotpink',\n        '.foo': {\n          color: 'grey',\n          '@media print': {\n            display: 'none'\n          }\n        }\n      }\n    })\n\n    expect(sheet).toMatchSnapshot()\n  })\n\n  test('orphaned pseudo nested in orphaned pseudo', () => {\n    css({\n      ':hover': {\n        color: 'hotpink',\n        ':focus': {\n          outlineColor: 'blue'\n        }\n      }\n    })\n\n    expect(sheet).toMatchSnapshot()\n  })\n})\n"
  },
  {
    "path": "packages/css/test/sheet.dom.test.js",
    "content": "import { sheet } from '@emotion/css'\n\nconst consoleError = console.error\n\nafterEach(() => {\n  console.error = consoleError\n})\n\ndescribe('sheet', () => {\n  beforeEach(() => {\n    sheet.flush()\n  })\n\n  test('speedy', () => {\n    expect(sheet.isSpeedy).toBe(false)\n    sheet.speedy(true)\n    expect(sheet.isSpeedy).toBe(true)\n    sheet.speedy(false)\n    expect(sheet.isSpeedy).toBe(false)\n  })\n\n  test('tags', () => {\n    sheet.speedy(true)\n    const rule = '.foo { color: blue; }'\n    sheet.insert(rule)\n    expect(sheet.tags).toMatchSnapshot()\n    expect(sheet.tags.length).toBe(1)\n  })\n\n  test('flush', () => {\n    sheet.speedy(true)\n    sheet.insert('.foo { color: blue; }')\n    sheet.flush()\n    expect(sheet.tags.length).toBe(0)\n  })\n\n  test('throws', () => {\n    sheet.speedy(true)\n    const spy = jest.fn()\n    console.error = spy\n    sheet.insert('.asdfasdf4###112121211{')\n    expect(spy.mock.calls.length).toBe(1)\n    expect(spy.mock.calls[0][0]).toMatchInlineSnapshot(\n      `\"There was a problem inserting the following rule: \".asdfasdf4###112121211{\"\"`\n    )\n  })\n\n  test('.speedy throws when a rule has already been inserted', () => {\n    sheet.insert('.foo { color: blue; }')\n    expect(() => {\n      sheet.speedy(true)\n    }).toThrowErrorMatchingSnapshot()\n  })\n})\n"
  },
  {
    "path": "packages/css/test/source-map/.babelrc",
    "content": "{\n  \"presets\": [\"babel-preset-emotion-dev\"],\n  \"plugins\": [[\"@emotion/babel-plugin\", { \"sourceMap\": true }]]\n}\n"
  },
  {
    "path": "packages/css/test/source-map/__snapshots__/source-map.test.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`css css without newline or semicolon 1`] = `\n\".css-6kh100-cls{color:hotpink;}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNvdXJjZS1tYXAudGVzdC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF3RG1CIiwiZmlsZSI6InNvdXJjZS1tYXAudGVzdC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAndGVzdC11dGlscy9sZWdhY3ktZW52J1xuaW1wb3J0IHsgY3NzLCBzaGVldCwgZmx1c2ggfSBmcm9tICdAZW1vdGlvbi9jc3MnXG5cbmNvbnN0IGNvbW1lbnRQYXR0ZXJuID0gL1xcL1xcKltcXHNcXFNdKj9cXCpcXC8vZ1xuY29uc3QgZ2V0U3R5bGVzID0gc2hlZXQgPT5cbiAgc2hlZXQudGFnc1xuICAgIC5tYXAodGFnID0+IHRhZy50ZXh0Q29udGVudCB8fCAnJylcbiAgICAuam9pbignJylcbiAgICAucmVwbGFjZShjb21tZW50UGF0dGVybiwgJ1xcbiQmXFxuJylcblxuZGVzY3JpYmUoJ2NzcycsICgpID0+IHtcbiAgYWZ0ZXJFYWNoKCgpID0+IGZsdXNoKCkpXG4gIHRlc3QoJ3NvdXJjZS1tYXAgbmVzdGVkIHN0eWxlcycsICgpID0+IHtcbiAgICBjb25zdCBtcSA9IFtcbiAgICAgICdAbWVkaWEobWluLXdpZHRoOiA0MjBweCknLFxuICAgICAgJ0BtZWRpYShtaW4td2lkdGg6IDY0MHB4KScsXG4gICAgICAnQG1lZGlhKG1pbi13aWR0aDogOTYwcHgpJ1xuICAgIF1cblxuICAgIGNzcyh7XG4gICAgICBjb2xvcjogJ2JsdWUnLFxuICAgICAgJyY6aG92ZXInOiB7XG4gICAgICAgICcmIC5uYW1lJzoge1xuICAgICAgICAgIGNvbG9yOiAnYW1ldGh5c3QnLFxuICAgICAgICAgICcmOmZvY3VzJzoge1xuICAgICAgICAgICAgY29sb3I6ICdidXJseXdvb2QnLFxuICAgICAgICAgICAgW21xWzBdXToge1xuICAgICAgICAgICAgICBjb2xvcjogJ3JlYmVjY2FwdXJwbGUnXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBjb2xvcjogJ2dyZWVuJ1xuICAgICAgfVxuICAgIH0pXG4gICAgZXhwZWN0KGdldFN0eWxlcyhzaGVldCkpLnRvTWF0Y2hTbmFwc2hvdCgpXG4gIH0pXG5cbiAgdGVzdCgnc291cmNlLW1hcCBuZXN0ZWQgbWVkaWEgcXVlcmllcycsICgpID0+IHtcbiAgICBjc3NgXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgICAgaDEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0MDBweCksIChtYXgtaGVpZ2h0OiA0MjBweCkge1xuICAgICAgICBoMSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICBgXG5cbiAgICBleHBlY3QoZ2V0U3R5bGVzKHNoZWV0KSkudG9NYXRjaFNuYXBzaG90KClcbiAgfSlcbiAgdGVzdCgnY3NzIHdpdGhvdXQgbmV3bGluZSBvciBzZW1pY29sb24nLCAoKSA9PiB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gICAgY29uc3QgY2xzID0gY3NzYFxuICAgICAgY29sb3I6IGhvdHBpbms7XG4gICAgYFxuICAgIGV4cGVjdChnZXRTdHlsZXMoc2hlZXQpKS50b01hdGNoU25hcHNob3QoKVxuICB9KVxufSlcbiJdfQ== */\n\"\n`;\n\nexports[`css source-map nested media queries 1`] = `\n\".css-1vjvce5{}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNvdXJjZS1tYXAudGVzdC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFzQ08iLCJmaWxlIjoic291cmNlLW1hcC50ZXN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICd0ZXN0LXV0aWxzL2xlZ2FjeS1lbnYnXG5pbXBvcnQgeyBjc3MsIHNoZWV0LCBmbHVzaCB9IGZyb20gJ0BlbW90aW9uL2NzcydcblxuY29uc3QgY29tbWVudFBhdHRlcm4gPSAvXFwvXFwqW1xcc1xcU10qP1xcKlxcLy9nXG5jb25zdCBnZXRTdHlsZXMgPSBzaGVldCA9PlxuICBzaGVldC50YWdzXG4gICAgLm1hcCh0YWcgPT4gdGFnLnRleHRDb250ZW50IHx8ICcnKVxuICAgIC5qb2luKCcnKVxuICAgIC5yZXBsYWNlKGNvbW1lbnRQYXR0ZXJuLCAnXFxuJCZcXG4nKVxuXG5kZXNjcmliZSgnY3NzJywgKCkgPT4ge1xuICBhZnRlckVhY2goKCkgPT4gZmx1c2goKSlcbiAgdGVzdCgnc291cmNlLW1hcCBuZXN0ZWQgc3R5bGVzJywgKCkgPT4ge1xuICAgIGNvbnN0IG1xID0gW1xuICAgICAgJ0BtZWRpYShtaW4td2lkdGg6IDQyMHB4KScsXG4gICAgICAnQG1lZGlhKG1pbi13aWR0aDogNjQwcHgpJyxcbiAgICAgICdAbWVkaWEobWluLXdpZHRoOiA5NjBweCknXG4gICAgXVxuXG4gICAgY3NzKHtcbiAgICAgIGNvbG9yOiAnYmx1ZScsXG4gICAgICAnJjpob3Zlcic6IHtcbiAgICAgICAgJyYgLm5hbWUnOiB7XG4gICAgICAgICAgY29sb3I6ICdhbWV0aHlzdCcsXG4gICAgICAgICAgJyY6Zm9jdXMnOiB7XG4gICAgICAgICAgICBjb2xvcjogJ2J1cmx5d29vZCcsXG4gICAgICAgICAgICBbbXFbMF1dOiB7XG4gICAgICAgICAgICAgIGNvbG9yOiAncmViZWNjYXB1cnBsZSdcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGNvbG9yOiAnZ3JlZW4nXG4gICAgICB9XG4gICAgfSlcbiAgICBleHBlY3QoZ2V0U3R5bGVzKHNoZWV0KSkudG9NYXRjaFNuYXBzaG90KClcbiAgfSlcblxuICB0ZXN0KCdzb3VyY2UtbWFwIG5lc3RlZCBtZWRpYSBxdWVyaWVzJywgKCkgPT4ge1xuICAgIGNzc2BcbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgICBoMSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQwMHB4KSwgKG1heC1oZWlnaHQ6IDQyMHB4KSB7XG4gICAgICAgIGgxIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIGBcblxuICAgIGV4cGVjdChnZXRTdHlsZXMoc2hlZXQpKS50b01hdGNoU25hcHNob3QoKVxuICB9KVxuICB0ZXN0KCdjc3Mgd2l0aG91dCBuZXdsaW5lIG9yIHNlbWljb2xvbicsICgpID0+IHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICBjb25zdCBjbHMgPSBjc3NgXG4gICAgICBjb2xvcjogaG90cGluaztcbiAgICBgXG4gICAgZXhwZWN0KGdldFN0eWxlcyhzaGVldCkpLnRvTWF0Y2hTbmFwc2hvdCgpXG4gIH0pXG59KVxuIl19 */\n@media (max-width: 600px){.css-1vjvce5 h1{font-size:1.4rem;}}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNvdXJjZS1tYXAudGVzdC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFzQ08iLCJmaWxlIjoic291cmNlLW1hcC50ZXN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICd0ZXN0LXV0aWxzL2xlZ2FjeS1lbnYnXG5pbXBvcnQgeyBjc3MsIHNoZWV0LCBmbHVzaCB9IGZyb20gJ0BlbW90aW9uL2NzcydcblxuY29uc3QgY29tbWVudFBhdHRlcm4gPSAvXFwvXFwqW1xcc1xcU10qP1xcKlxcLy9nXG5jb25zdCBnZXRTdHlsZXMgPSBzaGVldCA9PlxuICBzaGVldC50YWdzXG4gICAgLm1hcCh0YWcgPT4gdGFnLnRleHRDb250ZW50IHx8ICcnKVxuICAgIC5qb2luKCcnKVxuICAgIC5yZXBsYWNlKGNvbW1lbnRQYXR0ZXJuLCAnXFxuJCZcXG4nKVxuXG5kZXNjcmliZSgnY3NzJywgKCkgPT4ge1xuICBhZnRlckVhY2goKCkgPT4gZmx1c2goKSlcbiAgdGVzdCgnc291cmNlLW1hcCBuZXN0ZWQgc3R5bGVzJywgKCkgPT4ge1xuICAgIGNvbnN0IG1xID0gW1xuICAgICAgJ0BtZWRpYShtaW4td2lkdGg6IDQyMHB4KScsXG4gICAgICAnQG1lZGlhKG1pbi13aWR0aDogNjQwcHgpJyxcbiAgICAgICdAbWVkaWEobWluLXdpZHRoOiA5NjBweCknXG4gICAgXVxuXG4gICAgY3NzKHtcbiAgICAgIGNvbG9yOiAnYmx1ZScsXG4gICAgICAnJjpob3Zlcic6IHtcbiAgICAgICAgJyYgLm5hbWUnOiB7XG4gICAgICAgICAgY29sb3I6ICdhbWV0aHlzdCcsXG4gICAgICAgICAgJyY6Zm9jdXMnOiB7XG4gICAgICAgICAgICBjb2xvcjogJ2J1cmx5d29vZCcsXG4gICAgICAgICAgICBbbXFbMF1dOiB7XG4gICAgICAgICAgICAgIGNvbG9yOiAncmViZWNjYXB1cnBsZSdcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGNvbG9yOiAnZ3JlZW4nXG4gICAgICB9XG4gICAgfSlcbiAgICBleHBlY3QoZ2V0U3R5bGVzKHNoZWV0KSkudG9NYXRjaFNuYXBzaG90KClcbiAgfSlcblxuICB0ZXN0KCdzb3VyY2UtbWFwIG5lc3RlZCBtZWRpYSBxdWVyaWVzJywgKCkgPT4ge1xuICAgIGNzc2BcbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgICBoMSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQwMHB4KSwgKG1heC1oZWlnaHQ6IDQyMHB4KSB7XG4gICAgICAgIGgxIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIGBcblxuICAgIGV4cGVjdChnZXRTdHlsZXMoc2hlZXQpKS50b01hdGNoU25hcHNob3QoKVxuICB9KVxuICB0ZXN0KCdjc3Mgd2l0aG91dCBuZXdsaW5lIG9yIHNlbWljb2xvbicsICgpID0+IHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICBjb25zdCBjbHMgPSBjc3NgXG4gICAgICBjb2xvcjogaG90cGluaztcbiAgICBgXG4gICAgZXhwZWN0KGdldFN0eWxlcyhzaGVldCkpLnRvTWF0Y2hTbmFwc2hvdCgpXG4gIH0pXG59KVxuIl19 */\n@media (max-width: 400px),(max-height: 420px){.css-1vjvce5 h1{font-size:1.1rem;}}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNvdXJjZS1tYXAudGVzdC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFzQ08iLCJmaWxlIjoic291cmNlLW1hcC50ZXN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICd0ZXN0LXV0aWxzL2xlZ2FjeS1lbnYnXG5pbXBvcnQgeyBjc3MsIHNoZWV0LCBmbHVzaCB9IGZyb20gJ0BlbW90aW9uL2NzcydcblxuY29uc3QgY29tbWVudFBhdHRlcm4gPSAvXFwvXFwqW1xcc1xcU10qP1xcKlxcLy9nXG5jb25zdCBnZXRTdHlsZXMgPSBzaGVldCA9PlxuICBzaGVldC50YWdzXG4gICAgLm1hcCh0YWcgPT4gdGFnLnRleHRDb250ZW50IHx8ICcnKVxuICAgIC5qb2luKCcnKVxuICAgIC5yZXBsYWNlKGNvbW1lbnRQYXR0ZXJuLCAnXFxuJCZcXG4nKVxuXG5kZXNjcmliZSgnY3NzJywgKCkgPT4ge1xuICBhZnRlckVhY2goKCkgPT4gZmx1c2goKSlcbiAgdGVzdCgnc291cmNlLW1hcCBuZXN0ZWQgc3R5bGVzJywgKCkgPT4ge1xuICAgIGNvbnN0IG1xID0gW1xuICAgICAgJ0BtZWRpYShtaW4td2lkdGg6IDQyMHB4KScsXG4gICAgICAnQG1lZGlhKG1pbi13aWR0aDogNjQwcHgpJyxcbiAgICAgICdAbWVkaWEobWluLXdpZHRoOiA5NjBweCknXG4gICAgXVxuXG4gICAgY3NzKHtcbiAgICAgIGNvbG9yOiAnYmx1ZScsXG4gICAgICAnJjpob3Zlcic6IHtcbiAgICAgICAgJyYgLm5hbWUnOiB7XG4gICAgICAgICAgY29sb3I6ICdhbWV0aHlzdCcsXG4gICAgICAgICAgJyY6Zm9jdXMnOiB7XG4gICAgICAgICAgICBjb2xvcjogJ2J1cmx5d29vZCcsXG4gICAgICAgICAgICBbbXFbMF1dOiB7XG4gICAgICAgICAgICAgIGNvbG9yOiAncmViZWNjYXB1cnBsZSdcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGNvbG9yOiAnZ3JlZW4nXG4gICAgICB9XG4gICAgfSlcbiAgICBleHBlY3QoZ2V0U3R5bGVzKHNoZWV0KSkudG9NYXRjaFNuYXBzaG90KClcbiAgfSlcblxuICB0ZXN0KCdzb3VyY2UtbWFwIG5lc3RlZCBtZWRpYSBxdWVyaWVzJywgKCkgPT4ge1xuICAgIGNzc2BcbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgICBoMSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQwMHB4KSwgKG1heC1oZWlnaHQ6IDQyMHB4KSB7XG4gICAgICAgIGgxIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIGBcblxuICAgIGV4cGVjdChnZXRTdHlsZXMoc2hlZXQpKS50b01hdGNoU25hcHNob3QoKVxuICB9KVxuICB0ZXN0KCdjc3Mgd2l0aG91dCBuZXdsaW5lIG9yIHNlbWljb2xvbicsICgpID0+IHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICBjb25zdCBjbHMgPSBjc3NgXG4gICAgICBjb2xvcjogaG90cGluaztcbiAgICBgXG4gICAgZXhwZWN0KGdldFN0eWxlcyhzaGVldCkpLnRvTWF0Y2hTbmFwc2hvdCgpXG4gIH0pXG59KVxuIl19 */\n\"\n`;\n\nexports[`css source-map nested styles 1`] = `\n\".css-3v0nwm{color:blue;}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNvdXJjZS1tYXAudGVzdC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFtQkkiLCJmaWxlIjoic291cmNlLW1hcC50ZXN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICd0ZXN0LXV0aWxzL2xlZ2FjeS1lbnYnXG5pbXBvcnQgeyBjc3MsIHNoZWV0LCBmbHVzaCB9IGZyb20gJ0BlbW90aW9uL2NzcydcblxuY29uc3QgY29tbWVudFBhdHRlcm4gPSAvXFwvXFwqW1xcc1xcU10qP1xcKlxcLy9nXG5jb25zdCBnZXRTdHlsZXMgPSBzaGVldCA9PlxuICBzaGVldC50YWdzXG4gICAgLm1hcCh0YWcgPT4gdGFnLnRleHRDb250ZW50IHx8ICcnKVxuICAgIC5qb2luKCcnKVxuICAgIC5yZXBsYWNlKGNvbW1lbnRQYXR0ZXJuLCAnXFxuJCZcXG4nKVxuXG5kZXNjcmliZSgnY3NzJywgKCkgPT4ge1xuICBhZnRlckVhY2goKCkgPT4gZmx1c2goKSlcbiAgdGVzdCgnc291cmNlLW1hcCBuZXN0ZWQgc3R5bGVzJywgKCkgPT4ge1xuICAgIGNvbnN0IG1xID0gW1xuICAgICAgJ0BtZWRpYShtaW4td2lkdGg6IDQyMHB4KScsXG4gICAgICAnQG1lZGlhKG1pbi13aWR0aDogNjQwcHgpJyxcbiAgICAgICdAbWVkaWEobWluLXdpZHRoOiA5NjBweCknXG4gICAgXVxuXG4gICAgY3NzKHtcbiAgICAgIGNvbG9yOiAnYmx1ZScsXG4gICAgICAnJjpob3Zlcic6IHtcbiAgICAgICAgJyYgLm5hbWUnOiB7XG4gICAgICAgICAgY29sb3I6ICdhbWV0aHlzdCcsXG4gICAgICAgICAgJyY6Zm9jdXMnOiB7XG4gICAgICAgICAgICBjb2xvcjogJ2J1cmx5d29vZCcsXG4gICAgICAgICAgICBbbXFbMF1dOiB7XG4gICAgICAgICAgICAgIGNvbG9yOiAncmViZWNjYXB1cnBsZSdcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGNvbG9yOiAnZ3JlZW4nXG4gICAgICB9XG4gICAgfSlcbiAgICBleHBlY3QoZ2V0U3R5bGVzKHNoZWV0KSkudG9NYXRjaFNuYXBzaG90KClcbiAgfSlcblxuICB0ZXN0KCdzb3VyY2UtbWFwIG5lc3RlZCBtZWRpYSBxdWVyaWVzJywgKCkgPT4ge1xuICAgIGNzc2BcbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgICBoMSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQwMHB4KSwgKG1heC1oZWlnaHQ6IDQyMHB4KSB7XG4gICAgICAgIGgxIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIGBcblxuICAgIGV4cGVjdChnZXRTdHlsZXMoc2hlZXQpKS50b01hdGNoU25hcHNob3QoKVxuICB9KVxuICB0ZXN0KCdjc3Mgd2l0aG91dCBuZXdsaW5lIG9yIHNlbWljb2xvbicsICgpID0+IHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICBjb25zdCBjbHMgPSBjc3NgXG4gICAgICBjb2xvcjogaG90cGluaztcbiAgICBgXG4gICAgZXhwZWN0KGdldFN0eWxlcyhzaGVldCkpLnRvTWF0Y2hTbmFwc2hvdCgpXG4gIH0pXG59KVxuIl19 */\n.css-3v0nwm:hover{color:green;}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNvdXJjZS1tYXAudGVzdC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFtQkkiLCJmaWxlIjoic291cmNlLW1hcC50ZXN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICd0ZXN0LXV0aWxzL2xlZ2FjeS1lbnYnXG5pbXBvcnQgeyBjc3MsIHNoZWV0LCBmbHVzaCB9IGZyb20gJ0BlbW90aW9uL2NzcydcblxuY29uc3QgY29tbWVudFBhdHRlcm4gPSAvXFwvXFwqW1xcc1xcU10qP1xcKlxcLy9nXG5jb25zdCBnZXRTdHlsZXMgPSBzaGVldCA9PlxuICBzaGVldC50YWdzXG4gICAgLm1hcCh0YWcgPT4gdGFnLnRleHRDb250ZW50IHx8ICcnKVxuICAgIC5qb2luKCcnKVxuICAgIC5yZXBsYWNlKGNvbW1lbnRQYXR0ZXJuLCAnXFxuJCZcXG4nKVxuXG5kZXNjcmliZSgnY3NzJywgKCkgPT4ge1xuICBhZnRlckVhY2goKCkgPT4gZmx1c2goKSlcbiAgdGVzdCgnc291cmNlLW1hcCBuZXN0ZWQgc3R5bGVzJywgKCkgPT4ge1xuICAgIGNvbnN0IG1xID0gW1xuICAgICAgJ0BtZWRpYShtaW4td2lkdGg6IDQyMHB4KScsXG4gICAgICAnQG1lZGlhKG1pbi13aWR0aDogNjQwcHgpJyxcbiAgICAgICdAbWVkaWEobWluLXdpZHRoOiA5NjBweCknXG4gICAgXVxuXG4gICAgY3NzKHtcbiAgICAgIGNvbG9yOiAnYmx1ZScsXG4gICAgICAnJjpob3Zlcic6IHtcbiAgICAgICAgJyYgLm5hbWUnOiB7XG4gICAgICAgICAgY29sb3I6ICdhbWV0aHlzdCcsXG4gICAgICAgICAgJyY6Zm9jdXMnOiB7XG4gICAgICAgICAgICBjb2xvcjogJ2J1cmx5d29vZCcsXG4gICAgICAgICAgICBbbXFbMF1dOiB7XG4gICAgICAgICAgICAgIGNvbG9yOiAncmViZWNjYXB1cnBsZSdcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGNvbG9yOiAnZ3JlZW4nXG4gICAgICB9XG4gICAgfSlcbiAgICBleHBlY3QoZ2V0U3R5bGVzKHNoZWV0KSkudG9NYXRjaFNuYXBzaG90KClcbiAgfSlcblxuICB0ZXN0KCdzb3VyY2UtbWFwIG5lc3RlZCBtZWRpYSBxdWVyaWVzJywgKCkgPT4ge1xuICAgIGNzc2BcbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgICBoMSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQwMHB4KSwgKG1heC1oZWlnaHQ6IDQyMHB4KSB7XG4gICAgICAgIGgxIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIGBcblxuICAgIGV4cGVjdChnZXRTdHlsZXMoc2hlZXQpKS50b01hdGNoU25hcHNob3QoKVxuICB9KVxuICB0ZXN0KCdjc3Mgd2l0aG91dCBuZXdsaW5lIG9yIHNlbWljb2xvbicsICgpID0+IHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICBjb25zdCBjbHMgPSBjc3NgXG4gICAgICBjb2xvcjogaG90cGluaztcbiAgICBgXG4gICAgZXhwZWN0KGdldFN0eWxlcyhzaGVldCkpLnRvTWF0Y2hTbmFwc2hvdCgpXG4gIH0pXG59KVxuIl19 */\n.css-3v0nwm:hover .name{color:amethyst;}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNvdXJjZS1tYXAudGVzdC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFtQkkiLCJmaWxlIjoic291cmNlLW1hcC50ZXN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICd0ZXN0LXV0aWxzL2xlZ2FjeS1lbnYnXG5pbXBvcnQgeyBjc3MsIHNoZWV0LCBmbHVzaCB9IGZyb20gJ0BlbW90aW9uL2NzcydcblxuY29uc3QgY29tbWVudFBhdHRlcm4gPSAvXFwvXFwqW1xcc1xcU10qP1xcKlxcLy9nXG5jb25zdCBnZXRTdHlsZXMgPSBzaGVldCA9PlxuICBzaGVldC50YWdzXG4gICAgLm1hcCh0YWcgPT4gdGFnLnRleHRDb250ZW50IHx8ICcnKVxuICAgIC5qb2luKCcnKVxuICAgIC5yZXBsYWNlKGNvbW1lbnRQYXR0ZXJuLCAnXFxuJCZcXG4nKVxuXG5kZXNjcmliZSgnY3NzJywgKCkgPT4ge1xuICBhZnRlckVhY2goKCkgPT4gZmx1c2goKSlcbiAgdGVzdCgnc291cmNlLW1hcCBuZXN0ZWQgc3R5bGVzJywgKCkgPT4ge1xuICAgIGNvbnN0IG1xID0gW1xuICAgICAgJ0BtZWRpYShtaW4td2lkdGg6IDQyMHB4KScsXG4gICAgICAnQG1lZGlhKG1pbi13aWR0aDogNjQwcHgpJyxcbiAgICAgICdAbWVkaWEobWluLXdpZHRoOiA5NjBweCknXG4gICAgXVxuXG4gICAgY3NzKHtcbiAgICAgIGNvbG9yOiAnYmx1ZScsXG4gICAgICAnJjpob3Zlcic6IHtcbiAgICAgICAgJyYgLm5hbWUnOiB7XG4gICAgICAgICAgY29sb3I6ICdhbWV0aHlzdCcsXG4gICAgICAgICAgJyY6Zm9jdXMnOiB7XG4gICAgICAgICAgICBjb2xvcjogJ2J1cmx5d29vZCcsXG4gICAgICAgICAgICBbbXFbMF1dOiB7XG4gICAgICAgICAgICAgIGNvbG9yOiAncmViZWNjYXB1cnBsZSdcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGNvbG9yOiAnZ3JlZW4nXG4gICAgICB9XG4gICAgfSlcbiAgICBleHBlY3QoZ2V0U3R5bGVzKHNoZWV0KSkudG9NYXRjaFNuYXBzaG90KClcbiAgfSlcblxuICB0ZXN0KCdzb3VyY2UtbWFwIG5lc3RlZCBtZWRpYSBxdWVyaWVzJywgKCkgPT4ge1xuICAgIGNzc2BcbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgICBoMSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQwMHB4KSwgKG1heC1oZWlnaHQ6IDQyMHB4KSB7XG4gICAgICAgIGgxIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIGBcblxuICAgIGV4cGVjdChnZXRTdHlsZXMoc2hlZXQpKS50b01hdGNoU25hcHNob3QoKVxuICB9KVxuICB0ZXN0KCdjc3Mgd2l0aG91dCBuZXdsaW5lIG9yIHNlbWljb2xvbicsICgpID0+IHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICBjb25zdCBjbHMgPSBjc3NgXG4gICAgICBjb2xvcjogaG90cGluaztcbiAgICBgXG4gICAgZXhwZWN0KGdldFN0eWxlcyhzaGVldCkpLnRvTWF0Y2hTbmFwc2hvdCgpXG4gIH0pXG59KVxuIl19 */\n.css-3v0nwm:hover .name:focus{color:burlywood;}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNvdXJjZS1tYXAudGVzdC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFtQkkiLCJmaWxlIjoic291cmNlLW1hcC50ZXN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICd0ZXN0LXV0aWxzL2xlZ2FjeS1lbnYnXG5pbXBvcnQgeyBjc3MsIHNoZWV0LCBmbHVzaCB9IGZyb20gJ0BlbW90aW9uL2NzcydcblxuY29uc3QgY29tbWVudFBhdHRlcm4gPSAvXFwvXFwqW1xcc1xcU10qP1xcKlxcLy9nXG5jb25zdCBnZXRTdHlsZXMgPSBzaGVldCA9PlxuICBzaGVldC50YWdzXG4gICAgLm1hcCh0YWcgPT4gdGFnLnRleHRDb250ZW50IHx8ICcnKVxuICAgIC5qb2luKCcnKVxuICAgIC5yZXBsYWNlKGNvbW1lbnRQYXR0ZXJuLCAnXFxuJCZcXG4nKVxuXG5kZXNjcmliZSgnY3NzJywgKCkgPT4ge1xuICBhZnRlckVhY2goKCkgPT4gZmx1c2goKSlcbiAgdGVzdCgnc291cmNlLW1hcCBuZXN0ZWQgc3R5bGVzJywgKCkgPT4ge1xuICAgIGNvbnN0IG1xID0gW1xuICAgICAgJ0BtZWRpYShtaW4td2lkdGg6IDQyMHB4KScsXG4gICAgICAnQG1lZGlhKG1pbi13aWR0aDogNjQwcHgpJyxcbiAgICAgICdAbWVkaWEobWluLXdpZHRoOiA5NjBweCknXG4gICAgXVxuXG4gICAgY3NzKHtcbiAgICAgIGNvbG9yOiAnYmx1ZScsXG4gICAgICAnJjpob3Zlcic6IHtcbiAgICAgICAgJyYgLm5hbWUnOiB7XG4gICAgICAgICAgY29sb3I6ICdhbWV0aHlzdCcsXG4gICAgICAgICAgJyY6Zm9jdXMnOiB7XG4gICAgICAgICAgICBjb2xvcjogJ2J1cmx5d29vZCcsXG4gICAgICAgICAgICBbbXFbMF1dOiB7XG4gICAgICAgICAgICAgIGNvbG9yOiAncmViZWNjYXB1cnBsZSdcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGNvbG9yOiAnZ3JlZW4nXG4gICAgICB9XG4gICAgfSlcbiAgICBleHBlY3QoZ2V0U3R5bGVzKHNoZWV0KSkudG9NYXRjaFNuYXBzaG90KClcbiAgfSlcblxuICB0ZXN0KCdzb3VyY2UtbWFwIG5lc3RlZCBtZWRpYSBxdWVyaWVzJywgKCkgPT4ge1xuICAgIGNzc2BcbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgICBoMSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQwMHB4KSwgKG1heC1oZWlnaHQ6IDQyMHB4KSB7XG4gICAgICAgIGgxIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIGBcblxuICAgIGV4cGVjdChnZXRTdHlsZXMoc2hlZXQpKS50b01hdGNoU25hcHNob3QoKVxuICB9KVxuICB0ZXN0KCdjc3Mgd2l0aG91dCBuZXdsaW5lIG9yIHNlbWljb2xvbicsICgpID0+IHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICBjb25zdCBjbHMgPSBjc3NgXG4gICAgICBjb2xvcjogaG90cGluaztcbiAgICBgXG4gICAgZXhwZWN0KGdldFN0eWxlcyhzaGVldCkpLnRvTWF0Y2hTbmFwc2hvdCgpXG4gIH0pXG59KVxuIl19 */\n@media(min-width: 420px){.css-3v0nwm:hover .name:focus{color:rebeccapurple;}}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNvdXJjZS1tYXAudGVzdC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFtQkkiLCJmaWxlIjoic291cmNlLW1hcC50ZXN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICd0ZXN0LXV0aWxzL2xlZ2FjeS1lbnYnXG5pbXBvcnQgeyBjc3MsIHNoZWV0LCBmbHVzaCB9IGZyb20gJ0BlbW90aW9uL2NzcydcblxuY29uc3QgY29tbWVudFBhdHRlcm4gPSAvXFwvXFwqW1xcc1xcU10qP1xcKlxcLy9nXG5jb25zdCBnZXRTdHlsZXMgPSBzaGVldCA9PlxuICBzaGVldC50YWdzXG4gICAgLm1hcCh0YWcgPT4gdGFnLnRleHRDb250ZW50IHx8ICcnKVxuICAgIC5qb2luKCcnKVxuICAgIC5yZXBsYWNlKGNvbW1lbnRQYXR0ZXJuLCAnXFxuJCZcXG4nKVxuXG5kZXNjcmliZSgnY3NzJywgKCkgPT4ge1xuICBhZnRlckVhY2goKCkgPT4gZmx1c2goKSlcbiAgdGVzdCgnc291cmNlLW1hcCBuZXN0ZWQgc3R5bGVzJywgKCkgPT4ge1xuICAgIGNvbnN0IG1xID0gW1xuICAgICAgJ0BtZWRpYShtaW4td2lkdGg6IDQyMHB4KScsXG4gICAgICAnQG1lZGlhKG1pbi13aWR0aDogNjQwcHgpJyxcbiAgICAgICdAbWVkaWEobWluLXdpZHRoOiA5NjBweCknXG4gICAgXVxuXG4gICAgY3NzKHtcbiAgICAgIGNvbG9yOiAnYmx1ZScsXG4gICAgICAnJjpob3Zlcic6IHtcbiAgICAgICAgJyYgLm5hbWUnOiB7XG4gICAgICAgICAgY29sb3I6ICdhbWV0aHlzdCcsXG4gICAgICAgICAgJyY6Zm9jdXMnOiB7XG4gICAgICAgICAgICBjb2xvcjogJ2J1cmx5d29vZCcsXG4gICAgICAgICAgICBbbXFbMF1dOiB7XG4gICAgICAgICAgICAgIGNvbG9yOiAncmViZWNjYXB1cnBsZSdcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGNvbG9yOiAnZ3JlZW4nXG4gICAgICB9XG4gICAgfSlcbiAgICBleHBlY3QoZ2V0U3R5bGVzKHNoZWV0KSkudG9NYXRjaFNuYXBzaG90KClcbiAgfSlcblxuICB0ZXN0KCdzb3VyY2UtbWFwIG5lc3RlZCBtZWRpYSBxdWVyaWVzJywgKCkgPT4ge1xuICAgIGNzc2BcbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgICBoMSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQwMHB4KSwgKG1heC1oZWlnaHQ6IDQyMHB4KSB7XG4gICAgICAgIGgxIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIGBcblxuICAgIGV4cGVjdChnZXRTdHlsZXMoc2hlZXQpKS50b01hdGNoU25hcHNob3QoKVxuICB9KVxuICB0ZXN0KCdjc3Mgd2l0aG91dCBuZXdsaW5lIG9yIHNlbWljb2xvbicsICgpID0+IHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICBjb25zdCBjbHMgPSBjc3NgXG4gICAgICBjb2xvcjogaG90cGluaztcbiAgICBgXG4gICAgZXhwZWN0KGdldFN0eWxlcyhzaGVldCkpLnRvTWF0Y2hTbmFwc2hvdCgpXG4gIH0pXG59KVxuIl19 */\n\"\n`;\n"
  },
  {
    "path": "packages/css/test/source-map/source-map.test.js",
    "content": "import 'test-utils/legacy-env'\nimport { css, sheet, flush } from '@emotion/css'\n\nconst commentPattern = /\\/\\*[\\s\\S]*?\\*\\//g\nconst getStyles = sheet =>\n  sheet.tags\n    .map(tag => tag.textContent || '')\n    .join('')\n    .replace(commentPattern, '\\n$&\\n')\n\ndescribe('css', () => {\n  afterEach(() => flush())\n  test('source-map nested styles', () => {\n    const mq = [\n      '@media(min-width: 420px)',\n      '@media(min-width: 640px)',\n      '@media(min-width: 960px)'\n    ]\n\n    css({\n      color: 'blue',\n      '&:hover': {\n        '& .name': {\n          color: 'amethyst',\n          '&:focus': {\n            color: 'burlywood',\n            [mq[0]]: {\n              color: 'rebeccapurple'\n            }\n          }\n        },\n        color: 'green'\n      }\n    })\n    expect(getStyles(sheet)).toMatchSnapshot()\n  })\n\n  test('source-map nested media queries', () => {\n    css`\n      @media (max-width: 600px) {\n        h1 {\n          font-size: 1.4rem;\n        }\n      }\n\n      @media (max-width: 400px), (max-height: 420px) {\n        h1 {\n          font-size: 1.1rem;\n        }\n      }\n    `\n\n    expect(getStyles(sheet)).toMatchSnapshot()\n  })\n  test('css without newline or semicolon', () => {\n    // eslint-disable-next-line\n    const cls = css`\n      color: hotpink;\n    `\n    expect(getStyles(sheet)).toMatchSnapshot()\n  })\n})\n"
  },
  {
    "path": "packages/css/test/warnings.test.js",
    "content": "import 'test-utils/legacy-env'\nimport { css } from '@emotion/css'\nimport createCss from '@emotion/css/create-instance'\nimport * as React from 'react'\nimport renderer from 'react-test-renderer'\n\nconsole.error = jest.fn()\n\nconst validValues = [\n  'normal',\n  'none',\n  'open-quote',\n  'close-quote',\n  'no-open-quote',\n  'no-close-quote',\n  'initial',\n  'inherit',\n  '\"some thing\"',\n  \"'another thing'\",\n  'var(--variable-name)',\n  'url(\"http://www.example.com/test.png\")',\n  'linear-gradient(hotpink, #8be9fd)',\n  'radial-gradient(hotpink, #8be9fd)',\n  'repeating-linear-gradient(hotpink, #8be9fd)',\n  'repeating-radial-gradient(hotpink, #8be9fd)',\n  'conic-gradient(hotpink, #8be9fd)',\n  'counter(chapter_counter)',\n  'counters(section_counter, \".\")',\n  'attr(value string)',\n  'open-quote counter(chapter_counter)'\n]\n\nafterEach(() => {\n  jest.clearAllMocks()\n})\n\ntest('does not warn when valid values are passed for the content property', () => {\n  const cls = css(validValues.map(value => ({ content: value })))\n  expect(console.error).not.toBeCalled()\n  expect(renderer.create(<div className={cls} />).toJSON()).toMatchSnapshot()\n})\n\nconst invalidValues = ['this is not valid', '']\n\ntest('does warn when invalid values are passed for the content property', () => {\n  invalidValues.forEach(value => {\n    expect(() =>\n      renderer.create(<div className={css({ content: value })} />)\n    ).toThrowError(\n      `You seem to be using a value for 'content' without quotes, try replacing it with \\`content: '\"${value}\"'\\``\n    )\n  })\n})\n\ntest('does warn when functions are passed to css calls', () => {\n  css(() => 'color:hotpink;')\n  expect(console.error).toBeCalledWith(\n    \"Functions that are interpolated in css calls will be stringified.\\nIf you want to have a css call based on props, create a function that returns a css call like this\\nlet dynamicStyle = (props) => css`color: ${props.color}`\\nIt can be called directly with props or interpolated in a styled call like this\\nlet SomeComponent = styled('div')`${dynamicStyle}`\"\n  )\n})\n\ntest('does warn when @import rule is being inserted after order-insensitive rules', () => {\n  const { injectGlobal } = createCss({ key: 'import-after-regular' })\n\n  injectGlobal`.thing {display:flex;}`\n  injectGlobal`@import 'custom.css';`\n\n  expect(console.error.mock.calls).toMatchInlineSnapshot(`\n    [\n      [\n        \"You're attempting to insert the following rule:\n    @import 'custom.css';\n\n    \\`@import\\` rules must be before all other types of rules in a stylesheet but other rules have already been inserted. Please ensure that \\`@import\\` rules are before all other rules.\",\n      ],\n    ]\n  `)\n})\n"
  },
  {
    "path": "packages/css/types/create-instance.d.ts",
    "content": "// Definitions by: Junyoung Clare Jang <https://github.com/Ailrun>\n// TypeScript Version: 2.8\nexport * from '../create-instance'\nexport { default } from '../create-instance'\n"
  },
  {
    "path": "packages/css/types/index.d.ts",
    "content": "export * from '..'\n"
  },
  {
    "path": "packages/css/types/tests-create-instance.ts",
    "content": "import createEmotion from '@emotion/css/create-instance'\n\n// $ExpectType Emotion\nconst emotion0 = createEmotion({ key: 'bar' })\n// $ExpectType Emotion\nconst emotion1 = createEmotion({\n  key: 'foo',\n  container: document.head,\n  nonce: 'fasefw'\n})\n\n// $ExpectError\ncreateEmotion('abc')\n// $ExpectError\ncreateEmotion({}, undefined as any)\n\nconst {\n  flush,\n  hydrate,\n  cx,\n  merge,\n  getRegisteredStyles,\n  css,\n  injectGlobal,\n  keyframes,\n  sheet,\n  cache\n} = emotion0\n\nflush()\n\n// $ExpectError\nflush(undefined as any)\n\nhydrate([])\nhydrate(['123'])\n\n// $ExpectError\nhydrate()\n// $ExpectError\nhydrate([0])\n// $ExpectError\nhydrate([], undefined as any)\n\ncx()\ncx(true)\ncx('123')\ncx('123', 'pf')\ncx({\n  abc: false,\n  fp: true,\n  opt1: null,\n  opt2: undefined\n})\ncx([])\ncx([\n  'cl',\n  {\n    fp: true\n  }\n])\ncx([['abc']])\n\n// $ExpectError\ncx(5)\n\nmerge('abc def fpfp')\n\ngetRegisteredStyles([], 'abc')\ngetRegisteredStyles(['abc'], 'bcd')\ngetRegisteredStyles([], 'abc def fpfw')\n\ncss`\n  height: 20px;\n`\ncss`\n  color: ${'green'};\n  font-size: ${10 + 4}px;\n`\ncss()\ncss(1)\ncss('abc')\ncss(true)\ncss([])\ncss([1])\ncss([['abc', 'asdf'], 'efw'])\ncss({\n  ':active': {\n    borderRadius: '2px',\n    overflowAnchor: 'none',\n    clear: ['both', 'left']\n  },\n  '::before': {\n    borderRadius: '2px'\n  }\n})\ncss(true, true)\ncss('fa', 1123)\ncss(['123'], 'asdf')\n\n// $ExpectError\ncss({\n  width: {}\n})\n// $ExpectError\ncss({\n  color: 5\n})\n\ninjectGlobal`\n  background: black;\n`\ninjectGlobal()\ninjectGlobal(30)\ninjectGlobal('this-is-class')\ninjectGlobal({})\ninjectGlobal([\n  {\n    animationDelay: '200ms'\n  }\n])\n// $ExpectError\ninjectGlobal({\n  backgroundColor: 4\n})\n\nkeyframes`\n  from {\n    width: 100%;\n  }\n\n  to {\n    width: 50%;\n  }\n`\nkeyframes()\nkeyframes({\n  from: {\n    marginLeft: '100%'\n  },\n  to: {\n    marginLeft: '50%'\n  }\n})\nkeyframes([\n  {\n    from: {\n      marginLeft: '100%'\n    },\n    to: {\n      marginLeft: '50%'\n    }\n  },\n  {\n    '0%': {\n      width: '100px'\n    },\n    '50%': {\n      width: '50px'\n    },\n    '100%': {\n      width: '120px'\n    }\n  }\n])\n// $ExpectError\nkeyframes({\n  '0%': {\n    backgroundOrigin: 0\n  }\n})\n"
  },
  {
    "path": "packages/css/types/tests.ts",
    "content": "import {\n  flush,\n  hydrate,\n  cx,\n  merge,\n  getRegisteredStyles,\n  css,\n  injectGlobal,\n  keyframes,\n  sheet,\n  cache\n} from '@emotion/css'\n\nflush()\n\nhydrate(['css-123', 'css-456'])\n\nconst cssObject = {\n  height: 100,\n  width: '100%',\n  display: 'block',\n  position: undefined,\n  ':hover': {\n    display: 'block'\n  }\n}\n\nconst className: string = css`\n  ${(true as boolean) && ''}\n  ${'bar'}\n  ${css``}\n  ${1}\n  ${cssObject}\n`\n\nconst className2: string = css(cssObject)\n\ncss([{ display: 'none' }, [{ position: 'relative' }, { width: 100 }]])\n\ncss({ display: 'none' }, [{ position: 'relative' }, { width: 100 }])\n\ncss(null)\n\ninjectGlobal`\n  #foo {\n    font-face: 'Foo';\n  }\n`\n\ninjectGlobal({\n  html: {\n    width: '100vw',\n    height: '100vh'\n  },\n  '#root': {\n    fontWeight: 'bold'\n  }\n})\n\nkeyframes({\n  '0%': {\n    transform: 'scaleY(0.5)'\n  },\n  to: {\n    transform: 'scaleY(1)'\n  }\n})\n\nkeyframes`\n  0% {\n    transform: translateX(100%);\n  }\n  40% {\n    transform: translateX(50%);\n  }\n  60% {\n    transform: translateX(30%);\n  }\n  100% {\n    transform: translateX(100%);\n  }\n`\n\nconst cxResult: string = cx([\n  [className, false && className2, 'modal'],\n  [[className, { [className2]: true }, 'profile']]\n])\n\nmerge(`class1 class2 ${className}`)\n\ngetRegisteredStyles([], className)\n"
  },
  {
    "path": "packages/css/types/tsconfig.json",
    "content": "{\n  \"compilerOptions\": {\n    \"baseUrl\": \"../\",\n    \"forceConsistentCasingInFileNames\": true,\n    \"jsx\": \"react\",\n    \"lib\": [\"es6\", \"dom\"],\n    \"module\": \"commonjs\",\n    \"noEmit\": true,\n    \"strict\": true,\n    \"target\": \"es5\",\n    \"typeRoots\": [\"../\"],\n    \"types\": [],\n    \"paths\": {\n      \"#is-browser\": [\"./src/conditions/true.ts\"],\n      \"#is-development\": [\"./src/conditions/true.ts\"]\n    }\n  },\n  \"include\": [\"./*.ts\", \"./*.tsx\"]\n}\n"
  },
  {
    "path": "packages/css/types/tslint.json",
    "content": "{\n  \"extends\": \"@definitelytyped/dtslint/dtslint.json\",\n  \"rules\": {\n    \"array-type\": [true, \"generic\"],\n    \"import-spacing\": false,\n    \"file-name-casing\": false,\n    \"no-default-import\": false,\n    \"no-null-undefined-union\": false,\n    \"semicolon\": false,\n    \"whitespace\": [\n      true,\n      \"check-branch\",\n      \"check-decl\",\n      \"check-operator\",\n      \"check-module\",\n      \"check-rest-spread\",\n      \"check-type\",\n      \"check-typecast\",\n      \"check-type-operator\",\n      \"check-preblock\"\n    ],\n    \"unnecessary-bind\": false\n  }\n}\n"
  },
  {
    "path": "packages/css-prettifier/CHANGELOG.md",
    "content": "# @emotion/css-prettifier\n\n## 1.2.0\n\n### Minor Changes\n\n- [#3278](https://github.com/emotion-js/emotion/pull/3278) [`282b61d`](https://github.com/emotion-js/emotion/commit/282b61d2ad4e39ea65af88351a894a903c2d42c4) Thanks [@Andarist](https://github.com/Andarist)! - Source code has been migrated to TypeScript. From now on type declarations will be emitted based on that, instead of being hand-written.\n\n## 1.1.4\n\n### Patch Changes\n\n- Updated dependencies [[`7f8db2d`](https://github.com/emotion-js/emotion/commit/7f8db2d7a900bb34995db66084a99d512811e33d)]:\n  - @emotion/memoize@0.9.0\n\n## 1.1.3\n\n### Patch Changes\n\n- [#3031](https://github.com/emotion-js/emotion/pull/3031) [`336f3d50`](https://github.com/emotion-js/emotion/commit/336f3d50fd684ccbb160fff0c63d5560936f1ee5) Thanks [@Andarist](https://github.com/Andarist)! - Updated the underlying parser ([stylis](https://github.com/thysultan/stylis)) to 4.2.0\n\n* [#3029](https://github.com/emotion-js/emotion/pull/3029) [`eed5e6cf`](https://github.com/emotion-js/emotion/commit/eed5e6cf00f94f3011b93825ccce43cb2270c247) Thanks [@Andarist](https://github.com/Andarist)! - Fixed importing in Node ESM\n\n* Updated dependencies [[`eed5e6cf`](https://github.com/emotion-js/emotion/commit/eed5e6cf00f94f3011b93825ccce43cb2270c247)]:\n  - @emotion/memoize@0.8.1\n\n## 1.1.2\n\n### Patch Changes\n\n- [#3025](https://github.com/emotion-js/emotion/pull/3025) [`6bd13425`](https://github.com/emotion-js/emotion/commit/6bd13425a2b413150c81e63fad1105d7968b5e6f) Thanks [@Andarist](https://github.com/Andarist)! - Updated the underlying parser ([stylis](https://github.com/thysultan/stylis)) to 4.1.4\n\n## 1.1.1\n\n### Patch Changes\n\n- [#2929](https://github.com/emotion-js/emotion/pull/2929) [`13afe030`](https://github.com/emotion-js/emotion/commit/13afe0303e2e54b5869c326e6d9c9dc36a332c02) Thanks [@Andarist](https://github.com/Andarist)! - Updated the underlying parser ([stylis](https://github.com/thysultan/stylis)).\n\n## 1.1.0\n\n### Minor Changes\n\n- [#2819](https://github.com/emotion-js/emotion/pull/2819) [`bbad8c79`](https://github.com/emotion-js/emotion/commit/bbad8c79937f8dfd5d93bf485c1e9ec44124d228) Thanks [@nicksrandall](https://github.com/nicksrandall)! - `exports` field has been added to the `package.json` manifest. It limits what files can be imported from a package but we've tried our best to allow importing all the files that were considered to be a part of the public API.\n\n### Patch Changes\n\n- Updated dependencies [[`bbad8c79`](https://github.com/emotion-js/emotion/commit/bbad8c79937f8dfd5d93bf485c1e9ec44124d228)]:\n  - @emotion/memoize@0.8.0\n\n## 1.0.1\n\n### Patch Changes\n\n- [#2590](https://github.com/emotion-js/emotion/pull/2590) [`1554a7e2`](https://github.com/emotion-js/emotion/commit/1554a7e264e05780b2c5bd74ccb20a92005ba61d) Thanks [@Andarist](https://github.com/Andarist)! - Upgraded and pinned the version of Stylis - the CSS parser that Emotion uses under the hood.\n\n## 1.0.0\n"
  },
  {
    "path": "packages/css-prettifier/LICENSE",
    "content": "MIT License\n\nCopyright (c) Emotion team and other contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "packages/css-prettifier/README.md",
    "content": "# @emotion/css-prettifier\n"
  },
  {
    "path": "packages/css-prettifier/package.json",
    "content": "{\n  \"name\": \"@emotion/css-prettifier\",\n  \"version\": \"1.2.0\",\n  \"description\": \"Simple Stylis-based CSS prettifier\",\n  \"keywords\": [\n    \"emotion\"\n  ],\n  \"author\": \"Mateusz Burzyński <mateuszburzynski@gmail.com> (https://github.com/Andarist)\",\n  \"main\": \"dist/emotion-css-prettifier.cjs.js\",\n  \"module\": \"dist/emotion-css-prettifier.esm.js\",\n  \"types\": \"dist/emotion-css-prettifier.cjs.d.ts\",\n  \"exports\": {\n    \".\": {\n      \"types\": {\n        \"import\": \"./dist/emotion-css-prettifier.cjs.mjs\",\n        \"default\": \"./dist/emotion-css-prettifier.cjs.js\"\n      },\n      \"module\": \"./dist/emotion-css-prettifier.esm.js\",\n      \"import\": \"./dist/emotion-css-prettifier.cjs.mjs\",\n      \"default\": \"./dist/emotion-css-prettifier.cjs.js\"\n    },\n    \"./package.json\": \"./package.json\"\n  },\n  \"license\": \"MIT\",\n  \"repository\": \"https://github.com/emotion-js/emotion/tree/main/packages/css-prettifier\",\n  \"dependencies\": {\n    \"@emotion/memoize\": \"^0.9.0\",\n    \"stylis\": \"4.2.0\"\n  },\n  \"devDependencies\": {\n    \"@types/stylis\": \"^4.2.7\"\n  },\n  \"publishConfig\": {\n    \"access\": \"public\"\n  },\n  \"files\": [\n    \"src\",\n    \"dist\"\n  ]\n}\n"
  },
  {
    "path": "packages/css-prettifier/src/index.ts",
    "content": "import memoize from '@emotion/memoize'\nimport {\n  compile,\n  serialize,\n  combine,\n  tokenize,\n  type Middleware,\n  type Element\n} from 'stylis'\n\n// adjusted https://github.com/thysultan/stylis.js/blob/68b9043427c177b95a0fd6a2a13f5b636bf80236/src/Serializer.js#L26-L34\nconst prettyStringify = memoize(\n  (indentation): Middleware =>\n    (element, index, children, callback) => {\n      switch (element.type) {\n        case '@import':\n          return (element.return = element.return || element.value) + '\\n\\n'\n        case 'decl':\n          return (element.return =\n            element.return || `${element.props}: ${element.children};\\n`)\n        case 'comm':\n          return ''\n        case '@media':\n        case '@supports':\n          element.value = combine(\n            tokenize(element.value),\n            (value, index, children) => {\n              // (\n              if (value.charCodeAt(0) === 40 && children[index - 1] !== ' ') {\n                return ' ' + value\n              }\n              return value\n            }\n          )\n          break\n        case 'rule':\n          element.value = (element.props as string[]).join(\n            element.root &&\n              (element.root.type === '@keyframes' ||\n                element.root.type === '@-webkit-keyframes')\n              ? ', '\n              : ',\\n'\n          )\n      }\n\n      const serialized = serialize(element.children as Element[], callback)\n      return serialized.length\n        ? (element.return =\n            element.value +\n            ' {\\n' +\n            serialized\n              .trim()\n              .replace(/^/gm, indentation)\n              .replace(/^\\s+$/gm, '') +\n            '\\n}\\n\\n')\n        : ''\n    }\n)\n\nexport default function prettify(styles: string, indentation = '  ') {\n  return serialize(compile(styles), prettyStringify(indentation)).trim()\n}\n"
  },
  {
    "path": "packages/eslint-plugin/CHANGELOG.md",
    "content": "# @emotion/eslint-plugin\n\n## 11.12.0\n\n### Minor Changes\n\n- [#2568](https://github.com/emotion-js/emotion/pull/2568) [`304f7e3`](https://github.com/emotion-js/emotion/commit/304f7e3da4fb7a4c38eff0fa27cc6db417bfe10c) Thanks [@G-Rath](https://github.com/G-Rath)! - Source code has been migrated to TypeScript. From now on type declarations will be emitted based on that, instead of being hand-written.\n\n### Patch Changes\n\n- [#2568](https://github.com/emotion-js/emotion/pull/2568) [`304f7e3`](https://github.com/emotion-js/emotion/commit/304f7e3da4fb7a4c38eff0fa27cc6db417bfe10c) Thanks [@G-Rath](https://github.com/G-Rath)! - An empty css prop (`<div css />`) will now raise an error in the `@emotion/syntax-preference` rule instead of crashing on this case.\n\n- [#2568](https://github.com/emotion-js/emotion/pull/2568) [`304f7e3`](https://github.com/emotion-js/emotion/commit/304f7e3da4fb7a4c38eff0fa27cc6db417bfe10c) Thanks [@G-Rath](https://github.com/G-Rath)! - Fixed a crash on empty css prop (`<div css />`) in the `@emotion/jsx-import` rule.\n\n## 11.11.0\n\n### Patch Changes\n\n- [#3029](https://github.com/emotion-js/emotion/pull/3029) [`eed5e6cf`](https://github.com/emotion-js/emotion/commit/eed5e6cf00f94f3011b93825ccce43cb2270c247) Thanks [@Andarist](https://github.com/Andarist)! - Fixed importing in Node ESM\n\n## 11.10.0\n\n### Minor Changes\n\n- [#2819](https://github.com/emotion-js/emotion/pull/2819) [`bbad8c79`](https://github.com/emotion-js/emotion/commit/bbad8c79937f8dfd5d93bf485c1e9ec44124d228) Thanks [@nicksrandall](https://github.com/nicksrandall)! - `exports` field has been added to the `package.json` manifest. It limits what files can be imported from a package but we've tried our best to allow importing all the files that were considered to be a part of the public API.\n\n## 11.7.0\n\n### Minor Changes\n\n- [#2562](https://github.com/emotion-js/emotion/pull/2562) [`f046ae40`](https://github.com/emotion-js/emotion/commit/f046ae40bcae24400068311690a94ba2dbf20344) Thanks [@G-Rath](https://github.com/G-Rath)! - ESLint 8 has been added to the peer dependency range (ESLint 6 and ESLint 7 are still being supported).\n\n## 11.5.0\n\n### Patch Changes\n\n- [#2353](https://github.com/emotion-js/emotion/pull/2353) [`d7d768e0`](https://github.com/emotion-js/emotion/commit/d7d768e056e6cd7a10c2de6ecb2b564e6444dac3) Thanks [@iChenLei](https://github.com/iChenLei)! - implement automatic adding of jsxImportSource pragma definition\n\n## 11.2.0\n\n### Patch Changes\n\n- [`bfaa1b51`](https://github.com/emotion-js/emotion/commit/bfaa1b51684c6883c311cc20a7bf260f1af183e3) [#2246](https://github.com/emotion-js/emotion/pull/2246) Thanks [@G-Rath](https://github.com/G-Rath)! - Improved `syntax-preference` rule to support `css` function and check style types for arguments of `css` & styled calls.\n\n## 11.0.0\n\n### Major Changes\n\n- [`b8476e08`](https://github.com/emotion-js/emotion/commit/b8476e08af4a2e8de94a112cb0daf6e8e4d56fe1) [#1675](https://github.com/emotion-js/emotion/pull/1675) Thanks [@emmatown](https://github.com/emmatown)! - Rename `eslint-plugin-emotion` to `@emotion/eslint-plugin`. Please replace `\"plugins\": [\"emotion\"]` with `\"plugins\": [\"@emotion\"]` and `emotion/` with `@emotion/` in your rules config in your ESLint config.\n\n### Minor Changes\n\n- [`b8476e08`](https://github.com/emotion-js/emotion/commit/b8476e08af4a2e8de94a112cb0daf6e8e4d56fe1) [#1675](https://github.com/emotion-js/emotion/pull/1675) Thanks [@emmatown](https://github.com/emmatown)! - Added `@emotion/pkg-renaming` rule for Emotion 11 migration.\n\n* [`8b59959f`](https://github.com/emotion-js/emotion/commit/8b59959f0929799f050089b05cafb39ca2c57d2d) [#1659](https://github.com/emotion-js/emotion/pull/1659) Thanks [@Andarist](https://github.com/Andarist)! - Respect `syntax-preference` rule when using css prop.\n\n* [`58e8c110`](https://github.com/emotion-js/emotion/commit/58e8c110a6d307ef89513015476d6c50d19e77b1) [#2034](https://github.com/emotion-js/emotion/pull/2034) Thanks [@Andarist](https://github.com/Andarist)! - ESLint 7 has been added to the peer dependency range (ESLint 6 keeps being supported).\n\n## 11.0.0-rc.0\n\n### Major Changes\n\n- [`9c4ebc16`](https://github.com/emotion-js/emotion/commit/9c4ebc160471097c5d04fb92dba3ed0df870bb63) [#2030](https://github.com/emotion-js/emotion/pull/2030) Thanks [@Andarist](https://github.com/Andarist)! - Release candidate version.\n\n### Minor Changes\n\n- [`58e8c110`](https://github.com/emotion-js/emotion/commit/58e8c110a6d307ef89513015476d6c50d19e77b1) [#2034](https://github.com/emotion-js/emotion/pull/2034) Thanks [@Andarist](https://github.com/Andarist)! - ESLint 7 has been added to the peer dependency range (ESLint 6 keeps being supported).\n\n## 11.0.0-next.10\n\n### Major Changes\n\n- [`b8476e08`](https://github.com/emotion-js/emotion/commit/b8476e08af4a2e8de94a112cb0daf6e8e4d56fe1) [#1675](https://github.com/emotion-js/emotion/pull/1675) Thanks [@emmatown](https://github.com/emmatown)! - Rename `eslint-plugin-emotion` to `@emotion/eslint-plugin`. Please replace `\"plugins\": [\"emotion\"]` with `\"plugins\": [\"@emotion\"]` and `emotion/` with `@emotion/` in your rules config in your ESLint config.\n\n### Minor Changes\n\n- [`b8476e08`](https://github.com/emotion-js/emotion/commit/b8476e08af4a2e8de94a112cb0daf6e8e4d56fe1) [#1675](https://github.com/emotion-js/emotion/pull/1675) Thanks [@emmatown](https://github.com/emmatown)! - Add @emotion/pkg-renaming rule for Emotion 11 migration\n\n## 10.0.27\n\n### Patch Changes\n\n- [`4c62ae9`](https://github.com/emotion-js/emotion/commit/4c62ae9447959d438928e1a26f76f1487983c968) [#1698](https://github.com/emotion-js/emotion/pull/1698) Thanks [@Andarist](https://github.com/Andarist)! - Add LICENSE file\n\n## 10.0.14\n\n### Patch Changes\n\n- [c0eb604d](https://github.com/emotion-js/emotion/commit/c0eb604d) [#1419](https://github.com/emotion-js/emotion/pull/1419) Thanks [@emmatown](https://github.com/emmatown)! - Update build tool\n  - [4ae88942](https://github.com/emotion-js/emotion/commit/4ae88942) [#1402](https://github.com/emotion-js/emotion/pull/1402) Thanks [@ahutchings](https://github.com/ahutchings)! - jsx-import rule: Add jsx specifier to existing import from @emotion/core when auto-fixing\n"
  },
  {
    "path": "packages/eslint-plugin/LICENSE",
    "content": "MIT License\n\nCopyright (c) Emotion team and other contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "packages/eslint-plugin/README.md",
    "content": "# @emotion/eslint-plugin\n\n> ESLint rules for emotion\n\n## Installation\n\nYou'll first need to install [ESLint](http://eslint.org):\n\n```\n$ npm i eslint --save-dev\n```\n\nNext, install `@emotion/eslint-plugin`:\n\n```\n$ npm install @emotion/eslint-plugin --save-dev\n```\n\n**Note:** If you installed ESLint globally (using the `-g` flag) then you must also install `@emotion/eslint-plugin` globally.\n\n## Usage\n\nAdd `@emotion` to the plugins section of your `.eslintrc` configuration file. You can omit `/eslint-plugin`:\n\n```json\n{\n  \"plugins\": [\"@emotion\"]\n}\n```\n\nThen configure the rules you want to use under the rules section.\n\n```json\n{\n  \"rules\": {\n    \"@emotion/jsx-import\": \"error\"\n  }\n}\n```\n\n## Emotion 11 codemod\n\nThe Emotion 11 codemods are contained in this package. To use them, enable the rule shown below.\n\n```json\n{\n  \"rules\": {\n    \"@emotion/pkg-renaming\": \"error\"\n  }\n}\n```\n\n## Emotion 10 codemods\n\nThe Emotion 10 codemods are contained in this package. To use them, enable the rules shown below. Keeping these rules after migrating is also useful to have `jsx` from `@emotion/react` automatically imported when the css prop is used and other such things. You may also want to not enable certain rules while you are migrating or forever, such the `no-vanilla` rule.\n\n```json\n{\n  \"rules\": {\n    \"@emotion/jsx-import\": \"error\",\n    \"@emotion/no-vanilla\": \"error\",\n    \"@emotion/import-from-emotion\": \"error\",\n    \"@emotion/styled-import\": \"error\"\n  }\n}\n```\n\n> **Note:**\n>\n> These rules assume you are using React, if you are not using React, you should keep using the `emotion` package.\n\n## Supported Rules\n\n- [jsx-import](https://github.com/emotion-js/emotion/blob/main/packages/eslint-plugin/docs/rules/jsx-import.md)\n- [styled-import](https://github.com/emotion-js/emotion/blob/main/packages/eslint-plugin/docs/rules/styled-import.md)\n- [import-from-emotion](https://github.com/emotion-js/emotion/blob/main/packages/eslint-plugin/docs/rules/import-from-emotion.md)\n- [no-vanilla](https://github.com/emotion-js/emotion/blob/main/packages/eslint-plugin/docs/rules/no-vanilla.md)\n- [syntax-preference](https://github.com/emotion-js/emotion/blob/main/packages/eslint-plugin/docs/rules/syntax-preference.md)\n"
  },
  {
    "path": "packages/eslint-plugin/docs/rules/import-from-emotion.md",
    "content": "# Ensure styled is imported from @emotion/styled (import-from-emotion)\n\n## Rule Details\n\nThis rule reports an error if anything other than styled is imported from `react-emotion` because `emotion`'s exports are not re-exported from `react-emotion` in emotion 10 and above. This rule can usually be auto-fixed so you should not usually have to do anything yourself. This rule primarily exists for migration purposes because ideally the `emotion` package should not be used in a React app with Emotion 10 and above.\n\nExamples of **incorrect** code for this rule.\n\n```jsx\nimport { css } from 'react-emotion'\n```\n\nExamples of **correct** code for this rule.\n\n```jsx\nimport { css } from 'emotion'\n```\n"
  },
  {
    "path": "packages/eslint-plugin/docs/rules/jsx-import.md",
    "content": "# Ensure jsx from @emotion/react is imported (jsx-import)\n\n## Rule Details\n\nThis rule ensures that `jsx` from `@emotion/react` is imported. This rule can usually be auto-fixed so you should not usually have to do anything yourself.\n\nExamples of **incorrect** code for this rule.\n\n```jsx\nlet element = (\n  <div\n    css={{\n      color: 'green'\n    }}\n  />\n)\n```\n\nExamples of **correct** code for this rule.\n\n```js\n/** @jsx jsx */\nimport { jsx } from '@emotion/react'\n\nlet element = (\n  <div\n    css={{\n      color: 'green'\n    }}\n  />\n)\n```\n\n## When Not To Use It\n\nIf you are using a babel plugin or something like that to add imports and set the jsx pragma.\n"
  },
  {
    "path": "packages/eslint-plugin/docs/rules/no-vanilla.md",
    "content": "# Ensure vanilla emotion is not using (no-vanilla)\n\n## Rule Details\n\nThis rule reports an error if there is an import from the `emotion` package which is not recommended if you are using emotion with React.\n\nExamples of **incorrect** code for this rule.\n\n```jsx\nimport { css } from '@emotion/css'\n```\n\n## When Not To Use It\n\nIf you are using vanilla emotion because you are not using React.\n"
  },
  {
    "path": "packages/eslint-plugin/docs/rules/styled-import.md",
    "content": "# Ensure styled is imported from @emotion/styled (styled-import)\n\n## Rule Details\n\nThis rule reports an error if styled is imported from `react-emotion` which is not where styled should be imported from in emotion 10 and above. This rule can usually be auto-fixed so you should not usually have to do anything yourself.\n\nExamples of **incorrect** code for this rule.\n\n```jsx\nimport styled from 'react-emotion'\n```\n\nExamples of **correct** code for this rule.\n\n```jsx\nimport styled from '@emotion/styled'\n```\n"
  },
  {
    "path": "packages/eslint-plugin/docs/rules/syntax-preference.md",
    "content": "# Choose between styles written as strings or objects (syntax-preference)\n\n[Styled](https://emotion.sh/docs/styled) accepts string styles or object styles.\n\n## Rule Details\n\nThis rule aims to choose between syntaxes.\n\nExamples of **incorrect** code for this rule, when `@emotion/syntax-preference: [2, \"string\"]`:\n\n```js\nconst H1 = styled.h1({\n  color: red\n})\n// --> Styles should be written using strings.\n\nconst H1 = styled('h1')({\n  color: red\n})\n// --> Styles should be written using strings.\n```\n\nExamples of **incorrect** code for this rule, when `@emotion/syntax-preference: [2, \"object\"]`:\n\n```js\nconst H1 = styled.h1`\n  color: red;\n`\n// --> Styles should be written using objects.\n\nconst H1 = styled('h1')`\n  color: red;\n`\n// --> Styles should be written using objects.\n```\n\n## When Not To Use It\n\nIf you don't want to limit styles to a unique syntax.\n"
  },
  {
    "path": "packages/eslint-plugin/package.json",
    "content": "{\n  \"name\": \"@emotion/eslint-plugin\",\n  \"version\": \"11.12.0\",\n  \"description\": \"ESLint rules for emotion\",\n  \"keywords\": [\n    \"eslint\",\n    \"eslintplugin\",\n    \"eslint-plugin\",\n    \"emotion\"\n  ],\n  \"author\": \"alex-pex <alexandre.paixao@stadline.com>\",\n  \"main\": \"dist/emotion-eslint-plugin.cjs.js\",\n  \"module\": \"dist/emotion-eslint-plugin.esm.js\",\n  \"exports\": {\n    \".\": {\n      \"types\": {\n        \"import\": \"./dist/emotion-eslint-plugin.cjs.mjs\",\n        \"default\": \"./dist/emotion-eslint-plugin.cjs.js\"\n      },\n      \"module\": \"./dist/emotion-eslint-plugin.esm.js\",\n      \"import\": \"./dist/emotion-eslint-plugin.cjs.mjs\",\n      \"default\": \"./dist/emotion-eslint-plugin.cjs.js\"\n    },\n    \"./package.json\": \"./package.json\"\n  },\n  \"engines\": {\n    \"node\": \">=6\"\n  },\n  \"license\": \"MIT\",\n  \"repository\": \"https://github.com/emotion-js/emotion/tree/main/packages/eslint-plugin\",\n  \"peerDependencies\": {\n    \"eslint\": \"6 || 7 || 8\"\n  },\n  \"dependencies\": {\n    \"@typescript-eslint/utils\": \"^5.25.0\"\n  },\n  \"devDependencies\": {\n    \"@types/eslint\": \"^7.0.0\",\n    \"eslint\": \"^8.57.0\",\n    \"resolve-from\": \"^5.0.0\"\n  }\n}\n"
  },
  {
    "path": "packages/eslint-plugin/src/index.ts",
    "content": "import importFromEmotion from './rules/import-from-emotion'\nimport noVanilla from './rules/no-vanilla'\nimport syntaxPreference from './rules/syntax-preference'\nimport styledImport from './rules/styled-import'\nimport jsxImport from './rules/jsx-import'\nimport pkgRenaming from './rules/pkg-renaming'\n\nexport const rules = {\n  'import-from-emotion': importFromEmotion,\n  'no-vanilla': noVanilla,\n  'syntax-preference': syntaxPreference,\n  'styled-import': styledImport,\n  'jsx-import': jsxImport,\n  'pkg-renaming': pkgRenaming\n}\n"
  },
  {
    "path": "packages/eslint-plugin/src/rules/import-from-emotion.ts",
    "content": "import { AST_NODE_TYPES, TSESTree } from '@typescript-eslint/utils'\nimport { createRule } from '../utils'\n\nconst messages = {\n  incorrectImport: `emotion's exports should be imported directly from emotion rather than from react-emotion`\n}\n\nexport default createRule<never[], keyof typeof messages>({\n  name: __filename,\n  meta: {\n    docs: {\n      description: 'Ensure styled is imported from @emotion/styled',\n      recommended: false\n    },\n    fixable: 'code',\n    messages,\n    schema: [],\n    type: 'problem'\n  },\n  defaultOptions: [],\n  create(context) {\n    return {\n      ImportDeclaration(node) {\n        if (\n          node.source.value === 'react-emotion' &&\n          node.specifiers.some(\n            x => x.type !== AST_NODE_TYPES.ImportDefaultSpecifier\n          )\n        ) {\n          context.report({\n            node: node.source,\n            messageId: 'incorrectImport',\n            fix(fixer) {\n              if (\n                node.specifiers[0].type ===\n                AST_NODE_TYPES.ImportNamespaceSpecifier\n              ) {\n                return null\n              }\n              // default specifiers are always first\n              if (\n                node.specifiers[0].type ===\n                AST_NODE_TYPES.ImportDefaultSpecifier\n              ) {\n                return fixer.replaceText(\n                  node,\n                  `import ${\n                    node.specifiers[0].local.name\n                  } from '@emotion/styled';\\nimport { ${node.specifiers\n                    .filter(\n                      (x): x is TSESTree.ImportSpecifier =>\n                        x.type === AST_NODE_TYPES.ImportSpecifier\n                    )\n                    .map(x =>\n                      x.local.name === x.imported.name\n                        ? x.local.name\n                        : `${x.imported.name} as ${x.local.name}`\n                    )\n                    .join(', ')} } from 'emotion';`\n                )\n              }\n              return fixer.replaceText(node.source, \"'emotion'\")\n            }\n          })\n        }\n      }\n    }\n  }\n})\n"
  },
  {
    "path": "packages/eslint-plugin/src/rules/jsx-import.ts",
    "content": "import { AST_NODE_TYPES, TSESTree } from '@typescript-eslint/utils'\nimport { createRule, REPO_URL } from '../utils'\n\nconst JSX_ANNOTATION_REGEX = /\\*?\\s*@jsx\\s+([^\\s]+)/\nconst JSX_IMPORT_SOURCE_REGEX = /\\*?\\s*@jsxImportSource\\s+([^\\s]+)/\n\n// TODO: handling this case\n// <div css={`color:hotpink;`} />\n// to\n// <div css={css`color:hotpink;`} /> + import { css }\n\ndeclare module '@typescript-eslint/utils/dist/ts-eslint/Rule' {\n  export interface SharedConfigurationSettings {\n    react?: { pragma?: string }\n  }\n}\n\ntype JSXConfig = {\n  runtime: string\n  importSource?: string\n}\n\ntype RuleOptions = [(JSXConfig | string)?]\n\nconst messages = {\n  cssProp: `The css prop can only be used if jsxImportSource is set to {{ importSource }}`,\n  cssPropWithPragma: `The css prop can only be used if jsx from @emotion/react is imported and it is set as the jsx pragma`,\n  templateLiterals: `Template literals should be replaced with tagged template literals using \\`css\\` when using the css prop`\n}\n\nexport default createRule<RuleOptions, keyof typeof messages>({\n  name: __filename,\n  meta: {\n    docs: {\n      description: 'Ensure jsx from @emotion/react is imported',\n      recommended: false\n    },\n    fixable: 'code',\n    messages,\n    schema: {\n      type: 'array',\n      items: {\n        oneOf: [\n          {\n            type: 'string'\n          },\n          {\n            type: 'object',\n            properties: {\n              runtime: { type: 'string' },\n              importSource: { type: 'string' }\n            },\n            required: ['runtime'],\n            additionalProperties: false\n          }\n        ]\n      },\n      uniqueItems: true,\n      minItems: 0\n    },\n    type: 'problem'\n  },\n  defaultOptions: [],\n  create(context) {\n    const jsxRuntimeMode = context.options.find(\n      (option): option is JSXConfig =>\n        typeof option === 'object' && option.runtime === 'automatic'\n    )\n\n    if (jsxRuntimeMode) {\n      return {\n        JSXAttribute(node) {\n          if (node.name.name !== 'css') {\n            return\n          }\n          const importSource = jsxRuntimeMode?.importSource || '@emotion/react'\n          let jsxImportSourcePragmaComment: TSESTree.Comment | null = null\n          let jsxImportSourceMatch\n          let validJsxImportSource = false\n          let sourceCode = context.getSourceCode()\n          let pragma = sourceCode.getAllComments().find(comment => {\n            if (JSX_IMPORT_SOURCE_REGEX.test(comment.value)) {\n              jsxImportSourcePragmaComment = comment\n              return true\n            }\n          })\n          jsxImportSourceMatch =\n            pragma && pragma.value.match(JSX_IMPORT_SOURCE_REGEX)\n          if (\n            jsxImportSourceMatch &&\n            jsxImportSourceMatch[1] === importSource\n          ) {\n            validJsxImportSource = true\n          }\n          if (!jsxImportSourceMatch) {\n            context.report({\n              node,\n              messageId: 'cssProp',\n              data: { importSource },\n              fix(fixer) {\n                return fixer.insertTextBefore(\n                  sourceCode.ast.body[0],\n                  `/** @jsxImportSource ${importSource} */\\n`\n                )\n              }\n            })\n          } else if (!validJsxImportSource && jsxImportSourcePragmaComment) {\n            context.report({\n              node,\n              messageId: 'cssProp',\n              data: { importSource },\n              fix(fixer) {\n                /* istanbul ignore if */\n                if (jsxImportSourcePragmaComment === null) {\n                  throw new Error(\n                    `Unexpected null when attempting to fix ${context.getFilename()} - please file a github issue at ${REPO_URL}`\n                  )\n                }\n\n                return fixer.replaceText(\n                  jsxImportSourcePragmaComment,\n                  `/** @jsxImportSource ${importSource} */`\n                )\n              }\n            })\n          }\n        }\n      }\n    }\n\n    return {\n      JSXAttribute(node) {\n        if (node.name.name !== 'css') {\n          return\n        }\n        let hasJsxImport = false\n        let emotionCoreNode = null as TSESTree.ImportDeclaration | null\n        let local: string | null = null\n        let sourceCode = context.getSourceCode()\n        sourceCode.ast.body.forEach(x => {\n          if (\n            x.type === AST_NODE_TYPES.ImportDeclaration &&\n            (x.source.value === '@emotion/react' ||\n              x.source.value === '@emotion/core')\n          ) {\n            emotionCoreNode = x\n\n            if (\n              x.specifiers.length === 1 &&\n              x.specifiers[0].type === AST_NODE_TYPES.ImportNamespaceSpecifier\n            ) {\n              hasJsxImport = true\n              local = x.specifiers[0].local.name + '.jsx'\n            } else {\n              let jsxSpecifier = x.specifiers.find(\n                x =>\n                  x.type === AST_NODE_TYPES.ImportSpecifier &&\n                  x.imported.name === 'jsx'\n              )\n              if (jsxSpecifier) {\n                hasJsxImport = true\n                local = jsxSpecifier.local.name\n              }\n            }\n          }\n        })\n        let hasSetPragma = false\n        if (context.settings.react && context.settings.react.pragma === 'jsx') {\n          hasSetPragma = true\n        }\n        let pragma = sourceCode\n          .getAllComments()\n          .find(node => JSX_ANNOTATION_REGEX.test(node.value))\n        let match = pragma && pragma.value.match(JSX_ANNOTATION_REGEX)\n        if (match && (match[1] === local || (!local && match[1] === 'jsx'))) {\n          hasSetPragma = true\n        }\n\n        if (!hasJsxImport || !hasSetPragma) {\n          context.report({\n            node,\n            messageId: 'cssPropWithPragma',\n            fix(fixer) {\n              if (hasJsxImport) {\n                /* istanbul ignore if */\n                if (emotionCoreNode === null) {\n                  throw new Error(\n                    `Unexpected null when attempting to fix ${context.getFilename()} - please file a github issue at ${REPO_URL}`\n                  )\n                }\n\n                return fixer.insertTextBefore(\n                  emotionCoreNode,\n                  `/** @jsx ${local} */\\n`\n                )\n              }\n              if (hasSetPragma) {\n                if (emotionCoreNode) {\n                  let lastSpecifier =\n                    emotionCoreNode.specifiers[\n                      emotionCoreNode.specifiers.length - 1\n                    ]\n\n                  if (\n                    lastSpecifier.type === AST_NODE_TYPES.ImportDefaultSpecifier\n                  ) {\n                    return fixer.insertTextAfter(lastSpecifier, ', { jsx }')\n                  }\n\n                  return fixer.insertTextAfter(lastSpecifier, ', jsx')\n                }\n\n                return fixer.insertTextBefore(\n                  sourceCode.ast.body[0],\n                  `import { jsx } from '@emotion/react'\\n`\n                )\n              }\n              return fixer.insertTextBefore(\n                sourceCode.ast.body[0],\n                `/** @jsx jsx */\\nimport { jsx } from '@emotion/react'\\n`\n              )\n            }\n          })\n          return\n        }\n\n        /* istanbul ignore if */\n        if (emotionCoreNode === null) {\n          throw new Error(\n            `Unexpected null when attempting to fix ${context.getFilename()} - please file a github issue at ${REPO_URL}`\n          )\n        }\n\n        const { specifiers } = emotionCoreNode\n        const { value } = node\n\n        if (\n          value &&\n          value.type === AST_NODE_TYPES.JSXExpressionContainer &&\n          value.expression.type === AST_NODE_TYPES.TemplateLiteral\n        ) {\n          let cssSpecifier = specifiers.find(\n            x =>\n              x.type === AST_NODE_TYPES.ImportSpecifier &&\n              x.imported.name === 'css'\n          )\n          context.report({\n            node,\n            messageId: 'templateLiterals',\n            fix(fixer) {\n              if (cssSpecifier) {\n                return fixer.insertTextBefore(\n                  value.expression,\n                  cssSpecifier.local.name\n                )\n              }\n              let lastSpecifier = specifiers[specifiers.length - 1]\n\n              if (context.getScope().variables.some(x => x.name === 'css')) {\n                return [\n                  fixer.insertTextAfter(lastSpecifier, `, css as _css`),\n                  fixer.insertTextBefore(value.expression, '_css')\n                ]\n              }\n              return [\n                fixer.insertTextAfter(lastSpecifier, `, css`),\n                fixer.insertTextBefore(value.expression, 'css')\n              ]\n            }\n          })\n        }\n      }\n    }\n  }\n})\n"
  },
  {
    "path": "packages/eslint-plugin/src/rules/no-vanilla.ts",
    "content": "import { createRule } from '../utils'\n\nconst messages = {\n  vanillaEmotion: 'Vanilla emotion should not be used'\n}\n\nexport default createRule<never[], keyof typeof messages>({\n  name: __filename,\n  meta: {\n    docs: {\n      description: 'Ensure vanilla emotion is not used',\n      recommended: false\n    },\n    messages,\n    schema: [],\n    type: 'problem'\n  },\n  defaultOptions: [],\n  create(context) {\n    return {\n      ImportDeclaration(node) {\n        if (node.source.value === '@emotion/css') {\n          context.report({\n            node: node.source,\n            messageId: 'vanillaEmotion'\n          })\n        }\n      }\n    }\n  }\n})\n"
  },
  {
    "path": "packages/eslint-plugin/src/rules/pkg-renaming.ts",
    "content": "import { AST_NODE_TYPES } from '@typescript-eslint/utils'\nimport { createRule } from '../utils'\n\nconst simpleMappings = new Map<unknown, string>([\n  ['@emotion/core', '@emotion/react'],\n  ['emotion', '@emotion/css'],\n  ['emotion/macro', '@emotion/css/macro'],\n  ['@emotion/styled-base', '@emotion/styled/base'],\n  ['jest-emotion', '@emotion/jest'],\n  ['babel-plugin-emotion', '@emotion/babel-plugin'],\n  ['eslint-plugin-emotion', '@emotion/eslint-plugin'],\n  ['create-emotion-server', '@emotion/server/create-instance'],\n  ['create-emotion', '@emotion/css/create-instance'],\n  ['emotion-server', '@emotion/server']\n])\n\nconst messages = {\n  renamePackage: `{{ beforeName }} has been renamed to {{ afterName }}, please import it from {{ afterName }} instead`,\n  exportChange: `The default export of \"{{ name }}\" in Emotion 10 has been moved to a named export, \\`css\\`, from \"{{ replacement }}\" in Emotion 11, please import it from \"{{ replacement }}\"`,\n  emotionTheming: `\"emotion-theming\" has been moved into \"@emotion/react\", please import its exports from \"@emotion/react\"`\n}\n\nexport default createRule<never[], keyof typeof messages>({\n  name: __filename,\n  meta: {\n    docs: {\n      description: 'Internal rule',\n      recommended: false\n    },\n    fixable: 'code',\n    messages,\n    schema: [],\n    type: 'problem'\n  },\n  defaultOptions: [],\n  create(context) {\n    return {\n      ImportDeclaration(node) {\n        const maybeMapping = simpleMappings.get(node.source.value)\n        if (maybeMapping !== undefined) {\n          context.report({\n            node: node.source,\n            messageId: 'renamePackage',\n            data: {\n              beforeName: JSON.stringify(node.source.value),\n              afterName: JSON.stringify(maybeMapping)\n            },\n            fix: fixer => fixer.replaceText(node.source, `'${maybeMapping}'`)\n          })\n        }\n        if (\n          (node.source.value === '@emotion/css' ||\n            node.source.value === '@emotion/css/macro') &&\n          node.specifiers.length === 1 &&\n          node.specifiers[0].type === AST_NODE_TYPES.ImportDefaultSpecifier\n        ) {\n          let replacement =\n            node.source.value === '@emotion/css'\n              ? '@emotion/react'\n              : '@emotion/react/macro'\n          context.report({\n            node: node.source,\n            messageId: 'exportChange',\n            data: {\n              name: node.source.value,\n              replacement\n            },\n            fix: fixer =>\n              fixer.replaceText(\n                node,\n                `import { css${\n                  node.specifiers[0].local.name === 'css'\n                    ? ''\n                    : ` as ${node.specifiers[0].local.name}`\n                } } from '${replacement}'`\n              )\n          })\n        }\n        if (node.source.value === 'emotion-theming') {\n          context.report({\n            node: node.source,\n            messageId: 'emotionTheming',\n            fix: fixer => fixer.replaceText(node.source, `'@emotion/react'`)\n          })\n        }\n      }\n    }\n  }\n})\n"
  },
  {
    "path": "packages/eslint-plugin/src/rules/styled-import.ts",
    "content": "import { AST_NODE_TYPES } from '@typescript-eslint/utils'\nimport { createRule } from '../utils'\n\nconst messages = {\n  incorrectImport: 'styled should be imported from @emotion/styled'\n}\n\nexport default createRule<never[], keyof typeof messages>({\n  name: __filename,\n  meta: {\n    docs: {\n      description: 'Ensure styled is imported from @emotion/styled',\n      recommended: false\n    },\n    fixable: 'code',\n    messages,\n    schema: [],\n    type: 'problem'\n  },\n  defaultOptions: [],\n  create(context) {\n    return {\n      ImportDeclaration(node) {\n        if (node.source.value === 'react-emotion') {\n          let newImportPath = '@emotion/styled'\n          context.report({\n            node: node.source,\n            messageId: 'incorrectImport',\n            fix:\n              node.specifiers.length === 1 &&\n              node.specifiers[0].type === AST_NODE_TYPES.ImportDefaultSpecifier\n                ? fixer => {\n                    return fixer.replaceText(node.source, `'${newImportPath}'`)\n                  }\n                : undefined\n          })\n        }\n      }\n    }\n  }\n})\n"
  },
  {
    "path": "packages/eslint-plugin/src/rules/syntax-preference.ts",
    "content": "import { AST_NODE_TYPES, TSESLint, TSESTree } from '@typescript-eslint/utils'\nimport { createRule } from '../utils'\n\n/**\n * @fileoverview Choose between string or object syntax\n * @author alex-pex\n */\n\nfunction isStringStyle(node: TSESTree.TaggedTemplateExpression) {\n  if (node.tag.type === AST_NODE_TYPES.Identifier && node.tag.name === 'css') {\n    return true\n  }\n  // shorthand notation\n  // eg: styled.h1` color: red; `\n  if (\n    node.tag.type === AST_NODE_TYPES.MemberExpression &&\n    node.tag.object.type === AST_NODE_TYPES.Identifier &&\n    node.tag.object.name === 'styled'\n  ) {\n    // string syntax used\n    return true\n  }\n\n  // full notation\n  // eg: styled('h1')` color: red; `\n  if (\n    node.tag.type === AST_NODE_TYPES.CallExpression &&\n    node.tag.callee.type === AST_NODE_TYPES.Identifier &&\n    node.tag.callee.name === 'styled'\n  ) {\n    // string syntax used\n    return true\n  }\n\n  return false\n}\n\nfunction isObjectStyle(node: TSESTree.CallExpression) {\n  if (\n    node.callee.type === AST_NODE_TYPES.Identifier &&\n    node.callee.name === 'css'\n  ) {\n    return true\n  }\n\n  // shorthand notation\n  // eg: styled.h1({ color: 'red' })\n  if (\n    node.callee.type === AST_NODE_TYPES.MemberExpression &&\n    node.callee.object.type === AST_NODE_TYPES.Identifier &&\n    node.callee.object.name === 'styled'\n  ) {\n    // object syntax used\n    return true\n  }\n\n  // full notation\n  // eg: styled('h1')({ color: 'red' })\n  if (\n    node.callee.type === AST_NODE_TYPES.CallExpression &&\n    node.callee.callee.type === AST_NODE_TYPES.Identifier &&\n    node.callee.callee.name === 'styled'\n  ) {\n    // object syntax used\n    return true\n  }\n\n  return false\n}\n\n// ------------------------------------------------------------------------------\n// Rule Definition\n// ------------------------------------------------------------------------------\n\nconst checkExpressionPreferringObject = (\n  context: RuleContext,\n  node: TSESTree.Node\n) => {\n  switch (node.type) {\n    case AST_NODE_TYPES.ArrayExpression:\n      node.elements.forEach(element =>\n        checkExpressionPreferringObject(context, element)\n      )\n      return\n    case AST_NODE_TYPES.TemplateLiteral:\n      context.report({\n        node,\n        messageId: 'preferObjectStyle'\n      })\n      return\n    case AST_NODE_TYPES.Literal:\n      // validating other literal types seems out of scope of this plugin\n      if (typeof node.value !== 'string') {\n        return\n      }\n      context.report({\n        node,\n        messageId: 'preferObjectStyle'\n      })\n  }\n}\n\nconst createPreferredObjectVisitor = (\n  context: RuleContext\n): TSESLint.RuleListener => ({\n  TaggedTemplateExpression(node) {\n    if (isStringStyle(node)) {\n      context.report({\n        node,\n        messageId: 'preferObjectStyle'\n      })\n    }\n  },\n  CallExpression(node) {\n    if (isObjectStyle(node)) {\n      node.arguments.forEach(argument =>\n        checkExpressionPreferringObject(context, argument)\n      )\n    }\n  },\n  JSXAttribute(node) {\n    if (node.name.name !== 'css') {\n      return\n    }\n\n    if (!node.value) {\n      context.report({\n        node: node,\n        messageId: 'emptyCssProp'\n      })\n      return\n    }\n\n    switch (node.value.type) {\n      case AST_NODE_TYPES.Literal:\n        // validating other literal types seems out of scope of this plugin\n        if (typeof node.value.value !== 'string') {\n          return\n        }\n        context.report({\n          node: node.value,\n          messageId: 'preferObjectStyle'\n        })\n        return\n      case AST_NODE_TYPES.JSXExpressionContainer:\n        checkExpressionPreferringObject(context, node.value.expression)\n    }\n  }\n})\n\nconst checkExpressionPreferringString = (\n  context: RuleContext,\n  node: TSESTree.Node\n) => {\n  switch (node.type) {\n    case 'ArrayExpression':\n      node.elements.forEach(element =>\n        checkExpressionPreferringString(context, element)\n      )\n      return\n    case 'ObjectExpression':\n      context.report({\n        node,\n        messageId: 'preferStringStyle'\n      })\n      return\n    case 'Literal':\n      // validating other literal types seems out of scope of this plugin\n      if (typeof node.value !== 'string') {\n        return\n      }\n      context.report({\n        node,\n        messageId: 'preferWrappingWithCSS'\n      })\n  }\n}\n\nconst createPreferredStringVisitor = (\n  context: RuleContext\n): TSESLint.RuleListener => ({\n  CallExpression(node) {\n    if (isObjectStyle(node)) {\n      node.arguments.forEach(argument =>\n        checkExpressionPreferringString(context, argument)\n      )\n    }\n  },\n\n  JSXAttribute(node) {\n    if (node.name.name !== 'css') {\n      return\n    }\n\n    if (!node.value) {\n      context.report({\n        node: node,\n        messageId: 'emptyCssProp'\n      })\n      return\n    }\n\n    switch (node.value.type) {\n      case AST_NODE_TYPES.Literal:\n        // validating other literal types seems out of scope of this plugin\n        if (typeof node.value.value !== 'string') {\n          return\n        }\n        context.report({\n          node: node.value,\n          messageId: 'preferWrappingWithCSS'\n        })\n        return\n      case AST_NODE_TYPES.JSXExpressionContainer:\n        checkExpressionPreferringString(context, node.value.expression)\n    }\n  }\n})\n\ntype RuleOptions = [('string' | 'object')?]\n\ntype MessageId =\n  | 'preferStringStyle'\n  | 'preferObjectStyle'\n  | 'preferWrappingWithCSS'\n  | 'emptyCssProp'\n\ntype RuleContext = TSESLint.RuleContext<MessageId, RuleOptions>\n\nexport default createRule<RuleOptions, MessageId>({\n  name: __filename,\n  meta: {\n    docs: {\n      description: 'Choose between styles written as strings or objects',\n      recommended: false\n    },\n    messages: {\n      preferStringStyle: 'Styles should be written using strings.',\n      preferObjectStyle: 'Styles should be written using objects.',\n      preferWrappingWithCSS: `Prefer wrapping your string styles with \\`css\\` call.`,\n      emptyCssProp: `Empty \\`css\\` prop is not valid.`\n    },\n    schema: [\n      {\n        enum: ['string', 'object']\n      }\n    ],\n    type: 'problem'\n  },\n  defaultOptions: [],\n  create(context) {\n    const preferredSyntax = context.options[0]\n\n    switch (preferredSyntax) {\n      case 'object':\n        return createPreferredObjectVisitor(context)\n      case 'string':\n        return createPreferredStringVisitor(context)\n      default:\n        return {}\n    }\n  }\n})\n"
  },
  {
    "path": "packages/eslint-plugin/src/utils.ts",
    "content": "import { ESLintUtils } from '@typescript-eslint/utils'\nimport { parse as parsePath } from 'path'\n\nconst { version } = require('../package.json')\n\nexport const REPO_URL = 'https://github.com/emotion-js/emotion'\n\nexport const createRule = ESLintUtils.RuleCreator(name => {\n  const ruleName = parsePath(name).name\n\n  return `${REPO_URL}/blob/@emotion/eslint-plugin@${version}/packages/eslint-plugin/docs/rules/${ruleName}.md`\n})\n"
  },
  {
    "path": "packages/eslint-plugin/test/rules/import-from-emotion.test.ts",
    "content": "/**\n * @jest-environment node\n */\n\nimport { TSESLint } from '@typescript-eslint/utils'\nimport rule from '../../src/rules/import-from-emotion'\nimport { espreeParser } from '../test-utils'\n\nconst ruleTester = new TSESLint.RuleTester({\n  parser: espreeParser,\n  parserOptions: {\n    ecmaVersion: 2018,\n    sourceType: 'module',\n    ecmaFeatures: {\n      jsx: true\n    }\n  }\n})\n\nruleTester.run('emotion jsx', rule, {\n  valid: [\n    {\n      code: `import { css } from 'emotion'`\n    }\n  ],\n\n  invalid: [\n    {\n      code: `import { css } from 'react-emotion'`,\n      errors: [\n        {\n          messageId: 'incorrectImport'\n        }\n      ],\n      output: `import { css } from 'emotion'`\n    },\n    {\n      code: `import styled, { css } from 'react-emotion'`,\n      errors: [\n        {\n          messageId: 'incorrectImport'\n        }\n      ],\n      output: `import styled from '@emotion/styled';\\nimport { css } from 'emotion';`\n    },\n    {\n      code: `import styled, { css as somethingElse } from 'react-emotion'`,\n      errors: [\n        {\n          messageId: 'incorrectImport'\n        }\n      ],\n      output: `import styled from '@emotion/styled';\\nimport { css as somethingElse } from 'emotion';`\n    }\n  ]\n})\n"
  },
  {
    "path": "packages/eslint-plugin/test/rules/jsx-import.test.ts",
    "content": "/**\n * @jest-environment node\n */\n\nimport { TSESLint } from '@typescript-eslint/utils'\nimport rule from '../../src/rules/jsx-import'\nimport { espreeParser } from '../test-utils'\n\nconst ruleTester = new TSESLint.RuleTester({\n  parser: espreeParser,\n  parserOptions: {\n    ecmaVersion: 2018,\n    sourceType: 'module',\n    ecmaFeatures: {\n      jsx: true\n    }\n  }\n})\n\nruleTester.run('emotion jsx', rule, {\n  valid: [\n    {\n      code: `\n      // @jsx jsx\n      import { jsx } from '@emotion/react'\n\n      let ele = <div css={{}} />\n      `\n    },\n    {\n      options: [{ runtime: 'classic' }],\n      code: `\n      // @jsx jsx\n      import { jsx } from '@emotion/react'\n      let ele = <div css={{}} />\n      `\n    },\n    {\n      options: [{ runtime: 'invalidRuntime' }],\n      code: `\n      // @jsx jsx\n      import { jsx } from '@emotion/react'\n      let ele = <div css={{}} />\n      `\n    },\n    {\n      options: [{ runtime: 'automatic' }],\n      code: `\n      /** @jsxImportSource @emotion/react */\n\n      let ele = <div css={{}} />\n      `\n    },\n    {\n      options: [{ runtime: 'automatic' }],\n      code: `\n      // no css prop usage for test coverage\n      let ele = <div nonecss={{}} />\n      `\n    },\n    {\n      options: [{ runtime: 'automatic', importSource: '@emotion/react' }],\n      code: `\n      /** @jsxImportSource @emotion/react */\n\n      let ele = <div css={{}} />\n      `\n    },\n    {\n      code: `\n\n      let ele = <div notCss={{}} />\n      `\n    },\n    {\n      code: `\n        /** @jsx jsx */\n        import {jsx} from '@emotion/react'\n        // it's invalid but not for this rule\n        let ele = <div css />\n      `\n    }\n  ],\n\n  invalid: [\n    {\n      code: `\n// @jsx jsx\nlet ele = <div css={{}} />\n      `.trim(),\n      errors: [\n        {\n          messageId: 'cssPropWithPragma'\n        }\n      ],\n      output: `\n// @jsx jsx\nimport { jsx } from '@emotion/react'\nlet ele = <div css={{}} />\n            `.trim()\n    },\n    {\n      options: [{ runtime: 'automatic' }],\n      code: `\nlet ele = <div css={{}} />\n      `.trim(),\n      errors: [\n        {\n          messageId: 'cssProp',\n          data: { importSource: '@emotion/react' }\n        }\n      ],\n      output: `\n/** @jsxImportSource @emotion/react */\nlet ele = <div css={{}} />\n            `.trim()\n    },\n    {\n      options: [{ runtime: 'automatic', importSource: '@iChenLei/react' }],\n      code: `\nlet ele = <div css={{}} />\n      `.trim(),\n      errors: [\n        {\n          messageId: 'cssProp',\n          data: { importSource: '@iChenLei/react' }\n        }\n      ],\n      output: `\n/** @jsxImportSource @iChenLei/react */\nlet ele = <div css={{}} />\n            `.trim()\n    },\n    {\n      options: [{ runtime: 'automatic', importSource: '@iChenLei/react' }],\n      code: `\n/** @jsxImportSource invalid-react */\nlet ele = <div css={{}} />\n      `.trim(),\n      errors: [\n        {\n          messageId: 'cssProp',\n          data: { importSource: '@iChenLei/react' }\n        }\n      ],\n      output: `\n/** @jsxImportSource @iChenLei/react */\nlet ele = <div css={{}} />\n            `.trim()\n    },\n    {\n      options: [{ runtime: 'classic' }],\n      code: `\nlet ele = <div css={{}} />\n      `.trim(),\n      errors: [\n        {\n          messageId: 'cssPropWithPragma'\n        }\n      ],\n      output: `\n/** @jsx jsx */\nimport { jsx } from '@emotion/react'\nlet ele = <div css={{}} />\n            `.trim()\n    },\n    {\n      code: `\n// @jsx jsx\nimport { css } from '@emotion/react'\nlet ele = <div css={{}} />\n      `.trim(),\n      errors: [\n        {\n          messageId: 'cssPropWithPragma'\n        }\n      ],\n      output: `\n// @jsx jsx\nimport { css, jsx } from '@emotion/react'\nlet ele = <div css={{}} />\n            `.trim()\n    },\n    {\n      code: `\n// @jsx jsx\nimport DefaultExport from '@emotion/react'\nlet ele = <div css={{}} />\n      `.trim(),\n      errors: [\n        {\n          messageId: 'cssPropWithPragma'\n        }\n      ],\n      output: `\n// @jsx jsx\nimport DefaultExport, { jsx } from '@emotion/react'\nlet ele = <div css={{}} />\n            `.trim()\n    },\n    {\n      code: `\nimport * as Emotion from '@emotion/react'\nlet ele = <div css={{}} />\n      `.trim(),\n      errors: [\n        {\n          messageId: 'cssPropWithPragma'\n        }\n      ],\n      output: `\n/** @jsx Emotion.jsx */\nimport * as Emotion from '@emotion/react'\nlet ele = <div css={{}} />\n            `.trim()\n    },\n    {\n      code: `\nlet ele = <div css={{}} />\n      `.trim(),\n      errors: [\n        {\n          messageId: 'cssPropWithPragma'\n        }\n      ],\n      output: `\n/** @jsx jsx */\nimport { jsx } from '@emotion/react'\nlet ele = <div css={{}} />\n                  `.trim()\n    },\n    {\n      code: `\n/** @jsx jsx */\nimport * as emotion from '@emotion/react'\nlet ele = <div css={\\`color:hotpink;\\`} />\n      `.trim(),\n      errors: [\n        {\n          messageId: 'cssPropWithPragma'\n        }\n      ],\n      output: `\n/** @jsx jsx */\n/** @jsx emotion.jsx */\nimport * as emotion from '@emotion/react'\nlet ele = <div css={\\`color:hotpink;\\`} />\n      `.trim()\n    },\n    {\n      code: `\nimport {jsx} from '@emotion/react'\nlet ele = <div css={{}} />\n      `.trim(),\n      errors: [\n        {\n          messageId: 'cssPropWithPragma'\n        }\n      ],\n      output: `\n/** @jsx jsx */\nimport {jsx} from '@emotion/react'\nlet ele = <div css={{}} />\n      `.trim()\n    },\n    {\n      code: `\nimport {jsx} from '@emotion/react'\nlet ele = <div css={{}} />\nlet ele2 = <div css={{}} />\n      `.trim(),\n      errors: [\n        {\n          messageId: 'cssPropWithPragma'\n        },\n        {\n          messageId: 'cssPropWithPragma'\n        }\n      ],\n      output: `\n/** @jsx jsx */\nimport {jsx} from '@emotion/react'\nlet ele = <div css={{}} />\nlet ele2 = <div css={{}} />\n\n      `.trim()\n    },\n    {\n      code: `\n    /** @jsx jsx */\n    import {jsx} from '@emotion/react'\n    let ele = <div css={\\`color:hotpink;\\`} />\n          `.trim(),\n      errors: [\n        {\n          messageId: 'templateLiterals'\n        }\n      ],\n      output: `\n    /** @jsx jsx */\n    import {jsx, css} from '@emotion/react'\n    let ele = <div css={css\\`color:hotpink;\\`} />\n          `.trim()\n    },\n    {\n      code: `\n    /** @jsx jsx */\n    import {jsx} from '@emotion/react'\n    let css = 'something'\n    let ele = <div css={\\`color:hotpink;\\`} />\n          `.trim(),\n      errors: [\n        {\n          messageId: 'templateLiterals'\n        }\n      ],\n      output: `\n    /** @jsx jsx */\n    import {jsx, css as _css} from '@emotion/react'\n    let css = 'something'\n    let ele = <div css={_css\\`color:hotpink;\\`} />\n          `.trim()\n    },\n    {\n      code: `\n    /** @jsx jsx */\n    import {jsx, css} from '@emotion/react'\n    let ele = <div css={\\`color:hotpink;\\`} />\n          `.trim(),\n      errors: [\n        {\n          messageId: 'templateLiterals'\n        }\n      ],\n      output: `\n    /** @jsx jsx */\n    import {jsx, css} from '@emotion/react'\n    let ele = <div css={css\\`color:hotpink;\\`} />\n          `.trim()\n    }\n  ]\n})\n"
  },
  {
    "path": "packages/eslint-plugin/test/rules/no-vanilla.test.ts",
    "content": "/**\n * @jest-environment node\n */\n\nimport { TSESLint } from '@typescript-eslint/utils'\nimport rule from '../../src/rules/no-vanilla'\nimport { espreeParser } from '../test-utils'\n\nconst ruleTester = new TSESLint.RuleTester({\n  parser: espreeParser,\n  parserOptions: {\n    ecmaVersion: 2018,\n    sourceType: 'module',\n    ecmaFeatures: {\n      jsx: true\n    }\n  }\n})\n\nruleTester.run('no-vanilla', rule, {\n  valid: [{ code: `import { css } from '@emotion/react'` }],\n  invalid: [\n    {\n      code: `import { css } from '@emotion/css'`,\n      errors: [\n        {\n          messageId: 'vanillaEmotion'\n        }\n      ]\n    }\n  ]\n})\n"
  },
  {
    "path": "packages/eslint-plugin/test/rules/pkg-renaming.test.ts",
    "content": "/**\n * @jest-environment node\n */\n\nimport { TSESLint } from '@typescript-eslint/utils'\nimport rule from '../../src/rules/pkg-renaming'\nimport { espreeParser } from '../test-utils'\n\nconst ruleTester = new TSESLint.RuleTester({\n  parser: espreeParser,\n  parserOptions: {\n    ecmaVersion: 2018,\n    sourceType: 'module',\n    ecmaFeatures: {\n      jsx: true\n    }\n  }\n})\n\nruleTester.run('pkg-renaming', rule, {\n  valid: [\n    {\n      code: `\n      import { css } from '@emotion/css'\n      `\n    }\n  ],\n\n  invalid: [\n    {\n      code: `import { css } from 'emotion'`,\n      errors: [\n        {\n          messageId: 'renamePackage',\n          data: {\n            beforeName: '\"emotion\"',\n            afterName: '\"@emotion/css\"'\n          }\n        }\n      ],\n      output: `import { css } from '@emotion/css'`\n    },\n    {\n      code: `import { css } from '@emotion/core'`,\n      errors: [\n        {\n          messageId: 'renamePackage',\n          data: {\n            beforeName: '\"@emotion/core\"',\n            afterName: '\"@emotion/react\"'\n          }\n        }\n      ],\n      output: `import { css } from '@emotion/react'`\n    },\n    {\n      code: `import css from '@emotion/css'`,\n      errors: [\n        {\n          messageId: 'exportChange',\n          data: {\n            name: '@emotion/css',\n            replacement: '@emotion/react'\n          }\n        }\n      ],\n      output: `import { css } from '@emotion/react'`\n    },\n    {\n      code: `import css from '@emotion/css/macro'`,\n      errors: [\n        {\n          messageId: 'exportChange',\n          data: {\n            name: '@emotion/css/macro',\n            replacement: '@emotion/react/macro'\n          }\n        }\n      ],\n      output: `import { css } from '@emotion/react/macro'`\n    },\n    {\n      code: `import {ThemeProvider, withTheme} from 'emotion-theming'`,\n      errors: [\n        {\n          messageId: 'emotionTheming'\n        }\n      ],\n      output: `import {ThemeProvider, withTheme} from '@emotion/react'`\n    }\n  ]\n})\n"
  },
  {
    "path": "packages/eslint-plugin/test/rules/styled-import.test.ts",
    "content": "/**\n * @jest-environment node\n */\n\nimport { TSESLint } from '@typescript-eslint/utils'\nimport rule from '../../src/rules/styled-import'\nimport { espreeParser } from '../test-utils'\n\nconst ruleTester = new TSESLint.RuleTester({\n  parser: espreeParser,\n  parserOptions: {\n    ecmaVersion: 2018,\n    sourceType: 'module',\n    ecmaFeatures: {\n      jsx: true\n    }\n  }\n})\n\nruleTester.run('emotion styled', rule, {\n  valid: [\n    {\n      code: `\nimport styled from '@emotion/styled'\n      `\n    }\n  ],\n\n  invalid: [\n    {\n      code: `\nimport styled from 'react-emotion'\n      `.trim(),\n      errors: [\n        {\n          messageId: 'incorrectImport'\n        }\n      ],\n      output: `\nimport styled from '@emotion/styled'\n      `.trim()\n    }\n  ]\n})\n"
  },
  {
    "path": "packages/eslint-plugin/test/rules/syntax-preference.test.ts",
    "content": "/**\n * @fileoverview Choose between string or object syntax\n * @author alex-pex\n * @jest-environment node\n */\n\n// ------------------------------------------------------------------------------\n// Requirements\n// ------------------------------------------------------------------------------\n\nimport { AST_NODE_TYPES, TSESLint } from '@typescript-eslint/utils'\nimport rule from '../../src/rules/syntax-preference'\nimport { espreeParser } from '../test-utils'\n\nconst ruleTester = new TSESLint.RuleTester({\n  parser: espreeParser,\n  parserOptions: {\n    ecmaVersion: 2018,\n    sourceType: 'module',\n    ecmaFeatures: {\n      jsx: true\n    }\n  }\n})\n\n// ------------------------------------------------------------------------------\n// Tests\n// ------------------------------------------------------------------------------\n\nruleTester.run('syntax-preference (string)', rule, {\n  valid: [\n    // give me some code that won't trigger a warning\n    {\n      code: 'const H1 = styled.h1` color: red; `',\n      options: ['string']\n    },\n    {\n      code: \"const H1 = styled('h1')` color: red; `\",\n      options: ['string']\n    },\n    {\n      code: 'const query = gql` { user(id: 5) { firstName, lastName } }`',\n      options: ['string']\n    },\n    {\n      code: `const Foo = () => <div css={css\\`color: hotpink;\\`} />`,\n      options: ['string']\n    },\n    {\n      code: `const Foo = () => <div css={[styles, otherStyles]} />`,\n      options: ['string']\n    },\n    {\n      code: `css\\`color: hotpink;\\``,\n      options: ['string']\n    },\n    {\n      code: `css(cls, css\\`color: hotpink;\\`)`,\n      options: ['string']\n    }\n  ],\n\n  invalid: [\n    {\n      code: \"const H1 = styled.h1({ color: 'red' })\",\n      options: ['string'],\n      errors: [\n        {\n          messageId: 'preferStringStyle',\n          type: AST_NODE_TYPES.ObjectExpression\n        }\n      ]\n    },\n    {\n      code: \"const H1 = styled('h1')({ color: 'red' })\",\n      options: ['string'],\n      errors: [\n        {\n          messageId: 'preferStringStyle',\n          type: AST_NODE_TYPES.ObjectExpression\n        }\n      ]\n    },\n    {\n      code: `const Foo = () => <div css={{ color: 'hotpink' }} />`,\n      options: ['string'],\n      errors: [\n        {\n          messageId: 'preferStringStyle',\n          type: AST_NODE_TYPES.ObjectExpression\n        }\n      ]\n    },\n    {\n      code: `const Foo = () => <div css={'color: hotpink;'} />`,\n      options: ['string'],\n      errors: [\n        {\n          messageId: 'preferWrappingWithCSS',\n          type: AST_NODE_TYPES.Literal\n        }\n      ]\n    },\n    {\n      code: `const Foo = () => <div css=\"'color: hotpink;'\" />`,\n      options: ['string'],\n      errors: [\n        {\n          messageId: 'preferWrappingWithCSS',\n          type: AST_NODE_TYPES.Literal\n        }\n      ]\n    },\n    {\n      code: `const Foo = () => <div css={['background-color: green;', { color: 'hotpink' }]} />`,\n      options: ['string'],\n      errors: [\n        {\n          messageId: 'preferWrappingWithCSS',\n          type: AST_NODE_TYPES.Literal\n        },\n        {\n          messageId: 'preferStringStyle',\n          type: AST_NODE_TYPES.ObjectExpression\n        }\n      ]\n    },\n    {\n      code: `css(cls, { color: 'hotpink' })`,\n      options: ['string'],\n      errors: [\n        {\n          messageId: 'preferStringStyle',\n          type: AST_NODE_TYPES.ObjectExpression\n        }\n      ]\n    },\n    {\n      code: `const Foo = () => <div css />`,\n      options: ['string'],\n      errors: [\n        {\n          messageId: 'emptyCssProp',\n          type: AST_NODE_TYPES.JSXAttribute\n        }\n      ]\n    }\n  ]\n})\n\nruleTester.run('syntax-preference (object)', rule, {\n  valid: [\n    // give me some code that won't trigger a warning\n    {\n      code: \"const H1 = styled.h1({ color: 'red' })\",\n      options: ['object']\n    },\n    {\n      code: \"const H1 = styled('h1')({ color: 'red' })\",\n      options: ['object']\n    },\n    {\n      code: 'const query = gql` { user(id: 5) { firstName, lastName } }`',\n      options: ['object']\n    },\n    {\n      code: `const Foo = () => <div css={{ color: 'hotpink' }} />`,\n      options: ['object']\n    },\n    {\n      code: `const Foo = () => <div css={css({ color: 'hotpink' })} />`,\n      options: ['object']\n    }\n  ],\n\n  invalid: [\n    {\n      code: 'const H1 = styled.h1` color: red; `',\n      options: ['object'],\n      errors: [\n        {\n          messageId: 'preferObjectStyle',\n          type: AST_NODE_TYPES.TaggedTemplateExpression\n        }\n      ]\n    },\n    {\n      code: \"const H1 = styled('h1')` color: red; `\",\n      options: ['object'],\n      errors: [\n        {\n          messageId: 'preferObjectStyle',\n          type: AST_NODE_TYPES.TaggedTemplateExpression\n        }\n      ]\n    },\n    {\n      code: `const Foo = () => <div css={css\\`color: hotpink;\\`} />`,\n      options: ['object'],\n      errors: [\n        {\n          messageId: 'preferObjectStyle',\n          type: AST_NODE_TYPES.TaggedTemplateExpression\n        }\n      ]\n    },\n    {\n      code: `const Foo = () => <div css={'color: hotpink;'} />`,\n      options: ['object'],\n      errors: [\n        {\n          messageId: 'preferObjectStyle',\n          type: AST_NODE_TYPES.Literal\n        }\n      ]\n    },\n    {\n      code: `const Foo = () => <div css=\"color: hotpink;\" />`,\n      options: ['object'],\n      errors: [\n        {\n          messageId: 'preferObjectStyle',\n          type: AST_NODE_TYPES.Literal\n        }\n      ]\n    },\n    {\n      code: `const Foo = () => <div css={['background-color: green;', css\\`color: hotpink;\\`]} />`,\n      options: ['object'],\n      errors: [\n        {\n          messageId: 'preferObjectStyle',\n          type: AST_NODE_TYPES.Literal\n        },\n        {\n          messageId: 'preferObjectStyle',\n          type: AST_NODE_TYPES.TaggedTemplateExpression\n        }\n      ]\n    },\n    {\n      code: `const Foo = () => <div css={css(['background-color: green;', css\\`color: hotpink;\\`])} />`,\n      options: ['object'],\n      errors: [\n        {\n          messageId: 'preferObjectStyle',\n          type: AST_NODE_TYPES.Literal\n        },\n        {\n          messageId: 'preferObjectStyle',\n          type: AST_NODE_TYPES.TaggedTemplateExpression\n        }\n      ]\n    },\n    {\n      code: `const Foo = () => <div css />`,\n      options: ['object'],\n      errors: [\n        {\n          messageId: 'emptyCssProp',\n          type: AST_NODE_TYPES.JSXAttribute\n        }\n      ]\n    }\n  ]\n})\n\nruleTester.run('syntax-preference (undefined)', rule, {\n  valid: [\n    // give me some code that won't trigger a warning\n    {\n      code: 'const H1 = styled.h1` color: red; `'\n    },\n    {\n      code: \"const H1 = styled('h1')` color: red; `\"\n    },\n    {\n      code: \"const H1 = styled.h1({ color: 'red' })\"\n    },\n    {\n      code: \"const H1 = styled('h1')({ color: 'red' })\"\n    },\n    {\n      code: 'const query = gql` { user(id: 5) { firstName, lastName } }`'\n    }\n  ],\n\n  invalid: []\n})\n"
  },
  {
    "path": "packages/eslint-plugin/test/test-utils.ts",
    "content": "import resolveFrom from 'resolve-from'\n\nexport const espreeParser: string = resolveFrom(\n  require.resolve('eslint'),\n  'espree'\n)\n"
  },
  {
    "path": "packages/hash/CHANGELOG.md",
    "content": "# @emotion/hash\n\n## 0.9.2\n\n### Patch Changes\n\n- [#2454](https://github.com/emotion-js/emotion/pull/2454) [`ea2c397`](https://github.com/emotion-js/emotion/commit/ea2c397bbf7d9838086ec88b3eb86db9230d32ae) Thanks [@Andarist](https://github.com/Andarist)! - Source code has been migrated to TypeScript. From now on type declarations will be emitted based on that, instead of being hand-written.\n\n## 0.9.1\n\n### Patch Changes\n\n- [#3029](https://github.com/emotion-js/emotion/pull/3029) [`eed5e6cf`](https://github.com/emotion-js/emotion/commit/eed5e6cf00f94f3011b93825ccce43cb2270c247) Thanks [@Andarist](https://github.com/Andarist)! - Fixed importing in Node ESM\n\n## 0.9.0\n\n### Minor Changes\n\n- [#2819](https://github.com/emotion-js/emotion/pull/2819) [`bbad8c79`](https://github.com/emotion-js/emotion/commit/bbad8c79937f8dfd5d93bf485c1e9ec44124d228) Thanks [@nicksrandall](https://github.com/nicksrandall)! - `exports` field has been added to the `package.json` manifest. It limits what files can be imported from a package but we've tried our best to allow importing all the files that were considered to be a part of the public API.\n\n## 0.8.0\n\n### Minor Changes\n\n- [`446e756`](https://github.com/emotion-js/emotion/commit/446e75661c4aa01e51d1466472a212940c19cd82) [#1775](https://github.com/emotion-js/emotion/pull/1775) Thanks [@kripod](https://github.com/kripod)! - Optimized hashing for performance while also reducing the size of the function.\n\n## 0.7.4\n\n### Patch Changes\n\n- [`4c62ae9`](https://github.com/emotion-js/emotion/commit/4c62ae9447959d438928e1a26f76f1487983c968) [#1698](https://github.com/emotion-js/emotion/pull/1698) Thanks [@Andarist](https://github.com/Andarist)! - Add LICENSE file\n\n## 0.7.3\n\n### Patch Changes\n\n- [c81c0033](https://github.com/emotion-js/emotion/commit/c81c0033c490210077da0e9c3f9fa1a22fcd9c96) [#1503](https://github.com/emotion-js/emotion/pull/1503) Thanks [@Andarist](https://github.com/Andarist)! - Add TS types to util packages - hash, memoize & weak-memoize\n\n## 0.7.2\n\n### Patch Changes\n\n- [c0eb604d](https://github.com/emotion-js/emotion/commit/c0eb604d) [#1419](https://github.com/emotion-js/emotion/pull/1419) Thanks [@emmatown](https://github.com/emmatown)! - Update build tool\n"
  },
  {
    "path": "packages/hash/LICENSE",
    "content": "MIT License\n\nCopyright (c) Emotion team and other contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "packages/hash/README.md",
    "content": "# @emotion/hash\n\n> A MurmurHash2 implementation\n\n```jsx\nimport hash from '@emotion/hash'\n\nhash('some-string') // 12fj1d\n```\n\nThe source of this is from https://github.com/garycourt/murmurhash-js/blob/master/murmurhash2_gc.js.\n"
  },
  {
    "path": "packages/hash/__tests__/index.js",
    "content": "import hash from '@emotion/hash'\n\ntest('accepts a string and returns a string as a hash', () => {\n  expect(hash('something')).toBe('crsxd7')\n})\n"
  },
  {
    "path": "packages/hash/package.json",
    "content": "{\n  \"name\": \"@emotion/hash\",\n  \"version\": \"0.9.2\",\n  \"description\": \"A MurmurHash2 implementation\",\n  \"main\": \"dist/emotion-hash.cjs.js\",\n  \"module\": \"dist/emotion-hash.esm.js\",\n  \"types\": \"dist/emotion-hash.cjs.d.ts\",\n  \"license\": \"MIT\",\n  \"repository\": \"https://github.com/emotion-js/emotion/tree/main/packages/hash\",\n  \"files\": [\n    \"src\",\n    \"dist\"\n  ],\n  \"scripts\": {\n    \"test:typescript\": \"dtslint types\"\n  },\n  \"devDependencies\": {\n    \"@definitelytyped/dtslint\": \"0.0.112\",\n    \"typescript\": \"^5.4.5\"\n  },\n  \"exports\": {\n    \".\": {\n      \"types\": {\n        \"import\": \"./dist/emotion-hash.cjs.mjs\",\n        \"default\": \"./dist/emotion-hash.cjs.js\"\n      },\n      \"module\": \"./dist/emotion-hash.esm.js\",\n      \"import\": \"./dist/emotion-hash.cjs.mjs\",\n      \"default\": \"./dist/emotion-hash.cjs.js\"\n    },\n    \"./package.json\": \"./package.json\"\n  }\n}\n"
  },
  {
    "path": "packages/hash/src/index.ts",
    "content": "/* eslint-disable */\n// Inspired by https://github.com/garycourt/murmurhash-js\n// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86\n\nexport default function murmur2(str: string): string {\n  // 'm' and 'r' are mixing constants generated offline.\n  // They're not really 'magic', they just happen to work well.\n\n  // const m = 0x5bd1e995;\n  // const r = 24;\n\n  // Initialize the hash\n\n  var h = 0\n\n  // Mix 4 bytes at a time into the hash\n\n  var k,\n    i = 0,\n    len = str.length\n  for (; len >= 4; ++i, len -= 4) {\n    k =\n      (str.charCodeAt(i) & 0xff) |\n      ((str.charCodeAt(++i) & 0xff) << 8) |\n      ((str.charCodeAt(++i) & 0xff) << 16) |\n      ((str.charCodeAt(++i) & 0xff) << 24)\n\n    k =\n      /* Math.imul(k, m): */\n      (k & 0xffff) * 0x5bd1e995 + (((k >>> 16) * 0xe995) << 16)\n    k ^= /* k >>> r: */ k >>> 24\n\n    h =\n      /* Math.imul(k, m): */\n      ((k & 0xffff) * 0x5bd1e995 + (((k >>> 16) * 0xe995) << 16)) ^\n      /* Math.imul(h, m): */\n      ((h & 0xffff) * 0x5bd1e995 + (((h >>> 16) * 0xe995) << 16))\n  }\n\n  // Handle the last few bytes of the input array\n\n  switch (len) {\n    case 3:\n      h ^= (str.charCodeAt(i + 2) & 0xff) << 16\n    case 2:\n      h ^= (str.charCodeAt(i + 1) & 0xff) << 8\n    case 1:\n      h ^= str.charCodeAt(i) & 0xff\n      h =\n        /* Math.imul(h, m): */\n        (h & 0xffff) * 0x5bd1e995 + (((h >>> 16) * 0xe995) << 16)\n  }\n\n  // Do a few final mixes of the hash to ensure the last few\n  // bytes are well-incorporated.\n\n  h ^= h >>> 13\n  h =\n    /* Math.imul(h, m): */\n    (h & 0xffff) * 0x5bd1e995 + (((h >>> 16) * 0xe995) << 16)\n\n  return ((h ^ (h >>> 15)) >>> 0).toString(36)\n}\n"
  },
  {
    "path": "packages/hash/types/index.d.ts",
    "content": "export { default } from '..'\n"
  },
  {
    "path": "packages/hash/types/tests.ts",
    "content": "import hash from '@emotion/hash'\n\n// $ExpectType string\nhash('color: hotpink;')\n\n// $ExpectError\nhash()\n// $ExpectError\nconst hashed2: number = hash('color: hotpink;')\n// $ExpectError\nhash(42)\n// $ExpectError\nhash({})\n// $ExpectError\nhash('color: hotpink;', 'background-color: #fff;')\n"
  },
  {
    "path": "packages/hash/types/tsconfig.json",
    "content": "{\n  \"compilerOptions\": {\n    \"baseUrl\": \"../\",\n    \"forceConsistentCasingInFileNames\": true,\n    \"lib\": [\"es6\", \"dom\"],\n    \"module\": \"commonjs\",\n    \"noEmit\": true,\n    \"strict\": true,\n    \"target\": \"es5\",\n    \"typeRoots\": [\"../\"],\n    \"types\": []\n  },\n  \"include\": [\"./*.ts\", \"./*.tsx\"]\n}\n"
  },
  {
    "path": "packages/hash/types/tslint.json",
    "content": "{\n  \"extends\": \"@definitelytyped/dtslint/dtslint.json\",\n  \"rules\": {\n    \"array-type\": [true, \"generic\"],\n    \"import-spacing\": false,\n    \"semicolon\": false,\n    \"whitespace\": [\n      true,\n      \"check-branch\",\n      \"check-decl\",\n      \"check-operator\",\n      \"check-module\",\n      \"check-rest-spread\",\n      \"check-type\",\n      \"check-typecast\",\n      \"check-type-operator\",\n      \"check-preblock\"\n    ],\n\n    \"no-unnecessary-generics\": false,\n    \"unnecessary-bind\": false\n  }\n}\n"
  },
  {
    "path": "packages/is-prop-valid/CHANGELOG.md",
    "content": "# @emotion/is-prop-valid\n\n## 1.4.0\n\n### Minor Changes\n\n- [#3306](https://github.com/emotion-js/emotion/pull/3306) [`dfae1cb`](https://github.com/emotion-js/emotion/commit/dfae1cbd98d3ebe449ce322b38cbf4a7fbfbfe96) Thanks [@EnzoAlbornoz](https://github.com/EnzoAlbornoz)! - Adds `popover`, `popoverTarget` and `popoverTargetAction` to the list of allowed props.\n\n## 1.3.1\n\n### Patch Changes\n\n- [#3093](https://github.com/emotion-js/emotion/pull/3093) [`532ff57`](https://github.com/emotion-js/emotion/commit/532ff57cafd8ba04f3b624074556ea47ec76fc9a) Thanks [@codejet](https://github.com/codejet), [@DustinBrett](https://github.com/DustinBrett)! - Adds `fetchpriority` and `fetchPriority` to the list of allowed props.\n\n## 1.3.0\n\n### Minor Changes\n\n- [#2432](https://github.com/emotion-js/emotion/pull/2432) [`a1e881b`](https://github.com/emotion-js/emotion/commit/a1e881b7dffdfa69f5ff32a708a25213b711bd15) Thanks [@sarayourfriend](https://github.com/sarayourfriend)! - Source code has been migrated to TypeScript. From now on type declarations will be emitted based on that, instead of being hand-written.\n\n### Patch Changes\n\n- Updated dependencies [[`7f8db2d`](https://github.com/emotion-js/emotion/commit/7f8db2d7a900bb34995db66084a99d512811e33d)]:\n  - @emotion/memoize@0.9.0\n\n## 1.2.2\n\n### Patch Changes\n\n- [#3156](https://github.com/emotion-js/emotion/pull/3156) [`0bfa9786`](https://github.com/emotion-js/emotion/commit/0bfa97860d768905c88edcafac6e2554565352f8) Thanks [@nnguyen01](https://github.com/nnguyen01)! - Adds `disableRemotePlayback` to the list of allowed props.\n\n## 1.2.1\n\n### Patch Changes\n\n- [#3029](https://github.com/emotion-js/emotion/pull/3029) [`eed5e6cf`](https://github.com/emotion-js/emotion/commit/eed5e6cf00f94f3011b93825ccce43cb2270c247) Thanks [@Andarist](https://github.com/Andarist)! - Fixed importing in Node ESM\n\n- Updated dependencies [[`eed5e6cf`](https://github.com/emotion-js/emotion/commit/eed5e6cf00f94f3011b93825ccce43cb2270c247)]:\n  - @emotion/memoize@0.8.1\n\n## 1.2.0\n\n### Minor Changes\n\n- [#2819](https://github.com/emotion-js/emotion/pull/2819) [`bbad8c79`](https://github.com/emotion-js/emotion/commit/bbad8c79937f8dfd5d93bf485c1e9ec44124d228) Thanks [@nicksrandall](https://github.com/nicksrandall)! - `exports` field has been added to the `package.json` manifest. It limits what files can be imported from a package but we've tried our best to allow importing all the files that were considered to be a part of the public API.\n\n### Patch Changes\n\n- Updated dependencies [[`bbad8c79`](https://github.com/emotion-js/emotion/commit/bbad8c79937f8dfd5d93bf485c1e9ec44124d228)]:\n  - @emotion/memoize@0.8.0\n\n## 1.1.3\n\n### Patch Changes\n\n- [#2759](https://github.com/emotion-js/emotion/pull/2759) Thanks [@srmagura](https://github.com/srmagura)! - Change the type of the argument to `isPropValid` from `PropertyKey` to `string` in the TypeScript definitions.\n\n## 1.1.2\n\n### Patch Changes\n\n- [#2621](https://github.com/emotion-js/emotion/pull/2621) [`d2531639`](https://github.com/emotion-js/emotion/commit/d25316393639232df16ba836b407e3678eea5e4d) Thanks [@andreasmcdermott](https://github.com/andreasmcdermott)! - Added [`abbr`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/th#attr-abbr) prop to the allowlist of forwardable props.\n\n## 1.1.1\n\n### Patch Changes\n\n- [#2540](https://github.com/emotion-js/emotion/pull/2540) [`9861a18b`](https://github.com/emotion-js/emotion/commit/9861a18bbf4a9480fad7f21a833ddfcf814cc893) Thanks [@fabb](https://github.com/fabb)! - Added `enterKeyHint` prop to the allowlist of forwardable props.\n\n## 1.1.0\n\n### Minor Changes\n\n- [`f3c2e81d`](https://github.com/emotion-js/emotion/commit/f3c2e81d10b63811ebbc6c5b11fa3553a2605f44) [#2232](https://github.com/emotion-js/emotion/pull/2232) Thanks [@ka2jun8](https://github.com/ka2jun8)! - Added `option` & `fallback` AMP props to the list of valid props.\n\n## 1.0.0\n\n### Major Changes\n\n- [`923ded01`](https://github.com/emotion-js/emotion/commit/923ded01e2399a242206d590f6646f13aba110e4) [#1643](https://github.com/emotion-js/emotion/pull/1643) Thanks [@JakeGinnivan](https://github.com/JakeGinnivan)! - Allow `isPropValid` to take any `PropertyKey` as an argument (instead of just `string`).\n\n### Minor Changes\n\n- [`69446cb5`](https://github.com/emotion-js/emotion/commit/69446cb5bfb644beb877a1edb00ee46c014636d5) [#1971](https://github.com/emotion-js/emotion/pull/1971) Thanks [@mjcampagna](https://github.com/mjcampagna)! - `translate` got added to the list of the valid props.\n\n### Patch Changes\n\n- [`a085003d`](https://github.com/emotion-js/emotion/commit/a085003d4c8ca284c116668d7217fb747802ed85) [#1613](https://github.com/emotion-js/emotion/pull/1613) Thanks [@Andarist](https://github.com/Andarist)! - Add missing `#__PURE__` annotations\n\n## 1.0.0-rc.0\n\n### Minor Changes\n\n- [`9c4ebc16`](https://github.com/emotion-js/emotion/commit/9c4ebc160471097c5d04fb92dba3ed0df870bb63) [#2030](https://github.com/emotion-js/emotion/pull/2030) Thanks [@Andarist](https://github.com/Andarist)! - Release candidate version.\n\n* [`69446cb5`](https://github.com/emotion-js/emotion/commit/69446cb5bfb644beb877a1edb00ee46c014636d5) [#1971](https://github.com/emotion-js/emotion/pull/1971) Thanks [@mjcampagna](https://github.com/mjcampagna)! - `translate` got added to the list of the valid props.\n\n## 0.9.0-next.1\n\n### Minor Changes\n\n- [`923ded01`](https://github.com/emotion-js/emotion/commit/923ded01e2399a242206d590f6646f13aba110e4) [#1643](https://github.com/emotion-js/emotion/pull/1643) Thanks [@JakeGinnivan](https://github.com/JakeGinnivan)! - Allow `isPropValid` to take any `PropertyKey` as an argument (instead of just `string`).\n\n## 0.8.6-next.0\n\n### Patch Changes\n\n- [`a085003d`](https://github.com/emotion-js/emotion/commit/a085003d4c8ca284c116668d7217fb747802ed85) [#1613](https://github.com/emotion-js/emotion/pull/1613) Thanks [@Andarist](https://github.com/Andarist)! - Add missing `#__PURE__` annotations\n\n## 0.8.8\n\n### Patch Changes\n\n- [`babbbe3`](https://github.com/emotion-js/emotion/commit/babbbe36844f26f6d7041f1d3aeb47d5dfb08d8a) [#1792](https://github.com/emotion-js/emotion/pull/1792) Thanks [@egdbear](https://github.com/egdbear)! - Adds `disablePictureInPicture` to the list of allowed props.\n\n## 0.8.7\n\n### Patch Changes\n\n- [`12141c5`](https://github.com/emotion-js/emotion/commit/12141c54318c0738b60bf755e033cf6e12238a02) [#1736](https://github.com/emotion-js/emotion/pull/1736) Thanks [@bezoerb](https://github.com/bezoerb)! - Adds inert to the list of allowed props\n\n## 0.8.6\n\n### Patch Changes\n\n- [`4c62ae9`](https://github.com/emotion-js/emotion/commit/4c62ae9447959d438928e1a26f76f1487983c968) [#1698](https://github.com/emotion-js/emotion/pull/1698) Thanks [@Andarist](https://github.com/Andarist)! - Add LICENSE file\n- Updated dependencies [[`4c62ae9`](https://github.com/emotion-js/emotion/commit/4c62ae9447959d438928e1a26f76f1487983c968)]:\n  - @emotion/memoize@0.7.4\n\n## 0.8.5\n\n### Patch Changes\n\n- [`5e17e456`](https://github.com/emotion-js/emotion/commit/5e17e456a66857bb3a3a5b39c9cd8f8dd89301e5) [#1596](https://github.com/emotion-js/emotion/pull/1596) Thanks [@Andarist](https://github.com/Andarist)! - Added Flow types to the package.\n\n## 0.8.4\n\n### Patch Changes\n\n- [`6cdb5695`](https://github.com/emotion-js/emotion/commit/6cdb56959bc4b64d7178604f1eb64a058c2e58c2) [#1584](https://github.com/emotion-js/emotion/pull/1584) Thanks [@probablyup](https://github.com/probablyup)! - add \"on\" amp html attribute to the whitelist\n\n## 0.8.3\n\n- Updated dependencies [c81c0033]:\n  - @emotion/memoize@0.7.3\n\n## 0.8.2\n\n### Patch Changes\n\n- [c0eb604d](https://github.com/emotion-js/emotion/commit/c0eb604d) [#1419](https://github.com/emotion-js/emotion/pull/1419) Thanks [@emmatown](https://github.com/emmatown)! - Update build tool\n\n## 0.8.1\n\n### Patch Changes\n\n- [52bd655b](https://github.com/emotion-js/emotion/commit/52bd655b) [#1379](https://github.com/emotion-js/emotion/pull/1379) Thanks [@Andarist](https://github.com/Andarist)! - Add decoding as valid prop\n\n## 0.8.0\n\n### Minor Changes\n\n- [06426c95](https://github.com/emotion-js/emotion/commit/06426c95) [#1377](https://github.com/emotion-js/emotion/pull/1377) Thanks [@AjayPoshak](https://github.com/AjayPoshak)! - Mark loading as a valid property. This property is used to lazily load images and iFrames.\n"
  },
  {
    "path": "packages/is-prop-valid/LICENSE",
    "content": "MIT License\n\nCopyright (c) Emotion team and other contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "packages/is-prop-valid/README.md",
    "content": "# @emotion/is-prop-valid\n\n> Check whether a prop is valid for HTML and SVG elements\n\n```bash\nyarn add @emotion/is-prop-valid\n```\n\n```jsx\nimport isPropValid from '@emotion/is-prop-valid'\n\nisPropValid('href') // true\n\nisPropValid('someRandomProp') // false\n```\n"
  },
  {
    "path": "packages/is-prop-valid/package.json",
    "content": "{\n  \"name\": \"@emotion/is-prop-valid\",\n  \"version\": \"1.4.0\",\n  \"description\": \"A function to check whether a prop is valid for HTML and SVG elements\",\n  \"main\": \"dist/emotion-is-prop-valid.cjs.js\",\n  \"module\": \"dist/emotion-is-prop-valid.esm.js\",\n  \"types\": \"dist/emotion-is-prop-valid.cjs.d.ts\",\n  \"license\": \"MIT\",\n  \"repository\": \"https://github.com/emotion-js/emotion/tree/main/packages/is-prop-valid\",\n  \"scripts\": {\n    \"test:typescript\": \"dtslint types\"\n  },\n  \"publishConfig\": {\n    \"access\": \"public\"\n  },\n  \"dependencies\": {\n    \"@emotion/memoize\": \"^0.9.0\"\n  },\n  \"devDependencies\": {\n    \"@definitelytyped/dtslint\": \"0.0.112\",\n    \"typescript\": \"^5.4.5\"\n  },\n  \"files\": [\n    \"src\",\n    \"dist\"\n  ],\n  \"exports\": {\n    \".\": {\n      \"types\": {\n        \"import\": \"./dist/emotion-is-prop-valid.cjs.mjs\",\n        \"default\": \"./dist/emotion-is-prop-valid.cjs.js\"\n      },\n      \"module\": \"./dist/emotion-is-prop-valid.esm.js\",\n      \"import\": \"./dist/emotion-is-prop-valid.cjs.mjs\",\n      \"default\": \"./dist/emotion-is-prop-valid.cjs.js\"\n    },\n    \"./package.json\": \"./package.json\"\n  }\n}\n"
  },
  {
    "path": "packages/is-prop-valid/src/index.ts",
    "content": "import memoize from '@emotion/memoize'\n\ndeclare const codegen: { require: (path: string) => any }\n\n// eslint-disable-next-line no-undef\nconst reactPropsRegex: RegExp = codegen.require('./props')\n\n// https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\nconst isPropValid = /* #__PURE__ */ memoize(\n  prop =>\n    reactPropsRegex.test(prop) ||\n    (prop.charCodeAt(0) === 111 /* o */ &&\n      prop.charCodeAt(1) === 110 /* n */ &&\n      prop.charCodeAt(2) < 91) /* Z+1 */\n)\n\nexport default isPropValid\n"
  },
  {
    "path": "packages/is-prop-valid/src/props.js",
    "content": "/**\n * This module needs to remain pure JavaScript for codegen to work on it\n */\nconst props = {\n  // react props\n  // https://github.com/facebook/react/blob/5495a7f24aef85ba6937truetrue1ce962673ca9f5fde6/src/renderers/dom/shared/hooks/ReactDOMUnknownPropertyHook.js\n  children: true,\n  dangerouslySetInnerHTML: true,\n  key: true,\n  ref: true,\n  autoFocus: true,\n  defaultValue: true,\n  defaultChecked: true,\n  innerHTML: true,\n  suppressContentEditableWarning: true,\n  suppressHydrationWarning: true,\n  // deprecated react prop\n  valueLink: true,\n\n  // https://github.com/facebook/react/blob/d7157651f7b72d9888ctrue123e191f9b88cd8f41e9/src/renderers/dom/shared/HTMLDOMPropertyConfig.js\n  /**\n   * Standard Properties\n   */\n\n  abbr: true,\n  accept: true,\n  acceptCharset: true,\n  accessKey: true,\n  action: true,\n  allow: true,\n  allowUserMedia: true,\n  allowPaymentRequest: true,\n  allowFullScreen: true,\n  allowTransparency: true,\n  alt: true,\n  // specifies target context for links with `preload` type\n  // as: true,\n  async: true,\n  autoComplete: true,\n  // autoFocus is polyfilled/normalized by AutoFocusUtils\n  // autoFocus: true,\n  autoPlay: true,\n  capture: true,\n  cellPadding: true,\n  cellSpacing: true,\n  // keygen prop\n  challenge: true,\n  charSet: true,\n  checked: true,\n  cite: true,\n  classID: true,\n  className: true,\n  cols: true,\n  colSpan: true,\n  content: true,\n  contentEditable: true,\n  contextMenu: true,\n  controls: true,\n  controlsList: true,\n  coords: true,\n  crossOrigin: true,\n  data: true, // For `<object />` acts as `src`.\n  dateTime: true,\n  decoding: true,\n  default: true,\n  defer: true,\n  dir: true,\n  disabled: true,\n  disablePictureInPicture: true,\n  disableRemotePlayback: true,\n  download: true,\n  draggable: true,\n  encType: true,\n  enterKeyHint: true,\n  fetchpriority: true,\n  fetchPriority: true,\n  form: true,\n  formAction: true,\n  formEncType: true,\n  formMethod: true,\n  formNoValidate: true,\n  formTarget: true,\n  frameBorder: true,\n  headers: true,\n  height: true,\n  hidden: true,\n  high: true,\n  href: true,\n  hrefLang: true,\n  htmlFor: true,\n  httpEquiv: true,\n  id: true,\n  inputMode: true,\n  integrity: true,\n  is: true,\n  keyParams: true,\n  keyType: true,\n  kind: true,\n  label: true,\n  lang: true,\n  list: true,\n  loading: true,\n  loop: true,\n  low: true,\n  // manifest: true,\n  marginHeight: true,\n  marginWidth: true,\n  max: true,\n  maxLength: true,\n  media: true,\n  mediaGroup: true,\n  method: true,\n  min: true,\n  minLength: true,\n  // Caution; `option.selected` is not updated if `select.multiple` is\n  // disabled with `removeAttribute`.\n  multiple: true,\n  muted: true,\n  name: true,\n  nonce: true,\n  noValidate: true,\n  open: true,\n  optimum: true,\n  pattern: true,\n  placeholder: true,\n  playsInline: true,\n  popover: true,\n  popoverTarget: true,\n  popoverTargetAction: true,\n  poster: true,\n  preload: true,\n  profile: true,\n  radioGroup: true,\n  readOnly: true,\n  referrerPolicy: true,\n  rel: true,\n  required: true,\n  reversed: true,\n  role: true,\n  rows: true,\n  rowSpan: true,\n  sandbox: true,\n  scope: true,\n  scoped: true,\n  scrolling: true,\n  seamless: true,\n  selected: true,\n  shape: true,\n  size: true,\n  sizes: true,\n  // support for projecting regular DOM Elements via V1 named slots ( shadow dom )\n  slot: true,\n  span: true,\n  spellCheck: true,\n  src: true,\n  srcDoc: true,\n  srcLang: true,\n  srcSet: true,\n  start: true,\n  step: true,\n  style: true,\n  summary: true,\n  tabIndex: true,\n  target: true,\n  title: true,\n  translate: true,\n  // Setting .type throws on non-<input> tags\n  type: true,\n  useMap: true,\n  value: true,\n  width: true,\n  wmode: true,\n  wrap: true,\n\n  /**\n   * RDFa Properties\n   */\n  about: true,\n  datatype: true,\n  inlist: true,\n  prefix: true,\n  // property is also supported for OpenGraph in meta tags.\n  property: true,\n  resource: true,\n  typeof: true,\n  vocab: true,\n\n  /**\n   * Non-standard Properties\n   */\n  // autoCapitalize and autoCorrect are supported in Mobile Safari for\n  // keyboard hints.\n  autoCapitalize: true,\n  autoCorrect: true,\n  // autoSave allows WebKit/Blink to persist values of input fields on page reloads\n  autoSave: true,\n  // color is for Safari mask-icon link\n  color: true,\n  // https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/search#incremental_This_API_has_not_been_standardized\n  incremental: true,\n  // used in amp html for indicating the fallback behavior\n  // https://amp.dev/documentation/guides-and-tutorials/develop/style_and_layout/placeholders/\n  fallback: true,\n  // https://html.spec.whatwg.org/multipage/interaction.html#inert\n  inert: true,\n  // itemProp, itemScope, itemType are for\n  // Microdata support. See http://schema.org/docs/gs.html\n  itemProp: true,\n  itemScope: true,\n  itemType: true,\n  // itemID and itemRef are for Microdata support as well but\n  // only specified in the WHATWG spec document. See\n  // https://html.spec.whatwg.org/multipage/microdata.html#microdata-dom-api\n  itemID: true,\n  itemRef: true,\n  // used in amp html for eventing purposes\n  // https://amp.dev/documentation/guides-and-tutorials/learn/common_attributes/\n  on: true,\n  // used in amp html for indicating that the option is selectable\n  // https://amp.dev/documentation/components/amp-selector/\n  option: true,\n  // results show looking glass icon and recent searches on input\n  // search fields in WebKit/Blink\n  results: true,\n  // IE-only attribute that specifies security restrictions on an iframe\n  // as an alternative to the sandbox attribute on IE<1true\n  security: true,\n  // IE-only attribute that controls focus behavior\n  unselectable: true,\n  //\n  // SVG properties: https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute\n  // The following \"onX\" events have been omitted:\n  //\n  //  onabort\n  //  onactivate\n  //  onbegin\n  //  onclick\n  //  onend\n  //  onerror\n  //  onfocusin\n  //  onfocusout\n  //  onload\n  //  onmousedown\n  //  onmousemove\n  //  onmouseout\n  //  onmouseover\n  //  onmouseup\n  //  onrepeat\n  //  onresize\n  //  onscroll\n  //  onunload\n  accentHeight: true,\n  accumulate: true,\n  additive: true,\n  alignmentBaseline: true,\n  allowReorder: true,\n  alphabetic: true,\n  amplitude: true,\n  arabicForm: true,\n  ascent: true,\n  attributeName: true,\n  attributeType: true,\n  autoReverse: true,\n  azimuth: true,\n  baseFrequency: true,\n  baselineShift: true,\n  baseProfile: true,\n  bbox: true,\n  begin: true,\n  bias: true,\n  by: true,\n  calcMode: true,\n  capHeight: true,\n  clip: true,\n  clipPathUnits: true,\n  clipPath: true,\n  clipRule: true,\n  colorInterpolation: true,\n  colorInterpolationFilters: true,\n  colorProfile: true,\n  colorRendering: true,\n  contentScriptType: true,\n  contentStyleType: true,\n  cursor: true,\n  cx: true,\n  cy: true,\n  d: true,\n  decelerate: true,\n  descent: true,\n  diffuseConstant: true,\n  direction: true,\n  display: true,\n  divisor: true,\n  dominantBaseline: true,\n  dur: true,\n  dx: true,\n  dy: true,\n  edgeMode: true,\n  elevation: true,\n  enableBackground: true,\n  end: true,\n  exponent: true,\n  externalResourcesRequired: true,\n  fill: true,\n  fillOpacity: true,\n  fillRule: true,\n  filter: true,\n  filterRes: true,\n  filterUnits: true,\n  floodColor: true,\n  floodOpacity: true,\n  focusable: true,\n  fontFamily: true,\n  fontSize: true,\n  fontSizeAdjust: true,\n  fontStretch: true,\n  fontStyle: true,\n  fontVariant: true,\n  fontWeight: true,\n  format: true,\n  from: true,\n  fr: true, // valid SVG element but React will ask for removal\n  fx: true,\n  fy: true,\n  g1: true,\n  g2: true,\n  glyphName: true,\n  glyphOrientationHorizontal: true,\n  glyphOrientationVertical: true,\n  glyphRef: true,\n  gradientTransform: true,\n  gradientUnits: true,\n  hanging: true,\n  horizAdvX: true,\n  horizOriginX: true,\n  ideographic: true,\n  imageRendering: true,\n  in: true,\n  in2: true,\n  intercept: true,\n  k: true,\n  k1: true,\n  k2: true,\n  k3: true,\n  k4: true,\n  kernelMatrix: true,\n  kernelUnitLength: true,\n  kerning: true,\n  keyPoints: true,\n  keySplines: true,\n  keyTimes: true,\n  lengthAdjust: true,\n  letterSpacing: true,\n  lightingColor: true,\n  limitingConeAngle: true,\n  local: true,\n  markerEnd: true,\n  markerMid: true,\n  markerStart: true,\n  markerHeight: true,\n  markerUnits: true,\n  markerWidth: true,\n  mask: true,\n  maskContentUnits: true,\n  maskUnits: true,\n  mathematical: true,\n  mode: true,\n  numOctaves: true,\n  offset: true,\n  opacity: true,\n  operator: true,\n  order: true,\n  orient: true,\n  orientation: true,\n  origin: true,\n  overflow: true,\n  overlinePosition: true,\n  overlineThickness: true,\n  panose1: true,\n  paintOrder: true,\n  pathLength: true,\n  patternContentUnits: true,\n  patternTransform: true,\n  patternUnits: true,\n  pointerEvents: true,\n  points: true,\n  pointsAtX: true,\n  pointsAtY: true,\n  pointsAtZ: true,\n  preserveAlpha: true,\n  preserveAspectRatio: true,\n  primitiveUnits: true,\n  r: true,\n  radius: true,\n  refX: true,\n  refY: true,\n  renderingIntent: true,\n  repeatCount: true,\n  repeatDur: true,\n  requiredExtensions: true,\n  requiredFeatures: true,\n  restart: true,\n  result: true,\n  rotate: true,\n  rx: true,\n  ry: true,\n  scale: true,\n  seed: true,\n  shapeRendering: true,\n  slope: true,\n  spacing: true,\n  specularConstant: true,\n  specularExponent: true,\n  speed: true,\n  spreadMethod: true,\n  startOffset: true,\n  stdDeviation: true,\n  stemh: true,\n  stemv: true,\n  stitchTiles: true,\n  stopColor: true,\n  stopOpacity: true,\n  strikethroughPosition: true,\n  strikethroughThickness: true,\n  string: true,\n  stroke: true,\n  strokeDasharray: true,\n  strokeDashoffset: true,\n  strokeLinecap: true,\n  strokeLinejoin: true,\n  strokeMiterlimit: true,\n  strokeOpacity: true,\n  strokeWidth: true,\n  surfaceScale: true,\n  systemLanguage: true,\n  tableValues: true,\n  targetX: true,\n  targetY: true,\n  textAnchor: true,\n  textDecoration: true,\n  textRendering: true,\n  textLength: true,\n  to: true,\n  transform: true,\n  u1: true,\n  u2: true,\n  underlinePosition: true,\n  underlineThickness: true,\n  unicode: true,\n  unicodeBidi: true,\n  unicodeRange: true,\n  unitsPerEm: true,\n  vAlphabetic: true,\n  vHanging: true,\n  vIdeographic: true,\n  vMathematical: true,\n  values: true,\n  vectorEffect: true,\n  version: true,\n  vertAdvY: true,\n  vertOriginX: true,\n  vertOriginY: true,\n  viewBox: true,\n  viewTarget: true,\n  visibility: true,\n  widths: true,\n  wordSpacing: true,\n  writingMode: true,\n  x: true,\n  xHeight: true,\n  x1: true,\n  x2: true,\n  xChannelSelector: true,\n  xlinkActuate: true,\n  xlinkArcrole: true,\n  xlinkHref: true,\n  xlinkRole: true,\n  xlinkShow: true,\n  xlinkTitle: true,\n  xlinkType: true,\n  xmlBase: true,\n  xmlns: true,\n  xmlnsXlink: true,\n  xmlLang: true,\n  xmlSpace: true,\n  y: true,\n  y1: true,\n  y2: true,\n  yChannelSelector: true,\n  z: true,\n  zoomAndPan: true,\n\n  // For preact. We have this code here even though Emotion doesn't support\n  // Preact, since @emotion/is-prop-valid is used by some libraries outside of\n  // the context of Emotion.\n  for: true,\n  class: true,\n  autofocus: true\n}\nmodule.exports = `/^((${Object.keys(props).join(\n  '|'\n)})|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/`\n"
  },
  {
    "path": "packages/is-prop-valid/types/index.d.ts",
    "content": "// TypeScript Version: 2.1\n\nexport { default } from '..'\n"
  },
  {
    "path": "packages/is-prop-valid/types/tests.ts",
    "content": "import isPropValid from '@emotion/is-prop-valid'\n\nisPropValid('ref')\n\n// $ExpectError\nisPropValid()\n// $ExpectError\nisPropValid({})\n// $ExpectError\nisPropValid('ref', 'def')\n"
  },
  {
    "path": "packages/is-prop-valid/types/tsconfig.json",
    "content": "{\n  \"compilerOptions\": {\n    \"baseUrl\": \"../\",\n    \"forceConsistentCasingInFileNames\": true,\n    \"lib\": [\"es6\", \"dom\"],\n    \"module\": \"commonjs\",\n    \"noEmit\": true,\n    \"strict\": true,\n    \"target\": \"es5\",\n    \"typeRoots\": [\"../\"],\n    \"types\": []\n  },\n  \"include\": [\"./*.ts\", \"./*.tsx\"]\n}\n"
  },
  {
    "path": "packages/is-prop-valid/types/tslint.json",
    "content": "{\n  \"extends\": \"@definitelytyped/dtslint/dtslint.json\",\n  \"rules\": {\n    \"array-type\": [true, \"generic\"],\n    \"import-spacing\": false,\n    \"semicolon\": false,\n    \"whitespace\": [\n      true,\n      \"check-branch\",\n      \"check-decl\",\n      \"check-operator\",\n      \"check-module\",\n      \"check-rest-spread\",\n      \"check-type\",\n      \"check-typecast\",\n      \"check-type-operator\",\n      \"check-preblock\"\n    ],\n\n    \"no-unnecessary-generics\": false,\n    \"no-default-import\": false,\n    \"unnecessary-bind\": false\n  }\n}\n"
  },
  {
    "path": "packages/jest/CHANGELOG.md",
    "content": "# @emotion/jest\n\n## 11.14.2\n\n### Patch Changes\n\n- [#3344](https://github.com/emotion-js/emotion/pull/3344) [`bac2865`](https://github.com/emotion-js/emotion/commit/bac28659a2ddc0c5e4c202b80ca5d562a9a89a28) Thanks [@ernestostifano](https://github.com/ernestostifano)! - Allow `@types/jest@30.x` as an optional peer dependency\n\n## 11.13.0\n\n### Minor Changes\n\n- [#3198](https://github.com/emotion-js/emotion/pull/3198) [`d8ff8a5`](https://github.com/emotion-js/emotion/commit/d8ff8a5990c691017b463b3fa23a9f46ab28147b) Thanks [@Andarist](https://github.com/Andarist)! - Adjustments to how speedy rules are obtained by the plugin.\n\n## 11.11.0\n\n### Patch Changes\n\n- [#3031](https://github.com/emotion-js/emotion/pull/3031) [`336f3d50`](https://github.com/emotion-js/emotion/commit/336f3d50fd684ccbb160fff0c63d5560936f1ee5) Thanks [@Andarist](https://github.com/Andarist)! - Updated the underlying parser ([stylis](https://github.com/thysultan/stylis)) to 4.2.0\n\n* [#3029](https://github.com/emotion-js/emotion/pull/3029) [`eed5e6cf`](https://github.com/emotion-js/emotion/commit/eed5e6cf00f94f3011b93825ccce43cb2270c247) Thanks [@Andarist](https://github.com/Andarist)! - Fixed importing in Node ESM\n\n* Updated dependencies [[`336f3d50`](https://github.com/emotion-js/emotion/commit/336f3d50fd684ccbb160fff0c63d5560936f1ee5), [`eed5e6cf`](https://github.com/emotion-js/emotion/commit/eed5e6cf00f94f3011b93825ccce43cb2270c247)]:\n  - @emotion/css-prettifier@1.1.3\n\n## 11.10.8\n\n### Patch Changes\n\n- [#3025](https://github.com/emotion-js/emotion/pull/3025) [`6bd13425`](https://github.com/emotion-js/emotion/commit/6bd13425a2b413150c81e63fad1105d7968b5e6f) Thanks [@Andarist](https://github.com/Andarist)! - Updated the underlying parser ([stylis](https://github.com/thysultan/stylis)) to 4.1.4\n\n- Updated dependencies [[`6bd13425`](https://github.com/emotion-js/emotion/commit/6bd13425a2b413150c81e63fad1105d7968b5e6f)]:\n  - @emotion/css-prettifier@1.1.2\n\n## 11.10.5\n\n### Patch Changes\n\n- [#2884](https://github.com/emotion-js/emotion/pull/2884) [`da1e68e8`](https://github.com/emotion-js/emotion/commit/da1e68e829c53114dc1aab79b09e32a37d731fcf) Thanks [@billyjanitsch](https://github.com/billyjanitsch)! - Fix a dependency conflict when `@emotion/jest` was installed alongside `@types/jest@^29`.\n\n* [#2929](https://github.com/emotion-js/emotion/pull/2929) [`13afe030`](https://github.com/emotion-js/emotion/commit/13afe0303e2e54b5869c326e6d9c9dc36a332c02) Thanks [@Andarist](https://github.com/Andarist)! - Updated the underlying parser ([stylis](https://github.com/thysultan/stylis)).\n\n* Updated dependencies [[`13afe030`](https://github.com/emotion-js/emotion/commit/13afe0303e2e54b5869c326e6d9c9dc36a332c02)]:\n  - @emotion/css-prettifier@1.1.1\n\n## 11.10.0\n\n### Minor Changes\n\n- [#2819](https://github.com/emotion-js/emotion/pull/2819) [`bbad8c79`](https://github.com/emotion-js/emotion/commit/bbad8c79937f8dfd5d93bf485c1e9ec44124d228) Thanks [@nicksrandall](https://github.com/nicksrandall)! - `exports` field has been added to the `package.json` manifest. It limits what files can be imported from a package but we've tried our best to allow importing all the files that were considered to be a part of the public API.\n\n### Patch Changes\n\n- Updated dependencies [[`bbad8c79`](https://github.com/emotion-js/emotion/commit/bbad8c79937f8dfd5d93bf485c1e9ec44124d228)]:\n  - @emotion/css-prettifier@1.1.0\n\n## 11.9.4\n\n### Patch Changes\n\n- [#2771](https://github.com/emotion-js/emotion/pull/2771) [`9b4ce70d`](https://github.com/emotion-js/emotion/commit/9b4ce70d05a3f6acc9364a88eb1b77577fadaab6) Thanks [@srmagura](https://github.com/srmagura)! - Fix a dependency conflict when `@emotion/jest` was installed alongside `@types/jest@^28`.\n\n## 11.9.3\n\n### Patch Changes\n\n- [#2749](https://github.com/emotion-js/emotion/pull/2749) [`fd22cace`](https://github.com/emotion-js/emotion/commit/fd22cacee60e7e7c2b512af47a9ce374f7896362) Thanks [@Andarist](https://github.com/Andarist)! - Added a dedicated error for a situation when `toHaveStyleRule` receives an array.\n\n## 11.9.1\n\n### Patch Changes\n\n- [#2715](https://github.com/emotion-js/emotion/pull/2715) [`37434836`](https://github.com/emotion-js/emotion/commit/3743483613b8fcb84bc25dde1fcd51a079b009b9) Thanks [@thompsongl](https://github.com/thompsongl)! - Fixed an issue with `createEnzymeSerializer` not handling the recently added `includeStyles` option.\n\n## 11.9.0\n\n### Minor Changes\n\n- [#2709](https://github.com/emotion-js/emotion/pull/2709) [`1a25293f`](https://github.com/emotion-js/emotion/commit/1a25293fffa348d55bbf78e8855a6390bc54230b) Thanks [@thompsongl](https://github.com/thompsongl)! - Added `includeStyles` option to `createSerializer` to optionally disable styles printing.\n\n## 11.8.0\n\n### Patch Changes\n\n- [#2600](https://github.com/emotion-js/emotion/pull/2600) [`2f27156a`](https://github.com/emotion-js/emotion/commit/2f27156a73f94c3aac82e4ed492cbfdc97225573) Thanks [@Andarist](https://github.com/Andarist)! - Adjusted Enzyme-related code path to accomodate for changes related to the refactor around using `React.useInsertionEffect`.\n\n## 11.7.1\n\n### Patch Changes\n\n- [#2590](https://github.com/emotion-js/emotion/pull/2590) [`1554a7e2`](https://github.com/emotion-js/emotion/commit/1554a7e264e05780b2c5bd74ccb20a92005ba61d) Thanks [@Andarist](https://github.com/Andarist)! - Upgraded and pinned the version of Stylis - the CSS parser that Emotion uses under the hood.\n\n- Updated dependencies [[`1554a7e2`](https://github.com/emotion-js/emotion/commit/1554a7e264e05780b2c5bd74ccb20a92005ba61d)]:\n  - @emotion/css-prettifier@1.0.1\n\n## 11.6.0\n\n### Minor Changes\n\n- [#2542](https://github.com/emotion-js/emotion/pull/2542) [`eb013d25`](https://github.com/emotion-js/emotion/commit/eb013d25722f4fd9af9acf699789bf6b8afac871) Thanks [@eps1lon](https://github.com/eps1lon), [@Andarist](https://github.com/Andarist)! - Adjusted the serialization logic to unwrap rendered elements from Fragments that had to be added to fix hydration mismatches caused by `React.useId` usage (the upcoming API of the React 18).\n\n## 11.5.0\n\n### Minor Changes\n\n- [#2456](https://github.com/emotion-js/emotion/pull/2456) [`500cdd82`](https://github.com/emotion-js/emotion/commit/500cdd828b65ad4b778c8a1459094b099d50f08a) Thanks [@billyjanitsch](https://github.com/billyjanitsch)! - Support typings for Jest v27\n\n### Patch Changes\n\n- [#2457](https://github.com/emotion-js/emotion/pull/2457) [`218e4f78`](https://github.com/emotion-js/emotion/commit/218e4f78ca03b36cd8ed595bc1a93892b9783eda) Thanks [@jcleefw](https://github.com/jcleefw)! - Add `RegExp` as a valid type for the `target` option accepted by `toHaveStyleRule`.\n\n## 11.3.0\n\n### Patch Changes\n\n- [`4e911edb`](https://github.com/emotion-js/emotion/commit/4e911edba332cfef8147be9e4c7a3309f10a04de) [#2336](https://github.com/emotion-js/emotion/pull/2336) Thanks [@iChenLei](https://github.com/iChenLei)! - Use `displayName` when printing shallowly rendered elements with css prop.\n\n## 11.2.1\n\n### Patch Changes\n\n- [`66ccd43e`](https://github.com/emotion-js/emotion/commit/66ccd43e4c1ed44fb11950d663f6cb0be4ab3415) [#2269](https://github.com/emotion-js/emotion/pull/2269) Thanks [@mskelton](https://github.com/mskelton)! - Fixed the Enzyme serializer to work properly with conditional styles passed to the `css` prop.\n\n* [`66ccd43e`](https://github.com/emotion-js/emotion/commit/66ccd43e4c1ed44fb11950d663f6cb0be4ab3415) [#2269](https://github.com/emotion-js/emotion/pull/2269) Thanks [@mskelton](https://github.com/mskelton)! - Fixed the Enzyme serializer to always print composed styles (for example using arrays), which are passed to the `css` prop, correctly.\n\n## 11.2.0\n\n### Minor Changes\n\n- [`0c31ed05`](https://github.com/emotion-js/emotion/commit/0c31ed05e564c4e68d11862e23d96003c6b7e4b5) [#2233](https://github.com/emotion-js/emotion/pull/2233) Thanks [@ajs139](https://github.com/ajs139)! - Fixed an issue with Enzyme snapshots for components using an array as the `css` prop - those should be printed OK now.\n\n## 11.1.0\n\n### Minor Changes\n\n- [`c470c855`](https://github.com/emotion-js/emotion/commit/c470c8556a05e3af83b067c51cdd29f8655f7dbf) [#2109](https://github.com/emotion-js/emotion/pull/2109) Thanks [@Andarist](https://github.com/Andarist)! - `createEnzymeSerializer` export has been removed from the root entrypoint and moved to a dedicated `@emotion/jest/enzyme` entrypoint. This is unfortunate because it could be considered a breaking change but it has been decided to treat this as a bug fix. It was never the intention to export this from the root entrypoint - `enzyme-to-json` has been marked as an optional peer dependency of `@emotion/jest` since the release and it was the package structure that did not match this expectation by mistake.\n\n## 11.0.0\n\n### Major Changes\n\n- [`b8476e08`](https://github.com/emotion-js/emotion/commit/b8476e08af4a2e8de94a112cb0daf6e8e4d56fe1) [#1675](https://github.com/emotion-js/emotion/pull/1675) Thanks [@emmatown](https://github.com/emmatown)! - Rename `jest-emotion` to `@emotion/jest`. Please replace `\"snapshotSerializers\": [\"jest-emotion\"]` with `\"snapshotSerializers\": [\"@emotion/jest/serializer\"]` if you're using the snapshot serializer. Also replace any imports of `jest-emotion` with `@emotion/jest` or use the `@emotion/pkg-renaming` ESLint rule from `@emotion/eslint-plugin`.\n\n* [`ca599c5f`](https://github.com/emotion-js/emotion/commit/ca599c5f392b5b1f51430dc9d8b263ed54856401) [#1901](https://github.com/emotion-js/emotion/pull/1901) Thanks [@Andarist](https://github.com/Andarist)! - `test` & `print` are no longer exported as named exports. If you want to access the default serializer just access the default export. This means that `@emotion/jest`(previously `jest-emotion`) can't be used directly in the `snapshotSerializers` option, you should use `@emotion/jest/serializer` instead for this.\n\n* [`ca599c5f`](https://github.com/emotion-js/emotion/commit/ca599c5f392b5b1f51430dc9d8b263ed54856401) [#1901](https://github.com/emotion-js/emotion/pull/1901) Thanks [@Andarist](https://github.com/Andarist)! - Refactored to use new serializers API which has been introduced in Jest 21.\n\n* [`cd77efbf`](https://github.com/emotion-js/emotion/commit/cd77efbf263486e2b189221f4076e1098d78c379) [#1920](https://github.com/emotion-js/emotion/pull/1920) Thanks [@Andarist](https://github.com/Andarist)! - The root entry (`@emotion/jest`) no longer has `default` and `serializer` exports. You can still import `createSerializer` from it to create your own serializer if needed.\n\n- [`cd77efbf`](https://github.com/emotion-js/emotion/commit/cd77efbf263486e2b189221f4076e1098d78c379) [#1920](https://github.com/emotion-js/emotion/pull/1920) Thanks [@Andarist](https://github.com/Andarist)! - `@emotion/jest/serializer`'s main purpose is compatibility with Jest's `snapshotSerializers` option, so it no longer has a default export - it only has `test` & `serialize` exports. You can import `createSerializer` from the root entry (`@emotion/jest`) and create your own serializer if needed.\n\n- [`702f3fd2`](https://github.com/emotion-js/emotion/commit/702f3fd22aab8f3cb09dd547c07b9045ca5c3d9c) [#1620](https://github.com/emotion-js/emotion/pull/1620) Thanks [@spudly](https://github.com/spudly)! - Added the `T` parameter to the `Matchers` interface in the TypeScript definitions to make this module compatible with `@types/jest@^24.0.20`.\n\n### Minor Changes\n\n- [`b8476e08`](https://github.com/emotion-js/emotion/commit/b8476e08af4a2e8de94a112cb0daf6e8e4d56fe1) [#1675](https://github.com/emotion-js/emotion/pull/1675) Thanks [@emmatown](https://github.com/emmatown)! - Improve support for Enzyme's shallow rendering with the addition of the `@emotion/jest/enzyme-serializer` snapshot serializer.\n\n* [`ca599c5f`](https://github.com/emotion-js/emotion/commit/ca599c5f392b5b1f51430dc9d8b263ed54856401) [#1901](https://github.com/emotion-js/emotion/pull/1901) Thanks [@Andarist](https://github.com/Andarist)! - Improved printing of nested at-rules.\n\n- [`ca599c5f`](https://github.com/emotion-js/emotion/commit/ca599c5f392b5b1f51430dc9d8b263ed54856401) [#1901](https://github.com/emotion-js/emotion/pull/1901) Thanks [@Andarist](https://github.com/Andarist)! - Fixed an issue with all styles being recognized as changed in Jest 25 on unrelated changes.\n\n### Patch Changes\n\n- [`e67a5be9`](https://github.com/emotion-js/emotion/commit/e67a5be9bffaa12f9ae0e366983dced4c3716f84) [#1604](https://github.com/emotion-js/emotion/pull/1604) Thanks [@Andarist](https://github.com/Andarist)! - Take specificity into account when matching styles\n\n* [`8a88e771`](https://github.com/emotion-js/emotion/commit/8a88e77113aef127b0404f4f0b66fd6ee69391f0) [#1880](https://github.com/emotion-js/emotion/pull/1880) Thanks [@Jimmydalecleveland](https://github.com/Jimmydalecleveland)! - Improved stability of the generated snapshots - styles are extracted now based on the order in which the associated with them class names appear in the serialized elements rather than based on the order of the actual rules in the document.\n\n- [`e67a5be9`](https://github.com/emotion-js/emotion/commit/e67a5be9bffaa12f9ae0e366983dced4c3716f84) [#1604](https://github.com/emotion-js/emotion/pull/1604) Thanks [@Andarist](https://github.com/Andarist)! - Match rules in declarations with component used as a selector\n\n* [`ae8c1d9d`](https://github.com/emotion-js/emotion/commit/ae8c1d9dfa9ec605c90937f6e77c2a2642c94bd7) [#1902](https://github.com/emotion-js/emotion/pull/1902) Thanks [@Andarist](https://github.com/Andarist)! - Added support for handling regular React **elements** (objects returned from `React.createElement`) in the serializer and `toHaveStyleRule` matcher. It's possible to get those elements when traversing Enzyme's trees.\n\n* [`3abcf673`](https://github.com/emotion-js/emotion/commit/3abcf673d6d2ea8d802602dde1d5af33af75ac4c) [#2043](https://github.com/emotion-js/emotion/pull/2043) Thanks [@Andarist](https://github.com/Andarist)! - `@types/jest` has been moved from the dependencies to the optional peer dependencies as it should not be installed automatically for users not using TypeScript.\n\n* Updated dependencies []:\n  - @emotion/css-prettifier@1.0.0\n\n## 11.0.0-rc.0\n\n### Major Changes\n\n- [`9c4ebc16`](https://github.com/emotion-js/emotion/commit/9c4ebc160471097c5d04fb92dba3ed0df870bb63) [#2030](https://github.com/emotion-js/emotion/pull/2030) Thanks [@Andarist](https://github.com/Andarist)! - Release candidate version.\n\n## 11.0.0-next.19\n\n### Patch Changes\n\n- [`5d094b57`](https://github.com/emotion-js/emotion/commit/5d094b57b78f792b42f72ca84384002bc1c61b95) [#2027](https://github.com/emotion-js/emotion/pull/2027) Thanks [@Andarist](https://github.com/Andarist)! - Fixed an issue with serializing Enzyme's `ReactWrapper` (what is returned from `mount`) with props containing elements without the css prop.\n\n## 11.0.0-next.17\n\n## 11.0.0-next.16\n\n## 11.0.0-next.15\n\n### Patch Changes\n\n- [`8a88e771`](https://github.com/emotion-js/emotion/commit/8a88e77113aef127b0404f4f0b66fd6ee69391f0) [#1880](https://github.com/emotion-js/emotion/pull/1880) Thanks [@Jimmydalecleveland](https://github.com/Jimmydalecleveland)! - Improved stability of the generated snapshots - styles are extracted now based on the order in which the associated with them class names appear in the serialized elements rather than based on the order of the actual rules in the document.\n\n* [`ae8c1d9d`](https://github.com/emotion-js/emotion/commit/ae8c1d9dfa9ec605c90937f6e77c2a2642c94bd7) [#1902](https://github.com/emotion-js/emotion/pull/1902) Thanks [@Andarist](https://github.com/Andarist)! - Added support for handling regular React **elements** (objects returned from `React.createElement`) in the serializer and `toHaveStyleRule` matcher. It's possible to get those elements when traversing Enzyme's trees.\n\n## 11.0.0-next.14\n\n### Major Changes\n\n- [`cd77efbf`](https://github.com/emotion-js/emotion/commit/cd77efbf263486e2b189221f4076e1098d78c379) [#1920](https://github.com/emotion-js/emotion/pull/1920) Thanks [@Andarist](https://github.com/Andarist)! - The root entry (`@emotion/jest`) no longer has `default` and `serializer` exports. You can still import `createSerializer` from it to create your own serializer if needed.\n\n* [`cd77efbf`](https://github.com/emotion-js/emotion/commit/cd77efbf263486e2b189221f4076e1098d78c379) [#1920](https://github.com/emotion-js/emotion/pull/1920) Thanks [@Andarist](https://github.com/Andarist)! - `@emotion/jest/enzyme` entrypoint has been renamed to `@emotion/jest/enzyme-serializer`. It's main purpose is compatibility with Jest's `snapshotSerializers` option, so it no longer has a default export - it only has `test` & `serialize` exports.. You can import `createEnzymeSerializer` from the root entry (`@emotion/jest`) and create your own serializer if needed.\n\n- [`cd77efbf`](https://github.com/emotion-js/emotion/commit/cd77efbf263486e2b189221f4076e1098d78c379) [#1920](https://github.com/emotion-js/emotion/pull/1920) Thanks [@Andarist](https://github.com/Andarist)! - `@emotion/jest/serializer`'s main purpose is compatibility with Jest's `snapshotSerializers` option, so it no longer has a default export - it only has `test` & `serialize` exports. You can import `createSerializer` from the root entry (`@emotion/jest`) and create your own serializer if needed.\n\n### Patch Changes\n\n- Updated dependencies [[`58dc08a6`](https://github.com/emotion-js/emotion/commit/58dc08a6a013fb5cfa10bb85e06e53a8ff7eeb51), [`f57a7229`](https://github.com/emotion-js/emotion/commit/f57a72299cd4025a725bd5bd1b966a8f9df16cd8), [`6d32d82b`](https://github.com/emotion-js/emotion/commit/6d32d82beb45b18e5f18a37932b862ad19b17044)]:\n  - @emotion/react@11.0.0-next.14\n  - @emotion/css@11.0.0-next.14\n\n## 11.0.0-next.13\n\n### Major Changes\n\n- [`ca599c5f`](https://github.com/emotion-js/emotion/commit/ca599c5f392b5b1f51430dc9d8b263ed54856401) [#1901](https://github.com/emotion-js/emotion/pull/1901) Thanks [@Andarist](https://github.com/Andarist)! - `test` & `print` are no longer exported as named exports. If you want to access the default serializer just access the default export. This means that `@emotion/jest`(previously `jest-emotion`) can't be used directly in the `snapshotSerializers` option, you should use `@emotion/jest/serializer` instead for this.\n\n* [`ca599c5f`](https://github.com/emotion-js/emotion/commit/ca599c5f392b5b1f51430dc9d8b263ed54856401) [#1901](https://github.com/emotion-js/emotion/pull/1901) Thanks [@Andarist](https://github.com/Andarist)! - Refactored to use new serializers API which has been introduced in Jest 21.\n\n### Minor Changes\n\n- [`ca599c5f`](https://github.com/emotion-js/emotion/commit/ca599c5f392b5b1f51430dc9d8b263ed54856401) [#1901](https://github.com/emotion-js/emotion/pull/1901) Thanks [@Andarist](https://github.com/Andarist)! - Improved printing of nested at-rules.\n\n* [`ca599c5f`](https://github.com/emotion-js/emotion/commit/ca599c5f392b5b1f51430dc9d8b263ed54856401) [#1901](https://github.com/emotion-js/emotion/pull/1901) Thanks [@Andarist](https://github.com/Andarist)! - Fixed an issue with all styles being recognized as changed in Jest 25 on unrelated changed.\n\n### Patch Changes\n\n- Updated dependencies [[`9e998e37`](https://github.com/emotion-js/emotion/commit/9e998e3755c217027ad1be0af4c64644fe14c6bf)]:\n  - @emotion/css@11.0.0-next.13\n  - @emotion/react@11.0.0-next.13\n\n## 11.0.0-next.12\n\n### Patch Changes\n\n- Updated dependencies [[`7dea6d7a`](https://github.com/emotion-js/emotion/commit/7dea6d7a9a87f00cf9b695b58a2f65b67e17fabd), [`105de5c8`](https://github.com/emotion-js/emotion/commit/105de5c8752be0983c000e1e26462dc8fcf0708d), [`be2eb614`](https://github.com/emotion-js/emotion/commit/be2eb614d2bc369a382dbc6aa347f66801605f3b), [`5bea60b1`](https://github.com/emotion-js/emotion/commit/5bea60b1ffab85fbc965532006c3a94ea139f0bf), [`75e2f9e1`](https://github.com/emotion-js/emotion/commit/75e2f9e1848bc0161f8db3c663438ada3042ae66), [`105de5c8`](https://github.com/emotion-js/emotion/commit/105de5c8752be0983c000e1e26462dc8fcf0708d)]:\n  - @emotion/react@11.0.0-next.12\n  - @emotion/css@11.0.0-next.12\n\n## 11.0.0-next.10\n\n### Major Changes\n\n- [`b8476e08`](https://github.com/emotion-js/emotion/commit/b8476e08af4a2e8de94a112cb0daf6e8e4d56fe1) [#1675](https://github.com/emotion-js/emotion/pull/1675) Thanks [@emmatown](https://github.com/emmatown)! - Rename `jest-emotion` to `@emotion/jest`. Please replace `\"snapshotSerializers\": [\"jest-emotion\"]` with `\"snapshotSerializers\": [\"@emotion/jest\"]` if you're using the snapshot serializer. Also replace any imports of `jest-emotion` with `@emotion/jest` or use the `@emotion/pkg-renaming` ESLint rule from `@emotion/eslint-plugin`.\n\n### Minor Changes\n\n- [`b8476e08`](https://github.com/emotion-js/emotion/commit/b8476e08af4a2e8de94a112cb0daf6e8e4d56fe1) [#1675](https://github.com/emotion-js/emotion/pull/1675) Thanks [@emmatown](https://github.com/emmatown)! - Improve support for Enzyme's shallow rendering with the addition of the @emotion/jest/enzyme snapshot serializer\n\n### Patch Changes\n\n- Updated dependencies [[`b8476e08`](https://github.com/emotion-js/emotion/commit/b8476e08af4a2e8de94a112cb0daf6e8e4d56fe1), [`b8476e08`](https://github.com/emotion-js/emotion/commit/b8476e08af4a2e8de94a112cb0daf6e8e4d56fe1), [`affed3dd`](https://github.com/emotion-js/emotion/commit/affed3ddf03671835356632f26a064f59811852f), [`b8476e08`](https://github.com/emotion-js/emotion/commit/b8476e08af4a2e8de94a112cb0daf6e8e4d56fe1), [`d62d9101`](https://github.com/emotion-js/emotion/commit/d62d9101bc75e6bc9644ae588d2a6e4bf4d69285)]:\n  - @emotion/react@11.0.0-next.10\n  - @emotion/css@11.0.0-next.10\n\n## 11.0.0-next.7\n\n### Patch Changes\n\n- Updated dependencies [[`5c55fd17`](https://github.com/emotion-js/emotion/commit/5c55fd17dcaec84d1f5d5d13ae90dd336d7e4403)]:\n  - @emotion/core@11.0.0-next.7\n\n## 11.0.0-next.4\n\n### Major Changes\n\n- [`702f3fd2`](https://github.com/emotion-js/emotion/commit/702f3fd22aab8f3cb09dd547c07b9045ca5c3d9c) [#973](https://github.com/emotion-js/emotion/pull/973) Thanks [@spudly](https://github.com/spudly)! - Added the `T` parameter to the `Matchers` interface in the TypeScript definitions to make this module compatible with `@types/jest@^24.0.20`.\n\n### Patch Changes\n\n- Updated dependencies []:\n  - @emotion/core@11.0.0-next.4\n\n## 11.0.0-next.3\n\n### Patch Changes\n\n- Updated dependencies [[`a085003d`](https://github.com/emotion-js/emotion/commit/a085003d4c8ca284c116668d7217fb747802ed85)]:\n  - @emotion/core@11.0.0-next.3\n\n## 11.0.0-next.1\n\n### Patch Changes\n\n- [`e67a5be9`](https://github.com/emotion-js/emotion/commit/e67a5be9bffaa12f9ae0e366983dced4c3716f84) [#967](https://github.com/emotion-js/emotion/pull/967) Thanks [@Andarist](https://github.com/Andarist)! - Take specificity into account when matching styles\n\n* [`e67a5be9`](https://github.com/emotion-js/emotion/commit/e67a5be9bffaa12f9ae0e366983dced4c3716f84) [#967](https://github.com/emotion-js/emotion/pull/967) Thanks [@Andarist](https://github.com/Andarist)! - Match rules in declarations with component used as a selector\n* Updated dependencies []:\n  - @emotion/core@11.0.0-next.1\n\n## 11.0.0-next.0\n\n### Major Changes\n\n- [`302bdba1`](https://github.com/emotion-js/emotion/commit/302bdba1a6b793484c09edeb668815c5e31ea555) [#1600](https://github.com/emotion-js/emotion/pull/1600) Thanks [@emmatown](https://github.com/emmatown)! - Ensure packages are major bumped so that pre-release versions of the linked packages are consistent in the major number\n\n### Patch Changes\n\n- Updated dependencies [[`302bdba1`](https://github.com/emotion-js/emotion/commit/302bdba1a6b793484c09edeb668815c5e31ea555)]:\n  - @emotion/core@11.0.0-next.0\n  - emotion@11.0.0-next.0\n\n## 10.0.32\n\n### Patch Changes\n\n- [`5af2755`](https://github.com/emotion-js/emotion/commit/5af27554d3aec20691a4675e57433bb01cd535a4) [#1808](https://github.com/emotion-js/emotion/pull/1808) Thanks [@Andarist](https://github.com/Andarist)! - Fixed compatibility with latest `jest` TS types.\n\n## 10.0.27\n\n### Patch Changes\n\n- [`4c62ae9`](https://github.com/emotion-js/emotion/commit/4c62ae9447959d438928e1a26f76f1487983c968) [#1698](https://github.com/emotion-js/emotion/pull/1698) Thanks [@Andarist](https://github.com/Andarist)! - Add LICENSE file\n- Updated dependencies [[`4c62ae9`](https://github.com/emotion-js/emotion/commit/4c62ae9447959d438928e1a26f76f1487983c968)]:\n  - @emotion/core@10.0.27\n  - emotion@10.0.27\n\n## 10.0.26\n\n### Patch Changes\n\n- [`b3c5b8de`](https://github.com/emotion-js/emotion/commit/b3c5b8de66e42dd2e6459862c9603f012ba01d54) [#1667](https://github.com/emotion-js/emotion/pull/1667) Thanks [@Andarist](https://github.com/Andarist)! - Revert improved support for Enzyme's shallow rendering - its release was an unforseen breaking change.\n\n## 10.0.25\n\n### Patch Changes\n\n- [`858c6e70`](https://github.com/emotion-js/emotion/commit/858c6e70e2aa83d159dba00af16f1e34a6d93fd0) [#1648](https://github.com/emotion-js/emotion/pull/1648) Thanks [@ajs139](https://github.com/ajs139)! - Improve support for Enzyme's shallow rendering.\n\n## 10.0.17\n\n### Patch Changes\n\n- [fa5ffa80](https://github.com/emotion-js/emotion/commit/fa5ffa80890a079a3f333a463284bdb683cc2e0c) [#1477](https://github.com/emotion-js/emotion/pull/1477) Thanks [@liamcmitchell-sc](https://github.com/liamcmitchell-sc)! - Fixed snapshots when using Enzyme serializer and its deep mode in combination with fragments\n  - [c8de890b](https://github.com/emotion-js/emotion/commit/c8de890b5aeeaafdcc5742aab310a61aebd666bf) [#1486](https://github.com/emotion-js/emotion/pull/1486) Thanks [@Andarist](https://github.com/Andarist)! - Fix printing speedy (usually this means production) styles\n  - [66cda641](https://github.com/emotion-js/emotion/commit/66cda64128631790b81e3c9df273a972358ea593) [#1478](https://github.com/emotion-js/emotion/pull/1478) Thanks [@Andarist](https://github.com/Andarist)! - Update Babel dependencies\n\n## 10.0.14\n\n### Patch Changes\n\n- [c0eb604d](https://github.com/emotion-js/emotion/commit/c0eb604d) [#1419](https://github.com/emotion-js/emotion/pull/1419) Thanks [@emmatown](https://github.com/emmatown)! - Update build tool\n\n## 10.0.11\n\n### Patch Changes\n\n- [3705706](https://github.com/emotion-js/emotion/commit/3705706) [#1344](https://github.com/emotion-js/emotion/pull/1292) Thanks [@alanctkc](https://github.com/alanctkc)! - Allow jest-emotion matcher to match target by RegExp\n"
  },
  {
    "path": "packages/jest/LICENSE",
    "content": "MIT License\n\nCopyright (c) Emotion team and other contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "packages/jest/README.md",
    "content": "# @emotion/jest\n\n> Jest testing utilities for emotion\n\n## Installation\n\n```bash\nnpm install --save-dev @emotion/jest\n```\n\n## Snapshot Serializer\n\nThe easiest way to test React components with emotion is with the snapshot serializer. You can register the serializer via the `snapshotSerializers` configuration property in your jest configuration like so:\n\n```js\n// jest.config.js\nmodule.exports = {\n  // ... other config\n  snapshotSerializers: [\n    '@emotion/jest/serializer' /* if needed other snapshotSerializers should go here */\n  ]\n}\n```\n\nTo assist with shallow rendering, there's a custom enzyme snapshot serializer, that includes the `enzyme-to-json` serializer, which is available by importing `@emotion/jest/enzyme-serializer`. If you already have the `enzyme-to-json` serializer added to `snapshotSerializers`, it will need to be removed to allow this to work.\n\n```js\n// jest.config.js\nmodule.exports = {\n  // ... other config\n  snapshotSerializers: ['@emotion/jest/enzyme-serializer']\n}\n```\n\nOr you can add the serializer via the `expect.addSnapshotSerializer` method like so: (the example below is with react-test-renderer but @emotion/jest also works with enzyme and react-testing-library)\n\n```jsx\nimport React from 'react'\nimport renderer from 'react-test-renderer'\nimport { createSerializer } from '@emotion/jest'\nimport styled from '@emotion/styled'\n\nexpect.addSnapshotSerializer(createSerializer())\n\ntest('renders with correct styles', () => {\n  const H1 = styled.h1`\n    float: left;\n  `\n\n  const tree = renderer.create(<H1>hello world</H1>).toJSON()\n\n  expect(tree).toMatchSnapshot()\n})\n```\n\nRefer to the [testing doc][emotion-testing] for more information about snapshot testing with emotion.\n\n### Options\n\n#### `classNameReplacer`\n\n@emotion/jest's snapshot serializer replaces the hashes in class names with an index so that things like whitespace changes won't break snapshots. It optionally accepts a custom class name replacer, it defaults to the below.\n\n```jsx\nfunction classNameReplacer(className, index) {\n  return `emotion-${index}`\n}\n```\n\n```jsx\nimport { createSerializer } from '@emotion/jest'\n\nexpect.addSnapshotSerializer(\n  createSerializer({\n    classNameReplacer(className, index) {\n      return `my-new-class-name-${index}`\n    }\n  })\n)\n```\n\n#### `DOMElements`\n\n@emotion/jest's snapshot serializer inserts styles and replaces class names in both React and DOM elements. If you would like to disable this behavior for DOM elements, you can do so by passing `{ DOMElements: false }`. For example:\n\n```jsx\nimport { createSerializer } from '@emotion/jest'\n\n// configures @emotion/jest to ignore DOM elements\nexpect.addSnapshotSerializer(createSerializer({ DOMElements: false }))\n```\n\n#### `includeStyles`\n\n@emotion/jest's snapshot serializer inserts styles. If you would like to disable this behavior, you can do so by passing `{ includeStyles: false }`. For example:\n\n```jsx\nimport { createSerializer } from '@emotion/jest'\n\n// configures @emotion/jest to not insert styles\nexpect.addSnapshotSerializer(createSerializer({ includeStyles: false }))\n```\n\n## Custom matchers\n\n### toHaveStyleRule\n\nTo make more explicit assertions when testing your styled components you can use the `toHaveStyleRule` matcher.\n\n```jsx\nimport React from 'react'\nimport renderer from 'react-test-renderer'\nimport { matchers } from '@emotion/jest'\nimport styled from '@emotion/styled'\n\n// Add the custom matchers provided by '@emotion/jest'\nexpect.extend(matchers)\n\ntest('renders with correct styles', () => {\n  const Svg = styled('svg')`\n    width: 100%;\n  `\n\n  const Div = styled('div')`\n    float: left;\n    height: 80%;\n    &:hover {\n      width: 50px;\n    }\n    ${Svg} {\n      fill: green;\n    }\n    span {\n      color: yellow;\n    }\n    @media screen and (max-width: 1200px) {\n      font-size: 14px;\n    }\n  `\n\n  const tree = renderer\n    .create(\n      <Div>\n        <Svg />\n        <span>Test</span>\n      </Div>\n    )\n    .toJSON()\n\n  expect(tree).toHaveStyleRule('float', 'left')\n  expect(tree).not.toHaveStyleRule('height', '100%')\n})\n```\n\nYou can provide additional options for `toHaveStyleRule` matcher.\n`target` - helps to specify css selector or other component\nwhere style rule should be found.\n\n```js\nexpect(tree).toHaveStyleRule('width', '50px', { target: ':hover' })\n```\n\n```js\nexpect(tree).toHaveStyleRule('color', 'yellow', { target: 'span' })\n```\n\n```js\nexpect(tree).toHaveStyleRule('fill', 'green', { target: `${Svg}` })\n```\n\n`media` - specifies the media rule where the matcher\nshould look for the style property.\n\n```js\nexpect(tree).toHaveStyleRule('font-size', '14px', {\n  media: 'screen and (max-width: 1200px)'\n})\n```\n\nUse `media` and `target` options to assert on rules within media queries and to target nested components, pseudo-classes, and pseudo-elements.\n\n```jsx\nimport React from 'react'\nimport renderer from 'react-test-renderer'\nimport { matchers } from '@emotion/jest'\nimport styled from '@emotion/styled'\n\n// Add the custom matchers provided by '@emotion/jest'\nexpect.extend(matchers)\n\ntest('renders with correct link styles', () => {\n  const Container = styled.div`\n    font-size: 14px;\n\n    a {\n      color: yellow;\n    }\n\n    a:hover {\n      color: black;\n    }\n\n    @media (min-width: 768px) {\n      font-size: 16px;\n    }\n  `\n\n  const tree = renderer.create(<Container>hello world</Container>).toJSON()\n\n  expect(tree).toHaveStyleRule('color', 'yellow', { target: /a$/ })\n  expect(tree).toHaveStyleRule('color', 'black', { target: 'a:hover' })\n  expect(tree).toHaveStyleRule('font-size', '16px', {\n    media: '(min-width: 768px)'\n  })\n})\n```\n\n## Thanks\n\nThanks to [Kent C. Dodds](https://twitter.com/kentcdodds) who wrote [jest-glamor-react](https://github.com/kentcdodds/jest-glamor-react) which this library is largely based on. ❤️\n\n[emotion-testing]: https://emotion.sh/docs/testing\n"
  },
  {
    "path": "packages/jest/enzyme/package.json",
    "content": "{\n  \"main\": \"dist/emotion-jest-enzyme.cjs.js\",\n  \"module\": \"dist/emotion-jest-enzyme.esm.js\"\n}\n"
  },
  {
    "path": "packages/jest/enzyme-serializer/package.json",
    "content": "{\n  \"main\": \"dist/emotion-jest-enzyme-serializer.cjs.js\",\n  \"module\": \"dist/emotion-jest-enzyme-serializer.esm.js\",\n  \"types\": \"../types/enzyme-serializer\"\n}\n"
  },
  {
    "path": "packages/jest/package.json",
    "content": "{\n  \"name\": \"@emotion/jest\",\n  \"version\": \"11.14.2\",\n  \"description\": \"Jest utilities for emotion\",\n  \"main\": \"dist/emotion-jest.cjs.js\",\n  \"module\": \"dist/emotion-jest.esm.js\",\n  \"exports\": {\n    \".\": {\n      \"types\": {\n        \"import\": \"./dist/emotion-jest.cjs.mjs\",\n        \"default\": \"./dist/emotion-jest.cjs.js\"\n      },\n      \"module\": \"./dist/emotion-jest.esm.js\",\n      \"import\": \"./dist/emotion-jest.cjs.mjs\",\n      \"default\": \"./dist/emotion-jest.cjs.js\"\n    },\n    \"./enzyme\": {\n      \"types\": {\n        \"import\": \"./enzyme/dist/emotion-jest-enzyme.cjs.mjs\",\n        \"default\": \"./enzyme/dist/emotion-jest-enzyme.cjs.js\"\n      },\n      \"module\": \"./enzyme/dist/emotion-jest-enzyme.esm.js\",\n      \"import\": \"./enzyme/dist/emotion-jest-enzyme.cjs.mjs\",\n      \"default\": \"./enzyme/dist/emotion-jest-enzyme.cjs.js\"\n    },\n    \"./serializer\": {\n      \"types\": {\n        \"import\": \"./serializer/dist/emotion-jest-serializer.cjs.mjs\",\n        \"default\": \"./serializer/dist/emotion-jest-serializer.cjs.js\"\n      },\n      \"module\": \"./serializer/dist/emotion-jest-serializer.esm.js\",\n      \"import\": \"./serializer/dist/emotion-jest-serializer.cjs.mjs\",\n      \"default\": \"./serializer/dist/emotion-jest-serializer.cjs.js\"\n    },\n    \"./enzyme-serializer\": {\n      \"types\": {\n        \"import\": \"./enzyme-serializer/dist/emotion-jest-enzyme-serializer.cjs.mjs\",\n        \"default\": \"./enzyme-serializer/dist/emotion-jest-enzyme-serializer.cjs.js\"\n      },\n      \"module\": \"./enzyme-serializer/dist/emotion-jest-enzyme-serializer.esm.js\",\n      \"import\": \"./enzyme-serializer/dist/emotion-jest-enzyme-serializer.cjs.mjs\",\n      \"default\": \"./enzyme-serializer/dist/emotion-jest-enzyme-serializer.cjs.js\"\n    },\n    \"./package.json\": \"./package.json\"\n  },\n  \"types\": \"types/index.d.ts\",\n  \"files\": [\n    \"src\",\n    \"dist\",\n    \"types/*.d.ts\",\n    \"serializer\",\n    \"enzyme\",\n    \"enzyme-serializer\"\n  ],\n  \"scripts\": {\n    \"test:typescript\": \"dtslint types\"\n  },\n  \"dependencies\": {\n    \"@babel/runtime\": \"^7.18.3\",\n    \"@emotion/css-prettifier\": \"^1.2.0\",\n    \"chalk\": \"^4.1.0\",\n    \"specificity\": \"^0.4.1\",\n    \"stylis\": \"4.2.0\"\n  },\n  \"peerDependencies\": {\n    \"@types/jest\": \"^26.0.14 || ^27.0.0 || ^28.0.0 || ^29.0.0 || ^30.0.0\",\n    \"enzyme-to-json\": \"^3.2.1\"\n  },\n  \"peerDependenciesMeta\": {\n    \"@types/jest\": {\n      \"optional\": true\n    },\n    \"enzyme-to-json\": {\n      \"optional\": true\n    }\n  },\n  \"devDependencies\": {\n    \"@definitelytyped/dtslint\": \"0.0.112\",\n    \"@emotion/css\": \"11.13.5\",\n    \"@emotion/react\": \"11.14.0\",\n    \"@types/jest\": \"^29.5.12\",\n    \"enzyme-to-json\": \"^3.6.1\",\n    \"pretty-format\": \"^22.4.3\",\n    \"react\": \"16.14.0\",\n    \"react-dom\": \"16.14.0\",\n    \"typescript\": \"^5.4.5\"\n  },\n  \"author\": \"Kye Hohenberger\",\n  \"homepage\": \"https://emotion.sh\",\n  \"license\": \"MIT\",\n  \"repository\": \"https://github.com/emotion-js/emotion/tree/main/packages/jest\",\n  \"keywords\": [\n    \"styles\",\n    \"emotion\",\n    \"react\",\n    \"css\",\n    \"css-in-js\",\n    \"jest\",\n    \"snapshot\"\n  ],\n  \"bugs\": {\n    \"url\": \"https://github.com/emotion-js/emotion/issues\"\n  },\n  \"preconstruct\": {\n    \"entrypoints\": [\n      \"./index.js\",\n      \"./serializer.js\",\n      \"./enzyme.js\",\n      \"./enzyme-serializer.js\"\n    ]\n  }\n}\n"
  },
  {
    "path": "packages/jest/serializer/package.json",
    "content": "{\n  \"main\": \"dist/emotion-jest-serializer.cjs.js\",\n  \"module\": \"dist/emotion-jest-serializer.esm.js\",\n  \"types\": \"../types/serializer\"\n}\n"
  },
  {
    "path": "packages/jest/src/create-enzyme-serializer.js",
    "content": "/* import type { Options } from './create-serializer' */\nimport { createSerializer as createEmotionSerializer } from './create-serializer'\nimport * as enzymeTickler from './enzyme-tickler'\nimport { createSerializer as createEnzymeToJsonSerializer } from 'enzyme-to-json'\nimport {\n  isEmotionCssPropElementType,\n  isStyledElementType,\n  unwrapFromPotentialFragment\n} from './utils'\n\nconst enzymeToJsonSerializer = createEnzymeToJsonSerializer({\n  map: json => {\n    if (typeof json.node.type === 'string') {\n      return json\n    }\n    const isRealStyled = json.node.type.__emotion_real === json.node.type\n    if (isRealStyled) {\n      return {\n        ...json,\n        children: json.children.slice(-1)\n      }\n    }\n    return json\n  }\n})\n\n// this is a hack, leveraging the internal/implementation knowledge about the enzyme's ShallowWrapper\n// there is no sane way to get this information otherwise though\nconst getUnrenderedElement = shallowWrapper => {\n  const symbols = Object.getOwnPropertySymbols(shallowWrapper)\n  const elementValues = symbols.filter(sym => {\n    const val = shallowWrapper[sym]\n    return !!val && val.$$typeof === Symbol.for('react.element')\n  })\n  if (elementValues.length !== 1) {\n    throw new Error(\n      \"Could not get unrendered element reliably from the Enzyme's ShallowWrapper. This is a bug in Emotion - please open an issue with repro steps included:\\n\" +\n        'https://github.com/emotion-js/emotion/issues/new?assignees=&labels=bug%2C+needs+triage&template=--bug-report.md&title='\n    )\n  }\n  return shallowWrapper[elementValues[0]]\n}\n\nconst wrappedEnzymeSerializer = {\n  test: enzymeToJsonSerializer.test,\n  print: (enzymeWrapper, printer) => {\n    const isShallow = !!enzymeWrapper.dive\n\n    if (isShallow && enzymeWrapper.root() === enzymeWrapper) {\n      const unrendered = getUnrenderedElement(enzymeWrapper)\n      if (\n        isEmotionCssPropElementType(unrendered) ||\n        isStyledElementType(unrendered)\n      ) {\n        return enzymeToJsonSerializer.print(\n          unwrapFromPotentialFragment(enzymeWrapper),\n          printer\n        )\n      }\n    }\n\n    return enzymeToJsonSerializer.print(enzymeWrapper, printer)\n  }\n}\n\nexport function createEnzymeSerializer({\n  classNameReplacer,\n  DOMElements = true,\n  includeStyles = true\n} /* : Options */ = {}) {\n  const emotionSerializer = createEmotionSerializer({\n    classNameReplacer,\n    DOMElements,\n    includeStyles\n  })\n  return {\n    test(node) {\n      return wrappedEnzymeSerializer.test(node) || emotionSerializer.test(node)\n    },\n    serialize(\n      node,\n      config,\n      indentation /*: string */,\n      depth /*: number */,\n      refs,\n      printer /*: Function */\n    ) {\n      if (wrappedEnzymeSerializer.test(node)) {\n        const tickled = enzymeTickler.tickle(node)\n        return wrappedEnzymeSerializer.print(\n          tickled,\n          // https://github.com/facebook/jest/blob/470ef2d29c576d6a10de344ec25d5a855f02d519/packages/pretty-format/src/index.ts#L281\n          valChild => printer(valChild, config, indentation, depth, refs)\n        )\n      }\n      // we know here it had to match against emotionSerializer\n      return emotionSerializer.serialize(\n        node,\n        config,\n        indentation,\n        depth,\n        refs,\n        printer\n      )\n    }\n  }\n}\n"
  },
  {
    "path": "packages/jest/src/create-serializer.js",
    "content": "import prettify from '@emotion/css-prettifier'\nimport { replaceClassNames } from './replace-class-names'\nimport * as enzymeTickler from './enzyme-tickler'\nimport {\n  getClassNamesFromNodes,\n  isReactElement,\n  isEmotionCssPropElementType,\n  isEmotionCssPropEnzymeElement,\n  isDOMElement,\n  getStylesFromClassNames,\n  getStyleElements,\n  getKeys,\n  flatMap,\n  isPrimitive,\n  hasIntersection\n} from './utils'\n\nfunction getNodes(node, nodes = []) {\n  if (Array.isArray(node)) {\n    for (let child of node) {\n      getNodes(child, nodes)\n    }\n    return nodes\n  }\n\n  if (typeof node === 'object') {\n    nodes.push(node)\n  }\n\n  if (node.children) {\n    for (let child of node.children) {\n      getNodes(child, nodes)\n    }\n  }\n\n  return nodes\n}\n\nfunction copyProps(target, source) {\n  return Object.defineProperties(\n    target,\n    Object.getOwnPropertyDescriptors(source)\n  )\n}\n\nfunction deepTransform(node, transform) {\n  if (Array.isArray(node)) {\n    return node.map(child => deepTransform(child, transform))\n  }\n\n  const transformed = transform(node)\n\n  if (transformed !== node && transformed.children) {\n    return copyProps(transformed, {\n      // flatMap to allow a child of <A><B /><C /></A> to be transformed to <B /><C />\n      children: flatMap(\n        deepTransform(transformed.children, transform),\n        id => id\n      )\n    })\n  }\n\n  return transformed\n}\n\nfunction getPrettyStylesFromClassNames(\n  classNames /*: Array<string> */,\n  elements /*: Array<HTMLStyleElement> */,\n  indentation /*: string */\n) {\n  return prettify(getStylesFromClassNames(classNames, elements), indentation)\n}\n\n/*\nexport type Options = {\n  classNameReplacer?: (className: string, index: number) => string,\n  DOMElements?: boolean,\n  includeStyles?: boolean\n}\n*/\n\nfunction filterEmotionProps(props = {}) {\n  const {\n    css,\n    __EMOTION_TYPE_PLEASE_DO_NOT_USE__,\n    __EMOTION_LABEL_PLEASE_DO_NOT_USE__,\n    ...rest\n  } = props\n\n  rest.css = 'unknown styles'\n\n  return rest\n}\n\nfunction getLabelsFromClassName(keys, className) {\n  return flatMap(className.split(' '), cls => {\n    const [key, hash, ...labels] = cls.split('-')\n    if (!keys.includes(key)) {\n      return null\n    }\n    return labels\n  }).filter(Boolean)\n}\n\nfunction isShallowEnzymeElement(\n  element /*: any */,\n  keys /*: string[] */,\n  labels /*: string[] */\n) {\n  const childClassNames = (element.children || [])\n    .map(({ props = {} }) => props.className || '')\n    .filter(Boolean)\n\n  return !childClassNames.some(className => {\n    const childLabels = getLabelsFromClassName(keys, className)\n    return childLabels.every(childLabel => labels.includes(childLabel))\n  })\n}\n\nconst createConvertEmotionElements =\n  (keys /*: string[]*/) => (node /*: any*/) => {\n    if (isPrimitive(node)) {\n      return node\n    }\n    if (isEmotionCssPropEnzymeElement(node)) {\n      const className = enzymeTickler.getTickledClassName(node.props.css)\n      const labels = getLabelsFromClassName(keys, className || '')\n\n      if (isShallowEnzymeElement(node, keys, labels)) {\n        const emotionType = node.props.__EMOTION_TYPE_PLEASE_DO_NOT_USE__\n        // emotionType will be a string for DOM elements\n        const type =\n          typeof emotionType === 'string'\n            ? emotionType\n            : emotionType.displayName || emotionType.name || 'Component'\n        return {\n          ...node,\n          props: filterEmotionProps({\n            ...node.props,\n            className\n          }),\n          type\n        }\n      } else {\n        return node.children[node.children.length - 1]\n      }\n    }\n    if (isEmotionCssPropElementType(node)) {\n      return {\n        ...node,\n        props: filterEmotionProps(node.props),\n        type: node.props.__EMOTION_TYPE_PLEASE_DO_NOT_USE__\n      }\n    }\n    if (isReactElement(node)) {\n      return copyProps({}, node)\n    }\n    return node\n  }\n\nfunction clean(node, classNames /*: string[] */) {\n  if (Array.isArray(node)) {\n    for (const child of node) {\n      clean(child, classNames)\n    }\n    return\n  }\n  if (node.children) {\n    for (const child of node.children) {\n      clean(child, classNames)\n    }\n  }\n  if (node.props) {\n    const { className } = node.props\n    if (!className) {\n      // if it's empty, remove it\n      delete node.props.className\n    } else {\n      const hasKnownClass = hasIntersection(className.split(' '), classNames)\n      if (hasKnownClass) {\n        delete node.props.css\n      }\n    }\n  }\n}\n\nexport function createSerializer({\n  classNameReplacer,\n  DOMElements = true,\n  includeStyles = true\n} /* : Options */ = {}) {\n  const cache = new WeakSet()\n  const isTransformed = val => cache.has(val)\n\n  function serialize(\n    val,\n    config,\n    indentation /*: string */,\n    depth /*: number */,\n    refs,\n    printer /*: Function */\n  ) {\n    const elements = getStyleElements()\n    const keys = getKeys(elements)\n    const convertEmotionElements = createConvertEmotionElements(keys)\n    const converted = deepTransform(val, convertEmotionElements)\n    const nodes = getNodes(converted)\n    const classNames = getClassNamesFromNodes(nodes)\n    const styles = includeStyles\n      ? getPrettyStylesFromClassNames(classNames, elements, config.indent)\n      : ''\n    clean(converted, classNames)\n\n    nodes.forEach(cache.add, cache)\n    const printedVal = printer(converted, config, indentation, depth, refs)\n    nodes.forEach(cache.delete, cache)\n\n    return replaceClassNames(\n      classNames,\n      styles,\n      printedVal,\n      keys,\n      classNameReplacer\n    )\n  }\n\n  return {\n    test(val) {\n      return (\n        val &&\n        !isTransformed(val) &&\n        (isReactElement(val) || (DOMElements && isDOMElement(val)))\n      )\n    },\n    serialize\n  }\n}\n"
  },
  {
    "path": "packages/jest/src/enzyme-serializer.d.ts",
    "content": "export * from '../types/enzyme-serializer'\n"
  },
  {
    "path": "packages/jest/src/enzyme-serializer.js",
    "content": "import { createEnzymeSerializer } from './create-enzyme-serializer'\nexport const { test, serialize } = createEnzymeSerializer()\n"
  },
  {
    "path": "packages/jest/src/enzyme-tickler.js",
    "content": "import { unwrapFromPotentialFragment } from './utils'\n\nconst tickledCssProps = new WeakMap()\n\nexport const getTickledClassName = cssProp => tickledCssProps.get(cssProp)\n\nexport const tickle = wrapper => {\n  const isShallow = typeof wrapper.dive === 'function'\n\n  wrapper.find('EmotionCssPropInternal').forEach(el => {\n    const cssProp = el.props().css\n\n    if (!cssProp) {\n      return\n    }\n\n    const rendered = (isShallow ? el.dive() : el.children()).last()\n    tickledCssProps.set(\n      cssProp,\n      unwrapFromPotentialFragment(rendered).props().className\n    )\n  })\n  return wrapper\n}\n"
  },
  {
    "path": "packages/jest/src/enzyme.d.ts",
    "content": "export * from '../types/enzyme'\n"
  },
  {
    "path": "packages/jest/src/enzyme.js",
    "content": "export { createEnzymeSerializer } from './create-enzyme-serializer'\nexport { matchers } from './matchers'\n"
  },
  {
    "path": "packages/jest/src/index.d.ts",
    "content": "export * from '../types'\n"
  },
  {
    "path": "packages/jest/src/index.js",
    "content": "export { createSerializer } from './create-serializer'\nexport { matchers } from './matchers'\n"
  },
  {
    "path": "packages/jest/src/matchers.js",
    "content": "import chalk from 'chalk'\nimport * as stylis from 'stylis'\nimport * as specificity from 'specificity'\nimport {\n  getClassNamesFromNodes,\n  getStylesFromClassNames,\n  getStyleElements,\n  hasClassNames,\n  getMediaRules,\n  findLast\n} from './utils'\n\n/*\n * Taken from\n * https://github.com/facebook/jest/blob/be4bec387d90ac8d6a7596be88bf8e4994bc3ed9/packages/expect/src/jasmine_utils.js#L234\n */\nfunction isA(typeName, value) {\n  return Object.prototype.toString.apply(value) === `[object ${typeName}]`\n}\n\n/*\n * Taken from\n * https://github.com/facebook/jest/blob/be4bec387d90ac8d6a7596be88bf8e4994bc3ed9/packages/expect/src/jasmine_utils.js#L36\n */\nfunction isAsymmetric(obj) {\n  return obj && isA('Function', obj.asymmetricMatch)\n}\n\nfunction valueMatches(declaration, value) {\n  if (value instanceof RegExp) {\n    return value.test(declaration.children)\n  }\n\n  if (isAsymmetric(value)) {\n    return value.asymmetricMatch(declaration.children)\n  }\n\n  return value === declaration.children\n}\n\nfunction toHaveStyleRule(\n  received,\n  property,\n  value,\n  options /* ?: { target?: string | RegExp, media?: string } */ = {}\n) {\n  if (Array.isArray(received)) {\n    throw new Error(\n      '`toHaveStyleRule` expects to receive a single element but it received an array.'\n    )\n  }\n  const { target, media } = options\n  const classNames = getClassNamesFromNodes([received])\n  const cssString = getStylesFromClassNames(classNames, getStyleElements())\n  let preparedRules = stylis.compile(cssString)\n  if (media) {\n    preparedRules = getMediaRules(preparedRules, media)\n  }\n  const result = preparedRules\n    .filter(\n      rule =>\n        rule.type === 'rule' && hasClassNames(classNames, rule.props, target)\n    )\n    .reduce((acc, rule) => {\n      const lastMatchingDeclaration = findLast(\n        rule.children,\n        dec => dec.type === 'decl' && dec.props === property\n      )\n      if (!lastMatchingDeclaration) {\n        return acc\n      }\n      return acc.concat(\n        rule.props.map(selector => ({\n          selector,\n          declaration: lastMatchingDeclaration\n        }))\n      )\n    }, [])\n    .sort(({ selector: selectorA }, { selector: selectorB }) =>\n      specificity.compare(selectorA, selectorB)\n    )\n    .pop()\n\n  if (!result) {\n    return {\n      pass: false,\n      message: () => `Property not found: ${property}`\n    }\n  }\n\n  const { declaration } = result\n  const pass = valueMatches(declaration, value)\n\n  const message = () =>\n    `Expected ${property}${pass ? ' not ' : ' '}to match:\\n` +\n    `  ${chalk.green(value)}\\n` +\n    'Received:\\n' +\n    `  ${chalk.red(declaration.children)}`\n\n  return {\n    pass,\n    message\n  }\n}\n\nexport let matchers = { toHaveStyleRule }\n"
  },
  {
    "path": "packages/jest/src/replace-class-names.js",
    "content": "function defaultClassNameReplacer(className, index) {\n  return `emotion-${index}`\n}\n\nconst componentSelectorClassNamePattern = /^e[a-zA-Z0-9]+[0-9]+$/\n\nexport const replaceClassNames = (\n  classNames /*: Array<string> */,\n  styles /*: string */,\n  code /*: string */,\n  keys /*: Array<string> */,\n  classNameReplacer /*: (\n    className: string,\n    index: number\n  ) => string */ = defaultClassNameReplacer\n) => {\n  let index = 0\n  let keyPattern = new RegExp(`^(${keys.join('|')})-`)\n\n  return classNames.reduce(\n    (acc, className) => {\n      if (\n        keyPattern.test(className) ||\n        componentSelectorClassNamePattern.test(className)\n      ) {\n        const escapedRegex = new RegExp(\n          className.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&'),\n          'g'\n        )\n        return acc.replace(escapedRegex, classNameReplacer(className, index++))\n      }\n      return acc\n    },\n    `${styles}${styles ? '\\n\\n' : ''}${code}`\n  )\n}\n"
  },
  {
    "path": "packages/jest/src/serializer.d.ts",
    "content": "export * from '../types/serializer'\n"
  },
  {
    "path": "packages/jest/src/serializer.js",
    "content": "import { createSerializer } from './create-serializer'\nexport const { test, serialize } = createSerializer()\n"
  },
  {
    "path": "packages/jest/src/utils.js",
    "content": "const insertedRules = new WeakMap()\n\nif (typeof CSSStyleSheet !== 'undefined') {\n  const insertRule = CSSStyleSheet.prototype.insertRule\n  CSSStyleSheet.prototype.insertRule = function (...args) {\n    let sheetRules = insertedRules.get(this)\n\n    if (!sheetRules) {\n      sheetRules = []\n      insertedRules.set(this, sheetRules)\n    }\n\n    const rule = args[0]\n    sheetRules.push(rule)\n\n    return insertRule.apply(this, args)\n  }\n}\n\nconst isBrowser = typeof document !== 'undefined'\n\nfunction last(arr) {\n  return arr.length > 0 ? arr[arr.length - 1] : undefined\n}\n\nexport function flatMap /* <T, S> */(\n  arr /*: T[] */,\n  iteratee /*: (arg: T) => S[] | S */\n) /*: S[] */ {\n  return [].concat(...arr.map(iteratee))\n}\n\nexport function findLast /* <T> */(\n  arr /*: T[] */,\n  predicate /*: T => boolean */\n) {\n  for (let i = arr.length - 1; i >= 0; i--) {\n    if (predicate(arr[i])) {\n      return arr[i]\n    }\n  }\n}\n\nexport function findIndexFrom /* <T> */(\n  arr /*: T[] */,\n  fromIndex /*: number */,\n  predicate /*: T => boolean */\n) {\n  for (let i = fromIndex; i < arr.length; i++) {\n    if (predicate(arr[i])) {\n      return i\n    }\n  }\n\n  return -1\n}\n\nfunction getClassNames(selectors, classes /* ?: string */) {\n  return classes ? selectors.concat(classes.split(' ')) : selectors\n}\n\nfunction getClassNamesFromTestRenderer(selectors, { props = {} }) {\n  return getClassNames(selectors, props.className || props.class)\n}\n\nfunction shouldDive(node) {\n  return typeof node.dive === 'function' && typeof node.type() !== 'string'\n}\n\nfunction isTagWithClassName(node) {\n  return node.prop('className') && typeof node.type() === 'string'\n}\n\nfunction findNodeWithClassName(node) {\n  // Find the first node with a className prop\n  const found = node.findWhere(isTagWithClassName)\n  return found.length ? found.first() : null\n}\n\nfunction getClassNameProp(node) {\n  return (node && node.prop('className')) || ''\n}\n\nexport function unwrapFromPotentialFragment(node) {\n  if (node.type() === Symbol.for('react.fragment')) {\n    const isShallow = !!node.dive\n    if (isShallow) {\n      // render the `<Insertion/>` so it has a chance to insert rules in the JSDOM\n      node.children().first().dive()\n    }\n\n    return node.children().last()\n  }\n  return node\n}\n\nfunction getClassNamesFromEnzyme(selectors, nodeWithPotentialFragment) {\n  const node = unwrapFromPotentialFragment(nodeWithPotentialFragment)\n  // We need to dive in to get the className if we have a styled element from a shallow render\n  const isShallow = shouldDive(node)\n  const nodeWithClassName = findNodeWithClassName(\n    isShallow ? node.dive() : node\n  )\n  return getClassNames(selectors, getClassNameProp(nodeWithClassName))\n}\n\nfunction getClassNamesFromCheerio(selectors, node) {\n  const classes = node.attr('class')\n  return getClassNames(selectors, classes)\n}\n\nfunction getClassNamesFromDOMElement(selectors, node) {\n  return getClassNames(selectors, node.getAttribute('class'))\n}\n\nexport function isReactElement(val) /*: boolean */ {\n  return (\n    val.$$typeof === Symbol.for('react.test.json') ||\n    val.$$typeof === Symbol.for('react.element')\n  )\n}\n\nexport function isEmotionCssPropElementType(val) /*: boolean */ {\n  return (\n    val.$$typeof === Symbol.for('react.element') &&\n    val.type.displayName === 'EmotionCssPropInternal'\n  )\n}\n\nexport function isStyledElementType(val /* : any */) /* : boolean */ {\n  if (val.$$typeof !== Symbol.for('react.element')) {\n    return false\n  }\n  const { type } = val\n  return type.__emotion_real === type\n}\n\nexport function isEmotionCssPropEnzymeElement(val /* : any */) /*: boolean */ {\n  return (\n    val.$$typeof === Symbol.for('react.test.json') &&\n    val.type === 'EmotionCssPropInternal'\n  )\n}\nconst domElementPattern = /^((HTML|SVG)\\w*)?Element$/\n\nexport function isDOMElement(val) /*: boolean */ {\n  return (\n    val.nodeType === 1 &&\n    val.constructor &&\n    val.constructor.name &&\n    domElementPattern.test(val.constructor.name)\n  )\n}\n\nfunction isEnzymeElement(val) /*: boolean */ {\n  return typeof val.findWhere === 'function'\n}\n\nfunction isCheerioElement(val) /*: boolean */ {\n  return val.cheerio === '[cheerio object]'\n}\n\nexport function getClassNamesFromNodes(nodes /*: Array<any> */) {\n  return nodes.reduce((selectors, node) => {\n    if (isEnzymeElement(node)) {\n      return getClassNamesFromEnzyme(selectors, node)\n    } else if (isCheerioElement(node)) {\n      return getClassNamesFromCheerio(selectors, node)\n    } else if (isReactElement(node)) {\n      return getClassNamesFromTestRenderer(selectors, node)\n    }\n    return getClassNamesFromDOMElement(selectors, node)\n  }, [])\n}\n\nconst keyframesPattern = /^@keyframes\\s+(animation-[^{\\s]+)+/\n\nconst removeCommentPattern = /\\/\\*[\\s\\S]*?\\*\\//g\n\nconst getElementRules = (element /*: HTMLStyleElement */) /*: string[] */ => {\n  const nonSpeedyRule = element.textContent\n  if (nonSpeedyRule) {\n    return [nonSpeedyRule]\n  }\n  if (!element.sheet) {\n    return []\n  }\n  const rules = insertedRules.get(element.sheet)\n  if (rules) {\n    return rules\n  }\n  return [].slice.call(element.sheet.cssRules).map(cssRule => cssRule.cssText)\n}\n\nconst getKeyframesMap = rules =>\n  rules.reduce((keyframes, rule) => {\n    const match = rule.match(keyframesPattern)\n    if (match !== null) {\n      const name = match[1]\n      if (keyframes[name] === undefined) {\n        keyframes[name] = ''\n      }\n      keyframes[name] += rule\n    }\n    return keyframes\n  }, {})\n\nexport function getStylesFromClassNames(\n  classNames /*: Array<string> */,\n  elements /*: Array<HTMLStyleElement> */\n) /*: string */ {\n  if (!classNames.length) {\n    return ''\n  }\n  const keys = getKeys(elements)\n  if (!keys.length) {\n    return ''\n  }\n\n  const targetClassName = classNames.find(className =>\n    /^e[a-z0-9]+$/.test(className)\n  )\n  const keyPattern = `(${keys.join('|')})-`\n  const classNamesRegExp = new RegExp(\n    targetClassName ? `^(${keyPattern}|${targetClassName})` : `^${keyPattern}`\n  )\n  const filteredClassNames = classNames.filter(className =>\n    classNamesRegExp.test(className)\n  )\n\n  if (!filteredClassNames.length) {\n    return ''\n  }\n  const selectorPattern = new RegExp(\n    '\\\\.(?:' + filteredClassNames.map(cls => `(${cls})`).join('|') + ')'\n  )\n\n  const rules = flatMap(elements, getElementRules)\n\n  let styles = rules\n    .map((rule /*: string */) => {\n      const match = rule.match(selectorPattern)\n      if (!match) {\n        return null\n      }\n      // `selectorPattern` represents all emotion-generated class names\n      // each possible class name is wrapped in a capturing group\n      // and those groups appear in the same order as they appear in the DOM within class attributes\n      // because we've gathered them from the DOM in such order\n      // given that information we can sort matched rules based on the capturing group that has been matched\n      // to end up with styles in a stable order\n      const matchedCapturingGroupIndex = findIndexFrom(match, 1, Boolean)\n      return [rule, matchedCapturingGroupIndex]\n    })\n    .filter(Boolean)\n    .sort(\n      ([ruleA, classNameIndexA], [ruleB, classNameIndexB]) =>\n        classNameIndexA - classNameIndexB\n    )\n    .map(([rule]) => rule)\n    .join('')\n\n  const keyframesMap = getKeyframesMap(rules)\n  const keyframeNameKeys = Object.keys(keyframesMap)\n  let keyframesStyles = ''\n\n  if (keyframeNameKeys.length) {\n    const keyframesNamePattern = new RegExp(keyframeNameKeys.join('|'), 'g')\n    const keyframesNameCache = {}\n    let index = 0\n\n    styles = styles.replace(keyframesNamePattern, name => {\n      if (keyframesNameCache[name] === undefined) {\n        keyframesNameCache[name] = `animation-${index++}`\n        keyframesStyles += keyframesMap[name]\n      }\n      return keyframesNameCache[name]\n    })\n\n    keyframesStyles = keyframesStyles.replace(keyframesNamePattern, value => {\n      return keyframesNameCache[value]\n    })\n  }\n\n  return (keyframesStyles + styles).replace(removeCommentPattern, '')\n}\n\nexport function getStyleElements() /*: Array<HTMLStyleElement> */ {\n  if (!isBrowser) {\n    throw new Error(\n      'jest-emotion requires jsdom. See https://jestjs.io/docs/en/configuration#testenvironment-string for more information.'\n    )\n  }\n  const elements = Array.from(document.querySelectorAll('style[data-emotion]'))\n  return elements\n}\n\nconst unique = arr => Array.from(new Set(arr))\n\nexport function getKeys(elements /*: Array<HTMLStyleElement> */) {\n  const keys = unique(\n    elements.map(element => element.getAttribute('data-emotion'))\n  ).filter(Boolean)\n  return keys\n}\n\nexport function hasClassNames(\n  classNames /*: Array<string> */,\n  selectors /*: Array<string> */,\n  target /* ?: string | RegExp */\n) /*: boolean */ {\n  // selectors is the classNames of specific css rule\n  return selectors.some(selector => {\n    // if no target, use className of the specific css rule and try to find it\n    // in the list of received node classNames to make sure this css rule\n    // applied for root element\n    if (!target) {\n      const lastCls = last(selector.split(' '))\n      if (!lastCls) {\n        return false\n      }\n      return classNames.includes(lastCls.slice(1))\n    }\n    // check if selector (className) of specific css rule match target\n    return target instanceof RegExp\n      ? target.test(selector)\n      : selector.includes(target)\n  })\n}\n\nexport function getMediaRules(\n  rules /*: Array<Object> */,\n  media /*: string */\n) /*: Array<any> */ {\n  return flatMap(\n    rules.filter(rule => {\n      if (rule.type !== '@media') {\n        return false\n      }\n      return rule.value.replace(/\\s/g, '').includes(media.replace(/\\s/g, ''))\n    }),\n    media => media.children\n  )\n}\n\nexport function isPrimitive(test) {\n  return test !== Object(test)\n}\n\nexport function hasIntersection(left /* any[] */, right /* any[] */) {\n  return left.some(value => right.includes(value))\n}\n"
  },
  {
    "path": "packages/jest/test/__snapshots__/matchers.test.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`toHaveStyleRule returns a message explaining the failure 1`] = `\n\"Expected color to match:\n  \u001b[32mblue\u001b[39m\nReceived:\n  \u001b[31mred\u001b[39m\"\n`;\n\nexports[`toHaveStyleRule returns a message explaining the failure 2`] = `\n\"Expected color not to match:\n  \u001b[32mred\u001b[39m\nReceived:\n  \u001b[31mred\u001b[39m\"\n`;\n"
  },
  {
    "path": "packages/jest/test/__snapshots__/printer.test.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`allows to opt-out from styles printing 1`] = `\n\"<div\n  class=\"emotion-0\"\n>\n  <svg\n    class=\"emotion-1\"\n  />\n</div>\"\n`;\n\nexports[`does not replace class names that are not from emotion 1`] = `\n\".emotion-0 {\n  color: darkorchid;\n}\n\n<div\n  className=\"net-42 net emotion-0\"\n/>\"\n`;\n\nexports[`jest-emotion with DOM elements disabled does not replace class names or insert styles into DOM element snapshots 1`] = `\n\"<div\n  class=\"css-q1yspt-divStyle\"\n>\n  <svg\n    class=\"css-18ku24t-svgStyle\"\n  />\n</div>\"\n`;\n\nexports[`jest-emotion with DOM elements disabled replaces class names and inserts styles into React test component snapshots 1`] = `\n\".emotion-0 {\n  color: red;\n}\n\n.emotion-1 {\n  width: 100%;\n}\n\n<div\n  className=\"emotion-0\"\n>\n  <svg\n    className=\"emotion-1\"\n  />\n</div>\"\n`;\n\nexports[`jest-emotion with dom elements replaces class names and inserts styles into DOM element snapshots 1`] = `\n\".emotion-0 {\n  color: red;\n}\n\n.emotion-1 {\n  width: 100%;\n}\n\n<div\n  class=\"emotion-0\"\n>\n  <svg\n    class=\"emotion-1\"\n  />\n</div>\"\n`;\n\nexports[`jest-emotion with dom elements replaces class names and inserts styles into React test component snapshots 1`] = `\n\".emotion-0 {\n  color: red;\n}\n\n.emotion-1 {\n  width: 100%;\n}\n\n<div\n  className=\"emotion-0\"\n>\n  <svg\n    className=\"emotion-1\"\n  />\n</div>\"\n`;\n\nexports[`prints speedy styles 1`] = `\n\".emotion-0 {\n  color: hotpink;\n}\n\n<div\n  className=\"emotion-0\"\n/>\"\n`;\n"
  },
  {
    "path": "packages/jest/test/__snapshots__/react-enzyme.test.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`enzyme mount basic 1`] = `\n.emotion-0 {\n  background-color: red;\n}\n\n<Greeting>\n  <div\n    className=\"emotion-0\"\n  >\n    hello\n  </div>\n</Greeting>\n`;\n\nexports[`enzyme mount conditional styles 1`] = `\n.emotion-0 {\n  background-color: black;\n}\n\n<div\n  className=\"emotion-0\"\n>\n  <span\n    className=\"emotion-1\"\n  >\n    Test content\n  </span>\n</div>\n`;\n\nexports[`enzyme mount displayName 1`] = `\n.emotion-0 {\n  color: hotpink;\n}\n\n<CustomDisplayName\n  className=\"emotion-0\"\n>\n  <div\n    className=\"emotion-0\"\n  >\n    Hello\n  </div>\n</CustomDisplayName>\n`;\n\nexports[`enzyme mount empty styled 1`] = `\n<Greeting>\n  <div\n    className=\"emotion-0 emotion-1\"\n  >\n    Hello\n  </div>\n</Greeting>\n`;\n\nexports[`enzyme mount fragment with multiple css prop elements 1`] = `\n.emotion-0 {\n  background-color: hotpink;\n}\n\n.emotion-1 {\n  background-color: green;\n}\n\n.emotion-2 {\n  background-color: blue;\n}\n\n<Component>\n  <div\n    className=\"emotion-0\"\n  />\n  <div\n    className=\"emotion-1\"\n  />\n  <div\n    className=\"emotion-2\"\n  />\n</Component>\n`;\n\nexports[`enzyme mount multiple selected components 1`] = `\n[\n  .emotion-0 {\n  background-color: hotpink;\n}\n\n<li\n    className=\"emotion-0\"\n    data-item={true}\n  >\n    hello\n  </li>,\n  .emotion-0 {\n  background-color: blue;\n}\n\n<li\n    className=\"emotion-0\"\n    data-item={true}\n  >\n    beautiful\n  </li>,\n  .emotion-0 {\n  background-color: green;\n}\n\n<li\n    className=\"emotion-0\"\n    data-item={true}\n  >\n    world\n  </li>,\n]\n`;\n\nexports[`enzyme mount nested 1`] = `\n.emotion-0 {\n  background-color: red;\n}\n\n<div>\n  <Greeting>\n    <div\n      className=\"emotion-0\"\n    >\n      hello\n    </div>\n  </Greeting>\n</div>\n`;\n\nexports[`enzyme mount nested displayName 1`] = `\n.emotion-0 {\n  color: hotpink;\n}\n\n<div>\n  <CustomDisplayName\n    className=\"emotion-0\"\n  >\n    <div\n      className=\"emotion-0\"\n    >\n      Hello\n    </div>\n  </CustomDisplayName>\n</div>\n`;\n\nexports[`enzyme mount nested styled 1`] = `\n.emotion-0 {\n  background-color: red;\n}\n\n<div>\n  <Greeting>\n    <div\n      className=\"emotion-0 emotion-1\"\n    >\n      Hello\n    </div>\n  </Greeting>\n</div>\n`;\n\nexports[`enzyme mount nested styled with css prop 1`] = `\n.emotion-0 {\n  background-color: black;\n}\n\n.emotion-1 {\n  color: red;\n  background-color: black;\n}\n\n<div>\n  <Button\n    className=\"emotion-0\"\n  >\n    <button\n      className=\"emotion-1 emotion-2\"\n    >\n      iChenLei\n    </button>\n  </Button>\n</div>\n`;\n\nexports[`enzyme mount parent and child using css property 1`] = `\n.emotion-0 {\n  background-color: black;\n}\n\n.emotion-1 {\n  color: white;\n}\n\n<div\n  className=\"emotion-0\"\n>\n  Test content\n  <div\n    className=\"emotion-1\"\n  />\n</div>\n`;\n\nexports[`enzyme mount styled 1`] = `\n.emotion-0 {\n  background-color: red;\n}\n\n<Greeting>\n  <div\n    className=\"emotion-0 emotion-1\"\n  >\n    Hello\n  </div>\n</Greeting>\n`;\n\nexports[`enzyme mount styled with css prop 1`] = `\n.emotion-0 {\n  background-color: black;\n}\n\n.emotion-1 {\n  color: red;\n  background-color: black;\n}\n\n<Button\n  className=\"emotion-0\"\n>\n  <button\n    className=\"emotion-1 emotion-2\"\n  >\n    iChenLei\n  </button>\n</Button>\n`;\n\nexports[`enzyme mount theming 1`] = `\n.emotion-0 {\n  color: red;\n  border: 2px solid red;\n}\n\n<div>\n  <Button\n    theme={\n      {\n        \"main\": \"red\",\n      }\n    }\n  >\n    <button\n      className=\"emotion-0 emotion-1\"\n    >\n      Normal\n    </button>\n  </Button>\n  <ThemeProvider\n    theme={\n      {\n        \"main\": \"blue\",\n      }\n    }\n  >\n    <Button\n      theme={\n        {\n          \"main\": \"red\",\n        }\n      }\n    >\n      <button\n        className=\"emotion-0 emotion-1\"\n      >\n        Themed\n      </button>\n    </Button>\n  </ThemeProvider>\n</div>\n`;\n\nexports[`enzyme mount unmatched selector 1`] = `null`;\n\nexports[`enzyme mount with array of styles as css prop 1`] = `\n.emotion-0 {\n  background-color: black;\n  color: white;\n}\n\n<div\n  className=\"emotion-0\"\n>\n  Test content\n</div>\n`;\n\nexports[`enzyme mount with array of styles in a composite inner child 1`] = `\n.emotion-0 {\n  background-color: black;\n  color: white;\n}\n\n<div>\n  <Inner\n    className=\"emotion-0\"\n  >\n    <span\n      className=\"emotion-0\"\n    >\n      Test content\n    </span>\n  </Inner>\n</div>\n`;\n\nexports[`enzyme mount with prop containing css element 1`] = `\n.emotion-0 {\n  background-color: blue;\n}\n\n<Greeting\n  content={\n    <p\n      css=\"unknown styles\"\n    >\n      Hello\n    </p>\n  }\n>\n  <div>\n    <p\n      className=\"emotion-0\"\n    >\n      Hello\n    </p>\n     \n    World!\n  </div>\n</Greeting>\n`;\n\nexports[`enzyme mount with prop containing css element not at the top level 1`] = `\n.emotion-0 {\n  background-color: blue;\n}\n\n<div>\n  <Greeting\n    content={\n      <p\n        css=\"unknown styles\"\n        id=\"something\"\n      >\n        Hello\n      </p>\n    }\n  >\n    <div>\n      <p\n        className=\"emotion-0\"\n        id=\"something\"\n      >\n        Hello\n      </p>\n       \n      World!\n    </div>\n  </Greeting>\n</div>\n`;\n\nexports[`enzyme mount with prop containing css element with other label 1`] = `\n.emotion-0 {\n  background-color: blue;\n}\n\n<Greeting\n  content={\n    <p\n      css=\"unknown styles\"\n      id=\"something\"\n    >\n      Hello\n    </p>\n  }\n>\n  <Thing\n    content={\n      <div\n        css=\"unknown styles\"\n      />\n    }\n  >\n    <p\n      className=\"emotion-0\"\n      id=\"something\"\n    >\n      Hello\n    </p>\n     \n    World!\n  </Thing>\n</Greeting>\n`;\n\nexports[`enzyme mount with prop containing css element with other props 1`] = `\n.emotion-0 {\n  background-color: blue;\n}\n\n<Greeting\n  content={\n    <p\n      css=\"unknown styles\"\n      id=\"something\"\n    >\n      Hello\n    </p>\n  }\n>\n  <div>\n    <p\n      className=\"emotion-0\"\n      id=\"something\"\n    >\n      Hello\n    </p>\n     \n    World!\n  </div>\n</Greeting>\n`;\n\nexports[`enzyme mount with prop containing regular element 1`] = `\n<Test\n  element={\n    <button>\n      Foo\n    </button>\n  }\n>\n  <button>\n    Foo\n  </button>\n</Test>\n`;\n\nexports[`enzyme mount with styles on top level 1`] = `\n.emotion-0 {\n  background-color: red;\n}\n\n<Greeting\n  className=\"emotion-0\"\n>\n  <div\n    className=\"emotion-0\"\n  >\n    Hello\n  </div>\n</Greeting>\n`;\n\nexports[`enzyme shallow basic 1`] = `\n.emotion-0 {\n  background-color: red;\n}\n\n<div\n  className=\"emotion-0\"\n>\n  hello\n</div>\n`;\n\nexports[`enzyme shallow conditional styles 1`] = `\n.emotion-0 {\n  background-color: black;\n}\n\n<div\n  className=\"emotion-0\"\n>\n  <span\n    css=\"unknown styles\"\n  >\n    Test content\n  </span>\n</div>\n`;\n\nexports[`enzyme shallow displayName 1`] = `\n.emotion-0 {\n  color: hotpink;\n}\n\n<CustomDisplayName\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`enzyme shallow empty styled 1`] = `\n<div\n  className=\"emotion-0 emotion-1\"\n>\n  Hello\n</div>\n`;\n\nexports[`enzyme shallow fragment with multiple css prop elements 1`] = `\n.emotion-0 {\n  background-color: hotpink;\n}\n\n.emotion-1 {\n  background-color: green;\n}\n\n.emotion-2 {\n  background-color: blue;\n}\n\n<Fragment>\n  <div\n    className=\"emotion-0\"\n  />\n  <div\n    className=\"emotion-1\"\n  />\n  <div\n    className=\"emotion-2\"\n  />\n</Fragment>\n`;\n\nexports[`enzyme shallow multiple selected components 1`] = `\n[\n  .emotion-0 {\n  background-color: hotpink;\n}\n\n<li\n    className=\"emotion-0\"\n    data-item={true}\n  >\n    hello\n  </li>,\n  .emotion-0 {\n  background-color: blue;\n}\n\n<li\n    className=\"emotion-0\"\n    data-item={true}\n  >\n    beautiful\n  </li>,\n  .emotion-0 {\n  background-color: green;\n}\n\n<li\n    className=\"emotion-0\"\n    data-item={true}\n  >\n    world\n  </li>,\n]\n`;\n\nexports[`enzyme shallow nested 1`] = `\n<div>\n  <Greeting>\n    hello\n  </Greeting>\n</div>\n`;\n\nexports[`enzyme shallow nested displayName 1`] = `\n.emotion-0 {\n  color: hotpink;\n}\n\n<div>\n  <CustomDisplayName\n    className=\"emotion-0\"\n  />\n</div>\n`;\n\nexports[`enzyme shallow nested styled 1`] = `\n<div>\n  <Greeting>\n    Hello\n  </Greeting>\n</div>\n`;\n\nexports[`enzyme shallow nested styled with css prop 1`] = `\n.emotion-0 {\n  background-color: black;\n}\n\n<div>\n  <Button\n    className=\"emotion-0\"\n  >\n    iChenLei\n  </Button>\n</div>\n`;\n\nexports[`enzyme shallow parent and child using css property 1`] = `\n.emotion-0 {\n  background-color: black;\n}\n\n.emotion-1 {\n  color: white;\n}\n\n<div\n  className=\"emotion-0\"\n>\n  Test content\n  <div\n    className=\"emotion-1\"\n  />\n</div>\n`;\n\nexports[`enzyme shallow styled 1`] = `\n.emotion-0 {\n  background-color: red;\n}\n\n<div\n  className=\"emotion-0 emotion-1\"\n>\n  Hello\n</div>\n`;\n\nexports[`enzyme shallow styled with css prop 1`] = `\n.emotion-0 {\n  background-color: black;\n}\n\n<Button\n  className=\"emotion-0\"\n>\n  iChenLei\n</Button>\n`;\n\nexports[`enzyme shallow theming 1`] = `\n<div>\n  <Button\n    theme={\n      {\n        \"main\": \"red\",\n      }\n    }\n  >\n    Normal\n  </Button>\n  <ThemeProvider\n    theme={\n      {\n        \"main\": \"blue\",\n      }\n    }\n  >\n    <Button\n      theme={\n        {\n          \"main\": \"red\",\n        }\n      }\n    >\n      Themed\n    </Button>\n  </ThemeProvider>\n</div>\n`;\n\nexports[`enzyme shallow unmatched selector 1`] = `null`;\n\nexports[`enzyme shallow with array of styles as css prop 1`] = `\n.emotion-0 {\n  background-color: black;\n  color: white;\n}\n\n<div\n  className=\"emotion-0\"\n>\n  Test content\n</div>\n`;\n\nexports[`enzyme shallow with array of styles in a composite inner child 1`] = `\n.emotion-0 {\n  background-color: black;\n  color: white;\n}\n\n<div>\n  <Inner\n    className=\"emotion-0\"\n  >\n    Test content\n  </Inner>\n</div>\n`;\n\nexports[`enzyme shallow with prop containing css element 1`] = `\n.emotion-0 {\n  background-color: blue;\n}\n\n<div>\n  <p\n    className=\"emotion-0\"\n  >\n    Hello\n  </p>\n   \n  World!\n</div>\n`;\n\nexports[`enzyme shallow with prop containing css element not at the top level 1`] = `\n<div>\n  <Greeting\n    content={\n      <p\n        css=\"unknown styles\"\n        id=\"something\"\n      >\n        Hello\n      </p>\n    }\n  >\n    World!\n  </Greeting>\n</div>\n`;\n\nexports[`enzyme shallow with prop containing css element with other label 1`] = `\n.emotion-0 {\n  background-color: blue;\n}\n\n<Thing\n  content={\n    <div\n      css=\"unknown styles\"\n    />\n  }\n>\n  <p\n    className=\"emotion-0\"\n    id=\"something\"\n  >\n    Hello\n  </p>\n   \n  World!\n</Thing>\n`;\n\nexports[`enzyme shallow with prop containing css element with other props 1`] = `\n.emotion-0 {\n  background-color: blue;\n}\n\n<div>\n  <p\n    className=\"emotion-0\"\n    id=\"something\"\n  >\n    Hello\n  </p>\n   \n  World!\n</div>\n`;\n\nexports[`enzyme shallow with prop containing regular element 1`] = `\n<button>\n  Foo\n</button>\n`;\n\nexports[`enzyme shallow with styles on top level 1`] = `\n.emotion-0 {\n  background-color: red;\n}\n\n<Greeting\n  className=\"emotion-0\"\n>\n  Hello\n</Greeting>\n`;\n\nexports[`enzyme with prop containing css element in fragment 1`] = `\n.emotion-0 {\n  background-color: blue;\n}\n\n<div>\n  x\n  [\n    \"\",\n    <div\n      className=\"emotion-0\"\n    >\n      y\n    </div>,\n  ]\n</div>\n`;\n"
  },
  {
    "path": "packages/jest/test/matchers.test.js",
    "content": "import 'test-utils/legacy-env'\nimport renderer from 'react-test-renderer'\n/** @jsx jsx */\nimport * as React from 'react'\nimport * as enzyme from 'enzyme'\nimport { css, jsx } from '@emotion/react'\nimport styled from '@emotion/styled'\nimport { matchers } from '@emotion/jest'\n\nconst isReact16 = React.version.split('.')[0] === '16'\n\nconst { toHaveStyleRule } = matchers\n\nexpect.extend(matchers)\n\ndescribe('toHaveStyleRule', () => {\n  const divStyle = css`\n    color: red;\n  `\n\n  const svgStyle = css`\n    width: 100%;\n  `\n\n  test('matches styles on the top-most node passed in', () => {\n    const tree = renderer\n      .create(\n        <div css={divStyle}>\n          <svg css={svgStyle} />\n        </div>\n      )\n      .toJSON()\n\n    expect(tree).toHaveStyleRule('color', 'red')\n    expect(tree).not.toHaveStyleRule('width', '100%')\n\n    const svgNode = tree.children[0]\n\n    expect(svgNode).toHaveStyleRule('width', '100%')\n    expect(svgNode).not.toHaveStyleRule('color', 'red')\n  })\n\n  test('supports asymmetric matchers', () => {\n    const tree = renderer\n      .create(\n        <div css={divStyle}>\n          <svg css={svgStyle} />\n        </div>\n      )\n      .toJSON()\n\n    expect(tree).toHaveStyleRule('color', expect.anything())\n    expect(tree).not.toHaveStyleRule('padding', expect.anything())\n\n    const svgNode = tree.children[0]\n\n    expect(svgNode).toHaveStyleRule('width', expect.stringMatching(/.*%$/))\n  })\n\n  test('fails if no styles are found', () => {\n    const tree = renderer.create(<div />).toJSON()\n    const result = toHaveStyleRule(tree, 'color', 'red')\n    expect(result.pass).toBe(false)\n    expect(result.message()).toBe('Property not found: color')\n  })\n\n  test('supports regex values', () => {\n    const tree = renderer.create(<div css={divStyle} />).toJSON()\n    expect(tree).toHaveStyleRule('color', /red/)\n  })\n\n  it.skip('returns a message explaining the failure', () => {\n    const tree = renderer.create(<div css={divStyle} />).toJSON()\n\n    // When expect(tree).toHaveStyleRule('color', 'blue') fails\n    const resultFail = toHaveStyleRule(tree, 'color', 'blue')\n    expect(resultFail.message()).toMatchSnapshot()\n\n    // When expect(tree).not.toHaveStyleRule('color', 'red')\n    const resultPass = toHaveStyleRule(tree, 'color', 'red')\n    expect(resultPass.message()).toMatchSnapshot()\n  })\n\n  test('matches styles on the focus, hover targets', () => {\n    const localDivStyle = css`\n      color: white;\n      &:hover {\n        color: yellow;\n      }\n      &:focus {\n        color: black;\n      }\n    `\n    const tree = renderer\n      .create(\n        <div css={localDivStyle}>\n          <svg css={svgStyle} />\n        </div>\n      )\n      .toJSON()\n\n    expect(tree).toHaveStyleRule('color', 'yellow', { target: ':hover' })\n    expect(tree).toHaveStyleRule('color', 'black', { target: ':focus' })\n    expect(tree).toHaveStyleRule('color', 'white')\n  })\n\n  test('matches styles on the nested component or html element', () => {\n    const Svg = styled('svg')`\n      width: 100%;\n      fill: blue;\n    `\n    const Div = styled('div')`\n      color: red;\n      ${Svg} {\n        fill: green;\n      }\n      span {\n        color: yellow;\n      }\n    `\n\n    const tree = renderer\n      .create(\n        <Div>\n          <Svg />\n          <span>Test</span>\n        </Div>\n      )\n      .toJSON()\n\n    expect(tree).toHaveStyleRule('color', 'yellow', { target: 'span' })\n    expect(tree).toHaveStyleRule('color', 'red')\n\n    expect(tree).toHaveStyleRule('fill', 'green', { target: `${Svg}` })\n  })\n\n  test('matches target styles by regex', () => {\n    const localDivStyle = css`\n      a {\n        color: yellow;\n      }\n      a:hover {\n        color: black;\n      }\n    `\n    const tree = renderer\n      .create(\n        <div css={localDivStyle}>\n          <svg css={svgStyle} />\n        </div>\n      )\n      .toJSON()\n\n    expect(tree).toHaveStyleRule('color', 'yellow', { target: /a$/ })\n  })\n\n  test('matches proper style for css', () => {\n    const tree = renderer\n      .create(\n        <div\n          css={css`\n            color: green;\n            color: hotpink;\n          `}\n        />\n      )\n      .toJSON()\n    expect(tree).not.toHaveStyleRule('color', 'green')\n    expect(tree).toHaveStyleRule('color', 'hotpink')\n  })\n\n  test('matches style of the media', () => {\n    const Svg = styled('svg')`\n      width: 100%;\n    `\n    const Div = styled('div')`\n      font-size: 30px;\n      @media (min-width: 420px) {\n        font-size: 50px;\n      }\n      @media (min-width: 920px) and (max-width: 1200px) {\n        font-size: 70px;\n      }\n      @media screen and (max-width: 1200px) {\n        font-size: 80px;\n      }\n      @media not all and (monochrome) {\n        font-size: 90px;\n      }\n    `\n\n    const tree = renderer\n      .create(\n        <Div>\n          <Svg />\n        </Div>\n      )\n      .toJSON()\n\n    expect(tree).toHaveStyleRule('font-size', '30px')\n    expect(tree).toHaveStyleRule('font-size', '50px', {\n      media: '(min-width: 420px)'\n    })\n    expect(tree).toHaveStyleRule('font-size', '70px', {\n      media: '(min-width: 920px) and (max-width: 1200px)'\n    })\n    expect(tree).toHaveStyleRule('font-size', '80px', {\n      media: 'screen and (max-width: 1200px)'\n    })\n    expect(tree).toHaveStyleRule('font-size', '90px', {\n      media: 'not all and (monochrome)'\n    })\n  })\n\n  test('matches styles with target and media options', () => {\n    const localDivStyle = css`\n      color: white;\n      @media (min-width: 420px) {\n        color: green;\n        &:hover {\n          color: yellow;\n        }\n      }\n    `\n    const tree = renderer\n      .create(\n        <div css={localDivStyle}>\n          <span>Test</span>\n        </div>\n      )\n      .toJSON()\n\n    expect(tree).toHaveStyleRule('color', 'yellow', {\n      target: ':hover',\n      media: '(min-width: 420px)'\n    })\n    expect(tree).toHaveStyleRule('color', 'green', {\n      media: '(min-width: 420px)'\n    })\n    expect(tree).toHaveStyleRule('color', 'white')\n  })\n\n  test('fails if option media invalid', () => {\n    const Div = styled('div')`\n      font-size: 30px;\n      @media (min-width: 420px) {\n        font-size: 50px;\n      }\n    `\n\n    const tree = renderer.create(<Div />).toJSON()\n\n    const result = toHaveStyleRule(tree, 'font-size', '50px', {\n      media: '(min-width-'\n    })\n    expect(result.pass).toBe(false)\n    expect(result.message()).toBe('Property not found: font-size')\n  })\n\n  test('matches styles for a component used as selector', () => {\n    const Bar = styled.div``\n\n    const Foo = styled.div`\n      color: red;\n\n      ${Bar} {\n        color: hotpink;\n      }\n    `\n    const tree = renderer\n      .create(\n        <Foo>\n          <Bar />\n        </Foo>\n      )\n      .toJSON()\n\n    expect(tree.children[0]).toHaveStyleRule('color', 'hotpink')\n  })\n\n  test('takes specificity into account when matching styles (basic)', () => {\n    const Bar = styled.div`\n      color: yellow;\n    `\n\n    const Foo = styled.div`\n      color: red;\n\n      ${Bar} {\n        color: hotpink;\n      }\n    `\n\n    const tree = renderer\n      .create(\n        <Foo>\n          <Bar />\n        </Foo>\n      )\n      .toJSON()\n\n    expect(tree.children[0]).toHaveStyleRule('color', 'hotpink')\n  })\n\n  test('should throw a friendly error when it receives an array', () => {\n    const tree = renderer\n      .create(\n        <>\n          <div\n            css={css`\n              color: hotpink;\n            `}\n          />\n          {'Some text'}\n        </>\n      )\n      .toJSON()\n\n    expect(() =>\n      expect(tree).toHaveStyleRule('color', 'hotpink')\n    ).toThrowErrorMatchingInlineSnapshot(\n      `\"\\`toHaveStyleRule\\` expects to receive a single element but it received an array.\"`\n    )\n  })\n  ;(isReact16 ? describe : describe.skip)('enzyme', () => {\n    test('supports enzyme `mount` method', () => {\n      const Component = () => (\n        <div css={divStyle}>\n          <svg css={svgStyle} />\n        </div>\n      )\n\n      const wrapper = enzyme.mount(<Component />)\n      expect(wrapper).toHaveStyleRule('color', 'red')\n      expect(wrapper).not.toHaveStyleRule('width', '100%')\n      const svgNode = wrapper.find('svg')\n      expect(svgNode).toHaveStyleRule('width', '100%')\n      expect(svgNode).not.toHaveStyleRule('color', 'red')\n    })\n\n    test('supports enzyme `render` method', () => {\n      const Component = () => (\n        <div css={divStyle}>\n          <svg css={svgStyle} />\n        </div>\n      )\n\n      const wrapper = enzyme.render(<Component />)\n      expect(wrapper).toHaveStyleRule('color', 'red')\n      expect(wrapper).not.toHaveStyleRule('width', '100%')\n      const svgNode = wrapper.find('svg')\n      expect(svgNode).toHaveStyleRule('width', '100%')\n      expect(svgNode).not.toHaveStyleRule('color', 'red')\n    })\n\n    test('supports enzyme `shallow` method', () => {\n      const Component = () => (\n        <div css={divStyle}>\n          <svg css={svgStyle} />\n        </div>\n      )\n\n      const wrapper = enzyme.shallow(<Component />)\n      expect(wrapper).toHaveStyleRule('color', 'red')\n      expect(wrapper).not.toHaveStyleRule('width', '100%')\n      const svgNode = wrapper.childAt(0)\n      expect(svgNode).toHaveStyleRule('width', '100%')\n      expect(svgNode).not.toHaveStyleRule('color', 'red')\n    })\n\n    test('supports styled components', () => {\n      const Div = styled('div')`\n        color: red;\n      `\n      const Svg = styled('svg')`\n        width: 100%;\n      `\n      ;['mount', 'render', 'shallow'].forEach(method => {\n        const wrapper = enzyme[method](\n          <Div>\n            <Svg />\n          </Div>\n        )\n        expect(wrapper).toHaveStyleRule('color', 'red')\n        expect(wrapper).not.toHaveStyleRule('width', '100%')\n        const svgNode =\n          method === 'render' ? wrapper.find('svg') : wrapper.find(Svg)\n        expect(svgNode).toHaveStyleRule('width', '100%')\n        expect(svgNode).not.toHaveStyleRule('color', 'red')\n      })\n    })\n  })\n})\n"
  },
  {
    "path": "packages/jest/test/printer.test.js",
    "content": "import React from 'react'\nimport 'test-utils/legacy-env'\nimport renderer from 'react-test-renderer'\nimport prettyFormat from 'pretty-format'\n/** @jsx jsx */\nimport { css, jsx, CacheProvider } from '@emotion/react'\nimport createCache from '@emotion/cache'\nimport { createSerializer } from '@emotion/jest'\nimport { render } from '@testing-library/react'\nimport { ignoreConsoleErrors } from 'test-utils'\n\nlet emotionPlugin = createSerializer()\n\nconst { ReactElement, ReactTestComponent, DOMElement } = prettyFormat.plugins\n\ndescribe('jest-emotion with dom elements', () => {\n  const divStyle = css`\n    color: red;\n  `\n\n  const svgStyle = css`\n    width: 100%;\n  `\n\n  test('replaces class names and inserts styles into React test component snapshots', () => {\n    const tree = renderer\n      .create(\n        <div css={divStyle}>\n          <svg css={svgStyle} />\n        </div>\n      )\n      .toJSON()\n\n    const output = prettyFormat(tree, {\n      plugins: [emotionPlugin, ReactElement, ReactTestComponent, DOMElement]\n    })\n\n    expect(output).toMatchSnapshot()\n  })\n\n  test('replaces class names and inserts styles into DOM element snapshots', () => {\n    const divRef = React.createRef()\n    render(\n      <div css={divStyle} ref={divRef}>\n        <svg css={svgStyle} />\n      </div>\n    )\n\n    const output = prettyFormat(divRef.current, {\n      plugins: [emotionPlugin, ReactElement, ReactTestComponent, DOMElement]\n    })\n\n    expect(output).toMatchSnapshot()\n  })\n})\n\ndescribe('jest-emotion with DOM elements disabled', () => {\n  const emotionPlugin = createSerializer({ DOMElements: false })\n\n  const divStyle = css`\n    color: red;\n  `\n\n  const svgStyle = css`\n    width: 100%;\n  `\n\n  test('replaces class names and inserts styles into React test component snapshots', () => {\n    const tree = renderer\n      .create(\n        <div css={divStyle}>\n          <svg css={svgStyle} />\n        </div>\n      )\n      .toJSON()\n\n    const output = prettyFormat(tree, {\n      plugins: [emotionPlugin, ReactElement, ReactTestComponent, DOMElement]\n    })\n\n    expect(output).toMatchSnapshot()\n  })\n\n  test('does not replace class names or insert styles into DOM element snapshots', () => {\n    const divRef = React.createRef()\n    render(\n      <div css={divStyle} ref={divRef}>\n        <svg css={svgStyle} />\n      </div>\n    )\n\n    const output = prettyFormat(divRef.current, {\n      plugins: [emotionPlugin, ReactElement, ReactTestComponent, DOMElement]\n    })\n\n    expect(output).toMatchSnapshot()\n  })\n})\n\ntest('allows to opt-out from styles printing', () => {\n  const emotionPlugin = createSerializer({ includeStyles: false })\n\n  const divStyle = css`\n    color: red;\n  `\n\n  const svgStyle = css`\n    width: 100%;\n  `\n\n  const divRef = React.createRef()\n  render(\n    <div css={divStyle} ref={divRef}>\n      <svg css={svgStyle} />\n    </div>\n  )\n\n  const output = prettyFormat(divRef.current, {\n    plugins: [emotionPlugin, ReactElement, ReactTestComponent, DOMElement]\n  })\n\n  expect(output).toMatchSnapshot()\n})\n\ntest('does not replace class names that are not from emotion', () => {\n  let tree = renderer\n    .create(\n      <div\n        className=\"net-42 net\"\n        css={css`\n          color: darkorchid;\n        `}\n      />\n    )\n    .toJSON()\n\n  const output = prettyFormat(tree, {\n    plugins: [emotionPlugin, ReactElement, ReactTestComponent, DOMElement]\n  })\n\n  expect(output).toMatchSnapshot()\n})\n\ndescribe('jest-emotion with nested selectors', () => {\n  const divStyle = css`\n    color: blue;\n\n    header & {\n      color: red;\n    }\n  `\n\n  test('replaces class names and inserts styles into React test component snapshots', () => {\n    const tree = renderer.create(<div css={divStyle} />).toJSON()\n\n    const output = prettyFormat(tree, {\n      plugins: [emotionPlugin, ReactElement, ReactTestComponent, DOMElement]\n    })\n\n    expect(output).toBe(`.emotion-0 {\n  color: blue;\n}\n\nheader .emotion-0 {\n  color: red;\n}\n\n<div\n  className=\"emotion-0\"\n/>`)\n  })\n})\n\ntest('prints speedy styles', () => {\n  const speedyCache = createCache({\n    key: 'speedy-key',\n    speedy: true\n  })\n  const tree = renderer\n    .create(\n      <CacheProvider value={speedyCache}>\n        <div\n          css={css`\n            color: hotpink;\n          `}\n        />\n      </CacheProvider>\n    )\n    .toJSON()\n\n  expect(\n    prettyFormat(tree, {\n      plugins: [emotionPlugin, ReactElement, ReactTestComponent, DOMElement]\n    })\n  ).toMatchSnapshot()\n})\n"
  },
  {
    "path": "packages/jest/test/prod.test.js",
    "content": "import 'test-utils/next-env'\nimport renderer from 'react-test-renderer'\n/** @jsx jsx */\nimport * as React from 'react'\nimport { css, jsx } from '@emotion/react'\nimport { matchers } from '@emotion/jest'\n\nexpect.extend(matchers)\n\ngate({ development: false }, ({ test }) => {\n  test('it prints fallback values', () => {\n    const tree = renderer\n      .create(\n        <div css={[{ backgroundColor: '#000' }, { backgroundColor: '#fff' }]}>\n          <span css={{ color: 'hotpink' }}>{'emotion'}</span>\n        </div>\n      )\n      .toJSON()\n\n    expect(tree).toMatchInlineSnapshot(`\n.emotion-0 {\n  background-color: #000;\n  background-color: #fff;\n}\n\n.emotion-1 {\n  color: hotpink;\n}\n\n<div\n  className=\"emotion-0\"\n>\n  <span\n    className=\"emotion-1\"\n  >\n    emotion\n  </span>\n</div>\n`)\n  })\n\n  test('it prints invalid declarations', () => {\n    const tree = renderer\n      .create(\n        <div css={{ bazinga: 'joke' }}>\n          <span css={{ color: 'hotpink' }}>{'emotion'}</span>\n        </div>\n      )\n      .toJSON()\n\n    expect(tree).toMatchInlineSnapshot(`\n.emotion-0 {\n  bazinga: joke;\n}\n\n.emotion-1 {\n  color: hotpink;\n}\n\n<div\n  className=\"emotion-0\"\n>\n  <span\n    className=\"emotion-1\"\n  >\n    emotion\n  </span>\n</div>\n`)\n  })\n})\n"
  },
  {
    "path": "packages/jest/test/react-enzyme.test.js",
    "content": "import 'test-utils/enzyme-env'\n/** @jsx jsx */\n\nimport jestInCase from 'jest-in-case'\nimport * as enzyme from 'enzyme'\nimport { css, jsx, ThemeProvider } from '@emotion/react'\nimport styled from '@emotion/styled'\nimport React from 'react'\nimport toJson from 'enzyme-to-json'\n\nimport { matchers } from '@emotion/jest'\nimport * as serializer from '@emotion/jest/enzyme-serializer'\n\nconst isReact16 = React.version.split('.')[0] === '16'\n\nexpect.extend(matchers)\nexpect.addSnapshotSerializer(serializer)\n\nconst identity = v => v\n\nconst cases = {\n  basic: {\n    render() {\n      const Greeting = ({ children }) => (\n        <div css={{ backgroundColor: 'red' }}>{children}</div>\n      )\n      return <Greeting>hello</Greeting>\n    }\n  },\n  styled: {\n    render() {\n      const Greeting = styled.div`\n        background-color: red;\n      `\n      return <Greeting>Hello</Greeting>\n    }\n  },\n  'styled with css prop': {\n    render() {\n      const style1 = css`\n        background-color: black;\n      `\n      const Button = styled.button`\n        color: red;\n      `\n      return <Button css={style1}>iChenLei</Button>\n    }\n  },\n  nested: {\n    render() {\n      const Greeting = ({ children }) => (\n        <div css={{ backgroundColor: 'red' }}>{children}</div>\n      )\n      return (\n        <div>\n          <Greeting>hello</Greeting>\n        </div>\n      )\n    }\n  },\n  'nested styled': {\n    render() {\n      const Greeting = styled.div`\n        background-color: red;\n      `\n      return (\n        <div>\n          <Greeting>Hello</Greeting>\n        </div>\n      )\n    }\n  },\n  'nested styled with css prop': {\n    render() {\n      const style1 = css`\n        background-color: black;\n      `\n      const Button = styled.button`\n        color: red;\n      `\n      return (\n        <div>\n          <Button css={style1}>iChenLei</Button>\n        </div>\n      )\n    }\n  },\n  'empty styled': {\n    render() {\n      const Greeting = styled.div``\n      return <Greeting>Hello</Greeting>\n    }\n  },\n  'with styles on top level': {\n    render() {\n      const Greeting = ({ children, className }) => (\n        <div className={className}>{children}</div>\n      )\n      return <Greeting css={{ backgroundColor: 'red' }}>Hello</Greeting>\n    }\n  },\n  'with prop containing css element': {\n    render() {\n      const Greeting = ({ children, content }) => (\n        <div>\n          {content} {children}\n        </div>\n      )\n      return (\n        <Greeting content={<p css={{ backgroundColor: 'blue' }}>Hello</p>}>\n          World!\n        </Greeting>\n      )\n    }\n  },\n  'with prop containing regular element': {\n    render() {\n      const Test = ({ element }) => element\n      return <Test element={<button>Foo</button>} />\n    }\n  },\n  'with prop containing css element not at the top level': {\n    render() {\n      const Greeting = ({ children, content }) => (\n        <div>\n          {content} {children}\n        </div>\n      )\n\n      return (\n        <div>\n          <Greeting\n            content={\n              <p id=\"something\" css={{ backgroundColor: 'blue' }}>\n                Hello\n              </p>\n            }\n          >\n            World!\n          </Greeting>\n        </div>\n      )\n    }\n  },\n  'with prop containing css element with other props': {\n    render() {\n      const Greeting = ({ children, content }) => (\n        <div>\n          {content} {children}\n        </div>\n      )\n\n      return (\n        <Greeting\n          content={\n            <p id=\"something\" css={{ backgroundColor: 'blue' }}>\n              Hello\n            </p>\n          }\n        >\n          World!\n        </Greeting>\n      )\n    }\n  },\n  'with prop containing css element with other label': {\n    render() {\n      const Thing = ({ content, children }) => {\n        return children\n      }\n      const Greeting = ({ children, content }) => (\n        <Thing content={<div css={{ color: 'hotpink' }} />}>\n          {content} {children}\n        </Thing>\n      )\n\n      return (\n        <Greeting\n          content={\n            <p id=\"something\" css={{ backgroundColor: 'blue' }}>\n              Hello\n            </p>\n          }\n        >\n          World!\n        </Greeting>\n      )\n    }\n  },\n  'with array of styles as css prop': {\n    render() {\n      const style1 = css`\n        background-color: black;\n      `\n\n      const style2 = css`\n        color: white;\n      `\n\n      return <div css={[style1, style2]}>Test content</div>\n    }\n  },\n  'with array of styles in a composite inner child': {\n    render() {\n      const style1 = css`\n        background-color: black;\n      `\n\n      const style2 = css`\n        color: white;\n      `\n\n      function Inner(props) {\n        return <span {...props} />\n      }\n\n      return (\n        <div>\n          <Inner css={[style1, style2]}>Test content</Inner>\n        </div>\n      )\n    }\n  },\n  'conditional styles': {\n    render() {\n      const style1 = css`\n        background-color: black;\n      `\n\n      const style2 = css`\n        color: white;\n      `\n\n      return (\n        <div css={[style1, false && style2, undefined && style2]}>\n          <span css={null && style2}>Test content</span>\n        </div>\n      )\n    }\n  },\n  theming: {\n    render() {\n      const Button = styled.button`\n        color: ${props => props.theme.main};\n        border: 2px solid ${props => props.theme.main};\n      `\n\n      Button.defaultProps = {\n        theme: {\n          main: 'red'\n        }\n      }\n\n      const theme = {\n        main: 'blue'\n      }\n\n      return (\n        <div>\n          <Button>Normal</Button>\n          <ThemeProvider theme={theme}>\n            <Button>Themed</Button>\n          </ThemeProvider>\n        </div>\n      )\n    }\n  },\n  displayName: {\n    render() {\n      const Comp = props => <div {...props}>Hello</div>\n      Comp.displayName = 'CustomDisplayName'\n      return <Comp css={{ color: 'hotpink' }} />\n    }\n  },\n  'nested displayName': {\n    render() {\n      const Comp = props => <div {...props}>Hello</div>\n      Comp.displayName = 'CustomDisplayName'\n      return (\n        <div>\n          <Comp css={{ color: 'hotpink' }} />\n        </div>\n      )\n    }\n  },\n  'parent and child using css property': {\n    render() {\n      const parentStyle = css`\n        background-color: black;\n      `\n\n      const childStyle = css`\n        color: white;\n      `\n\n      return (\n        <div css={parentStyle}>\n          Test content\n          <div css={childStyle} />\n        </div>\n      )\n    }\n  },\n  'fragment with multiple css prop elements': {\n    render() {\n      const Component = () => {\n        return (\n          <>\n            <div css={{ backgroundColor: 'hotpink' }} />\n            <div css={{ backgroundColor: 'green' }} />\n            <div css={{ backgroundColor: 'blue' }} />\n          </>\n        )\n      }\n      return <Component />\n    }\n  },\n  'multiple selected components': {\n    selector: tree =>\n      // with simple `tree.find('[data-item]')` we get elements twice with `mount` since it selects both the css prop element and the host element\n      tree.findWhere(\n        n => typeof n.type() !== 'string' && n.props()['data-item']\n      ),\n    render() {\n      return (\n        <ul>\n          <li data-item css={{ backgroundColor: 'hotpink' }}>\n            {'hello'}\n          </li>\n          <li data-item css={{ backgroundColor: 'blue' }}>\n            {'beautiful'}\n          </li>\n          <li data-item css={{ backgroundColor: 'green' }}>\n            {'world'}\n          </li>\n        </ul>\n      )\n    }\n  },\n  'unmatched selector': {\n    selector: tree => tree.find('div'),\n    render() {\n      return (\n        <ul>\n          <li css={{ backgroundColor: 'hotpink' }}>{'hello'}</li>\n          <li css={{ backgroundColor: 'blue' }}>{'beautiful'}</li>\n          <li css={{ backgroundColor: 'green' }}>{'world'}</li>\n        </ul>\n      )\n    }\n  }\n}\n\n;(isReact16 ? describe : describe.skip)('enzyme', () => {\n  jestInCase(\n    'shallow',\n    ({ render, selector = identity }) => {\n      const wrapper = enzyme.shallow(render())\n      expect(selector(wrapper)).toMatchSnapshot()\n    },\n    cases\n  )\n\n  jestInCase(\n    'mount',\n    ({ render, selector = identity }) => {\n      const wrapper = enzyme.mount(render())\n      expect(selector(wrapper)).toMatchSnapshot()\n    },\n    cases\n  )\n\n  test('with prop containing css element in fragment', () => {\n    const FragmentComponent = () => (\n      <React.Fragment>\n        x<div css={{ backgroundColor: 'blue' }}>y</div>\n      </React.Fragment>\n    )\n\n    const wrapper = enzyme.mount(\n      <div>\n        <FragmentComponent />\n      </div>\n    )\n\n    expect(toJson(wrapper, { mode: 'deep' })).toMatchSnapshot()\n  })\n\n  test('toHaveStyleRule on react.element', () => {\n    const tree = enzyme.mount(\n      <ul>\n        <li css={{ backgroundColor: 'hotpink' }}>hello</li>\n      </ul>\n    )\n    expect(tree.find('li').get(0)).toHaveStyleRule(\n      'background-color',\n      'hotpink'\n    )\n  })\n})\n"
  },
  {
    "path": "packages/jest/types/enzyme-serializer.d.ts",
    "content": "/// <reference types=\"jest\" />\n\ntype SnapshotSerializerPlugin = Extract<\n  jest.SnapshotSerializerPlugin,\n  { serialize: any }\n>\n\nexport const test: SnapshotSerializerPlugin['test']\nexport const serialize: SnapshotSerializerPlugin['serialize']\n"
  },
  {
    "path": "packages/jest/types/enzyme.d.ts",
    "content": "// TypeScript Version: 4.3\n\n/// <reference types=\"jest\" />\n\nimport {\n  CreateSerializerOptions,\n  EmotionMatchers,\n  StyleRuleOptions\n} from './index'\nexport { CreateSerializerOptions, EmotionMatchers, StyleRuleOptions }\n\ntype SnapshotSerializerPlugin = Extract<\n  jest.SnapshotSerializerPlugin,\n  { serialize: any }\n>\n\nexport const matchers: EmotionMatchers\n\nexport function createEnzymeSerializer(\n  options?: CreateSerializerOptions\n): SnapshotSerializerPlugin\n"
  },
  {
    "path": "packages/jest/types/index.d.ts",
    "content": "// Definitions by: Junyoung Clare Jang <https://github.com/Ailrun>\n// TypeScript Version: 4.3\n\n/// <reference types=\"jest\" />\n\ntype SnapshotSerializerPlugin = Extract<\n  jest.SnapshotSerializerPlugin,\n  { serialize: any }\n>\n\nexport interface StyleRuleOptions {\n  target?: string | RegExp\n  media?: string\n}\n\nexport interface EmotionMatchers extends jest.ExpectExtendMap {\n  toHaveStyleRule(\n    received: any,\n    property: string,\n    value: any,\n    options?: StyleRuleOptions\n  ): { message(): string; pass: boolean }\n}\nexport const matchers: EmotionMatchers\n\nexport interface CreateSerializerOptions {\n  classNameReplacer?: (className: string, index: number) => string\n  DOMElements?: boolean\n  includeStyles?: boolean\n}\nexport function createSerializer(\n  options?: CreateSerializerOptions\n): SnapshotSerializerPlugin\n\ndeclare global {\n  namespace jest {\n    interface Matchers<R, T> {\n      toHaveStyleRule(\n        property: string,\n        value: any,\n        options?: StyleRuleOptions\n      ): R\n    }\n  }\n}\n"
  },
  {
    "path": "packages/jest/types/serializer.d.ts",
    "content": "/// <reference types=\"jest\" />\n\ntype SnapshotSerializerPlugin = Extract<\n  jest.SnapshotSerializerPlugin,\n  { serialize: any }\n>\n\nexport const test: SnapshotSerializerPlugin['test']\nexport const serialize: SnapshotSerializerPlugin['serialize']\n"
  },
  {
    "path": "packages/jest/types/test.ts",
    "content": "import {\n  matchers,\n  CreateSerializerOptions,\n  createSerializer\n} from '@emotion/jest'\nimport * as serializer from '@emotion/jest/serializer'\n\ncreateSerializer()\ncreateSerializer({})\ncreateSerializer({\n  DOMElements: true\n})\ncreateSerializer({\n  classNameReplacer() {\n    return 'abc'\n  }\n})\ncreateSerializer({\n  classNameReplacer(className) {\n    return className\n  }\n})\ncreateSerializer({\n  classNameReplacer(className, index) {\n    return `${className}-${index}`\n  }\n})\ncreateSerializer(213 as any as CreateSerializerOptions)\n// $ExpectError\ncreateSerializer(1)\n// $ExpectError\ncreateSerializer(true)\n// $ExpectError\ncreateSerializer({}, undefined as any)\n\nexpect.addSnapshotSerializer(serializer)\nexpect.addSnapshotSerializer(createSerializer())\nexpect.extend(matchers)\n\nexpect({}).toHaveStyleRule('width', 'black')\nexpect({}).toHaveStyleRule('height', /red/)\nexpect({}).toHaveStyleRule('color', expect.stringContaining('20'))\n// $ExpectError\nexpect({}).toHaveStyleRule(5, 'abc')\n"
  },
  {
    "path": "packages/jest/types/tsconfig.json",
    "content": "{\n  \"compilerOptions\": {\n    \"baseUrl\": \"../\",\n    \"forceConsistentCasingInFileNames\": true,\n    \"jsx\": \"react\",\n    \"lib\": [\"es6\", \"dom\"],\n    \"module\": \"commonjs\",\n    \"noEmit\": true,\n    \"strict\": true,\n    \"target\": \"es5\",\n    \"types\": []\n  },\n  \"include\": [\"./*.ts\", \"./*.tsx\"]\n}\n"
  },
  {
    "path": "packages/jest/types/tslint.json",
    "content": "{\n  \"extends\": \"@definitelytyped/dtslint/dtslint.json\",\n  \"rules\": {\n    \"array-type\": [true, \"generic\"],\n    \"semicolon\": false,\n    \"file-name-casing\": false,\n    \"strict-export-declare-modifiers\": false,\n    \"unnecessary-bind\": false\n  }\n}\n"
  },
  {
    "path": "packages/memoize/CHANGELOG.md",
    "content": "# @emotion/memoize\n\n## 0.9.0\n\n### Minor Changes\n\n- [#2427](https://github.com/emotion-js/emotion/pull/2427) [`7f8db2d`](https://github.com/emotion-js/emotion/commit/7f8db2d7a900bb34995db66084a99d512811e33d) Thanks [@sarayourfriend](https://github.com/sarayourfriend)! - Source code has been migrated to TypeScript. From now on type declarations will be emitted based on that, instead of being hand-written.\n\n## 0.8.1\n\n### Patch Changes\n\n- [#3029](https://github.com/emotion-js/emotion/pull/3029) [`eed5e6cf`](https://github.com/emotion-js/emotion/commit/eed5e6cf00f94f3011b93825ccce43cb2270c247) Thanks [@Andarist](https://github.com/Andarist)! - Fixed importing in Node ESM\n\n## 0.8.0\n\n### Minor Changes\n\n- [#2819](https://github.com/emotion-js/emotion/pull/2819) [`bbad8c79`](https://github.com/emotion-js/emotion/commit/bbad8c79937f8dfd5d93bf485c1e9ec44124d228) Thanks [@nicksrandall](https://github.com/nicksrandall)! - `exports` field has been added to the `package.json` manifest. It limits what files can be imported from a package but we've tried our best to allow importing all the files that were considered to be a part of the public API.\n\n## 0.7.5\n\n### Patch Changes\n\n- [`ee6a673f`](https://github.com/emotion-js/emotion/commit/ee6a673f74e934bf738d5346ddfc7982caa23827) [#2141](https://github.com/emotion-js/emotion/pull/2141) Thanks [@ChALkeR](https://github.com/ChALkeR)! - Fixed an issue with prototype properties not being correctly handled.\n\n## 0.7.4\n\n### Patch Changes\n\n- [`4c62ae9`](https://github.com/emotion-js/emotion/commit/4c62ae9447959d438928e1a26f76f1487983c968) [#1698](https://github.com/emotion-js/emotion/pull/1698) Thanks [@Andarist](https://github.com/Andarist)! - Add LICENSE file\n\n## 0.7.3\n\n### Patch Changes\n\n- [c81c0033](https://github.com/emotion-js/emotion/commit/c81c0033c490210077da0e9c3f9fa1a22fcd9c96) [#1503](https://github.com/emotion-js/emotion/pull/1503) Thanks [@Andarist](https://github.com/Andarist)! - Add TS types to util packages - hash, memoize & weak-memoize\n\n## 0.7.2\n\n### Patch Changes\n\n- [c0eb604d](https://github.com/emotion-js/emotion/commit/c0eb604d) [#1419](https://github.com/emotion-js/emotion/pull/1419) Thanks [@emmatown](https://github.com/emmatown)! - Update build tool\n"
  },
  {
    "path": "packages/memoize/LICENSE",
    "content": "MIT License\n\nCopyright (c) Emotion team and other contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "packages/memoize/package.json",
    "content": "{\n  \"name\": \"@emotion/memoize\",\n  \"version\": \"0.9.0\",\n  \"description\": \"emotion's memoize utility\",\n  \"main\": \"dist/emotion-memoize.cjs.js\",\n  \"module\": \"dist/emotion-memoize.esm.js\",\n  \"types\": \"dist/emotion-memoize.cjs.d.ts\",\n  \"license\": \"MIT\",\n  \"repository\": \"https://github.com/emotion-js/emotion/tree/main/packages/memoize\",\n  \"scripts\": {\n    \"test:typescript\": \"dtslint types\"\n  },\n  \"publishConfig\": {\n    \"access\": \"public\"\n  },\n  \"devDependencies\": {\n    \"@definitelytyped/dtslint\": \"0.0.112\",\n    \"typescript\": \"^5.4.5\"\n  },\n  \"files\": [\n    \"src\",\n    \"dist\"\n  ],\n  \"exports\": {\n    \".\": {\n      \"types\": {\n        \"import\": \"./dist/emotion-memoize.cjs.mjs\",\n        \"default\": \"./dist/emotion-memoize.cjs.js\"\n      },\n      \"module\": \"./dist/emotion-memoize.esm.js\",\n      \"import\": \"./dist/emotion-memoize.cjs.mjs\",\n      \"default\": \"./dist/emotion-memoize.cjs.js\"\n    },\n    \"./package.json\": \"./package.json\"\n  }\n}\n"
  },
  {
    "path": "packages/memoize/src/index.ts",
    "content": "export default function memoize<V>(fn: (arg: string) => V): (arg: string) => V {\n  const cache: Record<string, V> = Object.create(null)\n\n  return (arg: string) => {\n    if (cache[arg] === undefined) cache[arg] = fn(arg)\n    return cache[arg]\n  }\n}\n"
  },
  {
    "path": "packages/memoize/types/index.d.ts",
    "content": "export { default } from '..'\n"
  },
  {
    "path": "packages/memoize/types/tests.ts",
    "content": "import memoize from '@emotion/memoize'\n\n// $ExpectType string[]\nmemoize((arg: string) => [arg])('foo')\n\n// $ExpectError\nmemoize((arg: number) => [arg])\n"
  },
  {
    "path": "packages/memoize/types/tsconfig.json",
    "content": "{\n  \"compilerOptions\": {\n    \"baseUrl\": \"../\",\n    \"forceConsistentCasingInFileNames\": true,\n    \"lib\": [\"es6\", \"dom\"],\n    \"module\": \"commonjs\",\n    \"noEmit\": true,\n    \"strict\": true,\n    \"target\": \"es5\",\n    \"typeRoots\": [\"../\"],\n    \"types\": []\n  },\n  \"include\": [\"./*.ts\", \"./*.tsx\"]\n}\n"
  },
  {
    "path": "packages/memoize/types/tslint.json",
    "content": "{\n  \"extends\": \"@definitelytyped/dtslint/dtslint.json\",\n  \"rules\": {\n    \"array-type\": [true, \"generic\"],\n    \"import-spacing\": false,\n    \"semicolon\": false,\n    \"whitespace\": [\n      true,\n      \"check-branch\",\n      \"check-decl\",\n      \"check-operator\",\n      \"check-module\",\n      \"check-rest-spread\",\n      \"check-type\",\n      \"check-typecast\",\n      \"check-type-operator\",\n      \"check-preblock\"\n    ],\n\n    \"no-unnecessary-generics\": false,\n    \"strict-export-declare-modifiers\": false,\n    \"no-default-import\": false,\n    \"unnecessary-bind\": false\n  }\n}\n"
  },
  {
    "path": "packages/native/CHANGELOG.md",
    "content": "# @emotion/native\n\n## 11.11.0\n\n### Patch Changes\n\n- [#3029](https://github.com/emotion-js/emotion/pull/3029) [`eed5e6cf`](https://github.com/emotion-js/emotion/commit/eed5e6cf00f94f3011b93825ccce43cb2270c247) Thanks [@Andarist](https://github.com/Andarist)! - Fixed importing in Node ESM\n\n- Updated dependencies [[`eed5e6cf`](https://github.com/emotion-js/emotion/commit/eed5e6cf00f94f3011b93825ccce43cb2270c247)]:\n  - @emotion/primitives-core@11.11.0\n\n## 11.10.6\n\n### Patch Changes\n\n- [#2985](https://github.com/emotion-js/emotion/pull/2985) [`4e172c2a`](https://github.com/emotion-js/emotion/commit/4e172c2ae4e5237500ec84688d76ebf253ab1fdc) Thanks [@emmatown](https://github.com/emmatown)! - Remove peer dependency on `@babel/core`\n\n## 11.10.0\n\n### Minor Changes\n\n- [#2819](https://github.com/emotion-js/emotion/pull/2819) [`bbad8c79`](https://github.com/emotion-js/emotion/commit/bbad8c79937f8dfd5d93bf485c1e9ec44124d228) Thanks [@nicksrandall](https://github.com/nicksrandall)! - `exports` field has been added to the `package.json` manifest. It limits what files can be imported from a package but we've tried our best to allow importing all the files that were considered to be a part of the public API.\n\n### Patch Changes\n\n- Updated dependencies [[`bbad8c79`](https://github.com/emotion-js/emotion/commit/bbad8c79937f8dfd5d93bf485c1e9ec44124d228)]:\n  - @emotion/primitives-core@11.10.0\n\n## 11.9.3\n\n### Patch Changes\n\n- [#2759](https://github.com/emotion-js/emotion/pull/2759) Thanks [@srmagura](https://github.com/srmagura), [@Andarist](https://github.com/Andarist)! - Change the argument of the `shouldForwardProp` option of `styled` from `PropertyKey` to `string` in the TypeScript definitions.\n\n* [#2333](https://github.com/emotion-js/emotion/pull/2333) [`3055efdd`](https://github.com/emotion-js/emotion/commit/3055efddf8f9fb14b148fda466dcb4eb9affc525) Thanks [@Andarist](https://github.com/Andarist)! - `shouldForwardProp` has been changed from being a bivariant method to a contravariant function - it improves the type-safety for those that type this option.\n\n- [#2333](https://github.com/emotion-js/emotion/pull/2333) [`3055efdd`](https://github.com/emotion-js/emotion/commit/3055efddf8f9fb14b148fda466dcb4eb9affc525) Thanks [@antongolub](https://github.com/antongolub)! - `FilteringStyledOptions` and `StyledOptions` types no longer require a type argument for the `Props` generic.\n\n## 11.0.0\n\n### Major Changes\n\n- [`95ea2839`](https://github.com/emotion-js/emotion/commit/95ea2839890629748894b3942d26f608f203d3f9) [#2014](https://github.com/emotion-js/emotion/pull/2014) Thanks [@Andarist](https://github.com/Andarist)! - Functions are no longer accepted as values for the `style` prop. This unifies the behavior with the web version of Emotion as `style`'s equivalent is `className` prop and functions are not resolved for it.\n\n* [`139ea336`](https://github.com/emotion-js/emotion/commit/139ea336c7f49a3246813238e388e164b80de4da) [#2060](https://github.com/emotion-js/emotion/pull/2060) Thanks [@efoken](https://github.com/efoken)! - `StyleSheet.create` is used now under the hood. This means that when used in combination with React Native Web atomic class names are applied on components instead of inline styles.\n\n- [`79036056`](https://github.com/emotion-js/emotion/commit/79036056808eefc81a77225254f7c25c2ff9d967) [#967](https://github.com/emotion-js/emotion/pull/967) Thanks [@emmatown](https://github.com/emmatown)! - Use hooks internally for improved bundle size and a better tree in React DevTools\n\n* [`95ea2839`](https://github.com/emotion-js/emotion/commit/95ea2839890629748894b3942d26f608f203d3f9) [#2014](https://github.com/emotion-js/emotion/pull/2014) Thanks [@Andarist](https://github.com/Andarist)! - Updated `css-to-react-native` dependency to the 3.x version - it comes with some breaking changes listed [here](https://github.com/styled-components/css-to-react-native/releases/tag/v3.0.0).\n\n### Minor Changes\n\n- [`843bfb11`](https://github.com/emotion-js/emotion/commit/843bfb1153ee0dbe33d005fdd5c5be185daa5c41) [#1630](https://github.com/emotion-js/emotion/pull/1630) Thanks [@Andarist](https://github.com/Andarist)! - `@emotion/native` & `@emotion/primitives` packages come with macros now. Both can be used as `@emotion/native/macro` & `@emotion/primitives/macro` respectively.\n\n* [`456be9a6`](https://github.com/emotion-js/emotion/commit/456be9a602d7d0bac291617f69f59f5ed30d1b84) [#1634](https://github.com/emotion-js/emotion/pull/1634) Thanks [@patsissons](https://github.com/patsissons)! - Added TypeScript type definitions.\n\n- [`2d597857`](https://github.com/emotion-js/emotion/commit/2d5978579f758163663c1bfb40e7d76bc24ae26a) [#2058](https://github.com/emotion-js/emotion/pull/2058) Thanks [@efoken](https://github.com/efoken)! - Added support for the `as` prop.\n\n* [`f1b7c9d6`](https://github.com/emotion-js/emotion/commit/f1b7c9d6dcdb45a02d7c7dce8c3fff28e14ed3ec) [#1642](https://github.com/emotion-js/emotion/pull/1642) Thanks [@Andarist](https://github.com/Andarist)! - Added basic support for accepting custom `shouldForwardProp` option.\n\n### Patch Changes\n\n- [`11fc27f8`](https://github.com/emotion-js/emotion/commit/11fc27f8fa00661353cc7650111afaa068399aca) [#1750](https://github.com/emotion-js/emotion/pull/1750) Thanks [@Zn4rK](https://github.com/Zn4rK)! - Match supported components to what is exported from the latest version of React Native (0.61.5).\n\n* [`db16ac35`](https://github.com/emotion-js/emotion/commit/db16ac358ded4cc04fbd649700716b7cb3b3e40a) [#2013](https://github.com/emotion-js/emotion/pull/2013) Thanks [@Andarist](https://github.com/Andarist)! - Fixed an issue with styles being lost for nested factory calls like:\n\n  ```js\n  const bgColor = color => css`\n    background-color: ${color};\n  `\n\n  const Text = styled.Text`\n    color: hotpink;\n    ${({ backgroundColor }) => bgColor(backgroundColor)};\n  `\n  ```\n\n* Updated dependencies [[`95ea2839`](https://github.com/emotion-js/emotion/commit/95ea2839890629748894b3942d26f608f203d3f9), [`db16ac35`](https://github.com/emotion-js/emotion/commit/db16ac358ded4cc04fbd649700716b7cb3b3e40a), [`95ea2839`](https://github.com/emotion-js/emotion/commit/95ea2839890629748894b3942d26f608f203d3f9), [`139ea336`](https://github.com/emotion-js/emotion/commit/139ea336c7f49a3246813238e388e164b80de4da), [`79036056`](https://github.com/emotion-js/emotion/commit/79036056808eefc81a77225254f7c25c2ff9d967), [`2d597857`](https://github.com/emotion-js/emotion/commit/2d5978579f758163663c1bfb40e7d76bc24ae26a)]:\n  - @emotion/primitives-core@11.0.0\n\n## 11.0.0-rc.0\n\n### Major Changes\n\n- [`9c4ebc16`](https://github.com/emotion-js/emotion/commit/9c4ebc160471097c5d04fb92dba3ed0df870bb63) [#2030](https://github.com/emotion-js/emotion/pull/2030) Thanks [@Andarist](https://github.com/Andarist)! - Release candidate version.\n\n### Patch Changes\n\n- Updated dependencies [[`9c4ebc16`](https://github.com/emotion-js/emotion/commit/9c4ebc160471097c5d04fb92dba3ed0df870bb63)]:\n  - @emotion/primitives-core@11.0.0-rc.0\n\n## 11.0.0-next.19\n\n### Patch Changes\n\n- Updated dependencies []:\n  - @emotion/primitives-core@11.0.0-next.19\n\n## 11.0.0-next.18\n\n### Major Changes\n\n- [`95ea2839`](https://github.com/emotion-js/emotion/commit/95ea2839890629748894b3942d26f608f203d3f9) [#2014](https://github.com/emotion-js/emotion/pull/2014) Thanks [@Andarist](https://github.com/Andarist)! - Updated `css-to-react-native` dependency to the 3.x version - it comes with some breaking changes listed [here](https://github.com/styled-components/css-to-react-native/releases/tag/v3.0.0).\n\n* [`95ea2839`](https://github.com/emotion-js/emotion/commit/95ea2839890629748894b3942d26f608f203d3f9) [#2014](https://github.com/emotion-js/emotion/pull/2014) Thanks [@Andarist](https://github.com/Andarist)! - Functions are no longer accepted as values for the `style` prop. This unifies the behavior with the web version of Emotion as `style`'s equivalent is `className` prop and functions are not resolved for it.\n\n### Patch Changes\n\n- [`db16ac35`](https://github.com/emotion-js/emotion/commit/db16ac358ded4cc04fbd649700716b7cb3b3e40a) [#2013](https://github.com/emotion-js/emotion/pull/2013) Thanks [@Andarist](https://github.com/Andarist)! - Fixed an issue with styles being lost for nested factory calls like:\n\n  ```js\n  const bgColor = color => css`\n    background-color: ${color};\n  `\n\n  const Text = styled.Text`\n    color: hotpink;\n    ${({ backgroundColor }) => bgColor(backgroundColor)};\n  `\n  ```\n\n- Updated dependencies [[`95ea2839`](https://github.com/emotion-js/emotion/commit/95ea2839890629748894b3942d26f608f203d3f9), [`db16ac35`](https://github.com/emotion-js/emotion/commit/db16ac358ded4cc04fbd649700716b7cb3b3e40a), [`95ea2839`](https://github.com/emotion-js/emotion/commit/95ea2839890629748894b3942d26f608f203d3f9)]:\n  - @emotion/primitives-core@11.0.0-next.18\n\n## 11.0.0-next.17\n\n### Patch Changes\n\n- Updated dependencies []:\n  - @emotion/primitives-core@11.0.0-next.17\n\n## 11.0.0-next.16\n\n### Patch Changes\n\n- Updated dependencies []:\n  - @emotion/primitives-core@11.0.0-next.16\n\n## 11.0.0-next.15\n\n### Minor Changes\n\n- [`620f7327`](https://github.com/emotion-js/emotion/commit/620f7327485236a4c57792787484af7d1f9cd799) [#1954](https://github.com/emotion-js/emotion/pull/1954) Thanks [@Andarist](https://github.com/Andarist)! - Reworked TypeScript types around types for React Native's core components. All of them, and all wrapped class components, should now accept `ref` prop properly.\n\n### Patch Changes\n\n- Updated dependencies []:\n  - @emotion/primitives-core@11.0.0-next.15\n\n## 11.0.0-next.14\n\n### Patch Changes\n\n- Updated dependencies []:\n  - @emotion/primitives-core@11.0.0-next.14\n\n## 11.0.0-next.13\n\n### Patch Changes\n\n- Updated dependencies []:\n  - @emotion/primitives-core@11.0.0-next.13\n\n## 11.0.0-next.12\n\n### Patch Changes\n\n- [`11fc27f8`](https://github.com/emotion-js/emotion/commit/11fc27f8fa00661353cc7650111afaa068399aca) [#1750](https://github.com/emotion-js/emotion/pull/1750) Thanks [@Zn4rK](https://github.com/Zn4rK)! - Match supported components to what is exported from the latest version of React Native (0.61.5).\n\n- Updated dependencies []:\n  - @emotion/primitives-core@11.0.0-next.12\n\n## 11.0.0-next.11\n\n### Patch Changes\n\n- [`cb637e65`](https://github.com/emotion-js/emotion/commit/cb637e659964d24c56ba7a93d01f3865f2d94669) [#1716](https://github.com/emotion-js/emotion/pull/1716) Thanks [@hammadj](https://github.com/hammadj)! - Add type definitions to published files for NPM\n\n## 11.0.0-next.10\n\n### Minor Changes\n\n- [`456be9a6`](https://github.com/emotion-js/emotion/commit/456be9a602d7d0bac291617f69f59f5ed30d1b84) [#1572](https://github.com/emotion-js/emotion/pull/1572) Thanks [@patsissons](https://github.com/patsissons)! - Added TypeScript type definitions.\n\n### Patch Changes\n\n- Updated dependencies []:\n  - @emotion/primitives-core@11.0.0-next.10\n\n## 11.0.0-next.9\n\n### Patch Changes\n\n- Updated dependencies []:\n  - @emotion/primitives-core@11.0.0-next.9\n\n## 11.0.0-next.8\n\n### Patch Changes\n\n- Updated dependencies []:\n  - @emotion/primitives-core@11.0.0-next.8\n\n## 11.0.0-next.7\n\n### Patch Changes\n\n- Updated dependencies []:\n  - @emotion/primitives-core@11.0.0-next.7\n\n## 11.0.0-next.6\n\n### Minor Changes\n\n- [`843bfb11`](https://github.com/emotion-js/emotion/commit/843bfb1153ee0dbe33d005fdd5c5be185daa5c41) [#1630](https://github.com/emotion-js/emotion/pull/1630) Thanks [@Andarist](https://github.com/Andarist)! - `@emotion/native` & `@emotion/primitives` packages come with macros now. Both can be used as `@emotion/native/macro` & `@emotion/primitives/macro` respectively.\n\n* [`f1b7c9d6`](https://github.com/emotion-js/emotion/commit/f1b7c9d6dcdb45a02d7c7dce8c3fff28e14ed3ec) [#1642](https://github.com/emotion-js/emotion/pull/1642) Thanks [@Andarist](https://github.com/Andarist)! - Added basic support for accepting custom `shouldForwardProp` option.\n\n### Patch Changes\n\n- Updated dependencies []:\n  - @emotion/primitives-core@11.0.0-next.6\n\n## 11.0.0-next.5\n\n### Patch Changes\n\n- Updated dependencies []:\n  - emotion-theming@11.0.0-next.5\n  - @emotion/primitives-core@11.0.0-next.5\n\n## 11.0.0-next.4\n\n### Patch Changes\n\n- Updated dependencies []:\n  - emotion-theming@11.0.0-next.4\n  - @emotion/primitives-core@11.0.0-next.4\n\n## 11.0.0-next.3\n\n### Patch Changes\n\n- Updated dependencies []:\n  - emotion-theming@11.0.0-next.3\n  - @emotion/primitives-core@11.0.0-next.3\n\n## 11.0.0-next.2\n\n### Major Changes\n\n- [`79036056`](https://github.com/emotion-js/emotion/commit/79036056808eefc81a77225254f7c25c2ff9d967) [#967](https://github.com/emotion-js/emotion/pull/967) Thanks [@emmatown](https://github.com/emmatown)! - Use hooks internally for improved bundle size and a better tree in React DevTools\n\n### Patch Changes\n\n- Updated dependencies [[`79036056`](https://github.com/emotion-js/emotion/commit/79036056808eefc81a77225254f7c25c2ff9d967)]:\n  - emotion-theming@11.0.0-next.2\n  - @emotion/primitives-core@11.0.0-next.2\n\n## 11.0.0-next.1\n\n### Patch Changes\n\n- Updated dependencies [[`1eaa3a38`](https://github.com/emotion-js/emotion/commit/1eaa3a389876d4a623ce66735dc6db093cb2a8e6)]:\n  - emotion-theming@11.0.0-next.1\n  - @emotion/primitives-core@11.0.0-next.1\n\n## 11.0.0-next.0\n\n### Major Changes\n\n- [`302bdba1`](https://github.com/emotion-js/emotion/commit/302bdba1a6b793484c09edeb668815c5e31ea555) [#1600](https://github.com/emotion-js/emotion/pull/1600) Thanks [@emmatown](https://github.com/emmatown)! - Ensure packages are major bumped so that pre-release versions of the linked packages are consistent in the major number\n\n### Patch Changes\n\n- Updated dependencies [[`302bdba1`](https://github.com/emotion-js/emotion/commit/302bdba1a6b793484c09edeb668815c5e31ea555)]:\n  - emotion-theming@11.0.0-next.0\n  - @emotion/primitives-core@11.0.0-next.0\n\n## 10.0.27\n\n### Patch Changes\n\n- [`4c62ae9`](https://github.com/emotion-js/emotion/commit/4c62ae9447959d438928e1a26f76f1487983c968) [#1698](https://github.com/emotion-js/emotion/pull/1698) Thanks [@Andarist](https://github.com/Andarist)! - Add LICENSE file\n- Updated dependencies [[`4c62ae9`](https://github.com/emotion-js/emotion/commit/4c62ae9447959d438928e1a26f76f1487983c968)]:\n  - emotion-theming@10.0.27\n  - @emotion/primitives-core@10.0.27\n\n## 10.0.22\n\n### Patch Changes\n\n- [`ae90f000`](https://github.com/emotion-js/emotion/commit/ae90f00094483ff12d8cbb80d628e30fe6d57d7a) [#841](https://github.com/emotion-js/emotion/pull/841) Thanks [@nitin42](https://github.com/nitin42)! - Improve error message for shorthand properties with missing units.\n\n- Updated dependencies [[`ae90f000`](https://github.com/emotion-js/emotion/commit/ae90f00094483ff12d8cbb80d628e30fe6d57d7a)]:\n  - @emotion/primitives-core@10.0.22\n\n## 10.0.14\n\n### Patch Changes\n\n- [c0eb604d](https://github.com/emotion-js/emotion/commit/c0eb604d) [#1419](https://github.com/emotion-js/emotion/pull/1419) Thanks [@emmatown](https://github.com/emmatown)! - Update build tool\n\n## 10.0.11\n\n### Patch Changes\n\n- [8164e7b](https://github.com/emotion-js/emotion/commit/8164e7b) [#1289](https://github.com/emotion-js/emotion/pull/1344) Thanks [@Josema](https://github.com/Josema)! - Fix usage of @emotion/native with react-native-web\n"
  },
  {
    "path": "packages/native/LICENSE",
    "content": "MIT License\n\nCopyright (c) Emotion team and other contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "packages/native/README.md",
    "content": "# @emotion/native\n\n> Style and render React Native components using emotion\n\n## Install\n\n```\nnpm install @emotion/react @emotion/native\n```\n\nor if you use yarn\n\n```\nyarn add @emotion/react @emotion/native\n```\n\nThis package also depends on `react`, `react-native` and `prop-types` so make sure you've them installed.\n\n## Example\n\n```js\nimport React from 'react'\nimport { AppRegistry } from 'react-native'\nimport styled, { css } from '@emotion/native'\n\nconst Container = styled.View`\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  margin: 50px;\n`\n\nconst Description = styled.Text({\n  color: 'hotpink'\n})\n\nconst Image = styled.Image`\n  padding: 40px;\n`\n\nconst emotionLogo = 'https://cdn.rawgit.com/emotion-js/emotion/main/emotion.png'\n\nclass App extends React.Component {\n  render() {\n    return (\n      <Container\n        style={css`\n          border-radius: 10px;\n        `}\n      >\n        <Description style={{ fontSize: 45, fontWeight: 'bold' }}>\n          Emotion Primitives\n        </Description>\n        <Image\n          source={{\n            uri: emotionLogo,\n            height: 150,\n            width: 150\n          }}\n        />\n      </Container>\n    )\n  }\n}\n\nAppRegistry.registerComponent('ExampleApp', () => App)\n```\n\n## Theming\n\nUse `@emotion/react` for theming support.\n\n```js\nimport React from 'react'\nimport styled, { css } from '@emotion/native'\nimport { ThemeProvider } from '@emotion/react'\n\nconst theme = {\n  color: 'hotpink',\n  backgroundColor: 'purple'\n}\n\nconst Container = styled.View`\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  margin: 50px;\n  border: 5px solid red;\n  background-color: ${props => props.theme.backgroundColor};\n`\n\nconst Description = styled.Text({\n  color: 'hotpink'\n})\n\nconst Image = styled.Image`\n  padding: 40px;\n`\n\nconst emotionLogo = 'https://cdn.rawgit.com/emotion-js/emotion/main/emotion.png'\n\nclass App extends React.Component {\n  render() {\n    return (\n      <ThemeProvider theme={theme}>\n        <Container\n          style={css`\n            border-radius: 10px;\n          `}\n        >\n          <Description style={{ fontSize: 45, fontWeight: 'bold' }}>\n            Emotion Primitives\n          </Description>\n          <Image\n            source={{\n              uri: emotionLogo,\n              height: 150,\n              width: 150\n            }}\n          />\n        </Container>\n      </ThemeProvider>\n    )\n  }\n}\n```\n\n## Gotchas\n\n- Note that the `flex` property works like CSS shorthand, and not the legacy `flex` property in React Native. Setting `flex: 1` sets `flexShrink` to `1` in addition to setting `flexGrow` to `1` and `flexBasis` to `0`.\n"
  },
  {
    "path": "packages/native/macro.d.mts",
    "content": "import styled from '@emotion/native'\nexport * from '@emotion/native'\nexport default styled\n"
  },
  {
    "path": "packages/native/macro.d.ts",
    "content": "import styled from '@emotion/native'\nexport * from '@emotion/native'\nexport default styled\n"
  },
  {
    "path": "packages/native/macro.js",
    "content": "module.exports = require('@emotion/babel-plugin').macros.nativeStyled\n"
  },
  {
    "path": "packages/native/package.json",
    "content": "{\n  \"name\": \"@emotion/native\",\n  \"version\": \"11.11.0\",\n  \"description\": \"Style and render React Native components using emotion\",\n  \"main\": \"dist/emotion-native.cjs.js\",\n  \"module\": \"dist/emotion-native.esm.js\",\n  \"exports\": {\n    \".\": {\n      \"types\": {\n        \"import\": \"./dist/emotion-native.cjs.mjs\",\n        \"default\": \"./dist/emotion-native.cjs.js\"\n      },\n      \"module\": \"./dist/emotion-native.esm.js\",\n      \"import\": \"./dist/emotion-native.cjs.mjs\",\n      \"default\": \"./dist/emotion-native.cjs.js\"\n    },\n    \"./package.json\": \"./package.json\",\n    \"./macro\": {\n      \"types\": {\n        \"import\": \"./macro.d.mts\",\n        \"default\": \"./macro.d.ts\"\n      },\n      \"default\": \"./macro.js\"\n    }\n  },\n  \"scripts\": {\n    \"test:typescript\": \"dtslint types\"\n  },\n  \"files\": [\n    \"src\",\n    \"dist\",\n    \"types/*.d.ts\",\n    \"macro.*\"\n  ],\n  \"types\": \"types/index.d.ts\",\n  \"devDependencies\": {\n    \"@definitelytyped/dtslint\": \"0.0.112\",\n    \"@types/react-native\": \"^0.63.2\",\n    \"react\": \"16.14.0\",\n    \"react-native\": \"^0.63.2\",\n    \"typescript\": \"^5.4.5\"\n  },\n  \"dependencies\": {\n    \"@emotion/primitives-core\": \"^11.11.0\"\n  },\n  \"peerDependencies\": {\n    \"react-native\": \">=0.14.0 <1\"\n  },\n  \"homepage\": \"https://emotion.sh\",\n  \"license\": \"MIT\",\n  \"repository\": \"https://github.com/emotion-js/emotion/tree/main/packages/native\",\n  \"keywords\": [\n    \"styles\",\n    \"emotion\",\n    \"react\",\n    \"css\",\n    \"css-in-js\",\n    \"native\"\n  ],\n  \"bugs\": {\n    \"url\": \"https://github.com/emotion-js/emotion/issues\"\n  },\n  \"publishConfig\": {\n    \"access\": \"public\"\n  },\n  \"preconstruct\": {\n    \"exports\": {\n      \"extra\": {\n        \"./macro\": {\n          \"types\": {\n            \"import\": \"./macro.d.mts\",\n            \"default\": \"./macro.d.ts\"\n          },\n          \"default\": \"./macro.js\"\n        }\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "packages/native/src/base.js",
    "content": "import { StyleSheet } from 'react-native'\nimport { createStyled } from '@emotion/primitives-core'\n\n/**\n * a function that returns a styled component which render styles in React Native\n */\nlet styled = createStyled(StyleSheet)\n\nexport { styled }\n"
  },
  {
    "path": "packages/native/src/index.d.ts",
    "content": "export * from '../types'\nexport { default } from '../types'\n"
  },
  {
    "path": "packages/native/src/index.js",
    "content": "import * as reactNative from 'react-native'\nimport { createCss } from '@emotion/primitives-core'\n\nimport { styled } from './base'\n\nconst css = createCss(reactNative.StyleSheet)\n\nconst components = [\n  'ActivityIndicator',\n  'Button',\n  'DatePickerIOS',\n  'DrawerLayoutAndroid',\n  'FlatList',\n  'Image',\n  'ImageBackground',\n  'KeyboardAvoidingView',\n  'ListView',\n  'Modal',\n  'NavigatorIOS',\n  'Picker',\n  'PickerIOS',\n  'Pressable',\n  'ProgressBarAndroid',\n  'ProgressViewIOS',\n  'RecyclerViewBackedScrollView',\n  'RefreshControl',\n  'SafeAreaView',\n  'ScrollView',\n  'SectionList',\n  'SegmentedControlIOS',\n  'Slider',\n  'SnapshotViewIOS',\n  'StatusBar',\n  'SwipeableListView',\n  'Switch',\n  'SwitchIOS',\n  'TabBarIOS',\n  'Text',\n  'TextInput',\n  'ToolbarAndroid',\n  'TouchableHighlight',\n  'TouchableNativeFeedback',\n  'TouchableOpacity',\n  'TouchableWithoutFeedback',\n  'View',\n  'ViewPagerAndroid'\n]\n\nexport { css }\n\nexport default components.reduce(\n  (acc, comp) =>\n    Object.defineProperty(acc, comp, {\n      enumerable: true,\n      configurable: false,\n      get() {\n        return styled(reactNative[comp])\n      }\n    }),\n  styled\n)\n"
  },
  {
    "path": "packages/native/test/__snapshots__/native-styled.test.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`Emotion native styled primitive should work with \\`withComponent\\` 1`] = `\n<Text\n  decor=\"hotpink\"\n  style={\n    [\n      92,\n      undefined,\n    ]\n  }\n>\n  Mike\n</Text>\n`;\n\nexports[`Emotion native styled should pass props in withComponent 1`] = `\n<View\n  color=\"green\"\n  style={\n    [\n      96,\n      undefined,\n    ]\n  }\n/>\n`;\n\nexports[`Emotion native styled should pass props in withComponent 2`] = `\n<Text\n  color=\"hotpink\"\n  style={\n    [\n      97,\n      undefined,\n    ]\n  }\n/>\n`;\n\nexports[`Emotion native styled should render <Image /> 1`] = `\n<Image\n  source={\n    {\n      \"height\": 150,\n      \"uri\": \"https://camo.githubusercontent.com/209bdea972b9b6ef90220c59ecbe66d35ffefa8a/68747470733a2f2f63646e2e7261776769742e636f6d2f746b6834342f656d6f74696f6e2f6d61737465722f656d6f74696f6e2e706e67\",\n      \"width\": 150,\n    }\n  }\n  style={\n    [\n      98,\n      undefined,\n    ]\n  }\n/>\n`;\n\nexports[`Emotion native styled should render primitive with style prop 1`] = `\n<Text\n  style={\n    [\n      92,\n      {\n        \"padding\": 10,\n      },\n    ]\n  }\n>\n  Emotion primitives\n</Text>\n`;\n\nexports[`Emotion native styled should render styles correctly from all nested style factories 1`] = `\n<Text\n  backgroundColor=\"blue\"\n  style={\n    [\n      101,\n      undefined,\n    ]\n  }\n>\n  Hello World\n</Text>\n`;\n\nexports[`Emotion native styled should render the primitive on changing the props 1`] = `\n<Text\n  decor=\"hotpink\"\n  style={\n    [\n      91,\n      undefined,\n    ]\n  }\n>\n  Emotion Primitives\n</Text>\n`;\n\nexports[`Emotion native styled should render the primitive when styles applied using object style notation 1`] = `\n<Text\n  back=\"red\"\n  style={\n    [\n      89,\n      {\n        \"fontSize\": 40,\n      },\n    ]\n  }\n>\n  Emotion Primitives\n</Text>\n`;\n\nexports[`Emotion native styled should style any other component 1`] = `\n<Text\n  style={\n    [\n      92,\n      undefined,\n    ]\n  }\n>\n  Hello World\n</Text>\n`;\n\nexports[`Emotion native styled should work with StyleSheet.create API 1`] = `\n<Text\n  style={\n    [\n      94,\n      93,\n    ]\n  }\n>\n  Emotion primitives\n</Text>\n`;\n\nexports[`Emotion native styled should work with theming from @emotion/react 1`] = `\n<Text\n  style={\n    [\n      90,\n      undefined,\n    ]\n  }\n>\n  Hello World\n</Text>\n`;\n"
  },
  {
    "path": "packages/native/test/native-css.test.js",
    "content": "import { css } from '@emotion/native'\nimport { StyleSheet } from 'react-native'\n\njest.mock('react-native')\n\nlet returnArguments = (...args) => args\n\ndescribe('Emotion native css', () => {\n  test('basic', () => {\n    expect(\n      StyleSheet.flatten(css`\n        color: hotpink;\n        ${{ backgroundColor: 'green' }};\n      `)\n    ).toEqual({ color: 'hotpink', backgroundColor: 'green' })\n    expect(StyleSheet.flatten(css({ color: 'green' }))).toEqual({\n      color: 'green'\n    })\n    expect(\n      StyleSheet.flatten(css([{ color: 'green' }, `background-color:yellow;`]))\n    ).toEqual({\n      color: 'green',\n      backgroundColor: 'yellow'\n    })\n    expect(StyleSheet.flatten(css([{ color: 'green' }]))).toEqual({\n      color: 'green'\n    })\n  })\n\n  test('order with string and object', () => {\n    // this test checks the keys instead of the objects\n    // because we care about the order of the keys\n    expect(\n      Object.keys(\n        StyleSheet.flatten(\n          css({ color: 'green' }, `background-color:yellow;`, { flex: 2 })\n        )\n      )\n    ).toEqual(['color', 'backgroundColor', 'flex'])\n    expect(\n      Object.keys(\n        StyleSheet.flatten(\n          css([\n            [{ color: 'green' }, `background-color:yellow;`],\n            {\n              flex: 2\n            }\n          ])\n        )\n      )\n    ).toEqual(['color', 'backgroundColor', 'flex'])\n    expect(\n      Object.keys(\n        StyleSheet.flatten(\n          css([\n            { color: 'green' },\n            [\n              `background-color:yellow;`,\n              {\n                flex: 2\n              }\n            ]\n          ])\n        )\n      )\n    ).toEqual(['color', 'backgroundColor', 'flex'])\n    expect(\n      Object.keys(\n        StyleSheet.flatten(\n          css([\n            { color: 'green' },\n            [\n              { flex: 8 },\n              `background-color:yellow;`,\n              [`flex-grow: 1;`, { flexDirection: 'row' }]\n            ]\n          ])\n        )\n      )\n    ).toEqual(['color', 'flex', 'backgroundColor', 'flexGrow', 'flexDirection'])\n  })\n\n  test('allows function interpolations when this.mergedProps is defined', () => {\n    expect(\n      StyleSheet.flatten(\n        css.call({ thing: true }, props => ({\n          color: props.thing && 'hotpink'\n        }))\n      )\n    ).toEqual({ color: 'hotpink' })\n  })\n\n  test('works with nested functions', () => {\n    expect(\n      StyleSheet.flatten(\n        css.call({ thing: true }, props => () => ({\n          color: props.thing && 'hotpink'\n        }))\n      )\n    ).toEqual({ color: 'hotpink' })\n  })\n\n  test('works with functions in tagged template literals', () => {\n    expect(\n      StyleSheet.flatten(\n        css.call(\n          {},\n          ...returnArguments`\n        color: ${() => 'hotpink'};\n      `\n        )\n      )\n    ).toEqual({ color: 'hotpink' })\n  })\n\n  test('last arg falsy and string before that', () => {\n    expect(StyleSheet.flatten(css('color:hotpink;', false))).toEqual({\n      color: 'hotpink'\n    })\n  })\n\n  test('falsy value in the middle', () => {\n    expect(\n      StyleSheet.flatten(css`\n        color: ${false};\n        background-color: hotpink;\n      `)\n    ).toEqual({ backgroundColor: 'hotpink' })\n  })\n\n  test('composition', () => {\n    let firstStyle = css`\n      color: hotpink;\n    `\n    expect(\n      StyleSheet.flatten(css`\n        background-color: green;\n        ${firstStyle};\n      `)\n    ).toEqual({ backgroundColor: 'green', color: 'hotpink' })\n  })\n\n  test('skip comments', () => {\n    let styles = css`\n      color: hotpink;\n      /*\n        padding: 10px;\n      */\n    `\n\n    let anotherStyles = css`\n      font-size: 10px;\n      // color: red;\n    `\n\n    expect(StyleSheet.flatten(styles)).toEqual({ color: 'hotpink' })\n    expect(StyleSheet.flatten(anotherStyles)).toEqual({ fontSize: 10 })\n  })\n})\n"
  },
  {
    "path": "packages/native/test/native-styled.test.js",
    "content": "import * as React from 'react'\nimport renderer from 'react-test-renderer'\nimport { ThemeProvider } from '@emotion/react'\nimport styled, { css } from '@emotion/native'\nimport reactNative from 'react-native'\n\nconst StyleSheet = reactNative.StyleSheet\n\njest.mock('react-native')\n\nconsole.error = jest.fn()\n\nconst theme = { backgroundColor: 'magenta', display: 'flex' }\n\ndescribe('Emotion native styled', () => {\n  test('should not throw an error when used valid primitive', () => {\n    expect(() => styled.Text({})).not.toThrow()\n  })\n\n  test('should throw an error when used invalid primitive', () => {\n    expect(() => styled.TEXT({})).toThrow()\n  })\n\n  test('should render the primitive when styles applied using object style notation', () => {\n    const Text = styled.Text`\n      color: red;\n      font-size: 20px;\n      background-color: ${props => props.back};\n    `\n    const tree = renderer\n      .create(\n        <Text style={{ fontSize: 40 }} back=\"red\">\n          Emotion Primitives\n        </Text>\n      )\n      .toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('should work with theming from @emotion/react', () => {\n    const Text = styled.Text`\n      color: ${props => props.theme.backgroundColor};\n    `\n\n    const tree = renderer\n      .create(\n        <ThemeProvider theme={theme}>\n          <Text>Hello World</Text>\n        </ThemeProvider>\n      )\n      .toJSON()\n\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('should render the primitive on changing the props', () => {\n    const Text = styled.Text({ padding: '20px' }, props => ({\n      color: props.decor\n    }))\n    const tree = renderer\n      .create(<Text decor=\"hotpink\">Emotion Primitives</Text>)\n      .toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('should render primitive with style prop', () => {\n    const Title = styled.Text`\n      color: hotpink;\n    `\n    const tree = renderer\n      .create(<Title style={{ padding: 10 }}>Emotion primitives</Title>)\n      .toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('should work with StyleSheet.create API', () => {\n    const styles = StyleSheet.create({ foo: { color: 'red' } })\n    const Text = styled.Text`\n      font-size: 10px;\n    `\n    const tree = renderer\n      .create(<Text style={styles.foo}>Emotion primitives</Text>)\n      .toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('primitive should work with `withComponent`', () => {\n    const Text = styled.Text`\n      color: ${props => props.decor};\n    `\n    const Name = Text.withComponent(reactNative.Text)\n    const tree = renderer.create(<Name decor=\"hotpink\">Mike</Name>).toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('should style any other component', () => {\n    const Text = styled.Text`\n      color: hotpink;\n    `\n    const Title = () => <Text>Hello World</Text>\n    const StyledTitle = styled(Title)`\n      font-size: 20px;\n      font-style: ${props => props.sty};\n    `\n    const tree = renderer.create(<StyledTitle sty=\"italic\" />).toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('should pass props in withComponent', () => {\n    const ViewOne = styled.View`\n      background-color: ${props => props.color};\n    `\n    const treeOne = renderer.create(<ViewOne color=\"green\" />)\n    const ViewTwo = ViewOne.withComponent(reactNative.Text)\n    const treeTwo = renderer.create(<ViewTwo color=\"hotpink\" />)\n\n    expect(treeOne).toMatchSnapshot()\n    expect(treeTwo).toMatchSnapshot()\n  })\n\n  test('should render <Image />', () => {\n    const Image = styled.Image`\n      border-radius: 2px;\n    `\n    const tree = renderer\n      .create(\n        <Image\n          source={{\n            uri: 'https://camo.githubusercontent.com/209bdea972b9b6ef90220c59ecbe66d35ffefa8a/68747470733a2f2f63646e2e7261776769742e636f6d2f746b6834342f656d6f74696f6e2f6d61737465722f656d6f74696f6e2e706e67',\n            height: 150,\n            width: 150\n          }}\n        />\n      )\n      .toJSON()\n\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('Log error message if units are not specified when using shorthand properties', () => {\n    const Text = styled.Text`\n      margin: 20px;\n      padding: 20;\n    `\n\n    renderer.create(<Text>Hello World</Text>)\n\n    expect(console.error).toBeCalledWith(\n      \"'padding' shorthand property requires units for example - padding: 20px or padding: 10px 20px 40px 50px\"\n    )\n  })\n\n  test('should render styles correctly from all nested style factories', () => {\n    const bgColor = color => css`\n      background-color: ${color};\n    `\n\n    const Text = styled.Text`\n      color: hotpink;\n      ${({ backgroundColor }) => bgColor(backgroundColor)};\n    `\n\n    const tree = renderer\n      .create(<Text backgroundColor=\"blue\">Hello World</Text>)\n      .toJSON()\n\n    expect(tree).toMatchSnapshot()\n  })\n})\n"
  },
  {
    "path": "packages/native/tsconfig.json",
    "content": "{\n  \"compilerOptions\": {\n    \"esModuleInterop\": true,\n    \"forceConsistentCasingInFileNames\": true,\n    \"isolatedModules\": true,\n    \"jsx\": \"react\",\n    \"lib\": [\"es6\", \"dom\"],\n    \"module\": \"commonjs\",\n    \"noEmit\": true,\n    \"skipLibCheck\": true,\n    \"skipDefaultLibCheck\": true,\n    \"resolveJsonModule\": true,\n    \"strict\": true,\n    \"target\": \"es5\",\n    \"types\": []\n  }\n}\n"
  },
  {
    "path": "packages/native/types/base.d.ts",
    "content": "// Definitions by: Pat Sissons <https://github.com/patsissons>\n// TypeScript Version: 3.4\n\nimport { Theme } from '@emotion/react'\nimport * as RN from 'react-native'\n\ntype ReactNative = typeof RN\n\nexport type ReactNativeStyle = RN.ViewStyle | RN.TextStyle | RN.ImageStyle\n\nexport type ReactNativeStyleType<Props> = Props extends {\n  style?: RN.StyleProp<infer StyleType>\n}\n  ? StyleType extends ReactNativeStyle\n    ? StyleType\n    : ReactNativeStyle\n  : ReactNativeStyle\n\nexport type InterpolationPrimitive<\n  StyleType extends ReactNativeStyle = ReactNativeStyle\n> =\n  | null\n  | undefined\n  | boolean\n  | number\n  | string\n  | ObjectInterpolation<StyleType>\n\nexport type ObjectInterpolation<\n  StyleType extends ReactNativeStyle = ReactNativeStyle\n> = StyleType\n\nexport interface ArrayCSSInterpolation<\n  StyleType extends ReactNativeStyle = ReactNativeStyle\n> extends Array<CSSInterpolation<StyleType>> {}\n\nexport type CSSInterpolation<\n  StyleType extends ReactNativeStyle = ReactNativeStyle\n> = InterpolationPrimitive<StyleType> | ArrayCSSInterpolation<StyleType>\n\nexport interface ArrayInterpolation<\n  MergedProps,\n  StyleType extends ReactNativeStyle = ReactNativeStyle\n> extends Array<Interpolation<MergedProps, StyleType>> {}\n\nexport interface FunctionInterpolation<\n  MergedProps,\n  StyleType extends ReactNativeStyle = ReactNativeStyle\n> {\n  (mergedProps: MergedProps): Interpolation<MergedProps, StyleType>\n}\n\nexport type Interpolation<\n  MergedProps = unknown,\n  StyleType extends ReactNativeStyle = ReactNativeStyle\n> =\n  | InterpolationPrimitive<StyleType>\n  | ArrayInterpolation<MergedProps, StyleType>\n  | FunctionInterpolation<MergedProps, StyleType>\n\n/** Same as StyledOptions but shouldForwardProp must be a type guard */\nexport interface FilteringStyledOptions<\n  Props = Record<string, any>,\n  ForwardedProps extends keyof Props & string = keyof Props & string\n> {\n  shouldForwardProp?: (propName: string) => propName is ForwardedProps\n}\n\nexport interface StyledOptions<Props = Record<string, any>> {\n  shouldForwardProp?: (propName: string) => boolean\n}\n\n/**\n * @typeparam ComponentProps  Props which will be included when withComponent is called\n * @typeparam SpecificComponentProps  Props which will *not* be included when withComponent is called\n */\nexport interface StyledComponent<\n  ComponentProps extends {},\n  SpecificComponentProps extends {} = {},\n  JSXProps extends {} = {}\n> extends React.FC<ComponentProps & SpecificComponentProps & JSXProps> {\n  withComponent<C extends React.ComponentClass<React.ComponentProps<C>>>(\n    component: C\n  ): StyledComponent<\n    ComponentProps & React.ComponentProps<C>,\n    {},\n    { ref?: React.Ref<InstanceType<C>> }\n  >\n  withComponent<C extends React.ComponentType<React.ComponentProps<C>>>(\n    component: C\n  ): StyledComponent<ComponentProps & React.ComponentProps<C>>\n}\n\n/**\n * @typeparam ComponentProps  Props which will be included when withComponent is called\n * @typeparam SpecificComponentProps  Props which will *not* be included when withComponent is called\n */\nexport interface CreateStyledComponent<\n  ComponentProps extends {},\n  SpecificComponentProps extends {} = {},\n  JSXProps extends {} = {},\n  StyleType extends ReactNativeStyle = ReactNativeStyle\n> {\n  /**\n   * @typeparam AdditionalProps  Additional props to add to your styled component\n   */\n  <AdditionalProps extends {} = {}>(\n    ...styles: ArrayInterpolation<\n      ComponentProps &\n        SpecificComponentProps &\n        AdditionalProps & { theme: Theme },\n      StyleType\n    >\n  ): StyledComponent<\n    ComponentProps & AdditionalProps,\n    SpecificComponentProps,\n    JSXProps\n  >\n  /**\n   * @typeparam AdditionalProps  Additional props to add to your styled component\n   */\n  <AdditionalProps extends {} = {}>(\n    template: TemplateStringsArray,\n    ...styles: ArrayInterpolation<\n      ComponentProps &\n        SpecificComponentProps &\n        AdditionalProps & { theme: Theme },\n      StyleType\n    >\n  ): StyledComponent<\n    ComponentProps & AdditionalProps,\n    SpecificComponentProps,\n    JSXProps\n  >\n}\n\n/**\n * @desc\n * This function accepts a React component.\n *\n * @example styled(MyComponent)({ width: 100 })\n * @example styled(MyComponent)(myComponentProps => ({ width: myComponentProps.width })\n * @example styled(View)({ width: 100 })\n * @example styled(View)<Props>(props => ({ width: props.width })\n */\nexport interface CreateStyled {\n  <\n    C extends React.ComponentClass<React.ComponentProps<C>>,\n    ForwardedProps extends keyof React.ComponentProps<C> &\n      string = keyof React.ComponentProps<C> & string\n  >(\n    component: C,\n    options: FilteringStyledOptions<React.ComponentProps<C>, ForwardedProps>\n  ): CreateStyledComponent<\n    Pick<React.ComponentProps<C>, ForwardedProps> & {\n      theme?: Theme\n      as?: React.ElementType\n    },\n    {},\n    { ref?: React.Ref<InstanceType<C>> },\n    ReactNativeStyleType<React.ComponentProps<C>>\n  >\n\n  <C extends React.ComponentClass<React.ComponentProps<C>>>(\n    component: C,\n    options?: StyledOptions<React.ComponentProps<C>>\n  ): CreateStyledComponent<\n    React.ComponentProps<C> & {\n      theme?: Theme\n      as?: React.ElementType\n    },\n    {},\n    { ref?: React.Ref<InstanceType<C>> },\n    ReactNativeStyleType<React.ComponentProps<C>>\n  >\n\n  <\n    C extends React.ComponentType<React.ComponentProps<C>>,\n    ForwardedProps extends keyof React.ComponentProps<C> &\n      string = keyof React.ComponentProps<C> & string\n  >(\n    component: C,\n    options: FilteringStyledOptions<React.ComponentProps<C>, ForwardedProps>\n  ): CreateStyledComponent<\n    Pick<React.ComponentProps<C>, ForwardedProps> & {\n      theme?: Theme\n      as?: React.ElementType\n    },\n    {},\n    {},\n    ReactNativeStyleType<React.ComponentProps<C>>\n  >\n\n  <C extends React.ComponentType<React.ComponentProps<C>>>(\n    component: C,\n    options?: StyledOptions<React.ComponentProps<C>>\n  ): CreateStyledComponent<\n    React.ComponentProps<C> & { theme?: Theme; as?: React.ElementType },\n    {},\n    {},\n    ReactNativeStyleType<React.ComponentProps<C>>\n  >\n}\n\nexport const styled: CreateStyled\n"
  },
  {
    "path": "packages/native/types/index.d.ts",
    "content": "// Definitions by: Pat Sissons <https://github.com/patsissons>\n// TypeScript Version: 4.1\n\nimport * as RN from 'react-native'\nimport { Theme } from '@emotion/react'\n\nimport {\n  CreateStyled as BaseCreateStyled,\n  CreateStyledComponent,\n  CSSInterpolation,\n  Interpolation,\n  ReactNativeStyle,\n  ReactNativeStyleType\n} from './base'\n\nexport {\n  ArrayCSSInterpolation,\n  ArrayInterpolation,\n  CreateStyledComponent,\n  CSSInterpolation,\n  FilteringStyledOptions,\n  FunctionInterpolation,\n  Interpolation,\n  InterpolationPrimitive,\n  ObjectInterpolation,\n  ReactNativeStyle,\n  StyledComponent,\n  StyledOptions\n} from './base'\n\ntype ReactNative = typeof RN\n\nexport function css<StyleType extends ReactNativeStyle = ReactNativeStyle>(\n  template: TemplateStringsArray,\n  ...args: Array<Interpolation>\n): StyleType\nexport function css<StyleType extends ReactNativeStyle = ReactNativeStyle>(\n  ...args: Array<StyleType>\n): StyleType\nexport function css<StyleType extends ReactNativeStyle = ReactNativeStyle>(\n  ...args: Array<CSSInterpolation>\n): StyleType\n\n// those 2 are just copies of the `BaseCreateStyled` with supplied `C` type argument\ntype HostClassComponent<C extends React.ComponentClass<any>> =\n  CreateStyledComponent<\n    React.ComponentProps<C> & { theme?: Theme; as?: React.ElementType },\n    {},\n    { ref?: React.Ref<InstanceType<C>> },\n    ReactNativeStyleType<React.ComponentProps<C>>\n  >\ntype HostFunctionComponent<C extends React.FunctionComponent<any>> =\n  CreateStyledComponent<\n    React.ComponentProps<C> & { theme?: Theme; as?: React.ElementType },\n    {},\n    {},\n    ReactNativeStyleType<React.ComponentProps<C>>\n  >\n\nexport interface StyledComponents {\n  ActivityIndicator: HostClassComponent<ReactNative['ActivityIndicator']>\n  Button: HostClassComponent<ReactNative['Button']>\n  DatePickerIOS: HostClassComponent<ReactNative['DatePickerIOS']>\n  DrawerLayoutAndroid: HostClassComponent<ReactNative['DrawerLayoutAndroid']>\n  FlatList: HostClassComponent<ReactNative['FlatList']>\n  Image: HostClassComponent<ReactNative['Image']>\n  ImageBackground: HostClassComponent<ReactNative['ImageBackground']>\n  KeyboardAvoidingView: HostClassComponent<ReactNative['KeyboardAvoidingView']>\n  ListView: HostClassComponent<ReactNative['ListView']>\n  Modal: HostClassComponent<ReactNative['Modal']>\n  NavigatorIOS: HostClassComponent<ReactNative['NavigatorIOS']>\n  Picker: HostClassComponent<ReactNative['Picker']>\n  PickerIOS: HostClassComponent<ReactNative['PickerIOS']>\n  Pressable: HostFunctionComponent<ReactNative['Pressable']>\n  ProgressBarAndroid: HostClassComponent<ReactNative['ProgressBarAndroid']>\n  ProgressViewIOS: HostClassComponent<ReactNative['ProgressViewIOS']>\n  RecyclerViewBackedScrollView: HostClassComponent<\n    ReactNative['RecyclerViewBackedScrollView']\n  >\n  RefreshControl: HostClassComponent<ReactNative['RefreshControl']>\n  SafeAreaView: HostClassComponent<ReactNative['SafeAreaView']>\n  ScrollView: HostClassComponent<ReactNative['ScrollView']>\n  SectionList: HostClassComponent<ReactNative['SectionList']>\n  SegmentedControlIOS: HostClassComponent<ReactNative['SegmentedControlIOS']>\n  Slider: HostClassComponent<ReactNative['Slider']>\n  SnapshotViewIOS: HostClassComponent<ReactNative['SnapshotViewIOS']>\n  StatusBar: HostClassComponent<ReactNative['StatusBar']>\n  SwipeableListView: HostClassComponent<ReactNative['SwipeableListView']>\n  Switch: HostClassComponent<ReactNative['Switch']>\n  SwitchIOS: HostClassComponent<ReactNative['SwitchIOS']>\n  TabBarIOS: HostClassComponent<ReactNative['TabBarIOS']>\n  Text: HostClassComponent<ReactNative['Text']>\n  TextInput: HostClassComponent<ReactNative['TextInput']>\n  ToolbarAndroid: HostClassComponent<ReactNative['ToolbarAndroid']>\n  TouchableHighlight: HostClassComponent<ReactNative['TouchableHighlight']>\n  TouchableNativeFeedback: HostClassComponent<\n    ReactNative['TouchableNativeFeedback']\n  >\n  TouchableOpacity: HostClassComponent<ReactNative['TouchableOpacity']>\n  TouchableWithoutFeedback: HostClassComponent<\n    ReactNative['TouchableWithoutFeedback']\n  >\n  View: HostClassComponent<ReactNative['View']>\n  ViewPagerAndroid: HostClassComponent<ReactNative['ViewPagerAndroid']>\n}\n\nexport interface CreateStyled extends BaseCreateStyled, StyledComponents {}\n\ndeclare const styled: CreateStyled\nexport default styled\n"
  },
  {
    "path": "packages/native/types/resolved-condition.ts",
    "content": "export default true as boolean\n"
  },
  {
    "path": "packages/native/types/tests.tsx",
    "content": "import * as React from 'react'\nimport {\n  FlexStyle,\n  ImageStyle,\n  ScrollView,\n  StyleProp,\n  TextStyle,\n  View\n} from 'react-native'\nimport styled, {\n  css,\n  ReactNativeStyle,\n  StyledOptions,\n  FilteringStyledOptions\n} from '@emotion/native'\n\ndeclare module '@emotion/react' {\n  // tslint:disable-next-line: strict-export-declare-modifiers\n  export interface Theme {\n    color: {\n      primary: string\n      positive: string\n      negative: string\n    }\n  }\n}\n\nconst cssObject = {\n  height: 100,\n  width: '100%',\n  display: 'flex' as const,\n  position: undefined\n}\n\nconst className = css`\n  ${(true as boolean) && ''}\n  ${'bar'}\n  ${css``}\n  ${1}\n  ${cssObject}\n`\n\nconst className2: ReactNativeStyle = css(cssObject)\n\ncss([{ display: 'none' }, [{ position: 'relative' }, { width: 100 }]])\n\ncss({ display: 'none' }, [{ position: 'relative' }, { width: 100 }])\n\ncss(null)\n\ninterface ExtraProps {\n  foo: string\n}\n\ninterface AdditionalProps {\n  bar: string\n}\n\nexport const ExplicitExtraPropsView = styled.View<ExtraProps>`\n  background-color: red; // ${({ foo }) => foo}\n`\n\nexport const InferredPropsView = styled.View`\n  background-color: green; // ${({ testID }) => testID}\n`\n\nexport const InferredExtraPropsView = styled.View<ExtraProps>`\n  background-color: blue; // ${({ foo }) => foo}\n`\n\nexport const ThemedView = styled.View<AdditionalProps>`\n  background-color: ${({ theme }) => theme.color.positive}; // ${({ bar }) =>\n    bar}\n`\n\nconst largeTextStyle: TextStyle = {\n  fontSize: 24\n}\n\nconst stretchImageStyle: ImageStyle = {\n  resizeMode: 'stretch'\n}\n\n// for some reason, TypeScript is not complaining about the incorrect interpolated type\nstyled.Text(largeTextStyle, stretchImageStyle)\nexport const LargeText = styled.Text`\n  ${largeTextStyle}// ${stretchImageStyle}\n`\n\nstyled.Image(\n  stretchImageStyle\n  // this style will not align with the ImageStyle typing requirement\n  // largeTextStyle\n)\nexport const StretchedImage = styled.Image`\n  ${stretchImageStyle};\n`\n\nexport const ComposedView = styled.View`\n  ${className} ${className2}\n  background-color: white;\n`\n\nexport const NestedComposedView = styled.View(css`\n  ${className} ${className2}\n  background-color: white;\n`)\n\nfunction MyStyledComponent(_props: { style?: StyleProp<ImageStyle> }) {\n  return null\n}\n\nstyled(MyStyledComponent)(stretchImageStyle)\n\nconst theme = {\n  color: {\n    primary: 'blue',\n    negative: 'red',\n    positive: 'green'\n  }\n}\n\nexport const themed = <ThemedView bar=\"bar\" theme={theme} />\nexport const composed = <ComposedView theme={theme} />\n\nfunction MyComponent(_props: AdditionalProps) {\n  return null\n}\n\nfunction MyOtherComponent(_props: { foo: string }) {\n  return null\n}\n\nstyled(MyComponent)({ width: 100 })\nstyled(MyComponent)({ width: 100 }).withComponent(MyOtherComponent)\nstyled(MyComponent)(({ bar }) => ({ color: bar }))\nstyled(View)({ width: 100 })\nstyled(View)<ExtraProps>(({ foo, testID }) => ({ color: foo, testID }))\n\nconst styles = {\n  container: css({ flex: 1 }),\n  scrollContainer: css`\n    flex-grow: 1;\n    align-items: center;\n  `,\n  centered: css<FlexStyle>`\n    justify-content: center;\n    align-items: center;\n  `\n}\n\nexport const scrollElem = (\n  <ScrollView contentContainerStyle={styles.scrollContainer}>\n    <View />\n  </ScrollView>\n)\nexport const Container = styled.View(styles.container)\nexport const CenterContainer = styled.View(styles.container, styles.centered)\nexport const ImageFullWidthContained = styled.Image`\n  ${styles.container} width: 100%;\n  resize-mode: contain;\n`\n\n{\n  // ref support\n  const Container1 = styled.View()\n  const Container2 = styled(View)()\n\n  const containerRef1 = React.useRef<View>(null)\n  const containerRef2 = React.useRef<View>(null)\n  ;<Container1 ref={containerRef1} />\n  ;<Container2 ref={containerRef2} />\n}\n\n{\n  // Props forwarding through StyledOptions and FilteringStyledOptions\n\n  styled(View, { shouldForwardProp: (prop: string) => true })({})\n  // $ExpectError\n  styled(View, { shouldForwardProp: (prop: 'testID') => true })({})\n\n  styled(View, {\n    shouldForwardProp: (prop: string): prop is 'testID' => true\n  })({})\n  styled(View, {\n    // $ExpectError\n    shouldForwardProp: (prop: 'testID'): prop is 'testID' => true\n  })({})\n\n  // $ExpectError\n  styled(View, { shouldForwardProp: (prop: 'foo') => true })({})\n}\n"
  },
  {
    "path": "packages/native/types/tsconfig.json",
    "content": "{\n  \"compilerOptions\": {\n    \"baseUrl\": \"../\",\n    \"forceConsistentCasingInFileNames\": true,\n    \"jsx\": \"react\",\n    \"lib\": [\"es6\", \"dom\"],\n    \"module\": \"commonjs\",\n    \"esModuleInterop\": true,\n    \"resolveJsonModule\": true,\n    \"noEmit\": true,\n    \"strict\": true,\n    \"target\": \"es5\",\n    \"typeRoots\": [\"../\"],\n    \"types\": [],\n    \"skipLibCheck\": true,\n    \"paths\": {\n      \"#is-browser\": [\"./types/resolved-condition.ts\"],\n      \"#is-development\": [\"./types/resolved-condition.ts\"]\n    }\n  },\n  \"include\": [\"./*.ts\", \"./*.tsx\"]\n}\n"
  },
  {
    "path": "packages/native/types/tslint.json",
    "content": "{\n  \"extends\": \"@definitelytyped/dtslint/dtslint.json\",\n  \"rules\": {\n    \"array-type\": [true, \"generic\"],\n    \"callable-types\": false,\n    \"import-spacing\": false,\n    \"semicolon\": false,\n    \"whitespace\": [\n      true,\n      \"check-branch\",\n      \"check-decl\",\n      \"check-operator\",\n      \"check-module\",\n      \"check-rest-spread\",\n      \"check-type\",\n      \"check-typecast\",\n      \"check-type-operator\",\n      \"check-preblock\"\n    ],\n    \"no-null-undefined-union\": false,\n    \"no-unnecessary-generics\": false,\n    \"strict-export-declare-modifiers\": false,\n    \"unnecessary-bind\": false,\n    \"ban-ts-ignore\": false\n  }\n}\n"
  },
  {
    "path": "packages/primitives/CHANGELOG.md",
    "content": "# @emotion/primitives\n\n## 11.13.0\n\n### Minor Changes\n\n- [#3215](https://github.com/emotion-js/emotion/pull/3215) [`a9f6912`](https://github.com/emotion-js/emotion/commit/a9f691299844bf6837b7ad41ee17cd912496f3d5) Thanks [@Andarist](https://github.com/Andarist)! - Added `edge-light` and `workerd` conditions to `package.json` manifest to better serve users using Vercel Edge and Cloudflare Workers.\n\n### Patch Changes\n\n- Updated dependencies [[`d8ff8a5`](https://github.com/emotion-js/emotion/commit/d8ff8a5990c691017b463b3fa23a9f46ab28147b)]:\n  - @emotion/primitives-core@11.13.0\n\n## 11.11.0\n\n### Patch Changes\n\n- [#3029](https://github.com/emotion-js/emotion/pull/3029) [`eed5e6cf`](https://github.com/emotion-js/emotion/commit/eed5e6cf00f94f3011b93825ccce43cb2270c247) Thanks [@Andarist](https://github.com/Andarist)! - Fixed importing in Node ESM\n\n- Updated dependencies [[`336f3d50`](https://github.com/emotion-js/emotion/commit/336f3d50fd684ccbb160fff0c63d5560936f1ee5), [`eed5e6cf`](https://github.com/emotion-js/emotion/commit/eed5e6cf00f94f3011b93825ccce43cb2270c247)]:\n  - @emotion/babel-plugin@11.11.0\n  - @emotion/is-prop-valid@1.2.1\n  - @emotion/primitives-core@11.11.0\n\n## 11.10.6\n\n### Patch Changes\n\n- [#2985](https://github.com/emotion-js/emotion/pull/2985) [`4e172c2a`](https://github.com/emotion-js/emotion/commit/4e172c2ae4e5237500ec84688d76ebf253ab1fdc) Thanks [@emmatown](https://github.com/emmatown)! - Remove peer dependency on `@babel/core`\n\n- Updated dependencies [[`4e172c2a`](https://github.com/emotion-js/emotion/commit/4e172c2ae4e5237500ec84688d76ebf253ab1fdc)]:\n  - @emotion/babel-plugin@11.10.6\n\n## 11.10.0\n\n### Minor Changes\n\n- [#2819](https://github.com/emotion-js/emotion/pull/2819) [`bbad8c79`](https://github.com/emotion-js/emotion/commit/bbad8c79937f8dfd5d93bf485c1e9ec44124d228) Thanks [@nicksrandall](https://github.com/nicksrandall)! - `exports` field has been added to the `package.json` manifest. It limits what files can be imported from a package but we've tried our best to allow importing all the files that were considered to be a part of the public API.\n\n### Patch Changes\n\n- Updated dependencies [[`bbad8c79`](https://github.com/emotion-js/emotion/commit/bbad8c79937f8dfd5d93bf485c1e9ec44124d228)]:\n  - @emotion/babel-plugin@11.10.0\n  - @emotion/is-prop-valid@1.2.0\n  - @emotion/primitives-core@11.10.0\n\n## 11.0.0\n\n### Major Changes\n\n- [`95ea2839`](https://github.com/emotion-js/emotion/commit/95ea2839890629748894b3942d26f608f203d3f9) [#2014](https://github.com/emotion-js/emotion/pull/2014) Thanks [@Andarist](https://github.com/Andarist)! - Functions are no longer accepted as values for the `style` prop. This unifies the behavior with the web version of Emotion as `style`'s equivalent is `className` prop and functions are not resolved for it.\n\n* [`139ea336`](https://github.com/emotion-js/emotion/commit/139ea336c7f49a3246813238e388e164b80de4da) [#2060](https://github.com/emotion-js/emotion/pull/2060) Thanks [@efoken](https://github.com/efoken)! - `StyleSheet.create` is used now under the hood. This means that when used in combination with React Native Web atomic class names are applied on components instead of inline styles.\n\n- [`79036056`](https://github.com/emotion-js/emotion/commit/79036056808eefc81a77225254f7c25c2ff9d967) [#967](https://github.com/emotion-js/emotion/pull/967) Thanks [@emmatown](https://github.com/emmatown)! - Use hooks internally for improved bundle size and a better tree in React DevTools\n\n* [`95ea2839`](https://github.com/emotion-js/emotion/commit/95ea2839890629748894b3942d26f608f203d3f9) [#2014](https://github.com/emotion-js/emotion/pull/2014) Thanks [@Andarist](https://github.com/Andarist)! - Updated `css-to-react-native` dependency to the 3.x version - it comes with some breaking changes listed [here](https://github.com/styled-components/css-to-react-native/releases/tag/v3.0.0).\n\n### Minor Changes\n\n- [`843bfb11`](https://github.com/emotion-js/emotion/commit/843bfb1153ee0dbe33d005fdd5c5be185daa5c41) [#1630](https://github.com/emotion-js/emotion/pull/1630) Thanks [@Andarist](https://github.com/Andarist)! - `@emotion/native` & `@emotion/primitives` packages come with macros now. Both can be used as `@emotion/native/macro` & `@emotion/primitives/macro` respectively.\n\n* [`2d597857`](https://github.com/emotion-js/emotion/commit/2d5978579f758163663c1bfb40e7d76bc24ae26a) [#2058](https://github.com/emotion-js/emotion/pull/2058) Thanks [@efoken](https://github.com/efoken)! - Added support for the `as` prop.\n\n- [`f1b7c9d6`](https://github.com/emotion-js/emotion/commit/f1b7c9d6dcdb45a02d7c7dce8c3fff28e14ed3ec) [#1642](https://github.com/emotion-js/emotion/pull/1642) Thanks [@Andarist](https://github.com/Andarist)! - Added basic support for accepting custom `shouldForwardProp` option.\n\n### Patch Changes\n\n- [`db16ac35`](https://github.com/emotion-js/emotion/commit/db16ac358ded4cc04fbd649700716b7cb3b3e40a) [#2013](https://github.com/emotion-js/emotion/pull/2013) Thanks [@Andarist](https://github.com/Andarist)! - Fixed an issue with styles being lost for nested factory calls like:\n\n  ```js\n  const bgColor = color => css`\n    background-color: ${color};\n  `\n\n  const Text = styled.Text`\n    color: hotpink;\n    ${({ backgroundColor }) => bgColor(backgroundColor)};\n  `\n  ```\n\n- Updated dependencies [[`c672175b`](https://github.com/emotion-js/emotion/commit/c672175b52e86de43b3d4092a8fe34b2023ceae8), [`923ded01`](https://github.com/emotion-js/emotion/commit/923ded01e2399a242206d590f6646f13aba110e4), [`c5b12d90`](https://github.com/emotion-js/emotion/commit/c5b12d90316477e95ce3680a3c745cde328a14c1), [`5e803106`](https://github.com/emotion-js/emotion/commit/5e803106d391b7c036bdf634318b80337a1d9b70), [`95ea2839`](https://github.com/emotion-js/emotion/commit/95ea2839890629748894b3942d26f608f203d3f9), [`b8476e08`](https://github.com/emotion-js/emotion/commit/b8476e08af4a2e8de94a112cb0daf6e8e4d56fe1), [`0a4a22ff`](https://github.com/emotion-js/emotion/commit/0a4a22ffcfaa49d09a88856ef2d51e0d53e31b6d), [`b0ad4f0c`](https://github.com/emotion-js/emotion/commit/b0ad4f0c628813a42c4637857be9a969429db6f0), [`9e998e37`](https://github.com/emotion-js/emotion/commit/9e998e3755c217027ad1be0af4c64644fe14c6bf), [`c65c5d88`](https://github.com/emotion-js/emotion/commit/c65c5d887002d76557eaefcb98091d795b13f9a9), [`5c7ec859`](https://github.com/emotion-js/emotion/commit/5c7ec85904633a11185066fa591dc8969f3f2ff2), [`db16ac35`](https://github.com/emotion-js/emotion/commit/db16ac358ded4cc04fbd649700716b7cb3b3e40a), [`a085003d`](https://github.com/emotion-js/emotion/commit/a085003d4c8ca284c116668d7217fb747802ed85), [`c7850e61`](https://github.com/emotion-js/emotion/commit/c7850e61211d6aa26a3388399889a6072ee2f1fe), [`95ea2839`](https://github.com/emotion-js/emotion/commit/95ea2839890629748894b3942d26f608f203d3f9), [`b7d21373`](https://github.com/emotion-js/emotion/commit/b7d21373d967d0f958dd59aaaa650047e23e8e8b), [`139ea336`](https://github.com/emotion-js/emotion/commit/139ea336c7f49a3246813238e388e164b80de4da), [`c5b12d90`](https://github.com/emotion-js/emotion/commit/c5b12d90316477e95ce3680a3c745cde328a14c1), [`79036056`](https://github.com/emotion-js/emotion/commit/79036056808eefc81a77225254f7c25c2ff9d967), [`2d597857`](https://github.com/emotion-js/emotion/commit/2d5978579f758163663c1bfb40e7d76bc24ae26a), [`828111cd`](https://github.com/emotion-js/emotion/commit/828111cd32d3fe8c984231201e518d1b6000bffd), [`69446cb5`](https://github.com/emotion-js/emotion/commit/69446cb5bfb644beb877a1edb00ee46c014636d5)]:\n  - @emotion/babel-plugin@11.0.0\n  - @emotion/is-prop-valid@1.0.0\n  - @emotion/primitives-core@11.0.0\n\n## 11.0.0-rc.0\n\n### Major Changes\n\n- [`9c4ebc16`](https://github.com/emotion-js/emotion/commit/9c4ebc160471097c5d04fb92dba3ed0df870bb63) [#2030](https://github.com/emotion-js/emotion/pull/2030) Thanks [@Andarist](https://github.com/Andarist)! - Release candidate version.\n\n### Patch Changes\n\n- Updated dependencies [[`9c4ebc16`](https://github.com/emotion-js/emotion/commit/9c4ebc160471097c5d04fb92dba3ed0df870bb63), [`69446cb5`](https://github.com/emotion-js/emotion/commit/69446cb5bfb644beb877a1edb00ee46c014636d5)]:\n  - @emotion/babel-plugin@11.0.0-rc.0\n  - @emotion/is-prop-valid@1.0.0-rc.0\n  - @emotion/primitives-core@11.0.0-rc.0\n\n## 11.0.0-next.19\n\n### Patch Changes\n\n- Updated dependencies []:\n  - @emotion/primitives-core@11.0.0-next.19\n\n## 11.0.0-next.18\n\n### Major Changes\n\n- [`95ea2839`](https://github.com/emotion-js/emotion/commit/95ea2839890629748894b3942d26f608f203d3f9) [#2014](https://github.com/emotion-js/emotion/pull/2014) Thanks [@Andarist](https://github.com/Andarist)! - Updated `css-to-react-native` dependency to the 3.x version - it comes with some breaking changes listed [here](https://github.com/styled-components/css-to-react-native/releases/tag/v3.0.0).\n\n* [`95ea2839`](https://github.com/emotion-js/emotion/commit/95ea2839890629748894b3942d26f608f203d3f9) [#2014](https://github.com/emotion-js/emotion/pull/2014) Thanks [@Andarist](https://github.com/Andarist)! - Functions are no longer accepted as values for the `style` prop. This unifies the behavior with the web version of Emotion as `style`'s equivalent is `className` prop and functions are not resolved for it.\n\n### Patch Changes\n\n- [`db16ac35`](https://github.com/emotion-js/emotion/commit/db16ac358ded4cc04fbd649700716b7cb3b3e40a) [#2013](https://github.com/emotion-js/emotion/pull/2013) Thanks [@Andarist](https://github.com/Andarist)! - Fixed an issue with styles being lost for nested factory calls like:\n\n  ```js\n  const bgColor = color => css`\n    background-color: ${color};\n  `\n\n  const Text = styled.Text`\n    color: hotpink;\n    ${({ backgroundColor }) => bgColor(backgroundColor)};\n  `\n  ```\n\n- Updated dependencies [[`95ea2839`](https://github.com/emotion-js/emotion/commit/95ea2839890629748894b3942d26f608f203d3f9), [`db16ac35`](https://github.com/emotion-js/emotion/commit/db16ac358ded4cc04fbd649700716b7cb3b3e40a), [`95ea2839`](https://github.com/emotion-js/emotion/commit/95ea2839890629748894b3942d26f608f203d3f9)]:\n  - @emotion/primitives-core@11.0.0-next.18\n\n## 11.0.0-next.17\n\n### Patch Changes\n\n- Updated dependencies []:\n  - @emotion/babel-plugin@11.0.0-next.17\n  - @emotion/primitives-core@11.0.0-next.17\n\n## 11.0.0-next.16\n\n### Patch Changes\n\n- Updated dependencies []:\n  - @emotion/primitives-core@11.0.0-next.16\n  - @emotion/babel-plugin@11.0.0-next.16\n\n## 11.0.0-next.15\n\n### Patch Changes\n\n- Updated dependencies []:\n  - @emotion/primitives-core@11.0.0-next.15\n  - @emotion/babel-plugin@11.0.0-next.15\n\n## 11.0.0-next.14\n\n### Patch Changes\n\n- Updated dependencies []:\n  - @emotion/primitives-core@11.0.0-next.14\n\n## 11.0.0-next.13\n\n### Patch Changes\n\n- Updated dependencies [[`5e803106`](https://github.com/emotion-js/emotion/commit/5e803106d391b7c036bdf634318b80337a1d9b70), [`9e998e37`](https://github.com/emotion-js/emotion/commit/9e998e3755c217027ad1be0af4c64644fe14c6bf)]:\n  - @emotion/babel-plugin@11.0.0-next.13\n  - @emotion/primitives-core@11.0.0-next.13\n\n## 11.0.0-next.12\n\n### Patch Changes\n\n- Updated dependencies [[`5c7ec859`](https://github.com/emotion-js/emotion/commit/5c7ec85904633a11185066fa591dc8969f3f2ff2), [`e3d7db87`](https://github.com/emotion-js/emotion/commit/e3d7db87deaac95817404760112417ac1fa1b56d)]:\n  - @emotion/babel-plugin@11.0.0-next.12\n  - @emotion/primitives-core@11.0.0-next.12\n\n## 11.0.0-next.10\n\n### Patch Changes\n\n- Updated dependencies [[`b8476e08`](https://github.com/emotion-js/emotion/commit/b8476e08af4a2e8de94a112cb0daf6e8e4d56fe1), [`c7850e61`](https://github.com/emotion-js/emotion/commit/c7850e61211d6aa26a3388399889a6072ee2f1fe)]:\n  - @emotion/babel-plugin@11.0.0-next.10\n  - @emotion/primitives-core@11.0.0-next.10\n\n## 11.0.0-next.9\n\n### Patch Changes\n\n- Updated dependencies []:\n  - @emotion/primitives-core@11.0.0-next.9\n\n## 11.0.0-next.8\n\n### Patch Changes\n\n- Updated dependencies [[`c643107`](https://github.com/emotion-js/emotion/commit/c6431074cf52a4bb64587c86ce5d42fe2d49230b)]:\n  - babel-plugin-emotion@11.0.0-next.8\n  - @emotion/primitives-core@11.0.0-next.8\n\n## 11.0.0-next.7\n\n### Patch Changes\n\n- Updated dependencies []:\n  - @emotion/primitives-core@11.0.0-next.7\n\n## 11.0.0-next.6\n\n### Minor Changes\n\n- [`843bfb11`](https://github.com/emotion-js/emotion/commit/843bfb1153ee0dbe33d005fdd5c5be185daa5c41) [#1630](https://github.com/emotion-js/emotion/pull/1630) Thanks [@Andarist](https://github.com/Andarist)! - `@emotion/native` & `@emotion/primitives` packages come with macros now. Both can be used as `@emotion/native/macro` & `@emotion/primitives/macro` respectively.\n\n* [`f1b7c9d6`](https://github.com/emotion-js/emotion/commit/f1b7c9d6dcdb45a02d7c7dce8c3fff28e14ed3ec) [#1642](https://github.com/emotion-js/emotion/pull/1642) Thanks [@Andarist](https://github.com/Andarist)! - Added basic support for accepting custom `shouldForwardProp` option.\n\n### Patch Changes\n\n- Updated dependencies [[`923ded01`](https://github.com/emotion-js/emotion/commit/923ded01e2399a242206d590f6646f13aba110e4), [`0a4a22ff`](https://github.com/emotion-js/emotion/commit/0a4a22ffcfaa49d09a88856ef2d51e0d53e31b6d), [`843bfb11`](https://github.com/emotion-js/emotion/commit/843bfb1153ee0dbe33d005fdd5c5be185daa5c41), [`828111cd`](https://github.com/emotion-js/emotion/commit/828111cd32d3fe8c984231201e518d1b6000bffd)]:\n  - @emotion/is-prop-valid@0.9.0-next.1\n  - babel-plugin-emotion@11.0.0-next.6\n  - @emotion/primitives-core@11.0.0-next.6\n\n## 11.0.0-next.5\n\n### Patch Changes\n\n- Updated dependencies []:\n  - emotion-theming@11.0.0-next.5\n  - @emotion/primitives-core@11.0.0-next.5\n\n## 11.0.0-next.4\n\n### Patch Changes\n\n- Updated dependencies [[`c65c5d88`](https://github.com/emotion-js/emotion/commit/c65c5d887002d76557eaefcb98091d795b13f9a9)]:\n  - babel-plugin-emotion@11.0.0-next.4\n  - emotion-theming@11.0.0-next.4\n  - @emotion/primitives-core@11.0.0-next.4\n\n## 11.0.0-next.3\n\n### Patch Changes\n\n- Updated dependencies [[`c5b12d90`](https://github.com/emotion-js/emotion/commit/c5b12d90316477e95ce3680a3c745cde328a14c1), [`c5b12d90`](https://github.com/emotion-js/emotion/commit/c5b12d90316477e95ce3680a3c745cde328a14c1), [`a085003d`](https://github.com/emotion-js/emotion/commit/a085003d4c8ca284c116668d7217fb747802ed85), [`f9feab1a`](https://github.com/emotion-js/emotion/commit/f9feab1a5d1ca88e53c3f7a063be5d5871cc93e8), [`c5b12d90`](https://github.com/emotion-js/emotion/commit/c5b12d90316477e95ce3680a3c745cde328a14c1)]:\n  - babel-plugin-emotion@11.0.0-next.3\n  - @emotion/is-prop-valid@0.8.6-next.0\n  - emotion-theming@11.0.0-next.3\n  - @emotion/primitives-core@11.0.0-next.3\n\n## 11.0.0-next.2\n\n### Major Changes\n\n- [`79036056`](https://github.com/emotion-js/emotion/commit/79036056808eefc81a77225254f7c25c2ff9d967) [#967](https://github.com/emotion-js/emotion/pull/967) Thanks [@emmatown](https://github.com/emmatown)! - Use hooks internally for improved bundle size and a better tree in React DevTools\n\n### Patch Changes\n\n- Updated dependencies [[`79036056`](https://github.com/emotion-js/emotion/commit/79036056808eefc81a77225254f7c25c2ff9d967)]:\n  - emotion-theming@11.0.0-next.2\n  - @emotion/primitives-core@11.0.0-next.2\n\n## 11.0.0-next.1\n\n### Patch Changes\n\n- Updated dependencies [[`1eaa3a38`](https://github.com/emotion-js/emotion/commit/1eaa3a389876d4a623ce66735dc6db093cb2a8e6)]:\n  - emotion-theming@11.0.0-next.1\n  - babel-plugin-emotion@11.0.0-next.1\n  - @emotion/primitives-core@11.0.0-next.1\n\n## 11.0.0-next.0\n\n### Major Changes\n\n- [`302bdba1`](https://github.com/emotion-js/emotion/commit/302bdba1a6b793484c09edeb668815c5e31ea555) [#1600](https://github.com/emotion-js/emotion/pull/1600) Thanks [@emmatown](https://github.com/emmatown)! - Ensure packages are major bumped so that pre-release versions of the linked packages are consistent in the major number\n\n### Patch Changes\n\n- Updated dependencies [[`b0ad4f0c`](https://github.com/emotion-js/emotion/commit/b0ad4f0c628813a42c4637857be9a969429db6f0), [`302bdba1`](https://github.com/emotion-js/emotion/commit/302bdba1a6b793484c09edeb668815c5e31ea555)]:\n  - babel-plugin-emotion@11.0.0-next.0\n  - emotion-theming@11.0.0-next.0\n  - @emotion/primitives-core@11.0.0-next.0\n\n## 10.0.30\n\n### Patch Changes\n\n- Updated dependencies [[`babbbe3`](https://github.com/emotion-js/emotion/commit/babbbe36844f26f6d7041f1d3aeb47d5dfb08d8a)]:\n  - @emotion/is-prop-valid@0.8.8\n\n## 10.0.28\n\n### Patch Changes\n\n- Updated dependencies [[`4dfe558`](https://github.com/emotion-js/emotion/commit/4dfe55811a25bf66306aee46f7f0d6c909004c42), [`af07afb`](https://github.com/emotion-js/emotion/commit/af07afbe5a887be82f72a12fd6cd1673a32f5263), [`12141c5`](https://github.com/emotion-js/emotion/commit/12141c54318c0738b60bf755e033cf6e12238a02)]:\n  - babel-plugin-emotion@10.0.28\n  - @emotion/is-prop-valid@0.8.7\n\n## 10.0.27\n\n### Patch Changes\n\n- [`4c62ae9`](https://github.com/emotion-js/emotion/commit/4c62ae9447959d438928e1a26f76f1487983c968) [#1698](https://github.com/emotion-js/emotion/pull/1698) Thanks [@Andarist](https://github.com/Andarist)! - Add LICENSE file\n- Updated dependencies [[`4c62ae9`](https://github.com/emotion-js/emotion/commit/4c62ae9447959d438928e1a26f76f1487983c968)]:\n  - babel-plugin-emotion@10.0.27\n  - emotion-theming@10.0.27\n  - @emotion/is-prop-valid@0.8.6\n  - @emotion/primitives-core@10.0.27\n\n## 10.0.24\n\n### Patch Changes\n\n- Updated dependencies [[`5e17e456`](https://github.com/emotion-js/emotion/commit/5e17e456a66857bb3a3a5b39c9cd8f8dd89301e5)]:\n  - @emotion/is-prop-valid@0.8.5\n\n## 10.0.23\n\n### Patch Changes\n\n- Updated dependencies [[`6cdb5695`](https://github.com/emotion-js/emotion/commit/6cdb56959bc4b64d7178604f1eb64a058c2e58c2), [`3927293d`](https://github.com/emotion-js/emotion/commit/3927293d0b9d96b4a7c00196e8430728759b1161), [`b3a0f148`](https://github.com/emotion-js/emotion/commit/b3a0f1484f2efcc78b447639ff2e0bc0f29915ae)]:\n  - @emotion/is-prop-valid@0.8.4\n  - babel-plugin-emotion@10.0.23\n\n## 10.0.22\n\n### Patch Changes\n\n- [`ae90f000`](https://github.com/emotion-js/emotion/commit/ae90f00094483ff12d8cbb80d628e30fe6d57d7a) [#841](https://github.com/emotion-js/emotion/pull/841) Thanks [@nitin42](https://github.com/nitin42)! - Improve error message for shorthand properties with missing units.\n\n- Updated dependencies [[`1bb3efe3`](https://github.com/emotion-js/emotion/commit/1bb3efe399ddf0f3332187f3c751fbba9326d02c), [`ae90f000`](https://github.com/emotion-js/emotion/commit/ae90f00094483ff12d8cbb80d628e30fe6d57d7a)]:\n  - babel-plugin-emotion@10.0.22\n  - @emotion/primitives-core@10.0.22\n\n## 10.0.19\n\n- Updated dependencies [c81c0033]:\n  - babel-plugin-emotion@10.0.19\n  - @emotion/is-prop-valid@0.8.3\n  - emotion-theming@10.0.19\n\n## 10.0.14\n\n### Patch Changes\n\n- [c0eb604d](https://github.com/emotion-js/emotion/commit/c0eb604d) [#1419](https://github.com/emotion-js/emotion/pull/1419) Thanks [@emmatown](https://github.com/emmatown)! - Update build tool\n\n## 10.0.13\n\n- Updated dependencies [52bd655b]:\n  - @emotion/is-prop-valid@0.8.1\n\n## 10.0.12\n\n- Updated dependencies [06426c95]:\n  - @emotion/is-prop-valid@0.8.0\n"
  },
  {
    "path": "packages/primitives/LICENSE",
    "content": "MIT License\n\nCopyright (c) Emotion team and other contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "packages/primitives/README.md",
    "content": "# @emotion/primitives\n\n> Style and render primitive interfaces across multiple targets with emotion\n\n## Introduction\n\nEmotion primitives makes it easy to style and render primitives across multiple platforms like the web, React Native and Sketch using the `emotion` API.\n\n## Install\n\n```\nnpm install @emotion/primitives\n```\n\nor if you use yarn\n\n```\nyarn add @emotion/primitives\n```\n\nThis package also depends on `react`, `react-primitives` and `prop-types` so make sure you've them installed.\n\n## Example\n\n```js\nimport React from 'react'\nimport styled, { css } from '@emotion/primitives'\n\nimport { ThemeProvider } from '@emotion/react'\n\nconst theme = {\n  color: 'hotpink',\n  backgroundColor: 'purple'\n}\n\nconst Container = styled.View`\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  margin: 50px;\n  border: 5px solid red;\n  background-color: ${props => props.theme.backgroundColor};\n`\n\nconst Description = styled.Text({\n  color: 'hotpink'\n})\n\nconst Image = styled.Image`\n  padding: 40px;\n`\n\nconst emotionLogo = 'https://cdn.rawgit.com/emotion-js/emotion/main/emotion.png'\n\nclass App extends React.Component {\n  render() {\n    return (\n      <ThemeProvider theme={theme}>\n        <Container\n          style={css`\n            border-radius: 10px;\n          `}\n        >\n          <Description style={{ fontSize: 45, fontWeight: 'bold' }}>\n            Emotion Primitives\n          </Description>\n          <Image\n            source={{\n              uri: emotionLogo,\n              height: 150,\n              width: 150\n            }}\n          />\n        </Container>\n      </ThemeProvider>\n    )\n  }\n}\n```\n\n## Supported primitives\n\n- **Text**\n\n- **View**\n\n- **Image**\n"
  },
  {
    "path": "packages/primitives/examples/index.js",
    "content": "import React from 'react'\n\nimport styled from '@emotion/primitives'\n\nconst Container = styled.View`\n  display: flex;\n  justify-content: center;\n  margin-top: 50px;\n`\n\nconst Title = styled.Text`\n  font-size: 20px;\n  color: hotpink;\n`\n\nconst Description = styled.Text`\n  font-size: 15px;\n  color: #4c4c4c;\n`\n\nclass App extends React.Component {\n  render() {\n    return (\n      <Container>\n        <Title>Emotion Primitives</Title>\n        <Description>Style and render primitives across targets.</Description>\n      </Container>\n    )\n  }\n}\n\nexport default App\n"
  },
  {
    "path": "packages/primitives/macro.js",
    "content": "module.exports = require('@emotion/babel-plugin').macros.primitivesStyled\n"
  },
  {
    "path": "packages/primitives/package.json",
    "content": "{\n  \"name\": \"@emotion/primitives\",\n  \"version\": \"11.13.0\",\n  \"main\": \"dist/emotion-primitives.cjs.js\",\n  \"module\": \"dist/emotion-primitives.esm.js\",\n  \"files\": [\n    \"src\",\n    \"dist\",\n    \"macro.*\"\n  ],\n  \"dependencies\": {\n    \"@emotion/babel-plugin\": \"^11.11.0\",\n    \"@emotion/is-prop-valid\": \"^1.2.1\",\n    \"@emotion/primitives-core\": \"^11.13.0\"\n  },\n  \"peerDependencies\": {\n    \"react\": \">=16.8.0\",\n    \"react-primitives\": \"^0.8.1\"\n  },\n  \"devDependencies\": {\n    \"enzyme\": \"^3.11.0\",\n    \"enzyme-adapter-react-16\": \"^1.15.5\",\n    \"react\": \"16.14.0\",\n    \"react-primitives\": \"^0.8.1\"\n  },\n  \"homepage\": \"https://emotion.sh\",\n  \"license\": \"MIT\",\n  \"repository\": \"https://github.com/emotion-js/emotion/tree/main/packages/primitives\",\n  \"keywords\": [\n    \"styles\",\n    \"emotion\",\n    \"react\",\n    \"css\",\n    \"css-in-js\",\n    \"primitives\"\n  ],\n  \"bugs\": {\n    \"url\": \"https://github.com/emotion-js/emotion/issues\"\n  },\n  \"publishConfig\": {\n    \"access\": \"public\"\n  },\n  \"exports\": {\n    \".\": {\n      \"types\": {\n        \"import\": \"./dist/emotion-primitives.cjs.mjs\",\n        \"default\": \"./dist/emotion-primitives.cjs.js\"\n      },\n      \"module\": \"./dist/emotion-primitives.esm.js\",\n      \"import\": \"./dist/emotion-primitives.cjs.mjs\",\n      \"default\": \"./dist/emotion-primitives.cjs.js\"\n    },\n    \"./package.json\": \"./package.json\",\n    \"./macro\": \"./macro.js\"\n  },\n  \"preconstruct\": {\n    \"exports\": {\n      \"extra\": {\n        \"./macro\": \"./macro.js\"\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "packages/primitives/src/conditions/false.js",
    "content": "export default false\n"
  },
  {
    "path": "packages/primitives/src/conditions/true.js",
    "content": "export default true\n"
  },
  {
    "path": "packages/primitives/src/index.js",
    "content": "import { StyleSheet, Text, View, Image } from 'react-primitives'\nimport { createCss } from '@emotion/primitives-core'\n\nimport { styled as createStyled } from './styled'\n\nconst css = createCss(StyleSheet)\n\nconst assignPrimitives = styled => {\n  createStyled.Text = createStyled(Text)\n  createStyled.View = createStyled(View)\n  createStyled.Image = createStyled(Image)\n\n  return styled\n}\n\nexport { css }\n\nexport default /* #__PURE__ */ assignPrimitives(createStyled)\n"
  },
  {
    "path": "packages/primitives/src/styled.js",
    "content": "import * as React from 'react'\nimport { StyleSheet, View, Text, Image } from 'react-primitives'\nimport { createStyled } from '@emotion/primitives-core'\nimport {\n  testPickPropsOnPrimitiveComponent,\n  testPickPropsOnOtherComponent\n} from './test-props'\n\nfunction getShouldForwardProp(component /*: React.ElementType */) {\n  switch (component) {\n    case View:\n    case Text:\n    case Image: {\n      return testPickPropsOnPrimitiveComponent\n    }\n  }\n  return testPickPropsOnOtherComponent\n}\n\n/**\n * a function that returns a styled component which render styles on multiple targets with same code\n */\n\n/*\ntype CreateStyledComponent = (\n  ...styles: any\n) => React.StatelessFunctionalComponent<any> & {\n  withComponent: (component: any) => React.StatelessFunctionalComponent<any>\n}\n\ntype BaseStyled = (tag: React.ElementType) => CreateStyledComponent\n\nexport type Styled = BaseStyled & {\n  View: CreateStyledComponent,\n  Text: CreateStyledComponent,\n  Image: CreateStyledComponent\n}\n*/\n\nlet styled /*: Styled */ = createStyled(StyleSheet, { getShouldForwardProp })\n\nexport { styled }\n"
  },
  {
    "path": "packages/primitives/src/test-props.js",
    "content": "import isPropValid from '@emotion/is-prop-valid'\n\nconst forwardableProps = {\n  // primitive props\n  abortPrefetch: true,\n  accessibilityComponentType: true,\n  accessibilityElementsHidden: true,\n  accessibilityLabel: true,\n  accessibilityLiveRegion: true,\n  accessibilityRole: true,\n  accessibilityStates: true,\n  accessibilityTraits: true,\n  accessibilityViewIsModal: true,\n  accessible: true,\n  adjustsFontSizeToFit: true,\n  allowFontScaling: true,\n  blurRadius: true,\n  capInsets: true,\n  collapsable: true,\n  defaultSource: true,\n  disabled: true,\n  ellipsizeMode: true,\n  fadeDuration: true,\n  getSize: true,\n  hitSlop: true,\n  importantForAccessibility: true,\n  loadingIndicatorSource: true,\n  Methods: true,\n  minimumFontScale: true,\n  nativeID: true,\n  needsOffscreenAlphaCompositing: true,\n  numberOfLines: true,\n  pointerEvents: true,\n  prefetch: true,\n  pressRetentionOffset: true,\n  queryCache: true,\n  removeClippedSubviews: true,\n  renderToHardwareTextureAndroid: true,\n  resizeMethod: true,\n  resizeMode: true,\n  resolveAssetSource: true,\n  selectable: true,\n  selectionColor: true,\n  shouldRasterizeIOS: true,\n  source: true,\n  suppressHighlighting: true,\n  testID: true,\n  textBreakStrategy: true\n}\n\nexport function testPickPropsOnPrimitiveComponent(prop /*: string */) {\n  return (\n    forwardableProps[prop] === true ||\n    // This will allow the standard react props\n    // and dom props since people could\n    // be using it on the web\n    isPropValid(prop)\n  )\n}\n\nexport function testPickPropsOnOtherComponent(prop /*: string */) {\n  return prop !== 'theme'\n}\n"
  },
  {
    "path": "packages/primitives/test/__snapshots__/emotion-primitives.test.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`Emotion primitives custom shouldForwardProp works 1`] = `\n<div\n  className=\"css-text-901oao r-color-185hjl9\"\n  dir=\"auto\"\n>\n  Emotion\n</div>\n`;\n\nexports[`Emotion primitives primitive should work with \\`withComponent\\` 1`] = `\n<div\n  className=\"css-text-901oao r-color-185hjl9\"\n  dir=\"auto\"\n>\n  Mike\n</div>\n`;\n\nexports[`Emotion primitives should pass props in withComponent 1`] = `\n<div\n  className=\"css-view-1dbjc4n r-backgroundColor-1542mo4\"\n/>\n`;\n\nexports[`Emotion primitives should pass props in withComponent 2`] = `\n<div\n  className=\"css-text-901oao r-backgroundColor-173gl9r\"\n  dir=\"auto\"\n/>\n`;\n\nexports[`Emotion primitives should render <Image /> 1`] = `\n<div\n  className=\"css-view-1dbjc4n r-flexBasis-1mlwlqe r-overflow-1udh08x r-zIndex-417010\"\n  style={\n    {\n      \"borderBottomColor\": \"rgba(255,105,180,1.00)\",\n      \"borderBottomStyle\": \"solid\",\n      \"borderBottomWidth\": \"2px\",\n      \"borderLeftColor\": \"rgba(255,105,180,1.00)\",\n      \"borderLeftStyle\": \"solid\",\n      \"borderLeftWidth\": \"2px\",\n      \"borderRightColor\": \"rgba(255,105,180,1.00)\",\n      \"borderRightStyle\": \"solid\",\n      \"borderRightWidth\": \"2px\",\n      \"borderTopColor\": \"rgba(255,105,180,1.00)\",\n      \"borderTopStyle\": \"solid\",\n      \"borderTopWidth\": \"2px\",\n    }\n  }\n>\n  <div\n    className=\"css-view-1dbjc4n r-backgroundColor-1niwhzg r-backgroundPosition-vvn4in r-backgroundRepeat-u6sd8q r-backgroundSize-4gszlv r-bottom-1p0dtai r-height-1pi2tsx r-left-1d2f490 r-position-u8s1d r-right-zchlnj r-top-ipm5af r-width-13qz1uu r-zIndex-1wyyakw\"\n    suppressHydrationWarning={true}\n  />\n</div>\n`;\n\nexports[`Emotion primitives should render primitive with style prop 1`] = `\n<div\n  className=\"css-text-901oao r-color-185hjl9\"\n  dir=\"auto\"\n  style={\n    {\n      \"paddingBottom\": \"10px\",\n      \"paddingLeft\": \"10px\",\n      \"paddingRight\": \"10px\",\n      \"paddingTop\": \"10px\",\n    }\n  }\n>\n  Emotion primitives\n</div>\n`;\n\nexports[`Emotion primitives should render the primitive on changing the props 1`] = `\n<div\n  className=\"css-text-901oao r-color-185hjl9 r-paddingBottom-k8qxaj r-paddingLeft-b5h31w r-paddingRight-1ah4tor r-paddingTop-1knelpx\"\n  dir=\"auto\"\n>\n  Emotion Primitives\n</div>\n`;\n\nexports[`Emotion primitives should render the primitive when styles applied using object style notation 1`] = `\n<div\n  className=\"css-text-901oao r-backgroundColor-1g6456j r-color-howw7u\"\n  dir=\"auto\"\n  style={\n    {\n      \"fontSize\": \"40px\",\n    }\n  }\n>\n  Emotion Primitives\n</div>\n`;\n\nexports[`Emotion primitives should style any other component 1`] = `\n<div\n  className=\"css-text-901oao r-color-185hjl9\"\n  dir=\"auto\"\n>\n  Hello World\n</div>\n`;\n\nexports[`Emotion primitives should unmount with theming 1`] = `\n<div>\n  <div\n    class=\"css-text-901oao r-display-6koalj\"\n    dir=\"auto\"\n    style=\"background-color: rgb(255, 255, 0);\"\n  >\n    Hello World\n  </div>\n</div>\n`;\n\nexports[`Emotion primitives should work with StyleSheet.create API 1`] = `\n<div\n  className=\"css-text-901oao r-color-howw7u r-fontSize-10x49cs\"\n  dir=\"auto\"\n>\n  Emotion Primitives\n</div>\n`;\n\nexports[`Emotion primitives should work with theming from @emotion/react 1`] = `\n<div\n  className=\"css-text-901oao r-color-1hxtt4r\"\n  dir=\"auto\"\n>\n  Hello World\n</div>\n`;\n"
  },
  {
    "path": "packages/primitives/test/css.test.js",
    "content": "import { css } from '@emotion/primitives'\nimport { StyleSheet } from 'react-native'\n\nlet returnArguments = (...args) => args\n\ntest('basic', () => {\n  expect(\n    StyleSheet.flatten(css`\n      color: hotpink;\n      ${{ backgroundColor: 'green' }};\n    `)\n  ).toEqual({ color: 'hotpink', backgroundColor: 'green' })\n  expect(StyleSheet.flatten(css({ color: 'green' }))).toEqual({\n    color: 'green'\n  })\n  expect(\n    StyleSheet.flatten(css([{ color: 'green' }, `background-color:yellow;`]))\n  ).toEqual({\n    color: 'green',\n    backgroundColor: 'yellow'\n  })\n  expect(StyleSheet.flatten(css([{ color: 'green' }]))).toEqual({\n    color: 'green'\n  })\n})\n\ntest('order with string and object', () => {\n  // this test checks the keys instead of the objects\n  // because we care about the order of the keys\n  expect(\n    Object.keys(\n      StyleSheet.flatten(\n        css({ color: 'green' }, `background-color:yellow;`, { flex: 2 })\n      )\n    )\n  ).toEqual(['color', 'backgroundColor', 'flex'])\n  expect(\n    Object.keys(\n      StyleSheet.flatten(\n        css([\n          [{ color: 'green' }, `background-color:yellow;`],\n          {\n            flex: 2\n          }\n        ])\n      )\n    )\n  ).toEqual(['color', 'backgroundColor', 'flex'])\n  expect(\n    Object.keys(\n      StyleSheet.flatten(\n        css([\n          { color: 'green' },\n          [\n            `background-color:yellow;`,\n            {\n              flex: 2\n            }\n          ]\n        ])\n      )\n    )\n  ).toEqual(['color', 'backgroundColor', 'flex'])\n  expect(\n    Object.keys(\n      StyleSheet.flatten(\n        css([\n          { color: 'green' },\n          [\n            { flex: 8 },\n            `background-color:yellow;`,\n            [`flex-grow: 1;`, { flexDirection: 'row' }]\n          ]\n        ])\n      )\n    )\n  ).toEqual(['color', 'flex', 'backgroundColor', 'flexGrow', 'flexDirection'])\n})\n\ntest('allows function interpolations when this is defined', () => {\n  expect(\n    StyleSheet.flatten(\n      css.call({ thing: true }, props => ({\n        color: props.thing && 'hotpink'\n      }))\n    )\n  ).toEqual({ color: 'hotpink' })\n})\n\ntest('works with nested functions', () => {\n  expect(\n    StyleSheet.flatten(\n      css.call({ thing: true }, props => () => ({\n        color: props.thing && 'hotpink'\n      }))\n    )\n  ).toEqual({ color: 'hotpink' })\n})\n\ntest('works with functions in tagged template literals', () => {\n  expect(\n    StyleSheet.flatten(\n      css.call(\n        {},\n        ...returnArguments`\n        color: ${() => 'hotpink'};\n      `\n      )\n    )\n  ).toEqual({ color: 'hotpink' })\n})\n\ntest('last arg falsy and string before that', () => {\n  expect(StyleSheet.flatten(css('color:hotpink;', false))).toEqual({\n    color: 'hotpink'\n  })\n})\n\ntest('falsy value in the middle', () => {\n  expect(\n    StyleSheet.flatten(css`\n      color: ${false};\n      background-color: hotpink;\n    `)\n  ).toEqual({ backgroundColor: 'hotpink' })\n})\n\ntest('composition', () => {\n  let firstStyle = css`\n    color: hotpink;\n  `\n  expect(\n    StyleSheet.flatten(css`\n      background-color: green;\n      ${firstStyle};\n    `)\n  ).toEqual({ backgroundColor: 'green', color: 'hotpink' })\n})\n"
  },
  {
    "path": "packages/primitives/test/emotion-primitives.test.js",
    "content": "import * as React from 'react'\nimport renderer from 'react-test-renderer'\nimport { Text, StyleSheet } from 'react-primitives'\nimport { ThemeProvider } from '@emotion/react'\nimport { render } from '@testing-library/react'\n\nimport styled from '@emotion/primitives'\n\njest.mock('react-primitives')\n\nconst theme = { backgroundColor: 'magenta', display: 'flex' }\n\ndescribe('Emotion primitives', () => {\n  test('should not throw an error when used valid primitive', () => {\n    expect(() => styled.Text({})).not.toThrow()\n  })\n\n  test('should throw an error when used invalid primitive', () => {\n    expect(() => styled.TEXT({})).toThrow()\n  })\n\n  test('should render the primitive when styles applied using object style notation', () => {\n    const Text = styled.Text`\n      color: red;\n      font-size: 20px;\n      background-color: ${props => props.back};\n    `\n    const tree = renderer\n      .create(\n        <Text style={{ fontSize: 40 }} back=\"red\">\n          Emotion Primitives\n        </Text>\n      )\n      .toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('should work with theming from @emotion/react', () => {\n    const Text = styled.Text`\n      color: ${props => props.theme.backgroundColor};\n    `\n\n    const tree = renderer\n      .create(\n        <ThemeProvider theme={theme}>\n          <Text>Hello World</Text>\n        </ThemeProvider>\n      )\n      .toJSON()\n\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('should unmount with theming', () => {\n    const StyledText = styled.Text`\n      display: ${props => props.theme.display};\n    `\n\n    const { container, unmount } = render(\n      <ThemeProvider theme={theme}>\n        <StyledText id=\"something\" style={{ backgroundColor: 'yellow' }}>\n          Hello World\n        </StyledText>\n      </ThemeProvider>\n    )\n    expect(container).toMatchSnapshot()\n    unmount()\n    expect(container.querySelector('#something')).toBe(null)\n  })\n\n  test('should render the primitive on changing the props', () => {\n    const Text = styled.Text({ padding: '20px' }, props => ({\n      color: props.decor\n    }))\n    const tree = renderer\n      .create(<Text decor=\"hotpink\">Emotion Primitives</Text>)\n      .toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('should render primitive with style prop', () => {\n    const Title = styled.Text`\n      color: hotpink;\n    `\n    const tree = renderer\n      .create(<Title style={{ padding: 10 }}>Emotion primitives</Title>)\n      .toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('should work with StyleSheet.create API', () => {\n    const styles = StyleSheet.create({ foo: { color: 'red' } })\n    const Text = styled.Text`\n      font-size: 10px;\n    `\n\n    const tree = renderer\n      .create(<Text style={styles.foo}>Emotion Primitives</Text>)\n      .toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('primitive should work with `withComponent`', () => {\n    const StyledText = styled.Text`\n      color: ${props => props.decor};\n    `\n    const Name = StyledText.withComponent(Text)\n    const tree = renderer.create(<Name decor=\"hotpink\">Mike</Name>).toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('should style any other component', () => {\n    const Text = styled.Text`\n      color: hotpink;\n    `\n    const Title = () => <Text>Hello World</Text>\n    const StyledTitle = styled(Title)`\n      font-size: 20px;\n      font-style: ${props => props.sty};\n    `\n    const tree = renderer.create(<StyledTitle sty=\"italic\" />).toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('ref', () => {\n    const StyledText = styled.Text`\n      color: hotpink;\n    `\n    let ref = React.createRef()\n    const { container, unmount } = render(\n      <StyledText ref={ref} id=\"something\" />\n    )\n    expect(ref.current).toBe(container.firstElementChild)\n    unmount()\n  })\n\n  test('should pass props in withComponent', () => {\n    const ViewOne = styled.View`\n      background-color: ${props => props.color};\n    `\n    const treeOne = renderer.create(<ViewOne color=\"green\" />)\n    const ViewTwo = ViewOne.withComponent(Text)\n    const treeTwo = renderer.create(<ViewTwo color=\"hotpink\" />)\n\n    expect(treeOne).toMatchSnapshot()\n    expect(treeTwo).toMatchSnapshot()\n  })\n\n  test('should render <Image />', () => {\n    const Image = styled.Image`\n      border: 2px solid hotpink;\n    `\n    const tree = renderer\n      .create(\n        <Image\n          source={{\n            uri: 'https://camo.githubusercontent.com/209bdea972b9b6ef90220c59ecbe66d35ffefa8a/68747470733a2f2f63646e2e7261776769742e636f6d2f746b6834342f656d6f74696f6e2f6d61737465722f656d6f74696f6e2e706e67',\n            height: 150,\n            width: 150\n          }}\n        />\n      )\n      .toJSON()\n\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('custom shouldForwardProp works', () => {\n    const Text = styled.Text``\n    const Title = props => <Text {...props} />\n    const StyledTitle = styled(Title, {\n      shouldForwardProp: prop => prop !== 'color' && prop !== 'theme'\n    })`\n      color: ${props => props.color};\n    `\n\n    const tree = renderer\n      .create(<StyledTitle color=\"hotpink\">{'Emotion'}</StyledTitle>)\n      .toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n})\n"
  },
  {
    "path": "packages/primitives/test/no-babel/__snapshots__/basic.test.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`should render the primitive when styles applied using object style notation 1`] = `\n<div\n  className=\"css-text-901oao r-backgroundColor-1g6456j r-color-howw7u\"\n  dir=\"auto\"\n  style={\n    {\n      \"fontSize\": \"40px\",\n    }\n  }\n>\n  Emotion Primitives\n</div>\n`;\n"
  },
  {
    "path": "packages/primitives/test/no-babel/basic.test.js",
    "content": "import * as React from 'react'\nimport styled, { css } from '@emotion/primitives'\nimport renderer from 'react-test-renderer'\nimport { StyleSheet } from 'react-native'\n\njest.mock('react-primitives')\n\n// this isn't intented to test everything\n// this is just to make sure things work\n// without the babel plugin\n\ntest('basic', () => {\n  expect(\n    StyleSheet.flatten(css`\n      color: hotpink;\n      ${{ backgroundColor: 'green' }};\n    `)\n  ).toEqual({ color: 'hotpink', backgroundColor: 'green' })\n  expect(StyleSheet.flatten(css({ color: 'green' }))).toEqual({\n    color: 'green'\n  })\n  expect(\n    StyleSheet.flatten(css([{ color: 'green' }, `background-color:yellow;`]))\n  ).toEqual({\n    color: 'green',\n    backgroundColor: 'yellow'\n  })\n  expect(StyleSheet.flatten(css([{ color: 'green' }]))).toEqual({\n    color: 'green'\n  })\n})\n\ntest('falsy value in the middle', () => {\n  expect(\n    StyleSheet.flatten(css`\n      color: ${false};\n      background-color: hotpink;\n    `)\n  ).toEqual({ backgroundColor: 'hotpink' })\n})\n\ntest('should render the primitive when styles applied using object style notation', () => {\n  const Text = styled.Text`\n    color: red;\n    font-size: 20px;\n    background-color: ${props => props.back};\n  `\n  const tree = renderer\n    .create(\n      <Text style={{ fontSize: 40 }} back=\"red\">\n        Emotion Primitives\n      </Text>\n    )\n    .toJSON()\n  expect(tree).toMatchSnapshot()\n})\n\n// this needs to be here since the babel plugin will remove the whitespace\ntest('empty string', () => {\n  // prettier-ignore\n  let style = css`    \n      \n  `\n  expect(StyleSheet.flatten(style)).toEqual({})\n})\n"
  },
  {
    "path": "packages/primitives/test/warnings.test.js",
    "content": "import { css } from '@emotion/primitives'\n\nconsole.error = jest.fn()\n\nafterEach(() => {\n  jest.clearAllMocks()\n})\n\ntest('does warn when functions are passed to cx calls ', () => {\n  css(() => ({}))\n  expect(console.error).toBeCalledWith(\n    'Interpolating functions in css calls is not allowed.\\n' +\n      'If you want to have a css call based on props, create a function that returns a css call like this\\n' +\n      'let dynamicStyle = (props) => css`color: ${props.color}`\\n' +\n      'It can be called directly with props or interpolated in a styled call like this\\n' +\n      'let SomeComponent = styled.View`${dynamicStyle}`'\n  )\n})\n"
  },
  {
    "path": "packages/primitives-core/CHANGELOG.md",
    "content": "# @emotion/primitives-core\n\n## 11.13.2\n\n### Patch Changes\n\n- [#3228](https://github.com/emotion-js/emotion/pull/3228) [`49f7435`](https://github.com/emotion-js/emotion/commit/49f7435783e2be88ad22012d5156085a25fbcd4e) Thanks [@daern91](https://github.com/daern91)! - Remove incorrect `browser` field from `package.json`\n\n## 11.13.0\n\n### Minor Changes\n\n- [#3198](https://github.com/emotion-js/emotion/pull/3198) [`d8ff8a5`](https://github.com/emotion-js/emotion/commit/d8ff8a5990c691017b463b3fa23a9f46ab28147b) Thanks [@Andarist](https://github.com/Andarist)! - Migrated away from relying on `process.env.NODE_ENV` checks to differentiate between production and development builds.\n\n  Development builds (and other environment-specific builds) can be used by using proper conditions (see [here](https://nodejs.org/docs/v20.15.1/api/packages.html#resolving-user-conditions)). Most modern bundlers/frameworks already preconfigure those for the user so no action has to be taken.\n\n  Default files should continue to work in all environments.\n\n## 11.12.0\n\n### Minor Changes\n\n- [#2818](https://github.com/emotion-js/emotion/pull/2818) [`8546dd0`](https://github.com/emotion-js/emotion/commit/8546dd0) Thanks [@srmagura](https://github.com/srmagura)! - Source code has been migrated to TypeScript so from now on type declarations will be available in the published package.\n\n### Patch Changes\n\n- [#3208](https://github.com/emotion-js/emotion/pull/3208) [`56109e7`](https://github.com/emotion-js/emotion/commit/56109e79adcf916144250b52ed579f13e4e6e0cf) Thanks [@Andarist](https://github.com/Andarist)! - Only forward defined `ref`s to improve compatibility with the upcoming React 19\n\n## 11.11.0\n\n### Patch Changes\n\n- [#3029](https://github.com/emotion-js/emotion/pull/3029) [`eed5e6cf`](https://github.com/emotion-js/emotion/commit/eed5e6cf00f94f3011b93825ccce43cb2270c247) Thanks [@Andarist](https://github.com/Andarist)! - Fixed importing in Node ESM\n\n## 11.10.0\n\n### Minor Changes\n\n- [#2819](https://github.com/emotion-js/emotion/pull/2819) [`bbad8c79`](https://github.com/emotion-js/emotion/commit/bbad8c79937f8dfd5d93bf485c1e9ec44124d228) Thanks [@nicksrandall](https://github.com/nicksrandall)! - `exports` field has been added to the `package.json` manifest. It limits what files can be imported from a package but we've tried our best to allow importing all the files that were considered to be a part of the public API.\n\n## 11.0.0\n\n### Major Changes\n\n- [`95ea2839`](https://github.com/emotion-js/emotion/commit/95ea2839890629748894b3942d26f608f203d3f9) [#2014](https://github.com/emotion-js/emotion/pull/2014) Thanks [@Andarist](https://github.com/Andarist)! - Functions are no longer accepted as values for the `style` prop. This unifies the behavior with the web version of Emotion as `style`'s equivalent is `className` prop and functions are not resolved for it.\n\n* [`139ea336`](https://github.com/emotion-js/emotion/commit/139ea336c7f49a3246813238e388e164b80de4da) [#2060](https://github.com/emotion-js/emotion/pull/2060) Thanks [@efoken](https://github.com/efoken)! - `StyleSheet.create` is used now under the hood. This means that when used in combination with React Native Web atomic class names are applied on components instead of inline styles.\n\n- [`79036056`](https://github.com/emotion-js/emotion/commit/79036056808eefc81a77225254f7c25c2ff9d967) [#967](https://github.com/emotion-js/emotion/pull/967) Thanks [@emmatown](https://github.com/emmatown)! - Use hooks internally for improved bundle size and a better tree in React DevTools\n\n* [`95ea2839`](https://github.com/emotion-js/emotion/commit/95ea2839890629748894b3942d26f608f203d3f9) [#2014](https://github.com/emotion-js/emotion/pull/2014) Thanks [@Andarist](https://github.com/Andarist)! - Updated `css-to-react-native` dependency to the 3.x version - it comes with some breaking changes listed [here](https://github.com/styled-components/css-to-react-native/releases/tag/v3.0.0).\n\n### Minor Changes\n\n- [`2d597857`](https://github.com/emotion-js/emotion/commit/2d5978579f758163663c1bfb40e7d76bc24ae26a) [#2058](https://github.com/emotion-js/emotion/pull/2058) Thanks [@efoken](https://github.com/efoken)! - Added support for the `as` prop.\n\n### Patch Changes\n\n- [`db16ac35`](https://github.com/emotion-js/emotion/commit/db16ac358ded4cc04fbd649700716b7cb3b3e40a) [#2013](https://github.com/emotion-js/emotion/pull/2013) Thanks [@Andarist](https://github.com/Andarist)! - Fixed an issue with styles being lost for nested factory calls like:\n\n  ```js\n  const bgColor = color => css`\n    background-color: ${color};\n  `\n\n  const Text = styled.Text`\n    color: hotpink;\n    ${({ backgroundColor }) => bgColor(backgroundColor)};\n  `\n  ```\n\n## 11.0.0-rc.0\n\n### Major Changes\n\n- [`9c4ebc16`](https://github.com/emotion-js/emotion/commit/9c4ebc160471097c5d04fb92dba3ed0df870bb63) [#2030](https://github.com/emotion-js/emotion/pull/2030) Thanks [@Andarist](https://github.com/Andarist)! - Release candidate version.\n\n### Patch Changes\n\n- Updated dependencies [[`9c4ebc16`](https://github.com/emotion-js/emotion/commit/9c4ebc160471097c5d04fb92dba3ed0df870bb63)]:\n  - @emotion/react@11.0.0-rc.0\n\n## 11.0.0-next.19\n\n### Patch Changes\n\n- Updated dependencies []:\n  - @emotion/react@11.0.0-next.19\n\n## 11.0.0-next.18\n\n### Major Changes\n\n- [`95ea2839`](https://github.com/emotion-js/emotion/commit/95ea2839890629748894b3942d26f608f203d3f9) [#2014](https://github.com/emotion-js/emotion/pull/2014) Thanks [@Andarist](https://github.com/Andarist)! - Updated `css-to-react-native` dependency to the 3.x version - it comes with some breaking changes listed [here](https://github.com/styled-components/css-to-react-native/releases/tag/v3.0.0).\n\n* [`95ea2839`](https://github.com/emotion-js/emotion/commit/95ea2839890629748894b3942d26f608f203d3f9) [#2014](https://github.com/emotion-js/emotion/pull/2014) Thanks [@Andarist](https://github.com/Andarist)! - Functions are no longer accepted as values for the `style` prop. This unifies the behavior with the web version of Emotion as `style`'s equivalent is `className` prop and functions are not resolved for it.\n\n### Patch Changes\n\n- [`db16ac35`](https://github.com/emotion-js/emotion/commit/db16ac358ded4cc04fbd649700716b7cb3b3e40a) [#2013](https://github.com/emotion-js/emotion/pull/2013) Thanks [@Andarist](https://github.com/Andarist)! - Fixed an issue with styles being lost for nested factory calls like:\n\n  ```js\n  const bgColor = color => css`\n    background-color: ${color};\n  `\n\n  const Text = styled.Text`\n    color: hotpink;\n    ${({ backgroundColor }) => bgColor(backgroundColor)};\n  `\n  ```\n\n## 11.0.0-next.17\n\n### Patch Changes\n\n- Updated dependencies []:\n  - @emotion/react@11.0.0-next.17\n\n## 11.0.0-next.16\n\n### Patch Changes\n\n- Updated dependencies [[`58b2bbca`](https://github.com/emotion-js/emotion/commit/58b2bbcad63f8ea22389ccdc2a8f6c5064984e82)]:\n  - @emotion/react@11.0.0-next.16\n\n## 11.0.0-next.15\n\n### Patch Changes\n\n- Updated dependencies [[`5d692a6a`](https://github.com/emotion-js/emotion/commit/5d692a6a8102b3faabefb773dd0145b123668a07)]:\n  - @emotion/react@11.0.0-next.15\n\n## 11.0.0-next.14\n\n### Patch Changes\n\n- Updated dependencies [[`58dc08a6`](https://github.com/emotion-js/emotion/commit/58dc08a6a013fb5cfa10bb85e06e53a8ff7eeb51), [`f57a7229`](https://github.com/emotion-js/emotion/commit/f57a72299cd4025a725bd5bd1b966a8f9df16cd8)]:\n  - @emotion/react@11.0.0-next.14\n\n## 11.0.0-next.13\n\n### Patch Changes\n\n- Updated dependencies [[`9e998e37`](https://github.com/emotion-js/emotion/commit/9e998e3755c217027ad1be0af4c64644fe14c6bf)]:\n  - @emotion/react@11.0.0-next.13\n\n## 11.0.0-next.12\n\n### Patch Changes\n\n- Updated dependencies [[`7dea6d7a`](https://github.com/emotion-js/emotion/commit/7dea6d7a9a87f00cf9b695b58a2f65b67e17fabd), [`105de5c8`](https://github.com/emotion-js/emotion/commit/105de5c8752be0983c000e1e26462dc8fcf0708d), [`be2eb614`](https://github.com/emotion-js/emotion/commit/be2eb614d2bc369a382dbc6aa347f66801605f3b), [`75e2f9e1`](https://github.com/emotion-js/emotion/commit/75e2f9e1848bc0161f8db3c663438ada3042ae66)]:\n  - @emotion/react@11.0.0-next.12\n\n## 11.0.0-next.10\n\n### Patch Changes\n\n- Updated dependencies [[`b8476e08`](https://github.com/emotion-js/emotion/commit/b8476e08af4a2e8de94a112cb0daf6e8e4d56fe1), [`affed3dd`](https://github.com/emotion-js/emotion/commit/affed3ddf03671835356632f26a064f59811852f), [`d62d9101`](https://github.com/emotion-js/emotion/commit/d62d9101bc75e6bc9644ae588d2a6e4bf4d69285)]:\n  - @emotion/react@11.0.0-next.10\n\n## 11.0.0-next.9\n\n### Patch Changes\n\n- Updated dependencies []:\n  - @emotion/core@11.0.0-next.9\n\n## 11.0.0-next.8\n\n### Patch Changes\n\n- Updated dependencies [[`c643107`](https://github.com/emotion-js/emotion/commit/c6431074cf52a4bb64587c86ce5d42fe2d49230b), [`c643107`](https://github.com/emotion-js/emotion/commit/c6431074cf52a4bb64587c86ce5d42fe2d49230b)]:\n  - @emotion/core@11.0.0-next.8\n\n## 11.0.0-next.7\n\n### Patch Changes\n\n- Updated dependencies [[`5c55fd17`](https://github.com/emotion-js/emotion/commit/5c55fd17dcaec84d1f5d5d13ae90dd336d7e4403)]:\n  - @emotion/core@11.0.0-next.7\n\n## 11.0.0-next.6\n\n### Patch Changes\n\n- Updated dependencies [[`828111cd`](https://github.com/emotion-js/emotion/commit/828111cd32d3fe8c984231201e518d1b6000bffd), [`843bfb11`](https://github.com/emotion-js/emotion/commit/843bfb1153ee0dbe33d005fdd5c5be185daa5c41), [`cbb8b796`](https://github.com/emotion-js/emotion/commit/cbb8b7965c2923cf1922d724de556374323bff61)]:\n  - @emotion/core@11.0.0-next.6\n\n## 11.0.0-next.5\n\n### Patch Changes\n\n- Updated dependencies []:\n  - @emotion/core@11.0.0-next.5\n\n## 11.0.0-next.4\n\n### Patch Changes\n\n- Updated dependencies []:\n  - @emotion/core@11.0.0-next.4\n\n## 11.0.0-next.3\n\n### Patch Changes\n\n- Updated dependencies [[`a085003d`](https://github.com/emotion-js/emotion/commit/a085003d4c8ca284c116668d7217fb747802ed85)]:\n  - @emotion/core@11.0.0-next.3\n\n## 11.0.0-next.2\n\n### Major Changes\n\n- [`79036056`](https://github.com/emotion-js/emotion/commit/79036056808eefc81a77225254f7c25c2ff9d967) [#967](https://github.com/emotion-js/emotion/pull/967) Thanks [@emmatown](https://github.com/emmatown)! - Use hooks internally for improved bundle size and a better tree in React DevTools\n\n### Patch Changes\n\n- Updated dependencies [[`79036056`](https://github.com/emotion-js/emotion/commit/79036056808eefc81a77225254f7c25c2ff9d967)]:\n  - @emotion/core@11.0.0-next.2\n\n## 11.0.0-next.1\n\n### Patch Changes\n\n- Updated dependencies []:\n  - @emotion/core@11.0.0-next.1\n\n## 11.0.0-next.0\n\n### Major Changes\n\n- [`302bdba1`](https://github.com/emotion-js/emotion/commit/302bdba1a6b793484c09edeb668815c5e31ea555) [#1600](https://github.com/emotion-js/emotion/pull/1600) Thanks [@emmatown](https://github.com/emmatown)! - Ensure packages are major bumped so that pre-release versions of the linked packages are consistent in the major number\n\n### Patch Changes\n\n- Updated dependencies [[`302bdba1`](https://github.com/emotion-js/emotion/commit/302bdba1a6b793484c09edeb668815c5e31ea555)]:\n  - @emotion/core@11.0.0-next.0\n\n## 10.0.27\n\n### Patch Changes\n\n- [`4c62ae9`](https://github.com/emotion-js/emotion/commit/4c62ae9447959d438928e1a26f76f1487983c968) [#1698](https://github.com/emotion-js/emotion/pull/1698) Thanks [@Andarist](https://github.com/Andarist)! - Add LICENSE file\n- Updated dependencies [[`4c62ae9`](https://github.com/emotion-js/emotion/commit/4c62ae9447959d438928e1a26f76f1487983c968)]:\n  - @emotion/core@10.0.27\n\n## 10.0.22\n\n### Patch Changes\n\n- [`ae90f000`](https://github.com/emotion-js/emotion/commit/ae90f00094483ff12d8cbb80d628e30fe6d57d7a) [#841](https://github.com/emotion-js/emotion/pull/841) Thanks [@nitin42](https://github.com/nitin42)! - Improve error message for shorthand properties with missing units.\n\n- Updated dependencies [[`4fc5657a`](https://github.com/emotion-js/emotion/commit/4fc5657ac8d0002322321cfbfc254b7196d27387), [`2fc75f26`](https://github.com/emotion-js/emotion/commit/2fc75f266b23cf48fb842953bc47eebcb5241cbd), [`10211951`](https://github.com/emotion-js/emotion/commit/10211951051729b149930a8646de14bae9ae1bbc), [`57a767ea`](https://github.com/emotion-js/emotion/commit/57a767ea3dd18eefbbdc7269cc13128caad65286)]:\n  - @emotion/core@10.0.22\n\n## 10.0.14\n\n### Patch Changes\n\n- [c0eb604d](https://github.com/emotion-js/emotion/commit/c0eb604d) [#1419](https://github.com/emotion-js/emotion/pull/1419) Thanks [@emmatown](https://github.com/emmatown)! - Update build tool\n"
  },
  {
    "path": "packages/primitives-core/LICENSE",
    "content": "MIT License\n\nCopyright (c) Emotion team and other contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "packages/primitives-core/README.md",
    "content": "# @emotion/primitives-core\n\n> Shared utilities for emotion primitives and native\n\n## Introduction\n\n> Note: In most of the cases, you won't need this package and should use `@emotion/native` or `@emotion/primitives`.\n\nThis package contains some shared utilities which are consumed by `@emotion/primitives` and `@emotion/native` for styling and rendering components.\n\nThis package provides two functions, `createCss` and `createStyled`.\n\n### `createCss(StyleSheet)`\n\n`createCss` accepts a platform specific `StyleSheet` method for creating styles, and returns a function which accepts styles via string template literal and object literal notation.\n\n```js\nimport { StyleSheet, View, Text } from 'react-native'\nimport { createCss } from '@emotion/primitives-core'\n\nconst css = createCss(StyleSheet)\n\n<View style={css`background-color: red;`}><Text style={css`font-size: 40px;`}>Hello World</Text></View>\n```\n\n### `createStyled(StyleSheet)`\n\n`createStyled` also accepts a platform specific `StyleSheet` method for creating styles. It returns a function to which primitives can be assigned for example - `View`, `Text`, and it returns a styled component.\n\n```js\nimport { StyleSheet, View, Text } from 'react-native'\nimport { createStyled } from '@emotion/primitives-core'\n\nconst styled = createStyled(StyleSheet)\n\nstyled.Text = styled(Text)\n\nconst StyledText = styled.Text`font-size: 40px;`\n\n<View><StyledText>Hello World</StyledText></View>\n```\n"
  },
  {
    "path": "packages/primitives-core/package.json",
    "content": "{\n  \"name\": \"@emotion/primitives-core\",\n  \"version\": \"11.13.2\",\n  \"description\": \"Shared utilities for emotion primitives and native\",\n  \"main\": \"dist/emotion-primitives-core.cjs.js\",\n  \"module\": \"dist/emotion-primitives-core.esm.js\",\n  \"types\": \"dist/emotion-primitives-core.cjs.d.ts\",\n  \"files\": [\n    \"src\",\n    \"dist\"\n  ],\n  \"license\": \"MIT\",\n  \"dependencies\": {\n    \"css-to-react-native\": \"^3.0.0\"\n  },\n  \"peerDependencies\": {\n    \"@emotion/react\": \"^11.0.0-rc.0\",\n    \"react\": \">=16.8.0\"\n  },\n  \"devDependencies\": {\n    \"@emotion/react\": \"11.14.0\",\n    \"@types/css-to-react-native\": \"^3.0.0\",\n    \"react\": \"16.14.0\"\n  },\n  \"homepage\": \"https://emotion.sh\",\n  \"repository\": \"https://github.com/emotion-js/emotion/tree/main/packages/primitives-core\",\n  \"keywords\": [\n    \"styles\",\n    \"emotion\",\n    \"react\",\n    \"css\",\n    \"css-in-js\",\n    \"primitives\",\n    \"native\"\n  ],\n  \"bugs\": {\n    \"url\": \"https://github.com/emotion-js/emotion/issues\"\n  },\n  \"publishConfig\": {\n    \"access\": \"public\"\n  },\n  \"exports\": {\n    \".\": {\n      \"types\": {\n        \"import\": \"./dist/emotion-primitives-core.cjs.mjs\",\n        \"default\": \"./dist/emotion-primitives-core.cjs.js\"\n      },\n      \"development\": {\n        \"module\": \"./dist/emotion-primitives-core.development.esm.js\",\n        \"import\": \"./dist/emotion-primitives-core.development.cjs.mjs\",\n        \"default\": \"./dist/emotion-primitives-core.development.cjs.js\"\n      },\n      \"module\": \"./dist/emotion-primitives-core.esm.js\",\n      \"import\": \"./dist/emotion-primitives-core.cjs.mjs\",\n      \"default\": \"./dist/emotion-primitives-core.cjs.js\"\n    },\n    \"./package.json\": \"./package.json\"\n  },\n  \"imports\": {\n    \"#is-development\": {\n      \"development\": \"./src/conditions/true.ts\",\n      \"default\": \"./src/conditions/false.ts\"\n    }\n  }\n}\n"
  },
  {
    "path": "packages/primitives-core/src/conditions/false.ts",
    "content": "export default false\n"
  },
  {
    "path": "packages/primitives-core/src/conditions/true.ts",
    "content": "export default true\n"
  },
  {
    "path": "packages/primitives-core/src/css.ts",
    "content": "import transform, { Style } from 'css-to-react-native'\nimport isDevelopment from '#is-development'\nimport { AbstractStyleSheet } from './types'\nimport { interleave } from './utils'\n\n// this is for handleInterpolation\n// they're reset on every call to css\n// this is done so we don't create a new\n// handleInterpolation function on every css call\nlet styles: unknown[] | undefined\nlet generated: Record<string, unknown> = {}\nlet buffer = ''\nlet lastType: string | undefined\n\nfunction handleInterpolation(\n  this: unknown,\n  interpolation: any,\n  i: number,\n  arr: any[]\n) {\n  let type = typeof interpolation\n\n  if (type === 'string') {\n    // strip comments\n    interpolation = interpolation.replace(/\\/\\*[\\s\\S]*?\\*\\/|\\/\\/.*$/gm, '')\n  }\n\n  if (type === 'function') {\n    if (this === undefined) {\n      if (isDevelopment) {\n        console.error(\n          'Interpolating functions in css calls is not allowed.\\n' +\n            'If you want to have a css call based on props, create a function that returns a css call like this\\n' +\n            'let dynamicStyle = (props) => css`color: ${props.color}`\\n' +\n            'It can be called directly with props or interpolated in a styled call like this\\n' +\n            'let SomeComponent = styled.View`${dynamicStyle}`'\n        )\n      }\n    } else {\n      handleInterpolation.call(this, interpolation(this), i, arr)\n    }\n    return\n  }\n  let isIrrelevant = interpolation == null || type === 'boolean'\n  let isRnStyle =\n    (type === 'object' && !Array.isArray(interpolation)) || type === 'number'\n  if (lastType === 'string' && (isRnStyle || isIrrelevant)) {\n    let converted = convertStyles(buffer)\n    if (converted !== undefined) {\n      styles!.push(converted)\n    }\n    buffer = ''\n  }\n  if (isIrrelevant) {\n    return\n  }\n\n  if (type === 'string') {\n    buffer += interpolation\n\n    if (arr.length - 1 === i) {\n      let converted = convertStyles(buffer)\n      if (converted !== undefined) {\n        styles!.push(converted)\n      }\n      buffer = ''\n    }\n  }\n  if (isRnStyle) {\n    styles!.push(interpolation)\n  }\n  if (Array.isArray(interpolation)) {\n    interpolation.forEach(handleInterpolation, this)\n  }\n  lastType = type\n}\n\n// Use platform specific StyleSheet method for creating the styles.\n// This enables us to use the css``/css({}) in any environment (Native | Sketch | Web)\nexport function createCss(StyleSheet: AbstractStyleSheet) {\n  return function css(this: unknown, ...args: any[]) {\n    const prevBuffer = buffer\n    let vals: any[]\n\n    // these are declared earlier\n    // this is done so we don't create a new\n    // handleInterpolation function on every css call\n    styles = []\n    buffer = ''\n    lastType = undefined\n\n    if (args[0] == null || args[0].raw === undefined) {\n      vals = args\n    } else {\n      vals = interleave(args as [any, ...any[]])\n    }\n\n    try {\n      vals.forEach(handleInterpolation, this)\n    } finally {\n      buffer = prevBuffer\n    }\n\n    const hash = JSON.stringify(styles)\n    if (!generated[hash]) {\n      const styleSheet = StyleSheet.create({\n        generated: StyleSheet.flatten(styles)\n      })\n      generated[hash] = styleSheet.generated\n    }\n    return generated[hash]\n  }\n}\n\nlet propertyValuePattern = /\\s*([^\\s]+)\\s*:\\s*(.+?)\\s*$/\n\nfunction convertPropertyValue(this: [string, string][], style: string): void {\n  // Get prop name and prop value\n  let match = propertyValuePattern.exec(style)\n  // match[2] will be \" \" in cases where there is no value\n  // but there is whitespace, e.g. \"color: \"\n  if (match !== null && match[2] !== ' ') {\n    // the first value in the array will\n    // be the whole string so we remove it\n    match.shift()\n    // yes i know this looks funny\n    this.push(match as unknown as [string, string])\n  }\n}\n\nfunction convertStyles(str: string): Style | undefined {\n  if (str.trim() === '') return\n\n  const stylePairs: [string, string][] = []\n\n  const parsedString = str.split(';')\n\n  parsedString.forEach(convertPropertyValue, stylePairs)\n\n  try {\n    return transform(stylePairs)\n  } catch (error) {\n    const msg = (error as { message?: string } | undefined)?.message\n\n    if (msg && msg.includes('Failed to parse declaration')) {\n      const values = msg\n        .replace('Failed to parse declaration ', '')\n        .replace(/\"/g, '')\n        .trim()\n        .split(':')\n\n      const errorMsg = `'${values[0]}' shorthand property requires units for example - ${values[0]}: 20px or ${values[0]}: 10px 20px 40px 50px`\n\n      console.error(errorMsg)\n    }\n  }\n}\n"
  },
  {
    "path": "packages/primitives-core/src/index.ts",
    "content": "export { createCss } from './css'\nexport { createStyled } from './styled'\n"
  },
  {
    "path": "packages/primitives-core/src/styled.ts",
    "content": "import * as React from 'react'\nimport { interleave } from './utils'\nimport { ThemeContext } from '@emotion/react'\nimport { createCss } from './css'\nimport { AbstractStyleSheet } from './types'\n\nlet testOmitPropsOnComponent = (prop: string) =>\n  prop !== 'theme' && prop !== 'as'\n\ninterface CreateStyledOptions {\n  getShouldForwardProp(cmp: React.ElementType): (prop: string) => boolean\n}\n\ninterface StyledOptions {\n  shouldForwardProp?(prop: string): boolean\n}\n\ntype StyledProps = Record<string, unknown> & {\n  as?: React.ElementType\n}\n\nexport function createStyled(\n  StyleSheet: AbstractStyleSheet,\n  options?: CreateStyledOptions\n) {\n  const getShouldForwardProp =\n    options?.getShouldForwardProp ?? (() => testOmitPropsOnComponent)\n\n  const css = createCss(StyleSheet)\n\n  return function createEmotion(\n    component: React.ElementType,\n    options?: StyledOptions\n  ) {\n    let shouldForwardProp =\n      options && options.shouldForwardProp\n        ? options.shouldForwardProp\n        : undefined\n    let defaultShouldForwardProp =\n      shouldForwardProp || getShouldForwardProp(component)\n    let shouldUseAs = !defaultShouldForwardProp('as')\n\n    return function createStyledComponent(...rawStyles: any[]) {\n      let styles: any[]\n\n      if (rawStyles[0] == null || rawStyles[0].raw === undefined) {\n        styles = rawStyles\n      } else {\n        styles = interleave(rawStyles as [any, ...any[]])\n      }\n\n      // do we really want to use the same infra as the web since it only really uses theming?\n      let Styled = React.forwardRef<unknown, StyledProps>((props, ref) => {\n        const finalTag =\n          (shouldUseAs && (props.as as React.ElementType)) || component\n\n        let mergedProps = props\n        if (props.theme == null) {\n          mergedProps = {}\n          for (let key in props) {\n            mergedProps[key] = props[key]\n          }\n          mergedProps.theme = React.useContext(ThemeContext)\n        }\n\n        let finalShouldForwardProp =\n          shouldUseAs && shouldForwardProp === undefined\n            ? getShouldForwardProp(finalTag)\n            : defaultShouldForwardProp\n\n        let newProps: Record<string, unknown> = {}\n\n        for (let key in props) {\n          if (shouldUseAs && key === 'as') continue\n\n          if (finalShouldForwardProp(key)) {\n            newProps[key] = props[key]\n          }\n        }\n        newProps.style = [css.apply(mergedProps, styles), props.style]\n        if (ref) {\n          newProps.ref = ref\n        }\n\n        return React.createElement(finalTag, newProps)\n      })\n\n      Styled.displayName = `emotion(${getDisplayName(component)})`\n\n      const withComponent = (newComponent: React.ElementType) =>\n        createEmotion(newComponent)(...styles)\n\n      const castedStyled = Styled as typeof Styled & {\n        withComponent: typeof withComponent\n      }\n\n      castedStyled.withComponent = withComponent\n\n      return castedStyled\n    }\n  }\n}\n\nconst getDisplayName = (\n  primitive: string | { displayName?: string; name?: string }\n) =>\n  typeof primitive === 'string'\n    ? primitive\n    : primitive.displayName || primitive.name || 'Styled'\n"
  },
  {
    "path": "packages/primitives-core/src/types.ts",
    "content": "type NamedStyles<T> = { [P in keyof T]: unknown }\n\n// This is based on the StyleSheet type from @types/react-native\nexport interface AbstractStyleSheet {\n  create<T extends NamedStyles<T> | NamedStyles<any>>(\n    styles: T | NamedStyles<T>\n  ): T\n\n  flatten(style?: unknown[]): unknown\n}\n"
  },
  {
    "path": "packages/primitives-core/src/utils.ts",
    "content": "export function interleave(\n  vals: [TemplateStringsArray, ...unknown[]]\n): unknown[] {\n  let strings = vals[0]\n  let finalArray: unknown[] = [strings[0]]\n  for (let i = 1, len = vals.length; i < len; i++) {\n    finalArray.push(vals[i])\n    if (strings[i] !== undefined) {\n      finalArray.push(strings[i])\n    }\n  }\n  return finalArray\n}\n"
  },
  {
    "path": "packages/react/CHANGELOG.md",
    "content": "# @emotion/react\n\n## 11.14.0\n\n### Minor Changes\n\n- [#3281](https://github.com/emotion-js/emotion/pull/3281) [`fc4d7bd`](https://github.com/emotion-js/emotion/commit/fc4d7bd744c205f55513dcd4e4e5134198c219de) Thanks [@Andarist](https://github.com/Andarist)! - Source code has been migrated to TypeScript. From now on type declarations will be emitted based on that, instead of being hand-written.\n\n### Patch Changes\n\n- Updated dependencies [[`8dc1a6d`](https://github.com/emotion-js/emotion/commit/8dc1a6dd19d2dc9ce435ef0aff85ccf5647f5d2e), [`e1bf17e`](https://github.com/emotion-js/emotion/commit/e1bf17ee87ec51da1412eb5291460ea95a39d27a)]:\n  - @emotion/cache@11.14.0\n  - @emotion/use-insertion-effect-with-fallbacks@1.2.0\n\n## 11.13.5\n\n### Patch Changes\n\n- [#3270](https://github.com/emotion-js/emotion/pull/3270) [`77d930d`](https://github.com/emotion-js/emotion/commit/77d930dc708015ff6fd34a1084bb343b02d732fa) Thanks [@emmatown](https://github.com/emmatown)! - Fix inconsistent hashes using development vs production bundles/`exports` conditions when using `@emotion/babel-plugin` with `sourceMap: true` (the default). This is particularly visible when using Emotion with the Next.js Pages router where the `development` condition is used when bundling code but not when importing external code with Node.js.\n\n- Updated dependencies [[`77d930d`](https://github.com/emotion-js/emotion/commit/77d930dc708015ff6fd34a1084bb343b02d732fa)]:\n  - @emotion/serialize@1.3.3\n  - @emotion/cache@11.13.5\n  - @emotion/utils@1.4.2\n  - @emotion/babel-plugin@11.13.5\n\n## 11.13.3\n\n### Patch Changes\n\n- [#3232](https://github.com/emotion-js/emotion/pull/3232) [`0ce3ed0`](https://github.com/emotion-js/emotion/commit/0ce3ed0ff3f7d1ddf91db2859f863f230b063e13) Thanks [@ENvironmentSet](https://github.com/ENvironmentSet)! - Distribute `css` prop attachment over props that are union types\n\n- Updated dependencies []:\n  - @emotion/serialize@1.3.1\n\n## 11.13.0\n\n### Minor Changes\n\n- [#3198](https://github.com/emotion-js/emotion/pull/3198) [`d8ff8a5`](https://github.com/emotion-js/emotion/commit/d8ff8a5990c691017b463b3fa23a9f46ab28147b) Thanks [@Andarist](https://github.com/Andarist)! - Migrated away from relying on `process.env.NODE_ENV` checks to differentiate between production and development builds.\n\n  Development builds (and other environment-specific builds) can be used by using proper conditions (see [here](https://nodejs.org/docs/v20.15.1/api/packages.html#resolving-user-conditions)). Most modern bundlers/frameworks already preconfigure those for the user so no action has to be taken.\n\n  Default files should continue to work in all environments.\n\n- [#3215](https://github.com/emotion-js/emotion/pull/3215) [`a9f6912`](https://github.com/emotion-js/emotion/commit/a9f691299844bf6837b7ad41ee17cd912496f3d5) Thanks [@Andarist](https://github.com/Andarist)! - Added `edge-light` and `workerd` conditions to `package.json` manifest to better serve users using Vercel Edge and Cloudflare Workers.\n\n### Patch Changes\n\n- Updated dependencies [[`d8ff8a5`](https://github.com/emotion-js/emotion/commit/d8ff8a5990c691017b463b3fa23a9f46ab28147b), [`a9f6912`](https://github.com/emotion-js/emotion/commit/a9f691299844bf6837b7ad41ee17cd912496f3d5)]:\n  - @emotion/cache@11.13.0\n  - @emotion/serialize@1.3.0\n  - @emotion/use-insertion-effect-with-fallbacks@1.1.0\n  - @emotion/utils@1.4.0\n\n## 11.12.0\n\n### Minor Changes\n\n- [#2815](https://github.com/emotion-js/emotion/pull/2815) [`65a1eea`](https://github.com/emotion-js/emotion/commit/65a1eea156a15603cd9ded42769a8ca226cf9450) Thanks [@srmagura](https://github.com/srmagura)! - Automatic labeling at runtime is now an opt-in feature. Define `globalThis.EMOTION_RUNTIME_AUTO_LABEL = true` before Emotion gets initialized to enable it.\n\n### Patch Changes\n\n- [#3206](https://github.com/emotion-js/emotion/pull/3206) [`d1994c4`](https://github.com/emotion-js/emotion/commit/d1994c460761ef37a3d12c587910c4e5b0e6f682) Thanks [@DiegoAndai](https://github.com/DiegoAndai)! - Improved compatibility with the upcoming `@types/react` for React 19 where the global `JSX` namespace doesn't exist anymore\n\n- [#3208](https://github.com/emotion-js/emotion/pull/3208) [`56109e7`](https://github.com/emotion-js/emotion/commit/56109e79adcf916144250b52ed579f13e4e6e0cf) Thanks [@Andarist](https://github.com/Andarist)! - Only forward defined `ref`s to improve compatibility with the upcoming React 19\n\n- Updated dependencies [[`9ca22c6`](https://github.com/emotion-js/emotion/commit/9ca22c6c23e9effa086d161a9b0ae1c645686680), [`b1d16b0`](https://github.com/emotion-js/emotion/commit/b1d16b087d057524f374e347fdfd6a03e505107a), [`16d8a8c`](https://github.com/emotion-js/emotion/commit/16d8a8c2198461c4842c73048b406c346a70aa59)]:\n  - @emotion/serialize@1.2.0\n  - @emotion/weak-memoize@0.4.0\n  - @emotion/utils@1.3.0\n  - @emotion/babel-plugin@11.12.0\n  - @emotion/cache@11.12.0\n\n## 11.11.4\n\n### Patch Changes\n\n- [#3159](https://github.com/emotion-js/emotion/pull/3159) [`5b82631d`](https://github.com/emotion-js/emotion/commit/5b82631d79a58e87e560024d724b849f3921b6e0) Thanks [@iegik](https://github.com/iegik)! - Renamed an internal `hasOwnProperty` to `hasOwn`. This avoids problems in CommonJS environments when the consumer tries to prevent prototype pollution with `Object.freeze(Object.prototype)`.\n\n## 11.11.3\n\n### Patch Changes\n\n- [#3101](https://github.com/emotion-js/emotion/pull/3101) [`49c20b4f`](https://github.com/emotion-js/emotion/commit/49c20b4faa3b9aec0ca96066c126cbaaabbf2d5c) Thanks [@kyvong](https://github.com/kyvong)! - Fix Theme import for newer Typescript module resolution modes\n\n- Updated dependencies [[`45c440fb`](https://github.com/emotion-js/emotion/commit/45c440fbc86b90750f275f497d11382f09ec1d2e)]:\n  - @emotion/serialize@1.1.3\n\n## 11.11.1\n\n### Patch Changes\n\n- [#3048](https://github.com/emotion-js/emotion/pull/3048) [`9357f337`](https://github.com/emotion-js/emotion/commit/9357f337200ef38f9c6df5d4dd7c20772478ea42) Thanks [@naari3](https://github.com/naari3)! - Added `ElementType` to the Emotion's `JSX` namespace. It's defined in the same way as the one in `@types/react` and should make it possible to use components that return `string`s, `Promise`s and other types that are valid in React.\n\n## 11.11.0\n\n### Minor Changes\n\n- [#3031](https://github.com/emotion-js/emotion/pull/3031) [`336f3d50`](https://github.com/emotion-js/emotion/commit/336f3d50fd684ccbb160fff0c63d5560936f1ee5) Thanks [@Andarist](https://github.com/Andarist)! - Added support for cascade `@layer`s by updating the underlying parser ([stylis](https://github.com/thysultan/stylis)).\n\n### Patch Changes\n\n- [#3029](https://github.com/emotion-js/emotion/pull/3029) [`eed5e6cf`](https://github.com/emotion-js/emotion/commit/eed5e6cf00f94f3011b93825ccce43cb2270c247) Thanks [@Andarist](https://github.com/Andarist)! - Fixed importing in Node ESM\n\n- Updated dependencies [[`336f3d50`](https://github.com/emotion-js/emotion/commit/336f3d50fd684ccbb160fff0c63d5560936f1ee5), [`eed5e6cf`](https://github.com/emotion-js/emotion/commit/eed5e6cf00f94f3011b93825ccce43cb2270c247), [`336f3d50`](https://github.com/emotion-js/emotion/commit/336f3d50fd684ccbb160fff0c63d5560936f1ee5)]:\n  - @emotion/babel-plugin@11.11.0\n  - @emotion/cache@11.11.0\n  - @emotion/serialize@1.1.2\n  - @emotion/use-insertion-effect-with-fallbacks@1.0.1\n  - @emotion/utils@1.2.1\n  - @emotion/weak-memoize@0.3.1\n\n## 11.10.8\n\n### Patch Changes\n\n- [#3025](https://github.com/emotion-js/emotion/pull/3025) [`6bd13425`](https://github.com/emotion-js/emotion/commit/6bd13425a2b413150c81e63fad1105d7968b5e6f) Thanks [@Andarist](https://github.com/Andarist)! - Fixed a parsing issue with `&` within nested functions in declaration values by updating the underlying parser ([stylis](https://github.com/thysultan/stylis)).\n\n- Updated dependencies [[`6bd13425`](https://github.com/emotion-js/emotion/commit/6bd13425a2b413150c81e63fad1105d7968b5e6f), [`6bd13425`](https://github.com/emotion-js/emotion/commit/6bd13425a2b413150c81e63fad1105d7968b5e6f)]:\n  - @emotion/babel-plugin@11.10.8\n  - @emotion/cache@11.10.8\n\n## 11.10.6\n\n### Patch Changes\n\n- [#2985](https://github.com/emotion-js/emotion/pull/2985) [`4e172c2a`](https://github.com/emotion-js/emotion/commit/4e172c2ae4e5237500ec84688d76ebf253ab1fdc) Thanks [@emmatown](https://github.com/emmatown)! - Remove peer dependency on `@babel/core`\n\n- Updated dependencies [[`4e172c2a`](https://github.com/emotion-js/emotion/commit/4e172c2ae4e5237500ec84688d76ebf253ab1fdc)]:\n  - @emotion/babel-plugin@11.10.6\n\n## 11.10.5\n\n### Patch Changes\n\n- [#2905](https://github.com/emotion-js/emotion/pull/2905) [`4c0005f6`](https://github.com/emotion-js/emotion/commit/4c0005f677d5847e7f931a1473ac58b834606c57) Thanks [@p-m-p](https://github.com/p-m-p)! - Do not warn about `@emotion/react` being loaded twice in Vitest as that might easily happen with mocked modules.\n\n* [#2929](https://github.com/emotion-js/emotion/pull/2929) [`13afe030`](https://github.com/emotion-js/emotion/commit/13afe0303e2e54b5869c326e6d9c9dc36a332c02) Thanks [@Andarist](https://github.com/Andarist)! - The support for `@container` queries has been added by updating the underlying parser ([stylis](https://github.com/thysultan/stylis)) .\n\n* Updated dependencies [[`13afe030`](https://github.com/emotion-js/emotion/commit/13afe0303e2e54b5869c326e6d9c9dc36a332c02), [`c02b1214`](https://github.com/emotion-js/emotion/commit/c02b12145a94df011e0fd6ffd54197a4d9369783), [`d8a13bca`](https://github.com/emotion-js/emotion/commit/d8a13bcae81812d3dff643bcf446709f965f0909)]:\n  - @emotion/babel-plugin@11.10.5\n  - @emotion/serialize@1.1.1\n  - @emotion/cache@11.10.5\n\n## 11.10.4\n\n### Patch Changes\n\n- [#2867](https://github.com/emotion-js/emotion/pull/2867) [`89b6dbb3`](https://github.com/emotion-js/emotion/commit/89b6dbb3c13d49ef1fa3d88888672d810853f05a) Thanks [@Andarist](https://github.com/Andarist)! - Externalized code referencing `React.useInsertionEffect` to a separate `@emotion/use-insertion-effect-with-fallbacks` package. This package should be used in your defined externals if you bundle Emotion for whatever reason. It references `useInsertionEffect` in a very specific way that allows us to use it conditionally. However, if the code consuming Emotion is bundled as a library with Emotion in it then some bundlers might change the way in which we reference `useInsertionEffect` and that might create problems for bundlers used to consume the said library code. By externalizing this new package you can still bundle Emotion if you want to without running into this problem as you won't \"destroy\" the carefully crafted reference to `useInsertionEffect` in the process.\n\n  Note that we don't recommend bundling Emotion. You should have very specific reasons to do so.\n\n- Updated dependencies [[`89b6dbb3`](https://github.com/emotion-js/emotion/commit/89b6dbb3c13d49ef1fa3d88888672d810853f05a)]:\n  - @emotion/use-insertion-effect-with-fallbacks@1.0.0\n\n## 11.10.0\n\n### Minor Changes\n\n- [#2819](https://github.com/emotion-js/emotion/pull/2819) [`bbad8c79`](https://github.com/emotion-js/emotion/commit/bbad8c79937f8dfd5d93bf485c1e9ec44124d228) Thanks [@nicksrandall](https://github.com/nicksrandall)! - `exports` field has been added to the `package.json` manifest. It limits what files can be imported from a package but we've tried our best to allow importing all the files that were considered to be a part of the public API.\n\n* [#2819](https://github.com/emotion-js/emotion/pull/2819) [`bbad8c79`](https://github.com/emotion-js/emotion/commit/bbad8c79937f8dfd5d93bf485c1e9ec44124d228) Thanks [@nicksrandall](https://github.com/nicksrandall)! - Thanks to the added `exports` field, the package now includes a `worker` condition that can be utilized by properly configured bundlers when targeting worker-like environments. It fixes the issue with browser-specific files being prioritized by some bundlers when targeting workers.\n\n### Patch Changes\n\n- Updated dependencies [[`bbad8c79`](https://github.com/emotion-js/emotion/commit/bbad8c79937f8dfd5d93bf485c1e9ec44124d228), [`bbad8c79`](https://github.com/emotion-js/emotion/commit/bbad8c79937f8dfd5d93bf485c1e9ec44124d228)]:\n  - @emotion/babel-plugin@11.10.0\n  - @emotion/cache@11.10.0\n  - @emotion/serialize@1.1.0\n  - @emotion/utils@1.2.0\n  - @emotion/weak-memoize@0.3.0\n\n## 11.9.3\n\n### Patch Changes\n\n- [#2766](https://github.com/emotion-js/emotion/pull/2766) [`5b3f4d78`](https://github.com/emotion-js/emotion/commit/5b3f4d78d54552f9785836bc2cc56d3f789afc47) Thanks [@Andarist](https://github.com/Andarist)! - `ThemeProviderProps[\"children\"]` was marked as a required prop as `ThemeProvider` should always wrap some subtree.\n\n- Updated dependencies [[`26e4e3e8`](https://github.com/emotion-js/emotion/commit/26e4e3e8b68479f0e3cb8fbec723da47afd6ac98), [`6c2d7a60`](https://github.com/emotion-js/emotion/commit/6c2d7a6010af85502ae33d14dcbd3bb62ed7612e), [`5e81f213`](https://github.com/emotion-js/emotion/commit/5e81f213980e9ba2cfa35256476673b68d47fc33)]:\n  - @emotion/serialize@1.0.4\n  - @emotion/cache@11.9.3\n\n## 11.9.0\n\n### Patch Changes\n\n- [#2700](https://github.com/emotion-js/emotion/pull/2700) [`d9357621`](https://github.com/emotion-js/emotion/commit/d935762131b1474f2474296ee4706f7ecd59b6dd) Thanks [@arturmuller](https://github.com/arturmuller)! - Fixed a false positive warning for `content` properties that included `var()`.\n\n- Updated dependencies [[`d9357621`](https://github.com/emotion-js/emotion/commit/d935762131b1474f2474296ee4706f7ecd59b6dd)]:\n  - @emotion/serialize@1.0.3\n\n## 11.8.2\n\n### Patch Changes\n\n- [#2677](https://github.com/emotion-js/emotion/pull/2677) [`ff3cb164`](https://github.com/emotion-js/emotion/commit/ff3cb16419b44578c7bab275dce7b5845b61db84) Thanks [@Jack-Works](https://github.com/Jack-Works)! - Change `Global` component to use the `StyleSheet` constructor of the current `cache.sheet`. This is useful when `cache.sheet` is not the default implementation. Thanks to that the inner sheet constructed by `Global` can share the behavior with its \"main\" sheet that is hold by the `cache`.\n\n## 11.8.1\n\n### Patch Changes\n\n- [#2651](https://github.com/emotion-js/emotion/pull/2651) [`39ac5b99`](https://github.com/emotion-js/emotion/commit/39ac5b99483994a68fa2b51e23ad6c173f42f1c1) Thanks [@Andarist](https://github.com/Andarist)! - Fixed a transpilation issue that caused `useInsertionEffect` to be referenced directly in the specifiers list of the import statement. This has caused build errors in the consuming tools since the import statement can only reference known exports of a module.\n\n## 11.8.0\n\n### Minor Changes\n\n- [#2600](https://github.com/emotion-js/emotion/pull/2600) [`2f27156a`](https://github.com/emotion-js/emotion/commit/2f27156a73f94c3aac82e4ed492cbfdc97225573) Thanks [@Andarist](https://github.com/Andarist)! - Refactored code to use the upcoming `React.useInsertionEffect` when it's available (this is a new hook that is going to be introduced in React 18). This shouldn't have any effect on existing codebases and the change should be transparent.\n\n### Patch Changes\n\n- [#2609](https://github.com/emotion-js/emotion/pull/2609) [`242f7d8c`](https://github.com/emotion-js/emotion/commit/242f7d8c9f3ddbba2a69664bcc0fa22501df849f) Thanks [@Andarist](https://github.com/Andarist)! - Added `@emotion/babel-plugin` as a dependency - this is an actual dependency of the `@emotion/react/macro` entrypoint and it has to be explicitly declared to fix compatibility with strict package managers.\n\n* [#2615](https://github.com/emotion-js/emotion/pull/2615) [`3d672acd`](https://github.com/emotion-js/emotion/commit/3d672acd4d379f5861012d6e6d38feadd212966a) Thanks [@srmagura](https://github.com/srmagura)! - Fix an edge case where runtime label extraction in class components led to invalid class names in Firefox. This only affected the development build of Emotion.\n\n* Updated dependencies [[`2f27156a`](https://github.com/emotion-js/emotion/commit/2f27156a73f94c3aac82e4ed492cbfdc97225573)]:\n  - @emotion/utils@1.1.0\n\n## 11.7.1\n\n### Patch Changes\n\n- [#2577](https://github.com/emotion-js/emotion/pull/2577) [`04681a5f`](https://github.com/emotion-js/emotion/commit/04681a5f520b3e3909e567fda200622494dd333b) Thanks [@Methuselah96](https://github.com/Methuselah96)! - Export `Keyframes` type to avoid TypeScript inserting `import(\"@emotion/serialize\").Keyframes` references into declaration files emitted based on a source files exporting `keyframes` result. This avoids issues with strict package managers that don't allow accessing undeclared dependencies.\n\n* [#2590](https://github.com/emotion-js/emotion/pull/2590) [`1554a7e2`](https://github.com/emotion-js/emotion/commit/1554a7e264e05780b2c5bd74ccb20a92005ba61d) Thanks [@Andarist](https://github.com/Andarist)! - Upgraded and pinned the version of Stylis - the CSS parser that Emotion uses under the hood.\n\n* Updated dependencies [[`1554a7e2`](https://github.com/emotion-js/emotion/commit/1554a7e264e05780b2c5bd74ccb20a92005ba61d)]:\n  - @emotion/cache@11.7.1\n\n## 11.7.0\n\n### Patch Changes\n\n- [#2534](https://github.com/emotion-js/emotion/pull/2534) [`57be9e8c`](https://github.com/emotion-js/emotion/commit/57be9e8cb20313bd2ed297a39c41ca0f0ca37ea8) Thanks [@srmagura](https://github.com/srmagura)! - Changed the implementation of the runtime label extraction in elements using the css prop (that only happens in development) to one that should yield more consistent results across browsers. This fixes some minor issues with React reporting hydration mismatches that wouldn't happen in production.\n\n## 11.6.0\n\n### Minor Changes\n\n- [#2542](https://github.com/emotion-js/emotion/pull/2542) [`eb013d25`](https://github.com/emotion-js/emotion/commit/eb013d25722f4fd9af9acf699789bf6b8afac871) Thanks [@eps1lon](https://github.com/eps1lon)! - Fixed hydration mismatches if `React.useId` (an upcoming API in React 18) is used within a tree below our components.\n\n### Patch Changes\n\n- [#2551](https://github.com/emotion-js/emotion/pull/2551) [`99fcea04`](https://github.com/emotion-js/emotion/commit/99fcea04a27458b94982bb8fcd7d209f21278013) Thanks [@Andarist](https://github.com/Andarist)! - Shorten the path of the \"private\" `isolated-hoist-non-react-statics-do-not-use-this-in-your-code` entrypoint to avoid exeeding path limitations on Windows.\n\n- Updated dependencies [[`9e82a991`](https://github.com/emotion-js/emotion/commit/9e82a991624b18c20c46c5974e8a127c94a54711), [`516fe458`](https://github.com/emotion-js/emotion/commit/516fe458058c9ec8218740472b301e935801ebbc)]:\n  - @emotion/sheet@1.1.0\n  - @emotion/cache@11.6.0\n\n## 11.5.0\n\n### Patch Changes\n\n- [#2498](https://github.com/emotion-js/emotion/pull/2498) [`e5beae8e`](https://github.com/emotion-js/emotion/commit/e5beae8e320f3d1455e45efecdfeb7d757687a43) Thanks [@Andarist](https://github.com/Andarist)! - Fixed an edge case issue with incorrect rules being generated. When a context selector (`&`) was used not at the beginning of a selector (which is not valid SCSS but is allowed by the Stylis parser that we are using) within a group of selectors containing a pseudoclass then it was not replaced correctly with the current context selector.\n\n* [#2500](https://github.com/emotion-js/emotion/pull/2500) [`eda5e687`](https://github.com/emotion-js/emotion/commit/eda5e687c0bc4eddcafb243a2b1028296fb45cba) Thanks [@Jarred-Sumner](https://github.com/Jarred-Sumner)! - Fix error loading @emotion/react in alternative JS environments\n\n* Updated dependencies [[`e5beae8e`](https://github.com/emotion-js/emotion/commit/e5beae8e320f3d1455e45efecdfeb7d757687a43), [`9ae4a91a`](https://github.com/emotion-js/emotion/commit/9ae4a91a08a6f7c5ca26a585f1c271a179db4623), [`f2eda829`](https://github.com/emotion-js/emotion/commit/f2eda8295429dd1892a06cbc9496321f2a55c10a)]:\n  - @emotion/cache@11.5.0\n  - @emotion/sheet@1.0.3\n\n## 11.4.1\n\n### Patch Changes\n\n- [#2441](https://github.com/emotion-js/emotion/pull/2441) [`24557d9d`](https://github.com/emotion-js/emotion/commit/24557d9d6409db453fdbaa031cb635820305f137) Thanks [@garronej](https://github.com/garronej)! - Exposed `__unsafe_useEmotionCache` which can be used to access the current Emotion's cache in an easier way than before. Using this might break 0-config SSR and is not recommended to be used unless there you know what you are doing and you are OK with the mentioned downside.\n\n* [#2424](https://github.com/emotion-js/emotion/pull/2424) [`cd25b62d`](https://github.com/emotion-js/emotion/commit/cd25b62da80119bfb1c74a8d0a3516fcd2f62e0e) Thanks [@tills13](https://github.com/tills13)! - Use theme context when rendering components at all times. This removes a conditional usage of a React hook that could break [Rules of Hooks](https://reactjs.org/docs/hooks-rules.html) in some scenarios.\n\n- [#2428](https://github.com/emotion-js/emotion/pull/2428) [`a69929d6`](https://github.com/emotion-js/emotion/commit/a69929d6ab47e834a3535525657829c81dd97b4a) Thanks [@eps1lon](https://github.com/eps1lon)! - Added display names to public React contexts in development builds. This helps to recognize them in React Developer Tools.\n\n- Updated dependencies [[`405af5ca`](https://github.com/emotion-js/emotion/commit/405af5ca01dcc0cac64227db082ce3f483e1bb46)]:\n  - @emotion/sheet@1.0.2\n\n## 11.4.0\n\n### Patch Changes\n\n- [#2334](https://github.com/emotion-js/emotion/pull/2334) [`7d9e74f8`](https://github.com/emotion-js/emotion/commit/7d9e74f8f0d0e0ea60573a19965eded61dc41024) Thanks [@Andarist](https://github.com/Andarist)! - The Global component no longer replaces style elements from server-rendering on first mount and instead reuses the server-side rendered style element\n\n- Updated dependencies [[`38f9d44f`](https://github.com/emotion-js/emotion/commit/38f9d44f919dccbf66c835ccde3f08ab927a4940)]:\n  - @emotion/cache@11.4.0\n\n## 11.1.5\n\n### Patch Changes\n\n- [`4d2e732e`](https://github.com/emotion-js/emotion/commit/4d2e732e9f0c8385c77c7bc43d4ccea7b30b9d37) [#2206](https://github.com/emotion-js/emotion/pull/2206) Thanks [@jimmydief](https://github.com/jimmydief)! - Added export for `SerializedStyles` Flow type.\n\n## 11.1.4\n\n### Patch Changes\n\n- [`71ca9be3`](https://github.com/emotion-js/emotion/commit/71ca9be3368ddb0a95ef5b2db7a97c67ab440593) [#2181](https://github.com/emotion-js/emotion/pull/2181) Thanks [@101arrowz](https://github.com/101arrowz)! - Fixed some typing issues with React components with custom generic render functions.\n\n## 11.1.3\n\n### Patch Changes\n\n- [`704b0092`](https://github.com/emotion-js/emotion/commit/704b0092ebba648c3937cc281e4d549565968201) [#2180](https://github.com/emotion-js/emotion/pull/2180) Thanks [@Andarist](https://github.com/Andarist)! - Fixed an issue with global styles containing pseudo selectors in at-rules not being able to be inserted.\n\n- Updated dependencies [[`704b0092`](https://github.com/emotion-js/emotion/commit/704b0092ebba648c3937cc281e4d549565968201)]:\n  - @emotion/cache@11.1.3\n\n## 11.1.2\n\n### Patch Changes\n\n- [`3f8bf70e`](https://github.com/emotion-js/emotion/commit/3f8bf70e995267ace1e04b6a97df35ae23902fed) [#2132](https://github.com/emotion-js/emotion/pull/2132) Thanks [@dcastil](https://github.com/dcastil)! - `displayName`s have been added to `Global` and `ClassNames` components so React Developer Tools should display those better now.\n\n* [`1ee34005`](https://github.com/emotion-js/emotion/commit/1ee34005a5e02c9041b36f73395700f1965388eb) [#2122](https://github.com/emotion-js/emotion/pull/2122) Thanks [@dcastil](https://github.com/dcastil)! - Improved label extraction from the stack traces to handle components with numbers in their names.\n\n- [`e5843530`](https://github.com/emotion-js/emotion/commit/e58435308d880a69c6ccfde15d745e6c95d3c333) [#2140](https://github.com/emotion-js/emotion/pull/2140) Thanks [@hasparus](https://github.com/hasparus)! - Fixed an issue with `css` prop type not being added to all components that accept a string `className` correctly.\n\n- Updated dependencies [[`5469d003`](https://github.com/emotion-js/emotion/commit/5469d0034d055a34587e9d05332f6da4d4722b1c)]:\n  - @emotion/sheet@1.0.1\n\n## 11.1.1\n\n### Patch Changes\n\n- [`fdd46bdf`](https://github.com/emotion-js/emotion/commit/fdd46bdf71f6a0aa9c8401ca91b38d48849cece5) [#2112](https://github.com/emotion-js/emotion/pull/2112) Thanks [@Andarist](https://github.com/Andarist)! - Fixed the latest tree-shakeability improvements by adding `\"sideEffects\": false` to all internal `package.json` files as well. This fixes [`hoist-non-react-statics`](https://github.com/mridgway/hoist-non-react-statics) not being dropped correctly despite of the latest improvements.\n\n## 11.1.0\n\n### Patch Changes\n\n- [`0e465d1c`](https://github.com/emotion-js/emotion/commit/0e465d1c46619409f8f9a5123451243dd3b31e9b) [#2101](https://github.com/emotion-js/emotion/pull/2101) Thanks [@Andarist](https://github.com/Andarist)! - Improved tree-shakeability of the package. The main benefit is that bundlers should be able now to drop [`hoist-non-react-statics`](https://github.com/mridgway/hoist-non-react-statics) if you don't actually use our `withTheme` export.\n\n## 11.0.0\n\n### Major Changes\n\n- [`b8476e08`](https://github.com/emotion-js/emotion/commit/b8476e08af4a2e8de94a112cb0daf6e8e4d56fe1) [#1675](https://github.com/emotion-js/emotion/pull/1675) Thanks [@emmatown](https://github.com/emmatown)! - Rename `@emotion/core` to `@emotion/react`. Please change any imports of `@emotion/core` to import `@emotion/react` or use the `@emotion/pkg-renaming` ESLint rule from `@emotion/eslint-plugin`.\n\n* [`cbb8b796`](https://github.com/emotion-js/emotion/commit/cbb8b7965c2923cf1922d724de556374323bff61) [#1628](https://github.com/emotion-js/emotion/pull/1628) Thanks [@Andarist](https://github.com/Andarist)! - `emotion-theming` has been removed and all its exports were moved to `@emotion/react` package. Please import them like this `import { useTheme, ThemeProvider, withTheme } from '@emotion/react'` from now on.\n\n- [`a72e6dc`](https://github.com/emotion-js/emotion/commit/a72e6dc0f326b7d3d6067698d433018ee8c4cbf1) [#1501](https://github.com/emotion-js/emotion/pull/1501) Thanks [@JakeGinnivan](https://github.com/JakeGinnivan)! - TypeScript types have been significantly restructured. These changes:\n\n  - reduce build times when using Emotion, especially in larger projects\n  - it's no longer necessary to manually specify generic parameters for your Emotion components in many cases\n  - union types as props are better supported and should be inferred properly\n  - the `css` function has been restricted to prevent passing invalid types\n  - `styled`'s generic parameter has been changed, if you were specifying the `ComponentType` you will need to remove that generic parameter\n  - `styled` no longer takes a second `ExtraProps` parameter - instead of that move it to after the `styled` call. So instead of writing `styled<typeof MyComponent, ExtraProps>(MyComponent)({})` you should now be writing `styled(MyComponent)<ExtraProps>({})`\n\n  If you encounter build issues after upgrade, try removing any manually specified generic types and let them be inferred.\n\n* [`c6431074`](https://github.com/emotion-js/emotion/commit/c6431074cf52a4bb64587c86ce5d42fe2d49230b) [#1609](https://github.com/emotion-js/emotion/pull/1609) Thanks [@tomsseisums](https://github.com/tomsseisums)! - It's now easier to provide a type for `Theme`. Instead of creating custom instances (like before) you can augment the builtin `Theme` interface like this:\n\n  ```ts\n  import '@emotion/react'\n\n  declare module '@emotion/react' {\n    export interface Theme {\n      primaryColor: string\n      secondaryColor: string\n    }\n  }\n  ```\n\n- [`f57a7229`](https://github.com/emotion-js/emotion/commit/f57a72299cd4025a725bd5bd1b966a8f9df16cd8) [#1941](https://github.com/emotion-js/emotion/pull/1941) Thanks [@Andarist](https://github.com/Andarist)! - The way in which we provide TypeScript support for the `css` prop has changed. Based on the usage of our JSX factories, we can add support for `css` prop only for components that support `className` prop (as our JSX factory functions take the provided `css` prop, resolve it and pass the generated `className` to the rendered component).\n\n  For the classic runtime this has been implemented using technique described [here](https://www.typescriptlang.org/docs/handbook/jsx.html#factory-functions). What is important - we no longer extend any global interfaces, so people shouldn't bump anymore into type conflicts for the `css` prop when using different libraries with `css` prop support, such as `styled-components`.\n\n  For the automatic runtime this has been implemented by exporting `JSX` namespace from the appropriate entries but this is only supported in **TypeScript 4.1 or higher**.\n\n  However, if you are stuck with older version of TypeScript or using the classic runtime implicitly by using our `@emotion/babel-preset-css-prop` then it's not possible to leverage leverage `css` prop support being added conditionally based on a type of rendered component. For those cases we have added a special file that can be imported once to add support for the `css` prop globally, for all components. Use it like this:\n\n  ```ts\n  /// <reference types=\"@emotion/react/types/css-prop\" />\n  ```\n\n  In this particular case we are forced to extend the existing `React.Attributes` interface. Previously we've been extending both `React.DOMAttributes<T>` and `JSX.IntrinsicAttributes`. This change is really minor and shouldn't affect any consuming code.\n\n- [`843bfb11`](https://github.com/emotion-js/emotion/commit/843bfb1153ee0dbe33d005fdd5c5be185daa5c41) [#1630](https://github.com/emotion-js/emotion/pull/1630) Thanks [@Andarist](https://github.com/Andarist)! - Removed default export from `@emotion/css` - it's main purpose was to allow `css` to be a Babel macro, but since babel-plugin-macros allows us to keep imports nowadays this is no longer needed. `@emotion/react/macro` has been added to account for this use case and appropriate changes has been made to `@emotion/babel-plugin` to facilitate those changes.\n\n  If you have used `@emotion/css` directly (it was always reexported from `@emotion/react`) or you have been using its macro then you should update your code like this:\n\n  ```diff\n  -import css from '@emotion/css'\n  +import { css } from '@emotion/react'\n\n  // or\n  -import css from '@emotion/css/macro'\n  +import { css } from '@emotion/react/macro'\n  ```\n\n  You can also use the `@emotion/pkg-renaming` ESLint rule from `@emotion/eslint-plugin` to do this for you.\n\n* [`79036056`](https://github.com/emotion-js/emotion/commit/79036056808eefc81a77225254f7c25c2ff9d967) [#967](https://github.com/emotion-js/emotion/pull/967) Thanks [@emmatown](https://github.com/emmatown)! - Use hooks internally for improved bundle size and a better tree in React DevTools\n\n- [`9e998e37`](https://github.com/emotion-js/emotion/commit/9e998e3755c217027ad1be0af4c64644fe14c6bf) [#1817](https://github.com/emotion-js/emotion/pull/1817) Thanks [@Andarist](https://github.com/Andarist)! - The parser we use ([Stylis](https://github.com/thysultan/stylis.js)) got upgraded. It fixes some long-standing parsing edge cases while being smaller and faster 🚀\n\n  It has been completely rewritten and comes with some breaking changes. The most notable ones that might affect Emotion users are:\n\n  - plugins written for the former Stylis v3 are not compatible with the new version. To learn more on how to write a plugin for Stylis v4 you can check out its [README](https://github.com/thysultan/stylis.js#middleware) and the source code of core plugins.\n  - vendor-prefixing was previously customizable using `prefix` option. This was always limited to turning off all of some of the prefixes as all available prefixes were on by default. The `prefix` option is gone and to customize which prefixes are applied you need to fork (copy-paste) the prefixer plugin and adjust it to your needs. While this being somewhat more problematic to setup at first we believe that the vast majority of users were not customizing this anyway. By not including the possibility to customize this through an extra option the final solution is more performant because there is no extra overhead of checking if a particular property should be prefixed or not.\n  - the prefixer is now just a plugin which happens to be included in the default `stylisPlugins`. If you plan to use custom `stylisPlugins` and you want to have your styles prefixed automatically you must include prefixer in your custom `stylisPlugins`. You can import `prefixer` from the `stylis` module to do that.\n  - `@import` rules are no longer special-cased. The responsibility to put them first has been moved to the author of the styles. They also can't be nested within other rules now. It's only possible to write them at the top level of global styles.\n\n* [`105de5c8`](https://github.com/emotion-js/emotion/commit/105de5c8752be0983c000e1e26462dc8fcf0708d) [#1572](https://github.com/emotion-js/emotion/pull/1572) Thanks [@Andarist](https://github.com/Andarist)! - `[data-emotion]` attribute on SSRed styled has changed. You should never rely on it though.\n\n* [`cf56694`](https://github.com/emotion-js/emotion/commit/cf56694d54d0b2bd6208f561d8ce829da4918952) [#2088](https://github.com/emotion-js/emotion/pull/2088) Thanks [@Andarist](https://github.com/Andarist)! - UMD filenames have been changed.\n\n### Minor Changes\n\n- [`c672175b`](https://github.com/emotion-js/emotion/commit/c672175b52e86de43b3d4092a8fe34b2023ceae8) [#1130](https://github.com/emotion-js/emotion/pull/1130) Thanks [@jtmthf](https://github.com/jtmthf)! - Support functions in arrays passed to `css` prop and `Global`'s styles prop. This allows for composition of theme-accepting functions.\n\n* [`828111cd`](https://github.com/emotion-js/emotion/commit/828111cd32d3fe8c984231201e518d1b6000bffd) [#1639](https://github.com/emotion-js/emotion/pull/1639) Thanks [@Andarist](https://github.com/Andarist)! - `Global` imported from macro entry (`@emotion/react/macro`) gets source maps generated now when inline css-less expression is used as value of the `styles` prop.\n\n- [`5d692a6a`](https://github.com/emotion-js/emotion/commit/5d692a6a8102b3faabefb773dd0145b123668a07) [#1956](https://github.com/emotion-js/emotion/pull/1956) Thanks [@eps1lon](https://github.com/eps1lon)! - Upgraded [`csstype`](https://www.npmjs.com/package/csstype) dependency to its v3. This is what we use to provide TypeScript typings for object styles. The upgrade should not affect any consuming code but it's worth mentioning if any edge case scenarios arise.\n\n### Patch Changes\n\n- [`7dea6d7a`](https://github.com/emotion-js/emotion/commit/7dea6d7a9a87f00cf9b695b58a2f65b67e17fabd) [#1734](https://github.com/emotion-js/emotion/pull/1734) Thanks [@Andarist](https://github.com/Andarist)! - Fixed styles inserted by `<Global/>` component not inheriting `speedy` option from a cache passed to a wrapping `<CacheProvider/>`.\n\n- [`5c55fd17`](https://github.com/emotion-js/emotion/commit/5c55fd17dcaec84d1f5d5d13ae90dd336d7e4403) [#1653](https://github.com/emotion-js/emotion/pull/1653) Thanks [@Andarist](https://github.com/Andarist)! - Fix to what location generated source maps are pointing in case of composed styles.\n\n* [`75e2f9e1`](https://github.com/emotion-js/emotion/commit/75e2f9e1848bc0161f8db3c663438ada3042ae66) [#1810](https://github.com/emotion-js/emotion/pull/1810) Thanks [@Andarist](https://github.com/Andarist)! - Add a dev-only warning about styles created with `css` from `@emotion/react` being passed to `cx` from `<ClassNames/>`.\n\n- [`d62d9101`](https://github.com/emotion-js/emotion/commit/d62d9101bc75e6bc9644ae588d2a6e4bf4d69285) [#1677](https://github.com/emotion-js/emotion/pull/1677) Thanks [@ajs139](https://github.com/ajs139)! - Warn if `@emotion/react` is initialized more than once in the same development environment.\n\n- [`a085003d`](https://github.com/emotion-js/emotion/commit/a085003d4c8ca284c116668d7217fb747802ed85) [#1613](https://github.com/emotion-js/emotion/pull/1613) Thanks [@Andarist](https://github.com/Andarist)! - Add missing `#__PURE__` annotations\n\n* [`58dc08a6`](https://github.com/emotion-js/emotion/commit/58dc08a6a013fb5cfa10bb85e06e53a8ff7eeb51) [#1837](https://github.com/emotion-js/emotion/pull/1837) Thanks [@arcanis](https://github.com/arcanis)! - Fixed TS compatibility under [PnP](https://classic.yarnpkg.com/en/docs/pnp/) environments by making `@types/react` an optional peer dependency.\n\n- Updated dependencies [[`a8eb4e75`](https://github.com/emotion-js/emotion/commit/a8eb4e75eed26763dc4f82ddd9bb49af4552768b), [`e3d7db87`](https://github.com/emotion-js/emotion/commit/e3d7db87deaac95817404760112417ac1fa1b56d), [`8a896a31`](https://github.com/emotion-js/emotion/commit/8a896a31434a1d2f69e1f1467c446c884c929387), [`42df3f3b`](https://github.com/emotion-js/emotion/commit/42df3f3bc01526eed61cedba106d86b9e3807f9d), [`4a891bf6`](https://github.com/emotion-js/emotion/commit/4a891bf6a30e3bb37f8f32031fa75a571c637d9c), [`1e4a741d`](https://github.com/emotion-js/emotion/commit/1e4a741de6424d3d9c1f3ca9695e1953bed3a194), [`debaad9a`](https://github.com/emotion-js/emotion/commit/debaad9ab4bd6c80312092826d9146f3d29c0899), [`5c55fd17`](https://github.com/emotion-js/emotion/commit/5c55fd17dcaec84d1f5d5d13ae90dd336d7e4403), [`a085003d`](https://github.com/emotion-js/emotion/commit/a085003d4c8ca284c116668d7217fb747802ed85), [`dfe79aca`](https://github.com/emotion-js/emotion/commit/dfe79aca696fc688f960218b16afee197926fe71), [`105de5c8`](https://github.com/emotion-js/emotion/commit/105de5c8752be0983c000e1e26462dc8fcf0708d), [`39be057b`](https://github.com/emotion-js/emotion/commit/39be057b1a0c6b76f2cb7a455cb8bc35fe875ba0), [`105de5c8`](https://github.com/emotion-js/emotion/commit/105de5c8752be0983c000e1e26462dc8fcf0708d), [`5d692a6a`](https://github.com/emotion-js/emotion/commit/5d692a6a8102b3faabefb773dd0145b123668a07), [`9e998e37`](https://github.com/emotion-js/emotion/commit/9e998e3755c217027ad1be0af4c64644fe14c6bf), [`c6431074`](https://github.com/emotion-js/emotion/commit/c6431074cf52a4bb64587c86ce5d42fe2d49230b), [`9e998e37`](https://github.com/emotion-js/emotion/commit/9e998e3755c217027ad1be0af4c64644fe14c6bf), [`9e998e37`](https://github.com/emotion-js/emotion/commit/9e998e3755c217027ad1be0af4c64644fe14c6bf)]:\n  - @emotion/cache@11.0.0\n  - @emotion/serialize@1.0.0\n  - @emotion/sheet@1.0.0\n  - @emotion/utils@1.0.0\n\n## 11.0.0-rc.0\n\n### Major Changes\n\n- [`9c4ebc16`](https://github.com/emotion-js/emotion/commit/9c4ebc160471097c5d04fb92dba3ed0df870bb63) [#2030](https://github.com/emotion-js/emotion/pull/2030) Thanks [@Andarist](https://github.com/Andarist)! - Release candidate version.\n\n### Patch Changes\n\n- Updated dependencies [[`9c4ebc16`](https://github.com/emotion-js/emotion/commit/9c4ebc160471097c5d04fb92dba3ed0df870bb63)]:\n  - @emotion/cache@11.0.0-rc.0\n  - @emotion/serialize@1.0.0-rc.0\n  - @emotion/sheet@1.0.0-rc.0\n  - @emotion/utils@1.0.0-rc.0\n\n## 11.0.0-next.19\n\n### Patch Changes\n\n- Updated dependencies [[`42df3f3b`](https://github.com/emotion-js/emotion/commit/42df3f3bc01526eed61cedba106d86b9e3807f9d), [`42df3f3b`](https://github.com/emotion-js/emotion/commit/42df3f3bc01526eed61cedba106d86b9e3807f9d)]:\n  - @emotion/sheet@1.0.0-next.5\n  - @emotion/cache@11.0.0-next.19\n\n## 11.0.0-next.17\n\n### Patch Changes\n\n- Updated dependencies [[`76e3dc4d`](https://github.com/emotion-js/emotion/commit/76e3dc4dd3e76423aa5d527b3e66fe3be1722e5a)]:\n  - @emotion/serialize@1.0.0-next.5\n\n## 11.0.0-next.16\n\n### Patch Changes\n\n- [`58b2bbca`](https://github.com/emotion-js/emotion/commit/58b2bbcad63f8ea22389ccdc2a8f6c5064984e82) [#1981](https://github.com/emotion-js/emotion/pull/1981) Thanks [@Andarist](https://github.com/Andarist)! - Changed the key of the global flag that helps us identify that `@emotion/react` has been loaded more than once to include the current major version of `@emotion/react`.\n\n- Updated dependencies [[`a8eb4e75`](https://github.com/emotion-js/emotion/commit/a8eb4e75eed26763dc4f82ddd9bb49af4552768b), [`dfe98028`](https://github.com/emotion-js/emotion/commit/dfe98028451a27c5190fa1ba138e51ef3d6d9be1), [`debaad9a`](https://github.com/emotion-js/emotion/commit/debaad9ab4bd6c80312092826d9146f3d29c0899), [`39be057b`](https://github.com/emotion-js/emotion/commit/39be057b1a0c6b76f2cb7a455cb8bc35fe875ba0), [`39be057b`](https://github.com/emotion-js/emotion/commit/39be057b1a0c6b76f2cb7a455cb8bc35fe875ba0)]:\n  - @emotion/cache@11.0.0-next.16\n  - @emotion/utils@1.0.0-next.1\n  - @emotion/sheet@1.0.0-next.4\n  - @emotion/serialize@0.11.15-next.4\n\n## 11.0.0-next.15\n\n### Minor Changes\n\n- [`5d692a6a`](https://github.com/emotion-js/emotion/commit/5d692a6a8102b3faabefb773dd0145b123668a07) [#1956](https://github.com/emotion-js/emotion/pull/1956) Thanks [@eps1lon](https://github.com/eps1lon)! - Upgraded [`csstype`](https://www.npmjs.com/package/csstype) dependency to its v3. This is what we use to provide TypeScript typings for object styles. The upgrade should not affect any consuming code but it's worth mentioning if any edge case scenarios arise.\n\n### Patch Changes\n\n- Updated dependencies [[`dc1a0c5e`](https://github.com/emotion-js/emotion/commit/dc1a0c5ed78b27fb7ce49b6296f2ca8631654cd1), [`5d692a6a`](https://github.com/emotion-js/emotion/commit/5d692a6a8102b3faabefb773dd0145b123668a07)]:\n  - @emotion/sheet@1.0.0-next.3\n  - @emotion/serialize@1.0.0-next.3\n  - @emotion/cache@11.0.0-next.15\n\n## 11.0.0-next.14\n\n### Patch Changes\n\n- [`58dc08a6`](https://github.com/emotion-js/emotion/commit/58dc08a6a013fb5cfa10bb85e06e53a8ff7eeb51) [#1837](https://github.com/emotion-js/emotion/pull/1837) Thanks [@arcanis](https://github.com/arcanis)! - Fixed TS compatibility under [PnP](https://classic.yarnpkg.com/en/docs/pnp/) environments by making `@types/react` an optional peer dependency.\n\n* [`f57a7229`](https://github.com/emotion-js/emotion/commit/f57a72299cd4025a725bd5bd1b966a8f9df16cd8) [#1941](https://github.com/emotion-js/emotion/pull/1941) Thanks [@Andarist](https://github.com/Andarist)! - The way in which we provide TypeScript support for `css` prop has changed. Based on usage of our jsx pragma we are able to add support for `css` prop only for components that support `className` prop (as our `jsx` factory function takes provided `css` prop, resolves it and pass the generated `className` to the rendered component). This has been implemented using technique described [here](https://www.typescriptlang.org/docs/handbook/jsx.html#factory-functions). What is important - we no longer extend any global interfaces, so people shouldn't bump anymore into type conflicts for the `css` prop when using different libraries with the `css` prop support, such as `styled-components`.\n\n  However, it's not possible to leverage `css` prop support being added conditionally based on a type of rendered component when one is not using our jsx pragma. For those cases when people use our pragma implicitly (for example when using our `@emotion/babel-preset-css-prop`) we have added special file that can be imported once to add support for the `css` prop globally, for all components. Use it like this:\n\n  ```ts\n  import {} from '@emotion/react/types/css-prop'\n  ```\n\n  In this particular case we are forced to extend the existing `React.Attributes` interface. Previously we've been extending both `React.DOMAttributes<T>` and `JSX.IntrinsicAttributes`. This change is really minor and shouldn't affect any consuming code.\n\n* Updated dependencies [[`4d3b60d0`](https://github.com/emotion-js/emotion/commit/4d3b60d0d448a61d762ee150e6cb7a2c995ccc2f), [`58dc08a6`](https://github.com/emotion-js/emotion/commit/58dc08a6a013fb5cfa10bb85e06e53a8ff7eeb51), [`6d32d82b`](https://github.com/emotion-js/emotion/commit/6d32d82beb45b18e5f18a37932b862ad19b17044)]:\n  - @emotion/styled@11.0.0-next.14\n  - @emotion/css@11.0.0-next.14\n  - @emotion/server@11.0.0-next.14\n\n## 11.0.0-next.13\n\n### Major Changes\n\n- [`9e998e37`](https://github.com/emotion-js/emotion/commit/9e998e3755c217027ad1be0af4c64644fe14c6bf) [#1817](https://github.com/emotion-js/emotion/pull/1817) Thanks [@Andarist](https://github.com/Andarist)! - The parser we use ([Stylis](https://github.com/thysultan/stylis.js)) got upgraded. It fixes some long-standing parsing edge cases while being smaller and faster 🚀\n\n  It has been completely rewritten and comes with some breaking changes. Most notable ones that might affect Emotion users are:\n\n  - plugins written for the former Stylis v3 are not compatible with the new version. To learn more on how to write a plugin for Stylis v4 you can check out its [README](https://github.com/thysultan/stylis.js#middleware) and the source code of core plugins.\n  - vendor-prefixing was previously customizable using `prefix` option. This was always limited to turning off all of some of the prefixes as all available prefixes were on by default. The `prefix` option is gone and to customize which prefixes are applied you need to fork (copy-paste) the prefixer plugin and adjust it to your needs. While this being somewhat more problematic to setup at first we believe that the vast majority of users were not customizing this anyway. By not including the possibility to customize this through an extra option the final solution is more performant because there is no extra overhead of checking if a particular property should be prefixed or not.\n  - Prefixer is now just a plugin which happens to be put in default `stylisPlugins`. If you plan to use custom `stylisPlugins` and you want to have your styles prefixed automatically you must include prefixer in your custom `stylisPlugins`. You can import `prefixer` from the `stylis` module to do that.\n  - `@import` rules are no longer special-cased. The responsibility to put them first has been moved to the author of the styles. They also can't be nested within other rules now. It's only possible to write them at the top level of global styles.\n\n### Patch Changes\n\n- Updated dependencies [[`91046a8c`](https://github.com/emotion-js/emotion/commit/91046a8c188327a65daac61583ef3c4458f30afb), [`9e998e37`](https://github.com/emotion-js/emotion/commit/9e998e3755c217027ad1be0af4c64644fe14c6bf), [`9e998e37`](https://github.com/emotion-js/emotion/commit/9e998e3755c217027ad1be0af4c64644fe14c6bf), [`9e998e37`](https://github.com/emotion-js/emotion/commit/9e998e3755c217027ad1be0af4c64644fe14c6bf)]:\n  - @emotion/sheet@1.0.0-next.2\n  - @emotion/cache@11.0.0-next.13\n  - @emotion/css@11.0.0-next.13\n  - @emotion/styled@11.0.0-next.13\n  - @emotion/utils@1.0.0-next.0\n  - @emotion/server@11.0.0-next.13\n  - @emotion/serialize@0.11.15-next.2\n\n## 11.0.0-next.12\n\n### Major Changes\n\n- [`105de5c8`](https://github.com/emotion-js/emotion/commit/105de5c8752be0983c000e1e26462dc8fcf0708d) [#1572](https://github.com/emotion-js/emotion/pull/1572) Thanks [@Andarist](https://github.com/Andarist)! - `[data-emotion]` attribute on SSRed styled has changed. You should never rely on it though.\n\n### Patch Changes\n\n- [`7dea6d7a`](https://github.com/emotion-js/emotion/commit/7dea6d7a9a87f00cf9b695b58a2f65b67e17fabd) [#1734](https://github.com/emotion-js/emotion/pull/1734) Thanks [@Andarist](https://github.com/Andarist)! - Fixed styles inserted by `<Global/>` component not inheriting `speedy` option from a cache passed to a wrapping `<CacheProvider/>`.\n\n* [`be2eb614`](https://github.com/emotion-js/emotion/commit/be2eb614d2bc369a382dbc6aa347f66801605f3b) [#1806](https://github.com/emotion-js/emotion/pull/1806) Thanks [@Andarist](https://github.com/Andarist)! - Do not warn about `@emotion/react` being loaded twice in Jest. For some reason Jest sometimes evaluates modules twice when `jest.mock` is being called.\n\n- [`75e2f9e1`](https://github.com/emotion-js/emotion/commit/75e2f9e1848bc0161f8db3c663438ada3042ae66) [#1810](https://github.com/emotion-js/emotion/pull/1810) Thanks [@Andarist](https://github.com/Andarist)! - Add a dev-only warning about styles created with `css` from `@emotion/react` being passed to `cx` from `<ClassNames/>`.\n\n- Updated dependencies [[`e3d7db87`](https://github.com/emotion-js/emotion/commit/e3d7db87deaac95817404760112417ac1fa1b56d), [`105de5c8`](https://github.com/emotion-js/emotion/commit/105de5c8752be0983c000e1e26462dc8fcf0708d), [`105de5c8`](https://github.com/emotion-js/emotion/commit/105de5c8752be0983c000e1e26462dc8fcf0708d), [`5bea60b1`](https://github.com/emotion-js/emotion/commit/5bea60b1ffab85fbc965532006c3a94ea139f0bf), [`105de5c8`](https://github.com/emotion-js/emotion/commit/105de5c8752be0983c000e1e26462dc8fcf0708d), [`105de5c8`](https://github.com/emotion-js/emotion/commit/105de5c8752be0983c000e1e26462dc8fcf0708d)]:\n  - @emotion/serialize@1.0.0-next.1\n  - @emotion/server@11.0.0-next.12\n  - @emotion/styled@11.0.0-next.12\n  - @emotion/cache@11.0.0-next.12\n  - @emotion/css@11.0.0-next.12\n\n## 11.0.0-next.11\n\n### Patch Changes\n\n- Updated dependencies [[`f08ef5a3`](https://github.com/emotion-js/emotion/commit/f08ef5a316c1d05bff8e7f3690781e1089a263c6), [`b79781f8`](https://github.com/emotion-js/emotion/commit/b79781f81ccf100e83f533e2edb641816f85e5e1)]:\n  - @emotion/serialize@0.11.15-next.4\n  - @emotion/styled@11.0.0-next.11\n  - @emotion/css@11.0.0-next.11\n\n## 11.0.0-next.10\n\n### Major Changes\n\n- [`b8476e08`](https://github.com/emotion-js/emotion/commit/b8476e08af4a2e8de94a112cb0daf6e8e4d56fe1) [#1675](https://github.com/emotion-js/emotion/pull/1675) Thanks [@emmatown](https://github.com/emmatown)! - Rename `@emotion/core` to `@emotion/react`. Please change any imports of `@emotion/core` to import `@emotion/react` or use the `@emotion/pkg-renaming` ESLint rule from `@emotion/eslint-plugin`.\n\n### Patch Changes\n\n- [`affed3dd`](https://github.com/emotion-js/emotion/commit/affed3ddf03671835356632f26a064f59811852f) [#1702](https://github.com/emotion-js/emotion/pull/1702) Thanks [@Andarist](https://github.com/Andarist)! - Fix issue with published TypeScript test files augmenting Theme interface.\n\n* [`d62d9101`](https://github.com/emotion-js/emotion/commit/d62d9101bc75e6bc9644ae588d2a6e4bf4d69285) [#1677](https://github.com/emotion-js/emotion/pull/1677) Thanks [@ajs139](https://github.com/ajs139)! - Warn if @emotion/react is initialized more than once in the same development environment.\n* Updated dependencies [[`1e4a741d`](https://github.com/emotion-js/emotion/commit/1e4a741de6424d3d9c1f3ca9695e1953bed3a194), [`2fa7a213`](https://github.com/emotion-js/emotion/commit/2fa7a213222fc2bb99ca0a01078148f1a1c6458d), [`b8476e08`](https://github.com/emotion-js/emotion/commit/b8476e08af4a2e8de94a112cb0daf6e8e4d56fe1), [`dfe79aca`](https://github.com/emotion-js/emotion/commit/dfe79aca696fc688f960218b16afee197926fe71), [`b8476e08`](https://github.com/emotion-js/emotion/commit/b8476e08af4a2e8de94a112cb0daf6e8e4d56fe1), [`b8476e08`](https://github.com/emotion-js/emotion/commit/b8476e08af4a2e8de94a112cb0daf6e8e4d56fe1), [`b8476e08`](https://github.com/emotion-js/emotion/commit/b8476e08af4a2e8de94a112cb0daf6e8e4d56fe1), [`dfe79aca`](https://github.com/emotion-js/emotion/commit/dfe79aca696fc688f960218b16afee197926fe71)]:\n  - @emotion/sheet@0.10.0-next.1\n  - @emotion/styled@11.0.0-next.10\n  - @emotion/css@11.0.0-next.10\n  - @emotion/server@11.0.0-next.10\n  - @emotion/cache@11.0.0-next.10\n\n## 11.0.0-next.7\n\n### Patch Changes\n\n- [`5c55fd17`](https://github.com/emotion-js/emotion/commit/5c55fd17dcaec84d1f5d5d13ae90dd336d7e4403) [#1653](https://github.com/emotion-js/emotion/pull/1653) Thanks [@Andarist](https://github.com/Andarist)! - Fix to what location generated source maps are pointing in case of composed styles.\n- Updated dependencies [[`5c55fd17`](https://github.com/emotion-js/emotion/commit/5c55fd17dcaec84d1f5d5d13ae90dd336d7e4403), [`729ef9d8`](https://github.com/emotion-js/emotion/commit/729ef9d8408af82c7a63effc1b8728f79c66bed1)]:\n  - @emotion/serialize@0.11.15-next.2\n  - @emotion/styled@11.0.0-next.7\n\n## 11.0.0-next.6\n\n### Major Changes\n\n- [`843bfb11`](https://github.com/emotion-js/emotion/commit/843bfb1153ee0dbe33d005fdd5c5be185daa5c41) [#1630](https://github.com/emotion-js/emotion/pull/1630) Thanks [@Andarist](https://github.com/Andarist)! - Removed `@emotion/css` - it's main purpose was to allow `css` to be a Babel macro, but since babel-plugin-macros allows us to keep imports nowadays this is no longer needed. `@emotion/core/macro` has been added to account for this use case and appropriate changes has been made to `babel-plugin-emotion` to facilitate those changes.\n\n  If you have used `@emotion/css` directly (it was always reexported from `@emotion/core`) or you have been using its macro then you should update your code like this:\n\n  ```diff\n  -import css from '@emotion/css'\n  +import { css } from '@emotion/core'\n\n  // or\n  -import css from '@emotion/css/macro'\n  +import { css } from '@emotion/core/macro'\n  ```\n\n- [`cbb8b796`](https://github.com/emotion-js/emotion/commit/cbb8b7965c2923cf1922d724de556374323bff61) [#1628](https://github.com/emotion-js/emotion/pull/1628) Thanks [@Andarist](https://github.com/Andarist)! - `emotion-theming` has been removed and all its exports were moved to `@emotion/core` package. Please import them like this `import { useTheme, ThemeProvider, withTheme } from '@emotion/core'` from now on.\n\n### Minor Changes\n\n- [`828111cd`](https://github.com/emotion-js/emotion/commit/828111cd32d3fe8c984231201e518d1b6000bffd) [#1639](https://github.com/emotion-js/emotion/pull/1639) Thanks [@Andarist](https://github.com/Andarist)! - `Global` imported from macro entry (`@emotion/core/macro`) gets source maps generated now when inline css-less expression is used as value of the `styles` prop.\n\n### Patch Changes\n\n- Updated dependencies [[`923ded01`](https://github.com/emotion-js/emotion/commit/923ded01e2399a242206d590f6646f13aba110e4), [`4a891bf6`](https://github.com/emotion-js/emotion/commit/4a891bf6a30e3bb37f8f32031fa75a571c637d9c), [`843bfb11`](https://github.com/emotion-js/emotion/commit/843bfb1153ee0dbe33d005fdd5c5be185daa5c41)]:\n  - @emotion/styled@11.0.0-next.6\n  - @emotion/cache@11.0.0-next.6\n  - @emotion/sheet@0.10.0-next.0\n  - @emotion/css@11.0.0-next.6\n\n## 11.0.0-next.5\n\n### Patch Changes\n\n- Updated dependencies [[`ad77ed24`](https://github.com/emotion-js/emotion/commit/ad77ed24b4bfe62d6c80f0498cd7e76863e2f28e), [`99c6b7e2`](https://github.com/emotion-js/emotion/commit/99c6b7e2f65fb7eddb2863b393e2110dbc4810d8)]:\n  - @emotion/styled@11.0.0-next.5\n  - emotion-theming@11.0.0-next.5\n\n## 11.0.0-next.4\n\n### Patch Changes\n\n- Updated dependencies [[`e6e079c3`](https://github.com/emotion-js/emotion/commit/e6e079c35074f027ac0586792e4f19595ac18c55)]:\n  - @emotion/styled@11.0.0-next.4\n  - emotion-theming@11.0.0-next.4\n\n## 11.0.0-next.3\n\n### Patch Changes\n\n- [`a085003d`](https://github.com/emotion-js/emotion/commit/a085003d4c8ca284c116668d7217fb747802ed85) [#1613](https://github.com/emotion-js/emotion/pull/1613) Thanks [@Andarist](https://github.com/Andarist)! - Add missing `#__PURE__` annotations\n- Updated dependencies [[`8a896a31`](https://github.com/emotion-js/emotion/commit/8a896a31434a1d2f69e1f1467c446c884c929387), [`a085003d`](https://github.com/emotion-js/emotion/commit/a085003d4c8ca284c116668d7217fb747802ed85), [`f9feab1a`](https://github.com/emotion-js/emotion/commit/f9feab1a5d1ca88e53c3f7a063be5d5871cc93e8)]:\n  - @emotion/serialize@0.11.15-next.1\n  - @emotion/styled@11.0.0-next.3\n  - @emotion/css@11.0.0-next.3\n  - emotion-theming@11.0.0-next.3\n\n## 11.0.0-next.2\n\n### Major Changes\n\n- [`79036056`](https://github.com/emotion-js/emotion/commit/79036056808eefc81a77225254f7c25c2ff9d967) [#967](https://github.com/emotion-js/emotion/pull/967) Thanks [@emmatown](https://github.com/emmatown)! - Use hooks internally for improved bundle size and a better tree in React DevTools\n\n### Patch Changes\n\n- Updated dependencies [[`79036056`](https://github.com/emotion-js/emotion/commit/79036056808eefc81a77225254f7c25c2ff9d967), [`79036056`](https://github.com/emotion-js/emotion/commit/79036056808eefc81a77225254f7c25c2ff9d967)]:\n  - @emotion/styled@11.0.0-next.2\n  - emotion-theming@11.0.0-next.2\n\n## 11.0.0-next.1\n\n### Patch Changes\n\n- Updated dependencies [[`1eaa3a38`](https://github.com/emotion-js/emotion/commit/1eaa3a389876d4a623ce66735dc6db093cb2a8e6), [`22935470`](https://github.com/emotion-js/emotion/commit/2293547000ce78d044d054d17564f6c2aa670687)]:\n  - @emotion/css@11.0.0-next.1\n  - emotion-theming@11.0.0-next.1\n  - @emotion/serialize@1.0.0-next.0\n  - @emotion/styled@11.0.0-next.1\n\n## 11.0.0-next.0\n\n### Major Changes\n\n- [`302bdba1`](https://github.com/emotion-js/emotion/commit/302bdba1a6b793484c09edeb668815c5e31ea555) [#1600](https://github.com/emotion-js/emotion/pull/1600) Thanks [@emmatown](https://github.com/emmatown)! - Ensure packages are major bumped so that pre-release versions of the linked packages are consistent in the major number\n\n### Patch Changes\n\n- Updated dependencies [[`302bdba1`](https://github.com/emotion-js/emotion/commit/302bdba1a6b793484c09edeb668815c5e31ea555)]:\n  - @emotion/cache@11.0.0-next.0\n  - @emotion/css@11.0.0-next.0\n  - emotion@11.0.0-next.0\n  - emotion-server@11.0.0-next.0\n  - emotion-theming@11.0.0-next.0\n  - @emotion/styled@11.0.0-next.0\n\n## 10.1.1\n\n### Patch Changes\n\n- [`fe30cbd6`](https://github.com/emotion-js/emotion/commit/fe30cbd60b131bd7017d574cc25215dcd04d1f46) [#2066](https://github.com/emotion-js/emotion/pull/2066) Thanks [@Andarist](https://github.com/Andarist)! - Fixed an issue with React giving warning about static children not having unique keys when using the classic `jsx` factory. This example illustrates the situation in which this has been incorrectly happening:\n\n  ```js\n  <div css={{ color: 'hotpink' }}>\n    <div />\n    <div />\n  </div>\n  ```\n\n## 10.1.0\n\n### Minor Changes\n\n- [`71514b06`](https://github.com/emotion-js/emotion/commit/71514b06fe172517168f98321499f05e74388de6) [#1970](https://github.com/emotion-js/emotion/pull/1970) Thanks [@FLGMwt](https://github.com/FLGMwt)! - Support for [the new JSX runtimes](https://reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html) has been added. They require compatible React versions and shouldn't be manually used.\n\n  To use them you can use the new `@jsxImportSource @emotion/core` pragma instead of the old `@jsx jsx` or you can use `@emotion/babel-preset-css-prop` with `{ runtime: 'automatic' }` option to have it handled automatically for you for the whole project.\n\n## 10.0.35\n\n### Patch Changes\n\n- [`2cf3b16b`](https://github.com/emotion-js/emotion/commit/2cf3b16b94eb7bad8d745b135fb2bfa99154980d) [#1973](https://github.com/emotion-js/emotion/pull/1973) Thanks [@santialbo](https://github.com/santialbo)! - Fixed label extraction from the stack traces in node for components wrapped in `React.forwardRef`. This has affected only development builds.\n\n## 10.0.34\n\n### Patch Changes\n\n- [`4979ebb2`](https://github.com/emotion-js/emotion/commit/4979ebb2f9db94fa291384213e4f37e4a58a294a) [#1966](https://github.com/emotion-js/emotion/pull/1966) Thanks [@chnakamura](https://github.com/chnakamura)! - Fixed label extraction from the stack traces in Chrome in certain scenarios. This has affected only development builds.\n\n## 10.0.28\n\n### Patch Changes\n\n- [`d0b2a94`](https://github.com/emotion-js/emotion/commit/d0b2a94ab9d5648667447dbd78e7a2e3e93de42a) [#1714](https://github.com/emotion-js/emotion/pull/1714) Thanks [@Andarist](https://github.com/Andarist)! - Fixed label extraction from the stack traces in FireFox and Safari. We have failed to match a label in Emotion wrappers like Theme UI which caused SSR mismatches in mentioned browsers. This has affected only development builds.\n\n## 10.0.27\n\n### Patch Changes\n\n- [`4c62ae9`](https://github.com/emotion-js/emotion/commit/4c62ae9447959d438928e1a26f76f1487983c968) [#1698](https://github.com/emotion-js/emotion/pull/1698) Thanks [@Andarist](https://github.com/Andarist)! - Add LICENSE file\n- Updated dependencies [[`4c62ae9`](https://github.com/emotion-js/emotion/commit/4c62ae9447959d438928e1a26f76f1487983c968)]:\n  - @emotion/cache@10.0.27\n  - @emotion/css@10.0.27\n  - emotion-server@10.0.27\n  - emotion-theming@10.0.27\n  - emotion@10.0.27\n  - @emotion/serialize@0.11.15\n  - @emotion/sheet@0.9.4\n  - @emotion/styled@10.0.27\n  - @emotion/utils@0.11.3\n\n## 10.0.22\n\n### Patch Changes\n\n- [`4fc5657a`](https://github.com/emotion-js/emotion/commit/4fc5657ac8d0002322321cfbfc254b7196d27387) [#1219](https://github.com/emotion-js/emotion/pull/1219) Thanks [@Andarist](https://github.com/Andarist)! - Add dev hint about css object being stringified by accident\n\n* [`2fc75f26`](https://github.com/emotion-js/emotion/commit/2fc75f266b23cf48fb842953bc47eebcb5241cbd) [#1548](https://github.com/emotion-js/emotion/pull/1548) Thanks [@Andarist](https://github.com/Andarist)! - Accept objects as `className` in jsx-created components (they are stringified) to match React behavior\n\n- [`10211951`](https://github.com/emotion-js/emotion/commit/10211951051729b149930a8646de14bae9ae1bbc) [#1553](https://github.com/emotion-js/emotion/pull/1553) Thanks [@Andarist](https://github.com/Andarist)! - Add dev warning about keyframes being interpolated into plain strings.\n\n* [`57a767ea`](https://github.com/emotion-js/emotion/commit/57a767ea3dd18eefbbdc7269cc13128caad65286) [#1560](https://github.com/emotion-js/emotion/pull/1560) Thanks [@Andarist](https://github.com/Andarist)! - Fix composition of styles without a final semicolon in a declaration block\n\n* Updated dependencies [[`4fc5657a`](https://github.com/emotion-js/emotion/commit/4fc5657ac8d0002322321cfbfc254b7196d27387), [`10211951`](https://github.com/emotion-js/emotion/commit/10211951051729b149930a8646de14bae9ae1bbc), [`57a767ea`](https://github.com/emotion-js/emotion/commit/57a767ea3dd18eefbbdc7269cc13128caad65286), [`c3f0bc10`](https://github.com/emotion-js/emotion/commit/c3f0bc101833fff1ee4e27c7a730b821a7df4a15), [`11bea3a8`](https://github.com/emotion-js/emotion/commit/11bea3a89f38f9052c692c3df050ad802b6b954c)]:\n  - @emotion/serialize@0.11.12\n  - @emotion/styled@10.0.22\n  - @emotion/css@10.0.22\n\n## 10.0.21\n\n### Patch Changes\n\n- [7855db4a](https://github.com/emotion-js/emotion/commit/7855db4ae379f212e7b972b9108419154e17ed45) [#1537](https://github.com/emotion-js/emotion/pull/1537) Thanks [@Andarist](https://github.com/Andarist)! - Add missing `/* #__PURE__ */` annotation to creation of EmotionCssPropInternal\n\n## 10.0.20\n\n### Patch Changes\n\n- [38bb2b19](https://github.com/emotion-js/emotion/commit/38bb2b19d4ff1552116829e068664516d167a3f8) [#1530](https://github.com/emotion-js/emotion/pull/1530) Thanks [@Andarist](https://github.com/Andarist)! - Fix class not being applied when putting nil as css prop value on wrapper component\n\n## 10.0.17\n\n### Patch Changes\n\n- [66cda641](https://github.com/emotion-js/emotion/commit/66cda64128631790b81e3c9df273a972358ea593) [#1478](https://github.com/emotion-js/emotion/pull/1478) Thanks [@Andarist](https://github.com/Andarist)! - Add warnings about using illegal escape sequences\n  - [10514a86](https://github.com/emotion-js/emotion/commit/10514a8635dcaa55b85c7bff90e2a9e14d1ba61f) [#1482](https://github.com/emotion-js/emotion/pull/1482) Thanks [@emmatown](https://github.com/emmatown)! - Remove react native bundles in favour of different isBrowser detection\n  - [66cda641](https://github.com/emotion-js/emotion/commit/66cda64128631790b81e3c9df273a972358ea593) [#1478](https://github.com/emotion-js/emotion/pull/1478) Thanks [@Andarist](https://github.com/Andarist)! - Update Babel dependencies\n\n## 10.0.16\n\n### Patch Changes\n\n- [47262b64](https://github.com/emotion-js/emotion/commit/47262b64) - Fix labels from stack traces in some cases\n\n## 10.0.15\n\n### Patch Changes\n\n- [188dc0e7](https://github.com/emotion-js/emotion/commit/188dc0e7) [#1443](https://github.com/emotion-js/emotion/pull/1443) Thanks [@emmatown](https://github.com/emmatown)! - Extract styles rather than inline them in compat mode with the Global component\n  - [4a3b18a2](https://github.com/emotion-js/emotion/commit/4a3b18a2) [#1451](https://github.com/emotion-js/emotion/pull/1451) Thanks [@Andarist](https://github.com/Andarist)! - Fixed issue with auto-labelling crashing on \\$ at runtime\n\n## 10.0.14\n\n### Patch Changes\n\n- [c0eb604d](https://github.com/emotion-js/emotion/commit/c0eb604d) [#1419](https://github.com/emotion-js/emotion/pull/1419) Thanks [@emmatown](https://github.com/emmatown)! - Update build tool\n"
  },
  {
    "path": "packages/react/LICENSE",
    "content": "MIT License\n\nCopyright (c) Emotion team and other contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "packages/react/README.md",
    "content": "# @emotion/react\n\n> Simple styling in React.\n\n## Install\n\n```bash\nyarn add @emotion/react\n```\n\n## Usage\n\n```jsx\n/** @jsx jsx */\nimport { jsx, css, Global, ClassNames } from '@emotion/react'\n\nrender(\n  <div css={{ color: 'hotpink' }}>\n    <div\n      css={css`\n        color: green;\n      `}\n    />\n    <Global\n      styles={{\n        body: {\n          margin: 0,\n          padding: 0\n        }\n      }}\n    />\n    <ClassNames>\n      {({ css, cx }) => (\n        <div\n          className={cx(\n            'some-class',\n            css`\n              color: yellow;\n            `\n          )}\n        />\n      )}\n    </ClassNames>\n  </div>\n)\n```\n\nMore documentation is available at [https://emotion.sh](https://emotion.sh).\n"
  },
  {
    "path": "packages/react/__tests__/__snapshots__/at-import.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`basic 1`] = `\n<head>\n  <style\n    data-emotion=\"css-global\"\n    data-s=\"\"\n  >\n    \n  </style>\n  <style\n    data-emotion=\"css\"\n    data-s=\"\"\n  >\n    \n  </style>\n</head>\n`;\n\nexports[`basic 2`] = `\n<body>\n  <div\n    id=\"root\"\n  >\n    <div\n      class=\"css-1lrxbo5\"\n    />\n  </div>\n</body>\n`;\n\nexports[`basic 4`] = `\n<head>\n  <style\n    data-emotion=\"css\"\n    data-s=\"\"\n  >\n    \n  </style>\n</head>\n`;\n\nexports[`basic 5`] = `\n<body>\n  <div\n    id=\"root\"\n  />\n</body>\n`;\n"
  },
  {
    "path": "packages/react/__tests__/__snapshots__/class-names.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`css 1`] = `\n.emotion-0 {\n  color: hotpink;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`cx 1`] = `\n.emotion-0 {\n  color: hotpink;\n  color: green;\n}\n\n<div\n  className=\"some-other-class emotion-0\"\n/>\n`;\n\nexports[`should get the theme 1`] = `\n.emotion-0 {\n  color: green;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n"
  },
  {
    "path": "packages/react/__tests__/__snapshots__/css-cache-hash.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`does not rehash if value is css call return value 1`] = `\n.emotion-0 {\n  color: hotpink;\n}\n\n<div>\n  <div\n    className=\"emotion-0\"\n  />\n</div>\n`;\n"
  },
  {
    "path": "packages/react/__tests__/__snapshots__/css.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`applies class when css prop is set to nil on wrapper component 1`] = `\n[\n  .emotion-0 {\n  color: hotpink;\n}\n\n<button\n    className=\"emotion-0\"\n  >\n    I'm hotpink!\n  </button>,\n  .emotion-0 {\n  color: hotpink;\n}\n\n<button\n    className=\"emotion-0\"\n  >\n    I'm hotpink too!\n  </button>,\n]\n`;\n\nexports[`array fallback (using camelCased property) 1`] = `\n.emotion-0 {\n  background-color: green;\n  background-color: hotpink;\n}\n\n<div>\n  <div\n    className=\"emotion-0\"\n  >\n    something\n  </div>\n</div>\n`;\n\nexports[`array fallback 1`] = `\n.emotion-0 {\n  color: green;\n  color: hotpink;\n}\n\n<div>\n  <div\n    className=\"emotion-0\"\n  >\n    something\n  </div>\n</div>\n`;\n\nexports[`child selector array 1`] = `\n.emotion-0:hover {\n  color: green;\n  background-color: yellow;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`css call composition 1`] = `\n.emotion-0:hover {\n  color: hotpink;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`handles camelCased custom properties in object styles properly 1`] = `\n.emotion-0 {\n  --textColor: green;\n  color: var(--textColor);\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`handles composition of an array css prop containing no final semi with cssprop-generated className (runtime variant of #1730) 1`] = `\n.emotion-0 {\n  width: 100px;\n  height: 100px;\n  background-color: green;\n  color: hotpink;\n}\n\n<div\n  className=\"emotion-0\"\n>\n  I'm hotpink on the green background.\n</div>\n`;\n\nexports[`handles composition of styles without a final semi in a declaration block 1`] = `\n.emotion-0 {\n  color: hotpink;\n  background-color: green;\n}\n\n<div\n  className=\"emotion-0\"\n>\n  I'm hotpink on the green background.\n</div>\n`;\n\nexports[`label in css call 1`] = `\n.emotion-0 {\n  color: hotpink;\n}\n\n<div>\n  <div\n    className=\"emotion-0\"\n  >\n    something\n  </div>\n</div>\n`;\n\nexports[`nested at rule 1`] = `\n@media (min-width: 980px) {\n  .emotion-0 {\n    background-color: blue;\n  }\n\n  @supports (width: 100vw) {\n    .emotion-0 {\n      background-color: red;\n    }\n  }\n}\n\n<div\n  className=\"emotion-0\"\n>\n  something\n</div>\n`;\n\nexports[`object with false 1`] = `\n.emotion-0 {\n  color: hotpink;\n}\n\n<div>\n  <div\n    className=\"emotion-0\"\n  >\n    something\n  </div>\n</div>\n`;\n\nexports[`overwrite styles from parent 1`] = `\n.emotion-0 {\n  color: green;\n  background-color: yellow;\n  color: hotpink;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`string as css prop throws 1`] = `\n\"Strings are not allowed as css prop values, please wrap it in a css template literal from '@emotion/react' like this: css\\`\n            color: hotpink;\n          \\`\"\n`;\n\nexports[`theming with the array css prop 1`] = `\n.emotion-0 {\n  color: hotpink;\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`theming with the css prop 1`] = `\n.emotion-0 {\n  color: hotpink;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`thing 1`] = `\n.emotion-0 {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n}\n\n<div>\n  <div\n    className=\"emotion-0\"\n  >\n    something\n  </div>\n</div>\n`;\n"
  },
  {
    "path": "packages/react/__tests__/__snapshots__/global-with-theme.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`array 1`] = `\n<html>\n  <head>\n    <style\n      data-emotion=\"css-global\"\n      data-s=\"\"\n    >\n      \n      html{background-color:green;}\n    </style>\n    <style\n      data-emotion=\"css-global\"\n      data-s=\"\"\n    >\n      \n      html{font-size:16px;}\n    </style>\n  </head>\n  <body>\n    <div />\n  </body>\n</html>\n`;\n\nexports[`array 2`] = `\n<html>\n  <head />\n  <body>\n    <div />\n  </body>\n</html>\n`;\n\nexports[`basic 1`] = `\n<html>\n  <head>\n    <style\n      data-emotion=\"css-global\"\n      data-s=\"\"\n    >\n      \n      html{background-color:green;}\n    </style>\n  </head>\n  <body>\n    <div />\n  </body>\n</html>\n`;\n\nexports[`basic 2`] = `\n<html>\n  <head />\n  <body>\n    <div />\n  </body>\n</html>\n`;\n"
  },
  {
    "path": "packages/react/__tests__/__snapshots__/global.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`basic 1`] = `\n<head>\n  <style\n    data-emotion=\"css\"\n    data-s=\"\"\n  >\n    \n    .css-animation-ocj8pk{}\n  </style>\n  <style\n    data-emotion=\"css\"\n    data-s=\"\"\n  >\n    \n    @-webkit-keyframes animation-ocj8pk{from,to{color:green;}50%{color:hotpink;}}\n  </style>\n  <style\n    data-emotion=\"css\"\n    data-s=\"\"\n  >\n    \n    @keyframes animation-ocj8pk{from,to{color:green;}50%{color:hotpink;}}\n  </style>\n  <style\n    data-emotion=\"css-global\"\n    data-s=\"\"\n  >\n    \n    @import url('something.com/file.css');\n  </style>\n  <style\n    data-emotion=\"css-global\"\n    data-s=\"\"\n  >\n    \n    html{background-color:hotpink;}\n  </style>\n  <style\n    data-emotion=\"css-global\"\n    data-s=\"\"\n  >\n    \n    h1{-webkit-animation:animation-ocj8pk 1s;animation:animation-ocj8pk 1s;}\n  </style>\n  <style\n    data-emotion=\"css-global\"\n    data-s=\"\"\n  >\n    \n    @font-face{font-family:some-name;}\n  </style>\n</head>\n`;\n\nexports[`basic 2`] = `\n<body>\n  <div />\n</body>\n`;\n\nexports[`basic 3`] = `\n<head>\n  <style\n    data-emotion=\"css\"\n    data-s=\"\"\n  >\n    \n    .css-animation-ocj8pk{}\n  </style>\n  <style\n    data-emotion=\"css\"\n    data-s=\"\"\n  >\n    \n    @-webkit-keyframes animation-ocj8pk{from,to{color:green;}50%{color:hotpink;}}\n  </style>\n  <style\n    data-emotion=\"css\"\n    data-s=\"\"\n  >\n    \n    @keyframes animation-ocj8pk{from,to{color:green;}50%{color:hotpink;}}\n  </style>\n</head>\n`;\n\nexports[`basic 4`] = `\n<body>\n  <div />\n</body>\n`;\n\nexports[`updating more than 1 global rule 1`] = `\n<head>\n  <style\n    data-emotion=\"global-multiple-rules-global\"\n    data-s=\"\"\n  >\n    \n    body{background:white;}\n  </style>\n  <style\n    data-emotion=\"global-multiple-rules-global\"\n    data-s=\"\"\n  >\n    \n    div{color:black;}\n  </style>\n</head>\n`;\n\nexports[`updating more than 1 global rule 2`] = `\n<head>\n  <style\n    data-emotion=\"global-multiple-rules-global\"\n    data-s=\"\"\n  >\n    \n    body{background:gray;}\n  </style>\n  <style\n    data-emotion=\"global-multiple-rules-global\"\n    data-s=\"\"\n  >\n    \n    div{color:white;}\n  </style>\n</head>\n`;\n"
  },
  {
    "path": "packages/react/__tests__/__snapshots__/globals-are-the-worst.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`specificity with globals 1`] = `\n<html>\n  <head>\n    <style\n      data-emotion=\"css-global\"\n      data-s=\"\"\n    >\n      \n      .some-class{color:green;}\n    </style>\n    <style\n      data-emotion=\"css\"\n      data-s=\"\"\n    >\n      \n      .css-1ndtvd6{color:hotpink;}\n    </style>\n  </head>\n  <body>\n    <div>\n      <div\n        id=\"root\"\n      >\n        <p\n          class=\"some-class css-1ndtvd6\"\n          id=\"text\"\n        >\n          some text\n        </p>\n      </div>\n    </div>\n  </body>\n</html>\n`;\n\nexports[`specificity with globals 2`] = `\n<html>\n  <head>\n    <style\n      data-emotion=\"css-global\"\n      data-s=\"\"\n    >\n      \n      .some-class{color:yellow;}\n    </style>\n    <style\n      data-emotion=\"css\"\n      data-s=\"\"\n    >\n      \n      .css-1ndtvd6{color:hotpink;}\n    </style>\n  </head>\n  <body>\n    <div>\n      <div\n        id=\"root\"\n      >\n        <p\n          class=\"some-class css-1ndtvd6\"\n          id=\"text\"\n        >\n          some text\n        </p>\n      </div>\n    </div>\n  </body>\n</html>\n`;\n"
  },
  {
    "path": "packages/react/__tests__/__snapshots__/keyframes.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`keyframes basic 1`] = `\n@keyframes animation-0 {\n  from {\n    color: green;\n  }\n\n  to {\n    color: hotpink;\n  }\n}\n\n.emotion-0 {\n  -webkit-animation: animation-0;\n  animation: animation-0;\n}\n\n<div\n  className=\"emotion-0\"\n>\n  animation-1bi8wtt\n</div>\n`;\n\nexports[`keyframes basic 2`] = `\n[\n  \".css-1mzou9w{-webkit-animation:animation-1bi8wtt;animation:animation-1bi8wtt;}\",\n  \"@-webkit-keyframes animation-1bi8wtt{from{color:green;}to{color:hotpink;}}\",\n  \"@keyframes animation-1bi8wtt{from{color:green;}to{color:hotpink;}}\",\n]\n`;\n\nexports[`keyframes keyframes used in css call 1`] = `\n@keyframes animation-0 {\n  from {\n    color: green;\n  }\n\n  to {\n    color: hotpink;\n  }\n}\n\n@keyframes animation-1 {\n  from {\n    color: green;\n  }\n\n  to {\n    color: yellow;\n  }\n}\n\n.emotion-0 {\n  -webkit-animation: animation-0 1s animation-1;\n  animation: animation-0 1s animation-1;\n}\n\n<div\n  className=\"emotion-0\"\n>\n  animation-1bi8wtt\n</div>\n`;\n\nexports[`keyframes keyframes used in css call 2`] = `\n[\n  \".css-9yzsha{-webkit-animation:animation-1bi8wtt 1s animation-1ajb83a;animation:animation-1bi8wtt 1s animation-1ajb83a;}\",\n  \"@-webkit-keyframes animation-1bi8wtt{from{color:green;}to{color:hotpink;}}\",\n  \"@keyframes animation-1bi8wtt{from{color:green;}to{color:hotpink;}}\",\n  \"@-webkit-keyframes animation-1ajb83a{from{color:green;}to{color:yellow;}}\",\n  \"@keyframes animation-1ajb83a{from{color:green;}to{color:yellow;}}\",\n]\n`;\n\nexports[`keyframes multiple keyframes object 1`] = `\n@keyframes animation-0 {\n  from {\n    color: green;\n  }\n\n  to {\n    color: hotpink;\n  }\n}\n\n@keyframes animation-1 {\n  from {\n    color: green;\n  }\n\n  to {\n    color: yellow;\n  }\n}\n\n.emotion-0 {\n  -webkit-animation: animation-0 1s animation-1;\n  animation: animation-0 1s animation-1;\n}\n\n<div\n  className=\"emotion-0\"\n>\n  animation-1bi8wtt\n</div>\n`;\n\nexports[`keyframes multiple keyframes object 2`] = `\n[\n  \".css-1jqzi3u{-webkit-animation:animation-1bi8wtt 1s animation-1ajb83a;animation:animation-1bi8wtt 1s animation-1ajb83a;}\",\n  \"@-webkit-keyframes animation-1ajb83a{from{color:green;}to{color:yellow;}}\",\n  \"@keyframes animation-1ajb83a{from{color:green;}to{color:yellow;}}\",\n  \"@-webkit-keyframes animation-1bi8wtt{from{color:green;}to{color:hotpink;}}\",\n  \"@keyframes animation-1bi8wtt{from{color:green;}to{color:hotpink;}}\",\n]\n`;\n\nexports[`keyframes object 1`] = `\n@keyframes animation-0 {\n  from {\n    color: green;\n  }\n\n  to {\n    color: hotpink;\n  }\n}\n\n.emotion-0 {\n  -webkit-animation: animation-0 1s;\n  animation: animation-0 1s;\n}\n\n<div\n  className=\"emotion-0\"\n>\n  animation-o4c3es\n</div>\n`;\n\nexports[`keyframes object 2`] = `\n[\n  \".css-d88cqt{-webkit-animation:animation-o4c3es 1s;animation:animation-o4c3es 1s;}\",\n  \"@-webkit-keyframes animation-o4c3es{from{color:green;}to{color:hotpink;}}\",\n  \"@keyframes animation-o4c3es{from{color:green;}to{color:hotpink;}}\",\n]\n`;\n\nexports[`keyframes object with animation and opaque keyframes as value 1`] = `\n@keyframes animation-0 {\n  from {\n    color: green;\n  }\n\n  to {\n    color: hotpink;\n  }\n}\n\n.emotion-0 {\n  -webkit-animation: animation-0;\n  animation: animation-0;\n  -webkit-animation-duration: 1s;\n  animation-duration: 1s;\n}\n\n<div\n  className=\"emotion-0\"\n>\n  animation-1bi8wtt\n</div>\n`;\n\nexports[`keyframes object with animation and opaque keyframes as value 2`] = `\n[\n  \".css-g32qbw{-webkit-animation:animation-1bi8wtt;animation:animation-1bi8wtt;-webkit-animation-duration:1s;animation-duration:1s;}\",\n  \"@-webkit-keyframes animation-1bi8wtt{from{color:green;}to{color:hotpink;}}\",\n  \"@keyframes animation-1bi8wtt{from{color:green;}to{color:hotpink;}}\",\n]\n`;\n\nexports[`keyframes object with animationName and opaque keyframes as value 1`] = `\n@keyframes animation-0 {\n  from {\n    color: green;\n  }\n\n  to {\n    color: hotpink;\n  }\n}\n\n.emotion-0 {\n  -webkit-animation-name: animation-0;\n  animation-name: animation-0;\n  -webkit-animation-duration: 1s;\n  animation-duration: 1s;\n}\n\n<div\n  className=\"emotion-0\"\n>\n  animation-1bi8wtt\n</div>\n`;\n\nexports[`keyframes object with animationName and opaque keyframes as value 2`] = `\n[\n  \".css-wo7teo{-webkit-animation-name:animation-1bi8wtt;animation-name:animation-1bi8wtt;-webkit-animation-duration:1s;animation-duration:1s;}\",\n  \"@-webkit-keyframes animation-1bi8wtt{from{color:green;}to{color:hotpink;}}\",\n  \"@keyframes animation-1bi8wtt{from{color:green;}to{color:hotpink;}}\",\n]\n`;\n\nexports[`keyframes object with animationName and string keyframes as value 1`] = `\n@keyframes animation-0 {\n  from {\n    color: green;\n  }\n\n  to {\n    color: hotpink;\n  }\n}\n\n.emotion-0 {\n  -webkit-animation-name: animation-0;\n  animation-name: animation-0;\n  -webkit-animation-duration: 1s;\n  animation-duration: 1s;\n}\n\n<div\n  className=\"emotion-0\"\n>\n  animation-1bi8wtt\n</div>\n`;\n\nexports[`keyframes object with animationName and string keyframes as value 2`] = `\n[\n  \".css-wo7teo{-webkit-animation-name:animation-1bi8wtt;animation-name:animation-1bi8wtt;-webkit-animation-duration:1s;animation-duration:1s;}\",\n  \"@-webkit-keyframes animation-1bi8wtt{from{color:green;}to{color:hotpink;}}\",\n  \"@keyframes animation-1bi8wtt{from{color:green;}to{color:hotpink;}}\",\n]\n`;\n\nexports[`keyframes object with string keyframes 1`] = `\n@keyframes animation-0 {\n  from {\n    color: green;\n  }\n\n  to {\n    color: hotpink;\n  }\n}\n\n.emotion-0 {\n  -webkit-animation: animation-0 1s;\n  animation: animation-0 1s;\n}\n\n<div\n  className=\"emotion-0\"\n>\n  animation-1bi8wtt\n</div>\n`;\n\nexports[`keyframes object with string keyframes 2`] = `\n[\n  \".css-1wh2ide{-webkit-animation:animation-1bi8wtt 1s;animation:animation-1bi8wtt 1s;}\",\n  \"@-webkit-keyframes animation-1bi8wtt{from{color:green;}to{color:hotpink;}}\",\n  \"@keyframes animation-1bi8wtt{from{color:green;}to{color:hotpink;}}\",\n]\n`;\n\nexports[`keyframes without css call 1`] = `\n@keyframes animation-0 {\n  from {\n    color: green;\n  }\n\n  to {\n    color: hotpink;\n  }\n}\n\n.emotion-0 {\n  -webkit-animation: animation-0;\n  animation: animation-0;\n}\n\n<div\n  className=\"emotion-0\"\n>\n  animation-1bi8wtt\n</div>\n`;\n\nexports[`keyframes without css call 2`] = `\n[\n  \".css-1mzou9w{-webkit-animation:animation-1bi8wtt;animation:animation-1bi8wtt;}\",\n  \"@-webkit-keyframes animation-1bi8wtt{from{color:green;}to{color:hotpink;}}\",\n  \"@keyframes animation-1bi8wtt{from{color:green;}to{color:hotpink;}}\",\n]\n`;\n"
  },
  {
    "path": "packages/react/__tests__/__snapshots__/legacy-class-name.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`object className 1`] = `\n.emotion-0 {\n  color: hotpink;\n}\n\n<div\n  className=\"legacy__class emotion-0\"\n/>\n`;\n\nexports[`string className 1`] = `\n.emotion-0 {\n  color: hotpink;\n}\n\n<div\n  className=\"legacy__class emotion-0\"\n/>\n`;\n"
  },
  {
    "path": "packages/react/__tests__/__snapshots__/server.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`ssr ClassNames 1`] = `\n<style data-emotion=\"css 15qt0xu 1c3m2c3 15gmrnz 1v94cnd nug1mu\">\n  .css-15qt0xu{color:hotpink;}.css-1c3m2c3{color:green;}.css-15gmrnz{color:yellowgreen;}.css-1v94cnd{color:green;color:yellowgreen;}.css-nug1mu{color:darkgreen;}\n</style>\n<div class=\"css-15qt0xu\">\n  <span class=\"other-class css-1v94cnd\">\n  </span>\n  <span class=\"css-nug1mu other-class\">\n  </span>\n</div>\n`;\n\nexports[`ssr basic 1`] = `\n<style data-emotion=\"css 1lrxbo5\">\n  .css-1lrxbo5{color:hotpink;}\n</style>\n<div class=\"css-1lrxbo5\">\n  some hotpink text\n</div>\n`;\n\nexports[`ssr global 1`] = `\n<style data-emotion=\"css-global 6l7sk3\">\n  html{background-color:hotpink;}\n</style>\n`;\n\nexports[`ssr global with keyframes 1`] = `\n<style data-emotion=\"css-global eti4v9 animation-ocj8pk\">\n  h1{-webkit-animation:animation-ocj8pk 1s;animation:animation-ocj8pk 1s;}@-webkit-keyframes animation-ocj8pk{from,to{color:green;}50%{color:hotpink;}}@keyframes animation-ocj8pk{from,to{color:green;}50%{color:hotpink;}}\n</style>\n`;\n\nexports[`ssr keyframes 1`] = `\n<style data-emotion=\"css cijyg1 animation-1ch4i0o\">\n  .css-cijyg1{-webkit-animation:1s animation-1ch4i0o;animation:1s animation-1ch4i0o;}@-webkit-keyframes animation-1ch4i0o{from{color:green;}to{color:blue;}}@keyframes animation-1ch4i0o{from{color:green;}to{color:blue;}}\n</style>\n<div class=\"css-cijyg1\">\n</div>\n`;\n\nexports[`ssr only render a style once with styled 1`] = `\n<style data-emotion=\"css bjcoli\">\n  .css-bjcoli{color:green;}\n</style>\n<div class=\"css-bjcoli\">\n  <style data-emotion=\"css ihiui2\">\n    .css-ihiui2{color:hotpink;}\n  </style>\n  <div class=\"css-ihiui2\">\n  </div>\n  <div class=\"css-ihiui2\">\n  </div>\n</div>\n`;\n\nexports[`ssr only render a style once with the css prop 1`] = `\n<style data-emotion=\"css bjcoli\">\n  .css-bjcoli{color:green;}\n</style>\n<div class=\"css-bjcoli\">\n  <style data-emotion=\"css 1lrxbo5\">\n    .css-1lrxbo5{color:hotpink;}\n  </style>\n  <div class=\"css-1lrxbo5\">\n  </div>\n  <div class=\"css-1lrxbo5\">\n  </div>\n</div>\n`;\n\nexports[`ssr styled with keyframes 1`] = `\n<style data-emotion=\"css 1y9glrp animation-ocj8pk\">\n  .css-1y9glrp{-webkit-animation:animation-ocj8pk 1s;animation:animation-ocj8pk 1s;}@-webkit-keyframes animation-ocj8pk{from,to{color:green;}50%{color:hotpink;}}@keyframes animation-ocj8pk{from,to{color:green;}50%{color:hotpink;}}\n</style>\n<div class=\"css-1y9glrp\">\n</div>\n`;\n\nexports[`ssr with old api ClassNames 1`] = `\n<style data-emotion=\"css 15qt0xu\">\n  .css-15qt0xu{color:hotpink;}\n</style>\n<div class=\"css-15qt0xu\">\n  <style data-emotion=\"css 1v94cnd\">\n    .css-1v94cnd{color:green;color:yellowgreen;}\n  </style>\n  <span class=\"other-class css-1v94cnd\">\n  </span>\n  <style data-emotion=\"css nug1mu\">\n    .css-nug1mu{color:darkgreen;}\n  </style>\n  <span class=\"css-nug1mu other-class\">\n  </span>\n</div>\n`;\n\nexports[`ssr with old api basic 1`] = `\n<style data-emotion=\"css 1lrxbo5\">\n  .css-1lrxbo5{color:hotpink;}\n</style>\n<div class=\"css-1lrxbo5\">\n  some hotpink text\n</div>\n`;\n\nexports[`ssr with old api global 1`] = `\n<style data-emotion=\"css 6l7sk3\">\n  html{background-color:hotpink;}\n</style>\n`;\n\nexports[`ssr with old api global with keyframes 1`] = `\n<style data-emotion=\"css eti4v9 animation-ocj8pk\">\n  h1{-webkit-animation:animation-ocj8pk 1s;animation:animation-ocj8pk 1s;}@-webkit-keyframes animation-ocj8pk{from,to{color:green;}50%{color:hotpink;}}@keyframes animation-ocj8pk{from,to{color:green;}50%{color:hotpink;}}\n</style>\n`;\n\nexports[`ssr with old api keyframes 1`] = `\n<style data-emotion=\"css animation-1ch4i0o\">\n  @-webkit-keyframes animation-1ch4i0o{from{color:green;}to{color:blue;}}@keyframes animation-1ch4i0o{from{color:green;}to{color:blue;}}\n</style>\n<style data-emotion=\"css cijyg1\">\n  .css-cijyg1{-webkit-animation:1s animation-1ch4i0o;animation:1s animation-1ch4i0o;}\n</style>\n<div class=\"css-cijyg1\">\n</div>\n`;\n\nexports[`ssr with old api only render a style once with styled 1`] = `\n<style data-emotion=\"css bjcoli\">\n  .css-bjcoli{color:green;}\n</style>\n<div class=\"css-bjcoli\">\n  <style data-emotion=\"css ihiui2\">\n    .css-ihiui2{color:hotpink;}\n  </style>\n  <div class=\"css-ihiui2\">\n  </div>\n  <div class=\"css-ihiui2\">\n  </div>\n</div>\n`;\n\nexports[`ssr with old api only render a style once with the css prop 1`] = `\n<style data-emotion=\"css bjcoli\">\n  .css-bjcoli{color:green;}\n</style>\n<div class=\"css-bjcoli\">\n  <style data-emotion=\"css 1lrxbo5\">\n    .css-1lrxbo5{color:hotpink;}\n  </style>\n  <div class=\"css-1lrxbo5\">\n  </div>\n  <div class=\"css-1lrxbo5\">\n  </div>\n</div>\n`;\n\nexports[`ssr with old api styled with keyframes 1`] = `\n<style data-emotion=\"css animation-ocj8pk\">\n  @-webkit-keyframes animation-ocj8pk{from,to{color:green;}50%{color:hotpink;}}@keyframes animation-ocj8pk{from,to{color:green;}50%{color:hotpink;}}\n</style>\n<style data-emotion=\"css 1y9glrp\">\n  .css-1y9glrp{-webkit-animation:animation-ocj8pk 1s;animation:animation-ocj8pk 1s;}\n</style>\n<div class=\"css-1y9glrp\">\n</div>\n`;\n\nexports[`ssr with old api works with nonces 1`] = `\n<style data-emotion=\"css 1r145pv\"\n       nonce=\"some-nonce\"\n>\n  html{margin:0;padding:0;font-family:sans-serif;}\n</style>\n<style data-emotion=\"css ihiui2\"\n       nonce=\"some-nonce\"\n>\n  .css-ihiui2{color:hotpink;}\n</style>\n<div class=\"css-ihiui2\">\n</div>\n<style data-emotion=\"css 1lrxbo5\"\n       nonce=\"some-nonce\"\n>\n  .css-1lrxbo5{color:hotpink;}\n</style>\n<div class=\"css-1lrxbo5\">\n</div>\n`;\n\nexports[`ssr works with nonces 1`] = `\n<style data-emotion=\"css ihiui2\"\n       nonce=\"some-nonce\"\n>\n  .css-ihiui2{color:hotpink;}\n</style>\n<div class=\"css-ihiui2\">\n</div>\n<style data-emotion=\"css 1lrxbo5\"\n       nonce=\"some-nonce\"\n>\n  .css-1lrxbo5{color:hotpink;}\n</style>\n<div class=\"css-1lrxbo5\">\n</div>\n<style data-emotion=\"css-global 1r145pv\"\n       nonce=\"some-nonce\"\n>\n  html{margin:0;padding:0;font-family:sans-serif;}\n</style>\n`;\n"
  },
  {
    "path": "packages/react/__tests__/__snapshots__/theme-provider.dom.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`provider with theme value that changes 1`] = `\n.emotion-0 {\n  color: hotpink;\n  padding: 4px;\n}\n\n<div>\n  <div\n    class=\"emotion-0\"\n    id=\"the-thing\"\n  />\n</div>\n`;\n\nexports[`provider with theme value that changes 2`] = `\n.emotion-0 {\n  color: hotpink;\n  padding: 8px;\n}\n\n<div>\n  <div\n    class=\"emotion-0\"\n    id=\"the-thing\"\n  />\n</div>\n`;\n"
  },
  {
    "path": "packages/react/__tests__/__snapshots__/theme-provider.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`ThemeProvider throws the correct errors array 1`] = `\"[ThemeProvider] Please make your theme prop a plain object\"`;\n\nexports[`ThemeProvider throws the correct errors boolean 1`] = `\"[ThemeProvider] Please make your theme prop a plain object\"`;\n\nexports[`ThemeProvider throws the correct errors func to undefined 1`] = `\"[ThemeProvider] Please return an object from your theme function, i.e. theme={() => ({})}!\"`;\n\nexports[`ThemeProvider throws the correct errors null 1`] = `\"[ThemeProvider] Please make your theme prop a plain object\"`;\n\nexports[`ThemeProvider throws the correct errors undefined 1`] = `\"[ThemeProvider] Please make your theme prop a plain object\"`;\n\nexports[`nested provider 1`] = `\n.emotion-0 {\n  color: white;\n  padding: 4px;\n  background-color: darkgreen;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`nested provider with function 1`] = `\n.emotion-0 {\n  color: hotpink;\n  padding: 8px;\n  background-color: darkgreen;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n"
  },
  {
    "path": "packages/react/__tests__/__snapshots__/use-theme.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`Nested useTheme works 1`] = `\n.emotion-0 {\n  color: green;\n}\n\n.emotion-0:hover {\n  color: darkgreen;\n}\n\n.emotion-1 {\n  color: lawngreen;\n}\n\n.emotion-1:hover {\n  color: seagreen;\n}\n\n<div\n  className=\"emotion-0\"\n>\n  Should be green\n  <div\n    className=\"emotion-1\"\n  >\n    Should be lawngreen\n  </div>\n</div>\n`;\n\nexports[`useTheme works 1`] = `\n.emotion-0 {\n  color: green;\n}\n\n.emotion-0:hover {\n  color: darkgreen;\n}\n\n<div\n  className=\"emotion-0\"\n>\n  Should be green\n</div>\n`;\n"
  },
  {
    "path": "packages/react/__tests__/__snapshots__/warnings.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`does not warn when valid values are passed for the content property 1`] = `\n.emotion-0 {\n  content: normal;\n  content: none;\n  content: open-quote;\n  content: close-quote;\n  content: no-open-quote;\n  content: no-close-quote;\n  content: initial;\n  content: inherit;\n  content: \"some thing\";\n  content: 'another thing';\n  content: var(--variable-name);\n  content: url(\"http://www.example.com/test.png\");\n  content: linear-gradient(hotpink, #8be9fd);\n  content: radial-gradient(hotpink, #8be9fd);\n  content: repeating-linear-gradient(hotpink, #8be9fd);\n  content: repeating-radial-gradient(hotpink, #8be9fd);\n  content: conic-gradient(hotpink, #8be9fd);\n  content: counter(chapter_counter);\n  content: counters(section_counter, \".\");\n  content: attr(value string);\n  content: open-quote counter(chapter_counter);\n  content: element(name);\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`global with css prop 1`] = `null`;\n\nexports[`unsafe pseudo classes does not warn when using with flag: /* emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason */ does not warn when using the flag on a global rule 1`] = `null`;\n\nexports[`unsafe pseudo classes does not warn when using with flag: /* emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason */ does not warn when using the flag on a rule that is defined in another one 1`] = `\n.emotion-0 div span:first-child {\n  border-bottom-left-radius: 0;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`unsafe pseudo classes does not warn when using with flag: /* emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason */ does not warn when using the flag on the rule that follows a declaration 1`] = `\n.emotion-0 {\n  color: hotpink;\n}\n\n.emotion-0>*:first-child {\n  margin-left: 0;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`unsafe pseudo classes does not warn when using with flag: /* emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason */ does not warn when using the flag on the rule that follows another rule 1`] = `\n.emotion-0>* {\n  margin-left: 10px;\n}\n\n.emotion-0>*:first-child {\n  margin-left: 0;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`unsafe pseudo classes does not warn when using with flag: /* emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason */ does not warn when using the flag on the rule that preceeds a declaration 1`] = `\n.emotion-0 {\n  color: hotpink;\n}\n\n.emotion-0>*:first-child {\n  margin-left: 0;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`unsafe pseudo classes does not warn when using with flag: /* emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason */ does not warn when using the flag on the rule that preceeds another rule 1`] = `\n.emotion-0>*:first-child {\n  margin-left: 0;\n}\n\n.emotion-0>* {\n  margin-left: 10px;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`unsafe pseudo classes does not warn when using with flag: /* emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason */ does warn when not using the flag on a global rule 1`] = `null`;\n\nexports[`unsafe pseudo classes does not warn when using with flag: /* emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason */ does warn when not using the flag on a rule that is defined in another one 1`] = `\n.emotion-0 div span:first-child {\n  border-bottom-left-radius: 0;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`unsafe pseudo classes does not warn when using with flag: /* emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason */ does warn when not using the flag on the rule that follows a declaration 1`] = `\n.emotion-0 {\n  color: hotpink;\n}\n\n.emotion-0>*:first-child {\n  margin-left: 0;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`unsafe pseudo classes does not warn when using with flag: /* emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason */ does warn when not using the flag on the rule that follows another rule 1`] = `\n.emotion-0>* {\n  margin-left: 10px;\n}\n\n.emotion-0>*:first-child$ {\n  margin-left: 0;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`unsafe pseudo classes does not warn when using with flag: /* emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason */ does warn when not using the flag on the rule that preceeds a declaration 1`] = `\n.emotion-0 {\n  color: hotpink;\n}\n\n.emotion-0>*:first-child {\n  margin-left: 0;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`unsafe pseudo classes does not warn when using with flag: /* emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason */ does warn when not using the flag on the rule that preceeds another rule 1`] = `\n.emotion-0>*:first-child {\n  margin-left: 0;\n}\n\n.emotion-0>* {\n  margin-left: 10px;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`unsafe pseudo classes does not warn when using with flag: /* emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason */ with object styles :first-child :nth-child(3) 1`] = `\n.emotion-0:first-child :nth-child(3) {\n  color: rebeccapurple;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`unsafe pseudo classes does not warn when using with flag: /* emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason */ with object styles :first-child 1`] = `\n.emotion-0:first-child {\n  color: rebeccapurple;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`unsafe pseudo classes does not warn when using with flag: /* emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason */ with object styles :first-child span 1`] = `\n.emotion-0:first-child span {\n  color: rebeccapurple;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`unsafe pseudo classes does not warn when using with flag: /* emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason */ with object styles :first-child, :nth-child(3) 1`] = `\n.emotion-0:first-child,\n.emotion-0:nth-child(3) {\n  color: rebeccapurple;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`unsafe pseudo classes does not warn when using with flag: /* emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason */ with object styles :first-child, span 1`] = `\n.emotion-0:first-child,\n.emotion-0 span {\n  color: rebeccapurple;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`unsafe pseudo classes does not warn when using with flag: /* emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason */ with object styles :first-child:nth-child(3) 1`] = `\n.emotion-0:first-child:nth-child(3) {\n  color: rebeccapurple;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`unsafe pseudo classes does not warn when using with flag: /* emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason */ with object styles :not(:first-child) 1`] = `\n.emotion-0:not(:first-child) {\n  color: rebeccapurple;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`unsafe pseudo classes does not warn when using with flag: /* emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason */ with object styles :not(:nth-child(3)) 1`] = `\n.emotion-0:not(:nth-child(3)) {\n  color: rebeccapurple;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`unsafe pseudo classes does not warn when using with flag: /* emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason */ with object styles :nth-child(3) 1`] = `\n.emotion-0:nth-child(3) {\n  color: rebeccapurple;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`unsafe pseudo classes does not warn when using with flag: /* emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason */ with object styles :nth-last-child(7) 1`] = `\n.emotion-0:nth-last-child(7) {\n  color: rebeccapurple;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`unsafe pseudo classes does not warn when using with flag: /* emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason */ with string styles :first-child :nth-child(3) 1`] = `\n.emotion-0:first-child :nth-child(3) {\n  color: rebeccapurple;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`unsafe pseudo classes does not warn when using with flag: /* emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason */ with string styles :first-child 1`] = `\n.emotion-0:first-child {\n  color: rebeccapurple;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`unsafe pseudo classes does not warn when using with flag: /* emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason */ with string styles :first-child span 1`] = `\n.emotion-0:first-child span {\n  color: rebeccapurple;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`unsafe pseudo classes does not warn when using with flag: /* emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason */ with string styles :first-child, :nth-child(3) 1`] = `\n.emotion-0:first-child,\n.emotion-0:nth-child(3) {\n  color: rebeccapurple;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`unsafe pseudo classes does not warn when using with flag: /* emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason */ with string styles :first-child, span 1`] = `\n.emotion-0:first-child,\n.emotion-0 span {\n  color: rebeccapurple;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`unsafe pseudo classes does not warn when using with flag: /* emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason */ with string styles :first-child:nth-child(3) 1`] = `\n.emotion-0:first-child:nth-child(3) {\n  color: rebeccapurple;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`unsafe pseudo classes does not warn when using with flag: /* emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason */ with string styles :not(:first-child) 1`] = `\n.emotion-0:not(:first-child) {\n  color: rebeccapurple;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`unsafe pseudo classes does not warn when using with flag: /* emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason */ with string styles :not(:nth-child(3)) 1`] = `\n.emotion-0:not(:nth-child(3)) {\n  color: rebeccapurple;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`unsafe pseudo classes does not warn when using with flag: /* emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason */ with string styles :nth-child(3) 1`] = `\n.emotion-0:nth-child(3) {\n  color: rebeccapurple;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`unsafe pseudo classes does not warn when using with flag: /* emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason */ with string styles :nth-last-child(7) 1`] = `\n.emotion-0:nth-last-child(7) {\n  color: rebeccapurple;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`unsafe pseudo classes warns when using without flag: /* emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason */ \":first-child\" 1`] = `\n.emotion-0:first-child {\n  color: hotpink;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`unsafe pseudo classes warns when using without flag: /* emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason */ \":not(:first-child)\" 1`] = `\n.emotion-0:not(:first-child) {\n  color: hotpink;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`unsafe pseudo classes warns when using without flag: /* emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason */ \":not(:nth-child(3))\" 1`] = `\n.emotion-0:not(:nth-child(3)) {\n  color: hotpink;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`unsafe pseudo classes warns when using without flag: /* emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason */ \":nth-child(3)\" 1`] = `\n.emotion-0:nth-child(3) {\n  color: hotpink;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`unsafe pseudo classes warns when using without flag: /* emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason */ \":nth-last-child(7)\" 1`] = `\n.emotion-0:nth-last-child(7) {\n  color: hotpink;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n"
  },
  {
    "path": "packages/react/__tests__/__snapshots__/with-theme.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`withTheme works 1`] = `\"green\"`;\n"
  },
  {
    "path": "packages/react/__tests__/at-import.js",
    "content": "import * as React from 'react'\n/** @jsx jsx */\nimport { jsx } from '@emotion/react'\nimport { render, unmountComponentAtNode } from 'react-dom'\nimport { Global, css } from '@emotion/react'\n\nbeforeEach(() => {\n  document.head.innerHTML = ''\n  document.body.innerHTML = `<div id=\"root\"></div>`\n})\n\ngate({ development: false }, ({ test }) => {\n  test('basic', () => {\n    render(\n      <React.Fragment>\n        <div css={{ color: 'hotpink' }} />\n        <Global\n          styles={css`\n            @import url('https://some-url');\n\n            h1 {\n              color: hotpink;\n            }\n          `}\n        />\n      </React.Fragment>,\n      document.getElementById('root')\n    )\n    expect(document.head).toMatchSnapshot()\n    expect(document.body).toMatchSnapshot()\n    let elements = document.querySelectorAll('style')\n    let rules = []\n    for (let element of elements) {\n      for (let cssRule of element.sheet.cssRules) {\n        rules.push(cssRule.cssText)\n      }\n    }\n    expect(rules).toMatchInlineSnapshot(`\n    [\n      \"@import url(https://some-url);\",\n      \"h1 {color: hotpink;}\",\n      \".css-1lrxbo5 {color: hotpink;}\",\n    ]\n  `)\n    unmountComponentAtNode(document.getElementById('root'))\n    expect(document.head).toMatchSnapshot()\n    expect(document.body).toMatchSnapshot()\n  })\n})\n"
  },
  {
    "path": "packages/react/__tests__/automatic-dev-runtime.js",
    "content": "import { render } from '@testing-library/react'\n\ntest('basic', () => {\n  const { container } = render(<div css={{ color: 'hotpink' }} />)\n  expect(container).toMatchInlineSnapshot(`\n    <div>\n      <div\n        class=\"css-3sn2xs\"\n      />\n    </div>\n  `)\n})\n\ntest('static children', () => {\n  const { container } = render(\n    <button css={{ color: 'hotpink' }}>Emotion</button>\n  )\n  expect(container).toMatchInlineSnapshot(`\n    <div>\n      <button\n        class=\"css-3sn2xs\"\n      >\n        Emotion\n      </button>\n    </div>\n  `)\n})\n\ntest('no static children', () => {\n  const Button = props => {\n    return <button css={{ color: 'hotpink' }} {...props} />\n  }\n  const { container } = render(<Button>Emotion</Button>)\n  expect(container).toMatchInlineSnapshot(`\n    <div>\n      <button\n        class=\"css-1v4u9bq-Button\"\n      >\n        Emotion\n      </button>\n    </div>\n  `)\n})\n\ntest('fragment', () => {\n  const Test = ({ buttons }) => {\n    return (\n      <>\n        {buttons.map(({ id, label, ...rest }) => (\n          <button\n            key={id}\n            css={{\n              color: 'hotpink'\n            }}\n          >\n            {label}\n          </button>\n        ))}\n      </>\n    )\n  }\n\n  const { container } = render(\n    <div>\n      <Test\n        buttons={[\n          { id: 1, label: 'Foo' },\n          { id: 2, label: 'Bar' }\n        ]}\n      />\n    </div>\n  )\n\n  expect(container).toMatchInlineSnapshot(`\n    <div>\n      <div>\n        <button\n          class=\"css-o2qw17-Test\"\n        >\n          Foo\n        </button>\n        <button\n          class=\"css-o2qw17-Test\"\n        >\n          Bar\n        </button>\n      </div>\n    </div>\n  `)\n})\n\ntest('key after spread', () => {\n  const Test = ({ buttons }) => {\n    return (\n      <div>\n        {buttons.map(({ id, label, ...rest }) => (\n          <button\n            {...rest}\n            key={id}\n            css={{\n              color: 'hotpink'\n            }}\n          >\n            {label}\n          </button>\n        ))}\n      </div>\n    )\n  }\n\n  const { container } = render(\n    <Test\n      buttons={[\n        { id: 1, label: 'Foo', type: 'button' },\n        { id: 2, label: 'Bar', type: 'button' }\n      ]}\n    />\n  )\n  expect(container).toMatchInlineSnapshot(`\n    <div>\n      <div>\n        <button\n          class=\"css-o2qw17-Test\"\n          type=\"button\"\n        >\n          Foo\n        </button>\n        <button\n          class=\"css-o2qw17-Test\"\n          type=\"button\"\n        >\n          Bar\n        </button>\n      </div>\n    </div>\n  `)\n})\n"
  },
  {
    "path": "packages/react/__tests__/automatic-runtime.js",
    "content": "import { render } from '@testing-library/react'\n\ntest('basic', () => {\n  const { container } = render(<div css={{ color: 'hotpink' }} />)\n  expect(container).toMatchInlineSnapshot(`\n    <div>\n      <div\n        class=\"css-3sn2xs\"\n      />\n    </div>\n  `)\n})\n\ntest('static children', () => {\n  const { container } = render(\n    <button css={{ color: 'hotpink' }}>Emotion</button>\n  )\n  expect(container).toMatchInlineSnapshot(`\n    <div>\n      <button\n        class=\"css-3sn2xs\"\n      >\n        Emotion\n      </button>\n    </div>\n  `)\n})\n\ntest('no static children', () => {\n  const Button = props => {\n    return <button css={{ color: 'hotpink' }} {...props} />\n  }\n  const { container } = render(<Button>Emotion</Button>)\n  expect(container).toMatchInlineSnapshot(`\n    <div>\n      <button\n        class=\"css-1v4u9bq-Button\"\n      >\n        Emotion\n      </button>\n    </div>\n  `)\n})\n\ntest('fragment', () => {\n  const Test = ({ buttons }) => {\n    return (\n      <>\n        {buttons.map(({ id, label, ...rest }) => (\n          <button\n            key={id}\n            css={{\n              color: 'hotpink'\n            }}\n          >\n            {label}\n          </button>\n        ))}\n      </>\n    )\n  }\n\n  const { container } = render(\n    <div>\n      <Test\n        buttons={[\n          { id: 1, label: 'Foo' },\n          { id: 2, label: 'Bar' }\n        ]}\n      />\n    </div>\n  )\n\n  expect(container).toMatchInlineSnapshot(`\n    <div>\n      <div>\n        <button\n          class=\"css-o2qw17-Test\"\n        >\n          Foo\n        </button>\n        <button\n          class=\"css-o2qw17-Test\"\n        >\n          Bar\n        </button>\n      </div>\n    </div>\n  `)\n})\n\ntest('key after spread', () => {\n  const Test = ({ buttons }) => {\n    return (\n      <div>\n        {buttons.map(({ id, label, ...rest }) => (\n          <button\n            {...rest}\n            key={id}\n            css={{\n              color: 'hotpink'\n            }}\n          >\n            {label}\n          </button>\n        ))}\n      </div>\n    )\n  }\n\n  const { container } = render(\n    <Test\n      buttons={[\n        { id: 1, label: 'Foo', type: 'button' },\n        { id: 2, label: 'Bar', type: 'button' }\n      ]}\n    />\n  )\n  expect(container).toMatchInlineSnapshot(`\n    <div>\n      <div>\n        <button\n          class=\"css-o2qw17-Test\"\n          type=\"button\"\n        >\n          Foo\n        </button>\n        <button\n          class=\"css-o2qw17-Test\"\n          type=\"button\"\n        >\n          Bar\n        </button>\n      </div>\n    </div>\n  `)\n})\n"
  },
  {
    "path": "packages/react/__tests__/babel/__snapshots__/css.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`composition of dynamic array css prop with cssprop-generated className (#1730) 1`] = `\n.emotion-0 {\n  width: 50px;\n  height: 50px;\n  background-color: green;\n  color: hotpink;\n}\n\n<div\n  className=\"emotion-0\"\n>\n  I'm hotpink on the green background.\n</div>\n`;\n\nexports[`tagged template args forwarded 1`] = `\n@media (min-width: 100px) {\n  .emotion-0 {\n    color: red;\n  }\n}\n\n<h2\n  className=\"emotion-0\"\n>\n  something\n</h2>\n`;\n"
  },
  {
    "path": "packages/react/__tests__/babel/__snapshots__/source-map-server.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`basic 1`] = `\"<style data-emotion=\"css 15xr5n4-html\">.css-15xr5n4-html{color:hotpink;}.css-15xr5n4-html:hover{color:green;}/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNvdXJjZS1tYXAtc2VydmVyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVVNIiwiZmlsZSI6InNvdXJjZS1tYXAtc2VydmVyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBqc3gganN4XG4gKiBAamVzdC1lbnZpcm9ubWVudCBub2RlXG4gKi9cblxuaW1wb3J0IHsganN4IH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5pbXBvcnQgeyByZW5kZXJUb1N0cmluZyB9IGZyb20gJ3JlYWN0LWRvbS9zZXJ2ZXInXG5cbnRlc3QoJ2Jhc2ljJywgKCkgPT4ge1xuICBsZXQgaHRtbCA9IHJlbmRlclRvU3RyaW5nKFxuICAgIDxkaXZcbiAgICAgIGNzcz17e1xuICAgICAgICBjb2xvcjogJ2hvdHBpbmsnLFxuICAgICAgICAnOmhvdmVyJzoge1xuICAgICAgICAgIGNvbG9yOiAnZ3JlZW4nXG4gICAgICAgIH1cbiAgICAgIH19XG4gICAgPlxuICAgICAgc29tZSBob3RwaW5rIHRleHRcbiAgICA8L2Rpdj5cbiAgKVxuICBleHBlY3QoaHRtbCkudG9NYXRjaFNuYXBzaG90KClcbn0pXG4iXX0= */</style><div class=\"css-15xr5n4-html\">some hotpink text</div>\"`;\n"
  },
  {
    "path": "packages/react/__tests__/babel/css.js",
    "content": "/** @jsx jsx */\nimport 'test-utils/next-env'\nimport { jsx, css } from '@emotion/react'\nimport renderer from 'react-test-renderer'\n\ntest('tagged template args forwarded', () => {\n  function media(...args) {\n    return css`\n      @media (min-width: 100px) {\n        ${css(...args)};\n      }\n    `\n  }\n\n  const tree = renderer.create(\n    <h2\n      css={css`\n        ${media`color: red;`};\n      `}\n    >\n      something\n    </h2>\n  )\n\n  expect(tree.toJSON()).toMatchSnapshot()\n})\n\ntest('composition of dynamic array css prop with cssprop-generated className (#1730)', () => {\n  const Child = ({ bgColor, ...props }) => (\n    <div\n      css={[{ width: 50, height: 50 }, { backgroundColor: bgColor }]}\n      {...props}\n    />\n  )\n  const Parent = ({ children }) => (\n    <Child bgColor=\"green\" css={{ color: 'hotpink' }}>\n      {children}\n    </Child>\n  )\n  const tree = renderer.create(\n    <Parent>{\"I'm hotpink on the green background.\"}</Parent>\n  )\n\n  expect(tree.toJSON()).toMatchSnapshot()\n})\n"
  },
  {
    "path": "packages/react/__tests__/babel/source-map-server.js",
    "content": "/** @jsx jsx\n * @jest-environment node\n */\n\nimport { jsx } from '@emotion/react'\nimport { renderToString } from 'react-dom/server'\n\ntest('basic', () => {\n  let html = renderToString(\n    <div\n      css={{\n        color: 'hotpink',\n        ':hover': {\n          color: 'green'\n        }\n      }}\n    >\n      some hotpink text\n    </div>\n  )\n  expect(html).toMatchSnapshot()\n})\n"
  },
  {
    "path": "packages/react/__tests__/class-names.js",
    "content": "import * as React from 'react'\nimport 'test-utils/next-env'\nimport { ClassNames, ThemeProvider } from '@emotion/react'\nimport renderer from 'react-test-renderer'\n\ntest('css', () => {\n  const tree = renderer.create(\n    <ClassNames>\n      {({ css }) => (\n        <div\n          className={css`\n            color: hotpink;\n          `}\n        />\n      )}\n    </ClassNames>\n  )\n\n  expect(tree.toJSON()).toMatchSnapshot()\n})\n\ntest('should get the theme', () => {\n  const tree = renderer.create(\n    <ThemeProvider theme={{ color: 'green' }}>\n      <ClassNames>\n        {({ css, theme }) => (\n          <div\n            className={css`\n              color: ${theme.color};\n            `}\n          />\n        )}\n      </ClassNames>\n    </ThemeProvider>\n  )\n  expect(tree.toJSON()).toMatchSnapshot()\n})\n\ntest('cx', () => {\n  const tree = renderer.create(\n    <ClassNames>\n      {({ css, cx }) => {\n        let secondClassButItsInsertedFirst = css`\n          color: green;\n        `\n        let firstClassButItsInsertedSecond = css`\n          color: hotpink;\n        `\n\n        return (\n          <div\n            className={cx(\n              firstClassButItsInsertedSecond,\n              'some-other-class',\n              secondClassButItsInsertedFirst\n            )}\n          />\n        )\n      }}\n    </ClassNames>\n  )\n\n  expect(tree.toJSON()).toMatchSnapshot()\n})\n\ntest('css and cx throws when used after render', () => {\n  let cx, css\n  renderer.create(\n    <ClassNames>\n      {arg => {\n        ;({ cx, css } = arg)\n        return null\n      }}\n    </ClassNames>\n  )\n\n  expect(cx).toThrowErrorMatchingInlineSnapshot(\n    `\"cx can only be used during render\"`\n  )\n  expect(css).toThrowErrorMatchingInlineSnapshot(\n    `\"css can only be used during render\"`\n  )\n})\n"
  },
  {
    "path": "packages/react/__tests__/clone-element.js",
    "content": "/** @jsx jsx */\nimport { jsx } from '@emotion/react'\nimport * as React from 'react'\nimport { render, cleanup } from '@testing-library/react'\n\nafterEach(cleanup)\n\ntest('can cloneElement with element with css prop', () => {\n  let element = <div css={{ color: 'hotpink' }} id=\"initial\" />\n\n  let cloned = React.cloneElement(element, { id: 'cloned' })\n\n  let { container } = render(cloned)\n\n  expect(container.firstChild.id).toBe('cloned')\n})\n"
  },
  {
    "path": "packages/react/__tests__/compat/__snapshots__/browser.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`composition works from old emotion css calls 1`] = `\n<html>\n  <head>\n    <style\n      data-emotion=\"css\"\n      data-s=\"\"\n    >\n      \n      .css-ulmpz9{color:green;}\n    </style>\n  </head>\n  <body>\n    <div>\n      <div\n        class=\"css-ulmpz9\"\n      />\n    </div>\n  </body>\n</html>\n`;\n"
  },
  {
    "path": "packages/react/__tests__/compat/__snapshots__/server.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`Global component extracts the styles rather than inlines it 1`] = `\n{\n  \"css\": \".ssr-1lrxbo5{color:hotpink;}html{color:green;}\",\n  \"html\": \"<div class=\"ssr-1lrxbo5\"></div>\",\n  \"ids\": [\n    \"1lrxbo5\",\n    \"1vwj31w\",\n  ],\n}\n`;\n\nexports[`extracted rules have correct keys when dealing with multiple caches 1`] = `\n[\n  {\n    \"css\": \".ssr-first-key-1j7dx2f{color:rebeccapurple;}\",\n    \"html\": \"<div class=\"ssr-first-key-1j7dx2f\"></div>\",\n    \"ids\": [\n      \"1j7dx2f\",\n    ],\n  },\n  {\n    \"css\": \".ssr-second-key-1j7dx2f{color:rebeccapurple;}\",\n    \"html\": \"<div class=\"ssr-second-key-1j7dx2f\"></div>\",\n    \"ids\": [\n      \"1j7dx2f\",\n    ],\n  },\n]\n`;\n\nexports[`it works 1`] = `\n{\n  \"css\": \".ssr-1lrxbo5{color:hotpink;}\",\n  \"html\": \"<div class=\"ssr-1lrxbo5\"></div>\",\n  \"ids\": [\n    \"1lrxbo5\",\n  ],\n}\n`;\n"
  },
  {
    "path": "packages/react/__tests__/compat/browser.js",
    "content": "/** @jsx jsx */\nimport { throwIfFalsy } from 'test-utils'\nimport { jsx, CacheProvider } from '@emotion/react'\nimport { render } from '@testing-library/react'\nimport { css, cache } from '@emotion/css'\n\ntest('composition works from old emotion css calls', () => {\n  const cls = css`\n    color: green;\n  `\n  render(\n    <CacheProvider value={cache}>\n      <div css={cls} />\n    </CacheProvider>\n  )\n  expect(document.documentElement).toMatchSnapshot()\n})\n"
  },
  {
    "path": "packages/react/__tests__/compat/server.js",
    "content": "/** @jsx jsx\n * @jest-environment node\n */\nimport { jsx, Global } from '@emotion/react'\nimport createEmotionServer from '@emotion/server/create-instance'\nimport createCache from '@emotion/cache'\nimport { CacheProvider } from '@emotion/react'\nimport { renderToString } from 'react-dom/server'\n\ntest('it works', () => {\n  let cache = createCache({ key: 'ssr' })\n  let { extractCritical } = createEmotionServer(cache)\n  let ele = (\n    <CacheProvider value={cache}>\n      <div css={{ color: 'hotpink' }} />\n    </CacheProvider>\n  )\n  expect(extractCritical(renderToString(ele))).toMatchSnapshot()\n})\n\ntest('Global component extracts the styles rather than inlines it', () => {\n  let cache = createCache({ key: 'ssr' })\n  let { extractCritical } = createEmotionServer(cache)\n  let ele = (\n    <CacheProvider value={cache}>\n      <div css={{ color: 'hotpink' }} />\n      <Global styles={{ html: { color: 'green' } }} />\n    </CacheProvider>\n  )\n  expect(extractCritical(renderToString(ele))).toMatchSnapshot()\n})\n\ntest('extracted rules have correct keys when dealing with multiple caches', () => {\n  let cache1 = createCache({ key: 'ssr-first-key' })\n  let { extractCritical: extractCritical1 } = createEmotionServer(cache1)\n  let ele1 = (\n    <CacheProvider value={cache1}>\n      <div css={{ color: 'rebeccapurple' }} />\n    </CacheProvider>\n  )\n\n  let cache2 = createCache({ key: 'ssr-second-key' })\n  let { extractCritical: extractCritical2 } = createEmotionServer(cache2)\n  let ele2 = (\n    <CacheProvider value={cache2}>\n      <div css={{ color: 'rebeccapurple' }} />\n    </CacheProvider>\n  )\n\n  expect([\n    extractCritical1(renderToString(ele1)),\n    extractCritical2(renderToString(ele2))\n  ]).toMatchSnapshot()\n})\n"
  },
  {
    "path": "packages/react/__tests__/css-cache-hash.js",
    "content": "/** @jsx jsx */\nimport 'test-utils/next-env'\nimport { jsx, css } from '@emotion/react'\nimport { serializeStyles } from '@emotion/serialize'\nimport * as renderer from 'react-test-renderer'\nconst utils = require('@emotion/utils')\n\nconst spy = jest.spyOn(utils, 'insertStyles')\n\ntest('does not rehash if value is css call return value', () => {\n  const val = css`\n    color: hotpink;\n  `\n  const tree = renderer.create(\n    <div>\n      <div css={val} />\n    </div>\n  )\n  expect(serializeStyles([val])).toBe(val)\n\n  expect(spy.mock.calls[0][1]).toBe(val)\n  expect(tree.toJSON()).toMatchSnapshot()\n})\n"
  },
  {
    "path": "packages/react/__tests__/css.js",
    "content": "/** @jsx jsx */\nimport 'test-utils/next-env'\nimport { safeQuerySelector } from 'test-utils'\nimport * as React from 'react'\nimport { jsx, css, Global, CacheProvider, ThemeProvider } from '@emotion/react'\nimport { render } from '@testing-library/react'\nimport renderer from 'react-test-renderer'\nimport createCache from '@emotion/cache'\n\nconsole.error = jest.fn()\nconsole.warn = jest.fn()\n\nbeforeEach(() => {\n  delete globalThis.EMOTION_RUNTIME_AUTO_LABEL\n})\n\nafterEach(() => {\n  jest.clearAllMocks()\n  safeQuerySelector('body').innerHTML = ''\n})\n\nconst SomeComponent = (props /*: { lol: true } */) => (props.lol ? 'yes' : 'no')\n\n// test to make sure flow prop errors work.\n// should probably try to make it so that components that require className props\n// and have the css prop passed to them don't have type errors\n;<SomeComponent /> // eslint-disable-line no-unused-expressions\n\ntest('thing', () => {\n  const tree = renderer.create(\n    <div>\n      <div css={{ display: 'flex' }}>something</div>\n    </div>\n  )\n\n  expect(tree.toJSON()).toMatchSnapshot()\n})\n\ntest('css call composition', () => {\n  let first = css`\n    color: hotpink;\n  `\n  let tree = renderer.create(<div css={css({ ':hover': first })} />)\n\n  expect(tree.toJSON()).toMatchSnapshot()\n})\n\ntest('theming with the css prop', () => {\n  const tree = renderer.create(\n    <ThemeProvider theme={{ primary: 'hotpink' }}>\n      <div css={theme => ({ color: theme.primary })} />\n    </ThemeProvider>\n  )\n  expect(tree.toJSON()).toMatchSnapshot()\n})\n\ntest('theming with the array css prop', () => {\n  const tree = renderer.create(\n    <ThemeProvider theme={{ primary: 'hotpink' }}>\n      <div css={[theme => ({ color: theme.primary }), { display: 'flex' }]} />\n    </ThemeProvider>\n  )\n\n  expect(tree.toJSON()).toMatchSnapshot()\n})\n\ntest('object with false', () => {\n  const tree = renderer.create(\n    <div>\n      <div css={{ color: 'hotpink', display: false }}>something</div>\n    </div>\n  )\n\n  expect(tree.toJSON()).toMatchSnapshot()\n})\n\ntest('label in css call', () => {\n  const tree = renderer.create(\n    <div>\n      <div\n        css={css`\n          color: hotpink;\n          label: this-is-hotpink;\n        `}\n      >\n        something\n      </div>\n    </div>\n  )\n\n  expect(tree.toJSON()).toMatchSnapshot()\n})\n\ntest('string as css prop throws', () => {\n  expect(() => {\n    renderer.create(\n      <div>\n        <div\n          css={`\n            color: hotpink;\n          `}\n        >\n          something\n        </div>\n      </div>\n    )\n  }).toThrowErrorMatchingSnapshot()\n})\n\ntest('array fallback', () => {\n  const tree = renderer.create(\n    <div>\n      <div\n        css={{\n          color: ['green', 'hotpink']\n        }}\n      >\n        something\n      </div>\n    </div>\n  )\n\n  expect(tree.toJSON()).toMatchSnapshot()\n})\n\ntest('array fallback (using camelCased property)', () => {\n  const tree = renderer.create(\n    <div>\n      <div\n        css={{\n          backgroundColor: ['green', 'hotpink']\n        }}\n      >\n        something\n      </div>\n    </div>\n  )\n\n  expect(tree.toJSON()).toMatchSnapshot()\n})\n\ntest('nested at rule', () => {\n  const tree = renderer.create(\n    <div\n      css={{\n        '@media (min-width: 980px)': {\n          backgroundColor: 'blue',\n          '@supports (width: 100vw)': {\n            backgroundColor: 'red'\n          }\n        }\n      }}\n    >\n      something\n    </div>\n  )\n\n  expect(tree.toJSON()).toMatchSnapshot()\n})\n\ntest('can set speedy via custom cache', () => {\n  let cache = createCache({ key: 'speedy-test', speedy: true })\n  renderer.create(\n    <CacheProvider value={cache}>\n      <div\n        css={{\n          color: 'hotpink'\n        }}\n      >\n        <span css={{ color: 'yellow' }}>wow</span>\n        something\n      </div>\n    </CacheProvider>\n  )\n  expect(cache.sheet.tags).toHaveLength(1)\n})\n\ntest('speedy option from a custom cache is inherited for <Global/> styles', () => {\n  let cache = createCache({\n    key: 'global-inherit-speedy',\n    container: safeQuerySelector('body'),\n    speedy: true\n  })\n  renderer.create(\n    <CacheProvider value={cache}>\n      <Global styles={{ html: { fontSize: 16 } }} />\n    </CacheProvider>\n  )\n  expect(safeQuerySelector('body style').textContent).toEqual('')\n})\n\ntest('does not autoLabel without babel or EMOTION_RUNTIME_AUTO_LABEL', () => {\n  let SomeComp = props => {\n    return (\n      <div\n        {...props}\n        css={{\n          color: 'hotpink'\n        }}\n      >\n        something\n      </div>\n    )\n  }\n  const tree = renderer.create(<SomeComp />)\n\n  expect(tree.toJSON().props.className).toMatch(/css-[^-]+/)\n})\n\ntest('autoLabel without babel', () => {\n  globalThis.EMOTION_RUNTIME_AUTO_LABEL = true\n\n  let SomeComp = props => {\n    return (\n      <div\n        {...props}\n        css={{\n          color: 'hotpink'\n        }}\n      >\n        something\n      </div>\n    )\n  }\n  const tree = renderer.create(<SomeComp />)\n\n  expect(tree.toJSON().props.className.endsWith('-SomeComp')).toBe(true)\n})\n\ntest('autoLabel without babel (sanitized)', () => {\n  globalThis.EMOTION_RUNTIME_AUTO_LABEL = true\n\n  let SomeComp$ = props => {\n    return (\n      <div {...props} css={{ color: 'hotpink' }}>\n        something\n      </div>\n    )\n  }\n\n  // eslint-disable-next-line react/jsx-pascal-case\n  const tree = renderer.create(<SomeComp$ />)\n\n  expect(tree.toJSON().props.className.endsWith('-SomeComp-')).toBe(true)\n})\n\ntest('overwrite styles from parent', () => {\n  let SomeComponent = (props /*: Object */) => (\n    <div\n      css={{\n        color: 'green',\n        backgroundColor: 'yellow'\n      }}\n      {...props}\n    />\n  )\n  const tree = renderer.create(\n    <SomeComponent\n      css={{\n        color: 'hotpink'\n      }}\n    />\n  )\n\n  expect(tree.toJSON()).toMatchSnapshot()\n})\n\ntest('child selector array', () => {\n  const tree = renderer.create(\n    <div\n      css={{\n        ':hover': [{ color: 'green' }, { backgroundColor: 'yellow' }]\n      }}\n    />\n  )\n\n  expect(tree.toJSON()).toMatchSnapshot()\n})\n\ntest('handles camelCased custom properties in object styles properly', () => {\n  const tree = renderer.create(\n    <div\n      css={{\n        '--textColor': 'green',\n        color: 'var(--textColor)'\n      }}\n    />\n  )\n\n  expect(tree.toJSON()).toMatchSnapshot()\n})\n\ntest('applies class when css prop is set to nil on wrapper component', () => {\n  const Button = props => <button css={{ color: 'hotpink' }} {...props} />\n\n  const WrappedButton /*: React.StatelessFunctionalComponent<any> */ = (\n    { children, buttonStyles } /*: {\n    children: React$Node,\n    buttonStyles?: null\n  } */\n  ) => <Button css={buttonStyles}>{children}</Button>\n\n  const tree = renderer.create(\n    <React.Fragment>\n      <WrappedButton>{\"I'm hotpink!\"}</WrappedButton>\n      <WrappedButton buttonStyles={null}>{\"I'm hotpink too!\"}</WrappedButton>\n    </React.Fragment>\n  )\n\n  expect(tree.toJSON()).toMatchSnapshot()\n})\n\ntest('handles composition of styles without a final semi in a declaration block', () => {\n  const tree = renderer.create(\n    <div\n      css={[\n        // prettier-ignore\n        css`\n          color: hotpink\n        `,\n        css`\n          background-color: green;\n        `\n      ]}\n    >\n      {\"I'm hotpink on the green background.\"}\n    </div>\n  )\n\n  expect(tree.toJSON()).toMatchSnapshot()\n})\n\ntest('handles composition of an array css prop containing no final semi with cssprop-generated className (runtime variant of #1730)', () => {\n  const Child = ({ bgColor, ...props }) => (\n    <div\n      css={[{ width: 100, height: 100 }, `background-color: ${bgColor}`]}\n      {...props}\n    />\n  )\n  const Parent = ({ children }) => (\n    <Child bgColor=\"green\" css={{ color: 'hotpink' }}>\n      {children}\n    </Child>\n  )\n  const tree = renderer.create(\n    <Parent>{\"I'm hotpink on the green background.\"}</Parent>\n  )\n\n  expect(tree.toJSON()).toMatchSnapshot()\n})\n\nit(\"doesn't try to insert invalid rules caused by object style's value being falsy\", () => {\n  render(\n    <CacheProvider value={createCache({ key: 'invalid-rules', speedy: true })}>\n      <h1\n        css={css({ color: 'hotpink', '@media (min-width 800px)': undefined })}\n      >\n        {'Emotion'}\n      </h1>\n    </CacheProvider>\n  )\n\n  expect(console.error.mock.calls).toMatchInlineSnapshot(`[]`)\n  expect(console.warn.mock.calls).toMatchInlineSnapshot(`[]`)\n})\n"
  },
  {
    "path": "packages/react/__tests__/custom-cache.js",
    "content": "/** @jsx jsx */\nimport createCache from '@emotion/cache'\nimport { CacheProvider, Global, jsx } from '@emotion/react'\nimport { StyleSheet } from '@emotion/sheet'\nimport renderer from 'react-test-renderer'\nimport { safeQuerySelector } from 'test-utils'\nimport 'test-utils/next-env'\n\nfunction stylisPlugin(element) {\n  if (element.type === 'decl' && element.value.startsWith('color:')) {\n    element.value = `color:hotpink;`\n  }\n}\n\nfunction render(ele) {\n  return renderer.create(ele).toJSON()\n}\n\nbeforeEach(() => {\n  safeQuerySelector('head').innerHTML = ''\n  safeQuerySelector('body').innerHTML = ''\n})\n\ntest('with custom plugins', () => {\n  let cache = createCache({\n    key: 'custom-plugins',\n    stylisPlugins: [stylisPlugin]\n  })\n\n  expect(\n    render(\n      <CacheProvider value={cache}>\n        <div css={{ display: 'flex', color: 'blue' }} />\n      </CacheProvider>\n    )\n  ).toMatchInlineSnapshot(`\n    .emotion-0 {\n      display: flex;\n      color: hotpink;\n    }\n\n    <div\n      className=\"emotion-0\"\n    />\n  `)\n})\n\ntest('Global should \"inherit\" sheet class from the cache', () => {\n  // https://github.com/emotion-js/emotion/issues/2675\n  let cache = createCache({\n    key: 'test',\n    speedy: false\n  })\n  class MySheet extends StyleSheet {\n    insert(rule) {\n      super.insert(`/** ${this.key} */${rule}`)\n    }\n  }\n  cache.sheet = new MySheet({\n    key: 'test',\n    container: safeQuerySelector('head')\n  })\n\n  render(\n    <CacheProvider value={cache}>\n      <div css={{ color: 'hotpink' }} />\n      <Global styles={{ body: { width: '0' } }} />\n    </CacheProvider>\n  )\n\n  expect(safeQuerySelector('head')).toMatchInlineSnapshot(`\n    <head>\n      <style\n        data-emotion=\"test-global\"\n        data-s=\"\"\n      >\n        \n        /** test-global */body{width:0;}\n      </style>\n      <style\n        data-emotion=\"test\"\n        data-s=\"\"\n      >\n        \n        /** test */.test-1lrxbo5{color:hotpink;}\n      </style>\n    </head>\n  `)\n})\n"
  },
  {
    "path": "packages/react/__tests__/element.js",
    "content": "/** @jsx jsx */\nimport { render } from '@testing-library/react'\nimport { jsx, css, CacheProvider, ThemeProvider } from '@emotion/react'\nimport createCache from '@emotion/cache'\n\nconsole.error = jest.fn()\n\nbeforeEach(() => {\n  document.head.innerHTML = ''\n  jest.clearAllMocks()\n})\n\ndescribe('EmotionElement', () => {\n  test('no React hook order violations', () => {\n    const theme = { color: 'blue' }\n    const cache = createCache({ key: 'context' })\n\n    const Comp = ({ flag }) => (\n      <ThemeProvider theme={theme}>\n        <CacheProvider value={cache}>\n          <div\n            css={\n              flag &&\n              (t => css`\n                color: ${t.color};\n              `)\n            }\n          />\n        </CacheProvider>\n      </ThemeProvider>\n    )\n\n    render(<Comp />)\n    expect(console.error).not.toHaveBeenCalled()\n    render(<Comp flag />)\n    expect(console.error).not.toHaveBeenCalled()\n  })\n})\n"
  },
  {
    "path": "packages/react/__tests__/get-label-from-stack-trace.js",
    "content": "import { getLabelFromStackTrace } from '../src/get-label-from-stack-trace'\n\n/**\n * # Safari stack traces\n *\n * The component name may not appear in the Safari stack trace because Safari\n * implements Proper Tail Calls.\n *\n * Two components that seem almost identical may produce different stack traces\n * based on whether or not a Proper Tail Call optimization was possible. As a\n * result, you may not get the same stack traces if you try to reproduce these\n * test cases on your own.\n *\n * If Safari omits the component name from the stack trace, the best thing we\n * can do is:\n *\n * 1. Match the parent component's name if it is in the stack trace, or\n * 2. Return `undefined`.\n */\n\n// Ensure that it works for components that have numbers and $ in their name\nconst expectedLabel = 'MyComponent-9'\n\n/**\n * E.g.\n *\n * ```\n * function MyComponent$9() {\n *   return <div css={{ color: 'red' }} />\n * }\n * ```\n *\n * See `playgrounds/cra/.env` for instructions on testing with the old JSX\n * transform.\n *\n * All tests after this block are for runtime=automatic, i.e. the new JSX\n * transform introduced in React 17\n */\ndescribe('typical function component - runtime=classic', () => {\n  test('Chrome', () => {\n    // Each \"at\" line starts with some whitespace\n    const stackTrace = `Error\n    at createEmotionProps (emotion-element-1fb5ab00.browser.esm.js:143)\n    at jsx (emotion-react.browser.esm.js:100)\n    at MyComponent$9 (App.js:22)\n    at renderWithHooks (react-dom.development.js:14803)\n    at mountIndeterminateComponent (react-dom.development.js:17482)\n    at beginWork (react-dom.development.js:18596)`\n\n    expect(getLabelFromStackTrace(stackTrace)).toBe(expectedLabel)\n  })\n\n  test('Firefox', () => {\n    const stackTrace = `createEmotionProps@http://localhost:3000/static/js/bundle.js:46440:40\njsx@http://localhost:3000/static/js/bundle.js:46636:113\nMyComponent$9@http://localhost:3000/static/js/bundle.js:47600:72\nrenderWithHooks@http://localhost:3000/static/js/bundle.js:18904:27\nmountIndeterminateComponent@http://localhost:3000/static/js/bundle.js:21583:13\nbeginWork@http://localhost:3000/static/js/bundle.js:22697:16`\n\n    expect(getLabelFromStackTrace(stackTrace)).toBe(expectedLabel)\n  })\n\n  test('Safari', () => {\n    const stackTrace = `createEmotionProps@http://localhost:3000/static/js/bundle.js:46440:49\njsx@http://localhost:3000/static/js/bundle.js:46635:113\nrenderWithHooks@http://localhost:3000/static/js/bundle.js:18904:27\nmountIndeterminateComponent@http://localhost:3000/static/js/bundle.js:21583:28\nbeginWork$1@http://localhost:3000/static/js/bundle.js:27280:23`\n\n    expect(getLabelFromStackTrace(stackTrace)).toBeUndefined()\n  })\n\n  test('SSR', () => {\n    const stackTrace = `Error\n  at Object.createEmotionProps (webpack-internal:///../../packages/react/dist/emotion-element-7a506f09.cjs.dev.js:195:40)\n  at jsx (webpack-internal:///../../packages/react/dist/emotion-react.cjs.dev.js:103:45)\n  at MyComponent$9 (webpack-internal:///./pages/index.js:20:61)\n  at processChild (C:/Projects/OSS/emotion/node_modules/react-dom/cjs/react-dom-server.node.development.js:3043:14)\n  at resolve (C:/Projects/OSS/emotion/node_modules/react-dom/cjs/react-dom-server.node.development.js:2960:5)\n  at ReactDOMServerRenderer.render (C:/Projects/OSS/emotion/node_modules/react-dom/cjs/react-dom-server.node.development.js:3435:22)\n  at ReactDOMServerRenderer.read (C:/Projects/OSS/emotion/node_modules/react-dom/cjs/react-dom-server.node.development.js:3373:29)\n  at Object.renderToString (C:/Projects/OSS/emotion/node_modules/react-dom/cjs/react-dom-server.node.development.js:3988:27)\n  at Object.renderPage (C:/Projects/OSS/emotion/node_modules/next/dist/server/render.js:621:45)\n  at Object.defaultGetInitialProps (C:/Projects/OSS/emotion/node_modules/next/dist/server/render.js:301:51)`\n\n    expect(getLabelFromStackTrace(stackTrace)).toBe(expectedLabel)\n  })\n})\n\n/**\n * E.g.\n *\n * ```\n * function MyComponent$9() {\n *   return <div css={{ color: 'red' }} />\n * }\n * ```\n */\ndescribe('typical function component', () => {\n  test('Chrome', () => {\n    const stackTrace = `Error\n    at createEmotionProps (emotion-element-895e3bbe.browser.esm.js:142)\n    at jsxDEV (emotion-react-jsx-dev-runtime.browser.esm.js:18)\n    at MyComponent$9 (App.js:5)\n    at renderWithHooks (react-dom.development.js:14803)\n    at mountIndeterminateComponent (react-dom.development.js:17482)\n    at beginWork (react-dom.development.js:18596)\n    at beginWork$1 (react-dom.development.js:23179)`\n\n    expect(getLabelFromStackTrace(stackTrace)).toBe(expectedLabel)\n  })\n\n  test('Firefox', () => {\n    const stackTrace = `createEmotionProps@http://localhost:3000/static/js/main.chunk.js:844:40\njsxDEV@http://localhost:3000/static/js/main.chunk.js:1126:247\nMyComponent$9@http://localhost:3000/static/js/main.chunk.js:2274:92\nrenderWithHooks@http://localhost:3000/static/js/vendors~main.chunk.js:16616:31\nmountIndeterminateComponent@http://localhost:3000/static/js/vendors~main.chunk.js:19228:17\nbeginWork@http://localhost:3000/static/js/vendors~main.chunk.js:20306:20`\n\n    expect(getLabelFromStackTrace(stackTrace)).toBe(expectedLabel)\n  })\n\n  test('Safari', () => {\n    const stackTrace = `createEmotionProps@http://localhost:3000/static/js/main.chunk.js:844:49\njsxDEV@http://localhost:3000/static/js/main.chunk.js:1126:247\nMyComponent$9@http://localhost:3000/static/js/main.chunk.js:2274:92\nrenderWithHooks@http://localhost:3000/static/js/vendors~main.chunk.js:16616:31\nmountIndeterminateComponent@http://localhost:3000/static/js/vendors~main.chunk.js:19228:32\nbeginWork$1@http://localhost:3000/static/js/vendors~main.chunk.js:24848:27`\n\n    expect(getLabelFromStackTrace(stackTrace)).toBe(expectedLabel)\n  })\n\n  test('SSR', () => {\n    const stackTrace = `Error\n    at Object.createEmotionProps (webpack-internal:///../../packages/react/dist/emotion-element-7a9c77b4.cjs.dev.js:175:40)\n    at jsxDEV (webpack-internal:///../../packages/react/jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.dev.js:22:75)\n    at MyComponent$9 (webpack-internal:///./pages/index.js:60:85)\n    at processChild (C:/Projects/OSS/emotion/node_modules/react-dom/cjs/react-dom-server.node.development.js:3043:14)\n    at resolve (C:/Projects/OSS/emotion/node_modules/react-dom/cjs/react-dom-server.node.development.js:2960:5)\n    at ReactDOMServerRenderer.render (C:/Projects/OSS/emotion/node_modules/react-dom/cjs/react-dom-server.node.development.js:3435:22)\n    at ReactDOMServerRenderer.read (C:/Projects/OSS/emotion/node_modules/react-dom/cjs/react-dom-server.node.development.js:3373:29)\n    at Object.renderToString (C:/Projects/OSS/emotion/node_modules/react-dom/cjs/react-dom-server.node.development.js:3988:27)\n    at Object.renderPage (C:/Projects/OSS/emotion/node_modules/next/dist/server/render.js:621:45)\n    at Object.defaultGetInitialProps (C:/Projects/OSS/emotion/node_modules/next/dist/server/render.js:301:51)`\n\n    expect(getLabelFromStackTrace(stackTrace)).toBe(expectedLabel)\n  })\n})\n\n/**\n * E.g.\n *\n * ```\n * function MyComponent$9() {\n *   function renderSpan() {\n *     return <span css={{ color: 'orchid' }}>Orchid</span>\n *   }\n *\n *   return <div>{renderSpan()}</div>\n * }\n * ```\n */\ndescribe('render function within function component', () => {\n  test('Chrome', () => {\n    const stackTrace = `Error\n    at createEmotionProps (emotion-element-895e3bbe.browser.esm.js:142)\n    at jsxDEV (emotion-react-jsx-dev-runtime.browser.esm.js:18)\n    at renderSpan (App.js:5)\n    at MyComponent$9 (App.js:8)\n    at renderWithHooks (react-dom.development.js:14803)\n    at mountIndeterminateComponent (react-dom.development.js:17482)\n    at beginWork (react-dom.development.js:18596)`\n\n    expect(getLabelFromStackTrace(stackTrace)).toBe(expectedLabel)\n  })\n\n  test('Firefox', () => {\n    const stackTrace = `createEmotionProps@http://localhost:3000/static/js/main.chunk.js:844:40\njsxDEV@http://localhost:3000/static/js/main.chunk.js:1126:247\nrenderSpan@http://localhost:3000/static/js/main.chunk.js:2273:89\nMyComponent$9@http://localhost:3000/static/js/main.chunk.js:2287:15\nrenderWithHooks@http://localhost:3000/static/js/vendors~main.chunk.js:16616:31\nmountIndeterminateComponent@http://localhost:3000/static/js/vendors~main.chunk.js:19228:17\nbeginWork@http://localhost:3000/static/js/vendors~main.chunk.js:20306:20\nbeginWork$1@http://localhost:3000/static/js/vendors~main.chunk.js:24848:18`\n\n    expect(getLabelFromStackTrace(stackTrace)).toBe(expectedLabel)\n  })\n\n  test('Safari', () => {\n    const stackTrace = `createEmotionProps@http://localhost:3000/static/js/main.chunk.js:844:49\njsxDEV@http://localhost:3000/static/js/main.chunk.js:1126:247\nMyComponent$9@http://localhost:3000/main.4d087bc1a783e9f2b657.hot-update.js:36:25\nrenderWithHooks@http://localhost:3000/static/js/vendors~main.chunk.js:16616:31\nupdateFunctionComponent@http://localhost:3000/static/js/vendors~main.chunk.js:18795:39\nbeginWork$1@http://localhost:3000/static/js/vendors~main.chunk.js:24848:27`\n\n    expect(getLabelFromStackTrace(stackTrace)).toBe(expectedLabel)\n  })\n\n  test('SSR', () => {\n    const stackTrace = `Error\n    at Object.createEmotionProps (webpack-internal:///../../packages/react/dist/emotion-element-7a9c77b4.cjs.dev.js:175:40)\n    at jsxDEV (webpack-internal:///../../packages/react/jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.dev.js:22:75)\n    at renderSpan (webpack-internal:///./pages/index.js:28:82)\n    at MyComponent$9 (webpack-internal:///./pages/index.js:71:15)\n    at processChild (C:/Projects/OSS/emotion/node_modules/react-dom/cjs/react-dom-server.node.development.js:3043:14)\n    at resolve (C:/Projects/OSS/emotion/node_modules/react-dom/cjs/react-dom-server.node.development.js:2960:5)\n    at ReactDOMServerRenderer.render (C:/Projects/OSS/emotion/node_modules/react-dom/cjs/react-dom-server.node.development.js:3435:22)\n    at ReactDOMServerRenderer.read (C:/Projects/OSS/emotion/node_modules/react-dom/cjs/react-dom-server.node.development.js:3373:29)\n    at Object.renderToString (C:/Projects/OSS/emotion/node_modules/react-dom/cjs/react-dom-server.node.development.js:3988:27)\n    at Object.renderPage (C:/Projects/OSS/emotion/node_modules/next/dist/server/render.js:621:45)`\n\n    expect(getLabelFromStackTrace(stackTrace)).toBe(expectedLabel)\n  })\n})\n\n/**\n * E.g.\n *\n * ```\n * function MyComponent$9() {\n *   return <div>\n *     {[0].map(i => <div css={{ color: 'red' }} key={i} />)}\n *   </div>\n * }\n * ```\n */\ndescribe('element returned by Array.map', () => {\n  test('Chrome', () => {\n    const stackTrace = `Error\n    at createEmotionProps (emotion-element-895e3bbe.browser.esm.js:142)\n    at jsxDEV (emotion-react-jsx-dev-runtime.browser.esm.js:18)\n    at App.js:5\n    at Array.map (<anonymous>)\n    at MyComponent$9 (App.js:5)\n    at renderWithHooks (react-dom.development.js:14803)\n    at mountIndeterminateComponent (react-dom.development.js:17482)\n    at beginWork (react-dom.development.js:18596)\n    at beginWork$1 (react-dom.development.js:23179)`\n\n    expect(getLabelFromStackTrace(stackTrace)).toBe(expectedLabel)\n  })\n\n  test('Firefox', () => {\n    const stackTrace = `createEmotionProps@http://localhost:3000/static/js/main.chunk.js:844:40\njsxDEV@http://localhost:3000/static/js/main.chunk.js:1126:247\nMyComponent$9/<.children<@http://localhost:3000/static/js/main.chunk.js:2274:106\nMyComponent$9@http://localhost:3000/static/js/main.chunk.js:2274:19\nrenderWithHooks@http://localhost:3000/static/js/vendors~main.chunk.js:16616:31\nmountIndeterminateComponent@http://localhost:3000/static/js/vendors~main.chunk.js:19228:17\nbeginWork@http://localhost:3000/static/js/vendors~main.chunk.js:20306:20\nbeginWork$1@http://localhost:3000/static/js/vendors~main.chunk.js:24848:18`\n\n    expect(getLabelFromStackTrace(stackTrace)).toBe(expectedLabel)\n  })\n\n  test('Safari', () => {\n    const stackTrace = `createEmotionProps@http://localhost:3000/static/js/main.chunk.js:844:49\njsxDEV@http://localhost:3000/static/js/main.chunk.js:1126:247\nmap@[native code]\nMyComponent$9@http://localhost:3000/static/js/main.chunk.js:2274:22\nrenderWithHooks@http://localhost:3000/static/js/vendors~main.chunk.js:16616:31\nmountIndeterminateComponent@http://localhost:3000/static/js/vendors~main.chunk.js:19228:32\nbeginWork$1@http://localhost:3000/static/js/vendors~main.chunk.js:24848:27`\n\n    expect(getLabelFromStackTrace(stackTrace)).toBe(expectedLabel)\n  })\n\n  test('SSR', () => {\n    const stackTrace = `Error\n    at Object.createEmotionProps (webpack-internal:///../../packages/react/dist/emotion-element-7a9c77b4.cjs.dev.js:175:40)\n    at jsxDEV (webpack-internal:///../../packages/react/jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.dev.js:22:75)\n    at eval (webpack-internal:///./pages/index.js:78:99)\n    at Array.map (<anonymous>)\n    at MyComponent$9 (webpack-internal:///./pages/index.js:78:19)\n    at processChild (C:/Projects/OSS/emotion/node_modules/react-dom/cjs/react-dom-server.node.development.js:3043:14)\n    at resolve (C:/Projects/OSS/emotion/node_modules/react-dom/cjs/react-dom-server.node.development.js:2960:5)\n    at ReactDOMServerRenderer.render (C:/Projects/OSS/emotion/node_modules/react-dom/cjs/react-dom-server.node.development.js:3435:22)\n    at ReactDOMServerRenderer.read (C:/Projects/OSS/emotion/node_modules/react-dom/cjs/react-dom-server.node.development.js:3373:29)\n    at Object.renderToString (C:/Projects/OSS/emotion/node_modules/react-dom/cjs/react-dom-server.node.development.js:3988:27)`\n\n    expect(getLabelFromStackTrace(stackTrace)).toBe(expectedLabel)\n  })\n})\n\n/**\n * E.g.\n *\n * ```\n * const test = {\n *   MyComponent$9() {\n *     return <div css={{ color: 'red' }}>red</div>\n *   }\n * }\n *\n * function App() {\n *   const el = test.MyComponent$9()\n *\n *   return ...\n * }\n * ```\n */\ndescribe('function component within object', () => {\n  test('Chrome', () => {\n    const stackTrace = `Error\n    at createEmotionProps (emotion-element-6352414e.browser.esm.js?fcc6:142)\n    at jsxDEV (emotion-react-jsx-dev-runtime.browser.esm.js?cf67:18)\n    at Object.MyComponent$9 (index.js?bee7:7)\n    at App (index.js?bee7:14)\n    at renderWithHooks (react-dom.development.js?3c4a:14803)\n    at mountIndeterminateComponent (react-dom.development.js?3c4a:17482)\n    at beginWork (react-dom.development.js?3c4a:18596)\n    at beginWork$1 (react-dom.development.js?3c4a:23179)`\n\n    expect(getLabelFromStackTrace(stackTrace)).toBe(expectedLabel)\n  })\n\n  test('Firefox', () => {\n    const stackTrace = `createEmotionProps@webpack-internal:///../../packages/react/dist/emotion-element-6352414e.browser.esm.js:163:40\njsxDEV@webpack-internal:///../../packages/react/jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.esm.js:35:230\nMyComponent$9@webpack-internal:///./pages/index.js:32:82\nApp@webpack-internal:///./pages/index.js:49:17\nrenderWithHooks@webpack-internal:///../../node_modules/react-dom/cjs/react-dom.development.js:14803:27\nmountIndeterminateComponent@webpack-internal:///../../node_modules/react-dom/cjs/react-dom.development.js:17482:13\nbeginWork@webpack-internal:///../../node_modules/react-dom/cjs/react-dom.development.js:18596:16\nbeginWork$1@webpack-internal:///../../node_modules/react-dom/cjs/react-dom.development.js:23179:14`\n\n    expect(getLabelFromStackTrace(stackTrace)).toBe(expectedLabel)\n  })\n\n  test('Safari', () => {\n    // MyComponent$9 does not appear in the stack trace\n    const stackTrace = `createEmotionProps@http://localhost:3000/static/js/main.chunk.js:866:49\njsxDEV@http://localhost:3000/static/js/main.chunk.js:1147:247\nApp@http://localhost:3000/static/js/main.chunk.js:2290:32\nrenderWithHooks@http://localhost:3000/static/js/vendors~main.chunk.js:19152:31\nmountIndeterminateComponent@http://localhost:3000/static/js/vendors~main.chunk.js:21764:32\nbeginWork$1@http://localhost:3000/static/js/vendors~main.chunk.js:27384:27`\n\n    expect(getLabelFromStackTrace(stackTrace)).toBe('App')\n  })\n\n  test('SSR', () => {\n    const stackTrace = `Error\n    at Object.createEmotionProps (webpack-internal:///../../packages/react/dist/emotion-element-7a9c77b4.cjs.dev.js:175:40)\n    at jsxDEV (webpack-internal:///../../packages/react/jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.dev.js:22:75)\n    at Object.MyComponent$9 (webpack-internal:///./pages/index.js:31:82)\n    at App (webpack-internal:///./pages/index.js:47:19)\n    at processChild (C:/Projects/OSS/emotion/node_modules/react-dom/cjs/react-dom-server.node.development.js:3043:14)\n    at resolve (C:/Projects/OSS/emotion/node_modules/react-dom/cjs/react-dom-server.node.development.js:2960:5)\n    at ReactDOMServerRenderer.render (C:/Projects/OSS/emotion/node_modules/react-dom/cjs/react-dom-server.node.development.js:3435:22)\n    at ReactDOMServerRenderer.read (C:/Projects/OSS/emotion/node_modules/react-dom/cjs/react-dom-server.node.development.js:3373:29)\n    at Object.renderToString (C:/Projects/OSS/emotion/node_modules/react-dom/cjs/react-dom-server.node.development.js:3988:27)\n    at Object.renderPage (C:/Projects/OSS/emotion/node_modules/next/dist/server/render.js:621:45)`\n\n    expect(getLabelFromStackTrace(stackTrace)).toBe(expectedLabel)\n  })\n})\n\ntest('Chrome: Module.jsx', () => {\n  // From https://github.com/emotion-js/emotion/issues/1947\n  const stackTrace = `Error\n  at Module.jsx (http://localhost:10400/foo/bar/Combo?WZC6ZC&1ECYELF&12FP1RC&17F9LE8&P29J1Z&19IF3L2&AS09Z5&DHIG3C&EZJOER&13HZV70&1Y0F1JC&7UNIX3&SXHPTZ&K2YF13&11KMHHF&ZT36EV&Z44N8N&1QZW1DM&O16D0M&CW2QNS&1FH6TF2&ZWDLTF&1X87ICA&6LRWIZ&ME66AT&1SR9GT&1YH9ZQP&HHC8F2&1DB0VYO&FKOBET&1MJ8I38&JLAULY&1CH0G0Z&1TVRXYJ&SPNXDO&1JYOJGK&1LO9VOK&11TND7U&1YWNKYV&1DXWRM&TK6KOI&154ANPU&RWT5PA&19HGOKC&1YUJVCR&VFG0H0&172UQH&WFFZOK&1G8KK9P&Z4U2ZW&9UOM25&CBEUA3&1BURRUK&34VP40&CT8SCX&C5EGO8&XBSA9O&LL4E3N&1G5530W&R7QR2I&11ZITTG&1OIUGH1&ZN50OK&19R3ZDC&68ZZJF&413IE5&P0AYR7&1SMIEQU&1I34GN7&1GCT1EE&165FEOI&1NN6TMC&1FGT66H&1CP9Y2C&1R3WFPP&16Z97O3&1HGGWC2&AL9WFH&JXOSA2&QUXERX&NU7E4G&3HPVD3&16NVKFB&1JO5LOD&PIJWGC&1HD0KL3&A5KQ0E&UVG8ZT&156786I&1EGYRX&931PJP&71A44J&K4T5RR&YJS0J6&6NKXDV&15LGDNT&DK4XFH:6963:17)\n  at MyComponent$9 (http://localhost:10400/foo/bar/Combo?WZC6ZC&1ECYELF&12FP1RC&17F9LE8&P29J1Z&19IF3L2&AS09Z5&DHIG3C&EZJOER&13HZV70&1Y0F1JC&7UNIX3&SXHPTZ&K2YF13&11KMHHF&ZT36EV&Z44N8N&1QZW1DM&O16D0M&CW2QNS&1FH6TF2&ZWDLTF&1X87ICA&6LRWIZ&ME66AT&1SR9GT&1YH9ZQP&HHC8F2&1DB0VYO&FKOBET&1MJ8I38&JLAULY&1CH0G0Z&1TVRXYJ&SPNXDO&1JYOJGK&1LO9VOK&11TND7U&1YWNKYV&1DXWRM&TK6KOI&154ANPU&RWT5PA&19HGOKC&1YUJVCR&VFG0H0&172UQH&WFFZOK&1G8KK9P&Z4U2ZW&9UOM25&CBEUA3&1BURRUK&34VP40&CT8SCX&C5EGO8&XBSA9O&LL4E3N&1G5530W&R7QR2I&11ZITTG&1OIUGH1&ZN50OK&19R3ZDC&68ZZJF&413IE5&P0AYR7&1SMIEQU&1I34GN7&1GCT1EE&165FEOI&1NN6TMC&1FGT66H&1CP9Y2C&1R3WFPP&16Z97O3&1HGGWC2&AL9WFH&JXOSA2&QUXERX&NU7E4G&3HPVD3&16NVKFB&1JO5LOD&PIJWGC&1HD0KL3&A5KQ0E&UVG8ZT&156786I&1EGYRX&931PJP&71A44J&K4T5RR&YJS0J6&6NKXDV&15LGDNT&DK4XFH:13679:15)\n  at renderWithHooks (http://localhost:10400/foo/bar/Combo?1J6XZOQ&CV1G7Q&178CDN5&8GO7HW&1NEWTVK&11D8SWR&EUW1RW&B0SNY0&UKYKU8&Z2LJ32&OMFXIN&1CKRK5M&1DCE7I2&BTKQMZ&BF6IS9&IGMBPD&17GLBW0&F1NR3R&1BYJ6GK&1QMDI0S&1YBURTD&N3FA6J&1OKN2Q4&1VX6R8D&1RN5YOY&1PGEWZS&186NYSC&6OOHB&DAQXGM&18F8OG0&IEBF22&16BSJS0&270VGN&220EF0&PP2DW2&EXOH0W&1UI8QOX&BESS5A&SYNC6D&3EWNSZ&TX0EOZ&YHES22&SS37DN&155I4KT&SBSDY7&G2CFJM&1L12OEG&189382Y&4IWM93&RVOAXW&NMAEHJ&A3HW6D&react_v16.8.4&react-dom_v16.8.4&1I1OITG&1ZY465&1R86UXI&WLU3QX&1OO689&1N913EH&RZP360&15WCYOM&17TCHPC&115R68D&1VRCLJ7&12F8G3T&QXNNQC&128FRJB&1OH35FB&CHPVZ7&15VJLWF&DXTQHG&TI7NW9&8F7DFB&3ER51Q&1DTSSTA&1PQZ3V&1CA54WE&1GEM33A&OC7AMR&3AYWID&1KYS5DS&O76Y7S&1CD2C6F&1SB1JQ0&1DMMKMS&OCFDX4&1MO3710&1GVEDEZ&1FT6HVF&4JF9F9&1F8VFMW&1GAQQYW&149YUOT&12GEY49&4MFMGQ&16N8W14&12SV68C&2F7EYB&23HVSL&4TAXU8&1YL1F3&14H19K&1WHTWL7&1PYNLWK&1RUO08N&1PLVRSS&126YWXW&1TAPDE6&18TCRAP:78801:18)\n  at updateFunctionComponent (http://localhost:10400/foo/bar/Combo?1J6XZOQ&CV1G7Q&178CDN5&8GO7HW&1NEWTVK&11D8SWR&EUW1RW&B0SNY0&UKYKU8&Z2LJ32&OMFXIN&1CKRK5M&1DCE7I2&BTKQMZ&BF6IS9&IGMBPD&17GLBW0&F1NR3R&1BYJ6GK&1QMDI0S&1YBURTD&N3FA6J&1OKN2Q4&1VX6R8D&1RN5YOY&1PGEWZS&186NYSC&6OOHB&DAQXGM&18F8OG0&IEBF22&16BSJS0&270VGN&220EF0&PP2DW2&EXOH0W&1UI8QOX&BESS5A&SYNC6D&3EWNSZ&TX0EOZ&YHES22&SS37DN&155I4KT&SBSDY7&G2CFJM&1L12OEG&189382Y&4IWM93&RVOAXW&NMAEHJ&A3HW6D&react_v16.8.4&react-dom_v16.8.4&1I1OITG&1ZY465&1R86UXI&WLU3QX&1OO689&1N913EH&RZP360&15WCYOM&17TCHPC&115R68D&1VRCLJ7&12F8G3T&QXNNQC&128FRJB&1OH35FB&CHPVZ7&15VJLWF&DXTQHG&TI7NW9&8F7DFB&3ER51Q&1DTSSTA&1PQZ3V&1CA54WE&1GEM33A&OC7AMR&3AYWID&1KYS5DS&O76Y7S&1CD2C6F&1SB1JQ0&1DMMKMS&OCFDX4&1MO3710&1GVEDEZ&1FT6HVF&4JF9F9&1F8VFMW&1GAQQYW&149YUOT&12GEY49&4MFMGQ&16N8W14&12SV68C&2F7EYB&23HVSL&4TAXU8&1YL1F3&14H19K&1WHTWL7&1PYNLWK&1RUO08N&1PLVRSS&126YWXW&1TAPDE6&18TCRAP:80490:19)\n  at beginWork (http://localhost:10400/foo/bar/Combo?1J6XZOQ&CV1G7Q&178CDN5&8GO7HW&1NEWTVK&11D8SWR&EUW1RW&B0SNY0&UKYKU8&Z2LJ32&OMFXIN&1CKRK5M&1DCE7I2&BTKQMZ&BF6IS9&IGMBPD&17GLBW0&F1NR3R&1BYJ6GK&1QMDI0S&1YBURTD&N3FA6J&1OKN2Q4&1VX6R8D&1RN5YOY&1PGEWZS&186NYSC&6OOHB&DAQXGM&18F8OG0&IEBF22&16BSJS0&270VGN&220EF0&PP2DW2&EXOH0W&1UI8QOX&BESS5A&SYNC6D&3EWNSZ&TX0EOZ&YHES22&SS37DN&155I4KT&SBSDY7&G2CFJM&1L12OEG&189382Y&4IWM93&RVOAXW&NMAEHJ&A3HW6D&react_v16.8.4&react-dom_v16.8.4&1I1OITG&1ZY465&1R86UXI&WLU3QX&1OO689&1N913EH&RZP360&15WCYOM&17TCHPC&115R68D&1VRCLJ7&12F8G3T&QXNNQC&128FRJB&1OH35FB&CHPVZ7&15VJLWF&DXTQHG&TI7NW9&8F7DFB&3ER51Q&1DTSSTA&1PQZ3V&1CA54WE&1GEM33A&OC7AMR&3AYWID&1KYS5DS&O76Y7S&1CD2C6F&1SB1JQ0&1DMMKMS&OCFDX4&1MO3710&1GVEDEZ&1FT6HVF&4JF9F9&1F8VFMW&1GAQQYW&149YUOT&12GEY49&4MFMGQ&16N8W14&12SV68C&2F7EYB&23HVSL&4TAXU8&1YL1F3&14H19K&1WHTWL7&1PYNLWK&1RUO08N&1PLVRSS&126YWXW&1TAPDE6&18TCRAP:81500:13)\n  at performUnitOfWork (http://localhost:10400/foo/bar/Combo?1J6XZOQ&CV1G7Q&178CDN5&8GO7HW&1NEWTVK&11D8SWR&EUW1RW&B0SNY0&UKYKU8&Z2LJ32&OMFXIN&1CKRK5M&1DCE7I2&BTKQMZ&BF6IS9&IGMBPD&17GLBW0&F1NR3R&1BYJ6GK&1QMDI0S&1YBURTD&N3FA6J&1OKN2Q4&1VX6R8D&1RN5YOY&1PGEWZS&186NYSC&6OOHB&DAQXGM&18F8OG0&IEBF22&16BSJS0&270VGN&220EF0&PP2DW2&EXOH0W&1UI8QOX&BESS5A&SYNC6D&3EWNSZ&TX0EOZ&YHES22&SS37DN&155I4KT&SBSDY7&G2CFJM&1L12OEG&189382Y&4IWM93&RVOAXW&NMAEHJ&A3HW6D&react_v16.8.4&react-dom_v16.8.4&1I1OITG&1ZY465&1R86UXI&WLU3QX&1OO689&1N913EH&RZP360&15WCYOM&17TCHPC&115R68D&1VRCLJ7&12F8G3T&QXNNQC&128FRJB&1OH35FB&CHPVZ7&15VJLWF&DXTQHG&TI7NW9&8F7DFB&3ER51Q&1DTSSTA&1PQZ3V&1CA54WE&1GEM33A&OC7AMR&3AYWID&1KYS5DS&O76Y7S&1CD2C6F&1SB1JQ0&1DMMKMS&OCFDX4&1MO3710&1GVEDEZ&1FT6HVF&4JF9F9&1F8VFMW&1GAQQYW&149YUOT&12GEY49&4MFMGQ&16N8W14&12SV68C&2F7EYB&23HVSL&4TAXU8&1YL1F3&14H19K&1WHTWL7&1PYNLWK&1RUO08N&1PLVRSS&126YWXW&1TAPDE6&18TCRAP:85175:11)\n  at workLoop (http://localhost:10400/foo/bar/Combo?1J6XZOQ&CV1G7Q&178CDN5&8GO7HW&1NEWTVK&11D8SWR&EUW1RW&B0SNY0&UKYKU8&Z2LJ32&OMFXIN&1CKRK5M&1DCE7I2&BTKQMZ&BF6IS9&IGMBPD&17GLBW0&F1NR3R&1BYJ6GK&1QMDI0S&1YBURTD&N3FA6J&1OKN2Q4&1VX6R8D&1RN5YOY&1PGEWZS&186NYSC&6OOHB&DAQXGM&18F8OG0&IEBF22&16BSJS0&270VGN&220EF0&PP2DW2&EXOH0W&1UI8QOX&BESS5A&SYNC6D&3EWNSZ&TX0EOZ&YHES22&SS37DN&155I4KT&SBSDY7&G2CFJM&1L12OEG&189382Y&4IWM93&RVOAXW&NMAEHJ&A3HW6D&react_v16.8.4&react-dom_v16.8.4&1I1OITG&1ZY465&1R86UXI&WLU3QX&1OO689&1N913EH&RZP360&15WCYOM&17TCHPC&115R68D&1VRCLJ7&12F8G3T&QXNNQC&128FRJB&1OH35FB&CHPVZ7&15VJLWF&DXTQHG&TI7NW9&8F7DFB&3ER51Q&1DTSSTA&1PQZ3V&1CA54WE&1GEM33A&OC7AMR&3AYWID&1KYS5DS&O76Y7S&1CD2C6F&1SB1JQ0&1DMMKMS&OCFDX4&1MO3710&1GVEDEZ&1FT6HVF&4JF9F9&1F8VFMW&1GAQQYW&149YUOT&12GEY49&4MFMGQ&16N8W14&12SV68C&2F7EYB&23HVSL&4TAXU8&1YL1F3&14H19K&1WHTWL7&1PYNLWK&1RUO08N&1PLVRSS&126YWXW&1TAPDE6&18TCRAP:85215:22)\n  at renderRoot (http://localhost:10400/foo/bar/Combo?1J6XZOQ&CV1G7Q&178CDN5&8GO7HW&1NEWTVK&11D8SWR&EUW1RW&B0SNY0&UKYKU8&Z2LJ32&OMFXIN&1CKRK5M&1DCE7I2&BTKQMZ&BF6IS9&IGMBPD&17GLBW0&F1NR3R&1BYJ6GK&1QMDI0S&1YBURTD&N3FA6J&1OKN2Q4&1VX6R8D&1RN5YOY&1PGEWZS&186NYSC&6OOHB&DAQXGM&18F8OG0&IEBF22&16BSJS0&270VGN&220EF0&PP2DW2&EXOH0W&1UI8QOX&BESS5A&SYNC6D&3EWNSZ&TX0EOZ&YHES22&SS37DN&155I4KT&SBSDY7&G2CFJM&1L12OEG&189382Y&4IWM93&RVOAXW&NMAEHJ&A3HW6D&react_v16.8.4&react-dom_v16.8.4&1I1OITG&1ZY465&1R86UXI&WLU3QX&1OO689&1N913EH&RZP360&15WCYOM&17TCHPC&115R68D&1VRCLJ7&12F8G3T&QXNNQC&128FRJB&1OH35FB&CHPVZ7&15VJLWF&DXTQHG&TI7NW9&8F7DFB&3ER51Q&1DTSSTA&1PQZ3V&1CA54WE&1GEM33A&OC7AMR&3AYWID&1KYS5DS&O76Y7S&1CD2C6F&1SB1JQ0&1DMMKMS&OCFDX4&1MO3710&1GVEDEZ&1FT6HVF&4JF9F9&1F8VFMW&1GAQQYW&149YUOT&12GEY49&4MFMGQ&16N8W14&12SV68C&2F7EYB&23HVSL&4TAXU8&1YL1F3&14H19K&1WHTWL7&1PYNLWK&1RUO08N&1PLVRSS&126YWXW&1TAPDE6&18TCRAP:85298:5)\n  at performWorkOnRoot (http://localhost:10400/foo/bar/Combo?1J6XZOQ&CV1G7Q&178CDN5&8GO7HW&1NEWTVK&11D8SWR&EUW1RW&B0SNY0&UKYKU8&Z2LJ32&OMFXIN&1CKRK5M&1DCE7I2&BTKQMZ&BF6IS9&IGMBPD&17GLBW0&F1NR3R&1BYJ6GK&1QMDI0S&1YBURTD&N3FA6J&1OKN2Q4&1VX6R8D&1RN5YOY&1PGEWZS&186NYSC&6OOHB&DAQXGM&18F8OG0&IEBF22&16BSJS0&270VGN&220EF0&PP2DW2&EXOH0W&1UI8QOX&BESS5A&SYNC6D&3EWNSZ&TX0EOZ&YHES22&SS37DN&155I4KT&SBSDY7&G2CFJM&1L12OEG&189382Y&4IWM93&RVOAXW&NMAEHJ&A3HW6D&react_v16.8.4&react-dom_v16.8.4&1I1OITG&1ZY465&1R86UXI&WLU3QX&1OO689&1N913EH&RZP360&15WCYOM&17TCHPC&115R68D&1VRCLJ7&12F8G3T&QXNNQC&128FRJB&1OH35FB&CHPVZ7&15VJLWF&DXTQHG&TI7NW9&8F7DFB&3ER51Q&1DTSSTA&1PQZ3V&1CA54WE&1GEM33A&OC7AMR&3AYWID&1KYS5DS&O76Y7S&1CD2C6F&1SB1JQ0&1DMMKMS&OCFDX4&1MO3710&1GVEDEZ&1FT6HVF&4JF9F9&1F8VFMW&1GAQQYW&149YUOT&12GEY49&4MFMGQ&16N8W14&12SV68C&2F7EYB&23HVSL&4TAXU8&1YL1F3&14H19K&1WHTWL7&1PYNLWK&1RUO08N&1PLVRSS&126YWXW&1TAPDE6&18TCRAP:86205:5)\n  at performWork (http://localhost:10400/foo/bar/Combo?1J6XZOQ&CV1G7Q&178CDN5&8GO7HW&1NEWTVK&11D8SWR&EUW1RW&B0SNY0&UKYKU8&Z2LJ32&OMFXIN&1CKRK5M&1DCE7I2&BTKQMZ&BF6IS9&IGMBPD&17GLBW0&F1NR3R&1BYJ6GK&1QMDI0S&1YBURTD&N3FA6J&1OKN2Q4&1VX6R8D&1RN5YOY&1PGEWZS&186NYSC&6OOHB&DAQXGM&18F8OG0&IEBF22&16BSJS0&270VGN&220EF0&PP2DW2&EXOH0W&1UI8QOX&BESS5A&SYNC6D&3EWNSZ&TX0EOZ&YHES22&SS37DN&155I4KT&SBSDY7&G2CFJM&1L12OEG&189382Y&4IWM93&RVOAXW&NMAEHJ&A3HW6D&react_v16.8.4&react-dom_v16.8.4&1I1OITG&1ZY465&1R86UXI&WLU3QX&1OO689&1N913EH&RZP360&15WCYOM&17TCHPC&115R68D&1VRCLJ7&12F8G3T&QXNNQC&128FRJB&1OH35FB&CHPVZ7&15VJLWF&DXTQHG&TI7NW9&8F7DFB&3ER51Q&1DTSSTA&1PQZ3V&1CA54WE&1GEM33A&OC7AMR&3AYWID&1KYS5DS&O76Y7S&1CD2C6F&1SB1JQ0&1DMMKMS&OCFDX4&1MO3710&1GVEDEZ&1FT6HVF&4JF9F9&1F8VFMW&1GAQQYW&149YUOT&12GEY49&4MFMGQ&16N8W14&12SV68C&2F7EYB&23HVSL&4TAXU8&1YL1F3&14H19K&1WHTWL7&1PYNLWK&1RUO08N&1PLVRSS&126YWXW&1TAPDE6&18TCRAP:86117:5)`\n\n  expect(getLabelFromStackTrace(stackTrace)).toBe(expectedLabel)\n})\n\n/**\n * E.g.\n *\n * ```\n * const MyComponent$9 = React.forwardRef(function MyComponent$9() {\n *   return <div css={{ color: 'red' }} />\n * })\n * ```\n */\ndescribe('React.forwardRef with named function', () => {\n  // forwardRef only changes the stack trace for SSR\n  test('SSR', () => {\n    const stackTrace = `Error\n    at Object.createEmotionProps (webpack-internal:///../../packages/react/dist/emotion-element-7a9c77b4.cjs.dev.js:175:40)\n    at jsxDEV (webpack-internal:///../../packages/react/jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.dev.js:22:75)\n    at Object.MyComponent$9 [as render] (webpack-internal:///./pages/index.js:31:80)\n    at ReactDOMServerRenderer.render (C:/Projects/OSS/emotion/node_modules/react-dom/cjs/react-dom-server.node.development.js:3535:44)\n    at ReactDOMServerRenderer.read (C:/Projects/OSS/emotion/node_modules/react-dom/cjs/react-dom-server.node.development.js:3373:29)\n    at Object.renderToString (C:/Projects/OSS/emotion/node_modules/react-dom/cjs/react-dom-server.node.development.js:3988:27)\n    at Object.renderPage (C:/Projects/OSS/emotion/node_modules/next/dist/server/render.js:621:45)\n    at Object.defaultGetInitialProps (C:/Projects/OSS/emotion/node_modules/next/dist/server/render.js:301:51)\n    at Function.getInitialProps (webpack-internal:///../../node_modules/next/dist/pages/_document.js:187:16)\n    at Object.loadGetInitialProps (C:/Projects/OSS/emotion/node_modules/next/dist/shared/lib/utils.js:69:29)`\n\n    expect(getLabelFromStackTrace(stackTrace)).toBe(expectedLabel)\n  })\n})\n\n/**\n * E.g. (put an @ in front of jsxImportSource if doing this for real)\n *\n * ```\n * // jsxImportSource theme-ui\n *\n * function MyComponent$9() {\n *   return <div sx={{ color: 'red' }} />\n * }\n * ```\n *\n * See https://theme-ui.com/sx-prop.\n */\ndescribe('multiple jsx factories', () => {\n  test('Chrome', () => {\n    const stackTrace = `Error\n    at createEmotionProps (emotion-element-db00a197.browser.esm.js:78)\n    at jsxDEV (emotion-react-jsx-dev-runtime.browser.esm.js:14)\n    at jsxDEV (theme-ui-core-jsx-dev-runtime.esm.js:7)\n    at MyComponent$9 (App.js:6)\n    at renderWithHooks (react-dom.development.js:14803)\n    at mountIndeterminateComponent (react-dom.development.js:17482)\n    at beginWork (react-dom.development.js:18596)\n    at beginWork$1 (react-dom.development.js:23179)`\n\n    expect(getLabelFromStackTrace(stackTrace)).toBe(expectedLabel)\n  })\n\n  test('Firefox', () => {\n    const stackTrace = `createEmotionProps@http://localhost:3000/static/js/main.chunk.js:771:40\njsxDEV@http://localhost:3000/static/js/main.chunk.js:942:247\njsxDEV@http://localhost:3000/static/js/vendors~main.chunk.js:3998:87\nMyComponent$9@http://localhost:3000/static/js/main.chunk.js:2094:86\nrenderWithHooks@http://localhost:3000/static/js/vendors~main.chunk.js:21501:31\nmountIndeterminateComponent@http://localhost:3000/static/js/vendors~main.chunk.js:24113:17\nbeginWork@http://localhost:3000/static/js/vendors~main.chunk.js:25191:20\nbeginWork$1@http://localhost:3000/static/js/vendors~main.chunk.js:29733:18`\n\n    expect(getLabelFromStackTrace(stackTrace)).toBe(expectedLabel)\n  })\n\n  test('Safari', () => {\n    const stackTrace = `createEmotionProps@http://localhost:3000/static/js/main.chunk.js:866:49\njsxDEV@http://localhost:3000/static/js/main.chunk.js:1147:247\nMyComponent$9@http://localhost:3000/static/js/main.chunk.js:2277:86\nrenderWithHooks@http://localhost:3000/static/js/vendors~main.chunk.js:19627:31\nmountIndeterminateComponent@http://localhost:3000/static/js/vendors~main.chunk.js:22239:32\nbeginWork$1@http://localhost:3000/static/js/vendors~main.chunk.js:27859:27`\n\n    expect(getLabelFromStackTrace(stackTrace)).toBe(expectedLabel)\n  })\n\n  test('SSR', () => {\n    const stackTrace = `Error\n    at Object.createEmotionProps (C:/Projects/OSS/emotion/packages/react/dist/emotion-element-7a9c77b4.cjs.dev.js:175:40)\n    at Object.jsxDEV (C:/Projects/OSS/emotion/packages/react/jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.dev.js:22:75)\n    at jsxDEV (C:/Projects/OSS/emotion/playgrounds/nextjs/node_modules/@theme-ui/core/jsx-dev-runtime/dist/theme-ui-core-jsx-dev-runtime.cjs.dev.js:15:24)\n    at MyComponent$9 (webpack-internal:///./pages/index.js:64:79)\n    at processChild (C:/Projects/OSS/emotion/playgrounds/nextjs/node_modules/react-dom/cjs/react-dom-server.node.development.js:3043:14)\n    at resolve (C:/Projects/OSS/emotion/playgrounds/nextjs/node_modules/react-dom/cjs/react-dom-server.node.development.js:2960:5)\n    at ReactDOMServerRenderer.render (C:/Projects/OSS/emotion/playgrounds/nextjs/node_modules/react-dom/cjs/react-dom-server.node.development.js:3435:22)\n    at ReactDOMServerRenderer.read (C:/Projects/OSS/emotion/playgrounds/nextjs/node_modules/react-dom/cjs/react-dom-server.node.development.js:3373:29)\n    at Object.renderToString (C:/Projects/OSS/emotion/playgrounds/nextjs/node_modules/react-dom/cjs/react-dom-server.node.development.js:3988:27)\n    at Object.renderPage (C:/Projects/OSS/emotion/playgrounds/nextjs/node_modules/next/dist/server/render.js:621:45)`\n\n    expect(getLabelFromStackTrace(stackTrace)).toBe(expectedLabel)\n  })\n\n  // From https://github.com/emotion-js/emotion/pull/1714#discussion_r365518850\n  test('dollar signs in jsx', () => {\n    const stackTrace = `jsx@http://localhost:3000/_next/static/development/pages/theme_ui.js?ts=1578745166666:440:17\njsx$$1@http://localhost:3000/_next/static/development/pages/theme_ui.js?ts=1578745166666:2777:60\nMyComponent$9@http://localhost:3000/_next/static/development/pages/theme_ui.js?ts=1578745166666:23:62\nrenderWithHooks@http://localhost:3000/_next/static/development/dll/dll_d6a88dbe3071bd165157.js?ts=1578745166666:16511:27\nmountIndeterminateComponent@http://localhost:3000/_next/static/development/dll/dll_d6a88dbe3071bd165157.js?ts=1578745166666:19045:13`\n\n    expect(getLabelFromStackTrace(stackTrace)).toBe(expectedLabel)\n  })\n})\n\n/**\n * E.g.\n *\n * ```\n * class MyComponent$9 extends React.Component {\n *   render() {\n *     return <div css={{ color: 'red' }} />\n *   }\n * }\n * ```\n */\ndescribe('class component', () => {\n  test('Chrome', () => {\n    const stackTrace = `Error\n    at createEmotionProps (emotion-element-6352414e.browser.esm.js:142)\n    at jsxDEV (emotion-react-jsx-dev-runtime.browser.esm.js:18)\n    at MyComponent$9.render (App.js:6)\n    at finishClassComponent (react-dom.development.js:17163)\n    at updateClassComponent (react-dom.development.js:17110)\n    at beginWork (react-dom.development.js:18620)\n    at beginWork$1 (react-dom.development.js:23179)`\n\n    expect(getLabelFromStackTrace(stackTrace)).toBeUndefined()\n  })\n\n  test('Firefox', () => {\n    const stackTrace = `createEmotionProps@http://localhost:3000/static/js/main.chunk.js:844:40\njsxDEV@http://localhost:3000/static/js/main.chunk.js:1125:247\nrender@http://localhost:3000/static/js/main.chunk.js:2276:89\nfinishClassComponent@http://localhost:3000/static/js/vendors~main.chunk.js:23777:22\nupdateClassComponent@http://localhost:3000/static/js/vendors~main.chunk.js:23727:48\nbeginWork@http://localhost:3000/static/js/vendors~main.chunk.js:25187:20\nbeginWork$1@http://localhost:3000/static/js/vendors~main.chunk.js:29705:18`\n\n    expect(getLabelFromStackTrace(stackTrace)).toBeUndefined()\n  })\n\n  test('Safari', () => {\n    // render does not appear in the stack trace\n    const stackTrace = `createEmotionProps@http://localhost:3000/static/js/main.chunk.js:866:49\njsxDEV@http://localhost:3000/static/js/main.chunk.js:1147:247\nfinishClassComponent@http://localhost:3000/static/js/vendors~main.chunk.js:21453:41\nupdateClassComponent@http://localhost:3000/static/js/vendors~main.chunk.js:21406:48\nbeginWork$1@http://localhost:3000/static/js/vendors~main.chunk.js:27384:27`\n\n    expect(getLabelFromStackTrace(stackTrace)).toBeUndefined()\n  })\n\n  test('SSR', () => {\n    const stackTrace = `Error\n    at Object.createEmotionProps (C:/Projects/OSS/emotion/packages/react/dist/emotion-element-7a9c77b4.cjs.dev.js:175:40)\n    at Object.jsxDEV (C:/Projects/OSS/emotion/packages/react/jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.dev.js:22:75)\n    at jsxDEV (C:/Projects/OSS/emotion/playgrounds/nextjs/node_modules/@theme-ui/core/jsx-dev-runtime/dist/theme-ui-core-jsx-dev-runtime.cjs.dev.js:15:24)\n    at MyComponent$9.render (webpack-internal:///./pages/index.js:40:76)\n    at processChild (C:/Projects/OSS/emotion/playgrounds/nextjs/node_modules/react-dom/cjs/react-dom-server.node.development.js:3134:18)\n    at resolve (C:/Projects/OSS/emotion/playgrounds/nextjs/node_modules/react-dom/cjs/react-dom-server.node.development.js:2960:5)\n    at ReactDOMServerRenderer.render (C:/Projects/OSS/emotion/playgrounds/nextjs/node_modules/react-dom/cjs/react-dom-server.node.development.js:3435:22)\n    at ReactDOMServerRenderer.read (C:/Projects/OSS/emotion/playgrounds/nextjs/node_modules/react-dom/cjs/react-dom-server.node.development.js:3373:29)\n    at Object.renderToString (C:/Projects/OSS/emotion/playgrounds/nextjs/node_modules/react-dom/cjs/react-dom-server.node.development.js:3988:27)\n    at Object.renderPage (C:/Projects/OSS/emotion/playgrounds/nextjs/node_modules/next/dist/server/render.js:621:45)`\n\n    expect(getLabelFromStackTrace(stackTrace)).toBeUndefined()\n  })\n})\n\n/**\n * E.g.\n *\n * ```\n * import React from 'react'\n *\n * var __extends =\n *   (this && this.__extends) ||\n *   (function () {\n *     var extendStatics = function (d, b) {\n *       extendStatics =\n *         Object.setPrototypeOf ||\n *         ({ __proto__: [] } instanceof Array &&\n *           function (d, b) {\n *             d.__proto__ = b\n *           }) ||\n *         function (d, b) {\n *           for (var p in b)\n *             if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]\n *         }\n *       return extendStatics(d, b)\n *     }\n *     return function (d, b) {\n *       extendStatics(d, b)\n *       function __() {\n *         this.constructor = d\n *       }\n *       d.prototype =\n *         b === null ? Object.create(b) : ((__.prototype = b.prototype), new __())\n *     }\n *   })()\n *\n * export const MyComponent$9 = (function (_super) {\n *   __extends(MyComponent$9, _super)\n *   function MyComponent$9() {\n *     var _this = (_super !== null && _super.apply(this, arguments)) || this\n *     return _this\n *   }\n *   MyComponent$9.prototype.render = function () {\n *     // Defining a variable to prevent Proper Tail Call\n *     const el = <div css={{ color: 'red' }} />\n *     return el\n *   }\n *   return MyComponent$9\n * })(React.PureComponent)\n * ```\n */\ndescribe('class component transpiled to ES 5', () => {\n  test('Chrome', () => {\n    const stackTrace = `Error\n    at createEmotionProps (emotion-element-10a9af6f.browser.esm.js?d0a2:168)\n    at jsxDEV (emotion-react-jsx-dev-runtime.browser.esm.js?cf67:18)\n    at MyComponent$9.render (MyComponent9.js?2fbf:37)\n    at finishClassComponent (react-dom.development.js?3c4a:17160)\n    at updateClassComponent (react-dom.development.js?3c4a:17110)\n    at beginWork (react-dom.development.js?3c4a:18620)\n    at beginWork$1 (react-dom.development.js?3c4a:23179)\n    at performUnitOfWork (react-dom.development.js?3c4a:22154)\n    at workLoopSync (react-dom.development.js?3c4a:22130)\n    at performSyncWorkOnRoot (react-dom.development.js?3c4a:21756)`\n\n    expect(getLabelFromStackTrace(stackTrace)).toBeUndefined()\n  })\n\n  test('Firefox', () => {\n    const stackTrace = `createEmotionProps@webpack-internal:///../../packages/react/dist/emotion-element-10a9af6f.browser.esm.js:189:42\njsxDEV@webpack-internal:///../../packages/react/jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.esm.js:35:230\nMyComponent$9</MyComponent$9.prototype.render@webpack-internal:///./pages/MyComponent9.js:62:82\nfinishClassComponent@webpack-internal:///../../node_modules/react-dom/cjs/react-dom.development.js:17163:18\nupdateClassComponent@webpack-internal:///../../node_modules/react-dom/cjs/react-dom.development.js:17110:44\nbeginWork@webpack-internal:///../../node_modules/react-dom/cjs/react-dom.development.js:18620:16\nbeginWork$1@webpack-internal:///../../node_modules/react-dom/cjs/react-dom.development.js:23179:14\nperformUnitOfWork@webpack-internal:///../../node_modules/react-dom/cjs/react-dom.development.js:22154:12\nworkLoopSync@webpack-internal:///../../node_modules/react-dom/cjs/react-dom.development.js:22130:22`\n\n    expect(getLabelFromStackTrace(stackTrace)).toBeUndefined()\n  })\n\n  test('Safari', () => {\n    // No idea why the function name is just blank in this stack trace\n    const stackTrace = `createEmotionProps@http://localhost:3000/static/js/main.chunk.js:973:49\njsxDEV@http://localhost:3000/static/js/main.chunk.js:1609:247\n@http://localhost:3000/static/js/main.chunk.js:2926:93\nfinishClassComponent@http://localhost:3000/static/js/vendors~main.chunk.js:21433:41\nupdateClassComponent@http://localhost:3000/static/js/vendors~main.chunk.js:21386:48\nbeginWork$1@http://localhost:3000/static/js/vendors~main.chunk.js:27364:27\nperformUnitOfWork@http://localhost:3000/static/js/vendors~main.chunk.js:26352:27\nworkLoopSync@http://localhost:3000/static/js/vendors~main.chunk.js:26328:43\nperformSyncWorkOnRoot@http://localhost:3000/static/js/vendors~main.chunk.js:25946:25`\n\n    expect(getLabelFromStackTrace(stackTrace)).toBeUndefined()\n  })\n\n  test('SSR', () => {\n    const stackTrace = `Error\n    at Object.createEmotionProps (webpack-internal:///../../packages/react/dist/emotion-element-491a37fd.cjs.dev.js:201:42)\n    at jsxDEV (webpack-internal:///../../packages/react/jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.dev.js:22:75)\n    at MyComponent$9.render (webpack-internal:///./pages/MyComponent9.js:60:82)\n    at processChild (/Users/sammagura/Documents/emotion/node_modules/react-dom/cjs/react-dom-server.node.development.js:3134:18)\n    at resolve (/Users/sammagura/Documents/emotion/node_modules/react-dom/cjs/react-dom-server.node.development.js:2960:5)\n    at ReactDOMServerRenderer.render (/Users/sammagura/Documents/emotion/node_modules/react-dom/cjs/react-dom-server.node.development.js:3435:22)\n    at ReactDOMServerRenderer.read (/Users/sammagura/Documents/emotion/node_modules/react-dom/cjs/react-dom-server.node.development.js:3373:29)\n    at Object.renderToString (/Users/sammagura/Documents/emotion/node_modules/react-dom/cjs/react-dom-server.node.development.js:3988:27)\n    at Object.renderPage (/Users/sammagura/Documents/emotion/node_modules/next/dist/server/render.js:621:45)\n    at Object.defaultGetInitialProps (/Users/sammagura/Documents/emotion/node_modules/next/dist/server/render.js:301:51)`\n\n    expect(getLabelFromStackTrace(stackTrace)).toBeUndefined()\n  })\n})\n\n/**\n * https://github.com/emotion-js/emotion/issues/2614\n *\n * Not sure how to reproduce this other than this repro project:\n * https://github.com/srmagura/emotion-issue-2614\n */\ndescribe('issue #2614 - class component transpiled to ES 5', () => {\n  test('Chrome', () => {\n    const stackTrace = `Error\n    at createEmotionProps (webpack-internal:///./node_modules/@emotion/react/dist/emotion-element-699e6908.browser.esm.js:183)\n    at Module.jsx (webpack-internal:///./node_modules/@emotion/react/dist/emotion-react.browser.esm.js:127)\n    at Loader.render (webpack-internal:///./node_modules/react-spinners/ScaleLoader.js:56)\n    at finishClassComponent (webpack-internal:///./node_modules/react-dom/cjs/react-dom.development.js:17485)\n    at updateClassComponent (webpack-internal:///./node_modules/react-dom/cjs/react-dom.development.js:17435)\n    at beginWork (webpack-internal:///./node_modules/react-dom/cjs/react-dom.development.js:19073)\n    at beginWork$1 (webpack-internal:///./node_modules/react-dom/cjs/react-dom.development.js:23935)\n    at performUnitOfWork (webpack-internal:///./node_modules/react-dom/cjs/react-dom.development.js:22771)\n    at workLoopSync (webpack-internal:///./node_modules/react-dom/cjs/react-dom.development.js:22702)\n    at renderRootSync (webpack-internal:///./node_modules/react-dom/cjs/react-dom.development.js:22665)`\n\n    expect(getLabelFromStackTrace(stackTrace)).toBeUndefined()\n  })\n\n  test('Firefox', () => {\n    const stackTrace = `createEmotionProps@webpack-internal:///./node_modules/@emotion/react/dist/emotion-element-699e6908.browser.esm.js:183:40\njsx@webpack-internal:///./node_modules/@emotion/react/dist/emotion-react.browser.esm.js:127:105\nLoader.prototype.render@webpack-internal:///./node_modules/react-spinners/ScaleLoader.js:56:35\nfinishClassComponent@webpack-internal:///./node_modules/react-dom/cjs/react-dom.development.js:17485:31\nupdateClassComponent@webpack-internal:///./node_modules/react-dom/cjs/react-dom.development.js:17435:44\nbeginWork@webpack-internal:///./node_modules/react-dom/cjs/react-dom.development.js:19073:16\nbeginWork$1@webpack-internal:///./node_modules/react-dom/cjs/react-dom.development.js:23935:14\nperformUnitOfWork@webpack-internal:///./node_modules/react-dom/cjs/react-dom.development.js:22771:12\nworkLoopSync@webpack-internal:///./node_modules/react-dom/cjs/react-dom.development.js:22702:22`\n\n    expect(getLabelFromStackTrace(stackTrace)).toBeUndefined()\n  })\n\n  test('Safari', () => {\n    // No idea why the function name is blank and there are no file locations\n    const stackTrace = `createEmotionProps@\njsx@\n@\nfinishClassComponent@\nupdateClassComponent@\nbeginWork$1@\nperformUnitOfWork@\nworkLoopSync@\nrenderRootSync@\nperformSyncWorkOnRoot@\nscheduleUpdateOnFiber@\nupdateContainer@`\n\n    expect(getLabelFromStackTrace(stackTrace)).toBeUndefined()\n  })\n\n  // No SSR stack trace since this comes from a Gatsby project\n})\n"
  },
  {
    "path": "packages/react/__tests__/global-insertion-after-others.js",
    "content": "/** @jsx jsx */\nimport { jsx, Global } from '@emotion/react'\nimport { render } from '@testing-library/react'\n\nlet getDataAttributes = () =>\n  Array.from(document.querySelectorAll('style[data-emotion]'), x =>\n    x.getAttribute('data-emotion')\n  )\n\ntest('Global style element insertion after insertion of other styles', () => {\n  let Comp = ({ second }) => (\n    <div>\n      <div\n        css={{\n          color: 'green'\n        }}\n      />\n      {second && (\n        <Global\n          styles={{\n            html: {\n              backgroundColor: 'hotpink'\n            }\n          }}\n        />\n      )}\n    </div>\n  )\n  let { rerender } = render(<Comp />)\n  expect(getDataAttributes()).toEqual(['css'])\n  rerender(<Comp second />)\n  expect(getDataAttributes()).toEqual(['css-global', 'css'])\n})\n"
  },
  {
    "path": "packages/react/__tests__/global-with-theme.js",
    "content": "import * as React from 'react'\nimport { render } from '@testing-library/react'\nimport { Global, ThemeProvider } from '@emotion/react'\n\nbeforeEach(() => {\n  document.head.innerHTML = ''\n})\n\ntest('basic', () => {\n  const { unmount } = render(\n    <ThemeProvider theme={{ color: 'green' }}>\n      <Global\n        styles={theme => ({\n          html: {\n            backgroundColor: theme.color\n          }\n        })}\n      />\n    </ThemeProvider>\n  )\n  expect(document.documentElement).toMatchSnapshot()\n  unmount()\n  expect(document.documentElement).toMatchSnapshot()\n})\n\ntest('array', () => {\n  const { unmount } = render(\n    <ThemeProvider theme={{ color: 'green', fontSize: 16 }}>\n      <Global\n        styles={[\n          theme => ({ html: { backgroundColor: theme.color } }),\n          theme => ({ html: { fontSize: theme.fontSize } })\n        ]}\n      />\n    </ThemeProvider>\n  )\n  expect(document.documentElement).toMatchSnapshot()\n  unmount()\n  expect(document.documentElement).toMatchSnapshot()\n})\n"
  },
  {
    "path": "packages/react/__tests__/global.js",
    "content": "import * as React from 'react'\nimport { render } from '@testing-library/react'\nimport {\n  Global,\n  keyframes,\n  css,\n  CacheProvider,\n  ThemeProvider\n} from '@emotion/react'\nimport createCache from '@emotion/cache'\n\nconsole.error = jest.fn()\n\nbeforeEach(() => {\n  document.head.innerHTML = ''\n  jest.resetAllMocks()\n})\n\ntest('basic', () => {\n  const { unmount } = render(\n    <CacheProvider value={createCache({ key: 'css' })}>\n      <Global\n        styles={[\n          css`\n            @import url('something.com/file.css');\n          `,\n          {\n            html: {\n              backgroundColor: 'hotpink'\n            },\n            h1: {\n              animation: `${keyframes({\n                'from,to': {\n                  color: 'green'\n                },\n                '50%': {\n                  color: 'hotpink'\n                }\n              })} 1s`\n            },\n            '@font-face': {\n              fontFamily: 'some-name'\n            }\n          }\n        ]}\n      />\n    </CacheProvider>\n  )\n  expect(document.head).toMatchSnapshot()\n  expect(document.body).toMatchSnapshot()\n  unmount()\n  expect(document.head).toMatchSnapshot()\n  expect(document.body).toMatchSnapshot()\n})\n\ntest('updating more than 1 global rule', () => {\n  const cache = createCache({ key: 'global-multiple-rules' })\n\n  const Comp = ({ background, color }) => (\n    <CacheProvider value={cache}>\n      <Global styles={{ body: { background }, div: { color } }} />\n    </CacheProvider>\n  )\n\n  const { rerender } = render(<Comp background=\"white\" color=\"black\" />)\n  expect(document.head).toMatchSnapshot()\n  rerender(<Comp background=\"gray\" color=\"white\" />)\n  expect(document.head).toMatchSnapshot()\n})\n\ntest('no React hook order violations', () => {\n  const theme = { color: 'blue' }\n  const cache = createCache({ key: 'context' })\n\n  const Comp = ({ flag }) => (\n    <ThemeProvider theme={theme}>\n      <CacheProvider value={cache}>\n        <Global\n          styles={\n            flag &&\n            (t => css`\n              color: ${t.color};\n            `)\n          }\n        />\n      </CacheProvider>\n    </ThemeProvider>\n  )\n\n  render(<Comp />)\n  expect(console.error).not.toHaveBeenCalled()\n  render(<Comp flag />)\n  expect(console.error).not.toHaveBeenCalled()\n})\n"
  },
  {
    "path": "packages/react/__tests__/globals-are-the-worst.js",
    "content": "import { render } from '@testing-library/react'\nimport * as React from 'react'\nimport { Global } from '@emotion/react'\nimport styled from '@emotion/styled'\n\ntest('specificity with globals', () => {\n  let SomeComponent = styled.p`\n    color: hotpink;\n  `\n  let Comp = ({ itShouldNotBeThisColor }) => (\n    <div id=\"root\">\n      <Global\n        styles={{\n          '.some-class': {\n            color: itShouldNotBeThisColor\n          }\n        }}\n      />\n      {/* this should be hotpink */}\n      <SomeComponent id=\"text\" className=\"some-class\">\n        some text\n      </SomeComponent>\n    </div>\n  )\n\n  const { rerender } = render(<Comp itShouldNotBeThisColor=\"green\" />)\n  expect(document.documentElement).toMatchSnapshot()\n  rerender(<Comp itShouldNotBeThisColor=\"yellow\" />)\n  expect(document.documentElement).toMatchSnapshot()\n})\n"
  },
  {
    "path": "packages/react/__tests__/import-prod.js",
    "content": "import * as React from 'react'\nimport * as ReactDOM from 'react-dom'\nimport { css, Global } from '@emotion/react'\nimport styled from '@emotion/styled'\nimport prettify from '@emotion/css-prettifier'\n\n// using styled instead of the css prop because there was a really weird flow error\n// when using `jsx` from @emotion/react and Global\nlet Comp = styled.div({ color: 'hotpink' })\n\nexpect.addSnapshotSerializer({\n  test: x => x instanceof StyleSheet,\n  print: ({ cssRules }) => {\n    let styles = ''\n    for (let rule of cssRules) {\n      styles += rule.cssText\n    }\n    return prettify(styles)\n  }\n})\n\n// can't use RTL as production React 18 throws when it's trying to use `act`\nconst render = children =>\n  new Promise(resolve => {\n    const el = document.createElement('div')\n    document.body.appendChild(el)\n\n    if (ReactDOM.createRoot) {\n      const root = ReactDOM.createRoot(el)\n      root.render(<div ref={resolve}>{children}</div>)\n    } else {\n      ReactDOM.render(children, el, resolve)\n    }\n  })\n\ngate({ development: false }, ({ test }) => {\n  test('it works', async () => {\n    await render(\n      <div>\n        <Comp>something</Comp>\n\n        <Global\n          styles={{\n            html: {\n              backgroundColor: 'yellow'\n            }\n          }}\n        />\n        <Global\n          styles={css`\n            @import url('something.com/file.css');\n            body {\n              padding: 0;\n            }\n          `}\n        />\n      </div>\n    )\n    // order should be\n    // 1. html { background-color: yellow; }\n    // 1. @import\n    // 2. body { padding: 0; }\n    // 3. styled comp\n\n    // querying for style instead of [data-emotion] to appease flow\n    let elements = Array.from(document.querySelectorAll('style')).filter(x =>\n      x.getAttribute('data-emotion')\n    )\n\n    expect(elements.map(x => x.getAttribute('data-emotion'))).toEqual([\n      'css-global',\n      'css-global',\n      'css'\n    ])\n\n    expect(elements[0].sheet).toMatchInlineSnapshot(`\n    html {\n      background-color: yellow;\n    }\n  `)\n    expect(elements[1].sheet).toMatchInlineSnapshot(`\n@import url(something.com/file.css);\n\nbody {\n  padding: 0;\n}\n`)\n    expect(elements[2].sheet).toMatchInlineSnapshot(`\n.css-1lrxbo5 {\n  color: hotpink;\n}\n`)\n  })\n})\n"
  },
  {
    "path": "packages/react/__tests__/keyframes.js",
    "content": "/** @jsx jsx */\nimport 'test-utils/next-env'\nimport { jsx, css, keyframes } from '@emotion/react'\nimport { safeQuerySelector, throwIfFalsy } from 'test-utils'\nimport cases from 'jest-in-case'\nimport * as renderer from 'react-test-renderer'\nimport createCache from '@emotion/cache'\nimport { CacheProvider } from '@emotion/react'\n\ncases(\n  'keyframes',\n  opts => {\n    safeQuerySelector('head').innerHTML = ''\n    let cache = createCache({ key: 'css' })\n    expect(\n      renderer\n        .create(<CacheProvider value={cache}>{opts.render()}</CacheProvider>)\n        .toJSON()\n    ).toMatchSnapshot()\n    expect(\n      throwIfFalsy(cache.sheet.tags).map(tag => tag.textContent || '')\n    ).toMatchSnapshot()\n    cache.sheet.flush()\n  },\n  {\n    basic: {\n      render: () => {\n        // this isn't necessary and many people will likely use\n        // keyframes as a tagged template literal but using a css call\n        // means prettier will format it\n        let animation = keyframes(css`\n          from {\n            color: green;\n          }\n          to {\n            color: hotpink;\n          }\n        `)\n        return (\n          <div\n            css={css`\n              animation: ${animation};\n            `}\n          >\n            {animation.name}\n          </div>\n        )\n      }\n    },\n    'without css call': {\n      render: () => {\n        let animation = keyframes`\n          from {\n            color: green;\n          }\n          to {\n            color: hotpink;\n          }\n        `\n        return (\n          <div\n            css={css`\n              animation: ${animation};\n            `}\n          >\n            {animation.name}\n          </div>\n        )\n      }\n    },\n    object: {\n      render: () => {\n        let animation = keyframes({\n          from: {\n            color: 'green'\n          },\n          to: {\n            color: 'hotpink'\n          }\n        })\n\n        return (\n          <div\n            css={{\n              animation: `${animation} 1s`\n            }}\n          >\n            {animation.name}\n          </div>\n        )\n      }\n    },\n    'object with string keyframes': {\n      render: () => {\n        let animation = keyframes(css`\n          from {\n            color: green;\n          }\n          to {\n            color: hotpink;\n          }\n        `)\n\n        return (\n          <div\n            css={{\n              animation: `${animation} 1s`\n            }}\n          >\n            {animation.name}\n          </div>\n        )\n      }\n    },\n    'object with animationName and opaque keyframes as value': {\n      render: () => {\n        let animation = keyframes(css`\n          from {\n            color: green;\n          }\n          to {\n            color: hotpink;\n          }\n        `)\n\n        return (\n          <div\n            css={{\n              animationName: animation,\n              animationDuration: '1s'\n            }}\n          >\n            {animation.name}\n          </div>\n        )\n      }\n    },\n    'object with animationName and string keyframes as value': {\n      render: () => {\n        let animation = keyframes(css`\n          from {\n            color: green;\n          }\n          to {\n            color: hotpink;\n          }\n        `)\n\n        return (\n          <div\n            css={{\n              animationName: `${animation}`,\n              animationDuration: '1s'\n            }}\n          >\n            {animation.name}\n          </div>\n        )\n      }\n    },\n    'object with animation and opaque keyframes as value': {\n      render: () => {\n        let animation = keyframes(css`\n          from {\n            color: green;\n          }\n          to {\n            color: hotpink;\n          }\n        `)\n\n        return (\n          <div\n            css={{\n              animation,\n              animationDuration: '1s'\n            }}\n          >\n            {animation.name}\n          </div>\n        )\n      }\n    },\n    'multiple keyframes object': {\n      render: () => {\n        let animation = keyframes(css`\n          from {\n            color: green;\n          }\n          to {\n            color: hotpink;\n          }\n        `)\n        let yellowAnimation = keyframes(css`\n          from {\n            color: green;\n          }\n          to {\n            color: yellow;\n          }\n        `)\n        return (\n          <div\n            css={{\n              animation: `${animation} 1s ${yellowAnimation}`\n            }}\n          >\n            {animation.name}\n          </div>\n        )\n      }\n    },\n    'keyframes used in css call': {\n      render: () => {\n        let animation = keyframes(css`\n          from {\n            color: green;\n          }\n          to {\n            color: hotpink;\n          }\n        `)\n        let yellowAnimation = keyframes(css`\n          from {\n            color: green;\n          }\n          to {\n            color: yellow;\n          }\n        `)\n        return (\n          <div\n            css={[\n              css({\n                animation: `${animation} 1s ${yellowAnimation}`\n              })\n            ]}\n          >\n            {animation.name}\n          </div>\n        )\n      }\n    }\n  }\n)\n"
  },
  {
    "path": "packages/react/__tests__/legacy-class-name.js",
    "content": "/** @jsx jsx */\nimport 'test-utils/next-env'\nimport { jsx, css } from '@emotion/react'\nimport renderer from 'react-test-renderer'\n\ntest('string className', () => {\n  const tree = renderer\n    .create(\n      <div\n        className=\"legacy__class\"\n        css={css`\n          color: hotpink;\n        `}\n      />\n    )\n    .toJSON()\n\n  expect(tree).toMatchSnapshot()\n})\n\ntest('object className', () => {\n  const tree = renderer\n    .create(\n      <div\n        className={{ toString: () => 'legacy__class' }}\n        css={css`\n          color: hotpink;\n        `}\n      />\n    )\n    .toJSON()\n\n  expect(tree).toMatchSnapshot()\n})\n"
  },
  {
    "path": "packages/react/__tests__/prod.js",
    "content": "/** @jsx jsx */\nimport { css, jsx } from '@emotion/react'\nimport renderer from 'react-test-renderer'\n\ngate({ development: false }, ({ test }) => {\n  test('css works', () => {\n    // css has a different return in prod so this is just making sure that isn't broken\n\n    expect(css({ color: 'hotpink' })).toMatchInlineSnapshot(`\n{\n  \"name\": \"1lrxbo5\",\n  \"next\": undefined,\n  \"styles\": \"color:hotpink;\",\n}\n`)\n  })\n\n  test('props work', () => {\n    let tree = renderer.create(<div css={{ color: 'hotpink' }} hidden />)\n    expect(tree.toJSON().props.hidden).toBe(true)\n  })\n})\n"
  },
  {
    "path": "packages/react/__tests__/ref.js",
    "content": "/** @jsx jsx */\nimport { jsx } from '@emotion/react'\nimport * as React from 'react'\nimport { render, cleanup } from '@testing-library/react'\n\nafterEach(cleanup)\n\ntest('ref works', () => {\n  let ref = React.createRef()\n  let { getByTestId } = render(\n    <div data-testid=\"test\" css={{ color: 'hotpink' }} ref={ref} />\n  )\n\n  expect(getByTestId('test')).toBe(ref.current)\n})\n"
  },
  {
    "path": "packages/react/__tests__/rehydration.js",
    "content": "/** @jsx jsx */\nimport { safeQuerySelector, disableBrowserEnvTemporarily } from 'test-utils'\n\nconsole.error = jest.fn()\nconsole.warn = jest.fn()\n\nafterEach(() => {\n  jest.clearAllMocks()\n})\n\nlet React = require('react')\nlet ReactDOM\nlet ReactDOMServer\nlet render\n\nlet createCache\nlet css\nlet jsx\nlet styled\nlet CacheProvider\nlet Global\nlet ClassNames\nlet createEmotionServer\n\nconst resetAllModules = () => {\n  jest.resetModules()\n\n  createCache = require('@emotion/cache').default\n  React = require('react')\n  ReactDOM = require('react-dom')\n  ReactDOMServer = require('react-dom/server')\n  // we can't use regular entrypoint here as it registers afterEach\n  // this means that we don't get auto-cleanup from RTL\n  // but it shouldn't be needed in this file\n  // we are resetting JSDOM's state on our own, and we don't depend on React's unmounting anyhow here\n  render = require('@testing-library/react/pure').render\n\n  const emotionReact = require('@emotion/react')\n  css = emotionReact.css\n  jsx = emotionReact.jsx\n  CacheProvider = emotionReact.CacheProvider\n  Global = emotionReact.Global\n  ClassNames = emotionReact.ClassNames\n  createEmotionServer = require('@emotion/server/create-instance').default\n  styled = require('@emotion/styled').default\n}\n\nbeforeEach(() => {\n  safeQuerySelector('head').innerHTML = ''\n  safeQuerySelector('body').innerHTML = ''\n})\n\ntest(\"cache created in render doesn't cause a hydration mismatch\", () => {\n  safeQuerySelector('body').innerHTML = [\n    '<div id=\"root\">',\n    '<style data-emotion=\"stl 168r6j\">.stl-1pdkrhd {color: hotpink;}</style>',\n    '<div class=\"stl-168r6j\">Hello world!</div>',\n    '</div>'\n  ].join('')\n\n  resetAllModules()\n\n  const Wrapper = ({ children }) => {\n    const cache = createCache({ key: 'stl' })\n    return <CacheProvider value={cache}>{children}</CacheProvider>\n  }\n\n  function App() {\n    return (\n      <Wrapper>\n        <div\n          css={css`\n            color: hotpink;\n          `}\n        >\n          {'Hello world!'}\n        </div>\n      </Wrapper>\n    )\n  }\n\n  render(<App />, {\n    hydrate: true,\n    container: safeQuerySelector('#root')\n  })\n\n  expect(console.error.mock.calls).toMatchInlineSnapshot(`[]`)\n  expect(console.warn.mock.calls).toMatchInlineSnapshot(`[]`)\n})\n\ntest('initializing another Emotion instance should not move already moved styles elements', () => {\n  safeQuerySelector('head').innerHTML = '<div id=\"style-container\"></div>'\n  safeQuerySelector('body').innerHTML = [\n    '<div id=\"root\">',\n    '<style data-emotion=\"stl 1pdkrhd\">.stl-1pdkrhd-App {color: hotpink;}</style>',\n    '<div class=\"stl-1pdkrhd-App\">Hello world!</div>',\n    '</div>'\n  ].join('')\n\n  resetAllModules()\n\n  const cache = createCache({\n    key: 'stl',\n    container: safeQuerySelector('#style-container')\n  })\n\n  function App() {\n    return (\n      <CacheProvider value={cache}>\n        <div\n          css={css`\n            color: hotpink;\n          `}\n        >\n          {'Hello world!'}\n        </div>\n      </CacheProvider>\n    )\n  }\n\n  render(<App />, {\n    hydrate: true,\n    container: safeQuerySelector('#root')\n  })\n\n  resetAllModules()\n\n  expect(safeQuerySelector('head')).toMatchInlineSnapshot(`\n    <head>\n      <div\n        id=\"style-container\"\n      >\n        <style\n          data-emotion=\"stl 1pdkrhd\"\n          data-s=\"\"\n        >\n          .stl-1pdkrhd-App {color: hotpink;}\n        </style>\n        <style\n          data-emotion=\"stl\"\n          data-s=\"\"\n        >\n          \n          .stl-168r6j{color:hotpink;}\n        </style>\n      </div>\n    </head>\n  `)\n})\n\ntest('initializing another Emotion instance should not move already moved styles elements', () => {\n  safeQuerySelector('head').innerHTML = '<div id=\"style-container\"></div>'\n  safeQuerySelector('body').innerHTML = '<div id=\"root\"></div>'\n\n  resetAllModules()\n\n  const cache = createCache({\n    key: 'stl',\n    container: safeQuerySelector('#style-container')\n  })\n\n  function App() {\n    return (\n      <CacheProvider value={cache}>\n        <div\n          css={css`\n            color: hotpink;\n          `}\n        >\n          {'Hello world!'}\n        </div>\n      </CacheProvider>\n    )\n  }\n\n  render(<App />, {\n    container: safeQuerySelector('#root')\n  })\n\n  resetAllModules()\n\n  expect(safeQuerySelector('head')).toMatchInlineSnapshot(`\n    <head>\n      <div\n        id=\"style-container\"\n      >\n        <style\n          data-emotion=\"stl\"\n          data-s=\"\"\n        >\n          \n          .stl-168r6j{color:hotpink;}\n        </style>\n      </div>\n    </head>\n  `)\n})\n\ntest('global styles can be removed individually after rehydrating HTML SSRed with extractCriticalToChunks', async () => {\n  const { app, styles } = await disableBrowserEnvTemporarily(() => {\n    resetAllModules()\n\n    let cache = createCache({ key: 'mui' })\n    let { extractCriticalToChunks, constructStyleTagsFromChunks } =\n      createEmotionServer(cache)\n\n    const rendered = ReactDOMServer.renderToString(\n      <CacheProvider value={cache}>\n        <Global styles={{ body: { color: 'white' } }} />\n        <Global styles={{ html: { background: 'red' } }} />\n        <main css={{ color: 'green' }}>\n          <div css={{ color: 'hotpink' }} />\n        </main>\n      </CacheProvider>\n    )\n    const extracted = extractCriticalToChunks(rendered)\n    return {\n      app: extracted.html,\n      styles: constructStyleTagsFromChunks(extracted)\n    }\n  })\n\n  safeQuerySelector('head').innerHTML = styles\n  safeQuerySelector('body').innerHTML = `<div id=\"root\">${app}</div>`\n  expect(safeQuerySelector('html')).toMatchInlineSnapshot(`\n    <html>\n      <head>\n        <style\n          data-emotion=\"mui-global l6h\"\n        >\n          body{color:white;}\n        </style>\n        <style\n          data-emotion=\"mui-global 10q49a4\"\n        >\n          html{background:red;}\n        </style>\n        <style\n          data-emotion=\"mui bjcoli 1lrxbo5\"\n        >\n          .mui-bjcoli{color:green;}.mui-1lrxbo5{color:hotpink;}\n        </style>\n      </head>\n      <body>\n        <div\n          id=\"root\"\n        >\n          <main\n            class=\"mui-bjcoli\"\n          >\n            <div\n              class=\"mui-1lrxbo5\"\n            />\n          </main>\n        </div>\n      </body>\n    </html>\n  `)\n\n  resetAllModules()\n  const cache = createCache({ key: 'mui', speedy: true })\n\n  render(\n    <CacheProvider value={cache}>\n      <Global styles={{ body: { color: 'white' } }} />\n      <Global styles={{ html: { background: 'red' } }} />\n      <main css={{ color: 'green' }}>\n        <div css={{ color: 'hotpink' }} />\n      </main>\n    </CacheProvider>,\n    {\n      container: safeQuerySelector('#root')\n    }\n  )\n\n  expect(safeQuerySelector('head')).toMatchInlineSnapshot(`\n    <head>\n      <style\n        data-emotion=\"mui-global\"\n        data-s=\"\"\n      >\n        body{color:white;}\n      </style>\n      <style\n        data-emotion=\"mui-global\"\n        data-s=\"\"\n      >\n        html{background:red;}\n      </style>\n      <style\n        data-emotion=\"mui bjcoli 1lrxbo5\"\n        data-s=\"\"\n      >\n        .mui-bjcoli{color:green;}.mui-1lrxbo5{color:hotpink;}\n      </style>\n    </head>\n  `)\n\n  render(\n    <CacheProvider value={cache}>\n      <Global styles={{ body: { color: 'white' } }} />\n      <main css={{ color: 'green' }}>\n        <div css={{ color: 'hotpink' }} />\n      </main>\n    </CacheProvider>,\n    {\n      container: safeQuerySelector('#root')\n    }\n  )\n\n  expect(safeQuerySelector('head')).toMatchInlineSnapshot(`\n    <head>\n      <style\n        data-emotion=\"mui-global\"\n        data-s=\"\"\n      >\n        body{color:white;}\n      </style>\n      <style\n        data-emotion=\"mui bjcoli 1lrxbo5\"\n        data-s=\"\"\n      >\n        .mui-bjcoli{color:green;}.mui-1lrxbo5{color:hotpink;}\n      </style>\n    </head>\n  `)\n})\n\ntest('duplicated global styles can be removed safely after rehydrating HTML SSRed with extractCriticalToChunks', async () => {\n  const { app, styles } = await disableBrowserEnvTemporarily(() => {\n    resetAllModules()\n\n    let cache = createCache({ key: 'muii' })\n    let { extractCriticalToChunks, constructStyleTagsFromChunks } =\n      createEmotionServer(cache)\n\n    const rendered = ReactDOMServer.renderToString(\n      <CacheProvider value={cache}>\n        <Global styles={{ body: { color: 'white' } }} />\n        <Global styles={{ body: { color: 'white' } }} />\n        <div css={{ color: 'hotpink' }} />\n      </CacheProvider>\n    )\n    const extracted = extractCriticalToChunks(rendered)\n    return {\n      app: extracted.html,\n      styles: constructStyleTagsFromChunks(extracted)\n    }\n  })\n\n  safeQuerySelector('head').innerHTML = styles\n  safeQuerySelector('body').innerHTML = `<div id=\"root\">${app}</div>`\n  expect(safeQuerySelector('html')).toMatchInlineSnapshot(`\n    <html>\n      <head>\n        <style\n          data-emotion=\"muii-global l6h\"\n        >\n          body{color:white;}\n        </style>\n        <style\n          data-emotion=\"muii 1lrxbo5\"\n        >\n          .muii-1lrxbo5{color:hotpink;}\n        </style>\n      </head>\n      <body>\n        <div\n          id=\"root\"\n        >\n          <div\n            class=\"muii-1lrxbo5\"\n          />\n        </div>\n      </body>\n    </html>\n  `)\n\n  resetAllModules()\n  const cache = createCache({ key: 'muii', speedy: true })\n\n  render(\n    <CacheProvider value={cache}>\n      <Global styles={{ body: { color: 'white' } }} />\n      <Global styles={{ body: { color: 'white' } }} />\n      <div css={{ color: 'hotpink' }} />\n    </CacheProvider>,\n    {\n      container: safeQuerySelector('#root')\n    }\n  )\n\n  // it's expected that this contains 2 copies of the same global style\n  // where the second one is added during client hydration\n  // this makes them flushable individually\n  expect(safeQuerySelector('head')).toMatchInlineSnapshot(`\n    <head>\n      <style\n        data-emotion=\"muii-global\"\n        data-s=\"\"\n      >\n        body{color:white;}\n      </style>\n      <style\n        data-emotion=\"muii-global\"\n        data-s=\"\"\n      >\n        \n      </style>\n      <style\n        data-emotion=\"muii 1lrxbo5\"\n        data-s=\"\"\n      >\n        .muii-1lrxbo5{color:hotpink;}\n      </style>\n    </head>\n  `)\n\n  render(\n    <CacheProvider value={cache}>\n      <Global styles={{ body: { color: 'white' } }} />\n      <div css={{ color: 'hotpink' }} />\n    </CacheProvider>,\n    {\n      container: safeQuerySelector('#root')\n    }\n  )\n\n  // this should still have a global style\n  expect(safeQuerySelector('head')).toMatchInlineSnapshot(`\n    <head>\n      <style\n        data-emotion=\"muii-global\"\n        data-s=\"\"\n      >\n        body{color:white;}\n      </style>\n      <style\n        data-emotion=\"muii 1lrxbo5\"\n        data-s=\"\"\n      >\n        .muii-1lrxbo5{color:hotpink;}\n      </style>\n    </head>\n  `)\n\n  render(\n    <CacheProvider value={cache}>\n      <div css={{ color: 'hotpink' }} />\n    </CacheProvider>,\n    {\n      container: safeQuerySelector('#root')\n    }\n  )\n\n  // this should render without a crash\n  expect(safeQuerySelector('head')).toMatchInlineSnapshot(`\n    <head>\n      <style\n        data-emotion=\"muii 1lrxbo5\"\n        data-s=\"\"\n      >\n        .muii-1lrxbo5{color:hotpink;}\n      </style>\n    </head>\n  `)\n})\n\ntest('duplicated global styles can be removed safely after rehydrating HTML SSRed with zero config approach', async () => {\n  const { app } = await disableBrowserEnvTemporarily(() => {\n    resetAllModules()\n\n    let cache = createCache({ key: 'globcop' })\n\n    const rendered = ReactDOMServer.renderToString(\n      <CacheProvider value={cache}>\n        <Global styles={{ body: { color: 'white' } }} />\n        <Global styles={{ body: { color: 'white' } }} />\n        <div css={{ color: 'hotpink' }} />\n      </CacheProvider>\n    )\n    return {\n      app: rendered\n    }\n  })\n\n  safeQuerySelector('body').innerHTML = `<div id=\"root\">${app}</div>`\n\n  expect(safeQuerySelector('html')).toMatchInlineSnapshot(`\n    <html>\n      <head />\n      <body>\n        <div\n          id=\"root\"\n        >\n          <style\n            data-emotion=\"globcop-global l6h\"\n          >\n            body{color:white;}\n          </style>\n          <style\n            data-emotion=\"globcop-global l6h\"\n          >\n            body{color:white;}\n          </style>\n          <style\n            data-emotion=\"globcop 1lrxbo5\"\n          >\n            .globcop-1lrxbo5{color:hotpink;}\n          </style>\n          <div\n            class=\"globcop-1lrxbo5\"\n          />\n        </div>\n      </body>\n    </html>\n  `)\n\n  resetAllModules()\n  const cache = createCache({ key: 'globcop', speedy: true })\n\n  render(\n    <CacheProvider value={cache}>\n      <Global styles={{ body: { color: 'white' } }} />\n      <Global styles={{ body: { color: 'white' } }} />\n      <div css={{ color: 'hotpink' }} />\n    </CacheProvider>,\n    {\n      container: safeQuerySelector('#root')\n    }\n  )\n\n  // it's expected that this contains 2 copies of the same global style\n  // as both were rendered \"inline\" during SSR\n  expect(safeQuerySelector('head')).toMatchInlineSnapshot(`\n    <head>\n      <style\n        data-emotion=\"globcop-global\"\n        data-s=\"\"\n      >\n        body{color:white;}\n      </style>\n      <style\n        data-emotion=\"globcop-global\"\n        data-s=\"\"\n      >\n        body{color:white;}\n      </style>\n      <style\n        data-emotion=\"globcop 1lrxbo5\"\n        data-s=\"\"\n      >\n        .globcop-1lrxbo5{color:hotpink;}\n      </style>\n    </head>\n  `)\n\n  render(\n    <CacheProvider value={cache}>\n      <Global styles={{ body: { color: 'white' } }} />\n      <div css={{ color: 'hotpink' }} />\n    </CacheProvider>,\n    {\n      container: safeQuerySelector('#root')\n    }\n  )\n\n  // this should still have a global style\n  expect(safeQuerySelector('head')).toMatchInlineSnapshot(`\n    <head>\n      <style\n        data-emotion=\"globcop-global\"\n        data-s=\"\"\n      >\n        body{color:white;}\n      </style>\n      <style\n        data-emotion=\"globcop 1lrxbo5\"\n        data-s=\"\"\n      >\n        .globcop-1lrxbo5{color:hotpink;}\n      </style>\n    </head>\n  `)\n\n  render(\n    <CacheProvider value={cache}>\n      <div css={{ color: 'hotpink' }} />\n    </CacheProvider>,\n    {\n      container: safeQuerySelector('#root')\n    }\n  )\n\n  // this should render without a crash\n  expect(safeQuerySelector('head')).toMatchInlineSnapshot(`\n    <head>\n      <style\n        data-emotion=\"globcop 1lrxbo5\"\n        data-s=\"\"\n      >\n        .globcop-1lrxbo5{color:hotpink;}\n      </style>\n    </head>\n  `)\n})\n;(React.useId ? describe : describe.skip)('useId', () => {\n  test('no hydration mismatch for styled when using useId', async () => {\n    const finalHTML = await disableBrowserEnvTemporarily(() => {\n      resetAllModules()\n\n      const StyledDivWithId = styled(function DivWithId({ className }) {\n        const id = React.useId()\n        return <div className={className} id={id} />\n      })({\n        border: '1px solid black'\n      })\n\n      return ReactDOMServer.renderToString(<StyledDivWithId />)\n    })\n\n    safeQuerySelector('body').innerHTML = `<div id=\"root\">${finalHTML}</div>`\n\n    resetAllModules()\n\n    const StyledDivWithId = styled(function DivWithId({ className }) {\n      const id = React.useId()\n      return <div className={className} id={id} />\n    })({\n      border: '1px solid black'\n    })\n\n    render(<StyledDivWithId />, {\n      hydrate: true,\n      container: safeQuerySelector('#root')\n    })\n\n    expect(console.error.mock.calls).toMatchInlineSnapshot(`[]`)\n    expect(console.warn.mock.calls).toMatchInlineSnapshot(`[]`)\n  })\n\n  test('no hydration mismatch for css prop when using useId', async () => {\n    const finalHTML = await disableBrowserEnvTemporarily(() => {\n      resetAllModules()\n\n      function DivWithId({ className } /*: { className?: string }*/) {\n        const id = React.useId()\n        return <div id={id} className={className} />\n      }\n\n      return ReactDOMServer.renderToString(\n        <DivWithId\n          css={{\n            border: '1px solid black'\n          }}\n        />\n      )\n    })\n\n    safeQuerySelector('body').innerHTML = `<div id=\"root\">${finalHTML}</div>`\n\n    resetAllModules()\n\n    function DivWithId({ className } /*: { className?: string }*/) {\n      const id = React.useId()\n      return <div id={id} className={className} />\n    }\n\n    render(\n      <DivWithId\n        css={{\n          border: '1px solid black'\n        }}\n      />,\n      {\n        hydrate: true,\n        container: safeQuerySelector('#root')\n      }\n    )\n\n    expect(console.error.mock.calls).toMatchInlineSnapshot(`[]`)\n    expect(console.warn.mock.calls).toMatchInlineSnapshot(`[]`)\n  })\n\n  test('no hydration mismatch for ClassNames when using useId', async () => {\n    const finalHTML = await disableBrowserEnvTemporarily(() => {\n      resetAllModules()\n\n      const DivWithId = ({ className }) => {\n        const id = React.useId()\n        return <div id={id} className={className} />\n      }\n\n      return ReactDOMServer.renderToString(\n        <ClassNames>\n          {({ css }) => {\n            return (\n              <DivWithId\n                className={css({\n                  border: '1px solid black'\n                })}\n              />\n            )\n          }}\n        </ClassNames>\n      )\n    })\n\n    safeQuerySelector('body').innerHTML = `<div id=\"root\">${finalHTML}</div>`\n\n    resetAllModules()\n\n    const DivWithId = ({ className }) => {\n      const id = React.useId()\n      return <div id={id} className={className} />\n    }\n\n    render(\n      <ClassNames>\n        {({ css }) => {\n          return (\n            <DivWithId\n              className={css({\n                border: '1px solid black'\n              })}\n            />\n          )\n        }}\n      </ClassNames>,\n      {\n        hydrate: true,\n        container: safeQuerySelector('#root')\n      }\n    )\n\n    expect(console.error.mock.calls).toMatchInlineSnapshot(`[]`)\n    expect(console.warn.mock.calls).toMatchInlineSnapshot(`[]`)\n  })\n})\n"
  },
  {
    "path": "packages/react/__tests__/server.js",
    "content": "/** @jsx jsx\n * @jest-environment node\n */\n\nimport * as React from 'react'\nimport testCases from 'jest-in-case'\nimport {\n  jsx,\n  css,\n  Global,\n  keyframes,\n  CacheProvider,\n  ClassNames\n} from '@emotion/react'\nimport styled from '@emotion/styled'\nimport createCache from '@emotion/cache'\nimport { renderToString } from 'react-dom/server'\nimport HTMLSerializer from 'jest-serializer-html'\nimport createEmotionServer from '@emotion/server/create-instance'\n\nexpect.addSnapshotSerializer(HTMLSerializer)\n\nlet cases = {\n  basic: {\n    render: () => <div css={{ color: 'hotpink' }}>some hotpink text</div>\n  },\n  global: {\n    render: () => (\n      <Global\n        styles={{\n          html: {\n            backgroundColor: 'hotpink'\n          }\n        }}\n      />\n    )\n  },\n  keyframes: {\n    render: () => {\n      const animation = keyframes(css`\n        from {\n          color: green;\n        }\n        to {\n          color: blue;\n        }\n      `)\n      return (\n        <React.Fragment>\n          <div css={{ animation: `1s ${animation}` }} />\n        </React.Fragment>\n      )\n    }\n  },\n  'only render a style once with the css prop': {\n    render: () => {\n      return (\n        <div css={{ color: 'green' }}>\n          <div css={{ color: 'hotpink' }} />\n          <div css={{ color: 'hotpink' }} />\n        </div>\n      )\n    }\n  },\n  'only render a style once with styled': {\n    render: () => {\n      const SomeComponent = styled.div`\n        color: hotpink;\n      `\n      return (\n        <div css={{ color: 'green' }}>\n          <SomeComponent />\n          <SomeComponent />\n        </div>\n      )\n    }\n  },\n  'works with nonces': {\n    cache: () => createCache({ key: 'css', nonce: 'some-nonce' }),\n    render: () => {\n      const SomeComponent = styled.div`\n        color: hotpink;\n      `\n      return (\n        <React.Fragment>\n          <SomeComponent />\n          <div css={{ color: 'hotpink' }} />\n          <Global\n            styles={{\n              html: {\n                margin: 0,\n                padding: 0,\n                fontFamily: 'sans-serif'\n              }\n            }}\n          />\n        </React.Fragment>\n      )\n    }\n  },\n\n  'global with keyframes': {\n    render: () => {\n      return (\n        <Global\n          styles={{\n            h1: {\n              animation: `${keyframes({\n                'from,to': {\n                  color: 'green'\n                },\n                '50%': {\n                  color: 'hotpink'\n                }\n              })} 1s`\n            }\n          }}\n        />\n      )\n    }\n  },\n  'styled with keyframes': {\n    render: () => {\n      const SomeComponent = styled.div({\n        animation: `${keyframes({\n          'from,to': {\n            color: 'green'\n          },\n          '50%': {\n            color: 'hotpink'\n          }\n        })} 1s`\n      })\n      return <SomeComponent />\n    }\n  },\n  ClassNames: {\n    render: () => {\n      return (\n        <ClassNames>\n          {({ css, cx }) => {\n            return (\n              <div\n                className={css`\n                  color: hotpink;\n                `}\n              >\n                <span\n                  className={cx(\n                    {\n                      [css`\n                        color: green;\n                      `]: true,\n                      something: false,\n                      'other-class': true\n                    },\n                    [\n                      css`\n                        color: yellowgreen;\n                      `\n                    ],\n                    false && 'some-class',\n                    undefined,\n                    null\n                  )}\n                />\n                <span\n                  className={cx(css({ color: 'darkgreen' }), 'other-class')}\n                />\n              </div>\n            )\n          }}\n        </ClassNames>\n      )\n    }\n  }\n}\n\ntestCases(\n  'ssr',\n  opts => {\n    if (opts.cache) {\n      expect(\n        renderToString(\n          <CacheProvider value={opts.cache()}>{opts.render()}</CacheProvider>\n        )\n      ).toMatchSnapshot()\n    } else {\n      expect(renderToString(opts.render())).toMatchSnapshot()\n    }\n  },\n  cases\n)\n\ntestCases(\n  'ssr with old api',\n  opts => {\n    let cache = opts.cache ? opts.cache() : createCache({ key: 'css' })\n    let { renderStylesToString } = createEmotionServer(cache)\n    expect(\n      renderStylesToString(\n        renderToString(\n          <CacheProvider value={cache}>{opts.render()}</CacheProvider>\n        )\n      )\n    ).toMatchSnapshot()\n  },\n  cases\n)\n"
  },
  {
    "path": "packages/react/__tests__/theme-provider.dom.js",
    "content": "/** @jsx jsx */\nimport 'test-utils/next-env'\nimport { render, fireEvent } from '@testing-library/react'\nimport { safeQuerySelector } from 'test-utils'\nimport * as React from 'react'\nimport { jsx, ThemeProvider } from '@emotion/react'\n\nbeforeEach(() => {\n  document.head.innerHTML = ''\n})\n\ntest('provider with theme value that changes', () => {\n  class ThemeTest extends React.Component {\n    state = { theme: { color: 'hotpink', padding: 4 } }\n    render() {\n      return (\n        <ThemeProvider theme={this.state.theme}>\n          <div\n            id=\"the-thing\"\n            onClick={() => {\n              this.setState({ theme: { color: 'hotpink', padding: 8 } })\n            }}\n            css={({ color, padding }) => ({\n              color,\n              padding\n            })}\n          />\n        </ThemeProvider>\n      )\n    }\n  }\n\n  const { container } = render(<ThemeTest />)\n  expect(container).toMatchSnapshot()\n  fireEvent.click(safeQuerySelector('#the-thing'))\n  expect(container).toMatchSnapshot()\n})\n"
  },
  {
    "path": "packages/react/__tests__/theme-provider.js",
    "content": "/** @jsx jsx */\nimport 'test-utils/next-env'\nimport { ignoreConsoleErrors } from 'test-utils'\nimport { jsx, ThemeProvider } from '@emotion/react'\nimport renderer from 'react-test-renderer'\nimport cases from 'jest-in-case'\n\ntest('nested provider', () => {\n  const tree = renderer\n    .create(\n      <ThemeProvider theme={{ color: 'hotpink', padding: 4 }}>\n        <ThemeProvider theme={{ backgroundColor: 'darkgreen', color: 'white' }}>\n          <div\n            css={({ color, padding, backgroundColor }) => ({\n              color,\n              padding,\n              backgroundColor\n            })}\n          />\n        </ThemeProvider>\n      </ThemeProvider>\n    )\n    .toJSON()\n  expect(tree).toMatchSnapshot()\n})\n\ntest('nested provider with function', () => {\n  const tree = renderer\n    .create(\n      <ThemeProvider theme={{ color: 'hotpink', padding: 4 }}>\n        <ThemeProvider\n          theme={theme => ({\n            backgroundColor: 'darkgreen',\n            ...theme,\n            padding: 8\n          })}\n        >\n          <div\n            css={({ color, padding, backgroundColor }) => ({\n              color,\n              padding,\n              backgroundColor\n            })}\n          />\n        </ThemeProvider>\n      </ThemeProvider>\n    )\n    .toJSON()\n  expect(tree).toMatchSnapshot()\n})\n\ncases(\n  'ThemeProvider throws the correct errors',\n  ({ value }) => {\n    ignoreConsoleErrors(() => {\n      expect(() => {\n        renderer.create(\n          <ThemeProvider theme={{ color: 'hotpink', padding: 4 }}>\n            <ThemeProvider theme={value}>\n              <div\n                css={({ color, padding, backgroundColor }) => ({\n                  color,\n                  padding,\n                  backgroundColor\n                })}\n              />\n            </ThemeProvider>\n          </ThemeProvider>\n        )\n      }).toThrowErrorMatchingSnapshot()\n    })\n  },\n  {\n    boolean: {\n      value: true\n    },\n    array: {\n      value: ['something']\n    },\n    'func to undefined': {\n      value: () => undefined\n    },\n    undefined: {\n      value: undefined\n    },\n    null: {\n      value: null\n    }\n  }\n)\n"
  },
  {
    "path": "packages/react/__tests__/use-theme.js",
    "content": "/** @jsx jsx */\nimport 'test-utils/next-env'\nimport * as renderer from 'react-test-renderer'\nimport { jsx, useTheme, ThemeProvider } from '@emotion/react'\n\ntest('useTheme works', () => {\n  function TestComponent(props) {\n    const theme = useTheme()\n    return (\n      <div\n        css={{ color: theme.lightGreen, '&:hover': { color: theme.darkGreen } }}\n      >\n        Should be green\n      </div>\n    )\n  }\n\n  expect(\n    renderer\n      .create(\n        <ThemeProvider theme={{ lightGreen: 'green', darkGreen: 'darkgreen' }}>\n          <TestComponent />\n        </ThemeProvider>\n      )\n      .toJSON()\n  ).toMatchSnapshot()\n})\n\ntest('Nested useTheme works', () => {\n  function TestComponent1(props) {\n    const theme = useTheme()\n    return (\n      <div\n        css={{ color: theme.lightGreen, '&:hover': { color: theme.darkGreen } }}\n        {...props}\n      />\n    )\n  }\n\n  function NestedComponent(props) {\n    const theme = useTheme()\n    return (\n      <div\n        css={{\n          color: theme.lightGreen,\n          '&:hover': { color: theme.darkGreen }\n        }}\n        {...props}\n      />\n    )\n  }\n\n  function TestComponent2(props) {\n    return (\n      <TestComponent1>\n        Should be green\n        <ThemeProvider\n          theme={{ lightGreen: 'lawngreen', darkGreen: 'seagreen' }}\n        >\n          <NestedComponent>Should be lawngreen</NestedComponent>\n        </ThemeProvider>\n      </TestComponent1>\n    )\n  }\n\n  expect(\n    renderer\n      .create(\n        <ThemeProvider theme={{ lightGreen: 'green', darkGreen: 'darkgreen' }}>\n          <TestComponent2 />\n        </ThemeProvider>\n      )\n      .toJSON()\n  ).toMatchSnapshot()\n})\n"
  },
  {
    "path": "packages/react/__tests__/warnings.js",
    "content": "/** @jsx jsx */\nimport 'test-utils/next-env'\nimport { jsx, css, Global, keyframes, ClassNames } from '@emotion/react'\nimport styled from '@emotion/styled'\nimport renderer from 'react-test-renderer'\nimport { render } from '@testing-library/react'\n\nconsole.error = jest.fn()\n\nconst validValues = [\n  'normal',\n  'none',\n  'open-quote',\n  'close-quote',\n  'no-open-quote',\n  'no-close-quote',\n  'initial',\n  'inherit',\n  '\"some thing\"',\n  \"'another thing'\",\n  'var(--variable-name)',\n  'url(\"http://www.example.com/test.png\")',\n  'linear-gradient(hotpink, #8be9fd)',\n  'radial-gradient(hotpink, #8be9fd)',\n  'repeating-linear-gradient(hotpink, #8be9fd)',\n  'repeating-radial-gradient(hotpink, #8be9fd)',\n  'conic-gradient(hotpink, #8be9fd)',\n  'counter(chapter_counter)',\n  'counters(section_counter, \".\")',\n  'attr(value string)',\n  'open-quote counter(chapter_counter)',\n  // https://github.com/emotion-js/emotion/issues/2895\n  'element(name)'\n]\n\nbeforeEach(() => {\n  jest.resetAllMocks()\n})\n\ntest('does not warn when valid values are passed for the content property', () => {\n  const style = css(validValues.map(value => ({ content: value })))\n  expect(console.error).not.toBeCalled()\n  expect(renderer.create(<div css={style} />).toJSON()).toMatchSnapshot()\n})\n\nconst invalidValues = ['this is not valid', '', 'element']\n\ntest('does warn when invalid values are passed for the content property', () => {\n  invalidValues.forEach(value => {\n    expect(() =>\n      renderer.create(<div css={{ content: value }} />)\n    ).toThrowError(\n      `You seem to be using a value for 'content' without quotes, try replacing it with \\`content: '\"${value}\"'\\``\n    )\n  })\n})\n\ndescribe('unsafe pseudo classes', () => {\n  const ignoreSsrFlag =\n    '/* emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason */'\n\n  describe(`warns when using without flag: ${ignoreSsrFlag}`, () => {\n    const unsafePseudoClasses = [\n      ':first-child',\n      ':not(:first-child)',\n      ':nth-child(3)',\n      ':not(:nth-child(3))',\n      ':nth-last-child(7)'\n    ]\n\n    unsafePseudoClasses.forEach(pseudoClass => {\n      it(`\"${pseudoClass}\"`, () => {\n        const style = css`\n          ${pseudoClass} {\n            color: hotpink;\n          }\n        `\n        const match = pseudoClass.match(/(:first|:nth|:nth-last)-child/)\n        expect(match).not.toBeNull()\n        expect(renderer.create(<div css={style} />).toJSON()).toMatchSnapshot()\n        expect(console.error).toBeCalledWith(\n          `The pseudo class \"${match[0]}\" is potentially unsafe when doing server-side rendering. Try changing it to \"${match[1]}-of-type\".`\n        )\n      })\n    })\n  })\n\n  describe(`does not warn when using with flag: ${ignoreSsrFlag}`, () => {\n    describe.each([\n      {\n        type: 'string',\n        getStyle: pseudoClass => css`\n          ${pseudoClass} ${ignoreSsrFlag} {\n            color: rebeccapurple;\n          }\n        `\n      },\n      {\n        type: 'object',\n        getStyle: pseudoClass => ({\n          [`${pseudoClass} ${ignoreSsrFlag}`]: {\n            color: 'rebeccapurple'\n          }\n        })\n      }\n    ])(`with $type styles`, ({ getStyle }) => {\n      test.each([\n        { pseudoClass: `:first-child` },\n        { pseudoClass: `:not(:first-child)` },\n        { pseudoClass: `:nth-child(3)` },\n        { pseudoClass: `:not(:nth-child(3))` },\n        { pseudoClass: `:nth-last-child(7)` },\n        { pseudoClass: `:first-child span` },\n        { pseudoClass: `:first-child, span` },\n        { pseudoClass: `:first-child :nth-child(3)` },\n        { pseudoClass: `:first-child, :nth-child(3)` },\n        { pseudoClass: `:first-child:nth-child(3)` }\n      ])('$pseudoClass', ({ pseudoClass }) => {\n        const match = pseudoClass.match(/(:first|:nth|:nth-last)-child/)\n        expect(match).not.toBeNull()\n        expect(\n          renderer.create(<div css={getStyle(pseudoClass)} />).toJSON()\n        ).toMatchSnapshot()\n        expect(console.error).not.toBeCalled()\n      })\n    })\n\n    test('does warn when not using the flag on the rule that follows another rule', () => {\n      expect(\n        renderer\n          .create(\n            <div\n              css={{\n                '& > *': {\n                  marginLeft: 10\n                },\n                [`& > *:first-child$`]: {\n                  marginLeft: 0\n                }\n              }}\n            />\n          )\n          .toJSON()\n      ).toMatchSnapshot()\n      expect(console.error.mock.calls).toMatchInlineSnapshot(`\n        [\n          [\n            \"The pseudo class \":first-child\" is potentially unsafe when doing server-side rendering. Try changing it to \":first-of-type\".\",\n          ],\n        ]\n      `)\n    })\n\n    test('does warn when not using the flag on the rule that preceeds another rule', () => {\n      expect(\n        renderer\n          .create(\n            <div\n              css={{\n                [`& > *:first-child`]: {\n                  marginLeft: 0\n                },\n                '& > *': {\n                  marginLeft: 10\n                }\n              }}\n            />\n          )\n          .toJSON()\n      ).toMatchSnapshot()\n      expect(console.error.mock.calls).toMatchInlineSnapshot(`\n        [\n          [\n            \"The pseudo class \":first-child\" is potentially unsafe when doing server-side rendering. Try changing it to \":first-of-type\".\",\n          ],\n        ]\n      `)\n    })\n\n    test('does warn when not using the flag on the rule that follows a declaration', () => {\n      expect(\n        renderer\n          .create(\n            <div\n              css={{\n                color: 'hotpink',\n                [`& > *:first-child`]: {\n                  marginLeft: 0\n                }\n              }}\n            />\n          )\n          .toJSON()\n      ).toMatchSnapshot()\n      expect(console.error.mock.calls).toMatchInlineSnapshot(`\n        [\n          [\n            \"The pseudo class \":first-child\" is potentially unsafe when doing server-side rendering. Try changing it to \":first-of-type\".\",\n          ],\n        ]\n      `)\n    })\n\n    test('does warn when not using the flag on the rule that preceeds a declaration', () => {\n      expect(\n        renderer\n          .create(\n            <div\n              css={{\n                [`& > *:first-child`]: {\n                  marginLeft: 0\n                },\n                color: 'hotpink'\n              }}\n            />\n          )\n          .toJSON()\n      ).toMatchSnapshot()\n      expect(console.error.mock.calls).toMatchInlineSnapshot(`\n        [\n          [\n            \"The pseudo class \":first-child\" is potentially unsafe when doing server-side rendering. Try changing it to \":first-of-type\".\",\n          ],\n        ]\n      `)\n    })\n\n    test('does warn when not using the flag on a global rule', () => {\n      expect(\n        renderer\n          .create(\n            <Global\n              styles={{\n                [`body > *:first-child`]: {\n                  marginLeft: 0\n                }\n              }}\n            />\n          )\n          .toJSON()\n      ).toMatchSnapshot()\n      expect(console.error.mock.calls).toMatchInlineSnapshot(`\n        [\n          [\n            \"The pseudo class \":first-child\" is potentially unsafe when doing server-side rendering. Try changing it to \":first-of-type\".\",\n          ],\n        ]\n      `)\n    })\n\n    test('does not warn when using the flag on the rule that follows another rule', () => {\n      expect(\n        renderer\n          .create(\n            <div\n              css={{\n                '& > *': {\n                  marginLeft: 10\n                },\n                [`& > *:first-child${ignoreSsrFlag}`]: {\n                  marginLeft: 0\n                }\n              }}\n            />\n          )\n          .toJSON()\n      ).toMatchSnapshot()\n      expect(console.error).not.toBeCalled()\n    })\n\n    test('does not warn when using the flag on the rule that preceeds another rule', () => {\n      expect(\n        renderer\n          .create(\n            <div\n              css={{\n                [`& > *:first-child${ignoreSsrFlag}`]: {\n                  marginLeft: 0\n                },\n                '& > *': {\n                  marginLeft: 10\n                }\n              }}\n            />\n          )\n          .toJSON()\n      ).toMatchSnapshot()\n      expect(console.error).not.toBeCalled()\n    })\n\n    test('does not warn when using the flag on the rule that follows a declaration', () => {\n      expect(\n        renderer\n          .create(\n            <div\n              css={{\n                color: 'hotpink',\n                [`& > *:first-child${ignoreSsrFlag}`]: {\n                  marginLeft: 0\n                }\n              }}\n            />\n          )\n          .toJSON()\n      ).toMatchSnapshot()\n      expect(console.error).not.toBeCalled()\n    })\n\n    test('does not warn when using the flag on the rule that preceeds a declaration', () => {\n      expect(\n        renderer\n          .create(\n            <div\n              css={{\n                [`& > *:first-child${ignoreSsrFlag}`]: {\n                  marginLeft: 0\n                },\n                color: 'hotpink'\n              }}\n            />\n          )\n          .toJSON()\n      ).toMatchSnapshot()\n      expect(console.error).not.toBeCalled()\n    })\n\n    test('does not warn when using the flag on a global rule', () => {\n      expect(\n        renderer\n          .create(\n            <Global\n              styles={{\n                [`body > *:first-child${ignoreSsrFlag}`]: {\n                  marginLeft: 0\n                }\n              }}\n            />\n          )\n          .toJSON()\n      ).toMatchSnapshot()\n      expect(console.error).not.toBeCalled()\n    })\n\n    test('does warn when not using the flag on a rule that is defined in another one', () => {\n      expect(\n        renderer\n          .create(\n            <div\n              css={css`\n                div {\n                  span:first-child {\n                    border-bottom-left-radius: 0;\n                  }\n                }\n              `}\n            />\n          )\n          .toJSON()\n      ).toMatchSnapshot()\n      expect(console.error.mock.calls).toMatchInlineSnapshot(`\n        [\n          [\n            \"The pseudo class \":first-child\" is potentially unsafe when doing server-side rendering. Try changing it to \":first-of-type\".\",\n          ],\n        ]\n      `)\n    })\n\n    test('does not warn when using the flag on a rule that is defined in another one', () => {\n      expect(\n        renderer\n          .create(\n            <div\n              css={css`\n                div {\n                  span:first-child${ignoreSsrFlag} {\n                    border-bottom-left-radius: 0;\n                  }\n                }\n              `}\n            />\n          )\n          .toJSON()\n      ).toMatchSnapshot()\n      expect(console.error).not.toBeCalled()\n    })\n  })\n})\n\ntest('global with css prop', () => {\n  let tree = renderer\n    .create(\n      <Global\n        css={{\n          html: {\n            backgroundColor: 'hotpink'\n          },\n          '@font-face': {\n            fontFamily: 'some-name'\n          }\n        }}\n      />\n    )\n    .toJSON()\n  expect(tree).toMatchSnapshot()\n\n  expect(console.error).toBeCalledWith(\n    \"It looks like you're using the css prop on Global, did you mean to use the styles prop instead?\"\n  )\n})\n\ntest('kebab-case', () => {\n  css({ 'background-color': 'green' })\n  css({ 'background-color': 'hotpink' })\n  css({ '-ms-filter': 'inherit' })\n  css({ '@media (min-width 800px)': undefined })\n  css({ '--primary-color': 'hotpink' })\n  css({ ':last-of-type': null })\n  expect(console.error.mock.calls).toMatchInlineSnapshot(`\n                    [\n                      [\n                        \"Using kebab-case for css properties in objects is not supported. Did you mean backgroundColor?\",\n                      ],\n                      [\n                        \"Using kebab-case for css properties in objects is not supported. Did you mean msFilter?\",\n                      ],\n                    ]\n          `)\n})\n\ntest('keyframes interpolated into plain string', () => {\n  const animateColor = keyframes({\n    'from,to': { color: 'green' },\n    '50%': { color: 'hotpink' }\n  })\n  const rotate360 = keyframes({\n    from: {\n      transform: 'rotate(0deg)'\n    },\n    to: {\n      transform: 'rotate(360deg)'\n    }\n  })\n\n  renderer.create(\n    <div css={[`animation: ${animateColor} 10s ${rotate360} 5s;`]} />\n  )\n  expect(console.error.mock.calls).toMatchInlineSnapshot(`\n            [\n              [\n                \"\\`keyframes\\` output got interpolated into plain string, please wrap it with \\`css\\`.\n\n            Instead of doing this:\n\n            const animation0 = keyframes\\`{from,to{color:green;}50%{color:hotpink;}}\\`\n            const animation1 = keyframes\\`{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}\\`\n            \\`animation: \\${animation0} 10s \\${animation1} 5s;\\`\n\n            You should wrap it with \\`css\\` like this:\n\n            css\\`animation: \\${animation0} 10s \\${animation1} 5s;\\`\",\n              ],\n            ]\n      `)\n})\n\ntest('`css` opaque object passed in as `className` prop', () => {\n  const { container } = render(\n    <div\n      className={css`\n        color: hotpink;\n      `}\n    />\n  )\n\n  expect(container).toMatchInlineSnapshot(`\n    <div>\n      <div\n        class=\"You have tried to stringify object returned from \\`css\\` function. It isn't supposed to be used directly (e.g. as value of the \\`className\\` prop), but rather handed to emotion so it can handle it (e.g. as value of \\`css\\` prop).\"\n      />\n    </div>\n  `)\n})\n\ntest('`css` opaque object passed to `cx` from <ClassNames/>', () => {\n  render(\n    <ClassNames>\n      {({ cx }) => (\n        <div\n          className={cx(\n            css`\n              color: hotpink;\n            `,\n            'other-cls'\n          )}\n        />\n      )}\n    </ClassNames>\n  )\n\n  expect(console.error.mock.calls).toMatchInlineSnapshot(`\n    [\n      [\n        \"You have passed styles created with \\`css\\` from \\`@emotion/react\\` package to the \\`cx\\`.\n    \\`cx\\` is meant to compose class names (strings) so you should convert those styles to a class name by passing them to the \\`css\\` received from <ClassNames/> component.\",\n      ],\n    ]\n  `)\n})\n\ntest('@import nested in scoped `css`', () => {\n  renderer.create(\n    <div\n      css={css`\n        @import url('https://some-url');\n\n        h1 {\n          color: hotpink;\n        }\n      `}\n    />\n  )\n\n  expect(console.error.mock.calls).toMatchInlineSnapshot(`\n    [\n      [\n        \"\\`@import\\` rules can't be nested inside other rules. Please move it to the top level and put it before regular rules. Keep in mind that they can only be used within global styles.\",\n      ],\n    ]\n  `)\n})\n\ntest('@import prepended with other rules', () => {\n  renderer.create(\n    <Global\n      styles={css`\n        h1 {\n          color: hotpink;\n        }\n\n        @import url('https://some-url');\n      `}\n    />\n  )\n\n  expect(console.error.mock.calls).toMatchInlineSnapshot(`\n    [\n      [\n        \"\\`@import\\` rules can't be after other rules. Please put your \\`@import\\` rules before your other rules.\",\n      ],\n    ]\n  `)\n})\n\ntest('@import prepended by other @import', () => {\n  renderer.create(\n    <Global\n      styles={css`\n        @import url('https://some-url');\n        @import url('https://some-url2');\n      `}\n    />\n  )\n\n  expect(console.error.mock.calls).toMatchInlineSnapshot(`[]`)\n})\n\ntest('when using `jsx` multiple static children should not result in a key-related warning', () => {\n  renderer.create(\n    <div css={{ color: 'hotpink' }}>\n      <div />\n      <div />\n    </div>\n  )\n  expect(console.error.mock.calls).toMatchInlineSnapshot(`[]`)\n})\n"
  },
  {
    "path": "packages/react/__tests__/with-theme.js",
    "content": "import * as React from 'react'\nimport * as renderer from 'react-test-renderer'\nimport { withTheme, ThemeProvider } from '@emotion/react'\n\ntest('withTheme works', () => {\n  class SomeComponent extends React.Component /* <{ theme: Object }> */ {\n    render() {\n      return this.props.theme.color\n    }\n  }\n  let SomeComponentWithTheme = withTheme(SomeComponent)\n  expect(\n    renderer\n      .create(\n        <ThemeProvider theme={{ color: 'green' }}>\n          <SomeComponentWithTheme />\n        </ThemeProvider>\n      )\n      .toJSON()\n  ).toMatchSnapshot()\n})\n\ntest(`withTheme(Comp) hoists non-react static class properties`, () => {\n  class ExampleComponent extends React.Component {\n    static displayName = 'foo'\n    static someSpecialStatic = 'bar'\n  }\n\n  const ComponentWithTheme = withTheme(ExampleComponent)\n\n  expect(ComponentWithTheme.displayName).toBe('WithTheme(foo)')\n  expect(ComponentWithTheme.someSpecialStatic).toBe(\n    ExampleComponent.someSpecialStatic\n  )\n})\n\ntest('should forward the ref', () => {\n  class SomeComponent extends React.Component {\n    render() {\n      return this.props.theme.color\n    }\n  }\n\n  const ComponentWithTheme = withTheme(SomeComponent)\n  let ref = React.createRef()\n  renderer.create(\n    <ThemeProvider theme={{ color: 'green' }}>\n      <ComponentWithTheme ref={ref} />\n    </ThemeProvider>\n  )\n  expect(ref.current).toBeInstanceOf(SomeComponent)\n})\n"
  },
  {
    "path": "packages/react/_isolated-hnrs/package.json",
    "content": "{\n  \"main\": \"dist/emotion-react-_isolated-hnrs.cjs.js\",\n  \"module\": \"dist/emotion-react-_isolated-hnrs.esm.js\",\n  \"umd:main\": \"dist/emotion-react-_isolated-hnrs.umd.min.js\",\n  \"types\": \"dist/emotion-react-_isolated-hnrs.cjs.d.ts\",\n  \"sideEffects\": false,\n  \"preconstruct\": {\n    \"umdName\": \"emotionHoistNonReactStatics\"\n  }\n}\n"
  },
  {
    "path": "packages/react/jsx-dev-runtime/package.json",
    "content": "{\n  \"main\": \"dist/emotion-react-jsx-dev-runtime.cjs.js\",\n  \"module\": \"dist/emotion-react-jsx-dev-runtime.esm.js\",\n  \"umd:main\": \"dist/emotion-react-jsx-dev-runtime.umd.min.js\",\n  \"types\": \"dist/emotion-react-jsx-dev-runtime.cjs.d.ts\",\n  \"sideEffects\": false,\n  \"preconstruct\": {\n    \"umdName\": \"emotionReactJSXDevRuntime\"\n  }\n}\n"
  },
  {
    "path": "packages/react/jsx-runtime/package.json",
    "content": "{\n  \"main\": \"dist/emotion-react-jsx-runtime.cjs.js\",\n  \"module\": \"dist/emotion-react-jsx-runtime.esm.js\",\n  \"umd:main\": \"dist/emotion-react-jsx-runtime.umd.min.js\",\n  \"types\": \"dist/emotion-react-jsx-runtime.cjs.d.ts\",\n  \"sideEffects\": false,\n  \"preconstruct\": {\n    \"umdName\": \"emotionReactJSXRuntime\"\n  }\n}\n"
  },
  {
    "path": "packages/react/macro.d.mts",
    "content": "export * from './macro.js'\n"
  },
  {
    "path": "packages/react/macro.d.ts",
    "content": "export * from '@emotion/react'\n"
  },
  {
    "path": "packages/react/macro.js",
    "content": "module.exports = require('@emotion/babel-plugin').macros.core\n"
  },
  {
    "path": "packages/react/package.json",
    "content": "{\n  \"name\": \"@emotion/react\",\n  \"version\": \"11.14.0\",\n  \"main\": \"dist/emotion-react.cjs.js\",\n  \"module\": \"dist/emotion-react.esm.js\",\n  \"types\": \"dist/emotion-react.cjs.d.ts\",\n  \"exports\": {\n    \".\": {\n      \"types\": {\n        \"import\": \"./dist/emotion-react.cjs.mjs\",\n        \"default\": \"./dist/emotion-react.cjs.js\"\n      },\n      \"development\": {\n        \"edge-light\": {\n          \"module\": \"./dist/emotion-react.development.edge-light.esm.js\",\n          \"import\": \"./dist/emotion-react.development.edge-light.cjs.mjs\",\n          \"default\": \"./dist/emotion-react.development.edge-light.cjs.js\"\n        },\n        \"worker\": {\n          \"module\": \"./dist/emotion-react.development.edge-light.esm.js\",\n          \"import\": \"./dist/emotion-react.development.edge-light.cjs.mjs\",\n          \"default\": \"./dist/emotion-react.development.edge-light.cjs.js\"\n        },\n        \"workerd\": {\n          \"module\": \"./dist/emotion-react.development.edge-light.esm.js\",\n          \"import\": \"./dist/emotion-react.development.edge-light.cjs.mjs\",\n          \"default\": \"./dist/emotion-react.development.edge-light.cjs.js\"\n        },\n        \"browser\": {\n          \"module\": \"./dist/emotion-react.browser.development.esm.js\",\n          \"import\": \"./dist/emotion-react.browser.development.cjs.mjs\",\n          \"default\": \"./dist/emotion-react.browser.development.cjs.js\"\n        },\n        \"module\": \"./dist/emotion-react.development.esm.js\",\n        \"import\": \"./dist/emotion-react.development.cjs.mjs\",\n        \"default\": \"./dist/emotion-react.development.cjs.js\"\n      },\n      \"edge-light\": {\n        \"module\": \"./dist/emotion-react.edge-light.esm.js\",\n        \"import\": \"./dist/emotion-react.edge-light.cjs.mjs\",\n        \"default\": \"./dist/emotion-react.edge-light.cjs.js\"\n      },\n      \"worker\": {\n        \"module\": \"./dist/emotion-react.edge-light.esm.js\",\n        \"import\": \"./dist/emotion-react.edge-light.cjs.mjs\",\n        \"default\": \"./dist/emotion-react.edge-light.cjs.js\"\n      },\n      \"workerd\": {\n        \"module\": \"./dist/emotion-react.edge-light.esm.js\",\n        \"import\": \"./dist/emotion-react.edge-light.cjs.mjs\",\n        \"default\": \"./dist/emotion-react.edge-light.cjs.js\"\n      },\n      \"browser\": {\n        \"module\": \"./dist/emotion-react.browser.esm.js\",\n        \"import\": \"./dist/emotion-react.browser.cjs.mjs\",\n        \"default\": \"./dist/emotion-react.browser.cjs.js\"\n      },\n      \"module\": \"./dist/emotion-react.esm.js\",\n      \"import\": \"./dist/emotion-react.cjs.mjs\",\n      \"default\": \"./dist/emotion-react.cjs.js\"\n    },\n    \"./jsx-runtime\": {\n      \"types\": {\n        \"import\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.mjs\",\n        \"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.js\"\n      },\n      \"development\": {\n        \"edge-light\": {\n          \"module\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.development.edge-light.esm.js\",\n          \"import\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.development.edge-light.cjs.mjs\",\n          \"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.development.edge-light.cjs.js\"\n        },\n        \"worker\": {\n          \"module\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.development.edge-light.esm.js\",\n          \"import\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.development.edge-light.cjs.mjs\",\n          \"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.development.edge-light.cjs.js\"\n        },\n        \"workerd\": {\n          \"module\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.development.edge-light.esm.js\",\n          \"import\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.development.edge-light.cjs.mjs\",\n          \"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.development.edge-light.cjs.js\"\n        },\n        \"browser\": {\n          \"module\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.browser.development.esm.js\",\n          \"import\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.browser.development.cjs.mjs\",\n          \"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.browser.development.cjs.js\"\n        },\n        \"module\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.development.esm.js\",\n        \"import\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.development.cjs.mjs\",\n        \"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.development.cjs.js\"\n      },\n      \"edge-light\": {\n        \"module\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.edge-light.esm.js\",\n        \"import\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.edge-light.cjs.mjs\",\n        \"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.edge-light.cjs.js\"\n      },\n      \"worker\": {\n        \"module\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.edge-light.esm.js\",\n        \"import\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.edge-light.cjs.mjs\",\n        \"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.edge-light.cjs.js\"\n      },\n      \"workerd\": {\n        \"module\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.edge-light.esm.js\",\n        \"import\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.edge-light.cjs.mjs\",\n        \"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.edge-light.cjs.js\"\n      },\n      \"browser\": {\n        \"module\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js\",\n        \"import\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.browser.cjs.mjs\",\n        \"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.browser.cjs.js\"\n      },\n      \"module\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.esm.js\",\n      \"import\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.mjs\",\n      \"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.js\"\n    },\n    \"./_isolated-hnrs\": {\n      \"types\": {\n        \"import\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.mjs\",\n        \"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.js\"\n      },\n      \"development\": {\n        \"edge-light\": {\n          \"module\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.development.edge-light.esm.js\",\n          \"import\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.development.edge-light.cjs.mjs\",\n          \"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.development.edge-light.cjs.js\"\n        },\n        \"worker\": {\n          \"module\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.development.edge-light.esm.js\",\n          \"import\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.development.edge-light.cjs.mjs\",\n          \"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.development.edge-light.cjs.js\"\n        },\n        \"workerd\": {\n          \"module\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.development.edge-light.esm.js\",\n          \"import\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.development.edge-light.cjs.mjs\",\n          \"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.development.edge-light.cjs.js\"\n        },\n        \"browser\": {\n          \"module\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.development.esm.js\",\n          \"import\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.development.cjs.mjs\",\n          \"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.development.cjs.js\"\n        },\n        \"module\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.development.esm.js\",\n        \"import\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.development.cjs.mjs\",\n        \"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.development.cjs.js\"\n      },\n      \"edge-light\": {\n        \"module\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.edge-light.esm.js\",\n        \"import\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.edge-light.cjs.mjs\",\n        \"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.edge-light.cjs.js\"\n      },\n      \"worker\": {\n        \"module\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.edge-light.esm.js\",\n        \"import\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.edge-light.cjs.mjs\",\n        \"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.edge-light.cjs.js\"\n      },\n      \"workerd\": {\n        \"module\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.edge-light.esm.js\",\n        \"import\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.edge-light.cjs.mjs\",\n        \"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.edge-light.cjs.js\"\n      },\n      \"browser\": {\n        \"module\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js\",\n        \"import\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.cjs.mjs\",\n        \"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.cjs.js\"\n      },\n      \"module\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.esm.js\",\n      \"import\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.mjs\",\n      \"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.js\"\n    },\n    \"./jsx-dev-runtime\": {\n      \"types\": {\n        \"import\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.mjs\",\n        \"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.js\"\n      },\n      \"development\": {\n        \"edge-light\": {\n          \"module\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.development.edge-light.esm.js\",\n          \"import\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.development.edge-light.cjs.mjs\",\n          \"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.development.edge-light.cjs.js\"\n        },\n        \"worker\": {\n          \"module\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.development.edge-light.esm.js\",\n          \"import\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.development.edge-light.cjs.mjs\",\n          \"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.development.edge-light.cjs.js\"\n        },\n        \"workerd\": {\n          \"module\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.development.edge-light.esm.js\",\n          \"import\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.development.edge-light.cjs.mjs\",\n          \"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.development.edge-light.cjs.js\"\n        },\n        \"browser\": {\n          \"module\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.development.esm.js\",\n          \"import\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.development.cjs.mjs\",\n          \"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.development.cjs.js\"\n        },\n        \"module\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.development.esm.js\",\n        \"import\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.development.cjs.mjs\",\n        \"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.development.cjs.js\"\n      },\n      \"edge-light\": {\n        \"module\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.edge-light.esm.js\",\n        \"import\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.edge-light.cjs.mjs\",\n        \"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.edge-light.cjs.js\"\n      },\n      \"worker\": {\n        \"module\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.edge-light.esm.js\",\n        \"import\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.edge-light.cjs.mjs\",\n        \"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.edge-light.cjs.js\"\n      },\n      \"workerd\": {\n        \"module\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.edge-light.esm.js\",\n        \"import\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.edge-light.cjs.mjs\",\n        \"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.edge-light.cjs.js\"\n      },\n      \"browser\": {\n        \"module\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.esm.js\",\n        \"import\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.cjs.mjs\",\n        \"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.cjs.js\"\n      },\n      \"module\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.esm.js\",\n      \"import\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.mjs\",\n      \"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.js\"\n    },\n    \"./package.json\": \"./package.json\",\n    \"./types/css-prop\": \"./types/css-prop.d.ts\",\n    \"./macro\": {\n      \"types\": {\n        \"import\": \"./macro.d.mts\",\n        \"default\": \"./macro.d.ts\"\n      },\n      \"default\": \"./macro.js\"\n    }\n  },\n  \"imports\": {\n    \"#is-development\": {\n      \"development\": \"./src/conditions/true.ts\",\n      \"default\": \"./src/conditions/false.ts\"\n    },\n    \"#is-browser\": {\n      \"edge-light\": \"./src/conditions/false.ts\",\n      \"workerd\": \"./src/conditions/false.ts\",\n      \"worker\": \"./src/conditions/false.ts\",\n      \"browser\": \"./src/conditions/true.ts\",\n      \"default\": \"./src/conditions/is-browser.ts\"\n    }\n  },\n  \"files\": [\n    \"src\",\n    \"dist\",\n    \"jsx-runtime\",\n    \"jsx-dev-runtime\",\n    \"_isolated-hnrs\",\n    \"types/css-prop.d.ts\",\n    \"macro.*\"\n  ],\n  \"sideEffects\": false,\n  \"author\": \"Emotion Contributors\",\n  \"license\": \"MIT\",\n  \"scripts\": {\n    \"test:typescript\": \"dtslint types\"\n  },\n  \"dependencies\": {\n    \"@babel/runtime\": \"^7.18.3\",\n    \"@emotion/babel-plugin\": \"^11.13.5\",\n    \"@emotion/cache\": \"^11.14.0\",\n    \"@emotion/serialize\": \"^1.3.3\",\n    \"@emotion/use-insertion-effect-with-fallbacks\": \"^1.2.0\",\n    \"@emotion/utils\": \"^1.4.2\",\n    \"@emotion/weak-memoize\": \"^0.4.0\",\n    \"hoist-non-react-statics\": \"^3.3.1\"\n  },\n  \"peerDependencies\": {\n    \"react\": \">=16.8.0\"\n  },\n  \"peerDependenciesMeta\": {\n    \"@types/react\": {\n      \"optional\": true\n    }\n  },\n  \"devDependencies\": {\n    \"@definitelytyped/dtslint\": \"0.0.112\",\n    \"@emotion/css\": \"11.13.5\",\n    \"@emotion/css-prettifier\": \"1.2.0\",\n    \"@emotion/server\": \"11.11.0\",\n    \"@emotion/styled\": \"11.14.1\",\n    \"@types/hoist-non-react-statics\": \"^3.3.5\",\n    \"html-tag-names\": \"^1.1.2\",\n    \"react\": \"16.14.0\",\n    \"svg-tag-names\": \"^1.1.1\",\n    \"typescript\": \"^5.4.5\"\n  },\n  \"repository\": \"https://github.com/emotion-js/emotion/tree/main/packages/react\",\n  \"publishConfig\": {\n    \"access\": \"public\"\n  },\n  \"umd:main\": \"dist/emotion-react.umd.min.js\",\n  \"preconstruct\": {\n    \"entrypoints\": [\n      \"./index.ts\",\n      \"./jsx-runtime.ts\",\n      \"./jsx-dev-runtime.ts\",\n      \"./_isolated-hnrs.ts\"\n    ],\n    \"umdName\": \"emotionReact\",\n    \"exports\": {\n      \"extra\": {\n        \"./types/css-prop\": \"./types/css-prop.d.ts\",\n        \"./macro\": {\n          \"types\": {\n            \"import\": \"./macro.d.mts\",\n            \"default\": \"./macro.d.ts\"\n          },\n          \"default\": \"./macro.js\"\n        }\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "packages/react/src/_isolated-hnrs.ts",
    "content": "// this file isolates this package that is not tree-shakeable\n// and allows it to be dropped - if it stays unused\n// it happens thanks to sideEffects: false in our package.json\nimport hoistNonReactStatics from 'hoist-non-react-statics'\n\n// have to wrap it in a proxy function because Rollup is too damn smart\n// and if this module doesn't actually contain any logic of its own\n// then Rollup just use 'hoist-non-react-statics' directly in other chunks\nexport default <\n  T extends React.ComponentType<any>,\n  S extends React.ComponentType<any>\n>(\n  targetComponent: T,\n  sourceComponent: S\n) => hoistNonReactStatics(targetComponent, sourceComponent)\n"
  },
  {
    "path": "packages/react/src/class-names.tsx",
    "content": "import * as React from 'react'\nimport {\n  EmotionCache,\n  getRegisteredStyles,\n  insertStyles,\n  registerStyles,\n  SerializedStyles\n} from '@emotion/utils'\nimport { CSSInterpolation, serializeStyles } from '@emotion/serialize'\nimport isDevelopment from '#is-development'\nimport { withEmotionCache } from './context'\nimport { Theme, ThemeContext } from './theming'\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks'\nimport isBrowser from '#is-browser'\n\nexport interface ArrayClassNamesArg extends Array<ClassNamesArg> {}\n\nexport type ClassNamesArg =\n  | undefined\n  | null\n  | string\n  | boolean\n  | { [className: string]: boolean | null | undefined }\n  | ArrayClassNamesArg\n\nlet classnames = (args: ArrayClassNamesArg): string => {\n  let len = args.length\n  let i = 0\n  let cls = ''\n  for (; i < len; i++) {\n    let arg = args[i]\n    if (arg == null) continue\n\n    let toAdd\n    switch (typeof arg) {\n      case 'boolean':\n        break\n      case 'object': {\n        if (Array.isArray(arg)) {\n          toAdd = classnames(arg)\n        } else {\n          if (\n            isDevelopment &&\n            arg.styles !== undefined &&\n            arg.name !== undefined\n          ) {\n            console.error(\n              'You have passed styles created with `css` from `@emotion/react` package to the `cx`.\\n' +\n                '`cx` is meant to compose class names (strings) so you should convert those styles to a class name by passing them to the `css` received from <ClassNames/> component.'\n            )\n          }\n          toAdd = ''\n          for (const k in arg) {\n            if (arg[k] && k) {\n              toAdd && (toAdd += ' ')\n              toAdd += k\n            }\n          }\n        }\n        break\n      }\n      default: {\n        toAdd = arg\n      }\n    }\n    if (toAdd) {\n      cls && (cls += ' ')\n      cls += toAdd\n    }\n  }\n  return cls\n}\nfunction merge(\n  registered: EmotionCache['registered'],\n  css: ClassNamesContent['css'],\n  className: string\n) {\n  const registeredStyles: string[] = []\n\n  const rawClassName = getRegisteredStyles(\n    registered,\n    registeredStyles,\n    className\n  )\n\n  if (registeredStyles.length < 2) {\n    return className\n  }\n  return rawClassName + css(registeredStyles)\n}\n\nconst Insertion = ({\n  cache,\n  serializedArr\n}: {\n  cache: EmotionCache\n  serializedArr: SerializedStyles[]\n}) => {\n  let rules = useInsertionEffectAlwaysWithSyncFallback(() => {\n    let rules = ''\n    for (let i = 0; i < serializedArr.length; i++) {\n      let res = insertStyles(cache, serializedArr[i], false)\n      if (!isBrowser && res !== undefined) {\n        rules += res\n      }\n    }\n    if (!isBrowser) {\n      return rules\n    }\n  })\n\n  if (!isBrowser && rules!.length !== 0) {\n    return (\n      <style\n        {...{\n          [`data-emotion`]: `${cache.key} ${serializedArr\n            .map(serialized => serialized.name)\n            .join(' ')}`,\n          dangerouslySetInnerHTML: { __html: rules! },\n          nonce: cache.sheet.nonce\n        }}\n      />\n    )\n  }\n  return null\n}\n\nexport interface ClassNamesContent {\n  css(template: TemplateStringsArray, ...args: Array<CSSInterpolation>): string\n  css(...args: Array<CSSInterpolation>): string\n  cx(...args: Array<ClassNamesArg>): string\n  theme: Theme\n}\n\nexport interface ClassNamesProps {\n  children(content: ClassNamesContent): React.ReactNode\n}\n\nexport const ClassNames = /* #__PURE__ */ withEmotionCache<ClassNamesProps>(\n  (props, cache) => {\n    let hasRendered = false\n    let serializedArr: SerializedStyles[] = []\n\n    let css: ClassNamesContent['css'] = (...args) => {\n      if (hasRendered && isDevelopment) {\n        throw new Error('css can only be used during render')\n      }\n\n      let serialized = serializeStyles(args, cache.registered)\n      serializedArr.push(serialized)\n      // registration has to happen here as the result of this might get consumed by `cx`\n      registerStyles(cache, serialized, false)\n      return `${cache.key}-${serialized.name}`\n    }\n    let cx = (...args: Array<ClassNamesArg>) => {\n      if (hasRendered && isDevelopment) {\n        throw new Error('cx can only be used during render')\n      }\n      return merge(cache.registered, css, classnames(args))\n    }\n    let content = {\n      css,\n      cx,\n      theme: React.useContext(ThemeContext)\n    }\n    let ele = props.children(content)\n    hasRendered = true\n\n    return (\n      <>\n        <Insertion cache={cache} serializedArr={serializedArr} />\n        {ele}\n      </>\n    )\n  }\n)\n\nif (isDevelopment) {\n  ClassNames.displayName = 'EmotionClassNames'\n}\n"
  },
  {
    "path": "packages/react/src/conditions/false.ts",
    "content": "export default false\n"
  },
  {
    "path": "packages/react/src/conditions/is-browser.ts",
    "content": "export default typeof document !== 'undefined'\n"
  },
  {
    "path": "packages/react/src/conditions/true.ts",
    "content": "export default true\n"
  },
  {
    "path": "packages/react/src/context.tsx",
    "content": "import * as React from 'react'\nimport { useContext, forwardRef } from 'react'\nimport createCache, { EmotionCache } from '@emotion/cache'\nimport isDevelopment from '#is-development'\nimport isBrowser from '#is-browser'\n\nlet EmotionCacheContext =\n  /* #__PURE__ */ React.createContext<EmotionCache | null>(\n    // we're doing this to avoid preconstruct's dead code elimination in this one case\n    // because this module is primarily intended for the browser and node\n    // but it's also required in react native and similar environments sometimes\n    // and we could have a special build just for that\n    // but this is much easier and the native packages\n    // might use a different theme context in the future anyway\n    typeof HTMLElement !== 'undefined'\n      ? /* #__PURE__ */ createCache({ key: 'css' })\n      : null\n  )\n\nif (isDevelopment) {\n  EmotionCacheContext.displayName = 'EmotionCacheContext'\n}\n\nexport let CacheProvider = EmotionCacheContext.Provider\n\nexport let __unsafe_useEmotionCache = function useEmotionCache() {\n  return useContext(EmotionCacheContext)\n}\n\nlet withEmotionCache = function withEmotionCache<Props, RefType = any>(\n  func: (\n    props: React.PropsWithoutRef<Props>,\n    context: EmotionCache,\n    ref?: React.ForwardedRef<RefType>\n  ) => React.ReactNode\n):\n  | React.FC<React.PropsWithoutRef<Props> & React.RefAttributes<RefType>>\n  | React.ForwardRefExoticComponent<\n      React.PropsWithoutRef<Props> & React.RefAttributes<RefType>\n    > {\n  return forwardRef<RefType, Props>((props, ref) => {\n    // the cache will never be null in the browser\n    let cache = useContext(EmotionCacheContext)!\n\n    return func(props, cache, ref)\n  })\n}\n\nif (!isBrowser) {\n  withEmotionCache = function withEmotionCache(func) {\n    return (props: Parameters<typeof func>[0]) => {\n      let cache = useContext(EmotionCacheContext)\n      if (cache === null) {\n        // yes, we're potentially creating this on every render\n        // it doesn't actually matter though since it's only on the server\n        // so there will only every be a single render\n        // that could change in the future because of suspense and etc. but for now,\n        // this works and i don't want to optimise for a future thing that we aren't sure about\n        cache = createCache({ key: 'css' })\n        return (\n          <EmotionCacheContext.Provider value={cache}>\n            {func(props, cache)}\n          </EmotionCacheContext.Provider>\n        )\n      } else {\n        return func(props, cache)\n      }\n    }\n  }\n}\n\nexport { withEmotionCache }\n"
  },
  {
    "path": "packages/react/src/css.ts",
    "content": "import type { SerializedStyles } from '@emotion/utils'\nimport type { CSSInterpolation } from '@emotion/serialize'\nimport { serializeStyles } from '@emotion/serialize'\n\nfunction css(\n  template: TemplateStringsArray,\n  ...args: CSSInterpolation[]\n): SerializedStyles\nfunction css(...args: CSSInterpolation[]): SerializedStyles\nfunction css(...args: CSSInterpolation[]) {\n  return serializeStyles(args)\n}\n\nexport default css\n"
  },
  {
    "path": "packages/react/src/emotion-element.tsx",
    "content": "import * as React from 'react'\nimport { withEmotionCache } from './context'\nimport { Theme, ThemeContext } from './theming'\nimport {\n  EmotionCache,\n  getRegisteredStyles,\n  insertStyles,\n  registerStyles,\n  SerializedStyles\n} from '@emotion/utils'\nimport { hasOwn } from './utils'\nimport { Interpolation, serializeStyles } from '@emotion/serialize'\nimport isDevelopment from '#is-development'\nimport isBrowser from '#is-browser'\nimport { getLabelFromStackTrace } from './get-label-from-stack-trace'\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks'\n\nconst typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__'\n\nconst labelPropName = '__EMOTION_LABEL_PLEASE_DO_NOT_USE__'\n\ninterface EmotionProps {\n  css: Interpolation<Theme>\n  [typePropName]: React.ElementType\n  [labelPropName]?: string\n  [key: string]: unknown\n}\n\nexport const createEmotionProps = (\n  type: React.ElementType,\n  props: { css: Interpolation<Theme> }\n): EmotionProps => {\n  if (\n    isDevelopment &&\n    typeof props.css === 'string' &&\n    // check if there is a css declaration\n    props.css.indexOf(':') !== -1\n  ) {\n    throw new Error(\n      `Strings are not allowed as css prop values, please wrap it in a css template literal from '@emotion/react' like this: css\\`${props.css}\\``\n    )\n  }\n\n  let newProps = {} as EmotionProps\n\n  for (let key in props) {\n    if (hasOwn.call(props, key)) {\n      newProps[key] = props[key as keyof typeof props]\n    }\n  }\n\n  newProps[typePropName] = type\n\n  // Runtime labeling is an opt-in feature because:\n  // - It causes hydration warnings when using Safari and SSR\n  // - It can degrade performance if there are a huge number of elements\n  //\n  // Even if the flag is set, we still don't compute the label if it has already\n  // been determined by the Babel plugin.\n  if (\n    isDevelopment &&\n    typeof globalThis !== 'undefined' &&\n    !!(globalThis as any).EMOTION_RUNTIME_AUTO_LABEL &&\n    !!props.css &&\n    (typeof props.css !== 'object' ||\n      !('name' in props.css) ||\n      typeof props.css.name !== 'string' ||\n      props.css.name.indexOf('-') === -1)\n  ) {\n    const label = getLabelFromStackTrace(new Error().stack)\n    if (label) newProps[labelPropName] = label\n  }\n\n  return newProps\n}\n\nconst Insertion = ({\n  cache,\n  serialized,\n  isStringTag\n}: {\n  cache: EmotionCache\n  serialized: SerializedStyles\n  isStringTag: boolean\n}) => {\n  registerStyles(cache, serialized, isStringTag)\n\n  const rules = useInsertionEffectAlwaysWithSyncFallback(() =>\n    insertStyles(cache, serialized, isStringTag)\n  )\n\n  if (!isBrowser && rules !== undefined) {\n    let serializedNames = serialized.name\n    let next = serialized.next\n    while (next !== undefined) {\n      serializedNames += ' ' + next.name\n      next = next.next\n    }\n    return (\n      <style\n        {...{\n          [`data-emotion`]: `${cache.key} ${serializedNames}`,\n          dangerouslySetInnerHTML: { __html: rules },\n          nonce: cache.sheet.nonce\n        }}\n      />\n    )\n  }\n  return null\n}\n\nlet Emotion = /* #__PURE__ */ withEmotionCache<EmotionProps>(\n  (props, cache, ref) => {\n    let cssProp = props.css as EmotionProps['css']\n\n    // so that using `css` from `emotion` and passing the result to the css prop works\n    // not passing the registered cache to serializeStyles because it would\n    // make certain babel optimisations not possible\n    if (\n      typeof cssProp === 'string' &&\n      cache.registered[cssProp] !== undefined\n    ) {\n      cssProp = cache.registered[cssProp]\n    }\n\n    let WrappedComponent = props[\n      typePropName\n    ] as EmotionProps[typeof typePropName]\n    let registeredStyles = [cssProp]\n    let className = ''\n\n    if (typeof props.className === 'string') {\n      className = getRegisteredStyles(\n        cache.registered,\n        registeredStyles,\n        props.className\n      )\n    } else if (props.className != null) {\n      className = `${props.className} `\n    }\n\n    let serialized = serializeStyles(\n      registeredStyles,\n      undefined,\n      React.useContext(ThemeContext)\n    )\n\n    if (isDevelopment && serialized.name.indexOf('-') === -1) {\n      let labelFromStack = props[labelPropName]\n      if (labelFromStack) {\n        serialized = serializeStyles([\n          serialized,\n          'label:' + labelFromStack + ';'\n        ])\n      }\n    }\n\n    className += `${cache.key}-${serialized.name}`\n\n    const newProps: Record<string, unknown> = {}\n    for (let key in props) {\n      if (\n        hasOwn.call(props, key) &&\n        key !== 'css' &&\n        key !== typePropName &&\n        (!isDevelopment || key !== labelPropName)\n      ) {\n        newProps[key] = props[key]\n      }\n    }\n    newProps.className = className\n    if (ref) {\n      newProps.ref = ref\n    }\n\n    return (\n      <>\n        <Insertion\n          cache={cache}\n          serialized={serialized}\n          isStringTag={typeof WrappedComponent === 'string'}\n        />\n        <WrappedComponent {...newProps} />\n      </>\n    )\n  }\n)\n\nif (isDevelopment) {\n  Emotion.displayName = 'EmotionCssPropInternal'\n}\n\nexport default Emotion\n"
  },
  {
    "path": "packages/react/src/get-label-from-stack-trace.ts",
    "content": "const getLastPart = (functionName: string): string => {\n  // The match may be something like 'Object.createEmotionProps' or\n  // 'Loader.prototype.render'\n  const parts = functionName.split('.')\n  return parts[parts.length - 1]\n}\n\nconst getFunctionNameFromStackTraceLine = (\n  line: string\n): string | undefined => {\n  // V8\n  let match = /^\\s+at\\s+([A-Za-z0-9$.]+)\\s/.exec(line)\n  if (match) return getLastPart(match[1])\n\n  // Safari / Firefox\n  match = /^([A-Za-z0-9$.]+)@/.exec(line)\n  if (match) return getLastPart(match[1])\n\n  return undefined\n}\n\nconst internalReactFunctionNames = /* #__PURE__ */ new Set([\n  'renderWithHooks',\n  'processChild',\n  'finishClassComponent',\n  'renderToString'\n])\n\n// These identifiers come from error stacks, so they have to be valid JS\n// identifiers, thus we only need to replace what is a valid character for JS,\n// but not for CSS.\nconst sanitizeIdentifier = (identifier: string) =>\n  identifier.replace(/\\$/g, '-')\n\nexport const getLabelFromStackTrace = (stackTrace: string | undefined) => {\n  if (!stackTrace) return undefined\n\n  const lines = stackTrace.split('\\n')\n\n  for (let i = 0; i < lines.length; i++) {\n    const functionName = getFunctionNameFromStackTraceLine(lines[i])\n\n    // The first line of V8 stack traces is just \"Error\"\n    if (!functionName) continue\n\n    // If we reach one of these, we have gone too far and should quit\n    if (internalReactFunctionNames.has(functionName)) break\n\n    // The component name is the first function in the stack that starts with an\n    // uppercase letter\n    if (/^[A-Z]/.test(functionName)) return sanitizeIdentifier(functionName)\n  }\n\n  return undefined\n}\n"
  },
  {
    "path": "packages/react/src/global.tsx",
    "content": "import * as React from 'react'\nimport isDevelopment from '#is-development'\nimport { withEmotionCache } from './context'\nimport { Theme, ThemeContext } from './theming'\nimport { insertStyles } from '@emotion/utils'\nimport { Options as SheetOptions, StyleSheet } from '@emotion/sheet'\nimport isBrowser from '#is-browser'\nimport { useInsertionEffectWithLayoutFallback } from '@emotion/use-insertion-effect-with-fallbacks'\n\nimport { Interpolation, serializeStyles } from '@emotion/serialize'\n\nexport interface GlobalProps {\n  styles: Interpolation<Theme>\n}\n\nlet warnedAboutCssPropForGlobal = false\n\n// maintain place over rerenders.\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\n\nexport let Global = /* #__PURE__ */ withEmotionCache<GlobalProps>(\n  (props, cache) => {\n    if (\n      isDevelopment &&\n      !warnedAboutCssPropForGlobal && // check for className as well since the user is\n      // probably using the custom createElement which\n      // means it will be turned into a className prop\n      // I don't really want to add it to the type since it shouldn't be used\n      (('className' in props && props.className) ||\n        ('css' in props && props.css))\n    ) {\n      console.error(\n        \"It looks like you're using the css prop on Global, did you mean to use the styles prop instead?\"\n      )\n      warnedAboutCssPropForGlobal = true\n    }\n    let styles = props.styles\n\n    let serialized = serializeStyles(\n      [styles],\n      undefined,\n      React.useContext(ThemeContext)\n    )\n\n    if (!isBrowser) {\n      let serializedNames = serialized.name\n      let serializedStyles = serialized.styles\n      let next = serialized.next\n      while (next !== undefined) {\n        serializedNames += ' ' + next.name\n        serializedStyles += next.styles\n        next = next.next\n      }\n\n      let shouldCache = cache.compat === true\n\n      let rules = cache.insert(\n        ``,\n        { name: serializedNames, styles: serializedStyles },\n        cache.sheet,\n        shouldCache\n      )\n\n      if (shouldCache) {\n        return null\n      }\n\n      return (\n        <style\n          {...{\n            [`data-emotion`]: `${cache.key}-global ${serializedNames}`,\n            dangerouslySetInnerHTML: { __html: rules! },\n            nonce: cache.sheet.nonce\n          }}\n        />\n      )\n    }\n\n    // yes, i know these hooks are used conditionally\n    // but it is based on a constant that will never change at runtime\n    // it's effectively like having two implementations and switching them out\n    // so it's not actually breaking anything\n\n    let sheetRef = React.useRef<\n      [sheet: StyleSheet, isRehydrating: boolean] | undefined\n    >()\n\n    useInsertionEffectWithLayoutFallback(() => {\n      const key = `${cache.key}-global`\n\n      // use case of https://github.com/emotion-js/emotion/issues/2675\n      let sheet = new (cache.sheet.constructor as {\n        new (options: SheetOptions): StyleSheet\n      })({\n        key,\n        nonce: cache.sheet.nonce,\n        container: cache.sheet.container,\n        speedy: cache.sheet.isSpeedy\n      })\n      let rehydrating = false\n      let node: HTMLStyleElement | null = document.querySelector(\n        `style[data-emotion=\"${key} ${serialized.name}\"]`\n      )\n      if (cache.sheet.tags.length) {\n        sheet.before = cache.sheet.tags[0]\n      }\n      if (node !== null) {\n        rehydrating = true\n        // clear the hash so this node won't be recognizable as rehydratable by other <Global/>s\n        node.setAttribute('data-emotion', key)\n        sheet.hydrate([node])\n      }\n      sheetRef.current = [sheet, rehydrating]\n      return () => {\n        sheet.flush()\n      }\n    }, [cache])\n\n    useInsertionEffectWithLayoutFallback(() => {\n      let sheetRefCurrent = sheetRef.current!\n      let [sheet, rehydrating] = sheetRefCurrent\n      if (rehydrating) {\n        sheetRefCurrent[1] = false\n        return\n      }\n      if (serialized.next !== undefined) {\n        // insert keyframes\n        insertStyles(cache, serialized.next, true)\n      }\n\n      if (sheet.tags.length) {\n        // if this doesn't exist then it will be null so the style element will be appended\n        let element = sheet.tags[sheet.tags.length - 1].nextElementSibling\n        sheet.before = element\n        sheet.flush()\n      }\n      cache.insert(``, serialized, sheet, false)\n    }, [cache, serialized.name])\n\n    return null\n  }\n)\n\nif (isDevelopment) {\n  Global.displayName = 'EmotionGlobal'\n}\n"
  },
  {
    "path": "packages/react/src/index.ts",
    "content": "import isDevelopment from '#is-development'\nimport pkg from '../package.json'\nexport type { EmotionCache } from '@emotion/cache'\nexport type {\n  ArrayInterpolation,\n  ComponentSelector,\n  CSSObject,\n  FunctionInterpolation,\n  Interpolation,\n  Keyframes,\n  SerializedStyles\n} from '@emotion/serialize'\nexport {\n  withEmotionCache,\n  CacheProvider,\n  __unsafe_useEmotionCache\n} from './context'\nexport { jsx } from './jsx'\nexport { jsx as createElement } from './jsx'\nexport { Global } from './global'\nexport type { GlobalProps } from './global'\nexport { keyframes } from './keyframes'\nexport { ClassNames } from './class-names'\nexport type {\n  ClassNamesArg,\n  ClassNamesContent,\n  ClassNamesProps,\n  ArrayClassNamesArg\n} from './class-names'\nexport { ThemeContext, useTheme, ThemeProvider, withTheme } from './theming'\nexport type { Theme, ThemeProviderProps, WithTheme } from './theming'\nexport { default as css } from './css'\nexport type { DistributiveOmit, PropsOf } from './types'\n\ndeclare const global: Record<string, unknown>\ndeclare const jest: unknown\ndeclare const vi: unknown\n\nif (isDevelopment) {\n  const isBrowser = typeof document !== 'undefined'\n  // #1727, #2905 for some reason Jest and Vitest evaluate modules twice if some consuming module gets mocked\n  const isTestEnv = typeof jest !== 'undefined' || typeof vi !== 'undefined'\n\n  if (isBrowser && !isTestEnv) {\n    // globalThis has wide browser support - https://caniuse.com/?search=globalThis, Node.js 12 and later\n    const globalContext: Record<string, unknown> =\n      typeof globalThis !== 'undefined'\n        ? globalThis // eslint-disable-line no-undef\n        : isBrowser\n          ? window\n          : global\n    const globalKey = `__EMOTION_REACT_${pkg.version.split('.')[0]}__`\n    if (globalContext[globalKey]) {\n      console.warn(\n        'You are loading @emotion/react when it is already loaded. Running ' +\n          'multiple instances may cause problems. This can happen if multiple ' +\n          'versions are used, or if multiple builds of the same version are ' +\n          'used.'\n      )\n    }\n    globalContext[globalKey] = true\n  }\n}\n"
  },
  {
    "path": "packages/react/src/jsx-dev-runtime.ts",
    "content": "import * as ReactJSXRuntimeDev from 'react/jsx-dev-runtime'\nimport Emotion, { createEmotionProps } from './emotion-element'\nimport { hasOwn } from './utils'\nimport { Interpolation } from '@emotion/serialize'\nimport { Theme } from './theming'\nexport type { EmotionJSX as JSX } from './jsx-namespace'\n\nexport const Fragment = ReactJSXRuntimeDev.Fragment\n\nexport const jsxDEV: typeof ReactJSXRuntimeDev.jsxDEV = (\n  type,\n  props,\n  key,\n  isStaticChildren,\n  source,\n  self\n) => {\n  if (!hasOwn.call(props, 'css')) {\n    return ReactJSXRuntimeDev.jsxDEV(\n      type,\n      props,\n      key,\n      isStaticChildren,\n      source,\n      self\n    )\n  }\n\n  return ReactJSXRuntimeDev.jsxDEV(\n    Emotion,\n    createEmotionProps(type, props as { css: Interpolation<Theme> }),\n    key,\n    isStaticChildren,\n    source,\n    self\n  )\n}\n"
  },
  {
    "path": "packages/react/src/jsx-namespace.ts",
    "content": "import 'react'\nimport { Interpolation } from '@emotion/serialize'\nimport { Theme } from './theming'\n\ntype IsPreReact19 = 2 extends Parameters<React.FunctionComponent<any>>['length']\n  ? true\n  : false\n\ntype WithConditionalCSSProp<P> = 'className' extends keyof P\n  ? string extends P['className' & keyof P]\n    ? { css?: Interpolation<Theme> }\n    : {}\n  : {}\n\n// unpack all here to avoid infinite self-referencing when defining our own JSX namespace for the pre-React 19 case\n\n// the IsPreReact19 and @ts-ignore comments are to allow @emotion/react to support three different cases of types\n// - pre-React 18.something which didn't have `React.JSX`\n// - React 18.something with `React.JSX`\n// - React 19 with `React.JSX` and no global `JSX`\n// we support both pre-React 19 cases by using the global `JSX` and with the React 19 types, we use `React.JSX`\n// to make this work, we need @ts-ignore comments to ignore references that are invalid\n// though note that the error types resulting from ignoring the errors will never be used\n// since the pre vs post React 19 conditional will pick the one that won't error\n\n// prettier-ignore\n/** @ts-ignore */\ntype ReactJSXElement = true extends IsPreReact19 ? JSX.Element : React.JSX.Element\n\n// prettier-ignore\n/** @ts-ignore */\ntype ReactJSXElementClass = true extends IsPreReact19 ? JSX.ElementClass : React.JSX.ElementClass\n\n// prettier-ignore\n/** @ts-ignore */\ntype ReactJSXElementAttributesProperty = true extends IsPreReact19 ? JSX.ElementAttributesProperty : React.JSX.ElementAttributesProperty\n\n// prettier-ignore\n/** @ts-ignore */\ntype ReactJSXElementChildrenAttribute = true extends IsPreReact19 ? JSX.ElementChildrenAttribute : React.JSX.ElementChildrenAttribute\n\n// prettier-ignore\n/** @ts-ignore */\ntype ReactJSXLibraryManagedAttributes<C, P> = true extends IsPreReact19 ? JSX.LibraryManagedAttributes<C, P> : React.JSX.LibraryManagedAttributes<C, P>\n\n// prettier-ignore\n/** @ts-ignore */\ntype ReactJSXIntrinsicAttributes = true extends IsPreReact19 ? JSX.IntrinsicAttributes : React.JSX.IntrinsicAttributes\n\n// prettier-ignore\n/** @ts-ignore */\ntype ReactJSXIntrinsicClassAttributes<T> = true extends IsPreReact19 ? JSX.IntrinsicClassAttributes<T> : React.JSX.IntrinsicClassAttributes<T>\n\n// prettier-ignore\n/** @ts-ignore */\ntype ReactJSXIntrinsicElements = true extends IsPreReact19 ? JSX.IntrinsicElements : React.JSX.IntrinsicElements\n\n// based on the code from @types/react@18.2.8\n// https://github.com/DefinitelyTyped/DefinitelyTyped/blob/3197efc097d522c4bf02b94e1a0766d007d6cdeb/types/react/index.d.ts#LL3204C13-L3204C13\n// prettier-ignore\n/** @ts-ignore */\ntype ReactJSXElementType = true extends IsPreReact19 ? string | React.JSXElementConstructor<any> : React.JSX.ElementType\n\nexport namespace ReactJSX {\n  export type ElementType = ReactJSXElementType\n  export interface Element extends ReactJSXElement {}\n  export interface ElementClass extends ReactJSXElementClass {}\n  export interface ElementAttributesProperty\n    extends ReactJSXElementAttributesProperty {}\n  export interface ElementChildrenAttribute\n    extends ReactJSXElementChildrenAttribute {}\n\n  export type LibraryManagedAttributes<C, P> = ReactJSXLibraryManagedAttributes<\n    C,\n    P\n  >\n\n  export interface IntrinsicAttributes extends ReactJSXIntrinsicAttributes {}\n  export interface IntrinsicClassAttributes<T>\n    extends ReactJSXIntrinsicClassAttributes<T> {}\n\n  export type IntrinsicElements = ReactJSXIntrinsicElements\n}\n\nexport namespace EmotionJSX {\n  export type ElementType = ReactJSXElementType\n  export interface Element extends ReactJSXElement {}\n  export interface ElementClass extends ReactJSXElementClass {}\n  export interface ElementAttributesProperty\n    extends ReactJSXElementAttributesProperty {}\n  export interface ElementChildrenAttribute\n    extends ReactJSXElementChildrenAttribute {}\n\n  export type LibraryManagedAttributes<C, P> = P extends unknown\n    ? WithConditionalCSSProp<P> & ReactJSXLibraryManagedAttributes<C, P>\n    : never\n\n  export interface IntrinsicAttributes extends ReactJSXIntrinsicAttributes {}\n  export interface IntrinsicClassAttributes<T>\n    extends ReactJSXIntrinsicClassAttributes<T> {}\n\n  export type IntrinsicElements = {\n    [K in keyof ReactJSXIntrinsicElements]: ReactJSXIntrinsicElements[K] & {\n      css?: Interpolation<Theme>\n    }\n  }\n}\n"
  },
  {
    "path": "packages/react/src/jsx-runtime.ts",
    "content": "import * as ReactJSXRuntime from 'react/jsx-runtime'\nimport Emotion, { createEmotionProps } from './emotion-element'\nimport { hasOwn } from './utils'\nimport { Interpolation } from '@emotion/serialize'\nimport { Theme } from './theming'\nexport type { EmotionJSX as JSX } from './jsx-namespace'\n\nexport const Fragment = ReactJSXRuntime.Fragment\n\nexport const jsx: typeof ReactJSXRuntime.jsx = (type, props, key) => {\n  if (!hasOwn.call(props, 'css')) {\n    return ReactJSXRuntime.jsx(type, props, key)\n  }\n\n  return ReactJSXRuntime.jsx(\n    Emotion,\n    createEmotionProps(type, props as { css: Interpolation<Theme> }),\n    key\n  )\n}\n\nexport const jsxs: typeof ReactJSXRuntime.jsxs = (type, props, key) => {\n  if (!hasOwn.call(props, 'css')) {\n    return ReactJSXRuntime.jsxs(type, props, key)\n  }\n\n  return ReactJSXRuntime.jsxs(\n    Emotion,\n    createEmotionProps(type, props as { css: Interpolation<Theme> }),\n    key\n  )\n}\n"
  },
  {
    "path": "packages/react/src/jsx.ts",
    "content": "import * as React from 'react'\nimport Emotion, { createEmotionProps } from './emotion-element'\nimport { EmotionJSX } from './jsx-namespace'\nimport { hasOwn } from './utils'\n\nexport const jsx: typeof React.createElement = function (\n  type: any,\n  props: any\n): any {\n  // eslint-disable-next-line prefer-rest-params\n  let args: any = arguments\n\n  if (props == null || !hasOwn.call(props, 'css')) {\n    return React.createElement.apply(undefined, args)\n  }\n\n  let argsLength = args.length\n  let createElementArgArray: any = new Array(argsLength)\n  createElementArgArray[0] = Emotion\n  createElementArgArray[1] = createEmotionProps(type, props)\n\n  for (let i = 2; i < argsLength; i++) {\n    createElementArgArray[i] = args[i]\n  }\n\n  return React.createElement.apply(null, createElementArgArray)\n}\nexport namespace jsx {\n  export namespace JSX {\n    export type ElementType = EmotionJSX.ElementType\n    export interface Element extends EmotionJSX.Element {}\n    export interface ElementClass extends EmotionJSX.ElementClass {}\n    export interface ElementAttributesProperty\n      extends EmotionJSX.ElementAttributesProperty {}\n    export interface ElementChildrenAttribute\n      extends EmotionJSX.ElementChildrenAttribute {}\n    export type LibraryManagedAttributes<C, P> =\n      EmotionJSX.LibraryManagedAttributes<C, P>\n    export interface IntrinsicAttributes\n      extends EmotionJSX.IntrinsicAttributes {}\n    export interface IntrinsicClassAttributes<T>\n      extends EmotionJSX.IntrinsicClassAttributes<T> {}\n    export type IntrinsicElements = EmotionJSX.IntrinsicElements\n  }\n}\n"
  },
  {
    "path": "packages/react/src/keyframes.ts",
    "content": "import { CSSInterpolation } from '@emotion/serialize'\nimport css from './css'\n\ntype Keyframes = {\n  name: string\n  styles: string\n  anim: 1\n  toString: () => string\n} & string\n\nexport function keyframes(\n  template: TemplateStringsArray,\n  ...args: CSSInterpolation[]\n): Keyframes\nexport function keyframes(...args: CSSInterpolation[]): Keyframes\nexport function keyframes(...args: CSSInterpolation[]) {\n  let insertable = css(...args)\n  const name = `animation-${insertable.name}`\n  return {\n    name,\n    styles: `@keyframes ${name}{${insertable.styles}}`,\n    anim: 1,\n    toString() {\n      return `_EMO_${this.name}_${this.styles}_EMO_`\n    }\n  }\n}\n"
  },
  {
    "path": "packages/react/src/theming.tsx",
    "content": "import * as React from 'react'\nimport weakMemoize from '@emotion/weak-memoize'\nimport isDevelopment from '#is-development'\nimport hoistNonReactStatics from './_isolated-hnrs'\nimport { DistributiveOmit, PropsOf } from './types'\n\n// tslint:disable-next-line: no-empty-interface\nexport interface Theme {}\n\nexport interface ThemeProviderProps {\n  theme: Partial<Theme> | ((outerTheme: Theme) => Theme)\n  children: React.ReactNode\n}\n\nexport interface ThemeProvider {\n  (props: ThemeProviderProps): React.ReactElement\n}\n\nexport type WithTheme<P, T> = P extends { theme: infer Theme }\n  ? P & { theme: Exclude<Theme, undefined> }\n  : P & { theme: T }\n\nexport const ThemeContext = /* #__PURE__ */ React.createContext({} as Theme)\nif (isDevelopment) {\n  ThemeContext.displayName = 'EmotionThemeContext'\n}\n\nexport const useTheme = () => React.useContext(ThemeContext)\n\nconst getTheme = (\n  outerTheme: Theme,\n  theme: Partial<Theme> | ((theme: Theme) => Theme)\n): Theme => {\n  if (typeof theme === 'function') {\n    const mergedTheme = theme(outerTheme)\n    if (\n      isDevelopment &&\n      (mergedTheme == null ||\n        typeof mergedTheme !== 'object' ||\n        Array.isArray(mergedTheme))\n    ) {\n      throw new Error(\n        '[ThemeProvider] Please return an object from your theme function, i.e. theme={() => ({})}!'\n      )\n    }\n    return mergedTheme\n  }\n  if (\n    isDevelopment &&\n    (theme == null || typeof theme !== 'object' || Array.isArray(theme))\n  ) {\n    throw new Error(\n      '[ThemeProvider] Please make your theme prop a plain object'\n    )\n  }\n\n  return { ...outerTheme, ...theme }\n}\n\nlet createCacheWithTheme = /* #__PURE__ */ weakMemoize((outerTheme: Theme) => {\n  return weakMemoize((theme: Partial<Theme> | ((theme: Theme) => Theme)) => {\n    return getTheme(outerTheme, theme)\n  })\n})\n\nexport interface ThemeProviderProps {\n  theme: Partial<Theme> | ((outerTheme: Theme) => Theme)\n  children: React.ReactNode\n}\n\nexport const ThemeProvider = (props: ThemeProviderProps) => {\n  let theme = React.useContext(ThemeContext)\n\n  if (props.theme !== theme) {\n    theme = createCacheWithTheme(theme)(props.theme)\n  }\n  return (\n    <ThemeContext.Provider value={theme}>\n      {props.children}\n    </ThemeContext.Provider>\n  )\n}\n\nexport function withTheme<\n  C extends React.ComponentType<React.ComponentProps<C>>\n>(\n  Component: C\n): React.ForwardRefExoticComponent<\n  DistributiveOmit<PropsOf<C>, 'theme'> & { theme?: Theme }\n>\nexport function withTheme(\n  Component: React.ComponentType<any>\n): React.ForwardRefExoticComponent<any> {\n  const componentName = Component.displayName || Component.name || 'Component'\n\n  let WithTheme = React.forwardRef(function render(props, ref) {\n    let theme = React.useContext(ThemeContext)\n\n    return <Component theme={theme} ref={ref} {...props} />\n  })\n\n  WithTheme.displayName = `WithTheme(${componentName})`\n\n  return hoistNonReactStatics(WithTheme, Component)\n}\n"
  },
  {
    "path": "packages/react/src/types.ts",
    "content": "import { ReactJSX } from './jsx-namespace'\n\n/**\n * @desc Utility type for getting props type of React component.\n * It takes `defaultProps` into an account - making props with defaults optional.\n */\nexport type PropsOf<\n  C extends keyof ReactJSX.IntrinsicElements | React.JSXElementConstructor<any>\n> = ReactJSX.LibraryManagedAttributes<C, React.ComponentProps<C>>\n\n// We need to use this version of Omit as it's distributive (Will preserve unions)\nexport type DistributiveOmit<T, U> = T extends any\n  ? Pick<T, Exclude<keyof T, U>>\n  : never\n"
  },
  {
    "path": "packages/react/src/utils.ts",
    "content": "export const hasOwn = {}.hasOwnProperty\n"
  },
  {
    "path": "packages/react/types/css-prop.d.ts",
    "content": "import {} from 'react'\nimport { Interpolation } from '@emotion/serialize'\nimport { Theme } from '@emotion/react'\n\ndeclare module 'react' {\n  interface Attributes {\n    css?: Interpolation<Theme>\n  }\n}\n"
  },
  {
    "path": "packages/react/types/index.d.ts",
    "content": "// TypeScript Version: 4.1\nexport * from '..'\n"
  },
  {
    "path": "packages/react/types/resolved-condition.ts",
    "content": "export default true as boolean\n"
  },
  {
    "path": "packages/react/types/tests-css.tsx",
    "content": "import { css } from '@emotion/react'\n\n// $ExpectType SerializedStyles\ncss()\n// $ExpectType SerializedStyles\ncss([])\n// $ExpectType SerializedStyles\ncss('abc')\n// $ExpectType SerializedStyles\ncss('width: 200px;')\n// $ExpectType SerializedStyles\ncss('display: block;', {\n  flexGrow: 1,\n  backgroundColor: 'red'\n})\n// $ExpectType SerializedStyles\ncss`\n  position: relative;\n  top: 20px;\n`\n// $ExpectType SerializedStyles\ncss`\n  position: relative;\n  top: ${'20px'};\n`\n// $ExpectType SerializedStyles\ncss`\n  position: relative;\n  top: ${'20px'};\n`\n\n// $ExpectError\ncss(() => 'height: 300px;')\n\ncss`\n  position: relative;\n  flexgrow: ${\n    // $ExpectError\n    () => 20\n  };\n`\n"
  },
  {
    "path": "packages/react/types/tests-theming.tsx",
    "content": "// Definitions by: Junyoung Clare Jang <https://github.com/Ailrun>\n// TypeScript Version: 3.1\n\nimport * as React from 'react'\nimport { useTheme, ThemeProvider, withTheme, Theme } from '@emotion/react'\nimport { Interpolation, CSSObject } from '@emotion/styled/base'\n\ndeclare const theme: Theme\n\ninterface Props {\n  prop: boolean\n}\ndeclare const CompFC: React.FC<Props>\ndeclare class CompC extends React.Component<Props & { theme: Theme }> {}\n\nconst WrappedCompC = withTheme(CompC)\n;<ThemeProvider theme={theme}>\n  <WrappedCompC prop />\n</ThemeProvider>\n;<ThemeProvider theme={() => theme}>\n  <div />\n</ThemeProvider>\n;<ThemeProvider theme={(outerTheme: Theme) => ({ ...outerTheme, ...theme })}>\n  <div />\n</ThemeProvider>\n// $ExpectError\n;<ThemeProvider theme={theme} />\n// $ExpectError\n;<ThemeProvider theme={theme}>{CompFC}</ThemeProvider>\n// $ExpectError\n;<ThemeProvider theme={theme}>{WrappedCompC}</ThemeProvider>\n\nconst ThemedFC = withTheme(CompFC)\n;<ThemedFC prop />\n;<ThemedFC prop theme={theme} />\n\nconst ThemedComp = withTheme(CompC)\n;<ThemedComp prop />\n;<ThemedComp prop theme={theme} />\n\nconst CompFCWithDefault = ({ prop }: Props) => (prop ? <span /> : <div />)\nCompFCWithDefault.defaultProps = { prop: false }\nclass CompCWithDefault extends React.Component<Props> {\n  static defaultProps = { prop: false }\n  render() {\n    return this.props.prop ? <span /> : <div />\n  }\n}\n\n{\n  const theme: Theme = useTheme()\n}\n\nconst ThemedFCWithDefault = withTheme(CompFCWithDefault)\n;<ThemedFCWithDefault />\n;<ThemedFCWithDefault theme={theme} />\n\nconst ThemedCompWithDefault = withTheme(CompCWithDefault)\n;<ThemedCompWithDefault />\n;<ThemedCompWithDefault theme={theme} />\n\n{\n  interface Book {\n    kind: 'book'\n    author: string\n  }\n\n  interface Magazine {\n    kind: 'magazine'\n    issue: number\n  }\n\n  type SomethingToRead = (Book | Magazine) & { theme?: any }\n\n  const Readable: React.FC<SomethingToRead> = props => {\n    if (props.kind === 'magazine') {\n      return <div>magazine #{props.issue}</div>\n    }\n\n    return <div>magazine #{props.author}</div>\n  }\n\n  const ThemedReadable = withTheme(Readable)\n  ;<Readable kind=\"book\" author=\"Hejlsberg\" />\n  ;<ThemedReadable kind=\"book\" author=\"Hejlsberg\" />\n  ;<Readable kind=\"magazine\" author=\"Hejlsberg\" /> // $ExpectError\n}\n\ntype StyleDefinition = Interpolation<{ theme: Theme }>\ntype ObjectStyleDefinition = CSSObject\n\nconst style: StyleDefinition = ({ theme }) => ({\n  color: theme.primary\n})\nconst style2: ObjectStyleDefinition = {\n  width: 100\n}\n\n// Can use ThemeProvider\n;<ThemeProvider theme={{ primary: 'val' }}>\n  <div />\n</ThemeProvider>\n"
  },
  {
    "path": "packages/react/types/tests.tsx",
    "content": "/** @jsx jsx */\nimport * as React from 'react'\nimport {\n  ClassNames,\n  Global,\n  css,\n  jsx,\n  keyframes,\n  withEmotionCache\n} from '@emotion/react'\nimport { CSSInterpolation } from '@emotion/serialize'\n\ndeclare module '@emotion/react' {\n  // tslint:disable-next-line: strict-export-declare-modifiers\n  export interface Theme {\n    primary: string\n    secondary: string\n    primaryColor: string\n    secondaryColor: string\n  }\n}\n\n;<Global styles={[]} />\n;<Global styles={theme => [theme.primaryColor]} />\n\ndeclare const getStyles: () => CSSInterpolation\n;<Global styles={getStyles()} />\n\ndeclare const getRandomColor: () => string\n\nconst ComponentWithCache = withEmotionCache((_props: {}, cache) => {\n  return (\n    <div\n      onClick={() =>\n        cache.sheet.insert(`div { backgroundColor: ${getRandomColor()} }`)\n      }\n    />\n  )\n})\n;<ComponentWithCache ref={() => {}} />\n;<div css={{}}>\n  <h1\n    css={css`\n      font-size: 500px;\n    `}\n  >\n    This is really big\n  </h1>\n  <Global\n    styles={{\n      body: {\n        backgroundColor: 'hotpink'\n      }\n    }}\n  />\n</div>\n;<Global\n  styles={css`\n    body {\n      background-color: black;\n    }\n  `}\n/>\n\ndeclare const MyComponent: React.ComponentClass<{\n  className?: string\n  world: string\n}>\n;<MyComponent\n  css={{\n    backgroundColor: 'black'\n  }}\n  world=\"is-gone\"\n/>\n\nconst anim0 = keyframes({\n  from: {\n    top: 0\n  },\n\n  to: {\n    top: '20px'\n  }\n})\n;<MyComponent\n  css={{\n    animationName: anim0\n  }}\n  world=\"of-world\"\n/>\n\nconst anim1 = keyframes`\n  from: {\n    margin-left: 50px;\n  }\n\n  to: {\n    margin-left: 0;\n  }\n`\n;<MyComponent\n  css={{\n    animationName: anim1\n  }}\n  world=\"of-world\"\n/>\n;<ClassNames>\n  {({ css, cx, theme }) => {\n    return (\n      <div>\n        <span className={cx('a', undefined, 'b', null, [['abc']])} />\n        <span\n          className={css({\n            color: theme.primaryColor\n          })}\n        >\n          Fst Text\n        </span>\n        <span\n          className={css`\n            color: ${theme.secondaryColor};\n          `}\n        >\n          Snd Text\n        </span>\n      </div>\n    )\n  }}\n</ClassNames>\n;<div\n  css={theme => css`\n    color: ${theme.secondaryColor};\n  `}\n/>\n\n{\n  const CompWithClassNameSupport = (_props: {\n    prop1: string\n    className?: string\n  }) => {\n    return null\n  }\n  ;<CompWithClassNameSupport\n    prop1=\"test\"\n    css={{\n      backgroundColor: 'hotpink'\n    }}\n  />\n\n  const MemoedCompWithClassNameSupport = React.memo(CompWithClassNameSupport)\n  ;<MemoedCompWithClassNameSupport\n    prop1=\"test\"\n    css={{\n      backgroundColor: 'hotpink'\n    }}\n  />\n}\n\n{\n  const CompWithoutClassNameSupport = (_props: { prop1: string }) => {\n    return null\n  }\n\n  // TS@next reports an error on a different line, so this has to be in a single line so `test:typescript` can validate this on all TS versions correctly\n  // $ExpectError\n  ;<CompWithoutClassNameSupport prop1=\"test\" css={{ color: 'hotpink' }} />\n\n  const MemoedCompWithoutClassNameSupport = React.memo(\n    CompWithoutClassNameSupport\n  )\n  // TS@next reports an error on a different line, so this has to be in a single line so `test:typescript` can validate this on all TS versions correctly\n  // $ExpectError\n  ;<MemoedCompWithoutClassNameSupport prop1=\"test\" css={{ color: 'hotpink' }} />\n}\n\n{\n  const CompWithoutProps = (_props: {}) => {\n    return null\n  }\n  // $ExpectError\n  ;<CompWithoutProps css={{ backgroundColor: 'hotpink' }} />\n}\n\n{\n  const CompWithConditionalClassNameSupport = (\n    _props: { foo: true; className?: string } | { foo: false }\n  ) => {\n    return null\n  }\n  ;<CompWithConditionalClassNameSupport\n    foo={true}\n    css={{ backgroundColor: 'hotpink' }}\n  />\n  ;<CompWithConditionalClassNameSupport\n    foo={false}\n    // $ExpectError\n    css={{ backgroundColor: 'hotpink' }}\n  />\n}\n\n{\n  // based on the code from @types/react@17.x\n  // https://github.com/DefinitelyTyped/DefinitelyTyped/blob/98fa4486aefd5a1916aa385402467a7157e3c73f/types/react/v17/index.d.ts#L540-L548\n  type OldFC<P = {}> = OldFunctionComponent<P>\n  interface OldFunctionComponent<P = {}> {\n    (\n      props: React.PropsWithChildren<P>,\n      context?: any\n    ): React.ReactElement<any, any> | null\n    propTypes?: React.WeakValidationMap<P> | undefined\n    contextTypes?: React.ValidationMap<any> | undefined\n    defaultProps?: Partial<P> | undefined\n    displayName?: string | undefined\n  }\n  // https://github.com/DefinitelyTyped/DefinitelyTyped/issues/40993\n  // this is really problematic behaviour by @types/react@<18 IMO\n  // but it's what @types/react did so let's not break it.\n  const CompWithImplicitChildren: OldFC = () => null\n  ;<CompWithImplicitChildren>\n    content\n    <div />\n  </CompWithImplicitChildren>\n}\n\n// Tests for WithConditionalCSSProp\n{\n  const WithOptionalClassName = (props: { className?: string }) => null\n  ;<WithOptionalClassName />\n  ;<WithOptionalClassName css={{ color: 'hotpink' }} />\n\n  const WithRequiredClassName = (props: { className: string }) => null\n  // $ExpectError\n  ;<WithRequiredClassName />\n  // $ExpectError\n  ;<WithRequiredClassName css={{ color: 'hotpink' }} />\n\n  const WithOptionalUnknownClassName = (props: { className?: unknown }) => null\n  ;<WithOptionalUnknownClassName />\n  ;<WithOptionalUnknownClassName css={{ color: 'hotpink' }} />\n\n  const WithOptionalUnionClassName = (props: {\n    className?: string | Array<string>\n  }) => null\n  ;<WithOptionalUnionClassName />\n  ;<WithOptionalUnionClassName css={{ color: 'hotpink' }} />\n\n  const WithNoClassName = (props: { foo: string }) => null\n  ;<WithNoClassName foo=\"bar\" />\n  // $ExpectError\n  ;<WithNoClassName foo=\"bar\" css={{ color: 'hotpink' }} />\n\n  const WithOptionalUndefinedClassName = (props: { className?: undefined }) =>\n    null\n  ;<WithOptionalUndefinedClassName />\n  // $ExpectError\n  ;<WithOptionalUndefinedClassName css={{ color: 'hotpink' }} />\n}\n"
  },
  {
    "path": "packages/react/types/tsconfig.json",
    "content": "{\n  \"compilerOptions\": {\n    \"baseUrl\": \"../\",\n    \"forceConsistentCasingInFileNames\": true,\n    \"jsx\": \"react\",\n    \"lib\": [\"es6\", \"dom\"],\n    \"module\": \"commonjs\",\n    \"esModuleInterop\": true,\n    \"resolveJsonModule\": true,\n    \"noEmit\": true,\n    \"strict\": true,\n    \"target\": \"es5\",\n    \"typeRoots\": [\"../\"],\n    \"types\": [],\n    \"paths\": {\n      \"#is-browser\": [\"./types/resolved-condition.ts\"],\n      \"#is-development\": [\"./types/resolved-condition.ts\"]\n    }\n  },\n  \"include\": [\"./*.ts\", \"./*.tsx\"],\n  \"exclude\": [\"./css-prop.d.ts\"]\n}\n"
  },
  {
    "path": "packages/react/types/tslint.json",
    "content": "{\n  \"extends\": \"@definitelytyped/dtslint/dtslint.json\",\n  \"rules\": {\n    \"array-type\": [true, \"generic\"],\n    \"callable-types\": false,\n    \"file-name-casing\": false,\n    \"import-spacing\": false,\n    \"semicolon\": false,\n    \"whitespace\": [\n      true,\n      \"check-branch\",\n      \"check-decl\",\n      \"check-operator\",\n      \"check-module\",\n      \"check-rest-spread\",\n      \"check-type\",\n      \"check-typecast\",\n      \"check-type-operator\",\n      \"check-preblock\"\n    ],\n    \"no-null-undefined-union\": false,\n    \"no-object-literal-type-assertion\": false,\n    \"no-unnecessary-generics\": false,\n    \"no-empty-interface\": false,\n    \"strict-export-declare-modifiers\": false,\n    \"unnecessary-bind\": false,\n    \"ban-ts-ignore\": false\n  }\n}\n"
  },
  {
    "path": "packages/serialize/CHANGELOG.md",
    "content": "# @emotion/serialize\n\n## 1.3.3\n\n### Patch Changes\n\n- [#3270](https://github.com/emotion-js/emotion/pull/3270) [`77d930d`](https://github.com/emotion-js/emotion/commit/77d930dc708015ff6fd34a1084bb343b02d732fa) Thanks [@emmatown](https://github.com/emmatown)! - Fix inconsistent hashes using development vs production bundles/`exports` conditions when using `@emotion/babel-plugin` with `sourceMap: true` (the default). This is particularly visible when using Emotion with the Next.js Pages router where the `development` condition is used when bundling code but not when importing external code with Node.js.\n\n- Updated dependencies [[`77d930d`](https://github.com/emotion-js/emotion/commit/77d930dc708015ff6fd34a1084bb343b02d732fa)]:\n  - @emotion/utils@1.4.2\n\n## 1.3.2\n\n### Patch Changes\n\n- [#3244](https://github.com/emotion-js/emotion/pull/3244) [`ad630e3`](https://github.com/emotion-js/emotion/commit/ad630e33b57afbed0207e0b41724c27b4d79176c) Thanks [@romgrk](https://github.com/romgrk)! - Minor performance improvement\n\n- Updated dependencies [[`ad630e3`](https://github.com/emotion-js/emotion/commit/ad630e33b57afbed0207e0b41724c27b4d79176c)]:\n  - @emotion/utils@1.4.1\n\n## 1.3.1\n\n### Patch Changes\n\n- Updated dependencies [[`153cf88`](https://github.com/emotion-js/emotion/commit/153cf885521f642462823a25675aa1a5be431db7)]:\n  - @emotion/unitless@0.10.0\n\n## 1.3.0\n\n### Minor Changes\n\n- [#3198](https://github.com/emotion-js/emotion/pull/3198) [`d8ff8a5`](https://github.com/emotion-js/emotion/commit/d8ff8a5990c691017b463b3fa23a9f46ab28147b) Thanks [@Andarist](https://github.com/Andarist)! - Migrated away from relying on `process.env.NODE_ENV` checks to differentiate between production and development builds.\n\n  Development builds (and other environment-specific builds) can be used by using proper conditions (see [here](https://nodejs.org/docs/v20.15.1/api/packages.html#resolving-user-conditions)). Most modern bundlers/frameworks already preconfigure those for the user so no action has to be taken.\n\n  Default files should continue to work in all environments.\n\n### Patch Changes\n\n- Updated dependencies [[`d8ff8a5`](https://github.com/emotion-js/emotion/commit/d8ff8a5990c691017b463b3fa23a9f46ab28147b), [`a9f6912`](https://github.com/emotion-js/emotion/commit/a9f691299844bf6837b7ad41ee17cd912496f3d5)]:\n  - @emotion/utils@1.4.0\n\n## 1.2.0\n\n### Minor Changes\n\n- [#2543](https://github.com/emotion-js/emotion/pull/2543) [`9ca22c6`](https://github.com/emotion-js/emotion/commit/9ca22c6c23e9effa086d161a9b0ae1c645686680) Thanks [@danilofuchs](https://github.com/danilofuchs)! - Source code has been migrated to TypeScript. From now on type declarations will be emitted based on that, instead of being hand-written.\n\n### Patch Changes\n\n- Updated dependencies [[`fc4d27c`](https://github.com/emotion-js/emotion/commit/fc4d27c2dbce7fdb778212be86b07e31d8d82a98), [`7f8db2d`](https://github.com/emotion-js/emotion/commit/7f8db2d7a900bb34995db66084a99d512811e33d), [`16d8a8c`](https://github.com/emotion-js/emotion/commit/16d8a8c2198461c4842c73048b406c346a70aa59), [`ea2c397`](https://github.com/emotion-js/emotion/commit/ea2c397bbf7d9838086ec88b3eb86db9230d32ae)]:\n  - @emotion/unitless@0.9.0\n  - @emotion/memoize@0.9.0\n  - @emotion/utils@1.3.0\n  - @emotion/hash@0.9.2\n\n## 1.1.4\n\n### Patch Changes\n\n- [#3164](https://github.com/emotion-js/emotion/pull/3164) [`c9b84dbe`](https://github.com/emotion-js/emotion/commit/c9b84dbe5bf5e054e6cd561d6da1e1548e1489d1) Thanks [@Cerber-Ursi](https://github.com/Cerber-Ursi)! - Make `ArrayInterpolation` to extend `ReadonlyArray` to match a similar recent change to `ArrayCSSInterpolation`. It fixes some compatibility issues when those 2 get mixed together.\n\n## 1.1.3\n\n### Patch Changes\n\n- [#3141](https://github.com/emotion-js/emotion/pull/3141) [`45c440fb`](https://github.com/emotion-js/emotion/commit/45c440fbc86b90750f275f497d11382f09ec1d2e) Thanks [@Cerber-Ursi](https://github.com/Cerber-Ursi)! - Replace arrays with readonly arrays in CSS type definitions, following changes in `csstype`\n\n## 1.1.2\n\n### Patch Changes\n\n- [#3029](https://github.com/emotion-js/emotion/pull/3029) [`eed5e6cf`](https://github.com/emotion-js/emotion/commit/eed5e6cf00f94f3011b93825ccce43cb2270c247) Thanks [@Andarist](https://github.com/Andarist)! - Fixed importing in Node ESM\n\n- Updated dependencies [[`eed5e6cf`](https://github.com/emotion-js/emotion/commit/eed5e6cf00f94f3011b93825ccce43cb2270c247), [`e6e5b3d7`](https://github.com/emotion-js/emotion/commit/e6e5b3d71ade7b986ab364fc0cb770e7eda16049)]:\n  - @emotion/hash@0.9.1\n  - @emotion/memoize@0.8.1\n  - @emotion/unitless@0.8.1\n  - @emotion/utils@1.2.1\n\n## 1.1.1\n\n### Patch Changes\n\n- [#2896](https://github.com/emotion-js/emotion/pull/2896) [`c02b1214`](https://github.com/emotion-js/emotion/commit/c02b12145a94df011e0fd6ffd54197a4d9369783) Thanks [@Andarist](https://github.com/Andarist)! - Fixed an issue that prevented using `content: \"element(name)\"`. This is a valid special value and doesn't need to be quoted.\n\n## 1.1.0\n\n### Minor Changes\n\n- [#2819](https://github.com/emotion-js/emotion/pull/2819) [`bbad8c79`](https://github.com/emotion-js/emotion/commit/bbad8c79937f8dfd5d93bf485c1e9ec44124d228) Thanks [@nicksrandall](https://github.com/nicksrandall)! - `exports` field has been added to the `package.json` manifest. It limits what files can be imported from a package but we've tried our best to allow importing all the files that were considered to be a part of the public API.\n\n### Patch Changes\n\n- Updated dependencies [[`bbad8c79`](https://github.com/emotion-js/emotion/commit/bbad8c79937f8dfd5d93bf485c1e9ec44124d228), [`bbad8c79`](https://github.com/emotion-js/emotion/commit/bbad8c79937f8dfd5d93bf485c1e9ec44124d228)]:\n  - @emotion/hash@0.9.0\n  - @emotion/memoize@0.8.0\n  - @emotion/unitless@0.8.0\n  - @emotion/utils@1.2.0\n\n## 1.0.4\n\n### Patch Changes\n\n- [#2727](https://github.com/emotion-js/emotion/pull/2727) [`26e4e3e8`](https://github.com/emotion-js/emotion/commit/26e4e3e8b68479f0e3cb8fbec723da47afd6ac98) Thanks [@srmagura](https://github.com/srmagura)! - Changed the error message \"Component selectors can only be used in conjunction with @emotion/babel-plugin\" to reference the new SWC Emotion plugin which will support component selectors soon.\n\n* [#2572](https://github.com/emotion-js/emotion/pull/2572) [`5e81f213`](https://github.com/emotion-js/emotion/commit/5e81f213980e9ba2cfa35256476673b68d47fc33) Thanks [@otakustay](https://github.com/otakustay)! - Changed the `registered` parameter to be declared as optional in the TypeScript definition to match the runtime requirement.\n\n## 1.0.3\n\n### Patch Changes\n\n- [#2700](https://github.com/emotion-js/emotion/pull/2700) [`d9357621`](https://github.com/emotion-js/emotion/commit/d935762131b1474f2474296ee4706f7ecd59b6dd) Thanks [@arturmuller](https://github.com/arturmuller)! - Fixed a false positive warning for `content` properties that included `var()`.\n\n## 1.0.2\n\n### Patch Changes\n\n- [`662f0e0f`](https://github.com/emotion-js/emotion/commit/662f0e0f888c8e80cf6b2d68b52ff1bb84cbdde5) [#2335](https://github.com/emotion-js/emotion/pull/2335) Thanks [@iChenLei](https://github.com/iChenLei)! - Fixed appending manual labels to Babel-optimized style objects.\n\n* [`830dd0e6`](https://github.com/emotion-js/emotion/commit/830dd0e6d071c98bc0b4b0ecc99dd21a93f057b9) [#2279](https://github.com/emotion-js/emotion/pull/2279) Thanks [@lucasweng](https://github.com/lucasweng)! - Fixed the issue with incorrectly throwing errors on valid content values containing `open-quote`.\n\n## 1.0.1\n\n### Patch Changes\n\n- [`418daad9`](https://github.com/emotion-js/emotion/commit/418daad9f7ac0eac88f206e3c4aee4e7aca7deb4) [#2264](https://github.com/emotion-js/emotion/pull/2264) Thanks [@lucasweng](https://github.com/lucasweng)! - Fix incorrectly throwing error on the gradient content values\n\n## 1.0.0\n\n### Major Changes\n\n- [`c6431074`](https://github.com/emotion-js/emotion/commit/c6431074cf52a4bb64587c86ce5d42fe2d49230b) [#1609](https://github.com/emotion-js/emotion/pull/1609) Thanks [@tomsseisums](https://github.com/tomsseisums)! - Reworked `Interpolation`-related types. Correct types should now be provided to all flavours of Emotion.\n\n### Minor Changes\n\n- [`5d692a6a`](https://github.com/emotion-js/emotion/commit/5d692a6a8102b3faabefb773dd0145b123668a07) [#1956](https://github.com/emotion-js/emotion/pull/1956) Thanks [@eps1lon](https://github.com/eps1lon)! - Upgraded [`csstype`](https://www.npmjs.com/package/csstype) dependency to its v3. This is what we use to provide TypeScript typings for object styles. The upgrade should not affect any consuming code but it's worth mentioning if any edge case scenarios arise.\n\n### Patch Changes\n\n- [`e3d7db87`](https://github.com/emotion-js/emotion/commit/e3d7db87deaac95817404760112417ac1fa1b56d) [#1732](https://github.com/emotion-js/emotion/pull/1732) Thanks [@Andarist](https://github.com/Andarist)! - An additional semicolon is now inserted after interpolated arrays to cover cases when it doesn't have a trailing semi itself and thus breaking composition with styles coming after it.\n\n* [`8a896a31`](https://github.com/emotion-js/emotion/commit/8a896a31434a1d2f69e1f1467c446c884c929387) [#1611](https://github.com/emotion-js/emotion/pull/1611) Thanks [@Andarist](https://github.com/Andarist)! - Throw error about invalid content property values instead of just logging error to the console.\n\n- [`5c55fd17`](https://github.com/emotion-js/emotion/commit/5c55fd17dcaec84d1f5d5d13ae90dd336d7e4403) [#1653](https://github.com/emotion-js/emotion/pull/1653) Thanks [@Andarist](https://github.com/Andarist)! - Fix to what location generated source maps are pointing in case of composed styles.\n\n* [`a085003d`](https://github.com/emotion-js/emotion/commit/a085003d4c8ca284c116668d7217fb747802ed85) [#1613](https://github.com/emotion-js/emotion/pull/1613) Thanks [@Andarist](https://github.com/Andarist)! - Add missing `#__PURE__` annotations\n\n* Updated dependencies [[`debaad9a`](https://github.com/emotion-js/emotion/commit/debaad9ab4bd6c80312092826d9146f3d29c0899), [`9e998e37`](https://github.com/emotion-js/emotion/commit/9e998e3755c217027ad1be0af4c64644fe14c6bf)]:\n  - @emotion/utils@1.0.0\n\n## 1.0.0-rc.0\n\n### Major Changes\n\n- [`9c4ebc16`](https://github.com/emotion-js/emotion/commit/9c4ebc160471097c5d04fb92dba3ed0df870bb63) [#2030](https://github.com/emotion-js/emotion/pull/2030) Thanks [@Andarist](https://github.com/Andarist)! - Release candidate version.\n\n### Patch Changes\n\n- Updated dependencies [[`9c4ebc16`](https://github.com/emotion-js/emotion/commit/9c4ebc160471097c5d04fb92dba3ed0df870bb63)]:\n  - @emotion/utils@1.0.0-rc.0\n\n## 1.0.0-next.5\n\n### Patch Changes\n\n- [`76e3dc4d`](https://github.com/emotion-js/emotion/commit/76e3dc4dd3e76423aa5d527b3e66fe3be1722e5a) [#2009](https://github.com/emotion-js/emotion/pull/2009) Thanks [@Andarist](https://github.com/Andarist)! - Re-release latest prerelease version of this package as it has incorrectly been \"downgraded\" to 0.x version due to a bug in Changesets. This has caused problems because Emotion 10 had a newer 0.x release and thus version targeting Emotion 10 has been fetched on installs as it has been satisfying the specified dependency range.\n\n## 0.11.15-next.4\n\n### Patch Changes\n\n- Updated dependencies [[`debaad9a`](https://github.com/emotion-js/emotion/commit/debaad9ab4bd6c80312092826d9146f3d29c0899)]:\n  - @emotion/utils@1.0.0-next.1\n\n## 1.0.0-next.3\n\n### Minor Changes\n\n- [`5d692a6a`](https://github.com/emotion-js/emotion/commit/5d692a6a8102b3faabefb773dd0145b123668a07) [#1956](https://github.com/emotion-js/emotion/pull/1956) Thanks [@eps1lon](https://github.com/eps1lon)! - Upgraded [`csstype`](https://www.npmjs.com/package/csstype) dependency to its v3. This is what we use to provide TypeScript typings for object styles. The upgrade should not affect any consuming code but it's worth mentioning if any edge case scenarios arise.\n\n## 0.11.15-next.2\n\n### Patch Changes\n\n- Updated dependencies [[`9e998e37`](https://github.com/emotion-js/emotion/commit/9e998e3755c217027ad1be0af4c64644fe14c6bf)]:\n  - @emotion/utils@1.0.0-next.0\n\n## 1.0.0-next.1\n\n### Patch Changes\n\n- [`e3d7db87`](https://github.com/emotion-js/emotion/commit/e3d7db87deaac95817404760112417ac1fa1b56d) [#1732](https://github.com/emotion-js/emotion/pull/1732) Thanks [@Andarist](https://github.com/Andarist)! - An additional semicolon is now inserted after interpolated arrays to cover cases when it doesn't have a trailing semi itself and thus breaking composition with styles coming after it.\n\n## 0.11.15-next.4\n\n### Patch Changes\n\n- [`f08ef5a3`](https://github.com/emotion-js/emotion/commit/f08ef5a316c1d05bff8e7f3690781e1089a263c6) [#1726](https://github.com/emotion-js/emotion/pull/1726) Thanks [@Andarist](https://github.com/Andarist)! - Removed leftover `@emotion/react` import from type definition file.\n\n## 0.12.0-next.3\n\n### Minor Changes\n\n- [`c643107`](https://github.com/emotion-js/emotion/commit/c6431074cf52a4bb64587c86ce5d42fe2d49230b) [#1609](https://github.com/emotion-js/emotion/pull/1609) Thanks [@joltmode](https://github.com/joltmode)! - Reworked Interpolation-related types. Correct types should now be provided to all flavours of emotion.\n\n## 0.11.15-next.2\n\n### Patch Changes\n\n- [`5c55fd17`](https://github.com/emotion-js/emotion/commit/5c55fd17dcaec84d1f5d5d13ae90dd336d7e4403) [#1653](https://github.com/emotion-js/emotion/pull/1653) Thanks [@Andarist](https://github.com/Andarist)! - Fix to what location generated source maps are pointing in case of composed styles.\n\n* [`729ef9d8`](https://github.com/emotion-js/emotion/commit/729ef9d8408af82c7a63effc1b8728f79c66bed1) Thanks [@Andarist](https://github.com/Andarist)! - Update `csstype` dependency.\n\n## 0.11.15-next.1\n\n### Patch Changes\n\n- [`8a896a31`](https://github.com/emotion-js/emotion/commit/8a896a31434a1d2f69e1f1467c446c884c929387) [#1611](https://github.com/emotion-js/emotion/pull/1611) Thanks [@Andarist](https://github.com/Andarist)! - Throw error about invalid content property values instead of just logging error to the console.\n\n* [`a085003d`](https://github.com/emotion-js/emotion/commit/a085003d4c8ca284c116668d7217fb747802ed85) [#1613](https://github.com/emotion-js/emotion/pull/1613) Thanks [@Andarist](https://github.com/Andarist)! - Add missing `#__PURE__` annotations\n\n## 1.0.0-next.0\n\n### Major Changes\n\n- [`a72e6dc0`](https://github.com/emotion-js/emotion/commit/a72e6dc0f326b7d3d6067698d433018ee8c4cbf1) [#1501](https://github.com/emotion-js/emotion/pull/1501) Thanks [@JakeGinnivan](https://github.com/JakeGinnivan)! - TypeScript types have been restructured. These changes:\n\n  - Reduce build times when using emotion\n  - In many cases remove the need for manually specifying generic parameters for your emotion components.\n\n  If you encounter build issues after upgrade, try removing any manually specified generic types and let them be inferred. Otherwise refer to the breaking changes list below.\n\n  ## Improvements\n\n  - useTheme added to EmotionTheming interface and can now create your own closed variation of withTheme. More information in the docs under the theming section.\n  - Union types as props are better supported and should be inferred properly\n  - Build times should be reduced significantly in larger projects.\n\n  ## Breaking changes\n\n  - withTheme can now have the Theme type specified when calling it. For example `withTheme<MyTheme>(MyComponent)`\n\n    **Breaking change:** Generic argument changed, if you were specifying the ComponentType you will need to remove the generic parameter. Recommend following example setup in the TypeScript docs under theming section\n\n  - `css` function has been restricted to prevent passing of invalid types\n  - `CreateStyled` functions no longer take a second `ExtraProps` argument. Instead move it to after the create styled call. For example\n\n    `styled<typeof MyComponent, ExtraProps>(MyComponent)({})`\n    to\n    `styled(MyComponent)<ExtraProps>({})`\n\n  - `StyledComponent` type no longer supports the third generic `Theme` parameter. Instead add the `theme` prop to the first `Props` argument. For example:\n\n    `StyledComponent<Props, {}, MyTheme>`\n    to\n    `StyledComponent<Props & { theme?: MyTheme }>`\n\n## 0.11.16\n\n### Patch Changes\n\n- Updated dependencies [[`446e756`](https://github.com/emotion-js/emotion/commit/446e75661c4aa01e51d1466472a212940c19cd82)]:\n  - @emotion/hash@0.8.0\n\n## 0.11.15\n\n### Patch Changes\n\n- [`4c62ae9`](https://github.com/emotion-js/emotion/commit/4c62ae9447959d438928e1a26f76f1487983c968) [#1698](https://github.com/emotion-js/emotion/pull/1698) Thanks [@Andarist](https://github.com/Andarist)! - Add LICENSE file\n- Updated dependencies [[`4c62ae9`](https://github.com/emotion-js/emotion/commit/4c62ae9447959d438928e1a26f76f1487983c968)]:\n  - @emotion/hash@0.7.4\n  - @emotion/memoize@0.7.4\n  - @emotion/unitless@0.7.5\n  - @emotion/utils@0.11.3\n\n## 0.11.14\n\n### Patch Changes\n\n- [`a55f3d49`](https://github.com/emotion-js/emotion/commit/a55f3d49c2febdf7eb1bede3f12da13c3efa1399) [#1581](https://github.com/emotion-js/emotion/pull/1581) Thanks [@Andarist](https://github.com/Andarist)! - Don't cause invalid rule to be serialized when using object style with falsy value\n\n* [`ca95f385`](https://github.com/emotion-js/emotion/commit/ca95f385f7ce3da6d53de1a652b3b219f11434c4) [#1580](https://github.com/emotion-js/emotion/pull/1580) Thanks [@Andarist](https://github.com/Andarist)! - Warn about `undefined` being used as object style's key\n\n## 0.11.13\n\n### Patch Changes\n\n- [`3b7e2f2e`](https://github.com/emotion-js/emotion/commit/3b7e2f2e27499b7263341bb83cfc20c8fc51d237) Thanks [@emmatown](https://github.com/emmatown)! - Fix flow errors\n\n## 0.11.12\n\n### Patch Changes\n\n- [`4fc5657a`](https://github.com/emotion-js/emotion/commit/4fc5657ac8d0002322321cfbfc254b7196d27387) [#1219](https://github.com/emotion-js/emotion/pull/1219) Thanks [@Andarist](https://github.com/Andarist)! - Add dev hint about css object being stringified by accident\n\n* [`10211951`](https://github.com/emotion-js/emotion/commit/10211951051729b149930a8646de14bae9ae1bbc) [#1553](https://github.com/emotion-js/emotion/pull/1553) Thanks [@Andarist](https://github.com/Andarist)! - Add dev warning about keyframes being interpolated into plain strings.\n\n- [`57a767ea`](https://github.com/emotion-js/emotion/commit/57a767ea3dd18eefbbdc7269cc13128caad65286) [#1560](https://github.com/emotion-js/emotion/pull/1560) Thanks [@Andarist](https://github.com/Andarist)! - Fix composition of styles without a final semicolon in a declaration block\n\n## 0.11.11\n\n- Updated dependencies [c81c0033]:\n  - @emotion/hash@0.7.3\n  - @emotion/memoize@0.7.3\n\n## 0.11.10\n\n### Patch Changes\n\n- [66cda641](https://github.com/emotion-js/emotion/commit/66cda64128631790b81e3c9df273a972358ea593) [#1478](https://github.com/emotion-js/emotion/pull/1478) Thanks [@Andarist](https://github.com/Andarist)! - Add warnings about using illegal escape sequences\n\n## 0.11.9\n\n### Patch Changes\n\n- [c257d2a3](https://github.com/emotion-js/emotion/commit/c257d2a3) [#1420](https://github.com/emotion-js/emotion/pull/1420) Thanks [@Andarist](https://github.com/Andarist)! - Fix for opaque keyframes object being used as value for animation & animationName in object styles\n\n## 0.11.8\n\n### Patch Changes\n\n- [c0eb604d](https://github.com/emotion-js/emotion/commit/c0eb604d) [#1419](https://github.com/emotion-js/emotion/pull/1419) Thanks [@emmatown](https://github.com/emmatown)! - Update build tool\n\n## 0.11.7\n\n### Patch Changes\n\n- [757bd86d](https://github.com/emotion-js/emotion/commit/757bd86d) [#1378](https://github.com/emotion-js/emotion/pull/1378) Thanks [@Andarist](https://github.com/Andarist)! - Fixed issue with camelCased custom properties not being handled correctly in object styles\n"
  },
  {
    "path": "packages/serialize/LICENSE",
    "content": "MIT License\n\nCopyright (c) Emotion team and other contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "packages/serialize/package.json",
    "content": "{\n  \"name\": \"@emotion/serialize\",\n  \"version\": \"1.3.3\",\n  \"description\": \"serialization utils for emotion\",\n  \"main\": \"dist/emotion-serialize.cjs.js\",\n  \"module\": \"dist/emotion-serialize.esm.js\",\n  \"types\": \"dist/emotion-serialize.cjs.d.ts\",\n  \"license\": \"MIT\",\n  \"repository\": \"https://github.com/emotion-js/emotion/tree/main/packages/serialize\",\n  \"publishConfig\": {\n    \"access\": \"public\"\n  },\n  \"scripts\": {\n    \"test:typescript\": \"dtslint types\"\n  },\n  \"dependencies\": {\n    \"@emotion/hash\": \"^0.9.2\",\n    \"@emotion/memoize\": \"^0.9.0\",\n    \"@emotion/unitless\": \"^0.10.0\",\n    \"@emotion/utils\": \"^1.4.2\",\n    \"csstype\": \"^3.0.2\"\n  },\n  \"devDependencies\": {\n    \"@definitelytyped/dtslint\": \"0.0.112\",\n    \"typescript\": \"^5.4.5\"\n  },\n  \"files\": [\n    \"src\",\n    \"dist\"\n  ],\n  \"exports\": {\n    \".\": {\n      \"types\": {\n        \"import\": \"./dist/emotion-serialize.cjs.mjs\",\n        \"default\": \"./dist/emotion-serialize.cjs.js\"\n      },\n      \"development\": {\n        \"module\": \"./dist/emotion-serialize.development.esm.js\",\n        \"import\": \"./dist/emotion-serialize.development.cjs.mjs\",\n        \"default\": \"./dist/emotion-serialize.development.cjs.js\"\n      },\n      \"module\": \"./dist/emotion-serialize.esm.js\",\n      \"import\": \"./dist/emotion-serialize.cjs.mjs\",\n      \"default\": \"./dist/emotion-serialize.cjs.js\"\n    },\n    \"./package.json\": \"./package.json\"\n  },\n  \"imports\": {\n    \"#is-development\": {\n      \"development\": \"./src/conditions/true.ts\",\n      \"default\": \"./src/conditions/false.ts\"\n    }\n  }\n}\n"
  },
  {
    "path": "packages/serialize/src/conditions/false.ts",
    "content": "export default false as boolean\n"
  },
  {
    "path": "packages/serialize/src/conditions/true.ts",
    "content": "export default true as boolean\n"
  },
  {
    "path": "packages/serialize/src/index.ts",
    "content": "import type { RegisteredCache, SerializedStyles } from '@emotion/utils'\nimport hashString from '@emotion/hash'\nimport unitless from '@emotion/unitless'\nimport memoize from '@emotion/memoize'\nimport isDevelopment from '#is-development'\nimport * as CSS from 'csstype'\n\nexport type { RegisteredCache, SerializedStyles }\n\ntype Cursor = {\n  name: string\n  styles: string\n  next?: Cursor\n}\n\nexport type CSSProperties = CSS.PropertiesFallback<number | string>\nexport type CSSPropertiesWithMultiValues = {\n  [K in keyof CSSProperties]:\n    | CSSProperties[K]\n    | ReadonlyArray<Extract<CSSProperties[K], string>>\n}\n\nexport type CSSPseudos = { [K in CSS.Pseudos]?: CSSObject }\n\nexport interface ArrayCSSInterpolation\n  extends ReadonlyArray<CSSInterpolation> {}\n\nexport type InterpolationPrimitive =\n  | null\n  | undefined\n  | boolean\n  | number\n  | string\n  | ComponentSelector\n  | Keyframes\n  | SerializedStyles\n  | CSSObject\n\nexport type CSSInterpolation = InterpolationPrimitive | ArrayCSSInterpolation\n\nexport interface CSSOthersObject {\n  [propertiesName: string]: CSSInterpolation\n}\n\nexport interface CSSObject\n  extends CSSPropertiesWithMultiValues,\n    CSSPseudos,\n    CSSOthersObject {}\n\nexport interface ComponentSelector {\n  __emotion_styles: any\n}\n\nexport type Keyframes = {\n  name: string\n  styles: string\n  anim: number\n  toString: () => string\n} & string\n\nexport interface ArrayInterpolation<Props = unknown>\n  extends ReadonlyArray<Interpolation<Props>> {}\n\nexport interface FunctionInterpolation<Props = unknown> {\n  (props: Props): Interpolation<Props>\n}\n\nexport type Interpolation<Props = unknown> =\n  | InterpolationPrimitive\n  | ArrayInterpolation<Props>\n  | FunctionInterpolation<Props>\n\nconst ILLEGAL_ESCAPE_SEQUENCE_ERROR = `You have illegal escape sequence in your template literal, most likely inside content's property value.\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \"content: '\\\\00d7';\" should become \"content: '\\\\\\\\00d7';\".\nYou can read more about this here:\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences`\n\nconst UNDEFINED_AS_OBJECT_KEY_ERROR =\n  \"You have passed in falsy value as style object's key (can happen when in example you pass unexported component as computed key).\"\n\nlet hyphenateRegex = /[A-Z]|^ms/g\nlet animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g\n\nconst isCustomProperty = (property: string) => property.charCodeAt(1) === 45\nconst isProcessableValue = (value: Interpolation) =>\n  value != null && typeof value !== 'boolean'\n\nconst processStyleName = /* #__PURE__ */ memoize((styleName: string) =>\n  isCustomProperty(styleName)\n    ? styleName\n    : styleName.replace(hyphenateRegex, '-$&').toLowerCase()\n)\n\nlet processStyleValue = (\n  key: string,\n  value: string | number\n): string | number => {\n  switch (key) {\n    case 'animation':\n    case 'animationName': {\n      if (typeof value === 'string') {\n        return value.replace(animationRegex, (match, p1, p2) => {\n          cursor = {\n            name: p1,\n            styles: p2,\n            next: cursor\n          }\n          return p1\n        })\n      }\n    }\n  }\n\n  if (\n    unitless[key as keyof typeof unitless] !== 1 &&\n    !isCustomProperty(key) &&\n    typeof value === 'number' &&\n    value !== 0\n  ) {\n    return value + 'px'\n  }\n  return value\n}\n\nif (isDevelopment) {\n  let contentValuePattern =\n    /(var|attr|counters?|url|element|(((repeating-)?(linear|radial))|conic)-gradient)\\(|(no-)?(open|close)-quote/\n  let contentValues = ['normal', 'none', 'initial', 'inherit', 'unset']\n\n  let oldProcessStyleValue = processStyleValue\n\n  let msPattern = /^-ms-/\n  let hyphenPattern = /-(.)/g\n\n  let hyphenatedCache: Record<string, boolean | undefined> = {}\n\n  processStyleValue = (key: string, value: string | number) => {\n    if (key === 'content') {\n      if (\n        typeof value !== 'string' ||\n        (contentValues.indexOf(value) === -1 &&\n          !contentValuePattern.test(value) &&\n          (value.charAt(0) !== value.charAt(value.length - 1) ||\n            (value.charAt(0) !== '\"' && value.charAt(0) !== \"'\")))\n      ) {\n        throw new Error(\n          `You seem to be using a value for 'content' without quotes, try replacing it with \\`content: '\"${value}\"'\\``\n        )\n      }\n    }\n\n    const processed = oldProcessStyleValue(key, value)\n\n    if (\n      processed !== '' &&\n      !isCustomProperty(key) &&\n      key.indexOf('-') !== -1 &&\n      hyphenatedCache[key] === undefined\n    ) {\n      hyphenatedCache[key] = true\n      console.error(\n        `Using kebab-case for css properties in objects is not supported. Did you mean ${key\n          .replace(msPattern, 'ms-')\n          .replace(hyphenPattern, (str, char) => char.toUpperCase())}?`\n      )\n    }\n\n    return processed\n  }\n}\n\nconst noComponentSelectorMessage =\n  'Component selectors can only be used in conjunction with ' +\n  '@emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware ' +\n  'compiler transform.'\n\nfunction handleInterpolation(\n  mergedProps: unknown | undefined,\n  registered: RegisteredCache | undefined,\n  interpolation: Interpolation\n): string | number {\n  if (interpolation == null) {\n    return ''\n  }\n  const componentSelector = interpolation as ComponentSelector\n  if (componentSelector.__emotion_styles !== undefined) {\n    if (\n      isDevelopment &&\n      String(componentSelector) === 'NO_COMPONENT_SELECTOR'\n    ) {\n      throw new Error(noComponentSelectorMessage)\n    }\n    return componentSelector as unknown as string\n  }\n\n  switch (typeof interpolation) {\n    case 'boolean': {\n      return ''\n    }\n    case 'object': {\n      const keyframes = interpolation as Keyframes\n      if (keyframes.anim === 1) {\n        cursor = {\n          name: keyframes.name,\n          styles: keyframes.styles,\n          next: cursor\n        }\n\n        return keyframes.name\n      }\n      const serializedStyles = interpolation as SerializedStyles\n      if (serializedStyles.styles !== undefined) {\n        let next = serializedStyles.next\n        if (next !== undefined) {\n          // not the most efficient thing ever but this is a pretty rare case\n          // and there will be very few iterations of this generally\n          while (next !== undefined) {\n            cursor = {\n              name: next.name,\n              styles: next.styles,\n              next: cursor\n            }\n            next = next.next\n          }\n        }\n        let styles = `${serializedStyles.styles};`\n        return styles\n      }\n\n      return createStringFromObject(\n        mergedProps,\n        registered,\n        interpolation as ArrayInterpolation | CSSObject\n      )\n    }\n    case 'function': {\n      if (mergedProps !== undefined) {\n        let previousCursor = cursor\n        let result = interpolation(mergedProps)\n        cursor = previousCursor\n\n        return handleInterpolation(mergedProps, registered, result)\n      } else if (isDevelopment) {\n        console.error(\n          'Functions that are interpolated in css calls will be stringified.\\n' +\n            'If you want to have a css call based on props, create a function that returns a css call like this\\n' +\n            'let dynamicStyle = (props) => css`color: ${props.color}`\\n' +\n            'It can be called directly with props or interpolated in a styled call like this\\n' +\n            \"let SomeComponent = styled('div')`${dynamicStyle}`\"\n        )\n      }\n      break\n    }\n    case 'string':\n      if (isDevelopment) {\n        const matched: string[] = []\n        const replaced = interpolation.replace(\n          animationRegex,\n          (_match, _p1, p2) => {\n            const fakeVarName = `animation${matched.length}`\n            matched.push(\n              `const ${fakeVarName} = keyframes\\`${p2.replace(\n                /^@keyframes animation-\\w+/,\n                ''\n              )}\\``\n            )\n            return `\\${${fakeVarName}}`\n          }\n        )\n        if (matched.length) {\n          console.error(\n            `\\`keyframes\\` output got interpolated into plain string, please wrap it with \\`css\\`.\n\nInstead of doing this:\n\n${[...matched, `\\`${replaced}\\``].join('\\n')}\n\nYou should wrap it with \\`css\\` like this:\n\ncss\\`${replaced}\\``\n          )\n        }\n      }\n      break\n  }\n\n  // finalize string values (regular strings and functions interpolated into css calls)\n  const asString = interpolation as string\n  if (registered == null) {\n    return asString\n  }\n  const cached = registered[asString]\n  return cached !== undefined ? cached : asString\n}\n\nfunction createStringFromObject(\n  mergedProps: unknown | undefined,\n  registered: RegisteredCache | undefined,\n  obj: ArrayInterpolation | CSSObject\n): string {\n  let string = ''\n\n  if (Array.isArray(obj)) {\n    for (let i = 0; i < obj.length; i++) {\n      string += `${handleInterpolation(mergedProps, registered, obj[i])};`\n    }\n  } else {\n    for (let key in obj) {\n      let value: unknown = obj[key as never]\n      if (typeof value !== 'object') {\n        const asString = value as string\n        if (registered != null && registered[asString] !== undefined) {\n          string += `${key}{${registered[asString]}}`\n        } else if (isProcessableValue(asString)) {\n          string += `${processStyleName(key)}:${processStyleValue(\n            key,\n            asString\n          )};`\n        }\n      } else {\n        if (key === 'NO_COMPONENT_SELECTOR' && isDevelopment) {\n          throw new Error(noComponentSelectorMessage)\n        }\n        if (\n          Array.isArray(value) &&\n          typeof value[0] === 'string' &&\n          (registered == null || registered[value[0]] === undefined)\n        ) {\n          for (let i = 0; i < value.length; i++) {\n            if (isProcessableValue(value[i])) {\n              string += `${processStyleName(key)}:${processStyleValue(\n                key,\n                value[i] as string | number\n              )};`\n            }\n          }\n        } else {\n          const interpolated = handleInterpolation(\n            mergedProps,\n            registered,\n            value as Interpolation\n          )\n          switch (key) {\n            case 'animation':\n            case 'animationName': {\n              string += `${processStyleName(key)}:${interpolated};`\n              break\n            }\n            default: {\n              if (isDevelopment && key === 'undefined') {\n                console.error(UNDEFINED_AS_OBJECT_KEY_ERROR)\n              }\n              string += `${key}{${interpolated}}`\n            }\n          }\n        }\n      }\n    }\n  }\n\n  return string\n}\n\nlet labelPattern = /label:\\s*([^\\s;{]+)\\s*(;|$)/g\n\n// this is the cursor for keyframes\n// keyframes are stored on the SerializedStyles object as a linked list\nlet cursor: Cursor | undefined\n\nexport function serializeStyles<Props>(\n  args: Array<TemplateStringsArray | Interpolation<Props>>,\n  registered?: RegisteredCache,\n  mergedProps?: Props\n): SerializedStyles\nexport function serializeStyles(\n  args: Array<TemplateStringsArray | Interpolation<unknown>>,\n  registered?: RegisteredCache,\n  mergedProps?: unknown\n): SerializedStyles {\n  if (\n    args.length === 1 &&\n    typeof args[0] === 'object' &&\n    args[0] !== null &&\n    (args[0] as SerializedStyles).styles !== undefined\n  ) {\n    return args[0] as SerializedStyles\n  }\n  let stringMode = true\n  let styles = ''\n\n  cursor = undefined\n  let strings = args[0]\n  if (strings == null || (strings as TemplateStringsArray).raw === undefined) {\n    stringMode = false\n    styles += handleInterpolation(\n      mergedProps,\n      registered,\n      strings as Interpolation\n    )\n  } else {\n    const templateStringsArr = strings as TemplateStringsArray\n    if (isDevelopment && templateStringsArr[0] === undefined) {\n      console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR)\n    }\n    styles += templateStringsArr[0]\n  }\n  // we start at 1 since we've already handled the first arg\n  for (let i = 1; i < args.length; i++) {\n    styles += handleInterpolation(\n      mergedProps,\n      registered,\n      args[i] as Interpolation\n    )\n    if (stringMode) {\n      const templateStringsArr = strings as TemplateStringsArray\n      if (isDevelopment && templateStringsArr[i] === undefined) {\n        console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR)\n      }\n      styles += templateStringsArr[i]\n    }\n  }\n\n  // using a global regex with .exec is stateful so lastIndex has to be reset each time\n  labelPattern.lastIndex = 0\n  let identifierName = ''\n\n  let match\n  // https://esbench.com/bench/5b809c2cf2949800a0f61fb5\n  while ((match = labelPattern.exec(styles)) !== null) {\n    identifierName += '-' + match[1]\n  }\n\n  let name = hashString(styles) + identifierName\n\n  if (isDevelopment) {\n    const devStyles = {\n      name,\n      styles,\n      next: cursor,\n      toString() {\n        return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\"\n      }\n    }\n    return devStyles\n  }\n  return {\n    name,\n    styles,\n    next: cursor\n  }\n}\n"
  },
  {
    "path": "packages/serialize/types/index.d.ts",
    "content": "export * from '..'\n"
  },
  {
    "path": "packages/serialize/types/tests.ts",
    "content": "import { CSSObject, Keyframes, serializeStyles } from '@emotion/serialize'\n\ndeclare const testTemplateStringsArray: TemplateStringsArray\ndeclare const testKeyframes: Keyframes\n\nconst testCSSObject0: CSSObject = {\n  animation: testKeyframes\n}\nconst testCSSObject1: CSSObject = {\n  animationName: testKeyframes\n}\n\n// $ExpectType SerializedStyles\nserializeStyles([], {})\n// $ExpectType SerializedStyles\nserializeStyles([], {\n  'emotion-cache': 'width: 200px'\n})\n// $ExpectType SerializedStyles\nserializeStyles([], {}, {})\n// $ExpectType SerializedStyles\nserializeStyles(['abc'], {}, {})\n// $ExpectType SerializedStyles\nserializeStyles(['width: 200px;'], {}, {})\n// $ExpectType SerializedStyles\nserializeStyles([() => 'height: 300px;'], {}, {})\n// $ExpectType SerializedStyles\nserializeStyles(\n  [\n    'display: block;',\n    {\n      flexGrow: 1,\n      backgroundColor: 'red'\n    }\n  ],\n  {},\n  {}\n)\n// $ExpectType SerializedStyles\nserializeStyles([testTemplateStringsArray, 5, '4px'], {}, {})\n\n// $ExpectError\nserializeStyles()\n// $ExpectError\nserializeStyles({})\n// $ExpectError\nserializeStyles({}, {})\n\nlet cssObject: CSSObject = {\n  fontWeight: 400,\n  background: ['red'],\n  otherProp: ['some-value'],\n  ':hover': {\n    fontWeight: 700,\n    background: ['red'] as const,\n    otherProp: ['some-value'] as const\n  }\n}\n\n// $ExpectError\ncssObject = { fontWeight: 'wrong' }\n"
  },
  {
    "path": "packages/serialize/types/tsconfig.json",
    "content": "{\n  \"compilerOptions\": {\n    \"baseUrl\": \"../\",\n    \"forceConsistentCasingInFileNames\": true,\n    \"jsx\": \"react\",\n    \"lib\": [\"es6\", \"dom\"],\n    \"module\": \"commonjs\",\n    \"noEmit\": true,\n    \"strict\": true,\n    \"target\": \"es5\",\n    \"typeRoots\": [\"../\"],\n    \"types\": [],\n    \"paths\": {\n      \"#is-browser\": [\"./src/conditions/true.ts\"],\n      \"#is-development\": [\"./src/conditions/true.ts\"]\n    }\n  },\n  \"include\": [\"./*.ts\", \"./*.tsx\"]\n}\n"
  },
  {
    "path": "packages/serialize/types/tslint.json",
    "content": "{\n  \"extends\": \"@definitelytyped/dtslint/dtslint.json\",\n  \"rules\": {\n    \"array-type\": [true, \"generic\"],\n    \"semicolon\": false,\n    \"no-null-undefined-union\": false,\n    \"callable-types\": false\n  }\n}\n"
  },
  {
    "path": "packages/server/CHANGELOG.md",
    "content": "# @emotion/server\n\n## 11.11.0\n\n### Patch Changes\n\n- [#3029](https://github.com/emotion-js/emotion/pull/3029) [`eed5e6cf`](https://github.com/emotion-js/emotion/commit/eed5e6cf00f94f3011b93825ccce43cb2270c247) Thanks [@Andarist](https://github.com/Andarist)! - Fixed importing in Node ESM\n\n- Updated dependencies [[`eed5e6cf`](https://github.com/emotion-js/emotion/commit/eed5e6cf00f94f3011b93825ccce43cb2270c247)]:\n  - @emotion/utils@1.2.1\n\n## 11.10.0\n\n### Minor Changes\n\n- [#2819](https://github.com/emotion-js/emotion/pull/2819) [`bbad8c79`](https://github.com/emotion-js/emotion/commit/bbad8c79937f8dfd5d93bf485c1e9ec44124d228) Thanks [@nicksrandall](https://github.com/nicksrandall)! - `exports` field has been added to the `package.json` manifest. It limits what files can be imported from a package but we've tried our best to allow importing all the files that were considered to be a part of the public API.\n\n### Patch Changes\n\n- [#2835](https://github.com/emotion-js/emotion/pull/2835) [`fa7f494d`](https://github.com/emotion-js/emotion/commit/fa7f494d13fbcbad8a1fb765acba0610e084b7e5) Thanks [@manishco](https://github.com/manishco)! - Added missing TypeScript declarations for `extractCriticalToChunks` and `constructStyleTagsFromChunks` exports.\n\n- Updated dependencies [[`bbad8c79`](https://github.com/emotion-js/emotion/commit/bbad8c79937f8dfd5d93bf485c1e9ec44124d228), [`bbad8c79`](https://github.com/emotion-js/emotion/commit/bbad8c79937f8dfd5d93bf485c1e9ec44124d228)]:\n  - @emotion/utils@1.2.0\n\n## 11.4.0\n\n### Minor Changes\n\n- [#2334](https://github.com/emotion-js/emotion/pull/2334) [`7d9e74f8`](https://github.com/emotion-js/emotion/commit/7d9e74f8f0d0e0ea60573a19965eded61dc41024) Thanks [@mnajdova](https://github.com/mnajdova)! - Added `extractCriticalToChunks` that allows the Global component to remove styles on unmount unlike `extractCritical` along with `constructStyleTagsFromChunks` to render the chunks to style tags.\n\n## 11.0.0\n\n### Major Changes\n\n- [`b8476e08`](https://github.com/emotion-js/emotion/commit/b8476e08af4a2e8de94a112cb0daf6e8e4d56fe1) [#1675](https://github.com/emotion-js/emotion/pull/1675) Thanks [@emmatown](https://github.com/emmatown)! - Rename `emotion-server` to `@emotion/server`. Please change any imports of `emotion-server` to import `@emotion/server` or use the `@emotion/pkg-renaming` ESLint rule from `@emotion/eslint-plugin`.\n\n* [`b8476e08`](https://github.com/emotion-js/emotion/commit/b8476e08af4a2e8de94a112cb0daf6e8e4d56fe1) [#1675](https://github.com/emotion-js/emotion/pull/1675) Thanks [@emmatown](https://github.com/emmatown)! - Move `create-emotion-server` to `@emotion/server/create-instance`. Please change any imports of `create-emotion-server` to import `@emotion/server/create-instance` or use the `@emotion/pkg-renaming` ESLint rule from `@emotion/eslint-plugin`.\n\n* [`105de5c8`](https://github.com/emotion-js/emotion/commit/105de5c8752be0983c000e1e26462dc8fcf0708d) [#1572](https://github.com/emotion-js/emotion/pull/1572) Thanks [@Andarist](https://github.com/Andarist)! - `[data-emotion]` attribute on SSRed styled has changed. You should never rely on it though.\n\n### Patch Changes\n\n- Updated dependencies [[`debaad9a`](https://github.com/emotion-js/emotion/commit/debaad9ab4bd6c80312092826d9146f3d29c0899), [`9e998e37`](https://github.com/emotion-js/emotion/commit/9e998e3755c217027ad1be0af4c64644fe14c6bf)]:\n  - @emotion/utils@1.0.0\n\n## 11.0.0-rc.0\n\n### Major Changes\n\n- [`9c4ebc16`](https://github.com/emotion-js/emotion/commit/9c4ebc160471097c5d04fb92dba3ed0df870bb63) [#2030](https://github.com/emotion-js/emotion/pull/2030) Thanks [@Andarist](https://github.com/Andarist)! - Release candidate version.\n\n### Patch Changes\n\n- Updated dependencies [[`9c4ebc16`](https://github.com/emotion-js/emotion/commit/9c4ebc160471097c5d04fb92dba3ed0df870bb63)]:\n  - @emotion/css@11.0.0-rc.0\n  - @emotion/utils@1.0.0-rc.0\n\n## 11.0.0-next.19\n\n### Patch Changes\n\n- Updated dependencies []:\n  - @emotion/css@11.0.0-next.19\n\n## 11.0.0-next.17\n\n### Patch Changes\n\n- Updated dependencies []:\n  - @emotion/css@11.0.0-next.17\n\n## 11.0.0-next.16\n\n### Patch Changes\n\n- Updated dependencies [[`debaad9a`](https://github.com/emotion-js/emotion/commit/debaad9ab4bd6c80312092826d9146f3d29c0899)]:\n  - @emotion/utils@1.0.0-next.1\n  - @emotion/css@11.0.0-next.16\n\n## 11.0.0-next.15\n\n### Patch Changes\n\n- Updated dependencies [[`5d692a6a`](https://github.com/emotion-js/emotion/commit/5d692a6a8102b3faabefb773dd0145b123668a07)]:\n  - @emotion/css@11.0.0-next.15\n\n## 11.0.0-next.14\n\n### Patch Changes\n\n- Updated dependencies [[`6d32d82b`](https://github.com/emotion-js/emotion/commit/6d32d82beb45b18e5f18a37932b862ad19b17044)]:\n  - @emotion/css@11.0.0-next.14\n\n## 11.0.0-next.13\n\n### Patch Changes\n\n- Updated dependencies [[`5e803106`](https://github.com/emotion-js/emotion/commit/5e803106d391b7c036bdf634318b80337a1d9b70), [`9e998e37`](https://github.com/emotion-js/emotion/commit/9e998e3755c217027ad1be0af4c64644fe14c6bf), [`9e998e37`](https://github.com/emotion-js/emotion/commit/9e998e3755c217027ad1be0af4c64644fe14c6bf), [`9e998e37`](https://github.com/emotion-js/emotion/commit/9e998e3755c217027ad1be0af4c64644fe14c6bf)]:\n  - @emotion/babel-plugin@11.0.0-next.13\n  - @emotion/css@11.0.0-next.13\n  - @emotion/utils@1.0.0-next.0\n\n## 11.0.0-next.12\n\n### Major Changes\n\n- [`105de5c8`](https://github.com/emotion-js/emotion/commit/105de5c8752be0983c000e1e26462dc8fcf0708d) [#1572](https://github.com/emotion-js/emotion/pull/1572) Thanks [@Andarist](https://github.com/Andarist)! - `[data-emotion]` attribute on SSRed styled has changed. You should never rely on it though.\n\n### Patch Changes\n\n- Updated dependencies [[`5c7ec859`](https://github.com/emotion-js/emotion/commit/5c7ec85904633a11185066fa591dc8969f3f2ff2), [`5bea60b1`](https://github.com/emotion-js/emotion/commit/5bea60b1ffab85fbc965532006c3a94ea139f0bf), [`e3d7db87`](https://github.com/emotion-js/emotion/commit/e3d7db87deaac95817404760112417ac1fa1b56d), [`105de5c8`](https://github.com/emotion-js/emotion/commit/105de5c8752be0983c000e1e26462dc8fcf0708d)]:\n  - @emotion/babel-plugin@11.0.0-next.12\n  - @emotion/css@11.0.0-next.12\n\n## 11.0.0-next.10\n\n### Major Changes\n\n- [`b8476e08`](https://github.com/emotion-js/emotion/commit/b8476e08af4a2e8de94a112cb0daf6e8e4d56fe1) [#1675](https://github.com/emotion-js/emotion/pull/1675) Thanks [@emmatown](https://github.com/emmatown)! - Rename `emotion-server` to `@emotion/server`. Please change any imports of `emotion-server` to import `@emotion/server` or use the `@emotion/pkg-renaming` ESLint rule from `@emotion/eslint-plugin`.\n\n* [`b8476e08`](https://github.com/emotion-js/emotion/commit/b8476e08af4a2e8de94a112cb0daf6e8e4d56fe1) [#1675](https://github.com/emotion-js/emotion/pull/1675) Thanks [@emmatown](https://github.com/emmatown)! - Move `create-emotion-server` to `@emotion/server/create-instance`. Please change any imports of `create-emotion-server` to import `@emotion/server/create-instance` or use the `@emotion/pkg-renaming` ESLint rule from `@emotion/eslint-plugin`.\n\n### Patch Changes\n\n- Updated dependencies [[`b8476e08`](https://github.com/emotion-js/emotion/commit/b8476e08af4a2e8de94a112cb0daf6e8e4d56fe1), [`b8476e08`](https://github.com/emotion-js/emotion/commit/b8476e08af4a2e8de94a112cb0daf6e8e4d56fe1), [`c7850e61`](https://github.com/emotion-js/emotion/commit/c7850e61211d6aa26a3388399889a6072ee2f1fe), [`b8476e08`](https://github.com/emotion-js/emotion/commit/b8476e08af4a2e8de94a112cb0daf6e8e4d56fe1)]:\n  - @emotion/babel-plugin@11.0.0-next.10\n  - @emotion/css@11.0.0-next.10\n  - emotion@11.0.0-next.10\n\n## 11.0.0-next.0\n\n### Major Changes\n\n- [`302bdba1`](https://github.com/emotion-js/emotion/commit/302bdba1a6b793484c09edeb668815c5e31ea555) [#1600](https://github.com/emotion-js/emotion/pull/1600) Thanks [@emmatown](https://github.com/emmatown)! - Ensure packages are major bumped so that pre-release versions of the linked packages are consistent in the major number\n\n### Patch Changes\n\n- Updated dependencies [[`b0ad4f0c`](https://github.com/emotion-js/emotion/commit/b0ad4f0c628813a42c4637857be9a969429db6f0), [`302bdba1`](https://github.com/emotion-js/emotion/commit/302bdba1a6b793484c09edeb668815c5e31ea555)]:\n  - babel-plugin-emotion@11.0.0-next.0\n  - create-emotion-server@11.0.0-next.0\n  - emotion@11.0.0-next.0\n\n## 10.0.27\n\n### Patch Changes\n\n- [`4c62ae9`](https://github.com/emotion-js/emotion/commit/4c62ae9447959d438928e1a26f76f1487983c968) [#1698](https://github.com/emotion-js/emotion/pull/1698) Thanks [@Andarist](https://github.com/Andarist)! - Add LICENSE file\n- Updated dependencies [[`4c62ae9`](https://github.com/emotion-js/emotion/commit/4c62ae9447959d438928e1a26f76f1487983c968)]:\n  - babel-plugin-emotion@10.0.27\n  - create-emotion-server@10.0.27\n  - emotion@10.0.27\n\n## 10.0.17\n\n### Patch Changes\n\n- [16ff2330](https://github.com/emotion-js/emotion/commit/16ff233061e35fe71bfb1671da54ac12d6fc9eeb) [#1483](https://github.com/emotion-js/emotion/pull/1483) Thanks [@JakeGinnivan](https://github.com/JakeGinnivan)! - nth selector will no longer warn when using extract critical\n\n## 10.0.14\n\n### Patch Changes\n\n- [c0eb604d](https://github.com/emotion-js/emotion/commit/c0eb604d) [#1419](https://github.com/emotion-js/emotion/pull/1419) Thanks [@emmatown](https://github.com/emmatown)! - Update build tool\n"
  },
  {
    "path": "packages/server/LICENSE",
    "content": "MIT License\n\nCopyright (c) Emotion team and other contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "packages/server/README.md",
    "content": "# @emotion/server\n\n> Extract and inline critical css with emotion.\n\n`@emotion/server` provides three APIs for doing server-side rendering with emotion to extract critical css, inline critical css in html to a string and inline critical css in html to a stream.\n\n[`@emotion/server`'s APIs are documented here.](https://emotion.sh/docs/ssr)\n\n```bash\nnpm install --save @emotion/css @emotion/server\n```\n"
  },
  {
    "path": "packages/server/create-instance/package.json",
    "content": "{\n  \"main\": \"dist/emotion-server-create-instance.cjs.js\",\n  \"module\": \"dist/emotion-server-create-instance.esm.js\",\n  \"types\": \"../types/create-instance\"\n}\n"
  },
  {
    "path": "packages/server/package.json",
    "content": "{\n  \"name\": \"@emotion/server\",\n  \"version\": \"11.11.0\",\n  \"description\": \"Extract and inline critical css with emotion for server side rendering.\",\n  \"main\": \"dist/emotion-server.cjs.js\",\n  \"module\": \"dist/emotion-server.esm.js\",\n  \"types\": \"types/index.d.ts\",\n  \"files\": [\n    \"src\",\n    \"dist\",\n    \"types/*.d.ts\",\n    \"create-instance\"\n  ],\n  \"scripts\": {\n    \"test:typescript\": \"dtslint types\"\n  },\n  \"dependencies\": {\n    \"@emotion/utils\": \"^1.4.2\",\n    \"html-tokenize\": \"^2.0.0\",\n    \"multipipe\": \"^1.0.2\",\n    \"through\": \"^2.3.8\"\n  },\n  \"peerDependencies\": {\n    \"@emotion/css\": \"^11.0.0-rc.0\"\n  },\n  \"peerDependenciesMeta\": {\n    \"@emotion/css\": {\n      \"optional\": true\n    }\n  },\n  \"devDependencies\": {\n    \"@definitelytyped/dtslint\": \"0.0.112\",\n    \"@emotion/babel-plugin\": \"11.13.5\",\n    \"@emotion/css\": \"11.13.5\",\n    \"@emotion/css-prettifier\": \"1.2.0\",\n    \"@types/node\": \"^12.20.37\",\n    \"typescript\": \"^5.4.5\"\n  },\n  \"author\": \"Kye Hohenberger\",\n  \"homepage\": \"https://emotion.sh\",\n  \"license\": \"MIT\",\n  \"repository\": \"https://github.com/emotion-js/emotion/tree/main/packages/server\",\n  \"keywords\": [\n    \"styles\",\n    \"emotion\",\n    \"react\",\n    \"css\",\n    \"css-in-js\",\n    \"ssr\",\n    \"server-side-rendering\"\n  ],\n  \"bugs\": {\n    \"url\": \"https://github.com/emotion-js/emotion/issues\"\n  },\n  \"exports\": {\n    \".\": {\n      \"types\": {\n        \"import\": \"./dist/emotion-server.cjs.mjs\",\n        \"default\": \"./dist/emotion-server.cjs.js\"\n      },\n      \"module\": \"./dist/emotion-server.esm.js\",\n      \"import\": \"./dist/emotion-server.cjs.mjs\",\n      \"default\": \"./dist/emotion-server.cjs.js\"\n    },\n    \"./create-instance\": {\n      \"types\": {\n        \"import\": \"./create-instance/dist/emotion-server-create-instance.cjs.mjs\",\n        \"default\": \"./create-instance/dist/emotion-server-create-instance.cjs.js\"\n      },\n      \"module\": \"./create-instance/dist/emotion-server-create-instance.esm.js\",\n      \"import\": \"./create-instance/dist/emotion-server-create-instance.cjs.mjs\",\n      \"default\": \"./create-instance/dist/emotion-server-create-instance.cjs.js\"\n    },\n    \"./package.json\": \"./package.json\"\n  },\n  \"preconstruct\": {\n    \"entrypoints\": [\n      \"./index.js\",\n      \"./create-instance/index.js\"\n    ]\n  }\n}\n"
  },
  {
    "path": "packages/server/src/conditions/false.js",
    "content": "export default false\n"
  },
  {
    "path": "packages/server/src/conditions/true.js",
    "content": "export default true\n"
  },
  {
    "path": "packages/server/src/create-instance/construct-style-tags-from-chunks.js",
    "content": "/* import type { EmotionCache } from '@emotion/utils' */\nimport { generateStyleTag } from './utils'\n\nconst createConstructStyleTagsFromChunks =\n  (cache /*: EmotionCache */, nonceString /*: string */) =>\n  (\n    criticalData /*: {\n  html: string,\n  styles: Array<{ key: string, ids: Array<string>, css: string }>\n} */\n  ) => {\n    let styleTagsString = ''\n\n    criticalData.styles.forEach(item => {\n      styleTagsString += generateStyleTag(\n        item.key,\n        item.ids.join(' '),\n        item.css,\n        nonceString\n      )\n    })\n\n    return styleTagsString\n  }\n\nexport default createConstructStyleTagsFromChunks\n"
  },
  {
    "path": "packages/server/src/create-instance/extract-critical-to-chunks.js",
    "content": "/* import type { EmotionCache } from '@emotion/utils' */\n\nconst createExtractCriticalToChunks =\n  (cache /*: EmotionCache */) => (html /*: string */) => {\n    // parse out ids from html\n    // reconstruct css/rules/cache to pass\n    let RGX = new RegExp(`${cache.key}-([a-zA-Z0-9-_]+)`, 'gm')\n\n    let o = { html, styles: [] }\n    let match\n    let ids = {}\n    while ((match = RGX.exec(html)) !== null) {\n      if (ids[match[1]] === undefined) {\n        ids[match[1]] = true\n      }\n    }\n\n    const regularCssIds = []\n    let regularCss = ''\n\n    Object.keys(cache.inserted).forEach(id => {\n      if (\n        (ids[id] !== undefined ||\n          cache.registered[`${cache.key}-${id}`] === undefined) &&\n        cache.inserted[id] !== true\n      ) {\n        if (cache.registered[`${cache.key}-${id}`]) {\n          // regular css can be added in one style tag\n          regularCssIds.push(id)\n          regularCss += cache.inserted[id]\n        } else {\n          // each global styles require a new entry so it can be independently flushed\n          o.styles.push({\n            key: `${cache.key}-global`,\n            ids: [id],\n            css: cache.inserted[id]\n          })\n        }\n      }\n    })\n\n    // make sure that regular css is added after the global styles\n    o.styles.push({ key: cache.key, ids: regularCssIds, css: regularCss })\n\n    return o\n  }\n\nexport default createExtractCriticalToChunks\n"
  },
  {
    "path": "packages/server/src/create-instance/extract-critical.js",
    "content": "/* import type { EmotionCache } from '@emotion/utils' */\n\nconst createExtractCritical =\n  (cache /*: EmotionCache */) => (html /*: string */) => {\n    // parse out ids from html\n    // reconstruct css/rules/cache to pass\n    let RGX = new RegExp(`${cache.key}-([a-zA-Z0-9-_]+)`, 'gm')\n\n    let o = { html, ids: [], css: '' }\n    let match\n    let ids = {}\n    while ((match = RGX.exec(html)) !== null) {\n      if (ids[match[1]] === undefined) {\n        ids[match[1]] = true\n      }\n    }\n\n    o.ids = Object.keys(cache.inserted).filter(id => {\n      if (\n        (ids[id] !== undefined ||\n          cache.registered[`${cache.key}-${id}`] === undefined) &&\n        cache.inserted[id] !== true\n      ) {\n        o.css += cache.inserted[id]\n        return true\n      }\n    })\n\n    return o\n  }\n\nexport default createExtractCritical\n"
  },
  {
    "path": "packages/server/src/create-instance/index.d.ts",
    "content": "export * from '../../types/create-instance'\nexport { default } from '../../types/create-instance'\n"
  },
  {
    "path": "packages/server/src/create-instance/index.js",
    "content": "/* import type { EmotionCache } from '@emotion/utils' */\nimport createExtractCritical from './extract-critical'\nimport createExtractCriticalToChunks from './extract-critical-to-chunks'\nimport createRenderStylesToString from './inline'\nimport createRenderStylesToStream from './stream'\nimport createConstructStyleTagsFromChunks from './construct-style-tags-from-chunks'\nexport default function (cache /*: EmotionCache */) {\n  if (cache.compat !== true) {\n    // is this good? should we do this automatically?\n    // this is only for when using the new apis (not emotion or create-emotion)\n    cache.compat = true\n  }\n  const nonceString = cache.nonce !== undefined ? ` nonce=\"${cache.nonce}\"` : ''\n  return {\n    extractCritical: createExtractCritical(cache),\n    extractCriticalToChunks: createExtractCriticalToChunks(cache),\n    renderStylesToString: createRenderStylesToString(cache, nonceString),\n    renderStylesToNodeStream: createRenderStylesToStream(cache, nonceString),\n    constructStyleTagsFromChunks: createConstructStyleTagsFromChunks(\n      cache,\n      nonceString\n    )\n  }\n}\n"
  },
  {
    "path": "packages/server/src/create-instance/inline.js",
    "content": "/* import type { EmotionCache } from '@emotion/utils' */\nimport { generateStyleTag } from './utils'\n\nconst createRenderStylesToString =\n  (cache /*: EmotionCache */, nonceString /*: string */) =>\n  (html /*: string */) /*: string */ => {\n    const { inserted, key: cssKey, registered } = cache\n    const regex = new RegExp(`<|${cssKey}-([a-zA-Z0-9-_]+)`, 'gm')\n\n    const seen = {}\n\n    let result = ''\n    let globalIds = ''\n    let globalStyles = ''\n\n    for (const id in inserted) {\n      // eslint-disable-next-line no-prototype-builtins\n      if (inserted.hasOwnProperty(id)) {\n        const style = inserted[id]\n        const key = `${cssKey}-${id}`\n        if (style !== true && registered[key] === undefined) {\n          globalStyles += style\n          globalIds += ` ${id}`\n        }\n      }\n    }\n\n    if (globalStyles !== '') {\n      result = generateStyleTag(\n        cssKey,\n        globalIds.substring(1),\n        globalStyles,\n        nonceString\n      )\n    }\n\n    let ids = ''\n    let styles = ''\n    let lastInsertionPoint = 0\n    let match\n\n    while ((match = regex.exec(html)) !== null) {\n      if (match[0] === '<') {\n        if (ids !== '') {\n          result += generateStyleTag(\n            cssKey,\n            ids.substring(1),\n            styles,\n            nonceString\n          )\n          ids = ''\n          styles = ''\n        }\n        result += html.substring(lastInsertionPoint, match.index)\n        lastInsertionPoint = match.index\n        continue\n      }\n      const id = match[1]\n      const style = inserted[id]\n      if (style === true || style === undefined || seen[id]) {\n        continue\n      }\n\n      seen[id] = true\n      styles += style\n      ids += ` ${id}`\n    }\n\n    result += html.substring(lastInsertionPoint)\n\n    return result\n  }\n\nexport default createRenderStylesToString\n"
  },
  {
    "path": "packages/server/src/create-instance/stream.js",
    "content": "/* import type { EmotionCache } from '@emotion/utils' */\nimport through from 'through'\nimport tokenize from 'html-tokenize'\nimport pipe from 'multipipe'\n\nconst createRenderStylesToNodeStream =\n  (cache /*: EmotionCache */, nonceString /*: string */) => () => {\n    let insed = {}\n    const tokenStream = tokenize()\n\n    const inlineStream = through(\n      function write(thing) {\n        let [type, data] = thing\n        if (type === 'open') {\n          let css = ''\n          let ids = {}\n\n          let match\n          let fragment = data.toString()\n          let regex = new RegExp(`${cache.key}-([a-zA-Z0-9-_]+)`, 'gm')\n          while ((match = regex.exec(fragment)) !== null) {\n            if (match !== null && insed[match[1]] === undefined) {\n              ids[match[1]] = true\n            }\n          }\n          Object.keys(cache.inserted).forEach(id => {\n            if (\n              cache.inserted[id] !== true &&\n              insed[id] === undefined &&\n              (ids[id] === true ||\n                (cache.registered[`${cache.key}-${id}`] === undefined &&\n                  (ids[id] = true)))\n            ) {\n              insed[id] = true\n              css += cache.inserted[id]\n            }\n          })\n\n          if (css !== '') {\n            this.queue(\n              `<style data-emotion=\"${cache.key} ${Object.keys(ids).join(\n                ' '\n              )}\"${nonceString}>${css}</style>`\n            )\n          }\n        }\n        this.queue(data)\n      },\n      function end() {\n        this.queue(null)\n      }\n    )\n\n    return pipe(tokenStream, inlineStream)\n  }\n\nexport default createRenderStylesToNodeStream\n"
  },
  {
    "path": "packages/server/src/create-instance/utils.js",
    "content": "export function generateStyleTag(\n  cssKey /*: string */,\n  ids /*: string */,\n  styles /*: string */,\n  nonceString /*: string */\n) {\n  return `<style data-emotion=\"${cssKey} ${ids}\"${nonceString}>${styles}</style>`\n}\n"
  },
  {
    "path": "packages/server/src/index.d.ts",
    "content": "export * from '../types'\n"
  },
  {
    "path": "packages/server/src/index.js",
    "content": "import createEmotionServer from './create-instance'\nimport { cache } from '@emotion/css'\n\nexport const {\n  extractCritical,\n  extractCriticalToChunks,\n  renderStylesToString,\n  renderStylesToNodeStream,\n  constructStyleTagsFromChunks\n} = createEmotionServer(cache)\n"
  },
  {
    "path": "packages/server/test/__snapshots__/extract-critical-to-chunks.test.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`extractCriticalToChunks generates correct style tags using constructStyleTagsFromChunks 1`] = `\n<style data-emotion=\"css-global l6h\">\n  body{color:white;}\n</style>\n<style data-emotion=\"css-global 10q49a4\">\n  html{background:red;}\n</style>\n<style data-emotion=\"css fgjrlg-hoverStyles-Something_Main\">\n  .css-fgjrlg-hoverStyles-Something_Main{color:hotpink;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.css-fgjrlg-hoverStyles-Something_Main:hover{color:white;background-color:lightgray;border-color:aqua;box-shadow:-15px -15px 0 0 aqua,-30px -30px 0 0 cornflowerblue;}\n</style>\n`;\n\nexports[`extractCriticalToChunks generates correct style tags using constructStyleTagsFromChunks 2`] = `\n<style data-emotion=\"css-global l6h\">\n  body{color:white;}\n</style>\n<style data-emotion=\"css-global 10q49a4\">\n  html{background:red;}\n</style>\n<style data-emotion=\"css fgjrlg-hoverStyles-Something_Main\">\n  .css-fgjrlg-hoverStyles-Something_Main{color:hotpink;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.css-fgjrlg-hoverStyles-Something_Main:hover{color:white;background-color:lightgray;border-color:aqua;box-shadow:-15px -15px 0 0 aqua,-30px -30px 0 0 cornflowerblue;}\n</style>\n`;\n\nexports[`extractCriticalToChunks returns static css 1`] = `\n{\n  \"html\": <main class=\"css-fgjrlg-hoverStyles-Something_Main\">\n</main>,\n  \"styles\": [\n    {\n      \"css\": \"body {\n  color: white;\n}\",\n      \"ids\": [\n        \"l6h\",\n      ],\n      \"key\": \"css-global\",\n    },\n    {\n      \"css\": \"html {\n  background: red;\n}\",\n      \"ids\": [\n        \"10q49a4\",\n      ],\n      \"key\": \"css-global\",\n    },\n    {\n      \"css\": \".css-fgjrlg-hoverStyles-Something_Main {\n  color: hotpink;\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n}\n\n.css-fgjrlg-hoverStyles-Something_Main:hover {\n  color: white;\n  background-color: lightgray;\n  border-color: aqua;\n  box-shadow: -15px -15px 0 0 aqua,-30px -30px 0 0 cornflowerblue;\n}\",\n      \"ids\": [\n        \"fgjrlg-hoverStyles-Something_Main\",\n      ],\n      \"key\": \"css\",\n    },\n  ],\n}\n`;\n\nexports[`extractCriticalToChunks returns static css 2`] = `\n{\n  \"html\": <main class=\"css-fgjrlg-hoverStyles-Something_Main\">\n</main>,\n  \"styles\": [\n    {\n      \"css\": \"body {\n  color: white;\n}\",\n      \"ids\": [\n        \"l6h\",\n      ],\n      \"key\": \"css-global\",\n    },\n    {\n      \"css\": \"html {\n  background: red;\n}\",\n      \"ids\": [\n        \"10q49a4\",\n      ],\n      \"key\": \"css-global\",\n    },\n    {\n      \"css\": \".css-fgjrlg-hoverStyles-Something_Main {\n  color: hotpink;\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n}\n\n.css-fgjrlg-hoverStyles-Something_Main:hover {\n  color: white;\n  background-color: lightgray;\n  border-color: aqua;\n  box-shadow: -15px -15px 0 0 aqua,-30px -30px 0 0 cornflowerblue;\n}\",\n      \"ids\": [\n        \"fgjrlg-hoverStyles-Something_Main\",\n      ],\n      \"key\": \"css\",\n    },\n  ],\n}\n`;\n"
  },
  {
    "path": "packages/server/test/__snapshots__/index.test.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`extractCritical returns static css 1`] = `\n{\n  \"css\": \"@font-face {\n  font-family: 'Patrick Hand SC';\n  font-style: normal;\n  font-weight: 400;\n  src: local('Patrick Hand SC'),local('PatrickHandSC-Regular'),url(https://fonts.gstatic.com/s/patrickhandsc/v4/OYFWCgfCR-7uHIovjUZXsZ71Uis0Qeb9Gqo8IZV7ckE.woff2) format('woff2');\n  unicode-range: U+0100-024f,U+1-1eff,U+20a0-20ab,U+20ad-20cf,U+2c60-2c7f,U+A720-A7FF;\n}\n\n@-webkit-keyframes animation-i9f7qw-bounce {\n  from, 20%, 53%, 80%, to {\n    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n    -webkit-transform: translate3d(0, 0, 0);\n    -moz-transform: translate3d(0, 0, 0);\n    -ms-transform: translate3d(0, 0, 0);\n    transform: translate3d(0, 0, 0);\n  }\n\n  40%, 43% {\n    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\n    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\n    -webkit-transform: translate3d(0, -30px, 0);\n    -moz-transform: translate3d(0, -30px, 0);\n    -ms-transform: translate3d(0, -30px, 0);\n    transform: translate3d(0, -30px, 0);\n  }\n\n  70% {\n    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\n    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\n    -webkit-transform: translate3d(0, -15px, 0);\n    -moz-transform: translate3d(0, -15px, 0);\n    -ms-transform: translate3d(0, -15px, 0);\n    transform: translate3d(0, -15px, 0);\n  }\n\n  90% {\n    -webkit-transform: translate3d(0, -4px, 0);\n    -moz-transform: translate3d(0, -4px, 0);\n    -ms-transform: translate3d(0, -4px, 0);\n    transform: translate3d(0, -4px, 0);\n  }\n}\n\n@keyframes animation-i9f7qw-bounce {\n  from, 20%, 53%, 80%, to {\n    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n    -webkit-transform: translate3d(0, 0, 0);\n    -moz-transform: translate3d(0, 0, 0);\n    -ms-transform: translate3d(0, 0, 0);\n    transform: translate3d(0, 0, 0);\n  }\n\n  40%, 43% {\n    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\n    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\n    -webkit-transform: translate3d(0, -30px, 0);\n    -moz-transform: translate3d(0, -30px, 0);\n    -ms-transform: translate3d(0, -30px, 0);\n    transform: translate3d(0, -30px, 0);\n  }\n\n  70% {\n    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\n    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\n    -webkit-transform: translate3d(0, -15px, 0);\n    -moz-transform: translate3d(0, -15px, 0);\n    -ms-transform: translate3d(0, -15px, 0);\n    transform: translate3d(0, -15px, 0);\n  }\n\n  90% {\n    -webkit-transform: translate3d(0, -4px, 0);\n    -moz-transform: translate3d(0, -4px, 0);\n    -ms-transform: translate3d(0, -4px, 0);\n    transform: translate3d(0, -4px, 0);\n  }\n}\n\n.no-prefix {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-pack: center;\n  -ms-flex-pack: center;\n  -webkit-justify-content: center;\n  justify-content: center;\n}\n\n.css-fgjrlg-hoverStyles-Something_Main {\n  color: hotpink;\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n}\n\n.css-fgjrlg-hoverStyles-Something_Main:hover {\n  color: white;\n  background-color: lightgray;\n  border-color: aqua;\n  box-shadow: -15px -15px 0 0 aqua,-30px -30px 0 0 cornflowerblue;\n}\n\n.css-1h1w8ez-Image {\n  -webkit-animation: animation-i9f7qw-bounce;\n  animation: animation-i9f7qw-bounce;\n  border-radius: 50%;\n  height: 50px;\n  width: 50px;\n  background-color: red;\n}\",\n  \"html\": <main class=\"css-fgjrlg-hoverStyles-Something_Main\">\n  <img size=\"30\"\n       class=\"css-1h1w8ez-Image\"\n  >\n  <img size=\"100\"\n       class=\"css-1h1w8ez-Image\"\n  >\n  <img class=\"css-1h1w8ez-Image\">\n</main>,\n  \"ids\": [\n    \"1uqawbr\",\n    \"i9f7qw-bounce\",\n    \"1nhdffy\",\n    \"fgjrlg-hoverStyles-Something_Main\",\n    \"1h1w8ez-Image\",\n  ],\n}\n`;\n\nexports[`extractCritical returns static css 2`] = `\n{\n  \"css\": \"@font-face {\n  font-family: 'Patrick Hand SC';\n  font-style: normal;\n  font-weight: 400;\n  src: local('Patrick Hand SC'),local('PatrickHandSC-Regular'),url(https://fonts.gstatic.com/s/patrickhandsc/v4/OYFWCgfCR-7uHIovjUZXsZ71Uis0Qeb9Gqo8IZV7ckE.woff2) format('woff2');\n  unicode-range: U+0100-024f,U+1-1eff,U+20a0-20ab,U+20ad-20cf,U+2c60-2c7f,U+A720-A7FF;\n}\n\n@-webkit-keyframes animation-i9f7qw-bounce {\n  from, 20%, 53%, 80%, to {\n    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n    -webkit-transform: translate3d(0, 0, 0);\n    -moz-transform: translate3d(0, 0, 0);\n    -ms-transform: translate3d(0, 0, 0);\n    transform: translate3d(0, 0, 0);\n  }\n\n  40%, 43% {\n    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\n    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\n    -webkit-transform: translate3d(0, -30px, 0);\n    -moz-transform: translate3d(0, -30px, 0);\n    -ms-transform: translate3d(0, -30px, 0);\n    transform: translate3d(0, -30px, 0);\n  }\n\n  70% {\n    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\n    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\n    -webkit-transform: translate3d(0, -15px, 0);\n    -moz-transform: translate3d(0, -15px, 0);\n    -ms-transform: translate3d(0, -15px, 0);\n    transform: translate3d(0, -15px, 0);\n  }\n\n  90% {\n    -webkit-transform: translate3d(0, -4px, 0);\n    -moz-transform: translate3d(0, -4px, 0);\n    -ms-transform: translate3d(0, -4px, 0);\n    transform: translate3d(0, -4px, 0);\n  }\n}\n\n@keyframes animation-i9f7qw-bounce {\n  from, 20%, 53%, 80%, to {\n    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n    -webkit-transform: translate3d(0, 0, 0);\n    -moz-transform: translate3d(0, 0, 0);\n    -ms-transform: translate3d(0, 0, 0);\n    transform: translate3d(0, 0, 0);\n  }\n\n  40%, 43% {\n    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\n    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\n    -webkit-transform: translate3d(0, -30px, 0);\n    -moz-transform: translate3d(0, -30px, 0);\n    -ms-transform: translate3d(0, -30px, 0);\n    transform: translate3d(0, -30px, 0);\n  }\n\n  70% {\n    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\n    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\n    -webkit-transform: translate3d(0, -15px, 0);\n    -moz-transform: translate3d(0, -15px, 0);\n    -ms-transform: translate3d(0, -15px, 0);\n    transform: translate3d(0, -15px, 0);\n  }\n\n  90% {\n    -webkit-transform: translate3d(0, -4px, 0);\n    -moz-transform: translate3d(0, -4px, 0);\n    -ms-transform: translate3d(0, -4px, 0);\n    transform: translate3d(0, -4px, 0);\n  }\n}\n\n.no-prefix {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-pack: center;\n  -ms-flex-pack: center;\n  -webkit-justify-content: center;\n  justify-content: center;\n}\n\n.css-fgjrlg-hoverStyles-Something_Main {\n  color: hotpink;\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n}\n\n.css-fgjrlg-hoverStyles-Something_Main:hover {\n  color: white;\n  background-color: lightgray;\n  border-color: aqua;\n  box-shadow: -15px -15px 0 0 aqua,-30px -30px 0 0 cornflowerblue;\n}\",\n  \"html\": <main class=\"css-fgjrlg-hoverStyles-Something_Main\">\n  <div>\n    Hello\n  </div>\n</main>,\n  \"ids\": [\n    \"1uqawbr\",\n    \"i9f7qw-bounce\",\n    \"1nhdffy\",\n    \"fgjrlg-hoverStyles-Something_Main\",\n  ],\n}\n`;\n\nexports[`hydration only rules that are not in the critical css are inserted 1`] = `\n{\n  \"css\": \"@font-face {\n  font-family: 'Patrick Hand SC';\n  font-style: normal;\n  font-weight: 400;\n  src: local('Patrick Hand SC'),local('PatrickHandSC-Regular'),url(https://fonts.gstatic.com/s/patrickhandsc/v4/OYFWCgfCR-7uHIovjUZXsZ71Uis0Qeb9Gqo8IZV7ckE.woff2) format('woff2');\n  unicode-range: U+0100-024f,U+1-1eff,U+20a0-20ab,U+20ad-20cf,U+2c60-2c7f,U+A720-A7FF;\n}\n\n@-webkit-keyframes animation-i9f7qw-bounce {\n  from, 20%, 53%, 80%, to {\n    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n    -webkit-transform: translate3d(0, 0, 0);\n    -moz-transform: translate3d(0, 0, 0);\n    -ms-transform: translate3d(0, 0, 0);\n    transform: translate3d(0, 0, 0);\n  }\n\n  40%, 43% {\n    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\n    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\n    -webkit-transform: translate3d(0, -30px, 0);\n    -moz-transform: translate3d(0, -30px, 0);\n    -ms-transform: translate3d(0, -30px, 0);\n    transform: translate3d(0, -30px, 0);\n  }\n\n  70% {\n    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\n    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\n    -webkit-transform: translate3d(0, -15px, 0);\n    -moz-transform: translate3d(0, -15px, 0);\n    -ms-transform: translate3d(0, -15px, 0);\n    transform: translate3d(0, -15px, 0);\n  }\n\n  90% {\n    -webkit-transform: translate3d(0, -4px, 0);\n    -moz-transform: translate3d(0, -4px, 0);\n    -ms-transform: translate3d(0, -4px, 0);\n    transform: translate3d(0, -4px, 0);\n  }\n}\n\n@keyframes animation-i9f7qw-bounce {\n  from, 20%, 53%, 80%, to {\n    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n    -webkit-transform: translate3d(0, 0, 0);\n    -moz-transform: translate3d(0, 0, 0);\n    -ms-transform: translate3d(0, 0, 0);\n    transform: translate3d(0, 0, 0);\n  }\n\n  40%, 43% {\n    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\n    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\n    -webkit-transform: translate3d(0, -30px, 0);\n    -moz-transform: translate3d(0, -30px, 0);\n    -ms-transform: translate3d(0, -30px, 0);\n    transform: translate3d(0, -30px, 0);\n  }\n\n  70% {\n    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\n    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\n    -webkit-transform: translate3d(0, -15px, 0);\n    -moz-transform: translate3d(0, -15px, 0);\n    -ms-transform: translate3d(0, -15px, 0);\n    transform: translate3d(0, -15px, 0);\n  }\n\n  90% {\n    -webkit-transform: translate3d(0, -4px, 0);\n    -moz-transform: translate3d(0, -4px, 0);\n    -ms-transform: translate3d(0, -4px, 0);\n    transform: translate3d(0, -4px, 0);\n  }\n}\n\n.no-prefix {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-pack: center;\n  -ms-flex-pack: center;\n  -webkit-justify-content: center;\n  justify-content: center;\n}\n\n.css-fgjrlg-hoverStyles-Something_Main {\n  color: hotpink;\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n}\n\n.css-fgjrlg-hoverStyles-Something_Main:hover {\n  color: white;\n  background-color: lightgray;\n  border-color: aqua;\n  box-shadow: -15px -15px 0 0 aqua,-30px -30px 0 0 cornflowerblue;\n}\n\n.css-1h1w8ez-Image {\n  -webkit-animation: animation-i9f7qw-bounce;\n  animation: animation-i9f7qw-bounce;\n  border-radius: 50%;\n  height: 50px;\n  width: 50px;\n  background-color: red;\n}\",\n  \"html\": <main class=\"css-fgjrlg-hoverStyles-Something_Main\">\n  <img size=\"30\"\n       class=\"css-1h1w8ez-Image\"\n  >\n  <img size=\"100\"\n       class=\"css-1h1w8ez-Image\"\n  >\n  <img class=\"css-1h1w8ez-Image\">\n</main>,\n  \"ids\": [\n    \"1uqawbr\",\n    \"i9f7qw-bounce\",\n    \"1nhdffy\",\n    \"fgjrlg-hoverStyles-Something_Main\",\n    \"1h1w8ez-Image\",\n  ],\n}\n`;\n\nexports[`hydration only rules that are not in the critical css are inserted 2`] = `\n\".css-v31heb-hoverStyles {\n  color: hotpink;\n}\n\n.css-v31heb-hoverStyles:hover {\n  color: white;\n  background-color: lightgray;\n  border-color: aqua;\n  box-shadow: -15px -15px 0 0 aqua,-30px -30px 0 0 cornflowerblue;\n}\n\n.css-k26awr {\n  display: none;\n}\"\n`;\n"
  },
  {
    "path": "packages/server/test/__snapshots__/inline.test.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`hydration only inserts rules that are not in the critical css 1`] = `\n<style data-emotion=\"css 1uqawbr i9f7qw-bounce 1nhdffy\">\n  @font-face{font-family:'Patrick Hand SC';font-style:normal;font-weight:400;src:local('Patrick Hand SC'),local('PatrickHandSC-Regular'),url(https://fonts.gstatic.com/s/patrickhandsc/v4/OYFWCgfCR-7uHIovjUZXsZ71Uis0Qeb9Gqo8IZV7ckE.woff2) format('woff2');unicode-range:U+0100-024f,U+1-1eff,U+20a0-20ab,U+20ad-20cf,U+2c60-2c7f,U+A720-A7FF;}@-webkit-keyframes animation-i9f7qw-bounce{from,20%,53%,80%,to{-webkit-animation-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);animation-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);}40%,43%{-webkit-animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);-webkit-transform:translate3d(0, -30px, 0);-moz-transform:translate3d(0, -30px, 0);-ms-transform:translate3d(0, -30px, 0);transform:translate3d(0, -30px, 0);}70%{-webkit-animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);-webkit-transform:translate3d(0, -15px, 0);-moz-transform:translate3d(0, -15px, 0);-ms-transform:translate3d(0, -15px, 0);transform:translate3d(0, -15px, 0);}90%{-webkit-transform:translate3d(0, -4px, 0);-moz-transform:translate3d(0, -4px, 0);-ms-transform:translate3d(0, -4px, 0);transform:translate3d(0, -4px, 0);}}@keyframes animation-i9f7qw-bounce{from,20%,53%,80%,to{-webkit-animation-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);animation-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);}40%,43%{-webkit-animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);-webkit-transform:translate3d(0, -30px, 0);-moz-transform:translate3d(0, -30px, 0);-ms-transform:translate3d(0, -30px, 0);transform:translate3d(0, -30px, 0);}70%{-webkit-animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);-webkit-transform:translate3d(0, -15px, 0);-moz-transform:translate3d(0, -15px, 0);-ms-transform:translate3d(0, -15px, 0);transform:translate3d(0, -15px, 0);}90%{-webkit-transform:translate3d(0, -4px, 0);-moz-transform:translate3d(0, -4px, 0);-ms-transform:translate3d(0, -4px, 0);transform:translate3d(0, -4px, 0);}}.no-prefix{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}\n</style>\n<style data-emotion=\"css fgjrlg-hoverStyles-Something_Main\">\n  .css-fgjrlg-hoverStyles-Something_Main{color:hotpink;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.css-fgjrlg-hoverStyles-Something_Main:hover{color:white;background-color:lightgray;border-color:aqua;box-shadow:-15px -15px 0 0 aqua,-30px -30px 0 0 cornflowerblue;}\n</style>\n<main class=\"css-fgjrlg-hoverStyles-Something_Main\">\n  <style data-emotion=\"css 1h1w8ez-Image\">\n    .css-1h1w8ez-Image{-webkit-animation:animation-i9f7qw-bounce;animation:animation-i9f7qw-bounce;border-radius:50%;height:50px;width:50px;background-color:red;}\n  </style>\n  <img size=\"30\"\n       class=\"css-1h1w8ez-Image\"\n  >\n  <img size=\"100\"\n       class=\"css-1h1w8ez-Image\"\n  >\n  <img class=\"css-1h1w8ez-Image\">\n</main>\n`;\n\nexports[`hydration only inserts rules that are not in the critical css 2`] = `\n\".css-v31heb-hoverStyles {\n  color: hotpink;\n}\n\n.css-v31heb-hoverStyles:hover {\n  color: white;\n  background-color: lightgray;\n  border-color: aqua;\n  box-shadow: -15px -15px 0 0 aqua,-30px -30px 0 0 cornflowerblue;\n}\n\n.css-k26awr {\n  display: none;\n}\"\n`;\n\nexports[`hydration only inserts rules that are not in the critical css 3`] = `\n\"@font-face {\n  font-family: 'Patrick Hand SC';\n  font-style: normal;\n  font-weight: 400;\n  src: local('Patrick Hand SC'),local('PatrickHandSC-Regular'),url(https://fonts.gstatic.com/s/patrickhandsc/v4/OYFWCgfCR-7uHIovjUZXsZ71Uis0Qeb9Gqo8IZV7ckE.woff2) format('woff2');\n  unicode-range: U+0100-024f,U+1-1eff,U+20a0-20ab,U+20ad-20cf,U+2c60-2c7f,U+A720-A7FF;\n}\n\n@-webkit-keyframes animation-i9f7qw-bounce {\n  from, 20%, 53%, 80%, to {\n    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n    -webkit-transform: translate3d(0, 0, 0);\n    -moz-transform: translate3d(0, 0, 0);\n    -ms-transform: translate3d(0, 0, 0);\n    transform: translate3d(0, 0, 0);\n  }\n\n  40%, 43% {\n    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\n    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\n    -webkit-transform: translate3d(0, -30px, 0);\n    -moz-transform: translate3d(0, -30px, 0);\n    -ms-transform: translate3d(0, -30px, 0);\n    transform: translate3d(0, -30px, 0);\n  }\n\n  70% {\n    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\n    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\n    -webkit-transform: translate3d(0, -15px, 0);\n    -moz-transform: translate3d(0, -15px, 0);\n    -ms-transform: translate3d(0, -15px, 0);\n    transform: translate3d(0, -15px, 0);\n  }\n\n  90% {\n    -webkit-transform: translate3d(0, -4px, 0);\n    -moz-transform: translate3d(0, -4px, 0);\n    -ms-transform: translate3d(0, -4px, 0);\n    transform: translate3d(0, -4px, 0);\n  }\n}\n\n@keyframes animation-i9f7qw-bounce {\n  from, 20%, 53%, 80%, to {\n    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n    -webkit-transform: translate3d(0, 0, 0);\n    -moz-transform: translate3d(0, 0, 0);\n    -ms-transform: translate3d(0, 0, 0);\n    transform: translate3d(0, 0, 0);\n  }\n\n  40%, 43% {\n    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\n    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\n    -webkit-transform: translate3d(0, -30px, 0);\n    -moz-transform: translate3d(0, -30px, 0);\n    -ms-transform: translate3d(0, -30px, 0);\n    transform: translate3d(0, -30px, 0);\n  }\n\n  70% {\n    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\n    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\n    -webkit-transform: translate3d(0, -15px, 0);\n    -moz-transform: translate3d(0, -15px, 0);\n    -ms-transform: translate3d(0, -15px, 0);\n    transform: translate3d(0, -15px, 0);\n  }\n\n  90% {\n    -webkit-transform: translate3d(0, -4px, 0);\n    -moz-transform: translate3d(0, -4px, 0);\n    -ms-transform: translate3d(0, -4px, 0);\n    transform: translate3d(0, -4px, 0);\n  }\n}\n\n.no-prefix {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-pack: center;\n  -ms-flex-pack: center;\n  -webkit-justify-content: center;\n  justify-content: center;\n}\n\n.css-fgjrlg-hoverStyles-Something_Main {\n  color: hotpink;\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n}\n\n.css-fgjrlg-hoverStyles-Something_Main:hover {\n  color: white;\n  background-color: lightgray;\n  border-color: aqua;\n  box-shadow: -15px -15px 0 0 aqua,-30px -30px 0 0 cornflowerblue;\n}\n\n.css-1h1w8ez-Image {\n  -webkit-animation: animation-i9f7qw-bounce;\n  animation: animation-i9f7qw-bounce;\n  border-radius: 50%;\n  height: 50px;\n  width: 50px;\n  background-color: red;\n}\"\n`;\n\nexports[`renderStylesToString renders large recursive component 1`] = `\n<style data-emotion=\"css 1mxgdgj 7oyr76 j3l52t 1be0pz3 awuqpb 1i7zhog 1wfoctz fc6lvz 2squ55 1w5v94j aunzx7 3al575 11f074x p15six 18u2re8 jcpju2 5d0zsm 1dpd5ul gfcbni 1jiphdk rj01o9 1488xs5 15xnezh 184lbb8 manocn 1umkmjt odl9to 11xg40 rgxdxp 70qps 5rivwv 1ekpy8w 1td920t 1epp5w 1k1d8rn vk4jtt 628xoq 1mvbvml 1c0xybd gj3v00 nkhoz4 17n2b4l 1es3p9i 1ndh3ck 1xvd1pe 18ld629 kg8xpq ppci6y 1ia901n j0k50p e0gjgb 1enrcxf 13r7krf 1kanh94 li2rx1 1mmlcvc 1nlc23 17beei6 1jqhnzu oqcnq8 1uus9kv 1m0952k dcxbft 12b54g8 936m12 1rqy942 ssgydo bvr28e q7rqgc 6uph5v 1t8v36t y7o2df vn3biw qvxdsd 1aqic6s 30owfv 1vj3hk7 1xfrpf4 l539hk 15joy70 16ylmie 7y2cvq 1w0x3oa 15nxgk3 qy1n2d 1vzbl6r 1never2 inwqci cja9xn vh9ala 1l5peir 1y1m1bn clop4i c9h5qg 1803k8u xgd3dd g0qjre 1u3agcs 4vb10h f59pxt 1is0wnp 1m7m6b8 1abpa1i 2qg1ot 1962n5a tvm0n3 1wo7l9z e963hw helz5s 1lo5wgy jas2da 6b1mn9 9456c 1burs84 acvymo 5ir6nu 3uxv18 676m05 16ch583 1l5q8o6 29hq6z t8ulab 11c3pwx plfo0u jzad8y n2u7t0 gj0ny3 hq26b 13txtj7 1abkqu 18qp6qn 1j8ha2k 1dawo17 1g5i33r qwzehu 661prt r9hkdr 1jwml5g eif6tj 1glgqbn xagvgz xegjiq 1dg3mz2 12g56i4 155k1ol wmmgi8 1rtokyw eub81m 1sp6wed sopwqw jvlbzj c0fhpp ya5fjl a1wt2a s3t0mz e2iwhw f6fc7a 14lo9e8 15nr8n6 opmfz1 xzjoum 19cwupx yzjpko 1hdtk9n qch6gk 1brwxbm qi3ue pby1bx 1ngv0xw 1tf2gqw 2aj80b yiuueo 7dj3zo 1ua8hry ph7df6 1wl9l48 1jpf5tg 25pweb 1vhoxch fqa73u 1042dyt 13l2gd9 z8odma 17r5vu0 1neh6nm 10nd4xt 15g5cci 11cgmwf ag6j9u jku1jn 1pxlxrg u1dyl6 37fxtj uia17y 5kf6fm z9hh1c 1abr9jj brxqds 130nyr5 1atrbnz\">\n  .some-global-200{padding:0;margin:200;}.some-global-199{padding:0;margin:199;}.some-global-198{padding:0;margin:198;}.some-global-197{padding:0;margin:197;}.some-global-196{padding:0;margin:196;}.some-global-195{padding:0;margin:195;}.some-global-194{padding:0;margin:194;}.some-global-193{padding:0;margin:193;}.some-global-192{padding:0;margin:192;}.some-global-191{padding:0;margin:191;}.some-global-190{padding:0;margin:190;}.some-global-189{padding:0;margin:189;}.some-global-188{padding:0;margin:188;}.some-global-187{padding:0;margin:187;}.some-global-186{padding:0;margin:186;}.some-global-185{padding:0;margin:185;}.some-global-184{padding:0;margin:184;}.some-global-183{padding:0;margin:183;}.some-global-182{padding:0;margin:182;}.some-global-181{padding:0;margin:181;}.some-global-180{padding:0;margin:180;}.some-global-179{padding:0;margin:179;}.some-global-178{padding:0;margin:178;}.some-global-177{padding:0;margin:177;}.some-global-176{padding:0;margin:176;}.some-global-175{padding:0;margin:175;}.some-global-174{padding:0;margin:174;}.some-global-173{padding:0;margin:173;}.some-global-172{padding:0;margin:172;}.some-global-171{padding:0;margin:171;}.some-global-170{padding:0;margin:170;}.some-global-169{padding:0;margin:169;}.some-global-168{padding:0;margin:168;}.some-global-167{padding:0;margin:167;}.some-global-166{padding:0;margin:166;}.some-global-165{padding:0;margin:165;}.some-global-164{padding:0;margin:164;}.some-global-163{padding:0;margin:163;}.some-global-162{padding:0;margin:162;}.some-global-161{padding:0;margin:161;}.some-global-160{padding:0;margin:160;}.some-global-159{padding:0;margin:159;}.some-global-158{padding:0;margin:158;}.some-global-157{padding:0;margin:157;}.some-global-156{padding:0;margin:156;}.some-global-155{padding:0;margin:155;}.some-global-154{padding:0;margin:154;}.some-global-153{padding:0;margin:153;}.some-global-152{padding:0;margin:152;}.some-global-151{padding:0;margin:151;}.some-global-150{padding:0;margin:150;}.some-global-149{padding:0;margin:149;}.some-global-148{padding:0;margin:148;}.some-global-147{padding:0;margin:147;}.some-global-146{padding:0;margin:146;}.some-global-145{padding:0;margin:145;}.some-global-144{padding:0;margin:144;}.some-global-143{padding:0;margin:143;}.some-global-142{padding:0;margin:142;}.some-global-141{padding:0;margin:141;}.some-global-140{padding:0;margin:140;}.some-global-139{padding:0;margin:139;}.some-global-138{padding:0;margin:138;}.some-global-137{padding:0;margin:137;}.some-global-136{padding:0;margin:136;}.some-global-135{padding:0;margin:135;}.some-global-134{padding:0;margin:134;}.some-global-133{padding:0;margin:133;}.some-global-132{padding:0;margin:132;}.some-global-131{padding:0;margin:131;}.some-global-130{padding:0;margin:130;}.some-global-129{padding:0;margin:129;}.some-global-128{padding:0;margin:128;}.some-global-127{padding:0;margin:127;}.some-global-126{padding:0;margin:126;}.some-global-125{padding:0;margin:125;}.some-global-124{padding:0;margin:124;}.some-global-123{padding:0;margin:123;}.some-global-122{padding:0;margin:122;}.some-global-121{padding:0;margin:121;}.some-global-120{padding:0;margin:120;}.some-global-119{padding:0;margin:119;}.some-global-118{padding:0;margin:118;}.some-global-117{padding:0;margin:117;}.some-global-116{padding:0;margin:116;}.some-global-115{padding:0;margin:115;}.some-global-114{padding:0;margin:114;}.some-global-113{padding:0;margin:113;}.some-global-112{padding:0;margin:112;}.some-global-111{padding:0;margin:111;}.some-global-110{padding:0;margin:110;}.some-global-109{padding:0;margin:109;}.some-global-108{padding:0;margin:108;}.some-global-107{padding:0;margin:107;}.some-global-106{padding:0;margin:106;}.some-global-105{padding:0;margin:105;}.some-global-104{padding:0;margin:104;}.some-global-103{padding:0;margin:103;}.some-global-102{padding:0;margin:102;}.some-global-101{padding:0;margin:101;}.some-global-100{padding:0;margin:100;}.some-global-99{padding:0;margin:99;}.some-global-98{padding:0;margin:98;}.some-global-97{padding:0;margin:97;}.some-global-96{padding:0;margin:96;}.some-global-95{padding:0;margin:95;}.some-global-94{padding:0;margin:94;}.some-global-93{padding:0;margin:93;}.some-global-92{padding:0;margin:92;}.some-global-91{padding:0;margin:91;}.some-global-90{padding:0;margin:90;}.some-global-89{padding:0;margin:89;}.some-global-88{padding:0;margin:88;}.some-global-87{padding:0;margin:87;}.some-global-86{padding:0;margin:86;}.some-global-85{padding:0;margin:85;}.some-global-84{padding:0;margin:84;}.some-global-83{padding:0;margin:83;}.some-global-82{padding:0;margin:82;}.some-global-81{padding:0;margin:81;}.some-global-80{padding:0;margin:80;}.some-global-79{padding:0;margin:79;}.some-global-78{padding:0;margin:78;}.some-global-77{padding:0;margin:77;}.some-global-76{padding:0;margin:76;}.some-global-75{padding:0;margin:75;}.some-global-74{padding:0;margin:74;}.some-global-73{padding:0;margin:73;}.some-global-72{padding:0;margin:72;}.some-global-71{padding:0;margin:71;}.some-global-70{padding:0;margin:70;}.some-global-69{padding:0;margin:69;}.some-global-68{padding:0;margin:68;}.some-global-67{padding:0;margin:67;}.some-global-66{padding:0;margin:66;}.some-global-65{padding:0;margin:65;}.some-global-64{padding:0;margin:64;}.some-global-63{padding:0;margin:63;}.some-global-62{padding:0;margin:62;}.some-global-61{padding:0;margin:61;}.some-global-60{padding:0;margin:60;}.some-global-59{padding:0;margin:59;}.some-global-58{padding:0;margin:58;}.some-global-57{padding:0;margin:57;}.some-global-56{padding:0;margin:56;}.some-global-55{padding:0;margin:55;}.some-global-54{padding:0;margin:54;}.some-global-53{padding:0;margin:53;}.some-global-52{padding:0;margin:52;}.some-global-51{padding:0;margin:51;}.some-global-50{padding:0;margin:50;}.some-global-49{padding:0;margin:49;}.some-global-48{padding:0;margin:48;}.some-global-47{padding:0;margin:47;}.some-global-46{padding:0;margin:46;}.some-global-45{padding:0;margin:45;}.some-global-44{padding:0;margin:44;}.some-global-43{padding:0;margin:43;}.some-global-42{padding:0;margin:42;}.some-global-41{padding:0;margin:41;}.some-global-40{padding:0;margin:40;}.some-global-39{padding:0;margin:39;}.some-global-38{padding:0;margin:38;}.some-global-37{padding:0;margin:37;}.some-global-36{padding:0;margin:36;}.some-global-35{padding:0;margin:35;}.some-global-34{padding:0;margin:34;}.some-global-33{padding:0;margin:33;}.some-global-32{padding:0;margin:32;}.some-global-31{padding:0;margin:31;}.some-global-30{padding:0;margin:30;}.some-global-29{padding:0;margin:29;}.some-global-28{padding:0;margin:28;}.some-global-27{padding:0;margin:27;}.some-global-26{padding:0;margin:26;}.some-global-25{padding:0;margin:25;}.some-global-24{padding:0;margin:24;}.some-global-23{padding:0;margin:23;}.some-global-22{padding:0;margin:22;}.some-global-21{padding:0;margin:21;}.some-global-20{padding:0;margin:20;}.some-global-19{padding:0;margin:19;}.some-global-18{padding:0;margin:18;}.some-global-17{padding:0;margin:17;}.some-global-16{padding:0;margin:16;}.some-global-15{padding:0;margin:15;}.some-global-14{padding:0;margin:14;}.some-global-13{padding:0;margin:13;}.some-global-12{padding:0;margin:12;}.some-global-11{padding:0;margin:11;}.some-global-10{padding:0;margin:10;}.some-global-9{padding:0;margin:9;}.some-global-8{padding:0;margin:8;}.some-global-7{padding:0;margin:7;}.some-global-6{padding:0;margin:6;}.some-global-5{padding:0;margin:5;}.some-global-4{padding:0;margin:4;}.some-global-3{padding:0;margin:3;}.some-global-2{padding:0;margin:2;}.some-global-1{padding:0;margin:1;}\n</style>\n<style data-emotion=\"css 127stik\">\n  .css-127stik{color:#0147ae;}\n</style>\n<div class=\"css-127stik\">\n  woah there\n  <span>\n    hello world\n  </span>\n  <style data-emotion=\"css 9rpmvg\">\n    .css-9rpmvg{color:#014954;}\n  </style>\n  <div class=\"css-9rpmvg\">\n    woah there\n    <span>\n      hello world\n    </span>\n    <style data-emotion=\"css 1hzr4kc\">\n      .css-1hzr4kc{color:#014afd;}\n    </style>\n    <div class=\"css-1hzr4kc\">\n      woah there\n      <span>\n        hello world\n      </span>\n      <style data-emotion=\"css ogzoe7\">\n        .css-ogzoe7{color:#014cac;}\n      </style>\n      <div class=\"css-ogzoe7\">\n        woah there\n        <span>\n          hello world\n        </span>\n        <style data-emotion=\"css 6ng8h1\">\n          .css-6ng8h1{color:#014e5e;}\n        </style>\n        <div class=\"css-6ng8h1\">\n          woah there\n          <span>\n            hello world\n          </span>\n          <style data-emotion=\"css zv4lth\">\n            .css-zv4lth{color:#015015;}\n          </style>\n          <div class=\"css-zv4lth\">\n            woah there\n            <span>\n              hello world\n            </span>\n            <style data-emotion=\"css 1ui45lz\">\n              .css-1ui45lz{color:#0151d0;}\n            </style>\n            <div class=\"css-1ui45lz\">\n              woah there\n              <span>\n                hello world\n              </span>\n              <style data-emotion=\"css 1h86azu\">\n                .css-1h86azu{color:#015391;}\n              </style>\n              <div class=\"css-1h86azu\">\n                woah there\n                <span>\n                  hello world\n                </span>\n                <style data-emotion=\"css 1piy66f\">\n                  .css-1piy66f{color:#015555;}\n                </style>\n                <div class=\"css-1piy66f\">\n                  woah there\n                  <span>\n                    hello world\n                  </span>\n                  <style data-emotion=\"css a19qo7\">\n                    .css-a19qo7{color:#01571f;}\n                  </style>\n                  <div class=\"css-a19qo7\">\n                    woah there\n                    <span>\n                      hello world\n                    </span>\n                    <style data-emotion=\"css wj15j7\">\n                      .css-wj15j7{color:#0158ed;}\n                    </style>\n                    <div class=\"css-wj15j7\">\n                      woah there\n                      <span>\n                        hello world\n                      </span>\n                      <style data-emotion=\"css 1hrwn8e\">\n                        .css-1hrwn8e{color:#015ac0;}\n                      </style>\n                      <div class=\"css-1hrwn8e\">\n                        woah there\n                        <span>\n                          hello world\n                        </span>\n                        <style data-emotion=\"css 17myt6d\">\n                          .css-17myt6d{color:#015c99;}\n                        </style>\n                        <div class=\"css-17myt6d\">\n                          woah there\n                          <span>\n                            hello world\n                          </span>\n                          <style data-emotion=\"css 2jtlz5\">\n                            .css-2jtlz5{color:#015e76;}\n                          </style>\n                          <div class=\"css-2jtlz5\">\n                            woah there\n                            <span>\n                              hello world\n                            </span>\n                            <style data-emotion=\"css 1xu1wg1\">\n                              .css-1xu1wg1{color:#016058;}\n                            </style>\n                            <div class=\"css-1xu1wg1\">\n                              woah there\n                              <span>\n                                hello world\n                              </span>\n                              <style data-emotion=\"css 1wmxn4h\">\n                                .css-1wmxn4h{color:#016240;}\n                              </style>\n                              <div class=\"css-1wmxn4h\">\n                                woah there\n                                <span>\n                                  hello world\n                                </span>\n                                <style data-emotion=\"css lrd20s\">\n                                  .css-lrd20s{color:#01642d;}\n                                </style>\n                                <div class=\"css-lrd20s\">\n                                  woah there\n                                  <span>\n                                    hello world\n                                  </span>\n                                  <style data-emotion=\"css r7njcf\">\n                                    .css-r7njcf{color:#01661f;}\n                                  </style>\n                                  <div class=\"css-r7njcf\">\n                                    woah there\n                                    <span>\n                                      hello world\n                                    </span>\n                                    <style data-emotion=\"css 9lx5bg\">\n                                      .css-9lx5bg{color:#016817;}\n                                    </style>\n                                    <div class=\"css-9lx5bg\">\n                                      woah there\n                                      <span>\n                                        hello world\n                                      </span>\n                                      <style data-emotion=\"css 16v8jwc\">\n                                        .css-16v8jwc{color:#016a14;}\n                                      </style>\n                                      <div class=\"css-16v8jwc\">\n                                        woah there\n                                        <span>\n                                          hello world\n                                        </span>\n                                        <style data-emotion=\"css 14fn903\">\n                                          .css-14fn903{color:#016c17;}\n                                        </style>\n                                        <div class=\"css-14fn903\">\n                                          woah there\n                                          <span>\n                                            hello world\n                                          </span>\n                                          <style data-emotion=\"css 1h1mfz2\">\n                                            .css-1h1mfz2{color:#016e1f;}\n                                          </style>\n                                          <div class=\"css-1h1mfz2\">\n                                            woah there\n                                            <span>\n                                              hello world\n                                            </span>\n                                            <style data-emotion=\"css 11mzquy\">\n                                              .css-11mzquy{color:#01702e;}\n                                            </style>\n                                            <div class=\"css-11mzquy\">\n                                              woah there\n                                              <span>\n                                                hello world\n                                              </span>\n                                              <style data-emotion=\"css 3930ld\">\n                                                .css-3930ld{color:#017243;}\n                                              </style>\n                                              <div class=\"css-3930ld\">\n                                                woah there\n                                                <span>\n                                                  hello world\n                                                </span>\n                                                <style data-emotion=\"css 1lby04m\">\n                                                  .css-1lby04m{color:#01745d;}\n                                                </style>\n                                                <div class=\"css-1lby04m\">\n                                                  woah there\n                                                  <span>\n                                                    hello world\n                                                  </span>\n                                                  <style data-emotion=\"css hp7r6o\">\n                                                    .css-hp7r6o{color:#01767e;}\n                                                  </style>\n                                                  <div class=\"css-hp7r6o\">\n                                                    woah there\n                                                    <span>\n                                                      hello world\n                                                    </span>\n                                                    <style data-emotion=\"css 98uzk5\">\n                                                      .css-98uzk5{color:#0178a5;}\n                                                    </style>\n                                                    <div class=\"css-98uzk5\">\n                                                      woah there\n                                                      <span>\n                                                        hello world\n                                                      </span>\n                                                      <style data-emotion=\"css 1krg3ya\">\n                                                        .css-1krg3ya{color:#017ad2;}\n                                                      </style>\n                                                      <div class=\"css-1krg3ya\">\n                                                        woah there\n                                                        <span>\n                                                          hello world\n                                                        </span>\n                                                        <style data-emotion=\"css 1ktw7xe\">\n                                                          .css-1ktw7xe{color:#017d06;}\n                                                        </style>\n                                                        <div class=\"css-1ktw7xe\">\n                                                          woah there\n                                                          <span>\n                                                            hello world\n                                                          </span>\n                                                          <style data-emotion=\"css ck0owr\">\n                                                            .css-ck0owr{color:#017f40;}\n                                                          </style>\n                                                          <div class=\"css-ck0owr\">\n                                                            woah there\n                                                            <span>\n                                                              hello world\n                                                            </span>\n                                                            <style data-emotion=\"css 1xcxshi\">\n                                                              .css-1xcxshi{color:#018182;}\n                                                            </style>\n                                                            <div class=\"css-1xcxshi\">\n                                                              woah there\n                                                              <span>\n                                                                hello world\n                                                              </span>\n                                                              <style data-emotion=\"css 1ps9cly\">\n                                                                .css-1ps9cly{color:#0183c9;}\n                                                              </style>\n                                                              <div class=\"css-1ps9cly\">\n                                                                woah there\n                                                                <span>\n                                                                  hello world\n                                                                </span>\n                                                                <style data-emotion=\"css 1yvnnz5\">\n                                                                  .css-1yvnnz5{color:#018618;}\n                                                                </style>\n                                                                <div class=\"css-1yvnnz5\">\n                                                                  woah there\n                                                                  <span>\n                                                                    hello world\n                                                                  </span>\n                                                                  <style data-emotion=\"css 1c10kwm\">\n                                                                    .css-1c10kwm{color:#01886e;}\n                                                                  </style>\n                                                                  <div class=\"css-1c10kwm\">\n                                                                    woah there\n                                                                    <span>\n                                                                      hello world\n                                                                    </span>\n                                                                    <style data-emotion=\"css hkdnb5\">\n                                                                      .css-hkdnb5{color:#018acc;}\n                                                                    </style>\n                                                                    <div class=\"css-hkdnb5\">\n                                                                      woah there\n                                                                      <span>\n                                                                        hello world\n                                                                      </span>\n                                                                      <style data-emotion=\"css 1v2yh0n\">\n                                                                        .css-1v2yh0n{color:#018d30;}\n                                                                      </style>\n                                                                      <div class=\"css-1v2yh0n\">\n                                                                        woah there\n                                                                        <span>\n                                                                          hello world\n                                                                        </span>\n                                                                        <style data-emotion=\"css 1jzftor\">\n                                                                          .css-1jzftor{color:#018f9c;}\n                                                                        </style>\n                                                                        <div class=\"css-1jzftor\">\n                                                                          woah there\n                                                                          <span>\n                                                                            hello world\n                                                                          </span>\n                                                                          <style data-emotion=\"css wr17pn\">\n                                                                            .css-wr17pn{color:#019210;}\n                                                                          </style>\n                                                                          <div class=\"css-wr17pn\">\n                                                                            woah there\n                                                                            <span>\n                                                                              hello world\n                                                                            </span>\n                                                                            <style data-emotion=\"css hf7itv\">\n                                                                              .css-hf7itv{color:#01948b;}\n                                                                            </style>\n                                                                            <div class=\"css-hf7itv\">\n                                                                              woah there\n                                                                              <span>\n                                                                                hello world\n                                                                              </span>\n                                                                              <style data-emotion=\"css 6qzhcg\">\n                                                                                .css-6qzhcg{color:#01970e;}\n                                                                              </style>\n                                                                              <div class=\"css-6qzhcg\">\n                                                                                woah there\n                                                                                <span>\n                                                                                  hello world\n                                                                                </span>\n                                                                                <style data-emotion=\"css 1avzbzg\">\n                                                                                  .css-1avzbzg{color:#01999a;}\n                                                                                </style>\n                                                                                <div class=\"css-1avzbzg\">\n                                                                                  woah there\n                                                                                  <span>\n                                                                                    hello world\n                                                                                  </span>\n                                                                                  <style data-emotion=\"css o92y19\">\n                                                                                    .css-o92y19{color:#019c2d;}\n                                                                                  </style>\n                                                                                  <div class=\"css-o92y19\">\n                                                                                    woah there\n                                                                                    <span>\n                                                                                      hello world\n                                                                                    </span>\n                                                                                    <style data-emotion=\"css 1ljsuqn\">\n                                                                                      .css-1ljsuqn{color:#019ec9;}\n                                                                                    </style>\n                                                                                    <div class=\"css-1ljsuqn\">\n                                                                                      woah there\n                                                                                      <span>\n                                                                                        hello world\n                                                                                      </span>\n                                                                                      <style data-emotion=\"css 9zagsq\">\n                                                                                        .css-9zagsq{color:#01a16d;}\n                                                                                      </style>\n                                                                                      <div class=\"css-9zagsq\">\n                                                                                        woah there\n                                                                                        <span>\n                                                                                          hello world\n                                                                                        </span>\n                                                                                        <style data-emotion=\"css 1ypl0i8\">\n                                                                                          .css-1ypl0i8{color:#01a41a;}\n                                                                                        </style>\n                                                                                        <div class=\"css-1ypl0i8\">\n                                                                                          woah there\n                                                                                          <span>\n                                                                                            hello world\n                                                                                          </span>\n                                                                                          <style data-emotion=\"css rzsrsa\">\n                                                                                            .css-rzsrsa{color:#01a6d0;}\n                                                                                          </style>\n                                                                                          <div class=\"css-rzsrsa\">\n                                                                                            woah there\n                                                                                            <span>\n                                                                                              hello world\n                                                                                            </span>\n                                                                                            <style data-emotion=\"css ce7d51\">\n                                                                                              .css-ce7d51{color:#01a98f;}\n                                                                                            </style>\n                                                                                            <div class=\"css-ce7d51\">\n                                                                                              woah there\n                                                                                              <span>\n                                                                                                hello world\n                                                                                              </span>\n                                                                                              <style data-emotion=\"css tknw4p\">\n                                                                                                .css-tknw4p{color:#01ac57;}\n                                                                                              </style>\n                                                                                              <div class=\"css-tknw4p\">\n                                                                                                woah there\n                                                                                                <span>\n                                                                                                  hello world\n                                                                                                </span>\n                                                                                                <style data-emotion=\"css zgq7e2\">\n                                                                                                  .css-zgq7e2{color:#01af28;}\n                                                                                                </style>\n                                                                                                <div class=\"css-zgq7e2\">\n                                                                                                  woah there\n                                                                                                  <span>\n                                                                                                    hello world\n                                                                                                  </span>\n                                                                                                  <style data-emotion=\"css 16xxcse\">\n                                                                                                    .css-16xxcse{color:#01b203;}\n                                                                                                  </style>\n                                                                                                  <div class=\"css-16xxcse\">\n                                                                                                    woah there\n                                                                                                    <span>\n                                                                                                      hello world\n                                                                                                    </span>\n                                                                                                    <style data-emotion=\"css rvw1un\">\n                                                                                                      .css-rvw1un{color:#01b4e8;}\n                                                                                                    </style>\n                                                                                                    <div class=\"css-rvw1un\">\n                                                                                                      woah there\n                                                                                                      <span>\n                                                                                                        hello world\n                                                                                                      </span>\n                                                                                                      <style data-emotion=\"css br1uza\">\n                                                                                                        .css-br1uza{color:#01b7d7;}\n                                                                                                      </style>\n                                                                                                      <div class=\"css-br1uza\">\n                                                                                                        woah there\n                                                                                                        <span>\n                                                                                                          hello world\n                                                                                                        </span>\n                                                                                                        <style data-emotion=\"css 1o91asl\">\n                                                                                                          .css-1o91asl{color:#01bad0;}\n                                                                                                        </style>\n                                                                                                        <div class=\"css-1o91asl\">\n                                                                                                          woah there\n                                                                                                          <span>\n                                                                                                            hello world\n                                                                                                          </span>\n                                                                                                          <style data-emotion=\"css 1nn9pws\">\n                                                                                                            .css-1nn9pws{color:#01bdd3;}\n                                                                                                          </style>\n                                                                                                          <div class=\"css-1nn9pws\">\n                                                                                                            woah there\n                                                                                                            <span>\n                                                                                                              hello world\n                                                                                                            </span>\n                                                                                                            <style data-emotion=\"css upbaf3\">\n                                                                                                              .css-upbaf3{color:#01c0e0;}\n                                                                                                            </style>\n                                                                                                            <div class=\"css-upbaf3\">\n                                                                                                              woah there\n                                                                                                              <span>\n                                                                                                                hello world\n                                                                                                              </span>\n                                                                                                              <style data-emotion=\"css 10168f0\">\n                                                                                                                .css-10168f0{color:#01c3f9;}\n                                                                                                              </style>\n                                                                                                              <div class=\"css-10168f0\">\n                                                                                                                woah there\n                                                                                                                <span>\n                                                                                                                  hello world\n                                                                                                                </span>\n                                                                                                                <style data-emotion=\"css 18beinc\">\n                                                                                                                  .css-18beinc{color:#01c71c;}\n                                                                                                                </style>\n                                                                                                                <div class=\"css-18beinc\">\n                                                                                                                  woah there\n                                                                                                                  <span>\n                                                                                                                    hello world\n                                                                                                                  </span>\n                                                                                                                  <style data-emotion=\"css 11m1dja\">\n                                                                                                                    .css-11m1dja{color:#01ca4b;}\n                                                                                                                  </style>\n                                                                                                                  <div class=\"css-11m1dja\">\n                                                                                                                    woah there\n                                                                                                                    <span>\n                                                                                                                      hello world\n                                                                                                                    </span>\n                                                                                                                    <style data-emotion=\"css h4at5s\">\n                                                                                                                      .css-h4at5s{color:#01cd85;}\n                                                                                                                    </style>\n                                                                                                                    <div class=\"css-h4at5s\">\n                                                                                                                      woah there\n                                                                                                                      <span>\n                                                                                                                        hello world\n                                                                                                                      </span>\n                                                                                                                      <style data-emotion=\"css ejnakw\">\n                                                                                                                        .css-ejnakw{color:#01d0cb;}\n                                                                                                                      </style>\n                                                                                                                      <div class=\"css-ejnakw\">\n                                                                                                                        woah there\n                                                                                                                        <span>\n                                                                                                                          hello world\n                                                                                                                        </span>\n                                                                                                                        <style data-emotion=\"css 1o2ovve\">\n                                                                                                                          .css-1o2ovve{color:#01d41d;}\n                                                                                                                        </style>\n                                                                                                                        <div class=\"css-1o2ovve\">\n                                                                                                                          woah there\n                                                                                                                          <span>\n                                                                                                                            hello world\n                                                                                                                          </span>\n                                                                                                                          <style data-emotion=\"css ac9phq\">\n                                                                                                                            .css-ac9phq{color:#01d77b;}\n                                                                                                                          </style>\n                                                                                                                          <div class=\"css-ac9phq\">\n                                                                                                                            woah there\n                                                                                                                            <span>\n                                                                                                                              hello world\n                                                                                                                            </span>\n                                                                                                                            <style data-emotion=\"css 1phm45w\">\n                                                                                                                              .css-1phm45w{color:#01dae6;}\n                                                                                                                            </style>\n                                                                                                                            <div class=\"css-1phm45w\">\n                                                                                                                              woah there\n                                                                                                                              <span>\n                                                                                                                                hello world\n                                                                                                                              </span>\n                                                                                                                              <style data-emotion=\"css 159l0ul\">\n                                                                                                                                .css-159l0ul{color:#01de5d;}\n                                                                                                                              </style>\n                                                                                                                              <div class=\"css-159l0ul\">\n                                                                                                                                woah there\n                                                                                                                                <span>\n                                                                                                                                  hello world\n                                                                                                                                </span>\n                                                                                                                                <style data-emotion=\"css ia21oa\">\n                                                                                                                                  .css-ia21oa{color:#01e1e2;}\n                                                                                                                                </style>\n                                                                                                                                <div class=\"css-ia21oa\">\n                                                                                                                                  woah there\n                                                                                                                                  <span>\n                                                                                                                                    hello world\n                                                                                                                                  </span>\n                                                                                                                                  <style data-emotion=\"css tz2duq\">\n                                                                                                                                    .css-tz2duq{color:#01e574;}\n                                                                                                                                  </style>\n                                                                                                                                  <div class=\"css-tz2duq\">\n                                                                                                                                    woah there\n                                                                                                                                    <span>\n                                                                                                                                      hello world\n                                                                                                                                    </span>\n                                                                                                                                    <style data-emotion=\"css 4xg4ag\">\n                                                                                                                                      .css-4xg4ag{color:#01e913;}\n                                                                                                                                    </style>\n                                                                                                                                    <div class=\"css-4xg4ag\">\n                                                                                                                                      woah there\n                                                                                                                                      <span>\n                                                                                                                                        hello world\n                                                                                                                                      </span>\n                                                                                                                                      <style data-emotion=\"css pur9fb\">\n                                                                                                                                        .css-pur9fb{color:#01ecc0;}\n                                                                                                                                      </style>\n                                                                                                                                      <div class=\"css-pur9fb\">\n                                                                                                                                        woah there\n                                                                                                                                        <span>\n                                                                                                                                          hello world\n                                                                                                                                        </span>\n                                                                                                                                        <style data-emotion=\"css 6nme6c\">\n                                                                                                                                          .css-6nme6c{color:#01f07c;}\n                                                                                                                                        </style>\n                                                                                                                                        <div class=\"css-6nme6c\">\n                                                                                                                                          woah there\n                                                                                                                                          <span>\n                                                                                                                                            hello world\n                                                                                                                                          </span>\n                                                                                                                                          <style data-emotion=\"css 13nv4rl\">\n                                                                                                                                            .css-13nv4rl{color:#01f446;}\n                                                                                                                                          </style>\n                                                                                                                                          <div class=\"css-13nv4rl\">\n                                                                                                                                            woah there\n                                                                                                                                            <span>\n                                                                                                                                              hello world\n                                                                                                                                            </span>\n                                                                                                                                            <style data-emotion=\"css 155bmea\">\n                                                                                                                                              .css-155bmea{color:#01f820;}\n                                                                                                                                            </style>\n                                                                                                                                            <div class=\"css-155bmea\">\n                                                                                                                                              woah there\n                                                                                                                                              <span>\n                                                                                                                                                hello world\n                                                                                                                                              </span>\n                                                                                                                                              <style data-emotion=\"css 10s2f9x\">\n                                                                                                                                                .css-10s2f9x{color:#01fc08;}\n                                                                                                                                              </style>\n                                                                                                                                              <div class=\"css-10s2f9x\">\n                                                                                                                                                woah there\n                                                                                                                                                <span>\n                                                                                                                                                  hello world\n                                                                                                                                                </span>\n                                                                                                                                                <style data-emotion=\"css 178vhlt\">\n                                                                                                                                                  .css-178vhlt{color:#020000;}\n                                                                                                                                                </style>\n                                                                                                                                                <div class=\"css-178vhlt\">\n                                                                                                                                                  woah there\n                                                                                                                                                  <span>\n                                                                                                                                                    hello world\n                                                                                                                                                  </span>\n                                                                                                                                                  <style data-emotion=\"css 1hsnkst\">\n                                                                                                                                                    .css-1hsnkst{color:#020408;}\n                                                                                                                                                  </style>\n                                                                                                                                                  <div class=\"css-1hsnkst\">\n                                                                                                                                                    woah there\n                                                                                                                                                    <span>\n                                                                                                                                                      hello world\n                                                                                                                                                    </span>\n                                                                                                                                                    <style data-emotion=\"css zuvm9o\">\n                                                                                                                                                      .css-zuvm9o{color:#020821;}\n                                                                                                                                                    </style>\n                                                                                                                                                    <div class=\"css-zuvm9o\">\n                                                                                                                                                      woah there\n                                                                                                                                                      <span>\n                                                                                                                                                        hello world\n                                                                                                                                                      </span>\n                                                                                                                                                      <style data-emotion=\"css 1tl89bm\">\n                                                                                                                                                        .css-1tl89bm{color:#020c4a;}\n                                                                                                                                                      </style>\n                                                                                                                                                      <div class=\"css-1tl89bm\">\n                                                                                                                                                        woah there\n                                                                                                                                                        <span>\n                                                                                                                                                          hello world\n                                                                                                                                                        </span>\n                                                                                                                                                        <style data-emotion=\"css wpx7q8\">\n                                                                                                                                                          .css-wpx7q8{color:#021084;}\n                                                                                                                                                        </style>\n                                                                                                                                                        <div class=\"css-wpx7q8\">\n                                                                                                                                                          woah there\n                                                                                                                                                          <span>\n                                                                                                                                                            hello world\n                                                                                                                                                          </span>\n                                                                                                                                                          <style data-emotion=\"css 1tehwar\">\n                                                                                                                                                            .css-1tehwar{color:#0214d0;}\n                                                                                                                                                          </style>\n                                                                                                                                                          <div class=\"css-1tehwar\">\n                                                                                                                                                            woah there\n                                                                                                                                                            <span>\n                                                                                                                                                              hello world\n                                                                                                                                                            </span>\n                                                                                                                                                            <style data-emotion=\"css ms9j35\">\n                                                                                                                                                              .css-ms9j35{color:#02192e;}\n                                                                                                                                                            </style>\n                                                                                                                                                            <div class=\"css-ms9j35\">\n                                                                                                                                                              woah there\n                                                                                                                                                              <span>\n                                                                                                                                                                hello world\n                                                                                                                                                              </span>\n                                                                                                                                                              <style data-emotion=\"css m4u91z\">\n                                                                                                                                                                .css-m4u91z{color:#021d9f;}\n                                                                                                                                                              </style>\n                                                                                                                                                              <div class=\"css-m4u91z\">\n                                                                                                                                                                woah there\n                                                                                                                                                                <span>\n                                                                                                                                                                  hello world\n                                                                                                                                                                </span>\n                                                                                                                                                                <style data-emotion=\"css 3ci19s\">\n                                                                                                                                                                  .css-3ci19s{color:#022222;}\n                                                                                                                                                                </style>\n                                                                                                                                                                <div class=\"css-3ci19s\">\n                                                                                                                                                                  woah there\n                                                                                                                                                                  <span>\n                                                                                                                                                                    hello world\n                                                                                                                                                                  </span>\n                                                                                                                                                                  <style data-emotion=\"css evutcw\">\n                                                                                                                                                                    .css-evutcw{color:#0226b9;}\n                                                                                                                                                                  </style>\n                                                                                                                                                                  <div class=\"css-evutcw\">\n                                                                                                                                                                    woah there\n                                                                                                                                                                    <span>\n                                                                                                                                                                      hello world\n                                                                                                                                                                    </span>\n                                                                                                                                                                    <style data-emotion=\"css 1g07rpc\">\n                                                                                                                                                                      .css-1g07rpc{color:#022b64;}\n                                                                                                                                                                    </style>\n                                                                                                                                                                    <div class=\"css-1g07rpc\">\n                                                                                                                                                                      woah there\n                                                                                                                                                                      <span>\n                                                                                                                                                                        hello world\n                                                                                                                                                                      </span>\n                                                                                                                                                                      <style data-emotion=\"css 16ejwut\">\n                                                                                                                                                                        .css-16ejwut{color:#023023;}\n                                                                                                                                                                      </style>\n                                                                                                                                                                      <div class=\"css-16ejwut\">\n                                                                                                                                                                        woah there\n                                                                                                                                                                        <span>\n                                                                                                                                                                          hello world\n                                                                                                                                                                        </span>\n                                                                                                                                                                        <style data-emotion=\"css 6gxm9\">\n                                                                                                                                                                          .css-6gxm9{color:#0234f7;}\n                                                                                                                                                                        </style>\n                                                                                                                                                                        <div class=\"css-6gxm9\">\n                                                                                                                                                                          woah there\n                                                                                                                                                                          <span>\n                                                                                                                                                                            hello world\n                                                                                                                                                                          </span>\n                                                                                                                                                                          <style data-emotion=\"css 1mbin8s\">\n                                                                                                                                                                            .css-1mbin8s{color:#0239e1;}\n                                                                                                                                                                          </style>\n                                                                                                                                                                          <div class=\"css-1mbin8s\">\n                                                                                                                                                                            woah there\n                                                                                                                                                                            <span>\n                                                                                                                                                                              hello world\n                                                                                                                                                                            </span>\n                                                                                                                                                                            <style data-emotion=\"css 1cj8bm0\">\n                                                                                                                                                                              .css-1cj8bm0{color:#023ee1;}\n                                                                                                                                                                            </style>\n                                                                                                                                                                            <div class=\"css-1cj8bm0\">\n                                                                                                                                                                              woah there\n                                                                                                                                                                              <span>\n                                                                                                                                                                                hello world\n                                                                                                                                                                              </span>\n                                                                                                                                                                              <style data-emotion=\"css r5e3ls\">\n                                                                                                                                                                                .css-r5e3ls{color:#0243f7;}\n                                                                                                                                                                              </style>\n                                                                                                                                                                              <div class=\"css-r5e3ls\">\n                                                                                                                                                                                woah there\n                                                                                                                                                                                <span>\n                                                                                                                                                                                  hello world\n                                                                                                                                                                                </span>\n                                                                                                                                                                                <style data-emotion=\"css uupi2e\">\n                                                                                                                                                                                  .css-uupi2e{color:#024925;}\n                                                                                                                                                                                </style>\n                                                                                                                                                                                <div class=\"css-uupi2e\">\n                                                                                                                                                                                  woah there\n                                                                                                                                                                                  <span>\n                                                                                                                                                                                    hello world\n                                                                                                                                                                                  </span>\n                                                                                                                                                                                  <style data-emotion=\"css zr22cf\">\n                                                                                                                                                                                    .css-zr22cf{color:#024e6a;}\n                                                                                                                                                                                  </style>\n                                                                                                                                                                                  <div class=\"css-zr22cf\">\n                                                                                                                                                                                    woah there\n                                                                                                                                                                                    <span>\n                                                                                                                                                                                      hello world\n                                                                                                                                                                                    </span>\n                                                                                                                                                                                    <style data-emotion=\"css 13wmhd1\">\n                                                                                                                                                                                      .css-13wmhd1{color:#0253c8;}\n                                                                                                                                                                                    </style>\n                                                                                                                                                                                    <div class=\"css-13wmhd1\">\n                                                                                                                                                                                      woah there\n                                                                                                                                                                                      <span>\n                                                                                                                                                                                        hello world\n                                                                                                                                                                                      </span>\n                                                                                                                                                                                      <style data-emotion=\"css i8sgdi\">\n                                                                                                                                                                                        .css-i8sgdi{color:#02593f;}\n                                                                                                                                                                                      </style>\n                                                                                                                                                                                      <div class=\"css-i8sgdi\">\n                                                                                                                                                                                        woah there\n                                                                                                                                                                                        <span>\n                                                                                                                                                                                          hello world\n                                                                                                                                                                                        </span>\n                                                                                                                                                                                        <style data-emotion=\"css k0avx5\">\n                                                                                                                                                                                          .css-k0avx5{color:#025ed1;}\n                                                                                                                                                                                        </style>\n                                                                                                                                                                                        <div class=\"css-k0avx5\">\n                                                                                                                                                                                          woah there\n                                                                                                                                                                                          <span>\n                                                                                                                                                                                            hello world\n                                                                                                                                                                                          </span>\n                                                                                                                                                                                          <style data-emotion=\"css 6dl9n7\">\n                                                                                                                                                                                            .css-6dl9n7{color:#02647c;}\n                                                                                                                                                                                          </style>\n                                                                                                                                                                                          <div class=\"css-6dl9n7\">\n                                                                                                                                                                                            woah there\n                                                                                                                                                                                            <span>\n                                                                                                                                                                                              hello world\n                                                                                                                                                                                            </span>\n                                                                                                                                                                                            <style data-emotion=\"css 1fz7vvs\">\n                                                                                                                                                                                              .css-1fz7vvs{color:#026a44;}\n                                                                                                                                                                                            </style>\n                                                                                                                                                                                            <div class=\"css-1fz7vvs\">\n                                                                                                                                                                                              woah there\n                                                                                                                                                                                              <span>\n                                                                                                                                                                                                hello world\n                                                                                                                                                                                              </span>\n                                                                                                                                                                                              <style data-emotion=\"css 17n3gda\">\n                                                                                                                                                                                                .css-17n3gda{color:#027027;}\n                                                                                                                                                                                              </style>\n                                                                                                                                                                                              <div class=\"css-17n3gda\">\n                                                                                                                                                                                                woah there\n                                                                                                                                                                                                <span>\n                                                                                                                                                                                                  hello world\n                                                                                                                                                                                                </span>\n                                                                                                                                                                                                <style data-emotion=\"css 1qfsvxb\">\n                                                                                                                                                                                                  .css-1qfsvxb{color:#027627;}\n                                                                                                                                                                                                </style>\n                                                                                                                                                                                                <div class=\"css-1qfsvxb\">\n                                                                                                                                                                                                  woah there\n                                                                                                                                                                                                  <span>\n                                                                                                                                                                                                    hello world\n                                                                                                                                                                                                  </span>\n                                                                                                                                                                                                  <style data-emotion=\"css 4tl6t0\">\n                                                                                                                                                                                                    .css-4tl6t0{color:#027c46;}\n                                                                                                                                                                                                  </style>\n                                                                                                                                                                                                  <div class=\"css-4tl6t0\">\n                                                                                                                                                                                                    woah there\n                                                                                                                                                                                                    <span>\n                                                                                                                                                                                                      hello world\n                                                                                                                                                                                                    </span>\n                                                                                                                                                                                                    <style data-emotion=\"css 1rryha9\">\n                                                                                                                                                                                                      .css-1rryha9{color:#028283;}\n                                                                                                                                                                                                    </style>\n                                                                                                                                                                                                    <div class=\"css-1rryha9\">\n                                                                                                                                                                                                      woah there\n                                                                                                                                                                                                      <span>\n                                                                                                                                                                                                        hello world\n                                                                                                                                                                                                      </span>\n                                                                                                                                                                                                      <style data-emotion=\"css ejgs3d\">\n                                                                                                                                                                                                        .css-ejgs3d{color:#0288df;}\n                                                                                                                                                                                                      </style>\n                                                                                                                                                                                                      <div class=\"css-ejgs3d\">\n                                                                                                                                                                                                        woah there\n                                                                                                                                                                                                        <span>\n                                                                                                                                                                                                          hello world\n                                                                                                                                                                                                        </span>\n                                                                                                                                                                                                        <style data-emotion=\"css 1h1preu\">\n                                                                                                                                                                                                          .css-1h1preu{color:#028f5c;}\n                                                                                                                                                                                                        </style>\n                                                                                                                                                                                                        <div class=\"css-1h1preu\">\n                                                                                                                                                                                                          woah there\n                                                                                                                                                                                                          <span>\n                                                                                                                                                                                                            hello world\n                                                                                                                                                                                                          </span>\n                                                                                                                                                                                                          <style data-emotion=\"css 1ewulib\">\n                                                                                                                                                                                                            .css-1ewulib{color:#0295fb;}\n                                                                                                                                                                                                          </style>\n                                                                                                                                                                                                          <div class=\"css-1ewulib\">\n                                                                                                                                                                                                            woah there\n                                                                                                                                                                                                            <span>\n                                                                                                                                                                                                              hello world\n                                                                                                                                                                                                            </span>\n                                                                                                                                                                                                            <style data-emotion=\"css 1g9aqxv\">\n                                                                                                                                                                                                              .css-1g9aqxv{color:#029cbc;}\n                                                                                                                                                                                                            </style>\n                                                                                                                                                                                                            <div class=\"css-1g9aqxv\">\n                                                                                                                                                                                                              woah there\n                                                                                                                                                                                                              <span>\n                                                                                                                                                                                                                hello world\n                                                                                                                                                                                                              </span>\n                                                                                                                                                                                                              <style data-emotion=\"css 1lxxdaw\">\n                                                                                                                                                                                                                .css-1lxxdaw{color:#02a3a1;}\n                                                                                                                                                                                                              </style>\n                                                                                                                                                                                                              <div class=\"css-1lxxdaw\">\n                                                                                                                                                                                                                woah there\n                                                                                                                                                                                                                <span>\n                                                                                                                                                                                                                  hello world\n                                                                                                                                                                                                                </span>\n                                                                                                                                                                                                                <style data-emotion=\"css x21xi2\">\n                                                                                                                                                                                                                  .css-x21xi2{color:#02aaab;}\n                                                                                                                                                                                                                </style>\n                                                                                                                                                                                                                <div class=\"css-x21xi2\">\n                                                                                                                                                                                                                  woah there\n                                                                                                                                                                                                                  <span>\n                                                                                                                                                                                                                    hello world\n                                                                                                                                                                                                                  </span>\n                                                                                                                                                                                                                  <style data-emotion=\"css 133obvl\">\n                                                                                                                                                                                                                    .css-133obvl{color:#02b1da;}\n                                                                                                                                                                                                                  </style>\n                                                                                                                                                                                                                  <div class=\"css-133obvl\">\n                                                                                                                                                                                                                    woah there\n                                                                                                                                                                                                                    <span>\n                                                                                                                                                                                                                      hello world\n                                                                                                                                                                                                                    </span>\n                                                                                                                                                                                                                    <style data-emotion=\"css o9oiih\">\n                                                                                                                                                                                                                      .css-o9oiih{color:#02b931;}\n                                                                                                                                                                                                                    </style>\n                                                                                                                                                                                                                    <div class=\"css-o9oiih\">\n                                                                                                                                                                                                                      woah there\n                                                                                                                                                                                                                      <span>\n                                                                                                                                                                                                                        hello world\n                                                                                                                                                                                                                      </span>\n                                                                                                                                                                                                                      <style data-emotion=\"css 16h21pl\">\n                                                                                                                                                                                                                        .css-16h21pl{color:#02c0b0;}\n                                                                                                                                                                                                                      </style>\n                                                                                                                                                                                                                      <div class=\"css-16h21pl\">\n                                                                                                                                                                                                                        woah there\n                                                                                                                                                                                                                        <span>\n                                                                                                                                                                                                                          hello world\n                                                                                                                                                                                                                        </span>\n                                                                                                                                                                                                                        <style data-emotion=\"css scfkxf\">\n                                                                                                                                                                                                                          .css-scfkxf{color:#02c859;}\n                                                                                                                                                                                                                        </style>\n                                                                                                                                                                                                                        <div class=\"css-scfkxf\">\n                                                                                                                                                                                                                          woah there\n                                                                                                                                                                                                                          <span>\n                                                                                                                                                                                                                            hello world\n                                                                                                                                                                                                                          </span>\n                                                                                                                                                                                                                          <style data-emotion=\"css 1u10ji2\">\n                                                                                                                                                                                                                            .css-1u10ji2{color:#02d02d;}\n                                                                                                                                                                                                                          </style>\n                                                                                                                                                                                                                          <div class=\"css-1u10ji2\">\n                                                                                                                                                                                                                            woah there\n                                                                                                                                                                                                                            <span>\n                                                                                                                                                                                                                              hello world\n                                                                                                                                                                                                                            </span>\n                                                                                                                                                                                                                            <style data-emotion=\"css i9peew\">\n                                                                                                                                                                                                                              .css-i9peew{color:#02d82e;}\n                                                                                                                                                                                                                            </style>\n                                                                                                                                                                                                                            <div class=\"css-i9peew\">\n                                                                                                                                                                                                                              woah there\n                                                                                                                                                                                                                              <span>\n                                                                                                                                                                                                                                hello world\n                                                                                                                                                                                                                              </span>\n                                                                                                                                                                                                                              <style data-emotion=\"css 13q89pq\">\n                                                                                                                                                                                                                                .css-13q89pq{color:#02e05c;}\n                                                                                                                                                                                                                              </style>\n                                                                                                                                                                                                                              <div class=\"css-13q89pq\">\n                                                                                                                                                                                                                                woah there\n                                                                                                                                                                                                                                <span>\n                                                                                                                                                                                                                                  hello world\n                                                                                                                                                                                                                                </span>\n                                                                                                                                                                                                                                <style data-emotion=\"css qcun1q\">\n                                                                                                                                                                                                                                  .css-qcun1q{color:#02e8ba;}\n                                                                                                                                                                                                                                </style>\n                                                                                                                                                                                                                                <div class=\"css-qcun1q\">\n                                                                                                                                                                                                                                  woah there\n                                                                                                                                                                                                                                  <span>\n                                                                                                                                                                                                                                    hello world\n                                                                                                                                                                                                                                  </span>\n                                                                                                                                                                                                                                  <style data-emotion=\"css eb1awr\">\n                                                                                                                                                                                                                                    .css-eb1awr{color:#02f14a;}\n                                                                                                                                                                                                                                  </style>\n                                                                                                                                                                                                                                  <div class=\"css-eb1awr\">\n                                                                                                                                                                                                                                    woah there\n                                                                                                                                                                                                                                    <span>\n                                                                                                                                                                                                                                      hello world\n                                                                                                                                                                                                                                    </span>\n                                                                                                                                                                                                                                    <style data-emotion=\"css 1sllz3x\">\n                                                                                                                                                                                                                                      .css-1sllz3x{color:#02fa0c;}\n                                                                                                                                                                                                                                    </style>\n                                                                                                                                                                                                                                    <div class=\"css-1sllz3x\">\n                                                                                                                                                                                                                                      woah there\n                                                                                                                                                                                                                                      <span>\n                                                                                                                                                                                                                                        hello world\n                                                                                                                                                                                                                                      </span>\n                                                                                                                                                                                                                                      <style data-emotion=\"css 1oevn2u\">\n                                                                                                                                                                                                                                        .css-1oevn2u{color:#030303;}\n                                                                                                                                                                                                                                      </style>\n                                                                                                                                                                                                                                      <div class=\"css-1oevn2u\">\n                                                                                                                                                                                                                                        woah there\n                                                                                                                                                                                                                                        <span>\n                                                                                                                                                                                                                                          hello world\n                                                                                                                                                                                                                                        </span>\n                                                                                                                                                                                                                                        <style data-emotion=\"css zjzdc9\">\n                                                                                                                                                                                                                                          .css-zjzdc9{color:#030c31;}\n                                                                                                                                                                                                                                        </style>\n                                                                                                                                                                                                                                        <div class=\"css-zjzdc9\">\n                                                                                                                                                                                                                                          woah there\n                                                                                                                                                                                                                                          <span>\n                                                                                                                                                                                                                                            hello world\n                                                                                                                                                                                                                                          </span>\n                                                                                                                                                                                                                                          <style data-emotion=\"css 6wqs48\">\n                                                                                                                                                                                                                                            .css-6wqs48{color:#031597;}\n                                                                                                                                                                                                                                          </style>\n                                                                                                                                                                                                                                          <div class=\"css-6wqs48\">\n                                                                                                                                                                                                                                            woah there\n                                                                                                                                                                                                                                            <span>\n                                                                                                                                                                                                                                              hello world\n                                                                                                                                                                                                                                            </span>\n                                                                                                                                                                                                                                            <style data-emotion=\"css 1jrdvsc\">\n                                                                                                                                                                                                                                              .css-1jrdvsc{color:#031f38;}\n                                                                                                                                                                                                                                            </style>\n                                                                                                                                                                                                                                            <div class=\"css-1jrdvsc\">\n                                                                                                                                                                                                                                              woah there\n                                                                                                                                                                                                                                              <span>\n                                                                                                                                                                                                                                                hello world\n                                                                                                                                                                                                                                              </span>\n                                                                                                                                                                                                                                              <style data-emotion=\"css 1vea8p9\">\n                                                                                                                                                                                                                                                .css-1vea8p9{color:#032916;}\n                                                                                                                                                                                                                                              </style>\n                                                                                                                                                                                                                                              <div class=\"css-1vea8p9\">\n                                                                                                                                                                                                                                                woah there\n                                                                                                                                                                                                                                                <span>\n                                                                                                                                                                                                                                                  hello world\n                                                                                                                                                                                                                                                </span>\n                                                                                                                                                                                                                                                <style data-emotion=\"css vekko5\">\n                                                                                                                                                                                                                                                  .css-vekko5{color:#033333;}\n                                                                                                                                                                                                                                                </style>\n                                                                                                                                                                                                                                                <div class=\"css-vekko5\">\n                                                                                                                                                                                                                                                  woah there\n                                                                                                                                                                                                                                                  <span>\n                                                                                                                                                                                                                                                    hello world\n                                                                                                                                                                                                                                                  </span>\n                                                                                                                                                                                                                                                  <style data-emotion=\"css 1ixaqkz\">\n                                                                                                                                                                                                                                                    .css-1ixaqkz{color:#033d92;}\n                                                                                                                                                                                                                                                  </style>\n                                                                                                                                                                                                                                                  <div class=\"css-1ixaqkz\">\n                                                                                                                                                                                                                                                    woah there\n                                                                                                                                                                                                                                                    <span>\n                                                                                                                                                                                                                                                      hello world\n                                                                                                                                                                                                                                                    </span>\n                                                                                                                                                                                                                                                    <style data-emotion=\"css 1juqtoj\">\n                                                                                                                                                                                                                                                      .css-1juqtoj{color:#034835;}\n                                                                                                                                                                                                                                                    </style>\n                                                                                                                                                                                                                                                    <div class=\"css-1juqtoj\">\n                                                                                                                                                                                                                                                      woah there\n                                                                                                                                                                                                                                                      <span>\n                                                                                                                                                                                                                                                        hello world\n                                                                                                                                                                                                                                                      </span>\n                                                                                                                                                                                                                                                      <style data-emotion=\"css cyahzj\">\n                                                                                                                                                                                                                                                        .css-cyahzj{color:#03531e;}\n                                                                                                                                                                                                                                                      </style>\n                                                                                                                                                                                                                                                      <div class=\"css-cyahzj\">\n                                                                                                                                                                                                                                                        woah there\n                                                                                                                                                                                                                                                        <span>\n                                                                                                                                                                                                                                                          hello world\n                                                                                                                                                                                                                                                        </span>\n                                                                                                                                                                                                                                                        <style data-emotion=\"css 1559ay6\">\n                                                                                                                                                                                                                                                          .css-1559ay6{color:#035e51;}\n                                                                                                                                                                                                                                                        </style>\n                                                                                                                                                                                                                                                        <div class=\"css-1559ay6\">\n                                                                                                                                                                                                                                                          woah there\n                                                                                                                                                                                                                                                          <span>\n                                                                                                                                                                                                                                                            hello world\n                                                                                                                                                                                                                                                          </span>\n                                                                                                                                                                                                                                                          <style data-emotion=\"css kgdim\">\n                                                                                                                                                                                                                                                            .css-kgdim{color:#0369d0;}\n                                                                                                                                                                                                                                                          </style>\n                                                                                                                                                                                                                                                          <div class=\"css-kgdim\">\n                                                                                                                                                                                                                                                            woah there\n                                                                                                                                                                                                                                                            <span>\n                                                                                                                                                                                                                                                              hello world\n                                                                                                                                                                                                                                                            </span>\n                                                                                                                                                                                                                                                            <style data-emotion=\"css 18cyyxf\">\n                                                                                                                                                                                                                                                              .css-18cyyxf{color:#03759f;}\n                                                                                                                                                                                                                                                            </style>\n                                                                                                                                                                                                                                                            <div class=\"css-18cyyxf\">\n                                                                                                                                                                                                                                                              woah there\n                                                                                                                                                                                                                                                              <span>\n                                                                                                                                                                                                                                                                hello world\n                                                                                                                                                                                                                                                              </span>\n                                                                                                                                                                                                                                                              <style data-emotion=\"css z0i9x2\">\n                                                                                                                                                                                                                                                                .css-z0i9x2{color:#0381c1;}\n                                                                                                                                                                                                                                                              </style>\n                                                                                                                                                                                                                                                              <div class=\"css-z0i9x2\">\n                                                                                                                                                                                                                                                                woah there\n                                                                                                                                                                                                                                                                <span>\n                                                                                                                                                                                                                                                                  hello world\n                                                                                                                                                                                                                                                                </span>\n                                                                                                                                                                                                                                                                <style data-emotion=\"css gkpvss\">\n                                                                                                                                                                                                                                                                  .css-gkpvss{color:#038e39;}\n                                                                                                                                                                                                                                                                </style>\n                                                                                                                                                                                                                                                                <div class=\"css-gkpvss\">\n                                                                                                                                                                                                                                                                  woah there\n                                                                                                                                                                                                                                                                  <span>\n                                                                                                                                                                                                                                                                    hello world\n                                                                                                                                                                                                                                                                  </span>\n                                                                                                                                                                                                                                                                  <style data-emotion=\"css weerr6\">\n                                                                                                                                                                                                                                                                    .css-weerr6{color:#039b0b;}\n                                                                                                                                                                                                                                                                  </style>\n                                                                                                                                                                                                                                                                  <div class=\"css-weerr6\">\n                                                                                                                                                                                                                                                                    woah there\n                                                                                                                                                                                                                                                                    <span>\n                                                                                                                                                                                                                                                                      hello world\n                                                                                                                                                                                                                                                                    </span>\n                                                                                                                                                                                                                                                                    <style data-emotion=\"css sw7yje\">\n                                                                                                                                                                                                                                                                      .css-sw7yje{color:#03a83b;}\n                                                                                                                                                                                                                                                                    </style>\n                                                                                                                                                                                                                                                                    <div class=\"css-sw7yje\">\n                                                                                                                                                                                                                                                                      woah there\n                                                                                                                                                                                                                                                                      <span>\n                                                                                                                                                                                                                                                                        hello world\n                                                                                                                                                                                                                                                                      </span>\n                                                                                                                                                                                                                                                                      <style data-emotion=\"css 12qk6uq\">\n                                                                                                                                                                                                                                                                        .css-12qk6uq{color:#03b5cc;}\n                                                                                                                                                                                                                                                                      </style>\n                                                                                                                                                                                                                                                                      <div class=\"css-12qk6uq\">\n                                                                                                                                                                                                                                                                        woah there\n                                                                                                                                                                                                                                                                        <span>\n                                                                                                                                                                                                                                                                          hello world\n                                                                                                                                                                                                                                                                        </span>\n                                                                                                                                                                                                                                                                        <style data-emotion=\"css 8e7cu8\">\n                                                                                                                                                                                                                                                                          .css-8e7cu8{color:#03c3c4;}\n                                                                                                                                                                                                                                                                        </style>\n                                                                                                                                                                                                                                                                        <div class=\"css-8e7cu8\">\n                                                                                                                                                                                                                                                                          woah there\n                                                                                                                                                                                                                                                                          <span>\n                                                                                                                                                                                                                                                                            hello world\n                                                                                                                                                                                                                                                                          </span>\n                                                                                                                                                                                                                                                                          <style data-emotion=\"css 6bla26\">\n                                                                                                                                                                                                                                                                            .css-6bla26{color:#03d226;}\n                                                                                                                                                                                                                                                                          </style>\n                                                                                                                                                                                                                                                                          <div class=\"css-6bla26\">\n                                                                                                                                                                                                                                                                            woah there\n                                                                                                                                                                                                                                                                            <span>\n                                                                                                                                                                                                                                                                              hello world\n                                                                                                                                                                                                                                                                            </span>\n                                                                                                                                                                                                                                                                            <style data-emotion=\"css 35jwvs\">\n                                                                                                                                                                                                                                                                              .css-35jwvs{color:#03e0f8;}\n                                                                                                                                                                                                                                                                            </style>\n                                                                                                                                                                                                                                                                            <div class=\"css-35jwvs\">\n                                                                                                                                                                                                                                                                              woah there\n                                                                                                                                                                                                                                                                              <span>\n                                                                                                                                                                                                                                                                                hello world\n                                                                                                                                                                                                                                                                              </span>\n                                                                                                                                                                                                                                                                              <style data-emotion=\"css 1nrgdft\">\n                                                                                                                                                                                                                                                                                .css-1nrgdft{color:#03f03f;}\n                                                                                                                                                                                                                                                                              </style>\n                                                                                                                                                                                                                                                                              <div class=\"css-1nrgdft\">\n                                                                                                                                                                                                                                                                                woah there\n                                                                                                                                                                                                                                                                                <span>\n                                                                                                                                                                                                                                                                                  hello world\n                                                                                                                                                                                                                                                                                </span>\n                                                                                                                                                                                                                                                                                <style data-emotion=\"css 1g4joaz\">\n                                                                                                                                                                                                                                                                                  .css-1g4joaz{color:#040000;}\n                                                                                                                                                                                                                                                                                </style>\n                                                                                                                                                                                                                                                                                <div class=\"css-1g4joaz\">\n                                                                                                                                                                                                                                                                                  woah there\n                                                                                                                                                                                                                                                                                  <span>\n                                                                                                                                                                                                                                                                                    hello world\n                                                                                                                                                                                                                                                                                  </span>\n                                                                                                                                                                                                                                                                                  <style data-emotion=\"css 3zq00y\">\n                                                                                                                                                                                                                                                                                    .css-3zq00y{color:#041041;}\n                                                                                                                                                                                                                                                                                  </style>\n                                                                                                                                                                                                                                                                                  <div class=\"css-3zq00y\">\n                                                                                                                                                                                                                                                                                    woah there\n                                                                                                                                                                                                                                                                                    <span>\n                                                                                                                                                                                                                                                                                      hello world\n                                                                                                                                                                                                                                                                                    </span>\n                                                                                                                                                                                                                                                                                    <style data-emotion=\"css 1gk0yhg\">\n                                                                                                                                                                                                                                                                                      .css-1gk0yhg{color:#042108;}\n                                                                                                                                                                                                                                                                                    </style>\n                                                                                                                                                                                                                                                                                    <div class=\"css-1gk0yhg\">\n                                                                                                                                                                                                                                                                                      woah there\n                                                                                                                                                                                                                                                                                      <span>\n                                                                                                                                                                                                                                                                                        hello world\n                                                                                                                                                                                                                                                                                      </span>\n                                                                                                                                                                                                                                                                                      <style data-emotion=\"css 65xyj4\">\n                                                                                                                                                                                                                                                                                        .css-65xyj4{color:#04325c;}\n                                                                                                                                                                                                                                                                                      </style>\n                                                                                                                                                                                                                                                                                      <div class=\"css-65xyj4\">\n                                                                                                                                                                                                                                                                                        woah there\n                                                                                                                                                                                                                                                                                        <span>\n                                                                                                                                                                                                                                                                                          hello world\n                                                                                                                                                                                                                                                                                        </span>\n                                                                                                                                                                                                                                                                                        <style data-emotion=\"css 17wkfhz\">\n                                                                                                                                                                                                                                                                                          .css-17wkfhz{color:#044444;}\n                                                                                                                                                                                                                                                                                        </style>\n                                                                                                                                                                                                                                                                                        <div class=\"css-17wkfhz\">\n                                                                                                                                                                                                                                                                                          woah there\n                                                                                                                                                                                                                                                                                          <span>\n                                                                                                                                                                                                                                                                                            hello world\n                                                                                                                                                                                                                                                                                          </span>\n                                                                                                                                                                                                                                                                                          <style data-emotion=\"css w9l44e\">\n                                                                                                                                                                                                                                                                                            .css-w9l44e{color:#0456c8;}\n                                                                                                                                                                                                                                                                                          </style>\n                                                                                                                                                                                                                                                                                          <div class=\"css-w9l44e\">\n                                                                                                                                                                                                                                                                                            woah there\n                                                                                                                                                                                                                                                                                            <span>\n                                                                                                                                                                                                                                                                                              hello world\n                                                                                                                                                                                                                                                                                            </span>\n                                                                                                                                                                                                                                                                                            <style data-emotion=\"css i5ss3y\">\n                                                                                                                                                                                                                                                                                              .css-i5ss3y{color:#0469ee;}\n                                                                                                                                                                                                                                                                                            </style>\n                                                                                                                                                                                                                                                                                            <div class=\"css-i5ss3y\">\n                                                                                                                                                                                                                                                                                              woah there\n                                                                                                                                                                                                                                                                                              <span>\n                                                                                                                                                                                                                                                                                                hello world\n                                                                                                                                                                                                                                                                                              </span>\n                                                                                                                                                                                                                                                                                              <style data-emotion=\"css qua63f\">\n                                                                                                                                                                                                                                                                                                .css-qua63f{color:#047dc1;}\n                                                                                                                                                                                                                                                                                              </style>\n                                                                                                                                                                                                                                                                                              <div class=\"css-qua63f\">\n                                                                                                                                                                                                                                                                                                woah there\n                                                                                                                                                                                                                                                                                                <span>\n                                                                                                                                                                                                                                                                                                  hello world\n                                                                                                                                                                                                                                                                                                </span>\n                                                                                                                                                                                                                                                                                                <style data-emotion=\"css 1sjj1qr\">\n                                                                                                                                                                                                                                                                                                  .css-1sjj1qr{color:#049249;}\n                                                                                                                                                                                                                                                                                                </style>\n                                                                                                                                                                                                                                                                                                <div class=\"css-1sjj1qr\">\n                                                                                                                                                                                                                                                                                                  woah there\n                                                                                                                                                                                                                                                                                                  <span>\n                                                                                                                                                                                                                                                                                                    hello world\n                                                                                                                                                                                                                                                                                                  </span>\n                                                                                                                                                                                                                                                                                                  <style data-emotion=\"css 90js15\">\n                                                                                                                                                                                                                                                                                                    .css-90js15{color:#04a790;}\n                                                                                                                                                                                                                                                                                                  </style>\n                                                                                                                                                                                                                                                                                                  <div class=\"css-90js15\">\n                                                                                                                                                                                                                                                                                                    woah there\n                                                                                                                                                                                                                                                                                                    <span>\n                                                                                                                                                                                                                                                                                                      hello world\n                                                                                                                                                                                                                                                                                                    </span>\n                                                                                                                                                                                                                                                                                                    <style data-emotion=\"css 1mzlono\">\n                                                                                                                                                                                                                                                                                                      .css-1mzlono{color:#04bda1;}\n                                                                                                                                                                                                                                                                                                    </style>\n                                                                                                                                                                                                                                                                                                    <div class=\"css-1mzlono\">\n                                                                                                                                                                                                                                                                                                      woah there\n                                                                                                                                                                                                                                                                                                      <span>\n                                                                                                                                                                                                                                                                                                        hello world\n                                                                                                                                                                                                                                                                                                      </span>\n                                                                                                                                                                                                                                                                                                      <style data-emotion=\"css bjhszk\">\n                                                                                                                                                                                                                                                                                                        .css-bjhszk{color:#04d487;}\n                                                                                                                                                                                                                                                                                                      </style>\n                                                                                                                                                                                                                                                                                                      <div class=\"css-bjhszk\">\n                                                                                                                                                                                                                                                                                                        woah there\n                                                                                                                                                                                                                                                                                                        <span>\n                                                                                                                                                                                                                                                                                                          hello world\n                                                                                                                                                                                                                                                                                                        </span>\n                                                                                                                                                                                                                                                                                                        <style data-emotion=\"css ja3cay\">\n                                                                                                                                                                                                                                                                                                          .css-ja3cay{color:#04ec4f;}\n                                                                                                                                                                                                                                                                                                        </style>\n                                                                                                                                                                                                                                                                                                        <div class=\"css-ja3cay\">\n                                                                                                                                                                                                                                                                                                          woah there\n                                                                                                                                                                                                                                                                                                          <span>\n                                                                                                                                                                                                                                                                                                            hello world\n                                                                                                                                                                                                                                                                                                          </span>\n                                                                                                                                                                                                                                                                                                          <style data-emotion=\"css 148np4p\">\n                                                                                                                                                                                                                                                                                                            .css-148np4p{color:#050505;}\n                                                                                                                                                                                                                                                                                                          </style>\n                                                                                                                                                                                                                                                                                                          <div class=\"css-148np4p\">\n                                                                                                                                                                                                                                                                                                            woah there\n                                                                                                                                                                                                                                                                                                            <span>\n                                                                                                                                                                                                                                                                                                              hello world\n                                                                                                                                                                                                                                                                                                            </span>\n                                                                                                                                                                                                                                                                                                            <style data-emotion=\"css f4eyff\">\n                                                                                                                                                                                                                                                                                                              .css-f4eyff{color:#051eb8;}\n                                                                                                                                                                                                                                                                                                            </style>\n                                                                                                                                                                                                                                                                                                            <div class=\"css-f4eyff\">\n                                                                                                                                                                                                                                                                                                              woah there\n                                                                                                                                                                                                                                                                                                              <span>\n                                                                                                                                                                                                                                                                                                                hello world\n                                                                                                                                                                                                                                                                                                              </span>\n                                                                                                                                                                                                                                                                                                              <style data-emotion=\"css 1rl24dh\">\n                                                                                                                                                                                                                                                                                                                .css-1rl24dh{color:#053978;}\n                                                                                                                                                                                                                                                                                                              </style>\n                                                                                                                                                                                                                                                                                                              <div class=\"css-1rl24dh\">\n                                                                                                                                                                                                                                                                                                                woah there\n                                                                                                                                                                                                                                                                                                                <span>\n                                                                                                                                                                                                                                                                                                                  hello world\n                                                                                                                                                                                                                                                                                                                </span>\n                                                                                                                                                                                                                                                                                                                <style data-emotion=\"css c5gtq4\">\n                                                                                                                                                                                                                                                                                                                  .css-c5gtq4{color:#055555;}\n                                                                                                                                                                                                                                                                                                                </style>\n                                                                                                                                                                                                                                                                                                                <div class=\"css-c5gtq4\">\n                                                                                                                                                                                                                                                                                                                  woah there\n                                                                                                                                                                                                                                                                                                                  <span>\n                                                                                                                                                                                                                                                                                                                    hello world\n                                                                                                                                                                                                                                                                                                                  </span>\n                                                                                                                                                                                                                                                                                                                  <style data-emotion=\"css zn3vlf\">\n                                                                                                                                                                                                                                                                                                                    .css-zn3vlf{color:#057262;}\n                                                                                                                                                                                                                                                                                                                  </style>\n                                                                                                                                                                                                                                                                                                                  <div class=\"css-zn3vlf\">\n                                                                                                                                                                                                                                                                                                                    woah there\n                                                                                                                                                                                                                                                                                                                    <span>\n                                                                                                                                                                                                                                                                                                                      hello world\n                                                                                                                                                                                                                                                                                                                    </span>\n                                                                                                                                                                                                                                                                                                                    <style data-emotion=\"css 10y72es\">\n                                                                                                                                                                                                                                                                                                                      .css-10y72es{color:#0590b2;}\n                                                                                                                                                                                                                                                                                                                    </style>\n                                                                                                                                                                                                                                                                                                                    <div class=\"css-10y72es\">\n                                                                                                                                                                                                                                                                                                                      woah there\n                                                                                                                                                                                                                                                                                                                      <span>\n                                                                                                                                                                                                                                                                                                                        hello world\n                                                                                                                                                                                                                                                                                                                      </span>\n                                                                                                                                                                                                                                                                                                                      <style data-emotion=\"css bm2jv1\">\n                                                                                                                                                                                                                                                                                                                        .css-bm2jv1{color:#05b05b;}\n                                                                                                                                                                                                                                                                                                                      </style>\n                                                                                                                                                                                                                                                                                                                      <div class=\"css-bm2jv1\">\n                                                                                                                                                                                                                                                                                                                        woah there\n                                                                                                                                                                                                                                                                                                                        <span>\n                                                                                                                                                                                                                                                                                                                          hello world\n                                                                                                                                                                                                                                                                                                                        </span>\n                                                                                                                                                                                                                                                                                                                        <style data-emotion=\"css 11jkxwc\">\n                                                                                                                                                                                                                                                                                                                          .css-11jkxwc{color:#05d174;}\n                                                                                                                                                                                                                                                                                                                        </style>\n                                                                                                                                                                                                                                                                                                                        <div class=\"css-11jkxwc\">\n                                                                                                                                                                                                                                                                                                                          woah there\n                                                                                                                                                                                                                                                                                                                          <span>\n                                                                                                                                                                                                                                                                                                                            hello world\n                                                                                                                                                                                                                                                                                                                          </span>\n                                                                                                                                                                                                                                                                                                                          <style data-emotion=\"css 2u5nz5\">\n                                                                                                                                                                                                                                                                                                                            .css-2u5nz5{color:#05f418;}\n                                                                                                                                                                                                                                                                                                                          </style>\n                                                                                                                                                                                                                                                                                                                          <div class=\"css-2u5nz5\">\n                                                                                                                                                                                                                                                                                                                            woah there\n                                                                                                                                                                                                                                                                                                                            <span>\n                                                                                                                                                                                                                                                                                                                              hello world\n                                                                                                                                                                                                                                                                                                                            </span>\n                                                                                                                                                                                                                                                                                                                            <style data-emotion=\"css a8aq2j\">\n                                                                                                                                                                                                                                                                                                                              .css-a8aq2j{color:#061862;}\n                                                                                                                                                                                                                                                                                                                            </style>\n                                                                                                                                                                                                                                                                                                                            <div class=\"css-a8aq2j\">\n                                                                                                                                                                                                                                                                                                                              woah there\n                                                                                                                                                                                                                                                                                                                              <span>\n                                                                                                                                                                                                                                                                                                                                hello world\n                                                                                                                                                                                                                                                                                                                              </span>\n                                                                                                                                                                                                                                                                                                                              <style data-emotion=\"css z8kcia\">\n                                                                                                                                                                                                                                                                                                                                .css-z8kcia{color:#063e70;}\n                                                                                                                                                                                                                                                                                                                              </style>\n                                                                                                                                                                                                                                                                                                                              <div class=\"css-z8kcia\">\n                                                                                                                                                                                                                                                                                                                                woah there\n                                                                                                                                                                                                                                                                                                                                <span>\n                                                                                                                                                                                                                                                                                                                                  hello world\n                                                                                                                                                                                                                                                                                                                                </span>\n                                                                                                                                                                                                                                                                                                                                <style data-emotion=\"css 1df0hco\">\n                                                                                                                                                                                                                                                                                                                                  .css-1df0hco{color:#066666;}\n                                                                                                                                                                                                                                                                                                                                </style>\n                                                                                                                                                                                                                                                                                                                                <div class=\"css-1df0hco\">\n                                                                                                                                                                                                                                                                                                                                  woah there\n                                                                                                                                                                                                                                                                                                                                  <span>\n                                                                                                                                                                                                                                                                                                                                    hello world\n                                                                                                                                                                                                                                                                                                                                  </span>\n                                                                                                                                                                                                                                                                                                                                  <style data-emotion=\"css 11rstpz\">\n                                                                                                                                                                                                                                                                                                                                    .css-11rstpz{color:#069069;}\n                                                                                                                                                                                                                                                                                                                                  </style>\n                                                                                                                                                                                                                                                                                                                                  <div class=\"css-11rstpz\">\n                                                                                                                                                                                                                                                                                                                                    woah there\n                                                                                                                                                                                                                                                                                                                                    <span>\n                                                                                                                                                                                                                                                                                                                                      hello world\n                                                                                                                                                                                                                                                                                                                                    </span>\n                                                                                                                                                                                                                                                                                                                                    <style data-emotion=\"css 1w071u6\">\n                                                                                                                                                                                                                                                                                                                                      .css-1w071u6{color:#06bca2;}\n                                                                                                                                                                                                                                                                                                                                    </style>\n                                                                                                                                                                                                                                                                                                                                    <div class=\"css-1w071u6\">\n                                                                                                                                                                                                                                                                                                                                      woah there\n                                                                                                                                                                                                                                                                                                                                      <span>\n                                                                                                                                                                                                                                                                                                                                        hello world\n                                                                                                                                                                                                                                                                                                                                      </span>\n                                                                                                                                                                                                                                                                                                                                      <style data-emotion=\"css 1luo8x6\">\n                                                                                                                                                                                                                                                                                                                                        .css-1luo8x6{color:#06eb3e;}\n                                                                                                                                                                                                                                                                                                                                      </style>\n                                                                                                                                                                                                                                                                                                                                      <div class=\"css-1luo8x6\">\n                                                                                                                                                                                                                                                                                                                                        woah there\n                                                                                                                                                                                                                                                                                                                                        <span>\n                                                                                                                                                                                                                                                                                                                                          hello world\n                                                                                                                                                                                                                                                                                                                                        </span>\n                                                                                                                                                                                                                                                                                                                                        <style data-emotion=\"css 1ts80l8\">\n                                                                                                                                                                                                                                                                                                                                          .css-1ts80l8{color:#071c72;}\n                                                                                                                                                                                                                                                                                                                                        </style>\n                                                                                                                                                                                                                                                                                                                                        <div class=\"css-1ts80l8\">\n                                                                                                                                                                                                                                                                                                                                          woah there\n                                                                                                                                                                                                                                                                                                                                          <span>\n                                                                                                                                                                                                                                                                                                                                            hello world\n                                                                                                                                                                                                                                                                                                                                          </span>\n                                                                                                                                                                                                                                                                                                                                          <style data-emotion=\"css duffth\">\n                                                                                                                                                                                                                                                                                                                                            .css-duffth{color:#075075;}\n                                                                                                                                                                                                                                                                                                                                          </style>\n                                                                                                                                                                                                                                                                                                                                          <div class=\"css-duffth\">\n                                                                                                                                                                                                                                                                                                                                            woah there\n                                                                                                                                                                                                                                                                                                                                            <span>\n                                                                                                                                                                                                                                                                                                                                              hello world\n                                                                                                                                                                                                                                                                                                                                            </span>\n                                                                                                                                                                                                                                                                                                                                            <style data-emotion=\"css tt1okc\">\n                                                                                                                                                                                                                                                                                                                                              .css-tt1okc{color:#078788;}\n                                                                                                                                                                                                                                                                                                                                            </style>\n                                                                                                                                                                                                                                                                                                                                            <div class=\"css-tt1okc\">\n                                                                                                                                                                                                                                                                                                                                              woah there\n                                                                                                                                                                                                                                                                                                                                              <span>\n                                                                                                                                                                                                                                                                                                                                                hello world\n                                                                                                                                                                                                                                                                                                                                              </span>\n                                                                                                                                                                                                                                                                                                                                              <style data-emotion=\"css tax4hg\">\n                                                                                                                                                                                                                                                                                                                                                .css-tax4hg{color:#07c1f0;}\n                                                                                                                                                                                                                                                                                                                                              </style>\n                                                                                                                                                                                                                                                                                                                                              <div class=\"css-tax4hg\">\n                                                                                                                                                                                                                                                                                                                                                woah there\n                                                                                                                                                                                                                                                                                                                                                <span>\n                                                                                                                                                                                                                                                                                                                                                  hello world\n                                                                                                                                                                                                                                                                                                                                                </span>\n                                                                                                                                                                                                                                                                                                                                                <style data-emotion=\"css 1k8drt4\">\n                                                                                                                                                                                                                                                                                                                                                  .css-1k8drt4{color:#080000;}\n                                                                                                                                                                                                                                                                                                                                                </style>\n                                                                                                                                                                                                                                                                                                                                                <div class=\"css-1k8drt4\">\n                                                                                                                                                                                                                                                                                                                                                  woah there\n                                                                                                                                                                                                                                                                                                                                                  <span>\n                                                                                                                                                                                                                                                                                                                                                    hello world\n                                                                                                                                                                                                                                                                                                                                                  </span>\n                                                                                                                                                                                                                                                                                                                                                  <style data-emotion=\"css qfe6wx\">\n                                                                                                                                                                                                                                                                                                                                                    .css-qfe6wx{color:#084211;}\n                                                                                                                                                                                                                                                                                                                                                  </style>\n                                                                                                                                                                                                                                                                                                                                                  <div class=\"css-qfe6wx\">\n                                                                                                                                                                                                                                                                                                                                                    woah there\n                                                                                                                                                                                                                                                                                                                                                    <span>\n                                                                                                                                                                                                                                                                                                                                                      hello world\n                                                                                                                                                                                                                                                                                                                                                    </span>\n                                                                                                                                                                                                                                                                                                                                                    <style data-emotion=\"css jhchv1\">\n                                                                                                                                                                                                                                                                                                                                                      .css-jhchv1{color:#088889;}\n                                                                                                                                                                                                                                                                                                                                                    </style>\n                                                                                                                                                                                                                                                                                                                                                    <div class=\"css-jhchv1\">\n                                                                                                                                                                                                                                                                                                                                                      woah there\n                                                                                                                                                                                                                                                                                                                                                      <span>\n                                                                                                                                                                                                                                                                                                                                                        hello world\n                                                                                                                                                                                                                                                                                                                                                      </span>\n                                                                                                                                                                                                                                                                                                                                                      <style data-emotion=\"css 1soonbp\">\n                                                                                                                                                                                                                                                                                                                                                        .css-1soonbp{color:#08d3dd;}\n                                                                                                                                                                                                                                                                                                                                                      </style>\n                                                                                                                                                                                                                                                                                                                                                      <div class=\"css-1soonbp\">\n                                                                                                                                                                                                                                                                                                                                                        woah there\n                                                                                                                                                                                                                                                                                                                                                        <span>\n                                                                                                                                                                                                                                                                                                                                                          hello world\n                                                                                                                                                                                                                                                                                                                                                        </span>\n                                                                                                                                                                                                                                                                                                                                                        <style data-emotion=\"css 1vibp0n\">\n                                                                                                                                                                                                                                                                                                                                                          .css-1vibp0n{color:#092492;}\n                                                                                                                                                                                                                                                                                                                                                        </style>\n                                                                                                                                                                                                                                                                                                                                                        <div class=\"css-1vibp0n\">\n                                                                                                                                                                                                                                                                                                                                                          woah there\n                                                                                                                                                                                                                                                                                                                                                          <span>\n                                                                                                                                                                                                                                                                                                                                                            hello world\n                                                                                                                                                                                                                                                                                                                                                          </span>\n                                                                                                                                                                                                                                                                                                                                                          <style data-emotion=\"css 13a4u4g\">\n                                                                                                                                                                                                                                                                                                                                                            .css-13a4u4g{color:#097b42;}\n                                                                                                                                                                                                                                                                                                                                                          </style>\n                                                                                                                                                                                                                                                                                                                                                          <div class=\"css-13a4u4g\">\n                                                                                                                                                                                                                                                                                                                                                            woah there\n                                                                                                                                                                                                                                                                                                                                                            <span>\n                                                                                                                                                                                                                                                                                                                                                              hello world\n                                                                                                                                                                                                                                                                                                                                                            </span>\n                                                                                                                                                                                                                                                                                                                                                            <style data-emotion=\"css 99b9o6\">\n                                                                                                                                                                                                                                                                                                                                                              .css-99b9o6{color:#09d89e;}\n                                                                                                                                                                                                                                                                                                                                                            </style>\n                                                                                                                                                                                                                                                                                                                                                            <div class=\"css-99b9o6\">\n                                                                                                                                                                                                                                                                                                                                                              woah there\n                                                                                                                                                                                                                                                                                                                                                              <span>\n                                                                                                                                                                                                                                                                                                                                                                hello world\n                                                                                                                                                                                                                                                                                                                                                              </span>\n                                                                                                                                                                                                                                                                                                                                                              <style data-emotion=\"css mccdz6\">\n                                                                                                                                                                                                                                                                                                                                                                .css-mccdz6{color:#0a3d71;}\n                                                                                                                                                                                                                                                                                                                                                              </style>\n                                                                                                                                                                                                                                                                                                                                                              <div class=\"css-mccdz6\">\n                                                                                                                                                                                                                                                                                                                                                                woah there\n                                                                                                                                                                                                                                                                                                                                                                <span>\n                                                                                                                                                                                                                                                                                                                                                                  hello world\n                                                                                                                                                                                                                                                                                                                                                                </span>\n                                                                                                                                                                                                                                                                                                                                                                <style data-emotion=\"css vh0ult\">\n                                                                                                                                                                                                                                                                                                                                                                  .css-vh0ult{color:#0aaaab;}\n                                                                                                                                                                                                                                                                                                                                                                </style>\n                                                                                                                                                                                                                                                                                                                                                                <div class=\"css-vh0ult\">\n                                                                                                                                                                                                                                                                                                                                                                  woah there\n                                                                                                                                                                                                                                                                                                                                                                  <span>\n                                                                                                                                                                                                                                                                                                                                                                    hello world\n                                                                                                                                                                                                                                                                                                                                                                  </span>\n                                                                                                                                                                                                                                                                                                                                                                  <style data-emotion=\"css 1jkc31r\">\n                                                                                                                                                                                                                                                                                                                                                                    .css-1jkc31r{color:#0b2164;}\n                                                                                                                                                                                                                                                                                                                                                                  </style>\n                                                                                                                                                                                                                                                                                                                                                                  <div class=\"css-1jkc31r\">\n                                                                                                                                                                                                                                                                                                                                                                    woah there\n                                                                                                                                                                                                                                                                                                                                                                    <span>\n                                                                                                                                                                                                                                                                                                                                                                      hello world\n                                                                                                                                                                                                                                                                                                                                                                    </span>\n                                                                                                                                                                                                                                                                                                                                                                    <style data-emotion=\"css a00fqn\">\n                                                                                                                                                                                                                                                                                                                                                                      .css-a00fqn{color:#0ba2e9;}\n                                                                                                                                                                                                                                                                                                                                                                    </style>\n                                                                                                                                                                                                                                                                                                                                                                    <div class=\"css-a00fqn\">\n                                                                                                                                                                                                                                                                                                                                                                      woah there\n                                                                                                                                                                                                                                                                                                                                                                      <span>\n                                                                                                                                                                                                                                                                                                                                                                        hello world\n                                                                                                                                                                                                                                                                                                                                                                      </span>\n                                                                                                                                                                                                                                                                                                                                                                      <style data-emotion=\"css jkplpw\">\n                                                                                                                                                                                                                                                                                                                                                                        .css-jkplpw{color:#0c30c3;}\n                                                                                                                                                                                                                                                                                                                                                                      </style>\n                                                                                                                                                                                                                                                                                                                                                                      <div class=\"css-jkplpw\">\n                                                                                                                                                                                                                                                                                                                                                                        woah there\n                                                                                                                                                                                                                                                                                                                                                                        <span>\n                                                                                                                                                                                                                                                                                                                                                                          hello world\n                                                                                                                                                                                                                                                                                                                                                                        </span>\n                                                                                                                                                                                                                                                                                                                                                                        <style data-emotion=\"css 10sw1k2\">\n                                                                                                                                                                                                                                                                                                                                                                          .css-10sw1k2{color:#0ccccd;}\n                                                                                                                                                                                                                                                                                                                                                                        </style>\n                                                                                                                                                                                                                                                                                                                                                                        <div class=\"css-10sw1k2\">\n                                                                                                                                                                                                                                                                                                                                                                          woah there\n                                                                                                                                                                                                                                                                                                                                                                          <span>\n                                                                                                                                                                                                                                                                                                                                                                            hello world\n                                                                                                                                                                                                                                                                                                                                                                          </span>\n                                                                                                                                                                                                                                                                                                                                                                          <style data-emotion=\"css gs8wd6\">\n                                                                                                                                                                                                                                                                                                                                                                            .css-gs8wd6{color:#0d7943;}\n                                                                                                                                                                                                                                                                                                                                                                          </style>\n                                                                                                                                                                                                                                                                                                                                                                          <div class=\"css-gs8wd6\">\n                                                                                                                                                                                                                                                                                                                                                                            woah there\n                                                                                                                                                                                                                                                                                                                                                                            <span>\n                                                                                                                                                                                                                                                                                                                                                                              hello world\n                                                                                                                                                                                                                                                                                                                                                                            </span>\n                                                                                                                                                                                                                                                                                                                                                                            <style data-emotion=\"css 1kgu7pf\">\n                                                                                                                                                                                                                                                                                                                                                                              .css-1kgu7pf{color:#0e38e4;}\n                                                                                                                                                                                                                                                                                                                                                                            </style>\n                                                                                                                                                                                                                                                                                                                                                                            <div class=\"css-1kgu7pf\">\n                                                                                                                                                                                                                                                                                                                                                                              woah there\n                                                                                                                                                                                                                                                                                                                                                                              <span>\n                                                                                                                                                                                                                                                                                                                                                                                hello world\n                                                                                                                                                                                                                                                                                                                                                                              </span>\n                                                                                                                                                                                                                                                                                                                                                                              <style data-emotion=\"css abzsl4\">\n                                                                                                                                                                                                                                                                                                                                                                                .css-abzsl4{color:#0f0f0f;}\n                                                                                                                                                                                                                                                                                                                                                                              </style>\n                                                                                                                                                                                                                                                                                                                                                                              <div class=\"css-abzsl4\">\n                                                                                                                                                                                                                                                                                                                                                                                woah there\n                                                                                                                                                                                                                                                                                                                                                                                <span>\n                                                                                                                                                                                                                                                                                                                                                                                  hello world\n                                                                                                                                                                                                                                                                                                                                                                                </span>\n                                                                                                                                                                                                                                                                                                                                                                                <style data-emotion=\"css 1k6hdda\">\n                                                                                                                                                                                                                                                                                                                                                                                  .css-1k6hdda{color:#100000;}\n                                                                                                                                                                                                                                                                                                                                                                                </style>\n                                                                                                                                                                                                                                                                                                                                                                                <div class=\"css-1k6hdda\">\n                                                                                                                                                                                                                                                                                                                                                                                  woah there\n                                                                                                                                                                                                                                                                                                                                                                                  <span>\n                                                                                                                                                                                                                                                                                                                                                                                    hello world\n                                                                                                                                                                                                                                                                                                                                                                                  </span>\n                                                                                                                                                                                                                                                                                                                                                                                  <style data-emotion=\"css 9gkufl\">\n                                                                                                                                                                                                                                                                                                                                                                                    .css-9gkufl{color:#111111;}\n                                                                                                                                                                                                                                                                                                                                                                                  </style>\n                                                                                                                                                                                                                                                                                                                                                                                  <div class=\"css-9gkufl\">\n                                                                                                                                                                                                                                                                                                                                                                                    woah there\n                                                                                                                                                                                                                                                                                                                                                                                    <span>\n                                                                                                                                                                                                                                                                                                                                                                                      hello world\n                                                                                                                                                                                                                                                                                                                                                                                    </span>\n                                                                                                                                                                                                                                                                                                                                                                                    <style data-emotion=\"css 1ewesh6\">\n                                                                                                                                                                                                                                                                                                                                                                                      .css-1ewesh6{color:#124925;}\n                                                                                                                                                                                                                                                                                                                                                                                    </style>\n                                                                                                                                                                                                                                                                                                                                                                                    <div class=\"css-1ewesh6\">\n                                                                                                                                                                                                                                                                                                                                                                                      woah there\n                                                                                                                                                                                                                                                                                                                                                                                      <span>\n                                                                                                                                                                                                                                                                                                                                                                                        hello world\n                                                                                                                                                                                                                                                                                                                                                                                      </span>\n                                                                                                                                                                                                                                                                                                                                                                                      <style data-emotion=\"css 9e7j34\">\n                                                                                                                                                                                                                                                                                                                                                                                        .css-9e7j34{color:#13b13b;}\n                                                                                                                                                                                                                                                                                                                                                                                      </style>\n                                                                                                                                                                                                                                                                                                                                                                                      <div class=\"css-9e7j34\">\n                                                                                                                                                                                                                                                                                                                                                                                        woah there\n                                                                                                                                                                                                                                                                                                                                                                                        <span>\n                                                                                                                                                                                                                                                                                                                                                                                          hello world\n                                                                                                                                                                                                                                                                                                                                                                                        </span>\n                                                                                                                                                                                                                                                                                                                                                                                        <style data-emotion=\"css 1ta3m3l\">\n                                                                                                                                                                                                                                                                                                                                                                                          .css-1ta3m3l{color:#155555;}\n                                                                                                                                                                                                                                                                                                                                                                                        </style>\n                                                                                                                                                                                                                                                                                                                                                                                        <div class=\"css-1ta3m3l\">\n                                                                                                                                                                                                                                                                                                                                                                                          woah there\n                                                                                                                                                                                                                                                                                                                                                                                          <span>\n                                                                                                                                                                                                                                                                                                                                                                                            hello world\n                                                                                                                                                                                                                                                                                                                                                                                          </span>\n                                                                                                                                                                                                                                                                                                                                                                                          <style data-emotion=\"css mke1vr\">\n                                                                                                                                                                                                                                                                                                                                                                                            .css-mke1vr{color:#1745d1;}\n                                                                                                                                                                                                                                                                                                                                                                                          </style>\n                                                                                                                                                                                                                                                                                                                                                                                          <div class=\"css-mke1vr\">\n                                                                                                                                                                                                                                                                                                                                                                                            woah there\n                                                                                                                                                                                                                                                                                                                                                                                            <span>\n                                                                                                                                                                                                                                                                                                                                                                                              hello world\n                                                                                                                                                                                                                                                                                                                                                                                            </span>\n                                                                                                                                                                                                                                                                                                                                                                                            <style data-emotion=\"css 138g2ic\">\n                                                                                                                                                                                                                                                                                                                                                                                              .css-138g2ic{color:#19999a;}\n                                                                                                                                                                                                                                                                                                                                                                                            </style>\n                                                                                                                                                                                                                                                                                                                                                                                            <div class=\"css-138g2ic\">\n                                                                                                                                                                                                                                                                                                                                                                                              woah there\n                                                                                                                                                                                                                                                                                                                                                                                              <span>\n                                                                                                                                                                                                                                                                                                                                                                                                hello world\n                                                                                                                                                                                                                                                                                                                                                                                              </span>\n                                                                                                                                                                                                                                                                                                                                                                                              <style data-emotion=\"css 1ambdpy\">\n                                                                                                                                                                                                                                                                                                                                                                                                .css-1ambdpy{color:#1c71c7;}\n                                                                                                                                                                                                                                                                                                                                                                                              </style>\n                                                                                                                                                                                                                                                                                                                                                                                              <div class=\"css-1ambdpy\">\n                                                                                                                                                                                                                                                                                                                                                                                                woah there\n                                                                                                                                                                                                                                                                                                                                                                                                <span>\n                                                                                                                                                                                                                                                                                                                                                                                                  hello world\n                                                                                                                                                                                                                                                                                                                                                                                                </span>\n                                                                                                                                                                                                                                                                                                                                                                                                <style data-emotion=\"css 36wzef\">\n                                                                                                                                                                                                                                                                                                                                                                                                  .css-36wzef{color:#200000;}\n                                                                                                                                                                                                                                                                                                                                                                                                </style>\n                                                                                                                                                                                                                                                                                                                                                                                                <div class=\"css-36wzef\">\n                                                                                                                                                                                                                                                                                                                                                                                                  woah there\n                                                                                                                                                                                                                                                                                                                                                                                                  <span>\n                                                                                                                                                                                                                                                                                                                                                                                                    hello world\n                                                                                                                                                                                                                                                                                                                                                                                                  </span>\n                                                                                                                                                                                                                                                                                                                                                                                                  <style data-emotion=\"css 1vluzwd\">\n                                                                                                                                                                                                                                                                                                                                                                                                    .css-1vluzwd{color:#249249;}\n                                                                                                                                                                                                                                                                                                                                                                                                  </style>\n                                                                                                                                                                                                                                                                                                                                                                                                  <div class=\"css-1vluzwd\">\n                                                                                                                                                                                                                                                                                                                                                                                                    woah there\n                                                                                                                                                                                                                                                                                                                                                                                                    <span>\n                                                                                                                                                                                                                                                                                                                                                                                                      hello world\n                                                                                                                                                                                                                                                                                                                                                                                                    </span>\n                                                                                                                                                                                                                                                                                                                                                                                                    <style data-emotion=\"css 1o5nzp5\">\n                                                                                                                                                                                                                                                                                                                                                                                                      .css-1o5nzp5{color:#2aaaab;}\n                                                                                                                                                                                                                                                                                                                                                                                                    </style>\n                                                                                                                                                                                                                                                                                                                                                                                                    <div class=\"css-1o5nzp5\">\n                                                                                                                                                                                                                                                                                                                                                                                                      woah there\n                                                                                                                                                                                                                                                                                                                                                                                                      <span>\n                                                                                                                                                                                                                                                                                                                                                                                                        hello world\n                                                                                                                                                                                                                                                                                                                                                                                                      </span>\n                                                                                                                                                                                                                                                                                                                                                                                                      <style data-emotion=\"css xnoh5a\">\n                                                                                                                                                                                                                                                                                                                                                                                                        .css-xnoh5a{color:#333333;}\n                                                                                                                                                                                                                                                                                                                                                                                                      </style>\n                                                                                                                                                                                                                                                                                                                                                                                                      <div class=\"css-xnoh5a\">\n                                                                                                                                                                                                                                                                                                                                                                                                        woah there\n                                                                                                                                                                                                                                                                                                                                                                                                        <span>\n                                                                                                                                                                                                                                                                                                                                                                                                          hello world\n                                                                                                                                                                                                                                                                                                                                                                                                        </span>\n                                                                                                                                                                                                                                                                                                                                                                                                        <style data-emotion=\"css 1gl3nb5\">\n                                                                                                                                                                                                                                                                                                                                                                                                          .css-1gl3nb5{color:#400000;}\n                                                                                                                                                                                                                                                                                                                                                                                                        </style>\n                                                                                                                                                                                                                                                                                                                                                                                                        <div class=\"css-1gl3nb5\">\n                                                                                                                                                                                                                                                                                                                                                                                                          woah there\n                                                                                                                                                                                                                                                                                                                                                                                                          <span>\n                                                                                                                                                                                                                                                                                                                                                                                                            hello world\n                                                                                                                                                                                                                                                                                                                                                                                                          </span>\n                                                                                                                                                                                                                                                                                                                                                                                                          <style data-emotion=\"css 1etkgh2\">\n                                                                                                                                                                                                                                                                                                                                                                                                            .css-1etkgh2{color:#555555;}\n                                                                                                                                                                                                                                                                                                                                                                                                          </style>\n                                                                                                                                                                                                                                                                                                                                                                                                          <div class=\"css-1etkgh2\">\n                                                                                                                                                                                                                                                                                                                                                                                                            woah there\n                                                                                                                                                                                                                                                                                                                                                                                                            <span>\n                                                                                                                                                                                                                                                                                                                                                                                                              hello world\n                                                                                                                                                                                                                                                                                                                                                                                                            </span>\n                                                                                                                                                                                                                                                                                                                                                                                                            <style data-emotion=\"css 191jeup\">\n                                                                                                                                                                                                                                                                                                                                                                                                              .css-191jeup{color:#800000;}\n                                                                                                                                                                                                                                                                                                                                                                                                            </style>\n                                                                                                                                                                                                                                                                                                                                                                                                            <div class=\"css-191jeup\">\n                                                                                                                                                                                                                                                                                                                                                                                                              woah there\n                                                                                                                                                                                                                                                                                                                                                                                                              <span>\n                                                                                                                                                                                                                                                                                                                                                                                                                hello world\n                                                                                                                                                                                                                                                                                                                                                                                                              </span>\n                                                                                                                                                                                                                                                                                                                                                                                                              <style data-emotion=\"css 1wes8i6\">\n                                                                                                                                                                                                                                                                                                                                                                                                                .css-1wes8i6{color:#1000000;}\n                                                                                                                                                                                                                                                                                                                                                                                                              </style>\n                                                                                                                                                                                                                                                                                                                                                                                                              <div class=\"css-1wes8i6\">\n                                                                                                                                                                                                                                                                                                                                                                                                                woah there\n                                                                                                                                                                                                                                                                                                                                                                                                                <span>\n                                                                                                                                                                                                                                                                                                                                                                                                                  hello world\n                                                                                                                                                                                                                                                                                                                                                                                                                </span>\n                                                                                                                                                                                                                                                                                                                                                                                                              </div>\n                                                                                                                                                                                                                                                                                                                                                                                                            </div>\n                                                                                                                                                                                                                                                                                                                                                                                                          </div>\n                                                                                                                                                                                                                                                                                                                                                                                                        </div>\n                                                                                                                                                                                                                                                                                                                                                                                                      </div>\n                                                                                                                                                                                                                                                                                                                                                                                                    </div>\n                                                                                                                                                                                                                                                                                                                                                                                                  </div>\n                                                                                                                                                                                                                                                                                                                                                                                                </div>\n                                                                                                                                                                                                                                                                                                                                                                                              </div>\n                                                                                                                                                                                                                                                                                                                                                                                            </div>\n                                                                                                                                                                                                                                                                                                                                                                                          </div>\n                                                                                                                                                                                                                                                                                                                                                                                        </div>\n                                                                                                                                                                                                                                                                                                                                                                                      </div>\n                                                                                                                                                                                                                                                                                                                                                                                    </div>\n                                                                                                                                                                                                                                                                                                                                                                                  </div>\n                                                                                                                                                                                                                                                                                                                                                                                </div>\n                                                                                                                                                                                                                                                                                                                                                                              </div>\n                                                                                                                                                                                                                                                                                                                                                                            </div>\n                                                                                                                                                                                                                                                                                                                                                                          </div>\n                                                                                                                                                                                                                                                                                                                                                                        </div>\n                                                                                                                                                                                                                                                                                                                                                                      </div>\n                                                                                                                                                                                                                                                                                                                                                                    </div>\n                                                                                                                                                                                                                                                                                                                                                                  </div>\n                                                                                                                                                                                                                                                                                                                                                                </div>\n                                                                                                                                                                                                                                                                                                                                                              </div>\n                                                                                                                                                                                                                                                                                                                                                            </div>\n                                                                                                                                                                                                                                                                                                                                                          </div>\n                                                                                                                                                                                                                                                                                                                                                        </div>\n                                                                                                                                                                                                                                                                                                                                                      </div>\n                                                                                                                                                                                                                                                                                                                                                    </div>\n                                                                                                                                                                                                                                                                                                                                                  </div>\n                                                                                                                                                                                                                                                                                                                                                </div>\n                                                                                                                                                                                                                                                                                                                                              </div>\n                                                                                                                                                                                                                                                                                                                                            </div>\n                                                                                                                                                                                                                                                                                                                                          </div>\n                                                                                                                                                                                                                                                                                                                                        </div>\n                                                                                                                                                                                                                                                                                                                                      </div>\n                                                                                                                                                                                                                                                                                                                                    </div>\n                                                                                                                                                                                                                                                                                                                                  </div>\n                                                                                                                                                                                                                                                                                                                                </div>\n                                                                                                                                                                                                                                                                                                                              </div>\n                                                                                                                                                                                                                                                                                                                            </div>\n                                                                                                                                                                                                                                                                                                                          </div>\n                                                                                                                                                                                                                                                                                                                        </div>\n                                                                                                                                                                                                                                                                                                                      </div>\n                                                                                                                                                                                                                                                                                                                    </div>\n                                                                                                                                                                                                                                                                                                                  </div>\n                                                                                                                                                                                                                                                                                                                </div>\n                                                                                                                                                                                                                                                                                                              </div>\n                                                                                                                                                                                                                                                                                                            </div>\n                                                                                                                                                                                                                                                                                                          </div>\n                                                                                                                                                                                                                                                                                                        </div>\n                                                                                                                                                                                                                                                                                                      </div>\n                                                                                                                                                                                                                                                                                                    </div>\n                                                                                                                                                                                                                                                                                                  </div>\n                                                                                                                                                                                                                                                                                                </div>\n                                                                                                                                                                                                                                                                                              </div>\n                                                                                                                                                                                                                                                                                            </div>\n                                                                                                                                                                                                                                                                                          </div>\n                                                                                                                                                                                                                                                                                        </div>\n                                                                                                                                                                                                                                                                                      </div>\n                                                                                                                                                                                                                                                                                    </div>\n                                                                                                                                                                                                                                                                                  </div>\n                                                                                                                                                                                                                                                                                </div>\n                                                                                                                                                                                                                                                                              </div>\n                                                                                                                                                                                                                                                                            </div>\n                                                                                                                                                                                                                                                                          </div>\n                                                                                                                                                                                                                                                                        </div>\n                                                                                                                                                                                                                                                                      </div>\n                                                                                                                                                                                                                                                                    </div>\n                                                                                                                                                                                                                                                                  </div>\n                                                                                                                                                                                                                                                                </div>\n                                                                                                                                                                                                                                                              </div>\n                                                                                                                                                                                                                                                            </div>\n                                                                                                                                                                                                                                                          </div>\n                                                                                                                                                                                                                                                        </div>\n                                                                                                                                                                                                                                                      </div>\n                                                                                                                                                                                                                                                    </div>\n                                                                                                                                                                                                                                                  </div>\n                                                                                                                                                                                                                                                </div>\n                                                                                                                                                                                                                                              </div>\n                                                                                                                                                                                                                                            </div>\n                                                                                                                                                                                                                                          </div>\n                                                                                                                                                                                                                                        </div>\n                                                                                                                                                                                                                                      </div>\n                                                                                                                                                                                                                                    </div>\n                                                                                                                                                                                                                                  </div>\n                                                                                                                                                                                                                                </div>\n                                                                                                                                                                                                                              </div>\n                                                                                                                                                                                                                            </div>\n                                                                                                                                                                                                                          </div>\n                                                                                                                                                                                                                        </div>\n                                                                                                                                                                                                                      </div>\n                                                                                                                                                                                                                    </div>\n                                                                                                                                                                                                                  </div>\n                                                                                                                                                                                                                </div>\n                                                                                                                                                                                                              </div>\n                                                                                                                                                                                                            </div>\n                                                                                                                                                                                                          </div>\n                                                                                                                                                                                                        </div>\n                                                                                                                                                                                                      </div>\n                                                                                                                                                                                                    </div>\n                                                                                                                                                                                                  </div>\n                                                                                                                                                                                                </div>\n                                                                                                                                                                                              </div>\n                                                                                                                                                                                            </div>\n                                                                                                                                                                                          </div>\n                                                                                                                                                                                        </div>\n                                                                                                                                                                                      </div>\n                                                                                                                                                                                    </div>\n                                                                                                                                                                                  </div>\n                                                                                                                                                                                </div>\n                                                                                                                                                                              </div>\n                                                                                                                                                                            </div>\n                                                                                                                                                                          </div>\n                                                                                                                                                                        </div>\n                                                                                                                                                                      </div>\n                                                                                                                                                                    </div>\n                                                                                                                                                                  </div>\n                                                                                                                                                                </div>\n                                                                                                                                                              </div>\n                                                                                                                                                            </div>\n                                                                                                                                                          </div>\n                                                                                                                                                        </div>\n                                                                                                                                                      </div>\n                                                                                                                                                    </div>\n                                                                                                                                                  </div>\n                                                                                                                                                </div>\n                                                                                                                                              </div>\n                                                                                                                                            </div>\n                                                                                                                                          </div>\n                                                                                                                                        </div>\n                                                                                                                                      </div>\n                                                                                                                                    </div>\n                                                                                                                                  </div>\n                                                                                                                                </div>\n                                                                                                                              </div>\n                                                                                                                            </div>\n                                                                                                                          </div>\n                                                                                                                        </div>\n                                                                                                                      </div>\n                                                                                                                    </div>\n                                                                                                                  </div>\n                                                                                                                </div>\n                                                                                                              </div>\n                                                                                                            </div>\n                                                                                                          </div>\n                                                                                                        </div>\n                                                                                                      </div>\n                                                                                                    </div>\n                                                                                                  </div>\n                                                                                                </div>\n                                                                                              </div>\n                                                                                            </div>\n                                                                                          </div>\n                                                                                        </div>\n                                                                                      </div>\n                                                                                    </div>\n                                                                                  </div>\n                                                                                </div>\n                                                                              </div>\n                                                                            </div>\n                                                                          </div>\n                                                                        </div>\n                                                                      </div>\n                                                                    </div>\n                                                                  </div>\n                                                                </div>\n                                                              </div>\n                                                            </div>\n                                                          </div>\n                                                        </div>\n                                                      </div>\n                                                    </div>\n                                                  </div>\n                                                </div>\n                                              </div>\n                                            </div>\n                                          </div>\n                                        </div>\n                                      </div>\n                                    </div>\n                                  </div>\n                                </div>\n                              </div>\n                            </div>\n                          </div>\n                        </div>\n                      </div>\n                    </div>\n                  </div>\n                </div>\n              </div>\n            </div>\n          </div>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n`;\n\nexports[`renderStylesToString renders styles with ids 1`] = `\n<style data-emotion=\"css 1uqawbr i9f7qw-bounce 1nhdffy\">\n  @font-face{font-family:'Patrick Hand SC';font-style:normal;font-weight:400;src:local('Patrick Hand SC'),local('PatrickHandSC-Regular'),url(https://fonts.gstatic.com/s/patrickhandsc/v4/OYFWCgfCR-7uHIovjUZXsZ71Uis0Qeb9Gqo8IZV7ckE.woff2) format('woff2');unicode-range:U+0100-024f,U+1-1eff,U+20a0-20ab,U+20ad-20cf,U+2c60-2c7f,U+A720-A7FF;}@-webkit-keyframes animation-i9f7qw-bounce{from,20%,53%,80%,to{-webkit-animation-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);animation-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);}40%,43%{-webkit-animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);-webkit-transform:translate3d(0, -30px, 0);-moz-transform:translate3d(0, -30px, 0);-ms-transform:translate3d(0, -30px, 0);transform:translate3d(0, -30px, 0);}70%{-webkit-animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);-webkit-transform:translate3d(0, -15px, 0);-moz-transform:translate3d(0, -15px, 0);-ms-transform:translate3d(0, -15px, 0);transform:translate3d(0, -15px, 0);}90%{-webkit-transform:translate3d(0, -4px, 0);-moz-transform:translate3d(0, -4px, 0);-ms-transform:translate3d(0, -4px, 0);transform:translate3d(0, -4px, 0);}}@keyframes animation-i9f7qw-bounce{from,20%,53%,80%,to{-webkit-animation-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);animation-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);}40%,43%{-webkit-animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);-webkit-transform:translate3d(0, -30px, 0);-moz-transform:translate3d(0, -30px, 0);-ms-transform:translate3d(0, -30px, 0);transform:translate3d(0, -30px, 0);}70%{-webkit-animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);-webkit-transform:translate3d(0, -15px, 0);-moz-transform:translate3d(0, -15px, 0);-ms-transform:translate3d(0, -15px, 0);transform:translate3d(0, -15px, 0);}90%{-webkit-transform:translate3d(0, -4px, 0);-moz-transform:translate3d(0, -4px, 0);-ms-transform:translate3d(0, -4px, 0);transform:translate3d(0, -4px, 0);}}.no-prefix{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}\n</style>\n<style data-emotion=\"css fgjrlg-hoverStyles-Something_Main\">\n  .css-fgjrlg-hoverStyles-Something_Main{color:hotpink;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.css-fgjrlg-hoverStyles-Something_Main:hover{color:white;background-color:lightgray;border-color:aqua;box-shadow:-15px -15px 0 0 aqua,-30px -30px 0 0 cornflowerblue;}\n</style>\n<main class=\"css-fgjrlg-hoverStyles-Something_Main\">\n  <style data-emotion=\"css 1h1w8ez-Image\">\n    .css-1h1w8ez-Image{-webkit-animation:animation-i9f7qw-bounce;animation:animation-i9f7qw-bounce;border-radius:50%;height:50px;width:50px;background-color:red;}\n  </style>\n  <img size=\"30\"\n       class=\"css-1h1w8ez-Image\"\n  >\n  <img size=\"100\"\n       class=\"css-1h1w8ez-Image\"\n  >\n  <img class=\"css-1h1w8ez-Image\">\n</main>\n`;\n\nexports[`renderStylesToString renders styles with ids 2`] = `\n<style data-emotion=\"css 1uqawbr i9f7qw-bounce 1nhdffy\">\n  @font-face{font-family:'Patrick Hand SC';font-style:normal;font-weight:400;src:local('Patrick Hand SC'),local('PatrickHandSC-Regular'),url(https://fonts.gstatic.com/s/patrickhandsc/v4/OYFWCgfCR-7uHIovjUZXsZ71Uis0Qeb9Gqo8IZV7ckE.woff2) format('woff2');unicode-range:U+0100-024f,U+1-1eff,U+20a0-20ab,U+20ad-20cf,U+2c60-2c7f,U+A720-A7FF;}@-webkit-keyframes animation-i9f7qw-bounce{from,20%,53%,80%,to{-webkit-animation-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);animation-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);}40%,43%{-webkit-animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);-webkit-transform:translate3d(0, -30px, 0);-moz-transform:translate3d(0, -30px, 0);-ms-transform:translate3d(0, -30px, 0);transform:translate3d(0, -30px, 0);}70%{-webkit-animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);-webkit-transform:translate3d(0, -15px, 0);-moz-transform:translate3d(0, -15px, 0);-ms-transform:translate3d(0, -15px, 0);transform:translate3d(0, -15px, 0);}90%{-webkit-transform:translate3d(0, -4px, 0);-moz-transform:translate3d(0, -4px, 0);-ms-transform:translate3d(0, -4px, 0);transform:translate3d(0, -4px, 0);}}@keyframes animation-i9f7qw-bounce{from,20%,53%,80%,to{-webkit-animation-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);animation-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);}40%,43%{-webkit-animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);-webkit-transform:translate3d(0, -30px, 0);-moz-transform:translate3d(0, -30px, 0);-ms-transform:translate3d(0, -30px, 0);transform:translate3d(0, -30px, 0);}70%{-webkit-animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);-webkit-transform:translate3d(0, -15px, 0);-moz-transform:translate3d(0, -15px, 0);-ms-transform:translate3d(0, -15px, 0);transform:translate3d(0, -15px, 0);}90%{-webkit-transform:translate3d(0, -4px, 0);-moz-transform:translate3d(0, -4px, 0);-ms-transform:translate3d(0, -4px, 0);transform:translate3d(0, -4px, 0);}}.no-prefix{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}\n</style>\n<style data-emotion=\"css fgjrlg-hoverStyles-Something_Main\">\n  .css-fgjrlg-hoverStyles-Something_Main{color:hotpink;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.css-fgjrlg-hoverStyles-Something_Main:hover{color:white;background-color:lightgray;border-color:aqua;box-shadow:-15px -15px 0 0 aqua,-30px -30px 0 0 cornflowerblue;}\n</style>\n<main class=\"css-fgjrlg-hoverStyles-Something_Main\">\n  <div>\n    Hello\n  </div>\n</main>\n`;\n\nexports[`renderStylesToString skip undefined styles 1`] = `\n<style data-emotion=\"css 1vhj9jp\">\n  .css-1vhj9jp{color:red;}\n</style>\n<a href=\"css-fail\"\n   class=\"css-1vhj9jp\"\n>\n</a>\n`;\n"
  },
  {
    "path": "packages/server/test/__snapshots__/stream.test.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`hydration only inserts rules that are not in the critical css 1`] = `\n<style data-emotion=\"css fgjrlg-hoverStyles-Something_Main 1uqawbr i9f7qw-bounce 1nhdffy\">\n  @font-face{font-family:'Patrick Hand SC';font-style:normal;font-weight:400;src:local('Patrick Hand SC'),local('PatrickHandSC-Regular'),url(https://fonts.gstatic.com/s/patrickhandsc/v4/OYFWCgfCR-7uHIovjUZXsZ71Uis0Qeb9Gqo8IZV7ckE.woff2) format('woff2');unicode-range:U+0100-024f,U+1-1eff,U+20a0-20ab,U+20ad-20cf,U+2c60-2c7f,U+A720-A7FF;}@-webkit-keyframes animation-i9f7qw-bounce{from,20%,53%,80%,to{-webkit-animation-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);animation-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);}40%,43%{-webkit-animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);-webkit-transform:translate3d(0, -30px, 0);-moz-transform:translate3d(0, -30px, 0);-ms-transform:translate3d(0, -30px, 0);transform:translate3d(0, -30px, 0);}70%{-webkit-animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);-webkit-transform:translate3d(0, -15px, 0);-moz-transform:translate3d(0, -15px, 0);-ms-transform:translate3d(0, -15px, 0);transform:translate3d(0, -15px, 0);}90%{-webkit-transform:translate3d(0, -4px, 0);-moz-transform:translate3d(0, -4px, 0);-ms-transform:translate3d(0, -4px, 0);transform:translate3d(0, -4px, 0);}}@keyframes animation-i9f7qw-bounce{from,20%,53%,80%,to{-webkit-animation-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);animation-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);}40%,43%{-webkit-animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);-webkit-transform:translate3d(0, -30px, 0);-moz-transform:translate3d(0, -30px, 0);-ms-transform:translate3d(0, -30px, 0);transform:translate3d(0, -30px, 0);}70%{-webkit-animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);-webkit-transform:translate3d(0, -15px, 0);-moz-transform:translate3d(0, -15px, 0);-ms-transform:translate3d(0, -15px, 0);transform:translate3d(0, -15px, 0);}90%{-webkit-transform:translate3d(0, -4px, 0);-moz-transform:translate3d(0, -4px, 0);-ms-transform:translate3d(0, -4px, 0);transform:translate3d(0, -4px, 0);}}.no-prefix{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}.css-fgjrlg-hoverStyles-Something_Main{color:hotpink;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.css-fgjrlg-hoverStyles-Something_Main:hover{color:white;background-color:lightgray;border-color:aqua;box-shadow:-15px -15px 0 0 aqua,-30px -30px 0 0 cornflowerblue;}\n</style>\n<main class=\"css-fgjrlg-hoverStyles-Something_Main\">\n  <style data-emotion=\"css 1h1w8ez-Image\">\n    .css-1h1w8ez-Image{-webkit-animation:animation-i9f7qw-bounce;animation:animation-i9f7qw-bounce;border-radius:50%;height:50px;width:50px;background-color:red;}\n  </style>\n  <img size=\"30\"\n       class=\"css-1h1w8ez-Image\"\n  >\n  <img size=\"100\"\n       class=\"css-1h1w8ez-Image\"\n  >\n  <img class=\"css-1h1w8ez-Image\">\n</main>\n`;\n\nexports[`hydration only inserts rules that are not in the critical css 2`] = `\n\".css-v31heb-hoverStyles {\n  color: hotpink;\n}\n\n.css-v31heb-hoverStyles:hover {\n  color: white;\n  background-color: lightgray;\n  border-color: aqua;\n  box-shadow: -15px -15px 0 0 aqua,-30px -30px 0 0 cornflowerblue;\n}\n\n.css-k26awr {\n  display: none;\n}\"\n`;\n\nexports[`hydration only inserts rules that are not in the critical css 3`] = `\n\"@font-face {\n  font-family: 'Patrick Hand SC';\n  font-style: normal;\n  font-weight: 400;\n  src: local('Patrick Hand SC'),local('PatrickHandSC-Regular'),url(https://fonts.gstatic.com/s/patrickhandsc/v4/OYFWCgfCR-7uHIovjUZXsZ71Uis0Qeb9Gqo8IZV7ckE.woff2) format('woff2');\n  unicode-range: U+0100-024f,U+1-1eff,U+20a0-20ab,U+20ad-20cf,U+2c60-2c7f,U+A720-A7FF;\n}\n\n@-webkit-keyframes animation-i9f7qw-bounce {\n  from, 20%, 53%, 80%, to {\n    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n    -webkit-transform: translate3d(0, 0, 0);\n    -moz-transform: translate3d(0, 0, 0);\n    -ms-transform: translate3d(0, 0, 0);\n    transform: translate3d(0, 0, 0);\n  }\n\n  40%, 43% {\n    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\n    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\n    -webkit-transform: translate3d(0, -30px, 0);\n    -moz-transform: translate3d(0, -30px, 0);\n    -ms-transform: translate3d(0, -30px, 0);\n    transform: translate3d(0, -30px, 0);\n  }\n\n  70% {\n    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\n    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\n    -webkit-transform: translate3d(0, -15px, 0);\n    -moz-transform: translate3d(0, -15px, 0);\n    -ms-transform: translate3d(0, -15px, 0);\n    transform: translate3d(0, -15px, 0);\n  }\n\n  90% {\n    -webkit-transform: translate3d(0, -4px, 0);\n    -moz-transform: translate3d(0, -4px, 0);\n    -ms-transform: translate3d(0, -4px, 0);\n    transform: translate3d(0, -4px, 0);\n  }\n}\n\n@keyframes animation-i9f7qw-bounce {\n  from, 20%, 53%, 80%, to {\n    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n    -webkit-transform: translate3d(0, 0, 0);\n    -moz-transform: translate3d(0, 0, 0);\n    -ms-transform: translate3d(0, 0, 0);\n    transform: translate3d(0, 0, 0);\n  }\n\n  40%, 43% {\n    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\n    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\n    -webkit-transform: translate3d(0, -30px, 0);\n    -moz-transform: translate3d(0, -30px, 0);\n    -ms-transform: translate3d(0, -30px, 0);\n    transform: translate3d(0, -30px, 0);\n  }\n\n  70% {\n    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\n    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\n    -webkit-transform: translate3d(0, -15px, 0);\n    -moz-transform: translate3d(0, -15px, 0);\n    -ms-transform: translate3d(0, -15px, 0);\n    transform: translate3d(0, -15px, 0);\n  }\n\n  90% {\n    -webkit-transform: translate3d(0, -4px, 0);\n    -moz-transform: translate3d(0, -4px, 0);\n    -ms-transform: translate3d(0, -4px, 0);\n    transform: translate3d(0, -4px, 0);\n  }\n}\n\n.no-prefix {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-pack: center;\n  -ms-flex-pack: center;\n  -webkit-justify-content: center;\n  justify-content: center;\n}\n\n.css-fgjrlg-hoverStyles-Something_Main {\n  color: hotpink;\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n}\n\n.css-fgjrlg-hoverStyles-Something_Main:hover {\n  color: white;\n  background-color: lightgray;\n  border-color: aqua;\n  box-shadow: -15px -15px 0 0 aqua,-30px -30px 0 0 cornflowerblue;\n}\n\n.css-1h1w8ez-Image {\n  -webkit-animation: animation-i9f7qw-bounce;\n  animation: animation-i9f7qw-bounce;\n  border-radius: 50%;\n  height: 50px;\n  width: 50px;\n  background-color: red;\n}\"\n`;\n\nexports[`renderStylesToNodeStream renders large recursive component 1`] = `\n<style data-emotion=\"css 127stik 1mxgdgj 7oyr76 j3l52t 1be0pz3 awuqpb 1i7zhog 1wfoctz fc6lvz 2squ55 1w5v94j aunzx7 3al575 11f074x p15six 18u2re8 jcpju2 5d0zsm 1dpd5ul gfcbni 1jiphdk rj01o9 1488xs5 15xnezh 184lbb8 manocn 1umkmjt odl9to 11xg40 rgxdxp 70qps 5rivwv 1ekpy8w 1td920t 1epp5w 1k1d8rn vk4jtt 628xoq 1mvbvml 1c0xybd gj3v00 nkhoz4 17n2b4l 1es3p9i 1ndh3ck 1xvd1pe 18ld629 kg8xpq ppci6y 1ia901n j0k50p e0gjgb 1enrcxf 13r7krf 1kanh94 li2rx1 1mmlcvc 1nlc23 17beei6 1jqhnzu oqcnq8 1uus9kv 1m0952k dcxbft 12b54g8 936m12 1rqy942 ssgydo bvr28e q7rqgc 6uph5v 1t8v36t y7o2df vn3biw qvxdsd 1aqic6s 30owfv 1vj3hk7 1xfrpf4 l539hk 15joy70 16ylmie 7y2cvq 1w0x3oa 15nxgk3 qy1n2d 1vzbl6r 1never2 inwqci cja9xn vh9ala 1l5peir 1y1m1bn clop4i c9h5qg 1803k8u xgd3dd g0qjre 1u3agcs 4vb10h f59pxt 1is0wnp 1m7m6b8 1abpa1i 2qg1ot 1962n5a tvm0n3 1wo7l9z e963hw helz5s 1lo5wgy jas2da 6b1mn9 9456c 1burs84 acvymo 5ir6nu 3uxv18 676m05 16ch583 1l5q8o6 29hq6z t8ulab 11c3pwx plfo0u jzad8y n2u7t0 gj0ny3 hq26b 13txtj7 1abkqu 18qp6qn 1j8ha2k 1dawo17 1g5i33r qwzehu 661prt r9hkdr 1jwml5g eif6tj 1glgqbn xagvgz xegjiq 1dg3mz2 12g56i4 155k1ol wmmgi8 1rtokyw eub81m 1sp6wed sopwqw jvlbzj c0fhpp ya5fjl a1wt2a s3t0mz e2iwhw f6fc7a 14lo9e8 15nr8n6 opmfz1 xzjoum 19cwupx yzjpko 1hdtk9n qch6gk 1brwxbm qi3ue pby1bx 1ngv0xw 1tf2gqw 2aj80b yiuueo 7dj3zo 1ua8hry ph7df6 1wl9l48 1jpf5tg 25pweb 1vhoxch fqa73u 1042dyt 13l2gd9 z8odma 17r5vu0 1neh6nm 10nd4xt 15g5cci 11cgmwf ag6j9u jku1jn 1pxlxrg u1dyl6 37fxtj uia17y 5kf6fm z9hh1c 1abr9jj brxqds 130nyr5 1atrbnz\">\n  .some-global-200{padding:0;margin:200;}.css-127stik{color:#0147ae;}.some-global-199{padding:0;margin:199;}.some-global-198{padding:0;margin:198;}.some-global-197{padding:0;margin:197;}.some-global-196{padding:0;margin:196;}.some-global-195{padding:0;margin:195;}.some-global-194{padding:0;margin:194;}.some-global-193{padding:0;margin:193;}.some-global-192{padding:0;margin:192;}.some-global-191{padding:0;margin:191;}.some-global-190{padding:0;margin:190;}.some-global-189{padding:0;margin:189;}.some-global-188{padding:0;margin:188;}.some-global-187{padding:0;margin:187;}.some-global-186{padding:0;margin:186;}.some-global-185{padding:0;margin:185;}.some-global-184{padding:0;margin:184;}.some-global-183{padding:0;margin:183;}.some-global-182{padding:0;margin:182;}.some-global-181{padding:0;margin:181;}.some-global-180{padding:0;margin:180;}.some-global-179{padding:0;margin:179;}.some-global-178{padding:0;margin:178;}.some-global-177{padding:0;margin:177;}.some-global-176{padding:0;margin:176;}.some-global-175{padding:0;margin:175;}.some-global-174{padding:0;margin:174;}.some-global-173{padding:0;margin:173;}.some-global-172{padding:0;margin:172;}.some-global-171{padding:0;margin:171;}.some-global-170{padding:0;margin:170;}.some-global-169{padding:0;margin:169;}.some-global-168{padding:0;margin:168;}.some-global-167{padding:0;margin:167;}.some-global-166{padding:0;margin:166;}.some-global-165{padding:0;margin:165;}.some-global-164{padding:0;margin:164;}.some-global-163{padding:0;margin:163;}.some-global-162{padding:0;margin:162;}.some-global-161{padding:0;margin:161;}.some-global-160{padding:0;margin:160;}.some-global-159{padding:0;margin:159;}.some-global-158{padding:0;margin:158;}.some-global-157{padding:0;margin:157;}.some-global-156{padding:0;margin:156;}.some-global-155{padding:0;margin:155;}.some-global-154{padding:0;margin:154;}.some-global-153{padding:0;margin:153;}.some-global-152{padding:0;margin:152;}.some-global-151{padding:0;margin:151;}.some-global-150{padding:0;margin:150;}.some-global-149{padding:0;margin:149;}.some-global-148{padding:0;margin:148;}.some-global-147{padding:0;margin:147;}.some-global-146{padding:0;margin:146;}.some-global-145{padding:0;margin:145;}.some-global-144{padding:0;margin:144;}.some-global-143{padding:0;margin:143;}.some-global-142{padding:0;margin:142;}.some-global-141{padding:0;margin:141;}.some-global-140{padding:0;margin:140;}.some-global-139{padding:0;margin:139;}.some-global-138{padding:0;margin:138;}.some-global-137{padding:0;margin:137;}.some-global-136{padding:0;margin:136;}.some-global-135{padding:0;margin:135;}.some-global-134{padding:0;margin:134;}.some-global-133{padding:0;margin:133;}.some-global-132{padding:0;margin:132;}.some-global-131{padding:0;margin:131;}.some-global-130{padding:0;margin:130;}.some-global-129{padding:0;margin:129;}.some-global-128{padding:0;margin:128;}.some-global-127{padding:0;margin:127;}.some-global-126{padding:0;margin:126;}.some-global-125{padding:0;margin:125;}.some-global-124{padding:0;margin:124;}.some-global-123{padding:0;margin:123;}.some-global-122{padding:0;margin:122;}.some-global-121{padding:0;margin:121;}.some-global-120{padding:0;margin:120;}.some-global-119{padding:0;margin:119;}.some-global-118{padding:0;margin:118;}.some-global-117{padding:0;margin:117;}.some-global-116{padding:0;margin:116;}.some-global-115{padding:0;margin:115;}.some-global-114{padding:0;margin:114;}.some-global-113{padding:0;margin:113;}.some-global-112{padding:0;margin:112;}.some-global-111{padding:0;margin:111;}.some-global-110{padding:0;margin:110;}.some-global-109{padding:0;margin:109;}.some-global-108{padding:0;margin:108;}.some-global-107{padding:0;margin:107;}.some-global-106{padding:0;margin:106;}.some-global-105{padding:0;margin:105;}.some-global-104{padding:0;margin:104;}.some-global-103{padding:0;margin:103;}.some-global-102{padding:0;margin:102;}.some-global-101{padding:0;margin:101;}.some-global-100{padding:0;margin:100;}.some-global-99{padding:0;margin:99;}.some-global-98{padding:0;margin:98;}.some-global-97{padding:0;margin:97;}.some-global-96{padding:0;margin:96;}.some-global-95{padding:0;margin:95;}.some-global-94{padding:0;margin:94;}.some-global-93{padding:0;margin:93;}.some-global-92{padding:0;margin:92;}.some-global-91{padding:0;margin:91;}.some-global-90{padding:0;margin:90;}.some-global-89{padding:0;margin:89;}.some-global-88{padding:0;margin:88;}.some-global-87{padding:0;margin:87;}.some-global-86{padding:0;margin:86;}.some-global-85{padding:0;margin:85;}.some-global-84{padding:0;margin:84;}.some-global-83{padding:0;margin:83;}.some-global-82{padding:0;margin:82;}.some-global-81{padding:0;margin:81;}.some-global-80{padding:0;margin:80;}.some-global-79{padding:0;margin:79;}.some-global-78{padding:0;margin:78;}.some-global-77{padding:0;margin:77;}.some-global-76{padding:0;margin:76;}.some-global-75{padding:0;margin:75;}.some-global-74{padding:0;margin:74;}.some-global-73{padding:0;margin:73;}.some-global-72{padding:0;margin:72;}.some-global-71{padding:0;margin:71;}.some-global-70{padding:0;margin:70;}.some-global-69{padding:0;margin:69;}.some-global-68{padding:0;margin:68;}.some-global-67{padding:0;margin:67;}.some-global-66{padding:0;margin:66;}.some-global-65{padding:0;margin:65;}.some-global-64{padding:0;margin:64;}.some-global-63{padding:0;margin:63;}.some-global-62{padding:0;margin:62;}.some-global-61{padding:0;margin:61;}.some-global-60{padding:0;margin:60;}.some-global-59{padding:0;margin:59;}.some-global-58{padding:0;margin:58;}.some-global-57{padding:0;margin:57;}.some-global-56{padding:0;margin:56;}.some-global-55{padding:0;margin:55;}.some-global-54{padding:0;margin:54;}.some-global-53{padding:0;margin:53;}.some-global-52{padding:0;margin:52;}.some-global-51{padding:0;margin:51;}.some-global-50{padding:0;margin:50;}.some-global-49{padding:0;margin:49;}.some-global-48{padding:0;margin:48;}.some-global-47{padding:0;margin:47;}.some-global-46{padding:0;margin:46;}.some-global-45{padding:0;margin:45;}.some-global-44{padding:0;margin:44;}.some-global-43{padding:0;margin:43;}.some-global-42{padding:0;margin:42;}.some-global-41{padding:0;margin:41;}.some-global-40{padding:0;margin:40;}.some-global-39{padding:0;margin:39;}.some-global-38{padding:0;margin:38;}.some-global-37{padding:0;margin:37;}.some-global-36{padding:0;margin:36;}.some-global-35{padding:0;margin:35;}.some-global-34{padding:0;margin:34;}.some-global-33{padding:0;margin:33;}.some-global-32{padding:0;margin:32;}.some-global-31{padding:0;margin:31;}.some-global-30{padding:0;margin:30;}.some-global-29{padding:0;margin:29;}.some-global-28{padding:0;margin:28;}.some-global-27{padding:0;margin:27;}.some-global-26{padding:0;margin:26;}.some-global-25{padding:0;margin:25;}.some-global-24{padding:0;margin:24;}.some-global-23{padding:0;margin:23;}.some-global-22{padding:0;margin:22;}.some-global-21{padding:0;margin:21;}.some-global-20{padding:0;margin:20;}.some-global-19{padding:0;margin:19;}.some-global-18{padding:0;margin:18;}.some-global-17{padding:0;margin:17;}.some-global-16{padding:0;margin:16;}.some-global-15{padding:0;margin:15;}.some-global-14{padding:0;margin:14;}.some-global-13{padding:0;margin:13;}.some-global-12{padding:0;margin:12;}.some-global-11{padding:0;margin:11;}.some-global-10{padding:0;margin:10;}.some-global-9{padding:0;margin:9;}.some-global-8{padding:0;margin:8;}.some-global-7{padding:0;margin:7;}.some-global-6{padding:0;margin:6;}.some-global-5{padding:0;margin:5;}.some-global-4{padding:0;margin:4;}.some-global-3{padding:0;margin:3;}.some-global-2{padding:0;margin:2;}.some-global-1{padding:0;margin:1;}\n</style>\n<div class=\"css-127stik\">\n  woah there\n  <span>\n    hello world\n  </span>\n  <style data-emotion=\"css 9rpmvg\">\n    .css-9rpmvg{color:#014954;}\n  </style>\n  <div class=\"css-9rpmvg\">\n    woah there\n    <span>\n      hello world\n    </span>\n    <style data-emotion=\"css 1hzr4kc\">\n      .css-1hzr4kc{color:#014afd;}\n    </style>\n    <div class=\"css-1hzr4kc\">\n      woah there\n      <span>\n        hello world\n      </span>\n      <style data-emotion=\"css ogzoe7\">\n        .css-ogzoe7{color:#014cac;}\n      </style>\n      <div class=\"css-ogzoe7\">\n        woah there\n        <span>\n          hello world\n        </span>\n        <style data-emotion=\"css 6ng8h1\">\n          .css-6ng8h1{color:#014e5e;}\n        </style>\n        <div class=\"css-6ng8h1\">\n          woah there\n          <span>\n            hello world\n          </span>\n          <style data-emotion=\"css zv4lth\">\n            .css-zv4lth{color:#015015;}\n          </style>\n          <div class=\"css-zv4lth\">\n            woah there\n            <span>\n              hello world\n            </span>\n            <style data-emotion=\"css 1ui45lz\">\n              .css-1ui45lz{color:#0151d0;}\n            </style>\n            <div class=\"css-1ui45lz\">\n              woah there\n              <span>\n                hello world\n              </span>\n              <style data-emotion=\"css 1h86azu\">\n                .css-1h86azu{color:#015391;}\n              </style>\n              <div class=\"css-1h86azu\">\n                woah there\n                <span>\n                  hello world\n                </span>\n                <style data-emotion=\"css 1piy66f\">\n                  .css-1piy66f{color:#015555;}\n                </style>\n                <div class=\"css-1piy66f\">\n                  woah there\n                  <span>\n                    hello world\n                  </span>\n                  <style data-emotion=\"css a19qo7\">\n                    .css-a19qo7{color:#01571f;}\n                  </style>\n                  <div class=\"css-a19qo7\">\n                    woah there\n                    <span>\n                      hello world\n                    </span>\n                    <style data-emotion=\"css wj15j7\">\n                      .css-wj15j7{color:#0158ed;}\n                    </style>\n                    <div class=\"css-wj15j7\">\n                      woah there\n                      <span>\n                        hello world\n                      </span>\n                      <style data-emotion=\"css 1hrwn8e\">\n                        .css-1hrwn8e{color:#015ac0;}\n                      </style>\n                      <div class=\"css-1hrwn8e\">\n                        woah there\n                        <span>\n                          hello world\n                        </span>\n                        <style data-emotion=\"css 17myt6d\">\n                          .css-17myt6d{color:#015c99;}\n                        </style>\n                        <div class=\"css-17myt6d\">\n                          woah there\n                          <span>\n                            hello world\n                          </span>\n                          <style data-emotion=\"css 2jtlz5\">\n                            .css-2jtlz5{color:#015e76;}\n                          </style>\n                          <div class=\"css-2jtlz5\">\n                            woah there\n                            <span>\n                              hello world\n                            </span>\n                            <style data-emotion=\"css 1xu1wg1\">\n                              .css-1xu1wg1{color:#016058;}\n                            </style>\n                            <div class=\"css-1xu1wg1\">\n                              woah there\n                              <span>\n                                hello world\n                              </span>\n                              <style data-emotion=\"css 1wmxn4h\">\n                                .css-1wmxn4h{color:#016240;}\n                              </style>\n                              <div class=\"css-1wmxn4h\">\n                                woah there\n                                <span>\n                                  hello world\n                                </span>\n                                <style data-emotion=\"css lrd20s\">\n                                  .css-lrd20s{color:#01642d;}\n                                </style>\n                                <div class=\"css-lrd20s\">\n                                  woah there\n                                  <span>\n                                    hello world\n                                  </span>\n                                  <style data-emotion=\"css r7njcf\">\n                                    .css-r7njcf{color:#01661f;}\n                                  </style>\n                                  <div class=\"css-r7njcf\">\n                                    woah there\n                                    <span>\n                                      hello world\n                                    </span>\n                                    <style data-emotion=\"css 9lx5bg\">\n                                      .css-9lx5bg{color:#016817;}\n                                    </style>\n                                    <div class=\"css-9lx5bg\">\n                                      woah there\n                                      <span>\n                                        hello world\n                                      </span>\n                                      <style data-emotion=\"css 16v8jwc\">\n                                        .css-16v8jwc{color:#016a14;}\n                                      </style>\n                                      <div class=\"css-16v8jwc\">\n                                        woah there\n                                        <span>\n                                          hello world\n                                        </span>\n                                        <style data-emotion=\"css 14fn903\">\n                                          .css-14fn903{color:#016c17;}\n                                        </style>\n                                        <div class=\"css-14fn903\">\n                                          woah there\n                                          <span>\n                                            hello world\n                                          </span>\n                                          <style data-emotion=\"css 1h1mfz2\">\n                                            .css-1h1mfz2{color:#016e1f;}\n                                          </style>\n                                          <div class=\"css-1h1mfz2\">\n                                            woah there\n                                            <span>\n                                              hello world\n                                            </span>\n                                            <style data-emotion=\"css 11mzquy\">\n                                              .css-11mzquy{color:#01702e;}\n                                            </style>\n                                            <div class=\"css-11mzquy\">\n                                              woah there\n                                              <span>\n                                                hello world\n                                              </span>\n                                              <style data-emotion=\"css 3930ld\">\n                                                .css-3930ld{color:#017243;}\n                                              </style>\n                                              <div class=\"css-3930ld\">\n                                                woah there\n                                                <span>\n                                                  hello world\n                                                </span>\n                                                <style data-emotion=\"css 1lby04m\">\n                                                  .css-1lby04m{color:#01745d;}\n                                                </style>\n                                                <div class=\"css-1lby04m\">\n                                                  woah there\n                                                  <span>\n                                                    hello world\n                                                  </span>\n                                                  <style data-emotion=\"css hp7r6o\">\n                                                    .css-hp7r6o{color:#01767e;}\n                                                  </style>\n                                                  <div class=\"css-hp7r6o\">\n                                                    woah there\n                                                    <span>\n                                                      hello world\n                                                    </span>\n                                                    <style data-emotion=\"css 98uzk5\">\n                                                      .css-98uzk5{color:#0178a5;}\n                                                    </style>\n                                                    <div class=\"css-98uzk5\">\n                                                      woah there\n                                                      <span>\n                                                        hello world\n                                                      </span>\n                                                      <style data-emotion=\"css 1krg3ya\">\n                                                        .css-1krg3ya{color:#017ad2;}\n                                                      </style>\n                                                      <div class=\"css-1krg3ya\">\n                                                        woah there\n                                                        <span>\n                                                          hello world\n                                                        </span>\n                                                        <style data-emotion=\"css 1ktw7xe\">\n                                                          .css-1ktw7xe{color:#017d06;}\n                                                        </style>\n                                                        <div class=\"css-1ktw7xe\">\n                                                          woah there\n                                                          <span>\n                                                            hello world\n                                                          </span>\n                                                          <style data-emotion=\"css ck0owr\">\n                                                            .css-ck0owr{color:#017f40;}\n                                                          </style>\n                                                          <div class=\"css-ck0owr\">\n                                                            woah there\n                                                            <span>\n                                                              hello world\n                                                            </span>\n                                                            <style data-emotion=\"css 1xcxshi\">\n                                                              .css-1xcxshi{color:#018182;}\n                                                            </style>\n                                                            <div class=\"css-1xcxshi\">\n                                                              woah there\n                                                              <span>\n                                                                hello world\n                                                              </span>\n                                                              <style data-emotion=\"css 1ps9cly\">\n                                                                .css-1ps9cly{color:#0183c9;}\n                                                              </style>\n                                                              <div class=\"css-1ps9cly\">\n                                                                woah there\n                                                                <span>\n                                                                  hello world\n                                                                </span>\n                                                                <style data-emotion=\"css 1yvnnz5\">\n                                                                  .css-1yvnnz5{color:#018618;}\n                                                                </style>\n                                                                <div class=\"css-1yvnnz5\">\n                                                                  woah there\n                                                                  <span>\n                                                                    hello world\n                                                                  </span>\n                                                                  <style data-emotion=\"css 1c10kwm\">\n                                                                    .css-1c10kwm{color:#01886e;}\n                                                                  </style>\n                                                                  <div class=\"css-1c10kwm\">\n                                                                    woah there\n                                                                    <span>\n                                                                      hello world\n                                                                    </span>\n                                                                    <style data-emotion=\"css hkdnb5\">\n                                                                      .css-hkdnb5{color:#018acc;}\n                                                                    </style>\n                                                                    <div class=\"css-hkdnb5\">\n                                                                      woah there\n                                                                      <span>\n                                                                        hello world\n                                                                      </span>\n                                                                      <style data-emotion=\"css 1v2yh0n\">\n                                                                        .css-1v2yh0n{color:#018d30;}\n                                                                      </style>\n                                                                      <div class=\"css-1v2yh0n\">\n                                                                        woah there\n                                                                        <span>\n                                                                          hello world\n                                                                        </span>\n                                                                        <style data-emotion=\"css 1jzftor\">\n                                                                          .css-1jzftor{color:#018f9c;}\n                                                                        </style>\n                                                                        <div class=\"css-1jzftor\">\n                                                                          woah there\n                                                                          <span>\n                                                                            hello world\n                                                                          </span>\n                                                                          <style data-emotion=\"css wr17pn\">\n                                                                            .css-wr17pn{color:#019210;}\n                                                                          </style>\n                                                                          <div class=\"css-wr17pn\">\n                                                                            woah there\n                                                                            <span>\n                                                                              hello world\n                                                                            </span>\n                                                                            <style data-emotion=\"css hf7itv\">\n                                                                              .css-hf7itv{color:#01948b;}\n                                                                            </style>\n                                                                            <div class=\"css-hf7itv\">\n                                                                              woah there\n                                                                              <span>\n                                                                                hello world\n                                                                              </span>\n                                                                              <style data-emotion=\"css 6qzhcg\">\n                                                                                .css-6qzhcg{color:#01970e;}\n                                                                              </style>\n                                                                              <div class=\"css-6qzhcg\">\n                                                                                woah there\n                                                                                <span>\n                                                                                  hello world\n                                                                                </span>\n                                                                                <style data-emotion=\"css 1avzbzg\">\n                                                                                  .css-1avzbzg{color:#01999a;}\n                                                                                </style>\n                                                                                <div class=\"css-1avzbzg\">\n                                                                                  woah there\n                                                                                  <span>\n                                                                                    hello world\n                                                                                  </span>\n                                                                                  <style data-emotion=\"css o92y19\">\n                                                                                    .css-o92y19{color:#019c2d;}\n                                                                                  </style>\n                                                                                  <div class=\"css-o92y19\">\n                                                                                    woah there\n                                                                                    <span>\n                                                                                      hello world\n                                                                                    </span>\n                                                                                    <style data-emotion=\"css 1ljsuqn\">\n                                                                                      .css-1ljsuqn{color:#019ec9;}\n                                                                                    </style>\n                                                                                    <div class=\"css-1ljsuqn\">\n                                                                                      woah there\n                                                                                      <span>\n                                                                                        hello world\n                                                                                      </span>\n                                                                                      <style data-emotion=\"css 9zagsq\">\n                                                                                        .css-9zagsq{color:#01a16d;}\n                                                                                      </style>\n                                                                                      <div class=\"css-9zagsq\">\n                                                                                        woah there\n                                                                                        <span>\n                                                                                          hello world\n                                                                                        </span>\n                                                                                        <style data-emotion=\"css 1ypl0i8\">\n                                                                                          .css-1ypl0i8{color:#01a41a;}\n                                                                                        </style>\n                                                                                        <div class=\"css-1ypl0i8\">\n                                                                                          woah there\n                                                                                          <span>\n                                                                                            hello world\n                                                                                          </span>\n                                                                                          <style data-emotion=\"css rzsrsa\">\n                                                                                            .css-rzsrsa{color:#01a6d0;}\n                                                                                          </style>\n                                                                                          <div class=\"css-rzsrsa\">\n                                                                                            woah there\n                                                                                            <span>\n                                                                                              hello world\n                                                                                            </span>\n                                                                                            <style data-emotion=\"css ce7d51\">\n                                                                                              .css-ce7d51{color:#01a98f;}\n                                                                                            </style>\n                                                                                            <div class=\"css-ce7d51\">\n                                                                                              woah there\n                                                                                              <span>\n                                                                                                hello world\n                                                                                              </span>\n                                                                                              <style data-emotion=\"css tknw4p\">\n                                                                                                .css-tknw4p{color:#01ac57;}\n                                                                                              </style>\n                                                                                              <div class=\"css-tknw4p\">\n                                                                                                woah there\n                                                                                                <span>\n                                                                                                  hello world\n                                                                                                </span>\n                                                                                                <style data-emotion=\"css zgq7e2\">\n                                                                                                  .css-zgq7e2{color:#01af28;}\n                                                                                                </style>\n                                                                                                <div class=\"css-zgq7e2\">\n                                                                                                  woah there\n                                                                                                  <span>\n                                                                                                    hello world\n                                                                                                  </span>\n                                                                                                  <style data-emotion=\"css 16xxcse\">\n                                                                                                    .css-16xxcse{color:#01b203;}\n                                                                                                  </style>\n                                                                                                  <div class=\"css-16xxcse\">\n                                                                                                    woah there\n                                                                                                    <span>\n                                                                                                      hello world\n                                                                                                    </span>\n                                                                                                    <style data-emotion=\"css rvw1un\">\n                                                                                                      .css-rvw1un{color:#01b4e8;}\n                                                                                                    </style>\n                                                                                                    <div class=\"css-rvw1un\">\n                                                                                                      woah there\n                                                                                                      <span>\n                                                                                                        hello world\n                                                                                                      </span>\n                                                                                                      <style data-emotion=\"css br1uza\">\n                                                                                                        .css-br1uza{color:#01b7d7;}\n                                                                                                      </style>\n                                                                                                      <div class=\"css-br1uza\">\n                                                                                                        woah there\n                                                                                                        <span>\n                                                                                                          hello world\n                                                                                                        </span>\n                                                                                                        <style data-emotion=\"css 1o91asl\">\n                                                                                                          .css-1o91asl{color:#01bad0;}\n                                                                                                        </style>\n                                                                                                        <div class=\"css-1o91asl\">\n                                                                                                          woah there\n                                                                                                          <span>\n                                                                                                            hello world\n                                                                                                          </span>\n                                                                                                          <style data-emotion=\"css 1nn9pws\">\n                                                                                                            .css-1nn9pws{color:#01bdd3;}\n                                                                                                          </style>\n                                                                                                          <div class=\"css-1nn9pws\">\n                                                                                                            woah there\n                                                                                                            <span>\n                                                                                                              hello world\n                                                                                                            </span>\n                                                                                                            <style data-emotion=\"css upbaf3\">\n                                                                                                              .css-upbaf3{color:#01c0e0;}\n                                                                                                            </style>\n                                                                                                            <div class=\"css-upbaf3\">\n                                                                                                              woah there\n                                                                                                              <span>\n                                                                                                                hello world\n                                                                                                              </span>\n                                                                                                              <style data-emotion=\"css 10168f0\">\n                                                                                                                .css-10168f0{color:#01c3f9;}\n                                                                                                              </style>\n                                                                                                              <div class=\"css-10168f0\">\n                                                                                                                woah there\n                                                                                                                <span>\n                                                                                                                  hello world\n                                                                                                                </span>\n                                                                                                                <style data-emotion=\"css 18beinc\">\n                                                                                                                  .css-18beinc{color:#01c71c;}\n                                                                                                                </style>\n                                                                                                                <div class=\"css-18beinc\">\n                                                                                                                  woah there\n                                                                                                                  <span>\n                                                                                                                    hello world\n                                                                                                                  </span>\n                                                                                                                  <style data-emotion=\"css 11m1dja\">\n                                                                                                                    .css-11m1dja{color:#01ca4b;}\n                                                                                                                  </style>\n                                                                                                                  <div class=\"css-11m1dja\">\n                                                                                                                    woah there\n                                                                                                                    <span>\n                                                                                                                      hello world\n                                                                                                                    </span>\n                                                                                                                    <style data-emotion=\"css h4at5s\">\n                                                                                                                      .css-h4at5s{color:#01cd85;}\n                                                                                                                    </style>\n                                                                                                                    <div class=\"css-h4at5s\">\n                                                                                                                      woah there\n                                                                                                                      <span>\n                                                                                                                        hello world\n                                                                                                                      </span>\n                                                                                                                      <style data-emotion=\"css ejnakw\">\n                                                                                                                        .css-ejnakw{color:#01d0cb;}\n                                                                                                                      </style>\n                                                                                                                      <div class=\"css-ejnakw\">\n                                                                                                                        woah there\n                                                                                                                        <span>\n                                                                                                                          hello world\n                                                                                                                        </span>\n                                                                                                                        <style data-emotion=\"css 1o2ovve\">\n                                                                                                                          .css-1o2ovve{color:#01d41d;}\n                                                                                                                        </style>\n                                                                                                                        <div class=\"css-1o2ovve\">\n                                                                                                                          woah there\n                                                                                                                          <span>\n                                                                                                                            hello world\n                                                                                                                          </span>\n                                                                                                                          <style data-emotion=\"css ac9phq\">\n                                                                                                                            .css-ac9phq{color:#01d77b;}\n                                                                                                                          </style>\n                                                                                                                          <div class=\"css-ac9phq\">\n                                                                                                                            woah there\n                                                                                                                            <span>\n                                                                                                                              hello world\n                                                                                                                            </span>\n                                                                                                                            <style data-emotion=\"css 1phm45w\">\n                                                                                                                              .css-1phm45w{color:#01dae6;}\n                                                                                                                            </style>\n                                                                                                                            <div class=\"css-1phm45w\">\n                                                                                                                              woah there\n                                                                                                                              <span>\n                                                                                                                                hello world\n                                                                                                                              </span>\n                                                                                                                              <style data-emotion=\"css 159l0ul\">\n                                                                                                                                .css-159l0ul{color:#01de5d;}\n                                                                                                                              </style>\n                                                                                                                              <div class=\"css-159l0ul\">\n                                                                                                                                woah there\n                                                                                                                                <span>\n                                                                                                                                  hello world\n                                                                                                                                </span>\n                                                                                                                                <style data-emotion=\"css ia21oa\">\n                                                                                                                                  .css-ia21oa{color:#01e1e2;}\n                                                                                                                                </style>\n                                                                                                                                <div class=\"css-ia21oa\">\n                                                                                                                                  woah there\n                                                                                                                                  <span>\n                                                                                                                                    hello world\n                                                                                                                                  </span>\n                                                                                                                                  <style data-emotion=\"css tz2duq\">\n                                                                                                                                    .css-tz2duq{color:#01e574;}\n                                                                                                                                  </style>\n                                                                                                                                  <div class=\"css-tz2duq\">\n                                                                                                                                    woah there\n                                                                                                                                    <span>\n                                                                                                                                      hello world\n                                                                                                                                    </span>\n                                                                                                                                    <style data-emotion=\"css 4xg4ag\">\n                                                                                                                                      .css-4xg4ag{color:#01e913;}\n                                                                                                                                    </style>\n                                                                                                                                    <div class=\"css-4xg4ag\">\n                                                                                                                                      woah there\n                                                                                                                                      <span>\n                                                                                                                                        hello world\n                                                                                                                                      </span>\n                                                                                                                                      <style data-emotion=\"css pur9fb\">\n                                                                                                                                        .css-pur9fb{color:#01ecc0;}\n                                                                                                                                      </style>\n                                                                                                                                      <div class=\"css-pur9fb\">\n                                                                                                                                        woah there\n                                                                                                                                        <span>\n                                                                                                                                          hello world\n                                                                                                                                        </span>\n                                                                                                                                        <style data-emotion=\"css 6nme6c\">\n                                                                                                                                          .css-6nme6c{color:#01f07c;}\n                                                                                                                                        </style>\n                                                                                                                                        <div class=\"css-6nme6c\">\n                                                                                                                                          woah there\n                                                                                                                                          <span>\n                                                                                                                                            hello world\n                                                                                                                                          </span>\n                                                                                                                                          <style data-emotion=\"css 13nv4rl\">\n                                                                                                                                            .css-13nv4rl{color:#01f446;}\n                                                                                                                                          </style>\n                                                                                                                                          <div class=\"css-13nv4rl\">\n                                                                                                                                            woah there\n                                                                                                                                            <span>\n                                                                                                                                              hello world\n                                                                                                                                            </span>\n                                                                                                                                            <style data-emotion=\"css 155bmea\">\n                                                                                                                                              .css-155bmea{color:#01f820;}\n                                                                                                                                            </style>\n                                                                                                                                            <div class=\"css-155bmea\">\n                                                                                                                                              woah there\n                                                                                                                                              <span>\n                                                                                                                                                hello world\n                                                                                                                                              </span>\n                                                                                                                                              <style data-emotion=\"css 10s2f9x\">\n                                                                                                                                                .css-10s2f9x{color:#01fc08;}\n                                                                                                                                              </style>\n                                                                                                                                              <div class=\"css-10s2f9x\">\n                                                                                                                                                woah there\n                                                                                                                                                <span>\n                                                                                                                                                  hello world\n                                                                                                                                                </span>\n                                                                                                                                                <style data-emotion=\"css 178vhlt\">\n                                                                                                                                                  .css-178vhlt{color:#020000;}\n                                                                                                                                                </style>\n                                                                                                                                                <div class=\"css-178vhlt\">\n                                                                                                                                                  woah there\n                                                                                                                                                  <span>\n                                                                                                                                                    hello world\n                                                                                                                                                  </span>\n                                                                                                                                                  <style data-emotion=\"css 1hsnkst\">\n                                                                                                                                                    .css-1hsnkst{color:#020408;}\n                                                                                                                                                  </style>\n                                                                                                                                                  <div class=\"css-1hsnkst\">\n                                                                                                                                                    woah there\n                                                                                                                                                    <span>\n                                                                                                                                                      hello world\n                                                                                                                                                    </span>\n                                                                                                                                                    <style data-emotion=\"css zuvm9o\">\n                                                                                                                                                      .css-zuvm9o{color:#020821;}\n                                                                                                                                                    </style>\n                                                                                                                                                    <div class=\"css-zuvm9o\">\n                                                                                                                                                      woah there\n                                                                                                                                                      <span>\n                                                                                                                                                        hello world\n                                                                                                                                                      </span>\n                                                                                                                                                      <style data-emotion=\"css 1tl89bm\">\n                                                                                                                                                        .css-1tl89bm{color:#020c4a;}\n                                                                                                                                                      </style>\n                                                                                                                                                      <div class=\"css-1tl89bm\">\n                                                                                                                                                        woah there\n                                                                                                                                                        <span>\n                                                                                                                                                          hello world\n                                                                                                                                                        </span>\n                                                                                                                                                        <style data-emotion=\"css wpx7q8\">\n                                                                                                                                                          .css-wpx7q8{color:#021084;}\n                                                                                                                                                        </style>\n                                                                                                                                                        <div class=\"css-wpx7q8\">\n                                                                                                                                                          woah there\n                                                                                                                                                          <span>\n                                                                                                                                                            hello world\n                                                                                                                                                          </span>\n                                                                                                                                                          <style data-emotion=\"css 1tehwar\">\n                                                                                                                                                            .css-1tehwar{color:#0214d0;}\n                                                                                                                                                          </style>\n                                                                                                                                                          <div class=\"css-1tehwar\">\n                                                                                                                                                            woah there\n                                                                                                                                                            <span>\n                                                                                                                                                              hello world\n                                                                                                                                                            </span>\n                                                                                                                                                            <style data-emotion=\"css ms9j35\">\n                                                                                                                                                              .css-ms9j35{color:#02192e;}\n                                                                                                                                                            </style>\n                                                                                                                                                            <div class=\"css-ms9j35\">\n                                                                                                                                                              woah there\n                                                                                                                                                              <span>\n                                                                                                                                                                hello world\n                                                                                                                                                              </span>\n                                                                                                                                                              <style data-emotion=\"css m4u91z\">\n                                                                                                                                                                .css-m4u91z{color:#021d9f;}\n                                                                                                                                                              </style>\n                                                                                                                                                              <div class=\"css-m4u91z\">\n                                                                                                                                                                woah there\n                                                                                                                                                                <span>\n                                                                                                                                                                  hello world\n                                                                                                                                                                </span>\n                                                                                                                                                                <style data-emotion=\"css 3ci19s\">\n                                                                                                                                                                  .css-3ci19s{color:#022222;}\n                                                                                                                                                                </style>\n                                                                                                                                                                <div class=\"css-3ci19s\">\n                                                                                                                                                                  woah there\n                                                                                                                                                                  <span>\n                                                                                                                                                                    hello world\n                                                                                                                                                                  </span>\n                                                                                                                                                                  <style data-emotion=\"css evutcw\">\n                                                                                                                                                                    .css-evutcw{color:#0226b9;}\n                                                                                                                                                                  </style>\n                                                                                                                                                                  <div class=\"css-evutcw\">\n                                                                                                                                                                    woah there\n                                                                                                                                                                    <span>\n                                                                                                                                                                      hello world\n                                                                                                                                                                    </span>\n                                                                                                                                                                    <style data-emotion=\"css 1g07rpc\">\n                                                                                                                                                                      .css-1g07rpc{color:#022b64;}\n                                                                                                                                                                    </style>\n                                                                                                                                                                    <div class=\"css-1g07rpc\">\n                                                                                                                                                                      woah there\n                                                                                                                                                                      <span>\n                                                                                                                                                                        hello world\n                                                                                                                                                                      </span>\n                                                                                                                                                                      <style data-emotion=\"css 16ejwut\">\n                                                                                                                                                                        .css-16ejwut{color:#023023;}\n                                                                                                                                                                      </style>\n                                                                                                                                                                      <div class=\"css-16ejwut\">\n                                                                                                                                                                        woah there\n                                                                                                                                                                        <span>\n                                                                                                                                                                          hello world\n                                                                                                                                                                        </span>\n                                                                                                                                                                        <style data-emotion=\"css 6gxm9\">\n                                                                                                                                                                          .css-6gxm9{color:#0234f7;}\n                                                                                                                                                                        </style>\n                                                                                                                                                                        <div class=\"css-6gxm9\">\n                                                                                                                                                                          woah there\n                                                                                                                                                                          <span>\n                                                                                                                                                                            hello world\n                                                                                                                                                                          </span>\n                                                                                                                                                                          <style data-emotion=\"css 1mbin8s\">\n                                                                                                                                                                            .css-1mbin8s{color:#0239e1;}\n                                                                                                                                                                          </style>\n                                                                                                                                                                          <div class=\"css-1mbin8s\">\n                                                                                                                                                                            woah there\n                                                                                                                                                                            <span>\n                                                                                                                                                                              hello world\n                                                                                                                                                                            </span>\n                                                                                                                                                                            <style data-emotion=\"css 1cj8bm0\">\n                                                                                                                                                                              .css-1cj8bm0{color:#023ee1;}\n                                                                                                                                                                            </style>\n                                                                                                                                                                            <div class=\"css-1cj8bm0\">\n                                                                                                                                                                              woah there\n                                                                                                                                                                              <span>\n                                                                                                                                                                                hello world\n                                                                                                                                                                              </span>\n                                                                                                                                                                              <style data-emotion=\"css r5e3ls\">\n                                                                                                                                                                                .css-r5e3ls{color:#0243f7;}\n                                                                                                                                                                              </style>\n                                                                                                                                                                              <div class=\"css-r5e3ls\">\n                                                                                                                                                                                woah there\n                                                                                                                                                                                <span>\n                                                                                                                                                                                  hello world\n                                                                                                                                                                                </span>\n                                                                                                                                                                                <style data-emotion=\"css uupi2e\">\n                                                                                                                                                                                  .css-uupi2e{color:#024925;}\n                                                                                                                                                                                </style>\n                                                                                                                                                                                <div class=\"css-uupi2e\">\n                                                                                                                                                                                  woah there\n                                                                                                                                                                                  <span>\n                                                                                                                                                                                    hello world\n                                                                                                                                                                                  </span>\n                                                                                                                                                                                  <style data-emotion=\"css zr22cf\">\n                                                                                                                                                                                    .css-zr22cf{color:#024e6a;}\n                                                                                                                                                                                  </style>\n                                                                                                                                                                                  <div class=\"css-zr22cf\">\n                                                                                                                                                                                    woah there\n                                                                                                                                                                                    <span>\n                                                                                                                                                                                      hello world\n                                                                                                                                                                                    </span>\n                                                                                                                                                                                    <style data-emotion=\"css 13wmhd1\">\n                                                                                                                                                                                      .css-13wmhd1{color:#0253c8;}\n                                                                                                                                                                                    </style>\n                                                                                                                                                                                    <div class=\"css-13wmhd1\">\n                                                                                                                                                                                      woah there\n                                                                                                                                                                                      <span>\n                                                                                                                                                                                        hello world\n                                                                                                                                                                                      </span>\n                                                                                                                                                                                      <style data-emotion=\"css i8sgdi\">\n                                                                                                                                                                                        .css-i8sgdi{color:#02593f;}\n                                                                                                                                                                                      </style>\n                                                                                                                                                                                      <div class=\"css-i8sgdi\">\n                                                                                                                                                                                        woah there\n                                                                                                                                                                                        <span>\n                                                                                                                                                                                          hello world\n                                                                                                                                                                                        </span>\n                                                                                                                                                                                        <style data-emotion=\"css k0avx5\">\n                                                                                                                                                                                          .css-k0avx5{color:#025ed1;}\n                                                                                                                                                                                        </style>\n                                                                                                                                                                                        <div class=\"css-k0avx5\">\n                                                                                                                                                                                          woah there\n                                                                                                                                                                                          <span>\n                                                                                                                                                                                            hello world\n                                                                                                                                                                                          </span>\n                                                                                                                                                                                          <style data-emotion=\"css 6dl9n7\">\n                                                                                                                                                                                            .css-6dl9n7{color:#02647c;}\n                                                                                                                                                                                          </style>\n                                                                                                                                                                                          <div class=\"css-6dl9n7\">\n                                                                                                                                                                                            woah there\n                                                                                                                                                                                            <span>\n                                                                                                                                                                                              hello world\n                                                                                                                                                                                            </span>\n                                                                                                                                                                                            <style data-emotion=\"css 1fz7vvs\">\n                                                                                                                                                                                              .css-1fz7vvs{color:#026a44;}\n                                                                                                                                                                                            </style>\n                                                                                                                                                                                            <div class=\"css-1fz7vvs\">\n                                                                                                                                                                                              woah there\n                                                                                                                                                                                              <span>\n                                                                                                                                                                                                hello world\n                                                                                                                                                                                              </span>\n                                                                                                                                                                                              <style data-emotion=\"css 17n3gda\">\n                                                                                                                                                                                                .css-17n3gda{color:#027027;}\n                                                                                                                                                                                              </style>\n                                                                                                                                                                                              <div class=\"css-17n3gda\">\n                                                                                                                                                                                                woah there\n                                                                                                                                                                                                <span>\n                                                                                                                                                                                                  hello world\n                                                                                                                                                                                                </span>\n                                                                                                                                                                                                <style data-emotion=\"css 1qfsvxb\">\n                                                                                                                                                                                                  .css-1qfsvxb{color:#027627;}\n                                                                                                                                                                                                </style>\n                                                                                                                                                                                                <div class=\"css-1qfsvxb\">\n                                                                                                                                                                                                  woah there\n                                                                                                                                                                                                  <span>\n                                                                                                                                                                                                    hello world\n                                                                                                                                                                                                  </span>\n                                                                                                                                                                                                  <style data-emotion=\"css 4tl6t0\">\n                                                                                                                                                                                                    .css-4tl6t0{color:#027c46;}\n                                                                                                                                                                                                  </style>\n                                                                                                                                                                                                  <div class=\"css-4tl6t0\">\n                                                                                                                                                                                                    woah there\n                                                                                                                                                                                                    <span>\n                                                                                                                                                                                                      hello world\n                                                                                                                                                                                                    </span>\n                                                                                                                                                                                                    <style data-emotion=\"css 1rryha9\">\n                                                                                                                                                                                                      .css-1rryha9{color:#028283;}\n                                                                                                                                                                                                    </style>\n                                                                                                                                                                                                    <div class=\"css-1rryha9\">\n                                                                                                                                                                                                      woah there\n                                                                                                                                                                                                      <span>\n                                                                                                                                                                                                        hello world\n                                                                                                                                                                                                      </span>\n                                                                                                                                                                                                      <style data-emotion=\"css ejgs3d\">\n                                                                                                                                                                                                        .css-ejgs3d{color:#0288df;}\n                                                                                                                                                                                                      </style>\n                                                                                                                                                                                                      <div class=\"css-ejgs3d\">\n                                                                                                                                                                                                        woah there\n                                                                                                                                                                                                        <span>\n                                                                                                                                                                                                          hello world\n                                                                                                                                                                                                        </span>\n                                                                                                                                                                                                        <style data-emotion=\"css 1h1preu\">\n                                                                                                                                                                                                          .css-1h1preu{color:#028f5c;}\n                                                                                                                                                                                                        </style>\n                                                                                                                                                                                                        <div class=\"css-1h1preu\">\n                                                                                                                                                                                                          woah there\n                                                                                                                                                                                                          <span>\n                                                                                                                                                                                                            hello world\n                                                                                                                                                                                                          </span>\n                                                                                                                                                                                                          <style data-emotion=\"css 1ewulib\">\n                                                                                                                                                                                                            .css-1ewulib{color:#0295fb;}\n                                                                                                                                                                                                          </style>\n                                                                                                                                                                                                          <div class=\"css-1ewulib\">\n                                                                                                                                                                                                            woah there\n                                                                                                                                                                                                            <span>\n                                                                                                                                                                                                              hello world\n                                                                                                                                                                                                            </span>\n                                                                                                                                                                                                            <style data-emotion=\"css 1g9aqxv\">\n                                                                                                                                                                                                              .css-1g9aqxv{color:#029cbc;}\n                                                                                                                                                                                                            </style>\n                                                                                                                                                                                                            <div class=\"css-1g9aqxv\">\n                                                                                                                                                                                                              woah there\n                                                                                                                                                                                                              <span>\n                                                                                                                                                                                                                hello world\n                                                                                                                                                                                                              </span>\n                                                                                                                                                                                                              <style data-emotion=\"css 1lxxdaw\">\n                                                                                                                                                                                                                .css-1lxxdaw{color:#02a3a1;}\n                                                                                                                                                                                                              </style>\n                                                                                                                                                                                                              <div class=\"css-1lxxdaw\">\n                                                                                                                                                                                                                woah there\n                                                                                                                                                                                                                <span>\n                                                                                                                                                                                                                  hello world\n                                                                                                                                                                                                                </span>\n                                                                                                                                                                                                                <style data-emotion=\"css x21xi2\">\n                                                                                                                                                                                                                  .css-x21xi2{color:#02aaab;}\n                                                                                                                                                                                                                </style>\n                                                                                                                                                                                                                <div class=\"css-x21xi2\">\n                                                                                                                                                                                                                  woah there\n                                                                                                                                                                                                                  <span>\n                                                                                                                                                                                                                    hello world\n                                                                                                                                                                                                                  </span>\n                                                                                                                                                                                                                  <style data-emotion=\"css 133obvl\">\n                                                                                                                                                                                                                    .css-133obvl{color:#02b1da;}\n                                                                                                                                                                                                                  </style>\n                                                                                                                                                                                                                  <div class=\"css-133obvl\">\n                                                                                                                                                                                                                    woah there\n                                                                                                                                                                                                                    <span>\n                                                                                                                                                                                                                      hello world\n                                                                                                                                                                                                                    </span>\n                                                                                                                                                                                                                    <style data-emotion=\"css o9oiih\">\n                                                                                                                                                                                                                      .css-o9oiih{color:#02b931;}\n                                                                                                                                                                                                                    </style>\n                                                                                                                                                                                                                    <div class=\"css-o9oiih\">\n                                                                                                                                                                                                                      woah there\n                                                                                                                                                                                                                      <span>\n                                                                                                                                                                                                                        hello world\n                                                                                                                                                                                                                      </span>\n                                                                                                                                                                                                                      <style data-emotion=\"css 16h21pl\">\n                                                                                                                                                                                                                        .css-16h21pl{color:#02c0b0;}\n                                                                                                                                                                                                                      </style>\n                                                                                                                                                                                                                      <div class=\"css-16h21pl\">\n                                                                                                                                                                                                                        woah there\n                                                                                                                                                                                                                        <span>\n                                                                                                                                                                                                                          hello world\n                                                                                                                                                                                                                        </span>\n                                                                                                                                                                                                                        <style data-emotion=\"css scfkxf\">\n                                                                                                                                                                                                                          .css-scfkxf{color:#02c859;}\n                                                                                                                                                                                                                        </style>\n                                                                                                                                                                                                                        <div class=\"css-scfkxf\">\n                                                                                                                                                                                                                          woah there\n                                                                                                                                                                                                                          <span>\n                                                                                                                                                                                                                            hello world\n                                                                                                                                                                                                                          </span>\n                                                                                                                                                                                                                          <style data-emotion=\"css 1u10ji2\">\n                                                                                                                                                                                                                            .css-1u10ji2{color:#02d02d;}\n                                                                                                                                                                                                                          </style>\n                                                                                                                                                                                                                          <div class=\"css-1u10ji2\">\n                                                                                                                                                                                                                            woah there\n                                                                                                                                                                                                                            <span>\n                                                                                                                                                                                                                              hello world\n                                                                                                                                                                                                                            </span>\n                                                                                                                                                                                                                            <style data-emotion=\"css i9peew\">\n                                                                                                                                                                                                                              .css-i9peew{color:#02d82e;}\n                                                                                                                                                                                                                            </style>\n                                                                                                                                                                                                                            <div class=\"css-i9peew\">\n                                                                                                                                                                                                                              woah there\n                                                                                                                                                                                                                              <span>\n                                                                                                                                                                                                                                hello world\n                                                                                                                                                                                                                              </span>\n                                                                                                                                                                                                                              <style data-emotion=\"css 13q89pq\">\n                                                                                                                                                                                                                                .css-13q89pq{color:#02e05c;}\n                                                                                                                                                                                                                              </style>\n                                                                                                                                                                                                                              <div class=\"css-13q89pq\">\n                                                                                                                                                                                                                                woah there\n                                                                                                                                                                                                                                <span>\n                                                                                                                                                                                                                                  hello world\n                                                                                                                                                                                                                                </span>\n                                                                                                                                                                                                                                <style data-emotion=\"css qcun1q\">\n                                                                                                                                                                                                                                  .css-qcun1q{color:#02e8ba;}\n                                                                                                                                                                                                                                </style>\n                                                                                                                                                                                                                                <div class=\"css-qcun1q\">\n                                                                                                                                                                                                                                  woah there\n                                                                                                                                                                                                                                  <span>\n                                                                                                                                                                                                                                    hello world\n                                                                                                                                                                                                                                  </span>\n                                                                                                                                                                                                                                  <style data-emotion=\"css eb1awr\">\n                                                                                                                                                                                                                                    .css-eb1awr{color:#02f14a;}\n                                                                                                                                                                                                                                  </style>\n                                                                                                                                                                                                                                  <div class=\"css-eb1awr\">\n                                                                                                                                                                                                                                    woah there\n                                                                                                                                                                                                                                    <span>\n                                                                                                                                                                                                                                      hello world\n                                                                                                                                                                                                                                    </span>\n                                                                                                                                                                                                                                    <style data-emotion=\"css 1sllz3x\">\n                                                                                                                                                                                                                                      .css-1sllz3x{color:#02fa0c;}\n                                                                                                                                                                                                                                    </style>\n                                                                                                                                                                                                                                    <div class=\"css-1sllz3x\">\n                                                                                                                                                                                                                                      woah there\n                                                                                                                                                                                                                                      <span>\n                                                                                                                                                                                                                                        hello world\n                                                                                                                                                                                                                                      </span>\n                                                                                                                                                                                                                                      <style data-emotion=\"css 1oevn2u\">\n                                                                                                                                                                                                                                        .css-1oevn2u{color:#030303;}\n                                                                                                                                                                                                                                      </style>\n                                                                                                                                                                                                                                      <div class=\"css-1oevn2u\">\n                                                                                                                                                                                                                                        woah there\n                                                                                                                                                                                                                                        <span>\n                                                                                                                                                                                                                                          hello world\n                                                                                                                                                                                                                                        </span>\n                                                                                                                                                                                                                                        <style data-emotion=\"css zjzdc9\">\n                                                                                                                                                                                                                                          .css-zjzdc9{color:#030c31;}\n                                                                                                                                                                                                                                        </style>\n                                                                                                                                                                                                                                        <div class=\"css-zjzdc9\">\n                                                                                                                                                                                                                                          woah there\n                                                                                                                                                                                                                                          <span>\n                                                                                                                                                                                                                                            hello world\n                                                                                                                                                                                                                                          </span>\n                                                                                                                                                                                                                                          <style data-emotion=\"css 6wqs48\">\n                                                                                                                                                                                                                                            .css-6wqs48{color:#031597;}\n                                                                                                                                                                                                                                          </style>\n                                                                                                                                                                                                                                          <div class=\"css-6wqs48\">\n                                                                                                                                                                                                                                            woah there\n                                                                                                                                                                                                                                            <span>\n                                                                                                                                                                                                                                              hello world\n                                                                                                                                                                                                                                            </span>\n                                                                                                                                                                                                                                            <style data-emotion=\"css 1jrdvsc\">\n                                                                                                                                                                                                                                              .css-1jrdvsc{color:#031f38;}\n                                                                                                                                                                                                                                            </style>\n                                                                                                                                                                                                                                            <div class=\"css-1jrdvsc\">\n                                                                                                                                                                                                                                              woah there\n                                                                                                                                                                                                                                              <span>\n                                                                                                                                                                                                                                                hello world\n                                                                                                                                                                                                                                              </span>\n                                                                                                                                                                                                                                              <style data-emotion=\"css 1vea8p9\">\n                                                                                                                                                                                                                                                .css-1vea8p9{color:#032916;}\n                                                                                                                                                                                                                                              </style>\n                                                                                                                                                                                                                                              <div class=\"css-1vea8p9\">\n                                                                                                                                                                                                                                                woah there\n                                                                                                                                                                                                                                                <span>\n                                                                                                                                                                                                                                                  hello world\n                                                                                                                                                                                                                                                </span>\n                                                                                                                                                                                                                                                <style data-emotion=\"css vekko5\">\n                                                                                                                                                                                                                                                  .css-vekko5{color:#033333;}\n                                                                                                                                                                                                                                                </style>\n                                                                                                                                                                                                                                                <div class=\"css-vekko5\">\n                                                                                                                                                                                                                                                  woah there\n                                                                                                                                                                                                                                                  <span>\n                                                                                                                                                                                                                                                    hello world\n                                                                                                                                                                                                                                                  </span>\n                                                                                                                                                                                                                                                  <style data-emotion=\"css 1ixaqkz\">\n                                                                                                                                                                                                                                                    .css-1ixaqkz{color:#033d92;}\n                                                                                                                                                                                                                                                  </style>\n                                                                                                                                                                                                                                                  <div class=\"css-1ixaqkz\">\n                                                                                                                                                                                                                                                    woah there\n                                                                                                                                                                                                                                                    <span>\n                                                                                                                                                                                                                                                      hello world\n                                                                                                                                                                                                                                                    </span>\n                                                                                                                                                                                                                                                    <style data-emotion=\"css 1juqtoj\">\n                                                                                                                                                                                                                                                      .css-1juqtoj{color:#034835;}\n                                                                                                                                                                                                                                                    </style>\n                                                                                                                                                                                                                                                    <div class=\"css-1juqtoj\">\n                                                                                                                                                                                                                                                      woah there\n                                                                                                                                                                                                                                                      <span>\n                                                                                                                                                                                                                                                        hello world\n                                                                                                                                                                                                                                                      </span>\n                                                                                                                                                                                                                                                      <style data-emotion=\"css cyahzj\">\n                                                                                                                                                                                                                                                        .css-cyahzj{color:#03531e;}\n                                                                                                                                                                                                                                                      </style>\n                                                                                                                                                                                                                                                      <div class=\"css-cyahzj\">\n                                                                                                                                                                                                                                                        woah there\n                                                                                                                                                                                                                                                        <span>\n                                                                                                                                                                                                                                                          hello world\n                                                                                                                                                                                                                                                        </span>\n                                                                                                                                                                                                                                                        <style data-emotion=\"css 1559ay6\">\n                                                                                                                                                                                                                                                          .css-1559ay6{color:#035e51;}\n                                                                                                                                                                                                                                                        </style>\n                                                                                                                                                                                                                                                        <div class=\"css-1559ay6\">\n                                                                                                                                                                                                                                                          woah there\n                                                                                                                                                                                                                                                          <span>\n                                                                                                                                                                                                                                                            hello world\n                                                                                                                                                                                                                                                          </span>\n                                                                                                                                                                                                                                                          <style data-emotion=\"css kgdim\">\n                                                                                                                                                                                                                                                            .css-kgdim{color:#0369d0;}\n                                                                                                                                                                                                                                                          </style>\n                                                                                                                                                                                                                                                          <div class=\"css-kgdim\">\n                                                                                                                                                                                                                                                            woah there\n                                                                                                                                                                                                                                                            <span>\n                                                                                                                                                                                                                                                              hello world\n                                                                                                                                                                                                                                                            </span>\n                                                                                                                                                                                                                                                            <style data-emotion=\"css 18cyyxf\">\n                                                                                                                                                                                                                                                              .css-18cyyxf{color:#03759f;}\n                                                                                                                                                                                                                                                            </style>\n                                                                                                                                                                                                                                                            <div class=\"css-18cyyxf\">\n                                                                                                                                                                                                                                                              woah there\n                                                                                                                                                                                                                                                              <span>\n                                                                                                                                                                                                                                                                hello world\n                                                                                                                                                                                                                                                              </span>\n                                                                                                                                                                                                                                                              <style data-emotion=\"css z0i9x2\">\n                                                                                                                                                                                                                                                                .css-z0i9x2{color:#0381c1;}\n                                                                                                                                                                                                                                                              </style>\n                                                                                                                                                                                                                                                              <div class=\"css-z0i9x2\">\n                                                                                                                                                                                                                                                                woah there\n                                                                                                                                                                                                                                                                <span>\n                                                                                                                                                                                                                                                                  hello world\n                                                                                                                                                                                                                                                                </span>\n                                                                                                                                                                                                                                                                <style data-emotion=\"css gkpvss\">\n                                                                                                                                                                                                                                                                  .css-gkpvss{color:#038e39;}\n                                                                                                                                                                                                                                                                </style>\n                                                                                                                                                                                                                                                                <div class=\"css-gkpvss\">\n                                                                                                                                                                                                                                                                  woah there\n                                                                                                                                                                                                                                                                  <span>\n                                                                                                                                                                                                                                                                    hello world\n                                                                                                                                                                                                                                                                  </span>\n                                                                                                                                                                                                                                                                  <style data-emotion=\"css weerr6\">\n                                                                                                                                                                                                                                                                    .css-weerr6{color:#039b0b;}\n                                                                                                                                                                                                                                                                  </style>\n                                                                                                                                                                                                                                                                  <div class=\"css-weerr6\">\n                                                                                                                                                                                                                                                                    woah there\n                                                                                                                                                                                                                                                                    <span>\n                                                                                                                                                                                                                                                                      hello world\n                                                                                                                                                                                                                                                                    </span>\n                                                                                                                                                                                                                                                                    <style data-emotion=\"css sw7yje\">\n                                                                                                                                                                                                                                                                      .css-sw7yje{color:#03a83b;}\n                                                                                                                                                                                                                                                                    </style>\n                                                                                                                                                                                                                                                                    <div class=\"css-sw7yje\">\n                                                                                                                                                                                                                                                                      woah there\n                                                                                                                                                                                                                                                                      <span>\n                                                                                                                                                                                                                                                                        hello world\n                                                                                                                                                                                                                                                                      </span>\n                                                                                                                                                                                                                                                                      <style data-emotion=\"css 12qk6uq\">\n                                                                                                                                                                                                                                                                        .css-12qk6uq{color:#03b5cc;}\n                                                                                                                                                                                                                                                                      </style>\n                                                                                                                                                                                                                                                                      <div class=\"css-12qk6uq\">\n                                                                                                                                                                                                                                                                        woah there\n                                                                                                                                                                                                                                                                        <span>\n                                                                                                                                                                                                                                                                          hello world\n                                                                                                                                                                                                                                                                        </span>\n                                                                                                                                                                                                                                                                        <style data-emotion=\"css 8e7cu8\">\n                                                                                                                                                                                                                                                                          .css-8e7cu8{color:#03c3c4;}\n                                                                                                                                                                                                                                                                        </style>\n                                                                                                                                                                                                                                                                        <div class=\"css-8e7cu8\">\n                                                                                                                                                                                                                                                                          woah there\n                                                                                                                                                                                                                                                                          <span>\n                                                                                                                                                                                                                                                                            hello world\n                                                                                                                                                                                                                                                                          </span>\n                                                                                                                                                                                                                                                                          <style data-emotion=\"css 6bla26\">\n                                                                                                                                                                                                                                                                            .css-6bla26{color:#03d226;}\n                                                                                                                                                                                                                                                                          </style>\n                                                                                                                                                                                                                                                                          <div class=\"css-6bla26\">\n                                                                                                                                                                                                                                                                            woah there\n                                                                                                                                                                                                                                                                            <span>\n                                                                                                                                                                                                                                                                              hello world\n                                                                                                                                                                                                                                                                            </span>\n                                                                                                                                                                                                                                                                            <style data-emotion=\"css 35jwvs\">\n                                                                                                                                                                                                                                                                              .css-35jwvs{color:#03e0f8;}\n                                                                                                                                                                                                                                                                            </style>\n                                                                                                                                                                                                                                                                            <div class=\"css-35jwvs\">\n                                                                                                                                                                                                                                                                              woah there\n                                                                                                                                                                                                                                                                              <span>\n                                                                                                                                                                                                                                                                                hello world\n                                                                                                                                                                                                                                                                              </span>\n                                                                                                                                                                                                                                                                              <style data-emotion=\"css 1nrgdft\">\n                                                                                                                                                                                                                                                                                .css-1nrgdft{color:#03f03f;}\n                                                                                                                                                                                                                                                                              </style>\n                                                                                                                                                                                                                                                                              <div class=\"css-1nrgdft\">\n                                                                                                                                                                                                                                                                                woah there\n                                                                                                                                                                                                                                                                                <span>\n                                                                                                                                                                                                                                                                                  hello world\n                                                                                                                                                                                                                                                                                </span>\n                                                                                                                                                                                                                                                                                <style data-emotion=\"css 1g4joaz\">\n                                                                                                                                                                                                                                                                                  .css-1g4joaz{color:#040000;}\n                                                                                                                                                                                                                                                                                </style>\n                                                                                                                                                                                                                                                                                <div class=\"css-1g4joaz\">\n                                                                                                                                                                                                                                                                                  woah there\n                                                                                                                                                                                                                                                                                  <span>\n                                                                                                                                                                                                                                                                                    hello world\n                                                                                                                                                                                                                                                                                  </span>\n                                                                                                                                                                                                                                                                                  <style data-emotion=\"css 3zq00y\">\n                                                                                                                                                                                                                                                                                    .css-3zq00y{color:#041041;}\n                                                                                                                                                                                                                                                                                  </style>\n                                                                                                                                                                                                                                                                                  <div class=\"css-3zq00y\">\n                                                                                                                                                                                                                                                                                    woah there\n                                                                                                                                                                                                                                                                                    <span>\n                                                                                                                                                                                                                                                                                      hello world\n                                                                                                                                                                                                                                                                                    </span>\n                                                                                                                                                                                                                                                                                    <style data-emotion=\"css 1gk0yhg\">\n                                                                                                                                                                                                                                                                                      .css-1gk0yhg{color:#042108;}\n                                                                                                                                                                                                                                                                                    </style>\n                                                                                                                                                                                                                                                                                    <div class=\"css-1gk0yhg\">\n                                                                                                                                                                                                                                                                                      woah there\n                                                                                                                                                                                                                                                                                      <span>\n                                                                                                                                                                                                                                                                                        hello world\n                                                                                                                                                                                                                                                                                      </span>\n                                                                                                                                                                                                                                                                                      <style data-emotion=\"css 65xyj4\">\n                                                                                                                                                                                                                                                                                        .css-65xyj4{color:#04325c;}\n                                                                                                                                                                                                                                                                                      </style>\n                                                                                                                                                                                                                                                                                      <div class=\"css-65xyj4\">\n                                                                                                                                                                                                                                                                                        woah there\n                                                                                                                                                                                                                                                                                        <span>\n                                                                                                                                                                                                                                                                                          hello world\n                                                                                                                                                                                                                                                                                        </span>\n                                                                                                                                                                                                                                                                                        <style data-emotion=\"css 17wkfhz\">\n                                                                                                                                                                                                                                                                                          .css-17wkfhz{color:#044444;}\n                                                                                                                                                                                                                                                                                        </style>\n                                                                                                                                                                                                                                                                                        <div class=\"css-17wkfhz\">\n                                                                                                                                                                                                                                                                                          woah there\n                                                                                                                                                                                                                                                                                          <span>\n                                                                                                                                                                                                                                                                                            hello world\n                                                                                                                                                                                                                                                                                          </span>\n                                                                                                                                                                                                                                                                                          <style data-emotion=\"css w9l44e\">\n                                                                                                                                                                                                                                                                                            .css-w9l44e{color:#0456c8;}\n                                                                                                                                                                                                                                                                                          </style>\n                                                                                                                                                                                                                                                                                          <div class=\"css-w9l44e\">\n                                                                                                                                                                                                                                                                                            woah there\n                                                                                                                                                                                                                                                                                            <span>\n                                                                                                                                                                                                                                                                                              hello world\n                                                                                                                                                                                                                                                                                            </span>\n                                                                                                                                                                                                                                                                                            <style data-emotion=\"css i5ss3y\">\n                                                                                                                                                                                                                                                                                              .css-i5ss3y{color:#0469ee;}\n                                                                                                                                                                                                                                                                                            </style>\n                                                                                                                                                                                                                                                                                            <div class=\"css-i5ss3y\">\n                                                                                                                                                                                                                                                                                              woah there\n                                                                                                                                                                                                                                                                                              <span>\n                                                                                                                                                                                                                                                                                                hello world\n                                                                                                                                                                                                                                                                                              </span>\n                                                                                                                                                                                                                                                                                              <style data-emotion=\"css qua63f\">\n                                                                                                                                                                                                                                                                                                .css-qua63f{color:#047dc1;}\n                                                                                                                                                                                                                                                                                              </style>\n                                                                                                                                                                                                                                                                                              <div class=\"css-qua63f\">\n                                                                                                                                                                                                                                                                                                woah there\n                                                                                                                                                                                                                                                                                                <span>\n                                                                                                                                                                                                                                                                                                  hello world\n                                                                                                                                                                                                                                                                                                </span>\n                                                                                                                                                                                                                                                                                                <style data-emotion=\"css 1sjj1qr\">\n                                                                                                                                                                                                                                                                                                  .css-1sjj1qr{color:#049249;}\n                                                                                                                                                                                                                                                                                                </style>\n                                                                                                                                                                                                                                                                                                <div class=\"css-1sjj1qr\">\n                                                                                                                                                                                                                                                                                                  woah there\n                                                                                                                                                                                                                                                                                                  <span>\n                                                                                                                                                                                                                                                                                                    hello world\n                                                                                                                                                                                                                                                                                                  </span>\n                                                                                                                                                                                                                                                                                                  <style data-emotion=\"css 90js15\">\n                                                                                                                                                                                                                                                                                                    .css-90js15{color:#04a790;}\n                                                                                                                                                                                                                                                                                                  </style>\n                                                                                                                                                                                                                                                                                                  <div class=\"css-90js15\">\n                                                                                                                                                                                                                                                                                                    woah there\n                                                                                                                                                                                                                                                                                                    <span>\n                                                                                                                                                                                                                                                                                                      hello world\n                                                                                                                                                                                                                                                                                                    </span>\n                                                                                                                                                                                                                                                                                                    <style data-emotion=\"css 1mzlono\">\n                                                                                                                                                                                                                                                                                                      .css-1mzlono{color:#04bda1;}\n                                                                                                                                                                                                                                                                                                    </style>\n                                                                                                                                                                                                                                                                                                    <div class=\"css-1mzlono\">\n                                                                                                                                                                                                                                                                                                      woah there\n                                                                                                                                                                                                                                                                                                      <span>\n                                                                                                                                                                                                                                                                                                        hello world\n                                                                                                                                                                                                                                                                                                      </span>\n                                                                                                                                                                                                                                                                                                      <style data-emotion=\"css bjhszk\">\n                                                                                                                                                                                                                                                                                                        .css-bjhszk{color:#04d487;}\n                                                                                                                                                                                                                                                                                                      </style>\n                                                                                                                                                                                                                                                                                                      <div class=\"css-bjhszk\">\n                                                                                                                                                                                                                                                                                                        woah there\n                                                                                                                                                                                                                                                                                                        <span>\n                                                                                                                                                                                                                                                                                                          hello world\n                                                                                                                                                                                                                                                                                                        </span>\n                                                                                                                                                                                                                                                                                                        <style data-emotion=\"css ja3cay\">\n                                                                                                                                                                                                                                                                                                          .css-ja3cay{color:#04ec4f;}\n                                                                                                                                                                                                                                                                                                        </style>\n                                                                                                                                                                                                                                                                                                        <div class=\"css-ja3cay\">\n                                                                                                                                                                                                                                                                                                          woah there\n                                                                                                                                                                                                                                                                                                          <span>\n                                                                                                                                                                                                                                                                                                            hello world\n                                                                                                                                                                                                                                                                                                          </span>\n                                                                                                                                                                                                                                                                                                          <style data-emotion=\"css 148np4p\">\n                                                                                                                                                                                                                                                                                                            .css-148np4p{color:#050505;}\n                                                                                                                                                                                                                                                                                                          </style>\n                                                                                                                                                                                                                                                                                                          <div class=\"css-148np4p\">\n                                                                                                                                                                                                                                                                                                            woah there\n                                                                                                                                                                                                                                                                                                            <span>\n                                                                                                                                                                                                                                                                                                              hello world\n                                                                                                                                                                                                                                                                                                            </span>\n                                                                                                                                                                                                                                                                                                            <style data-emotion=\"css f4eyff\">\n                                                                                                                                                                                                                                                                                                              .css-f4eyff{color:#051eb8;}\n                                                                                                                                                                                                                                                                                                            </style>\n                                                                                                                                                                                                                                                                                                            <div class=\"css-f4eyff\">\n                                                                                                                                                                                                                                                                                                              woah there\n                                                                                                                                                                                                                                                                                                              <span>\n                                                                                                                                                                                                                                                                                                                hello world\n                                                                                                                                                                                                                                                                                                              </span>\n                                                                                                                                                                                                                                                                                                              <style data-emotion=\"css 1rl24dh\">\n                                                                                                                                                                                                                                                                                                                .css-1rl24dh{color:#053978;}\n                                                                                                                                                                                                                                                                                                              </style>\n                                                                                                                                                                                                                                                                                                              <div class=\"css-1rl24dh\">\n                                                                                                                                                                                                                                                                                                                woah there\n                                                                                                                                                                                                                                                                                                                <span>\n                                                                                                                                                                                                                                                                                                                  hello world\n                                                                                                                                                                                                                                                                                                                </span>\n                                                                                                                                                                                                                                                                                                                <style data-emotion=\"css c5gtq4\">\n                                                                                                                                                                                                                                                                                                                  .css-c5gtq4{color:#055555;}\n                                                                                                                                                                                                                                                                                                                </style>\n                                                                                                                                                                                                                                                                                                                <div class=\"css-c5gtq4\">\n                                                                                                                                                                                                                                                                                                                  woah there\n                                                                                                                                                                                                                                                                                                                  <span>\n                                                                                                                                                                                                                                                                                                                    hello world\n                                                                                                                                                                                                                                                                                                                  </span>\n                                                                                                                                                                                                                                                                                                                  <style data-emotion=\"css zn3vlf\">\n                                                                                                                                                                                                                                                                                                                    .css-zn3vlf{color:#057262;}\n                                                                                                                                                                                                                                                                                                                  </style>\n                                                                                                                                                                                                                                                                                                                  <div class=\"css-zn3vlf\">\n                                                                                                                                                                                                                                                                                                                    woah there\n                                                                                                                                                                                                                                                                                                                    <span>\n                                                                                                                                                                                                                                                                                                                      hello world\n                                                                                                                                                                                                                                                                                                                    </span>\n                                                                                                                                                                                                                                                                                                                    <style data-emotion=\"css 10y72es\">\n                                                                                                                                                                                                                                                                                                                      .css-10y72es{color:#0590b2;}\n                                                                                                                                                                                                                                                                                                                    </style>\n                                                                                                                                                                                                                                                                                                                    <div class=\"css-10y72es\">\n                                                                                                                                                                                                                                                                                                                      woah there\n                                                                                                                                                                                                                                                                                                                      <span>\n                                                                                                                                                                                                                                                                                                                        hello world\n                                                                                                                                                                                                                                                                                                                      </span>\n                                                                                                                                                                                                                                                                                                                      <style data-emotion=\"css bm2jv1\">\n                                                                                                                                                                                                                                                                                                                        .css-bm2jv1{color:#05b05b;}\n                                                                                                                                                                                                                                                                                                                      </style>\n                                                                                                                                                                                                                                                                                                                      <div class=\"css-bm2jv1\">\n                                                                                                                                                                                                                                                                                                                        woah there\n                                                                                                                                                                                                                                                                                                                        <span>\n                                                                                                                                                                                                                                                                                                                          hello world\n                                                                                                                                                                                                                                                                                                                        </span>\n                                                                                                                                                                                                                                                                                                                        <style data-emotion=\"css 11jkxwc\">\n                                                                                                                                                                                                                                                                                                                          .css-11jkxwc{color:#05d174;}\n                                                                                                                                                                                                                                                                                                                        </style>\n                                                                                                                                                                                                                                                                                                                        <div class=\"css-11jkxwc\">\n                                                                                                                                                                                                                                                                                                                          woah there\n                                                                                                                                                                                                                                                                                                                          <span>\n                                                                                                                                                                                                                                                                                                                            hello world\n                                                                                                                                                                                                                                                                                                                          </span>\n                                                                                                                                                                                                                                                                                                                          <style data-emotion=\"css 2u5nz5\">\n                                                                                                                                                                                                                                                                                                                            .css-2u5nz5{color:#05f418;}\n                                                                                                                                                                                                                                                                                                                          </style>\n                                                                                                                                                                                                                                                                                                                          <div class=\"css-2u5nz5\">\n                                                                                                                                                                                                                                                                                                                            woah there\n                                                                                                                                                                                                                                                                                                                            <span>\n                                                                                                                                                                                                                                                                                                                              hello world\n                                                                                                                                                                                                                                                                                                                            </span>\n                                                                                                                                                                                                                                                                                                                            <style data-emotion=\"css a8aq2j\">\n                                                                                                                                                                                                                                                                                                                              .css-a8aq2j{color:#061862;}\n                                                                                                                                                                                                                                                                                                                            </style>\n                                                                                                                                                                                                                                                                                                                            <div class=\"css-a8aq2j\">\n                                                                                                                                                                                                                                                                                                                              woah there\n                                                                                                                                                                                                                                                                                                                              <span>\n                                                                                                                                                                                                                                                                                                                                hello world\n                                                                                                                                                                                                                                                                                                                              </span>\n                                                                                                                                                                                                                                                                                                                              <style data-emotion=\"css z8kcia\">\n                                                                                                                                                                                                                                                                                                                                .css-z8kcia{color:#063e70;}\n                                                                                                                                                                                                                                                                                                                              </style>\n                                                                                                                                                                                                                                                                                                                              <div class=\"css-z8kcia\">\n                                                                                                                                                                                                                                                                                                                                woah there\n                                                                                                                                                                                                                                                                                                                                <span>\n                                                                                                                                                                                                                                                                                                                                  hello world\n                                                                                                                                                                                                                                                                                                                                </span>\n                                                                                                                                                                                                                                                                                                                                <style data-emotion=\"css 1df0hco\">\n                                                                                                                                                                                                                                                                                                                                  .css-1df0hco{color:#066666;}\n                                                                                                                                                                                                                                                                                                                                </style>\n                                                                                                                                                                                                                                                                                                                                <div class=\"css-1df0hco\">\n                                                                                                                                                                                                                                                                                                                                  woah there\n                                                                                                                                                                                                                                                                                                                                  <span>\n                                                                                                                                                                                                                                                                                                                                    hello world\n                                                                                                                                                                                                                                                                                                                                  </span>\n                                                                                                                                                                                                                                                                                                                                  <style data-emotion=\"css 11rstpz\">\n                                                                                                                                                                                                                                                                                                                                    .css-11rstpz{color:#069069;}\n                                                                                                                                                                                                                                                                                                                                  </style>\n                                                                                                                                                                                                                                                                                                                                  <div class=\"css-11rstpz\">\n                                                                                                                                                                                                                                                                                                                                    woah there\n                                                                                                                                                                                                                                                                                                                                    <span>\n                                                                                                                                                                                                                                                                                                                                      hello world\n                                                                                                                                                                                                                                                                                                                                    </span>\n                                                                                                                                                                                                                                                                                                                                    <style data-emotion=\"css 1w071u6\">\n                                                                                                                                                                                                                                                                                                                                      .css-1w071u6{color:#06bca2;}\n                                                                                                                                                                                                                                                                                                                                    </style>\n                                                                                                                                                                                                                                                                                                                                    <div class=\"css-1w071u6\">\n                                                                                                                                                                                                                                                                                                                                      woah there\n                                                                                                                                                                                                                                                                                                                                      <span>\n                                                                                                                                                                                                                                                                                                                                        hello world\n                                                                                                                                                                                                                                                                                                                                      </span>\n                                                                                                                                                                                                                                                                                                                                      <style data-emotion=\"css 1luo8x6\">\n                                                                                                                                                                                                                                                                                                                                        .css-1luo8x6{color:#06eb3e;}\n                                                                                                                                                                                                                                                                                                                                      </style>\n                                                                                                                                                                                                                                                                                                                                      <div class=\"css-1luo8x6\">\n                                                                                                                                                                                                                                                                                                                                        woah there\n                                                                                                                                                                                                                                                                                                                                        <span>\n                                                                                                                                                                                                                                                                                                                                          hello world\n                                                                                                                                                                                                                                                                                                                                        </span>\n                                                                                                                                                                                                                                                                                                                                        <style data-emotion=\"css 1ts80l8\">\n                                                                                                                                                                                                                                                                                                                                          .css-1ts80l8{color:#071c72;}\n                                                                                                                                                                                                                                                                                                                                        </style>\n                                                                                                                                                                                                                                                                                                                                        <div class=\"css-1ts80l8\">\n                                                                                                                                                                                                                                                                                                                                          woah there\n                                                                                                                                                                                                                                                                                                                                          <span>\n                                                                                                                                                                                                                                                                                                                                            hello world\n                                                                                                                                                                                                                                                                                                                                          </span>\n                                                                                                                                                                                                                                                                                                                                          <style data-emotion=\"css duffth\">\n                                                                                                                                                                                                                                                                                                                                            .css-duffth{color:#075075;}\n                                                                                                                                                                                                                                                                                                                                          </style>\n                                                                                                                                                                                                                                                                                                                                          <div class=\"css-duffth\">\n                                                                                                                                                                                                                                                                                                                                            woah there\n                                                                                                                                                                                                                                                                                                                                            <span>\n                                                                                                                                                                                                                                                                                                                                              hello world\n                                                                                                                                                                                                                                                                                                                                            </span>\n                                                                                                                                                                                                                                                                                                                                            <style data-emotion=\"css tt1okc\">\n                                                                                                                                                                                                                                                                                                                                              .css-tt1okc{color:#078788;}\n                                                                                                                                                                                                                                                                                                                                            </style>\n                                                                                                                                                                                                                                                                                                                                            <div class=\"css-tt1okc\">\n                                                                                                                                                                                                                                                                                                                                              woah there\n                                                                                                                                                                                                                                                                                                                                              <span>\n                                                                                                                                                                                                                                                                                                                                                hello world\n                                                                                                                                                                                                                                                                                                                                              </span>\n                                                                                                                                                                                                                                                                                                                                              <style data-emotion=\"css tax4hg\">\n                                                                                                                                                                                                                                                                                                                                                .css-tax4hg{color:#07c1f0;}\n                                                                                                                                                                                                                                                                                                                                              </style>\n                                                                                                                                                                                                                                                                                                                                              <div class=\"css-tax4hg\">\n                                                                                                                                                                                                                                                                                                                                                woah there\n                                                                                                                                                                                                                                                                                                                                                <span>\n                                                                                                                                                                                                                                                                                                                                                  hello world\n                                                                                                                                                                                                                                                                                                                                                </span>\n                                                                                                                                                                                                                                                                                                                                                <style data-emotion=\"css 1k8drt4\">\n                                                                                                                                                                                                                                                                                                                                                  .css-1k8drt4{color:#080000;}\n                                                                                                                                                                                                                                                                                                                                                </style>\n                                                                                                                                                                                                                                                                                                                                                <div class=\"css-1k8drt4\">\n                                                                                                                                                                                                                                                                                                                                                  woah there\n                                                                                                                                                                                                                                                                                                                                                  <span>\n                                                                                                                                                                                                                                                                                                                                                    hello world\n                                                                                                                                                                                                                                                                                                                                                  </span>\n                                                                                                                                                                                                                                                                                                                                                  <style data-emotion=\"css qfe6wx\">\n                                                                                                                                                                                                                                                                                                                                                    .css-qfe6wx{color:#084211;}\n                                                                                                                                                                                                                                                                                                                                                  </style>\n                                                                                                                                                                                                                                                                                                                                                  <div class=\"css-qfe6wx\">\n                                                                                                                                                                                                                                                                                                                                                    woah there\n                                                                                                                                                                                                                                                                                                                                                    <span>\n                                                                                                                                                                                                                                                                                                                                                      hello world\n                                                                                                                                                                                                                                                                                                                                                    </span>\n                                                                                                                                                                                                                                                                                                                                                    <style data-emotion=\"css jhchv1\">\n                                                                                                                                                                                                                                                                                                                                                      .css-jhchv1{color:#088889;}\n                                                                                                                                                                                                                                                                                                                                                    </style>\n                                                                                                                                                                                                                                                                                                                                                    <div class=\"css-jhchv1\">\n                                                                                                                                                                                                                                                                                                                                                      woah there\n                                                                                                                                                                                                                                                                                                                                                      <span>\n                                                                                                                                                                                                                                                                                                                                                        hello world\n                                                                                                                                                                                                                                                                                                                                                      </span>\n                                                                                                                                                                                                                                                                                                                                                      <style data-emotion=\"css 1soonbp\">\n                                                                                                                                                                                                                                                                                                                                                        .css-1soonbp{color:#08d3dd;}\n                                                                                                                                                                                                                                                                                                                                                      </style>\n                                                                                                                                                                                                                                                                                                                                                      <div class=\"css-1soonbp\">\n                                                                                                                                                                                                                                                                                                                                                        woah there\n                                                                                                                                                                                                                                                                                                                                                        <span>\n                                                                                                                                                                                                                                                                                                                                                          hello world\n                                                                                                                                                                                                                                                                                                                                                        </span>\n                                                                                                                                                                                                                                                                                                                                                        <style data-emotion=\"css 1vibp0n\">\n                                                                                                                                                                                                                                                                                                                                                          .css-1vibp0n{color:#092492;}\n                                                                                                                                                                                                                                                                                                                                                        </style>\n                                                                                                                                                                                                                                                                                                                                                        <div class=\"css-1vibp0n\">\n                                                                                                                                                                                                                                                                                                                                                          woah there\n                                                                                                                                                                                                                                                                                                                                                          <span>\n                                                                                                                                                                                                                                                                                                                                                            hello world\n                                                                                                                                                                                                                                                                                                                                                          </span>\n                                                                                                                                                                                                                                                                                                                                                          <style data-emotion=\"css 13a4u4g\">\n                                                                                                                                                                                                                                                                                                                                                            .css-13a4u4g{color:#097b42;}\n                                                                                                                                                                                                                                                                                                                                                          </style>\n                                                                                                                                                                                                                                                                                                                                                          <div class=\"css-13a4u4g\">\n                                                                                                                                                                                                                                                                                                                                                            woah there\n                                                                                                                                                                                                                                                                                                                                                            <span>\n                                                                                                                                                                                                                                                                                                                                                              hello world\n                                                                                                                                                                                                                                                                                                                                                            </span>\n                                                                                                                                                                                                                                                                                                                                                            <style data-emotion=\"css 99b9o6\">\n                                                                                                                                                                                                                                                                                                                                                              .css-99b9o6{color:#09d89e;}\n                                                                                                                                                                                                                                                                                                                                                            </style>\n                                                                                                                                                                                                                                                                                                                                                            <div class=\"css-99b9o6\">\n                                                                                                                                                                                                                                                                                                                                                              woah there\n                                                                                                                                                                                                                                                                                                                                                              <span>\n                                                                                                                                                                                                                                                                                                                                                                hello world\n                                                                                                                                                                                                                                                                                                                                                              </span>\n                                                                                                                                                                                                                                                                                                                                                              <style data-emotion=\"css mccdz6\">\n                                                                                                                                                                                                                                                                                                                                                                .css-mccdz6{color:#0a3d71;}\n                                                                                                                                                                                                                                                                                                                                                              </style>\n                                                                                                                                                                                                                                                                                                                                                              <div class=\"css-mccdz6\">\n                                                                                                                                                                                                                                                                                                                                                                woah there\n                                                                                                                                                                                                                                                                                                                                                                <span>\n                                                                                                                                                                                                                                                                                                                                                                  hello world\n                                                                                                                                                                                                                                                                                                                                                                </span>\n                                                                                                                                                                                                                                                                                                                                                                <style data-emotion=\"css vh0ult\">\n                                                                                                                                                                                                                                                                                                                                                                  .css-vh0ult{color:#0aaaab;}\n                                                                                                                                                                                                                                                                                                                                                                </style>\n                                                                                                                                                                                                                                                                                                                                                                <div class=\"css-vh0ult\">\n                                                                                                                                                                                                                                                                                                                                                                  woah there\n                                                                                                                                                                                                                                                                                                                                                                  <span>\n                                                                                                                                                                                                                                                                                                                                                                    hello world\n                                                                                                                                                                                                                                                                                                                                                                  </span>\n                                                                                                                                                                                                                                                                                                                                                                  <style data-emotion=\"css 1jkc31r\">\n                                                                                                                                                                                                                                                                                                                                                                    .css-1jkc31r{color:#0b2164;}\n                                                                                                                                                                                                                                                                                                                                                                  </style>\n                                                                                                                                                                                                                                                                                                                                                                  <div class=\"css-1jkc31r\">\n                                                                                                                                                                                                                                                                                                                                                                    woah there\n                                                                                                                                                                                                                                                                                                                                                                    <span>\n                                                                                                                                                                                                                                                                                                                                                                      hello world\n                                                                                                                                                                                                                                                                                                                                                                    </span>\n                                                                                                                                                                                                                                                                                                                                                                    <style data-emotion=\"css a00fqn\">\n                                                                                                                                                                                                                                                                                                                                                                      .css-a00fqn{color:#0ba2e9;}\n                                                                                                                                                                                                                                                                                                                                                                    </style>\n                                                                                                                                                                                                                                                                                                                                                                    <div class=\"css-a00fqn\">\n                                                                                                                                                                                                                                                                                                                                                                      woah there\n                                                                                                                                                                                                                                                                                                                                                                      <span>\n                                                                                                                                                                                                                                                                                                                                                                        hello world\n                                                                                                                                                                                                                                                                                                                                                                      </span>\n                                                                                                                                                                                                                                                                                                                                                                      <style data-emotion=\"css jkplpw\">\n                                                                                                                                                                                                                                                                                                                                                                        .css-jkplpw{color:#0c30c3;}\n                                                                                                                                                                                                                                                                                                                                                                      </style>\n                                                                                                                                                                                                                                                                                                                                                                      <div class=\"css-jkplpw\">\n                                                                                                                                                                                                                                                                                                                                                                        woah there\n                                                                                                                                                                                                                                                                                                                                                                        <span>\n                                                                                                                                                                                                                                                                                                                                                                          hello world\n                                                                                                                                                                                                                                                                                                                                                                        </span>\n                                                                                                                                                                                                                                                                                                                                                                        <style data-emotion=\"css 10sw1k2\">\n                                                                                                                                                                                                                                                                                                                                                                          .css-10sw1k2{color:#0ccccd;}\n                                                                                                                                                                                                                                                                                                                                                                        </style>\n                                                                                                                                                                                                                                                                                                                                                                        <div class=\"css-10sw1k2\">\n                                                                                                                                                                                                                                                                                                                                                                          woah there\n                                                                                                                                                                                                                                                                                                                                                                          <span>\n                                                                                                                                                                                                                                                                                                                                                                            hello world\n                                                                                                                                                                                                                                                                                                                                                                          </span>\n                                                                                                                                                                                                                                                                                                                                                                          <style data-emotion=\"css gs8wd6\">\n                                                                                                                                                                                                                                                                                                                                                                            .css-gs8wd6{color:#0d7943;}\n                                                                                                                                                                                                                                                                                                                                                                          </style>\n                                                                                                                                                                                                                                                                                                                                                                          <div class=\"css-gs8wd6\">\n                                                                                                                                                                                                                                                                                                                                                                            woah there\n                                                                                                                                                                                                                                                                                                                                                                            <span>\n                                                                                                                                                                                                                                                                                                                                                                              hello world\n                                                                                                                                                                                                                                                                                                                                                                            </span>\n                                                                                                                                                                                                                                                                                                                                                                            <style data-emotion=\"css 1kgu7pf\">\n                                                                                                                                                                                                                                                                                                                                                                              .css-1kgu7pf{color:#0e38e4;}\n                                                                                                                                                                                                                                                                                                                                                                            </style>\n                                                                                                                                                                                                                                                                                                                                                                            <div class=\"css-1kgu7pf\">\n                                                                                                                                                                                                                                                                                                                                                                              woah there\n                                                                                                                                                                                                                                                                                                                                                                              <span>\n                                                                                                                                                                                                                                                                                                                                                                                hello world\n                                                                                                                                                                                                                                                                                                                                                                              </span>\n                                                                                                                                                                                                                                                                                                                                                                              <style data-emotion=\"css abzsl4\">\n                                                                                                                                                                                                                                                                                                                                                                                .css-abzsl4{color:#0f0f0f;}\n                                                                                                                                                                                                                                                                                                                                                                              </style>\n                                                                                                                                                                                                                                                                                                                                                                              <div class=\"css-abzsl4\">\n                                                                                                                                                                                                                                                                                                                                                                                woah there\n                                                                                                                                                                                                                                                                                                                                                                                <span>\n                                                                                                                                                                                                                                                                                                                                                                                  hello world\n                                                                                                                                                                                                                                                                                                                                                                                </span>\n                                                                                                                                                                                                                                                                                                                                                                                <style data-emotion=\"css 1k6hdda\">\n                                                                                                                                                                                                                                                                                                                                                                                  .css-1k6hdda{color:#100000;}\n                                                                                                                                                                                                                                                                                                                                                                                </style>\n                                                                                                                                                                                                                                                                                                                                                                                <div class=\"css-1k6hdda\">\n                                                                                                                                                                                                                                                                                                                                                                                  woah there\n                                                                                                                                                                                                                                                                                                                                                                                  <span>\n                                                                                                                                                                                                                                                                                                                                                                                    hello world\n                                                                                                                                                                                                                                                                                                                                                                                  </span>\n                                                                                                                                                                                                                                                                                                                                                                                  <style data-emotion=\"css 9gkufl\">\n                                                                                                                                                                                                                                                                                                                                                                                    .css-9gkufl{color:#111111;}\n                                                                                                                                                                                                                                                                                                                                                                                  </style>\n                                                                                                                                                                                                                                                                                                                                                                                  <div class=\"css-9gkufl\">\n                                                                                                                                                                                                                                                                                                                                                                                    woah there\n                                                                                                                                                                                                                                                                                                                                                                                    <span>\n                                                                                                                                                                                                                                                                                                                                                                                      hello world\n                                                                                                                                                                                                                                                                                                                                                                                    </span>\n                                                                                                                                                                                                                                                                                                                                                                                    <style data-emotion=\"css 1ewesh6\">\n                                                                                                                                                                                                                                                                                                                                                                                      .css-1ewesh6{color:#124925;}\n                                                                                                                                                                                                                                                                                                                                                                                    </style>\n                                                                                                                                                                                                                                                                                                                                                                                    <div class=\"css-1ewesh6\">\n                                                                                                                                                                                                                                                                                                                                                                                      woah there\n                                                                                                                                                                                                                                                                                                                                                                                      <span>\n                                                                                                                                                                                                                                                                                                                                                                                        hello world\n                                                                                                                                                                                                                                                                                                                                                                                      </span>\n                                                                                                                                                                                                                                                                                                                                                                                      <style data-emotion=\"css 9e7j34\">\n                                                                                                                                                                                                                                                                                                                                                                                        .css-9e7j34{color:#13b13b;}\n                                                                                                                                                                                                                                                                                                                                                                                      </style>\n                                                                                                                                                                                                                                                                                                                                                                                      <div class=\"css-9e7j34\">\n                                                                                                                                                                                                                                                                                                                                                                                        woah there\n                                                                                                                                                                                                                                                                                                                                                                                        <span>\n                                                                                                                                                                                                                                                                                                                                                                                          hello world\n                                                                                                                                                                                                                                                                                                                                                                                        </span>\n                                                                                                                                                                                                                                                                                                                                                                                        <style data-emotion=\"css 1ta3m3l\">\n                                                                                                                                                                                                                                                                                                                                                                                          .css-1ta3m3l{color:#155555;}\n                                                                                                                                                                                                                                                                                                                                                                                        </style>\n                                                                                                                                                                                                                                                                                                                                                                                        <div class=\"css-1ta3m3l\">\n                                                                                                                                                                                                                                                                                                                                                                                          woah there\n                                                                                                                                                                                                                                                                                                                                                                                          <span>\n                                                                                                                                                                                                                                                                                                                                                                                            hello world\n                                                                                                                                                                                                                                                                                                                                                                                          </span>\n                                                                                                                                                                                                                                                                                                                                                                                          <style data-emotion=\"css mke1vr\">\n                                                                                                                                                                                                                                                                                                                                                                                            .css-mke1vr{color:#1745d1;}\n                                                                                                                                                                                                                                                                                                                                                                                          </style>\n                                                                                                                                                                                                                                                                                                                                                                                          <div class=\"css-mke1vr\">\n                                                                                                                                                                                                                                                                                                                                                                                            woah there\n                                                                                                                                                                                                                                                                                                                                                                                            <span>\n                                                                                                                                                                                                                                                                                                                                                                                              hello world\n                                                                                                                                                                                                                                                                                                                                                                                            </span>\n                                                                                                                                                                                                                                                                                                                                                                                            <style data-emotion=\"css 138g2ic\">\n                                                                                                                                                                                                                                                                                                                                                                                              .css-138g2ic{color:#19999a;}\n                                                                                                                                                                                                                                                                                                                                                                                            </style>\n                                                                                                                                                                                                                                                                                                                                                                                            <div class=\"css-138g2ic\">\n                                                                                                                                                                                                                                                                                                                                                                                              woah there\n                                                                                                                                                                                                                                                                                                                                                                                              <span>\n                                                                                                                                                                                                                                                                                                                                                                                                hello world\n                                                                                                                                                                                                                                                                                                                                                                                              </span>\n                                                                                                                                                                                                                                                                                                                                                                                              <style data-emotion=\"css 1ambdpy\">\n                                                                                                                                                                                                                                                                                                                                                                                                .css-1ambdpy{color:#1c71c7;}\n                                                                                                                                                                                                                                                                                                                                                                                              </style>\n                                                                                                                                                                                                                                                                                                                                                                                              <div class=\"css-1ambdpy\">\n                                                                                                                                                                                                                                                                                                                                                                                                woah there\n                                                                                                                                                                                                                                                                                                                                                                                                <span>\n                                                                                                                                                                                                                                                                                                                                                                                                  hello world\n                                                                                                                                                                                                                                                                                                                                                                                                </span>\n                                                                                                                                                                                                                                                                                                                                                                                                <style data-emotion=\"css 36wzef\">\n                                                                                                                                                                                                                                                                                                                                                                                                  .css-36wzef{color:#200000;}\n                                                                                                                                                                                                                                                                                                                                                                                                </style>\n                                                                                                                                                                                                                                                                                                                                                                                                <div class=\"css-36wzef\">\n                                                                                                                                                                                                                                                                                                                                                                                                  woah there\n                                                                                                                                                                                                                                                                                                                                                                                                  <span>\n                                                                                                                                                                                                                                                                                                                                                                                                    hello world\n                                                                                                                                                                                                                                                                                                                                                                                                  </span>\n                                                                                                                                                                                                                                                                                                                                                                                                  <style data-emotion=\"css 1vluzwd\">\n                                                                                                                                                                                                                                                                                                                                                                                                    .css-1vluzwd{color:#249249;}\n                                                                                                                                                                                                                                                                                                                                                                                                  </style>\n                                                                                                                                                                                                                                                                                                                                                                                                  <div class=\"css-1vluzwd\">\n                                                                                                                                                                                                                                                                                                                                                                                                    woah there\n                                                                                                                                                                                                                                                                                                                                                                                                    <span>\n                                                                                                                                                                                                                                                                                                                                                                                                      hello world\n                                                                                                                                                                                                                                                                                                                                                                                                    </span>\n                                                                                                                                                                                                                                                                                                                                                                                                    <style data-emotion=\"css 1o5nzp5\">\n                                                                                                                                                                                                                                                                                                                                                                                                      .css-1o5nzp5{color:#2aaaab;}\n                                                                                                                                                                                                                                                                                                                                                                                                    </style>\n                                                                                                                                                                                                                                                                                                                                                                                                    <div class=\"css-1o5nzp5\">\n                                                                                                                                                                                                                                                                                                                                                                                                      woah there\n                                                                                                                                                                                                                                                                                                                                                                                                      <span>\n                                                                                                                                                                                                                                                                                                                                                                                                        hello world\n                                                                                                                                                                                                                                                                                                                                                                                                      </span>\n                                                                                                                                                                                                                                                                                                                                                                                                      <style data-emotion=\"css xnoh5a\">\n                                                                                                                                                                                                                                                                                                                                                                                                        .css-xnoh5a{color:#333333;}\n                                                                                                                                                                                                                                                                                                                                                                                                      </style>\n                                                                                                                                                                                                                                                                                                                                                                                                      <div class=\"css-xnoh5a\">\n                                                                                                                                                                                                                                                                                                                                                                                                        woah there\n                                                                                                                                                                                                                                                                                                                                                                                                        <span>\n                                                                                                                                                                                                                                                                                                                                                                                                          hello world\n                                                                                                                                                                                                                                                                                                                                                                                                        </span>\n                                                                                                                                                                                                                                                                                                                                                                                                        <style data-emotion=\"css 1gl3nb5\">\n                                                                                                                                                                                                                                                                                                                                                                                                          .css-1gl3nb5{color:#400000;}\n                                                                                                                                                                                                                                                                                                                                                                                                        </style>\n                                                                                                                                                                                                                                                                                                                                                                                                        <div class=\"css-1gl3nb5\">\n                                                                                                                                                                                                                                                                                                                                                                                                          woah there\n                                                                                                                                                                                                                                                                                                                                                                                                          <span>\n                                                                                                                                                                                                                                                                                                                                                                                                            hello world\n                                                                                                                                                                                                                                                                                                                                                                                                          </span>\n                                                                                                                                                                                                                                                                                                                                                                                                          <style data-emotion=\"css 1etkgh2\">\n                                                                                                                                                                                                                                                                                                                                                                                                            .css-1etkgh2{color:#555555;}\n                                                                                                                                                                                                                                                                                                                                                                                                          </style>\n                                                                                                                                                                                                                                                                                                                                                                                                          <div class=\"css-1etkgh2\">\n                                                                                                                                                                                                                                                                                                                                                                                                            woah there\n                                                                                                                                                                                                                                                                                                                                                                                                            <span>\n                                                                                                                                                                                                                                                                                                                                                                                                              hello world\n                                                                                                                                                                                                                                                                                                                                                                                                            </span>\n                                                                                                                                                                                                                                                                                                                                                                                                            <style data-emotion=\"css 191jeup\">\n                                                                                                                                                                                                                                                                                                                                                                                                              .css-191jeup{color:#800000;}\n                                                                                                                                                                                                                                                                                                                                                                                                            </style>\n                                                                                                                                                                                                                                                                                                                                                                                                            <div class=\"css-191jeup\">\n                                                                                                                                                                                                                                                                                                                                                                                                              woah there\n                                                                                                                                                                                                                                                                                                                                                                                                              <span>\n                                                                                                                                                                                                                                                                                                                                                                                                                hello world\n                                                                                                                                                                                                                                                                                                                                                                                                              </span>\n                                                                                                                                                                                                                                                                                                                                                                                                              <style data-emotion=\"css 1wes8i6\">\n                                                                                                                                                                                                                                                                                                                                                                                                                .css-1wes8i6{color:#1000000;}\n                                                                                                                                                                                                                                                                                                                                                                                                              </style>\n                                                                                                                                                                                                                                                                                                                                                                                                              <div class=\"css-1wes8i6\">\n                                                                                                                                                                                                                                                                                                                                                                                                                woah there\n                                                                                                                                                                                                                                                                                                                                                                                                                <span>\n                                                                                                                                                                                                                                                                                                                                                                                                                  hello world\n                                                                                                                                                                                                                                                                                                                                                                                                                </span>\n                                                                                                                                                                                                                                                                                                                                                                                                              </div>\n                                                                                                                                                                                                                                                                                                                                                                                                            </div>\n                                                                                                                                                                                                                                                                                                                                                                                                          </div>\n                                                                                                                                                                                                                                                                                                                                                                                                        </div>\n                                                                                                                                                                                                                                                                                                                                                                                                      </div>\n                                                                                                                                                                                                                                                                                                                                                                                                    </div>\n                                                                                                                                                                                                                                                                                                                                                                                                  </div>\n                                                                                                                                                                                                                                                                                                                                                                                                </div>\n                                                                                                                                                                                                                                                                                                                                                                                              </div>\n                                                                                                                                                                                                                                                                                                                                                                                            </div>\n                                                                                                                                                                                                                                                                                                                                                                                          </div>\n                                                                                                                                                                                                                                                                                                                                                                                        </div>\n                                                                                                                                                                                                                                                                                                                                                                                      </div>\n                                                                                                                                                                                                                                                                                                                                                                                    </div>\n                                                                                                                                                                                                                                                                                                                                                                                  </div>\n                                                                                                                                                                                                                                                                                                                                                                                </div>\n                                                                                                                                                                                                                                                                                                                                                                              </div>\n                                                                                                                                                                                                                                                                                                                                                                            </div>\n                                                                                                                                                                                                                                                                                                                                                                          </div>\n                                                                                                                                                                                                                                                                                                                                                                        </div>\n                                                                                                                                                                                                                                                                                                                                                                      </div>\n                                                                                                                                                                                                                                                                                                                                                                    </div>\n                                                                                                                                                                                                                                                                                                                                                                  </div>\n                                                                                                                                                                                                                                                                                                                                                                </div>\n                                                                                                                                                                                                                                                                                                                                                              </div>\n                                                                                                                                                                                                                                                                                                                                                            </div>\n                                                                                                                                                                                                                                                                                                                                                          </div>\n                                                                                                                                                                                                                                                                                                                                                        </div>\n                                                                                                                                                                                                                                                                                                                                                      </div>\n                                                                                                                                                                                                                                                                                                                                                    </div>\n                                                                                                                                                                                                                                                                                                                                                  </div>\n                                                                                                                                                                                                                                                                                                                                                </div>\n                                                                                                                                                                                                                                                                                                                                              </div>\n                                                                                                                                                                                                                                                                                                                                            </div>\n                                                                                                                                                                                                                                                                                                                                          </div>\n                                                                                                                                                                                                                                                                                                                                        </div>\n                                                                                                                                                                                                                                                                                                                                      </div>\n                                                                                                                                                                                                                                                                                                                                    </div>\n                                                                                                                                                                                                                                                                                                                                  </div>\n                                                                                                                                                                                                                                                                                                                                </div>\n                                                                                                                                                                                                                                                                                                                              </div>\n                                                                                                                                                                                                                                                                                                                            </div>\n                                                                                                                                                                                                                                                                                                                          </div>\n                                                                                                                                                                                                                                                                                                                        </div>\n                                                                                                                                                                                                                                                                                                                      </div>\n                                                                                                                                                                                                                                                                                                                    </div>\n                                                                                                                                                                                                                                                                                                                  </div>\n                                                                                                                                                                                                                                                                                                                </div>\n                                                                                                                                                                                                                                                                                                              </div>\n                                                                                                                                                                                                                                                                                                            </div>\n                                                                                                                                                                                                                                                                                                          </div>\n                                                                                                                                                                                                                                                                                                        </div>\n                                                                                                                                                                                                                                                                                                      </div>\n                                                                                                                                                                                                                                                                                                    </div>\n                                                                                                                                                                                                                                                                                                  </div>\n                                                                                                                                                                                                                                                                                                </div>\n                                                                                                                                                                                                                                                                                              </div>\n                                                                                                                                                                                                                                                                                            </div>\n                                                                                                                                                                                                                                                                                          </div>\n                                                                                                                                                                                                                                                                                        </div>\n                                                                                                                                                                                                                                                                                      </div>\n                                                                                                                                                                                                                                                                                    </div>\n                                                                                                                                                                                                                                                                                  </div>\n                                                                                                                                                                                                                                                                                </div>\n                                                                                                                                                                                                                                                                              </div>\n                                                                                                                                                                                                                                                                            </div>\n                                                                                                                                                                                                                                                                          </div>\n                                                                                                                                                                                                                                                                        </div>\n                                                                                                                                                                                                                                                                      </div>\n                                                                                                                                                                                                                                                                    </div>\n                                                                                                                                                                                                                                                                  </div>\n                                                                                                                                                                                                                                                                </div>\n                                                                                                                                                                                                                                                              </div>\n                                                                                                                                                                                                                                                            </div>\n                                                                                                                                                                                                                                                          </div>\n                                                                                                                                                                                                                                                        </div>\n                                                                                                                                                                                                                                                      </div>\n                                                                                                                                                                                                                                                    </div>\n                                                                                                                                                                                                                                                  </div>\n                                                                                                                                                                                                                                                </div>\n                                                                                                                                                                                                                                              </div>\n                                                                                                                                                                                                                                            </div>\n                                                                                                                                                                                                                                          </div>\n                                                                                                                                                                                                                                        </div>\n                                                                                                                                                                                                                                      </div>\n                                                                                                                                                                                                                                    </div>\n                                                                                                                                                                                                                                  </div>\n                                                                                                                                                                                                                                </div>\n                                                                                                                                                                                                                              </div>\n                                                                                                                                                                                                                            </div>\n                                                                                                                                                                                                                          </div>\n                                                                                                                                                                                                                        </div>\n                                                                                                                                                                                                                      </div>\n                                                                                                                                                                                                                    </div>\n                                                                                                                                                                                                                  </div>\n                                                                                                                                                                                                                </div>\n                                                                                                                                                                                                              </div>\n                                                                                                                                                                                                            </div>\n                                                                                                                                                                                                          </div>\n                                                                                                                                                                                                        </div>\n                                                                                                                                                                                                      </div>\n                                                                                                                                                                                                    </div>\n                                                                                                                                                                                                  </div>\n                                                                                                                                                                                                </div>\n                                                                                                                                                                                              </div>\n                                                                                                                                                                                            </div>\n                                                                                                                                                                                          </div>\n                                                                                                                                                                                        </div>\n                                                                                                                                                                                      </div>\n                                                                                                                                                                                    </div>\n                                                                                                                                                                                  </div>\n                                                                                                                                                                                </div>\n                                                                                                                                                                              </div>\n                                                                                                                                                                            </div>\n                                                                                                                                                                          </div>\n                                                                                                                                                                        </div>\n                                                                                                                                                                      </div>\n                                                                                                                                                                    </div>\n                                                                                                                                                                  </div>\n                                                                                                                                                                </div>\n                                                                                                                                                              </div>\n                                                                                                                                                            </div>\n                                                                                                                                                          </div>\n                                                                                                                                                        </div>\n                                                                                                                                                      </div>\n                                                                                                                                                    </div>\n                                                                                                                                                  </div>\n                                                                                                                                                </div>\n                                                                                                                                              </div>\n                                                                                                                                            </div>\n                                                                                                                                          </div>\n                                                                                                                                        </div>\n                                                                                                                                      </div>\n                                                                                                                                    </div>\n                                                                                                                                  </div>\n                                                                                                                                </div>\n                                                                                                                              </div>\n                                                                                                                            </div>\n                                                                                                                          </div>\n                                                                                                                        </div>\n                                                                                                                      </div>\n                                                                                                                    </div>\n                                                                                                                  </div>\n                                                                                                                </div>\n                                                                                                              </div>\n                                                                                                            </div>\n                                                                                                          </div>\n                                                                                                        </div>\n                                                                                                      </div>\n                                                                                                    </div>\n                                                                                                  </div>\n                                                                                                </div>\n                                                                                              </div>\n                                                                                            </div>\n                                                                                          </div>\n                                                                                        </div>\n                                                                                      </div>\n                                                                                    </div>\n                                                                                  </div>\n                                                                                </div>\n                                                                              </div>\n                                                                            </div>\n                                                                          </div>\n                                                                        </div>\n                                                                      </div>\n                                                                    </div>\n                                                                  </div>\n                                                                </div>\n                                                              </div>\n                                                            </div>\n                                                          </div>\n                                                        </div>\n                                                      </div>\n                                                    </div>\n                                                  </div>\n                                                </div>\n                                              </div>\n                                            </div>\n                                          </div>\n                                        </div>\n                                      </div>\n                                    </div>\n                                  </div>\n                                </div>\n                              </div>\n                            </div>\n                          </div>\n                        </div>\n                      </div>\n                    </div>\n                  </div>\n                </div>\n              </div>\n            </div>\n          </div>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n`;\n\nexports[`renderStylesToNodeStream renders styles with ids 1`] = `\n<style data-emotion=\"css fgjrlg-hoverStyles-Something_Main 1uqawbr i9f7qw-bounce 1nhdffy\">\n  @font-face{font-family:'Patrick Hand SC';font-style:normal;font-weight:400;src:local('Patrick Hand SC'),local('PatrickHandSC-Regular'),url(https://fonts.gstatic.com/s/patrickhandsc/v4/OYFWCgfCR-7uHIovjUZXsZ71Uis0Qeb9Gqo8IZV7ckE.woff2) format('woff2');unicode-range:U+0100-024f,U+1-1eff,U+20a0-20ab,U+20ad-20cf,U+2c60-2c7f,U+A720-A7FF;}@-webkit-keyframes animation-i9f7qw-bounce{from,20%,53%,80%,to{-webkit-animation-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);animation-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);}40%,43%{-webkit-animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);-webkit-transform:translate3d(0, -30px, 0);-moz-transform:translate3d(0, -30px, 0);-ms-transform:translate3d(0, -30px, 0);transform:translate3d(0, -30px, 0);}70%{-webkit-animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);-webkit-transform:translate3d(0, -15px, 0);-moz-transform:translate3d(0, -15px, 0);-ms-transform:translate3d(0, -15px, 0);transform:translate3d(0, -15px, 0);}90%{-webkit-transform:translate3d(0, -4px, 0);-moz-transform:translate3d(0, -4px, 0);-ms-transform:translate3d(0, -4px, 0);transform:translate3d(0, -4px, 0);}}@keyframes animation-i9f7qw-bounce{from,20%,53%,80%,to{-webkit-animation-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);animation-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);}40%,43%{-webkit-animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);-webkit-transform:translate3d(0, -30px, 0);-moz-transform:translate3d(0, -30px, 0);-ms-transform:translate3d(0, -30px, 0);transform:translate3d(0, -30px, 0);}70%{-webkit-animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);-webkit-transform:translate3d(0, -15px, 0);-moz-transform:translate3d(0, -15px, 0);-ms-transform:translate3d(0, -15px, 0);transform:translate3d(0, -15px, 0);}90%{-webkit-transform:translate3d(0, -4px, 0);-moz-transform:translate3d(0, -4px, 0);-ms-transform:translate3d(0, -4px, 0);transform:translate3d(0, -4px, 0);}}.no-prefix{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}.css-fgjrlg-hoverStyles-Something_Main{color:hotpink;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.css-fgjrlg-hoverStyles-Something_Main:hover{color:white;background-color:lightgray;border-color:aqua;box-shadow:-15px -15px 0 0 aqua,-30px -30px 0 0 cornflowerblue;}\n</style>\n<main class=\"css-fgjrlg-hoverStyles-Something_Main\">\n  <style data-emotion=\"css 1h1w8ez-Image\">\n    .css-1h1w8ez-Image{-webkit-animation:animation-i9f7qw-bounce;animation:animation-i9f7qw-bounce;border-radius:50%;height:50px;width:50px;background-color:red;}\n  </style>\n  <img size=\"30\"\n       class=\"css-1h1w8ez-Image\"\n  >\n  <img size=\"100\"\n       class=\"css-1h1w8ez-Image\"\n  >\n  <img class=\"css-1h1w8ez-Image\">\n</main>\n`;\n\nexports[`renderStylesToNodeStream renders styles with ids 2`] = `\n<style data-emotion=\"css fgjrlg-hoverStyles-Something_Main 1uqawbr i9f7qw-bounce 1nhdffy\">\n  @font-face{font-family:'Patrick Hand SC';font-style:normal;font-weight:400;src:local('Patrick Hand SC'),local('PatrickHandSC-Regular'),url(https://fonts.gstatic.com/s/patrickhandsc/v4/OYFWCgfCR-7uHIovjUZXsZ71Uis0Qeb9Gqo8IZV7ckE.woff2) format('woff2');unicode-range:U+0100-024f,U+1-1eff,U+20a0-20ab,U+20ad-20cf,U+2c60-2c7f,U+A720-A7FF;}@-webkit-keyframes animation-i9f7qw-bounce{from,20%,53%,80%,to{-webkit-animation-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);animation-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);}40%,43%{-webkit-animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);-webkit-transform:translate3d(0, -30px, 0);-moz-transform:translate3d(0, -30px, 0);-ms-transform:translate3d(0, -30px, 0);transform:translate3d(0, -30px, 0);}70%{-webkit-animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);-webkit-transform:translate3d(0, -15px, 0);-moz-transform:translate3d(0, -15px, 0);-ms-transform:translate3d(0, -15px, 0);transform:translate3d(0, -15px, 0);}90%{-webkit-transform:translate3d(0, -4px, 0);-moz-transform:translate3d(0, -4px, 0);-ms-transform:translate3d(0, -4px, 0);transform:translate3d(0, -4px, 0);}}@keyframes animation-i9f7qw-bounce{from,20%,53%,80%,to{-webkit-animation-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);animation-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);}40%,43%{-webkit-animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);-webkit-transform:translate3d(0, -30px, 0);-moz-transform:translate3d(0, -30px, 0);-ms-transform:translate3d(0, -30px, 0);transform:translate3d(0, -30px, 0);}70%{-webkit-animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);-webkit-transform:translate3d(0, -15px, 0);-moz-transform:translate3d(0, -15px, 0);-ms-transform:translate3d(0, -15px, 0);transform:translate3d(0, -15px, 0);}90%{-webkit-transform:translate3d(0, -4px, 0);-moz-transform:translate3d(0, -4px, 0);-ms-transform:translate3d(0, -4px, 0);transform:translate3d(0, -4px, 0);}}.no-prefix{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}.css-fgjrlg-hoverStyles-Something_Main{color:hotpink;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.css-fgjrlg-hoverStyles-Something_Main:hover{color:white;background-color:lightgray;border-color:aqua;box-shadow:-15px -15px 0 0 aqua,-30px -30px 0 0 cornflowerblue;}\n</style>\n<main class=\"css-fgjrlg-hoverStyles-Something_Main\">\n  <div>\n    Hello\n  </div>\n</main>\n`;\n"
  },
  {
    "path": "packages/server/test/extract-critical-to-chunks.test.js",
    "content": "/**\n * @jest-environment node\n */\n\nimport React from 'react'\nimport { renderToString } from 'react-dom/server'\n/* import type { Emotion } from '@emotion/css/create-instance' */\nimport { prettifyCriticalChunks } from './util'\n\nlet emotion = require('@emotion/css')\nlet reactEmotion = require('@emotion/styled')\nlet emotionServer = require('@emotion/server')\n\nexport const getComponents = (\n  emotion /*: Emotion */,\n  { default: styled } /*: { default: Function } */\n) => {\n  let Provider = require('@emotion/react').CacheProvider\n  let Global = require('@emotion/react').Global\n  let { css } = emotion\n\n  const hoverStyles = css`\n    color: hotpink;\n    &:hover {\n      color: white;\n      background-color: lightgray;\n      border-color: aqua;\n      box-shadow:\n        -15px -15px 0 0 aqua,\n        -30px -30px 0 0 cornflowerblue;\n    }\n    label: hoverStyles;\n  `\n\n  // this is using @emotion/styled/base\n  // so the call syntax has to be used\n  const Main = styled('main')`\n    ${hoverStyles};\n    display: flex;\n    label: Something_Main;\n  `\n\n  const Page1 = () => (\n    <Provider value={emotion.cache}>\n      <Global styles={{ body: { color: 'white' } }} />\n      <Global styles={{ html: { background: 'red' } }} />\n      <Main />\n    </Provider>\n  )\n\n  const Page2 = () => (\n    <Provider value={emotion.cache}>\n      <Global styles={{ body: { color: 'white' } }} />\n      <Main />\n    </Provider>\n  )\n  return { Page1, Page2 }\n}\n\ndescribe('extractCriticalToChunks', () => {\n  const { Page1, Page2 } = getComponents(emotion, reactEmotion)\n\n  const page1Critical = emotionServer.extractCriticalToChunks(\n    renderToString(<Page1 />)\n  )\n  const page2Critical = emotionServer.extractCriticalToChunks(\n    renderToString(<Page2 />)\n  )\n\n  test('returns static css', () => {\n    expect(prettifyCriticalChunks(page1Critical)).toMatchSnapshot()\n    expect(prettifyCriticalChunks(page2Critical)).toMatchSnapshot()\n  })\n\n  test('generates correct style tags using constructStyleTagsFromChunks', () => {\n    expect(\n      emotionServer.constructStyleTagsFromChunks(page1Critical)\n    ).toMatchSnapshot()\n    expect(\n      emotionServer.constructStyleTagsFromChunks(page2Critical)\n    ).toMatchSnapshot()\n  })\n})\n"
  },
  {
    "path": "packages/server/test/index.test.js",
    "content": "import { getComponents, prettifyCritical, getInjectedRules } from './util'\nimport {\n  ignoreConsoleErrors,\n  disableBrowserEnvTemporarily,\n  safeQuerySelector\n} from 'test-utils'\n\nlet React\nlet renderToString\nlet render\nlet emotion\nlet emotionServer\nlet reactEmotion\n\nconst resetAllModules = () => {\n  jest.resetModules()\n  React = require('react')\n  renderToString = require('react-dom/server').renderToString\n  render = require('@testing-library/react/pure').render\n  emotion = require('@emotion/css')\n  emotionServer = require('@emotion/server')\n  reactEmotion = require('@emotion/styled')\n}\n\ndescribe('extractCritical', () => {\n  test('returns static css', async () => {\n    await disableBrowserEnvTemporarily(() => {\n      resetAllModules()\n      const { Page1, Page2 } = getComponents(emotion, reactEmotion)\n      expect(\n        prettifyCritical(\n          emotionServer.extractCritical(renderToString(<Page1 />))\n        )\n      ).toMatchSnapshot()\n      expect(\n        prettifyCritical(\n          emotionServer.extractCritical(renderToString(<Page2 />))\n        )\n      ).toMatchSnapshot()\n    })\n  })\n\n  test('does not warn when using extract critical', async () => {\n    await disableBrowserEnvTemporarily(() => {\n      resetAllModules()\n      let Provider = require('@emotion/react').CacheProvider\n      const WithNthSelector = reactEmotion.default('div')({\n        ':nth-child(1)': {}\n      })\n\n      ignoreConsoleErrors(() => {\n        emotionServer.extractCritical(\n          renderToString(\n            <Provider value={emotion.cache}>\n              <WithNthSelector />\n            </Provider>\n          )\n        )\n\n        expect(console.error.mock.calls).toMatchObject([])\n      })\n    })\n  })\n})\n\ndescribe('hydration', () => {\n  test('only rules that are not in the critical css are inserted', async () => {\n    const { html, ids, css } = await disableBrowserEnvTemporarily(() => {\n      resetAllModules()\n      const { Page1 } = getComponents(emotion, reactEmotion)\n      return emotionServer.extractCritical(renderToString(<Page1 />))\n    })\n\n    expect(prettifyCritical({ html, css, ids })).toMatchSnapshot()\n    document.body.innerHTML = `<div id=\"root\">${html}</div>`\n\n    resetAllModules()\n    emotion = require('@emotion/css')\n    emotionServer = require('@emotion/server')\n\n    expect(emotion.cache.inserted).toEqual({})\n    emotion.hydrate(ids)\n    const { Page1: NewPage1 } = getComponents(emotion, reactEmotion)\n    render(<NewPage1 />, {\n      container: safeQuerySelector('#root')\n    })\n    expect(getInjectedRules()).toMatchSnapshot()\n  })\n})\n"
  },
  {
    "path": "packages/server/test/inline.test.js",
    "content": "import {\n  stripDataReactRoot,\n  disableBrowserEnvTemporarily,\n  safeQuerySelector\n} from 'test-utils'\n\nlet React\nlet renderToString\nlet render\nlet emotion\nlet emotionServer\nlet reactEmotion\nlet util\n\nconst resetAllModules = () => {\n  jest.resetModules()\n  React = require('react')\n  renderToString = require('react-dom/server').renderToString\n  render = require('@testing-library/react/pure').render\n  emotion = require('@emotion/css')\n  emotionServer = require('@emotion/server')\n  reactEmotion = require('@emotion/styled')\n  util = require('./util')\n}\n\ndescribe('renderStylesToString', () => {\n  test('renders styles with ids', async () => {\n    await disableBrowserEnvTemporarily(() => {\n      resetAllModules()\n      const { Page1, Page2 } = util.getComponents(emotion, reactEmotion)\n      expect(\n        emotionServer.renderStylesToString(renderToString(<Page1 />))\n      ).toMatchSnapshot()\n      expect(\n        emotionServer.renderStylesToString(renderToString(<Page2 />))\n      ).toMatchSnapshot()\n    })\n  })\n  test('skip undefined styles', async () => {\n    await disableBrowserEnvTemporarily(() => {\n      resetAllModules()\n      const { css } = emotion\n      const style = css`\n        color: red;\n      `\n      const component = (\n        <a href={`${emotion.cache.key}-fail`} className={style} />\n      )\n      const output = emotionServer.renderStylesToString(\n        renderToString(component)\n      )\n\n      expect(output).toEqual(expect.not.stringContaining('undefined'))\n      expect(stripDataReactRoot(output)).toMatchSnapshot()\n    })\n  })\n  test('renders large recursive component', async () => {\n    await disableBrowserEnvTemporarily(() => {\n      resetAllModules()\n      const BigComponent = util.createBigComponent(emotion)\n      expect(\n        stripDataReactRoot(\n          emotionServer.renderStylesToString(\n            renderToString(<BigComponent count={200} />)\n          )\n        )\n      ).toMatchSnapshot()\n    })\n  })\n})\ndescribe('hydration', () => {\n  test('only inserts rules that are not in the critical css', async () => {\n    const appHtml = await disableBrowserEnvTemporarily(() => {\n      resetAllModules()\n      const { Page1 } = util.getComponents(emotion, reactEmotion)\n      return emotionServer.renderStylesToString(renderToString(<Page1 />))\n    })\n\n    expect(appHtml).toMatchSnapshot()\n    document.body.innerHTML = `<div id=\"root\">${appHtml}</div>`\n\n    resetAllModules()\n\n    expect(emotion.cache.registered).toEqual({})\n\n    const { Page1: NewPage1 } = util.getComponents(emotion, reactEmotion)\n\n    render(<NewPage1 />, {\n      container: safeQuerySelector('#root')\n    })\n    expect(util.getInjectedRules(document)).toMatchSnapshot()\n    expect(util.getCssFromChunks(emotion, document)).toMatchSnapshot()\n  })\n})\n"
  },
  {
    "path": "packages/server/test/stream.test.js",
    "content": "import {\n  stripDataReactRoot,\n  disableBrowserEnvTemporarily,\n  safeQuerySelector\n} from 'test-utils'\n\nlet React\nlet renderToString\nlet render\nlet emotion\nlet emotionServer\nlet reactEmotion\nlet util\n\nconst resetAllModules = () => {\n  jest.resetModules()\n  React = require('react')\n  renderToString = require('react-dom/server').renderToString\n  render = require('@testing-library/react/pure').render\n  emotion = require('@emotion/css')\n  emotionServer = require('@emotion/server')\n  reactEmotion = require('@emotion/styled')\n  util = require('./util')\n}\n\ndescribe('renderStylesToNodeStream', () => {\n  test('renders styles with ids', async () => {\n    await disableBrowserEnvTemporarily(async () => {\n      resetAllModules()\n      const { Page1, Page2 } = util.getComponents(emotion, reactEmotion)\n      expect(\n        await util.renderToStringWithStream(<Page1 />, emotionServer)\n      ).toMatchSnapshot()\n      expect(\n        await util.renderToStringWithStream(<Page2 />, emotionServer)\n      ).toMatchSnapshot()\n    })\n  })\n  test('renders large recursive component', async () => {\n    await disableBrowserEnvTemporarily(async () => {\n      resetAllModules()\n      const BigComponent = util.createBigComponent(emotion)\n      expect(\n        stripDataReactRoot(\n          await util.renderToStringWithStream(\n            <BigComponent count={200} />,\n            emotionServer\n          )\n        )\n      ).toMatchSnapshot()\n    })\n  })\n})\ndescribe('hydration', () => {\n  test('only inserts rules that are not in the critical css', async () => {\n    const appHtml = await disableBrowserEnvTemporarily(() => {\n      resetAllModules()\n      const { Page1 } = util.getComponents(emotion, reactEmotion)\n      return util.renderToStringWithStream(<Page1 />, emotionServer)\n    })\n\n    expect(appHtml).toMatchSnapshot()\n    document.body.innerHTML = `<div id=\"root\">${appHtml}</div>`\n\n    resetAllModules()\n\n    expect(emotion.cache.registered).toEqual({})\n\n    const { Page1: NewPage1 } = util.getComponents(emotion, reactEmotion)\n    render(<NewPage1 />, {\n      container: safeQuerySelector('#root')\n    })\n    expect(util.getInjectedRules(document)).toMatchSnapshot()\n    expect(util.getCssFromChunks(emotion, document)).toMatchSnapshot()\n  })\n})\n"
  },
  {
    "path": "packages/server/test/util.js",
    "content": "/* eslint-env jest */\nimport * as React from 'react'\nimport prettify from '@emotion/css-prettifier'\n/* import type { Emotion } from '@emotion/css/create-instance' */\nimport { renderToNodeStream } from 'react-dom/server'\nimport HTMLSerializer from 'jest-serializer-html'\n\n/*\ntype EmotionServer = {\n  renderStylesToNodeStream: () => *,\n  extractCritical: string => {\n    html: string,\n    css: string,\n    ids: Array<string>\n  },\n  renderStylesToString: string => string\n}\n*/\n\nexpect.addSnapshotSerializer(HTMLSerializer)\n\nexport const getComponents = (\n  emotion /*: Emotion */,\n  { default: styled } /*: { default: Function } */\n) => {\n  let Provider = require('@emotion/react').CacheProvider\n  let { injectGlobal, keyframes, css } = emotion\n  const color = 'red'\n\n  injectGlobal`\n    @font-face {\n      font-family: 'Patrick Hand SC';\n      font-style: normal;\n      font-weight: 400;\n      src: local('Patrick Hand SC'), local('PatrickHandSC-Regular'),\n        url(https://fonts.gstatic.com/s/patrickhandsc/v4/OYFWCgfCR-7uHIovjUZXsZ71Uis0Qeb9Gqo8IZV7ckE.woff2)\n          format('woff2');\n      unicode-range: U+0100-024f, U+1-1eff, U+20a0-20ab, U+20ad-20cf,\n        U+2c60-2c7f, U+A720-A7FF;\n    }\n  `\n\n  const bounce = keyframes`\n    from,\n    20%,\n    53%,\n    80%,\n    to {\n      animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n      transform: translate3d(0, 0, 0);\n    }\n\n    40%,\n    43% {\n      animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\n      transform: translate3d(0, -30px, 0);\n    }\n\n    70% {\n      animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\n      transform: translate3d(0, -15px, 0);\n    }\n\n    90% {\n      transform: translate3d(0, -4px, 0);\n    }\n    label: bounce;\n  `\n\n  const hoverStyles = css`\n    color: hotpink;\n    &:hover {\n      color: white;\n      background-color: lightgray;\n      border-color: aqua;\n      box-shadow:\n        -15px -15px 0 0 aqua,\n        -30px -30px 0 0 cornflowerblue;\n    }\n    label: hoverStyles;\n  `\n\n  // this is using @emotion/styled/base\n  // so the call syntax has to be used\n  const Main = styled('main')`\n    ${hoverStyles};\n    display: flex;\n    label: Something_Main;\n  `\n\n  const Image = styled('img')`\n    animation: ${bounce};\n    border-radius: 50%;\n    height: 50px;\n    width: 50px;\n    background-color: ${color};\n    label: Image;\n  `\n\n  // this will not be included since it's not used\n  css`\n    display: none;\n  `\n\n  // this will be included in both because it doesn't have the css- prefix\n\n  injectGlobal`\n    .no-prefix {\n      display: flex;\n      justify-content: center;\n    }\n  `\n\n  const Page1 = () => (\n    <Provider value={emotion.cache}>\n      <Main>\n        <Image size={30} />\n        <Image size={100} />\n        <Image />\n      </Main>\n    </Provider>\n  )\n\n  const Page2 = () => (\n    <Provider value={emotion.cache}>\n      <Main>\n        <div>Hello</div>\n      </Main>\n    </Provider>\n  )\n  return { Page1, Page2 }\n}\n\nconst maxColors = Math.pow(16, 6)\n\nexport const createBigComponent = ({ injectGlobal, css } /*: Emotion */) => {\n  const BigComponent = ({ count } /*: { count: number } */) => {\n    if (count === 0) return null\n    injectGlobal`\n    .some-global-${count} {\n      padding: 0;\n      margin: ${count};\n    }`\n    return (\n      <div\n        className={css({\n          color:\n            '#' +\n            Math.round((1 / count) * maxColors)\n              .toString(16)\n              .padStart(6, '0')\n        })}\n      >\n        woah there\n        <span>hello world</span>\n        <BigComponent count={count - 1} />\n      </div>\n    )\n  }\n  return BigComponent\n}\n\nexport const prettifyCritical = (\n  { html, css, ids } /*: {\n  html: string,\n  css: string,\n  ids: Array<string>\n} */\n) => {\n  return {\n    css: prettify(css),\n    ids,\n    html\n  }\n}\n\nexport const prettifyCriticalChunks = (\n  { html, styles } /*: {\n  html: string,\n  styles: Array<{ key: string, css: string, ids: Array<string> }>\n} */\n) => {\n  return {\n    styles: styles.map(\n      /* <{ key: string, css: string, ids: Array<string> }> */ (\n        item\n      ) /*: { key: string, css: string, ids: Array<string> } */ => {\n        return { css: prettify(item.css || ''), ids: item.ids, key: item.key }\n      }\n    ),\n    html\n  }\n}\n\nconst isSSRedStyle = node => {\n  const attrib = node.getAttribute(`data-emotion`).split(' ')\n  // SSRed styles have also serialized names set here\n  return attrib.length > 1\n}\n\nexport const getCssFromChunks = (emotion /*: Emotion*/) => {\n  const chunks = Array.from(\n    emotion.sheet.tags[0].parentNode.querySelectorAll(`[data-emotion]`)\n  ).filter(isSSRedStyle)\n  expect(document.body.querySelector(`[data-emotion]`)).toBeNull()\n  let css = chunks.map(chunk => chunk.textContent || '').join('')\n  return prettify(css)\n}\n\nexport const getInjectedRules = () =>\n  prettify(\n    Array.from(document.querySelectorAll('[data-emotion]'))\n      .filter(node => !isSSRedStyle(node))\n      .map(x => x.textContent || '')\n      .join('')\n  )\n\nexport const renderToStringWithStream = (\n  element /*: React.Element<*> */,\n  { renderStylesToNodeStream } /*: EmotionServer */\n) /*: Promise<string> */ =>\n  new Promise((resolve, reject) => {\n    const stream = renderToNodeStream(element).pipe(renderStylesToNodeStream())\n    let html = ''\n    stream.on('data', data => {\n      html += data.toString()\n    })\n    stream.on('end', () => {\n      resolve(html)\n    })\n    stream.on('error', error => {\n      reject(error)\n    })\n  })\n"
  },
  {
    "path": "packages/server/types/create-instance.d.ts",
    "content": "// Definitions by: Junyoung Clare Jang <https://github.com/Ailrun>\n// TypeScript Version: 2.8\n\n/// <reference types=\"node\" preserve=\"true\" />\nimport { EmotionCache } from '@emotion/utils'\n\nexport interface EmotionCritical {\n  html: string\n  ids: Array<string>\n  css: string\n}\n\nexport interface EmotionCriticalToChunks {\n  html: string\n  styles: Array<{ key: string; ids: Array<string>; css: string }>\n}\n\nexport interface EmotionServer {\n  extractCritical(html: string): EmotionCritical\n  extractCriticalToChunks(html: string): EmotionCriticalToChunks\n  renderStylesToString(html: string): string\n  renderStylesToNodeStream(): NodeJS.ReadWriteStream\n  constructStyleTagsFromChunks(criticalData: EmotionCriticalToChunks): string\n}\n\nexport default function createEmotionServer(cache: EmotionCache): EmotionServer\n"
  },
  {
    "path": "packages/server/types/index.d.ts",
    "content": "// Definitions by: Junyoung Clare Jang <https://github.com/Ailrun>\n// TypeScript Version: 2.8\n\nimport { EmotionServer } from '@emotion/server/create-instance'\n\nexport const extractCritical: EmotionServer['extractCritical']\nexport const extractCriticalToChunks: EmotionServer['extractCriticalToChunks']\nexport const renderStylesToString: EmotionServer['renderStylesToString']\nexport const renderStylesToNodeStream: EmotionServer['renderStylesToNodeStream']\nexport const constructStyleTagsFromChunks: EmotionServer['constructStyleTagsFromChunks']\n"
  },
  {
    "path": "packages/server/types/resolved-condition.ts",
    "content": "export default true as boolean\n"
  },
  {
    "path": "packages/server/types/tests-create-instance.ts",
    "content": "import createEmotionServer from '@emotion/server/create-instance'\nimport { EmotionCache } from '@emotion/utils'\n\ndeclare const cache: EmotionCache\n\n// $ExpectType EmotionServer\ncreateEmotionServer(cache)\n// $ExpectError\ncreateEmotionServer()\n\nconst emotionServer = createEmotionServer(cache)\n\n// $ExpectType EmotionCritical\nemotionServer.extractCritical('<div></div>')\n// $ExpectError\nemotionServer.extractCritical()\n// $ExpectError\nemotionServer.extractCritical('<div></div>', undefined as any)\n\n// $ExpectType string\nemotionServer.renderStylesToString('<div></div>')\n// $ExpectError\nemotionServer.renderStylesToString()\n// $ExpectError\nemotionServer.renderStylesToString('<div></div>', undefined as any)\n\n// $ExpectType ReadWriteStream\nemotionServer.renderStylesToNodeStream()\n// $ExpectError\nemotionServer.renderStylesToNodeStream(undefined as any)\n\ndeclare const stream: NodeJS.ReadableStream\nstream.pipe(emotionServer.renderStylesToNodeStream())\n"
  },
  {
    "path": "packages/server/types/tests.tsx",
    "content": "import {\n  extractCritical,\n  renderStylesToNodeStream,\n  renderStylesToString\n} from '@emotion/server'\n\ndeclare const renderedString: string\ndeclare const renderedNodeStream: NodeJS.ReadableStream\n\n// $ExpectType EmotionCritical\nextractCritical(renderedString)\n// $ExpectError\nextractCritical()\n// $ExpectError\nextractCritical(renderedString, undefined as any)\n\n// $ExpectType string\nrenderStylesToString(renderedString)\n// $ExpectError\nrenderStylesToString()\n// $ExpectError\nrenderStylesToString(renderedString, undefined as any)\n\n// $ExpectType ReadWriteStream\nrenderStylesToNodeStream()\n// $ExpectError\nrenderStylesToNodeStream(undefined as any)\n\nrenderedNodeStream.pipe(renderStylesToNodeStream())\n"
  },
  {
    "path": "packages/server/types/tsconfig.json",
    "content": "{\n  \"compilerOptions\": {\n    \"baseUrl\": \"../\",\n    \"forceConsistentCasingInFileNames\": true,\n    \"jsx\": \"react\",\n    \"lib\": [\n      \"es6\",\n      // dom is needed here because @emotion/server depends on @emotion/css\n      // which depends on @emotion/sheet, which depends on DOM types\n      \"dom\"\n    ],\n    \"module\": \"commonjs\",\n    \"noEmit\": true,\n    \"strict\": true,\n    \"target\": \"es5\",\n    \"typeRoots\": [\"../\"],\n    \"types\": [],\n    \"skipLibCheck\": true,\n    \"paths\": {\n      \"#is-browser\": [\"./types/resolved-condition.ts\"],\n      \"#is-development\": [\"./types/resolved-condition.ts\"]\n    }\n  },\n  \"include\": [\"./*.ts\", \"./*.tsx\"]\n}\n"
  },
  {
    "path": "packages/server/types/tslint.json",
    "content": "{\n  \"extends\": \"@definitelytyped/dtslint/dtslint.json\",\n  \"rules\": {\n    \"array-type\": [true, \"generic\"],\n    \"semicolon\": false,\n    \"file-name-casing\": false,\n    \"unnecessary-bind\": false\n  }\n}\n"
  },
  {
    "path": "packages/sheet/CHANGELOG.md",
    "content": "# @emotion/sheet\n\n## 1.4.0\n\n### Minor Changes\n\n- [#3198](https://github.com/emotion-js/emotion/pull/3198) [`d8ff8a5`](https://github.com/emotion-js/emotion/commit/d8ff8a5990c691017b463b3fa23a9f46ab28147b) Thanks [@Andarist](https://github.com/Andarist)! - Migrated away from relying on `process.env.NODE_ENV` checks to differentiate between production and development builds.\n\n  Development builds (and other environment-specific builds) can be used by using proper conditions (see [here](https://nodejs.org/docs/v20.15.1/api/packages.html#resolving-user-conditions)). Most modern bundlers/frameworks already preconfigure those for the user so no action has to be taken.\n\n  Default files should continue to work in all environments.\n\n## 1.3.0\n\n### Minor Changes\n\n- [#2431](https://github.com/emotion-js/emotion/pull/2431) [`52aadc6`](https://github.com/emotion-js/emotion/commit/52aadc6e77140867392f81545cc92e04fd84d453) Thanks [@sarayourfriend](https://github.com/sarayourfriend)! - Source code has been migrated to TypeScript. From now on type declarations will be emitted based on that, instead of being hand-written.\n\n### Patch Changes\n\n- [#2431](https://github.com/emotion-js/emotion/pull/2431) [`52aadc6`](https://github.com/emotion-js/emotion/commit/52aadc6e77140867392f81545cc92e04fd84d453) Thanks [@sarayourfriend](https://github.com/sarayourfriend)! - Type declaration for `StyleSheet`'s constructor has been fixed. It incorrectly was specifying that `options` were optional when in reality they weren't.\n\n## 1.2.2\n\n### Patch Changes\n\n- [#3029](https://github.com/emotion-js/emotion/pull/3029) [`eed5e6cf`](https://github.com/emotion-js/emotion/commit/eed5e6cf00f94f3011b93825ccce43cb2270c247) Thanks [@Andarist](https://github.com/Andarist)! - Fixed importing in Node ESM\n\n## 1.2.1\n\n### Patch Changes\n\n- [#2920](https://github.com/emotion-js/emotion/pull/2920) [`61c66963`](https://github.com/emotion-js/emotion/commit/61c66963dd8426b59d1ec424b5d1b41a371f9d49) Thanks [@pvdstel](https://github.com/pvdstel)! - Do not log failed rule insertions in the speedy mode for even more vendor-prefixed pseudo-elements/classes like `:-ms-expand` and `:-ms-reveal`.\n\n## 1.2.0\n\n### Minor Changes\n\n- [#2819](https://github.com/emotion-js/emotion/pull/2819) [`bbad8c79`](https://github.com/emotion-js/emotion/commit/bbad8c79937f8dfd5d93bf485c1e9ec44124d228) Thanks [@nicksrandall](https://github.com/nicksrandall)! - `exports` field has been added to the `package.json` manifest. It limits what files can be imported from a package but we've tried our best to allow importing all the files that were considered to be a part of the public API.\n\n## 1.1.1\n\n### Patch Changes\n\n- [#2728](https://github.com/emotion-js/emotion/pull/2728) [`6c2d7a60`](https://github.com/emotion-js/emotion/commit/6c2d7a6010af85502ae33d14dcbd3bb62ed7612e) Thanks [@Peeja](https://github.com/Peeja)! - TypeScript type for the `container` option has been adjusted. It will now accept a `ShadowRoot`, or any other kind of `Node`.\n\n## 1.1.0\n\n### Minor Changes\n\n- [#2521](https://github.com/emotion-js/emotion/pull/2521) [`516fe45`](https://github.com/emotion-js/emotion/commit/516fe458058c9ec8218740472b301e935801ebbc) Thanks [@mnajdova](https://github.com/mnajdova)! - Added `insertionPoint` option to the `Sheet`'s constructor. It can be used to insert rules after the specified element.\n\n## 1.0.3\n\n### Patch Changes\n\n- [#2447](https://github.com/emotion-js/emotion/pull/2447) [`f2eda829`](https://github.com/emotion-js/emotion/commit/f2eda8295429dd1892a06cbc9496321f2a55c10a) Thanks [@mdesantis](https://github.com/mdesantis)! - Fixed an issue with `sheet.flush()` crashing if its style elements were already detached by something else.\n\n## 1.0.2\n\n### Patch Changes\n\n- [#2393](https://github.com/emotion-js/emotion/pull/2393) [`405af5ca`](https://github.com/emotion-js/emotion/commit/405af5ca01dcc0cac64227db082ce3f483e1bb46) Thanks [@layershifter](https://github.com/layershifter)! - Do not log failed rule insertions in the speedy mode for even more vendor-prefixed pseudo-elements/classes like `:-moz-focus-inner`, `:-moz-focusring`, and `:-ms-clear`.\n\n## 1.0.1\n\n### Patch Changes\n\n- [`5469d003`](https://github.com/emotion-js/emotion/commit/5469d0034d055a34587e9d05332f6da4d4722b1c) [#2149](https://github.com/emotion-js/emotion/pull/2149) Thanks [@Andarist](https://github.com/Andarist)! - Do not log failed rule insertions in the speedy mode for vendor-prefixed pseudo-elements/classes like `::-moz-placeholder`.\n\n## 1.0.0\n\n### Major Changes\n\n- [`9e998e37`](https://github.com/emotion-js/emotion/commit/9e998e3755c217027ad1be0af4c64644fe14c6bf) [#1817](https://github.com/emotion-js/emotion/pull/1817) Thanks [@Andarist](https://github.com/Andarist)! - `@import` rules are no longer special-cased - they no longer are always inserted at the beginning of the stylesheet. The responsibility to put them first has been moved to a consumer of this package.\n\n### Minor Changes\n\n- [`4a891bf6`](https://github.com/emotion-js/emotion/commit/4a891bf6a30e3bb37f8f32031fa75a571c637d9c) [#1473](https://github.com/emotion-js/emotion/pull/1473) Thanks [@jcharry](https://github.com/jcharry)! - The new `prepend` option can make Emotion add style tags at the beginning of the specified DOM container instead of the end.\n\n* [`dfe79aca`](https://github.com/emotion-js/emotion/commit/dfe79aca696fc688f960218b16afee197926fe71) [#1696](https://github.com/emotion-js/emotion/pull/1696) Thanks [@Andarist](https://github.com/Andarist)! - Added `hydrate` method which can be used for SSRed styles. They become a part of a sheet and can be flushed.\n\n### Patch Changes\n\n- [`42df3f3b`](https://github.com/emotion-js/emotion/commit/42df3f3bc01526eed61cedba106d86b9e3807f9d) [#2028](https://github.com/emotion-js/emotion/pull/2028) Thanks [@Andarist](https://github.com/Andarist)! - Generated style elements got `data-s=\"1\"` attribute so `@emotion/cache` can recognize them as being already owned by another Emotion copy to avoid messing up existing style elements when initializing a new copy.\n\n* [`1e4a741d`](https://github.com/emotion-js/emotion/commit/1e4a741de6424d3d9c1f3ca9695e1953bed3a194) [#1697](https://github.com/emotion-js/emotion/pull/1697) Thanks [@Andarist](https://github.com/Andarist)! - Removed mentions of `maxLength` option in types & docs as it has been removed some time ago.\n\n## 1.0.0-rc.0\n\n### Major Changes\n\n- [`9c4ebc16`](https://github.com/emotion-js/emotion/commit/9c4ebc160471097c5d04fb92dba3ed0df870bb63) [#2030](https://github.com/emotion-js/emotion/pull/2030) Thanks [@Andarist](https://github.com/Andarist)! - Release candidate version.\n\n## 1.0.0-next.5\n\n### Patch Changes\n\n- [`42df3f3b`](https://github.com/emotion-js/emotion/commit/42df3f3bc01526eed61cedba106d86b9e3807f9d) [#2028](https://github.com/emotion-js/emotion/pull/2028) Thanks [@Andarist](https://github.com/Andarist)! - Generated style elements got `data-s` attribute so `@emotion/cache` can recognize them as being already owned by another Emotion copy to avoid messing up existing style elements when initializing a new copy.\n\n## 1.0.0-next.4\n\n### Patch Changes\n\n- [`39be057b`](https://github.com/emotion-js/emotion/commit/39be057b1a0c6b76f2cb7a455cb8bc35fe875ba0) [#1997](https://github.com/emotion-js/emotion/pull/1997) Thanks [@Andarist](https://github.com/Andarist)! - Reverted the change that has started to add an empty `<style/>` element eagerly in non-production environments that has been introduced in [`v1.0.0-next.3`](https://github.com/emotion-js/emotion/blob/next/packages/sheet/CHANGELOG.md#100-next3) as this has found to be problematic for websites using `Content-Security-Policy` and a `nonce`. Instead of this `@emotion/cache` will from now on insert an empty rule in non-production environments but it will only do that if an empty rule gets actually created by the user.\n\n## 1.0.0-next.3\n\n### Patch Changes\n\n- [`dc1a0c5e`](https://github.com/emotion-js/emotion/commit/dc1a0c5ed78b27fb7ce49b6296f2ca8631654cd1) [#1962](https://github.com/emotion-js/emotion/pull/1962) Thanks [@Andarist](https://github.com/Andarist)! - From now on an empty `<style/>` element gets inserted eagerly into the DOM in the constructor in non-production environments. This helps to grab used `key`s from the (JS)DOM even for sheets/caches that have not inserted any actual rules to the document yet. It allows `@emotion/jest` to find those and serialize Emotion classes properly in situations like this:\n\n  ```js\n  import styled from '@emotion/styled/macro'\n  import { render } from '@testing-library/react'\n\n  const Div = styled.div``\n\n  test('foo', () => {\n    const { container } = render(<Div />)\n    expect(container).toMatchSnapshot()\n  })\n  ```\n\n## 1.0.0-next.2\n\n### Major Changes\n\n- [`9e998e37`](https://github.com/emotion-js/emotion/commit/9e998e3755c217027ad1be0af4c64644fe14c6bf) [#1817](https://github.com/emotion-js/emotion/pull/1817) Thanks [@Andarist](https://github.com/Andarist)! - `@import` rules are no longer special-cased - they no longer are always inserted at the beginning of the stylesheet. The responsibility to put them first has been moved to a consumer of this package.\n\n### Patch Changes\n\n- [`91046a8c`](https://github.com/emotion-js/emotion/commit/91046a8c188327a65daac61583ef3c4458f30afb) [#1900](https://github.com/emotion-js/emotion/pull/1900) Thanks [@Andarist](https://github.com/Andarist)! - Renamed `rehydrate` method to `hydrate` to align naming to what is already used in Emotion and React itself.\n\n## 0.10.0-next.1\n\n### Minor Changes\n\n- [`dfe79aca`](https://github.com/emotion-js/emotion/commit/dfe79aca696fc688f960218b16afee197926fe71) [#1572](https://github.com/emotion-js/emotion/pull/1572) Thanks [@Andarist](https://github.com/Andarist)! - Added `rehydrate` method which can be used for SSRed styles. They become a part of a sheet and can be flushed.\n\n### Patch Changes\n\n- [`1e4a741d`](https://github.com/emotion-js/emotion/commit/1e4a741de6424d3d9c1f3ca9695e1953bed3a194) [#1572](https://github.com/emotion-js/emotion/pull/1572) Thanks [@Andarist](https://github.com/Andarist)! - Removed mentions of `maxLength` option in types & docs as it has been removed some time ago.\n\n## 0.10.0-next.0\n\n### Minor Changes\n\n- [`4a891bf6`](https://github.com/emotion-js/emotion/commit/4a891bf6a30e3bb37f8f32031fa75a571c637d9c) [#1473](https://github.com/emotion-js/emotion/pull/1473) Thanks [@jcharry](https://github.com/jcharry)! - Accept new `prepend` option to allow for adding style tags at the beginning of the specified DOM container.\n\n## 0.9.4\n\n### Patch Changes\n\n- [`4c62ae9`](https://github.com/emotion-js/emotion/commit/4c62ae9447959d438928e1a26f76f1487983c968) [#1698](https://github.com/emotion-js/emotion/pull/1698) Thanks [@Andarist](https://github.com/Andarist)! - Add LICENSE file\n\n## 0.9.3\n\n### Patch Changes\n\n- [c0eb604d](https://github.com/emotion-js/emotion/commit/c0eb604d) [#1419](https://github.com/emotion-js/emotion/pull/1419) Thanks [@emmatown](https://github.com/emmatown)! - Update build tool\n"
  },
  {
    "path": "packages/sheet/LICENSE",
    "content": "MIT License\n\nCopyright (c) Emotion team and other contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "packages/sheet/README.md",
    "content": "# @emotion/sheet\n\n> A StyleSheet for css-in-js libraries\n\n```bash\nyarn add @emotion/sheet\n```\n\n```jsx\nimport { StyleSheet } from '@emotion/sheet'\n\nconst sheet = new StyleSheet({ key: '', container: document.head })\n\nsheet.insert('html { color: hotpink; }')\n```\n\n> **Note:**\n> This is not useful for server-side rendering, you should implement SSR seperately\n\n## StyleSheet\n\n### Options\n\n```ts\ntype Options = {\n  nonce?: string\n  key: string\n  container: Node\n  speedy?: boolean\n  prepend?: boolean\n}\n```\n\n#### nonce\n\nA nonce that will be set on each style tag that the sheet inserts for [Content Security Policies](https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP).\n\n#### container\n\nA DOM Node that the sheet will insert all of it's style tags into, this is useful for inserting styles into iframes.\n\n#### key\n\nThis will be set as the value of the `data-emotion` attribute on the style tags that get inserted. This is useful to identify different sheets.\n\n#### speedy\n\nThis defines how rules are inserted. If it is true, rules will be inserted with [`insertRule`](https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleSheet/insertRule) which is very fast but doesn't allow rules to be edited in DevTools. If it is false, rules will be inserted by appending text nodes to style elements which is much slower than insertRule but allows rules to be edited in DevTools. By default, speedy is enabled in production and disabled in development.\n\n#### prepend\n\n**Deprecated:** Please use `insertionPoint` option instead.\n\nThis defines where rules are inserted into the `container`. By default they are appended but this can be changed by using `prepend: true` option.\n\n#### insertionPoint\n\nThis defines specific dom node after which the rules are inserted into the `container`. You can use a `meta` tag to specify the specific location:\n\n```jsx\nconst head = document.querySelector('head')\n\n// <meta name=\"emotion-insertion-point\" content=\"\">\nconst emotionInsertionPoint = document.createElement('meta')\nemotionInsertionPoint.setAttribute('name', 'emotion-insertion-point')\nemotionInsertionPoint.setAttribute('content', '')\n\nhead.appendChild(emotionInsertionPoint)\n\n// the emotion sheets should be inserted right after the meta tag\nconst cache = createCache({\n  key: 'my-app',\n  insertionPoint: emotionInsertionPoint\n})\n\nfunction App() {\n  return (\n    <CacheProvider value={cache}>\n      <Main />\n    </CacheProvider>\n  )\n}\n```\n\n### Methods\n\n#### insert\n\nThis method inserts a single rule into the document. It **must** be a single rule otherwise an error will be thrown in speedy mode which is enabled by default in production.\n\n#### flush\n\nThis method will remove all style tags that were inserted into the document.\n\n#### hydrate\n\nThis method moves given style elements into sheet's container and put them into internal tags collection. It's can be used for SSRed styles.\n\n### Example with all options\n\n```jsx\nimport { StyleSheet } from '@emotion/sheet'\n\nconst container = document.createElement('div')\n\ndocument.head.appendChild(container)\n\nconst sheet = new StyleSheet({\n  nonce: 'some-nonce',\n  key: 'some-key',\n  container\n})\n\nsheet.insert('html { color: hotpink; }')\n\nsheet.flush()\n```\n\n# Thanks\n\nThis StyleSheet is based on [glamor's StyleSheet](https://github.com/threepointone/glamor) written by [Sunil Pai](https://github.com/threepointone). ❤️\n"
  },
  {
    "path": "packages/sheet/__tests__/__snapshots__/index.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`StyleSheet should accept insertionPoint option 1`] = `\n<html>\n  <head>\n    \n      \n    <style\n      id=\"first\"\n    />\n    <style\n      data-emotion=\"\"\n      data-s=\"\"\n    >\n      \n      html { color: hotpink; }\n    </style>\n    <style\n      data-emotion=\"\"\n      data-s=\"\"\n    >\n      \n      * { box-sizing: border-box; }\n    </style>\n    \n      \n    <style\n      id=\"last\"\n    />\n    \n    \n  </head>\n  <body />\n</html>\n`;\n\nexports[`StyleSheet should accept prepend option 1`] = `\n<html>\n  <head>\n    <style\n      data-emotion=\"\"\n      data-s=\"\"\n    >\n      \n      html { color: hotpink; }\n    </style>\n    <style\n      data-emotion=\"\"\n      data-s=\"\"\n    >\n      \n      * { box-sizing: border-box; }\n    </style>\n    <style\n      id=\"other\"\n    />\n  </head>\n  <body />\n</html>\n`;\n\nexports[`StyleSheet should be able to hydrate styles 1`] = `\n<html>\n  <head />\n  <body>\n    <style>\n      .foo { color: hotpink; }\n    </style>\n    <style>\n      .bar { background-color: green; }\n    </style>\n  </body>\n</html>\n`;\n\nexports[`StyleSheet should be able to hydrate styles 2`] = `\n<html>\n  <head>\n    <style>\n      .foo { color: hotpink; }\n    </style>\n    <style>\n      .bar { background-color: green; }\n    </style>\n  </head>\n  <body />\n</html>\n`;\n\nexports[`StyleSheet should correctly position hydrated styles when used with \\`prepend\\` option 1`] = `\n<html>\n  <head>\n    <style>\n      .foo { color: hotpink; }\n    </style>\n    <style>\n      .bar { background-color: green; }\n    </style>\n    <style\n      id=\"other\"\n    />\n  </head>\n  <body />\n</html>\n`;\n\nexports[`StyleSheet should flush hydrated styles 1`] = `\n<html>\n  <head>\n    <style>\n      .foo { color: hotpink; }\n    </style>\n    <style>\n      .bar { background-color: green; }\n    </style>\n    <style\n      data-emotion=\"\"\n      data-s=\"\"\n    >\n      \n      html { color: hotpink; }\n    </style>\n    <style\n      data-emotion=\"\"\n      data-s=\"\"\n    >\n      \n      * { box-sizing: border-box; }\n    </style>\n  </head>\n  <body />\n</html>\n`;\n\nexports[`StyleSheet should flush hydrated styles 2`] = `\n<html>\n  <head />\n  <body />\n</html>\n`;\n\nexports[`StyleSheet should insert a rule into the DOM when not in speedy 1`] = `\n<html>\n  <head>\n    <style\n      data-emotion=\"\"\n      data-s=\"\"\n    >\n      \n      html { color: hotpink; }\n    </style>\n  </head>\n  <body />\n</html>\n`;\n\nexports[`StyleSheet should insert a rule with insertRule when in speedy 1`] = `\n<html>\n  <head>\n    <style\n      data-emotion=\"\"\n      data-s=\"\"\n    >\n      \n    </style>\n  </head>\n  <body />\n</html>\n`;\n\nexports[`StyleSheet should insert a rule with insertRule when in speedy 2`] = `\n[\n  CSSStyleRule {\n    \"__ends\": 24,\n    \"__starts\": 0,\n    \"parentRule\": null,\n    \"parentStyleSheet\": CSSStyleSheet {\n      \"cssRules\": [Circular],\n      \"parentStyleSheet\": null,\n    },\n    \"selectorText\": \"html\",\n    \"style\": CSSStyleDeclaration {\n      \"0\": \"color\",\n      \"__starts\": 5,\n      \"_importants\": {\n        \"color\": \"\",\n      },\n      \"color\": \"hotpink\",\n      \"length\": 1,\n      \"parentRule\": [Circular],\n    },\n  },\n]\n`;\n\nexports[`StyleSheet should remove its style elements from the document when flushed 1`] = `\n<html>\n  <head>\n    <style\n      data-emotion=\"\"\n      data-s=\"\"\n    >\n      \n      html { color: hotpink; }\n    </style>\n  </head>\n  <body />\n</html>\n`;\n\nexports[`StyleSheet should remove its style elements from the document when flushed 2`] = `\n<html>\n  <head />\n  <body />\n</html>\n`;\n\nexports[`StyleSheet should set the data-emotion attribute to the key option 1`] = `\n<html>\n  <head>\n    <style\n      data-emotion=\"some-key\"\n      data-s=\"\"\n    >\n      \n      html { color: hotpink; }\n    </style>\n  </head>\n  <body />\n</html>\n`;\n\nexports[`StyleSheet should use the container option instead of document.head to insert style elements into if it's passed 1`] = `\n<html>\n  <head />\n  <body>\n    <div>\n      <style\n        data-emotion=\"\"\n        data-s=\"\"\n      >\n        \n        html { color: hotpink; }\n      </style>\n    </div>\n  </body>\n</html>\n`;\n\nexports[`StyleSheet should work if insertionPoint is last element 1`] = `\n<html>\n  <head>\n    <style\n      id=\"last\"\n    />\n    <style\n      data-emotion=\"\"\n      data-s=\"\"\n    >\n      \n      html { color: hotpink; }\n    </style>\n    <style\n      data-emotion=\"\"\n      data-s=\"\"\n    >\n      \n      * { box-sizing: border-box; }\n    </style>\n  </head>\n  <body />\n</html>\n`;\n\nexports[`StyleSheet should work with a ShadowRoot container 1`] = `\n<html>\n  <head />\n  <body>\n    <div />\n  </body>\n</html>\n`;\n\nexports[`StyleSheet should work with a ShadowRoot container 2`] = `\nHTMLCollection [\n  <style\n    data-emotion=\"\"\n    data-s=\"\"\n  >\n    \n    html { color: hotpink; }\n  </style>,\n]\n`;\n"
  },
  {
    "path": "packages/sheet/__tests__/index.js",
    "content": "import { safeQuerySelector } from 'test-utils'\nimport { StyleSheet } from '@emotion/sheet'\n\nconst rule = 'html { color: hotpink; }'\nconst rule2 = '* { box-sizing: border-box; }'\n\nlet defaultOptions = {\n  key: '',\n  container: safeQuerySelector('head')\n}\n\nconsole.error = jest.fn()\n\nafterEach(() => {\n  jest.clearAllMocks()\n})\n\nbeforeEach(() => {\n  safeQuerySelector('head').innerHTML = ''\n  safeQuerySelector('body').innerHTML = ''\n})\n\ndescribe('StyleSheet', () => {\n  gate({ development: false }, ({ test }) => {\n    test('should be speedy by default in production', () => {\n      const sheet = new StyleSheet(defaultOptions)\n      expect(sheet.isSpeedy).toBe(true)\n    })\n  })\n\n  test('should not be speedy in a non-production environment by default', () => {\n    const sheet = new StyleSheet(defaultOptions)\n    expect(sheet.isSpeedy).toBe(false)\n  })\n\n  test('should remove its style elements from the document when flushed', () => {\n    const sheet = new StyleSheet(defaultOptions)\n    sheet.insert(rule)\n    expect(document.documentElement).toMatchSnapshot()\n    sheet.flush()\n    expect(document.documentElement).toMatchSnapshot()\n  })\n\n  test('should set the data-emotion attribute to the key option', () => {\n    const key = 'some-key'\n    const sheet = new StyleSheet({ ...defaultOptions, key })\n    sheet.insert(rule)\n    expect(document.documentElement).toMatchSnapshot()\n    expect(\n      document.querySelector('[data-emotion]').getAttribute('data-emotion')\n    ).toBe(key)\n    sheet.flush()\n  })\n\n  test('should insert a rule into the DOM when not in speedy', () => {\n    const sheet = new StyleSheet(defaultOptions)\n    sheet.insert(rule)\n    expect(document.documentElement).toMatchSnapshot()\n    sheet.flush()\n  })\n\n  test('should insert a rule with insertRule when in speedy', () => {\n    const sheet = new StyleSheet({ ...defaultOptions, speedy: true })\n    sheet.insert(rule)\n    expect(document.documentElement).toMatchSnapshot()\n    expect(sheet.tags).toHaveLength(1)\n    expect(sheet.tags[0].sheet.cssRules).toMatchSnapshot()\n    sheet.flush()\n  })\n\n  test('should throw when inserting a bad rule in speedy mode', () => {\n    const sheet = new StyleSheet({ ...defaultOptions, speedy: true })\n    sheet.insert('.asdfasdf4###112121211{')\n    expect(console.error).toHaveBeenCalledTimes(1)\n    expect(console.error.mock.calls[0][0]).toBe(\n      'There was a problem inserting the following rule: \".asdfasdf4###112121211{\"'\n    )\n    sheet.flush()\n  })\n\n  test('should set the nonce option as an attribute to style elements', () => {\n    let nonce = 'some-nonce'\n    const sheet = new StyleSheet({ ...defaultOptions, nonce })\n    sheet.insert(rule)\n    expect(sheet.tags[0]).toBe(document.querySelector('[data-emotion]'))\n    expect(sheet.tags).toHaveLength(1)\n    expect(sheet.tags[0].getAttribute('nonce')).toBe(nonce)\n    sheet.flush()\n  })\n\n  test(\"should use the container option instead of document.head to insert style elements into if it's passed\", () => {\n    const container = document.createElement('div')\n    document.body.appendChild(container)\n    const sheet = new StyleSheet({ ...defaultOptions, container })\n    expect(sheet.container).toBe(container)\n    sheet.insert(rule)\n    expect(document.documentElement).toMatchSnapshot()\n    expect(sheet.tags).toHaveLength(1)\n    expect(sheet.tags[0].parentNode).toBe(container)\n    sheet.flush()\n  })\n\n  test('should work with a ShadowRoot container', () => {\n    const div = document.createElement('div')\n    document.body.appendChild(div)\n    const container = div.attachShadow({ mode: 'open' })\n    const sheet = new StyleSheet({ ...defaultOptions, container })\n    expect(sheet.container).toBe(container)\n    sheet.insert(rule)\n    expect(document.documentElement).toMatchSnapshot()\n    // The shadowRoot is not serialized in the snapshot, so we need to take a\n    // separate snapshot of the shadowRoot's children.\n    expect(container.children).toMatchSnapshot()\n    expect(sheet.tags).toHaveLength(1)\n    expect(sheet.tags[0].parentNode).toBe(container)\n    sheet.flush()\n  })\n\n  test('should accept prepend option', () => {\n    const head = safeQuerySelector('head')\n    const otherStyle = document.createElement('style')\n    otherStyle.setAttribute('id', 'other')\n    head.appendChild(otherStyle)\n\n    const sheet = new StyleSheet({ ...defaultOptions, prepend: true })\n    sheet.insert(rule)\n    sheet.insert(rule2)\n    expect(document.documentElement).toMatchSnapshot()\n\n    sheet.flush()\n  })\n\n  test('should accept insertionPoint option', () => {\n    const head = safeQuerySelector('head')\n\n    head.innerHTML = `\n      <style id=\"first\"></style>\n      <style id=\"last\"></style>\n    `\n\n    // the sheet should be inserted between the first and last style nodes\n    const sheet = new StyleSheet({\n      ...defaultOptions,\n      insertionPoint: safeQuerySelector('#first')\n    })\n    sheet.insert(rule)\n    sheet.insert(rule2)\n    expect(document.documentElement).toMatchSnapshot()\n\n    sheet.flush()\n  })\n\n  test('should work if insertionPoint is last element', () => {\n    const head = safeQuerySelector('head')\n    const lastStyle = document.createElement('style')\n    lastStyle.setAttribute('id', 'last')\n    head.appendChild(lastStyle)\n\n    // the sheet should be inserted after the first node\n    const sheet = new StyleSheet({\n      ...defaultOptions,\n      insertionPoint: lastStyle\n    })\n    sheet.insert(rule)\n    sheet.insert(rule2)\n    expect(document.documentElement).toMatchSnapshot()\n\n    sheet.flush()\n  })\n\n  test('should be able to hydrate styles', () => {\n    const fooStyle = document.createElement('style')\n    fooStyle.textContent = '.foo { color: hotpink; }'\n    const barStyle = document.createElement('style')\n    barStyle.textContent = '.bar { background-color: green; }'\n    const body = safeQuerySelector('body')\n    body.appendChild(fooStyle)\n    body.appendChild(barStyle)\n\n    const sheet = new StyleSheet(defaultOptions)\n    expect(document.documentElement).toMatchSnapshot()\n\n    sheet.hydrate([fooStyle, barStyle])\n    expect(document.documentElement).toMatchSnapshot()\n\n    sheet.flush()\n  })\n\n  test('should flush hydrated styles', () => {\n    const fooStyle = document.createElement('style')\n    fooStyle.textContent = '.foo { color: hotpink; }'\n    const barStyle = document.createElement('style')\n    barStyle.textContent = '.bar { background-color: green; }'\n    const body = safeQuerySelector('body')\n    body.appendChild(fooStyle)\n    body.appendChild(barStyle)\n\n    const sheet = new StyleSheet(defaultOptions)\n\n    sheet.hydrate([fooStyle, barStyle])\n\n    sheet.insert(rule)\n    sheet.insert(rule2)\n    expect(document.documentElement).toMatchSnapshot()\n\n    sheet.flush()\n    expect(document.documentElement).toMatchSnapshot()\n  })\n\n  test('should correctly position hydrated styles when used with `prepend` option', () => {\n    const head = safeQuerySelector('head')\n    const otherStyle = document.createElement('style')\n    otherStyle.setAttribute('id', 'other')\n    head.appendChild(otherStyle)\n\n    const fooStyle = document.createElement('style')\n    fooStyle.textContent = '.foo { color: hotpink; }'\n    const barStyle = document.createElement('style')\n    barStyle.textContent = '.bar { background-color: green; }'\n    const body = safeQuerySelector('body')\n    body.appendChild(fooStyle)\n    body.appendChild(barStyle)\n\n    const sheet = new StyleSheet({\n      ...defaultOptions,\n      prepend: true\n    })\n\n    sheet.hydrate([fooStyle, barStyle])\n    expect(document.documentElement).toMatchSnapshot()\n\n    sheet.flush()\n  })\n\n  test('should not crash when flushing when styles are already detached', () => {\n    const head = safeQuerySelector('head')\n\n    const sheet = new StyleSheet(defaultOptions)\n\n    sheet.insert(rule)\n\n    head.innerHTML = ''\n\n    expect(() => sheet.flush()).not.toThrowError()\n  })\n})\n"
  },
  {
    "path": "packages/sheet/package.json",
    "content": "{\n  \"name\": \"@emotion/sheet\",\n  \"version\": \"1.4.0\",\n  \"description\": \"emotion's stylesheet\",\n  \"main\": \"dist/emotion-sheet.cjs.js\",\n  \"module\": \"dist/emotion-sheet.esm.js\",\n  \"types\": \"dist/emotion-sheet.cjs.d.ts\",\n  \"exports\": {\n    \".\": {\n      \"types\": {\n        \"import\": \"./dist/emotion-sheet.cjs.mjs\",\n        \"default\": \"./dist/emotion-sheet.cjs.js\"\n      },\n      \"development\": {\n        \"module\": \"./dist/emotion-sheet.development.esm.js\",\n        \"import\": \"./dist/emotion-sheet.development.cjs.mjs\",\n        \"default\": \"./dist/emotion-sheet.development.cjs.js\"\n      },\n      \"module\": \"./dist/emotion-sheet.esm.js\",\n      \"import\": \"./dist/emotion-sheet.cjs.mjs\",\n      \"default\": \"./dist/emotion-sheet.cjs.js\"\n    },\n    \"./package.json\": \"./package.json\"\n  },\n  \"imports\": {\n    \"#is-development\": {\n      \"development\": \"./src/conditions/true.ts\",\n      \"default\": \"./src/conditions/false.ts\"\n    }\n  },\n  \"license\": \"MIT\",\n  \"scripts\": {\n    \"test:typescript\": \"dtslint types\"\n  },\n  \"repository\": \"https://github.com/emotion-js/emotion/tree/main/packages/sheet\",\n  \"publishConfig\": {\n    \"access\": \"public\"\n  },\n  \"files\": [\n    \"src\",\n    \"dist\"\n  ],\n  \"devDependencies\": {\n    \"@definitelytyped/dtslint\": \"0.0.112\",\n    \"typescript\": \"^5.4.5\"\n  }\n}\n"
  },
  {
    "path": "packages/sheet/src/conditions/false.ts",
    "content": "export default false\n"
  },
  {
    "path": "packages/sheet/src/conditions/true.ts",
    "content": "export default true\n"
  },
  {
    "path": "packages/sheet/src/index.ts",
    "content": "import isDevelopment from '#is-development'\n/*\n\nBased off glamor's StyleSheet, thanks Sunil ❤️\n\nhigh performance StyleSheet for css-in-js systems\n\n- uses multiple style tags behind the scenes for millions of rules\n- uses `insertRule` for appending in production for *much* faster performance\n\n// usage\n\nimport { StyleSheet } from '@emotion/sheet'\n\nlet styleSheet = new StyleSheet({ key: '', container: document.head })\n\nstyleSheet.insert('#box { border: 1px solid red; }')\n- appends a css rule into the stylesheet\n\nstyleSheet.flush()\n- empties the stylesheet of all its contents\n\n*/\n\nfunction sheetForTag(tag: HTMLStyleElement): CSSStyleSheet {\n  if (tag.sheet) {\n    return tag.sheet\n  }\n\n  // this weirdness brought to you by firefox\n  /* istanbul ignore next */\n  for (let i = 0; i < document.styleSheets.length; i++) {\n    if (document.styleSheets[i].ownerNode === tag) {\n      return document.styleSheets[i]\n    }\n  }\n\n  // this function should always return with a value\n  // TS can't understand it though so we make it stop complaining here\n  return undefined as any\n}\n\nexport type Options = {\n  nonce?: string\n  key: string\n  container: Node\n  speedy?: boolean\n  prepend?: boolean\n  insertionPoint?: HTMLElement\n}\n\nfunction createStyleElement(options: Options): HTMLStyleElement {\n  let tag = document.createElement('style')\n  tag.setAttribute('data-emotion', options.key)\n  if (options.nonce !== undefined) {\n    tag.setAttribute('nonce', options.nonce)\n  }\n  tag.appendChild(document.createTextNode(''))\n  tag.setAttribute('data-s', '')\n  return tag\n}\n\nexport class StyleSheet {\n  isSpeedy: boolean\n  ctr: number\n  tags: HTMLStyleElement[]\n  // Using Node instead of HTMLElement since container may be a ShadowRoot\n  container: Node\n  key: string\n  nonce: string | undefined\n  prepend: boolean | undefined\n  before: Element | null\n  insertionPoint: HTMLElement | undefined\n\n  private _alreadyInsertedOrderInsensitiveRule: boolean | undefined\n\n  constructor(options: Options) {\n    this.isSpeedy =\n      options.speedy === undefined ? !isDevelopment : options.speedy\n    this.tags = []\n    this.ctr = 0\n    this.nonce = options.nonce\n    // key is the value of the data-emotion attribute, it's used to identify different sheets\n    this.key = options.key\n    this.container = options.container\n    this.prepend = options.prepend\n    this.insertionPoint = options.insertionPoint\n    this.before = null\n  }\n\n  private _insertTag = (tag: HTMLStyleElement): void => {\n    let before\n    if (this.tags.length === 0) {\n      if (this.insertionPoint) {\n        before = this.insertionPoint.nextSibling\n      } else if (this.prepend) {\n        before = this.container.firstChild\n      } else {\n        before = this.before\n      }\n    } else {\n      before = this.tags[this.tags.length - 1].nextSibling\n    }\n    this.container.insertBefore(tag, before)\n    this.tags.push(tag)\n  }\n\n  hydrate(nodes: HTMLStyleElement[]): void {\n    nodes.forEach(this._insertTag)\n  }\n\n  insert(rule: string): void {\n    // the max length is how many rules we have per style tag, it's 65000 in speedy mode\n    // it's 1 in dev because we insert source maps that map a single rule to a location\n    // and you can only have one source map per style tag\n    if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {\n      this._insertTag(createStyleElement(this))\n    }\n    const tag = this.tags[this.tags.length - 1]\n\n    if (isDevelopment) {\n      const isImportRule =\n        rule.charCodeAt(0) === 64 && rule.charCodeAt(1) === 105\n\n      if (isImportRule && this._alreadyInsertedOrderInsensitiveRule) {\n        // this would only cause problem in speedy mode\n        // but we don't want enabling speedy to affect the observable behavior\n        // so we report this error at all times\n        console.error(\n          `You're attempting to insert the following rule:\\n` +\n            rule +\n            '\\n\\n`@import` rules must be before all other types of rules in a stylesheet but other rules have already been inserted. Please ensure that `@import` rules are before all other rules.'\n        )\n      }\n\n      this._alreadyInsertedOrderInsensitiveRule =\n        this._alreadyInsertedOrderInsensitiveRule || !isImportRule\n    }\n\n    if (this.isSpeedy) {\n      const sheet = sheetForTag(tag)\n      try {\n        // this is the ultrafast version, works across browsers\n        // the big drawback is that the css won't be editable in devtools\n        sheet.insertRule(rule, sheet.cssRules.length)\n      } catch (e) {\n        if (\n          isDevelopment &&\n          !/:(-moz-placeholder|-moz-focus-inner|-moz-focusring|-ms-input-placeholder|-moz-read-write|-moz-read-only|-ms-clear|-ms-expand|-ms-reveal){/.test(\n            rule\n          )\n        ) {\n          console.error(\n            `There was a problem inserting the following rule: \"${rule}\"`,\n            e\n          )\n        }\n      }\n    } else {\n      tag.appendChild(document.createTextNode(rule))\n    }\n    this.ctr++\n  }\n\n  flush(): void {\n    this.tags.forEach(tag => tag.parentNode?.removeChild(tag))\n    this.tags = []\n    this.ctr = 0\n    if (isDevelopment) {\n      this._alreadyInsertedOrderInsensitiveRule = false\n    }\n  }\n}\n"
  },
  {
    "path": "packages/sheet/types/index.d.ts",
    "content": "// TypeScript Version: 2.0\n\nexport * from '..'\n"
  },
  {
    "path": "packages/sheet/types/tests.ts",
    "content": "import { StyleSheet } from '@emotion/sheet'\n\nnew StyleSheet({\n  key: 'abc',\n  container: document.createElement('div')\n})\n\nnew StyleSheet({\n  key: 'abc',\n  container: document.createElement('div'),\n  nonce: 'fefwe090rqr'\n})\nnew StyleSheet({\n  key: 'abc',\n  container: document.createElement('div'),\n  speedy: true\n})\n// this has been commented out because the error location has moved in typescript@next at the time of writing this comment\n// // $ExpectError\n// new StyleSheet({\n//   container: document.createElement('div'),\n//   key: 120\n// })\nnew StyleSheet({\n  container: document.createElement('div'),\n  // $ExpectError\n  kye: 'abc'\n})\n\nconst styleSheet0 = new StyleSheet({\n  key: 'abc',\n  container: document.createElement('div')\n})\nconst styleSheet1: StyleSheet = styleSheet0\n// $ExpectError\nconst styleSheet2: StyleSheet = new StyleSheet()\n// $ExpectError\nconst styleSheet3: StyleSheet = new StyleSheet({})\n// $ExpectError\nconst styleSheet4: StyleSheet = new StyleSheet({ key: 'mykey' })\n// $ExpectError\nconst styleSheet5: StyleSheet = new StyleSheet({\n  container: document.createElement('div')\n})\n\nconst styleSheet = new StyleSheet({\n  key: 'abc',\n  container: document.createElement('div')\n})\n\nstyleSheet.insert('.name{ color: black; }')\nstyleSheet.insert('.cl{ width: 200px; height: 200px; }')\n// $ExpectError\nstyleSheet.insert()\n// $ExpectError\nstyleSheet.insert('.name{ color: black; }', undefined as any)\n\nstyleSheet.flush()\n// $ExpectError\nstyleSheet.flush(undefined as any)\n// $ExpectError\nstyleSheet.flush(...(undefined as any as Array<any>))\n\nconst shadowRoot = document.createElement('div').attachShadow({ mode: 'open' })\nconst shadowStyleSheet = new StyleSheet({\n  key: 'abc',\n  container: shadowRoot\n})\n"
  },
  {
    "path": "packages/sheet/types/tsconfig.json",
    "content": "{\n  \"compilerOptions\": {\n    \"baseUrl\": \"../\",\n    \"forceConsistentCasingInFileNames\": true,\n    \"jsx\": \"react\",\n    \"lib\": [\"es6\", \"dom\"],\n    \"module\": \"commonjs\",\n    \"noEmit\": true,\n    \"strict\": true,\n    \"target\": \"es5\",\n    \"typeRoots\": [\"../\"],\n    \"types\": [],\n    \"paths\": {\n      \"#is-development\": [\"./src/conditions/true.ts\"]\n    }\n  },\n  \"include\": [\"./*.ts\", \"./*.tsx\"]\n}\n"
  },
  {
    "path": "packages/sheet/types/tslint.json",
    "content": "{\n  \"extends\": \"@definitelytyped/dtslint/dtslint.json\",\n  \"rules\": {\n    \"array-type\": [true, \"generic\"],\n    \"semicolon\": false,\n    \"unnecessary-bind\": false\n  }\n}\n"
  },
  {
    "path": "packages/styled/CHANGELOG.md",
    "content": "# @emotion/styled\n\n## 11.14.1\n\n### Patch Changes\n\n- [#3334](https://github.com/emotion-js/emotion/pull/3334) [`0facbe4`](https://github.com/emotion-js/emotion/commit/0facbe47bd9099ae4ed22dc201822d910ac3dec5) Thanks [@ZachRiegel](https://github.com/ZachRiegel)! - Renamed default-exported variable in `@emotion/styled` to aid inferred import names in auto-import completions in IDEs\n\n## 11.14.0\n\n### Minor Changes\n\n- [#3284](https://github.com/emotion-js/emotion/pull/3284) [`a19d019`](https://github.com/emotion-js/emotion/commit/a19d019bd418ebc3b9cba0e58f58b36ac2862a42) Thanks [@Andarist](https://github.com/Andarist)! - Source code has been migrated to TypeScript. From now on type declarations will be emitted based on that, instead of being hand-written.\n\n### Patch Changes\n\n- Updated dependencies [[`e1bf17e`](https://github.com/emotion-js/emotion/commit/e1bf17ee87ec51da1412eb5291460ea95a39d27a)]:\n  - @emotion/use-insertion-effect-with-fallbacks@1.2.0\n\n## 11.13.5\n\n### Patch Changes\n\n- [#3270](https://github.com/emotion-js/emotion/pull/3270) [`77d930d`](https://github.com/emotion-js/emotion/commit/77d930dc708015ff6fd34a1084bb343b02d732fa) Thanks [@emmatown](https://github.com/emmatown)! - Fix inconsistent hashes using development vs production bundles/`exports` conditions when using `@emotion/babel-plugin` with `sourceMap: true` (the default). This is particularly visible when using Emotion with the Next.js Pages router where the `development` condition is used when bundling code but not when importing external code with Node.js.\n\n- Updated dependencies [[`77d930d`](https://github.com/emotion-js/emotion/commit/77d930dc708015ff6fd34a1084bb343b02d732fa)]:\n  - @emotion/serialize@1.3.3\n  - @emotion/utils@1.4.2\n  - @emotion/babel-plugin@11.13.5\n\n## 11.13.0\n\n### Minor Changes\n\n- [#3198](https://github.com/emotion-js/emotion/pull/3198) [`d8ff8a5`](https://github.com/emotion-js/emotion/commit/d8ff8a5990c691017b463b3fa23a9f46ab28147b) Thanks [@Andarist](https://github.com/Andarist)! - Migrated away from relying on `process.env.NODE_ENV` checks to differentiate between production and development builds.\n\n  Development builds (and other environment-specific builds) can be used by using proper conditions (see [here](https://nodejs.org/docs/v20.15.1/api/packages.html#resolving-user-conditions)). Most modern bundlers/frameworks already preconfigure those for the user so no action has to be taken.\n\n  Default files should continue to work in all environments.\n\n- [#3215](https://github.com/emotion-js/emotion/pull/3215) [`a9f6912`](https://github.com/emotion-js/emotion/commit/a9f691299844bf6837b7ad41ee17cd912496f3d5) Thanks [@Andarist](https://github.com/Andarist)! - Added `edge-light` and `workerd` conditions to `package.json` manifest to better serve users using Vercel Edge and Cloudflare Workers.\n\n### Patch Changes\n\n- Updated dependencies [[`d8ff8a5`](https://github.com/emotion-js/emotion/commit/d8ff8a5990c691017b463b3fa23a9f46ab28147b), [`a9f6912`](https://github.com/emotion-js/emotion/commit/a9f691299844bf6837b7ad41ee17cd912496f3d5)]:\n  - @emotion/serialize@1.3.0\n  - @emotion/use-insertion-effect-with-fallbacks@1.1.0\n  - @emotion/utils@1.4.0\n\n## 11.12.0\n\n### Patch Changes\n\n- [#3206](https://github.com/emotion-js/emotion/pull/3206) [`d1994c4`](https://github.com/emotion-js/emotion/commit/d1994c460761ef37a3d12c587910c4e5b0e6f682) Thanks [@DiegoAndai](https://github.com/DiegoAndai)! - Improved compatibility with the upcoming `@types/react` for React 19 where the global `JSX` namespace doesn't exist anymore\n\n- [#3208](https://github.com/emotion-js/emotion/pull/3208) [`56109e7`](https://github.com/emotion-js/emotion/commit/56109e79adcf916144250b52ed579f13e4e6e0cf) Thanks [@Andarist](https://github.com/Andarist)! - Only forward defined `ref`s to improve compatibility with the upcoming React 19\n\n- Updated dependencies [[`9ca22c6`](https://github.com/emotion-js/emotion/commit/9ca22c6c23e9effa086d161a9b0ae1c645686680), [`a1e881b`](https://github.com/emotion-js/emotion/commit/a1e881b7dffdfa69f5ff32a708a25213b711bd15), [`16d8a8c`](https://github.com/emotion-js/emotion/commit/16d8a8c2198461c4842c73048b406c346a70aa59)]:\n  - @emotion/serialize@1.2.0\n  - @emotion/is-prop-valid@1.3.0\n  - @emotion/utils@1.3.0\n  - @emotion/babel-plugin@11.12.0\n\n## 11.11.5\n\n### Patch Changes\n\n- [#3164](https://github.com/emotion-js/emotion/pull/3164) [`c9b84dbe`](https://github.com/emotion-js/emotion/commit/c9b84dbe5bf5e054e6cd561d6da1e1548e1489d1) Thanks [@Cerber-Ursi](https://github.com/Cerber-Ursi)! - Reordered `styled` overloads to accommodate the recent change in `@emotion/serialize`'s types.\n\n- Updated dependencies [[`c9b84dbe`](https://github.com/emotion-js/emotion/commit/c9b84dbe5bf5e054e6cd561d6da1e1548e1489d1)]:\n  - @emotion/serialize@1.1.4\n\n## 11.11.0\n\n### Minor Changes\n\n- [#3031](https://github.com/emotion-js/emotion/pull/3031) [`336f3d50`](https://github.com/emotion-js/emotion/commit/336f3d50fd684ccbb160fff0c63d5560936f1ee5) Thanks [@Andarist](https://github.com/Andarist)! - Added support for cascade `@layer`s by updating the underlying parser ([stylis](https://github.com/thysultan/stylis)).\n\n### Patch Changes\n\n- [#3029](https://github.com/emotion-js/emotion/pull/3029) [`eed5e6cf`](https://github.com/emotion-js/emotion/commit/eed5e6cf00f94f3011b93825ccce43cb2270c247) Thanks [@Andarist](https://github.com/Andarist)! - Fixed importing in Node ESM\n\n- Updated dependencies [[`336f3d50`](https://github.com/emotion-js/emotion/commit/336f3d50fd684ccbb160fff0c63d5560936f1ee5), [`eed5e6cf`](https://github.com/emotion-js/emotion/commit/eed5e6cf00f94f3011b93825ccce43cb2270c247)]:\n  - @emotion/babel-plugin@11.11.0\n  - @emotion/is-prop-valid@1.2.1\n  - @emotion/serialize@1.1.2\n  - @emotion/use-insertion-effect-with-fallbacks@1.0.1\n  - @emotion/utils@1.2.1\n\n## 11.10.8\n\n### Patch Changes\n\n- [#3025](https://github.com/emotion-js/emotion/pull/3025) [`6bd13425`](https://github.com/emotion-js/emotion/commit/6bd13425a2b413150c81e63fad1105d7968b5e6f) Thanks [@Andarist](https://github.com/Andarist)! - Fixed a parsing issue with `&` within nested functions in declaration values by updating the underlying parser ([stylis](https://github.com/thysultan/stylis)).\n\n- Updated dependencies [[`6bd13425`](https://github.com/emotion-js/emotion/commit/6bd13425a2b413150c81e63fad1105d7968b5e6f)]:\n  - @emotion/babel-plugin@11.10.8\n\n## 11.10.6\n\n### Patch Changes\n\n- [#2985](https://github.com/emotion-js/emotion/pull/2985) [`4e172c2a`](https://github.com/emotion-js/emotion/commit/4e172c2ae4e5237500ec84688d76ebf253ab1fdc) Thanks [@emmatown](https://github.com/emmatown)! - Remove peer dependency on `@babel/core`\n\n- Updated dependencies [[`4e172c2a`](https://github.com/emotion-js/emotion/commit/4e172c2ae4e5237500ec84688d76ebf253ab1fdc)]:\n  - @emotion/babel-plugin@11.10.6\n\n## 11.10.5\n\n### Patch Changes\n\n- [#2929](https://github.com/emotion-js/emotion/pull/2929) [`13afe030`](https://github.com/emotion-js/emotion/commit/13afe0303e2e54b5869c326e6d9c9dc36a332c02) Thanks [@Andarist](https://github.com/Andarist)! - The support for `@container` queries has been added by updating the underlying parser ([stylis](https://github.com/thysultan/stylis)) .\n\n- Updated dependencies [[`13afe030`](https://github.com/emotion-js/emotion/commit/13afe0303e2e54b5869c326e6d9c9dc36a332c02), [`c02b1214`](https://github.com/emotion-js/emotion/commit/c02b12145a94df011e0fd6ffd54197a4d9369783)]:\n  - @emotion/babel-plugin@11.10.5\n  - @emotion/serialize@1.1.1\n\n## 11.10.4\n\n### Patch Changes\n\n- [#2867](https://github.com/emotion-js/emotion/pull/2867) [`89b6dbb3`](https://github.com/emotion-js/emotion/commit/89b6dbb3c13d49ef1fa3d88888672d810853f05a) Thanks [@Andarist](https://github.com/Andarist)! - Externalized code referencing `React.useInsertionEffect` to a separate `@emotion/use-insertion-effect-with-fallbacks` package. This package should be used in your defined externals if you bundle Emotion for whatever reason. It references `useInsertionEffect` in a very specific way that allows us to use it conditionally. However, if the code consuming Emotion is bundled as a library with Emotion in it then some bundlers might change the way in which we reference `useInsertionEffect` and that might create problems for bundlers used to consume the said library code. By externalizing this new package you can still bundle Emotion if you want to without running into this problem as you won't \"destroy\" the carefully crafted reference to `useInsertionEffect` in the process.\n\n  Note that we don't recommend bundling Emotion. You should have very specific reasons to do so.\n\n- Updated dependencies [[`89b6dbb3`](https://github.com/emotion-js/emotion/commit/89b6dbb3c13d49ef1fa3d88888672d810853f05a)]:\n  - @emotion/use-insertion-effect-with-fallbacks@1.0.0\n\n## 11.10.0\n\n### Minor Changes\n\n- [#2819](https://github.com/emotion-js/emotion/pull/2819) [`bbad8c79`](https://github.com/emotion-js/emotion/commit/bbad8c79937f8dfd5d93bf485c1e9ec44124d228) Thanks [@nicksrandall](https://github.com/nicksrandall)! - `exports` field has been added to the `package.json` manifest. It limits what files can be imported from a package but we've tried our best to allow importing all the files that were considered to be a part of the public API.\n\n* [#2819](https://github.com/emotion-js/emotion/pull/2819) [`bbad8c79`](https://github.com/emotion-js/emotion/commit/bbad8c79937f8dfd5d93bf485c1e9ec44124d228) Thanks [@nicksrandall](https://github.com/nicksrandall)! - Thanks to the added `exports` field, the package now includes a `worker` condition that can be utilized by properly configured bundlers when targeting worker-like environments. It fixes the issue with browser-specific files being prioritized by some bundlers when targeting workers.\n\n### Patch Changes\n\n- Updated dependencies [[`bbad8c79`](https://github.com/emotion-js/emotion/commit/bbad8c79937f8dfd5d93bf485c1e9ec44124d228), [`bbad8c79`](https://github.com/emotion-js/emotion/commit/bbad8c79937f8dfd5d93bf485c1e9ec44124d228)]:\n  - @emotion/babel-plugin@11.10.0\n  - @emotion/is-prop-valid@1.2.0\n  - @emotion/serialize@1.1.0\n  - @emotion/utils@1.2.0\n\n## 11.9.3\n\n### Patch Changes\n\n- [#2759](https://github.com/emotion-js/emotion/pull/2759) Thanks [@srmagura](https://github.com/srmagura), [@Andarist](https://github.com/Andarist)! - Change the argument of the `shouldForwardProp` option of `styled` from `PropertyKey` to `string` in the TypeScript definitions.\n\n* [#2333](https://github.com/emotion-js/emotion/pull/2333) [`3055efdd`](https://github.com/emotion-js/emotion/commit/3055efddf8f9fb14b148fda466dcb4eb9affc525) Thanks [@Andarist](https://github.com/Andarist)! - `shouldForwardProp` has been changed from being a bivariant method to a contravariant function - it improves the type-safety for those that type this option.\n\n- [#2333](https://github.com/emotion-js/emotion/pull/2333) [`3055efdd`](https://github.com/emotion-js/emotion/commit/3055efddf8f9fb14b148fda466dcb4eb9affc525) Thanks [@antongolub](https://github.com/antongolub)! - `FilteringStyledOptions` and `StyledOptions` types no longer require a type argument for the `Props` generic.\n\n- Updated dependencies [[`26e4e3e8`](https://github.com/emotion-js/emotion/commit/26e4e3e8b68479f0e3cb8fbec723da47afd6ac98), [`5e81f213`](https://github.com/emotion-js/emotion/commit/5e81f213980e9ba2cfa35256476673b68d47fc33), [`3055efdd`](https://github.com/emotion-js/emotion/commit/3055efddf8f9fb14b148fda466dcb4eb9affc525)]:\n  - @emotion/serialize@1.0.4\n  - @emotion/is-prop-valid@1.1.3\n\n## 11.8.1\n\n### Patch Changes\n\n- [#2651](https://github.com/emotion-js/emotion/pull/2651) [`39ac5b99`](https://github.com/emotion-js/emotion/commit/39ac5b99483994a68fa2b51e23ad6c173f42f1c1) Thanks [@Andarist](https://github.com/Andarist)! - Fixed a transpilation issue that caused `useInsertionEffect` to be referenced directly in the specifiers list of the import statement. This has caused build errors in the consuming tools since the import statement can only reference known exports of a module.\n\n## 11.8.0\n\n### Minor Changes\n\n- [#2600](https://github.com/emotion-js/emotion/pull/2600) [`2f27156a`](https://github.com/emotion-js/emotion/commit/2f27156a73f94c3aac82e4ed492cbfdc97225573) Thanks [@Andarist](https://github.com/Andarist)! - Refactored code to use the upcoming `React.useInsertionEffect` when it's available (this is a new hook that is going to be introduced in React 18). This shouldn't have any effect on existing codebases and the change should be transparent.\n\n### Patch Changes\n\n- Updated dependencies [[`d2531639`](https://github.com/emotion-js/emotion/commit/d25316393639232df16ba836b407e3678eea5e4d), [`2f27156a`](https://github.com/emotion-js/emotion/commit/2f27156a73f94c3aac82e4ed492cbfdc97225573)]:\n  - @emotion/is-prop-valid@1.1.2\n  - @emotion/utils@1.1.0\n\n## 11.6.0\n\n### Minor Changes\n\n- [#2542](https://github.com/emotion-js/emotion/pull/2542) [`eb013d25`](https://github.com/emotion-js/emotion/commit/eb013d25722f4fd9af9acf699789bf6b8afac871) Thanks [@eps1lon](https://github.com/eps1lon)! - Fixed hydration mismatches if `React.useId` (an upcoming API in React 18) is used within a tree below our components.\n\n### Patch Changes\n\n- Updated dependencies [[`9861a18b`](https://github.com/emotion-js/emotion/commit/9861a18bbf4a9480fad7f21a833ddfcf814cc893)]:\n  - @emotion/is-prop-valid@1.1.1\n\n## 11.3.0\n\n### Patch Changes\n\n- [`734b36bf`](https://github.com/emotion-js/emotion/commit/734b36bf113032a7e4ac96741f81ebd12a6244d4) [#2199](https://github.com/emotion-js/emotion/pull/2199) Thanks [@FezVrasta](https://github.com/FezVrasta)! - Improved Flow type inference of props for inline functions passed to the `styled` factory.\n\n- Updated dependencies [[`36a51c27`](https://github.com/emotion-js/emotion/commit/36a51c273d9dd5ab95367fbcf95cd809bb625f28), [`662f0e0f`](https://github.com/emotion-js/emotion/commit/662f0e0f888c8e80cf6b2d68b52ff1bb84cbdde5), [`36a51c27`](https://github.com/emotion-js/emotion/commit/36a51c273d9dd5ab95367fbcf95cd809bb625f28), [`830dd0e6`](https://github.com/emotion-js/emotion/commit/830dd0e6d071c98bc0b4b0ecc99dd21a93f057b9)]:\n  - @emotion/babel-plugin@11.3.0\n  - @emotion/serialize@1.0.2\n\n## 11.1.5\n\n### Patch Changes\n\n- [`d0293508`](https://github.com/emotion-js/emotion/commit/d0293508016dc07c5ad502b9eb0bec99ede1d37b) [#2240](https://github.com/emotion-js/emotion/pull/2240) Thanks [@wolszczak96](https://github.com/wolszczak96)! - `as` prop has been removed from TypeScript declarations for composite components. This prop has not actually been handled by default by `styled` for those components - to make `styled` handle it you need to provide a custom `shouldForwardProp` that doesn't forward the `as` prop.\n\n- Updated dependencies [[`f3c2e81d`](https://github.com/emotion-js/emotion/commit/f3c2e81d10b63811ebbc6c5b11fa3553a2605f44)]:\n  - @emotion/is-prop-valid@1.1.0\n\n## 11.0.0\n\n### Major Changes\n\n- [`f9feab1a`](https://github.com/emotion-js/emotion/commit/f9feab1a5d1ca88e53c3f7a063be5d5871cc93e8) [#1575](https://github.com/emotion-js/emotion/pull/1575) Thanks [@emmatown](https://github.com/emmatown)! - Removed support for `@emotion/styled-base` package. It has been moved to `@emotion/styled` and is available as `@emotion/styled/base`. This simplifies how the regular and base versions relate to each other and eliminates problems with stricter package managers when `@emotion/styled-base` was not installed explicitly by a user.\n\n* [`79036056`](https://github.com/emotion-js/emotion/commit/79036056808eefc81a77225254f7c25c2ff9d967) [#967](https://github.com/emotion-js/emotion/pull/967) Thanks [@emmatown](https://github.com/emmatown)! - Remove support for deprecated `innerRef` prop\n\n* [`a72e6dc`](https://github.com/emotion-js/emotion/commit/a72e6dc0f326b7d3d6067698d433018ee8c4cbf1) [#1501](https://github.com/emotion-js/emotion/pull/1501) Thanks [@JakeGinnivan](https://github.com/JakeGinnivan)! - TypeScript types have been significantly restructured. These changes:\n\n  - reduce build times when using Emotion, especially in larger projects\n  - it's no longer necessary to manually specify generic parameters for your Emotion components in many cases\n  - union types as props are better supported and should be inferred properly\n  - the `css` function has been restricted to prevent passing invalid types\n  - `styled`'s generic parameter has been changed, if you were specifying the `ComponentType` you will need to remove that generic parameter\n  - `styled` no longer takes a second `ExtraProps` parameter - instead of that move it to after the `styled` call. So instead of writing `styled<typeof MyComponent, ExtraProps>(MyComponent)({})` you should now be writing `styled(MyComponent)<ExtraProps>({})`\n\n  If you encounter build issues after upgrade, try removing any manually specified generic types and let them be inferred.\n\n- [`c6431074`](https://github.com/emotion-js/emotion/commit/c6431074cf52a4bb64587c86ce5d42fe2d49230b) [#1609](https://github.com/emotion-js/emotion/pull/1609) Thanks [@tomsseisums](https://github.com/tomsseisums)! - It's now easier to provide a type for `Theme`. Instead of creating custom instances (like before) you can augment the builtin `Theme` interface like this:\n\n  ```ts\n  import '@emotion/react'\n\n  declare module '@emotion/react' {\n    export interface Theme {\n      primaryColor: string\n      secondaryColor: string\n    }\n  }\n  ```\n\n- [`105de5c8`](https://github.com/emotion-js/emotion/commit/105de5c8752be0983c000e1e26462dc8fcf0708d) [#1572](https://github.com/emotion-js/emotion/pull/1572) Thanks [@Andarist](https://github.com/Andarist)! - `[data-emotion]` attribute on SSRed styled has changed. You should never rely on it though.\n\n* [`79036056`](https://github.com/emotion-js/emotion/commit/79036056808eefc81a77225254f7c25c2ff9d967) [#967](https://github.com/emotion-js/emotion/pull/967) Thanks [@emmatown](https://github.com/emmatown)! - Use hooks internally for improved bundle size and a better tree in React DevTools\n\n- [`9e998e37`](https://github.com/emotion-js/emotion/commit/9e998e3755c217027ad1be0af4c64644fe14c6bf) [#1817](https://github.com/emotion-js/emotion/pull/1817) Thanks [@Andarist](https://github.com/Andarist)! - The parser we use ([Stylis](https://github.com/thysultan/stylis.js)) got upgraded. It fixes some long-standing parsing edge cases while being smaller and faster 🚀\n\n  It has been completely rewritten and comes with some breaking changes. The most notable ones that might affect Emotion users are:\n\n  - plugins written for the former Stylis v3 are not compatible with the new version. To learn more on how to write a plugin for Stylis v4 you can check out its [README](https://github.com/thysultan/stylis.js#middleware) and the source code of core plugins.\n  - vendor-prefixing was previously customizable using `prefix` option. This was always limited to turning off all of some of the prefixes as all available prefixes were on by default. The `prefix` option is gone and to customize which prefixes are applied you need to fork (copy-paste) the prefixer plugin and adjust it to your needs. While this being somewhat more problematic to setup at first we believe that the vast majority of users were not customizing this anyway. By not including the possibility to customize this through an extra option the final solution is more performant because there is no extra overhead of checking if a particular property should be prefixed or not.\n  - the prefixer is now just a plugin which happens to be included in the default `stylisPlugins`. If you plan to use custom `stylisPlugins` and you want to have your styles prefixed automatically you must include prefixer in your custom `stylisPlugins`. You can import `prefixer` from the `stylis` module to do that.\n  - `@import` rules are no longer special-cased. The responsibility to put them first has been moved to the author of the styles. They also can't be nested within other rules now. It's only possible to write them at the top level of global styles.\n\n* [`cf56694`](https://github.com/emotion-js/emotion/commit/cf56694d54d0b2bd6208f561d8ce829da4918952) [#2088](https://github.com/emotion-js/emotion/pull/2088) Thanks [@Andarist](https://github.com/Andarist)! - UMD filenames have been changed.\n\n### Minor Changes\n\n- [`4d3b60d0`](https://github.com/emotion-js/emotion/commit/4d3b60d0d448a61d762ee150e6cb7a2c995ccc2f) [#1874](https://github.com/emotion-js/emotion/pull/1874) Thanks [@connor-baer](https://github.com/connor-baer)! - Added basic TS type support for `as` prop on styled components. It's possible to pass any component to it but it has no effect on other accepted props. This means that it's not 100% type-safe so use it sparingly and with care.\n\n* [`ad77ed24`](https://github.com/emotion-js/emotion/commit/ad77ed24b4bfe62d6c80f0498cd7e76863e2f28e) [#1624](https://github.com/emotion-js/emotion/pull/1624) Thanks [@JakeGinnivan](https://github.com/JakeGinnivan)! - Added `CreateStyled` overload to handle when `shouldForwardProp` is a custom type guard for intrinsic props.\n\n  As an example, if you want to override the type of the `color` prop:\n\n  ```ts\n  export const Box = styled('div', {\n    shouldForwardProp: (\n      propName\n    ): propName is Exclude<keyof JSX.IntrinsicElements['div'], 'color'> =>\n      propName !== 'color'\n  })<{ color: Array<string> }>(props => ({\n    color: props.color[0]\n  }))\n  ;<Box color={['green']} />\n  ```\n\n- [`18c0d5f4`](https://github.com/emotion-js/emotion/commit/18c0d5f4fbe59545c335eab2e0a28d414db33a36) [#1668](https://github.com/emotion-js/emotion/pull/1668) Thanks [@animecyc](https://github.com/animecyc)! - Custom `shouldForwardProp` is being preserved now when using `.withComponent`. Also, when passing an additional `shouldForwardProp` in `.withComponent`'s options (like this: `SomeComponent.withComponent('span', { shouldForwardProp })`) it's being composed with the potentially existing `shouldForwardProp`.\n\n* [`5d692a6a`](https://github.com/emotion-js/emotion/commit/5d692a6a8102b3faabefb773dd0145b123668a07) [#1956](https://github.com/emotion-js/emotion/pull/1956) Thanks [@eps1lon](https://github.com/eps1lon)! - Upgraded [`csstype`](https://www.npmjs.com/package/csstype) dependency to its v3. This is what we use to provide TypeScript typings for object styles. The upgrade should not affect any consuming code but it's worth mentioning if any edge case scenarios arise.\n\n### Patch Changes\n\n- [`22935470`](https://github.com/emotion-js/emotion/commit/2293547000ce78d044d054d17564f6c2aa670687) [#1588](https://github.com/emotion-js/emotion/pull/1588) Thanks [@FezVrasta](https://github.com/FezVrasta)! - `StyledComponent` Flow type is now polymorphic, that means you can now define the component prop types to get better type safety.\n\n* [`58dc08a6`](https://github.com/emotion-js/emotion/commit/58dc08a6a013fb5cfa10bb85e06e53a8ff7eeb51) [#1837](https://github.com/emotion-js/emotion/pull/1837) Thanks [@arcanis](https://github.com/arcanis)! - Fixed TS compatibility under [PnP](https://classic.yarnpkg.com/en/docs/pnp/) environments by making `@types/react` an optional peer dependency.\n\n- Updated dependencies [[`c672175b`](https://github.com/emotion-js/emotion/commit/c672175b52e86de43b3d4092a8fe34b2023ceae8), [`923ded01`](https://github.com/emotion-js/emotion/commit/923ded01e2399a242206d590f6646f13aba110e4), [`e3d7db87`](https://github.com/emotion-js/emotion/commit/e3d7db87deaac95817404760112417ac1fa1b56d), [`8a896a31`](https://github.com/emotion-js/emotion/commit/8a896a31434a1d2f69e1f1467c446c884c929387), [`c5b12d90`](https://github.com/emotion-js/emotion/commit/c5b12d90316477e95ce3680a3c745cde328a14c1), [`5e803106`](https://github.com/emotion-js/emotion/commit/5e803106d391b7c036bdf634318b80337a1d9b70), [`b8476e08`](https://github.com/emotion-js/emotion/commit/b8476e08af4a2e8de94a112cb0daf6e8e4d56fe1), [`debaad9a`](https://github.com/emotion-js/emotion/commit/debaad9ab4bd6c80312092826d9146f3d29c0899), [`0a4a22ff`](https://github.com/emotion-js/emotion/commit/0a4a22ffcfaa49d09a88856ef2d51e0d53e31b6d), [`5c55fd17`](https://github.com/emotion-js/emotion/commit/5c55fd17dcaec84d1f5d5d13ae90dd336d7e4403), [`b0ad4f0c`](https://github.com/emotion-js/emotion/commit/b0ad4f0c628813a42c4637857be9a969429db6f0), [`9e998e37`](https://github.com/emotion-js/emotion/commit/9e998e3755c217027ad1be0af4c64644fe14c6bf), [`c65c5d88`](https://github.com/emotion-js/emotion/commit/c65c5d887002d76557eaefcb98091d795b13f9a9), [`5c7ec859`](https://github.com/emotion-js/emotion/commit/5c7ec85904633a11185066fa591dc8969f3f2ff2), [`a085003d`](https://github.com/emotion-js/emotion/commit/a085003d4c8ca284c116668d7217fb747802ed85), [`c7850e61`](https://github.com/emotion-js/emotion/commit/c7850e61211d6aa26a3388399889a6072ee2f1fe), [`b7d21373`](https://github.com/emotion-js/emotion/commit/b7d21373d967d0f958dd59aaaa650047e23e8e8b), [`5d692a6a`](https://github.com/emotion-js/emotion/commit/5d692a6a8102b3faabefb773dd0145b123668a07), [`c5b12d90`](https://github.com/emotion-js/emotion/commit/c5b12d90316477e95ce3680a3c745cde328a14c1), [`c6431074`](https://github.com/emotion-js/emotion/commit/c6431074cf52a4bb64587c86ce5d42fe2d49230b), [`828111cd`](https://github.com/emotion-js/emotion/commit/828111cd32d3fe8c984231201e518d1b6000bffd), [`9e998e37`](https://github.com/emotion-js/emotion/commit/9e998e3755c217027ad1be0af4c64644fe14c6bf), [`69446cb5`](https://github.com/emotion-js/emotion/commit/69446cb5bfb644beb877a1edb00ee46c014636d5)]:\n  - @emotion/babel-plugin@11.0.0\n  - @emotion/is-prop-valid@1.0.0\n  - @emotion/serialize@1.0.0\n  - @emotion/utils@1.0.0\n\n## 11.0.0-rc.0\n\n### Major Changes\n\n- [`9c4ebc16`](https://github.com/emotion-js/emotion/commit/9c4ebc160471097c5d04fb92dba3ed0df870bb63) [#2030](https://github.com/emotion-js/emotion/pull/2030) Thanks [@Andarist](https://github.com/Andarist)! - Release candidate version.\n\n### Patch Changes\n\n- Updated dependencies [[`9c4ebc16`](https://github.com/emotion-js/emotion/commit/9c4ebc160471097c5d04fb92dba3ed0df870bb63), [`69446cb5`](https://github.com/emotion-js/emotion/commit/69446cb5bfb644beb877a1edb00ee46c014636d5)]:\n  - @emotion/babel-plugin@11.0.0-rc.0\n  - @emotion/is-prop-valid@1.0.0-rc.0\n  - @emotion/react@11.0.0-rc.0\n  - @emotion/serialize@1.0.0-rc.0\n  - @emotion/utils@1.0.0-rc.0\n\n## 11.0.0-next.19\n\n### Patch Changes\n\n- Updated dependencies []:\n  - @emotion/react@11.0.0-next.19\n\n## 11.0.0-next.17\n\n### Patch Changes\n\n- Updated dependencies [[`76e3dc4d`](https://github.com/emotion-js/emotion/commit/76e3dc4dd3e76423aa5d527b3e66fe3be1722e5a)]:\n  - @emotion/serialize@1.0.0-next.5\n  - @emotion/babel-plugin@11.0.0-next.17\n  - @emotion/react@11.0.0-next.17\n\n## 11.0.0-next.16\n\n### Minor Changes\n\n- [`18c0d5f4`](https://github.com/emotion-js/emotion/commit/18c0d5f4fbe59545c335eab2e0a28d414db33a36) [#1668](https://github.com/emotion-js/emotion/pull/1668) Thanks [@animecyc](https://github.com/animecyc)! - Custom `shouldForwardProp` is being preserved now when using `.withComponent`. Also, when passing an additional `shouldForwardProp` in `.withComponent`'s options (like this: `SomeComponent.withComponent('span', { shouldForwardProp })`) it's being composed with the potentially existing `shouldForwardProp`.\n\n### Patch Changes\n\n- [`23faf9ef`](https://github.com/emotion-js/emotion/commit/23faf9ef76f31064ca642bcb36300d04c6fa65e4) [#1996](https://github.com/emotion-js/emotion/pull/1996) Thanks [@Andarist](https://github.com/Andarist)! - Fixed an issue with wrapped class components not having a type for the `ref` prop.\n\n* [`0895f1f3`](https://github.com/emotion-js/emotion/commit/0895f1f3c0f428a2dedc501028068fedf6e6c45e) [#1995](https://github.com/emotion-js/emotion/pull/1995) Thanks [@Andarist](https://github.com/Andarist)! - Fixed an issue with typing for the `as` prop not being provided to components created using component factories available on the `styled` factory (e.g. `styled.div`).\n\n* Updated dependencies [[`debaad9a`](https://github.com/emotion-js/emotion/commit/debaad9ab4bd6c80312092826d9146f3d29c0899), [`58b2bbca`](https://github.com/emotion-js/emotion/commit/58b2bbcad63f8ea22389ccdc2a8f6c5064984e82)]:\n  - @emotion/utils@1.0.0-next.1\n  - @emotion/react@11.0.0-next.16\n  - @emotion/serialize@0.11.15-next.4\n  - @emotion/babel-plugin@11.0.0-next.16\n\n## 11.0.0-next.15\n\n### Minor Changes\n\n- [`5d692a6a`](https://github.com/emotion-js/emotion/commit/5d692a6a8102b3faabefb773dd0145b123668a07) [#1956](https://github.com/emotion-js/emotion/pull/1956) Thanks [@eps1lon](https://github.com/eps1lon)! - Upgraded [`csstype`](https://www.npmjs.com/package/csstype) dependency to its v3. This is what we use to provide TypeScript typings for object styles. The upgrade should not affect any consuming code but it's worth mentioning if any edge case scenarios arise.\n\n### Patch Changes\n\n- Updated dependencies [[`5d692a6a`](https://github.com/emotion-js/emotion/commit/5d692a6a8102b3faabefb773dd0145b123668a07)]:\n  - @emotion/react@11.0.0-next.15\n  - @emotion/serialize@1.0.0-next.3\n  - @emotion/babel-plugin@11.0.0-next.15\n\n## 11.0.0-next.14\n\n### Minor Changes\n\n- [`4d3b60d0`](https://github.com/emotion-js/emotion/commit/4d3b60d0d448a61d762ee150e6cb7a2c995ccc2f) [#1874](https://github.com/emotion-js/emotion/pull/1874) Thanks [@connor-baer](https://github.com/connor-baer)! - Added basic TS type support for `as` prop on styled components. It's possible to pass any component to it but it has no effect on other accepted props. This means that it's not 100% type-safe so use it sparingly and with care.\n\n### Patch Changes\n\n- [`58dc08a6`](https://github.com/emotion-js/emotion/commit/58dc08a6a013fb5cfa10bb85e06e53a8ff7eeb51) [#1837](https://github.com/emotion-js/emotion/pull/1837) Thanks [@arcanis](https://github.com/arcanis)! - Fixed TS compatibility under [PnP](https://classic.yarnpkg.com/en/docs/pnp/) environments by making `@types/react` an optional peer dependency.\n\n- Updated dependencies [[`58dc08a6`](https://github.com/emotion-js/emotion/commit/58dc08a6a013fb5cfa10bb85e06e53a8ff7eeb51), [`f57a7229`](https://github.com/emotion-js/emotion/commit/f57a72299cd4025a725bd5bd1b966a8f9df16cd8)]:\n  - @emotion/react@11.0.0-next.14\n\n## 11.0.0-next.13\n\n### Major Changes\n\n- [`9e998e37`](https://github.com/emotion-js/emotion/commit/9e998e3755c217027ad1be0af4c64644fe14c6bf) [#1817](https://github.com/emotion-js/emotion/pull/1817) Thanks [@Andarist](https://github.com/Andarist)! - The parser we use ([Stylis](https://github.com/thysultan/stylis.js)) got upgraded. It fixes some long-standing parsing edge cases while being smaller and faster 🚀\n\n  It has been completely rewritten and comes with some breaking changes. Most notable ones that might affect Emotion users are:\n\n  - plugins written for the former Stylis v3 are not compatible with the new version. To learn more on how to write a plugin for Stylis v4 you can check out its [README](https://github.com/thysultan/stylis.js#middleware) and the source code of core plugins.\n  - vendor-prefixing was previously customizable using `prefix` option. This was always limited to turning off all of some of the prefixes as all available prefixes were on by default. The `prefix` option is gone and to customize which prefixes are applied you need to fork (copy-paste) the prefixer plugin and adjust it to your needs. While this being somewhat more problematic to setup at first we believe that the vast majority of users were not customizing this anyway. By not including the possibility to customize this through an extra option the final solution is more performant because there is no extra overhead of checking if a particular property should be prefixed or not.\n  - Prefixer is now just a plugin which happens to be put in default `stylisPlugins`. If you plan to use custom `stylisPlugins` and you want to have your styles prefixed automatically you must include prefixer in your custom `stylisPlugins`. You can import `prefixer` from the `stylis` module to do that.\n  - `@import` rules are no longer special-cased. The responsibility to put them first has been moved to the author of the styles. They also can't be nested within other rules now. It's only possible to write them at the top level of global styles.\n\n### Patch Changes\n\n- Updated dependencies [[`5e803106`](https://github.com/emotion-js/emotion/commit/5e803106d391b7c036bdf634318b80337a1d9b70), [`9e998e37`](https://github.com/emotion-js/emotion/commit/9e998e3755c217027ad1be0af4c64644fe14c6bf), [`9e998e37`](https://github.com/emotion-js/emotion/commit/9e998e3755c217027ad1be0af4c64644fe14c6bf), [`9e998e37`](https://github.com/emotion-js/emotion/commit/9e998e3755c217027ad1be0af4c64644fe14c6bf)]:\n  - @emotion/babel-plugin@11.0.0-next.13\n  - @emotion/react@11.0.0-next.13\n  - @emotion/utils@1.0.0-next.0\n  - @emotion/serialize@0.11.15-next.2\n\n## 11.0.0-next.12\n\n### Major Changes\n\n- [`105de5c8`](https://github.com/emotion-js/emotion/commit/105de5c8752be0983c000e1e26462dc8fcf0708d) [#1572](https://github.com/emotion-js/emotion/pull/1572) Thanks [@Andarist](https://github.com/Andarist)! - `[data-emotion]` attribute on SSRed styled has changed. You should never rely on it though.\n\n### Patch Changes\n\n- Updated dependencies [[`7dea6d7a`](https://github.com/emotion-js/emotion/commit/7dea6d7a9a87f00cf9b695b58a2f65b67e17fabd), [`e3d7db87`](https://github.com/emotion-js/emotion/commit/e3d7db87deaac95817404760112417ac1fa1b56d), [`105de5c8`](https://github.com/emotion-js/emotion/commit/105de5c8752be0983c000e1e26462dc8fcf0708d), [`5c7ec859`](https://github.com/emotion-js/emotion/commit/5c7ec85904633a11185066fa591dc8969f3f2ff2), [`be2eb614`](https://github.com/emotion-js/emotion/commit/be2eb614d2bc369a382dbc6aa347f66801605f3b), [`75e2f9e1`](https://github.com/emotion-js/emotion/commit/75e2f9e1848bc0161f8db3c663438ada3042ae66), [`e3d7db87`](https://github.com/emotion-js/emotion/commit/e3d7db87deaac95817404760112417ac1fa1b56d)]:\n  - @emotion/react@11.0.0-next.12\n  - @emotion/serialize@1.0.0-next.1\n  - @emotion/babel-plugin@11.0.0-next.12\n\n## 11.0.0-next.11\n\n### Patch Changes\n\n- [`b79781f8`](https://github.com/emotion-js/emotion/commit/b79781f81ccf100e83f533e2edb641816f85e5e1) [#1708](https://github.com/emotion-js/emotion/pull/1708) Thanks [@fabien0102](https://github.com/fabien0102)! - Fix `props.theme` type in styled component interpolation being optional (`Theme | undefined`) for components without `AdditionalProps` being specified.\n- Updated dependencies [[`f08ef5a3`](https://github.com/emotion-js/emotion/commit/f08ef5a316c1d05bff8e7f3690781e1089a263c6)]:\n  - @emotion/serialize@0.11.15-next.4\n  - @emotion/babel-plugin@11.0.0-next.11\n  - @emotion/react@11.0.0-next.11\n\n## 11.0.0-next.10\n\n### Patch Changes\n\n- [`2fa7a213`](https://github.com/emotion-js/emotion/commit/2fa7a213222fc2bb99ca0a01078148f1a1c6458d) [#1572](https://github.com/emotion-js/emotion/pull/1572) Thanks [@Andarist](https://github.com/Andarist)! - Remove `StyleProps` type parameter from `CreateStyledComponent` - it's no longer needed.\n- Updated dependencies [[`b8476e08`](https://github.com/emotion-js/emotion/commit/b8476e08af4a2e8de94a112cb0daf6e8e4d56fe1), [`b8476e08`](https://github.com/emotion-js/emotion/commit/b8476e08af4a2e8de94a112cb0daf6e8e4d56fe1), [`c7850e61`](https://github.com/emotion-js/emotion/commit/c7850e61211d6aa26a3388399889a6072ee2f1fe), [`affed3dd`](https://github.com/emotion-js/emotion/commit/affed3ddf03671835356632f26a064f59811852f), [`d62d9101`](https://github.com/emotion-js/emotion/commit/d62d9101bc75e6bc9644ae588d2a6e4bf4d69285)]:\n  - @emotion/babel-plugin@11.0.0-next.10\n  - @emotion/react@11.0.0-next.10\n\n## 11.0.0-next.9\n\n### Patch Changes\n\n- [`8b59959`](https://github.com/emotion-js/emotion/commit/8b59959f0929799f050089b05cafb39ca2c57d2d) [#1659](https://github.com/emotion-js/emotion/pull/1659) Thanks [@Andarist](https://github.com/Andarist)! - Fixed issue when using \"component as selector\" in styled interpolations which caused the wrong type to be inferred.\n- Updated dependencies []:\n  - @emotion/core@11.0.0-next.9\n\n## 11.0.0-next.8\n\n### Major Changes\n\n- [`c643107`](https://github.com/emotion-js/emotion/commit/c6431074cf52a4bb64587c86ce5d42fe2d49230b) [#1609](https://github.com/emotion-js/emotion/pull/1609) Thanks [@joltmode](https://github.com/joltmode)! - Reworked TypeScript definitions so it's easier to provide a type for Theme. Instead of creating custom instances (like before) you can augment builtin Theme interface like this:\n\n  ```ts\n  declare module '@emotion/core' {\n    export interface Theme {\n      primaryColor: string\n      secondaryColor: string\n    }\n  }\n  ```\n\n### Patch Changes\n\n- Updated dependencies [[`c643107`](https://github.com/emotion-js/emotion/commit/c6431074cf52a4bb64587c86ce5d42fe2d49230b), [`c643107`](https://github.com/emotion-js/emotion/commit/c6431074cf52a4bb64587c86ce5d42fe2d49230b), [`c643107`](https://github.com/emotion-js/emotion/commit/c6431074cf52a4bb64587c86ce5d42fe2d49230b), [`c643107`](https://github.com/emotion-js/emotion/commit/c6431074cf52a4bb64587c86ce5d42fe2d49230b)]:\n  - babel-plugin-emotion@11.0.0-next.8\n  - @emotion/core@11.0.0-next.8\n  - @emotion/serialize@0.12.0-next.3\n\n## 11.0.0-next.7\n\n### Patch Changes\n\n- Updated dependencies [[`5c55fd17`](https://github.com/emotion-js/emotion/commit/5c55fd17dcaec84d1f5d5d13ae90dd336d7e4403), [`729ef9d8`](https://github.com/emotion-js/emotion/commit/729ef9d8408af82c7a63effc1b8728f79c66bed1)]:\n  - @emotion/core@11.0.0-next.7\n  - @emotion/serialize@0.11.15-next.2\n\n## 11.0.0-next.6\n\n### Patch Changes\n\n- [`923ded01`](https://github.com/emotion-js/emotion/commit/923ded01e2399a242206d590f6646f13aba110e4) [#1643](https://github.com/emotion-js/emotion/pull/1643) Thanks [@JakeGinnivan](https://github.com/JakeGinnivan)! - Relaxed types for `shouldForwardProp` as it needs to be able to filter props for a generic argument of the resulting function.\n- Updated dependencies [[`923ded01`](https://github.com/emotion-js/emotion/commit/923ded01e2399a242206d590f6646f13aba110e4), [`0a4a22ff`](https://github.com/emotion-js/emotion/commit/0a4a22ffcfaa49d09a88856ef2d51e0d53e31b6d), [`828111cd`](https://github.com/emotion-js/emotion/commit/828111cd32d3fe8c984231201e518d1b6000bffd), [`843bfb11`](https://github.com/emotion-js/emotion/commit/843bfb1153ee0dbe33d005fdd5c5be185daa5c41), [`828111cd`](https://github.com/emotion-js/emotion/commit/828111cd32d3fe8c984231201e518d1b6000bffd), [`cbb8b796`](https://github.com/emotion-js/emotion/commit/cbb8b7965c2923cf1922d724de556374323bff61)]:\n  - @emotion/is-prop-valid@0.9.0-next.1\n  - babel-plugin-emotion@11.0.0-next.6\n  - @emotion/core@11.0.0-next.6\n\n## 11.0.0-next.5\n\n### Minor Changes\n\n- [`ad77ed24`](https://github.com/emotion-js/emotion/commit/ad77ed24b4bfe62d6c80f0498cd7e76863e2f28e) [#1624](https://github.com/emotion-js/emotion/pull/1624) Thanks [@JakeGinnivan](https://github.com/JakeGinnivan)! - Added `CreateStyled` overload to handle when `shouldForwardProp` is a custom type guard for intrinsic props.\n\n  As an example, if you want to override the type of the `color` prop:\n\n  ```ts\n  export const Box = styled('div', {\n    shouldForwardProp: (\n      propName\n    ): propName is Exclude<keyof JSX.IntrinsicElements['div'], 'color'> =>\n      propName !== 'color'\n  })<{ color: Array<string> }>(props => ({\n    color: props.color[0]\n  }))\n  ;<Box color={['green']} />\n  ```\n\n### Patch Changes\n\n- [`99c6b7e2`](https://github.com/emotion-js/emotion/commit/99c6b7e2f65fb7eddb2863b393e2110dbc4810d8) [#1632](https://github.com/emotion-js/emotion/pull/1632) Thanks [@JakeGinnivan](https://github.com/JakeGinnivan)! - Fix issue with one of TypeScript overloads for `styled`. It pass `StyleProps` to `Interpolation` correctly now.\n- Updated dependencies []:\n  - @emotion/core@11.0.0-next.5\n\n## 11.0.0-next.4\n\n### Patch Changes\n\n- [`e6e079c3`](https://github.com/emotion-js/emotion/commit/e6e079c35074f027ac0586792e4f19595ac18c55) [#1627](https://github.com/emotion-js/emotion/pull/1627) Thanks [@frankwallis](https://github.com/frankwallis)! - Fix for TypeScript error when importing `@emotion/styled/base` in combination with `isolatedModules` option.\n- Updated dependencies [[`c65c5d88`](https://github.com/emotion-js/emotion/commit/c65c5d887002d76557eaefcb98091d795b13f9a9)]:\n  - babel-plugin-emotion@11.0.0-next.4\n  - @emotion/core@11.0.0-next.4\n\n## 11.0.0-next.3\n\n### Major Changes\n\n- [`f9feab1a`](https://github.com/emotion-js/emotion/commit/f9feab1a5d1ca88e53c3f7a063be5d5871cc93e8) [#1575](https://github.com/emotion-js/emotion/pull/1575) Thanks [@emmatown](https://github.com/emmatown)! - Removed support for `@emotion/styled-base` package. It has been moved to `@emotion/styled` and is available as `@emotion/styled/base`. This simplifies how the regular and base versions relate to each other and eliminates problems with stricter package managers when `@emotion/styled-base` was not installed explicitly by a user.\n\n### Patch Changes\n\n- Updated dependencies [[`8a896a31`](https://github.com/emotion-js/emotion/commit/8a896a31434a1d2f69e1f1467c446c884c929387), [`c5b12d90`](https://github.com/emotion-js/emotion/commit/c5b12d90316477e95ce3680a3c745cde328a14c1), [`c5b12d90`](https://github.com/emotion-js/emotion/commit/c5b12d90316477e95ce3680a3c745cde328a14c1), [`a085003d`](https://github.com/emotion-js/emotion/commit/a085003d4c8ca284c116668d7217fb747802ed85), [`f9feab1a`](https://github.com/emotion-js/emotion/commit/f9feab1a5d1ca88e53c3f7a063be5d5871cc93e8), [`c5b12d90`](https://github.com/emotion-js/emotion/commit/c5b12d90316477e95ce3680a3c745cde328a14c1)]:\n  - @emotion/serialize@0.11.15-next.1\n  - babel-plugin-emotion@11.0.0-next.3\n  - @emotion/core@11.0.0-next.3\n  - @emotion/is-prop-valid@0.8.6-next.0\n\n## 11.0.0-next.2\n\n### Major Changes\n\n- [`79036056`](https://github.com/emotion-js/emotion/commit/79036056808eefc81a77225254f7c25c2ff9d967) [#967](https://github.com/emotion-js/emotion/pull/967) Thanks [@emmatown](https://github.com/emmatown)! - Remove support for deprecated `innerRef` prop\n\n* [`79036056`](https://github.com/emotion-js/emotion/commit/79036056808eefc81a77225254f7c25c2ff9d967) [#967](https://github.com/emotion-js/emotion/pull/967) Thanks [@emmatown](https://github.com/emmatown)! - Use hooks internally for improved bundle size and a better tree in React DevTools\n\n### Patch Changes\n\n- Updated dependencies [[`79036056`](https://github.com/emotion-js/emotion/commit/79036056808eefc81a77225254f7c25c2ff9d967), [`79036056`](https://github.com/emotion-js/emotion/commit/79036056808eefc81a77225254f7c25c2ff9d967)]:\n  - @emotion/styled-base@11.0.0-next.2\n  - @emotion/core@11.0.0-next.2\n\n## 11.0.0-next.1\n\n### Major Changes\n\n- [`a72e6dc0`](https://github.com/emotion-js/emotion/commit/a72e6dc0f326b7d3d6067698d433018ee8c4cbf1) [#1501](https://github.com/emotion-js/emotion/pull/1501) Thanks [@JakeGinnivan](https://github.com/JakeGinnivan)! - TypeScript types have been restructured. These changes:\n\n  - Reduce build times when using emotion\n  - In many cases remove the need for manually specifying generic parameters for your emotion components.\n\n  If you encounter build issues after upgrade, try removing any manually specified generic types and let them be inferred. Otherwise refer to the breaking changes list below.\n\n  ## Improvements\n\n  - useTheme added to EmotionTheming interface and can now create your own closed variation of withTheme. More information in the docs under the theming section.\n  - Union types as props are better supported and should be inferred properly\n  - Build times should be reduced significantly in larger projects.\n\n  ## Breaking changes\n\n  - withTheme can now have the Theme type specified when calling it. For example `withTheme<MyTheme>(MyComponent)`\n\n    **Breaking change:** Generic argument changed, if you were specifying the ComponentType you will need to remove the generic parameter. Recommend following example setup in the TypeScript docs under theming section\n\n  - `css` function has been restricted to prevent passing of invalid types\n  - `CreateStyled` functions no longer take a second `ExtraProps` argument. Instead move it to after the create styled call. For example\n\n    `styled<typeof MyComponent, ExtraProps>(MyComponent)({})`\n    to\n    `styled(MyComponent)<ExtraProps>({})`\n\n  - `StyledComponent` type no longer supports the third generic `Theme` parameter. Instead add the `theme` prop to the first `Props` argument. For example:\n\n    `StyledComponent<Props, {}, MyTheme>`\n    to\n    `StyledComponent<Props & { theme?: MyTheme }>`\n\n### Patch Changes\n\n- [`22935470`](https://github.com/emotion-js/emotion/commit/2293547000ce78d044d054d17564f6c2aa670687) [#1588](https://github.com/emotion-js/emotion/pull/1588) Thanks [@FezVrasta](https://github.com/FezVrasta)! - StyledComponent Flow type is now polymorphic, that means you can now define the component prop types to get better type safety.\n- Updated dependencies [[`1eaa3a38`](https://github.com/emotion-js/emotion/commit/1eaa3a389876d4a623ce66735dc6db093cb2a8e6), [`22935470`](https://github.com/emotion-js/emotion/commit/2293547000ce78d044d054d17564f6c2aa670687)]:\n  - @emotion/styled-base@11.0.0-next.1\n  - babel-plugin-emotion@11.0.0-next.1\n  - @emotion/core@11.0.0-next.1\n\n## 11.0.0-next.0\n\n### Major Changes\n\n- [`302bdba1`](https://github.com/emotion-js/emotion/commit/302bdba1a6b793484c09edeb668815c5e31ea555) [#1600](https://github.com/emotion-js/emotion/pull/1600) Thanks [@emmatown](https://github.com/emmatown)! - Ensure packages are major bumped so that pre-release versions of the linked packages are consistent in the major number\n\n### Patch Changes\n\n- Updated dependencies [[`b0ad4f0c`](https://github.com/emotion-js/emotion/commit/b0ad4f0c628813a42c4637857be9a969429db6f0), [`302bdba1`](https://github.com/emotion-js/emotion/commit/302bdba1a6b793484c09edeb668815c5e31ea555)]:\n  - babel-plugin-emotion@11.0.0-next.0\n  - @emotion/core@11.0.0-next.0\n  - @emotion/styled-base@11.0.0-next.0\n\n## 10.0.31\n\n### Patch Changes\n\n- [`ef7794f`](https://github.com/emotion-js/emotion/commit/ef7794f50a1ef9790ea6ebe530b6fd8e0b7b0942) [#1788](https://github.com/emotion-js/emotion/pull/1788) Thanks [@aaronjensen](https://github.com/aaronjensen)! - Fixed issue with TypeScript 3.8 where `theme` was inferred to be required for a styled component.\n\n## 10.0.30\n\n### Patch Changes\n\n- Updated dependencies [[`babbbe3`](https://github.com/emotion-js/emotion/commit/babbbe36844f26f6d7041f1d3aeb47d5dfb08d8a)]:\n  - @emotion/is-prop-valid@0.8.8\n\n## 10.0.28\n\n### Patch Changes\n\n- Updated dependencies [[`12141c5`](https://github.com/emotion-js/emotion/commit/12141c54318c0738b60bf755e033cf6e12238a02), [`d0b2a94`](https://github.com/emotion-js/emotion/commit/d0b2a94ab9d5648667447dbd78e7a2e3e93de42a)]:\n  - @emotion/is-prop-valid@0.8.7\n  - @emotion/core@10.0.28\n\n## 10.0.27\n\n### Patch Changes\n\n- [`4c62ae9`](https://github.com/emotion-js/emotion/commit/4c62ae9447959d438928e1a26f76f1487983c968) [#1698](https://github.com/emotion-js/emotion/pull/1698) Thanks [@Andarist](https://github.com/Andarist)! - Add LICENSE file\n- Updated dependencies [[`4c62ae9`](https://github.com/emotion-js/emotion/commit/4c62ae9447959d438928e1a26f76f1487983c968)]:\n  - babel-plugin-emotion@10.0.27\n  - @emotion/core@10.0.27\n  - @emotion/styled-base@10.0.27\n\n## 10.0.23\n\n### Patch Changes\n\n- [`97673098`](https://github.com/emotion-js/emotion/commit/97673098945a75b716d4cac100c1af46a5ae18f2) [#1570](https://github.com/emotion-js/emotion/pull/1570) Thanks [@FezVrasta](https://github.com/FezVrasta)! - Fixed package's Flow types\n\n- Updated dependencies [[`3927293d`](https://github.com/emotion-js/emotion/commit/3927293d0b9d96b4a7c00196e8430728759b1161), [`97673098`](https://github.com/emotion-js/emotion/commit/97673098945a75b716d4cac100c1af46a5ae18f2), [`b3a0f148`](https://github.com/emotion-js/emotion/commit/b3a0f1484f2efcc78b447639ff2e0bc0f29915ae)]:\n  - babel-plugin-emotion@10.0.23\n  - @emotion/styled-base@10.0.23\n\n## 10.0.22\n\n### Patch Changes\n\n- [`10211951`](https://github.com/emotion-js/emotion/commit/10211951051729b149930a8646de14bae9ae1bbc) [#1553](https://github.com/emotion-js/emotion/pull/1553) Thanks [@Andarist](https://github.com/Andarist)! - Add dev warning about keyframes being interpolated into plain strings.\n\n* [`57a767ea`](https://github.com/emotion-js/emotion/commit/57a767ea3dd18eefbbdc7269cc13128caad65286) [#1560](https://github.com/emotion-js/emotion/pull/1560) Thanks [@Andarist](https://github.com/Andarist)! - Fix composition of styles without a final semicolon in a declaration block\n\n- [`c3f0bc10`](https://github.com/emotion-js/emotion/commit/c3f0bc101833fff1ee4e27c7a730b821a7df4a15) [#1545](https://github.com/emotion-js/emotion/pull/1545) Thanks [@jgroszko](https://github.com/jgroszko)! - Accept objects as `className` in styled components (they are stringified) to match React behavior\n\n* [`11bea3a8`](https://github.com/emotion-js/emotion/commit/11bea3a89f38f9052c692c3df050ad802b6b954c) [#1562](https://github.com/emotion-js/emotion/pull/1562) Thanks [@FezVrasta](https://github.com/FezVrasta)! - Export Flow type definitions for @emotion/styled/macro and @emotion/css/macro\n\n* Updated dependencies [[`4fc5657a`](https://github.com/emotion-js/emotion/commit/4fc5657ac8d0002322321cfbfc254b7196d27387), [`2fc75f26`](https://github.com/emotion-js/emotion/commit/2fc75f266b23cf48fb842953bc47eebcb5241cbd), [`10211951`](https://github.com/emotion-js/emotion/commit/10211951051729b149930a8646de14bae9ae1bbc), [`57a767ea`](https://github.com/emotion-js/emotion/commit/57a767ea3dd18eefbbdc7269cc13128caad65286), [`1bb3efe3`](https://github.com/emotion-js/emotion/commit/1bb3efe399ddf0f3332187f3c751fbba9326d02c), [`c3f0bc10`](https://github.com/emotion-js/emotion/commit/c3f0bc101833fff1ee4e27c7a730b821a7df4a15)]:\n  - @emotion/core@10.0.22\n  - @emotion/styled-base@10.0.22\n  - babel-plugin-emotion@10.0.22\n\n## 10.0.17\n\n### Patch Changes\n\n- [66cda641](https://github.com/emotion-js/emotion/commit/66cda64128631790b81e3c9df273a972358ea593) [#1478](https://github.com/emotion-js/emotion/pull/1478) Thanks [@Andarist](https://github.com/Andarist)! - Add warnings about using illegal escape sequences\n\n## 10.0.15\n\n### Patch Changes\n\n- [8638c416](https://github.com/emotion-js/emotion/commit/8638c416) [#1421](https://github.com/emotion-js/emotion/pull/1421) Thanks [@Andarist](https://github.com/Andarist)! - TS: Disallow Theme parameter when it was already parametrized by using CustomStyled\n\n## 10.0.14\n\n### Patch Changes\n\n- [c0eb604d](https://github.com/emotion-js/emotion/commit/c0eb604d) [#1419](https://github.com/emotion-js/emotion/pull/1419) Thanks [@emmatown](https://github.com/emmatown)! - Update build tool\n\n## 10.0.12\n\n### Patch Changes\n\n- [f7238e7e](https://github.com/emotion-js/emotion/commit/f7238e7e) [#1364](https://github.com/emotion-js/emotion/pull/1364) Thanks [@arcanis](https://github.com/arcanis)! - Adds @emotion/core & react to the peer dependencies\n- [b849f66c](https://github.com/emotion-js/emotion/commit/b849f66c) [#1369](https://github.com/emotion-js/emotion/pull/1369) Thanks [@SavePointSam](https://github.com/SavePointSam)! - Exposed macro.d.ts\n\n## 10.0.11\n\n### Patch Changes\n\n- [595aa85](https://github.com/emotion-js/emotion/commit/595aa85) [#1315](https://github.com/emotion-js/emotion/pull/1344) Thanks [@lifeiscontent](https://github.com/lifeiscontent)! - Add macro.d.ts for @emotion/styled\n"
  },
  {
    "path": "packages/styled/LICENSE",
    "content": "MIT License\n\nCopyright (c) Emotion team and other contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "packages/styled/README.md",
    "content": "# @emotion/styled\n\n> The styled API for @emotion/react\n\n## Install\n\n```bash\nyarn add @emotion/react @emotion/styled\n```\n\n## Usage\n\n```jsx\nimport styled from '@emotion/styled'\n\nlet SomeComp = styled.div({\n  color: 'hotpink'\n})\n\nlet AnotherComp = styled.div`\n  color: ${props => props.color};\n`\n\nrender(\n  <SomeComp>\n    <AnotherComp color=\"green\" />\n  </SomeComp>\n)\n```\n\nMore documentation is available at [https://emotion.sh/docs/styled](https://emotion.sh/docs/styled).\n"
  },
  {
    "path": "packages/styled/__tests__/__snapshots__/edge-cases.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`nested function using css 1`] = `\n.emotion-0 {\n  color: blue;\n  border: 2px solid #000;\n  background-color: red;\n  padding: 30px;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`nested function using css and keyframes 1`] = `\n@keyframes animation-0 {\n  from, to {\n    color: green;\n  }\n\n  50% {\n    color: hotpink;\n  }\n}\n\n.emotion-0 {\n  -webkit-animation: animation-0;\n  animation: animation-0;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n"
  },
  {
    "path": "packages/styled/__tests__/__snapshots__/styled.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`styled basic render 1`] = `\n.emotion-0 {\n  color: blue;\n  font-size: 20px;\n}\n\n@media (min-width: 420px) {\n  .emotion-0 {\n    color: blue;\n  }\n}\n\n<h1\n  className=\"emotion-0\"\n>\n  hello world\n</h1>\n`;\n\nexports[`styled basic render with object as style 1`] = `\n.emotion-0 {\n  font-size: 20px;\n}\n\n<h1\n  className=\"emotion-0\"\n>\n  hello world\n</h1>\n`;\n\nexports[`styled call expression 1`] = `\n.emotion-0 {\n  font-size: 20px;\n}\n\n<div\n  className=\"emotion-0\"\n>\n  hello world\n</div>\n`;\n\nexports[`styled component selectors 1`] = `\n.emotion-0 {\n  color: green;\n}\n\n.emotion-0 .emotion-2 {\n  color: yellow;\n}\n\n.emotion-1 {\n  color: hotpink;\n}\n\n<div\n  className=\"emotion-0\"\n>\n  <div\n    className=\"emotion-1 emotion-2\"\n  />\n</div>\n`;\n\nexports[`styled composing components 1`] = `\n.emotion-0 {\n  color: green;\n  display: none;\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-pack: center;\n  -ms-flex-pack: center;\n  -webkit-justify-content: center;\n  justify-content: center;\n}\n\n<button\n  className=\"emotion-0\"\n>\n  hello world\n</button>\n`;\n\nexports[`styled composition 1`] = `\n.emotion-0 {\n  font-size: 20px;\n  font-size: 13.333333333333334px;\n}\n\n<h1\n  className=\"legacy__class emotion-0\"\n>\n  hello world\n</h1>\n`;\n\nexports[`styled composition 2`] = `\n.emotion-0 {\n  color: blue;\n  color: red;\n  color: blue;\n  font-size: 20px;\n  font-size: 32px;\n}\n\n<h1\n  className=\"legacy__class emotion-0\"\n  scale={2}\n>\n  hello world\n</h1>\n`;\n\nexports[`styled composition based on props 1`] = `\n.emotion-0 {\n  color: blue;\n}\n\n<h1\n  className=\"emotion-0\"\n>\n  hello world\n</h1>\n`;\n\nexports[`styled composition based on props 2`] = `\n.emotion-0 {\n  color: green;\n}\n\n<h1\n  className=\"emotion-0\"\n>\n  hello world\n</h1>\n`;\n\nexports[`styled composition of nested pseudo selectors 1`] = `\n.emotion-0 {\n  font-size: 2rem;\n  padding: 16px;\n}\n\n.emotion-0:hover {\n  color: blue;\n}\n\n.emotion-0:hover:active {\n  color: red;\n}\n\n.emotion-0:hover {\n  color: pink;\n}\n\n.emotion-0:hover:active {\n  color: purple;\n}\n\n.emotion-0:hover.some-class {\n  color: yellow;\n}\n\n<button\n  className=\"emotion-0\"\n>\n  Should be purple\n</button>\n`;\n\nexports[`styled function in expression 1`] = `\n.emotion-0 {\n  font-size: 20px;\n  font-size: 40px;\n}\n\n<h1\n  className=\"legacy__class emotion-0\"\n  scale={2}\n>\n  hello world\n</h1>\n`;\n\nexports[`styled glamorous style api & composition 1`] = `\n.emotion-0 {\n  font-size: 20px;\n  -webkit-flex: 1;\n  -ms-flex: 1;\n  flex: 1;\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n}\n\n<h1\n  className=\"emotion-0\"\n  fontSize={20}\n>\n  hello world\n</h1>\n`;\n\nexports[`styled handles more than 10 dynamic properties 1`] = `\n.emotion-0 {\n  -webkit-text-decoration: underline;\n  text-decoration: underline;\n  border-right: solid blue 54px;\n  background: white;\n  color: black;\n  display: block;\n  border-radius: 3px;\n  padding: 25px;\n  width: 500px;\n  z-index: 100;\n  font-size: 18px;\n  text-align: center;\n  border-left: blue;\n}\n\n<h1\n  className=\"legacy__class emotion-0\"\n>\n  hello world\n</h1>\n`;\n\nexports[`styled higher order component 1`] = `\n.emotion-0 {\n  font-size: 20px;\n  background-color: #7fc8d6;\n  background-color: '#343a40';\n  -webkit-flex-direction: column;\n  -ms-flex-direction: column;\n  flex-direction: column;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`styled inline function return value is a function 1`] = `\n.emotion-0 {\n  font-size: 20px;\n}\n\n<h1\n  className=\"emotion-0\"\n>\n  hello world\n</h1>\n`;\n\nexports[`styled input placeholder 1`] = `\n.emotion-0::-webkit-input-placeholder {\n  background-color: green;\n}\n\n.emotion-0::-moz-placeholder {\n  background-color: green;\n}\n\n.emotion-0:-ms-input-placeholder {\n  background-color: green;\n}\n\n.emotion-0::placeholder {\n  background-color: green;\n}\n\n<input\n  className=\"emotion-0\"\n>\n  hello world\n</input>\n`;\n\nexports[`styled input placeholder object 1`] = `\n.emotion-0::-webkit-input-placeholder {\n  background-color: green;\n}\n\n.emotion-0::-moz-placeholder {\n  background-color: green;\n}\n\n.emotion-0:-ms-input-placeholder {\n  background-color: green;\n}\n\n.emotion-0::placeholder {\n  background-color: green;\n}\n\n<input\n  className=\"emotion-0\"\n>\n  hello world\n</input>\n`;\n\nexports[`styled keyframes with css call 1`] = `\n@keyframes animation-0 {\n  from, to {\n    color: green;\n  }\n\n  50% {\n    color: hotpink;\n  }\n}\n\n.emotion-0 {\n  -webkit-animation: animation-0;\n  animation: animation-0;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`styled nested 1`] = `\n.emotion-0 {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n}\n\n.emotion-0 div {\n  color: green;\n}\n\n.emotion-0 div span {\n  color: red;\n}\n\n.emotion-1 {\n  font-size: 20px;\n}\n\n<div\n  className=\"emotion-0\"\n>\n  hello \n  <h1\n    className=\"emotion-1\"\n  >\n    This will be green\n  </h1>\n   world\n</div>\n`;\n\nexports[`styled no dynamic 1`] = `\n.emotion-0 {\n  float: left;\n}\n\n<h1\n  className=\"emotion-0\"\n>\n  hello world\n</h1>\n`;\n\nexports[`styled no prop filtering on non string tags 1`] = `\n.emotion-0 {\n  color: green;\n}\n\n<a\n  a={true}\n  aria-label=\"some label\"\n  b={true}\n  className=\"emotion-0\"\n  cool={true}\n  data-wow=\"value\"\n  filtering={true}\n  href=\"link\"\n  is={true}\n  prop={true}\n  wow={true}\n>\n  hello world\n</a>\n`;\n\nexports[`styled no prop filtering on string tags started with upper case 1`] = `\n.emotion-0 {\n  color: green;\n}\n\n<SomeCustomLink\n  a={true}\n  aria-label=\"some label\"\n  b={true}\n  className=\"emotion-0\"\n  cool={true}\n  data-wow=\"value\"\n  filtering={true}\n  href=\"link\"\n  is={true}\n  prop={true}\n  wow={true}\n>\n  hello world\n</SomeCustomLink>\n`;\n\nexports[`styled object as className 1`] = `\n<div\n  className=\"myclass emotion-0\"\n/>\n`;\n\nexports[`styled object as style 1`] = `\n.emotion-0 {\n  font-size: 20px;\n  -webkit-flex: 1;\n  -ms-flex: 1;\n  flex: 1;\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n}\n\n<h1\n  className=\"emotion-0\"\n  fontSize={20}\n>\n  hello world\n</h1>\n`;\n\nexports[`styled object composition 1`] = `\n.emotion-0 {\n  border-radius: 50%;\n  -webkit-transition: -webkit-transform 400ms ease-in-out;\n  transition: transform 400ms ease-in-out;\n  border: 3px solid currentColor;\n  width: 96px;\n  height: 96px;\n  color: red;\n  color: blue;\n}\n\n.emotion-0:hover {\n  -webkit-transform: scale(1.2);\n  -moz-transform: scale(1.2);\n  -ms-transform: scale(1.2);\n  transform: scale(1.2);\n}\n\n<img\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`styled objects 1`] = `\n.emotion-0 {\n  padding: 10px;\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n}\n\n<h1\n  className=\"emotion-0\"\n  display=\"flex\"\n>\n  hello world\n</h1>\n`;\n\nexports[`styled objects with spread properties 1`] = `\n.emotion-0 {\n  font-size: 20px;\n}\n\n<figure\n  className=\"emotion-0\"\n>\n  hello world\n</figure>\n`;\n\nexports[`styled prop filtering 1`] = `\n.emotion-0 {\n  color: green;\n}\n\n<a\n  aria-label=\"some label\"\n  className=\"emotion-0\"\n  data-wow=\"value\"\n  href=\"link\"\n  is={true}\n>\n  hello world\n</a>\n`;\n\nexports[`styled prop filtering on composed styled components that are string tags 1`] = `\n.emotion-0 {\n  background-color: hotpink;\n  color: green;\n}\n\n<a\n  aria-label=\"some label\"\n  className=\"emotion-0\"\n  data-wow=\"value\"\n  href=\"link\"\n  is={true}\n>\n  hello world\n</a>\n`;\n\nexports[`styled random expressions undefined return 1`] = `\n.emotion-0 {\n  color: green;\n}\n\n<h1\n  className=\"legacy__class emotion-0\"\n>\n  hello world\n</h1>\n`;\n\nexports[`styled random object expression 1`] = `\n.emotion-0 {\n  background-color: hotpink;\n  font-size: 1rem;\n  margin-top: 0;\n  margin-right: auto;\n  margin-bottom: 0;\n  margin-left: auto;\n  color: green;\n}\n\n<h1\n  className=\"legacy__class emotion-0\"\n>\n  hello world\n</h1>\n`;\n\nexports[`styled same component rendered multiple times 1`] = `\n.emotion-0 {\n  color: green;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`styled same component rendered multiple times 2`] = `\n.emotion-0 {\n  color: green;\n}\n\n<div\n  className=\"emotion-0\"\n>\n  <div\n    className=\"emotion-0\"\n  />\n  <div\n    className=\"emotion-0\"\n  />\n</div>\n`;\n\nexports[`styled theming 1`] = `\n.emotion-0 {\n  color: hotpink;\n}\n\n<div\n  className=\"emotion-0\"\n>\n  this should be hotpink\n</div>\n`;\n\nexports[`styled throws if undefined is passed as the component 1`] = `\n\"You are trying to create a styled element with an undefined component.\nYou may have forgotten to import it.\"\n`;\n\nexports[`styled with higher order component that hoists statics 1`] = `\n.emotion-0 {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  color: hotpink;\n  padding: 8px;\n}\n\n<div\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`styled withComponent does carry styles from flattened component 1`] = `\n.emotion-0 {\n  color: green;\n  color: hotpink;\n}\n\n<p\n  className=\"emotion-0\"\n/>\n`;\n\nexports[`styled withComponent will replace tags but keep styling classes 1`] = `\n.emotion-0 {\n  color: green;\n}\n\n<article>\n  <h1\n    className=\"emotion-0\"\n  >\n    My Title\n  </h1>\n  <h2\n    className=\"emotion-0\"\n  >\n    My Subtitle\n  </h2>\n</article>\n`;\n\nexports[`styled withComponent with function interpolation 1`] = `\n.emotion-0 {\n  color: green;\n}\n\n<article>\n  <h1\n    className=\"emotion-0\"\n  >\n    My Title\n  </h1>\n  <h2\n    className=\"emotion-0\"\n  >\n    My Subtitle\n  </h2>\n</article>\n`;\n"
  },
  {
    "path": "packages/styled/__tests__/as-prop.js",
    "content": "import 'test-utils/next-env'\nimport React from 'react'\nimport { render, cleanup } from '@testing-library/react'\nimport styled from '@emotion/styled'\n\nlet id = () => Math.random().toString(36)\n\nafterEach(cleanup)\n\ntest('string base - string as', () => {\n  const Title = styled('h1')`\n    color: green;\n  `\n\n  let h1Title = id()\n  let h2Title = id()\n\n  let { getByTestId } = render(\n    <article>\n      <Title data-testid={h1Title}>My Title</Title>\n      <Title data-testid={h2Title} as=\"h2\">\n        My Subtitle\n      </Title>\n    </article>\n  )\n\n  expect(getByTestId(h1Title).tagName).toBe('H1')\n  expect(getByTestId(h2Title).tagName).toBe('H2')\n})\n\ntest('styled string base - string as', () => {\n  const Title = styled('h1')`\n    color: green;\n  `\n\n  const Subtitle = styled(Title)`\n    font-weight: 100;\n  `\n\n  let h1Title = id()\n  let h1Subtitle = id()\n  let h3Subtitle = id()\n\n  let { getByTestId } = render(\n    <article>\n      <Title data-testid={h1Title}>My Title</Title>\n      <Subtitle data-testid={h1Subtitle}>My Subtitle</Subtitle>\n      <Subtitle data-testid={h3Subtitle} as=\"h3\">\n        My smaller Subtitle\n      </Subtitle>\n    </article>\n  )\n\n  expect(getByTestId(h1Title).tagName).toBe('H1')\n  expect(getByTestId(h1Subtitle).tagName).toBe('H1')\n  expect(getByTestId(h3Subtitle).tagName).toBe('H3')\n})\n\ntest('composite base - string as', () => {\n  const Title = styled(props => <h1 {...props} />)`\n    color: green;\n  `\n  let h1Title = id()\n  let h3Title = id()\n\n  let { getByTestId } = render(\n    <article>\n      <Title data-testid={h1Title}>My Title</Title>\n      <Title data-testid={h3Title} as=\"h3\">\n        My Subtitle\n      </Title>\n    </article>\n  )\n\n  expect(getByTestId(h1Title).tagName).toBe('H1')\n  expect(getByTestId(h3Title).tagName).toBe('H1')\n  expect(getByTestId(h3Title).getAttribute('as')).toBe('h3')\n})\n\ntest('forward as - string base', () => {\n  const Title = styled('h1', {\n    shouldForwardProp: prop => prop !== 'theme'\n  })`\n    color: green;\n  `\n\n  let h1Title = id()\n  let h1WithAsProp = id()\n\n  let { getByTestId } = render(\n    <article>\n      <Title data-testid={h1Title}>My Title</Title>\n      <Title data-testid={h1WithAsProp} as=\"h2\">\n        My Subtitle\n      </Title>\n    </article>\n  )\n\n  expect(getByTestId(h1Title).tagName).toBe('H1')\n  expect(getByTestId(h1WithAsProp).tagName).toBe('H1')\n  expect(getByTestId(h1WithAsProp).getAttribute('as')).toBe('h2')\n})\n\ntest('forward as - composite base', () => {\n  const Title = styled(props => <h1 {...props} />, {\n    shouldForwardProp: prop => prop !== 'theme'\n  })`\n    color: green;\n  `\n  let h1Title = id()\n  let h1WithAsProp = id()\n\n  let { getByTestId } = render(\n    <article>\n      <Title data-testid={h1Title}>My Title</Title>\n      <Title data-testid={h1WithAsProp} as=\"h2\">\n        My Subtitle\n      </Title>\n    </article>\n  )\n\n  expect(getByTestId(h1Title).tagName).toBe('H1')\n  expect(getByTestId(h1WithAsProp).tagName).toBe('H1')\n  expect(getByTestId(h1WithAsProp).getAttribute('as')).toBe('h2')\n})\n"
  },
  {
    "path": "packages/styled/__tests__/edge-cases.js",
    "content": "import 'test-utils/next-env'\nimport * as React from 'react'\nimport renderer from 'react-test-renderer'\nimport styled from '@emotion/styled'\nimport { css, keyframes } from '@emotion/react'\n\ntest('nested function using css', () => {\n  let Comp = styled.div`\n    color: blue;\n    border: 2px solid #000;\n    ${() => css`\n      background-color: red;\n    `};\n    padding: 30px;\n  `\n  const tree = renderer.create(<Comp />)\n\n  expect(tree.toJSON()).toMatchSnapshot()\n})\n\ntest('nested function using css and keyframes', () => {\n  let Comp = styled.div`\n    ${() => css`\n      animation: ${keyframes({\n        'from,to': { color: 'green' },\n        '50%': {\n          color: 'hotpink'\n        }\n      })};\n    `};\n  `\n  const tree = renderer.create(<Comp />)\n\n  expect(tree.toJSON()).toMatchSnapshot()\n})\n"
  },
  {
    "path": "packages/styled/__tests__/styled-dom.js",
    "content": "import * as React from 'react'\nimport styled from '@emotion/styled'\nimport { render, cleanup } from '@testing-library/react'\n\nafterEach(cleanup)\n\ntest('ref', () => {\n  const H1 = styled.h1`\n    font-size: 12px;\n  `\n  let node\n\n  render(\n    <H1\n      ref={val => {\n        node = val\n      }}\n      id=\"thing\"\n    >\n      hello world\n    </H1>\n  )\n  expect(node).toBe(document.getElementById('thing'))\n})\n"
  },
  {
    "path": "packages/styled/__tests__/styled.js",
    "content": "/** @jsx jsx */\nimport 'test-utils/next-env'\nimport renderer from 'react-test-renderer'\nimport hoistNonReactStatics from 'hoist-non-react-statics'\nimport styled from '@emotion/styled'\nimport { jsx, keyframes, css, ThemeProvider } from '@emotion/react'\n\ndescribe('styled', () => {\n  test('no dynamic', () => {\n    const H1 = styled.h1`\n      float: left;\n    `\n\n    const tree = renderer.create(<H1>hello world</H1>).toJSON()\n\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('basic render', () => {\n    const fontSize = 20\n    const H1 = styled.h1`\n      color: blue;\n      font-size: ${fontSize + 'px'};\n      @media (min-width: 420px) {\n        color: blue;\n      }\n    `\n\n    const tree = renderer.create(<H1>hello world</H1>).toJSON()\n\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('basic render with object as style', () => {\n    const fontSize = 20\n    const H1 = styled.h1({ fontSize })\n\n    const tree = renderer.create(<H1>hello world</H1>).toJSON()\n\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('object as style', () => {\n    const H1 = styled.h1(\n      props => ({\n        fontSize: props.fontSize\n      }),\n      props => ({ flex: props.flex }),\n      { display: 'flex' }\n    )\n\n    const tree = renderer\n      .create(\n        <H1 fontSize={20} flex={1}>\n          hello world\n        </H1>\n      )\n      .toJSON()\n\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('object as className', () => {\n    const myclass = { toString: () => 'myclass' }\n    const Comp = styled.div``\n\n    const tree = renderer.create(<Comp className={myclass} />).toJSON()\n\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('glamorous style api & composition', () => {\n    const H1 = styled.h1(props => ({ fontSize: props.fontSize }))\n    const H2 = styled(H1)(props => ({ flex: props.flex }), {\n      display: 'flex'\n    })\n\n    const tree = renderer\n      .create(\n        <H2 fontSize={20} flex={1}>\n          hello world\n        </H2>\n      )\n      .toJSON()\n\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('inline function return value is a function', () => {\n    const fontSize = () => 20\n    const Blue = styled('h1')`\n      font-size: ${() => fontSize}px;\n    `\n\n    const tree = renderer.create(<Blue>hello world</Blue>).toJSON()\n\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('call expression', () => {\n    const fontSize = 20\n    const Div = styled('div')`\n      font-size: ${fontSize}px;\n    `\n\n    const tree = renderer.create(<Div>hello world</Div>).toJSON()\n\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('nested', () => {\n    const fontSize = '20px'\n    const H1 = styled.h1`\n      font-size: ${fontSize};\n    `\n\n    const Thing = styled.div`\n      display: flex;\n      & div {\n        color: green;\n\n        & span {\n          color: red;\n        }\n      }\n    `\n\n    const tree = renderer\n      .create(\n        <Thing>\n          hello <H1>This will be green</H1> world\n        </Thing>\n      )\n      .toJSON()\n\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('random expressions undefined return', () => {\n    const H1 = styled('h1')`\n      ${props =>\n        props.prop &&\n        css`\n          font-size: 1rem;\n        `};\n      color: green;\n    `\n\n    const tree = renderer\n      .create(<H1 className={'legacy__class'}>hello world</H1>)\n      .toJSON()\n\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('random object expression', () => {\n    const margin = (t, r, b, l) => {\n      return props => ({\n        marginTop: t,\n        marginRight: r,\n        marginBottom: b,\n        marginLeft: l\n      })\n    }\n    const H1 = styled.h1`\n      background-color: hotpink;\n      ${props => props.prop && { fontSize: '1rem' }};\n      ${margin(0, 'auto', 0, 'auto')};\n      color: green;\n    `\n\n    const tree = renderer\n      .create(\n        <H1 className={'legacy__class'} prop>\n          hello world\n        </H1>\n      )\n      .toJSON()\n\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('composition', () => {\n    const fontSize = 20\n    const H1 = styled('h1')`\n      font-size: ${fontSize + 'px'};\n    `\n\n    const H2 = styled(H1)`\n      font-size: ${(fontSize * 2) / 3 + 'px'};\n    `\n\n    const tree = renderer\n      .create(<H2 className={'legacy__class'}>hello world</H2>)\n      .toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('input placeholder', () => {\n    const Input = styled.input`\n      ::placeholder {\n        background-color: green;\n      }\n    `\n    const tree = renderer.create(<Input>hello world</Input>).toJSON()\n\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('input placeholder object', () => {\n    const Input = styled('input')({\n      '::placeholder': {\n        backgroundColor: 'green'\n      }\n    })\n\n    const tree = renderer.create(<Input>hello world</Input>).toJSON()\n\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('object composition', () => {\n    const imageStyles = css({ width: 96, height: 96 })\n\n    css([{ color: 'blue' }])\n\n    const red = css([{ color: 'red' }])\n\n    const blue = css([red, { color: 'blue' }])\n\n    const prettyStyles = css([\n      {\n        borderRadius: '50%',\n        transition: 'transform 400ms ease-in-out',\n        ':hover': {\n          transform: 'scale(1.2)'\n        }\n      },\n      { border: '3px solid currentColor' }\n    ])\n\n    const Avatar = styled('img')`\n      ${prettyStyles};\n      ${imageStyles};\n      ${blue};\n    `\n\n    const tree = renderer.create(<Avatar />).toJSON()\n\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('handles more than 10 dynamic properties', () => {\n    const H1 = styled('h1')`\n      text-decoration: ${'underline'};\n      border-right: solid blue 54px;\n      background: ${'white'};\n      color: ${'black'};\n      display: ${'block'};\n      border-radius: ${'3px'};\n      padding: ${'25px'};\n      width: ${'500px'};\n      z-index: ${100};\n      font-size: ${'18px'};\n      text-align: ${'center'};\n      border-left: ${p => p.theme.blue};\n    `\n\n    const tree = renderer\n      .create(\n        <H1 className={'legacy__class'} theme={{ blue: 'blue' }}>\n          hello world\n        </H1>\n      )\n      .toJSON()\n\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('function in expression', () => {\n    const fontSize = 20\n    const H1 = styled('h1', { label: 'H1' })`\n      font-size: ${fontSize + 'px'};\n    `\n\n    const H2 = styled(H1)`\n      font-size: ${({ scale }) => fontSize * scale + 'px'};\n    `\n\n    const tree = renderer\n      .create(\n        <H2 scale={2} className={'legacy__class'}>\n          hello world\n        </H2>\n      )\n      .toJSON()\n\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('composition', () => {\n    const fontSize = '20px'\n\n    const cssA = css`\n      color: blue;\n    `\n\n    const cssB = css`\n      ${cssA};\n      color: red;\n    `\n\n    const BlueH1 = styled('h1')`\n      ${cssB};\n      color: blue;\n      font-size: ${fontSize};\n    `\n\n    const FinalH2 = styled(BlueH1)`\n      font-size: 32px;\n    `\n\n    const tree = renderer\n      .create(\n        <FinalH2 scale={2} className={'legacy__class'}>\n          hello world\n        </FinalH2>\n      )\n      .toJSON()\n\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('higher order component', () => {\n    const fontSize = 20\n    const Content = styled('div')`\n      font-size: ${fontSize}px;\n    `\n\n    const squirtleBlueBackground = css`\n      background-color: #7fc8d6;\n    `\n\n    const flexColumn = Component => {\n      const NewComponent = styled(Component)`\n        ${squirtleBlueBackground};\n        background-color: '#343a40';\n        flex-direction: column;\n      `\n\n      return NewComponent\n    }\n\n    const ColumnContent = flexColumn(Content)\n\n    const tree = renderer.create(<ColumnContent />).toJSON()\n\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('composition based on props', () => {\n    const cssA = css`\n      color: blue;\n    `\n\n    const cssB = css`\n      color: green;\n    `\n\n    const H1 = styled('h1')`\n      ${props => (props.a ? cssA : cssB)};\n    `\n\n    const tree = renderer.create(<H1 a>hello world</H1>).toJSON()\n\n    expect(tree).toMatchSnapshot()\n    const tree2 = renderer.create(<H1>hello world</H1>).toJSON()\n\n    expect(tree2).toMatchSnapshot()\n  })\n\n  test('composition of nested pseudo selectors', () => {\n    const defaultLinkStyles = {\n      '&:hover': {\n        color: 'blue',\n        '&:active': {\n          color: 'red'\n        }\n      }\n    }\n\n    const buttonStyles = () => ({\n      ...defaultLinkStyles,\n      fontSize: '2rem',\n      padding: 16\n    })\n\n    const Button = styled('button')(buttonStyles)\n\n    const tree = renderer\n      .create(\n        <Button\n          css={css({\n            '&:hover': {\n              color: 'pink',\n              '&:active': {\n                color: 'purple'\n              },\n              '&.some-class': {\n                color: 'yellow'\n              }\n            }\n          })}\n        >\n          Should be purple\n        </Button>\n      )\n      .toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('objects', () => {\n    const H1 = styled('h1')({ padding: 10 }, props => ({\n      display: props.display\n    }))\n    const tree = renderer.create(<H1 display=\"flex\">hello world</H1>).toJSON()\n\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('objects with spread properties', () => {\n    const defaultText = { fontSize: 20 }\n    const Figure = styled.figure({ ...defaultText })\n    const tree = renderer.create(<Figure>hello world</Figure>).toJSON()\n\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('composing components', () => {\n    const Button = styled.button`\n      color: green;\n    `\n    const OtherButton = styled(Button)`\n      display: none;\n    `\n\n    const AnotherButton = styled(OtherButton)`\n      display: flex;\n      justify-content: center;\n    `\n    const tree = renderer\n      .create(<AnotherButton>hello world</AnotherButton>)\n      .toJSON()\n\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('with higher order component that hoists statics', () => {\n    const superImportantValue = 'hotpink'\n    const hoc = BaseComponent => {\n      const NewComponent = props => (\n        <BaseComponent someProp={superImportantValue} {...props} />\n      )\n      return hoistNonReactStatics(NewComponent, BaseComponent)\n    }\n    const SomeComponent = hoc(styled.div`\n      display: flex;\n      color: ${props => props.someProp};\n    `)\n    const FinalComponent = styled(SomeComponent)`\n      padding: 8px;\n    `\n    const tree = renderer.create(<FinalComponent />).toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('prop filtering', () => {\n    const Link = styled.a`\n      color: green;\n    `\n    const rest = { m: [3], pt: [4] }\n\n    const tree = renderer\n      .create(\n        <Link\n          a\n          b\n          wow\n          prop\n          filtering\n          is\n          cool\n          aria-label=\"some label\"\n          data-wow=\"value\"\n          href=\"link\"\n          {...rest}\n        >\n          hello world\n        </Link>\n      )\n      .toJSON()\n\n    expect(tree).toMatchSnapshot()\n  })\n  test('no prop filtering on non string tags', () => {\n    const Link = styled(props => <a {...props} />)`\n      color: green;\n    `\n\n    const tree = renderer\n      .create(\n        <Link\n          a\n          b\n          wow\n          prop\n          filtering\n          is\n          cool\n          aria-label=\"some label\"\n          data-wow=\"value\"\n          href=\"link\"\n        >\n          hello world\n        </Link>\n      )\n      .toJSON()\n\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('no prop filtering on string tags started with upper case', () => {\n    const Link = styled('SomeCustomLink')`\n      color: green;\n    `\n\n    const tree = renderer\n      .create(\n        <Link\n          a\n          b\n          wow\n          prop\n          filtering\n          is\n          cool\n          aria-label=\"some label\"\n          data-wow=\"value\"\n          href=\"link\"\n        >\n          hello world\n        </Link>\n      )\n      .toJSON()\n\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('prop filtering on composed styled components that are string tags', () => {\n    const BaseLink = styled.a`\n      background-color: hotpink;\n    `\n    const Link = styled(BaseLink)`\n      color: green;\n    `\n\n    const tree = renderer\n      .create(\n        <Link\n          a\n          b\n          wow\n          prop\n          filtering\n          is\n          cool\n          aria-label=\"some label\"\n          data-wow=\"value\"\n          href=\"link\"\n        >\n          hello world\n        </Link>\n      )\n      .toJSON()\n\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('throws if undefined is passed as the component', () => {\n    expect(\n      () => styled(undefined)`\n        display: flex;\n      `\n    ).toThrowErrorMatchingSnapshot()\n  })\n  test('withComponent will replace tags but keep styling classes', () => {\n    const Title = styled('h1')`\n      color: green;\n    `\n    const Subtitle = Title.withComponent('h2')\n\n    const tree = renderer\n      .create(\n        <article>\n          <Title>My Title</Title>\n          <Subtitle>My Subtitle</Subtitle>\n        </article>\n      )\n      .toJSON()\n\n    expect(tree).toMatchSnapshot()\n  })\n  test('withComponent with function interpolation', () => {\n    const Title = styled('h1')`\n      color: ${props => props.color || 'green'};\n    `\n    const Subtitle = Title.withComponent('h2')\n\n    const tree = renderer\n      .create(\n        <article>\n          <Title>My Title</Title>\n          <Subtitle>My Subtitle</Subtitle>\n        </article>\n      )\n      .toJSON()\n\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('withComponent does carry styles from flattened component', () => {\n    const SomeComponent = styled.div`\n      color: green;\n    `\n    const AnotherComponent = styled(SomeComponent)`\n      color: hotpink;\n    `\n    const OneMoreComponent = AnotherComponent.withComponent('p')\n    const tree = renderer.create(<OneMoreComponent />).toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('theming', () => {\n    const Div = styled.div`\n      color: ${props => props.theme.primary};\n    `\n    const tree = renderer\n      .create(\n        <ThemeProvider theme={{ primary: 'hotpink' }}>\n          <Div>this should be hotpink</Div>\n        </ThemeProvider>\n      )\n      .toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n  test('same component rendered multiple times', () => {\n    const SomeComponent = styled.div`\n      color: green;\n    `\n\n    const tree = renderer.create(<SomeComponent />).toJSON()\n    expect(tree).toMatchSnapshot()\n    expect(renderer.create(<SomeComponent />).toJSON()).toEqual(\n      renderer.create(<SomeComponent />).toJSON()\n    )\n    expect(\n      renderer\n        .create(\n          <SomeComponent>\n            <SomeComponent />\n            <SomeComponent />\n          </SomeComponent>\n        )\n        .toJSON()\n    ).toMatchSnapshot()\n  })\n  test('component selectors', () => {\n    let Target = styled('div', {\n      // if anyone is looking this\n      // please don't do this.\n      // use the babel plugin/macro.\n      target: 'e322f2d3tbrgf2e0'\n    })`\n      color: hotpink;\n    `\n    let SomeComponent = styled.div`\n      color: green;\n      ${Target.toString()} {\n        color: yellow;\n      }\n    `\n    expect(\n      renderer\n        .create(\n          <SomeComponent>\n            <Target />\n          </SomeComponent>\n        )\n        .toJSON()\n    ).toMatchSnapshot()\n  })\n  test('keyframes with css call', () => {\n    let SomeComp = styled.div(css`\n      animation: ${keyframes({\n        'from,to': { color: 'green' },\n        '50%': { color: 'hotpink' }\n      })};\n    `)\n    expect(renderer.create(<SomeComp />).toJSON()).toMatchSnapshot()\n  })\n})\n"
  },
  {
    "path": "packages/styled/__tests__/warnings.js",
    "content": "import 'test-utils/legacy-env'\nimport * as React from 'react'\nimport { css } from '@emotion/react'\nimport styled from '@emotion/styled'\nimport { render } from '@testing-library/react'\n\nconsole.error = jest.fn()\n\nafterEach(() => {\n  jest.clearAllMocks()\n})\n\ntest('warns about illegal escape sequences inside first quasi of template literal', () => {\n  styled.div`\n    :before {\n      content: '\\00d7';\n    }\n  `\n\n  expect(console.error.mock.calls[0]).toMatchInlineSnapshot(`\n    [\n      \"You have illegal escape sequence in your template literal, most likely inside content's property value.\n    Because you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \"content: '\\\\00d7';\" should become \"content: '\\\\\\\\00d7';\".\n    You can read more about this here:\n    https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences\",\n    ]\n  `)\n})\n\ntest('warns about illegal escape sequences inside non-first quasi of template literal', () => {\n  const color = css`\n    color: hotpink;\n  `\n  styled.div`\n    background-color: black;\n    ${color};\n    :before {\n      content: '\\00d7';\n    }\n  `\n\n  expect(console.error.mock.calls[0]).toMatchInlineSnapshot(`\n    [\n      \"You have illegal escape sequence in your template literal, most likely inside content's property value.\n    Because you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \"content: '\\\\00d7';\" should become \"content: '\\\\\\\\00d7';\".\n    You can read more about this here:\n    https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences\",\n    ]\n  `)\n})\n\ntest(\"warns about undefined being passed as object style's key\", () => {\n  let ListItem\n  const List = styled.ul({ [ListItem]: { color: 'hotpink' } })\n\n  render(<List />)\n\n  expect(console.error.mock.calls[0]).toMatchInlineSnapshot(`\n    [\n      \"You have passed in falsy value as style object's key (can happen when in example you pass unexported component as computed key).\",\n    ]\n  `)\n})\n"
  },
  {
    "path": "packages/styled/base/package.json",
    "content": "{\n  \"main\": \"dist/emotion-styled-base.cjs.js\",\n  \"module\": \"dist/emotion-styled-base.esm.js\",\n  \"umd:main\": \"dist/emotion-styled-base.umd.min.js\",\n  \"types\": \"dist/emotion-styled-base.cjs.d.ts\",\n  \"preconstruct\": {\n    \"umdName\": \"emotionStyledBase\"\n  }\n}\n"
  },
  {
    "path": "packages/styled/macro.d.mts",
    "content": "import styled from '@emotion/styled'\nexport * from '@emotion/styled'\nexport default styled\n"
  },
  {
    "path": "packages/styled/macro.d.ts",
    "content": "import styled from '@emotion/styled'\nexport * from '@emotion/styled'\nexport default styled\n"
  },
  {
    "path": "packages/styled/macro.js",
    "content": "module.exports = require('@emotion/babel-plugin').macros.webStyled\n"
  },
  {
    "path": "packages/styled/package.json",
    "content": "{\n  \"name\": \"@emotion/styled\",\n  \"version\": \"11.14.1\",\n  \"description\": \"styled API for emotion\",\n  \"main\": \"dist/emotion-styled.cjs.js\",\n  \"module\": \"dist/emotion-styled.esm.js\",\n  \"types\": \"dist/emotion-styled.cjs.d.ts\",\n  \"license\": \"MIT\",\n  \"repository\": \"https://github.com/emotion-js/emotion/tree/main/packages/styled\",\n  \"scripts\": {\n    \"test:typescript\": \"dtslint types\"\n  },\n  \"dependencies\": {\n    \"@babel/runtime\": \"^7.18.3\",\n    \"@emotion/babel-plugin\": \"^11.13.5\",\n    \"@emotion/is-prop-valid\": \"^1.3.0\",\n    \"@emotion/serialize\": \"^1.3.3\",\n    \"@emotion/use-insertion-effect-with-fallbacks\": \"^1.2.0\",\n    \"@emotion/utils\": \"^1.4.2\"\n  },\n  \"peerDependencies\": {\n    \"@emotion/react\": \"^11.0.0-rc.0\",\n    \"react\": \">=16.8.0\"\n  },\n  \"peerDependenciesMeta\": {\n    \"@types/react\": {\n      \"optional\": true\n    }\n  },\n  \"devDependencies\": {\n    \"@definitelytyped/dtslint\": \"0.0.112\",\n    \"@emotion/react\": \"11.14.0\",\n    \"react\": \"16.14.0\",\n    \"typescript\": \"^5.4.5\"\n  },\n  \"publishConfig\": {\n    \"access\": \"public\"\n  },\n  \"files\": [\n    \"src\",\n    \"dist\",\n    \"base\",\n    \"macro.*\"\n  ],\n  \"umd:main\": \"dist/emotion-styled.umd.min.js\",\n  \"exports\": {\n    \"./base\": {\n      \"types\": {\n        \"import\": \"./base/dist/emotion-styled-base.cjs.mjs\",\n        \"default\": \"./base/dist/emotion-styled-base.cjs.js\"\n      },\n      \"development\": {\n        \"edge-light\": {\n          \"module\": \"./base/dist/emotion-styled-base.development.edge-light.esm.js\",\n          \"import\": \"./base/dist/emotion-styled-base.development.edge-light.cjs.mjs\",\n          \"default\": \"./base/dist/emotion-styled-base.development.edge-light.cjs.js\"\n        },\n        \"worker\": {\n          \"module\": \"./base/dist/emotion-styled-base.development.edge-light.esm.js\",\n          \"import\": \"./base/dist/emotion-styled-base.development.edge-light.cjs.mjs\",\n          \"default\": \"./base/dist/emotion-styled-base.development.edge-light.cjs.js\"\n        },\n        \"workerd\": {\n          \"module\": \"./base/dist/emotion-styled-base.development.edge-light.esm.js\",\n          \"import\": \"./base/dist/emotion-styled-base.development.edge-light.cjs.mjs\",\n          \"default\": \"./base/dist/emotion-styled-base.development.edge-light.cjs.js\"\n        },\n        \"browser\": {\n          \"module\": \"./base/dist/emotion-styled-base.browser.development.esm.js\",\n          \"import\": \"./base/dist/emotion-styled-base.browser.development.cjs.mjs\",\n          \"default\": \"./base/dist/emotion-styled-base.browser.development.cjs.js\"\n        },\n        \"module\": \"./base/dist/emotion-styled-base.development.esm.js\",\n        \"import\": \"./base/dist/emotion-styled-base.development.cjs.mjs\",\n        \"default\": \"./base/dist/emotion-styled-base.development.cjs.js\"\n      },\n      \"edge-light\": {\n        \"module\": \"./base/dist/emotion-styled-base.edge-light.esm.js\",\n        \"import\": \"./base/dist/emotion-styled-base.edge-light.cjs.mjs\",\n        \"default\": \"./base/dist/emotion-styled-base.edge-light.cjs.js\"\n      },\n      \"worker\": {\n        \"module\": \"./base/dist/emotion-styled-base.edge-light.esm.js\",\n        \"import\": \"./base/dist/emotion-styled-base.edge-light.cjs.mjs\",\n        \"default\": \"./base/dist/emotion-styled-base.edge-light.cjs.js\"\n      },\n      \"workerd\": {\n        \"module\": \"./base/dist/emotion-styled-base.edge-light.esm.js\",\n        \"import\": \"./base/dist/emotion-styled-base.edge-light.cjs.mjs\",\n        \"default\": \"./base/dist/emotion-styled-base.edge-light.cjs.js\"\n      },\n      \"browser\": {\n        \"module\": \"./base/dist/emotion-styled-base.browser.esm.js\",\n        \"import\": \"./base/dist/emotion-styled-base.browser.cjs.mjs\",\n        \"default\": \"./base/dist/emotion-styled-base.browser.cjs.js\"\n      },\n      \"module\": \"./base/dist/emotion-styled-base.esm.js\",\n      \"import\": \"./base/dist/emotion-styled-base.cjs.mjs\",\n      \"default\": \"./base/dist/emotion-styled-base.cjs.js\"\n    },\n    \".\": {\n      \"types\": {\n        \"import\": \"./dist/emotion-styled.cjs.mjs\",\n        \"default\": \"./dist/emotion-styled.cjs.js\"\n      },\n      \"development\": {\n        \"edge-light\": {\n          \"module\": \"./dist/emotion-styled.development.edge-light.esm.js\",\n          \"import\": \"./dist/emotion-styled.development.edge-light.cjs.mjs\",\n          \"default\": \"./dist/emotion-styled.development.edge-light.cjs.js\"\n        },\n        \"worker\": {\n          \"module\": \"./dist/emotion-styled.development.edge-light.esm.js\",\n          \"import\": \"./dist/emotion-styled.development.edge-light.cjs.mjs\",\n          \"default\": \"./dist/emotion-styled.development.edge-light.cjs.js\"\n        },\n        \"workerd\": {\n          \"module\": \"./dist/emotion-styled.development.edge-light.esm.js\",\n          \"import\": \"./dist/emotion-styled.development.edge-light.cjs.mjs\",\n          \"default\": \"./dist/emotion-styled.development.edge-light.cjs.js\"\n        },\n        \"browser\": {\n          \"module\": \"./dist/emotion-styled.browser.development.esm.js\",\n          \"import\": \"./dist/emotion-styled.browser.development.cjs.mjs\",\n          \"default\": \"./dist/emotion-styled.browser.development.cjs.js\"\n        },\n        \"module\": \"./dist/emotion-styled.development.esm.js\",\n        \"import\": \"./dist/emotion-styled.development.cjs.mjs\",\n        \"default\": \"./dist/emotion-styled.development.cjs.js\"\n      },\n      \"edge-light\": {\n        \"module\": \"./dist/emotion-styled.edge-light.esm.js\",\n        \"import\": \"./dist/emotion-styled.edge-light.cjs.mjs\",\n        \"default\": \"./dist/emotion-styled.edge-light.cjs.js\"\n      },\n      \"worker\": {\n        \"module\": \"./dist/emotion-styled.edge-light.esm.js\",\n        \"import\": \"./dist/emotion-styled.edge-light.cjs.mjs\",\n        \"default\": \"./dist/emotion-styled.edge-light.cjs.js\"\n      },\n      \"workerd\": {\n        \"module\": \"./dist/emotion-styled.edge-light.esm.js\",\n        \"import\": \"./dist/emotion-styled.edge-light.cjs.mjs\",\n        \"default\": \"./dist/emotion-styled.edge-light.cjs.js\"\n      },\n      \"browser\": {\n        \"module\": \"./dist/emotion-styled.browser.esm.js\",\n        \"import\": \"./dist/emotion-styled.browser.cjs.mjs\",\n        \"default\": \"./dist/emotion-styled.browser.cjs.js\"\n      },\n      \"module\": \"./dist/emotion-styled.esm.js\",\n      \"import\": \"./dist/emotion-styled.cjs.mjs\",\n      \"default\": \"./dist/emotion-styled.cjs.js\"\n    },\n    \"./package.json\": \"./package.json\",\n    \"./macro\": {\n      \"types\": {\n        \"import\": \"./macro.d.mts\",\n        \"default\": \"./macro.d.ts\"\n      },\n      \"default\": \"./macro.js\"\n    }\n  },\n  \"imports\": {\n    \"#is-development\": {\n      \"development\": \"./src/conditions/true.ts\",\n      \"default\": \"./src/conditions/false.ts\"\n    },\n    \"#is-browser\": {\n      \"edge-light\": \"./src/conditions/false.ts\",\n      \"workerd\": \"./src/conditions/false.ts\",\n      \"worker\": \"./src/conditions/false.ts\",\n      \"browser\": \"./src/conditions/true.ts\",\n      \"default\": \"./src/conditions/is-browser.ts\"\n    }\n  },\n  \"preconstruct\": {\n    \"umdName\": \"emotionStyled\",\n    \"entrypoints\": [\n      \"./index.ts\",\n      \"./base.tsx\"\n    ],\n    \"exports\": {\n      \"extra\": {\n        \"./macro\": {\n          \"types\": {\n            \"import\": \"./macro.d.mts\",\n            \"default\": \"./macro.d.ts\"\n          },\n          \"default\": \"./macro.js\"\n        }\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "packages/styled/src/base.tsx",
    "content": "import isBrowser from '#is-browser'\nimport isDevelopment from '#is-development'\nimport { Theme, ThemeContext, withEmotionCache } from '@emotion/react'\nimport { Interpolation, serializeStyles } from '@emotion/serialize'\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks'\nimport {\n  EmotionCache,\n  getRegisteredStyles,\n  insertStyles,\n  registerStyles,\n  SerializedStyles\n} from '@emotion/utils'\nimport * as React from 'react'\nimport { CreateStyled, ElementType, StyledOptions } from './types'\nimport { composeShouldForwardProps, getDefaultShouldForwardProp } from './utils'\nexport type {\n  ArrayInterpolation,\n  ComponentSelector,\n  CSSObject,\n  FunctionInterpolation,\n  Interpolation\n} from '@emotion/serialize'\n\nconst ILLEGAL_ESCAPE_SEQUENCE_ERROR = `You have illegal escape sequence in your template literal, most likely inside content's property value.\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \"content: '\\\\00d7';\" should become \"content: '\\\\\\\\00d7';\".\nYou can read more about this here:\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences`\n\nconst Insertion = ({\n  cache,\n  serialized,\n  isStringTag\n}: {\n  cache: EmotionCache\n  serialized: SerializedStyles\n  isStringTag: boolean\n}) => {\n  registerStyles(cache, serialized, isStringTag)\n\n  const rules = useInsertionEffectAlwaysWithSyncFallback(() =>\n    insertStyles(cache, serialized, isStringTag)\n  )\n\n  if (!isBrowser && rules !== undefined) {\n    let serializedNames = serialized.name\n    let next = serialized.next\n    while (next !== undefined) {\n      serializedNames += ' ' + next.name\n      next = next.next\n    }\n    return (\n      <style\n        {...{\n          [`data-emotion`]: `${cache.key} ${serializedNames}`,\n          dangerouslySetInnerHTML: { __html: rules },\n          nonce: cache.sheet.nonce\n        }}\n      />\n    )\n  }\n  return null\n}\n\nconst createStyled = (tag: ElementType, options?: StyledOptions) => {\n  if (isDevelopment) {\n    if (tag === undefined) {\n      throw new Error(\n        'You are trying to create a styled element with an undefined component.\\nYou may have forgotten to import it.'\n      )\n    }\n  }\n  const isReal = tag.__emotion_real === tag\n  const baseTag = (isReal && tag.__emotion_base) || tag\n\n  let identifierName: string | undefined\n  let targetClassName: string | undefined\n  if (options !== undefined) {\n    identifierName = options.label\n    targetClassName = options.target\n  }\n\n  const shouldForwardProp = composeShouldForwardProps(tag, options, isReal)\n  const defaultShouldForwardProp =\n    shouldForwardProp || getDefaultShouldForwardProp(baseTag)\n  const shouldUseAs = !defaultShouldForwardProp('as')\n\n  return function () {\n    // eslint-disable-next-line prefer-rest-params\n    let args = arguments as any as Array<\n      TemplateStringsArray | Interpolation<Theme>\n    >\n    let styles =\n      isReal && tag.__emotion_styles !== undefined\n        ? tag.__emotion_styles.slice(0)\n        : []\n\n    if (identifierName !== undefined) {\n      styles.push(`label:${identifierName};`)\n    }\n    if (\n      args[0] == null ||\n      (args[0] as TemplateStringsArray).raw === undefined\n    ) {\n      // eslint-disable-next-line prefer-spread\n      styles.push.apply(styles, args)\n    } else {\n      const templateStringsArr = args[0] as TemplateStringsArray\n      if (isDevelopment && templateStringsArr[0] === undefined) {\n        console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR)\n      }\n      styles.push(templateStringsArr[0])\n      let len = args.length\n      let i = 1\n      for (; i < len; i++) {\n        if (isDevelopment && templateStringsArr[i] === undefined) {\n          console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR)\n        }\n        styles.push(args[i], templateStringsArr[i])\n      }\n    }\n\n    const Styled: ElementType = withEmotionCache(\n      (props: Record<string, unknown>, cache, ref) => {\n        const FinalTag =\n          (shouldUseAs && (props.as as React.ElementType)) || baseTag\n\n        let className = ''\n        let classInterpolations: Interpolation<Theme>[] = []\n        let mergedProps = props\n        if (props.theme == null) {\n          mergedProps = {}\n          for (let key in props) {\n            mergedProps[key] = props[key]\n          }\n          mergedProps.theme = React.useContext(ThemeContext)\n        }\n\n        if (typeof props.className === 'string') {\n          className = getRegisteredStyles(\n            cache.registered,\n            classInterpolations,\n            props.className\n          )\n        } else if (props.className != null) {\n          className = `${props.className} `\n        }\n\n        const serialized = serializeStyles(\n          styles.concat(classInterpolations),\n          cache.registered,\n          mergedProps\n        )\n        className += `${cache.key}-${serialized.name}`\n        if (targetClassName !== undefined) {\n          className += ` ${targetClassName}`\n        }\n\n        const finalShouldForwardProp =\n          shouldUseAs && shouldForwardProp === undefined\n            ? getDefaultShouldForwardProp(FinalTag)\n            : defaultShouldForwardProp\n\n        let newProps: Record<string, unknown> = {}\n\n        for (let key in props) {\n          if (shouldUseAs && key === 'as') continue\n\n          if (finalShouldForwardProp(key)) {\n            newProps[key] = props[key]\n          }\n        }\n        newProps.className = className\n        if (ref) {\n          newProps.ref = ref\n        }\n\n        return (\n          <>\n            <Insertion\n              cache={cache}\n              serialized={serialized}\n              isStringTag={typeof FinalTag === 'string'}\n            />\n            <FinalTag {...newProps} />\n          </>\n        )\n      }\n    )\n\n    Styled.displayName =\n      identifierName !== undefined\n        ? identifierName\n        : `Styled(${\n            typeof baseTag === 'string'\n              ? baseTag\n              : baseTag.displayName || baseTag.name || 'Component'\n          })`\n\n    Styled.defaultProps = tag.defaultProps\n    Styled.__emotion_real = Styled\n    Styled.__emotion_base = baseTag\n    Styled.__emotion_styles = styles\n    Styled.__emotion_forwardProp = shouldForwardProp\n\n    Object.defineProperty(Styled, 'toString', {\n      value() {\n        if (targetClassName === undefined && isDevelopment) {\n          return 'NO_COMPONENT_SELECTOR'\n        }\n        return `.${targetClassName}`\n      }\n    })\n    ;(Styled as any).withComponent = (\n      nextTag: ElementType,\n      nextOptions: StyledOptions\n    ) => {\n      const newStyled = createStyled(nextTag, {\n        ...options,\n        ...nextOptions,\n        shouldForwardProp: composeShouldForwardProps(Styled, nextOptions, true)\n      })\n      return (newStyled as any)(...styles)\n    }\n\n    return Styled\n  }\n}\n\nexport default createStyled as CreateStyled\n"
  },
  {
    "path": "packages/styled/src/conditions/false.ts",
    "content": "export default false\n"
  },
  {
    "path": "packages/styled/src/conditions/is-browser.ts",
    "content": "export default typeof document !== 'undefined'\n"
  },
  {
    "path": "packages/styled/src/conditions/true.ts",
    "content": "export default true\n"
  },
  {
    "path": "packages/styled/src/index.ts",
    "content": "import { Theme } from '@emotion/react'\nimport baseStyled from './base'\nimport { ReactJSXIntrinsicElements } from './jsx-namespace'\nimport { tags } from './tags'\nimport {\n  CreateStyledComponent,\n  CreateStyled as BaseCreateStyled\n} from './types'\nexport type {\n  ArrayInterpolation,\n  ComponentSelector,\n  CSSObject,\n  FunctionInterpolation,\n  Interpolation\n} from '@emotion/serialize'\nexport type {\n  CreateStyledComponent,\n  FilteringStyledOptions,\n  StyledComponent,\n  StyledOptions\n} from './types'\n\nexport type StyledTags = {\n  [Tag in keyof ReactJSXIntrinsicElements]: CreateStyledComponent<\n    {\n      theme?: Theme\n      as?: React.ElementType\n    },\n    ReactJSXIntrinsicElements[Tag]\n  >\n}\n\nexport interface CreateStyled extends BaseCreateStyled, StyledTags {}\n\n// bind it to avoid mutating the original function\nconst styled = baseStyled.bind(null) as CreateStyled\n\ntags.forEach(tagName => {\n  ;(styled as any)[tagName] = styled(tagName as keyof typeof styled)\n})\n\nexport default styled\n"
  },
  {
    "path": "packages/styled/src/jsx-namespace.ts",
    "content": "// this is basically a slimmed down copy of https://github.com/emotion-js/emotion/blob/main/packages/react/types/jsx-namespace.d.ts\n// it helps to avoid issues when combining newer `@emotion/styled` and older `@emotion/react` versions\n// in such setup, ReactJSX namespace won't exist in `@emotion/react` and that would lead to errors\nimport 'react'\n\ntype IsPreReact19 = 2 extends Parameters<React.FunctionComponent<any>>['length']\n  ? true\n  : false\n\n// prettier-ignore\n/** @ts-ignore */\nexport type ReactJSXIntrinsicElements = true extends IsPreReact19 ? JSX.IntrinsicElements : React.JSX.IntrinsicElements\n"
  },
  {
    "path": "packages/styled/src/tags.ts",
    "content": "export const tags = [\n  'a',\n  'abbr',\n  'address',\n  'area',\n  'article',\n  'aside',\n  'audio',\n  'b',\n  'base',\n  'bdi',\n  'bdo',\n  'big',\n  'blockquote',\n  'body',\n  'br',\n  'button',\n  'canvas',\n  'caption',\n  'cite',\n  'code',\n  'col',\n  'colgroup',\n  'data',\n  'datalist',\n  'dd',\n  'del',\n  'details',\n  'dfn',\n  'dialog',\n  'div',\n  'dl',\n  'dt',\n  'em',\n  'embed',\n  'fieldset',\n  'figcaption',\n  'figure',\n  'footer',\n  'form',\n  'h1',\n  'h2',\n  'h3',\n  'h4',\n  'h5',\n  'h6',\n  'head',\n  'header',\n  'hgroup',\n  'hr',\n  'html',\n  'i',\n  'iframe',\n  'img',\n  'input',\n  'ins',\n  'kbd',\n  'keygen',\n  'label',\n  'legend',\n  'li',\n  'link',\n  'main',\n  'map',\n  'mark',\n  'marquee',\n  'menu',\n  'menuitem',\n  'meta',\n  'meter',\n  'nav',\n  'noscript',\n  'object',\n  'ol',\n  'optgroup',\n  'option',\n  'output',\n  'p',\n  'param',\n  'picture',\n  'pre',\n  'progress',\n  'q',\n  'rp',\n  'rt',\n  'ruby',\n  's',\n  'samp',\n  'script',\n  'section',\n  'select',\n  'small',\n  'source',\n  'span',\n  'strong',\n  'style',\n  'sub',\n  'summary',\n  'sup',\n  'table',\n  'tbody',\n  'td',\n  'textarea',\n  'tfoot',\n  'th',\n  'thead',\n  'time',\n  'title',\n  'tr',\n  'track',\n  'u',\n  'ul',\n  'var',\n  'video',\n  'wbr',\n\n  // SVG\n  'circle',\n  'clipPath',\n  'defs',\n  'ellipse',\n  'foreignObject',\n  'g',\n  'image',\n  'line',\n  'linearGradient',\n  'mask',\n  'path',\n  'pattern',\n  'polygon',\n  'polyline',\n  'radialGradient',\n  'rect',\n  'stop',\n  'svg',\n  'text',\n  'tspan'\n] as const\n"
  },
  {
    "path": "packages/styled/src/types.ts",
    "content": "import { ComponentSelector, Interpolation } from '@emotion/serialize'\nimport { ReactJSXIntrinsicElements } from './jsx-namespace'\nimport { PropsOf, Theme } from '@emotion/react'\n\n/** Same as StyledOptions but shouldForwardProp must be a type guard */\nexport interface FilteringStyledOptions<\n  Props = Record<string, any>,\n  ForwardedProps extends keyof Props & string = keyof Props & string\n> {\n  label?: string\n  shouldForwardProp?: (propName: string) => propName is ForwardedProps\n  target?: string\n}\n\nexport interface StyledOptions<Props = Record<string, any>> {\n  label?: string\n  shouldForwardProp?: (propName: string) => boolean\n  target?: string\n}\n\n/**\n * @typeparam ComponentProps  Props which will be included when withComponent is called\n * @typeparam SpecificComponentProps  Props which will *not* be included when withComponent is called\n */\nexport interface StyledComponent<\n  ComponentProps extends {},\n  SpecificComponentProps extends {} = {},\n  JSXProps extends {} = {}\n> extends React.FC<ComponentProps & SpecificComponentProps & JSXProps>,\n    ComponentSelector {\n  withComponent<C extends React.ComponentClass<React.ComponentProps<C>>>(\n    component: C\n  ): StyledComponent<\n    ComponentProps & PropsOf<C>,\n    {},\n    { ref?: React.Ref<InstanceType<C>> }\n  >\n  withComponent<C extends React.ComponentType<React.ComponentProps<C>>>(\n    component: C\n  ): StyledComponent<ComponentProps & PropsOf<C>>\n  withComponent<Tag extends keyof ReactJSXIntrinsicElements>(\n    tag: Tag\n  ): StyledComponent<ComponentProps, ReactJSXIntrinsicElements[Tag]>\n}\n\n/**\n * @typeparam ComponentProps  Props which will be included when withComponent is called\n * @typeparam SpecificComponentProps  Props which will *not* be included when withComponent is called\n */\nexport interface CreateStyledComponent<\n  ComponentProps extends {},\n  SpecificComponentProps extends {} = {},\n  JSXProps extends {} = {}\n> {\n  (\n    template: TemplateStringsArray,\n    ...styles: Array<\n      Interpolation<ComponentProps & SpecificComponentProps & { theme: Theme }>\n    >\n  ): StyledComponent<ComponentProps, SpecificComponentProps, JSXProps>\n\n  /**\n   * @typeparam AdditionalProps  Additional props to add to your styled component\n   */\n  <AdditionalProps extends {}>(\n    template: TemplateStringsArray,\n    ...styles: Array<\n      Interpolation<\n        ComponentProps &\n          SpecificComponentProps &\n          AdditionalProps & { theme: Theme }\n      >\n    >\n  ): StyledComponent<\n    ComponentProps & AdditionalProps,\n    SpecificComponentProps,\n    JSXProps\n  >\n\n  /**\n   * @typeparam AdditionalProps  Additional props to add to your styled component\n   */\n  <AdditionalProps extends {} = {}>(\n    ...styles: Array<\n      Interpolation<\n        ComponentProps &\n          SpecificComponentProps &\n          AdditionalProps & { theme: Theme }\n      >\n    >\n  ): StyledComponent<\n    ComponentProps & AdditionalProps,\n    SpecificComponentProps,\n    JSXProps\n  >\n}\n\n/**\n * @desc\n * This function accepts a React component or tag ('div', 'a' etc).\n *\n * @example styled(MyComponent)({ width: 100 })\n * @example styled(MyComponent)(myComponentProps => ({ width: myComponentProps.width })\n * @example styled('div')({ width: 100 })\n * @example styled('div')<Props>(props => ({ width: props.width })\n */\nexport interface CreateStyled {\n  <\n    C extends React.ComponentClass<React.ComponentProps<C>>,\n    ForwardedProps extends keyof React.ComponentProps<C> &\n      string = keyof React.ComponentProps<C> & string\n  >(\n    component: C,\n    options: FilteringStyledOptions<React.ComponentProps<C>, ForwardedProps>\n  ): CreateStyledComponent<\n    Pick<PropsOf<C>, ForwardedProps> & {\n      theme?: Theme\n    },\n    {},\n    {\n      ref?: React.Ref<InstanceType<C>>\n    }\n  >\n\n  <C extends React.ComponentClass<React.ComponentProps<C>>>(\n    component: C,\n    options?: StyledOptions<React.ComponentProps<C>>\n  ): CreateStyledComponent<\n    PropsOf<C> & {\n      theme?: Theme\n    },\n    {},\n    {\n      ref?: React.Ref<InstanceType<C>>\n    }\n  >\n\n  <\n    C extends React.ComponentType<React.ComponentProps<C>>,\n    ForwardedProps extends keyof React.ComponentProps<C> &\n      string = keyof React.ComponentProps<C> & string\n  >(\n    component: C,\n    options: FilteringStyledOptions<React.ComponentProps<C>, ForwardedProps>\n  ): CreateStyledComponent<\n    Pick<PropsOf<C>, ForwardedProps> & {\n      theme?: Theme\n    }\n  >\n\n  <C extends React.ComponentType<React.ComponentProps<C>>>(\n    component: C,\n    options?: StyledOptions<React.ComponentProps<C>>\n  ): CreateStyledComponent<\n    PropsOf<C> & {\n      theme?: Theme\n    }\n  >\n\n  <\n    Tag extends keyof ReactJSXIntrinsicElements,\n    ForwardedProps extends keyof ReactJSXIntrinsicElements[Tag] &\n      string = keyof ReactJSXIntrinsicElements[Tag] & string\n  >(\n    tag: Tag,\n    options: FilteringStyledOptions<\n      ReactJSXIntrinsicElements[Tag],\n      ForwardedProps\n    >\n  ): CreateStyledComponent<\n    { theme?: Theme; as?: React.ElementType },\n    Pick<ReactJSXIntrinsicElements[Tag], ForwardedProps>\n  >\n\n  <Tag extends keyof ReactJSXIntrinsicElements>(\n    tag: Tag,\n    options?: StyledOptions<ReactJSXIntrinsicElements[Tag]>\n  ): CreateStyledComponent<\n    { theme?: Theme; as?: React.ElementType },\n    ReactJSXIntrinsicElements[Tag]\n  >\n}\n\nexport type ElementType = React.ElementType & {\n  defaultProps?: Partial<any>\n  __emotion_real?: ElementType\n  __emotion_base?: ElementType\n  __emotion_styles?: Interpolation<Theme>[]\n  __emotion_forwardProp?: (propName: string) => boolean\n}\n"
  },
  {
    "path": "packages/styled/src/utils.ts",
    "content": "import * as React from 'react'\nimport isPropValid from '@emotion/is-prop-valid'\nimport { StyledOptions, ElementType } from './types'\n\nconst testOmitPropsOnStringTag = isPropValid\nconst testOmitPropsOnComponent = (key: string) => key !== 'theme'\n\nexport const getDefaultShouldForwardProp = (tag: React.ElementType) =>\n  typeof tag === 'string' &&\n  // 96 is one less than the char code\n  // for \"a\" so this is checking that\n  // it's a lowercase character\n  tag.charCodeAt(0) > 96\n    ? testOmitPropsOnStringTag\n    : testOmitPropsOnComponent\n\nexport const composeShouldForwardProps = (\n  tag: ElementType,\n  options: StyledOptions | undefined,\n  isReal: boolean\n) => {\n  let shouldForwardProp\n  if (options) {\n    const optionsShouldForwardProp = options.shouldForwardProp\n    shouldForwardProp =\n      tag.__emotion_forwardProp && optionsShouldForwardProp\n        ? (propName: string) =>\n            tag.__emotion_forwardProp!(propName) &&\n            optionsShouldForwardProp(propName)\n        : optionsShouldForwardProp\n  }\n\n  if (typeof shouldForwardProp !== 'function' && isReal) {\n    shouldForwardProp = tag.__emotion_forwardProp\n  }\n\n  return shouldForwardProp\n}\n"
  },
  {
    "path": "packages/styled/test/__snapshots__/component-selector.test.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`component as selector (object syntax) 1`] = `\n.emotion-0 {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n}\n\n.emotion-0 .emotion-3 {\n  color: green;\n}\n\n.emotion-2 {\n  font-size: 20px;\n}\n\n<div\n  className=\"emotion-0 emotion-1\"\n>\n  hello \n  <h1\n    className=\"emotion-2 emotion-3\"\n  >\n    This will be green\n  </h1>\n   world\n</div>\n`;\n\nexports[`component as selector 1`] = `\n.emotion-0 {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n}\n\n.emotion-0 .emotion-3 {\n  color: green;\n}\n\n.emotion-2 {\n  font-size: 20px;\n}\n\n<div\n  className=\"emotion-0 emotion-1\"\n>\n  hello \n  <h1\n    className=\"emotion-2 emotion-3\"\n  >\n    This will be green\n  </h1>\n   world\n</div>\n`;\n\nexports[`component as selector function interpolation (object syntax) 1`] = `\n.emotion-0 {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n}\n\n.emotion-0 .emotion-3 {\n  color: green;\n}\n\n.emotion-2 {\n  font-size: 20px;\n}\n\n<div\n  className=\"emotion-0 emotion-1\"\n  fontSize={10}\n>\n  hello \n  <h1\n    className=\"emotion-2 emotion-3\"\n    fontSize={20}\n  >\n    This will be green\n  </h1>\n   world\n</div>\n`;\n\nexports[`component as selector function interpolation 1`] = `\n.emotion-0 {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n}\n\n.emotion-0 .emotion-3 {\n  color: green;\n}\n\n.emotion-2 {\n  font-size: 20px;\n}\n\n<div\n  className=\"emotion-0 emotion-1\"\n  fontSize={10}\n>\n  hello \n  <h1\n    className=\"emotion-2 emotion-3\"\n    fontSize={20}\n  >\n    This will be green\n  </h1>\n   world\n</div>\n`;\n"
  },
  {
    "path": "packages/styled/test/__snapshots__/composition.test.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`composing components 1`] = `\n.emotion-0 {\n  color: green;\n  display: none;\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-pack: center;\n  -ms-flex-pack: center;\n  -webkit-justify-content: center;\n  justify-content: center;\n}\n\n<button\n  className=\"emotion-0 emotion-1\"\n>\n  hello world\n</button>\n`;\n\nexports[`composition 1`] = `\n.emotion-0 {\n  color: blue;\n  color: red;\n  color: blue;\n  font-size: 20px;\n  font-size: 32px;\n}\n\n<h1\n  className=\"legacy__class emotion-0 emotion-1\"\n  scale={2}\n>\n  hello world\n</h1>\n`;\n\nexports[`composition 2`] = `\n.emotion-0 {\n  font-size: 20px;\n  font-size: 13.333333333333334px;\n}\n\n<h1\n  className=\"legacy__class emotion-0 emotion-1\"\n>\n  hello world\n</h1>\n`;\n\nexports[`composition of nested pseudo selectors 1`] = `\n.emotion-0 {\n  font-size: 2rem;\n  padding: 16px;\n}\n\n.emotion-0:hover {\n  color: blue;\n}\n\n.emotion-0:hover:active {\n  color: red;\n}\n\n.emotion-0:hover {\n  color: pink;\n}\n\n.emotion-0:hover:active {\n  color: purple;\n}\n\n.emotion-0:hover.some-class {\n  color: yellow;\n}\n\n<button\n  className=\"emotion-0 emotion-1\"\n>\n  Should be purple\n</button>\n`;\n\nexports[`composition with objects 1`] = `\n.emotion-0 {\n  color: #333;\n  font-size: 1em;\n  height: 64px;\n  font-size: 4em;\n  font-size: 32px;\n}\n\n@media only screen and (-webkit-min-device-pixel-ratio: 1.5),only screen and (min--moz-device-pixel-ratio: 1.5),only screen and (-o-min-device-pixel-ratio: 1.5/1),only screen and (min-resolution: 144dpi),only screen and (min-resolution: 1.5dppx) {\n  .emotion-0 {\n    font-size: 1.25em;\n  }\n}\n\n<h1\n  className=\"legacy__class emotion-0 emotion-1\"\n  scale={2}\n>\n  hello world\n</h1>\n`;\n\nexports[`glamorous style api & composition 1`] = `\n.emotion-0 {\n  font-size: 20px;\n  -webkit-flex: 1;\n  -ms-flex: 1;\n  flex: 1;\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n}\n\n<h1\n  className=\"emotion-0 emotion-1\"\n  fontSize={20}\n>\n  hello world\n</h1>\n`;\n\nexports[`object composition 1`] = `\n.emotion-0 {\n  border-radius: 50%;\n  -webkit-transition: -webkit-transform 400ms ease-in-out;\n  transition: transform 400ms ease-in-out;\n  border: 3px solid currentColor;\n  width: 96px;\n  height: 96px;\n  color: red;\n  color: blue;\n}\n\n.emotion-0:hover {\n  -webkit-transform: scale(1.2);\n  -moz-transform: scale(1.2);\n  -ms-transform: scale(1.2);\n  transform: scale(1.2);\n}\n\n<img\n  className=\"emotion-0 emotion-1\"\n/>\n`;\n"
  },
  {
    "path": "packages/styled/test/__snapshots__/index.test.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`styled basic render 1`] = `\n.emotion-0 {\n  color: blue;\n  font-size: 20px;\n}\n\n@media (min-width: 420px) {\n  .emotion-0 {\n    color: blue;\n  }\n}\n\n<h1\n  className=\"emotion-0 emotion-1\"\n>\n  hello world\n</h1>\n`;\n\nexports[`styled basic render with object as style 1`] = `\n.emotion-0 {\n  font-size: 20px;\n}\n\n<h1\n  className=\"emotion-0 emotion-1\"\n>\n  hello world\n</h1>\n`;\n\nexports[`styled call expression 1`] = `\n.emotion-0 {\n  font-size: 20px;\n}\n\n<div\n  className=\"emotion-0 emotion-1\"\n>\n  hello world\n</div>\n`;\n\nexports[`styled composition based on props 1`] = `\n.emotion-0 {\n  color: blue;\n}\n\n<h1\n  className=\"emotion-0 emotion-1\"\n>\n  hello world\n</h1>\n`;\n\nexports[`styled composition based on props 2`] = `\n.emotion-0 {\n  color: green;\n}\n\n<h1\n  className=\"emotion-0 emotion-1\"\n>\n  hello world\n</h1>\n`;\n\nexports[`styled function in expression 1`] = `\n.emotion-0 {\n  font-size: 20px;\n  font-size: 40px;\n}\n\n<h1\n  className=\"legacy__class emotion-0 emotion-1\"\n  scale={2}\n>\n  hello world\n</h1>\n`;\n\nexports[`styled function that function returns gets called with props 1`] = `\n.emotion-0 {\n  color: hotpink;\n  background-color: yellow;\n}\n\n<div\n  className=\"emotion-0 emotion-1\"\n  color=\"hotpink\"\n/>\n`;\n\nexports[`styled handles more than 10 dynamic properties 1`] = `\n.emotion-0 {\n  -webkit-text-decoration: underline;\n  text-decoration: underline;\n  border-right: solid blue 54px;\n  background: white;\n  color: black;\n  display: block;\n  border-radius: 3px;\n  padding: 25px;\n  width: 500px;\n  z-index: 100;\n  font-size: 18px;\n  text-align: center;\n  border-left: blue;\n}\n\n<h1\n  className=\"legacy__class emotion-0 emotion-1\"\n>\n  hello world\n</h1>\n`;\n\nexports[`styled inline function return value is a function 1`] = `\n.emotion-0 {\n  font-size: 20px;\n}\n\n<h1\n  className=\"emotion-0 emotion-1\"\n>\n  hello world\n</h1>\n`;\n\nexports[`styled input placeholder 1`] = `\n.emotion-0::-webkit-input-placeholder {\n  background-color: green;\n}\n\n.emotion-0::-moz-placeholder {\n  background-color: green;\n}\n\n.emotion-0:-ms-input-placeholder {\n  background-color: green;\n}\n\n.emotion-0::placeholder {\n  background-color: green;\n}\n\n<input\n  className=\"emotion-0 emotion-1\"\n>\n  hello world\n</input>\n`;\n\nexports[`styled input placeholder object 1`] = `\n.emotion-0::-webkit-input-placeholder {\n  background-color: green;\n}\n\n.emotion-0::-moz-placeholder {\n  background-color: green;\n}\n\n.emotion-0:-ms-input-placeholder {\n  background-color: green;\n}\n\n.emotion-0::placeholder {\n  background-color: green;\n}\n\n<input\n  className=\"emotion-0 emotion-1\"\n>\n  hello world\n</input>\n`;\n\nexports[`styled nested 1`] = `\n.emotion-0 {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n}\n\n.emotion-0 div {\n  color: green;\n}\n\n.emotion-0 div span {\n  color: red;\n}\n\n.emotion-2 {\n  font-size: 20px;\n}\n\n<div\n  className=\"emotion-0 emotion-1\"\n>\n  hello \n  <h1\n    className=\"emotion-2 emotion-3\"\n  >\n    This will be green\n  </h1>\n   world\n</div>\n`;\n\nexports[`styled no dynamic 1`] = `\n.emotion-0 {\n  float: left;\n}\n\n<h1\n  className=\"emotion-0 emotion-1\"\n>\n  hello world\n</h1>\n`;\n\nexports[`styled object as style 1`] = `\n.emotion-0 {\n  font-size: 20px;\n  -webkit-flex: 1;\n  -ms-flex: 1;\n  flex: 1;\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n}\n\n<h1\n  className=\"emotion-0 emotion-1\"\n  fontSize={20}\n>\n  hello world\n</h1>\n`;\n\nexports[`styled objects 1`] = `\n.emotion-0 {\n  padding: 10px;\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n}\n\n<h1\n  className=\"emotion-0 emotion-1\"\n  display=\"flex\"\n>\n  hello world\n</h1>\n`;\n\nexports[`styled objects with spread properties 1`] = `\n.emotion-0 {\n  font-size: 20px;\n}\n\n<figure\n  className=\"emotion-0 emotion-1\"\n>\n  hello world\n</figure>\n`;\n\nexports[`styled random expressions undefined return 1`] = `\n.emotion-0 {\n  color: green;\n}\n\n<h1\n  className=\"legacy__class emotion-0 emotion-1\"\n>\n  hello world\n</h1>\n`;\n\nexports[`styled random object expression 1`] = `\n.emotion-0 {\n  background-color: hotpink;\n  font-size: 1rem;\n  margin-top: 0;\n  margin-right: auto;\n  margin-bottom: 0;\n  margin-left: auto;\n  color: green;\n}\n\n<h1\n  className=\"legacy__class emotion-0 emotion-1\"\n>\n  hello world\n</h1>\n`;\n\nexports[`styled ref 1`] = `\n.emotion-0 {\n  font-size: 12px;\n}\n\n<h1\n  className=\"emotion-0 emotion-1\"\n>\n  hello world\n</h1>\n`;\n\nexports[`styled should forward .defaultProps when reusing __emotion_base 1`] = `\n.emotion-0 {\n  text-align: center;\n  color: red;\n}\n\n.emotion-2 {\n  text-align: center;\n  color: red;\n  font-style: italic;\n}\n\n<div>\n  <h1\n    className=\"emotion-0 emotion-1\"\n    color=\"red\"\n  />\n  <h1\n    className=\"emotion-2 emotion-3\"\n    color=\"red\"\n  />\n</div>\n`;\n\nexports[`styled throws if undefined is passed as the component 1`] = `\n\"You are trying to create a styled element with an undefined component.\nYou may have forgotten to import it.\"\n`;\n\nexports[`styled with higher order component that hoists statics 1`] = `\n.emotion-1 {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  color: hotpink;\n  padding: 8px;\n}\n\n<div\n  className=\"emotion-0 emotion-1 emotion-2\"\n/>\n`;\n\nexports[`styled withComponent carries styles from flattened components 1`] = `\n.emotion-0 {\n  color: green;\n  color: hotpink;\n}\n\n<p\n  className=\"emotion-0 emotion-1\"\n/>\n`;\n\nexports[`styled withComponent will replace tags but keep styling classes 1`] = `\n.emotion-0 {\n  color: green;\n}\n\n.emotion-2 {\n  color: green;\n}\n\n<article>\n  <h1\n    className=\"emotion-0 emotion-1\"\n  >\n    My Title\n  </h1>\n  <h2\n    className=\"emotion-2 emotion-3\"\n  >\n    My Subtitle\n  </h2>\n</article>\n`;\n\nexports[`styled withComponent with function interpolation 1`] = `\n.emotion-0 {\n  color: green;\n}\n\n.emotion-2 {\n  color: hotpink;\n}\n\n<article>\n  <h1\n    className=\"emotion-0 emotion-1\"\n  >\n    My Title\n  </h1>\n  <h2\n    className=\"emotion-2 emotion-3\"\n    color=\"hotpink\"\n  >\n    My Subtitle\n  </h2>\n</article>\n`;\n"
  },
  {
    "path": "packages/styled/test/__snapshots__/prop-filtering.test.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`composes shouldForwardProp on composed styled components 1`] = `\n<div\n  className=\"emotion-0 emotion-1\"\n  xyz={true}\n/>\n`;\n\nexports[`custom shouldForwardProp works 1`] = `\n.emotion-0,\n.emotion-0 * {\n  fill: #0000ff;\n}\n\n<svg\n  className=\"emotion-0 emotion-1\"\n  height=\"100px\"\n  width=\"100px\"\n>\n  <rect\n    height=\"100\"\n    style={\n      {\n        \"stroke\": \"#ff0000\",\n      }\n    }\n    width=\"100\"\n    x=\"10\"\n    y=\"10\"\n  />\n</svg>\n`;\n\nexports[`no prop filtering on non string tags 1`] = `\n.emotion-0 {\n  color: green;\n}\n\n<a\n  a={true}\n  aria-label=\"some label\"\n  b={true}\n  className=\"emotion-0 emotion-1\"\n  cool={true}\n  data-wow=\"value\"\n  filtering={true}\n  href=\"link\"\n  is={true}\n  prop={true}\n  wow={true}\n>\n  hello world\n</a>\n`;\n\nexports[`no prop filtering on string tags started with upper case 1`] = `\n.emotion-0 {\n  color: green;\n}\n\n<SomeCustomLink\n  a={true}\n  aria-label=\"some label\"\n  b={true}\n  className=\"emotion-0 emotion-1\"\n  cool={true}\n  data-wow=\"value\"\n  filtering={true}\n  href=\"link\"\n  is={true}\n  prop={true}\n  wow={true}\n>\n  hello world\n</SomeCustomLink>\n`;\n\nexports[`prop filtering 1`] = `\n.emotion-0 {\n  color: green;\n}\n\n<a\n  aria-label=\"some label\"\n  className=\"emotion-0 emotion-1\"\n  data-wow=\"value\"\n  href=\"link\"\n  is={true}\n>\n  hello world\n</a>\n`;\n\nexports[`prop filtering on composed styled components that are string tags 1`] = `\n.emotion-0 {\n  background-color: hotpink;\n  color: green;\n}\n\n<a\n  aria-label=\"some label\"\n  className=\"emotion-0 emotion-1\"\n  data-wow=\"value\"\n  for=\"other reasons\"\n  href=\"link\"\n  is={true}\n  kind={true}\n>\n  hello world\n</a>\n`;\n\nexports[`shouldForwardProp should get inherited for wrapped styled components 1`] = `\n[\n  .emotion-0 {\n  background-color: red;\n}\n\n<div\n    className=\"emotion-0 emotion-1\"\n    id=\"test-1\"\n  />,\n  .emotion-0 {\n  background-color: green;\n}\n\n<div\n    className=\"emotion-0 emotion-1\"\n    id=\"test-2\"\n  />,\n]\n`;\n\nexports[`withComponent inherits explicit shouldForwardProp 1`] = `\n.emotion-0 {\n  color: hotpink;\n}\n\n<span\n  className=\"emotion-0 emotion-1\"\n  foo={true}\n/>\n`;\n\nexports[`withComponent inherits explicit shouldForwardProp from flattened component 1`] = `\n.emotion-0 {\n  color: hotpink;\n  background-color: blue;\n}\n\n<span\n  className=\"emotion-0 emotion-1\"\n  foo={true}\n/>\n`;\n\nexports[`withComponent should accept shouldForwardProp 1`] = `\n.emotion-0 {\n  color: hotpink;\n}\n\n<span\n  className=\"emotion-0 emotion-1\"\n  xyz={true}\n/>\n`;\n\nexports[`withComponent should compose shouldForwardProp 1`] = `\n.emotion-0 {\n  color: hotpink;\n}\n\n<span\n  className=\"emotion-0 emotion-1\"\n  qwe={true}\n  xyz={true}\n/>\n`;\n\nexports[`withComponent should compose shouldForwardProp with a flattened component 1`] = `\n.emotion-0 {\n  color: hotpink;\n}\n\n<span\n  className=\"emotion-0 emotion-1\"\n  qwe={true}\n  xyz={true}\n/>\n`;\n"
  },
  {
    "path": "packages/styled/test/__snapshots__/source-map.test.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`inserts source map 1`] = `\n<html>\n  <head>\n    <style\n      data-emotion=\"css\"\n      data-s=\"\"\n    >\n      \n      .css-1xjhfcy-Comp{color:hotpink;}/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNvdXJjZS1tYXAudGVzdC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNdUIiLCJmaWxlIjoic291cmNlLW1hcC50ZXN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCdcbmltcG9ydCByZW5kZXJlciBmcm9tICdyZWFjdC10ZXN0LXJlbmRlcmVyJ1xuXG50ZXN0KCdpbnNlcnRzIHNvdXJjZSBtYXAnLCAoKSA9PiB7XG4gIGxldCBDb21wID0gc3R5bGVkLmRpdmBcbiAgICBjb2xvcjogaG90cGluaztcbiAgYFxuICByZW5kZXJlci5jcmVhdGUoPENvbXAgLz4pXG4gIGV4cGVjdChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLnRvTWF0Y2hTbmFwc2hvdCgpXG59KVxuXG50ZXN0KCdzb3VyY2UgbWFwIHdpdGggY29tcG9zZWQgY29tcG9uZW50JywgKCkgPT4ge1xuICBsZXQgQ29tcCA9IHN0eWxlZC5kaXZgXG4gICAgY29sb3I6IGhvdHBpbms7XG4gIGBcbiAgbGV0IENvbXAyID0gc3R5bGVkKENvbXApYFxuICAgIGJhY2tncm91bmQ6IHllbGxvdztcbiAgYFxuICByZW5kZXJlci5jcmVhdGUoPENvbXAyIC8+KVxuICBleHBlY3QoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS50b01hdGNoU25hcHNob3QoKVxufSlcblxudGVzdCgnc291cmNlIG1hcCB3aXRoIGNvbXBvc2VkIHN0eWxlJywgKCkgPT4ge1xuICBsZXQgc3R5bGUgPSBjc3MoeyBjb2xvcjogJ2dyZWVuJyB9KVxuICBsZXQgQ29tcDIgPSBzdHlsZWQuZGl2YFxuICAgIGJhY2tncm91bmQ6IHllbGxvdztcbiAgICAke3N0eWxlfVxuICBgXG4gIHJlbmRlcmVyLmNyZWF0ZSg8Q29tcDIgLz4pXG4gIGV4cGVjdChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLnRvTWF0Y2hTbmFwc2hvdCgpXG59KVxuIl19 */\n    </style>\n  </head>\n  <body />\n</html>\n`;\n\nexports[`source map with composed component 1`] = `\n<html>\n  <head>\n    <style\n      data-emotion=\"css\"\n      data-s=\"\"\n    >\n      \n      .css-1xjhfcy-Comp{color:hotpink;}/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNvdXJjZS1tYXAudGVzdC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNdUIiLCJmaWxlIjoic291cmNlLW1hcC50ZXN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCdcbmltcG9ydCByZW5kZXJlciBmcm9tICdyZWFjdC10ZXN0LXJlbmRlcmVyJ1xuXG50ZXN0KCdpbnNlcnRzIHNvdXJjZSBtYXAnLCAoKSA9PiB7XG4gIGxldCBDb21wID0gc3R5bGVkLmRpdmBcbiAgICBjb2xvcjogaG90cGluaztcbiAgYFxuICByZW5kZXJlci5jcmVhdGUoPENvbXAgLz4pXG4gIGV4cGVjdChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLnRvTWF0Y2hTbmFwc2hvdCgpXG59KVxuXG50ZXN0KCdzb3VyY2UgbWFwIHdpdGggY29tcG9zZWQgY29tcG9uZW50JywgKCkgPT4ge1xuICBsZXQgQ29tcCA9IHN0eWxlZC5kaXZgXG4gICAgY29sb3I6IGhvdHBpbms7XG4gIGBcbiAgbGV0IENvbXAyID0gc3R5bGVkKENvbXApYFxuICAgIGJhY2tncm91bmQ6IHllbGxvdztcbiAgYFxuICByZW5kZXJlci5jcmVhdGUoPENvbXAyIC8+KVxuICBleHBlY3QoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS50b01hdGNoU25hcHNob3QoKVxufSlcblxudGVzdCgnc291cmNlIG1hcCB3aXRoIGNvbXBvc2VkIHN0eWxlJywgKCkgPT4ge1xuICBsZXQgc3R5bGUgPSBjc3MoeyBjb2xvcjogJ2dyZWVuJyB9KVxuICBsZXQgQ29tcDIgPSBzdHlsZWQuZGl2YFxuICAgIGJhY2tncm91bmQ6IHllbGxvdztcbiAgICAke3N0eWxlfVxuICBgXG4gIHJlbmRlcmVyLmNyZWF0ZSg8Q29tcDIgLz4pXG4gIGV4cGVjdChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLnRvTWF0Y2hTbmFwc2hvdCgpXG59KVxuIl19 */\n    </style>\n    <style\n      data-emotion=\"css\"\n      data-s=\"\"\n    >\n      \n      .css-116dvkb-Comp-Comp2{color:hotpink;background:yellow;}/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNvdXJjZS1tYXAudGVzdC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFpQjBCIiwiZmlsZSI6InNvdXJjZS1tYXAudGVzdC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCdcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5pbXBvcnQgcmVuZGVyZXIgZnJvbSAncmVhY3QtdGVzdC1yZW5kZXJlcidcblxudGVzdCgnaW5zZXJ0cyBzb3VyY2UgbWFwJywgKCkgPT4ge1xuICBsZXQgQ29tcCA9IHN0eWxlZC5kaXZgXG4gICAgY29sb3I6IGhvdHBpbms7XG4gIGBcbiAgcmVuZGVyZXIuY3JlYXRlKDxDb21wIC8+KVxuICBleHBlY3QoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS50b01hdGNoU25hcHNob3QoKVxufSlcblxudGVzdCgnc291cmNlIG1hcCB3aXRoIGNvbXBvc2VkIGNvbXBvbmVudCcsICgpID0+IHtcbiAgbGV0IENvbXAgPSBzdHlsZWQuZGl2YFxuICAgIGNvbG9yOiBob3RwaW5rO1xuICBgXG4gIGxldCBDb21wMiA9IHN0eWxlZChDb21wKWBcbiAgICBiYWNrZ3JvdW5kOiB5ZWxsb3c7XG4gIGBcbiAgcmVuZGVyZXIuY3JlYXRlKDxDb21wMiAvPilcbiAgZXhwZWN0KGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkudG9NYXRjaFNuYXBzaG90KClcbn0pXG5cbnRlc3QoJ3NvdXJjZSBtYXAgd2l0aCBjb21wb3NlZCBzdHlsZScsICgpID0+IHtcbiAgbGV0IHN0eWxlID0gY3NzKHsgY29sb3I6ICdncmVlbicgfSlcbiAgbGV0IENvbXAyID0gc3R5bGVkLmRpdmBcbiAgICBiYWNrZ3JvdW5kOiB5ZWxsb3c7XG4gICAgJHtzdHlsZX1cbiAgYFxuICByZW5kZXJlci5jcmVhdGUoPENvbXAyIC8+KVxuICBleHBlY3QoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS50b01hdGNoU25hcHNob3QoKVxufSlcbiJdfQ== */\n    </style>\n  </head>\n  <body />\n</html>\n`;\n\nexports[`source map with composed style 1`] = `\n<html>\n  <head>\n    <style\n      data-emotion=\"css\"\n      data-s=\"\"\n    >\n      \n      .css-1xjhfcy-Comp{color:hotpink;}/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNvdXJjZS1tYXAudGVzdC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNdUIiLCJmaWxlIjoic291cmNlLW1hcC50ZXN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCdcbmltcG9ydCByZW5kZXJlciBmcm9tICdyZWFjdC10ZXN0LXJlbmRlcmVyJ1xuXG50ZXN0KCdpbnNlcnRzIHNvdXJjZSBtYXAnLCAoKSA9PiB7XG4gIGxldCBDb21wID0gc3R5bGVkLmRpdmBcbiAgICBjb2xvcjogaG90cGluaztcbiAgYFxuICByZW5kZXJlci5jcmVhdGUoPENvbXAgLz4pXG4gIGV4cGVjdChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLnRvTWF0Y2hTbmFwc2hvdCgpXG59KVxuXG50ZXN0KCdzb3VyY2UgbWFwIHdpdGggY29tcG9zZWQgY29tcG9uZW50JywgKCkgPT4ge1xuICBsZXQgQ29tcCA9IHN0eWxlZC5kaXZgXG4gICAgY29sb3I6IGhvdHBpbms7XG4gIGBcbiAgbGV0IENvbXAyID0gc3R5bGVkKENvbXApYFxuICAgIGJhY2tncm91bmQ6IHllbGxvdztcbiAgYFxuICByZW5kZXJlci5jcmVhdGUoPENvbXAyIC8+KVxuICBleHBlY3QoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS50b01hdGNoU25hcHNob3QoKVxufSlcblxudGVzdCgnc291cmNlIG1hcCB3aXRoIGNvbXBvc2VkIHN0eWxlJywgKCkgPT4ge1xuICBsZXQgc3R5bGUgPSBjc3MoeyBjb2xvcjogJ2dyZWVuJyB9KVxuICBsZXQgQ29tcDIgPSBzdHlsZWQuZGl2YFxuICAgIGJhY2tncm91bmQ6IHllbGxvdztcbiAgICAke3N0eWxlfVxuICBgXG4gIHJlbmRlcmVyLmNyZWF0ZSg8Q29tcDIgLz4pXG4gIGV4cGVjdChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLnRvTWF0Y2hTbmFwc2hvdCgpXG59KVxuIl19 */\n    </style>\n    <style\n      data-emotion=\"css\"\n      data-s=\"\"\n    >\n      \n      .css-116dvkb-Comp-Comp2{color:hotpink;background:yellow;}/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNvdXJjZS1tYXAudGVzdC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFpQjBCIiwiZmlsZSI6InNvdXJjZS1tYXAudGVzdC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCdcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5pbXBvcnQgcmVuZGVyZXIgZnJvbSAncmVhY3QtdGVzdC1yZW5kZXJlcidcblxudGVzdCgnaW5zZXJ0cyBzb3VyY2UgbWFwJywgKCkgPT4ge1xuICBsZXQgQ29tcCA9IHN0eWxlZC5kaXZgXG4gICAgY29sb3I6IGhvdHBpbms7XG4gIGBcbiAgcmVuZGVyZXIuY3JlYXRlKDxDb21wIC8+KVxuICBleHBlY3QoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS50b01hdGNoU25hcHNob3QoKVxufSlcblxudGVzdCgnc291cmNlIG1hcCB3aXRoIGNvbXBvc2VkIGNvbXBvbmVudCcsICgpID0+IHtcbiAgbGV0IENvbXAgPSBzdHlsZWQuZGl2YFxuICAgIGNvbG9yOiBob3RwaW5rO1xuICBgXG4gIGxldCBDb21wMiA9IHN0eWxlZChDb21wKWBcbiAgICBiYWNrZ3JvdW5kOiB5ZWxsb3c7XG4gIGBcbiAgcmVuZGVyZXIuY3JlYXRlKDxDb21wMiAvPilcbiAgZXhwZWN0KGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkudG9NYXRjaFNuYXBzaG90KClcbn0pXG5cbnRlc3QoJ3NvdXJjZSBtYXAgd2l0aCBjb21wb3NlZCBzdHlsZScsICgpID0+IHtcbiAgbGV0IHN0eWxlID0gY3NzKHsgY29sb3I6ICdncmVlbicgfSlcbiAgbGV0IENvbXAyID0gc3R5bGVkLmRpdmBcbiAgICBiYWNrZ3JvdW5kOiB5ZWxsb3c7XG4gICAgJHtzdHlsZX1cbiAgYFxuICByZW5kZXJlci5jcmVhdGUoPENvbXAyIC8+KVxuICBleHBlY3QoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS50b01hdGNoU25hcHNob3QoKVxufSlcbiJdfQ== */\n    </style>\n    <style\n      data-emotion=\"css\"\n      data-s=\"\"\n    >\n      \n      .css-1nwg2t9-Comp2-style{background:yellow;color:green;}/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNvdXJjZS1tYXAudGVzdC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEwQndCIiwiZmlsZSI6InNvdXJjZS1tYXAudGVzdC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCdcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5pbXBvcnQgcmVuZGVyZXIgZnJvbSAncmVhY3QtdGVzdC1yZW5kZXJlcidcblxudGVzdCgnaW5zZXJ0cyBzb3VyY2UgbWFwJywgKCkgPT4ge1xuICBsZXQgQ29tcCA9IHN0eWxlZC5kaXZgXG4gICAgY29sb3I6IGhvdHBpbms7XG4gIGBcbiAgcmVuZGVyZXIuY3JlYXRlKDxDb21wIC8+KVxuICBleHBlY3QoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS50b01hdGNoU25hcHNob3QoKVxufSlcblxudGVzdCgnc291cmNlIG1hcCB3aXRoIGNvbXBvc2VkIGNvbXBvbmVudCcsICgpID0+IHtcbiAgbGV0IENvbXAgPSBzdHlsZWQuZGl2YFxuICAgIGNvbG9yOiBob3RwaW5rO1xuICBgXG4gIGxldCBDb21wMiA9IHN0eWxlZChDb21wKWBcbiAgICBiYWNrZ3JvdW5kOiB5ZWxsb3c7XG4gIGBcbiAgcmVuZGVyZXIuY3JlYXRlKDxDb21wMiAvPilcbiAgZXhwZWN0KGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkudG9NYXRjaFNuYXBzaG90KClcbn0pXG5cbnRlc3QoJ3NvdXJjZSBtYXAgd2l0aCBjb21wb3NlZCBzdHlsZScsICgpID0+IHtcbiAgbGV0IHN0eWxlID0gY3NzKHsgY29sb3I6ICdncmVlbicgfSlcbiAgbGV0IENvbXAyID0gc3R5bGVkLmRpdmBcbiAgICBiYWNrZ3JvdW5kOiB5ZWxsb3c7XG4gICAgJHtzdHlsZX1cbiAgYFxuICByZW5kZXJlci5jcmVhdGUoPENvbXAyIC8+KVxuICBleHBlY3QoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS50b01hdGNoU25hcHNob3QoKVxufSlcbiJdfQ== */\n    </style>\n  </head>\n  <body />\n</html>\n`;\n"
  },
  {
    "path": "packages/styled/test/__snapshots__/theming.dom.test.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`change theme 1`] = `\n.emotion-0 {\n  color: green;\n}\n\n<div>\n  <div\n    class=\"emotion-0 emotion-1\"\n  >\n    this will be green then pink\n  </div>\n</div>\n`;\n\nexports[`change theme 2`] = `\n.emotion-0 {\n  color: pink;\n}\n\n<div>\n  <div\n    class=\"emotion-0 emotion-1\"\n  >\n    this will be green then pink\n  </div>\n</div>\n`;\n\nexports[`change theme 3`] = `<div />`;\n"
  },
  {
    "path": "packages/styled/test/__snapshots__/theming.test.js.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`theme prop exists without ThemeProvider 1`] = `\n.emotion-0 {\n  color: green;\n  background-color: yellow;\n}\n\n<div\n  className=\"emotion-0 emotion-1\"\n/>\n`;\n\nexports[`theme prop exists without ThemeProvider with a theme prop on the component 1`] = `\n.emotion-0 {\n  color: hotpink;\n  background-color: yellow;\n}\n\n<div\n  className=\"emotion-0 emotion-1\"\n/>\n`;\n\nexports[`theme with react-test-renderer 1`] = `\n.emotion-0 {\n  color: pink;\n}\n\n<div\n  className=\"emotion-0 emotion-1\"\n>\n  this will be pink\n</div>\n`;\n\nexports[`themes 1`] = `\n.emotion-0 {\n  background-color: #ffd43b;\n  color: blue;\n  height: 64px;\n  font-size: 20px;\n  color: #8c81d8;\n  font-size: 32px;\n}\n\n<span\n  className=\"emotion-0 emotion-1\"\n>\n  hello world\n</span>\n`;\n"
  },
  {
    "path": "packages/styled/test/babel-plugin.test.js",
    "content": "import 'test-utils/legacy-env'\nimport React from 'react'\nimport * as renderer from 'react-test-renderer'\nimport styled from '@emotion/styled'\n\ntest(\"config merging works even if it's referenced by variable\", () => {\n  const Button = ({ isRed, ...rest }) => (\n    <button {...rest}>{isRed ? 'forwarded' : 'not forwarded'}</button>\n  )\n\n  const cfg = { shouldForwardProp: p => p !== 'isRed' }\n  const StyledButton = styled(Button, cfg)({})\n  const tree = renderer.create(<StyledButton isRed />).toJSON()\n  expect(tree.children).toEqual(['not forwarded'])\n})\n"
  },
  {
    "path": "packages/styled/test/component-selector.test.js",
    "content": "import 'test-utils/legacy-env'\nimport React from 'react'\nimport styled from '@emotion/styled'\nimport * as renderer from 'react-test-renderer'\n\ntest('component as selector', () => {\n  const fontSize = '20px'\n  const H1 = styled.h1`\n    font-size: ${fontSize};\n  `\n\n  const Thing = styled.div`\n    display: flex;\n    ${H1} {\n      color: green;\n    }\n  `\n\n  const tree = renderer\n    .create(\n      <Thing>\n        hello <H1>This will be green</H1> world\n      </Thing>\n    )\n    .toJSON()\n\n  expect(tree).toMatchSnapshot()\n})\n\ntest('component as selector function interpolation', () => {\n  const H1 = styled.h1`\n    font-size: ${props => props.fontSize}px;\n  `\n\n  const Thing = styled.div`\n    display: flex;\n    ${H1} {\n      color: green;\n    }\n  `\n\n  const tree = renderer\n    .create(\n      <Thing fontSize={10}>\n        hello <H1 fontSize={20}>This will be green</H1> world\n      </Thing>\n    )\n    .toJSON()\n\n  expect(tree).toMatchSnapshot()\n})\n\ntest('component as selector (object syntax)', () => {\n  const fontSize = '20px'\n  const H1 = styled('h1')({ fontSize })\n\n  const Thing = styled('div')({\n    display: 'flex',\n    [H1]: {\n      color: 'green'\n    }\n  })\n\n  const tree = renderer\n    .create(\n      <Thing>\n        hello <H1>This will be green</H1> world\n      </Thing>\n    )\n    .toJSON()\n\n  expect(tree).toMatchSnapshot()\n})\n\ntest('component as selector function interpolation (object syntax)', () => {\n  const H1 = styled('h1')(props => ({\n    fontSize: `${props.fontSize}px`\n  }))\n\n  const Thing = styled('div')({\n    display: 'flex',\n    [H1]: {\n      color: 'green'\n    }\n  })\n\n  const tree = renderer\n    .create(\n      <Thing fontSize={10}>\n        hello <H1 fontSize={20}>This will be green</H1> world\n      </Thing>\n    )\n    .toJSON()\n\n  expect(tree).toMatchSnapshot()\n})\n"
  },
  {
    "path": "packages/styled/test/composition.test.js",
    "content": "/** @jsx jsx */\nimport 'test-utils/legacy-env'\nimport * as renderer from 'react-test-renderer'\nimport { jsx, css } from '@emotion/react'\nimport styled from '@emotion/styled'\n\nimport { lighten, hiDPI } from 'polished'\n\ntest('composition', () => {\n  const fontSize = '20px'\n\n  const cssA = css`\n    color: blue;\n  `\n\n  const cssB = css`\n    ${cssA};\n    color: red;\n  `\n\n  const BlueH1 = styled('h1')`\n    ${cssB};\n    color: blue;\n    font-size: ${fontSize};\n  `\n\n  const FinalH2 = styled(BlueH1)`\n    font-size: 32px;\n  `\n\n  const tree = renderer\n    .create(\n      <FinalH2 scale={2} className={'legacy__class'}>\n        hello world\n      </FinalH2>\n    )\n    .toJSON()\n\n  expect(tree).toMatchSnapshot()\n})\n\ntest('composition with objects', () => {\n  const cssA = {\n    color: lighten(0.2, '#000'),\n    fontSize: '1em',\n    [hiDPI(1.5).replace('\\n', ' ').trim()]: { fontSize: '1.25em' }\n  }\n\n  const cssB = css`\n    ${cssA};\n    height: 64px;\n  `\n\n  const H1 = styled('h1')`\n    ${cssB};\n    font-size: 4em;\n  `\n\n  const H2 = styled(H1)`\n    font-size: 32px;\n  `\n\n  const tree = renderer\n    .create(\n      <H2 scale={2} className={'legacy__class'}>\n        hello world\n      </H2>\n    )\n    .toJSON()\n\n  expect(tree).toMatchSnapshot()\n})\ntest('object composition', () => {\n  const imageStyles = css({ width: 96, height: 96 })\n\n  css([{ color: 'blue' }])\n\n  const red = css([{ color: 'red' }])\n\n  const blue = css([red, { color: 'blue' }])\n\n  const prettyStyles = css([\n    {\n      borderRadius: '50%',\n      transition: 'transform 400ms ease-in-out',\n      ':hover': {\n        transform: 'scale(1.2)'\n      }\n    },\n    { border: '3px solid currentColor' }\n  ])\n\n  const Avatar = styled('img')`\n    ${prettyStyles};\n    ${imageStyles};\n    ${blue};\n  `\n\n  const tree = renderer.create(<Avatar />).toJSON()\n\n  expect(tree).toMatchSnapshot()\n})\n\ntest('composition', () => {\n  const fontSize = 20\n  const H1 = styled('h1')`\n    font-size: ${fontSize + 'px'};\n  `\n\n  const H2 = styled(H1)`\n    font-size: ${(fontSize * 2) / 3 + 'px'};\n  `\n\n  const tree = renderer\n    .create(<H2 className={'legacy__class'}>hello world</H2>)\n    .toJSON()\n  expect(tree).toMatchSnapshot()\n})\n\ntest('composing components', () => {\n  const Button = styled.button`\n    color: green;\n  `\n  const OtherButton = styled(Button)`\n    display: none;\n  `\n\n  const AnotherButton = styled(OtherButton)`\n    display: flex;\n    justify-content: center;\n  `\n  const tree = renderer\n    .create(<AnotherButton>hello world</AnotherButton>)\n    .toJSON()\n\n  expect(tree).toMatchSnapshot()\n})\n\ntest('composition of nested pseudo selectors', () => {\n  const defaultLinkStyles = {\n    '&:hover': {\n      color: 'blue',\n      '&:active': {\n        color: 'red'\n      }\n    }\n  }\n\n  const buttonStyles = () => ({\n    ...defaultLinkStyles,\n    fontSize: '2rem',\n    padding: 16\n  })\n\n  const Button = styled('button')(buttonStyles)\n\n  const tree = renderer\n    .create(\n      <Button\n        css={css({\n          '&:hover': {\n            color: 'pink',\n            '&:active': {\n              color: 'purple'\n            },\n            '&.some-class': {\n              color: 'yellow'\n            }\n          }\n        })}\n      >\n        Should be purple\n      </Button>\n    )\n    .toJSON()\n  expect(tree).toMatchSnapshot()\n})\n\ntest('glamorous style api & composition', () => {\n  const H1 = styled.h1(props => ({ fontSize: props.fontSize }))\n  const H2 = styled(H1)(props => ({ flex: props.flex }), { display: 'flex' })\n\n  const tree = renderer\n    .create(\n      <H2 fontSize={20} flex={1}>\n        hello world\n      </H2>\n    )\n    .toJSON()\n\n  expect(tree).toMatchSnapshot()\n})\n"
  },
  {
    "path": "packages/styled/test/index.test.js",
    "content": "import 'test-utils/legacy-env'\nimport React from 'react'\nimport * as renderer from 'react-test-renderer'\nimport { css } from '@emotion/react'\nimport styled from '@emotion/styled'\nimport hoistNonReactStatics from 'hoist-non-react-statics'\n\ndescribe('styled', () => {\n  test('no dynamic', () => {\n    const H1 = styled.h1`\n      float: left;\n    `\n\n    const tree = renderer.create(<H1>hello world</H1>).toJSON()\n\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('basic render', () => {\n    const fontSize = 20\n    const H1 = styled.h1`\n      color: blue;\n      font-size: ${fontSize + 'px'};\n      @media (min-width: 420px) {\n        color: blue;\n      }\n    `\n\n    const tree = renderer.create(<H1>hello world</H1>).toJSON()\n\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('basic render with object as style', () => {\n    const fontSize = 20\n    const H1 = styled.h1({ fontSize })\n\n    const tree = renderer.create(<H1>hello world</H1>).toJSON()\n\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('object as style', () => {\n    const H1 = styled.h1(\n      props => ({\n        fontSize: props.fontSize\n      }),\n      props => ({ flex: props.flex }),\n      { display: 'flex' }\n    )\n\n    const tree = renderer\n      .create(\n        <H1 fontSize={20} flex={1}>\n          hello world\n        </H1>\n      )\n      .toJSON()\n\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('inline function return value is a function', () => {\n    const fontSize = () => 20\n    const Blue = styled('h1')`\n      font-size: ${() => fontSize}px;\n    `\n\n    const tree = renderer.create(<Blue>hello world</Blue>).toJSON()\n\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('call expression', () => {\n    const fontSize = 20\n    const Div = styled('div')`\n      font-size: ${fontSize}px;\n    `\n\n    const tree = renderer.create(<Div>hello world</Div>).toJSON()\n\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('nested', () => {\n    const fontSize = '20px'\n    const H1 = styled.h1`\n      font-size: ${fontSize};\n    `\n\n    const Thing = styled.div`\n      display: flex;\n      & div {\n        color: green;\n\n        & span {\n          color: red;\n        }\n      }\n    `\n\n    const tree = renderer\n      .create(\n        <Thing>\n          hello <H1>This will be green</H1> world\n        </Thing>\n      )\n      .toJSON()\n\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('random expressions undefined return', () => {\n    const H1 = styled('h1')`\n      ${props =>\n        props.prop &&\n        css`\n          font-size: 1rem;\n        `};\n      color: green;\n    `\n\n    const tree = renderer\n      .create(<H1 className={'legacy__class'}>hello world</H1>)\n      .toJSON()\n\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('random object expression', () => {\n    const margin = (t, r, b, l) => {\n      return props => ({\n        marginTop: t,\n        marginRight: r,\n        marginBottom: b,\n        marginLeft: l\n      })\n    }\n    const H1 = styled.h1`\n      background-color: hotpink;\n      ${props => props.prop && { fontSize: '1rem' }};\n      ${margin(0, 'auto', 0, 'auto')};\n      color: green;\n    `\n\n    const tree = renderer\n      .create(\n        <H1 className={'legacy__class'} prop>\n          hello world\n        </H1>\n      )\n      .toJSON()\n\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('input placeholder', () => {\n    const Input = styled.input`\n      ::placeholder {\n        background-color: green;\n      }\n    `\n    const tree = renderer.create(<Input>hello world</Input>).toJSON()\n\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('input placeholder object', () => {\n    const Input = styled('input')({\n      '::placeholder': {\n        backgroundColor: 'green'\n      }\n    })\n\n    const tree = renderer.create(<Input>hello world</Input>).toJSON()\n\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('handles more than 10 dynamic properties', () => {\n    const H1 = styled('h1')`\n      text-decoration: ${'underline'};\n      border-right: solid blue 54px;\n      background: ${'white'};\n      color: ${'black'};\n      display: ${'block'};\n      border-radius: ${'3px'};\n      padding: ${'25px'};\n      width: ${'500px'};\n      z-index: ${100};\n      font-size: ${'18px'};\n      text-align: ${'center'};\n      border-left: ${p => p.theme.blue};\n    `\n\n    const tree = renderer\n      .create(\n        <H1 className={'legacy__class'} theme={{ blue: 'blue' }}>\n          hello world\n        </H1>\n      )\n      .toJSON()\n\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('function in expression', () => {\n    const fontSize = 20\n    const H1 = styled('h1')`\n      font-size: ${fontSize + 'px'};\n    `\n\n    const H2 = styled(H1)`\n      font-size: ${({ scale }) => fontSize * scale + 'px'};\n    `\n\n    const tree = renderer\n      .create(\n        <H2 scale={2} className={'legacy__class'}>\n          hello world\n        </H2>\n      )\n      .toJSON()\n\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('ref', () => {\n    const H1 = styled.h1`\n      font-size: 12px;\n    `\n\n    const refFunction = jest.fn()\n\n    const tree = renderer\n      .create(<H1 ref={refFunction}>hello world</H1>)\n      .toJSON()\n\n    expect(tree).toMatchSnapshot()\n    expect(refFunction).toBeCalled()\n  })\n\n  test('composition based on props', () => {\n    const cssA = css`\n      color: blue;\n    `\n\n    const cssB = css`\n      color: green;\n    `\n\n    const H1 = styled('h1')`\n      ${props => (props.a ? cssA : cssB)};\n    `\n\n    const tree = renderer.create(<H1 a>hello world</H1>).toJSON()\n\n    expect(tree).toMatchSnapshot()\n    const tree2 = renderer.create(<H1>hello world</H1>).toJSON()\n\n    expect(tree2).toMatchSnapshot()\n  })\n\n  test('objects', () => {\n    const H1 = styled('h1')({ padding: 10 }, props => ({\n      display: props.display\n    }))\n    const tree = renderer.create(<H1 display=\"flex\">hello world</H1>).toJSON()\n\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('objects with spread properties', () => {\n    const defaultText = { fontSize: 20 }\n    const Figure = styled.figure({ ...defaultText })\n    const tree = renderer.create(<Figure>hello world</Figure>).toJSON()\n\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('with higher order component that hoists statics', () => {\n    const superImportantValue = 'hotpink'\n    const hoc = BaseComponent => {\n      const NewComponent = props => (\n        <BaseComponent someProp={superImportantValue} {...props} />\n      )\n      return hoistNonReactStatics(NewComponent, BaseComponent)\n    }\n    const SomeComponent = hoc(styled.div`\n      display: flex;\n      color: ${props => props.someProp};\n    `)\n    const FinalComponent = styled(SomeComponent)`\n      padding: 8px;\n    `\n    const tree = renderer.create(<FinalComponent />).toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('throws if undefined is passed as the component', () => {\n    expect(\n      () => styled(undefined)`\n        display: flex;\n      `\n    ).toThrowErrorMatchingSnapshot()\n  })\n\n  test('function that function returns gets called with props', () => {\n    const SomeComponent = styled.div`\n      color: ${() => props => props.color};\n      background-color: yellow;\n    `\n    const tree = renderer.create(<SomeComponent color=\"hotpink\" />).toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('withComponent carries styles from flattened components', () => {\n    const SomeComponent = styled.div`\n      color: green;\n    `\n    const AnotherComponent = styled(SomeComponent)`\n      color: hotpink;\n    `\n    const OneMoreComponent = AnotherComponent.withComponent('p')\n    const tree = renderer.create(<OneMoreComponent />).toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('should forward .defaultProps when reusing __emotion_base', () => {\n    const Title = styled('h1')`\n      text-align: center;\n      ${props => ({\n        color: props.color\n      })};\n    `\n\n    Title.defaultProps = {\n      color: 'red'\n    }\n\n    const Title2 = styled(Title)`\n      font-style: italic;\n    `\n\n    const tree = renderer\n      .create(\n        <div>\n          <Title />\n          <Title2 />\n        </div>\n      )\n      .toJSON()\n    expect(tree).toMatchSnapshot()\n  })\n  test('withComponent will replace tags but keep styling classes', () => {\n    const Title = styled('h1')`\n      color: green;\n    `\n    const Subtitle = Title.withComponent('h2')\n\n    const tree = renderer\n      .create(\n        <article>\n          <Title>My Title</Title>\n          <Subtitle>My Subtitle</Subtitle>\n        </article>\n      )\n      .toJSON()\n\n    expect(tree).toMatchSnapshot()\n  })\n  test('withComponent with function interpolation', () => {\n    const Title = styled('h1')`\n      color: ${props => props.color || 'green'};\n    `\n    const Subtitle = Title.withComponent('h2')\n\n    const tree = renderer\n      .create(\n        <article>\n          <Title>My Title</Title>\n          <Subtitle color=\"hotpink\">My Subtitle</Subtitle>\n        </article>\n      )\n      .toJSON()\n\n    expect(tree).toMatchSnapshot()\n  })\n\n  test('name with class component', () => {\n    class SomeComponent extends React.Component /* <{ className: string }> */ {\n      render() {\n        return <div className={this.props.className} />\n      }\n    }\n    const StyledComponent = styled(SomeComponent)`\n      color: hotpink;\n    `\n    expect(StyledComponent.displayName).toBe(`StyledComponent`)\n  })\n})\n"
  },
  {
    "path": "packages/styled/test/prop-filtering.test.js",
    "content": "import 'test-utils/legacy-env'\nimport React from 'react'\nimport * as renderer from 'react-test-renderer'\nimport styled from '@emotion/styled'\n\ntest('composes shouldForwardProp on composed styled components', () => {\n  const StyledDiv = styled('div', {\n    shouldForwardProp: prop => prop !== 'foo'\n  })()\n\n  const ComposedDiv = styled(StyledDiv, {\n    shouldForwardProp: prop => prop !== 'bar'\n  })()\n\n  const tree = renderer.create(<ComposedDiv foo bar xyz />).toJSON()\n\n  expect(tree).toMatchSnapshot()\n})\n\ntest('custom shouldForwardProp works', () => {\n  const Svg = props => (\n    <svg {...props}>\n      <rect\n        x=\"10\"\n        y=\"10\"\n        height=\"100\"\n        width=\"100\"\n        style={{ stroke: '#ff0000' }}\n      />\n    </svg>\n  )\n\n  const StyledSvg = styled(Svg, {\n    shouldForwardProp: prop =>\n      ['className', 'width', 'height'].indexOf(prop) !== -1\n  })`\n    &,\n    & * {\n      fill: ${({ color }) => color};\n    }\n  `\n\n  const tree = renderer\n    .create(<StyledSvg color=\"#0000ff\" width=\"100px\" height=\"100px\" />)\n    .toJSON()\n  expect(tree).toMatchSnapshot()\n})\n\ntest('shouldForwardProp should get inherited for wrapped styled components', () => {\n  const Div1 = styled('div', {\n    shouldForwardProp: prop => prop !== 'color'\n  })`\n    background-color: ${({ color }) => color};\n  `\n\n  const Div2 = styled(Div1)``\n\n  const tree = renderer\n    .create(\n      <>\n        <Div1 color=\"red\" id=\"test-1\" />\n        <Div2 color=\"green\" id=\"test-2\" />\n      </>\n    )\n    .toJSON()\n  expect(tree).toMatchSnapshot()\n})\n\ntest('prop filtering', () => {\n  const Link = styled.a`\n    color: green;\n  `\n  const rest = { m: [3], pt: [4] }\n\n  const tree = renderer\n    .create(\n      <Link\n        a\n        b\n        wow\n        prop\n        filtering\n        is\n        cool\n        aria-label=\"some label\"\n        data-wow=\"value\"\n        href=\"link\"\n        {...rest}\n      >\n        hello world\n      </Link>\n    )\n    .toJSON()\n\n  expect(tree).toMatchSnapshot()\n})\ntest('no prop filtering on non string tags', () => {\n  const Link = styled(props => <a {...props} />)`\n    color: green;\n  `\n\n  const tree = renderer\n    .create(\n      <Link\n        a\n        b\n        wow\n        prop\n        filtering\n        is\n        cool\n        aria-label=\"some label\"\n        data-wow=\"value\"\n        href=\"link\"\n      >\n        hello world\n      </Link>\n    )\n    .toJSON()\n\n  expect(tree).toMatchSnapshot()\n})\n\ntest('no prop filtering on string tags started with upper case', () => {\n  const Link = styled('SomeCustomLink')`\n    color: green;\n  `\n\n  const tree = renderer\n    .create(\n      <Link\n        a\n        b\n        wow\n        prop\n        filtering\n        is\n        cool\n        aria-label=\"some label\"\n        data-wow=\"value\"\n        href=\"link\"\n      >\n        hello world\n      </Link>\n    )\n    .toJSON()\n\n  expect(tree).toMatchSnapshot()\n})\n\ntest('basic SVG attributes survive prop filtering', () => {\n  const RedCircle = styled('circle')`\n    fill: #ff0000;\n    stroke-width: 0.26458332;\n  `\n\n  const svg = renderer\n    .create(<RedCircle r=\"9.8273811\" cy=\"49.047619\" cx=\"65.011902\" />)\n    .toJSON()\n\n  expect(svg).toMatchInlineSnapshot(`\n.emotion-0 {\n  fill: #ff0000;\n  stroke-width: 0.26458332;\n}\n\n<circle\n  className=\"emotion-0 emotion-1\"\n  cx=\"65.011902\"\n  cy=\"49.047619\"\n  r=\"9.8273811\"\n/>\n`)\n})\n\ntest('all SVG attributes survive prop filtering', () => {\n  const svgAttributes = {\n    accentHeight: 'abcd',\n    accumulate: 'abcd',\n    additive: 'abcd',\n    alignmentBaseline: 'abcd',\n    allowReorder: 'abcd',\n    alphabetic: 'abcd',\n    amplitude: 'abcd',\n    arabicForm: 'abcd',\n    ascent: 'abcd',\n    attributeName: 'abcd',\n    attributeType: 'abcd',\n    autoReverse: 'abcd',\n    azimuth: 'abcd',\n    baseFrequency: 'abcd',\n    baselineShift: 'abcd',\n    baseProfile: 'abcd',\n    bbox: 'abcd',\n    begin: 'abcd',\n    bias: 'abcd',\n    by: 'abcd',\n    calcMode: 'abcd',\n    capHeight: 'abcd',\n    clip: 'abcd',\n    clipPathUnits: 'abcd',\n    clipPath: 'abcd',\n    clipRule: 'abcd',\n    colorInterpolation: 'abcd',\n    colorInterpolationFilters: 'abcd',\n    colorProfile: 'abcd',\n    colorRendering: 'abcd',\n    contentScriptType: 'abcd',\n    contentStyleType: 'abcd',\n    cursor: 'abcd',\n    cx: 'abcd',\n    cy: 'abcd',\n    d: 'abcd',\n    decelerate: 'abcd',\n    descent: 'abcd',\n    diffuseConstant: 'abcd',\n    direction: 'abcd',\n    display: 'abcd',\n    divisor: 'abcd',\n    dominantBaseline: 'abcd',\n    dur: 'abcd',\n    dx: 'abcd',\n    dy: 'abcd',\n    edgeMode: 'abcd',\n    elevation: 'abcd',\n    enableBackground: 'abcd',\n    end: 'abcd',\n    exponent: 'abcd',\n    externalResourcesRequired: 'abcd',\n    fill: 'abcd',\n    fillOpacity: 'abcd',\n    fillRule: 'abcd',\n    filter: 'abcd',\n    filterRes: 'abcd',\n    filterUnits: 'abcd',\n    floodColor: 'abcd',\n    floodOpacity: 'abcd',\n    fontFamily: 'abcd',\n    fontSize: 'abcd',\n    fontSizeAdjust: 'abcd',\n    fontStretch: 'abcd',\n    fontStyle: 'abcd',\n    fontVariant: 'abcd',\n    fontWeight: 'abcd',\n    format: 'abcd',\n    from: 'abcd',\n    // fr: 'abcd', React doesn't seem to allow this on any element but it should be legal on radialGradients\n    fx: 'abcd',\n    fy: 'abcd',\n    g1: 'abcd',\n    g2: 'abcd',\n    glyphName: 'abcd',\n    glyphOrientationHorizontal: 'abcd',\n    glyphOrientationVertical: 'abcd',\n    glyphRef: 'abcd',\n    gradientTransform: 'abcd',\n    gradientUnits: 'abcd',\n    hanging: 'abcd',\n    horizAdvX: 'abcd',\n    horizOriginX: 'abcd',\n    ideographic: 'abcd',\n    imageRendering: 'abcd',\n    in: 'abcd',\n    in2: 'abcd',\n    intercept: 'abcd',\n    k: 'abcd',\n    k1: 'abcd',\n    k2: 'abcd',\n    k3: 'abcd',\n    k4: 'abcd',\n    kernelMatrix: 'abcd',\n    kernelUnitLength: 'abcd',\n    kerning: 'abcd',\n    keyPoints: 'abcd',\n    keySplines: 'abcd',\n    keyTimes: 'abcd',\n    lengthAdjust: 'abcd',\n    letterSpacing: 'abcd',\n    lightingColor: 'abcd',\n    limitingConeAngle: 'abcd',\n    local: 'abcd',\n    markerEnd: 'abcd',\n    markerMid: 'abcd',\n    markerStart: 'abcd',\n    markerHeight: 'abcd',\n    markerUnits: 'abcd',\n    markerWidth: 'abcd',\n    mask: 'abcd',\n    maskContentUnits: 'abcd',\n    maskUnits: 'abcd',\n    mathematical: 'abcd',\n    mode: 'abcd',\n    numOctaves: 'abcd',\n    offset: 'abcd',\n    opacity: 'abcd',\n    operator: 'abcd',\n    order: 'abcd',\n    orient: 'abcd',\n    orientation: 'abcd',\n    origin: 'abcd',\n    overflow: 'abcd',\n    overlinePosition: 'abcd',\n    overlineThickness: 'abcd',\n    panose1: 'abcd',\n    paintOrder: 'abcd',\n    pathLength: 'abcd',\n    patternContentUnits: 'abcd',\n    patternTransform: 'abcd',\n    patternUnits: 'abcd',\n    pointerEvents: 'abcd',\n    points: 'abcd',\n    pointsAtX: 'abcd',\n    pointsAtY: 'abcd',\n    pointsAtZ: 'abcd',\n    preserveAlpha: 'abcd',\n    preserveAspectRatio: 'abcd',\n    primitiveUnits: 'abcd',\n    r: 'abcd',\n    radius: 'abcd',\n    refX: 'abcd',\n    refY: 'abcd',\n    renderingIntent: 'abcd',\n    repeatCount: 'abcd',\n    repeatDur: 'abcd',\n    requiredExtensions: 'abcd',\n    requiredFeatures: 'abcd',\n    restart: 'abcd',\n    result: 'abcd',\n    rotate: 'abcd',\n    rx: 'abcd',\n    ry: 'abcd',\n    scale: 'abcd',\n    seed: 'abcd',\n    shapeRendering: 'abcd',\n    slope: 'abcd',\n    spacing: 'abcd',\n    specularConstant: 'abcd',\n    specularExponent: 'abcd',\n    speed: 'abcd',\n    spreadMethod: 'abcd',\n    startOffset: 'abcd',\n    stdDeviation: 'abcd',\n    stemh: 'abcd',\n    stemv: 'abcd',\n    stitchTiles: 'abcd',\n    stopColor: 'abcd',\n    stopOpacity: 'abcd',\n    strikethroughPosition: 'abcd',\n    strikethroughThickness: 'abcd',\n    string: 'abcd',\n    stroke: 'abcd',\n    strokeDasharray: 'abcd',\n    strokeDashoffset: 'abcd',\n    strokeLinecap: 'abcd',\n    strokeLinejoin: 'abcd',\n    strokeMiterlimit: 'abcd',\n    strokeOpacity: 'abcd',\n    strokeWidth: 'abcd',\n    surfaceScale: 'abcd',\n    systemLanguage: 'abcd',\n    tabIndex: 'abcd',\n    tableValues: 'abcd',\n    targetX: 'abcd',\n    targetY: 'abcd',\n    textAnchor: 'abcd',\n    textDecoration: 'abcd',\n    textRendering: 'abcd',\n    textLength: 'abcd',\n    to: 'abcd',\n    transform: 'abcd',\n    u1: 'abcd',\n    u2: 'abcd',\n    underlinePosition: 'abcd',\n    underlineThickness: 'abcd',\n    unicode: 'abcd',\n    unicodeBidi: 'abcd',\n    unicodeRange: 'abcd',\n    unitsPerEm: 'abcd',\n    vAlphabetic: 'abcd',\n    vHanging: 'abcd',\n    vIdeographic: 'abcd',\n    vMathematical: 'abcd',\n    values: 'abcd',\n    version: 'abcd',\n    vertAdvY: 'abcd',\n    vertOriginX: 'abcd',\n    vertOriginY: 'abcd',\n    viewBox: 'abcd',\n    viewTarget: 'abcd',\n    visibility: 'abcd',\n    widths: 'abcd',\n    wordSpacing: 'abcd',\n    writingMode: 'abcd',\n    x: 'abcd',\n    xHeight: 'abcd',\n    x1: 'abcd',\n    x2: 'abcd',\n    xChannelSelector: 'abcd',\n    xlinkActuate: 'abcd',\n    xlinkArcrole: 'abcd',\n    xlinkHref: 'abcd',\n    xlinkRole: 'abcd',\n    xlinkShow: 'abcd',\n    xlinkTitle: 'abcd',\n    xlinkType: 'abcd',\n    xmlBase: 'abcd',\n    xmlLang: 'abcd',\n    xmlSpace: 'abcd',\n    y: 'abcd',\n    y1: 'abcd',\n    y2: 'abcd',\n    yChannelSelector: 'abcd',\n    z: 'abcd',\n    zoomAndPan: 'abcd'\n  }\n\n  const RedPath = styled('path')`\n    stroke-width: 0.26458332;\n  `\n\n  const svg = renderer.create(<RedPath {...svgAttributes} />).toJSON()\n\n  expect(svg.props).toEqual({ ...svgAttributes, className: expect.any(String) })\n})\n\ntest('prop filtering on composed styled components that are string tags', () => {\n  const BaseLink = styled.a`\n    background-color: hotpink;\n  `\n  const Link = styled(BaseLink)`\n    color: green;\n  `\n\n  const tree = renderer\n    .create(\n      <Link\n        wow\n        prop\n        filtering\n        looks\n        cool\n        but\n        is\n        kind\n        of\n        a\n        bad\n        idea\n        since\n        the\n        react\n        warnings\n        will\n        not\n        work\n        and\n        it=\"is\"\n        problematic\n        for=\"other reasons\"\n        aria-label=\"some label\"\n        data-wow=\"value\"\n        href=\"link\"\n      >\n        hello world\n      </Link>\n    )\n    .toJSON()\n\n  expect(tree).toMatchSnapshot()\n})\n\ntest('withComponent inherits explicit shouldForwardProp', () => {\n  const SomeComponent = styled('div', {\n    shouldForwardProp: prop => prop === 'foo'\n  })`\n    color: hotpink;\n  `\n  const AnotherComponent = SomeComponent.withComponent('span')\n  const tree = renderer.create(<AnotherComponent foo bar />).toJSON()\n  expect(tree).toMatchSnapshot()\n})\n\ntest('withComponent inherits explicit shouldForwardProp from flattened component', () => {\n  const SomeComponent = styled('div', {\n    shouldForwardProp: prop => prop === 'foo'\n  })`\n    color: hotpink;\n  `\n  const AnotherComponent = styled(SomeComponent)`\n    background-color: blue;\n  `\n  const YetAnotherComponent = AnotherComponent.withComponent('span')\n  const tree = renderer.create(<YetAnotherComponent foo bar />).toJSON()\n  expect(tree).toMatchSnapshot()\n})\n\ntest('withComponent should accept shouldForwardProp', () => {\n  const SomeComponent = styled('div')`\n    color: hotpink;\n  `\n  const AnotherComponent = SomeComponent.withComponent('span', {\n    shouldForwardProp: prop => prop === 'xyz'\n  })\n  const tree = renderer.create(<AnotherComponent qwe xyz />).toJSON()\n  expect(tree).toMatchSnapshot()\n})\n\ntest('withComponent should compose shouldForwardProp', () => {\n  const SomeComponent = styled('div', {\n    shouldForwardProp: prop => prop !== 'foo'\n  })`\n    color: hotpink;\n  `\n  const AnotherComponent = SomeComponent.withComponent('span', {\n    shouldForwardProp: prop => prop !== 'bar'\n  })\n  const tree = renderer.create(<AnotherComponent foo bar qwe xyz />).toJSON()\n  expect(tree).toMatchSnapshot()\n})\n\ntest('withComponent should compose shouldForwardProp with a flattened component', () => {\n  const SomeComponent = styled('div', {\n    shouldForwardProp: prop => prop !== 'foo'\n  })`\n    color: hotpink;\n  `\n  const AnotherComponent = styled(SomeComponent)`\n    background-color: blue;\n  `\n  const YetAnotherComponent = SomeComponent.withComponent('span', {\n    shouldForwardProp: prop => prop !== 'bar'\n  })\n  const tree = renderer.create(<YetAnotherComponent foo bar qwe xyz />).toJSON()\n  expect(tree).toMatchSnapshot()\n})\n"
  },
  {
    "path": "packages/styled/test/source-map.test.js",
    "content": "import React from 'react'\nimport { css } from '@emotion/react'\nimport styled from '@emotion/styled'\nimport renderer from 'react-test-renderer'\n\ntest('inserts source map', () => {\n  let Comp = styled.div`\n    color: hotpink;\n  `\n  renderer.create(<Comp />)\n  expect(document.documentElement).toMatchSnapshot()\n})\n\ntest('source map with composed component', () => {\n  let Comp = styled.div`\n    color: hotpink;\n  `\n  let Comp2 = styled(Comp)`\n    background: yellow;\n  `\n  renderer.create(<Comp2 />)\n  expect(document.documentElement).toMatchSnapshot()\n})\n\ntest('source map with composed style', () => {\n  let style = css({ color: 'green' })\n  let Comp2 = styled.div`\n    background: yellow;\n    ${style}\n  `\n  renderer.create(<Comp2 />)\n  expect(document.documentElement).toMatchSnapshot()\n})\n"
  },
  {
    "path": "packages/styled/test/theming.dom.test.js",
    "content": "import 'test-utils/legacy-env'\nimport React from 'react'\nimport styled from '@emotion/styled'\nimport { ThemeProvider } from '@emotion/react'\nimport { render, cleanup } from '@testing-library/react'\n\nafterEach(cleanup)\n\ntest('change theme', () => {\n  const Div = styled.div`\n    color: ${props => props.theme.primary};\n  `\n  const TestComponent = props => (\n    <ThemeProvider theme={props.theme}>\n      {props.renderChild ? <Div>this will be green then pink</Div> : null}\n    </ThemeProvider>\n  )\n  const { container, rerender } = render(\n    <TestComponent renderChild theme={{ primary: 'green' }} />\n  )\n  expect(container).toMatchSnapshot()\n  rerender(<TestComponent renderChild theme={{ primary: 'pink' }} />)\n  expect(container).toMatchSnapshot()\n  rerender(<TestComponent renderChild={false} theme={{ primary: 'pink' }} />)\n  expect(container).toMatchSnapshot()\n})\n"
  },
  {
    "path": "packages/styled/test/theming.test.js",
    "content": "import 'test-utils/legacy-env'\nimport React from 'react'\nimport * as renderer from 'react-test-renderer'\nimport styled from '@emotion/styled'\nimport { css, ThemeProvider } from '@emotion/react'\n\ntest('theme with react-test-renderer', () => {\n  const Div = styled.div`\n    color: ${props => props.theme.primary};\n  `\n  const tree = renderer\n    .create(\n      <ThemeProvider theme={{ primary: 'pink' }}>\n        <Div>this will be pink</Div>\n      </ThemeProvider>\n    )\n    .toJSON()\n\n  expect(tree).toMatchSnapshot()\n})\n\ntest('themes', () => {\n  const theme = { white: '#f8f9fa', purple: '#8c81d8', gold: '#ffd43b' }\n\n  const fontSize = '20px'\n\n  const cssA = css`\n    color: blue;\n  `\n\n  const cssB = css`\n    ${cssA};\n    height: 64px;\n  `\n\n  const Heading = styled('span')`\n    background-color: ${p => p.theme.gold};\n  `\n\n  const H1 = styled(Heading)`\n    ${cssB};\n    font-size: ${fontSize};\n    color: ${p => p.theme.purple};\n  `\n\n  const H2 = styled(H1)`\n    font-size: 32px;\n  `\n\n  const tree = renderer\n    .create(\n      <ThemeProvider theme={theme}>\n        <H2>hello world</H2>\n      </ThemeProvider>\n    )\n    .toJSON()\n  expect(tree).toMatchSnapshot()\n})\n\ntest('theme prop exists without ThemeProvider', () => {\n  const SomeComponent = styled.div`\n    color: ${props => props.theme.color || 'green'};\n    background-color: yellow;\n  `\n  const tree = renderer.create(<SomeComponent />).toJSON()\n  expect(tree).toMatchSnapshot()\n})\ntest('theme prop exists without ThemeProvider with a theme prop on the component', () => {\n  const SomeComponent = styled.div`\n    color: ${props => props.theme.color || 'green'};\n    background-color: yellow;\n  `\n  const tree = renderer\n    .create(<SomeComponent theme={{ color: 'hotpink' }} />)\n    .toJSON()\n  expect(tree).toMatchSnapshot()\n})\n"
  },
  {
    "path": "packages/styled/types/base.d.ts",
    "content": "// TypeScript Version: 4.1\nexport * from '../base'\n"
  },
  {
    "path": "packages/styled/types/index.d.ts",
    "content": "// TypeScript Version: 4.1\nexport * from '..'\n"
  },
  {
    "path": "packages/styled/types/resolved-condition.ts",
    "content": "export default true as boolean\n"
  },
  {
    "path": "packages/styled/types/tests-base.tsx",
    "content": "import * as React from 'react'\nimport styled from '@emotion/styled/base'\nimport isPropValid from '@emotion/is-prop-valid'\n\ndeclare module '@emotion/react' {\n  // tslint:disable-next-line: strict-export-declare-modifiers\n  export interface Theme {\n    primary: string\n    secondary: string\n    width: number\n    colors: { [key: string]: any }\n    backColor: string\n  }\n}\n\n// tslint:disable-next-line: interface-over-type-literal\ntype ReactClassProps0 = {\n  readonly column: boolean\n}\nclass ReactClassComponent0 extends React.Component<ReactClassProps0> {}\n\ninterface ReactClassProps1 {\n  readonly value: string\n}\ndeclare class ReactClassComponent1 extends React.Component<ReactClassProps1> {}\n\ninterface ReactClassProps2 {\n  readonly column: number\n}\ndeclare class ReactClassComponent2 extends React.Component<ReactClassProps2> {}\n\n// tslint:disable-next-line: interface-over-type-literal\ntype ReactFCProps0 = {\n  readonly column: boolean\n}\ndeclare const ReactFC0: React.FC<ReactFCProps0>\n\ninterface ReactFCProps1 {\n  readonly value: string\n}\ndeclare const ReactFC1: React.FC<ReactFCProps1>\n\ninterface ReactFCProps2 {\n  readonly value: number\n}\ndeclare const ReactFC2: React.FC<ReactFCProps2>\n\nconst Button0 = styled('button')`\n  color: blue;\n`\nconst Button1 = styled('button')({\n  color: 'blue'\n})\n;<div>\n  <Button0 />\n  <Button0 type=\"button\" />\n</div>\n;<div>\n  <Button1 />\n  <Button1 type=\"button\" />\n</div>\n\nconst Input0 = styled('input', {\n  label: 'mystyle'\n})`\n  padding: 4px;\n`\nconst Input1 = styled('input', {\n  label: 'mystyle'\n})({\n  padding: '4px'\n})\n;<Input0 />\n;<Input1 />\nconst Input2 = Button0.withComponent('input')\n\nconst View = styled('div')({\n  display: 'flex',\n  position: 'relative',\n  boxSizing: 'border-box',\n  flexDirection: 'column'\n})\n\nconst Input3 = styled(View.withComponent('input'))({\n  color: 'red'\n})\n;<Input3\n  onChange={e => {\n    // $ExpectType ChangeEvent<HTMLInputElement>\n    e\n  }}\n/>\n\nconst Canvas0 = styled('canvas', {\n  shouldForwardProp(propName): propName is 'width' | 'height' {\n    return propName === 'width' || propName === 'height'\n  }\n})`\n  width: 200px;\n`\nconst Canvas1 = styled('canvas', {\n  shouldForwardProp(propName) {\n    return propName === 'width' || propName === 'height'\n  }\n})({\n  width: '200px'\n})\n;<Canvas0 />\n// $ExpectError\n;<Canvas0 id=\"id-should-be-filtered\" />\n;<Canvas1 />\n\nconst styledWithForwardedExtraProp = styled('div', {\n  shouldForwardProp: prop => prop !== 'priority' && isPropValid(prop)\n})\n\ntype Priority = 'info' | 'warning' | 'error'\n\nconst Alert = styledWithForwardedExtraProp<{\n  priority?: Priority\n}>(({ priority, theme }) => ({\n  backgroundColor: theme.colors[priority || 'info']\n}))\n\ninterface PrimaryProps {\n  readonly primary: string\n}\n\nconst Button2 = styled('button')<PrimaryProps>`\n  font-size: ${5}px;\n  color: ${props => props.primary};\n`\nconst Button3 = styled('button')<PrimaryProps>(props => ({\n  color: props.primary,\n  // Verify we get access to intrinsic props\n  display: props.hidden ? 'none' : undefined\n}))\n;<div>\n  <Button2 primary=\"blue\" />\n  <Button2 primary=\"blue\" type=\"button\" />\n</div>\n;<div>\n  <Button3 primary=\"blue\" />\n  <Button3 primary=\"blue\" type=\"button\" />\n</div>\n// $ExpectError\n;<Button2 />\n// $ExpectError\n;<Button2 type=\"button\" />\n// $ExpectError\n;<Button3 />\n// $ExpectError\n;<Button3 type=\"button\" />\n\nconst Button4 = styled(ReactClassComponent0)<PrimaryProps>`\n  background-color: ${props => props.theme.backColor};\n\n  font-size: ${5}px;\n  color: ${props => props.primary};\n`\nconst Button5 = styled(ReactFC0)<PrimaryProps>(props => ({\n  color: props.primary\n}))\n;<div>\n  <Button4 column={true} primary=\"blue\" />\n  <Button4 column={false} primary=\"blue\" />\n</div>\n;<div>\n  <Button5 column={true} primary=\"blue\" />\n  <Button5 column={false} primary=\"blue\" />\n</div>\n// $ExpectError\n;<Button4 />\n// $ExpectError\n;<Button4 colume={true} />\n// $ExpectError\n;<Button5 />\n// $ExpectError\n;<Button5 colume={true} />\n\nconst Container0 = styled(ReactClassComponent0)`\n  display: flex;\n  flex-direction: ${props => props.column && 'column'};\n`\n;<Container0 column={false} />\n// $ExpectError\n;<Container0 />\n\n// When we change component, the original props still need to be available\n// as the original styles may be using those props\nconst Container1 = Container0.withComponent('span')\n;<Container1 column={true} />\n;<Container1 column={true} onClick={undefined as any} />\n\n// $ExpectError\n;<Container1 onClick={undefined as any} />\n// $ExpectError\n;<Container1 contentEditable />\n\nconst Container2 = Container0.withComponent(ReactFC0)\n;<Container2 column={true} />\n// $ExpectError\n;<Container2 />\n\nconst Container3 = Container0.withComponent(ReactClassComponent1)\n;<Container3 column={false} value=\"123\" />\n// $ExpectError\n;<Container3 colume={true} />\n// $ExpectError\n;<Container3 value=\"5\" />\n\ninterface ContainerProps {\n  extraWidth: string\n}\nconst Container4 = styled(ReactFC2)<ContainerProps>(props => ({\n  borderColor: 'black',\n  borderWidth: props.extraWidth,\n  borderStyle: 'solid'\n}))\n;<Container4 extraWidth=\"20px\" value={123} />\n// $ExpectError\n;<Container4 />\n// $ExpectError\n;<Container4 value=\"5\" />\n\nconst Container5 = Container3.withComponent(ReactFC2)\n// $ExpectError\n;<Container5 column={true} value={123} />\n// $ExpectError\n;<Container5 />\n// $ExpectError\n;<Container5 column={true} />\n// $ExpectError\n;<Container5 value={242} />\n\n/**\n * @todo\n * I wish we could raise errors for following two `withComponent`s.\n * The prduces a component type which is invalid (intersection of number & string is never), but you need to consume the component\n * to see the error.\n */\nconst C02 = Container0.withComponent(ReactClassComponent2)\n// $ExpectError\n;<C02 column=\"\" />\nconst C03 = Container3.withComponent(ReactClassComponent2)\n// $ExpectError\n;<C03 column=\"\" />\n\nconst ForwardRefCheckStyled = styled(\n  React.forwardRef(\n    (props: ReactClassProps0, ref: React.Ref<HTMLDivElement>) => {\n      return <div ref={ref} />\n    }\n  )\n)({})\n\n// Expose ref only when inner component is forwarding refs\n;<ForwardRefCheckStyled column={true} ref={React.createRef<HTMLDivElement>()} />\n\nconst StyledClass0 = styled(ReactClassComponent0)({})\ndeclare const ref0_0: (element: ReactClassComponent0 | null) => void\ndeclare const ref0_1: (element: ReactClassComponent1 | null) => void\ndeclare const ref0_2: (element: HTMLDivElement | null) => void\n;<StyledClass0 column={true} ref={ref0_0} />\n// $ExpectError\n;<StyledClass0 column={true} ref={ref0_1} />\n// $ExpectError\n;<StyledClass0 column={true} ref={ref0_2} />\n\nconst StyledClass1 = StyledClass0.withComponent(ReactClassComponent1)\ndeclare const ref1_0: (element: ReactClassComponent1 | null) => void\ndeclare const ref1_1: (element: ReactClassComponent0 | null) => void\ndeclare const ref1_2: (element: HTMLDivElement | null) => void\n;<StyledClass1 column={true} value=\"\" ref={ref1_0} />\n// $ExpectError\n;<StyledClass1 column={true} value=\"\" ref={ref1_1} />\n// $ExpectError\n;<StyledClass1 column={true} value=\"\" ref={ref1_2} />\n\nconst StyledClass2 = StyledClass0.withComponent('div')\ndeclare const ref2_0: (element: HTMLDivElement | null) => void\ndeclare const ref2_1: (element: ReactClassComponent0 | null) => void\ndeclare const ref2_2: (element: ReactClassComponent1 | null) => void\n;<StyledClass2 column={true} ref={ref2_0} />\n// $ExpectError\n;<StyledClass2 column={true} ref={ref2_1} />\n// $ExpectError\n;<StyledClass2 column={true} ref={ref2_2} />\n\nconst StyledClass3 = StyledClass1.withComponent('label')\ndeclare const ref3_0: (element: HTMLLabelElement | null) => void\ndeclare const ref3_1: (element: ReactClassComponent0 | null) => void\ndeclare const ref3_2: (element: HTMLDivElement | null) => void\n  // $ExpectError\n;<StyledClass3 column={true} ref={ref3_0} />\n// $ExpectError\n;<StyledClass3 column={true} ref={ref3_1} />\n// $ExpectError\n;<StyledClass3 column={true} ref={ref3_2} />\n\n{\n  interface Book {\n    kind: 'book'\n    author: string\n  }\n\n  interface Magazine {\n    kind: 'magazine'\n    issue: number\n  }\n\n  type SomethingToRead = Book | Magazine\n\n  const Readable: React.FC<SomethingToRead> = props => {\n    if (props.kind === 'magazine') {\n      return <div>magazine #{props.issue}</div>\n    }\n\n    return <div>magazine #{props.author}</div>\n  }\n\n  const StyledReadable = styled(Readable)`\n    font-size: ${props => (props.kind === 'book' ? 16 : 14)};\n  `\n  ;<Readable kind=\"book\" author=\"Hejlsberg\" />\n  ;<StyledReadable kind=\"book\" author=\"Hejlsberg\" />\n  ;<Readable kind=\"magazine\" author=\"Hejlsberg\" /> // $ExpectError\n  ;<StyledReadable kind=\"magazine\" author=\"Hejlsberg\" /> // $ExpectError\n}\n\ninterface Props {\n  prop: boolean\n}\nclass ClassWithDefaultProps extends React.Component<Props> {\n  static defaultProps = { prop: false }\n  render() {\n    return this.props.prop ? <Button0 /> : <Button1 />\n  }\n}\nconst StyledClassWithDefaultProps = styled(ClassWithDefaultProps)`\n  background-color: red;\n`\nconst classInstance = <StyledClassWithDefaultProps />\n\nconst FCWithDefaultProps = ({ prop }: Props) =>\n  prop ? <Button0 /> : <Button1 />\nFCWithDefaultProps.defaultProps = {\n  prop: false\n}\nconst StyledFCWithDefaultProps = styled(FCWithDefaultProps)`\n  background-color: red;\n`\nconst fcInstance = <StyledFCWithDefaultProps />\n\ninterface PropsA {\n  title: string\n}\ninterface PropsB {\n  content: string\n}\n\ntype PropsAB = PropsA | PropsB\nclass A extends React.Component<PropsAB> {\n  static getDerivedStateFromProps(props: PropsAB) {\n    return null\n  }\n\n  render() {\n    return null\n  }\n}\n\nconst B = styled(A)`\n  color: red;\n`\n;<B title=\"test\" />\n;<B content=\"test\" />\n// Because these are not tagged unions, they are not mutually exclusive, we can do both\n;<B title=\"test\" content=\"test\" />\n\ninterface TaggedPropsA {\n  tag: 'a'\n  title: string\n}\ninterface TaggedPropsB {\n  tag: 'b'\n  content: string\n}\ntype TaggedPropsAB = TaggedPropsA | TaggedPropsB\nclass C extends React.Component<TaggedPropsAB> {\n  render() {\n    return null\n  }\n}\n\nconst D = styled(C)`\n  color: red;\n`\n;<D tag=\"a\" title=\"test\" />\n;<D tag=\"b\" content=\"test\" />\n// $ExpectError\n;<D tag=\"a\" title=\"test\" content=\"test\" />\n\n// Ensure refs are available on intrinsic components and they are correct types\nconst StyledDiv = styled('div')({})\ndeclare const ref4_0: (element: ReactClassComponent1 | null) => void\ndeclare const ref4_1: (element: ReactClassComponent0 | null) => void\ndeclare const ref4_2: (element: HTMLDivElement | null) => void\n  // $ExpectError\n;<StyledDiv ref={ref4_0} />\n// $ExpectError\n;<StyledDiv ref={ref4_1} />\n;<StyledDiv ref={ref4_2} />\n;<StyledDiv ref={React.createRef()} />\n\n// test it should drop intrinsic props from first component when withComponent is called\nconst StyledButton = StyledDiv.withComponent('button')\n;<StyledButton\n  onClick={e => {\n    // $ExpectType MouseEvent<HTMLButtonElement, MouseEvent>\n    e\n  }}\n/>\n\nconst StyledWithAs = styled('div')`\n  display: flex;\n`\nconst Section = styled('section')`\n  color: hotpink;\n`\n;<StyledWithAs as=\"section\" />\n;<StyledWithAs as={Section} />\n\n{\n  const MemoedComponent = React.memo((_props: { foo: string }) => {\n    return null\n  })\n  const StyledMemoedComponent = styled(MemoedComponent)()\n  ;<StyledMemoedComponent foo=\"test\" />\n  // $ExpectError\n  ;<StyledMemoedComponent />\n}\n\n{\n  // simple class ref test\n  class FixedSizeList extends React.Component {\n    scrollTo = () => {}\n\n    render() {\n      return null\n    }\n  }\n\n  const StyledList = styled(FixedSizeList)`\n    color: hotpink;\n  `\n  const listRef = React.useRef<FixedSizeList | null>(null)\n  ;<StyledList ref={listRef} />\n}\n\n{\n  // withComponent class ref test\n  class FixedSizeList extends React.Component {\n    scrollTo = () => {}\n\n    render() {\n      return null\n    }\n  }\n\n  const StyledList = styled('li')`\n    color: hotpink;\n  `\n  const StyledFixedStyleList = StyledList.withComponent(FixedSizeList)\n  const listRef = React.useRef<FixedSizeList | null>(null)\n  ;<StyledFixedStyleList ref={listRef} />\n}\n"
  },
  {
    "path": "packages/styled/types/tests.tsx",
    "content": "import * as React from 'react'\nimport styled, { StyledOptions, FilteringStyledOptions } from '@emotion/styled'\n\n// This file uses the same Theme declaration from tests-base.tsx\n\n{\n  const Anchor = styled.a``\n  ;<Anchor href=\"test\" />\n  const Body = styled.body``\n  ;<Body />\n  const Div = styled.div``\n  ;<Div onClick={() => {}} />\n  const Svg = styled.svg``\n  ;<Svg color=\"hotpink\" />\n}\n\n{\n  styled.div<{ bar: string }>`\n    color: ${props => {\n      // $ExpectType Theme\n      props.theme\n      // $ExpectType string\n      props.bar\n      // $ExpectType string | undefined\n      props.dir\n\n      return {}\n    }};\n  `\n}\n\nconst StyledDiv = styled.div({})\n;<StyledDiv ref={React.createRef()} />\n\n// Can override theme optionally on prop\n;<StyledDiv\n  theme={{ primary: '', secondary: '', backColor: '', width: 0, colors: {} }}\n/>\n\n// Cannot override with incomplete theme on prop\n// $ExpectError\n;<StyledDiv theme={{ primary: '' }} />\n\n// $ExpectError\n;<StyledDiv theme={{ themeProp: 0 }} />\n\nconst Container = styled.div((props: { test: number }) => ({\n  width: props.test\n}))\n\nconst Container2 = styled.div<{ test: number }>(props => ({\n  width: props.test\n}))\n\nconst Container3 = styled.div(({ theme }) => ({\n  width: theme.width\n}))\n\n// This example shows using shouldForwardProps to define a prop\n// who's type clashes with an intrinsic prop.\n// It makes use of a custom type guard on shouldForwardProp to exclude color\n\nconst Box = styled('div', {\n  shouldForwardProp: (\n    propName\n  ): propName is Exclude<keyof React.JSX.IntrinsicElements['div'], 'color'> =>\n    propName !== 'color'\n})<{ color: Array<string> }>(props => ({\n  color: props.color[0]\n}))\n;<Box color={['green']} />\n\nconst Original: React.FC<{ prop1: string; prop2: string }> = () => null\n\ninterface StyledOriginalExtraProps {\n  // This prop would conflict with the `prop2` on Original\n  prop2: number\n}\nconst StyledOriginal = styled(Original, {\n  // Filter prop2 by only forwarding prop1\n  shouldForwardProp: (propName): propName is 'prop1' => propName === 'prop1'\n})<StyledOriginalExtraProps>(props => {\n  // props.prop2 will be `number`\n  return {}\n})\n\n// No more type conflict error\n;<StyledOriginal prop1=\"1\" prop2={2} />\n\nconst Label = styled.label``\nconst Button = styled.button``\nconst Input = styled.input`\n  & + ${Label}: {\n    margin-left: 3px;\n  }\n`\n\nconst Input2 = styled.input`\n  & + ${Label}: {\n    margin-left: 3px;\n  }\n  & + ${Button}: {\n    margin-left: 3px;\n  }\n`\n\nconst Input3 = styled.input({\n  [`& + ${Label}`]: {\n    marginLeft: '3px'\n  }\n})\n\ninterface AdditionalTest {\n  left: string\n}\nconst Input4 = styled.input<AdditionalTest>`\n  & + ${Label}: ${props => ({\n    marginLeft: props.left\n  })}\n`\nconst Input5 = styled.input`\n  color: ${props => props.theme.primary};\n`\n;<Input\n  onChange={(evt: React.ChangeEvent<HTMLInputElement>) =>\n    console.log(evt.target.value)\n  }\n/>\n;<Input2\n  onChange={(evt: React.ChangeEvent<HTMLInputElement>) =>\n    console.log(evt.target.value)\n  }\n/>\n;<Input3\n  onChange={(evt: React.ChangeEvent<HTMLInputElement>) =>\n    console.log(evt.target.value)\n  }\n/>\n;<Input4\n  left=\"3px\"\n  onChange={(evt: React.ChangeEvent<HTMLInputElement>) =>\n    console.log(evt.target.value)\n  }\n/>\n\n{\n  const A = styled('h1')()\n  const B = styled(A)()\n  const C = styled(B)()\n  const D = styled(C)()\n  const E = styled(D)()\n  const F = styled(E)()\n  const G = styled(F)()\n  const H = styled(G)()\n  const I = styled(H)()\n  const J = styled(I)()\n  const K = styled(J)()\n  const L = styled(K)()\n  const M = styled(L)()\n  const N = styled(M)()\n  const O = styled(N)()\n  const P = styled(O)()\n  const Q = styled(P)()\n  const R = styled(Q)()\n  const S = styled(R)()\n  const T = styled(S)()\n  const U = styled(T)()\n  const V = styled(U)()\n  const X = styled(V)()\n  const Y = styled(X)()\n  const Z = styled(Y)()\n  ;<Z>No excessive instantiation</Z>\n}\n\n{\n  const StyledWithAs = styled.div`\n    display: flex;\n  `\n  const Section = styled.section`\n    color: hotpink;\n  `\n  ;<StyledWithAs as=\"section\" />\n  ;<StyledWithAs as={Section} />\n  // $ExpectError\n  ;<StyledWithAs as=\"random string\" />\n\n  const ComposedWithAs = styled(StyledWithAs)`\n    flex-direction: column;\n  `\n  ;<ComposedWithAs as=\"section\" />\n  ;<ComposedWithAs as={Section} />\n  // $ExpectError\n  ;<ComposedWithAs as=\"random string\" />\n\n  const ComponentWithAs: React.FC<{ as: string; className?: string }> = ({\n    as,\n    className\n  }) => <div className={className}>{as}</div>\n\n  const StyledComp = styled(ComponentWithAs)`\n    background: orange;\n  `\n  ;<StyledComp as=\"random string\" />\n  // $ExpectError\n  ;<StyledComp as={Section} />\n\n  const ComponentWithoutAs: React.FC<{ className?: string }> = props => (\n    <div {...props} />\n  )\n  const StyledCompWithoutAs = styled(ComponentWithoutAs)`\n    background: hotpink;\n  `\n  // $ExpectError\n  ;<StyledCompWithoutAs as=\"random string\" />\n  // $ExpectError\n  ;<StyledCompWithoutAs as=\"section\" />\n  // $ExpectError\n  ;<StyledCompWithoutAs as={Section} />\n}\n\n{\n  // Props forwarding through StyledOptions and FilteringStyledOptions\n\n  const fc: React.FC<{ foo: string }> = () => null\n\n  // we can't accept a \"known\" prop here because we need to include `AdditionalProps` and those aren't available yet\n  // `Props` represent the actual props of a component while `AdditionalProps` represent props used only for styling purposes\n  // $ExpectError\n  styled(fc, { shouldForwardProp: (prop: 'foo') => true })({})\n\n  styled(fc, { shouldForwardProp: (prop: string) => true })({})\n\n  // $ExpectError\n  styled(fc, { shouldForwardProp: (prop: 'bar') => true })({})\n  // $ExpectError\n  styled(fc, { shouldForwardProp: (prop: 'foo') => true })({})\n\n  // $ExpectError\n  const shouldForwardProp1: StyledOptions['shouldForwardProp'] = (\n    prop: 'unknown'\n  ) => true\n  styled(fc, { shouldForwardProp: shouldForwardProp1 })({})\n\n  // $ExpectError\n  styled(fc, { shouldForwardProp: (prop: 'unknown') => true })({})\n\n  // $ExpectError\n  const shouldForwardProp2: StyledOptions<{\n    foo: string\n  }>['shouldForwardProp'] = (prop: 'unknown') => true\n\n  styled(fc, { shouldForwardProp: (prop: string): prop is 'foo' => true })({})\n  // $ExpectError\n  styled(fc, { shouldForwardProp: (prop: 'foo'): prop is 'foo' => true })({})\n\n  const shouldForwardProp3: FilteringStyledOptions['shouldForwardProp'] = (\n    prop: string\n  ): prop is 'foo' => true\n\n  // $ExpectError\n  const shouldForwardProp4: FilteringStyledOptions['shouldForwardProp'] = (\n    prop: 'foo'\n  ): prop is 'foo' => true\n\n  const shouldForwardProp5: FilteringStyledOptions<{\n    foo: string\n  }>['shouldForwardProp'] = (prop: string): prop is 'foo' => true\n  // $ExpectError\n  const shouldForwardProp6: FilteringStyledOptions<{\n    foo: string\n  }>['shouldForwardProp'] = (prop: 'foo'): prop is 'foo' => true\n\n  // $ExpectError\n  const shouldForwardProp7: FilteringStyledOptions<{\n    foo: string\n  }>['shouldForwardProp'] = (prop: 'unknown'): prop is 'unknown' => true\n\n  const shouldForwardProp8: FilteringStyledOptions<\n    { foo: string; bar: string },\n    'foo'\n  >['shouldForwardProp'] = (prop: string): prop is 'foo' => true\n\n  // $ExpectError\n  const shouldForwardProp9: FilteringStyledOptions<\n    { foo: string; bar: string },\n    'foo'\n  >['shouldForwardProp'] = (prop: 'foo' | 'bar'): prop is 'bar' => true\n\n  styled('div', {\n    shouldForwardProp: (prop: string) => true\n  })({})\n\n  // $ExpectError\n  styled('div', { shouldForwardProp: (prop: 'color') => true })({})\n\n  styled('div', {\n    // $ExpectError\n    shouldForwardProp: (prop: 'color'): prop is 'color' => true\n  })({})\n\n  // $ExpectError\n  styled('div', { shouldForwardProp: (prop: 'foo') => true })({})\n}\n"
  },
  {
    "path": "packages/styled/types/tsconfig.json",
    "content": "{\n  \"compilerOptions\": {\n    \"baseUrl\": \"../\",\n    \"forceConsistentCasingInFileNames\": true,\n    \"isolatedModules\": true,\n    \"jsx\": \"react\",\n    \"lib\": [\"es6\", \"dom\"],\n    \"module\": \"commonjs\",\n    \"esModuleInterop\": true,\n    \"resolveJsonModule\": true,\n    \"noEmit\": true,\n    \"strict\": true,\n    \"target\": \"es5\",\n    \"typeRoots\": [\"../\"],\n    \"types\": [],\n    \"paths\": {\n      \"#is-browser\": [\"./types/resolved-condition.ts\"],\n      \"#is-development\": [\"./types/resolved-condition.ts\"]\n    }\n  },\n  \"include\": [\"./*.ts\", \"./*.tsx\"]\n}\n"
  },
  {
    "path": "packages/styled/types/tslint.json",
    "content": "{\n  \"extends\": \"@definitelytyped/dtslint/dtslint.json\",\n  \"rules\": {\n    \"array-type\": [true, \"generic\"],\n    \"file-name-casing\": false,\n    \"semicolon\": false,\n    \"whitespace\": [\n      true,\n      \"check-branch\",\n      \"check-decl\",\n      \"check-operator\",\n      \"check-module\",\n      \"check-rest-spread\",\n      \"check-type\",\n      \"check-typecast\",\n      \"check-type-operator\",\n      \"check-preblock\"\n    ],\n    \"no-unnecessary-generics\": false,\n    \"unnecessary-bind\": false,\n    \"ban-ts-ignore\": false,\n    \"no-empty-interface\": false,\n    \"strict-export-declare-modifiers\": false\n  }\n}\n"
  },
  {
    "path": "packages/unitless/CHANGELOG.md",
    "content": "# @emotion/unitless\n\n## 0.10.0\n\n### Minor Changes\n\n- [#3240](https://github.com/emotion-js/emotion/pull/3240) [`153cf88`](https://github.com/emotion-js/emotion/commit/153cf885521f642462823a25675aa1a5be431db7) Thanks [@justinfernald](https://github.com/justinfernald)! - Add `scale` property as unitless\n\n## 0.9.0\n\n### Minor Changes\n\n- [#2430](https://github.com/emotion-js/emotion/pull/2430) [`fc4d27c`](https://github.com/emotion-js/emotion/commit/fc4d27c2dbce7fdb778212be86b07e31d8d82a98) Thanks [@sarayourfriend](https://github.com/sarayourfriend)! - Source code has been migrated to TypeScript. From now on type declarations will be emitted based on that, instead of being hand-written.\n\n## 0.8.1\n\n### Patch Changes\n\n- [#3029](https://github.com/emotion-js/emotion/pull/3029) [`eed5e6cf`](https://github.com/emotion-js/emotion/commit/eed5e6cf00f94f3011b93825ccce43cb2270c247) Thanks [@Andarist](https://github.com/Andarist)! - Fixed importing in Node ESM\n\n* [#3012](https://github.com/emotion-js/emotion/pull/3012) [`e6e5b3d7`](https://github.com/emotion-js/emotion/commit/e6e5b3d71ade7b986ab364fc0cb770e7eda16049) Thanks [@sgrishchenko](https://github.com/sgrishchenko)! - Add `aspectRatio` as a unitless property\n\n## 0.8.0\n\n### Minor Changes\n\n- [#2819](https://github.com/emotion-js/emotion/pull/2819) [`bbad8c79`](https://github.com/emotion-js/emotion/commit/bbad8c79937f8dfd5d93bf485c1e9ec44124d228) Thanks [@nicksrandall](https://github.com/nicksrandall)! - `exports` field has been added to the `package.json` manifest. It limits what files can be imported from a package but we've tried our best to allow importing all the files that were considered to be a part of the public API.\n\n## 0.7.5\n\n### Patch Changes\n\n- [`4c62ae9`](https://github.com/emotion-js/emotion/commit/4c62ae9447959d438928e1a26f76f1487983c968) [#1698](https://github.com/emotion-js/emotion/pull/1698) Thanks [@Andarist](https://github.com/Andarist)! - Add LICENSE file\n\n## 0.7.4\n\n### Patch Changes\n\n- [c0eb604d](https://github.com/emotion-js/emotion/commit/c0eb604d) [#1419](https://github.com/emotion-js/emotion/pull/1419) Thanks [@emmatown](https://github.com/emmatown)! - Update build tool\n"
  },
  {
    "path": "packages/unitless/LICENSE",
    "content": "MIT License\n\nCopyright (c) Emotion team and other contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "packages/unitless/README.md",
    "content": "# @emotion/unitless\n\n> An object of css properties that don't accept values with units\n\n```jsx\nimport unitless from '@emotion/unitless'\n\nunitless.flex === 1\n\nunitless.padding === undefined\n```\n"
  },
  {
    "path": "packages/unitless/package.json",
    "content": "{\n  \"name\": \"@emotion/unitless\",\n  \"version\": \"0.10.0\",\n  \"description\": \"An object of css properties that don't accept values with units\",\n  \"main\": \"dist/emotion-unitless.cjs.js\",\n  \"module\": \"dist/emotion-unitless.esm.js\",\n  \"types\": \"dist/emotion-unitless.cjs.d.ts\",\n  \"license\": \"MIT\",\n  \"repository\": \"https://github.com/emotion-js/emotion/tree/main/packages/unitless\",\n  \"publishConfig\": {\n    \"access\": \"public\"\n  },\n  \"files\": [\n    \"src\",\n    \"dist\"\n  ],\n  \"exports\": {\n    \".\": {\n      \"types\": {\n        \"import\": \"./dist/emotion-unitless.cjs.mjs\",\n        \"default\": \"./dist/emotion-unitless.cjs.js\"\n      },\n      \"module\": \"./dist/emotion-unitless.esm.js\",\n      \"import\": \"./dist/emotion-unitless.cjs.mjs\",\n      \"default\": \"./dist/emotion-unitless.cjs.js\"\n    },\n    \"./package.json\": \"./package.json\"\n  }\n}\n"
  },
  {
    "path": "packages/unitless/src/index.ts",
    "content": "let unitlessKeys: Record<string, 1> = {\n  animationIterationCount: 1,\n  aspectRatio: 1,\n  borderImageOutset: 1,\n  borderImageSlice: 1,\n  borderImageWidth: 1,\n  boxFlex: 1,\n  boxFlexGroup: 1,\n  boxOrdinalGroup: 1,\n  columnCount: 1,\n  columns: 1,\n  flex: 1,\n  flexGrow: 1,\n  flexPositive: 1,\n  flexShrink: 1,\n  flexNegative: 1,\n  flexOrder: 1,\n  gridRow: 1,\n  gridRowEnd: 1,\n  gridRowSpan: 1,\n  gridRowStart: 1,\n  gridColumn: 1,\n  gridColumnEnd: 1,\n  gridColumnSpan: 1,\n  gridColumnStart: 1,\n  msGridRow: 1,\n  msGridRowSpan: 1,\n  msGridColumn: 1,\n  msGridColumnSpan: 1,\n  fontWeight: 1,\n  lineHeight: 1,\n  opacity: 1,\n  order: 1,\n  orphans: 1,\n  scale: 1,\n  tabSize: 1,\n  widows: 1,\n  zIndex: 1,\n  zoom: 1,\n  WebkitLineClamp: 1,\n\n  // SVG-related properties\n  fillOpacity: 1,\n  floodOpacity: 1,\n  stopOpacity: 1,\n  strokeDasharray: 1,\n  strokeDashoffset: 1,\n  strokeMiterlimit: 1,\n  strokeOpacity: 1,\n  strokeWidth: 1\n}\n\nexport default unitlessKeys\n"
  },
  {
    "path": "packages/use-insertion-effect-with-fallbacks/CHANGELOG.md",
    "content": "# @emotion/use-insertion-effect-with-fallbacks\n\n## 1.2.0\n\n### Minor Changes\n\n- [#3279](https://github.com/emotion-js/emotion/pull/3279) [`e1bf17e`](https://github.com/emotion-js/emotion/commit/e1bf17ee87ec51da1412eb5291460ea95a39d27a) Thanks [@Andarist](https://github.com/Andarist)! - Source code has been migrated to TypeScript.\n\n## 1.1.0\n\n### Minor Changes\n\n- [#3198](https://github.com/emotion-js/emotion/pull/3198) [`d8ff8a5`](https://github.com/emotion-js/emotion/commit/d8ff8a5990c691017b463b3fa23a9f46ab28147b) Thanks [@Andarist](https://github.com/Andarist)! - Migrated away from relying on `process.env.NODE_ENV` checks to differentiate between production and development builds.\n\n  Development builds (and other environment-specific builds) can be used by using proper conditions (see [here](https://nodejs.org/docs/v20.15.1/api/packages.html#resolving-user-conditions)). Most modern bundlers/frameworks already preconfigure those for the user so no action has to be taken.\n\n  Default files should continue to work in all environments.\n\n- [#3215](https://github.com/emotion-js/emotion/pull/3215) [`a9f6912`](https://github.com/emotion-js/emotion/commit/a9f691299844bf6837b7ad41ee17cd912496f3d5) Thanks [@Andarist](https://github.com/Andarist)! - Added `edge-light` and `workerd` conditions to `package.json` manifest to better serve users using Vercel Edge and Cloudflare Workers.\n\n## 1.0.1\n\n### Patch Changes\n\n- [#3029](https://github.com/emotion-js/emotion/pull/3029) [`eed5e6cf`](https://github.com/emotion-js/emotion/commit/eed5e6cf00f94f3011b93825ccce43cb2270c247) Thanks [@Andarist](https://github.com/Andarist)! - Fixed importing in Node ESM\n\n## 1.0.0\n\n### Major Changes\n\n- [#2867](https://github.com/emotion-js/emotion/pull/2867) [`89b6dbb3`](https://github.com/emotion-js/emotion/commit/89b6dbb3c13d49ef1fa3d88888672d810853f05a) Thanks [@Andarist](https://github.com/Andarist)! - A wrapper package that uses `useInsertionEffect` or a specific fallback for it. It comes with two exports: `useInsertionEffectAlwaysWithSyncFallback` and `useInsertionEffectWithLayoutFallback`.\n"
  },
  {
    "path": "packages/use-insertion-effect-with-fallbacks/LICENSE",
    "content": "MIT License\n\nCopyright (c) Emotion team and other contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "packages/use-insertion-effect-with-fallbacks/README.md",
    "content": "# @emotion/use-insertion-effect-with-fallbacks\n"
  },
  {
    "path": "packages/use-insertion-effect-with-fallbacks/package.json",
    "content": "{\n  \"name\": \"@emotion/use-insertion-effect-with-fallbacks\",\n  \"version\": \"1.2.0\",\n  \"description\": \"A wrapper package that uses `useInsertionEffect` or a fallback for it\",\n  \"main\": \"dist/emotion-use-insertion-effect-with-fallbacks.cjs.js\",\n  \"module\": \"dist/emotion-use-insertion-effect-with-fallbacks.esm.js\",\n  \"types\": \"dist/emotion-use-insertion-effect-with-fallbacks.cjs.d.ts\",\n  \"license\": \"MIT\",\n  \"repository\": \"https://github.com/emotion-js/emotion/tree/main/packages/use-insertion-effect-with-fallbacks\",\n  \"publishConfig\": {\n    \"access\": \"public\"\n  },\n  \"files\": [\n    \"src\",\n    \"dist\"\n  ],\n  \"peerDependencies\": {\n    \"react\": \">=16.8.0\"\n  },\n  \"devDependencies\": {\n    \"react\": \"16.14.0\"\n  },\n  \"exports\": {\n    \".\": {\n      \"types\": {\n        \"import\": \"./dist/emotion-use-insertion-effect-with-fallbacks.cjs.mjs\",\n        \"default\": \"./dist/emotion-use-insertion-effect-with-fallbacks.cjs.js\"\n      },\n      \"edge-light\": {\n        \"module\": \"./dist/emotion-use-insertion-effect-with-fallbacks.edge-light.esm.js\",\n        \"import\": \"./dist/emotion-use-insertion-effect-with-fallbacks.edge-light.cjs.mjs\",\n        \"default\": \"./dist/emotion-use-insertion-effect-with-fallbacks.edge-light.cjs.js\"\n      },\n      \"worker\": {\n        \"module\": \"./dist/emotion-use-insertion-effect-with-fallbacks.edge-light.esm.js\",\n        \"import\": \"./dist/emotion-use-insertion-effect-with-fallbacks.edge-light.cjs.mjs\",\n        \"default\": \"./dist/emotion-use-insertion-effect-with-fallbacks.edge-light.cjs.js\"\n      },\n      \"workerd\": {\n        \"module\": \"./dist/emotion-use-insertion-effect-with-fallbacks.edge-light.esm.js\",\n        \"import\": \"./dist/emotion-use-insertion-effect-with-fallbacks.edge-light.cjs.mjs\",\n        \"default\": \"./dist/emotion-use-insertion-effect-with-fallbacks.edge-light.cjs.js\"\n      },\n      \"browser\": {\n        \"module\": \"./dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.js\",\n        \"import\": \"./dist/emotion-use-insertion-effect-with-fallbacks.browser.cjs.mjs\",\n        \"default\": \"./dist/emotion-use-insertion-effect-with-fallbacks.browser.cjs.js\"\n      },\n      \"module\": \"./dist/emotion-use-insertion-effect-with-fallbacks.esm.js\",\n      \"import\": \"./dist/emotion-use-insertion-effect-with-fallbacks.cjs.mjs\",\n      \"default\": \"./dist/emotion-use-insertion-effect-with-fallbacks.cjs.js\"\n    },\n    \"./package.json\": \"./package.json\"\n  },\n  \"imports\": {\n    \"#is-browser\": {\n      \"edge-light\": \"./src/conditions/false.ts\",\n      \"workerd\": \"./src/conditions/false.ts\",\n      \"worker\": \"./src/conditions/false.ts\",\n      \"browser\": \"./src/conditions/true.ts\",\n      \"default\": \"./src/conditions/is-browser.ts\"\n    }\n  }\n}\n"
  },
  {
    "path": "packages/use-insertion-effect-with-fallbacks/src/conditions/false.ts",
    "content": "export default false\n"
  },
  {
    "path": "packages/use-insertion-effect-with-fallbacks/src/conditions/is-browser.ts",
    "content": "export default typeof document !== 'undefined'\n"
  },
  {
    "path": "packages/use-insertion-effect-with-fallbacks/src/conditions/true.ts",
    "content": "export default true\n"
  },
  {
    "path": "packages/use-insertion-effect-with-fallbacks/src/index.ts",
    "content": "import * as React from 'react'\nimport isBrowser from '#is-browser'\n\nconst syncFallback = <T>(create: () => T) => create()\n\nconst useInsertionEffect = React[\n  ('useInsertion' + 'Effect') as 'useInsertionEffect'\n]\n  ? (React[('useInsertion' + 'Effect') as 'useInsertionEffect'] as <T>(\n      create: () => T\n    ) => T | undefined)\n  : false\n\nexport const useInsertionEffectAlwaysWithSyncFallback: <T>(\n  create: () => T\n) => T | undefined = !isBrowser\n  ? syncFallback\n  : useInsertionEffect || syncFallback\n\nexport const useInsertionEffectWithLayoutFallback: typeof React.useLayoutEffect =\n  useInsertionEffect || React.useLayoutEffect\n"
  },
  {
    "path": "packages/utils/CHANGELOG.md",
    "content": "# @emotion/utils\n\n## 1.4.2\n\n### Patch Changes\n\n- [#3270](https://github.com/emotion-js/emotion/pull/3270) [`77d930d`](https://github.com/emotion-js/emotion/commit/77d930dc708015ff6fd34a1084bb343b02d732fa) Thanks [@emmatown](https://github.com/emmatown)! - Fix inconsistent hashes using development vs production bundles/`exports` conditions when using `@emotion/babel-plugin` with `sourceMap: true` (the default). This is particularly visible when using Emotion with the Next.js Pages router where the `development` condition is used when bundling code but not when importing external code with Node.js.\n\n## 1.4.1\n\n### Patch Changes\n\n- [#3244](https://github.com/emotion-js/emotion/pull/3244) [`ad630e3`](https://github.com/emotion-js/emotion/commit/ad630e33b57afbed0207e0b41724c27b4d79176c) Thanks [@romgrk](https://github.com/romgrk)! - Minor performance improvement\n\n## 1.4.0\n\n### Minor Changes\n\n- [#3198](https://github.com/emotion-js/emotion/pull/3198) [`d8ff8a5`](https://github.com/emotion-js/emotion/commit/d8ff8a5990c691017b463b3fa23a9f46ab28147b) Thanks [@Andarist](https://github.com/Andarist)! - Migrated away from relying on `process.env.NODE_ENV` checks to differentiate between production and development builds.\n\n  Development builds (and other environment-specific builds) can be used by using proper conditions (see [here](https://nodejs.org/docs/v20.15.1/api/packages.html#resolving-user-conditions)). Most modern bundlers/frameworks already preconfigure those for the user so no action has to be taken.\n\n  Default files should continue to work in all environments.\n\n- [#3215](https://github.com/emotion-js/emotion/pull/3215) [`a9f6912`](https://github.com/emotion-js/emotion/commit/a9f691299844bf6837b7ad41ee17cd912496f3d5) Thanks [@Andarist](https://github.com/Andarist)! - Added `edge-light` and `workerd` conditions to `package.json` manifest to better serve users using Vercel Edge and Cloudflare Workers.\n\n## 1.3.0\n\n### Minor Changes\n\n- [#2359](https://github.com/emotion-js/emotion/pull/2359) [`16d8a8c`](https://github.com/emotion-js/emotion/commit/16d8a8c2198461c4842c73048b406c346a70aa59) Thanks [@rjdestigter](https://github.com/rjdestigter)! - Source code has been migrated to TypeScript. From now on type declarations will be emitted based on that, instead of being hand-written.\n\n## 1.2.1\n\n### Patch Changes\n\n- [#3029](https://github.com/emotion-js/emotion/pull/3029) [`eed5e6cf`](https://github.com/emotion-js/emotion/commit/eed5e6cf00f94f3011b93825ccce43cb2270c247) Thanks [@Andarist](https://github.com/Andarist)! - Fixed importing in Node ESM\n\n## 1.2.0\n\n### Minor Changes\n\n- [#2819](https://github.com/emotion-js/emotion/pull/2819) [`bbad8c79`](https://github.com/emotion-js/emotion/commit/bbad8c79937f8dfd5d93bf485c1e9ec44124d228) Thanks [@nicksrandall](https://github.com/nicksrandall)! - `exports` field has been added to the `package.json` manifest. It limits what files can be imported from a package but we've tried our best to allow importing all the files that were considered to be a part of the public API.\n\n* [#2819](https://github.com/emotion-js/emotion/pull/2819) [`bbad8c79`](https://github.com/emotion-js/emotion/commit/bbad8c79937f8dfd5d93bf485c1e9ec44124d228) Thanks [@nicksrandall](https://github.com/nicksrandall)! - Thanks to the added `exports` field, the package now includes a `worker` condition that can be utilized by properly configured bundlers when targeting worker-like environments. It fixes the issue with browser-specific files being prioritized by some bundlers when targeting workers.\n\n## 1.1.0\n\n### Minor Changes\n\n- [#2600](https://github.com/emotion-js/emotion/pull/2600) [`2f27156a`](https://github.com/emotion-js/emotion/commit/2f27156a73f94c3aac82e4ed492cbfdc97225573) Thanks [@Andarist](https://github.com/Andarist)! - Introduced `registerStyles` helper that is shared across between other packages. This is just an internal util that shouldn't be used by packages other than `@emotion/*` packages.\n\n## 1.0.0\n\n### Major Changes\n\n- [`9e998e37`](https://github.com/emotion-js/emotion/commit/9e998e3755c217027ad1be0af4c64644fe14c6bf) [#1817](https://github.com/emotion-js/emotion/pull/1817) Thanks [@Andarist](https://github.com/Andarist)! - `insertStyles` no longer calls `cache.insert` with a scoped class name as a selector when inserting keyframes. The change is internal and has no effect on Emotion users.\n\n### Patch Changes\n\n- [`debaad9a`](https://github.com/emotion-js/emotion/commit/debaad9ab4bd6c80312092826d9146f3d29c0899) [#1999](https://github.com/emotion-js/emotion/pull/1999) Thanks [@RoystonS](https://github.com/RoystonS)! - Fixed TypeScript definition of the `EmotionCache` by replacing the non-existent `stylis` method with `insert` that is available at runtime.\n\n## 1.0.0-rc.0\n\n### Major Changes\n\n- [`9c4ebc16`](https://github.com/emotion-js/emotion/commit/9c4ebc160471097c5d04fb92dba3ed0df870bb63) [#2030](https://github.com/emotion-js/emotion/pull/2030) Thanks [@Andarist](https://github.com/Andarist)! - Release candidate version.\n\n## 1.0.0-next.1\n\n### Patch Changes\n\n- [`debaad9a`](https://github.com/emotion-js/emotion/commit/debaad9ab4bd6c80312092826d9146f3d29c0899) [#1999](https://github.com/emotion-js/emotion/pull/1999) Thanks [@RoystonS](https://github.com/RoystonS)! - Fixed TypeScript definition of the `EmotionCache` by replacing the non-existent `stylis` method with `insert` that is available at runtime.\n\n## 1.0.0-next.0\n\n### Major Changes\n\n- [`9e998e37`](https://github.com/emotion-js/emotion/commit/9e998e3755c217027ad1be0af4c64644fe14c6bf) [#1817](https://github.com/emotion-js/emotion/pull/1817) Thanks [@Andarist](https://github.com/Andarist)! - `insertStyles` no longer calls `cache.insert` with a scoped class name as a selector when inserting keyframes. The change is internal and has no effect on Emotion users.\n\n## 0.11.3\n\n### Patch Changes\n\n- [`4c62ae9`](https://github.com/emotion-js/emotion/commit/4c62ae9447959d438928e1a26f76f1487983c968) [#1698](https://github.com/emotion-js/emotion/pull/1698) Thanks [@Andarist](https://github.com/Andarist)! - Add LICENSE file\n\n## 0.11.2\n\n### Patch Changes\n\n- [c0eb604d](https://github.com/emotion-js/emotion/commit/c0eb604d) [#1419](https://github.com/emotion-js/emotion/pull/1419) Thanks [@emmatown](https://github.com/emmatown)! - Update build tool\n"
  },
  {
    "path": "packages/utils/LICENSE",
    "content": "MIT License\n\nCopyright (c) Emotion team and other contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "packages/utils/package.json",
    "content": "{\n  \"name\": \"@emotion/utils\",\n  \"version\": \"1.4.2\",\n  \"description\": \"internal utils for emotion\",\n  \"main\": \"dist/emotion-utils.cjs.js\",\n  \"module\": \"dist/emotion-utils.esm.js\",\n  \"types\": \"dist/emotion-utils.cjs.d.ts\",\n  \"exports\": {\n    \".\": {\n      \"types\": {\n        \"import\": \"./dist/emotion-utils.cjs.mjs\",\n        \"default\": \"./dist/emotion-utils.cjs.js\"\n      },\n      \"edge-light\": {\n        \"module\": \"./dist/emotion-utils.edge-light.esm.js\",\n        \"import\": \"./dist/emotion-utils.edge-light.cjs.mjs\",\n        \"default\": \"./dist/emotion-utils.edge-light.cjs.js\"\n      },\n      \"worker\": {\n        \"module\": \"./dist/emotion-utils.edge-light.esm.js\",\n        \"import\": \"./dist/emotion-utils.edge-light.cjs.mjs\",\n        \"default\": \"./dist/emotion-utils.edge-light.cjs.js\"\n      },\n      \"workerd\": {\n        \"module\": \"./dist/emotion-utils.edge-light.esm.js\",\n        \"import\": \"./dist/emotion-utils.edge-light.cjs.mjs\",\n        \"default\": \"./dist/emotion-utils.edge-light.cjs.js\"\n      },\n      \"browser\": {\n        \"module\": \"./dist/emotion-utils.browser.esm.js\",\n        \"import\": \"./dist/emotion-utils.browser.cjs.mjs\",\n        \"default\": \"./dist/emotion-utils.browser.cjs.js\"\n      },\n      \"module\": \"./dist/emotion-utils.esm.js\",\n      \"import\": \"./dist/emotion-utils.cjs.mjs\",\n      \"default\": \"./dist/emotion-utils.cjs.js\"\n    },\n    \"./package.json\": \"./package.json\"\n  },\n  \"imports\": {\n    \"#is-browser\": {\n      \"edge-light\": \"./src/conditions/false.ts\",\n      \"workerd\": \"./src/conditions/false.ts\",\n      \"worker\": \"./src/conditions/false.ts\",\n      \"browser\": \"./src/conditions/true.ts\",\n      \"default\": \"./src/conditions/is-browser.ts\"\n    }\n  },\n  \"license\": \"MIT\",\n  \"scripts\": {\n    \"test:typescript\": \"dtslint types\"\n  },\n  \"repository\": \"https://github.com/emotion-js/emotion/tree/main/packages/utils\",\n  \"publishConfig\": {\n    \"access\": \"public\"\n  },\n  \"files\": [\n    \"src\",\n    \"dist\"\n  ],\n  \"devDependencies\": {\n    \"@definitelytyped/dtslint\": \"0.0.112\",\n    \"typescript\": \"^5.4.5\"\n  }\n}\n"
  },
  {
    "path": "packages/utils/src/conditions/false.ts",
    "content": "export default false as boolean\n"
  },
  {
    "path": "packages/utils/src/conditions/is-browser.ts",
    "content": "export default typeof document !== 'undefined'\n"
  },
  {
    "path": "packages/utils/src/conditions/true.ts",
    "content": "export default true as boolean\n"
  },
  {
    "path": "packages/utils/src/index.ts",
    "content": "import isBrowser from '#is-browser'\nimport { RegisteredCache, EmotionCache, SerializedStyles } from './types'\n\nexport function getRegisteredStyles(\n  registered: RegisteredCache,\n  registeredStyles: unknown[],\n  classNames: string\n): string {\n  let rawClassName = ''\n\n  classNames.split(' ').forEach(className => {\n    if (registered[className] !== undefined) {\n      registeredStyles.push(`${registered[className]};`)\n    } else if (className) {\n      rawClassName += `${className} `\n    }\n  })\n  return rawClassName\n}\n\nexport const registerStyles = (\n  cache: EmotionCache,\n  serialized: SerializedStyles,\n  isStringTag: boolean\n): void => {\n  let className = `${cache.key}-${serialized.name}`\n  if (\n    // we only need to add the styles to the registered cache if the\n    // class name could be used further down\n    // the tree but if it's a string tag, we know it won't\n    // so we don't have to add it to registered cache.\n    // this improves memory usage since we can avoid storing the whole style string\n    (isStringTag === false ||\n      // we need to always store it if we're in compat mode and\n      // in node since emotion-server relies on whether a style is in\n      // the registered cache to know whether a style is global or not\n      // also, note that this check will be dead code eliminated in the browser\n      (isBrowser === false && cache.compat !== undefined)) &&\n    cache.registered[className] === undefined\n  ) {\n    cache.registered[className] = serialized.styles\n  }\n}\n\nexport const insertStyles = (\n  cache: EmotionCache,\n  serialized: SerializedStyles,\n  isStringTag: boolean\n) => {\n  registerStyles(cache, serialized, isStringTag)\n\n  let className = `${cache.key}-${serialized.name}`\n\n  if (cache.inserted[serialized.name] === undefined) {\n    let stylesForSSR = ''\n    let current: SerializedStyles | undefined = serialized\n    do {\n      let maybeStyles = cache.insert(\n        serialized === current ? `.${className}` : '',\n        current,\n        cache.sheet,\n        true\n      )\n      if (!isBrowser && maybeStyles !== undefined) {\n        stylesForSSR += maybeStyles\n      }\n      current = current.next\n    } while (current !== undefined)\n    if (!isBrowser && stylesForSSR.length !== 0) {\n      return stylesForSSR\n    }\n  }\n}\n\nexport * from './types'\n"
  },
  {
    "path": "packages/utils/src/types.ts",
    "content": "import type { StyleSheet } from '@emotion/sheet'\n\nexport type { StyleSheet }\n\nexport type RegisteredCache = Record<string, string | undefined>\n\nexport type SerializedStyles = {\n  name: string\n  styles: string\n  next?: SerializedStyles\n}\n\nexport type EmotionCache = {\n  inserted: Record<string, string | true | undefined>\n  registered: RegisteredCache\n  sheet: StyleSheet\n  key: string\n  compat?: true\n  nonce?: string\n  insert: (\n    selector: string,\n    serialized: SerializedStyles,\n    sheet: StyleSheet,\n    shouldCache: boolean\n  ) => string | void\n}\n"
  },
  {
    "path": "packages/utils/types/index.d.ts",
    "content": "// TypeScript Version: 2.2\n\nexport * from '..'\n"
  },
  {
    "path": "packages/utils/types/resolved-condition.ts",
    "content": "export default true as boolean\n"
  },
  {
    "path": "packages/utils/types/tests.ts",
    "content": "import {\n  EmotionCache,\n  RegisteredCache,\n  getRegisteredStyles,\n  insertStyles\n} from '@emotion/utils'\n\ndeclare const testCache: EmotionCache\ndeclare const testRegisteredCache: RegisteredCache\n\ngetRegisteredStyles(testRegisteredCache, [], 'abc')\ngetRegisteredStyles(testRegisteredCache, [], 'abc def')\ngetRegisteredStyles(testRegisteredCache, [], 'dead end')\ngetRegisteredStyles(testRegisteredCache, ['color: red;'], 'black parade')\n// $ExpectError\ngetRegisteredStyles()\n// $ExpectError\ngetRegisteredStyles(testRegisteredCache)\n\ninsertStyles(\n  testCache,\n  {\n    name: 'abc',\n    styles: 'color: green;background: red;'\n  },\n  false\n)\n// $ExpectError\ninsertStyles()\n// $ExpectError\ninsertStyles(testCache)\n// $ExpectError\ninsertStyles(testCache, {})\n// $ExpectError\ninsertStyles(testCache, {\n  name: 'abc',\n  styles: 'font-size: 18px;'\n})\n"
  },
  {
    "path": "packages/utils/types/tsconfig.json",
    "content": "{\n  \"compilerOptions\": {\n    \"baseUrl\": \"../\",\n    \"forceConsistentCasingInFileNames\": true,\n    \"jsx\": \"react\",\n    \"lib\": [\"es6\", \"dom\"],\n    \"module\": \"commonjs\",\n    \"noEmit\": true,\n    \"strict\": true,\n    \"target\": \"es5\",\n    \"typeRoots\": [\"../\"],\n    \"types\": [],\n    \"paths\": {\n      \"#is-browser\": [\"./types/resolved-condition.ts\"],\n      \"#is-development\": [\"./src/conditions/true.ts\"]\n    }\n  },\n  \"include\": [\"./*.ts\", \"./*.tsx\"]\n}\n"
  },
  {
    "path": "packages/utils/types/tslint.json",
    "content": "{\n  \"extends\": \"@definitelytyped/dtslint/dtslint.json\",\n  \"rules\": {\n    \"array-type\": [true, \"generic\"],\n    \"semicolon\": false\n  }\n}\n"
  },
  {
    "path": "packages/weak-memoize/CHANGELOG.md",
    "content": "# @emotion/weak-memoize\n\n## 0.4.0\n\n### Minor Changes\n\n- [#2429](https://github.com/emotion-js/emotion/pull/2429) [`b1d16b0`](https://github.com/emotion-js/emotion/commit/b1d16b087d057524f374e347fdfd6a03e505107a) Thanks [@sarayourfriend](https://github.com/sarayourfriend)! - Source code has been migrated to TypeScript. From now on type declarations will be emitted based on that, instead of being hand-written.\n\n## 0.3.1\n\n### Patch Changes\n\n- [#3029](https://github.com/emotion-js/emotion/pull/3029) [`eed5e6cf`](https://github.com/emotion-js/emotion/commit/eed5e6cf00f94f3011b93825ccce43cb2270c247) Thanks [@Andarist](https://github.com/Andarist)! - Fixed importing in Node ESM\n\n## 0.3.0\n\n### Minor Changes\n\n- [#2819](https://github.com/emotion-js/emotion/pull/2819) [`bbad8c79`](https://github.com/emotion-js/emotion/commit/bbad8c79937f8dfd5d93bf485c1e9ec44124d228) Thanks [@nicksrandall](https://github.com/nicksrandall)! - `exports` field has been added to the `package.json` manifest. It limits what files can be imported from a package but we've tried our best to allow importing all the files that were considered to be a part of the public API.\n\n## 0.2.5\n\n### Patch Changes\n\n- [`4c62ae9`](https://github.com/emotion-js/emotion/commit/4c62ae9447959d438928e1a26f76f1487983c968) [#1698](https://github.com/emotion-js/emotion/pull/1698) Thanks [@Andarist](https://github.com/Andarist)! - Add LICENSE file\n\n## 0.2.4\n\n### Patch Changes\n\n- [c81c0033](https://github.com/emotion-js/emotion/commit/c81c0033c490210077da0e9c3f9fa1a22fcd9c96) [#1503](https://github.com/emotion-js/emotion/pull/1503) Thanks [@Andarist](https://github.com/Andarist)! - Add TS types to util packages - hash, memoize & weak-memoize\n\n## 0.2.3\n\n### Patch Changes\n\n- [c0eb604d](https://github.com/emotion-js/emotion/commit/c0eb604d) [#1419](https://github.com/emotion-js/emotion/pull/1419) Thanks [@emmatown](https://github.com/emmatown)! - Update build tool\n"
  },
  {
    "path": "packages/weak-memoize/LICENSE",
    "content": "MIT License\n\nCopyright (c) Emotion team and other contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "packages/weak-memoize/README.md",
    "content": "# @emotion/weak-memoize\n\n> A memoization function that uses a WeakMap\n\n## Install\n\n```bash\nyarn add @emotion/weak-memoize\n```\n\n## Usage\n\nBecause @emotion/weak-memoize uses a WeakMap the argument must be a non primitive type, e.g. objects, functions, arrays and etc. The function passed to `weakMemoize` must also only accept a single argument.\n\n```jsx\nimport weakMemoize from '@emotion/weak-memoize'\n\nlet doThing = weakMemoize(({ someProperty }) => {\n  return { newName: someProperty }\n})\n\nlet obj = { someProperty: true }\n\nlet firstResult = doThing(obj)\n\nlet secondResult = doThing(obj)\n\nfirstResult === secondResult // true\n\nlet newObj = { someProperty: true }\n\nlet thirdResult = doThing(newObj)\n\nthirdResult === firstResult // false\n```\n"
  },
  {
    "path": "packages/weak-memoize/__tests__/index.js",
    "content": "import weakMemoize from '@emotion/weak-memoize'\n\ntest('it works', () => {\n  let doThing = weakMemoize(obj => {\n    return {}\n  })\n\n  let firstArg = {}\n\n  let firstResult = doThing(firstArg)\n\n  let secondResult = doThing(firstArg)\n\n  expect(firstResult).toBe(secondResult)\n\n  let newObj = {}\n\n  let newResult = doThing(newObj)\n\n  expect(newResult).not.toBe(firstResult)\n})\n"
  },
  {
    "path": "packages/weak-memoize/package.json",
    "content": "{\n  \"name\": \"@emotion/weak-memoize\",\n  \"version\": \"0.4.0\",\n  \"description\": \"A memoization function that uses a WeakMap\",\n  \"main\": \"dist/emotion-weak-memoize.cjs.js\",\n  \"module\": \"dist/emotion-weak-memoize.esm.js\",\n  \"types\": \"dist/emotion-weak-memoize.cjs.d.ts\",\n  \"license\": \"MIT\",\n  \"repository\": \"https://github.com/emotion-js/emotion/tree/main/packages/weak-memoize\",\n  \"scripts\": {\n    \"test:typescript\": \"dtslint types\"\n  },\n  \"publishConfig\": {\n    \"access\": \"public\"\n  },\n  \"devDependencies\": {\n    \"@definitelytyped/dtslint\": \"0.0.112\",\n    \"typescript\": \"^5.4.5\"\n  },\n  \"files\": [\n    \"src\",\n    \"dist\"\n  ],\n  \"exports\": {\n    \".\": {\n      \"types\": {\n        \"import\": \"./dist/emotion-weak-memoize.cjs.mjs\",\n        \"default\": \"./dist/emotion-weak-memoize.cjs.js\"\n      },\n      \"module\": \"./dist/emotion-weak-memoize.esm.js\",\n      \"import\": \"./dist/emotion-weak-memoize.cjs.mjs\",\n      \"default\": \"./dist/emotion-weak-memoize.cjs.js\"\n    },\n    \"./package.json\": \"./package.json\"\n  }\n}\n"
  },
  {
    "path": "packages/weak-memoize/src/index.ts",
    "content": "let weakMemoize = function <Arg extends object, Return>(\n  func: (arg: Arg) => Return\n): (arg: Arg) => Return {\n  let cache = new WeakMap<Arg, Return>()\n  return (arg: Arg) => {\n    if (cache.has(arg)) {\n      // Use non-null assertion because we just checked that the cache `has` it\n      // This allows us to remove `undefined` from the return value\n      return cache.get(arg)!\n    }\n    let ret = func(arg)\n    cache.set(arg, ret)\n    return ret\n  }\n}\n\nexport default weakMemoize\n"
  },
  {
    "path": "packages/weak-memoize/types/index.d.ts",
    "content": "// TypeScript Version: 2.2\n\nexport { default } from '..'\n"
  },
  {
    "path": "packages/weak-memoize/types/tests.ts",
    "content": "import weakMemoize from '@emotion/weak-memoize'\n\ninterface Foo {\n  bar: 'xyz'\n}\n\ndeclare class Qwe {\n  answer: number\n}\n\n// $ExpectType Foo[]\nweakMemoize((arg: Foo) => [arg])({ bar: 'xyz' })\n\n// $ExpectError\nweakMemoize((arg: string) => [arg])('foo')\n\n// $ExpectError\nweakMemoize((arg: Foo) => [arg])(42)\n\n// $ExpectError\nweakMemoize((arg: string) => [arg])\n// $ExpectError\nweakMemoize((arg: number) => [arg])\n// $ExpectError\nweakMemoize((arg: boolean) => [arg])\n// $ExpectError\nweakMemoize((arg: symbol) => [arg])\n// $ExpectError\nweakMemoize((arg: null) => [arg])\n// $ExpectError\nweakMemoize((arg: undefined) => [arg])\n\nweakMemoize((arg: () => void) => [arg])\nweakMemoize((arg: Map<any, any>) => [arg])\nweakMemoize((arg: Set<any>) => [arg])\nweakMemoize((arg: Qwe) => [arg])\n"
  },
  {
    "path": "packages/weak-memoize/types/tsconfig.json",
    "content": "{\n  \"compilerOptions\": {\n    \"baseUrl\": \"../\",\n    \"forceConsistentCasingInFileNames\": true,\n    \"lib\": [\"es6\", \"dom\"],\n    \"module\": \"commonjs\",\n    \"noEmit\": true,\n    \"strict\": true,\n    \"target\": \"es5\",\n    \"typeRoots\": [\"../\"],\n    \"types\": []\n  },\n  \"include\": [\"./*.ts\", \"./*.tsx\"]\n}\n"
  },
  {
    "path": "packages/weak-memoize/types/tslint.json",
    "content": "{\n  \"extends\": \"@definitelytyped/dtslint/dtslint.json\",\n  \"rules\": {\n    \"array-type\": [true, \"generic\"],\n    \"import-spacing\": false,\n    \"semicolon\": false,\n    \"whitespace\": [\n      true,\n      \"check-branch\",\n      \"check-decl\",\n      \"check-operator\",\n      \"check-module\",\n      \"check-rest-spread\",\n      \"check-type\",\n      \"check-typecast\",\n      \"check-type-operator\",\n      \"check-preblock\"\n    ],\n\n    \"no-unnecessary-generics\": false,\n    \"strict-export-declare-modifiers\": false,\n    \"no-default-import\": false,\n    \"unnecessary-bind\": false\n  }\n}\n"
  },
  {
    "path": "playgrounds/README.md",
    "content": "# Emotion Development Playgrounds\n\nThese are intended to be places to experiment with behaviour that is hard to do in tests or a CodeSandbox. These are not intended to be perfect examples of how you would write emotion code with these other libraries as they will generally be focused on edge cases.\n\n## Getting Started\n\nIn the root of the repository, run this command to start building emotion\n\n```bash\nyarn build:watch\n```\n\nThen choose the playground you want to use and run the commands in the given package.json\n"
  },
  {
    "path": "playgrounds/cra/.gitignore",
    "content": "# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.\n\n# dependencies\n/node_modules\n/.pnp\n.pnp.js\n\n# testing\n/coverage\n\n# production\n/build\n\n# misc\n.DS_Store\n.env.local\n.env.development.local\n.env.test.local\n.env.production.local\n\nnpm-debug.log*\nyarn-debug.log*\nyarn-error.log*\n"
  },
  {
    "path": "playgrounds/cra/README.md",
    "content": "# CRA Playground\n\nThis project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).\n"
  },
  {
    "path": "playgrounds/cra/package.json",
    "content": "{\n  \"name\": \"cra-playground\",\n  \"version\": \"0.1.0\",\n  \"private\": true,\n  \"dependencies\": {\n    \"react\": \"16.14.0\",\n    \"react-dom\": \"16.14.0\",\n    \"react-scripts\": \"4.0.3\",\n    \"theme-ui\": \"^0.12.0\"\n  },\n  \"scripts\": {\n    \"start\": \"react-scripts start\",\n    \"build\": \"react-scripts build\",\n    \"test\": \"react-scripts test\",\n    \"eject\": \"react-scripts eject\"\n  },\n  \"browserslist\": {\n    \"production\": [\n      \">0.2%\",\n      \"not dead\",\n      \"not op_mini all\"\n    ],\n    \"development\": [\n      \"last 1 chrome version\",\n      \"last 1 firefox version\",\n      \"last 1 safari version\"\n    ]\n  }\n}\n"
  },
  {
    "path": "playgrounds/cra/public/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <meta charset=\"utf-8\" />\n    <link rel=\"icon\" href=\"%PUBLIC_URL%/favicon.ico\" />\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" />\n    <!--\n      Notice the use of %PUBLIC_URL% in the tags above.\n      It will be replaced with the URL of the `public` folder during the build.\n      Only files inside the `public` folder can be referenced from the HTML.\n\n      Unlike \"/favicon.ico\" or \"favicon.ico\", \"%PUBLIC_URL%/favicon.ico\" will\n      work correctly both with client-side routing and a non-root public URL.\n      Learn how to configure a non-root public URL by running `npm run build`.\n    -->\n    <title>CRA Playground</title>\n  </head>\n  <body>\n    <noscript>You need to enable JavaScript to run this app.</noscript>\n    <div id=\"root\"></div>\n    <!--\n      This HTML file is a template.\n      If you open it directly in the browser, you will see an empty page.\n\n      You can add webfonts, meta tags, or analytics to this file.\n      The build step will place the bundled scripts into the <body> tag.\n\n      To begin the development, run `npm start` or `yarn start`.\n      To create a production bundle, use `npm run build` or `yarn build`.\n    -->\n  </body>\n</html>\n"
  },
  {
    "path": "playgrounds/cra/src/App.js",
    "content": "/** @jsxImportSource @emotion/react */\nimport React from 'react'\nimport { Global } from '@emotion/react'\n\nfunction App() {\n  return (\n    <div>\n      <Global\n        styles={{\n          body: {\n            padding: '2rem',\n            fontFamily: 'sans-serif'\n          },\n          h1: {\n            marginTop: 0\n          }\n        }}\n      />\n\n      <h1>CRA Playground</h1>\n      <div css={{ color: 'orchid' }}>Some colored text</div>\n    </div>\n  )\n}\n\nexport default App\n"
  },
  {
    "path": "playgrounds/cra/src/index.js",
    "content": "import React from 'react'\nimport ReactDOM from 'react-dom'\nimport App from './App'\n\nReactDOM.render(\n  <React.StrictMode>\n    <App />\n  </React.StrictMode>,\n  document.getElementById('root')\n)\n"
  },
  {
    "path": "playgrounds/nextjs/.babelrc.js",
    "content": "module.exports = {\n  presets: [\n    [\n      'next/babel',\n      {\n        'preset-react': {\n          runtime: 'automatic',\n          importSource: '@emotion/react'\n        }\n      }\n    ]\n  ],\n  plugins: ['@emotion/babel-plugin']\n}\n"
  },
  {
    "path": "playgrounds/nextjs/.gitignore",
    "content": "# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.\n\n# dependencies\n/node_modules\n/.pnp\n.pnp.js\n\n# testing\n/coverage\n\n# next.js\n/.next/\n/out/\n\n# production\n/build\n\n# misc\n.DS_Store\n*.pem\n\n# debug\nnpm-debug.log*\nyarn-debug.log*\nyarn-error.log*\n\n# local env files\n.env.local\n.env.development.local\n.env.test.local\n.env.production.local\n\n# vercel\n.vercel\n"
  },
  {
    "path": "playgrounds/nextjs/README.md",
    "content": "This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app).\n\n## Getting Started\n\nFirst, run the development server:\n\n```bash\nnpm run dev\n# or\nyarn dev\n```\n\nOpen [http://localhost:3000](http://localhost:3000) with your browser to see the result.\n\nYou can start editing the page by modifying `pages/index.js`. The page auto-updates as you edit the file.\n\n[API routes](https://nextjs.org/docs/api-routes/introduction) can be accessed on [http://localhost:3000/api/hello](http://localhost:3000/api/hello). This endpoint can be edited in `pages/api/hello.js`.\n\nThe `pages/api` directory is mapped to `/api/*`. Files in this directory are treated as [API routes](https://nextjs.org/docs/api-routes/introduction) instead of React pages.\n\n## Learn More\n\nTo learn more about Next.js, take a look at the following resources:\n\n- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.\n- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.\n\nYou can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome!\n\n## Deploy on Vercel\n\nThe easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js.\n\nCheck out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details.\n"
  },
  {
    "path": "playgrounds/nextjs/next.config.js",
    "content": "module.exports = {\n  reactStrictMode: true\n}\n"
  },
  {
    "path": "playgrounds/nextjs/package.json",
    "content": "{\n  \"name\": \"nextjs-playground\",\n  \"version\": \"0.0.0\",\n  \"private\": true,\n  \"scripts\": {\n    \"dev\": \"next dev -p 4000\",\n    \"build\": \"next build\",\n    \"start\": \"next start\"\n  },\n  \"dependencies\": {\n    \"next\": \"^12.2.0\",\n    \"react\": \"16.14.0\",\n    \"react-dom\": \"16.14.0\"\n  }\n}\n"
  },
  {
    "path": "playgrounds/nextjs/pages/_app.js",
    "content": "function MyApp({ Component, pageProps }) {\n  return <Component {...pageProps} />\n}\n\nexport default MyApp\n"
  },
  {
    "path": "playgrounds/nextjs/pages/index.js",
    "content": "import { useState } from 'react'\nimport Head from 'next/head'\nimport { Global, css } from '@emotion/react'\n\nconst something = css({\n  backgroundColor: 'green'\n})\n\nfunction Thing() {\n  return <div css={{ color: 'green' }}>Thing</div>\n}\n\nexport default function Home() {\n  const [isThingVisible, setIsThingVisible] = useState(false)\n  return (\n    <div>\n      <Head>\n        <title>Next.js Playground</title>\n        <meta name=\"description\" content=\"Generated by create next app\" />\n        <link rel=\"icon\" href=\"/favicon.ico\" />\n      </Head>\n\n      <Global\n        styles={{\n          body: {\n            padding: '2rem',\n            fontFamily: 'sans-serif'\n          },\n          h1: {\n            marginTop: 0\n          }\n        }}\n      />\n\n      <h1>Next.js Playground</h1>\n      <div css={[{ color: 'orchid' }, something]}>Some colored text</div>\n      <button onClick={() => setIsThingVisible(!isThingVisible)}>\n        Toggle Thing\n      </button>\n      {isThingVisible && <Thing />}\n    </div>\n  )\n}\n"
  },
  {
    "path": "scripts/babel-preset-emotion-dev/package.json",
    "content": "{\n  \"name\": \"babel-preset-emotion-dev\",\n  \"main\": \"src/index\",\n  \"version\": \"9.2.6\",\n  \"private\": true,\n  \"dependencies\": {\n    \"@babel/plugin-proposal-class-properties\": \"^7.17.12\",\n    \"babel-plugin-add-basic-constructor-for-react-components\": \"^0.1.0\",\n    \"babel-plugin-fix-dce-for-classes-with-statics\": \"^0.1.0\"\n  }\n}\n"
  },
  {
    "path": "scripts/babel-preset-emotion-dev/src/index.js",
    "content": "module.exports = (api, options = {}) => {\n  return {\n    presets: [\n      [require.resolve('@babel/preset-env'), { loose: true }],\n      [\n        require.resolve('@babel/preset-react'),\n        options.runtime === 'automatic'\n          ? {\n              runtime: options.runtime,\n              importSource: '@emotion/react',\n              development: options.development\n            }\n          : {}\n      ]\n    ],\n    plugins: [\n      require.resolve(\n        'babel-plugin-add-basic-constructor-for-react-components'\n      ),\n      require.resolve('babel-plugin-fix-dce-for-classes-with-statics'),\n      require.resolve('babel-plugin-codegen'),\n      [\n        require.resolve('@babel/plugin-transform-runtime'),\n        { version: require('@babel/runtime/package.json').version }\n      ],\n      [\n        require.resolve('@babel/plugin-proposal-class-properties'),\n        { loose: true }\n      ],\n      options.useEmotionPlugin && [\n        require.resolve('@emotion/babel-plugin'),\n        {\n          ...('sourceMap' in options && { sourceMap: options.sourceMap })\n        }\n      ]\n    ].filter(Boolean)\n  }\n}\n"
  },
  {
    "path": "scripts/babel-tester/babel-check-duplicated-nodes.d.ts",
    "content": "declare module 'babel-check-duplicated-nodes' {\n  export default function checkDuplicatedNodes(\n    babel: typeof import('@babel/core'),\n    ast: import('@babel/core').types.File\n  ): void\n}\n"
  },
  {
    "path": "scripts/babel-tester/package.json",
    "content": "{\n  \"name\": \"babel-tester\",\n  \"main\": \"src/index.ts\",\n  \"version\": \"0.4.5\",\n  \"private\": true,\n  \"dependencies\": {\n    \"@babel/plugin-syntax-class-properties\": \"^7.12.13\",\n    \"@babel/plugin-syntax-object-rest-spread\": \"^7.8.3\",\n    \"babel-check-duplicated-nodes\": \"^1.0.0\"\n  },\n  \"devDependencies\": {\n    \"@types/jest-in-case\": \"^1.0.5\"\n  }\n}\n"
  },
  {
    "path": "scripts/babel-tester/src/index.ts",
    "content": "/* eslint-env jest */\nimport jestInCase from 'jest-in-case'\nimport * as babel from '@babel/core'\nimport fs from 'fs'\nimport path from 'path'\nimport { promisify } from 'util'\nimport checkDuplicatedNodes from 'babel-check-duplicated-nodes'\n\ntype FixtureTestCase = {\n  filename: string\n  babelFileName: string\n  only: boolean\n  skip: boolean\n}\n\ntype TestCase = {\n  code?: string\n  filename?: string\n  babelFileName?: string\n  plugins?: any[]\n}\n\ntype TesterOptions = {\n  plugins?: any[]\n  presets?: any[]\n  transform?: (code: string) => string\n  filename?: string\n}\n\nconst readFile = promisify(fs.readFile)\n\nconst separator = '\\n\\n      ↓ ↓ ↓ ↓ ↓ ↓\\n\\n'\n\nconst tester = (allOpts: TesterOptions) => async (opts: TestCase) => {\n  let rawCode = opts.code\n  if (!opts.code && opts.filename) {\n    rawCode = await readFile(opts.filename, 'utf-8')\n  }\n  if (allOpts.transform) {\n    rawCode = allOpts.transform(rawCode!)\n  }\n  const { code, ast } = babel.transformSync(rawCode!, {\n    plugins: [\n      'macros',\n      '@babel/plugin-syntax-jsx',\n      '@babel/plugin-syntax-class-properties',\n      '@babel/plugin-syntax-object-rest-spread',\n      ...(allOpts.plugins || []),\n      ...(opts.plugins || [])\n    ],\n    presets: allOpts.presets,\n    babelrc: false,\n    configFile: false,\n    ast: true,\n    filename: 'babelFileName' in opts ? opts.babelFileName : 'emotion.js'\n  })!\n  expect(() => checkDuplicatedNodes(babel, ast!)).not.toThrow()\n\n  expect(`${rawCode}${separator}${code}`).toMatchSnapshot()\n}\n\nfunction readFixturesDir(dirname: string): string[] {\n  const fixturesFolder = path.join(dirname, '__fixtures__')\n  return fs\n    .readdirSync(fixturesFolder)\n    .map(base => path.join(fixturesFolder, base))\n}\n\nexport default (\n  name: string,\n  cases:\n    | string\n    | Record<string, { code: string; plugins?: any[]; babelFileName?: string }>,\n  opts: TesterOptions = {}\n) => {\n  if (typeof cases === 'string') {\n    const fixtureCases = readFixturesDir(cases).reduce<\n      Record<string, FixtureTestCase>\n    >((accum, filename) => {\n      let skip = false\n      let only = false\n      let testTitle = filename\n      if (filename.indexOf('.skip.js') !== -1) {\n        testTitle = filename.replace('.skip', '')\n        skip = true\n      } else if (filename.indexOf('.only.js') !== -1) {\n        testTitle = filename.replace('.only', '')\n        only = true\n      }\n      accum[path.parse(testTitle).name] = {\n        filename,\n        babelFileName: opts.filename || filename,\n        only,\n        skip\n      }\n      return accum\n    }, {})\n    return jestInCase(name, tester(opts), fixtureCases)\n  }\n\n  return jestInCase(name, tester(opts), cases)\n}\n"
  },
  {
    "path": "scripts/benchmarks/.babelrc",
    "content": "{\n  \"presets\": [\n    [\"@babel/env\", { \"modules\": false, \"loose\": true }],\n    \"@babel/react\"\n  ],\n  \"plugins\": [\n    [\"@babel/plugin-proposal-class-properties\", { \"loose\": false }],\n    \"babel-plugin-react-native-web\",\n    \"@emotion\",\n    \"transform-inline-environment-variables\"\n  ]\n}\n"
  },
  {
    "path": "scripts/benchmarks/CHANGELOG.md",
    "content": "# benchmarks\n\n## 0.8.28\n\n### Patch Changes\n\n- Updated dependencies [[`c672175b`](https://github.com/emotion-js/emotion/commit/c672175b52e86de43b3d4092a8fe34b2023ceae8), [`c5b12d90`](https://github.com/emotion-js/emotion/commit/c5b12d90316477e95ce3680a3c745cde328a14c1), [`5e803106`](https://github.com/emotion-js/emotion/commit/5e803106d391b7c036bdf634318b80337a1d9b70), [`b8476e08`](https://github.com/emotion-js/emotion/commit/b8476e08af4a2e8de94a112cb0daf6e8e4d56fe1), [`0a4a22ff`](https://github.com/emotion-js/emotion/commit/0a4a22ffcfaa49d09a88856ef2d51e0d53e31b6d), [`b0ad4f0c`](https://github.com/emotion-js/emotion/commit/b0ad4f0c628813a42c4637857be9a969429db6f0), [`9e998e37`](https://github.com/emotion-js/emotion/commit/9e998e3755c217027ad1be0af4c64644fe14c6bf), [`c65c5d88`](https://github.com/emotion-js/emotion/commit/c65c5d887002d76557eaefcb98091d795b13f9a9), [`5c7ec859`](https://github.com/emotion-js/emotion/commit/5c7ec85904633a11185066fa591dc8969f3f2ff2), [`c7850e61`](https://github.com/emotion-js/emotion/commit/c7850e61211d6aa26a3388399889a6072ee2f1fe), [`b7d21373`](https://github.com/emotion-js/emotion/commit/b7d21373d967d0f958dd59aaaa650047e23e8e8b), [`c5b12d90`](https://github.com/emotion-js/emotion/commit/c5b12d90316477e95ce3680a3c745cde328a14c1), [`828111cd`](https://github.com/emotion-js/emotion/commit/828111cd32d3fe8c984231201e518d1b6000bffd)]:\n  - @emotion/babel-plugin@11.0.0\n\n## 0.8.28-next.1\n\n### Patch Changes\n\n- Updated dependencies [[`c643107`](https://github.com/emotion-js/emotion/commit/c6431074cf52a4bb64587c86ce5d42fe2d49230b)]:\n  - babel-plugin-emotion@11.0.0-next.8\n\n## 0.8.28-next.0\n\n### Patch Changes\n\n- Updated dependencies [[`b0ad4f0c`](https://github.com/emotion-js/emotion/commit/b0ad4f0c628813a42c4637857be9a969429db6f0), [`302bdba1`](https://github.com/emotion-js/emotion/commit/302bdba1a6b793484c09edeb668815c5e31ea555)]:\n  - babel-plugin-emotion@11.0.0-next.0\n"
  },
  {
    "path": "scripts/benchmarks/README.md",
    "content": "# Benchmarks\n\nThese benchmarks test how fast emotion renders with react components. They do not necessarily represent how fast a css-in-js library will be in the real world and are used by emotion to stop performance regressions in render performance/caching.\n\nTo run these benchmarks, visit https://benchmarks.emotion.sh and choose a commit. (If a benchmark says artifact not found, that means the build hasn't finished yet and you have to wait or the build may have failed)\n\nThese benchmarks are a modified version of react-native-web's benchmarks.\n\n## Running Locally\n\nThe benchmarks can also be run locally, in this folder run `yarn build` and then `open ./dist/index.html` or use `yarn run-benchmark` to run them automatically.\n"
  },
  {
    "path": "scripts/benchmarks/package.json",
    "content": "{\n  \"private\": true,\n  \"name\": \"benchmarks\",\n  \"version\": \"0.8.28\",\n  \"scripts\": {\n    \"start\": \"parcel src/index.html\",\n    \"build\": \"parcel build src/index.html --public-url .\",\n    \"run-benchmark\": \"node run.js\"\n  },\n  \"dependencies\": {\n    \"@babel/core\": \"^7.18.5\",\n    \"@emotion/babel-plugin\": \"^11.13.5\",\n    \"babel-plugin-react-native-web\": \"^0.17.5\",\n    \"d3-scale-chromatic\": \"^3.0.0\",\n    \"http-server\": \"^14.0.0\",\n    \"parcel\": \"^2.12.0\",\n    \"puppeteer\": \"^11.0.0\",\n    \"react\": \"16.14.0\",\n    \"react-dom\": \"16.14.0\",\n    \"react-native-web\": \"0.17.5\",\n    \"stats-analysis\": \"^2.0.0\"\n  },\n  \"alias\": {\n    \"react-native\": \"react-native-web\"\n  }\n}\n"
  },
  {
    "path": "scripts/benchmarks/run.js",
    "content": "// some of this is from https://github.com/styled-components/styled-components/blob/master/benchmarks/run-headless.js\n\nconst path = require('path')\nconst puppeteer = require('puppeteer')\nconst { createServer } = require('http-server')\n\nlet libraries = ['emotion-css-func', 'emotion-css-prop', 'emotion-styled']\nlet tests = ['Mount deep tree', 'Mount wide tree', 'Update dynamic styles']\nlet tracing = process.argv.some(arg => arg.includes('tracing'))\n\nif (tracing) {\n  console.log(\n    '\\nTracing enabled. (note that this might impact benchmark results, we recommend leaving this turned off unless you need a trace)'\n  )\n}\n\n;(async () => {\n  let server = createServer({ root: path.join(__dirname, 'dist') })\n  await new Promise((resolve, reject) => {\n    server.listen(57322, 'localhost', err => {\n      if (err) {\n        reject(err)\n      }\n      resolve()\n    })\n  })\n\n  console.log('\\nStarting headless browser...')\n  const browser = await puppeteer.launch()\n\n  console.log(\n    'Running benchmarks... (this may take a minute or two; do not use your machine while these are running!)'\n  )\n\n  for (let library of libraries) {\n    for (let test of tests) {\n      await runTest(browser, library, test)\n    }\n  }\n  console.log('Done!')\n  await browser.close()\n  await new Promise((resolve, reject) => {\n    server.close(err => {\n      if (err) {\n        reject(err)\n      }\n      resolve()\n    })\n  })\n})()\n\nasync function runTest(browser, library, test) {\n  let page = await browser.newPage()\n  await page.goto(`http://localhost:57322`)\n\n  await page.waitForSelector('[data-testid=\"library-picker\"]')\n  await page.select('[data-testid=\"library-picker\"]', library)\n\n  let traceFile = `${test.toLowerCase().replace(/\\s/g, '-')}-trace.json`\n  await page.select('[data-testid=\"benchmark-picker\"]', test)\n  await page.waitForSelector('[data-testid=\"run-button\"]')\n  if (tracing) {\n    await page.tracing.start({ path: traceFile })\n  }\n  await page.click('[data-testid=\"run-button\"]')\n  await page.waitForSelector(`[data-testid=\"run-result\"]`)\n  if (tracing) {\n    await page.tracing.stop()\n  }\n  const result = await page.$eval(\n    `[data-testid=\"run-result\"]`,\n    node => node.innerText\n  )\n  console.log(`\\n---${library} - ${test}---`)\n  console.log(result)\n  if (tracing) {\n    console.log('Trace written to', traceFile)\n  }\n  page.close()\n}\n"
  },
  {
    "path": "scripts/benchmarks/src/app/App.js",
    "content": "import Benchmark from './Benchmark'\nimport {\n  Picker,\n  StyleSheet,\n  ScrollView,\n  TouchableOpacity,\n  View\n} from 'react-native'\nimport React, { Component } from 'react'\nimport Button from './Button'\nimport { IconClear, IconEye } from './Icons'\nimport ReportCard from './ReportCard'\nimport Text from './Text'\nimport Layout from './Layout'\nimport { colors } from './theme'\n\nconst Overlay = () => <View style={[StyleSheet.absoluteFill, { zIndex: 2 }]} />\n\nexport default class App extends Component {\n  static displayName = '@app/App'\n\n  constructor(props, context) {\n    super(props, context)\n    const currentBenchmarkName = Object.keys(props.tests)[0]\n    this.state = {\n      currentBenchmarkName,\n      currentLibraryName: 'emotion-css-prop',\n      status: 'idle',\n      results: []\n    }\n  }\n\n  render() {\n    const { tests } = this.props\n    const { currentBenchmarkName, status, currentLibraryName, results } =\n      this.state\n    const currentImplementation =\n      tests[currentBenchmarkName][currentLibraryName]\n    const { Component, Provider, getComponentProps, sampleCount } =\n      currentImplementation\n\n    return (\n      <Layout\n        actionPanel={\n          <View>\n            <View style={styles.pickers}>\n              <View style={styles.pickerContainer}>\n                <Text style={styles.pickerTitle}>{'Library'}</Text>\n                <Text style={{ fontWeight: 'bold' }}>{currentLibraryName}</Text>\n\n                <Picker\n                  enabled={status !== 'running'}\n                  onValueChange={this._handleChangeLibrary}\n                  selectedValue={currentLibraryName}\n                  style={styles.picker}\n                  testID=\"library-picker\"\n                >\n                  {Object.keys(tests[currentBenchmarkName]).map(libraryName => (\n                    <Picker.Item\n                      key={libraryName}\n                      label={libraryName}\n                      value={libraryName}\n                    />\n                  ))}\n                </Picker>\n              </View>\n              <View style={{ width: 1, backgroundColor: colors.fadedGray }} />\n              <View style={styles.pickerContainer}>\n                <Text style={styles.pickerTitle}>{'Benchmark'}</Text>\n                <Text testID=\"current-benchmark-name\">\n                  {currentBenchmarkName}\n                </Text>\n                <Picker\n                  enabled={status !== 'running'}\n                  onValueChange={this._handleChangeBenchmark}\n                  selectedValue={currentBenchmarkName}\n                  style={styles.picker}\n                  testID=\"benchmark-picker\"\n                >\n                  {Object.keys(tests).map(test => (\n                    <Picker.Item key={test} label={test} value={test} />\n                  ))}\n                </Picker>\n              </View>\n            </View>\n\n            <View style={{ flexDirection: 'row', height: 50 }}>\n              <View style={styles.grow}>\n                <Button\n                  onPress={this._handleStart}\n                  style={styles.button}\n                  title={status === 'running' ? 'Running…' : 'Run'}\n                  disabled={status === 'running'}\n                  testID=\"run-button\"\n                />\n              </View>\n            </View>\n\n            {status === 'running' ? <Overlay /> : null}\n          </View>\n        }\n        listPanel={\n          <View style={styles.listPanel}>\n            <View style={styles.grow}>\n              <View style={styles.listBar}>\n                <View style={styles.iconClearContainer}>\n                  <TouchableOpacity onPress={this._handleClear}>\n                    <IconClear />\n                  </TouchableOpacity>\n                </View>\n              </View>\n              <ScrollView ref={this._setScrollRef} style={styles.grow}>\n                {results.map((result, i) => (\n                  <ReportCard key={i} {...result} />\n                ))}\n                {status === 'running' ? (\n                  <ReportCard\n                    benchmarkName={currentBenchmarkName}\n                    libraryName={currentLibraryName}\n                  />\n                ) : null}\n              </ScrollView>\n            </View>\n            {status === 'running' ? <Overlay /> : null}\n          </View>\n        }\n        viewPanel={\n          <View style={styles.viewPanel}>\n            <View style={styles.iconEyeContainer}>\n              <TouchableOpacity onPress={this._handleVisuallyHideBenchmark}>\n                <IconEye style={styles.iconEye} />\n              </TouchableOpacity>\n            </View>\n\n            <Provider>\n              {status === 'running' ? (\n                <>\n                  <View ref={this._setBenchWrapperRef}>\n                    <Benchmark\n                      component={Component}\n                      forceLayout\n                      getComponentProps={getComponentProps}\n                      onComplete={this._createHandleComplete({\n                        sampleCount,\n                        benchmarkName: currentBenchmarkName,\n                        libraryName: currentLibraryName\n                      })}\n                      ref={this._setBenchRef}\n                      sampleCount={sampleCount}\n                      timeout={20000}\n                      type={Component.benchmarkType}\n                    />\n                  </View>\n                </>\n              ) : (\n                <Component {...getComponentProps({ cycle: 10 })} />\n              )}\n            </Provider>\n\n            {status === 'running' ? <Overlay /> : null}\n          </View>\n        }\n      />\n    )\n  }\n\n  _handleChangeBenchmark = value => {\n    this.setState(() => ({ currentBenchmarkName: value }))\n  }\n\n  _handleChangeLibrary = value => {\n    this.setState(() => ({ currentLibraryName: value }))\n  }\n\n  _handleStart = () => {\n    this.setState(\n      () => ({ status: 'running' }),\n      () => {\n        if (this._shouldHideBenchmark && this._benchWrapperRef) {\n          this._benchWrapperRef.setNativeProps({ style: { opacity: 0 } })\n        }\n        this._benchmarkRef.start()\n        this._scrollToEnd()\n      }\n    )\n  }\n\n  // hide the benchmark as it is performed (no flashing on screen)\n  _handleVisuallyHideBenchmark = () => {\n    this._shouldHideBenchmark = !this._shouldHideBenchmark\n    if (this._benchWrapperRef) {\n      this._benchWrapperRef.setNativeProps({\n        style: { opacity: this._shouldHideBenchmark ? 0 : 1 }\n      })\n    }\n  }\n\n  _createHandleComplete =\n    ({ benchmarkName, libraryName, sampleCount }) =>\n    results => {\n      this.setState(\n        state => ({\n          results: state.results.concat([\n            {\n              ...results,\n              benchmarkName,\n              libraryName,\n              libraryVersion:\n                this.props.tests[benchmarkName][libraryName].version\n            }\n          ]),\n          status: 'complete'\n        }),\n        this._scrollToEnd\n      )\n      // console.log(results);\n      // console.log(results.samples.map(sample => sample.elapsed.toFixed(1)).join('\\n'));\n    }\n\n  _handleClear = () => {\n    this.setState(() => ({ results: [] }))\n  }\n\n  _setBenchRef = ref => {\n    this._benchmarkRef = ref\n  }\n\n  _setBenchWrapperRef = ref => {\n    this._benchWrapperRef = ref\n  }\n\n  _setScrollRef = ref => {\n    this._scrollRef = ref\n  }\n\n  // scroll the most recent result into view\n  _scrollToEnd = () => {\n    window.requestAnimationFrame(() => {\n      if (this._scrollRef) {\n        this._scrollRef.scrollToEnd()\n      }\n    })\n  }\n}\n\nconst styles = StyleSheet.create({\n  viewPanel: {\n    flex: 1,\n    justifyContent: 'center',\n    alignItems: 'center',\n    overflow: 'hidden',\n    backgroundColor: 'black'\n  },\n  iconEye: {\n    color: 'white',\n    height: 32\n  },\n  iconEyeContainer: {\n    position: 'absolute',\n    top: 10,\n    right: 10,\n    zIndex: 1\n  },\n  iconClearContainer: {\n    height: '100%',\n    marginLeft: 5\n  },\n  grow: {\n    flex: 1\n  },\n  listPanel: {\n    flex: 1,\n    width: '100%',\n    marginHorizontal: 'auto'\n  },\n  listBar: {\n    padding: 5,\n    alignItems: 'center',\n    flexDirection: 'row',\n    backgroundColor: colors.fadedGray,\n    borderBottomWidth: 1,\n    borderBottomColor: colors.mediumGray,\n    justifyContent: 'flex-end'\n  },\n  pickers: {\n    flexDirection: 'row'\n  },\n  pickerContainer: {\n    flex: 1,\n    padding: 5\n  },\n  pickerTitle: {\n    fontSize: 12,\n    color: colors.deepGray\n  },\n  picker: {\n    ...StyleSheet.absoluteFillObject,\n    appearance: 'none',\n    opacity: 0,\n    width: '100%'\n  },\n  button: {\n    borderRadius: 0,\n    flex: 1\n  }\n})\n"
  },
  {
    "path": "scripts/benchmarks/src/app/Benchmark/index.js",
    "content": "/**\n * The MIT License (MIT)\n * Copyright (c) 2017 Paul Armstrong\n * https://github.com/paularmstrong/react-component-benchmark\n */\n\nimport * as Timing from './timing'\nimport React, { Component } from 'react'\nimport { getMean, getMedian, getStdDev } from './math'\n\n/*\nimport type {\n  BenchResultsType,\n  FullSampleTimingType,\n  SampleTimingType\n} from './types'\n*/\n\nexport const BenchmarkType = {\n  MOUNT: 'mount',\n  UPDATE: 'update',\n  UNMOUNT: 'unmount'\n}\n\nconst shouldRender = (\n  cycle /*: number */,\n  type /*: $Values<typeof BenchmarkType> */\n) /*: boolean */ => {\n  switch (type) {\n    // Render every odd iteration (first, third, etc)\n    // Mounts and unmounts the component\n    case BenchmarkType.MOUNT:\n    case BenchmarkType.UNMOUNT:\n      return !((cycle + 1) % 2)\n    // Render every iteration (updates previously rendered module)\n    case BenchmarkType.UPDATE:\n      return true\n    default:\n      return false\n  }\n}\n\nconst shouldRecord = (\n  cycle /*: number */,\n  type /*: $Values<typeof BenchmarkType> */\n) /*: boolean */ => {\n  switch (type) {\n    // Record every odd iteration (when mounted: first, third, etc)\n    case BenchmarkType.MOUNT:\n      return !((cycle + 1) % 2)\n    // Record every iteration\n    case BenchmarkType.UPDATE:\n      return true\n    // Record every even iteration (when unmounted)\n    case BenchmarkType.UNMOUNT:\n      return !(cycle % 2)\n    default:\n      return false\n  }\n}\n\nconst isDone = (\n  cycle /*: number */,\n  sampleCount /*: number */,\n  type /*: $Values<typeof BenchmarkType> */\n) /*: boolean */ => {\n  switch (type) {\n    case BenchmarkType.MOUNT:\n      return cycle >= sampleCount * 2 - 1\n    case BenchmarkType.UPDATE:\n      return cycle >= sampleCount - 1\n    case BenchmarkType.UNMOUNT:\n      return cycle >= sampleCount * 2\n    default:\n      return true\n  }\n}\n\nconst sortNumbers = (a /*: number */, b /*: number */) /*: number */ => a - b\n\n/*\ntype BenchmarkPropsType = {\n  component: typeof React.Component,\n  forceLayout?: boolean,\n  getComponentProps: Function,\n  onComplete: (x: BenchResultsType) => void,\n  sampleCount: number,\n  timeout: number,\n  type: $Values<typeof BenchmarkType>\n}\n\ntype BenchmarkStateType = {\n  componentProps: Object,\n  cycle: number,\n  running: boolean\n}\n*/\n\n/**\n * Benchmark\n * TODO: documentation\n */\nexport default class Benchmark extends Component /* <\n  BenchmarkPropsType,\n  BenchmarkStateType\n> */ {\n  _raf /*: ?Function */\n  _startTime /*: number */\n  _samples /*: Array<SampleTimingType> */\n  static displayName = 'Benchmark'\n\n  static defaultProps = {\n    sampleCount: 50,\n    timeout: 10000, // 10 seconds\n    type: BenchmarkType.MOUNT\n  }\n\n  static Type = BenchmarkType\n\n  constructor(props /*: BenchmarkPropsType */, context /* ?: {} */) {\n    super(props, context)\n    const cycle = 0\n    const componentProps = props.getComponentProps({ cycle })\n    this.state = {\n      componentProps,\n      cycle,\n      running: false\n    }\n    this._startTime = 0\n    this._samples = []\n  }\n\n  componentWillReceiveProps(nextProps /*: BenchmarkPropsType */) {\n    if (nextProps) {\n      this.setState(state => ({\n        componentProps: nextProps.getComponentProps(state.cycle)\n      }))\n    }\n  }\n\n  componentWillUpdate(\n    nextProps /*: BenchmarkPropsType */,\n    nextState /*: BenchmarkStateType */\n  ) {\n    if (nextState.running && !this.state.running) {\n      this._startTime = Timing.now()\n    }\n  }\n\n  componentDidUpdate() {\n    const { forceLayout, sampleCount, timeout, type } = this.props\n    const { cycle, running } = this.state\n\n    if (running && shouldRecord(cycle, type)) {\n      this._samples[cycle].scriptingEnd = Timing.now()\n\n      // force style recalc that would otherwise happen before the next frame\n      if (forceLayout) {\n        this._samples[cycle].layoutStart = Timing.now()\n        if (document.body) {\n          // eslint-disable-next-line no-unused-expressions\n          document.body.offsetWidth\n        }\n        this._samples[cycle].layoutEnd = Timing.now()\n      }\n    }\n\n    if (running) {\n      const now = Timing.now()\n      if (\n        !isDone(cycle, sampleCount, type) &&\n        now - this._startTime < timeout\n      ) {\n        this._handleCycleComplete()\n      } else {\n        this._handleComplete(now)\n      }\n    }\n  }\n\n  componentWillUnmount() {\n    if (this._raf) {\n      window.cancelAnimationFrame(this._raf)\n    }\n  }\n\n  render() {\n    const { component: Component, type } = this.props\n    const { componentProps, cycle, running } = this.state\n    if (running && shouldRecord(cycle, type)) {\n      this._samples[cycle] = { scriptingStart: Timing.now() }\n    }\n    return running && shouldRender(cycle, type) ? (\n      <Component {...componentProps} />\n    ) : null\n  }\n\n  start() {\n    this._samples = []\n    this.setState(() => ({ running: true, cycle: 0 }))\n  }\n\n  _handleCycleComplete() {\n    const { getComponentProps, type } = this.props\n    const { cycle } = this.state\n\n    let componentProps\n    if (getComponentProps) {\n      // Calculate the component props outside of the time recording (render)\n      // so that it doesn't skew results\n      componentProps = getComponentProps({ cycle })\n      // make sure props always change for update tests\n      if (type === BenchmarkType.UPDATE) {\n        componentProps['data-test'] = cycle\n      }\n    }\n\n    this._raf = window.requestAnimationFrame(() => {\n      this.setState((state /*: BenchmarkStateType */) => ({\n        cycle: state.cycle + 1,\n        componentProps\n      }))\n    })\n  }\n\n  getSamples() /*: Array<FullSampleTimingType> */ {\n    return this._samples.reduce(\n      (\n        memo /*: Array<FullSampleTimingType> */,\n        {\n          scriptingStart,\n          scriptingEnd,\n          layoutStart,\n          layoutEnd\n        } /*: SampleTimingType */\n      ) /*: Array<FullSampleTimingType> */ => {\n        memo.push({\n          start: scriptingStart,\n          end: layoutEnd || scriptingEnd || 0,\n          scriptingStart,\n          scriptingEnd: scriptingEnd || 0,\n          layoutStart,\n          layoutEnd\n        })\n        return memo\n      },\n      []\n    )\n  }\n\n  _handleComplete(endTime /*: number */) {\n    const { onComplete } = this.props\n    const samples = this.getSamples()\n\n    this.setState(() => ({ running: false, cycle: 0 }))\n\n    const runTime = endTime - this._startTime\n    const sortedElapsedTimes = samples\n      .map(({ start, end }) => end - start)\n      .sort(sortNumbers)\n    const sortedScriptingElapsedTimes = samples\n      .map(({ scriptingStart, scriptingEnd }) => scriptingEnd - scriptingStart)\n      .sort(sortNumbers)\n    const sortedLayoutElapsedTimes = samples\n      .map(\n        ({ layoutStart, layoutEnd }) => (layoutEnd || 0) - (layoutStart || 0)\n      )\n      .sort(sortNumbers)\n\n    onComplete({\n      startTime: this._startTime,\n      endTime,\n      runTime,\n      sampleCount: samples.length,\n      samples: samples,\n      max: sortedElapsedTimes[sortedElapsedTimes.length - 1],\n      min: sortedElapsedTimes[0],\n      median: getMedian(sortedElapsedTimes),\n      mean: getMean(sortedElapsedTimes),\n      stdDev: getStdDev(sortedElapsedTimes),\n      meanLayout: getMean(sortedLayoutElapsedTimes),\n      meanScripting: getMean(sortedScriptingElapsedTimes)\n    })\n  }\n}\n"
  },
  {
    "path": "scripts/benchmarks/src/app/Benchmark/math.js",
    "content": "import stats from 'stats-analysis'\n\nexport const getStdDev = values => {\n  const avg = getMean(values)\n\n  const squareDiffs = values.map(value => {\n    const diff = value - avg\n    return diff * diff\n  })\n\n  return Math.sqrt(getMean(squareDiffs))\n}\n\nexport const getMean = values => {\n  let valuesWithoutOutliers = stats.filterMADoutliers(values)\n  return stats.mean(valuesWithoutOutliers)\n}\n\nexport const getMedian = stats.median\n"
  },
  {
    "path": "scripts/benchmarks/src/app/Benchmark/timing.js",
    "content": "const NS_PER_MS = 1e6\nconst MS_PER_S = 1e3\n\n// Returns a high resolution time (if possible) in milliseconds\nexport function now() {\n  if (window && window.performance) {\n    return window.performance.now()\n  } else if (process && process.hrtime) {\n    const [seconds, nanoseconds] = process.hrtime()\n    const secInMS = seconds * MS_PER_S\n    const nSecInMS = nanoseconds / NS_PER_MS\n    return secInMS + nSecInMS\n  } else {\n    return Date.now()\n  }\n}\n"
  },
  {
    "path": "scripts/benchmarks/src/app/Benchmark/types.js",
    "content": "/*\nexport type FullSampleTimingType = {\n  start: number\n  end: number\n  scriptingStart: number\n  scriptingEnd: number\n  layoutStart?: number\n  layoutEnd?: number\n}\n\nexport type BenchResultsType = {\n  startTime: number\n  endTime: number\n  runTime: number\n  sampleCount: number\n  samples: Array<FullSampleTimingType>\n  max: number\n  min: number\n  median: number\n  mean: number\n  stdDev: number\n}\n\nexport type SampleTimingType = {\n  scriptingStart: number\n  scriptingEnd?: number\n  layoutStart?: number\n  layoutEnd?: number\n}\n*/\n"
  },
  {
    "path": "scripts/benchmarks/src/app/Button.js",
    "content": "import { StyleSheet, TouchableHighlight, Text } from 'react-native'\nimport React, { Component } from 'react'\nimport { bool, func, string, any } from 'prop-types'\n\nexport default class Button extends Component {\n  static displayName = '@app/Button'\n\n  static propTypes = {\n    accessibilityLabel: string,\n    color: string,\n    disabled: bool,\n    onPress: func.isRequired,\n    style: any,\n    testID: string,\n    textStyle: any,\n    title: string.isRequired\n  }\n\n  render() {\n    const {\n      accessibilityLabel,\n      color,\n      disabled,\n      onPress,\n      style,\n      textStyle,\n      testID,\n      title\n    } = this.props\n\n    return (\n      <TouchableHighlight\n        accessibilityLabel={accessibilityLabel}\n        accessibilityRole=\"button\"\n        disabled={disabled}\n        onPress={onPress}\n        style={[\n          styles.button,\n          style,\n          color && { backgroundColor: color },\n          disabled && styles.buttonDisabled\n        ]}\n        testID={testID}\n      >\n        <Text style={[styles.text, textStyle, disabled && styles.textDisabled]}>\n          {title}\n        </Text>\n      </TouchableHighlight>\n    )\n  }\n}\n\nconst styles = StyleSheet.create({\n  button: {\n    backgroundColor: '#2196F3',\n    borderRadius: 0,\n    justifyContent: 'center'\n  },\n  text: {\n    color: '#fff',\n    fontSize: 20,\n    fontWeight: '500',\n    padding: 8,\n    textAlign: 'center',\n    textTransform: 'uppercase'\n  },\n  buttonDisabled: {\n    backgroundColor: '#dfdfdf'\n  },\n  textDisabled: {\n    color: '#a1a1a1'\n  }\n})\n"
  },
  {
    "path": "scripts/benchmarks/src/app/Icons.js",
    "content": "import React, { Fragment } from 'react'\nimport {\n  unstable_createElement as createElement,\n  StyleSheet,\n  Text\n} from 'react-native'\nimport { any } from 'prop-types'\n\nconst styles = StyleSheet.create({\n  root: {\n    display: 'inline-block',\n    fill: 'currentcolor',\n    height: '1.25em',\n    maxWidth: '100%',\n    position: 'relative',\n    userSelect: 'none',\n    textAlignVertical: 'text-bottom'\n  }\n})\n\nconst createIcon = children => {\n  const Icon = props =>\n    createElement(\n      'svg',\n      {\n        style: StyleSheet.compose(styles.root, props.style),\n        width: 24,\n        height: 24,\n        viewBox: '0 0 24 24'\n      },\n      children\n    )\n  Icon.propTypes = {\n    style: any\n  }\n  return Icon\n}\n\nexport const IconClear = createIcon(\n  <>\n    <path d=\"M0 0h24v24H0z\" id=\"bounds\" opacity=\"0\" />\n    <path d=\"M12 1.25C6.072 1.25 1.25 6.072 1.25 12S6.072 22.75 12 22.75 22.75 17.928 22.75 12 17.928 1.25 12 1.25zm0 1.5c2.28 0 4.368.834 5.982 2.207L4.957 17.982C3.584 16.368 2.75 14.282 2.75 12c0-5.1 4.15-9.25 9.25-9.25zm0 18.5c-2.28 0-4.368-.834-5.982-2.207L19.043 6.018c1.373 1.614 2.207 3.7 2.207 5.982 0 5.1-4.15 9.25-9.25 9.25z\" />\n  </>\n)\n\nexport const IconEye = createIcon(\n  <>\n    <path d=\"M0 0h24v24H0z\" id=\"bounds\" opacity=\"0\" />\n    <path d=\"M14.548 11.634c-1.207 0-2.188-.98-2.188-2.188 0-.664.302-1.25.77-1.653-.363-.097-.736-.165-1.13-.165-2.416 0-4.375 1.96-4.375 4.376S9.585 16.38 12 16.38c2.418 0 4.377-1.96 4.377-4.376 0-.4-.07-.78-.17-1.146-.402.47-.992.776-1.66.776z\" />\n    <path d=\"M12 19.79c-7.228 0-10.12-6.724-10.24-7.01-.254-.466-.254-1.105.035-1.642C1.88 10.923 4.772 4.2 12 4.2s10.12 6.723 10.24 7.01c.254.465.254 1.104-.035 1.64-.085.216-2.977 6.94-10.205 6.94zm0-14c-6.154 0-8.668 5.787-8.772 6.033-.068.135-.068.208-.033.273.137.316 2.65 6.104 8.805 6.104 6.18 0 8.747-5.973 8.772-6.033.07-.136.07-.21.034-.274-.138-.316-2.652-6.103-8.806-6.103z\" />\n  </>\n)\n\nexport const IconCopy = createIcon(\n  <>\n    <path d=\"M0 0h24v24H0z\" id=\"bounds\" opacity=\"0\" />\n    <path d=\"M11.47 14.53c.146.146.338.22.53.22s.384-.073.53-.22l5-5c.293-.293.293-.768 0-1.06s-.768-.294-1.06 0l-3.72 3.72V2c0-.414-.337-.75-.75-.75s-.75.336-.75.75v10.19L7.53 8.47c-.293-.293-.768-.293-1.06 0s-.294.768 0 1.06l5 5z\" />\n    <path d=\"M21.25 13.25c-.414 0-.75.336-.75.75v5.652c0 .437-.355.792-.792.792H4.292c-.437 0-.792-.355-.792-.792V14c0-.414-.336-.75-.75-.75S2 13.586 2 14v5.652c0 1.264 1.028 2.292 2.292 2.292h15.416c1.264 0 2.292-1.028 2.292-2.292V14c0-.414-.336-.75-.75-.75z\" />\n  </>\n)\n"
  },
  {
    "path": "scripts/benchmarks/src/app/Layout.js",
    "content": "import { colors } from './theme'\nimport { element } from 'prop-types'\nimport React, { Component } from 'react'\nimport { StyleSheet, View } from 'react-native'\n\nexport default class Layout extends Component {\n  static propTypes = {\n    actionPanel: element,\n    listPanel: element,\n    viewPanel: element\n  }\n\n  state = {\n    widescreen: false\n  }\n\n  render() {\n    const { viewPanel, actionPanel, listPanel } = this.props\n    const { widescreen } = this.state\n    return (\n      <View\n        onLayout={this._handleLayout}\n        style={[styles.root, widescreen && styles.row]}\n      >\n        <View\n          style={[widescreen ? styles.grow : styles.stackPanel, styles.layer]}\n        >\n          {viewPanel}\n        </View>\n        <View style={styles.grow}>\n          <View style={[styles.grow, styles.layer]}>{listPanel}</View>\n          <View style={styles.divider} />\n          <View style={styles.layer}>{actionPanel}</View>\n        </View>\n      </View>\n    )\n  }\n\n  _handleLayout = ({ nativeEvent }) => {\n    const { layout } = nativeEvent\n    const { width } = layout\n    if (width >= 740) {\n      this.setState(() => ({ widescreen: true }))\n    } else {\n      this.setState(() => ({ widescreen: false }))\n    }\n  }\n}\n\nconst styles = StyleSheet.create({\n  root: {\n    height: '100%'\n  },\n  row: {\n    flexDirection: 'row'\n  },\n  divider: {\n    height: 10,\n    backgroundColor: colors.fadedGray,\n    borderBottomWidth: 1,\n    borderTopWidth: 1,\n    borderColor: colors.mediumGray\n  },\n  grow: {\n    flex: 1\n  },\n  stackPanel: {\n    height: '33.33%'\n  },\n  layer: {\n    transform: [{ translateZ: '0' }]\n  }\n})\n"
  },
  {
    "path": "scripts/benchmarks/src/app/ReportCard.js",
    "content": "import Text from './Text'\nimport { StyleSheet, View } from 'react-native'\nimport React from 'react'\n\nconst fmt = (time /*: number */) => {\n  const i = Number(Math.round(time + 'e2') + 'e-2').toFixed(2)\n  return 10 / i > 1 ? `0${i}` : i\n}\n\nclass ReportCard extends React.PureComponent {\n  render() {\n    const {\n      benchmarkName,\n      libraryName,\n      sampleCount,\n      mean,\n      meanLayout,\n      meanScripting,\n      stdDev,\n      libraryVersion\n    } = this.props\n\n    const sampleCountText = sampleCount != null ? `(${sampleCount})` : ''\n\n    return (\n      <View style={styles.root}>\n        <View style={styles.left}>\n          <Text numberOfLines={1} style={styles.bold}>\n            {`${libraryName}${libraryVersion ? '@' + libraryVersion : ''}`}\n          </Text>\n          <Text numberOfLines={1}>\n            {benchmarkName} {sampleCountText}\n          </Text>\n        </View>\n        <View style={styles.right}>\n          {mean ? (\n            <View testID=\"run-result\">\n              <Text style={[styles.bold, styles.monoFont]}>\n                {fmt(mean)}\n                {' ±'}\n                {fmt(stdDev)} ms\n              </Text>\n              <Text style={[styles.smallText, styles.monoFont]}>\n                (S/L) {fmt(meanScripting)}\n                {'/'}\n                {fmt(meanLayout)} ms\n              </Text>\n            </View>\n          ) : (\n            <Text style={styles.bold}>{'In progress…'}</Text>\n          )}\n        </View>\n      </View>\n    )\n  }\n}\n\nconst styles = StyleSheet.create({\n  root: {\n    flexDirection: 'row',\n    alignItems: 'center',\n    padding: 5,\n    borderBottomWidth: 1,\n    borderBottomColor: '#eee'\n  },\n  bold: {\n    fontWeight: 'bold'\n  },\n  smallText: { fontSize: 12 },\n  monoFont: {\n    fontFamily: 'monospace'\n  },\n  centerText: {\n    display: 'flex',\n    alignItems: 'center'\n  },\n  left: {\n    width: '50%'\n  },\n  right: {\n    flex: 1,\n    alignItems: 'flex-end'\n  }\n})\n\nexport default ReportCard\n"
  },
  {
    "path": "scripts/benchmarks/src/app/Text.js",
    "content": "/* eslint-disable react/prop-types */\n\nimport { bool } from 'prop-types'\nimport React from 'react'\nimport { StyleSheet, Text } from 'react-native'\nimport { colors } from './theme'\n\nclass AppText extends React.Component {\n  static displayName = '@app/Text'\n\n  static contextTypes = {\n    isInAParentText: bool\n  }\n\n  render() {\n    const { style, ...rest } = this.props\n    const { isInAParentText } = this.context\n    return (\n      <Text {...rest} style={[!isInAParentText && styles.baseText, style]} />\n    )\n  }\n}\n\nconst styles = StyleSheet.create({\n  baseText: {\n    color: colors.textBlack,\n    fontSize: '1rem',\n    lineHeight: '1.3125em'\n  }\n})\n\nexport default AppText\n"
  },
  {
    "path": "scripts/benchmarks/src/app/theme.js",
    "content": "import { canUseDOM } from 'fbjs/lib/ExecutionEnvironment'\nimport { Dimensions, Platform } from 'react-native'\n\nconst baseFontSize = 14\nconst baseUnit = 1.3125\n\nconst createPlatformLength = multiplier =>\n  Platform.select({\n    web: `${multiplier}rem`,\n    default: multiplier * baseFontSize\n  })\n\n/**\n * Exported variables\n */\n\nexport const borderRadii = {\n  normal: Platform.select({ web: '0.35rem', default: 5 }),\n  infinite: '9999px'\n}\n\nexport const breakpoints = {\n  small: 360,\n  medium: 600,\n  large: 800,\n  xLarge: 1100\n}\n\n/**\n * Color palette\n * DO NOT add new colors unless they are part of @design's color palette.\n * DO NOT use colors that are not specified here.\n * source: go/uicolors\n */\nexport const colors = {\n  // Primary\n  blue: '#1DA1F2',\n  purple: '#794BC4',\n  green: '#17BF63',\n  yellow: '#FFAD1F',\n  orange: '#F45D22',\n  red: '#E0245E',\n  // Text and interface grays\n  textBlack: '#14171A',\n  deepGray: '#657786',\n  mediumGray: '#AAB8C2',\n  lightGray: '#CCD6DD',\n  fadedGray: '#E6ECF0',\n  faintGray: '#F5F8FA',\n  white: '#FFF',\n  textBlue: '#1B95E0'\n}\n\nexport const fontFamilies = {\n  normal: 'System',\n  japan: Platform.select({\n    web: 'Arial, \"ヒラギノ角ゴ Pro W3\", \"Hiragino Kaku Gothic Pro\", Osaka, \"メイリオ\", Meiryo, \"ＭＳ Ｐゴシック\", \"MS PGothic\", sans-serif',\n    default: 'System'\n  }),\n  rtl: Platform.select({ web: 'Tahoma, Arial, sans-serif', default: 'System' })\n}\n\nexport const fontSizes = {\n  // font scale\n  small: createPlatformLength(0.85),\n  normal: createPlatformLength(1),\n  large: createPlatformLength(1.25),\n  xLarge: createPlatformLength(1.5),\n  jumbo: createPlatformLength(2)\n}\n\nexport const lineHeight = Platform.select({ web: `${baseUnit}` })\n\nexport const spaces = {\n  // This set of space variables should be used for margin, padding\n  micro: createPlatformLength(baseUnit * 0.125),\n  xxSmall: createPlatformLength(baseUnit * 0.25),\n  xSmall: createPlatformLength(baseUnit * 0.5),\n  small: createPlatformLength(baseUnit * 0.75),\n  medium: createPlatformLength(baseUnit),\n  large: createPlatformLength(baseUnit * 1.5),\n  xLarge: createPlatformLength(baseUnit * 2),\n  xxLarge: createPlatformLength(baseUnit * 2.5),\n  jumbo: createPlatformLength(baseUnit * 3)\n}\n\n// On web, change the root font-size at specific breakpoints to scale the UI\n// for larger viewports.\nif (Platform.OS === 'web' && canUseDOM) {\n  const { medium, large } = breakpoints\n  const htmlElement = document.documentElement\n  const setFontSize = width => {\n    const fontSize = width > medium ? (width > large ? '18px' : '17px') : '16px'\n    if (htmlElement) {\n      htmlElement.style.fontSize = fontSize\n    }\n  }\n\n  setFontSize(Dimensions.get('window').width)\n  Dimensions.addEventListener('change', dimensions => {\n    setFontSize(dimensions.window.width)\n  })\n}\n"
  },
  {
    "path": "scripts/benchmarks/src/cases/SierpinskiTriangle.js",
    "content": "import { BenchmarkType } from '../app/Benchmark'\nimport { number, object } from 'prop-types'\nimport React from 'react'\nimport {\n  interpolatePurples,\n  interpolateBuPu,\n  interpolateRdPu\n} from 'd3-scale-chromatic'\n\nconst targetSize = 10\n\nclass SierpinskiTriangle extends React.Component {\n  static displayName = 'SierpinskiTriangle'\n\n  static benchmarkType = BenchmarkType.UPDATE\n\n  static propTypes = {\n    components: object,\n    depth: number,\n    renderCount: number,\n    s: number,\n    x: number,\n    y: number\n  }\n\n  static defaultProps = {\n    depth: 0,\n    renderCount: 0\n  }\n\n  render() {\n    const { components, x, y, depth, renderCount } = this.props\n    let { s } = this.props\n    const { Dot } = components\n\n    if (Dot) {\n      if (s <= targetSize) {\n        let fn\n        switch (depth) {\n          case 1:\n            fn = interpolatePurples\n            break\n          case 2:\n            fn = interpolateBuPu\n            break\n          case 3:\n          default:\n            fn = interpolateRdPu\n        }\n\n        // introduce randomness to ensure that repeated runs don't produce the same colors\n        const color = fn((renderCount * Math.random()) / 20)\n        return (\n          <Dot\n            color={color}\n            size={targetSize}\n            x={x - targetSize / 2}\n            y={y - targetSize / 2}\n          />\n        )\n      }\n\n      s /= 2\n\n      return (\n        <>\n          <SierpinskiTriangle\n            components={components}\n            depth={1}\n            renderCount={renderCount}\n            s={s}\n            x={x}\n            y={y - s / 2}\n          />\n          <SierpinskiTriangle\n            components={components}\n            depth={2}\n            renderCount={renderCount}\n            s={s}\n            x={x - s}\n            y={y + s / 2}\n          />\n          <SierpinskiTriangle\n            components={components}\n            depth={3}\n            renderCount={renderCount}\n            s={s}\n            x={x + s}\n            y={y + s / 2}\n          />\n        </>\n      )\n    } else {\n      return (\n        <span style={{ color: 'white' }}>{'No implementation available'}</span>\n      )\n    }\n  }\n}\n\nexport default SierpinskiTriangle\n"
  },
  {
    "path": "scripts/benchmarks/src/cases/Tree.js",
    "content": "import { BenchmarkType } from '../app/Benchmark'\nimport { number, object } from 'prop-types'\nimport React, { Component } from 'react'\n\nclass Tree extends Component {\n  static displayName = 'Tree'\n\n  static benchmarkType = BenchmarkType.MOUNT\n\n  static propTypes = {\n    breadth: number.isRequired,\n    components: object,\n    depth: number.isRequired,\n    id: number.isRequired,\n    wrap: number.isRequired\n  }\n\n  render() {\n    const { breadth, components, depth, id, wrap } = this.props\n    const { Box } = components\n\n    let result = (\n      <Box color={id % 3} layout={depth % 2 === 0 ? 'column' : 'row'} outer>\n        {depth === 0 && <Box color={(id % 3) + 3} fixed />}\n        {depth !== 0 &&\n          Array.from({ length: breadth }).map((el, i) => (\n            <Tree\n              breadth={breadth}\n              components={components}\n              depth={depth - 1}\n              id={i}\n              key={i}\n              wrap={wrap}\n            />\n          ))}\n      </Box>\n    )\n    for (let i = 0; i < wrap; i++) {\n      result = <Box>{result}</Box>\n    }\n    return result\n  }\n}\n\nexport default Tree\n"
  },
  {
    "path": "scripts/benchmarks/src/impl.js",
    "content": "import * as React from 'react'\n\nimport * as EmotionCssFunc from './implementations/emotion-css-func'\nimport * as EmotionCssProp from './implementations/emotion-css-prop'\nimport * as EmotionStyled from './implementations/emotion-styled'\n\nconst impls = {\n  'emotion-css-func': EmotionCssFunc,\n  'emotion-css-prop': EmotionCssProp,\n  'emotion-styled': EmotionStyled\n}\n\n/*\ntype ComponentsType = {\n  Box: React.ElementType\n  Dot: React.ElementType\n  Provider: React.ElementType\n  View: React.ElementType\n}\n\ntype ImplementationType = {\n  components: ComponentsType\n  name: string\n}\n*/\n\nconst implementations /*: Array<ImplementationType> */ = Object.keys(impls).map(\n  name => {\n    const components = impls[name]\n    return { components, name }\n  }\n)\n\nconst toObject = (\n  impls /*: Array<ImplementationType> */\n) /*: { [name: string]: ImplementationType } */ =>\n  impls.reduce((acc, impl) => {\n    acc[impl.name] = impl\n    return acc\n  }, {})\n\nconst map = toObject(implementations)\n\nexport default map\n"
  },
  {
    "path": "scripts/benchmarks/src/implementations/emotion-css-func/Box.js",
    "content": "import React from 'react'\nimport { css } from '@emotion/css'\nimport { viewStyle } from './View'\n\nconst Box = ({\n  color,\n  fixed = false,\n  layout = 'column',\n  outer = false,\n  ...other\n}) => (\n  <div\n    {...other}\n    className={css(\n      viewStyle,\n      styles[`color${color}`],\n      fixed && styles.fixed,\n      layout === 'row' && styles.row,\n      outer && styles.outer\n    )}\n  />\n)\n\nconst styles = {\n  outer: css({\n    alignSelf: 'flex-start',\n    padding: 4\n  }),\n  row: css({\n    flexDirection: 'row'\n  }),\n  color0: css({\n    backgroundColor: '#14171A'\n  }),\n  color1: css({\n    backgroundColor: '#AAB8C2'\n  }),\n  color2: css({\n    backgroundColor: '#E6ECF0'\n  }),\n  color3: css({\n    backgroundColor: '#FFAD1F'\n  }),\n  color4: css({\n    backgroundColor: '#F45D22'\n  }),\n  color5: css({\n    backgroundColor: '#E0245E'\n  }),\n  fixed: css({\n    width: 6,\n    height: 6\n  })\n}\n\nexport default Box\n"
  },
  {
    "path": "scripts/benchmarks/src/implementations/emotion-css-func/Dot.js",
    "content": "import React from 'react'\nimport { css } from '@emotion/css'\n\nconst Dot = ({ size, x, y, children, color }) => (\n  <div\n    className={css(styles.root, {\n      borderBottomColor: color,\n      borderRightWidth: `${size / 2}px`,\n      borderBottomWidth: `${size / 2}px`,\n      borderLeftWidth: `${size / 2}px`,\n      marginLeft: `${x}px`,\n      marginTop: `${y}px`\n    })}\n  >\n    {children}\n  </div>\n)\n\nconst styles = {\n  root: css({\n    position: 'absolute',\n    cursor: 'pointer',\n    width: 0,\n    height: 0,\n    borderColor: 'transparent',\n    borderStyle: 'solid',\n    borderTopWidth: 0,\n    transform: 'translate(50%, 50%)'\n  })\n}\n\nexport default Dot\n"
  },
  {
    "path": "scripts/benchmarks/src/implementations/emotion-css-func/Provider.js",
    "content": "import View from './View'\nexport default View\n"
  },
  {
    "path": "scripts/benchmarks/src/implementations/emotion-css-func/View.js",
    "content": "import { css } from '@emotion/css'\nimport React from 'react'\n\nconst View = ({ style, ...other }) => {\n  return <div {...other} className={css(viewStyle, style)} />\n}\n\nexport const viewStyle = css({\n  alignItems: 'stretch',\n  borderWidth: 0,\n  borderStyle: 'solid',\n  boxSizing: 'border-box',\n  display: 'flex',\n  flexBasis: 'auto',\n  flexDirection: 'column',\n  flexShrink: 0,\n  margin: 0,\n  padding: 0,\n  position: 'relative',\n  // fix flexbox bugs\n  minHeight: 0,\n  minWidth: 0\n})\n\nexport default View\n"
  },
  {
    "path": "scripts/benchmarks/src/implementations/emotion-css-func/index.js",
    "content": "export { default as Box } from './Box'\nexport { default as Dot } from './Dot'\nexport { default as Provider } from './Provider'\nexport { default as View } from './View'\n"
  },
  {
    "path": "scripts/benchmarks/src/implementations/emotion-css-prop/Box.js",
    "content": "/** @jsx jsx */\nimport { viewStyle } from './View'\nimport { css, jsx } from '@emotion/react'\n\nconst Box = ({\n  color,\n  fixed = false,\n  layout = 'column',\n  outer = false,\n  ...other\n}) => (\n  <div\n    {...other}\n    css={css(\n      viewStyle,\n      styles[`color${color}`],\n      fixed && styles.fixed,\n      layout === 'row' && styles.row,\n      outer && styles.outer\n    )}\n  />\n)\n\nconst styles = {\n  outer: css({\n    alignSelf: 'flex-start',\n    padding: 4\n  }),\n  row: css({\n    flexDirection: 'row'\n  }),\n  color0: css({\n    backgroundColor: '#14171A'\n  }),\n  color1: css({\n    backgroundColor: '#AAB8C2'\n  }),\n  color2: css({\n    backgroundColor: '#E6ECF0'\n  }),\n  color3: css({\n    backgroundColor: '#FFAD1F'\n  }),\n  color4: css({\n    backgroundColor: '#F45D22'\n  }),\n  color5: css({\n    backgroundColor: '#E0245E'\n  }),\n  fixed: css({\n    width: 6,\n    height: 6\n  })\n}\n\nexport default Box\n"
  },
  {
    "path": "scripts/benchmarks/src/implementations/emotion-css-prop/Dot.js",
    "content": "/** @jsx jsx */\nimport { css, jsx } from '@emotion/react'\n\nconst Dot = ({ size, x, y, children, color }) => (\n  <div\n    css={css(styles.root, {\n      borderBottomColor: color,\n      borderRightWidth: `${size / 2}px`,\n      borderBottomWidth: `${size / 2}px`,\n      borderLeftWidth: `${size / 2}px`,\n      marginLeft: `${x}px`,\n      marginTop: `${y}px`\n    })}\n  >\n    {children}\n  </div>\n)\n\nconst styles = {\n  root: css({\n    position: 'absolute',\n    cursor: 'pointer',\n    width: 0,\n    height: 0,\n    borderColor: 'transparent',\n    borderStyle: 'solid',\n    borderTopWidth: 0,\n    transform: 'translate(50%, 50%)'\n  })\n}\n\nexport default Dot\n"
  },
  {
    "path": "scripts/benchmarks/src/implementations/emotion-css-prop/Provider.js",
    "content": "import * as React from 'react'\nimport { CacheProvider } from '@emotion/react'\nimport createCache from '@emotion/cache'\n\nlet cache = createCache({ key: 'emo' })\n\nexport default props => {\n  return <CacheProvider value={cache}>{props.children}</CacheProvider>\n}\n"
  },
  {
    "path": "scripts/benchmarks/src/implementations/emotion-css-prop/View.js",
    "content": "/** @jsx jsx */\nimport { css, jsx } from '@emotion/react'\n\nconst View = ({ style, ...other }) => {\n  return <div {...other} css={css(viewStyle, style)} />\n}\n\nexport const viewStyle = css({\n  alignItems: 'stretch',\n  borderWidth: 0,\n  borderStyle: 'solid',\n  boxSizing: 'border-box',\n  display: 'flex',\n  flexBasis: 'auto',\n  flexDirection: 'column',\n  flexShrink: 0,\n  margin: 0,\n  padding: 0,\n  position: 'relative',\n  // fix flexbox bugs\n  minHeight: 0,\n  minWidth: 0\n})\n\nexport default View\n"
  },
  {
    "path": "scripts/benchmarks/src/implementations/emotion-css-prop/index.js",
    "content": "export { default as Box } from './Box'\nexport { default as Dot } from './Dot'\nexport { default as Provider } from './Provider'\nexport { default as View } from './View'\n"
  },
  {
    "path": "scripts/benchmarks/src/implementations/emotion-styled/Box.js",
    "content": "import styled from '@emotion/styled'\nimport View from './View'\n\nconst getColor = ({ color }) => {\n  switch (color) {\n    case 0:\n      return '#14171A'\n    case 1:\n      return '#AAB8C2'\n    case 2:\n      return '#E6ECF0'\n    case 3:\n      return '#FFAD1F'\n    case 4:\n      return '#F45D22'\n    case 5:\n      return '#E0245E'\n    default:\n      return 'transparent'\n  }\n}\n\nconst Box = styled(View)`\n  align-self: flex-start;\n  flex-direction: ${props => (props.layout === 'column' ? 'column' : 'row')};\n  padding: ${props => (props.outer ? '4px' : '0')};\n  ${props => props.fixed && 'height:6px;width:6px;'};\n  background-color: ${getColor};\n`\n\nexport default Box\n"
  },
  {
    "path": "scripts/benchmarks/src/implementations/emotion-styled/Dot.js",
    "content": "import styled from '@emotion/styled'\nimport { css } from '@emotion/react'\nimport View from './View'\n\nconst Dot = styled(View)`\n  position: absolute;\n  cursor: pointer;\n  width: 0;\n  height: 0;\n  border-color: transparent;\n  border-style: solid;\n  border-top-width: 0;\n  transform: translate(50%, 50%);\n  ${props => css`\n    margin-left: ${props.x}px;\n    margin-top: ${props.y}px;\n    border-right-width: ${props.size / 2}px;\n    border-bottom-width: ${props.size / 2}px;\n    border-left-width: ${props.size / 2}px;\n    border-bottom-color: ${props.color};\n  `};\n`\n\nexport default Dot\n"
  },
  {
    "path": "scripts/benchmarks/src/implementations/emotion-styled/Provider.js",
    "content": "import * as React from 'react'\nimport { CacheProvider } from '@emotion/react'\nimport createCache from '@emotion/cache'\n\nlet cache = createCache({ key: 'emo' })\n\nexport default props => {\n  return <CacheProvider value={cache}>{props.children}</CacheProvider>\n}\n"
  },
  {
    "path": "scripts/benchmarks/src/implementations/emotion-styled/View.js",
    "content": "import styled from '@emotion/styled'\n\nconst View = styled.div`\n  align-items: stretch;\n  border-width: 0;\n  border-style: solid;\n  box-sizing: border-box;\n  display: flex;\n  flex-basis: auto;\n  flex-direction: column;\n  flex-shrink: 0;\n  margin: 0;\n  padding: 0;\n  position: relative;\n  min-height: 0;\n  min-width: 0;\n`\n\nexport default View\n"
  },
  {
    "path": "scripts/benchmarks/src/implementations/emotion-styled/index.js",
    "content": "export { default as Box } from './Box'\nexport { default as Dot } from './Dot'\nexport { default as Provider } from './Provider'\nexport { default as View } from './View'\n"
  },
  {
    "path": "scripts/benchmarks/src/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <meta charset=\"UTF-8\" />\n    <title>Performance tests</title>\n    <meta name=\"viewport\" content=\"width=device-width\" />\n    <style>\n      html,\n      body {\n        height: 100%;\n        width: 100%;\n        overflow: hidden;\n      }\n\n      .root {\n        height: 100%;\n        overflow: hidden;\n      }\n    </style>\n  </head>\n\n  <body>\n    <div class=\"root\"></div>\n    <script src=\"./index.js\" type=\"module\"></script>\n  </body>\n</html>\n"
  },
  {
    "path": "scripts/benchmarks/src/index.js",
    "content": "import App from './app/App'\nimport implementations from './impl'\nimport Tree from './cases/Tree'\nimport SierpinskiTriangle from './cases/SierpinskiTriangle'\n\nimport React from 'react'\nimport ReactDOM from 'react-dom'\n\nconst packageNames = Object.keys(implementations)\n\nconst createTestBlock = fn => {\n  return packageNames.reduce((testSetups, packageName) => {\n    const { name, components } = implementations[packageName]\n    const {\n      Component,\n      getComponentProps,\n      sampleCount,\n      Provider,\n      benchmarkType\n    } = fn(components)\n\n    testSetups[packageName] = {\n      Component,\n      getComponentProps,\n      sampleCount,\n      Provider,\n      benchmarkType,\n      name\n    }\n    return testSetups\n  }, {})\n}\n\nconst tests = {\n  'Mount deep tree': createTestBlock(components => ({\n    benchmarkType: 'mount',\n    Component: Tree,\n    getComponentProps: () => ({\n      breadth: 2,\n      components,\n      depth: 7,\n      id: 0,\n      wrap: 1\n    }),\n    Provider: components.Provider,\n    sampleCount: 50\n  })),\n  'Mount wide tree': createTestBlock(components => ({\n    benchmarkType: 'mount',\n    Component: Tree,\n    getComponentProps: () => ({\n      breadth: 6,\n      components,\n      depth: 3,\n      id: 0,\n      wrap: 2\n    }),\n    Provider: components.Provider,\n    sampleCount: 50\n  })),\n  'Update dynamic styles': createTestBlock(components => ({\n    benchmarkType: 'update',\n    Component: SierpinskiTriangle,\n    getComponentProps: ({ cycle }) => {\n      return { components, s: 200, renderCount: cycle, x: 0, y: 0 }\n    },\n    Provider: components.Provider,\n    sampleCount: 100\n  }))\n}\n\nlet root = document.querySelector('.root')\n\nif (!root) {\n  // to appease flow\n  throw new Error('could not find root')\n}\n\nReactDOM.render(<App tests={tests} />, root)\n"
  },
  {
    "path": "scripts/ensure-yarn.js",
    "content": "if (!/yarn\\//.test(process.env.npm_config_user_agent)) {\n  throw new Error('Please use `yarn` for installs.')\n}\n"
  },
  {
    "path": "scripts/replace-slack-link.js",
    "content": "// slack invite links expire after 30 days and you can't(at least as far as i can tell) create tokens for things like slackin anymore\n\nconst fs = require('fs')\n\nconst slackInviteLink = process.argv[2]\n\nconst siteHeaderPath = `${__dirname}/../site/src/components/SiteHeader.js`\nconst readmePath = `${__dirname}/../README.md`\n\nconst slackInviteLinkRegex =\n  /https:\\/\\/join\\.slack\\.com\\/t\\/emotion-slack\\/shared_invite\\/[^/]+\\//\n\nconst siteHeader = fs.readFileSync(siteHeaderPath, 'utf8')\n\nfs.writeFileSync(\n  siteHeaderPath,\n  siteHeader.replace(slackInviteLinkRegex, slackInviteLink)\n)\n\nconst readme = fs.readFileSync(readmePath, 'utf8')\n\nfs.writeFileSync(\n  readmePath,\n  readme.replace(slackInviteLinkRegex, slackInviteLink)\n)\n"
  },
  {
    "path": "scripts/ssr-benchmarks/.babelrc",
    "content": "{\n  \"presets\": [\"@babel/preset-react\"]\n}\n"
  },
  {
    "path": "scripts/ssr-benchmarks/basic.js",
    "content": "import React from 'react'\nimport { jsx, css } from '@emotion/react'\nimport ReactDOMServer from 'react-dom/server.js'\nimport { createTriangle } from './triangle.js'\n\nlet i = 500\n\nlet CssPropTriangle = createTriangle(({ x, y, size, color, ...props }) => {\n  return jsx('div', {\n    css: css`\n      position: absolute;\n      cursor: pointer;\n      width: 0;\n      height: 0;\n      border-color: transparent;\n      border-style: solid;\n      border-top-width: 0;\n      transform: translate(50%, 50%);\n      margin-left: ${x + 'px'};\n      margin-top: ${y + 'px'};\n      border-right-width: ${size / 2 + 'px'};\n      border-bottom-width: ${size / 2 + 'px'};\n      border-left-width: ${size / 2 + 'px'};\n      border-bottom-color: ${color};\n    `,\n    ...props\n  })\n})\n\nwhile (i--) {\n  ReactDOMServer.renderToString(\n    React.createElement(CssPropTriangle, { s: 100, x: 0, y: 0 })\n  )\n}\n"
  },
  {
    "path": "scripts/ssr-benchmarks/bench.js",
    "content": "import React, { useContext } from 'react'\nimport EmotionStyled from '@emotion/styled'\nimport ReactDOMServer from 'react-dom/server.js'\nimport Benchmark from 'benchmark'\nimport { jsx, css, CacheProvider } from '@emotion/react'\nimport { createTriangle } from './triangle.js'\nimport { css as cssClassName } from '@emotion/css'\nimport { renderStylesToString } from '@emotion/server'\nimport EmotionServer from '@emotion/server/create-instance'\nimport EmotionCache from '@emotion/cache'\nimport { insertStyles } from '@emotion/utils'\n\nconst styled = EmotionStyled.default\nconst createCache = EmotionCache.default\nconst createEmotionServer = EmotionServer.default\nconst { renderToString } = ReactDOMServer\n\nlet Triangle = createTriangle(styled.div`\n  position: absolute;\n  cursor: pointer;\n  width: 0;\n  height: 0;\n  border-color: transparent;\n  border-style: solid;\n  border-top-width: 0;\n  transform: translate(50%, 50%);\n  margin-left: ${props => props.x + 'px'};\n  margin-top: ${props => props.y + 'px'};\n  border-right-width: ${props => props.size / 2 + 'px'};\n  border-bottom-width: ${props => props.size / 2 + 'px'};\n  border-left-width: ${props => props.size / 2 + 'px'};\n  border-bottom-color: ${props => props.color};\n`)\n\nlet CssPropTriangle = createTriangle(({ x, y, size, color, ...props }) => {\n  return jsx('div', {\n    css: css`\n      position: absolute;\n      cursor: pointer;\n      width: 0;\n      height: 0;\n      border-color: transparent;\n      border-style: solid;\n      border-top-width: 0;\n      transform: translate(50%, 50%);\n      margin-left: ${x + 'px'};\n      margin-top: ${y + 'px'};\n      border-right-width: ${size / 2 + 'px'};\n      border-bottom-width: ${size / 2 + 'px'};\n      border-left-width: ${size / 2 + 'px'};\n      border-bottom-color: ${color};\n    `,\n    ...props\n  })\n})\n\nlet CssFuncTriangle = createTriangle(({ x, y, size, color, ...props }) => {\n  return React.createElement('div', {\n    className: cssClassName`\n      position: absolute;\n      cursor: pointer;\n      width: 0;\n      height: 0;\n      border-color: transparent;\n      border-style: solid;\n      border-top-width: 0;\n      transform: translate(50%, 50%);\n      margin-left: ${x + 'px'};\n      margin-top: ${y + 'px'};\n      border-right-width: ${size / 2 + 'px'};\n      border-bottom-width: ${size / 2 + 'px'};\n      border-left-width: ${size / 2 + 'px'};\n      border-bottom-color: ${color};\n    `,\n    ...props\n  })\n})\nlet CacheContext = CacheProvider._context\n\nlet hasOwnProperty = Object.prototype.hasOwnProperty\n\nlet ExperimentTriangle = createTriangle(({ x, y, size, color, ...props }) => {\n  let className = ''\n  const serialized = css`\n    position: absolute;\n    cursor: pointer;\n    width: 0;\n    height: 0;\n    border-color: transparent;\n    border-style: solid;\n    border-top-width: 0;\n    transform: translate(50%, 50%);\n    margin-left: ${x + 'px'};\n    margin-top: ${y + 'px'};\n    border-right-width: ${size / 2 + 'px'};\n    border-bottom-width: ${size / 2 + 'px'};\n    border-left-width: ${size / 2 + 'px'};\n    border-bottom-color: ${color};\n  `\n\n  const cache = useContext(CacheContext)\n  const rules = insertStyles(cache, serialized, true)\n  className += `${cache.key}-${serialized.name}`\n\n  const newProps = {}\n  for (let key in props) {\n    if (hasOwnProperty.call(props, key)) {\n      newProps[key] = props[key]\n    }\n  }\n\n  newProps.className = className\n\n  const ele = React.createElement('div', newProps)\n  let serializedNames = serialized.name\n  let next = serialized.next\n  while (next !== undefined) {\n    serializedNames += ' ' + next.name\n    next = next.next\n  }\n  return React.createElement(\n    React.Fragment,\n    null,\n    React.createElement('style', {\n      [`data-emotion-${cache.key}`]: serializedNames,\n      dangerouslySetInnerHTML: { __html: rules },\n      nonce: cache.sheet.nonce,\n      key: 1\n    }),\n    ele\n  )\n})\n\nconst suite = new Benchmark.Suite('ssr', {\n  onError: event => {\n    console.log(event.target.error)\n  },\n  onStart: () => {\n    console.log('\\nStarting benchmarks...')\n  }\n})\n\nsuite\n  .add('styled', () => {\n    renderToString(React.createElement(Triangle, { s: 100, x: 0, y: 0 }))\n  })\n  .add('css prop', () => {\n    renderToString(React.createElement(CssPropTriangle, { s: 100, x: 0, y: 0 }))\n  })\n  .add('css prop compat', () => {\n    let cache = createCache({ key: '.' })\n    createEmotionServer(cache).renderStylesToString(\n      renderToString(\n        React.createElement(\n          CacheProvider,\n          { value: cache },\n          React.createElement(CssPropTriangle, { s: 100, x: 0, y: 0 })\n        )\n      )\n    )\n  })\n  .add('css func', () => {\n    renderStylesToString(\n      renderToString(\n        React.createElement(CssFuncTriangle, { s: 100, x: 0, y: 0 })\n      )\n    )\n  })\n  .add('experiment', () => {\n    let cache = createCache({ key: '.' })\n    renderToString(\n      React.createElement(\n        CacheProvider,\n        { value: cache },\n        React.createElement(ExperimentTriangle, { s: 100, x: 0, y: 0 })\n      )\n    )\n  })\n  .add('styled with random', () => {\n    renderToString(\n      React.createElement(Triangle, {\n        s: 100,\n        x: 0,\n        y: 0,\n        random: Math.random()\n      })\n    )\n  })\n  .add('css prop with random', () => {\n    renderToString(\n      React.createElement(CssPropTriangle, {\n        s: 100,\n        x: 0,\n        y: 0,\n        random: Math.random()\n      })\n    )\n  })\n  .add('css prop compat with random', () => {\n    let cache = createCache({ key: '.' })\n    createEmotionServer(cache).renderStylesToString(\n      renderToString(\n        React.createElement(\n          CacheProvider,\n          { value: cache },\n          React.createElement(CssPropTriangle, {\n            s: 100,\n            x: 0,\n            y: 0,\n            random: Math.random()\n          })\n        )\n      )\n    )\n  })\n  .add('css func with random', () => {\n    renderStylesToString(\n      renderToString(\n        React.createElement(CssFuncTriangle, {\n          s: 100,\n          x: 0,\n          y: 0,\n          random: Math.random()\n        })\n      )\n    )\n  })\n  .add('experiment with random', () => {\n    let cache = createCache({ key: '.' })\n    renderToString(\n      React.createElement(\n        CacheProvider,\n        { value: cache },\n        React.createElement(ExperimentTriangle, {\n          s: 100,\n          x: 0,\n          y: 0,\n          random: Math.random()\n        })\n      )\n    )\n  })\n  .on('cycle', event => {\n    console.log(String(event.target))\n  })\n  .run()\n"
  },
  {
    "path": "scripts/ssr-benchmarks/package.json",
    "content": "{\n  \"private\": true,\n  \"name\": \"ssr-benchmarks\",\n  \"version\": \"0.8.13\",\n  \"type\": \"module\",\n  \"scripts\": {\n    \"start\": \"NODE_ENV=production node bench.js\",\n    \"start-basic\": \"NODE_ENV=production node basic.js\"\n  },\n  \"dependencies\": {\n    \"benchmark\": \"^2.1.4\",\n    \"d3-scale-chromatic\": \"^3.0.0\",\n    \"react\": \"16.14.0\",\n    \"react-dom\": \"16.14.0\"\n  }\n}\n"
  },
  {
    "path": "scripts/ssr-benchmarks/triangle.js",
    "content": "import React from 'react'\nimport {\n  interpolatePurples,\n  interpolateBuPu,\n  interpolateRdPu\n} from 'd3-scale-chromatic'\n\nconst targetSize = 10\n\nexport const createTriangle = Dot => {\n  let SierpinskiTriangle = ({\n    components,\n    x,\n    y,\n    depth,\n    renderCount,\n    random,\n    s\n  }) => {\n    if (s <= targetSize) {\n      let fn\n      switch (depth) {\n        case 1:\n          fn = interpolatePurples\n          break\n        case 2:\n          fn = interpolateBuPu\n          break\n        case 3:\n        default:\n          fn = interpolateRdPu\n      }\n\n      const color = fn((renderCount * random) / 20)\n      return React.createElement(Dot, {\n        color,\n        size: targetSize,\n        x: x - targetSize / 2,\n        y: y - targetSize / 2\n      })\n    }\n\n    s /= 2\n\n    return React.createElement(\n      React.Fragment,\n      null,\n      React.createElement(SierpinskiTriangle, {\n        components: components,\n        depth: 1,\n        renderCount: renderCount,\n        s: s,\n        x: x,\n        y: y - s / 2\n      }),\n      React.createElement(SierpinskiTriangle, {\n        components: components,\n        depth: 2,\n        renderCount: renderCount,\n        s: s,\n        x: x - s,\n        y: y + s / 2\n      }),\n      React.createElement(SierpinskiTriangle, {\n        components: components,\n        depth: 3,\n        renderCount: renderCount,\n        s: s,\n        x: x + s,\n        y: y + s / 2\n      })\n    )\n  }\n  SierpinskiTriangle.defaultProps = {\n    depth: 0,\n    renderCount: 0,\n    random: 1\n  }\n  return SierpinskiTriangle\n}\n"
  },
  {
    "path": "scripts/test-utils/enzyme-env.js",
    "content": "import Enzyme from 'enzyme'\nimport Adapter from 'enzyme-adapter-react-16'\n\nEnzyme.configure({ adapter: new Adapter() })\n"
  },
  {
    "path": "scripts/test-utils/index.d.ts",
    "content": "/// <reference types=\"jest\" />\n\ninterface Flags {\n  development: boolean\n}\n\ndeclare global {\n  function gate(\n    flags: Flags,\n    exec: ({ test }: { test: typeof globalThis.test }) => void\n  ): void\n}\n\nexport {}\n"
  },
  {
    "path": "scripts/test-utils/legacy-env.js",
    "content": "/* eslint-env jest */\nimport 'test-utils/enzyme-env'\nimport { createEnzymeSerializer } from '@emotion/jest/enzyme'\n\nexpect.addSnapshotSerializer(createEnzymeSerializer())\n"
  },
  {
    "path": "scripts/test-utils/next-env.js",
    "content": "/* eslint-env jest */\nimport { createSerializer } from '@emotion/jest'\n\nexpect.addSnapshotSerializer(createSerializer())\n"
  },
  {
    "path": "scripts/test-utils/package.json",
    "content": "{\n  \"name\": \"test-utils\",\n  \"main\": \"src/index\",\n  \"version\": \"0.3.2\",\n  \"private\": true,\n  \"imports\": {\n    \"#is-development\": {\n      \"development\": \"./resolved-conditions/true.js\",\n      \"default\": \"./resolved-conditions/false.js\"\n    }\n  }\n}\n"
  },
  {
    "path": "scripts/test-utils/pretty-css.js",
    "content": "import prettify from '@emotion/css-prettifier'\n\n/*\ntype StyleSheet = {\n  tags: Array<HTMLStyleElement>\n}\n*/\n\nexport default {\n  test: val => val && val.tags !== undefined && Array.isArray(val.tags),\n  serialize(\n    val /* : StyleSheet */,\n    config,\n    indentation /* : string */,\n    depth /* : number */,\n    refs,\n    printer /* : Function */\n  ) {\n    let styles = val.tags.map(tag => tag.textContent || '').join('')\n    return printer(\n      prettify(styles, config.indent),\n      config,\n      indentation,\n      depth,\n      refs\n    )\n  }\n}\n"
  },
  {
    "path": "scripts/test-utils/resolved-conditions/false.js",
    "content": "export default false\n"
  },
  {
    "path": "scripts/test-utils/resolved-conditions/true.js",
    "content": "export default true\n"
  },
  {
    "path": "scripts/test-utils/src/index.js",
    "content": "/* eslint-env jest */\n\nexport function throwIfFalsy(something) {\n  if (something) {\n    return something\n  }\n  throw new Error('something is falsy')\n}\n\nexport function ignoreConsoleErrors(cb /*: () => mixed */) {\n  let oldConsoleError = console.error\n  console.error = jest.fn()\n\n  try {\n    cb()\n  } finally {\n    console.error = oldConsoleError\n  }\n}\n\nexport let safeQuerySelector = (selector /*: string */) /*: HTMLElement */ => {\n  let element = document.querySelector(selector)\n  if (!element) {\n    throw new Error(`Could not find element matching selector \"${selector}\"`)\n  }\n  return element\n}\n\n// React 18 doesn't use this attribute anymore\n// we normalize this to avoid snapshot mismatches between React versions\nexport let stripDataReactRoot = (html /*: string*/) /*: string*/ =>\n  html.replace(' data-reactroot=\"\"', '')\n\nconst removeGlobalProp = prop => {\n  let descriptor = Object.getOwnPropertyDescriptor(global, prop)\n  Object.defineProperty(global, prop, {\n    value: undefined,\n    writable: true,\n    configurable: true\n  })\n  // $FlowFixMe\n  return () => Object.defineProperty(global, prop, descriptor)\n}\n\n// TODO: export async function disableBrowserEnvTemporarily<T>(fn: () => T): Promise<T> {\nexport async function disableBrowserEnvTemporarily(fn) {\n  let restoreDocument = removeGlobalProp('document')\n  let restoreWindow = removeGlobalProp('window')\n  let restoreHTMLElement = removeGlobalProp('HTMLElement')\n  try {\n    return fn()\n  } finally {\n    restoreDocument()\n    restoreWindow()\n    restoreHTMLElement()\n  }\n}\n"
  },
  {
    "path": "scripts/test-utils/testSetup.js",
    "content": "/* eslint-env jest */\nimport isDevelopment from '#is-development'\nimport 'raf/polyfill'\nimport prettyCSS from './pretty-css'\n\nconst hasOwn = {}.hasOwnProperty\n\nconst t = globalThis.test\nconst d = globalThis.describe\n\nconst defaultFlags = {\n  development: true\n}\n\nconst enabledGlobalFlags = {\n  development: isDevelopment\n}\n\nfunction shouldRun(flags) {\n  return Object.keys(flags).every(\n    flag => enabledGlobalFlags[flag] === flags[flag]\n  )\n}\n\nglobalThis.gate = (flags, cb) => {\n  const usedFlags = Object.keys(flags).filter(flags => !!flags[flags])\n\n  for (const flag of Object.keys(flags)) {\n    if (!hasOwn.call(defaultFlags, flag)) {\n      throw new Error(`Invalid flag: ${flag}`)\n    }\n  }\n\n  const allFlags = {\n    ...defaultFlags,\n    ...flags\n  }\n\n  return shouldRun(allFlags) ? cb({ test: t }) : cb({ test: t.skip })\n}\n\nconst shouldRunByDefault = shouldRun(defaultFlags)\n\nglobalThis.test = (...args) => {\n  if (!shouldRunByDefault) {\n    return t.skip(...args)\n  }\n  return t(...args)\n}\nglobalThis.test.each = (...args) => {\n  if (!shouldRunByDefault) {\n    return t.skip.each(...args)\n  }\n  return t.each(...args)\n}\nglobalThis.test.only = t.only\nglobalThis.test.skip = t.skip\n\nglobalThis.describe = (...args) => {\n  if (!shouldRunByDefault) {\n    return d.skip(...args)\n  }\n  return d(...args)\n}\nglobalThis.describe.each = (...args) => {\n  if (!shouldRunByDefault) {\n    return d.skip.each(...args)\n  }\n  return d.each(...args)\n}\nglobalThis.describe.only = d.only\nglobalThis.describe.skip = d.skip\n\nif (typeof Node !== 'undefined') {\n  let oldInsertBefore = Node.prototype.insertBefore\n  Node.prototype.insertBefore = function (node, refNode) {\n    if (refNode instanceof Node || refNode === null) {\n      return oldInsertBefore.call(this, node, refNode)\n    }\n    throw new Error(\n      'insertBefore only accepts a refNode which is null or a Node'\n    )\n  }\n}\n\nexpect.addSnapshotSerializer(prettyCSS)\n"
  },
  {
    "path": "site/.babelrc.js",
    "content": "module.exports = {\n  presets: [\n    [\n      'next/babel',\n      {\n        'preset-react': {\n          runtime: 'automatic',\n          importSource: '@emotion/react'\n        }\n      }\n    ]\n  ],\n  plugins: ['@emotion/babel-plugin']\n}\n"
  },
  {
    "path": "site/README.md",
    "content": "# [Emotion Site](https://emotion.sh)\n\nRun the site for development: `yarn dev` (in the `site` directory)\n\nPreview the production build of the site: `yarn build && yarn start`\n\n## Docs\n\nAll of the docs live in the `docs` in the root of this repository. They are in [Markdown](https://daringfireball.net/projects/markdown/basics) and they should include the following frontmatter at the top of each file that specifies the title for the page.\n\n```yaml\n---\ntitle: 'Some Title'\n---\n```\n\n## Package READMEs\n\nLinks in package READMEs should go to `https://emotion.sh/docs/{docName}` so that clicking the link on npmjs.com brings you to the Emotion website.\n\n### Code Blocks\n\nWhen the langauge is `jsx` and the code block has a `// @live` comment, it will have a preview next to it. Most of the Emotion packages can be imported and there is a `render` function that accepts a react element and will render into the preview next to it.\n\n```md\n\\`\\`\\`jsx\n// @live\n\nrender('some react element')\n\\`\\`\\`\n```\n"
  },
  {
    "path": "site/components/carbon-ads.tsx",
    "content": "import { ReactElement, useEffect, useRef } from 'react'\nimport { Global, css } from '@emotion/react'\nimport { useRouter } from 'next/router'\nimport { mediaQueries } from '../util'\n\nconst carbonCss = css`\n  #carbonads {\n    display: block;\n    overflow: hidden;\n  }\n\n  #carbonads a,\n  #carbonads a:hover {\n    color: inherit;\n    text-decoration: none;\n  }\n\n  #carbonads span {\n    display: block;\n\n    overflow: hidden;\n  }\n\n  #carbonads .carbon-img {\n    display: block;\n\n    line-height: 1;\n  }\n\n  #carbonads .carbon-img img {\n    display: block;\n    border: solid 1px hsla(0, 0%, 7%, 0.1);\n  }\n\n  #carbonads .carbon-text {\n    display: block;\n    margin-top: 0.5em;\n\n    font-size: 14px;\n    line-height: 1.35;\n  }\n\n  #carbonads .carbon-poweredby {\n    display: block;\n    margin-top: 0.5em;\n\n    font-size: 10px;\n    font-weight: 600;\n    line-height: 1;\n    letter-spacing: 0.1ch;\n    text-transform: uppercase;\n  }\n\n  @media only screen and (min-width: 320px) and (max-width: 759px) {\n    #carbonads {\n      position: relative;\n    }\n\n    #carbonads .carbon-wrap {\n      display: flex;\n      flex-direction: row;\n    }\n\n    #carbonads .carbon-text {\n      padding: 0 12px;\n      font-size: 16px;\n    }\n\n    #carbonads .carbon-poweredby {\n      padding-left: 142px;\n    }\n  }\n`\n\nexport function CarbonAds(): ReactElement {\n  const ref = useRef<HTMLDivElement>(null)\n\n  useEffect(() => {\n    if (!ref.current) return\n\n    const script = document.createElement('script')\n    script.async = true\n    script.id = '_carbonads_js' // This ID is required for the Carbon JS to work\n    script.src =\n      'https://cdn.carbonads.com/carbon.js?serve=CESDV5QY&placement=emotionsh'\n\n    ref.current.appendChild(script)\n  }, [])\n\n  const router = useRouter()\n\n  // Change the ad when the user navigates to a different doc\n  useEffect(() => {\n    const _global = globalThis as { _carbonads?: { refresh(): void } }\n\n    _global._carbonads?.refresh()\n  }, [router.asPath])\n\n  return (\n    <>\n      <Global styles={carbonCss} />\n      <div\n        ref={ref}\n        css={{\n          marginBottom: '2rem',\n\n          [mediaQueries.mdUp]: {\n            minHeight: 200 // To prevent layout shift when the ad changes\n          }\n        }}\n      />\n    </>\n  )\n}\n"
  },
  {
    "path": "site/components/container.tsx",
    "content": "import { PropsWithChildren, ReactElement } from 'react'\nimport { mediaQueries } from '../util'\n\ntype ContainerProps = PropsWithChildren<{\n  className?: string\n}>\n\nexport function Container({\n  className,\n  children\n}: PropsWithChildren<ContainerProps>): ReactElement {\n  return (\n    <div\n      className={className}\n      css={{\n        margin: '0 auto',\n        maxWidth: 1132,\n        paddingLeft: '1rem',\n        paddingRight: '1rem',\n\n        [mediaQueries.mdUp]: {\n          paddingLeft: '1.5rem',\n          paddingRight: '1.5rem'\n        }\n      }}\n    >\n      {children}\n    </div>\n  )\n}\n"
  },
  {
    "path": "site/components/doc-wrapper.tsx",
    "content": "import { faBars, faTimes } from '@fortawesome/free-solid-svg-icons'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport Link from 'next/link'\nimport { useRouter } from 'next/router'\nimport { PropsWithChildren, ReactElement, useEffect, useState } from 'react'\nimport { DocGroup, DocMetadata } from '../queries'\nimport { colors, mediaQueries } from '../util'\nimport { CarbonAds } from './carbon-ads'\nimport { markdownCss } from './markdown-css'\nimport { Search } from './search'\n\ninterface ToggleSidebarButtonProps {\n  sidebarOpen: boolean\n  onClick(): void\n}\n\nfunction ToggleSidebarButton({\n  sidebarOpen,\n  onClick\n}: ToggleSidebarButtonProps) {\n  return (\n    <button\n      css={{\n        position: 'fixed',\n        bottom: 0,\n        right: 0,\n        borderRadius: '50%',\n        backgroundColor: colors.hightlight,\n        display: 'flex',\n        alignItems: 'center',\n        justifyContent: 'center',\n        padding: '1.1rem',\n        margin: '2rem',\n        width: '3.5rem',\n        height: '3.5rem',\n        lineHeight: 1,\n        transition: '150ms ease-in-out background-color',\n        border: 'none',\n        color: 'white',\n        zIndex: 500,\n\n        svg: {\n          // Necessary for Safari\n          width: '100%'\n        },\n\n        [mediaQueries.mdUp]: {\n          display: 'none'\n        }\n      }}\n      onClick={onClick}\n    >\n      <FontAwesomeIcon icon={sidebarOpen ? faTimes : faBars} />\n    </button>\n  )\n}\n\ninterface SidebarGroupProps {\n  activeSlug: string\n  title: string\n  docs: DocMetadata[]\n}\n\nfunction SidebarGroup({\n  activeSlug,\n  title,\n  docs\n}: SidebarGroupProps): ReactElement {\n  return (\n    <>\n      <h3\n        css={{\n          fontWeight: 'bold',\n          fontSize: '1.25rem',\n          marginBottom: 6\n        }}\n      >\n        {title}\n      </h3>\n      <ul\n        css={{\n          listStyle: 'none',\n          margin: 0,\n          marginBottom: '1.5rem',\n          padding: 0\n        }}\n      >\n        {docs\n          .filter(doc => doc.slug !== 'community')\n          .map(doc => (\n            <li key={doc.slug}>\n              <Link href={`/docs/${doc.slug}`} passHref>\n                <a\n                  css={{\n                    display: 'block',\n                    paddingTop: 6,\n                    paddingBottom: 6,\n                    color: colors.body,\n                    '&:hover': {\n                      color: colors.pink,\n                      textDecoration: 'none'\n                    },\n                    '&.active': {\n                      fontWeight: 600,\n                      color: colors.hightlight,\n                      '&::before': {\n                        content: '\"\"',\n                        height: '2rem',\n                        width: '0.5rem',\n                        transform: `translate(-2rem, -0.25rem)`,\n                        position: 'absolute',\n                        display: 'inline-block',\n                        backgroundColor: colors.pinkBorder\n                      }\n                    }\n                  }}\n                  className={activeSlug === doc.slug ? 'active' : undefined}\n                >\n                  {doc.title}\n                </a>\n              </Link>\n            </li>\n          ))}\n      </ul>\n    </>\n  )\n}\n\ninterface DocWrapperProps {\n  activeSlug: string\n  docGroups: DocGroup[]\n}\n\nexport function DocWrapper({\n  activeSlug,\n  docGroups,\n  children\n}: PropsWithChildren<DocWrapperProps>): ReactElement {\n  const [sidebarOpen, setSidebarOpen] = useState(false)\n\n  const path = useRouter().asPath\n\n  // Close sidebar when path changes\n  useEffect(() => {\n    setSidebarOpen(false)\n  }, [path])\n\n  return (\n    <>\n      <div css={{ display: 'flex' }}>\n        <main\n          css={[\n            markdownCss,\n            {\n              display: sidebarOpen ? 'none' : 'block',\n\n              // This is necessary to prevent code blocks from overflowing on\n              // mobile\n              maxWidth: '100%',\n\n              [mediaQueries.mdUp]: {\n                display: 'block',\n                flex: 1\n              }\n            }\n          ]}\n        >\n          {children}\n        </main>\n        <aside\n          css={{\n            flexGrow: 1,\n            display: sidebarOpen ? 'block' : 'none',\n\n            [mediaQueries.mdUp]: {\n              flexGrow: 0,\n              flexShrink: 0,\n              width: 180,\n              display: 'block',\n              marginLeft: '2rem',\n              paddingLeft: '2rem',\n              borderLeft: `1px solid ${colors.pinkBorder}`\n            },\n\n            [mediaQueries.lgUp]: {\n              width: 220\n            }\n          }}\n        >\n          <CarbonAds />\n          <Search />\n          {docGroups.map(g => (\n            <SidebarGroup\n              activeSlug={activeSlug}\n              title={g.title}\n              docs={g.docs}\n              key={g.title}\n            />\n          ))}\n        </aside>\n      </div>\n      <ToggleSidebarButton\n        sidebarOpen={sidebarOpen}\n        onClick={() => setSidebarOpen(!sidebarOpen)}\n      />\n    </>\n  )\n}\n"
  },
  {
    "path": "site/components/global-styles.tsx",
    "content": "import { Global, css } from '@emotion/react'\nimport { ReactElement } from 'react'\nimport { colors, draculaPrism } from '../util'\n\nconst globalCss = css({\n  a: {\n    color: colors.pink,\n    textDecoration: 'none'\n  },\n  'a:hover': {\n    color: colors.hightlight,\n    textDecoration: 'underline'\n  }\n})\n\nexport function GlobalStyles(): ReactElement {\n  return <Global styles={[draculaPrism, globalCss]} />\n}\n"
  },
  {
    "path": "site/components/index.ts",
    "content": "export * from './site-header'\nexport * from './doc-wrapper'\nexport * from './title'\nexport * from './global-styles'\nexport * from './markdown-css'\nexport * from './container'\n"
  },
  {
    "path": "site/components/live-editor/compiler/babel-worker.ts",
    "content": "import * as Babel from '@babel/standalone'\n\nimport emotionBabelPlugin from '@emotion/babel-plugin'\nimport {\n  CompilationFailureMessage,\n  CompilationRequestMessage,\n  CompilationSuccessMessage\n} from './message'\n\nconst options = {\n  presets: [\n    // Convert imports to require\n    [Babel.availablePresets['env'], { modules: 'commonjs' }],\n    [\n      Babel.availablePresets['react'],\n      { runtime: 'automatic', importSource: '@emotion/react' }\n    ]\n  ],\n  plugins: [[emotionBabelPlugin, { sourceMap: false }]]\n}\n\nfunction compile(code: string): string {\n  const result = Babel.transform(code, options).code\n  if (!result) throw new Error('Babel failed to compile the code.')\n\n  return result\n}\n\nfunction hasMessageProperty(e: any): e is { message: string } {\n  return typeof e.message === 'string'\n}\n\naddEventListener(\n  'message',\n  ({ data }: MessageEvent<CompilationRequestMessage>) => {\n    const { id, code } = data\n\n    try {\n      const compiledCode = compile(code)\n\n      const response: CompilationSuccessMessage = {\n        id,\n        type: 'success',\n        compiledCode\n      }\n      postMessage(response)\n    } catch (e) {\n      const errorMessage: string = hasMessageProperty(e)\n        ? e.message\n        : 'There was an unknown error while compiling your code.'\n\n      const response: CompilationFailureMessage = {\n        id,\n        type: 'failure',\n        errorMessage\n      }\n      postMessage(response)\n    }\n  }\n)\n"
  },
  {
    "path": "site/components/live-editor/compiler/compile.ts",
    "content": "import {\n  CompilationFailureMessage,\n  CompilationRequestMessage,\n  CompilationSuccessMessage\n} from './message'\n\n// Instantiate the worker in the browser only\nconst worker =\n  typeof Worker === 'function'\n    ? new Worker(new URL('babel-worker.ts', import.meta.url))\n    : undefined\n\nlet count = 0\n\nexport function compile(code: string): Promise<string> {\n  return new Promise((resolve, reject) => {\n    if (!worker) {\n      resolve('')\n      return\n    }\n\n    const id = ++count\n\n    function handler({\n      data\n    }: MessageEvent<\n      CompilationSuccessMessage | CompilationFailureMessage\n    >): void {\n      if (data.id !== id) return\n      worker!.removeEventListener('message', handler)\n\n      switch (data.type) {\n        case 'success':\n          resolve(data.compiledCode)\n          break\n        case 'failure':\n          reject(new Error(data.errorMessage))\n          break\n        default:\n          throw new Error('Received an unexpected message.')\n      }\n    }\n    worker.addEventListener('message', handler)\n\n    const request: CompilationRequestMessage = {\n      id,\n      code\n    }\n    worker.postMessage(request)\n  })\n}\n"
  },
  {
    "path": "site/components/live-editor/compiler/index.ts",
    "content": "export * from './compile'\n"
  },
  {
    "path": "site/components/live-editor/compiler/message.ts",
    "content": "export interface CompilationRequestMessage {\n  id: number\n  code: string\n}\n\nexport interface CompilationSuccessMessage {\n  id: number\n  type: 'success'\n  compiledCode: string\n}\n\nexport interface CompilationFailureMessage {\n  id: number\n  type: 'failure'\n  errorMessage: string\n}\n"
  },
  {
    "path": "site/components/live-editor/components/README.md",
    "content": "These components were forked from [react-live](https://github.com/FormidableLabs/react-live).\n"
  },
  {
    "path": "site/components/live-editor/components/error-boundary.tsx",
    "content": "import React, { PropsWithChildren, ReactNode } from 'react'\n\ntype ErrorBoundaryProps = PropsWithChildren<{\n  onError(error: unknown): void\n}>\n\nexport class ErrorBoundary extends React.Component<ErrorBoundaryProps> {\n  componentDidCatch(error: unknown): void {\n    this.props.onError(error)\n  }\n\n  render(): ReactNode {\n    return this.props.children\n  }\n}\n"
  },
  {
    "path": "site/components/live-editor/components/index.ts",
    "content": "export * from './live-editor'\nexport * from './live-provider'\nexport * from './live-error'\nexport * from './live-preview'\nexport type { Scope } from './render-element-async'\n"
  },
  {
    "path": "site/components/live-editor/components/live-context.ts",
    "content": "import React, { ReactElement } from 'react'\n\nexport interface LiveContextData {\n  code: string\n  onCodeChange(code: string): void\n\n  element: ReactElement | undefined\n  errorMessage: string | undefined\n}\n\nexport const LiveContext = React.createContext<LiveContextData>({\n  code: '',\n  onCodeChange: () => {},\n\n  element: undefined,\n  errorMessage: undefined\n})\n"
  },
  {
    "path": "site/components/live-editor/components/live-editor.tsx",
    "content": "import Highlight from 'prism-react-renderer'\nimport { useContext, ReactElement } from 'react'\nimport { LiveContext } from './live-context'\nimport SimpleCodeEditor from 'react-simple-code-editor'\n\n// Use our customized instance of Prism, see prism-highlight-css.ts\nimport Prism from 'prismjs'\nimport { styleConstants } from '../../../util'\n\ninterface LiveEditorProps {\n  className?: string\n}\n\nexport function LiveEditor({ className }: LiveEditorProps): ReactElement {\n  const { code, onCodeChange } = useContext(LiveContext)\n\n  function highlightCode(code: string): ReactElement {\n    // `Prism as any` is necessary because of this issue: https://github.com/FormidableLabs/prism-react-renderer/issues/136\n    return (\n      <Highlight Prism={Prism as any} code={code} language=\"jsx\">\n        {({ tokens, getLineProps, getTokenProps }) => (\n          <>\n            {tokens.map((line, i) => (\n              // eslint-disable-next-line react/jsx-key\n              <div {...getLineProps({ line, key: i })}>\n                {line.map((token, key) => (\n                  // eslint-disable-next-line react/jsx-key\n                  <span {...getTokenProps({ token, key })} />\n                ))}\n              </div>\n            ))}\n          </>\n        )}\n      </Highlight>\n    )\n  }\n\n  return (\n    <SimpleCodeEditor\n      className={className}\n      value={code}\n      onValueChange={onCodeChange}\n      padding={10}\n      highlight={highlightCode}\n      css={{\n        whiteSpace: 'pre',\n        fontFamily: 'monospace',\n\n        // Fix text being strangely small in Safari\n        'pre, textarea': { fontSize: `${styleConstants.fontSizeSm} !important` }\n      }}\n    />\n  )\n}\n"
  },
  {
    "path": "site/components/live-editor/components/live-error.tsx",
    "content": "import { useContext, ReactElement } from 'react'\nimport { LiveContext } from './live-context'\n\ninterface LiveErrorProps {\n  className?: string\n}\n\nexport function LiveError({ className }: LiveErrorProps): ReactElement | null {\n  const { errorMessage } = useContext(LiveContext)\n\n  if (!errorMessage) return null\n\n  return <pre className={className}>{errorMessage}</pre>\n}\n"
  },
  {
    "path": "site/components/live-editor/components/live-preview.tsx",
    "content": "import { ReactElement, useContext } from 'react'\nimport { LiveContext } from './live-context'\n\ninterface LivePreviewProps {\n  className?: string\n}\n\nexport function LivePreview({ className }: LivePreviewProps): ReactElement {\n  const { element } = useContext(LiveContext)\n\n  return <div className={className}>{element}</div>\n}\n"
  },
  {
    "path": "site/components/live-editor/components/live-provider.tsx",
    "content": "import { PropsWithChildren, ReactElement, useEffect, useState } from 'react'\nimport { LiveContext } from './live-context'\nimport { renderElementAsync, Scope } from './render-element-async'\n\ntype LiveProviderProps = PropsWithChildren<{\n  defaultCode: string\n  scope: Scope\n\n  transformCode(code: string): Promise<string>\n}>\n\nexport function LiveProvider({\n  defaultCode,\n  scope,\n  transformCode,\n  children\n}: LiveProviderProps) {\n  const [errorMessage, setErrorMessage] = useState<string>()\n  const [element, setElement] = useState<ReactElement>()\n  const [code, setCode] = useState<string>(defaultCode)\n\n  useEffect(() => {\n    async function effectAsync(): Promise<void> {\n      function onError(e: unknown): void {\n        setErrorMessage((e as { toString(): string }).toString())\n        setElement(undefined)\n      }\n\n      try {\n        const transformedCode = await transformCode(code)\n\n        setErrorMessage(undefined)\n\n        const element = await renderElementAsync(\n          transformedCode,\n          scope,\n          onError\n        )\n        setElement(element)\n      } catch (e) {\n        onError(e)\n      }\n    }\n\n    effectAsync()\n  }, [code, scope, transformCode])\n\n  return (\n    <LiveContext.Provider\n      value={{\n        code,\n        onCodeChange: setCode,\n        errorMessage,\n        element\n      }}\n    >\n      {children}\n    </LiveContext.Provider>\n  )\n}\n"
  },
  {
    "path": "site/components/live-editor/components/render-element-async.tsx",
    "content": "import React, { ReactElement } from 'react'\nimport { ErrorBoundary } from './error-boundary'\n\nexport type Scope = Record<string, unknown>\n\nfunction evalCode(code: string, scope: Scope) {\n  const scopeKeys = Object.keys(scope)\n  const scopeValues = Object.values(scope)\n\n  const func = new Function('React', ...scopeKeys, code)\n  return func(React, ...scopeValues)\n}\n\nexport async function renderElementAsync(\n  code: string,\n  scope: Scope,\n  onError: (error: unknown) => void\n): Promise<ReactElement> {\n  return new Promise((resolve, reject) => {\n    function render(element: ReactElement) {\n      if (!element) reject(new Error('`render` must be called with valid JSX.'))\n\n      resolve(<ErrorBoundary onError={onError}>{element}</ErrorBoundary>)\n    }\n\n    if (!/render\\s*\\(/.test(code)) {\n      throw new Error('You must call `render`.')\n    }\n\n    evalCode(code, { ...scope, render })\n  })\n}\n"
  },
  {
    "path": "site/components/live-editor/emotion-live-editor.tsx",
    "content": "import { ReactElement } from 'react'\nimport {\n  LiveProvider,\n  LiveError,\n  LivePreview,\n  LiveEditor,\n  Scope\n} from './components'\nimport { css } from '@emotion/react'\nimport { colors, mediaQueries, styleConstants } from '../../util'\nimport { compile } from './compiler'\n\nconst scope: Scope = {\n  process: {\n    env: {\n      NODE_ENV: process.env.NODE_ENV\n    }\n  },\n  require(moduleName: string) {\n    switch (moduleName) {\n      case '@emotion/css':\n        return require('@emotion/css')\n      case '@emotion/cache':\n        return require('@emotion/cache')\n      case '@emotion/react':\n        return require('@emotion/react')\n      case '@emotion/react/jsx-runtime':\n        return require('@emotion/react/jsx-runtime')\n      case '@emotion/styled':\n        return require('@emotion/styled')\n      case '@emotion/styled/base':\n        return require('@emotion/styled/base')\n      case '@emotion/is-prop-valid':\n        return require('@emotion/is-prop-valid')\n      case 'facepaint':\n        return require('facepaint')\n      case 'stylis':\n        return require('stylis')\n\n      // Not used unless the user adds a jsxImportSource directive\n      case 'react/jsx-runtime':\n        return require('react/jsx-runtime')\n\n      default:\n        throw new Error(`Module \"${moduleName}\" not found.`)\n    }\n  }\n}\n\nconst borderRadius = '0.5rem'\n\nconst theCss = {\n  container: css({\n    [mediaQueries.mdUp]: {\n      display: 'flex'\n    }\n  }),\n\n  editor: css({\n    backgroundColor: 'rgb(40, 41, 54)', // Copied from Prism theme\n    caretColor: 'white',\n\n    borderTopLeftRadius: borderRadius,\n    borderTopRightRadius: borderRadius,\n\n    [mediaQueries.mdUp]: {\n      width: '50%',\n      borderBottomLeftRadius: borderRadius,\n      borderTopRightRadius: 0\n    }\n  }),\n\n  result: css({\n    padding: '0.5rem',\n    display: 'flex',\n    flexDirection: 'column',\n\n    border: `1px solid ${colors.grayBorder}`,\n    borderTopStyle: 'none',\n    borderBottomLeftRadius: borderRadius,\n    borderBottomRightRadius: borderRadius,\n\n    [mediaQueries.mdUp]: {\n      width: '50%',\n      borderTopStyle: 'solid',\n      borderLeftStyle: 'none',\n      borderTopRightRadius: borderRadius,\n      borderBottomLeftRadius: 0\n    }\n  }),\n\n  label: css({\n    textAlign: 'center',\n    fontSize: styleConstants.fontSizeSm,\n    color: colors.gray500\n  }),\n\n  error: css({\n    flex: '1',\n    padding: '0.5rem',\n    marginBottom: 0,\n    color: colors.danger\n  }),\n\n  preview: css({\n    flex: 1,\n    padding: '0.5rem 0.5rem 1.5rem 0.5rem',\n    overflowX: 'auto',\n\n    display: 'flex',\n    alignItems: 'center',\n    justifyContent: 'center',\n\n    '&:empty': {\n      display: 'none'\n    }\n  })\n}\n\ninterface LiveEditorProps {\n  code: string\n}\n\nexport function EmotionLiveEditor({ code }: LiveEditorProps): ReactElement {\n  return (\n    <div className=\"emotion-live-editor\">\n      <div css={theCss.container}>\n        <LiveProvider defaultCode={code} transformCode={compile} scope={scope}>\n          <LiveEditor css={theCss.editor} />\n          <div css={theCss.result}>\n            <LiveError css={theCss.error} />\n            <LivePreview css={theCss.preview} />\n            <div css={theCss.label}>(Edit code to see changes)</div>\n          </div>\n        </LiveProvider>\n      </div>\n    </div>\n  )\n}\n"
  },
  {
    "path": "site/components/live-editor/index.ts",
    "content": "export * from './remark-live-editor'\nexport * from './emotion-live-editor'\n"
  },
  {
    "path": "site/components/live-editor/remark-live-editor.ts",
    "content": "import { visit } from 'unist-util-visit'\n\nconst liveRegex = /^\\s*\\/\\/ @live/\n\ninterface CodeNode {\n  type: string\n  lang?: string | null\n  value?: string | null\n\n  name?: string | null\n  attributes?: { type: 'mdxJsxAttribute'; name: string; value: string }[]\n}\n\nexport function remarkLiveEditor() {\n  return (markdownAST: any) => {\n    visit(markdownAST, 'code', (node: CodeNode) => {\n      if (\n        node.lang === 'jsx' &&\n        // This won't work if you don't use line comments but adding a whole\n        // JS parser would be overkill\n        node.value &&\n        liveRegex.test(node.value)\n      ) {\n        const code = node.value.replace('// @live', '').trim()\n\n        node.type = 'mdxJsxFlowElement'\n        node.name = 'EmotionLiveEditor'\n        node.attributes = [\n          { type: 'mdxJsxAttribute', name: 'code', value: code }\n        ]\n      }\n    })\n  }\n}\n"
  },
  {
    "path": "site/components/markdown-css.tsx",
    "content": "import { css } from '@emotion/react'\nimport React, { ReactElement } from 'react'\nimport { colors, mediaQueries, styleConstants } from '../util'\n\nexport const markdownCss = css({\n  'h2, h3, h4': { marginTop: '2rem', marginBottom: '1rem' },\n\n  h2: {\n    paddingBottom: '0.5rem',\n    borderBottom: `1px solid ${colors.pinkBorder}`\n  },\n\n  'p, li, code': { lineHeight: 1.7 },\n\n  a: {\n    fontWeight: 500,\n    color: colors.hightlight\n  },\n\n  '.icon-link': {\n    display: 'none',\n    float: 'left',\n    paddingRight: '0.5rem',\n    marginLeft: '-1.75rem',\n    lineHeight: 1,\n    width: '1.75rem',\n    height: '1.25rem',\n    backgroundImage: 'url(/link.svg)',\n    backgroundSize: '1.25rem',\n    backgroundRepeat: 'no-repeat'\n  },\n\n  'h2 .icon-link': {\n    marginTop: '0.75rem'\n  },\n\n  'h3 .icon-link': {\n    marginTop: '0.5rem'\n  },\n\n  'h4 .icon-link': {\n    marginTop: '0.4rem'\n  },\n\n  'h2:hover, h3:hover, h4:hover': {\n    '.icon-link': {\n      display: 'block'\n    }\n  },\n\n  hr: { border: `1px solid ${colors.pinkBorder}`, opacity: 1 },\n\n  // This targets inline code only\n  'code:not([class*=\"language-\"])': {\n    color: colors.body,\n    backgroundColor: 'rgba(117, 63, 131, 0.07)',\n    borderRadius: styleConstants.borderRadius,\n    padding: '0.25rem'\n  },\n\n  // This targets code blocks and live editors\n  '.remark-highlight, .emotion-live-editor': {\n    margin: '1.5rem 0'\n  },\n\n  blockquote: {\n    display: 'flex',\n    margin: '1.5rem 0',\n    borderLeft: `5px solid ${colors.hotPink}`,\n    backgroundColor: colors.pinkBg,\n    padding: '1rem',\n\n    p: {\n      margin: 0,\n\n      '&:first-of-type': {\n        fontWeight: 700\n      },\n\n      '&:nth-of-type(2)': {\n        marginLeft: '0.5rem',\n        padding: '0 1rem'\n      }\n    }\n  },\n\n  '.table-responsive-sm': {\n    overflowX: 'auto',\n\n    [mediaQueries.mdUp]: {\n      overflowX: 'initial'\n    }\n  },\n\n  table: {\n    margin: '1.5rem 0',\n    width: '100%'\n  },\n\n  'td, th': {\n    padding: '0.75rem',\n    border: `1px solid ${colors.grayBorder}`\n  },\n\n  img: {\n    maxWidth: '100%'\n  }\n})\n\nexport function ResponsiveTable({\n  children\n}: React.TableHTMLAttributes<HTMLTableElement>): ReactElement {\n  return (\n    <div className=\"table-responsive-sm\">\n      <table>{children}</table>\n    </div>\n  )\n}\n"
  },
  {
    "path": "site/components/search.tsx",
    "content": "import { DocSearch } from '@docsearch/react'\nimport { css, Global } from '@emotion/react'\nimport { ReactElement } from 'react'\nimport { colors } from '../util'\n\nconst docSearchCustomizationCss = css({\n  ':root': {\n    '--docsearch-primary-color': colors.pink,\n    '--docsearch-searchbox-background': colors.gray100,\n    '--docsearch-searchbox-focus-background': colors.gray100\n  },\n\n  '.DocSearch-Button': {\n    margin: '0 auto 2rem 0',\n    width: '100%',\n    border: `1px solid ${colors.grayBorder}`,\n\n    '&:hover': {\n      borderColor: 'transparent'\n    }\n  },\n\n  // Display the \"Search\" placeholder regardless of screen width\n  '.DocSearch-Button-Placeholder': {\n    display: 'block !important'\n  }\n})\n\nexport function Search(): ReactElement {\n  return (\n    <>\n      <Global styles={docSearchCustomizationCss} />\n      <DocSearch\n        appId=\"12939UANWC\"\n        apiKey=\"a1728a14089135f149b2997e1fb14cf0\"\n        indexName=\"emotion_sh\"\n      />\n    </>\n  )\n}\n"
  },
  {
    "path": "site/components/site-header.tsx",
    "content": "import { PropsWithChildren, ReactElement } from 'react'\nimport Link from 'next/link'\nimport { colors, mediaQueries, styleConstants } from '../util'\nimport { css } from '@emotion/react'\nimport { useRouter } from 'next/router'\nimport { Container } from './container'\n\nexport const animatedUnderline = css({\n  '&::after': {\n    content: '\"\"',\n    display: 'block',\n    width: '100%',\n    marginTop: 2,\n    height: 3,\n    transition: 'transform 250ms ease',\n    transform: 'scaleX(0)',\n    backgroundColor: colors.hightlight\n  },\n  '&.active::after, &:hover::after': {\n    transform: 'scaleX(1)'\n  }\n})\n\ntype HeaderLinkProps = PropsWithChildren<{ href: string; active?: boolean }>\n\nfunction HeaderLink({\n  href,\n  active = false,\n  children\n}: HeaderLinkProps): ReactElement {\n  return (\n    <Link href={href} passHref>\n      <a\n        css={[\n          {\n            display: 'inline-block',\n            whiteSpace: 'nowrap',\n            fontWeight: 500,\n            lineHeight: 1.3,\n            color: colors.body,\n            textDecoration: 'none',\n            '&:hover': {\n              textDecoration: 'none'\n            }\n          },\n          animatedUnderline\n        ]}\n        className={active ? 'active' : undefined}\n      >\n        {children}\n      </a>\n    </Link>\n  )\n}\n\nfunction UkraineBanner() {\n  return (\n    <a\n      href=\"https://supportukrainenow.org\"\n      css={{ textDecoration: 'none', '&:hover': { textDecoration: 'none' } }}\n    >\n      <div\n        css={{\n          display: 'flex',\n          justifyContent: 'center',\n          backgroundColor: 'black'\n        }}\n      >\n        <span\n          css={{\n            fontWeight: 'bold',\n            color: '#fff',\n            fontSize: 20,\n\n            [mediaQueries.mdUp]: {\n              fontSize: 28\n            }\n          }}\n        >\n          🇺🇦 STOP WAR IN UKRAINE 🇺🇦\n        </span>\n      </div>\n    </a>\n  )\n}\n\nexport function SiteHeader() {\n  const router = useRouter()\n\n  const path = router.asPath\n  const onCommunityPage = path === '/docs/community'\n\n  return (\n    <>\n      <UkraineBanner />\n      <header\n        css={{\n          backgroundColor: colors.gray100,\n          borderBottom: `1px solid ${colors.grayBorder}`,\n          boxShadow: '0 .125rem .25rem rgba(0, 0, 0, .075)',\n          paddingTop: '0.25rem',\n          marginBottom: '1.5rem',\n\n          [mediaQueries.mdUp]: {\n            marginBottom: '2.5rem'\n          }\n        }}\n      >\n        <Container\n          css={{\n            display: 'flex',\n            alignItems: 'center'\n          }}\n        >\n          <Link href=\"/\" passHref>\n            <a\n              css={{\n                display: 'flex',\n                alignItems: 'center',\n                textDecoration: 'none',\n                marginRight: '1rem',\n                color: colors.pink,\n                '&:hover': {\n                  textDecoration: 'none',\n                  color: colors.hightlight\n                }\n              }}\n            >\n              {/* next/image is not compatible with `next export` */}\n              <img\n                alt=\"Avatar\"\n                src=\"/logo-48x48.png\"\n                srcSet=\"/logo-96x96.png 2x\"\n                height={48}\n                width={48}\n              />\n              <h3\n                css={{\n                  display: 'none',\n                  [mediaQueries.mdUp]: {\n                    display: 'inline',\n                    margin: 0,\n                    marginLeft: '1.5rem',\n                    fontWeight: 'bold'\n                  }\n                }}\n              >\n                Emotion\n              </h3>\n            </a>\n          </Link>\n          <nav\n            css={{\n              marginLeft: 'auto',\n              overflowX: 'auto',\n\n              // For proper scrollbar placement on mobile. Note, mobile scrollbars\n              // are pretty different between Safari and Chrome\n              padding: '0.25rem 0'\n            }}\n          >\n            <ul\n              css={{\n                display: 'flex',\n                alignItems: 'center',\n                justifyItems: 'center',\n                gap: '1.5rem',\n                padding: 0,\n                margin: 0,\n                listStyle: 'none'\n              }}\n            >\n              <li>\n                <HeaderLink\n                  href=\"/docs\"\n                  active={\n                    router.pathname.startsWith('/docs') && !onCommunityPage\n                  }\n                >\n                  Docs\n                </HeaderLink>\n              </li>\n              <li>\n                <HeaderLink href=\"/docs/community\" active={onCommunityPage}>\n                  Community\n                </HeaderLink>\n              </li>\n              <li>\n                <HeaderLink href=\"https://github.com/emotion-js/emotion\">\n                  GitHub\n                </HeaderLink>\n              </li>\n              <li>\n                <HeaderLink href=\"https://join.slack.com/t/emotion-slack/shared_invite/zt-rmtwsy74-2uvyFdz5uxa8OiMguJJeuQ\">\n                  Slack\n                </HeaderLink>\n              </li>\n              <li>\n                <HeaderLink href=\"https://5faaafd0bd0f3f0008469537--emotion.netlify.app\">\n                  v10 Docs\n                </HeaderLink>\n              </li>\n            </ul>\n          </nav>\n        </Container>\n      </header>\n    </>\n  )\n}\n"
  },
  {
    "path": "site/components/title.tsx",
    "content": "import { PropsWithChildren, ReactElement } from 'react'\n\ntype TitleProps = PropsWithChildren<{ className?: string }>\n\nexport function Title({ className, children }: TitleProps): ReactElement {\n  return (\n    <h1\n      className={className}\n      css={{\n        marginBottom: '1rem',\n        fontWeight: 700\n      }}\n    >\n      {children}\n    </h1>\n  )\n}\n"
  },
  {
    "path": "site/misc.d.ts",
    "content": "declare module '@emotion/babel-plugin' // TODO Remove as part of TS migration\n"
  },
  {
    "path": "site/module-stubs/README.md",
    "content": "`@emotion/babel-plugin` depends on some modules which require `fs` which obviously cannot be imported in the browser. (Furthermore, it's unclear if Next.js will allow you to require `fs` during SSR, if the require is located in code that is shared between client and server.)\n\nSo to get `@emotion/babel-plugin` to work in the browser / Next.js, we have to stub out any dependencies which require `fs`. This works via Webpack `require.alias` in `next.config.js`.\n\nThis is a very hacky workaround that could easily break things in the future.\n"
  },
  {
    "path": "site/module-stubs/cosmiconfig.cjs",
    "content": "module.exports = () => ({})\n"
  },
  {
    "path": "site/module-stubs/find-root.cjs",
    "content": "module.exports = function findRoot() {\n  return ''\n}\n"
  },
  {
    "path": "site/module-stubs/resolve.cjs",
    "content": "module.exports = () => 'FAKE_PATH'\n"
  },
  {
    "path": "site/next-env.d.ts",
    "content": "/// <reference types=\"next\" />\n/// <reference types=\"next/image-types/global\" />\n\n// NOTE: This file should not be edited\n// see https://nextjs.org/docs/basic-features/typescript for more information.\n"
  },
  {
    "path": "site/next.config.js",
    "content": "const path = require('path')\n\n// To run bundle analyzer, set the `ANALYZE` environment variable to 'true'.\nconst withBundleAnalyzer = require('@next/bundle-analyzer')({\n  enabled: process.env.ANALYZE === 'true'\n})\n\n/** @type {import('next').NextConfig} */\nmodule.exports = withBundleAnalyzer({\n  reactStrictMode: true,\n\n  // These take effect in development and should match the redirects in netlify.toml\n  async redirects() {\n    return [\n      {\n        source: '/',\n        destination: '/docs/introduction',\n        permanent: true\n      },\n      {\n        source: '/docs',\n        destination: '/docs/introduction',\n        permanent: true\n      },\n      {\n        source: '/community',\n        destination: '/docs/community',\n        permanent: true\n      }\n    ]\n  },\n\n  webpack: config => {\n    return {\n      ...config,\n      resolve: {\n        ...config.resolve,\n        alias: {\n          ...config.resolve.alias,\n\n          // See site/module-stubs/README.md\n          cosmiconfig: path.resolve(__dirname, 'module-stubs/cosmiconfig.cjs'),\n          'find-root': path.resolve(__dirname, 'module-stubs/find-root.cjs'),\n          resolve: path.resolve(__dirname, 'module-stubs/resolve.cjs')\n        }\n      }\n    }\n  }\n})\n"
  },
  {
    "path": "site/package.json",
    "content": "{\n  \"name\": \"emotion-site\",\n  \"version\": \"0.0.0\",\n  \"private\": true,\n  \"scripts\": {\n    \"build\": \"next build && next export\",\n    \"dev\": \"next dev\",\n    \"start\": \"next start\"\n  },\n  \"dependencies\": {\n    \"@babel/standalone\": \"^7.18.7\",\n    \"@docsearch/css\": \"^3.1.1\",\n    \"@docsearch/react\": \"^3.1.1\",\n    \"@fortawesome/fontawesome-svg-core\": \"^6.1.1\",\n    \"@fortawesome/free-solid-svg-icons\": \"^6.1.1\",\n    \"@fortawesome/react-fontawesome\": \"^0.2.0\",\n    \"@next/bundle-analyzer\": \"^12.2.0\",\n    \"@types/babel__standalone\": \"^7.1.4\",\n    \"@types/js-yaml\": \"^4.0.5\",\n    \"@types/node\": \"^12.20.37\",\n    \"@types/prismjs\": \"^1.26.0\",\n    \"@types/react\": \"18.3.12\",\n    \"@types/remark-prism\": \"^1.3.3\",\n    \"facepaint\": \"^1.2.1\",\n    \"gray-matter\": \"^4.0.3\",\n    \"js-yaml\": \"^4.1.0\",\n    \"next\": \"^12.2.0\",\n    \"next-mdx-remote\": \"^4.0.3\",\n    \"prism-react-renderer\": \"^1.3.5\",\n    \"react\": \"16.14.0\",\n    \"react-dom\": \"16.14.0\",\n    \"react-simple-code-editor\": \"^0.11.2\",\n    \"rehype-autolink-headings\": \"^6.1.1\",\n    \"rehype-slug\": \"^5.0.1\",\n    \"remark-gfm\": \"^3.0.1\",\n    \"remark-prism\": \"^1.3.6\",\n    \"sharp\": \"^0.30.7\",\n    \"typescript\": \"^5.4.5\",\n    \"unist-util-visit\": \"^4.1.0\"\n  }\n}\n"
  },
  {
    "path": "site/pages/404.tsx",
    "content": "import Head from 'next/head'\nimport { ReactElement } from 'react'\nimport { styleConstants } from '../util'\n\nexport default function NotFoundPage(): ReactElement {\n  const title = 'Page not found'\n\n  return (\n    <>\n      <Head>\n        <title>{title}</title>\n      </Head>\n      <h1 css={{ marginBottom: '2rem' }}>{title}</h1>\n      <p css={{ fontSize: styleConstants.fontSizeLg }}>\n        You just hit a route that doesn&apos;t exist... the sadness. 😢\n      </p>\n    </>\n  )\n}\n"
  },
  {
    "path": "site/pages/_app.tsx",
    "content": "import '../public/bootstrap-reboot.min.css'\nimport '@docsearch/css'\nimport Head from 'next/head'\nimport type { AppProps } from 'next/app'\nimport '../util/prism-customizations'\nimport { SiteHeader, GlobalStyles, Container } from '../components'\n\nexport default function MyApp({ Component, pageProps }: AppProps) {\n  return (\n    <>\n      <Head>\n        <link rel=\"shortcut icon\" href=\"/logo-32x32.png\" />\n      </Head>\n      <GlobalStyles />\n      <SiteHeader />\n      <Container css={{ paddingBottom: '2rem' }}>\n        <Component {...pageProps} />\n      </Container>\n    </>\n  )\n}\n"
  },
  {
    "path": "site/pages/docs/@emotion/[packageName].tsx",
    "content": "import { GetStaticPaths, GetStaticPropsContext } from 'next'\nimport { serialize } from 'next-mdx-remote/serialize'\nimport remarkPrism from 'remark-prism'\nimport remarkGfm from 'remark-gfm'\nimport rehypeSlug from 'rehype-slug'\nimport rehypeAutolinkHeadings from 'rehype-autolink-headings'\nimport { docQueries } from '../../../queries'\nimport { remarkFixLinks } from '../../../util/remark-fix-links'\nimport DocsPage from '../[slug]'\n\nexport const getStaticPaths: GetStaticPaths = async () => {\n  return {\n    paths: docQueries.listPackageNames().map(packageName => ({\n      params: {\n        packageName\n      }\n    })),\n    fallback: false\n  }\n}\n\nexport async function getStaticProps({ params }: GetStaticPropsContext) {\n  const packageName = params!.packageName as string\n\n  const content = docQueries.getReadme(packageName)\n\n  // mdxOptions is duplicated in an attempt to prevent the client-side bundle\n  // from containing any mdx/remark JS\n\n  // READMEs should not contain live code blocks\n  const mdx = await serialize(content, {\n    mdxOptions: {\n      remarkPlugins: [remarkPrism, remarkFixLinks, remarkGfm],\n\n      // rehypeSlug must come first\n      rehypePlugins: [rehypeSlug, rehypeAutolinkHeadings]\n    }\n  })\n\n  const fullPackageName = `@emotion/${packageName}`\n\n  return {\n    props: {\n      slug: fullPackageName,\n      title: fullPackageName,\n      mdx,\n      docGroups: docQueries.listGroups()\n    }\n  }\n}\n\nexport default DocsPage\n"
  },
  {
    "path": "site/pages/docs/[slug].tsx",
    "content": "import {\n  GetStaticPaths,\n  GetStaticPropsContext,\n  InferGetStaticPropsType\n} from 'next'\nimport Head from 'next/head'\nimport { ReactElement } from 'react'\nimport { serialize } from 'next-mdx-remote/serialize'\nimport { MDXRemote } from 'next-mdx-remote'\nimport remarkPrism from 'remark-prism'\nimport remarkGfm from 'remark-gfm'\nimport rehypeSlug from 'rehype-slug'\nimport rehypeAutolinkHeadings from 'rehype-autolink-headings'\nimport { DocWrapper, ResponsiveTable, Title } from '../../components'\nimport { docQueries } from '../../queries'\nimport { remarkFixLinks } from '../../util/remark-fix-links'\nimport { mediaQueries, styleConstants } from '../../util'\nimport {\n  remarkLiveEditor,\n  EmotionLiveEditor\n} from '../../components/live-editor'\n\nexport const getStaticPaths: GetStaticPaths = async () => {\n  return {\n    paths: docQueries.listMdxSlugs().map(slug => ({\n      params: {\n        slug\n      }\n    })),\n    fallback: false\n  }\n}\n\nexport async function getStaticProps({ params }: GetStaticPropsContext) {\n  const slug = params!.slug as string\n\n  const { title, content } = docQueries.getMdx(slug)\n\n  // mdxOptions is duplicated in an attempt to prevent the client-side bundle\n  // from containing any mdx/remark JS. This is recommended by the\n  // next-mdx-remote README.\n  const mdx = await serialize(content, {\n    mdxOptions: {\n      remarkPlugins: [\n        remarkLiveEditor, // Must come before remarkPrism\n        remarkPrism,\n        remarkFixLinks,\n        remarkGfm\n      ],\n\n      // rehypeSlug must come first\n      rehypePlugins: [rehypeSlug, rehypeAutolinkHeadings]\n    }\n  })\n\n  return {\n    props: {\n      slug,\n      title,\n      mdx,\n      docGroups: docQueries.listGroups()\n    }\n  }\n}\n\ninterface DocTitleProps {\n  title: string\n  slug: string\n}\n\nfunction DocTitle({ title, slug }: DocTitleProps): ReactElement {\n  let editUrl\n\n  if (slug.startsWith('@emotion/')) {\n    const packageName = slug.replace('@emotion/', '')\n    editUrl = `https://github.com/emotion-js/emotion/edit/main/packages/${packageName}/README.md`\n  } else {\n    editUrl = `https://github.com/emotion-js/emotion/edit/main/docs/${slug}.mdx`\n  }\n\n  return (\n    <div\n      css={{\n        display: 'flex',\n        justifyContent: 'space-between',\n        alignItems: 'center',\n        marginBottom: '1rem'\n      }}\n    >\n      <Title\n        css={{\n          marginBottom: 0\n        }}\n      >\n        {title}\n      </Title>\n      <a\n        css={{\n          display: 'none',\n\n          [mediaQueries.mdUp]: {\n            display: 'block',\n            fontSize: styleConstants.fontSizeSm,\n            fontWeight: 'normal !important' as 'normal'\n          }\n        }}\n        href={editUrl}\n      >\n        ✏️ <span css={{ marginLeft: '0.25rem' }}>Edit this page</span>\n      </a>\n    </div>\n  )\n}\n\nexport default function DocsPage({\n  slug,\n  title,\n  mdx,\n  docGroups\n}: InferGetStaticPropsType<typeof getStaticProps>): ReactElement {\n  return (\n    <>\n      <Head>\n        <title>Emotion – {title}</title>\n      </Head>\n      <DocWrapper activeSlug={slug} docGroups={docGroups}>\n        <DocTitle title={title} slug={slug} />\n        <MDXRemote\n          {...mdx}\n          components={{\n            table: ResponsiveTable,\n            EmotionLiveEditor\n          }}\n        />\n      </DocWrapper>\n    </>\n  )\n}\n"
  },
  {
    "path": "site/queries/docQueries.ts",
    "content": "import fs from 'fs'\nimport path from 'path'\nimport matter from 'gray-matter'\nimport yaml from 'js-yaml'\n\nconst docsDirectory = path.join(process.cwd(), '../docs')\nconst packagesDirectory = path.join(process.cwd(), '../packages')\n\nfunction readYaml(): { title: string; items: string[] }[] {\n  return yaml.load(\n    fs.readFileSync(path.join(docsDirectory, 'docs.yaml'), {\n      encoding: 'utf8'\n    })\n  ) as { title: string; items: string[] }[]\n}\n\nfunction listMdxSlugs(): string[] {\n  const slugs = []\n\n  for (const group of readYaml()) {\n    slugs.push(...group.items.filter(s => !s.startsWith('@emotion')))\n  }\n\n  return slugs\n}\n\nfunction listPackageNames(): string[] {\n  const group = readYaml().find(g => g.title === 'Packages')\n  if (!group) throw new Error('Could not find \"Packages\" group in docs.yaml.')\n\n  return group.items.map(p => p.replace('@emotion/', ''))\n}\n\nexport interface DocMetadata {\n  slug: string\n  title: string\n}\n\nexport type DocGroup = { title: string; docs: DocMetadata[] }\n\nfunction listGroups(): DocGroup[] {\n  const mdxSlugToTitle: { [slug: string]: string } = Object.fromEntries(\n    listMdxSlugs().map(slug => [slug, getMdx(slug).title])\n  )\n\n  return readYaml().map(g => ({\n    title: g.title,\n\n    // Package READMEs don't have a title\n    docs: g.items.map(slug => ({ slug, title: mdxSlugToTitle[slug] ?? slug }))\n  }))\n}\n\nfunction getMdx(slug: string): { title: string; content: string } {\n  const source = fs.readFileSync(path.join(docsDirectory, `${slug}.mdx`), {\n    encoding: 'utf8'\n  })\n\n  const { data, content } = matter(source)\n  return { title: data.title, content }\n}\n\nfunction getReadme(packageName: string): string {\n  const source = fs.readFileSync(\n    path.join(packagesDirectory, packageName, 'README.md'),\n    { encoding: 'utf8' }\n  )\n\n  // Remove initial <h1>\n  return source.replace(/# .*\\n/, '')\n}\n\nexport const docQueries = {\n  listMdxSlugs,\n  listPackageNames,\n  listGroups,\n  getMdx,\n  getReadme\n}\n"
  },
  {
    "path": "site/queries/index.ts",
    "content": "export * from './docQueries'\n"
  },
  {
    "path": "site/tsconfig.json",
    "content": "{\n  \"compilerOptions\": {\n    \"target\": \"es2018\",\n    \"lib\": [\"dom\", \"dom.iterable\", \"esnext\"],\n    \"allowJs\": true,\n    \"skipLibCheck\": true,\n    \"strict\": true,\n    \"forceConsistentCasingInFileNames\": true,\n    \"noEmit\": true,\n    \"esModuleInterop\": true,\n    \"module\": \"esnext\",\n    \"moduleResolution\": \"Bundler\",\n    \"resolveJsonModule\": true,\n    \"isolatedModules\": true,\n    \"jsx\": \"preserve\",\n    \"jsxImportSource\": \"@emotion/react\",\n    \"incremental\": true\n  },\n  \"include\": [\"next-env.d.ts\", \"**/*.ts\", \"**/*.tsx\"],\n  \"exclude\": [\"node_modules\"]\n}\n"
  },
  {
    "path": "site/util/dracula-prism.ts",
    "content": "/**\n * prism.js default theme for JavaScript, CSS and HTML\n * Based on dabblet (http://dabblet.com)\n * @author Lea Verou\n */\n\n/*\n * Dracula Theme for Prism.JS\n *\n * @author Gustavo Costa\n * e-mail: gusbemacbe@gmail.com\n *\n * @contributor Jon Leopard\n * e-mail: jonlprd@gmail.com\n *\n * @license MIT 2016-2018\n */\n\n// This has been tweaked to work with react-prism-renderer\n\nexport const draculaPrism = `\npre::-webkit-scrollbar {\n  width: 14px;\n}\n\npre::-webkit-scrollbar-track {\n  background-color: #6272a4;\n  border-radius: 0px;\n}\n\npre::-webkit-scrollbar-thumb {\n  background-color: #bd93f9;\n  border-radius: 0px;\n}\n\ncode[class*=\"language-\"],\npre[class*=\"language-\"],\n[language=\"jsx\"] pre {\n  color: #ccc;\n  background: rgb(40, 41, 54);\n  text-shadow: none;\n  text-align: left;\n  white-space: pre;\n  word-spacing: normal;\n  word-break: normal;\n  word-wrap: normal;\n  line-height: 1.5;\n\n  -moz-tab-size: 4;\n  -o-tab-size: 4;\n  tab-size: 4;\n\n  -webkit-hyphens: none;\n  -moz-hyphens: none;\n  -ms-hyphens: none;\n  hyphens: none;\n}\n\n@media print {\n  code[class*=\"language-\"],\n  pre[class*=\"language-\"] {\n    text-shadow: none;\n  }\n}\n\n/* Code blocks */\npre[class*=\"language-\"] {\n  background: rgba(40, 41, 54, 1) !important;\n  border-radius: 0.5em;\n  padding: 1em;\n  margin: 0.5em 0;\n  overflow: auto;\n  height: auto;\n}\n\n:not(pre) > code[class*=\"language-\"],\npre[class*=\"language-\"] {\n  background: rgba(40, 41, 54, 1);\n}\n\n/* Inline code */\n:not(pre) > code[class*=\"language-\"] {\n  padding: 4px 7px;\n  border-radius: 0.3em;\n  white-space: normal;\n}\n\n.limit-300\n{\n  height: 300px !important;\n}\n\n.limit-400\n{\n  height: 400px !important;\n}\n\n.limit-500\n{\n  height: 500px !important;\n}\n\n.limit-600\n{\n  height: 600px !important;\n}\n\n.limit-700\n{\n  height: 700px !important;\n}\n\n.limit-800\n{\n  height: 800px !important;\n}\n\n.token.plain {\n  color: #ccc\n}\n\n.token.comment {\n  color: rgba(98, 114, 164, 1);\n}\n\n.token.prolog {\n  color: rgba(207, 207, 194, 1);\n}\n\n.token.tag {\n  color: rgba(220, 104, 170, 1);\n}\n\n.token.entity {\n  color: rgba(139, 233, 253, 1);\n}\n\n.token.atrule {\n  color: rgba(98, 239, 117, 1);\n}\n\n.token.url {\n  color: rgba(102, 217, 239, 1);\n}\n\n.token.selector {\n  color: rgba(207, 207, 194, 1);\n}\n\n.token.string {\n  color: rgba(241, 250, 140, 1);\n}\n\n.token.property {\n  color: rgba(255, 184, 108, 1);\n}\n\n.token.important {\n  color: rgba(255, 121, 198, 1);\n  font-weight: bold;\n}\n\n.token.punctuation {\n  color: rgba(230, 219, 116, 1);\n}\n\n.token.number {\n  color: rgba(189, 147, 249, 1);\n}\n\n.token.function {\n  color: rgba(80, 250, 123, 1);\n}\n\n.token.class-name {\n  color: rgba(255, 184, 108, 1);\n}\n\n.token.keyword {\n  color: rgba(255, 121, 198, 1);\n}\n\n.token.boolean {\n  color: rgba(255, 184, 108, 1);\n}\n\n.token.operator {\n  color: rgba(139, 233, 253, 1);\n}\n\n.token.char {\n  color: rgba(255, 135, 157, 1);\n}\n\n.token.regex {\n  color: rgba(80, 250, 123, 1);\n}\n\n.token.variable {\n  color: rgba(80, 250, 123, 1);\n}\n\n.token.constant {\n  color: rgba(255, 184, 108, 1);\n}\n\n.token.symbol {\n  color: rgba(255, 184, 108, 1);\n}\n\n.token.builtin {\n  color: rgba(255, 121, 198, 1);\n}\n\n.token.attr-value {\n  color: #7ec699;\n}\n\n.token.inserted {\n color: rgba(80, 250, 123, 1);\n}\n\n.token.deleted {\n  color: #e2777a;\n}\n\n.token.namespace {\n  color: #e2777a;\n}\n\n.token.bold {\n  font-weight: bold;\n}\n\n.token.italic {\n  font-style: italic;\n}\n\n.token {\n  color: #ff79c6;\n}\n\n.language-json .token.property {\n  color: #ff79c6;\n}\n\n.language-css .token.selector {\n  color: rgba(80, 250, 123, 1);\n}\n\n.language-css .token.property {\n  color: rgba(255, 184, 108, 1);\n}\n\n.language-markup .token.attr-value {\n  color: rgba(102, 217, 239, 1);\n}\n\n.language-markup .token.tag {\n  color: rgba(80, 250, 123, 1);\n}\n\npre.line-numbers {\n  position: relative;\n  padding-left: 3.8em;\n  counter-reset: linenumber;\n}\n\npre.line-numbers > code {\n  position: relative;\n  white-space: inherit;\n}\n\n.line-numbers .line-numbers-rows {\n  position: absolute;\n  pointer-events: none;\n  top: 0;\n  font-size: 100%;\n  left: -3.8em;\n  width: 3em; /* works for line-numbers below 1000 lines */\n  letter-spacing: -1px;\n  border-right: 1px solid #999;\n\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n}\n\n.line-numbers-rows > span {\n  pointer-events: none;\n  display: block;\n  counter-increment: linenumber;\n}\n\n.line-numbers-rows > span:before {\n  content: counter(linenumber);\n  color: #999;\n  display: block;\n  padding-right: 0.8em;\n  text-align: right;\n}\n\ndiv.code-toolbar {\n  position: relative;\n}\n\ndiv.code-toolbar > .toolbar {\n  position: absolute;\n  top: 0.3em;\n  right: 0.2em;\n  transition: opacity 0.3s ease-in-out;\n  opacity: 0;\n}\n\ndiv.code-toolbar:hover > .toolbar {\n  opacity: 1;\n}\n\ndiv.code-toolbar > .toolbar .toolbar-item {\n  display: inline-block;\n  padding-right: 20px;\n}\n\ndiv.code-toolbar > .toolbar a {\n  cursor: pointer;\n}\n\ndiv.code-toolbar > .toolbar button {\n  background: none;\n  border: 0;\n  color: inherit;\n  font: inherit;\n  line-height: normal;\n  overflow: visible;\n  padding: 0;\n  -webkit-user-select: none; /* for button */\n  -moz-user-select: none;\n  -ms-user-select: none;\n}\n\ndiv.code-toolbar > .toolbar a,\ndiv.code-toolbar > .toolbar button,\ndiv.code-toolbar > .toolbar span {\n  color: #ccc;\n  font-size: 0.8em;\n  padding: 0.5em;\n  background: rgba(98, 114, 164, 1);\n  border-radius: 0.5em;\n}\n\ndiv.code-toolbar > .toolbar a:hover,\ndiv.code-toolbar > .toolbar a:focus,\ndiv.code-toolbar > .toolbar button:hover,\ndiv.code-toolbar > .toolbar button:focus,\ndiv.code-toolbar > .toolbar span:hover,\ndiv.code-toolbar > .toolbar span:focus {\n  color: inherit;\n  text-decoration: none;\n  background-color: var(--verde);\n}\n`\n"
  },
  {
    "path": "site/util/index.ts",
    "content": "export * from './style-constants'\nexport * from './dracula-prism'\n"
  },
  {
    "path": "site/util/prism-customizations.ts",
    "content": "import Prism from 'prismjs'\nimport 'prismjs/components/prism-jsx'\nimport 'prismjs/components/prism-typescript'\nimport 'prismjs/components/prism-tsx'\n\n// Prevent Prism from automatically highlighting code, which is unnecessary and\n// causes hydration warnings.\n;(Prism as { manual?: boolean }).manual = true\n\n// This is only necessary for the live editors, for some reason it \"just works\"\n// with remark-prism. But, we make sure this is imported on every page so that\n// the Prism configuration doesn't depend on whether there is a live editor\n// present.\nPrism.languages.insertBefore('jsx', 'template-string', {\n  'styled-template-string': {\n    pattern:\n      /(styled(\\.\\w+|\\([^)]*\\))(\\.\\w+(\\([^)]*\\))*)*|css|injectGlobal|keyframes|css={)`(?:\\$\\{[^}]+\\}|\\\\\\\\|\\\\?[^\\\\])*?`/,\n    lookbehind: true,\n    greedy: true,\n    inside: {\n      interpolation: {\n        pattern: /\\$\\{[^}]+\\}/,\n        inside: {\n          'interpolation-punctuation': {\n            pattern: /^\\$\\{|\\}$/,\n            alias: 'punctuation'\n          },\n          rest: Prism.languages.jsx\n        }\n      },\n      string: {\n        pattern: /[^$;]+/,\n        inside: Prism.languages.css,\n        alias: 'language-css'\n      }\n    }\n  }\n})\n"
  },
  {
    "path": "site/util/remark-fix-links.ts",
    "content": "import { visit } from 'unist-util-visit'\n\nexport function remarkFixLinks() {\n  return (markdownAST: any) => {\n    visit(markdownAST, 'link', (node: { url: string }) => {\n      node.url = node.url.replace(/^https?:\\/\\/emotion.sh/i, '')\n      node.url = node.url.replace(\n        /^https?:\\/\\/github.com\\/emotion-js\\/emotion\\/tree\\/main/i,\n        ''\n      )\n\n      if (!node.url.startsWith('http')) {\n        node.url = node.url\n          .replace(/\\.mdx?(#.*)?$/, (_, hash) => {\n            return hash || ''\n          })\n          .replace(/^\\/packages\\//, '/docs/@emotion/')\n      }\n    })\n  }\n}\n"
  },
  {
    "path": "site/util/style-constants.ts",
    "content": "export const colors = {\n  body: '#212529',\n  pink: '#D26AC2',\n  hightlight: '#C43BAD',\n  pinkBorder: '#eac3e4',\n  grayBorder: '#d2d2d2',\n  pinkBg: '#FBF8FD',\n  hotPink: '#c865b9',\n  danger: '#dc3545',\n  dangerBorder: '#f5c2c7',\n\n  // See https://github.com/twbs/bootstrap/blob/main/scss/_variables.scss if\n  // other grays are needed\n  gray100: '#f8f9fa',\n  gray500: '#adb5bd'\n}\n\nconst breakpoints = { sm: 576, md: 768, lg: 992, xl: 1200, xxl: 1400 }\n\nexport const mediaQueries = {\n  smUp: `@media (min-width: ${breakpoints.sm}px)`,\n  mdUp: `@media (min-width: ${breakpoints.md}px)`,\n  lgUp: `@media (min-width: ${breakpoints.lg}px)`,\n  xlUp: `@media (min-width: ${breakpoints.xl}px)`,\n  xxlUp: `@media (min-width: ${breakpoints.xxl}px)`\n}\n\nexport const styleConstants = {\n  borderRadius: '0.25rem',\n\n  fontSizeSm: '0.875rem',\n  fontSizeLg: '1.25rem'\n}\n"
  },
  {
    "path": "tsconfig.json",
    "content": "{\n  \"compilerOptions\": {\n    \"esModuleInterop\": true,\n    \"forceConsistentCasingInFileNames\": true,\n    \"isolatedModules\": true,\n    \"jsx\": \"react\",\n    \"lib\": [\"es6\", \"dom\"],\n    \"moduleResolution\": \"Node16\",\n    \"module\": \"Node16\",\n    \"noEmit\": true,\n    \"skipLibCheck\": true,\n    \"skipDefaultLibCheck\": true,\n    \"resolveJsonModule\": true,\n    \"strict\": true,\n    \"target\": \"es5\",\n    \"types\": []\n  },\n  \"include\": [\"packages\", \"scripts\", \"test\", \"playgrounds\"],\n  \"exclude\": [\n    \"node_modules\",\n    \"packages/*/types/test/*\",\n    \"packages/*/types/test*\",\n    \"packages/native\"\n  ]\n}\n"
  }
]