Implements constrained zooming of an image constructed from a data-driven ImageData object placed onto an HTML5 Canvas while giving the marginal distributions of the underlying data. Borrows heavily from https://gist.github.com/mbostock/3074470 and https://gist.github.com/tommct/8049508.
Last active
January 1, 2016 08:09
-
-
Save tommct/8116740 to your computer and use it in GitHub Desktop.
D3 Canvas ImageData w/ Constrained Zooming and Marginal Distributions
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[[0.3142349351893988, 0.6783802116022145, 0.37381750633312405, 0.5825802473230199, 1.0, 0.46945918255336916, 0.015615013085575224, 0.15473858373797134, 0.5380639854398307, 0.9726618406863103, 0.11735339697593983, 0.5080129083370486, 0.3711617677536613, 0.20669931201450098, 0.616380388859845, 0.8743105066358925, 0.7218862104508607, 0.08114850426559339, 0.9642449474304958, 0.9510071353456978, 0.4874978608308468, 0.8605675169657825, 0.9748798796556895, 0.37626998916251064, 0.8223037637421633, 0.6248270374588392, 0.030960107595660702, 0.5642874076238714, 0.18565536996316256, 0.4223432861278217, 0.6832691670042892, 0.6802127094520394, 0.18205982473909987, 0.559954306344647, 0.44909012418614036, 0.7032668134378014, 0.27180892066526574, 0.20666447332129934, 0.6780389694137483, 0.28401175175702786, 0.29272488449789147, 0.19911359730852063, 0.6628282094848673, 0.2627110146915105, 0.22030499463926168, 0.8564658515248978, 0.35626317703593313, 0.012273105108844051, 0.7515303400596249, 0.17091772182586973, 0.3167955890202433, 0.599971877522734, 0.06027350298728884, 0.4747456714450532, 0.027021343447433677, 0.9513786287613972, 0.06458624940304669, 0.2779600399957636, 0.4965212128581795, 0.2342607107186705, 0.6858775633763239, 0.03434887751894711, 0.7809101540605352, 0.04444214472531527, 0.4301190120880455, 0.7096427749572254, 0.801541983156892, 0.17604263815096577, 0.7051476161556256, 0.40191243285297074, 0.6906770774788498, 0.3940372801174148, 0.8216715278804031, 0.6139873101196158, 0.06080375344452005, 0.44835340118091926, 0.8985373330729419, 0.7068997737924325, 0.37745868464081955, 0.4181174372691763, 0.04621000110898543, 0.054586341458810694, 0.7150388687307521, 0.26720504387686617, 0.7653511803704841, 0.6305741353562445, 0.7749164995783133, 0.7767643258521546, 0.7523356835529074, 0.23870163271566613, 0.3937231153554235, 0.24640399372929755, 0.46165267545799393, 0.9909184061231767, 0.5837648633173971, 0.09378851021625767, 0.8950161208176677, 0.582817728493835, 0.7266008414322396, 0.25218543205258437], [0.4147350868796219, 0.19073770703839754, 0.19375236184239553, 0.8913964337441619, 1.0, 0.9980184231940167, 0.5519059200701335, 0.12576984077026354, 0.23244280848065557, 0.8250553344931181, 0.1107390544332062, 0.9733733301851489, 0.13123902644086416, 0.5246833127122459, 0.06370242969256978, 0.03575546636619198, 0.7059635755827492, 0.5409111670958847, 0.21085097549639575, 0.17852915476956654, 0.6603587194108571, 0.054380800241005445, 0.619658568576577, 0.309237767082166, 0.6691893049494969, 0.8036532738634095, 0.9751728843748404, 0.511649421023233, 0.7257836877404329, 0.12154320556711062, 0.4434574076521871, 0.9057877279518827, 0.15874843020158103, 0.2887169393287544, 0.6444678376688199, 0.6267769086464171, 0.1740879251786751, 0.19806317512577198, 0.7033722243977681, 0.19264665394046054, 0.34173413896511606, 0.3609654615667115, 0.541552874575587, 0.5136789904520366, 0.09781651896204513, 0.9915971032419025, 0.9758484247584337, 0.7064282521133394, 0.15820618207911596, 0.2187056407700776, 0.07708875829451078, 0.9173884573405574, 0.3154006373912974, 0.8824347463268771, 0.556233618182117, 0.33943169405880846, 0.09593910088931668, 0.3055236399157274, 0.5714543453355246, 0.5329583755749535, 0.5960049005944447, 0.30167799028292863, 0.2488261484237554, 0.288056513757183, 0.5759728077253216, 0.6384457015916761, 0.09417588724732173, 0.7444914989644694, 0.4265584271123438, 0.2914954261055076, 0.35511131526130313, 0.9901237929508414, 0.4957212507129469, 0.7322582625405794, 0.44238236904970296, 0.39145347841353006, 0.14526761744195937, 0.9463025984748149, 0.9481588595956134, 0.8249442343497223, 0.7330371929989646, 0.940013493984366, 0.24653725957171457, 0.18993044318159846, 0.33090623312470135, 0.8531708350554691, 0.8974513670654737, 0.8219467674628907, 0.2270650732858217, 0.7921991798708474, 0.9816748331525276, 0.9568668106353894, 0.36143837049210004, 0.9166036575846743, 0.32657468402880674, 0.2916923068834183, 0.22921708399689433, 0.7766708445186379, 0.6159207137408304, 0.5761155760324691], [0.23997661928231884, 0.7270204256134503, 0.6596852440402283, 0.4372700572531846, 1.0, 0.2672486767922292, 0.7429756914305424, 0.7017127707399208, 0.6916276577774482, 0.9961866372797592, 0.49409006257731936, 0.8703325319680753, 0.8270680538544231, 0.02647767954217395, 0.030692388256592595, 0.3988124957447966, 0.8639691250098818, 0.7751563319292215, 0.0731271292291279, 0.41652146167246507, 0.42372265543824394, 0.8546650923445371, 0.5190706582245467, 0.35824154388547524, 0.41224689242881674, 0.9553150282024061, 0.057412350458766026, 0.7708001744320924, 0.32586807242212934, 0.6318112996393317, 0.16952405948349403, 0.9401384579044021, 0.9451313327884334, 0.9198093768986201, 0.9954499619909912, 0.800311630362219, 0.7052976831842563, 0.05300291309492311, 0.1409219059405249, 0.6196209694834169, 0.05726200364976408, 0.4744570055205395, 0.02680727572338859, 0.7496076508307292, 0.3139670298836662, 0.07401056152448482, 0.4877412998968612, 0.15660197158278522, 0.5706319410819962, 0.24740415832812368, 0.46766237152888257, 0.6425267488124498, 0.32157812226329563, 0.20349296506356362, 0.14692017794508427, 0.9841800872248205, 0.7539003904594218, 0.2853558246004464, 0.2041004622265562, 0.18754968617450496, 0.58877384354668, 0.24302281296497896, 0.6550701078659926, 0.5624147077024693, 0.3627928327622275, 0.608196463133014, 0.9951124240623762, 0.4256304931600329, 0.1932477340832387, 0.5165188219878198, 0.9951256734841997, 0.5026061898130795, 0.02076398089925191, 0.22886392544480527, 0.2873080199454555, 0.4305744629447885, 0.16026437122213189, 0.26298163531563834, 0.9729867855986575, 0.35811108582744333, 0.05969223205565832, 0.8740023032627621, 0.4189705543250879, 0.02505306721401057, 0.09687233390599637, 0.8269373006237974, 0.9837224807632432, 0.5760909220746848, 0.6803331673688564, 0.5677102933578504, 0.12361578326751632, 0.5426991796194107, 0.3612656696475576, 0.6517042176925206, 0.6657475755395759, 0.39008171136278513, 0.9878246599792949, 0.467293697464092, 0.44574969378128604, 0.7924415291369995], [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0], [0.5123974719013824, 0.8833323058335291, 0.3805963190747784, 0.5669924844990403, 1.0, 0.39252771062954606, 0.5926338011906432, 0.3260926384214341, 0.5369902967612348, 0.2606311676417993, 0.5520051788031752, 0.8718072841869994, 0.9442243053493987, 0.8672479969615812, 0.04888806149295477, 0.2497054876185253, 0.624205208530485, 0.5417953226184187, 0.9586046416577132, 0.2964175955875942, 0.27469746115373717, 0.8363320346876735, 0.3384646225772874, 0.2769570317505333, 0.6010785435482021, 0.27434394063789147, 0.4239352360829173, 0.20506949494763727, 0.38593081177323874, 0.5547254344254398, 0.6608608167614398, 0.19207881365538626, 0.7804544667950495, 0.5709865086061683, 0.6345055330692467, 0.46710233667033096, 0.3177540703176397, 0.9003779481038603, 0.1642345533050804, 0.22724279924224078, 0.46801382608537845, 0.6456184635446428, 0.006950715021292964, 0.39728117027079757, 0.07180796082326324, 0.30421644780685064, 0.1756534378491672, 0.5061192406039322, 0.5268341733897178, 0.38339440394942137, 0.7496786803039819, 0.5311410716002558, 0.8627748951364472, 0.32689013486318363, 0.41227878862644873, 0.2111133418272626, 0.7992039249450575, 0.14045471775521223, 0.2892952328196693, 0.9547349951472347, 0.9862252907667823, 0.4138733064592557, 0.9690626517425941, 0.9507812830441895, 0.9183856401461018, 0.9936709902039365, 0.8956442383151295, 0.7462759402485415, 0.011375512653786224, 0.5074909562967073, 0.14333023921293586, 0.003297991739875883, 0.030480502795545483, 0.21957757800452704, 0.8542354050801148, 0.06840804857032212, 0.0205215172397899, 0.14791961136522058, 0.6020862592068701, 0.07783362379546055, 0.2010759461086511, 0.30480088527745586, 0.003263314049143151, 0.11926538311104518, 0.13667074942581703, 0.1475266834094333, 0.3036154344601898, 0.9836787970378218, 0.0950877172610034, 0.7754376428352004, 0.6264199756798811, 0.8759758567897873, 0.21160906773673305, 0.4132647780372991, 0.13458915213383738, 0.8010650141034501, 0.03715184401367044, 0.8224559016724737, 0.34977571767544713, 0.7764331224486835], [0.9210194645191667, 0.5189118483523857, 0.19790110264034577, 0.7690927904143734, 1.0, 0.2889374357408856, 0.6674198042402801, 0.4492681354890392, 0.917712082159384, 0.3207835971453121, 0.23864627881257194, 0.38564378315309356, 0.207848049133312, 0.8161326441681407, 0.8611777767674715, 0.03523681773528908, 0.7323573027366838, 0.050138859497056876, 0.5124394454374811, 0.11913349768070258, 0.4672779975741549, 0.8150743550427916, 0.6479091674226564, 0.5579794285547205, 0.03134529306446854, 0.0952600251862048, 0.720836831681763, 0.35659846223231684, 0.10361656245435957, 0.749469730378186, 0.7142690173856914, 0.5960113250026611, 0.8787695139913341, 0.18242990605787945, 0.7823522674709987, 0.789020983065334, 0.8604881522541306, 0.6277814822018158, 0.18850730170570074, 0.2783529044041231, 0.7230467039563218, 0.07118422464885976, 0.8507368908396162, 0.09557158407436062, 0.5422104493407431, 0.28882961833519327, 0.6527846615158018, 0.9528155827651958, 0.11894358732070709, 0.016024327396164884, 0.42422269342873176, 0.8002807967076084, 0.2602732362422354, 0.21760074844172006, 0.01846121149307256, 0.2243564697208298, 0.5792481031519797, 0.027271900311061525, 0.09244356855071534, 0.7350732457549949, 0.9660652351643706, 0.013754862314230953, 0.7487565670305876, 0.00453013014703707, 0.39858994566681505, 0.5913238706005276, 0.6919886553523482, 0.9803833599492697, 0.8710930520187635, 0.09522316311111467, 0.01987458847305601, 0.5398539406646381, 0.9020562575093726, 0.24934816736064136, 0.966302955281742, 0.13238002950453243, 0.3884589405763026, 0.6800818302749791, 0.0751186976452084, 0.5661112626223322, 0.9141575148277906, 0.9243478782833146, 0.6128478548988947, 0.6019068991021446, 0.3655093249453992, 0.6780847477900814, 0.5517357806657398, 0.5851821377535511, 0.7799203608455045, 0.3274996365195879, 0.40797923317447915, 0.9103555493159816, 0.1034390471373472, 0.8635600660961541, 0.8318557042902947, 0.6208433607974593, 0.6011609763168873, 0.28877111322898286, 0.690969766184772, 0.17077750262739444], [0.9655814655414066, 0.8833162163735232, 0.9001996632896071, 0.6255463369404182, 1.0, 0.882289226563221, 0.7181113256247175, 0.40955334965650003, 0.31216232558018764, 0.6703303285101484, 0.054872838429207094, 0.831747131822911, 0.5107415664157031, 0.8879052107185212, 0.09367709796030665, 0.6901148162695258, 0.19032760031040008, 0.5034834155931984, 0.8863131936962828, 0.19019168847374923, 0.5672355301890435, 0.5915283157323221, 0.9255471828798486, 0.8903560245924327, 0.48864374423584434, 0.8080048302977442, 0.04233501410398288, 0.8857391589959033, 0.09736194197561032, 0.5385229063228603, 0.7926332634848426, 0.43450454514537207, 0.7647552494918433, 0.45068132093211066, 0.7272099638385887, 0.41337758689944903, 0.038523871829696854, 0.9373609399404914, 0.2523279534608821, 0.7726711142346123, 0.68515601862647, 0.49786462904659057, 0.85540051357487, 0.45378341413951306, 0.8354880082065279, 0.5385838749527464, 0.9163275191691485, 0.9490044499942905, 0.34933991225227745, 0.6576876360673456, 0.18746054779962562, 0.502571558770985, 0.5899272644890726, 0.821805303970815, 0.8824137451683216, 0.3205689326893145, 0.6478863106288258, 0.9474183363515212, 0.2763611834638071, 0.23822729065711468, 0.9428459218594267, 0.8802456565164035, 0.42008025359756174, 0.7394630230094922, 0.6290128496856445, 0.08353227879750025, 0.10462579503037872, 0.37790295095090365, 0.4813755390700053, 0.614238430105792, 0.7446601730017091, 0.8471050881681482, 0.17088616601964846, 0.05803222434186994, 0.1139464502041776, 0.15930888116268427, 0.8162142486115959, 0.1144314901134964, 0.6267042014206785, 0.6634197758330164, 0.10978797704124232, 0.6655269727991672, 0.6724485689212506, 0.8891109508642109, 0.18880535343878257, 0.7102785192690068, 0.9614863542850559, 0.7301875623683329, 0.22670141512222264, 0.27316956190257025, 0.3716600252253558, 0.06424432046711803, 0.9429096575763588, 0.6292711957819241, 0.9172748925277923, 0.23518933242937412, 0.20804728967192943, 0.48195872122672245, 0.9533320971607344, 0.3517486785874232], [0.9957545261953595, 0.311311425153297, 0.7311660790757596, 0.26635295921146307, 1.0, 0.36657466669343586, 0.22644209971260498, 0.049487676313684226, 0.19390102377070773, 0.7275401794838985, 0.766392562829225, 0.5007512320172263, 0.12772317887549745, 0.5208750602200699, 0.8973617563519326, 0.6296914063523688, 0.21757697442660162, 0.26987969502445197, 0.6768155676212229, 0.8703274926076655, 0.26008375175497933, 0.2487991317198911, 0.8651174736106318, 0.6461323246459258, 0.9728122559641706, 0.7226178482297019, 0.20878994664428407, 0.5799300328780149, 0.24409624970002608, 0.2036477840543004, 0.3382068716642138, 0.46176966119614193, 0.1466862124930577, 0.4897103276225546, 0.3333781408337043, 0.4409323480862788, 0.4766117398725004, 0.6684145029878086, 0.43171038185163635, 0.6673495694978162, 0.7662748095062205, 0.27292020126603, 0.5016972632364758, 0.4746846391160593, 0.591342507380307, 0.2540648315303633, 0.1003700203519109, 0.08421585367414985, 0.0359041099464712, 0.5211072809563737, 0.18751954977292673, 0.5870122659145357, 0.2146601192066646, 0.258311554880149, 0.5331771200848684, 0.09504993530029371, 0.9310826491799484, 0.9828829281406635, 0.9011609493768818, 0.4982982284009637, 0.0621784351299004, 0.19305089207139403, 0.4843853091950888, 0.35716908462388797, 0.7990392502707527, 0.053625068438929, 0.1689026859008378, 0.15349678691310953, 0.818908751104353, 0.7657772550093617, 0.06276136029533441, 0.24735603471250645, 0.2290596743721548, 0.06621636413230214, 0.8285492685167568, 0.4334834671078529, 0.6205230838218874, 0.509345906712393, 0.3686177695862083, 0.127967866528659, 0.6894067132806019, 0.6526949970351155, 0.37743008052516913, 0.15194718219471692, 0.22767182810801379, 0.09266639431632151, 0.5272674993820503, 0.9825238173957793, 0.6134008491414642, 0.2542768992533435, 0.25824040018365635, 0.8383211033718175, 0.8631404575558072, 0.8208476023008485, 0.47288400495496985, 0.44516975065836817, 0.6081566474234698, 0.9049110973673189, 0.34488522388536424, 0.5307077339356635], [0.2257339209866711, 0.740587152007848, 0.44104104778213016, 0.507536671459423, 1.0, 0.4217053247326531, 0.6918485781586794, 0.965116784888673, 0.9397554367406437, 0.7830469100395097, 0.7101381951556611, 0.40738667683542873, 0.07433994497058427, 0.8584226838874353, 0.2113470921446332, 0.05026608577574598, 0.8652087816301217, 0.02359519420327094, 0.6837170299359785, 0.6841581310763858, 0.6999078230586546, 0.19125980058221037, 0.9475710206277689, 0.9639960210243245, 0.6295827831046036, 0.9806474574710985, 0.9717649319259367, 0.06938496233461222, 0.23560318155773707, 0.37142475672058073, 0.15170607645761536, 0.9641707254338552, 0.9916185745708219, 0.7144823300157841, 0.16292065596183913, 0.39794060446837276, 0.3410371867129808, 0.11930010766615984, 0.8226256759355833, 0.19670676798439335, 0.7269730394840529, 0.7963985768731134, 0.48304961552054027, 0.15194891966796797, 0.8292013470505257, 0.28414073996226086, 0.17982654057087855, 0.7898189122334063, 0.19950697612541624, 0.9978068133644366, 0.39963421084833617, 0.7196571260890822, 0.14984152171106124, 0.3005184552250253, 0.7401729143572184, 0.4237652375184561, 0.072634936571076, 0.4489184767852924, 0.8824969908678686, 0.047488512580317166, 0.2136797231417903, 0.18589029675457858, 0.44778596660741266, 0.39848898452771897, 0.7746799484156688, 0.23845623460315157, 0.271933617142869, 0.3737117988815881, 0.530913580389215, 0.3117181549479966, 0.5935716067047522, 0.6249343387442432, 0.6649492379918838, 0.8929382242945257, 0.08114134524354344, 0.24189346981297133, 0.027271447802412307, 0.9500991235712019, 0.5558177006808943, 0.790883267443891, 0.8917556445082624, 0.45252612260103, 0.26292580526443243, 0.13599689917372992, 0.40836753251852753, 0.8611735479366209, 0.6615219872457533, 0.8584899184774691, 0.22033800421433558, 0.581259818664312, 0.8906997441249337, 0.5160300617784189, 0.9547824578854707, 0.7893800503808935, 0.5877717420616716, 0.783179500925497, 0.895383042983306, 0.31120509346290914, 0.3102435084731483, 0.8503347277486198], [0.7958203471607569, 0.25209333276280244, 0.1734035947805228, 0.7227456255407029, 1.0, 0.01988835788477572, 0.7493330431394695, 0.4645940429606581, 0.4755679109856027, 0.302153871237024, 0.6965976352955466, 0.18813357412066112, 0.26784463376941336, 0.8109427673878943, 0.6103954292906242, 0.39929446994074214, 0.8177007358244981, 0.9009507601851144, 0.5463401467092875, 0.49229706229692116, 0.44055008562114417, 0.25320066438027367, 0.31240872901260575, 0.10066411439536138, 0.2176460941292564, 0.8105457230473362, 0.79443332213982, 0.24379675711259963, 0.12121142088962522, 0.4100061281573588, 0.9498936917243554, 0.05699343110168997, 0.1261881361635192, 0.9731933591866971, 0.30039139662812175, 0.334408376391114, 0.6318551668712196, 0.5434373874247491, 0.519892118158741, 0.12517745313382234, 0.3105500737315102, 0.7269803619880146, 0.032690545819514805, 0.015524335038927028, 0.8815230974103939, 0.8848728496617155, 0.7459223160143825, 0.654330251175089, 0.7363020762883931, 0.6116507622431593, 0.08757609394637278, 0.1417846524558286, 0.43036248776830044, 0.9176353310245491, 0.5321455231213702, 0.22072579898858657, 0.1198193504577959, 0.07284597640075774, 0.722046898408115, 0.5232805642080316, 0.3091201409330119, 0.6574025736918079, 0.12542674317757696, 0.4550356798026842, 0.3385143284841917, 0.10472833419086702, 0.890010553357962, 0.8057615006054705, 0.6754220255613823, 0.9114706336652164, 0.8663483342357035, 0.49511379125455834, 0.15080624668515652, 0.7817936155573999, 0.3512779511513905, 0.3368938195371318, 0.38680662304745417, 0.2880100360804919, 0.7553803096412827, 0.6331539967353995, 0.8708510184188014, 0.9684687403042418, 0.3423839844708396, 0.8758514995443937, 0.4190250201479375, 0.8493338789941901, 0.5250734088260858, 0.13820954487220094, 0.587995666389045, 0.3013589547505253, 0.1582323813201214, 0.9131684151847995, 0.47778929812046056, 0.9686941744735673, 0.5625661783070178, 0.05812130098936119, 0.9802395429293842, 0.3727949898677304, 0.08478241044315726, 0.45029773035944065], [0.5974144093958461, 0.7499904315023695, 0.8611817640795016, 0.02482306634904874, 1.0, 0.47369835017313056, 0.13843430091469355, 0.197337292358716, 0.42075475866044765, 0.088121474724554, 0.7043224328484401, 0.606928123841796, 0.7289232099944387, 0.05065062211991733, 0.276989064534492, 0.1536168186524245, 0.19397952190130563, 0.33410029771851035, 0.03998393367852093, 0.11731482750072952, 0.668519113599643, 0.0744130941688177, 0.15716053920060336, 0.5259387554119018, 0.7482035209491835, 0.43530375746829997, 0.3008706277668499, 0.2713696826929656, 0.9215338098485567, 0.27060645274464135, 0.9373016563216562, 0.1946870107673092, 0.7425490493049894, 0.8250574270956962, 0.22368867917027424, 0.9768128699132964, 0.8814380955324188, 0.253933675640424, 0.8955292178748371, 0.23614226488727075, 0.6598980262819065, 0.9848272184457213, 0.20380614349202186, 0.11402970208097685, 0.08985750747386201, 0.6503900232031811, 0.6996586932038087, 0.8809761156171414, 0.1556892232745566, 0.023955806415009162, 0.5663939879082422, 0.12425974602229661, 0.875488271147832, 0.27259342231982586, 0.8681647815625413, 0.965346827817151, 0.9606292405227057, 0.5065482761699558, 0.9237899554994652, 0.08217288858257066, 0.42393310618824365, 0.6369949918317416, 0.9301405367850775, 0.6711271250109477, 0.5608604939977007, 0.6503242222717629, 0.4251024189468101, 0.5950910310882206, 0.9820833915000368, 0.9255403916075258, 0.9668114227490561, 0.9211832980861008, 0.16660606468300176, 0.4979235044921221, 0.36271401148794524, 0.40792089891813565, 0.4065350696735316, 0.6626131742997913, 0.3664351296105478, 0.9428486090912213, 0.4261507535964043, 0.20615151118599928, 0.6637825267769538, 0.8912177334097349, 0.24291189682482217, 0.30189754398335367, 0.6403330671943162, 0.25978761889936897, 0.9465429413092483, 0.8328599211241708, 0.3034169124692333, 0.8205958234802208, 0.8530379991727034, 0.5817147345544499, 0.31539694343826896, 0.33117578864827646, 0.3834590897573411, 0.375407669122778, 0.469700917910977, 0.9926554622065252], [0.5531129291380683, 0.9449481218716509, 0.3535817483149516, 0.040834593164133515, 1.0, 0.043614494022755856, 0.3113473152456602, 0.8437527518020518, 0.4734232893454484, 0.2309291746120774, 0.8419775652986267, 0.2481717188301834, 0.6979296084360259, 0.2518957504408904, 0.6648067756171522, 0.2775422766178617, 0.9697889849909421, 0.746683702219622, 0.888930576246053, 0.7498801387165277, 0.8844160828628141, 0.5886500960198653, 0.258030374524191, 0.35591607301764594, 0.6226546713530318, 0.42913299048745934, 0.35079086449581887, 0.9128155066634324, 0.020661124537957543, 0.4562101744266803, 0.6194699424415498, 0.5365332225460437, 0.19611141036917756, 0.962687982026684, 0.4568576573462093, 0.06616812845839815, 0.6510587848515625, 0.48878872677747975, 0.5463505360286846, 0.8079168659941387, 0.8040890447659399, 0.645413254381238, 0.22629224990238572, 0.5418851595381603, 0.12658167888337724, 0.6622764911521264, 0.8697391927799183, 0.2444686450746989, 0.7723970865858533, 0.06763366780374425, 0.5056177522311831, 0.1768969337470524, 0.5013422877799152, 0.46993740978095855, 0.4894212096175383, 0.2555607417138228, 0.6320981603665313, 0.7545388181620052, 0.8007301526197519, 0.6515015371319299, 0.4989821806314264, 0.5419776758168544, 0.6350510245450878, 0.4559953200985247, 0.8283679430199811, 0.8230303411812231, 0.27540899639816063, 0.7277224813342597, 0.3069408511694457, 0.7490953554851741, 0.41051965980990357, 0.4211439495443159, 0.0915449648453831, 0.7902214659508703, 0.6402848385491291, 0.7099651291757314, 0.4887729734514016, 0.9024680553418687, 0.4166825858862464, 0.684779777571678, 0.6484107905668881, 0.8632607189182555, 0.49292447770350223, 0.6441857022181442, 0.21067107911772653, 0.8860119699972596, 0.2228503472170883, 0.10150697119182728, 0.11293741716989159, 0.48904627591190286, 0.09284918555053778, 0.42760965812900953, 0.15616629658380954, 0.49712674245128674, 0.03518884056162097, 0.389752851756514, 0.10363025618477884, 0.7172889537012268, 0.11829661306023787, 0.6190759195186449], [0.3345738511134323, 0.5658737119473473, 0.6990574671188864, 0.30568875948814767, 1.0, 0.9286604513887948, 0.7683654057091373, 0.11022880687019809, 0.6898723848917772, 0.948428641021212, 0.23448457088510943, 0.02922844387894219, 0.14583625573332426, 0.03968075729367815, 0.9790515346203045, 0.5733035125275304, 0.3332765760258841, 0.13081306115512248, 0.8047563119612218, 0.5502263000135269, 0.3832207844507777, 0.4346802457963943, 0.6653251065543457, 0.1655364290003618, 0.8490221726958412, 0.2705997240942418, 0.7058702392004012, 0.6060021835328329, 0.13062827996830617, 0.7673527826269181, 0.9513155480822534, 0.9891826218784662, 0.06268600861200391, 0.7128119299679267, 0.3960684663685595, 0.3833798029276889, 0.15510236037097247, 0.47945066580345796, 0.4228674308671354, 0.6714280220848896, 0.6840222657857583, 0.678384894988569, 0.7863779003449177, 0.9731118846306365, 0.0020907957252621623, 0.7266565381659662, 0.024122182926187397, 0.3302505328440648, 0.1082868764268613, 0.500995870876554, 0.39097464062299236, 0.6709461591265657, 0.8360484109897366, 0.2728806489592501, 0.3503582528332958, 0.06680469577710779, 0.5759417304914956, 0.9781419859401955, 0.5226130018935397, 0.26420927076693557, 0.21388055613212054, 0.6157944942221683, 0.17475077773834857, 0.20157292836684826, 0.9496103684452804, 0.8743863276880095, 0.04561659722316613, 0.45251889157105196, 0.947910336433725, 0.3477159346982923, 0.058146956534682714, 0.5995724938928483, 0.22685752279220517, 0.35734107552648897, 0.9048044276248054, 0.04310944382774207, 0.08804048323636282, 0.005614075991199563, 0.5808974623029467, 0.5226645754777598, 0.7461825730570493, 0.4936795350201666, 0.10803022064981282, 0.7305226092824127, 0.2518728506818064, 0.3556989677095007, 0.8076196263591512, 0.6865221901426201, 0.44132545361152664, 0.28940183583082235, 0.6869373406046512, 0.44330425635446247, 0.556355671439937, 0.15273053692436012, 0.9590162371376705, 0.5688639853004317, 0.11462965987722973, 0.834004961493152, 0.24871522077980934, 0.19869506269938852], [0.26278178976655464, 0.703434562062542, 0.6411362027188112, 0.7903874943316347, 1.0, 0.7555460686468827, 0.22165091766373202, 0.8939549864538097, 0.5966850761630905, 0.5942231543661912, 0.04154281865426246, 0.9430631013326196, 0.6531184401805498, 0.7469490555392013, 0.3799580476713299, 0.8519520708460347, 0.4690401140906295, 0.005025784888969875, 0.919789473385096, 0.48434666893994915, 0.7261573688114802, 0.7489184642063789, 0.17621940774519884, 0.9806910849609572, 0.17935030452751133, 0.641526517629589, 0.8756611270961795, 0.15498342434223789, 0.4004191920715202, 0.5609244964210669, 0.22099268477435807, 0.20512392948274916, 0.946322325824757, 0.43694195494561305, 0.9060782160914329, 0.44704604086872324, 0.42996416180361297, 0.15019704185730332, 0.472643518886659, 0.712845813087979, 0.17106332609356034, 0.23251096923581405, 0.39084514403878257, 0.674879334065461, 0.7128979828585745, 0.15561717708177925, 0.48598012590534356, 0.6750300426149533, 0.6063810054856541, 0.20933201810183655, 0.8064138649385084, 0.10682963709032434, 0.3452715451559001, 0.06721885636537828, 0.29092091451589275, 0.9657274613251904, 0.09822492750660983, 0.505445366834897, 0.42886726061475144, 0.7435209827413524, 0.17327671346386075, 0.949865108628525, 0.45433697970265174, 0.7942831199923743, 0.21372283485560273, 0.05358184548914002, 0.3638262884945357, 0.4547948020883248, 0.7580837468815246, 0.7280588377580819, 0.21541366721461475, 0.2942465089256152, 0.002324713995572547, 0.817046887290925, 0.9096116477276253, 0.06456134218901621, 0.08200091500558404, 0.9593761141252662, 0.30478080690815756, 0.7488346566173311, 0.46345693858566517, 0.03248906400159801, 0.7319834419235919, 0.5969137008144937, 0.597290587925035, 0.7319573974261612, 0.01525772097760969, 0.015203597464418128, 0.8538597629608847, 0.33255864016568426, 0.5694329845805072, 0.6319880976994244, 0.6094161305267366, 0.9284871785347252, 0.6934355684498069, 0.45359527863350446, 0.17988438813759988, 0.8518449795230739, 0.994667342619027, 0.22932056265298928], [0.5578261961863645, 0.8331464479082153, 0.40080827543922004, 0.7323098062207196, 1.0, 0.40348386105998235, 0.7105895144685889, 0.03936728082208352, 0.8844502185668481, 0.6891163212538641, 0.20010760601896638, 0.25015494852451636, 0.19125877921359358, 0.20652651207595163, 0.6146193790554463, 0.9133066277119353, 0.48724605125922715, 0.28528627246542726, 0.18274258956676337, 0.5410453376830251, 0.600868413228331, 0.06222525421805225, 0.12847961408605368, 0.6858648735154519, 0.3217169949664459, 0.20222457798191684, 0.6599222163846578, 0.24534570728845406, 0.09960735024288314, 0.5127755102392492, 0.9547326857597832, 0.30901564943641013, 0.7938547402545739, 0.5756905653505618, 0.06878855066785794, 0.4062192509429382, 0.2821373575927639, 0.34513990577744713, 0.8664276626749607, 0.868235373049151, 0.3309641092978841, 0.5385025221408881, 0.1355673267117946, 0.884773157797158, 0.7469531432981156, 0.03932439124532572, 0.017929715709939176, 0.4373440678205477, 0.46444739740835006, 0.7408644055557525, 0.5194078767361437, 0.8865105319292305, 0.08949561142673546, 0.36215322859341526, 0.6140227686444987, 0.18646561785173654, 0.0738644518796826, 0.3682453380800431, 0.9781846331656946, 0.23469028102902467, 0.49467415135720416, 0.9085231982914862, 0.9597377042707381, 0.7100607433124706, 0.8558237848282438, 0.7125503329341665, 0.501544364138253, 0.8429831540125973, 0.1245384935571916, 0.19997683075935624, 0.5565604450905538, 0.18606510944807642, 0.6722753286188629, 0.3716214591050304, 0.1778607188640925, 0.031248243010434718, 0.982905445601733, 0.6775965417060308, 0.15666841385167618, 0.5747155445018103, 0.28449318434756343, 0.9604222957485196, 0.7150952135687746, 0.6615987809574327, 0.33758641028479974, 0.3856316319187071, 0.3703412870484881, 0.613110025985376, 0.8913418013395561, 0.4567556291619356, 0.618786776800243, 0.14191427349683128, 0.6701845216186795, 0.9899556290559497, 0.39007547755352945, 0.142062534466331, 0.7210262050935432, 0.33441980514278147, 0.8454396877207817, 0.5600340685581902], [0.26491580363445744, 0.4233086573095338, 0.046125425194725844, 0.9741352487723273, 1.0, 0.8144513276400506, 0.018449364437799987, 0.7560407205035502, 0.46020865521917786, 0.8927081149393605, 0.5227352484038349, 0.1383915527760402, 0.9432395919669498, 0.31301063124035133, 0.19164638684419144, 0.509974470822312, 0.5211357435248052, 0.2834604270053741, 0.30664322350016315, 0.48918279457568226, 0.2838110350934634, 0.462103661896611, 0.9460294385106557, 0.7225471096227387, 0.8188673108517961, 0.6650002882757078, 0.02846971275377619, 0.545401786194768, 0.3436304266326943, 0.16281858211723788, 0.04166080667679606, 0.950665974209088, 0.832752791474816, 0.13272150855907883, 0.12484602696492098, 0.4816204371524877, 0.2150580980356147, 0.8867167600904095, 0.8333911189084721, 0.1641202171823437, 0.22168130430332378, 0.4454393543789483, 0.38701538339744657, 0.5805072459122987, 0.5015834467146647, 0.09236779579712362, 0.27349441132523045, 0.28697513281069276, 0.8859581093433826, 0.34508675870995786, 0.9104125455346154, 0.6119262886265647, 0.3179459151292471, 0.07350128793727606, 0.25070505839204227, 0.1642107995966946, 0.6211040906419807, 0.20075045528753455, 0.4435149617053189, 0.3324858597125635, 0.5540030796031247, 0.25577107651694253, 0.7444626350133958, 0.15652294744857098, 0.28982167659709757, 0.16741430598477103, 0.06717650956156607, 0.4468886188110286, 0.5497776349018627, 0.6035293501022228, 0.7918269081834792, 0.4180344131845719, 0.3357437178906436, 0.4917479502799823, 0.5575661503754372, 0.27923544422667357, 0.8537739750380636, 0.8542901970329302, 0.7674159690054844, 0.7252176775326844, 0.13068525298567635, 0.15828760939077569, 0.8643588334305369, 0.8865376180830682, 0.8677708354970587, 0.5433765637551115, 0.4796572385125757, 0.646005336395067, 0.724541283476561, 0.24574088548673323, 0.3952121472477539, 0.4769607694423529, 0.37641644932137497, 0.9229901041547381, 0.26654956452460143, 0.7164728349308376, 0.8889382991025175, 0.9692327140740454, 0.20466312934049535, 0.7526796817786873], [0.8617000972460033, 0.17752922438818486, 0.9844657938602404, 0.40473953675909846, 1.0, 0.6632525447024984, 0.5373045059560975, 0.4761822851882548, 0.6072804301098311, 0.341585201654935, 0.5636402925164422, 0.7719530733779127, 0.5749722115837955, 0.6312431904767527, 0.4756305094662244, 0.7640165636096569, 0.6429273236568817, 0.3126060832036416, 0.49608738963206844, 0.7976926654815554, 0.8185128083791411, 0.10772732829926934, 0.6548233099552547, 0.25781128869863257, 0.6521279756914585, 0.9685368836501707, 0.39274590380400287, 0.6706878478758285, 0.2729096535059484, 0.44889159348649754, 0.9831276897209609, 0.8869454058992424, 0.39412233276139674, 0.2625321177277714, 0.8733553506494713, 0.5301619030506654, 0.8510081052037312, 0.8599207362736182, 0.9084206843311271, 0.027057640329502752, 0.8614297685344537, 0.6431030115651662, 0.3437203158519768, 0.8658294680851193, 0.9864237422355333, 0.9091260261385756, 0.9471452936112036, 0.8589489171684894, 0.9085241119035442, 0.30710420104533964, 0.9059305334565121, 0.7058003215785527, 0.20038595352276845, 0.937053325509524, 0.961654947833672, 0.5228822552200755, 0.7338320963772369, 0.4282954133813721, 0.19674965956422152, 0.6124062290578, 0.42808396642190905, 0.9940315154939969, 0.9783928499951235, 0.7192473806817036, 0.4254478316778504, 0.8429953734667496, 0.9899585134079003, 0.5547223386242083, 0.6084311238085051, 0.007383712045897828, 0.1787259793257251, 0.07795541846795684, 0.3960892452377244, 0.2680441891591726, 0.10376460465882642, 0.8957830476430044, 0.011085968253577327, 0.09578828333488865, 0.17906650782409905, 0.820741741824047, 0.7953395987774927, 0.748631447909887, 0.11950606371549, 0.6769079874048801, 0.1800016323828113, 0.11513522498945572, 0.017061157159432017, 0.26984441703320305, 0.7335867219621173, 0.12100734286341208, 0.4954074684090529, 0.9834082001326641, 0.8401246973109815, 0.01982866692389673, 0.37133742616222676, 0.7729926307940596, 0.3078740654775104, 0.577874198790582, 0.13392053097214773, 0.7969709316151765], [0.6018352519123059, 0.33834702005701833, 0.5923040119759907, 0.03015321712991903, 1.0, 0.24081821485464427, 0.6675777518186634, 0.5647687029188694, 0.7502581320853513, 0.4794915932715621, 0.3258879032341516, 0.822065014384582, 0.09108113605794865, 0.9462810517555045, 0.9759426155047356, 0.43108192550676316, 0.6470491070244037, 0.8920094729735202, 0.7049026039753138, 0.8640126151516688, 0.9319052382691846, 0.778390797673821, 0.515697233031534, 0.38575257511000527, 0.73712501816706, 0.3439102183960997, 0.15447274001960554, 0.8433438843966716, 0.3785395323063122, 0.9712572180200366, 0.31525936245669206, 0.1160511745958257, 0.15057906191939618, 0.6129191784034709, 0.308670734691484, 0.15751810914739328, 0.5590181190595026, 0.8480848192664302, 0.8859566183374882, 0.717792312419645, 0.2949948483566036, 0.23458494140146813, 0.6478791286903237, 0.25472814591539505, 0.41499279120730703, 0.28012460759489144, 0.08954725247245676, 0.8992827934344326, 0.4971101048557772, 0.27563115999929555, 0.47864861862170816, 0.7830403042560133, 0.46321605447414704, 0.1707529400395167, 0.015855383959473945, 0.6457100224220441, 0.3374117483175738, 0.1697757260032392, 0.1277651590123381, 0.8482123268950574, 0.4606531470971057, 0.9291644335860859, 0.13709325862581723, 0.023508344725816532, 0.9173233404466116, 0.1195258408782155, 0.029105642443450708, 0.30312666911710096, 0.11883072304011277, 0.6352509371907543, 0.3942702810497174, 0.18056570013294426, 0.8056081830021052, 0.3427912888936593, 0.27273911497226877, 0.10190535223231179, 0.6892871419542906, 0.30728627934234776, 0.4747595498898568, 0.17775230618521787, 0.20646571957599014, 0.11754665048920065, 0.3409442705992126, 0.15943919734133738, 0.012297122314797737, 0.42941708477213236, 0.696875766801428, 0.4828053051353731, 0.7989053776108648, 0.2775452467733974, 0.42384655699892904, 0.2105863864259906, 0.23458147308467925, 0.4084709034798303, 0.709243289750079, 0.9984615829697996, 0.7636198902649605, 0.28223757190767473, 0.4532015889252462, 0.6516056319410932], [0.7017489901309815, 0.020952982010297272, 0.2978152590168329, 0.6079702301977405, 1.0, 0.9930465064274661, 0.7077117294630408, 0.8336377352839349, 0.21457216819177394, 0.9853127340178701, 0.7557555397739849, 0.10608694308941635, 0.4480638769309715, 0.6114847179108698, 0.16368204213504312, 0.48155740271085745, 0.7879452997517898, 0.6834091202058201, 0.7517628672242894, 0.7693944078884843, 0.569455532844995, 0.5008904815344393, 0.03788394142269447, 0.7291382921928578, 0.8224906714553166, 0.20989674577456918, 0.4498721465788631, 0.37400474300585684, 0.5366520750279556, 0.24616528346076727, 0.2902786740475175, 0.6956369382783258, 0.7510325722469952, 0.572475872456017, 0.8609782062912057, 0.23747491876501126, 0.9767325510244225, 0.48739648371445987, 0.4722644735043453, 0.11084705543753115, 0.24735251063313413, 0.14927771432324444, 0.6670558478375749, 0.995853628007321, 0.6306920556546777, 0.4127309004983555, 0.5897390977304594, 0.27606302629036394, 0.46207063959617756, 0.037242969151052185, 0.27567849688079604, 0.15089959132436648, 0.7026031836046268, 0.021311340380915533, 0.671133177045466, 0.7852711086868291, 0.2476724713284294, 0.9419005091260332, 0.5647791210060652, 0.9189892052755362, 0.19977359275059758, 0.1128059710275392, 0.7498792288597841, 0.26554187928827644, 0.25610085772929025, 0.07615119038876628, 0.568350558123762, 0.6847187569400989, 0.7271305086802802, 0.4377478461812342, 0.24273121450292479, 0.20356001178907324, 0.35090379811705463, 0.29193641711075613, 0.08838969693057208, 0.3210251454728057, 0.5094904963937958, 0.4915692607216269, 0.1030178765555877, 0.57528976421485, 0.9367843769226748, 0.7445789348423228, 0.035658614223009644, 0.3501304908610545, 0.7069871364416216, 0.7633674700561881, 0.8990922116477076, 0.5578259609273484, 0.3567704510813112, 0.03894342990250366, 0.986748860883487, 0.07525162287349141, 0.0230919035651036, 0.06492161540471164, 0.36142381694752546, 0.511958404445938, 0.1290835994696834, 0.7159701656300987, 0.972897941877456, 0.2734557703597602], [0.813748221190109, 0.410986484038798, 0.5716557292698251, 0.25104013001322334, 1.0, 0.1353780184389004, 0.9049268957417994, 0.5412991478679983, 0.2422405300979864, 0.642694015435014, 0.6983482961457879, 0.011180639070208054, 0.8185649108421079, 0.9065283362368689, 0.38923749046830014, 0.9743514291211943, 0.009709053655588384, 0.334393649386891, 0.17453080593368775, 0.5306425796722928, 0.743299269685268, 0.6289394911303512, 0.5470230627280235, 0.403994756939285, 0.6857725282018541, 0.7742818049692307, 0.5844000114642489, 0.7822769739849569, 0.908287238718424, 0.14637764736844172, 0.575919392650268, 0.4088401819079125, 0.8855582772142598, 0.964332692049641, 0.0016423413576120982, 0.0515278791038154, 0.4238732777029546, 0.34266842343944215, 0.47189433401786696, 0.3577233947308702, 0.5337407683582487, 0.7861623764034302, 0.4297211646245662, 0.6487211041128474, 0.08755279230237856, 0.7869348118308924, 0.6446051575322607, 0.3201906646868563, 0.08570858898096578, 0.376941798918238, 0.5932035310177759, 0.9494718525404591, 0.5693257637673158, 0.9548773897743428, 0.3584328288031745, 0.8478282937666958, 0.6381959418970367, 0.14953475843350883, 0.805260693189653, 0.878211088455039, 0.8617561833441147, 0.942600098500031, 0.8005048436119669, 0.749533113247365, 0.09223292386064286, 0.35750953908063676, 0.002929412639544382, 0.7290035103557249, 0.8136604850315574, 0.5225965986340882, 0.8818435853708214, 0.13333698219978896, 0.3656284267699783, 0.9552608962189031, 0.8580457277623211, 0.14148324321450545, 0.2047704875977917, 0.2039699082726132, 0.10556111150279213, 0.012040178209587915, 0.2011808559797491, 0.005180675765600995, 0.10121766507797136, 0.6210977838029342, 0.7679519885251676, 0.4704842218023134, 0.5942802150146401, 0.1370689263703394, 0.22306763597231294, 0.6907160959093922, 0.4371678152160754, 0.2150263007694131, 0.04007149756218753, 0.3135854129814104, 0.8596835212266041, 0.838708444381959, 0.5286245143071716, 0.5633547889365523, 0.23772960196335224, 0.9582152985481178], [0.03008350168441032, 0.9971630626847927, 0.23739038408464386, 0.706268651130747, 1.0, 0.9483025723363925, 0.19862300999630467, 0.39103158375738156, 0.8323984256683786, 0.42902367006395603, 0.763853859382592, 0.8640772882242901, 0.609574976363441, 0.7907816520298867, 0.30139291248150246, 0.5425667019031923, 0.8840335884836994, 0.7294674208204012, 0.8023895639326252, 0.045805398605248016, 0.5574043466266778, 0.857769112712692, 0.08884283047995001, 0.6374915341717282, 0.634717718214048, 0.031811051949607094, 0.09445916714085312, 0.022067131439495458, 0.869612072117818, 0.1922306220820208, 0.5775916554973252, 0.6578783326768317, 0.6050398343530615, 0.3817431247826689, 0.8456285638447156, 0.47317059131367634, 0.16078126281403704, 0.15683262732529457, 0.9585677851215052, 0.5443226715824117, 0.19379056361724278, 0.8680226683545857, 0.6661538298471927, 0.4385655966724048, 0.5651061767891664, 0.08302306597572351, 0.6054142724576356, 0.24792063667704345, 0.9054862119214792, 0.45391461355718343, 0.38575473269329563, 0.5634931054745905, 0.7339385545415922, 0.1598745569427823, 0.6373304246208591, 0.05523644474951184, 0.7155932677040587, 0.28124482773802517, 0.09454082629599936, 0.39230060183347193, 0.23471643294863953, 0.7242143589727306, 0.06820022485159494, 0.2828647423688595, 0.6951245440373622, 0.6314131836012516, 0.9701090741339374, 0.5592392706930567, 0.9258980036127717, 0.3792384152114846, 0.4432375282347585, 0.23626948923229774, 0.723626646054418, 0.9676973349506917, 0.3517891644714811, 0.02981268250510105, 0.33573989814609884, 0.308283944945719, 0.14106764328786314, 0.9336153625914172, 0.8957532969814997, 0.7768657002207289, 0.40187895017791186, 0.8360464412958297, 0.05477361383018409, 0.5298385782798255, 0.9768646829734543, 0.9396537844161016, 0.6097301305374639, 0.7977944661370677, 0.512493391560988, 0.7744714742913819, 0.6204334091358792, 0.5241891219243692, 0.8282701373922985, 0.7192370056259403, 0.10498618225888035, 0.19538333553121434, 0.6837199178167782, 0.22708320943453175], [0.2974735338452772, 0.21938250403915727, 0.2415663554060804, 0.9013767025760048, 1.0, 0.24816418132255402, 0.5219202905588514, 0.8194519114001687, 0.903710354216985, 0.7019190268013322, 0.8116634611685208, 0.20463996059752942, 0.6203384386254097, 0.915874867916727, 0.028011586391846754, 0.4348109883657236, 0.08105240261000335, 0.21042340783330704, 0.7802507892889966, 0.6157340591058694, 0.600259944910312, 0.343612606342259, 0.38135598192213915, 0.31037715483320183, 0.5606101096030693, 0.6433248168937822, 0.565379312090288, 0.31833464512187604, 0.7307615958717122, 0.6550651722877656, 0.41452790140617657, 0.4599023296736666, 0.9042814573702471, 0.23485617570508388, 0.9795490772730406, 0.08999843418261144, 0.13647014183043626, 0.6374644855282435, 0.6720427369991684, 0.22899384759264263, 0.9328920333425811, 0.867597844914481, 0.6436698828582359, 0.9956173902090406, 0.3159188182385383, 0.9075292337521031, 0.3283266405783054, 0.15316243964215204, 0.4428376726003823, 0.49661198595385414, 0.8635995848430571, 0.8967331978399451, 0.2105016232962662, 0.08486717092565133, 0.7201727447089119, 0.508160122023172, 0.014813450447600407, 0.21046697916356194, 0.7829816647278018, 0.6762193214027488, 0.47841398821887504, 0.6350074591728548, 0.10471112353445045, 0.8146674426577281, 0.15440808243043236, 0.6372566167621025, 0.9108984297717074, 0.8251917946924863, 0.14143075714500863, 0.6288319841467068, 0.9918521668671756, 0.5873867581087904, 0.29380183508144353, 0.9350918198232061, 0.06115456843294975, 0.6572942193604376, 0.5647291011670676, 0.33525860341851144, 0.9985077629786273, 0.057758866083058136, 0.7658661864880564, 0.9621121227986374, 0.3773815178032157, 0.2570186093761748, 0.5565723633991689, 0.29678949277695066, 0.44531598852104437, 0.5137272139447531, 0.5052042803417155, 0.7187717380144153, 0.690944553355556, 0.4481900542938895, 0.8087944031406211, 0.7741852497102399, 0.9404220006071482, 0.9744418805181406, 0.4351205763812298, 0.004104773471290568, 0.7510737642485497, 0.5011030150687539], [0.9865801434183147, 0.48398772130961687, 0.08887193284116901, 0.9378212491280161, 1.0, 0.5495531080464897, 0.3635254169375426, 0.1944169763854633, 0.51901394739677, 0.07423103181334045, 0.5640354938010892, 0.5331975481303467, 0.6467848083171204, 0.13823154759583023, 0.7052665560341093, 0.7723916371044599, 0.09138106456308648, 0.6236792223864602, 0.4903684746214134, 0.8069429396281066, 0.2097911506984922, 0.8555887652885094, 0.8757659773826884, 0.7334703371750053, 0.3144773687389736, 0.3265863575185739, 0.9559218793394231, 0.16665300140494033, 0.08758650133528811, 0.22284227777506393, 0.3845474628843396, 0.6473588155884807, 0.905470947103155, 0.6523388847791673, 0.05283845462385206, 0.9653292535467562, 0.9850548517008862, 0.282359220424921, 0.08550628879787792, 0.29332138380538597, 0.21655224581059973, 0.81257682978375, 0.25387831612903256, 0.4873411611201425, 0.6707266860175585, 0.7808547914777845, 0.6973515618063215, 0.2019622176824306, 0.6627356147627366, 0.42672092524435834, 0.12386071554012945, 0.7587293120596287, 0.8962264215704229, 0.13580616362883724, 0.05289574121137508, 0.7004578998933937, 0.9346489619416491, 0.8977561521861966, 0.6247005027129874, 0.1671210027028921, 0.43472429874105467, 0.03821754520256104, 0.8954867560746227, 0.25427424977009794, 0.867608021596475, 0.9828332318585924, 0.5085316179155982, 0.5817294131019115, 0.5833429561421806, 0.018748613502491462, 0.9348940912410104, 0.44820342773206423, 0.685905595300499, 0.7621985761811412, 0.21670518549658524, 0.5668394909713641, 0.37759092977602426, 0.20502127462351494, 0.5089210036296186, 0.8774979902589279, 0.4386390822024989, 0.9214669164863805, 0.5480725404295904, 0.8124603458742427, 0.4601184439794196, 0.8100715911594857, 0.2818563677458611, 0.6681982771777543, 0.9136465054416395, 0.01571976171720002, 0.8377946217042169, 0.738486846361111, 0.7143689077951374, 0.6828419093019023, 0.5174016778138096, 0.0034730593320161374, 0.049380079365325624, 0.4036540442236436, 0.22473010803719418, 0.1519220192569889], [0.34446807905141563, 0.43858860087453144, 0.17321780202962167, 0.6351153308492603, 1.0, 0.322646422161443, 0.2042919695769032, 0.1465545949885707, 0.5108642921122601, 0.7090985156913036, 0.7691537053352866, 0.1496312828968167, 0.8989532206407038, 0.8634232780212183, 0.19850446401490085, 0.6910489533313598, 0.265352608815816, 0.7365442278877813, 0.4208037143496124, 0.13739249365940942, 0.40273747759853096, 0.04564331496858853, 0.680144527928747, 0.7756591023347503, 0.5768508108278381, 0.35023743893310777, 0.3535371943481672, 0.3929968067616687, 0.11129224613395339, 0.9704551303748368, 0.28301761481054066, 0.10463338438817982, 0.544241373839104, 0.7863101808783047, 0.44838773980177227, 0.3225581414313268, 0.8835318270583908, 0.8130638486542036, 0.7055195240113918, 0.12524153267518945, 0.4801190898808626, 0.729147612030263, 0.361074843494793, 0.16686023969409225, 0.3403121297362355, 0.39340390044369455, 0.8908509332858097, 0.9626264680516519, 0.18319817960968576, 0.6149223270719657, 0.07338154606755276, 0.16690757820167545, 0.8127363150327183, 0.7241901575362971, 0.2413101747145544, 0.6866567031553769, 0.7364506428701787, 0.7380820330435464, 0.48189377240526066, 0.8019234967669399, 0.08943217868842779, 0.5635715667625925, 0.9269690070397524, 0.2376406886715221, 0.1983607263702415, 0.683070433275568, 0.4084768801690434, 0.8275364561735004, 0.4178479096569637, 0.17651819655403556, 0.22987707738158236, 0.5479750487614616, 0.6334532129777314, 0.03343009571509048, 0.6187445797756185, 0.7489846073023867, 0.2609503741287623, 0.9044701313015896, 0.7397004320859395, 0.8480976688439704, 0.7579455981664133, 0.516993570723735, 0.267947229102128, 0.9899741104458076, 0.31023175557733884, 0.8314065459618581, 0.28265746373400324, 0.7267879023909312, 0.22539357531761517, 0.9544165684633074, 0.5330418868948696, 0.843327923343618, 0.6045536708910764, 0.6877562336534617, 0.5840016956477883, 0.840734916358911, 0.22903230014855358, 0.5920879859755824, 0.7683522730978112, 0.7806851601264121], [0.33539252498320093, 0.1742007591645931, 0.7934288865562827, 0.020618875914243162, 1.0, 0.15001066538431895, 0.8470603343107117, 0.576792589180285, 0.8138770849673219, 0.15008551563771055, 0.9686521300824359, 0.9716039540041543, 0.4406498924392289, 0.6498576679557534, 0.5301417865579462, 0.9319445119672687, 0.4672997150855056, 0.03425508264508259, 0.3936363969387817, 0.7069141539426863, 0.2461983231504139, 0.6872746298474062, 0.36915743589992933, 0.6810547614546278, 0.9630234837789361, 0.4725538062028398, 0.9494055503270917, 0.9305751043722208, 0.40292779617902075, 0.532410382685155, 0.3488231118224904, 0.5058484340592375, 0.9609376184057664, 0.7560340401985018, 0.7150129475408411, 0.1338879041675839, 0.00010359997964848322, 0.44118945131631593, 0.5159476704305296, 0.9200411327169137, 0.020436334680459134, 0.8766550550837926, 0.3943957590546351, 0.6470982183542078, 0.12212148875608808, 0.5493792349784137, 0.9821155580033959, 0.2945703550422204, 0.6904711691491721, 0.4974160251033547, 0.5773932344171704, 0.22651790789144355, 0.05660278233985605, 0.8249883856575921, 0.7760649229045943, 0.1333881882481699, 0.2310006623895403, 0.09444041328239527, 0.47555159540114034, 0.7213194295036662, 0.694579401995601, 0.5207475454701664, 0.12223787000643693, 0.9978541251321663, 0.6024032550825511, 0.6667371902098491, 0.8438059982051737, 0.34718697465393555, 0.8574963380750402, 0.5262413320384985, 0.31671055174723894, 0.29166848248710187, 0.08361225746424206, 0.6203856138953076, 0.5283418745892056, 0.7173756187574365, 0.3114040534642225, 0.47950459636216525, 0.19119294838237577, 0.5916572568812539, 0.503312808837227, 0.932806863276431, 0.8863577859936601, 0.015267454814910986, 0.7451244240082753, 0.3188884770171373, 0.17699942552080428, 0.18133103754836843, 0.20191374181521982, 0.17048881982109665, 0.18677352781931977, 0.8537349414747991, 0.2567259449315059, 0.14393197325478124, 0.23410284289768257, 0.7437531312262542, 0.19781493876356993, 0.011248553394775707, 0.9805052319664891, 0.6087399482027056], [0.31945186779040524, 0.13747216992458366, 0.8453126676356021, 0.3725757309178487, 1.0, 0.7898446141929211, 0.5689646333863929, 0.9362499859752361, 0.7828875037550687, 0.7799383107472916, 0.7913829027034252, 0.7111623226163949, 0.9686165313715638, 0.7815048907839672, 0.1612021853343627, 0.5115034743249153, 0.9814069304915707, 0.585814117030363, 0.5543565993700492, 0.3939970526179405, 0.10973352625751287, 0.2348432437238348, 0.8950718568062278, 0.6306218055549149, 0.7918994223589756, 0.11428677278631927, 0.3523223479957739, 0.5706056984092582, 0.3536430703591673, 0.644514418700312, 0.7256707418897423, 0.7307100532092523, 0.04131443751586705, 0.01148732800867569, 0.4842145196194547, 0.6485802892787027, 0.9146229934720286, 0.3142661604836303, 0.9312946592662928, 0.9074710322655819, 0.8910124940124852, 0.7817319452790381, 0.5143092648184213, 0.9133217027583823, 0.4094851052160232, 0.7875306770140434, 0.4961834473014761, 0.6571812581963459, 0.41800788841518777, 0.2578254205821978, 0.5018205025201842, 0.6120038503524852, 0.1460262885503394, 0.9770597113399832, 0.49644869978411166, 0.3343587695687045, 0.4324253897316407, 0.08651710167670779, 0.7335325485627756, 0.4863582589420661, 0.28228673686783323, 0.7466883535019907, 0.22172268253937089, 0.1805193861936133, 0.13482862121584815, 0.6044148222380549, 0.5953637665723411, 0.4825741883843834, 0.4736729892367162, 0.9294884433735519, 0.265317183453314, 0.19520319482259518, 0.9197373713454644, 0.6309328660524987, 0.06327641442094745, 0.9627450436984288, 0.1828742167413523, 0.5234622427795307, 0.22066045240694876, 0.609444531689864, 0.38625123471463574, 0.5605511458376039, 0.13542969716708575, 0.916211316136735, 0.903109173452492, 0.3883175759973977, 0.6653752875407223, 0.6828819609235418, 0.2395849082036724, 0.607485584854332, 0.20113595274240803, 0.5713612118810856, 0.3228741631240989, 0.02585654375083779, 0.3636030077678184, 0.020556618655427572, 0.12964456965057458, 0.17852846748178763, 0.9940226428847084, 0.4564810123375366], [0.4058733416617831, 0.17884680319733226, 0.1499114919776352, 0.31631205349482094, 1.0, 0.561310627824132, 0.7569296750597717, 0.3674986373923377, 0.2100211332955796, 0.8192695325915668, 0.4753452963443865, 0.6876305545027364, 0.5148374226561502, 0.8781781997423647, 0.9475009008061469, 0.3942325149943411, 0.6738343084022361, 0.16112689094093358, 0.5782612062860724, 0.7306815314172702, 0.13161325523432765, 0.5707222242042489, 0.033198608346375114, 0.16755939375018902, 0.6333775478962412, 0.7918334740524237, 0.6072944234600458, 0.07248099747943881, 0.7266531961604185, 0.06833981052678184, 0.809693868395552, 0.4747347060000102, 0.3589152270453845, 0.43351731150182804, 0.2793581628439139, 0.4526215005529729, 0.5856302766186028, 0.6608087501656544, 0.9625346649998046, 0.19286964897692171, 0.4066237709006929, 0.34679017731038, 0.15894650763576934, 0.20332689588445252, 0.07512309388042782, 0.8980669580356491, 0.44941734883113915, 0.10577744298846814, 0.20873146432250855, 0.8787523736415326, 0.8533636206369112, 0.9877136711907519, 0.6022712204101349, 0.9044875227564737, 0.7107940563570322, 0.6525508473391847, 0.12139992251727494, 0.7084203626078475, 0.24751024001018784, 0.06728397953192278, 0.5938106963598673, 0.78966773992159, 0.763254599047768, 0.1182370142668091, 0.07903210256698301, 0.48028248254579764, 0.6756895092111155, 0.10457195700717847, 0.05514131209112816, 0.17044553165822574, 0.9277438624512266, 0.4561942943380246, 0.6926181718816182, 0.8898101099567782, 0.9782192871075305, 0.30375033491474024, 0.2541674776240266, 0.913037697421141, 0.29092647821424744, 0.08483214115664495, 0.8706136611560975, 0.6844652258545747, 0.5628426694420364, 0.09854513054968339, 0.1596633913284351, 0.3559157149694603, 0.854504315388692, 0.10521155876268662, 0.840674866038328, 0.11855999582981813, 0.13054895919133702, 0.42696159759745933, 0.6596259144119765, 0.33904408297562283, 0.663067974558884, 0.4363614237850002, 0.016738214309209853, 0.037706007922167384, 0.8162886985384076, 0.38978982671422036], [0.8466557039279645, 0.2635472837525866, 0.1128321992792557, 0.12543846656684743, 1.0, 0.8582658067391534, 0.3608418913559468, 0.40517541741737917, 0.7009668984870987, 0.12918637061003302, 0.2214135677690463, 0.20447664057793058, 0.8283472612874744, 0.4137258667945811, 0.9200930682026616, 0.04752323129231062, 0.8062602407791966, 0.06648346057539467, 0.4386907060565761, 0.5615916099503195, 0.16493021351338, 0.5010316956022169, 0.34501552735010255, 0.3248616234079871, 0.41414109812472466, 0.6970123763586509, 0.44315939193687537, 0.4370868958894494, 0.08028807094685009, 0.6463789874111857, 0.9961717598087457, 0.35554969923671065, 0.7202326516316829, 0.04719209652861245, 0.049635521689587625, 0.44611659935262216, 0.6822729019731, 0.6391850822961601, 0.7109191754905693, 0.9908098871429847, 0.9746206772051015, 0.13849633545977647, 0.25666304974048504, 0.9547007695690605, 0.9771085283740965, 0.7822136143497721, 0.5992354296969131, 0.9963955334005212, 0.8018903444217547, 0.958222880909796, 0.5577237419134767, 0.10506589963932078, 0.5249995019030835, 0.8758555256816538, 0.7464621863685285, 0.543350885091322, 0.2724898948810486, 0.47592607940674625, 0.20260582973607755, 0.5779780857021602, 0.10931208356271005, 0.5392479830444674, 0.8634775682553466, 0.7382764638492744, 0.1637847504157246, 0.21446360402476605, 0.9698130628262028, 0.2999506880352165, 0.5620375332452435, 0.08315505167530968, 0.6422328931330765, 0.8691576367026258, 0.5897775391245965, 0.13866514920490358, 0.6438116786955995, 0.8674643830216547, 0.10982342998770522, 0.5245784583323665, 0.1522196226986342, 0.123524925516587, 0.46997761175685693, 0.5580133322477893, 0.7463647767361307, 0.495208336185451, 0.22082708216349256, 0.09427541350284507, 0.6074386827937616, 0.19240181483489527, 0.21971920578598858, 0.9654857860637702, 0.7829719771832817, 0.2994275529553223, 0.1602303194653324, 0.2099902123369094, 0.8066776659866538, 0.0948693703125345, 0.21619204752507526, 0.8369531248869767, 0.7807866958916589, 0.11316700218134013], [0.6881048801045541, 0.5064699988230774, 0.8458813954367408, 0.49749295387871484, 1.0, 0.8497009336419217, 0.8430548405025605, 0.3066022487137917, 0.7709138805988235, 0.10173959324823967, 0.2796494613080114, 0.13907006000416178, 0.6262343844491804, 0.18721532194703938, 0.5922299216335334, 0.8389711621878153, 0.11729122160927863, 0.09294378716949891, 0.9836338672565915, 0.37684500270441434, 0.06736153182869264, 0.338868625206006, 0.2096847130514744, 0.2864006634050129, 0.27096015130496476, 0.2628512579750152, 0.29866400330729814, 0.6770593608565957, 0.16562785899581212, 0.09657845173485624, 0.8598004227938805, 0.15898240445681922, 0.6726590243793992, 0.5472495807077167, 0.6367664720802815, 0.7932082977327224, 0.6805876811489451, 0.8811800275319595, 0.659626852314593, 0.8739815904066371, 0.9776091860410756, 0.7689709963296132, 0.29421742288674535, 0.1363708187434748, 0.016280789772119775, 0.023739523358467962, 0.6649287286499574, 0.7237695690493053, 0.5164195266599998, 0.9372530754048867, 0.6338640267035777, 0.16773813834803974, 0.5431643716126685, 0.04806425833885708, 0.20633451801456937, 0.5679948467684969, 0.9396969088213049, 0.4703345745164508, 0.8554251355048951, 0.006507831439623302, 0.11701693569140459, 0.33550460344953104, 0.4346598358014585, 0.14286127363362844, 0.7068644538743167, 0.4634027651483197, 0.3524228386829209, 0.32411964158982265, 0.8290304275589826, 0.8083134624666084, 0.5548856745461481, 0.14561987427263068, 0.913106319707132, 0.1345117029969578, 0.1364618764605292, 0.5397128578358573, 0.2816367015236403, 0.26040300161777374, 0.26460258951552873, 0.44726712675799063, 0.7635150298814904, 0.5114909670805798, 0.5339143501050638, 0.6202950244542759, 0.35462575774802296, 0.8275227936852638, 0.9688522619506676, 0.792676363168748, 0.5788513494928949, 0.9008973827769965, 0.7111840690507661, 0.0887378401729767, 0.4813460933518683, 0.35759433613779545, 0.12663928103766886, 0.02045442700934197, 0.9142937170481488, 0.607253832553178, 0.7280237988788621, 0.5076340054005865], [0.5612606947282748, 0.5707920915744779, 0.5069254193455847, 0.8374992880949913, 1.0, 0.642124644015644, 0.675532153817908, 0.4880621662074711, 0.989733768983205, 0.3463688073095217, 0.8220539682729159, 0.1792109935863161, 0.4245838299439071, 0.9002448455649102, 0.8130698773406357, 0.3770407136730556, 0.8716417605847535, 0.2637096596131564, 0.11731669045497883, 0.06886424748990516, 0.7379970545205375, 0.24615953981750016, 0.7068380844256043, 0.010832928455341673, 0.39748822495292724, 0.3734625910846191, 0.43033172160712807, 0.5500022416156682, 0.1846029746976684, 0.27208330110825607, 0.7642009628878645, 0.9977230562291474, 0.7277375746113445, 0.6350755316446599, 0.1179901160870348, 0.6347724145135855, 0.3148201102039698, 0.09407460652791921, 0.05009017299691243, 0.932426911628053, 0.003086069271168057, 0.4116168503389719, 0.20921302445785162, 0.771505703173139, 0.8046110427361853, 0.9137015923433681, 0.3746184469986177, 0.14565085625214103, 0.696023915508175, 0.4326039736035121, 0.587175300146479, 0.9693435290729729, 0.24923578747920738, 0.1477904516142794, 0.45601231904937645, 0.22698669715297537, 0.3280296381402842, 0.6320669381662987, 0.4121144154965396, 0.5713950528922909, 0.939167573890792, 0.47037568595381984, 0.6712255946479969, 0.2594621024589716, 0.2621044248051634, 0.6996199827412605, 0.19986370212276205, 0.9863410958673469, 0.8848574035819838, 0.04567025569441929, 0.537353113241867, 0.018126171404550973, 0.06046282101755307, 0.047555078834779274, 0.4417338171234604, 0.9558630476500494, 0.7089605121737638, 0.5684642578434393, 0.4744756389754836, 0.8157998664612066, 0.037998463890159595, 0.6482077343925131, 0.554190846524121, 0.035559522229882345, 0.8223634202280534, 0.43485805257479415, 0.90430466569107, 0.1183400630127881, 0.5763606784013566, 0.9473607340779218, 0.8513440004612455, 0.17815110953355162, 0.5324158130699606, 0.56890098359679, 0.5581659715844856, 0.6896746764072267, 0.3200424064142626, 0.1553257612090172, 0.03203061079938441, 0.07008663020687], [0.49405434307498397, 0.2003129390413383, 0.11067096805117782, 0.7444594035168354, 1.0, 0.5257522307911219, 0.36690023939639926, 0.5569347785280278, 0.26771976027809674, 0.41007485280028255, 0.06808246647851024, 0.5364748478726407, 0.14844162424274465, 0.10805386159075137, 0.16305898165513866, 0.0724620528396267, 0.9946555579512008, 0.7661819991531565, 0.21411278286957525, 0.9381307946116202, 0.6446731592670953, 0.21222158558249304, 0.34923437104753663, 0.5042784490351282, 0.5312424980272882, 0.7652816476725152, 0.307889002797911, 0.6965395055135974, 0.9636317439823594, 0.6292550198703603, 0.8296501937270997, 0.4588055744151841, 0.7952548148387278, 0.9004036888272587, 0.5347679159705399, 0.8708849993237213, 0.2424971857261652, 0.34883507538094605, 0.7653173892805925, 0.004557573340593479, 0.7004676586031576, 0.9581017232705907, 0.6410528131105172, 0.5989189384018608, 0.17205709179617623, 0.11973587794142293, 0.877538941260681, 0.9953856100464833, 0.5305234442567197, 0.11193021750410015, 0.6942660929844964, 0.341937550972527, 0.1824225276651117, 0.12705912104583417, 0.6388322327318471, 0.5496772836742025, 0.15250089217274432, 0.9786482085145838, 0.6433284594427635, 0.5107433923709115, 0.7888168184797695, 0.8214750566985399, 0.04090062491882107, 0.03983817122474631, 0.006987674705042357, 0.572097925163679, 0.24278237174103334, 0.6074411312895125, 0.2353924837476361, 0.09313936991254257, 0.6047731071609584, 0.1389825306160365, 0.756871854865567, 0.8024991702950712, 0.9416348309982429, 0.4162577219047564, 0.0701064319063347, 0.40705239069245214, 0.4982009012396206, 0.40104017043682105, 0.48159228304181556, 0.2037696663064229, 0.33866868765488045, 0.28111924582423764, 0.8116128576310268, 0.5718745718926171, 0.5494616889998674, 0.6791368325957515, 0.8676796459932946, 0.23939407601672413, 0.5154947282490053, 0.004345332895513532, 0.5351417818304818, 0.5929245191939234, 0.14969106972638502, 0.206913704910334, 0.7895669099495239, 0.9883269403687502, 0.2882223816930548, 0.12019986521120307], [0.5942934855122195, 0.2717424778493992, 0.5441806878575448, 0.5580740215055006, 1.0, 0.16841106221219615, 0.00794800636496018, 0.26176228558410286, 0.8730836522265798, 0.6988639013363085, 0.19838604688426342, 0.8490008891696081, 0.5251274669223123, 0.17658030760223964, 0.6394273007102697, 0.33471025988198044, 0.8265648340041918, 0.41547793480081263, 0.7958576241388108, 0.1492966534940372, 0.7537760217035376, 0.4268363672814408, 0.6574230293141871, 0.8938724289434011, 0.9918999045911241, 0.5811538833142607, 0.9790693091505983, 0.35880276570187797, 0.6636879148111692, 0.1722501842831825, 0.25290621239331623, 0.4923855444089338, 0.502121141294751, 0.8503147548354638, 0.10757187975801574, 0.4297839670787098, 0.3890266785269245, 0.9730076981511823, 0.0415267000992926, 0.5311757600545955, 0.11932287093445215, 0.4807428735883411, 0.979678697434838, 0.6081352121348844, 0.3250474402012389, 0.1669872005373374, 0.8038633742873957, 0.34681806100156143, 0.9471216491884046, 0.47475539237224684, 0.974576206341213, 0.08116580163466214, 0.543013944478342, 0.6284238538557139, 0.7317521571673912, 0.4259506570935825, 0.09291037258164248, 0.7861806780917607, 0.30369142070407407, 0.746359699888823, 0.9762521150401398, 0.8382744656080673, 0.9346422855351265, 0.6949381750181072, 0.6066910459781452, 0.49102518746454493, 0.1380072722589809, 0.12645201604622358, 0.1369031508964481, 0.4447787833133533, 0.2949806152934217, 0.09395438961392144, 0.7863347063114291, 0.9028262142645637, 0.9591698336125571, 0.6420312814205037, 0.5616974660292396, 0.3471597347067984, 0.08494121287659107, 0.5700385103063079, 0.5480926228424683, 0.7690830546671659, 0.160307977827297, 0.3777994005293158, 0.2281786546353296, 0.6456645255024208, 0.4787359383106691, 0.9062578697035877, 0.5678215649692921, 0.1120895270740968, 0.8812298802682602, 0.12710490270862473, 0.15761630307427354, 0.3691323994610133, 0.8554329008606792, 0.3992399161141611, 0.0652997960191688, 0.10206214322739049, 0.9530375265370529, 0.5711354885725333], [0.9578071212262865, 0.33497481721497224, 0.6076546551484209, 0.38827314168433935, 1.0, 0.2143379767116671, 0.9492903963312975, 0.6718809912179899, 0.08024082663100462, 0.03435286799481241, 0.3983598121896481, 0.2557488201900586, 0.6379379244869846, 0.15975201100015923, 0.1841503258429512, 0.5722994991881734, 0.5010456726689383, 0.1514985652649835, 0.7583382252577535, 0.3332384014908554, 0.18382452866272248, 0.3325931275437962, 0.47969192457867826, 0.8777338467925689, 0.24564008697992434, 0.8158818290997308, 0.15689489823308422, 0.3795300077223186, 0.13433048361557276, 0.7769856741339121, 0.9252759787934174, 0.032793473230415926, 0.5528116202006341, 0.7230852680242829, 0.29997320490292756, 0.5298346891995569, 0.8962899564082631, 0.49811554282102266, 0.26314662954343593, 0.3153424670315945, 0.08398584313824176, 0.3612492979382489, 0.008193492983535777, 0.8800159703587346, 0.7530510385905024, 0.9544798077368711, 0.3071356394399899, 0.7756887444105378, 0.3958983342672, 0.3348398016935602, 0.3372040131859999, 0.17213469445800222, 0.8962060230702479, 0.8728434278230068, 0.29048252189026036, 0.10164769282124786, 0.7077315303524168, 0.15860874853277174, 0.9472993048323413, 0.68804536376317, 0.8235341228986708, 0.42424456562272794, 0.19188370486025097, 0.5628765488426429, 0.04123721048708284, 0.6720836835400763, 0.07112382085615399, 0.15123331945150909, 0.12579587154458138, 0.3375510224697136, 0.35299213552011, 0.5599676436407541, 0.21293172693095497, 0.2174959661528144, 0.7409314735899197, 0.6985615169786463, 0.5229952308138628, 0.5510421644801508, 0.36776050882070654, 0.8815463014994055, 0.40035878265441205, 0.9027174945411485, 0.11181159793481255, 0.8142016267346556, 0.5701188781929568, 0.30720898185630774, 0.9905239830967129, 0.5542829424920275, 0.6346932421605251, 0.5349109961874922, 0.9043911950087045, 0.8094480000716785, 0.24011208717006338, 0.6029993344786411, 0.20658029752084983, 0.08563946688970714, 0.8095343874325459, 0.9180303631029704, 0.8979230846095938, 0.2686343156967771], [0.8608427832741862, 0.7536222834176062, 0.8417375644283696, 0.9914091231178436, 1.0, 0.34367860853313814, 0.5437846431534278, 0.31900885014901137, 0.8935907297295392, 0.7049137545824288, 0.3580539910235412, 0.349852216986851, 0.9832301243542662, 0.9896346421666238, 0.6546741550997512, 0.6834235665387571, 0.2548682371349926, 0.5088011701225404, 0.5486700348390571, 0.446424112655597, 0.6342884595813887, 0.20691137332434062, 0.3893260058381137, 0.7828529305290682, 0.7807274651981289, 0.7155943628588076, 0.7667761830164702, 0.9504070466713697, 0.7670110725616975, 0.353669731203595, 0.3889349000454836, 0.7145667987882394, 0.4728453926229663, 0.27677186533769715, 0.6729029545738531, 0.6124475606673819, 0.742802760800014, 0.29199447213647745, 0.8263321393590379, 0.519719158759012, 0.9058490381321457, 0.9828268959716734, 0.6692311032625277, 0.272565609162443, 0.1175752174089566, 0.6543755658406925, 0.9006797831507183, 0.2672970687728069, 0.9556242566114835, 0.5098050549576049, 0.4832845763792838, 0.9676567452609963, 0.38023366332963215, 0.8327261497010163, 0.5226673476554785, 0.9764658886428655, 0.43677724292839704, 0.8274266744807838, 0.19213629182775904, 0.6074574012795623, 0.35092736294927984, 0.3742739901234593, 0.3281400685236897, 0.5036508625748655, 0.8555238531392385, 0.30343266507983757, 0.07247693345959205, 0.18591397247386598, 0.23677715648441944, 0.583800786519986, 0.8961955187260467, 0.4450743037989334, 0.08442680473574216, 0.024345011483199896, 0.9377948038437238, 0.7203533442363085, 0.7013998600478974, 0.8659149424426732, 0.04826000331373026, 0.7490466338936118, 0.803740429052725, 0.17698453639995526, 0.810065547447737, 0.0879137248356946, 0.8569817420567126, 0.47157067957086607, 0.4117159766345003, 0.7303206859185982, 0.1068084070463805, 0.4887269960470847, 0.08252579145384409, 0.49100282490487057, 0.8131724122305309, 0.5457385343989191, 0.16966965417187452, 0.7282769963838109, 0.23422134017707763, 0.6271785485021851, 0.4831231171314254, 0.3279049257943868], [0.26218917175462897, 0.004211020035564839, 0.0769274308393576, 0.6500771945351135, 1.0, 0.4943963114916228, 0.6802976995249125, 0.7037589297371939, 0.68448086091624, 0.18419259460616666, 0.5927973425807057, 0.5817288822500729, 0.38697292602374544, 0.1681864438823203, 0.677937453605738, 0.4744187893174814, 0.651817238394471, 0.958912656190171, 0.5885439773178491, 0.5202694380154125, 0.6261889011846951, 0.32913101040780035, 0.9365742269835102, 0.5477314628208667, 0.9719139632255845, 0.44958584771239496, 0.47507782616390926, 0.46202434360551736, 0.07102917006876874, 0.8511354832691971, 0.15495435738310714, 0.16696248799581104, 0.026286923945426643, 0.8656955413231148, 0.9944561667006023, 0.6173534711043579, 0.8926221243454038, 0.7340138415293532, 0.3822619707802327, 0.5359209297895832, 0.6705550843862761, 0.9897170513242981, 0.4545858084519364, 0.2341473683757629, 0.19698724637078313, 0.5106790767374165, 0.6461276197582958, 0.10076117536026419, 0.8699290777741476, 0.6778792014175766, 0.7089961221150808, 0.00394772909177421, 0.7787969234647307, 0.7876791134826957, 0.026217012374177284, 0.5301146867838097, 0.8883773220024086, 0.24328004739965425, 0.41948730926586075, 0.005426141204631363, 0.7083223923246854, 0.512286134007631, 0.7631865558425406, 0.4189115218734726, 0.20257203437350757, 0.09212822089131112, 0.24797508712451088, 0.07911294465805108, 0.48569443706397597, 0.3770646619260133, 0.573010101202432, 0.28938474304618134, 0.1926207190340402, 0.5452949315542697, 0.9038768972490397, 0.778676705097504, 0.3682046791061181, 0.6147177582447602, 0.9929268314151176, 0.8512838918130023, 0.8327827640336009, 0.19444061070178853, 0.4947974264032662, 0.44550597463260744, 0.20917506696274923, 0.9593599854209757, 0.059801725373132664, 0.8218517600966802, 0.4661618852451318, 0.9117275235251286, 0.40678616328969375, 0.6420167615298812, 0.4685997145396068, 0.9540748055518956, 0.5334517024259269, 0.8593496950914302, 0.5135782213463542, 0.24088570792242947, 0.13240520853419957, 0.2544166872734128], [0.5181889437099074, 0.41804702588764253, 0.6107513773958924, 0.5695258227314426, 1.0, 0.11527545239870818, 0.5624845081610269, 0.649879050421547, 0.013166718290105961, 0.061574172955260686, 0.4567275644970389, 0.7097460856728212, 0.48666371584116763, 0.11186352661527132, 0.06115336621303069, 0.6515427370485474, 0.6578520547230522, 0.9422554461440102, 0.912400305524398, 0.8571283611742803, 0.4014074642290578, 0.0009248393117539111, 0.022463149527779502, 0.570524112589585, 0.4948220395773011, 0.015382471744440851, 0.23426668174803789, 0.1884687308509534, 0.28385307425974315, 0.2027098330652859, 0.25831469859844924, 0.7465701792147592, 0.8938489333361848, 0.5574633162182341, 0.622719439928169, 0.870634260417435, 0.5210061240009444, 0.6488043353739467, 0.18758796750710804, 0.48282824838387706, 0.9251583941651262, 0.46413449275482876, 0.882398239162857, 0.266664240344505, 0.44949639609925096, 0.8531023675704971, 0.5904583333238476, 0.12226061576729197, 0.2694497378505303, 0.8948510348804729, 0.4136317955007204, 0.8518729457037574, 0.3468596857726719, 0.08352480926748984, 0.48940269895129784, 0.9310883960342572, 0.7797990670897371, 0.7147363956724623, 0.729050513904309, 0.44707701596171046, 0.3935518612898261, 0.7817941082914496, 0.23384944745232028, 0.7699859596845853, 0.8454665585688322, 0.17064436224728552, 0.7992224040394788, 0.006534422017500319, 0.29496301123476787, 0.7268534670542804, 0.409790214728468, 0.908732291124518, 0.5765448543049385, 0.8885451236355066, 0.9671677193872545, 0.27475913150591247, 0.05915497618318366, 0.7055002884246754, 0.5424494127927688, 0.7014274519474866, 0.9874688265102964, 0.4056770805516635, 0.712978590230588, 0.6695341300881724, 0.08024090260467343, 0.7339663779985668, 0.40726313787271107, 0.05511829571854776, 0.27183795127509025, 0.8468559873509347, 0.466619489561654, 0.988713162438509, 0.4107676667007536, 0.4975010239723592, 0.04819013855420562, 0.8103449082162878, 0.5434622112273839, 0.40130858191283336, 0.5241521581225933, 0.8557452358698159], [0.9834920632616081, 0.3761351478302729, 0.4767417058787008, 0.3630989164940419, 1.0, 0.02988232530519963, 0.49072993442346513, 0.6957994475759062, 0.0034213882668051587, 0.38284932738222, 0.6553016498724139, 0.6473342671458013, 0.2286724441142357, 0.6921601195521868, 0.29403676375767884, 0.8942855696560996, 0.10399522821007712, 0.6987413038883468, 0.4962421753294952, 0.44018506255739265, 0.4980504326587786, 0.8086058978046557, 0.09297491264093061, 0.6767737883747653, 0.9288022485548074, 0.7301544632133198, 0.5153020727430022, 0.8968026764087563, 0.29698194280316725, 0.7689170248274648, 0.005410199242263269, 0.15397302212651554, 0.18171502721739985, 0.32706352013428674, 0.09985972803915444, 0.9333171880320988, 0.21935481085192343, 0.8029193651723228, 0.2521355277583408, 0.7967632989885698, 0.2857612848321335, 0.48719708102418813, 0.42587835790547657, 0.837970364676754, 0.7470526614681247, 0.9655738482830847, 0.8842499035966396, 0.19885851184071812, 0.4246971589594992, 0.4569487244818944, 0.2576644753978192, 0.011823082075169244, 0.8834381250075601, 0.788458653318859, 0.8149011283760046, 0.4246767358824879, 0.42752156907032923, 0.019282233248796854, 0.26519147232622, 0.31129068891878375, 0.33604127192422806, 0.9949811162677621, 0.37464857831180154, 0.20995935926867648, 0.6140678327920805, 0.8499886930363101, 0.5693584916628687, 0.8408217181471717, 0.12906458573968393, 0.13574900304991977, 0.34636613561579344, 0.20800831404008457, 0.5561765310278082, 0.12228738579088216, 0.26981327549169365, 0.48255211344194504, 0.38204822840521946, 0.9186999961227444, 0.2755439141013901, 0.9081489966927467, 0.5226013260643346, 0.750534192064694, 0.20001037568969726, 0.722447568591634, 0.18940877011434665, 0.34594508669348656, 0.8815469531891296, 0.629222719041875, 0.12956756204159392, 0.36928166723819655, 0.2555352499312461, 0.4895155307721547, 0.7963934612042641, 0.8941760644575426, 0.37453288463363876, 0.7585387924172992, 0.37487248998646105, 0.46690900469079744, 0.7321665601503674, 0.7419700327189703], [0.8827533694656154, 0.33001076711785093, 0.9940675595874844, 0.6770702286417951, 1.0, 0.9469645181802192, 0.919176868833813, 0.29697087579995884, 0.27300827593593946, 0.1405507226542726, 0.09359151123426568, 0.42770593724590167, 0.9255442476714238, 0.1512600301235878, 0.3428801319207888, 0.6226513081355322, 0.6867188547283019, 0.2420984459127512, 0.018071845070639747, 0.9963283521661316, 0.2396341186476838, 0.26477064717880827, 0.16105573067632262, 0.805667396184079, 0.7422548088753083, 0.794704327254058, 0.6885639430042353, 0.5591527240220722, 0.8394494308656824, 0.7090545999769713, 0.9721161304495407, 0.8322229189154339, 0.40295597565983843, 0.44133122088817833, 0.7949554246986512, 0.19414558772218882, 0.3190707371181568, 0.05876824269114933, 0.4544331948110918, 0.6659535900556648, 0.7710808172158243, 0.9269416074246486, 0.4388693940784314, 0.2814256926909571, 0.2057011929999536, 0.35753340184243054, 0.43484663843328386, 0.26010724615426495, 0.7762462870019933, 0.4637908209562931, 0.16942842351417564, 0.040820110310402224, 0.6121724987221168, 0.0960878132099049, 0.33460719671828676, 0.559626561277554, 0.04485769202679879, 0.9812300741423491, 0.63474233840311, 0.959145400457225, 0.7846715385782954, 0.9806289754588218, 0.014042012734492237, 0.7209562775023695, 0.8385308971454265, 0.04460276339619551, 0.9124928793378377, 0.8647076605378607, 0.33796907526055175, 0.7690729662440995, 0.15671234631369968, 0.014683803007543239, 0.2613317907185231, 0.3348555717061178, 0.8226585470460346, 0.7538133357213705, 0.34750818710685794, 0.26042633095503553, 0.7960744534420813, 0.3497874920692525, 0.25205220562523156, 0.6856188655097109, 0.09873479507882377, 0.11625502116341258, 0.4603210959935552, 0.6098287439926531, 0.7440700336396268, 0.5342977239115484, 0.09946727100942843, 0.2980512883685682, 0.9144986221322864, 0.005643182712119943, 0.9324856849545908, 0.14025287972518452, 0.5487376216697162, 0.8821236439515867, 0.7843689279968471, 0.3593447871593366, 0.6945489688212427, 0.16322786920813825], [0.07104957238010956, 0.8057958635949098, 0.9413447173588173, 0.6221136764390149, 1.0, 0.7872139708386378, 0.011360630100615388, 0.6905388484928634, 0.3995198256515058, 0.5643778957860329, 0.129594537907871, 0.7511316625850021, 0.5681269172800517, 0.40440562482036535, 0.22274582017347544, 0.8509818841822085, 0.36968825665793825, 0.08153800317043502, 0.689738474542909, 0.8018557679473206, 0.3376246008059468, 0.35027584005103807, 0.6440874051862415, 0.47167275013691423, 0.3478749345393827, 0.7884462979334788, 0.6956891769766607, 0.396342299714028, 0.4069231697075759, 0.48120544109019325, 0.8186554950057081, 0.8432734986979503, 0.8242326154775398, 0.5521805795254168, 0.32128821157731735, 0.23600555721779848, 0.7387770888559198, 0.3255414154130185, 0.6501881245588981, 0.339751486576893, 0.9074828746438517, 0.16072054832934302, 0.2506836842913984, 0.07844466690042584, 0.4434986431987007, 0.22834768793100202, 0.5163628536842892, 0.023649413112834528, 0.28518431690813195, 0.35695840305252846, 0.052045472926651515, 0.6164966873742963, 0.12265587514962573, 0.671518828292426, 0.10708916962235115, 0.15648306979432558, 0.9595793235642843, 0.28932363341829137, 0.0158084220674074, 0.08656300240589243, 0.19293320608823683, 0.46971315912634715, 0.7679518301692806, 0.1684983298222158, 0.6739840146124167, 0.8965942887789747, 0.19126735782514614, 0.5906436589865159, 0.587848074815528, 0.0012977088742756049, 0.7692190242648321, 0.708495426628787, 0.4887160772632898, 0.20116508350293583, 0.11205256009325493, 0.7188627016138313, 0.9269880277412975, 0.5455657343247198, 0.7817194115241973, 0.2236600527562168, 0.4190477865060358, 0.020643783109565605, 0.3398077398738808, 0.5871155868227103, 0.687028717882069, 0.40933321837568537, 0.17424819602006147, 0.1455108559089795, 0.6079197109635578, 0.17630287133871447, 0.19541410526407177, 0.37681089061402906, 0.6634243849937379, 0.23046825986606845, 0.991502338426223, 0.3407405365602061, 0.7319776620647155, 0.7859670089675295, 0.6675303106533746, 0.2556759640757952], [0.7512405532146313, 0.9377744767567191, 0.1174791030020329, 0.40415323831118855, 1.0, 0.8451395696552019, 0.4614747653167779, 0.7348619387696775, 0.0627281625280316, 0.9668919992731309, 0.9779600207525371, 0.4887590566541886, 0.3483047242863949, 0.5654272537898886, 0.5203440987049909, 0.6177683793850676, 0.12672706739173922, 0.7476074753489959, 0.19745064055310457, 0.02570192539362881, 0.06819956602983446, 0.9164546870358794, 0.13534043393852624, 0.6441628832521, 0.3897219357093158, 0.4195892973745112, 0.18846707381619066, 0.7189860812835279, 0.7237993513922227, 0.8258772515809385, 0.6165092311283844, 0.2429212421076702, 0.11785012155221697, 0.6710881946267676, 0.5056578777169164, 0.914581967635537, 0.8395789905400002, 0.9035274121189208, 0.8600265572350354, 0.29039765926674, 0.11637266774043642, 0.38681088918080153, 0.17114348324509487, 0.5482247218115532, 0.4612833005839442, 0.1662209260551717, 0.4062832870318892, 0.3174262744756452, 0.5212969050436438, 0.02700266969980336, 0.6343628762492107, 0.8934825092708987, 0.5447612107358222, 0.9811512847380578, 0.16734979145911344, 0.7194093449243949, 0.34602790019809726, 0.43333395799465835, 0.5560803339450566, 0.04304195971528613, 0.03292153476882009, 0.2514182741446267, 0.9224732843708537, 0.18779222408787366, 0.9551569508664487, 0.10229926682029478, 0.012355218243362609, 0.4354769764438392, 0.9634948645353919, 0.7362580564420227, 0.22022086919904227, 0.05489262311371679, 0.3290966845319919, 0.10065411654181367, 0.5580729795956147, 0.494618034108513, 0.5155780580942618, 0.8921303236989783, 0.9371476814692464, 0.046562729374030276, 0.5206126632732957, 0.461257672248937, 0.9366745115593912, 0.6388853633945468, 0.5482055833995182, 0.39251691918461784, 0.52353328993044, 0.22380801750896817, 0.34017619348805606, 0.8726922067612463, 0.04410450342101868, 0.18722648844102596, 0.7203955399261952, 0.43282726132337135, 0.3987431633583105, 0.923194377825478, 0.2740222233236945, 0.3157709178435597, 0.5115615045183567, 0.06914225606077162], [0.6578193324157665, 0.37022835536355914, 0.19291564973760256, 0.5215129671660379, 1.0, 0.14295553729669186, 0.38470164966547005, 0.3084889344709969, 0.6147098197330364, 0.5865595590594859, 0.40098444642546227, 0.7601368219594723, 0.4559682616111189, 0.8704494489945029, 0.6924803229917316, 0.6343846284521405, 0.7036033761244768, 0.6237146495222267, 0.07768778422742295, 0.7580649322846673, 0.574650962405058, 0.6597627582845456, 0.5818167361088953, 0.5130886460858067, 0.5244485437895547, 0.0054621490369008985, 0.3041855028705813, 0.8184189259834126, 0.2869282025400166, 0.22555523783796472, 0.5599766886369273, 0.16840727667564126, 0.6581002743558411, 0.884007066158128, 0.28640767120328214, 0.979162739265077, 0.9484483651135583, 0.8697774657445939, 0.6588147911088317, 0.3429852876108467, 0.5921491758974008, 0.810746285536683, 0.5146703688135637, 0.33269307012774585, 0.9264710412765947, 0.31079575613472665, 0.9234692097724835, 0.9609166416398153, 0.7201136367040976, 0.9103667314432831, 0.08480597292465808, 0.4016900257108208, 0.644674228286215, 0.5156962531253219, 0.5758415029793696, 0.7246639118568015, 0.8937944549603023, 0.30106260766176596, 0.8054313373429652, 0.501371318411413, 0.6172440228665382, 0.5114167892260143, 0.533792862206544, 0.7531263040555864, 0.9955151668711409, 0.9551713785062689, 0.026060555905649818, 0.17592317749155584, 0.2138609936539545, 0.5779588132506608, 0.8182231949518097, 0.9851134493524111, 0.17740143363611294, 0.09339579924401753, 0.7958716698526861, 0.3343165397101404, 0.6916595941462981, 0.8829866978794912, 0.8322492709352308, 0.036518789239567306, 0.2609578857413384, 0.8912416218252369, 0.07415215632372663, 0.5824055126543509, 0.8273197730462185, 0.9675016138761919, 0.73754011745131, 0.44823381017666186, 0.4242931066042911, 0.6250142138257583, 0.8178703171752626, 0.945445521876886, 0.9844549584698662, 0.49709412837256783, 0.19467275913458648, 0.9465303539855832, 0.6666546510554812, 0.5415857594468305, 0.38855510020152306, 0.021057143085531194], [0.26446200119491237, 0.8824095363717936, 0.006227547756697427, 0.3200709010884496, 1.0, 0.3091697373874833, 0.7505660095453871, 0.21302247704042854, 0.6593879940437721, 0.019865312197304807, 0.8208852936719966, 0.8247310093369729, 0.1620821971380607, 0.48491008686020876, 0.9554489223741273, 0.2816469457182338, 0.8258639765930941, 0.4734414877650346, 0.04647787678509163, 0.7155660717282668, 0.2591947755488353, 0.5027817391650501, 0.5213354575042559, 0.23935491350716953, 0.9326399913424378, 0.8181273184356442, 0.22911299126112983, 0.669787011993378, 0.5357949399262457, 0.06049293633073749, 0.8228146581341187, 0.09297517143312206, 0.1800267509226986, 0.9250338724567537, 0.7171952177143017, 0.3507080690704867, 0.11209138693737042, 0.6648580524322857, 0.914116549944429, 0.2933058738171441, 0.30742301100298497, 0.23917725145852908, 0.12967836428723734, 0.9305952133711144, 0.29954414113730166, 0.061988810087791335, 0.7426828324420985, 0.9071006789961807, 0.5527307243285202, 0.136162797491298, 0.47574083914062226, 0.06242734056756427, 0.1919689123075371, 0.9623638665910077, 0.7396452900051478, 0.7399922130203134, 0.7065786785351263, 0.6581878031631503, 0.465509658992978, 0.5312879909461866, 0.7215253478157937, 0.8820758133455656, 0.8451331119155293, 0.5090745283346555, 0.125900508529453, 0.04530241087303222, 0.7327003314786885, 0.18204671408374073, 0.6791809474513523, 0.10395833231513929, 0.9478487342069746, 0.5954193830127273, 0.7282856672690138, 0.5289211513119907, 0.29922914053913263, 0.2388745576816217, 0.8006840748820164, 0.17893181427486293, 0.7855445959637235, 0.5763594215144352, 0.6992846316651865, 0.3957738531975823, 0.5685863363833746, 0.9976283461486437, 0.9953527184951203, 0.1922229855027946, 0.43934560923704635, 0.6312780732424716, 0.9856685328673858, 0.1429823607736872, 0.19410249536350177, 0.8137172925536943, 0.5139385867885022, 0.45066407120634655, 0.283912922530692, 0.940503442782653, 0.9713067575660445, 0.16107093225772962, 0.7005944491326176, 0.3457462517565183], [0.44099188468473194, 0.39856445611803437, 0.7678643968357851, 0.8466699673994185, 1.0, 0.9054800519551327, 0.3670379776137924, 0.35105519474744606, 0.6572009015309656, 0.6276574443157249, 0.22263490195515112, 0.504054239595063, 0.2605744920940787, 0.19478191775990983, 0.9556172695987991, 0.08464587548285862, 0.28312120418615794, 0.09323500161991394, 0.510578475437069, 0.8777013415526884, 0.7943757217594266, 0.538106592124864, 0.8495280001757402, 0.9980800885627793, 0.92749728912234, 0.17665350020179182, 0.9825704896566357, 0.8266627876217166, 0.7167051620578878, 0.4574649544760986, 0.9393727794422355, 0.9308864492866058, 0.054038475788365514, 0.8345534315777777, 0.13552588968086476, 0.10107757007961837, 0.8721510971035538, 0.2716270942826069, 0.36110046895275816, 0.7142210143331047, 0.9387550236010817, 0.3614028439485145, 0.48943499025597614, 0.1077253160611975, 0.8869732612563836, 0.07083591260244604, 0.18400084700195496, 0.5752862225473604, 0.8470905616782949, 0.06531842966834966, 0.8021573927698855, 0.0025785959304711614, 0.12009160479889924, 0.060035239618085434, 0.18472891646400325, 0.24224660107144314, 0.6529849564194787, 0.6220702174800818, 0.11819138044715771, 0.8850233245181869, 0.5482293382954175, 0.02995904946102801, 0.033332768551973646, 0.9904931817845427, 0.14232915312095928, 0.19893092243101795, 0.8399240591822366, 0.31556010719828065, 0.5608769849508722, 0.11720310383101085, 0.09178312992885473, 0.1403725028969638, 0.9893319305379273, 0.831049907213982, 0.9283838635301416, 0.587796150155723, 0.43572476260377824, 0.6725842464929684, 0.13002857495397824, 0.012531126595349606, 0.13672476546772105, 0.5671375496748942, 0.6041510300762493, 0.34008742263719305, 0.2126984925978429, 0.17812188977148857, 0.8596976758630208, 0.17931358983900447, 0.4552268097903972, 0.7087820647654843, 0.012734338548915702, 0.8039448425629214, 0.802391914351368, 0.6945658350693029, 0.0952010635047762, 0.8033573427016272, 0.7212238015704829, 0.16858228817651366, 0.5009314119920829, 0.7435818175857591], [0.2053637024090701, 0.9149385619568016, 0.7416604328902335, 0.03860343552843304, 1.0, 0.7838016935845926, 0.291187935033986, 0.6152468804733778, 0.26042432731094034, 0.1523686053093346, 0.14217140279018814, 0.3226026684583163, 0.7139340012979218, 0.5567856866579107, 0.8714294350587293, 0.10936635074608092, 0.16235240810035378, 0.6579130296701597, 0.44434615794445853, 0.31913345467137755, 0.3809861785290536, 0.5724369539766908, 0.37633555009079267, 0.6874160744816834, 0.21371257195712168, 0.040467742324879374, 0.2428520950469505, 0.053431962940170274, 0.6562241161919227, 0.08799709713126447, 0.6442954870890293, 0.4368681321868837, 0.5355418728442186, 0.3538452945297401, 0.24681336446179336, 0.6323656760596562, 0.9523224752614806, 0.33808957377040405, 0.6706671157383264, 0.87937533117414, 0.7303566821845784, 0.854604619545096, 0.037189858750308113, 0.5131714485851341, 0.8475227964669219, 0.27256544192380927, 0.4104954597461804, 0.8723786599535265, 0.7732909512672762, 0.8169186674647829, 0.5754516175334186, 0.3532304302422118, 0.6786000306926235, 0.5417858816124286, 0.13289239367059635, 0.6344951058028633, 0.7197472183136046, 0.4577489513369276, 0.7631145888725873, 0.28589001858767704, 0.19118109075426348, 0.8888497489867314, 0.3049337768875996, 0.8131372632960925, 0.32025247210850516, 0.1180312181733214, 0.5783390090519674, 0.7752652503240787, 0.5108721209645991, 0.5783298199689448, 0.16588237299035657, 0.9372112968937262, 0.6254070168716258, 0.8223817502119625, 0.5689215190286652, 0.07477894604810198, 0.692660695027863, 0.03333010133875147, 0.07873921831033726, 0.5589989832613962, 0.26665000689476126, 0.759208061608599, 0.6763316955058215, 0.23567175153817743, 0.8047571202855561, 0.3336905155457498, 0.32881533272119956, 0.3263571764477815, 0.6155728581835953, 0.19131851540899658, 0.8920698383943114, 0.36378573205687514, 0.33805601199843205, 0.24581269198988853, 0.6940860850809693, 0.8957207029315228, 0.3015378090596905, 0.6766413508583179, 0.6757818911836871, 0.1667995214822795], [0.9851302400950162, 0.4358326888944354, 0.31616595894701927, 0.9246089380177596, 1.0, 0.9819196374856487, 0.9167514884235343, 0.4553314193489383, 0.7146445481733902, 0.3105694617660302, 0.04404099723744703, 0.23111294149325112, 0.9224265164886253, 0.5114512113197498, 0.036758117177734695, 0.41820739829896225, 0.10424970505650322, 0.5572245305455873, 0.292512521743421, 0.766100212236925, 0.597691737038461, 0.7987300657346477, 0.16324980998164973, 0.6999633972446586, 0.05642873890948752, 0.8620988340174883, 0.4699164509040722, 0.6110444315903575, 0.3838600686698377, 0.2635620416809493, 0.902630241376628, 0.2594977525907224, 0.4350347794905681, 0.4264866418188511, 0.4817826544940642, 0.45174579285804006, 0.8599950098537348, 0.5420380417231706, 0.20818990260463732, 0.814884293899944, 0.220226713403886, 0.9398344871854301, 0.2105685757380783, 0.8311752005601597, 0.1908838284869243, 0.434422900811993, 0.3529218625092039, 0.2943583578810103, 0.17636260025890604, 0.8018051551372791, 0.17701966076953524, 0.5425179405239181, 0.5012679001862679, 0.9712859049736124, 0.6879924168182006, 0.6773963984839377, 0.8166944234305835, 0.22085540986333918, 0.19747723771366799, 0.7704852844586442, 0.7731125883536608, 0.12521298933148428, 0.14687109051243918, 0.27157623201765624, 0.2959325583404535, 0.11219323071899368, 0.4795632923793818, 0.06399256892280514, 0.7701971555746762, 0.25780126862174024, 0.6103238914702462, 0.7185228214742247, 0.30854764142384095, 0.47253579329121964, 0.2899321277200533, 0.5675913866388671, 0.9769010235814567, 0.930044724415282, 0.08149718215245527, 0.5848282317248641, 0.6496020923469916, 0.21021580835947828, 0.2833892884394317, 0.8443648618170149, 0.03576755437691037, 0.18136615901716313, 0.7391853874488892, 0.08734086111555062, 0.5193450072162542, 0.6567072988050509, 0.21900323524545406, 0.7130444914891754, 0.13204185700224125, 0.9715563143562499, 0.12415180034207263, 0.9244832426775612, 0.49598175641814624, 0.04541490607608245, 0.5066500692861121, 0.10330869087403438], [0.6836733335276483, 0.3875467771850971, 0.42115109928628824, 0.9320172035690747, 1.0, 0.14071206930266178, 0.5276391089343689, 0.973714639879419, 0.6661832623246489, 0.7439468702557932, 0.4611892075740266, 0.11429982017814166, 0.7224047557024598, 0.9800420237629198, 0.6786574236435622, 0.497092474925681, 0.3569248471048191, 0.3693776694445472, 0.04058124885266423, 0.4900454111241995, 0.3680072813702403, 0.36145437511969847, 0.7901103413467367, 0.7851687758045273, 0.7115314992426538, 0.9879236985866018, 0.8516362051436038, 0.5279970076664947, 0.34457163901668897, 0.6438771467610267, 0.18356513729244794, 0.49295646685592376, 0.381100689506119, 0.914490760987087, 0.9414268782439394, 0.6751753558604819, 0.9414168337319414, 0.6126895081029357, 0.1709909564544475, 0.607054528153919, 0.5550356552038331, 0.9539819635182343, 0.8878864349130122, 0.38020822304585156, 0.5124134066568209, 0.4126627847662149, 0.27541053697120643, 0.42582309575031174, 0.3407639871638004, 0.23625747620538595, 0.09224034247141388, 0.893734072280069, 0.6073740797885363, 0.8163653599208056, 0.3859214454763452, 0.18523998461115787, 0.9338342619081108, 0.5392873814998201, 0.4618956734071751, 0.4289642821758134, 0.9584550625989112, 0.4742371847073561, 0.6214566686421394, 0.9847886219237945, 0.3521508387341512, 0.8648395258756272, 0.6670793558247635, 0.04396695743790913, 0.717499982601605, 0.9620203755593567, 0.020304839075840908, 0.8709702185594841, 0.8010912149436761, 0.02911523542274952, 0.9539752612372366, 0.9467225341790996, 0.10942946034869117, 0.4075682857354035, 0.5365051522513946, 0.14358648142742503, 0.5421193378394329, 0.6943862527256142, 0.97451609552339, 0.27138567018012627, 0.45183474205235763, 0.7904313891908985, 0.5592530029081532, 0.33998436309642255, 0.7214567543201447, 0.17373297065382698, 0.5323912339803866, 0.6082780499741416, 0.5596870957677889, 0.8997780032684967, 0.32416526969848647, 0.9145489016147905, 0.15671226135341487, 0.03355633308834516, 0.024507669861681847, 0.34780784328826664], [0.7011601611873897, 0.9307668497414753, 0.22059427280259947, 0.7137988198088321, 1.0, 0.9223980318057414, 0.6729506060933484, 0.9130822756546799, 0.7690476310963945, 0.7330603926925624, 0.17109873681551624, 0.624061510527616, 0.7274777119960574, 0.9944890530014968, 0.16020057807911925, 0.3249890794047382, 0.7564243674297775, 0.5260228352948864, 0.6737003671757863, 0.2510917364633576, 0.7806576936162315, 0.5452849766655656, 0.6086959659215011, 0.16958858455259218, 0.3174662658312677, 0.8804340438586473, 0.7633263653197692, 0.7366516440889836, 0.5781096800664425, 0.7977962223900094, 0.07188502444498446, 0.6023334708148895, 0.5742901158599705, 0.9868597768971226, 0.34584230525646276, 0.9459060079878385, 0.7088955924061648, 0.19693916213754525, 0.9414636125134844, 0.44442819389917454, 0.08894574137014344, 0.7949419569220114, 0.8196484044298633, 0.7425458099245206, 0.47104256517937637, 0.22772206502773862, 0.49086742041049103, 0.7504733348676748, 0.9639270905902113, 0.28679640232015413, 0.16265606246655695, 0.2849172004081403, 0.40211892604501054, 0.2567447916523511, 0.9846971445636501, 0.6011975361905633, 0.5402927660334188, 0.0642152702861909, 0.534306939938491, 0.38941362796893686, 0.9727922761836117, 0.3541877067331328, 0.6571175000708028, 0.8688462115150903, 0.04884596713563649, 0.5955365551080177, 0.6030401310693959, 0.7658455585858511, 0.1852881133224099, 0.4652720495828031, 0.34303491524038854, 0.20903048097152788, 0.708423960927996, 0.9076818493299895, 0.9346309991135734, 0.7238842543034655, 0.511518927018942, 0.8651969038376122, 0.5359244638063236, 0.21544346682121518, 0.6012635379239019, 0.7942841088929085, 0.1032190439610482, 0.49621098679789344, 0.3110569000458697, 0.5688870900483383, 0.5814231526613259, 0.9378229712343135, 0.06533693642375438, 0.49812127816936946, 0.18923739873293166, 0.11619279568078056, 0.4099605243362555, 0.7911239462300921, 0.8029046205888447, 0.5769101391337889, 0.60406177216065, 0.024652431071885084, 0.21931576681011677, 0.7907049410882042], [0.2553446221761597, 0.9242824255630165, 0.6275892057632789, 0.7845365398808357, 1.0, 0.12066341491090726, 0.9006595625952372, 0.5645108779984914, 0.13525963542821096, 0.09341323182090866, 0.9400725333198447, 0.016255257182939742, 0.413542615295042, 0.3750925273386829, 0.7938451041990248, 0.9807904445306875, 0.08380735079338753, 0.48505558113113456, 0.01987535493822057, 0.33731139249721465, 0.5341246906388264, 0.34291833041506903, 0.3188018875566271, 0.5230466656256187, 0.29475668730768023, 0.9927118129947256, 0.11310809014496692, 0.11735641052037604, 0.9520303846097758, 0.6200902231090185, 0.6041069203060501, 0.3709124039716075, 0.8165419419000453, 0.4253426375654722, 0.4587492536407015, 0.5630599828950298, 0.6231853877062463, 0.006487342576167343, 0.04110431094319611, 0.3847583657997954, 0.34839945599266875, 0.6219914897470679, 0.13921175922020768, 0.45516235082178735, 0.42012074891761564, 0.3234953762349865, 0.767436207754459, 0.17482319340174401, 0.3741337930693951, 0.22107489466311658, 0.6810968092125977, 0.18453430360422363, 0.5281261661642067, 0.5765370589370499, 0.6881676782982522, 0.05829758879665636, 0.40157109484552655, 0.7409276058186424, 0.3554685476330879, 0.5452178162955414, 0.8708323453740633, 0.006130674401275349, 0.9658710357058085, 0.30054161910699584, 0.5658806066923204, 0.28849728078491976, 0.9069931898120753, 0.00016495506299607499, 0.08785631877915423, 0.1888883682697361, 0.9644603387434394, 0.38837457222366023, 0.313136732040997, 0.5779249085207843, 0.3909060560597639, 0.41398197403670567, 0.4087875018919628, 0.5674431331087466, 0.10274761887200556, 0.04012900340236347, 0.7138777292810057, 0.7983849773520555, 0.775693531212142, 0.06955878793075798, 0.5049023833102283, 0.5780805152797378, 0.42040099636009176, 0.2544015584478102, 0.9409031480003909, 0.5328984159360173, 0.6124838044493044, 0.5197079520373599, 0.18467277580653885, 0.11501022723336174, 0.6390535939102319, 0.67482694176701, 0.8495273956963874, 0.34319903514773853, 0.18830856174008104, 0.8657143009216706], [0.6171069334560735, 0.9563094164025604, 0.8605263714998488, 0.4280248546126104, 1.0, 0.4590362373713619, 0.3559895636698618, 0.7182733322460171, 0.6532350858581022, 0.1478177699512222, 0.9221532319821043, 0.7709720541272072, 0.9060395375992308, 0.30561050849119187, 0.9502102969984629, 0.7090945666713292, 0.8850822901368994, 0.854098951263997, 0.9966620412277079, 0.8784420488889128, 0.15487371089264967, 0.23579012856451953, 0.14229175400462668, 0.027801397347207102, 0.559570451144353, 0.03886827847811125, 0.8191346594612081, 0.493760223519905, 0.3480864633500502, 0.9409520652424882, 0.9874644052706223, 0.6192060980674067, 0.4848501107206169, 0.6886195702666829, 0.9595866660380421, 0.258326236980719, 0.6745616788026834, 0.8868071698963836, 0.018940116070989332, 0.5674406794258535, 0.7297556790810504, 0.22231560015876728, 0.8288281099966948, 0.5005005196559191, 0.4581197842140191, 0.3034971283948975, 0.031026432608882937, 0.2609332442775315, 0.8178460238648695, 0.24026764748215312, 0.8664402686664346, 0.9318462684711308, 0.08430230863161925, 0.3516742380735314, 0.824048578310888, 0.43675273673435167, 0.8228044973209856, 0.2529099588911261, 0.7690509762815837, 0.7319254175246535, 0.33728364869943894, 0.399301455768861, 0.9737721637543814, 0.1432993676412203, 0.21160368647276762, 0.08491261185690235, 0.29383384751370123, 0.20045890286358048, 0.9137744493148208, 0.8035134090102681, 0.5011876709609733, 0.8070670257646616, 0.5529211098759127, 0.713169395393182, 0.7194593883573729, 0.2868973098792402, 0.7796262569287797, 0.10398900369151154, 0.7876747641504402, 0.6698758770686424, 0.28390431030490215, 0.767107931093611, 0.9828931315104101, 0.00996595484302143, 0.8212828477874211, 0.5391011373464697, 0.4334057404264615, 0.8089804707006402, 0.7007237556990504, 0.06606592633403574, 0.13765275761160778, 0.5434645834330772, 0.8529972086363914, 0.22617153528039535, 0.2705045819888834, 0.6723066931487057, 0.4083167298660688, 0.2937851898965992, 0.007560537431998582, 0.4634872665530527], [0.4849076831610142, 0.4173656241891338, 0.6486083189745132, 0.3104103702425668, 1.0, 0.9711748972665006, 0.0419269511028707, 0.3170216788645034, 0.5523901962200819, 0.6374990454256579, 0.2907778358712121, 0.8346241188612421, 0.33279179054539776, 0.17204525695118933, 0.669070987480509, 0.18662754902408518, 0.5202296356887723, 0.33038729535051947, 0.38925862105866116, 0.664227035566049, 0.013316305239301052, 0.8894220051648843, 0.5994742638472231, 0.4385241147316511, 0.07998680988967055, 0.8404719191374764, 0.48351642233068604, 0.6168340428878059, 0.4384912048863907, 0.7734524004898403, 0.15495518871104963, 0.1894084876553166, 0.3194828361451839, 0.5360929371552428, 0.800686492369806, 0.13474568681241927, 0.5694693444063711, 0.6885828958916017, 0.23814927591606805, 0.7863455254987052, 0.735008651923869, 0.9594154374544089, 0.2535869706722088, 0.9512867277183532, 0.12837714200052808, 0.8118477403479414, 0.13301234776958692, 0.7645570402245445, 0.09199389612855613, 0.2869173192699711, 0.5625385119090742, 0.15416146175768097, 0.8467124295812641, 0.8477469900938742, 0.11503072220092503, 0.04445490438999955, 0.917478406337846, 0.22599220715852408, 0.15175995782759666, 0.35805539666300135, 0.6962456425516659, 0.4832687258983672, 0.8667038849509446, 0.7080411549839234, 0.5268687784691428, 0.26020197247262156, 0.8758847332583974, 0.24844586190790452, 0.1367537099334336, 0.08963242557073403, 0.3819543122671978, 0.6022866134766252, 0.9826134613718771, 0.21655981889414688, 0.690743593672822, 0.30306366063672974, 0.21632568988577083, 0.3152348236168595, 0.05228785206787656, 0.04765909451399242, 0.31416407045665773, 0.09750681720661325, 0.3396644688182934, 0.8077648894851275, 0.07245154675343557, 0.9440125842703051, 0.788350824898513, 0.8664415879595371, 0.5761703515063361, 0.38543309547169957, 0.42817981265664184, 0.4616938825282382, 0.1523692441518073, 0.39582868868542287, 0.6221272753543164, 0.6294755124408756, 0.038312595188159215, 0.3602044792036946, 0.8208126881412271, 0.2838391942178784]] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE html> | |
<meta charset="utf-8"> | |
<title>Canvas ImageData Zoom w/ Marginals</title> | |
<style> | |
body { | |
position: relative; | |
} | |
svg, | |
canvas { | |
position: absolute; | |
} | |
.axis text { | |
font: 10px sans-serif; | |
} | |
.axis path, | |
.axis line { | |
fill: none; | |
stroke: #000; | |
shape-rendering: crispEdges; | |
} | |
.axis.grid { | |
fill: none; | |
stroke: #000; | |
stroke-opacity: .1; | |
} | |
.axis.grid text { | |
display: none; | |
} | |
.line { | |
fill: none; | |
stroke: steelblue; | |
stroke-width: 1.5px; | |
} | |
/* | |
img { | |
image-rendering: -moz-crisp-edges; /* Firefox */ | |
image-rendering: -o-crisp-edges; /* Opera */ | |
image-rendering: -webkit-optimize-contrast;/* Webkit (non-standard naming) */ | |
image-rendering: crisp-edges; | |
-ms-interpolation-mode: nearest-neighbor; /* IE (non-standard property) */ | |
} | |
*/ | |
</style> | |
<script src="http://d3js.org/d3.v3.min.js"></script> | |
<body> | |
<script> | |
var total_width = 500, | |
total_height = 500, | |
margin = {top: 40, left: 40, bottom: total_height*.8, right: total_width *.8}, | |
bottompanel_margin = {top: margin.bottom, bottom: total_height-30, left: margin.left, right: margin.right}, | |
rightpanel_margin = {top: margin.top, left: margin.right, bottom: margin.bottom, right: total_width-30}, | |
width = margin.right-margin.left,//total_width - margin.left - margin.right, | |
height = margin.bottom - margin.top,//total_height - margin.top - margin.bottom, | |
bottompanel_height = bottompanel_margin.bottom - bottompanel_margin.top, | |
rightpanel_width = rightpanel_margin.right - rightpanel_margin.left; | |
var xmin = 0; | |
var xmax = width; | |
var ymin = 0; | |
var ymax = height; | |
var ctx; | |
var imageObj = new Image(); | |
// The 0.5 offset makes the scale ones-based, making it so that tick marks | |
// are centered in the pixel. | |
var x = d3.scale.linear() | |
.domain([xmin+.5, xmax+.5]) | |
.range([0.5, width+.5]); | |
var y = d3.scale.linear() | |
.domain([ymin+.5, ymax+.5]) | |
.range([0, height]); | |
var bottompanel_y = d3.scale.linear() | |
.domain([ymin+.5, ymax+.5]) | |
.range([bottompanel_height, 0]); | |
var rightpanel_x = d3.scale.linear() | |
.domain([xmin+.5, xmax+.5]) | |
.range([0, rightpanel_width]); | |
var xAxis = d3.svg.axis() | |
.scale(x) | |
.orient("bottom") | |
.tickSize(-height-bottompanel_height); // tickLine == gridline | |
var yAxis = d3.svg.axis() | |
.scale(y) | |
.orient("left") | |
.tickSize(-width-rightpanel_width); // tickLine == gridline | |
var bottompanel_xAxis = d3.svg.axis() | |
.scale(x) | |
.orient("bottom"); | |
var bottompanel_yAxis = d3.svg.axis() | |
.scale(bottompanel_y) | |
.ticks(3) | |
.orient("left"); | |
var rightpanel_xAxis = d3.svg.axis() | |
.scale(rightpanel_x) | |
.ticks(3) | |
.orient("bottom"); | |
var rightpanel_yAxis = d3.svg.axis() | |
.scale(y) | |
.orient("right"); | |
var zoom = d3.behavior.zoom() | |
.x(x) | |
.y(y) | |
.scaleExtent([1, 100]) | |
.on("zoom", refresh); | |
var color = d3.scale.linear() | |
.domain([0, .5, 1]) | |
.range(["#eff3ff", "#6baed6", "#08519c"]); | |
var canvas = d3.select("body").append("canvas") | |
.attr("transform", "translate(" + margin.left + "," + margin.top + ")") | |
.style("left", margin.left + "px") | |
.style("top", margin.top + "px") | |
.style("width", width + "px") | |
.style("height", height + "px") | |
.style("position", "absolute"); | |
var svg = d3.select("body").append("svg") | |
.attr("width", total_width) | |
.attr("height", total_height) | |
.append("g") | |
.attr("transform", "translate(" + margin.left + "," + margin.top + ")"); | |
// We make an invisible rectangle to intercept mouse events for zooming. | |
svg.append("rect") | |
.attr("width", width) | |
.attr("height", height) | |
.style("fill", "000") | |
.style("opacity", 1e-6) | |
.call(zoom); | |
svg.append("g") | |
.attr("class", "y axis grid") | |
.call(yAxis) | |
.call(removeZero); | |
var bottompanel_context = svg.append("g") | |
.attr("transform", "translate(0," + (bottompanel_margin.top - margin.top) + ")"); | |
svg.append("defs").append("clipPath") | |
.attr("id", "bottomclip") | |
.append("rect") | |
.attr("width", width) | |
.attr("height", bottompanel_height); | |
bottompanel_context.append("path") | |
.attr("clip-path", "url(#bottomclip)"); | |
bottompanel_context.append("g") | |
.attr("class", "x axis") | |
.attr("transform", "translate(0," + bottompanel_height + ")") | |
.call(bottompanel_xAxis) | |
.call(removeZero); | |
bottompanel_context.append("g") | |
.attr("class", "x axis grid") | |
.attr("transform", "translate(0," + bottompanel_height + ")") | |
.call(zoom) | |
.call(xAxis) | |
.call(removeZero); | |
bottompanel_context.append("g") | |
.attr("class", "y axis") | |
.call(bottompanel_yAxis) | |
.call(removeZero); | |
var rightpanel_context = svg.append("g") | |
.attr("transform", "translate(" + (rightpanel_margin.left-margin.left) + ",0)"); | |
svg.append("defs").append("clipPath") | |
.attr("id", "rightclip") | |
.append("rect") | |
.attr("width", rightpanel_width) | |
.attr("height", height); | |
rightpanel_context.append("path") | |
.attr("clip-path", "url(#rightclip)"); | |
rightpanel_context.append("g") | |
.attr("class", "y axis") | |
.attr("transform", "translate(" + rightpanel_width + ",0)") | |
.call(rightpanel_yAxis) | |
.call(removeZero); | |
rightpanel_context.append("g") | |
.attr("class", "x axis") | |
.attr("transform", "translate(0," + (rightpanel_margin.bottom-margin.top) + ")") | |
.call(rightpanel_xAxis) | |
.call(removeZero); | |
var columnsum_line = d3.svg.line() | |
.x(function(d) { return x(d[0]); }) | |
.y(function(d) { return bottompanel_y(d[1]); }); | |
var rowsum_line = d3.svg.line() | |
.y(function(d) { return y(d[0]); }) | |
.x(function(d) { return rightpanel_x(d[1]); }); | |
var heatmap; | |
// Keep an eye out for "translateExtent" or "xExtent" methods that may be | |
// added at some point to bound the limits of zooming and panning. Until then, | |
// this works. | |
function refresh() { | |
var t = zoom.translate(); | |
var s = zoom.scale(); | |
var tx = t[0], | |
ty = t[1]; | |
var xdom = x.domain(); | |
var reset_s = 0; | |
if ((xdom[1] - xdom[0]) >= (xmax - xmin)) { | |
zoom.x(x.domain([xmin+.5, xmax+.5])); | |
xdom = x.domain(); | |
reset_s = 1; | |
} | |
var ydom = y.domain(); | |
if ((ydom[1] - ydom[0]) >= (ymax - ymin)) { | |
zoom.y(y.domain([ymin+.5, ymax+.5])); | |
ydom = y.domain(); | |
reset_s += 1; | |
} | |
if (reset_s == 2) { // Both axes are full resolution. Reset. | |
zoom.scale(1); | |
tx = 0; | |
ty = 0; | |
} | |
else { | |
if (xdom[0] < xmin + .5) { | |
tx = 0; | |
x.domain([xmin+.5, xdom[1] - xdom[0] + xmin+.5]); | |
xdom = x.domain(); | |
} | |
if (xdom[1] > xmax + .5) { | |
xdom[0] -= xdom[1] - xmax; | |
tx = -xdom[0]*width/(xmax-xmin)*s; | |
x.domain([xdom[0]+.5, xmax+.5]); | |
} | |
if (ydom[0] < ymin + .5) { | |
y.domain([ymin+.5, ydom[1] - ydom[0] + ymin+.5]); | |
ydom = y.domain(); | |
// Image origin = (top,left) | |
ty = 0; | |
// If image origin = (bottom,left), uncomment next line. | |
// ty = -(ymax-ydom[1])*height/(ymax-ymin)*s; | |
} | |
if (ydom[1] > ymax + .5) { | |
ydom[0] -= ydom[1] - ymax; | |
ty = -ydom[0]*height/(ymax-ymin)*s; | |
// If image origin = (bottom, left), uncomment next line. | |
// ty = 0; | |
y.domain([ydom[0]+.5, ymax+.5]); | |
} | |
} | |
// Reset (possibly) if hit an edge so that next focus event starts correctly. | |
zoom.translate([tx, ty]); | |
ctx.drawImage(imageObj, | |
tx*imageObj.width/width, ty*imageObj.height/height, | |
imageObj.width*s, imageObj.height*s); | |
draw_column_sum(); | |
draw_row_sum(); | |
bottompanel_context.selectAll(".x.axis").call(bottompanel_xAxis).call(removeZero); | |
bottompanel_context.selectAll(".y.axis").call(bottompanel_yAxis).call(removeZero); | |
rightpanel_context.selectAll(".x.axis").call(rightpanel_xAxis).call(removeZero); | |
rightpanel_context.selectAll(".y.axis").call(rightpanel_yAxis).call(removeZero); | |
svg.selectAll(".x.axis.grid").call(xAxis).call(removeZero); | |
svg.selectAll(".y.axis.grid").call(yAxis).call(removeZero); | |
} | |
function removeZero(axis) { | |
axis.selectAll("g").filter(function(d) { return !d; }).remove(); | |
} | |
var sum = function(arr) { | |
return arr.reduce(function(a, b){ return a + b; }, 0); | |
}; | |
d3.json("heatmap.json", function(error, json) { | |
heatmap = json; | |
xmax = heatmap[0].length, | |
ymax = heatmap.length; | |
x.domain([0+.5, xmax+.5]); | |
y.domain([0+.5, ymax+.5]); | |
d3.select("canvas") | |
.attr("width", xmax) | |
.attr("height", ymax) | |
.attr("transform", "translate(" + margin.left + "," + margin.top + ")") | |
.call(drawImage); | |
// Compute the pixel colors; scaled by CSS. | |
function drawImage(canvas) { | |
ctx = canvas.node().getContext("2d"); | |
var img = ctx.createImageData(xmax, ymax); | |
for (var y = 0, p = -1; y < ymax; ++y) { | |
for (var x = 0; x < xmax; ++x) { | |
var c = d3.rgb(color(heatmap[y][x])); | |
img.data[++p] = c.r; | |
img.data[++p] = c.g; | |
img.data[++p] = c.b; | |
img.data[++p] = 255; | |
} | |
} | |
// Keeping pixels as nearest neighbor (as anti-aliased as we can get | |
// without doing more programming) allows us to see how the marginals | |
// line up when zooming in a lot. | |
ctx.mozImageSmoothingEnabled = false; | |
ctx.webkitImageSmoothingEnabled = false; | |
ctx.msImageSmoothingEnabled = false; | |
ctx.imageSmoothingEnabled = false; | |
ctx.putImageData(img, 0, 0); | |
imageObj.src = canvas.node().toDataURL(); | |
} | |
draw_column_sum(); | |
draw_row_sum(); | |
refresh(); | |
}); | |
var draw_column_sum = function () { | |
var cropped = heatmap.slice(Math.floor(y.domain()[0]), Math.ceil(y.domain()[1])); | |
cropped = d3.transpose(cropped); | |
cropped = cropped.slice(Math.floor(x.domain()[0]), Math.ceil(x.domain()[1])); | |
var column_sum = cropped.map(sum); | |
bottompanel_y.domain([d3.min(column_sum)*.95, d3.max(column_sum)*1.05]); | |
bottompanel_context.select("path") | |
.datum(d3.zip(d3.range( | |
Math.floor(x.domain()[0])+1, Math.floor(x.domain()[0])+column_sum.length+10), | |
column_sum)) | |
.attr("class", "line") | |
.attr("d", columnsum_line); | |
} | |
var draw_row_sum = function () { | |
var cropped = heatmap.slice(Math.floor(y.domain()[0]), Math.ceil(y.domain()[1])); | |
cropped = d3.transpose(cropped); | |
cropped = cropped.slice(Math.floor(x.domain()[0]), Math.ceil(x.domain()[1])); | |
var row_sum = d3.transpose(cropped).map(sum); | |
rightpanel_x.domain([d3.min(row_sum)*.95, d3.max(row_sum)*1.05]); | |
rightpanel_context.select("path") | |
.datum(d3.zip(d3.range( | |
Math.floor(y.domain()[0])+1, Math.floor(y.domain()[0])+row_sum.length+10), | |
row_sum)) | |
.attr("class", "line") | |
.attr("d", rowsum_line); | |
} | |
</script> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment