BCD

Tezos Contract Explorer
Search Networks Deploy
  • Home
  • /
  • Mainnet
  • /
  • QuipuSwap Exchange 3.0
FA2
operations (1.05K)Storage Code Interact Tokens Metadata Fork Statistics Details
Latest
​x
993
2057
 
1
parameter (or
2
            (or
3
              (or
4
                (or
5
                  (or %call_fa2
6
                    (pair %balance_of
7
                      (list %requests (pair (address %owner) (nat %token_id)))
8
                      (contract %callback (list (pair
9
                                                (pair %request (address %owner)
10
                                                               (nat %token_id))
11
                                                (nat %balance)))))
12
                    (or
13
                      (list %transfer (pair (address %from_)
14
                                           (list %txs (pair (address %to_)
15
                                                           (nat %token_id)
16
                                                           (nat %amount)))))
17
                      (list %update_operators (or
18
                                               (pair %add_operator (address %owner)
19
                                                                   (address %operator)
20
                                                                   (nat %token_id))
21
                                               (pair %remove_operator (address %owner)
22
                                                                      (address %operator)
23
                                                                      (nat %token_id))))))
24
                  (address %claim_dev_fee))
25
                (or
26
                  (pair %get_position_info (nat %position_id)
27
                                           (contract %callback (pair
28
                                                                (pair (nat %liquidity)
29
                                                                      (int %lower_tick_index))
30
                                                                (address %owner)
31
                                                                (int %upper_tick_index))))
32
                  (nat %increase_observation_count)))
33
              (or
34
                (or
35
                  (pair %observe (list %times timestamp)
36
                                 (contract %callback (list (pair
37
                                                           (nat %seconds_per_liquidity_cumulative)
38
                                                           (int %tick_cumulative)))))
39
                  (pair %set_position (int %lower_tick_index) (int %upper_tick_index)
40
                                      (int %lower_tick_witness)
41
                                      (int %upper_tick_witness)
42
                                      (nat %liquidity)
43
                                      (timestamp %deadline)
44
                                      (pair %maximum_tokens_contributed (nat %x)
45
                                                                        (nat %y))
46
                                      (option %referral_code nat)))
47
                (or
48
                  (pair %snapshot_cumulatives_inside
49
                    (pair
50
                      (contract %callback (pair
51
                                           (pair (int %seconds_inside)
52
                                                 (int %seconds_per_liquidity_inside))
53
                                           (int %tick_cumulative_inside)))
54
                      (int %lower_tick_index))
55
                    (int %upper_tick_index))
56
                  (pair %update_position (nat %position_id) (int %liquidity_delta)
57
                                         (address %to_x)
58
                                         (address %to_y)
59
                                         (timestamp %deadline)
60
                                         (pair %maximum_tokens_contributed (int %x)
61
                                                                           (int %y))
62
                                         (option %referral_code nat)))))
63
            (or
64
              (pair %x_to_y (nat %dx) (timestamp %deadline) (nat %min_dy)
65
                            (address %to_dy)
66
                            (option %referral_code nat))
67
              (pair %y_to_x (nat %dy) (timestamp %deadline) (nat %min_dx)
68
                            (address %to_dx)
69
                            (option %referral_code nat))));
70
storage (pair
71
          (pair
72
            (pair
73
              (pair
74
                (pair %constants
75
                  (pair (pair (address %factory_address) (nat %fee_bps))
76
                        (nat %tick_spacing)
77
                        (or %token_x (address %fa12)
78
                                     (pair %fa2 (nat %token_id) (address %token_address))))
79
                  (or %token_y (address %fa12)
80
                               (pair %fa2 (nat %token_id) (address %token_address))))
81
                (pair %cumulatives_buffer (pair (nat %first) (nat %last))
82
                                          (big_map %map nat
83
                                                        (pair
84
                                                          (pair
85
                                                            (pair %spl
86
                                                              (nat %block_start_liquidity_value)
87
                                                              (nat %sum))
88
                                                            (pair %tick
89
                                                              (int %block_start_value)
90
                                                              (int %sum)))
91
                                                          (timestamp %time)))
92
                                          (nat %reserved_length)))
93
              (int %cur_tick_index)
94
              (int %cur_tick_witness))
95
            (pair (pair %dev_fee (nat %x) (nat %y)) (pair %fee_growth (nat %x) (nat %y)))
96
            (big_map %ladder (pair (nat %exp) (bool %positive))
97
                             (pair (int %offset) (nat %v)))
98
            (nat %liquidity))
99
          (pair (pair (big_map %metadata string bytes) (nat %new_position_id))
100
                (big_map %operators
101
                  (pair (address %owner) (address %operator) (nat %token_id))
102
                  unit)
103
                (big_map %position_ids address (set nat)))
104
          (pair
105
            (big_map %positions nat
106
                                (pair
107
                                  (pair
108
                                    (pair
109
                                      (pair %fee_growth_inside_last (int %x) (int %y))
110
                                      (nat %liquidity))
111
                                    (int %lower_tick_index)
112
                                    (address %owner))
113
                                  (int %upper_tick_index)))
114
            (nat %sqrt_price))
115
          (big_map %ticks int
116
                          (pair
117
                            (pair
118
                              (pair
119
                                (pair (pair %fee_growth_outside (nat %x) (nat %y))
120
                                      (int %liquidity_net))
121
                                (nat %n_positions)
122
                                (int %next))
123
                              (pair (int %prev) (nat %seconds_outside))
124
                              (nat %seconds_per_liquidity_outside)
125
                              (nat %sqrt_price))
126
                            (int %tick_cumulative_outside)))
127
          (big_map %token_metadata nat
128
                                   (pair (nat %token_id) (map %token_info string bytes))));
