diff --git a/.gitignore b/.gitignore index a59ec56..c0441a6 100644 --- a/.gitignore +++ b/.gitignore @@ -25,7 +25,8 @@ build .LSOverride # Icon must end with two \r -Icon +Icon + # Thumbnails ._* @@ -560,3 +561,4 @@ xcuserdata *.xccheckout *.moved-aside *.xcuserstate +.vscode \ No newline at end of file diff --git a/README.md b/README.md index 0e38ddb..7cba995 100644 --- a/README.md +++ b/README.md @@ -3,12 +3,44 @@ CUDA Stream Compaction **University of Pennsylvania, CIS 565: GPU Programming and Architecture, Project 2** -* (TODO) YOUR NAME HERE - * (TODO) [LinkedIn](), [personal website](), [twitter](), etc. -* Tested on: (TODO) Windows 22, i7-2222 @ 2.22GHz 22GB, GTX 222 222MB (Moore 2222 Lab) +* Nicholas Liu + * [Linkedin](https://www.linkedin.com/in/liunicholas6/) +* Tested on: Linux Mint 22 Wilma, AMD Ryzen 7 5800X @ 2.512GHz, 32GB RAM, GeForce GTX 1660 Ti -### (TODO: Your README) +# Project Description -Include analysis, etc. (Remember, this is public, so don't put -anything here that you don't want to share with the world.) +This project implements scan (prefix-sum) in a variety of different ways. We test a CPU implementation, a GPU naive version, and a GPU work-efficient version against the implementation from the Thrust library. +# Performance Analysis + +At very small array sizes, the CPU scan performs the best. As we increase the size of the array, the CPU begins to perform relatively worse, and is quickly eclipsed in speed by the Thrust implementation. + +Error bars shown are 1 sigma with 1000 runs of scan. + +![chart: cpu better](img/cpu-better.png) + +Once we reach a number of elements on the order of 2^23 or so, the work-efficient scan implemented also performs better than the CPU scan + +![chart: gpu better](img/gpu-better.png) + +| 256 | CPU | 7.585e-05 | 1.684521478821987e-05 | | +|---------|-----------|---------------------|------------------------|---| +| 256 | Naive | 0.019890368 | 0.018129259603148012 | | +| 256 | Efficient | 0.041029536 | 0.03196243203484814 | | +| 256 | Thrust | 0.022883072 | 0.07034156396333269 | | +| 4096 | CPU | 0.00092551 | 0.00017840902353771144 | | +| 4096 | Naive | 0.02674304 | 0.005283869080783783 | | +| 4096 | Efficient | 0.053911488 | 0.0037359112841419267 | | +| 4096 | Thrust | 0.0177352 | 0.009973741521411908 | | +| 65536 | CPU | 0.017869165 | 0.003946497566300506 | | +| 65536 | Naive | 0.099199506 | 0.18741031849147752 | | +| 65536 | Efficient | 0.15358839999999999 | 0.34961337456361957 | | +| 65536 | Thrust | 0.089322486 | 0.3254493673567683 | | +| 1048576 | CPU | 0.27509278 | 0.048449150282649026 | | +| 1048576 | Naive | 0.814048116 | 0.04939857649465461 | | +| 1048576 | Efficient | 0.520357476 | 0.11646960803214108 | | +| 1048576 | Thrust | 0.199752738 | 0.07898137835466129 | | +| 8388608 | CPU | 4.41064898 | 1.176601505235431 | | +| 8388608 | Naive | 7.03792806 | 0.37055519290846245 | | +| 8388608 | Efficient | 3.77427417 | 0.2990962226148862 | | +| 8388608 | Thrust | 0.519275972 | 0.20947768302315156 | | \ No newline at end of file diff --git a/analysis/data/12.csv b/analysis/data/12.csv new file mode 100644 index 0000000..8ad40f7 --- /dev/null +++ b/analysis/data/12.csv @@ -0,0 +1,4 @@ +0.0062,0.00103,0.00096,0.00094,0.00094,0.00093,0.00093,0.00093,0.00092,0.00094,0.00091,0.00092,0.00093,0.00093,0.00092,0.00092,0.00099,0.00094,0.00092,0.00092,0.00092,0.00092,0.00092,0.00092,0.00092,0.00092,0.00092,0.00092,0.00092,0.00092,0.00091,0.001,0.00094,0.00095,0.00093,0.00092,0.00092,0.00092,0.00092,0.00091,0.00091,0.00091,0.00091,0.00091,0.00091,0.00092,0.0009,0.00091,0.00091,0.00092,0.00091,0.0009,0.00091,0.00187,0.00192,0.00199,0.00096,0.00092,0.00091,0.00092,0.00091,0.00091,0.00092,0.00091,0.00092,0.00092,0.00091,0.00091,0.00097,0.00092,0.00091,0.00092,0.00091,0.00092,0.00091,0.00091,0.00091,0.00091,0.00091,0.00091,0.00092,0.00091,0.00091,0.00092,0.00092,0.00091,0.0009,0.00091,0.00092,0.00091,0.00091,0.00091,0.00091,0.00091,0.00091,0.0009,0.0009,0.0009,0.0009,0.00091,0.00091,0.00091,0.00091,0.00091,0.00091,0.00092,0.00091,0.00092,0.0009,0.00091,0.00091,0.00091,0.0009,0.00091,0.0009,0.0009,0.0009,0.000909,0.0009,0.00091,0.0009,0.0009,0.00091,0.00096,0.00092,0.00092,0.00092,0.00093,0.00091,0.00093,0.00091,0.00091,0.00091,0.00092,0.00091,0.00091,0.00091,0.00091,0.00091,0.00091,0.0009,0.00092,0.00091,0.00091,0.00092,0.00092,0.00091,0.0009,0.00091,0.0009,0.00091,0.00091,0.0009,0.00092,0.00091,0.00091,0.00091,0.00091,0.00091,0.0009,0.00091,0.00091,0.00091,0.0009,0.0009,0.00091,0.00091,0.00091,0.00091,0.00091,0.0009,0.00091,0.00091,0.00091,0.00091,0.00091,0.00091,0.00097,0.00092,0.00091,0.00091,0.00091,0.00092,0.0009,0.00091,0.00091,0.00092,0.00091,0.00091,0.00091,0.00091,0.00091,0.00091,0.00092,0.00091,0.000909,0.00091,0.00092,0.00091,0.00092,0.00091,0.00093,0.00092,0.00092,0.00091,0.00092,0.00092,0.00091,0.00091,0.00092,0.00091,0.00092,0.0009,0.00091,0.00091,0.00091,0.00091,0.00092,0.00091,0.00091,0.00091,0.00091,0.00091,0.00091,0.00091,0.00091,0.00091,0.00091,0.00091,0.00091,0.00091,0.00092,0.00095,0.00092,0.00091,0.00092,0.00092,0.00092,0.00091,0.00093,0.00092,0.00092,0.00092,0.00092,0.00091,0.00092,0.00092,0.00091,0.00092,0.00092,0.00091,0.00091,0.00092,0.00092,0.00091,0.00092,0.00093,0.00096,0.00093,0.00093,0.00093,0.00093,0.00093,0.00093,0.00092,0.00092,0.00092,0.00093,0.00094,0.00092,0.00091,0.00091,0.00091,0.00091,0.00092,0.00092,0.00092,0.00092,0.00091,0.00092,0.00092,0.00091,0.00092,0.00092,0.00092,0.00092,0.00096,0.00092,0.00092,0.00091,0.00091,0.00091,0.00092,0.00092,0.00091,0.00092,0.00092,0.00091,0.00092,0.00091,0.00092,0.00091,0.00091,0.00093,0.00091,0.00092,0.00092,0.00091,0.00092,0.00092,0.00091,0.00092,0.00092,0.00091,0.00091,0.00092,0.00092,0.00092,0.00091,0.00092,0.00092,0.00092,0.00092,0.00092,0.00092,0.00092,0.000919,0.00091,0.00091,0.00092,0.00091,0.00092,0.00091,0.00092,0.00091,0.00092,0.00091,0.00092,0.00092,0.00092,0.00091,0.00095,0.00093,0.00094,0.00093,0.00092,0.00092,0.00092,0.00091,0.00091,0.00092,0.00092,0.00092,0.00092,0.0009,0.0009,0.00091,0.0009,0.0009,0.00091,0.00091,0.00091,0.00177,0.00093,0.00091,0.00091,0.00091,0.00092,0.00091,0.00092,0.00091,0.00091,0.00091,0.00092,0.00091,0.00091,0.00091,0.00091,0.00091,0.00091,0.00091,0.00092,0.00091,0.00092,0.00091,0.00091,0.00091,0.00091,0.00092,0.00091,0.00091,0.00091,0.00091,0.00091,0.00097,0.00091,0.00091,0.00092,0.00091,0.00091,0.00091,0.00091,0.00091,0.00091,0.00091,0.00091,0.00091,0.00091,0.00091,0.0009,0.00091,0.00091,0.00091,0.00091,0.00091,0.0009,0.00091,0.00091,0.00091,0.0009,0.0009,0.00091,0.00091,0.00091,0.00091,0.00091,0.00091,0.00091,0.00091,0.00092,0.00091,0.00091,0.00092,0.00091,0.00092,0.00091,0.00091,0.000909,0.00091,0.00091,0.00091,0.00091,0.00091,0.00091,0.0009,0.00091,0.00092,0.00091,0.00091,0.00096,0.00093,0.00091,0.00092,0.00092,0.00092,0.00092,0.00092,0.00093,0.00093,0.00091,0.00092,0.00091,0.00091,0.00091,0.00091,0.00091,0.00092,0.00091,0.00091,0.00091,0.00091,0.00091,0.0009,0.00091,0.00091,0.00091,0.00091,0.00091,0.00091,0.00091,0.00091,0.00091,0.00091,0.00092,0.00091,0.00091,0.00091,0.00092,0.00092,0.00091,0.00092,0.00091,0.00091,0.00091,0.0009,0.00091,0.00091,0.00091,0.00091,0.00091,0.0009,0.00092,0.00091,0.00097,0.00092,0.00091,0.00092,0.00092,0.00091,0.00092,0.00092,0.00091,0.00091,0.00095,0.00094,0.00093,0.00093,0.00093,0.00093,0.00092,0.00093,0.00092,0.00092,0.00093,0.00092,0.00092,0.00093,0.00092,0.00093,0.00093,0.00092,0.00092,0.00092,0.00092,0.00092,0.00093,0.00092,0.000919,0.00092,0.00092,0.00092,0.00092,0.00092,0.00092,0.00091,0.00092,0.00092,0.00092,0.00092,0.00092,0.00092,0.00092,0.00092,0.00092,0.00092,0.00092,0.00093,0.00092,0.00095,0.00093,0.00092,0.00092,0.00092,0.00091,0.00092,0.00092,0.00092,0.00092,0.00092,0.00092,0.00091,0.00092,0.00092,0.00091,0.00091,0.00091,0.00091,0.00091,0.00091,0.00091,0.00092,0.00091,0.00091,0.00091,0.00092,0.00091,0.00091,0.00091,0.00091,0.00091,0.00091,0.00091,0.00091,0.00092,0.00091,0.00091,0.00091,0.00092,0.00091,0.00091,0.00091,0.00092,0.00092,0.00091,0.00091,0.00091,0.00091,0.00091,0.00092,0.00091,0.00091,0.00091,0.00096,0.00092,0.00091,0.00091,0.00091,0.0009,0.00091,0.00091,0.00092,0.00091,0.00092,0.00091,0.000919,0.00091,0.00092,0.00091,0.00092,0.00092,0.00092,0.00092,0.00093,0.00092,0.00092,0.00092,0.00091,0.00092,0.00092,0.00091,0.00092,0.00092,0.00091,0.00091,0.00091,0.00091,0.00091,0.00092,0.00091,0.00091,0.000909,0.00091,0.00091,0.00092,0.00092,0.00091,0.00092,0.00092,0.00091,0.00091,0.00091,0.00091,0.0009,0.00091,0.00091,0.00091,0.00092,0.00095,0.00093,0.00091,0.00092,0.00091,0.00091,0.00092,0.00092,0.00091,0.00091,0.00092,0.00091,0.00092,0.00091,0.00092,0.00091,0.00091,0.00092,0.00092,0.00092,0.00092,0.00092,0.00091,0.00091,0.00092,0.00091,0.00091,0.00092,0.00092,0.00091,0.00092,0.00091,0.00092,0.00091,0.00092,0.00091,0.00092,0.00092,0.00092,0.00091,0.00092,0.00091,0.00092,0.00092,0.00092,0.00093,0.00092,0.00092,0.00092,0.00092,0.00092,0.00093,0.00092,0.00091,0.00096,0.00092,0.0009,0.00092,0.00091,0.00091,0.00092,0.00091,0.00091,0.00091,0.00092,0.00091,0.00092,0.00091,0.00091,0.00091,0.00091,0.00091,0.00091,0.00091,0.00091,0.00092,0.00091,0.00091,0.00091,0.00091,0.00091,0.00091,0.0009,0.00092,0.00091,0.00091,0.00091,0.00092,0.00091,0.00091,0.00091,0.00091,0.00091,0.00092,0.00091,0.00091,0.00091,0.00091,0.00091,0.00091,0.00091,0.00091,0.00091,0.00091,0.00092,0.00091,0.00091,0.0009,0.00091,0.00096,0.00091,0.00092,0.00092,0.00092,0.00092,0.00092,0.00092,0.00092,0.00092,0.00092,0.00092,0.00092,0.00092,0.00091,0.000919,0.00092,0.00092,0.00092,0.00091,0.00091,0.00092,0.00091,0.00091,0.00091,0.00092,0.00092,0.00092,0.00092,0.00092,0.00092,0.0009,0.00091,0.00092,0.00092,0.00092,0.00092,0.00091,0.00092,0.00091,0.00092,0.000919,0.00092,0.00092,0.0009,0.00092,0.00092,0.00092,0.00092,0.00092,0.00091,0.00092,0.00092,0.00092,0.00093,0.00094,0.00094,0.00092,0.00093,0.00092,0.00093,0.00092,0.00093,0.00093,0.00092,0.00092,0.00092,0.00091,0.00091,0.00092,0.00091,0.00091,0.00091,0.00091,0.00092,0.00092,0.00092,0.00091,0.00091,0.00092,0.00093,0.00092,0.00091,0.00091,0.00092,0.00093,0.00092,0.00091,0.00091,0.00092,0.00091,0.00091,0.0009,0.00091,0.00091,0.00091,0.00091,0.00091,0.00091,0.00091,0.00091,0.00091,0.00092,0.00091,0.00091,0.00091,0.00091,0.00091,0.00105,0.00094,0.00093,0.00091,0.00092,0.00093,0.00093,0.00091,0.00094,0.00091,0.00092,0.00093,0.00091,0.00091,0.00092,0.00091,0.00091,0.00092,0.00092,0.00092,0.00092,0.00091,0.00091,0.00092,0.00091,0.00091,0.00092,0.00092,0.00091,0.00091,0.00091,0.000909,0.0009,0.00092,0.00091,0.00091,0.00091,0.0009,0.00091,0.00091,0.00091,0.00092,0.00091,0.00092,0.0009,0.0009,0.00091,0.00091,0.00091,0.00091,0.00091,0.00091,0.0009,0.00091,0.00091,0.00103,0.00093,0.00093,0.00092,0.00092,0.00093,0.00092,0.00092,0.00094,0.00092,0.00092,0.00093,0.00092,0.00091,0.00092,0.00091,0.00091,0.00092,0.00091,0.00092,0.00091,0.00091,0.00091,0.00091,0.00092,0.00092,0.00091,0.00091,0.00091,0.00092,0.00091,0.00092,0.00091,0.00091,0.00091,0.00091,0.00091,0.00092,0.00091,0.00091,0.00091,0.00092,0.00091,0.00091,0.00091,0.00092,0.00092,0.00091,0.00092,0.00091,0.00092,0.00091,0.00092,0.00092,0.00105,0.00094,0.00094,0.00093,0.00093,0.00093,0.00092, +0.088064,0.027488,0.026656,0.026592,0.02688,0.026624,0.025984,0.026464,0.026624,0.027808,0.02656,0.02672,0.028096,0.026752,0.026688,0.027808,0.026624,0.026624,0.02672,0.026624,0.026624,0.028032,0.027072,0.026752,0.026688,0.026272,0.02784,0.02624,0.026528,0.026848,0.026656,0.026656,0.026944,0.026624,0.026624,0.026368,0.030688,0.026624,0.026624,0.026784,0.026272,0.028672,0.026784,0.026784,0.026592,0.026144,0.02736,0.02736,0.027776,0.027872,0.026624,0.026656,0.028384,0.02672,0.026624,0.030208,0.026656,0.026624,0.0264,0.026624,0.026624,0.027424,0.026304,0.027008,0.026624,0.02656,0.02688,0.025248,0.02816,0.026368,0.026624,0.026624,0.02656,0.0272,0.027648,0.025312,0.026688,0.027936,0.027872,0.026848,0.026176,0.026624,0.02672,0.026496,0.0264,0.027296,0.028064,0.026624,0.026368,0.0256,0.027232,0.026624,0.026944,0.026624,0.026624,0.026464,0.026496,0.02688,0.02624,0.027808,0.026624,0.026624,0.0264,0.02784,0.026432,0.026464,0.02672,0.027264,0.025536,0.026624,0.027616,0.026624,0.03088,0.028544,0.026784,0.027936,0.026656,0.02736,0.026624,0.026624,0.026336,0.026624,0.026624,0.03056,0.027968,0.026624,0.026624,0.025472,0.026656,0.027456,0.0264,0.025568,0.02688,0.028032,0.026784,0.026656,0.02672,0.026624,0.026688,0.026624,0.026624,0.026848,0.026624,0.026848,0.026624,0.026336,0.025248,0.026464,0.025408,0.026688,0.026688,0.026432,0.025536,0.026656,0.026496,0.026624,0.026368,0.026688,0.0264,0.026624,0.02592,0.029952,0.026656,0.026592,0.026592,0.025024,0.02624,0.026848,0.025984,0.028096,0.026624,0.026624,0.026624,0.026528,0.026496,0.027104,0.026624,0.026624,0.02672,0.026592,0.026624,0.025536,0.026912,0.02672,0.026624,0.026368,0.02656,0.028416,0.026464,0.026432,0.026624,0.026624,0.026624,0.02624,0.02528,0.02672,0.025408,0.02672,0.025728,0.026464,0.026624,0.025568,0.026176,0.026624,0.026528,0.025088,0.030944,0.026176,0.026592,0.026528,0.026656,0.026912,0.02704,0.026848,0.026624,0.026208,0.026592,0.03072,0.026624,0.02544,0.0272,0.027104,0.02656,0.026208,0.026624,0.02496,0.025248,0.026624,0.024864,0.025504,0.026432,0.026624,0.028032,0.025088,0.02656,0.02656,0.026784,0.028448,0.026624,0.032896,0.027552,0.026432,0.02704,0.022432,0.024832,0.02352,0.02432,0.024576,0.02448,0.024576,0.024448,0.022912,0.023424,0.024544,0.022112,0.022208,0.024576,0.024352,0.024416,0.024832,0.024576,0.024512,0.02336,0.02464,0.024608,0.026208,0.024512,0.024576,0.024576,0.024576,0.024544,0.024576,0.024576,0.024576,0.023232,0.024608,0.024512,0.024224,0.024896,0.024352,0.024768,0.024576,0.024672,0.024576,0.028672,0.024256,0.024416,0.0248,0.024576,0.024576,0.028256,0.024832,0.024576,0.024416,0.023552,0.024032,0.021216,0.024576,0.021184,0.024576,0.024576,0.024736,0.02384,0.026752,0.026624,0.025184,0.026624,0.026528,0.026752,0.02656,0.026208,0.026464,0.026528,0.026624,0.026624,0.02544,0.026624,0.025216,0.026208,0.026432,0.026464,0.026624,0.026464,0.02768,0.027232,0.026368,0.026624,0.026848,0.026624,0.026784,0.02672,0.026336,0.026624,0.028672,0.026176,0.03072,0.024768,0.026624,0.026592,0.026624,0.176832,0.026656,0.026624,0.025536,0.026464,0.026656,0.02688,0.0256,0.025216,0.026944,0.026688,0.026624,0.026464,0.026432,0.026208,0.026624,0.026656,0.02656,0.026528,0.026784,0.026272,0.026624,0.026624,0.02672,0.026464,0.026272,0.026624,0.026912,0.027712,0.026624,0.026624,0.026624,0.026848,0.03072,0.027712,0.026624,0.026976,0.026624,0.026624,0.025216,0.026496,0.026624,0.026464,0.025984,0.026784,0.026624,0.026624,0.02496,0.026656,0.02672,0.02608,0.026528,0.026624,0.025408,0.026624,0.025376,0.02784,0.026624,0.0256,0.026624,0.025472,0.026688,0.026592,0.025472,0.025344,0.027904,0.026624,0.026432,0.026624,0.02656,0.026624,0.026624,0.02624,0.026624,0.026624,0.025536,0.02656,0.026272,0.026976,0.026624,0.026784,0.026144,0.02656,0.032224,0.026304,0.02592,0.026624,0.02688,0.026624,0.026528,0.025024,0.025408,0.026272,0.02608,0.024896,0.026624,0.026624,0.026496,0.026464,0.026688,0.026528,0.026528,0.026496,0.026656,0.034912,0.02688,0.025408,0.026624,0.026656,0.026624,0.026624,0.026624,0.02688,0.026624,0.02544,0.028128,0.02672,0.026848,0.026368,0.026624,0.027936,0.026464,0.027808,0.026592,0.026304,0.026528,0.026624,0.026528,0.026464,0.026624,0.026112,0.026368,0.026272,0.026496,0.026592,0.02624,0.026048,0.026752,0.027168,0.026336,0.0264,0.026624,0.025504,0.027648,0.02656,0.025248,0.026624,0.026912,0.026624,0.026752,0.026176,0.026592,0.026624,0.025408,0.026848,0.03104,0.026432,0.0248,0.026144,0.026624,0.026624,0.0264,0.026624,0.03328,0.026688,0.026528,0.026624,0.026624,0.026528,0.02608,0.026592,0.026944,0.026592,0.02656,0.026624,0.026624,0.026624,0.02656,0.0264,0.026592,0.026624,0.027712,0.026528,0.02544,0.026624,0.027136,0.026048,0.02496,0.032672,0.026624,0.026784,0.025984,0.026112,0.026272,0.02704,0.025472,0.026592,0.028128,0.026624,0.026592,0.026464,0.026432,0.026624,0.02704,0.026656,0.026816,0.026784,0.026624,0.026144,0.026304,0.026336,0.026624,0.025216,0.025472,0.025152,0.026496,0.026624,0.026048,0.026848,0.026624,0.02656,0.026464,0.025696,0.02544,0.02768,0.025408,0.026624,0.03072,0.026656,0.026016,0.025824,0.0264,0.026624,0.026336,0.026624,0.026624,0.026624,0.026624,0.030048,0.026624,0.026624,0.026784,0.0264,0.026464,0.026496,0.0256,0.026336,0.026624,0.02656,0.028672,0.025504,0.026176,0.025152,0.025664,0.025472,0.026112,0.028128,0.026464,0.026432,0.02704,0.025216,0.026656,0.026496,0.026016,0.025344,0.026624,0.026336,0.026912,0.026688,0.025952,0.02688,0.026688,0.0264,0.026592,0.027008,0.026624,0.026624,0.027264,0.02576,0.02656,0.02608,0.026112,0.036256,0.026624,0.026624,0.0256,0.026432,0.026624,0.0264,0.026496,0.026624,0.026624,0.0272,0.026368,0.02656,0.026144,0.026624,0.026592,0.026624,0.026624,0.026464,0.026656,0.026752,0.025472,0.026272,0.02688,0.02592,0.026176,0.02656,0.02672,0.025216,0.026112,0.026624,0.026752,0.026112,0.026208,0.025536,0.02672,0.026624,0.025568,0.026624,0.026624,0.026624,0.026368,0.026912,0.026784,0.027968,0.026816,0.027488,0.026624,0.025568,0.026528,0.026624,0.026592,0.026496,0.026432,0.026624,0.032768,0.027648,0.02704,0.026624,0.026624,0.02688,0.026624,0.030528,0.026528,0.026496,0.026624,0.031552,0.026208,0.026016,0.026688,0.026624,0.026624,0.026144,0.026208,0.026624,0.026208,0.026848,0.030368,0.026624,0.026432,0.024896,0.025312,0.026624,0.02688,0.026112,0.026624,0.025952,0.026624,0.026304,0.026592,0.025536,0.027744,0.026624,0.026368,0.026624,0.026976,0.026528,0.025408,0.027584,0.025472,0.02592,0.026624,0.026752,0.026912,0.026592,0.026624,0.026624,0.026624,0.026944,0.0264,0.026848,0.027648,0.026624,0.026624,0.026496,0.026304,0.030816,0.027232,0.026752,0.026624,0.026624,0.026624,0.025024,0.025984,0.025216,0.027456,0.026432,0.03072,0.02608,0.02544,0.026496,0.02592,0.025536,0.02688,0.027104,0.025952,0.026848,0.025408,0.03072,0.025984,0.026624,0.026528,0.026784,0.026112,0.026592,0.026624,0.02656,0.026304,0.026528,0.026624,0.026368,0.0264,0.025216,0.026496,0.026624,0.026656,0.026496,0.026528,0.026656,0.026816,0.027744,0.026912,0.0264,0.0264,0.026624,0.026624,0.030368,0.02688,0.026624,0.026688,0.02656,0.025728,0.026624,0.026272,0.026208,0.026752,0.026624,0.02656,0.026624,0.026304,0.026752,0.026176,0.024896,0.02624,0.02608,0.026624,0.026592,0.026624,0.029344,0.026624,0.026592,0.026624,0.026976,0.0264,0.025376,0.02528,0.026624,0.026464,0.025344,0.029344,0.025568,0.026624,0.026624,0.02544,0.026624,0.026176,0.026624,0.026336,0.026624,0.026624,0.026752,0.026624,0.026208,0.026592,0.026624,0.026816,0.026304,0.026368,0.026688,0.026336,0.026176,0.025824,0.026624,0.026816,0.026336,0.026848,0.026624,0.026624,0.027872,0.026944,0.026656,0.026848,0.026432,0.026624,0.026624,0.02688,0.027136,0.026624,0.026624,0.026592,0.026496,0.026464,0.026848,0.02624,0.026432,0.026592,0.026304,0.026592,0.026656,0.0312,0.026208,0.026624,0.026624,0.026624,0.02624,0.02784,0.027616,0.026624,0.028128,0.026624,0.026368,0.02768,0.02656,0.026624,0.02528,0.025152,0.026624,0.025216,0.026624,0.026624,0.026688,0.026016,0.026624,0.025504,0.025184,0.026464,0.025568,0.025504,0.026624,0.026624,0.02656,0.026112,0.026112,0.025632,0.025696,0.02528,0.025504,0.026624,0.026624,0.026016,0.025408,0.025568,0.026624,0.026624,0.02688,0.0256,0.026848,0.026624,0.026624,0.02992,0.025536,0.024992,0.025376,0.026432,0.02624,0.02624,0.026112,0.026048,0.026208,0.025568,0.026464,0.026304,0.026624,0.026624,0.026528,0.026624,0.028256,0.026496,0.026048,0.026304,0.026624,0.026624,0.026624,0.026496,0.026624,0.02656,0.026496,0.026624,0.026624,0.025952,0.02704,0.024992,0.026816,0.0256,0.026944,0.0264,0.024992,0.025312,0.03072,0.026752,0.0264,0.026048,0.02656,0.025568,0.026624,0.02544,0.026432,0.026624,0.026112,0.024864,0.026624,0.027744,0.026368,0.025856,0.026304,0.02608,0.026624,0.02592,0.026176,0.026944,0.026464,0.0264,0.026048,0.026624,0.026752,0.026624,0.024704,0.027008,0.027712,0.027168,0.026336,0.029408,0.02656,0.026624,0.026624,0.026624,0.036864,0.026688, +0.157696,0.055296,0.055584,0.0536,0.053568,0.05472,0.055296,0.053024,0.053504,0.053248,0.05344,0.0544,0.0536,0.054112,0.053248,0.054976,0.054976,0.054912,0.053408,0.053568,0.052992,0.053376,0.054016,0.053184,0.053408,0.053248,0.057856,0.05264,0.05328,0.053664,0.054304,0.058208,0.052,0.053312,0.052,0.054144,0.053632,0.05296,0.057216,0.053248,0.055136,0.053248,0.053632,0.054592,0.053248,0.05216,0.053248,0.053888,0.052608,0.053184,0.053248,0.057344,0.053664,0.053248,0.053248,0.053248,0.053248,0.05376,0.053248,0.052224,0.059392,0.054368,0.053504,0.053632,0.054336,0.060832,0.053504,0.055168,0.053248,0.05216,0.05376,0.053248,0.054464,0.053248,0.054208,0.053248,0.053792,0.05408,0.053248,0.055296,0.054272,0.053824,0.053248,0.054272,0.05392,0.053344,0.053248,0.055232,0.053248,0.058752,0.052192,0.053632,0.053248,0.053856,0.057344,0.053248,0.053248,0.054048,0.054976,0.053344,0.053248,0.054688,0.053408,0.053408,0.053408,0.053376,0.054112,0.052224,0.054912,0.053568,0.05312,0.054112,0.055296,0.053376,0.054272,0.053248,0.054016,0.054272,0.0536,0.053248,0.05328,0.055136,0.054848,0.056832,0.053024,0.053312,0.057344,0.054112,0.057344,0.054144,0.05184,0.053312,0.053344,0.053248,0.055296,0.054976,0.052704,0.057088,0.053248,0.054368,0.05184,0.05408,0.053248,0.053792,0.055712,0.06544,0.053248,0.053728,0.054112,0.052032,0.05408,0.053248,0.053472,0.053664,0.055296,0.054624,0.05328,0.059584,0.053248,0.054784,0.053248,0.053824,0.054944,0.054112,0.053248,0.05488,0.053248,0.05472,0.05296,0.0584,0.05328,0.053248,0.0536,0.056608,0.053344,0.053248,0.05296,0.053312,0.052992,0.053248,0.053248,0.051904,0.053664,0.053568,0.053248,0.053664,0.057344,0.053248,0.054656,0.054368,0.052704,0.058496,0.052064,0.05488,0.052544,0.053568,0.053248,0.053248,0.053248,0.054432,0.053536,0.0536,0.053248,0.052992,0.053248,0.05504,0.053344,0.054432,0.0536,0.05328,0.054272,0.05616,0.053248,0.053568,0.053248,0.05296,0.05536,0.0536,0.05328,0.051744,0.053248,0.053472,0.053312,0.052736,0.053248,0.05936,0.053312,0.053248,0.052576,0.052032,0.058144,0.053248,0.0544,0.053472,0.053344,0.053248,0.053248,0.053248,0.052192,0.053856,0.052192,0.054496,0.053248,0.055968,0.053248,0.053824,0.053696,0.054272,0.053376,0.052032,0.054688,0.05248,0.053184,0.053248,0.053248,0.05488,0.053248,0.053344,0.053248,0.058144,0.053696,0.053536,0.053056,0.052704,0.05712,0.053184,0.053152,0.053248,0.053248,0.054816,0.054496,0.05376,0.057344,0.053248,0.057728,0.053248,0.053248,0.055136,0.053248,0.054336,0.053824,0.053184,0.053952,0.053792,0.053152,0.056512,0.051744,0.053792,0.057216,0.053568,0.053248,0.055296,0.053184,0.057056,0.053728,0.053248,0.054016,0.053248,0.053952,0.054816,0.053312,0.05328,0.053312,0.053408,0.052096,0.05376,0.052736,0.053504,0.053888,0.052128,0.053696,0.054432,0.053248,0.053248,0.05408,0.053248,0.053216,0.055296,0.053088,0.053504,0.053248,0.054976,0.053632,0.05456,0.053248,0.054464,0.055136,0.057504,0.053248,0.053024,0.053664,0.054432,0.055072,0.054432,0.05408,0.053248,0.053856,0.054816,0.055296,0.053664,0.05296,0.052864,0.054368,0.053248,0.05392,0.053248,0.054368,0.053344,0.051904,0.053248,0.051744,0.055296,0.052992,0.053248,0.053248,0.053248,0.053248,0.053376,0.054464,0.055136,0.053248,0.052608,0.05344,0.053248,0.053248,0.053376,0.056096,0.054368,0.053568,0.053248,0.053152,0.055296,0.053376,0.053248,0.054912,0.053248,0.05504,0.054496,0.053664,0.054528,0.052736,0.055296,0.054368,0.053344,0.053248,0.055488,0.052928,0.053248,0.053184,0.053248,0.053248,0.052448,0.054944,0.052224,0.053312,0.053408,0.05312,0.053472,0.053504,0.053344,0.056096,0.054912,0.053248,0.053248,0.055296,0.05872,0.053536,0.05472,0.0536,0.05664,0.053248,0.053248,0.053248,0.053248,0.051872,0.053312,0.053536,0.053504,0.0528,0.053792,0.054016,0.053248,0.053632,0.053248,0.054464,0.053248,0.054688,0.054624,0.053248,0.054912,0.057344,0.053248,0.053792,0.053408,0.053248,0.055008,0.053248,0.055072,0.053376,0.058752,0.05312,0.052672,0.055264,0.053664,0.058496,0.053312,0.053248,0.053248,0.053152,0.053248,0.053056,0.05472,0.053248,0.054304,0.053312,0.053408,0.054496,0.053312,0.055008,0.053376,0.053472,0.053696,0.054016,0.053248,0.053696,0.053248,0.052,0.052,0.05344,0.053248,0.054816,0.05328,0.05504,0.059232,0.053248,0.05312,0.053248,0.053248,0.054432,0.055296,0.055232,0.053792,0.055552,0.05504,0.053248,0.051808,0.053216,0.05312,0.0536,0.053248,0.053248,0.058976,0.057536,0.054432,0.053696,0.053312,0.05184,0.057888,0.0536,0.053248,0.053248,0.053248,0.054048,0.053024,0.053248,0.053248,0.05296,0.053248,0.053248,0.053728,0.053344,0.0536,0.053184,0.053344,0.053216,0.053248,0.053248,0.054688,0.053568,0.052672,0.053056,0.054624,0.053248,0.053632,0.053216,0.05392,0.053248,0.054144,0.053248,0.053248,0.053088,0.057344,0.055296,0.061184,0.053248,0.054496,0.05408,0.05344,0.054624,0.053344,0.053184,0.054784,0.053248,0.055296,0.052864,0.053824,0.05456,0.053248,0.054944,0.053312,0.053152,0.054016,0.052512,0.053248,0.054688,0.053024,0.054272,0.053248,0.053248,0.053504,0.05248,0.054656,0.053248,0.053312,0.05312,0.052064,0.05456,0.053248,0.053248,0.053248,0.058944,0.053696,0.052832,0.053696,0.053248,0.053472,0.052224,0.054464,0.05328,0.052224,0.0536,0.055808,0.053408,0.053056,0.052864,0.053248,0.054336,0.056032,0.053312,0.053664,0.053248,0.054624,0.052064,0.055968,0.053248,0.053568,0.053088,0.0536,0.053344,0.054432,0.053792,0.054432,0.055072,0.05328,0.053248,0.054944,0.052192,0.054528,0.052128,0.057856,0.056544,0.053408,0.055296,0.057344,0.057344,0.052992,0.05296,0.052704,0.052736,0.054112,0.053216,0.053248,0.052064,0.053248,0.053248,0.055296,0.053504,0.053248,0.054016,0.053728,0.057056,0.062528,0.053248,0.056672,0.054336,0.053376,0.053248,0.053248,0.058624,0.055136,0.05296,0.057184,0.05296,0.055232,0.0536,0.052992,0.053248,0.054368,0.053728,0.053248,0.053408,0.053248,0.055104,0.055296,0.0528,0.059104,0.052,0.053408,0.054944,0.05296,0.053248,0.053024,0.07728,0.053184,0.054624,0.0536,0.054944,0.053376,0.0544,0.053984,0.053504,0.053248,0.053056,0.053248,0.053312,0.053248,0.052896,0.053248,0.05344,0.053248,0.054528,0.051968,0.053664,0.05104,0.052128,0.053184,0.053248,0.053792,0.053248,0.053056,0.054336,0.053664,0.052192,0.05312,0.053248,0.052608,0.053088,0.052736,0.053248,0.052096,0.053024,0.056768,0.051616,0.054432,0.051456,0.052896,0.057088,0.053248,0.05184,0.051968,0.053248,0.056192,0.053248,0.052,0.052544,0.052576,0.057344,0.053248,0.05216,0.052064,0.051584,0.05344,0.05312,0.05216,0.053376,0.053248,0.053216,0.053248,0.053248,0.051968,0.053248,0.052992,0.053024,0.052096,0.052768,0.054368,0.056096,0.05312,0.051648,0.053248,0.054336,0.052992,0.054368,0.05504,0.053376,0.053248,0.052288,0.054304,0.053248,0.052736,0.061504,0.053312,0.053248,0.051904,0.054912,0.057376,0.052128,0.052128,0.052096,0.052832,0.06272,0.051936,0.056864,0.052224,0.052512,0.05312,0.051776,0.051904,0.05296,0.053408,0.052,0.054528,0.053408,0.053248,0.051968,0.052992,0.053248,0.052064,0.053408,0.05488,0.052992,0.053248,0.057344,0.05872,0.058816,0.056512,0.053504,0.05296,0.055296,0.055104,0.053248,0.051904,0.053184,0.053664,0.057824,0.053248,0.05328,0.053056,0.053248,0.053248,0.051776,0.053248,0.053216,0.05504,0.051712,0.052864,0.052768,0.05328,0.051872,0.051296,0.053248,0.051776,0.052032,0.051552,0.05952,0.053376,0.053088,0.054752,0.05248,0.053376,0.052576,0.052512,0.052864,0.05264,0.05312,0.0528,0.052704,0.05456,0.05312,0.05184,0.053248,0.05312,0.052672,0.053248,0.051488,0.053344,0.053248,0.052,0.057344,0.052864,0.053248,0.05136,0.052928,0.057344,0.053664,0.055296,0.053248,0.053248,0.058144,0.059392,0.05184,0.053152,0.053376,0.053248,0.055456,0.05296,0.054784,0.052928,0.056992,0.052128,0.053408,0.05328,0.053248,0.053248,0.052288,0.054304,0.0528,0.052992,0.053312,0.053248,0.053248,0.05168,0.053216,0.053248,0.053568,0.052864,0.053248,0.053152,0.05104,0.053472,0.052832,0.055008,0.052032,0.052512,0.0528,0.05296,0.05184,0.058464,0.053248,0.051488,0.055424,0.053216,0.057344,0.05248,0.053248,0.052896,0.052256,0.058976,0.053248,0.053344,0.051744,0.054432,0.053312,0.052896,0.054432,0.052512,0.0528,0.052736,0.053248,0.053248,0.052736,0.052608,0.053344,0.053248,0.051936,0.052064,0.052256,0.053312,0.052128,0.051936,0.051712,0.051872,0.052992,0.052064,0.052,0.052384,0.053248,0.053312,0.053248,0.053696,0.052128,0.0528,0.053248,0.052544,0.053152,0.052288,0.053536,0.052992,0.053248,0.053024,0.053248,0.054496,0.053248,0.053248,0.051616,0.053248,0.052,0.057184,0.053568,0.053056,0.052128,0.057632,0.053248,0.053216,0.053248,0.052896,0.051968,0.054464,0.053248,0.051264,0.052416,0.053856,0.053056,0.052128,0.053056,0.053248,0.054336,0.053248,0.051936,0.0512,0.051808,0.065344,0.052576,0.052832,0.053888,0.053024,0.052608,0.052192,0.051392,0.053248,0.051712,0.058016,0.053312,0.052192,0.053312,0.05216,0.053248,0.053248,0.053504,0.05216,0.057472,0.052032,0.05264,0.053248,0.052352,0.056096,0.053344,0.052608,0.052192,0.053952, +0.330464,0.019584,0.018304,0.01792,0.017152,0.01664,0.017696,0.01664,0.017824,0.017024,0.016928,0.017504,0.017632,0.016896,0.01744,0.017536,0.01664,0.016544,0.017824,0.017632,0.017184,0.0176,0.017024,0.016512,0.018176,0.017088,0.01792,0.017344,0.016448,0.017504,0.01776,0.017856,0.017184,0.017952,0.01696,0.017408,0.017888,0.017856,0.022528,0.0176,0.017504,0.017728,0.016864,0.016896,0.016864,0.018048,0.017504,0.017088,0.017824,0.016992,0.018368,0.017248,0.01696,0.016608,0.016672,0.017824,0.016992,0.016992,0.01744,0.01776,0.017088,0.016384,0.016576,0.016448,0.01648,0.016928,0.01776,0.021344,0.017024,0.016384,0.01648,0.017888,0.01808,0.016704,0.016768,0.016544,0.017728,0.017952,0.016384,0.017216,0.01664,0.016928,0.016992,0.017664,0.018144,0.017952,0.017536,0.018112,0.017248,0.016544,0.016928,0.016704,0.017056,0.017824,0.016416,0.017792,0.017248,0.017088,0.016384,0.017728,0.017728,0.018016,0.016832,0.017184,0.016832,0.016512,0.017024,0.017408,0.018048,0.017792,0.017088,0.01696,0.016512,0.016992,0.017504,0.02048,0.017024,0.016832,0.017952,0.017824,0.01744,0.019232,0.017952,0.016768,0.017536,0.016448,0.018112,0.016832,0.016608,0.018176,0.0168,0.01664,0.018016,0.017696,0.016704,0.016384,0.017504,0.018112,0.01648,0.0184,0.017504,0.020704,0.018528,0.016704,0.016896,0.01744,0.016736,0.017632,0.016576,0.022368,0.016896,0.016544,0.01744,0.017984,0.016928,0.01808,0.01776,0.016992,0.016992,0.016384,0.017056,0.01824,0.017792,0.01664,0.022528,0.017664,0.016576,0.0176,0.017184,0.016928,0.016672,0.016544,0.016416,0.01648,0.016704,0.016384,0.017472,0.016608,0.016896,0.017952,0.016864,0.016736,0.016512,0.0168,0.016736,0.01728,0.016512,0.016736,0.016384,0.017664,0.017888,0.018368,0.017472,0.017568,0.016896,0.01712,0.016928,0.018112,0.016576,0.01648,0.017856,0.018048,0.021536,0.016512,0.017568,0.016576,0.016512,0.0176,0.017152,0.017088,0.017696,0.01776,0.024064,0.017856,0.018144,0.016832,0.017952,0.017344,0.016384,0.017632,0.017984,0.017056,0.017696,0.018144,0.016928,0.01648,0.01648,0.017856,0.017728,0.017056,0.016544,0.016384,0.018208,0.016736,0.0176,0.017952,0.016928,0.017888,0.016896,0.017952,0.018112,0.018432,0.018048,0.018208,0.017984,0.017952,0.017568,0.017856,0.017024,0.018144,0.017632,0.01664,0.016448,0.017696,0.017664,0.016576,0.017344,0.020896,0.016512,0.018048,0.016416,0.01728,0.018112,0.01664,0.018272,0.01648,0.02048,0.01824,0.01728,0.016416,0.018144,0.01648,0.018144,0.017504,0.01648,0.01712,0.017696,0.017024,0.017088,0.016704,0.018112,0.016704,0.01712,0.016384,0.016832,0.017088,0.017952,0.016544,0.018016,0.0168,0.017888,0.018432,0.018016,0.017408,0.016608,0.016608,0.01696,0.016736,0.016608,0.017696,0.01712,0.018336,0.017856,0.016896,0.01648,0.016416,0.0168,0.018272,0.018016,0.017472,0.016896,0.017472,0.016992,0.016864,0.017696,0.017664,0.017024,0.01776,0.017504,0.017632,0.017344,0.017824,0.017824,0.01648,0.016416,0.017536,0.017504,0.017824,0.01648,0.017824,0.017408,0.017088,0.016928,0.017568,0.016576,0.01776,0.017152,0.016704,0.016576,0.017792,0.017216,0.016608,0.01664,0.016832,0.018016,0.016992,0.018176,0.01744,0.017568,0.016928,0.018176,0.01696,0.017472,0.01712,0.016832,0.018272,0.016576,0.017984,0.017696,0.01792,0.01792,0.016384,0.016832,0.01792,0.016416,0.02208,0.016864,0.01648,0.017952,0.016768,0.0168,0.01696,0.016608,0.017568,0.016576,0.017408,0.017408,0.017856,0.017088,0.016576,0.01824,0.016544,0.017632,0.017152,0.018368,0.017888,0.016544,0.017728,0.017216,0.018176,0.01792,0.01696,0.016704,0.017728,0.016448,0.016992,0.016608,0.017888,0.017632,0.016608,0.016864,0.017536,0.017472,0.016576,0.01792,0.017056,0.02128,0.016544,0.01776,0.016512,0.01664,0.017728,0.016544,0.016384,0.02096,0.016448,0.01792,0.01696,0.017632,0.016736,0.017248,0.016576,0.017088,0.017056,0.01664,0.016896,0.016672,0.017728,0.016544,0.017152,0.01792,0.016928,0.016448,0.0176,0.016544,0.017248,0.017888,0.016416,0.018176,0.016992,0.017728,0.016992,0.017792,0.017248,0.017504,0.01712,0.016384,0.016768,0.017216,0.017632,0.016416,0.018016,0.018048,0.018144,0.017856,0.01696,0.018016,0.0248,0.0168,0.017312,0.016448,0.018432,0.017504,0.017184,0.017472,0.018048,0.01776,0.0176,0.017248,0.017664,0.01792,0.017088,0.016512,0.02048,0.017152,0.017696,0.034912,0.017184,0.017344,0.017632,0.017728,0.017024,0.016736,0.017088,0.016576,0.018016,0.01648,0.017888,0.018432,0.017792,0.016864,0.017632,0.016768,0.01712,0.017472,0.017728,0.016608,0.0176,0.016864,0.016576,0.016576,0.016512,0.01728,0.017952,0.016512,0.017696,0.018016,0.017632,0.017344,0.016896,0.017792,0.016672,0.017664,0.017792,0.016384,0.01648,0.01776,0.016704,0.01776,0.017632,0.0168,0.017664,0.016416,0.01824,0.016384,0.016608,0.017024,0.016576,0.018112,0.017984,0.017856,0.016448,0.017536,0.017728,0.016512,0.018144,0.017632,0.017152,0.017536,0.016704,0.017952,0.017664,0.017344,0.016512,0.017824,0.017216,0.018272,0.022528,0.017952,0.016384,0.022528,0.018016,0.017024,0.01728,0.01648,0.01808,0.016928,0.017824,0.01696,0.016768,0.01744,0.016896,0.016448,0.017856,0.017856,0.017216,0.017728,0.016448,0.017504,0.016512,0.017664,0.01808,0.017056,0.016576,0.016992,0.017632,0.017696,0.016896,0.017472,0.01808,0.017024,0.020736,0.017632,0.017024,0.016992,0.016896,0.016384,0.018144,0.017376,0.017952,0.017376,0.018112,0.017856,0.01664,0.016544,0.017696,0.017024,0.017696,0.017536,0.01648,0.017888,0.016608,0.017472,0.017824,0.017216,0.018144,0.016512,0.017056,0.016736,0.016384,0.01664,0.017664,0.018048,0.016736,0.016992,0.016992,0.016704,0.016672,0.016384,0.017152,0.016576,0.017472,0.017696,0.016544,0.017664,0.016768,0.021984,0.016896,0.023968,0.016992,0.016704,0.017088,0.016384,0.017664,0.017856,0.016736,0.016416,0.01712,0.017664,0.017984,0.018176,0.01664,0.016864,0.020032,0.01664,0.01648,0.016704,0.01744,0.017216,0.016384,0.016384,0.018144,0.0176,0.016768,0.01648,0.017568,0.017952,0.0176,0.017952,0.016832,0.016384,0.017504,0.016448,0.019712,0.016512,0.018112,0.016576,0.016384,0.017472,0.018016,0.017568,0.01712,0.017856,0.017056,0.016384,0.017472,0.017824,0.017856,0.01712,0.016704,0.016512,0.017856,0.016608,0.017536,0.017632,0.017984,0.016448,0.017664,0.017184,0.017408,0.016704,0.016832,0.016576,0.018016,0.01648,0.017408,0.018048,0.017408,0.018432,0.016768,0.017696,0.016448,0.017472,0.017824,0.016768,0.016672,0.016608,0.017216,0.017632,0.017152,0.016992,0.016864,0.016544,0.018112,0.0168,0.018208,0.01696,0.016704,0.017536,0.016928,0.018368,0.016672,0.017088,0.017888,0.017568,0.016928,0.017184,0.022528,0.01824,0.017504,0.01648,0.016896,0.017696,0.017984,0.01664,0.021152,0.016864,0.022528,0.01712,0.021472,0.017792,0.016576,0.017024,0.016896,0.017856,0.017376,0.017184,0.016384,0.016544,0.017408,0.018336,0.01792,0.017024,0.017888,0.018336,0.016384,0.018432,0.017344,0.016832,0.018112,0.016768,0.016384,0.017088,0.01792,0.017056,0.016736,0.016992,0.017024,0.017376,0.017856,0.016384,0.018016,0.017184,0.017536,0.016928,0.016384,0.017952,0.016928,0.017824,0.022432,0.016928,0.017024,0.016672,0.016384,0.017856,0.017088,0.016384,0.018112,0.02016,0.016736,0.017472,0.017856,0.01776,0.017184,0.018048,0.017056,0.016512,0.016736,0.016608,0.01744,0.017632,0.016448,0.01696,0.019296,0.018144,0.01728,0.016416,0.017472,0.017952,0.017952,0.016384,0.017888,0.01696,0.016448,0.016992,0.017952,0.017056,0.016768,0.016608,0.017856,0.019584,0.016544,0.016928,0.016544,0.022432,0.01776,0.017888,0.016608,0.01664,0.017024,0.017856,0.016768,0.018304,0.016448,0.016544,0.016448,0.017728,0.017888,0.016928,0.016384,0.018112,0.01648,0.017024,0.01664,0.017632,0.017024,0.016768,0.016384,0.01776,0.022432,0.017888,0.017248,0.01648,0.01648,0.016384,0.017024,0.017824,0.016896,0.016416,0.01776,0.016384,0.017536,0.017024,0.016448,0.01776,0.016928,0.016448,0.01776,0.01712,0.01664,0.017312,0.017024,0.017856,0.01648,0.016384,0.017216,0.016576,0.016992,0.018208,0.017088,0.01648,0.01648,0.01696,0.016864,0.016768,0.016928,0.017056,0.017184,0.016832,0.01648,0.01776,0.017056,0.01664,0.01792,0.017088,0.01664,0.017248,0.019392,0.01776,0.016672,0.01744,0.01712,0.016768,0.017408,0.017792,0.017856,0.017824,0.016768,0.01664,0.0168,0.01664,0.017056,0.016672,0.016832,0.01776,0.017472,0.01712,0.016736,0.017152,0.016448,0.017952,0.016768,0.016416,0.017056,0.017856,0.022592,0.016384,0.016672,0.016864,0.016384,0.01696,0.016736,0.016736,0.022528,0.017088,0.016896,0.016448,0.016384,0.016576,0.017696,0.017184,0.016608,0.01712,0.018208,0.017184,0.016384,0.017568,0.018144,0.016672,0.016896,0.017632,0.016768,0.017824,0.016736,0.02,0.017664,0.0168,0.016736,0.018432,0.017824,0.017216,0.017024,0.0184,0.024256,0.024576,0.022368,0.01728,0.018016,0.016736,0.016512,0.017728,0.018208,0.01792,0.017856,0.01648,0.017568,0.017728,0.01712,0.016928,0.017376,0.01744,0.018048,0.017856,0.016992,0.016544,0.016448,0.016928,0.017696,0.016928,0.017536,0.01664,0.017824,0.016608,0.01648,0.016992,0.016576,0.018016,0.016544,0.01824,0.016384, diff --git a/analysis/data/16.csv b/analysis/data/16.csv new file mode 100644 index 0000000..d0b1e52 --- /dev/null +++ b/analysis/data/16.csv @@ -0,0 +1,4 @@ +0.121289,0.017419,0.017609,0.01736,0.01729,0.02115,0.01733,0.02162,0.027119,0.01749,0.01734,0.01728,0.01717,0.01688,0.01718,0.01716,0.01771,0.017569,0.017209,0.01765,0.01718,0.01718,0.01755,0.01718,0.0172,0.01715,0.01756,0.017199,0.01754,0.0296,0.02743,0.0298,0.028319,0.02907,0.029409,0.02699,0.01697,0.027099,0.017619,0.01752,0.01717,0.02115,0.01695,0.01716,0.01764,0.01687,0.01712,0.023079,0.017179,0.01711,0.01714,0.01766,0.01715,0.01713,0.01765,0.01717,0.01713,0.01717,0.017589,0.01764,0.01768,0.01762,0.017199,0.017179,0.01716,0.01757,0.01716,0.01723,0.017689,0.017149,0.017179,0.017639,0.017209,0.01717,0.01714,0.01756,0.01721,0.01713,0.017659,0.017159,0.01758,0.01691,0.01758,0.01758,0.01718,0.017019,0.01718,0.0171,0.02017,0.01718,0.01712,0.01711,0.017589,0.017159,0.017179,0.017679,0.03013,0.01719,0.01764,0.01716,0.01795,0.01683,0.01756,0.017209,0.017219,0.01765,0.01717,0.01716,0.01757,0.01717,0.01715,0.01709,0.01722,0.0172,0.017159,0.01763,0.01718,0.01713,0.01713,0.01766,0.01717,0.01718,0.01767,0.01716,0.017129,0.017229,0.01761,0.01716,0.01714,0.01755,0.0172,0.01714,0.02023,0.01713,0.01716,0.017119,0.01769,0.01718,0.0176,0.02707,0.01763,0.01713,0.01715,0.01755,0.01714,0.01718,0.017609,0.017219,0.01726,0.02037,0.01722,0.01712,0.01713,0.01753,0.01772,0.016969,0.017549,0.01789,0.01691,0.017609,0.01792,0.01719,0.01712,0.01754,0.01719,0.017169,0.017559,0.017149,0.017159,0.017649,0.01716,0.01716,0.01713,0.0176,0.01718,0.01714,0.017549,0.01717,0.01714,0.01717,0.01756,0.01716,0.01718,0.01717,0.01713,0.0171,0.017149,0.017609,0.01717,0.01716,0.0172,0.01716,0.01716,0.02383,0.0176,0.01715,0.017179,0.017619,0.01713,0.01716,0.0176,0.0172,0.01716,0.017179,0.017599,0.017169,0.017169,0.017589,0.01716,0.01713,0.01711,0.01723,0.01718,0.01716,0.017569,0.0172,0.01714,0.01714,0.01723,0.01712,0.01714,0.01765,0.01717,0.01715,0.017549,0.017179,0.01718,0.01711,0.01723,0.01717,0.01715,0.01717,0.01719,0.01717,0.01713,0.017649,0.017139,0.01723,0.0172,0.01718,0.03824,0.01693,0.01724,0.01716,0.02046,0.01719,0.01716,0.01715,0.01695,0.017139,0.01755,0.0176,0.01716,0.01713,0.01718,0.017669,0.017189,0.017189,0.017679,0.01714,0.01713,0.01713,0.01765,0.01769,0.017159,0.01768,0.01717,0.02421,0.01754,0.0172,0.01712,0.01713,0.01758,0.017139,0.017149,0.01761,0.01715,0.01715,0.01712,0.01758,0.0172,0.01713,0.01767,0.017179,0.017159,0.01772,0.0176,0.01719,0.01717,0.017559,0.017209,0.01717,0.01761,0.01716,0.01716,0.01716,0.01754,0.01723,0.01715,0.017579,0.017119,0.01712,0.01757,0.01758,0.01718,0.01718,0.01753,0.01716,0.01717,0.01715,0.017619,0.01716,0.01717,0.01755,0.01712,0.01711,0.021819,0.017199,0.017129,0.017129,0.017589,0.01717,0.01715,0.01719,0.01722,0.01714,0.017139,0.017679,0.01715,0.0172,0.0176,0.01716,0.01717,0.01715,0.01762,0.01721,0.01719,0.017669,0.01717,0.01717,0.02021,0.01722,0.01722,0.01717,0.0175,0.01717,0.01717,0.017599,0.0172,0.01715,0.01711,0.01717,0.0172,0.01714,0.017589,0.017849,0.017199,0.017159,0.01759,0.0172,0.01718,0.01768,0.0172,0.01716,0.017139,0.017579,0.01716,0.0172,0.01761,0.01691,0.01717,0.01757,0.01755,0.017189,0.017119,0.01758,0.01719,0.01712,0.01761,0.01717,0.01711,0.01714,0.01761,0.01718,0.017179,0.01766,0.0172,0.01713,0.01715,0.0176,0.017219,0.017169,0.01761,0.01719,0.01712,0.01973,0.01719,0.01712,0.01719,0.01757,0.0172,0.017169,0.01764,0.01719,0.01717,0.01713,0.02393,0.01718,0.01714,0.01718,0.0172,0.017159,0.017169,0.01756,0.01719,0.01719,0.01759,0.01715,0.01719,0.01719,0.01761,0.018659,0.017139,0.01757,0.01757,0.01718,0.01758,0.01719,0.017099,0.017139,0.01756,0.01718,0.01714,0.01759,0.01721,0.01712,0.01713,0.01752,0.017179,0.017199,0.0176,0.01752,0.01718,0.01714,0.01719,0.01717,0.01715,0.01754,0.017189,0.017109,0.01762,0.0172,0.01712,0.01716,0.01752,0.01717,0.01713,0.01759,0.01714,0.017629,0.01719,0.0179,0.01718,0.0172,0.01757,0.0172,0.017169,0.017149,0.01757,0.01718,0.01716,0.01759,0.01716,0.01713,0.02003,0.01722,0.017659,0.01721,0.0169,0.01717,0.01716,0.01717,0.0172,0.01757,0.01717,0.017179,0.01717,0.01715,0.01761,0.01717,0.01718,0.01714,0.017579,0.017519,0.017199,0.017709,0.01719,0.01716,0.02035,0.01717,0.01713,0.017119,0.017549,0.01716,0.01715,0.01758,0.01712,0.01717,0.01721,0.01768,0.0172,0.017559,0.017579,0.01761,0.01721,0.01718,0.0176,0.01715,0.01717,0.0177,0.01724,0.017159,0.019629,0.01722,0.01716,0.01713,0.01714,0.01718,0.017579,0.01771,0.01715,0.01719,0.01715,0.01766,0.01722,0.01712,0.01717,0.01721,0.017139,0.01717,0.01719,0.01724,0.01721,0.01754,0.01715,0.018629,0.019949,0.017179,0.01715,0.01719,0.01768,0.01715,0.01713,0.017159,0.017159,0.017109,0.017139,0.017619,0.01718,0.01715,0.0176,0.01721,0.01719,0.017609,0.0285,0.033459,0.02775,0.016929,0.017159,0.01761,0.0172,0.01714,0.01718,0.01762,0.03313,0.029359,0.016969,0.01722,0.02155,0.01711,0.01716,0.01716,0.01766,0.01715,0.01712,0.017559,0.017209,0.01716,0.01711,0.01763,0.01714,0.01716,0.02723,0.02781,0.02801,0.027739,0.031079,0.030559,0.028379,0.028089,0.02806,0.02799,0.030489,0.01733,0.016889,0.0198,0.01764,0.01711,0.01716,0.01719,0.017669,0.017209,0.017189,0.017679,0.01689,0.01716,0.01717,0.01693,0.01715,0.01713,0.017599,0.017119,0.017149,0.017109,0.017659,0.01717,0.01716,0.01761,0.01718,0.01717,0.01715,0.017599,0.01719,0.01716,0.01755,0.01716,0.01719,0.01757,0.01714,0.01715,0.01718,0.017589,0.01768,0.02561,0.032109,0.01694,0.0172,0.01752,0.01716,0.017129,0.017139,0.01759,0.01717,0.01712,0.01757,0.01711,0.01713,0.01758,0.0172,0.017169,0.01718,0.01716,0.0172,0.01713,0.0176,0.01716,0.017189,0.017149,0.01761,0.01717,0.01717,0.01759,0.01714,0.01714,0.0171,0.01757,0.0172,0.017149,0.01757,0.01721,0.01712,0.017159,0.01756,0.01719,0.01712,0.01763,0.01718,0.017149,0.01765,0.01719,0.01714,0.01719,0.01765,0.01717,0.01721,0.01751,0.01716,0.017109,0.017169,0.01716,0.02528,0.02766,0.01695,0.017609,0.017189,0.017589,0.01719,0.01716,0.01766,0.01719,0.01713,0.01711,0.017589,0.01719,0.01721,0.02164,0.01795,0.01712,0.01713,0.01692,0.0172,0.01711,0.017519,0.01717,0.01716,0.01713,0.01756,0.01721,0.01715,0.01768,0.01719,0.01716,0.020149,0.01713,0.01722,0.01718,0.01759,0.01717,0.01712,0.01696,0.01715,0.01715,0.01718,0.01763,0.01716,0.01722,0.01761,0.017139,0.017129,0.01714,0.01722,0.01725,0.01718,0.01757,0.01721,0.01709,0.02018,0.01721,0.017129,0.017189,0.01762,0.01722,0.01714,0.01762,0.01714,0.01711,0.01709,0.0176,0.017179,0.017179,0.01758,0.01716,0.01714,0.01712,0.0176,0.01719,0.01711,0.01721,0.01716,0.017159,0.017149,0.01756,0.01718,0.01717,0.01721,0.01716,0.01711,0.01757,0.01716,0.01713,0.017109,0.01723,0.01712,0.01712,0.01756,0.01716,0.01712,0.017109,0.017609,0.017149,0.017179,0.017609,0.01719,0.01717,0.01717,0.01761,0.01719,0.01715,0.0176,0.01719,0.01716,0.0214,0.02017,0.01721,0.01716,0.017679,0.01716,0.01714,0.01759,0.01716,0.01716,0.01715,0.017559,0.017159,0.017139,0.017649,0.01723,0.01718,0.01717,0.01759,0.01717,0.017119,0.017619,0.017149,0.017119,0.020009,0.01716,0.01715,0.01717,0.0172,0.01722,0.01712,0.017589,0.017169,0.017139,0.017169,0.017599,0.01716,0.01715,0.01757,0.01718,0.01714,0.017119,0.017559,0.01723,0.01711,0.0177,0.01716,0.01714,0.01712,0.01762,0.01714,0.01718,0.017629,0.017229,0.0171,0.01767,0.01717,0.01717,0.01714,0.01758,0.01715,0.01719,0.017609,0.01759,0.01717,0.01713,0.0176,0.01717,0.01717,0.017639,0.017159,0.017189,0.017209,0.017559,0.01721,0.01717,0.01768,0.0172,0.01717,0.019829,0.017199,0.017189,0.017149,0.017549,0.01718,0.01714,0.01764,0.01717,0.01715,0.01712,0.017659,0.017129,0.0171,0.01766,0.0172,0.0172,0.01715,0.01769,0.01717,0.01718,0.017689,0.017179,0.01711,0.01716,0.01761,0.0172,0.01717,0.01759,0.01721,0.01717,0.01723,0.017149,0.017169,0.01716,0.01756,0.01718,0.01717,0.01757,0.01719,0.01717,0.01716,0.017559,0.017189,0.01716,0.01758,0.01714,0.01712,0.01712,0.01762,0.01719,0.0171,0.01767,0.017559,0.01718,0.02039,0.01714,0.01714,0.01715,0.0176,0.01717,0.01712,0.01756,0.017159,0.017149,0.01716,0.01766,0.01716,0.01717,0.0172,0.017239,0.017149,0.01713,0.01756,0.01721,0.01711,0.0176,0.01723,0.01715,0.01717,0.01718,0.017169,0.017119,0.01719,0.01718,0.01715,0.01974,0.01718,0.01717,0.01716,0.01766,0.0172,0.017109,0.01766,0.01758,0.01713,0.01718,0.01757,0.01719,0.01714,0.0176,0.017199,0.017089,0.0172,0.0176,0.01714,0.01718,0.01758,0.01718,0.01717, +0.536704,0.108,0.05056,0.049664,0.050432,0.050144,0.049856,0.050208,0.049856,0.099648,0.048672,0.048768,0.049056,0.048736,0.048544,0.049024,0.049312,0.049696,0.049088,0.04864,0.049728,0.988192,0.149216,0.049216,0.0496,0.049856,0.049056,0.048896,0.049344,0.049856,0.103072,0.10512,0.048896,0.049024,0.050016,0.049216,0.04976,0.049216,0.049952,0.105376,0.04848,0.049408,0.049696,0.048384,0.049696,0.049696,0.049824,0.050144,0.049472,0.05008,0.318528,1.05795,0.050528,0.049632,0.04912,0.04848,0.049536,0.321984,0.102752,0.04928,0.048352,0.048512,0.049632,0.049824,0.048384,0.04944,0.048032,0.04928,0.100736,0.049056,0.049568,0.049312,0.049344,0.049696,0.047872,0.049952,0.050144,0.048864,0.048288,0.895168,0.1024,0.049152,0.049888,0.050112,0.049568,0.048288,0.048864,0.049824,0.236192,0.05024,0.048672,0.04896,0.049248,0.048704,0.049504,0.048992,0.108832,0.04848,0.049216,0.049696,0.049088,0.049344,0.049664,0.048352,0.049056,0.049088,0.049056,0.048832,0.242016,0.767264,0.104096,0.050304,0.04944,0.049536,0.049472,0.049536,0.049056,0.048896,0.36016,0.0496,0.049792,0.049184,0.049792,0.048736,0.049408,0.04768,0.1024,0.049792,0.049696,0.049888,0.04896,0.048832,0.049696,0.049056,0.049376,0.049792,0.049376,0.049472,1.20016,0.102464,0.048832,0.048192,0.05008,0.0496,0.050112,0.05008,0.312992,0.049984,0.048352,0.05008,0.04944,0.048672,0.048704,0.049184,0.114368,0.048672,0.048864,0.049664,0.049536,0.048928,0.048896,0.04944,0.049568,0.049088,0.049024,0.048384,0.049312,0.819072,0.102624,0.049952,0.049536,0.049696,0.049952,0.049056,0.04816,0.047904,0.126272,0.103264,0.049696,0.049312,0.04992,0.049216,0.0496,0.049568,0.049344,0.101024,0.048352,0.049024,0.049056,0.048608,0.049472,0.04896,0.049152,0.04928,0.048416,0.048608,0.048192,0.805408,0.256608,0.050016,0.050048,0.04976,0.049632,0.049664,0.191776,0.105344,0.048864,0.049152,0.05008,0.048896,0.049888,0.049664,0.049088,0.048704,0.049504,0.100832,0.04928,0.04976,0.049472,0.049984,0.049312,0.048608,0.049888,0.04992,0.048736,0.048832,0.135648,1.08733,0.050112,0.050048,0.049824,0.050208,0.049312,0.05008,0.102592,0.130144,0.049824,0.048544,0.10144,0.049472,0.048608,0.049184,0.048672,0.100128,0.049824,0.04976,0.048832,0.048864,0.049536,0.04816,0.049696,0.049408,0.048768,0.048544,0.048128,1.0072,0.102656,0.050112,0.05008,0.049728,0.049472,0.049408,0.048064,0.048256,0.300224,0.101824,0.049952,0.049952,0.048288,0.048448,0.049568,0.049184,0.048768,0.099456,0.048416,0.050112,0.049472,0.048672,0.048832,0.048096,0.049664,0.048832,0.04896,0.048352,1.56326,0.10592,0.049984,0.048064,0.050144,0.050272,0.048192,0.306368,0.105696,0.049344,0.049632,0.049888,0.049248,0.04864,0.04944,0.049408,0.102176,0.048896,0.050144,0.048736,0.049792,0.049216,0.048768,0.049504,0.048704,0.048704,0.049696,0.049632,0.411104,1.08214,0.049824,0.04864,0.050016,0.048896,0.049408,0.049408,0.362816,0.104064,0.049984,0.048512,0.049632,0.049216,0.0496,0.049984,0.04896,0.101376,0.047584,0.04832,0.049184,0.048992,0.04832,0.04864,0.048896,0.048256,0.048992,0.049888,0.773664,0.10416,0.04976,0.049408,0.048448,0.049792,0.049728,0.04928,0.1032,0.101984,0.049376,0.049824,0.049056,0.048928,0.050816,0.048224,0.10336,0.048832,0.04864,0.05024,0.049216,0.04976,0.049344,0.048896,0.934304,0.106208,0.050144,0.049792,0.048704,0.049888,0.049344,0.1056,0.3088,0.103584,0.306432,0.049856,0.050624,0.049056,0.100448,0.049088,0.049664,0.049952,0.049568,0.04976,0.049056,0.049984,0.048512,0.04768,0.049472,0.31696,1.02934,0.048224,0.049088,0.049216,0.05008,0.04944,0.04928,0.102304,0.1352,0.10304,0.048928,0.04912,0.049568,0.049152,0.0488,0.049568,0.101312,0.048672,0.048,0.048576,0.04912,0.04944,0.047904,0.048992,0.04832,0.048864,0.048672,0.048864,0.82752,0.14768,0.048768,0.049504,0.049504,0.049216,0.049632,0.049664,0.163296,0.29664,0.049888,0.0488,0.049856,0.048832,0.049792,0.048768,0.04944,0.11408,0.049664,0.049536,0.0496,0.04896,0.050208,0.04992,0.048096,0.049632,0.049536,0.0496,0.049568,1.16746,0.44864,0.04976,0.049696,0.049984,0.049344,0.04944,0.05136,0.102464,0.155648,0.049824,0.04896,0.049408,0.049024,0.048896,0.049728,0.04912,0.104992,0.05008,0.048608,0.048864,0.049056,0.048896,0.049632,0.0496,0.049504,0.048832,0.04928,0.35856,1.44742,0.049312,0.049472,0.049344,0.049088,0.049408,0.104864,0.18544,0.050816,0.049568,0.048704,0.050048,0.049856,0.049472,0.0496,0.113216,0.049248,0.049792,0.04976,0.049216,0.049312,0.048896,0.048576,0.049472,0.049152,0.049504,0.048928,0.253312,1.52371,0.050144,0.048768,0.049408,0.04944,0.050016,0.049632,0.101664,0.103104,0.048864,0.050048,0.049568,0.049888,0.049664,0.04976,0.049088,0.100736,0.049216,0.04944,0.048352,0.049312,0.048928,0.049376,0.049312,0.04976,0.050048,0.04928,1.17277,0.444416,0.050688,0.049344,0.048896,0.050336,0.049408,0.116672,0.102528,0.050432,0.049216,0.048416,0.049184,0.049088,0.048704,0.050144,0.102208,0.049856,0.048992,0.04848,0.049536,0.049696,0.049312,0.049536,0.049408,0.049856,0.049408,0.049664,0.287872,1.06598,0.049216,0.049408,0.049824,0.271264,0.048896,0.049536,0.128032,0.10416,0.048704,0.04928,0.049024,0.048928,0.049632,0.0496,0.050208,0.1024,0.04944,0.049312,0.049888,0.049824,0.049664,0.049888,0.049984,0.049056,0.049408,0.049184,0.38864,1.08173,0.04928,0.047936,0.049344,0.04992,0.049728,0.048736,0.048032,0.103456,0.120352,0.050144,0.049472,0.0496,0.049248,0.049056,0.049696,0.049216,0.104256,0.049184,0.048192,0.050272,0.048864,0.050272,0.048416,0.04928,0.04864,0.048864,0.04912,1.04,0.139168,0.049184,0.049344,0.050368,0.048768,0.049664,0.049792,0.131072,0.15824,0.04992,0.049856,0.049888,0.049856,0.049376,0.0496,0.049568,0.11136,0.048832,0.049248,0.049536,0.049952,0.0496,0.049248,0.04976,0.049888,0.04976,0.04992,0.048864,0.375936,1.04317,0.049984,0.050144,0.05024,0.048576,0.049376,0.050208,0.049792,0.1024,0.10352,0.048256,0.049248,0.04928,0.049504,0.049312,0.049248,0.048992,0.100448,0.048288,0.047808,0.048352,0.047904,0.047488,0.04768,0.04784,0.049056,0.046656,0.048064,0.967712,0.100832,0.048032,0.04848,0.047296,0.048416,0.04928,0.048608,0.12576,0.099936,0.048608,0.0488,0.04896,0.048864,0.048544,0.048032,0.047616,0.048192,0.0488,0.098496,0.048128,0.047744,0.04752,0.047616,0.047968,0.047552,0.047424,0.047168,0.04656,0.047616,0.791776,0.229248,0.049152,0.049504,0.048192,0.04912,0.047904,0.049088,0.113376,0.101152,0.048416,0.047744,0.048896,0.048288,0.048544,0.049696,0.048896,0.098464,0.04832,0.048928,0.04864,0.0488,0.048864,0.048704,0.047872,0.048512,0.048032,0.047776,0.048384,0.201312,1.06822,0.04832,0.048384,0.047968,0.0488,0.048992,0.048064,0.047904,0.100384,0.100832,0.047648,0.049376,0.048096,0.048608,0.047872,0.048832,0.048928,0.098208,0.04688,0.047744,0.047776,0.0472,0.047968,0.04832,0.04864,0.04832,0.04848,0.048544,1.11478,0.10048,0.04896,0.048864,0.047168,0.048864,0.048032,0.048992,0.115744,0.101536,0.049024,0.048448,0.047296,0.047104,0.047488,0.048832,0.048448,0.11024,0.047552,0.047296,0.047584,0.047776,0.047296,0.04784,0.04832,0.048064,0.048544,0.04896,0.047968,0.04768,0.792128,0.100992,0.048512,0.047584,0.048832,0.048224,0.04928,0.047968,0.048608,0.327584,0.048608,0.047296,0.048288,0.048672,0.048608,0.050208,0.047328,0.101696,0.048608,0.048064,0.047968,0.047936,0.047904,0.048928,0.048896,0.048608,0.04896,0.048352,0.049216,0.166912,1.02429,0.099264,0.048512,0.047744,0.049056,0.049216,0.049184,0.232544,0.047392,0.048064,0.047808,0.047072,0.047872,0.048512,0.04816,0.048192,0.047936,0.09824,0.048224,0.047616,0.04768,0.047456,0.048704,0.048352,0.046336,0.047744,0.047232,0.046784,0.046464,0.79168,0.046208,0.047968,0.04816,0.048608,0.04816,0.048224,0.047648,0.238432,0.241216,0.047872,0.047776,0.049664,0.047808,0.047136,0.048032,0.0488,0.125344,0.04752,0.047968,0.04704,0.04736,0.048096,0.048096,0.047872,0.048,0.046976,0.047264,0.047008,0.160864,0.748224,0.536192,0.047232,0.049728,0.048352,0.049056,0.047168,0.048448,0.26304,0.047232,0.04848,0.047936,0.047968,0.047072,0.04816,0.04736,0.102912,0.047904,0.048352,0.047424,0.04784,0.04816,0.047104,0.04784,0.047584,0.047488,0.047616,0.047648,0.335936,1.06173,0.047808,0.04768,0.048064,0.047776,0.04752,0.218816,0.104768,0.048096,0.048192,0.046752,0.048,0.047392,0.047488,0.0464,0.047712,0.048064,0.096128,0.047904,0.0464,0.048032,0.047424,0.048,0.046368,0.047392,0.048,0.04752,0.047872,1.00467,0.048128,0.047104,0.047392,0.04736,0.047488,0.04896,0.04864,0.046336,0.277184,0.047808,0.046752,0.047904,0.04848,0.047872,0.047744,0.047488,0.115968,0.047072,0.046784,0.047008,0.04688,0.047904,0.046304,0.04752,0.047616,0.047776,0.047392,0.047744,0.047328,0.786368,0.099936,0.048096,0.047296,0.047904,0.04832,0.048224,0.0472,0.048224,0.211744,0.126176,0.04768,0.047936,0.048384,0.048384,0.04848,0.047488,0.048192,0.106112,0.048128,0.047648,0.047936,0.047424,0.047168,0.04656,0.049216,0.047712,0.047552,0.047872,0.524288,1.04218,0.04912, +0.18784,0.073152,0.072992,0.072416,0.324544,0.122336,0.072224,0.071872,0.07328,0.0728,0.072704,0.07168,0.07712,0.118848,0.071456,0.07056,0.072032,0.071776,0.071552,0.071712,0.071232,0.071264,0.07152,0.072032,1.06067,0.07216,0.072768,0.071488,0.072512,0.072768,0.071776,0.071776,0.826368,0.073056,0.072704,0.0728,0.071424,0.072512,0.07376,0.072544,0.119264,0.071264,0.071904,0.071584,0.071744,0.072288,0.071072,0.071488,0.072384,0.074752,0.071328,1.04787,0.179744,0.072096,0.072192,0.072512,0.073024,0.071936,0.777056,0.072704,0.07264,0.072544,0.072256,0.071904,0.0776,0.073696,0.072928,0.072192,0.121344,0.072512,0.071936,0.072832,0.072768,0.072544,0.072256,0.07184,0.073056,0.071808,1.84125,0.071776,0.074912,0.071904,0.0728,0.071424,0.071168,0.389856,0.122272,0.072768,0.072672,0.071584,0.07088,0.07152,0.071808,0.071584,0.119712,0.071392,0.072032,0.071648,0.07168,0.07168,0.07168,0.071392,0.071808,0.07136,0.0712,0.96752,0.071136,0.071712,0.070944,0.071968,0.07168,0.072256,0.073152,0.07232,0.558912,0.072416,0.072512,0.072288,0.07216,0.071072,0.073216,0.072128,0.119744,0.074656,0.07152,0.071776,0.07248,0.071168,0.071712,0.072032,0.071808,0.072,1.79987,0.073248,0.07104,0.072416,0.07312,0.072576,0.076064,0.556352,0.072512,0.072096,0.074272,0.07216,0.072288,0.072928,0.072736,0.11968,0.072896,0.07296,0.0728,0.072256,0.07232,0.073056,0.07168,0.073216,0.072384,0.072736,0.07232,1.53267,0.071808,0.071136,0.07232,0.071488,0.071488,0.071936,0.762592,0.07232,0.070592,0.071552,0.073088,0.072256,0.072512,0.071232,0.119936,0.072032,0.070912,0.071552,0.07248,0.070304,0.071872,0.070944,0.071392,0.07168,0.07168,1.26429,0.072992,0.0728,0.072352,0.072896,0.071616,0.072416,0.7544,0.071648,0.072416,0.071872,0.07184,0.07296,0.073312,0.072,0.073376,0.071392,0.118944,0.071328,0.07152,0.072448,0.071424,0.070816,0.07104,0.071296,0.071328,0.07136,1.69133,0.07216,0.072064,0.072736,0.071648,0.071968,0.07376,0.697856,0.074304,0.072128,0.073248,0.071584,0.072672,0.071744,0.072544,0.121792,0.071904,0.072192,0.071936,0.072064,0.072512,0.072768,0.07296,0.072416,0.07296,0.074912,0.562624,1.05546,0.072448,0.071872,0.275936,0.072736,0.072192,0.07264,0.535072,0.072608,0.072096,0.072288,0.072768,0.073088,0.073024,0.071744,0.119232,0.072832,0.072736,0.072672,0.071936,0.072256,0.0728,0.07136,0.07216,0.07168,0.072864,1.92483,0.073664,0.07264,0.0728,0.07296,0.073248,0.40992,0.072544,0.071872,0.072544,0.072896,0.072736,0.073312,0.073088,0.120288,0.072864,0.07248,0.072672,0.0728,0.072128,0.082304,0.072832,0.072928,0.072896,0.072384,0.07232,2.16941,0.072832,0.072992,0.072576,0.072224,0.072032,0.823104,0.073088,0.071328,0.074464,0.072576,0.072704,0.072064,0.074112,0.119616,0.072896,0.07232,0.07264,0.07264,0.072544,0.072512,0.072736,0.072672,0.07248,0.072032,2.24608,0.072768,0.072288,0.073056,0.07232,0.300512,0.152416,0.071904,0.073024,0.07264,0.072288,0.07232,0.072768,0.07328,0.072192,0.072416,0.120352,0.072896,0.072544,0.072512,0.071328,0.069408,0.06992,0.069952,0.069728,0.069024,2.08282,0.069056,0.069824,0.069888,0.070048,0.069952,0.375872,0.11936,0.068896,0.069056,0.0704,0.069472,0.069152,0.0744,0.070144,0.114528,0.070176,0.06944,0.070688,0.069248,0.069824,0.069728,0.068608,0.069344,0.069824,0.069792,2.18403,0.070432,0.069952,0.069472,0.069728,0.069728,0.069184,0.513696,0.071456,0.07024,0.069024,0.070112,0.06992,0.069248,0.069376,0.11312,0.070336,0.069344,0.069312,0.070208,0.069056,0.070528,0.071104,0.070272,0.069824,0.069632,2.15891,0.07008,0.072416,0.069344,0.068096,0.070368,0.567488,0.070176,0.070208,0.070144,0.06944,0.069984,0.070048,0.069472,0.12176,0.07024,0.069984,0.069152,0.070176,0.069344,0.069344,0.070112,0.068992,0.073152,0.070208,0.06944,1.94118,0.069728,0.069728,0.069312,0.069728,0.069312,0.069536,0.288704,0.070432,0.0704,0.070432,0.069632,0.068992,0.068896,0.0704,0.119488,0.06896,0.068864,0.069568,0.069024,0.070528,0.080384,0.069888,0.070208,0.070176,0.0688,2.27677,0.069056,0.069792,0.069696,0.070528,0.208576,0.187552,0.069728,0.069152,0.068608,0.069664,0.069568,0.070592,0.069632,0.06976,0.069792,0.116544,0.069152,0.070656,0.070528,0.069888,0.070528,0.069888,0.069152,0.069024,0.069984,1.84314,0.069344,0.070272,0.070016,0.082528,0.151488,0.07008,0.516224,0.070208,0.069664,0.070208,0.070112,0.071136,0.070272,0.070656,0.114432,0.070176,0.070208,0.070432,0.069152,0.069504,0.068608,0.06864,0.06944,0.07008,0.069216,2.13494,0.070208,0.071072,0.069408,0.0696,0.068128,0.071104,0.319392,0.114592,0.069344,0.0688,0.069536,0.069088,0.069664,0.069536,0.069344,0.113024,0.071648,0.069312,0.069824,0.070144,0.06848,0.06816,0.069344,0.074112,0.068896,2.19584,0.069536,0.069216,0.069088,0.069568,0.068672,0.511328,0.0688,0.074752,0.070016,0.069312,0.069792,0.068736,0.068512,0.114208,0.06928,0.069248,0.068576,0.069376,0.069696,0.06944,0.069312,0.06976,0.068288,0.068736,0.069728,2.14422,0.070304,0.070752,0.068512,0.069312,0.068416,0.069152,0.216768,0.069824,0.069248,0.082464,0.080896,0.069632,0.068672,0.185984,0.069376,0.069344,0.069472,0.06896,0.069024,0.06864,0.069408,0.06928,0.0688,0.0696,0.069568,2.0361,0.069856,0.069248,0.06944,0.071328,0.462816,0.11568,0.068672,0.069152,0.069152,0.069632,0.073152,0.068672,0.069728,0.069536,0.068128,0.115072,0.069472,0.069568,0.0696,0.069152,0.07008,0.073856,0.069664,0.068992,0.06928,2.12714,0.069504,0.069056,0.069856,0.068448,0.072352,0.576448,0.068992,0.06864,0.068768,0.06928,0.068992,0.06848,0.068736,0.114048,0.069792,0.069344,0.069792,0.069504,0.069376,0.06928,0.069056,0.069664,0.070016,0.068544,0.0688,2.07475,0.069952,0.070944,0.069344,0.067456,0.069632,0.070784,0.353184,0.068992,0.06928,0.069312,0.068928,0.069408,0.068768,0.0688,0.114272,0.068384,0.068896,0.070816,0.069376,0.068864,0.065344,0.065024,0.06576,0.065632,0.066368,1.55978,0.251168,0.065312,0.065952,0.065248,0.065856,0.065696,0.276256,0.066048,0.065216,0.065632,0.06512,0.065696,0.06512,0.065216,0.06544,0.065632,0.107456,0.065536,0.065536,0.065056,0.06544,0.065056,0.066272,0.064192,0.065568,0.064384,0.065344,1.79706,0.0664,0.064736,0.065504,0.065056,0.065664,0.06576,0.259968,0.065376,0.066432,0.065536,0.065344,0.066784,0.065216,0.067232,0.105792,0.067776,0.066144,0.066048,0.064768,0.066368,0.065472,0.066592,0.064928,0.073792,0.066144,0.06592,1.94874,0.065984,0.066016,0.065568,0.06736,0.48976,0.109376,0.064896,0.065664,0.065536,0.065632,0.0656,0.0664,0.064608,0.065536,0.06544,0.10576,0.065568,0.067936,0.06608,0.065344,0.065344,0.065696,0.066528,0.06464,0.065632,2.15635,0.069568,0.065952,0.065088,0.065568,0.065312,0.439968,0.10848,0.064704,0.065184,0.066176,0.063936,0.065632,0.065536,0.065088,0.104864,0.06608,0.065568,0.064832,0.065696,0.06608,0.065888,0.064768,0.066688,0.066336,0.063904,1.55782,0.244544,0.06448,0.064416,0.065632,0.065984,0.065824,0.06544,0.478496,0.065984,0.065824,0.066112,0.065312,0.064608,0.065376,0.066176,0.106848,0.065984,0.0648,0.065408,0.066464,0.066112,0.06608,0.065312,0.064864,0.06528,0.06528,2.13942,0.066048,0.066432,0.064928,0.067104,0.065504,0.480768,0.066688,0.065024,0.06576,0.064864,0.064928,0.065312,0.06576,0.0648,0.065216,0.10816,0.065184,0.065568,0.065696,0.065408,0.064832,0.065472,0.065408,0.065632,0.064832,2.27325,0.065568,0.064896,0.065024,0.06448,0.064384,0.064736,0.267104,0.06896,0.065408,0.065536,0.064928,0.064448,0.06432,0.064256,0.106528,0.064576,0.0648,0.065056,0.064736,0.063776,0.069728,0.06512,0.06656,0.064512,0.064576,0.06496,1.95779,0.066464,0.065216,0.064512,0.065728,0.283328,0.106784,0.064928,0.065376,0.065824,0.064928,0.064544,0.065728,0.065184,0.063872,0.065632,0.106784,0.065024,0.064352,0.064448,0.06528,0.065152,0.063616,0.065952,0.064416,0.064544,0.065408,1.76883,0.065568,0.065248,0.065632,0.064928,0.06432,0.650752,0.065088,0.063968,0.06464,0.065856,0.065184,0.064992,0.066496,0.105984,0.064384,0.064384,0.065024,0.06528,0.065824,0.065248,0.065536,0.064704,0.064768,0.065888,0.065152,2.08746,0.0656,0.065088,0.064192,0.064608,0.064832,0.066848,0.501376,0.064768,0.065888,0.065248,0.064864,0.064224,0.065152,0.064512,0.107168,0.064576,0.065408,0.065216,0.064864,0.064896,0.064416,0.064672,0.06464,0.065408,0.065248,1.55114,0.234368,0.06448,0.064896,0.064576,0.064768,0.064608,0.324576,0.06576,0.065632,0.064224,0.064736,0.0648,0.065024,0.065632,0.064736,0.065376,0.105696,0.064096,0.064672,0.065088,0.06496,0.064896,0.065504,0.065408,0.06448,0.063968,0.064704,1.69885,0.064384,0.065696,0.064096,0.065536,0.065024,0.064064,0.290368,0.065664,0.06496,0.064384,0.06512,0.06448,0.065696,0.064704,0.106048,0.065632,0.065152,0.065056,0.065664,0.065024,0.06512,0.065216,0.064096,0.063712,0.064416,0.068096,1.93562,0.068544,0.064896,0.06368,0.063648,0.064576,0.20096,0.065248,0.063552,0.063232,0.067712,0.063936,0.063392,0.063776,0.063296,0.064,0.103264,0.063232,0.064096,0.063648,0.063776,0.063744,0.063904,0.068096,0.064288, +0.339744,1.91075,0.0176,0.016064,0.015552,0.016544,0.016256,0.014848,0.273472,0.060544,0.0152,0.016544,0.015072,0.015552,0.015616,0.015872,0.014496,0.01616,0.059392,0.016256,0.013248,0.013216,0.021696,0.012736,0.013344,0.0136,0.01344,0.014144,0.012704,0.013376,2.17866,0.019872,0.015968,0.01456,0.01536,0.016704,0.016288,0.017024,0.307808,0.020448,0.016384,0.015648,0.01552,0.015008,0.016768,0.01552,0.015616,0.058784,0.015712,0.015232,0.016672,0.016512,0.01616,0.013984,0.01344,0.013088,0.01264,0.02272,0.013216,1.47248,0.189472,0.015488,0.015392,0.016192,0.014592,0.01664,0.61504,0.017312,0.01488,0.015648,0.0152,0.015904,0.015264,0.014944,0.016032,0.016064,0.015456,0.05728,0.015072,0.018592,0.015616,0.01584,0.015456,0.015648,0.015552,0.014656,0.015424,0.01616,0.018048,1.68851,0.015136,0.015776,0.015904,0.018944,0.015072,0.017088,0.375296,0.059776,0.015904,0.01472,0.0152,0.015008,0.014496,0.015488,0.015648,0.01504,0.05808,0.01472,0.022496,0.01424,0.022432,0.01392,0.012576,0.021856,0.013472,0.013472,0.014368,0.012992,2.00045,0.020288,0.01552,0.01472,0.01664,0.01456,0.019552,0.020704,0.254112,0.060032,0.01872,0.014976,0.016544,0.016096,0.015488,0.016096,0.015712,0.016416,0.056512,0.014144,0.015232,0.016608,0.02256,0.013632,0.022144,0.01264,0.022528,0.022336,0.013216,2.06237,0.01856,0.015936,0.014432,0.014464,0.015136,0.016,0.413024,0.016352,0.015424,0.012992,0.015168,0.019648,0.015104,0.014496,0.015392,0.058464,0.015072,0.016192,0.01504,0.014752,0.014848,0.014592,0.01584,0.015328,0.015296,0.0144,0.016928,0.015392,2.03981,0.019968,0.015712,0.015712,0.015104,0.016192,0.015616,0.016064,0.202176,0.01536,0.015584,0.016064,0.015072,0.015296,0.016128,0.014464,0.016032,0.056032,0.015744,0.015552,0.015008,0.01504,0.01488,0.014368,0.015328,0.016416,0.014976,0.016064,0.015328,0.016,1.68506,0.016672,0.015456,0.015456,0.01456,0.0152,0.321408,0.168992,0.0144,0.015296,0.01616,0.015552,0.01536,0.016064,0.015648,0.01584,0.05664,0.015616,0.014688,0.012608,0.022784,0.0216,0.013056,0.02192,0.02272,0.013536,0.021536,0.01344,0.022528,1.99933,0.02048,0.014944,0.01568,0.01616,0.01424,0.014304,0.300608,0.0592,0.015296,0.015584,0.01616,0.014976,0.016416,0.014752,0.01552,0.015136,0.058432,0.015872,0.016224,0.01584,0.01632,0.014944,0.019904,0.016384,0.019968,0.015456,0.014112,0.013344,2.03802,0.020288,0.01568,0.01568,0.016224,0.014912,0.015744,0.020608,0.497152,0.01616,0.0152,0.015296,0.014912,0.013952,0.015392,0.014656,0.015776,0.058432,0.015008,0.014112,0.013024,0.015712,0.01376,0.01248,0.012576,0.022368,0.012704,0.012576,0.01296,2.03168,0.021248,0.0152,0.015872,0.016832,0.014432,0.019232,0.256352,0.059328,0.014912,0.023968,0.016032,0.015808,0.014656,0.015936,0.015456,0.01568,0.058624,0.014976,0.015776,0.012576,0.013216,0.012832,0.013312,0.022624,0.022624,0.012416,0.0128,0.012544,1.45962,0.180672,0.016128,0.015488,0.015776,0.016256,0.014912,0.01568,0.017536,0.2392,0.014688,0.016448,0.01424,0.01488,0.01616,0.0152,0.019744,0.016448,0.0576,0.015392,0.01568,0.014624,0.016224,0.015424,0.015904,0.015808,0.014208,0.016192,0.015552,0.0168,1.47997,0.173888,0.016384,0.015488,0.015296,0.016384,0.014272,0.016928,0.225696,0.01536,0.015552,0.016672,0.014784,0.01456,0.015232,0.016512,0.015808,0.015456,0.014944,0.056896,0.014784,0.015296,0.014496,0.014624,0.015232,0.016352,0.015904,0.01632,0.015264,0.019808,0.447776,1.23789,0.014816,0.015392,0.014144,0.016544,0.016224,0.014272,0.016736,0.413568,0.015872,0.020928,0.016416,0.016768,0.014912,0.015136,0.015168,0.015072,0.057824,0.01632,0.015584,0.01568,0.015744,0.01488,0.014144,0.0136,0.016864,0.015456,0.014656,0.015552,2.01923,0.01984,0.015136,0.01712,0.015584,0.014144,0.015744,0.020544,0.322144,0.059104,0.015296,0.014976,0.013696,0.015808,0.015456,0.01536,0.015552,0.015968,0.055936,0.014592,0.016544,0.014816,0.015488,0.014656,0.015296,0.014496,0.015104,0.015648,0.016544,2.04518,0.021024,0.015232,0.015424,0.016384,0.014464,0.019296,0.414656,0.016448,0.015712,0.018816,0.013568,0.016,0.015072,0.015872,0.015456,0.05696,0.01408,0.01472,0.015104,0.016224,0.014848,0.014912,0.01536,0.016352,0.015616,0.015424,0.014016,0.015872,2.03789,0.01712,0.014976,0.015552,0.0152,0.015584,0.015744,0.016576,0.213184,0.015008,0.014144,0.016064,0.015392,0.015968,0.014048,0.015296,0.016832,0.055424,0.01456,0.015968,0.015296,0.015936,0.015552,0.015008,0.016256,0.015936,0.01392,0.016,0.015328,0.015584,1.73978,0.0208,0.015104,0.015584,0.019904,0.01456,0.405664,0.058048,0.016384,0.013632,0.01504,0.015168,0.013984,0.01376,0.014336,0.015552,0.0152,0.015072,0.056672,0.01456,0.014816,0.015712,0.015264,0.01456,0.016096,0.014752,0.015168,0.0152,0.0144,1.88826,0.018848,0.015488,0.015456,0.01536,0.015296,0.015392,0.607264,0.015744,0.01616,0.0144,0.014976,0.01488,0.014624,0.015488,0.015136,0.057536,0.015168,0.015168,0.014816,0.0144,0.015872,0.014688,0.014592,0.014976,0.016096,0.01552,0.01488,0.015552,1.60374,0.021984,0.019584,0.019616,0.081408,0.019968,0.015168,0.014112,0.139328,0.084512,0.014336,0.015584,0.016256,0.015136,0.015584,0.015488,0.01584,0.015168,0.055168,0.016032,0.015648,0.015904,0.014528,0.019424,0.015392,0.01888,0.016096,0.015072,0.01536,0.015104,1.95683,0.021024,0.013984,0.015968,0.016,0.015008,0.017952,0.411808,0.015808,0.015072,0.01424,0.014912,0.021952,0.015392,0.015808,0.01552,0.05616,0.014496,0.015808,0.0144,0.014848,0.015552,0.01456,0.014976,0.022944,0.015328,0.013856,0.014656,0.014432,1.70141,0.01952,0.01616,0.014528,0.01552,0.015712,0.020064,0.016416,0.211488,0.015872,0.015872,0.014176,0.016,0.015552,0.01488,0.016416,0.014592,0.055552,0.015264,0.016384,0.01568,0.014944,0.016448,0.015488,0.015296,0.014816,0.015456,0.01456,0.013888,0.01536,1.69798,0.019808,0.014112,0.015136,0.015904,0.015392,0.361888,0.059872,0.015584,0.015136,0.016192,0.021888,0.020288,0.014336,0.019744,0.014336,0.022016,0.01472,0.057824,0.015232,0.014496,0.015008,0.01328,0.01568,0.014336,0.012608,0.01248,0.02272,0.0224,2.06163,0.018208,0.015072,0.016416,0.014592,0.015232,0.017088,0.339456,0.059808,0.015776,0.015456,0.01536,0.015104,0.015168,0.015584,0.015648,0.014848,0.058176,0.015008,0.015168,0.015456,0.015104,0.015456,0.014688,0.015872,0.016064,0.014528,0.015264,0.022464,2.0576,0.020896,0.015264,0.01584,0.01488,0.014944,0.015968,0.015008,0.414528,0.016416,0.014912,0.015264,0.014816,0.016512,0.015392,0.014624,0.015072,0.055136,0.015392,0.015648,0.01536,0.014048,0.014336,0.016768,0.014912,0.01552,0.014656,0.016384,0.015936,2.06282,0.020288,0.014528,0.014688,0.015744,0.014592,0.01392,0.296928,0.015744,0.015968,0.015808,0.014752,0.01696,0.015104,0.014912,0.015296,0.015264,0.01584,0.057408,0.01648,0.015008,0.016064,0.01424,0.015936,0.015456,0.016096,0.014816,0.016032,0.022304,2.16477,0.020192,0.018304,0.015872,0.01472,0.017184,0.014656,0.016768,0.235712,0.015072,0.016544,0.014688,0.016032,0.015904,0.015328,0.01536,0.016096,0.062592,0.014464,0.014656,0.016192,0.015936,0.014528,0.016,0.017696,0.016032,0.014592,0.015104,0.015552,2.04701,0.021024,0.014848,0.014912,0.014944,0.016128,0.351392,0.06016,0.01568,0.013344,0.015584,0.0136,0.014848,0.014112,0.01456,0.015136,0.015328,0.014368,0.056608,0.016832,0.014816,0.015008,0.0144,0.015264,0.015776,0.015392,0.015296,0.014816,0.014944,1.67091,0.02192,0.019712,0.34624,0.014208,0.015808,0.017248,0.225984,0.064544,0.01488,0.015104,0.016064,0.01472,0.015744,0.015744,0.015904,0.014752,0.058304,0.018688,0.013152,0.022272,0.022432,0.013472,0.013504,0.021856,0.022304,0.020704,0.012672,0.022272,1.66928,0.021536,0.015264,0.019648,0.022016,0.019616,0.020128,0.02,0.020832,0.280768,0.020832,0.019808,0.019392,0.019488,0.020672,0.021184,0.020544,0.0192,0.055872,0.02,0.0208,0.019648,0.020384,0.020384,0.020544,0.020736,0.020096,0.019808,0.019808,0.021056,1.01658,0.019776,0.019584,0.019712,0.02032,0.019872,0.01984,0.019776,0.01888,0.305696,0.020128,0.020096,0.019808,0.019392,0.019872,0.020672,0.02,0.020832,0.020576,0.019456,0.056032,0.020416,0.020064,0.020832,0.020832,0.01952,0.020416,0.019264,0.0216,0.020224,0.019872,1.03315,0.02,0.019968,0.019904,0.020736,0.020224,0.02016,0.019872,0.021824,0.022176,0.240608,0.020544,0.02032,0.020352,0.020064,0.021152,0.019968,0.020384,0.020608,0.056192,0.020032,0.020864,0.01856,0.02032,0.02032,0.020064,0.02032,0.020064,0.020864,0.020384,0.019936,1.24886,0.020608,0.019392,0.019712,0.019808,0.019072,0.020288,0.019872,0.313664,0.057472,0.019872,0.020384,0.02032,0.019488,0.020096,0.019712,0.020512,0.020544,0.020704,0.01936,0.056096,0.02016,0.02064,0.020512,0.020384,0.020064,0.020224,0.019488,0.020576,0.020096,0.020064,0.207616,0.019616,0.020608,0.019264,0.02,0.019424,0.019872,0.0192,0.019936,0.01984,0.022784,0.155808,0.020928,0.01936,0.020864,0.019328,0.020416,0.02,0.021152,0.020128,0.05632,0.020128,0.020608,0.019936,0.022208,0.019488,0.019872, diff --git a/analysis/data/20.csv b/analysis/data/20.csv new file mode 100644 index 0000000..178b0a6 --- /dev/null +++ b/analysis/data/20.csv @@ -0,0 +1,4 @@ +1.73148,0.451763,0.275726,0.269936,0.270417,0.272356,0.268617,0.281316,0.294076,0.267346,0.266927,0.270027,0.267566,0.267507,0.278086,0.287436,0.267906,0.270556,0.267287,0.268366,0.270466,0.267366,0.275376,0.274706,0.267927,0.269376,0.272796,0.273657,0.309085,0.287866,0.300916,0.284216,0.290956,0.381285,0.310665,0.281056,0.311196,0.280577,0.270696,0.272596,0.286266,0.267116,0.266747,0.270626,0.284756,0.268256,0.270296,0.283706,0.282047,0.269826,0.289256,0.269446,0.269427,0.268126,0.264616,0.290866,0.272816,0.271336,0.272516,0.266516,0.268976,0.307805,0.268057,0.267246,0.266956,0.271166,0.272227,0.266706,0.282537,0.267456,0.267816,0.272277,0.269256,0.267146,0.272326,0.273486,0.273586,0.270886,0.277646,0.268537,0.267156,0.267726,0.290906,0.269566,0.277037,0.279126,0.266857,0.267906,0.267116,0.268836,0.268266,0.272956,0.282416,0.270767,0.267506,0.284106,0.279106,0.267076,0.267487,0.281657,0.282966,0.383515,0.291726,0.311256,0.275006,0.285426,0.273266,0.471714,0.310586,0.276346,0.273996,0.290416,0.276056,0.283646,0.332725,0.288606,0.271236,0.269666,0.275826,0.272986,0.268846,0.319206,0.313496,0.271967,0.270016,0.322576,0.277547,0.268356,0.272336,0.267826,0.271816,0.270826,0.269246,0.288226,0.268316,0.270216,0.267756,0.292726,0.273696,0.355785,0.305786,0.271956,0.274666,0.283487,0.287376,0.274587,0.269236,0.313166,0.283626,0.275056,0.266996,0.280946,0.268616,0.270157,0.290916,0.283137,0.267616,0.267076,0.285256,0.267606,0.267576,0.290136,0.280436,0.269056,0.272666,0.270076,0.267047,0.266676,0.266896,0.278457,0.266826,0.269076,0.280866,0.266976,0.270936,0.302146,0.267426,0.272026,0.266776,0.271546,0.269006,0.293936,0.280506,0.272026,0.292176,0.267696,0.279466,0.268566,0.279156,0.306345,0.275806,0.270587,0.273206,0.288526,0.271866,0.280316,0.273076,0.271056,0.269256,0.273936,0.267326,0.276517,0.266926,0.270406,0.267926,0.280176,0.271856,0.271556,0.269856,0.296276,0.270536,0.268246,0.268536,0.279526,0.268446,0.270036,0.273706,0.266897,0.274406,0.279186,0.285186,0.267976,0.282806,0.268966,0.271097,0.286565,0.278446,0.269077,0.265946,0.278166,0.283726,0.264826,0.279757,0.301306,0.271416,0.267587,0.276066,0.269977,0.267146,0.280776,0.288026,0.275056,0.272767,0.275646,0.276456,0.272346,0.269537,0.270016,0.274146,0.274756,0.291776,0.267066,0.271397,0.268466,0.273466,0.267906,0.282616,0.292866,0.269966,0.270926,0.268916,0.273816,0.272576,0.271587,0.284506,0.267916,0.277846,0.294956,0.267626,0.267526,0.271867,0.284426,0.271546,0.268416,0.280186,0.269226,0.267707,0.274756,0.287496,0.271436,0.270136,0.293086,0.269026,0.268246,0.269167,0.266686,0.267566,0.266806,0.272996,0.281456,0.271386,0.271536,0.268036,0.266957,0.270986,0.284116,0.268967,0.271726,0.283526,0.270636,0.268976,0.273126,0.283136,0.267047,0.267616,0.280376,0.269156,0.286246,0.295786,0.267256,0.267157,0.267856,0.269316,0.267366,0.279816,0.273346,0.271286,0.267876,0.286826,0.267796,0.266667,0.267786,0.269707,0.268816,0.271706,0.288386,0.271106,0.266957,0.267386,0.273626,0.266936,0.267477,0.275846,0.270047,0.271276,0.266967,0.275137,0.269116,0.279666,0.270686,0.267366,0.282986,0.285206,0.269847,0.267706,0.268557,0.279706,0.273986,0.284796,0.289036,0.267716,0.285756,0.270157,0.283186,0.266776,0.267006,0.280566,0.268106,0.268246,0.270487,0.271757,0.270306,0.268146,0.270766,0.267486,0.277697,0.297636,0.266947,0.281816,0.280436,0.277816,0.269926,0.287036,0.275816,0.271356,0.271246,0.267776,0.287976,0.272156,0.272296,0.270016,0.279356,0.268507,0.287676,0.278257,0.269866,0.272556,0.284396,0.272716,0.271066,0.270206,0.267166,0.269047,0.265966,0.276717,0.278076,0.278426,0.288026,0.267416,0.293916,0.284816,0.284646,0.267416,0.268996,0.282156,0.271996,0.275436,0.281556,0.269146,0.268136,0.267026,0.278966,0.267866,0.267796,0.282926,0.270307,0.267236,0.272667,0.274407,0.267726,0.267886,0.278416,0.270816,0.269746,0.278856,0.266916,0.267176,0.267127,0.277386,0.267097,0.270046,0.281376,0.267327,0.267316,0.266967,0.273637,0.267236,0.267496,0.273466,0.269896,0.267427,0.301055,0.267726,0.267176,0.266386,0.269496,0.277377,0.270056,0.273036,0.268277,0.267096,0.267007,0.274937,0.266916,0.268226,0.272216,0.267876,0.267096,0.290656,0.272686,0.267146,0.267166,0.271396,0.270366,0.272556,0.269556,0.267306,0.266547,0.266986,0.282296,0.269976,0.270296,0.279956,0.267217,0.266866,0.287636,0.275076,0.267646,0.267746,0.269246,0.271097,0.279176,0.298445,0.269206,0.267856,0.266996,0.273206,0.271446,0.270906,0.279616,0.266847,0.266786,0.266877,0.268177,0.267766,0.270326,0.280297,0.267276,0.266037,0.284916,0.267576,0.266636,0.267196,0.277576,0.270516,0.267026,0.286646,0.268177,0.267376,0.267127,0.269967,0.271396,0.269987,0.270317,0.267296,0.267417,0.283246,0.268086,0.267267,0.269956,0.284246,0.267556,0.271156,0.278637,0.266707,0.267776,0.267156,0.270817,0.270536,0.266776,0.270316,0.266996,0.266717,0.273547,0.268926,0.272556,0.270147,0.266567,0.266366,0.267407,0.267216,0.273746,0.267316,0.272786,0.272086,0.267086,0.267087,0.292976,0.271206,0.267416,0.267237,0.277376,0.299736,0.267536,0.284826,0.276636,0.274486,0.270896,0.386905,0.293056,0.280576,0.289096,0.274476,0.272246,0.296036,0.268596,0.267586,0.267076,0.268886,0.266027,0.270376,0.277646,0.267506,0.267036,0.267026,0.266866,0.266097,0.267186,0.277966,0.270907,0.267426,0.279296,0.274596,0.267626,0.266617,0.266467,0.267506,0.269626,0.272196,0.267636,0.280346,0.278287,0.285326,0.273816,0.272327,0.275096,0.272186,0.271606,0.275866,0.271686,0.269096,0.267146,0.276877,0.267556,0.268496,0.268967,0.269866,0.270137,0.266396,0.279396,0.267927,0.266936,0.268976,0.269566,0.267566,0.274246,0.291326,0.273917,0.269106,0.277267,0.274366,0.267957,0.267916,0.272957,0.268016,0.268067,0.267296,0.271437,0.267306,0.267476,0.271196,0.267456,0.267426,0.270476,0.269747,0.266946,0.270297,0.269776,0.266717,0.267546,0.266986,0.270526,0.267636,0.266077,0.275646,0.267187,0.267206,0.270197,0.269196,0.267317,0.270606,0.270986,0.267766,0.271306,0.267716,0.270866,0.268627,0.267446,0.269267,0.274346,0.266787,0.274966,0.271367,0.266276,0.275366,0.267676,0.268996,0.267596,0.267596,0.270726,0.268476,0.268327,0.269496,0.269877,0.267916,0.269107,0.272026,0.268547,0.271166,0.267246,0.283786,0.278817,0.270696,0.267747,0.270086,0.269887,0.271536,0.273517,0.269136,0.274196,0.266126,0.271536,0.271897,0.266856,0.267907,0.271036,0.268697,0.267176,0.273267,0.267076,0.267457,0.267466,0.267796,0.271926,0.267086,0.287966,0.267147,0.269826,0.266887,0.273436,0.281247,0.269526,0.267657,0.269176,0.267656,0.270976,0.272856,0.268527,0.271126,0.267077,0.273566,0.271277,0.268076,0.272506,0.269916,0.267376,0.267166,0.273226,0.267787,0.267276,0.269257,0.267506,0.268407,0.266546,0.269186,0.271056,0.275206,0.270696,0.276406,0.269066,0.268396,0.279486,0.270386,0.267717,0.267766,0.270876,0.267646,0.267186,0.268476,0.268816,0.267477,0.266866,0.269736,0.267327,0.266906,0.271457,0.267376,0.267126,0.270266,0.269136,0.267477,0.267096,0.266976,0.269937,0.267116,0.267377,0.270426,0.267476,0.267526,0.270206,0.267897,0.267466,0.269917,0.267086,0.268477,0.268036,0.267416,0.272406,0.267616,0.267156,0.273196,0.269496,0.269536,0.270486,0.269437,0.267626,0.270176,0.267246,0.268886,0.268477,0.270866,0.270017,0.268296,0.267327,0.269506,0.269406,0.267806,0.269706,0.271297,0.268686,0.269826,0.268527,0.269336,0.270787,0.269016,0.271427,0.276586,0.269957,0.270396,0.268367,0.267886,0.269577,0.267736,0.279046,0.270727,0.267426,0.265897,0.271276,0.268026,0.265866,0.268996,0.267277,0.267196,0.267526,0.269236,0.270616,0.267697,0.267846,0.275106,0.269566,0.267476,0.276256,0.268986,0.266576,0.270646,0.271247,0.267996,0.267776,0.268756,0.270256,0.267716,0.267146,0.270956,0.267666,0.267247,0.273866,0.267207,0.267436,0.270596,0.273536,0.268686,0.268087,0.271076,0.267876,0.267576,0.266136,0.272356,0.267896,0.267287,0.270176,0.268316,0.268406,0.269606,0.272117,0.267306,0.270146,0.266986,0.269086,0.267226,0.267586,0.270517,0.267296,0.266976,0.269477,0.269296,0.267307,0.271026,0.267096,0.272676,0.270006,0.267196,0.269486,0.267197,0.267016,0.269167,0.268477,0.265786,0.268557,0.273496,0.267456,0.269936,0.267666,0.268736,0.270706,0.267307,0.273966,0.275817,0.267326,0.267366,0.268887,0.267876,0.268657,0.269216,0.268887,0.271756,0.267196,0.269637,0.270226,0.267206,0.266447,0.272586,0.267827,0.267696,0.269086,0.267707,0.269256,0.271716,0.268846,0.270076,0.266807,0.266926,0.269886,0.269776,0.267636,0.268266,0.269826,0.266826,0.267277,0.267806,0.267727,0.270876,0.269586,0.267607,0.269436,0.267486,0.279886,0.283396,0.280836,0.285526,0.285236,0.279796,0.281786,0.293846,0.287866,0.289716,0.294976,0.475383,0.283936,0.267977,0.272226,0.267427,0.267136,0.267876,0.272076,0.268926,0.267676,0.268936,0.270506,0.269087,0.266826,0.274576,0.267686,0.267356,0.271747,0.267396,0.267216,0.267347,0.268626,0.268557,0.267236,0.267737,0.271836,0.268126,0.267457,0.271936,0.266797,0.266366,0.270436,0.278086,0.270547,0.269546,0.270467,0.267126,0.267506,0.267137,0.269316,0.266936,0.266907,0.271246,0.268517,0.267036,0.269666,0.269747,0.266026,0.269977,0.267876,0.270107,0.270627,0.267176,0.270517, +0.919264,0.814368,0.804736,0.798816,0.816,0.803776,0.985024,1.05536,0.795104,0.805952,0.801536,0.797632,0.811872,0.810144,0.804736,0.805184,0.798688,0.804288,0.804384,0.795968,0.802656,0.801664,0.810752,0.802752,0.794176,0.81424,0.80208,0.843328,0.809408,0.805216,0.809632,0.800128,0.797376,0.809056,0.80192,0.867584,0.801088,0.797696,0.80944,0.801632,0.7944,0.804768,0.806624,0.801408,0.801952,0.805184,0.80464,0.80112,0.8,0.812576,0.804416,0.81072,0.814848,0.820064,0.825952,0.827968,0.869792,0.82816,0.828224,0.833888,0.832416,0.812992,0.820096,0.823744,0.810368,0.804256,0.799872,0.806944,0.797536,0.794464,0.810656,0.801632,0.806368,0.805408,0.796128,0.81216,0.799552,0.832704,0.805216,0.800288,0.809952,0.802304,0.795168,0.812224,0.804,1.06054,1.07466,0.794752,0.807648,0.799328,0.799072,0.805312,0.80288,0.802912,0.8008,0.795392,0.805312,0.800512,0.800416,0.802848,0.80304,0.80448,0.803808,0.794912,0.809568,0.800832,0.824608,0.8024,0.812064,0.804096,0.801344,0.794176,0.814848,0.803776,1.02579,0.80064,0.79968,0.808864,0.798528,0.79488,0.80272,0.805824,0.805216,0.800896,0.799872,0.803904,0.799552,0.795616,0.806784,0.801056,0.802592,0.80864,0.798368,0.807328,0.804896,0.795936,0.804736,0.807136,0.807104,0.800992,0.794528,0.807296,0.797792,0.815328,0.806048,0.804032,0.805216,0.800384,0.794496,0.810976,0.801472,1.0736,1.11866,0.796672,0.805216,0.79952,0.797568,0.80384,0.807872,0.80592,0.801056,0.795424,0.814976,0.801376,0.79472,0.804768,0.803744,0.805056,0.802176,0.797088,0.816768,0.815936,0.841888,0.805376,0.812224,0.809952,0.809088,0.796608,0.810688,0.80256,0.924256,0.803456,0.797152,0.803616,0.805216,0.798368,0.803744,0.8072,0.804896,0.800992,0.795168,0.807648,0.798688,0.794848,0.808032,0.806176,0.803136,0.804672,0.796736,0.806176,0.797536,0.795616,0.805056,0.804896,0.806752,0.802816,0.794784,0.80816,0.799168,0.815136,0.804288,0.809472,0.8064,0.799296,0.795264,0.812992,0.802304,1.08112,0.975264,0.804096,0.809184,0.799072,0.795232,0.808384,0.803712,0.803008,0.80224,0.794688,0.804512,0.803232,0.795872,0.802688,0.798336,0.805312,0.800864,0.79408,0.811744,0.80016,0.793888,0.80672,0.802368,0.806176,0.801088,0.794848,0.817408,0.801728,0.852608,1.03331,0.80176,0.804128,0.795904,0.796352,0.812768,0.802272,0.824768,0.800288,0.797056,0.80608,0.797504,0.796256,0.804256,0.800448,0.808384,0.802976,0.79456,0.803072,0.800384,0.79584,0.801376,0.803712,0.803232,0.799872,0.798976,0.806048,0.797504,0.79584,0.811008,0.801536,0.805632,0.806112,0.794752,0.812896,0.80352,0.841216,0.808576,0.804704,0.804928,0.800192,0.795488,0.8088,0.809696,0.927328,0.801632,0.803776,0.804512,0.802816,0.79584,0.803296,0.8056,0.799808,0.800768,0.794784,0.809952,0.799296,0.79504,0.805504,0.815264,0.806944,0.80656,0.797248,0.80752,0.801536,0.798656,0.807328,0.801824,0.81056,0.799904,0.793728,0.811008,0.80208,0.833984,0.970784,0.804576,0.805632,0.803424,0.79568,0.807712,0.803616,0.84496,0.81648,0.800928,0.809888,0.800992,0.80064,0.811296,0.834272,0.809248,0.808704,0.799168,0.812192,0.80576,0.825696,0.81008,0.796352,0.808416,0.80048,0.796864,0.812416,0.803072,0.808224,0.808352,0.798176,0.812512,0.806336,0.933568,1.03165,0.79824,0.808288,0.79936,0.797248,0.80608,0.80128,0.805024,0.803072,0.793312,0.809376,0.802048,0.811648,0.80176,0.810976,0.80592,0.802624,0.796352,0.810144,0.803488,1.06144,1.28112,0.794816,0.805376,0.797056,0.799168,0.805664,0.806784,0.80304,0.801248,0.79296,0.806048,0.803712,0.79504,0.80592,0.804416,0.805664,0.81024,0.802272,0.813152,0.804704,0.852096,0.804064,0.8056,0.811168,0.801152,0.795072,0.80816,0.80608,0.833984,0.8008,0.795776,0.80512,0.800384,0.800224,0.803744,0.802752,0.809056,0.8,0.793856,0.805056,0.801792,0.7968,0.802048,0.806176,0.80656,0.800256,0.800384,0.804416,0.801472,0.793952,0.805728,0.801504,0.805376,0.80576,0.79504,0.813664,0.80528,0.837696,0.802496,0.802464,0.80528,0.80112,0.79552,0.811296,0.800352,0.95136,0.840576,0.797952,0.806464,0.803712,0.794752,0.802688,0.80944,0.805088,0.810208,0.7968,0.807232,0.802144,0.79504,0.80432,0.802176,0.8048,0.80208,0.79584,0.807648,0.805152,0.810144,0.804096,0.833856,0.835104,0.830304,0.811328,0.810112,0.810848,0.810592,0.803264,0.80432,0.808128,0.80688,0.80752,0.803808,0.799968,0.818208,0.811648,0.847616,0.831424,0.80064,0.815456,0.799776,0.798912,0.806912,0.806464,0.804928,0.805984,0.796,0.80784,0.799392,0.796608,0.806848,0.799616,0.808576,0.807712,0.79568,0.809728,0.8,0.810976,0.80224,0.807968,0.807328,0.799488,0.79408,0.816352,0.805056,1.05597,0.806048,0.796832,0.8048,0.798048,0.795136,0.812,0.801888,1.08445,0.800608,0.796192,0.80592,0.808896,0.794784,0.80656,0.803776,0.805056,0.798016,0.795072,0.806848,0.799968,0.806624,0.808288,0.802304,0.806016,0.804448,0.802464,0.811552,0.801792,1.07962,1.0441,0.797056,0.806656,0.797952,0.797088,0.80432,0.801344,0.80832,0.804736,0.79664,0.81168,0.799424,0.794112,0.809408,0.802208,0.805344,0.805536,0.756128,0.807904,0.801728,0.765312,0.802272,0.806944,0.760224,0.801472,0.761312,0.77024,0.807168,0.800064,0.758176,0.803584,0.76176,0.798528,0.796512,0.760576,0.804,0.771392,0.805376,0.753952,0.760672,0.812928,0.76144,0.76224,0.806016,0.863584,0.799552,0.795104,0.807904,0.799648,0.796096,0.811552,0.799904,0.814656,0.801056,0.79808,0.809568,0.801248,0.824064,0.972,0.804704,0.810368,0.805888,0.79504,0.80944,0.810912,0.832768,0.827008,0.802656,0.810176,0.799392,0.795648,0.807808,0.804512,0.804512,0.806272,0.795232,0.806336,0.801728,0.7968,0.817088,0.801536,0.807968,0.801792,0.794464,0.813024,0.801024,0.795712,0.804864,0.80112,0.806304,0.80656,0.796576,0.810048,0.802112,0.94304,0.81296,0.801536,0.804416,0.802912,0.79488,0.809152,0.807392,0.819616,0.807136,0.797952,0.809856,0.816384,0.797088,0.804608,0.810272,0.80432,0.805408,0.795392,0.807648,0.803168,0.796,0.819584,0.803168,0.80608,0.80336,0.796064,0.82224,0.805856,1.02739,0.829632,0.799392,0.8048,0.799616,0.796064,0.83632,0.80512,0.808992,0.801056,0.80368,0.806752,0.802752,0.80352,0.808992,0.795456,0.804704,0.799872,0.796288,0.802368,0.805376,0.809216,0.799296,0.796736,0.805952,0.80016,0.794432,0.804192,0.802208,0.8024,0.8,0.82608,0.81216,0.798848,0.818944,0.80272,0.800544,0.809664,0.807488,0.797248,0.81088,0.80304,1.08016,0.997248,0.795968,0.806976,0.798752,0.795872,0.803776,0.806208,0.809376,0.975808,0.795072,0.810112,0.799552,0.793952,0.806432,0.80272,0.805824,0.801952,0.795808,0.810048,0.7984,0.800736,0.80352,0.799808,0.808416,0.80272,0.795968,0.811552,0.803456,0.840352,1.10512,0.8024,0.803776,0.79904,0.796224,0.811232,0.808864,0.815104,0.802688,0.796032,0.8088,0.800896,0.80848,0.803744,0.803872,0.80432,0.811392,0.797376,0.806144,0.798464,0.795552,0.809792,0.80656,0.810752,0.80224,0.793568,0.814912,0.802752,0.84864,1.25888,0.797408,0.809664,0.801696,0.800512,0.808384,0.802016,0.804,0.801952,0.794688,0.806336,0.799456,0.793376,0.804448,0.808608,0.806816,0.802784,0.797376,0.80928,0.79952,0.794752,0.808224,0.804,0.809792,0.807808,0.795648,0.813376,0.801216,0.8504,0.808928,0.802144,0.806656,0.815072,0.795968,0.812224,0.806432,0.866528,1.00906,0.796128,0.812,0.80272,0.79488,0.803232,0.813408,0.803744,0.799904,0.801376,0.806688,0.799648,0.796384,0.805728,0.803616,0.805952,0.802656,0.79392,0.81392,0.805856,0.836224,1.09821,0.805248,0.805056,0.796736,0.793856,0.81008,0.810464,0.804032,0.802944,0.795168,0.807456,0.795904,0.797376,0.805984,0.805024,0.804128,0.80352,0.795776,0.805472,0.806528,0.796096,0.805856,0.804896,0.80784,0.800864,0.796928,0.815808,0.801152,0.849472,0.809824,0.804448,0.804512,0.800544,0.794976,0.812064,0.805472,0.986112,1.28784,0.807808,0.807008,0.806592,0.79728,0.80176,0.804864,0.805504,0.80112,0.796768,0.804064,0.800416,0.796032,0.808768,0.80336,0.807392,0.802496,0.795488,0.816384,0.799328,0.8416,1.01293,0.798912,0.807424,0.797792,0.796032,0.813248,0.802688,0.839456,0.808352,0.798624,0.808384,0.801632,0.79584,0.811936,0.811136,0.803744,0.806176,0.800512,0.80688,0.805632,0.817984,0.875968,0.814848,0.805184,0.800896,0.796288,0.814528,0.808448,0.813088,0.804256,0.801536,0.806944,0.802816,0.79936,0.814208,0.804576,0.80704,0.81632,0.804352,0.816672,0.808,0.989824,0.803552,0.798624,0.807712,0.804064,0.796256,0.80224,0.807392,0.807168,0.805952,0.796288,0.808544,0.803136,0.834496,0.9296,0.806176,0.81152,0.802048,0.795808,0.810432,0.809824,0.809056,0.803904,0.796576,0.811968,0.80208,0.801408,0.806784,0.803552,0.806944,0.806112,0.796896,0.813952,0.80752,0.923456,0.965568,0.801472,0.805568,0.796704,0.798048,0.80544,0.808128,0.806592,0.800192,0.796192,0.807328,0.799776,0.799264,0.806048,0.803872,0.805536,0.80272,0.794624,0.805664,0.799648,0.796736,0.803328,0.807968,0.807232,0.800928,0.794976,0.813664,0.800576,0.843168,0.802304,0.802304,0.805088,0.807264,0.79552,0.812736,0.8032,0.892288,0.800224,0.799776,0.80592,0.797376,0.796608,0.804704,0.805696,0.80576, +0.604352,0.489344,0.488064,0.485344,0.481824,0.491136,0.487232,0.693152,0.49552,0.484448,0.489216,0.484736,0.489536,0.484896,0.484768,0.48048,0.4912,0.486464,0.486912,0.497632,0.488864,0.521792,1.04925,0.4936,0.485312,0.482944,0.477792,0.484288,0.484352,0.489792,0.487296,0.488352,0.721824,0.485152,0.482656,0.490752,0.482688,0.4888,0.487904,0.481024,0.4808,0.492288,0.483808,0.485632,0.486656,0.486112,0.485568,1.2544,0.478688,0.484768,0.484224,0.479584,0.492736,0.482016,0.488256,0.498336,0.486496,0.507456,0.98176,0.478688,0.489984,0.487456,0.48944,0.495488,0.482016,0.481184,0.492864,0.484128,0.982176,0.902848,0.492768,0.486016,0.488896,0.482816,0.488704,0.4864,0.47968,0.496768,0.48544,0.488096,0.487552,0.486688,0.486208,0.4832,0.492576,0.491168,0.490912,0.48384,0.679392,0.484864,1.21789,0.993184,0.488288,0.486816,0.482208,0.48272,0.486688,0.48576,0.479008,0.487648,0.487456,0.860416,0.488544,0.481888,0.486272,0.48544,0.479808,0.487232,0.480192,0.478464,0.486208,0.481472,0.480256,0.488288,0.482912,0.666848,0.693056,0.490976,0.483552,0.485312,0.481184,0.488384,0.48096,0.47792,0.499168,0.490304,0.480992,0.484576,0.489856,0.485344,0.9152,0.487392,0.484288,0.484,0.481728,0.483712,0.490144,0.47872,0.492576,0.483104,0.698144,0.836096,0.618816,0.492256,0.482624,0.48736,0.48848,0.481056,0.480544,0.488992,0.480672,0.479232,0.48496,0.486368,0.692512,0.941344,0.486848,0.486368,0.483808,0.479296,0.488128,0.480608,0.484544,0.492192,0.482336,0.480288,0.48592,0.48928,0.508704,0.714336,0.494368,0.48592,0.482592,0.478624,0.486944,0.486432,0.480544,0.494496,0.481408,0.487872,0.485344,0.485472,0.49968,0.72784,0.492992,0.488832,0.48576,0.482688,0.489408,0.48208,0.487168,0.49584,0.48256,0.479584,0.490016,0.483168,0.486336,0.48736,0.490976,0.496736,0.485824,0.480128,0.486816,0.481088,0.482112,0.497216,0.483264,0.477632,0.487552,0.48624,0.499168,0.483232,0.617376,0.486048,0.480512,0.485248,0.494048,0.4856,0.4872,0.49216,0.4832,0.48528,0.48592,0.48528,0.505312,0.520256,0.620448,0.494464,0.480064,0.48896,0.484704,0.481888,0.488064,0.48736,0.481856,0.47936,0.485248,0.483872,0.51408,0.565184,0.628064,0.489056,0.485856,0.486976,0.486048,0.485952,0.487616,0.48944,0.481088,0.480992,0.486752,0.483904,0.508352,1.00954,0.487552,0.493248,0.48384,0.48768,0.486464,0.482304,0.486336,0.493056,0.487136,0.678688,0.48432,0.493952,0.489792,0.485568,0.495456,0.487744,0.488768,0.480352,0.484672,0.491712,0.481376,0.494144,0.487072,0.51392,1.12864,0.482624,0.489344,0.489856,0.4848,0.485056,0.487808,0.487104,0.486976,0.485888,0.990176,0.982272,0.492352,0.492064,0.485728,0.481408,0.488896,0.484896,0.486144,0.48832,0.488544,1.38269,1.09808,0.481312,0.48368,0.481664,0.481888,0.489504,0.479776,0.47808,0.490208,0.489472,0.646848,1.18093,0.488864,0.484576,0.483168,0.479808,0.4856,0.483168,0.488,0.497888,0.485952,1.01987,1.06323,0.49232,0.486176,0.489248,0.479072,0.485632,0.484032,0.486688,0.49568,0.483776,0.480192,0.483552,0.489152,0.481632,0.482624,0.616928,0.488,0.488448,0.487936,0.490016,0.483712,0.482752,0.491968,0.48352,0.484544,0.484896,0.489408,0.503488,0.481312,0.569152,0.491488,0.488832,0.485344,0.490016,0.4896,0.4896,0.49216,0.491168,0.900128,0.485216,0.485312,0.834752,0.483808,0.478464,0.488896,0.48192,0.487008,0.490496,0.491264,1.02006,0.645056,0.484224,0.489472,0.481536,0.479552,0.485568,0.480032,0.489184,0.48992,0.48032,0.48688,0.491264,0.486976,0.680928,0.93952,0.48432,0.4896,0.482912,0.489408,0.487552,0.480352,0.477792,0.495776,0.48288,0.488832,0.49648,0.48384,0.506144,0.72112,0.486848,0.494048,0.491488,0.478656,0.491168,0.4808,0.48432,0.500672,0.486272,0.482816,0.492192,0.489952,0.5064,0.901312,0.494176,0.487424,0.484608,0.483168,0.489248,0.481824,0.479584,0.49792,0.481312,0.487264,0.488384,0.488192,0.487968,0.935904,0.47936,0.493056,0.485024,0.48864,0.485248,0.48192,0.4816,0.491104,0.48224,0.690784,0.484768,0.483968,0.487424,0.484544,0.489376,0.48784,0.484896,0.485632,0.48448,0.48656,0.486592,0.491808,0.481856,0.482016,0.485728,0.485856,0.484384,0.485568,0.617792,0.490496,0.483136,0.48736,0.489856,0.481792,0.479104,0.489888,0.481792,0.698272,0.482784,0.486336,0.484256,0.4848,0.48976,0.488384,0.48592,0.477568,0.482688,0.481152,0.479136,0.489632,0.482848,0.480672,0.485696,0.486016,0.484992,0.482592,0.623008,0.486624,0.482272,0.486144,0.490272,0.483008,0.48432,0.494368,0.482016,0.482368,0.490624,0.482912,0.515744,0.722304,0.49504,0.486816,0.480704,0.47808,0.486624,0.480224,0.485952,0.48704,0.481024,0.484736,0.49072,0.485152,0.510016,1.1985,0.49088,0.490816,0.48912,0.484576,0.489536,0.48112,0.485568,0.48864,0.483296,0.70192,1.13555,0.494528,0.48448,0.48288,0.488768,0.489568,0.479744,0.4808,0.5008,0.48,0.48752,0.483968,0.486272,0.515232,0.96672,0.494816,0.486496,0.48336,0.480576,0.488896,0.482816,0.48736,0.50784,0.500064,0.49328,0.485856,0.485632,0.488256,0.484544,0.485888,0.984992,0.485056,0.496192,0.481216,0.479712,0.48832,0.485088,0.486464,0.487968,0.48928,0.509536,0.899648,0.492096,0.485632,0.48288,0.487744,0.487968,0.480352,0.48192,0.49376,0.482432,0.48512,0.486432,0.487936,0.501728,0.721152,0.484,0.487072,0.48688,0.48832,0.489216,0.482528,0.489216,0.494304,0.486592,0.480864,0.488448,0.486688,0.499296,0.563776,0.496032,0.49056,0.4816,0.476992,0.48928,0.48576,0.485024,0.491552,0.480864,0.489216,0.491872,0.483712,0.510688,0.897408,0.48848,0.484832,0.485664,0.486112,0.489792,0.484544,0.480032,0.49408,0.481728,0.479264,0.486848,0.487392,0.501152,1.024,0.48928,0.486656,0.488512,0.479744,0.484576,0.487712,0.47856,0.485536,0.484608,0.715904,0.486944,0.484256,0.483968,0.48384,0.485696,0.486496,0.483104,0.480544,0.485024,0.484864,0.479872,0.4912,0.485568,0.72544,0.482496,0.485408,0.484032,0.480736,0.479712,0.48368,0.482336,0.47952,0.486656,0.482624,0.480608,0.490976,0.487552,0.793312,1.12858,0.493504,0.48624,0.489344,0.481472,0.498592,0.481568,0.486368,0.490016,0.480512,0.47936,0.486144,0.4944,0.491936,1.1143,0.48192,0.48544,0.483616,0.480288,0.485952,0.48352,0.487328,0.49344,0.483264,0.703136,0.8456,0.616672,0.484384,0.481536,0.48064,0.484608,0.478464,0.4792,0.486304,0.480928,0.480672,0.486208,0.485888,0.78432,0.9112,0.486976,0.491136,0.48336,0.481024,0.489728,0.49216,0.477952,0.48976,0.482944,0.485312,0.486944,0.48272,0.508928,1.02624,0.486816,0.48512,0.481728,0.481376,0.487744,0.47968,0.48384,0.49056,0.48704,0.480032,0.483168,0.488064,0.488064,0.50576,0.617344,0.487552,0.484,0.48224,0.495968,0.482432,0.487968,0.496416,0.483808,0.482016,0.489696,0.489248,0.500288,0.768928,0.486272,0.49616,0.49232,0.488576,0.491328,0.483072,0.476992,0.49104,0.484512,0.479424,0.489728,0.489696,0.49408,0.517952,0.621408,0.48608,0.491648,0.478304,0.48768,0.480832,0.478624,0.49232,0.481408,0.485056,0.485184,0.482496,0.509728,0.68144,0.618816,0.486976,0.48928,0.485632,0.489984,0.479136,0.485664,0.49248,0.482176,0.479936,0.484992,0.492352,0.509696,0.487968,0.619104,0.49216,0.480224,0.4856,0.495776,0.483712,0.487168,0.490016,0.483712,0.488512,0.491328,0.489344,0.4872,0.484768,0.61776,0.486848,0.493408,0.48544,0.487968,0.480384,0.480224,0.49488,0.488288,0.487648,0.486368,0.487136,0.503968,0.51024,0.62288,0.488768,0.482784,0.481728,0.48736,0.483712,0.48272,0.495296,0.482688,0.485728,0.483936,0.487968,0.516416,0.510624,0.621088,0.485984,0.485024,0.479488,0.489408,0.482368,0.479168,0.491968,0.483744,0.479072,0.488864,0.486752,0.504,0.485984,0.621504,0.483808,0.480288,0.48192,0.487552,0.485408,0.480544,0.493984,0.482656,0.486624,0.484384,0.483904,0.59504,0.595488,0.620448,0.485344,0.491232,0.491136,0.488832,0.479712,0.490688,0.489376,0.481408,0.481664,0.485344,0.486816,0.523264,0.479808,0.482848,0.484928,0.486464,0.483872,0.482752,0.47984,0.479424,0.49008,0.4816,0.48608,0.485664,0.482912,0.69536,0.4808,0.480864,0.489792,0.48528,0.478176,0.484512,0.478944,0.490656,0.48464,0.481344,0.482432,0.485344,0.486176,0.843392,0.839008,0.615328,0.487904,0.484544,0.486688,0.490464,0.481824,0.480736,0.494048,0.482816,0.479488,0.489024,0.482976,0.510336,1.13101,0.483264,0.486368,0.484512,0.487456,0.481568,0.483008,0.4872,0.488512,0.489024,0.715648,0.49056,0.485568,0.4848,0.713952,0.479872,0.48432,0.481984,0.484864,0.487936,0.482656,0.486816,0.484928,0.486176,0.829728,1.11686,0.48848,0.48336,0.484064,0.48576,0.489312,0.484256,0.481984,0.496608,0.486304,0.719552,1.11456,0.621568,0.49584,0.48032,0.478848,0.486688,0.479584,0.487936,0.487296,0.485376,0.47952,0.488416,0.488544,0.513376,0.550848,0.61808,0.494944,0.488832,0.48944,0.488576,0.482496,0.487296,0.494592,0.481568,0.487008,0.485472,0.48256,0.508896,0.483776,0.61856,0.488448,0.48208,0.478112,0.492,0.484768,0.480928,0.493472,0.481376,0.489152,0.485024,0.48544,0.58992,0.720032,0.619488,0.485664,0.482816,0.487584,0.482944,0.482464,0.487232,0.487104,0.483744,0.488064,0.484672,0.488832,0.511968, +0.467168,0.208608,0.190432,0.191936,0.187904,0.189824,0.188864,0.190144,0.191904,0.189696,0.185664,0.19472,0.188832,0.189152,0.187584,0.189024,0.186848,0.19312,0.186848,0.184864,0.194016,0.189536,0.184768,0.192064,0.188,0.186624,0.194912,0.18864,0.196288,0.19728,0.195136,0.184192,0.189344,0.18944,0.436256,0.120576,0.194784,0.1944,0.604896,0.114176,0.194688,0.330432,0.187392,0.19296,0.205792,0.189312,0.191936,0.204608,0.187552,0.18944,0.19328,0.188416,0.189856,0.19264,0.187264,0.19008,0.19328,0.182624,0.186528,0.193184,0.184576,0.18928,0.193376,0.184288,0.19408,0.190784,0.184736,0.189664,0.191168,0.183648,0.188736,0.188864,0.187872,0.187488,0.188736,0.532352,0.127424,0.191552,0.195168,0.122976,0.186816,0.1872,0.212512,0.122176,0.19296,0.649344,0.18576,0.184544,0.189536,0.185184,0.188288,0.19056,0.18576,0.186592,0.187104,0.184864,0.20656,0.187456,0.183296,0.189184,0.186784,0.187584,0.187936,0.190208,0.184448,0.188512,0.193056,0.186272,0.195616,0.193376,0.300416,0.191168,0.190688,0.2024,0.118208,0.189504,0.194176,0.117312,0.189792,0.192,0.1976,0.184448,0.192992,0.208832,0.19008,0.193568,0.192352,0.186432,0.19424,0.18896,0.189248,0.190176,0.19312,0.1848,0.190944,0.1984,0.188256,0.189024,0.188096,0.184384,0.188224,0.187968,0.183328,0.187712,0.1888,0.184576,0.188032,0.186656,0.187328,0.188576,0.18624,0.184064,0.190208,0.19168,0.184096,0.191008,0.194144,0.34192,0.12432,0.190048,0.195968,0.11616,0.190784,0.193792,0.398272,0.185504,0.191392,0.21216,0.187904,0.19136,0.18672,0.186048,0.19168,0.186688,0.183264,0.193472,0.186176,0.18384,0.190944,0.187648,0.185952,0.191168,0.187776,0.18464,0.191808,0.187328,0.184864,0.19184,0.19408,0.190176,0.200256,0.197696,0.198464,0.199616,0.209792,0.192928,0.189824,0.188864,0.543424,0.723328,0.122496,0.18992,0.327872,0.189632,0.195136,0.485088,0.1856,0.190752,0.193984,0.18848,0.192096,0.208544,0.121248,0.187328,0.195264,0.116224,0.117216,0.197504,0.117824,0.118848,0.190464,0.128,0.11696,0.190336,0.115776,0.12272,0.1864,0.117888,0.122368,0.187328,0.117312,0.11664,0.186272,0.11632,0.12496,0.187936,0.1192,0.116896,0.188608,0.123072,0.117184,0.199456,0.122976,0.299456,0.19552,0.185568,0.665664,0.293024,0.188704,0.187552,0.185536,0.193984,0.186272,1.29629,0.18736,0.193216,0.187776,0.188,0.19744,0.193152,0.187872,0.19536,0.185472,0.18768,0.18816,0.188128,0.186144,0.188128,0.272768,0.11696,0.18624,0.194976,0.618848,0.116096,0.18816,0.395744,0.189056,0.18672,0.633696,0.188352,0.191168,0.184384,0.188096,0.190688,0.186752,0.186752,0.193088,0.191424,0.188544,0.188864,0.186336,0.190816,0.191008,0.185696,0.201664,0.191168,0.194912,0.186496,0.186848,0.190496,0.193152,0.190368,0.189152,0.189504,0.187552,0.192096,0.221248,0.119904,0.195648,0.196928,0.291072,0.18976,0.193888,0.425344,0.272896,0.188384,0.32576,0.189408,0.184928,0.191488,0.511392,0.187616,0.186112,0.20816,0.188128,0.184864,0.192768,0.185856,0.186208,0.1896,0.18416,0.184448,0.192704,0.184928,0.186304,0.19072,0.192128,0.193984,0.186272,0.188576,0.19008,0.271424,0.11968,0.188256,0.194592,0.753056,0.116864,0.191776,0.3016,0.185088,0.187776,0.222336,0.189312,0.191936,0.191712,0.186048,0.18832,0.191296,0.184704,0.188512,0.189952,0.186816,0.187904,0.190624,0.18656,0.185472,0.188864,0.186656,0.185696,0.191808,0.185376,0.187968,0.193024,0.188896,0.187328,0.19008,0.188096,0.187808,0.190304,0.188512,0.189152,0.189952,0.329856,0.113312,0.190016,0.184704,0.119136,0.193056,0.193408,0.571264,0.119552,0.191392,0.240288,0.185632,0.189184,0.3136,0.193088,0.199008,0.19456,0.186112,0.192672,0.193856,0.188288,0.18816,0.196288,0.18864,0.185824,0.186752,0.188896,0.18528,0.187904,0.18928,0.186976,0.187072,0.189664,0.185952,0.188544,0.19168,0.18528,0.190336,0.1888,0.185312,0.188608,0.18704,0.185248,0.187008,0.286208,0.115264,0.186144,0.196704,0.115808,0.187456,0.194208,0.114496,0.187072,0.188448,0.5848,0.184416,0.187712,0.208832,0.45328,0.186752,0.188256,0.217056,0.186656,0.187136,0.187712,0.185696,0.187296,0.191232,0.185184,0.191232,0.191904,0.185248,0.189056,0.186816,0.19184,0.18752,0.192896,0.190592,0.187936,0.191648,0.182688,0.185984,0.189184,0.184384,0.18592,0.1944,0.185024,0.187744,0.219968,0.1176,0.185888,0.199008,0.116608,0.190368,0.19104,0.113696,0.18656,0.191488,0.261696,0.114912,0.19328,0.27808,0.186528,0.193312,0.196096,0.190048,0.1912,0.188288,0.188288,0.187648,0.1904,0.186304,0.189664,0.193152,0.193248,0.186208,0.188928,0.196608,0.188672,0.188288,0.18672,0.18464,0.187776,0.188384,0.18672,0.187776,0.186976,0.184576,0.188896,0.187648,0.186912,0.188864,0.188608,0.117472,0.186208,0.194176,0.116064,0.186112,0.195872,0.114272,0.186336,0.186752,0.185152,0.2264,0.187232,0.324768,0.185216,0.18912,0.18688,0.476768,0.188256,0.190464,0.315648,0.185408,0.188416,0.188352,0.186496,0.187904,0.188352,0.184224,0.185536,0.187776,0.18528,0.187136,0.192512,0.192032,0.190368,0.187424,0.185504,0.185664,0.19152,0.18432,0.185408,0.187936,0.185472,0.188512,0.195296,0.118432,0.186752,0.193472,0.803328,0.190176,0.188992,0.219744,0.502752,0.188928,0.186848,0.3432,0.187424,0.189984,0.186464,0.188896,0.188544,0.1864,0.1896,0.18928,0.185952,0.186624,0.193088,0.186048,0.186464,0.189376,0.191456,0.183264,0.190784,0.187584,0.187072,0.19024,0.1904,0.188832,0.19024,0.288576,0.117184,0.193056,0.20192,0.124032,0.18896,0.19088,0.1216,0.1872,0.19136,0.188288,0.116,0.191424,0.21232,0.503424,0.188288,0.1928,0.324256,0.187232,0.18944,0.234656,0.183904,0.186336,0.188032,0.187328,0.18816,0.196736,0.185248,0.186656,0.196,0.18608,0.195936,0.186144,0.186176,0.1872,0.187712,0.186592,0.185664,0.185504,0.185632,0.188128,0.187744,0.186112,0.189056,0.271872,0.116384,0.185408,0.199648,0.121184,0.187008,0.2,0.118912,0.187552,0.186144,0.376608,0.114528,0.192256,0.322784,0.187936,0.192448,0.196704,0.188512,0.190528,0.18608,0.183072,0.189216,0.18848,0.191168,0.190016,0.213216,0.18928,0.188352,0.192736,0.186592,0.186656,0.194944,0.186144,0.184672,0.190208,0.187072,0.18416,0.18912,0.188448,0.187744,0.189376,0.193664,0.185056,0.190112,0.186976,0.186048,0.194176,0.227104,0.116128,0.190368,0.20384,0.116032,0.189984,0.188352,0.437408,0.117728,0.193984,0.19104,0.186272,0.188704,0.193664,0.185504,0.187136,0.188416,0.188448,0.188768,0.18624,0.188128,0.18432,0.18704,0.18928,0.189312,0.188992,0.186304,0.187872,0.188384,0.18576,0.187008,0.190496,0.185952,0.184,0.185344,0.18608,0.186848,0.187776,0.187456,0.196512,0.19344,0.18592,0.191712,0.19008,0.315392,0.115488,0.18688,0.185568,0.117024,0.188736,0.192192,0.723136,0.116224,0.190016,0.195424,0.189792,0.191968,0.265984,0.188768,0.18816,0.190144,0.500352,0.187008,0.1912,0.187296,0.18624,0.189216,0.186624,0.186528,0.189184,0.1856,0.185568,0.191872,0.187872,0.185696,0.192768,0.186752,0.184448,0.18896,0.193792,0.186624,0.189504,0.187072,0.18528,0.18864,0.319296,0.114016,0.187968,0.204064,0.116448,0.187136,0.193824,0.120448,0.187264,0.19152,0.209632,0.117088,0.188512,0.314464,0.187872,0.191776,0.31872,0.18848,0.188992,0.200832,0.19088,0.188992,0.193472,0.192256,0.186016,0.188448,0.19392,0.186816,0.191328,0.19056,0.184736,0.190752,0.190304,0.185792,0.190336,0.191456,0.187584,0.189952,0.191936,0.187648,0.190656,0.190432,0.188096,0.186752,0.328864,0.122784,0.186336,0.188576,0.12112,0.186816,0.194752,0.127232,0.185088,0.18768,0.119776,0.186368,0.188032,0.666048,0.186176,0.185888,0.193024,0.175392,0.185216,0.189568,0.207776,0.188384,0.191168,0.196288,0.193856,0.19408,0.190112,0.187616,0.186304,0.191136,0.186368,0.189344,0.190336,0.186624,0.186368,0.191808,0.185728,0.188864,0.204928,0.186592,0.186304,0.190112,0.184,0.185728,0.265888,0.115136,0.187776,0.197568,0.117248,0.18736,0.194144,0.12976,0.187808,0.187584,0.217344,0.117856,0.193248,0.322592,0.18672,0.190848,0.2256,0.188704,0.18912,0.18624,0.185408,0.188416,0.191488,0.19088,0.19168,0.1904,0.1912,0.188,0.195008,0.189792,0.187936,0.194528,0.186432,0.188416,0.192384,0.187712,0.18848,0.191392,0.186496,0.185376,0.1928,0.186752,0.186304,0.192,0.187072,0.187616,0.188544,0.246272,0.122624,0.189312,0.198784,0.12048,0.1872,0.192672,0.358848,0.117984,0.186976,0.284704,0.189056,0.190016,0.203104,0.49952,0.186272,0.191072,0.238496,0.187936,0.186016,0.191552,0.185984,0.18864,0.190688,0.186272,0.184384,0.189152,0.185632,0.186976,0.191008,0.183328,0.186496,0.189344,0.185408,0.18608,0.193408,0.187584,0.187616,0.188256,0.185184,0.190144,0.319584,0.116512,0.188544,0.193568,0.1168,0.188672,0.193504,0.12496,0.186624,0.18656,0.121088,0.1872,0.187104,0.26352,0.11728,0.189216,0.2272,0.193568,0.192256,0.186464,0.187808,0.192384,0.186368,0.18752,0.1904,0.18752,0.18672,0.190912,0.185056,0.187584,0.191584,0.184224,0.1904,0.192416,0.190912,0.18944,0.188288,0.194432,0.189216,0.188448,0.186944,0.188896,0.18912,0.191936,0.186336,0.184672,0.196992,0.250624,0.11648,0.18864,0.193856,0.115648,0.190432,0.193984,0.116704, diff --git a/analysis/data/23.csv b/analysis/data/23.csv new file mode 100644 index 0000000..8b2a7c7 --- /dev/null +++ b/analysis/data/23.csv @@ -0,0 +1,4 @@ +16.7135,5.07244,5.49422,3.9284,5.07619,5.94649,5.25948,4.82266,3.94558,5.03068,6.46673,4.8647,5.96744,3.94108,4.70214,6.79375,4.59143,3.84682,3.81904,3.75143,5.721,5.33862,4.10211,3.96673,3.85887,4.99378,7.46873,3.77671,3.68532,3.71847,3.8866,7.02944,3.63274,4.26548,3.71578,3.87854,5.74049,4.52268,3.73573,3.79466,3.64343,3.83387,7.31762,3.68552,3.73086,3.72528,3.79676,4.56671,6.5244,3.69033,3.69364,3.65027,3.88542,7.50121,3.73788,3.67974,3.67063,3.69269,4.3618,6.19863,4.14543,3.77923,3.78279,3.74657,6.60554,3.69288,4.11791,3.86941,3.74579,3.8087,6.84973,3.69575,3.69966,4.04062,3.73092,6.20145,3.76279,3.98389,3.73381,3.95376,3.83919,7.18671,3.67973,3.62988,3.68987,3.79367,6.21685,4.21466,3.68981,3.69016,3.68515,3.75433,7.05007,4.09066,3.82115,3.73553,3.66738,4.39387,6.28496,3.75553,3.69813,4.08073,3.69786,6.84509,3.72259,3.75252,3.7542,3.73453,4.33353,6.94343,3.71694,4.71749,3.72157,3.65165,6.93219,3.72698,3.7068,4.10287,3.71728,4.9956,6.46529,4.04988,3.90454,3.70811,3.75117,7.42249,3.77351,3.71592,3.70806,3.82343,5.66569,4.10297,3.76252,4.14554,3.69792,3.69459,7.76461,3.78614,3.6896,3.67003,3.72108,5.49908,5.19128,3.74725,3.73138,3.74737,3.71248,6.64024,3.72113,4.87216,3.84536,3.72216,5.95718,3.9276,3.68288,3.68153,3.90201,3.98669,7.1858,3.78528,3.72985,3.71465,3.99858,5.44313,5.39882,3.85768,3.70876,3.67183,3.69582,6.97562,3.74835,3.71314,3.71491,3.88462,4.13356,6.69659,3.70774,4.55835,3.70354,3.6906,7.04506,3.74455,3.78439,3.76569,3.68995,4.43556,6.09971,3.99819,3.75365,3.82542,3.68694,7.42988,3.73126,3.70205,3.66394,3.69304,4.14583,6.9083,3.75157,3.70788,3.93891,3.65234,6.73203,3.75397,3.69263,3.99181,3.75684,3.8535,6.57298,3.73156,3.71902,3.7388,3.69616,6.30454,4.11493,3.66901,3.70525,3.68826,3.6795,7.63418,3.7104,3.77464,3.69797,3.67,4.6607,5.67081,3.80852,3.69742,3.70397,3.79384,6.31831,3.70268,3.70963,4.12671,3.69442,3.71775,6.89757,3.72925,4.41634,3.74619,3.70729,5.09065,5.24817,3.71148,3.77068,3.74555,3.68028,7.58817,3.72785,3.70698,3.69507,3.79396,4.10294,6.93047,3.71818,3.83029,3.69898,3.70371,6.17845,3.73371,4.06276,3.94628,3.81695,4.2512,6.90053,3.73054,3.70721,3.7215,3.9026,5.38162,4.97609,3.71057,3.70707,3.79378,4.16778,7.59331,4.02669,3.75294,3.66475,3.63221,4.99467,5.27319,3.71534,3.70381,4.1564,3.69911,6.97557,3.70113,3.88593,3.89239,3.7076,4.0224,7.34534,3.74485,3.67445,3.69157,3.85501,6.30147,3.67215,3.7332,4.12167,3.72265,3.9468,7.05062,3.7619,3.75517,3.70729,3.79807,5.64602,5.03264,3.70513,3.67155,3.70584,3.70421,7.11389,3.74548,4.14342,3.72898,3.66127,4.08809,6.60592,3.72012,3.71448,3.71329,3.99636,5.99044,4.00377,4.04593,3.73125,3.77955,3.9305,6.95721,3.91649,3.71087,3.71043,3.74479,4.8198,5.77816,3.74762,3.88958,3.8248,3.68999,6.82136,3.63427,3.80662,3.63016,3.60755,3.60663,7.06801,3.70731,4.51868,3.72049,3.72363,6.14856,3.97915,3.65134,3.77769,3.67823,4.34599,7.29809,4.68306,5.8903,4.28099,4.02888,8.26544,5.25404,4.64385,3.89004,3.95729,6.84067,5.11271,4.99853,3.87538,3.91114,6.89092,4.89309,4.80309,3.8534,3.96921,7.63115,5.25138,5.73551,3.77803,3.77985,5.64779,4.94795,4.13449,4.21267,3.80658,3.8452,6.49009,3.83125,3.78093,3.89786,3.75704,6.10278,4.57431,3.69823,3.67794,4.11987,3.88588,6.92381,4.71296,6.01916,3.78813,3.75174,6.66562,3.80005,3.94786,3.78802,3.91741,6.30275,3.96939,3.83439,3.69014,3.86237,3.7471,7.01046,3.63196,3.84333,3.69368,3.74217,5.02497,5.29219,3.70939,3.75656,3.6983,3.97675,8.44546,3.76907,3.73925,3.7357,3.70529,5.24823,4.9305,3.77705,4.39898,5.65676,4.93461,8.29559,4.98281,5.0714,4.36846,4.18745,4.49979,6.02918,4.11529,3.93303,3.71227,3.66585,4.09082,7.23743,4.85328,5.68794,4.04005,6.29656,4.78248,5.76268,3.88906,3.90519,6.01705,4.77379,5.32144,3.90067,3.92832,5.39464,4.84487,5.21566,3.98719,3.97046,4.39355,5.99989,3.76266,3.75415,3.73881,3.68624,5.13606,4.89859,3.77424,3.7159,3.66362,3.95868,7.07323,3.66199,3.63891,3.73975,3.73254,3.66551,6.56664,3.78391,3.74962,3.69061,3.64016,5.03797,5.02355,3.77492,3.6778,3.64456,3.73138,6.36966,3.79089,3.72637,3.74346,3.79113,3.78343,6.98129,3.77168,3.70603,3.82895,4.00822,5.39192,4.83326,3.78029,3.86989,3.7155,3.797,7.72684,3.75977,3.75197,3.69573,3.70019,5.32996,5.66015,3.90002,3.72833,3.66978,3.67251,6.60713,3.84043,4.16515,3.88173,4.01283,4.31996,6.37918,3.71378,3.70445,4.2377,4.14461,7.17806,3.68696,3.67529,3.73751,3.78226,4.33131,6.48839,4.03426,3.7304,3.6918,3.68313,6.21955,4.09802,3.71994,3.70258,4.15817,3.71163,7.14882,3.7564,3.75542,3.72235,3.77337,5.25136,6.06568,3.78578,3.70283,3.98656,3.707,7.20419,3.71063,3.70662,3.88572,3.69498,5.27945,4.84405,3.70694,3.82762,3.74261,3.70348,7.4177,3.85732,3.74388,3.79932,3.83972,6.90964,3.72309,3.86116,3.81912,3.76012,4.08117,6.54007,3.73016,3.70321,3.9227,3.75264,6.68505,3.6818,3.67608,3.73261,3.67839,3.66809,6.84879,3.72465,3.74508,3.72913,3.69271,4.21226,7.29966,3.82017,3.72747,3.69772,3.88274,6.86611,3.66517,3.74122,3.71612,3.73093,3.67859,6.90717,3.80594,3.73928,4.10522,3.87685,5.99984,3.89064,3.65684,3.6956,3.74071,3.70006,6.95666,3.73171,3.71819,3.70936,3.78049,4.05599,7.0791,3.76844,3.77485,3.66219,3.9393,6.4484,3.68323,3.70581,3.73306,4.08853,3.73395,6.86515,3.72572,3.68166,3.91913,3.75251,5.49192,4.78662,3.67287,3.67674,3.76148,3.6727,6.57555,3.99505,3.74931,3.70372,3.70459,3.71094,7.48985,3.73359,3.74068,3.97132,3.72245,5.97317,3.85665,3.76938,3.74627,3.675,3.68813,6.9551,3.75377,3.74331,3.83288,3.7393,4.18864,6.43034,3.74233,3.89091,3.72707,3.79354,6.34,3.70046,3.70531,3.82237,3.68827,3.82873,7.4774,3.73565,3.70657,3.66773,3.98713,6.01246,4.82603,4.15764,3.73184,3.74638,3.75728,6.89728,3.73989,3.82866,3.83451,4.05108,5.60016,4.56028,3.7387,3.67751,3.69231,4.25625,6.76172,4.09626,3.79479,3.68912,3.74803,7.13373,3.74922,4.14646,4.46184,4.04745,5.74576,4.28615,3.69739,3.68146,3.73618,3.7754,6.65237,3.79528,3.73555,4.00156,3.79461,4.36827,6.41628,3.69964,3.70535,3.89277,3.66048,6.04745,4.26404,3.97295,3.69433,3.65826,3.67135,7.7754,3.74953,3.72422,3.64394,3.65053,5.22702,4.94985,3.72697,3.83653,3.73227,3.67863,6.6897,3.72284,3.7319,3.99136,3.75345,4.15952,6.58321,3.70252,3.66988,3.70838,3.74437,5.47446,4.57989,3.75304,4.15829,3.72027,3.7023,7.44602,3.7165,3.86443,3.71429,3.87512,5.0097,5.69469,3.74073,4.11593,3.86199,3.89151,5.48244,4.29287,3.93648,3.86136,3.66286,3.78318,6.75661,3.69047,3.74589,3.74347,3.6948,5.59512,4.67744,3.73837,3.67939,3.64643,4.10075,7.62372,3.78533,3.7168,3.71102,3.77076,4.91605,5.43742,3.73893,3.74736,3.74337,3.7078,6.49573,3.75811,3.91601,3.71691,3.6851,3.76504,6.98007,3.70952,3.75692,3.92024,3.71908,5.73454,4.40881,3.73577,3.72967,3.67729,3.92733,7.2086,3.76041,3.78959,3.72054,3.73185,4.47907,7.13612,3.98671,3.71057,3.67981,4.69171,6.35543,3.76182,3.94934,3.6884,3.66779,6.91581,4.07328,3.71676,4.14981,3.74638,5.02411,5.33998,3.7038,3.7093,3.70413,3.6819,7.25504,3.76852,3.82251,3.70666,3.69223,3.92223,6.72242,3.73715,4.12185,3.73259,3.69377,5.8958,4.07353,3.75088,3.8427,3.71531,4.08859,6.64494,3.68498,3.68712,3.66535,3.68244,4.3253,6.37128,4.15787,3.70588,3.69449,4.15468,7.42096,3.68091,3.75364,3.67368,4.02553,4.59807,5.91788,3.74026,4.02435,3.75306,3.71046,6.35472,3.95383,4.03956,3.72644,3.69771,3.7285,6.90241,3.74206,3.72101,3.92181,3.6829,5.52269,4.54353,3.74922,3.72804,3.7081,4.32471,7.60422,3.7477,3.66238,3.80529,3.66583,4.88328,5.55983,3.73721,3.84592,3.71125,3.74563,7.11051,3.97069,3.8389,3.7012,3.64126,4.52408,6.19996,3.79344,3.73307,3.71496,3.69329,5.96475,3.89855,3.78137,3.75286,3.73657,4.05165,6.92516,3.75435,3.70631,3.8198,3.8689,4.7027,5.88669,3.74078,3.75123,3.73177,3.73641,6.40258,3.7102,3.83362,3.70742,3.68143,3.67662,6.86185,3.7255,3.70531,3.80519,3.75694,5.67093,5.31855,4.16815,3.69979,4.23041,4.96234,6.1494,3.6515,3.6722,3.65119,3.64797,7.70212,3.7021,3.76766,3.74863,3.65629,4.21763,6.53826,3.83627,3.77931,3.71078,3.75297,6.42301,3.6936,3.75779,4.02274,3.75125,3.69036,6.72577,4.11257,3.7088,3.61405,3.92442,5.46891,4.97427,3.70436,4.05355,4.49158,4.97957, +7.37846,7.00534,7.0392,7.03952,6.98038,6.99309,6.96768,6.9657,6.93898,8.54323,6.98739,6.98544,6.98314,7.02339,7.02646,6.97846,6.98256,6.9703,6.98659,7.1823,7.04406,6.99034,7.01987,7.028,6.98646,6.98179,7.30589,7.05392,6.95779,7.04445,7.02896,7.01565,7.51152,7.09683,7.05437,7.02301,7.00416,6.98234,9.78746,7.03994,6.97501,6.9313,6.93309,6.9863,7.00138,6.97904,7.02237,7.01923,7.04797,6.9783,6.96886,6.96848,6.96355,6.96147,6.9279,6.93526,6.98739,6.9929,7.06963,6.97776,6.98093,6.96246,6.96653,6.96989,6.97114,6.95018,6.95053,6.92205,7.07891,6.99574,6.98502,7.01302,6.96758,6.96925,6.96723,6.95872,6.96224,9.92544,7.06282,7.00214,7.00445,6.97971,6.98909,6.96765,6.97171,6.96778,6.96813,7.03078,6.96288,6.9352,6.93619,6.98742,6.99626,6.98477,7.01952,6.98982,6.97757,7.03162,6.95955,6.96954,6.93434,6.93798,6.98838,6.98838,7.00848,7.01955,7.27133,7.06307,6.96861,6.976,7.03776,6.9656,6.96182,6.92938,6.93443,6.98877,7.26653,6.99088,7.00122,6.99434,7.0288,6.99296,6.97296,6.96797,6.95859,6.96074,7.00621,6.93632,6.9871,6.99747,7.01178,6.99328,6.98269,6.99763,6.98138,6.98454,7.03568,6.96774,6.96931,6.93744,6.93549,6.92077,6.92522,6.98714,6.99062,6.99046,7.06019,6.97645,6.98941,6.96291,6.98278,6.94854,6.9257,6.9265,6.98989,7.39194,7.05882,6.99402,7.02419,7.01613,6.97453,7.00198,6.96042,6.97386,6.94205,7.25184,6.98432,6.99104,6.98566,7.01706,7.02771,6.97414,6.98006,6.9697,6.96128,6.99722,7.00106,6.98413,6.99021,6.99606,6.99197,6.98314,7.00314,7.03821,6.97216,7.0528,6.9688,6.9855,6.93299,6.9727,6.91824,6.99517,6.98486,6.9929,10.729,7.02806,6.96688,6.9633,6.96032,6.9241,7.00224,6.98272,6.99744,7.01155,7.26986,6.98592,7.03485,7.03347,6.96602,6.97277,6.97133,6.96422,6.95658,6.95094,7.01555,6.9969,6.99296,6.98733,6.98589,7.01728,7.02794,6.97411,6.97421,6.96224,7.04013,6.95821,6.9689,6.92317,7.00128,6.99338,6.9881,6.98301,7.03158,7.88506,7.0521,6.98218,6.9632,6.9639,6.96605,6.97194,6.93757,6.95094,6.92326,7.28422,6.98464,6.99325,7.02102,6.98058,6.97533,6.96352,7.03568,6.97158,6.96864,7.01619,6.952,6.92266,6.9601,7.02202,6.9993,7.01571,6.98541,6.98906,6.95773,7.03558,6.9681,6.9471,6.92698,6.92826,6.99251,7.01898,6.98989,6.99014,11.8888,6.99427,6.92458,6.99187,7.01462,6.98496,7.03946,6.98509,6.9695,6.95552,7.03398,6.96694,6.93059,6.9344,6.98662,6.98806,7.01674,7.01741,7.00918,6.99286,7.03568,6.97533,6.96826,6.95062,6.95603,6.92429,6.92954,6.98755,6.99078,6.98931,7.07107,7.02979,6.98755,6.96307,6.97667,6.96736,6.95302,6.9591,6.92582,8.0969,7.06883,6.99674,6.99974,7.01398,6.97443,6.97088,6.97283,6.94054,6.94464,6.9993,6.9961,6.98858,6.98723,6.98352,6.98669,7.02797,7.03539,6.97149,6.97645,7.0297,6.93907,6.93603,6.92618,6.92509,6.98752,6.98794,6.98688,6.99341,7.00474,7.0983,6.97718,6.98029,6.96682,6.97456,6.92851,6.98931,6.98723,6.98653,7.05683,7.09402,7.02717,6.97914,6.98906,6.96752,6.98598,6.93699,6.92813,6.92512,7.28365,6.98717,6.98682,6.99558,7.00054,7.01066,6.9865,6.9904,6.96237,6.9775,7.24186,7.11117,7.04112,6.97309,6.9745,6.96387,6.95645,6.96902,6.9608,9.41712,7.07456,6.98406,7.02947,7.02621,6.9721,6.97283,6.97034,6.97347,6.93984,7.01443,7.03392,6.99462,6.99302,6.99827,7.02522,6.98138,6.98317,6.96355,6.96288,7.04435,6.96832,6.94083,6.94806,6.95728,6.96518,7.01306,7.00102,7.02294,6.99722,7.06346,6.95955,6.96566,6.97146,6.97552,6.95546,6.95904,6.92374,6.93315,7.56998,7.07149,6.98314,7.02474,6.97786,6.96502,6.95763,6.96688,6.97171,6.93334,7.01638,6.99219,6.92902,6.99261,6.99133,6.98538,7.00918,6.97923,6.97574,6.96627,7.03654,6.96326,6.92944,6.92947,6.98605,6.98858,6.99014,6.99786,7.00269,7.03046,7.04886,6.96448,6.96698,6.95405,6.94874,6.92483,6.92531,6.98662,6.98883,8.24035,7.0575,7.0352,7.0407,6.96954,6.98342,6.96077,6.93328,6.92963,6.9864,7.26323,6.99142,6.99779,7.00208,6.99757,6.98189,6.99331,6.95811,6.98339,6.93997,6.99802,6.92378,6.98899,6.9871,6.99424,7.02112,6.98819,6.98899,6.97974,6.97949,7.03523,6.96566,6.97056,6.95104,6.92403,6.99245,6.98813,6.9904,6.99062,6.99536,7.06934,6.98157,6.98083,6.96138,6.96102,6.96886,6.98531,6.93613,6.97232,7.25827,7.05738,7.06016,6.99699,7.04227,6.97616,6.97642,6.9641,6.9671,6.96048,7.02141,7.54867,6.99587,6.9824,6.9937,7.03392,7.00208,6.96131,6.97674,6.96746,6.99856,6.93197,6.9865,7.05926,7.01405,7.03075,6.9905,6.99226,7.01677,6.99696,7.03824,6.97267,6.95974,6.93462,6.93782,6.9215,6.92576,6.99482,6.98614,9.2048,7.10595,6.96861,6.97987,6.92909,6.99107,6.98883,7.02304,7.00947,6.9857,7.25603,6.97405,6.98643,6.96144,6.97837,6.96051,6.93174,6.92704,6.98992,6.98173,7.0801,7.0249,6.98893,6.98397,6.97744,6.98877,6.95936,6.98598,6.95347,7.50106,6.99174,6.99037,6.99136,7.00618,6.9976,6.99805,6.99494,6.97773,6.98086,8.06541,7.05322,6.93475,6.93251,6.98899,7.01069,6.9959,6.99984,6.99411,6.97798,7.06416,6.9641,6.96954,6.9697,6.97603,6.93437,6.97142,7.0217,6.98768,6.98474,7.09744,7.02038,6.976,6.99075,6.95971,6.96579,6.96646,6.96083,6.92058,6.99101,7.06467,6.9889,6.98528,7.02438,7.03498,6.97533,6.99318,6.96138,6.96621,7.0304,7.03088,6.92083,6.97056,7.01235,7.03123,7.00227,6.97632,7.00445,6.96154,7.04128,6.96774,6.96442,6.94493,6.95453,6.92461,6.9359,6.98694,7.00006,7.0033,7.05882,6.98134,6.96083,6.96317,6.9639,6.96413,6.92854,6.93261,6.99027,7.00192,7.05869,7.00298,7.02573,6.98003,6.9769,6.95824,6.95901,6.97021,6.97462,9.08352,7.07248,6.98688,7.0296,6.97776,6.9688,7.03206,6.96998,6.9671,6.95722,7.03094,6.92528,6.92874,6.9881,6.98682,6.9895,6.99277,7.0297,6.98118,6.9575,7.04477,6.97264,6.94035,6.94573,6.92346,6.92397,6.98598,6.99264,6.98669,6.99933,7.04762,6.9809,6.96416,6.96682,6.97203,6.93549,6.9385,6.95526,6.9207,7.5135,7.06557,6.9937,7.00403,6.97539,7.00432,6.96685,6.97309,6.96922,6.94947,7.01469,6.99805,6.92822,6.98874,6.98781,6.99059,6.98861,7.02477,7.02902,6.9759,7.0407,6.97254,6.95299,6.95834,6.93536,6.93005,6.9865,6.98899,6.99466,7.00189,7.06592,6.99978,6.97686,6.99523,6.9663,6.97142,6.97181,6.95021,6.93146,11.8455,7.10154,6.97626,6.98736,6.9632,6.97846,6.96102,6.94067,6.98563,7.00989,7.27437,6.9968,6.99702,6.97821,7.00013,6.97123,6.9753,6.96794,6.98349,6.93136,7.0751,7.01827,6.98701,6.98378,7.024,7.00717,6.97808,6.98205,6.95952,6.9624,7.04016,6.96467,6.92397,6.99712,6.99037,6.98816,6.9841,7.0264,7.02589,9.11622,7.04358,6.94506,6.93741,6.98902,7.02227,6.9879,7.00224,7.00003,6.97904,7.05331,6.96458,6.96394,6.9703,6.97283,6.94397,6.95635,6.92432,6.99776,6.98979,7.07994,6.99274,6.97446,6.97731,6.96198,6.96448,6.97286,6.9688,6.94128,7.01443,7.05805,6.99933,6.9935,7.00675,7.03101,6.97706,6.98717,6.96547,6.97136,8.87581,7.00182,6.98496,7.00026,6.9904,7.03091,6.9767,6.96419,6.97034,6.96717,7.03798,6.95718,6.96003,6.92595,6.93043,6.99373,6.99258,6.98714,6.99242,7.01203,7.05123,6.97987,6.96432,6.95946,6.96813,6.96723,6.94483,6.9463,6.92157,6.92586,7.09894,6.98941,6.98688,7.00746,6.97587,6.98118,6.96646,6.95949,6.9551,9.81741,7.10218,6.99114,7.00707,6.98131,6.97885,6.9681,6.96806,6.9696,6.93046,7.00166,7.05914,6.99043,6.99283,6.99856,6.99494,7.00432,6.98173,6.97693,6.96605,7.03939,6.9601,6.92928,6.93318,6.9871,6.92438,6.99082,6.99693,6.9831,6.98576,7.07126,6.99034,6.95917,6.98752,6.94099,6.92586,6.92595,6.98723,6.98365,7.78115,7.05533,6.98397,7.02522,6.96749,6.97222,6.96918,6.95075,6.92522,6.98566,7.25795,6.99235,6.99581,6.99885,6.99181,6.97712,7.01722,6.9704,6.97299,6.96598,7.05581,6.93194,6.92762,6.92458,6.99888,6.98614,6.9865,6.98922,7.00045,6.99987,7.04912,6.98048,6.9583,6.97261,6.96074,6.95181,6.92813,7.01062,6.98272,10.8628,7.06342,6.96573,6.96099,6.97101,6.97251,6.92438,6.99242,7.01632,6.9863,7.26806,6.97942,7.05216,6.95984,6.96134,6.9737,6.97798,6.93226,6.93696,6.99142,7.07251,6.97939,7.01629,7.02426,6.99018,6.98077,7.03626,7.02022,7.00016,7.00323,7.06579,7.00461,6.99827,6.9984,6.97462,6.99293,6.96736,6.96454,6.95824,8.82157,6.98352,6.99325,7.01686,6.98877,6.98845,7.02464,7.03235,6.96621,6.98131,7.02614,6.93277,6.93034,6.92522,6.92253,6.98963,6.98554,6.9871,6.98214,7.02317,7.09709,6.97248,6.97482,6.96963,6.97658,6.92934, +3.7952,3.66224,3.69168,3.72326,3.70512,3.75818,3.71478,3.6871,3.76208,3.65085,3.66326,3.7032,3.70445,3.73008,3.68304,3.70861,3.72835,3.70099,3.68317,3.71248,3.72419,3.71942,3.71379,3.72579,3.8855,3.65901,3.69994,3.71059,3.73619,3.68634,3.74362,3.69075,3.74403,3.70461,3.69251,3.7008,3.71046,3.73885,3.71603,3.72051,3.68899,3.67034,3.69018,3.69037,3.72019,3.72563,3.7537,3.69974,3.69309,3.68067,3.73197,3.69437,3.66842,3.7873,3.76378,3.67322,3.69981,3.69626,3.72394,3.72368,3.69091,3.72387,3.7288,3.70307,3.69082,3.71718,3.77168,3.68576,3.76029,3.71539,3.67734,3.70781,3.67674,3.70848,3.7096,3.72976,3.72243,3.68275,3.70355,3.73936,3.72669,3.7168,3.73005,3.75206,3.66826,3.68272,3.68723,3.71824,3.70982,3.72589,3.75565,3.66768,3.6791,3.6903,3.72218,3.70675,3.68662,3.70259,3.72934,3.71434,3.72256,3.67818,3.7119,3.75331,5.78858,3.71939,5.72282,3.7729,3.71354,4.79802,4.24278,4.34202,3.69968,3.70499,3.67747,3.68765,3.70566,4.22883,5.29894,4.70422,4.8609,4.97104,4.88605,3.71997,3.74698,4.11504,3.82371,3.7273,3.85158,3.68941,3.7184,3.71795,3.71757,3.69587,3.73846,3.75866,3.71814,3.70362,3.71648,3.75021,3.71984,3.776,3.71827,3.68064,3.69853,3.6935,3.73226,3.76688,3.69821,5.92429,3.75248,3.73546,3.72346,3.68586,3.7024,3.72128,3.71802,3.69837,3.73322,3.68259,3.75926,3.68442,3.77094,3.70125,3.68954,3.7264,3.70989,3.68832,3.69814,3.73114,4.18269,3.68928,3.74797,3.68378,3.70979,3.7144,3.69008,3.71296,3.68246,3.73482,3.67987,3.73936,3.7111,3.70157,3.71066,3.7064,3.75664,3.72317,3.72294,3.71891,3.70285,4.48483,3.71984,3.70218,3.73722,3.67766,3.68534,3.70736,3.66678,3.73008,3.70582,3.73213,3.71299,3.67834,3.68867,3.69136,3.6968,3.69264,3.75578,3.68762,3.66784,3.69546,4.88512,3.69878,3.71302,3.66976,3.73238,3.73443,3.68618,3.68486,3.69965,3.70045,3.72371,3.72723,3.75123,3.69827,3.70867,3.68304,3.72307,3.68915,3.7544,3.7151,3.7047,4.59638,3.68205,3.6776,3.71562,3.67533,3.76013,3.68022,3.68509,3.70742,3.69011,3.70182,3.73334,3.69328,3.74083,3.7383,3.69562,3.70198,3.73606,3.71088,3.74736,3.67997,3.92221,3.73142,3.71091,3.74589,3.71485,3.69824,3.73181,3.66211,3.69517,3.67837,3.71834,3.732,3.72131,3.75293,3.69229,3.67926,3.68019,3.72688,3.6872,3.68707,3.75552,4.94461,3.68518,3.67939,3.71536,3.74253,3.70906,3.76902,3.71558,3.65981,3.68266,3.68006,3.72758,3.72422,3.69517,3.67904,3.76221,3.68278,3.68342,3.69891,3.75741,3.6999,3.73485,3.72115,3.69648,3.68838,3.71245,3.75315,3.72416,3.69424,3.75562,3.72608,3.71344,3.72806,3.68739,3.71258,3.76304,3.73078,3.74406,3.68426,3.72602,3.70154,3.71619,5.00522,3.73574,3.7415,3.67658,3.67978,3.6608,3.7511,3.70938,3.74157,3.72886,3.6808,3.70486,3.69366,3.72666,3.73674,3.68909,3.70003,3.74416,3.69021,3.67475,3.72634,4.89875,3.70637,3.6737,3.72918,3.74205,3.68979,3.70742,3.72906,3.71734,3.69114,3.7183,3.66694,3.68387,3.75933,3.71638,3.70653,3.74957,3.65232,3.71763,3.67581,3.72541,5.2767,3.72195,3.70314,3.72006,3.74282,3.64915,3.75376,3.71427,3.72742,3.70557,3.7593,3.76973,3.70387,3.70198,3.70691,3.72806,3.73683,3.76733,3.72909,3.68877,3.71578,4.64346,3.72301,3.72861,3.69491,3.72,3.66122,3.70493,3.6656,3.70576,3.74394,3.68125,3.75978,3.74531,3.71987,3.69174,3.67619,3.70435,3.69933,3.72291,3.69293,3.70794,3.71539,3.70502,3.6993,3.69226,3.76205,3.72845,3.6776,3.69306,3.69597,3.71779,3.70682,3.74653,3.72083,3.72445,3.68666,3.70179,3.67974,3.72579,3.71571,3.73088,3.71053,3.69197,3.68646,3.68803,3.73242,3.70717,3.7463,3.73738,3.64381,3.676,3.68262,3.70902,3.74941,3.7048,3.73494,3.72054,3.69715,3.70595,3.71526,3.74141,3.70838,3.77062,3.74323,3.71648,3.70909,3.68605,3.73654,3.72906,3.71853,3.72294,3.73306,3.71622,3.7184,3.70214,3.73517,3.75315,3.72352,3.71962,3.73574,3.71139,3.73837,3.70352,3.73062,3.7271,3.71152,3.71226,3.71843,3.70922,3.73379,3.69664,3.72442,3.73085,3.72262,3.70362,3.71654,3.73421,3.72493,3.73062,3.73894,3.73216,3.73414,3.67693,3.69776,3.68259,3.69469,3.71555,3.74576,3.68093,3.71456,3.6873,3.66954,3.65501,3.68518,3.70771,3.69782,3.6759,3.70605,3.72874,3.69619,3.69504,3.67517,3.70467,3.6809,3.70086,3.68723,3.7071,3.70544,3.69661,3.72029,3.6929,3.69085,3.70326,3.7233,3.6879,3.70403,3.67693,3.69104,3.68294,3.69398,3.684,3.70102,3.7017,3.71059,3.66179,3.72989,3.69386,3.69242,3.67882,3.70656,3.67139,3.67686,3.68035,3.71002,3.69504,3.6761,3.71229,3.70035,3.69907,3.71386,3.70256,3.7272,3.74794,3.6944,3.73165,3.75402,3.7199,3.67901,3.73667,3.67882,3.70003,3.68438,3.70989,3.74326,5.49194,3.68243,3.75459,3.73379,3.67725,3.68576,3.70294,3.73686,3.69622,3.70733,3.73411,3.7081,3.67478,3.74531,3.70771,3.72515,3.71376,3.77216,3.74278,3.75328,3.69558,4.15418,4.8737,4.13914,3.69594,3.69683,3.6832,3.6864,3.73184,3.67792,3.7137,5.58326,3.69722,3.67354,3.69427,3.71174,3.76182,3.7297,3.68746,3.67475,3.7039,3.68627,3.70413,3.71066,3.70099,3.71853,3.70893,3.6945,3.71373,3.68454,3.72192,3.68058,3.9144,3.75363,3.67699,3.74051,3.77088,4.24816,4.27805,3.69315,3.80746,3.72701,4.90384,3.80992,3.72176,3.82288,3.712,6.2961,3.82749,6.03114,5.59904,3.96666,3.75734,3.67763,5.18141,3.75059,3.84979,3.71795,3.72944,3.75504,3.69696,3.68019,4.86726,3.7239,3.71242,3.69133,3.7416,3.67091,3.7249,3.69149,3.71293,3.67094,4.77331,4.79206,3.87392,3.69088,3.68621,3.74269,3.7344,3.67498,3.70896,3.76362,4.27014,3.74672,3.67424,3.68426,3.68941,3.68976,4.15747,3.68118,4.15389,3.71427,4.24294,4.19184,3.72067,4.60026,6.10589,5.19869,5.67802,4.23693,6.11619,4.19616,4.60691,5.62931,3.92614,3.71962,3.70694,3.67626,3.67654,4.62186,3.67805,3.65942,3.82694,3.84355,3.67619,3.67104,3.6831,3.69914,3.6704,3.69789,3.70304,3.77709,3.804,3.69728,3.71651,3.69859,3.68256,3.67616,3.7177,3.7375,3.80317,3.67139,3.69366,3.67818,3.69677,3.69347,3.72755,3.80643,3.69149,3.70464,3.6897,3.68202,3.6721,3.71859,3.80954,4.02442,3.66298,3.68906,3.6655,3.67459,3.66442,3.78246,3.77715,3.69341,3.71126,3.66915,3.68275,3.69408,3.70998,3.75574,3.6849,3.68992,3.67152,3.66016,3.66931,3.74138,3.98477,3.65206,3.68253,3.73002,3.66832,3.66362,3.75552,3.80992,3.64368,3.69626,3.68842,3.68691,3.69043,3.71363,3.79718,3.77504,3.68387,3.69126,3.68771,3.6936,3.65581,3.72077,3.78285,3.65162,3.66381,3.6809,3.68592,3.70579,3.67373,3.77213,3.66429,3.6816,3.70749,3.66106,3.6744,3.67869,3.75779,3.68752,3.68918,3.66541,3.68963,3.67008,3.68886,3.80819,3.76141,3.68234,3.72605,3.69725,3.65923,3.64957,3.8193,3.76016,3.66352,3.71341,3.68669,3.67792,3.68598,3.73754,3.77226,3.74982,3.69181,3.68854,3.67498,3.69389,3.71264,3.82602,3.75866,3.7039,3.6905,3.66662,3.66093,3.69354,3.7927,3.79482,3.67453,3.66406,3.67274,3.64787,3.68893,3.7912,3.78755,3.68589,3.69488,3.6935,3.70755,3.69741,3.80784,3.77962,3.65725,3.7105,3.68595,3.67418,3.67702,3.71005,3.92538,3.79869,3.67568,3.68816,3.65434,3.6768,3.66102,3.79696,3.79645,3.68685,3.70147,3.67398,3.67462,3.69232,3.77677,3.77754,3.68413,3.66851,3.67584,3.69299,3.6912,3.79462,3.81536,3.68064,3.69392,3.68784,3.66112,3.6399,3.75075,3.82627,3.65357,3.72768,3.66797,3.68525,3.70646,3.8088,3.78403,3.656,3.67075,3.67203,3.69357,3.68013,3.78922,3.76717,3.6823,3.70819,3.66202,3.67968,3.67664,3.79386,3.77357,3.66582,3.68342,3.68198,3.6849,3.65318,3.8105,3.81251,3.68522,3.72102,3.67114,3.68771,3.64912,3.76358,3.81866,3.69827,3.69078,3.68765,3.68461,3.6625,3.70141,3.76867,3.74557,3.66899,3.79382,3.69939,3.67472,3.68118,3.66784,3.79293,3.78608,3.67712,3.6608,3.69923,3.74499,3.72835,3.75498,3.66995,3.68406,3.68275,3.6881,3.66224,3.70726,3.76922,3.68886,3.66586,3.68797,3.67744,3.66867,3.73059,3.75638,3.66618,3.68394,3.65715,3.67661,3.85696,3.69901,3.8401,3.70534,3.77795,3.68957,3.69712,3.67379,3.66179,3.73882,3.79837,3.79229,3.69466,3.68083,3.67126,3.65968,3.69133,3.82115,3.79523,3.68749,3.67011,3.93133,3.68374,3.64915,3.70243,3.79834,3.70198,3.704,3.68522,3.66704,3.69472,3.84381,3.76688,3.67376,3.69373,3.66378,3.65331,3.6984,3.84781,3.77866,3.68381,3.66669,3.68102,3.70422,3.68502,3.70822,3.75987,3.78986,3.6769,3.6641,3.65952,3.67616,3.71936,3.70698,3.76982,3.67085,3.6953,3.68198,3.67674,3.70672,3.6769, +0.7448,0.473248,2.51558,0.583168,0.424352,0.424704,0.46912,0.430784,0.433056,0.46784,0.43696,0.424192,0.461216,0.435616,0.49264,0.419776,0.439424,0.420576,0.41152,0.48752,0.418656,0.414816,0.469824,0.440128,0.452416,0.566688,0.42752,0.4152,0.523328,0.419584,0.411872,0.590176,0.478368,0.430336,0.463584,0.4328,0.501824,0.555104,0.52304,0.487808,0.531712,0.525856,0.442464,0.416832,0.416192,0.436256,0.43296,0.501952,0.452256,0.411264,0.453088,0.471232,0.435488,0.4424,0.499744,0.414048,0.415808,0.494976,2.26602,0.495168,0.484448,0.431488,0.433312,0.49248,0.429152,0.431392,0.4736,0.416416,0.44576,0.493632,0.49632,0.416768,0.472,0.4208,0.447456,0.538912,0.4176,0.436224,0.455584,0.41536,0.422304,0.56928,0.428512,0.4184,0.505248,0.424416,0.426208,0.479456,0.427104,0.433344,0.480896,0.419968,0.502656,0.464192,0.427072,0.421056,0.594016,0.422048,0.757344,0.591712,0.537984,0.519616,0.588992,0.933024,0.519296,0.565312,0.546144,0.510336,0.5616,0.498208,0.4272,0.465888,0.423808,0.434432,0.54928,0.499296,0.419936,0.526656,0.425024,0.41776,0.528672,0.523648,0.509408,0.479392,0.435616,0.420896,0.601568,0.431424,0.444128,0.56784,0.495488,0.42832,0.41312,0.42912,0.523136,0.508576,1.1776,0.505376,0.512576,0.522496,1.15494,0.548928,0.517376,0.511936,0.569952,0.844864,0.520928,0.567648,0.525568,0.510368,0.601024,0.596,1.26381,0.587008,0.53232,0.51648,0.582784,0.520704,0.520992,0.609888,0.517888,0.51904,0.59808,0.528256,0.511616,0.554752,0.497056,0.408032,0.48928,0.422144,0.500704,0.49184,0.450048,0.497632,0.41264,0.438848,0.412768,0.402208,0.466112,0.418656,0.4624,0.592096,0.541696,1.56858,0.607648,0.539584,0.514944,0.59888,0.529792,0.51216,0.583392,1.56829,0.525216,0.563392,0.506496,0.977888,0.853408,0.503424,0.603328,0.565088,0.41472,0.4232,0.441664,0.420768,0.493152,0.5216,0.9584,0.574528,0.585728,0.4304,0.491776,0.49408,0.431968,0.50096,0.56832,0.511136,0.486912,0.539072,0.424288,0.4256,0.578592,0.489088,0.43584,0.52496,0.428704,0.416608,0.594432,0.41488,0.420416,0.537376,0.417792,0.431392,0.49904,0.414304,0.42064,0.473888,0.432608,1.47318,0.509504,0.423392,0.4256,0.480384,0.4224,0.43136,0.468288,0.422112,0.42288,0.510656,0.438816,0.494144,0.508864,0.423168,0.41344,0.487808,0.435552,0.40896,0.481376,0.444864,0.411904,0.470752,0.514272,0.416384,0.470848,0.427328,0.436224,0.4512,0.42128,0.426112,0.429856,0.436416,0.428448,0.505216,0.497504,0.457824,0.410784,0.450464,0.471424,0.425504,0.516896,0.416928,0.41584,0.501568,0.489536,0.490176,0.477216,0.454464,0.413152,0.438016,0.416096,0.416704,0.476224,0.45328,0.441696,0.48656,0.51904,0.417888,0.505248,0.43744,0.4184,0.539264,0.42512,0.413504,0.4728,0.443744,0.42,0.561472,0.44112,0.412352,0.457312,0.422752,0.42368,0.462496,0.421216,0.42112,0.509984,0.429152,0.774816,0.527776,0.42928,0.429632,0.469568,0.434112,0.50448,0.576704,0.507424,0.488992,0.585664,0.98336,0.4976,0.541056,1.53613,0.501088,0.559456,0.506048,0.505568,0.575008,1.59456,0.494464,0.50224,0.49568,0.496384,0.551808,0.939744,0.508192,0.568288,0.490496,0.506752,0.556,0.494656,0.520608,0.549376,0.496544,0.52224,0.557056,0.512544,0.498656,0.519808,0.512992,1.4937,0.526976,0.923072,0.5888,1.65014,0.513824,0.547264,0.535616,0.507392,0.57168,0.492064,0.41504,0.59952,0.504512,1.59389,0.544,0.417952,0.421344,0.498912,0.442752,0.416992,0.410976,0.505376,0.495744,0.416768,0.494176,0.502464,0.413888,0.436128,0.422336,0.421664,0.510912,0.42128,0.440928,0.464608,0.425472,0.426144,0.57936,0.429056,0.405376,0.527328,0.41696,0.414816,0.515872,0.423168,0.419424,0.477792,0.437216,0.493824,0.57008,0.434784,0.416544,0.47344,0.433344,0.428224,0.569568,0.615744,0.506656,0.582496,0.534912,0.510304,0.636416,0.5032,0.561856,0.5888,0.426624,0.417184,0.466208,0.437344,0.413856,0.48992,0.51024,0.420864,0.48048,0.435648,0.433856,0.435008,0.414976,0.426656,0.505248,0.509696,0.489088,0.503648,0.440384,0.554976,0.48752,0.47984,0.4656,0.404832,0.532384,0.456704,0.427744,0.4808,0.53888,0.498816,0.532,0.5784,0.485664,0.584704,0.571232,0.841888,0.491136,0.494208,0.502176,1.86854,0.514656,0.515232,0.501504,0.50192,0.499648,0.575392,0.501408,0.45376,0.428704,0.425632,0.438944,0.501632,0.443072,0.414848,0.4512,0.427968,0.416224,0.574016,0.677056,0.532512,0.511552,0.483872,0.504768,0.597888,0.593696,0.504064,0.641888,0.509856,1.53696,0.507616,0.509376,0.573792,0.508096,0.53216,0.554976,0.41536,0.531392,0.562432,0.505408,0.495968,0.567136,0.502496,0.518496,0.589472,0.513152,0.576224,0.555904,0.51664,1.99434,0.58624,0.556032,0.517888,0.57984,0.53168,0.516064,0.599104,1.01325,0.51312,0.944672,0.552192,0.878144,0.580512,0.516128,0.515968,0.536416,0.514944,0.507552,0.594592,1.92413,0.509152,0.755392,0.550048,0.939072,0.55616,1.23382,0.520608,0.578368,0.548352,0.934752,0.60272,0.54848,0.5144,0.626272,0.552768,0.513344,0.600128,0.515392,0.516768,0.584864,0.535488,0.924672,0.577312,0.504864,0.695648,0.585376,0.53072,0.519808,0.662848,0.522048,0.515392,0.582592,0.58464,0.51104,0.631648,0.516,0.507648,0.5864,0.50992,0.495392,0.496448,0.503616,0.429184,0.46656,0.434304,0.419488,0.579488,1.79072,0.522144,0.590176,0.638048,0.514208,0.714112,1.6433,0.527264,0.52128,0.59648,0.514112,0.527232,0.505856,0.571968,0.553984,0.516992,0.571392,0.568448,0.499616,1.54173,0.56112,0.496576,0.491008,0.504768,0.498688,0.502528,0.505664,0.560736,0.507392,0.508992,1.54634,0.50864,1.11011,0.511904,0.501888,0.51824,1.56038,0.555456,0.509312,0.512128,0.550464,0.50784,0.51344,0.560928,0.530208,0.511712,0.56352,0.54496,0.923744,0.559904,0.520736,0.525344,0.488,0.433376,0.451776,0.44464,0.503392,0.425312,0.431328,0.429664,0.435648,0.488288,0.45056,0.412896,0.430688,0.49728,0.411872,0.423584,0.472768,0.424,0.423808,0.483392,0.505216,0.412032,0.486336,0.413248,0.430688,0.4896,0.416096,0.432384,0.498464,0.416512,0.4192,0.595712,0.439232,0.422496,0.516288,0.417824,0.420128,0.499872,0.422016,0.4304,0.495776,0.441472,1.53427,0.532864,0.421696,0.434784,0.457504,0.438048,0.434496,0.462912,0.41776,0.42512,0.474944,0.422048,0.493056,0.51408,0.411744,0.436384,0.504,0.42128,0.416992,0.480192,0.4376,0.418048,0.48992,0.544608,0.4112,0.484864,0.425632,0.444768,0.472192,0.41408,0.417088,0.470784,0.479264,0.420736,0.600576,0.50512,0.410848,0.538976,0.432224,0.495104,0.425088,0.436352,0.443168,0.44592,0.416096,0.582592,0.500576,0.423648,0.524672,0.425984,0.433856,0.469824,0.43024,0.413056,0.473344,0.433312,0.430816,0.545984,0.416736,0.426592,0.509728,0.42864,0.438816,0.458656,0.436416,0.423904,0.469248,0.424192,0.500928,0.522112,0.418144,0.427904,0.522464,0.420768,0.416896,0.509696,0.439936,0.418304,0.467296,0.502304,0.413664,0.467968,0.426304,0.435072,0.470496,0.422592,0.425472,0.464704,0.4376,0.419712,0.579872,0.484736,0.409696,0.492864,0.43216,0.421056,0.474656,0.432672,0.409856,0.47456,0.431616,0.472448,0.53392,0.407872,0.43696,0.449792,0.438208,0.420512,0.42272,0.435584,0.42208,0.458112,0.485344,0.510848,0.426368,0.454176,0.41488,0.464512,0.5072,0.413792,0.412,0.471552,0.4184,0.422176,0.58848,0.516288,0.444736,0.481312,0.420032,0.424224,0.460608,0.422624,0.453472,0.498592,0.422624,1.84848,0.494304,0.491488,0.430624,0.47392,0.434208,0.410528,0.46336,0.42416,0.418016,0.488224,0.421792,0.504928,0.426528,0.42608,0.434784,0.521824,0.4192,0.4216,0.530432,0.439008,0.427872,0.459552,0.500992,0.4152,0.48432,0.439744,0.440192,0.519744,0.407552,0.415168,0.524512,0.424384,0.433376,0.573376,0.412192,0.409696,0.50672,0.429952,0.439136,0.538592,0.41584,0.417056,0.50224,0.426112,1.60541,0.535232,0.435648,0.409216,0.48064,0.438048,0.410976,0.551328,0.421344,0.442528,0.493504,0.423808,0.495072,0.465952,0.422592,0.421504,0.533376,0.416384,0.411488,0.552288,0.41952,0.41952,0.500928,0.506304,0.41312,0.468544,0.416256,0.43568,0.461024,0.420576,0.435136,0.52576,0.428416,0.409408,0.576,0.416416,0.41888,0.523392,0.416288,0.418016,0.460256,0.4248,0.424832,0.506048,0.440832,1.66758,0.520448,0.440608,0.417568,0.518016,0.439456,0.433024,0.462656,0.453056,0.421472,0.537856,0.444768,0.509696,0.510496,0.415328,0.428384,0.476224,0.427392,0.42192,0.475616,0.439392,0.425344,0.499552,0.509184,0.421984,0.484224,0.426496,0.43888,0.453664,0.438464,0.431328,0.523488,0.454272,0.422944,0.604384,0.43008,0.416896,0.514016,0.42288,0.457792,0.418528,0.43632,0.469728,0.425984,0.420128,0.5864,0.417216,0.43696,0.595712,0.42816,0.409024,0.453568,0.417152,0.426496,0.506624,0.433728,0.500896,0.571776,0.423712,0.429184,0.524256,0.416512,0.43344,0.456128,0.41872,0.42912,0.487904,0.432864,0.501504,0.521536,0.418848,0.417248,0.54016,0.415584,0.454592,0.498336,0.437024,0.429728,0.494944,0.502496,0.414208,0.490944,0.43088,0.45856,0.5312,0.424672,0.425088,0.499712,0.451136,0.4544,0.598976,0.427488,0.418176,0.487808,0.432256,0.412832,0.514432,0.444448,0.427392,0.456256,0.420448,0.524032, \ No newline at end of file diff --git a/analysis/data/8.csv b/analysis/data/8.csv new file mode 100644 index 0000000..33ef516 --- /dev/null +++ b/analysis/data/8.csv @@ -0,0 +1,4 @@ +0.0005,0.00012,8e-05,8e-05,8e-05,8e-05,7e-05,7e-05,8e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,8e-05,8e-05,8e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,8e-05,7e-05,7e-05,8e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,8e-05,7e-05,7e-05,7e-05,8e-05,7e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,8e-05,7e-05,7e-05,7e-05,8e-05,7e-05,7e-05,7e-05,8e-05,7e-05,7e-05,7e-05,8e-05,7e-05,7e-05,7e-05,8e-05,7e-05,7e-05,7e-05,8e-05,7e-05,7e-05,7e-05,8e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,8e-05,7e-05,7e-05,7e-05,8e-05,7e-05,7e-05,7e-05,8e-05,7e-05,7e-05,7e-05,8e-05,7e-05,7e-05,7e-05,8e-05,7e-05,7e-05,7e-05,8e-05,7e-05,7e-05,7e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,8e-05,7e-05,7e-05,8e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,8e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,8e-05,7e-05,7e-05,7e-05,8e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,8e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,8e-05,7e-05,7e-05,7e-05,8e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,8e-05,7e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,8e-05,7e-05,7e-05,7e-05,8e-05,8e-05,7e-05,8e-05,8e-05,7e-05,7e-05,8e-05,7e-05,7e-05,8e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,8e-05,7e-05,7e-05,8e-05,8e-05,7e-05,8e-05,8e-05,7e-05,8e-05,8e-05,7e-05,7e-05,8e-05,7e-05,7e-05,8e-05,8e-05,8e-05,7e-05,7e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,7e-05,7e-05,8e-05,8e-05,8e-05,7e-05,7e-05,7e-05,7e-05,8e-05,8e-05,8e-05,7e-05,7e-05,7e-05,8e-05,8e-05,8e-05,8e-05,7e-05,7e-05,7e-05,7e-05,8e-05,8e-05,8e-05,7e-05,7e-05,7e-05,7e-05,8e-05,8e-05,8e-05,7e-05,7e-05,7e-05,8e-05,8e-05,8e-05,7e-05,7e-05,7e-05,8e-05,8e-05,8e-05,7e-05,7e-05,7e-05,7e-05,8e-05,8e-05,8e-05,7e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,7e-05,7e-05,8e-05,8e-05,8e-05,7e-05,7e-05,7e-05,8e-05,8e-05,8e-05,7e-05,7e-05,7e-05,8e-05,8e-05,7e-05,8e-05,8e-05,8e-05,7e-05,7e-05,7e-05,7e-05,8e-05,8e-05,8e-05,7e-05,7e-05,7e-05,7e-05,8e-05,8e-05,8e-05,7e-05,7e-05,7e-05,7e-05,8e-05,8e-05,8e-05,7e-05,7e-05,7e-05,7e-05,8e-05,8e-05,8e-05,7e-05,7e-05,7e-05,7e-05,8e-05,8e-05,8e-05,7e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,7e-05,7e-05,8e-05,8e-05,8e-05,7e-05,7e-05,7e-05,7e-05,8e-05,8e-05,8e-05,7e-05,7e-05,7e-05,8e-05,8e-05,8e-05,7e-05,7e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,7e-05,7e-05,8e-05,8e-05,8e-05,7e-05,7e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,7e-05,7e-05,8e-05,8e-05,8e-05,7e-05,7e-05,7e-05,7e-05,8e-05,8e-05,8e-05,7e-05,7e-05,7e-05,8e-05,8e-05,8e-05,8e-05,7e-05,7e-05,7e-05,8e-05,8e-05,8e-05,7e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,7e-05,7e-05,8e-05,8e-05,8e-05,7e-05,7e-05,7e-05,7e-05,8e-05,8e-05,8e-05,7e-05,7e-05,7e-05,8e-05,8e-05,8e-05,7e-05,7e-05,7e-05,7e-05,8e-05,8e-05,8e-05,7e-05,7e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,7e-05,8e-05,8e-05,8e-05,7e-05,7e-05,7e-05,7e-05,8e-05,8e-05,8e-05,7e-05,7e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,7e-05,7e-05,8e-05,8e-05,8e-05,7e-05,7e-05,7e-05,8e-05,8e-05,8e-05,7e-05,7e-05,7e-05,7e-05,8e-05,8e-05,8e-05,7e-05,7e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,7e-05,7e-05,8e-05,8e-05,8e-05,7e-05,7e-05,7e-05,7e-05,8e-05,8e-05,8e-05,7e-05,7e-05,7e-05,8e-05,8e-05,8e-05,7e-05,7e-05,7e-05,7e-05,8e-05,8e-05,8e-05,7e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,7e-05,7e-05,7e-05,8e-05,8e-05,8e-05,7e-05,7e-05,7e-05,8e-05,8e-05,8e-05,7e-05,7e-05,7e-05,7e-05,8e-05,8e-05,8e-05,7e-05,7e-05,7e-05,8e-05,8e-05,8e-05,7e-05,7e-05,7e-05,8e-05,8e-05,8e-05,7e-05,7e-05,7e-05,7e-05,8e-05,8e-05,8e-05,8e-05,7e-05,7e-05,7e-05,7e-05,8e-05,8e-05,8e-05,7e-05,7e-05,7e-05,8e-05,8e-05,8e-05,7e-05,7e-05,7e-05,7e-05,8e-05,8e-05,8e-05,7e-05,7e-05,7e-05,8e-05,8e-05,8e-05,8e-05,7e-05,7e-05,7e-05,8e-05,8e-05,8e-05,7e-05,7e-05,7e-05,8e-05,8e-05,8e-05,7e-05,7e-05,7e-05,7e-05,8e-05,8e-05,8e-05,7e-05,7e-05,7e-05,7e-05,8e-05,8e-05,8e-05,7e-05,7e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,7e-05,7e-05,8e-05,8e-05,8e-05,7e-05,7e-05,7e-05,7e-05,8e-05,8e-05,8e-05,7e-05,7e-05,7e-05,7e-05,8e-05,8e-05,8e-05,7e-05,7e-05,7e-05,8e-05,8e-05,8e-05,7e-05,7e-05,7e-05,8e-05,8e-05,8e-05,7e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,7e-05,8e-05,8e-05,8e-05,7e-05,7e-05,7e-05,7e-05,8e-05,8e-05,8e-05,7e-05,7e-05,7e-05,7e-05,8e-05,8e-05,8e-05,7e-05,7e-05,7e-05,8e-05,8e-05,8e-05,7e-05,7e-05,7e-05,8e-05,8e-05,8e-05,7e-05,7e-05,7e-05,7e-05,8e-05,8e-05,8e-05,7e-05,7e-05,7e-05,9e-05,7e-05,8e-05,8e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,8e-05,8e-05,8e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,8e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,8e-05,7e-05,7e-05,7e-05,8e-05,7e-05,7e-05,7e-05,8e-05,7e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,8e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,7e-05,8e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,8e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,7e-05,8e-05,7e-05,7e-05,7e-05,8e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,8e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,7e-05,8e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,7e-05,8e-05,7e-05,0.00015,0.00015,0.00014,0.00016,0.00014,0.00016,0.00014,0.00014,0.00016,0.00015,0.00014,0.00016,0.00015,0.00014,8e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,8e-05,7e-05,7e-05,7e-05,8e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,8e-05,8e-05,7e-05,7e-05,8e-05,8e-05,7e-05,8e-05,8e-05,7e-05,7e-05,8e-05,7e-05,7e-05,7e-05,8e-05,8e-05, +0.053952,0.014336,0.02048,0.02048,0.019904,0.018432,0.020032,0.019744,0.020512,0.020352,0.020416,0.019712,0.020064,0.020032,0.020448,0.02048,0.019424,0.020288,0.01904,0.01984,0.020352,0.01968,0.02032,0.02048,0.020768,0.02,0.020224,0.020192,0.020416,0.02016,0.020256,0.01504,0.016384,0.015904,0.020352,0.02064,0.02048,0.01968,0.020512,0.02048,0.020032,0.019904,0.021632,0.021056,0.019328,0.019744,0.019744,0.020576,0.020352,0.020416,0.020512,0.02112,0.0192,0.02048,0.020224,0.0192,0.019968,0.0192,0.02,0.019392,0.02032,0.020416,0.019136,0.019872,0.01984,0.02048,0.020352,0.02048,0.019008,0.018528,0.01968,0.02048,0.02048,0.02032,0.020416,0.019104,0.018624,0.020064,0.018848,0.020352,0.020416,0.020192,0.019456,0.021312,0.020448,0.020992,0.01936,0.02048,0.014624,0.019264,0.020064,0.01872,0.02048,0.019072,0.025312,0.019392,0.018848,0.020384,0.019328,0.020032,0.018912,0.018432,0.018432,0.018432,0.020128,0.018976,0.01984,0.018688,0.019584,0.019456,0.018464,0.018688,0.019776,0.018528,0.019936,0.02048,0.018592,0.018432,0.01968,0.014624,0.014784,0.014336,0.01936,0.020352,0.01936,0.018496,0.019008,0.018464,0.019104,0.019168,0.01856,0.01888,0.019616,0.02048,0.01936,0.019168,0.018592,0.020448,0.018976,0.018816,0.01952,0.018432,0.018432,0.020384,0.018816,0.01856,0.01984,0.018848,0.01952,0.019936,0.018432,0.020192,0.018432,0.019872,0.019424,0.018912,0.01968,0.019776,0.019168,0.019072,0.01888,0.018592,0.024576,0.018496,0.020128,0.020096,0.01984,0.018784,0.02048,0.020288,0.020256,0.019296,0.020384,0.019232,0.018944,0.018624,0.018432,0.018624,0.019936,0.014336,0.018528,0.017408,0.018976,0.019968,0.018432,0.019136,0.020032,0.018432,0.020288,0.018592,0.020192,0.019488,0.017984,0.018592,0.019008,0.018432,0.01856,0.01904,0.020256,0.019648,0.01856,0.020416,0.017184,0.018688,0.019552,0.01872,0.0184,0.019936,0.020192,0.018432,0.014336,0.015712,0.020352,0.02048,0.020352,0.019744,0.01856,0.018688,0.018432,0.0192,0.01856,0.019552,0.019744,0.019552,0.018624,0.019168,0.018432,0.018432,0.019712,0.01872,0.019744,0.018592,0.019776,0.01872,0.019488,0.018688,0.019456,0.019648,0.018432,0.017152,0.018464,0.01888,0.019456,0.019072,0.019808,0.018528,0.02016,0.01952,0.01888,0.020384,0.01968,0.018432,0.019104,0.019328,0.018912,0.020032,0.019616,0.018464,0.02016,0.019968,0.018784,0.018432,0.019936,0.01856,0.019808,0.018688,0.018784,0.01888,0.020288,0.018432,0.020128,0.019232,0.019872,0.01888,0.015168,0.018592,0.01872,0.01888,0.019328,0.018432,0.019776,0.019264,0.020192,0.018592,0.01936,0.01888,0.019072,0.020224,0.018432,0.020288,0.019552,0.018784,0.019936,0.018432,0.018816,0.014336,0.018112,0.019616,0.018432,0.018592,0.018272,0.02368,0.590176,0.016384,0.018624,0.018752,0.019936,0.01904,0.019136,0.019264,0.019712,0.019616,0.018976,0.019296,0.020192,0.01904,0.018848,0.018784,0.019744,0.0192,0.019584,0.02048,0.019872,0.018848,0.018592,0.019968,0.018848,0.018528,0.018944,0.018528,0.020032,0.018432,0.01984,0.01856,0.018688,0.02048,0.018528,0.019712,0.019904,0.019808,0.019168,0.018912,0.019136,0.019488,0.018944,0.020192,0.01872,0.018464,0.02048,0.019584,0.018976,0.018432,0.01872,0.020352,0.020224,0.02032,0.018432,0.01984,0.018944,0.01856,0.019264,0.021888,0.019584,0.01904,0.019776,0.018432,0.014336,0.019456,0.018688,0.018688,0.018432,0.01888,0.01904,0.018528,0.018432,0.020032,0.018656,0.01952,0.018848,0.024576,0.01984,0.02016,0.019584,0.0192,0.020032,0.020192,0.018784,0.019552,0.020448,0.020192,0.020032,0.02016,0.022912,0.02048,0.020256,0.019872,0.01872,0.019264,0.016416,0.019456,0.020096,0.018688,0.019104,0.020352,0.019872,0.019296,0.02048,0.020352,0.01856,0.020128,0.019552,0.019264,0.019136,0.019296,0.020032,0.020192,0.020448,0.02048,0.01904,0.020384,0.019968,0.02,0.018976,0.01936,0.02,0.02048,0.020384,0.020448,0.019584,0.019392,0.018784,0.020192,0.01952,0.018912,0.019808,0.01856,0.020192,0.01936,0.018976,0.019712,0.019296,0.01968,0.018656,0.01936,0.019552,0.018816,0.02048,0.02048,0.019552,0.01936,0.019328,0.02016,0.019584,0.018816,0.019008,0.020448,0.020384,0.02032,0.02048,0.020448,0.019744,0.019392,0.020384,0.018912,0.019168,0.020288,0.020352,0.02032,0.018656,0.020352,0.019808,0.01888,0.018528,0.019296,0.02048,0.02048,0.019392,0.018496,0.018432,0.019328,0.01968,0.018496,0.019424,0.018464,0.019168,0.020544,0.020032,0.018752,0.019744,0.019776,0.019776,0.019584,0.019296,0.02048,0.018912,0.020384,0.019648,0.01872,0.019584,0.01536,0.018432,0.01872,0.018912,0.01904,0.01888,0.018432,0.019872,0.020256,0.018816,0.019456,0.01888,0.018432,0.018784,0.018208,0.018688,0.019456,0.018496,0.019008,0.018432,0.019584,0.022656,0.018432,0.018432,0.018848,0.019584,0.018848,0.019552,0.019232,0.020384,0.019488,0.019072,0.018432,0.019552,0.02288,0.018816,0.0184,0.018656,0.01984,0.018496,0.018464,0.018432,0.018432,0.01968,0.018816,0.019616,0.01872,0.024416,0.01952,0.018784,0.019808,0.018432,0.01888,0.018592,0.019136,0.018912,0.018816,0.018464,0.018496,0.018432,0.022528,0.019168,0.018432,0.019776,0.018944,0.02,0.018592,0.01968,0.019712,0.019776,0.018944,0.020416,0.019104,0.020128,0.018432,0.019936,0.019456,0.018912,0.020192,0.01952,0.019776,0.018432,0.018464,0.0184,0.01856,0.018432,0.018624,0.018752,0.01936,0.018592,0.015648,0.019104,0.01888,0.019776,0.018464,0.018688,0.019392,0.019104,0.02,0.018688,0.020256,0.01984,0.023904,0.024576,0.0144,0.014976,0.015424,0.016384,0.01968,0.020192,0.019584,0.020096,0.020256,0.019584,0.018432,0.019168,0.018688,0.018592,0.018432,0.018944,0.01904,0.023808,0.019584,0.024032,0.019776,0.018592,0.019296,0.019104,0.018336,0.019808,0.018528,0.019104,0.019168,0.020224,0.02032,0.020448,0.024288,0.020032,0.019456,0.018624,0.020128,0.019904,0.019552,0.019328,0.018944,0.018624,0.022528,0.0192,0.01904,0.018976,0.020128,0.019872,0.020224,0.02048,0.018912,0.019488,0.019008,0.018912,0.02016,0.018688,0.019744,0.020032,0.019904,0.018816,0.019552,0.019552,0.018432,0.018656,0.019104,0.020032,0.018912,0.019168,0.019392,0.019168,0.019392,0.020384,0.018432,0.018848,0.018688,0.020384,0.01856,0.0192,0.026656,0.019584,0.019552,0.019872,0.018432,0.020352,0.019232,0.018784,0.018432,0.018912,0.02048,0.019424,0.019264,0.019744,0.020512,0.019872,0.01984,0.01904,0.014336,0.018432,0.018528,0.018432,0.018912,0.018432,0.023296,0.019808,0.0184,0.018496,0.018432,0.018368,0.018656,0.018816,0.018784,0.018496,0.018912,0.018304,0.018432,0.023168,0.018432,0.01904,0.017344,0.019488,0.018912,0.018432,0.018432,0.018368,0.01872,0.019744,0.018528,0.018432,0.02304,0.018656,0.018432,0.018432,0.019712,0.018496,0.018464,0.019584,0.01968,0.019104,0.01856,0.01968,0.018496,0.022528,0.01872,0.018592,0.018656,0.018784,0.018112,0.018784,0.018752,0.0184,0.018816,0.020384,0.019616,0.018624,0.018368,0.019008,0.018432,0.018848,0.018432,0.019168,0.019808,0.019296,0.018656,0.019808,0.018528,0.019552,0.018944,0.024576,0.018976,0.018432,0.018624,0.018432,0.019584,0.018496,0.018496,0.018496,0.019584,0.018912,0.018432,0.018432,0.023296,0.020288,0.01952,0.018592,0.019104,0.018624,0.01872,0.018432,0.018688,0.018464,0.01888,0.018528,0.01952,0.01856,0.018784,0.018432,0.018432,0.019488,0.019936,0.018816,0.01856,0.018432,0.0184,0.019328,0.018432,0.020032,0.018208,0.019168,0.019264,0.018432,0.018336,0.018464,0.022528,0.019136,0.018432,0.018432,0.018432,0.018432,0.018432,0.019552,0.018688,0.019968,0.018336,0.018624,0.018752,0.022944,0.019488,0.018432,0.018944,0.019488,0.01872,0.01888,0.01872,0.019552,0.018304,0.018624,0.01968,0.022336,0.022528,0.018432,0.019968,0.01856,0.019904,0.018432,0.018432,0.019456,0.018464,0.018432,0.019808,0.018464,0.018432,0.018592,0.018496,0.018848,0.018432,0.01872,0.018496,0.018432,0.019488,0.018368,0.018656,0.018432,0.01952,0.018848,0.018432,0.018432,0.019648,0.018912,0.018432,0.019392,0.02,0.019552,0.018496,0.018656,0.01728,0.018848,0.018496,0.018432,0.018496,0.018528,0.01856,0.01808,0.018432,0.01904,0.01888,0.019712,0.018816,0.018432,0.019616,0.019936,0.022944,0.014336,0.018944,0.01888,0.019744,0.018432,0.018912,0.018432,0.018976,0.018848,0.018432,0.019648,0.01856,0.018688,0.018432,0.018848,0.019808,0.02048,0.01456,0.015808,0.014336,0.016384,0.019072,0.018432,0.019936,0.020192,0.020416,0.018432,0.019456,0.020224,0.018432,0.018496,0.019008,0.0192,0.019008,0.018432,0.02032,0.018432,0.018816,0.019392,0.023392,0.019296,0.01968,0.02048,0.019072,0.019008,0.019328,0.02048,0.018944,0.01952,0.02336,0.019008,0.019552,0.019104,0.019296,0.019904,0.019712,0.018784,0.019488,0.018432,0.018752,0.018432,0.019744,0.022528,0.018592,0.019104,0.019168,0.019936,0.018592,0.019744,0.019232,0.019456,0.018976,0.019168,0.018688,0.019296,0.024576,0.019136,0.018432,0.01872,0.018848,0.018976,0.018656,0.020448,0.019008,0.018912,0.02048,0.019808,0.018688,0.018432,0.018432,0.018624,0.020192,0.02176,0.018432,0.018912,0.020224,0.019584,0.018752,0.018368,0.018432,0.019744,0.018976,0.018944,0.018944,0.02016,0.019872, +0.150464,0.041728,0.040512,0.04,0.042016,0.039296,0.038976,0.039424,0.038944,0.039168,0.039296,0.03904,0.039936,0.038912,0.040416,0.039616,0.039264,0.03856,0.038912,0.040288,0.038016,0.038912,0.040256,0.039008,0.040288,0.038656,0.038688,0.03856,0.039104,0.039104,0.038912,0.038912,0.040416,0.043136,0.038912,0.038912,0.041632,0.038912,0.037952,0.038624,0.04096,0.038912,0.038912,0.038912,0.039776,0.04064,0.038912,0.038848,0.038912,0.0376,0.038912,0.038816,0.038912,0.038912,0.037888,0.038912,0.039712,0.0392,0.038816,0.038976,0.04016,0.038912,0.040064,0.03952,0.038912,0.038912,0.038912,0.0392,0.043008,0.039104,0.038912,0.038976,0.038912,0.038912,0.044352,0.038912,0.037792,0.039328,0.038624,0.039456,0.039424,0.0392,0.038432,0.038464,0.038528,0.039136,0.038624,0.038848,0.038688,0.037888,0.038912,0.038912,0.03872,0.039072,0.04096,0.03888,0.038592,0.037472,0.039072,0.04,0.038976,0.04064,0.039808,0.04096,0.038912,0.0392,0.039232,0.040064,0.039424,0.040128,0.039008,0.040064,0.04096,0.04096,0.038976,0.038976,0.038912,0.039328,0.039584,0.03888,0.04096,0.039168,0.039168,0.039488,0.038912,0.038656,0.044128,0.038912,0.038912,0.039136,0.0392,0.039968,0.04096,0.038976,0.038752,0.03904,0.039136,0.04096,0.039296,0.038912,0.039744,0.038592,0.03904,0.038432,0.039136,0.041056,0.04016,0.038912,0.038912,0.03904,0.038784,0.039136,0.039168,0.038656,0.038592,0.04384,0.039264,0.038208,0.039232,0.037184,0.038624,0.043168,0.039008,0.0392,0.038912,0.03888,0.040672,0.039424,0.038944,0.039424,0.039008,0.043968,0.038912,0.03936,0.038912,0.038912,0.037632,0.039584,0.043232,0.039008,0.038912,0.045312,0.036576,0.040512,0.039488,0.038944,0.038944,0.040032,0.040096,0.038912,0.039552,0.04064,0.038912,0.043328,0.050528,0.47872,0.034816,0.036256,0.038912,0.038944,0.039136,0.039424,0.038912,0.03936,0.038976,0.040032,0.040832,0.039264,0.038912,0.04096,0.038816,0.038912,0.040064,0.038912,0.038912,0.039328,0.039968,0.039424,0.038496,0.04016,0.040704,0.038784,0.037728,0.044928,0.04096,0.039008,0.038912,0.039872,0.039104,0.041312,0.038592,0.038848,0.038912,0.038848,0.04032,0.045056,0.03872,0.039488,0.040128,0.038912,0.039424,0.04096,0.040768,0.039456,0.038848,0.039136,0.043808,0.039136,0.038464,0.04096,0.038912,0.040256,0.038976,0.03856,0.038912,0.04144,0.04016,0.040384,0.040096,0.038912,0.039296,0.038912,0.041504,0.049728,0.038976,0.04016,0.03952,0.03888,0.038752,0.040352,0.03952,0.039072,0.040128,0.03872,0.040544,0.038784,0.037792,0.039584,0.039648,0.038912,0.034816,0.038912,0.04048,0.03856,0.0376,0.044064,0.040448,0.040128,0.038592,0.038848,0.039008,0.043008,0.038912,0.038912,0.039072,0.040576,0.038944,0.038144,0.038784,0.03872,0.03936,0.038912,0.038912,0.03872,0.038912,0.038912,0.04064,0.039296,0.03968,0.040352,0.040192,0.040704,0.038624,0.038496,0.039296,0.038784,0.03888,0.038944,0.03888,0.037472,0.041056,0.038784,0.038816,0.040672,0.037536,0.03744,0.039008,0.038912,0.039008,0.038816,0.038464,0.038464,0.038752,0.040256,0.037792,0.038432,0.037344,0.037792,0.038688,0.038464,0.0392,0.03968,0.038688,0.038944,0.03904,0.03904,0.039168,0.039296,0.038912,0.045056,0.039328,0.038816,0.036864,0.039968,0.039232,0.044544,0.038752,0.038912,0.039136,0.038816,0.038912,0.0384,0.04032,0.0384,0.039008,0.039328,0.04048,0.039424,0.039008,0.0376,0.038912,0.04096,0.038976,0.040352,0.039648,0.040064,0.039232,0.03904,0.040928,0.039488,0.037792,0.038912,0.039968,0.038656,0.038912,0.040576,0.039616,0.039296,0.040192,0.038912,0.039392,0.038912,0.038656,0.038656,0.039008,0.039392,0.04048,0.04176,0.038912,0.038912,0.039328,0.043008,0.038976,0.037856,0.038944,0.038912,0.040032,0.044768,0.040224,0.039584,0.038816,0.038976,0.038912,0.04112,0.040608,0.039104,0.039392,0.039136,0.038912,0.0408,0.038912,0.040576,0.039392,0.038912,0.038912,0.038752,0.039136,0.038688,0.039008,0.038912,0.038912,0.038912,0.038976,0.038912,0.038912,0.038912,0.038912,0.039008,0.038912,0.039008,0.038816,0.039232,0.042848,0.038912,0.037664,0.038272,0.038688,0.03824,0.043008,0.038656,0.037536,0.038912,0.038592,0.038176,0.037824,0.037152,0.038688,0.038688,0.038816,0.043008,0.046976,0.031456,0.037888,0.043328,0.038912,0.038016,0.038912,0.037472,0.038912,0.039456,0.385024,0.144928,0.032768,0.038912,0.038688,0.038592,0.043232,0.038016,0.037344,0.037792,0.038208,0.038528,0.044832,0.038912,0.038816,0.038432,0.038976,0.036896,0.03888,0.04048,0.041408,0.037696,0.03696,0.038592,0.039008,0.040864,0.038816,0.04016,0.038656,0.039072,0.038976,0.039904,0.038592,0.038912,0.038624,0.043008,0.03792,0.038688,0.038208,0.038912,0.03856,0.038784,0.03888,0.038912,0.038912,0.039616,0.03872,0.042208,0.038752,0.037792,0.037344,0.037536,0.037824,0.042528,0.037728,0.037664,0.038912,0.038912,0.038912,0.038464,0.039008,0.038912,0.037824,0.038816,0.037664,0.038912,0.03872,0.038528,0.03888,0.042848,0.037952,0.038784,0.037664,0.038592,0.038624,0.037024,0.038912,0.03904,0.038816,0.039104,0.038912,0.039072,0.038912,0.038912,0.041856,0.03712,0.038688,0.146944,0.03696,0.038432,0.037408,0.038912,0.038816,0.038112,0.037472,0.036992,0.03904,0.038784,0.038432,0.037088,0.037088,0.038848,0.038912,0.038912,0.039168,0.042496,0.037312,0.037888,0.037632,0.038496,0.03888,0.041696,0.037824,0.037856,0.038912,0.037824,0.038304,0.042144,0.038208,0.03744,0.037632,0.03872,0.04096,0.03744,0.037504,0.037472,0.038368,0.037504,0.037728,0.041184,0.040256,0.03776,0.038944,0.038496,0.037856,0.039008,0.040064,0.03904,0.038112,0.038912,0.04256,0.038912,0.037792,0.037632,0.03856,0.03888,0.038912,0.039552,0.038272,0.038432,0.038912,0.041056,0.039104,0.040448,0.039104,0.037728,0.038912,0.03856,0.038368,0.038912,0.037856,0.037216,0.038752,0.042624,0.03888,0.037376,0.037984,0.037696,0.038208,0.04096,0.03888,0.038304,0.038304,0.038848,0.03728,0.038912,0.037824,0.038912,0.037536,0.038688,0.04,0.038912,0.038464,0.038048,0.039552,0.038528,0.038912,0.03888,0.037408,0.037472,0.038784,0.038816,0.040096,0.038912,0.038912,0.037888,0.038912,0.038496,0.04016,0.039232,0.038048,0.038464,0.038912,0.037024,0.038848,0.040448,0.040416,0.038912,0.038368,0.042848,0.04016,0.043008,0.038688,0.0384,0.038912,0.04048,0.038912,0.038944,0.039264,0.037312,0.038752,0.037888,0.03728,0.037376,0.038592,0.038912,0.0392,0.039648,0.038976,0.038912,0.04112,0.038368,0.04192,0.038912,0.038912,0.038912,0.037728,0.037632,0.040256,0.039488,0.038528,0.039104,0.03792,0.039456,0.038784,0.037888,0.038496,0.038912,0.039104,0.039072,0.038496,0.038784,0.03728,0.038912,0.038272,0.041696,0.03904,0.037376,0.042272,0.037472,0.038912,0.03888,0.037536,0.037536,0.042368,0.041632,0.03232,0.04,0.039616,0.039968,0.037888,0.038912,0.038912,0.039008,0.038912,0.038848,0.042528,0.85984,0.032032,0.033216,0.037472,0.037696,0.039104,0.043008,0.0392,0.038848,0.03856,0.0384,0.038592,0.042944,0.038304,0.038496,0.038944,0.038784,0.038208,0.039328,0.038912,0.03888,0.039136,0.038848,0.040864,0.03776,0.038912,0.038784,0.037824,0.038912,0.038464,0.039104,0.038912,0.039168,0.038912,0.0416,0.03888,0.039232,0.038784,0.050368,0.03888,0.039584,0.039328,0.038592,0.04096,0.037664,0.03872,0.03872,0.038496,0.040288,0.03904,0.038912,0.038912,0.038848,0.038912,0.038912,0.038944,0.038528,0.038464,0.03792,0.03856,0.038688,0.038912,0.038752,0.039936,0.03872,0.038912,0.038688,0.039008,0.040064,0.038656,0.038912,0.04496,0.038752,0.038144,0.038912,0.038528,0.043232,0.038752,0.038912,0.037952,0.038528,0.038112,0.04304,0.038912,0.039392,0.038912,0.04016,0.031616,0.038336,0.038432,0.036864,0.037312,0.038912,0.037984,0.037696,0.037824,0.040832,0.038912,0.038368,0.037888,0.039008,0.038688,0.03712,0.038624,0.037408,0.039008,0.036864,0.037344,0.038816,0.038496,0.037984,0.037888,0.038912,0.037472,0.03824,0.037632,0.038272,0.0392,0.037664,0.038496,0.038304,0.038464,0.037632,0.038496,0.038624,0.03856,0.038016,0.037248,0.038912,0.038624,0.037888,0.037728,0.037856,0.038144,0.039072,0.038752,0.038432,0.042336,0.03872,0.038912,0.0432,0.03888,0.038976,0.038976,0.037408,0.039296,0.043264,0.03856,0.03744,0.037568,0.038432,0.03712,0.040896,0.038688,0.037184,0.038816,0.037536,0.038624,0.038592,0.038784,0.039488,0.038368,0.03856,0.038912,0.038496,0.038784,0.04128,0.038496,0.037088,0.039616,0.038976,0.038368,0.038912,0.039072,0.038912,0.0392,0.038944,0.038912,0.039232,0.038912,0.038752,0.038336,0.038624,0.038912,0.038688,0.038304,0.037632,0.039008,0.038912,0.038656,0.038272,0.037408,0.037472,0.03696,0.03888,0.038912,0.038912,0.038912,0.038496,0.03856,0.0384,0.037344,0.037824,0.038912,0.037088,0.042656,0.038816,0.03856,0.03856,0.038592,0.037568,0.037088,0.036864,0.038816,0.037504,0.038912,0.038592,0.036992,0.037472,0.03872,0.037184,0.038688,0.03712,0.038144,0.037248,0.037664,0.037152,0.039904,0.0384,0.038432,0.03696,0.037728,0.03856,0.037472,0.038592,0.038976,0.037216,0.037792,0.037632,0.038752,0.04272,0.038688,0.038464,0.038688,0.038816,0.037472,0.042592,0.037056,0.038784,0.038912,0.038912,0.038912,0.04448, +0.338496,0.017344,0.016608,0.016864,0.016544,0.016384,0.016384,0.016384,0.01664,0.018112,0.01632,0.016384,0.016512,0.01696,0.016352,0.016384,0.016384,0.016608,0.011712,0.016288,0.015936,0.016384,0.016384,0.016128,0.016704,0.015392,0.016288,0.01776,0.438752,0.01024,0.015424,0.016288,0.012064,0.016384,0.016384,0.016928,0.016512,0.016384,0.016448,0.017248,0.016352,0.016544,0.016416,0.016384,0.016416,0.016704,0.016448,0.01632,0.016576,0.016384,0.01616,0.01648,0.016416,0.016384,0.016384,0.017536,0.016384,0.01632,0.016384,0.01664,0.016608,0.01648,0.01776,0.016384,0.016384,0.016224,0.016384,0.016544,0.016384,0.016576,0.016384,0.016384,0.016608,0.017344,0.015264,0.017056,0.016608,0.016384,0.016416,0.016576,0.016384,0.016352,0.016384,0.017536,0.016384,0.016896,0.016256,0.016224,0.016928,0.016384,0.016224,0.016608,0.016512,0.016512,0.01728,0.017024,0.016736,0.016384,0.016384,0.016384,0.016384,0.01648,0.016832,0.01648,0.016384,0.017504,0.016384,0.016544,0.016448,0.016416,0.017536,0.017536,0.016384,0.016544,0.016384,0.01696,0.017344,0.016384,0.016448,0.016384,0.016384,0.017184,0.016512,0.016736,0.016416,0.016416,0.016608,0.01072,0.016512,0.016384,0.016384,0.01744,0.016384,0.01744,0.016448,0.016384,0.016416,0.016832,0.015392,0.01664,0.01728,0.017408,0.01648,0.016384,0.016352,0.016384,0.016352,0.016992,0.016384,0.016448,0.016256,0.016384,0.016128,0.01632,0.016416,0.016128,0.016384,0.016512,0.016352,0.016384,0.016384,0.016736,0.015232,0.016256,0.016352,0.016416,0.016288,0.016608,0.0168,0.016512,0.016384,0.016704,0.016384,0.01552,0.016896,0.01744,0.016384,0.016416,0.015328,0.016608,0.01616,0.016448,0.016448,0.016352,0.01744,0.016384,0.016288,0.018432,0.016384,0.017376,0.01728,0.016384,1.1577,0.01088,0.017408,0.012288,0.017536,0.01696,0.016384,0.016384,0.01712,0.016448,0.016384,0.016448,0.016256,0.01632,0.016544,0.016384,0.016384,0.016512,0.016224,0.016384,0.016128,0.016384,0.016256,0.016384,0.0152,0.01024,0.016384,0.016384,0.016384,0.01632,0.016384,0.016448,0.01664,0.016384,0.016288,0.01648,0.016512,0.01648,0.016384,0.016352,0.016384,0.01632,0.016384,0.016288,0.016352,0.01744,0.016384,0.016544,0.016384,0.016352,0.016384,0.017408,0.016096,0.016224,0.016384,0.01648,0.016384,0.01664,0.016,0.016416,0.018432,0.016672,0.015456,0.016128,0.016416,0.020352,0.016352,0.01664,0.016256,0.016384,0.016448,0.016384,0.015424,0.016448,0.016224,0.0176,0.01616,0.016352,0.016256,0.016384,0.021024,0.016352,0.0152,0.016384,0.016384,0.01632,0.01616,0.016704,0.016032,0.016384,0.016256,0.01664,0.016,0.016096,0.016544,0.017376,0.016416,0.016384,0.016448,0.016448,0.016096,0.016608,0.016256,0.016384,0.016512,0.016384,0.016064,0.016384,0.01664,0.016384,0.015744,0.016384,0.016416,0.016544,0.016384,0.016448,0.016096,0.011072,0.016416,0.016608,0.01648,0.01632,0.01536,0.016384,0.015296,0.016384,0.016384,0.016416,0.01648,0.016,0.015968,0.016384,0.016448,0.436224,0.010624,0.016416,0.016512,0.012288,0.016384,0.016384,0.017472,0.016448,0.016384,0.016384,0.016384,0.016256,0.014976,0.016384,0.016352,0.016384,0.016384,0.01632,0.016384,0.017504,0.015296,0.016576,0.016832,0.01632,0.016544,0.021984,0.01648,0.016384,0.016384,0.0168,0.01632,0.01632,0.01632,0.017376,0.016384,0.016224,0.015872,0.016448,0.016224,0.017472,0.016832,0.016384,0.016128,0.016384,0.015008,0.023968,0.016384,0.01664,0.016544,0.01792,0.016384,0.016352,0.01632,0.018496,0.016352,0.016384,0.016384,0.016384,0.016448,0.016384,0.016416,0.016512,0.016512,0.015136,0.016384,0.016384,0.016704,0.016352,0.016288,0.016544,0.016256,0.016608,0.016384,0.016384,0.016896,0.016512,0.023232,0.0168,0.021056,0.016384,0.016256,0.016096,0.016384,0.016256,0.015328,0.017472,0.016384,0.016384,0.016384,0.01664,0.017472,0.016384,0.01648,0.017376,0.01632,0.016384,0.016192,0.012288,0.017088,0.016544,0.015232,0.016352,0.016512,0.016384,0.016384,0.015168,0.016288,0.017312,0.016384,0.016896,0.016192,0.016544,0.01648,0.01648,0.017888,0.016608,0.016416,0.016352,0.016256,0.016416,0.016384,0.016576,0.016576,0.016,0.01632,0.016384,0.016352,0.016384,0.015136,0.016384,0.016128,0.016384,0.016384,0.01632,0.01632,0.016256,0.016384,0.01648,0.016384,0.016256,0.016384,0.016672,0.016384,0.016256,0.016224,0.016192,0.017888,0.015936,0.016192,0.015232,0.016448,0.016384,0.01648,0.016384,0.016192,0.020608,0.01536,0.016256,0.016576,0.016032,0.016384,0.015232,0.016416,0.016384,0.016096,0.016384,0.01616,0.016096,0.016352,0.016384,0.016352,0.016384,0.016384,0.017472,0.016576,0.01872,0.016384,0.016384,0.016384,0.016384,0.015328,0.016288,0.024832,0.017536,0.016992,0.016384,0.016384,0.016384,0.023584,0.016384,0.016,0.016032,0.016096,0.016384,0.016448,0.016224,0.015264,0.016384,0.016256,0.016384,0.016384,0.017312,0.016384,0.016352,0.016192,0.792768,0.01024,0.012096,0.016384,0.016384,0.016448,0.015904,0.016384,0.016384,0.016384,0.016256,0.016384,0.016128,0.016384,0.01536,0.016256,0.016384,0.016448,0.016384,0.016448,0.0176,0.015168,0.01648,0.016224,0.016384,0.016384,0.0152,0.01488,0.015328,0.016416,0.016288,0.015296,0.016384,0.016384,0.016384,0.01664,0.016384,0.01648,0.016224,0.016384,0.016224,0.016416,0.016544,0.016288,0.016224,0.01632,0.01584,0.015104,0.021856,0.016384,0.016352,0.015968,0.01776,0.015232,0.016,0.016384,0.015296,0.016288,0.016256,0.016384,0.01632,0.016384,0.016448,0.02048,0.016384,0.015872,0.015136,0.016384,0.020704,0.016352,0.015936,0.016384,0.016,0.016384,0.016384,0.016768,0.016384,0.016384,0.015232,0.01632,0.0168,0.016384,0.015296,0.01632,0.016064,0.016224,0.015072,0.016256,0.01632,0.016256,0.015968,0.016384,0.0168,0.016352,0.016352,0.836224,0.012096,0.016768,0.016384,0.016384,0.016384,0.016384,0.016448,0.016384,0.016384,0.016384,0.016576,0.016384,0.016064,0.016128,0.016224,0.016384,0.016384,0.016128,0.016416,0.016384,0.016192,0.017312,0.015104,0.016384,0.016544,0.016384,0.016384,0.016288,0.016224,0.016384,0.015008,0.016576,0.016288,0.016256,0.016192,0.016384,0.01568,0.020096,0.016384,0.015232,0.016384,0.015328,0.015328,0.01744,0.016384,0.016384,0.015968,0.01616,0.016192,0.016384,0.016384,0.017696,0.016384,0.0168,0.016384,0.015328,0.016384,0.02048,0.016192,0.016192,0.016,0.016448,0.016064,0.016288,0.017504,0.016448,0.016384,0.015872,0.0176,0.015904,0.014816,0.016384,0.01616,0.015104,0.016384,0.016384,0.016288,0.016832,0.020064,0.017376,0.016512,0.016032,0.016384,0.016288,0.017664,0.017472,0.015872,0.016064,0.016576,0.016384,0.016384,0.016384,0.016384,0.016384,0.016384,0.016416,0.83792,0.012192,0.017408,0.016384,0.016128,0.016384,0.016384,0.015968,0.016384,0.016,0.016128,0.016384,0.015104,0.015264,0.016384,0.015104,0.016384,0.016288,0.016384,0.016384,0.016384,0.01648,0.016256,0.016384,0.016384,0.016256,0.016832,0.017376,0.016288,0.015296,0.016192,0.015936,0.01536,0.016384,0.016384,0.016096,0.016384,0.016384,0.016384,0.015328,0.016384,0.016384,0.016384,0.016384,0.015296,0.021824,0.016096,0.016608,0.01616,0.015168,0.016224,0.016192,0.016384,0.016384,0.016384,0.01536,0.015168,0.016384,0.016192,0.016384,0.015808,0.016384,0.016288,0.016384,0.016384,0.016384,0.016384,0.016384,0.017312,0.016576,0.016096,0.016224,0.01616,0.01504,0.016384,0.016544,0.014656,0.016608,0.016544,0.01632,0.01648,0.016512,0.016288,0.016416,0.016352,0.016384,0.016384,0.016288,0.016384,0.016384,0.016128,0.016128,0.016064,0.016,0.016384,0.017504,0.016224,0.343744,1.04038,0.018432,0.016576,0.016384,0.016384,0.017312,0.015424,0.016352,0.016384,0.01648,0.016512,0.016128,0.016512,0.01616,0.016416,0.016384,0.016416,0.015872,0.015232,0.01616,0.016256,0.02048,0.01616,0.017024,0.016384,0.016352,0.01616,0.016512,0.01616,0.016384,0.016256,0.016096,0.016384,0.016192,0.016288,0.016384,0.016384,0.016352,0.015328,0.016384,0.016192,0.016384,0.016416,0.016384,0.015872,0.015808,0.016416,0.016384,0.016384,0.016128,0.01616,0.016096,0.015296,0.015904,0.016128,0.01744,0.015264,0.016288,0.01712,0.016256,0.016224,0.016384,0.016192,0.016448,0.016064,0.01664,0.01616,0.016384,0.016544,0.016416,0.015264,0.016384,0.016384,0.016384,0.0152,0.016384,0.016352,0.016288,0.016384,0.01632,0.017728,0.016384,0.015296,0.016384,0.016384,0.015968,0.016512,0.016384,0.016416,0.016384,0.017568,0.01632,0.016384,0.016384,0.016768,0.342208,0.12288,0.017568,0.01552,0.012288,0.01264,0.017696,0.016288,0.016384,0.016384,0.016352,0.016384,0.016384,0.016384,0.016384,0.016384,0.016384,0.016384,0.01632,0.016384,0.016384,0.015264,0.016384,0.017664,0.016416,0.016448,0.016384,0.016,0.016224,0.015808,0.01648,0.016384,0.016384,0.016224,0.017664,0.014976,0.01648,0.017408,0.01616,0.016416,0.016192,0.015968,0.016416,0.016384,0.016384,0.01632,0.01552,0.016384,0.016384,0.016384,0.016384,0.016384,0.016288,0.016384,0.016384,0.016416,0.016128,0.01648,0.016384,0.01632,0.015808,0.015872,0.016384,0.016384,0.016512,0.016224,0.016384,0.016384,0.016384,0.016352,0.016416,0.016224,0.016064,0.015168,0.015104,0.01632,0.016384,0.016096,0.0152,0.016096,0.016352,0.016384,0.01536,0.01728, diff --git a/analysis/project/graph.py b/analysis/project/graph.py new file mode 100644 index 0000000..1736c6f --- /dev/null +++ b/analysis/project/graph.py @@ -0,0 +1,58 @@ +import matplotlib.pyplot as plt +import csv +import os +import statistics +from collections import defaultdict +import numpy as np + +data_path = "../data" + +scan_types = ["CPU", "Naive", "Efficient", "Thrust"] +array_sizes = [] +ys = {} +errs = {} + +for scan_type in scan_types: + ys[scan_type] = [] + errs[scan_type] = [] + +filenames = [filename for filename in os.listdir(data_path)] +filenames.sort(key=lambda name: int(name.split('.')[0])) +# filenames = filenames[:-1] +# filenames = [filenames[-1]] + +for filename in filenames: + array_sizes.append(1 << int(filename.split('.')[0])) + with open(data_path + "/" + filename) as file: + reader = csv.reader(file) + for (scan_type, line) in zip(scan_types, reader): + contents = [float(val) for val in line if val != ''] + mean = statistics.mean(contents) + stdev = statistics.stdev(contents) + ys[scan_type].append(mean) + errs[scan_type].append(stdev) + + print(array_sizes[-1], scan_type, mean, stdev) + +# xs = np.arange(len(array_sizes)) +# fig, ax = plt.subplots() +# bar_width = 0.1 + +# for (index, scan_type) in enumerate(scan_types): +# ax.bar( +# xs + (index - len(scan_types) / 2) * bar_width, ys[scan_type], bar_width, label = scan_type, yerr=errs[scan_type] +# ) + +# ax.legend() + +# # ax.set_ylim(0, 1) +# ax.set_ylabel("Milliseconds") + +# # ax.set_xlabel("Array size") +# ax.set_xticks([]) +# # ax.set_xticks(xs) +# # ax.set_xticklabels(array_sizes) + +# ax.set_title("Time to run scan on array of 2^23") + +# plt.savefig('chart.png') \ No newline at end of file diff --git a/analysis/project/poetry.lock b/analysis/project/poetry.lock new file mode 100644 index 0000000..56c24e8 --- /dev/null +++ b/analysis/project/poetry.lock @@ -0,0 +1,565 @@ +# This file is automatically @generated by Poetry 1.8.3 and should not be changed by hand. + +[[package]] +name = "contourpy" +version = "1.3.0" +description = "Python library for calculating contours of 2D quadrilateral grids" +optional = false +python-versions = ">=3.9" +files = [ + {file = "contourpy-1.3.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:880ea32e5c774634f9fcd46504bf9f080a41ad855f4fef54f5380f5133d343c7"}, + {file = "contourpy-1.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:76c905ef940a4474a6289c71d53122a4f77766eef23c03cd57016ce19d0f7b42"}, + {file = "contourpy-1.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:92f8557cbb07415a4d6fa191f20fd9d2d9eb9c0b61d1b2f52a8926e43c6e9af7"}, + {file = "contourpy-1.3.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:36f965570cff02b874773c49bfe85562b47030805d7d8360748f3eca570f4cab"}, + {file = "contourpy-1.3.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cacd81e2d4b6f89c9f8a5b69b86490152ff39afc58a95af002a398273e5ce589"}, + {file = "contourpy-1.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:69375194457ad0fad3a839b9e29aa0b0ed53bb54db1bfb6c3ae43d111c31ce41"}, + {file = "contourpy-1.3.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:7a52040312b1a858b5e31ef28c2e865376a386c60c0e248370bbea2d3f3b760d"}, + {file = "contourpy-1.3.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:3faeb2998e4fcb256542e8a926d08da08977f7f5e62cf733f3c211c2a5586223"}, + {file = "contourpy-1.3.0-cp310-cp310-win32.whl", hash = "sha256:36e0cff201bcb17a0a8ecc7f454fe078437fa6bda730e695a92f2d9932bd507f"}, + {file = "contourpy-1.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:87ddffef1dbe5e669b5c2440b643d3fdd8622a348fe1983fad7a0f0ccb1cd67b"}, + {file = "contourpy-1.3.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0fa4c02abe6c446ba70d96ece336e621efa4aecae43eaa9b030ae5fb92b309ad"}, + {file = "contourpy-1.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:834e0cfe17ba12f79963861e0f908556b2cedd52e1f75e6578801febcc6a9f49"}, + {file = "contourpy-1.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dbc4c3217eee163fa3984fd1567632b48d6dfd29216da3ded3d7b844a8014a66"}, + {file = "contourpy-1.3.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4865cd1d419e0c7a7bf6de1777b185eebdc51470800a9f42b9e9decf17762081"}, + {file = "contourpy-1.3.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:303c252947ab4b14c08afeb52375b26781ccd6a5ccd81abcdfc1fafd14cf93c1"}, + {file = "contourpy-1.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:637f674226be46f6ba372fd29d9523dd977a291f66ab2a74fbeb5530bb3f445d"}, + {file = "contourpy-1.3.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:76a896b2f195b57db25d6b44e7e03f221d32fe318d03ede41f8b4d9ba1bff53c"}, + {file = "contourpy-1.3.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:e1fd23e9d01591bab45546c089ae89d926917a66dceb3abcf01f6105d927e2cb"}, + {file = "contourpy-1.3.0-cp311-cp311-win32.whl", hash = "sha256:d402880b84df3bec6eab53cd0cf802cae6a2ef9537e70cf75e91618a3801c20c"}, + {file = "contourpy-1.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:6cb6cc968059db9c62cb35fbf70248f40994dfcd7aa10444bbf8b3faeb7c2d67"}, + {file = "contourpy-1.3.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:570ef7cf892f0afbe5b2ee410c507ce12e15a5fa91017a0009f79f7d93a1268f"}, + {file = "contourpy-1.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:da84c537cb8b97d153e9fb208c221c45605f73147bd4cadd23bdae915042aad6"}, + {file = "contourpy-1.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0be4d8425bfa755e0fd76ee1e019636ccc7c29f77a7c86b4328a9eb6a26d0639"}, + {file = "contourpy-1.3.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9c0da700bf58f6e0b65312d0a5e695179a71d0163957fa381bb3c1f72972537c"}, + {file = "contourpy-1.3.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eb8b141bb00fa977d9122636b16aa67d37fd40a3d8b52dd837e536d64b9a4d06"}, + {file = "contourpy-1.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3634b5385c6716c258d0419c46d05c8aa7dc8cb70326c9a4fb66b69ad2b52e09"}, + {file = "contourpy-1.3.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:0dce35502151b6bd35027ac39ba6e5a44be13a68f55735c3612c568cac3805fd"}, + {file = "contourpy-1.3.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:aea348f053c645100612b333adc5983d87be69acdc6d77d3169c090d3b01dc35"}, + {file = "contourpy-1.3.0-cp312-cp312-win32.whl", hash = "sha256:90f73a5116ad1ba7174341ef3ea5c3150ddf20b024b98fb0c3b29034752c8aeb"}, + {file = "contourpy-1.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:b11b39aea6be6764f84360fce6c82211a9db32a7c7de8fa6dd5397cf1d079c3b"}, + {file = "contourpy-1.3.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:3e1c7fa44aaae40a2247e2e8e0627f4bea3dd257014764aa644f319a5f8600e3"}, + {file = "contourpy-1.3.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:364174c2a76057feef647c802652f00953b575723062560498dc7930fc9b1cb7"}, + {file = "contourpy-1.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:32b238b3b3b649e09ce9aaf51f0c261d38644bdfa35cbaf7b263457850957a84"}, + {file = "contourpy-1.3.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d51fca85f9f7ad0b65b4b9fe800406d0d77017d7270d31ec3fb1cc07358fdea0"}, + {file = "contourpy-1.3.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:732896af21716b29ab3e988d4ce14bc5133733b85956316fb0c56355f398099b"}, + {file = "contourpy-1.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d73f659398a0904e125280836ae6f88ba9b178b2fed6884f3b1f95b989d2c8da"}, + {file = "contourpy-1.3.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c6c7c2408b7048082932cf4e641fa3b8ca848259212f51c8c59c45aa7ac18f14"}, + {file = "contourpy-1.3.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f317576606de89da6b7e0861cf6061f6146ead3528acabff9236458a6ba467f8"}, + {file = "contourpy-1.3.0-cp313-cp313-win32.whl", hash = "sha256:31cd3a85dbdf1fc002280c65caa7e2b5f65e4a973fcdf70dd2fdcb9868069294"}, + {file = "contourpy-1.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:4553c421929ec95fb07b3aaca0fae668b2eb5a5203d1217ca7c34c063c53d087"}, + {file = "contourpy-1.3.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:345af746d7766821d05d72cb8f3845dfd08dd137101a2cb9b24de277d716def8"}, + {file = "contourpy-1.3.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3bb3808858a9dc68f6f03d319acd5f1b8a337e6cdda197f02f4b8ff67ad2057b"}, + {file = "contourpy-1.3.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:420d39daa61aab1221567b42eecb01112908b2cab7f1b4106a52caaec8d36973"}, + {file = "contourpy-1.3.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4d63ee447261e963af02642ffcb864e5a2ee4cbfd78080657a9880b8b1868e18"}, + {file = "contourpy-1.3.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:167d6c890815e1dac9536dca00828b445d5d0df4d6a8c6adb4a7ec3166812fa8"}, + {file = "contourpy-1.3.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:710a26b3dc80c0e4febf04555de66f5fd17e9cf7170a7b08000601a10570bda6"}, + {file = "contourpy-1.3.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:75ee7cb1a14c617f34a51d11fa7524173e56551646828353c4af859c56b766e2"}, + {file = "contourpy-1.3.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:33c92cdae89ec5135d036e7218e69b0bb2851206077251f04a6c4e0e21f03927"}, + {file = "contourpy-1.3.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a11077e395f67ffc2c44ec2418cfebed032cd6da3022a94fc227b6faf8e2acb8"}, + {file = "contourpy-1.3.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e8134301d7e204c88ed7ab50028ba06c683000040ede1d617298611f9dc6240c"}, + {file = "contourpy-1.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e12968fdfd5bb45ffdf6192a590bd8ddd3ba9e58360b29683c6bb71a7b41edca"}, + {file = "contourpy-1.3.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fd2a0fc506eccaaa7595b7e1418951f213cf8255be2600f1ea1b61e46a60c55f"}, + {file = "contourpy-1.3.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4cfb5c62ce023dfc410d6059c936dcf96442ba40814aefbfa575425a3a7f19dc"}, + {file = "contourpy-1.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:68a32389b06b82c2fdd68276148d7b9275b5f5cf13e5417e4252f6d1a34f72a2"}, + {file = "contourpy-1.3.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:94e848a6b83da10898cbf1311a815f770acc9b6a3f2d646f330d57eb4e87592e"}, + {file = "contourpy-1.3.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:d78ab28a03c854a873787a0a42254a0ccb3cb133c672f645c9f9c8f3ae9d0800"}, + {file = "contourpy-1.3.0-cp39-cp39-win32.whl", hash = "sha256:81cb5ed4952aae6014bc9d0421dec7c5835c9c8c31cdf51910b708f548cf58e5"}, + {file = "contourpy-1.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:14e262f67bd7e6eb6880bc564dcda30b15e351a594657e55b7eec94b6ef72843"}, + {file = "contourpy-1.3.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:fe41b41505a5a33aeaed2a613dccaeaa74e0e3ead6dd6fd3a118fb471644fd6c"}, + {file = "contourpy-1.3.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eca7e17a65f72a5133bdbec9ecf22401c62bcf4821361ef7811faee695799779"}, + {file = "contourpy-1.3.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:1ec4dc6bf570f5b22ed0d7efba0dfa9c5b9e0431aeea7581aa217542d9e809a4"}, + {file = "contourpy-1.3.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:00ccd0dbaad6d804ab259820fa7cb0b8036bda0686ef844d24125d8287178ce0"}, + {file = "contourpy-1.3.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ca947601224119117f7c19c9cdf6b3ab54c5726ef1d906aa4a69dfb6dd58102"}, + {file = "contourpy-1.3.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:c6ec93afeb848a0845a18989da3beca3eec2c0f852322efe21af1931147d12cb"}, + {file = "contourpy-1.3.0.tar.gz", hash = "sha256:7ffa0db17717a8ffb127efd0c95a4362d996b892c2904db72428d5b52e1938a4"}, +] + +[package.dependencies] +numpy = ">=1.23" + +[package.extras] +bokeh = ["bokeh", "selenium"] +docs = ["furo", "sphinx (>=7.2)", "sphinx-copybutton"] +mypy = ["contourpy[bokeh,docs]", "docutils-stubs", "mypy (==1.11.1)", "types-Pillow"] +test = ["Pillow", "contourpy[test-no-images]", "matplotlib"] +test-no-images = ["pytest", "pytest-cov", "pytest-rerunfailures", "pytest-xdist", "wurlitzer"] + +[[package]] +name = "cycler" +version = "0.12.1" +description = "Composable style cycles" +optional = false +python-versions = ">=3.8" +files = [ + {file = "cycler-0.12.1-py3-none-any.whl", hash = "sha256:85cef7cff222d8644161529808465972e51340599459b8ac3ccbac5a854e0d30"}, + {file = "cycler-0.12.1.tar.gz", hash = "sha256:88bb128f02ba341da8ef447245a9e138fae777f6a23943da4540077d3601eb1c"}, +] + +[package.extras] +docs = ["ipython", "matplotlib", "numpydoc", "sphinx"] +tests = ["pytest", "pytest-cov", "pytest-xdist"] + +[[package]] +name = "fonttools" +version = "4.53.1" +description = "Tools to manipulate font files" +optional = false +python-versions = ">=3.8" +files = [ + {file = "fonttools-4.53.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0679a30b59d74b6242909945429dbddb08496935b82f91ea9bf6ad240ec23397"}, + {file = "fonttools-4.53.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e8bf06b94694251861ba7fdeea15c8ec0967f84c3d4143ae9daf42bbc7717fe3"}, + {file = "fonttools-4.53.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b96cd370a61f4d083c9c0053bf634279b094308d52fdc2dd9a22d8372fdd590d"}, + {file = "fonttools-4.53.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a1c7c5aa18dd3b17995898b4a9b5929d69ef6ae2af5b96d585ff4005033d82f0"}, + {file = "fonttools-4.53.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e013aae589c1c12505da64a7d8d023e584987e51e62006e1bb30d72f26522c41"}, + {file = "fonttools-4.53.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:9efd176f874cb6402e607e4cc9b4a9cd584d82fc34a4b0c811970b32ba62501f"}, + {file = "fonttools-4.53.1-cp310-cp310-win32.whl", hash = "sha256:c8696544c964500aa9439efb6761947393b70b17ef4e82d73277413f291260a4"}, + {file = "fonttools-4.53.1-cp310-cp310-win_amd64.whl", hash = "sha256:8959a59de5af6d2bec27489e98ef25a397cfa1774b375d5787509c06659b3671"}, + {file = "fonttools-4.53.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:da33440b1413bad53a8674393c5d29ce64d8c1a15ef8a77c642ffd900d07bfe1"}, + {file = "fonttools-4.53.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5ff7e5e9bad94e3a70c5cd2fa27f20b9bb9385e10cddab567b85ce5d306ea923"}, + {file = "fonttools-4.53.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c6e7170d675d12eac12ad1a981d90f118c06cf680b42a2d74c6c931e54b50719"}, + {file = "fonttools-4.53.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bee32ea8765e859670c4447b0817514ca79054463b6b79784b08a8df3a4d78e3"}, + {file = "fonttools-4.53.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6e08f572625a1ee682115223eabebc4c6a2035a6917eac6f60350aba297ccadb"}, + {file = "fonttools-4.53.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b21952c092ffd827504de7e66b62aba26fdb5f9d1e435c52477e6486e9d128b2"}, + {file = "fonttools-4.53.1-cp311-cp311-win32.whl", hash = "sha256:9dfdae43b7996af46ff9da520998a32b105c7f098aeea06b2226b30e74fbba88"}, + {file = "fonttools-4.53.1-cp311-cp311-win_amd64.whl", hash = "sha256:d4d0096cb1ac7a77b3b41cd78c9b6bc4a400550e21dc7a92f2b5ab53ed74eb02"}, + {file = "fonttools-4.53.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:d92d3c2a1b39631a6131c2fa25b5406855f97969b068e7e08413325bc0afba58"}, + {file = "fonttools-4.53.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3b3c8ebafbee8d9002bd8f1195d09ed2bd9ff134ddec37ee8f6a6375e6a4f0e8"}, + {file = "fonttools-4.53.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:32f029c095ad66c425b0ee85553d0dc326d45d7059dbc227330fc29b43e8ba60"}, + {file = "fonttools-4.53.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:10f5e6c3510b79ea27bb1ebfcc67048cde9ec67afa87c7dd7efa5c700491ac7f"}, + {file = "fonttools-4.53.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:f677ce218976496a587ab17140da141557beb91d2a5c1a14212c994093f2eae2"}, + {file = "fonttools-4.53.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:9e6ceba2a01b448e36754983d376064730690401da1dd104ddb543519470a15f"}, + {file = "fonttools-4.53.1-cp312-cp312-win32.whl", hash = "sha256:791b31ebbc05197d7aa096bbc7bd76d591f05905d2fd908bf103af4488e60670"}, + {file = "fonttools-4.53.1-cp312-cp312-win_amd64.whl", hash = "sha256:6ed170b5e17da0264b9f6fae86073be3db15fa1bd74061c8331022bca6d09bab"}, + {file = "fonttools-4.53.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:c818c058404eb2bba05e728d38049438afd649e3c409796723dfc17cd3f08749"}, + {file = "fonttools-4.53.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:651390c3b26b0c7d1f4407cad281ee7a5a85a31a110cbac5269de72a51551ba2"}, + {file = "fonttools-4.53.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e54f1bba2f655924c1138bbc7fa91abd61f45c68bd65ab5ed985942712864bbb"}, + {file = "fonttools-4.53.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c9cd19cf4fe0595ebdd1d4915882b9440c3a6d30b008f3cc7587c1da7b95be5f"}, + {file = "fonttools-4.53.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:2af40ae9cdcb204fc1d8f26b190aa16534fcd4f0df756268df674a270eab575d"}, + {file = "fonttools-4.53.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:35250099b0cfb32d799fb5d6c651220a642fe2e3c7d2560490e6f1d3f9ae9169"}, + {file = "fonttools-4.53.1-cp38-cp38-win32.whl", hash = "sha256:f08df60fbd8d289152079a65da4e66a447efc1d5d5a4d3f299cdd39e3b2e4a7d"}, + {file = "fonttools-4.53.1-cp38-cp38-win_amd64.whl", hash = "sha256:7b6b35e52ddc8fb0db562133894e6ef5b4e54e1283dff606fda3eed938c36fc8"}, + {file = "fonttools-4.53.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:75a157d8d26c06e64ace9df037ee93a4938a4606a38cb7ffaf6635e60e253b7a"}, + {file = "fonttools-4.53.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4824c198f714ab5559c5be10fd1adf876712aa7989882a4ec887bf1ef3e00e31"}, + {file = "fonttools-4.53.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:becc5d7cb89c7b7afa8321b6bb3dbee0eec2b57855c90b3e9bf5fb816671fa7c"}, + {file = "fonttools-4.53.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:84ec3fb43befb54be490147b4a922b5314e16372a643004f182babee9f9c3407"}, + {file = "fonttools-4.53.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:73379d3ffdeecb376640cd8ed03e9d2d0e568c9d1a4e9b16504a834ebadc2dfb"}, + {file = "fonttools-4.53.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:02569e9a810f9d11f4ae82c391ebc6fb5730d95a0657d24d754ed7763fb2d122"}, + {file = "fonttools-4.53.1-cp39-cp39-win32.whl", hash = "sha256:aae7bd54187e8bf7fd69f8ab87b2885253d3575163ad4d669a262fe97f0136cb"}, + {file = "fonttools-4.53.1-cp39-cp39-win_amd64.whl", hash = "sha256:e5b708073ea3d684235648786f5f6153a48dc8762cdfe5563c57e80787c29fbb"}, + {file = "fonttools-4.53.1-py3-none-any.whl", hash = "sha256:f1f8758a2ad110bd6432203a344269f445a2907dc24ef6bccfd0ac4e14e0d71d"}, + {file = "fonttools-4.53.1.tar.gz", hash = "sha256:e128778a8e9bc11159ce5447f76766cefbd876f44bd79aff030287254e4752c4"}, +] + +[package.extras] +all = ["brotli (>=1.0.1)", "brotlicffi (>=0.8.0)", "fs (>=2.2.0,<3)", "lxml (>=4.0)", "lz4 (>=1.7.4.2)", "matplotlib", "munkres", "pycairo", "scipy", "skia-pathops (>=0.5.0)", "sympy", "uharfbuzz (>=0.23.0)", "unicodedata2 (>=15.1.0)", "xattr", "zopfli (>=0.1.4)"] +graphite = ["lz4 (>=1.7.4.2)"] +interpolatable = ["munkres", "pycairo", "scipy"] +lxml = ["lxml (>=4.0)"] +pathops = ["skia-pathops (>=0.5.0)"] +plot = ["matplotlib"] +repacker = ["uharfbuzz (>=0.23.0)"] +symfont = ["sympy"] +type1 = ["xattr"] +ufo = ["fs (>=2.2.0,<3)"] +unicode = ["unicodedata2 (>=15.1.0)"] +woff = ["brotli (>=1.0.1)", "brotlicffi (>=0.8.0)", "zopfli (>=0.1.4)"] + +[[package]] +name = "kiwisolver" +version = "1.4.7" +description = "A fast implementation of the Cassowary constraint solver" +optional = false +python-versions = ">=3.8" +files = [ + {file = "kiwisolver-1.4.7-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:8a9c83f75223d5e48b0bc9cb1bf2776cf01563e00ade8775ffe13b0b6e1af3a6"}, + {file = "kiwisolver-1.4.7-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:58370b1ffbd35407444d57057b57da5d6549d2d854fa30249771775c63b5fe17"}, + {file = "kiwisolver-1.4.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:aa0abdf853e09aff551db11fce173e2177d00786c688203f52c87ad7fcd91ef9"}, + {file = "kiwisolver-1.4.7-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:8d53103597a252fb3ab8b5845af04c7a26d5e7ea8122303dd7a021176a87e8b9"}, + {file = "kiwisolver-1.4.7-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:88f17c5ffa8e9462fb79f62746428dd57b46eb931698e42e990ad63103f35e6c"}, + {file = "kiwisolver-1.4.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88a9ca9c710d598fd75ee5de59d5bda2684d9db36a9f50b6125eaea3969c2599"}, + {file = "kiwisolver-1.4.7-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f4d742cb7af1c28303a51b7a27aaee540e71bb8e24f68c736f6f2ffc82f2bf05"}, + {file = "kiwisolver-1.4.7-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e28c7fea2196bf4c2f8d46a0415c77a1c480cc0724722f23d7410ffe9842c407"}, + {file = "kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e968b84db54f9d42046cf154e02911e39c0435c9801681e3fc9ce8a3c4130278"}, + {file = "kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:0c18ec74c0472de033e1bebb2911c3c310eef5649133dd0bedf2a169a1b269e5"}, + {file = "kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:8f0ea6da6d393d8b2e187e6a5e3fb81f5862010a40c3945e2c6d12ae45cfb2ad"}, + {file = "kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:f106407dda69ae456dd1227966bf445b157ccc80ba0dff3802bb63f30b74e895"}, + {file = "kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:84ec80df401cfee1457063732d90022f93951944b5b58975d34ab56bb150dfb3"}, + {file = "kiwisolver-1.4.7-cp310-cp310-win32.whl", hash = "sha256:71bb308552200fb2c195e35ef05de12f0c878c07fc91c270eb3d6e41698c3bcc"}, + {file = "kiwisolver-1.4.7-cp310-cp310-win_amd64.whl", hash = "sha256:44756f9fd339de0fb6ee4f8c1696cfd19b2422e0d70b4cefc1cc7f1f64045a8c"}, + {file = "kiwisolver-1.4.7-cp310-cp310-win_arm64.whl", hash = "sha256:78a42513018c41c2ffd262eb676442315cbfe3c44eed82385c2ed043bc63210a"}, + {file = "kiwisolver-1.4.7-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:d2b0e12a42fb4e72d509fc994713d099cbb15ebf1103545e8a45f14da2dfca54"}, + {file = "kiwisolver-1.4.7-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2a8781ac3edc42ea4b90bc23e7d37b665d89423818e26eb6df90698aa2287c95"}, + {file = "kiwisolver-1.4.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:46707a10836894b559e04b0fd143e343945c97fd170d69a2d26d640b4e297935"}, + {file = "kiwisolver-1.4.7-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ef97b8df011141c9b0f6caf23b29379f87dd13183c978a30a3c546d2c47314cb"}, + {file = "kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ab58c12a2cd0fc769089e6d38466c46d7f76aced0a1f54c77652446733d2d02"}, + {file = "kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:803b8e1459341c1bb56d1c5c010406d5edec8a0713a0945851290a7930679b51"}, + {file = "kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f9a9e8a507420fe35992ee9ecb302dab68550dedc0da9e2880dd88071c5fb052"}, + {file = "kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18077b53dc3bb490e330669a99920c5e6a496889ae8c63b58fbc57c3d7f33a18"}, + {file = "kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6af936f79086a89b3680a280c47ea90b4df7047b5bdf3aa5c524bbedddb9e545"}, + {file = "kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:3abc5b19d24af4b77d1598a585b8a719beb8569a71568b66f4ebe1fb0449460b"}, + {file = "kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:933d4de052939d90afbe6e9d5273ae05fb836cc86c15b686edd4b3560cc0ee36"}, + {file = "kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:65e720d2ab2b53f1f72fb5da5fb477455905ce2c88aaa671ff0a447c2c80e8e3"}, + {file = "kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:3bf1ed55088f214ba6427484c59553123fdd9b218a42bbc8c6496d6754b1e523"}, + {file = "kiwisolver-1.4.7-cp311-cp311-win32.whl", hash = "sha256:4c00336b9dd5ad96d0a558fd18a8b6f711b7449acce4c157e7343ba92dd0cf3d"}, + {file = "kiwisolver-1.4.7-cp311-cp311-win_amd64.whl", hash = "sha256:929e294c1ac1e9f615c62a4e4313ca1823ba37326c164ec720a803287c4c499b"}, + {file = "kiwisolver-1.4.7-cp311-cp311-win_arm64.whl", hash = "sha256:e33e8fbd440c917106b237ef1a2f1449dfbb9b6f6e1ce17c94cd6a1e0d438376"}, + {file = "kiwisolver-1.4.7-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:5360cc32706dab3931f738d3079652d20982511f7c0ac5711483e6eab08efff2"}, + {file = "kiwisolver-1.4.7-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:942216596dc64ddb25adb215c3c783215b23626f8d84e8eff8d6d45c3f29f75a"}, + {file = "kiwisolver-1.4.7-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:48b571ecd8bae15702e4f22d3ff6a0f13e54d3d00cd25216d5e7f658242065ee"}, + {file = "kiwisolver-1.4.7-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ad42ba922c67c5f219097b28fae965e10045ddf145d2928bfac2eb2e17673640"}, + {file = "kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:612a10bdae23404a72941a0fc8fa2660c6ea1217c4ce0dbcab8a8f6543ea9e7f"}, + {file = "kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9e838bba3a3bac0fe06d849d29772eb1afb9745a59710762e4ba3f4cb8424483"}, + {file = "kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:22f499f6157236c19f4bbbd472fa55b063db77a16cd74d49afe28992dff8c258"}, + {file = "kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:693902d433cf585133699972b6d7c42a8b9f8f826ebcaf0132ff55200afc599e"}, + {file = "kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:4e77f2126c3e0b0d055f44513ed349038ac180371ed9b52fe96a32aa071a5107"}, + {file = "kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:657a05857bda581c3656bfc3b20e353c232e9193eb167766ad2dc58b56504948"}, + {file = "kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:4bfa75a048c056a411f9705856abfc872558e33c055d80af6a380e3658766038"}, + {file = "kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:34ea1de54beef1c104422d210c47c7d2a4999bdecf42c7b5718fbe59a4cac383"}, + {file = "kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:90da3b5f694b85231cf93586dad5e90e2d71b9428f9aad96952c99055582f520"}, + {file = "kiwisolver-1.4.7-cp312-cp312-win32.whl", hash = "sha256:18e0cca3e008e17fe9b164b55735a325140a5a35faad8de92dd80265cd5eb80b"}, + {file = "kiwisolver-1.4.7-cp312-cp312-win_amd64.whl", hash = "sha256:58cb20602b18f86f83a5c87d3ee1c766a79c0d452f8def86d925e6c60fbf7bfb"}, + {file = "kiwisolver-1.4.7-cp312-cp312-win_arm64.whl", hash = "sha256:f5a8b53bdc0b3961f8b6125e198617c40aeed638b387913bf1ce78afb1b0be2a"}, + {file = "kiwisolver-1.4.7-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:2e6039dcbe79a8e0f044f1c39db1986a1b8071051efba3ee4d74f5b365f5226e"}, + {file = "kiwisolver-1.4.7-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:a1ecf0ac1c518487d9d23b1cd7139a6a65bc460cd101ab01f1be82ecf09794b6"}, + {file = "kiwisolver-1.4.7-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7ab9ccab2b5bd5702ab0803676a580fffa2aa178c2badc5557a84cc943fcf750"}, + {file = "kiwisolver-1.4.7-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f816dd2277f8d63d79f9c8473a79fe54047bc0467754962840782c575522224d"}, + {file = "kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf8bcc23ceb5a1b624572a1623b9f79d2c3b337c8c455405ef231933a10da379"}, + {file = "kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dea0bf229319828467d7fca8c7c189780aa9ff679c94539eed7532ebe33ed37c"}, + {file = "kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c06a4c7cf15ec739ce0e5971b26c93638730090add60e183530d70848ebdd34"}, + {file = "kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:913983ad2deb14e66d83c28b632fd35ba2b825031f2fa4ca29675e665dfecbe1"}, + {file = "kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5337ec7809bcd0f424c6b705ecf97941c46279cf5ed92311782c7c9c2026f07f"}, + {file = "kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:4c26ed10c4f6fa6ddb329a5120ba3b6db349ca192ae211e882970bfc9d91420b"}, + {file = "kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c619b101e6de2222c1fcb0531e1b17bbffbe54294bfba43ea0d411d428618c27"}, + {file = "kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:073a36c8273647592ea332e816e75ef8da5c303236ec0167196793eb1e34657a"}, + {file = "kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:3ce6b2b0231bda412463e152fc18335ba32faf4e8c23a754ad50ffa70e4091ee"}, + {file = "kiwisolver-1.4.7-cp313-cp313-win32.whl", hash = "sha256:f4c9aee212bc89d4e13f58be11a56cc8036cabad119259d12ace14b34476fd07"}, + {file = "kiwisolver-1.4.7-cp313-cp313-win_amd64.whl", hash = "sha256:8a3ec5aa8e38fc4c8af308917ce12c536f1c88452ce554027e55b22cbbfbff76"}, + {file = "kiwisolver-1.4.7-cp313-cp313-win_arm64.whl", hash = "sha256:76c8094ac20ec259471ac53e774623eb62e6e1f56cd8690c67ce6ce4fcb05650"}, + {file = "kiwisolver-1.4.7-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5d5abf8f8ec1f4e22882273c423e16cae834c36856cac348cfbfa68e01c40f3a"}, + {file = "kiwisolver-1.4.7-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:aeb3531b196ef6f11776c21674dba836aeea9d5bd1cf630f869e3d90b16cfade"}, + {file = "kiwisolver-1.4.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b7d755065e4e866a8086c9bdada157133ff466476a2ad7861828e17b6026e22c"}, + {file = "kiwisolver-1.4.7-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:08471d4d86cbaec61f86b217dd938a83d85e03785f51121e791a6e6689a3be95"}, + {file = "kiwisolver-1.4.7-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7bbfcb7165ce3d54a3dfbe731e470f65739c4c1f85bb1018ee912bae139e263b"}, + {file = "kiwisolver-1.4.7-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5d34eb8494bea691a1a450141ebb5385e4b69d38bb8403b5146ad279f4b30fa3"}, + {file = "kiwisolver-1.4.7-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9242795d174daa40105c1d86aba618e8eab7bf96ba8c3ee614da8302a9f95503"}, + {file = "kiwisolver-1.4.7-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:a0f64a48bb81af7450e641e3fe0b0394d7381e342805479178b3d335d60ca7cf"}, + {file = "kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:8e045731a5416357638d1700927529e2b8ab304811671f665b225f8bf8d8f933"}, + {file = "kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:4322872d5772cae7369f8351da1edf255a604ea7087fe295411397d0cfd9655e"}, + {file = "kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:e1631290ee9271dffe3062d2634c3ecac02c83890ada077d225e081aca8aab89"}, + {file = "kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:edcfc407e4eb17e037bca59be0e85a2031a2ac87e4fed26d3e9df88b4165f92d"}, + {file = "kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:4d05d81ecb47d11e7f8932bd8b61b720bf0b41199358f3f5e36d38e28f0532c5"}, + {file = "kiwisolver-1.4.7-cp38-cp38-win32.whl", hash = "sha256:b38ac83d5f04b15e515fd86f312479d950d05ce2368d5413d46c088dda7de90a"}, + {file = "kiwisolver-1.4.7-cp38-cp38-win_amd64.whl", hash = "sha256:d83db7cde68459fc803052a55ace60bea2bae361fc3b7a6d5da07e11954e4b09"}, + {file = "kiwisolver-1.4.7-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:3f9362ecfca44c863569d3d3c033dbe8ba452ff8eed6f6b5806382741a1334bd"}, + {file = "kiwisolver-1.4.7-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e8df2eb9b2bac43ef8b082e06f750350fbbaf2887534a5be97f6cf07b19d9583"}, + {file = "kiwisolver-1.4.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f32d6edbc638cde7652bd690c3e728b25332acbadd7cad670cc4a02558d9c417"}, + {file = "kiwisolver-1.4.7-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:e2e6c39bd7b9372b0be21456caab138e8e69cc0fc1190a9dfa92bd45a1e6e904"}, + {file = "kiwisolver-1.4.7-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:dda56c24d869b1193fcc763f1284b9126550eaf84b88bbc7256e15028f19188a"}, + {file = "kiwisolver-1.4.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79849239c39b5e1fd906556c474d9b0439ea6792b637511f3fe3a41158d89ca8"}, + {file = "kiwisolver-1.4.7-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5e3bc157fed2a4c02ec468de4ecd12a6e22818d4f09cde2c31ee3226ffbefab2"}, + {file = "kiwisolver-1.4.7-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3da53da805b71e41053dc670f9a820d1157aae77b6b944e08024d17bcd51ef88"}, + {file = "kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:8705f17dfeb43139a692298cb6637ee2e59c0194538153e83e9ee0c75c2eddde"}, + {file = "kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:82a5c2f4b87c26bb1a0ef3d16b5c4753434633b83d365cc0ddf2770c93829e3c"}, + {file = "kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ce8be0466f4c0d585cdb6c1e2ed07232221df101a4c6f28821d2aa754ca2d9e2"}, + {file = "kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:409afdfe1e2e90e6ee7fc896f3df9a7fec8e793e58bfa0d052c8a82f99c37abb"}, + {file = "kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:5b9c3f4ee0b9a439d2415012bd1b1cc2df59e4d6a9939f4d669241d30b414327"}, + {file = "kiwisolver-1.4.7-cp39-cp39-win32.whl", hash = "sha256:a79ae34384df2b615eefca647a2873842ac3b596418032bef9a7283675962644"}, + {file = "kiwisolver-1.4.7-cp39-cp39-win_amd64.whl", hash = "sha256:cf0438b42121a66a3a667de17e779330fc0f20b0d97d59d2f2121e182b0505e4"}, + {file = "kiwisolver-1.4.7-cp39-cp39-win_arm64.whl", hash = "sha256:764202cc7e70f767dab49e8df52c7455e8de0df5d858fa801a11aa0d882ccf3f"}, + {file = "kiwisolver-1.4.7-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:94252291e3fe68001b1dd747b4c0b3be12582839b95ad4d1b641924d68fd4643"}, + {file = "kiwisolver-1.4.7-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:5b7dfa3b546da08a9f622bb6becdb14b3e24aaa30adba66749d38f3cc7ea9706"}, + {file = "kiwisolver-1.4.7-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bd3de6481f4ed8b734da5df134cd5a6a64fe32124fe83dde1e5b5f29fe30b1e6"}, + {file = "kiwisolver-1.4.7-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a91b5f9f1205845d488c928e8570dcb62b893372f63b8b6e98b863ebd2368ff2"}, + {file = "kiwisolver-1.4.7-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:40fa14dbd66b8b8f470d5fc79c089a66185619d31645f9b0773b88b19f7223c4"}, + {file = "kiwisolver-1.4.7-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:eb542fe7933aa09d8d8f9d9097ef37532a7df6497819d16efe4359890a2f417a"}, + {file = "kiwisolver-1.4.7-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:bfa1acfa0c54932d5607e19a2c24646fb4c1ae2694437789129cf099789a3b00"}, + {file = "kiwisolver-1.4.7-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:eee3ea935c3d227d49b4eb85660ff631556841f6e567f0f7bda972df6c2c9935"}, + {file = "kiwisolver-1.4.7-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:f3160309af4396e0ed04db259c3ccbfdc3621b5559b5453075e5de555e1f3a1b"}, + {file = "kiwisolver-1.4.7-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:a17f6a29cf8935e587cc8a4dbfc8368c55edc645283db0ce9801016f83526c2d"}, + {file = "kiwisolver-1.4.7-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:10849fb2c1ecbfae45a693c070e0320a91b35dd4bcf58172c023b994283a124d"}, + {file = "kiwisolver-1.4.7-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:ac542bf38a8a4be2dc6b15248d36315ccc65f0743f7b1a76688ffb6b5129a5c2"}, + {file = "kiwisolver-1.4.7-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:8b01aac285f91ca889c800042c35ad3b239e704b150cfd3382adfc9dcc780e39"}, + {file = "kiwisolver-1.4.7-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:48be928f59a1f5c8207154f935334d374e79f2b5d212826307d072595ad76a2e"}, + {file = "kiwisolver-1.4.7-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f37cfe618a117e50d8c240555331160d73d0411422b59b5ee217843d7b693608"}, + {file = "kiwisolver-1.4.7-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:599b5c873c63a1f6ed7eead644a8a380cfbdf5db91dcb6f85707aaab213b1674"}, + {file = "kiwisolver-1.4.7-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:801fa7802e5cfabe3ab0c81a34c323a319b097dfb5004be950482d882f3d7225"}, + {file = "kiwisolver-1.4.7-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:0c6c43471bc764fad4bc99c5c2d6d16a676b1abf844ca7c8702bdae92df01ee0"}, + {file = "kiwisolver-1.4.7.tar.gz", hash = "sha256:9893ff81bd7107f7b685d3017cc6583daadb4fc26e4a888350df530e41980a60"}, +] + +[[package]] +name = "matplotlib" +version = "3.9.2" +description = "Python plotting package" +optional = false +python-versions = ">=3.9" +files = [ + {file = "matplotlib-3.9.2-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:9d78bbc0cbc891ad55b4f39a48c22182e9bdaea7fc0e5dbd364f49f729ca1bbb"}, + {file = "matplotlib-3.9.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c375cc72229614632c87355366bdf2570c2dac01ac66b8ad048d2dabadf2d0d4"}, + {file = "matplotlib-3.9.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1d94ff717eb2bd0b58fe66380bd8b14ac35f48a98e7c6765117fe67fb7684e64"}, + {file = "matplotlib-3.9.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ab68d50c06938ef28681073327795c5db99bb4666214d2d5f880ed11aeaded66"}, + {file = "matplotlib-3.9.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:65aacf95b62272d568044531e41de26285d54aec8cb859031f511f84bd8b495a"}, + {file = "matplotlib-3.9.2-cp310-cp310-win_amd64.whl", hash = "sha256:3fd595f34aa8a55b7fc8bf9ebea8aa665a84c82d275190a61118d33fbc82ccae"}, + {file = "matplotlib-3.9.2-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:d8dd059447824eec055e829258ab092b56bb0579fc3164fa09c64f3acd478772"}, + {file = "matplotlib-3.9.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c797dac8bb9c7a3fd3382b16fe8f215b4cf0f22adccea36f1545a6d7be310b41"}, + {file = "matplotlib-3.9.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d719465db13267bcef19ea8954a971db03b9f48b4647e3860e4bc8e6ed86610f"}, + {file = "matplotlib-3.9.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8912ef7c2362f7193b5819d17dae8629b34a95c58603d781329712ada83f9447"}, + {file = "matplotlib-3.9.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:7741f26a58a240f43bee74965c4882b6c93df3e7eb3de160126d8c8f53a6ae6e"}, + {file = "matplotlib-3.9.2-cp311-cp311-win_amd64.whl", hash = "sha256:ae82a14dab96fbfad7965403c643cafe6515e386de723e498cf3eeb1e0b70cc7"}, + {file = "matplotlib-3.9.2-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:ac43031375a65c3196bee99f6001e7fa5bdfb00ddf43379d3c0609bdca042df9"}, + {file = "matplotlib-3.9.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:be0fc24a5e4531ae4d8e858a1a548c1fe33b176bb13eff7f9d0d38ce5112a27d"}, + {file = "matplotlib-3.9.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bf81de2926c2db243c9b2cbc3917619a0fc85796c6ba4e58f541df814bbf83c7"}, + {file = "matplotlib-3.9.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f6ee45bc4245533111ced13f1f2cace1e7f89d1c793390392a80c139d6cf0e6c"}, + {file = "matplotlib-3.9.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:306c8dfc73239f0e72ac50e5a9cf19cc4e8e331dd0c54f5e69ca8758550f1e1e"}, + {file = "matplotlib-3.9.2-cp312-cp312-win_amd64.whl", hash = "sha256:5413401594cfaff0052f9d8b1aafc6d305b4bd7c4331dccd18f561ff7e1d3bd3"}, + {file = "matplotlib-3.9.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:18128cc08f0d3cfff10b76baa2f296fc28c4607368a8402de61bb3f2eb33c7d9"}, + {file = "matplotlib-3.9.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:4876d7d40219e8ae8bb70f9263bcbe5714415acfdf781086601211335e24f8aa"}, + {file = "matplotlib-3.9.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6d9f07a80deab4bb0b82858a9e9ad53d1382fd122be8cde11080f4e7dfedb38b"}, + {file = "matplotlib-3.9.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f7c0410f181a531ec4e93bbc27692f2c71a15c2da16766f5ba9761e7ae518413"}, + {file = "matplotlib-3.9.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:909645cce2dc28b735674ce0931a4ac94e12f5b13f6bb0b5a5e65e7cea2c192b"}, + {file = "matplotlib-3.9.2-cp313-cp313-win_amd64.whl", hash = "sha256:f32c7410c7f246838a77d6d1eff0c0f87f3cb0e7c4247aebea71a6d5a68cab49"}, + {file = "matplotlib-3.9.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:37e51dd1c2db16ede9cfd7b5cabdfc818b2c6397c83f8b10e0e797501c963a03"}, + {file = "matplotlib-3.9.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:b82c5045cebcecd8496a4d694d43f9cc84aeeb49fe2133e036b207abe73f4d30"}, + {file = "matplotlib-3.9.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f053c40f94bc51bc03832a41b4f153d83f2062d88c72b5e79997072594e97e51"}, + {file = "matplotlib-3.9.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dbe196377a8248972f5cede786d4c5508ed5f5ca4a1e09b44bda889958b33f8c"}, + {file = "matplotlib-3.9.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:5816b1e1fe8c192cbc013f8f3e3368ac56fbecf02fb41b8f8559303f24c5015e"}, + {file = "matplotlib-3.9.2-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:cef2a73d06601437be399908cf13aee74e86932a5ccc6ccdf173408ebc5f6bb2"}, + {file = "matplotlib-3.9.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e0830e188029c14e891fadd99702fd90d317df294c3298aad682739c5533721a"}, + {file = "matplotlib-3.9.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:03ba9c1299c920964e8d3857ba27173b4dbb51ca4bab47ffc2c2ba0eb5e2cbc5"}, + {file = "matplotlib-3.9.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1cd93b91ab47a3616b4d3c42b52f8363b88ca021e340804c6ab2536344fad9ca"}, + {file = "matplotlib-3.9.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:6d1ce5ed2aefcdce11904fc5bbea7d9c21fff3d5f543841edf3dea84451a09ea"}, + {file = "matplotlib-3.9.2-cp39-cp39-win_amd64.whl", hash = "sha256:b2696efdc08648536efd4e1601b5fd491fd47f4db97a5fbfd175549a7365c1b2"}, + {file = "matplotlib-3.9.2-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:d52a3b618cb1cbb769ce2ee1dcdb333c3ab6e823944e9a2d36e37253815f9556"}, + {file = "matplotlib-3.9.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:039082812cacd6c6bec8e17a9c1e6baca230d4116d522e81e1f63a74d01d2e21"}, + {file = "matplotlib-3.9.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6758baae2ed64f2331d4fd19be38b7b4eae3ecec210049a26b6a4f3ae1c85dcc"}, + {file = "matplotlib-3.9.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:050598c2b29e0b9832cde72bcf97627bf00262adbc4a54e2b856426bb2ef0697"}, + {file = "matplotlib-3.9.2.tar.gz", hash = "sha256:96ab43906269ca64a6366934106fa01534454a69e471b7bf3d79083981aaab92"}, +] + +[package.dependencies] +contourpy = ">=1.0.1" +cycler = ">=0.10" +fonttools = ">=4.22.0" +kiwisolver = ">=1.3.1" +numpy = ">=1.23" +packaging = ">=20.0" +pillow = ">=8" +pyparsing = ">=2.3.1" +python-dateutil = ">=2.7" + +[package.extras] +dev = ["meson-python (>=0.13.1)", "numpy (>=1.25)", "pybind11 (>=2.6)", "setuptools (>=64)", "setuptools_scm (>=7)"] + +[[package]] +name = "numpy" +version = "2.1.1" +description = "Fundamental package for array computing in Python" +optional = false +python-versions = ">=3.10" +files = [ + {file = "numpy-2.1.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c8a0e34993b510fc19b9a2ce7f31cb8e94ecf6e924a40c0c9dd4f62d0aac47d9"}, + {file = "numpy-2.1.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:7dd86dfaf7c900c0bbdcb8b16e2f6ddf1eb1fe39c6c8cca6e94844ed3152a8fd"}, + {file = "numpy-2.1.1-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:5889dd24f03ca5a5b1e8a90a33b5a0846d8977565e4ae003a63d22ecddf6782f"}, + {file = "numpy-2.1.1-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:59ca673ad11d4b84ceb385290ed0ebe60266e356641428c845b39cd9df6713ab"}, + {file = "numpy-2.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:13ce49a34c44b6de5241f0b38b07e44c1b2dcacd9e36c30f9c2fcb1bb5135db7"}, + {file = "numpy-2.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:913cc1d311060b1d409e609947fa1b9753701dac96e6581b58afc36b7ee35af6"}, + {file = "numpy-2.1.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:caf5d284ddea7462c32b8d4a6b8af030b6c9fd5332afb70e7414d7fdded4bfd0"}, + {file = "numpy-2.1.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:57eb525e7c2a8fdee02d731f647146ff54ea8c973364f3b850069ffb42799647"}, + {file = "numpy-2.1.1-cp310-cp310-win32.whl", hash = "sha256:9a8e06c7a980869ea67bbf551283bbed2856915f0a792dc32dd0f9dd2fb56728"}, + {file = "numpy-2.1.1-cp310-cp310-win_amd64.whl", hash = "sha256:d10c39947a2d351d6d466b4ae83dad4c37cd6c3cdd6d5d0fa797da56f710a6ae"}, + {file = "numpy-2.1.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0d07841fd284718feffe7dd17a63a2e6c78679b2d386d3e82f44f0108c905550"}, + {file = "numpy-2.1.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b5613cfeb1adfe791e8e681128f5f49f22f3fcaa942255a6124d58ca59d9528f"}, + {file = "numpy-2.1.1-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:0b8cc2715a84b7c3b161f9ebbd942740aaed913584cae9cdc7f8ad5ad41943d0"}, + {file = "numpy-2.1.1-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:b49742cdb85f1f81e4dc1b39dcf328244f4d8d1ded95dea725b316bd2cf18c95"}, + {file = "numpy-2.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e8d5f8a8e3bc87334f025194c6193e408903d21ebaeb10952264943a985066ca"}, + {file = "numpy-2.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d51fc141ddbe3f919e91a096ec739f49d686df8af254b2053ba21a910ae518bf"}, + {file = "numpy-2.1.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:98ce7fb5b8063cfdd86596b9c762bf2b5e35a2cdd7e967494ab78a1fa7f8b86e"}, + {file = "numpy-2.1.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:24c2ad697bd8593887b019817ddd9974a7f429c14a5469d7fad413f28340a6d2"}, + {file = "numpy-2.1.1-cp311-cp311-win32.whl", hash = "sha256:397bc5ce62d3fb73f304bec332171535c187e0643e176a6e9421a6e3eacef06d"}, + {file = "numpy-2.1.1-cp311-cp311-win_amd64.whl", hash = "sha256:ae8ce252404cdd4de56dcfce8b11eac3c594a9c16c231d081fb705cf23bd4d9e"}, + {file = "numpy-2.1.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:7c803b7934a7f59563db459292e6aa078bb38b7ab1446ca38dd138646a38203e"}, + {file = "numpy-2.1.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6435c48250c12f001920f0751fe50c0348f5f240852cfddc5e2f97e007544cbe"}, + {file = "numpy-2.1.1-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:3269c9eb8745e8d975980b3a7411a98976824e1fdef11f0aacf76147f662b15f"}, + {file = "numpy-2.1.1-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:fac6e277a41163d27dfab5f4ec1f7a83fac94e170665a4a50191b545721c6521"}, + {file = "numpy-2.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fcd8f556cdc8cfe35e70efb92463082b7f43dd7e547eb071ffc36abc0ca4699b"}, + {file = "numpy-2.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2b9cd92c8f8e7b313b80e93cedc12c0112088541dcedd9197b5dee3738c1201"}, + {file = "numpy-2.1.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:afd9c680df4de71cd58582b51e88a61feed4abcc7530bcd3d48483f20fc76f2a"}, + {file = "numpy-2.1.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:8661c94e3aad18e1ea17a11f60f843a4933ccaf1a25a7c6a9182af70610b2313"}, + {file = "numpy-2.1.1-cp312-cp312-win32.whl", hash = "sha256:950802d17a33c07cba7fd7c3dcfa7d64705509206be1606f196d179e539111ed"}, + {file = "numpy-2.1.1-cp312-cp312-win_amd64.whl", hash = "sha256:3fc5eabfc720db95d68e6646e88f8b399bfedd235994016351b1d9e062c4b270"}, + {file = "numpy-2.1.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:046356b19d7ad1890c751b99acad5e82dc4a02232013bd9a9a712fddf8eb60f5"}, + {file = "numpy-2.1.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:6e5a9cb2be39350ae6c8f79410744e80154df658d5bea06e06e0ac5bb75480d5"}, + {file = "numpy-2.1.1-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:d4c57b68c8ef5e1ebf47238e99bf27657511ec3f071c465f6b1bccbef12d4136"}, + {file = "numpy-2.1.1-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:8ae0fd135e0b157365ac7cc31fff27f07a5572bdfc38f9c2d43b2aff416cc8b0"}, + {file = "numpy-2.1.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:981707f6b31b59c0c24bcda52e5605f9701cb46da4b86c2e8023656ad3e833cb"}, + {file = "numpy-2.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2ca4b53e1e0b279142113b8c5eb7d7a877e967c306edc34f3b58e9be12fda8df"}, + {file = "numpy-2.1.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:e097507396c0be4e547ff15b13dc3866f45f3680f789c1a1301b07dadd3fbc78"}, + {file = "numpy-2.1.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f7506387e191fe8cdb267f912469a3cccc538ab108471291636a96a54e599556"}, + {file = "numpy-2.1.1-cp313-cp313-win32.whl", hash = "sha256:251105b7c42abe40e3a689881e1793370cc9724ad50d64b30b358bbb3a97553b"}, + {file = "numpy-2.1.1-cp313-cp313-win_amd64.whl", hash = "sha256:f212d4f46b67ff604d11fff7cc62d36b3e8714edf68e44e9760e19be38c03eb0"}, + {file = "numpy-2.1.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:920b0911bb2e4414c50e55bd658baeb78281a47feeb064ab40c2b66ecba85553"}, + {file = "numpy-2.1.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:bab7c09454460a487e631ffc0c42057e3d8f2a9ddccd1e60c7bb8ed774992480"}, + {file = "numpy-2.1.1-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:cea427d1350f3fd0d2818ce7350095c1a2ee33e30961d2f0fef48576ddbbe90f"}, + {file = "numpy-2.1.1-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:e30356d530528a42eeba51420ae8bf6c6c09559051887196599d96ee5f536468"}, + {file = "numpy-2.1.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e8dfa9e94fc127c40979c3eacbae1e61fda4fe71d84869cc129e2721973231ef"}, + {file = "numpy-2.1.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:910b47a6d0635ec1bd53b88f86120a52bf56dcc27b51f18c7b4a2e2224c29f0f"}, + {file = "numpy-2.1.1-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:13cc11c00000848702322af4de0147ced365c81d66053a67c2e962a485b3717c"}, + {file = "numpy-2.1.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:53e27293b3a2b661c03f79aa51c3987492bd4641ef933e366e0f9f6c9bf257ec"}, + {file = "numpy-2.1.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:7be6a07520b88214ea85d8ac8b7d6d8a1839b0b5cb87412ac9f49fa934eb15d5"}, + {file = "numpy-2.1.1-pp310-pypy310_pp73-macosx_14_0_x86_64.whl", hash = "sha256:52ac2e48f5ad847cd43c4755520a2317f3380213493b9d8a4c5e37f3b87df504"}, + {file = "numpy-2.1.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:50a95ca3560a6058d6ea91d4629a83a897ee27c00630aed9d933dff191f170cd"}, + {file = "numpy-2.1.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:99f4a9ee60eed1385a86e82288971a51e71df052ed0b2900ed30bc840c0f2e39"}, + {file = "numpy-2.1.1.tar.gz", hash = "sha256:d0cf7d55b1051387807405b3898efafa862997b4cba8aa5dbe657be794afeafd"}, +] + +[[package]] +name = "packaging" +version = "24.1" +description = "Core utilities for Python packages" +optional = false +python-versions = ">=3.8" +files = [ + {file = "packaging-24.1-py3-none-any.whl", hash = "sha256:5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124"}, + {file = "packaging-24.1.tar.gz", hash = "sha256:026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002"}, +] + +[[package]] +name = "pillow" +version = "10.4.0" +description = "Python Imaging Library (Fork)" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pillow-10.4.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:4d9667937cfa347525b319ae34375c37b9ee6b525440f3ef48542fcf66f2731e"}, + {file = "pillow-10.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:543f3dc61c18dafb755773efc89aae60d06b6596a63914107f75459cf984164d"}, + {file = "pillow-10.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7928ecbf1ece13956b95d9cbcfc77137652b02763ba384d9ab508099a2eca856"}, + {file = "pillow-10.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e4d49b85c4348ea0b31ea63bc75a9f3857869174e2bf17e7aba02945cd218e6f"}, + {file = "pillow-10.4.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:6c762a5b0997f5659a5ef2266abc1d8851ad7749ad9a6a5506eb23d314e4f46b"}, + {file = "pillow-10.4.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:a985e028fc183bf12a77a8bbf36318db4238a3ded7fa9df1b9a133f1cb79f8fc"}, + {file = "pillow-10.4.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:812f7342b0eee081eaec84d91423d1b4650bb9828eb53d8511bcef8ce5aecf1e"}, + {file = "pillow-10.4.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:ac1452d2fbe4978c2eec89fb5a23b8387aba707ac72810d9490118817d9c0b46"}, + {file = "pillow-10.4.0-cp310-cp310-win32.whl", hash = "sha256:bcd5e41a859bf2e84fdc42f4edb7d9aba0a13d29a2abadccafad99de3feff984"}, + {file = "pillow-10.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:ecd85a8d3e79cd7158dec1c9e5808e821feea088e2f69a974db5edf84dc53141"}, + {file = "pillow-10.4.0-cp310-cp310-win_arm64.whl", hash = "sha256:ff337c552345e95702c5fde3158acb0625111017d0e5f24bf3acdb9cc16b90d1"}, + {file = "pillow-10.4.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:0a9ec697746f268507404647e531e92889890a087e03681a3606d9b920fbee3c"}, + {file = "pillow-10.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dfe91cb65544a1321e631e696759491ae04a2ea11d36715eca01ce07284738be"}, + {file = "pillow-10.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5dc6761a6efc781e6a1544206f22c80c3af4c8cf461206d46a1e6006e4429ff3"}, + {file = "pillow-10.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5e84b6cc6a4a3d76c153a6b19270b3526a5a8ed6b09501d3af891daa2a9de7d6"}, + {file = "pillow-10.4.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:bbc527b519bd3aa9d7f429d152fea69f9ad37c95f0b02aebddff592688998abe"}, + {file = "pillow-10.4.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:76a911dfe51a36041f2e756b00f96ed84677cdeb75d25c767f296c1c1eda1319"}, + {file = "pillow-10.4.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:59291fb29317122398786c2d44427bbd1a6d7ff54017075b22be9d21aa59bd8d"}, + {file = "pillow-10.4.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:416d3a5d0e8cfe4f27f574362435bc9bae57f679a7158e0096ad2beb427b8696"}, + {file = "pillow-10.4.0-cp311-cp311-win32.whl", hash = "sha256:7086cc1d5eebb91ad24ded9f58bec6c688e9f0ed7eb3dbbf1e4800280a896496"}, + {file = "pillow-10.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:cbed61494057c0f83b83eb3a310f0bf774b09513307c434d4366ed64f4128a91"}, + {file = "pillow-10.4.0-cp311-cp311-win_arm64.whl", hash = "sha256:f5f0c3e969c8f12dd2bb7e0b15d5c468b51e5017e01e2e867335c81903046a22"}, + {file = "pillow-10.4.0-cp312-cp312-macosx_10_10_x86_64.whl", hash = "sha256:673655af3eadf4df6b5457033f086e90299fdd7a47983a13827acf7459c15d94"}, + {file = "pillow-10.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:866b6942a92f56300012f5fbac71f2d610312ee65e22f1aa2609e491284e5597"}, + {file = "pillow-10.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:29dbdc4207642ea6aad70fbde1a9338753d33fb23ed6956e706936706f52dd80"}, + {file = "pillow-10.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf2342ac639c4cf38799a44950bbc2dfcb685f052b9e262f446482afaf4bffca"}, + {file = "pillow-10.4.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:f5b92f4d70791b4a67157321c4e8225d60b119c5cc9aee8ecf153aace4aad4ef"}, + {file = "pillow-10.4.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:86dcb5a1eb778d8b25659d5e4341269e8590ad6b4e8b44d9f4b07f8d136c414a"}, + {file = "pillow-10.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:780c072c2e11c9b2c7ca37f9a2ee8ba66f44367ac3e5c7832afcfe5104fd6d1b"}, + {file = "pillow-10.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:37fb69d905be665f68f28a8bba3c6d3223c8efe1edf14cc4cfa06c241f8c81d9"}, + {file = "pillow-10.4.0-cp312-cp312-win32.whl", hash = "sha256:7dfecdbad5c301d7b5bde160150b4db4c659cee2b69589705b6f8a0c509d9f42"}, + {file = "pillow-10.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:1d846aea995ad352d4bdcc847535bd56e0fd88d36829d2c90be880ef1ee4668a"}, + {file = "pillow-10.4.0-cp312-cp312-win_arm64.whl", hash = "sha256:e553cad5179a66ba15bb18b353a19020e73a7921296a7979c4a2b7f6a5cd57f9"}, + {file = "pillow-10.4.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8bc1a764ed8c957a2e9cacf97c8b2b053b70307cf2996aafd70e91a082e70df3"}, + {file = "pillow-10.4.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:6209bb41dc692ddfee4942517c19ee81b86c864b626dbfca272ec0f7cff5d9fb"}, + {file = "pillow-10.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bee197b30783295d2eb680b311af15a20a8b24024a19c3a26431ff83eb8d1f70"}, + {file = "pillow-10.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1ef61f5dd14c300786318482456481463b9d6b91ebe5ef12f405afbba77ed0be"}, + {file = "pillow-10.4.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:297e388da6e248c98bc4a02e018966af0c5f92dfacf5a5ca22fa01cb3179bca0"}, + {file = "pillow-10.4.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:e4db64794ccdf6cb83a59d73405f63adbe2a1887012e308828596100a0b2f6cc"}, + {file = "pillow-10.4.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:bd2880a07482090a3bcb01f4265f1936a903d70bc740bfcb1fd4e8a2ffe5cf5a"}, + {file = "pillow-10.4.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4b35b21b819ac1dbd1233317adeecd63495f6babf21b7b2512d244ff6c6ce309"}, + {file = "pillow-10.4.0-cp313-cp313-win32.whl", hash = "sha256:551d3fd6e9dc15e4c1eb6fc4ba2b39c0c7933fa113b220057a34f4bb3268a060"}, + {file = "pillow-10.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:030abdbe43ee02e0de642aee345efa443740aa4d828bfe8e2eb11922ea6a21ea"}, + {file = "pillow-10.4.0-cp313-cp313-win_arm64.whl", hash = "sha256:5b001114dd152cfd6b23befeb28d7aee43553e2402c9f159807bf55f33af8a8d"}, + {file = "pillow-10.4.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:8d4d5063501b6dd4024b8ac2f04962d661222d120381272deea52e3fc52d3736"}, + {file = "pillow-10.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7c1ee6f42250df403c5f103cbd2768a28fe1a0ea1f0f03fe151c8741e1469c8b"}, + {file = "pillow-10.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b15e02e9bb4c21e39876698abf233c8c579127986f8207200bc8a8f6bb27acf2"}, + {file = "pillow-10.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7a8d4bade9952ea9a77d0c3e49cbd8b2890a399422258a77f357b9cc9be8d680"}, + {file = "pillow-10.4.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:43efea75eb06b95d1631cb784aa40156177bf9dd5b4b03ff38979e048258bc6b"}, + {file = "pillow-10.4.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:950be4d8ba92aca4b2bb0741285a46bfae3ca699ef913ec8416c1b78eadd64cd"}, + {file = "pillow-10.4.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:d7480af14364494365e89d6fddc510a13e5a2c3584cb19ef65415ca57252fb84"}, + {file = "pillow-10.4.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:73664fe514b34c8f02452ffb73b7a92c6774e39a647087f83d67f010eb9a0cf0"}, + {file = "pillow-10.4.0-cp38-cp38-win32.whl", hash = "sha256:e88d5e6ad0d026fba7bdab8c3f225a69f063f116462c49892b0149e21b6c0a0e"}, + {file = "pillow-10.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:5161eef006d335e46895297f642341111945e2c1c899eb406882a6c61a4357ab"}, + {file = "pillow-10.4.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:0ae24a547e8b711ccaaf99c9ae3cd975470e1a30caa80a6aaee9a2f19c05701d"}, + {file = "pillow-10.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:298478fe4f77a4408895605f3482b6cc6222c018b2ce565c2b6b9c354ac3229b"}, + {file = "pillow-10.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:134ace6dc392116566980ee7436477d844520a26a4b1bd4053f6f47d096997fd"}, + {file = "pillow-10.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:930044bb7679ab003b14023138b50181899da3f25de50e9dbee23b61b4de2126"}, + {file = "pillow-10.4.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:c76e5786951e72ed3686e122d14c5d7012f16c8303a674d18cdcd6d89557fc5b"}, + {file = "pillow-10.4.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:b2724fdb354a868ddf9a880cb84d102da914e99119211ef7ecbdc613b8c96b3c"}, + {file = "pillow-10.4.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:dbc6ae66518ab3c5847659e9988c3b60dc94ffb48ef9168656e0019a93dbf8a1"}, + {file = "pillow-10.4.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:06b2f7898047ae93fad74467ec3d28fe84f7831370e3c258afa533f81ef7f3df"}, + {file = "pillow-10.4.0-cp39-cp39-win32.whl", hash = "sha256:7970285ab628a3779aecc35823296a7869f889b8329c16ad5a71e4901a3dc4ef"}, + {file = "pillow-10.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:961a7293b2457b405967af9c77dcaa43cc1a8cd50d23c532e62d48ab6cdd56f5"}, + {file = "pillow-10.4.0-cp39-cp39-win_arm64.whl", hash = "sha256:32cda9e3d601a52baccb2856b8ea1fc213c90b340c542dcef77140dfa3278a9e"}, + {file = "pillow-10.4.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:5b4815f2e65b30f5fbae9dfffa8636d992d49705723fe86a3661806e069352d4"}, + {file = "pillow-10.4.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:8f0aef4ef59694b12cadee839e2ba6afeab89c0f39a3adc02ed51d109117b8da"}, + {file = "pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9f4727572e2918acaa9077c919cbbeb73bd2b3ebcfe033b72f858fc9fbef0026"}, + {file = "pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ff25afb18123cea58a591ea0244b92eb1e61a1fd497bf6d6384f09bc3262ec3e"}, + {file = "pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:dc3e2db6ba09ffd7d02ae9141cfa0ae23393ee7687248d46a7507b75d610f4f5"}, + {file = "pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:02a2be69f9c9b8c1e97cf2713e789d4e398c751ecfd9967c18d0ce304efbf885"}, + {file = "pillow-10.4.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:0755ffd4a0c6f267cccbae2e9903d95477ca2f77c4fcf3a3a09570001856c8a5"}, + {file = "pillow-10.4.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:a02364621fe369e06200d4a16558e056fe2805d3468350df3aef21e00d26214b"}, + {file = "pillow-10.4.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:1b5dea9831a90e9d0721ec417a80d4cbd7022093ac38a568db2dd78363b00908"}, + {file = "pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9b885f89040bb8c4a1573566bbb2f44f5c505ef6e74cec7ab9068c900047f04b"}, + {file = "pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:87dd88ded2e6d74d31e1e0a99a726a6765cda32d00ba72dc37f0651f306daaa8"}, + {file = "pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:2db98790afc70118bd0255c2eeb465e9767ecf1f3c25f9a1abb8ffc8cfd1fe0a"}, + {file = "pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:f7baece4ce06bade126fb84b8af1c33439a76d8a6fd818970215e0560ca28c27"}, + {file = "pillow-10.4.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:cfdd747216947628af7b259d274771d84db2268ca062dd5faf373639d00113a3"}, + {file = "pillow-10.4.0.tar.gz", hash = "sha256:166c1cd4d24309b30d61f79f4a9114b7b2313d7450912277855ff5dfd7cd4a06"}, +] + +[package.extras] +docs = ["furo", "olefile", "sphinx (>=7.3)", "sphinx-copybutton", "sphinx-inline-tabs", "sphinxext-opengraph"] +fpx = ["olefile"] +mic = ["olefile"] +tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "packaging", "pyroma", "pytest", "pytest-cov", "pytest-timeout"] +typing = ["typing-extensions"] +xmp = ["defusedxml"] + +[[package]] +name = "pyparsing" +version = "3.1.4" +description = "pyparsing module - Classes and methods to define and execute parsing grammars" +optional = false +python-versions = ">=3.6.8" +files = [ + {file = "pyparsing-3.1.4-py3-none-any.whl", hash = "sha256:a6a7ee4235a3f944aa1fa2249307708f893fe5717dc603503c6c7969c070fb7c"}, + {file = "pyparsing-3.1.4.tar.gz", hash = "sha256:f86ec8d1a83f11977c9a6ea7598e8c27fc5cddfa5b07ea2241edbbde1d7bc032"}, +] + +[package.extras] +diagrams = ["jinja2", "railroad-diagrams"] + +[[package]] +name = "python-dateutil" +version = "2.9.0.post0" +description = "Extensions to the standard Python datetime module" +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" +files = [ + {file = "python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3"}, + {file = "python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427"}, +] + +[package.dependencies] +six = ">=1.5" + +[[package]] +name = "six" +version = "1.16.0" +description = "Python 2 and 3 compatibility utilities" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" +files = [ + {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, + {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, +] + +[metadata] +lock-version = "2.0" +python-versions = "^3.12" +content-hash = "7a3e2df5544597e3b305cf96c79a88c230e7247ad5d767c679e99fc4bcc1a0de" diff --git a/analysis/project/pyproject.toml b/analysis/project/pyproject.toml new file mode 100644 index 0000000..14e19be --- /dev/null +++ b/analysis/project/pyproject.toml @@ -0,0 +1,16 @@ +[tool.poetry] +name = "project" +version = "0.1.0" +description = "" +authors = ["Nicholas Liu "] +readme = "README.md" + +[tool.poetry.dependencies] +python = "^3.12" +matplotlib = "^3.9.2" +numpy = "^2.1.1" + + +[build-system] +requires = ["poetry-core"] +build-backend = "poetry.core.masonry.api" diff --git a/img/cpu-better.png b/img/cpu-better.png new file mode 100644 index 0000000..3c3ad71 Binary files /dev/null and b/img/cpu-better.png differ diff --git a/img/gpu-better.png b/img/gpu-better.png new file mode 100644 index 0000000..61b452c Binary files /dev/null and b/img/gpu-better.png differ diff --git a/src/main.cpp b/src/main.cpp index 896ac2b..1583241 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -12,14 +12,59 @@ #include #include #include "testing_helpers.hpp" +#include +#include -const int SIZE = 1 << 8; // feel free to change the size of array +const int SIZE = 1 << 20; // feel free to change the size of array const int NPOT = SIZE - 3; // Non-Power-Of-Two int *a = new int[SIZE]; int *b = new int[SIZE]; int *c = new int[SIZE]; +void test(); +void benchmark(); + +using scan_t = void(*)(int, int *, const int *); +std::vector benchmarkScan(size_t iterations, scan_t scan, std::function getElapsedTime); + int main(int argc, char* argv[]) { + // test(); + benchmark(); +} + +void benchmark() { + const int numTrials = 1000; + const size_t numScans = 4; + std::vector scans = { + StreamCompaction::CPU::scan, StreamCompaction::Naive::scan, StreamCompaction::Efficient::scan, StreamCompaction::Thrust::scan + }; + std::vector> getElapsedTimes = { + []() {return StreamCompaction::CPU::timer().getCpuElapsedTimeForPreviousOperation(); }, + []() {return StreamCompaction::Naive::timer().getGpuElapsedTimeForPreviousOperation(); }, + []() {return StreamCompaction::Efficient::timer().getGpuElapsedTimeForPreviousOperation(); }, + []() {return StreamCompaction::Thrust::timer().getGpuElapsedTimeForPreviousOperation(); } + }; + for (size_t i = 0; i < numScans; i++) { + auto times = benchmarkScan(numTrials, scans[i], getElapsedTimes[i]); + for (float time : times) { + std::cout << time << ","; + } + std::cout << std::endl; + } +} + +std::vector benchmarkScan(size_t iterations, scan_t scan, std::function getElapsedTime) +{ + std::vector benchmarks; + for (size_t i = 0; i < iterations; i++) { + genArray(SIZE - 1, a, 50); + scan(SIZE, b, a); + benchmarks.push_back(getElapsedTime()); + } + return std::move(benchmarks); +} + +void test() { // Scan tests printf("\n"); @@ -151,4 +196,4 @@ int main(int argc, char* argv[]) { delete[] a; delete[] b; delete[] c; -} +} \ No newline at end of file diff --git a/stream_compaction/CMakeLists.txt b/stream_compaction/CMakeLists.txt index e0ec27c..536ac5a 100644 --- a/stream_compaction/CMakeLists.txt +++ b/stream_compaction/CMakeLists.txt @@ -21,3 +21,10 @@ source_group(Headers FILES ${headers}) source_group(Sources FILES ${sources}) add_library(stream_compaction ${sources} ${headers}) +if(CMAKE_VERSION VERSION_LESS "3.23.0") + set_target_properties(stream_compaction PROPERTIES CUDA_ARCHITECTURES OFF) +elseif(CMAKE_VERSION VERSION_LESS "3.24.0") + set_target_properties(stream_compaction PROPERTIES CUDA_ARCHITECTURES all-major) +else() + set_target_properties(stream_compaction PROPERTIES CUDA_ARCHITECTURES native) +endif() \ No newline at end of file diff --git a/stream_compaction/cpu.cu b/stream_compaction/cpu.cu index 719fa11..1b5e2d0 100644 --- a/stream_compaction/cpu.cu +++ b/stream_compaction/cpu.cu @@ -3,24 +3,51 @@ #include "common.h" -namespace StreamCompaction { - namespace CPU { +namespace StreamCompaction +{ + namespace CPU + { using StreamCompaction::Common::PerformanceTimer; - PerformanceTimer& timer() + PerformanceTimer &timer() { static PerformanceTimer timer; return timer; } + struct TimerGuard + { + TimerGuard() + { + timer().startCpuTimer(); + } + ~TimerGuard() + { + timer().endCpuTimer(); + } + }; + + void scan_untimed(int n, int *odata, const int *idata) + { + odata[0] = 0; + for (int i = 1; i < n; i++) + { + odata[i] = odata[i - 1] + idata[i - 1]; + } + } + /** * CPU scan (prefix sum). * For performance analysis, this is supposed to be a simple for loop. * (Optional) For better understanding before starting moving to GPU, you can simulate your GPU scan in this function first. */ - void scan(int n, int *odata, const int *idata) { - timer().startCpuTimer(); - // TODO - timer().endCpuTimer(); + void scan(int n, int *odata, const int *idata) + { + TimerGuard _; + if (n <= 0) + { + return; + } + scan_untimed(n, odata, idata); } /** @@ -28,11 +55,19 @@ namespace StreamCompaction { * * @returns the number of elements remaining after compaction. */ - int compactWithoutScan(int n, int *odata, const int *idata) { - timer().startCpuTimer(); - // TODO - timer().endCpuTimer(); - return -1; + int compactWithoutScan(int n, int *odata, const int *idata) + { + TimerGuard _; + int count = 0; + for (int i = 0; i < n; i++) + { + int idataElem = idata[i]; + if (idataElem != 0) + { + odata[count++] = idataElem; + } + } + return count; } /** @@ -40,11 +75,33 @@ namespace StreamCompaction { * * @returns the number of elements remaining after compaction. */ - int compactWithScan(int n, int *odata, const int *idata) { - timer().startCpuTimer(); - // TODO - timer().endCpuTimer(); - return -1; + int compactWithScan(int n, int *odata, const int *idata) + { + TimerGuard _; + if (n <= 0) + { + return 0; + } + int *truthy = static_cast(malloc(sizeof(int) * n)); + for (int i = 0; i < n; i++) + { + truthy[i] = (idata[i] == 0) ? 0 : 1; + } + int *indices = static_cast(malloc(sizeof(int) * n)); + scan_untimed(n, indices, truthy); + free(truthy); + + int count = 0; + for (int i = 0; i < n; i++) + { + if (idata[i] != 0) + { + odata[indices[i]] = idata[i]; + count++; + } + } + free(indices); + return count; } } -} +} \ No newline at end of file diff --git a/stream_compaction/efficient.cu b/stream_compaction/efficient.cu index 2db346e..bd008fe 100644 --- a/stream_compaction/efficient.cu +++ b/stream_compaction/efficient.cu @@ -3,22 +3,115 @@ #include "common.h" #include "efficient.h" -namespace StreamCompaction { - namespace Efficient { +namespace StreamCompaction +{ + namespace Efficient + { + const size_t g_blockSize = 128; + using StreamCompaction::Common::PerformanceTimer; - PerformanceTimer& timer() + PerformanceTimer &timer() { static PerformanceTimer timer; return timer; } + struct TimerGuard + { + TimerGuard() + { + timer().startGpuTimer(); + } + ~TimerGuard() + { + timer().endGpuTimer(); + } + }; + + __global__ void kernUpsweep(int n, int *data, int exp2d) + { + int index = blockIdx.x * blockDim.x + threadIdx.x; + index = (index + 1) * exp2d * 2 - 1; + if (index >= n) + { + return; + } + data[index] += data[index - exp2d]; + } + + __global__ void kernDownsweep(int n, int *data, int exp2d) + { + int index = blockIdx.x * blockDim.x + threadIdx.x; + index = (index + 1) * exp2d * 2 - 1; + if (index >= n) + { + return; + } + int tmp = data[index - exp2d]; + data[index - exp2d] = data[index]; + data[index] += tmp; + } + + void dev_scan(int n, int *dev_data) + { + int iterations = ilog2ceil(n); + int nCeil = 1 << iterations; + for (int d = 0; d < iterations; d++) + { + int exp2d = 1 << d; + int numThreads = nCeil / exp2d / 2; + dim3 gridDim((numThreads + g_blockSize - 1) / g_blockSize); + kernUpsweep<<>>(nCeil, dev_data, exp2d); + } + int zero = 0; + cudaMemcpy(dev_data + nCeil - 1, &zero, sizeof(int), cudaMemcpyHostToDevice); + for (int d = iterations - 1; d >= 0; d--) + { + int exp2d = 1 << d; + int numThreads = nCeil / (exp2d * 2); + dim3 gridDim((numThreads + g_blockSize - 1) / g_blockSize); + kernDownsweep<<>>(nCeil, dev_data, exp2d); + } + } + /** * Performs prefix-sum (aka scan) on idata, storing the result into odata. */ - void scan(int n, int *odata, const int *idata) { - timer().startGpuTimer(); - // TODO - timer().endGpuTimer(); + void scan(int n, int *odata, const int *idata) + { + int iterations = ilog2ceil(n); + int nCeil = 1 << iterations; + int *dev_data; + + size_t numBytes = n * sizeof(int); + size_t numBytesCeil = nCeil * sizeof(int); + + cudaMalloc(&dev_data, numBytesCeil); + cudaMemcpy(dev_data, idata, numBytes, cudaMemcpyHostToDevice); + + { + TimerGuard _; + dev_scan(n, dev_data); + } + + cudaMemcpy(odata, dev_data, numBytes, cudaMemcpyDeviceToHost); + cudaFree(dev_data); + } + + __global__ void kernMapToBoolean(int n, int *src, int *dst) { + int index = blockIdx.x * blockDim.x + threadIdx.x; + if (index >= n) { + return; + } + dst[index] = src[index] != 0 ? 1 : 0; + } + + __global__ void kernScatter(int n, int *src, int *indices, int *dst) { + int index = blockIdx.x * blockDim.x + threadIdx.x; + if (src[index] == 0) { + return; + } + dst[indices[index]] = src[index]; } /** @@ -30,11 +123,44 @@ namespace StreamCompaction { * @param idata The array of elements to compact. * @returns The number of elements remaining after compaction. */ - int compact(int n, int *odata, const int *idata) { - timer().startGpuTimer(); - // TODO - timer().endGpuTimer(); - return -1; + int compact(int n, int *odata, const int *idata) + { + int iterations = ilog2ceil(n); + int nCeil = 1 << iterations; + + size_t numBytes = n * sizeof(int); + int *dev_idata; + cudaMalloc(&dev_idata, numBytes); + cudaMemcpy(dev_idata, idata, numBytes, cudaMemcpyHostToDevice); + + int *dev_odata; + cudaMalloc(&dev_odata, numBytes); + + size_t numBytesCeil = nCeil * sizeof(int); + int *dev_indices; + cudaMalloc(&dev_indices, numBytesCeil); + + { + TimerGuard _; + dim3 gridDim((n + g_blockSize - 1) / g_blockSize); + kernMapToBoolean<<>>(n, dev_idata, dev_indices); + dev_scan(n, dev_indices); + kernScatter<<>>(n, dev_idata, dev_indices, dev_odata); + } + + cudaFree(dev_idata); + + int outSize; + cudaMemcpy(&outSize, dev_indices + n - 1, sizeof(int), cudaMemcpyDeviceToHost); + if (idata[n - 1] != 0) { + outSize++; + } + cudaFree(dev_indices); + + cudaMemcpy(odata, dev_odata, outSize * sizeof(int), cudaMemcpyDeviceToHost); + cudaFree(dev_odata); + + return outSize; } } } diff --git a/stream_compaction/naive.cu b/stream_compaction/naive.cu index 4308876..2430086 100644 --- a/stream_compaction/naive.cu +++ b/stream_compaction/naive.cu @@ -3,23 +3,72 @@ #include "common.h" #include "naive.h" -namespace StreamCompaction { - namespace Naive { +namespace StreamCompaction +{ + namespace Naive + { + const size_t g_blockSize = 128; + using StreamCompaction::Common::PerformanceTimer; - PerformanceTimer& timer() + PerformanceTimer &timer() { static PerformanceTimer timer; return timer; } - // TODO: __global__ + + struct TimerGuard + { + TimerGuard() + { + timer().startGpuTimer(); + } + ~TimerGuard() + { + timer().endGpuTimer(); + } + }; + + __global__ void kernScan(int n, int *dst, int *src, int exp2d) + { + int k = blockIdx.x * blockDim.x + threadIdx.x; + if (k >= n) + { + return; + } + dst[k] = src[k] + ((k >= exp2d) ? src[k - exp2d] : 0); + } /** * Performs prefix-sum (aka scan) on idata, storing the result into odata. */ - void scan(int n, int *odata, const int *idata) { - timer().startGpuTimer(); - // TODO - timer().endGpuTimer(); + void scan(int n, int *odata, const int *idata) + { + size_t numBytes = n * sizeof(int); + dim3 gridDim((n + g_blockSize - 1) / g_blockSize); + int iterations = ilog2ceil(n); + + int *dev_src; + cudaMalloc(&dev_src, numBytes); + cudaMemcpy(dev_src, idata, numBytes, cudaMemcpyHostToDevice); + + int *dev_dst; + cudaMalloc(&dev_dst, numBytes); + + { + TimerGuard _; + for (int d = 0; d < iterations; d++) + { + int exp2d = 1 << d; + kernScan<<>>(n, dev_dst, dev_src, exp2d); + std::swap(dev_src, dev_dst); + } + } + + odata[0] = 0; + cudaMemcpy(odata + 1, dev_src, numBytes - sizeof(int), cudaMemcpyDeviceToHost); + + cudaFree(dev_src); + cudaFree(dev_dst); } } -} +} \ No newline at end of file diff --git a/stream_compaction/thrust.cu b/stream_compaction/thrust.cu index 1def45e..c5807dc 100644 --- a/stream_compaction/thrust.cu +++ b/stream_compaction/thrust.cu @@ -3,11 +3,24 @@ #include #include #include +#include #include "common.h" #include "thrust.h" namespace StreamCompaction { namespace Thrust { + struct TimerGuard + { + TimerGuard() + { + timer().startGpuTimer(); + } + ~TimerGuard() + { + timer().endGpuTimer(); + } + }; + using StreamCompaction::Common::PerformanceTimer; PerformanceTimer& timer() { @@ -18,11 +31,23 @@ namespace StreamCompaction { * Performs prefix-sum (aka scan) on idata, storing the result into odata. */ void scan(int n, int *odata, const int *idata) { - timer().startGpuTimer(); - // TODO use `thrust::exclusive_scan` - // example: for device_vectors dv_in and dv_out: - // thrust::exclusive_scan(dv_in.begin(), dv_in.end(), dv_out.begin()); - timer().endGpuTimer(); + size_t numBytes = n * sizeof(int); + + int *dev_idata; + cudaMalloc(&dev_idata, numBytes); + cudaMemcpy(dev_idata, idata, numBytes, cudaMemcpyHostToDevice); + + int *dev_odata; + cudaMalloc(&dev_odata, numBytes); + + { + TimerGuard _; + thrust::exclusive_scan(thrust::device, dev_idata, dev_idata + n, dev_odata); + } + + cudaMemcpy(odata, dev_odata, numBytes, cudaMemcpyDeviceToHost); + cudaFree(dev_idata); + cudaFree(dev_odata); } } }