@learncard/react 2.4.0 → 2.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{FlippyCard-2cbe2dbe.js → FlippyCard-209549c5.js} +2 -2
- package/dist/cjs/FlippyCard-209549c5.js.map +1 -0
- package/dist/cjs/{LearnCardCreditCardFrontFace-4452fd7a.js → LearnCardCreditCardFrontFace-4ce0d049.js} +2 -2
- package/dist/cjs/{LearnCardCreditCardFrontFace-4452fd7a.js.map → LearnCardCreditCardFrontFace-4ce0d049.js.map} +1 -1
- package/dist/cjs/{Notification-10b40c07.js → Notification-88cc727a.js} +24 -8
- package/dist/cjs/Notification-88cc727a.js.map +1 -0
- package/dist/cjs/{QRCodeCard-efaa58e1.js → QRCodeCard-b60c0500.js} +2 -2
- package/dist/cjs/{QRCodeCard-efaa58e1.js.map → QRCodeCard-b60c0500.js.map} +1 -1
- package/dist/cjs/SchoolIDCard-1baf77e8.js.map +1 -1
- package/dist/cjs/{VCCard-32c759a8.js → VCCard-9c328aba.js} +3 -3
- package/dist/cjs/{VCCard-32c759a8.js.map → VCCard-9c328aba.js.map} +1 -1
- package/dist/cjs/{VCDisplayBackFace-128b5cb2.js → VCDisplayBackFace-f10d3acc.js} +3 -3
- package/dist/cjs/{VCDisplayBackFace-128b5cb2.js.map → VCDisplayBackFace-f10d3acc.js.map} +1 -1
- package/dist/cjs/{VCDisplayCard-77133b71.js → VCDisplayCard-641cc1de.js} +4 -4
- package/dist/cjs/{VCDisplayCard-77133b71.js.map → VCDisplayCard-641cc1de.js.map} +1 -1
- package/dist/cjs/{VCDisplayCard2-a0a66aa6.js → VCDisplayCard2-ddc332ce.js} +3 -3
- package/dist/cjs/{VCDisplayCard2-a0a66aa6.js.map → VCDisplayCard2-ddc332ce.js.map} +1 -1
- package/dist/cjs/{VCVerificationPill-66e2a90f.js → VCVerificationPill-f322ffef.js} +2 -2
- package/dist/cjs/{VCVerificationPill-66e2a90f.js.map → VCVerificationPill-f322ffef.js.map} +1 -1
- package/dist/cjs/{credential.helpers-7f7b9b02.js → credential.helpers-da5d874e.js} +2 -2
- package/dist/cjs/{credential.helpers-7f7b9b02.js.map → credential.helpers-da5d874e.js.map} +1 -1
- package/dist/cjs/{index-82de573c.js → index-c340a7f0.js} +1 -1
- package/dist/{esm/index-aa1098e1.js.map → cjs/index-c340a7f0.js.map} +1 -1
- package/dist/cjs/index.js +12 -12
- package/dist/cjs/index10.js +12 -12
- package/dist/cjs/index14.js +2 -2
- package/dist/cjs/index18.js +1 -1
- package/dist/cjs/index19.js +2 -2
- package/dist/cjs/index29.js +8 -8
- package/dist/cjs/index30.js +4 -4
- package/dist/cjs/index31.js +6 -6
- package/dist/cjs/index32.js +3 -3
- package/dist/cjs/index33.js +1 -1
- package/dist/cjs/index36.js +2 -2
- package/dist/cjs/index8.js +1 -1
- package/dist/cjs/{types.esm-034454a2.js → types.esm-c09dbd3b.js} +494 -52
- package/dist/cjs/types.esm-c09dbd3b.js.map +1 -0
- package/dist/esm/{FlippyCard-f4f0b3f8.js → FlippyCard-a2de5cf1.js} +2 -2
- package/dist/esm/FlippyCard-a2de5cf1.js.map +1 -0
- package/dist/esm/{LearnCardCreditCardFrontFace-cf793917.js → LearnCardCreditCardFrontFace-c221facc.js} +2 -2
- package/dist/esm/{LearnCardCreditCardFrontFace-cf793917.js.map → LearnCardCreditCardFrontFace-c221facc.js.map} +1 -1
- package/dist/esm/{Notification-ac50790d.js → Notification-75f2b46f.js} +25 -9
- package/dist/esm/Notification-75f2b46f.js.map +1 -0
- package/dist/esm/{QRCodeCard-c57e2067.js → QRCodeCard-d147d009.js} +2 -2
- package/dist/esm/{QRCodeCard-c57e2067.js.map → QRCodeCard-d147d009.js.map} +1 -1
- package/dist/esm/SchoolIDCard-3b746226.js.map +1 -1
- package/dist/esm/{VCCard-c4096573.js → VCCard-ac061e87.js} +3 -3
- package/dist/esm/{VCCard-c4096573.js.map → VCCard-ac061e87.js.map} +1 -1
- package/dist/esm/{VCDisplayBackFace-853b8fdf.js → VCDisplayBackFace-dbf68095.js} +3 -3
- package/dist/esm/{VCDisplayBackFace-853b8fdf.js.map → VCDisplayBackFace-dbf68095.js.map} +1 -1
- package/dist/esm/{VCDisplayCard-be496708.js → VCDisplayCard-ec21dfe8.js} +4 -4
- package/dist/esm/{VCDisplayCard-be496708.js.map → VCDisplayCard-ec21dfe8.js.map} +1 -1
- package/dist/esm/{VCDisplayCard2-c8e96ce8.js → VCDisplayCard2-50e1a81a.js} +3 -3
- package/dist/esm/{VCDisplayCard2-c8e96ce8.js.map → VCDisplayCard2-50e1a81a.js.map} +1 -1
- package/dist/esm/{VCVerificationPill-fc7b53d0.js → VCVerificationPill-9559507a.js} +2 -2
- package/dist/esm/{VCVerificationPill-fc7b53d0.js.map → VCVerificationPill-9559507a.js.map} +1 -1
- package/dist/esm/{credential.helpers-78d3c24a.js → credential.helpers-fbf88b8c.js} +2 -2
- package/dist/esm/{credential.helpers-78d3c24a.js.map → credential.helpers-fbf88b8c.js.map} +1 -1
- package/dist/esm/{index-aa1098e1.js → index-54ccc558.js} +1 -1
- package/dist/esm/index-54ccc558.js.map +1 -0
- package/dist/esm/index.js +12 -12
- package/dist/esm/index10.js +12 -12
- package/dist/esm/index14.js +2 -2
- package/dist/esm/index18.js +1 -1
- package/dist/esm/index19.js +2 -2
- package/dist/esm/index29.js +8 -8
- package/dist/esm/index30.js +4 -4
- package/dist/esm/index31.js +6 -6
- package/dist/esm/index32.js +3 -3
- package/dist/esm/index33.js +1 -1
- package/dist/esm/index36.js +2 -2
- package/dist/esm/index8.js +1 -1
- package/dist/esm/{types.esm-9db3d858.js → types.esm-9b3b15f7.js} +494 -52
- package/dist/esm/types.esm-9b3b15f7.js.map +1 -0
- package/dist/index.d.ts +5 -2
- package/package.json +4 -4
- package/dist/cjs/FlippyCard-2cbe2dbe.js.map +0 -1
- package/dist/cjs/Notification-10b40c07.js.map +0 -1
- package/dist/cjs/index-82de573c.js.map +0 -1
- package/dist/cjs/types.esm-034454a2.js.map +0 -1
- package/dist/esm/FlippyCard-f4f0b3f8.js.map +0 -1
- package/dist/esm/Notification-ac50790d.js.map +0 -1
- package/dist/esm/types.esm-9db3d858.js.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -241,7 +241,7 @@ declare const CourseVerticalCard: React__default.FC<CourseCardVerticalProps>;
|
|
|
241
241
|
|
|
242
242
|
declare type FlippyCardProps = {
|
|
243
243
|
children: React__default.ReactChild[];
|
|
244
|
-
flipState?: 'front' | 'back' |
|
|
244
|
+
flipState?: 'front' | 'back' | string;
|
|
245
245
|
};
|
|
246
246
|
declare const FlippyCard: React__default.FC<FlippyCardProps>;
|
|
247
247
|
|
|
@@ -410,7 +410,10 @@ declare type NotificationProps = {
|
|
|
410
410
|
issuerImage?: string;
|
|
411
411
|
issueDate: string;
|
|
412
412
|
className?: string;
|
|
413
|
-
|
|
413
|
+
handleViewOnClick: () => void;
|
|
414
|
+
claimStatus: boolean;
|
|
415
|
+
handleClaimOnClick: () => void;
|
|
416
|
+
loadingState: boolean;
|
|
414
417
|
};
|
|
415
418
|
declare const NotificationTypeStyles: {
|
|
416
419
|
currency: {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@learncard/react",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.5.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/cjs",
|
|
6
6
|
"module": "dist/esm",
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
"style-loader": "^3.3.1",
|
|
57
57
|
"tailwindcss": "^3.0.24",
|
|
58
58
|
"typescript": "^4.5.4",
|
|
59
|
-
"@learncard/types": "5.
|
|
59
|
+
"@learncard/types": "5.2.0"
|
|
60
60
|
},
|
|
61
61
|
"dependencies": {
|
|
62
62
|
"date-fns": "^2.28.0",
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
"qrcode.react": "^3.0.2",
|
|
67
67
|
"react-barcode": "^1.4.5",
|
|
68
68
|
"tailwind-scrollbar-hide": "^1.1.7",
|
|
69
|
-
"@learncard/core": "8.
|
|
69
|
+
"@learncard/core": "8.5.0"
|
|
70
70
|
},
|
|
71
71
|
"peerDependencies": {
|
|
72
72
|
"react": "^16.8.0 || ^17.0.0 || ^18.0.0",
|
|
@@ -76,7 +76,7 @@
|
|
|
76
76
|
"generate-barrels": "barrelsby -D -e \".*\\.(stories)|(test)|(\\.d\\.).*\" -d ./src/components -l all",
|
|
77
77
|
"build": "pnpm generate-barrels && rollup -c",
|
|
78
78
|
"test": "jest",
|
|
79
|
-
"test
|
|
79
|
+
"test:watch": "jest --watch",
|
|
80
80
|
"storybook": "start-storybook -p 6006",
|
|
81
81
|
"build-storybook": "build-storybook",
|
|
82
82
|
"chromatic": "npx chromatic"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FlippyCard-2cbe2dbe.js","sources":["../../src/components/FlippyCard/FlippyCard.tsx"],"sourcesContent":["import React from 'react';\n\nexport type FlippyCardProps = {\n children: React.ReactChild[];\n flipState?: 'front' | 'back' | undefined | string;\n};\n\nexport const FlippyCard: React.FC<FlippyCardProps> = ({ children, flipState }) => {\n if (children?.length > 3) {\n console.warn('More than two children passed into Flippy Card! 😳😳😳 Picking first two...');\n }\n\n if (!children) return <></>;\n\n const frontCard = children?.[0] as React.ReactNode;\n const backCard = (children?.[1] as React.ReactNode) || (children?.[0] as React.ReactNode);\n\n const flipCardCSSClass = flipState === 'front' ? 'flippy-card' : 'flippy-card is-flipped';\n\n return (\n <div data-testid=\"flippy-card-wrapper\" className=\"flippy-wrapper-container\">\n <div data-testid=\"flippy-card\" className={flipCardCSSClass}>\n <section data-testid=\"flippy-card-front\" className=\"card-face card-face--front\">\n {frontCard}\n </section>\n <section data-testid=\"flippy-card-back\" className=\"card-face card-face--back\">\n {backCard}\n </section>\n </div>\n </div>\n );\n};\n\nexport default FlippyCard;\n"],"names":["React"],"mappings":";;;;;;;;AAOO,MAAM,UAAwC,GAAA,CAAC,EAAE,QAAA,EAAU,WAAgB,KAAA;AAC9E,EAAI,IAAA,CAAA,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAU,UAAS,CAAG,EAAA;AACtB,IAAA,OAAA,CAAQ,KAAK,kGAA6E,CAAA,CAAA;AAAA,GAC9F;AAEA,EAAA,IAAI,CAAC,QAAA;AAAU,IAAA,uBAASA,yBAAA,CAAA,aAAA,CAAAA,yBAAA,CAAA,QAAA,EAAA,IAAA,CAAA,CAAA;AAExB,EAAA,MAAM,YAAY,QAAW,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,CAAA,CAAA,CAAA;AAC7B,EAAM,MAAA,QAAA,GAAA,CAAY,QAAW,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,CAAA,CAAA,MAA2B,QAAW,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAEnE,EAAM,MAAA,gBAAA,GAAmB,SAAc,KAAA,OAAA,GAAU,aAAgB,GAAA,wBAAA,CAAA;AAEjE,EAAA,uBACKA,yBAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAA,IAAI,aAAY,EAAA,qBAAA;AAAA,IAAsB,SAAU,EAAA,0BAAA;AAAA,GAAA,kBAC5CA,yBAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAA,IAAI,aAAY,EAAA,aAAA;AAAA,IAAc,SAAW,EAAA,gBAAA;AAAA,GAAA,kBACrCA,yBAAA,CAAA,aAAA,CAAA,SAAA,EAAA;AAAA,IAAQ,aAAY,EAAA,mBAAA;AAAA,IAAoB,SAAU,EAAA,4BAAA;AAAA,GAC9C,EAAA,SACL,mBACCA,yBAAA,CAAA,aAAA,CAAA,SAAA,EAAA;AAAA,IAAQ,aAAY,EAAA,kBAAA;AAAA,IAAmB,SAAU,EAAA,2BAAA;AAAA,GAC7C,EAAA,QACL,CACJ,CACJ,CAAA,CAAA;AAER;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Notification-10b40c07.js","sources":["../../src/constants/notifications.ts","../../src/components/Notification/types.ts","../../src/components/Notification/Notification.tsx"],"sourcesContent":["export enum NotificationTypeEnum {\n Currency = 'currency',\n ID = 'id',\n Achievement = 'achievement',\n Skill = 'skill',\n Job = 'job',\n Learning = 'learning',\n}\n","import { NotificationTypeEnum } from '../../constants/notifications';\n\nimport Trophy from '../svgs/Trophy';\nimport Coins from '../svgs/Coins';\nimport User from '../svgs/User';\nimport Briefcase from '../svgs/Briefcase';\nimport Lightbulb from '../svgs/Lightbulb';\nimport Graduation from '../svgs/Graduation';\n\nexport type NotificationProps = {\n notificationType: NotificationTypeEnum;\n title: string;\n issuerImage?: string;\n issueDate: string;\n className?: string;\n onClick: () => void;\n};\n\nexport const NotificationTypeStyles = {\n [NotificationTypeEnum.Currency]: {\n viewButtonStyles: 'border-cyan-600 text-cyan-600',\n unclaimedButtonStyles: 'text-white bg-cyan-600 border-cyan-600',\n claimedButtonStyles: 'text-cyan-600 bg-cyan-50 border-cyan-50',\n textStyles: 'text-cyan-600 capitalize',\n iconCircleStyles: 'bg-cyan-600',\n IconComponent: Coins,\n },\n [NotificationTypeEnum.ID]: {\n viewButtonStyles: 'border-yellow-400 text-yellow-400',\n unclaimedButtonStyles: 'text-white bg-yellow-400 border-yellow-400',\n claimedButtonStyles: 'text-yellow-400 bg-yellow-50 border-yellow-50',\n textStyles: 'text-yellow-400 uppercase',\n iconCircleStyles: 'bg-yellow-400',\n IconComponent: User,\n },\n [NotificationTypeEnum.Achievement]: {\n viewButtonStyles: 'border-spice-400 text-spice-400',\n unclaimedButtonStyles: 'text-white bg-spice-400 border-spice-400',\n claimedButtonStyles: 'text-spice-400 bg-spice-50 border-spice-50',\n textStyles: 'text-spice-400 capitalize',\n iconCircleStyles: 'bg-spice-400',\n IconComponent: Trophy,\n },\n [NotificationTypeEnum.Skill]: {\n viewButtonStyles: 'border-indigo-400 text-indigo-400',\n unclaimedButtonStyles: 'text-white bg-indigo-400 border-indigo-400',\n claimedButtonStyles: 'text-indigo-400 bg-indigo-50 border-indigo-50',\n textStyles: 'text-indigo-400 capitalize',\n iconCircleStyles: 'bg-indigo-400',\n IconComponent: Lightbulb,\n },\n [NotificationTypeEnum.Job]: {\n viewButtonStyles: 'border-emerald-400 text-emerald-400',\n unclaimedButtonStyles: 'text-white bg-emerald-400 border-emerald-400',\n claimedButtonStyles: 'text-emerald-400 bg-emerald-50 border-emerald-50',\n textStyles: 'text-emerald-400 capitalize',\n iconCircleStyles: 'bg-emerald-400',\n IconComponent: Briefcase,\n },\n [NotificationTypeEnum.Learning]: {\n viewButtonStyles: 'border-rose-400 text-rose-400',\n unclaimedButtonStyles: 'text-white bg-rose-400 border-rose-400',\n claimedButtonStyles: 'text-rose-400 bg-rose-50 border-rose-50',\n textStyles: 'text-rose-400 capitalize',\n iconCircleStyles: 'bg-rose-400',\n IconComponent: Graduation,\n },\n};\n","import React, { useState } from 'react';\n\nimport { NotificationProps, NotificationTypeStyles } from './types';\nimport { NotificationTypeEnum } from '../../constants/notifications';\n\nimport Checkmark from '../svgs/Checkmark';\n\nexport const Notification: React.FC<NotificationProps> = ({\n title,\n issuerImage,\n issueDate,\n className,\n notificationType = NotificationTypeEnum.Achievement,\n onClick = () => {},\n}) => {\n const [isClaimed, setIsClaimed] = useState<boolean>(false);\n\n const handleClaim = () => setIsClaimed(!isClaimed);\n\n const {\n IconComponent,\n iconCircleStyles,\n textStyles,\n viewButtonStyles,\n claimedButtonStyles,\n unclaimedButtonStyles,\n } = NotificationTypeStyles[notificationType];\n\n const claimButtonStyles = isClaimed ? claimedButtonStyles : unclaimedButtonStyles;\n\n return (\n <div\n className={`flex justify-center items-center relative w-full rounded-3xl shadow-2xl py-3 bg-white ${className}`}\n >\n <div\n className={`absolute flex items-center justify-center top-2 right-2 h-8 w-8 overflow-hidden rounded-full z-10 ${iconCircleStyles}`}\n >\n <IconComponent className=\"h-4/5 text-white\" />\n </div>\n <div className=\"flex flex-col justify-center items-center relative w-11/12\">\n <div className=\"flex flex-row items-center justify-start w-full\">\n <div className=\"h-12 w-12 max-h-12 max-w-[48px] min-h-[48px] min-w-[48px] overflow-hidden rounded-full\">\n <img\n src={issuerImage}\n alt=\"issuer image\"\n className=\"w-full h-full object-cover\"\n />\n </div>\n <div className=\"text-left ml-3\">\n <h4\n className=\"font-bold tracking-wide line-clamp-1 text-black\"\n data-testid=\"notification-title\"\n >\n {title}\n </h4>\n <p\n className={`font-semibold p-0 m-0 leading-none tracking-wide line-clamp-1 ${textStyles}`}\n data-testid=\"notification-type\"\n >\n {notificationType}{' '}\n <span\n className=\"text-grayscale-600 normal-case font-normal text-sm\"\n data-testid=\"notification-cred-issue-date\"\n >\n • {issueDate}\n </span>\n </p>\n </div>\n </div>\n <div className=\"flex items-center justify-between w-full mt-3\">\n <button\n onClick={onClick}\n className={`flex-1 rounded-[24px] border-solid border-2 bg-white font-semibold mr-2 py-2 px-3 tracking-wide ${viewButtonStyles}`}\n role=\"button\"\n name=\"notification-view-button\"\n >\n View\n </button>\n <button\n className={`flex items-center justify-center flex-1 rounded-[24px] border-2 border-solid font-semibold py-2 px-3 tracking-wide ${claimButtonStyles}`}\n onClick={handleClaim}\n role=\"button\"\n name=\"notification-claim-button\"\n >\n {isClaimed && <Checkmark className=\"h-[24px] p-0 m-0\" />}{' '}\n {isClaimed ? 'Claimed' : 'Claim'}\n </button>\n </div>\n </div>\n </div>\n );\n};\n\nexport default Notification;\n"],"names":["NotificationTypeEnum","Coins","User","Trophy","Lightbulb","Briefcase","Graduation","useState","React","Checkmark"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-82de573c.js","sources":["../../../../node_modules/.pnpm/qrcode.react@3.1.0_react@18.2.0/node_modules/qrcode.react/lib/esm/index.js"],"sourcesContent":["var __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\n\n// src/index.tsx\nimport React, { useRef, useEffect, useState } from \"react\";\n\n// src/third-party/qrcodegen/index.ts\n/**\n * @license QR Code generator library (TypeScript)\n * Copyright (c) Project Nayuki.\n * SPDX-License-Identifier: MIT\n */\nvar qrcodegen;\n((qrcodegen2) => {\n const _QrCode = class {\n constructor(version, errorCorrectionLevel, dataCodewords, msk) {\n this.version = version;\n this.errorCorrectionLevel = errorCorrectionLevel;\n this.modules = [];\n this.isFunction = [];\n if (version < _QrCode.MIN_VERSION || version > _QrCode.MAX_VERSION)\n throw new RangeError(\"Version value out of range\");\n if (msk < -1 || msk > 7)\n throw new RangeError(\"Mask value out of range\");\n this.size = version * 4 + 17;\n let row = [];\n for (let i = 0; i < this.size; i++)\n row.push(false);\n for (let i = 0; i < this.size; i++) {\n this.modules.push(row.slice());\n this.isFunction.push(row.slice());\n }\n this.drawFunctionPatterns();\n const allCodewords = this.addEccAndInterleave(dataCodewords);\n this.drawCodewords(allCodewords);\n if (msk == -1) {\n let minPenalty = 1e9;\n for (let i = 0; i < 8; i++) {\n this.applyMask(i);\n this.drawFormatBits(i);\n const penalty = this.getPenaltyScore();\n if (penalty < minPenalty) {\n msk = i;\n minPenalty = penalty;\n }\n this.applyMask(i);\n }\n }\n assert(0 <= msk && msk <= 7);\n this.mask = msk;\n this.applyMask(msk);\n this.drawFormatBits(msk);\n this.isFunction = [];\n }\n static encodeText(text, ecl) {\n const segs = qrcodegen2.QrSegment.makeSegments(text);\n return _QrCode.encodeSegments(segs, ecl);\n }\n static encodeBinary(data, ecl) {\n const seg = qrcodegen2.QrSegment.makeBytes(data);\n return _QrCode.encodeSegments([seg], ecl);\n }\n static encodeSegments(segs, ecl, minVersion = 1, maxVersion = 40, mask = -1, boostEcl = true) {\n if (!(_QrCode.MIN_VERSION <= minVersion && minVersion <= maxVersion && maxVersion <= _QrCode.MAX_VERSION) || mask < -1 || mask > 7)\n throw new RangeError(\"Invalid value\");\n let version;\n let dataUsedBits;\n for (version = minVersion; ; version++) {\n const dataCapacityBits2 = _QrCode.getNumDataCodewords(version, ecl) * 8;\n const usedBits = QrSegment.getTotalBits(segs, version);\n if (usedBits <= dataCapacityBits2) {\n dataUsedBits = usedBits;\n break;\n }\n if (version >= maxVersion)\n throw new RangeError(\"Data too long\");\n }\n for (const newEcl of [_QrCode.Ecc.MEDIUM, _QrCode.Ecc.QUARTILE, _QrCode.Ecc.HIGH]) {\n if (boostEcl && dataUsedBits <= _QrCode.getNumDataCodewords(version, newEcl) * 8)\n ecl = newEcl;\n }\n let bb = [];\n for (const seg of segs) {\n appendBits(seg.mode.modeBits, 4, bb);\n appendBits(seg.numChars, seg.mode.numCharCountBits(version), bb);\n for (const b of seg.getData())\n bb.push(b);\n }\n assert(bb.length == dataUsedBits);\n const dataCapacityBits = _QrCode.getNumDataCodewords(version, ecl) * 8;\n assert(bb.length <= dataCapacityBits);\n appendBits(0, Math.min(4, dataCapacityBits - bb.length), bb);\n appendBits(0, (8 - bb.length % 8) % 8, bb);\n assert(bb.length % 8 == 0);\n for (let padByte = 236; bb.length < dataCapacityBits; padByte ^= 236 ^ 17)\n appendBits(padByte, 8, bb);\n let dataCodewords = [];\n while (dataCodewords.length * 8 < bb.length)\n dataCodewords.push(0);\n bb.forEach((b, i) => dataCodewords[i >>> 3] |= b << 7 - (i & 7));\n return new _QrCode(version, ecl, dataCodewords, mask);\n }\n getModule(x, y) {\n return 0 <= x && x < this.size && 0 <= y && y < this.size && this.modules[y][x];\n }\n getModules() {\n return this.modules;\n }\n drawFunctionPatterns() {\n for (let i = 0; i < this.size; i++) {\n this.setFunctionModule(6, i, i % 2 == 0);\n this.setFunctionModule(i, 6, i % 2 == 0);\n }\n this.drawFinderPattern(3, 3);\n this.drawFinderPattern(this.size - 4, 3);\n this.drawFinderPattern(3, this.size - 4);\n const alignPatPos = this.getAlignmentPatternPositions();\n const numAlign = alignPatPos.length;\n for (let i = 0; i < numAlign; i++) {\n for (let j = 0; j < numAlign; j++) {\n if (!(i == 0 && j == 0 || i == 0 && j == numAlign - 1 || i == numAlign - 1 && j == 0))\n this.drawAlignmentPattern(alignPatPos[i], alignPatPos[j]);\n }\n }\n this.drawFormatBits(0);\n this.drawVersion();\n }\n drawFormatBits(mask) {\n const data = this.errorCorrectionLevel.formatBits << 3 | mask;\n let rem = data;\n for (let i = 0; i < 10; i++)\n rem = rem << 1 ^ (rem >>> 9) * 1335;\n const bits = (data << 10 | rem) ^ 21522;\n assert(bits >>> 15 == 0);\n for (let i = 0; i <= 5; i++)\n this.setFunctionModule(8, i, getBit(bits, i));\n this.setFunctionModule(8, 7, getBit(bits, 6));\n this.setFunctionModule(8, 8, getBit(bits, 7));\n this.setFunctionModule(7, 8, getBit(bits, 8));\n for (let i = 9; i < 15; i++)\n this.setFunctionModule(14 - i, 8, getBit(bits, i));\n for (let i = 0; i < 8; i++)\n this.setFunctionModule(this.size - 1 - i, 8, getBit(bits, i));\n for (let i = 8; i < 15; i++)\n this.setFunctionModule(8, this.size - 15 + i, getBit(bits, i));\n this.setFunctionModule(8, this.size - 8, true);\n }\n drawVersion() {\n if (this.version < 7)\n return;\n let rem = this.version;\n for (let i = 0; i < 12; i++)\n rem = rem << 1 ^ (rem >>> 11) * 7973;\n const bits = this.version << 12 | rem;\n assert(bits >>> 18 == 0);\n for (let i = 0; i < 18; i++) {\n const color = getBit(bits, i);\n const a = this.size - 11 + i % 3;\n const b = Math.floor(i / 3);\n this.setFunctionModule(a, b, color);\n this.setFunctionModule(b, a, color);\n }\n }\n drawFinderPattern(x, y) {\n for (let dy = -4; dy <= 4; dy++) {\n for (let dx = -4; dx <= 4; dx++) {\n const dist = Math.max(Math.abs(dx), Math.abs(dy));\n const xx = x + dx;\n const yy = y + dy;\n if (0 <= xx && xx < this.size && 0 <= yy && yy < this.size)\n this.setFunctionModule(xx, yy, dist != 2 && dist != 4);\n }\n }\n }\n drawAlignmentPattern(x, y) {\n for (let dy = -2; dy <= 2; dy++) {\n for (let dx = -2; dx <= 2; dx++)\n this.setFunctionModule(x + dx, y + dy, Math.max(Math.abs(dx), Math.abs(dy)) != 1);\n }\n }\n setFunctionModule(x, y, isDark) {\n this.modules[y][x] = isDark;\n this.isFunction[y][x] = true;\n }\n addEccAndInterleave(data) {\n const ver = this.version;\n const ecl = this.errorCorrectionLevel;\n if (data.length != _QrCode.getNumDataCodewords(ver, ecl))\n throw new RangeError(\"Invalid argument\");\n const numBlocks = _QrCode.NUM_ERROR_CORRECTION_BLOCKS[ecl.ordinal][ver];\n const blockEccLen = _QrCode.ECC_CODEWORDS_PER_BLOCK[ecl.ordinal][ver];\n const rawCodewords = Math.floor(_QrCode.getNumRawDataModules(ver) / 8);\n const numShortBlocks = numBlocks - rawCodewords % numBlocks;\n const shortBlockLen = Math.floor(rawCodewords / numBlocks);\n let blocks = [];\n const rsDiv = _QrCode.reedSolomonComputeDivisor(blockEccLen);\n for (let i = 0, k = 0; i < numBlocks; i++) {\n let dat = data.slice(k, k + shortBlockLen - blockEccLen + (i < numShortBlocks ? 0 : 1));\n k += dat.length;\n const ecc = _QrCode.reedSolomonComputeRemainder(dat, rsDiv);\n if (i < numShortBlocks)\n dat.push(0);\n blocks.push(dat.concat(ecc));\n }\n let result = [];\n for (let i = 0; i < blocks[0].length; i++) {\n blocks.forEach((block, j) => {\n if (i != shortBlockLen - blockEccLen || j >= numShortBlocks)\n result.push(block[i]);\n });\n }\n assert(result.length == rawCodewords);\n return result;\n }\n drawCodewords(data) {\n if (data.length != Math.floor(_QrCode.getNumRawDataModules(this.version) / 8))\n throw new RangeError(\"Invalid argument\");\n let i = 0;\n for (let right = this.size - 1; right >= 1; right -= 2) {\n if (right == 6)\n right = 5;\n for (let vert = 0; vert < this.size; vert++) {\n for (let j = 0; j < 2; j++) {\n const x = right - j;\n const upward = (right + 1 & 2) == 0;\n const y = upward ? this.size - 1 - vert : vert;\n if (!this.isFunction[y][x] && i < data.length * 8) {\n this.modules[y][x] = getBit(data[i >>> 3], 7 - (i & 7));\n i++;\n }\n }\n }\n }\n assert(i == data.length * 8);\n }\n applyMask(mask) {\n if (mask < 0 || mask > 7)\n throw new RangeError(\"Mask value out of range\");\n for (let y = 0; y < this.size; y++) {\n for (let x = 0; x < this.size; x++) {\n let invert;\n switch (mask) {\n case 0:\n invert = (x + y) % 2 == 0;\n break;\n case 1:\n invert = y % 2 == 0;\n break;\n case 2:\n invert = x % 3 == 0;\n break;\n case 3:\n invert = (x + y) % 3 == 0;\n break;\n case 4:\n invert = (Math.floor(x / 3) + Math.floor(y / 2)) % 2 == 0;\n break;\n case 5:\n invert = x * y % 2 + x * y % 3 == 0;\n break;\n case 6:\n invert = (x * y % 2 + x * y % 3) % 2 == 0;\n break;\n case 7:\n invert = ((x + y) % 2 + x * y % 3) % 2 == 0;\n break;\n default:\n throw new Error(\"Unreachable\");\n }\n if (!this.isFunction[y][x] && invert)\n this.modules[y][x] = !this.modules[y][x];\n }\n }\n }\n getPenaltyScore() {\n let result = 0;\n for (let y = 0; y < this.size; y++) {\n let runColor = false;\n let runX = 0;\n let runHistory = [0, 0, 0, 0, 0, 0, 0];\n for (let x = 0; x < this.size; x++) {\n if (this.modules[y][x] == runColor) {\n runX++;\n if (runX == 5)\n result += _QrCode.PENALTY_N1;\n else if (runX > 5)\n result++;\n } else {\n this.finderPenaltyAddHistory(runX, runHistory);\n if (!runColor)\n result += this.finderPenaltyCountPatterns(runHistory) * _QrCode.PENALTY_N3;\n runColor = this.modules[y][x];\n runX = 1;\n }\n }\n result += this.finderPenaltyTerminateAndCount(runColor, runX, runHistory) * _QrCode.PENALTY_N3;\n }\n for (let x = 0; x < this.size; x++) {\n let runColor = false;\n let runY = 0;\n let runHistory = [0, 0, 0, 0, 0, 0, 0];\n for (let y = 0; y < this.size; y++) {\n if (this.modules[y][x] == runColor) {\n runY++;\n if (runY == 5)\n result += _QrCode.PENALTY_N1;\n else if (runY > 5)\n result++;\n } else {\n this.finderPenaltyAddHistory(runY, runHistory);\n if (!runColor)\n result += this.finderPenaltyCountPatterns(runHistory) * _QrCode.PENALTY_N3;\n runColor = this.modules[y][x];\n runY = 1;\n }\n }\n result += this.finderPenaltyTerminateAndCount(runColor, runY, runHistory) * _QrCode.PENALTY_N3;\n }\n for (let y = 0; y < this.size - 1; y++) {\n for (let x = 0; x < this.size - 1; x++) {\n const color = this.modules[y][x];\n if (color == this.modules[y][x + 1] && color == this.modules[y + 1][x] && color == this.modules[y + 1][x + 1])\n result += _QrCode.PENALTY_N2;\n }\n }\n let dark = 0;\n for (const row of this.modules)\n dark = row.reduce((sum, color) => sum + (color ? 1 : 0), dark);\n const total = this.size * this.size;\n const k = Math.ceil(Math.abs(dark * 20 - total * 10) / total) - 1;\n assert(0 <= k && k <= 9);\n result += k * _QrCode.PENALTY_N4;\n assert(0 <= result && result <= 2568888);\n return result;\n }\n getAlignmentPatternPositions() {\n if (this.version == 1)\n return [];\n else {\n const numAlign = Math.floor(this.version / 7) + 2;\n const step = this.version == 32 ? 26 : Math.ceil((this.version * 4 + 4) / (numAlign * 2 - 2)) * 2;\n let result = [6];\n for (let pos = this.size - 7; result.length < numAlign; pos -= step)\n result.splice(1, 0, pos);\n return result;\n }\n }\n static getNumRawDataModules(ver) {\n if (ver < _QrCode.MIN_VERSION || ver > _QrCode.MAX_VERSION)\n throw new RangeError(\"Version number out of range\");\n let result = (16 * ver + 128) * ver + 64;\n if (ver >= 2) {\n const numAlign = Math.floor(ver / 7) + 2;\n result -= (25 * numAlign - 10) * numAlign - 55;\n if (ver >= 7)\n result -= 36;\n }\n assert(208 <= result && result <= 29648);\n return result;\n }\n static getNumDataCodewords(ver, ecl) {\n return Math.floor(_QrCode.getNumRawDataModules(ver) / 8) - _QrCode.ECC_CODEWORDS_PER_BLOCK[ecl.ordinal][ver] * _QrCode.NUM_ERROR_CORRECTION_BLOCKS[ecl.ordinal][ver];\n }\n static reedSolomonComputeDivisor(degree) {\n if (degree < 1 || degree > 255)\n throw new RangeError(\"Degree out of range\");\n let result = [];\n for (let i = 0; i < degree - 1; i++)\n result.push(0);\n result.push(1);\n let root = 1;\n for (let i = 0; i < degree; i++) {\n for (let j = 0; j < result.length; j++) {\n result[j] = _QrCode.reedSolomonMultiply(result[j], root);\n if (j + 1 < result.length)\n result[j] ^= result[j + 1];\n }\n root = _QrCode.reedSolomonMultiply(root, 2);\n }\n return result;\n }\n static reedSolomonComputeRemainder(data, divisor) {\n let result = divisor.map((_) => 0);\n for (const b of data) {\n const factor = b ^ result.shift();\n result.push(0);\n divisor.forEach((coef, i) => result[i] ^= _QrCode.reedSolomonMultiply(coef, factor));\n }\n return result;\n }\n static reedSolomonMultiply(x, y) {\n if (x >>> 8 != 0 || y >>> 8 != 0)\n throw new RangeError(\"Byte out of range\");\n let z = 0;\n for (let i = 7; i >= 0; i--) {\n z = z << 1 ^ (z >>> 7) * 285;\n z ^= (y >>> i & 1) * x;\n }\n assert(z >>> 8 == 0);\n return z;\n }\n finderPenaltyCountPatterns(runHistory) {\n const n = runHistory[1];\n assert(n <= this.size * 3);\n const core = n > 0 && runHistory[2] == n && runHistory[3] == n * 3 && runHistory[4] == n && runHistory[5] == n;\n return (core && runHistory[0] >= n * 4 && runHistory[6] >= n ? 1 : 0) + (core && runHistory[6] >= n * 4 && runHistory[0] >= n ? 1 : 0);\n }\n finderPenaltyTerminateAndCount(currentRunColor, currentRunLength, runHistory) {\n if (currentRunColor) {\n this.finderPenaltyAddHistory(currentRunLength, runHistory);\n currentRunLength = 0;\n }\n currentRunLength += this.size;\n this.finderPenaltyAddHistory(currentRunLength, runHistory);\n return this.finderPenaltyCountPatterns(runHistory);\n }\n finderPenaltyAddHistory(currentRunLength, runHistory) {\n if (runHistory[0] == 0)\n currentRunLength += this.size;\n runHistory.pop();\n runHistory.unshift(currentRunLength);\n }\n };\n let QrCode = _QrCode;\n QrCode.MIN_VERSION = 1;\n QrCode.MAX_VERSION = 40;\n QrCode.PENALTY_N1 = 3;\n QrCode.PENALTY_N2 = 3;\n QrCode.PENALTY_N3 = 40;\n QrCode.PENALTY_N4 = 10;\n QrCode.ECC_CODEWORDS_PER_BLOCK = [\n [-1, 7, 10, 15, 20, 26, 18, 20, 24, 30, 18, 20, 24, 26, 30, 22, 24, 28, 30, 28, 28, 28, 28, 30, 30, 26, 28, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30],\n [-1, 10, 16, 26, 18, 24, 16, 18, 22, 22, 26, 30, 22, 22, 24, 24, 28, 28, 26, 26, 26, 26, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28],\n [-1, 13, 22, 18, 26, 18, 24, 18, 22, 20, 24, 28, 26, 24, 20, 30, 24, 28, 28, 26, 30, 28, 30, 30, 30, 30, 28, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30],\n [-1, 17, 28, 22, 16, 22, 28, 26, 26, 24, 28, 24, 28, 22, 24, 24, 30, 28, 28, 26, 28, 30, 24, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30]\n ];\n QrCode.NUM_ERROR_CORRECTION_BLOCKS = [\n [-1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 4, 4, 4, 4, 4, 6, 6, 6, 6, 7, 8, 8, 9, 9, 10, 12, 12, 12, 13, 14, 15, 16, 17, 18, 19, 19, 20, 21, 22, 24, 25],\n [-1, 1, 1, 1, 2, 2, 4, 4, 4, 5, 5, 5, 8, 9, 9, 10, 10, 11, 13, 14, 16, 17, 17, 18, 20, 21, 23, 25, 26, 28, 29, 31, 33, 35, 37, 38, 40, 43, 45, 47, 49],\n [-1, 1, 1, 2, 2, 4, 4, 6, 6, 8, 8, 8, 10, 12, 16, 12, 17, 16, 18, 21, 20, 23, 23, 25, 27, 29, 34, 34, 35, 38, 40, 43, 45, 48, 51, 53, 56, 59, 62, 65, 68],\n [-1, 1, 1, 2, 4, 4, 4, 5, 6, 8, 8, 11, 11, 16, 16, 18, 16, 19, 21, 25, 25, 25, 34, 30, 32, 35, 37, 40, 42, 45, 48, 51, 54, 57, 60, 63, 66, 70, 74, 77, 81]\n ];\n qrcodegen2.QrCode = QrCode;\n function appendBits(val, len, bb) {\n if (len < 0 || len > 31 || val >>> len != 0)\n throw new RangeError(\"Value out of range\");\n for (let i = len - 1; i >= 0; i--)\n bb.push(val >>> i & 1);\n }\n function getBit(x, i) {\n return (x >>> i & 1) != 0;\n }\n function assert(cond) {\n if (!cond)\n throw new Error(\"Assertion error\");\n }\n const _QrSegment = class {\n constructor(mode, numChars, bitData) {\n this.mode = mode;\n this.numChars = numChars;\n this.bitData = bitData;\n if (numChars < 0)\n throw new RangeError(\"Invalid argument\");\n this.bitData = bitData.slice();\n }\n static makeBytes(data) {\n let bb = [];\n for (const b of data)\n appendBits(b, 8, bb);\n return new _QrSegment(_QrSegment.Mode.BYTE, data.length, bb);\n }\n static makeNumeric(digits) {\n if (!_QrSegment.isNumeric(digits))\n throw new RangeError(\"String contains non-numeric characters\");\n let bb = [];\n for (let i = 0; i < digits.length; ) {\n const n = Math.min(digits.length - i, 3);\n appendBits(parseInt(digits.substr(i, n), 10), n * 3 + 1, bb);\n i += n;\n }\n return new _QrSegment(_QrSegment.Mode.NUMERIC, digits.length, bb);\n }\n static makeAlphanumeric(text) {\n if (!_QrSegment.isAlphanumeric(text))\n throw new RangeError(\"String contains unencodable characters in alphanumeric mode\");\n let bb = [];\n let i;\n for (i = 0; i + 2 <= text.length; i += 2) {\n let temp = _QrSegment.ALPHANUMERIC_CHARSET.indexOf(text.charAt(i)) * 45;\n temp += _QrSegment.ALPHANUMERIC_CHARSET.indexOf(text.charAt(i + 1));\n appendBits(temp, 11, bb);\n }\n if (i < text.length)\n appendBits(_QrSegment.ALPHANUMERIC_CHARSET.indexOf(text.charAt(i)), 6, bb);\n return new _QrSegment(_QrSegment.Mode.ALPHANUMERIC, text.length, bb);\n }\n static makeSegments(text) {\n if (text == \"\")\n return [];\n else if (_QrSegment.isNumeric(text))\n return [_QrSegment.makeNumeric(text)];\n else if (_QrSegment.isAlphanumeric(text))\n return [_QrSegment.makeAlphanumeric(text)];\n else\n return [_QrSegment.makeBytes(_QrSegment.toUtf8ByteArray(text))];\n }\n static makeEci(assignVal) {\n let bb = [];\n if (assignVal < 0)\n throw new RangeError(\"ECI assignment value out of range\");\n else if (assignVal < 1 << 7)\n appendBits(assignVal, 8, bb);\n else if (assignVal < 1 << 14) {\n appendBits(2, 2, bb);\n appendBits(assignVal, 14, bb);\n } else if (assignVal < 1e6) {\n appendBits(6, 3, bb);\n appendBits(assignVal, 21, bb);\n } else\n throw new RangeError(\"ECI assignment value out of range\");\n return new _QrSegment(_QrSegment.Mode.ECI, 0, bb);\n }\n static isNumeric(text) {\n return _QrSegment.NUMERIC_REGEX.test(text);\n }\n static isAlphanumeric(text) {\n return _QrSegment.ALPHANUMERIC_REGEX.test(text);\n }\n getData() {\n return this.bitData.slice();\n }\n static getTotalBits(segs, version) {\n let result = 0;\n for (const seg of segs) {\n const ccbits = seg.mode.numCharCountBits(version);\n if (seg.numChars >= 1 << ccbits)\n return Infinity;\n result += 4 + ccbits + seg.bitData.length;\n }\n return result;\n }\n static toUtf8ByteArray(str) {\n str = encodeURI(str);\n let result = [];\n for (let i = 0; i < str.length; i++) {\n if (str.charAt(i) != \"%\")\n result.push(str.charCodeAt(i));\n else {\n result.push(parseInt(str.substr(i + 1, 2), 16));\n i += 2;\n }\n }\n return result;\n }\n };\n let QrSegment = _QrSegment;\n QrSegment.NUMERIC_REGEX = /^[0-9]*$/;\n QrSegment.ALPHANUMERIC_REGEX = /^[A-Z0-9 $%*+.\\/:-]*$/;\n QrSegment.ALPHANUMERIC_CHARSET = \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:\";\n qrcodegen2.QrSegment = QrSegment;\n})(qrcodegen || (qrcodegen = {}));\n((qrcodegen2) => {\n let QrCode;\n ((QrCode2) => {\n const _Ecc = class {\n constructor(ordinal, formatBits) {\n this.ordinal = ordinal;\n this.formatBits = formatBits;\n }\n };\n let Ecc = _Ecc;\n Ecc.LOW = new _Ecc(0, 1);\n Ecc.MEDIUM = new _Ecc(1, 0);\n Ecc.QUARTILE = new _Ecc(2, 3);\n Ecc.HIGH = new _Ecc(3, 2);\n QrCode2.Ecc = Ecc;\n })(QrCode = qrcodegen2.QrCode || (qrcodegen2.QrCode = {}));\n})(qrcodegen || (qrcodegen = {}));\n((qrcodegen2) => {\n let QrSegment;\n ((QrSegment2) => {\n const _Mode = class {\n constructor(modeBits, numBitsCharCount) {\n this.modeBits = modeBits;\n this.numBitsCharCount = numBitsCharCount;\n }\n numCharCountBits(ver) {\n return this.numBitsCharCount[Math.floor((ver + 7) / 17)];\n }\n };\n let Mode = _Mode;\n Mode.NUMERIC = new _Mode(1, [10, 12, 14]);\n Mode.ALPHANUMERIC = new _Mode(2, [9, 11, 13]);\n Mode.BYTE = new _Mode(4, [8, 16, 16]);\n Mode.KANJI = new _Mode(8, [8, 10, 12]);\n Mode.ECI = new _Mode(7, [0, 0, 0]);\n QrSegment2.Mode = Mode;\n })(QrSegment = qrcodegen2.QrSegment || (qrcodegen2.QrSegment = {}));\n})(qrcodegen || (qrcodegen = {}));\nvar qrcodegen_default = qrcodegen;\n\n// src/index.tsx\n/**\n * @license qrcode.react\n * Copyright (c) Paul O'Shannessy\n * SPDX-License-Identifier: ISC\n */\nvar ERROR_LEVEL_MAP = {\n L: qrcodegen_default.QrCode.Ecc.LOW,\n M: qrcodegen_default.QrCode.Ecc.MEDIUM,\n Q: qrcodegen_default.QrCode.Ecc.QUARTILE,\n H: qrcodegen_default.QrCode.Ecc.HIGH\n};\nvar DEFAULT_SIZE = 128;\nvar DEFAULT_LEVEL = \"L\";\nvar DEFAULT_BGCOLOR = \"#FFFFFF\";\nvar DEFAULT_FGCOLOR = \"#000000\";\nvar DEFAULT_INCLUDEMARGIN = false;\nvar MARGIN_SIZE = 4;\nvar DEFAULT_IMG_SCALE = 0.1;\nfunction generatePath(modules, margin = 0) {\n const ops = [];\n modules.forEach(function(row, y) {\n let start = null;\n row.forEach(function(cell, x) {\n if (!cell && start !== null) {\n ops.push(`M${start + margin} ${y + margin}h${x - start}v1H${start + margin}z`);\n start = null;\n return;\n }\n if (x === row.length - 1) {\n if (!cell) {\n return;\n }\n if (start === null) {\n ops.push(`M${x + margin},${y + margin} h1v1H${x + margin}z`);\n } else {\n ops.push(`M${start + margin},${y + margin} h${x + 1 - start}v1H${start + margin}z`);\n }\n return;\n }\n if (cell && start === null) {\n start = x;\n }\n });\n });\n return ops.join(\"\");\n}\nfunction excavateModules(modules, excavation) {\n return modules.slice().map((row, y) => {\n if (y < excavation.y || y >= excavation.y + excavation.h) {\n return row;\n }\n return row.map((cell, x) => {\n if (x < excavation.x || x >= excavation.x + excavation.w) {\n return cell;\n }\n return false;\n });\n });\n}\nfunction getImageSettings(cells, size, includeMargin, imageSettings) {\n if (imageSettings == null) {\n return null;\n }\n const margin = includeMargin ? MARGIN_SIZE : 0;\n const numCells = cells.length + margin * 2;\n const defaultSize = Math.floor(size * DEFAULT_IMG_SCALE);\n const scale = numCells / size;\n const w = (imageSettings.width || defaultSize) * scale;\n const h = (imageSettings.height || defaultSize) * scale;\n const x = imageSettings.x == null ? cells.length / 2 - w / 2 : imageSettings.x * scale;\n const y = imageSettings.y == null ? cells.length / 2 - h / 2 : imageSettings.y * scale;\n let excavation = null;\n if (imageSettings.excavate) {\n let floorX = Math.floor(x);\n let floorY = Math.floor(y);\n let ceilW = Math.ceil(w + x - floorX);\n let ceilH = Math.ceil(h + y - floorY);\n excavation = { x: floorX, y: floorY, w: ceilW, h: ceilH };\n }\n return { x, y, h, w, excavation };\n}\nvar SUPPORTS_PATH2D = function() {\n try {\n new Path2D().addPath(new Path2D());\n } catch (e) {\n return false;\n }\n return true;\n}();\nfunction QRCodeCanvas(props) {\n const _a = props, {\n value,\n size = DEFAULT_SIZE,\n level = DEFAULT_LEVEL,\n bgColor = DEFAULT_BGCOLOR,\n fgColor = DEFAULT_FGCOLOR,\n includeMargin = DEFAULT_INCLUDEMARGIN,\n style,\n imageSettings\n } = _a, otherProps = __objRest(_a, [\n \"value\",\n \"size\",\n \"level\",\n \"bgColor\",\n \"fgColor\",\n \"includeMargin\",\n \"style\",\n \"imageSettings\"\n ]);\n const imgSrc = imageSettings == null ? void 0 : imageSettings.src;\n const _canvas = useRef(null);\n const _image = useRef(null);\n const [isImgLoaded, setIsImageLoaded] = useState(false);\n useEffect(() => {\n if (_canvas.current != null) {\n const canvas = _canvas.current;\n const ctx = canvas.getContext(\"2d\");\n if (!ctx) {\n return;\n }\n let cells = qrcodegen_default.QrCode.encodeText(value, ERROR_LEVEL_MAP[level]).getModules();\n const margin = includeMargin ? MARGIN_SIZE : 0;\n const numCells = cells.length + margin * 2;\n const calculatedImageSettings = getImageSettings(cells, size, includeMargin, imageSettings);\n const image = _image.current;\n const haveImageToRender = calculatedImageSettings != null && image !== null && image.complete && image.naturalHeight !== 0 && image.naturalWidth !== 0;\n if (haveImageToRender) {\n if (calculatedImageSettings.excavation != null) {\n cells = excavateModules(cells, calculatedImageSettings.excavation);\n }\n }\n const pixelRatio = window.devicePixelRatio || 1;\n canvas.height = canvas.width = size * pixelRatio;\n const scale = size / numCells * pixelRatio;\n ctx.scale(scale, scale);\n ctx.fillStyle = bgColor;\n ctx.fillRect(0, 0, numCells, numCells);\n ctx.fillStyle = fgColor;\n if (SUPPORTS_PATH2D) {\n ctx.fill(new Path2D(generatePath(cells, margin)));\n } else {\n cells.forEach(function(row, rdx) {\n row.forEach(function(cell, cdx) {\n if (cell) {\n ctx.fillRect(cdx + margin, rdx + margin, 1, 1);\n }\n });\n });\n }\n if (haveImageToRender) {\n ctx.drawImage(image, calculatedImageSettings.x + margin, calculatedImageSettings.y + margin, calculatedImageSettings.w, calculatedImageSettings.h);\n }\n }\n });\n useEffect(() => {\n setIsImageLoaded(false);\n }, [imgSrc]);\n const canvasStyle = __spreadValues({ height: size, width: size }, style);\n let img = null;\n if (imgSrc != null) {\n img = /* @__PURE__ */ React.createElement(\"img\", {\n src: imgSrc,\n key: imgSrc,\n style: { display: \"none\" },\n onLoad: () => {\n setIsImageLoaded(true);\n },\n ref: _image\n });\n }\n return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(\"canvas\", __spreadValues({\n style: canvasStyle,\n height: size,\n width: size,\n ref: _canvas\n }, otherProps)), img);\n}\nfunction QRCodeSVG(props) {\n const _a = props, {\n value,\n size = DEFAULT_SIZE,\n level = DEFAULT_LEVEL,\n bgColor = DEFAULT_BGCOLOR,\n fgColor = DEFAULT_FGCOLOR,\n includeMargin = DEFAULT_INCLUDEMARGIN,\n imageSettings\n } = _a, otherProps = __objRest(_a, [\n \"value\",\n \"size\",\n \"level\",\n \"bgColor\",\n \"fgColor\",\n \"includeMargin\",\n \"imageSettings\"\n ]);\n let cells = qrcodegen_default.QrCode.encodeText(value, ERROR_LEVEL_MAP[level]).getModules();\n const margin = includeMargin ? MARGIN_SIZE : 0;\n const numCells = cells.length + margin * 2;\n const calculatedImageSettings = getImageSettings(cells, size, includeMargin, imageSettings);\n let image = null;\n if (imageSettings != null && calculatedImageSettings != null) {\n if (calculatedImageSettings.excavation != null) {\n cells = excavateModules(cells, calculatedImageSettings.excavation);\n }\n image = /* @__PURE__ */ React.createElement(\"image\", {\n xlinkHref: imageSettings.src,\n height: calculatedImageSettings.h,\n width: calculatedImageSettings.w,\n x: calculatedImageSettings.x + margin,\n y: calculatedImageSettings.y + margin,\n preserveAspectRatio: \"none\"\n });\n }\n const fgPath = generatePath(cells, margin);\n return /* @__PURE__ */ React.createElement(\"svg\", __spreadValues({\n height: size,\n width: size,\n viewBox: `0 0 ${numCells} ${numCells}`\n }, otherProps), /* @__PURE__ */ React.createElement(\"path\", {\n fill: bgColor,\n d: `M0,0 h${numCells}v${numCells}H0z`,\n shapeRendering: \"crispEdges\"\n }), /* @__PURE__ */ React.createElement(\"path\", {\n fill: fgColor,\n d: fgPath,\n shapeRendering: \"crispEdges\"\n }), image);\n}\nvar QRCode = (props) => {\n const _a = props, { renderAs } = _a, otherProps = __objRest(_a, [\"renderAs\"]);\n if (renderAs === \"svg\") {\n return /* @__PURE__ */ React.createElement(QRCodeSVG, __spreadValues({}, otherProps));\n }\n return /* @__PURE__ */ React.createElement(QRCodeCanvas, __spreadValues({}, otherProps));\n};\nexport {\n QRCodeCanvas,\n QRCodeSVG,\n QRCode as default\n};\n"],"names":["React"],"mappings":";;;;;;;;AAAA,IAAI,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;AACtC,IAAI,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC;AACvD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;AACnD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC;AACzD,IAAI,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,KAAK,GAAG,IAAI,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAChK,IAAI,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK;AAC/B,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;AAChC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AAClC,MAAM,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACxC,EAAE,IAAI,mBAAmB;AACzB,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,CAAC,CAAC,EAAE;AAC7C,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AACpC,QAAQ,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1C,KAAK;AACL,EAAE,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AACF,IAAI,SAAS,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK;AACrC,EAAE,IAAI,MAAM,GAAG,EAAE,CAAC;AAClB,EAAE,KAAK,IAAI,IAAI,IAAI,MAAM;AACzB,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;AACpE,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AAClC,EAAE,IAAI,MAAM,IAAI,IAAI,IAAI,mBAAmB;AAC3C,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,MAAM,CAAC,EAAE;AAClD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;AACtE,QAAQ,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AACpC,KAAK;AACL,EAAE,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAIF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,SAAS,CAAC;AACd,CAAC,CAAC,UAAU,KAAK;AACjB,EAAE,MAAM,OAAO,GAAG,MAAM;AACxB,IAAI,WAAW,CAAC,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,GAAG,EAAE;AACnE,MAAM,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AAC7B,MAAM,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;AACvD,MAAM,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;AACxB,MAAM,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;AAC3B,MAAM,IAAI,OAAO,GAAG,OAAO,CAAC,WAAW,IAAI,OAAO,GAAG,OAAO,CAAC,WAAW;AACxE,QAAQ,MAAM,IAAI,UAAU,CAAC,4BAA4B,CAAC,CAAC;AAC3D,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC;AAC7B,QAAQ,MAAM,IAAI,UAAU,CAAC,yBAAyB,CAAC,CAAC;AACxD,MAAM,IAAI,CAAC,IAAI,GAAG,OAAO,GAAG,CAAC,GAAG,EAAE,CAAC;AACnC,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC;AACnB,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE;AACxC,QAAQ,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACxB,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;AAC1C,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;AACvC,QAAQ,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;AAC1C,OAAO;AACP,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;AAClC,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;AACnE,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;AACvC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,EAAE;AACrB,QAAQ,IAAI,UAAU,GAAG,GAAG,CAAC;AAC7B,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AACpC,UAAU,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAC5B,UAAU,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;AACjC,UAAU,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;AACjD,UAAU,IAAI,OAAO,GAAG,UAAU,EAAE;AACpC,YAAY,GAAG,GAAG,CAAC,CAAC;AACpB,YAAY,UAAU,GAAG,OAAO,CAAC;AACjC,WAAW;AACX,UAAU,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAC5B,SAAS;AACT,OAAO;AACP,MAAM,MAAM,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC;AACnC,MAAM,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;AACtB,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;AAC1B,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;AAC/B,MAAM,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;AAC3B,KAAK;AACL,IAAI,OAAO,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE;AACjC,MAAM,MAAM,IAAI,GAAG,UAAU,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;AAC3D,MAAM,OAAO,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAC/C,KAAK;AACL,IAAI,OAAO,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE;AACnC,MAAM,MAAM,GAAG,GAAG,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AACvD,MAAM,OAAO,OAAO,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;AAChD,KAAK;AACL,IAAI,OAAO,cAAc,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,GAAG,CAAC,EAAE,UAAU,GAAG,EAAE,EAAE,IAAI,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,IAAI,EAAE;AAClG,MAAM,IAAI,EAAE,OAAO,CAAC,WAAW,IAAI,UAAU,IAAI,UAAU,IAAI,UAAU,IAAI,UAAU,IAAI,OAAO,CAAC,WAAW,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC;AACxI,QAAQ,MAAM,IAAI,UAAU,CAAC,eAAe,CAAC,CAAC;AAC9C,MAAM,IAAI,OAAO,CAAC;AAClB,MAAM,IAAI,YAAY,CAAC;AACvB,MAAM,KAAK,OAAO,GAAG,UAAU,IAAI,OAAO,EAAE,EAAE;AAC9C,QAAQ,MAAM,iBAAiB,GAAG,OAAO,CAAC,mBAAmB,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;AAChF,QAAQ,MAAM,QAAQ,GAAG,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC/D,QAAQ,IAAI,QAAQ,IAAI,iBAAiB,EAAE;AAC3C,UAAU,YAAY,GAAG,QAAQ,CAAC;AAClC,UAAU,MAAM;AAChB,SAAS;AACT,QAAQ,IAAI,OAAO,IAAI,UAAU;AACjC,UAAU,MAAM,IAAI,UAAU,CAAC,eAAe,CAAC,CAAC;AAChD,OAAO;AACP,MAAM,KAAK,MAAM,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;AACzF,QAAQ,IAAI,QAAQ,IAAI,YAAY,IAAI,OAAO,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC;AACxF,UAAU,GAAG,GAAG,MAAM,CAAC;AACvB,OAAO;AACP,MAAM,IAAI,EAAE,GAAG,EAAE,CAAC;AAClB,MAAM,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;AAC9B,QAAQ,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AAC7C,QAAQ,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;AACzE,QAAQ,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE;AACrC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACrB,OAAO;AACP,MAAM,MAAM,CAAC,EAAE,CAAC,MAAM,IAAI,YAAY,CAAC,CAAC;AACxC,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC,mBAAmB,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;AAC7E,MAAM,MAAM,CAAC,EAAE,CAAC,MAAM,IAAI,gBAAgB,CAAC,CAAC;AAC5C,MAAM,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,gBAAgB,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;AACnE,MAAM,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;AACjD,MAAM,MAAM,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AACjC,MAAM,KAAK,IAAI,OAAO,GAAG,GAAG,EAAE,EAAE,CAAC,MAAM,GAAG,gBAAgB,EAAE,OAAO,IAAI,GAAG,GAAG,EAAE;AAC/E,QAAQ,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AACnC,MAAM,IAAI,aAAa,GAAG,EAAE,CAAC;AAC7B,MAAM,OAAO,aAAa,CAAC,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM;AACjD,QAAQ,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC9B,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACvE,MAAM,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;AAC5D,KAAK;AACL,IAAI,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE;AACpB,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtF,KAAK;AACL,IAAI,UAAU,GAAG;AACjB,MAAM,OAAO,IAAI,CAAC,OAAO,CAAC;AAC1B,KAAK;AACL,IAAI,oBAAoB,GAAG;AAC3B,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;AAC1C,QAAQ,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AACjD,QAAQ,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AACjD,OAAO;AACP,MAAM,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACnC,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AAC/C,MAAM,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;AAC/C,MAAM,MAAM,WAAW,GAAG,IAAI,CAAC,4BAA4B,EAAE,CAAC;AAC9D,MAAM,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC;AAC1C,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE;AACzC,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE;AAC3C,UAAU,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,GAAG,CAAC,IAAI,CAAC,IAAI,QAAQ,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/F,YAAY,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;AACtE,SAAS;AACT,OAAO;AACP,MAAM,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;AAC7B,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;AACzB,KAAK;AACL,IAAI,cAAc,CAAC,IAAI,EAAE;AACzB,MAAM,MAAM,IAAI,GAAG,IAAI,CAAC,oBAAoB,CAAC,UAAU,IAAI,CAAC,GAAG,IAAI,CAAC;AACpE,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC;AACrB,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;AACjC,QAAQ,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,IAAI,CAAC;AAC5C,MAAM,MAAM,IAAI,GAAG,CAAC,IAAI,IAAI,EAAE,GAAG,GAAG,IAAI,KAAK,CAAC;AAC9C,MAAM,MAAM,CAAC,IAAI,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;AAC/B,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;AACjC,QAAQ,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACtD,MAAM,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACpD,MAAM,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACpD,MAAM,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACpD,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;AACjC,QAAQ,IAAI,CAAC,iBAAiB,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC3D,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;AAChC,QAAQ,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACtE,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;AACjC,QAAQ,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACvE,MAAM,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;AACrD,KAAK;AACL,IAAI,WAAW,GAAG;AAClB,MAAM,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC;AAC1B,QAAQ,OAAO;AACf,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC;AAC7B,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;AACjC,QAAQ,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,EAAE,IAAI,IAAI,CAAC;AAC7C,MAAM,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,GAAG,GAAG,CAAC;AAC5C,MAAM,MAAM,CAAC,IAAI,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;AAC/B,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;AACnC,QAAQ,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AACtC,QAAQ,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;AACzC,QAAQ,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACpC,QAAQ,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5C,QAAQ,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5C,OAAO;AACP,KAAK;AACL,IAAI,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE;AAC5B,MAAM,KAAK,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE;AACvC,QAAQ,KAAK,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE;AACzC,UAAU,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AAC5D,UAAU,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;AAC5B,UAAU,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;AAC5B,UAAU,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI;AACpE,YAAY,IAAI,CAAC,iBAAiB,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC;AACnE,SAAS;AACT,OAAO;AACP,KAAK;AACL,IAAI,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE;AAC/B,MAAM,KAAK,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE;AACvC,QAAQ,KAAK,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE;AACvC,UAAU,IAAI,CAAC,iBAAiB,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC5F,OAAO;AACP,KAAK;AACL,IAAI,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE;AACpC,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;AAClC,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;AACnC,KAAK;AACL,IAAI,mBAAmB,CAAC,IAAI,EAAE;AAC9B,MAAM,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC;AAC/B,MAAM,MAAM,GAAG,GAAG,IAAI,CAAC,oBAAoB,CAAC;AAC5C,MAAM,IAAI,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC;AAC9D,QAAQ,MAAM,IAAI,UAAU,CAAC,kBAAkB,CAAC,CAAC;AACjD,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC,2BAA2B,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC;AAC9E,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,uBAAuB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC;AAC5E,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAC7E,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,CAAC;AAClE,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC;AACjE,MAAM,IAAI,MAAM,GAAG,EAAE,CAAC;AACtB,MAAM,MAAM,KAAK,GAAG,OAAO,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAC;AACnE,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE;AACjD,QAAQ,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,aAAa,GAAG,WAAW,IAAI,CAAC,GAAG,cAAc,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAChG,QAAQ,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC;AACxB,QAAQ,MAAM,GAAG,GAAG,OAAO,CAAC,2BAA2B,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACpE,QAAQ,IAAI,CAAC,GAAG,cAAc;AAC9B,UAAU,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACtB,QAAQ,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AACrC,OAAO;AACP,MAAM,IAAI,MAAM,GAAG,EAAE,CAAC;AACtB,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACjD,QAAQ,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK;AACrC,UAAU,IAAI,CAAC,IAAI,aAAa,GAAG,WAAW,IAAI,CAAC,IAAI,cAAc;AACrE,YAAY,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,SAAS,CAAC,CAAC;AACX,OAAO;AACP,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,YAAY,CAAC,CAAC;AAC5C,MAAM,OAAO,MAAM,CAAC;AACpB,KAAK;AACL,IAAI,aAAa,CAAC,IAAI,EAAE;AACxB,MAAM,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AACnF,QAAQ,MAAM,IAAI,UAAU,CAAC,kBAAkB,CAAC,CAAC;AACjD,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC;AAChB,MAAM,KAAK,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE;AAC9D,QAAQ,IAAI,KAAK,IAAI,CAAC;AACtB,UAAU,KAAK,GAAG,CAAC,CAAC;AACpB,QAAQ,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;AACrD,UAAU,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AACtC,YAAY,MAAM,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;AAChC,YAAY,MAAM,MAAM,GAAG,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAChD,YAAY,MAAM,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAC3D,YAAY,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;AAC/D,cAAc,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACtE,cAAc,CAAC,EAAE,CAAC;AAClB,aAAa;AACb,WAAW;AACX,SAAS;AACT,OAAO;AACP,MAAM,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACnC,KAAK;AACL,IAAI,SAAS,CAAC,IAAI,EAAE;AACpB,MAAM,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC;AAC9B,QAAQ,MAAM,IAAI,UAAU,CAAC,yBAAyB,CAAC,CAAC;AACxD,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;AAC1C,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;AAC5C,UAAU,IAAI,MAAM,CAAC;AACrB,UAAU,QAAQ,IAAI;AACtB,YAAY,KAAK,CAAC;AAClB,cAAc,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxC,cAAc,MAAM;AACpB,YAAY,KAAK,CAAC;AAClB,cAAc,MAAM,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAClC,cAAc,MAAM;AACpB,YAAY,KAAK,CAAC;AAClB,cAAc,MAAM,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAClC,cAAc,MAAM;AACpB,YAAY,KAAK,CAAC;AAClB,cAAc,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxC,cAAc,MAAM;AACpB,YAAY,KAAK,CAAC;AAClB,cAAc,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxE,cAAc,MAAM;AACpB,YAAY,KAAK,CAAC;AAClB,cAAc,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAClD,cAAc,MAAM;AACpB,YAAY,KAAK,CAAC;AAClB,cAAc,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxD,cAAc,MAAM;AACpB,YAAY,KAAK,CAAC;AAClB,cAAc,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1D,cAAc,MAAM;AACpB,YAAY;AACZ,cAAc,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;AAC7C,WAAW;AACX,UAAU,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM;AAC9C,YAAY,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrD,SAAS;AACT,OAAO;AACP,KAAK;AACL,IAAI,eAAe,GAAG;AACtB,MAAM,IAAI,MAAM,GAAG,CAAC,CAAC;AACrB,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;AAC1C,QAAQ,IAAI,QAAQ,GAAG,KAAK,CAAC;AAC7B,QAAQ,IAAI,IAAI,GAAG,CAAC,CAAC;AACrB,QAAQ,IAAI,UAAU,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC/C,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;AAC5C,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE;AAC9C,YAAY,IAAI,EAAE,CAAC;AACnB,YAAY,IAAI,IAAI,IAAI,CAAC;AACzB,cAAc,MAAM,IAAI,OAAO,CAAC,UAAU,CAAC;AAC3C,iBAAiB,IAAI,IAAI,GAAG,CAAC;AAC7B,cAAc,MAAM,EAAE,CAAC;AACvB,WAAW,MAAM;AACjB,YAAY,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;AAC3D,YAAY,IAAI,CAAC,QAAQ;AACzB,cAAc,MAAM,IAAI,IAAI,CAAC,0BAA0B,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;AACzF,YAAY,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1C,YAAY,IAAI,GAAG,CAAC,CAAC;AACrB,WAAW;AACX,SAAS;AACT,QAAQ,MAAM,IAAI,IAAI,CAAC,8BAA8B,CAAC,QAAQ,EAAE,IAAI,EAAE,UAAU,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;AACvG,OAAO;AACP,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;AAC1C,QAAQ,IAAI,QAAQ,GAAG,KAAK,CAAC;AAC7B,QAAQ,IAAI,IAAI,GAAG,CAAC,CAAC;AACrB,QAAQ,IAAI,UAAU,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC/C,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;AAC5C,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE;AAC9C,YAAY,IAAI,EAAE,CAAC;AACnB,YAAY,IAAI,IAAI,IAAI,CAAC;AACzB,cAAc,MAAM,IAAI,OAAO,CAAC,UAAU,CAAC;AAC3C,iBAAiB,IAAI,IAAI,GAAG,CAAC;AAC7B,cAAc,MAAM,EAAE,CAAC;AACvB,WAAW,MAAM;AACjB,YAAY,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;AAC3D,YAAY,IAAI,CAAC,QAAQ;AACzB,cAAc,MAAM,IAAI,IAAI,CAAC,0BAA0B,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;AACzF,YAAY,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1C,YAAY,IAAI,GAAG,CAAC,CAAC;AACrB,WAAW;AACX,SAAS;AACT,QAAQ,MAAM,IAAI,IAAI,CAAC,8BAA8B,CAAC,QAAQ,EAAE,IAAI,EAAE,UAAU,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;AACvG,OAAO;AACP,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AAC9C,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AAChD,UAAU,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,UAAU,IAAI,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AACvH,YAAY,MAAM,IAAI,OAAO,CAAC,UAAU,CAAC;AACzC,SAAS;AACT,OAAO;AACP,MAAM,IAAI,IAAI,GAAG,CAAC,CAAC;AACnB,MAAM,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO;AACpC,QAAQ,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,KAAK,GAAG,IAAI,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AACvE,MAAM,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;AAC1C,MAAM,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,KAAK,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;AACxE,MAAM,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC/B,MAAM,MAAM,IAAI,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;AACvC,MAAM,MAAM,CAAC,CAAC,IAAI,MAAM,IAAI,MAAM,IAAI,OAAO,CAAC,CAAC;AAC/C,MAAM,OAAO,MAAM,CAAC;AACpB,KAAK;AACL,IAAI,4BAA4B,GAAG;AACnC,MAAM,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC;AAC3B,QAAQ,OAAO,EAAE,CAAC;AAClB,WAAW;AACX,QAAQ,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AAC1D,QAAQ,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAC1G,QAAQ,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;AACzB,QAAQ,KAAK,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,QAAQ,EAAE,GAAG,IAAI,IAAI;AAC3E,UAAU,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;AACnC,QAAQ,OAAO,MAAM,CAAC;AACtB,OAAO;AACP,KAAK;AACL,IAAI,OAAO,oBAAoB,CAAC,GAAG,EAAE;AACrC,MAAM,IAAI,GAAG,GAAG,OAAO,CAAC,WAAW,IAAI,GAAG,GAAG,OAAO,CAAC,WAAW;AAChE,QAAQ,MAAM,IAAI,UAAU,CAAC,6BAA6B,CAAC,CAAC;AAC5D,MAAM,IAAI,MAAM,GAAG,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,EAAE,CAAC;AAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE;AACpB,QAAQ,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AACjD,QAAQ,MAAM,IAAI,CAAC,EAAE,GAAG,QAAQ,GAAG,EAAE,IAAI,QAAQ,GAAG,EAAE,CAAC;AACvD,QAAQ,IAAI,GAAG,IAAI,CAAC;AACpB,UAAU,MAAM,IAAI,EAAE,CAAC;AACvB,OAAO;AACP,MAAM,MAAM,CAAC,GAAG,IAAI,MAAM,IAAI,MAAM,IAAI,KAAK,CAAC,CAAC;AAC/C,MAAM,OAAO,MAAM,CAAC;AACpB,KAAK;AACL,IAAI,OAAO,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE;AACzC,MAAM,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,uBAAuB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,2BAA2B,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC;AAC3K,KAAK;AACL,IAAI,OAAO,yBAAyB,CAAC,MAAM,EAAE;AAC7C,MAAM,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,GAAG,GAAG;AACpC,QAAQ,MAAM,IAAI,UAAU,CAAC,qBAAqB,CAAC,CAAC;AACpD,MAAM,IAAI,MAAM,GAAG,EAAE,CAAC;AACtB,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE;AACzC,QAAQ,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACvB,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACrB,MAAM,IAAI,IAAI,GAAG,CAAC,CAAC;AACnB,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;AACvC,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAChD,UAAU,MAAM,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AACnE,UAAU,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM;AACnC,YAAY,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACvC,SAAS;AACT,QAAQ,IAAI,GAAG,OAAO,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AACpD,OAAO;AACP,MAAM,OAAO,MAAM,CAAC;AACpB,KAAK;AACL,IAAI,OAAO,2BAA2B,CAAC,IAAI,EAAE,OAAO,EAAE;AACtD,MAAM,IAAI,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AACzC,MAAM,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE;AAC5B,QAAQ,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;AAC1C,QAAQ,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACvB,QAAQ,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;AAC7F,OAAO;AACP,MAAM,OAAO,MAAM,CAAC;AACpB,KAAK;AACL,IAAI,OAAO,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE;AACrC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;AACtC,QAAQ,MAAM,IAAI,UAAU,CAAC,mBAAmB,CAAC,CAAC;AAClD,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC;AAChB,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;AACnC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC;AACrC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC/B,OAAO;AACP,MAAM,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AAC3B,MAAM,OAAO,CAAC,CAAC;AACf,KAAK;AACL,IAAI,0BAA0B,CAAC,UAAU,EAAE;AAC3C,MAAM,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;AAC9B,MAAM,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;AACjC,MAAM,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACrH,MAAM,OAAO,CAAC,IAAI,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAC7I,KAAK;AACL,IAAI,8BAA8B,CAAC,eAAe,EAAE,gBAAgB,EAAE,UAAU,EAAE;AAClF,MAAM,IAAI,eAAe,EAAE;AAC3B,QAAQ,IAAI,CAAC,uBAAuB,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;AACnE,QAAQ,gBAAgB,GAAG,CAAC,CAAC;AAC7B,OAAO;AACP,MAAM,gBAAgB,IAAI,IAAI,CAAC,IAAI,CAAC;AACpC,MAAM,IAAI,CAAC,uBAAuB,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;AACjE,MAAM,OAAO,IAAI,CAAC,0BAA0B,CAAC,UAAU,CAAC,CAAC;AACzD,KAAK;AACL,IAAI,uBAAuB,CAAC,gBAAgB,EAAE,UAAU,EAAE;AAC1D,MAAM,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5B,QAAQ,gBAAgB,IAAI,IAAI,CAAC,IAAI,CAAC;AACtC,MAAM,UAAU,CAAC,GAAG,EAAE,CAAC;AACvB,MAAM,UAAU,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAC3C,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,IAAI,MAAM,GAAG,OAAO,CAAC;AACvB,EAAE,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC;AACzB,EAAE,MAAM,CAAC,WAAW,GAAG,EAAE,CAAC;AAC1B,EAAE,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC;AACxB,EAAE,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC;AACxB,EAAE,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC;AACzB,EAAE,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC;AACzB,EAAE,MAAM,CAAC,uBAAuB,GAAG;AACnC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AACvK,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AACxK,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AACxK,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EA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"}
|