129
code { LAMBDA
130
         (pair nat nat)
131
         nat
132
         { UNPAIR ;
133
           SWAP ;
134
           INT ;
135
           SWAP ;
136
           NEG ;
137
           EDIV ;
138
           IF_NONE { PUSH string "DIV by 0" ; FAILWITH } {} ;
139
           CAR ;
140
           ABS } ;
141
       LAMBDA
142
         (pair int int)
143
         int
144
         { UNPAIR ; NEG ; EDIV ; IF_NONE { PUSH string "DIV by 0" ; FAILWITH } {} ; CAR ; NEG } ;
145
       LAMBDA
146
         (pair nat nat)
147
         nat
148
         { UNPAIR ; EDIV ; IF_NONE { PUSH string "DIV by 0" ; FAILWITH } {} ; CAR } ;
149
       LAMBDA
150
         (pair int nat)
151
         nat
152
         { UNPAIR ; ISNAT ; IF_NONE { FAILWITH } { SWAP ; DROP } } ;
153
       LAMBDA
154
         (pair int (big_map (pair nat bool) (pair int nat)))
155
         nat
156
         { UNPAIR ;
157
           SWAP ;
158
           PUSH int 0 ;
159
           DUP 3 ;
160
           COMPARE ;
161
           GT ;
162
           PUSH nat 0 ;
163
           PAIR ;
164
           PAIR ;
165
           PUSH nat 1 ;
166
           PUSH int 0 ;
167
           PAIR ;
168
           DIG 2 ;
169
           ABS ;
170
           PAIR ;
171
           PAIR ;
172
           LEFT (pair int nat) ;
173
           LOOP_LEFT { UNPAIR ;
174
                       UNPAIR ;
175
                       DIG 2 ;
176
                       UNPAIR ;
177
                       PUSH nat 0 ;
178
                       DUP 4 ;
179
                       COMPARE ;
180
                       EQ ;
181
                       IF
182
                         { DROP 3 ;
183
                           RIGHT (pair (pair nat int nat) (pair nat bool)
184
                                       (big_map (pair nat bool) (pair int nat))) }
185
                         { PUSH nat 2 ;
186
                           DIG 3 ;
187
                           EDIV ;
188
                           IF_NONE { PUSH nat 300 ; FAILWITH } {} ;
189
                           UNPAIR ;
190
                           DUP 4 ;
191
                           DUP 4 ;
192
                           GET ;
193
                           IF_NONE { PUSH nat 102 ; FAILWITH } {} ;
194
                           PUSH nat 0 ;
195
                           DIG 3 ;
196
                           COMPARE ;
197
                           EQ ;
198
                           IF
199
                             { DROP ; DIG 3 }
200
                             { DUP 5 ; CDR ; DUP 2 ; CDR ; MUL ; DIG 5 ; CAR ; DIG 2 ; CAR ; ADD ; PAIR } ;
201
                           DUP 3 ;
202
                           CDR ;
203
                           PUSH nat 1 ;
204
                           DIG 4 ;
205
                           CAR ;
206
                           ADD ;
207
                           PAIR ;
208
                           DIG 3 ;
209
                           SWAP ;
210
                           PAIR ;
211
                           SWAP ;
212
                           DIG 2 ;
213
                           PAIR ;
214
                           PAIR ;
215
                           LEFT (pair int nat) } } ;
216
           DUP ;
217
           CAR ;
218
           PUSH int 80 ;
219
           NEG ;
220
           SUB ;
221
           PUSH int 0 ;
222
           DUP 2 ;
223
           COMPARE ;
224
           GT ;
225
           IF
226
             { ABS ;
227
               SWAP ;
228
               CDR ;
229
               PAIR ;
230
               LEFT nat ;
231
               LOOP_LEFT { UNPAIR ;
232
                           PUSH nat 256 ;
233
                           DUP ;
234
                           DUP 4 ;
235
                           COMPARE ;
236
                           LE ;
237
                           IF
238
                             { DROP ; LSR ; RIGHT (pair nat nat) }
239
                             { DUP ; DIG 2 ; LSR ; SWAP ; DIG 2 ; SUB ; ABS ; SWAP ; PAIR ; LEFT nat } } }
240
             { ABS ;
241
               SWAP ;
242
               CDR ;
243
               PAIR ;
244
               LEFT nat ;
245
               LOOP_LEFT { UNPAIR ;
246
                           PUSH nat 256 ;
247
                           DUP ;
248
                           DUP 4 ;
249
                           COMPARE ;
250
                           LE ;
251
                           IF
252
                             { DROP ; LSL ; RIGHT (pair nat nat) }
253
                             { DUP ; DIG 2 ; LSL ; SWAP ; DIG 2 ; SUB ; ABS ; SWAP ; PAIR ; LEFT nat } } } } ;
254
       LAMBDA
255
         (pair address address nat (or address (pair nat address)))
256
         operation
257
         { UNPAIR 4 ;
258
           DIG 3 ;
259
           IF_LEFT
260
             { CONTRACT %transfer (pair address address nat) ;
261
               IF_NONE { PUSH nat 200 ; FAILWITH } {} ;
262
               PUSH mutez 0 ;
263
               DIG 4 ;
264
               DIG 4 ;
265
               PAIR ;
266
               DIG 3 ;
267
               PAIR ;
268
               TRANSFER_TOKENS }
269
             { DUP ;
270
               CDR ;
271
               CONTRACT %transfer (list (pair (address %from_)
272
                                             (list %txs (pair (address %to_)
273
                                                             (nat %token_id)
274
                                                             (nat %amount))))) ;
275
               IF_NONE { PUSH nat 200 ; FAILWITH } {} ;
276
               PUSH mutez 0 ;
277
               NIL (pair address (list (pair address nat nat))) ;
278
               NIL (pair address nat nat) ;
279
               DIG 7 ;
280
               DIG 5 ;
281
               CAR ;
282
               DIG 7 ;
283
               PAIR 3 ;
284
               CONS ;
285
               DIG 4 ;
286
               PAIR ;
287
               CONS ;
288
               TRANSFER_TOKENS } } ;
289
       LAMBDA
290
         (pair (lambda (pair int (big_map (pair nat bool) (pair int nat))) nat)
291
               (pair
292
                 (pair
293
                   (pair
294
                     (big_map int
295
                              (pair
296
                                (pair (pair (pair (pair nat nat) int) nat int)
297
                                      (pair int nat)
298
                                      nat
299
                                      nat)
300
                                int))
301
                     int)
302
                   int
303
                   int)
304
                 (pair (pair nat nat) nat)
305
                 nat
306
                 (big_map (pair nat bool) (pair int nat))))
307
         (big_map int
308
                  (pair
309
                    (pair (pair (pair (pair nat nat) int) nat int) (pair int nat) nat
310
                          nat)
311
                    int))
312
         { UNPAIR ;
313
           SWAP ;
314
           LEFT (big_map int
315
                         (pair
316
                           (pair (pair (pair (pair nat nat) int) nat int) (pair int nat)
317
                                 nat
318
                                 nat)
319
                           int)) ;
320
           LOOP_LEFT { UNPAIR ;
321
                       UNPAIR ;
322
                       UNPAIR ;
323
                       DIG 2 ;
324
                       UNPAIR ;
325
                       DIG 4 ;
326
                       UNPAIR ;
327
                       UNPAIR ;
328
                       DIG 2 ;
329
                       UNPAIR ;
330
                       DUP 7 ;
331
                       DUP 9 ;
332
                       MEM ;
333
                       IF
334
                         { SWAP ;
335
                           DIG 2 ;
336
                           DIG 3 ;
337
                           DIG 4 ;
338
                           DIG 5 ;
339
                           DIG 7 ;
340
                           DROP 7 ;
341
                           RIGHT (pair
342
                                   (pair
343
                                     (pair
344
                                       (big_map int
345
                                                (pair
346
                                                  (pair
347
                                                    (pair (pair (pair nat nat) int) nat
348
                                                          int)
349
                                                    (pair int nat)
350
                                                    nat
351
                                                    nat)
352
                                                  int))
353
                                       int)
354
                                     int
355
                                     int)
356
                                   (pair (pair nat nat) nat)
357
                                   nat
358
                                   (big_map (pair nat bool) (pair int nat))) }
359
                         { DUP 8 ;
360
                           DUP 6 ;
361
                           COMPARE ;
362
                           GT ;
363
                           IF
364
                             { DROP 8 ; PUSH nat 100 ; FAILWITH }
365
                             { DUP 7 ;
366
                               DUP 6 ;
367
                               GET ;
368
                               IF_NONE { PUSH nat 105 ; FAILWITH } {} ;
369
                               DUP ;
370
                               CAR ;
371
                               CAR ;
372
                               CDR ;
373
                               CDR ;
374
                               DUP 10 ;
375
                               DUP 2 ;
376
                               COMPARE ;
377
                               GT ;
378
                               IF
379
                                 { DUP 9 ;
380
                                   DUP 2 ;
381
                                   GET ;
382
                                   IF_NONE { PUSH nat 301 ; FAILWITH } {} ;
383
                                   DIG 9 ;
384
                                   DUP 4 ;
385
                                   CDR ;
386
                                   DUP 5 ;
387
                                   CAR ;
388
                                   CDR ;
389
                                   DUP 13 ;
390
                                   DUP 7 ;
391
                                   CAR ;
392
                                   CAR ;
393
                                   CDR ;
394
                                   CAR ;
395
                                   PAIR ;
396
                                   DIG 6 ;
397
                                   CAR ;
398
                                   CAR ;
399
                                   CAR ;
400
                                   PAIR ;
401
                                   PAIR ;
402
                                   PAIR ;
403
                                   DUP 9 ;
404
                                   SWAP ;
405
                                   SOME ;
406
                                   SWAP ;
407
                                   UPDATE ;
408
                                   DUP 2 ;
409
                                   CDR ;
410
                                   DUP 3 ;
411
                                   CAR ;
412
                                   CDR ;
413
                                   CDR ;
414
                                   DUP 4 ;
415
                                   CAR ;
416
                                   CDR ;
417
                                   CAR ;
418
                                   CDR ;
419
                                   DUP 13 ;
420
                                   PAIR ;
421
                                   PAIR ;
422
                                   DIG 3 ;
423
                                   CAR ;
424
                                   CAR ;
425
                                   PAIR ;
426
                                   PAIR ;
427
                                   DUP 3 ;
428
                                   SWAP ;
429
                                   SOME ;
430
                                   SWAP ;
431
                                   UPDATE ;
432
                                   DIG 7 ;
433
                                   DIG 4 ;
434
                                   DUP 9 ;
435
                                   PAIR ;
436
                                   DUP 10 ;
437
                                   SWAP ;
438
                                   EXEC ;
439
                                   DIG 4 ;
440
                                   PAIR ;
441
                                   DIG 5 ;
442
                                   DIG 6 ;
443
                                   PAIR ;
444
                                   PAIR ;
445
                                   DIG 3 ;
446
                                   PUSH nat 0 ;
447
                                   PAIR ;
448
                                   PUSH int 0 ;
449
                                   DIG 5 ;
450
                                   PAIR ;
451
                                   PAIR ;
452
                                   PAIR ;
453
                                   PAIR ;
454
                                   DIG 2 ;
455
                                   SWAP ;
456
                                   SOME ;
457
                                   SWAP ;
458
                                   UPDATE ;
459
                                   RIGHT (pair
460
                                           (pair
461
                                             (pair
462
                                               (big_map int
463
                                                        (pair
464
                                                          (pair
465
                                                            (pair
466
                                                              (pair (pair nat nat) int)
467
                                                              nat
468
                                                              int)
469
                                                            (pair int nat)
470
                                                            nat
471
                                                            nat)
472
                                                          int))
473
                                               int)
474
                                             int
475
                                             int)
476
                                           (pair (pair nat nat) nat)
477
                                           nat
478
                                           (big_map (pair nat bool) (pair int nat))) }
479
                                 { SWAP ;
480
                                   DIG 6 ;
481
                                   DROP 2 ;
482
                                   DUG 2 ;
483
                                   PAIR ;
484
                                   DIG 3 ;
485
                                   DIG 3 ;
486
                                   PAIR ;
487
                                   PAIR ;
488
                                   DUG 2 ;
489
                                   PAIR ;
490
                                   DIG 3 ;
491
                                   DIG 3 ;
492
                                   PAIR ;
493
                                   PAIR ;
494
                                   PAIR ;
495
                                   LEFT (big_map int
496
                                                 (pair
497
                                                   (pair
498
                                                     (pair (pair (pair nat nat) int) nat
499
                                                           int)
500
                                                     (pair int nat)
501
                                                     nat
502
                                                     nat)
503
                                                   int)) } } } } ;
504
           SWAP ;
505
           DROP } ;
506
       DUP 3 ;
507
       APPLY ;
508
       LAMBDA
509
         (pair (lambda (pair int nat) nat)
510
               (pair
511
                 (big_map int
512
                          (pair
513
                            (pair (pair (pair (pair nat nat) int) nat int)
514
                                  (pair int nat)
515
                                  nat
516
                                  nat)
517
                            int))
518
                 int
519
                 int
520
                 int))
521
         (big_map int
522
                  (pair
523
                    (pair (pair (pair (pair nat nat) int) nat int) (pair int nat) nat
524
                          nat)
525
                    int))
526
         { UNPAIR ;
527
           SWAP ;
528
           UNPAIR 4 ;
529
           DUP ;
530
           DUP 3 ;
531
           GET ;
532
           IF_NONE { PUSH nat 301 ; FAILWITH } {} ;
533
           PUSH nat 313 ;
534
           DIG 4 ;
535
           DUP 3 ;
536
           CAR ;
537
           CAR ;
538
           CDR ;
539
           CAR ;
540
           ADD ;
541
           PAIR ;
542
           DIG 5 ;
543
           SWAP ;
544
           EXEC ;
545
           DIG 4 ;
546
           DUP 3 ;
547
           CAR ;
548
           CAR ;
549
           CAR ;
550
           CDR ;
551
           ADD ;
552
           DUP 3 ;
553
           CDR ;
554
           DUP 4 ;
555
           CAR ;
556
           CDR ;
557
           DUP 5 ;
558
           CAR ;
559
           CAR ;
560
           CDR ;
561
           CDR ;
562
           DIG 4 ;
563
           PAIR ;
564
           DIG 4 ;
565
           CAR ;
566
           CAR ;
567
           CAR ;
568
           PAIR ;
569
           PAIR ;
570
           PAIR ;
571
           DIG 2 ;
572
           DUP 2 ;
573
           CDR ;
574
           DUP 3 ;
575
           CAR ;
576
           CDR ;
577
           DUP 4 ;
578
           CAR ;
579
           CAR ;
580
           CDR ;
581
           DIG 5 ;
582
           DIG 5 ;
583
           CAR ;
584
           CAR ;
585
           CAR ;
586
           CAR ;
587
           PAIR ;
588
           PAIR ;
589
           PAIR ;
590
           PAIR ;
591
           DIG 2 ;
592
           SWAP ;
593
           SOME ;
594
           SWAP ;
595
           UPDATE } ;
596
       DUP 5 ;
597
       APPLY ;
598
       LAMBDA
599
         (pair
600
           (pair
601
             (pair
602
               (pair
603
                 (pair
604
                   (pair (pair (pair address nat) nat (or address (pair nat address)))
605
                         (or address (pair nat address)))
606
                   (pair (pair nat nat)
607
                         (big_map nat
608
                                  (pair (pair (pair nat nat) (pair int int)) timestamp))
609
                         nat))
610
                 int
611
                 int)
612
               (pair (pair nat nat) (pair nat nat))
613
               (big_map (pair nat bool) (pair int nat))
614
               nat)
615
             (pair (pair (big_map string bytes) nat)
616
                   (big_map (pair address address nat) unit)
617
                   (big_map address (set nat)))
618
             (pair (big_map nat (pair (pair (pair (pair int int) nat) int address) int))
619
                   nat)
620
             (big_map int
621
                      (pair
622
                        (pair (pair (pair (pair nat nat) int) nat int) (pair int nat)
623
                              nat
624
                              nat)
625
                        int))
626
             (big_map nat (pair nat (map string bytes))))
627
           int)
628
         (pair
629
           (pair
630
             (pair
631
               (pair
632
                 (pair (pair (pair address nat) nat (or address (pair nat address)))
633
                       (or address (pair nat address)))
634
                 (pair (pair nat nat)
635
                       (big_map nat
636
                                (pair (pair (pair nat nat) (pair int int)) timestamp))
637
                       nat))
638
               int
639
               int)
640
             (pair (pair nat nat) (pair nat nat))
641
             (big_map (pair nat bool) (pair int nat))
642
             nat)
643
           (pair (pair (big_map string bytes) nat)
644
                 (big_map (pair address address nat) unit)
645
                 (big_map address (set nat)))
646
           (pair (big_map nat (pair (pair (pair (pair int int) nat) int address) int))
647
                 nat)
648
           (big_map int
649
                    (pair
650
                      (pair (pair (pair (pair nat nat) int) nat int) (pair int nat) nat
651
                            nat)
652
                      int))
653
           (big_map nat (pair nat (map string bytes))))
654
         { UNPAIR ;
655
           DUP ;
656
           CDR ;
657
           CDR ;
658
           CDR ;
659
           CAR ;
660
           DUP 3 ;
661
           GET ;
662
           IF_NONE { PUSH nat 301 ; FAILWITH } {} ;
663
           PUSH nat 0 ;
664
           DUP 2 ;
665
           CAR ;
666
           CAR ;
667
           CDR ;
668
           CAR ;
669
           COMPARE ;
670
           EQ ;
671
           IF
672
             { DUP 2 ;
673
               CDR ;
674
               CDR ;
675
               CDR ;
676
               CAR ;
677
               DUP ;
678
               DUP 3 ;
679
               CAR ;
680
               CDR ;
681
               CAR ;
682
               CAR ;
683
               GET ;
684
               IF_NONE { PUSH nat 301 ; FAILWITH } {} ;
685
               DUP 2 ;
686
               DUP 4 ;
687
               CAR ;
688
               CAR ;
689
               CDR ;
690
               CDR ;
691
               GET ;
692
               IF_NONE { PUSH nat 301 ; FAILWITH } {} ;
693
               DUP 5 ;
694
               CDR ;
695
               CDR ;
696
               CDR ;
697
               CDR ;
698
               DIG 3 ;
699
               DUP 7 ;
700
               NONE (pair
701
                      (pair (pair (pair (pair nat nat) int) nat int) (pair int nat) nat
702
                            nat)
703
                      int) ;
704
               SWAP ;
705
               UPDATE ;
706
               DUP 4 ;
707
               CDR ;
708
               DUP 5 ;
709
               CAR ;
710
               CDR ;
711
               DUP 7 ;
712
               CAR ;
713
               CAR ;
714
               CDR ;
715
               CDR ;
716
               DUP 7 ;
717
               CAR ;
718
               CAR ;
719
               CDR ;
720
               CAR ;
721
               PAIR ;
722
               DIG 6 ;
723
               CAR ;
724
               CAR ;
725
               CAR ;
726
               PAIR ;
727
               PAIR ;
728
               PAIR ;
729
               SOME ;
730
               DUP 5 ;
731
               CAR ;
732
               CDR ;
733
               CAR ;
734
               CAR ;
735
               UPDATE ;
736
               DUP 3 ;
737
               CDR ;
738
               DUP 4 ;
739
               CAR ;
740
               CDR ;
741
               CDR ;
742
               DUP 5 ;
743
               CAR ;
744
               CDR ;
745
               CAR ;
746
               CDR ;
747
               DUP 7 ;
748
               CAR ;
749
               CDR ;
750
               CAR ;
751
               CAR ;
752
               PAIR ;
753
               PAIR ;
754
               DIG 4 ;
755
               CAR ;
756
               CAR ;
757
               PAIR ;
758
               PAIR ;
759
               SOME ;
760
               DUP 4 ;
761
               CAR ;
762
               CAR ;
763
               CDR ;
764
               CDR ;
765
               UPDATE ;
766
               PAIR ;
767
               DUP 3 ;
768
               CDR ;
769
               CDR ;
770
               CAR ;
771
               PAIR ;
772
               DUP 3 ;
773
               CDR ;
774
               CAR ;
775
               PAIR ;
776
               DUP 3 ;
777
               CAR ;
778
               PAIR ;
779
               DUP ;
780
               CDR ;
781
               DUP 2 ;
782
               CAR ;
783
               CDR ;
784
               DIG 5 ;
785
               DUP 6 ;
786
               CAR ;
787
               CAR ;
788
               CDR ;
789
               CDR ;
790
               COMPARE ;
791
               EQ ;
792
               IF
793
                 { DIG 4 ; DROP ; DIG 3 ; CAR ; CDR ; CAR ; CAR }
794
                 { DIG 3 ; DROP ; DIG 3 ; CAR ; CAR ; CDR ; CDR } ;
795
               DUP 4 ;
796
               CAR ;
797
               CAR ;
798
               CDR ;
799
               CAR ;
800
               PAIR ;
801
               DIG 3 ;
802
               CAR ;
803
               CAR ;
804
               CAR ;
805
               PAIR ;
806
               PAIR ;
807
               PAIR }
808
             { DIG 2 ; DROP 2 } } ;
809
       LAMBDA
810
         (pair (lambda (pair int nat) nat)
811
               (pair
812
                 (pair
813
                   (pair
814
                     (pair
815
                       (pair
816
                         (pair
817
                           (pair (pair address nat) nat (or address (pair nat address)))
818
                           (or address (pair nat address)))
819
                         (pair (pair nat nat)
820
                               (big_map nat
821
                                        (pair (pair (pair nat nat) (pair int int))
822
                                              timestamp))
823
                               nat))
824
                       int
825
                       int)
826
                     (pair (pair nat nat) (pair nat nat))
827
                     (big_map (pair nat bool) (pair int nat))
828
                     nat)
829
                   (pair (pair (big_map string bytes) nat)
830
                         (big_map (pair address address nat) unit)
831
                         (big_map address (set nat)))
832
                   (pair
833
                     (big_map nat
834
                              (pair (pair (pair (pair int int) nat) int address) int))
835
                     nat)
836
                   (big_map int
837
                            (pair
838
                              (pair (pair (pair (pair nat nat) int) nat int)
839
                                    (pair int nat)
840
                                    nat
841
                                    nat)
842
                              int))
843
                   (big_map nat (pair nat (map string bytes))))
844
                 int
845
                 int))
846
         (pair int int)
847
         { UNPAIR ;
848
           SWAP ;
849
           UNPAIR 3 ;
850
           DUP ;
851
           CDR ;
852
           CDR ;
853
           CDR ;
854
           CAR ;
855
           DUP 3 ;
856
           GET ;
857
           IF_NONE { PUSH nat 301 ; FAILWITH } {} ;
858
           DUP 2 ;
859
           CDR ;
860
           CDR ;
861
           CDR ;
862
           CAR ;
863
           DUP 5 ;
864
           GET ;
865
           IF_NONE { PUSH nat 301 ; FAILWITH } {} ;
866
           DIG 4 ;
867
           DUP 4 ;
868
           CAR ;
869
           CAR ;
870
           CDR ;
871
           CAR ;
872
           COMPARE ;
873
           GE ;
874
           IF
875
             { PUSH nat 311 ;
876
               DUP 2 ;
877
               CAR ;
878
               CAR ;
879
               CAR ;
880
               CAR ;
881
               CDR ;
882
               DUP 5 ;
883
               CAR ;
884
               CDR ;
885
               CAR ;
886
               CDR ;
887
               CDR ;
888
               SUB ;
889
               PAIR ;
890
               DUP 6 ;
891
               SWAP ;
892
               EXEC ;
893
               PUSH nat 311 ;
894
               DIG 2 ;
895
               CAR ;
896
               CAR ;
897
               CAR ;
898
               CAR ;
899
               CAR ;
900
               DUP 5 ;
901
               CAR ;
902
               CDR ;
903
               CAR ;
904
               CDR ;
905
               CAR ;
906
               SUB ;
907
               PAIR ;
908
               DUP 6 ;
909
               SWAP ;
910
               EXEC ;
911
               PAIR }
912
             { CAR ; CAR ; CAR ; CAR } ;
913
           DIG 3 ;
914
           DUP 4 ;
915
           CAR ;
916
           CAR ;
917
           CDR ;
918
           CAR ;
919
           COMPARE ;
920
           GE ;
921
           IF
922
             { DIG 3 ; DROP ; SWAP ; CAR ; CAR ; CAR ; CAR }
923
             { PUSH nat 312 ;
924
               DUP 3 ;
925
               CAR ;
926
               CAR ;
927
               CAR ;
928
               CAR ;
929
               CDR ;
930
               DUP 5 ;
931
               CAR ;
932
               CDR ;
933
               CAR ;
934
               CDR ;
935
               CDR ;
936
               SUB ;
937
               PAIR ;
938
               DUP 5 ;
939
               SWAP ;
940
               EXEC ;
941
               PUSH nat 312 ;
942
               DIG 3 ;
943
               CAR ;
944
               CAR ;
945
               CAR ;
946
               CAR ;
947
               CAR ;
948
               DUP 5 ;
949
               CAR ;
950
               CDR ;
951
               CAR ;
952
               CDR ;
953
               CAR ;
954
               SUB ;
955
               PAIR ;
956
               DIG 4 ;
957
               SWAP ;
958
               EXEC ;
959
               PAIR } ;
960
           DUP ;
961
           CDR ;
962
           DUP 3 ;
963
           CDR ;
964
           DUP 5 ;
965
           CAR ;
966
           CDR ;
967
           CAR ;
968
           CDR ;
969
           CDR ;
970
           SUB ;
971
           SUB ;
972
           SWAP ;
973
           CAR ;
974
           DIG 2 ;
975
           CAR ;
976
           DIG 3 ;
977
           CAR ;
978
           CDR ;
979
           CAR ;
980
           CDR ;
981
           CAR ;
982
           SUB ;
983
           SUB ;
984
           PAIR } ;
985
       DUP 7 ;
986
       APPLY ;
987
       LAMBDA
988
         (pair
989
           (pair
990
             (lambda (pair address address nat (or address (pair nat address)))
991
                     operation)
992
             (lambda (pair int nat) nat)
993
             (lambda (pair int int) int))
994
           (pair
995
             (pair
996
               (pair
997
                 (pair
998
                   (pair
999
                     (pair (pair (pair address nat) nat (or address (pair nat address)))
1000
                           (or address (pair nat address)))
1001
                     (pair (pair nat nat)
1002
                           (big_map nat
1003
                                    (pair (pair (pair nat nat) (pair int int)) timestamp))
1004
                           nat))
1005
                   int
1006
                   int)
1007
                 (pair (pair nat nat) (pair nat nat))
1008
                 (big_map (pair nat bool) (pair int nat))
1009
                 nat)
1010
               (pair (pair (big_map string bytes) nat)
1011
                     (big_map (pair address address nat) unit)
1012
                     (big_map address (set nat)))
1013
               (pair
1014
                 (big_map nat (pair (pair (pair (pair int int) nat) int address) int))
1015
                 nat)
1016
               (big_map int
1017
                        (pair
1018
                          (pair (pair (pair (pair nat nat) int) nat int) (pair int nat)
1019
                                nat
1020
                                nat)
1021
                          int))
1022
               (big_map nat (pair nat (map string bytes))))
1023
             int
1024
             int
1025
             (pair int int)
1026
             address
1027
             address
1028
             int
1029
             nat
1030
             nat))
1031
         (pair (list operation)
1032
               (pair
1033
                 (pair
1034
                   (pair
1035
                     (pair (pair (pair address nat) nat (or address (pair nat address)))
1036
                           (or address (pair nat address)))
1037
                     (pair (pair nat nat)
1038
                           (big_map nat
1039
                                    (pair (pair (pair nat nat) (pair int int)) timestamp))
1040
                           nat))
1041
                   int
1042
                   int)
1043
                 (pair (pair nat nat) (pair nat nat))
1044
                 (big_map (pair nat bool) (pair int nat))
1045
                 nat)
1046
               (pair (pair (big_map string bytes) nat)
1047
                     (big_map (pair address address nat) unit)
1048
                     (big_map address (set nat)))
1049
               (pair
1050
                 (big_map nat (pair (pair (pair (pair int int) nat) int address) int))
1051
                 nat)
1052
               (big_map int
1053
                        (pair
1054
                          (pair (pair (pair (pair nat nat) int) nat int) (pair int nat)
1055
                                nat
1056
                                nat)
1057
                          int))
1058
               (big_map nat (pair nat (map string bytes))))
1059
         { UNPAIR ;
1060
           UNPAIR 3 ;
1061
           DIG 3 ;
1062
           UNPAIR 8 ;
1063
           DUP ;
1064
           CDR ;
1065
           CDR ;
1066
           CDR ;
1067
           CAR ;
1068
           DUP ;
1069
           DUP 5 ;
1070
           GET ;
1071
           IF_NONE { PUSH nat 301 ; FAILWITH } {} ;
1072
           SWAP ;
1073
           DUP 4 ;
1074
           GET ;
1075
           IF_NONE { PUSH nat 301 ; FAILWITH } {} ;
1076
           SWAP ;
1077
           CAR ;
1078
           CDR ;
1079
           CDR ;
1080
           CDR ;
1081
           SWAP ;
1082
           CAR ;
1083
           CDR ;
1084
           CDR ;
1085
           CDR ;
1086
           DUP 4 ;
1087
           DUP 4 ;
1088
           CAR ;
1089
           CAR ;
1090
           CDR ;
1091
           CAR ;
1092
           COMPARE ;
1093
           LT ;
1094
           IF
1095
             { DIG 3 ;
1096
               DIG 4 ;
1097
               DROP 2 ;
1098
               PUSH int 0 ;
1099
               DUP 3 ;
1100
               DUP 3 ;
1101
               MUL ;
1102
               INT ;
1103
               PUSH nat 80 ;
1104
               PUSH nat 318 ;
1105
               DIG 4 ;
1106
               DIG 5 ;
1107
               SUB ;
1108
               PAIR ;
1109
               DIG 11 ;
1110
               SWAP ;
1111
               EXEC ;
1112
               LSL ;
1113
               INT ;
1114
               DIG 7 ;
1115
               MUL ;
1116
               PAIR ;
1117
               DIG 8 ;
1118
               SWAP ;
1119
               EXEC }
1120
             { DIG 4 ;
1121
               DUP 4 ;
1122
               CAR ;
1123
               CAR ;
1124
               CDR ;
1125
               CAR ;
1126
               COMPARE ;
1127
               LT ;
1128
               DUP 4 ;
1129
               CAR ;
1130
               CAR ;
1131
               CDR ;
1132
               CAR ;
1133
               DIG 5 ;
1134
               COMPARE ;
1135
               LE ;
1136
               AND ;
1137
               IF
1138
                 { DUP 3 ;
1139
                   CDR ;
1140
                   PUSH nat 111 ;
1141
                   DUP 9 ;
1142
                   DUP 6 ;
1143
                   CAR ;
1144
                   CDR ;
1145
                   CDR ;
1146
                   CDR ;
1147
                   ADD ;
1148
                   PAIR ;
1149
                   DUP 12 ;
1150
                   SWAP ;
1151
                   EXEC ;
1152
                   DUP 5 ;
1153
                   CAR ;
1154
                   CDR ;
1155
                   CDR ;
1156
                   CAR ;
1157
                   PAIR ;
1158
                   DUP 5 ;
1159
                   CAR ;
1160
                   CDR ;
1161
                   CAR ;
1162
                   PAIR ;
1163
                   DIG 4 ;
1164
                   CAR ;
1165
                   CAR ;
1166
                   PAIR ;
1167
                   PAIR ;
1168
                   PUSH int 1208925819614629174706176 ;
1169
                   DIG 2 ;
1170
                   DUP 3 ;
1171
                   CDR ;
1172
                   CDR ;
1173
                   CAR ;
1174
                   CDR ;
1175
                   SUB ;
1176
                   DUP 8 ;
1177
                   MUL ;
1178
                   PAIR ;
1179
                   DUP 11 ;
1180
                   SWAP ;
1181
                   EXEC ;
1182
                   DUP 3 ;
1183
                   DUP 3 ;
1184
                   CDR ;
1185
                   CDR ;
1186
                   CAR ;
1187
                   CDR ;
1188
                   MUL ;
1189
                   INT ;
1190
                   PUSH nat 80 ;
1191
                   PUSH nat 319 ;
1192
                   DUP 5 ;
1193
                   CDR ;
1194
                   CDR ;
1195
                   CAR ;
1196
                   CDR ;
1197
                   DIG 6 ;
1198
                   SUB ;
1199
                   PAIR ;
1200
                   DIG 11 ;
1201
                   SWAP ;
1202
                   EXEC ;
1203
                   LSL ;
1204
                   INT ;
1205
                   DIG 7 ;
1206
                   MUL ;
1207
                   PAIR ;
1208
                   DIG 8 ;
1209
                   SWAP ;
1210
                   EXEC }
1211
                 { DIG 9 ;
1212
                   DROP ;
1213
                   PUSH int 1208925819614629174706176 ;
1214
                   SWAP ;
1215
                   DIG 2 ;
1216
                   SUB ;
1217
                   DIG 6 ;
1218
                   MUL ;
1219
                   PAIR ;
1220
                   DIG 7 ;
1221
                   SWAP ;
1222
                   EXEC ;
1223
                   PUSH int 0 } } ;
1224
           PAIR ;
1225
           SWAP ;
1226
           DUP 6 ;
1227
           CDR ;
1228
           DUP 3 ;
1229
           CDR ;
1230
           SUB ;
1231
           DIG 6 ;
1232
           CAR ;
1233
           DIG 3 ;
1234
           CAR ;
1235
           SUB ;
1236
           PAIR ;
1237
           DUP 3 ;
1238
           CAR ;
1239
           DUP 2 ;
1240
           CAR ;
1241
           COMPARE ;
1242
           GT ;
1243
           IF { DUP ; CAR ; DUP 4 ; CAR ; PAIR ; PUSH nat 106 ; PAIR ; FAILWITH } {} ;
1244
           DUP 3 ;
1245
           CDR ;
1246
           DUP 2 ;
1247
           CDR ;
1248
           COMPARE ;
1249
           GT ;
1250
           IF
1251
             { DUP ; CDR ; DIG 3 ; CDR ; PAIR ; PUSH nat 106 ; PAIR ; FAILWITH }
1252
             { DIG 2 ; DROP } ;
1253
           NIL operation ;
1254
           PUSH int 0 ;
1255
           DUP 3 ;
1256
           CAR ;
1257
           COMPARE ;
1258
           GT ;
1259
           IF
1260
             { DIG 3 ;
1261
               DROP ;
1262
               DUP 3 ;
1263
               CAR ;
1264
               CAR ;
1265
               CAR ;
1266
               CAR ;
1267
               CAR ;
1268
               CDR ;
1269
               CDR ;
1270
               DUP 3 ;
1271
               CAR ;
1272
               ABS ;
1273
               SELF_ADDRESS ;
1274
               SENDER ;
1275
               PAIR 4 ;
1276
               DUP 6 ;
1277
               SWAP ;
1278
               EXEC ;
1279
               CONS }
1280
             { PUSH int 0 ;
1281
               DUP 3 ;
1282
               CAR ;
1283
               COMPARE ;
1284
               LT ;
1285
               IF
1286
                 { DUP 3 ;
1287
                   CAR ;
1288
                   CAR ;
1289
                   CAR ;
1290
                   CAR ;
1291
                   CAR ;
1292
                   CDR ;
1293
                   CDR ;
1294
                   DUP 3 ;
1295
                   CAR ;
1296
                   ABS ;
1297
                   DIG 5 ;
1298
                   SELF_ADDRESS ;
1299
                   PAIR 4 ;
1300
                   DUP 6 ;
1301
                   SWAP ;
1302
                   EXEC ;
1303
                   CONS }
1304
                 { DIG 3 ; DROP } } ;
1305
           PUSH int 0 ;
1306
           DUP 3 ;
1307
           CDR ;
1308
           COMPARE ;
1309
           GT ;
1310
           IF
1311
             { DIG 3 ;
1312
               DROP ;
1313
               DUP 3 ;
1314
               CAR ;
1315
               CAR ;
1316
               CAR ;
1317
               CAR ;
1318
               CDR ;
1319
               DIG 2 ;
1320
               CDR ;
1321
               ABS ;
1322
               SELF_ADDRESS ;
1323
               SENDER ;
1324
               PAIR 4 ;
1325
               DIG 3 ;
1326
               SWAP ;
1327
               EXEC ;
1328
               CONS }
1329
             { PUSH int 0 ;
1330
               DUP 3 ;
1331
               CDR ;
1332
               COMPARE ;
1333
               LT ;
1334
               IF
1335
                 { DUP 3 ;
1336
                   CAR ;
1337
                   CAR ;
1338
                   CAR ;
1339
                   CAR ;
1340
                   CDR ;
1341
                   DIG 2 ;
1342
                   CDR ;
1343
                   ABS ;
1344
                   DIG 4 ;
1345
                   SELF_ADDRESS ;
1346
                   PAIR 4 ;
1347
                   DIG 3 ;
1348
                   SWAP ;
1349
                   EXEC ;
1350
                   CONS }
1351
                 { SWAP ; DIG 3 ; DIG 4 ; DROP 3 } } ;
1352
           PAIR } ;
1353
       DUP 10 ;
1354
       DUP 9 ;
1355
       DUP 8 ;
1356
       PAIR 3 ;
1357
       APPLY ;
1358
       DIG 9 ;
1359
       DROP ;
1360
       LAMBDA
1361
         (pair (lambda (pair int (big_map (pair nat bool) (pair int nat))) nat)
1362
               (pair int nat nat (big_map (pair nat bool) (pair int nat))))
1363
         int
1364
         { UNPAIR ;
1365
           SWAP ;
1366
           UNPAIR 4 ;
1367
           DUP 3 ;
1368
           PUSH nat 10 ;
1369
           MUL ;
1370
           DUP 3 ;
1371
           PUSH nat 15 ;
1372
           MUL ;
1373
           DUP 2 ;
1374
           COMPARE ;
1375
           GT ;
1376
           DUP 4 ;
1377
           PUSH nat 7 ;
1378
           MUL ;
1379
           DIG 2 ;
1380
           COMPARE ;
1381
           LT ;
1382
           OR ;
1383
           IF { PUSH nat 101 ; FAILWITH } {} ;
1384
           DUP 2 ;
1385
           DUP 4 ;
1386
           ADD ;
1387
           DUP ;
1388
           DUP 4 ;
1389
           DUP 6 ;
1390
           SUB ;
1391
           PUSH int 60003 ;
1392
           MUL ;
1393
           MUL ;
1394
           DIG 3 ;
1395
           DUP 5 ;
1396
           PUSH nat 2 ;
1397
           MUL ;
1398
           MUL ;
1399
           DUP 3 ;
1400
           DIG 3 ;
1401
           MUL ;
1402
           ADD ;
1403
           SWAP ;
1404
           EDIV ;
1405
           IF_NONE { PUSH string "DIV by 0" ; FAILWITH } {} ;
1406
           CAR ;
1407
           ADD ;
1408
           DUP 3 ;
1409
           DUP 2 ;
1410
           PAIR ;
1411
           DUP 5 ;
1412
           SWAP ;
1413
           EXEC ;
1414
           SWAP ;
1415
           PAIR ;
1416
           LEFT int ;
1417
           LOOP_LEFT { UNPAIR ;
1418
                       SWAP ;
1419
                       DUP 3 ;
1420
                       COMPARE ;
1421
                       LT ;
1422
                       IF
1423
                         { PUSH int 1 ;
1424
                           SWAP ;
1425
                           SUB ;
1426
                           DUP 3 ;
1427
                           DUP 2 ;
1428
                           PAIR ;
1429
                           DUP 5 ;
1430
                           SWAP ;
1431
                           EXEC ;
1432
                           SWAP ;
1433
                           PAIR ;
1434
                           LEFT int }
1435
                         { PUSH int 1 ;
1436
                           DUP 2 ;
1437
                           ADD ;
1438
                           DUP 4 ;
1439
                           DUP 2 ;
1440
                           PAIR ;
1441
                           DUP 6 ;
1442
                           SWAP ;
1443
                           EXEC ;
1444
                           DUP 4 ;
1445
                           DUP 2 ;
1446
                           COMPARE ;
1447
                           LE ;
1448
                           IF
1449
                             { DIG 2 ; DROP ; SWAP ; PAIR ; LEFT int }
1450
                             { DROP 2 ; RIGHT (pair int nat) } } } ;
1451
           SWAP ;
1452
           DIG 2 ;
1453
           DIG 3 ;
1454
           DROP 3 } ;
1455
       DUP 8 ;
1456
       APPLY ;
1457
       DIG 7 ;
1458
       DROP ;
1459
       DIG 10 ;
1460
       UNPAIR ;
1461
       PUSH mutez 0 ;
1462
       AMOUNT ;
1463
       COMPARE ;
1464
       EQ ;
1465
       IF {} { PUSH nat 113 ; FAILWITH } ;
1466
       DUP 2 ;
1467
       CAR ;
1468
       CAR ;
1469
       CAR ;
1470
       CDR ;
1471
       DUP ;
1472
       CDR ;
1473
       CAR ;
1474
       DUP 2 ;
1475
       CAR ;
1476
       CDR ;
1477
       GET ;
1478
       IF_NONE { PUSH nat 321 ; FAILWITH } {} ;
1479
       NOW ;
1480
       DUP 2 ;
1481
       CDR ;
1482
       COMPARE ;
1483
       EQ ;
1484
       IF
1485
         { DROP 2 ; SWAP }
1486
         { DUP ;
1487
           CDR ;
1488
           NOW ;
1489
           SUB ;
1490
           ABS ;
1491
           NOW ;
1492
           DUP 6 ;
1493
           CAR ;
1494
           CAR ;
1495
           CDR ;
1496
           CAR ;
1497
           DUP 3 ;
1498
           MUL ;
1499
           DUP 4 ;
1500
           CAR ;
1501
           CDR ;
1502
           CDR ;
1503
           ADD ;
1504
           DUP 7 ;
1505
           CAR ;
1506
           CAR ;
1507
           CDR ;
1508
           CAR ;
1509
           PAIR ;
1510
           DUP 7 ;
1511
           CAR ;
1512
           CDR ;
1513
           CDR ;
1514
           CDR ;
1515
           PUSH nat 0 ;
1516
           DUP 2 ;
1517
           COMPARE ;
1518
           EQ ;
1519
           IF
1520
             { DIG 3 ; DROP 2 ; PUSH nat 0 }
1521
             { PUSH nat 128 ;
1522
               DIG 4 ;
1523
               LSL ;
1524
               EDIV ;
1525
               IF_NONE { PUSH string "DIV by 0" ; FAILWITH } {} ;
1526
               CAR } ;
1527
           DIG 3 ;
1528
           CAR ;
1529
           CAR ;
1530
           CDR ;
1531
           ADD ;
1532
           DUP 6 ;
1533
           CAR ;
1534
           CDR ;
1535
           CDR ;
1536
           CDR ;
1537
           PAIR ;
1538
           PAIR ;
1539
           PAIR ;
1540
           PUSH nat 1 ;
1541
           DUP 3 ;
1542
           CAR ;
1543
           CDR ;
1544
           ADD ;
1545
           PUSH int 1 ;
1546
           DUP 4 ;
1547
           CDR ;
1548
           CDR ;
1549
           SUB ;
1550
           DUP 4 ;
1551
           CAR ;
1552
           CAR ;
1553
           DUP 5 ;
1554
           CAR ;
1555
           CDR ;
1556
           SUB ;
1557
           COMPARE ;
1558
           LT ;
1559
           IF
1560
             { PUSH bool False ; DUP 4 ; CAR ; CAR }
1561
             { PUSH bool True ; PUSH nat 1 ; DUP 5 ; CAR ; CAR ; ADD } ;
1562
           DUP 5 ;
1563
           CDR ;
1564
           CAR ;
1565
           DIG 4 ;
1566
           DUP 5 ;
1567
           SWAP ;
1568
           SOME ;
1569
           SWAP ;
1570
           UPDATE ;
1571
           DUP 7 ;
1572
           CDR ;
1573
           DUP 8 ;
1574
           CAR ;
1575
           CDR ;
1576
           DUP 9 ;
1577
           CAR ;
1578
           CAR ;
1579
           CDR ;
1580
           DUP 8 ;
1581
           CDR ;
1582
           CDR ;
1583
           DIG 6 ;
1584
           IF
1585
             { DIG 4 ;
1586
               DIG 7 ;
1587
               CAR ;
1588
               CAR ;
1589
               NONE (pair (pair (pair nat nat) (pair int int)) timestamp) ;
1590
               SWAP ;
1591
               UPDATE }
1592
             { DIG 7 ; DROP ; DIG 4 } ;
1593
           PAIR ;
1594
           DIG 5 ;
1595
           DIG 5 ;
1596
           PAIR ;
1597
           PAIR ;
1598
           DIG 5 ;
1599
           CAR ;
1600
           CAR ;
1601
           CAR ;
1602
           CAR ;
1603
           PAIR ;
1604
           PAIR ;
1605
           PAIR ;
1606
           PAIR } ;
1607
       SWAP ;
1608
       IF_LEFT
1609
         { DIG 2 ;
1610
           DIG 10 ;
1611
           DIG 11 ;
1612
           DROP 3 ;
1613
           IF_LEFT
1614
             { DIG 2 ;
1615
               DIG 3 ;
1616
               DIG 4 ;
1617
               DIG 5 ;
1618
               DIG 6 ;
1619
               DIG 8 ;
1620
               DROP 6 ;
1621
               IF_LEFT
1622
                 { IF_LEFT
1623
                     { DIG 2 ;
1624
                       DROP ;
1625
                       IF_LEFT
1626
                         { DUP ;
1627
                           CAR ;
1628
                           MAP { DUP 3 ;
1629
                                 CDR ;
1630
                                 CDR ;
1631
                                 CAR ;
1632
                                 CAR ;
1633
                                 DUP 2 ;
1634
                                 CDR ;
1635
                                 GET ;
1636
                                 IF_NONE
1637
                                   { UNIT ;
1638
                                     PUSH string "FA2_TOKEN_UNDEFINED" ;
1639
                                     PAIR ;
1640
                                     FAILWITH }
1641
                                   {} ;
1642
                                 CAR ;
1643
                                 CDR ;
1644
                                 CDR ;
1645
                                 DUP 2 ;
1646
                                 CAR ;
1647
                                 COMPARE ;
1648
                                 EQ ;
1649
                                 IF { PUSH nat 1 } { PUSH nat 0 } ;
1650
                                 SWAP ;
1651
                                 PAIR } ;
1652
                           SWAP ;
1653
                           CDR ;
1654
                           PUSH mutez 0 ;
1655
                           DIG 2 ;
1656
                           TRANSFER_TOKENS ;
1657
                           SWAP ;
1658
                           NIL operation ;
1659
                           DIG 2 ;
1660
                           CONS }
1661
                         { IF_LEFT
1662
                             { ITER { SWAP ;
1663
                                      DUP 2 ;
1664
                                      CDR ;
1665
                                      ITER { SWAP ;
1666
                                             DUP 3 ;
1667
                                             CAR ;
1668
                                             DUP ;
1669
                                             SENDER ;
1670
                                             COMPARE ;
1671
                                             EQ ;
1672
                                             IF
1673
                                               { DROP }
1674
                                               { DUP 3 ;
1675
                                                 GET 3 ;
1676
                                                 SENDER ;
1677
                                                 DIG 2 ;
1678
                                                 PAIR 3 ;
1679
                                                 DUP 2 ;
1680
                                                 CDR ;
1681
                                                 CAR ;
1682
                                                 CDR ;
1683
                                                 CAR ;
1684
                                                 SWAP ;
1685
                                                 MEM ;
1686
                                                 IF
1687
                                                   {}
1688
                                                   { UNIT ;
1689
                                                     PUSH string "FA2_NOT_OPERATOR" ;
1690
                                                     PAIR ;
1691
                                                     FAILWITH } } ;
1692
                                             DUP 3 ;
1693
                                             CAR ;
1694
                                             DUP 2 ;
1695
                                             CDR ;
1696
                                             CAR ;
1697
                                             CDR ;
1698
                                             CDR ;
1699
                                             DUP 3 ;
1700
                                             CDR ;
1701
                                             CDR ;
1702
                                             CAR ;
1703
                                             CAR ;
1704
                                             SENDER ;
1705
                                             DUP 6 ;
1706
                                             CAR ;
1707
                                             COMPARE ;
1708
                                             EQ ;
1709
                                             DUP 4 ;
1710
                                             DUP 7 ;
1711
                                             CAR ;
1712
                                             COMPARE ;
1713
                                             EQ ;
1714
                                             PUSH nat 0 ;
1715
                                             DUP 8 ;
1716
                                             GET 4 ;
1717
                                             COMPARE ;
1718
                                             EQ ;
1719
                                             OR ;
1720
                                             OR ;
1721
                                             IF
1722
                                               { DIG 2 ; DIG 4 ; DROP 2 }
1723
                                               { DUP ;
1724
                                                 DUP 6 ;
1725
                                                 GET 3 ;
1726
                                                 GET ;
1727
                                                 IF_NONE
1728
                                                   { UNIT ;
1729
                                                     PUSH string "FA2_TOKEN_UNDEFINED" ;
1730
                                                     PAIR ;
1731
                                                     FAILWITH }
1732
                                                   {} ;
1733
                                                 DIG 3 ;
1734
                                                 DUP 2 ;
1735
                                                 CAR ;
1736
                                                 CDR ;
1737
                                                 CDR ;
1738
                                                 COMPARE ;
1739
                                                 EQ ;
1740
                                                 IF { PUSH nat 1 } { PUSH nat 0 } ;
1741
                                                 PUSH nat 1 ;
1742
                                                 DUP 7 ;
1743
                                                 GET 4 ;
1744
                                                 COMPARE ;
1745
                                                 EQ ;
1746
                                                 PUSH nat 1 ;
1747
                                                 DUP 3 ;
1748
                                                 COMPARE ;
1749
                                                 EQ ;
1750
                                                 AND ;
1751
                                                 IF
1752
                                                   { DROP }
1753
                                                   { DUP 6 ;
1754
                                                     GET 4 ;
1755
                                                     PAIR ;
1756
                                                     PUSH string "FA2_INSUFFICIENT_BALANCE" ;
1757
                                                     PAIR ;
1758
                                                     FAILWITH } ;
1759
                                                 DUP 3 ;
1760
                                                 DUP 4 ;
1761
                                                 DUP 7 ;
1762
                                                 CAR ;
1763
                                                 GET ;
1764
                                                 IF_NONE { EMPTY_SET nat } {} ;
1765
                                                 DUP 7 ;
1766
                                                 GET 3 ;
1767
                                                 PUSH bool True ;
1768
                                                 SWAP ;
1769
                                                 UPDATE ;
1770
                                                 DUP 7 ;
1771
                                                 CAR ;
1772
                                                 SWAP ;
1773
                                                 SOME ;
1774
                                                 SWAP ;
1775
                                                 UPDATE ;
1776
                                                 DIG 3 ;
1777
                                                 DUP 3 ;
1778
                                                 CAR ;
1779
                                                 CDR ;
1780
                                                 CDR ;
1781
                                                 GET ;
1782
                                                 IF_NONE { EMPTY_SET nat } {} ;
1783
                                                 DUP 6 ;
1784
                                                 GET 3 ;
1785
                                                 PUSH bool False ;
1786
                                                 SWAP ;
1787
                                                 UPDATE ;
1788
                                                 DUP 3 ;
1789
                                                 CAR ;
1790
                                                 CDR ;
1791
                                                 CDR ;
1792
                                                 SWAP ;
1793
                                                 SOME ;
1794
                                                 SWAP ;
1795
                                                 UPDATE ;
1796
                                                 DIG 2 ;
1797
                                                 DUP 3 ;
1798
                                                 CDR ;
1799
                                                 DUP 6 ;
1800
                                                 CAR ;
1801
                                                 DUP 5 ;
1802
                                                 CAR ;
1803
                                                 CDR ;
1804
                                                 CAR ;
1805
                                                 PAIR ;
1806
                                                 DIG 4 ;
1807
                                                 CAR ;
1808
                                                 CAR ;
1809
                                                 PAIR ;
1810
                                                 PAIR ;
1811
                                                 DIG 4 ;
1812
                                                 GET 3 ;
1813
                                                 SWAP ;
1814
                                                 SOME ;
1815
                                                 SWAP ;
1816
                                                 UPDATE } ;
1817
                                             DUP 3 ;
1818
                                             CDR ;
1819
                                             CDR ;
1820
                                             CDR ;
1821
                                             DUP 4 ;
1822
                                             CDR ;
1823
                                             CDR ;
1824
                                             CAR ;
1825
                                             CDR ;
1826
                                             DIG 2 ;
1827
                                             PAIR ;
1828
                                             PAIR ;
1829
                                             DUP 3 ;
1830
                                             CDR ;
1831
                                             CAR ;
1832
                                             PAIR ;
1833
                                             DIG 2 ;
1834
                                             CAR ;
1835
                                             PAIR ;
1836
                                             DUP ;
1837
                                             CDR ;
1838
                                             CDR ;
1839
                                             DIG 2 ;
1840
                                             DUP 3 ;
1841
                                             CDR ;
1842
                                             CAR ;
1843
                                             CDR ;
1844
                                             CAR ;
1845
                                             PAIR ;
1846
                                             DUP 3 ;
1847
                                             CDR ;
1848
                                             CAR ;
1849
                                             CAR ;
1850
                                             PAIR ;
1851
                                             PAIR ;
1852
                                             SWAP ;
1853
                                             CAR ;
1854
                                             PAIR } ;
1855
                                      SWAP ;
1856
                                      DROP } }
1857
                             { DUP 2 ;
1858
                               CDR ;
1859
                               CAR ;
1860
                               CDR ;
1861
                               CAR ;
1862
                               SWAP ;
1863
                               ITER { IF_LEFT { UNIT ; SOME } { NONE unit } ;
1864
                                      DUP 2 ;
1865
                                      CAR ;
1866
                                      SENDER ;
1867
                                      COMPARE ;
1868
                                      EQ ;
1869
                                      IF
1870
                                        {}
1871
                                        { UNIT ; PUSH string "FA2_NOT_OWNER" ; PAIR ; FAILWITH } ;
1872
                                      DIG 2 ;
1873
                                      SWAP ;
1874
                                      DIG 2 ;
1875
                                      UPDATE } ;
1876
                               DUP 2 ;
1877
                               CDR ;
1878
                               CDR ;
1879
                               DUP 3 ;
1880
                               CDR ;
1881
                               CAR ;
1882
                               CDR ;
1883
                               CDR ;
1884
                               DIG 2 ;
1885
                               PAIR ;
1886
                               DUP 3 ;
1887
                               CDR ;
1888
                               CAR ;
1889
                               CAR ;
1890
                               PAIR ;
1891
                               PAIR ;
1892
                               SWAP ;
1893
                               CAR ;
1894
                               PAIR } ;
1895
                           NIL operation } }
1896
                     { PUSH string "not_get_owner" ;
1897
                       DUP 3 ;
1898
                       CAR ;
1899
                       CAR ;
1900
                       CAR ;
1901
                       CAR ;
1902
                       CAR ;
1903
                       CAR ;
1904
                       CAR ;
1905
                       UNIT ;
1906
                       VIEW "get_owner" address ;
1907
                       IF_NONE { FAILWITH } { SWAP ; DROP } ;
1908
                       SENDER ;
1909
                       COMPARE ;
1910
                       NEQ ;
1911
                       IF { PUSH nat 420 ; FAILWITH } {} ;
1912
                       NIL operation ;
1913
                       PUSH nat 0 ;
1914
                       DUP 4 ;
1915
                       CAR ;
1916
                       CDR ;
1917
                       CAR ;
1918
                       CAR ;
1919
                       CAR ;
1920
                       COMPARE ;
1921
                       GT ;
1922
                       IF
1923
                         { DUP 3 ;
1924
                           CAR ;
1925
                           CAR ;
1926
                           CAR ;
1927
                           CAR ;
1928
                           CAR ;
1929
                           CDR ;
1930
                           CDR ;
1931
                           DUP 4 ;
1932
                           CAR ;
1933
                           CDR ;
1934
                           CAR ;
1935
                           CAR ;
1936
                           CAR ;
1937
                           DUP 4 ;
1938
                           SELF_ADDRESS ;
1939
                           PAIR 4 ;
1940
                           DUP 5 ;
1941
                           SWAP ;
1942
                           EXEC ;
1943
                           CONS }
1944
                         {} ;
1945
                       PUSH nat 0 ;
1946
                       DUP 4 ;
1947
                       CAR ;
1948
                       CDR ;
1949
                       CAR ;
1950
                       CAR ;
1951
                       CDR ;
1952
                       COMPARE ;
1953
                       GT ;
1954
                       IF
1955
                         { DUP 3 ;
1956
                           CAR ;
1957
                           CAR ;
1958
                           CAR ;
1959
                           CAR ;
1960
                           CDR ;
1961
                           DUP 4 ;
1962
                           CAR ;
1963
                           CDR ;
1964
                           CAR ;
1965
                           CAR ;
1966
                           CDR ;
1967
                           DIG 3 ;
1968
                           SELF_ADDRESS ;
1969
                           PAIR 4 ;
1970
                           DIG 3 ;
1971
                           SWAP ;
1972
                           EXEC ;
1973
                           CONS }
1974
                         { SWAP ; DIG 3 ; DROP 2 } ;
1975
                       DUP 2 ;
1976
                       CDR ;
1977
                       DUP 3 ;
1978
                       CAR ;
1979
                       CDR ;
1980
                       CDR ;
1981
                       DUP 4 ;
1982
                       CAR ;
1983
                       CDR ;
1984
                       CAR ;
1985
                       CDR ;
1986
                       PUSH nat 0 ;
1987
                       PUSH nat 0 ;
1988
                       PAIR ;
1989
                       PAIR ;
1990
                       PAIR ;
1991
                       DIG 3 ;
1992
                       CAR ;
1993
                       CAR ;
1994
                       PAIR ;
1995
                       PAIR ;
1996
                       SWAP } }
1997
                 { DIG 2 ;
1998
                   DROP ;
1999
                   IF_LEFT
2000
                     { DUP 2 ;
2001
                       CDR ;
2002
                       CDR ;
2003
                       CAR ;
2004
                       CAR ;
2005
                       DUP 2 ;
2006
                       CAR ;
2007
                       GET ;
2008
                       IF_NONE
2009
                         { UNIT ; PUSH string "FA2_TOKEN_UNDEFINED" ; PAIR ; FAILWITH }
2010
                         {} ;
2011
                       DIG 2 ;
2012
                       NIL operation ;
2013
                       DIG 3 ;
2014
                       CDR ;
2015
                       PUSH mutez 0 ;
2016
                       DUP 5 ;
2017
                       CDR ;
2018
                       DUP 6 ;
2019
                       CAR ;
2020
                       CDR ;
2021
                       CDR ;
2022
                       PAIR ;
2023
                       DUP 6 ;
2024
                       CAR ;
2025
                       CDR ;
2026
                       CAR ;
2027
                       DIG 6 ;
2028
                       CAR ;
2029
                       CAR ;
2030
                       CDR ;
2031
                       PAIR ;
2032
                       PAIR ;
2033
                       TRANSFER_TOKENS ;
2034
                       CONS }
2035
                     { DUP 2 ;
2036
                       CAR ;
2037
                       CAR ;
2038
                       CAR ;
2039
                       CDR ;
2040
                       DUP ;
2041
                       CDR ;
2042
                       CAR ;
2043
                       DUP 2 ;
2044
                       CAR ;
2045
                       CDR ;
2046
                       GET ;
2047
                       IF_NONE { PUSH nat 321 ; FAILWITH } {} ;
2048
                       DIG 2 ;
2049
                       DUP 3 ;
2050
                       CDR ;
2051
                       CDR ;
2052
                       ADD ;
2053
                       DUP ;
2054
                       DUP 4 ;
2055
                       CAR ;
2056
                       CAR ;
2057
                       ADD ;
2058
                       DUP 4 ;
2059
                       CDR ;
2060
                       CDR ;
2061
                       DUP 5 ;
2062
                       CAR ;
2063
                       CAR ;
2064
                       ADD ;
2065
                       DUP 5 ;
2066
                       CDR ;
2067
                       CAR ;
2068
                       PAIR ;
2069
                       LEFT (big_map nat
2070
                                     (pair (pair (pair nat nat) (pair int int))
2071
                                           timestamp)) ;
2072
                       LOOP_LEFT { UNPAIR ;
2073
                                   DUP 3 ;
2074
                                   DUP 3 ;
2075
                                   COMPARE ;
2076
                                   GE ;
2077
                                   IF
2078
                                     { SWAP ;
2079
                                       DROP ;
2080
                                       RIGHT (pair
2081
                                               (big_map nat
2082
                                                        (pair
2083
                                                          (pair (pair nat nat)
2084
                                                                (pair int int))
2085
                                                          timestamp))
2086
                                               nat) }
2087
                                     { PUSH nat 1 ;
2088
                                       DUP 3 ;
2089
                                       ADD ;
2090
                                       SWAP ;
2091
                                       DUP 6 ;
2092
                                       DIG 3 ;
2093
                                       SWAP ;
2094
                                       SOME ;
2095
                                       SWAP ;
2096
                                       UPDATE ;
2097
                                       PAIR ;
2098
                                       LEFT (big_map nat
2099
                                                     (pair
2100
                                                       (pair (pair nat nat)
2101
                                                             (pair int int))
2102
                                                       timestamp)) } } ;
2103
                       SWAP ;
2104
                       DIG 3 ;
2105
                       DROP 2 ;
2106
                       DUP 4 ;
2107
                       CDR ;
2108
                       DUP 5 ;
2109
                       CAR ;
2110
                       CDR ;
2111
                       DUP 6 ;
2112
                       CAR ;
2113
                       CAR ;
2114
                       CDR ;
2115
                       DIG 4 ;
2116
                       DUP 6 ;
2117
                       CDR ;
2118
                       CAR ;
2119
                       PAIR ;
2120
                       DIG 5 ;
2121
                       CAR ;
2122
                       PAIR ;
2123
                       DUP ;
2124
                       CDR ;
2125
                       CDR ;
2126
                       DIG 5 ;
2127
                       PAIR ;
2128
                       SWAP ;
2129
                       CAR ;
2130
                       PAIR ;
2131
                       DIG 4 ;
2132
                       CAR ;
2133
                       CAR ;
2134
                       CAR ;
2135
                       CAR ;
2136
                       PAIR ;
2137
                       PAIR ;
2138
                       PAIR ;
2139
                       PAIR ;
2140
                       NIL operation } } ;
2141
               PAIR }
2142
             { DIG 7 ;
2143
               DROP ;
2144
               IF_LEFT
2145
                 { DIG 4 ;
2146
                   DROP ;
2147
                   IF_LEFT
2148
                     { DIG 2 ;
2149
                       DIG 3 ;
2150
                       DIG 4 ;
2151
                       DIG 5 ;
2152
                       DROP 4 ;
2153
                       DUP 2 ;
2154
                       CAR ;
2155
                       CAR ;
2156
                       CAR ;
2157
                       CDR ;
2158
                       DUP 2 ;
2159
                       CAR ;
2160
                       MAP { DUP 2 ;
2161
                             CAR ;
2162
                             CAR ;
2163
                             DUP 3 ;
2164
                             CAR ;
2165
                             CDR ;
2166
                             DUP 4 ;
2167
                             CDR ;
2168
                             CAR ;
2169
                             DUP 3 ;
2170
                             GET ;
2171
                             IF_NONE { PUSH nat 321 ; FAILWITH } {} ;
2172
                             DUP 5 ;
2173
                             CDR ;
2174
                             CAR ;
2175
                             DUP 3 ;
2176
                             GET ;
2177
                             IF_NONE { PUSH nat 321 ; FAILWITH } {} ;
2178
                             DUP 2 ;
2179
                             CDR ;
2180
                             DUP 6 ;
2181
                             COMPARE ;
2182
                             LT ;
2183
                             IF
2184
                               { DUP 5 ; DUP 3 ; CDR ; PAIR ; PUSH nat 108 ; PAIR ; FAILWITH }
2185
                               {} ;
2186
                             DUP ;
2187
                             CDR ;
2188
                             DUP 6 ;
2189
                             COMPARE ;
2190
                             GT ;
2191
                             IF
2192
                               { DUP 5 ; DUP 2 ; CDR ; PAIR ; PUSH nat 109 ; PAIR ; FAILWITH }
2193
                               {} ;
2194
                             DUP ;
2195
                             CDR ;
2196
                             DUP 6 ;
2197
                             COMPARE ;
2198
                             LT ;
2199
                             IF
2200
                               { DIG 2 ;
2201
                                 PAIR ;
2202
                                 SWAP ;
2203
                                 DIG 2 ;
2204
                                 PAIR ;
2205
                                 PAIR ;
2206
                                 SWAP ;
2207
                                 DUP 3 ;
2208
                                 PAIR ;
2209
                                 PAIR ;
2210
                                 LEFT (pair
2211
                                        (pair
2212
                                          (pair (pair (pair nat nat) (pair int int))
2213
                                                timestamp)
2214
                                          (pair (pair nat nat) (pair int int))
2215
                                          timestamp)
2216
                                        nat) ;
2217
                                 LOOP_LEFT { UNPAIR ;
2218
                                             UNPAIR ;
2219
                                             DIG 2 ;
2220
                                             UNPAIR ;
2221
                                             DUP ;
2222
                                             UNPAIR ;
2223
                                             DUP 4 ;
2224
                                             UNPAIR ;
2225
                                             DUP ;
2226
                                             PUSH nat 1 ;
2227
                                             DUP 5 ;
2228
                                             ADD ;
2229
                                             COMPARE ;
2230
                                             LT ;
2231
                                             IF
2232
                                               { SWAP ;
2233
                                                 DIG 3 ;
2234
                                                 DROP 2 ;
2235
                                                 PUSH nat 2 ;
2236
                                                 SWAP ;
2237
                                                 DIG 2 ;
2238
                                                 ADD ;
2239
                                                 EDIV ;
2240
                                                 IF_NONE
2241
                                                   { PUSH string "DIV by 0" ; FAILWITH }
2242
                                                   {} ;
2243
                                                 CAR ;
2244
                                                 DUP 4 ;
2245
                                                 CDR ;
2246
                                                 CAR ;
2247
                                                 DUP 2 ;
2248
                                                 GET ;
2249
                                                 IF_NONE
2250
                                                   { PUSH nat 321 ; FAILWITH }
2251
                                                   {} ;
2252
                                                 DUP ;
2253
                                                 DIG 2 ;
2254
                                                 PAIR ;
2255
                                                 DUP 6 ;
2256
                                                 DIG 2 ;
2257
                                                 CDR ;
2258
                                                 COMPARE ;
2259
                                                 GT ;
2260
                                                 IF
2261
                                                   { DIG 2 ; DROP }
2262
                                                   { SWAP ; DROP ; SWAP } ;
2263
                                                 SWAP ;
2264
                                                 PAIR ;
2265
                                                 DUG 2 ;
2266
                                                 PAIR ;
2267
                                                 PAIR ;
2268
                                                 LEFT (pair
2269
                                                        (pair
2270
                                                          (pair
2271
                                                            (pair (pair nat nat)
2272
                                                                  (pair int int))
2273
                                                            timestamp)
2274
                                                          (pair (pair nat nat)
2275
                                                                (pair int int))
2276
                                                          timestamp)
2277
                                                        nat) }
2278
                                               { DIG 2 ;
2279
                                                 DIG 4 ;
2280
                                                 DIG 5 ;
2281
                                                 DIG 6 ;
2282
                                                 DROP 5 ;
2283
                                                 PUSH nat 322 ;
2284
                                                 DUP 3 ;
2285
                                                 CDR ;
2286
                                                 DIG 4 ;
2287
                                                 SUB ;
2288
                                                 PAIR ;
2289
                                                 DUP 7 ;
2290
                                                 SWAP ;
2291
                                                 EXEC ;
2292
                                                 SWAP ;
2293
                                                 DIG 2 ;
2294
                                                 PAIR ;
2295
                                                 PAIR ;
2296
                                                 RIGHT (pair
2297
                                                         (pair
2298
                                                           (pair (pair nat nat)
2299
                                                                 (big_map nat
2300
                                                                          (pair
2301
                                                                            (pair
2302
                                                                              (pair nat
2303
                                                                                    nat)
2304
                                                                              (pair int
2305
                                                                                    int))
2306
                                                                            timestamp))
2307
                                                                 nat)
2308
                                                           timestamp)
2309
                                                         (pair nat
2310
                                                               (pair (pair nat nat)
2311
                                                                     (pair int int))
2312
                                                               timestamp)
2313
                                                         nat
2314
                                                         (pair (pair nat nat)
2315
                                                               (pair int int))
2316
                                                         timestamp) } } ;
2317
                                 UNPAIR ;
2318
                                 UNPAIR ;
2319
                                 DUP 2 ;
2320
                                 CAR ;
2321
                                 CDR ;
2322
                                 CAR ;
2323
                                 DUP 4 ;
2324
                                 MUL ;
2325
                                 DUP 2 ;
2326
                                 CAR ;
2327
                                 CDR ;
2328
                                 CDR ;
2329
                                 ADD ;
2330
                                 DIG 2 ;
2331
                                 CAR ;
2332
                                 CAR ;
2333
                                 CAR ;
2334
                                 PUSH nat 0 ;
2335
                                 DUP 2 ;
2336
                                 COMPARE ;
2337
                                 EQ ;
2338
                                 IF
2339
                                   { DIG 3 ; DROP 2 ; PUSH nat 0 }
2340
                                   { PUSH nat 128 ;
2341
                                     DIG 4 ;
2342
                                     LSL ;
2343
                                     EDIV ;
2344
                                     IF_NONE { PUSH string "DIV by 0" ; FAILWITH } {} ;
2345
                                     CAR } ;
2346
                                 DIG 2 ;
2347
                                 CAR ;
2348
                                 CAR ;
2349
                                 CDR ;
2350
                                 ADD }
2351
                               { SWAP ; DIG 2 ; DIG 3 ; DIG 4 ; DROP 4 ; DUP ; CAR ; CDR ; CDR ; SWAP ; CAR ; CAR ; CDR } ;
2352
                             PAIR } ;
2353
                       SWAP ;
2354
                       DIG 4 ;
2355
                       DROP 2 ;
2356
                       DIG 2 ;
2357
                       NIL operation ;
2358
                       DIG 3 ;
2359
                       CDR ;
2360
                       PUSH mutez 0 ;
2361
                       DIG 4 ;
2362
                       TRANSFER_TOKENS ;
2363
                       CONS ;
2364
                       PAIR }
2365
                     { UNIT ;
2366
                       LEFT unit ;
2367
                       LEFT (or unit unit) ;
2368
                       PUSH string "not check pause etp" ;
2369
                       DUP 4 ;
2370
                       CAR ;
2371
                       CAR ;
2372
                       CAR ;
2373
                       CAR ;
2374
                       CAR ;
2375
                       CAR ;
2376
                       CAR ;
2377
                       DUP 3 ;
2378
                       VIEW "check_pause" bool ;
2379
                       IF_NONE { FAILWITH } { SWAP ; DROP } ;
2380
                       IF { PUSH nat 600 ; PAIR ; FAILWITH } { DROP } ;
2381
                       DUP ;
2382
                       GET 11 ;
2383
                       DUP ;
2384
                       NOW ;
2385
                       COMPARE ;
2386
                       GT ;
2387
                       IF
2388
                         { NOW ; SWAP ; PAIR ; PUSH nat 103 ; PAIR ; FAILWITH }
2389
                         { DROP } ;
2390
                       DUP 2 ;
2391
                       CAR ;
2392
                       CAR ;
2393
                       CAR ;
2394
                       CAR ;
2395
                       CAR ;
2396
                       CDR ;
2397
                       CAR ;
2398
                       PUSH nat 0 ;
2399
                       DUP 2 ;
2400
                       DUP 4 ;
2401
                       CAR ;
2402
                       EDIV ;
2403
                       IF_NONE { PUSH string "MOD by 0" ; FAILWITH } {} ;
2404
                       CDR ;
2405
                       COMPARE ;
2406
                       EQ ;
2407
                       IF {} { PUSH nat 112 ; FAILWITH } ;
2408
                       PUSH nat 0 ;
2409
                       SWAP ;
2410
                       DUP 3 ;
2411
                       GET 3 ;
2412
                       EDIV ;
2413
                       IF_NONE { PUSH string "MOD by 0" ; FAILWITH } {} ;
2414
                       CDR ;
2415
                       COMPARE ;
2416
                       EQ ;
2417
                       IF {} { PUSH nat 112 ; FAILWITH } ;
2418
                       DUP ;
2419
                       GET 3 ;
2420
                       DUP 2 ;
2421
                       CAR ;
2422
                       COMPARE ;
2423
                       GE ;
2424
                       IF { PUSH nat 110 ; FAILWITH } {} ;
2425
                       PUSH nat 0 ;
2426
                       DUP 2 ;
2427
                       GET 9 ;
2428
                       COMPARE ;
2429
                       EQ ;
2430
                       IF
2431
                         { DIG 2 ; DIG 3 ; DIG 4 ; DIG 5 ; DIG 6 ; DROP 6 ; NIL operation ; PAIR }
2432
                         { DUP ;
2433
                           CAR ;
2434
                           DUP 3 ;
2435
                           CAR ;
2436
                           CAR ;
2437
                           CDR ;
2438
                           CAR ;
2439
                           COMPARE ;
2440
                           GE ;
2441
                           IF
2442
                             { DUP 2 ;
2443
                               CAR ;
2444
                               CAR ;
2445
                               CAR ;
2446
                               CDR ;
2447
                               DUP ;
2448
                               CDR ;
2449
                               CAR ;
2450
                               SWAP ;
2451
                               CAR ;
2452
                               CDR ;
2453
                               GET ;
2454
                               IF_NONE { PUSH nat 321 ; FAILWITH } {} ;
2455
                               DUP ;
2456
                               CAR ;
2457
                               CAR ;
2458
                               CDR ;
2459
                               PUSH nat 302 ;
2460
                               PUSH timestamp 0 ;
2461
                               NOW ;
2462
                               SUB ;
2463
                               PAIR ;
2464
                               DUP 10 ;
2465
                               SWAP ;
2466
                               EXEC ;
2467
                               PAIR ;
2468
                               DUP 4 ;
2469
                               CAR ;
2470
                               CDR ;
2471
                               CAR ;
2472
                               CDR ;
2473
                               DIG 2 ;
2474
                               CAR ;
2475
                               CDR ;
2476
                               CDR }
2477
                             { PUSH nat 0 ;
2478
                               PUSH nat 0 ;
2479
                               PAIR ;
2480
                               PUSH nat 0 ;
2481
                               PUSH nat 0 ;
2482
                               PAIR ;
2483
                               PUSH int 0 } ;
2484
                           DIG 2 ;
2485
                           UNPAIR ;
2486
                           DUP 6 ;
2487
                           CAR ;
2488
                           CDR ;
2489
                           CDR ;
2490
                           CAR ;
2491
                           DIG 2 ;
2492
                           PAIR ;
2493
                           SWAP ;
2494
                           DIG 3 ;
2495
                           PAIR ;
2496
                           PAIR ;
2497
                           SWAP ;
2498
                           DUP 3 ;
2499
                           GET 5 ;
2500
                           PAIR ;
2501
                           DUP 3 ;
2502
                           CAR ;
2503
                           DUP 5 ;
2504
                           CDR ;
2505
                           CDR ;
2506
                           CDR ;
2507
                           CAR ;
2508
                           PAIR ;
2509
                           PAIR ;
2510
                           PAIR ;
2511
                           DUP 7 ;
2512
                           SWAP ;
2513
                           EXEC ;
2514
                           DUP 2 ;
2515
                           GET 3 ;
2516
                           DUP 4 ;
2517
                           CAR ;
2518
                           CAR ;
2519
                           CDR ;
2520
                           CAR ;
2521
                           COMPARE ;
2522
                           GE ;
2523
                           IF
2524
                             { DUP 3 ;
2525
                               CAR ;
2526
                               CAR ;
2527
                               CAR ;
2528
                               CDR ;
2529
                               DUP ;
2530
                               CDR ;
2531
                               CAR ;
2532
                               SWAP ;
2533
                               CAR ;
2534
                               CDR ;
2535
                               GET ;
2536
                               IF_NONE { PUSH nat 321 ; FAILWITH } {} ;
2537
                               DUP ;
2538
                               CAR ;
2539
                               CAR ;
2540
                               CDR ;
2541
                               PUSH nat 302 ;
2542
                               PUSH timestamp 0 ;
2543
                               NOW ;
2544
                               SUB ;
2545
                               PAIR ;
2546
                               DIG 10 ;
2547
                               SWAP ;
2548
                               EXEC ;
2549
                               PAIR ;
2550
                               DUP 5 ;
2551
                               CAR ;
2552
                               CDR ;
2553
                               CAR ;
2554
                               CDR ;
2555
                               DIG 2 ;
2556
                               CAR ;
2557
                               CDR ;
2558
                               CDR }
2559
                             { DIG 7 ;
2560
                               DROP ;
2561
                               PUSH nat 0 ;
2562
                               PUSH nat 0 ;
2563
                               PAIR ;
2564
                               PUSH nat 0 ;
2565
                               PUSH nat 0 ;
2566
                               PAIR ;
2567
                               PUSH int 0 } ;
2568
                           DIG 2 ;
2569
                           UNPAIR ;
2570
                           DUP 7 ;
2571
                           CAR ;
2572
                           CDR ;
2573
                           CDR ;
2574
                           CAR ;
2575
                           DIG 2 ;
2576
                           PAIR ;
2577
                           SWAP ;
2578
                           DIG 3 ;
2579
                           PAIR ;
2580
                           PAIR ;
2581
                           SWAP ;
2582
                           DUP 4 ;
2583
                           GET 7 ;
2584
                           PAIR ;
2585
                           DUP 4 ;
2586
                           GET 3 ;
2587
                           DIG 3 ;
2588
                           PAIR ;
2589
                           PAIR ;
2590
                           PAIR ;
2591
                           DIG 6 ;
2592
                           SWAP ;
2593
                           EXEC ;
2594
                           DUP 2 ;
2595
                           GET 3 ;
2596
                           DUP 3 ;
2597
                           CAR ;
2598
                           DUP 5 ;
2599
                           CDR ;
2600
                           CDR ;
2601
                           CDR ;
2602
                           CDR ;
2603
                           DUP 4 ;
2604
                           PAIR ;
2605
                           DUP 6 ;
2606
                           CDR ;
2607
                           CDR ;
2608
                           CAR ;
2609
                           PAIR ;
2610
                           DUP 6 ;
2611
                           CDR ;
2612
                           CAR ;
2613
                           PAIR ;
2614
                           DIG 5 ;
2615
                           CAR ;
2616
                           PAIR ;
2617
                           DUP ;
2618
                           CAR ;
2619
                           CAR ;
2620
                           CDR ;
2621
                           CAR ;
2622
                           DUP 3 ;
2623
                           COMPARE ;
2624
                           LE ;
2625
                           DUP 2 ;
2626
                           CAR ;
2627
                           CAR ;
2628
                           CDR ;
2629
                           CDR ;
2630
                           DUP 4 ;
2631
                           COMPARE ;
2632
                           GT ;
2633
                           AND ;
2634
                           IF
2635
                             { DUP ;
2636
                               CDR ;
2637
                               DUP 2 ;
2638
                               CAR ;
2639
                               CDR ;
2640
                               DIG 3 ;
2641
                               DUP 4 ;
2642
                               CAR ;
2643
                               CAR ;
2644
                               CDR ;
2645
                               CAR ;
2646
                               PAIR ;
2647
                               DIG 3 ;
2648
                               CAR ;
2649
                               CAR ;
2650
                               CAR ;
2651
                               PAIR ;
2652
                               PAIR ;
2653
                               PAIR }
2654
                             { SWAP ; DROP } ;
2655
                           DUP ;
2656
                           CAR ;
2657
                           CAR ;
2658
                           CDR ;
2659
                           CAR ;
2660
                           DUP 3 ;
2661
                           COMPARE ;
2662
                           LE ;
2663
                           DUP 2 ;
2664
                           CAR ;
2665
                           CAR ;
2666
                           CDR ;
2667
                           CDR ;
2668
                           DUP 4 ;
2669
                           COMPARE ;
2670
                           GT ;
2671
                           AND ;
2672
                           IF
2673
                             { DUP ;
2674
                               CDR ;
2675
                               DUP 2 ;
2676
                               CAR ;
2677
                               CDR ;
2678
                               DIG 3 ;
2679
                               DUP 4 ;
2680
                               CAR ;
2681
                               CAR ;
2682
                               CDR ;
2683
                               CAR ;
2684
                               PAIR ;
2685
                               DIG 3 ;
2686
                               CAR ;
2687
                               CAR ;
2688
                               CAR ;
2689
                               PAIR ;
2690
                               PAIR ;
2691
                               PAIR }
2692
                             { SWAP ; DROP } ;
2693
                           DUP 3 ;
2694
                           GET 3 ;
2695
                           SENDER ;
2696
                           DUP 5 ;
2697
                           CAR ;
2698
                           PAIR ;
2699
                           DUP 5 ;
2700
                           GET 9 ;
2701
                           DUP 6 ;
2702
                           GET 3 ;
2703
                           DUP 7 ;
2704
                           CAR ;
2705
                           DUP 6 ;
2706
                           PAIR 3 ;
2707
                           DIG 8 ;
2708
                           SWAP ;
2709
                           EXEC ;
2710
                           PAIR ;
2711
                           PAIR ;
2712
                           PAIR ;
2713
                           DUP 4 ;
2714
                           GET 9 ;
2715
                           INT ;
2716
                           PUSH int 1 ;
2717
                           DUP 6 ;
2718
                           CAR ;
2719
                           DIG 5 ;
2720
                           PAIR 4 ;
2721
                           DUP 6 ;
2722
                           SWAP ;
2723
                           EXEC ;
2724
                           DUP 4 ;
2725
                           GET 9 ;
2726
                           NEG ;
2727
                           PUSH int 1 ;
2728
                           DUP 6 ;
2729
                           GET 3 ;
2730
                           DIG 3 ;
2731
                           PAIR 4 ;
2732
                           DIG 5 ;
2733
                           SWAP ;
2734
                           EXEC ;
2735
                           DUP 3 ;
2736
                           CDR ;
2737
                           CDR ;
2738
                           CDR ;
2739
                           CDR ;
2740
                           SWAP ;
2741
                           PAIR ;
2742
                           DUP 3 ;
2743
                           CDR ;
2744
                           CDR ;
2745
                           CAR ;
2746
                           PAIR ;
2747
                           DUP 3 ;
2748
                           CDR ;
2749
                           CAR ;
2750
                           PAIR ;
2751
                           DIG 2 ;
2752
                           CAR ;
2753
                           PAIR ;
2754
                           SENDER ;
2755
                           DUP 2 ;
2756
                           CDR ;
2757
                           CAR ;
2758
                           CDR ;
2759
                           CDR ;
2760
                           PAIR ;
2761
                           DUP 2 ;
2762
                           CDR ;
2763
                           CDR ;
2764
                           CDR ;
2765
                           DUP 3 ;
2766
                           CDR ;
2767
                           CDR ;
2768
                           CAR ;
2769
                           CDR ;
2770
                           DUP 4 ;
2771
                           CDR ;
2772
                           CDR ;
2773
                           CAR ;
2774
                           CAR ;
2775
                           DIG 5 ;
2776
                           DUP 6 ;
2777
                           CDR ;
2778
                           CAR ;
2779
                           CAR ;
2780
                           CDR ;
2781
                           SWAP ;
2782
                           SOME ;
2783
                           SWAP ;
2784
                           UPDATE ;
2785
                           PAIR ;
2786
                           PAIR ;
2787
                           DUP 3 ;
2788
                           CDR ;
2789
                           CAR ;
2790
                           PAIR ;
2791
                           DUP 3 ;
2792
                           CAR ;
2793
                           PAIR ;
2794
                           DUP ;
2795
                           CDR ;
2796
                           CDR ;
2797
                           DUP 4 ;
2798
                           CDR ;
2799
                           CAR ;
2800
                           CDR ;
2801
                           CDR ;
2802
                           DIG 3 ;
2803
                           UNPAIR ;
2804
                           SWAP ;
2805
                           GET ;
2806
                           IF_NONE { EMPTY_SET nat } {} ;
2807
                           DUP 5 ;
2808
                           CDR ;
2809
                           CAR ;
2810
                           CAR ;
2811
                           CDR ;
2812
                           PUSH bool True ;
2813
                           SWAP ;
2814
                           UPDATE ;
2815
                           SENDER ;
2816
                           SWAP ;
2817
                           SOME ;
2818
                           SWAP ;
2819
                           UPDATE ;
2820
                           DUP 3 ;
2821
                           CDR ;
2822
                           CAR ;
2823
                           CDR ;
2824
                           CAR ;
2825
                           PAIR ;
2826
                           DUP 3 ;
2827
                           CDR ;
2828
                           CAR ;
2829
                           CAR ;
2830
                           PAIR ;
2831
                           PAIR ;
2832
                           SWAP ;
2833
                           CAR ;
2834
                           PAIR ;
2835
                           DUP ;
2836
                           CDR ;
2837
                           CDR ;
2838
                           DUP 2 ;
2839
                           CDR ;
2840
                           CAR ;
2841
                           CDR ;
2842
                           PUSH nat 1 ;
2843
                           DUP 5 ;
2844
                           CDR ;
2845
                           CAR ;
2846
                           CAR ;
2847
                           CDR ;
2848
                           ADD ;
2849
                           DUP 4 ;
2850
                           CDR ;
2851
                           CAR ;
2852
                           CAR ;
2853
                           CAR ;
2854
                           PAIR ;
2855
                           PAIR ;
2856
                           PAIR ;
2857
                           SWAP ;
2858
                           CAR ;
2859
                           PAIR ;
2860
                           PUSH nat 0 ;
2861
                           PUSH nat 0 ;
2862
                           PAIR ;
2863
                           DUP 4 ;
2864
                           GET 9 ;
2865
                           INT ;
2866
                           SELF_ADDRESS ;
2867
                           SELF_ADDRESS ;
2868
                           DUP 7 ;
2869
                           GET 13 ;
2870
                           CDR ;
2871
                           INT ;
2872
                           DUP 8 ;
2873
                           GET 13 ;
2874
                           CAR ;
2875
                           INT ;
2876
                           PAIR ;
2877
                           DUP 8 ;
2878
                           GET 3 ;
2879
                           DIG 8 ;
2880
                           CAR ;
2881
                           DUP 9 ;
2882
                           CDR ;
2883
                           CDR ;
2884
                           CDR ;
2885
                           CDR ;
2886
                           EMPTY_MAP string bytes ;
2887
                           PUSH bytes 0x697066733a2f2f516d5a554e69677261336a5655395254394d48585868434e456159754e74436f417739416a625839776132564253 ;
2888
                           SOME ;
2889
                           PUSH string "" ;
2890
                           UPDATE ;
2891
                           DUP 11 ;
2892
                           CDR ;
2893
                           CAR ;
2894
                           CAR ;
2895
                           CDR ;
2896
                           PAIR ;
2897
                           DIG 10 ;
2898
                           CDR ;
2899
                           CAR ;
2900
                           CAR ;
2901
                           CDR ;
2902
                           SWAP ;
2903
                           SOME ;
2904
                           SWAP ;
2905
                           UPDATE ;
2906
                           DUP 9 ;
2907
                           CDR ;
2908
                           CDR ;
2909
                           CDR ;
2910
                           CAR ;
2911
                           PAIR ;
2912
                           DUP 9 ;
2913
                           CDR ;
2914
                           CDR ;
2915
                           CAR ;
2916
                           PAIR ;
2917
                           DUP 9 ;
2918
                           CDR ;
2919
                           CAR ;
2920
                           PAIR ;
2921
                           DIG 8 ;
2922
                           CAR ;
2923
                           PAIR ;
2924
                           PAIR 8 ;
2925
                           EXEC } } }
2926
                 { DIG 6 ;
2927
                   DROP ;
2928
                   IF_LEFT
2929
                     { DIG 2 ;
2930
                       DIG 3 ;
2931
                       DIG 4 ;
2932
                       DIG 5 ;
2933
                       DIG 6 ;
2934
                       DROP 5 ;
2935
                       DUP ;
2936
                       CDR ;
2937
                       DUP 2 ;
2938
                       CAR ;
2939
                       CDR ;
2940
                       COMPARE ;
2941
                       GT ;
2942
                       IF { PUSH nat 110 ; FAILWITH } {} ;
2943
                       DUP 2 ;
2944
                       CAR ;
2945
                       CAR ;
2946
                       CAR ;
2947
                       CDR ;
2948
                       DUP ;
2949
                       CDR ;
2950
                       CAR ;
2951
                       SWAP ;
2952
                       CAR ;
2953
                       CDR ;
2954
                       GET ;
2955
                       IF_NONE { PUSH nat 321 ; FAILWITH } {} ;
2956
                       DUP ;
2957
                       CAR ;
2958
                       CDR ;
2959
                       CDR ;
2960
                       SWAP ;
2961
                       CAR ;
2962
                       CAR ;
2963
                       CDR ;
2964
                       INT ;
2965
                       PUSH timestamp 0 ;
2966
                       NOW ;
2967
                       SUB ;
2968
                       PAIR ;
2969
                       PAIR ;
2970
                       DUP 3 ;
2971
                       CDR ;
2972
                       CDR ;
2973
                       CDR ;
2974
                       CAR ;
2975
                       DUP 3 ;
2976
                       CAR ;
2977
                       CDR ;
2978
                       GET ;
2979
                       IF_NONE { PUSH nat 105 ; FAILWITH } {} ;
2980
                       DUP 4 ;
2981
                       CDR ;
2982
                       CDR ;
2983
                       CDR ;
2984
                       CAR ;
2985
                       DUP 4 ;
2986
                       CDR ;
2987
                       GET ;
2988
                       IF_NONE { PUSH nat 105 ; FAILWITH } {} ;
2989
                       DUP 2 ;
2990
                       CDR ;
2991
                       DUP 3 ;
2992
                       CAR ;
2993
                       CDR ;
2994
                       CDR ;
2995
                       CAR ;
2996
                       INT ;
2997
                       DIG 3 ;
2998
                       CAR ;
2999
                       CDR ;
3000
                       CAR ;
3001
                       CDR ;
3002
                       INT ;
3003
                       PAIR ;
3004
                       PAIR ;
3005
                       DUP 2 ;
3006
                       CDR ;
3007
                       DUP 3 ;
3008
                       CAR ;
3009
                       CDR ;
3010
                       CDR ;
3011
                       CAR ;
3012
                       INT ;
3013
                       DIG 3 ;
3014
                       CAR ;
3015
                       CDR ;
3016
                       CAR ;
3017
                       CDR ;
3018
                       INT ;
3019
                       PAIR ;
3020
                       PAIR ;
3021
                       PUSH bool False ;
3022
                       DUP 5 ;
3023
                       CAR ;
3024
                       CDR ;
3025
                       DUP 7 ;
3026
                       CAR ;
3027
                       CAR ;
3028
                       CDR ;
3029
                       CAR ;
3030
                       COMPARE ;
3031
                       GE ;
3032
                       COMPARE ;
3033
                       EQ ;
3034
                       IF
3035
                         { DUP 2 ;
3036
                           CDR ;
3037
                           DUP 4 ;
3038
                           CDR ;
3039
                           SUB ;
3040
                           DUP 3 ;
3041
                           CAR ;
3042
                           CDR ;
3043
                           DUP 5 ;
3044
                           CAR ;
3045
                           CDR ;
3046
                           SUB ;
3047
                           DIG 3 ;
3048
                           CAR ;
3049
                           CAR ;
3050
                           DUP 5 ;
3051
                           CAR ;
3052
                           CAR ;
3053
                           SUB ;
3054
                           PAIR ;
3055
                           PAIR }
3056
                         { SWAP } ;
3057
                       PUSH bool True ;
3058
                       DUP 5 ;
3059
                       CDR ;
3060
                       DUP 7 ;
3061
                       CAR ;
3062
                       CAR ;
3063
                       CDR ;
3064
                       CAR ;
3065
                       COMPARE ;
3066
                       GE ;
3067
                       COMPARE ;
3068
                       EQ ;
3069
                       IF
3070
                         { DUP 2 ;
3071
                           CDR ;
3072
                           DUP 4 ;
3073
                           CDR ;
3074
                           SUB ;
3075
                           DUP 3 ;
3076
                           CAR ;
3077
                           CDR ;
3078
                           DUP 5 ;
3079
                           CAR ;
3080
                           CDR ;
3081
                           SUB ;
3082
                           DIG 3 ;
3083
                           CAR ;
3084
                           CAR ;
3085
                           DUP 5 ;
3086
                           CAR ;
3087
                           CAR ;
3088
                           SUB ;
3089
                           PAIR ;
3090
                           PAIR }
3091
                         { SWAP } ;
3092
                       DUP ;
3093
                       CDR ;
3094
                       DUP 3 ;
3095
                       CDR ;
3096
                       DUP 5 ;
3097
                       CDR ;
3098
                       SUB ;
3099
                       SUB ;
3100
                       DUP 2 ;
3101
                       CAR ;
3102
                       CDR ;
3103
                       DUP 4 ;
3104
                       CAR ;
3105
                       CDR ;
3106
                       DUP 6 ;
3107
                       CAR ;
3108
                       CDR ;
3109
                       SUB ;
3110
                       SUB ;
3111
                       DIG 2 ;
3112
                       CAR ;
3113
                       CAR ;
3114
                       DIG 3 ;
3115
                       CAR ;
3116
                       CAR ;
3117
                       DIG 4 ;
3118
                       CAR ;
3119
                       CAR ;
3120
                       SUB ;
3121
                       SUB ;
3122
                       PAIR ;
3123
                       PAIR ;
3124
                       DIG 2 ;
3125
                       NIL operation ;
3126
                       DIG 3 ;
3127
                       CAR ;
3128
                       CAR ;
3129
                       PUSH mutez 0 ;
3130
                       DIG 4 ;
3131
                       TRANSFER_TOKENS ;
3132
                       CONS }
3133
                     { UNIT ;
3134
                       RIGHT unit ;
3135
                       LEFT (or unit unit) ;
3136
                       PUSH string "not check pause etp" ;
3137
                       DUP 4 ;
3138
                       CAR ;
3139
                       CAR ;
3140
                       CAR ;
3141
                       CAR ;
3142
                       CAR ;
3143
                       CAR ;
3144
                       CAR ;
3145
                       DUP 3 ;
3146
                       VIEW "check_pause" bool ;
3147
                       IF_NONE { FAILWITH } { SWAP ; DROP } ;
3148
                       IF { PUSH nat 600 ; PAIR ; FAILWITH } { DROP } ;
3149
                       DUP ;
3150
                       GET 9 ;
3151
                       DUP ;
3152
                       NOW ;
3153
                       COMPARE ;
3154
                       GT ;
3155
                       IF
3156
                         { NOW ; SWAP ; PAIR ; PUSH nat 103 ; PAIR ; FAILWITH }
3157
                         { DROP } ;
3158
                       DUP 2 ;
3159
                       CDR ;
3160
                       CDR ;
3161
                       CAR ;
3162
                       CAR ;
3163
                       DUP 2 ;
3164
                       CAR ;
3165
                       GET ;
3166
                       IF_NONE
3167
                         { UNIT ; PUSH string "FA2_TOKEN_UNDEFINED" ; PAIR ; FAILWITH }
3168
                         {} ;
3169
                       SENDER ;
3170
                       DUP 2 ;
3171
                       CAR ;
3172
                       CDR ;
3173
                       CDR ;
3174
                       COMPARE ;
3175
                       NEQ ;
3176
                       IF { PUSH nat 420 ; FAILWITH } {} ;
3177
                       DUP ;
3178
                       CDR ;
3179
                       DUP 2 ;
3180
                       CAR ;
3181
                       CDR ;
3182
                       CAR ;
3183
                       DUP 5 ;
3184
                       PAIR 3 ;
3185
                       DIG 5 ;
3186
                       SWAP ;
3187
                       EXEC ;
3188
                       PUSH nat 128 ;
3189
                       DUP 3 ;
3190
                       CAR ;
3191
                       CAR ;
3192
                       CDR ;
3193
                       PUSH nat 317 ;
3194
                       DUP 5 ;
3195
                       CAR ;
3196
                       CAR ;
3197
                       CAR ;
3198
                       CDR ;
3199
                       DUP 5 ;
3200
                       CDR ;
3201
                       SUB ;
3202
                       PAIR ;
3203
                       DUP 11 ;
3204
                       SWAP ;
3205
                       EXEC ;
3206
                       MUL ;
3207
                       LSR ;
3208
                       PUSH nat 128 ;
3209
                       DUP 4 ;
3210
                       CAR ;
3211
                       CAR ;
3212
                       CDR ;
3213
                       PUSH nat 316 ;
3214
                       DUP 6 ;
3215
                       CAR ;
3216
                       CAR ;
3217
                       CAR ;
3218
                       CAR ;
3219
                       DUP 6 ;
3220
                       CAR ;
3221
                       SUB ;
3222
                       PAIR ;
3223
                       DUP 12 ;
3224
                       SWAP ;
3225
                       EXEC ;
3226
                       MUL ;
3227
                       LSR ;
3228
                       PAIR ;
3229
                       DUP 3 ;
3230
                       CDR ;
3231
                       DUP 4 ;
3232
                       CAR ;
3233
                       CDR ;
3234
                       DIG 4 ;
3235
                       CAR ;
3236
                       CAR ;
3237
                       CDR ;
3238
                       DIG 4 ;
3239
                       PAIR ;
3240
                       PAIR ;
3241
                       PAIR ;
3242
                       DUP 4 ;
3243
                       CDR ;
3244
                       CDR ;
3245
                       CDR ;
3246
                       DUP 5 ;
3247
                       CDR ;
3248
                       CDR ;
3249
                       CAR ;
3250
                       CDR ;
3251
                       DUP 6 ;
3252
                       CDR ;
3253
                       CDR ;
3254
                       CAR ;
3255
                       CAR ;
3256
                       DUP 4 ;
3257
                       DUP 7 ;
3258
                       CAR ;
3259
                       SWAP ;
3260
                       SOME ;
3261
                       SWAP ;
3262
                       UPDATE ;
3263
                       PAIR ;
3264
                       PAIR ;
3265
                       DUP 5 ;
3266
                       CDR ;
3267
                       CAR ;
3268
                       PAIR ;
3269
                       DIG 4 ;
3270
                       CAR ;
3271
                       PAIR ;
3272
                       PUSH nat 111 ;
3273
                       DUP 5 ;
3274
                       GET 3 ;
3275
                       DUP 4 ;
3276
                       CAR ;
3277
                       CAR ;
3278
                       CDR ;
3279
                       ADD ;
3280
                       PAIR ;
3281
                       DIG 8 ;
3282
                       SWAP ;
3283
                       EXEC ;
3284
                       DUP 3 ;
3285
                       CDR ;
3286
                       DUP 4 ;
3287
                       CAR ;
3288
                       CDR ;
3289
                       DUP 3 ;
3290
                       DIG 5 ;
3291
                       CAR ;
3292
                       CAR ;
3293
                       CAR ;
3294
                       PAIR ;
3295
                       PAIR ;
3296
                       PAIR ;
3297
                       PUSH nat 0 ;
3298
                       DIG 2 ;
3299
                       COMPARE ;
3300
                       EQ ;
3301
                       IF { PUSH int 1 ; NEG } { PUSH int 0 } ;
3302
                       DUP 5 ;
3303
                       GET 3 ;
3304
                       DUP 2 ;
3305
                       DUP 4 ;
3306
                       CAR ;
3307
                       CDR ;
3308
                       CAR ;
3309
                       DUP 6 ;
3310
                       CDR ;
3311
                       CDR ;
3312
                       CDR ;
3313
                       CAR ;
3314
                       PAIR 4 ;
3315
                       DUP 9 ;
3316
                       SWAP ;
3317
                       EXEC ;
3318
                       DUP 6 ;
3319
                       GET 3 ;
3320
                       NEG ;
3321
                       DIG 2 ;
3322
                       DUP 4 ;
3323
                       CDR ;
3324
                       DIG 3 ;
3325
                       PAIR 4 ;
3326
                       DIG 7 ;
3327
                       SWAP ;
3328
                       EXEC ;
3329
                       DUP 3 ;
3330
                       CDR ;
3331
                       CDR ;
3332
                       CDR ;
3333
                       CDR ;
3334
                       SWAP ;
3335
                       PAIR ;
3336
                       DUP 3 ;
3337
                       CDR ;
3338
                       CDR ;
3339
                       CAR ;
3340
                       PAIR ;
3341
                       DUP 3 ;
3342
                       CDR ;
3343
                       CAR ;
3344
                       PAIR ;
3345
                       DUP 3 ;
3346
                       CAR ;
3347
                       PAIR ;
3348
                       DIG 3 ;
3349
                       DUP 5 ;
3350
                       GET 3 ;
3351
                       DUP 6 ;
3352
                       GET 7 ;
3353
                       DUP 7 ;
3354
                       GET 5 ;
3355
                       DUP 8 ;
3356
                       GET 11 ;
3357
                       DUP 7 ;
3358
                       CDR ;
3359
                       DUP 8 ;
3360
                       CAR ;
3361
                       CDR ;
3362
                       CAR ;
3363
                       DUP 8 ;
3364
                       CDR ;
3365
                       CDR ;
3366
                       CDR ;
3367
                       DUP 9 ;
3368
                       CDR ;
3369
                       CDR ;
3370
                       CAR ;
3371
                       CDR ;
3372
                       DIG 11 ;
3373
                       CDR ;
3374
                       CDR ;
3375
                       CAR ;
3376
                       CAR ;
3377
                       DUP 12 ;
3378
                       DUP 14 ;
3379
                       CAR ;
3380
                       SWAP ;
3381
                       SOME ;
3382
                       SWAP ;
3383
                       UPDATE ;
3384
                       PAIR ;
3385
                       PAIR ;
3386
                       DUP 9 ;
3387
                       CDR ;
3388
                       CAR ;
3389
                       PAIR ;
3390
                       DIG 8 ;
3391
                       CAR ;
3392
                       PAIR ;
3393
                       PAIR 8 ;
3394
                       DIG 3 ;
3395
                       SWAP ;
3396
                       EXEC ;
3397
                       UNPAIR ;
3398
                       DIG 3 ;
3399
                       CAR ;
3400
                       DUP 4 ;
3401
                       CAR ;
3402
                       CDR ;
3403
                       CAR ;
3404
                       PUSH nat 0 ;
3405
                       DUP 6 ;
3406
                       CAR ;
3407
                       CAR ;
3408
                       CDR ;
3409
                       COMPARE ;
3410
                       EQ ;
3411
                       IF
3412
                         { DUP 4 ;
3413
                           CDR ;
3414
                           CDR ;
3415
                           DUP 5 ;
3416
                           CDR ;
3417
                           CAR ;
3418
                           CDR ;
3419
                           CDR ;
3420
                           DUP 6 ;
3421
                           CDR ;
3422
                           CAR ;
3423
                           CDR ;
3424
                           CDR ;
3425
                           DUP 8 ;
3426
                           CAR ;
3427
                           CDR ;
3428
                           CDR ;
3429
                           GET ;
3430
                           IF_NONE { EMPTY_SET nat } {} ;
3431
                           DUP 5 ;
3432
                           PUSH bool False ;
3433
                           SWAP ;
3434
                           UPDATE ;
3435
                           SOME ;
3436
                           DUP 8 ;
3437
                           CAR ;
3438
                           CDR ;
3439
                           CDR ;
3440
                           UPDATE ;
3441
                           DUP 6 ;
3442
                           CDR ;
3443
                           CAR ;
3444
                           CDR ;
3445
                           CAR ;
3446
                           PAIR ;
3447
                           DUP 6 ;
3448
                           CDR ;
3449
                           CAR ;
3450
                           CAR ;
3451
                           PAIR ;
3452
                           PAIR ;
3453
                           DUP 5 ;
3454
                           CAR ;
3455
                           PAIR ;
3456
                           DUP ;
3457
                           CDR ;
3458
                           CDR ;
3459
                           CDR ;
3460
                           DUP 2 ;
3461
                           CDR ;
3462
                           CDR ;
3463
                           CAR ;
3464
                           CDR ;
3465
                           DUP 7 ;
3466
                           CDR ;
3467
                           CDR ;
3468
                           CAR ;
3469
                           CAR ;
3470
                           DUP 6 ;
3471
                           NONE (pair (pair (pair (pair int int) nat) int address) int) ;
3472
                           SWAP ;
3473
                           UPDATE ;
3474
                           PAIR ;
3475
                           PAIR ;
3476
                           DUP 2 ;
3477
                           CDR ;
3478
                           CAR ;
3479
                           PAIR ;
3480
                           SWAP ;
3481
                           CAR ;
3482
                           PAIR ;
3483
                           DIG 4 ;
3484
                           CDR ;
3485
                           CDR ;
3486
                           CDR ;
3487
                           CDR ;
3488
                           DIG 3 ;
3489
                           NONE (pair nat (map string bytes)) ;
3490
                           SWAP ;
3491
                           UPDATE ;
3492
                           DUP 2 ;
3493
                           CDR ;
3494
                           CDR ;
3495
                           CDR ;
3496
                           CAR ;
3497
                           PAIR ;
3498
                           DUP 2 ;
3499
                           CDR ;
3500
                           CDR ;
3501
                           CAR ;
3502
                           PAIR ;
3503
                           DUP 2 ;
3504
                           CDR ;
3505
                           CAR ;
3506
                           PAIR ;
3507
                           SWAP ;
3508
                           CAR ;
3509
                           PAIR }
3510
                         { SWAP ; DROP ; DIG 2 } ;
3511
                       PAIR ;
3512
                       DUP 4 ;
3513
                       SWAP ;
3514
                       EXEC ;
3515
                       DIG 2 ;
3516
                       CDR ;
3517
                       SWAP ;
3518
                       PAIR ;
3519
                       DIG 2 ;
3520
                       SWAP ;
3521
                       EXEC ;
3522
                       SWAP } ;
3523
                   PAIR } } }
3524
         { DIG 3 ;
3525
           DIG 4 ;
3526
           DIG 5 ;
3527
           DIG 6 ;
3528
           DIG 7 ;
3529
           DROP 5 ;
3530
           IF_LEFT
3531
             { UNIT ;
3532
               LEFT unit ;
3533
               RIGHT (or unit unit) ;
3534
               PUSH string "not check pause etp" ;
3535
               DUP 4 ;
3536
               CAR ;
3537
               CAR ;
3538
               CAR ;
3539
               CAR ;
3540
               CAR ;
3541
               CAR ;
3542
               CAR ;
3543
               DUP 3 ;
3544
               VIEW "check_pause" bool ;
3545
               IF_NONE { FAILWITH } { SWAP ; DROP } ;
3546
               IF { PUSH nat 600 ; PAIR ; FAILWITH } { DROP } ;
3547
               DUP ;
3548
               GET 3 ;
3549
               DUP ;
3550
               NOW ;
3551
               COMPARE ;
3552
               GT ;
3553
               IF { NOW ; SWAP ; PAIR ; PUSH nat 103 ; PAIR ; FAILWITH } { DROP } ;
3554
               DUP ;
3555
               CAR ;
3556
               DUP 3 ;
3557
               PUSH nat 0 ;
3558
               DUP 3 ;
3559
               PAIR ;
3560
               PAIR ;
3561
               LEFT (pair (pair nat nat)
3562
                          (pair
3563
                            (pair
3564
                              (pair
3565
                                (pair
3566
                                  (pair
3567
                                    (pair (pair address nat) nat
3568
                                          (or address (pair nat address)))
3569
                                    (or address (pair nat address)))
3570
                                  (pair (pair nat nat)
3571
                                        (big_map nat
3572
                                                 (pair
3573
                                                   (pair (pair nat nat) (pair int int))
3574
                                                   timestamp))
3575
                                        nat))
3576
                                int
3577
                                int)
3578
                              (pair (pair nat nat) (pair nat nat))
3579
                              (big_map (pair nat bool) (pair int nat))
3580
                              nat)
3581
                            (pair (pair (big_map string bytes) nat)
3582
                                  (big_map (pair address address nat) unit)
3583
                                  (big_map address (set nat)))
3584
                            (pair
3585
                              (big_map nat
3586
                                       (pair
3587
                                         (pair (pair (pair int int) nat) int address)
3588
                                         int))
3589
                              nat)
3590
                            (big_map int
3591
                                     (pair
3592
                                       (pair (pair (pair (pair nat nat) int) nat int)
3593
                                             (pair int nat)
3594
                                             nat
3595
                                             nat)
3596
                                       int))
3597
                            (big_map nat (pair nat (map string bytes))))) ;
3598
               LOOP_LEFT { PUSH nat 0 ;
3599
                           DUP 2 ;
3600
                           CDR ;
3601
                           CAR ;
3602
                           CDR ;
3603
                           CDR ;
3604
                           CDR ;
3605
                           COMPARE ;
3606
                           EQ ;
3607
                           IF
3608
                             { RIGHT (pair (pair nat nat)
3609
                                           (pair
3610
                                             (pair
3611
                                               (pair
3612
                                                 (pair
3613
                                                   (pair
3614
                                                     (pair (pair address nat) nat
3615
                                                           (or address
3616
                                                               (pair nat address)))
3617
                                                     (or address (pair nat address)))
3618
                                                   (pair (pair nat nat)
3619
                                                         (big_map nat
3620
                                                                  (pair
3621
                                                                    (pair (pair nat nat)
3622
                                                                          (pair int int))
3623
                                                                    timestamp))
3624
                                                         nat))
3625
                                                 int
3626
                                                 int)
3627
                                               (pair (pair nat nat) (pair nat nat))
3628
                                               (big_map (pair nat bool) (pair int nat))
3629
                                               nat)
3630
                                             (pair (pair (big_map string bytes) nat)
3631
                                                   (big_map (pair address address nat)
3632
                                                            unit)
3633
                                                   (big_map address (set nat)))
3634
                                             (pair
3635
                                               (big_map nat
3636
                                                        (pair
3637
                                                          (pair
3638
                                                            (pair (pair int int) nat)
3639
                                                            int
3640
                                                            address)
3641
                                                          int))
3642
                                               nat)
3643
                                             (big_map int
3644
                                                      (pair
3645
                                                        (pair
3646
                                                          (pair
3647
                                                            (pair (pair nat nat) int)
3648
                                                            nat
3649
                                                            int)
3650
                                                          (pair int nat)
3651
                                                          nat
3652
                                                          nat)
3653
                                                        int))
3654
                                             (big_map nat (pair nat (map string bytes))))) }
3655
                             { DUP ;
3656
                               CDR ;
3657
                               CAR ;
3658
                               CAR ;
3659
                               CAR ;
3660
                               CAR ;
3661
                               PUSH string "not_get_dev_fee" ;
3662
                               DUP 2 ;
3663
                               CAR ;
3664
                               CAR ;
3665
                               CAR ;
3666
                               UNIT ;
3667
                               VIEW "get_dev_fee" nat ;
3668
                               IF_NONE { FAILWITH } { SWAP ; DROP } ;
3669
                               PUSH nat 10000 ;
3670
                               DIG 2 ;
3671
                               CAR ;
3672
                               CAR ;
3673
                               CDR ;
3674
                               DUP 4 ;
3675
                               CAR ;
3676
                               CAR ;
3677
                               MUL ;
3678
                               PAIR ;
3679
                               DUP 11 ;
3680
                               SWAP ;
3681
                               EXEC ;
3682
                               PUSH nat 0 ;
3683
                               DUP 3 ;
3684
                               COMPARE ;
3685
                               GT ;
3686
                               IF
3687
                                 { PUSH nat 10000 ; DUP 3 ; DUP 3 ; MUL ; PAIR ; DUP 12 ; SWAP ; EXEC }
3688
                                 { PUSH nat 0 } ;
3689
                               PUSH nat 300 ;
3690
                               DUP 2 ;
3691
                               DUP 4 ;
3692
                               SUB ;
3693
                               PAIR ;
3694
                               DUP 11 ;
3695
                               SWAP ;
3696
                               EXEC ;
3697
                               PUSH nat 303 ;
3698
                               DIG 3 ;
3699
                               DUP 6 ;
3700
                               CAR ;
3701
                               CAR ;
3702
                               SUB ;
3703
                               PAIR ;
3704
                               DUP 11 ;
3705
                               SWAP ;
3706
                               EXEC ;
3707
                               DUP 5 ;
3708
                               CDR ;
3709
                               CDR ;
3710
                               CDR ;
3711
                               CAR ;
3712
                               CDR ;
3713
                               DUP 6 ;
3714
                               CDR ;
3715
                               CAR ;
3716
                               CDR ;
3717
                               CDR ;
3718
                               CDR ;
3719
                               DUP 2 ;
3720
                               DIG 3 ;
3721
                               MUL ;
3722
                               PUSH nat 80 ;
3723
                               DUP 3 ;
3724
                               LSL ;
3725
                               ADD ;
3726
                               PUSH nat 80 ;
3727
                               DIG 3 ;
3728
                               DIG 3 ;
3729
                               MUL ;
3730
                               LSL ;
3731
                               PAIR ;
3732
                               DUP 13 ;
3733
                               SWAP ;
3734
                               EXEC ;
3735
                               DUP 5 ;
3736
                               CDR ;
3737
                               CAR ;
3738
                               CDR ;
3739
                               CDR ;
3740
                               CAR ;
3741
                               DUP 2 ;
3742
                               DUP 7 ;
3743
                               CDR ;
3744
                               CDR ;
3745
                               CDR ;
3746
                               CAR ;
3747
                               CDR ;
3748
                               DUP 8 ;
3749
                               CDR ;
3750
                               CAR ;
3751
                               CAR ;
3752
                               CDR ;
3753
                               CAR ;
3754
                               PAIR 4 ;
3755
                               DUP 10 ;
3756
                               SWAP ;
3757
                               EXEC ;
3758
                               DUP 6 ;
3759
                               CDR ;
3760
                               CAR ;
3761
                               CAR ;
3762
                               CDR ;
3763
                               CDR ;
3764
                               DUP 2 ;
3765
                               COMPARE ;
3766
                               GE ;
3767
                               IF
3768
                                 { DIG 4 ;
3769
                                   DROP ;
3770
                                   PUSH nat 80 ;
3771
                                   DUP 6 ;
3772
                                   CDR ;
3773
                                   CAR ;
3774
                                   CDR ;
3775
                                   CDR ;
3776
                                   CDR ;
3777
                                   PUSH nat 304 ;
3778
                                   DUP 5 ;
3779
                                   DUP 9 ;
3780
                                   CDR ;
3781
                                   CDR ;
3782
                                   CDR ;
3783
                                   CAR ;
3784
                                   CDR ;
3785
                                   SUB ;
3786
                                   PAIR ;
3787
                                   DUP 14 ;
3788
                                   SWAP ;
3789
                                   EXEC ;
3790
                                   MUL ;
3791
                                   LSR ;
3792
                                   DUP 6 ;
3793
                                   CDR ;
3794
                                   DUP ;
3795
                                   CDR ;
3796
                                   CDR ;
3797
                                   CDR ;
3798
                                   DIG 4 ;
3799
                                   DUP 3 ;
3800
                                   CDR ;
3801
                                   CDR ;
3802
                                   CAR ;
3803
                                   CAR ;
3804
                                   PAIR ;
3805
                                   PAIR ;
3806
                                   DUP 2 ;
3807
                                   CDR ;
3808
                                   CAR ;
3809
                                   PAIR ;
3810
                                   SWAP ;
3811
                                   CAR ;
3812
                                   PAIR ;
3813
                                   DUP ;
3814
                                   CDR ;
3815
                                   DUP 2 ;
3816
                                   CAR ;
3817
                                   CDR ;
3818
                                   DUP 3 ;
3819
                                   CAR ;
3820
                                   CAR ;
3821
                                   CDR ;
3822
                                   CDR ;
3823
                                   DIG 5 ;
3824
                                   PAIR ;
3825
                                   DIG 3 ;
3826
                                   CAR ;
3827
                                   CAR ;
3828
                                   CAR ;
3829
                                   PAIR ;
3830
                                   PAIR ;
3831
                                   PAIR ;
3832
                                   DUP ;
3833
                                   CDR ;
3834
                                   DUP 2 ;
3835
                                   CAR ;
3836
                                   CDR ;
3837
                                   CDR ;
3838
                                   DUP 7 ;
3839
                                   CDR ;
3840
                                   CAR ;
3841
                                   CDR ;
3842
                                   CAR ;
3843
                                   CDR ;
3844
                                   CDR ;
3845
                                   DUP 8 ;
3846
                                   CDR ;
3847
                                   CAR ;
3848
                                   CDR ;
3849
                                   CDR ;
3850
                                   CDR ;
3851
                                   PUSH nat 128 ;
3852
                                   DIG 7 ;
3853
                                   LSL ;
3854
                                   EDIV ;
3855
                                   IF_NONE { PUSH string "DIV by 0" ; FAILWITH } {} ;
3856
                                   CAR ;
3857
                                   DUP 8 ;
3858
                                   CDR ;
3859
                                   CAR ;
3860
                                   CDR ;
3861
                                   CAR ;
3862
                                   CDR ;
3863
                                   CAR ;
3864
                                   ADD ;
3865
                                   PAIR ;
3866
                                   DUP 4 ;
3867
                                   CAR ;
3868
                                   CDR ;
3869
                                   CAR ;
3870
                                   CAR ;
3871
                                   PAIR ;
3872
                                   PAIR ;
3873
                                   DIG 2 ;
3874
                                   CAR ;
3875
                                   CAR ;
3876
                                   PAIR ;
3877
                                   PAIR ;
3878
                                   DUP ;
3879
                                   CDR ;
3880
                                   DUP 2 ;
3881
                                   CAR ;
3882
                                   CDR ;
3883
                                   CDR ;
3884
                                   DUP 3 ;
3885
                                   CAR ;
3886
                                   CDR ;
3887
                                   CAR ;
3888
                                   CDR ;
3889
                                   DUP 7 ;
3890
                                   CDR ;
3891
                                   CAR ;
3892
                                   CDR ;
3893
                                   CAR ;
3894
                                   CAR ;
3895
                                   CDR ;
3896
                                   DIG 6 ;
3897
                                   DUP 8 ;
3898
                                   CDR ;
3899
                                   CAR ;
3900
                                   CDR ;
3901
                                   CAR ;
3902
                                   CAR ;
3903
                                   CAR ;
3904
                                   ADD ;
3905
                                   PAIR ;
3906
                                   PAIR ;
3907
                                   PAIR ;
3908
                                   DIG 2 ;
3909
                                   CAR ;
3910
                                   CAR ;
3911
                                   PAIR ;
3912
                                   PAIR ;
3913
                                   DUP 3 ;
3914
                                   CAR ;
3915
                                   CDR ;
3916
                                   PUSH nat 0 ;
3917
                                   PAIR ;
3918
                                   PAIR ;
3919
                                   DUP ;
3920
                                   CDR ;
3921
                                   DIG 2 ;
3922
                                   DIG 3 ;
3923
                                   CAR ;
3924
                                   CDR ;
3925
                                   ADD ;
3926
                                   DIG 2 ;
3927
                                   CAR ;
3928
                                   CAR ;
3929
                                   PAIR ;
3930
                                   PAIR ;
3931
                                   RIGHT (pair (pair nat nat)
3932
                                               (pair
3933
                                                 (pair
3934
                                                   (pair
3935
                                                     (pair
3936
                                                       (pair
3937
                                                         (pair (pair address nat) nat
3938
                                                               (or address
3939
                                                                   (pair nat address)))
3940
                                                         (or address (pair nat address)))
3941
                                                       (pair (pair nat nat)
3942
                                                             (big_map nat
3943
                                                                      (pair
3944
                                                                        (pair
3945
                                                                          (pair nat nat)
3946
                                                                          (pair int int))
3947
                                                                        timestamp))
3948
                                                             nat))
3949
                                                     int
3950
                                                     int)
3951
                                                   (pair (pair nat nat) (pair nat nat))
3952
                                                   (big_map (pair nat bool)
3953
                                                            (pair int nat))
3954
                                                   nat)
3955
                                                 (pair (pair (big_map string bytes) nat)
3956
                                                       (big_map
3957
                                                         (pair address address nat)
3958
                                                         unit)
3959
                                                       (big_map address (set nat)))
3960
                                                 (pair
3961
                                                   (big_map nat
3962
                                                            (pair
3963
                                                              (pair
3964
                                                                (pair (pair int int) nat)
3965
                                                                int
3966
                                                                address)
3967
                                                              int))
3968
                                                   nat)
3969
                                                 (big_map int
3970
                                                          (pair
3971
                                                            (pair
3972
                                                              (pair
3973
                                                                (pair (pair nat nat) int)
3974
                                                                nat
3975
                                                                int)
3976
                                                              (pair int nat)
3977
                                                              nat
3978
                                                              nat)
3979
                                                            int))
3980
                                                 (big_map nat
3981
                                                          (pair nat (map string bytes))))) }
3982
                                 { DROP 4 ;
3983
                                   DUP 2 ;
3984
                                   CDR ;
3985
                                   CDR ;
3986
                                   CDR ;
3987
                                   CDR ;
3988
                                   CAR ;
3989
                                   DUP 3 ;
3990
                                   CDR ;
3991
                                   CAR ;
3992
                                   CAR ;
3993
                                   CDR ;
3994
                                   CDR ;
3995
                                   GET ;
3996
                                   IF_NONE { PUSH nat 301 ; FAILWITH } {} ;
3997
                                   PUSH nat 326 ;
3998
                                   PUSH nat 1 ;
3999
                                   DUP 3 ;
4000
                                   CAR ;
4001
                                   CDR ;
4002
                                   CDR ;
4003
                                   CDR ;
4004
                                   SUB ;
4005
                                   PAIR ;
4006
                                   DUP 10 ;
4007
                                   SWAP ;
4008
                                   EXEC ;
4009
                                   PUSH nat 80 ;
4010
                                   PUSH nat 304 ;
4011
                                   DUP 3 ;
4012
                                   DUP 7 ;
4013
                                   CDR ;
4014
                                   CDR ;
4015
                                   CDR ;
4016
                                   CAR ;
4017
                                   CDR ;
4018
                                   SUB ;
4019
                                   PAIR ;
4020
                                   DUP 12 ;
4021
                                   SWAP ;
4022
                                   EXEC ;
4023
                                   DUP 6 ;
4024
                                   CDR ;
4025
                                   CAR ;
4026
                                   CDR ;
4027
                                   CDR ;
4028
                                   CDR ;
4029
                                   MUL ;
4030
                                   LSR ;
4031
                                   DUP 2 ;
4032
                                   DUP 6 ;
4033
                                   CDR ;
4034
                                   CDR ;
4035
                                   CDR ;
4036
                                   CAR ;
4037
                                   CDR ;
4038
                                   MUL ;
4039
                                   PUSH nat 160 ;
4040
                                   DUP 3 ;
4041
                                   LSL ;
4042
                                   PAIR ;
4043
                                   DUP 14 ;
4044
                                   SWAP ;
4045
                                   EXEC ;
4046
                                   DUP 6 ;
4047
                                   CDR ;
4048
                                   CAR ;
4049
                                   CAR ;
4050
                                   CAR ;
4051
                                   CAR ;
4052
                                   CAR ;
4053
                                   CAR ;
4054
                                   CDR ;
4055
                                   PUSH nat 10000 ;
4056
                                   SUB ;
4057
                                   ABS ;
4058
                                   PUSH nat 10000 ;
4059
                                   DUP 3 ;
4060
                                   MUL ;
4061
                                   PAIR ;
4062
                                   DUP 15 ;
4063
                                   SWAP ;
4064
                                   EXEC ;
4065
                                   PUSH nat 300 ;
4066
                                   DIG 2 ;
4067
                                   DUP 3 ;
4068
                                   SUB ;
4069
                                   PAIR ;
4070
                                   DUP 13 ;
4071
                                   SWAP ;
4072
                                   EXEC ;
4073
                                   PUSH nat 0 ;
4074
                                   DUP 7 ;
4075
                                   COMPARE ;
4076
                                   GT ;
4077
                                   IF
4078
                                     { PUSH nat 10000 ; DIG 6 ; DUP 3 ; MUL ; PAIR ; DUP 15 ; SWAP ; EXEC }
4079
                                     { DIG 5 ; DROP ; PUSH nat 0 } ;
4080
                                   PUSH nat 300 ;
4081
                                   DUP 2 ;
4082
                                   DIG 3 ;
4083
                                   SUB ;
4084
                                   PAIR ;
4085
                                   DUP 13 ;
4086
                                   SWAP ;
4087
                                   EXEC ;
4088
                                   DUP 7 ;
4089
                                   CDR ;
4090
                                   CAR ;
4091
                                   CDR ;
4092
                                   CDR ;
4093
                                   CDR ;
4094
                                   PUSH nat 128 ;
4095
                                   DIG 2 ;
4096
                                   LSL ;
4097
                                   PAIR ;
4098
                                   DUP 14 ;
4099
                                   SWAP ;
4100
                                   EXEC ;
4101
                                   DUP 7 ;
4102
                                   CDR ;
4103
                                   CAR ;
4104
                                   CDR ;
4105
                                   CAR ;
4106
                                   CDR ;
4107
                                   CAR ;
4108
                                   ADD ;
4109
                                   DUP 7 ;
4110
                                   CDR ;
4111
                                   CAR ;
4112
                                   CDR ;
4113
                                   CAR ;
4114
                                   CDR ;
4115
                                   CDR ;
4116
                                   SWAP ;
4117
                                   PAIR ;
4118
                                   DUP 7 ;
4119
                                   CDR ;
4120
                                   CAR ;
4121
                                   CAR ;
4122
                                   CAR ;
4123
                                   CDR ;
4124
                                   DUP ;
4125
                                   CDR ;
4126
                                   CAR ;
4127
                                   SWAP ;
4128
                                   CAR ;
4129
                                   CDR ;
4130
                                   GET ;
4131
                                   IF_NONE { PUSH nat 321 ; FAILWITH } {} ;
4132
                                   DUP 7 ;
4133
                                   CDR ;
4134
                                   DUP 2 ;
4135
                                   CAR ;
4136
                                   CDR ;
4137
                                   CDR ;
4138
                                   SUB ;
4139
                                   PUSH nat 306 ;
4140
                                   DUP 9 ;
4141
                                   CAR ;
4142
                                   CAR ;
4143
                                   CAR ;
4144
                                   CAR ;
4145
                                   CDR ;
4146
                                   DUP 5 ;
4147
                                   CDR ;
4148
                                   SUB ;
4149
                                   PAIR ;
4150
                                   DUP 16 ;
4151
                                   SWAP ;
4152
                                   EXEC ;
4153
                                   PUSH nat 306 ;
4154
                                   DUP 10 ;
4155
                                   CAR ;
4156
                                   CAR ;
4157
                                   CAR ;
4158
                                   CAR ;
4159
                                   CAR ;
4160
                                   DUP 6 ;
4161
                                   CAR ;
4162
                                   SUB ;
4163
                                   PAIR ;
4164
                                   DUP 17 ;
4165
                                   SWAP ;
4166
                                   EXEC ;
4167
                                   PAIR ;
4168
                                   PUSH nat 320 ;
4169
                                   DUP 10 ;
4170
                                   CAR ;
4171
                                   CDR ;
4172
                                   CAR ;
4173
                                   CDR ;
4174
                                   PUSH timestamp 0 ;
4175
                                   NOW ;
4176
                                   SUB ;
4177
                                   SUB ;
4178
                                   PAIR ;
4179
                                   DUP 17 ;
4180
                                   SWAP ;
4181
                                   EXEC ;
4182
                                   PUSH nat 324 ;
4183
                                   DUP 11 ;
4184
                                   CAR ;
4185
                                   CDR ;
4186
                                   CDR ;
4187
                                   CAR ;
4188
                                   DIG 5 ;
4189
                                   CAR ;
4190
                                   CAR ;
4191
                                   CDR ;
4192
                                   SUB ;
4193
                                   PAIR ;
4194
                                   DUP 17 ;
4195
                                   SWAP ;
4196
                                   EXEC ;
4197
                                   DUP 11 ;
4198
                                   CDR ;
4199
                                   DUP ;
4200
                                   CDR ;
4201
                                   DUP 2 ;
4202
                                   CAR ;
4203
                                   CDR ;
4204
                                   DUP 13 ;
4205
                                   CAR ;
4206
                                   CDR ;
4207
                                   CAR ;
4208
                                   CAR ;
4209
                                   DUP 4 ;
4210
                                   CAR ;
4211
                                   CAR ;
4212
                                   CDR ;
4213
                                   CAR ;
4214
                                   PAIR ;
4215
                                   DIG 3 ;
4216
                                   CAR ;
4217
                                   CAR ;
4218
                                   CAR ;
4219
                                   PAIR ;
4220
                                   PAIR ;
4221
                                   PAIR ;
4222
                                   DUP ;
4223
                                   CDR ;
4224
                                   CDR ;
4225
                                   CDR ;
4226
                                   DIG 10 ;
4227
                                   DUP 3 ;
4228
                                   CDR ;
4229
                                   CDR ;
4230
                                   CAR ;
4231
                                   CAR ;
4232
                                   PAIR ;
4233
                                   PAIR ;
4234
                                   DUP 2 ;
4235
                                   CDR ;
4236
                                   CAR ;
4237
                                   PAIR ;
4238
                                   SWAP ;
4239
                                   CAR ;
4240
                                   PAIR ;
4241
                                   DUP ;
4242
                                   CDR ;
4243
                                   DUP 2 ;
4244
                                   CAR ;
4245
                                   CDR ;
4246
                                   DUP 3 ;
4247
                                   CAR ;
4248
                                   CAR ;
4249
                                   CDR ;
4250
                                   CDR ;
4251
                                   PUSH int 1 ;
4252
                                   DUP 15 ;
4253
                                   CDR ;
4254
                                   CAR ;
4255
                                   CAR ;
4256
                                   CDR ;
4257
                                   CDR ;
4258
                                   SUB ;
4259
                                   PAIR ;
4260
                                   DIG 3 ;
4261
                                   CAR ;
4262
                                   CAR ;
4263
                                   CAR ;
4264
                                   PAIR ;
4265
                                   PAIR ;
4266
                                   PAIR ;
4267
                                   DUP ;
4268
                                   CDR ;
4269
                                   CDR ;
4270
                                   CDR ;
4271
                                   CDR ;
4272
                                   DUP 12 ;
4273
                                   CDR ;
4274
                                   CDR ;
4275
                                   CDR ;
4276
                                   CDR ;
4277
                                   CAR ;
4278
                                   DIG 6 ;
4279
                                   DUP 12 ;
4280
                                   CAR ;
4281
                                   PAIR ;
4282
                                   DUP ;
4283
                                   CDR ;
4284
                                   DUP 2 ;
4285
                                   CAR ;
4286
                                   CDR ;
4287
                                   DUP 3 ;
4288
                                   CAR ;
4289
                                   CAR ;
4290
                                   CDR ;
4291
                                   DIG 3 ;
4292
                                   CAR ;
4293
                                   CAR ;
4294
                                   CAR ;
4295
                                   CDR ;
4296
                                   DIG 9 ;
4297
                                   PAIR ;
4298
                                   PAIR ;
4299
                                   PAIR ;
4300
                                   PAIR ;
4301
                                   DUP ;
4302
                                   CDR ;
4303
                                   DUP 2 ;
4304
                                   CAR ;
4305
                                   CDR ;
4306
                                   CDR ;
4307
                                   DIG 7 ;
4308
                                   DUP 4 ;
4309
                                   CAR ;
4310
                                   CDR ;
4311
                                   CAR ;
4312
                                   CAR ;
4313
                                   PAIR ;
4314
                                   PAIR ;
4315
                                   DIG 2 ;
4316
                                   CAR ;
4317
                                   CAR ;
4318
                                   PAIR ;
4319
                                   PAIR ;
4320
                                   DUP ;
4321
                                   CDR ;
4322
                                   DUP 2 ;
4323
                                   CAR ;
4324
                                   CDR ;
4325
                                   CDR ;
4326
                                   CDR ;
4327
                                   DIG 6 ;
4328
                                   PAIR ;
4329
                                   DUP 3 ;
4330
                                   CAR ;
4331
                                   CDR ;
4332
                                   CAR ;
4333
                                   PAIR ;
4334
                                   DIG 2 ;
4335
                                   CAR ;
4336
                                   CAR ;
4337
                                   PAIR ;
4338
                                   PAIR ;
4339
                                   SOME ;
4340
                                   DUP 10 ;
4341
                                   CDR ;
4342
                                   CAR ;
4343
                                   CAR ;
4344
                                   CDR ;
4345
                                   CDR ;
4346
                                   UPDATE ;
4347
                                   PAIR ;
4348
                                   DUP 2 ;
4349
                                   CDR ;
4350
                                   CDR ;
4351
                                   CAR ;
4352
                                   PAIR ;
4353
                                   DUP 2 ;
4354
                                   CDR ;
4355
                                   CAR ;
4356
                                   PAIR ;
4357
                                   SWAP ;
4358
                                   CAR ;
4359
                                   PAIR ;
4360
                                   DUP ;
4361
                                   CDR ;
4362
                                   DUP 2 ;
4363
                                   CAR ;
4364
                                   CDR ;
4365
                                   CDR ;
4366
                                   DIG 3 ;
4367
                                   DUP 4 ;
4368
                                   CAR ;
4369
                                   CDR ;
4370
                                   CAR ;
4371
                                   CAR ;
4372
                                   PAIR ;
4373
                                   PAIR ;
4374
                                   DIG 2 ;
4375
                                   CAR ;
4376
                                   CAR ;
4377
                                   PAIR ;
4378
                                   PAIR ;
4379
                                   DUP ;
4380
                                   CDR ;
4381
                                   PUSH nat 308 ;
4382
                                   DIG 6 ;
4383
                                   CAR ;
4384
                                   CAR ;
4385
                                   CAR ;
4386
                                   CDR ;
4387
                                   DUP 8 ;
4388
                                   CDR ;
4389
                                   CAR ;
4390
                                   CDR ;
4391
                                   CDR ;
4392
                                   CDR ;
4393
                                   SUB ;
4394
                                   PAIR ;
4395
                                   DUP 13 ;
4396
                                   SWAP ;
4397
                                   EXEC ;
4398
                                   DUP 3 ;
4399
                                   CAR ;
4400
                                   CDR ;
4401
                                   CDR ;
4402
                                   CAR ;
4403
                                   PAIR ;
4404
                                   DUP 3 ;
4405
                                   CAR ;
4406
                                   CDR ;
4407
                                   CAR ;
4408
                                   PAIR ;
4409
                                   DIG 2 ;
4410
                                   CAR ;
4411
                                   CAR ;
4412
                                   PAIR ;
4413
                                   PAIR ;
4414
                                   DUP ;
4415
                                   CDR ;
4416
                                   DUP 2 ;
4417
                                   CAR ;
4418
                                   CDR ;
4419
                                   CDR ;
4420
                                   DUP 3 ;
4421
                                   CAR ;
4422
                                   CDR ;
4423
                                   CAR ;
4424
                                   CDR ;
4425
                                   DUP 8 ;
4426
                                   CDR ;
4427
                                   CAR ;
4428
                                   CDR ;
4429
                                   CAR ;
4430
                                   CAR ;
4431
                                   CDR ;
4432
                                   DIG 5 ;
4433
                                   DUP 9 ;
4434
                                   CDR ;
4435
                                   CAR ;
4436
                                   CDR ;
4437
                                   CAR ;
4438
                                   CAR ;
4439
                                   CAR ;
4440
                                   ADD ;
4441
                                   PAIR ;
4442
                                   PAIR ;
4443
                                   PAIR ;
4444
                                   DIG 2 ;
4445
                                   CAR ;
4446
                                   CAR ;
4447
                                   PAIR ;
4448
                                   PAIR ;
4449
                                   DUP 4 ;
4450
                                   CAR ;
4451
                                   CDR ;
4452
                                   PUSH nat 307 ;
4453
                                   DIG 3 ;
4454
                                   DUP 6 ;
4455
                                   CAR ;
4456
                                   CAR ;
4457
                                   SUB ;
4458
                                   PAIR ;
4459
                                   DUP 11 ;
4460
                                   SWAP ;
4461
                                   EXEC ;
4462
                                   PAIR ;
4463
                                   PAIR ;
4464
                                   DUP ;
4465
                                   CDR ;
4466
                                   DIG 2 ;
4467
                                   DIG 3 ;
4468
                                   CAR ;
4469
                                   CDR ;
4470
                                   ADD ;
4471
                                   DIG 2 ;
4472
                                   CAR ;
4473
                                   CAR ;
4474
                                   PAIR ;
4475
                                   PAIR ;
4476
                                   LEFT (pair (pair nat nat)
4477
                                              (pair
4478
                                                (pair
4479
                                                  (pair
4480
                                                    (pair
4481
                                                      (pair
4482
                                                        (pair (pair address nat) nat
4483
                                                              (or address
4484
                                                                  (pair nat address)))
4485
                                                        (or address (pair nat address)))
4486
                                                      (pair (pair nat nat)
4487
                                                            (big_map nat
4488
                                                                     (pair
4489
                                                                       (pair
4490
                                                                         (pair nat nat)
4491
                                                                         (pair int int))
4492
                                                                       timestamp))
4493
                                                            nat))
4494
                                                    int
4495
                                                    int)
4496
                                                  (pair (pair nat nat) (pair nat nat))
4497
                                                  (big_map (pair nat bool)
4498
                                                           (pair int nat))
4499
                                                  nat)
4500
                                                (pair (pair (big_map string bytes) nat)
4501
                                                      (big_map
4502
                                                        (pair address address nat)
4503
                                                        unit)
4504
                                                      (big_map address (set nat)))
4505
                                                (pair
4506
                                                  (big_map nat
4507
                                                           (pair
4508
                                                             (pair
4509
                                                               (pair (pair int int) nat)
4510
                                                               int
4511
                                                               address)
4512
                                                             int))
4513
                                                  nat)
4514
                                                (big_map int
4515
                                                         (pair
4516
                                                           (pair
4517
                                                             (pair
4518
                                                               (pair (pair nat nat) int)
4519
                                                               nat
4520
                                                               int)
4521
                                                             (pair int nat)
4522
                                                             nat
4523
                                                             nat)
4524
                                                           int))
4525
                                                (big_map nat
4526
                                                         (pair nat (map string bytes))))) } } } ;
4527
               DIG 4 ;
4528
               DIG 7 ;
4529
               DIG 8 ;
4530
               DROP 3 ;
4531
               PUSH nat 309 ;
4532
               DUP 2 ;
4533
               CAR ;
4534
               CAR ;
4535
               DIG 3 ;
4536
               SUB ;
4537
               PAIR ;
4538
               DIG 5 ;
4539
               SWAP ;
4540
               EXEC ;
4541
               DUP 2 ;
4542
               CAR ;
4543
               CDR ;
4544
               DUP 4 ;
4545
               GET 5 ;
4546
               DUP 2 ;
4547
               COMPARE ;
4548
               LT ;
4549
               IF
4550
                 { SWAP ; DIG 2 ; DIG 4 ; DIG 5 ; DROP 4 ; SWAP ; GET 5 ; PAIR ; PUSH nat 104 ; PAIR ; FAILWITH }
4551
                 { DUP 5 ;
4552
                   CAR ;
4553
                   CAR ;
4554
                   CAR ;
4555
                   CAR ;
4556
                   CAR ;
4557
                   CDR ;
4558
                   CDR ;
4559
                   DIG 2 ;
4560
                   SELF_ADDRESS ;
4561
                   SENDER ;
4562
                   PAIR 4 ;
4563
                   DUP 6 ;
4564
                   SWAP ;
4565
                   EXEC ;
4566
                   DIG 4 ;
4567
                   CAR ;
4568
                   CAR ;
4569
                   CAR ;
4570
                   CAR ;
4571
                   CDR ;
4572
                   DIG 2 ;
4573
                   DIG 4 ;
4574
                   GET 7 ;
4575
                   SELF_ADDRESS ;
4576
                   PAIR 4 ;
4577
                   DIG 3 ;
4578
                   SWAP ;
4579
                   EXEC ;
4580
                   DIG 2 ;
4581
                   CDR ;
4582
                   NIL operation ;
4583
                   DIG 2 ;
4584
                   CONS ;
4585
                   DIG 2 ;
4586
                   CONS ;
4587
                   PAIR } }
4588
             { UNIT ;
4589
               RIGHT unit ;
4590
               RIGHT (or unit unit) ;
4591
               PUSH string "not check pause etp" ;
4592
               DUP 4 ;
4593
               CAR ;
4594
               CAR ;
4595
               CAR ;
4596
               CAR ;
4597
               CAR ;
4598
               CAR ;
4599
               CAR ;
4600
               DUP 3 ;
4601
               VIEW "check_pause" bool ;
4602
               IF_NONE { FAILWITH } { SWAP ; DROP } ;
4603
               IF { PUSH nat 600 ; PAIR ; FAILWITH } { DROP } ;
4604
               DUP ;
4605
               GET 3 ;
4606
               DUP ;
4607
               NOW ;
4608
               COMPARE ;
4609
               GT ;
4610
               IF { NOW ; SWAP ; PAIR ; PUSH nat 103 ; PAIR ; FAILWITH } { DROP } ;
4611
               DUP 2 ;
4612
               DUP 2 ;
4613
               CAR ;
4614
               PUSH nat 0 ;
4615
               PAIR ;
4616
               PAIR ;
4617
               LEFT (pair (pair nat nat)
4618
                          (pair
4619
                            (pair
4620
                              (pair
4621
                                (pair
4622
                                  (pair
4623
                                    (pair (pair address nat) nat
4624
                                          (or address (pair nat address)))
4625
                                    (or address (pair nat address)))
4626
                                  (pair (pair nat nat)
4627
                                        (big_map nat
4628
                                                 (pair
4629
                                                   (pair (pair nat nat) (pair int int))
4630
                                                   timestamp))
4631
                                        nat))
4632
                                int
4633
                                int)
4634
                              (pair (pair nat nat) (pair nat nat))
4635
                              (big_map (pair nat bool) (pair int nat))
4636
                              nat)
4637
                            (pair (pair (big_map string bytes) nat)
4638
                                  (big_map (pair address address nat) unit)
4639
                                  (big_map address (set nat)))
4640
                            (pair
4641
                              (big_map nat
4642
                                       (pair
4643
                                         (pair (pair (pair int int) nat) int address)
4644
                                         int))
4645
                              nat)
4646
                            (big_map int
4647
                                     (pair
4648
                                       (pair (pair (pair (pair nat nat) int) nat int)
4649
                                             (pair int nat)
4650
                                             nat
4651
                                             nat)
4652
                                       int))
4653
                            (big_map nat (pair nat (map string bytes))))) ;
4654
               LOOP_LEFT { PUSH nat 0 ;
4655
                           DUP 2 ;
4656
                           CDR ;
4657
                           CAR ;
4658
                           CDR ;
4659
                           CDR ;
4660
                           CDR ;
4661
                           COMPARE ;
4662
                           EQ ;
4663
                           IF
4664
                             { RIGHT (pair (pair nat nat)
4665
                                           (pair
4666
                                             (pair
4667
                                               (pair
4668
                                                 (pair
4669
                                                   (pair
4670
                                                     (pair (pair address nat) nat
4671
                                                           (or address
4672
                                                               (pair nat address)))
4673
                                                     (or address (pair nat address)))
4674
                                                   (pair (pair nat nat)
4675
                                                         (big_map nat
4676
                                                                  (pair
4677
                                                                    (pair (pair nat nat)
4678
                                                                          (pair int int))
4679
                                                                    timestamp))
4680
                                                         nat))
4681
                                                 int
4682
                                                 int)
4683
                                               (pair (pair nat nat) (pair nat nat))
4684
                                               (big_map (pair nat bool) (pair int nat))
4685
                                               nat)
4686
                                             (pair (pair (big_map string bytes) nat)
4687
                                                   (big_map (pair address address nat)
4688
                                                            unit)
4689
                                                   (big_map address (set nat)))
4690
                                             (pair
4691
                                               (big_map nat
4692
                                                        (pair
4693
                                                          (pair
4694
                                                            (pair (pair int int) nat)
4695
                                                            int
4696
                                                            address)
4697
                                                          int))
4698
                                               nat)
4699
                                             (big_map int
4700
                                                      (pair
4701
                                                        (pair
4702
                                                          (pair
4703
                                                            (pair (pair nat nat) int)
4704
                                                            nat
4705
                                                            int)
4706
                                                          (pair int nat)
4707
                                                          nat
4708
                                                          nat)
4709
                                                        int))
4710
                                             (big_map nat (pair nat (map string bytes))))) }
4711
                             { DUP ;
4712
                               CDR ;
4713
                               CAR ;
4714
                               CAR ;
4715
                               CAR ;
4716
                               CAR ;
4717
                               PUSH string "not_get_dev_fee" ;
4718
                               DUP 2 ;
4719
                               CAR ;
4720
                               CAR ;
4721
                               CAR ;
4722
                               UNIT ;
4723
                               VIEW "get_dev_fee" nat ;
4724
                               IF_NONE { FAILWITH } { SWAP ; DROP } ;
4725
                               PUSH nat 10000 ;
4726
                               DIG 2 ;
4727
                               CAR ;
4728
                               CAR ;
4729
                               CDR ;
4730
                               DUP 4 ;
4731
                               CAR ;
4732
                               CDR ;
4733
                               MUL ;
4734
                               PAIR ;
4735
                               DUP 10 ;
4736
                               SWAP ;
4737
                               EXEC ;
4738
                               PUSH nat 0 ;
4739
                               DUP 3 ;
4740
                               COMPARE ;
4741
                               GT ;
4742
                               IF
4743
                                 { PUSH nat 10000 ; DUP 3 ; DUP 3 ; MUL ; PAIR ; DUP 11 ; SWAP ; EXEC }
4744
                                 { PUSH nat 0 } ;
4745
                               PUSH nat 300 ;
4746
                               DUP 2 ;
4747
                               DUP 4 ;
4748
                               SUB ;
4749
                               PAIR ;
4750
                               DUP 10 ;
4751
                               SWAP ;
4752
                               EXEC ;
4753
                               PUSH nat 303 ;
4754
                               DIG 3 ;
4755
                               DUP 6 ;
4756
                               CAR ;
4757
                               CDR ;
4758
                               SUB ;
4759
                               PAIR ;
4760
                               DUP 10 ;
4761
                               SWAP ;
4762
                               EXEC ;
4763
                               DUP 5 ;
4764
                               CDR ;
4765
                               CDR ;
4766
                               CDR ;
4767
                               CAR ;
4768
                               CDR ;
4769
                               DUP 6 ;
4770
                               CDR ;
4771
                               CAR ;
4772
                               CDR ;
4773
                               CDR ;
4774
                               CDR ;
4775
                               PUSH nat 80 ;
4776
                               DIG 3 ;
4777
                               LSL ;
4778
                               PAIR ;
4779
                               DUP 12 ;
4780
                               SWAP ;
4781
                               EXEC ;
4782
                               ADD ;
4783
                               DUP 5 ;
4784
                               CDR ;
4785
                               CAR ;
4786
                               CDR ;
4787
                               CDR ;
4788
                               CAR ;
4789
                               DUP 2 ;
4790
                               DUP 7 ;
4791
                               CDR ;
4792
                               CDR ;
4793
                               CDR ;
4794
                               CAR ;
4795
                               CDR ;
4796
                               DUP 8 ;
4797
                               CDR ;
4798
                               CAR ;
4799
                               CAR ;
4800
                               CDR ;
4801
                               CAR ;
4802
                               PAIR 4 ;
4803
                               DUP 9 ;
4804
                               SWAP ;
4805
                               EXEC ;
4806
                               DUP 6 ;
4807
                               CDR ;
4808
                               CDR ;
4809
                               CDR ;
4810
                               CDR ;
4811
                               CAR ;
4812
                               DUP 7 ;
4813
                               CDR ;
4814
                               CAR ;
4815
                               CAR ;
4816
                               CDR ;
4817
                               CDR ;
4818
                               GET ;
4819
                               IF_NONE { PUSH nat 301 ; FAILWITH } {} ;
4820
                               CAR ;
4821
                               CAR ;
4822
                               CDR ;
4823
                               CDR ;
4824
                               DUP ;
4825
                               DUP 3 ;
4826
                               COMPARE ;
4827
                               LT ;
4828
                               IF
4829
                                 { DIG 5 ;
4830
                                   DROP 2 ;
4831
                                   DUP 5 ;
4832
                                   CDR ;
4833
                                   CDR ;
4834
                                   CDR ;
4835
                                   CAR ;
4836
                                   CDR ;
4837
                                   DUP 3 ;
4838
                                   MUL ;
4839
                                   PUSH nat 80 ;
4840
                                   PUSH nat 305 ;
4841
                                   DUP 8 ;
4842
                                   CDR ;
4843
                                   CDR ;
4844
                                   CDR ;
4845
                                   CAR ;
4846
                                   CDR ;
4847
                                   DUP 6 ;
4848
                                   SUB ;
4849
                                   PAIR ;
4850
                                   DUP 13 ;
4851
                                   SWAP ;
4852
                                   EXEC ;
4853
                                   LSL ;
4854
                                   DUP 7 ;
4855
                                   CDR ;
4856
                                   CAR ;
4857
                                   CDR ;
4858
                                   CDR ;
4859
                                   CDR ;
4860
                                   MUL ;
4861
                                   PAIR ;
4862
                                   DUP 12 ;
4863
                                   SWAP ;
4864
                                   EXEC ;
4865
                                   DUP 6 ;
4866
                                   CDR ;
4867
                                   DUP ;
4868
                                   CDR ;
4869
                                   CDR ;
4870
                                   CDR ;
4871
                                   DIG 4 ;
4872
                                   DUP 3 ;
4873
                                   CDR ;
4874
                                   CDR ;
4875
                                   CAR ;
4876
                                   CAR ;
4877
                                   PAIR ;
4878
                                   PAIR ;
4879
                                   DUP 2 ;
4880
                                   CDR ;
4881
                                   CAR ;
4882
                                   PAIR ;
4883
                                   SWAP ;
4884
                                   CAR ;
4885
                                   PAIR ;
4886
                                   DUP ;
4887
                                   CDR ;
4888
                                   DUP 2 ;
4889
                                   CAR ;
4890
                                   CDR ;
4891
                                   DUP 3 ;
4892
                                   CAR ;
4893
                                   CAR ;
4894
                                   CDR ;
4895
                                   CDR ;
4896
                                   DIG 5 ;
4897
                                   PAIR ;
4898
                                   DIG 3 ;
4899
                                   CAR ;
4900
                                   CAR ;
4901
                                   CAR ;
4902
                                   PAIR ;
4903
                                   PAIR ;
4904
                                   PAIR ;
4905
                                   DUP ;
4906
                                   CDR ;
4907
                                   DUP 2 ;
4908
                                   CAR ;
4909
                                   CDR ;
4910
                                   CDR ;
4911
                                   DUP 7 ;
4912
                                   CDR ;
4913
                                   CAR ;
4914
                                   CDR ;
4915
                                   CDR ;
4916
                                   CDR ;
4917
                                   PUSH nat 128 ;
4918
                                   DIG 6 ;
4919
                                   LSL ;
4920
                                   EDIV ;
4921
                                   IF_NONE { PUSH string "DIV by 0" ; FAILWITH } {} ;
4922
                                   CAR ;
4923
                                   DUP 7 ;
4924
                                   CDR ;
4925
                                   CAR ;
4926
                                   CDR ;
4927
                                   CAR ;
4928
                                   CDR ;
4929
                                   CDR ;
4930
                                   ADD ;
4931
                                   DUP 7 ;
4932
                                   CDR ;
4933
                                   CAR ;
4934
                                   CDR ;
4935
                                   CAR ;
4936
                                   CDR ;
4937
                                   CAR ;
4938
                                   PAIR ;
4939
                                   DUP 4 ;
4940
                                   CAR ;
4941
                                   CDR ;
4942
                                   CAR ;
4943
                                   CAR ;
4944
                                   PAIR ;
4945
                                   PAIR ;
4946
                                   DIG 2 ;
4947
                                   CAR ;
4948
                                   CAR ;
4949
                                   PAIR ;
4950
                                   PAIR ;
4951
                                   DUP ;
4952
                                   CDR ;
4953
                                   DUP 2 ;
4954
                                   CAR ;
4955
                                   CDR ;
4956
                                   CDR ;
4957
                                   DUP 3 ;
4958
                                   CAR ;
4959
                                   CDR ;
4960
                                   CAR ;
4961
                                   CDR ;
4962
                                   DIG 5 ;
4963
                                   DUP 7 ;
4964
                                   CDR ;
4965
                                   CAR ;
4966
                                   CDR ;
4967
                                   CAR ;
4968
                                   CAR ;
4969
                                   CDR ;
4970
                                   ADD ;
4971
                                   DUP 7 ;
4972
                                   CDR ;
4973
                                   CAR ;
4974
                                   CDR ;
4975
                                   CAR ;
4976
                                   CAR ;
4977
                                   CAR ;
4978
                                   PAIR ;
4979
                                   PAIR ;
4980
                                   PAIR ;
4981
                                   DIG 2 ;
4982
                                   CAR ;
4983
                                   CAR ;
4984
                                   PAIR ;
4985
                                   PAIR ;
4986
                                   DUP 3 ;
4987
                                   CAR ;
4988
                                   PAIR ;
4989
                                   DUP ;
4990
                                   CDR ;
4991
                                   PUSH nat 0 ;
4992
                                   DIG 2 ;
4993
                                   DROP ;
4994
                                   DIG 2 ;
4995
                                   DIG 3 ;
4996
                                   CAR ;
4997
                                   CAR ;
4998
                                   ADD ;
4999
                                   PAIR ;
5000
                                   PAIR ;
5001
                                   RIGHT (pair (pair nat nat)
5002
                                               (pair
5003
                                                 (pair
5004
                                                   (pair
5005
                                                     (pair
5006
                                                       (pair
5007
                                                         (pair (pair address nat) nat
5008
                                                               (or address
5009
                                                                   (pair nat address)))
5010
                                                         (or address (pair nat address)))
5011
                                                       (pair (pair nat nat)
5012
                                                             (big_map nat
5013
                                                                      (pair
5014
                                                                        (pair
5015
                                                                          (pair nat nat)
5016
                                                                          (pair int int))
5017
                                                                        timestamp))
5018
                                                             nat))
5019
                                                     int
5020
                                                     int)
5021
                                                   (pair (pair nat nat) (pair nat nat))
5022
                                                   (big_map (pair nat bool)
5023
                                                            (pair int nat))
5024
                                                   nat)
5025
                                                 (pair (pair (big_map string bytes) nat)
5026
                                                       (big_map
5027
                                                         (pair address address nat)
5028
                                                         unit)
5029
                                                       (big_map address (set nat)))
5030
                                                 (pair
5031
                                                   (big_map nat
5032
                                                            (pair
5033
                                                              (pair
5034
                                                                (pair (pair int int) nat)
5035
                                                                int
5036
                                                                address)
5037
                                                              int))
5038
                                                   nat)
5039
                                                 (big_map int
5040
                                                          (pair
5041
                                                            (pair
5042
                                                              (pair
5043
                                                                (pair (pair nat nat) int)
5044
                                                                nat
5045
                                                                int)
5046
                                                              (pair int nat)
5047
                                                              nat
5048
                                                              nat)
5049
                                                            int))
5050
                                                 (big_map nat
5051
                                                          (pair nat (map string bytes))))) }
5052
                                 { SWAP ;
5053
                                   DIG 2 ;
5054
                                   DIG 3 ;
5055
                                   DIG 4 ;
5056
                                   DROP 4 ;
5057
                                   DUP 3 ;
5058
                                   CDR ;
5059
                                   CDR ;
5060
                                   CDR ;
5061
                                   CDR ;
5062
                                   CAR ;
5063
                                   DUP 2 ;
5064
                                   GET ;
5065
                                   IF_NONE { PUSH nat 301 ; FAILWITH } {} ;
5066
                                   DUP ;
5067
                                   CAR ;
5068
                                   CDR ;
5069
                                   CDR ;
5070
                                   CDR ;
5071
                                   DUP 5 ;
5072
                                   CDR ;
5073
                                   CDR ;
5074
                                   CDR ;
5075
                                   CAR ;
5076
                                   CDR ;
5077
                                   DUP 2 ;
5078
                                   MUL ;
5079
                                   PUSH nat 80 ;
5080
                                   PUSH nat 305 ;
5081
                                   DUP 8 ;
5082
                                   CDR ;
5083
                                   CDR ;
5084
                                   CDR ;
5085
                                   CAR ;
5086
                                   CDR ;
5087
                                   DUP 5 ;
5088
                                   SUB ;
5089
                                   PAIR ;
5090
                                   DUP 13 ;
5091
                                   SWAP ;
5092
                                   EXEC ;
5093
                                   LSL ;
5094
                                   DUP 7 ;
5095
                                   CDR ;
5096
                                   CAR ;
5097
                                   CDR ;
5098
                                   CDR ;
5099
                                   CDR ;
5100
                                   MUL ;
5101
                                   PAIR ;
5102
                                   DUP 12 ;
5103
                                   SWAP ;
5104
                                   EXEC ;
5105
                                   PUSH nat 1208925819614629174706176 ;
5106
                                   PUSH nat 304 ;
5107
                                   DUP 8 ;
5108
                                   CDR ;
5109
                                   CDR ;
5110
                                   CDR ;
5111
                                   CAR ;
5112
                                   CDR ;
5113
                                   DUP 5 ;
5114
                                   SUB ;
5115
                                   PAIR ;
5116
                                   DUP 13 ;
5117
                                   SWAP ;
5118
                                   EXEC ;
5119
                                   DUP 8 ;
5120
                                   CDR ;
5121
                                   CAR ;
5122
                                   CDR ;
5123
                                   CDR ;
5124
                                   CDR ;
5125
                                   MUL ;
5126
                                   PAIR ;
5127
                                   DUP 14 ;
5128
                                   SWAP ;
5129
                                   EXEC ;
5130
                                   DUP 7 ;
5131
                                   CDR ;
5132
                                   CAR ;
5133
                                   CAR ;
5134
                                   CAR ;
5135
                                   CAR ;
5136
                                   CAR ;
5137
                                   CAR ;
5138
                                   CDR ;
5139
                                   PUSH nat 10000 ;
5140
                                   SUB ;
5141
                                   ABS ;
5142
                                   PUSH nat 10000 ;
5143
                                   DUP 3 ;
5144
                                   MUL ;
5145
                                   PAIR ;
5146
                                   DUP 15 ;
5147
                                   SWAP ;
5148
                                   EXEC ;
5149
                                   PUSH nat 300 ;
5150
                                   DIG 2 ;
5151
                                   DUP 3 ;
5152
                                   SUB ;
5153
                                   PAIR ;
5154
                                   DUP 13 ;
5155
                                   SWAP ;
5156
                                   EXEC ;
5157
                                   PUSH nat 0 ;
5158
                                   DUP 8 ;
5159
                                   COMPARE ;
5160
                                   GT ;
5161
                                   IF
5162
                                     { PUSH nat 10000 ; DIG 7 ; DUP 3 ; MUL ; PAIR ; DUP 15 ; SWAP ; EXEC }
5163
                                     { DIG 6 ; DROP ; PUSH nat 0 } ;
5164
                                   PUSH nat 300 ;
5165
                                   DUP 2 ;
5166
                                   DIG 3 ;
5167
                                   SUB ;
5168
                                   PAIR ;
5169
                                   DUP 13 ;
5170
                                   SWAP ;
5171
                                   EXEC ;
5172
                                   DUP 8 ;
5173
                                   CDR ;
5174
                                   CAR ;
5175
                                   CDR ;
5176
                                   CDR ;
5177
                                   CDR ;
5178
                                   PUSH nat 128 ;
5179
                                   DIG 2 ;
5180
                                   LSL ;
5181
                                   PAIR ;
5182
                                   DUP 14 ;
5183
                                   SWAP ;
5184
                                   EXEC ;
5185
                                   DUP 8 ;
5186
                                   CDR ;
5187
                                   CAR ;
5188
                                   CDR ;
5189
                                   CAR ;
5190
                                   CDR ;
5191
                                   CDR ;
5192
                                   ADD ;
5193
                                   DUP 8 ;
5194
                                   CDR ;
5195
                                   CAR ;
5196
                                   CDR ;
5197
                                   CAR ;
5198
                                   CDR ;
5199
                                   CAR ;
5200
                                   PAIR ;
5201
                                   DUP 8 ;
5202
                                   CDR ;
5203
                                   CAR ;
5204
                                   CAR ;
5205
                                   CAR ;
5206
                                   CDR ;
5207
                                   DUP ;
5208
                                   CDR ;
5209
                                   CAR ;
5210
                                   SWAP ;
5211
                                   CAR ;
5212
                                   CDR ;
5213
                                   GET ;
5214
                                   IF_NONE { PUSH nat 321 ; FAILWITH } {} ;
5215
                                   DUP 7 ;
5216
                                   CDR ;
5217
                                   DUP 2 ;
5218
                                   CAR ;
5219
                                   CDR ;
5220
                                   CDR ;
5221
                                   SUB ;
5222
                                   PUSH nat 306 ;
5223
                                   DUP 9 ;
5224
                                   CAR ;
5225
                                   CAR ;
5226
                                   CAR ;
5227
                                   CAR ;
5228
                                   CDR ;
5229
                                   DUP 5 ;
5230
                                   CDR ;
5231
                                   SUB ;
5232
                                   PAIR ;
5233
                                   DUP 16 ;
5234
                                   SWAP ;
5235
                                   EXEC ;
5236
                                   PUSH nat 306 ;
5237
                                   DUP 10 ;
5238
                                   CAR ;
5239
                                   CAR ;
5240
                                   CAR ;
5241
                                   CAR ;
5242
                                   CAR ;
5243
                                   DUP 6 ;
5244
                                   CAR ;
5245
                                   SUB ;
5246
                                   PAIR ;
5247
                                   DUP 17 ;
5248
                                   SWAP ;
5249
                                   EXEC ;
5250
                                   PAIR ;
5251
                                   PUSH nat 320 ;
5252
                                   DUP 10 ;
5253
                                   CAR ;
5254
                                   CDR ;
5255
                                   CAR ;
5256
                                   CDR ;
5257
                                   PUSH timestamp 0 ;
5258
                                   NOW ;
5259
                                   SUB ;
5260
                                   SUB ;
5261
                                   PAIR ;
5262
                                   DUP 17 ;
5263
                                   SWAP ;
5264
                                   EXEC ;
5265
                                   PUSH nat 324 ;
5266
                                   DUP 11 ;
5267
                                   CAR ;
5268
                                   CDR ;
5269
                                   CDR ;
5270
                                   CAR ;
5271
                                   DIG 5 ;
5272
                                   CAR ;
5273
                                   CAR ;
5274
                                   CDR ;
5275
                                   SUB ;
5276
                                   PAIR ;
5277
                                   DUP 17 ;
5278
                                   SWAP ;
5279
                                   EXEC ;
5280
                                   DUP 12 ;
5281
                                   CDR ;
5282
                                   DUP ;
5283
                                   CDR ;
5284
                                   CDR ;
5285
                                   CDR ;
5286
                                   DIG 10 ;
5287
                                   DUP 3 ;
5288
                                   CDR ;
5289
                                   CDR ;
5290
                                   CAR ;
5291
                                   CAR ;
5292
                                   PAIR ;
5293
                                   PAIR ;
5294
                                   DUP 2 ;
5295
                                   CDR ;
5296
                                   CAR ;
5297
                                   PAIR ;
5298
                                   SWAP ;
5299
                                   CAR ;
5300
                                   PAIR ;
5301
                                   DUP ;
5302
                                   CDR ;
5303
                                   DUP 2 ;
5304
                                   CAR ;
5305
                                   CDR ;
5306
                                   DUP 13 ;
5307
                                   DUP 4 ;
5308
                                   CAR ;
5309
                                   CAR ;
5310
                                   CDR ;
5311
                                   CAR ;
5312
                                   PAIR ;
5313
                                   DIG 3 ;
5314
                                   CAR ;
5315
                                   CAR ;
5316
                                   CAR ;
5317
                                   PAIR ;
5318
                                   PAIR ;
5319
                                   PAIR ;
5320
                                   DUP ;
5321
                                   CDR ;
5322
                                   DUP 2 ;
5323
                                   CAR ;
5324
                                   CDR ;
5325
                                   DUP 3 ;
5326
                                   CAR ;
5327
                                   CAR ;
5328
                                   CDR ;
5329
                                   CDR ;
5330
                                   DUP 14 ;
5331
                                   PAIR ;
5332
                                   DIG 3 ;
5333
                                   CAR ;
5334
                                   CAR ;
5335
                                   CAR ;
5336
                                   PAIR ;
5337
                                   PAIR ;
5338
                                   PAIR ;
5339
                                   DUP ;
5340
                                   CDR ;
5341
                                   CDR ;
5342
                                   CDR ;
5343
                                   CDR ;
5344
                                   DUP 13 ;
5345
                                   CDR ;
5346
                                   CDR ;
5347
                                   CDR ;
5348
                                   CDR ;
5349
                                   CAR ;
5350
                                   DIG 6 ;
5351
                                   DUP 12 ;
5352
                                   CAR ;
5353
                                   PAIR ;
5354
                                   DUP ;
5355
                                   CDR ;
5356
                                   DUP 2 ;
5357
                                   CAR ;
5358
                                   CDR ;
5359
                                   DUP 3 ;
5360
                                   CAR ;
5361
                                   CAR ;
5362
                                   CDR ;
5363
                                   DIG 3 ;
5364
                                   CAR ;
5365
                                   CAR ;
5366
                                   CAR ;
5367
                                   CDR ;
5368
                                   DIG 9 ;
5369
                                   PAIR ;
5370
                                   PAIR ;
5371
                                   PAIR ;
5372
                                   PAIR ;
5373
                                   DUP ;
5374
                                   CDR ;
5375
                                   DUP 2 ;
5376
                                   CAR ;
5377
                                   CDR ;
5378
                                   CDR ;
5379
                                   DIG 7 ;
5380
                                   DUP 4 ;
5381
                                   CAR ;
5382
                                   CDR ;
5383
                                   CAR ;
5384
                                   CAR ;
5385
                                   PAIR ;
5386
                                   PAIR ;
5387
                                   DIG 2 ;
5388
                                   CAR ;
5389
                                   CAR ;
5390
                                   PAIR ;
5391
                                   PAIR ;
5392
                                   DUP ;
5393
                                   CDR ;
5394
                                   DUP 2 ;
5395
                                   CAR ;
5396
                                   CDR ;
5397
                                   CDR ;
5398
                                   CDR ;
5399
                                   DIG 6 ;
5400
                                   PAIR ;
5401
                                   DUP 3 ;
5402
                                   CAR ;
5403
                                   CDR ;
5404
                                   CAR ;
5405
                                   PAIR ;
5406
                                   DIG 2 ;
5407
                                   CAR ;
5408
                                   CAR ;
5409
                                   PAIR ;
5410
                                   PAIR ;
5411
                                   SOME ;
5412
                                   DIG 9 ;
5413
                                   UPDATE ;
5414
                                   PAIR ;
5415
                                   DUP 2 ;
5416
                                   CDR ;
5417
                                   CDR ;
5418
                                   CAR ;
5419
                                   PAIR ;
5420
                                   DUP 2 ;
5421
                                   CDR ;
5422
                                   CAR ;
5423
                                   PAIR ;
5424
                                   SWAP ;
5425
                                   CAR ;
5426
                                   PAIR ;
5427
                                   DUP ;
5428
                                   CDR ;
5429
                                   DUP 2 ;
5430
                                   CAR ;
5431
                                   CDR ;
5432
                                   CDR ;
5433
                                   DIG 3 ;
5434
                                   DUP 4 ;
5435
                                   CAR ;
5436
                                   CDR ;
5437
                                   CAR ;
5438
                                   CAR ;
5439
                                   PAIR ;
5440
                                   PAIR ;
5441
                                   DIG 2 ;
5442
                                   CAR ;
5443
                                   CAR ;
5444
                                   PAIR ;
5445
                                   PAIR ;
5446
                                   DUP ;
5447
                                   CDR ;
5448
                                   PUSH nat 308 ;
5449
                                   DIG 6 ;
5450
                                   CAR ;
5451
                                   CAR ;
5452
                                   CAR ;
5453
                                   CDR ;
5454
                                   DUP 8 ;
5455
                                   CDR ;
5456
                                   CAR ;
5457
                                   CDR ;
5458
                                   CDR ;
5459
                                   CDR ;
5460
                                   ADD ;
5461
                                   PAIR ;
5462
                                   DUP 12 ;
5463
                                   SWAP ;
5464
                                   EXEC ;
5465
                                   DUP 3 ;
5466
                                   CAR ;
5467
                                   CDR ;
5468
                                   CDR ;
5469
                                   CAR ;
5470
                                   PAIR ;
5471
                                   DUP 3 ;
5472
                                   CAR ;
5473
                                   CDR ;
5474
                                   CAR ;
5475
                                   PAIR ;
5476
                                   DIG 2 ;
5477
                                   CAR ;
5478
                                   CAR ;
5479
                                   PAIR ;
5480
                                   PAIR ;
5481
                                   DUP ;
5482
                                   CDR ;
5483
                                   DUP 2 ;
5484
                                   CAR ;
5485
                                   CDR ;
5486
                                   CDR ;
5487
                                   DUP 3 ;
5488
                                   CAR ;
5489
                                   CDR ;
5490
                                   CAR ;
5491
                                   CDR ;
5492
                                   DIG 4 ;
5493
                                   DUP 8 ;
5494
                                   CDR ;
5495
                                   CAR ;
5496
                                   CDR ;
5497
                                   CAR ;
5498
                                   CAR ;
5499
                                   CDR ;
5500
                                   ADD ;
5501
                                   DUP 8 ;
5502
                                   CDR ;
5503
                                   CAR ;
5504
                                   CDR ;
5505
                                   CAR ;
5506
                                   CAR ;
5507
                                   CAR ;
5508
                                   PAIR ;
5509
                                   PAIR ;
5510
                                   PAIR ;
5511
                                   DIG 2 ;
5512
                                   CAR ;
5513
                                   CAR ;
5514
                                   PAIR ;
5515
                                   PAIR ;
5516
                                   DUP 4 ;
5517
                                   CAR ;
5518
                                   PAIR ;
5519
                                   DUP ;
5520
                                   CDR ;
5521
                                   PUSH nat 307 ;
5522
                                   DIG 3 ;
5523
                                   DUP 6 ;
5524
                                   CAR ;
5525
                                   CDR ;
5526
                                   SUB ;
5527
                                   PAIR ;
5528
                                   DUP 10 ;
5529
                                   SWAP ;
5530
                                   EXEC ;
5531
                                   DIG 2 ;
5532
                                   DROP ;
5533
                                   DIG 2 ;
5534
                                   DIG 3 ;
5535
                                   CAR ;
5536
                                   CAR ;
5537
                                   ADD ;
5538
                                   PAIR ;
5539
                                   PAIR ;
5540
                                   LEFT (pair (pair nat nat)
5541
                                              (pair
5542
                                                (pair
5543
                                                  (pair
5544
                                                    (pair
5545
                                                      (pair
5546
                                                        (pair (pair address nat) nat
5547
                                                              (or address
5548
                                                                  (pair nat address)))
5549
                                                        (or address (pair nat address)))
5550
                                                      (pair (pair nat nat)
5551
                                                            (big_map nat
5552
                                                                     (pair
5553
                                                                       (pair
5554
                                                                         (pair nat nat)
5555
                                                                         (pair int int))
5556
                                                                       timestamp))
5557
                                                            nat))
5558
                                                    int
5559
                                                    int)
5560
                                                  (pair (pair nat nat) (pair nat nat))
5561
                                                  (big_map (pair nat bool)
5562
                                                           (pair int nat))
5563
                                                  nat)
5564
                                                (pair (pair (big_map string bytes) nat)
5565
                                                      (big_map
5566
                                                        (pair address address nat)
5567
                                                        unit)
5568
                                                      (big_map address (set nat)))
5569
                                                (pair
5570
                                                  (big_map nat
5571
                                                           (pair
5572
                                                             (pair
5573
                                                               (pair (pair int int) nat)
5574
                                                               int
5575
                                                               address)
5576
                                                             int))
5577
                                                  nat)
5578
                                                (big_map int
5579
                                                         (pair
5580
                                                           (pair
5581
                                                             (pair
5582
                                                               (pair (pair nat nat) int)
5583
                                                               nat
5584
                                                               int)
5585
                                                             (pair int nat)
5586
                                                             nat
5587
                                                             nat)
5588
                                                           int))
5589
                                                (big_map nat
5590
                                                         (pair nat (map string bytes))))) } } } ;
5591
               DIG 3 ;
5592
               DIG 6 ;
5593
               DIG 7 ;
5594
               DROP 3 ;
5595
               PUSH nat 309 ;
5596
               DUP 2 ;
5597
               CAR ;
5598
               CDR ;
5599
               DUP 4 ;
5600
               CAR ;
5601
               SUB ;
5602
               PAIR ;
5603
               DIG 5 ;
5604
               SWAP ;
5605
               EXEC ;
5606
               DUP 2 ;
5607
               CAR ;
5608
               CAR ;
5609
               DUP 4 ;
5610
               GET 5 ;
5611
               DUP 2 ;
5612
               COMPARE ;
5613
               LT ;
5614
               IF
5615
                 { SWAP ; DIG 2 ; DIG 4 ; DIG 5 ; DROP 4 ; SWAP ; GET 5 ; PAIR ; PUSH nat 104 ; PAIR ; FAILWITH }
5616
                 { DUP 5 ;
5617
                   CAR ;
5618
                   CAR ;
5619
                   CAR ;
5620
                   CAR ;
5621
                   CDR ;
5622
                   DIG 2 ;
5623
                   SELF_ADDRESS ;
5624
                   SENDER ;
5625
                   PAIR 4 ;
5626
                   DUP 6 ;
5627
                   SWAP ;
5628
                   EXEC ;
5629
                   DIG 4 ;
5630
                   CAR ;
5631
                   CAR ;
5632
                   CAR ;
5633
                   CAR ;
5634
                   CAR ;
5635
                   CDR ;
5636
                   CDR ;
5637
                   DIG 2 ;
5638
                   DIG 4 ;
5639
                   GET 7 ;
5640
                   SELF_ADDRESS ;
5641
                   PAIR 4 ;
5642
                   DIG 3 ;
5643
                   SWAP ;
5644
                   EXEC ;
5645
                   DIG 2 ;
5646
                   CDR ;
5647
                   NIL operation ;
5648
                   DIG 2 ;
5649
                   CONS ;
5650
                   DIG 2 ;
5651
                   CONS ;
5652
                   PAIR } } } }