feat: implement complete smart number entry system for quiz
- Add real-time input validation with automatic number acceptance
- Implement visual feedback (green pulse for correct, red shake for incorrect)
- Add guess penalty system with 50% extra attempts allowed
- Create contextual finish buttons ("Show Results", "Can't Remember More")
- Fix input clearing speed (150ms) for rapid number entry
- Add proper event listener management to prevent binding errors
- Remove obsolete submit-answers button causing null reference errors
- Integrate smart input results with existing scoring system
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
faf578c360
commit
150c195c33
|
|
@ -21,7 +21,10 @@
|
||||||
"Bash(python -m pytest tests/test_quiz_functionality.py -v)",
|
"Bash(python -m pytest tests/test_quiz_functionality.py -v)",
|
||||||
"Bash(python:*)",
|
"Bash(python:*)",
|
||||||
"Bash(git restore:*)",
|
"Bash(git restore:*)",
|
||||||
"Bash(open test_heaven_beads.html)"
|
"Bash(open test_heaven_beads.html)",
|
||||||
|
"Bash(open test_scaling.html)",
|
||||||
|
"Read(//private/tmp/**)",
|
||||||
|
"Bash(open test_smart_input.html)"
|
||||||
],
|
],
|
||||||
"deny": [],
|
"deny": [],
|
||||||
"ask": []
|
"ask": []
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
1112
src/web_generator.py
1112
src/web_generator.py
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,19 @@
|
||||||
|
<svg class="typst-doc" viewBox="0 0 252 180" width="252pt" height="180pt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:h5="http://www.w3.org/1999/xhtml">
|
||||||
|
<path class="typst-shape" fill="#ffffff" fill-rule="nonzero" d="M 0 0 L 0 180 L 252 180 L 252 0 Z "/>
|
||||||
|
<g>
|
||||||
|
<g transform="translate(105.912 104.21279999999999)">
|
||||||
|
<g class="typst-text" transform="scale(1, -1)">
|
||||||
|
<use xlink:href="#g19480BF3572030D7913B87D66E55C45B" x="0" fill="#000000" fill-rule="nonzero"/>
|
||||||
|
<use xlink:href="#g1BE2FD2BC12AB488A636D0F2EA2BCD50" x="20.088000000000005" fill="#000000" fill-rule="nonzero"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<defs id="glyph">
|
||||||
|
<symbol id="g19480BF3572030D7913B87D66E55C45B" overflow="visible">
|
||||||
|
<path d="M 2.6352 20.2176 C 2.6352 19.3104 3.456 18.5328 4.3632 18.5328 C 5.0976 18.5328 6.3936 19.3104 6.3936 20.260801 C 6.3936 20.606401 6.3072 20.8656 6.2208004 21.168001 C 6.1344004 21.4704 5.8752003 21.859201 5.8752003 22.2048 C 5.8752003 23.284801 6.9984 24.84 10.152 24.84 C 11.7072 24.84 13.9104 23.76 13.9104 19.6128 C 13.9104 16.848 12.9168005 14.601601 10.368 12.009601 L 7.1712003 8.856 C 2.9376001 4.5360003 2.2464 2.4624 2.2464 -0.0864 C 2.2464 -0.0864 4.4496 0 5.8320003 0 L 13.392 0 C 14.774401 0 16.7616 -0.0864 16.7616 -0.0864 C 17.3232 2.2032 17.755201 5.4432 17.7984 6.7392 C 17.5392 6.9552 16.9776 7.0416 16.5456 6.9552 C 15.8112 3.888 15.0768 2.808 13.521601 2.808 L 5.8320003 2.808 C 5.8320003 4.8816 8.8128 7.8192 9.0288 8.0352 L 13.392 12.2256 C 15.854401 14.601601 17.712 16.502401 17.712 19.7856 C 17.712 24.4512 13.9104 26.352001 10.411201 26.352001 C 5.616 26.352001 2.6352 22.8096 2.6352 20.2176 Z "/>
|
||||||
|
</symbol>
|
||||||
|
<symbol id="g1BE2FD2BC12AB488A636D0F2EA2BCD50" overflow="visible">
|
||||||
|
<path d="M 9.288 24.84 C 11.1456 24.84 12.8736 23.7168 12.8736 20.952 C 12.8736 18.792 10.368 15.4656 6.0912004 14.860801 L 6.3072 13.4784 C 7.0416 13.5648 7.8192 13.5648 8.3808 13.5648 C 10.843201 13.5648 14.04 12.8736 14.04 7.992 C 14.04 2.2464 10.1952 1.08 8.6832 1.08 C 6.48 1.08 6.0912004 2.0736 5.5728 2.8512 C 5.1408 3.456 4.5792003 3.9744 3.7152002 3.9744 C 2.808 3.9744 1.9008 3.1536 1.9008 2.4624 C 1.9008 0.73440003 5.5296 -0.432 8.1216 -0.432 C 13.262401 -0.432 17.8416 2.8944001 17.8416 8.5968 C 17.8416 13.3056 14.2992 14.9904 11.750401 15.4224 L 11.7072 15.5088005 C 15.2496 17.1936 16.2432 18.9648 16.2432 21.2544 C 16.2432 22.5504 15.940801 23.5872 14.904 24.6672 C 13.9536 25.617601 12.441601 26.352001 10.1952 26.352001 C 3.8448 26.352001 2.0304 22.2048 2.0304 20.7792 C 2.0304 20.1744 2.4624 19.3104 3.4992 19.3104 C 5.0112 19.3104 5.184 20.736 5.184 21.5568 C 5.184 24.3216 8.164801 24.84 9.288 24.84 Z "/>
|
||||||
|
</symbol>
|
||||||
|
</defs>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.8 KiB |
|
|
@ -0,0 +1,128 @@
|
||||||
|
<svg class="typst-doc" viewBox="0 0 252 180" width="252pt" height="180pt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:h5="http://www.w3.org/1999/xhtml">
|
||||||
|
<path class="typst-shape" fill="#ffffff" fill-rule="nonzero" d="M 0 0 L 0 180 L 252 180 L 252 0 Z "/>
|
||||||
|
<g>
|
||||||
|
<g transform="translate(12.600000000000005 12.600000000000005)">
|
||||||
|
<g class="typst-group">
|
||||||
|
<g>
|
||||||
|
<g transform="translate(88.39999999999999 17.399999999999995)">
|
||||||
|
<g class="typst-group">
|
||||||
|
<g transform="matrix(0.9 0 0 0.9 2.5 6)">
|
||||||
|
<g transform="translate(0 0)">
|
||||||
|
<g class="typst-group">
|
||||||
|
<g>
|
||||||
|
<g transform="translate(0 0)">
|
||||||
|
<g class="typst-group">
|
||||||
|
<g>
|
||||||
|
<g transform="translate(11 0)">
|
||||||
|
<path class="typst-shape" fill="#eeeeee" fill-rule="nonzero" d="M 0 0 L 0 120 L 3 120 L 3 0 Z "/>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(4.1000000000000005 -1)">
|
||||||
|
<g class="typst-group">
|
||||||
|
<g>
|
||||||
|
<g transform="translate(0 0)">
|
||||||
|
<path class="typst-shape" fill="#e6e6e6" fill-rule="nonzero" stroke="#000000" stroke-width="0.5" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" d="M 8.4 0 L 16.8 6 L 8.4 12 L 0 6 Z "/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(4.1000000000000005 33)">
|
||||||
|
<g class="typst-group">
|
||||||
|
<g>
|
||||||
|
<g transform="translate(0 0)">
|
||||||
|
<path class="typst-shape" fill="#000000" fill-rule="nonzero" stroke="#000000" stroke-width="0.5" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" d="M 8.4 0 L 16.8 6 L 8.4 12 L 0 6 Z "/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(4.1000000000000005 49)">
|
||||||
|
<g class="typst-group">
|
||||||
|
<g>
|
||||||
|
<g transform="translate(0 0)">
|
||||||
|
<path class="typst-shape" fill="#000000" fill-rule="nonzero" stroke="#000000" stroke-width="0.5" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" d="M 8.4 0 L 16.8 6 L 8.4 12 L 0 6 Z "/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(4.1000000000000005 67)">
|
||||||
|
<g class="typst-group">
|
||||||
|
<g>
|
||||||
|
<g transform="translate(0 0)">
|
||||||
|
<path class="typst-shape" fill="#e6e6e6" fill-rule="nonzero" stroke="#000000" stroke-width="0.5" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" d="M 8.4 0 L 16.8 6 L 8.4 12 L 0 6 Z "/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(4.1000000000000005 51)">
|
||||||
|
<g class="typst-group">
|
||||||
|
<g>
|
||||||
|
<g transform="translate(0 0)">
|
||||||
|
<path class="typst-shape" fill="#e6e6e6" fill-rule="nonzero" stroke="#000000" stroke-width="0.5" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" d="M 8.4 0 L 16.8 6 L 8.4 12 L 0 6 Z "/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(36 0)">
|
||||||
|
<path class="typst-shape" fill="#eeeeee" fill-rule="nonzero" d="M 0 0 L 0 120 L 3 120 L 3 0 Z "/>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(29.099999999999998 -1)">
|
||||||
|
<g class="typst-group">
|
||||||
|
<g>
|
||||||
|
<g transform="translate(0 0)">
|
||||||
|
<path class="typst-shape" fill="#e6e6e6" fill-rule="nonzero" stroke="#000000" stroke-width="0.5" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" d="M 8.4 0 L 16.8 6 L 8.4 12 L 0 6 Z "/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(29.099999999999998 33)">
|
||||||
|
<g class="typst-group">
|
||||||
|
<g>
|
||||||
|
<g transform="translate(0 0)">
|
||||||
|
<path class="typst-shape" fill="#000000" fill-rule="nonzero" stroke="#000000" stroke-width="0.5" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" d="M 8.4 0 L 16.8 6 L 8.4 12 L 0 6 Z "/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(29.099999999999998 49)">
|
||||||
|
<g class="typst-group">
|
||||||
|
<g>
|
||||||
|
<g transform="translate(0 0)">
|
||||||
|
<path class="typst-shape" fill="#000000" fill-rule="nonzero" stroke="#000000" stroke-width="0.5" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" d="M 8.4 0 L 16.8 6 L 8.4 12 L 0 6 Z "/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(29.099999999999998 65)">
|
||||||
|
<g class="typst-group">
|
||||||
|
<g>
|
||||||
|
<g transform="translate(0 0)">
|
||||||
|
<path class="typst-shape" fill="#000000" fill-rule="nonzero" stroke="#000000" stroke-width="0.5" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" d="M 8.4 0 L 16.8 6 L 8.4 12 L 0 6 Z "/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(29.099999999999998 51)">
|
||||||
|
<g class="typst-group">
|
||||||
|
<g>
|
||||||
|
<g transform="translate(0 0)">
|
||||||
|
<path class="typst-shape" fill="#e6e6e6" fill-rule="nonzero" stroke="#000000" stroke-width="0.5" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" d="M 8.4 0 L 16.8 6 L 8.4 12 L 0 6 Z "/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(0 30)">
|
||||||
|
<path class="typst-shape" fill="#000000" fill-rule="nonzero" d="M 0 0 L 0 2 L 50 2 L 50 0 Z "/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 11 KiB |
|
|
@ -0,0 +1,19 @@
|
||||||
|
<svg class="typst-doc" viewBox="0 0 252 180" width="252pt" height="180pt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:h5="http://www.w3.org/1999/xhtml">
|
||||||
|
<path class="typst-shape" fill="#ffffff" fill-rule="nonzero" d="M 0 0 L 0 180 L 252 180 L 252 0 Z "/>
|
||||||
|
<g>
|
||||||
|
<g transform="translate(105.912 104.21279999999999)">
|
||||||
|
<g class="typst-text" transform="scale(1, -1)">
|
||||||
|
<use xlink:href="#g19480BF3572030D7913B87D66E55C45B" x="0" fill="#000000" fill-rule="nonzero"/>
|
||||||
|
<use xlink:href="#g1BE2FD2BC12AB488A636D0F2EA2BCD50" x="20.088000000000005" fill="#000000" fill-rule="nonzero"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<defs id="glyph">
|
||||||
|
<symbol id="g19480BF3572030D7913B87D66E55C45B" overflow="visible">
|
||||||
|
<path d="M 2.6352 20.2176 C 2.6352 19.3104 3.456 18.5328 4.3632 18.5328 C 5.0976 18.5328 6.3936 19.3104 6.3936 20.260801 C 6.3936 20.606401 6.3072 20.8656 6.2208004 21.168001 C 6.1344004 21.4704 5.8752003 21.859201 5.8752003 22.2048 C 5.8752003 23.284801 6.9984 24.84 10.152 24.84 C 11.7072 24.84 13.9104 23.76 13.9104 19.6128 C 13.9104 16.848 12.9168005 14.601601 10.368 12.009601 L 7.1712003 8.856 C 2.9376001 4.5360003 2.2464 2.4624 2.2464 -0.0864 C 2.2464 -0.0864 4.4496 0 5.8320003 0 L 13.392 0 C 14.774401 0 16.7616 -0.0864 16.7616 -0.0864 C 17.3232 2.2032 17.755201 5.4432 17.7984 6.7392 C 17.5392 6.9552 16.9776 7.0416 16.5456 6.9552 C 15.8112 3.888 15.0768 2.808 13.521601 2.808 L 5.8320003 2.808 C 5.8320003 4.8816 8.8128 7.8192 9.0288 8.0352 L 13.392 12.2256 C 15.854401 14.601601 17.712 16.502401 17.712 19.7856 C 17.712 24.4512 13.9104 26.352001 10.411201 26.352001 C 5.616 26.352001 2.6352 22.8096 2.6352 20.2176 Z "/>
|
||||||
|
</symbol>
|
||||||
|
<symbol id="g1BE2FD2BC12AB488A636D0F2EA2BCD50" overflow="visible">
|
||||||
|
<path d="M 9.288 24.84 C 11.1456 24.84 12.8736 23.7168 12.8736 20.952 C 12.8736 18.792 10.368 15.4656 6.0912004 14.860801 L 6.3072 13.4784 C 7.0416 13.5648 7.8192 13.5648 8.3808 13.5648 C 10.843201 13.5648 14.04 12.8736 14.04 7.992 C 14.04 2.2464 10.1952 1.08 8.6832 1.08 C 6.48 1.08 6.0912004 2.0736 5.5728 2.8512 C 5.1408 3.456 4.5792003 3.9744 3.7152002 3.9744 C 2.808 3.9744 1.9008 3.1536 1.9008 2.4624 C 1.9008 0.73440003 5.5296 -0.432 8.1216 -0.432 C 13.262401 -0.432 17.8416 2.8944001 17.8416 8.5968 C 17.8416 13.3056 14.2992 14.9904 11.750401 15.4224 L 11.7072 15.5088005 C 15.2496 17.1936 16.2432 18.9648 16.2432 21.2544 C 16.2432 22.5504 15.940801 23.5872 14.904 24.6672 C 13.9536 25.617601 12.441601 26.352001 10.1952 26.352001 C 3.8448 26.352001 2.0304 22.2048 2.0304 20.7792 C 2.0304 20.1744 2.4624 19.3104 3.4992 19.3104 C 5.0112 19.3104 5.184 20.736 5.184 21.5568 C 5.184 24.3216 8.164801 24.84 9.288 24.84 Z "/>
|
||||||
|
</symbol>
|
||||||
|
</defs>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.8 KiB |
|
|
@ -0,0 +1,128 @@
|
||||||
|
<svg class="typst-doc" viewBox="0 0 252 180" width="252pt" height="180pt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:h5="http://www.w3.org/1999/xhtml">
|
||||||
|
<path class="typst-shape" fill="#ffffff" fill-rule="nonzero" d="M 0 0 L 0 180 L 252 180 L 252 0 Z "/>
|
||||||
|
<g>
|
||||||
|
<g transform="translate(12.600000000000005 12.600000000000005)">
|
||||||
|
<g class="typst-group">
|
||||||
|
<g>
|
||||||
|
<g transform="translate(88.39999999999999 17.399999999999995)">
|
||||||
|
<g class="typst-group">
|
||||||
|
<g transform="matrix(0.9 0 0 0.9 2.5 6)">
|
||||||
|
<g transform="translate(0 0)">
|
||||||
|
<g class="typst-group">
|
||||||
|
<g>
|
||||||
|
<g transform="translate(0 0)">
|
||||||
|
<g class="typst-group">
|
||||||
|
<g>
|
||||||
|
<g transform="translate(11 0)">
|
||||||
|
<path class="typst-shape" fill="#eeeeee" fill-rule="nonzero" d="M 0 0 L 0 120 L 3 120 L 3 0 Z "/>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(4.1000000000000005 13)">
|
||||||
|
<g class="typst-group">
|
||||||
|
<g>
|
||||||
|
<g transform="translate(0 0)">
|
||||||
|
<path class="typst-shape" fill="#e6e6e6" fill-rule="nonzero" stroke="#000000" stroke-width="0.5" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" d="M 8.4 0 L 16.8 6 L 8.4 12 L 0 6 Z "/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(4.1000000000000005 33)">
|
||||||
|
<g class="typst-group">
|
||||||
|
<g>
|
||||||
|
<g transform="translate(0 0)">
|
||||||
|
<path class="typst-shape" fill="#000000" fill-rule="nonzero" stroke="#000000" stroke-width="0.5" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" d="M 8.4 0 L 16.8 6 L 8.4 12 L 0 6 Z "/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(4.1000000000000005 49)">
|
||||||
|
<g class="typst-group">
|
||||||
|
<g>
|
||||||
|
<g transform="translate(0 0)">
|
||||||
|
<path class="typst-shape" fill="#000000" fill-rule="nonzero" stroke="#000000" stroke-width="0.5" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" d="M 8.4 0 L 16.8 6 L 8.4 12 L 0 6 Z "/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(4.1000000000000005 53)">
|
||||||
|
<g class="typst-group">
|
||||||
|
<g>
|
||||||
|
<g transform="translate(0 0)">
|
||||||
|
<path class="typst-shape" fill="#e6e6e6" fill-rule="nonzero" stroke="#000000" stroke-width="0.5" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" d="M 8.4 0 L 16.8 6 L 8.4 12 L 0 6 Z "/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(4.1000000000000005 37)">
|
||||||
|
<g class="typst-group">
|
||||||
|
<g>
|
||||||
|
<g transform="translate(0 0)">
|
||||||
|
<path class="typst-shape" fill="#e6e6e6" fill-rule="nonzero" stroke="#000000" stroke-width="0.5" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" d="M 8.4 0 L 16.8 6 L 8.4 12 L 0 6 Z "/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(36 0)">
|
||||||
|
<path class="typst-shape" fill="#eeeeee" fill-rule="nonzero" d="M 0 0 L 0 120 L 3 120 L 3 0 Z "/>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(29.099999999999998 13)">
|
||||||
|
<g class="typst-group">
|
||||||
|
<g>
|
||||||
|
<g transform="translate(0 0)">
|
||||||
|
<path class="typst-shape" fill="#e6e6e6" fill-rule="nonzero" stroke="#000000" stroke-width="0.5" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" d="M 8.4 0 L 16.8 6 L 8.4 12 L 0 6 Z "/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(29.099999999999998 33)">
|
||||||
|
<g class="typst-group">
|
||||||
|
<g>
|
||||||
|
<g transform="translate(0 0)">
|
||||||
|
<path class="typst-shape" fill="#000000" fill-rule="nonzero" stroke="#000000" stroke-width="0.5" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" d="M 8.4 0 L 16.8 6 L 8.4 12 L 0 6 Z "/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(29.099999999999998 49)">
|
||||||
|
<g class="typst-group">
|
||||||
|
<g>
|
||||||
|
<g transform="translate(0 0)">
|
||||||
|
<path class="typst-shape" fill="#000000" fill-rule="nonzero" stroke="#000000" stroke-width="0.5" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" d="M 8.4 0 L 16.8 6 L 8.4 12 L 0 6 Z "/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(29.099999999999998 65)">
|
||||||
|
<g class="typst-group">
|
||||||
|
<g>
|
||||||
|
<g transform="translate(0 0)">
|
||||||
|
<path class="typst-shape" fill="#000000" fill-rule="nonzero" stroke="#000000" stroke-width="0.5" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" d="M 8.4 0 L 16.8 6 L 8.4 12 L 0 6 Z "/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(29.099999999999998 37)">
|
||||||
|
<g class="typst-group">
|
||||||
|
<g>
|
||||||
|
<g transform="translate(0 0)">
|
||||||
|
<path class="typst-shape" fill="#e6e6e6" fill-rule="nonzero" stroke="#000000" stroke-width="0.5" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" d="M 8.4 0 L 16.8 6 L 8.4 12 L 0 6 Z "/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(0 30)">
|
||||||
|
<path class="typst-shape" fill="#000000" fill-rule="nonzero" d="M 0 0 L 0 2 L 50 2 L 50 0 Z "/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 11 KiB |
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue