mfaoa 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. mfaoa-0.1.0/.github/dependabot.yml +6 -0
  2. mfaoa-0.1.0/.github/images/mfaoa-logo-dark.svg +12 -0
  3. mfaoa-0.1.0/.github/images/mfaoa-logo.svg +12 -0
  4. mfaoa-0.1.0/.github/images/quicopt-logo-dark.svg +229 -0
  5. mfaoa-0.1.0/.github/images/quicopt-logo.svg +229 -0
  6. mfaoa-0.1.0/.github/workflows/CI.yml +76 -0
  7. mfaoa-0.1.0/.github/workflows/Docs.yml +45 -0
  8. mfaoa-0.1.0/.github/workflows/Wheels.yml +71 -0
  9. mfaoa-0.1.0/.gitignore +9 -0
  10. mfaoa-0.1.0/CMakeLists.txt +192 -0
  11. mfaoa-0.1.0/LICENSE +201 -0
  12. mfaoa-0.1.0/PKG-INFO +417 -0
  13. mfaoa-0.1.0/README.md +372 -0
  14. mfaoa-0.1.0/cmake/mfaoa.pc.in +10 -0
  15. mfaoa-0.1.0/cmake/mfaoaConfig.cmake.in +20 -0
  16. mfaoa-0.1.0/examples/solve.c +60 -0
  17. mfaoa-0.1.0/include/mfaoa.h +141 -0
  18. mfaoa-0.1.0/pyproject.toml +94 -0
  19. mfaoa-0.1.0/python/mfaoa/__init__.py +35 -0
  20. mfaoa-0.1.0/python/mfaoa/_lib.py +184 -0
  21. mfaoa-0.1.0/python/mfaoa/_problems.py +475 -0
  22. mfaoa-0.1.0/python/mfaoa/_solve.py +91 -0
  23. mfaoa-0.1.0/python/mfaoa/_symmetry.py +129 -0
  24. mfaoa-0.1.0/python/mfaoa/dimod.py +102 -0
  25. mfaoa-0.1.0/python/mfaoa/pyomo.py +393 -0
  26. mfaoa-0.1.0/python/tests/golden.py +47 -0
  27. mfaoa-0.1.0/python/tests/test_algorithm.py +118 -0
  28. mfaoa-0.1.0/python/tests/test_dimod.py +101 -0
  29. mfaoa-0.1.0/python/tests/test_problems.py +144 -0
  30. mfaoa-0.1.0/python/tests/test_pyomo.py +299 -0
  31. mfaoa-0.1.0/python/tests/test_reference.py +101 -0
  32. mfaoa-0.1.0/python/tests/test_symmetry.py +87 -0
  33. mfaoa-0.1.0/src/mfaoa.c +342 -0
  34. mfaoa-0.1.0/test/check.c +309 -0
  35. mfaoa-0.1.0/test/golden.txt +131 -0
