mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-06-16 05:55:20 +00:00
494 lines
18 KiB
Plaintext
494 lines
18 KiB
Plaintext
// automatically generated from `smartcont/stdlib.fc` `smartcont/config-code.fc`
|
|
PROGRAM{
|
|
DECLPROC set_conf_param
|
|
DECLPROC load_data
|
|
DECLPROC store_data
|
|
DECLPROC check_validator_set
|
|
DECLPROC send_answer
|
|
DECLPROC send_confirmation
|
|
DECLPROC send_error
|
|
DECLPROC recv_internal
|
|
DECLPROC change_elector_code
|
|
1666 DECLMETHOD after_code_upgrade
|
|
DECLPROC perform_action
|
|
DECLPROC get_validator_descr
|
|
DECLPROC unpack_validator_descr
|
|
DECLPROC create_new_entry
|
|
DECLPROC unpack_suggestion
|
|
DECLPROC pack_suggestion
|
|
DECLPROC register_vote
|
|
DECLPROC recv_external
|
|
DECLPROC run_ticktock
|
|
set_conf_param PROC:<{
|
|
// index value
|
|
c4 PUSH // index value _3
|
|
CTOS // index value cs
|
|
LDREF // index value cfg_dict cs
|
|
s3 s3 XCHG2
|
|
32 PUSHINT // cs value index cfg_dict _9=32
|
|
DICTISETREF // cs cfg_dict
|
|
NEWC // cs cfg_dict _11
|
|
STREF // cs _12
|
|
SWAP // _12 cs
|
|
STSLICER // _13
|
|
ENDC // _14
|
|
c4 POP
|
|
}>
|
|
load_data PROC:<{
|
|
//
|
|
c4 PUSH // _1
|
|
CTOS // cs
|
|
LDREF // _6 cs
|
|
32 LDU // _6 _8 cs
|
|
256 LDU // cfg_dict stored_seqno public_key cs
|
|
DUP // cfg_dict stored_seqno public_key cs cs
|
|
SEMPTY // cfg_dict stored_seqno public_key cs _15
|
|
IF:<{ // cfg_dict stored_seqno public_key cs
|
|
NEWDICT // cfg_dict stored_seqno public_key cs _16
|
|
}>ELSE<{ // cfg_dict stored_seqno public_key cs
|
|
LDDICT // cfg_dict stored_seqno public_key _16 cs
|
|
SWAP // cfg_dict stored_seqno public_key cs _16
|
|
}> // cfg_dict stored_seqno public_key cs vote_dict
|
|
SWAP // cfg_dict stored_seqno public_key vote_dict cs
|
|
ENDS
|
|
}>
|
|
store_data PROC:<{
|
|
// cfg_dict stored_seqno public_key vote_dict
|
|
NEWC // cfg_dict stored_seqno public_key vote_dict _4
|
|
s1 s4 XCHG // vote_dict stored_seqno public_key cfg_dict _4
|
|
STREF // vote_dict stored_seqno public_key _5
|
|
s1 s2 XCHG // vote_dict public_key stored_seqno _5
|
|
32 STU // vote_dict public_key _7
|
|
256 STU // vote_dict _9
|
|
STDICT // _10
|
|
ENDC // _11
|
|
c4 POP
|
|
}>
|
|
check_validator_set PROC:<{
|
|
// vset
|
|
CTOS // cs
|
|
8 LDU // _4 cs
|
|
SWAP // cs _4
|
|
-17 ADDCONST // cs _8
|
|
-2 PUSHINT // cs _8 _9=-2
|
|
AND // cs _10
|
|
9 THROWIF
|
|
32 LDU // utime_since cs
|
|
32 LDU // utime_since utime_until cs
|
|
16 LDU // utime_since utime_until total cs
|
|
16 LDU // utime_since utime_until total _44 _43
|
|
DROP // utime_since utime_until total main
|
|
DUP // utime_since utime_until total main main
|
|
0 GTINT // utime_since utime_until total main _30
|
|
9 THROWIFNOT
|
|
GEQ // utime_since utime_until _33
|
|
9 THROWIFNOT
|
|
}>
|
|
send_answer PROC:<{
|
|
// addr query_id ans_tag mode
|
|
0 PUSHINT // addr query_id ans_tag mode _4=0
|
|
24 PUSHINT // addr query_id ans_tag mode _4=0 _5=24
|
|
NEWC // addr query_id ans_tag mode _4=0 _5=24 _6
|
|
6 STU // addr query_id ans_tag mode _4=0 _8
|
|
s0 s5 XCHG2 // _4=0 query_id ans_tag mode _8 addr
|
|
STSLICER // _4=0 query_id ans_tag mode _9
|
|
s1 s4 XCHG // mode query_id ans_tag _4=0 _9
|
|
111 STU // mode query_id ans_tag _23
|
|
32 STU // mode query_id _25
|
|
64 STU // mode _27
|
|
ENDC // mode _28
|
|
SWAP // _28 mode
|
|
SENDRAWMSG
|
|
}>
|
|
send_confirmation PROC:<{
|
|
// addr query_id ans_tag
|
|
64 PUSHINT // addr query_id ans_tag _3=64
|
|
send_answer CALLDICT
|
|
}>
|
|
send_error PROC:<{
|
|
// addr query_id ans_tag
|
|
64 PUSHINT // addr query_id ans_tag _3=64
|
|
send_answer CALLDICT
|
|
}>
|
|
recv_internal PROC:<{
|
|
// in_msg_cell in_msg
|
|
SWAP // in_msg in_msg_cell
|
|
CTOS // in_msg cs
|
|
4 LDU // in_msg flags cs
|
|
LDMSGADDR // in_msg flags _74 _73
|
|
DROP // in_msg flags s_addr
|
|
DUP // in_msg flags s_addr s_addr
|
|
REWRITESTDADDR // in_msg flags s_addr src_wc src_addr
|
|
SWAP // in_msg flags s_addr src_addr src_wc
|
|
INC // in_msg flags s_addr src_addr _15
|
|
s0 s3 XCHG
|
|
1 PUSHINT // in_msg _15 s_addr src_addr flags _16=1
|
|
AND // in_msg _15 s_addr src_addr _17
|
|
s1 s3 XCHG // in_msg src_addr s_addr _15 _17
|
|
OR // in_msg src_addr s_addr _18
|
|
s3 PUSH // in_msg src_addr s_addr _18 in_msg
|
|
SEMPTY // in_msg src_addr s_addr _18 _19
|
|
OR // in_msg src_addr s_addr _20
|
|
IFJMP:<{ // in_msg src_addr s_addr
|
|
3 BLKDROP //
|
|
}> // in_msg src_addr s_addr
|
|
s0 s2 XCHG // s_addr src_addr in_msg
|
|
32 LDU // s_addr src_addr tag in_msg
|
|
64 LDU // s_addr src_addr tag query_id in_msg
|
|
s2 PUSH
|
|
1314280276 PUSHINT // s_addr src_addr tag query_id in_msg tag _29=1314280276
|
|
EQUAL // s_addr src_addr tag query_id in_msg _30
|
|
IFJMP:<{ // s_addr src_addr tag query_id in_msg
|
|
s2 POP // s_addr src_addr in_msg query_id
|
|
SWAP // s_addr src_addr query_id in_msg
|
|
LDREF // s_addr src_addr query_id vset in_msg
|
|
ENDS
|
|
1 PUSHINT // s_addr src_addr query_id vset _36=1
|
|
CONFIGOPTPARAM // s_addr src_addr query_id vset elector_param
|
|
DUP // s_addr src_addr query_id vset elector_param elector_param
|
|
ISNULL // s_addr src_addr query_id vset elector_param _39
|
|
IF:<{ // s_addr src_addr query_id vset elector_param
|
|
DROP // s_addr src_addr query_id vset
|
|
-1 PUSHINT // s_addr src_addr query_id vset _40=-1
|
|
}>ELSE<{ // s_addr src_addr query_id vset elector_param
|
|
CTOS // s_addr src_addr query_id vset _42
|
|
256 PLDU // s_addr src_addr query_id vset _40
|
|
}> // s_addr src_addr query_id vset elector_addr
|
|
s0 s3 XCHG
|
|
FALSE
|
|
s0 s4 XCHG // s_addr ok query_id vset src_addr elector_addr
|
|
EQUAL // s_addr ok query_id vset _47
|
|
IF:<{ // s_addr ok query_id vset
|
|
s2 POP // s_addr vset query_id
|
|
OVER // s_addr vset query_id vset
|
|
check_validator_set CALLDICT // s_addr vset query_id t_since t_until
|
|
OVER
|
|
NOW // s_addr vset query_id t_since t_until t_since t
|
|
GREATER // s_addr vset query_id t_since t_until _53
|
|
s0 s2 XCHG // s_addr vset query_id _53 t_until t_since
|
|
GREATER // s_addr vset query_id _53 _54
|
|
AND // s_addr vset query_id ok
|
|
}>ELSE<{
|
|
s0 s2 XCHG // s_addr vset query_id ok
|
|
}>
|
|
IFJMP:<{ // s_addr vset query_id
|
|
36 PUSHINT // s_addr vset query_id _56=36
|
|
ROT // s_addr query_id _56=36 vset
|
|
set_conf_param CALLDICT
|
|
4000730955 PUSHINT // s_addr query_id _58=4000730955
|
|
send_confirmation CALLDICT
|
|
}> // s_addr vset query_id
|
|
NIP // s_addr query_id
|
|
4000730991 PUSHINT // s_addr query_id _60=4000730991
|
|
send_error CALLDICT
|
|
}> // s_addr src_addr tag query_id in_msg
|
|
s2 s4 XCHG
|
|
4 BLKDROP // tag
|
|
DUP // tag tag
|
|
0 EQINT // tag _64
|
|
SWAP
|
|
31 PUSHPOW2 // _64 tag _67
|
|
AND // _64 _68
|
|
OR // _69
|
|
37 THROWIFNOT
|
|
}>
|
|
change_elector_code PROC:<{
|
|
// cs
|
|
1 PUSHINT // cs _2=1
|
|
CONFIGOPTPARAM // cs _3
|
|
CTOS // cs _4
|
|
256 PLDU // cs dest_addr
|
|
NOW // cs dest_addr query_id
|
|
1313042276 PUSHINT // cs dest_addr query_id _9=1313042276
|
|
0 PUSHINT // cs dest_addr query_id _9=1313042276 _10=0
|
|
50431 PUSHINT // cs dest_addr query_id _9=1313042276 _10=0 _11=50431
|
|
NEWC // cs dest_addr query_id _9=1313042276 _10=0 _11=50431 _12
|
|
17 STU // cs dest_addr query_id _9=1313042276 _10=0 _14
|
|
s1 s4 XCHG // cs _10=0 query_id _9=1313042276 dest_addr _14
|
|
256 STU // cs _10=0 query_id _9=1313042276 _16
|
|
30 PUSHPOW2 // cs _10=0 query_id _9=1313042276 _16 _19
|
|
STGRAMS // cs _10=0 query_id _9=1313042276 _20
|
|
s1 s3 XCHG // cs _9=1313042276 query_id _10=0 _20
|
|
107 STU // cs _9=1313042276 query_id _34
|
|
s1 s2 XCHG // cs query_id _9=1313042276 _34
|
|
32 STU // cs query_id _36
|
|
64 STU // cs _38
|
|
SWAP // _38 cs
|
|
STSLICER // _39
|
|
ENDC // _40
|
|
0 PUSHINT // _40 _41=0
|
|
SENDRAWMSG
|
|
}>
|
|
after_code_upgrade PROC:<{
|
|
// param old_code
|
|
2DROP //
|
|
}>
|
|
perform_action PROC:<{
|
|
// cfg_dict public_key action cs
|
|
OVER
|
|
1130778657 PUSHINT // cfg_dict public_key action cs action _4=1130778657
|
|
EQUAL // cfg_dict public_key action cs _5
|
|
IFJMP:<{ // cfg_dict public_key action cs
|
|
NIP // cfg_dict public_key cs
|
|
32 LDU // cfg_dict public_key param_index cs
|
|
LDREF // cfg_dict public_key param_index param_value cs
|
|
ENDS
|
|
s0 s1 s3 XCHG3
|
|
32 PUSHINT // public_key param_value param_index cfg_dict _15=32
|
|
DICTISETREF // public_key cfg_dict
|
|
SWAP // cfg_dict public_key
|
|
}> // cfg_dict public_key action cs
|
|
OVER
|
|
1313042276 PUSHINT // cfg_dict public_key action cs action _17=1313042276
|
|
EQUAL // cfg_dict public_key action cs _18
|
|
IFJMP:<{ // cfg_dict public_key action cs
|
|
NIP // cfg_dict public_key cs
|
|
LDREF // cfg_dict public_key new_code cs
|
|
OVER // cfg_dict public_key new_code cs new_code
|
|
SETCODE
|
|
c3 PUSH // cfg_dict public_key new_code cs old_code
|
|
s0 s2 XCHG // cfg_dict public_key old_code cs new_code
|
|
c3 POP
|
|
SWAP // cfg_dict public_key cs old_code
|
|
after_code_upgrade CALLDICT
|
|
0 THROW
|
|
}> // cfg_dict public_key action cs
|
|
OVER
|
|
1348619041 PUSHINT // cfg_dict public_key action cs action _29=1348619041
|
|
EQUAL // cfg_dict public_key action cs _30
|
|
IFJMP:<{ // cfg_dict public_key action cs
|
|
NIP
|
|
NIP // cfg_dict cs
|
|
256 LDU // cfg_dict public_key cs
|
|
ENDS
|
|
}> // cfg_dict public_key action cs
|
|
OVER
|
|
1313074949 PUSHINT // cfg_dict public_key action cs action _35=1313074949
|
|
EQUAL // cfg_dict public_key action cs _36
|
|
IFJMP:<{ // cfg_dict public_key action cs
|
|
NIP // cfg_dict public_key cs
|
|
change_elector_code CALLDICT
|
|
}> // cfg_dict public_key action cs
|
|
DROP // cfg_dict public_key action
|
|
32 THROWIF
|
|
}>
|
|
get_validator_descr PROCREF:<{
|
|
// idx
|
|
34 PUSHINT // idx _2=34
|
|
CONFIGOPTPARAM // idx vset
|
|
DUP // idx vset vset
|
|
ISNULL // idx vset _4
|
|
IFJMP:<{ // idx vset
|
|
2DROP //
|
|
PUSHNULL // _5
|
|
}> // idx vset
|
|
CTOS // idx cs
|
|
104 PUSHINT // idx cs _17
|
|
SDSKIPFIRST // idx cs
|
|
NEWC // idx cs _20
|
|
SWAP // idx _20 cs
|
|
STSLICER // idx _21
|
|
ENDC // idx dict
|
|
16 PUSHINT // idx dict _25=16
|
|
DICTUGET
|
|
NULLSWAPIFNOT // _27 _28
|
|
DROP // value
|
|
}>
|
|
unpack_validator_descr PROC:<{
|
|
// cs
|
|
8 LDU // _2 cs
|
|
32 PUSHINT // _2 cs _5=32
|
|
NOT // _2 cs _6
|
|
s1 s2 XCHG // cs _2 _6
|
|
AND // cs _7
|
|
83 EQINT // cs _9
|
|
41 THROWIFNOT
|
|
32 LDU // _12 cs
|
|
SWAP
|
|
2390828938 PUSHINT // cs _12 _15=2390828938
|
|
EQUAL // cs _16
|
|
41 THROWIFNOT
|
|
256 LDU // _18 cs
|
|
64 LDU // _18 _31 _30
|
|
DROP // _18 _21
|
|
}>
|
|
create_new_entry PROC:<{
|
|
// cs
|
|
0 PUSHINT // cs _1=0
|
|
DUP // cs _1=0 _2=0
|
|
FALSE // cs _1=0 _2=0 _3
|
|
NEWC // cs _1=0 _2=0 _3 _4
|
|
1 STI // cs _1=0 _2=0 _6
|
|
64 STU // cs _1=0 _8
|
|
256 STU // cs _10
|
|
SWAP // _10 cs
|
|
STSLICER // _11
|
|
ENDC // _12
|
|
CTOS // _13
|
|
}>
|
|
unpack_suggestion PROC:<{
|
|
// cs
|
|
LDDICT // _1 cs
|
|
64 LDU // _1 _3 cs
|
|
256 LDU // _1 _3 _6 cs
|
|
}>
|
|
pack_suggestion PROC:<{
|
|
// voters sum_weight vset_id body
|
|
NEWC // voters sum_weight vset_id body _4
|
|
s1 s4 XCHG // body sum_weight vset_id voters _4
|
|
STDICT // body sum_weight vset_id _5
|
|
s1 s2 XCHG // body vset_id sum_weight _5
|
|
64 STU // body vset_id _7
|
|
256 STU // body _9
|
|
SWAP // _9 body
|
|
STSLICER // _10
|
|
}>
|
|
register_vote PROC:<{
|
|
// vote_dict action cs idx weight
|
|
2DROP // vote_dict action cs
|
|
SWAP
|
|
1 PUSHINT // vote_dict cs action _9=1
|
|
AND // vote_dict cs _10
|
|
IF:<{ // vote_dict cs
|
|
DUP // vote_dict cs cs
|
|
HASHSU // vote_dict cs _11
|
|
NIP // vote_dict hash
|
|
OVER
|
|
8 PUSHPOW2 // vote_dict hash vote_dict _13=256
|
|
DICTUGET
|
|
NULLSWAPIFNOT // vote_dict _23 _24
|
|
NIP // vote_dict found?
|
|
IFNOT:<{ // vote_dict
|
|
}> // vote_dict
|
|
}>ELSE<{ // vote_dict cs
|
|
256 PLDU // vote_dict hash
|
|
OVER
|
|
8 PUSHPOW2 // vote_dict hash vote_dict _19=256
|
|
DICTUGET
|
|
NULLSWAPIFNOT // vote_dict _25 _26
|
|
NIP // vote_dict found?
|
|
42 THROWIFNOT
|
|
}>
|
|
}>
|
|
recv_external PROC:<{
|
|
// in_msg
|
|
9 PUSHPOW2 // in_msg _3=512
|
|
LDSLICEX // signature in_msg
|
|
DUP // signature in_msg cs
|
|
32 LDU // signature in_msg action cs
|
|
32 LDU // signature in_msg action msg_seqno cs
|
|
32 LDU // signature in_msg action msg_seqno valid_until cs
|
|
NOW // signature in_msg action msg_seqno valid_until cs _19
|
|
s1 s2 XCHG // signature in_msg action msg_seqno cs valid_until _19
|
|
LESS // signature in_msg action msg_seqno cs _20
|
|
35 THROWIF
|
|
load_data INLINECALLDICT // signature in_msg action msg_seqno cs cfg_dict stored_seqno public_key vote_dict
|
|
s5 s2 XCPU // signature in_msg action vote_dict cs cfg_dict stored_seqno public_key msg_seqno stored_seqno
|
|
EQUAL // signature in_msg action vote_dict cs cfg_dict stored_seqno public_key _28
|
|
33 THROWIFNOT
|
|
s5 PUSH
|
|
1450144869 PUSHINT // signature in_msg action vote_dict cs cfg_dict stored_seqno public_key action _30=1450144869
|
|
SUB // signature in_msg action vote_dict cs cfg_dict stored_seqno public_key _31
|
|
-2 PUSHINT // signature in_msg action vote_dict cs cfg_dict stored_seqno public_key _31 _32=-2
|
|
AND // signature in_msg action vote_dict cs cfg_dict stored_seqno public_key _33
|
|
IFNOTJMP:<{ // signature in_msg action vote_dict cs cfg_dict stored_seqno public_key
|
|
s0 s3 XCHG // signature in_msg action vote_dict public_key cfg_dict stored_seqno cs
|
|
16 LDU // signature in_msg action vote_dict public_key cfg_dict stored_seqno idx cs
|
|
OVER // signature in_msg action vote_dict public_key cfg_dict stored_seqno idx cs idx
|
|
get_validator_descr INLINECALLDICT // signature in_msg action vote_dict public_key cfg_dict stored_seqno idx cs vdescr
|
|
unpack_validator_descr INLINECALLDICT // signature in_msg action vote_dict public_key cfg_dict stored_seqno idx cs val_pubkey weight
|
|
s0 s9 XCHG // signature weight action vote_dict public_key cfg_dict stored_seqno idx cs val_pubkey in_msg
|
|
HASHSU // signature weight action vote_dict public_key cfg_dict stored_seqno idx cs val_pubkey _44
|
|
s0 s10 s10 XCHG3 // cs weight action vote_dict public_key cfg_dict stored_seqno idx _44 signature val_pubkey
|
|
CHKSIGNU // cs weight action vote_dict public_key cfg_dict stored_seqno idx _45
|
|
34 THROWIFNOT
|
|
ACCEPT
|
|
SWAP // cs weight action vote_dict public_key cfg_dict idx stored_seqno
|
|
INC // cs weight action vote_dict public_key cfg_dict idx stored_seqno
|
|
s2 s0 s3 PUSH3
|
|
s7 PUSH // cs weight action vote_dict public_key cfg_dict idx stored_seqno cfg_dict stored_seqno public_key vote_dict
|
|
store_data INLINECALLDICT
|
|
COMMIT
|
|
s3 s5 XCHG
|
|
s7 s1 s6 XCHG3 // cfg_dict stored_seqno public_key vote_dict action cs idx weight
|
|
register_vote CALLDICT // cfg_dict stored_seqno public_key vote_dict
|
|
store_data INLINECALLDICT
|
|
}> // signature in_msg action vote_dict cs cfg_dict stored_seqno public_key
|
|
s0 s6 XCHG // signature public_key action vote_dict cs cfg_dict stored_seqno in_msg
|
|
HASHSU // signature public_key action vote_dict cs cfg_dict stored_seqno _55
|
|
s0 s7 s6 XC2PU // stored_seqno public_key action vote_dict cs cfg_dict _55 signature public_key
|
|
CHKSIGNU // stored_seqno public_key action vote_dict cs cfg_dict _56
|
|
34 THROWIFNOT
|
|
ACCEPT
|
|
s0 s5 XCHG // cfg_dict public_key action vote_dict cs stored_seqno
|
|
INC // cfg_dict public_key action vote_dict cs stored_seqno
|
|
s5 s0 s4 PUSH3
|
|
s5 PUSH // cfg_dict public_key action vote_dict cs stored_seqno cfg_dict stored_seqno public_key vote_dict
|
|
store_data INLINECALLDICT
|
|
COMMIT
|
|
s3 s5 XCHG
|
|
s4 s5 s5 XCHG3 // stored_seqno vote_dict cfg_dict public_key action cs
|
|
perform_action CALLDICT // stored_seqno vote_dict cfg_dict public_key
|
|
s3 s0 s3 XCHG3 // cfg_dict stored_seqno public_key vote_dict
|
|
store_data INLINECALLDICT
|
|
}>
|
|
run_ticktock PROC:<{
|
|
// is_tock
|
|
DROP //
|
|
c4 PUSH // _2
|
|
CTOS // cs
|
|
LDREF // cfg_dict cs
|
|
32 PUSHINT // cfg_dict cs kl=32
|
|
36 PUSHINT // cfg_dict cs kl=32 _10=36
|
|
s3 s1 PUSH2 // cfg_dict cs kl=32 _10=36 cfg_dict kl=32
|
|
DICTIGETOPTREF // cfg_dict cs kl=32 next_vset
|
|
DUP // cfg_dict cs kl=32 next_vset next_vset
|
|
ISNULL // cfg_dict cs kl=32 next_vset _12
|
|
IFNOT:<{ // cfg_dict cs kl=32 next_vset
|
|
DUP // cfg_dict cs kl=32 next_vset next_vset
|
|
CTOS // cfg_dict cs kl=32 next_vset ds
|
|
DUP // cfg_dict cs kl=32 next_vset ds ds
|
|
SBITS // cfg_dict cs kl=32 next_vset ds _15
|
|
39 GTINT // cfg_dict cs kl=32 next_vset ds _17
|
|
IF:<{ // cfg_dict cs kl=32 next_vset ds
|
|
8 LDU // cfg_dict cs kl=32 next_vset tag ds
|
|
32 PLDU // cfg_dict cs kl=32 next_vset tag since
|
|
SWAP // cfg_dict cs kl=32 next_vset since tag
|
|
17 EQINT // cfg_dict cs kl=32 next_vset since _26
|
|
NOW // cfg_dict cs kl=32 next_vset since _26 _27
|
|
s1 s2 XCHG // cfg_dict cs kl=32 next_vset _26 since _27
|
|
GEQ // cfg_dict cs kl=32 next_vset _26 _28
|
|
AND // cfg_dict cs kl=32 next_vset _29
|
|
IF:<{ // cfg_dict cs kl=32 next_vset
|
|
SWAP
|
|
34 PUSHINT
|
|
s0 s4 s4 XC2PU // kl=32 cs next_vset _32=34 cfg_dict kl=32
|
|
DICTISETGETOPTREF // kl=32 cs cfg_dict cur_vset
|
|
s3 s1 s0 PUXCPU // kl=32 cs cur_vset _35=32 cfg_dict kl=32
|
|
DICTISETGETOPTREF // kl=32 cs _51 _52
|
|
DROP // kl=32 cs cfg_dict
|
|
36 PUSHINT // kl=32 cs cfg_dict _38=36
|
|
s0 s1 s3 XCHG3 // cs _38=36 cfg_dict kl=32
|
|
DICTIDEL // cs _53 _54
|
|
DROP // cs cfg_dict
|
|
}>ELSE<{
|
|
s2 s3 XCHG
|
|
2DROP // cs cfg_dict
|
|
}>
|
|
}>ELSE<{
|
|
s3 s4 XCHG
|
|
3 BLKDROP // cs cfg_dict
|
|
}>
|
|
}>ELSE<{
|
|
s2 s3 XCHG
|
|
2DROP // cs cfg_dict
|
|
}>
|
|
NEWC // cs cfg_dict _40
|
|
STREF // cs _41
|
|
SWAP // _41 cs
|
|
STSLICER // _42
|
|
ENDC // _43
|
|
c4 POP
|
|
}>
|
|
}END>c
|