UNPKG

180 kBJavaScriptView Raw
1'use strict';
2
3var cov_1ytb5bt5lt = function () {
4 var path = '/Users/mxu/code/uport-connect/src/Connect.js',
5 hash = 'ee0bda2b737d337c54339c79ebfa32b64d0ff5a8',
6 Function = function () {}.constructor,
7 global = new Function('return this')(),
8 gcv = '__coverage__',
9 coverageData = {
10 path: '/Users/mxu/code/uport-connect/src/Connect.js',
11 statementMap: {
12 '0': {
13 start: {
14 line: 44,
15 column: 4
16 },
17 end: {
18 line: 44,
19 column: 49
20 }
21 },
22 '1': {
23 start: {
24 line: 45,
25 column: 4
26 },
27 end: {
28 line: 45,
29 column: 39
30 }
31 },
32 '2': {
33 start: {
34 line: 46,
35 column: 4
36 },
37 end: {
38 line: 46,
39 column: 41
40 }
41 },
42 '3': {
43 start: {
44 line: 47,
45 column: 4
46 },
47 end: {
48 line: 47,
49 column: 39
50 }
51 },
52 '4': {
53 start: {
54 line: 48,
55 column: 4
56 },
57 end: {
58 line: 48,
59 column: 37
60 }
61 },
62 '5': {
63 start: {
64 line: 49,
65 column: 4
66 },
67 end: {
68 line: 49,
69 column: 55
70 }
71 },
72 '6': {
73 start: {
74 line: 50,
75 column: 4
76 },
77 end: {
78 line: 50,
79 column: 81
80 }
81 },
82 '7': {
83 start: {
84 line: 51,
85 column: 4
86 },
87 end: {
88 line: 51,
89 column: 78
90 }
91 },
92 '8': {
93 start: {
94 line: 52,
95 column: 4
96 },
97 end: {
98 line: 52,
99 column: 70
100 }
101 },
102 '9': {
103 start: {
104 line: 53,
105 column: 4
106 },
107 end: {
108 line: 53,
109 column: 67
110 }
111 },
112 '10': {
113 start: {
114 line: 54,
115 column: 4
116 },
117 end: {
118 line: 54,
119 column: 51
120 }
121 },
122 '11': {
123 start: {
124 line: 57,
125 column: 4
126 },
127 end: {
128 line: 59,
129 column: 5
130 }
131 },
132 '12': {
133 start: {
134 line: 58,
135 column: 6
136 },
137 end: {
138 line: 58,
139 column: 73
140 }
141 },
142 '13': {
143 start: {
144 line: 62,
145 column: 4
146 },
147 end: {
148 line: 62,
149 column: 54
150 }
151 },
152 '14': {
153 start: {
154 line: 65,
155 column: 4
156 },
157 end: {
158 line: 65,
159 column: 20
160 }
161 },
162 '15': {
163 start: {
164 line: 68,
165 column: 4
166 },
167 end: {
168 line: 68,
169 column: 39
170 }
171 },
172 '16': {
173 start: {
174 line: 68,
175 column: 23
176 },
177 end: {
178 line: 68,
179 column: 39
180 }
181 },
182 '17': {
183 start: {
184 line: 69,
185 column: 4
186 },
187 end: {
188 line: 69,
189 column: 70
190 }
191 },
192 '18': {
193 start: {
194 line: 69,
195 column: 27
196 },
197 end: {
198 line: 69,
199 column: 70
200 }
201 },
202 '19': {
203 start: {
204 line: 72,
205 column: 4
206 },
207 end: {
208 line: 72,
209 column: 24
210 }
211 },
212 '20': {
213 start: {
214 line: 73,
215 column: 4
216 },
217 end: {
218 line: 73,
219 column: 64
220 }
221 },
222 '21': {
223 start: {
224 line: 74,
225 column: 4
226 },
227 end: {
228 line: 74,
229 column: 28
230 }
231 },
232 '22': {
233 start: {
234 line: 75,
235 column: 4
236 },
237 end: {
238 line: 78,
239 column: 6
240 }
241 },
242 '23': {
243 start: {
244 line: 77,
245 column: 27
246 },
247 end: {
248 line: 77,
249 column: 123
250 }
251 },
252 '24': {
253 start: {
254 line: 79,
255 column: 4
256 },
257 end: {
258 line: 79,
259 column: 76
260 }
261 },
262 '25': {
263 start: {
264 line: 80,
265 column: 4
266 },
267 end: {
268 line: 80,
269 column: 125
270 }
271 },
272 '26': {
273 start: {
274 line: 81,
275 column: 4
276 },
277 end: {
278 line: 86,
279 column: 6
280 }
281 },
282 '27': {
283 start: {
284 line: 82,
285 column: 6
286 },
287 end: {
288 line: 82,
289 column: 24
290 }
291 },
292 '28': {
293 start: {
294 line: 82,
295 column: 15
296 },
297 end: {
298 line: 82,
299 column: 24
300 }
301 },
302 '29': {
303 start: {
304 line: 84,
305 column: 6
306 },
307 end: {
308 line: 84,
309 column: 30
310 }
311 },
312 '30': {
313 start: {
314 line: 85,
315 column: 6
316 },
317 end: {
318 line: 85,
319 column: 27
320 }
321 },
322 '31': {
323 start: {
324 line: 89,
325 column: 4
326 },
327 end: {
328 line: 89,
329 column: 110
330 }
331 },
332 '32': {
333 start: {
334 line: 90,
335 column: 4
336 },
337 end: {
338 line: 90,
339 column: 115
340 }
341 },
342 '33': {
343 start: {
344 line: 91,
345 column: 4
346 },
347 end: {
348 line: 91,
349 column: 89
350 }
351 },
352 '34': {
353 start: {
354 line: 109,
355 column: 24
356 },
357 end: {
358 line: 132,
359 column: 6
360 }
361 },
362 '35': {
363 start: {
364 line: 111,
365 column: 26
366 },
367 end: {
368 line: 111,
369 column: 46
370 }
371 },
372 '36': {
373 start: {
374 line: 112,
375 column: 8
376 },
377 end: {
378 line: 112,
379 column: 87
380 }
381 },
382 '37': {
383 start: {
384 line: 113,
385 column: 8
386 },
387 end: {
388 line: 113,
389 column: 74
390 }
391 },
392 '38': {
393 start: {
394 line: 113,
395 column: 54
396 },
397 end: {
398 line: 113,
399 column: 73
400 }
401 },
402 '39': {
403 start: {
404 line: 116,
405 column: 8
406 },
407 end: {
408 line: 116,
409 column: 28
410 }
411 },
412 '40': {
413 start: {
414 line: 117,
415 column: 26
416 },
417 end: {
418 line: 117,
419 column: 41
420 }
421 },
422 '41': {
423 start: {
424 line: 118,
425 column: 8
426 },
427 end: {
428 line: 118,
429 column: 46
430 }
431 },
432 '42': {
433 start: {
434 line: 119,
435 column: 8
436 },
437 end: {
438 line: 119,
439 column: 66
440 }
441 },
442 '43': {
443 start: {
444 line: 119,
445 column: 54
446 },
447 end: {
448 line: 119,
449 column: 65
450 }
451 },
452 '44': {
453 start: {
454 line: 122,
455 column: 26
456 },
457 end: {
458 line: 122,
459 column: 51
460 }
461 },
462 '45': {
463 start: {
464 line: 123,
465 column: 8
466 },
467 end: {
468 line: 123,
469 column: 60
470 }
471 },
472 '46': {
473 start: {
474 line: 124,
475 column: 8
476 },
477 end: {
478 line: 124,
479 column: 66
480 }
481 },
482 '47': {
483 start: {
484 line: 124,
485 column: 54
486 },
487 end: {
488 line: 124,
489 column: 65
490 }
491 },
492 '48': {
493 start: {
494 line: 127,
495 column: 26
496 },
497 end: {
498 line: 127,
499 column: 51
500 }
501 },
502 '49': {
503 start: {
504 line: 128,
505 column: 8
506 },
507 end: {
508 line: 128,
509 column: 49
510 }
511 },
512 '50': {
513 start: {
514 line: 129,
515 column: 8
516 },
517 end: {
518 line: 129,
519 column: 66
520 }
521 },
522 '51': {
523 start: {
524 line: 129,
525 column: 54
526 },
527 end: {
528 line: 129,
529 column: 65
530 }
531 },
532 '52': {
533 start: {
534 line: 133,
535 column: 4
536 },
537 end: {
538 line: 133,
539 column: 58
540 }
541 },
542 '53': {
543 start: {
544 line: 133,
545 column: 22
546 },
547 end: {
548 line: 133,
549 column: 58
550 }
551 },
552 '54': {
553 start: {
554 line: 134,
555 column: 4
556 },
557 end: {
558 line: 134,
559 column: 22
560 }
561 },
562 '55': {
563 start: {
564 line: 147,
565 column: 26
566 },
567 end: {
568 line: 165,
569 column: 5
570 }
571 },
572 '56': {
573 start: {
574 line: 148,
575 column: 6
576 },
577 end: {
578 line: 148,
579 column: 68
580 }
581 },
582 '57': {
583 start: {
584 line: 148,
585 column: 21
586 },
587 end: {
588 line: 148,
589 column: 68
590 }
591 },
592 '58': {
593 start: {
594 line: 149,
595 column: 6
596 },
597 end: {
598 line: 164,
599 column: 7
600 }
601 },
602 '59': {
603 start: {
604 line: 150,
605 column: 20
606 },
607 end: {
608 line: 150,
609 column: 31
610 }
611 },
612 '60': {
613 start: {
614 line: 151,
615 column: 24
616 },
617 end: {
618 line: 151,
619 column: 38
620 }
621 },
622 '61': {
623 start: {
624 line: 152,
625 column: 8
626 },
627 end: {
628 line: 154,
629 column: 9
630 }
631 },
632 '62': {
633 start: {
634 line: 153,
635 column: 10
636 },
637 end: {
638 line: 153,
639 column: 58
640 }
641 },
642 '63': {
643 start: {
644 line: 155,
645 column: 8
646 },
647 end: {
648 line: 161,
649 column: 10
650 }
651 },
652 '64': {
653 start: {
654 line: 158,
655 column: 10
656 },
657 end: {
658 line: 158,
659 column: 73
660 }
661 },
662 '65': {
663 start: {
664 line: 158,
665 column: 32
666 },
667 end: {
668 line: 158,
669 column: 73
670 }
671 },
672 '66': {
673 start: {
674 line: 159,
675 column: 10
676 },
677 end: {
678 line: 159,
679 column: 34
680 }
681 },
682 '67': {
683 start: {
684 line: 160,
685 column: 10
686 },
687 end: {
688 line: 160,
689 column: 57
690 }
691 },
692 '68': {
693 start: {
694 line: 163,
695 column: 8
696 },
697 end: {
698 line: 163,
699 column: 56
700 }
701 },
702 '69': {
703 start: {
704 line: 167,
705 column: 4
706 },
707 end: {
708 line: 171,
709 column: 5
710 }
711 },
712 '70': {
713 start: {
714 line: 168,
715 column: 29
716 },
717 end: {
718 line: 168,
719 column: 48
720 }
721 },
722 '71': {
723 start: {
724 line: 169,
725 column: 6
726 },
727 end: {
728 line: 169,
729 column: 32
730 }
731 },
732 '72': {
733 start: {
734 line: 170,
735 column: 6
736 },
737 end: {
738 line: 170,
739 column: 42
740 }
741 },
742 '73': {
743 start: {
744 line: 173,
745 column: 4
746 },
747 end: {
748 line: 187,
749 column: 5
750 }
751 },
752 '74': {
753 start: {
754 line: 174,
755 column: 6
756 },
757 end: {
758 line: 179,
759 column: 8
760 }
761 },
762 '75': {
763 start: {
764 line: 175,
765 column: 8
766 },
767 end: {
768 line: 178,
769 column: 9
770 }
771 },
772 '76': {
773 start: {
774 line: 176,
775 column: 21
776 },
777 end: {
778 line: 176,
779 column: 34
780 }
781 },
782 '77': {
783 start: {
784 line: 177,
785 column: 21
786 },
787 end: {
788 line: 177,
789 column: 34
790 }
791 },
792 '78': {
793 start: {
794 line: 181,
795 column: 6
796 },
797 end: {
798 line: 186,
799 column: 8
800 }
801 },
802 '79': {
803 start: {
804 line: 182,
805 column: 8
806 },
807 end: {
808 line: 185,
809 column: 10
810 }
811 },
812 '80': {
813 start: {
814 line: 183,
815 column: 10
816 },
817 end: {
818 line: 183,
819 column: 37
820 }
821 },
822 '81': {
823 start: {
824 line: 184,
825 column: 10
826 },
827 end: {
828 line: 184,
829 column: 50
830 }
831 },
832 '82': {
833 start: {
834 line: 200,
835 column: 4
836 },
837 end: {
838 line: 200,
839 column: 85
840 }
841 },
842 '83': {
843 start: {
844 line: 200,
845 column: 35
846 },
847 end: {
848 line: 200,
849 column: 85
850 }
851 },
852 '84': {
853 start: {
854 line: 201,
855 column: 4
856 },
857 end: {
858 line: 201,
859 column: 86
860 }
861 },
862 '85': {
863 start: {
864 line: 211,
865 column: 4
866 },
867 end: {
868 line: 214,
869 column: 6
870 }
871 },
872 '86': {
873 start: {
874 line: 212,
875 column: 6
876 },
877 end: {
878 line: 212,
879 column: 24
880 }
881 },
882 '87': {
883 start: {
884 line: 213,
885 column: 6
886 },
887 end: {
888 line: 213,
889 column: 59
890 }
891 },
892 '88': {
893 start: {
894 line: 229,
895 column: 4
896 },
897 end: {
898 line: 229,
899 column: 51
900 }
901 },
902 '89': {
903 start: {
904 line: 229,
905 column: 13
906 },
907 end: {
908 line: 229,
909 column: 51
910 }
911 },
912 '90': {
913 start: {
914 line: 230,
915 column: 4
916 },
917 end: {
918 line: 237,
919 column: 5
920 }
921 },
922 '91': {
923 start: {
924 line: 231,
925 column: 6
926 },
927 end: {
928 line: 231,
929 column: 49
930 }
931 },
932 '92': {
933 start: {
934 line: 231,
935 column: 32
936 },
937 end: {
938 line: 231,
939 column: 49
940 }
941 },
942 '93': {
943 start: {
944 line: 232,
945 column: 6
946 },
947 end: {
948 line: 232,
949 column: 66
950 }
951 },
952 '94': {
953 start: {
954 line: 233,
955 column: 11
956 },
957 end: {
958 line: 237,
959 column: 5
960 }
961 },
962 '95': {
963 start: {
964 line: 234,
965 column: 6
966 },
967 end: {
968 line: 234,
969 column: 83
970 }
971 },
972 '96': {
973 start: {
974 line: 234,
975 column: 54
976 },
977 end: {
978 line: 234,
979 column: 82
980 }
981 },
982 '97': {
983 start: {
984 line: 236,
985 column: 6
986 },
987 end: {
988 line: 236,
989 column: 87
990 }
991 },
992 '98': {
993 start: {
994 line: 236,
995 column: 58
996 },
997 end: {
998 line: 236,
999 column: 86
1000 }
1001 },
1002 '99': {
1003 start: {
1004 line: 261,
1005 column: 25
1006 },
1007 end: {
1008 line: 265,
1009 column: 5
1010 }
1011 },
1012 '100': {
1013 start: {
1014 line: 262,
1015 column: 6
1016 },
1017 end: {
1018 line: 262,
1019 column: 31
1020 }
1021 },
1022 '101': {
1023 start: {
1024 line: 263,
1025 column: 6
1026 },
1027 end: {
1028 line: 263,
1029 column: 30
1030 }
1031 },
1032 '102': {
1033 start: {
1034 line: 264,
1035 column: 6
1036 },
1037 end: {
1038 line: 264,
1039 column: 54
1040 }
1041 },
1042 '103': {
1043 start: {
1044 line: 266,
1045 column: 4
1046 },
1047 end: {
1048 line: 266,
1049 column: 56
1050 }
1051 },
1052 '104': {
1053 start: {
1054 line: 291,
1055 column: 4
1056 },
1057 end: {
1058 line: 291,
1059 column: 52
1060 }
1061 },
1062 '105': {
1063 start: {
1064 line: 291,
1065 column: 19
1066 },
1067 end: {
1068 line: 291,
1069 column: 52
1070 }
1071 },
1072 '106': {
1073 start: {
1074 line: 292,
1075 column: 4
1076 },
1077 end: {
1078 line: 296,
1079 column: 5
1080 }
1081 },
1082 '107': {
1083 start: {
1084 line: 299,
1085 column: 4
1086 },
1087 end: {
1088 line: 299,
1089 column: 61
1090 }
1091 },
1092 '108': {
1093 start: {
1094 line: 299,
1095 column: 13
1096 },
1097 end: {
1098 line: 299,
1099 column: 61
1100 }
1101 },
1102 '109': {
1103 start: {
1104 line: 300,
1105 column: 4
1106 },
1107 end: {
1108 line: 301,
1109 column: 48
1110 }
1111 },
1112 '110': {
1113 start: {
1114 line: 301,
1115 column: 19
1116 },
1117 end: {
1118 line: 301,
1119 column: 47
1120 }
1121 },
1122 '111': {
1123 start: {
1124 line: 327,
1125 column: 4
1126 },
1127 end: {
1128 line: 327,
1129 column: 37
1130 }
1131 },
1132 '112': {
1133 start: {
1134 line: 328,
1135 column: 4
1136 },
1137 end: {
1138 line: 333,
1139 column: 5
1140 }
1141 },
1142 '113': {
1143 start: {
1144 line: 329,
1145 column: 6
1146 },
1147 end: {
1148 line: 329,
1149 column: 96
1150 }
1151 },
1152 '114': {
1153 start: {
1154 line: 330,
1155 column: 6
1156 },
1157 end: {
1158 line: 330,
1159 column: 24
1160 }
1161 },
1162 '115': {
1163 start: {
1164 line: 331,
1165 column: 11
1166 },
1167 end: {
1168 line: 333,
1169 column: 5
1170 }
1171 },
1172 '116': {
1173 start: {
1174 line: 332,
1175 column: 6
1176 },
1177 end: {
1178 line: 332,
1179 column: 79
1180 }
1181 },
1182 '117': {
1183 start: {
1184 line: 335,
1185 column: 4
1186 },
1187 end: {
1188 line: 336,
1189 column: 48
1190 }
1191 },
1192 '118': {
1193 start: {
1194 line: 336,
1195 column: 19
1196 },
1197 end: {
1198 line: 336,
1199 column: 47
1200 }
1201 },
1202 '119': {
1203 start: {
1204 line: 347,
1205 column: 17
1206 },
1207 end: {
1208 line: 350,
1209 column: 5
1210 }
1211 },
1212 '120': {
1213 start: {
1214 line: 351,
1215 column: 4
1216 },
1217 end: {
1218 line: 351,
1219 column: 46
1220 }
1221 },
1222 '121': {
1223 start: {
1224 line: 351,
1225 column: 22
1226 },
1227 end: {
1228 line: 351,
1229 column: 46
1230 }
1231 },
1232 '122': {
1233 start: {
1234 line: 352,
1235 column: 4
1236 },
1237 end: {
1238 line: 352,
1239 column: 111
1240 }
1241 },
1242 '123': {
1243 start: {
1244 line: 352,
1245 column: 82
1246 },
1247 end: {
1248 line: 352,
1249 column: 110
1250 }
1251 },
1252 '124': {
1253 start: {
1254 line: 363,
1255 column: 17
1256 },
1257 end: {
1258 line: 366,
1259 column: 5
1260 }
1261 },
1262 '125': {
1263 start: {
1264 line: 367,
1265 column: 4
1266 },
1267 end: {
1268 line: 367,
1269 column: 46
1270 }
1271 },
1272 '126': {
1273 start: {
1274 line: 367,
1275 column: 22
1276 },
1277 end: {
1278 line: 367,
1279 column: 46
1280 }
1281 },
1282 '127': {
1283 start: {
1284 line: 369,
1285 column: 4
1286 },
1287 end: {
1288 line: 369,
1289 column: 100
1290 }
1291 },
1292 '128': {
1293 start: {
1294 line: 369,
1295 column: 71
1296 },
1297 end: {
1298 line: 369,
1299 column: 99
1300 }
1301 },
1302 '129': {
1303 start: {
1304 line: 398,
1305 column: 4
1306 },
1307 end: {
1308 line: 398,
1309 column: 53
1310 }
1311 },
1312 '130': {
1313 start: {
1314 line: 398,
1315 column: 20
1316 },
1317 end: {
1318 line: 398,
1319 column: 53
1320 }
1321 },
1322 '131': {
1323 start: {
1324 line: 400,
1325 column: 4
1326 },
1327 end: {
1328 line: 404,
1329 column: 14
1330 }
1331 },
1332 '132': {
1333 start: {
1334 line: 406,
1335 column: 4
1336 },
1337 end: {
1338 line: 409,
1339 column: 5
1340 }
1341 },
1342 '133': {
1343 start: {
1344 line: 407,
1345 column: 6
1346 },
1347 end: {
1348 line: 407,
1349 column: 40
1350 }
1351 },
1352 '134': {
1353 start: {
1354 line: 408,
1355 column: 6
1356 },
1357 end: {
1358 line: 408,
1359 column: 41
1360 }
1361 },
1362 '135': {
1363 start: {
1364 line: 412,
1365 column: 4
1366 },
1367 end: {
1368 line: 413,
1369 column: 48
1370 }
1371 },
1372 '136': {
1373 start: {
1374 line: 413,
1375 column: 19
1376 },
1377 end: {
1378 line: 413,
1379 column: 47
1380 }
1381 },
1382 '137': {
1383 start: {
1384 line: 437,
1385 column: 4
1386 },
1387 end: {
1388 line: 437,
1389 column: 59
1390 }
1391 },
1392 '138': {
1393 start: {
1394 line: 437,
1395 column: 26
1396 },
1397 end: {
1398 line: 437,
1399 column: 59
1400 }
1401 },
1402 '139': {
1403 start: {
1404 line: 439,
1405 column: 15
1406 },
1407 end: {
1408 line: 439,
1409 column: 35
1410 }
1411 },
1412 '140': {
1413 start: {
1414 line: 440,
1415 column: 4
1416 },
1417 end: {
1418 line: 440,
1419 column: 66
1420 }
1421 },
1422 '141': {
1423 start: {
1424 line: 441,
1425 column: 4
1426 },
1427 end: {
1428 line: 444,
1429 column: 6
1430 }
1431 },
1432 '142': {
1433 start: {
1434 line: 442,
1435 column: 18
1436 },
1437 end: {
1438 line: 442,
1439 column: 104
1440 }
1441 },
1442 '143': {
1443 start: {
1444 line: 443,
1445 column: 6
1446 },
1447 end: {
1448 line: 443,
1449 column: 34
1450 }
1451 },
1452 '144': {
1453 start: {
1454 line: 455,
1455 column: 4
1456 },
1457 end: {
1458 line: 466,
1459 column: 5
1460 }
1461 },
1462 '145': {
1463 start: {
1464 line: 457,
1465 column: 8
1466 },
1467 end: {
1468 line: 457,
1469 column: 51
1470 }
1471 },
1472 '146': {
1473 start: {
1474 line: 458,
1475 column: 8
1476 },
1477 end: {
1478 line: 458,
1479 column: 13
1480 }
1481 },
1482 '147': {
1483 start: {
1484 line: 460,
1485 column: 8
1486 },
1487 end: {
1488 line: 460,
1489 column: 41
1490 }
1491 },
1492 '148': {
1493 start: {
1494 line: 461,
1495 column: 8
1496 },
1497 end: {
1498 line: 461,
1499 column: 13
1500 }
1501 },
1502 '149': {
1503 start: {
1504 line: 463,
1505 column: 8
1506 },
1507 end: {
1508 line: 463,
1509 column: 13
1510 }
1511 },
1512 '150': {
1513 start: {
1514 line: 465,
1515 column: 8
1516 },
1517 end: {
1518 line: 465,
1519 column: 61
1520 }
1521 },
1522 '151': {
1523 start: {
1524 line: 468,
1525 column: 21
1526 },
1527 end: {
1528 line: 468,
1529 column: 32
1530 }
1531 },
1532 '152': {
1533 start: {
1534 line: 469,
1535 column: 4
1536 },
1537 end: {
1538 line: 474,
1539 column: 5
1540 }
1541 },
1542 '153': {
1543 start: {
1544 line: 470,
1545 column: 6
1546 },
1547 end: {
1548 line: 470,
1549 column: 48
1550 }
1551 },
1552 '154': {
1553 start: {
1554 line: 471,
1555 column: 11
1556 },
1557 end: {
1558 line: 474,
1559 column: 5
1560 }
1561 },
1562 '155': {
1563 start: {
1564 line: 473,
1565 column: 6
1566 },
1567 end: {
1568 line: 473,
1569 column: 58
1570 }
1571 },
1572 '156': {
1573 start: {
1574 line: 476,
1575 column: 4
1576 },
1577 end: {
1578 line: 478,
1579 column: 5
1580 }
1581 },
1582 '157': {
1583 start: {
1584 line: 477,
1585 column: 6
1586 },
1587 end: {
1588 line: 477,
1589 column: 75
1590 }
1591 },
1592 '158': {
1593 start: {
1594 line: 481,
1595 column: 4
1596 },
1597 end: {
1598 line: 481,
1599 column: 50
1600 }
1601 },
1602 '159': {
1603 start: {
1604 line: 481,
1605 column: 23
1606 },
1607 end: {
1608 line: 481,
1609 column: 50
1610 }
1611 },
1612 '160': {
1613 start: {
1614 line: 489,
1615 column: 4
1616 },
1617 end: {
1618 line: 489,
1619 column: 63
1620 }
1621 },
1622 '161': {
1623 start: {
1624 line: 489,
1625 column: 23
1626 },
1627 end: {
1628 line: 489,
1629 column: 63
1630 }
1631 },
1632 '162': {
1633 start: {
1634 line: 489,
1635 column: 46
1636 },
1637 end: {
1638 line: 489,
1639 column: 62
1640 }
1641 },
1642 '163': {
1643 start: {
1644 line: 498,
1645 column: 4
1646 },
1647 end: {
1648 line: 498,
1649 column: 54
1650 }
1651 },
1652 '164': {
1653 start: {
1654 line: 498,
1655 column: 28
1656 },
1657 end: {
1658 line: 498,
1659 column: 52
1660 }
1661 },
1662 '165': {
1663 start: {
1664 line: 500,
1665 column: 4
1666 },
1667 end: {
1668 line: 500,
1669 column: 29
1670 }
1671 },
1672 '166': {
1673 start: {
1674 line: 508,
1675 column: 4
1676 },
1677 end: {
1678 line: 508,
1679 column: 17
1680 }
1681 },
1682 '167': {
1683 start: {
1684 line: 510,
1685 column: 4
1686 },
1687 end: {
1688 line: 510,
1689 column: 47
1690 }
1691 },
1692 '168': {
1693 start: {
1694 line: 511,
1695 column: 4
1696 },
1697 end: {
1698 line: 511,
1699 column: 82
1700 }
1701 },
1702 '169': {
1703 start: {
1704 line: 519,
1705 column: 24
1706 },
1707 end: {
1708 line: 519,
1709 column: 42
1710 }
1711 },
1712 '170': {
1713 start: {
1714 line: 520,
1715 column: 24
1716 },
1717 end: {
1718 line: 520,
1719 column: 46
1720 }
1721 },
1722 '171': {
1723 start: {
1724 line: 521,
1725 column: 24
1726 },
1727 end: {
1728 line: 521,
1729 column: 51
1730 }
1731 },
1732 '172': {
1733 start: {
1734 line: 522,
1735 column: 24
1736 },
1737 end: {
1738 line: 522,
1739 column: 47
1740 }
1741 },
1742 '173': {
1743 start: {
1744 line: 523,
1745 column: 24
1746 },
1747 end: {
1748 line: 523,
1749 column: 50
1750 }
1751 },
1752 '174': {
1753 start: {
1754 line: 524,
1755 column: 24
1756 },
1757 end: {
1758 line: 524,
1759 column: 55
1760 }
1761 },
1762 '175': {
1763 start: {
1764 line: 525,
1765 column: 24
1766 },
1767 end: {
1768 line: 525,
1769 column: 51
1770 }
1771 },
1772 '176': {
1773 start: {
1774 line: 526,
1775 column: 24
1776 },
1777 end: {
1778 line: 526,
1779 column: 52
1780 }
1781 },
1782 '177': {
1783 start: {
1784 line: 527,
1785 column: 24
1786 },
1787 end: {
1788 line: 527,
1789 column: 55
1790 }
1791 },
1792 '178': {
1793 start: {
1794 line: 534,
1795 column: 36
1796 },
1797 end: {
1798 line: 534,
1799 column: 87
1800 }
1801 },
1802 '179': {
1803 start: {
1804 line: 535,
1805 column: 36
1806 },
1807 end: {
1808 line: 535,
1809 column: 56
1810 }
1811 },
1812 '180': {
1813 start: {
1814 line: 536,
1815 column: 36
1816 },
1817 end: {
1818 line: 536,
1819 column: 56
1820 }
1821 },
1822 '181': {
1823 start: {
1824 line: 537,
1825 column: 36
1826 },
1827 end: {
1828 line: 537,
1829 column: 57
1830 }
1831 },
1832 '182': {
1833 start: {
1834 line: 538,
1835 column: 36
1836 },
1837 end: {
1838 line: 538,
1839 column: 60
1840 }
1841 },
1842 '183': {
1843 start: {
1844 line: 539,
1845 column: 36
1846 },
1847 end: {
1848 line: 539,
1849 column: 61
1850 }
1851 },
1852 '184': {
1853 start: {
1854 line: 540,
1855 column: 36
1856 },
1857 end: {
1858 line: 540,
1859 column: 62
1860 }
1861 },
1862 '185': {
1863 start: {
1864 line: 541,
1865 column: 36
1866 },
1867 end: {
1868 line: 541,
1869 column: 65
1870 }
1871 },
1872 '186': {
1873 start: {
1874 line: 545,
1875 column: 4
1876 },
1877 end: {
1878 line: 550,
1879 column: 5
1880 }
1881 },
1882 '187': {
1883 start: {
1884 line: 546,
1885 column: 6
1886 },
1887 end: {
1888 line: 546,
1889 column: 36
1890 }
1891 },
1892 '188': {
1893 start: {
1894 line: 548,
1895 column: 6
1896 },
1897 end: {
1898 line: 548,
1899 column: 42
1900 }
1901 },
1902 '189': {
1903 start: {
1904 line: 548,
1905 column: 36
1906 },
1907 end: {
1908 line: 548,
1909 column: 42
1910 }
1911 },
1912 '190': {
1913 start: {
1914 line: 549,
1915 column: 6
1916 },
1917 end: {
1918 line: 549,
1919 column: 113
1920 }
1921 },
1922 '191': {
1923 start: {
1924 line: 557,
1925 column: 4
1926 },
1927 end: {
1928 line: 557,
1929 column: 91
1930 }
1931 },
1932 '192': {
1933 start: {
1934 line: 569,
1935 column: 4
1936 },
1937 end: {
1938 line: 569,
1939 column: 46
1940 }
1941 },
1942 '193': {
1943 start: {
1944 line: 569,
1945 column: 40
1946 },
1947 end: {
1948 line: 569,
1949 column: 46
1950 }
1951 },
1952 '194': {
1953 start: {
1954 line: 570,
1955 column: 4
1956 },
1957 end: {
1958 line: 577,
1959 column: 5
1960 }
1961 },
1962 '195': {
1963 start: {
1964 line: 580,
1965 column: 4
1966 },
1967 end: {
1968 line: 586,
1969 column: 8
1970 }
1971 },
1972 '196': {
1973 start: {
1974 line: 581,
1975 column: 19
1976 },
1977 end: {
1978 line: 581,
1979 column: 31
1980 }
1981 },
1982 '197': {
1983 start: {
1984 line: 583,
1985 column: 8
1986 },
1987 end: {
1988 line: 583,
1989 column: 42
1990 }
1991 },
1992 '198': {
1993 start: {
1994 line: 584,
1995 column: 8
1996 },
1997 end: {
1998 line: 584,
1999 column: 40
2000 }
2001 },
2002 '199': {
2003 start: {
2004 line: 585,
2005 column: 8
2006 },
2007 end: {
2008 line: 585,
2009 column: 19
2010 }
2011 },
2012 '200': {
2013 start: {
2014 line: 590,
2015 column: 22
2016 },
2017 end: {
2018 line: 590,
2019 column: 36
2020 }
2021 },
2022 '201': {
2023 start: {
2024 line: 594,
2025 column: 4
2026 },
2027 end: {
2028 line: 594,
2029 column: 18
2030 }
2031 },
2032 '202': {
2033 start: {
2034 line: 598,
2035 column: 4
2036 },
2037 end: {
2038 line: 598,
2039 column: 50
2040 }
2041 },
2042 '203': {
2043 start: {
2044 line: 602,
2045 column: 4
2046 },
2047 end: {
2048 line: 602,
2049 column: 49
2050 }
2051 },
2052 '204': {
2053 start: {
2054 line: 621,
2055 column: 25
2056 },
2057 end: {
2058 line: 629,
2059 column: 1
2060 }
2061 },
2062 '205': {
2063 start: {
2064 line: 621,
2065 column: 38
2066 },
2067 end: {
2068 line: 629,
2069 column: 1
2070 }
2071 },
2072 '206': {
2073 start: {
2074 line: 622,
2075 column: 2
2076 },
2077 end: {
2078 line: 628,
2079 column: 3
2080 }
2081 },
2082 '207': {
2083 start: {
2084 line: 623,
2085 column: 4
2086 },
2087 end: {
2088 line: 623,
2089 column: 92
2090 }
2091 },
2092 '208': {
2093 start: {
2094 line: 623,
2095 column: 70
2096 },
2097 end: {
2098 line: 623,
2099 column: 90
2100 }
2101 },
2102 '209': {
2103 start: {
2104 line: 625,
2105 column: 4
2106 },
2107 end: {
2108 line: 625,
2109 column: 49
2110 }
2111 },
2112 '210': {
2113 start: {
2114 line: 627,
2115 column: 4
2116 },
2117 end: {
2118 line: 627,
2119 column: 34
2120 }
2121 },
2122 '211': {
2123 start: {
2124 line: 638,
2125 column: 22
2126 },
2127 end: {
2128 line: 654,
2129 column: 1
2130 }
2131 },
2132 '212': {
2133 start: {
2134 line: 639,
2135 column: 15
2136 },
2137 end: {
2138 line: 639,
2139 column: 68
2140 }
2141 },
2142 '213': {
2143 start: {
2144 line: 641,
2145 column: 2
2146 },
2147 end: {
2148 line: 653,
2149 column: 3
2150 }
2151 },
2152 '214': {
2153 start: {
2154 line: 642,
2155 column: 4
2156 },
2157 end: {
2158 line: 652,
2159 column: 5
2160 }
2161 },
2162 '215': {
2163 start: {
2164 line: 643,
2165 column: 6
2166 },
2167 end: {
2168 line: 647,
2169 column: 10
2170 }
2171 },
2172 '216': {
2173 start: {
2174 line: 645,
2175 column: 10
2176 },
2177 end: {
2178 line: 645,
2179 column: 30
2180 }
2181 },
2182 '217': {
2183 start: {
2184 line: 646,
2185 column: 10
2186 },
2187 end: {
2188 line: 646,
2189 column: 37
2190 }
2191 },
2192 '218': {
2193 start: {
2194 line: 650,
2195 column: 6
2196 },
2197 end: {
2198 line: 650,
2199 column: 40
2200 }
2201 },
2202 '219': {
2203 start: {
2204 line: 651,
2205 column: 6
2206 },
2207 end: {
2208 line: 651,
2209 column: 36
2210 }
2211 },
2212 '220': {
2213 start: {
2214 line: 662,
2215 column: 23
2216 },
2217 end: {
2218 line: 667,
2219 column: 1
2220 }
2221 },
2222 '221': {
2223 start: {
2224 line: 663,
2225 column: 13
2226 },
2227 end: {
2228 line: 663,
2229 column: 50
2230 }
2231 },
2232 '222': {
2233 start: {
2234 line: 664,
2235 column: 24
2236 },
2237 end: {
2238 line: 664,
2239 column: 72
2240 }
2241 },
2242 '223': {
2243 start: {
2244 line: 665,
2245 column: 19
2246 },
2247 end: {
2248 line: 665,
2249 column: 138
2250 }
2251 },
2252 '224': {
2253 start: {
2254 line: 666,
2255 column: 2
2256 },
2257 end: {
2258 line: 666,
2259 column: 57
2260 }
2261 }
2262 },
2263 fnMap: {
2264 '0': {
2265 name: '(anonymous_0)',
2266 decl: {
2267 start: {
2268 line: 42,
2269 column: 2
2270 },
2271 end: {
2272 line: 42,
2273 column: 3
2274 }
2275 },
2276 loc: {
2277 start: {
2278 line: 42,
2279 column: 35
2280 },
2281 end: {
2282 line: 92,
2283 column: 3
2284 }
2285 },
2286 line: 42
2287 },
2288 '1': {
2289 name: '(anonymous_1)',
2290 decl: {
2291 start: {
2292 line: 77,
2293 column: 20
2294 },
2295 end: {
2296 line: 77,
2297 column: 21
2298 }
2299 },
2300 loc: {
2301 start: {
2302 line: 77,
2303 column: 27
2304 },
2305 end: {
2306 line: 77,
2307 column: 123
2308 }
2309 },
2310 line: 77
2311 },
2312 '2': {
2313 name: '(anonymous_2)',
2314 decl: {
2315 start: {
2316 line: 81,
2317 column: 33
2318 },
2319 end: {
2320 line: 81,
2321 column: 34
2322 }
2323 },
2324 loc: {
2325 start: {
2326 line: 81,
2327 column: 47
2328 },
2329 end: {
2330 line: 86,
2331 column: 5
2332 }
2333 },
2334 line: 81
2335 },
2336 '3': {
2337 name: '(anonymous_3)',
2338 decl: {
2339 start: {
2340 line: 108,
2341 column: 2
2342 },
2343 end: {
2344 line: 108,
2345 column: 3
2346 }
2347 },
2348 loc: {
2349 start: {
2350 line: 108,
2351 column: 25
2352 },
2353 end: {
2354 line: 135,
2355 column: 3
2356 }
2357 },
2358 line: 108
2359 },
2360 '4': {
2361 name: '(anonymous_4)',
2362 decl: {
2363 start: {
2364 line: 110,
2365 column: 22
2366 },
2367 end: {
2368 line: 110,
2369 column: 23
2370 }
2371 },
2372 loc: {
2373 start: {
2374 line: 110,
2375 column: 28
2376 },
2377 end: {
2378 line: 114,
2379 column: 7
2380 }
2381 },
2382 line: 110
2383 },
2384 '5': {
2385 name: '(anonymous_5)',
2386 decl: {
2387 start: {
2388 line: 113,
2389 column: 47
2390 },
2391 end: {
2392 line: 113,
2393 column: 48
2394 }
2395 },
2396 loc: {
2397 start: {
2398 line: 113,
2399 column: 54
2400 },
2401 end: {
2402 line: 113,
2403 column: 73
2404 }
2405 },
2406 line: 113
2407 },
2408 '6': {
2409 name: '(anonymous_6)',
2410 decl: {
2411 start: {
2412 line: 115,
2413 column: 23
2414 },
2415 end: {
2416 line: 115,
2417 column: 24
2418 }
2419 },
2420 loc: {
2421 start: {
2422 line: 115,
2423 column: 34
2424 },
2425 end: {
2426 line: 120,
2427 column: 7
2428 }
2429 },
2430 line: 115
2431 },
2432 '7': {
2433 name: '(anonymous_7)',
2434 decl: {
2435 start: {
2436 line: 119,
2437 column: 47
2438 },
2439 end: {
2440 line: 119,
2441 column: 48
2442 }
2443 },
2444 loc: {
2445 start: {
2446 line: 119,
2447 column: 54
2448 },
2449 end: {
2450 line: 119,
2451 column: 65
2452 }
2453 },
2454 line: 119
2455 },
2456 '8': {
2457 name: '(anonymous_8)',
2458 decl: {
2459 start: {
2460 line: 121,
2461 column: 21
2462 },
2463 end: {
2464 line: 121,
2465 column: 22
2466 }
2467 },
2468 loc: {
2469 start: {
2470 line: 121,
2471 column: 36
2472 },
2473 end: {
2474 line: 125,
2475 column: 7
2476 }
2477 },
2478 line: 121
2479 },
2480 '9': {
2481 name: '(anonymous_9)',
2482 decl: {
2483 start: {
2484 line: 124,
2485 column: 47
2486 },
2487 end: {
2488 line: 124,
2489 column: 48
2490 }
2491 },
2492 loc: {
2493 start: {
2494 line: 124,
2495 column: 54
2496 },
2497 end: {
2498 line: 124,
2499 column: 65
2500 }
2501 },
2502 line: 124
2503 },
2504 '10': {
2505 name: '(anonymous_10)',
2506 decl: {
2507 start: {
2508 line: 126,
2509 column: 20
2510 },
2511 end: {
2512 line: 126,
2513 column: 21
2514 }
2515 },
2516 loc: {
2517 start: {
2518 line: 126,
2519 column: 30
2520 },
2521 end: {
2522 line: 130,
2523 column: 7
2524 }
2525 },
2526 line: 126
2527 },
2528 '11': {
2529 name: '(anonymous_11)',
2530 decl: {
2531 start: {
2532 line: 129,
2533 column: 47
2534 },
2535 end: {
2536 line: 129,
2537 column: 48
2538 }
2539 },
2540 loc: {
2541 start: {
2542 line: 129,
2543 column: 54
2544 },
2545 end: {
2546 line: 129,
2547 column: 65
2548 }
2549 },
2550 line: 129
2551 },
2552 '12': {
2553 name: '(anonymous_12)',
2554 decl: {
2555 start: {
2556 line: 146,
2557 column: 2
2558 },
2559 end: {
2560 line: 146,
2561 column: 3
2562 }
2563 },
2564 loc: {
2565 start: {
2566 line: 146,
2567 column: 21
2568 },
2569 end: {
2570 line: 188,
2571 column: 3
2572 }
2573 },
2574 line: 146
2575 },
2576 '13': {
2577 name: '(anonymous_13)',
2578 decl: {
2579 start: {
2580 line: 147,
2581 column: 26
2582 },
2583 end: {
2584 line: 147,
2585 column: 27
2586 }
2587 },
2588 loc: {
2589 start: {
2590 line: 147,
2591 column: 35
2592 },
2593 end: {
2594 line: 165,
2595 column: 5
2596 }
2597 },
2598 line: 147
2599 },
2600 '14': {
2601 name: '(anonymous_14)',
2602 decl: {
2603 start: {
2604 line: 155,
2605 column: 45
2606 },
2607 end: {
2608 line: 155,
2609 column: 46
2610 }
2611 },
2612 loc: {
2613 start: {
2614 line: 155,
2615 column: 58
2616 },
2617 end: {
2618 line: 161,
2619 column: 9
2620 }
2621 },
2622 line: 155
2623 },
2624 '15': {
2625 name: '(anonymous_15)',
2626 decl: {
2627 start: {
2628 line: 174,
2629 column: 32
2630 },
2631 end: {
2632 line: 174,
2633 column: 33
2634 }
2635 },
2636 loc: {
2637 start: {
2638 line: 174,
2639 column: 46
2640 },
2641 end: {
2642 line: 179,
2643 column: 7
2644 }
2645 },
2646 line: 174
2647 },
2648 '16': {
2649 name: '(anonymous_16)',
2650 decl: {
2651 start: {
2652 line: 176,
2653 column: 10
2654 },
2655 end: {
2656 line: 176,
2657 column: 11
2658 }
2659 },
2660 loc: {
2661 start: {
2662 line: 176,
2663 column: 19
2664 },
2665 end: {
2666 line: 176,
2667 column: 36
2668 }
2669 },
2670 line: 176
2671 },
2672 '17': {
2673 name: '(anonymous_17)',
2674 decl: {
2675 start: {
2676 line: 177,
2677 column: 10
2678 },
2679 end: {
2680 line: 177,
2681 column: 11
2682 }
2683 },
2684 loc: {
2685 start: {
2686 line: 177,
2687 column: 19
2688 },
2689 end: {
2690 line: 177,
2691 column: 36
2692 }
2693 },
2694 line: 177
2695 },
2696 '18': {
2697 name: '(anonymous_18)',
2698 decl: {
2699 start: {
2700 line: 181,
2701 column: 25
2702 },
2703 end: {
2704 line: 181,
2705 column: 26
2706 }
2707 },
2708 loc: {
2709 start: {
2710 line: 181,
2711 column: 46
2712 },
2713 end: {
2714 line: 186,
2715 column: 7
2716 }
2717 },
2718 line: 181
2719 },
2720 '19': {
2721 name: '(anonymous_19)',
2722 decl: {
2723 start: {
2724 line: 182,
2725 column: 34
2726 },
2727 end: {
2728 line: 182,
2729 column: 35
2730 }
2731 },
2732 loc: {
2733 start: {
2734 line: 182,
2735 column: 48
2736 },
2737 end: {
2738 line: 185,
2739 column: 9
2740 }
2741 },
2742 line: 182
2743 },
2744 '20': {
2745 name: '(anonymous_20)',
2746 decl: {
2747 start: {
2748 line: 199,
2749 column: 2
2750 },
2751 end: {
2752 line: 199,
2753 column: 3
2754 }
2755 },
2756 loc: {
2757 start: {
2758 line: 199,
2759 column: 25
2760 },
2761 end: {
2762 line: 202,
2763 column: 3
2764 }
2765 },
2766 line: 199
2767 },
2768 '21': {
2769 name: '(anonymous_21)',
2770 decl: {
2771 start: {
2772 line: 210,
2773 column: 2
2774 },
2775 end: {
2776 line: 210,
2777 column: 3
2778 }
2779 },
2780 loc: {
2781 start: {
2782 line: 210,
2783 column: 25
2784 },
2785 end: {
2786 line: 215,
2787 column: 3
2788 }
2789 },
2790 line: 210
2791 },
2792 '22': {
2793 name: '(anonymous_22)',
2794 decl: {
2795 start: {
2796 line: 211,
2797 column: 67
2798 },
2799 end: {
2800 line: 211,
2801 column: 68
2802 }
2803 },
2804 loc: {
2805 start: {
2806 line: 211,
2807 column: 74
2808 },
2809 end: {
2810 line: 214,
2811 column: 5
2812 }
2813 },
2814 line: 211
2815 },
2816 '23': {
2817 name: '(anonymous_23)',
2818 decl: {
2819 start: {
2820 line: 228,
2821 column: 2
2822 },
2823 end: {
2824 line: 228,
2825 column: 3
2826 }
2827 },
2828 loc: {
2829 start: {
2830 line: 228,
2831 column: 61
2832 },
2833 end: {
2834 line: 238,
2835 column: 3
2836 }
2837 },
2838 line: 228
2839 },
2840 '24': {
2841 name: '(anonymous_24)',
2842 decl: {
2843 start: {
2844 line: 234,
2845 column: 47
2846 },
2847 end: {
2848 line: 234,
2849 column: 48
2850 }
2851 },
2852 loc: {
2853 start: {
2854 line: 234,
2855 column: 54
2856 },
2857 end: {
2858 line: 234,
2859 column: 82
2860 }
2861 },
2862 line: 234
2863 },
2864 '25': {
2865 name: '(anonymous_25)',
2866 decl: {
2867 start: {
2868 line: 236,
2869 column: 51
2870 },
2871 end: {
2872 line: 236,
2873 column: 52
2874 }
2875 },
2876 loc: {
2877 start: {
2878 line: 236,
2879 column: 58
2880 },
2881 end: {
2882 line: 236,
2883 column: 86
2884 }
2885 },
2886 line: 236
2887 },
2888 '26': {
2889 name: '(anonymous_26)',
2890 decl: {
2891 start: {
2892 line: 260,
2893 column: 2
2894 },
2895 end: {
2896 line: 260,
2897 column: 3
2898 }
2899 },
2900 loc: {
2901 start: {
2902 line: 260,
2903 column: 17
2904 },
2905 end: {
2906 line: 267,
2907 column: 3
2908 }
2909 },
2910 line: 260
2911 },
2912 '27': {
2913 name: '(anonymous_27)',
2914 decl: {
2915 start: {
2916 line: 261,
2917 column: 25
2918 },
2919 end: {
2920 line: 261,
2921 column: 26
2922 }
2923 },
2924 loc: {
2925 start: {
2926 line: 261,
2927 column: 50
2928 },
2929 end: {
2930 line: 265,
2931 column: 5
2932 }
2933 },
2934 line: 261
2935 },
2936 '28': {
2937 name: '(anonymous_28)',
2938 decl: {
2939 start: {
2940 line: 290,
2941 column: 2
2942 },
2943 end: {
2944 line: 290,
2945 column: 3
2946 }
2947 },
2948 loc: {
2949 start: {
2950 line: 290,
2951 column: 51
2952 },
2953 end: {
2954 line: 302,
2955 column: 3
2956 }
2957 },
2958 line: 290
2959 },
2960 '29': {
2961 name: '(anonymous_29)',
2962 decl: {
2963 start: {
2964 line: 301,
2965 column: 12
2966 },
2967 end: {
2968 line: 301,
2969 column: 13
2970 }
2971 },
2972 loc: {
2973 start: {
2974 line: 301,
2975 column: 19
2976 },
2977 end: {
2978 line: 301,
2979 column: 47
2980 }
2981 },
2982 line: 301
2983 },
2984 '30': {
2985 name: '(anonymous_30)',
2986 decl: {
2987 start: {
2988 line: 326,
2989 column: 2
2990 },
2991 end: {
2992 line: 326,
2993 column: 3
2994 }
2995 },
2996 loc: {
2997 start: {
2998 line: 326,
2999 column: 87
3000 },
3001 end: {
3002 line: 337,
3003 column: 3
3004 }
3005 },
3006 line: 326
3007 },
3008 '31': {
3009 name: '(anonymous_31)',
3010 decl: {
3011 start: {
3012 line: 336,
3013 column: 12
3014 },
3015 end: {
3016 line: 336,
3017 column: 13
3018 }
3019 },
3020 loc: {
3021 start: {
3022 line: 336,
3023 column: 19
3024 },
3025 end: {
3026 line: 336,
3027 column: 47
3028 }
3029 },
3030 line: 336
3031 },
3032 '32': {
3033 name: '(anonymous_32)',
3034 decl: {
3035 start: {
3036 line: 346,
3037 column: 2
3038 },
3039 end: {
3040 line: 346,
3041 column: 3
3042 }
3043 },
3044 loc: {
3045 start: {
3046 line: 346,
3047 column: 74
3048 },
3049 end: {
3050 line: 353,
3051 column: 3
3052 }
3053 },
3054 line: 346
3055 },
3056 '33': {
3057 name: '(anonymous_33)',
3058 decl: {
3059 start: {
3060 line: 352,
3061 column: 75
3062 },
3063 end: {
3064 line: 352,
3065 column: 76
3066 }
3067 },
3068 loc: {
3069 start: {
3070 line: 352,
3071 column: 82
3072 },
3073 end: {
3074 line: 352,
3075 column: 110
3076 }
3077 },
3078 line: 352
3079 },
3080 '34': {
3081 name: '(anonymous_34)',
3082 decl: {
3083 start: {
3084 line: 362,
3085 column: 2
3086 },
3087 end: {
3088 line: 362,
3089 column: 3
3090 }
3091 },
3092 loc: {
3093 start: {
3094 line: 362,
3095 column: 60
3096 },
3097 end: {
3098 line: 370,
3099 column: 3
3100 }
3101 },
3102 line: 362
3103 },
3104 '35': {
3105 name: '(anonymous_35)',
3106 decl: {
3107 start: {
3108 line: 369,
3109 column: 64
3110 },
3111 end: {
3112 line: 369,
3113 column: 65
3114 }
3115 },
3116 loc: {
3117 start: {
3118 line: 369,
3119 column: 71
3120 },
3121 end: {
3122 line: 369,
3123 column: 99
3124 }
3125 },
3126 line: 369
3127 },
3128 '36': {
3129 name: '(anonymous_36)',
3130 decl: {
3131 start: {
3132 line: 397,
3133 column: 2
3134 },
3135 end: {
3136 line: 397,
3137 column: 3
3138 }
3139 },
3140 loc: {
3141 start: {
3142 line: 397,
3143 column: 72
3144 },
3145 end: {
3146 line: 414,
3147 column: 3
3148 }
3149 },
3150 line: 397
3151 },
3152 '37': {
3153 name: '(anonymous_37)',
3154 decl: {
3155 start: {
3156 line: 413,
3157 column: 12
3158 },
3159 end: {
3160 line: 413,
3161 column: 13
3162 }
3163 },
3164 loc: {
3165 start: {
3166 line: 413,
3167 column: 19
3168 },
3169 end: {
3170 line: 413,
3171 column: 47
3172 }
3173 },
3174 line: 413
3175 },
3176 '38': {
3177 name: '(anonymous_38)',
3178 decl: {
3179 start: {
3180 line: 436,
3181 column: 2
3182 },
3183 end: {
3184 line: 436,
3185 column: 3
3186 }
3187 },
3188 loc: {
3189 start: {
3190 line: 436,
3191 column: 74
3192 },
3193 end: {
3194 line: 445,
3195 column: 3
3196 }
3197 },
3198 line: 436
3199 },
3200 '39': {
3201 name: '(anonymous_39)',
3202 decl: {
3203 start: {
3204 line: 441,
3205 column: 59
3206 },
3207 end: {
3208 line: 441,
3209 column: 60
3210 }
3211 },
3212 loc: {
3213 start: {
3214 line: 441,
3215 column: 66
3216 },
3217 end: {
3218 line: 444,
3219 column: 5
3220 }
3221 },
3222 line: 441
3223 },
3224 '40': {
3225 name: '(anonymous_40)',
3226 decl: {
3227 start: {
3228 line: 454,
3229 column: 2
3230 },
3231 end: {
3232 line: 454,
3233 column: 3
3234 }
3235 },
3236 loc: {
3237 start: {
3238 line: 454,
3239 column: 19
3240 },
3241 end: {
3242 line: 482,
3243 column: 3
3244 }
3245 },
3246 line: 454
3247 },
3248 '41': {
3249 name: '(anonymous_41)',
3250 decl: {
3251 start: {
3252 line: 487,
3253 column: 2
3254 },
3255 end: {
3256 line: 487,
3257 column: 3
3258 }
3259 },
3260 loc: {
3261 start: {
3262 line: 487,
3263 column: 14
3264 },
3265 end: {
3266 line: 490,
3267 column: 3
3268 }
3269 },
3270 line: 487
3271 },
3272 '42': {
3273 name: '(anonymous_42)',
3274 decl: {
3275 start: {
3276 line: 489,
3277 column: 37
3278 },
3279 end: {
3280 line: 489,
3281 column: 38
3282 }
3283 },
3284 loc: {
3285 start: {
3286 line: 489,
3287 column: 46
3288 },
3289 end: {
3290 line: 489,
3291 column: 62
3292 }
3293 },
3294 line: 489
3295 },
3296 '43': {
3297 name: '(anonymous_43)',
3298 decl: {
3299 start: {
3300 line: 496,
3301 column: 2
3302 },
3303 end: {
3304 line: 496,
3305 column: 3
3306 }
3307 },
3308 loc: {
3309 start: {
3310 line: 496,
3311 column: 11
3312 },
3313 end: {
3314 line: 501,
3315 column: 3
3316 }
3317 },
3318 line: 496
3319 },
3320 '44': {
3321 name: '(anonymous_44)',
3322 decl: {
3323 start: {
3324 line: 498,
3325 column: 18
3326 },
3327 end: {
3328 line: 498,
3329 column: 19
3330 }
3331 },
3332 loc: {
3333 start: {
3334 line: 498,
3335 column: 28
3336 },
3337 end: {
3338 line: 498,
3339 column: 52
3340 }
3341 },
3342 line: 498
3343 },
3344 '45': {
3345 name: '(anonymous_45)',
3346 decl: {
3347 start: {
3348 line: 507,
3349 column: 2
3350 },
3351 end: {
3352 line: 507,
3353 column: 3
3354 }
3355 },
3356 loc: {
3357 start: {
3358 line: 507,
3359 column: 10
3360 },
3361 end: {
3362 line: 512,
3363 column: 3
3364 }
3365 },
3366 line: 507
3367 },
3368 '46': {
3369 name: '(anonymous_46)',
3370 decl: {
3371 start: {
3372 line: 519,
3373 column: 2
3374 },
3375 end: {
3376 line: 519,
3377 column: 3
3378 }
3379 },
3380 loc: {
3381 start: {
3382 line: 519,
3383 column: 22
3384 },
3385 end: {
3386 line: 519,
3387 column: 44
3388 }
3389 },
3390 line: 519
3391 },
3392 '47': {
3393 name: '(anonymous_47)',
3394 decl: {
3395 start: {
3396 line: 520,
3397 column: 2
3398 },
3399 end: {
3400 line: 520,
3401 column: 3
3402 }
3403 },
3404 loc: {
3405 start: {
3406 line: 520,
3407 column: 22
3408 },
3409 end: {
3410 line: 520,
3411 column: 48
3412 }
3413 },
3414 line: 520
3415 },
3416 '48': {
3417 name: '(anonymous_48)',
3418 decl: {
3419 start: {
3420 line: 521,
3421 column: 2
3422 },
3423 end: {
3424 line: 521,
3425 column: 3
3426 }
3427 },
3428 loc: {
3429 start: {
3430 line: 521,
3431 column: 22
3432 },
3433 end: {
3434 line: 521,
3435 column: 53
3436 }
3437 },
3438 line: 521
3439 },
3440 '49': {
3441 name: '(anonymous_49)',
3442 decl: {
3443 start: {
3444 line: 522,
3445 column: 2
3446 },
3447 end: {
3448 line: 522,
3449 column: 3
3450 }
3451 },
3452 loc: {
3453 start: {
3454 line: 522,
3455 column: 22
3456 },
3457 end: {
3458 line: 522,
3459 column: 49
3460 }
3461 },
3462 line: 522
3463 },
3464 '50': {
3465 name: '(anonymous_50)',
3466 decl: {
3467 start: {
3468 line: 523,
3469 column: 2
3470 },
3471 end: {
3472 line: 523,
3473 column: 3
3474 }
3475 },
3476 loc: {
3477 start: {
3478 line: 523,
3479 column: 22
3480 },
3481 end: {
3482 line: 523,
3483 column: 52
3484 }
3485 },
3486 line: 523
3487 },
3488 '51': {
3489 name: '(anonymous_51)',
3490 decl: {
3491 start: {
3492 line: 524,
3493 column: 2
3494 },
3495 end: {
3496 line: 524,
3497 column: 3
3498 }
3499 },
3500 loc: {
3501 start: {
3502 line: 524,
3503 column: 22
3504 },
3505 end: {
3506 line: 524,
3507 column: 57
3508 }
3509 },
3510 line: 524
3511 },
3512 '52': {
3513 name: '(anonymous_52)',
3514 decl: {
3515 start: {
3516 line: 525,
3517 column: 2
3518 },
3519 end: {
3520 line: 525,
3521 column: 3
3522 }
3523 },
3524 loc: {
3525 start: {
3526 line: 525,
3527 column: 22
3528 },
3529 end: {
3530 line: 525,
3531 column: 53
3532 }
3533 },
3534 line: 525
3535 },
3536 '53': {
3537 name: '(anonymous_53)',
3538 decl: {
3539 start: {
3540 line: 526,
3541 column: 2
3542 },
3543 end: {
3544 line: 526,
3545 column: 3
3546 }
3547 },
3548 loc: {
3549 start: {
3550 line: 526,
3551 column: 22
3552 },
3553 end: {
3554 line: 526,
3555 column: 54
3556 }
3557 },
3558 line: 526
3559 },
3560 '54': {
3561 name: '(anonymous_54)',
3562 decl: {
3563 start: {
3564 line: 527,
3565 column: 2
3566 },
3567 end: {
3568 line: 527,
3569 column: 3
3570 }
3571 },
3572 loc: {
3573 start: {
3574 line: 527,
3575 column: 22
3576 },
3577 end: {
3578 line: 527,
3579 column: 57
3580 }
3581 },
3582 line: 527
3583 },
3584 '55': {
3585 name: '(anonymous_55)',
3586 decl: {
3587 start: {
3588 line: 534,
3589 column: 2
3590 },
3591 end: {
3592 line: 534,
3593 column: 3
3594 }
3595 },
3596 loc: {
3597 start: {
3598 line: 534,
3599 column: 34
3600 },
3601 end: {
3602 line: 534,
3603 column: 89
3604 }
3605 },
3606 line: 534
3607 },
3608 '56': {
3609 name: '(anonymous_56)',
3610 decl: {
3611 start: {
3612 line: 535,
3613 column: 2
3614 },
3615 end: {
3616 line: 535,
3617 column: 3
3618 }
3619 },
3620 loc: {
3621 start: {
3622 line: 535,
3623 column: 34
3624 },
3625 end: {
3626 line: 535,
3627 column: 58
3628 }
3629 },
3630 line: 535
3631 },
3632 '57': {
3633 name: '(anonymous_57)',
3634 decl: {
3635 start: {
3636 line: 536,
3637 column: 2
3638 },
3639 end: {
3640 line: 536,
3641 column: 3
3642 }
3643 },
3644 loc: {
3645 start: {
3646 line: 536,
3647 column: 34
3648 },
3649 end: {
3650 line: 536,
3651 column: 58
3652 }
3653 },
3654 line: 536
3655 },
3656 '58': {
3657 name: '(anonymous_58)',
3658 decl: {
3659 start: {
3660 line: 537,
3661 column: 2
3662 },
3663 end: {
3664 line: 537,
3665 column: 3
3666 }
3667 },
3668 loc: {
3669 start: {
3670 line: 537,
3671 column: 34
3672 },
3673 end: {
3674 line: 537,
3675 column: 59
3676 }
3677 },
3678 line: 537
3679 },
3680 '59': {
3681 name: '(anonymous_59)',
3682 decl: {
3683 start: {
3684 line: 538,
3685 column: 2
3686 },
3687 end: {
3688 line: 538,
3689 column: 3
3690 }
3691 },
3692 loc: {
3693 start: {
3694 line: 538,
3695 column: 34
3696 },
3697 end: {
3698 line: 538,
3699 column: 62
3700 }
3701 },
3702 line: 538
3703 },
3704 '60': {
3705 name: '(anonymous_60)',
3706 decl: {
3707 start: {
3708 line: 539,
3709 column: 2
3710 },
3711 end: {
3712 line: 539,
3713 column: 3
3714 }
3715 },
3716 loc: {
3717 start: {
3718 line: 539,
3719 column: 34
3720 },
3721 end: {
3722 line: 539,
3723 column: 63
3724 }
3725 },
3726 line: 539
3727 },
3728 '61': {
3729 name: '(anonymous_61)',
3730 decl: {
3731 start: {
3732 line: 540,
3733 column: 2
3734 },
3735 end: {
3736 line: 540,
3737 column: 3
3738 }
3739 },
3740 loc: {
3741 start: {
3742 line: 540,
3743 column: 34
3744 },
3745 end: {
3746 line: 540,
3747 column: 64
3748 }
3749 },
3750 line: 540
3751 },
3752 '62': {
3753 name: '(anonymous_62)',
3754 decl: {
3755 start: {
3756 line: 541,
3757 column: 2
3758 },
3759 end: {
3760 line: 541,
3761 column: 3
3762 }
3763 },
3764 loc: {
3765 start: {
3766 line: 541,
3767 column: 34
3768 },
3769 end: {
3770 line: 541,
3771 column: 67
3772 }
3773 },
3774 line: 541
3775 },
3776 '63': {
3777 name: '(anonymous_63)',
3778 decl: {
3779 start: {
3780 line: 544,
3781 column: 2
3782 },
3783 end: {
3784 line: 544,
3785 column: 3
3786 }
3787 },
3788 loc: {
3789 start: {
3790 line: 544,
3791 column: 24
3792 },
3793 end: {
3794 line: 551,
3795 column: 3
3796 }
3797 },
3798 line: 544
3799 },
3800 '64': {
3801 name: '(anonymous_64)',
3802 decl: {
3803 start: {
3804 line: 556,
3805 column: 2
3806 },
3807 end: {
3808 line: 556,
3809 column: 3
3810 }
3811 },
3812 loc: {
3813 start: {
3814 line: 556,
3815 column: 22
3816 },
3817 end: {
3818 line: 558,
3819 column: 3
3820 }
3821 },
3822 line: 556
3823 },
3824 '65': {
3825 name: '(anonymous_65)',
3826 decl: {
3827 start: {
3828 line: 568,
3829 column: 2
3830 },
3831 end: {
3832 line: 568,
3833 column: 3
3834 }
3835 },
3836 loc: {
3837 start: {
3838 line: 568,
3839 column: 33
3840 },
3841 end: {
3842 line: 587,
3843 column: 3
3844 }
3845 },
3846 line: 568
3847 },
3848 '66': {
3849 name: '(anonymous_66)',
3850 decl: {
3851 start: {
3852 line: 581,
3853 column: 12
3854 },
3855 end: {
3856 line: 581,
3857 column: 13
3858 }
3859 },
3860 loc: {
3861 start: {
3862 line: 581,
3863 column: 19
3864 },
3865 end: {
3866 line: 581,
3867 column: 31
3868 }
3869 },
3870 line: 581
3871 },
3872 '67': {
3873 name: '(anonymous_67)',
3874 decl: {
3875 start: {
3876 line: 582,
3877 column: 12
3878 },
3879 end: {
3880 line: 582,
3881 column: 13
3882 }
3883 },
3884 loc: {
3885 start: {
3886 line: 582,
3887 column: 20
3888 },
3889 end: {
3890 line: 586,
3891 column: 7
3892 }
3893 },
3894 line: 582
3895 },
3896 '68': {
3897 name: '(anonymous_68)',
3898 decl: {
3899 start: {
3900 line: 593,
3901 column: 2
3902 },
3903 end: {
3904 line: 593,
3905 column: 3
3906 }
3907 },
3908 loc: {
3909 start: {
3910 line: 593,
3911 column: 36
3912 },
3913 end: {
3914 line: 595,
3915 column: 3
3916 }
3917 },
3918 line: 593
3919 },
3920 '69': {
3921 name: '(anonymous_69)',
3922 decl: {
3923 start: {
3924 line: 597,
3925 column: 2
3926 },
3927 end: {
3928 line: 597,
3929 column: 3
3930 }
3931 },
3932 loc: {
3933 start: {
3934 line: 597,
3935 column: 8
3936 },
3937 end: {
3938 line: 599,
3939 column: 3
3940 }
3941 },
3942 line: 597
3943 },
3944 '70': {
3945 name: '(anonymous_70)',
3946 decl: {
3947 start: {
3948 line: 601,
3949 column: 2
3950 },
3951 end: {
3952 line: 601,
3953 column: 3
3954 }
3955 },
3956 loc: {
3957 start: {
3958 line: 601,
3959 column: 16
3960 },
3961 end: {
3962 line: 603,
3963 column: 3
3964 }
3965 },
3966 line: 601
3967 },
3968 '71': {
3969 name: '(anonymous_71)',
3970 decl: {
3971 start: {
3972 line: 621,
3973 column: 25
3974 },
3975 end: {
3976 line: 621,
3977 column: 26
3978 }
3979 },
3980 loc: {
3981 start: {
3982 line: 621,
3983 column: 38
3984 },
3985 end: {
3986 line: 629,
3987 column: 1
3988 }
3989 },
3990 line: 621
3991 },
3992 '72': {
3993 name: '(anonymous_72)',
3994 decl: {
3995 start: {
3996 line: 621,
3997 column: 38
3998 },
3999 end: {
4000 line: 621,
4001 column: 39
4002 }
4003 },
4004 loc: {
4005 start: {
4006 line: 621,
4007 column: 67
4008 },
4009 end: {
4010 line: 629,
4011 column: 1
4012 }
4013 },
4014 line: 621
4015 },
4016 '73': {
4017 name: '(anonymous_73)',
4018 decl: {
4019 start: {
4020 line: 623,
4021 column: 62
4022 },
4023 end: {
4024 line: 623,
4025 column: 63
4026 }
4027 },
4028 loc: {
4029 start: {
4030 line: 623,
4031 column: 70
4032 },
4033 end: {
4034 line: 623,
4035 column: 90
4036 }
4037 },
4038 line: 623
4039 },
4040 '74': {
4041 name: '(anonymous_74)',
4042 decl: {
4043 start: {
4044 line: 638,
4045 column: 22
4046 },
4047 end: {
4048 line: 638,
4049 column: 23
4050 }
4051 },
4052 loc: {
4053 start: {
4054 line: 638,
4055 column: 51
4056 },
4057 end: {
4058 line: 654,
4059 column: 1
4060 }
4061 },
4062 line: 638
4063 },
4064 '75': {
4065 name: '(anonymous_75)',
4066 decl: {
4067 start: {
4068 line: 641,
4069 column: 9
4070 },
4071 end: {
4072 line: 641,
4073 column: 10
4074 }
4075 },
4076 loc: {
4077 start: {
4078 line: 641,
4079 column: 50
4080 },
4081 end: {
4082 line: 653,
4083 column: 3
4084 }
4085 },
4086 line: 641
4087 },
4088 '76': {
4089 name: '(anonymous_76)',
4090 decl: {
4091 start: {
4092 line: 644,
4093 column: 14
4094 },
4095 end: {
4096 line: 644,
4097 column: 15
4098 }
4099 },
4100 loc: {
4101 start: {
4102 line: 644,
4103 column: 21
4104 },
4105 end: {
4106 line: 647,
4107 column: 9
4108 }
4109 },
4110 line: 644
4111 },
4112 '77': {
4113 name: '(anonymous_77)',
4114 decl: {
4115 start: {
4116 line: 662,
4117 column: 23
4118 },
4119 end: {
4120 line: 662,
4121 column: 24
4122 }
4123 },
4124 loc: {
4125 start: {
4126 line: 662,
4127 column: 31
4128 },
4129 end: {
4130 line: 667,
4131 column: 1
4132 }
4133 },
4134 line: 662
4135 }
4136 },
4137 branchMap: {
4138 '0': {
4139 loc: {
4140 start: {
4141 line: 42,
4142 column: 24
4143 },
4144 end: {
4145 line: 42,
4146 column: 33
4147 }
4148 },
4149 type: 'default-arg',
4150 locations: [{
4151 start: {
4152 line: 42,
4153 column: 31
4154 },
4155 end: {
4156 line: 42,
4157 column: 33
4158 }
4159 }],
4160 line: 42
4161 },
4162 '1': {
4163 loc: {
4164 start: {
4165 line: 44,
4166 column: 19
4167 },
4168 end: {
4169 line: 44,
4170 column: 49
4171 }
4172 },
4173 type: 'binary-expr',
4174 locations: [{
4175 start: {
4176 line: 44,
4177 column: 19
4178 },
4179 end: {
4180 line: 44,
4181 column: 26
4182 }
4183 }, {
4184 start: {
4185 line: 44,
4186 column: 30
4187 },
4188 end: {
4189 line: 44,
4190 column: 49
4191 }
4192 }],
4193 line: 44
4194 },
4195 '2': {
4196 loc: {
4197 start: {
4198 line: 50,
4199 column: 23
4200 },
4201 end: {
4202 line: 50,
4203 column: 81
4204 }
4205 },
4206 type: 'cond-expr',
4207 locations: [{
4208 start: {
4209 line: 50,
4210 column: 53
4211 },
4212 end: {
4213 line: 50,
4214 column: 62
4215 }
4216 }, {
4217 start: {
4218 line: 50,
4219 column: 65
4220 },
4221 end: {
4222 line: 50,
4223 column: 81
4224 }
4225 }],
4226 line: 50
4227 },
4228 '3': {
4229 loc: {
4230 start: {
4231 line: 51,
4232 column: 22
4233 },
4234 end: {
4235 line: 51,
4236 column: 78
4237 }
4238 },
4239 type: 'cond-expr',
4240 locations: [{
4241 start: {
4242 line: 51,
4243 column: 52
4244 },
4245 end: {
4246 line: 51,
4247 column: 62
4248 }
4249 }, {
4250 start: {
4251 line: 51,
4252 column: 65
4253 },
4254 end: {
4255 line: 51,
4256 column: 78
4257 }
4258 }],
4259 line: 51
4260 },
4261 '4': {
4262 loc: {
4263 start: {
4264 line: 52,
4265 column: 20
4266 },
4267 end: {
4268 line: 52,
4269 column: 70
4270 }
4271 },
4272 type: 'cond-expr',
4273 locations: [{
4274 start: {
4275 line: 52,
4276 column: 50
4277 },
4278 end: {
4279 line: 52,
4280 column: 54
4281 }
4282 }, {
4283 start: {
4284 line: 52,
4285 column: 57
4286 },
4287 end: {
4288 line: 52,
4289 column: 70
4290 }
4291 }],
4292 line: 52
4293 },
4294 '5': {
4295 loc: {
4296 start: {
4297 line: 53,
4298 column: 19
4299 },
4300 end: {
4301 line: 53,
4302 column: 67
4303 }
4304 },
4305 type: 'cond-expr',
4306 locations: [{
4307 start: {
4308 line: 53,
4309 column: 48
4310 },
4311 end: {
4312 line: 53,
4313 column: 52
4314 }
4315 }, {
4316 start: {
4317 line: 53,
4318 column: 55
4319 },
4320 end: {
4321 line: 53,
4322 column: 67
4323 }
4324 }],
4325 line: 53
4326 },
4327 '6': {
4328 loc: {
4329 start: {
4330 line: 54,
4331 column: 14
4332 },
4333 end: {
4334 line: 54,
4335 column: 51
4336 }
4337 },
4338 type: 'cond-expr',
4339 locations: [{
4340 start: {
4341 line: 54,
4342 column: 39
4343 },
4344 end: {
4345 line: 54,
4346 column: 46
4347 }
4348 }, {
4349 start: {
4350 line: 54,
4351 column: 49
4352 },
4353 end: {
4354 line: 54,
4355 column: 51
4356 }
4357 }],
4358 line: 54
4359 },
4360 '7': {
4361 loc: {
4362 start: {
4363 line: 57,
4364 column: 4
4365 },
4366 end: {
4367 line: 59,
4368 column: 5
4369 }
4370 },
4371 type: 'if',
4372 locations: [{
4373 start: {
4374 line: 57,
4375 column: 4
4376 },
4377 end: {
4378 line: 59,
4379 column: 5
4380 }
4381 }, {
4382 start: {
4383 line: 57,
4384 column: 4
4385 },
4386 end: {
4387 line: 59,
4388 column: 5
4389 }
4390 }],
4391 line: 57
4392 },
4393 '8': {
4394 loc: {
4395 start: {
4396 line: 57,
4397 column: 8
4398 },
4399 end: {
4400 line: 57,
4401 column: 95
4402 }
4403 },
4404 type: 'binary-expr',
4405 locations: [{
4406 start: {
4407 line: 57,
4408 column: 8
4409 },
4410 end: {
4411 line: 57,
4412 column: 58
4413 }
4414 }, {
4415 start: {
4416 line: 57,
4417 column: 62
4418 },
4419 end: {
4420 line: 57,
4421 column: 95
4422 }
4423 }],
4424 line: 57
4425 },
4426 '9': {
4427 loc: {
4428 start: {
4429 line: 62,
4430 column: 17
4431 },
4432 end: {
4433 line: 62,
4434 column: 54
4435 }
4436 },
4437 type: 'binary-expr',
4438 locations: [{
4439 start: {
4440 line: 62,
4441 column: 17
4442 },
4443 end: {
4444 line: 62,
4445 column: 27
4446 }
4447 }, {
4448 start: {
4449 line: 62,
4450 column: 31
4451 },
4452 end: {
4453 line: 62,
4454 column: 54
4455 }
4456 }],
4457 line: 62
4458 },
4459 '10': {
4460 loc: {
4461 start: {
4462 line: 68,
4463 column: 4
4464 },
4465 end: {
4466 line: 68,
4467 column: 39
4468 }
4469 },
4470 type: 'if',
4471 locations: [{
4472 start: {
4473 line: 68,
4474 column: 4
4475 },
4476 end: {
4477 line: 68,
4478 column: 39
4479 }
4480 }, {
4481 start: {
4482 line: 68,
4483 column: 4
4484 },
4485 end: {
4486 line: 68,
4487 column: 39
4488 }
4489 }],
4490 line: 68
4491 },
4492 '11': {
4493 loc: {
4494 start: {
4495 line: 69,
4496 column: 4
4497 },
4498 end: {
4499 line: 69,
4500 column: 70
4501 }
4502 },
4503 type: 'if',
4504 locations: [{
4505 start: {
4506 line: 69,
4507 column: 4
4508 },
4509 end: {
4510 line: 69,
4511 column: 70
4512 }
4513 }, {
4514 start: {
4515 line: 69,
4516 column: 4
4517 },
4518 end: {
4519 line: 69,
4520 column: 70
4521 }
4522 }],
4523 line: 69
4524 },
4525 '12': {
4526 loc: {
4527 start: {
4528 line: 73,
4529 column: 21
4530 },
4531 end: {
4532 line: 73,
4533 column: 64
4534 }
4535 },
4536 type: 'binary-expr',
4537 locations: [{
4538 start: {
4539 line: 73,
4540 column: 21
4541 },
4542 end: {
4543 line: 73,
4544 column: 35
4545 }
4546 }, {
4547 start: {
4548 line: 73,
4549 column: 39
4550 },
4551 end: {
4552 line: 73,
4553 column: 64
4554 }
4555 }],
4556 line: 73
4557 },
4558 '13': {
4559 loc: {
4560 start: {
4561 line: 75,
4562 column: 27
4563 },
4564 end: {
4565 line: 78,
4566 column: 6
4567 }
4568 },
4569 type: 'binary-expr',
4570 locations: [{
4571 start: {
4572 line: 75,
4573 column: 27
4574 },
4575 end: {
4576 line: 75,
4577 column: 47
4578 }
4579 }, {
4580 start: {
4581 line: 75,
4582 column: 51
4583 },
4584 end: {
4585 line: 78,
4586 column: 6
4587 }
4588 }],
4589 line: 75
4590 },
4591 '14': {
4592 loc: {
4593 start: {
4594 line: 77,
4595 column: 27
4596 },
4597 end: {
4598 line: 77,
4599 column: 123
4600 }
4601 },
4602 type: 'cond-expr',
4603 locations: [{
4604 start: {
4605 line: 77,
4606 column: 47
4607 },
4608 end: {
4609 line: 77,
4610 column: 83
4611 }
4612 }, {
4613 start: {
4614 line: 77,
4615 column: 86
4616 },
4617 end: {
4618 line: 77,
4619 column: 123
4620 }
4621 }],
4622 line: 77
4623 },
4624 '15': {
4625 loc: {
4626 start: {
4627 line: 79,
4628 column: 26
4629 },
4630 end: {
4631 line: 79,
4632 column: 76
4633 }
4634 },
4635 type: 'binary-expr',
4636 locations: [{
4637 start: {
4638 line: 79,
4639 column: 26
4640 },
4641 end: {
4642 line: 79,
4643 column: 45
4644 }
4645 }, {
4646 start: {
4647 line: 79,
4648 column: 49
4649 },
4650 end: {
4651 line: 79,
4652 column: 76
4653 }
4654 }],
4655 line: 79
4656 },
4657 '16': {
4658 loc: {
4659 start: {
4660 line: 80,
4661 column: 25
4662 },
4663 end: {
4664 line: 80,
4665 column: 125
4666 }
4667 },
4668 type: 'cond-expr',
4669 locations: [{
4670 start: {
4671 line: 80,
4672 column: 65
4673 },
4674 end: {
4675 line: 80,
4676 column: 113
4677 }
4678 }, {
4679 start: {
4680 line: 80,
4681 column: 116
4682 },
4683 end: {
4684 line: 80,
4685 column: 125
4686 }
4687 }],
4688 line: 80
4689 },
4690 '17': {
4691 loc: {
4692 start: {
4693 line: 80,
4694 column: 26
4695 },
4696 end: {
4697 line: 80,
4698 column: 61
4699 }
4700 },
4701 type: 'binary-expr',
4702 locations: [{
4703 start: {
4704 line: 80,
4705 column: 26
4706 },
4707 end: {
4708 line: 80,
4709 column: 40
4710 }
4711 }, {
4712 start: {
4713 line: 80,
4714 column: 44
4715 },
4716 end: {
4717 line: 80,
4718 column: 61
4719 }
4720 }],
4721 line: 80
4722 },
4723 '18': {
4724 loc: {
4725 start: {
4726 line: 82,
4727 column: 6
4728 },
4729 end: {
4730 line: 82,
4731 column: 24
4732 }
4733 },
4734 type: 'if',
4735 locations: [{
4736 start: {
4737 line: 82,
4738 column: 6
4739 },
4740 end: {
4741 line: 82,
4742 column: 24
4743 }
4744 }, {
4745 start: {
4746 line: 82,
4747 column: 6
4748 },
4749 end: {
4750 line: 82,
4751 column: 24
4752 }
4753 }],
4754 line: 82
4755 },
4756 '19': {
4757 loc: {
4758 start: {
4759 line: 89,
4760 column: 20
4761 },
4762 end: {
4763 line: 89,
4764 column: 110
4765 }
4766 },
4767 type: 'binary-expr',
4768 locations: [{
4769 start: {
4770 line: 89,
4771 column: 20
4772 },
4773 end: {
4774 line: 89,
4775 column: 33
4776 }
4777 }, {
4778 start: {
4779 line: 89,
4780 column: 37
4781 },
4782 end: {
4783 line: 89,
4784 column: 110
4785 }
4786 }],
4787 line: 89
4788 },
4789 '20': {
4790 loc: {
4791 start: {
4792 line: 112,
4793 column: 45
4794 },
4795 end: {
4796 line: 112,
4797 column: 74
4798 }
4799 },
4800 type: 'binary-expr',
4801 locations: [{
4802 start: {
4803 line: 112,
4804 column: 45
4805 },
4806 end: {
4807 line: 112,
4808 column: 61
4809 }
4810 }, {
4811 start: {
4812 line: 112,
4813 column: 65
4814 },
4815 end: {
4816 line: 112,
4817 column: 74
4818 }
4819 }],
4820 line: 112
4821 },
4822 '21': {
4823 loc: {
4824 start: {
4825 line: 133,
4826 column: 4
4827 },
4828 end: {
4829 line: 133,
4830 column: 58
4831 }
4832 },
4833 type: 'if',
4834 locations: [{
4835 start: {
4836 line: 133,
4837 column: 4
4838 },
4839 end: {
4840 line: 133,
4841 column: 58
4842 }
4843 }, {
4844 start: {
4845 line: 133,
4846 column: 4
4847 },
4848 end: {
4849 line: 133,
4850 column: 58
4851 }
4852 }],
4853 line: 133
4854 },
4855 '22': {
4856 loc: {
4857 start: {
4858 line: 148,
4859 column: 6
4860 },
4861 end: {
4862 line: 148,
4863 column: 68
4864 }
4865 },
4866 type: 'if',
4867 locations: [{
4868 start: {
4869 line: 148,
4870 column: 6
4871 },
4872 end: {
4873 line: 148,
4874 column: 68
4875 }
4876 }, {
4877 start: {
4878 line: 148,
4879 column: 6
4880 },
4881 end: {
4882 line: 148,
4883 column: 68
4884 }
4885 }],
4886 line: 148
4887 },
4888 '23': {
4889 loc: {
4890 start: {
4891 line: 149,
4892 column: 6
4893 },
4894 end: {
4895 line: 164,
4896 column: 7
4897 }
4898 },
4899 type: 'if',
4900 locations: [{
4901 start: {
4902 line: 149,
4903 column: 6
4904 },
4905 end: {
4906 line: 164,
4907 column: 7
4908 }
4909 }, {
4910 start: {
4911 line: 149,
4912 column: 6
4913 },
4914 end: {
4915 line: 164,
4916 column: 7
4917 }
4918 }],
4919 line: 149
4920 },
4921 '24': {
4922 loc: {
4923 start: {
4924 line: 152,
4925 column: 8
4926 },
4927 end: {
4928 line: 154,
4929 column: 9
4930 }
4931 },
4932 type: 'if',
4933 locations: [{
4934 start: {
4935 line: 152,
4936 column: 8
4937 },
4938 end: {
4939 line: 154,
4940 column: 9
4941 }
4942 }, {
4943 start: {
4944 line: 152,
4945 column: 8
4946 },
4947 end: {
4948 line: 154,
4949 column: 9
4950 }
4951 }],
4952 line: 152
4953 },
4954 '25': {
4955 loc: {
4956 start: {
4957 line: 158,
4958 column: 10
4959 },
4960 end: {
4961 line: 158,
4962 column: 73
4963 }
4964 },
4965 type: 'if',
4966 locations: [{
4967 start: {
4968 line: 158,
4969 column: 10
4970 },
4971 end: {
4972 line: 158,
4973 column: 73
4974 }
4975 }, {
4976 start: {
4977 line: 158,
4978 column: 10
4979 },
4980 end: {
4981 line: 158,
4982 column: 73
4983 }
4984 }],
4985 line: 158
4986 },
4987 '26': {
4988 loc: {
4989 start: {
4990 line: 167,
4991 column: 4
4992 },
4993 end: {
4994 line: 171,
4995 column: 5
4996 }
4997 },
4998 type: 'if',
4999 locations: [{
5000 start: {
5001 line: 167,
5002 column: 4
5003 },
5004 end: {
5005 line: 171,
5006 column: 5
5007 }
5008 }, {
5009 start: {
5010 line: 167,
5011 column: 4
5012 },
5013 end: {
5014 line: 171,
5015 column: 5
5016 }
5017 }],
5018 line: 167
5019 },
5020 '27': {
5021 loc: {
5022 start: {
5023 line: 167,
5024 column: 8
5025 },
5026 end: {
5027 line: 167,
5028 column: 60
5029 }
5030 },
5031 type: 'binary-expr',
5032 locations: [{
5033 start: {
5034 line: 167,
5035 column: 8
5036 },
5037 end: {
5038 line: 167,
5039 column: 27
5040 }
5041 }, {
5042 start: {
5043 line: 167,
5044 column: 31
5045 },
5046 end: {
5047 line: 167,
5048 column: 60
5049 }
5050 }],
5051 line: 167
5052 },
5053 '28': {
5054 loc: {
5055 start: {
5056 line: 173,
5057 column: 4
5058 },
5059 end: {
5060 line: 187,
5061 column: 5
5062 }
5063 },
5064 type: 'if',
5065 locations: [{
5066 start: {
5067 line: 173,
5068 column: 4
5069 },
5070 end: {
5071 line: 187,
5072 column: 5
5073 }
5074 }, {
5075 start: {
5076 line: 173,
5077 column: 4
5078 },
5079 end: {
5080 line: 187,
5081 column: 5
5082 }
5083 }],
5084 line: 173
5085 },
5086 '29': {
5087 loc: {
5088 start: {
5089 line: 200,
5090 column: 4
5091 },
5092 end: {
5093 line: 200,
5094 column: 85
5095 }
5096 },
5097 type: 'if',
5098 locations: [{
5099 start: {
5100 line: 200,
5101 column: 4
5102 },
5103 end: {
5104 line: 200,
5105 column: 85
5106 }
5107 }, {
5108 start: {
5109 line: 200,
5110 column: 4
5111 },
5112 end: {
5113 line: 200,
5114 column: 85
5115 }
5116 }],
5117 line: 200
5118 },
5119 '30': {
5120 loc: {
5121 start: {
5122 line: 200,
5123 column: 8
5124 },
5125 end: {
5126 line: 200,
5127 column: 33
5128 }
5129 },
5130 type: 'binary-expr',
5131 locations: [{
5132 start: {
5133 line: 200,
5134 column: 8
5135 },
5136 end: {
5137 line: 200,
5138 column: 17
5139 }
5140 }, {
5141 start: {
5142 line: 200,
5143 column: 21
5144 },
5145 end: {
5146 line: 200,
5147 column: 33
5148 }
5149 }],
5150 line: 200
5151 },
5152 '31': {
5153 loc: {
5154 start: {
5155 line: 228,
5156 column: 21
5157 },
5158 end: {
5159 line: 228,
5160 column: 59
5161 }
5162 },
5163 type: 'default-arg',
5164 locations: [{
5165 start: {
5166 line: 228,
5167 column: 57
5168 },
5169 end: {
5170 line: 228,
5171 column: 59
5172 }
5173 }],
5174 line: 228
5175 },
5176 '32': {
5177 loc: {
5178 start: {
5179 line: 229,
5180 column: 4
5181 },
5182 end: {
5183 line: 229,
5184 column: 51
5185 }
5186 },
5187 type: 'if',
5188 locations: [{
5189 start: {
5190 line: 229,
5191 column: 4
5192 },
5193 end: {
5194 line: 229,
5195 column: 51
5196 }
5197 }, {
5198 start: {
5199 line: 229,
5200 column: 4
5201 },
5202 end: {
5203 line: 229,
5204 column: 51
5205 }
5206 }],
5207 line: 229
5208 },
5209 '33': {
5210 loc: {
5211 start: {
5212 line: 230,
5213 column: 4
5214 },
5215 end: {
5216 line: 237,
5217 column: 5
5218 }
5219 },
5220 type: 'if',
5221 locations: [{
5222 start: {
5223 line: 230,
5224 column: 4
5225 },
5226 end: {
5227 line: 237,
5228 column: 5
5229 }
5230 }, {
5231 start: {
5232 line: 230,
5233 column: 4
5234 },
5235 end: {
5236 line: 237,
5237 column: 5
5238 }
5239 }],
5240 line: 230
5241 },
5242 '34': {
5243 loc: {
5244 start: {
5245 line: 231,
5246 column: 6
5247 },
5248 end: {
5249 line: 231,
5250 column: 49
5251 }
5252 },
5253 type: 'if',
5254 locations: [{
5255 start: {
5256 line: 231,
5257 column: 6
5258 },
5259 end: {
5260 line: 231,
5261 column: 49
5262 }
5263 }, {
5264 start: {
5265 line: 231,
5266 column: 6
5267 },
5268 end: {
5269 line: 231,
5270 column: 49
5271 }
5272 }],
5273 line: 231
5274 },
5275 '35': {
5276 loc: {
5277 start: {
5278 line: 233,
5279 column: 11
5280 },
5281 end: {
5282 line: 237,
5283 column: 5
5284 }
5285 },
5286 type: 'if',
5287 locations: [{
5288 start: {
5289 line: 233,
5290 column: 11
5291 },
5292 end: {
5293 line: 237,
5294 column: 5
5295 }
5296 }, {
5297 start: {
5298 line: 233,
5299 column: 11
5300 },
5301 end: {
5302 line: 237,
5303 column: 5
5304 }
5305 }],
5306 line: 233
5307 },
5308 '36': {
5309 loc: {
5310 start: {
5311 line: 233,
5312 column: 15
5313 },
5314 end: {
5315 line: 233,
5316 column: 49
5317 }
5318 },
5319 type: 'binary-expr',
5320 locations: [{
5321 start: {
5322 line: 233,
5323 column: 15
5324 },
5325 end: {
5326 line: 233,
5327 column: 27
5328 }
5329 }, {
5330 start: {
5331 line: 233,
5332 column: 31
5333 },
5334 end: {
5335 line: 233,
5336 column: 49
5337 }
5338 }],
5339 line: 233
5340 },
5341 '37': {
5342 loc: {
5343 start: {
5344 line: 290,
5345 column: 25
5346 },
5347 end: {
5348 line: 290,
5349 column: 35
5350 }
5351 },
5352 type: 'default-arg',
5353 locations: [{
5354 start: {
5355 line: 290,
5356 column: 33
5357 },
5358 end: {
5359 line: 290,
5360 column: 35
5361 }
5362 }],
5363 line: 290
5364 },
5365 '38': {
5366 loc: {
5367 start: {
5368 line: 291,
5369 column: 4
5370 },
5371 end: {
5372 line: 291,
5373 column: 52
5374 }
5375 },
5376 type: 'if',
5377 locations: [{
5378 start: {
5379 line: 291,
5380 column: 4
5381 },
5382 end: {
5383 line: 291,
5384 column: 52
5385 }
5386 }, {
5387 start: {
5388 line: 291,
5389 column: 4
5390 },
5391 end: {
5392 line: 291,
5393 column: 52
5394 }
5395 }],
5396 line: 291
5397 },
5398 '39': {
5399 loc: {
5400 start: {
5401 line: 294,
5402 column: 10
5403 },
5404 end: {
5405 line: 294,
5406 column: 93
5407 }
5408 },
5409 type: 'cond-expr',
5410 locations: [{
5411 start: {
5412 line: 294,
5413 column: 29
5414 },
5415 end: {
5416 line: 294,
5417 column: 37
5418 }
5419 }, {
5420 start: {
5421 line: 294,
5422 column: 40
5423 },
5424 end: {
5425 line: 294,
5426 column: 93
5427 }
5428 }],
5429 line: 294
5430 },
5431 '40': {
5432 loc: {
5433 start: {
5434 line: 299,
5435 column: 4
5436 },
5437 end: {
5438 line: 299,
5439 column: 61
5440 }
5441 },
5442 type: 'if',
5443 locations: [{
5444 start: {
5445 line: 299,
5446 column: 4
5447 },
5448 end: {
5449 line: 299,
5450 column: 61
5451 }
5452 }, {
5453 start: {
5454 line: 299,
5455 column: 4
5456 },
5457 end: {
5458 line: 299,
5459 column: 61
5460 }
5461 }],
5462 line: 299
5463 },
5464 '41': {
5465 loc: {
5466 start: {
5467 line: 299,
5468 column: 18
5469 },
5470 end: {
5471 line: 299,
5472 column: 61
5473 }
5474 },
5475 type: 'cond-expr',
5476 locations: [{
5477 start: {
5478 line: 299,
5479 column: 29
5480 },
5481 end: {
5482 line: 299,
5483 column: 51
5484 }
5485 }, {
5486 start: {
5487 line: 299,
5488 column: 54
5489 },
5490 end: {
5491 line: 299,
5492 column: 61
5493 }
5494 }],
5495 line: 299
5496 },
5497 '42': {
5498 loc: {
5499 start: {
5500 line: 326,
5501 column: 59
5502 },
5503 end: {
5504 line: 326,
5505 column: 75
5506 }
5507 },
5508 type: 'default-arg',
5509 locations: [{
5510 start: {
5511 line: 326,
5512 column: 64
5513 },
5514 end: {
5515 line: 326,
5516 column: 75
5517 }
5518 }],
5519 line: 326
5520 },
5521 '43': {
5522 loc: {
5523 start: {
5524 line: 328,
5525 column: 4
5526 },
5527 end: {
5528 line: 333,
5529 column: 5
5530 }
5531 },
5532 type: 'if',
5533 locations: [{
5534 start: {
5535 line: 328,
5536 column: 4
5537 },
5538 end: {
5539 line: 333,
5540 column: 5
5541 }
5542 }, {
5543 start: {
5544 line: 328,
5545 column: 4
5546 },
5547 end: {
5548 line: 333,
5549 column: 5
5550 }
5551 }],
5552 line: 328
5553 },
5554 '44': {
5555 loc: {
5556 start: {
5557 line: 331,
5558 column: 11
5559 },
5560 end: {
5561 line: 333,
5562 column: 5
5563 }
5564 },
5565 type: 'if',
5566 locations: [{
5567 start: {
5568 line: 331,
5569 column: 11
5570 },
5571 end: {
5572 line: 333,
5573 column: 5
5574 }
5575 }, {
5576 start: {
5577 line: 331,
5578 column: 11
5579 },
5580 end: {
5581 line: 333,
5582 column: 5
5583 }
5584 }],
5585 line: 331
5586 },
5587 '45': {
5588 loc: {
5589 start: {
5590 line: 331,
5591 column: 15
5592 },
5593 end: {
5594 line: 331,
5595 column: 33
5596 }
5597 },
5598 type: 'binary-expr',
5599 locations: [{
5600 start: {
5601 line: 331,
5602 column: 15
5603 },
5604 end: {
5605 line: 331,
5606 column: 20
5607 }
5608 }, {
5609 start: {
5610 line: 331,
5611 column: 24
5612 },
5613 end: {
5614 line: 331,
5615 column: 33
5616 }
5617 }],
5618 line: 331
5619 },
5620 '46': {
5621 loc: {
5622 start: {
5623 line: 346,
5624 column: 40
5625 },
5626 end: {
5627 line: 346,
5628 column: 62
5629 }
5630 },
5631 type: 'default-arg',
5632 locations: [{
5633 start: {
5634 line: 346,
5635 column: 45
5636 },
5637 end: {
5638 line: 346,
5639 column: 62
5640 }
5641 }],
5642 line: 346
5643 },
5644 '47': {
5645 loc: {
5646 start: {
5647 line: 351,
5648 column: 4
5649 },
5650 end: {
5651 line: 351,
5652 column: 46
5653 }
5654 },
5655 type: 'if',
5656 locations: [{
5657 start: {
5658 line: 351,
5659 column: 4
5660 },
5661 end: {
5662 line: 351,
5663 column: 46
5664 }
5665 }, {
5666 start: {
5667 line: 351,
5668 column: 4
5669 },
5670 end: {
5671 line: 351,
5672 column: 46
5673 }
5674 }],
5675 line: 351
5676 },
5677 '48': {
5678 loc: {
5679 start: {
5680 line: 362,
5681 column: 28
5682 },
5683 end: {
5684 line: 362,
5685 column: 48
5686 }
5687 },
5688 type: 'default-arg',
5689 locations: [{
5690 start: {
5691 line: 362,
5692 column: 31
5693 },
5694 end: {
5695 line: 362,
5696 column: 48
5697 }
5698 }],
5699 line: 362
5700 },
5701 '49': {
5702 loc: {
5703 start: {
5704 line: 367,
5705 column: 4
5706 },
5707 end: {
5708 line: 367,
5709 column: 46
5710 }
5711 },
5712 type: 'if',
5713 locations: [{
5714 start: {
5715 line: 367,
5716 column: 4
5717 },
5718 end: {
5719 line: 367,
5720 column: 46
5721 }
5722 }, {
5723 start: {
5724 line: 367,
5725 column: 4
5726 },
5727 end: {
5728 line: 367,
5729 column: 46
5730 }
5731 }],
5732 line: 367
5733 },
5734 '50': {
5735 loc: {
5736 start: {
5737 line: 397,
5738 column: 27
5739 },
5740 end: {
5741 line: 397,
5742 column: 38
5743 }
5744 },
5745 type: 'default-arg',
5746 locations: [{
5747 start: {
5748 line: 397,
5749 column: 36
5750 },
5751 end: {
5752 line: 397,
5753 column: 38
5754 }
5755 }],
5756 line: 397
5757 },
5758 '51': {
5759 loc: {
5760 start: {
5761 line: 397,
5762 column: 40
5763 },
5764 end: {
5765 line: 397,
5766 column: 60
5767 }
5768 },
5769 type: 'default-arg',
5770 locations: [{
5771 start: {
5772 line: 397,
5773 column: 45
5774 },
5775 end: {
5776 line: 397,
5777 column: 60
5778 }
5779 }],
5780 line: 397
5781 },
5782 '52': {
5783 loc: {
5784 start: {
5785 line: 398,
5786 column: 4
5787 },
5788 end: {
5789 line: 398,
5790 column: 53
5791 }
5792 },
5793 type: 'if',
5794 locations: [{
5795 start: {
5796 line: 398,
5797 column: 4
5798 },
5799 end: {
5800 line: 398,
5801 column: 53
5802 }
5803 }, {
5804 start: {
5805 line: 398,
5806 column: 4
5807 },
5808 end: {
5809 line: 398,
5810 column: 53
5811 }
5812 }],
5813 line: 398
5814 },
5815 '53': {
5816 loc: {
5817 start: {
5818 line: 402,
5819 column: 19
5820 },
5821 end: {
5822 line: 402,
5823 column: 45
5824 }
5825 },
5826 type: 'binary-expr',
5827 locations: [{
5828 start: {
5829 line: 402,
5830 column: 19
5831 },
5832 end: {
5833 line: 402,
5834 column: 35
5835 }
5836 }, {
5837 start: {
5838 line: 402,
5839 column: 39
5840 },
5841 end: {
5842 line: 402,
5843 column: 45
5844 }
5845 }],
5846 line: 402
5847 },
5848 '54': {
5849 loc: {
5850 start: {
5851 line: 406,
5852 column: 4
5853 },
5854 end: {
5855 line: 409,
5856 column: 5
5857 }
5858 },
5859 type: 'if',
5860 locations: [{
5861 start: {
5862 line: 406,
5863 column: 4
5864 },
5865 end: {
5866 line: 409,
5867 column: 5
5868 }
5869 }, {
5870 start: {
5871 line: 406,
5872 column: 4
5873 },
5874 end: {
5875 line: 409,
5876 column: 5
5877 }
5878 }],
5879 line: 406
5880 },
5881 '55': {
5882 loc: {
5883 start: {
5884 line: 436,
5885 column: 26
5886 },
5887 end: {
5888 line: 436,
5889 column: 43
5890 }
5891 },
5892 type: 'default-arg',
5893 locations: [{
5894 start: {
5895 line: 436,
5896 column: 41
5897 },
5898 end: {
5899 line: 436,
5900 column: 43
5901 }
5902 }],
5903 line: 436
5904 },
5905 '56': {
5906 loc: {
5907 start: {
5908 line: 436,
5909 column: 45
5910 },
5911 end: {
5912 line: 436,
5913 column: 62
5914 }
5915 },
5916 type: 'default-arg',
5917 locations: [{
5918 start: {
5919 line: 436,
5920 column: 50
5921 },
5922 end: {
5923 line: 436,
5924 column: 62
5925 }
5926 }],
5927 line: 436
5928 },
5929 '57': {
5930 loc: {
5931 start: {
5932 line: 437,
5933 column: 4
5934 },
5935 end: {
5936 line: 437,
5937 column: 59
5938 }
5939 },
5940 type: 'if',
5941 locations: [{
5942 start: {
5943 line: 437,
5944 column: 4
5945 },
5946 end: {
5947 line: 437,
5948 column: 59
5949 }
5950 }, {
5951 start: {
5952 line: 437,
5953 column: 4
5954 },
5955 end: {
5956 line: 437,
5957 column: 59
5958 }
5959 }],
5960 line: 437
5961 },
5962 '58': {
5963 loc: {
5964 start: {
5965 line: 455,
5966 column: 4
5967 },
5968 end: {
5969 line: 466,
5970 column: 5
5971 }
5972 },
5973 type: 'switch',
5974 locations: [{
5975 start: {
5976 line: 456,
5977 column: 6
5978 },
5979 end: {
5980 line: 458,
5981 column: 13
5982 }
5983 }, {
5984 start: {
5985 line: 459,
5986 column: 6
5987 },
5988 end: {
5989 line: 461,
5990 column: 13
5991 }
5992 }, {
5993 start: {
5994 line: 462,
5995 column: 6
5996 },
5997 end: {
5998 line: 463,
5999 column: 13
6000 }
6001 }, {
6002 start: {
6003 line: 464,
6004 column: 6
6005 },
6006 end: {
6007 line: 465,
6008 column: 61
6009 }
6010 }],
6011 line: 455
6012 },
6013 '59': {
6014 loc: {
6015 start: {
6016 line: 469,
6017 column: 4
6018 },
6019 end: {
6020 line: 474,
6021 column: 5
6022 }
6023 },
6024 type: 'if',
6025 locations: [{
6026 start: {
6027 line: 469,
6028 column: 4
6029 },
6030 end: {
6031 line: 474,
6032 column: 5
6033 }
6034 }, {
6035 start: {
6036 line: 469,
6037 column: 4
6038 },
6039 end: {
6040 line: 474,
6041 column: 5
6042 }
6043 }],
6044 line: 469
6045 },
6046 '60': {
6047 loc: {
6048 start: {
6049 line: 471,
6050 column: 11
6051 },
6052 end: {
6053 line: 474,
6054 column: 5
6055 }
6056 },
6057 type: 'if',
6058 locations: [{
6059 start: {
6060 line: 471,
6061 column: 11
6062 },
6063 end: {
6064 line: 474,
6065 column: 5
6066 }
6067 }, {
6068 start: {
6069 line: 471,
6070 column: 11
6071 },
6072 end: {
6073 line: 474,
6074 column: 5
6075 }
6076 }],
6077 line: 471
6078 },
6079 '61': {
6080 loc: {
6081 start: {
6082 line: 476,
6083 column: 4
6084 },
6085 end: {
6086 line: 478,
6087 column: 5
6088 }
6089 },
6090 type: 'if',
6091 locations: [{
6092 start: {
6093 line: 476,
6094 column: 4
6095 },
6096 end: {
6097 line: 478,
6098 column: 5
6099 }
6100 }, {
6101 start: {
6102 line: 476,
6103 column: 4
6104 },
6105 end: {
6106 line: 478,
6107 column: 5
6108 }
6109 }],
6110 line: 476
6111 },
6112 '62': {
6113 loc: {
6114 start: {
6115 line: 476,
6116 column: 8
6117 },
6118 end: {
6119 line: 476,
6120 column: 43
6121 }
6122 },
6123 type: 'binary-expr',
6124 locations: [{
6125 start: {
6126 line: 476,
6127 column: 8
6128 },
6129 end: {
6130 line: 476,
6131 column: 25
6132 }
6133 }, {
6134 start: {
6135 line: 476,
6136 column: 29
6137 },
6138 end: {
6139 line: 476,
6140 column: 43
6141 }
6142 }],
6143 line: 476
6144 },
6145 '63': {
6146 loc: {
6147 start: {
6148 line: 481,
6149 column: 4
6150 },
6151 end: {
6152 line: 481,
6153 column: 50
6154 }
6155 },
6156 type: 'if',
6157 locations: [{
6158 start: {
6159 line: 481,
6160 column: 4
6161 },
6162 end: {
6163 line: 481,
6164 column: 50
6165 }
6166 }, {
6167 start: {
6168 line: 481,
6169 column: 4
6170 },
6171 end: {
6172 line: 481,
6173 column: 50
6174 }
6175 }],
6176 line: 481
6177 },
6178 '64': {
6179 loc: {
6180 start: {
6181 line: 489,
6182 column: 4
6183 },
6184 end: {
6185 line: 489,
6186 column: 63
6187 }
6188 },
6189 type: 'if',
6190 locations: [{
6191 start: {
6192 line: 489,
6193 column: 4
6194 },
6195 end: {
6196 line: 489,
6197 column: 63
6198 }
6199 }, {
6200 start: {
6201 line: 489,
6202 column: 4
6203 },
6204 end: {
6205 line: 489,
6206 column: 63
6207 }
6208 }],
6209 line: 489
6210 },
6211 '65': {
6212 loc: {
6213 start: {
6214 line: 545,
6215 column: 4
6216 },
6217 end: {
6218 line: 550,
6219 column: 5
6220 }
6221 },
6222 type: 'if',
6223 locations: [{
6224 start: {
6225 line: 545,
6226 column: 4
6227 },
6228 end: {
6229 line: 550,
6230 column: 5
6231 }
6232 }, {
6233 start: {
6234 line: 545,
6235 column: 4
6236 },
6237 end: {
6238 line: 550,
6239 column: 5
6240 }
6241 }],
6242 line: 545
6243 },
6244 '66': {
6245 loc: {
6246 start: {
6247 line: 548,
6248 column: 6
6249 },
6250 end: {
6251 line: 548,
6252 column: 42
6253 }
6254 },
6255 type: 'if',
6256 locations: [{
6257 start: {
6258 line: 548,
6259 column: 6
6260 },
6261 end: {
6262 line: 548,
6263 column: 42
6264 }
6265 }, {
6266 start: {
6267 line: 548,
6268 column: 6
6269 },
6270 end: {
6271 line: 548,
6272 column: 42
6273 }
6274 }],
6275 line: 548
6276 },
6277 '67': {
6278 loc: {
6279 start: {
6280 line: 557,
6281 column: 11
6282 },
6283 end: {
6284 line: 557,
6285 column: 91
6286 }
6287 },
6288 type: 'cond-expr',
6289 locations: [{
6290 start: {
6291 line: 557,
6292 column: 30
6293 },
6294 end: {
6295 line: 557,
6296 column: 51
6297 }
6298 }, {
6299 start: {
6300 line: 557,
6301 column: 54
6302 },
6303 end: {
6304 line: 557,
6305 column: 91
6306 }
6307 }],
6308 line: 557
6309 },
6310 '68': {
6311 loc: {
6312 start: {
6313 line: 569,
6314 column: 4
6315 },
6316 end: {
6317 line: 569,
6318 column: 46
6319 }
6320 },
6321 type: 'if',
6322 locations: [{
6323 start: {
6324 line: 569,
6325 column: 4
6326 },
6327 end: {
6328 line: 569,
6329 column: 46
6330 }
6331 }, {
6332 start: {
6333 line: 569,
6334 column: 4
6335 },
6336 end: {
6337 line: 569,
6338 column: 46
6339 }
6340 }],
6341 line: 569
6342 },
6343 '69': {
6344 loc: {
6345 start: {
6346 line: 569,
6347 column: 8
6348 },
6349 end: {
6350 line: 569,
6351 column: 38
6352 }
6353 },
6354 type: 'binary-expr',
6355 locations: [{
6356 start: {
6357 line: 569,
6358 column: 8
6359 },
6360 end: {
6361 line: 569,
6362 column: 16
6363 }
6364 }, {
6365 start: {
6366 line: 569,
6367 column: 20
6368 },
6369 end: {
6370 line: 569,
6371 column: 38
6372 }
6373 }],
6374 line: 569
6375 },
6376 '70': {
6377 loc: {
6378 start: {
6379 line: 570,
6380 column: 14
6381 },
6382 end: {
6383 line: 577,
6384 column: 5
6385 }
6386 },
6387 type: 'binary-expr',
6388 locations: [{
6389 start: {
6390 line: 570,
6391 column: 14
6392 },
6393 end: {
6394 line: 570,
6395 column: 21
6396 }
6397 }, {
6398 start: {
6399 line: 570,
6400 column: 25
6401 },
6402 end: {
6403 line: 577,
6404 column: 5
6405 }
6406 }],
6407 line: 570
6408 },
6409 '71': {
6410 loc: {
6411 start: {
6412 line: 573,
6413 column: 11
6414 },
6415 end: {
6416 line: 573,
6417 column: 111
6418 }
6419 },
6420 type: 'cond-expr',
6421 locations: [{
6422 start: {
6423 line: 573,
6424 column: 45
6425 },
6426 end: {
6427 line: 573,
6428 column: 99
6429 }
6430 }, {
6431 start: {
6432 line: 573,
6433 column: 102
6434 },
6435 end: {
6436 line: 573,
6437 column: 111
6438 }
6439 }],
6440 line: 573
6441 },
6442 '72': {
6443 loc: {
6444 start: {
6445 line: 593,
6446 column: 15
6447 },
6448 end: {
6449 line: 593,
6450 column: 34
6451 }
6452 },
6453 type: 'default-arg',
6454 locations: [{
6455 start: {
6456 line: 593,
6457 column: 21
6458 },
6459 end: {
6460 line: 593,
6461 column: 34
6462 }
6463 }],
6464 line: 593
6465 },
6466 '73': {
6467 loc: {
6468 start: {
6469 line: 598,
6470 column: 22
6471 },
6472 end: {
6473 line: 598,
6474 column: 49
6475 }
6476 },
6477 type: 'binary-expr',
6478 locations: [{
6479 start: {
6480 line: 598,
6481 column: 22
6482 },
6483 end: {
6484 line: 598,
6485 column: 41
6486 }
6487 }, {
6488 start: {
6489 line: 598,
6490 column: 45
6491 },
6492 end: {
6493 line: 598,
6494 column: 49
6495 }
6496 }],
6497 line: 598
6498 },
6499 '74': {
6500 loc: {
6501 start: {
6502 line: 622,
6503 column: 2
6504 },
6505 end: {
6506 line: 628,
6507 column: 3
6508 }
6509 },
6510 type: 'if',
6511 locations: [{
6512 start: {
6513 line: 622,
6514 column: 2
6515 },
6516 end: {
6517 line: 628,
6518 column: 3
6519 }
6520 }, {
6521 start: {
6522 line: 622,
6523 column: 2
6524 },
6525 end: {
6526 line: 628,
6527 column: 3
6528 }
6529 }],
6530 line: 622
6531 },
6532 '75': {
6533 loc: {
6534 start: {
6535 line: 642,
6536 column: 4
6537 },
6538 end: {
6539 line: 652,
6540 column: 5
6541 }
6542 },
6543 type: 'if',
6544 locations: [{
6545 start: {
6546 line: 642,
6547 column: 4
6548 },
6549 end: {
6550 line: 652,
6551 column: 5
6552 }
6553 }, {
6554 start: {
6555 line: 642,
6556 column: 4
6557 },
6558 end: {
6559 line: 652,
6560 column: 5
6561 }
6562 }],
6563 line: 642
6564 },
6565 '76': {
6566 loc: {
6567 start: {
6568 line: 664,
6569 column: 24
6570 },
6571 end: {
6572 line: 664,
6573 column: 72
6574 }
6575 },
6576 type: 'binary-expr',
6577 locations: [{
6578 start: {
6579 line: 664,
6580 column: 24
6581 },
6582 end: {
6583 line: 664,
6584 column: 51
6585 }
6586 }, {
6587 start: {
6588 line: 664,
6589 column: 55
6590 },
6591 end: {
6592 line: 664,
6593 column: 72
6594 }
6595 }],
6596 line: 664
6597 },
6598 '77': {
6599 loc: {
6600 start: {
6601 line: 665,
6602 column: 19
6603 },
6604 end: {
6605 line: 665,
6606 column: 138
6607 }
6608 },
6609 type: 'cond-expr',
6610 locations: [{
6611 start: {
6612 line: 665,
6613 column: 34
6614 },
6615 end: {
6616 line: 665,
6617 column: 115
6618 }
6619 }, {
6620 start: {
6621 line: 665,
6622 column: 118
6623 },
6624 end: {
6625 line: 665,
6626 column: 138
6627 }
6628 }],
6629 line: 665
6630 }
6631 },
6632 s: {
6633 '0': 0,
6634 '1': 0,
6635 '2': 0,
6636 '3': 0,
6637 '4': 0,
6638 '5': 0,
6639 '6': 0,
6640 '7': 0,
6641 '8': 0,
6642 '9': 0,
6643 '10': 0,
6644 '11': 0,
6645 '12': 0,
6646 '13': 0,
6647 '14': 0,
6648 '15': 0,
6649 '16': 0,
6650 '17': 0,
6651 '18': 0,
6652 '19': 0,
6653 '20': 0,
6654 '21': 0,
6655 '22': 0,
6656 '23': 0,
6657 '24': 0,
6658 '25': 0,
6659 '26': 0,
6660 '27': 0,
6661 '28': 0,
6662 '29': 0,
6663 '30': 0,
6664 '31': 0,
6665 '32': 0,
6666 '33': 0,
6667 '34': 0,
6668 '35': 0,
6669 '36': 0,
6670 '37': 0,
6671 '38': 0,
6672 '39': 0,
6673 '40': 0,
6674 '41': 0,
6675 '42': 0,
6676 '43': 0,
6677 '44': 0,
6678 '45': 0,
6679 '46': 0,
6680 '47': 0,
6681 '48': 0,
6682 '49': 0,
6683 '50': 0,
6684 '51': 0,
6685 '52': 0,
6686 '53': 0,
6687 '54': 0,
6688 '55': 0,
6689 '56': 0,
6690 '57': 0,
6691 '58': 0,
6692 '59': 0,
6693 '60': 0,
6694 '61': 0,
6695 '62': 0,
6696 '63': 0,
6697 '64': 0,
6698 '65': 0,
6699 '66': 0,
6700 '67': 0,
6701 '68': 0,
6702 '69': 0,
6703 '70': 0,
6704 '71': 0,
6705 '72': 0,
6706 '73': 0,
6707 '74': 0,
6708 '75': 0,
6709 '76': 0,
6710 '77': 0,
6711 '78': 0,
6712 '79': 0,
6713 '80': 0,
6714 '81': 0,
6715 '82': 0,
6716 '83': 0,
6717 '84': 0,
6718 '85': 0,
6719 '86': 0,
6720 '87': 0,
6721 '88': 0,
6722 '89': 0,
6723 '90': 0,
6724 '91': 0,
6725 '92': 0,
6726 '93': 0,
6727 '94': 0,
6728 '95': 0,
6729 '96': 0,
6730 '97': 0,
6731 '98': 0,
6732 '99': 0,
6733 '100': 0,
6734 '101': 0,
6735 '102': 0,
6736 '103': 0,
6737 '104': 0,
6738 '105': 0,
6739 '106': 0,
6740 '107': 0,
6741 '108': 0,
6742 '109': 0,
6743 '110': 0,
6744 '111': 0,
6745 '112': 0,
6746 '113': 0,
6747 '114': 0,
6748 '115': 0,
6749 '116': 0,
6750 '117': 0,
6751 '118': 0,
6752 '119': 0,
6753 '120': 0,
6754 '121': 0,
6755 '122': 0,
6756 '123': 0,
6757 '124': 0,
6758 '125': 0,
6759 '126': 0,
6760 '127': 0,
6761 '128': 0,
6762 '129': 0,
6763 '130': 0,
6764 '131': 0,
6765 '132': 0,
6766 '133': 0,
6767 '134': 0,
6768 '135': 0,
6769 '136': 0,
6770 '137': 0,
6771 '138': 0,
6772 '139': 0,
6773 '140': 0,
6774 '141': 0,
6775 '142': 0,
6776 '143': 0,
6777 '144': 0,
6778 '145': 0,
6779 '146': 0,
6780 '147': 0,
6781 '148': 0,
6782 '149': 0,
6783 '150': 0,
6784 '151': 0,
6785 '152': 0,
6786 '153': 0,
6787 '154': 0,
6788 '155': 0,
6789 '156': 0,
6790 '157': 0,
6791 '158': 0,
6792 '159': 0,
6793 '160': 0,
6794 '161': 0,
6795 '162': 0,
6796 '163': 0,
6797 '164': 0,
6798 '165': 0,
6799 '166': 0,
6800 '167': 0,
6801 '168': 0,
6802 '169': 0,
6803 '170': 0,
6804 '171': 0,
6805 '172': 0,
6806 '173': 0,
6807 '174': 0,
6808 '175': 0,
6809 '176': 0,
6810 '177': 0,
6811 '178': 0,
6812 '179': 0,
6813 '180': 0,
6814 '181': 0,
6815 '182': 0,
6816 '183': 0,
6817 '184': 0,
6818 '185': 0,
6819 '186': 0,
6820 '187': 0,
6821 '188': 0,
6822 '189': 0,
6823 '190': 0,
6824 '191': 0,
6825 '192': 0,
6826 '193': 0,
6827 '194': 0,
6828 '195': 0,
6829 '196': 0,
6830 '197': 0,
6831 '198': 0,
6832 '199': 0,
6833 '200': 0,
6834 '201': 0,
6835 '202': 0,
6836 '203': 0,
6837 '204': 0,
6838 '205': 0,
6839 '206': 0,
6840 '207': 0,
6841 '208': 0,
6842 '209': 0,
6843 '210': 0,
6844 '211': 0,
6845 '212': 0,
6846 '213': 0,
6847 '214': 0,
6848 '215': 0,
6849 '216': 0,
6850 '217': 0,
6851 '218': 0,
6852 '219': 0,
6853 '220': 0,
6854 '221': 0,
6855 '222': 0,
6856 '223': 0,
6857 '224': 0
6858 },
6859 f: {
6860 '0': 0,
6861 '1': 0,
6862 '2': 0,
6863 '3': 0,
6864 '4': 0,
6865 '5': 0,
6866 '6': 0,
6867 '7': 0,
6868 '8': 0,
6869 '9': 0,
6870 '10': 0,
6871 '11': 0,
6872 '12': 0,
6873 '13': 0,
6874 '14': 0,
6875 '15': 0,
6876 '16': 0,
6877 '17': 0,
6878 '18': 0,
6879 '19': 0,
6880 '20': 0,
6881 '21': 0,
6882 '22': 0,
6883 '23': 0,
6884 '24': 0,
6885 '25': 0,
6886 '26': 0,
6887 '27': 0,
6888 '28': 0,
6889 '29': 0,
6890 '30': 0,
6891 '31': 0,
6892 '32': 0,
6893 '33': 0,
6894 '34': 0,
6895 '35': 0,
6896 '36': 0,
6897 '37': 0,
6898 '38': 0,
6899 '39': 0,
6900 '40': 0,
6901 '41': 0,
6902 '42': 0,
6903 '43': 0,
6904 '44': 0,
6905 '45': 0,
6906 '46': 0,
6907 '47': 0,
6908 '48': 0,
6909 '49': 0,
6910 '50': 0,
6911 '51': 0,
6912 '52': 0,
6913 '53': 0,
6914 '54': 0,
6915 '55': 0,
6916 '56': 0,
6917 '57': 0,
6918 '58': 0,
6919 '59': 0,
6920 '60': 0,
6921 '61': 0,
6922 '62': 0,
6923 '63': 0,
6924 '64': 0,
6925 '65': 0,
6926 '66': 0,
6927 '67': 0,
6928 '68': 0,
6929 '69': 0,
6930 '70': 0,
6931 '71': 0,
6932 '72': 0,
6933 '73': 0,
6934 '74': 0,
6935 '75': 0,
6936 '76': 0,
6937 '77': 0
6938 },
6939 b: {
6940 '0': [0],
6941 '1': [0, 0],
6942 '2': [0, 0],
6943 '3': [0, 0],
6944 '4': [0, 0],
6945 '5': [0, 0],
6946 '6': [0, 0],
6947 '7': [0, 0],
6948 '8': [0, 0],
6949 '9': [0, 0],
6950 '10': [0, 0],
6951 '11': [0, 0],
6952 '12': [0, 0],
6953 '13': [0, 0],
6954 '14': [0, 0],
6955 '15': [0, 0],
6956 '16': [0, 0],
6957 '17': [0, 0],
6958 '18': [0, 0],
6959 '19': [0, 0],
6960 '20': [0, 0],
6961 '21': [0, 0],
6962 '22': [0, 0],
6963 '23': [0, 0],
6964 '24': [0, 0],
6965 '25': [0, 0],
6966 '26': [0, 0],
6967 '27': [0, 0],
6968 '28': [0, 0],
6969 '29': [0, 0],
6970 '30': [0, 0],
6971 '31': [0],
6972 '32': [0, 0],
6973 '33': [0, 0],
6974 '34': [0, 0],
6975 '35': [0, 0],
6976 '36': [0, 0],
6977 '37': [0],
6978 '38': [0, 0],
6979 '39': [0, 0],
6980 '40': [0, 0],
6981 '41': [0, 0],
6982 '42': [0],
6983 '43': [0, 0],
6984 '44': [0, 0],
6985 '45': [0, 0],
6986 '46': [0],
6987 '47': [0, 0],
6988 '48': [0],
6989 '49': [0, 0],
6990 '50': [0],
6991 '51': [0],
6992 '52': [0, 0],
6993 '53': [0, 0],
6994 '54': [0, 0],
6995 '55': [0],
6996 '56': [0],
6997 '57': [0, 0],
6998 '58': [0, 0, 0, 0],
6999 '59': [0, 0],
7000 '60': [0, 0],
7001 '61': [0, 0],
7002 '62': [0, 0],
7003 '63': [0, 0],
7004 '64': [0, 0],
7005 '65': [0, 0],
7006 '66': [0, 0],
7007 '67': [0, 0],
7008 '68': [0, 0],
7009 '69': [0, 0],
7010 '70': [0, 0],
7011 '71': [0, 0],
7012 '72': [0],
7013 '73': [0, 0],
7014 '74': [0, 0],
7015 '75': [0, 0],
7016 '76': [0, 0],
7017 '77': [0, 0]
7018 },
7019 _coverageSchema: '332fd63041d2c1bcb487cc26dd0d5f7d97098a6c'
7020 },
7021 coverage = global[gcv] || (global[gcv] = {});
7022
7023 if (coverage[path] && coverage[path].hash === hash) {
7024 return coverage[path];
7025 }
7026
7027 coverageData.hash = hash;
7028 return coverage[path] = coverageData;
7029}();
7030
7031Object.defineProperty(exports, "__esModule", {
7032 value: true
7033});
7034
7035var _stringify = require('babel-runtime/core-js/json/stringify');
7036
7037var _stringify2 = _interopRequireDefault(_stringify);
7038
7039var _typeof2 = require('babel-runtime/helpers/typeof');
7040
7041var _typeof3 = _interopRequireDefault(_typeof2);
7042
7043var _regenerator = require('babel-runtime/regenerator');
7044
7045var _regenerator2 = _interopRequireDefault(_regenerator);
7046
7047var _extends2 = require('babel-runtime/helpers/extends');
7048
7049var _extends3 = _interopRequireDefault(_extends2);
7050
7051var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator');
7052
7053var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);
7054
7055var _promise = require('babel-runtime/core-js/promise');
7056
7057var _promise2 = _interopRequireDefault(_promise);
7058
7059var _assign = require('babel-runtime/core-js/object/assign');
7060
7061var _assign2 = _interopRequireDefault(_assign);
7062
7063var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
7064
7065var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
7066
7067var _createClass2 = require('babel-runtime/helpers/createClass');
7068
7069var _createClass3 = _interopRequireDefault(_createClass2);
7070
7071var _uportCredentials = require('uport-credentials');
7072
7073var _didJwt = require('did-jwt');
7074
7075var _mobileDetect = require('mobile-detect');
7076
7077var _mobileDetect2 = _interopRequireDefault(_mobileDetect);
7078
7079var _mnid = require('mnid');
7080
7081var _uportTransports = require('uport-transports');
7082
7083var _pubsubJs = require('pubsub-js');
7084
7085var _pubsubJs2 = _interopRequireDefault(_pubsubJs);
7086
7087var _store = require('store');
7088
7089var _store2 = _interopRequireDefault(_store);
7090
7091var _uportLite = require('uport-lite');
7092
7093var _uportLite2 = _interopRequireDefault(_uportLite);
7094
7095var _util = require('./util');
7096
7097var _UportSubprovider = require('./UportSubprovider');
7098
7099var _UportSubprovider2 = _interopRequireDefault(_UportSubprovider);
7100
7101function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
7102
7103var Connect = function () {
7104 /**
7105 * Instantiates a new uPort Connect object.
7106 *
7107 * @example
7108 * import Connect from 'uport-connect'
7109 * const connect = new Connect('MydappName')
7110 *
7111 * @param {String} appName The name of your app
7112 * @param {Object} [opts] optional parameters
7113 * @param {String} [opts.description] A short description of your app that can be displayed to users when making requests
7114 * @param {String} [opts.profileImage] A URL for an image to be displayed as the avatar for this app in requests
7115 * @param {String} [opts.bannerImage] A URL for an image to be displayed as the banner for this app in requests
7116 * @param {String} [opts.brandColor] A HEX brand color to be be displayed where branding is required '#000000'
7117 * @param {Object} [opts.network='rinkeby'] network config object or string name, ie. { id: '0x1', rpcUrl: 'https://mainnet.infura.io' } or 'kovan', 'mainnet', 'ropsten', 'rinkeby'.
7118 * @param {String} [opts.accountType] Ethereum account type: "general", "segregated", "keypair", or "none"
7119 * @param {Boolean} [opts.isMobile] Configured by default by detecting client, but can optionally pass boolean to indicate whether this is instantiated on a mobile client
7120 * @param {Boolean} [opts.useStore=true] When true, object state will be written to local storage on each state change
7121 * @param {Object} [opts.store] Storage inteferface with synchronous get() => statObj and set(stateObj) functions, by default store is local storage. For asynchronous storage, set useStore false and handle manually.
7122 * @param {Boolean} [opts.usePush=true] Use the pushTransport when a pushToken is available. Set to false to force connect to use standard transport
7123 * @param {String[]} [opts.vc] An array of verified claims describing this identity
7124 * @param {Function} [opts.transport] Optional custom transport for desktop, non-push requests
7125 * @param {Function} [opts.mobileTransport] Optional custom transport for mobile requests
7126 * @param {Function} [opts.mobileUriHandler] Optional uri handler for mobile requests, if using default transports
7127 * @param {Object} [opts.muportConfig] Configuration object for muport did resolver. See [muport-did-resolver](https://github.com/uport-project/muport-did-resolver)
7128 * @param {Object} [opts.ethrConfig] Configuration object for ethr did resolver. See [ethr-did-resolver](https://github.com/uport-project/ethr-did-resolver)
7129 * @param {Object} [opts.registry] Configuration for uPort DID Resolver (DEPRECATED) See [uport-did-resolver](https://github.com/uport-project/uport-did-resolver)
7130 * @return {Connect} self
7131 */
7132 function Connect(appName) {
7133 var _this = this;
7134
7135 var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : (cov_1ytb5bt5lt.b[0][0]++, {});
7136 (0, _classCallCheck3.default)(this, Connect);
7137 cov_1ytb5bt5lt.f[0]++;
7138 cov_1ytb5bt5lt.s[0]++;
7139
7140 // Config
7141 this.appName = (cov_1ytb5bt5lt.b[1][0]++, appName) || (cov_1ytb5bt5lt.b[1][1]++, 'uport-connect-app');
7142 cov_1ytb5bt5lt.s[1]++;
7143 this.description = opts.description;
7144 cov_1ytb5bt5lt.s[2]++;
7145 this.profileImage = opts.profileImage;
7146 cov_1ytb5bt5lt.s[3]++;
7147 this.bannerImage = opts.bannerImage;
7148 cov_1ytb5bt5lt.s[4]++;
7149 this.brandColor = opts.brandColor;
7150 cov_1ytb5bt5lt.s[5]++;
7151 this.network = _uportTransports.network.config.network(opts.network);
7152 cov_1ytb5bt5lt.s[6]++;
7153 this.accountType = opts.accountType === 'none' ? (cov_1ytb5bt5lt.b[2][0]++, undefined) : (cov_1ytb5bt5lt.b[2][1]++, opts.accountType);
7154 cov_1ytb5bt5lt.s[7]++;
7155 this.isOnMobile = opts.isMobile === undefined ? (cov_1ytb5bt5lt.b[3][0]++, (0, _util.isMobile)()) : (cov_1ytb5bt5lt.b[3][1]++, opts.isMobile);
7156 cov_1ytb5bt5lt.s[8]++;
7157 this.useStore = opts.useStore === undefined ? (cov_1ytb5bt5lt.b[4][0]++, true) : (cov_1ytb5bt5lt.b[4][1]++, opts.useStore);
7158 cov_1ytb5bt5lt.s[9]++;
7159 this.usePush = opts.usePush === undefined ? (cov_1ytb5bt5lt.b[5][0]++, true) : (cov_1ytb5bt5lt.b[5][1]++, opts.usePush);
7160 cov_1ytb5bt5lt.s[10]++;
7161 this.vc = Array.isArray(opts.vc) ? (cov_1ytb5bt5lt.b[6][0]++, opts.vc) : (cov_1ytb5bt5lt.b[6][1]++, []);
7162
7163 // Disallow segregated account on mainnet
7164 cov_1ytb5bt5lt.s[11]++;
7165 if ((cov_1ytb5bt5lt.b[8][0]++, this.network === _uportTransports.network.defaults.networks.mainnet) && (cov_1ytb5bt5lt.b[8][1]++, this.accountType === 'segregated')) {
7166 cov_1ytb5bt5lt.b[7][0]++;
7167 cov_1ytb5bt5lt.s[12]++;
7168
7169 throw new Error('Segregated accounts are not supported on mainnet');
7170 } else {
7171 cov_1ytb5bt5lt.b[7][1]++;
7172 }
7173
7174 // Storage
7175 cov_1ytb5bt5lt.s[13]++;
7176 this.store = (cov_1ytb5bt5lt.b[9][0]++, opts.store) || (cov_1ytb5bt5lt.b[9][1]++, new LocalStorageStore());
7177
7178 // Initialize private state
7179 cov_1ytb5bt5lt.s[14]++;
7180 this._state = {};
7181
7182 // Load any existing state if any
7183 cov_1ytb5bt5lt.s[15]++;
7184 if (this.useStore) {
7185 cov_1ytb5bt5lt.b[10][0]++;
7186 cov_1ytb5bt5lt.s[16]++;
7187 this.loadState();
7188 } else {
7189 cov_1ytb5bt5lt.b[10][1]++;
7190 }cov_1ytb5bt5lt.s[17]++;
7191 if (!this.keypair.did) {
7192 cov_1ytb5bt5lt.b[11][0]++;
7193 cov_1ytb5bt5lt.s[18]++;
7194 this.keypair = _uportCredentials.Credentials.createIdentity();
7195 } else {
7196 cov_1ytb5bt5lt.b[11][1]++;
7197 } // Transports
7198 cov_1ytb5bt5lt.s[19]++;
7199 this.PubSub = _pubsubJs2.default;
7200 cov_1ytb5bt5lt.s[20]++;
7201 this.transport = (cov_1ytb5bt5lt.b[12][0]++, opts.transport) || (cov_1ytb5bt5lt.b[12][1]++, connectTransport(appName));
7202 cov_1ytb5bt5lt.s[21]++;
7203 this.useDeeplinks = true;
7204 cov_1ytb5bt5lt.s[22]++;
7205 this.mobileTransport = (cov_1ytb5bt5lt.b[13][0]++, opts.mobileTransport) || (cov_1ytb5bt5lt.b[13][1]++, _uportTransports.transport.url.send({
7206 uriHandler: opts.mobileUriHandler,
7207 messageToURI: function messageToURI(m) {
7208 cov_1ytb5bt5lt.f[1]++;
7209 cov_1ytb5bt5lt.s[23]++;
7210 return _this.useDeeplinks ? (cov_1ytb5bt5lt.b[14][0]++, _uportTransports.message.util.messageToDeeplinkURI(m)) : (cov_1ytb5bt5lt.b[14][1]++, _uportTransports.message.util.messageToUniversalURI(m));
7211 }
7212 }));
7213 cov_1ytb5bt5lt.s[24]++;
7214 this.onloadResponse = (cov_1ytb5bt5lt.b[15][0]++, opts.onloadResponse) || (cov_1ytb5bt5lt.b[15][1]++, _uportTransports.transport.url.getResponse());
7215 cov_1ytb5bt5lt.s[25]++;
7216 this.pushTransport = (cov_1ytb5bt5lt.b[17][0]++, this.pushToken) && (cov_1ytb5bt5lt.b[17][1]++, this.publicEncKey) ? (cov_1ytb5bt5lt.b[16][0]++, pushTransport(this.pushToken, this.publicEncKey)) : (cov_1ytb5bt5lt.b[16][1]++, undefined);
7217 cov_1ytb5bt5lt.s[26]++;
7218 _uportTransports.transport.url.listenResponse(function (err, res) {
7219 cov_1ytb5bt5lt.f[2]++;
7220 cov_1ytb5bt5lt.s[27]++;
7221
7222 if (err) {
7223 cov_1ytb5bt5lt.b[18][0]++;
7224 cov_1ytb5bt5lt.s[28]++;
7225 throw err;
7226 } else {
7227 cov_1ytb5bt5lt.b[18][1]++;
7228 } // Switch to deep links after first universal link success
7229 cov_1ytb5bt5lt.s[29]++;
7230 _this.useDeeplinks = true;
7231 cov_1ytb5bt5lt.s[30]++;
7232 _this.pubResponse(res);
7233 });
7234
7235 // Credential (uport-js) config for verification
7236 cov_1ytb5bt5lt.s[31]++;
7237 this.registry = (cov_1ytb5bt5lt.b[19][0]++, opts.registry) || (cov_1ytb5bt5lt.b[19][1]++, (0, _uportLite2.default)({ networks: _uportTransports.network.config.networkToNetworkSet(this.network) }));
7238 cov_1ytb5bt5lt.s[32]++;
7239 this.resolverConfigs = { registry: this.registry, ethrConfig: opts.ethrConfig, muportConfig: opts.muportConfig };
7240 cov_1ytb5bt5lt.s[33]++;
7241 this.credentials = new _uportCredentials.Credentials((0, _assign2.default)(this.keypair, this.resolverConfigs)); // TODO can resolver configs not be passed through
7242 }
7243
7244 /**
7245 * Instantiates and returns a web3 styple provider wrapped with uPort functionality.
7246 * For more details see uportSubprovider. uPort overrides eth_coinbase and eth_accounts
7247 * to start a get address flow or to return an already received address. It also
7248 * overrides eth_sendTransaction to start the send transaction flow to pass the
7249 * transaction to the uPort app.
7250 *
7251 * @example
7252 * const uportProvider = connect.getProvider()
7253 * const web3 = new Web3(uportProvider)
7254 *
7255 * @param {Object} [provider] An optional web3 style provider to wrap, default is a http provider, non standard provider may cause unexpected behavior, using default is suggested.
7256 * @return {UportSubprovider} A web3 style provider wrapped with uPort functionality
7257 */
7258
7259
7260 (0, _createClass3.default)(Connect, [{
7261 key: 'getProvider',
7262 value: function getProvider(provider) {
7263 var _this2 = this;
7264
7265 cov_1ytb5bt5lt.f[3]++;
7266
7267 var subProvider = (cov_1ytb5bt5lt.s[34]++, new _UportSubprovider2.default({
7268 requestAddress: function requestAddress() {
7269 cov_1ytb5bt5lt.f[4]++;
7270
7271 var requestID = (cov_1ytb5bt5lt.s[35]++, 'addressReqProvider');
7272 cov_1ytb5bt5lt.s[36]++;
7273 _this2.requestDisclosure({ accountType: (cov_1ytb5bt5lt.b[20][0]++, _this2.accountType) || (cov_1ytb5bt5lt.b[20][1]++, 'keypair') }, requestID);
7274 cov_1ytb5bt5lt.s[37]++;
7275 return _this2.onResponse(requestID).then(function (res) {
7276 cov_1ytb5bt5lt.f[5]++;
7277 cov_1ytb5bt5lt.s[38]++;
7278 return res.payload.address;
7279 });
7280 },
7281 sendTransaction: function sendTransaction(txObj) {
7282 cov_1ytb5bt5lt.f[6]++;
7283 cov_1ytb5bt5lt.s[39]++;
7284
7285 delete txObj['from'];
7286 var requestID = (cov_1ytb5bt5lt.s[40]++, 'txReqProvider');
7287 cov_1ytb5bt5lt.s[41]++;
7288 _this2.sendTransaction(txObj, requestID);
7289 cov_1ytb5bt5lt.s[42]++;
7290 return _this2.onResponse(requestID).then(function (res) {
7291 cov_1ytb5bt5lt.f[7]++;
7292 cov_1ytb5bt5lt.s[43]++;
7293 return res.payload;
7294 });
7295 },
7296 signTypedData: function signTypedData(typedData) {
7297 cov_1ytb5bt5lt.f[8]++;
7298
7299 var requestID = (cov_1ytb5bt5lt.s[44]++, 'typedDataSigReqProvider');
7300 cov_1ytb5bt5lt.s[45]++;
7301 _this2.requestTypedDataSignature(typedData, requestID);
7302 cov_1ytb5bt5lt.s[46]++;
7303 return _this2.onResponse(requestID).then(function (res) {
7304 cov_1ytb5bt5lt.f[9]++;
7305 cov_1ytb5bt5lt.s[47]++;
7306 return res.payload;
7307 });
7308 },
7309 personalSign: function personalSign(data) {
7310 cov_1ytb5bt5lt.f[10]++;
7311
7312 var requestID = (cov_1ytb5bt5lt.s[48]++, 'personalSignReqProvider');
7313 cov_1ytb5bt5lt.s[49]++;
7314 _this2.requestPersonalSign(data, requestID);
7315 cov_1ytb5bt5lt.s[50]++;
7316 return _this2.onResponse(requestID).then(function (res) {
7317 cov_1ytb5bt5lt.f[11]++;
7318 cov_1ytb5bt5lt.s[51]++;
7319 return res.payload;
7320 });
7321 },
7322 provider: provider, network: this.network
7323 }));
7324 cov_1ytb5bt5lt.s[52]++;
7325 if (this.address) {
7326 cov_1ytb5bt5lt.b[21][0]++;
7327 cov_1ytb5bt5lt.s[53]++;
7328 subProvider.setAccount(this.address);
7329 } else {
7330 cov_1ytb5bt5lt.b[21][1]++;
7331 }cov_1ytb5bt5lt.s[54]++;
7332 return subProvider;
7333 }
7334
7335 /**
7336 * Get response by id of earlier request, returns promise which resolves when first
7337 * reponse with given id is available. If looking for multiple responses of same id,
7338 * listen instead by passing a callback.
7339 *
7340 * @param {String} id id of request you are waiting for a response for
7341 * @param {Function} cb an optional callback function, which is called each time a valid repsonse for a given id is available vs having a single promise returned
7342 * @return {Promise<Object, Error>} promise resolves once valid response for given id is avaiable, otherwise rejects with error, no promised returned if callback given
7343 */
7344
7345 }, {
7346 key: 'onResponse',
7347 value: function onResponse(id, cb) {
7348 var _this3 = this;
7349
7350 cov_1ytb5bt5lt.f[12]++;
7351 cov_1ytb5bt5lt.s[55]++;
7352
7353 var parseResponse = function parseResponse(res) {
7354 cov_1ytb5bt5lt.f[13]++;
7355 cov_1ytb5bt5lt.s[56]++;
7356
7357 if (res.error) {
7358 cov_1ytb5bt5lt.b[22][0]++;
7359 cov_1ytb5bt5lt.s[57]++;
7360 return _promise2.default.reject((0, _assign2.default)({ id: id }, res));
7361 } else {
7362 cov_1ytb5bt5lt.b[22][1]++;
7363 }cov_1ytb5bt5lt.s[58]++;
7364 if (_uportTransports.message.util.isJWT(res.payload)) {
7365 cov_1ytb5bt5lt.b[23][0]++;
7366
7367 var jwt = (cov_1ytb5bt5lt.s[59]++, res.payload);
7368 var decoded = (cov_1ytb5bt5lt.s[60]++, (0, _didJwt.decodeJWT)(jwt));
7369 cov_1ytb5bt5lt.s[61]++;
7370 if (decoded.payload.claim) {
7371 cov_1ytb5bt5lt.b[24][0]++;
7372 cov_1ytb5bt5lt.s[62]++;
7373
7374 return _promise2.default.resolve((0, _assign2.default)({ id: id }, res));
7375 } else {
7376 cov_1ytb5bt5lt.b[24][1]++;
7377 }
7378 cov_1ytb5bt5lt.s[63]++;
7379 return _this3.verifyResponse(jwt).then(function (parsedRes) {
7380 cov_1ytb5bt5lt.f[14]++;
7381 cov_1ytb5bt5lt.s[64]++;
7382
7383 // Set identifiers present in the response
7384 // TODO maybe just change name in uport-js
7385 if (parsedRes.boxPub) {
7386 cov_1ytb5bt5lt.b[25][0]++;
7387 cov_1ytb5bt5lt.s[65]++;
7388 parsedRes.publicEncKey = parsedRes.boxPub;
7389 } else {
7390 cov_1ytb5bt5lt.b[25][1]++;
7391 }cov_1ytb5bt5lt.s[66]++;
7392 _this3.setState(parsedRes);
7393 cov_1ytb5bt5lt.s[67]++;
7394 return { id: id, payload: parsedRes, data: res.data };
7395 });
7396 } else {
7397 cov_1ytb5bt5lt.b[23][1]++;
7398 cov_1ytb5bt5lt.s[68]++;
7399
7400 return _promise2.default.resolve((0, _assign2.default)({ id: id }, res));
7401 }
7402 };
7403
7404 cov_1ytb5bt5lt.s[69]++;
7405 if ((cov_1ytb5bt5lt.b[27][0]++, this.onloadResponse) && (cov_1ytb5bt5lt.b[27][1]++, this.onloadResponse.id === id)) {
7406 cov_1ytb5bt5lt.b[26][0]++;
7407
7408 var onloadResponse = (cov_1ytb5bt5lt.s[70]++, this.onloadResponse);
7409 cov_1ytb5bt5lt.s[71]++;
7410 this.onloadResponse = null;
7411 cov_1ytb5bt5lt.s[72]++;
7412 return parseResponse(onloadResponse);
7413 } else {
7414 cov_1ytb5bt5lt.b[26][1]++;
7415 }
7416
7417 cov_1ytb5bt5lt.s[73]++;
7418 if (cb) {
7419 cov_1ytb5bt5lt.b[28][0]++;
7420 cov_1ytb5bt5lt.s[74]++;
7421
7422 this.PubSub.subscribe(id, function (msg, res) {
7423 cov_1ytb5bt5lt.f[15]++;
7424 cov_1ytb5bt5lt.s[75]++;
7425
7426 parseResponse(res).then(function (res) {
7427 cov_1ytb5bt5lt.f[16]++;
7428 cov_1ytb5bt5lt.s[76]++;
7429 cb(null, res);
7430 }, function (err) {
7431 cov_1ytb5bt5lt.f[17]++;
7432 cov_1ytb5bt5lt.s[77]++;
7433 cb(err, null);
7434 });
7435 });
7436 } else {
7437 cov_1ytb5bt5lt.b[28][1]++;
7438 cov_1ytb5bt5lt.s[78]++;
7439
7440 return new _promise2.default(function (resolve, reject) {
7441 cov_1ytb5bt5lt.f[18]++;
7442 cov_1ytb5bt5lt.s[79]++;
7443
7444 _this3.PubSub.subscribe(id, function (msg, res) {
7445 cov_1ytb5bt5lt.f[19]++;
7446 cov_1ytb5bt5lt.s[80]++;
7447
7448 _this3.PubSub.unsubscribe(id);
7449 cov_1ytb5bt5lt.s[81]++;
7450 parseResponse(res).then(resolve, reject);
7451 });
7452 });
7453 }
7454 }
7455
7456 /**
7457 * Push a response payload to uPort connect to be handled. Useful if implementing your own transports
7458 * and you are getting responses with your own functions, listeners, event handlers etc. It will
7459 * parse the response and resolve it to any listening onResponse functions with the matching id. A
7460 * response object in connect is of the form {id, payload, data}, where payload and id required. Payload is the
7461 * response payload (url or JWT) from a uPort client.
7462 *
7463 * @param {Object} response a wrapped response payload, of form {id, res, data}, res and id required
7464 */
7465
7466 }, {
7467 key: 'pubResponse',
7468 value: function pubResponse(response) {
7469 cov_1ytb5bt5lt.f[20]++;
7470 cov_1ytb5bt5lt.s[82]++;
7471
7472 if ((cov_1ytb5bt5lt.b[30][0]++, !response) || (cov_1ytb5bt5lt.b[30][1]++, !response.id)) {
7473 cov_1ytb5bt5lt.b[29][0]++;
7474 cov_1ytb5bt5lt.s[83]++;
7475 throw new Error('Response payload requires an id');
7476 } else {
7477 cov_1ytb5bt5lt.b[29][1]++;
7478 }cov_1ytb5bt5lt.s[84]++;
7479 this.PubSub.publish(response.id, { payload: response.payload, data: response.data });
7480 }
7481
7482 /**
7483 * @private
7484 * Verify a jwt and save the resulting doc to this instance, then process the
7485 * disclosure payload with this.credentials
7486 * @param {JWT} token the JWT to be verified
7487 */
7488
7489 }, {
7490 key: 'verifyResponse',
7491 value: function verifyResponse(token) {
7492 var _this4 = this;
7493
7494 cov_1ytb5bt5lt.f[21]++;
7495 cov_1ytb5bt5lt.s[85]++;
7496
7497 return (0, _didJwt.verifyJWT)(token, { audience: this.credentials.did }).then(function (res) {
7498 cov_1ytb5bt5lt.f[22]++;
7499 cov_1ytb5bt5lt.s[86]++;
7500
7501 _this4.doc = res.doc;
7502 cov_1ytb5bt5lt.s[87]++;
7503 return _this4.credentials.processDisclosurePayload(res);
7504 });
7505 }
7506
7507 /**
7508 * Send a request message to a uPort client. Useful function if you want to pass additional transport options and/or send a request you already created elsewhere.
7509 *
7510 * @param {String} request a request message to send to a uPort client
7511 * @param {String} id id of the request, which you will later use to handle the response
7512 * @param {Object} [opts] optional parameters for a callback, see (specs for more details)[https://github.com/uport-project/specs/blob/develop/messages/index.md]
7513 * @param {String} opts.redirectUrl If on mobile client, the url you want the uPort client to return control to once it completes it's flow. Depending on the params below, this redirect can include the response or it may be returned to the callback in the request token.
7514 * @param {String} opts.data A string of any data you want later returned with the response. It may be contextual to the original request. (i.e. a request id from your server)
7515 * @param {String} opts.type Type specifies the callback action. 'post' to send response to callback in request token or 'redirect' to send response in redirect url.
7516 * @param {Function} opts.cancel When using the default QR send, but handling the response yourself, this function will be called when a user closes the request modal.
7517 */
7518
7519 }, {
7520 key: 'send',
7521 value: function send(request, id) {
7522 var _this5 = this;
7523
7524 var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : (cov_1ytb5bt5lt.b[31][0]++, {}),
7525 redirectUrl = _ref.redirectUrl,
7526 data = _ref.data,
7527 type = _ref.type,
7528 cancel = _ref.cancel;
7529
7530 cov_1ytb5bt5lt.f[23]++;
7531 cov_1ytb5bt5lt.s[88]++;
7532
7533 if (!id) {
7534 cov_1ytb5bt5lt.b[32][0]++;
7535 cov_1ytb5bt5lt.s[89]++;
7536 throw new Error('Requires request id');
7537 } else {
7538 cov_1ytb5bt5lt.b[32][1]++;
7539 }cov_1ytb5bt5lt.s[90]++;
7540 if (this.isOnMobile) {
7541 cov_1ytb5bt5lt.b[33][0]++;
7542 cov_1ytb5bt5lt.s[91]++;
7543
7544 if (!redirectUrl & !type) {
7545 cov_1ytb5bt5lt.b[34][0]++;
7546 cov_1ytb5bt5lt.s[92]++;
7547 type = 'redirect';
7548 } else {
7549 cov_1ytb5bt5lt.b[34][1]++;
7550 }cov_1ytb5bt5lt.s[93]++;
7551 this.mobileTransport(request, { id: id, data: data, redirectUrl: redirectUrl, type: type });
7552 } else {
7553 cov_1ytb5bt5lt.b[33][1]++;
7554 cov_1ytb5bt5lt.s[94]++;
7555 if ((cov_1ytb5bt5lt.b[36][0]++, this.usePush) && (cov_1ytb5bt5lt.b[36][1]++, this.pushTransport)) {
7556 cov_1ytb5bt5lt.b[35][0]++;
7557 cov_1ytb5bt5lt.s[95]++;
7558
7559 this.pushTransport(request, { data: data }).then(function (res) {
7560 cov_1ytb5bt5lt.f[24]++;
7561 cov_1ytb5bt5lt.s[96]++;
7562 return _this5.PubSub.publish(id, res);
7563 });
7564 } else {
7565 cov_1ytb5bt5lt.b[35][1]++;
7566 cov_1ytb5bt5lt.s[97]++;
7567
7568 this.transport(request, { data: data, cancel: cancel }).then(function (res) {
7569 cov_1ytb5bt5lt.f[25]++;
7570 cov_1ytb5bt5lt.s[98]++;
7571 return _this5.PubSub.publish(id, res);
7572 });
7573 }
7574 }
7575 }
7576
7577 /**
7578 * Builds and returns a contract object which can be used to interact with
7579 * a given contract. Similar to web3.eth.contract. Once specifying .at(address)
7580 * you can call the contract functions with this object. It will create a transaction
7581 * sign request and send it. Functionality limited to function calls which require sending
7582 * a transaction, as these are the only calls which require interaction with a uPort client.
7583 * For reading and/or events use web3 alongside or a similar library.
7584 *
7585 * @example
7586 * const abi = [{"constant":false,"inputs":[{"name":"status","type":"string"}],"name":"updateStatus","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"addr","type":"address"}],"name":"getStatus","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"}]
7587 * const StatusContract = connect.contract(abi).at('0x70A804cCE17149deB6030039798701a38667ca3B')
7588 * const reqId = 'updateStatus'
7589 * StatusContract.updateStatus('helloStatus', reqId)
7590 * connect.onResponse('reqId').then(res => {
7591 * const txHash = res.payload
7592 * })
7593 *
7594 * @param {Object} abi contract ABI
7595 * @return {Object} contract object
7596 */
7597
7598 }, {
7599 key: 'contract',
7600 value: function contract(abi) {
7601 var _this6 = this;
7602
7603 cov_1ytb5bt5lt.f[26]++;
7604 cov_1ytb5bt5lt.s[99]++;
7605
7606 var txObjHandler = function txObjHandler(txObj, id, sendOpts) {
7607 cov_1ytb5bt5lt.f[27]++;
7608 cov_1ytb5bt5lt.s[100]++;
7609
7610 txObj.fn = txObj.function;
7611 cov_1ytb5bt5lt.s[101]++;
7612 delete txObj['function'];
7613 cov_1ytb5bt5lt.s[102]++;
7614 return _this6.sendTransaction(txObj, id, sendOpts);
7615 };
7616 cov_1ytb5bt5lt.s[103]++;
7617 return (0, _uportCredentials.ContractFactory)(txObjHandler.bind(this))(abi);
7618 }
7619
7620 /**
7621 * Given a transaction object (similarly defined as the web3 transaction object)
7622 * it creates a transaction request and sends it. A transaction hash is later
7623 * returned as the response if the user selected to sign it.
7624 *
7625 * @example
7626 * const txobject = {
7627 * to: '0xc3245e75d3ecd1e81a9bfb6558b6dafe71e9f347',
7628 * value: '0.1',
7629 * fn: "setStatus(string 'hello', bytes32 '0xc3245e75d3ecd1e81a9bfb6558b6dafe71e9f347')",
7630 * appName: 'MyDapp'
7631 * }
7632 * connect.sendTransaction(txobject, 'setStatus')
7633 * connect.onResponse('setStatus').then(res => {
7634 * const txHash = res.payload
7635 * })
7636 *
7637 * @param {Object} txObj
7638 * @param {String} [id='txReq'] string to identify request, later used to get response, name of function call is used by default, if not a function call, the default is 'txReq'
7639 * @param {Object} [sendOpts] reference send function options
7640 */
7641
7642 }, {
7643 key: 'sendTransaction',
7644 value: function () {
7645 var _ref2 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee() {
7646 var txObj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : (cov_1ytb5bt5lt.b[37][0]++, {});
7647
7648 var _this7 = this;
7649
7650 var id = arguments[1];
7651 var sendOpts = arguments[2];
7652 return _regenerator2.default.wrap(function _callee$(_context) {
7653 while (1) {
7654 switch (_context.prev = _context.next) {
7655 case 0:
7656 cov_1ytb5bt5lt.f[28]++;
7657 cov_1ytb5bt5lt.s[104]++;
7658
7659 if (txObj.vc) {
7660 _context.next = 9;
7661 break;
7662 }
7663
7664 cov_1ytb5bt5lt.b[38][0]++;
7665 cov_1ytb5bt5lt.s[105]++;
7666 _context.next = 7;
7667 return this.signAndUploadProfile();
7668
7669 case 7:
7670 _context.next = 10;
7671 break;
7672
7673 case 9:
7674 cov_1ytb5bt5lt.b[38][1]++;
7675
7676 case 10:
7677 cov_1ytb5bt5lt.s[106]++;
7678
7679 txObj = (0, _extends3.default)({
7680 vc: this.vc }, txObj, {
7681 to: (0, _mnid.isMNID)(txObj.to) ? (cov_1ytb5bt5lt.b[39][0]++, txObj.to) : (cov_1ytb5bt5lt.b[39][1]++, (0, _mnid.encode)({ network: this.network.id, address: txObj.to })),
7682 rpcUrl: this.network.rpcUrl
7683
7684 // Create default id, where id is function name, or txReq if no function name
7685 });cov_1ytb5bt5lt.s[107]++;
7686 if (!id) {
7687 cov_1ytb5bt5lt.b[40][0]++;
7688 cov_1ytb5bt5lt.s[108]++;
7689 id = txObj.fn ? (cov_1ytb5bt5lt.b[41][0]++, txObj.fn.split('(')[0]) : (cov_1ytb5bt5lt.b[41][1]++, 'txReq');
7690 } else {
7691 cov_1ytb5bt5lt.b[40][1]++;
7692 }cov_1ytb5bt5lt.s[109]++;
7693 this.credentials.createTxRequest(txObj, { callbackUrl: this.genCallback(id) }).then(function (jwt) {
7694 cov_1ytb5bt5lt.f[29]++;
7695 cov_1ytb5bt5lt.s[110]++;
7696 return _this7.send(jwt, id, sendOpts);
7697 });
7698
7699 case 16:
7700 case 'end':
7701 return _context.stop();
7702 }
7703 }
7704 }, _callee, this);
7705 }));
7706
7707 function sendTransaction() {
7708 return _ref2.apply(this, arguments);
7709 }
7710
7711 return sendTransaction;
7712 }()
7713
7714 /**
7715 * Creates and sends a request for a user to [sign a verification](https://github.com/uport-project/specs/blob/develop/messages/verificationreq.md) and sends the request to the uPort user.
7716 *
7717 * @example
7718 * const unsignedClaim = {
7719 * claim: {
7720 * "Citizen of city X": {
7721 * "Allowed to vote": true,
7722 * "Document": "QmZZBBKPS2NWc6PMZbUk9zUHCo1SHKzQPPX4ndfwaYzmPW"
7723 * }
7724 * },
7725 * sub: "did:ethr:0x413daa771a2fc9c5ae5a66abd144881ef2498c54"
7726 * }
7727 * connect.requestVerificationSignature(unsignedClaim).then(jwt => {
7728 * ...
7729 * })
7730 *
7731 * @param {Object} unsignedClaim unsigned claim object which you want the user to attest
7732 * @param {String} sub the DID which the unsigned claim is about
7733 * @param {String} [id='signVerReq'] string to identify request, later used to get response
7734 * @param {Object} [sendOpts] reference send function options
7735 */
7736
7737 }, {
7738 key: 'requestVerificationSignature',
7739 value: function () {
7740 var _ref3 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee2(unsignedClaim, opts) {
7741 var _this8 = this;
7742
7743 var id = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : (cov_1ytb5bt5lt.b[42][0]++, 'verSigReq');
7744 var sendOpts = arguments[3];
7745 return _regenerator2.default.wrap(function _callee2$(_context2) {
7746 while (1) {
7747 switch (_context2.prev = _context2.next) {
7748 case 0:
7749 cov_1ytb5bt5lt.f[30]++;
7750 cov_1ytb5bt5lt.s[111]++;
7751 _context2.next = 4;
7752 return this.signAndUploadProfile();
7753
7754 case 4:
7755 cov_1ytb5bt5lt.s[112]++;
7756
7757 if (!(typeof opts === 'string')) {
7758 _context2.next = 13;
7759 break;
7760 }
7761
7762 cov_1ytb5bt5lt.b[43][0]++;
7763 cov_1ytb5bt5lt.s[113]++;
7764
7765 console.warn('The subject argument is deprecated, use option object with {sub: sub, ...}');
7766 cov_1ytb5bt5lt.s[114]++;
7767 opts = { sub: opts };
7768 _context2.next = 22;
7769 break;
7770
7771 case 13:
7772 cov_1ytb5bt5lt.b[43][1]++;
7773 cov_1ytb5bt5lt.s[115]++;
7774
7775 if (!((cov_1ytb5bt5lt.b[45][0]++, !opts) || (cov_1ytb5bt5lt.b[45][1]++, !opts.sub))) {
7776 _context2.next = 21;
7777 break;
7778 }
7779
7780 cov_1ytb5bt5lt.b[44][0]++;
7781 cov_1ytb5bt5lt.s[116]++;
7782 throw new Error('Missing required field sub in opts. Received: ' + opts);
7783
7784 case 21:
7785 cov_1ytb5bt5lt.b[44][1]++;
7786
7787 case 22:
7788 cov_1ytb5bt5lt.s[117]++;
7789
7790
7791 this.credentials.createVerificationSignatureRequest(unsignedClaim, (0, _extends3.default)({}, opts, { aud: this.did, callbackUrl: this.genCallback(id), vc: this.vc })).then(function (jwt) {
7792 cov_1ytb5bt5lt.f[31]++;
7793 cov_1ytb5bt5lt.s[118]++;
7794 return _this8.send(jwt, id, sendOpts);
7795 });
7796
7797 case 24:
7798 case 'end':
7799 return _context2.stop();
7800 }
7801 }
7802 }, _callee2, this);
7803 }));
7804
7805 function requestVerificationSignature(_x5, _x6) {
7806 return _ref3.apply(this, arguments);
7807 }
7808
7809 return requestVerificationSignature;
7810 }()
7811
7812 /**
7813 * Creates and sends a request to a user to sign a piece of ERC712 Typed Data
7814 *
7815 * @param {Object} typedData an object containing unsigned typed, structured data that follows the ERC712 specification
7816 * @param {String} [id='typedDataSigReq'] string to identify request, later used to get response
7817 * @param {Object} [sendOpts] reference send function options
7818 */
7819
7820 }, {
7821 key: 'requestTypedDataSignature',
7822 value: function requestTypedDataSignature(typedData) {
7823 var _this9 = this;
7824
7825 var id = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : (cov_1ytb5bt5lt.b[46][0]++, 'typedDataSigReq');
7826 var sendOpts = arguments[2];
7827 cov_1ytb5bt5lt.f[32]++;
7828
7829 var opts = (cov_1ytb5bt5lt.s[119]++, {
7830 callback: this.genCallback(id),
7831 net: this.network.id
7832 });
7833 cov_1ytb5bt5lt.s[120]++;
7834 if (this.address) {
7835 cov_1ytb5bt5lt.b[47][0]++;
7836 cov_1ytb5bt5lt.s[121]++;
7837 opts.from = this.address;
7838 } else {
7839 cov_1ytb5bt5lt.b[47][1]++;
7840 }cov_1ytb5bt5lt.s[122]++;
7841 this.credentials.createTypedDataSignatureRequest(typedData, opts).then(function (jwt) {
7842 cov_1ytb5bt5lt.f[33]++;
7843 cov_1ytb5bt5lt.s[123]++;
7844 return _this9.send(jwt, id, sendOpts);
7845 });
7846 }
7847
7848 /**
7849 * Creates and sends a request to a user to sign an arbitrary data string
7850 *
7851 * @param {String} data a string representing a piece of arbitrary data
7852 * @param {String} [id='personalSignReq']
7853 * @param {Object} [sendOpts]
7854 */
7855
7856 }, {
7857 key: 'requestPersonalSign',
7858 value: function requestPersonalSign(data) {
7859 var _this10 = this;
7860
7861 var id = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : (cov_1ytb5bt5lt.b[48][0]++, 'personalSignReq');
7862 var sendOpts = arguments[2];
7863 cov_1ytb5bt5lt.f[34]++;
7864
7865 var opts = (cov_1ytb5bt5lt.s[124]++, {
7866 callback: this.genCallback(id),
7867 net: this.network.id
7868 });
7869 cov_1ytb5bt5lt.s[125]++;
7870 if (this.address) {
7871 cov_1ytb5bt5lt.b[49][0]++;
7872 cov_1ytb5bt5lt.s[126]++;
7873 opts.from = this.address;
7874 } else {
7875 cov_1ytb5bt5lt.b[49][1]++;
7876 }cov_1ytb5bt5lt.s[127]++;
7877 this.credentials.createPersonalSignRequest(data, opts).then(function (jwt) {
7878 cov_1ytb5bt5lt.f[35]++;
7879 cov_1ytb5bt5lt.s[128]++;
7880 return _this10.send(jwt, id, sendOpts);
7881 });
7882 }
7883
7884 /**
7885 * Creates a [Selective Disclosure Request JWT](https://github.com/uport-project/specs/blob/develop/messages/sharereq.md) and sends request message to uPort client.
7886 *
7887 * @example
7888 * const req = { requested: ['name', 'country'],
7889 * callbackUrl: 'https://myserver.com',
7890 * notifications: true }
7891 * const reqID = 'disclosureReq'
7892 * connect.requestDisclosure(req, reqID)
7893 * connect.onResponse(reqID).then(jwt => {
7894 * ...
7895 * })
7896 *
7897 * @param {Object} [reqObj={}] request params object
7898 * @param {Array} reqObj.requested an array of attributes for which you are requesting credentials to be shared for
7899 * @param {Array} reqObj.verified an array of attributes for which you are requesting verified credentials to be shared for
7900 * @param {Boolean} reqObj.notifications boolean if you want to request the ability to send push notifications
7901 * @param {String} reqObj.callbackUrl the url which you want to receive the response of this request
7902 * @param {String} reqObj.networkId Override default network id of Ethereum chain of identity eg. 0x4 for rinkeby
7903 * @param {String} reqObj.rpcUrl Override default JSON RPC url for networkId. This is generally only required for use with private chains.
7904 * @param {String} reqObj.accountType Ethereum account type: "general", "keypair", or "none"
7905 * @param {Number} reqObj.expiresIn Seconds until expiry
7906 * @param {String} [id='disclosureReq'] string to identify request, later used to get response
7907 * @param {Object} [sendOpts] reference send function options
7908 */
7909
7910 }, {
7911 key: 'requestDisclosure',
7912 value: function () {
7913 var _ref4 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee3() {
7914 var reqObj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : (cov_1ytb5bt5lt.b[50][0]++, {});
7915
7916 var _this11 = this;
7917
7918 var id = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : (cov_1ytb5bt5lt.b[51][0]++, 'disclosureReq');
7919 var sendOpts = arguments[2];
7920 return _regenerator2.default.wrap(function _callee3$(_context3) {
7921 while (1) {
7922 switch (_context3.prev = _context3.next) {
7923 case 0:
7924 cov_1ytb5bt5lt.f[36]++;
7925 cov_1ytb5bt5lt.s[129]++;
7926
7927 if (reqObj.vc) {
7928 _context3.next = 9;
7929 break;
7930 }
7931
7932 cov_1ytb5bt5lt.b[52][0]++;
7933 cov_1ytb5bt5lt.s[130]++;
7934 _context3.next = 7;
7935 return this.signAndUploadProfile();
7936
7937 case 7:
7938 _context3.next = 10;
7939 break;
7940
7941 case 9:
7942 cov_1ytb5bt5lt.b[52][1]++;
7943
7944 case 10:
7945 cov_1ytb5bt5lt.s[131]++;
7946
7947 // Augment request object with verified claims, accountType, and a callback url
7948 reqObj = (0, _assign2.default)({
7949 vc: this.vc,
7950 accountType: (cov_1ytb5bt5lt.b[53][0]++, this.accountType) || (cov_1ytb5bt5lt.b[53][1]++, 'none'),
7951 callbackUrl: this.genCallback(id)
7952 }, reqObj);
7953
7954 cov_1ytb5bt5lt.s[132]++;
7955 if (reqObj.accountType != 'none') {
7956 cov_1ytb5bt5lt.b[54][0]++;
7957 cov_1ytb5bt5lt.s[133]++;
7958
7959 reqObj.networkId = this.network.id;
7960 cov_1ytb5bt5lt.s[134]++;
7961 reqObj.rpcUrl = this.network.rpcUrl;
7962 } else {
7963 cov_1ytb5bt5lt.b[54][1]++;
7964 }
7965
7966 // Create and send request
7967 cov_1ytb5bt5lt.s[135]++;
7968 this.credentials.createDisclosureRequest(reqObj, reqObj.expiresIn).then(function (jwt) {
7969 cov_1ytb5bt5lt.f[37]++;
7970 cov_1ytb5bt5lt.s[136]++;
7971 return _this11.send(jwt, id, sendOpts);
7972 });
7973
7974 case 16:
7975 case 'end':
7976 return _context3.stop();
7977 }
7978 }
7979 }, _callee3, this);
7980 }));
7981
7982 function requestDisclosure() {
7983 return _ref4.apply(this, arguments);
7984 }
7985
7986 return requestDisclosure;
7987 }()
7988
7989 /**
7990 * Create and send a verification (credential) about connnected user. Verification is signed by
7991 * temporary session keys created by Connect. If you want to create a verification with a different
7992 * keypair/did use uPort credentials and send it with the Connect send function.
7993 *
7994 * @example
7995 * connect.sendVerification({
7996 * exp: <future timestamp>,
7997 * claim: { name: 'John Smith' }
7998 * }, 'REQUEST_ID')
7999 * connect.onResponse('REQUEST_ID').then(credential => {
8000 * ...
8001 * })
8002 *
8003 * @param {Object} [verification] a unsigned verification object, by default the sub is the connected user
8004 * @param {Object} verification.claim a claim about the subject, single key value or key mapping to object with multiple values (ie { address: {street: ..., zip: ..., country: ...}})
8005 * @param {String} verification.exp time at which this verification expires and is no longer valid (seconds since epoch)
8006 * @param {String} [id='sendVerReq'] string to identify request, later used to get response
8007 * @param {Object} [sendOpts] reference send function options
8008 */
8009
8010 }, {
8011 key: 'sendVerification',
8012 value: function () {
8013 var _ref5 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee4() {
8014 var verification = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : (cov_1ytb5bt5lt.b[55][0]++, {});
8015
8016 var _this12 = this;
8017
8018 var id = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : (cov_1ytb5bt5lt.b[56][0]++, 'sendVerReq');
8019 var sendOpts = arguments[2];
8020 var cb;
8021 return _regenerator2.default.wrap(function _callee4$(_context4) {
8022 while (1) {
8023 switch (_context4.prev = _context4.next) {
8024 case 0:
8025 cov_1ytb5bt5lt.f[38]++;
8026 cov_1ytb5bt5lt.s[137]++;
8027
8028 if (verification.vc) {
8029 _context4.next = 9;
8030 break;
8031 }
8032
8033 cov_1ytb5bt5lt.b[57][0]++;
8034 cov_1ytb5bt5lt.s[138]++;
8035 _context4.next = 7;
8036 return this.signAndUploadProfile();
8037
8038 case 7:
8039 _context4.next = 10;
8040 break;
8041
8042 case 9:
8043 cov_1ytb5bt5lt.b[57][1]++;
8044
8045 case 10:
8046 // Callback and message form differ for this req, may be reconciled in the future
8047 cb = (cov_1ytb5bt5lt.s[139]++, this.genCallback(id));
8048 cov_1ytb5bt5lt.s[140]++;
8049
8050 verification = (0, _extends3.default)({ sub: this.did, vc: this.vc }, verification);
8051 cov_1ytb5bt5lt.s[141]++;
8052 this.credentials.createVerification(verification).then(function (jwt) {
8053 cov_1ytb5bt5lt.f[39]++;
8054
8055 var uri = (cov_1ytb5bt5lt.s[142]++, _uportTransports.message.util.paramsToQueryString(_uportTransports.message.util.messageToURI(jwt), { 'callback_url': cb }));
8056 cov_1ytb5bt5lt.s[143]++;
8057 _this12.send(uri, id, sendOpts);
8058 });
8059
8060 case 15:
8061 case 'end':
8062 return _context4.stop();
8063 }
8064 }
8065 }, _callee4, this);
8066 }));
8067
8068 function sendVerification() {
8069 return _ref5.apply(this, arguments);
8070 }
8071
8072 return sendVerification;
8073 }()
8074
8075 /**
8076 * Update the internal state of the connect instance and ensure that it is consistent
8077 * with the state saved to localStorage. You can pass in an object containing key-value pairs to update,
8078 * or a function that returns updated key-value pairs as a function of the current state.
8079 *
8080 * @param {Function|Object} Update -- An object, or function specifying updates to the current Connect state (as a function of the current state)
8081 */
8082
8083 }, {
8084 key: 'setState',
8085 value: function setState(update) {
8086 cov_1ytb5bt5lt.f[40]++;
8087 cov_1ytb5bt5lt.s[144]++;
8088
8089 switch (typeof update === 'undefined' ? 'undefined' : (0, _typeof3.default)(update)) {
8090 case 'object':
8091 cov_1ytb5bt5lt.b[58][0]++;
8092 cov_1ytb5bt5lt.s[145]++;
8093
8094 this._state = (0, _extends3.default)({}, this._state, update);
8095 cov_1ytb5bt5lt.s[146]++;
8096 break;
8097 case 'function':
8098 cov_1ytb5bt5lt.b[58][1]++;
8099 cov_1ytb5bt5lt.s[147]++;
8100
8101 this._state = update(this._state);
8102 cov_1ytb5bt5lt.s[148]++;
8103 break;
8104 case 'undefined':
8105 cov_1ytb5bt5lt.b[58][2]++;
8106 cov_1ytb5bt5lt.s[149]++;
8107
8108 break;
8109 default:
8110 cov_1ytb5bt5lt.b[58][3]++;
8111 cov_1ytb5bt5lt.s[150]++;
8112
8113 throw new Error('Cannot update state with ' + update);
8114 }
8115 // Normalize address to mnid
8116
8117 var _ref6 = (cov_1ytb5bt5lt.s[151]++, this._state),
8118 mnid = _ref6.mnid;
8119
8120 cov_1ytb5bt5lt.s[152]++;
8121
8122 if ((0, _mnid.isMNID)(mnid)) {
8123 cov_1ytb5bt5lt.b[59][0]++;
8124 cov_1ytb5bt5lt.s[153]++;
8125
8126 this._state.address = (0, _mnid.decode)(mnid).address;
8127 } else {
8128 cov_1ytb5bt5lt.b[59][1]++;
8129 cov_1ytb5bt5lt.s[154]++;
8130 if (mnid) {
8131 cov_1ytb5bt5lt.b[60][0]++;
8132 cov_1ytb5bt5lt.s[155]++;
8133
8134 // Don't allow setting an invalid mnid
8135 throw new Error('Invalid MNID: ' + this._state.mnid);
8136 } else {
8137 cov_1ytb5bt5lt.b[60][1]++;
8138 }
8139 }cov_1ytb5bt5lt.s[156]++;
8140 if ((cov_1ytb5bt5lt.b[62][0]++, this.publicEncKey) && (cov_1ytb5bt5lt.b[62][1]++, this.pushToken)) {
8141 cov_1ytb5bt5lt.b[61][0]++;
8142 cov_1ytb5bt5lt.s[157]++;
8143
8144 this.pushTransport = pushTransport(this.pushToken, this.publicEncKey);
8145 } else {
8146 cov_1ytb5bt5lt.b[61][1]++;
8147 }
8148
8149 // Write to localStorage
8150 cov_1ytb5bt5lt.s[158]++;
8151 if (this.useStore) {
8152 cov_1ytb5bt5lt.b[63][0]++;
8153 cov_1ytb5bt5lt.s[159]++;
8154 this.store.set(this._state);
8155 } else {
8156 cov_1ytb5bt5lt.b[63][1]++;
8157 }
8158 }
8159
8160 /**
8161 * Load state from local storage and set this instance's state accordingly.
8162 */
8163
8164 }, {
8165 key: 'loadState',
8166 value: function loadState() {
8167 var _this13 = this;
8168
8169 cov_1ytb5bt5lt.f[41]++;
8170 cov_1ytb5bt5lt.s[160]++;
8171
8172 // replace state
8173 if (this.useStore) {
8174 cov_1ytb5bt5lt.b[64][0]++;
8175 cov_1ytb5bt5lt.s[161]++;
8176 this.setState(function (state) {
8177 cov_1ytb5bt5lt.f[42]++;
8178 cov_1ytb5bt5lt.s[162]++;
8179 return _this13.store.get();
8180 });
8181 } else {
8182 cov_1ytb5bt5lt.b[64][1]++;
8183 }
8184 }
8185
8186 /**
8187 * Clear any user-specific state from the browser, (both the Connect instance and localStorage)
8188 * effectively logging them out. The keypair (app-instance identity) is preserved
8189 */
8190
8191 }, {
8192 key: 'logout',
8193 value: function logout() {
8194 cov_1ytb5bt5lt.f[43]++;
8195 cov_1ytb5bt5lt.s[163]++;
8196
8197 // Clear explicit state
8198 this.setState(function (state) {
8199 cov_1ytb5bt5lt.f[44]++;
8200 cov_1ytb5bt5lt.s[164]++;
8201 return { keypair: state.keypair };
8202 });
8203 // Clear all instance variables with references to current state
8204 cov_1ytb5bt5lt.s[165]++;
8205 this.pushTransport = null;
8206 }
8207
8208 /**
8209 * Clear the entire state of the connect instance, including the keypair, from memory
8210 * and localStorage. Rebuild this.credentials with a new app-instance identity
8211 */
8212
8213 }, {
8214 key: 'reset',
8215 value: function reset() {
8216 cov_1ytb5bt5lt.f[45]++;
8217 cov_1ytb5bt5lt.s[166]++;
8218
8219 this.logout();
8220 // Rebuild credentials
8221 cov_1ytb5bt5lt.s[167]++;
8222 this.keypair = _uportCredentials.Credentials.createIdentity();
8223 cov_1ytb5bt5lt.s[168]++;
8224 this.credentials = new _uportCredentials.Credentials((0, _extends3.default)({}, this.keypair, this.resolverConfigs));
8225 }
8226
8227 /**
8228 * Accessor methods for Connect state. The state consists of the key-value pairs below
8229 * (did, doc, mnid, address, keypair, pushToken, and publicEncKey)
8230 * @private
8231 */
8232
8233 }, {
8234 key: 'genCallback',
8235
8236
8237 /**
8238 * @private
8239 */
8240 value: function genCallback(reqId) {
8241 cov_1ytb5bt5lt.f[64]++;
8242 cov_1ytb5bt5lt.s[191]++;
8243
8244 return this.isOnMobile ? (cov_1ytb5bt5lt.b[67][0]++, windowCallback(reqId)) : (cov_1ytb5bt5lt.b[67][1]++, _uportTransports.transport.messageServer.genCallback());
8245 }
8246
8247 /**
8248 * @private
8249 * Sign a profile object with this.credentials, and upload it to ipfs, prepending
8250 * the instance array of verified claims (this.vc) with the ipfs uri. If a profile
8251 * object is not provided, create one on the fly
8252 * @param {Object} [profile] the profile object to be signed and uploaded
8253 * @returns {Promise<String, Error>} a promise resolving to the ipfs hash, or rejecting with an error
8254 */
8255
8256 }, {
8257 key: 'signAndUploadProfile',
8258 value: function signAndUploadProfile(profile) {
8259 var _this14 = this;
8260
8261 cov_1ytb5bt5lt.f[65]++;
8262 cov_1ytb5bt5lt.s[192]++;
8263
8264 if ((cov_1ytb5bt5lt.b[69][0]++, !profile) && (cov_1ytb5bt5lt.b[69][1]++, this.vc.length > 0)) {
8265 cov_1ytb5bt5lt.b[68][0]++;
8266 cov_1ytb5bt5lt.s[193]++;
8267 return;
8268 } else {
8269 cov_1ytb5bt5lt.b[68][1]++;
8270 }cov_1ytb5bt5lt.s[194]++;
8271 profile = (cov_1ytb5bt5lt.b[70][0]++, profile) || (cov_1ytb5bt5lt.b[70][1]++, {
8272 name: this.appName,
8273 description: this.description,
8274 url: typeof window !== 'undefined' ? (cov_1ytb5bt5lt.b[71][0]++, window.location.protocol + '//' + window.location.host) : (cov_1ytb5bt5lt.b[71][1]++, undefined),
8275 profileImage: this.profileImage,
8276 bannerImage: this.bannerImage,
8277 brandColor: this.brandColor
8278
8279 // Upload to ipfs
8280 });cov_1ytb5bt5lt.s[195]++;
8281 return this.credentials.createVerification({ sub: this.keypair.did, claim: profile }).then(function (jwt) {
8282 cov_1ytb5bt5lt.f[66]++;
8283 cov_1ytb5bt5lt.s[196]++;
8284 return (0, _util.ipfsAdd)(jwt);
8285 }).then(function (hash) {
8286 cov_1ytb5bt5lt.f[67]++;
8287 cov_1ytb5bt5lt.s[197]++;
8288
8289 console.log('uploaded, ', _this14.vc);
8290 cov_1ytb5bt5lt.s[198]++;
8291 _this14.vc.unshift('/ipfs/' + hash);
8292 cov_1ytb5bt5lt.s[199]++;
8293 return hash;
8294 });
8295 }
8296 }, {
8297 key: 'state',
8298 get: function get() {
8299 cov_1ytb5bt5lt.f[46]++;
8300 cov_1ytb5bt5lt.s[169]++;
8301 return this._state;
8302 },
8303
8304
8305 /**
8306 * Setter methods with appropriate validation
8307 * @private
8308 */
8309
8310 set: function set(state) {
8311 cov_1ytb5bt5lt.f[55]++;
8312 cov_1ytb5bt5lt.s[178]++;
8313 throw new Error('Use setState to set state object');
8314 }
8315 }, {
8316 key: 'did',
8317 get: function get() {
8318 cov_1ytb5bt5lt.f[47]++;
8319 cov_1ytb5bt5lt.s[170]++;
8320 return this._state.did;
8321 },
8322 set: function set(did) {
8323 cov_1ytb5bt5lt.f[56]++;
8324 cov_1ytb5bt5lt.s[179]++;
8325 this.setState({ did: did });
8326 }
8327 }, {
8328 key: 'doc',
8329 get: function get() {
8330 cov_1ytb5bt5lt.f[48]++;
8331 cov_1ytb5bt5lt.s[171]++;
8332 return (0, _extends3.default)({}, this._state.doc);
8333 },
8334 set: function set(doc) {
8335 cov_1ytb5bt5lt.f[57]++;
8336 cov_1ytb5bt5lt.s[180]++;
8337 this.setState({ doc: doc });
8338 }
8339 }, {
8340 key: 'mnid',
8341 get: function get() {
8342 cov_1ytb5bt5lt.f[49]++;
8343 cov_1ytb5bt5lt.s[172]++;
8344 return this._state.mnid;
8345 },
8346 set: function set(mnid) {
8347 cov_1ytb5bt5lt.f[58]++;
8348 cov_1ytb5bt5lt.s[181]++;
8349 this.setState({ mnid: mnid });
8350 }
8351 }, {
8352 key: 'address',
8353 get: function get() {
8354 cov_1ytb5bt5lt.f[50]++;
8355 cov_1ytb5bt5lt.s[173]++;
8356 return this._state.address;
8357 },
8358
8359
8360 // Address field alone is deprectated. Allow setting an mnid, but not an unqualified address
8361 set: function set(address) {
8362 cov_1ytb5bt5lt.f[63]++;
8363 cov_1ytb5bt5lt.s[186]++;
8364
8365 if ((0, _mnid.isMNID)(address)) {
8366 cov_1ytb5bt5lt.b[65][0]++;
8367 cov_1ytb5bt5lt.s[187]++;
8368
8369 this.setState({ mnid: address });
8370 } else {
8371 cov_1ytb5bt5lt.b[65][1]++;
8372 cov_1ytb5bt5lt.s[188]++;
8373
8374 if (address === this.address) {
8375 cov_1ytb5bt5lt.b[66][0]++;
8376 cov_1ytb5bt5lt.s[189]++;
8377 return;
8378 } else {
8379 cov_1ytb5bt5lt.b[66][1]++;
8380 }cov_1ytb5bt5lt.s[190]++;
8381 throw new Error('Setting an Ethereum address without a network id is not supported. Use an MNID instead.');
8382 }
8383 }
8384 }, {
8385 key: 'keypair',
8386 get: function get() {
8387 cov_1ytb5bt5lt.f[51]++;
8388 cov_1ytb5bt5lt.s[174]++;
8389 return (0, _extends3.default)({}, this._state.keypair);
8390 },
8391 set: function set(keypair) {
8392 cov_1ytb5bt5lt.f[59]++;
8393 cov_1ytb5bt5lt.s[182]++;
8394 this.setState({ keypair: keypair });
8395 }
8396 }, {
8397 key: 'verified',
8398 get: function get() {
8399 cov_1ytb5bt5lt.f[52]++;
8400 cov_1ytb5bt5lt.s[175]++;
8401 return this._state.verified;
8402 },
8403 set: function set(verified) {
8404 cov_1ytb5bt5lt.f[60]++;
8405 cov_1ytb5bt5lt.s[183]++;
8406 this.setState({ verified: verified });
8407 }
8408 }, {
8409 key: 'pushToken',
8410 get: function get() {
8411 cov_1ytb5bt5lt.f[53]++;
8412 cov_1ytb5bt5lt.s[176]++;
8413 return this._state.pushToken;
8414 },
8415 set: function set(pushToken) {
8416 cov_1ytb5bt5lt.f[61]++;
8417 cov_1ytb5bt5lt.s[184]++;
8418 this.setState({ pushToken: pushToken });
8419 }
8420 }, {
8421 key: 'publicEncKey',
8422 get: function get() {
8423 cov_1ytb5bt5lt.f[54]++;
8424 cov_1ytb5bt5lt.s[177]++;
8425 return this._state.publicEncKey;
8426 },
8427 set: function set(publicEncKey) {
8428 cov_1ytb5bt5lt.f[62]++;
8429 cov_1ytb5bt5lt.s[185]++;
8430 this.setState({ publicEncKey: publicEncKey });
8431 }
8432 }]);
8433 return Connect;
8434}();
8435
8436var LOCALSTOREKEY = (cov_1ytb5bt5lt.s[200]++, 'connectState');
8437
8438var LocalStorageStore = function () {
8439 function LocalStorageStore() {
8440 var key = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : (cov_1ytb5bt5lt.b[72][0]++, LOCALSTOREKEY);
8441 (0, _classCallCheck3.default)(this, LocalStorageStore);
8442 cov_1ytb5bt5lt.f[68]++;
8443 cov_1ytb5bt5lt.s[201]++;
8444
8445 this.key = key;
8446 }
8447
8448 (0, _createClass3.default)(LocalStorageStore, [{
8449 key: 'get',
8450 value: function get() {
8451 cov_1ytb5bt5lt.f[69]++;
8452 cov_1ytb5bt5lt.s[202]++;
8453
8454 return JSON.parse((cov_1ytb5bt5lt.b[73][0]++, _store2.default.get(this.key)) || (cov_1ytb5bt5lt.b[73][1]++, '{}'));
8455 }
8456 }, {
8457 key: 'set',
8458 value: function set(stateObj) {
8459 cov_1ytb5bt5lt.f[70]++;
8460 cov_1ytb5bt5lt.s[203]++;
8461
8462 _store2.default.set(this.key, (0, _stringify2.default)(stateObj));
8463 }
8464 }]);
8465 return LocalStorageStore;
8466}();
8467
8468/**
8469 * A transport created for uPort connect. Bundles transport functionality from uport-transports. This implements the
8470 * default QR modal flow on desktop clients. If given a request which uses the messaging server Chasqui to relay
8471 * responses, it will by default poll Chasqui and return response. If given a request which specifies another
8472 * callback to receive the response, for example your own server, it will show the request in the default QR
8473 * modal and then instantly return. You can then handle how to fetch the response specific to your implementation.
8474 *
8475 * @param {String} appName App name displayed in QR pop over modal
8476 * @return {Function} Configured connectTransport function
8477 * @param {String} request uPort client request message
8478 * @param {Object} [config={}] Optional config object
8479 * @param {String} config.data Additional data to be returned later with response
8480 * @return {Promise<Object, Error>} Function to close the QR modal
8481 * @private
8482 */
8483
8484
8485cov_1ytb5bt5lt.s[204]++;
8486var connectTransport = function connectTransport(appName) {
8487 cov_1ytb5bt5lt.f[71]++;
8488 cov_1ytb5bt5lt.s[205]++;
8489 return function (request, _ref7) {
8490 var data = _ref7.data,
8491 cancel = _ref7.cancel;
8492 cov_1ytb5bt5lt.f[72]++;
8493 cov_1ytb5bt5lt.s[206]++;
8494
8495 if (_uportTransports.transport.messageServer.isMessageServerCallback(request)) {
8496 cov_1ytb5bt5lt.b[74][0]++;
8497 cov_1ytb5bt5lt.s[207]++;
8498
8499 return _uportTransports.transport.qr.chasquiSend({ appName: appName })(request).then(function (res) {
8500 cov_1ytb5bt5lt.f[73]++;
8501 cov_1ytb5bt5lt.s[208]++;
8502 return { payload: res, data: data };
8503 });
8504 } else {
8505 cov_1ytb5bt5lt.b[74][1]++;
8506 cov_1ytb5bt5lt.s[209]++;
8507
8508 _uportTransports.transport.qr.send(appName)(request, { cancel: cancel });
8509 // TODO return close QR func?
8510 cov_1ytb5bt5lt.s[210]++;
8511 return _promise2.default.resolve({ data: data });
8512 }
8513 };
8514};
8515
8516/**
8517 * Wrap push transport from uport-transports, providing stored pushToken and publicEncKey from the
8518 * provided Connect instance
8519 * @param {Connect} connect The Connect instance holding the pushToken and publicEncKey
8520 * @returns {Function} Configured pushTransport function
8521 * @private
8522 */
8523cov_1ytb5bt5lt.s[211]++;
8524var pushTransport = function pushTransport(pushToken, publicEncKey) {
8525 cov_1ytb5bt5lt.f[74]++;
8526
8527 var send = (cov_1ytb5bt5lt.s[212]++, _uportTransports.transport.push.sendAndNotify(pushToken, publicEncKey));
8528
8529 cov_1ytb5bt5lt.s[213]++;
8530 return function (request, _ref8) {
8531 var type = _ref8.type,
8532 redirectUrl = _ref8.redirectUrl,
8533 data = _ref8.data;
8534 cov_1ytb5bt5lt.f[75]++;
8535 cov_1ytb5bt5lt.s[214]++;
8536
8537 if (_uportTransports.transport.messageServer.isMessageServerCallback(request)) {
8538 cov_1ytb5bt5lt.b[75][0]++;
8539 cov_1ytb5bt5lt.s[215]++;
8540
8541 return _uportTransports.transport.messageServer.URIHandlerSend(send)(request, { type: type, redirectUrl: redirectUrl }).then(function (res) {
8542 cov_1ytb5bt5lt.f[76]++;
8543 cov_1ytb5bt5lt.s[216]++;
8544
8545 _uportTransports.transport.ui.close();
8546 cov_1ytb5bt5lt.s[217]++;
8547 return { payload: res, data: data };
8548 });
8549 } else {
8550 cov_1ytb5bt5lt.b[75][1]++;
8551 cov_1ytb5bt5lt.s[218]++;
8552
8553 // Return immediately for custom message server
8554 send(request, { type: type, redirectUrl: redirectUrl });
8555 cov_1ytb5bt5lt.s[219]++;
8556 return _promise2.default.resolve({ data: data });
8557 }
8558 };
8559};
8560
8561/**
8562 * Gets current window url and formats as request callback
8563 *
8564 * @return {String} Returns window url formatted as callback
8565 * @private
8566 */
8567cov_1ytb5bt5lt.s[220]++;
8568var windowCallback = function windowCallback(id) {
8569 cov_1ytb5bt5lt.f[77]++;
8570
8571 var md = (cov_1ytb5bt5lt.s[221]++, new _mobileDetect2.default(navigator.userAgent));
8572 var chromeAndIOS = (cov_1ytb5bt5lt.s[222]++, (cov_1ytb5bt5lt.b[76][0]++, md.userAgent() === 'Chrome') && (cov_1ytb5bt5lt.b[76][1]++, md.os() === 'iOS'));
8573 var callback = (cov_1ytb5bt5lt.s[223]++, chromeAndIOS ? (cov_1ytb5bt5lt.b[77][0]++, 'googlechrome:' + window.location.href.substring(window.location.protocol.length)) : (cov_1ytb5bt5lt.b[77][1]++, window.location.href));
8574 cov_1ytb5bt5lt.s[224]++;
8575 return _uportTransports.message.util.paramsToUrlFragment(callback, { id: id });
8576};
8577
8578exports.default = Connect;
\No newline at end of file