-
Notifications
You must be signed in to change notification settings - Fork 0
/
d3.py
1928 lines (1927 loc) · 30.4 KB
/
d3.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
stuff = """ 775 785 361
622 375 125
297 839 375
245 38 891
503 463 849
731 482 759
29 734 734
245 771 269
261 315 904
669 96 581
570 745 156
124 678 684
472 360 73
174 251 926
406 408 976
413 238 571
375 554 22
211 379 590
271 821 847
696 253 116
513 972 959
539 557 752
168 362 550
690 236 284
434 91 818
859 393 779
620 313 56
188 983 783
799 900 573
932 359 565
357 670 69
525 71 52
640 654 43
695 781 907
676 680 938
63 507 570
985 492 587
984 34 333
25 489 399
470 158 43
715 491 617
508 412 607
365 446 743
504 189 378
225 424 517
473 45 649
847 927 424
455 889 697
64 230 846
579 368 881
639 536 74
433 803 943
14 629 963
432 481 136
781 625 323
836 215 201
620 614 366
801 679 673
745 376 326
891 957 751
64 430 347
784 534 237
740 485 470
570 894 790
905 979 90
571 526 716
810 602 259
20 41 648
816 566 848
891 883 616
801 797 341
99 119 584
175 40 994
8 234 831
184 254 958
625 999 945
326 385 266
475 644 785
345 769 650
427 410 680
689 887 40
380 109 842
342 640 785
164 546 554
843 871 419
873 687 74
84 192 465
186 777 83
180 130 726
315 860 652
88 273 735
859 684 791
806 655 299
763 409 636
310 532 897
891 163 855
631 200 986
104 559 294
555 679 989
770 437 935
997 189 711
830 300 983
566 325 793
7 694 911
574 490 138
596 230 973
855 377 552
969 150 518
453 653 525
753 556 47
858 509 551
103 545 325
660 215 284
566 509 591
647 97 650
993 597 775
970 566 802
242 922 349
693 932 502
872 267 657
526 87 944
395 85 188
134 129 901
56 244 785
1 733 300
55 698 552
372 933 480
548 459 792
631 653 983
443 320 23
555 117 715
665 268 704
804 899 736
654 823 13
441 250 736
229 324 580
41 389 857
215 103 753
933 311 835
955 234 744
113 141 315
790 130 235
464 464 129
328 386 315
787 735 301
839 744 299
77 119 23
407 321 190
968 962 904
653 752 732
962 145 723
175 452 717
868 474 195
10 273 943
308 388 626
296 133 647
851 474 336
839 777 975
514 651 867
949 947 886
802 92 113
167 938 941
840 627 166
825 72 754
166 661 677
759 71 279
705 70 113
849 4 295
563 679 588
343 76 636
842 669 45
892 597 431
26 864 580
889 509 641
696 267 506
608 778 297
293 867 667
662 469 97
243 184 809
785 434 715
691 568 759
599 4 164
444 566 816
486 145 595
787 41 538
953 151 842
861 877 759
228 972 678
846 114 915
253 41 621
59 989 405
222 948 665
478 631 364
524 717 175
752 94 474
47 421 419
113 510 343
99 733 667
787 651 708
703 557 486
489 637 702
510 287 529
483 308 545
454 177 87
433 735 242
638 734 172
208 702 285
999 157 251
776 76 341
689 164 553
477 938 456
45 848 863
466 255 644
578 396 93
471 419 368
411 27 320
317 291 732
303 42 605
597 313 473
70 419 120
101 440 745
35 176 656
236 329 198
74 296 40
272 78 233
864 404 510
37 368 531
828 35 50
191 272 396
238 548 387
129 527 13
464 600 194
385 42 341
81 596 432
589 663 943
256 704 723
671 152 505
873 532 364
758 755 202
378 621 563
735 463 555
806 910 409
809 897 276
546 755 608
609 852 79
279 133 527
106 696 980
63 981 360
90 440 832
127 860 495
714 395 480
815 485 59
792 91 507
249 524 138
567 452 486
923 544 768
913 253 767
456 582 293
706 507 577
187 619 644
569 978 602
88 886 291
448 712 211
517 815 258
743 397 816
977 793 795
847 905 668
690 869 162
426 541 257
637 586 272
82 950 821
785 936 350
812 31 490
318 253 159
515 688 479
423 855 407
931 830 651
496 241 28
491 924 624
864 966 133
171 438 712
736 867 734
551 548 267
288 455 474
557 622 273
494 74 507
541 628 390
288 583 310
411 63 353
487 527 295
520 567 536
739 816 848
349 681 269
898 902 676
647 759 892
573 512 75
186 252 895
804 320 772
730 934 107
198 651 774
625 535 985
568 499 235
159 42 837
854 617 695
34 299 670
823 733 41
830 615 789
825 652 562
697 105 504
114 103 540
18 141 106
94 121 479
859 774 177
464 873 208
790 125 305
982 586 811
521 386 478
916 329 620
764 91 351
526 684 103
314 749 283
510 226 378
160 269 278
638 368 120
616 540 475
863 637 89
744 172 445
856 391 269
768 276 634
940 610 820
289 254 649
254 364 98
304 613 620
164 652 257
890 74 483
813 640 710
884 99 735
707 881 380
954 983 971
487 911 275
256 920 43
384 772 313
863 120 903
703 821 82
765 731 957
55 935 516
162 785 801
140 161 927
460 139 84
926 139 965
764 3 976
765 487 42
377 835 277
897 734 256
345 320 55
515 755 504
615 623 562
412 280 6
382 392 468
365 625 461
542 406 610
360 200 801
562 221 627
556 557 141
372 231 212
523 457 272
80 701 676
940 59 871
906 695 987
715 922 573
618 446 552
196 849 62
772 867 608
735 377 418
676 607 236
25 447 830
187 270 738
214 175 990
438 790 816
456 396 534
220 628 356
384 935 215
377 593 802
566 651 650
648 529 999
128 884 472
688 951 661
312 722 722
48 526 696
266 347 903
698 21 354
933 404 570
303 417 685
46 562 897
566 931 14
539 747 911
374 623 743
868 353 513
927 903 481
207 765 560
351 956 215
540 945 512
362 322 651
820 555 190
548 301 467
405 931 842
598 347 150
276 971 814
450 480 361
577 538 493
139 104 181
716 233 697
494 647 287
511 782 575
809 728 107
895 167 85
741 746 141
23 115 83
173 147 549
191 208 581
313 356 284
357 393 123
60 322 363
830 87 661
403 711 713
433 651 101
783 738 792
574 821 764
705 214 263
256 243 334
341 152 444
520 140 131
975 461 313
319 441 161
791 47 309
228 973 235
583 305 398
389 876 277
551 974 351
822 786 876
364 347 874
523 130 173
806 90 462
304 146 402
748 760 239
164 345 704
833 817 628
239 739 640
284 296 234
127 711 415
435 590 402
480 250 914
282 379 914
547 845 267
922 795 324
600 500 447
342 464 53
404 341 143
641 129 90
375 730 138
263 32 124
450 749 251
588 697 89
688 431 603
156 614 617
604 259 349
475 282 45
572 197 308
743 749 686
770 811 907
117 543 845
41 179 766
147 555 742
130 410 169
476 62 627
652 879 240
678 852 508
953 795 413
699 597 444
324 577 846
919 79 727
908 719 125
128 776 714
299 256 118
513 222 115
624 75 181
1 605 162
55 106 230
58 672 286
639 558 549
150 662 435
662 695 222
461 173 344
428 354 647
56 405 653
699 631 995
967 608 269
365 853 794
768 606 943
413 601 128
362 427 919
735 448 566
276 354 377
604 657 544
913 192 592
811 762 62
120 720 606
618 232 392
85 19 764
603 241 541
993 997 840
818 894 266
247 305 682
280 964 511
559 967 455
531 38 674
878 731 684
783 156 390
617 742 604
370 770 896
592 667 353
222 921 736
741 508 285
759 395 156
37 128 254
209 631 716
237 423 613
65 856 439
942 526 288
862 811 341
753 840 59
369 67 907
817 947 802
768 945 137
356 557 207
716 9 205
361 558 1
310 889 719
97 128 887
361 776 873
86 181 892
284 865 808
218 859 279
299 649 624
542 583 624
617 66 48
921 459 75
921 672 759
800 345 814
572 975 685
720 980 867
522 135 267
139 376 86
362 399 585
330 206 511
419 194 679
293 374 3
560 272 676
224 926 717
685 927 347
555 786 943
591 776 538
326 835 471
635 67 464
276 916 913
304 965 2
50 110 912
893 200 307
445 248 596
725 128 681
279 602 888
7 204 766
284 429 191
264 503 351
531 335 140
381 220 292
518 905 824
416 477 600
405 663 511
531 92 321
824 131 534
409 113 431
12 192 485
864 557 391
858 390 756
28 465 231
188 216 825
177 316 910
766 41 329
202 105 219
787 125 542
639 108 5
639 10 525
17 105 532
586 498 918
630 389 19
317 361 903
185 575 708
679 532 355
851 367 844
775 68 120
644 45 194
802 44 242
852 214 601
595 525 281
258 450 415
534 121 561
117 33 620
576 147 318
217 953 365
863 686 803
751 694 680
502 669 546
385 204 399
740 760 650
105 567 227
526 574 378
496 858 216
248 475 19
790 358 887
556 713 866
348 334 937
364 364 88
396 58 915
871 418 645
438 507 449
967 924 960
435 153 47
831 861 835
787 958 832
376 231 602
487 528 782
485 532 607
820 96 256
856 177 549
302 240 751
146 412 332
268 715 463
309 584 399
939 548 465
966 854 412
517 385 574
425 809 919
88 796 924
468 317 287
195 131 961
10 485 229
190 374 827
573 178 842
575 255 358
220 359 713
401 853 206
736 904 667
450 209 798
865 42 300
806 373 182
383 403 258
397 51 691
492 146 568
814 179 584
545 851 182
606 135 208
135 934 183
733 365 561
215 97 642
617 418 209
641 297 106
400 876 246
399 665 156
424 20 222
954 860 194
930 875 34
883 469 376
111 576 753
995 515 461
535 380 786
117 578 780
646 803 965
243 951 886
563 935 879
520 91 879
390 332 402
955 471 221
810 398 527
312 876 131
256 371 527
293 945 501
724 900 650
798 526 908
199 510 377
285 338 780
729 157 584
866 259 438
91 680 717
982 618 786
918 255 178
66 257 416
288 223 81
237 405 404
597 762 518
671 661 39
976 431 502
524 337 919
524 194 343
23 167 623
882 993 129
741 572 465
694 830 394
353 846 895
312 254 903
52 614 101
300 513 706
976 310 698
929 736 22
732 248 113
816 471 405
230 466 355
749 854 492
956 286 554
833 928 239
334 883 528
782 968 977
715 608 898
264 576 100
530 705 344
779 189 245
560 692 658
550 325 931
22 757 277
860 962 567
695 542 611
227 936 116
812 696 604
889 520 282
512 180 350
735 582 392
511 400 667
754 871 309
899 133 582
986 66 309
186 183 367
543 242 522
132 255 887
538 225 934
57 276 438
452 396 382
501 608 195
292 741 619
69 671 801
331 731 279
485 350 380
81 926 182
513 834 298
165 801 799
204 426 521
245 650 330
716 716 155
693 699 658
305 69 710
661 744 698
599 327 957
577 593 903
924 117 176
949 808 323
267 710 257
91 683 927
404 262 918
347 716 109
155 266 483
142 676 512
216 501 103
923 110 424
856 329 617
229 332 231
466 803 573
498 388 827
38 788 587
770 367 435
736 584 445
93 569 834
65 948 479
172 630 581
239 369 396
820 270 656
32 515 348
803 324 969
70 188 635
219 766 279
166 736 640
257 604 851
555 616 822
589 345 165
166 196 64
909 185 700
870 119 693
20 565 737
680 198 244
700 486 825
194 812 67
236 756 407
64 905 344
92 755 905
748 349 681
707 781 811
505 50 456
471 889 672
35 891 334
899 411 164
663 459 232
539 446 322
57 785 718
273 421 308
308 744 501
45 819 416
936 258 466
980 825 841
100 33 345
898 904 750
920 903 453
947 9 765
580 979 375
753 977 844
402 174 156
573 827 782
975 663 644
179 358 353
55 777 834
221 871 631
120 714 199
663 369 217
599 713 135
11 472 765
803 445 746
797 30 284
259 776 677
598 707 675
484 339 3
298 750 162
119 820 168
180 69 9
433 332 676
142 164 343
435 233 414
153 977 263
532 54 244
600 999 25
394 756 311
354 196 703
666 858 760
227 312 525
389 419 436
218 311 744
318 531 245
324 939 509
183 997 543
944 598 70
790 486 828
710 745 880
546 368 219
316 668 29
398 360 218
702 453 987
774 462 373
722 829 947
541 732 44
310 494 582
239 596 548
579 810 907
490 169 62
926 883 915
281 414 595
845 412 609
632 106 618
112 404 492
864 460 314
842 93 436
412 805 874
353 686 465
240 393 800
788 654 346
666 78 185
418 608 404
658 537 960
794 449 680
711 324 489
59 525 330
323 259 544
359 745 542
877 701 403
119 897 533
977 392 227
528 340 194
398 180 283
538 301 123
775 263 195
53 385 630
749 253 686
533 30 624
678 187 590
937 218 50
205 466 918
796 672 47
818 203 963
461 953 881
739 457 696
661 711 220
624 121 663
908 173 644
602 185 70
168 957 159
283 341 934
196 845 939
494 354 543
796 422 87
430 762 478
526 762 859
535 600 926
28 555 651
170 748 379
117 745 33
52 1 351
946 796 446
148 844 920
950 131 740
392 490 118
286 465 667
202 101 662
326 629 556
773 661 219
540 683 613
406 314 525
154 947 451
401 661 186
574 690 796
558 730 855
153 244 156
618 37 10
856 991 363
820 959 370
644 700 800
421 469 908
422 233 288
416 281 707
370 430 487
284 525 916
535 713 354
210 576 524
432 930 215
712 374 612
686 508 102
40 141 616
979 525 663
838 696 326
472 261 357
321 910 663
228 153 536
223 940 896
137 39 506
139 706 187
4 666 483
944 856 119
720 602 93
410 260 85
601 647 520
162 474 317
599 742 313
242 886 381
250 78 353
109 916 117
597 926 673
318 114 309
892 819 424
491 682 85
765 657 682
558 60 721
990 634 160
640 461 410
430 839 535
42 961 686
752 251 690
747 931 3
439 930 85
44 628 953
465 961 874
313 447 913
249 600 859
359 896 472
698 187 657
57 957 805
721 977 239
782 93 96
860 159 250
368 142 218
565 157 46
622 403 383
63 546 382
63 774 308
446 495 475
467 831 310
448 77 798