Initial commit

This commit is contained in:
2025-03-07 19:22:02 +01:00
commit 4a98255d83
55743 changed files with 5280367 additions and 0 deletions
@@ -0,0 +1,21 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "InfoLabel", {
enumerable: true,
get: function() {
return InfoLabel;
}
});
const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
const _renderInfoLabel = require("./renderInfoLabel");
const _useInfoLabel = require("./useInfoLabel");
const _useInfoLabelStylesstyles = require("./useInfoLabelStyles.styles");
const InfoLabel = /*#__PURE__*/ _react.forwardRef((props, ref)=>{
const state = (0, _useInfoLabel.useInfoLabel_unstable)(props, ref);
(0, _useInfoLabelStylesstyles.useInfoLabelStyles_unstable)(state);
return (0, _renderInfoLabel.renderInfoLabel_unstable)(state);
});
InfoLabel.displayName = 'InfoLabel';
@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/InfoLabel/InfoLabel.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\nimport type { InfoLabelProps } from './InfoLabel.types';\nimport { renderInfoLabel_unstable } from './renderInfoLabel';\nimport { useInfoLabel_unstable } from './useInfoLabel';\nimport { useInfoLabelStyles_unstable } from './useInfoLabelStyles.styles';\n\n/**\n * InfoLabel component\n */\nexport const InfoLabel: ForwardRefComponent<InfoLabelProps> = React.forwardRef((props, ref) => {\n const state = useInfoLabel_unstable(props, ref);\n\n useInfoLabelStyles_unstable(state);\n return renderInfoLabel_unstable(state);\n});\n\nInfoLabel.displayName = 'InfoLabel';\n"],"names":["InfoLabel","React","forwardRef","props","ref","state","useInfoLabel_unstable","useInfoLabelStyles_unstable","renderInfoLabel_unstable","displayName"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAWaA;;;eAAAA;;;;iEAXU;iCAIkB;8BACH;0CACM;AAKrC,MAAMA,YAAAA,WAAAA,GAAiDC,OAAMC,UAAU,CAAC,CAACC,OAAOC;IACrF,MAAMC,QAAQC,IAAAA,mCAAAA,EAAsBH,OAAOC;IAE3CG,IAAAA,qDAAAA,EAA4BF;IAC5B,OAAOG,IAAAA,yCAAAA,EAAyBH;AAClC;AAEAL,UAAUS,WAAW,GAAG"}
@@ -0,0 +1,6 @@
/**
* State used in rendering InfoLabel
*/ "use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/InfoLabel/InfoLabel.types.ts"],"sourcesContent":["import { Label } from '@fluentui/react-label';\nimport type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\nimport { InfoButton } from '../InfoButton';\nimport type { InfoButtonProps } from '../InfoButton';\n\nexport type InfoLabelSlots = {\n root: NonNullable<Slot<'span'>>;\n\n /**\n * The Label component.\n *\n * It is not typically necessary to use this prop. The label text is the child of the `<InfoLabel>`, and other props\n * such as `size` and `required` should be set directly on the `InfoLabel`.\n *\n * This is the PRIMARY slot: all native properties specified directly on `<InfoLabel>` will be applied to this slot,\n * except `className` and `style`, which remain on the root slot.\n */\n label: NonNullable<Slot<typeof Label>>;\n\n /**\n * The InfoButton component.\n *\n * It is not typically necessary to use this prop. The content can be set using the `info` prop of the InfoLabel.\n */\n infoButton: Slot<typeof InfoButton>;\n};\n\n/**\n * InfoLabel Props\n */\nexport type InfoLabelProps = ComponentProps<Partial<InfoLabelSlots>, 'label'> & {\n /**\n * The content of the InfoButton's popover.\n */\n info?: InfoButtonProps['info'];\n};\n\n/**\n * State used in rendering InfoLabel\n */\nexport type InfoLabelState = ComponentState<InfoLabelSlots> & Pick<InfoLabelProps, 'size'>;\n"],"names":[],"rangeMappings":";;","mappings":"AAqCA;;CAEC"}
@@ -0,0 +1,31 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
function _export(target, all) {
for(var name in all)Object.defineProperty(target, name, {
enumerable: true,
get: all[name]
});
}
_export(exports, {
InfoLabel: function() {
return _InfoLabel.InfoLabel;
},
infoLabelClassNames: function() {
return _useInfoLabelStylesstyles.infoLabelClassNames;
},
renderInfoLabel_unstable: function() {
return _renderInfoLabel.renderInfoLabel_unstable;
},
useInfoLabelStyles_unstable: function() {
return _useInfoLabelStylesstyles.useInfoLabelStyles_unstable;
},
useInfoLabel_unstable: function() {
return _useInfoLabel.useInfoLabel_unstable;
}
});
const _InfoLabel = require("./InfoLabel");
const _renderInfoLabel = require("./renderInfoLabel");
const _useInfoLabel = require("./useInfoLabel");
const _useInfoLabelStylesstyles = require("./useInfoLabelStyles.styles");
@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/InfoLabel/index.ts"],"sourcesContent":["export { InfoLabel } from './InfoLabel';\nexport type { InfoLabelProps, InfoLabelSlots, InfoLabelState } from './InfoLabel.types';\nexport { renderInfoLabel_unstable } from './renderInfoLabel';\nexport { useInfoLabel_unstable } from './useInfoLabel';\nexport { infoLabelClassNames, useInfoLabelStyles_unstable } from './useInfoLabelStyles.styles';\n"],"names":["InfoLabel","infoLabelClassNames","renderInfoLabel_unstable","useInfoLabelStyles_unstable","useInfoLabel_unstable"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;;;;IAASA,SAAS;eAATA,oBAAS;;IAITC,mBAAmB;eAAnBA,6CAAmB;;IAFnBC,wBAAwB;eAAxBA,yCAAwB;;IAEHC,2BAA2B;eAA3BA,qDAA2B;;IADhDC,qBAAqB;eAArBA,mCAAqB;;;2BAHJ;iCAEe;8BACH;0CAC2B"}
@@ -0,0 +1,21 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "renderInfoLabel_unstable", {
enumerable: true,
get: function() {
return renderInfoLabel_unstable;
}
});
const _jsxruntime = require("@fluentui/react-jsx-runtime/jsx-runtime");
const _reactutilities = require("@fluentui/react-utilities");
const renderInfoLabel_unstable = (state)=>{
(0, _reactutilities.assertSlots)(state);
return /*#__PURE__*/ (0, _jsxruntime.jsxs)(state.root, {
children: [
/*#__PURE__*/ (0, _jsxruntime.jsx)(state.label, {}),
state.infoButton && /*#__PURE__*/ (0, _jsxruntime.jsx)(state.infoButton, {})
]
});
};
@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/InfoLabel/renderInfoLabel.tsx"],"sourcesContent":["/** @jsxRuntime automatic */\n/** @jsxImportSource @fluentui/react-jsx-runtime */\n\nimport { assertSlots } from '@fluentui/react-utilities';\nimport type { InfoLabelSlots, InfoLabelState } from './InfoLabel.types';\n\n/**\n * Render the final JSX of InfoLabel\n */\nexport const renderInfoLabel_unstable = (state: InfoLabelState) => {\n assertSlots<InfoLabelSlots>(state);\n\n return (\n <state.root>\n <state.label />\n {state.infoButton && <state.infoButton />}\n </state.root>\n );\n};\n"],"names":["renderInfoLabel_unstable","state","assertSlots","_jsxs","root","_jsx","label","infoButton"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BASaA;;;eAAAA;;;4BARb;gCAE4B;AAMrB,MAAMA,2BAA2B,CAACC;IACvCC,IAAAA,2BAAAA,EAA4BD;IAE5B,OAAA,WAAA,GACEE,IAAAA,gBAAA,EAACF,MAAMG,IAAI,EAAA;;0BACTC,IAAAA,eAAA,EAACJ,MAAMK,KAAK,EAAA,CAAA;YACXL,MAAMM,UAAU,IAAA,WAAA,GAAIF,IAAAA,eAAA,EAACJ,MAAMM,UAAU,EAAA,CAAA;;;AAG5C"}
@@ -0,0 +1,82 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "useInfoLabel_unstable", {
enumerable: true,
get: function() {
return useInfoLabel_unstable;
}
});
const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
const _reactlabel = require("@fluentui/react-label");
const _reactutilities = require("@fluentui/react-utilities");
const _InfoButton = require("../InfoButton/InfoButton");
const useInfoLabel_unstable = (props, ref)=>{
const { root: rootShorthand, label: labelShorthand, infoButton: infoButtonShorthand, info, size, className, style, ...labelProps } = props;
const baseId = (0, _reactutilities.useId)('infolabel-');
const [open, setOpen] = _react.useState(false);
const root = _reactutilities.slot.always(rootShorthand, {
defaultProps: {
className,
style
},
elementType: 'span'
});
const label = _reactutilities.slot.always(labelShorthand, {
defaultProps: {
id: baseId + '__label',
ref,
size,
...labelProps
},
elementType: _reactlabel.Label
});
const infoButton = _reactutilities.slot.optional(infoButtonShorthand, {
renderByDefault: !!info,
defaultProps: {
id: baseId + '__infoButton',
size,
info
},
elementType: _InfoButton.InfoButton
});
const infoButtonPopover = _reactutilities.slot.always(infoButton === null || infoButton === void 0 ? void 0 : infoButton.popover, {
elementType: 'div'
});
infoButtonPopover.onOpenChange = (0, _reactutilities.useEventCallback)((0, _reactutilities.mergeCallbacks)(infoButtonPopover.onOpenChange, (e, data)=>{
setOpen(data.open);
}));
if (infoButton) {
var _infoButton, _arialabelledby;
infoButton.popover = infoButtonPopover;
const infoPopupId = baseId + '__info'; // used as a self-referencing aria-labelledby to name the popup
infoButton.info = _reactutilities.slot.optional(infoButton === null || infoButton === void 0 ? void 0 : infoButton.info, {
defaultProps: {
id: infoPopupId,
'aria-labelledby': infoPopupId
},
elementType: 'div'
});
var _;
(_ = (_infoButton = infoButton)[_arialabelledby = 'aria-labelledby']) !== null && _ !== void 0 ? _ : _infoButton[_arialabelledby] = `${label.id} ${infoButton.id}`;
if (open) {
var _infoButton_info;
var _root, _ariaowns;
var _1;
(_1 = (_root = root)[_ariaowns = 'aria-owns']) !== null && _1 !== void 0 ? _1 : _root[_ariaowns] = (_infoButton_info = infoButton.info) === null || _infoButton_info === void 0 ? void 0 : _infoButton_info.id;
}
}
return {
size,
components: {
root: 'span',
label: _reactlabel.Label,
infoButton: _InfoButton.InfoButton
},
root,
label,
infoButton
};
};
@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/InfoLabel/useInfoLabel.ts"],"sourcesContent":["import * as React from 'react';\n\nimport { Label } from '@fluentui/react-label';\nimport { mergeCallbacks, useEventCallback, useId, slot } from '@fluentui/react-utilities';\nimport { InfoButton } from '../InfoButton/InfoButton';\nimport type { InfoLabelProps, InfoLabelState } from './InfoLabel.types';\n\n/**\n * Create the state required to render InfoLabel.\n *\n * The returned state can be modified with hooks such as useInfoLabelStyles_unstable,\n * before being passed to renderInfoLabel_unstable.\n *\n * @param props - props from this instance of InfoLabel\n * @param ref - reference to label element of InfoLabel\n */\nexport const useInfoLabel_unstable = (props: InfoLabelProps, ref: React.Ref<HTMLLabelElement>): InfoLabelState => {\n const {\n root: rootShorthand,\n label: labelShorthand,\n infoButton: infoButtonShorthand,\n info,\n size,\n className,\n style,\n ...labelProps\n } = props;\n const baseId = useId('infolabel-');\n const [open, setOpen] = React.useState(false);\n\n const root = slot.always(rootShorthand, {\n defaultProps: {\n className,\n style,\n },\n elementType: 'span',\n });\n\n const label = slot.always(labelShorthand, {\n defaultProps: {\n id: baseId + '__label',\n ref,\n size,\n ...labelProps,\n },\n elementType: Label,\n });\n\n const infoButton = slot.optional(infoButtonShorthand, {\n renderByDefault: !!info,\n defaultProps: {\n id: baseId + '__infoButton',\n size,\n info,\n },\n elementType: InfoButton,\n });\n\n const infoButtonPopover = slot.always(infoButton?.popover, {\n elementType: 'div',\n });\n infoButtonPopover.onOpenChange = useEventCallback(\n mergeCallbacks(infoButtonPopover.onOpenChange, (e, data) => {\n setOpen(data.open);\n }),\n );\n\n if (infoButton) {\n infoButton.popover = infoButtonPopover;\n const infoPopupId = baseId + '__info'; // used as a self-referencing aria-labelledby to name the popup\n infoButton.info = slot.optional(infoButton?.info, {\n defaultProps: {\n id: infoPopupId,\n 'aria-labelledby': infoPopupId,\n },\n elementType: 'div',\n });\n\n infoButton['aria-labelledby'] ??= `${label.id} ${infoButton.id}`;\n\n if (open) {\n root['aria-owns'] ??= infoButton.info?.id;\n }\n }\n\n return {\n size,\n components: {\n root: 'span',\n label: Label,\n infoButton: InfoButton,\n },\n root,\n label,\n infoButton,\n };\n};\n"],"names":["useInfoLabel_unstable","props","ref","root","rootShorthand","label","labelShorthand","infoButton","infoButtonShorthand","info","size","className","style","labelProps","baseId","useId","open","setOpen","React","useState","slot","always","defaultProps","elementType","id","Label","optional","renderByDefault","InfoButton","infoButtonPopover","popover","onOpenChange","useEventCallback","mergeCallbacks","e","data","_arialabelledby","infoPopupId","_","_ariaowns","_1","components"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAgBaA;;;eAAAA;;;;iEAhBU;4BAED;gCACwC;4BACnC;AAYpB,MAAMA,wBAAwB,CAACC,OAAuBC;IAC3D,MAAM,EACJC,MAAMC,aAAa,EACnBC,OAAOC,cAAc,EACrBC,YAAYC,mBAAmB,EAC/BC,IAAI,EACJC,IAAI,EACJC,SAAS,EACTC,KAAK,EACL,GAAGC,YACJ,GAAGZ;IACJ,MAAMa,SAASC,IAAAA,qBAAAA,EAAM;IACrB,MAAM,CAACC,MAAMC,QAAQ,GAAGC,OAAMC,QAAQ,CAAC;IAEvC,MAAMhB,OAAOiB,oBAAAA,CAAKC,MAAM,CAACjB,eAAe;QACtCkB,cAAc;YACZX;YACAC;QACF;QACAW,aAAa;IACf;IAEA,MAAMlB,QAAQe,oBAAAA,CAAKC,MAAM,CAACf,gBAAgB;QACxCgB,cAAc;YACZE,IAAIV,SAAS;YACbZ;YACAQ;YACA,GAAGG,UAAU;QACf;QACAU,aAAaE,iBAAAA;IACf;IAEA,MAAMlB,aAAaa,oBAAAA,CAAKM,QAAQ,CAAClB,qBAAqB;QACpDmB,iBAAiB,CAAC,CAAClB;QACnBa,cAAc;YACZE,IAAIV,SAAS;YACbJ;YACAD;QACF;QACAc,aAAaK,sBAAAA;IACf;IAEA,MAAMC,oBAAoBT,oBAAAA,CAAKC,MAAM,CAACd,eAAAA,QAAAA,eAAAA,KAAAA,IAAAA,KAAAA,IAAAA,WAAYuB,OAAO,EAAE;QACzDP,aAAa;IACf;IACAM,kBAAkBE,YAAY,GAAGC,IAAAA,gCAAAA,EAC/BC,IAAAA,8BAAAA,EAAeJ,kBAAkBE,YAAY,EAAE,CAACG,GAAGC;QACjDlB,QAAQkB,KAAKnB,IAAI;IACnB;IAGF,IAAIT,YAAY;YAWdA,aAAW6B;QAVX7B,WAAWuB,OAAO,GAAGD;QACrB,MAAMQ,cAAcvB,SAAS,UAAU,+DAA+D;QACtGP,WAAWE,IAAI,GAAGW,oBAAAA,CAAKM,QAAQ,CAACnB,eAAAA,QAAAA,eAAAA,KAAAA,IAAAA,KAAAA,IAAAA,WAAYE,IAAI,EAAE;YAChDa,cAAc;gBACZE,IAAIa;gBACJ,mBAAmBA;YACrB;YACAd,aAAa;QACf;;QAEAhB,CAAAA,IAAAA,CAAAA,cAAAA,UAAAA,CAAU,CAAC6B,kBAAA,kBAAkB,AAAlB,MAAkB,QAAAE,MAAA,KAAA,IAAAA,IAA7B/B,WAAU,CAAC6B,gBAAkB,GAAK,CAAC,EAAE/B,MAAMmB,EAAE,CAAC,CAAC,EAAEjB,WAAWiB,EAAE,CAAC,CAAC;QAEhE,IAAIR,MAAM;gBACcT;gBAAtBJ,OAAKoC;;YAALpC,CAAAA,KAAAA,CAAAA,QAAAA,IAAAA,CAAI,CAACoC,YAAA,YAAY,AAAZ,MAAY,QAAAC,OAAA,KAAA,IAAAA,KAAjBrC,KAAI,CAACoC,UAAY,GAAA,AAAKhC,CAAAA,mBAAAA,WAAWE,IAAI,AAAJA,MAAI,QAAfF,qBAAAA,KAAAA,IAAAA,KAAAA,IAAAA,iBAAiBiB,EAAE;QAC3C;IACF;IAEA,OAAO;QACLd;QACA+B,YAAY;YACVtC,MAAM;YACNE,OAAOoB,iBAAAA;YACPlB,YAAYqB,sBAAAA;QACd;QACAzB;QACAE;QACAE;IACF;AACF"}
@@ -0,0 +1,67 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
function _export(target, all) {
for(var name in all)Object.defineProperty(target, name, {
enumerable: true,
get: all[name]
});
}
_export(exports, {
infoLabelClassNames: function() {
return infoLabelClassNames;
},
useInfoLabelStyles_unstable: function() {
return useInfoLabelStyles_unstable;
}
});
const _react = require("@griffel/react");
const infoLabelClassNames = {
root: 'fui-InfoLabel',
label: 'fui-InfoLabel__label',
infoButton: 'fui-InfoLabel__infoButton'
};
const useLabelStyles = /*#__PURE__*/ (0, _react.__styles)({
base: {
ha4doy: "f12kltsn",
Bceei9c: "fpo1scq",
sj55zd: "f1ym3bx4"
}
}, {
d: [
".f12kltsn{vertical-align:top;}",
".fpo1scq{cursor:inherit;}",
".f1ym3bx4{color:inherit;}"
]
});
const useInfoButtonStyles = /*#__PURE__*/ (0, _react.__styles)({
base: {
ha4doy: "f12kltsn",
B6of3ja: "f1bmzb36",
jrapky: "f1nyzk09"
},
large: {
B6of3ja: "fkrn0sh",
jrapky: "fmxx68s"
}
}, {
d: [
".f12kltsn{vertical-align:top;}",
".f1bmzb36{margin-top:calc(0px - var(--spacingVerticalXXS));}",
".f1nyzk09{margin-bottom:calc(0px - var(--spacingVerticalXXS));}",
".fkrn0sh{margin-top:-1px;}",
".fmxx68s{margin-bottom:-1px;}"
]
});
const useInfoLabelStyles_unstable = (state)=>{
'use no memo';
state.root.className = (0, _react.mergeClasses)(infoLabelClassNames.root, state.root.className);
const labelStyles = useLabelStyles();
state.label.className = (0, _react.mergeClasses)(infoLabelClassNames.label, labelStyles.base, state.label.className);
const infoButtonStyles = useInfoButtonStyles();
if (state.infoButton) {
state.infoButton.className = (0, _react.mergeClasses)(infoLabelClassNames.infoButton, infoButtonStyles.base, state.size === 'large' && infoButtonStyles.large, state.infoButton.className);
}
return state;
};
@@ -0,0 +1 @@
{"version":3,"sources":["useInfoLabelStyles.styles.js"],"sourcesContent":["import { tokens } from '@fluentui/react-theme';\nimport { makeStyles, mergeClasses } from '@griffel/react';\nexport const infoLabelClassNames = {\n root: 'fui-InfoLabel',\n label: 'fui-InfoLabel__label',\n infoButton: 'fui-InfoLabel__infoButton'\n};\nconst useLabelStyles = makeStyles({\n base: {\n verticalAlign: 'top',\n cursor: 'inherit',\n color: 'inherit'\n }\n});\nconst useInfoButtonStyles = makeStyles({\n base: {\n verticalAlign: 'top',\n // Negative margin to align with the text\n marginTop: `calc(0px - ${tokens.spacingVerticalXXS})`,\n marginBottom: `calc(0px - ${tokens.spacingVerticalXXS})`\n },\n large: {\n // Negative margin to align with the text\n marginTop: '-1px',\n marginBottom: '-1px'\n }\n});\n/**\n * Apply styling to the InfoLabel slots based on the state\n */ export const useInfoLabelStyles_unstable = (state)=>{\n 'use no memo';\n state.root.className = mergeClasses(infoLabelClassNames.root, state.root.className);\n const labelStyles = useLabelStyles();\n state.label.className = mergeClasses(infoLabelClassNames.label, labelStyles.base, state.label.className);\n const infoButtonStyles = useInfoButtonStyles();\n if (state.infoButton) {\n state.infoButton.className = mergeClasses(infoLabelClassNames.infoButton, infoButtonStyles.base, state.size === 'large' && infoButtonStyles.large, state.infoButton.className);\n }\n return state;\n};\n"],"names":["infoLabelClassNames","useInfoLabelStyles_unstable","root","label","infoButton","useLabelStyles","__styles","base","ha4doy","Bceei9c","sj55zd","d","useInfoButtonStyles","B6of3ja","jrapky","large","state","className","mergeClasses","labelStyles","infoButtonStyles","size"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;;;;IAEaA,mBAAmB;eAAnBA;;IA2BIC,2BAA2B;eAA3BA;;;uBA5BwB;AAClC,MAAMD,sBAAsB;IAC/BE,MAAM;IACNC,OAAO;IACPC,YAAY;AAChB;AACA,MAAMC,iBAAc,WAAA,GAAGC,IAAAA,eAAA,EAAA;IAAAC,MAAA;QAAAC,QAAA;QAAAC,SAAA;QAAAC,QAAA;IAAA;AAAA,GAAA;IAAAC,GAAA;QAAA;QAAA;QAAA;KAAA;AAAA;AAOvB,MAAMC,sBAAmB,WAAA,GAAGN,IAAAA,eAAA,EAAA;IAAAC,MAAA;QAAAC,QAAA;QAAAK,SAAA;QAAAC,QAAA;IAAA;IAAAC,OAAA;QAAAF,SAAA;QAAAC,QAAA;IAAA;AAAA,GAAA;IAAAH,GAAA;QAAA;QAAA;QAAA;QAAA;QAAA;KAAA;AAAA;AAejB,MAAMV,8BAA+Be,CAAAA;IAC5C;IACAA,MAAMd,IAAI,CAACe,SAAS,GAAGC,IAAAA,mBAAY,EAAClB,oBAAoBE,IAAI,EAAEc,MAAMd,IAAI,CAACe,SAAS;IAClF,MAAME,cAAcd;IACpBW,MAAMb,KAAK,CAACc,SAAS,GAAGC,IAAAA,mBAAY,EAAClB,oBAAoBG,KAAK,EAAEgB,YAAYZ,IAAI,EAAES,MAAMb,KAAK,CAACc,SAAS;IACvG,MAAMG,mBAAmBR;IACzB,IAAII,MAAMZ,UAAU,EAAE;QAClBY,MAAMZ,UAAU,CAACa,SAAS,GAAGC,IAAAA,mBAAY,EAAClB,oBAAoBI,UAAU,EAAEgB,iBAAiBb,IAAI,EAAES,MAAMK,IAAI,KAAK,WAAWD,iBAAiBL,KAAK,EAAEC,MAAMZ,UAAU,CAACa,SAAS;IACjL;IACA,OAAOD;AACX"}