UnB-KnEDLe/DODFMiner

View on GitHub
docs/source/_static/miner.svg

Summary

Maintainability
Test Coverage
<svg width="1691" height="534" viewBox="0 0 1691 534" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0)">
<path d="M223.253 156.268L297.54 230.555C300.749 233.765 305.624 234.531 309.638 232.539C313.681 230.533 315.988 226.179 315.373 221.688C312.782 203.066 307.219 185.093 298.838 168.27C290.468 151.456 279.483 136.185 266.185 122.877L261.435 118.131L264.237 115.329C269.85 109.716 270.603 101.067 266.52 94.6252L282.716 62.0405C285.682 56.0715 284.508 48.8946 279.795 44.1826L271.294 35.6827C266.583 30.9707 259.405 29.7947 253.435 32.7617L220.85 48.9566C214.407 44.8736 205.759 45.6276 200.146 51.2405L197.348 54.0395L192.598 49.2896C166.054 22.7558 130.963 5.2879 93.7523 0.0999354C89.0403 -0.557059 84.4644 2.07592 82.6354 6.50888C81.0104 10.4469 81.9144 14.9348 84.9234 17.9258L159.209 92.2212C154.382 97.4232 153.488 104.967 156.538 111.036L108.167 165.686C105.422 168.788 105.711 173.527 108.813 176.273C111.904 179.009 116.646 178.738 119.4 175.627L166.6 122.3L193.176 148.875L23.3119 299.224C21.3369 300.974 18.3279 300.882 16.4609 299.015C14.5949 297.149 14.5029 294.14 16.2529 292.163L96.2333 201.799C98.9783 198.697 98.6893 193.958 95.5873 191.212C92.4863 188.466 87.7454 188.755 85.0004 191.858L5.02101 282.221C-1.97494 290.123 -1.60894 302.159 5.854 309.621C13.3269 317.093 25.3638 317.439 33.2528 310.455L204.437 158.937C206.787 160.118 209.357 160.72 211.93 160.72C216.003 160.721 220.065 159.225 223.253 156.268ZM285.412 174.957C290.941 186.056 295.128 197.704 297.918 209.718L233.883 145.684L250.828 128.738L255.578 133.484C267.726 145.64 277.763 159.593 285.412 174.957ZM260.11 46.1936C260.305 46.0976 260.537 46.1356 260.687 46.2876L269.189 54.7885C269.341 54.9405 269.378 55.1725 269.284 55.3645L255.526 83.0453L232.431 59.9495L260.11 46.1936ZM105.795 17.5878C134.468 24.3067 161.122 39.0346 181.991 59.8965L186.74 64.6464L169.792 81.5943L105.795 17.5878ZM170.236 104.723C169.586 104.073 169.586 103.014 170.236 102.364L210.754 61.8465C211.405 61.1955 212.465 61.1985 213.112 61.8465L253.63 102.364C254.28 103.015 254.28 104.073 253.63 104.724L213.113 145.241C212.464 145.891 211.403 145.892 210.754 145.242L170.236 104.723ZM336.984 273.227C339.914 276.156 344.662 276.156 347.591 273.227C350.52 270.298 350.52 265.549 347.591 262.621L328.352 243.381C325.422 240.452 320.674 240.452 317.745 243.381C314.816 246.31 314.816 251.059 317.745 253.987L336.984 273.227ZM367.933 239.219C371.808 240.344 376.058 238.125 377.222 234.098C378.372 230.119 376.08 225.96 372.101 224.809L342.253 216.175C338.274 215.026 334.116 217.316 332.964 221.296C331.814 225.275 334.106 229.434 338.085 230.585L367.933 239.219ZM295.661 258.602C291.682 259.753 289.39 263.912 290.54 267.891L299.174 297.738C300.331 301.762 304.571 303.984 308.463 302.859C312.442 301.708 314.734 297.549 313.584 293.57L304.95 263.723C303.797 259.742 299.641 257.452 295.661 258.602Z" fill="#0F4C81"/>
<path d="M504.285 214.534C508.428 214.534 511.785 211.176 511.785 207.034V22.5008C511.785 10.0939 501.691 0.00102138 489.285 0.00102138H338.419C324.79 -0.147977 317.42 16.0389 325.829 26.3008L403.86 123.227C406.104 126.015 407.204 129.515 406.955 133.085L397.362 271.194C396.989 276.568 393.67 281.197 388.7 283.275L288.314 325.24C274.928 330.836 267.759 345.115 271.268 359.191L282.95 406.068C284.183 411.017 282.648 416.269 278.943 419.774L210.973 484.091C200.504 494.018 207.687 511.999 222.083 511.996H489.283C501.689 511.996 511.783 501.903 511.783 489.496V241.998C511.783 237.856 508.426 234.498 504.283 234.498C500.14 234.498 496.783 237.856 496.783 241.998V489.496C496.783 493.632 493.419 496.996 489.283 496.996H222.085C221.205 497.085 220.596 495.514 221.285 494.987L289.254 430.67C296.884 423.451 300.046 412.634 297.506 402.441L285.824 355.563C284.121 348.729 287.601 341.795 294.1 339.079L394.486 297.114C404.722 292.835 411.559 283.301 412.328 272.233L421.92 134.125C422.433 126.772 420.168 119.561 415.545 113.82L337.514 16.8939C336.94 16.3169 337.638 14.9189 338.42 14.9999H489.285C493.421 14.9999 496.785 18.3639 496.785 22.4998V207.033C496.785 211.176 500.142 214.534 504.285 214.534Z" fill="#0F4C81"/>
<path d="M408 177C408 180.866 409.184 184 410.644 184H457.356C458.816 184 464 182 464 177C464 172 458.816 170 457.356 170H410.644C409.184 170 408 173.134 408 177Z" fill="#0F4C81"/>
<path d="M408 220C408 223.866 409.184 227 410.644 227H457.356C458.816 227 464 225 464 220C464 215 458.816 213 457.356 213H410.644C409.184 213 408 216.134 408 220Z" fill="#0F4C81"/>
<path d="M408 263C408 266.866 409.184 270 410.644 270H457.356C458.816 270 464 268 464 263C464 258 458.816 256 457.356 256H410.644C409.184 256 408 259.134 408 263Z" fill="#0F4C81"/>
<path d="M282 349C282 352.866 284.75 356 288.141 356H455.639C459.032 356 464 353 464 349C464 344 459.032 342 455.639 342H288.141C284.75 342 282 345.134 282 349Z" fill="#0F4C81"/>
<path d="M351 306C351 309.866 352.677 313 354.746 313H456.901C458.97 313 464 311.5 464 306C464 299.675 458.97 299 456.901 299H354.746C352.677 299 351 302.134 351 306Z" fill="#0F4C81"/>
<path d="M431.678 422.229L422.002 435.098L410.932 431.42L414.817 458.534H448.538L452.424 431.42L441.354 435.098L431.678 422.229ZM443.555 452.802H419.801L417.938 439.789L424.111 441.844L431.678 431.784L439.244 441.844L445.417 439.789L443.555 452.802Z" fill="#0F4C81"/>
<path d="M469.335 417.059C468.617 413.871 467.007 410.955 464.682 408.629C462.357 406.303 459.445 404.691 456.26 403.973C450.813 402.742 445.649 400.602 440.92 397.616C435.397 394.128 427.949 394.128 422.433 397.616C417.701 400.599 412.537 402.742 407.093 403.973C403.905 404.691 400.993 406.303 398.668 408.629C396.343 410.955 394.732 413.871 394.015 417.056C392.784 422.5 390.648 427.666 387.661 432.403C385.922 435.165 385 438.364 385 441.653C385 444.943 385.922 448.142 387.666 450.9C390.651 455.641 392.789 460.807 394.02 466.248C394.738 469.438 396.349 472.351 398.674 474.678C400.993 477.001 403.905 478.609 407.093 479.333C412.543 480.568 417.707 482.705 422.436 485.691C425.193 487.433 428.39 488.356 431.678 488.356C434.966 488.356 438.163 487.433 440.92 485.688C445.652 482.705 450.816 480.565 456.265 479.33C459.454 478.607 462.366 476.998 464.685 474.675C467.01 472.348 468.62 469.435 469.338 466.248C470.569 460.804 472.705 455.638 475.692 450.9C477.434 448.142 478.356 444.943 478.356 441.653C478.356 438.364 477.434 435.165 475.689 432.406C472.705 427.666 470.566 422.5 469.335 417.059V417.059ZM470.756 447.789C467.413 453.092 465.023 458.872 463.643 464.967C463.168 467.077 462.103 469.006 460.557 470.55C459.016 472.092 457.088 473.16 454.976 473.639C448.876 475.022 443.099 477.413 437.804 480.755C434.152 483.07 429.204 483.07 425.546 480.755C420.256 477.413 414.477 475.022 408.377 473.639C406.265 473.16 404.336 472.094 402.796 470.55C401.253 469.006 400.185 467.077 399.709 464.964C398.329 458.872 395.94 453.095 392.597 447.786C391.444 445.959 390.835 443.837 390.835 441.653C390.835 439.47 391.444 437.348 392.6 435.518C395.943 430.214 398.332 424.435 399.712 418.34C400.188 416.23 401.253 414.3 402.799 412.756C404.345 411.212 406.27 410.144 408.383 409.668C414.48 408.288 420.253 405.894 425.551 402.552C427.375 401.399 429.496 400.789 431.678 400.789C433.86 400.789 435.981 401.399 437.81 402.555C443.102 405.897 448.879 408.29 454.979 409.671C457.088 410.147 459.016 411.212 460.56 412.759C462.103 414.306 463.171 416.233 463.646 418.346C465.026 424.438 467.415 430.214 470.759 435.524C471.911 437.348 472.521 439.47 472.521 441.653C472.521 443.837 471.911 445.959 470.756 447.789V447.789Z" fill="#0F4C81"/>
<path d="M857.224 297V513H847.72V310.824L745.768 517.032L644.392 308.232V513H634.888V297H648.424L745.768 497.448L843.976 297H857.224ZM909.282 353.736C906.594 353.736 904.194 352.776 902.082 350.856C900.162 348.936 899.202 346.536 899.202 343.656C899.202 340.968 900.162 338.664 902.082 336.744C904.194 334.824 906.594 333.864 909.282 333.864C911.97 333.864 914.274 334.824 916.194 336.744C918.306 338.664 919.362 340.968 919.362 343.656C919.362 346.536 918.306 348.936 916.194 350.856C914.274 352.776 911.97 353.736 909.282 353.736ZM904.674 383.4H913.89V513H904.674V383.4ZM956.832 383.4H966.048V412.2C970.272 402.6 977.472 394.92 987.648 389.16C997.824 383.208 1009.06 380.232 1021.34 380.232C1037.28 380.232 1049.86 385.32 1059.07 395.496C1068.48 405.48 1073.18 419.496 1073.18 437.544V513H1063.97V437.544C1063.97 421.992 1060.13 409.896 1052.45 401.256C1044.96 392.616 1034.4 388.296 1020.77 388.296C1010.78 388.296 1001.57 390.6 993.12 395.208C984.864 399.624 978.24 405.768 973.248 413.64C968.448 421.512 966.048 430.44 966.048 440.424V513H956.832V383.4ZM1172.62 508.392C1182.61 508.392 1192.11 505.8 1201.13 500.616C1210.16 495.432 1217.65 488.328 1223.6 479.304V493.992C1216.49 501.864 1208.72 507.624 1200.27 511.272C1191.82 514.728 1182.22 516.456 1171.47 516.456C1159.57 516.456 1148.33 513.288 1137.77 506.952C1127.41 500.616 1119.05 492.168 1112.72 481.608C1106.57 471.048 1103.5 459.816 1103.5 447.912C1103.5 435.048 1106.57 423.528 1112.72 413.352C1118.86 402.984 1127.21 394.92 1137.77 389.16C1148.53 383.4 1160.43 380.52 1173.49 380.52C1193.45 380.52 1210.45 388.392 1224.46 404.136L1134.03 493.416C1140.37 498.6 1146.51 502.44 1152.46 504.936C1158.41 507.24 1165.13 508.392 1172.62 508.392ZM1112.72 447.048C1112.72 462.984 1118 476.616 1128.56 487.944L1212.94 404.136C1206.61 398.568 1200.46 394.632 1194.51 392.328C1188.56 389.832 1181.45 388.584 1173.2 388.584C1161.49 388.584 1151.02 391.176 1141.81 396.36C1132.78 401.352 1125.68 408.264 1120.49 417.096C1115.31 425.928 1112.72 435.912 1112.72 447.048ZM1253.27 383.4H1262.49V413.352C1266.33 403.944 1271.89 396.552 1279.19 391.176C1286.68 385.8 1295.13 383.112 1304.53 383.112C1310.49 383.112 1316.53 384.36 1322.68 386.856V397.512C1317.11 393.288 1310.87 391.176 1303.96 391.176C1297.05 391.176 1290.33 393.288 1283.8 397.512C1277.46 401.736 1272.28 407.4 1268.25 414.504C1264.41 421.608 1262.49 429.192 1262.49 437.256V513H1253.27V383.4Z" fill="#0F4C81"/>
<circle cx="1570.48" cy="144.322" r="16.7816" fill="#0F4C81"/>
<rect x="1500" y="0.000976562" width="33.5632" height="292" rx="16.7816" fill="#0F4C81"/>
<rect x="1500" y="33.5632" width="33.5632" height="134.253" rx="16.7816" transform="rotate(-90 1500 33.5632)" fill="#0F4C81"/>
<circle cx="644.574" cy="232.823" r="16.4045" transform="rotate(-180 644.574 232.823)" fill="#0F4C81"/>
<rect x="661.013" y="206.448" width="32.8439" height="186.507" rx="16.422" transform="rotate(-180 661.013 206.448)" fill="#0F4C81"/>
<path d="M633.002 45.417C626.827 37.5542 628.148 26.0641 636.714 20.9085C653.371 10.8832 671.918 4.25355 691.283 1.47759C716.643 -2.15761 742.512 0.943797 766.293 10.4703C790.074 19.9968 810.93 35.6131 826.766 55.7506C842.602 75.8882 852.86 99.8381 856.511 125.195C860.162 150.552 857.076 176.423 847.564 200.21C838.052 223.997 822.449 244.862 802.321 260.711C782.193 276.559 758.25 286.832 732.895 290.498C713.533 293.298 693.869 292.17 675.06 287.251C665.388 284.721 660.879 274.07 664.586 264.785V264.785C668.292 255.499 678.818 251.138 688.586 253.27C701.392 256.065 714.644 256.555 727.714 254.665C746.781 251.908 764.787 244.183 779.923 232.264C795.06 220.346 806.794 204.655 813.947 186.767C821.1 168.879 823.42 149.423 820.675 130.354C817.929 111.286 810.215 93.2749 798.306 78.1312C786.397 62.9874 770.713 51.2437 752.829 44.0796C734.946 36.9155 715.491 34.5832 696.421 37.3169C683.35 39.1907 670.774 43.3993 659.276 49.6937C650.507 54.4948 639.178 53.2798 633.002 45.417V45.417Z" fill="#0F4C81"/>
<circle cx="1232.57" cy="232.823" r="16.4045" transform="rotate(-180 1232.57 232.823)" fill="#0F4C81"/>
<rect x="1249.01" y="206.448" width="32.8439" height="186.507" rx="16.422" transform="rotate(-180 1249.01 206.448)" fill="#0F4C81"/>
<path d="M1221 45.417C1214.83 37.5542 1216.15 26.0641 1224.71 20.9085C1241.37 10.8832 1259.92 4.25355 1279.28 1.47759C1304.64 -2.15761 1330.51 0.943797 1354.29 10.4703C1378.07 19.9968 1398.93 35.6131 1414.77 55.7506C1430.6 75.8882 1440.86 99.8381 1444.51 125.195C1448.16 150.552 1445.08 176.423 1435.56 200.21C1426.05 223.997 1410.45 244.862 1390.32 260.711C1370.19 276.559 1346.25 286.832 1320.89 290.498C1301.53 293.298 1281.87 292.17 1263.06 287.251C1253.39 284.721 1248.88 274.07 1252.59 264.785V264.785C1256.29 255.499 1266.82 251.138 1276.59 253.27C1289.39 256.065 1302.64 256.555 1315.71 254.665C1334.78 251.908 1352.79 244.183 1367.92 232.264C1383.06 220.346 1394.79 204.655 1401.95 186.767C1409.1 168.879 1411.42 149.423 1408.67 130.354C1405.93 111.286 1398.21 93.2749 1386.31 78.1312C1374.4 62.9874 1358.71 51.2437 1340.83 44.0796C1322.95 36.9155 1303.49 34.5832 1284.42 37.3169C1271.35 39.1907 1258.77 43.3993 1247.28 49.6937C1238.51 54.4948 1227.18 53.2798 1221 45.417V45.417Z" fill="#0F4C81"/>
<circle cx="900.405" cy="120.405" r="16.4045" transform="rotate(-180 900.405 120.405)" fill="#0F4C81"/>
<path d="M908.646 90.7641C899.628 86.4462 895.728 75.5574 901.127 67.1432C917.053 42.3277 940.212 22.7861 967.676 11.302C1000.74 -2.52225 1037.73 -3.70536 1071.6 7.97789C1105.48 19.6611 1133.87 43.3947 1151.38 74.6596C1168.89 105.925 1174.29 142.537 1166.56 177.526C1158.82 212.515 1138.48 243.436 1109.42 264.402C1080.36 285.368 1044.61 294.915 1008.96 291.225C973.32 287.534 940.279 270.864 916.13 244.388C896.07 222.394 883.311 194.91 879.334 165.693C877.985 155.786 886.114 147.558 896.111 147.445V147.445C906.108 147.332 914.153 155.401 915.905 165.244C919.521 185.555 928.814 204.567 942.88 219.99C961.04 239.9 985.888 252.436 1012.69 255.211C1039.5 257.987 1066.39 250.807 1088.24 235.04C1110.09 219.274 1125.39 196.02 1131.21 169.708C1137.02 143.396 1132.96 115.863 1119.8 92.351C1106.63 68.8393 1085.27 50.9912 1059.8 42.2052C1034.32 33.4192 1006.51 34.3089 981.644 44.7049C962.385 52.7578 945.942 66.0788 934.099 82.9711C928.36 91.1575 917.663 95.082 908.646 90.7641V90.7641Z" fill="#0F4C81"/>
</g>
<defs>
<clipPath id="clip0">
<rect width="1691" height="534" fill="white"/>
</clipPath>
</defs>
</svg>