@jcdecor/ui 0.1.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/README.md +83 -0
- package/dist/brand/Brand.d.ts +93 -0
- package/dist/brand/index.d.ts +2 -0
- package/dist/brand/paths.d.ts +43 -0
- package/dist/brand-CXtAwb1A.js +248 -0
- package/dist/brand-CXtAwb1A.js.map +1 -0
- package/dist/brand.d.ts +1 -0
- package/dist/brand.js +3 -0
- package/dist/charts/ChartCard.d.ts +20 -0
- package/dist/charts/charts.d.ts +36 -0
- package/dist/charts/index.d.ts +5 -0
- package/dist/charts/palette.d.ts +12 -0
- package/dist/charts.d.ts +1 -0
- package/dist/charts.js +151 -0
- package/dist/charts.js.map +1 -0
- package/dist/chat/ChatComposer.d.ts +27 -0
- package/dist/chat/ChatLayout.d.ts +36 -0
- package/dist/chat/ChatMessage.d.ts +25 -0
- package/dist/chat/ChatThread.d.ts +25 -0
- package/dist/chat/ConversationList.d.ts +16 -0
- package/dist/chat/TypingIndicator.d.ts +10 -0
- package/dist/chat/index.d.ts +9 -0
- package/dist/chat/types.d.ts +38 -0
- package/dist/chat/utils.d.ts +25 -0
- package/dist/chat.d.ts +1 -0
- package/dist/chat.js +541 -0
- package/dist/chat.js.map +1 -0
- package/dist/colors-C_5SHERN.js +33 -0
- package/dist/colors-C_5SHERN.js.map +1 -0
- package/dist/components/ContentCard/ContentCard.d.ts +25 -0
- package/dist/components/ContentCard/index.d.ts +1 -0
- package/dist/components/CouponCode/CouponCode.d.ts +14 -0
- package/dist/components/CouponCode/index.d.ts +1 -0
- package/dist/components/DataTable/DataTable.d.ts +52 -0
- package/dist/components/DataTable/index.d.ts +1 -0
- package/dist/components/KpiCard/KpiCard.d.ts +48 -0
- package/dist/components/KpiCard/index.d.ts +1 -0
- package/dist/components/PageHeader/PageHeader.d.ts +22 -0
- package/dist/components/PageHeader/index.d.ts +1 -0
- package/dist/components/PriceTag/PriceTag.d.ts +22 -0
- package/dist/components/PriceTag/index.d.ts +1 -0
- package/dist/components/ProductCard/ProductCard.d.ts +39 -0
- package/dist/components/ProductCard/index.d.ts +1 -0
- package/dist/components/PromoBanner/PromoBanner.d.ts +35 -0
- package/dist/components/PromoBanner/index.d.ts +1 -0
- package/dist/components/Tag/Tag.d.ts +16 -0
- package/dist/components/Tag/index.d.ts +1 -0
- package/dist/components/ThemeToggle/ThemeToggle.d.ts +11 -0
- package/dist/components/ThemeToggle/index.d.ts +1 -0
- package/dist/components/TokenSwatch/TokenSwatch.d.ts +26 -0
- package/dist/components/TokenSwatch/index.d.ts +1 -0
- package/dist/components/TopNav/TopNav.d.ts +32 -0
- package/dist/components/TopNav/index.d.ts +1 -0
- package/dist/components/Typography/Typography.d.ts +74 -0
- package/dist/components/Typography/index.d.ts +1 -0
- package/dist/components/index.d.ts +13 -0
- package/dist/format-Cxmo46_A.js +97 -0
- package/dist/format-Cxmo46_A.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.js +1868 -0
- package/dist/index.js.map +1 -0
- package/dist/provider/JcProvider.d.ts +18 -0
- package/dist/styles.css +2 -0
- package/dist/theme/colors.d.ts +26 -0
- package/dist/theme/components/buttons.d.ts +2 -0
- package/dist/theme/components/combobox.d.ts +2 -0
- package/dist/theme/components/dataDisplay.d.ts +2 -0
- package/dist/theme/components/feedback.d.ts +2 -0
- package/dist/theme/components/index.d.ts +3 -0
- package/dist/theme/components/inputs.d.ts +2 -0
- package/dist/theme/components/layout.d.ts +2 -0
- package/dist/theme/components/misc.d.ts +2 -0
- package/dist/theme/components/navigation.d.ts +2 -0
- package/dist/theme/components/overlays.d.ts +2 -0
- package/dist/theme/components/typography.d.ts +2 -0
- package/dist/theme/controls.d.ts +44 -0
- package/dist/theme/cssVariablesResolver.d.ts +2 -0
- package/dist/theme/theme.d.ts +147 -0
- package/dist/theme/tokens.d.ts +457 -0
- package/dist/theme/variantColorResolver.d.ts +9 -0
- package/dist/tokens-BBTJY6nq.js +316 -0
- package/dist/tokens-BBTJY6nq.js.map +1 -0
- package/dist/tokens.d.ts +2 -0
- package/dist/tokens.js +4 -0
- package/dist/utils/format.d.ts +14 -0
- package/package.json +105 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"brand-CXtAwb1A.js","names":["classes","logoPaths","altLogoPaths","spartanPaths","greekFramePaths","\"cx\"","\"cy\"","\"rx\"","\"ry\"","collaboratorPaths","Brand_module_default","useColor","theme","useMantineTheme","value","fallback","getThemeColor","toCss","v","Svg","others","Box","title","className","size","children","LOGO_DEFAULTS","JcLogo","resolve","d","variant","shield","shieldColor","color","letters","lettersColor","wordmark","wordmarkColor","type","p","i","ALT_DEFAULTS","JcLogoAlt","stroke","strokeColor","SpartanHelmet","faceColor","crestColor","GreekFrame","c","inner","outer","svg","fill","style","Collaborator","base","headColor","bodyColor"],"sources":["../src/brand/paths.ts","../src/brand/Brand.module.css","../src/brand/Brand.tsx"],"sourcesContent":["/* eslint-disable */\n// Gerado a partir dos SVGs da marca (otimizados com SVGO, precisão 2). Não editar à mão.\n\n/** Logo JC Decor — viewBox 0 0 110 47. */\nexport const logoPaths = {\n viewBox: { full: \"0 0 110 47\", mark: \"-0.5 -0.5 39.5 47.75\", wordmark: \"45.27 14.65 65.23 17.42\" },\n wordmark: [\"M45.77 31.57V15.15h4.57q4.9 0 7.34 2.1t2.43 6c0 2.63-.8 4.79-2.38 6.2q-2.38 2.12-6.93 2.12zm2.86-2.46h2.32q2.97 0 4.55-1.49 1.59-1.49 1.59-4.37c0-1.92-.54-3.23-1.6-4.19q-1.6-1.45-4.9-1.45h-1.96z\", \"M68.8 31.57q-2.92 0-4.6-1.67a6 6 0 0 1-1.68-4.36 6.6 6.6 0 0 1 1.55-4.25 5 5 0 0 1 1.87-1.35q1.12-.5 2.5-.5 1.36 0 2.4.48 1.02.48 1.61 1.33.6.84.89 1.9.28 1.08.28 2.35 0 .33-.05.5h-8.1q.07 1.7 1.03 2.5.96.82 2.56.82 1.86 0 3.64-1.24l.75 2.03q-1.08.75-2.2 1.1-1.1.36-2.45.36m-3.3-7.43h5.74a3.2 3.2 0 0 0-.91-1.88 2.5 2.5 0 0 0-1.74-.66q-1.2 0-2 .68-.82.68-1.09 1.86\", \"M82.11 31.57a7 7 0 0 1-2.57-.5 5 5 0 0 1-1.9-1.34q-.75-.84-1.15-1.93a7 7 0 0 1-.4-2.28q0-1.72.7-3.09a5.3 5.3 0 0 1 2.08-2.17q1.38-.8 3.2-.8 2.73-.01 4.2 1.55l-1 1.8a4.2 4.2 0 0 0-2.9-1.1q-1.64 0-2.52 1.03-.87 1.04-.88 2.79c0 1.17.31 2.05.94 2.74q.93 1.05 2.55 1.05a4.5 4.5 0 0 0 1.87-.43l.26-.14a3 3 0 0 0 .44-.29l.32-.24.84 2.06a7 7 0 0 1-1.93.98q-.97.3-2.15.31\", \"M94.2 31.57q-1.5 0-2.69-.49a5 5 0 0 1-1.9-1.33 6 6 0 0 1-1.1-1.92 7 7 0 0 1 0-4.65 6 6 0 0 1 1.12-1.92q.75-.84 1.91-1.33a7 7 0 0 1 2.65-.48q1.5 0 2.68.48 1.17.48 1.88 1.32.71.83 1.06 1.92a7.7 7.7 0 0 1-.01 4.65 6 6 0 0 1-1.09 1.9 5 5 0 0 1-1.88 1.35q-1.16.5-2.62.5m-.06-2.25q.83 0 1.44-.32.62-.3.97-.85.36-.55.53-1.22t.17-1.44q0-1.65-.78-2.72-.78-1.05-2.32-1.06-1.05 0-1.77.53-.72.52-1.04 1.35a5 5 0 0 0-.32 1.9q0 1.05.3 1.88.3.84 1.02 1.39t1.8.55\", \"M103.2 31.57v-8.64a20 20 0 0 0-.17-2.53l-.05-.4h2.97v1.52q.68-.9 1.37-1.36.67-.45 1.53-.45.5 0 1.15.17v2.44q-.75-.24-1.4-.24-1.16 0-1.89.75-.72.75-.73 2.19v6.55z\"],\n letters: [\"m16.54 30.06.03.18zm.05.3.01.09zm.2-4.49.1-.32zm2.13-3.49\", \"M21.43 13.64c0 .26-.2.49-.46.53l-.41.06a4 4 0 0 0-.85.28c-.25.12-.39.22-.56.5-.15.2-.22.5-.22.8v6.26q-.08.04-.72.77c-.23.29-.49.6-.83 1.14a7 7 0 0 0-.86 1.96 14 14 0 0 0-.34 2.46 9 9 0 0 0 .24 2.17q-.82.56-1.78.86-1.22.4-2.6.4c-1.6 0-2.93-.34-3.86-1.16-.35-.31-1.05-1.08-1.12-1.51-.08-.55.54-1 1.14-.41.22.2.6.74.95 1.05.52.45.65.51.9.63.26.12.77.17 1.03.17q1.55 0 2.42-1.1c.59-.74 1.03-2.3 1.03-3.78l-.02-9.88a1.4 1.4 0 0 0-1.04-1.33 7 7 0 0 0-.84-.24q-.25-.04-.47-.1c-.25-.06-.44-.26-.44-.53a.54.54 0 0 1 .54-.54h8.63c.3 0 .54.24.54.54\", \"m16.54 30.07.03.17zm.01-3.2\", \"M31.15 32.53q-.41.79-.92 1.42-.6.76-1.38 1.3a7.2 7.2 0 0 1-4.36 1.28q-1.7 0-3.18-.55a7.3 7.3 0 0 1-4.28-4.14 8 8 0 0 1-.45-1.53l-.01-.07-.03-.17-.01-.07-.02-.14-.02-.18-.02-.1-.01-.15v-.01l-.01-.1-.01-.2a10 10 0 0 1 .11-2.26l.03-.13q.06-.38.17-.74l.04-.12.1-.32a10 10 0 0 1 .41-.96q.14-.27.33-.54.4-.57.76-1.01l.5-.63.02-.02.01-.01a8 8 0 0 1 2.54-1.59 9 9 0 0 1 5.68-.29c.58.18 1.36.68 1.89 1.05.14.1.34.03.38-.14l.1-.42a.5.5 0 0 1 .48-.38h.07a.5.5 0 0 1 .5.49l.08 4.84c0 .18-.14.33-.32.33a.3.3 0 0 1-.31-.22 10 10 0 0 0-2.28-3.59 3.7 3.7 0 0 0-2.79-1.21q-2.04 0-3.1 1.8-1.07 1.81-1.07 5.09 0 1.84.36 3.15t.95 2.1q.63.84 1.5 1.23.85.38 1.9.38c1.01 0 2.06-.2 2.79-.67a6.6 6.6 0 0 0 2.22-2.2c.11-.15.32-.2.48-.1l.04.03c.17.1.22.3.13.47\", \"m20.51 45.82-1.25.93 1.26-.92z\", \"m18 45.82 1.26.93z\", \"m18 45.82 1.26.93-1.6-1.18z\", \"m21.95 44.78-1.43 1.05-1.26.92a70 70 0 0 1 2.69-1.97\"],\n shield: \"M37.84 31.53c-.94-1.44-2.37-3.62-2.37-8.23a27 27 0 0 1 2.92-11.92l.03-.06a.94.94 0 0 0-.23-1.12l-6-5.14a.8.8 0 0 0-1.18.16c-1.32 2.01-3.3 4.27-4.52 4.5-.25.05-.38-.01-.47-.08-.46-.32-.92-1.4 1.2-4.87l.13-.23c.25-.43.95-1.74.98-1.8l.1-.17V0H10.08v2.57l.09.17c.03.06.73 1.37.98 1.8l.14.23c2.11 3.48 1.65 4.55 1.2 4.87-.1.07-.23.13-.48.08-1.22-.23-3.2-2.49-4.52-4.5a.8.8 0 0 0-1.18-.16l-6 5.14a.94.94 0 0 0-.22 1.12l.03.06c2.4 4.9 2.91 9.19 2.91 11.92 0 4.61-1.42 6.79-2.37 8.23l-.4.62c-.29.5-.23 1.11.15 1.54l5.7 6.41c.24.28.59.44.95.46 1 .04 3.41.54 4.55 1.12a49 49 0 0 1 5.89 3.75l.16.12.33.24 1.26.93a70 70 0 0 1 2.69-1.96l.03-.02.36-.26.61-.42a51 51 0 0 1 2.74-1.73q.63-.36 1.2-.65a15 15 0 0 1 4.55-1.12c.37-.02.72-.18.96-.46l5.7-6.4a1.3 1.3 0 0 0 .14-1.55zm-6.52 7.53c-1.18.06-3.75.6-5.1 1.27a46 46 0 0 0-5.17 3.22q-1.01.71-1.8 1.3a55 55 0 0 0-6.96-4.52 17 17 0 0 0-5.1-1.27L1.65 32.8l.29-.45c.97-1.5 2.61-3.99 2.61-9.05 0-2.83-.5-7.22-2.9-12.24L6.7 6.7c2.63 3.77 4.51 4.4 5.05 4.5q.91.15 1.61-.34c2.38-1.69 0-5.6-.78-6.88l-.12-.2-.87-1.6v-.7h15.33v.7L25.93 4c-.78 1.28-3.15 5.2-.78 6.88q.7.5 1.62.33c1.89-.35 4-3.02 5.05-4.49l5.06 4.35a29 29 0 0 0-2.9 12.24c0 5.06 1.63 7.56 2.6 9.05l.3.45z\",\n};\n\n/** Brasão JC (logo alternativo). `outline` = contorno externo (fundo das letras vazadas). */\nexport const altLogoPaths = { viewBox: \"0 0 40.23 48.19\", shape: \"M20.16.34H10.4c.46 2.5 2.7 8.4 1.46 9.63-1.14 1.13-1.95.6-5.4-3.67l-.72-.89C4.5 6.75 3.61 7.58 2.58 8.71L.4 11.05l1.22 2.65c2.82 6.12 2.88 12.28.18 18.79-.68 1.64-.71 2.02-.2 2.8 1.5 2.33 5.05 6.96 5.37 7.04a39 39 0 0 0 3.06.17c4.3.14 6.53 1.08 8.82 3.73l1.26 1.46.03-.03 1.25-1.46c2.28-2.65 4.5-3.58 8.81-3.72 1.48-.05 2.86-.13 3.07-.18.32-.07 3.86-4.7 5.37-7.03.5-.78.48-1.17-.2-2.81-2.7-6.51-2.65-12.66.17-18.8l1.23-2.64-2.19-2.36c-1.03-1.12-1.9-1.94-3.16-3.29l-.71.9c-3.45 4.26-4.27 4.79-5.4 3.66-1.24-1.23 1-7.1 1.45-9.6zm-.02 13.65c1.35-.02 2.4 0 2.59.09.61.24.24.67-.7.8-1.17.16-1.53.73-1.64 2.64l-.09 1.53 1.01-.16c2.1-.34 4.62-.19 6.35.36 1.67.55 2.6.5 2.6-.14 0-.47.73-.75.9-.35.3.77.16 6.32-.18 6.38-.22.04-.47-.28-.89-1.15-1.88-3.94-6.75-5.77-9-3.37l-.46.47-.1 4.52-.08 4.52-.52.91c-.58 1.05-.63 1.75-.17 2.87 1.73 4.26 6.49 4.82 10.34 1.23 1.1-1.03 1.23-1.11 1.56-.87 1.03.75-2.44 3.75-5.18 4.48-1.25.33-4.06.32-5.33-.02a9.6 9.6 0 0 1-5.3-3.63l-.64-.94h-1.54c-4.17-.01-6.79-3-4.53-5.16 1.75-1.68 4.63.28 3.45 2.35-.61 1.08-.25 1.87.86 1.87 1 0 1.17-.3.78-1.52-.57-1.82-.43-4.19.38-6.64L15.3 23v-2.97c0-4.21-.25-4.84-2.05-5.08-.82-.1-1-.23-.78-.56.11-.19 4.65-.37 7.67-.4z\", outline: \"M20.16.34H10.4c.46 2.5 2.7 8.4 1.46 9.63-1.14 1.13-1.95.6-5.4-3.67l-.72-.89C4.5 6.75 3.61 7.58 2.58 8.71L.4 11.05l1.22 2.65c2.82 6.12 2.88 12.28.18 18.79-.68 1.64-.71 2.02-.2 2.8 1.5 2.33 5.05 6.96 5.37 7.04a39 39 0 0 0 3.06.17c4.3.14 6.53 1.08 8.82 3.73l1.26 1.46.03-.03 1.25-1.46c2.28-2.65 4.5-3.58 8.81-3.72 1.48-.05 2.86-.13 3.07-.18.32-.07 3.86-4.7 5.37-7.03.5-.78.48-1.17-.2-2.81-2.7-6.51-2.65-12.66.17-18.8l1.23-2.64-2.19-2.36c-1.03-1.12-1.9-1.94-3.16-3.29l-.71.9c-3.45 4.26-4.27 4.79-5.4 3.66-1.24-1.23 1-7.1 1.45-9.6z\", strokeWidth: 0.67 };\n\n/** Elmo espartano: face (branco), crista (cor), traço (preto). */\nexport const spartanPaths = { viewBox: \"0 0 52.01 65.06\", face: \"m.9 7.6 8.17 8.28-1.96 1.34 1 1.61 2.03 2.69-2.26 2.68-2.22 3.91-1.58 2.76-2.1 1.27-1.08.2 1.04 1.56 1.72 3.8.54 4.45-.04 7.55-.12 5.14.85-.65 1.03-1.46 1-8.05 1.27 2.3.69 4.37 1.26 11.2.23 2 5.98-6.03 7.79-10.31-.27-.65-2.6-2.04-.74-2.91.58-2.07 1.76-1.88 2-.08 1.53.54.92 1.11.65 1.54-.3 1.91-.85 1.27.39.8 2.41 1.61 5.65 2.08 1.04 2.37 1.57 2.76.73.27 4.44-1.22 3.3-1.5 1.23-1.73-1.11-1.15-3.76-2.45-3.45-2.95-2.15-3.5-.77-3.56.92.08 2.38 1.68 1.61.5 3.3.46L49 41.04l2.26.73.42-.46-.07-5.45-.85-7.78-1.3-5.64-1.5-5.14-3.18-6.29-4.56-5.1-6.37-3.64L28.29.85 24.23.39l-7.4.46-7.06 1.88-4.68 1.88L.72 6.98z\", crest: \"M9.77 14.74 2.69 7.47 4.61 6.3l5.04-2.22 4.23-1.22 3.88-.84 3.04-.24 3.04-.06 3.85.3 3.03.68 2.34.78 2.7 1.28 2.31 1.38 1.87 1.5 1.6 1.54 1.5 1.92.86 1.17 1.5 2.66 1.16 2.3 1.38 4.01.76 2.72.73 3.74.79 5.23.19 6.92-.87-.17-7.3-2-.83-7.38-1-4.53-2.34-4.96-3.5-3.9-3.63-2.47-5.59-1.9-3.25-.3-4.01.16-2.85.66-3.25.94-1.96 1.22z\", ink: \"M10.06 64.95c-.06-.06-.1-.21-.1-.35 0-.33-.24-3.03-.4-4.66-.14-1.28-.33-6.23-1.08-7.84-.13-.26-.6-.2-.8-.22-.5-.07.21-1.5.29-2.02.25-1.76 0-2.03-.12-2.64-.04-.18-.13-.28-.44-.5a2 2 0 0 0-.46-.28c-.04 0-.19 1.21-.36 3.04l-.31 3.24a24 24 0 0 1-2.45 3.6c-.3.04-.3-.02-.2-2.64.16-3.63.26-7.8.21-8.82-.02-.5-.04-1.39-.04-1.98-.08-3.1.1-1.76-.75-5.47-.05-.14-.06-.2-.13-.34s-.58-1.34-.93-2a14 14 0 0 0-1.44-2.2 3 3 0 0 1-.44-.63q.01-.31.72-.32c1.02 0 1.96-.35 2.58-.96.66-.65 1.05-1.32 1.85-3.17 1.13-2.62 2.03-4.04 3.55-5.56l.74-.74-.29-.47c-.16-.25-.52-.76-.8-1.13a15 15 0 0 0-1.4-1.7c-.37-.4-.68-.76-.68-.82 0-.13.33-.43 1.21-1.08.4-.3.71-.55.71-.58 0-.08-3.5-3.63-5.88-5.93C.32 7.73-.03 7.36 0 7.23c.08-.3 2.75-1.91 4.91-2.94A43 43 0 0 1 15.27.76c6.22-1.25 12.49-.96 17.58.81 8.27 2.87 13.7 9.21 16.68 19.49a68 68 0 0 1 2.48 18.2c0 2.6 0 2.89-.1 2.99s-.2.07-1.5-.4c-3.97-1.46-6.84-2.25-9.3-2.56l-1.39-.18-.99-.68c-1.4-.98-1.8-1.23-1.88-1.23-.15 0 .06 1.5.31 2.3 1.04 3.29 4.3 6.5 9.49 9.38.95.53 1.14.69 1.2 1.04.06.3-.07.88-.28 1.27-.84 1.54-4.1 3.04-8 3.67-.5.08-.9.16-.9.18s.2.3.44.63a4 4 0 0 1 .4.6 15 15 0 0 1-4.56-5.62l-.55-1.11-.72-.22c-2-.6-4.16-1.6-5.75-2.68-.98-.66-1.72-1.28-1.72-1.44 0-.06.16-.3.36-.55.41-.5.78-1.2.89-1.71a3.44 3.44 0 0 0-1.83-3.8 2 2 0 0 0-1.08-.24 3 3 0 0 0-1.03.08 3.7 3.7 0 0 0-2.43 2.38c-.24.64-.3 1.82-.14 2.48a5.5 5.5 0 0 0 3 3.37c.22.11.45.28.51.37.1.15.1.18 0 .5-.42 1.27-2.26 3.97-5.05 7.4a85 85 0 0 1-6.85 7.54c-2.15 2.12-2.24 2.2-2.5 1.93m2.11-2.58c3.3-3.3 5.85-6.22 8.54-9.78 1.54-2.04 2.99-4.27 2.99-4.62q-.02-.08-.25-.2a8 8 0 0 1-1.78-1.28 4.9 4.9 0 0 1-1.53-3.95c.06-1.3.47-2.23 1.38-3.14a4 4 0 0 1 1.04-.8 3.8 3.8 0 0 1 4.48.65 4 4 0 0 1 1.2 3.15 4 4 0 0 1-.36 1.58l-.14.3.24.2a23 23 0 0 0 8.4 3.78c1.95.47 5.02.88 7.57 1.02.86.05.86.05.4.1-.67.07-3.91-.06-5.23-.2-3.1-.36-5.57-.95-7.53-1.81a16 16 0 0 1-3.73-2.24c-.2-.21-.39-.38-.4-.38q-.04.02-.19.2l-.15.2.22.19a22 22 0 0 0 9.17 4.03c2.05.4 3.94.6 7.25.74 2.29.1 2.72.15 3.01.37.23.15.25.15.25 0q-.02-.13-.18-.25a7 7 0 0 0-1.5-.74q-.73-.18-.07-.19.38 0 .33-.06l-1.19-.77c-4.24-2.67-6.92-5.56-7.91-8.57-.4-1.17-.39-1.16-.45-4.33-.03-2.11-.08-3.2-.16-3.78a16.4 16.4 0 0 0-3.22-8.14c-4.3-5.5-12.55-7.05-19.42-3.63A14.3 14.3 0 0 0 7.57 25c-.5.76-1.27 2.25-1.72 3.34q-1.04 2.58-2.32 3.5c-.17.14-.3.26-.27.28.1.09 2.24.65 2.96.77 2.34.42 4.49.39 6.7-.1 1-.21 2.07-.57 4.37-1.44 3.32-1.26 4.7-1.62 6.57-1.74a11.4 11.4 0 0 1 6.38 1.6c.62.42.61.46-.1.29a16 16 0 0 0-6.77-.22c-1.38.27-2.3.58-5.9 1.97-2.45.94-3.98 1.4-5.54 1.64-.93.14-3.18.2-4.22.1a23 23 0 0 1-5.56-1.22l.34.6a14 14 0 0 1 2 6.62 170 170 0 0 1-.12 13.18s.15-.37.31-.85l.3-.86.1-1.6a510 510 0 0 0 .45-7l.13-2.25c0-.15.14-.23 1.5-.88a22 22 0 0 1 5.93-2.03 10 10 0 0 1 2.04-.2c.02.01-.12.66-.3 1.43a7 7 0 0 1-.72 2.22 6 6 0 0 1-1.35 1.96 9 9 0 0 1-3 1.8l-.24.07.41 2.82c.72 4.96 1.17 8.36 1.53 11.58l.11 1.02 1.27-1.21a60 60 0 0 0 7.7-9.08c.85-1.2 1.7-2.57 1.7-2.68 0-.04-.2-.2-.43-.35a7.4 7.4 0 0 1-2.47-3c-.39-1-.53-2.07-.4-3.05.32-2.43 1.74-4.28 3.83-4.97a4.8 4.8 0 0 1 3.76.28c2.1 1.04 3.31 3.87 2.55 5.99l-.2.58c-.08.22 2.75 1.73 4.6 2.45a31 31 0 0 0 9.3 2q.02-.05-.16-.18-.8-.64.08-.08l.69.47c.05.05-1.2-.04-2.25-.15a28 28 0 0 1-9.64-2.63 41 41 0 0 1-2.8-1.6l-.16-.1.13-.4c.17-.52.23-1.74.12-2.37-.17-1-.81-2.14-1.54-2.79-2.28-2-5.7-1.25-7.21 1.6a6 6 0 0 0-.65 3.32c.09.65.34 1.49.59 1.98a7 7 0 0 0 2.32 2.5c.25.17.47.33.47.37 0 .1-1.14 1.79-2.04 3-1.18 1.6-3.7 4.7-5.29 6.53a67 67 0 0 1-4.16 4.36c-.02 0-.08-.4-.13-.9a195 195 0 0 0-1.63-12.81 45 45 0 0 1-.4-2.71c.01-.05.2-.14.41-.2.57-.18 1.52-.64 2.1-1.02a6.6 6.6 0 0 0 2.7-3.58c.08-.34.37-1.76.4-1.98l.01-.2-.36.02c-.95.05-3.49.66-4.94 1.2a26 26 0 0 0-3.17 1.4c-.29.14-.35.2-.35.34 0 .35-.2 3.3-.36 5.08-.5 5.9-.5 5.83-.72 6.52-.12.35-.2.64-.2.64.02 0 .56-.74.83-1.14a1 1 0 0 0 .19-.55 306 306 0 0 1 .97-9.82c.05-.28.07-.3.61-.6a23 23 0 0 1 6.23-2.12l.3-.04-.09.41c-.54 2.38-2.06 3.92-4.79 4.88-.47.17-.59.23-.59.34a240 240 0 0 1 2.21 16.71c.14 1.39.18 1.69.23 1.69.03 0 .67-.62 1.43-1.38m-.37-1.8-.16-1.76c-.1-.94-.16-1.73-.15-1.74s.08.34.14.77c.2 1.34.37 2.35.4 2.38.04.04.14-.04.7-.54.4-.35.2-.1-.36.47-.44.45-.57.54-.57.43m4.87-5.09.96-1.23a60 60 0 0 0 3.62-5.13l.28-.47-.35-.37-.47-.5c-.23-.22-.11-.17.24.11l.65.5.3.2-.18.32c-.52.86-1.8 2.64-2.87 4-.96 1.22-2.54 3.08-2.18 2.57m-5.72-2.44-.2-1.34-.77-5.17c-.03-.2-.02-.2.38-.35.6-.21 1.4-.63 1.96-1.03.27-.19.5-.34.51-.33a9 9 0 0 1-2.1 1.5c-.34.16-.45.24-.45.35 0 .15.4 3.59.6 5.2.07.6.12 1.12.1 1.16q-.03.08-.03 0m26.95-9.13q-3-3.08-2.8-6.9.11-2.24.18-.33a11 11 0 0 0 2.69 7.11l.52.64c.32.38.08.17-.6-.52m-19.42-2.56c0-.24.22-1.2.41-1.77a5.6 5.6 0 0 1 3.92-3.7c.69-.18 2.03-.2 2.67-.03a4.6 4.6 0 0 1 3.14 2.7c.26.62.27.8.02.34-.34-.65-.6-.98-1.13-1.47a5 5 0 0 0-1.86-1.12c-.46-.14-.65-.22-1.4-.22-.94 0-1.38.13-2.12.46a6.3 6.3 0 0 0-3.48 4.31c-.09.34-.17.56-.17.5M4.21 36.44c-.09-.24-.33-.77-.55-1.18-.28-.53-.35-.73-.27-.7l1 .28c1.16.29 2.61.53 3.63.6.45.03.83.08.86.1.06.06-.9.05-1.9-.03-.94-.07-1.73-.19-2.61-.39l-.54-.1c-.01 0 .11.4.28.87.17.48.3.9.28.93s-.1-.14-.18-.38m30.96-2.76a21 21 0 0 0-.94-4.94 15 15 0 0 0-3.93-6.38c-.4-.39-.57-.58-.4-.46.5.38 1.94 1.83 2.39 2.42a15 15 0 0 1 2.95 9.2l-.02.91zm-14.46-1.22c.2-.13 1.45-.53 2.26-.73a10 10 0 0 1 2.57-.32l.56.01-.46.05c-1.86.22-3.08.44-4.05.75-1.07.33-1 .31-.88.24m-9.41-.15a19 19 0 0 0 3.22-.9l1.8-.66c.9-.33 2.31-.74 2.8-.81.13-.02-.16.1-.65.28l-1.66.63q-2.99 1.2-5.1 1.5c-.98.14-1.29.11-.41-.04m-5.85-1.53a14 14 0 0 0 1.26-2.46 15 15 0 0 1 3-4.73 14.3 14.3 0 0 1 7.26-4.15c1.55-.37 3.3-.53 4.71-.42l.73.06-1.1.04c-4.53.18-8.26 1.67-11.03 4.41a15 15 0 0 0-3.21 4.63c-.78 1.56-1.61 2.92-1.61 2.63m6.28-7.71a12.6 12.6 0 0 1 7.7-3.15l.59-.03-.82.12c-1.11.17-1.69.3-2.58.6a16 16 0 0 0-4.83 2.47l-.43.33zM39.03 54.2c3.35-.51 6.08-1.54 7.41-2.79.42-.4.47-.5.24-.57q-.14-.06-.21.07a5 5 0 0 1-2.04 1.46c-1.04.47-3.49 1.26-3.6 1.15q0-.03.2-.08a16 16 0 0 0 3.98-1.65c.52-.33 1.02-.77 1.02-.88 0-.12-.48-.15-2.64-.2a42 42 0 0 1-4.53-.3c-.54-.06-1-.1-1.01-.09s.22.08.51.14.99.2.99.23-.59-.01-.75-.01q-.3 0-.27.06c.04.06 1.19.27.98.28-.58.04-.97-.08-1.31-.12-.71 0 .2.13.52.29.26.12-1.72-.18-1.27.01.07.03.35.1.63.15.4.06.53.11.54.2s-.04.1-.36.11c-.6.01-.8.01-.24.12.46.08.66.11.47.18-.18.06-.43.02-.62.08-.09.03.23.02.35.07.19.08.5.24.32.24-.32 0-.29-.04-.65.13-.13.06-.24.05-.21.09s.52.09.69.09c.46 0-.1.12-.6.15-.51.04-.49.17.04.22.22.02.5.1.4.11-.35.02-.56.13-.2.7.18.26.34.48.36.48zm12.24-13.44c.04-1.06-.07-5.19-.18-6.56-.53-6.74-2.1-13.55-4.21-18.29-2.29-5.11-5.54-8.97-9.67-11.46A27 27 0 0 0 26.08.9c-1.6-.18-5.15-.16-6.92.03a41.6 41.6 0 0 0-17.48 6c-.32.2-.58.38-.58.4s.71.74 1.6 1.6a327 327 0 0 1 5.66 5.7l.63.65.3-.16c.16-.1.3-.2.31-.23.03-.07-2.52-2.71-5.17-5.38a75 75 0 0 1-2-2.05c-.04-.13 1.93-1.2 4-2.17 5.6-2.62 12.16-4 17.73-3.7 2.32.11 4.24.38 5.98.82a22.3 22.3 0 0 1 13.1 8.71 34 34 0 0 1 4.41 8.74 61 61 0 0 1 2.92 20.33l-1.8-.58a74 74 0 0 0-6.19-1.74c-.1-.03-.11.02-.11.36v.4l.24.06 1.54.38a54 54 0 0 1 6.7 2.14l.25.08c.02 0 .05-.24.07-.53m-1.03-3.25a59 59 0 0 0-2.94-17.78 34 34 0 0 0-4.01-8.04c-.05-.05-5.91 4.92-7.16 6.08-.07.06-.02.14.24.43.83.91 1.86 2.32 2.38 3.25.13.25.28.44.31.42l4.1-1.59a20 20 0 0 1 1.33-.5c.02 0-.6.3-1.35.64-1.95.9-3.85 1.78-3.88 1.82-.02.02.1.32.27.68.36.76.96 2.25 1.12 2.77l.1.37 2.63-.02c2.8-.03 2.78-.03-.52.22l-1.9.16q-.07.02.16.9c.21.83.53 2.38.69 3.34l.07.46 1.33.34c2.25.56 4.58 1.17 4.5 1.18l-1.5-.3c-1.6-.32-4.23-.8-4.26-.78 0 0 .04.53.11 1.15s.17 1.62.21 2.22l.08 1.1.22.06 1.46.62c.68.31 1.5.66 1.82.8 1.04.42.56.29-.91-.25-.8-.3-1.7-.62-2-.72l-.54-.18v.58c0 .58 0 .58.18.62 1.54.33 4.43 1.14 6.3 1.76.67.22 1.26.4 1.31.4.08.01.09-.33.05-2.21m-5.66-17.78q.01-.03.1-.07.1-.02.06.03c-.03.06-.16.1-.16.04m-2.97 16.65c-.36-6.7-1.43-11.07-3.65-14.78a18 18 0 0 0-5.99-6.04 20 20 0 0 0-8.3-2.81 27 27 0 0 0-5 0 21.3 21.3 0 0 0-11.3 4.66c0 .04.17.24.86 1 .03.03.21-.09.4-.25.6-.5 1.76-1.23 2.73-1.72a22 22 0 0 1 7.41-2.16c.94-.1 3.3-.1 4.27 0q5.86.64 10.19 4.2a17 17 0 0 1 4.67 6.34c1.28 3.07 1.94 6.85 2.05 11.66l.04 1.92.82.1.83.1.02-.4a28 28 0 0 0-.05-1.82m-.55 1.53c-.02-.16-.06-.86-.08-1.56-.1-3.5-.66-7.22-1.5-9.94a17.8 17.8 0 0 0-9.44-11.21 20 20 0 0 0-6.84-1.9 24 24 0 0 0-9.99 1.28 24 24 0 0 0-3.81 1.86c-.43.29-.76.47-.76.44s.34-.26.74-.52a21 21 0 0 1 11.65-3.33c2 0 2.87.08 4.3.39l.95.2c.44.08 2.09.63 2.81.92a17.7 17.7 0 0 1 9.29 8.58c1.54 3.06 2.32 6.35 2.67 11.25.1 1.4.12 4.16.02 3.55m-1.37-.22v-.48l-.88-.57a12 12 0 0 0-1.88-1.14q-.09 0-.08.38v.39l.97.65 1.85 1.25c.01 0 .02-.21.02-.48m-.13-1.36c0-.53-.17-2.75-.3-3.95-.4-3.64-1.36-6.9-2.71-9.22a16.7 16.7 0 0 0-9.69-7.62c-1.76-.56-3.29-.8-5.38-.84a20.6 20.6 0 0 0-9.44 1.95 26 26 0 0 0-3.53 2.03c-.01.01.27.39.62.84.35.46.72.98.83 1.15l.2.32.18-.13.34-.25.16-.13-.36-.51a25 25 0 0 0-1.02-1.37c-.05-.1.55-.49 1.58-1.03.75-.4 1-.46.39-.1-.3.18-1.51 1-1.6 1.08-.01.01.07.15.17.3a15 15 0 0 1 .91 1.54c.01.01.27-.14.57-.33a17.8 17.8 0 0 1 16.02-1.35 14.8 14.8 0 0 1 8.11 8.56c.38.99.8 2.63.97 3.8.15.97.33 3.1.33 3.74v.41l1.28.76 1.32.76c.03 0 .05-.18.05-.4m-28-2.05c1.75-.27 3.28-.72 6.3-1.88 2.94-1.13 4-1.45 5.62-1.74a15 15 0 0 1 4.36-.03c.04-.03-.52-.17-1.22-.3q-2.73-.48-5.84.42-1.11.32-3.93 1.4c-3.4 1.3-5.3 1.7-7.9 1.62q-3.06-.07-5.86-1.05c-.8-.28-.85-.29-1.26-.23l-.45.08q-.01.04.18.12c.12.04.47.2.78.34q1.55.72 3.64 1.08c.66.11 1.1.17 2.34.3.53.05 2.6-.03 3.24-.13m25.72-17.94c2.15-1.77 5.71-4.82 5.75-4.93a10 10 0 0 0-1.21-1.61c-.69-.82-2.1-2.17-3-2.88-2.28-1.8-5.1-3.2-8.1-4.04-1.16-.32-1.55-.4-1.58-.3l-.86 2.9-1.53 5c-.3 1-.54 1.83-.53 1.87.02.03.26.12.55.19a23 23 0 0 1 4 1.44c.1.04.88-1.17 3.06-4.76.5-.82.96-1.54 1.01-1.6q.08-.06-.05.17l-3.05 5.4c-.28.51-.52.95-.52.98s.38.28.84.55c.89.51 1.84 1.19 2.65 1.87l.5.4.96-.87 1.56-1.41.6-.54-.6.62-1.45 1.51-.85.9.15.16q.15.15.2.16c.04 0 .7-.53 1.5-1.18M10.2 14.58l.27-.15c.06-.04-.03-.24-.36-.8A334 334 0 0 1 7.4 8.98a18 18 0 0 1 1.39 2.05c.66 1.02 1.4 2.16 1.65 2.52l.44.67.28-.14.3-.15c.01-.02-.4-.88-.9-1.92s-.92-1.89-.9-1.89l.33.57c.26.47.95 1.66 1.66 2.86q.1.2.17.22c.03 0 .38-.14.78-.3a24 24 0 0 1 4.5-1.27q.46-.07.45-.17c0-.1-.65-4.63-.86-5.97a6 6 0 0 1-.1-.86c0-.02.09.31.17.74l1.11 5.8c.06.34-.09.32 1.23.2.47-.04 1.56-.07 2.61-.05l1.82.02.05-.3.89-5.55c.06-.42.12-.74.14-.7.01.05-.43 4.25-.68 6.34-.04.3-.04.3.18.34l1.1.18q.9.15.9.09c.2-.52 2.76-9.81 2.72-9.85-.06-.06-2.01-.34-3.1-.45a42 42 0 0 0-5.67-.03A43 43 0 0 0 5.3 6.18c-.13.07-.26.14-.27.17-.05.07.13.4.64 1.25.21.36.38.66.37.67s-.15-.18-.31-.42l-.65-.9-.36-.48-.34.19-.92.5-.58.32.81.82c1.6 1.6 3.48 3.51 4.84 4.93.76.8 1.41 1.45 1.44 1.45s.14-.05.23-.1m14.43-9.54q0-.13.04-.08v.17q-.04.05-.04-.09\" };\n\n/** Moldura grega circular. Coordenadas internas usam `transform`. */\nexport const greekFramePaths = { viewBox: \"0 0 52.92 52.59\", transform: \"translate(-68.52 -104.77)\", key: \"M95.65 156.53a39 39 0 0 1-2.77-.2 5 5 0 0 1-.89-.16l-.14-.07.05-.95.05-1.14v-.11l-.66-.17a20 20 0 0 0-1.3-.28l-.62-.1-.07.06q-.06.08-.04.2l.03.14.37.1.82.19.45.1-.02.3c-.01.16-.08.55-.15.85l-.13.56-.2.02c-.11.02-.63-.06-1.16-.17-.53-.1-1.3-.3-1.7-.42a6 6 0 0 1-.82-.29q-.05-.06-.06-.28c0-.12.1-.6.23-1.06l.24-.84-.09-.1a1 1 0 0 0-.36-.2l-.65-.26-.74-.33-.38-.16-.09.13-.1.18c0 .02.23.16.51.3s.61.33.75.43l.24.17v.13c0 .07-.13.43-.29.8l-.27.67-.14.03-.15.03-1.53-.78c-.84-.42-1.61-.85-1.71-.94l-.19-.17.05-.17c.03-.09.23-.51.45-.94l.4-.77-.04-.1a2 2 0 0 0-.48-.42l-.92-.6-.48-.28-.1.11-.1.11.09.13c.04.07.28.27.53.46l.46.34.05.18.05.18-.2.38c-.12.21-.33.51-.47.67l-.27.29-.2-.16-.4-.27a14 14 0 0 1-2.06-1.53c-.34-.3-.61-.57-.61-.6 0-.05.1-.2.24-.36a30 30 0 0 0 1.02-1.23l.17-.21-.8-.8-.79-.78-.12.02q-.12.03-.15.12c-.02.05.24.37.57.7l.6.63-.6.58c-.33.32-.66.61-.74.65l-.13.07-.5-.5a23 23 0 0 1-1.8-2.1 2 2 0 0 1-.27-.5c0-.06.23-.3.5-.54l.81-.67.3-.24-.25-.47a19 19 0 0 0-1.06-1.64q-.05.01-.18.1l-.14.1.4.77.4.77-.28.24a5 5 0 0 1-.7.46l-.4.22-.28-.3a7 7 0 0 1-.61-.82c-.18-.29-.5-.83-.7-1.21l-.35-.69v-.43l.2-.2c.11-.1.48-.33.8-.5.34-.18.65-.36.7-.4l.1-.1-.19-.52c-.1-.28-.3-.78-.44-1.1s-.3-.58-.35-.58q-.08 0-.12.12c-.03.06.04.42.14.8l.2.68-.08.13-.06.13-.61.23c-.33.13-.67.23-.75.23h-.14l-.18-.35a23 23 0 0 1-1.03-3.04l-.1-.43.09-.08c.04-.04.52-.2 1.07-.34s1.02-.27 1.05-.3q.05-.03.04-.12l-.07-.19q-.05-.08-.03-.09c.02 0-.04-.41-.13-.92l-.16-.91-.2-.03-.2-.02v.25c0 .13.03.48.07.77l.08.52-.13.12a2 2 0 0 1-1 .37c-.13 0-.32-.05-.44-.1l-.21-.12-.08-.32a10 10 0 0 1-.24-1.34c-.04-.3-.09-.9-.12-1.3l-.04-.75.14-.09.15-.09.9-.05c.5-.03.95-.08 1-.11l.1-.06.06-1.1a9 9 0 0 0 .03-1.2q-.05-.1-.2-.1h-.14l-.04.13a14 14 0 0 0-.11 1.3v.28h-1.7l-.1-.09-.08-.09v-.65c0-.36.05-1.05.12-1.54l.17-1.3c0-.06.08-.2.17-.29l.16-.17.34.04c.18.03.65.07 1.03.1l.7.04.11-.4c.07-.22.19-.72.27-1.1l.16-.71-.12-.12-.11-.11-.1.09c-.04.04-.19.4-.31.78l-.23.7-.35-.02a4 4 0 0 1-1.26-.32l-.11-.07.14-.7a18 18 0 0 1 .91-2.91l.11-.22h.18c.1 0 .58.14 1.06.3.49.17.9.3.93.3s.24-.4.47-.9c.23-.49.44-.97.47-1.07l.04-.19-.16-.05-.17-.05-.08.14-.39.7-.3.56-.13.03c-.07 0-.38-.1-.69-.24l-.55-.26-.09-.17-.09-.17.1-.3a13 13 0 0 1 1.38-2.57c.2-.3.4-.55.44-.55.05 0 .48.24.97.53s.91.52.95.5a34 34 0 0 0 1.31-1.74l.14-.2-.14-.11-.15-.11-.57.62-.58.62-.35-.18c-.2-.1-.52-.33-.72-.51l-.36-.33.13-.2 1.22-1.61c.06-.08.36-.4.68-.73l.56-.59.15.04c.08.02.48.36.9.74l.74.7.08-.05a18 18 0 0 0 1.68-1.55q-.01-.09-.11-.18l-.1-.09-.7.53c-.37.3-.7.53-.74.53s-.29-.29-.56-.64-.49-.66-.49-.7c0-.02.19-.24.41-.47.23-.23.71-.65 1.07-.93l.7-.56c.01-.02.22-.17.46-.32l.43-.27.1.04c.06.02.35.33.63.7l.68.82.15.17.25-.13a28 28 0 0 0 1.67-1q.03-.08 0-.18-.06-.11-.14-.12c-.05 0-.3.1-.54.21l-.72.35-.28.13-.14-.18c-.08-.1-.27-.42-.43-.73l-.29-.55.26-.22a20 20 0 0 1 2.79-1.5l.59-.23.06.07c.03.03.24.45.45.92s.43.9.48.96l.08.08.72-.24 1.07-.38c.2-.08.38-.18.4-.24a.2.2 0 0 0-.04-.2l-.08-.07-.68.17c-.38.09-.73.14-.79.12s-.2-.24-.32-.48a3 3 0 0 1-.28-.78l-.05-.36.21-.08a18 18 0 0 1 2.13-.64c.39-.1.91-.2 1.16-.23l.46-.04.25 1.03.3 1.1.05.07.63-.08 1.17-.17.55-.08v-.35l-.14-.01-.87-.02-.74-.01-.1-.38c-.05-.2-.1-.56-.1-.8v-.41l.1-.08a1 1 0 0 1 .28-.12l.85-.08.81-.08c.07-.02.6-.05 1.18-.08l1.05-.05v2.4l.46.05c.26.03.8.06 1.18.06l.71.02.03-.17q.01-.16-.01-.17l-.63-.11c-.32-.06-.7-.11-.83-.11h-.24v-.62c0-.34.02-.75.05-.9l.04-.28h.54a13 13 0 0 1 2.72.34l.84.2-.03.16-.08.53-.18 1.48c0 .03.27.14.61.24s.85.25 1.13.31l.51.13.12-.12.13-.13-.08-.06a5 5 0 0 0-.74-.3c-.36-.13-.7-.27-.74-.3l-.08-.09.09-.48c.04-.27.15-.62.23-.77l.14-.28.26.02c.13.01.52.09.85.17a16 16 0 0 1 2.5.9q.14.1.19.2c.02.05-.11.53-.3 1.05-.18.53-.33 1-.33 1.04s.44.3.99.57c.54.27 1.03.47 1.08.45q.08-.04.13-.14l.04-.1-.63-.42-.64-.42v-.44l.3-.6.3-.6h.12c.06 0 .24.07.4.14a28 28 0 0 1 2.97 1.85c.05.07.07.2.04.28-.02.1-.27.52-.55.95s-.5.8-.5.83c.02.04.43.39.92.78l.89.72.15-.13.14-.14-.64-.6a5 5 0 0 1-.64-.68c0-.03.2-.32.43-.63l.43-.56.22-.02.22-.02.72.58a32 32 0 0 1 1.88 1.7c.16.17.29.33.29.35s-.34.39-.75.82-.75.84-.75.9.31.48.7.93.73.83.79.83q.1 0 .18-.12l.07-.11-.42-.59a3 3 0 0 1-.42-.7.4.4 0 0 1 .1-.24c.04-.06.3-.3.56-.54s.52-.44.57-.44c.06 0 .36.33.68.73.31.4.6.79.66.85l1.09 1.55q.07.15.04.26c-.02.05-.44.36-.93.68-.5.31-.9.6-.9.63s.23.48.52 1l.51.93.16.03.16.02.04-.12.05-.12-.3-.63a6 6 0 0 1-.32-.7c0-.04.2-.21.46-.38.25-.17.57-.33.72-.35l.27-.05.12.07a18 18 0 0 1 1.5 3.05l.17.5-.14.1c-.07.05-.47.24-.9.41-.42.17-.82.36-.88.4l-.13.1.2.76c.1.42.24.89.31 1.03l.13.26h.36l-.05-.32c-.03-.17-.1-.45-.15-.62l-.15-.57-.05-.27.47-.15c.26-.09.64-.17.85-.18l.38-.02.2.4a20 20 0 0 1 .77 3.05l.04.4-.38.12c-.21.07-.7.18-1.1.25-.38.07-.7.14-.71.16a31 31 0 0 0 .14 2.28l.04.11h.44l-.03-.13c-.03-.07-.05-.5-.07-.95l-.02-.83h1.87l.05.5a31 31 0 0 1 .02 3.43l-.05.24-1.13-.02-1.13-.03-.05.38c-.03.2-.07.75-.1 1.21l-.06.85h.31l.07-.28.17-.7.1-.4.2-.1.18-.1.5.03c.28.02.57.08.65.12l.15.08.06.27c.02.15 0 .6-.04 1a14 14 0 0 1-.53 2.34l-.07.2-.21.06-.2.05-.76-.13a10 10 0 0 0-.95-.12h-.2l-.15.47-.31 1.01c-.09.3-.14.6-.12.66s.1.1.15.1h.12l.14-.28c.07-.15.2-.45.28-.67l.14-.4.18-.04.18-.05.57.17c.31.09.62.2.68.27l.1.1-.1.51c-.05.28-.24.86-.42 1.3-.18.43-.45 1.03-.6 1.34l-.29.56-.19-.02c-.1 0-.36-.1-.58-.2l-1.34-.56c-.04 0-.18.2-.32.45l-.57 1.03-.32.58.08.09q.08.09.16.1c.05 0 .28-.29.5-.62l.42-.62.28.01.28.02.52.3c.29.17.52.35.52.4s-.1.3-.22.55a14 14 0 0 1-1.63 2.5l-.3.33-.2-.1-.97-.62-.76-.5-.26.28-1.08 1.19-.28.31.11.12c.06.06.16.11.21.11.06 0 .35-.23.66-.52l.56-.52.34.2a4 4 0 0 1 .98.91c0 .05-.15.24-.32.44s-.79.83-1.36 1.42a8 8 0 0 1-1.17 1.07 3 3 0 0 1-.68-.58 10 10 0 0 1-.72-.8l-.17-.2-.12.02c-.06.01-.48.3-.93.62a5 5 0 0 0-.82.68q.01.1.13.2l.14.13.18-.13a5 5 0 0 1 1.2-.77c.05 0 .18.1.27.2.1.12.33.41.51.66l.34.44-.09.1c-.04.05-.32.28-.62.5a19 19 0 0 1-2.2 1.45l-.4.2-.13-.08a6 6 0 0 1-.65-.85c-.3-.43-.58-.8-.64-.8a5 5 0 0 0-1.02.42 6 6 0 0 0-.98.56.3.3 0 0 0-.05.22l.05.12.39-.15c.2-.09.58-.22.81-.3l.43-.13.16.22a4 4 0 0 1 .52 1.22c0 .07-.15.21-.32.33s-.74.39-1.25.6l-1.44.54c-.27.09-.55.15-.63.14l-.13-.03-.3-.7-.41-1-.12-.3-.26.05a14 14 0 0 0-1.83.5l-.2.09.02.12.02.12h.34l.84-.07.5-.06.15.34.16.34.01.51.02.5-.64.18a12 12 0 0 1-2.63.51l-.64.05-.05-.07c-.02-.04-.13-.53-.24-1.08a5 5 0 0 0-.28-1.05q-.08-.05-.13-.03a6 6 0 0 1-.79.08l-1.33.11a4 4 0 0 0-.65.12q-.06.05-.07.18v.13l.81.06c.45.03.85.07.9.1l.07.05.03.9.02.9zm-.55-.28.65.01.02-.67.03-.67-.22-.04c-.11-.02-.5-.04-.83-.04h-.63l-.12-.12-.12-.12.05-.24a1 1 0 0 1 .12-.32c.04-.05.23-.1.42-.13a30 30 0 0 1 1.9-.2l.84-.07h.13l.1.24c.06.14.17.61.25 1.06.08.44.17.82.2.85s.19.04.36.03a17 17 0 0 0 2.62-.47l.5-.16v-.23c0-.13-.03-.36-.06-.52a1 1 0 0 0-.17-.4l-.1-.09-.37.07c-.21.04-.55.09-.77.1l-.38.03-.1-.21-.08-.21.06-.18q.05-.17.04-.23 0-.05.06-.02c.04.03.16 0 .26-.07q.16-.11.24-.1l1.14-.27.85-.2.06.06c.03.03.16.35.3.71.14.37.28.66.31.66q.06 0 .05.06l.05.28c.04.12.1.24.13.27a6 6 0 0 0 1.33-.42l.34-.11c.16-.06.51-.2.77-.32l.47-.21-.05-.09-.05-.08.08.05c.05.03.16.02.24-.03q.13-.08.15-.22a.4.4 0 0 0-.1-.24q-.08-.1-.09-.18c0-.04-.04-.2-.1-.35-.05-.16-.13-.28-.18-.28s-.28.07-.53.16c-.25.1-.53.2-.6.26a1 1 0 0 1-.35.1c-.11 0-.24-.04-.28-.1a1 1 0 0 1-.13-.27l-.04-.2.17-.16a17 17 0 0 1 2.32-1.22c.03 0 .25.3.49.66a6 6 0 0 0 .54.78q.01.08.15.23l.15.16.35-.16.34-.17-.04-.1q-.04-.07-.13-.06l-.27.07-.17.04-.17-.12c-.1-.06-.33-.38-.53-.7-.2-.34-.41-.68-.49-.78l-.13-.16-.95.46-.95.47.05.08.05.08-.08-.05c-.05-.03-.3.06-.54.19l-.46.24.05.23c.02.12.1.34.16.49l.16.45q.01.06.1.07.07-.01.03-.1l-.04-.1.16.03.16.05-.05-.08-.05-.08.15.04.15.03v-.08q0-.08.06-.05c.03.02.24-.05.46-.15.21-.1.46-.18.54-.18h.14l.11.26c.06.14.11.33.11.41v.15l-.26.13-.26.12.05.08.04.07-.08-.05c-.04-.03-.3.03-.55.14l-.71.3c-.13.06-.28.11-.34.11a.3.3 0 0 0-.19.08c-.04.04-.2.07-.36.06l-.3-.03-.1-.3-.27-.75c-.1-.24-.2-.53-.22-.64s-.09-.22-.14-.24-.7.11-1.4.3l-1.52.38-.2.03v.14c0 .07.05.37.12.66s.14.52.18.5.22-.05.42-.07.48-.05.62-.08l.26-.04.25.1.24.08v.53l-.16.19q-.13.16-.1.08l.06-.1-.13.04c-.08.03-.6.14-1.16.24s-1.08.21-1.15.23a1 1 0 0 1-.31 0l-.17-.04-.1-.58c-.04-.32-.14-.8-.2-1.06l-.12-.47-.1-.04c-.07-.03-.49 0-.93.04-.45.05-1.25.11-1.77.13l-.99.07c-.01.02-.05.27-.08.57l-.06.55.1.11.1.1.78.01h.76l.06.08c.03.04.05.27.06.5v.44h-.32a31 31 0 0 1-2.58-.2.4.4 0 0 1-.24-.16l-.07-.13.08-.64c.04-.35.08-.78.08-.97s-.02-.34-.05-.35q-.07 0-.12-.09c-.02-.04-.61-.2-1.31-.34s-1.45-.3-1.66-.33l-.39-.06-.08.29c-.05.16-.11.45-.13.65l-.05.37.52.15.74.2c.12.02.26.08.32.12.05.05.09.2.09.36v.28l-.1.1-.12.08-.36-.05c-.2-.03-.56-.1-.8-.16a4 4 0 0 0-.7-.13q-.2 0-.2-.05c.02-.02-.16-.09-.38-.14l-.41-.09-.05-.18-.04-.19.13-.46.4-1.41c0-.04-.17-.15-.39-.25-.21-.1-.53-.22-.7-.28-.18-.05-.32-.12-.32-.15q-.02-.06-.12-.06c-.06 0-.3-.09-.54-.2l-.72-.32-.3-.13-.24.5-.28.64-.05.15.58.24.77.35c.1.06.2.17.2.26.02.08-.03.3-.12.49l-.15.33-1.22-.61a13 13 0 0 1-1.4-.78l-.18-.16.14-.33c.08-.17.26-.5.4-.73s.33-.52.4-.66c.07-.13.1-.24.06-.24q-.07 0-.17-.1a47 47 0 0 0-2.41-1.6l-.15-.08-.25.3a4 4 0 0 0-.33.46l-.17.21-.08.06.07.06.66.54.58.47v.14c0 .08-.07.25-.16.37q-.16.2-.25.22c-.04 0-.23-.11-.42-.25l-.7-.49c-.19-.13-.38-.22-.42-.2q-.07.04-.06-.02c.02-.03-.17-.24-.4-.46l-.44-.4v-.13c0-.08.17-.34.37-.58s.5-.57.67-.74c.17-.16.31-.34.31-.38s-.5-.58-1.13-1.2a9 9 0 0 0-1.2-1.08c-.05.01-.29.2-.53.4s-.43.4-.43.43.27.33.6.67l.62.62-.33.33c-.18.18-.37.33-.42.33q-.09 0-.1-.06c0-.03-.2-.26-.43-.5-.24-.25-.6-.66-.83-.93a6 6 0 0 1-.5-.7c-.07-.11-.1-.23-.08-.27.02-.03.3-.25.62-.5l.9-.7.13-.07-.25-.5a5 5 0 0 0-.42-.7c-.1-.1-.22-.31-.3-.45a2 2 0 0 0-.27-.4q-.13-.16-.14-.23c0-.03-.1-.2-.2-.35l-.2-.28-.42.23c-.23.12-.48.27-.55.33q-.12.12-.13.22c0 .06.08.25.18.42l.33.58c.1.14.17.33.17.42v.16l-.2.12-.19.13-.2-.02-.2-.03-.3-.52-.87-1.55-.14-.35c0-.04.1-.16.24-.26s.52-.33.85-.5.65-.33.73-.39l.13-.1-.23-.6-.3-.74-.3-.79a6 6 0 0 0-.33-.75.3.3 0 0 0-.23-.11c-.08 0-.34.08-.58.18l-.43.17v.17c0 .1.05.32.12.5l.13.42q.02.09.07.14t.05.22v.17l-.2.16-.2.16-.22-.02-.21-.02-.19-.45c-.1-.25-.25-.67-.32-.94l-.41-1.36-.06-.13.18-.08c.1-.04.62-.18 1.16-.3.55-.14.98-.27.96-.3-.01-.02-.12-.58-.22-1.24l-.28-1.55-.07-.36h-.58c-.31 0-.62.03-.67.07l-.1.07.05.83.05.84-.14.1a1 1 0 0 1-.29.11 1 1 0 0 1-.28-.09l-.13-.1-.1-.6c-.06-.32-.13-.93-.16-1.34l-.05-.76.12-.12.13-.13h1.99l.05-1.18c.03-.65.08-1.4.11-1.68a2 2 0 0 0 0-.58c-.02-.04-.22-.11-.44-.15a4 4 0 0 0-.65-.08h-.24l-.04.17c-.02.1-.07.46-.1.82-.04.36-.12.71-.17.77l-.09.11h-.56l-.1-.1-.09-.12.12-1.27c.07-.7.16-1.35.2-1.46s.11-.2.16-.2l1.1.13 1 .13.05-.07a31 31 0 0 0 .72-2.89l.05-.28-.2-.09-.65-.18-.42-.1-.16.39c-.08.21-.17.49-.2.61s-.1.3-.15.4l-.1.16h-.52l-.09-.16-.08-.15.09-.5c.05-.28.18-.77.28-1.1s.23-.66.29-.74a1 1 0 0 0 .1-.28q0-.12.07-.17c.04-.02.4.08.8.22l1.27.45.16.05.13-.33a74 74 0 0 0 1.06-2.28l.17-.39-.31-.18c-.17-.1-.45-.24-.6-.3-.16-.07-.32-.11-.36-.09s-.2.29-.38.58c-.17.3-.36.6-.42.67a.4.4 0 0 1-.27.13 1 1 0 0 1-.34-.14l-.18-.14.06-.14a5 5 0 0 1 .35-.8l.47-.84c.12-.2.3-.48.4-.61l.17-.25.25.1c.13.06.56.3.94.53.39.23.76.42.82.42h.12l.22-.36c.12-.2.31-.47.42-.61s.44-.58.75-.96l.54-.7-.25-.26a4 4 0 0 0-.53-.45l-.3-.2-.62.61a4 4 0 0 1-.72.61c-.05 0-.18-.07-.27-.16q-.16-.17-.17-.28c0-.06.18-.35.4-.64s.64-.8.94-1.11.58-.58.63-.58.43.36.85.8l.76.79.2-.15c.1-.09.52-.45.91-.82l1.08-.98.36-.33-.07-.14a5 5 0 0 0-.43-.52l-.36-.4-.34.22c-.18.12-.5.36-.7.54-.2.17-.38.32-.42.32s-.14-.14-.25-.31l-.18-.31.05-.13c.03-.07.25-.3.5-.5a41 41 0 0 1 1.76-1.3c.03 0 .18.15.34.33s.48.58.7.9l.41.56.5-.28.93-.55c.25-.16.58-.35.75-.44.16-.08.38-.2.47-.28l.17-.13-.16-.37c-.08-.2-.22-.48-.3-.62l-.15-.24-.13.07a8 8 0 0 1-1.37.56l-.2.03-.14-.26-.14-.26.19-.14c.1-.08.3-.2.45-.29l.7-.4.9-.47.43-.21.1.1c.07.06.23.38.36.7.14.34.31.75.4.92l.13.32h.12c.07 0 .46-.12.87-.27.4-.14 1.03-.35 1.38-.45s.68-.24.74-.3l.11-.1-.13-.56-.13-.56-.14-.04c-.08-.03-.44.03-.81.12s-.72.14-.8.12a1 1 0 0 1-.2-.24l-.08-.18.12-.19.12-.18.28-.09a13 13 0 0 1 2.23-.6h.19l.06.17c.04.1.16.6.28 1.13l.21.95.2-.03c.1-.03.38-.06.63-.1.25-.02.52-.05.6-.07l.97-.15c.46-.06.86-.13.89-.15s.05-.26.04-.53l-.05-.66-.03-.17-.81.04-.82.04-.11-.1-.12-.09v-.48l.11-.1.12-.09.97-.1c.54-.07 1.22-.1 1.51-.1l.53.03-.01 1.17-.01 1.17.88.05 1.64.1.76.04.08-.49a5 5 0 0 0 .09-.67v-.19l-.65-.09a4 4 0 0 1-.85-.2l-.2-.1-.06-.2a1 1 0 0 1 0-.33l.05-.15.19-.05.2-.04.71.12c.4.06.89.14 1.1.16.2.03.47.08.6.12q.23.07.28.16c.02.06-.05.5-.14 1-.1.49-.18.96-.18 1.04v.16l.84.2 1.59.4.74.17.07-.06a4 4 0 0 0 .37-1.14 2 2 0 0 0-.4-.17l-.7-.26-.37-.14-.05-.14-.04-.22q.01-.08.07-.25l.06-.18.37.05c.2.02.67.14 1.02.26.36.13.86.3 1.1.41l.45.19.03.12q.02.14-.05.3l-.19.45-.3.79-.2.48.14.1c.07.06.23.15.35.21l1.37.7c.63.33 1.13.57 1.1.53q-.03-.06.02-.09c.04-.01.19-.25.34-.53s.26-.55.24-.58a.2.2 0 0 0-.12-.07 3 3 0 0 1-.5-.29l-.58-.36a.4.4 0 0 1-.17-.24c-.02-.1.05-.28.13-.43.1-.14.2-.26.24-.26s.41.2.83.44l1.36.78.26.2.18.15-.05.19c-.03.1-.29.54-.58.97l-.54.8.3.25.8.66 1 .8.47.4.45-.48c.24-.26.44-.51.44-.55s-.28-.32-.63-.62l-.62-.55.07-.2c.04-.11.1-.28.16-.37.04-.1.14-.17.2-.17.07 0 .41.24.76.53s.86.75 1.13 1.01l.5.48-.04.14c-.02.08-.23.33-.46.55l-.77.7-.35.3.22.26a46 46 0 0 1 1.26 1.52l.71.86.09-.1q.08-.1.12-.07.05.02.17-.12c.07-.08.17-.15.21-.15s.16-.07.25-.16c.1-.09.18-.2.18-.24s-.1-.21-.21-.38l-.3-.4-.3-.36-.2-.26.33-.33.33-.33.15.13a4 4 0 0 1 .44.54c.17.22.34.42.37.43q.05.04.06.1c0 .05.08.19.19.32l.44.59q.12.18.2.16.06-.02.02.07t.04.16q.08.05.04.12a15 15 0 0 1-1.6 1.05c-.16.08-.3.19-.3.23s.08.21.17.38l.93 1.67c.23.4.42.76.44.77.01.02.13-.01.27-.06l.63-.27.38-.18-.3-.6c-.15-.32-.3-.7-.32-.84l-.05-.25.24-.14.24-.14.16.1.16.08.37.74.36.74.08-.04.08-.05-.06.1-.05.08.09.22.09.22.07-.05.08-.04-.04.1a.3.3 0 0 0 .02.22l.06.12-.11.23-.11.23-.39.17-1.26.56-.13.07.18.68a59 59 0 0 0 .61 2.15l.04.13h.16c.08 0 .35-.06.6-.12l.44-.13.05-.15.06-.15-.1-.34-.2-.8-.1-.45h.12l.46-.07.35-.05.08.25a16 16 0 0 1 .56 2.69l-.04.14-.27.07a11 11 0 0 1-1.42.27l-.39.06v.53a26 26 0 0 0 .18 2.4c.02.12.07.25.12.3l.08.08H119l-.02-.55c-.01-.3-.05-.72-.08-.95l-.05-.4h.94l.06.08a21 21 0 0 1 .11 2.59l-.03.37-.16.08-.16.07-.98-.03-.99-.03-.05.09c-.04.04-.07.36-.09.7 0 .33-.07 1.02-.14 1.53-.06.51-.1.94-.08.96s.18.07.36.1c.18.04.46.07.64.07h.31l.05-.28.11-.7c.04-.22.12-.45.18-.5a1 1 0 0 1 .35-.13l.26-.02.14.1.13.1-.03.43c-.02.24-.1.64-.16.89s-.14.62-.17.82l-.11.55a.5.5 0 0 1-.26.24l-.2.07-.64-.15c-.36-.09-.8-.18-1-.2l-.35-.04-.05.25c-.03.14-.17.63-.31 1.08-.15.45-.31 1-.37 1.23l-.1.41.08.1q.08.09.15.1a1 1 0 0 1 .28.13c.1.08.3.17.42.2l.23.04.1-.18c.06-.1.08-.24.05-.3l-.04-.13.08.05.09.06-.04-.16-.05-.17.07.04c.03.03.1-.1.15-.26s.15-.35.23-.42l.13-.12.26.05c.14.02.3.1.35.15l.1.11-.1.35c-.04.18-.06.37-.03.42l.05.08-.08-.05-.1-.06v.15q0 .15-.07.2-.06.06-.07.16c0 .07-.14.4-.3.73a4 4 0 0 1-.42.7l-.11.08-.28-.07-.4-.1c-.07-.02-.2-.08-.3-.14s-.32-.15-.5-.2-.31-.13-.31-.16q0-.06-.1-.04a.4.4 0 0 0-.17.09c-.04.04-.17.23-.29.43s-.18.36-.14.36q.05 0-.04.06c-.06.04-.2.23-.32.43l-.47.88c-.14.28-.24.56-.22.62q.04.09.1.1c.03 0 .17.08.32.18s.34.2.43.23l.17.06.21-.25c.12-.14.22-.29.22-.32s.12-.22.27-.4l.26-.32h.44l.15.17.16.16-.04.23a1 1 0 0 1-.14.28q-.08.05-.02.06t-.05.08-.13.15a6 6 0 0 1-.77 1.18q-.05.03-.06.1-.01.1-.18.26l-.17.17h-.2c-.1 0-.2-.03-.2-.08v-.08l-.15.05-.16.05.04-.07.05-.08-.62-.4-.71-.47-.1-.05-.2.23-.22.22.12.03.12.04h-.16l-.17.01-.16.21-.42.49a4 4 0 0 1-.65.73l-.44.44.5.5.49.51.22-.21c.12-.12.2-.25.18-.3l-.05-.07.08.05.08.05.16-.2c.08-.1.13-.22.11-.25q-.02-.07.11-.14c.08-.05.2-.06.26-.04s.18 0 .27-.04q.14-.08.13-.02 0 .06.15.22l.16.16-.04.16c-.02.08-.15.28-.3.43-.13.16-.6.63-1.02 1.05s-.8.77-.85.77-.16-.12-.26-.26l-.18-.27-.1.04-.1.04.05-.08c.03-.04-.11-.25-.31-.46l-.51-.55-.15-.16-.45.33a4 4 0 0 0-.5.42q-.05.08-.06.03-.02-.05-.17.1c-.1.08-.27.22-.4.3a1 1 0 0 0-.28.26q-.05.1-.14.11a1 1 0 0 0-.3.17l-.2.16.17.29q.17.25.23.22.04-.04 0 .06l-.04.11.23.22.22.21.43-.3c.24-.15.56-.35.72-.42l.28-.13.13.07a1 1 0 0 1 .23.18c.05.06.1.21.11.34l.03.23-.08-.04c-.05-.01-.16.03-.24.1l-.64.46a9 9 0 0 0-.91.63q-.07.04-.03.11l.05.09.37-.23.38-.23-.05-.08-.05-.07.08.04c.04.03.24-.07.44-.21.2-.15.36-.3.35-.34q-.02-.06.03-.05c.03 0 .14-.03.25-.1.1-.05.23-.14.28-.2q.1-.09.05-.18l-.05-.08-.07.1-.07.1.04-.16.05-.17-.2-.2a1 1 0 0 1-.18-.22q0-.06-.12-.16-.1-.1-.16-.08c-.03 0-.23.13-.45.27-.2.13-.4.29-.42.35a.2.2 0 0 1-.16.11q-.1 0-.12.08-.01.06-.15.07a.4.4 0 0 1-.24-.1l-.23-.3-.13-.2.04-.13c.02-.08.24-.28.49-.46l.45-.33-.05-.07-.05-.08.1.06.09.05.27-.22c.15-.12.36-.26.46-.32s.28-.1.4-.1c.1-.02.18 0 .16.03s.2.3.5.6c.29.31.5.51.47.45l-.05-.1.08.05q.08.06.05.15l-.04.1.18.12.2.13.11-.05.12-.05-.04-.12q-.05-.1 0-.07c.03.03.36-.26.75-.63a3 3 0 0 0 .65-.75l-.04-.08.07.05c.04.02.24-.12.43-.32s.35-.4.35-.44q0-.08.09-.11l.1-.03-.2-.2c-.1-.12-.32-.31-.5-.44l-.32-.22-.04.12q-.06.1-.15.12-.08 0-.12.05a5 5 0 0 1-.94.85c-.04 0-.19-.12-.34-.27-.15-.14-.28-.3-.28-.36s.1-.2.22-.3c.12-.12.2-.25.18-.28q-.03-.06.05-.07t.23-.15c.08-.08.13-.19.1-.23q-.03-.06.04-.05c.04.01.3-.2.55-.49l.47-.5.2.08q.19.09.2.16.01.05.07.06c.04 0 .33.17.64.38.3.21.6.36.64.34q.08-.03.12.04l.06.09-.1-.06-.11-.06.09.1.1.1.14-.14q.14-.13.12-.17c-.01-.02.1-.17.27-.34.16-.18.31-.4.33-.49q.05-.15.1-.16c.03 0 .16-.16.28-.36l.33-.58c.05-.12.15-.29.21-.36.07-.07.13-.2.14-.28l.02-.14-.2-.14a3 3 0 0 0-.89-.4c-.05 0-.16.12-.25.25l-.42.64c-.14.21-.31.4-.37.4-.07 0-.25-.1-.41-.2s-.32-.22-.35-.27l-.05-.1.06.06c.03.03.16-.1.3-.3.12-.2.35-.61.51-.92.16-.3.33-.6.37-.65a.2.2 0 0 0 .01-.19q-.05-.08 0-.04.08.03.18-.1l.13-.14.28.04c.15.03.26.08.23.12q-.02.06.14.07h.23q.05 0 .05.07.01.06.1.07c.06 0 .27.09.46.2.2.1.41.16.47.14l.1-.04-.05-.09-.05-.08.08.05.08.05-.04.13q-.05.11 0 .09a9 9 0 0 0 .63-1.37q-.07.03.07-.15c.09-.12.19-.32.21-.45.03-.13.08-.27.11-.31.04-.04.09-.2.12-.34s.07-.3.1-.34l.05-.23v-.16l-.5-.2a3 3 0 0 0-.6-.2c-.06 0-.18.18-.27.38s-.17.4-.17.44c0 .05-.06.2-.12.34l-.13.26-.2.08-.22.07-.19-.23-.19-.22.05-.2c.02-.11.07-.29.11-.39s.08-.3.09-.42c0-.13.03-.23.06-.21.02.01.1-.17.17-.4l.21-.64.08-.2h.27c.15 0 .42.04.61.08a8 8 0 0 0 1.07.19l.28.04.1-.25c.06-.14.18-.62.26-1.07l.24-1.2c.05-.2.07-.5.06-.66l-.03-.3-.29-.1c-.16-.05-.4-.09-.52-.09-.13 0-.3.04-.36.08a.3.3 0 0 0-.14.22c0 .08-.03.22-.08.3-.04.08-.08.3-.09.47 0 .18-.04.31-.07.3q-.05-.04-.06.07-.01.1-.14.16c-.07.02-.24.03-.37.02l-.23-.01-.04-.27c-.02-.15 0-.78.07-1.4.06-.64.13-1.19.16-1.24l.05-.08 1.1.04 1.11.04.05-.16a29 29 0 0 0 0-2.8l-.06-.7h-1.4l.05.93.05.93-.34.05-.35.05-.14-.07-.14-.08-.05-.5-.1-1.39-.04-.87.07-.04.25-.08.52-.08.85-.17.51-.12-.05-.42a11 11 0 0 0-.34-1.65l-.26-.83-.17-.48-.36.01c-.2 0-.5.06-.65.1-.15.06-.28.12-.28.14l.2.82a4 4 0 0 1 .15.88c-.02.05-.18.12-.36.15l-.32.05-.13-.16a4 4 0 0 1-.32-.78c-.1-.34-.23-.8-.28-1.04a2 2 0 0 1-.04-.54c.03-.06.19-.18.36-.27.18-.08.35-.15.4-.15q.07 0 .19-.1c.06-.05.25-.14.41-.18.17-.05.37-.14.45-.2l.14-.1-.1-.25-.39-.97a25 25 0 0 0-.98-1.9l-.1-.14-.58.28-.57.27.37.72c.2.4.38.77.38.81s-.16.16-.36.24l-.35.16-.1-.08c-.05-.05-.23-.3-.39-.57-.15-.28-.43-.78-.6-1.13l-.32-.63.23-.2c.12-.1.55-.38.94-.63.4-.24.72-.47.72-.52 0-.04-.13-.25-.3-.47s-.3-.43-.3-.47q0-.07-.06-.08c-.03 0-.15-.14-.26-.32a2 2 0 0 0-.35-.43q-.14-.1-.15-.2t-.13-.23l-.39-.45a1 1 0 0 0-.3-.31c-.02 0-.26.2-.52.44l-.49.43.19.28c.1.14.2.27.24.27q.05 0 .05.07c0 .04.12.23.27.43l.27.35-.21.2a1 1 0 0 1-.37.25l-.16.05-.4-.47-.92-1.07c-.1-.12-.22-.3-.27-.4-.05-.09-.07-.22-.05-.3s.36-.44.75-.83l.7-.7-.1-.17a5 5 0 0 0-1.1-.95q-.06.02-.03-.04c.03-.04-.21-.29-.53-.55s-.67-.54-.78-.61l-.24-.13q-.05.02-.2.17c-.1.1-.24.3-.34.45s-.18.32-.18.38.25.32.56.6l.56.5v.36l-.23.2c-.13.1-.26.19-.3.19q-.06-.01-.1-.08a4 4 0 0 0-.48-.4l-.61-.47c-.1-.08-.34-.3-.54-.5l-.37-.34.06-.1.56-.9a7 7 0 0 0 .51-.86q-.01-.08-.16-.2l-.92-.61a6 6 0 0 0-.95-.55 6 6 0 0 0-1.07-.61c-.02 0-.16.23-.3.52-.15.29-.26.58-.26.64v.11l.4.27c.23.14.44.26.48.26s.14.08.22.18c.1.1.17.26.17.34s-.08.22-.17.32l-.17.18-.11-.03c-.06-.02-.6-.27-1.18-.57l-1.07-.52v-.2c0-.11.05-.35.1-.53l.3-.86c.11-.29.2-.56.2-.6 0-.06-.26-.2-.58-.34a22 22 0 0 0-2.18-.75l-.56-.14-.09.08-.13.24-.15.54-.1.39.34.13.8.3.44.17v.24c-.02.14-.07.3-.14.36l-.12.12-.43-.08c-.24-.04-.77-.17-1.18-.28l-.75-.2-.15-.15-.14-.14.13-.95.17-1.04.04-.09-.89-.16a30 30 0 0 0-1.84-.26l-.95-.1-.04.16c-.02.09-.03.4-.02.68l.02.52.8.15.8.14.03.12c.02.06.02.26 0 .44l-.03.32-.24-.04c-.13-.02-.6-.05-1.06-.08l-1.14-.08-.32-.05v-2.38h-.4a41 41 0 0 0-3.15.27l-.29.06.05.54c.02.3.07.6.1.66l.04.13.82-.02.82-.01.07.1a1 1 0 0 1 .07.34c0 .13-.05.27-.1.32s-.59.15-1.18.22c-.6.08-1.18.12-1.3.1l-.23-.05-.14-.49-.27-1-.13-.53-.34.01c-.2 0-.76.12-1.26.25s-1.15.33-1.43.43l-.51.19.05.26c.02.14.13.42.22.63.1.2.22.36.27.36s.42-.08.8-.18l.72-.18.07.06c.03.04.07.2.09.37l.02.3-.58.24a23 23 0 0 1-2 .74c-.03 0-.11-.16-.2-.35-.08-.2-.3-.67-.48-1.05l-.32-.7-.38.15a30 30 0 0 0-2.42 1.25l-.43.26v.12a6 6 0 0 0 .56 1.1l.12.15.1-.12c.04-.07.32-.24.62-.39s.62-.27.72-.27h.19l.09.22.09.22-.09.15a3 3 0 0 1-.71.53l-1.01.57c-.2.1-.4.18-.44.18-.05 0-.32-.3-.63-.68l-.7-.87-.16-.2-.21.17-1.04.8c-.46.36-.99.8-1.18.99-.2.18-.36.37-.36.42s.14.25.3.46c.17.2.32.43.35.5l.04.13.16-.08c.09-.05.35-.24.57-.44.23-.2.49-.39.58-.44s.2-.08.24-.08.17.12.28.27l.2.27-.34.3-1.49 1.35c-.11.11-.22.2-.23.2l-.8-.74a8 8 0 0 0-.84-.73l-.08-.09-.2.2a36 36 0 0 0-1.68 1.98l-.52.67.17.18c.1.1.34.3.54.42l.38.24.18-.22c.1-.12.37-.42.6-.65l.4-.43.1.05.29.24c.1.1.2.2.2.23s-.29.43-.64.9l-.92 1.26-.07.1-.32-.16c-.18-.1-.38-.21-.44-.26l-.69-.4-.57-.31-.27.4a3 3 0 0 0-.27.46q-.02.06-.15.26a13 13 0 0 0-.97 1.96c0 .06.07.18.16.26a3 3 0 0 0 .94.47c.04 0 .23-.34.45-.75s.44-.74.49-.74.2.06.33.15l.25.14v.19q0 .17-.07.22-.09.07-.12.25c-.03.1-.24.58-.47 1.04s-.42.85-.44.85l-.42-.16a11 11 0 0 0-1.57-.48l-.13-.04-.12.23a25 25 0 0 0-.82 2.54l-.11.62v.12l.5.16c.27.09.57.16.66.16h.17l.1-.4c.04-.21.11-.42.14-.46s.1-.2.13-.34.11-.28.18-.32l.1-.07.3.12.28.12-.05.28-.24 1.13c-.1.47-.23.94-.27 1.04l-.09.19-.75-.05c-.41-.03-.9-.07-1.1-.1l-.34-.04-.08.25a23 23 0 0 0-.31 2.98v.45l.4.05c.22.03.54.03.71 0l.3-.05v-.35c0-.2.04-.55.08-.8.04-.24.12-.47.17-.5a1 1 0 0 1 .38-.06h.28l.04.1c.02.06.01.7-.03 1.42-.03.73-.08 1.34-.1 1.36s-.23.05-.48.07l-1.7.19c-.03 0-.04.18-.02.4l.12 1.32c.04.52.11 1.1.15 1.3.05.18.13.38.19.43s.24.09.39.08l.45-.04c.1 0 .24-.08.32-.15l.15-.13-.05-.12a5 5 0 0 1-.09-.82l-.04-.7h.33c.18 0 .37.03.41.06q.08.06.13.2a21 21 0 0 1 .36 2.14c0 .1-.05.22-.1.27s-.45.18-.88.3l-1 .23c-.1.02-.2.06-.2.09s.06.27.14.53l.68 2.14c.06.12.1.26.12.3 0 .04.05.16.1.27.04.1.1.21.13.24.04.02.28-.03.54-.12.27-.08.53-.2.6-.26l.11-.11-.14-.54c-.07-.3-.16-.58-.18-.64a.5.5 0 0 1-.01-.3q.05-.17.2-.23a.5.5 0 0 1 .3 0l.17.07.18.36c.1.2.26.56.35.8l.28.7c.06.14.1.34.08.45l-.02.2-.6.32c-.33.18-.72.41-.88.52-.15.1-.28.24-.28.3s.14.39.3.72a8 8 0 0 0 1.02 1.73c.16.2.35.4.41.45l.12.07.44-.3.44-.3-.01-.15a4 4 0 0 0-.36-.76 5 5 0 0 1-.34-.68c0-.04.16-.17.35-.28l.35-.2.1.14.29.4c.1.15.26.41.35.59s.18.32.21.32.16.23.3.52l.25.53-.23.21c-.13.12-.35.3-.48.39a5 5 0 0 0-.89.84c0 .04.1.19.2.34l.5.62c.18.18.43.49.57.67.15.18.44.52.65.74l.39.4.54-.53.55-.53-.6-.6a8 8 0 0 1-.61-.67c-.01-.04.08-.16.21-.27.13-.1.3-.2.36-.2.08 0 .34.22.6.48l.9.91c.25.25.46.47.46.49s-.26.36-.58.75l-.72.86-.14.15.4.36a14 14 0 0 0 1.98 1.51c.24.17.47.33.5.37l.05.08.2-.23a4 4 0 0 0 .51-.82l.04-.15-.67-.52-.67-.51.14-.2c.08-.1.21-.25.3-.33l.15-.14.6.39.61.38.09-.05.08-.05-.05.08-.06.09.21.12c.12.08.32.24.45.36l.25.23v.16c0 .1-.1.34-.21.53-.12.2-.3.55-.42.79-.1.23-.2.48-.2.54v.13l.08-.05q.07-.04.07.01.02.07.17.15l1.28.65c.6.3 1.18.58 1.27.61l.22.05q.05 0 .06.08v.1l.1-.12a5 5 0 0 0 .42-1.22c0-.05-.32-.25-.71-.45l-.72-.36.03-.24c.02-.13.07-.33.11-.44l.09-.2.13.05q.14.05.29.14c.08.05.4.2.7.32l1.1.44c.28.12.51.24.5.27l-.2.67c-.1.34-.22.81-.27 1.05l-.09.44.1.06c.05.04.26.11.47.17a24 24 0 0 0 2.64.6l.32.05.03-.13a9 9 0 0 0 .2-1.1v-.1l-.73-.17a5 5 0 0 1-.85-.27l-.11-.1.03-.26.03-.27.15-.08c.08-.04.29-.06.46-.05a15 15 0 0 1 2.36.56l.25.1-.06.62c-.03.34-.06.84-.06 1.1l-.01.49.49.06 1.16.12c.37.03.96.07 1.32.07zm-1.25-1.41a.04.04 0 0 1-.04-.04q0-.03.04-.04.03 0 .04.04 0 .03-.04.04zm8.69-1.2a.04.04 0 0 1-.04-.04q0-.03.04-.03.03 0 .04.03 0 .03-.04.04zm-15.13-1.2-.03-.03q0-.04.03-.04t.04.04-.04.03zm18.2 0-.04-.03q0-.04.04-.04t.04.04-.04.03zm-21.34-.07a.04.04 0 0 1-.04-.04q0-.04.04-.04.03 0 .04.04 0 .04-.04.04zm23.21-.08-.04-.03q0-.04.04-.04.03 0 .04.04 0 .03-.04.03zm.64 0q-.1 0-.05-.05a.1.1 0 0 1 .1 0q.03.05-.05.05zm.78-.52-.03-.04q0-.03.03-.04.04 0 .04.04 0 .03-.04.04zm-3.22-.75-.03-.04q0-.03.03-.04.04 0 .04.04 0 .03-.04.04zm3.82-.97a.04.04 0 0 1-.04-.04q0-.04.04-.04t.04.04-.04.04zm.3-.08-.08-.08-.05-.1.08.06q.08.05.09.09t-.03.03zm.9-1.05-.04-.03q0-.04.04-.04t.04.04-.04.03zm-34.07-.6-.04-.03q0-.04.04-.04.03 0 .04.04 0 .03-.04.03zm2.77-.07a.04.04 0 0 1-.04-.04q0-.03.04-.04.03 0 .04.04 0 .03-.04.04zm34.37-.67a.04.04 0 0 1-.04-.04q0-.03.04-.04.03 0 .04.04 0 .03-.04.04zm-2.32-.08a.04.04 0 0 1-.04-.04q0-.03.04-.03.03 0 .04.03 0 .03-.04.04zm2.32-.37a.04.04 0 0 1-.04-.04q0-.03.04-.04.03 0 .04.04 0 .03-.04.04zm-2.7-.08-.03-.04q0-.03.03-.03t.04.03q0 .03-.04.04zm3.11-1.57q-.09 0-.05-.05a.1.1 0 0 1 .1 0q.03.05-.05.05zm2.14-1.2a.04.04 0 0 1-.04-.04q0-.03.04-.03.03 0 .03.03t-.03.04zm-1.13-.6a.04.04 0 0 1-.04-.04q0-.03.04-.03.03 0 .04.03 0 .03-.04.04zm2.55-2.24a.04.04 0 0 1-.04-.04q0-.04.04-.04.03 0 .04.04 0 .04-.04.04zm.37-.75-.03-.04q0-.03.03-.04.03 0 .04.04 0 .03-.04.04zm-.97-.98-.04-.03q0-.03.04-.04.03 0 .04.04 0 .03-.04.03zm-.82-.22a.04.04 0 0 1-.04-.04q0-.03.04-.04.03 0 .03.04 0 .03-.03.04zm-.15-.08-.04-.03q0-.03.04-.04.03 0 .03.04 0 .03-.03.03zm1.87-1.12a.04.04 0 0 1-.04-.04q0-.03.04-.03.03 0 .04.03 0 .03-.04.04zm-1.35-.6a.04.04 0 0 1-.04-.04q0-.03.04-.03.03 0 .04.03 0 .03-.04.04zm.84-2.72q-.05.04-.05-.05t.05-.05q.03.05 0 .1zm.28-11.06-.03-.03q0-.04.03-.04.04 0 .04.04 0 .03-.04.03zm-.15-3.44-.03-.04q0-.03.03-.04.03 0 .04.04 0 .03-.04.04zm-2.84-.45a.04.04 0 0 1-.04-.04q0-.03.04-.03.03 0 .04.03 0 .03-.04.04zm.37-3.9-.04-.03q0-.03.04-.04.03 0 .04.04 0 .03-.04.04zm-.93-1.12q-.1 0-.05-.05a.1.1 0 0 1 .1 0q.03.05-.05.05zM95.1 155.81h.13l.05-.19q.04-.17.01-.23a5 5 0 0 0-.78-.1c-.4-.04-.79-.09-.86-.12a.3.3 0 0 1-.17-.16 3 3 0 0 1 0-.73l.06-.61.1-.15.1-.14 1.1-.05 1.97-.1.86-.06.1.12c.06.06.14.31.2.55s.12.65.15.9.09.51.14.57l.08.11 1.23-.25a9 9 0 0 0 1.3-.32q.07-.08.03-.2l-.04-.1-.9.04-.88.04-.06-.14a6 6 0 0 1-.2-1.35l.02-.17.39-.1 1.28-.35c.48-.13 1.1-.28 1.36-.33s.5-.06.52-.03.16.38.3.78.3.85.37.99l.12.24.17-.05.87-.33 1.07-.44c.2-.08.35-.2.35-.25l-.06-.2-.07-.1-.21.05c-.12.03-.47.17-.79.3a4 4 0 0 1-.68.27q-.1-.02-.19-.17a12 12 0 0 1-.42-1.12l-.05-.2.17-.16c.1-.09.8-.48 1.59-.87a10 10 0 0 1 1.52-.67c.05.02.3.35.54.73s.51.77.6.87l.16.16.24-.12a9 9 0 0 0 1.2-.79l.41-.3.32-.22-.09-.1a.3.3 0 0 0-.22-.11.4.4 0 0 0-.24.1c-.06.06-.3.23-.53.38s-.5.26-.6.26h-.19l-.27-.31a4 4 0 0 1-.64-1.07c0-.02.6-.47 1.32-1.01a27 27 0 0 1 1.44-1.03l.1-.04.79.81.77.82.95-.95.94-.96-.09-.11q-.1-.1-.17-.11c-.04 0-.36.27-.71.61l-.64.62-.63-.66-.62-.66.07-.14.17-.24 1.07-1.18c.53-.6 1-1.11 1.05-1.14l.12-.06c.03 0 .43.25.9.56.45.31.87.56.91.56q.09 0 .17-.05a13 13 0 0 0 1.3-2.01q-.01-.1-.14-.18l-.14-.08-.22.28-.43.61c-.12.18-.3.36-.38.4l-.17.08-.25-.12a5 5 0 0 1-.63-.41l-.37-.29.02-.18c.01-.1.28-.63.6-1.2.31-.55.68-1.18.82-1.4l.26-.39h.16c.09 0 .35.07.57.16.23.08.45.18.5.22.03.03.23.12.43.18l.36.13.1-.1c.07-.05.18-.21.26-.36l.4-.96c.15-.38.27-.77.27-.87v-.18l-.14-.04c-.08-.02-.18 0-.21.05-.04.05-.16.34-.27.65l-.28.73-.07.17h-.18a5 5 0 0 1-1.34-.65l-.12-.12.04-.2.26-.87c.11-.37.3-1.01.44-1.43l.23-.76.18-.03c.09-.02.55.04 1.02.14s.92.17 1 .16l.14-.02.1-.42a18 18 0 0 0 .35-2.11q-.05-.05-.2-.06-.17 0-.22.06c-.02.03-.1.36-.16.72s-.15.7-.2.77l-.08.1h-.28a5 5 0 0 1-1.27-.25c-.04-.03-.08-.19-.08-.35s.05-.64.1-1.06a21 21 0 0 0 .2-2.21v-.1l1.18-.01 1.18-.03-.01-1.25-.01-1.26-.08-.08-.08-.08-.16.05-.17.06.04.93.04.92h-.7a4 4 0 0 1-.9-.07l-.19-.07-.08-.21a8 8 0 0 1-.14-1.22l-.09-1.52-.01-.5.11-.12.12-.11.89-.15.95-.14q.05-.02.05-.17a20 20 0 0 0-.53-2.35l-.06-.17-.2.06-.22.06.03.1c0 .05.07.28.13.51s.13.56.15.72l.04.3-.14.13c-.07.06-.43.2-.8.28l-.66.17-.1-.1a5 5 0 0 1-.36-.97l-.42-1.55c-.1-.38-.15-.74-.13-.79s.45-.27.95-.5.93-.45.95-.5c.02-.06-.05-.3-.16-.53l-.5-1.03a5 5 0 0 0-.4-.71l-.11-.11-.12.11-.11.12.38.77c.2.43.37.78.36.8l-.33.16c-.16.08-.5.24-.77.34-.26.1-.51.18-.57.16s-.47-.73-.94-1.57l-.84-1.53.04-.11a1 1 0 0 1 .33-.27 23 23 0 0 0 1.37-.84l.17-.12-.12-.17-.26-.36-1.08-1.48-.15-.16-.14.09c-.08.04-.14.13-.14.18s.2.36.45.7c.24.33.45.66.44.73 0 .07-.12.23-.28.35a7 7 0 0 1-1.05.71c-.04 0-.45-.45-.91-1l-1.2-1.42-.37-.44.84-.81.84-.82-.26-.25-.86-.76c-.32-.3-.68-.59-.8-.66l-.2-.14-.1.17-.09.17.65.6c.36.33.65.64.65.69s-.1.18-.2.3l-.57.61c-.2.21-.38.39-.4.39s-.52-.38-1.1-.85-1.22-1-1.42-1.18l-.37-.33.62-.93.61-.93-.18-.14a18 18 0 0 0-2.1-1.18.3.3 0 0 0-.2.11q-.1.11-.05.17l.66.43c.33.2.64.43.68.5l.08.12-.18.36c-.1.2-.27.53-.4.72l-.2.36h-.14a.3.3 0 0 1-.2-.07l-1-.55-1.43-.74-.48-.26v-.24c.01-.13.14-.53.28-.9.15-.35.29-.74.32-.85l.05-.2-.22-.1a15 15 0 0 0-2.2-.73h-.14v.36l.28.09.8.32.5.23-.04.3a3 3 0 0 1-.2.65c-.09.2-.23.42-.3.49l-.15.13-1.48-.36c-.8-.2-1.58-.41-1.72-.47l-.24-.1v-.17c0-.09.07-.53.15-.98s.15-.87.15-.94v-.12l-.44-.1c-.23-.04-.68-.12-.99-.15l-.87-.12-.32-.05v.45l.17.04.62.09c.24.03.55.1.69.15l.24.1v.18a10 10 0 0 1-.21 1.49c-.03.03-.64 0-1.36-.06s-1.54-.1-1.82-.1h-.5v-2.4l-.96.04c-.52.03-1.14.07-1.36.1l-.42.05-.02.21-.02.22.9-.05.89-.05.04.18c.03.1.07.46.09.8l.04.63-.06.1a2 2 0 0 1-.66.2 34 34 0 0 1-2.7.34h-.31l-.08-.32-.2-.84c-.07-.29-.15-.64-.2-.77-.04-.13-.11-.24-.16-.24s-.6.14-1.2.31l-1.11.32-.07.12-.06.12.07.1.06.11.8-.2.81-.22.1.14a4 4 0 0 1 .37 1.19l.04.3-.17.14c-.1.07-.87.35-1.72.64-.84.28-1.56.49-1.6.47a11 11 0 0 1-.76-1.65c-.07-.22-.14-.4-.17-.4l-.57.28a29 29 0 0 0-1.7.98l-.13.1.04.11.05.11.15-.05 1.13-.48.38-.16.2.24c.1.12.29.46.4.75l.21.53-.1.1a37 37 0 0 1-2.76 1.65l-.18.1-.12-.08a7 7 0 0 1-.67-.82 5 5 0 0 0-.66-.79c-.05-.02-.26.08-.47.23a14 14 0 0 0-1.13.9l-.5.4.06.16q.07.15.17.16c.05 0 .34-.18.63-.4.3-.23.61-.43.7-.46l.16-.05.22.21c.12.12.38.4.56.65l.33.43-.28.24c-.16.13-.73.65-1.26 1.14l-1.14 1.04-.15.13-.81-.8a5 5 0 0 0-.89-.76 10 10 0 0 0-.73.76c-.35.4-.72.86-.8 1.02l-.16.28.12.1.11.1.64-.66c.35-.35.66-.65.7-.65s.3.22.62.49a6 6 0 0 1 .61.56q.04.08-.02.2c-.04.08-.44.63-.89 1.23s-.88 1.2-.96 1.32l-.14.25h-.15c-.08 0-.34-.11-.57-.24s-.6-.35-.86-.48a3 3 0 0 0-.52-.26c-.04 0-.22.23-.38.5-.17.29-.43.75-.58 1.05s-.28.6-.28.7v.15h.3l.31-.54c.17-.3.38-.62.47-.71.08-.1.19-.17.24-.17s.36.13.69.3.64.34.69.4l.08.11-.35.74c-.19.4-.5 1.07-.67 1.48s-.4.8-.47.88l-.14.14-1.03-.35a7 7 0 0 0-1.04-.32 15 15 0 0 0-.53 1.46c-.06.24-.12.59-.13.77l-.02.34.16.02.16.03.16-.55c.08-.3.2-.63.25-.74l.1-.18h.37c.2 0 .5.05.68.1.17.05.38.14.47.22l.16.13-.16.78-.33 1.5c-.1.4-.21.8-.26.92-.04.11-.13.23-.19.25a7 7 0 0 1-1.1-.08l-.99-.12-.05.08a20 20 0 0 0-.24 2.13l-.02.45.2.02q.2.02.21-.03l.11-.88.11-.82.1-.06.22-.06c.07 0 .38.03.7.08.3.05.61.13.68.18l.13.09-.1 1.82c-.04 1-.1 1.85-.12 1.88s-.5.06-1.05.06a7 7 0 0 0-1.1.05l-.07.05.05.68c.03.38.1.93.15 1.23s.13.59.18.63q.08.07.2.03l.13-.05-.05-.84-.06-.85.13-.1.13-.11.76-.03.76-.03.16.93.36 1.97c.06.37.09.7.06.72s-.52.16-1.09.29a8 8 0 0 0-1.06.3c-.02.02.03.28.11.57s.25.83.38 1.2c.12.39.26.72.3.74q.06.03.22-.04l.16-.09-.04-.2-.16-.64a2 2 0 0 1-.1-.64l.02-.18.33-.19c.18-.1.48-.2.66-.24l.34-.06.12.07c.07.03.17.14.22.24a49 49 0 0 1 1.14 2.98q-.02.12-.24.27l-.96.52-.7.38.01.12c.01.07.27.55.56 1.07.3.53.6 1 .67 1.04l.13.08.12-.12.12-.12-.38-.67c-.2-.37-.38-.72-.38-.79 0-.06.1-.2.21-.3.12-.09.44-.29.72-.43l.5-.26.22.25c.11.14.39.54.61.89l.51.8c.06.1.25.4.4.68l.3.5-.08.13a7 7 0 0 1-.83.68c-.41.3-.75.6-.76.65q0 .09.1.19l.38.47a16 16 0 0 0 1.04 1.17q.13.13.19.14.06-.01.2-.15l.13-.15-.48-.5a6 6 0 0 1-.57-.66l-.08-.16.12-.15a6 6 0 0 1 1.1-.93l.2.08c.1.05.71.61 1.37 1.26l1.19 1.19-.73.8c-.4.44-.72.85-.72.93v.12l.58.46 1.04.78.46.32.09-.05q.07-.06.08-.2v-.13l-.6-.5c-.33-.27-.6-.53-.6-.58s.07-.21.16-.36.3-.42.46-.62.35-.35.41-.35c.07 0 .76.42 1.53.94.78.51 1.44.99 1.46 1.05l.04.1-.5.88-.5.87.06.12c.04.06.53.34 1.08.62s1.06.5 1.13.5q.13-.01.22-.14l.08-.16-.1-.1q-.08-.1-.16-.11c-.08-.01-.3-.1-.54-.2l-.65-.27q-.19-.1-.2-.17c0-.04.16-.42.36-.84s.4-.77.43-.77.4.14.8.3a54 54 0 0 1 2.37 1l.19.1-.02.35c-.01.2-.12.67-.25 1.06s-.2.74-.18.78.22.13.43.2a17 17 0 0 0 2.04.4h.16l-.03-.18-.03-.18-.68-.16-.67-.17-.14-.15q-.14-.15-.15-.27a5 5 0 0 1 .4-1.34l.1-.1 1.04.2c.58.1 1.4.27 1.83.38a9 9 0 0 1 .9.26l.12.06-.05.47c-.03.26-.08.75-.1 1.08l-.06.6.51.08c.29.04.8.08 1.15.1a4 4 0 0 1 .84.07zm12.53-7.41a.04.04 0 0 1-.04-.04q0-.04.04-.04t.04.04-.04.04zm-22.61-36.54a.04.04 0 0 1-.04-.04q0-.03.04-.04.03 0 .03.04 0 .03-.03.04zm27.83 35.22q.12-.12.1-.15t-.13.01c-.06.02-.11.1-.11.15v.11z\", rings: [{\"cx\": 94.95, \"cy\": 130.91, \"rx\": 21.55, \"ry\": 21.68}, {\"cx\": 94.98, \"cy\": 131.07, \"rx\": 26.21, \"ry\": 26.05}] };\n\n/** Colaborador: cabeça com boné + corpo. */\nexport const collaboratorPaths = { viewBox: \"0 0 110.86 129.88\", head: \"M51.13 72.24c-8.52-2.13-16.49-8.3-21.07-16.35-3.94-6.89-5.2-12.95-4.91-23.59.34-13 2.07-19.24 6.77-24.44C36.09 3.24 41.77.93 50.7.19c10.94-.9 20.42 1.43 25.69 6.31a25 25 0 0 1 5.41 7.7c1.9 4.56 2.66 10.3 2.66 20.3 0 8.05-.24 9.89-1.86 14.84C79 60.27 69.51 69.43 59.02 72.09c-2.98.75-5.26.8-7.9.14m7.76-4.58c5.9-1.82 12.2-6.59 15.73-11.9a33 33 0 0 0 5.09-12.51c.4-2.04.9-12.3.59-12.3-.08 0-.45.51-.82 1.14-.78 1.33-2.42 2.56-3.4 2.56-.42 0-1.23-.44-2.07-1.12-5.47-4.47-8.11-6.03-11.95-7.08a31 31 0 0 0-14.44 0c-3.83 1.05-6.44 2.56-11.3 6.55-1.42 1.15-2.25 1.65-2.77 1.65-.9 0-2.58-1.27-3.35-2.54-.3-.5-.65-1-.76-1.1-.34-.32.07 9.68.5 12.03 1.85 10.22 7.9 18.47 16.82 22.95 5.09 2.55 8 2.96 12.13 1.69m-8.95-49.43c3.26-.68 6.83-.68 9.9 0 1.3.29 2.46.44 2.57.33.3-.32 2.16-5.1 2.03-5.24a31 31 0 0 0-12.32-1.44c-2.4.25-6.57 1.12-6.89 1.44-.16.16 1.92 5.45 2.14 5.43z\", body: \"M37.83 70.48c-.41 0-3.11 1.28-6.27 2.97l-5.54 2.97.06.06c-5.91 3.22-12.3 6.84-14.58 8.38a17 17 0 0 0-3.13 2.82c-2.74 3.38-5.7 10.94-7.44 19-.51 2.4-.93 4.58-.93 4.84 0 .92 1.66 3.4 3.41 5.12 8.1 7.94 30.64 13.26 52.02 13.24 18.13 0 37.71-1.09 52.01-13.28 1.75-1.72 3.41-4.2 3.42-5.11 0-.27-.42-2.44-.94-4.84-1.73-8.07-4.7-15.63-7.44-19-.7-.87-2.11-2.14-3.13-2.82-2.27-1.54-8.63-5.15-14.53-8.36l.02-.02-5.55-2.97c-1.88-1-3.6-1.87-4.76-2.4a7 7 0 0 0-1.5-.6c-.42 0-1.4.48-2.41 1.2a29 29 0 0 1-7.96 3.91c-1.4.46-2.69.98-2.84 1.17a73 73 0 0 0-2.3 5.6l-2.08 5.34c-.1-.14-.97-2.33-2-5.03-.84-2.23-1.67-4.3-2.08-5.22l-.32-.66q-.1-.11-.67-.36-.73-.37-2.17-.84a29 29 0 0 1-7.96-3.9c-1.01-.72-1.99-1.21-2.41-1.21\" };\n",".svg {\n display: inline-block;\n width: auto;\n flex-shrink: 0;\n vertical-align: middle;\n overflow: visible;\n}\n.frame {\n position: relative;\n display: inline-block;\n width: var(--frame-size);\n height: var(--frame-size);\n flex-shrink: 0;\n}\n.frame > .svg {\n width: 100%;\n height: 100%;\n}\n/* área útil = círculo interno da grega (~81% do diâmetro) */\n.frameContent {\n position: absolute;\n inset: 10.5%;\n border-radius: 50%;\n overflow: hidden;\n display: grid;\n place-items: center;\n text-align: center;\n}\n.frameContent > img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n","import { Box, getThemeColor, useMantineTheme, type BoxProps, type MantineColor } from '@mantine/core';\nimport { altLogoPaths, collaboratorPaths, greekFramePaths, logoPaths, spartanPaths } from './paths';\nimport classes from './Brand.module.css';\n\n/**\n * Componentes de marca (SVG inline): logos, elmo espartano, moldura grega e colaborador.\n *\n * Todas as cores aceitam cor do tema (`horizon`, `horizon.6`, `electric.3`), qualquer cor CSS\n * (`#fff`, `currentColor`, `var(--ds-text)`) ou ficam no padrão, que muda sozinho entre tema\n * claro e escuro via variáveis `--jc-logo-*` / `--jc-art-*`.\n */\n\ntype SvgBaseProps = BoxProps & Omit<React.ComponentProps<'svg'>, keyof BoxProps | 'color'>;\n\nexport interface BrandSvgProps extends SvgBaseProps {\n /** Altura (px ou CSS). A largura acompanha a proporção. @default 40 */\n size?: number | string;\n /** Texto alternativo. Sem `title` o SVG é decorativo (aria-hidden). */\n title?: string;\n}\n\nfunction useColor() {\n const theme = useMantineTheme();\n return (value: MantineColor | string | undefined, fallback: string) =>\n value === undefined || value === null || value === '' ? fallback : getThemeColor(value, theme);\n}\n\nconst toCss = (v: number | string) => (typeof v === 'number' ? `${v}px` : v);\n\nfunction Svg({ size = 40, title, viewBox, children, className, ...others }: BrandSvgProps & { viewBox: string }) {\n return (\n <Box\n component=\"svg\"\n viewBox={viewBox}\n xmlns=\"http://www.w3.org/2000/svg\"\n role={title ? 'img' : undefined}\n aria-hidden={title ? undefined : true}\n className={className ? `${classes.svg} ${className}` : classes.svg}\n style={{ height: toCss(size) }}\n {...(others as Record<string, unknown>)}\n >\n {title && <title>{title}</title>}\n {children}\n </Box>\n );\n}\n\n/* ─────────────────────────────── Logo ─────────────────────────────── */\n\nexport type LogoVariant = 'auto' | 'light' | 'dark';\n\n/** Cores padrão do logo por fundo. `light` = original (#0E36E3) para fundos claros; `dark` = branco para fundos escuros. */\nconst LOGO_DEFAULTS: Record<LogoVariant, { shield: string; letters: string; wordmark: string }> = {\n auto: { shield: 'var(--jc-logo-shield)', letters: 'var(--jc-logo-letters)', wordmark: 'var(--jc-logo-wordmark)' },\n light: { shield: '#0E36E3', letters: '#0E36E3', wordmark: '#0E36E3' },\n dark: { shield: '#FFFFFF', letters: '#FFFFFF', wordmark: '#FFFFFF' },\n};\n\nexport interface JcLogoProps extends BrandSvgProps {\n /** `full` = brasão + \"Decor\" · `mark` = só o brasão · `wordmark` = só \"Decor\" @default 'full' */\n type?: 'full' | 'mark' | 'wordmark';\n /**\n * Para qual fundo: `auto` segue o tema (claro/escuro) · `light` = fundo claro (azul original)\n * · `dark` = fundo escuro (branco), ex.: barra navy mesmo no tema claro. @default 'auto'\n */\n variant?: LogoVariant;\n /** Cor única para o logo inteiro (sobrepõe as cores do variant) */\n color?: MantineColor | string;\n /** Cor do contorno do brasão */\n shieldColor?: MantineColor | string;\n /** Cor das letras JC */\n lettersColor?: MantineColor | string;\n /** Cor de \"Decor\" */\n wordmarkColor?: MantineColor | string;\n}\n\n/** Logo principal JC Decor, com variantes para fundo claro e escuro e recoloração por parte. */\nexport function JcLogo({\n type = 'full',\n variant = 'auto',\n color,\n shieldColor,\n lettersColor,\n wordmarkColor,\n title = 'JC Decor',\n size = 40,\n ...others\n}: JcLogoProps) {\n const resolve = useColor();\n const d = LOGO_DEFAULTS[variant];\n const shield = resolve(shieldColor ?? color, d.shield);\n const letters = resolve(lettersColor ?? color, d.letters);\n const wordmark = resolve(wordmarkColor ?? color, d.wordmark);\n\n return (\n <Svg viewBox={logoPaths.viewBox[type]} title={title} size={size} data-variant={variant} {...others}>\n {type !== 'wordmark' && (\n <g>\n <path fill={shield} d={logoPaths.shield} />\n {logoPaths.letters.map((p, i) => (\n <path key={i} fill={letters} d={p} />\n ))}\n </g>\n )}\n {type !== 'mark' && (\n <g fill={wordmark}>\n {logoPaths.wordmark.map((p, i) => (\n <path key={i} d={p} />\n ))}\n </g>\n )}\n </Svg>\n );\n}\nJcLogo.displayName = '@jcdecor/ui/JcLogo';\n\n/* ───────────────────────────── Logo alternativo ───────────────────────────── */\n\nconst ALT_DEFAULTS: Record<LogoVariant, { fill: string; stroke: string }> = {\n auto: { fill: 'var(--jc-art-primary)', stroke: 'var(--jc-art-ink)' },\n light: { fill: '#2A2758', stroke: '#000000' },\n dark: { fill: '#FFFFFF', stroke: '#FFFFFF' },\n};\n\nexport interface JcLogoAltProps extends BrandSvgProps {\n /** @default 'auto' */\n variant?: LogoVariant;\n /** Cor do brasão */\n color?: MantineColor | string;\n /** Cor do contorno (`none` remove) */\n strokeColor?: MantineColor | string;\n /** Cor das letras JC (por padrão são vazadas e mostram o fundo) */\n lettersColor?: MantineColor | string;\n}\n\n/** Brasão JC (logo alternativo, para avatar, favicon, selos). Letras vazadas ou coloridas. */\nexport function JcLogoAlt({ variant = 'auto', color, strokeColor, lettersColor, title = 'JC Decor', size = 48, ...others }: JcLogoAltProps) {\n const resolve = useColor();\n const d = ALT_DEFAULTS[variant];\n const stroke = strokeColor === 'none' ? 'none' : resolve(strokeColor, d.stroke);\n return (\n <Svg viewBox={altLogoPaths.viewBox} title={title} size={size} {...others}>\n {lettersColor !== undefined && <path fill={resolve(lettersColor, '')} d={altLogoPaths.outline} />}\n <path fill={resolve(color, d.fill)} stroke={stroke} strokeWidth={altLogoPaths.strokeWidth} d={altLogoPaths.shape} />\n </Svg>\n );\n}\nJcLogoAlt.displayName = '@jcdecor/ui/JcLogoAlt';\n\n/* ───────────────────────────── Elmo espartano ───────────────────────────── */\n\nexport interface SpartanHelmetProps extends BrandSvgProps {\n /** Cor do traço/contorno @default var(--jc-art-ink) */\n color?: MantineColor | string;\n /** Cor da crista @default var(--jc-art-primary) */\n crestColor?: MantineColor | string;\n /** Cor do metal/face do elmo @default var(--jc-art-paper) */\n faceColor?: MantineColor | string;\n}\n\n/** Elmo espartano (mascote) com crista, face e traço recoloríveis. */\nexport function SpartanHelmet({ color, crestColor, faceColor, size = 64, ...others }: SpartanHelmetProps) {\n const resolve = useColor();\n return (\n <Svg viewBox={spartanPaths.viewBox} size={size} {...others}>\n <path fill={resolve(faceColor, 'var(--jc-art-paper)')} d={spartanPaths.face} />\n <path fill={resolve(crestColor, 'var(--jc-art-primary)')} d={spartanPaths.crest} />\n <path fill={resolve(color, 'var(--jc-art-ink)')} d={spartanPaths.ink} />\n </Svg>\n );\n}\nSpartanHelmet.displayName = '@jcdecor/ui/SpartanHelmet';\n\n/* ───────────────────────────── Moldura grega ───────────────────────────── */\n\nexport interface GreekFrameProps extends BrandSvgProps {\n /** Cor do ornamento @default var(--jc-art-primary) */\n color?: MantineColor | string;\n /** Preenchimento do círculo interno (ex.: fundo atrás do conteúdo) */\n fill?: MantineColor | string;\n /** Conteúdo centralizado dentro do círculo (avatar, logo, número, ícone…) */\n children?: React.ReactNode;\n}\n\n/** Moldura circular com grega espartana; aceita conteúdo no centro (recortado em círculo). */\nexport function GreekFrame({ color, fill, children, size = 96, title, className, style, ...others }: GreekFrameProps) {\n const resolve = useColor();\n const c = resolve(color, 'var(--jc-art-primary)');\n const [inner, outer] = greekFramePaths.rings;\n const svg = (\n <Svg viewBox={greekFramePaths.viewBox} size=\"100%\" title={title}>\n <g transform={greekFramePaths.transform} stroke={c} strokeWidth={0.1}>\n {fill !== undefined && <ellipse cx={inner.cx} cy={inner.cy} rx={inner.rx} ry={inner.ry} fill={resolve(fill, 'none')} stroke=\"none\" />}\n <path fill={c} d={greekFramePaths.key} />\n <ellipse cx={inner.cx} cy={inner.cy} rx={inner.rx} ry={inner.ry} fill=\"none\" strokeWidth={0.5} />\n <ellipse cx={outer.cx} cy={outer.cy} rx={outer.rx} ry={outer.ry} fill=\"none\" strokeWidth={0.5} />\n </g>\n </Svg>\n );\n return (\n <Box\n className={className ? `${classes.frame} ${className}` : classes.frame}\n style={[{ ['--frame-size' as string]: toCss(size) }, style]}\n {...(others as Record<string, unknown>)}\n >\n {svg}\n {children !== undefined && <div className={classes.frameContent}>{children}</div>}\n </Box>\n );\n}\nGreekFrame.displayName = '@jcdecor/ui/GreekFrame';\n\n/* ───────────────────────────── Colaborador ───────────────────────────── */\n\nexport interface CollaboratorProps extends BrandSvgProps {\n /** Cor da figura inteira @default currentColor */\n color?: MantineColor | string;\n /** Cor da cabeça/boné (sobrepõe `color`) */\n headColor?: MantineColor | string;\n /** Cor do corpo (sobrepõe `color`) */\n bodyColor?: MantineColor | string;\n}\n\n/** Silhueta de colaborador/instalador (boné) — usa `currentColor` por padrão, como um ícone. */\nexport function Collaborator({ color, headColor, bodyColor, size = 48, ...others }: CollaboratorProps) {\n const resolve = useColor();\n const base = resolve(color, 'currentColor');\n return (\n <Svg viewBox={collaboratorPaths.viewBox} size={size} {...others}>\n <path fill={headColor !== undefined ? resolve(headColor, base) : base} d={collaboratorPaths.head} />\n <path fill={bodyColor !== undefined ? resolve(bodyColor, base) : base} d={collaboratorPaths.body} />\n </Svg>\n );\n}\nCollaborator.displayName = '@jcdecor/ui/Collaborator';\n"],"mappings":";;;;AAIA,IAAaC,IAAY;CACvB,SAAS;EAAE,MAAM;EAAc,MAAM;EAAwB,UAAU;CAA0B;CACjG,UAAU;EAAC;EAAsM;EAAgX;EAA8W;EAAmc;CAAmK;CACrhD,SAAS;EAAC;EAA6D;EAA6hB;EAA+B;EAAiuB;EAAkC;EAAsB;EAA+B;CAAsD;CACj/C,QAAQ;AACV,GAGaC,IAAe;CAAE,SAAS;CAAmB,OAAO;CAAoqC,SAAS;CAAkhB,aAAa;AAAK,GAGrwDC,IAAe;CAAE,SAAS;CAAmB,MAAM;CAAimB,OAAO;CAAwU,KAAK;AAAo0U,GAG5yWC,IAAkB;CAAE,SAAS;CAAmB,WAAW;CAA6B,KAAK;CAA2m/B,OAAO,CAAC;EAACC,IAAM;EAAOC,IAAM;EAAQC,IAAM;EAAOC,IAAM;CAAK,GAAG;EAACH,IAAM;EAAOC,IAAM;EAAQC,IAAM;EAAOC,IAAM;CAAK,CAAC;AAAE,GAG9z/BC,IAAoB;CAAE,SAAS;CAAqB,MAAM;CAAk2B,MAAM;AAAgsB;;;;;;;AEA/mD,SAASE,IAAW;CAClB,IAAMC,IAAQC,EAAgB;CAC9B,QAAQ,GAA0C,MAChDC,KAAiC,QAAQA,MAAU,KAAKC,IAAWC,EAAcF,GAAOF,CAAK;AACjG;AAEA,IAAMK,KAAS,MAAwB,OAAOC,KAAM,WAAW,GAAGA,EAAE,MAAMA;AAE1E,SAASC,EAAI,EAAE,UAAO,IAAI,UAAO,YAAS,aAAU,cAAW,GAAGC,KAA+C;CAC/G,OACE,kBAACC,GAAD;EACE,WAAU;EACD;EACT,OAAM;EACN,MAAMC,IAAQ,QAAQ,KAAA;EACtB,eAAa,MAAQ,KAAA;EACrB,WAAWC,IAAY,GAAGvB,EAAQ,IAAI,GAAGuB,MAAcvB,EAAQ;EAC/D,OAAO,EAAE,QAAQiB,EAAMO,CAAI,EAAE;EAC7B,GAAKJ;EARP,UAAA,CAUGE,KAAS,kBAAC,SAAD,EAAA,UAAQA,EAAa,CAAA,GAC9BG,CACE;;AAET;AAOA,IAAMC,IAA4F;CAChG,MAAM;EAAE,QAAQ;EAAyB,SAAS;EAA0B,UAAU;CAA0B;CAChH,OAAO;EAAE,QAAQ;EAAW,SAAS;EAAW,UAAU;CAAU;CACpE,MAAM;EAAE,QAAQ;EAAW,SAAS;EAAW,UAAU;CAAU;AACrE;AAqBA,SAAgBC,EAAO,EACrB,UAAO,QACP,aAAU,QACV,UACA,gBACA,iBACA,kBACA,WAAQ,YACR,UAAO,IACP,GAAGP,KACW;CACd,IAAMQ,IAAUjB,EAAS,GACnBkB,IAAIH,EAAcI,IAClBC,IAASH,EAAQI,KAAeC,GAAOJ,EAAE,MAAM,GAC/CK,IAAUN,EAAQO,KAAgBF,GAAOJ,EAAE,OAAO,GAClDO,IAAWR,EAAQS,KAAiBJ,GAAOJ,EAAE,QAAQ;CAE3D,OACE,kBAACV,GAAD;EAAK,SAASlB,EAAU,QAAQqC;EAAc;EAAa;EAAM,gBAAcR;EAAS,GAAIV;EAA5F,UAAA,CACGkB,MAAS,cACR,kBAAC,KAAD,EAAA,UAAA,CACE,kBAAC,QAAD;GAAM,MAAMP;GAAQ,GAAG9B,EAAU;EAAS,CAAA,GACzCA,EAAU,QAAQ,KAAK,GAAG,MACzB,kBAAC,QAAD;GAAc,MAAMiC;GAAS,GAAGK;EAAI,GAAzBC,CAAyB,CACrC,CACA,EAAA,CAAA,GAEJF,MAAS,UACR,kBAAC,KAAD;GAAG,MAAMF;GACN,UAAAnC,EAAU,SAAS,KAAK,GAAG,MAC1B,kBAAC,QAAD,EAAc,GAAGsC,EAAI,GAAVC,CAAU,CACtB;EACA,CAAA,CAEF;;AAET;AACA,EAAO,cAAc;AAIrB,IAAMC,IAAsE;CAC1E,MAAM;EAAE,MAAM;EAAyB,QAAQ;CAAoB;CACnE,OAAO;EAAE,MAAM;EAAW,QAAQ;CAAU;CAC5C,MAAM;EAAE,MAAM;EAAW,QAAQ;CAAU;AAC7C;AAcA,SAAgBC,EAAU,EAAE,aAAU,QAAQ,UAAO,gBAAa,iBAAc,WAAQ,YAAY,UAAO,IAAI,GAAGtB,KAA0B;CAC1I,IAAMQ,IAAUjB,EAAS,GACnBkB,IAAIY,EAAaX,IACjBa,IAASC,MAAgB,SAAS,SAAShB,EAAQgB,GAAaf,EAAE,MAAM;CAC9E,OACE,kBAACV,GAAD;EAAK,SAASjB,EAAa;EAAgB;EAAa;EAAM,GAAIkB;EAAlE,UAAA,CACGe,MAAiB,KAAA,KAAa,kBAAC,QAAD;GAAM,MAAMP,EAAQO,GAAc,EAAE;GAAG,GAAGjC,EAAa;EAAU,CAAA,GAChG,kBAAC,QAAD;GAAM,MAAM0B,EAAQK,GAAOJ,EAAE,IAAI;GAAW;GAAQ,aAAa3B,EAAa;GAAa,GAAGA,EAAa;EAAQ,CAAA,CAChH;;AAET;AACA,EAAU,cAAc;AAcxB,SAAgB2C,EAAc,EAAE,UAAO,eAAY,cAAW,UAAO,IAAI,GAAGzB,KAA8B;CACxG,IAAMQ,IAAUjB,EAAS;CACzB,OACE,kBAACQ,GAAD;EAAK,SAAShB,EAAa;EAAe;EAAM,GAAIiB;EAApD,UAAA;GACE,kBAAC,QAAD;IAAM,MAAMQ,EAAQkB,GAAW,qBAAqB;IAAG,GAAG3C,EAAa;GAAO,CAAA;GAC9E,kBAAC,QAAD;IAAM,MAAMyB,EAAQmB,GAAY,uBAAuB;IAAG,GAAG5C,EAAa;GAAQ,CAAA;GAClF,kBAAC,QAAD;IAAM,MAAMyB,EAAQK,GAAO,mBAAmB;IAAG,GAAG9B,EAAa;GAAM,CAAA;EACpE;;AAET;AACA,EAAc,cAAc;AAc5B,SAAgB6C,EAAW,EAAE,UAAO,SAAM,aAAU,UAAO,IAAI,UAAO,cAAW,UAAO,GAAG5B,KAA2B;CACpH,IAAMQ,IAAUjB,EAAS,GACnBsC,IAAIrB,EAAQK,GAAO,uBAAuB,GAC1C,CAACiB,GAAOC,KAAS/C,EAAgB,OACjCgD,IACJ,kBAACjC,GAAD;EAAK,SAASf,EAAgB;EAAS,MAAK;EAAc;EACxD,UAAA,kBAAC,KAAD;GAAG,WAAWA,EAAgB;GAAW,QAAQ6C;GAAG,aAAa;GAAjE,UAAA;IACGI,MAAS,KAAA,KAAa,kBAAC,WAAD;KAAS,IAAIH,EAAM;KAAI,IAAIA,EAAM;KAAI,IAAIA,EAAM;KAAI,IAAIA,EAAM;KAAI,MAAMtB,EAAQyB,GAAM,MAAM;KAAG,QAAO;IAAQ,CAAA;IACpI,kBAAC,QAAD;KAAM,MAAMJ;KAAG,GAAG7C,EAAgB;IAAM,CAAA;IACxC,kBAAC,WAAD;KAAS,IAAI8C,EAAM;KAAI,IAAIA,EAAM;KAAI,IAAIA,EAAM;KAAI,IAAIA,EAAM;KAAI,MAAK;KAAO,aAAa;IAAM,CAAA;IAChG,kBAAC,WAAD;KAAS,IAAIC,EAAM;KAAI,IAAIA,EAAM;KAAI,IAAIA,EAAM;KAAI,IAAIA,EAAM;KAAI,MAAK;KAAO,aAAa;IAAM,CAAA;GAC/F;;CACA,CAAA;CAEP,OACE,kBAAC9B,GAAD;EACE,WAAWE,IAAY,GAAGvB,EAAQ,MAAM,GAAGuB,MAAcvB,EAAQ;EACjE,OAAO,CAAC,EAAG,gBAA2BiB,EAAMO,CAAI,EAAE,GAAG8B,CAAK;EAC1D,GAAKlC;EAHP,UAAA,CAKGgC,GACA3B,MAAa,KAAA,KAAa,kBAAC,OAAD;GAAK,WAAWzB,EAAQ;GAAe;EAAc,CAAA,CAC7E;;AAET;AACA,EAAW,cAAc;AAczB,SAAgBuD,EAAa,EAAE,UAAO,cAAW,cAAW,UAAO,IAAI,GAAGnC,KAA6B;CACrG,IAAMQ,IAAUjB,EAAS,GACnB6C,IAAO5B,EAAQK,GAAO,cAAc;CAC1C,OACE,kBAACd,GAAD;EAAK,SAASV,EAAkB;EAAe;EAAM,GAAIW;EAAzD,UAAA,CACE,kBAAC,QAAD;GAAM,MAAMqC,MAAc,KAAA,IAAuCD,IAA3B5B,EAAQ6B,GAAWD,CAAI;GAAU,GAAG/C,EAAkB;EAAO,CAAA,GACnG,kBAAC,QAAD;GAAM,MAAMiD,MAAc,KAAA,IAAuCF,IAA3B5B,EAAQ8B,GAAWF,CAAI;GAAU,GAAG/C,EAAkB;EAAO,CAAA,CAChG;;AAET;AACA,EAAa,cAAc"}
|
package/dist/brand.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './brand/index';
|
package/dist/brand.js
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { a as e, c as t, i as n, l as r, n as i, o as a, r as o, s, t as c, u as l } from "./brand-CXtAwb1A.js";
|
|
3
|
+
export { c as Collaborator, i as GreekFrame, o as JcLogo, n as JcLogoAlt, e as SpartanHelmet, a as altLogoPaths, s as collaboratorPaths, t as greekFramePaths, r as logoPaths, l as spartanPaths };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type CardProps } from '@mantine/core';
|
|
2
|
+
export interface ChartCardProps extends Omit<CardProps, 'title'> {
|
|
3
|
+
kicker?: React.ReactNode;
|
|
4
|
+
title: React.ReactNode;
|
|
5
|
+
description?: React.ReactNode;
|
|
6
|
+
/** Valor em destaque ao lado do título (ex.: total do período) */
|
|
7
|
+
value?: React.ReactNode;
|
|
8
|
+
/** Opções de período (ex.: ['7d', '30d', '90d']) */
|
|
9
|
+
periods?: string[];
|
|
10
|
+
period?: string;
|
|
11
|
+
onPeriodChange?: (period: string) => void;
|
|
12
|
+
/** Ações extras no cabeçalho */
|
|
13
|
+
actions?: React.ReactNode;
|
|
14
|
+
children: React.ReactNode;
|
|
15
|
+
}
|
|
16
|
+
/** Card de gráfico: título, valor em destaque, seletor de período e o gráfico. */
|
|
17
|
+
export declare function ChartCard({ kicker, title, description, value, periods, period, onPeriodChange, actions, children, ...others }: ChartCardProps): import("react").JSX.Element;
|
|
18
|
+
export declare namespace ChartCard {
|
|
19
|
+
var displayName: string;
|
|
20
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { type AreaChartProps as MAreaChartProps, type BarChartProps as MBarChartProps, type CompositeChartProps as MCompositeChartProps, type DonutChartCell, type DonutChartProps as MDonutChartProps, type LineChartProps as MLineChartProps, type PieChartCell, type PieChartProps as MPieChartProps, type RadarChartProps as MRadarChartProps, type SparklineProps as MSparklineProps } from '@mantine/charts';
|
|
2
|
+
type Optional<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
|
|
3
|
+
type SeriesWithOptionalColor<S> = Optional<S & {
|
|
4
|
+
color?: string;
|
|
5
|
+
}, 'color'>;
|
|
6
|
+
export type LineChartProps = Omit<MLineChartProps, 'series'> & {
|
|
7
|
+
series: SeriesWithOptionalColor<MLineChartProps['series'][number]>[];
|
|
8
|
+
};
|
|
9
|
+
export declare function LineChart({ series, ...props }: LineChartProps): import("react").JSX.Element;
|
|
10
|
+
export type AreaChartProps = Omit<MAreaChartProps, 'series'> & {
|
|
11
|
+
series: SeriesWithOptionalColor<MAreaChartProps['series'][number]>[];
|
|
12
|
+
};
|
|
13
|
+
export declare function AreaChart({ series, ...props }: AreaChartProps): import("react").JSX.Element;
|
|
14
|
+
export type BarChartProps = Omit<MBarChartProps, 'series'> & {
|
|
15
|
+
series: SeriesWithOptionalColor<MBarChartProps['series'][number]>[];
|
|
16
|
+
};
|
|
17
|
+
export declare function BarChart({ series, ...props }: BarChartProps): import("react").JSX.Element;
|
|
18
|
+
export type CompositeChartProps = Omit<MCompositeChartProps, 'series'> & {
|
|
19
|
+
series: SeriesWithOptionalColor<MCompositeChartProps['series'][number]>[];
|
|
20
|
+
};
|
|
21
|
+
export declare function CompositeChart({ series, ...props }: CompositeChartProps): import("react").JSX.Element;
|
|
22
|
+
export type RadarChartProps = Omit<MRadarChartProps, 'series'> & {
|
|
23
|
+
series: SeriesWithOptionalColor<MRadarChartProps['series'][number]>[];
|
|
24
|
+
};
|
|
25
|
+
export declare function RadarChart({ series, ...props }: RadarChartProps): import("react").JSX.Element;
|
|
26
|
+
export type DonutChartProps = Omit<MDonutChartProps, 'data'> & {
|
|
27
|
+
data: Optional<DonutChartCell, 'color'>[];
|
|
28
|
+
};
|
|
29
|
+
export declare function DonutChart({ data, ...props }: DonutChartProps): import("react").JSX.Element;
|
|
30
|
+
export type PieChartProps = Omit<MPieChartProps, 'data'> & {
|
|
31
|
+
data: Optional<PieChartCell, 'color'>[];
|
|
32
|
+
};
|
|
33
|
+
export declare function PieChart({ data, ...props }: PieChartProps): import("react").JSX.Element;
|
|
34
|
+
export type SparklineProps = Optional<MSparklineProps, 'color'>;
|
|
35
|
+
export declare function Sparkline(props: SparklineProps): import("react").JSX.Element;
|
|
36
|
+
export {};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export * from './charts';
|
|
2
|
+
export * from './ChartCard';
|
|
3
|
+
export { chartPalette, chartColors, paletteColor, withPalette, ptBRValueFormatter } from './palette';
|
|
4
|
+
export { ScatterChart, BubbleChart, FunnelChart, Heatmap, BarsList, RadialBarChart, ChartTooltip, ChartLegend, } from '@mantine/charts';
|
|
5
|
+
export type { ChartSeries, ChartData } from '@mantine/charts';
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { chartColors, chartPalette } from '../theme/tokens';
|
|
2
|
+
export { chartColors, chartPalette };
|
|
3
|
+
/** Cor da série `index` na paleta da marca (cicla quando acaba). */
|
|
4
|
+
export declare function paletteColor(index: number): string;
|
|
5
|
+
/** Preenche `color` das séries que não definiram cor, na ordem da paleta JC. */
|
|
6
|
+
export declare function withPalette<T extends {
|
|
7
|
+
color?: string;
|
|
8
|
+
}>(items: T[]): (T & {
|
|
9
|
+
color: string;
|
|
10
|
+
})[];
|
|
11
|
+
/** Formatador padrão dos gráficos: números pt-BR (54.959). */
|
|
12
|
+
export declare const ptBRValueFormatter: (value: number) => string;
|
package/dist/charts.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './charts/index';
|
package/dist/charts.js
ADDED
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { n as e, r as t } from "./tokens-BBTJY6nq.js";
|
|
3
|
+
import { a as n, d as r } from "./format-Cxmo46_A.js";
|
|
4
|
+
import { Card as i, Group as a, SegmentedControl as o, Text as s } from "@mantine/core";
|
|
5
|
+
import { jsx as c, jsxs as l } from "react/jsx-runtime";
|
|
6
|
+
import { AreaChart as u, BarChart as d, BarsList as f, BubbleChart as p, ChartLegend as m, ChartTooltip as h, CompositeChart as g, DonutChart as _, FunnelChart as v, Heatmap as y, LineChart as b, PieChart as x, RadarChart as S, RadialBarChart as C, ScatterChart as w, Sparkline as T } from "@mantine/charts";
|
|
7
|
+
//#region src/charts/palette.ts
|
|
8
|
+
function E(e) {
|
|
9
|
+
return t[e % t.length];
|
|
10
|
+
}
|
|
11
|
+
function D(e) {
|
|
12
|
+
return e.map((e, t) => ({
|
|
13
|
+
...e,
|
|
14
|
+
color: e.color ?? E(t)
|
|
15
|
+
}));
|
|
16
|
+
}
|
|
17
|
+
var O = (e) => n(e);
|
|
18
|
+
//#endregion
|
|
19
|
+
//#region src/charts/charts.tsx
|
|
20
|
+
function k({ series: e, ...t }) {
|
|
21
|
+
return /* @__PURE__ */ c(b, {
|
|
22
|
+
h: 280,
|
|
23
|
+
curveType: "monotone",
|
|
24
|
+
strokeWidth: 2.5,
|
|
25
|
+
valueFormatter: O,
|
|
26
|
+
series: D(e),
|
|
27
|
+
...t
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
function A({ series: e, ...t }) {
|
|
31
|
+
return /* @__PURE__ */ c(u, {
|
|
32
|
+
h: 280,
|
|
33
|
+
curveType: "monotone",
|
|
34
|
+
strokeWidth: 2.5,
|
|
35
|
+
fillOpacity: .25,
|
|
36
|
+
valueFormatter: O,
|
|
37
|
+
series: D(e),
|
|
38
|
+
...t
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
function j({ series: e, ...t }) {
|
|
42
|
+
let n = t.type === "stacked" || t.type === "percent";
|
|
43
|
+
return /* @__PURE__ */ c(d, {
|
|
44
|
+
h: 280,
|
|
45
|
+
barProps: { radius: n ? 0 : 4 },
|
|
46
|
+
valueFormatter: O,
|
|
47
|
+
series: D(e),
|
|
48
|
+
...t
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
function M({ series: e, ...t }) {
|
|
52
|
+
return /* @__PURE__ */ c(g, {
|
|
53
|
+
h: 280,
|
|
54
|
+
curveType: "monotone",
|
|
55
|
+
valueFormatter: O,
|
|
56
|
+
series: D(e),
|
|
57
|
+
...t
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
function N({ series: e, ...t }) {
|
|
61
|
+
return /* @__PURE__ */ c(S, {
|
|
62
|
+
h: 300,
|
|
63
|
+
series: D(e),
|
|
64
|
+
...t
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
function P({ data: e, ...t }) {
|
|
68
|
+
return /* @__PURE__ */ c(_, {
|
|
69
|
+
withTooltip: !0,
|
|
70
|
+
valueFormatter: O,
|
|
71
|
+
paddingAngle: 2,
|
|
72
|
+
thickness: 24,
|
|
73
|
+
data: D(e),
|
|
74
|
+
...t
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
function F({ data: e, ...t }) {
|
|
78
|
+
return /* @__PURE__ */ c(x, {
|
|
79
|
+
withTooltip: !0,
|
|
80
|
+
valueFormatter: O,
|
|
81
|
+
data: D(e),
|
|
82
|
+
...t
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
function I(e) {
|
|
86
|
+
return /* @__PURE__ */ c(T, {
|
|
87
|
+
h: 48,
|
|
88
|
+
curveType: "monotone",
|
|
89
|
+
color: E(0),
|
|
90
|
+
fillOpacity: .3,
|
|
91
|
+
strokeWidth: 2,
|
|
92
|
+
...e
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
//#endregion
|
|
96
|
+
//#region src/charts/ChartCard.tsx
|
|
97
|
+
function L({ kicker: e, title: t, description: n, value: u, periods: d, period: f, onPeriodChange: p, actions: m, children: h, ...g }) {
|
|
98
|
+
return /* @__PURE__ */ l(i, {
|
|
99
|
+
...g,
|
|
100
|
+
children: [/* @__PURE__ */ l(a, {
|
|
101
|
+
justify: "space-between",
|
|
102
|
+
align: "flex-start",
|
|
103
|
+
mb: "lg",
|
|
104
|
+
gap: "sm",
|
|
105
|
+
children: [/* @__PURE__ */ l("div", {
|
|
106
|
+
style: {
|
|
107
|
+
flex: "1 1 220px",
|
|
108
|
+
minWidth: 0
|
|
109
|
+
},
|
|
110
|
+
children: [
|
|
111
|
+
e && /* @__PURE__ */ c(r, {
|
|
112
|
+
mb: 4,
|
|
113
|
+
children: e
|
|
114
|
+
}),
|
|
115
|
+
/* @__PURE__ */ c(s, {
|
|
116
|
+
fw: 600,
|
|
117
|
+
fz: "var(--type-subheadline-lg)",
|
|
118
|
+
lh: 1.3,
|
|
119
|
+
children: t
|
|
120
|
+
}),
|
|
121
|
+
n && /* @__PURE__ */ c(s, {
|
|
122
|
+
fz: "xs",
|
|
123
|
+
c: "var(--ds-text-3)",
|
|
124
|
+
mt: 2,
|
|
125
|
+
children: n
|
|
126
|
+
}),
|
|
127
|
+
u != null && /* @__PURE__ */ c(s, {
|
|
128
|
+
fw: 700,
|
|
129
|
+
fz: "var(--type-headline-md)",
|
|
130
|
+
mt: 4,
|
|
131
|
+
style: { fontVariantNumeric: "tabular-nums" },
|
|
132
|
+
children: u
|
|
133
|
+
})
|
|
134
|
+
]
|
|
135
|
+
}), /* @__PURE__ */ l(a, {
|
|
136
|
+
gap: "xs",
|
|
137
|
+
children: [d && d.length > 0 && /* @__PURE__ */ c(o, {
|
|
138
|
+
size: "xs",
|
|
139
|
+
data: d,
|
|
140
|
+
value: f,
|
|
141
|
+
onChange: p
|
|
142
|
+
}), m]
|
|
143
|
+
})]
|
|
144
|
+
}), h]
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
L.displayName = "@jcdecor/ui/ChartCard";
|
|
148
|
+
//#endregion
|
|
149
|
+
export { A as AreaChart, j as BarChart, f as BarsList, p as BubbleChart, L as ChartCard, m as ChartLegend, h as ChartTooltip, M as CompositeChart, P as DonutChart, v as FunnelChart, y as Heatmap, k as LineChart, F as PieChart, N as RadarChart, C as RadialBarChart, w as ScatterChart, I as Sparkline, e as chartColors, t as chartPalette, E as paletteColor, O as ptBRValueFormatter, D as withPalette };
|
|
150
|
+
|
|
151
|
+
//# sourceMappingURL=charts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"charts.js","names":["MLineChart","MAreaChart","MBarChart","MCompositeChart","MRadarChart","MDonutChart","MPieChart","MSparkline","chartColors","chartPalette","formatNumber","Kicker","AreaChart$1","BarChart$1","CompositeChart$1","DonutChart$1","LineChart$1","PieChart$1","RadarChart$1","Sparkline$1","paletteColor","index","withPalette","items","item","ptBRValueFormatter","value","LineChart","props","series","AreaChart","BarChart","stacked","CompositeChart","RadarChart","DonutChart","data","PieChart","Sparkline","ChartCard","others","Card","Group","kicker","Text","title","description","periods","SegmentedControl","period","onPeriodChange","actions","children","BarsList","BubbleChart","ChartLegend","ChartTooltip","FunnelChart","Heatmap","RadialBarChart","ScatterChart"],"sources":["../src/charts/palette.ts","../src/charts/charts.tsx","../src/charts/ChartCard.tsx"],"sourcesContent":["import { chartColors, chartPalette } from '../theme/tokens';\nimport { formatNumber } from '../utils/format';\n\nexport { chartColors, chartPalette };\n\n/** Cor da série `index` na paleta da marca (cicla quando acaba). */\nexport function paletteColor(index: number) {\n return chartPalette[index % chartPalette.length];\n}\n\n/** Preenche `color` das séries que não definiram cor, na ordem da paleta JC. */\nexport function withPalette<T extends { color?: string }>(items: T[]): (T & { color: string })[] {\n return items.map((item, index) => ({ ...item, color: item.color ?? paletteColor(index) }));\n}\n\n/** Formatador padrão dos gráficos: números pt-BR (54.959). */\nexport const ptBRValueFormatter = (value: number) => formatNumber(value);\n","import {\n AreaChart as MAreaChart,\n BarChart as MBarChart,\n CompositeChart as MCompositeChart,\n DonutChart as MDonutChart,\n LineChart as MLineChart,\n PieChart as MPieChart,\n RadarChart as MRadarChart,\n Sparkline as MSparkline,\n type AreaChartProps as MAreaChartProps,\n type BarChartProps as MBarChartProps,\n type CompositeChartProps as MCompositeChartProps,\n type DonutChartCell,\n type DonutChartProps as MDonutChartProps,\n type LineChartProps as MLineChartProps,\n type PieChartCell,\n type PieChartProps as MPieChartProps,\n type RadarChartProps as MRadarChartProps,\n type SparklineProps as MSparklineProps,\n} from '@mantine/charts';\nimport { paletteColor, ptBRValueFormatter, withPalette } from './palette';\n\ntype Optional<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;\ntype SeriesWithOptionalColor<S> = Optional<S & { color?: string }, 'color'>;\n\n/*\n * Wrappers finos dos gráficos do @mantine/charts com os padrões JC Decor:\n * - séries sem `color` recebem a paleta da marca (horizon, evergreen, electric…)\n * - números formatados em pt-BR\n * - curvas suaves; barras arredondadas (exceto empilhadas)\n * Todas as props do Mantine continuam disponíveis e têm prioridade.\n */\n\nexport type LineChartProps = Omit<MLineChartProps, 'series'> & { series: SeriesWithOptionalColor<MLineChartProps['series'][number]>[] };\nexport function LineChart({ series, ...props }: LineChartProps) {\n return (\n <MLineChart h={280} curveType=\"monotone\" strokeWidth={2.5} valueFormatter={ptBRValueFormatter} series={withPalette(series)} {...props} />\n );\n}\n\nexport type AreaChartProps = Omit<MAreaChartProps, 'series'> & { series: SeriesWithOptionalColor<MAreaChartProps['series'][number]>[] };\nexport function AreaChart({ series, ...props }: AreaChartProps) {\n return (\n <MAreaChart h={280} curveType=\"monotone\" strokeWidth={2.5} fillOpacity={0.25} valueFormatter={ptBRValueFormatter} series={withPalette(series)} {...props} />\n );\n}\n\nexport type BarChartProps = Omit<MBarChartProps, 'series'> & { series: SeriesWithOptionalColor<MBarChartProps['series'][number]>[] };\nexport function BarChart({ series, ...props }: BarChartProps) {\n const stacked = props.type === 'stacked' || props.type === 'percent';\n return <MBarChart h={280} barProps={{ radius: stacked ? 0 : 4 }} valueFormatter={ptBRValueFormatter} series={withPalette(series)} {...props} />;\n}\n\nexport type CompositeChartProps = Omit<MCompositeChartProps, 'series'> & { series: SeriesWithOptionalColor<MCompositeChartProps['series'][number]>[] };\nexport function CompositeChart({ series, ...props }: CompositeChartProps) {\n return <MCompositeChart h={280} curveType=\"monotone\" valueFormatter={ptBRValueFormatter} series={withPalette(series)} {...props} />;\n}\n\nexport type RadarChartProps = Omit<MRadarChartProps, 'series'> & { series: SeriesWithOptionalColor<MRadarChartProps['series'][number]>[] };\nexport function RadarChart({ series, ...props }: RadarChartProps) {\n return <MRadarChart h={300} series={withPalette(series)} {...props} />;\n}\n\nexport type DonutChartProps = Omit<MDonutChartProps, 'data'> & { data: Optional<DonutChartCell, 'color'>[] };\nexport function DonutChart({ data, ...props }: DonutChartProps) {\n return <MDonutChart withTooltip valueFormatter={ptBRValueFormatter} paddingAngle={2} thickness={24} data={withPalette(data)} {...props} />;\n}\n\nexport type PieChartProps = Omit<MPieChartProps, 'data'> & { data: Optional<PieChartCell, 'color'>[] };\nexport function PieChart({ data, ...props }: PieChartProps) {\n return <MPieChart withTooltip valueFormatter={ptBRValueFormatter} data={withPalette(data)} {...props} />;\n}\n\nexport type SparklineProps = Optional<MSparklineProps, 'color'>;\nexport function Sparkline(props: SparklineProps) {\n return <MSparkline h={48} curveType=\"monotone\" color={paletteColor(0)} fillOpacity={0.3} strokeWidth={2} {...props} />;\n}\n","import { Card, Group, SegmentedControl, Text, type CardProps } from '@mantine/core';\nimport { Kicker } from '../components/Typography';\n\nexport interface ChartCardProps extends Omit<CardProps, 'title'> {\n kicker?: React.ReactNode;\n title: React.ReactNode;\n description?: React.ReactNode;\n /** Valor em destaque ao lado do título (ex.: total do período) */\n value?: React.ReactNode;\n /** Opções de período (ex.: ['7d', '30d', '90d']) */\n periods?: string[];\n period?: string;\n onPeriodChange?: (period: string) => void;\n /** Ações extras no cabeçalho */\n actions?: React.ReactNode;\n children: React.ReactNode;\n}\n\n/** Card de gráfico: título, valor em destaque, seletor de período e o gráfico. */\nexport function ChartCard({\n kicker,\n title,\n description,\n value,\n periods,\n period,\n onPeriodChange,\n actions,\n children,\n ...others\n}: ChartCardProps) {\n return (\n <Card {...others}>\n <Group justify=\"space-between\" align=\"flex-start\" mb=\"lg\" gap=\"sm\">\n <div style={{ flex: '1 1 220px', minWidth: 0 }}>\n {kicker && <Kicker mb={4}>{kicker}</Kicker>}\n <Text fw={600} fz=\"var(--type-subheadline-lg)\" lh={1.3}>\n {title}\n </Text>\n {description && (\n <Text fz=\"xs\" c=\"var(--ds-text-3)\" mt={2}>\n {description}\n </Text>\n )}\n {value !== undefined && value !== null && (\n <Text fw={700} fz=\"var(--type-headline-md)\" mt={4} style={{ fontVariantNumeric: 'tabular-nums' }}>\n {value}\n </Text>\n )}\n </div>\n <Group gap=\"xs\">\n {periods && periods.length > 0 && (\n <SegmentedControl size=\"xs\" data={periods} value={period} onChange={onPeriodChange} />\n )}\n {actions}\n </Group>\n </Group>\n {children}\n </Card>\n );\n}\nChartCard.displayName = '@jcdecor/ui/ChartCard';\n"],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { type BoxProps } from '@mantine/core';
|
|
2
|
+
export interface ChatComposerSendPayload {
|
|
3
|
+
text: string;
|
|
4
|
+
files: File[];
|
|
5
|
+
}
|
|
6
|
+
export interface ChatComposerProps extends Omit<BoxProps, 'onSubmit'> {
|
|
7
|
+
value?: string;
|
|
8
|
+
defaultValue?: string;
|
|
9
|
+
onChange?: (value: string) => void;
|
|
10
|
+
/** Chamado ao enviar (Enter ou botão). O campo é limpo em seguida. */
|
|
11
|
+
onSend: (payload: ChatComposerSendPayload) => void;
|
|
12
|
+
placeholder?: string;
|
|
13
|
+
disabled?: boolean;
|
|
14
|
+
/** Habilita anexos; `accept` segue o atributo HTML (ex.: "image/*,.pdf") */
|
|
15
|
+
allowAttachments?: boolean;
|
|
16
|
+
accept?: string;
|
|
17
|
+
/** Máximo de linhas antes de rolar @default 5 */
|
|
18
|
+
maxRows?: number;
|
|
19
|
+
/** Elementos extras à esquerda (ex.: emoji picker, respostas rápidas) */
|
|
20
|
+
leftSection?: React.ReactNode;
|
|
21
|
+
sendLabel?: string;
|
|
22
|
+
}
|
|
23
|
+
/** Campo de mensagem: Enter envia, Shift+Enter quebra linha, anexos opcionais. */
|
|
24
|
+
export declare function ChatComposer({ value, defaultValue, onChange, onSend, placeholder, disabled, allowAttachments, accept, maxRows, leftSection, sendLabel, ...others }: ChatComposerProps): import("react").JSX.Element;
|
|
25
|
+
export declare namespace ChatComposer {
|
|
26
|
+
var displayName: string;
|
|
27
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { type BoxProps } from '@mantine/core';
|
|
2
|
+
export interface ChatHeaderProps extends BoxProps {
|
|
3
|
+
title: React.ReactNode;
|
|
4
|
+
subtitle?: React.ReactNode;
|
|
5
|
+
avatar?: string;
|
|
6
|
+
/** Nome para iniciais do avatar */
|
|
7
|
+
avatarName?: string;
|
|
8
|
+
online?: boolean;
|
|
9
|
+
actions?: React.ReactNode;
|
|
10
|
+
/** Exibe botão voltar (mobile) */
|
|
11
|
+
onBack?: () => void;
|
|
12
|
+
}
|
|
13
|
+
/** Cabeçalho da conversa: avatar, nome, status e ações. */
|
|
14
|
+
export declare function ChatHeader({ title, subtitle, avatar, avatarName, online, actions, onBack, ...others }: ChatHeaderProps): import("react").JSX.Element;
|
|
15
|
+
export declare namespace ChatHeader {
|
|
16
|
+
var displayName: string;
|
|
17
|
+
}
|
|
18
|
+
export interface ChatLayoutProps extends BoxProps {
|
|
19
|
+
/** Lista de conversas (coluna esquerda) — omita para um chat único */
|
|
20
|
+
sidebar?: React.ReactNode;
|
|
21
|
+
header?: React.ReactNode;
|
|
22
|
+
/** Normalmente um <ChatThread /> */
|
|
23
|
+
children: React.ReactNode;
|
|
24
|
+
/** Normalmente um <ChatComposer /> */
|
|
25
|
+
composer?: React.ReactNode;
|
|
26
|
+
/** Altura total @default 600 */
|
|
27
|
+
height?: number | string;
|
|
28
|
+
sidebarWidth?: number | string;
|
|
29
|
+
/** Em telas pequenas mostra só a lista ou só a conversa @default 'thread' */
|
|
30
|
+
mobileView?: 'list' | 'thread';
|
|
31
|
+
}
|
|
32
|
+
/** Layout de chat: conversas + cabeçalho + mensagens + composer (responsivo). */
|
|
33
|
+
export declare function ChatLayout({ sidebar, header, children, composer, height, sidebarWidth, mobileView, style, ...others }: ChatLayoutProps): import("react").JSX.Element;
|
|
34
|
+
export declare namespace ChatLayout {
|
|
35
|
+
var displayName: string;
|
|
36
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { type BoxProps } from '@mantine/core';
|
|
2
|
+
import { type GroupPosition } from './utils';
|
|
3
|
+
import type { ChatAttachment, ChatMessageStatus, ChatUser } from './types';
|
|
4
|
+
export interface ChatMessageProps extends BoxProps, Omit<React.ComponentProps<'div'>, keyof BoxProps> {
|
|
5
|
+
/** Mensagem do usuário atual (alinhada à direita, bolha azul) */
|
|
6
|
+
own?: boolean;
|
|
7
|
+
author?: ChatUser;
|
|
8
|
+
/** Exibe o nome do autor acima da bolha (útil em grupos) */
|
|
9
|
+
showAuthor?: boolean;
|
|
10
|
+
/** Exibe avatar ao lado da bolha (só na última mensagem do grupo) @default true */
|
|
11
|
+
showAvatar?: boolean;
|
|
12
|
+
createdAt?: Date | string | number;
|
|
13
|
+
status?: ChatMessageStatus;
|
|
14
|
+
attachments?: ChatAttachment[];
|
|
15
|
+
/** Posição dentro de um grupo de mensagens consecutivas @default 'single' */
|
|
16
|
+
position?: GroupPosition;
|
|
17
|
+
/** Mensagem de sistema (centralizada) */
|
|
18
|
+
system?: boolean;
|
|
19
|
+
children?: React.ReactNode;
|
|
20
|
+
}
|
|
21
|
+
/** Bolha de mensagem de chat. */
|
|
22
|
+
export declare function ChatMessage({ own, author, showAuthor, showAvatar, createdAt, status, attachments, position, system, children, ...others }: ChatMessageProps): import("react").JSX.Element;
|
|
23
|
+
export declare namespace ChatMessage {
|
|
24
|
+
var displayName: string;
|
|
25
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { type ScrollAreaProps } from '@mantine/core';
|
|
2
|
+
import type { ChatMessageData, ChatUser } from './types';
|
|
3
|
+
export interface ChatThreadProps extends Omit<ScrollAreaProps, 'children'> {
|
|
4
|
+
messages: ChatMessageData[];
|
|
5
|
+
/** Id do usuário atual — suas mensagens ficam à direita */
|
|
6
|
+
currentUserId: string;
|
|
7
|
+
users?: ChatUser[] | Record<string, ChatUser>;
|
|
8
|
+
/** Nomes de quem está digitando agora */
|
|
9
|
+
typing?: string[];
|
|
10
|
+
/** Mostra nome do autor no início de cada grupo (conversas em grupo) */
|
|
11
|
+
showAuthors?: boolean;
|
|
12
|
+
/** Rola para a última mensagem quando chegam novas (se o usuário estiver perto do fim) @default true */
|
|
13
|
+
autoScroll?: boolean;
|
|
14
|
+
/** Janela (ms) para agrupar mensagens consecutivas do mesmo autor @default 300000 */
|
|
15
|
+
groupWindow?: number;
|
|
16
|
+
/** Conteúdo exibido quando não há mensagens */
|
|
17
|
+
empty?: React.ReactNode;
|
|
18
|
+
/** Renderização customizada do conteúdo da bolha */
|
|
19
|
+
renderContent?: (message: ChatMessageData) => React.ReactNode;
|
|
20
|
+
}
|
|
21
|
+
/** Lista rolável de mensagens com separadores de data, agrupamento e auto-scroll. */
|
|
22
|
+
export declare function ChatThread({ messages, currentUserId, users, typing, showAuthors, autoScroll, groupWindow, empty, renderContent, h, ...others }: ChatThreadProps): import("react").JSX.Element;
|
|
23
|
+
export declare namespace ChatThread {
|
|
24
|
+
var displayName: string;
|
|
25
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type BoxProps } from '@mantine/core';
|
|
2
|
+
import type { Conversation } from './types';
|
|
3
|
+
export interface ConversationListProps extends Omit<BoxProps, 'onSelect'> {
|
|
4
|
+
conversations: Conversation[];
|
|
5
|
+
activeId?: string | null;
|
|
6
|
+
onSelect?: (conversation: Conversation) => void;
|
|
7
|
+
/** Exibe campo de busca @default true */
|
|
8
|
+
searchable?: boolean;
|
|
9
|
+
searchPlaceholder?: string;
|
|
10
|
+
empty?: React.ReactNode;
|
|
11
|
+
}
|
|
12
|
+
/** Lista de conversas com busca, não lidas, presença e última mensagem. */
|
|
13
|
+
export declare function ConversationList({ conversations, activeId, onSelect, searchable, searchPlaceholder, empty, ...others }: ConversationListProps): import("react").JSX.Element;
|
|
14
|
+
export declare namespace ConversationList {
|
|
15
|
+
var displayName: string;
|
|
16
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type BoxProps } from '@mantine/core';
|
|
2
|
+
export interface TypingIndicatorProps extends BoxProps {
|
|
3
|
+
/** Nomes de quem está digitando. Vazio = só os pontinhos. */
|
|
4
|
+
names?: string[];
|
|
5
|
+
}
|
|
6
|
+
/** Indicador animado de "digitando…". */
|
|
7
|
+
export declare function TypingIndicator({ names, ...others }: TypingIndicatorProps): import("react").JSX.Element;
|
|
8
|
+
export declare namespace TypingIndicator {
|
|
9
|
+
var displayName: string;
|
|
10
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * from './types';
|
|
2
|
+
export * from './ChatMessage';
|
|
3
|
+
export * from './ChatThread';
|
|
4
|
+
export * from './ChatComposer';
|
|
5
|
+
export * from './TypingIndicator';
|
|
6
|
+
export * from './ConversationList';
|
|
7
|
+
export * from './ChatLayout';
|
|
8
|
+
export { buildThread, dayLabel, shortTimeLabel, formatBytes, initialsName } from './utils';
|
|
9
|
+
export type { GroupPosition, ThreadItem } from './utils';
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export type ChatMessageStatus = 'sending' | 'sent' | 'delivered' | 'read' | 'error';
|
|
2
|
+
export interface ChatUser {
|
|
3
|
+
id: string;
|
|
4
|
+
name: string;
|
|
5
|
+
avatar?: string;
|
|
6
|
+
/** Cor do avatar com iniciais (cor do tema) */
|
|
7
|
+
color?: string;
|
|
8
|
+
}
|
|
9
|
+
export interface ChatAttachment {
|
|
10
|
+
name: string;
|
|
11
|
+
url?: string;
|
|
12
|
+
/** `image` exibe miniatura; `file` exibe chip com nome/tamanho */
|
|
13
|
+
type?: 'image' | 'file';
|
|
14
|
+
/** Tamanho em bytes */
|
|
15
|
+
size?: number;
|
|
16
|
+
}
|
|
17
|
+
export interface ChatMessageData {
|
|
18
|
+
id: string;
|
|
19
|
+
authorId: string;
|
|
20
|
+
text?: string;
|
|
21
|
+
createdAt: Date | string | number;
|
|
22
|
+
status?: ChatMessageStatus;
|
|
23
|
+
attachments?: ChatAttachment[];
|
|
24
|
+
/** Mensagem de sistema (centralizada, sem bolha) */
|
|
25
|
+
system?: boolean;
|
|
26
|
+
}
|
|
27
|
+
export interface Conversation {
|
|
28
|
+
id: string;
|
|
29
|
+
name: string;
|
|
30
|
+
avatar?: string;
|
|
31
|
+
color?: string;
|
|
32
|
+
lastMessage?: string;
|
|
33
|
+
lastMessageAt?: Date | string | number;
|
|
34
|
+
unread?: number;
|
|
35
|
+
online?: boolean;
|
|
36
|
+
/** Selo/etiqueta (ex.: "Pedido #1234") */
|
|
37
|
+
tag?: string;
|
|
38
|
+
}
|