@@ -0,0 +1,6 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: "github-actions"
4
+ directory: "/"
5
+ schedule:
6
+ interval: "weekly"
@@ -0,0 +1,12 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 240 160" width="240" height="160" role="img" aria-label="mfaoa">
2
+ <line x1="26" y1="14" x2="222" y2="14" stroke="#8a9a9a" stroke-width="2.5" stroke-linecap="round"/>
3
+ <line x1="26" y1="96" x2="222" y2="96" stroke="#8a9a9a" stroke-width="2.5" stroke-linecap="round"/>
4
+ <path d="M26.0,55.0 L27.2,54.7 L28.3,54.3 L29.5,53.8 L30.6,53.2 L31.8,52.4 L33.0,51.6 L34.1,50.6 L35.3,49.6 L36.4,48.5 L37.6,47.4 L38.8,46.1 L39.9,44.9 L41.1,43.6 L42.2,42.3 L43.4,41.0 L44.6,39.6 L45.7,38.3 L46.9,36.9 L48.0,35.6 L49.2,34.3 L50.4,33.1 L51.5,31.8 L52.7,30.6 L53.8,29.5 L55.0,28.4 L56.2,27.3 L57.3,26.4 L58.5,25.4 L59.6,24.6 L60.8,23.8 L62.0,23.1 L63.1,22.4 L64.3,21.9 L65.4,21.4 L66.6,20.9 L67.8,20.6 L68.9,20.3 L70.1,20.0 L71.2,19.9 L72.4,19.8 L73.6,19.7 L74.7,19.8 L75.9,19.8 L77.0,19.9 L78.2,20.0 L79.4,20.2 L80.5,20.4 L81.7,20.6 L82.8,20.8 L84.0,21.1 L85.2,21.3 L86.3,21.5 L87.5,21.8 L88.6,22.0 L89.8,22.2 L91.0,22.3 L92.1,22.5 L93.3,22.6 L94.4,22.6 L95.6,22.7 L96.8,22.7 L97.9,22.7 L99.1,22.6 L100.2,22.5 L101.4,22.4 L102.6,22.2 L103.7,22.0 L104.9,21.7 L106.0,21.5 L107.2,21.2 L108.4,20.9 L109.5,20.5 L110.7,20.2 L111.8,19.8 L113.0,19.4 L114.2,19.0 L115.3,18.6 L116.5,18.2 L117.6,17.8 L118.8,17.5 L120.0,17.1 L121.1,16.7 L122.3,16.4 L123.4,16.1 L124.6,15.8 L125.8,15.5 L126.9,15.3 L128.1,15.0 L129.2,14.8 L130.4,14.7 L131.6,14.5 L132.7,14.4 L133.9,14.3 L135.0,14.2 L136.2,14.1 L137.4,14.1 L138.5,14.0 L139.7,14.0 L140.8,14.0 L142.0,14.0" fill="none" stroke="#5A9FD4" stroke-width="5" stroke-linecap="round" stroke-linejoin="round"/>
5
+ <circle cx="142.0" cy="14.0" r="9.5" fill="#5A9FD4"/>
6
+ <path d="M26.0,55.0 L27.8,55.4 L29.6,56.0 L31.3,56.7 L33.1,57.5 L34.9,58.3 L36.7,59.2 L38.5,60.0 L40.2,60.9 L42.0,61.7 L43.8,62.5 L45.6,63.2 L47.4,63.8 L49.1,64.3 L50.9,64.6 L52.7,64.8 L54.5,64.9 L56.3,64.8 L58.0,64.5 L59.8,64.1 L61.6,63.6 L63.4,62.9 L65.2,62.0 L66.9,61.0 L68.7,59.9 L70.5,58.7 L72.3,57.3 L74.1,55.9 L75.8,54.4 L77.6,52.9 L79.4,51.3 L81.2,49.7 L83.0,48.1 L84.7,46.5 L86.5,45.0 L88.3,43.5 L90.1,42.0 L91.9,40.6 L93.6,39.4 L95.4,38.2 L97.2,37.1 L99.0,36.1 L100.8,35.2 L102.5,34.4 L104.3,33.7 L106.1,33.1 L107.9,32.6 L109.7,32.3 L111.4,32.0 L113.2,31.8 L115.0,31.6 L116.8,31.6 L118.6,31.5 L120.3,31.5 L122.1,31.6 L123.9,31.7 L125.7,31.7 L127.5,31.8 L129.2,31.9 L131.0,31.9 L132.8,31.9 L134.6,31.9 L136.4,31.8 L138.1,31.7 L139.9,31.5 L141.7,31.2 L143.5,30.9 L145.3,30.6 L147.0,30.2 L148.8,29.7 L150.6,29.2 L152.4,28.6 L154.2,28.0 L155.9,27.3 L157.7,26.6 L159.5,25.9 L161.3,25.1 L163.1,24.3 L164.8,23.6 L166.6,22.8 L168.4,22.0 L170.2,21.3 L172.0,20.5 L173.7,19.8 L175.5,19.1 L177.3,18.5 L179.1,17.9 L180.9,17.4 L182.6,16.9 L184.4,16.4 L186.2,16.0 L188.0,15.6 L189.8,15.3 L191.5,15.1 L193.3,14.8 L195.1,14.6 L196.9,14.5 L198.7,14.3 L200.4,14.2 L202.2,14.1 L204.0,14.0" fill="none" stroke="#FFD43B" stroke-width="5" stroke-linecap="round" stroke-linejoin="round"/>
7
+ <circle cx="204.0" cy="14.0" r="9.5" fill="#FFD43B"/>
8
+ <path d="M26.0,55.0 L27.8,54.9 L29.6,54.7 L31.3,54.5 L33.1,54.3 L34.9,53.9 L36.7,53.6 L38.5,53.2 L40.2,52.8 L42.0,52.4 L43.8,52.0 L45.6,51.6 L47.4,51.2 L49.1,50.9 L50.9,50.6 L52.7,50.3 L54.5,50.1 L56.3,49.9 L58.0,49.8 L59.8,49.7 L61.6,49.8 L63.4,49.9 L65.2,50.1 L66.9,50.3 L68.7,50.7 L70.5,51.1 L72.3,51.6 L74.1,52.2 L75.8,52.9 L77.6,53.7 L79.4,54.5 L81.2,55.4 L83.0,56.4 L84.7,57.5 L86.5,58.7 L88.3,59.9 L90.1,61.1 L91.9,62.5 L93.6,63.8 L95.4,65.2 L97.2,66.7 L99.0,68.1 L100.8,69.6 L102.5,71.1 L104.3,72.6 L106.1,74.1 L107.9,75.5 L109.7,77.0 L111.4,78.4 L113.2,79.8 L115.0,81.2 L116.8,82.5 L118.6,83.8 L120.3,85.0 L122.1,86.1 L123.9,87.2 L125.7,88.3 L127.5,89.2 L129.2,90.1 L131.0,91.0 L132.8,91.7 L134.6,92.4 L136.4,93.1 L138.1,93.6 L139.9,94.1 L141.7,94.6 L143.5,95.0 L145.3,95.3 L147.0,95.6 L148.8,95.8 L150.6,95.9 L152.4,96.0 L154.2,96.0 L155.9,96.0 L157.7,96.0 L159.5,96.0 L161.3,96.0 L163.1,96.0 L164.8,96.0 L166.6,96.0 L168.4,96.0 L170.2,96.0 L172.0,96.0 L173.7,95.9 L175.5,95.8 L177.3,95.8 L179.1,95.7 L180.9,95.7 L182.6,95.7 L184.4,95.7 L186.2,95.7 L188.0,95.7 L189.8,95.7 L191.5,95.7 L193.3,95.7 L195.1,95.8 L196.9,95.8 L198.7,95.9 L200.4,95.9 L202.2,96.0 L204.0,96.0" fill="none" stroke="#A9CCEA" stroke-width="5" stroke-linecap="round" stroke-linejoin="round"/>
9
+ <circle cx="204.0" cy="96.0" r="9.5" fill="#A9CCEA"/>
10
+ <circle cx="26" cy="55.0" r="8" fill="#8a9a9a"/>
11
+ <path fill="#ffffff" d="M79.56 124.62Q81.77 124.62 82.83 126.05Q83.89 127.49 83.89 130.68V146H78.61V131.38Q78.61 130.29 78.4 129.85Q78.2 129.4 77.58 129.4Q77.09 129.4 76.57 129.68Q76.06 129.96 75.43 130.74V146H71.11V131.38Q71.11 130.29 70.9 129.85Q70.7 129.4 70.07 129.4Q69.59 129.4 69.07 129.68Q68.55 129.96 67.93 130.74V146H62.57V125.3H67.09L67.5 127.31Q68.48 125.99 69.47 125.3Q70.46 124.62 71.83 124.62Q73 124.62 73.83 125.22Q74.65 125.81 75 127.08Q75.94 125.99 77.07 125.3Q78.2 124.62 79.56 124.62ZM100.82 116.44Q103.09 116.44 104.82 116.8Q106.55 117.16 107.92 117.74L106.22 121.76Q105.15 121.35 104.02 121.16Q102.89 120.98 101.78 120.98Q99.95 120.98 99.16 121.64Q98.37 122.3 98.37 123.84V126.61H105.11L104.43 130.88H98.37V146H92.25V130.88H87.9V126.61H92.25V123.61Q92.25 121.56 93.22 119.95Q94.2 118.33 96.11 117.38Q98.02 116.44 100.82 116.44ZM128.46 140.04Q128.46 141.21 128.78 141.73Q129.1 142.26 129.82 142.53L128.55 146.58Q126.72 146.41 125.47 145.78Q124.21 145.14 123.49 143.86Q122.3 145.28 120.45 145.97Q118.6 146.66 116.67 146.66Q113.47 146.66 111.57 144.84Q109.67 143.02 109.67 140.15Q109.67 136.78 112.31 134.95Q114.95 133.12 119.75 133.12H122.53V132.34Q122.53 129.16 118.44 129.16Q117.45 129.16 115.89 129.45Q114.33 129.73 112.77 130.25L111.35 126.16Q113.35 125.4 115.53 125.01Q117.7 124.62 119.42 124.62Q124.03 124.62 126.25 126.5Q128.46 128.38 128.46 131.93ZM118.79 142.26Q119.79 142.26 120.88 141.66Q121.97 141.07 122.53 139.98V136.63H121.01Q118.44 136.63 117.23 137.42Q116.02 138.21 116.02 139.73Q116.02 140.91 116.76 141.59Q117.49 142.26 118.79 142.26ZM143.38 124.62Q146.58 124.62 148.82 125.99Q151.06 127.35 152.25 129.82Q153.44 132.28 153.44 135.59Q153.44 140.78 150.79 143.72Q148.14 146.66 143.38 146.66Q138.63 146.66 135.98 143.76Q133.33 140.86 133.33 135.63Q133.33 132.34 134.53 129.86Q135.73 127.39 137.98 126.01Q140.23 124.62 143.38 124.62ZM143.38 129.16Q141.49 129.16 140.59 130.71Q139.68 132.26 139.68 135.63Q139.68 139.06 140.59 140.6Q141.49 142.14 143.38 142.14Q145.27 142.14 146.18 140.6Q147.09 139.06 147.09 135.59Q147.09 132.24 146.18 130.7Q145.27 129.16 143.38 129.16ZM175.23 140.04Q175.23 141.21 175.55 141.73Q175.87 142.26 176.59 142.53L175.32 146.58Q173.49 146.41 172.24 145.78Q170.98 145.14 170.26 143.86Q169.07 145.28 167.22 145.97Q165.37 146.66 163.44 146.66Q160.24 146.66 158.34 144.84Q156.44 143.02 156.44 140.15Q156.44 136.78 159.08 134.95Q161.72 133.12 166.52 133.12H169.3V132.34Q169.3 129.16 165.21 129.16Q164.22 129.16 162.66 129.45Q161.1 129.73 159.54 130.25L158.12 126.16Q160.12 125.4 162.3 125.01Q164.47 124.62 166.18 124.62Q170.8 124.62 173.01 126.5Q175.23 128.38 175.23 131.93ZM165.56 142.26Q166.55 142.26 167.65 141.66Q168.74 141.07 169.3 139.98V136.63H167.78Q165.21 136.63 164 137.42Q162.79 138.21 162.79 139.73Q162.79 140.91 163.52 141.59Q164.26 142.26 165.56 142.26Z"/>
12
+ </svg>
@@ -0,0 +1,12 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 240 160" width="240" height="160" role="img" aria-label="mfaoa">
2
+ <line x1="26" y1="14" x2="222" y2="14" stroke="#9aa4a4" stroke-width="2.5" stroke-linecap="round"/>
3
+ <line x1="26" y1="96" x2="222" y2="96" stroke="#9aa4a4" stroke-width="2.5" stroke-linecap="round"/>
4
+ <path d="M26.0,55.0 L27.2,54.7 L28.3,54.3 L29.5,53.8 L30.6,53.2 L31.8,52.4 L33.0,51.6 L34.1,50.6 L35.3,49.6 L36.4,48.5 L37.6,47.4 L38.8,46.1 L39.9,44.9 L41.1,43.6 L42.2,42.3 L43.4,41.0 L44.6,39.6 L45.7,38.3 L46.9,36.9 L48.0,35.6 L49.2,34.3 L50.4,33.1 L51.5,31.8 L52.7,30.6 L53.8,29.5 L55.0,28.4 L56.2,27.3 L57.3,26.4 L58.5,25.4 L59.6,24.6 L60.8,23.8 L62.0,23.1 L63.1,22.4 L64.3,21.9 L65.4,21.4 L66.6,20.9 L67.8,20.6 L68.9,20.3 L70.1,20.0 L71.2,19.9 L72.4,19.8 L73.6,19.7 L74.7,19.8 L75.9,19.8 L77.0,19.9 L78.2,20.0 L79.4,20.2 L80.5,20.4 L81.7,20.6 L82.8,20.8 L84.0,21.1 L85.2,21.3 L86.3,21.5 L87.5,21.8 L88.6,22.0 L89.8,22.2 L91.0,22.3 L92.1,22.5 L93.3,22.6 L94.4,22.6 L95.6,22.7 L96.8,22.7 L97.9,22.7 L99.1,22.6 L100.2,22.5 L101.4,22.4 L102.6,22.2 L103.7,22.0 L104.9,21.7 L106.0,21.5 L107.2,21.2 L108.4,20.9 L109.5,20.5 L110.7,20.2 L111.8,19.8 L113.0,19.4 L114.2,19.0 L115.3,18.6 L116.5,18.2 L117.6,17.8 L118.8,17.5 L120.0,17.1 L121.1,16.7 L122.3,16.4 L123.4,16.1 L124.6,15.8 L125.8,15.5 L126.9,15.3 L128.1,15.0 L129.2,14.8 L130.4,14.7 L131.6,14.5 L132.7,14.4 L133.9,14.3 L135.0,14.2 L136.2,14.1 L137.4,14.1 L138.5,14.0 L139.7,14.0 L140.8,14.0 L142.0,14.0" fill="none" stroke="#306998" stroke-width="5" stroke-linecap="round" stroke-linejoin="round"/>
5
+ <circle cx="142.0" cy="14.0" r="9.5" fill="#306998"/>
6
+ <path d="M26.0,55.0 L27.8,55.4 L29.6,56.0 L31.3,56.7 L33.1,57.5 L34.9,58.3 L36.7,59.2 L38.5,60.0 L40.2,60.9 L42.0,61.7 L43.8,62.5 L45.6,63.2 L47.4,63.8 L49.1,64.3 L50.9,64.6 L52.7,64.8 L54.5,64.9 L56.3,64.8 L58.0,64.5 L59.8,64.1 L61.6,63.6 L63.4,62.9 L65.2,62.0 L66.9,61.0 L68.7,59.9 L70.5,58.7 L72.3,57.3 L74.1,55.9 L75.8,54.4 L77.6,52.9 L79.4,51.3 L81.2,49.7 L83.0,48.1 L84.7,46.5 L86.5,45.0 L88.3,43.5 L90.1,42.0 L91.9,40.6 L93.6,39.4 L95.4,38.2 L97.2,37.1 L99.0,36.1 L100.8,35.2 L102.5,34.4 L104.3,33.7 L106.1,33.1 L107.9,32.6 L109.7,32.3 L111.4,32.0 L113.2,31.8 L115.0,31.6 L116.8,31.6 L118.6,31.5 L120.3,31.5 L122.1,31.6 L123.9,31.7 L125.7,31.7 L127.5,31.8 L129.2,31.9 L131.0,31.9 L132.8,31.9 L134.6,31.9 L136.4,31.8 L138.1,31.7 L139.9,31.5 L141.7,31.2 L143.5,30.9 L145.3,30.6 L147.0,30.2 L148.8,29.7 L150.6,29.2 L152.4,28.6 L154.2,28.0 L155.9,27.3 L157.7,26.6 L159.5,25.9 L161.3,25.1 L163.1,24.3 L164.8,23.6 L166.6,22.8 L168.4,22.0 L170.2,21.3 L172.0,20.5 L173.7,19.8 L175.5,19.1 L177.3,18.5 L179.1,17.9 L180.9,17.4 L182.6,16.9 L184.4,16.4 L186.2,16.0 L188.0,15.6 L189.8,15.3 L191.5,15.1 L193.3,14.8 L195.1,14.6 L196.9,14.5 L198.7,14.3 L200.4,14.2 L202.2,14.1 L204.0,14.0" fill="none" stroke="#FFC331" stroke-width="5" stroke-linecap="round" stroke-linejoin="round"/>
7
+ <circle cx="204.0" cy="14.0" r="9.5" fill="#FFC331"/>
8
+ <path d="M26.0,55.0 L27.8,54.9 L29.6,54.7 L31.3,54.5 L33.1,54.3 L34.9,53.9 L36.7,53.6 L38.5,53.2 L40.2,52.8 L42.0,52.4 L43.8,52.0 L45.6,51.6 L47.4,51.2 L49.1,50.9 L50.9,50.6 L52.7,50.3 L54.5,50.1 L56.3,49.9 L58.0,49.8 L59.8,49.7 L61.6,49.8 L63.4,49.9 L65.2,50.1 L66.9,50.3 L68.7,50.7 L70.5,51.1 L72.3,51.6 L74.1,52.2 L75.8,52.9 L77.6,53.7 L79.4,54.5 L81.2,55.4 L83.0,56.4 L84.7,57.5 L86.5,58.7 L88.3,59.9 L90.1,61.1 L91.9,62.5 L93.6,63.8 L95.4,65.2 L97.2,66.7 L99.0,68.1 L100.8,69.6 L102.5,71.1 L104.3,72.6 L106.1,74.1 L107.9,75.5 L109.7,77.0 L111.4,78.4 L113.2,79.8 L115.0,81.2 L116.8,82.5 L118.6,83.8 L120.3,85.0 L122.1,86.1 L123.9,87.2 L125.7,88.3 L127.5,89.2 L129.2,90.1 L131.0,91.0 L132.8,91.7 L134.6,92.4 L136.4,93.1 L138.1,93.6 L139.9,94.1 L141.7,94.6 L143.5,95.0 L145.3,95.3 L147.0,95.6 L148.8,95.8 L150.6,95.9 L152.4,96.0 L154.2,96.0 L155.9,96.0 L157.7,96.0 L159.5,96.0 L161.3,96.0 L163.1,96.0 L164.8,96.0 L166.6,96.0 L168.4,96.0 L170.2,96.0 L172.0,96.0 L173.7,95.9 L175.5,95.8 L177.3,95.8 L179.1,95.7 L180.9,95.7 L182.6,95.7 L184.4,95.7 L186.2,95.7 L188.0,95.7 L189.8,95.7 L191.5,95.7 L193.3,95.7 L195.1,95.8 L196.9,95.8 L198.7,95.9 L200.4,95.9 L202.2,96.0 L204.0,96.0" fill="none" stroke="#4B8BBE" stroke-width="5" stroke-linecap="round" stroke-linejoin="round"/>
9
+ <circle cx="204.0" cy="96.0" r="9.5" fill="#4B8BBE"/>
10
+ <circle cx="26" cy="55.0" r="8" fill="#9aa4a4"/>
11
+ <path fill="#252525" d="M79.56 124.62Q81.77 124.62 82.83 126.05Q83.89 127.49 83.89 130.68V146H78.61V131.38Q78.61 130.29 78.4 129.85Q78.2 129.4 77.58 129.4Q77.09 129.4 76.57 129.68Q76.06 129.96 75.43 130.74V146H71.11V131.38Q71.11 130.29 70.9 129.85Q70.7 129.4 70.07 129.4Q69.59 129.4 69.07 129.68Q68.55 129.96 67.93 130.74V146H62.57V125.3H67.09L67.5 127.31Q68.48 125.99 69.47 125.3Q70.46 124.62 71.83 124.62Q73 124.62 73.83 125.22Q74.65 125.81 75 127.08Q75.94 125.99 77.07 125.3Q78.2 124.62 79.56 124.62ZM100.82 116.44Q103.09 116.44 104.82 116.8Q106.55 117.16 107.92 117.74L106.22 121.76Q105.15 121.35 104.02 121.16Q102.89 120.98 101.78 120.98Q99.95 120.98 99.16 121.64Q98.37 122.3 98.37 123.84V126.61H105.11L104.43 130.88H98.37V146H92.25V130.88H87.9V126.61H92.25V123.61Q92.25 121.56 93.22 119.95Q94.2 118.33 96.11 117.38Q98.02 116.44 100.82 116.44ZM128.46 140.04Q128.46 141.21 128.78 141.73Q129.1 142.26 129.82 142.53L128.55 146.58Q126.72 146.41 125.47 145.78Q124.21 145.14 123.49 143.86Q122.3 145.28 120.45 145.97Q118.6 146.66 116.67 146.66Q113.47 146.66 111.57 144.84Q109.67 143.02 109.67 140.15Q109.67 136.78 112.31 134.95Q114.95 133.12 119.75 133.12H122.53V132.34Q122.53 129.16 118.44 129.16Q117.45 129.16 115.89 129.45Q114.33 129.73 112.77 130.25L111.35 126.16Q113.35 125.4 115.53 125.01Q117.7 124.62 119.42 124.62Q124.03 124.62 126.25 126.5Q128.46 128.38 128.46 131.93ZM118.79 142.26Q119.79 142.26 120.88 141.66Q121.97 141.07 122.53 139.98V136.63H121.01Q118.44 136.63 117.23 137.42Q116.02 138.21 116.02 139.73Q116.02 140.91 116.76 141.59Q117.49 142.26 118.79 142.26ZM143.38 124.62Q146.58 124.62 148.82 125.99Q151.06 127.35 152.25 129.82Q153.44 132.28 153.44 135.59Q153.44 140.78 150.79 143.72Q148.14 146.66 143.38 146.66Q138.63 146.66 135.98 143.76Q133.33 140.86 133.33 135.63Q133.33 132.34 134.53 129.86Q135.73 127.39 137.98 126.01Q140.23 124.62 143.38 124.62ZM143.38 129.16Q141.49 129.16 140.59 130.71Q139.68 132.26 139.68 135.63Q139.68 139.06 140.59 140.6Q141.49 142.14 143.38 142.14Q145.27 142.14 146.18 140.6Q147.09 139.06 147.09 135.59Q147.09 132.24 146.18 130.7Q145.27 129.16 143.38 129.16ZM175.23 140.04Q175.23 141.21 175.55 141.73Q175.87 142.26 176.59 142.53L175.32 146.58Q173.49 146.41 172.24 145.78Q170.98 145.14 170.26 143.86Q169.07 145.28 167.22 145.97Q165.37 146.66 163.44 146.66Q160.24 146.66 158.34 144.84Q156.44 143.02 156.44 140.15Q156.44 136.78 159.08 134.95Q161.72 133.12 166.52 133.12H169.3V132.34Q169.3 129.16 165.21 129.16Q164.22 129.16 162.66 129.45Q161.1 129.73 159.54 130.25L158.12 126.16Q160.12 125.4 162.3 125.01Q164.47 124.62 166.18 124.62Q170.8 124.62 173.01 126.5Q175.23 128.38 175.23 131.93ZM165.56 142.26Q166.55 142.26 167.65 141.66Q168.74 141.07 169.3 139.98V136.63H167.78Q165.21 136.63 164 137.42Q162.79 138.21 162.79 139.73Q162.79 140.91 163.52 141.59Q164.26 142.26 165.56 142.26Z"/>
12
+ </svg>
@@ -0,0 +1,229 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+
4
+ <svg
5
+ width="1172.3861mm"
6
+ height="387.05734mm"
7
+ viewBox="0 0 1172.3861 387.05734"
8
+ version="1.1"
9
+ id="svg10831"
10
+ xmlns="http://www.w3.org/2000/svg"
11
+ xmlns:svg="http://www.w3.org/2000/svg">
12
+ <defs
13
+ id="defs10828">
14
+ <rect
15
+ x="487.95303"
16
+ y="-701.96753"
17
+ width="4400.1377"
18
+ height="2234.3113"
19
+ id="rect576-3-5-7" />
20
+ <rect
21
+ x="487.95303"
22
+ y="-701.96753"
23
+ width="4400.1377"
24
+ height="2234.3113"
25
+ id="rect576-3-5-7-9" />
26
+ <rect
27
+ x="487.95303"
28
+ y="-701.96753"
29
+ width="4400.1377"
30
+ height="2234.3113"
31
+ id="rect576-3-5-7-93" />
32
+ <rect
33
+ x="487.95303"
34
+ y="-701.96753"
35
+ width="4400.1377"
36
+ height="2234.3113"
37
+ id="rect576-3-5-7-93-4" />
38
+ <rect
39
+ x="487.95303"
40
+ y="-701.96753"
41
+ width="4400.1377"
42
+ height="2234.3113"
43
+ id="rect576-3-5-7-6" />
44
+ <rect
45
+ x="487.95303"
46
+ y="-701.96753"
47
+ width="4400.1377"
48
+ height="2234.3113"
49
+ id="rect576-3-5-7-1" />
50
+ </defs>
51
+ <g
52
+ id="layer1"
53
+ transform="translate(-1416.4976,330.43283)">
54
+ <g
55
+ id="text574-7-6-9-1-9"
56
+ style="font-size:410.526px;font-family:'Fira Code';-inkscape-font-specification:'Fira Code';text-align:center;white-space:pre;fill:#d2a055;stroke-width:7.75798"
57
+ transform="matrix(0.51559806,0,0,0.51559805,824.90901,93.654258)"
58
+ aria-label="Quicopt">
59
+ <path
60
+ style="font-family:'Fira Sans';-inkscape-font-specification:'Fira Sans'"
61
+ d="m 2151.8746,-346.79339 c 40.2315,-20.93682 64.8631,-55.83153 64.8631,-125.21043 0,-95.24203 -48.4421,-146.55778 -119.4631,-146.55778 -70.6104,0 -119.463,53.77891 -119.463,146.96831 0,94.83151 48.8526,144.91568 118.642,144.91568 51.3157,0 74.7157,9.4421 106.7367,38.17892 l 25.4527,-32.84208 c -20.1158,-13.95789 -44.3369,-25.45262 -76.7684,-25.45262 z m -132.5999,-124.7999 c 0,-81.69467 30.7894,-114.94728 77.9999,-114.94728 48.4421,0 78,33.25261 78,114.53675 0,82.1052 -30.379,114.12623 -78,114.12623 -45.9789,0 -77.9999,-32.02103 -77.9999,-113.7157 z m 418.7362,-75.53678 h -37.7684 v 154.35777 c -13.1368,21.75788 -30.7895,37.35787 -54.1894,37.35787 -23.4,0 -33.2527,-11.0842 -33.2527,-40.64208 v -151.07356 h -37.7683 v 155.17882 c 0,42.28418 22.5789,66.09469 60.3473,66.09469 30.7894,0 50.9052,-12.31578 67.3262,-38.58944 l 2.8737,33.66313 h 32.4316 z m 96.4739,-103.86308 c -15.6,0 -26.2737,11.0842 -26.2737,25.86314 0,14.36841 10.6737,25.45261 26.2737,25.45261 16.0105,0 26.6842,-11.0842 26.6842,-25.45261 0,-14.77894 -10.6737,-25.86314 -26.6842,-25.86314 z m 19.2947,103.86308 h -37.7684 v 216.3472 h 37.7684 z m 156.8208,-4.92632 c -58.7052,0 -94.421,45.97892 -94.421,114.94728 0,69.78942 36.1263,111.25255 94.421,111.25255 25.0421,0 46.8,-8.21052 66.0947,-23.81051 l -17.2421,-24.63156 c -16.4211,10.67368 -29.1474,16.42104 -47.2105,16.42104 -34.0737,0 -55.421,-23.39998 -55.421,-80.05257 0,-56.24206 21.3473,-82.92625 55.421,-82.92625 18.0631,0 31.6105,5.33684 46.3894,16.01051 l 18.0632,-23.8105 c -20.1158,-16.83157 -40.6421,-23.39999 -66.0947,-23.39999 z"
62
+ id="path1" />
63
+ <path
64
+ style="font-family:'Fira Sans';-inkscape-font-specification:'Fira Sans';fill:#cccccc"
65
+ d="m 2909.2951,-552.05639 c -61.5789,0 -96.8841,46.38944 -96.8841,113.30518 0,68.55784 34.8947,112.89465 96.4736,112.89465 61.1684,0 96.4736,-46.38944 96.4736,-113.30518 0,-68.55784 -34.4842,-112.89465 -96.0631,-112.89465 z m 0,30.37893 c 35.7158,0 55.421,26.27366 55.421,82.51572 0,56.65259 -19.7052,82.92626 -55.8315,82.92626 -36.1263,0 -55.8315,-26.27367 -55.8315,-82.51573 0,-56.65259 20.1157,-82.92625 56.242,-82.92625 z m 257.8102,-30.37893 c -24.6316,0 -48.0316,11.90526 -64.0421,34.07366 l -2.8736,-29.14734 h -32.4316 v 303.78924 l 37.7684,-4.51579 v -102.6315 c 13.9579,16.83157 33.2526,24.63156 56.6526,24.63156 55.8315,0 84.9789,-47.62102 84.9789,-113.30518 0,-68.14731 -22.579,-112.89465 -80.0526,-112.89465 z m -13.9579,195.41038 c -19.7052,0 -36.5368,-9.4421 -47.621,-26.27366 v -105.50519 c 11.4947,-17.24209 29.1473,-33.66313 52.1368,-33.66313 32.4315,0 48.8526,26.68419 48.8526,82.92625 0,56.65259 -18.8842,82.51573 -53.3684,82.51573 z m 253.2945,-9.85262 c -10.6737,6.56841 -19.2947,9.44209 -28.7368,9.44209 -18.8842,0 -25.8631,-10.26315 -25.8631,-32.02102 v -128.90517 h 47.2105 l 4.1052,-29.14734 h -51.3157 v -53.36838 l -37.7684,4.51578 v 48.8526 h -37.7684 v 29.14734 h 37.7684 v 130.54727 c 0,40.23155 21.7578,61.5789 58.2947,61.5789 18.4736,0 34.0736,-4.92631 48.442,-14.77894 z"
66
+ id="path2" />
67
+ </g>
68
+ <g
69
+ id="g46011-3"
70
+ transform="translate(1490.8238,225.21236)"
71
+ style="stroke-width:8;stroke-dasharray:none">
72
+ <path
73
+ id="rect1792-7-6-2-0"
74
+ style="fill:none;stroke:#d2a055;stroke-width:8;stroke-dasharray:none;stroke-opacity:1"
75
+ d="m 251.9689,-317.45986 -132.6975,132.6975 -177.497304,-177.4973 177.497304,-177.4972 177.4972,177.4972 v 0 l -33.486,33.486" />
76
+ <path
77
+ id="rect1792-4-8-1-8-7"
78
+ style="fill:none;stroke:#d2a055;stroke-width:8;stroke-dasharray:none;stroke-opacity:1"
79
+ d="m 168.4559,-400.13046 37.8706,37.8706 v 0 l -87.0549,87.0548 -87.054804,-87.0548 87.054804,-87.0548 37.8706,37.8705" />
80
+ <path
81
+ id="rect1792-4-5-2-5-9-2"
82
+ style="fill:none;stroke:#d2a055;stroke-width:8;stroke-dasharray:none;stroke-opacity:1"
83
+ d="m 19.197596,-394.45096 100.073804,-100.0738 132.2651,132.2651 v 0 l -132.2651,132.2651 -132.265104,-132.2651 20.8776003,-20.8775" />
84
+ </g>
85
+ <g
86
+ id="g46247-3"
87
+ transform="translate(1490.8238,225.21236)"
88
+ style="stroke-width:8;stroke-dasharray:none">
89
+ <circle
90
+ style="fill:#cccccc;fill-opacity:1;stroke:none;stroke-width:8;stroke-dasharray:none;stroke-opacity:1"
91
+ id="path2616-0-7-0-1-6-1-7-9-5"
92
+ cx="-78.16243"
93
+ cy="-434.03162"
94
+ r="8"
95
+ transform="rotate(45)" />
96
+ <circle
97
+ style="fill:#cccccc;fill-opacity:1;stroke:none;stroke-width:8;stroke-dasharray:none;stroke-opacity:1"
98
+ id="path2616-0-7-0-1-6-1-7-6-81-8"
99
+ cx="-124.99055"
100
+ cy="-434.03162"
101
+ r="8"
102
+ transform="rotate(45)" />
103
+ <circle
104
+ style="fill:#cccccc;fill-opacity:1;stroke:none;stroke-width:8;stroke-dasharray:none;stroke-opacity:1"
105
+ id="path2616-0-7-0-1-6-1-7-6-8-0-3"
106
+ cx="-171.81868"
107
+ cy="-434.03162"
108
+ r="8"
109
+ transform="rotate(45)" />
110
+ <circle
111
+ style="fill:#cccccc;fill-opacity:1;stroke:none;stroke-width:8;stroke-dasharray:none;stroke-opacity:1"
112
+ id="path2616-0-7-0-1-6-1-7-6-8-4-37-5"
113
+ cx="-78.16243"
114
+ cy="-387.26257"
115
+ r="8"
116
+ transform="rotate(45)" />
117
+ <circle
118
+ style="fill:#cccccc;fill-opacity:1;stroke:none;stroke-width:8;stroke-dasharray:none;stroke-opacity:1"
119
+ id="path2616-0-7-0-1-6-1-7-6-8-4-6-4-6"
120
+ cx="-78.16243"
121
+ cy="-340.49408"
122
+ r="8"
123
+ transform="rotate(45)" />
124
+ <circle
125
+ style="fill:#cccccc;fill-opacity:1;stroke:none;stroke-width:8;stroke-dasharray:none;stroke-opacity:1"
126
+ id="path2616-0-7-0-1-6-3-7-1-3-1"
127
+ cx="-265.28061"
128
+ cy="-434.03162"
129
+ r="8"
130
+ transform="rotate(45)" />
131
+ <circle
132
+ style="fill:#cccccc;fill-opacity:1;stroke:none;stroke-width:8;stroke-dasharray:none;stroke-opacity:1"
133
+ id="path2616-0-7-0-1-6-3-3-4-3-4-7"
134
+ cx="-265.28061"
135
+ cy="-246.97406"
136
+ r="8"
137
+ transform="rotate(45)" />
138
+ <circle
139
+ style="fill:#cccccc;fill-opacity:1;stroke:none;stroke-width:8;stroke-dasharray:none;stroke-opacity:1"
140
+ id="path2616-0-7-0-1-6-3-3-5-5-4-8-9"
141
+ cx="-78.16243"
142
+ cy="-246.97406"
143
+ r="8"
144
+ transform="rotate(45)" />
145
+ <circle
146
+ style="fill:#cccccc;fill-opacity:1;stroke:none;stroke-width:8;stroke-dasharray:none;stroke-opacity:1"
147
+ id="path2616-0-7-0-1-6-1-7-6-0-39-2"
148
+ cx="-124.99055"
149
+ cy="-246.97406"
150
+ r="8"
151
+ transform="rotate(45)" />
152
+ <circle
153
+ style="fill:#cccccc;fill-opacity:1;stroke:none;stroke-width:8;stroke-dasharray:none;stroke-opacity:1"
154
+ id="path2616-0-7-0-1-6-1-7-5-9-4"
155
+ cx="-265.28061"
156
+ cy="-387.26257"
157
+ r="8"
158
+ transform="rotate(45)" />
159
+ </g>
160
+ <g
161
+ id="g46225-8"
162
+ transform="translate(1490.8238,225.21236)"
163
+ style="stroke-width:8;stroke-dasharray:none">
164
+ <circle
165
+ style="fill:#cccccc;fill-opacity:1;stroke:none;stroke-width:8;stroke-dasharray:none;stroke-opacity:1"
166
+ id="path2616-0-7-0-1-7-1-49-3"
167
+ cx="-297.25375"
168
+ cy="-465.9198"
169
+ r="16"
170
+ transform="rotate(45)" />
171
+ <circle
172
+ style="fill:#cccccc;fill-opacity:1;stroke:none;stroke-width:8;stroke-dasharray:none;stroke-opacity:1"
173
+ id="path2616-0-75-3-1-6-9"
174
+ cx="-46.278656"
175
+ cy="-340.49408"
176
+ r="16"
177
+ transform="rotate(45)" />
178
+ <circle
179
+ style="fill:#cccccc;fill-opacity:1;stroke:none;stroke-width:8;stroke-dasharray:none;stroke-opacity:1"
180
+ id="path2616-0-2-2-4-6"
181
+ cx="-297.25375"
182
+ cy="-340.49408"
183
+ r="16"
184
+ transform="rotate(45)" />
185
+ <circle
186
+ style="fill:#cccccc;fill-opacity:1;stroke:none;stroke-width:8;stroke-dasharray:none;stroke-opacity:1"
187
+ id="path2616-0-0-7-6-2-4"
188
+ cx="-171.81868"
189
+ cy="-465.9198"
190
+ r="16"
191
+ transform="rotate(45)" />
192
+ <circle
193
+ style="fill:#cccccc;fill-opacity:1;stroke:none;stroke-width:8;stroke-dasharray:none;stroke-opacity:1"
194
+ id="path2616-0-5-1-6-8-7"
195
+ cx="-171.81868"
196
+ cy="-214.76801"
197
+ r="16"
198
+ transform="rotate(45)" />
199
+ <circle
200
+ style="fill:#cccccc;fill-opacity:1;stroke:none;stroke-width:8;stroke-dasharray:none;stroke-opacity:1"
201
+ id="path2616-0-7-00-5-4-7"
202
+ cx="-46.278656"
203
+ cy="-214.76801"
204
+ r="16"
205
+ transform="rotate(45)" />
206
+ <circle
207
+ style="fill:#cccccc;fill-opacity:1;stroke:none;stroke-width:8;stroke-dasharray:none;stroke-opacity:1"
208
+ id="path2616-0-7-0-9-4-4-3"
209
+ cx="-46.278656"
210
+ cy="-465.9198"
211
+ r="16"
212
+ transform="rotate(45)" />
213
+ <circle
214
+ style="fill:#cccccc;fill-opacity:1;stroke:none;stroke-width:8;stroke-dasharray:none;stroke-opacity:1"
215
+ id="path2616-0-7-0-1-6-4-1-8-1-1"
216
+ cx="-297.25375"
217
+ cy="-214.76801"
218
+ r="16"
219
+ transform="rotate(45)" />
220
+ <circle
221
+ style="fill:#cccccc;fill-opacity:1;stroke:none;stroke-width:8;stroke-dasharray:none;stroke-opacity:1"
222
+ id="path2616-5-0-6-7"
223
+ cx="-171.81868"
224
+ cy="-340.49408"
225
+ r="16"
226
+ transform="rotate(45)" />
227
+ </g>
228
+ </g>
229
+ </svg>
@@ -0,0 +1,229 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+
4
+ <svg
5
+ width="1172.3861mm"
6
+ height="387.05734mm"
7
+ viewBox="0 0 1172.3861 387.05734"
8
+ version="1.1"
9
+ id="svg10831"
10
+ xmlns="http://www.w3.org/2000/svg"
11
+ xmlns:svg="http://www.w3.org/2000/svg">
12
+ <defs
13
+ id="defs10828">
14
+ <rect
15
+ x="487.95303"
16
+ y="-701.96753"
17
+ width="4400.1377"
18
+ height="2234.3113"
19
+ id="rect576-3-5-7" />
20
+ <rect
21
+ x="487.95303"
22
+ y="-701.96753"
23
+ width="4400.1377"
24
+ height="2234.3113"
25
+ id="rect576-3-5-7-9" />
26
+ <rect
27
+ x="487.95303"
28
+ y="-701.96753"
29
+ width="4400.1377"
30
+ height="2234.3113"
31
+ id="rect576-3-5-7-93" />
32
+ <rect
33
+ x="487.95303"
34
+ y="-701.96753"
35
+ width="4400.1377"
36
+ height="2234.3113"
37
+ id="rect576-3-5-7-93-4" />
38
+ <rect
39
+ x="487.95303"
40
+ y="-701.96753"
41
+ width="4400.1377"
42
+ height="2234.3113"
43
+ id="rect576-3-5-7-6" />
44
+ <rect
45
+ x="487.95303"
46
+ y="-701.96753"
47
+ width="4400.1377"
48
+ height="2234.3113"
49
+ id="rect576-3-5-7-1" />
50
+ </defs>
51
+ <g
52
+ id="layer1"
53
+ transform="translate(-1416.4976,330.43283)">
54
+ <g
55
+ id="text574-7-6-9-1-9"
56
+ style="font-size:410.526px;font-family:'Fira Code';-inkscape-font-specification:'Fira Code';text-align:center;white-space:pre;fill:#2d5faa;stroke-width:7.75798"
57
+ transform="matrix(0.51559806,0,0,0.51559805,824.90901,93.654258)"
58
+ aria-label="Quicopt">
59
+ <path
60
+ style="font-family:'Fira Sans';-inkscape-font-specification:'Fira Sans'"
61
+ d="m 2151.8746,-346.79339 c 40.2315,-20.93682 64.8631,-55.83153 64.8631,-125.21043 0,-95.24203 -48.4421,-146.55778 -119.4631,-146.55778 -70.6104,0 -119.463,53.77891 -119.463,146.96831 0,94.83151 48.8526,144.91568 118.642,144.91568 51.3157,0 74.7157,9.4421 106.7367,38.17892 l 25.4527,-32.84208 c -20.1158,-13.95789 -44.3369,-25.45262 -76.7684,-25.45262 z m -132.5999,-124.7999 c 0,-81.69467 30.7894,-114.94728 77.9999,-114.94728 48.4421,0 78,33.25261 78,114.53675 0,82.1052 -30.379,114.12623 -78,114.12623 -45.9789,0 -77.9999,-32.02103 -77.9999,-113.7157 z m 418.7362,-75.53678 h -37.7684 v 154.35777 c -13.1368,21.75788 -30.7895,37.35787 -54.1894,37.35787 -23.4,0 -33.2527,-11.0842 -33.2527,-40.64208 v -151.07356 h -37.7683 v 155.17882 c 0,42.28418 22.5789,66.09469 60.3473,66.09469 30.7894,0 50.9052,-12.31578 67.3262,-38.58944 l 2.8737,33.66313 h 32.4316 z m 96.4739,-103.86308 c -15.6,0 -26.2737,11.0842 -26.2737,25.86314 0,14.36841 10.6737,25.45261 26.2737,25.45261 16.0105,0 26.6842,-11.0842 26.6842,-25.45261 0,-14.77894 -10.6737,-25.86314 -26.6842,-25.86314 z m 19.2947,103.86308 h -37.7684 v 216.3472 h 37.7684 z m 156.8208,-4.92632 c -58.7052,0 -94.421,45.97892 -94.421,114.94728 0,69.78942 36.1263,111.25255 94.421,111.25255 25.0421,0 46.8,-8.21052 66.0947,-23.81051 l -17.2421,-24.63156 c -16.4211,10.67368 -29.1474,16.42104 -47.2105,16.42104 -34.0737,0 -55.421,-23.39998 -55.421,-80.05257 0,-56.24206 21.3473,-82.92625 55.421,-82.92625 18.0631,0 31.6105,5.33684 46.3894,16.01051 l 18.0632,-23.8105 c -20.1158,-16.83157 -40.6421,-23.39999 -66.0947,-23.39999 z"
62
+ id="path1" />
63
+ <path
64
+ style="font-family:'Fira Sans';-inkscape-font-specification:'Fira Sans';fill:#333333"
65
+ d="m 2909.2951,-552.05639 c -61.5789,0 -96.8841,46.38944 -96.8841,113.30518 0,68.55784 34.8947,112.89465 96.4736,112.89465 61.1684,0 96.4736,-46.38944 96.4736,-113.30518 0,-68.55784 -34.4842,-112.89465 -96.0631,-112.89465 z m 0,30.37893 c 35.7158,0 55.421,26.27366 55.421,82.51572 0,56.65259 -19.7052,82.92626 -55.8315,82.92626 -36.1263,0 -55.8315,-26.27367 -55.8315,-82.51573 0,-56.65259 20.1157,-82.92625 56.242,-82.92625 z m 257.8102,-30.37893 c -24.6316,0 -48.0316,11.90526 -64.0421,34.07366 l -2.8736,-29.14734 h -32.4316 v 303.78924 l 37.7684,-4.51579 v -102.6315 c 13.9579,16.83157 33.2526,24.63156 56.6526,24.63156 55.8315,0 84.9789,-47.62102 84.9789,-113.30518 0,-68.14731 -22.579,-112.89465 -80.0526,-112.89465 z m -13.9579,195.41038 c -19.7052,0 -36.5368,-9.4421 -47.621,-26.27366 v -105.50519 c 11.4947,-17.24209 29.1473,-33.66313 52.1368,-33.66313 32.4315,0 48.8526,26.68419 48.8526,82.92625 0,56.65259 -18.8842,82.51573 -53.3684,82.51573 z m 253.2945,-9.85262 c -10.6737,6.56841 -19.2947,9.44209 -28.7368,9.44209 -18.8842,0 -25.8631,-10.26315 -25.8631,-32.02102 v -128.90517 h 47.2105 l 4.1052,-29.14734 h -51.3157 v -53.36838 l -37.7684,4.51578 v 48.8526 h -37.7684 v 29.14734 h 37.7684 v 130.54727 c 0,40.23155 21.7578,61.5789 58.2947,61.5789 18.4736,0 34.0736,-4.92631 48.442,-14.77894 z"
66
+ id="path2" />
67
+ </g>
68
+ <g
69
+ id="g46011-3"
70
+ transform="translate(1490.8238,225.21236)"
71
+ style="stroke-width:8;stroke-dasharray:none">
72
+ <path
73
+ id="rect1792-7-6-2-0"
74
+ style="fill:none;stroke:#2d5faa;stroke-width:8;stroke-dasharray:none;stroke-opacity:1"
75
+ d="m 251.9689,-317.45986 -132.6975,132.6975 -177.497304,-177.4973 177.497304,-177.4972 177.4972,177.4972 v 0 l -33.486,33.486" />
76
+ <path
77
+ id="rect1792-4-8-1-8-7"
78
+ style="fill:none;stroke:#2d5faa;stroke-width:8;stroke-dasharray:none;stroke-opacity:1"
79
+ d="m 168.4559,-400.13046 37.8706,37.8706 v 0 l -87.0549,87.0548 -87.054804,-87.0548 87.054804,-87.0548 37.8706,37.8705" />
80
+ <path
81
+ id="rect1792-4-5-2-5-9-2"
82
+ style="fill:none;stroke:#2d5faa;stroke-width:8;stroke-dasharray:none;stroke-opacity:1"
83
+ d="m 19.197596,-394.45096 100.073804,-100.0738 132.2651,132.2651 v 0 l -132.2651,132.2651 -132.265104,-132.2651 20.8776003,-20.8775" />
84
+ </g>
85
+ <g
86
+ id="g46247-3"
87
+ transform="translate(1490.8238,225.21236)"
88
+ style="stroke-width:8;stroke-dasharray:none">
89
+ <circle
90
+ style="fill:#333333;fill-opacity:1;stroke:none;stroke-width:8;stroke-dasharray:none;stroke-opacity:1"
91
+ id="path2616-0-7-0-1-6-1-7-9-5"
92
+ cx="-78.16243"
93
+ cy="-434.03162"
94
+ r="8"
95
+ transform="rotate(45)" />
96
+ <circle
97
+ style="fill:#333333;fill-opacity:1;stroke:none;stroke-width:8;stroke-dasharray:none;stroke-opacity:1"
98
+ id="path2616-0-7-0-1-6-1-7-6-81-8"
99
+ cx="-124.99055"
100
+ cy="-434.03162"
101
+ r="8"
102
+ transform="rotate(45)" />
103
+ <circle
104
+ style="fill:#333333;fill-opacity:1;stroke:none;stroke-width:8;stroke-dasharray:none;stroke-opacity:1"
105
+ id="path2616-0-7-0-1-6-1-7-6-8-0-3"
106
+ cx="-171.81868"
107
+ cy="-434.03162"
108
+ r="8"
109
+ transform="rotate(45)" />
110
+ <circle
111
+ style="fill:#333333;fill-opacity:1;stroke:none;stroke-width:8;stroke-dasharray:none;stroke-opacity:1"
112
+ id="path2616-0-7-0-1-6-1-7-6-8-4-37-5"
113
+ cx="-78.16243"
114
+ cy="-387.26257"
115
+ r="8"
116
+ transform="rotate(45)" />
117
+ <circle
118
+ style="fill:#333333;fill-opacity:1;stroke:none;stroke-width:8;stroke-dasharray:none;stroke-opacity:1"
119
+ id="path2616-0-7-0-1-6-1-7-6-8-4-6-4-6"
120
+ cx="-78.16243"
121
+ cy="-340.49408"
122
+ r="8"
123
+ transform="rotate(45)" />
124
+ <circle
125
+ style="fill:#333333;fill-opacity:1;stroke:none;stroke-width:8;stroke-dasharray:none;stroke-opacity:1"
126
+ id="path2616-0-7-0-1-6-3-7-1-3-1"
127
+ cx="-265.28061"
128
+ cy="-434.03162"
129
+ r="8"
130
+ transform="rotate(45)" />
131
+ <circle
132
+ style="fill:#333333;fill-opacity:1;stroke:none;stroke-width:8;stroke-dasharray:none;stroke-opacity:1"
133
+ id="path2616-0-7-0-1-6-3-3-4-3-4-7"
134
+ cx="-265.28061"
135
+ cy="-246.97406"
136
+ r="8"
137
+ transform="rotate(45)" />
138
+ <circle
139
+ style="fill:#333333;fill-opacity:1;stroke:none;stroke-width:8;stroke-dasharray:none;stroke-opacity:1"
140
+ id="path2616-0-7-0-1-6-3-3-5-5-4-8-9"
141
+ cx="-78.16243"
142
+ cy="-246.97406"
143
+ r="8"
144
+ transform="rotate(45)" />
145
+ <circle
146
+ style="fill:#333333;fill-opacity:1;stroke:none;stroke-width:8;stroke-dasharray:none;stroke-opacity:1"
147
+ id="path2616-0-7-0-1-6-1-7-6-0-39-2"
148
+ cx="-124.99055"
149
+ cy="-246.97406"
150
+ r="8"
151
+ transform="rotate(45)" />
152
+ <circle
153
+ style="fill:#333333;fill-opacity:1;stroke:none;stroke-width:8;stroke-dasharray:none;stroke-opacity:1"
154
+ id="path2616-0-7-0-1-6-1-7-5-9-4"
155
+ cx="-265.28061"
156
+ cy="-387.26257"
157
+ r="8"
158
+ transform="rotate(45)" />
159
+ </g>
160
+ <g
161
+ id="g46225-8"
162
+ transform="translate(1490.8238,225.21236)"
163
+ style="stroke-width:8;stroke-dasharray:none">
164
+ <circle
165
+ style="fill:#333333;fill-opacity:1;stroke:none;stroke-width:8;stroke-dasharray:none;stroke-opacity:1"
166
+ id="path2616-0-7-0-1-7-1-49-3"
167
+ cx="-297.25375"
168
+ cy="-465.9198"
169
+ r="16"
170
+ transform="rotate(45)" />
171
+ <circle
172
+ style="fill:#333333;fill-opacity:1;stroke:none;stroke-width:8;stroke-dasharray:none;stroke-opacity:1"
173
+ id="path2616-0-75-3-1-6-9"
174
+ cx="-46.278656"
175
+ cy="-340.49408"
176
+ r="16"
177
+ transform="rotate(45)" />
178
+ <circle
179
+ style="fill:#333333;fill-opacity:1;stroke:none;stroke-width:8;stroke-dasharray:none;stroke-opacity:1"
180
+ id="path2616-0-2-2-4-6"
181
+ cx="-297.25375"
182
+ cy="-340.49408"
183
+ r="16"
184
+ transform="rotate(45)" />
185
+ <circle
186
+ style="fill:#333333;fill-opacity:1;stroke:none;stroke-width:8;stroke-dasharray:none;stroke-opacity:1"
187
+ id="path2616-0-0-7-6-2-4"
188
+ cx="-171.81868"
189
+ cy="-465.9198"
190
+ r="16"
191
+ transform="rotate(45)" />
192
+ <circle
193
+ style="fill:#333333;fill-opacity:1;stroke:none;stroke-width:8;stroke-dasharray:none;stroke-opacity:1"
194
+ id="path2616-0-5-1-6-8-7"
195
+ cx="-171.81868"
196
+ cy="-214.76801"
197
+ r="16"
198
+ transform="rotate(45)" />
199
+ <circle
200
+ style="fill:#333333;fill-opacity:1;stroke:none;stroke-width:8;stroke-dasharray:none;stroke-opacity:1"
201
+ id="path2616-0-7-00-5-4-7"
202
+ cx="-46.278656"
203
+ cy="-214.76801"
204
+ r="16"
205
+ transform="rotate(45)" />
206
+ <circle
207
+ style="fill:#333333;fill-opacity:1;stroke:none;stroke-width:8;stroke-dasharray:none;stroke-opacity:1"
208
+ id="path2616-0-7-0-9-4-4-3"
209
+ cx="-46.278656"
210
+ cy="-465.9198"
211
+ r="16"
212
+ transform="rotate(45)" />
213
+ <circle
214
+ style="fill:#333333;fill-opacity:1;stroke:none;stroke-width:8;stroke-dasharray:none;stroke-opacity:1"
215
+ id="path2616-0-7-0-1-6-4-1-8-1-1"
216
+ cx="-297.25375"
217
+ cy="-214.76801"
218
+ r="16"
219
+ transform="rotate(45)" />
220
+ <circle
221
+ style="fill:#333333;fill-opacity:1;stroke:none;stroke-width:8;stroke-dasharray:none;stroke-opacity:1"
222
+ id="path2616-5-0-6-7"
223
+ cx="-171.81868"
224
+ cy="-340.49408"
225
+ r="16"
226
+ transform="rotate(45)" />
227
+ </g>
228
+ </g>
229
+ </svg>
@@ -0,0 +1,76 @@
1
+ # Tests on every push and pull request: the C library with each platform's
2
+ # BLAS, and the Python package with the oldest and the newest dependencies.
3
+ name: CI
4
+ on:
5
+ push:
6
+ branches: [main]
7
+ pull_request:
8
+ workflow_dispatch:
9
+ concurrency:
10
+ group: ${{ github.workflow }}-${{ github.ref }}
11
+ cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
12
+ permissions:
13
+ contents: read
14
+
15
+ jobs:
16
+ c-library:
17
+ name: C library, ${{ matrix.os }}
18
+ runs-on: ${{ matrix.os }}
19
+ strategy:
20
+ fail-fast: false
21
+ matrix:
22
+ include:
23
+ - os: ubuntu-latest # OpenBLAS
24
+ cmake-args: ""
25
+ - os: macos-latest # Accelerate
26
+ cmake-args: ""
27
+ - os: windows-latest # no BLAS: dense couplings through the caller's dgemv
28
+ cmake-args: "-DMFAOA_BLAS=OFF"
29
+ steps:
30
+ - uses: actions/checkout@v7.0.1
31
+ - name: Install OpenBLAS
32
+ if: runner.os == 'Linux'
33
+ run: sudo apt-get update && sudo apt-get install -y libopenblas-dev
34
+ - run: cmake -S . -B build ${{ matrix.cmake-args }}
35
+ - run: cmake --build build --config Release
36
+ - run: ctest --test-dir build --build-config Release --output-on-failure
37
+
38
+ python:
39
+ name: Python ${{ matrix.python }}, ${{ matrix.os }}, ${{ matrix.deps }} dependencies
40
+ runs-on: ${{ matrix.os }}
41
+ strategy:
42
+ fail-fast: false
43
+ matrix:
44
+ os: [ubuntu-latest, macos-latest, windows-latest]
45
+ python: ["3.10", "3.15"]
46
+ deps: [newest]
47
+ include:
48
+ # The oldest versions that pyproject.toml allows, on the oldest Python.
49
+ - os: ubuntu-latest
50
+ python: "3.10"
51
+ deps: oldest
52
+ steps:
53
+ - uses: actions/checkout@v7.0.1
54
+ - uses: actions/setup-python@v7.1.0
55
+ with:
56
+ python-version: ${{ matrix.python }}
57
+ - name: Pin the oldest dependencies
58
+ if: matrix.deps == 'oldest'
59
+ run: pip install numpy==1.26.0 scipy==1.11.2 pyomo==6.10.1 dimod==0.12.14
60
+ - run: pip install ".[test]"
61
+ - run: pytest
62
+
63
+ pyomo-main:
64
+ # Pyomo's solver interface is a preview and still moves; this job shows
65
+ # early when its main branch breaks mfaoa.pyomo. It may fail without
66
+ # failing the run.
67
+ name: Pyomo's main branch
68
+ runs-on: ubuntu-latest
69
+ continue-on-error: true
70
+ steps:
71
+ - uses: actions/checkout@v7.0.1
72
+ - uses: actions/setup-python@v7.1.0
73
+ with:
74
+ python-version: "3.14"
75
+ - run: pip install ".[test]" "pyomo @ git+https://github.com/Pyomo/pyomo@main"
76
+ - run: pytest python/tests/test_pyomo.py
@@ -0,0 +1,45 @@
1
+ # Builds the documentation site with MkDocs on every pull request, so that a
2
+ # broken example fails before the merge, and deploys it to GitHub Pages on
3
+ # every push to main. The examples on the pages run during the build.
4
+ # Needs, once: Settings → Pages → Source: GitHub Actions.
5
+ name: Docs
6
+ on:
7
+ push:
8
+ branches: [main]
9
+ pull_request:
10
+ workflow_dispatch:
11
+ permissions:
12
+ contents: read
13
+ concurrency:
14
+ group: ${{ github.workflow }}-${{ github.ref }}
15
+ cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
16
+
17
+ jobs:
18
+ build:
19
+ name: Build the site
20
+ runs-on: ubuntu-latest
21
+ steps:
22
+ - uses: actions/checkout@v7.0.1
23
+ - uses: actions/setup-python@v7.1.0
24
+ with:
25
+ python-version: "3.13"
26
+ - run: pip install ".[docs,pyomo,dimod]"
27
+ - run: mkdocs build --strict
28
+ - uses: actions/upload-pages-artifact@v3
29
+ with:
30
+ path: site
31
+
32
+ deploy:
33
+ name: Deploy to GitHub Pages
34
+ if: github.event_name != 'pull_request' && github.ref == 'refs/heads/main'
35
+ needs: build
36
+ runs-on: ubuntu-latest
37
+ permissions:
38
+ pages: write
39
+ id-token: write
40
+ environment:
41
+ name: github-pages
42
+ url: ${{ steps.deployment.outputs.page_url }}
43
+ steps:
44
+ - id: deployment
45
+ uses: actions/deploy-pages@v4