# SurpriseChest_Model_SurpriseChestManager_768.luac
; fn @SurpriseChestManager.lua  line 0-0 np=0 va=1 ms=4 code=209 consts=74 upvals=1 protos=66
;   K[0]='SurpriseChestManager'
;   K[1]='__index'
;   K[2]='Init'
;   K[3]='Destroy'
;   K[4]='OnSyncDataFinished'
;   K[5]='LateInit'
;   K[6]='LoadServerConfig'
;   K[7]='LoadChestConfig'
;   K[8]='_TryLockConfig'
;   K[9]='HasCurrentConfig'
;   K[10]='GetCurrentConfig'
;   K[11]='HasCachedConfig'
;   K[12]='GetCachedConfig'
;   K[13]='_CheckConfig'
;   K[14]='ActivityModelConfig'
;   K[15]=1
;   K[16]='CurrentConfig'
;   K[17]=2
;   K[18]='CachedConfig'
;   K[19]=3
;   K[20]='_GetLogConfigType'
;   K[21]='GetBestConfig'
;   K[22]='_GetValidSurpriseChestData'
;   K[23]='_GetConfigMD5'
;   K[24]='_SetConfigMD5'
;   K[25]='_LoadCachedConfig'
;   K[26]='_SaveCachedConfig'
;   K[27]='_LoadPropertyCount'
;   K[28]='_SavePropertyCount'
;   K[29]='_ClearPropertyCount'
;   K[30]='_LoadOpeningSurpriseChestData'
;   K[31]='_SaveOpeningSurpriseChestData'
;   K[32]='GetTriggerEndTime'
;   K[33]='_SetTriggerEndTime'
;   K[34]='_RemoveTriggerEndTime'
;   K[35]='_GetFirstPropertyCount'
;   K[36]='_GetLastPropertyCount'
;   K[37]='_PushPropertyCount'
;   K[38]='_PeekPropertyCount'
;   K[39]='_PopPropertyCount'
;   K[40]='_HasSurpriseChestData'
;   K[41]='GetSurpriseChestData'
;   K[42]='GetAllSurpriseChestData'
;   K[43]='_AddSurpriseChestData'
;   K[44]='_RemoveSurpriseChestData'
;   K[45]='_ClearSurpriseChestData'
;   K[46]='HasTriggerEndTime'
;   K[47]='GetActivityModel'
;   K[48]='IsSurpriseChestProperty'
;   K[49]='GetPropertyTriggerTime'
;   K[50]='CheckSurpriseChestValid'
;   K[51]='GetSurpriseChestPropertyToTrigger'
;   K[52]='AcquireSurpriseChestProperty'
;   K[53]='ConsumeSurpriseChestProperty'
;   K[54]='CanTriggerSurpriseChest'
;   K[55]='CanTriggerSurpriseChestByProperty'
;   K[56]='TriggerSurpriseChest'
;   K[57]='TriggerSurpriseChestByProperty'
;   K[58]='GetTriggerData'
;   K[59]='GetLeftDuration'
;   K[60]='IsInTriggerTime'
;   K[61]='UpdatePerSecond'
;   K[62]='UpdateSurpriseChestDataInTriggerTime'
;   K[63]='_UpdateSurpriseChestData'
;   K[64]='GetAcquiredRewardsByOrderId'
;   K[65]='CanAcquireChestRewards'
;   K[66]='TryAcquireChestRewards'
;   K[67]='_OnOrderFinished'
;   K[68]='_OnOrderStateChanged'
;   K[69]='GetType'
;   K[70]='GetOrderCellTopLeftEntryShowConfig'
;   K[71]='GetCountDownText'
;   K[72]='TestGetPropertyCountInfo'
;   K[73]='_LogTriggerSurpriseChest'
;   upvals: _ENV
;   locals: BestConfigType(45-209), mapLogConfigType(46-209)
0000  NEWTABLE  R0 = {} (0 items)
0001  SETTABUP  _ENV[K0('SurpriseChestManager')] = R0
0002  GETTABUP  R0 = _ENV[K0('SurpriseChestManager')]
0003  GETTABUP  R1 = _ENV[K0('SurpriseChestManager')]
0004  SETTABLE  R0[K1('__index')] = R1
0005  GETTABUP  R0 = _ENV[K0('SurpriseChestManager')]
0006  CLOSURE   R1 = closure proto0
0007  SETTABLE  R0[K2('Init')] = R1
0008  GETTABUP  R0 = _ENV[K0('SurpriseChestManager')]
0009  CLOSURE   R1 = closure proto1
0010  SETTABLE  R0[K3('Destroy')] = R1
0011  GETTABUP  R0 = _ENV[K0('SurpriseChestManager')]
0012  CLOSURE   R1 = closure proto2
0013  SETTABLE  R0[K4('OnSyncDataFinished')] = R1
0014  GETTABUP  R0 = _ENV[K0('SurpriseChestManager')]
0015  CLOSURE   R1 = closure proto3
0016  SETTABLE  R0[K5('LateInit')] = R1
0017  GETTABUP  R0 = _ENV[K0('SurpriseChestManager')]
0018  CLOSURE   R1 = closure proto4
0019  SETTABLE  R0[K6('LoadServerConfig')] = R1
0020  GETTABUP  R0 = _ENV[K0('SurpriseChestManager')]
0021  CLOSURE   R1 = closure proto5
0022  SETTABLE  R0[K7('LoadChestConfig')] = R1
0023  GETTABUP  R0 = _ENV[K0('SurpriseChestManager')]
0024  CLOSURE   R1 = closure proto6
0025  SETTABLE  R0[K8('_TryLockConfig')] = R1
0026  GETTABUP  R0 = _ENV[K0('SurpriseChestManager')]
0027  CLOSURE   R1 = closure proto7
0028  SETTABLE  R0[K9('HasCurrentConfig')] = R1
0029  GETTABUP  R0 = _ENV[K0('SurpriseChestManager')]
0030  CLOSURE   R1 = closure proto8
0031  SETTABLE  R0[K10('GetCurrentConfig')] = R1
0032  GETTABUP  R0 = _ENV[K0('SurpriseChestManager')]
0033  CLOSURE   R1 = closure proto9
0034  SETTABLE  R0[K11('HasCachedConfig')] = R1
0035  GETTABUP  R0 = _ENV[K0('SurpriseChestManager')]
0036  CLOSURE   R1 = closure proto10
0037  SETTABLE  R0[K12('GetCachedConfig')] = R1
0038  GETTABUP  R0 = _ENV[K0('SurpriseChestManager')]
0039  CLOSURE   R1 = closure proto11
0040  SETTABLE  R0[K13('_CheckConfig')] = R1
0041  NEWTABLE  R0 = {} (0 items)
0042  SETTABLE  R0[K14('ActivityModelConfig')] = K15(1)
0043  SETTABLE  R0[K16('CurrentConfig')] = K17(2)
0044  SETTABLE  R0[K18('CachedConfig')] = K19(3)
0045  LOADNIL   R1..R1 = nil
0046  GETTABUP  R2 = _ENV[K0('SurpriseChestManager')]
0047  CLOSURE   R3 = closure proto12
0048  SETTABLE  R2[K20('_GetLogConfigType')] = R3
0049  GETTABUP  R2 = _ENV[K0('SurpriseChestManager')]
0050  CLOSURE   R3 = closure proto13
0051  SETTABLE  R2[K21('GetBestConfig')] = R3
0052  GETTABUP  R2 = _ENV[K0('SurpriseChestManager')]
0053  CLOSURE   R3 = closure proto14
0054  SETTABLE  R2[K22('_GetValidSurpriseChestData')] = R3
0055  GETTABUP  R2 = _ENV[K0('SurpriseChestManager')]
0056  CLOSURE   R3 = closure proto15
0057  SETTABLE  R2[K23('_GetConfigMD5')] = R3
0058  GETTABUP  R2 = _ENV[K0('SurpriseChestManager')]
0059  CLOSURE   R3 = closure proto16
0060  SETTABLE  R2[K24('_SetConfigMD5')] = R3
0061  GETTABUP  R2 = _ENV[K0('SurpriseChestManager')]
0062  CLOSURE   R3 = closure proto17
0063  SETTABLE  R2[K25('_LoadCachedConfig')] = R3
0064  GETTABUP  R2 = _ENV[K0('SurpriseChestManager')]
0065  CLOSURE   R3 = closure proto18
0066  SETTABLE  R2[K26('_SaveCachedConfig')] = R3
0067  GETTABUP  R2 = _ENV[K0('SurpriseChestManager')]
0068  CLOSURE   R3 = closure proto19
0069  SETTABLE  R2[K27('_LoadPropertyCount')] = R3
0070  GETTABUP  R2 = _ENV[K0('SurpriseChestManager')]
0071  CLOSURE   R3 = closure proto20
0072  SETTABLE  R2[K28('_SavePropertyCount')] = R3
0073  GETTABUP  R2 = _ENV[K0('SurpriseChestManager')]
0074  CLOSURE   R3 = closure proto21
0075  SETTABLE  R2[K29('_ClearPropertyCount')] = R3
0076  GETTABUP  R2 = _ENV[K0('SurpriseChestManager')]
0077  CLOSURE   R3 = closure proto22
0078  SETTABLE  R2[K30('_LoadOpeningSurpriseChestData')] = R3
0079  GETTABUP  R2 = _ENV[K0('SurpriseChestManager')]
0080  CLOSURE   R3 = closure proto23
0081  SETTABLE  R2[K31('_SaveOpeningSurpriseChestData')] = R3
0082  GETTABUP  R2 = _ENV[K0('SurpriseChestManager')]
0083  CLOSURE   R3 = closure proto24
0084  SETTABLE  R2[K32('GetTriggerEndTime')] = R3
0085  GETTABUP  R2 = _ENV[K0('SurpriseChestManager')]
0086  CLOSURE   R3 = closure proto25
0087  SETTABLE  R2[K33('_SetTriggerEndTime')] = R3
0088  GETTABUP  R2 = _ENV[K0('SurpriseChestManager')]
0089  CLOSURE   R3 = closure proto26
0090  SETTABLE  R2[K34('_RemoveTriggerEndTime')] = R3
0091  GETTABUP  R2 = _ENV[K0('SurpriseChestManager')]
0092  CLOSURE   R3 = closure proto27
0093  SETTABLE  R2[K35('_GetFirstPropertyCount')] = R3
0094  GETTABUP  R2 = _ENV[K0('SurpriseChestManager')]
0095  CLOSURE   R3 = closure proto28
0096  SETTABLE  R2[K36('_GetLastPropertyCount')] = R3
0097  GETTABUP  R2 = _ENV[K0('SurpriseChestManager')]
0098  CLOSURE   R3 = closure proto29
0099  SETTABLE  R2[K37('_PushPropertyCount')] = R3
0100  GETTABUP  R2 = _ENV[K0('SurpriseChestManager')]
0101  CLOSURE   R3 = closure proto30
0102  SETTABLE  R2[K38('_PeekPropertyCount')] = R3
0103  GETTABUP  R2 = _ENV[K0('SurpriseChestManager')]
0104  CLOSURE   R3 = closure proto31
0105  SETTABLE  R2[K39('_PopPropertyCount')] = R3
0106  GETTABUP  R2 = _ENV[K0('SurpriseChestManager')]
0107  CLOSURE   R3 = closure proto32
0108  SETTABLE  R2[K40('_HasSurpriseChestData')] = R3
0109  GETTABUP  R2 = _ENV[K0('SurpriseChestManager')]
0110  CLOSURE   R3 = closure proto33
0111  SETTABLE  R2[K41('GetSurpriseChestData')] = R3
0112  GETTABUP  R2 = _ENV[K0('SurpriseChestManager')]
0113  CLOSURE   R3 = closure proto34
0114  SETTABLE  R2[K42('GetAllSurpriseChestData')] = R3
0115  GETTABUP  R2 = _ENV[K0('SurpriseChestManager')]
0116  CLOSURE   R3 = closure proto35
0117  SETTABLE  R2[K43('_AddSurpriseChestData')] = R3
0118  GETTABUP  R2 = _ENV[K0('SurpriseChestManager')]
0119  CLOSURE   R3 = closure proto36
0120  SETTABLE  R2[K44('_RemoveSurpriseChestData')] = R3
0121  GETTABUP  R2 = _ENV[K0('SurpriseChestManager')]
0122  CLOSURE   R3 = closure proto37
0123  SETTABLE  R2[K45('_ClearSurpriseChestData')] = R3
0124  GETTABUP  R2 = _ENV[K0('SurpriseChestManager')]
0125  CLOSURE   R3 = closure proto38
0126  SETTABLE  R2[K46('HasTriggerEndTime')] = R3
0127  GETTABUP  R2 = _ENV[K0('SurpriseChestManager')]
0128  CLOSURE   R3 = closure proto39
0129  SETTABLE  R2[K47('GetActivityModel')] = R3
0130  GETTABUP  R2 = _ENV[K0('SurpriseChestManager')]
0131  CLOSURE   R3 = closure proto40
0132  SETTABLE  R2[K48('IsSurpriseChestProperty')] = R3
0133  GETTABUP  R2 = _ENV[K0('SurpriseChestManager')]
0134  CLOSURE   R3 = closure proto41
0135  SETTABLE  R2[K49('GetPropertyTriggerTime')] = R3
0136  GETTABUP  R2 = _ENV[K0('SurpriseChestManager')]
0137  CLOSURE   R3 = closure proto42
0138  SETTABLE  R2[K50('CheckSurpriseChestValid')] = R3
0139  GETTABUP  R2 = _ENV[K0('SurpriseChestManager')]
0140  CLOSURE   R3 = closure proto43
0141  SETTABLE  R2[K51('GetSurpriseChestPropertyToTrigger')] = R3
0142  GETTABUP  R2 = _ENV[K0('SurpriseChestManager')]
0143  CLOSURE   R3 = closure proto44
0144  SETTABLE  R2[K52('AcquireSurpriseChestProperty')] = R3
0145  GETTABUP  R2 = _ENV[K0('SurpriseChestManager')]
0146  CLOSURE   R3 = closure proto45
0147  SETTABLE  R2[K53('ConsumeSurpriseChestProperty')] = R3
0148  GETTABUP  R2 = _ENV[K0('SurpriseChestManager')]
0149  CLOSURE   R3 = closure proto46
0150  SETTABLE  R2[K54('CanTriggerSurpriseChest')] = R3
0151  GETTABUP  R2 = _ENV[K0('SurpriseChestManager')]
0152  CLOSURE   R3 = closure proto47
0153  SETTABLE  R2[K55('CanTriggerSurpriseChestByProperty')] = R3
0154  GETTABUP  R2 = _ENV[K0('SurpriseChestManager')]
0155  CLOSURE   R3 = closure proto48
0156  SETTABLE  R2[K56('TriggerSurpriseChest')] = R3
0157  GETTABUP  R2 = _ENV[K0('SurpriseChestManager')]
0158  CLOSURE   R3 = closure proto49
0159  SETTABLE  R2[K57('TriggerSurpriseChestByProperty')] = R3
0160  GETTABUP  R2 = _ENV[K0('SurpriseChestManager')]
0161  CLOSURE   R3 = closure proto50
0162  SETTABLE  R2[K58('GetTriggerData')] = R3
0163  GETTABUP  R2 = _ENV[K0('SurpriseChestManager')]
0164  CLOSURE   R3 = closure proto51
0165  SETTABLE  R2[K59('GetLeftDuration')] = R3
0166  GETTABUP  R2 = _ENV[K0('SurpriseChestManager')]
0167  CLOSURE   R3 = closure proto52
0168  SETTABLE  R2[K60('IsInTriggerTime')] = R3
0169  GETTABUP  R2 = _ENV[K0('SurpriseChestManager')]
0170  CLOSURE   R3 = closure proto53
0171  SETTABLE  R2[K61('UpdatePerSecond')] = R3
0172  GETTABUP  R2 = _ENV[K0('SurpriseChestManager')]
0173  CLOSURE   R3 = closure proto54
0174  SETTABLE  R2[K62('UpdateSurpriseChestDataInTriggerTime')] = R3
0175  GETTABUP  R2 = _ENV[K0('SurpriseChestManager')]
0176  CLOSURE   R3 = closure proto55
0177  SETTABLE  R2[K63('_UpdateSurpriseChestData')] = R3
0178  GETTABUP  R2 = _ENV[K0('SurpriseChestManager')]
0179  CLOSURE   R3 = closure proto56
0180  SETTABLE  R2[K64('GetAcquiredRewardsByOrderId')] = R3
0181  GETTABUP  R2 = _ENV[K0('SurpriseChestManager')]
0182  CLOSURE   R3 = closure proto57
0183  SETTABLE  R2[K65('CanAcquireChestRewards')] = R3
0184  GETTABUP  R2 = _ENV[K0('SurpriseChestManager')]
0185  CLOSURE   R3 = closure proto58
0186  SETTABLE  R2[K66('TryAcquireChestRewards')] = R3
0187  GETTABUP  R2 = _ENV[K0('SurpriseChestManager')]
0188  CLOSURE   R3 = closure proto59
0189  SETTABLE  R2[K67('_OnOrderFinished')] = R3
0190  GETTABUP  R2 = _ENV[K0('SurpriseChestManager')]
0191  CLOSURE   R3 = closure proto60
0192  SETTABLE  R2[K68('_OnOrderStateChanged')] = R3
0193  GETTABUP  R2 = _ENV[K0('SurpriseChestManager')]
0194  CLOSURE   R3 = closure proto61
0195  SETTABLE  R2[K69('GetType')] = R3
0196  GETTABUP  R2 = _ENV[K0('SurpriseChestManager')]
0197  CLOSURE   R3 = closure proto62
0198  SETTABLE  R2[K70('GetOrderCellTopLeftEntryShowConfig')] = R3
0199  GETTABUP  R2 = _ENV[K0('SurpriseChestManager')]
0200  CLOSURE   R3 = closure proto63
0201  SETTABLE  R2[K71('GetCountDownText')] = R3
0202  GETTABUP  R2 = _ENV[K0('SurpriseChestManager')]
0203  CLOSURE   R3 = closure proto64
0204  SETTABLE  R2[K72('TestGetPropertyCountInfo')] = R3
0205  GETTABUP  R2 = _ENV[K0('SurpriseChestManager')]
0206  CLOSURE   R3 = closure proto65
0207  SETTABLE  R2[K73('_LogTriggerSurpriseChest')] = R3
0208  RETURN    return R0..R-1
; ---------- proto0 [Init] ----------
  ; fn ?  line 15-18 np=1 va=0 ms=3 code=3 consts=1 upvals=0 protos=0
  ;   K[0]='_LoadCachedConfig'
  ;   locals: self(0-3)
  0000  SELF      R2 = R0[K0('_LoadCachedConfig')] (self)
  0001  CALL      R1 = call(R1, 0 args, 1 rets)
  0002  RETURN    return R0..R-1
; ---------- proto1 [Destroy] ----------
  ; fn ?  line 20-22 np=1 va=0 ms=3 code=5 consts=2 upvals=1 protos=0
  ;   K[0]='EventDispatcher'
  ;   K[1]='RemoveTarget'
  ;   upvals: _ENV
  ;   locals: self(0-5)
  0000  GETTABUP  R1 = _ENV[K0('EventDispatcher')]
  0001  GETTABLE  R1 = R1[K1('RemoveTarget')]
  0002  MOVE      R2 = R0
  0003  CALL      R1 = call(R1, 0 args, 1 rets)
  0004  RETURN    return R0..R-1
; ---------- proto2 [OnSyncDataFinished] ----------
  ; fn ?  line 24-28 np=1 va=0 ms=3 code=5 consts=2 upvals=0 protos=0
  ;   K[0]='_LoadPropertyCount'
  ;   K[1]='_LoadOpeningSurpriseChestData'
  ;   locals: self(0-5)
  0000  SELF      R2 = R0[K0('_LoadPropertyCount')] (self)
  0001  CALL      R1 = call(R1, 0 args, 1 rets)
  0002  SELF      R2 = R0[K1('_LoadOpeningSurpriseChestData')] (self)
  0003  CALL      R1 = call(R1, 0 args, 1 rets)
  0004  RETURN    return R0..R-1
; ---------- proto3 [LateInit] ----------
  ; fn ?  line 30-41 np=1 va=0 ms=5 code=22 consts=12 upvals=1 protos=0
  ;   K[0]='m_bLateInited'
  ;   K[1]=true
  ;   K[2]='m_bNeedUpdateSurpriseChestDataInLateInit'
  ;   K[3]=nil
  ;   K[4]='UpdateSurpriseChestDataInTriggerTime'
  ;   K[5]='EventDispatcher'
  ;   K[6]='AddListener'
  ;   K[7]='EEventType'
  ;   K[8]='OrderFinished'
  ;   K[9]='_OnOrderFinished'
  ;   K[10]='OrderStateChanged'
  ;   K[11]='_OnOrderStateChanged'
  ;   upvals: _ENV
  ;   locals: self(0-22)
  0000  SETTABLE  R0[K0('m_bLateInited')] = K1(true)
  0001  GETTABLE  R1 = R0[K2('m_bNeedUpdateSurpriseChestDataInLateInit')]
  0002  TEST      if not R1 then   -> -131068
  0003  JMP       (jump)   -> 7
  0004  SETTABLE  R0[K2('m_bNeedUpdateSurpriseChestDataInLateInit')] = K3(nil)
  0005  SELF      R2 = R0[K4('UpdateSurpriseChestDataInTriggerTime')] (self)
  0006  CALL      R1 = call(R1, 0 args, 1 rets)
  0007  GETTABUP  R1 = _ENV[K5('EventDispatcher')]
  0008  GETTABLE  R1 = R1[K6('AddListener')]
  0009  GETTABUP  R2 = _ENV[K7('EEventType')]
  0010  GETTABLE  R2 = R2[K8('OrderFinished')]
  0011  MOVE      R3 = R0
  0012  GETTABLE  R4 = R0[K9('_OnOrderFinished')]
  0013  CALL      R1 = call(R1, 0 args, 3 rets)
  0014  GETTABUP  R1 = _ENV[K5('EventDispatcher')]
  0015  GETTABLE  R1 = R1[K6('AddListener')]
  0016  GETTABUP  R2 = _ENV[K7('EEventType')]
  0017  GETTABLE  R2 = R2[K10('OrderStateChanged')]
  0018  MOVE      R3 = R0
  0019  GETTABLE  R4 = R0[K11('_OnOrderStateChanged')]
  0020  CALL      R1 = call(R1, 0 args, 3 rets)
  0021  RETURN    return R0..R-1
; ---------- proto4 [LoadServerConfig] ----------
  ; fn ?  line 48-79 np=1 va=0 ms=8 code=47 consts=18 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='ConfigModel'
  ;   K[2]='GetServerConfigMD5'
  ;   K[3]='SurpriseChestManagerDefinition'
  ;   K[4]='BuffType'
  ;   K[5]='m_md5'
  ;   K[6]='GetServerConfig'
  ;   K[7]=nil
  ;   K[8]='m_currentConfig'
  ;   K[9]='_ClearPropertyCount'
  ;   K[10]='EventDispatcher'
  ;   K[11]='DispatchEvent'
  ;   K[12]='EEventType'
  ;   K[13]='RewardValidChanged'
  ;   K[14]='OrderTokenControlConfigKey'
  ;   K[15]='LoadChestConfig'
  ;   K[16]='_TryLockConfig'
  ;   K[17]='UpdateSurpriseChestDataInTriggerTime'
  ;   upvals: _ENV
  ;   locals: self(0-47), md5(6-47), config(17-47), chestConfig(31-47)
  0000  GETTABUP  R1 = _ENV[K0('GM')]
  0001  GETTABLE  R1 = R1[K1('ConfigModel')]
  0002  SELF      R2 = R1[K2('GetServerConfigMD5')] (self)
  0003  GETTABUP  R3 = _ENV[K3('SurpriseChestManagerDefinition')]
  0004  GETTABLE  R3 = R3[K4('BuffType')]
  0005  CALL      R1 = call(R1, 1 args, 2 rets)
  0006  GETTABLE  R2 = R0[K5('m_md5')]
  0007  EQ        if R0 eq R1   -> -130038
  0008  JMP       (jump)   -> 10
  0009  RETURN    return R0..R-1
  0010  SETTABLE  R0[K5('m_md5')] = R1
  0011  GETTABUP  R2 = _ENV[K0('GM')]
  0012  GETTABLE  R2 = R2[K1('ConfigModel')]
  0013  SELF      R3 = R2[K6('GetServerConfig')] (self)
  0014  GETTABUP  R4 = _ENV[K3('SurpriseChestManagerDefinition')]
  0015  GETTABLE  R4 = R4[K4('BuffType')]
  0016  CALL      R2 = call(R2, 1 args, 2 rets)
  0017  EQ        if R0 eq K7(nil)   -> -129766
  0018  JMP       (jump)   -> 28
  0019  SETTABLE  R0[K8('m_currentConfig')] = K7(nil)
  0020  SELF      R4 = R0[K9('_ClearPropertyCount')] (self)
  0021  CALL      R3 = call(R3, 0 args, 1 rets)
  0022  GETTABUP  R3 = _ENV[K10('EventDispatcher')]
  0023  GETTABLE  R3 = R3[K11('DispatchEvent')]
  0024  GETTABUP  R4 = _ENV[K12('EEventType')]
  0025  GETTABLE  R4 = R4[K13('RewardValidChanged')]
  0026  CALL      R3 = call(R3, 0 args, 1 rets)
  0027  RETURN    return R0..R-1
  0028  GETTABUP  R3 = _ENV[K3('SurpriseChestManagerDefinition')]
  0029  GETTABLE  R3 = R3[K14('OrderTokenControlConfigKey')]
  0030  GETTABLE  R3 = R2[R3]
  0031  SELF      R5 = R0[K15('LoadChestConfig')] (self)
  0032  MOVE      R6 = R0
  0033  CALL      R4 = call(R4, 1 args, 2 rets)
  0034  SETTABLE  R0[K8('m_currentConfig')] = R4
  0035  SELF      R5 = R0[K16('_TryLockConfig')] (self)
  0036  MOVE      R6 = R0
  0037  MOVE      R7 = R0
  0038  CALL      R4 = call(R4, 0 args, 3 rets)
  0039  SELF      R5 = R0[K17('UpdateSurpriseChestDataInTriggerTime')] (self)
  0040  CALL      R4 = call(R4, 0 args, 1 rets)
  0041  GETTABUP  R4 = _ENV[K10('EventDispatcher')]
  0042  GETTABLE  R4 = R4[K11('DispatchEvent')]
  0043  GETTABUP  R5 = _ENV[K12('EEventType')]
  0044  GETTABLE  R5 = R5[K13('RewardValidChanged')]
  0045  CALL      R4 = call(R4, 0 args, 1 rets)
  0046  RETURN    return R0..R-1
; ---------- proto5 [LoadChestConfig] ----------
  ; fn ?  line 84-91 np=2 va=0 ms=12 code=23 consts=8 upvals=1 protos=0
  ;   K[0]='_CheckConfig'
  ;   K[1]='ipairs'
  ;   K[2]='Table'
  ;   K[3]='Empty'
  ;   K[4]='table'
  ;   K[5]='insert'
  ;   K[6]='SurpriseChestData'
  ;   K[7]='Create'
  ;   upvals: _ENV
  ;   locals: self(0-23), chestConfig(0-23), arrChestData(4-23), (for generator)(10-21), (for state)(10-21), (for control)(10-21), _(11-19), config(11-19)
  0000  SELF      R3 = R0[K0('_CheckConfig')] (self)
  0001  MOVE      R4 = R0
  0002  CALL      R2 = call(R2, 0 args, 2 rets)
  0003  NEWTABLE  R2 = {} (0 items)
  0004  GETTABUP  R3 = _ENV[K1('ipairs')]
  0005  TESTSET   if R1 then R4   -> -130552
  0006  JMP       (jump)   -> 9
  0007  GETTABUP  R4 = _ENV[K2('Table')]
  0008  GETTABLE  R4 = R4[K3('Empty')]
  0009  CALL      R3 = call(R3, 3 args, 1 rets)
  0010  JMP       (jump)   -> 19
  0011  GETTABUP  R8 = _ENV[K4('table')]
  0012  GETTABLE  R8 = R8[K5('insert')]
  0013  MOVE      R9 = R0
  0014  GETTABUP  R10 = _ENV[K6('SurpriseChestData')]
  0015  GETTABLE  R10 = R10[K7('Create')]
  0016  MOVE      R11 = R0
  0017  CALL      R10 = call(R10, -1 args, 1 rets)
  0018  CALL      R8 = call(R8, 0 args, -1 rets)
  0019  TFORCALL  tforcall R3
  0020  TFORLOOP  tforloop R5(sBx=-10)   -> 11
  0021  RETURN    return R2..R1
  0022  RETURN    return R0..R-1
; ---------- proto6 [_TryLockConfig] ----------
  ; fn ?  line 96-102 np=3 va=0 ms=6 code=12 consts=3 upvals=0 protos=0
  ;   K[0]='_GetConfigMD5'
  ;   K[1]='_SetConfigMD5'
  ;   K[2]='_SaveCachedConfig'
  ;   locals: self(0-12), md5(0-12), chestConfig(0-12)
  0000  SELF      R4 = R0[K0('_GetConfigMD5')] (self)
  0001  CALL      R3 = call(R3, 1 args, 1 rets)
  0002  EQ        if R0 eq R1   -> -129531
  0003  JMP       (jump)   -> 5
  0004  RETURN    return R0..R-1
  0005  SELF      R4 = R0[K1('_SetConfigMD5')] (self)
  0006  MOVE      R5 = R0
  0007  CALL      R3 = call(R3, 0 args, 2 rets)
  0008  SELF      R4 = R0[K2('_SaveCachedConfig')] (self)
  0009  MOVE      R5 = R0
  0010  CALL      R3 = call(R3, 0 args, 2 rets)
  0011  RETURN    return R0..R-1
; ---------- proto7 [HasCurrentConfig] ----------
  ; fn ?  line 105-107 np=1 va=0 ms=3 code=7 consts=3 upvals=1 protos=0
  ;   K[0]='Table'
  ;   K[1]='IsEmpty'
  ;   K[2]='m_currentConfig'
  ;   upvals: _ENV
  ;   locals: self(0-7)
  0000  GETTABUP  R1 = _ENV[K0('Table')]
  0001  GETTABLE  R1 = R1[K1('IsEmpty')]
  0002  GETTABLE  R2 = R0[K2('m_currentConfig')]
  0003  CALL      R1 = call(R1, 1 args, 1 rets)
  0004  NOT       R1 = not R0
  0005  RETURN    return R1..R0
  0006  RETURN    return R0..R-1
; ---------- proto8 [GetCurrentConfig] ----------
  ; fn ?  line 110-112 np=1 va=0 ms=2 code=3 consts=1 upvals=0 protos=0
  ;   K[0]='m_currentConfig'
  ;   locals: self(0-3)
  0000  GETTABLE  R1 = R0[K0('m_currentConfig')]
  0001  RETURN    return R1..R0
  0002  RETURN    return R0..R-1
; ---------- proto9 [HasCachedConfig] ----------
  ; fn ?  line 115-117 np=1 va=0 ms=3 code=7 consts=3 upvals=1 protos=0
  ;   K[0]='Table'
  ;   K[1]='IsEmpty'
  ;   K[2]='m_cachedConfig'
  ;   upvals: _ENV
  ;   locals: self(0-7)
  0000  GETTABUP  R1 = _ENV[K0('Table')]
  0001  GETTABLE  R1 = R1[K1('IsEmpty')]
  0002  GETTABLE  R2 = R0[K2('m_cachedConfig')]
  0003  CALL      R1 = call(R1, 1 args, 1 rets)
  0004  NOT       R1 = not R0
  0005  RETURN    return R1..R0
  0006  RETURN    return R0..R-1
; ---------- proto10 [GetCachedConfig] ----------
  ; fn ?  line 120-122 np=1 va=0 ms=2 code=3 consts=1 upvals=0 protos=0
  ;   K[0]='m_cachedConfig'
  ;   locals: self(0-3)
  0000  GETTABLE  R1 = R0[K0('m_cachedConfig')]
  0001  RETURN    return R1..R0
  0002  RETURN    return R0..R-1
; ---------- proto11 [_CheckConfig] ----------
  ; fn ?  line 126-158 np=2 va=0 ms=14 code=54 consts=16 upvals=1 protos=2
  ;   K[0]='Table'
  ;   K[1]='IsEmpty'
  ;   K[2]='GameConfig'
  ;   K[3]='IsTestMode'
  ;   K[4]='ShallowCopy'
  ;   K[5]='table'
  ;   K[6]='sort'
  ;   K[7]='ipairs'
  ;   K[8]='Log'
  ;   K[9]='Error'
  ;   K[10]='[SurpriseChestManager] 配置出错, score_min的值大于score_max的值，请检查！'
  ;   K[11]=nil
  ;   K[12]='math'
  ;   K[13]='abs'
  ;   K[14]=0.001
  ;   K[15]='[SurpriseChestManager] 配置出错, score的总区间不连续请检查！'
  ;   upvals: _ENV
  ;   locals: self(0-54), chestConfig(0-54), tmpConfig(16-54), getMinMaxFunc(22-54), scoreMin(23-54), scoreMax(23-54), lastMax(23-54), (for generator)(26-53), (for state)(26-53), (for control)(26-53), _(27-51), config(27-51)
  0000  GETTABUP  R2 = _ENV[K0('Table')]
  0001  GETTABLE  R2 = R2[K1('IsEmpty')]
  0002  MOVE      R3 = R0
  0003  CALL      R2 = call(R2, 1 args, 1 rets)
  0004  TEST      if not R2 then   -> -131065
  0005  JMP       (jump)   -> 11
  0006  GETTABUP  R2 = _ENV[K2('GameConfig')]
  0007  GETTABLE  R2 = R2[K3('IsTestMode')]
  0008  CALL      R2 = call(R2, 1 args, 0 rets)
  0009  TEST      if not R2 then   -> -131060
  0010  JMP       (jump)   -> 12
  0011  RETURN    return R0..R-1
  0012  GETTABUP  R2 = _ENV[K0('Table')]
  0013  GETTABLE  R2 = R2[K4('ShallowCopy')]
  0014  MOVE      R3 = R0
  0015  CALL      R2 = call(R2, 1 args, 1 rets)
  0016  GETTABUP  R3 = _ENV[K5('table')]
  0017  GETTABLE  R3 = R3[K6('sort')]
  0018  MOVE      R4 = R0
  0019  CLOSURE   R5 = closure proto0
  0020  CALL      R3 = call(R3, 0 args, 2 rets)
  0021  CLOSURE   R3 = closure proto1
  0022  LOADNIL   R4..R4 = nil
  0023  GETTABUP  R7 = _ENV[K7('ipairs')]
  0024  MOVE      R8 = R0
  0025  CALL      R7 = call(R7, 3 args, 1 rets)
  0026  JMP       (jump)   -> 51
  0027  MOVE      R12 = R0
  0028  MOVE      R13 = R0
  0029  CALL      R12 = call(R12, 2 args, 1 rets)
  0030  MOVE      R5 = R0
  0031  MOVE      R4 = R0
  0032  LT        if R0 lt R4   -> -128474
  0033  JMP       (jump)   -> 38
  0034  GETTABUP  R12 = _ENV[K8('Log')]
  0035  GETTABLE  R12 = R12[K9('Error')]
  0036  LOADK     R13 = K10 '[SurpriseChestManager] 配置出错, score_min的值大于score_max的值，请检查！'
  0037  CALL      R12 = call(R12, 0 args, 1 rets)
  0038  EQ        if R1 eq K11(nil)   -> -127693
  0039  JMP       (jump)   -> 50
  0040  GETTABUP  R12 = _ENV[K12('math')]
  0041  GETTABLE  R12 = R12[K13('abs')]
  0042  SUB       R13 = R4 sub R6
  0043  CALL      R12 = call(R12, 1 args, 1 rets)
  0044  LT        if R0 lt R12   -> 7226
  0045  JMP       (jump)   -> 50
  0046  GETTABUP  R12 = _ENV[K8('Log')]
  0047  GETTABLE  R12 = R12[K9('Error')]
  0048  LOADK     R13 = K15 '[SurpriseChestManager] 配置出错, score的总区间不连续请检查！'
  0049  CALL      R12 = call(R12, 0 args, 1 rets)
  0050  MOVE      R6 = R0
  0051  TFORCALL  tforcall R7
  0052  TFORLOOP  tforloop R9(sBx=-26)   -> 27
  0053  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 134-139 np=2 va=0 ms=5 code=16 consts=3 upvals=1 protos=0
    ;   K[0]='score_min'
    ;   K[1]='math'
    ;   K[2]='mininteger'
    ;   upvals: _ENV
    ;   locals: a(0-16), b(0-16), minA(5-16), minB(10-16)
    0000  GETTABLE  R2 = R0[K0('score_min')]
    0001  TEST      if not R2 then   -> -131068
    0002  JMP       (jump)   -> 5
    0003  GETTABUP  R2 = _ENV[K1('math')]
    0004  GETTABLE  R2 = R2[K2('mininteger')]
    0005  GETTABLE  R3 = R1[K0('score_min')]
    0006  TEST      if not R3 then   -> -131063
    0007  JMP       (jump)   -> 10
    0008  GETTABUP  R3 = _ENV[K1('math')]
    0009  GETTABLE  R3 = R3[K2('mininteger')]
    0010  LT        if R1 lt R3   -> -130033
    0011  JMP       (jump)   -> 13
    0012  LOADBOOL  R4 = false
    0013  LOADBOOL  R4 = true
    0014  RETURN    return R4..R3
    0015  RETURN    return R0..R-1
  ; ---------- proto1 [] ----------
    ; fn ?  line 141-143 np=1 va=0 ms=3 code=12 consts=5 upvals=1 protos=0
    ;   K[0]='score_min'
    ;   K[1]='math'
    ;   K[2]='mininteger'
    ;   K[3]='score_max'
    ;   K[4]='maxinteger'
    ;   upvals: _ENV
    ;   locals: config(0-12)
    0000  GETTABLE  R1 = R0[K0('score_min')]
    0001  TEST      if not R1 then   -> -131068
    0002  JMP       (jump)   -> 5
    0003  GETTABUP  R1 = _ENV[K1('math')]
    0004  GETTABLE  R1 = R1[K2('mininteger')]
    0005  GETTABLE  R2 = R0[K3('score_max')]
    0006  TEST      if not R2 then   -> -131063
    0007  JMP       (jump)   -> 10
    0008  GETTABUP  R2 = _ENV[K1('math')]
    0009  GETTABLE  R2 = R2[K4('maxinteger')]
    0010  RETURN    return R1..R0
    0011  RETURN    return R0..R-1
; ---------- proto12 [_GetLogConfigType] ----------
  ; fn ?  line 172-179 np=2 va=0 ms=4 code=17 consts=7 upvals=2 protos=0
  ;   K[0]='ActivityModelConfig'
  ;   K[1]='活动配置'
  ;   K[2]='CurrentConfig'
  ;   K[3]='buff配置'
  ;   K[4]='CachedConfig'
  ;   K[5]='锁定的buff配置'
  ;   K[6]='未知'
  ;   upvals: mapLogConfigType, BestConfigType
  ;   locals: self(0-17), configType(0-17)
  0000  GETUPVAL  R2 = mapLogConfigType
  0001  TEST      if not R2 then   -> -131068
  0002  JMP       (jump)   -> 10
  0003  NEWTABLE  R2 = {} (0 items)
  0004  GETTABUP  R3 = BestConfigType[K0('ActivityModelConfig')]
  0005  SETTABLE  R2[R3] = K1('活动配置')
  0006  GETTABUP  R3 = BestConfigType[K2('CurrentConfig')]
  0007  SETTABLE  R2[R3] = K3('buff配置')
  0008  GETTABUP  R3 = BestConfigType[K4('CachedConfig')]
  0009  SETTABLE  R2[R3] = K5('锁定的buff配置')
  0010  SETUPVAL  UP2 = R0
  0011  GETTABUP  R2 = mapLogConfigType[R1]
  0012  TEST      if not R2 then   -> -131057
  0013  JMP       (jump)   -> 15
  0014  LOADK     R2 = K6 '未知'
  0015  RETURN    return R2..R1
  0016  RETURN    return R0..R-1
; ---------- proto13 [GetBestConfig] ----------
  ; fn ?  line 184-200 np=2 va=0 ms=5 code=33 consts=10 upvals=1 protos=0
  ;   K[0]='GetActivityModel'
  ;   K[1]=nil
  ;   K[2]='HasConfig'
  ;   K[3]='GetCurrentConfig'
  ;   K[4]='ActivityModelConfig'
  ;   K[5]='HasCurrentConfig'
  ;   K[6]='CurrentConfig'
  ;   K[7]='HasCachedConfig'
  ;   K[8]='GetCachedConfig'
  ;   K[9]='CachedConfig'
  ;   upvals: BestConfigType
  ;   locals: self(0-33), bExcludeLocked(0-33), activityModel(2-33)
  0000  SELF      R3 = R0[K0('GetActivityModel')] (self)
  0001  CALL      R2 = call(R2, 1 args, 1 rets)
  0002  EQ        if R1 eq K1(nil)   -> -129787
  0003  JMP       (jump)   -> 12
  0004  SELF      R4 = R2[K2('HasConfig')] (self)
  0005  CALL      R3 = call(R3, 1 args, 1 rets)
  0006  TEST      if not R3 then   -> -131064
  0007  JMP       (jump)   -> 12
  0008  SELF      R4 = R2[K3('GetCurrentConfig')] (self)
  0009  CALL      R3 = call(R3, 1 args, 1 rets)
  0010  GETTABUP  R4 = BestConfigType[K4('ActivityModelConfig')]
  0011  RETURN    return R3..R2
  0012  SELF      R4 = R0[K5('HasCurrentConfig')] (self)
  0013  CALL      R3 = call(R3, 1 args, 1 rets)
  0014  TEST      if not R3 then   -> -131056
  0015  JMP       (jump)   -> 20
  0016  SELF      R4 = R0[K3('GetCurrentConfig')] (self)
  0017  CALL      R3 = call(R3, 1 args, 1 rets)
  0018  GETTABUP  R4 = BestConfigType[K6('CurrentConfig')]
  0019  RETURN    return R3..R2
  0020  TEST      if not R1 then   -> -131049
  0021  JMP       (jump)   -> 30
  0022  SELF      R4 = R0[K7('HasCachedConfig')] (self)
  0023  CALL      R3 = call(R3, 1 args, 1 rets)
  0024  TEST      if not R3 then   -> -131046
  0025  JMP       (jump)   -> 30
  0026  SELF      R4 = R0[K8('GetCachedConfig')] (self)
  0027  CALL      R3 = call(R3, 1 args, 1 rets)
  0028  GETTABUP  R4 = BestConfigType[K9('CachedConfig')]
  0029  RETURN    return R3..R2
  0030  LOADNIL   R3..R3 = nil
  0031  RETURN    return R3..R2
  0032  RETURN    return R0..R-1
; ---------- proto14 [_GetValidSurpriseChestData] ----------
  ; fn ?  line 204-217 np=2 va=0 ms=17 code=43 consts=14 upvals=1 protos=0
  ;   K[0]='GetOrderScore'
  ;   K[1]=-1
  ;   K[2]='GetBestConfig'
  ;   K[3]='Table'
  ;   K[4]='IsEmpty'
  ;   K[5]='ipairs'
  ;   K[6]='CheckOrderScoreRange'
  ;   K[7]='Log'
  ;   K[8]='Info'
  ;   K[9]='[问号宝箱] 订单上新增宝箱：orderId = '
  ;   K[10]='tostring'
  ;   K[11]='GetId'
  ;   K[12]='，配置类型 = '
  ;   K[13]='_GetLogConfigType'
  ;   upvals: _ENV
  ;   locals: self(0-43), order(0-43), orderScore(5-43), bestConfig(7-43), bestConfigType(7-43), (for generator)(18-40), (for state)(18-40), (for control)(18-40), _(19-38), chestData(19-38)
  0000  SELF      R3 = R1[K0('GetOrderScore')] (self)
  0001  CALL      R2 = call(R2, 1 args, 1 rets)
  0002  TEST      if not R2 then   -> -131067
  0003  JMP       (jump)   -> 5
  0004  LOADK     R2 = K1 -1
  0005  SELF      R4 = R0[K2('GetBestConfig')] (self)
  0006  CALL      R3 = call(R3, 2 args, 1 rets)
  0007  GETTABUP  R5 = _ENV[K3('Table')]
  0008  GETTABLE  R5 = R5[K4('IsEmpty')]
  0009  MOVE      R6 = R0
  0010  CALL      R5 = call(R5, 1 args, 1 rets)
  0011  TEST      if not R5 then   -> -131059
  0012  JMP       (jump)   -> 15
  0013  LOADNIL   R5..R5 = nil
  0014  RETURN    return R5..R4
  0015  GETTABUP  R5 = _ENV[K5('ipairs')]
  0016  MOVE      R6 = R0
  0017  CALL      R5 = call(R5, 3 args, 1 rets)
  0018  JMP       (jump)   -> 38
  0019  SELF      R11 = R9[K6('CheckOrderScoreRange')] (self)
  0020  MOVE      R12 = R0
  0021  CALL      R10 = call(R10, 1 args, 2 rets)
  0022  TEST      if not R10 then   -> -131048
  0023  JMP       (jump)   -> 38
  0024  GETTABUP  R10 = _ENV[K7('Log')]
  0025  GETTABLE  R10 = R10[K8('Info')]
  0026  LOADK     R11 = K9 '[问号宝箱] 订单上新增宝箱：orderId = '
  0027  GETTABUP  R12 = _ENV[K10('tostring')]
  0028  SELF      R14 = R1[K11('GetId')] (self)
  0029  CALL      R13 = call(R13, -1 args, 1 rets)
  0030  CALL      R12 = call(R12, 1 args, -1 rets)
  0031  LOADK     R13 = K12 '，配置类型 = '
  0032  SELF      R15 = R0[K13('_GetLogConfigType')] (self)
  0033  MOVE      R16 = R0
  0034  CALL      R14 = call(R14, 1 args, 2 rets)
  0035  CONCAT    R11 = concat(R11..R11)
  0036  CALL      R10 = call(R10, 0 args, 1 rets)
  0037  RETURN    return R9..R8
  0038  TFORCALL  tforcall R5
  0039  TFORLOOP  tforloop R7(sBx=-21)   -> 19
  0040  LOADNIL   R5..R5 = nil
  0041  RETURN    return R5..R4
  0042  RETURN    return R0..R-1
; ---------- proto15 [_GetConfigMD5] ----------
  ; fn ?  line 224-226 np=1 va=0 ms=4 code=8 consts=5 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='MiscModel'
  ;   K[2]='Get'
  ;   K[3]='EMiscKey'
  ;   K[4]='SurpriseChestConfigMD5'
  ;   upvals: _ENV
  ;   locals: self(0-8)
  0000  GETTABUP  R1 = _ENV[K0('GM')]
  0001  GETTABLE  R1 = R1[K1('MiscModel')]
  0002  SELF      R2 = R1[K2('Get')] (self)
  0003  GETTABUP  R3 = _ENV[K3('EMiscKey')]
  0004  GETTABLE  R3 = R3[K4('SurpriseChestConfigMD5')]
  0005  TAILCALL  tailcall(R1, 0)
  0006  RETURN    return R1..R0
  0007  RETURN    return R0..R-1
; ---------- proto16 [_SetConfigMD5] ----------
  ; fn ?  line 230-232 np=2 va=0 ms=6 code=8 consts=5 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='MiscModel'
  ;   K[2]='Set'
  ;   K[3]='EMiscKey'
  ;   K[4]='SurpriseChestConfigMD5'
  ;   upvals: _ENV
  ;   locals: self(0-8), md5(0-8)
  0000  GETTABUP  R2 = _ENV[K0('GM')]
  0001  GETTABLE  R2 = R2[K1('MiscModel')]
  0002  SELF      R3 = R2[K2('Set')] (self)
  0003  GETTABUP  R4 = _ENV[K3('EMiscKey')]
  0004  GETTABLE  R4 = R4[K4('SurpriseChestConfigMD5')]
  0005  MOVE      R5 = R0
  0006  CALL      R2 = call(R2, 0 args, 3 rets)
  0007  RETURN    return R0..R-1
; ---------- proto17 [_LoadCachedConfig] ----------
  ; fn ?  line 235-243 np=1 va=0 ms=7 code=24 consts=14 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='MiscModel'
  ;   K[2]='Get'
  ;   K[3]='EMiscKey'
  ;   K[4]='SurpriseChestConfig'
  ;   K[5]=nil
  ;   K[6]='m_cachedConfig'
  ;   K[7]='json'
  ;   K[8]='decode'
  ;   K[9]='StringUtil'
  ;   K[10]='Replace'
  ;   K[11]='@'
  ;   K[12]=','
  ;   K[13]='LoadChestConfig'
  ;   upvals: _ENV
  ;   locals: self(0-24), strConfig(6-24), chestConfig(19-24)
  0000  GETTABUP  R1 = _ENV[K0('GM')]
  0001  GETTABLE  R1 = R1[K1('MiscModel')]
  0002  SELF      R2 = R1[K2('Get')] (self)
  0003  GETTABUP  R3 = _ENV[K3('EMiscKey')]
  0004  GETTABLE  R3 = R3[K4('SurpriseChestConfig')]
  0005  CALL      R1 = call(R1, 1 args, 2 rets)
  0006  EQ        if R0 eq K5(nil)   -> -130291
  0007  JMP       (jump)   -> 10
  0008  SETTABLE  R0[K6('m_cachedConfig')] = K5(nil)
  0009  RETURN    return R0..R-1
  0010  GETTABUP  R2 = _ENV[K7('json')]
  0011  GETTABLE  R2 = R2[K8('decode')]
  0012  GETTABUP  R3 = _ENV[K9('StringUtil')]
  0013  GETTABLE  R3 = R3[K10('Replace')]
  0014  MOVE      R4 = R0
  0015  LOADK     R5 = K11 '@'
  0016  LOADK     R6 = K12 ','
  0017  CALL      R3 = call(R3, -1 args, 3 rets)
  0018  CALL      R2 = call(R2, 1 args, -1 rets)
  0019  SELF      R4 = R0[K13('LoadChestConfig')] (self)
  0020  MOVE      R5 = R0
  0021  CALL      R3 = call(R3, 1 args, 2 rets)
  0022  SETTABLE  R0[K6('m_cachedConfig')] = R3
  0023  RETURN    return R0..R-1
; ---------- proto18 [_SaveCachedConfig] ----------
  ; fn ?  line 247-253 np=2 va=0 ms=9 code=23 consts=14 upvals=1 protos=0
  ;   K[0]='Table'
  ;   K[1]='IsEmpty'
  ;   K[2]='m_cachedConfig'
  ;   K[3]='GM'
  ;   K[4]='MiscModel'
  ;   K[5]='Set'
  ;   K[6]='EMiscKey'
  ;   K[7]='SurpriseChestConfig'
  ;   K[8]='StringUtil'
  ;   K[9]='Replace'
  ;   K[10]='json'
  ;   K[11]='encode'
  ;   K[12]=','
  ;   K[13]='@'
  ;   upvals: _ENV
  ;   locals: self(0-23), chestConfig(0-23)
  0000  GETTABUP  R2 = _ENV[K0('Table')]
  0001  GETTABLE  R2 = R2[K1('IsEmpty')]
  0002  MOVE      R3 = R0
  0003  CALL      R2 = call(R2, 1 args, 1 rets)
  0004  TEST      if not R2 then   -> -131065
  0005  JMP       (jump)   -> 22
  0006  SETTABLE  R0[K2('m_cachedConfig')] = R1
  0007  GETTABUP  R2 = _ENV[K3('GM')]
  0008  GETTABLE  R2 = R2[K4('MiscModel')]
  0009  SELF      R3 = R2[K5('Set')] (self)
  0010  GETTABUP  R4 = _ENV[K6('EMiscKey')]
  0011  GETTABLE  R4 = R4[K7('SurpriseChestConfig')]
  0012  GETTABUP  R5 = _ENV[K8('StringUtil')]
  0013  GETTABLE  R5 = R5[K9('Replace')]
  0014  GETTABUP  R6 = _ENV[K10('json')]
  0015  GETTABLE  R6 = R6[K11('encode')]
  0016  MOVE      R7 = R0
  0017  CALL      R6 = call(R6, 1 args, 1 rets)
  0018  LOADK     R7 = K12 ','
  0019  LOADK     R8 = K13 '@'
  0020  CALL      R5 = call(R5, -1 args, 3 rets)
  0021  CALL      R2 = call(R2, 0 args, -1 rets)
  0022  RETURN    return R0..R-1
; ---------- proto19 [_LoadPropertyCount] ----------
  ; fn ?  line 256-262 np=1 va=0 ms=7 code=25 consts=13 upvals=1 protos=0
  ;   K[0]='m_arrPropertyCount'
  ;   K[1]='GM'
  ;   K[2]='MiscModel'
  ;   K[3]='Get'
  ;   K[4]='EMiscKey'
  ;   K[5]='SurpriseChestPropertyCount'
  ;   K[6]='StringUtil'
  ;   K[7]='IsNilOrEmpty'
  ;   K[8]='json'
  ;   K[9]='decode'
  ;   K[10]='Replace'
  ;   K[11]='@'
  ;   K[12]=','
  ;   upvals: _ENV
  ;   locals: self(0-25), strData(8-25)
  0000  NEWTABLE  R1 = {} (0 items)
  0001  SETTABLE  R0[K0('m_arrPropertyCount')] = R1
  0002  GETTABUP  R1 = _ENV[K1('GM')]
  0003  GETTABLE  R1 = R1[K2('MiscModel')]
  0004  SELF      R2 = R1[K3('Get')] (self)
  0005  GETTABUP  R3 = _ENV[K4('EMiscKey')]
  0006  GETTABLE  R3 = R3[K5('SurpriseChestPropertyCount')]
  0007  CALL      R1 = call(R1, 1 args, 2 rets)
  0008  GETTABUP  R2 = _ENV[K6('StringUtil')]
  0009  GETTABLE  R2 = R2[K7('IsNilOrEmpty')]
  0010  MOVE      R3 = R0
  0011  CALL      R2 = call(R2, 1 args, 1 rets)
  0012  TEST      if not R2 then   -> -131057
  0013  JMP       (jump)   -> 24
  0014  GETTABUP  R2 = _ENV[K8('json')]
  0015  GETTABLE  R2 = R2[K9('decode')]
  0016  GETTABUP  R3 = _ENV[K6('StringUtil')]
  0017  GETTABLE  R3 = R3[K10('Replace')]
  0018  MOVE      R4 = R0
  0019  LOADK     R5 = K11 '@'
  0020  LOADK     R6 = K12 ','
  0021  CALL      R3 = call(R3, -1 args, 3 rets)
  0022  CALL      R2 = call(R2, 1 args, -1 rets)
  0023  SETTABLE  R0[K0('m_arrPropertyCount')] = R2
  0024  RETURN    return R0..R-1
; ---------- proto20 [_SavePropertyCount] ----------
  ; fn ?  line 265-271 np=1 va=0 ms=8 code=29 consts=15 upvals=1 protos=0
  ;   K[0]='Table'
  ;   K[1]='IsEmpty'
  ;   K[2]='m_arrPropertyCount'
  ;   K[3]='GM'
  ;   K[4]='MiscModel'
  ;   K[5]='Remove'
  ;   K[6]='EMiscKey'
  ;   K[7]='SurpriseChestPropertyCount'
  ;   K[8]='Set'
  ;   K[9]='StringUtil'
  ;   K[10]='Replace'
  ;   K[11]='json'
  ;   K[12]='encode'
  ;   K[13]=','
  ;   K[14]='@'
  ;   upvals: _ENV
  ;   locals: self(0-29)
  0000  GETTABUP  R1 = _ENV[K0('Table')]
  0001  GETTABLE  R1 = R1[K1('IsEmpty')]
  0002  GETTABLE  R2 = R0[K2('m_arrPropertyCount')]
  0003  CALL      R1 = call(R1, 1 args, 1 rets)
  0004  TEST      if not R1 then   -> -131066
  0005  JMP       (jump)   -> 13
  0006  GETTABUP  R1 = _ENV[K3('GM')]
  0007  GETTABLE  R1 = R1[K4('MiscModel')]
  0008  SELF      R2 = R1[K5('Remove')] (self)
  0009  GETTABUP  R3 = _ENV[K6('EMiscKey')]
  0010  GETTABLE  R3 = R3[K7('SurpriseChestPropertyCount')]
  0011  CALL      R1 = call(R1, 0 args, 2 rets)
  0012  JMP       (jump)   -> 28
  0013  GETTABUP  R1 = _ENV[K3('GM')]
  0014  GETTABLE  R1 = R1[K4('MiscModel')]
  0015  SELF      R2 = R1[K8('Set')] (self)
  0016  GETTABUP  R3 = _ENV[K6('EMiscKey')]
  0017  GETTABLE  R3 = R3[K7('SurpriseChestPropertyCount')]
  0018  GETTABUP  R4 = _ENV[K9('StringUtil')]
  0019  GETTABLE  R4 = R4[K10('Replace')]
  0020  GETTABUP  R5 = _ENV[K11('json')]
  0021  GETTABLE  R5 = R5[K12('encode')]
  0022  GETTABLE  R6 = R0[K2('m_arrPropertyCount')]
  0023  CALL      R5 = call(R5, 1 args, 1 rets)
  0024  LOADK     R6 = K13 ','
  0025  LOADK     R7 = K14 '@'
  0026  CALL      R4 = call(R4, -1 args, 3 rets)
  0027  CALL      R1 = call(R1, 0 args, -1 rets)
  0028  RETURN    return R0..R-1
; ---------- proto21 [_ClearPropertyCount] ----------
  ; fn ?  line 274-277 np=1 va=0 ms=3 code=5 consts=2 upvals=0 protos=0
  ;   K[0]='m_arrPropertyCount'
  ;   K[1]='_SavePropertyCount'
  ;   locals: self(0-5)
  0000  NEWTABLE  R1 = {} (0 items)
  0001  SETTABLE  R0[K0('m_arrPropertyCount')] = R1
  0002  SELF      R2 = R0[K1('_SavePropertyCount')] (self)
  0003  CALL      R1 = call(R1, 0 args, 1 rets)
  0004  RETURN    return R0..R-1
; ---------- proto22 [_LoadOpeningSurpriseChestData] ----------
  ; fn ?  line 279-289 np=1 va=0 ms=11 code=36 consts=16 upvals=1 protos=0
  ;   K[0]='m_mapOrderId2ChestData'
  ;   K[1]='GM'
  ;   K[2]='MiscModel'
  ;   K[3]='Get'
  ;   K[4]='EMiscKey'
  ;   K[5]='SurpriseChestOpeningData'
  ;   K[6]='StringUtil'
  ;   K[7]='IsNilOrEmpty'
  ;   K[8]='json'
  ;   K[9]='decode'
  ;   K[10]='Replace'
  ;   K[11]='@'
  ;   K[12]=','
  ;   K[13]='pairs'
  ;   K[14]='SurpriseChestData'
  ;   K[15]='Create'
  ;   upvals: _ENV
  ;   locals: self(0-36), strData(8-36), cacheTb(23-35), (for generator)(26-35), (for state)(26-35), (for control)(26-35), orderId(27-33), data(27-33)
  0000  NEWTABLE  R1 = {} (0 items)
  0001  SETTABLE  R0[K0('m_mapOrderId2ChestData')] = R1
  0002  GETTABUP  R1 = _ENV[K1('GM')]
  0003  GETTABLE  R1 = R1[K2('MiscModel')]
  0004  SELF      R2 = R1[K3('Get')] (self)
  0005  GETTABUP  R3 = _ENV[K4('EMiscKey')]
  0006  GETTABLE  R3 = R3[K5('SurpriseChestOpeningData')]
  0007  CALL      R1 = call(R1, 1 args, 2 rets)
  0008  GETTABUP  R2 = _ENV[K6('StringUtil')]
  0009  GETTABLE  R2 = R2[K7('IsNilOrEmpty')]
  0010  MOVE      R3 = R0
  0011  CALL      R2 = call(R2, 1 args, 1 rets)
  0012  TEST      if not R2 then   -> -131057
  0013  JMP       (jump)   -> 35
  0014  GETTABUP  R2 = _ENV[K8('json')]
  0015  GETTABLE  R2 = R2[K9('decode')]
  0016  GETTABUP  R3 = _ENV[K6('StringUtil')]
  0017  GETTABLE  R3 = R3[K10('Replace')]
  0018  MOVE      R4 = R0
  0019  LOADK     R5 = K11 '@'
  0020  LOADK     R6 = K12 ','
  0021  CALL      R3 = call(R3, -1 args, 3 rets)
  0022  CALL      R2 = call(R2, 1 args, -1 rets)
  0023  GETTABUP  R3 = _ENV[K13('pairs')]
  0024  MOVE      R4 = R0
  0025  CALL      R3 = call(R3, 3 args, 1 rets)
  0026  JMP       (jump)   -> 33
  0027  GETTABLE  R8 = R0[K0('m_mapOrderId2ChestData')]
  0028  GETTABUP  R9 = _ENV[K14('SurpriseChestData')]
  0029  GETTABLE  R9 = R9[K15('Create')]
  0030  MOVE      R10 = R0
  0031  CALL      R9 = call(R9, 1 args, 1 rets)
  0032  SETTABLE  R8[R6] = R9
  0033  TFORCALL  tforcall R3
  0034  TFORLOOP  tforloop R5(sBx=-8)   -> 27
  0035  RETURN    return R0..R-1
; ---------- proto23 [_SaveOpeningSurpriseChestData] ----------
  ; fn ?  line 291-301 np=1 va=0 ms=9 code=39 consts=17 upvals=1 protos=0
  ;   K[0]='Table'
  ;   K[1]='IsEmpty'
  ;   K[2]='m_mapOrderId2ChestData'
  ;   K[3]='GM'
  ;   K[4]='MiscModel'
  ;   K[5]='Remove'
  ;   K[6]='EMiscKey'
  ;   K[7]='SurpriseChestOpeningData'
  ;   K[8]='pairs'
  ;   K[9]='ToSerilization'
  ;   K[10]='Set'
  ;   K[11]='StringUtil'
  ;   K[12]='Replace'
  ;   K[13]='json'
  ;   K[14]='encode'
  ;   K[15]=','
  ;   K[16]='@'
  ;   upvals: _ENV
  ;   locals: self(0-39), cacheTb(14-38), (for generator)(17-23), (for state)(17-23), (for control)(17-23), orderId(18-21), chestData(18-21)
  0000  GETTABUP  R1 = _ENV[K0('Table')]
  0001  GETTABLE  R1 = R1[K1('IsEmpty')]
  0002  GETTABLE  R2 = R0[K2('m_mapOrderId2ChestData')]
  0003  CALL      R1 = call(R1, 1 args, 1 rets)
  0004  TEST      if not R1 then   -> -131066
  0005  JMP       (jump)   -> 13
  0006  GETTABUP  R1 = _ENV[K3('GM')]
  0007  GETTABLE  R1 = R1[K4('MiscModel')]
  0008  SELF      R2 = R1[K5('Remove')] (self)
  0009  GETTABUP  R3 = _ENV[K6('EMiscKey')]
  0010  GETTABLE  R3 = R3[K7('SurpriseChestOpeningData')]
  0011  CALL      R1 = call(R1, 0 args, 2 rets)
  0012  JMP       (jump)   -> 38
  0013  NEWTABLE  R1 = {} (0 items)
  0014  GETTABUP  R2 = _ENV[K8('pairs')]
  0015  GETTABLE  R3 = R0[K2('m_mapOrderId2ChestData')]
  0016  CALL      R2 = call(R2, 3 args, 1 rets)
  0017  JMP       (jump)   -> 21
  0018  SELF      R8 = R6[K9('ToSerilization')] (self)
  0019  CALL      R7 = call(R7, 1 args, 1 rets)
  0020  SETTABLE  R1[R5] = R7
  0021  TFORCALL  tforcall R2
  0022  TFORLOOP  tforloop R4(sBx=-5)   -> 18
  0023  GETTABUP  R2 = _ENV[K3('GM')]
  0024  GETTABLE  R2 = R2[K4('MiscModel')]
  0025  SELF      R3 = R2[K10('Set')] (self)
  0026  GETTABUP  R4 = _ENV[K6('EMiscKey')]
  0027  GETTABLE  R4 = R4[K7('SurpriseChestOpeningData')]
  0028  GETTABUP  R5 = _ENV[K11('StringUtil')]
  0029  GETTABLE  R5 = R5[K12('Replace')]
  0030  GETTABUP  R6 = _ENV[K13('json')]
  0031  GETTABLE  R6 = R6[K14('encode')]
  0032  MOVE      R7 = R0
  0033  CALL      R6 = call(R6, 1 args, 1 rets)
  0034  LOADK     R7 = K15 ','
  0035  LOADK     R8 = K16 '@'
  0036  CALL      R5 = call(R5, -1 args, 3 rets)
  0037  CALL      R2 = call(R2, 0 args, -1 rets)
  0038  RETURN    return R0..R-1
; ---------- proto24 [GetTriggerEndTime] ----------
  ; fn ?  line 304-306 np=1 va=0 ms=4 code=8 consts=5 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='MiscModel'
  ;   K[2]='GetInNumber'
  ;   K[3]='EMiscKey'
  ;   K[4]='SurpriseChestTriggerEndTime'
  ;   upvals: _ENV
  ;   locals: self(0-8)
  0000  GETTABUP  R1 = _ENV[K0('GM')]
  0001  GETTABLE  R1 = R1[K1('MiscModel')]
  0002  SELF      R2 = R1[K2('GetInNumber')] (self)
  0003  GETTABUP  R3 = _ENV[K3('EMiscKey')]
  0004  GETTABLE  R3 = R3[K4('SurpriseChestTriggerEndTime')]
  0005  TAILCALL  tailcall(R1, 0)
  0006  RETURN    return R1..R0
  0007  RETURN    return R0..R-1
; ---------- proto25 [_SetTriggerEndTime] ----------
  ; fn ?  line 310-312 np=2 va=0 ms=6 code=8 consts=5 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='MiscModel'
  ;   K[2]='Set'
  ;   K[3]='EMiscKey'
  ;   K[4]='SurpriseChestTriggerEndTime'
  ;   upvals: _ENV
  ;   locals: self(0-8), triggerEndTime(0-8)
  0000  GETTABUP  R2 = _ENV[K0('GM')]
  0001  GETTABLE  R2 = R2[K1('MiscModel')]
  0002  SELF      R3 = R2[K2('Set')] (self)
  0003  GETTABUP  R4 = _ENV[K3('EMiscKey')]
  0004  GETTABLE  R4 = R4[K4('SurpriseChestTriggerEndTime')]
  0005  MOVE      R5 = R0
  0006  CALL      R2 = call(R2, 0 args, 3 rets)
  0007  RETURN    return R0..R-1
; ---------- proto26 [_RemoveTriggerEndTime] ----------
  ; fn ?  line 315-317 np=1 va=0 ms=4 code=7 consts=5 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='MiscModel'
  ;   K[2]='Remove'
  ;   K[3]='EMiscKey'
  ;   K[4]='SurpriseChestTriggerEndTime'
  ;   upvals: _ENV
  ;   locals: self(0-7)
  0000  GETTABUP  R1 = _ENV[K0('GM')]
  0001  GETTABLE  R1 = R1[K1('MiscModel')]
  0002  SELF      R2 = R1[K2('Remove')] (self)
  0003  GETTABUP  R3 = _ENV[K3('EMiscKey')]
  0004  GETTABLE  R3 = R3[K4('SurpriseChestTriggerEndTime')]
  0005  CALL      R1 = call(R1, 0 args, 2 rets)
  0006  RETURN    return R0..R-1
; ---------- proto27 [_GetFirstPropertyCount] ----------
  ; fn ?  line 323-325 np=1 va=0 ms=2 code=4 consts=2 upvals=0 protos=0
  ;   K[0]='m_arrPropertyCount'
  ;   K[1]=1
  ;   locals: self(0-4)
  0000  GETTABLE  R1 = R0[K0('m_arrPropertyCount')]
  0001  GETTABLE  R1 = R1[K1(1)]
  0002  RETURN    return R1..R0
  0003  RETURN    return R0..R-1
; ---------- proto28 [_GetLastPropertyCount] ----------
  ; fn ?  line 327-329 np=1 va=0 ms=3 code=6 consts=1 upvals=0 protos=0
  ;   K[0]='m_arrPropertyCount'
  ;   locals: self(0-6)
  0000  GETTABLE  R1 = R0[K0('m_arrPropertyCount')]
  0001  GETTABLE  R2 = R0[K0('m_arrPropertyCount')]
  0002  LEN       R2 = len R0
  0003  GETTABLE  R1 = R1[R2]
  0004  RETURN    return R1..R0
  0005  RETURN    return R0..R-1
; ---------- proto29 [_PushPropertyCount] ----------
  ; fn ?  line 333-344 np=3 va=0 ms=8 code=26 consts=8 upvals=1 protos=0
  ;   K[0]='_GetLastPropertyCount'
  ;   K[1]=nil
  ;   K[2]='PROPERTY_TYPE'
  ;   K[3]='PROPERTY_COUNT'
  ;   K[4]='table'
  ;   K[5]='insert'
  ;   K[6]='m_arrPropertyCount'
  ;   K[7]='_SavePropertyCount'
  ;   upvals: _ENV
  ;   locals: self(0-26), propertyType(0-26), count(0-26), lastProperty(2-26)
  0000  SELF      R4 = R0[K0('_GetLastPropertyCount')] (self)
  0001  CALL      R3 = call(R3, 1 args, 1 rets)
  0002  EQ        if R1 eq K1(nil)   -> -129275
  0003  JMP       (jump)   -> 14
  0004  GETTABUP  R4 = _ENV[K2('PROPERTY_TYPE')]
  0005  GETTABLE  R4 = R3[R4]
  0006  EQ        if R0 eq R1   -> -129015
  0007  JMP       (jump)   -> 14
  0008  GETTABUP  R4 = _ENV[K3('PROPERTY_COUNT')]
  0009  GETTABUP  R5 = _ENV[K3('PROPERTY_COUNT')]
  0010  GETTABLE  R5 = R3[R5]
  0011  ADD       R5 = R2 add R5
  0012  SETTABLE  R3[R4] = R5
  0013  JMP       (jump)   -> 23
  0014  GETTABUP  R4 = _ENV[K4('table')]
  0015  GETTABLE  R4 = R4[K5('insert')]
  0016  GETTABLE  R5 = R0[K6('m_arrPropertyCount')]
  0017  NEWTABLE  R6 = {} (0 items)
  0018  GETTABUP  R7 = _ENV[K2('PROPERTY_TYPE')]
  0019  SETTABLE  R6[R7] = R1
  0020  GETTABUP  R7 = _ENV[K3('PROPERTY_COUNT')]
  0021  SETTABLE  R6[R7] = R2
  0022  CALL      R4 = call(R4, 0 args, 2 rets)
  0023  SELF      R5 = R0[K7('_SavePropertyCount')] (self)
  0024  CALL      R4 = call(R4, 0 args, 1 rets)
  0025  RETURN    return R0..R-1
; ---------- proto30 [_PeekPropertyCount] ----------
  ; fn ?  line 346-349 np=1 va=0 ms=3 code=8 consts=2 upvals=1 protos=0
  ;   K[0]='_GetFirstPropertyCount'
  ;   K[1]='PROPERTY_TYPE'
  ;   upvals: _ENV
  ;   locals: self(0-8), firstProperty(2-8)
  0000  SELF      R2 = R0[K0('_GetFirstPropertyCount')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  TESTSET   if R0 then R2   -> -130556
  0003  JMP       (jump)   -> 6
  0004  GETTABUP  R2 = _ENV[K1('PROPERTY_TYPE')]
  0005  GETTABLE  R2 = R1[R2]
  0006  RETURN    return R2..R1
  0007  RETURN    return R0..R-1
; ---------- proto31 [_PopPropertyCount] ----------
  ; fn ?  line 352-362 np=2 va=0 ms=9 code=38 consts=16 upvals=1 protos=0
  ;   K[0]='_GetFirstPropertyCount'
  ;   K[1]='PROPERTY_TYPE'
  ;   K[2]='Log'
  ;   K[3]='Error'
  ;   K[4]='[问号宝箱] 资产逻辑错误，消耗类型：'
  ;   K[5]='tostring'
  ;   K[6]='，当前队头类型：'
  ;   K[7]='PROPERTY_COUNT'
  ;   K[8]='SurpriseChestManagerDefinition'
  ;   K[9]='PropertyConsumeCount'
  ;   K[10]=0
  ;   K[11]='table'
  ;   K[12]='remove'
  ;   K[13]='m_arrPropertyCount'
  ;   K[14]=1
  ;   K[15]='_SavePropertyCount'
  ;   upvals: _ENV
  ;   locals: self(0-38), propertyType(0-38), firstProperty(2-38)
  0000  SELF      R3 = R0[K0('_GetFirstPropertyCount')] (self)
  0001  CALL      R2 = call(R2, 1 args, 1 rets)
  0002  GETTABUP  R3 = _ENV[K1('PROPERTY_TYPE')]
  0003  GETTABLE  R3 = R2[R3]
  0004  EQ        if R1 eq R1   -> -129529
  0005  JMP       (jump)   -> 19
  0006  GETTABUP  R3 = _ENV[K2('Log')]
  0007  GETTABLE  R3 = R3[K3('Error')]
  0008  LOADK     R4 = K4 '[问号宝箱] 资产逻辑错误，消耗类型：'
  0009  GETTABUP  R5 = _ENV[K5('tostring')]
  0010  MOVE      R6 = R0
  0011  CALL      R5 = call(R5, 1 args, 1 rets)
  0012  LOADK     R6 = K6 '，当前队头类型：'
  0013  GETTABUP  R7 = _ENV[K5('tostring')]
  0014  GETTABUP  R8 = _ENV[K1('PROPERTY_TYPE')]
  0015  GETTABLE  R8 = R2[R8]
  0016  CALL      R7 = call(R7, 1 args, 1 rets)
  0017  CONCAT    R4 = concat(R4..R4)
  0018  CALL      R3 = call(R3, 0 args, 1 rets)
  0019  GETTABUP  R3 = _ENV[K7('PROPERTY_COUNT')]
  0020  GETTABUP  R4 = _ENV[K7('PROPERTY_COUNT')]
  0021  GETTABLE  R4 = R2[R4]
  0022  GETTABUP  R5 = _ENV[K8('SurpriseChestManagerDefinition')]
  0023  GETTABLE  R5 = R5[K9('PropertyConsumeCount')]
  0024  SUB       R4 = R5 sub R4
  0025  SETTABLE  R2[R3] = R4
  0026  GETTABUP  R3 = _ENV[K7('PROPERTY_COUNT')]
  0027  GETTABLE  R3 = R2[R3]
  0028  LE        if R0 le K10(0)   -> -129240
  0029  JMP       (jump)   -> 35
  0030  GETTABUP  R3 = _ENV[K11('table')]
  0031  GETTABLE  R3 = R3[K12('remove')]
  0032  GETTABLE  R4 = R0[K13('m_arrPropertyCount')]
  0033  LOADK     R5 = K14 1
  0034  CALL      R3 = call(R3, 0 args, 2 rets)
  0035  SELF      R4 = R0[K15('_SavePropertyCount')] (self)
  0036  CALL      R3 = call(R3, 0 args, 1 rets)
  0037  RETURN    return R0..R-1
; ---------- proto32 [_HasSurpriseChestData] ----------
  ; fn ?  line 365-367 np=2 va=0 ms=5 code=9 consts=2 upvals=0 protos=0
  ;   K[0]='GetSurpriseChestData'
  ;   K[1]=nil
  ;   locals: self(0-9), orderId(0-9)
  0000  SELF      R3 = R0[K0('GetSurpriseChestData')] (self)
  0001  MOVE      R4 = R0
  0002  CALL      R2 = call(R2, 1 args, 2 rets)
  0003  EQ        if R0 eq K1(nil)   -> -129786
  0004  JMP       (jump)   -> 6
  0005  LOADBOOL  R2 = false
  0006  LOADBOOL  R2 = true
  0007  RETURN    return R2..R1
  0008  RETURN    return R0..R-1
; ---------- proto33 [GetSurpriseChestData] ----------
  ; fn ?  line 370-372 np=2 va=0 ms=3 code=4 consts=1 upvals=0 protos=0
  ;   K[0]='m_mapOrderId2ChestData'
  ;   locals: self(0-4), orderId(0-4)
  0000  GETTABLE  R2 = R0[K0('m_mapOrderId2ChestData')]
  0001  GETTABLE  R2 = R2[R1]
  0002  RETURN    return R2..R1
  0003  RETURN    return R0..R-1
; ---------- proto34 [GetAllSurpriseChestData] ----------
  ; fn ?  line 374-376 np=1 va=0 ms=2 code=7 consts=3 upvals=1 protos=0
  ;   K[0]='m_mapOrderId2ChestData'
  ;   K[1]='Table'
  ;   K[2]='Empty'
  ;   upvals: _ENV
  ;   locals: self(0-7)
  0000  GETTABLE  R1 = R0[K0('m_mapOrderId2ChestData')]
  0001  TEST      if not R1 then   -> -131068
  0002  JMP       (jump)   -> 5
  0003  GETTABUP  R1 = _ENV[K1('Table')]
  0004  GETTABLE  R1 = R1[K2('Empty')]
  0005  RETURN    return R1..R0
  0006  RETURN    return R0..R-1
; ---------- proto35 [_AddSurpriseChestData] ----------
  ; fn ?  line 378-381 np=3 va=0 ms=6 code=9 consts=4 upvals=1 protos=0
  ;   K[0]='m_mapOrderId2ChestData'
  ;   K[1]='SurpriseChestData'
  ;   K[2]='Create'
  ;   K[3]='_SaveOpeningSurpriseChestData'
  ;   upvals: _ENV
  ;   locals: self(0-9), orderId(0-9), data(0-9)
  0000  GETTABLE  R3 = R0[K0('m_mapOrderId2ChestData')]
  0001  GETTABUP  R4 = _ENV[K1('SurpriseChestData')]
  0002  GETTABLE  R4 = R4[K2('Create')]
  0003  MOVE      R5 = R0
  0004  CALL      R4 = call(R4, 1 args, 1 rets)
  0005  SETTABLE  R3[R1] = R4
  0006  SELF      R4 = R0[K3('_SaveOpeningSurpriseChestData')] (self)
  0007  CALL      R3 = call(R3, 0 args, 1 rets)
  0008  RETURN    return R0..R-1
; ---------- proto36 [_RemoveSurpriseChestData] ----------
  ; fn ?  line 383-386 np=2 va=0 ms=4 code=5 consts=3 upvals=0 protos=0
  ;   K[0]='m_mapOrderId2ChestData'
  ;   K[1]=nil
  ;   K[2]='_SaveOpeningSurpriseChestData'
  ;   locals: self(0-5), orderId(0-5)
  0000  GETTABLE  R2 = R0[K0('m_mapOrderId2ChestData')]
  0001  SETTABLE  R2[R1] = K1(nil)
  0002  SELF      R3 = R0[K2('_SaveOpeningSurpriseChestData')] (self)
  0003  CALL      R2 = call(R2, 0 args, 1 rets)
  0004  RETURN    return R0..R-1
; ---------- proto37 [_ClearSurpriseChestData] ----------
  ; fn ?  line 388-391 np=1 va=0 ms=3 code=5 consts=2 upvals=0 protos=0
  ;   K[0]='m_mapOrderId2ChestData'
  ;   K[1]='_SaveOpeningSurpriseChestData'
  ;   locals: self(0-5)
  0000  NEWTABLE  R1 = {} (0 items)
  0001  SETTABLE  R0[K0('m_mapOrderId2ChestData')] = R1
  0002  SELF      R2 = R0[K1('_SaveOpeningSurpriseChestData')] (self)
  0003  CALL      R1 = call(R1, 0 args, 1 rets)
  0004  RETURN    return R0..R-1
; ---------- proto38 [HasTriggerEndTime] ----------
  ; fn ?  line 393-395 np=1 va=0 ms=3 code=8 consts=2 upvals=0 protos=0
  ;   K[0]='GetTriggerEndTime'
  ;   K[1]=0
  ;   locals: self(0-8)
  0000  SELF      R2 = R0[K0('GetTriggerEndTime')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  EQ        if R0 eq K1(0)   -> -130299
  0003  JMP       (jump)   -> 5
  0004  LOADBOOL  R1 = false
  0005  LOADBOOL  R1 = true
  0006  RETURN    return R1..R0
  0007  RETURN    return R0..R-1
; ---------- proto39 [GetActivityModel] ----------
  ; fn ?  line 402-412 np=1 va=0 ms=10 code=19 consts=6 upvals=1 protos=0
  ;   K[0]='pairs'
  ;   K[1]='SurpriseChestActivityDefinition'
  ;   K[2]='GM'
  ;   K[3]='ActivityManager'
  ;   K[4]='GetModel'
  ;   K[5]=nil
  ;   upvals: _ENV
  ;   locals: self(0-19), model(1-19), (for generator)(4-16), (for state)(4-16), (for control)(4-16), activityType(5-14), activityDefinition(5-14)
  0000  LOADNIL   R1..R1 = nil
  0001  GETTABUP  R2 = _ENV[K0('pairs')]
  0002  GETTABUP  R3 = _ENV[K1('SurpriseChestActivityDefinition')]
  0003  CALL      R2 = call(R2, 3 args, 1 rets)
  0004  JMP       (jump)   -> 14
  0005  GETTABUP  R7 = _ENV[K2('GM')]
  0006  GETTABLE  R7 = R7[K3('ActivityManager')]
  0007  SELF      R8 = R7[K4('GetModel')] (self)
  0008  MOVE      R9 = R0
  0009  CALL      R7 = call(R7, 1 args, 2 rets)
  0010  MOVE      R1 = R0
  0011  EQ        if R1 eq K5(nil)   -> -130286
  0012  JMP       (jump)   -> 14
  0013  RETURN    return R1..R0
  0014  TFORCALL  tforcall R2
  0015  TFORLOOP  tforloop R4(sBx=-11)   -> 5
  0016  LOADNIL   R2..R2 = nil
  0017  RETURN    return R2..R1
  0018  RETURN    return R0..R-1
; ---------- proto40 [IsSurpriseChestProperty] ----------
  ; fn ?  line 420-422 np=2 va=0 ms=3 code=11 consts=3 upvals=1 protos=0
  ;   K[0]=nil
  ;   K[1]='SurpriseChestManagerDefinition'
  ;   K[2]='PropertyTriggerTime'
  ;   upvals: _ENV
  ;   locals: self(0-11), propertyType(0-11)
  0000  EQ        if R1 eq K0(nil)   -> -130302
  0001  JMP       (jump)   -> 7
  0002  GETTABUP  R2 = _ENV[K1('SurpriseChestManagerDefinition')]
  0003  GETTABLE  R2 = R2[K2('PropertyTriggerTime')]
  0004  GETTABLE  R2 = R2[R1]
  0005  EQ        if R0 eq K0(nil)   -> -129785
  0006  JMP       (jump)   -> 8
  0007  LOADBOOL  R2 = false
  0008  LOADBOOL  R2 = true
  0009  RETURN    return R2..R1
  0010  RETURN    return R0..R-1
; ---------- proto41 [GetPropertyTriggerTime] ----------
  ; fn ?  line 426-428 np=2 va=0 ms=3 code=10 consts=3 upvals=1 protos=0
  ;   K[0]='SurpriseChestManagerDefinition'
  ;   K[1]='PropertyTriggerTime'
  ;   K[2]=0
  ;   upvals: _ENV
  ;   locals: self(0-10), propertyType(0-10)
  0000  TEST      if not R1 then   -> -131070
  0001  JMP       (jump)   -> 7
  0002  GETTABUP  R2 = _ENV[K0('SurpriseChestManagerDefinition')]
  0003  GETTABLE  R2 = R2[K1('PropertyTriggerTime')]
  0004  GETTABLE  R2 = R2[R1]
  0005  TEST      if not R2 then   -> -131064
  0006  JMP       (jump)   -> 8
  0007  LOADK     R2 = K2 0
  0008  RETURN    return R2..R1
  0009  RETURN    return R0..R-1
; ---------- proto42 [CheckSurpriseChestValid] ----------
  ; fn ?  line 432-439 np=2 va=0 ms=5 code=11 consts=2 upvals=0 protos=0
  ;   K[0]='HasCurrentConfig'
  ;   K[1]='IsSurpriseChestProperty'
  ;   locals: self(0-11), propertyType(0-11)
  0000  SELF      R3 = R0[K0('HasCurrentConfig')] (self)
  0001  CALL      R2 = call(R2, 1 args, 1 rets)
  0002  TEST      if not R2 then   -> -131067
  0003  JMP       (jump)   -> 6
  0004  LOADBOOL  R2 = false
  0005  RETURN    return R2..R1
  0006  SELF      R3 = R0[K1('IsSurpriseChestProperty')] (self)
  0007  MOVE      R4 = R0
  0008  TAILCALL  tailcall(R2, 0)
  0009  RETURN    return R2..R1
  0010  RETURN    return R0..R-1
; ---------- proto43 [GetSurpriseChestPropertyToTrigger] ----------
  ; fn ?  line 442-444 np=1 va=0 ms=3 code=4 consts=1 upvals=0 protos=0
  ;   K[0]='_PeekPropertyCount'
  ;   locals: self(0-4)
  0000  SELF      R2 = R0[K0('_PeekPropertyCount')] (self)
  0001  TAILCALL  tailcall(R1, 0)
  0002  RETURN    return R1..R0
  0003  RETURN    return R0..R-1
; ---------- proto44 [AcquireSurpriseChestProperty] ----------
  ; fn ?  line 449-452 np=3 va=0 ms=7 code=10 consts=5 upvals=1 protos=0
  ;   K[0]='_PushPropertyCount'
  ;   K[1]='EventDispatcher'
  ;   K[2]='DispatchEvent'
  ;   K[3]='SurpriseChestManagerDefinition'
  ;   K[4]='AcquireSurpriseChestEvent'
  ;   upvals: _ENV
  ;   locals: self(0-10), propertyType(0-10), count(0-10)
  0000  SELF      R4 = R0[K0('_PushPropertyCount')] (self)
  0001  MOVE      R5 = R0
  0002  MOVE      R6 = R0
  0003  CALL      R3 = call(R3, 0 args, 3 rets)
  0004  GETTABUP  R3 = _ENV[K1('EventDispatcher')]
  0005  GETTABLE  R3 = R3[K2('DispatchEvent')]
  0006  GETTABUP  R4 = _ENV[K3('SurpriseChestManagerDefinition')]
  0007  GETTABLE  R4 = R4[K4('AcquireSurpriseChestEvent')]
  0008  CALL      R3 = call(R3, 0 args, 1 rets)
  0009  RETURN    return R0..R-1
; ---------- proto45 [ConsumeSurpriseChestProperty] ----------
  ; fn ?  line 456-462 np=2 va=0 ms=6 code=18 consts=6 upvals=1 protos=0
  ;   K[0]='IsSurpriseChestProperty'
  ;   K[1]='Log'
  ;   K[2]='Error'
  ;   K[3]='[问号宝箱] 不能消耗其他资产类型：'
  ;   K[4]='tostring'
  ;   K[5]='_PopPropertyCount'
  ;   upvals: _ENV
  ;   locals: self(0-18), propertyType(0-18)
  0000  SELF      R3 = R0[K0('IsSurpriseChestProperty')] (self)
  0001  MOVE      R4 = R0
  0002  CALL      R2 = call(R2, 1 args, 2 rets)
  0003  TEST      if not R2 then   -> -131066
  0004  JMP       (jump)   -> 14
  0005  GETTABUP  R2 = _ENV[K1('Log')]
  0006  GETTABLE  R2 = R2[K2('Error')]
  0007  LOADK     R3 = K3 '[问号宝箱] 不能消耗其他资产类型：'
  0008  GETTABUP  R4 = _ENV[K4('tostring')]
  0009  MOVE      R5 = R0
  0010  CALL      R4 = call(R4, 1 args, 1 rets)
  0011  CONCAT    R3 = concat(R3..R3)
  0012  CALL      R2 = call(R2, 0 args, 1 rets)
  0013  RETURN    return R0..R-1
  0014  SELF      R3 = R0[K5('_PopPropertyCount')] (self)
  0015  MOVE      R4 = R0
  0016  CALL      R2 = call(R2, 0 args, 2 rets)
  0017  RETURN    return R0..R-1
; ---------- proto46 [CanTriggerSurpriseChest] ----------
  ; fn ?  line 469-476 np=1 va=0 ms=3 code=13 consts=4 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='MainBoardModel'
  ;   K[2]='GetOrderModel'
  ;   K[3]='HasOrders'
  ;   upvals: _ENV
  ;   locals: self(0-13)
  0000  GETTABUP  R1 = _ENV[K0('GM')]
  0001  GETTABLE  R1 = R1[K1('MainBoardModel')]
  0002  SELF      R2 = R1[K2('GetOrderModel')] (self)
  0003  CALL      R1 = call(R1, 1 args, 1 rets)
  0004  SELF      R2 = R1[K3('HasOrders')] (self)
  0005  CALL      R1 = call(R1, 1 args, 1 rets)
  0006  TEST      if not R1 then   -> -131063
  0007  JMP       (jump)   -> 10
  0008  LOADBOOL  R1 = false
  0009  RETURN    return R1..R0
  0010  LOADBOOL  R1 = true
  0011  RETURN    return R1..R0
  0012  RETURN    return R0..R-1
; ---------- proto47 [CanTriggerSurpriseChestByProperty] ----------
  ; fn ?  line 480-497 np=2 va=0 ms=4 code=24 consts=4 upvals=0 protos=0
  ;   K[0]='CanTriggerSurpriseChest'
  ;   K[1]='HasCurrentConfig'
  ;   K[2]='GetSurpriseChestPropertyToTrigger'
  ;   K[3]=nil
  ;   locals: self(0-24), propertyType(0-24), propertyTypeToTrigger(13-24)
  0000  SELF      R3 = R0[K0('CanTriggerSurpriseChest')] (self)
  0001  CALL      R2 = call(R2, 1 args, 1 rets)
  0002  TEST      if not R2 then   -> -131067
  0003  JMP       (jump)   -> 5
  0004  RETURN    return R0..R-1
  0005  SELF      R3 = R0[K1('HasCurrentConfig')] (self)
  0006  CALL      R2 = call(R2, 1 args, 1 rets)
  0007  TEST      if not R2 then   -> -131062
  0008  JMP       (jump)   -> 11
  0009  LOADBOOL  R2 = false
  0010  RETURN    return R2..R1
  0011  SELF      R3 = R0[K2('GetSurpriseChestPropertyToTrigger')] (self)
  0012  CALL      R2 = call(R2, 1 args, 1 rets)
  0013  EQ        if R0 eq K3(nil)   -> -129774
  0014  JMP       (jump)   -> 16
  0015  RETURN    return R0..R-1
  0016  EQ        if R1 eq K3(nil)   -> -130283
  0017  JMP       (jump)   -> 21
  0018  EQ        if R1 eq R2   -> -130538
  0019  JMP       (jump)   -> 21
  0020  LOADBOOL  R3 = false
  0021  LOADBOOL  R3 = true
  0022  RETURN    return R3..R2
  0023  RETURN    return R0..R-1
; ---------- proto48 [TriggerSurpriseChest] ----------
  ; fn ?  line 502-515 np=3 va=0 ms=9 code=31 consts=8 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='GameModel'
  ;   K[2]='GetServerTime'
  ;   K[3]='GetTriggerEndTime'
  ;   K[4]='IsInTriggerTime'
  ;   K[5]='_SetTriggerEndTime'
  ;   K[6]='_UpdateSurpriseChestData'
  ;   K[7]='_LogTriggerSurpriseChest'
  ;   upvals: _ENV
  ;   locals: self(0-31), eType(0-31), duration(0-31), serverTime(4-31), currentTriggerEndTime(6-31)
  0000  GETTABUP  R3 = _ENV[K0('GM')]
  0001  GETTABLE  R3 = R3[K1('GameModel')]
  0002  SELF      R4 = R3[K2('GetServerTime')] (self)
  0003  CALL      R3 = call(R3, 1 args, 1 rets)
  0004  SELF      R5 = R0[K3('GetTriggerEndTime')] (self)
  0005  CALL      R4 = call(R4, 1 args, 1 rets)
  0006  SELF      R6 = R0[K4('IsInTriggerTime')] (self)
  0007  CALL      R5 = call(R5, 1 args, 1 rets)
  0008  TEST      if not R5 then   -> -131062
  0009  JMP       (jump)   -> 16
  0010  SELF      R6 = R0[K5('_SetTriggerEndTime')] (self)
  0011  SELF      R8 = R0[K3('GetTriggerEndTime')] (self)
  0012  CALL      R7 = call(R7, 1 args, 1 rets)
  0013  ADD       R7 = R2 add R7
  0014  CALL      R5 = call(R5, 0 args, 2 rets)
  0015  JMP       (jump)   -> 26
  0016  SELF      R6 = R0[K5('_SetTriggerEndTime')] (self)
  0017  GETTABUP  R7 = _ENV[K0('GM')]
  0018  GETTABLE  R7 = R7[K1('GameModel')]
  0019  SELF      R8 = R7[K2('GetServerTime')] (self)
  0020  CALL      R7 = call(R7, 1 args, 1 rets)
  0021  ADD       R7 = R2 add R7
  0022  CALL      R5 = call(R5, 0 args, 2 rets)
  0023  SELF      R6 = R0[K6('_UpdateSurpriseChestData')] (self)
  0024  LOADBOOL  R7 = true
  0025  CALL      R5 = call(R5, 0 args, 2 rets)
  0026  SELF      R6 = R0[K7('_LogTriggerSurpriseChest')] (self)
  0027  MOVE      R7 = R0
  0028  MOVE      R8 = R0
  0029  CALL      R5 = call(R5, 0 args, 3 rets)
  0030  RETURN    return R0..R-1
; ---------- proto49 [TriggerSurpriseChestByProperty] ----------
  ; fn ?  line 518-522 np=2 va=0 ms=9 code=13 consts=3 upvals=0 protos=0
  ;   K[0]='GetPropertyTriggerTime'
  ;   K[1]='TriggerSurpriseChest'
  ;   K[2]='ConsumeSurpriseChestProperty'
  ;   locals: self(0-13), propertyType(0-13), duration(3-13)
  0000  SELF      R3 = R0[K0('GetPropertyTriggerTime')] (self)
  0001  MOVE      R4 = R0
  0002  CALL      R2 = call(R2, 1 args, 2 rets)
  0003  SELF      R4 = R0[K1('TriggerSurpriseChest')] (self)
  0004  MOVE      R5 = R0
  0005  SELF      R7 = R0[K0('GetPropertyTriggerTime')] (self)
  0006  MOVE      R8 = R0
  0007  CALL      R6 = call(R6, -1 args, 2 rets)
  0008  CALL      R3 = call(R3, 0 args, -1 rets)
  0009  SELF      R4 = R0[K2('ConsumeSurpriseChestProperty')] (self)
  0010  MOVE      R5 = R0
  0011  CALL      R3 = call(R3, 0 args, 2 rets)
  0012  RETURN    return R0..R-1
; ---------- proto50 [GetTriggerData] ----------
  ; fn ?  line 525-534 np=1 va=0 ms=10 code=17 consts=6 upvals=1 protos=2
  ;   K[0]='GetSurpriseChestPropertyToTrigger'
  ;   K[1]='SurpriseChestTriggerData'
  ;   K[2]='Create'
  ;   K[3]='ESurpriseChestTriggerType'
  ;   K[4]='RewardBuff'
  ;   K[5]='GetPropertyTriggerTime'
  ;   upvals: _ENV
  ;   locals: self(0-17), propertyType(2-17), funcCanTrigger(3-17), funcTrigger(4-17)
  0000  SELF      R2 = R0[K0('GetSurpriseChestPropertyToTrigger')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  CLOSURE   R2 = closure proto0
  0003  CLOSURE   R3 = closure proto1
  0004  GETTABUP  R4 = _ENV[K1('SurpriseChestTriggerData')]
  0005  GETTABLE  R4 = R4[K2('Create')]
  0006  GETTABUP  R5 = _ENV[K3('ESurpriseChestTriggerType')]
  0007  GETTABLE  R5 = R5[K4('RewardBuff')]
  0008  SELF      R7 = R0[K5('GetPropertyTriggerTime')] (self)
  0009  MOVE      R8 = R0
  0010  CALL      R6 = call(R6, 1 args, 2 rets)
  0011  MOVE      R7 = R0
  0012  MOVE      R8 = R0
  0013  MOVE      R9 = R0
  0014  TAILCALL  tailcall(R4, 0)
  0015  RETURN    return R4..R3
  0016  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 527-529 np=0 va=0 ms=3 code=6 consts=1 upvals=2 protos=0
    ;   K[0]='CanTriggerSurpriseChestByProperty'
    ;   upvals: self, propertyType
    0000  GETUPVAL  R0 = self
    0001  SELF      R1 = R0[K0('CanTriggerSurpriseChestByProperty')] (self)
    0002  GETUPVAL  R2 = self
    0003  TAILCALL  tailcall(R0, 0)
    0004  RETURN    return R0..R-1
    0005  RETURN    return R0..R-1
  ; ---------- proto1 [] ----------
    ; fn ?  line 530-532 np=0 va=0 ms=3 code=5 consts=1 upvals=2 protos=0
    ;   K[0]='TriggerSurpriseChestByProperty'
    ;   upvals: self, propertyType
    0000  GETUPVAL  R0 = self
    0001  SELF      R1 = R0[K0('TriggerSurpriseChestByProperty')] (self)
    0002  GETUPVAL  R2 = self
    0003  CALL      R0 = call(R0, 0 args, 2 rets)
    0004  RETURN    return R0..R-1
; ---------- proto51 [GetLeftDuration] ----------
  ; fn ?  line 541-543 np=1 va=0 ms=4 code=9 consts=4 upvals=1 protos=0
  ;   K[0]='GetTriggerEndTime'
  ;   K[1]='GM'
  ;   K[2]='GameModel'
  ;   K[3]='GetServerTime'
  ;   upvals: _ENV
  ;   locals: self(0-9)
  0000  SELF      R2 = R0[K0('GetTriggerEndTime')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  GETTABUP  R2 = _ENV[K1('GM')]
  0003  GETTABLE  R2 = R2[K2('GameModel')]
  0004  SELF      R3 = R2[K3('GetServerTime')] (self)
  0005  CALL      R2 = call(R2, 1 args, 1 rets)
  0006  SUB       R1 = R2 sub R1
  0007  RETURN    return R1..R0
  0008  RETURN    return R0..R-1
; ---------- proto52 [IsInTriggerTime] ----------
  ; fn ?  line 546-548 np=1 va=0 ms=3 code=8 consts=2 upvals=0 protos=0
  ;   K[0]='GetLeftDuration'
  ;   K[1]=0
  ;   locals: self(0-8)
  0000  SELF      R2 = R0[K0('GetLeftDuration')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  LT        if R1 lt R1   -> 517
  0003  JMP       (jump)   -> 5
  0004  LOADBOOL  R1 = false
  0005  LOADBOOL  R1 = true
  0006  RETURN    return R1..R0
  0007  RETURN    return R0..R-1
; ---------- proto53 [UpdatePerSecond] ----------
  ; fn ?  line 550-562 np=1 va=0 ms=3 code=28 consts=11 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='CheckResourcesStageFinished'
  ;   K[2]='HasTriggerEndTime'
  ;   K[3]='IsInTriggerTime'
  ;   K[4]='EventDispatcher'
  ;   K[5]='DispatchEvent'
  ;   K[6]='SurpriseChestManagerDefinition'
  ;   K[7]='StateChangedEvent'
  ;   K[8]='RefreshEntryEvent'
  ;   K[9]='_RemoveTriggerEndTime'
  ;   K[10]='_ClearSurpriseChestData'
  ;   upvals: _ENV
  ;   locals: self(0-28)
  0000  GETTABUP  R1 = _ENV[K0('GM')]
  0001  GETTABLE  R1 = R1[K1('CheckResourcesStageFinished')]
  0002  TEST      if not R1 then   -> -131067
  0003  JMP       (jump)   -> 5
  0004  RETURN    return R0..R-1
  0005  SELF      R2 = R0[K2('HasTriggerEndTime')] (self)
  0006  CALL      R1 = call(R1, 1 args, 1 rets)
  0007  TEST      if not R1 then   -> -131063
  0008  JMP       (jump)   -> 27
  0009  SELF      R2 = R0[K3('IsInTriggerTime')] (self)
  0010  CALL      R1 = call(R1, 1 args, 1 rets)
  0011  TEST      if not R1 then   -> -131058
  0012  JMP       (jump)   -> 27
  0013  GETTABUP  R1 = _ENV[K4('EventDispatcher')]
  0014  GETTABLE  R1 = R1[K5('DispatchEvent')]
  0015  GETTABUP  R2 = _ENV[K6('SurpriseChestManagerDefinition')]
  0016  GETTABLE  R2 = R2[K7('StateChangedEvent')]
  0017  CALL      R1 = call(R1, 0 args, 1 rets)
  0018  GETTABUP  R1 = _ENV[K4('EventDispatcher')]
  0019  GETTABLE  R1 = R1[K5('DispatchEvent')]
  0020  GETTABUP  R2 = _ENV[K6('SurpriseChestManagerDefinition')]
  0021  GETTABLE  R2 = R2[K8('RefreshEntryEvent')]
  0022  CALL      R1 = call(R1, 0 args, 1 rets)
  0023  SELF      R2 = R0[K9('_RemoveTriggerEndTime')] (self)
  0024  CALL      R1 = call(R1, 0 args, 1 rets)
  0025  SELF      R2 = R0[K10('_ClearSurpriseChestData')] (self)
  0026  CALL      R1 = call(R1, 0 args, 1 rets)
  0027  RETURN    return R0..R-1
; ---------- proto54 [UpdateSurpriseChestDataInTriggerTime] ----------
  ; fn ?  line 568-577 np=1 va=0 ms=3 code=12 consts=5 upvals=0 protos=0
  ;   K[0]='m_bLateInited'
  ;   K[1]='m_bNeedUpdateSurpriseChestDataInLateInit'
  ;   K[2]=true
  ;   K[3]='IsInTriggerTime'
  ;   K[4]='_UpdateSurpriseChestData'
  ;   locals: self(0-12)
  0000  GETTABLE  R1 = R0[K0('m_bLateInited')]
  0001  TEST      if not R1 then   -> -131068
  0002  JMP       (jump)   -> 5
  0003  SETTABLE  R0[K1('m_bNeedUpdateSurpriseChestDataInLateInit')] = K2(true)
  0004  RETURN    return R0..R-1
  0005  SELF      R2 = R0[K3('IsInTriggerTime')] (self)
  0006  CALL      R1 = call(R1, 1 args, 1 rets)
  0007  TEST      if not R1 then   -> -131063
  0008  JMP       (jump)   -> 11
  0009  SELF      R2 = R0[K4('_UpdateSurpriseChestData')] (self)
  0010  CALL      R1 = call(R1, 0 args, 1 rets)
  0011  RETURN    return R0..R-1
; ---------- proto55 [_UpdateSurpriseChestData] ----------
  ; fn ?  line 581-599 np=2 va=0 ms=16 code=45 consts=17 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='MainBoardModel'
  ;   K[2]='GetOrders'
  ;   K[3]='Table'
  ;   K[4]='IsEmpty'
  ;   K[5]='pairs'
  ;   K[6]='_HasSurpriseChestData'
  ;   K[7]='GetId'
  ;   K[8]='_GetValidSurpriseChestData'
  ;   K[9]=nil
  ;   K[10]='_AddSurpriseChestData'
  ;   K[11]='ToSerilization'
  ;   K[12]='GetOrderScore'
  ;   K[13]='EventDispatcher'
  ;   K[14]='DispatchEvent'
  ;   K[15]='SurpriseChestManagerDefinition'
  ;   K[16]='ChestDataStateChangedEvent'
  ;   upvals: _ENV
  ;   locals: self(0-45), bTriggered(0-45), orders(4-45), chestData(12-45), (for generator)(15-38), (for state)(15-38), (for control)(15-38), _(16-36), order(16-36)
  0000  GETTABUP  R2 = _ENV[K0('GM')]
  0001  GETTABLE  R2 = R2[K1('MainBoardModel')]
  0002  SELF      R3 = R2[K2('GetOrders')] (self)
  0003  CALL      R2 = call(R2, 1 args, 1 rets)
  0004  GETTABUP  R3 = _ENV[K3('Table')]
  0005  GETTABLE  R3 = R3[K4('IsEmpty')]
  0006  MOVE      R4 = R0
  0007  CALL      R3 = call(R3, 1 args, 1 rets)
  0008  TEST      if not R3 then   -> -131062
  0009  JMP       (jump)   -> 11
  0010  RETURN    return R0..R-1
  0011  LOADNIL   R3..R3 = nil
  0012  GETTABUP  R4 = _ENV[K5('pairs')]
  0013  MOVE      R5 = R0
  0014  CALL      R4 = call(R4, 3 args, 1 rets)
  0015  JMP       (jump)   -> 36
  0016  SELF      R10 = R0[K6('_HasSurpriseChestData')] (self)
  0017  SELF      R12 = R8[K7('GetId')] (self)
  0018  CALL      R11 = call(R11, -1 args, 1 rets)
  0019  CALL      R9 = call(R9, 1 args, -1 rets)
  0020  TEST      if not R9 then   -> -131049
  0021  JMP       (jump)   -> 36
  0022  SELF      R10 = R0[K8('_GetValidSurpriseChestData')] (self)
  0023  MOVE      R11 = R0
  0024  CALL      R9 = call(R9, 1 args, 2 rets)
  0025  MOVE      R3 = R0
  0026  EQ        if R1 eq K9(nil)   -> -129243
  0027  JMP       (jump)   -> 36
  0028  SELF      R10 = R0[K10('_AddSurpriseChestData')] (self)
  0029  SELF      R12 = R8[K7('GetId')] (self)
  0030  CALL      R11 = call(R11, 1 args, 1 rets)
  0031  SELF      R13 = R3[K11('ToSerilization')] (self)
  0032  SELF      R15 = R8[K12('GetOrderScore')] (self)
  0033  CALL      R14 = call(R14, -1 args, 1 rets)
  0034  CALL      R12 = call(R12, -1 args, -1 rets)
  0035  CALL      R9 = call(R9, 0 args, -1 rets)
  0036  TFORCALL  tforcall R4
  0037  TFORLOOP  tforloop R6(sBx=-22)   -> 16
  0038  GETTABUP  R4 = _ENV[K13('EventDispatcher')]
  0039  GETTABLE  R4 = R4[K14('DispatchEvent')]
  0040  GETTABUP  R5 = _ENV[K15('SurpriseChestManagerDefinition')]
  0041  GETTABLE  R5 = R5[K16('ChestDataStateChangedEvent')]
  0042  MOVE      R6 = R0
  0043  CALL      R4 = call(R4, 0 args, 2 rets)
  0044  RETURN    return R0..R-1
; ---------- proto56 [GetAcquiredRewardsByOrderId] ----------
  ; fn ?  line 606-608 np=2 va=0 ms=3 code=4 consts=1 upvals=0 protos=0
  ;   K[0]='m_mapOrderId2AcquiredRewards'
  ;   locals: self(0-4), orderId(0-4)
  0000  GETTABLE  R2 = R0[K0('m_mapOrderId2AcquiredRewards')]
  0001  GETTABLE  R2 = R2[R1]
  0002  RETURN    return R2..R1
  0003  RETURN    return R0..R-1
; ---------- proto57 [CanAcquireChestRewards] ----------
  ; fn ?  line 612-615 np=2 va=0 ms=5 code=9 consts=2 upvals=0 protos=0
  ;   K[0]='IsInTriggerTime'
  ;   K[1]='_HasSurpriseChestData'
  ;   locals: self(0-9), orderId(0-9)
  0000  SELF      R3 = R0[K0('IsInTriggerTime')] (self)
  0001  CALL      R2 = call(R2, 1 args, 1 rets)
  0002  TEST      if not R2 then   -> -131068
  0003  JMP       (jump)   -> 7
  0004  SELF      R3 = R0[K1('_HasSurpriseChestData')] (self)
  0005  MOVE      R4 = R0
  0006  CALL      R2 = call(R2, 1 args, 2 rets)
  0007  RETURN    return R2..R1
  0008  RETURN    return R0..R-1
; ---------- proto58 [TryAcquireChestRewards] ----------
  ; fn ?  line 619-630 np=2 va=0 ms=11 code=32 consts=15 upvals=1 protos=0
  ;   K[0]='CanAcquireChestRewards'
  ;   K[1]='GetSurpriseChestData'
  ;   K[2]='RandomSelectRewards'
  ;   K[3]='Table'
  ;   K[4]='IsEmpty'
  ;   K[5]='RewardApi'
  ;   K[6]='AcquireRewardsLogic'
  ;   K[7]='EPropertySource'
  ;   K[8]='Give'
  ;   K[9]='EBIType'
  ;   K[10]='AcquireChestRewards'
  ;   K[11]='ERewardScene'
  ;   K[12]='Other'
  ;   K[13]='CacheItemType'
  ;   K[14]='Stack'
  ;   upvals: _ENV
  ;   locals: self(0-32), orderId(0-32), chestData(9-32), rewards(11-32)
  0000  SELF      R3 = R0[K0('CanAcquireChestRewards')] (self)
  0001  MOVE      R4 = R0
  0002  CALL      R2 = call(R2, 1 args, 2 rets)
  0003  TEST      if not R2 then   -> -131066
  0004  JMP       (jump)   -> 6
  0005  RETURN    return R0..R-1
  0006  SELF      R3 = R0[K1('GetSurpriseChestData')] (self)
  0007  MOVE      R4 = R0
  0008  CALL      R2 = call(R2, 1 args, 2 rets)
  0009  SELF      R4 = R2[K2('RandomSelectRewards')] (self)
  0010  CALL      R3 = call(R3, 1 args, 1 rets)
  0011  GETTABUP  R4 = _ENV[K3('Table')]
  0012  GETTABLE  R4 = R4[K4('IsEmpty')]
  0013  MOVE      R5 = R0
  0014  CALL      R4 = call(R4, 1 args, 1 rets)
  0015  TEST      if not R4 then   -> -131054
  0016  JMP       (jump)   -> 30
  0017  GETTABUP  R4 = _ENV[K5('RewardApi')]
  0018  GETTABLE  R4 = R4[K6('AcquireRewardsLogic')]
  0019  MOVE      R5 = R0
  0020  GETTABUP  R6 = _ENV[K7('EPropertySource')]
  0021  GETTABLE  R6 = R6[K8('Give')]
  0022  GETTABUP  R7 = _ENV[K9('EBIType')]
  0023  GETTABLE  R7 = R7[K10('AcquireChestRewards')]
  0024  GETTABUP  R8 = _ENV[K11('ERewardScene')]
  0025  GETTABLE  R8 = R8[K12('Other')]
  0026  LOADNIL   R9..R9 = nil
  0027  GETTABUP  R10 = _ENV[K13('CacheItemType')]
  0028  GETTABLE  R10 = R10[K14('Stack')]
  0029  CALL      R4 = call(R4, 0 args, 6 rets)
  0030  RETURN    return R3..R2
  0031  RETURN    return R0..R-1
; ---------- proto59 [_OnOrderFinished] ----------
  ; fn ?  line 636-650 np=2 va=0 ms=8 code=25 consts=6 upvals=0 protos=0
  ;   K[0]='order'
  ;   K[1]=nil
  ;   K[2]='GetId'
  ;   K[3]='TryAcquireChestRewards'
  ;   K[4]='_RemoveSurpriseChestData'
  ;   K[5]='m_mapOrderId2AcquiredRewards'
  ;   locals: self(0-25), msg(0-25), order(3-25), rewards(4-25), orderId(8-24)
  0000  TESTSET   if R0 then R2   -> -130558
  0001  JMP       (jump)   -> 3
  0002  GETTABLE  R2 = R1[K0('order')]
  0003  LOADNIL   R3..R3 = nil
  0004  EQ        if R1 eq K1(nil)   -> -129785
  0005  JMP       (jump)   -> 24
  0006  SELF      R5 = R2[K2('GetId')] (self)
  0007  CALL      R4 = call(R4, 1 args, 1 rets)
  0008  SELF      R6 = R0[K3('TryAcquireChestRewards')] (self)
  0009  MOVE      R7 = R0
  0010  CALL      R5 = call(R5, 1 args, 2 rets)
  0011  MOVE      R3 = R0
  0012  SELF      R6 = R0[K4('_RemoveSurpriseChestData')] (self)
  0013  MOVE      R7 = R0
  0014  CALL      R5 = call(R5, 0 args, 2 rets)
  0015  GETTABLE  R5 = R0[K5('m_mapOrderId2AcquiredRewards')]
  0016  TEST      if not R5 then   -> -131053
  0017  JMP       (jump)   -> 19
  0018  NEWTABLE  R5 = {} (0 items)
  0019  SETTABLE  R0[K5('m_mapOrderId2AcquiredRewards')] = R5
  0020  GETTABLE  R5 = R0[K5('m_mapOrderId2AcquiredRewards')]
  0021  SELF      R7 = R2[K2('GetId')] (self)
  0022  CALL      R6 = call(R6, 1 args, 1 rets)
  0023  SETTABLE  R5[R6] = R3
  0024  RETURN    return R0..R-1
; ---------- proto60 [_OnOrderStateChanged] ----------
  ; fn ?  line 652-654 np=1 va=0 ms=3 code=3 consts=1 upvals=0 protos=0
  ;   K[0]='UpdateSurpriseChestDataInTriggerTime'
  ;   locals: self(0-3)
  0000  SELF      R2 = R0[K0('UpdateSurpriseChestDataInTriggerTime')] (self)
  0001  CALL      R1 = call(R1, 0 args, 1 rets)
  0002  RETURN    return R0..R-1
; ---------- proto61 [GetType] ----------
  ; fn ?  line 661-664 np=1 va=0 ms=2 code=4 consts=2 upvals=1 protos=0
  ;   K[0]='ActivityType'
  ;   K[1]='SurpriseChest'
  ;   upvals: _ENV
  ;   locals: self(0-4)
  0000  GETTABUP  R1 = _ENV[K0('ActivityType')]
  0001  GETTABLE  R1 = R1[K1('SurpriseChest')]
  0002  RETURN    return R1..R0
  0003  RETURN    return R0..R-1
; ---------- proto62 [GetOrderCellTopLeftEntryShowConfig] ----------
  ; fn ?  line 667-678 np=1 va=0 ms=5 code=18 consts=10 upvals=1 protos=1
  ;   K[0]='entryPrefabName'
  ;   K[1]='SurpriseChestManagerDefinition'
  ;   K[2]='SurpriseChestViewPrefabName'
  ;   K[3]='eEntryRootKey'
  ;   K[4]='EEntryRootKey'
  ;   K[5]='SurpriseChest'
  ;   K[6]='checkFun'
  ;   K[7]='events'
  ;   K[8]='RefreshEntryEvent'
  ;   K[9]='ChestDataStateChangedEvent'
  ;   upvals: _ENV
  ;   locals: self(0-18)
  0000  NEWTABLE  R1 = {} (0 items)
  0001  GETTABUP  R2 = _ENV[K1('SurpriseChestManagerDefinition')]
  0002  GETTABLE  R2 = R2[K2('SurpriseChestViewPrefabName')]
  0003  SETTABLE  R1[K0('entryPrefabName')] = R2
  0004  GETTABUP  R2 = _ENV[K4('EEntryRootKey')]
  0005  GETTABLE  R2 = R2[K5('SurpriseChest')]
  0006  SETTABLE  R1[K3('eEntryRootKey')] = R2
  0007  CLOSURE   R2 = closure proto0
  0008  SETTABLE  R1[K6('checkFun')] = R2
  0009  NEWTABLE  R2 = {} (2 items)
  0010  GETTABUP  R3 = _ENV[K1('SurpriseChestManagerDefinition')]
  0011  GETTABLE  R3 = R3[K8('RefreshEntryEvent')]
  0012  GETTABUP  R4 = _ENV[K1('SurpriseChestManagerDefinition')]
  0013  GETTABLE  R4 = R4[K9('ChestDataStateChangedEvent')]
  0014  SETLIST   setlist R2[B=1,C=2]
  0015  SETTABLE  R1[K7('events')] = R2
  0016  RETURN    return R1..R0
  0017  RETURN    return R0..R-1
  ; ---------- proto0 [checkFun] ----------
    ; fn ?  line 673-675 np=1 va=0 ms=5 code=12 consts=3 upvals=1 protos=0
    ;   K[0]='IsInTriggerTime'
    ;   K[1]='_HasSurpriseChestData'
    ;   K[2]='GetId'
    ;   upvals: self
    ;   locals: order(0-12)
    0000  GETUPVAL  R1 = self
    0001  SELF      R2 = R1[K0('IsInTriggerTime')] (self)
    0002  CALL      R1 = call(R1, 1 args, 1 rets)
    0003  TEST      if not R1 then   -> -131067
    0004  JMP       (jump)   -> 10
    0005  GETUPVAL  R1 = self
    0006  SELF      R2 = R1[K1('_HasSurpriseChestData')] (self)
    0007  SELF      R4 = R0[K2('GetId')] (self)
    0008  CALL      R3 = call(R3, -1 args, 1 rets)
    0009  CALL      R1 = call(R1, 1 args, -1 rets)
    0010  RETURN    return R1..R0
    0011  RETURN    return R0..R-1
; ---------- proto63 [GetCountDownText] ----------
  ; fn ?  line 685-687 np=2 va=0 ms=7 code=9 consts=3 upvals=1 protos=0
  ;   K[0]='TimeUtil'
  ;   K[1]='ParseTimeDescription'
  ;   K[2]=2
  ;   upvals: _ENV
  ;   locals: self(0-9), duration(0-9)
  0000  GETTABUP  R2 = _ENV[K0('TimeUtil')]
  0001  GETTABLE  R2 = R2[K1('ParseTimeDescription')]
  0002  MOVE      R3 = R0
  0003  LOADK     R4 = K2 2
  0004  LOADBOOL  R5 = false
  0005  LOADBOOL  R6 = true
  0006  TAILCALL  tailcall(R2, 0)
  0007  RETURN    return R2..R1
  0008  RETURN    return R0..R-1
; ---------- proto64 [TestGetPropertyCountInfo] ----------
  ; fn ?  line 689-695 np=1 va=0 ms=13 code=28 consts=10 upvals=1 protos=0
  ;   K[0]='ipairs'
  ;   K[1]='m_arrPropertyCount'
  ;   K[2]='table'
  ;   K[3]='insert'
  ;   K[4]='tostring'
  ;   K[5]='PROPERTY_TYPE'
  ;   K[6]=': '
  ;   K[7]='PROPERTY_COUNT'
  ;   K[8]='concat'
  ;   K[9]=', '
  ;   upvals: _ENV
  ;   locals: self(0-28), str(1-28), (for generator)(4-21), (for state)(4-21), (for control)(4-21), _(5-19), property(5-19)
  0000  NEWTABLE  R1 = {} (0 items)
  0001  GETTABUP  R2 = _ENV[K0('ipairs')]
  0002  GETTABLE  R3 = R0[K1('m_arrPropertyCount')]
  0003  CALL      R2 = call(R2, 3 args, 1 rets)
  0004  JMP       (jump)   -> 19
  0005  GETTABUP  R7 = _ENV[K2('table')]
  0006  GETTABLE  R7 = R7[K3('insert')]
  0007  MOVE      R8 = R0
  0008  GETTABUP  R9 = _ENV[K4('tostring')]
  0009  GETTABUP  R10 = _ENV[K5('PROPERTY_TYPE')]
  0010  GETTABLE  R10 = R6[R10]
  0011  CALL      R9 = call(R9, 1 args, 1 rets)
  0012  LOADK     R10 = K6 ': '
  0013  GETTABUP  R11 = _ENV[K4('tostring')]
  0014  GETTABUP  R12 = _ENV[K7('PROPERTY_COUNT')]
  0015  GETTABLE  R12 = R6[R12]
  0016  CALL      R11 = call(R11, 1 args, 1 rets)
  0017  CONCAT    R9 = concat(R9..R9)
  0018  CALL      R7 = call(R7, 0 args, 2 rets)
  0019  TFORCALL  tforcall R2
  0020  TFORLOOP  tforloop R4(sBx=-16)   -> 5
  0021  GETTABUP  R2 = _ENV[K2('table')]
  0022  GETTABLE  R2 = R2[K8('concat')]
  0023  MOVE      R3 = R0
  0024  LOADK     R4 = K9 ', '
  0025  TAILCALL  tailcall(R2, 0)
  0026  RETURN    return R2..R1
  0027  RETURN    return R0..R-1
; ---------- proto65 [_LogTriggerSurpriseChest] ----------
  ; fn ?  line 703-705 np=3 va=0 ms=9 code=10 consts=5 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='BIManager'
  ;   K[2]='LogAcquire'
  ;   K[3]='EBIType'
  ;   K[4]='TriggerSurpriseChest'
  ;   upvals: _ENV
  ;   locals: self(0-10), eType(0-10), duration(0-10)
  0000  GETTABUP  R3 = _ENV[K0('GM')]
  0001  GETTABLE  R3 = R3[K1('BIManager')]
  0002  SELF      R4 = R3[K2('LogAcquire')] (self)
  0003  MOVE      R5 = R0
  0004  MOVE      R6 = R0
  0005  GETTABUP  R7 = _ENV[K3('EBIType')]
  0006  GETTABLE  R7 = R7[K4('TriggerSurpriseChest')]
  0007  LOADBOOL  R8 = true
  0008  CALL      R3 = call(R3, 0 args, 5 rets)
  0009  RETURN    return R0..R-1
