# ExtraBoardActivity_Model_ExtraBoardActivityModel_999.luac
; fn @ExtraBoardActivityModel.lua  line 0-0 np=0 va=1 ms=6 code=212 consts=107 upvals=1 protos=55
;   K[0]='ExtraBoardActivityEventType'
;   K[1]='StateChanged'
;   K[2]=1
;   K[3]='ExtraBoardActivityModel'
;   K[4]='setmetatable'
;   K[5]='eModelType'
;   K[6]='ActivityModelType'
;   K[7]='ExtraBoard'
;   K[8]='BoardModelClass'
;   K[9]='ExtraBoardActivityBoardModel'
;   K[10]='BoardConfigName'
;   K[11]='Data.Config.ExtraBoardActivityBoardConfig'
;   K[12]='CommonItemPrefix'
;   K[13]='ItemCodePrefix'
;   K[14]='ExtraBoardCommon'
;   K[15]='CommonTokenType'
;   K[16]='ebt_token'
;   K[17]='nFreeItemCount'
;   K[18]=3
;   K[19]='nFreeTokenCount'
;   K[20]='UIBoardActivityModel'
;   K[21]='__index'
;   K[22]='EExtraBoardConsumeResult'
;   K[23]='Success'
;   K[24]='LackToken'
;   K[25]=2
;   K[26]='BoardFull'
;   K[27]='InvalidActivity'
;   K[28]=4
;   K[29]='CobwebCompleteFlag'
;   K[30]='completed'
;   K[31]='CurrentMergeLevel'
;   K[32]='currentMergeLevel'
;   K[33]='ItemGived'
;   K[34]='extraBoardItemGived'
;   K[35]='Retrieved'
;   K[36]='extraBoardCacheRetrieved'
;   K[37]='CobwebRound'
;   K[38]='cobwebRound'
;   K[39]='CobwebItemList'
;   K[40]='cobwebItemList'
;   K[41]='Token'
;   K[42]='extraboard_token'
;   K[43]='TokenModeUnlockState'
;   K[44]='unlockState_mode'
;   K[45]='SelectedTokenMode'
;   K[46]='consume_mode'
;   K[47]='DB_VALUE_KEY'
;   K[48]='Single'
;   K[49]='Double'
;   K[50]='Quadruple'
;   K[51]='Init'
;   K[52]='GetActivityDefinitionByType'
;   K[53]='GetMainLineItemCode'
;   K[54]='LogBookItemUnlocked'
;   K[55]='IsMaxLevel'
;   K[56]='GetRareItemChainId'
;   K[57]='GetBoardViewPrefabName'
;   K[58]='GetNormalBoardActivityDefinition'
;   K[59]='GetActiveModel'
;   K[60]='_LoadOtherServerConfig'
;   K[61]='GetBoardEntryShowConfig'
;   K[62]='GetMapEntryShowConfig'
;   K[63]='GetButtonTarget'
;   K[64]='ExtraBoardActivityModel'
;   K[65]='_OnStateChanged'
;   K[66]='IsLackExtraBoardItem'
;   K[67]='_GetRetrievedCount'
;   K[68]='_AddRetrievedCount'
;   K[69]='OnPopCachedItem'
;   K[70]='OnTokenConsumed'
;   K[71]='_OnItemMerged'
;   K[72]='TutorialCacheItems'
;   K[73]='SetLevel'
;   K[74]='GetLevel'
;   K[75]='UpdateLevel'
;   K[76]='InitUpdateLevel'
;   K[77]='GetMaxLevel'
;   K[78]='IsExtraBoardActivityItem'
;   K[79]='IsAcquireTypeValid'
;   K[80]='GetMaxLevelReward'
;   K[81]='TryAcquireMaxLevelReward'
;   K[82]='_LoadCobwebConfig'
;   K[83]='IsCobwebOpen'
;   K[84]='EnterNextCobwebRound'
;   K[85]='GetCobwebRound'
;   K[86]='GetCobwebItemList'
;   K[87]='SetCobwebItemList'
;   K[88]='RemoveCobwebItem'
;   K[89]='TryEnterNextCobwebRound'
;   K[90]='HasFinishedCurCobwebRound'
;   K[91]='_LoadTokenConfig'
;   K[92]='GetDoubleMultipleUnlockItemCode'
;   K[93]='GetCommonPropertyType'
;   K[94]='IsTokenMode'
;   K[95]='AcquireActivityToken'
;   K[96]='ConsumeAndAcquireItem'
;   K[97]='CanAddToken'
;   K[98]='GetActivityTokenNumber'
;   K[99]='GetRedPointNum'
;   K[100]='ConsumeActivityToken'
;   K[101]='_SetActivityTokenNumber'
;   K[102]='UnlockTokenMultipleMode'
;   K[103]='IsTokenMultipleModeUnlocked'
;   K[104]='GetMultipleTokenMode'
;   K[105]='SetMultipleTokenMode'
;   K[106]='SwitchMultipleTokenMode'
;   upvals: _ENV
;   locals: DBKey(40-212), DB_VALUE_KEY(41-212), ETokenMultipleMode(45-212), NormalBoardActivityDefinition(67-212)
0000  NEWTABLE  R0 = {} (0 items)
0001  SETTABLE  R0[K1('StateChanged')] = K2(1)
0002  SETTABUP  _ENV[K0('ExtraBoardActivityEventType')] = R0
0003  GETTABUP  R0 = _ENV[K4('setmetatable')]
0004  NEWTABLE  R1 = {} (0 items)
0005  GETTABUP  R2 = _ENV[K6('ActivityModelType')]
0006  GETTABLE  R2 = R2[K7('ExtraBoard')]
0007  SETTABLE  R1[K5('eModelType')] = R2
0008  GETTABUP  R2 = _ENV[K9('ExtraBoardActivityBoardModel')]
0009  SETTABLE  R1[K8('BoardModelClass')] = R2
0010  SETTABLE  R1[K10('BoardConfigName')] = K11('Data.Config.ExtraBoardActivityBoardConfig')
0011  GETTABUP  R2 = _ENV[K13('ItemCodePrefix')]
0012  GETTABLE  R2 = R2[K14('ExtraBoardCommon')]
0013  SETTABLE  R1[K12('CommonItemPrefix')] = R2
0014  SETTABLE  R1[K15('CommonTokenType')] = K16('ebt_token')
0015  SETTABLE  R1[K17('nFreeItemCount')] = K18(3)
0016  SETTABLE  R1[K19('nFreeTokenCount')] = K18(3)
0017  GETTABUP  R2 = _ENV[K20('UIBoardActivityModel')]
0018  CALL      R0 = call(R0, 1 args, 2 rets)
0019  SETTABUP  _ENV[K3('ExtraBoardActivityModel')] = R0
0020  GETTABUP  R0 = _ENV[K3('ExtraBoardActivityModel')]
0021  GETTABUP  R1 = _ENV[K3('ExtraBoardActivityModel')]
0022  SETTABLE  R0[K21('__index')] = R1
0023  NEWTABLE  R0 = {} (0 items)
0024  SETTABLE  R0[K23('Success')] = K2(1)
0025  SETTABLE  R0[K24('LackToken')] = K25(2)
0026  SETTABLE  R0[K26('BoardFull')] = K18(3)
0027  SETTABLE  R0[K27('InvalidActivity')] = K28(4)
0028  SETTABUP  _ENV[K22('EExtraBoardConsumeResult')] = R0
0029  GETTABUP  R0 = _ENV[K3('ExtraBoardActivityModel')]
0030  SETTABLE  R0[K29('CobwebCompleteFlag')] = K30('completed')
0031  NEWTABLE  R0 = {} (0 items)
0032  SETTABLE  R0[K31('CurrentMergeLevel')] = K32('currentMergeLevel')
0033  SETTABLE  R0[K33('ItemGived')] = K34('extraBoardItemGived')
0034  SETTABLE  R0[K35('Retrieved')] = K36('extraBoardCacheRetrieved')
0035  SETTABLE  R0[K37('CobwebRound')] = K38('cobwebRound')
0036  SETTABLE  R0[K39('CobwebItemList')] = K40('cobwebItemList')
0037  SETTABLE  R0[K41('Token')] = K42('extraboard_token')
0038  SETTABLE  R0[K43('TokenModeUnlockState')] = K44('unlockState_mode')
0039  SETTABLE  R0[K45('SelectedTokenMode')] = K46('consume_mode')
0040  GETTABUP  R1 = _ENV[K47('DB_VALUE_KEY')]
0041  NEWTABLE  R2 = {} (0 items)
0042  SETTABLE  R2[K48('Single')] = K2(1)
0043  SETTABLE  R2[K49('Double')] = K25(2)
0044  SETTABLE  R2[K50('Quadruple')] = K28(4)
0045  GETTABUP  R3 = _ENV[K3('ExtraBoardActivityModel')]
0046  CLOSURE   R4 = closure proto0
0047  SETTABLE  R3[K51('Init')] = R4
0048  GETTABUP  R3 = _ENV[K3('ExtraBoardActivityModel')]
0049  CLOSURE   R4 = closure proto1
0050  SETTABLE  R3[K52('GetActivityDefinitionByType')] = R4
0051  GETTABUP  R3 = _ENV[K3('ExtraBoardActivityModel')]
0052  CLOSURE   R4 = closure proto2
0053  SETTABLE  R3[K53('GetMainLineItemCode')] = R4
0054  GETTABUP  R3 = _ENV[K3('ExtraBoardActivityModel')]
0055  CLOSURE   R4 = closure proto3
0056  SETTABLE  R3[K54('LogBookItemUnlocked')] = R4
0057  GETTABUP  R3 = _ENV[K3('ExtraBoardActivityModel')]
0058  CLOSURE   R4 = closure proto4
0059  SETTABLE  R3[K55('IsMaxLevel')] = R4
0060  GETTABUP  R3 = _ENV[K3('ExtraBoardActivityModel')]
0061  CLOSURE   R4 = closure proto5
0062  SETTABLE  R3[K56('GetRareItemChainId')] = R4
0063  GETTABUP  R3 = _ENV[K3('ExtraBoardActivityModel')]
0064  CLOSURE   R4 = closure proto6
0065  SETTABLE  R3[K57('GetBoardViewPrefabName')] = R4
0066  LOADNIL   R3..R3 = nil
0067  GETTABUP  R4 = _ENV[K3('ExtraBoardActivityModel')]
0068  CLOSURE   R5 = closure proto7
0069  SETTABLE  R4[K58('GetNormalBoardActivityDefinition')] = R5
0070  GETTABUP  R4 = _ENV[K3('ExtraBoardActivityModel')]
0071  CLOSURE   R5 = closure proto8
0072  SETTABLE  R4[K59('GetActiveModel')] = R5
0073  GETTABUP  R4 = _ENV[K3('ExtraBoardActivityModel')]
0074  CLOSURE   R5 = closure proto9
0075  SETTABLE  R4[K60('_LoadOtherServerConfig')] = R5
0076  GETTABUP  R4 = _ENV[K3('ExtraBoardActivityModel')]
0077  CLOSURE   R5 = closure proto10
0078  SETTABLE  R4[K61('GetBoardEntryShowConfig')] = R5
0079  GETTABUP  R4 = _ENV[K3('ExtraBoardActivityModel')]
0080  CLOSURE   R5 = closure proto11
0081  SETTABLE  R4[K62('GetMapEntryShowConfig')] = R5
0082  GETTABUP  R4 = _ENV[K3('ExtraBoardActivityModel')]
0083  CLOSURE   R5 = closure proto12
0084  SETTABLE  R4[K63('GetButtonTarget')] = R5
0085  GETTABUP  R4 = _ENV[K64('ExtraBoardActivityModel')]
0086  CLOSURE   R5 = closure proto13
0087  SETTABLE  R4[K65('_OnStateChanged')] = R5
0088  GETTABUP  R4 = _ENV[K64('ExtraBoardActivityModel')]
0089  CLOSURE   R5 = closure proto14
0090  SETTABLE  R4[K66('IsLackExtraBoardItem')] = R5
0091  GETTABUP  R4 = _ENV[K64('ExtraBoardActivityModel')]
0092  CLOSURE   R5 = closure proto15
0093  SETTABLE  R4[K67('_GetRetrievedCount')] = R5
0094  GETTABUP  R4 = _ENV[K64('ExtraBoardActivityModel')]
0095  CLOSURE   R5 = closure proto16
0096  SETTABLE  R4[K68('_AddRetrievedCount')] = R5
0097  GETTABUP  R4 = _ENV[K64('ExtraBoardActivityModel')]
0098  CLOSURE   R5 = closure proto17
0099  SETTABLE  R4[K69('OnPopCachedItem')] = R5
0100  GETTABUP  R4 = _ENV[K64('ExtraBoardActivityModel')]
0101  CLOSURE   R5 = closure proto18
0102  SETTABLE  R4[K70('OnTokenConsumed')] = R5
0103  GETTABUP  R4 = _ENV[K64('ExtraBoardActivityModel')]
0104  CLOSURE   R5 = closure proto19
0105  SETTABLE  R4[K71('_OnItemMerged')] = R5
0106  GETTABUP  R4 = _ENV[K64('ExtraBoardActivityModel')]
0107  CLOSURE   R5 = closure proto20
0108  SETTABLE  R4[K72('TutorialCacheItems')] = R5
0109  GETTABUP  R4 = _ENV[K64('ExtraBoardActivityModel')]
0110  CLOSURE   R5 = closure proto21
0111  SETTABLE  R4[K73('SetLevel')] = R5
0112  GETTABUP  R4 = _ENV[K64('ExtraBoardActivityModel')]
0113  CLOSURE   R5 = closure proto22
0114  SETTABLE  R4[K74('GetLevel')] = R5
0115  GETTABUP  R4 = _ENV[K64('ExtraBoardActivityModel')]
0116  CLOSURE   R5 = closure proto23
0117  SETTABLE  R4[K75('UpdateLevel')] = R5
0118  GETTABUP  R4 = _ENV[K64('ExtraBoardActivityModel')]
0119  CLOSURE   R5 = closure proto24
0120  SETTABLE  R4[K76('InitUpdateLevel')] = R5
0121  GETTABUP  R4 = _ENV[K64('ExtraBoardActivityModel')]
0122  CLOSURE   R5 = closure proto25
0123  SETTABLE  R4[K77('GetMaxLevel')] = R5
0124  GETTABUP  R4 = _ENV[K64('ExtraBoardActivityModel')]
0125  CLOSURE   R5 = closure proto26
0126  SETTABLE  R4[K78('IsExtraBoardActivityItem')] = R5
0127  GETTABUP  R4 = _ENV[K64('ExtraBoardActivityModel')]
0128  CLOSURE   R5 = closure proto27
0129  SETTABLE  R4[K79('IsAcquireTypeValid')] = R5
0130  GETTABUP  R4 = _ENV[K64('ExtraBoardActivityModel')]
0131  CLOSURE   R5 = closure proto28
0132  SETTABLE  R4[K80('GetMaxLevelReward')] = R5
0133  GETTABUP  R4 = _ENV[K64('ExtraBoardActivityModel')]
0134  CLOSURE   R5 = closure proto29
0135  SETTABLE  R4[K81('TryAcquireMaxLevelReward')] = R5
0136  GETTABUP  R4 = _ENV[K64('ExtraBoardActivityModel')]
0137  CLOSURE   R5 = closure proto30
0138  SETTABLE  R4[K82('_LoadCobwebConfig')] = R5
0139  GETTABUP  R4 = _ENV[K64('ExtraBoardActivityModel')]
0140  CLOSURE   R5 = closure proto31
0141  SETTABLE  R4[K83('IsCobwebOpen')] = R5
0142  GETTABUP  R4 = _ENV[K64('ExtraBoardActivityModel')]
0143  CLOSURE   R5 = closure proto32
0144  SETTABLE  R4[K84('EnterNextCobwebRound')] = R5
0145  GETTABUP  R4 = _ENV[K64('ExtraBoardActivityModel')]
0146  CLOSURE   R5 = closure proto33
0147  SETTABLE  R4[K85('GetCobwebRound')] = R5
0148  GETTABUP  R4 = _ENV[K64('ExtraBoardActivityModel')]
0149  CLOSURE   R5 = closure proto34
0150  SETTABLE  R4[K86('GetCobwebItemList')] = R5
0151  GETTABUP  R4 = _ENV[K64('ExtraBoardActivityModel')]
0152  CLOSURE   R5 = closure proto35
0153  SETTABLE  R4[K87('SetCobwebItemList')] = R5
0154  GETTABUP  R4 = _ENV[K64('ExtraBoardActivityModel')]
0155  CLOSURE   R5 = closure proto36
0156  SETTABLE  R4[K88('RemoveCobwebItem')] = R5
0157  GETTABUP  R4 = _ENV[K64('ExtraBoardActivityModel')]
0158  CLOSURE   R5 = closure proto37
0159  SETTABLE  R4[K89('TryEnterNextCobwebRound')] = R5
0160  GETTABUP  R4 = _ENV[K64('ExtraBoardActivityModel')]
0161  CLOSURE   R5 = closure proto38
0162  SETTABLE  R4[K90('HasFinishedCurCobwebRound')] = R5
0163  GETTABUP  R4 = _ENV[K64('ExtraBoardActivityModel')]
0164  CLOSURE   R5 = closure proto39
0165  SETTABLE  R4[K91('_LoadTokenConfig')] = R5
0166  GETTABUP  R4 = _ENV[K64('ExtraBoardActivityModel')]
0167  CLOSURE   R5 = closure proto40
0168  SETTABLE  R4[K92('GetDoubleMultipleUnlockItemCode')] = R5
0169  GETTABUP  R4 = _ENV[K64('ExtraBoardActivityModel')]
0170  CLOSURE   R5 = closure proto41
0171  SETTABLE  R4[K93('GetCommonPropertyType')] = R5
0172  GETTABUP  R4 = _ENV[K64('ExtraBoardActivityModel')]
0173  CLOSURE   R5 = closure proto42
0174  SETTABLE  R4[K94('IsTokenMode')] = R5
0175  GETTABUP  R4 = _ENV[K64('ExtraBoardActivityModel')]
0176  CLOSURE   R5 = closure proto43
0177  SETTABLE  R4[K95('AcquireActivityToken')] = R5
0178  GETTABUP  R4 = _ENV[K64('ExtraBoardActivityModel')]
0179  CLOSURE   R5 = closure proto44
0180  SETTABLE  R4[K96('ConsumeAndAcquireItem')] = R5
0181  GETTABUP  R4 = _ENV[K64('ExtraBoardActivityModel')]
0182  CLOSURE   R5 = closure proto45
0183  SETTABLE  R4[K97('CanAddToken')] = R5
0184  GETTABUP  R4 = _ENV[K64('ExtraBoardActivityModel')]
0185  CLOSURE   R5 = closure proto46
0186  SETTABLE  R4[K98('GetActivityTokenNumber')] = R5
0187  GETTABUP  R4 = _ENV[K64('ExtraBoardActivityModel')]
0188  CLOSURE   R5 = closure proto47
0189  SETTABLE  R4[K99('GetRedPointNum')] = R5
0190  GETTABUP  R4 = _ENV[K64('ExtraBoardActivityModel')]
0191  CLOSURE   R5 = closure proto48
0192  SETTABLE  R4[K100('ConsumeActivityToken')] = R5
0193  GETTABUP  R4 = _ENV[K64('ExtraBoardActivityModel')]
0194  CLOSURE   R5 = closure proto49
0195  SETTABLE  R4[K101('_SetActivityTokenNumber')] = R5
0196  GETTABUP  R4 = _ENV[K64('ExtraBoardActivityModel')]
0197  CLOSURE   R5 = closure proto50
0198  SETTABLE  R4[K102('UnlockTokenMultipleMode')] = R5
0199  GETTABUP  R4 = _ENV[K64('ExtraBoardActivityModel')]
0200  CLOSURE   R5 = closure proto51
0201  SETTABLE  R4[K103('IsTokenMultipleModeUnlocked')] = R5
0202  GETTABUP  R4 = _ENV[K64('ExtraBoardActivityModel')]
0203  CLOSURE   R5 = closure proto52
0204  SETTABLE  R4[K104('GetMultipleTokenMode')] = R5
0205  GETTABUP  R4 = _ENV[K64('ExtraBoardActivityModel')]
0206  CLOSURE   R5 = closure proto53
0207  SETTABLE  R4[K105('SetMultipleTokenMode')] = R5
0208  GETTABUP  R4 = _ENV[K64('ExtraBoardActivityModel')]
0209  CLOSURE   R5 = closure proto54
0210  SETTABLE  R4[K106('SwitchMultipleTokenMode')] = R5
0211  RETURN    return R0..R-1
; ---------- proto0 [Init] ----------
  ; fn ?  line 51-55 np=1 va=1 ms=5 code=20 consts=9 upvals=1 protos=0
  ;   K[0]='UIBoardActivityModel'
  ;   K[1]='Init'
  ;   K[2]='EventDispatcher'
  ;   K[3]='AddListener'
  ;   K[4]='EEventType'
  ;   K[5]='PopCachedItem'
  ;   K[6]='OnPopCachedItem'
  ;   K[7]='ItemMerged'
  ;   K[8]='_OnItemMerged'
  ;   upvals: _ENV
  ;   locals: self(0-20)
  0000  GETTABUP  R1 = _ENV[K0('UIBoardActivityModel')]
  0001  GETTABLE  R1 = R1[K1('Init')]
  0002  MOVE      R2 = R0
  0003  VARARG    R3 = vararg(0)
  0004  CALL      R1 = call(R1, 0 args, -1 rets)
  0005  GETTABUP  R1 = _ENV[K2('EventDispatcher')]
  0006  GETTABLE  R1 = R1[K3('AddListener')]
  0007  GETTABUP  R2 = _ENV[K4('EEventType')]
  0008  GETTABLE  R2 = R2[K5('PopCachedItem')]
  0009  MOVE      R3 = R0
  0010  GETTABLE  R4 = R0[K6('OnPopCachedItem')]
  0011  CALL      R1 = call(R1, 0 args, 3 rets)
  0012  GETTABUP  R1 = _ENV[K2('EventDispatcher')]
  0013  GETTABLE  R1 = R1[K3('AddListener')]
  0014  GETTABUP  R2 = _ENV[K4('EEventType')]
  0015  GETTABLE  R2 = R2[K7('ItemMerged')]
  0016  MOVE      R3 = R0
  0017  GETTABLE  R4 = R0[K8('_OnItemMerged')]
  0018  CALL      R1 = call(R1, 0 args, 3 rets)
  0019  RETURN    return R0..R-1
; ---------- proto1 [GetActivityDefinitionByType] ----------
  ; fn ?  line 57-59 np=2 va=0 ms=3 code=4 consts=1 upvals=1 protos=0
  ;   K[0]='ExtraBoardActivityDefinition'
  ;   upvals: _ENV
  ;   locals: self(0-4), activityType(0-4)
  0000  GETTABUP  R2 = _ENV[K0('ExtraBoardActivityDefinition')]
  0001  GETTABLE  R2 = R2[R1]
  0002  RETURN    return R2..R1
  0003  RETURN    return R0..R-1
; ---------- proto2 [GetMainLineItemCode] ----------
  ; fn ?  line 61-63 np=3 va=0 ms=7 code=8 consts=3 upvals=1 protos=0
  ;   K[0]='string'
  ;   K[1]='format'
  ;   K[2]='%s_1_%d'
  ;   upvals: _ENV
  ;   locals: self(0-8), prefix(0-8), level(0-8)
  0000  GETTABUP  R3 = _ENV[K0('string')]
  0001  GETTABLE  R3 = R3[K1('format')]
  0002  LOADK     R4 = K2 '%s_1_%d'
  0003  MOVE      R5 = R0
  0004  MOVE      R6 = R0
  0005  TAILCALL  tailcall(R3, 0)
  0006  RETURN    return R3..R2
  0007  RETURN    return R0..R-1
; ---------- proto3 [LogBookItemUnlocked] ----------
  ; fn ?  line 65-73 np=2 va=0 ms=10 code=30 consts=12 upvals=1 protos=0
  ;   K[0]='IsMainLineItem'
  ;   K[1]='GM'
  ;   K[2]='ItemDataModel'
  ;   K[3]='GetChainId'
  ;   K[4]='GetChainLevel'
  ;   K[5]='BIManager'
  ;   K[6]='LogActivity'
  ;   K[7]='m_type'
  ;   K[8]='_'
  ;   K[9]='GetId'
  ;   K[10]='EBIType'
  ;   K[11]='ActivityRankUp'
  ;   upvals: _ENV
  ;   locals: self(0-30), itemCode(0-30), chainId(11-30), chainLevel(16-30)
  0000  SELF      R3 = R0[K0('IsMainLineItem')] (self)
  0001  MOVE      R4 = R0
  0002  CALL      R2 = call(R2, 1 args, 2 rets)
  0003  TEST      if not R2 then   -> -131067
  0004  JMP       (jump)   -> 6
  0005  RETURN    return R0..R-1
  0006  GETTABUP  R2 = _ENV[K1('GM')]
  0007  GETTABLE  R2 = R2[K2('ItemDataModel')]
  0008  SELF      R3 = R2[K3('GetChainId')] (self)
  0009  MOVE      R4 = R0
  0010  CALL      R2 = call(R2, 1 args, 2 rets)
  0011  GETTABUP  R3 = _ENV[K1('GM')]
  0012  GETTABLE  R3 = R3[K2('ItemDataModel')]
  0013  SELF      R4 = R3[K4('GetChainLevel')] (self)
  0014  MOVE      R5 = R0
  0015  CALL      R3 = call(R3, 1 args, 2 rets)
  0016  GETTABUP  R4 = _ENV[K1('GM')]
  0017  GETTABLE  R4 = R4[K5('BIManager')]
  0018  SELF      R5 = R4[K6('LogActivity')] (self)
  0019  GETTABLE  R6 = R0[K7('m_type')]
  0020  LOADK     R7 = K8 '_'
  0021  MOVE      R8 = R0
  0022  CONCAT    R6 = concat(R6..R6)
  0023  SELF      R8 = R0[K9('GetId')] (self)
  0024  CALL      R7 = call(R7, 1 args, 1 rets)
  0025  GETTABUP  R8 = _ENV[K10('EBIType')]
  0026  GETTABLE  R8 = R8[K11('ActivityRankUp')]
  0027  MOVE      R9 = R0
  0028  CALL      R4 = call(R4, 0 args, 5 rets)
  0029  RETURN    return R0..R-1
; ---------- proto4 [IsMaxLevel] ----------
  ; fn ?  line 76-78 np=1 va=0 ms=3 code=9 consts=2 upvals=0 protos=0
  ;   K[0]='GetLevel'
  ;   K[1]='m_maxLevel'
  ;   locals: self(0-9)
  0000  SELF      R2 = R0[K0('GetLevel')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  GETTABLE  R2 = R0[K1('m_maxLevel')]
  0003  EQ        if R1 eq R2   -> -130553
  0004  JMP       (jump)   -> 6
  0005  LOADBOOL  R1 = false
  0006  LOADBOOL  R1 = true
  0007  RETURN    return R1..R0
  0008  RETURN    return R0..R-1
; ---------- proto5 [GetRareItemChainId] ----------
  ; fn ?  line 81-84 np=1 va=0 ms=4 code=6 consts=2 upvals=0 protos=0
  ;   K[0]='m_itemPrefix'
  ;   K[1]='_2'
  ;   locals: self(0-6), itemPrefix(1-6)
  0000  GETTABLE  R1 = R0[K0('m_itemPrefix')]
  0001  MOVE      R2 = R0
  0002  LOADK     R3 = K1 '_2'
  0003  CONCAT    R2 = concat(R2..R2)
  0004  RETURN    return R2..R1
  0005  RETURN    return R0..R-1
; ---------- proto6 [GetBoardViewPrefabName] ----------
  ; fn ?  line 86-88 np=1 va=0 ms=2 code=4 consts=2 upvals=1 protos=0
  ;   K[0]='ScenePrefabConfigName'
  ;   K[1]='ExtraBoardActivityBoardView'
  ;   upvals: _ENV
  ;   locals: self(0-4)
  0000  GETTABUP  R1 = _ENV[K0('ScenePrefabConfigName')]
  0001  GETTABLE  R1 = R1[K1('ExtraBoardActivityBoardView')]
  0002  RETURN    return R1..R0
  0003  RETURN    return R0..R-1
; ---------- proto7 [GetNormalBoardActivityDefinition] ----------
  ; fn ?  line 93-105 np=0 va=0 ms=6 code=22 consts=4 upvals=2 protos=0
  ;   K[0]=nil
  ;   K[1]='pairs'
  ;   K[2]='ExtraBoardActivityDefinition'
  ;   K[3]='AdventureBoardDefinition'
  ;   upvals: NormalBoardActivityDefinition, _ENV
  ;   locals: (for generator)(8-12), (for state)(8-12), (for control)(8-12), k(9-10), v(9-10), (for generator)(15-19), (for state)(15-19), (for control)(15-19), k(16-17), v(16-17)
  0000  GETUPVAL  R0 = NormalBoardActivityDefinition
  0001  EQ        if R0 eq K0(nil)   -> -130813
  0002  JMP       (jump)   -> 19
  0003  NEWTABLE  R0 = {} (0 items)
  0004  SETUPVAL  NormalBoardActivityDefinition = R0
  0005  GETTABUP  R0 = _ENV[K1('pairs')]
  0006  GETTABUP  R1 = _ENV[K2('ExtraBoardActivityDefinition')]
  0007  CALL      R0 = call(R0, 3 args, 1 rets)
  0008  JMP       (jump)   -> 10
  0009  SETTABUP  NormalBoardActivityDefinition[R3] = R4
  0010  TFORCALL  tforcall R0
  0011  TFORLOOP  tforloop R2(sBx=-3)   -> 9
  0012  GETTABUP  R0 = _ENV[K1('pairs')]
  0013  GETTABUP  R1 = _ENV[K3('AdventureBoardDefinition')]
  0014  CALL      R0 = call(R0, 3 args, 1 rets)
  0015  JMP       (jump)   -> 17
  0016  SETTABUP  NormalBoardActivityDefinition[R3] = R4
  0017  TFORCALL  tforcall R0
  0018  TFORLOOP  tforloop R2(sBx=-3)   -> 16
  0019  GETUPVAL  R0 = NormalBoardActivityDefinition
  0020  RETURN    return R0..R-1
  0021  RETURN    return R0..R-1
; ---------- proto8 [GetActiveModel] ----------
  ; fn ?  line 107-109 np=0 va=0 ms=2 code=6 consts=3 upvals=1 protos=0
  ;   K[0]='ActivityManager'
  ;   K[1]='GetOneActiveModel'
  ;   K[2]='ExtraBoardActivityDefinition'
  ;   upvals: _ENV
  0000  GETTABUP  R0 = _ENV[K0('ActivityManager')]
  0001  GETTABLE  R0 = R0[K1('GetOneActiveModel')]
  0002  GETTABUP  R1 = _ENV[K2('ExtraBoardActivityDefinition')]
  0003  TAILCALL  tailcall(R0, 0)
  0004  RETURN    return R0..R-1
  0005  RETURN    return R0..R-1
; ---------- proto9 [_LoadOtherServerConfig] ----------
  ; fn ?  line 111-134 np=2 va=0 ms=5 code=35 consts=16 upvals=1 protos=0
  ;   K[0]='UIBoardActivityModel'
  ;   K[1]='_LoadOtherServerConfig'
  ;   K[2]='extraBoardConfig'
  ;   K[3]=1
  ;   K[4]='m_cobwebName'
  ;   K[5]='cobweb'
  ;   K[6]=nil
  ;   K[7]='GameConfig'
  ;   K[8]='IsTestMode'
  ;   K[9]='Log'
  ;   K[10]='Error'
  ;   K[11]='[extraBoardConfig]传送带小棋盘已经废弃, 不再支持配置cobweb字段'
  ;   K[12]='m_maxReward'
  ;   K[13]='maxReward'
  ;   K[14]='_LoadCobwebConfig'
  ;   K[15]='_LoadTokenConfig'
  ;   upvals: _ENV
  ;   locals: self(0-35), config(0-35), serverConfig(13-35)
  0000  GETTABUP  R2 = _ENV[K0('UIBoardActivityModel')]
  0001  GETTABLE  R2 = R2[K1('_LoadOtherServerConfig')]
  0002  MOVE      R3 = R0
  0003  MOVE      R4 = R0
  0004  CALL      R2 = call(R2, 0 args, 2 rets)
  0005  GETTABLE  R2 = R1[K2('extraBoardConfig')]
  0006  TEST      if not R2 then   -> -131064
  0007  JMP       (jump)   -> 12
  0008  GETTABLE  R2 = R1[K2('extraBoardConfig')]
  0009  GETTABLE  R2 = R2[K3(1)]
  0010  TEST      if not R2 then   -> -131059
  0011  JMP       (jump)   -> 13
  0012  NEWTABLE  R2 = {} (0 items)
  0013  GETTABLE  R3 = R2[K5('cobweb')]
  0014  SETTABLE  R0[K4('m_cobwebName')] = R3
  0015  GETTABLE  R3 = R0[K4('m_cobwebName')]
  0016  EQ        if R1 eq K6(nil)   -> -129256
  0017  JMP       (jump)   -> 28
  0018  SETTABLE  R0[K4('m_cobwebName')] = K6(nil)
  0019  GETTABUP  R3 = _ENV[K7('GameConfig')]
  0020  GETTABLE  R3 = R3[K8('IsTestMode')]
  0021  CALL      R3 = call(R3, 1 args, 0 rets)
  0022  TEST      if not R3 then   -> -131048
  0023  JMP       (jump)   -> 28
  0024  GETTABUP  R3 = _ENV[K9('Log')]
  0025  GETTABLE  R3 = R3[K10('Error')]
  0026  LOADK     R4 = K11 '[extraBoardConfig]传送带小棋盘已经废弃, 不再支持配置cobweb字段'
  0027  CALL      R3 = call(R3, 0 args, 1 rets)
  0028  GETTABLE  R3 = R2[K13('maxReward')]
  0029  SETTABLE  R0[K12('m_maxReward')] = R3
  0030  SELF      R4 = R0[K14('_LoadCobwebConfig')] (self)
  0031  CALL      R3 = call(R3, 0 args, 1 rets)
  0032  SELF      R4 = R0[K15('_LoadTokenConfig')] (self)
  0033  CALL      R3 = call(R3, 0 args, 1 rets)
  0034  RETURN    return R0..R-1
; ---------- proto10 [GetBoardEntryShowConfig] ----------
  ; fn ?  line 137-146 np=1 va=0 ms=3 code=14 consts=9 upvals=1 protos=1
  ;   K[0]='statusChangeEvent'
  ;   K[1]='m_activityDefinition'
  ;   K[2]='StateChangedEvent'
  ;   K[3]='eEntryRootKey'
  ;   K[4]='EEntryRootKey'
  ;   K[5]='ExtraBoardActivity'
  ;   K[6]='entryPrefabName'
  ;   K[7]='BoardEntryPrefabName'
  ;   K[8]='checkFun'
  ;   upvals: _ENV
  ;   locals: self(0-14)
  0000  NEWTABLE  R1 = {} (0 items)
  0001  GETTABLE  R2 = R0[K1('m_activityDefinition')]
  0002  GETTABLE  R2 = R2[K2('StateChangedEvent')]
  0003  SETTABLE  R1[K0('statusChangeEvent')] = R2
  0004  GETTABUP  R2 = _ENV[K4('EEntryRootKey')]
  0005  GETTABLE  R2 = R2[K5('ExtraBoardActivity')]
  0006  SETTABLE  R1[K3('eEntryRootKey')] = R2
  0007  GETTABLE  R2 = R0[K1('m_activityDefinition')]
  0008  GETTABLE  R2 = R2[K7('BoardEntryPrefabName')]
  0009  SETTABLE  R1[K6('entryPrefabName')] = R2
  0010  CLOSURE   R2 = closure proto0
  0011  SETTABLE  R1[K8('checkFun')] = R2
  0012  RETURN    return R1..R0
  0013  RETURN    return R0..R-1
  ; ---------- proto0 [checkFun] ----------
    ; fn ?  line 142-144 np=0 va=0 ms=2 code=5 consts=1 upvals=1 protos=0
    ;   K[0]='IsActivityOpen'
    ;   upvals: self
    0000  GETUPVAL  R0 = self
    0001  SELF      R1 = R0[K0('IsActivityOpen')] (self)
    0002  TAILCALL  tailcall(R0, 0)
    0003  RETURN    return R0..R-1
    0004  RETURN    return R0..R-1
; ---------- proto11 [GetMapEntryShowConfig] ----------
  ; fn ?  line 149-159 np=1 va=0 ms=3 code=17 consts=11 upvals=1 protos=1
  ;   K[0]='statusChangeEvent'
  ;   K[1]='m_activityDefinition'
  ;   K[2]='StateChangedEvent'
  ;   K[3]='eEntryRootKey'
  ;   K[4]='EEntryRootKey'
  ;   K[5]='ExtraBoardActivity'
  ;   K[6]='entryPrefabName'
  ;   K[7]='EntryPrefabName'
  ;   K[8]='hudKey'
  ;   K[9]='EntryButtonKey'
  ;   K[10]='checkFun'
  ;   upvals: _ENV
  ;   locals: self(0-17)
  0000  NEWTABLE  R1 = {} (0 items)
  0001  GETTABLE  R2 = R0[K1('m_activityDefinition')]
  0002  GETTABLE  R2 = R2[K2('StateChangedEvent')]
  0003  SETTABLE  R1[K0('statusChangeEvent')] = R2
  0004  GETTABUP  R2 = _ENV[K4('EEntryRootKey')]
  0005  GETTABLE  R2 = R2[K5('ExtraBoardActivity')]
  0006  SETTABLE  R1[K3('eEntryRootKey')] = R2
  0007  GETTABLE  R2 = R0[K1('m_activityDefinition')]
  0008  GETTABLE  R2 = R2[K7('EntryPrefabName')]
  0009  SETTABLE  R1[K6('entryPrefabName')] = R2
  0010  GETTABLE  R2 = R0[K1('m_activityDefinition')]
  0011  GETTABLE  R2 = R2[K9('EntryButtonKey')]
  0012  SETTABLE  R1[K8('hudKey')] = R2
  0013  CLOSURE   R2 = closure proto0
  0014  SETTABLE  R1[K10('checkFun')] = R2
  0015  RETURN    return R1..R0
  0016  RETURN    return R0..R-1
  ; ---------- proto0 [checkFun] ----------
    ; fn ?  line 155-157 np=0 va=0 ms=2 code=5 consts=1 upvals=1 protos=0
    ;   K[0]='IsActivityOpen'
    ;   upvals: self
    0000  GETUPVAL  R0 = self
    0001  SELF      R1 = R0[K0('IsActivityOpen')] (self)
    0002  TAILCALL  tailcall(R0, 0)
    0003  RETURN    return R0..R-1
    0004  RETURN    return R0..R-1
; ---------- proto12 [GetButtonTarget] ----------
  ; fn ?  line 161-187 np=1 va=0 ms=11 code=69 consts=25 upvals=1 protos=0
  ;   K[0]='ExtraBoardActivityModel'
  ;   K[1]='GetActiveModel'
  ;   K[2]='IsSelfItem'
  ;   K[3]='GetType'
  ;   K[4]='GetActivityDefinition'
  ;   K[5]='GM'
  ;   K[6]='UIManager'
  ;   K[7]='GetOpenedViewByName'
  ;   K[8]='MainWindowPrefabName'
  ;   K[9]=nil
  ;   K[10]='GetCacheRootHudButton'
  ;   K[11]='UIUtil'
  ;   K[12]='IsEmptyComponent'
  ;   K[13]='SceneManager'
  ;   K[14]='GetGameMode'
  ;   K[15]='EGameMode'
  ;   K[16]='Board'
  ;   K[17]='MainBoardView'
  ;   K[18]='GetInstance'
  ;   K[19]='GetOrderArea'
  ;   K[20]='GetIconAreaByActivityType'
  ;   K[21]='Main'
  ;   K[22]='TutorialHelper'
  ;   K[23]='GetHudButton'
  ;   K[24]='EntryButtonKey'
  ;   upvals: _ENV
  ;   locals: propertyType(0-69), activityModel(3-69), bExtraBoard(8-69), activityType(12-66), activityDefinition(14-66), window(19-66), btn(23-30), boardView(42-52), orderArea(46-52)
  0000  GETTABUP  R1 = _ENV[K0('ExtraBoardActivityModel')]
  0001  GETTABLE  R1 = R1[K1('GetActiveModel')]
  0002  CALL      R1 = call(R1, 1 args, 0 rets)
  0003  TESTSET   if R0 then R2   -> -130555
  0004  JMP       (jump)   -> 8
  0005  SELF      R3 = R1[K2('IsSelfItem')] (self)
  0006  MOVE      R4 = R0
  0007  CALL      R2 = call(R2, 1 args, 2 rets)
  0008  TEST      if not R2 then   -> -131062
  0009  JMP       (jump)   -> 66
  0010  SELF      R4 = R1[K3('GetType')] (self)
  0011  CALL      R3 = call(R3, 1 args, 1 rets)
  0012  SELF      R5 = R1[K4('GetActivityDefinition')] (self)
  0013  CALL      R4 = call(R4, 1 args, 1 rets)
  0014  GETTABUP  R5 = _ENV[K5('GM')]
  0015  GETTABLE  R5 = R5[K6('UIManager')]
  0016  SELF      R6 = R5[K7('GetOpenedViewByName')] (self)
  0017  GETTABLE  R7 = R4[K8('MainWindowPrefabName')]
  0018  CALL      R5 = call(R5, 1 args, 2 rets)
  0019  EQ        if R1 eq K9(nil)   -> -128226
  0020  JMP       (jump)   -> 31
  0021  SELF      R7 = R5[K10('GetCacheRootHudButton')] (self)
  0022  CALL      R6 = call(R6, 1 args, 1 rets)
  0023  GETTABUP  R7 = _ENV[K11('UIUtil')]
  0024  GETTABLE  R7 = R7[K12('IsEmptyComponent')]
  0025  MOVE      R8 = R0
  0026  CALL      R7 = call(R7, 1 args, 1 rets)
  0027  TEST      if not R7 then   -> -131042
  0028  JMP       (jump)   -> 66
  0029  RETURN    return R6..R5
  0030  JMP       (jump)   -> 66
  0031  GETTABUP  R6 = _ENV[K5('GM')]
  0032  GETTABLE  R6 = R6[K13('SceneManager')]
  0033  SELF      R7 = R6[K14('GetGameMode')] (self)
  0034  CALL      R6 = call(R6, 1 args, 1 rets)
  0035  GETTABUP  R7 = _ENV[K15('EGameMode')]
  0036  GETTABLE  R7 = R7[K16('Board')]
  0037  EQ        if R0 eq R7   -> -127954
  0038  JMP       (jump)   -> 53
  0039  GETTABUP  R6 = _ENV[K17('MainBoardView')]
  0040  GETTABLE  R6 = R6[K18('GetInstance')]
  0041  CALL      R6 = call(R6, 1 args, 0 rets)
  0042  EQ        if R1 eq K9(nil)   -> -127691
  0043  JMP       (jump)   -> 66
  0044  SELF      R8 = R6[K19('GetOrderArea')] (self)
  0045  CALL      R7 = call(R7, 1 args, 1 rets)
  0046  EQ        if R1 eq K9(nil)   -> -127175
  0047  JMP       (jump)   -> 66
  0048  SELF      R9 = R7[K20('GetIconAreaByActivityType')] (self)
  0049  MOVE      R10 = R0
  0050  TAILCALL  tailcall(R8, 0)
  0051  RETURN    return R8..R7
  0052  JMP       (jump)   -> 66
  0053  GETTABUP  R6 = _ENV[K5('GM')]
  0054  GETTABLE  R6 = R6[K13('SceneManager')]
  0055  SELF      R7 = R6[K14('GetGameMode')] (self)
  0056  CALL      R6 = call(R6, 1 args, 1 rets)
  0057  GETTABUP  R7 = _ENV[K15('EGameMode')]
  0058  GETTABLE  R7 = R7[K21('Main')]
  0059  EQ        if R0 eq R7   -> -127932
  0060  JMP       (jump)   -> 66
  0061  GETTABUP  R6 = _ENV[K22('TutorialHelper')]
  0062  GETTABLE  R6 = R6[K23('GetHudButton')]
  0063  GETTABLE  R7 = R4[K24('EntryButtonKey')]
  0064  TAILCALL  tailcall(R6, 0)
  0065  RETURN    return R6..R5
  0066  LOADNIL   R3..R3 = nil
  0067  RETURN    return R3..R2
  0068  RETURN    return R0..R-1
; ---------- proto13 [_OnStateChanged] ----------
  ; fn ?  line 189-218 np=1 va=0 ms=7 code=71 consts=31 upvals=2 protos=0
  ;   K[0]='UIBoardActivityModel'
  ;   K[1]='_OnStateChanged'
  ;   K[2]='GetState'
  ;   K[3]='ActivityState'
  ;   K[4]='Started'
  ;   K[5]='Ended'
  ;   K[6]='IsCobwebOpen'
  ;   K[7]='GetCobwebRound'
  ;   K[8]=0
  ;   K[9]='EnterNextCobwebRound'
  ;   K[10]='m_boardModel'
  ;   K[11]=nil
  ;   K[12]='_LoadActivityBoardModel'
  ;   K[13]='InitUpdateLevel'
  ;   K[14]='m_dbTable'
  ;   K[15]='GetValue'
  ;   K[16]='ItemGived'
  ;   K[17]='value'
  ;   K[18]='TutorialCacheItems'
  ;   K[19]='LogActivity'
  ;   K[20]='EBIType'
  ;   K[21]='ActivityRankUp'
  ;   K[22]='Destroy'
  ;   K[23]='event'
  ;   K[24]='Call'
  ;   K[25]='ExtraBoardActivityEventType'
  ;   K[26]='StateChanged'
  ;   K[27]='EventDispatcher'
  ;   K[28]='DispatchEvent'
  ;   K[29]='m_activityDefinition'
  ;   K[30]='StateChangedEvent'
  ;   upvals: _ENV, DBKey
  ;   locals: self(0-71), state(6-71), bItemGived(39-52)
  0000  GETTABUP  R1 = _ENV[K0('UIBoardActivityModel')]
  0001  GETTABLE  R1 = R1[K1('_OnStateChanged')]
  0002  MOVE      R2 = R0
  0003  CALL      R1 = call(R1, 0 args, 1 rets)
  0004  SELF      R2 = R0[K2('GetState')] (self)
  0005  CALL      R1 = call(R1, 1 args, 1 rets)
  0006  GETTABUP  R2 = _ENV[K3('ActivityState')]
  0007  GETTABLE  R2 = R2[K4('Started')]
  0008  EQ        if R1 eq R2   -> -130548
  0009  JMP       (jump)   -> 14
  0010  GETTABUP  R2 = _ENV[K3('ActivityState')]
  0011  GETTABLE  R2 = R2[K5('Ended')]
  0012  EQ        if R0 eq R2   -> -130544
  0013  JMP       (jump)   -> 53
  0014  SELF      R3 = R0[K6('IsCobwebOpen')] (self)
  0015  CALL      R2 = call(R2, 1 args, 1 rets)
  0016  TEST      if not R2 then   -> -131054
  0017  JMP       (jump)   -> 24
  0018  SELF      R3 = R0[K7('GetCobwebRound')] (self)
  0019  CALL      R2 = call(R2, 1 args, 1 rets)
  0020  EQ        if R0 eq K8(0)   -> -129762
  0021  JMP       (jump)   -> 24
  0022  SELF      R3 = R0[K9('EnterNextCobwebRound')] (self)
  0023  CALL      R2 = call(R2, 0 args, 1 rets)
  0024  GETTABLE  R2 = R0[K10('m_boardModel')]
  0025  EQ        if R0 eq K11(nil)   -> -129754
  0026  JMP       (jump)   -> 31
  0027  SELF      R3 = R0[K12('_LoadActivityBoardModel')] (self)
  0028  CALL      R2 = call(R2, 0 args, 1 rets)
  0029  SELF      R3 = R0[K13('InitUpdateLevel')] (self)
  0030  CALL      R2 = call(R2, 0 args, 1 rets)
  0031  GETTABLE  R2 = R0[K14('m_dbTable')]
  0032  SELF      R3 = R2[K15('GetValue')] (self)
  0033  GETTABUP  R4 = DBKey[K16('ItemGived')]
  0034  LOADK     R5 = K17 'value'
  0035  CALL      R2 = call(R2, 1 args, 3 rets)
  0036  TEST      if not R2 then   -> -131033
  0037  JMP       (jump)   -> 39
  0038  LOADK     R2 = K8 0
  0039  EQ        if R0 eq K8(0)   -> -129743
  0040  JMP       (jump)   -> 60
  0041  GETTABUP  R3 = _ENV[K3('ActivityState')]
  0042  GETTABLE  R3 = R3[K4('Started')]
  0043  EQ        if R0 eq R3   -> -130512
  0044  JMP       (jump)   -> 60
  0045  SELF      R4 = R0[K18('TutorialCacheItems')] (self)
  0046  CALL      R3 = call(R3, 0 args, 1 rets)
  0047  SELF      R4 = R0[K19('LogActivity')] (self)
  0048  GETTABUP  R5 = _ENV[K20('EBIType')]
  0049  GETTABLE  R5 = R5[K21('ActivityRankUp')]
  0050  LOADK     R6 = K8 0
  0051  CALL      R3 = call(R3, 0 args, 3 rets)
  0052  JMP       (jump)   -> 60
  0053  GETTABLE  R2 = R0[K10('m_boardModel')]
  0054  EQ        if R1 eq K11(nil)   -> -129725
  0055  JMP       (jump)   -> 59
  0056  GETTABLE  R2 = R0[K10('m_boardModel')]
  0057  SELF      R3 = R2[K22('Destroy')] (self)
  0058  CALL      R2 = call(R2, 0 args, 1 rets)
  0059  SETTABLE  R0[K10('m_boardModel')] = K11(nil)
  0060  GETTABLE  R2 = R0[K23('event')]
  0061  SELF      R3 = R2[K24('Call')] (self)
  0062  GETTABUP  R4 = _ENV[K25('ExtraBoardActivityEventType')]
  0063  GETTABLE  R4 = R4[K26('StateChanged')]
  0064  CALL      R2 = call(R2, 0 args, 2 rets)
  0065  GETTABUP  R2 = _ENV[K27('EventDispatcher')]
  0066  GETTABLE  R2 = R2[K28('DispatchEvent')]
  0067  GETTABLE  R3 = R0[K29('m_activityDefinition')]
  0068  GETTABLE  R3 = R3[K30('StateChangedEvent')]
  0069  CALL      R2 = call(R2, 0 args, 1 rets)
  0070  RETURN    return R0..R-1
; ---------- proto14 [IsLackExtraBoardItem] ----------
  ; fn ?  line 220-237 np=1 va=0 ms=3 code=38 consts=9 upvals=1 protos=0
  ;   K[0]='_GetRetrievedCount'
  ;   K[1]='nFreeItemCount'
  ;   K[2]='IsTokenMode'
  ;   K[3]='nFreeTokenCount'
  ;   K[4]='GetCacheCount'
  ;   K[5]=0
  ;   K[6]='GetActivityTokenNumber'
  ;   K[7]='UIBoardActivityModel'
  ;   K[8]='IsLackExtraBoardItem'
  ;   upvals: _ENV
  ;   locals: self(0-38)
  0000  SELF      R2 = R0[K0('_GetRetrievedCount')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  GETTABLE  R2 = R0[K1('nFreeItemCount')]
  0003  LE        if R0 le R2   -> -130553
  0004  JMP       (jump)   -> 11
  0005  SELF      R2 = R0[K2('IsTokenMode')] (self)
  0006  CALL      R1 = call(R1, 1 args, 1 rets)
  0007  TEST      if not R1 then   -> -131062
  0008  JMP       (jump)   -> 11
  0009  LOADBOOL  R1 = false
  0010  RETURN    return R1..R0
  0011  SELF      R2 = R0[K0('_GetRetrievedCount')] (self)
  0012  CALL      R1 = call(R1, 1 args, 1 rets)
  0013  GETTABLE  R2 = R0[K3('nFreeTokenCount')]
  0014  LE        if R0 le R2   -> -130542
  0015  JMP       (jump)   -> 22
  0016  SELF      R2 = R0[K2('IsTokenMode')] (self)
  0017  CALL      R1 = call(R1, 1 args, 1 rets)
  0018  TEST      if not R1 then   -> -131052
  0019  JMP       (jump)   -> 22
  0020  LOADBOOL  R1 = false
  0021  RETURN    return R1..R0
  0022  SELF      R2 = R0[K4('GetCacheCount')] (self)
  0023  CALL      R1 = call(R1, 1 args, 1 rets)
  0024  LT        if R1 lt R1   -> 2587
  0025  JMP       (jump)   -> 30
  0026  SELF      R2 = R0[K6('GetActivityTokenNumber')] (self)
  0027  CALL      R1 = call(R1, 1 args, 1 rets)
  0028  LT        if R0 lt R1   -> 2591
  0029  JMP       (jump)   -> 32
  0030  LOADBOOL  R1 = false
  0031  RETURN    return R1..R0
  0032  GETTABUP  R1 = _ENV[K7('UIBoardActivityModel')]
  0033  GETTABLE  R1 = R1[K8('IsLackExtraBoardItem')]
  0034  MOVE      R2 = R0
  0035  TAILCALL  tailcall(R1, 0)
  0036  RETURN    return R1..R0
  0037  RETURN    return R0..R-1
; ---------- proto15 [_GetRetrievedCount] ----------
  ; fn ?  line 239-241 np=1 va=0 ms=5 code=10 consts=5 upvals=1 protos=0
  ;   K[0]='m_dbTable'
  ;   K[1]='GetValue'
  ;   K[2]='Retrieved'
  ;   K[3]='value'
  ;   K[4]=0
  ;   upvals: DBKey
  ;   locals: self(0-10)
  0000  GETTABLE  R1 = R0[K0('m_dbTable')]
  0001  SELF      R2 = R1[K1('GetValue')] (self)
  0002  GETTABUP  R3 = DBKey[K2('Retrieved')]
  0003  LOADK     R4 = K3 'value'
  0004  CALL      R1 = call(R1, 1 args, 3 rets)
  0005  TEST      if not R1 then   -> -131064
  0006  JMP       (jump)   -> 8
  0007  LOADK     R1 = K4 0
  0008  RETURN    return R1..R0
  0009  RETURN    return R0..R-1
; ---------- proto16 [_AddRetrievedCount] ----------
  ; fn ?  line 243-247 np=2 va=0 ms=8 code=10 consts=5 upvals=1 protos=0
  ;   K[0]='_GetRetrievedCount'
  ;   K[1]='m_dbTable'
  ;   K[2]='Set'
  ;   K[3]='Retrieved'
  ;   K[4]='value'
  ;   upvals: DBKey
  ;   locals: self(0-10), num(0-10), nRetrievedCount(2-10)
  0000  SELF      R3 = R0[K0('_GetRetrievedCount')] (self)
  0001  CALL      R2 = call(R2, 1 args, 1 rets)
  0002  ADD       R2 = R1 add R2
  0003  GETTABLE  R3 = R0[K1('m_dbTable')]
  0004  SELF      R4 = R3[K2('Set')] (self)
  0005  GETTABUP  R5 = DBKey[K3('Retrieved')]
  0006  LOADK     R6 = K4 'value'
  0007  MOVE      R7 = R0
  0008  CALL      R3 = call(R3, 0 args, 4 rets)
  0009  RETURN    return R0..R-1
; ---------- proto17 [OnPopCachedItem] ----------
  ; fn ?  line 249-258 np=2 va=0 ms=5 code=20 consts=7 upvals=0 protos=0
  ;   K[0]='m_boardModel'
  ;   K[1]=nil
  ;   K[2]='BoardModel'
  ;   K[3]='IsTokenMode'
  ;   K[4]='_AddRetrievedCount'
  ;   K[5]=1
  ;   K[6]='CheckLackExtraBoardItem'
  ;   locals: self(0-20), msg(0-20)
  0000  GETTABLE  R2 = R0[K0('m_boardModel')]
  0001  EQ        if R1 eq K1(nil)   -> -129788
  0002  JMP       (jump)   -> 16
  0003  GETTABLE  R2 = R0[K0('m_boardModel')]
  0004  GETTABLE  R3 = R1[K2('BoardModel')]
  0005  EQ        if R0 eq R3   -> -130038
  0006  JMP       (jump)   -> 16
  0007  EQ        if R1 eq K1(nil)   -> -130294
  0008  JMP       (jump)   -> 16
  0009  SELF      R3 = R0[K3('IsTokenMode')] (self)
  0010  CALL      R2 = call(R2, 1 args, 1 rets)
  0011  TEST      if not R2 then   -> -131058
  0012  JMP       (jump)   -> 16
  0013  SELF      R3 = R0[K4('_AddRetrievedCount')] (self)
  0014  LOADK     R4 = K5 1
  0015  CALL      R2 = call(R2, 0 args, 2 rets)
  0016  SELF      R3 = R0[K6('CheckLackExtraBoardItem')] (self)
  0017  MOVE      R4 = R0
  0018  CALL      R2 = call(R2, 0 args, 2 rets)
  0019  RETURN    return R0..R-1
; ---------- proto18 [OnTokenConsumed] ----------
  ; fn ?  line 260-270 np=2 va=0 ms=7 code=20 consts=8 upvals=0 protos=0
  ;   K[0]='m_boardModel'
  ;   K[1]=nil
  ;   K[2]='IsTokenMode'
  ;   K[3]='_AddRetrievedCount'
  ;   K[4]='CheckLackExtraBoardItem'
  ;   K[5]='GameMode'
  ;   K[6]='GetGameMode'
  ;   K[7]='BoardModel'
  ;   locals: self(0-20), num(0-20)
  0000  GETTABLE  R2 = R0[K0('m_boardModel')]
  0001  EQ        if R1 eq K1(nil)   -> -129788
  0002  JMP       (jump)   -> 19
  0003  SELF      R3 = R0[K2('IsTokenMode')] (self)
  0004  CALL      R2 = call(R2, 1 args, 1 rets)
  0005  TEST      if not R2 then   -> -131065
  0006  JMP       (jump)   -> 19
  0007  SELF      R3 = R0[K3('_AddRetrievedCount')] (self)
  0008  MOVE      R4 = R0
  0009  CALL      R2 = call(R2, 0 args, 2 rets)
  0010  SELF      R3 = R0[K4('CheckLackExtraBoardItem')] (self)
  0011  NEWTABLE  R4 = {} (0 items)
  0012  GETTABLE  R5 = R0[K0('m_boardModel')]
  0013  SELF      R6 = R5[K6('GetGameMode')] (self)
  0014  CALL      R5 = call(R5, 1 args, 1 rets)
  0015  SETTABLE  R4[K5('GameMode')] = R5
  0016  GETTABLE  R5 = R0[K0('m_boardModel')]
  0017  SETTABLE  R4[K7('BoardModel')] = R5
  0018  CALL      R2 = call(R2, 0 args, 2 rets)
  0019  RETURN    return R0..R-1
; ---------- proto19 [_OnItemMerged] ----------
  ; fn ?  line 272-292 np=2 va=0 ms=8 code=64 consts=20 upvals=1 protos=0
  ;   K[0]='IsTokenMode'
  ;   K[1]='m_tokenMultipleUnlockConfig'
  ;   K[2]=nil
  ;   K[3]='New'
  ;   K[4]='GetCode'
  ;   K[5]='UnlockTokenMultipleMode'
  ;   K[6]='GM'
  ;   K[7]='TutorialModel'
  ;   K[8]='IsTutorialFinished'
  ;   K[9]='ETutorialId'
  ;   K[10]='ExtraBoardMultipleUnlock'
  ;   K[11]='ExtraBoardStart'
  ;   K[12]='IsTutorialOnGoing'
  ;   K[13]='EventDispatcher'
  ;   K[14]='DispatchEvent'
  ;   K[15]='EEventType'
  ;   K[16]='bUnlock'
  ;   K[17]=true
  ;   K[18]='UnlockMode'
  ;   K[19]='bTutotiralFinished'
  ;   upvals: _ENV
  ;   locals: self(0-64), msg(0-64), newMergedType(11-64), unlockMode(13-64), bTutotiralFinished(54-63)
  0000  SELF      R3 = R0[K0('IsTokenMode')] (self)
  0001  CALL      R2 = call(R2, 1 args, 1 rets)
  0002  TEST      if not R2 then   -> -131068
  0003  JMP       (jump)   -> 7
  0004  GETTABLE  R2 = R0[K1('m_tokenMultipleUnlockConfig')]
  0005  EQ        if R0 eq K2(nil)   -> -129783
  0006  JMP       (jump)   -> 8
  0007  RETURN    return R0..R-1
  0008  GETTABLE  R2 = R1[K3('New')]
  0009  SELF      R3 = R2[K4('GetCode')] (self)
  0010  CALL      R2 = call(R2, 1 args, 1 rets)
  0011  GETTABLE  R3 = R0[K1('m_tokenMultipleUnlockConfig')]
  0012  GETTABLE  R3 = R3[R2]
  0013  EQ        if R1 eq K2(nil)   -> -129263
  0014  JMP       (jump)   -> 63
  0015  SELF      R5 = R0[K5('UnlockTokenMultipleMode')] (self)
  0016  MOVE      R6 = R0
  0017  CALL      R4 = call(R4, 1 args, 2 rets)
  0018  TEST      if not R4 then   -> -131052
  0019  JMP       (jump)   -> 63
  0020  GETTABUP  R4 = _ENV[K6('GM')]
  0021  GETTABLE  R4 = R4[K7('TutorialModel')]
  0022  SELF      R5 = R4[K8('IsTutorialFinished')] (self)
  0023  GETTABUP  R6 = _ENV[K9('ETutorialId')]
  0024  GETTABLE  R6 = R6[K10('ExtraBoardMultipleUnlock')]
  0025  CALL      R4 = call(R4, 1 args, 2 rets)
  0026  TEST      if not R4 then   -> -131044
  0027  JMP       (jump)   -> 54
  0028  GETTABUP  R4 = _ENV[K6('GM')]
  0029  GETTABLE  R4 = R4[K7('TutorialModel')]
  0030  SELF      R5 = R4[K8('IsTutorialFinished')] (self)
  0031  GETTABUP  R6 = _ENV[K9('ETutorialId')]
  0032  GETTABLE  R6 = R6[K11('ExtraBoardStart')]
  0033  CALL      R4 = call(R4, 1 args, 2 rets)
  0034  TEST      if not R4 then   -> -131036
  0035  JMP       (jump)   -> 54
  0036  GETTABUP  R4 = _ENV[K6('GM')]
  0037  GETTABLE  R4 = R4[K7('TutorialModel')]
  0038  SELF      R5 = R4[K12('IsTutorialOnGoing')] (self)
  0039  GETTABUP  R6 = _ENV[K9('ETutorialId')]
  0040  GETTABLE  R6 = R6[K10('ExtraBoardMultipleUnlock')]
  0041  CALL      R4 = call(R4, 1 args, 2 rets)
  0042  TEST      if not R4 then   -> -131027
  0043  JMP       (jump)   -> 52
  0044  GETTABUP  R4 = _ENV[K6('GM')]
  0045  GETTABLE  R4 = R4[K7('TutorialModel')]
  0046  SELF      R5 = R4[K12('IsTutorialOnGoing')] (self)
  0047  GETTABUP  R6 = _ENV[K9('ETutorialId')]
  0048  GETTABLE  R6 = R6[K11('ExtraBoardStart')]
  0049  CALL      R4 = call(R4, 1 args, 2 rets)
  0050  NOT       R4 = not R0
  0051  JMP       (jump)   -> 54
  0052  LOADBOOL  R4 = false
  0053  LOADBOOL  R4 = true
  0054  GETTABUP  R5 = _ENV[K13('EventDispatcher')]
  0055  GETTABLE  R5 = R5[K14('DispatchEvent')]
  0056  GETTABUP  R6 = _ENV[K15('EEventType')]
  0057  GETTABLE  R6 = R6[K10('ExtraBoardMultipleUnlock')]
  0058  NEWTABLE  R7 = {} (0 items)
  0059  SETTABLE  R7[K16('bUnlock')] = K17(true)
  0060  SETTABLE  R7[K18('UnlockMode')] = R3
  0061  SETTABLE  R7[K19('bTutotiralFinished')] = R4
  0062  CALL      R5 = call(R5, 0 args, 2 rets)
  0063  RETURN    return R0..R-1
; ---------- proto20 [TutorialCacheItems] ----------
  ; fn ?  line 294-314 np=1 va=0 ms=10 code=58 consts=26 upvals=2 protos=0
  ;   K[0]='m_dbTable'
  ;   K[1]='GetValue'
  ;   K[2]='ItemGived'
  ;   K[3]='value'
  ;   K[4]=0
  ;   K[5]=1
  ;   K[6]='m_config'
  ;   K[7]=nil
  ;   K[8]='arrMergeLine'
  ;   K[9]='IsTokenMode'
  ;   K[10]='AcquireActivityToken'
  ;   K[11]='nFreeTokenCount'
  ;   K[12]='PROPERTY_TYPE'
  ;   K[13]='PROPERTY_COUNT'
  ;   K[14]='nFreeItemCount'
  ;   K[15]='RewardApi'
  ;   K[16]='AcquireRewardsLogic'
  ;   K[17]='EPropertySource'
  ;   K[18]='Give'
  ;   K[19]='EBIType'
  ;   K[20]='ExtraBoardTutorialCacheItem'
  ;   K[21]='ERewardScene'
  ;   K[22]='Other'
  ;   K[23]='CacheItemType'
  ;   K[24]='ExtraBoard'
  ;   K[25]='Set'
  ;   upvals: DBKey, _ENV
  ;   locals: self(0-58), bItemGived(8-58), rewards(38-51)
  0000  GETTABLE  R1 = R0[K0('m_dbTable')]
  0001  SELF      R2 = R1[K1('GetValue')] (self)
  0002  GETTABUP  R3 = DBKey[K2('ItemGived')]
  0003  LOADK     R4 = K3 'value'
  0004  CALL      R1 = call(R1, 1 args, 3 rets)
  0005  TEST      if not R1 then   -> -131064
  0006  JMP       (jump)   -> 8
  0007  LOADK     R1 = K4 0
  0008  EQ        if R0 eq K5(1)   -> -130289
  0009  JMP       (jump)   -> 11
  0010  RETURN    return R0..R-1
  0011  GETTABLE  R2 = R0[K6('m_config')]
  0012  EQ        if R1 eq K7(nil)   -> -129771
  0013  JMP       (jump)   -> 18
  0014  GETTABLE  R2 = R0[K6('m_config')]
  0015  GETTABLE  R2 = R2[K8('arrMergeLine')]
  0016  EQ        if R0 eq K7(nil)   -> -129767
  0017  JMP       (jump)   -> 19
  0018  RETURN    return R0..R-1
  0019  SELF      R3 = R0[K9('IsTokenMode')] (self)
  0020  CALL      R2 = call(R2, 1 args, 1 rets)
  0021  TEST      if not R2 then   -> -131049
  0022  JMP       (jump)   -> 27
  0023  SELF      R3 = R0[K10('AcquireActivityToken')] (self)
  0024  GETTABLE  R4 = R0[K11('nFreeTokenCount')]
  0025  CALL      R2 = call(R2, 0 args, 2 rets)
  0026  JMP       (jump)   -> 51
  0027  NEWTABLE  R2 = {} (1 items)
  0028  NEWTABLE  R3 = {} (0 items)
  0029  GETTABUP  R4 = _ENV[K12('PROPERTY_TYPE')]
  0030  GETTABLE  R5 = R0[K6('m_config')]
  0031  GETTABLE  R5 = R5[K8('arrMergeLine')]
  0032  GETTABLE  R5 = R5[K5(1)]
  0033  SETTABLE  R3[R4] = R5
  0034  GETTABUP  R4 = _ENV[K13('PROPERTY_COUNT')]
  0035  GETTABLE  R5 = R0[K14('nFreeItemCount')]
  0036  SETTABLE  R3[R4] = R5
  0037  SETLIST   setlist R2[B=1,C=1]
  0038  GETTABUP  R3 = _ENV[K15('RewardApi')]
  0039  GETTABLE  R3 = R3[K16('AcquireRewardsLogic')]
  0040  MOVE      R4 = R0
  0041  GETTABUP  R5 = _ENV[K17('EPropertySource')]
  0042  GETTABLE  R5 = R5[K18('Give')]
  0043  GETTABUP  R6 = _ENV[K19('EBIType')]
  0044  GETTABLE  R6 = R6[K20('ExtraBoardTutorialCacheItem')]
  0045  GETTABUP  R7 = _ENV[K21('ERewardScene')]
  0046  GETTABLE  R7 = R7[K22('Other')]
  0047  LOADNIL   R8..R8 = nil
  0048  GETTABUP  R9 = _ENV[K23('CacheItemType')]
  0049  GETTABLE  R9 = R9[K24('ExtraBoard')]
  0050  CALL      R3 = call(R3, 0 args, 6 rets)
  0051  GETTABLE  R2 = R0[K0('m_dbTable')]
  0052  SELF      R3 = R2[K25('Set')] (self)
  0053  GETTABUP  R4 = DBKey[K2('ItemGived')]
  0054  LOADK     R5 = K3 'value'
  0055  LOADK     R6 = K5 1
  0056  CALL      R2 = call(R2, 0 args, 4 rets)
  0057  RETURN    return R0..R-1
; ---------- proto21 [SetLevel] ----------
  ; fn ?  line 316-321 np=2 va=0 ms=7 code=19 consts=12 upvals=2 protos=0
  ;   K[0]='m_dbTable'
  ;   K[1]='Set'
  ;   K[2]='CurrentMergeLevel'
  ;   K[3]='value'
  ;   K[4]='TryAcquireMaxLevelReward'
  ;   K[5]='LogActivity'
  ;   K[6]='EBIType'
  ;   K[7]='ActivityRankUp'
  ;   K[8]='EventDispatcher'
  ;   K[9]='DispatchEvent'
  ;   K[10]='EEventType'
  ;   K[11]='ExtraBoardActivityItemUnlocked'
  ;   upvals: DBKey, _ENV
  ;   locals: self(0-19), level(0-19)
  0000  GETTABLE  R2 = R0[K0('m_dbTable')]
  0001  SELF      R3 = R2[K1('Set')] (self)
  0002  GETTABUP  R4 = DBKey[K2('CurrentMergeLevel')]
  0003  LOADK     R5 = K3 'value'
  0004  MOVE      R6 = R0
  0005  CALL      R2 = call(R2, 0 args, 4 rets)
  0006  SELF      R3 = R0[K4('TryAcquireMaxLevelReward')] (self)
  0007  CALL      R2 = call(R2, 0 args, 1 rets)
  0008  SELF      R3 = R0[K5('LogActivity')] (self)
  0009  GETTABUP  R4 = _ENV[K6('EBIType')]
  0010  GETTABLE  R4 = R4[K7('ActivityRankUp')]
  0011  MOVE      R5 = R0
  0012  CALL      R2 = call(R2, 0 args, 3 rets)
  0013  GETTABUP  R2 = _ENV[K8('EventDispatcher')]
  0014  GETTABLE  R2 = R2[K9('DispatchEvent')]
  0015  GETTABUP  R3 = _ENV[K10('EEventType')]
  0016  GETTABLE  R3 = R3[K11('ExtraBoardActivityItemUnlocked')]
  0017  CALL      R2 = call(R2, 0 args, 1 rets)
  0018  RETURN    return R0..R-1
; ---------- proto22 [GetLevel] ----------
  ; fn ?  line 323-325 np=1 va=0 ms=5 code=10 consts=5 upvals=1 protos=0
  ;   K[0]='m_dbTable'
  ;   K[1]='GetValue'
  ;   K[2]='CurrentMergeLevel'
  ;   K[3]='value'
  ;   K[4]=0
  ;   upvals: DBKey
  ;   locals: self(0-10)
  0000  GETTABLE  R1 = R0[K0('m_dbTable')]
  0001  SELF      R2 = R1[K1('GetValue')] (self)
  0002  GETTABUP  R3 = DBKey[K2('CurrentMergeLevel')]
  0003  LOADK     R4 = K3 'value'
  0004  CALL      R1 = call(R1, 1 args, 3 rets)
  0005  TEST      if not R1 then   -> -131064
  0006  JMP       (jump)   -> 8
  0007  LOADK     R1 = K4 0
  0008  RETURN    return R1..R0
  0009  RETURN    return R0..R-1
; ---------- proto23 [UpdateLevel] ----------
  ; fn ?  line 328-338 np=2 va=0 ms=7 code=15 consts=3 upvals=0 protos=0
  ;   K[0]='GetLevelByItemCode'
  ;   K[1]='GetLevel'
  ;   K[2]='SetLevel'
  ;   locals: self(0-15), itemCode(0-15), lvl(3-15), curLvl(5-15)
  0000  SELF      R3 = R0[K0('GetLevelByItemCode')] (self)
  0001  MOVE      R4 = R0
  0002  CALL      R2 = call(R2, 1 args, 2 rets)
  0003  SELF      R4 = R0[K1('GetLevel')] (self)
  0004  CALL      R3 = call(R3, 1 args, 1 rets)
  0005  LT        if R0 lt R2   -> -129527
  0006  JMP       (jump)   -> 12
  0007  SELF      R5 = R0[K2('SetLevel')] (self)
  0008  MOVE      R6 = R0
  0009  CALL      R4 = call(R4, 0 args, 2 rets)
  0010  LOADBOOL  R4 = true
  0011  RETURN    return R4..R3
  0012  LOADBOOL  R4 = false
  0013  RETURN    return R4..R3
  0014  RETURN    return R0..R-1
; ---------- proto24 [InitUpdateLevel] ----------
  ; fn ?  line 341-362 np=1 va=0 ms=13 code=33 consts=9 upvals=1 protos=0
  ;   K[0]='m_boardModel'
  ;   K[1]=nil
  ;   K[2]='GetLevel'
  ;   K[3]=0
  ;   K[4]='pairs'
  ;   K[5]='GetAllBoardItems'
  ;   K[6]='GetCode'
  ;   K[7]='GetLevelByItemCode'
  ;   K[8]='SetLevel'
  ;   upvals: _ENV
  ;   locals: self(0-33), curLvl(6-33), lvl(7-33), tempLvl(8-33), (for generator)(13-27), (for state)(13-27), (for control)(13-27), item(14-25), _(14-25), code(18-25)
  0000  GETTABLE  R1 = R0[K0('m_boardModel')]
  0001  EQ        if R0 eq K1(nil)   -> -130300
  0002  JMP       (jump)   -> 4
  0003  RETURN    return R0..R-1
  0004  SELF      R2 = R0[K2('GetLevel')] (self)
  0005  CALL      R1 = call(R1, 1 args, 1 rets)
  0006  LOADK     R2 = K3 0
  0007  LOADNIL   R3..R3 = nil
  0008  GETTABUP  R4 = _ENV[K4('pairs')]
  0009  GETTABLE  R5 = R0[K0('m_boardModel')]
  0010  SELF      R6 = R5[K5('GetAllBoardItems')] (self)
  0011  CALL      R5 = call(R5, -1 args, 1 rets)
  0012  CALL      R4 = call(R4, 3 args, -1 rets)
  0013  JMP       (jump)   -> 25
  0014  EQ        if R1 eq K1(nil)   -> -127215
  0015  JMP       (jump)   -> 25
  0016  SELF      R10 = R7[K6('GetCode')] (self)
  0017  CALL      R9 = call(R9, 1 args, 1 rets)
  0018  SELF      R11 = R0[K7('GetLevelByItemCode')] (self)
  0019  MOVE      R12 = R0
  0020  CALL      R10 = call(R10, 1 args, 2 rets)
  0021  MOVE      R3 = R0
  0022  LT        if R0 lt R3   -> -130021
  0023  JMP       (jump)   -> 25
  0024  MOVE      R2 = R0
  0025  TFORCALL  tforcall R4
  0026  TFORLOOP  tforloop R6(sBx=-13)   -> 14
  0027  LT        if R0 lt R2   -> -130529
  0028  JMP       (jump)   -> 32
  0029  SELF      R5 = R0[K8('SetLevel')] (self)
  0030  MOVE      R6 = R0
  0031  CALL      R4 = call(R4, 0 args, 2 rets)
  0032  RETURN    return R0..R-1
; ---------- proto25 [GetMaxLevel] ----------
  ; fn ?  line 364-366 np=1 va=0 ms=2 code=3 consts=1 upvals=0 protos=0
  ;   K[0]='m_maxLevel'
  ;   locals: self(0-3)
  0000  GETTABLE  R1 = R0[K0('m_maxLevel')]
  0001  RETURN    return R1..R0
  0002  RETURN    return R0..R-1
; ---------- proto26 [IsExtraBoardActivityItem] ----------
  ; fn ?  line 369-376 np=1 va=0 ms=10 code=26 consts=9 upvals=1 protos=0
  ;   K[0]='pairs'
  ;   K[1]='ExtraBoardActivityDefinition'
  ;   K[2]='GM'
  ;   K[3]='ActivityManager'
  ;   K[4]='GetModel'
  ;   K[5]='GetState'
  ;   K[6]='ActivityState'
  ;   K[7]='Started'
  ;   K[8]='IsSelfItem'
  ;   upvals: _ENV
  ;   locals: type(0-26), (for generator)(3-25), (for state)(3-25), (for control)(3-25), activityType(4-23), _(4-23), extraBoardModel(9-23)
  0000  GETTABUP  R1 = _ENV[K0('pairs')]
  0001  GETTABUP  R2 = _ENV[K1('ExtraBoardActivityDefinition')]
  0002  CALL      R1 = call(R1, 3 args, 1 rets)
  0003  JMP       (jump)   -> 23
  0004  GETTABUP  R6 = _ENV[K2('GM')]
  0005  GETTABLE  R6 = R6[K3('ActivityManager')]
  0006  SELF      R7 = R6[K4('GetModel')] (self)
  0007  MOVE      R8 = R0
  0008  CALL      R6 = call(R6, 1 args, 2 rets)
  0009  SELF      R8 = R6[K5('GetState')] (self)
  0010  CALL      R7 = call(R7, 1 args, 1 rets)
  0011  GETTABUP  R8 = _ENV[K6('ActivityState')]
  0012  GETTABLE  R8 = R8[K7('Started')]
  0013  EQ        if R0 eq R8   -> -127465
  0014  JMP       (jump)   -> 23
  0015  SELF      R8 = R6[K8('IsSelfItem')] (self)
  0016  MOVE      R9 = R0
  0017  CALL      R7 = call(R7, 1 args, 2 rets)
  0018  TEST      if not R7 then   -> -131052
  0019  JMP       (jump)   -> 23
  0020  LOADBOOL  R7 = true
  0021  MOVE      R8 = R0
  0022  RETURN    return R7..R6
  0023  TFORCALL  tforcall R1
  0024  TFORLOOP  tforloop R3(sBx=-21)   -> 4
  0025  RETURN    return R0..R-1
; ---------- proto27 [IsAcquireTypeValid] ----------
  ; fn ?  line 378-380 np=2 va=0 ms=5 code=12 consts=3 upvals=0 protos=0
  ;   K[0]='m_tokenHelper'
  ;   K[1]=nil
  ;   K[2]='IsAcquireTypeValid'
  ;   locals: self(0-12), type(0-12)
  0000  GETTABLE  R2 = R0[K0('m_tokenHelper')]
  0001  EQ        if R1 eq K1(nil)   -> -129788
  0002  JMP       (jump)   -> 8
  0003  GETTABLE  R2 = R0[K0('m_tokenHelper')]
  0004  SELF      R3 = R2[K2('IsAcquireTypeValid')] (self)
  0005  MOVE      R4 = R0
  0006  CALL      R2 = call(R2, 1 args, 2 rets)
  0007  JMP       (jump)   -> 10
  0008  LOADBOOL  R2 = false
  0009  LOADBOOL  R2 = true
  0010  RETURN    return R2..R1
  0011  RETURN    return R0..R-1
; ---------- proto28 [GetMaxLevelReward] ----------
  ; fn ?  line 384-388 np=1 va=0 ms=4 code=14 consts=7 upvals=1 protos=0
  ;   K[0]='Table'
  ;   K[1]='IsEmpty'
  ;   K[2]='m_maxReward'
  ;   K[3]='RewardApi'
  ;   K[4]='FilterRewards'
  ;   K[5]='ERewardScene'
  ;   K[6]='Other'
  ;   upvals: _ENV
  ;   locals: self(0-14)
  0000  GETTABUP  R1 = _ENV[K0('Table')]
  0001  GETTABLE  R1 = R1[K1('IsEmpty')]
  0002  GETTABLE  R2 = R0[K2('m_maxReward')]
  0003  CALL      R1 = call(R1, 1 args, 1 rets)
  0004  TEST      if not R1 then   -> -131065
  0005  JMP       (jump)   -> 13
  0006  GETTABUP  R1 = _ENV[K3('RewardApi')]
  0007  GETTABLE  R1 = R1[K4('FilterRewards')]
  0008  GETTABLE  R2 = R0[K2('m_maxReward')]
  0009  GETTABUP  R3 = _ENV[K5('ERewardScene')]
  0010  GETTABLE  R3 = R3[K6('Other')]
  0011  TAILCALL  tailcall(R1, 0)
  0012  RETURN    return R1..R0
  0013  RETURN    return R0..R-1
; ---------- proto29 [TryAcquireMaxLevelReward] ----------
  ; fn ?  line 390-398 np=1 va=0 ms=9 code=34 consts=18 upvals=1 protos=0
  ;   K[0]='GetMaxLevelReward'
  ;   K[1]='Table'
  ;   K[2]='IsEmpty'
  ;   K[3]='GetLevel'
  ;   K[4]='GetMaxLevel'
  ;   K[5]='RewardApi'
  ;   K[6]='CryptRewards'
  ;   K[7]='AcquireRewardsLogic'
  ;   K[8]='EPropertySource'
  ;   K[9]='Give'
  ;   K[10]='EBIType'
  ;   K[11]='ExtraBoardMaxLevelReward'
  ;   K[12]='ERewardScene'
  ;   K[13]='Other'
  ;   K[14]='EGameMode'
  ;   K[15]='Board'
  ;   K[16]='CacheItemType'
  ;   K[17]='Stack'
  ;   upvals: _ENV
  ;   locals: self(0-34), maxLevelReward(2-34)
  0000  SELF      R2 = R0[K0('GetMaxLevelReward')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  GETTABUP  R2 = _ENV[K1('Table')]
  0003  GETTABLE  R2 = R2[K2('IsEmpty')]
  0004  MOVE      R3 = R0
  0005  CALL      R2 = call(R2, 1 args, 1 rets)
  0006  TEST      if not R2 then   -> -131063
  0007  JMP       (jump)   -> 14
  0008  SELF      R3 = R0[K3('GetLevel')] (self)
  0009  CALL      R2 = call(R2, 1 args, 1 rets)
  0010  SELF      R4 = R0[K4('GetMaxLevel')] (self)
  0011  CALL      R3 = call(R3, 1 args, 1 rets)
  0012  LT        if R0 lt R3   -> -130031
  0013  JMP       (jump)   -> 15
  0014  RETURN    return R0..R-1
  0015  GETTABUP  R2 = _ENV[K5('RewardApi')]
  0016  GETTABLE  R2 = R2[K6('CryptRewards')]
  0017  MOVE      R3 = R0
  0018  CALL      R2 = call(R2, 0 args, 1 rets)
  0019  GETTABUP  R2 = _ENV[K5('RewardApi')]
  0020  GETTABLE  R2 = R2[K7('AcquireRewardsLogic')]
  0021  MOVE      R3 = R0
  0022  GETTABUP  R4 = _ENV[K8('EPropertySource')]
  0023  GETTABLE  R4 = R4[K9('Give')]
  0024  GETTABUP  R5 = _ENV[K10('EBIType')]
  0025  GETTABLE  R5 = R5[K11('ExtraBoardMaxLevelReward')]
  0026  GETTABUP  R6 = _ENV[K12('ERewardScene')]
  0027  GETTABLE  R6 = R6[K13('Other')]
  0028  GETTABUP  R7 = _ENV[K14('EGameMode')]
  0029  GETTABLE  R7 = R7[K15('Board')]
  0030  GETTABUP  R8 = _ENV[K16('CacheItemType')]
  0031  GETTABLE  R8 = R8[K17('Stack')]
  0032  CALL      R2 = call(R2, 0 args, 6 rets)
  0033  RETURN    return R0..R-1
; ---------- proto30 [_LoadCobwebConfig] ----------
  ; fn ?  line 403-427 np=1 va=0 ms=16 code=74 consts=16 upvals=1 protos=0
  ;   K[0]='StringUtil'
  ;   K[1]='IsNilOrEmpty'
  ;   K[2]='m_cobwebName'
  ;   K[3]='require'
  ;   K[4]='Data.Config.ExtraBoardCobwebConfig'
  ;   K[5]=nil
  ;   K[6]='Log'
  ;   K[7]='Error'
  ;   K[8]='cobweb配置的名称不存在: '
  ;   K[9]='m_cobwebConfig'
  ;   K[10]='Table'
  ;   K[11]='DeepCopy'
  ;   K[12]='ipairs'
  ;   K[13]='line'
  ;   K[14]='GetReplacedUIBoardItem'
  ;   K[15]='loop'
  ;   upvals: _ENV
  ;   locals: self(0-74), cobwebFileConfig(10-74), (for generator)(34-50), (for state)(34-50), (for control)(34-50), y(35-48), line(35-48), (for generator)(38-48), (for state)(38-48), (for control)(38-48), x(39-46), code(39-46), (for generator)(57-73), (for state)(57-73), (for control)(57-73), y(58-71), line(58-71), (for generator)(61-71), (for state)(61-71), (for control)(61-71), x(62-69), code(62-69)
  0000  GETTABUP  R1 = _ENV[K0('StringUtil')]
  0001  GETTABLE  R1 = R1[K1('IsNilOrEmpty')]
  0002  GETTABLE  R2 = R0[K2('m_cobwebName')]
  0003  CALL      R1 = call(R1, 1 args, 1 rets)
  0004  TEST      if not R1 then   -> -131066
  0005  JMP       (jump)   -> 7
  0006  RETURN    return R0..R-1
  0007  GETTABUP  R1 = _ENV[K3('require')]
  0008  LOADK     R2 = K4 'Data.Config.ExtraBoardCobwebConfig'
  0009  CALL      R1 = call(R1, 1 args, 1 rets)
  0010  GETTABLE  R2 = R0[K2('m_cobwebName')]
  0011  GETTABLE  R2 = R1[R2]
  0012  EQ        if R0 eq K5(nil)   -> -129773
  0013  JMP       (jump)   -> 21
  0014  GETTABUP  R2 = _ENV[K6('Log')]
  0015  GETTABLE  R2 = R2[K7('Error')]
  0016  LOADK     R3 = K8 'cobweb配置的名称不存在: '
  0017  GETTABLE  R4 = R0[K2('m_cobwebName')]
  0018  CONCAT    R3 = concat(R3..R3)
  0019  CALL      R2 = call(R2, 0 args, 1 rets)
  0020  RETURN    return R0..R-1
  0021  GETTABUP  R2 = _ENV[K10('Table')]
  0022  GETTABLE  R2 = R2[K11('DeepCopy')]
  0023  GETTABLE  R3 = R0[K2('m_cobwebName')]
  0024  GETTABLE  R3 = R1[R3]
  0025  CALL      R2 = call(R2, 1 args, 1 rets)
  0026  SETTABLE  R0[K9('m_cobwebConfig')] = R2
  0027  GETTABUP  R2 = _ENV[K12('ipairs')]
  0028  GETTABLE  R3 = R0[K9('m_cobwebConfig')]
  0029  GETTABLE  R3 = R3[K13('line')]
  0030  TEST      if not R3 then   -> -131039
  0031  JMP       (jump)   -> 33
  0032  NEWTABLE  R3 = {} (0 items)
  0033  CALL      R2 = call(R2, 3 args, 1 rets)
  0034  JMP       (jump)   -> 48
  0035  GETTABUP  R7 = _ENV[K12('ipairs')]
  0036  MOVE      R8 = R0
  0037  CALL      R7 = call(R7, 3 args, 1 rets)
  0038  JMP       (jump)   -> 46
  0039  GETTABLE  R12 = R0[K9('m_cobwebConfig')]
  0040  GETTABLE  R12 = R12[K13('line')]
  0041  GETTABLE  R12 = R12[R5]
  0042  SELF      R14 = R0[K14('GetReplacedUIBoardItem')] (self)
  0043  MOVE      R15 = R0
  0044  CALL      R13 = call(R13, 1 args, 2 rets)
  0045  SETTABLE  R12[R10] = R13
  0046  TFORCALL  tforcall R7
  0047  TFORLOOP  tforloop R9(sBx=-9)   -> 39
  0048  TFORCALL  tforcall R2
  0049  TFORLOOP  tforloop R4(sBx=-15)   -> 35
  0050  GETTABUP  R2 = _ENV[K12('ipairs')]
  0051  GETTABLE  R3 = R0[K9('m_cobwebConfig')]
  0052  GETTABLE  R3 = R3[K15('loop')]
  0053  TEST      if not R3 then   -> -131016
  0054  JMP       (jump)   -> 56
  0055  NEWTABLE  R3 = {} (0 items)
  0056  CALL      R2 = call(R2, 3 args, 1 rets)
  0057  JMP       (jump)   -> 71
  0058  GETTABUP  R7 = _ENV[K12('ipairs')]
  0059  MOVE      R8 = R0
  0060  CALL      R7 = call(R7, 3 args, 1 rets)
  0061  JMP       (jump)   -> 69
  0062  GETTABLE  R12 = R0[K9('m_cobwebConfig')]
  0063  GETTABLE  R12 = R12[K15('loop')]
  0064  GETTABLE  R12 = R12[R5]
  0065  SELF      R14 = R0[K14('GetReplacedUIBoardItem')] (self)
  0066  MOVE      R15 = R0
  0067  CALL      R13 = call(R13, 1 args, 2 rets)
  0068  SETTABLE  R12[R10] = R13
  0069  TFORCALL  tforcall R7
  0070  TFORLOOP  tforloop R9(sBx=-9)   -> 62
  0071  TFORCALL  tforcall R2
  0072  TFORLOOP  tforloop R4(sBx=-15)   -> 58
  0073  RETURN    return R0..R-1
; ---------- proto31 [IsCobwebOpen] ----------
  ; fn ?  line 429-431 np=1 va=0 ms=2 code=7 consts=2 upvals=0 protos=0
  ;   K[0]='m_cobwebConfig'
  ;   K[1]=nil
  ;   locals: self(0-7)
  0000  GETTABLE  R1 = R0[K0('m_cobwebConfig')]
  0001  EQ        if R0 eq K1(nil)   -> -130300
  0002  JMP       (jump)   -> 4
  0003  LOADBOOL  R1 = false
  0004  LOADBOOL  R1 = true
  0005  RETURN    return R1..R0
  0006  RETURN    return R0..R-1
; ---------- proto32 [EnterNextCobwebRound] ----------
  ; fn ?  line 433-460 np=1 va=0 ms=9 code=56 consts=18 upvals=2 protos=0
  ;   K[0]='GetCobwebRound'
  ;   K[1]=1
  ;   K[2]='m_cobwebConfig'
  ;   K[3]='line'
  ;   K[4]='loop'
  ;   K[5]='LogActivity'
  ;   K[6]='EBIType'
  ;   K[7]='ExtraBoardFinishCobwebRound'
  ;   K[8]=0
  ;   K[9]='m_dbTable'
  ;   K[10]='Set'
  ;   K[11]='CobwebRound'
  ;   K[12]='value'
  ;   K[13]='SetCobwebItemList'
  ;   K[14]='EventDispatcher'
  ;   K[15]='DispatchEvent'
  ;   K[16]='EEventType'
  ;   K[17]='ExtraBoardEnterNextCobwebRound'
  ;   upvals: _ENV, DBKey
  ;   locals: self(0-56), newRound(3-56), fixRound(6-56), loopRound(12-56), index(39-48)
  0000  SELF      R2 = R0[K0('GetCobwebRound')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  ADD       R1 = K1(1) add R1
  0003  GETTABLE  R2 = R0[K2('m_cobwebConfig')]
  0004  GETTABLE  R2 = R2[K3('line')]
  0005  LEN       R2 = len R0
  0006  GETTABLE  R3 = R0[K2('m_cobwebConfig')]
  0007  GETTABLE  R3 = R3[K4('loop')]
  0008  TEST      if not R3 then   -> -131061
  0009  JMP       (jump)   -> 11
  0010  NEWTABLE  R3 = {} (0 items)
  0011  LEN       R3 = len R0
  0012  SELF      R5 = R0[K5('LogActivity')] (self)
  0013  GETTABUP  R6 = _ENV[K6('EBIType')]
  0014  GETTABLE  R6 = R6[K7('ExtraBoardFinishCobwebRound')]
  0015  SELF      R8 = R0[K0('GetCobwebRound')] (self)
  0016  CALL      R7 = call(R7, -1 args, 1 rets)
  0017  CALL      R4 = call(R4, 0 args, -1 rets)
  0018  EQ        if R0 eq K8(0)   -> -129252
  0019  JMP       (jump)   -> 23
  0020  LT        if R0 lt R1   -> -130025
  0021  JMP       (jump)   -> 23
  0022  RETURN    return R0..R-1
  0023  GETTABLE  R4 = R0[K9('m_dbTable')]
  0024  SELF      R5 = R4[K10('Set')] (self)
  0025  GETTABUP  R6 = DBKey[K11('CobwebRound')]
  0026  LOADK     R7 = K12 'value'
  0027  MOVE      R8 = R0
  0028  CALL      R4 = call(R4, 0 args, 4 rets)
  0029  LE        if R0 le R2   -> -130527
  0030  JMP       (jump)   -> 37
  0031  SELF      R5 = R0[K13('SetCobwebItemList')] (self)
  0032  GETTABLE  R6 = R0[K2('m_cobwebConfig')]
  0033  GETTABLE  R6 = R6[K3('line')]
  0034  GETTABLE  R6 = R6[R1]
  0035  CALL      R4 = call(R4, 0 args, 2 rets)
  0036  JMP       (jump)   -> 48
  0037  SUB       R4 = R2 sub R1
  0038  MOD       R4 = R3 mod R4
  0039  EQ        if R0 eq K8(0)   -> -128719
  0040  JMP       (jump)   -> 43
  0041  TESTSET   if R1 then R4   -> -129492
  0042  JMP       (jump)   -> 43
  0043  SELF      R6 = R0[K13('SetCobwebItemList')] (self)
  0044  GETTABLE  R7 = R0[K2('m_cobwebConfig')]
  0045  GETTABLE  R7 = R7[K4('loop')]
  0046  GETTABLE  R7 = R7[R4]
  0047  CALL      R5 = call(R5, 0 args, 2 rets)
  0048  LT        if R0 lt R1   -> 563
  0049  JMP       (jump)   -> 55
  0050  GETTABUP  R4 = _ENV[K14('EventDispatcher')]
  0051  GETTABLE  R4 = R4[K15('DispatchEvent')]
  0052  GETTABUP  R5 = _ENV[K16('EEventType')]
  0053  GETTABLE  R5 = R5[K17('ExtraBoardEnterNextCobwebRound')]
  0054  CALL      R4 = call(R4, 0 args, 1 rets)
  0055  RETURN    return R0..R-1
; ---------- proto33 [GetCobwebRound] ----------
  ; fn ?  line 463-465 np=1 va=0 ms=5 code=10 consts=5 upvals=1 protos=0
  ;   K[0]='m_dbTable'
  ;   K[1]='GetValue'
  ;   K[2]='CobwebRound'
  ;   K[3]='value'
  ;   K[4]=0
  ;   upvals: DBKey
  ;   locals: self(0-10)
  0000  GETTABLE  R1 = R0[K0('m_dbTable')]
  0001  SELF      R2 = R1[K1('GetValue')] (self)
  0002  GETTABUP  R3 = DBKey[K2('CobwebRound')]
  0003  LOADK     R4 = K3 'value'
  0004  CALL      R1 = call(R1, 1 args, 3 rets)
  0005  TEST      if not R1 then   -> -131064
  0006  JMP       (jump)   -> 8
  0007  LOADK     R1 = K4 0
  0008  RETURN    return R1..R0
  0009  RETURN    return R0..R-1
; ---------- proto34 [GetCobwebItemList] ----------
  ; fn ?  line 468-474 np=1 va=0 ms=6 code=27 consts=11 upvals=2 protos=0
  ;   K[0]='m_dbTable'
  ;   K[1]='GetValue'
  ;   K[2]='CobwebItemList'
  ;   K[3]='value'
  ;   K[4]='StringUtil'
  ;   K[5]='IsNilOrEmpty'
  ;   K[6]='Replace'
  ;   K[7]='@'
  ;   K[8]=','
  ;   K[9]='json'
  ;   K[10]='decode'
  ;   upvals: DBKey, _ENV
  ;   locals: self(0-27), strData(5-27)
  0000  GETTABLE  R1 = R0[K0('m_dbTable')]
  0001  SELF      R2 = R1[K1('GetValue')] (self)
  0002  GETTABUP  R3 = DBKey[K2('CobwebItemList')]
  0003  LOADK     R4 = K3 'value'
  0004  CALL      R1 = call(R1, 1 args, 3 rets)
  0005  GETTABUP  R2 = _ENV[K4('StringUtil')]
  0006  GETTABLE  R2 = R2[K5('IsNilOrEmpty')]
  0007  MOVE      R3 = R0
  0008  CALL      R2 = call(R2, 1 args, 1 rets)
  0009  TEST      if not R2 then   -> -131060
  0010  JMP       (jump)   -> 26
  0011  GETTABUP  R2 = _ENV[K4('StringUtil')]
  0012  GETTABLE  R2 = R2[K6('Replace')]
  0013  MOVE      R3 = R0
  0014  LOADK     R4 = K7 '@'
  0015  LOADK     R5 = K8 ','
  0016  CALL      R2 = call(R2, 1 args, 3 rets)
  0017  MOVE      R1 = R0
  0018  GETTABUP  R2 = _ENV[K9('json')]
  0019  GETTABLE  R2 = R2[K10('decode')]
  0020  MOVE      R3 = R0
  0021  CALL      R2 = call(R2, 1 args, 1 rets)
  0022  TEST      if not R2 then   -> -131047
  0023  JMP       (jump)   -> 25
  0024  NEWTABLE  R2 = {} (0 items)
  0025  RETURN    return R2..R1
  0026  RETURN    return R0..R-1
; ---------- proto35 [SetCobwebItemList] ----------
  ; fn ?  line 476-484 np=2 va=0 ms=8 code=28 consts=13 upvals=2 protos=0
  ;   K[0]='Table'
  ;   K[1]='IsEmpty'
  ;   K[2]='m_dbTable'
  ;   K[3]='Remove'
  ;   K[4]='CobwebItemList'
  ;   K[5]='value'
  ;   K[6]='StringUtil'
  ;   K[7]='Replace'
  ;   K[8]='json'
  ;   K[9]='encode'
  ;   K[10]=','
  ;   K[11]='@'
  ;   K[12]='Set'
  ;   upvals: _ENV, DBKey
  ;   locals: self(0-28), arrItems(0-28), strData(21-28)
  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   -> -131066
  0005  JMP       (jump)   -> 12
  0006  GETTABLE  R2 = R0[K2('m_dbTable')]
  0007  SELF      R3 = R2[K3('Remove')] (self)
  0008  GETTABUP  R4 = DBKey[K4('CobwebItemList')]
  0009  LOADK     R5 = K5 'value'
  0010  CALL      R2 = call(R2, 0 args, 3 rets)
  0011  RETURN    return R0..R-1
  0012  GETTABUP  R2 = _ENV[K6('StringUtil')]
  0013  GETTABLE  R2 = R2[K7('Replace')]
  0014  GETTABUP  R3 = _ENV[K8('json')]
  0015  GETTABLE  R3 = R3[K9('encode')]
  0016  MOVE      R4 = R0
  0017  CALL      R3 = call(R3, 1 args, 1 rets)
  0018  LOADK     R4 = K10 ','
  0019  LOADK     R5 = K11 '@'
  0020  CALL      R2 = call(R2, 1 args, 3 rets)
  0021  GETTABLE  R3 = R0[K2('m_dbTable')]
  0022  SELF      R4 = R3[K12('Set')] (self)
  0023  GETTABUP  R5 = DBKey[K4('CobwebItemList')]
  0024  LOADK     R6 = K5 'value'
  0025  MOVE      R7 = R0
  0026  CALL      R3 = call(R3, 0 args, 4 rets)
  0027  RETURN    return R0..R-1
; ---------- proto36 [RemoveCobwebItem] ----------
  ; fn ?  line 486-495 np=2 va=0 ms=6 code=24 consts=8 upvals=2 protos=0
  ;   K[0]='GetCobwebItemList'
  ;   K[1]=nil
  ;   K[2]='CobwebCompleteFlag'
  ;   K[3]='Log'
  ;   K[4]='Error'
  ;   K[5]='蛛网序号不存在或者已经完成 index: '
  ;   K[6]='nil'
  ;   K[7]='SetCobwebItemList'
  ;   upvals: DBKey, _ENV
  ;   locals: self(0-24), index(0-24), arrItems(2-24)
  0000  SELF      R3 = R0[K0('GetCobwebItemList')] (self)
  0001  CALL      R2 = call(R2, 1 args, 1 rets)
  0002  GETTABLE  R3 = R2[R1]
  0003  EQ        if R1 eq K1(nil)   -> -129274
  0004  JMP       (jump)   -> 9
  0005  GETTABLE  R3 = R2[R1]
  0006  GETTABUP  R4 = DBKey[K2('CobwebCompleteFlag')]
  0007  EQ        if R0 eq R4   -> -129523
  0008  JMP       (jump)   -> 18
  0009  GETTABUP  R3 = _ENV[K3('Log')]
  0010  GETTABLE  R3 = R3[K4('Error')]
  0011  LOADK     R4 = K5 '蛛网序号不存在或者已经完成 index: '
  0012  TESTSET   if R1 then R5   -> -130545
  0013  JMP       (jump)   -> 15
  0014  LOADK     R5 = K6 'nil'
  0015  CONCAT    R4 = concat(R4..R4)
  0016  CALL      R3 = call(R3, 0 args, 1 rets)
  0017  RETURN    return R0..R-1
  0018  GETTABUP  R3 = DBKey[K2('CobwebCompleteFlag')]
  0019  SETTABLE  R2[R1] = R3
  0020  SELF      R4 = R0[K7('SetCobwebItemList')] (self)
  0021  MOVE      R5 = R0
  0022  CALL      R3 = call(R3, 0 args, 2 rets)
  0023  RETURN    return R0..R-1
; ---------- proto37 [TryEnterNextCobwebRound] ----------
  ; fn ?  line 497-501 np=1 va=0 ms=3 code=7 consts=2 upvals=0 protos=0
  ;   K[0]='HasFinishedCurCobwebRound'
  ;   K[1]='EnterNextCobwebRound'
  ;   locals: self(0-7)
  0000  SELF      R2 = R0[K0('HasFinishedCurCobwebRound')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  TEST      if not R1 then   -> -131068
  0003  JMP       (jump)   -> 6
  0004  SELF      R2 = R0[K1('EnterNextCobwebRound')] (self)
  0005  CALL      R1 = call(R1, 0 args, 1 rets)
  0006  RETURN    return R0..R-1
; ---------- proto38 [HasFinishedCurCobwebRound] ----------
  ; fn ?  line 503-516 np=1 va=0 ms=8 code=24 consts=5 upvals=2 protos=0
  ;   K[0]='GetCobwebItemList'
  ;   K[1]='Table'
  ;   K[2]='IsEmpty'
  ;   K[3]='ipairs'
  ;   K[4]='CobwebCompleteFlag'
  ;   upvals: _ENV, DBKey
  ;   locals: self(0-24), arrItems(2-24), (for generator)(13-21), (for state)(13-21), (for control)(13-21), _(14-19), item(14-19)
  0000  SELF      R2 = R0[K0('GetCobwebItemList')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  GETTABUP  R2 = _ENV[K1('Table')]
  0003  GETTABLE  R2 = R2[K2('IsEmpty')]
  0004  MOVE      R3 = R0
  0005  CALL      R2 = call(R2, 1 args, 1 rets)
  0006  TEST      if not R2 then   -> -131064
  0007  JMP       (jump)   -> 10
  0008  LOADBOOL  R2 = false
  0009  RETURN    return R2..R1
  0010  GETTABUP  R2 = _ENV[K3('ipairs')]
  0011  MOVE      R3 = R0
  0012  CALL      R2 = call(R2, 3 args, 1 rets)
  0013  JMP       (jump)   -> 19
  0014  GETTABUP  R7 = DBKey[K4('CobwebCompleteFlag')]
  0015  EQ        if R1 eq R7   -> -127976
  0016  JMP       (jump)   -> 19
  0017  LOADBOOL  R7 = false
  0018  RETURN    return R7..R6
  0019  TFORCALL  tforcall R2
  0020  TFORLOOP  tforloop R4(sBx=-7)   -> 14
  0021  LOADBOOL  R2 = true
  0022  RETURN    return R2..R1
  0023  RETURN    return R0..R-1
; ---------- proto39 [_LoadTokenConfig] ----------
  ; fn ?  line 522-550 np=1 va=0 ms=14 code=67 consts=25 upvals=1 protos=0
  ;   K[0]='m_bTokenMode'
  ;   K[1]=false
  ;   K[2]='m_tokenMultipleUnlockConfig'
  ;   K[3]='GetGeneralConfig'
  ;   K[4]='extraboardTokenMultipleUnlock'
  ;   K[5]='EConfigParamType'
  ;   K[6]='StringArray'
  ;   K[7]=nil
  ;   K[8]='ipairs'
  ;   K[9]='StringUtil'
  ;   K[10]='Split'
  ;   K[11]=','
  ;   K[12]=1
  ;   K[13]=2
  ;   K[14]='IsCommonItem'
  ;   K[15]='IsDigit'
  ;   K[16]='GetLevelByItemCode'
  ;   K[17]='GetMergeLength'
  ;   K[18]='Log'
  ;   K[19]='Error'
  ;   K[20]='积分小棋盘解锁多倍条件配置错误，请检查！'
  ;   K[21]='GetReplacedUIBoardItem'
  ;   K[22]='tonumber'
  ;   K[23]='next'
  ;   K[24]=true
  ;   upvals: _ENV
  ;   locals: self(0-67), configKey(8-67), (for generator)(13-60), (for state)(13-60), (for control)(13-60), _(14-58), v(14-58), res(19-58), strMode(20-58), itemCode(21-58)
  0000  SETTABLE  R0[K0('m_bTokenMode')] = K1(false)
  0001  NEWTABLE  R1 = {} (0 items)
  0002  SETTABLE  R0[K2('m_tokenMultipleUnlockConfig')] = R1
  0003  SELF      R2 = R0[K3('GetGeneralConfig')] (self)
  0004  LOADK     R3 = K4 'extraboardTokenMultipleUnlock'
  0005  GETTABUP  R4 = _ENV[K5('EConfigParamType')]
  0006  GETTABLE  R4 = R4[K6('StringArray')]
  0007  CALL      R1 = call(R1, 1 args, 3 rets)
  0008  EQ        if R1 eq K7(nil)   -> -130287
  0009  JMP       (jump)   -> 60
  0010  GETTABUP  R2 = _ENV[K8('ipairs')]
  0011  MOVE      R3 = R0
  0012  CALL      R2 = call(R2, 3 args, 1 rets)
  0013  JMP       (jump)   -> 58
  0014  GETTABUP  R7 = _ENV[K9('StringUtil')]
  0015  GETTABLE  R7 = R7[K10('Split')]
  0016  MOVE      R8 = R0
  0017  LOADK     R9 = K11 ','
  0018  CALL      R7 = call(R7, 1 args, 2 rets)
  0019  GETTABLE  R8 = R7[K12(1)]
  0020  GETTABLE  R9 = R7[K13(2)]
  0021  EQ        if R1 eq K7(nil)   -> -126178
  0022  JMP       (jump)   -> 45
  0023  EQ        if R1 eq K7(nil)   -> -126688
  0024  JMP       (jump)   -> 45
  0025  SELF      R11 = R0[K14('IsCommonItem')] (self)
  0026  MOVE      R12 = R0
  0027  CALL      R10 = call(R10, 1 args, 2 rets)
  0028  TEST      if not R10 then   -> -131042
  0029  JMP       (jump)   -> 45
  0030  EQ        if R1 eq K7(nil)   -> -126681
  0031  JMP       (jump)   -> 38
  0032  GETTABUP  R10 = _ENV[K9('StringUtil')]
  0033  GETTABLE  R10 = R10[K15('IsDigit')]
  0034  MOVE      R11 = R0
  0035  CALL      R10 = call(R10, 1 args, 1 rets)
  0036  TEST      if not R10 then   -> -131034
  0037  JMP       (jump)   -> 45
  0038  SELF      R11 = R0[K16('GetLevelByItemCode')] (self)
  0039  MOVE      R12 = R0
  0040  CALL      R10 = call(R10, 1 args, 2 rets)
  0041  SELF      R12 = R0[K17('GetMergeLength')] (self)
  0042  CALL      R11 = call(R11, 1 args, 1 rets)
  0043  EQ        if R0 eq R11   -> -125896
  0044  JMP       (jump)   -> 50
  0045  GETTABUP  R10 = _ENV[K18('Log')]
  0046  GETTABLE  R10 = R10[K19('Error')]
  0047  LOADK     R11 = K20 '积分小棋盘解锁多倍条件配置错误，请检查！'
  0048  CALL      R10 = call(R10, 0 args, 1 rets)
  0049  JMP       (jump)   -> 58
  0050  GETTABLE  R10 = R0[K2('m_tokenMultipleUnlockConfig')]
  0051  SELF      R12 = R0[K21('GetReplacedUIBoardItem')] (self)
  0052  MOVE      R13 = R0
  0053  CALL      R11 = call(R11, 1 args, 2 rets)
  0054  GETTABUP  R12 = _ENV[K22('tonumber')]
  0055  MOVE      R13 = R0
  0056  CALL      R12 = call(R12, 1 args, 1 rets)
  0057  SETTABLE  R10[R11] = R12
  0058  TFORCALL  tforcall R2
  0059  TFORLOOP  tforloop R4(sBx=-46)   -> 14
  0060  GETTABUP  R2 = _ENV[K23('next')]
  0061  GETTABLE  R3 = R0[K2('m_tokenMultipleUnlockConfig')]
  0062  CALL      R2 = call(R2, 1 args, 1 rets)
  0063  EQ        if R1 eq K7(nil)   -> -129720
  0064  JMP       (jump)   -> 66
  0065  SETTABLE  R0[K0('m_bTokenMode')] = K24(true)
  0066  RETURN    return R0..R-1
; ---------- proto40 [GetDoubleMultipleUnlockItemCode] ----------
  ; fn ?  line 552-559 np=1 va=0 ms=7 code=16 consts=3 upvals=2 protos=0
  ;   K[0]='pairs'
  ;   K[1]='m_tokenMultipleUnlockConfig'
  ;   K[2]='Double'
  ;   upvals: _ENV, ETokenMultipleMode
  ;   locals: self(0-16), (for generator)(6-13), (for state)(6-13), (for control)(6-13), itemCode(7-11), eMode(7-11)
  0000  GETTABUP  R1 = _ENV[K0('pairs')]
  0001  GETTABLE  R2 = R0[K1('m_tokenMultipleUnlockConfig')]
  0002  TEST      if not R2 then   -> -131067
  0003  JMP       (jump)   -> 5
  0004  NEWTABLE  R2 = {} (0 items)
  0005  CALL      R1 = call(R1, 3 args, 1 rets)
  0006  JMP       (jump)   -> 11
  0007  GETTABUP  R6 = ETokenMultipleMode[K2('Double')]
  0008  EQ        if R0 eq R6   -> -128496
  0009  JMP       (jump)   -> 11
  0010  RETURN    return R4..R3
  0011  TFORCALL  tforcall R1
  0012  TFORLOOP  tforloop R3(sBx=-6)   -> 7
  0013  LOADNIL   R1..R1 = nil
  0014  RETURN    return R1..R0
  0015  RETURN    return R0..R-1
; ---------- proto41 [GetCommonPropertyType] ----------
  ; fn ?  line 562-564 np=1 va=0 ms=2 code=3 consts=1 upvals=0 protos=0
  ;   K[0]='CommonTokenType'
  ;   locals: self(0-3)
  0000  GETTABLE  R1 = R0[K0('CommonTokenType')]
  0001  RETURN    return R1..R0
  0002  RETURN    return R0..R-1
; ---------- proto42 [IsTokenMode] ----------
  ; fn ?  line 567-569 np=1 va=0 ms=2 code=3 consts=1 upvals=0 protos=0
  ;   K[0]='m_bTokenMode'
  ;   locals: self(0-3)
  0000  GETTABLE  R1 = R0[K0('m_bTokenMode')]
  0001  RETURN    return R1..R0
  0002  RETURN    return R0..R-1
; ---------- proto43 [AcquireActivityToken] ----------
  ; fn ?  line 572-580 np=2 va=0 ms=6 code=18 consts=9 upvals=1 protos=0
  ;   K[0]='CanAddToken'
  ;   K[1]='GetActivityTokenNumber'
  ;   K[2]='_SetActivityTokenNumber'
  ;   K[3]='EventDispatcher'
  ;   K[4]='DispatchEvent'
  ;   K[5]='EEventType'
  ;   K[6]='ExtraBoardTokenChanged'
  ;   K[7]='bAddToken'
  ;   K[8]=true
  ;   upvals: _ENV
  ;   locals: self(0-18), num(0-18), currentToken(7-18)
  0000  SELF      R3 = R0[K0('CanAddToken')] (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('GetActivityTokenNumber')] (self)
  0006  CALL      R2 = call(R2, 1 args, 1 rets)
  0007  SELF      R4 = R0[K2('_SetActivityTokenNumber')] (self)
  0008  ADD       R5 = R1 add R2
  0009  CALL      R3 = call(R3, 0 args, 2 rets)
  0010  GETTABUP  R3 = _ENV[K3('EventDispatcher')]
  0011  GETTABLE  R3 = R3[K4('DispatchEvent')]
  0012  GETTABUP  R4 = _ENV[K5('EEventType')]
  0013  GETTABLE  R4 = R4[K6('ExtraBoardTokenChanged')]
  0014  NEWTABLE  R5 = {} (0 items)
  0015  SETTABLE  R5[K7('bAddToken')] = K8(true)
  0016  CALL      R3 = call(R3, 0 args, 2 rets)
  0017  RETURN    return R0..R-1
; ---------- proto44 [ConsumeAndAcquireItem] ----------
  ; fn ?  line 582-597 np=1 va=0 ms=10 code=42 consts=16 upvals=2 protos=0
  ;   K[0]='IsTokenMode'
  ;   K[1]='GetMultipleTokenMode'
  ;   K[2]='Single'
  ;   K[3]='m_config'
  ;   K[4]='arrMergeLine'
  ;   K[5]=1
  ;   K[6]='Double'
  ;   K[7]=2
  ;   K[8]='Quadruple'
  ;   K[9]=3
  ;   K[10]='GM'
  ;   K[11]='PropertyDataManager'
  ;   K[12]='Consume'
  ;   K[13]='GetTokenPropertyType'
  ;   K[14]='EBIType'
  ;   K[15]='SpreadItem'
  ;   upvals: ETokenMultipleMode, _ENV
  ;   locals: self(0-42), multipleTokenMode(8-42), consumer(9-42)
  0000  SELF      R2 = R0[K0('IsTokenMode')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  TEST      if not R1 then   -> -131067
  0003  JMP       (jump)   -> 6
  0004  LOADBOOL  R1 = false
  0005  RETURN    return R1..R0
  0006  SELF      R2 = R0[K1('GetMultipleTokenMode')] (self)
  0007  CALL      R1 = call(R1, 1 args, 1 rets)
  0008  LOADNIL   R2..R2 = nil
  0009  GETTABUP  R3 = ETokenMultipleMode[K2('Single')]
  0010  EQ        if R0 eq R3   -> -130545
  0011  JMP       (jump)   -> 16
  0012  GETTABLE  R3 = R0[K3('m_config')]
  0013  GETTABLE  R3 = R3[K4('arrMergeLine')]
  0014  GETTABLE  R2 = R3[K5(1)]
  0015  JMP       (jump)   -> 29
  0016  GETTABUP  R3 = ETokenMultipleMode[K6('Double')]
  0017  EQ        if R0 eq R3   -> -130538
  0018  JMP       (jump)   -> 23
  0019  GETTABLE  R3 = R0[K3('m_config')]
  0020  GETTABLE  R3 = R3[K4('arrMergeLine')]
  0021  GETTABLE  R2 = R3[K7(2)]
  0022  JMP       (jump)   -> 29
  0023  GETTABUP  R3 = ETokenMultipleMode[K8('Quadruple')]
  0024  EQ        if R0 eq R3   -> -130531
  0025  JMP       (jump)   -> 29
  0026  GETTABLE  R3 = R0[K3('m_config')]
  0027  GETTABLE  R3 = R3[K4('arrMergeLine')]
  0028  GETTABLE  R2 = R3[K9(3)]
  0029  GETTABUP  R3 = _ENV[K10('GM')]
  0030  GETTABLE  R3 = R3[K11('PropertyDataManager')]
  0031  SELF      R4 = R3[K12('Consume')] (self)
  0032  SELF      R6 = R0[K13('GetTokenPropertyType')] (self)
  0033  CALL      R5 = call(R5, 1 args, 1 rets)
  0034  MOVE      R6 = R0
  0035  GETTABUP  R7 = _ENV[K14('EBIType')]
  0036  GETTABLE  R7 = R7[K15('SpreadItem')]
  0037  LOADBOOL  R8 = false
  0038  MOVE      R9 = R0
  0039  TAILCALL  tailcall(R3, 0)
  0040  RETURN    return R3..R2
  0041  RETURN    return R0..R-1
; ---------- proto45 [CanAddToken] ----------
  ; fn ?  line 600-605 np=1 va=0 ms=3 code=13 consts=2 upvals=0 protos=0
  ;   K[0]='IsTokenMode'
  ;   K[1]='IsActivityOpen'
  ;   locals: self(0-13)
  0000  SELF      R2 = R0[K0('IsTokenMode')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  TEST      if not R1 then   -> -131068
  0003  JMP       (jump)   -> 8
  0004  SELF      R2 = R0[K1('IsActivityOpen')] (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
; ---------- proto46 [GetActivityTokenNumber] ----------
  ; fn ?  line 608-611 np=1 va=0 ms=6 code=11 consts=4 upvals=2 protos=0
  ;   K[0]='Token'
  ;   K[1]='m_dbTable'
  ;   K[2]='GetValue'
  ;   K[3]=0
  ;   upvals: DBKey, DB_VALUE_KEY
  ;   locals: self(0-11), key(1-11)
  0000  GETTABUP  R1 = DBKey[K0('Token')]
  0001  GETTABLE  R2 = R0[K1('m_dbTable')]
  0002  SELF      R3 = R2[K2('GetValue')] (self)
  0003  MOVE      R4 = R0
  0004  GETUPVAL  R5 = DBKey
  0005  CALL      R2 = call(R2, 1 args, 3 rets)
  0006  TEST      if not R2 then   -> -131063
  0007  JMP       (jump)   -> 9
  0008  LOADK     R2 = K3 0
  0009  RETURN    return R2..R1
  0010  RETURN    return R0..R-1
; ---------- proto47 [GetRedPointNum] ----------
  ; fn ?  line 613-619 np=1 va=0 ms=3 code=15 consts=4 upvals=0 protos=0
  ;   K[0]='IsTokenMode'
  ;   K[1]='GetActivityTokenNumber'
  ;   K[2]='GetCacheCount'
  ;   K[3]=0
  ;   locals: self(0-15)
  0000  SELF      R2 = R0[K0('IsTokenMode')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  TEST      if not R1 then   -> -131068
  0003  JMP       (jump)   -> 8
  0004  SELF      R2 = R0[K1('GetActivityTokenNumber')] (self)
  0005  TAILCALL  tailcall(R1, 0)
  0006  RETURN    return R1..R0
  0007  JMP       (jump)   -> 14
  0008  SELF      R2 = R0[K2('GetCacheCount')] (self)
  0009  CALL      R1 = call(R1, 1 args, 1 rets)
  0010  TEST      if not R1 then   -> -131059
  0011  JMP       (jump)   -> 13
  0012  LOADK     R1 = K3 0
  0013  RETURN    return R1..R0
  0014  RETURN    return R0..R-1
; ---------- proto48 [ConsumeActivityToken] ----------
  ; fn ?  line 622-647 np=4 va=0 ms=12 code=54 consts=22 upvals=1 protos=0
  ;   K[0]='IsTokenMode'
  ;   K[1]='m_boardModel'
  ;   K[2]=nil
  ;   K[3]='EExtraBoardConsumeResult'
  ;   K[4]='InvalidActivity'
  ;   K[5]='GetActivityTokenNumber'
  ;   K[6]='LackToken'
  ;   K[7]='ConsumeToken'
  ;   K[8]='GetTokenPropertyType'
  ;   K[9]='BoardFull'
  ;   K[10]='_SetActivityTokenNumber'
  ;   K[11]='EventDispatcher'
  ;   K[12]='DispatchEvent'
  ;   K[13]='EEventType'
  ;   K[14]='ExtraBoardTokenChanged'
  ;   K[15]='bAddToken'
  ;   K[16]=false
  ;   K[17]='OnTokenConsumed'
  ;   K[18]='GM'
  ;   K[19]='BIManager'
  ;   K[20]='LogUseItem'
  ;   K[21]='Success'
  ;   upvals: _ENV
  ;   locals: self(0-54), num(0-54), scene(0-54), consumer(0-54), currentToken(12-54), res(23-54)
  0000  SELF      R5 = R0[K0('IsTokenMode')] (self)
  0001  CALL      R4 = call(R4, 1 args, 1 rets)
  0002  TEST      if not R4 then   -> -131068
  0003  JMP       (jump)   -> 7
  0004  GETTABLE  R4 = R0[K1('m_boardModel')]
  0005  EQ        if R0 eq K2(nil)   -> -128759
  0006  JMP       (jump)   -> 10
  0007  GETTABUP  R4 = _ENV[K3('EExtraBoardConsumeResult')]
  0008  GETTABLE  R4 = R4[K4('InvalidActivity')]
  0009  RETURN    return R4..R3
  0010  SELF      R5 = R0[K5('GetActivityTokenNumber')] (self)
  0011  CALL      R4 = call(R4, 1 args, 1 rets)
  0012  LT        if R0 lt R1   -> -129009
  0013  JMP       (jump)   -> 17
  0014  GETTABUP  R5 = _ENV[K3('EExtraBoardConsumeResult')]
  0015  GETTABLE  R5 = R5[K6('LackToken')]
  0016  RETURN    return R5..R4
  0017  GETTABLE  R5 = R0[K1('m_boardModel')]
  0018  SELF      R6 = R5[K7('ConsumeToken')] (self)
  0019  MOVE      R7 = R0
  0020  SELF      R9 = R0[K8('GetTokenPropertyType')] (self)
  0021  CALL      R8 = call(R8, -1 args, 1 rets)
  0022  CALL      R5 = call(R5, 1 args, -1 rets)
  0023  TEST      if not R5 then   -> -131046
  0024  JMP       (jump)   -> 28
  0025  GETTABUP  R6 = _ENV[K3('EExtraBoardConsumeResult')]
  0026  GETTABLE  R6 = R6[K9('BoardFull')]
  0027  RETURN    return R6..R5
  0028  SELF      R7 = R0[K10('_SetActivityTokenNumber')] (self)
  0029  SUB       R8 = R1 sub R4
  0030  CALL      R6 = call(R6, 0 args, 2 rets)
  0031  GETTABUP  R6 = _ENV[K11('EventDispatcher')]
  0032  GETTABLE  R6 = R6[K12('DispatchEvent')]
  0033  GETTABUP  R7 = _ENV[K13('EEventType')]
  0034  GETTABLE  R7 = R7[K14('ExtraBoardTokenChanged')]
  0035  NEWTABLE  R8 = {} (0 items)
  0036  SETTABLE  R8[K15('bAddToken')] = K16(false)
  0037  CALL      R6 = call(R6, 0 args, 2 rets)
  0038  SELF      R7 = R0[K17('OnTokenConsumed')] (self)
  0039  MOVE      R8 = R0
  0040  CALL      R6 = call(R6, 0 args, 2 rets)
  0041  GETTABUP  R6 = _ENV[K18('GM')]
  0042  GETTABLE  R6 = R6[K19('BIManager')]
  0043  SELF      R7 = R6[K20('LogUseItem')] (self)
  0044  SELF      R9 = R0[K8('GetTokenPropertyType')] (self)
  0045  CALL      R8 = call(R8, 1 args, 1 rets)
  0046  MOVE      R9 = R0
  0047  MOVE      R10 = R0
  0048  MOVE      R11 = R0
  0049  CALL      R6 = call(R6, 0 args, 5 rets)
  0050  GETTABUP  R6 = _ENV[K3('EExtraBoardConsumeResult')]
  0051  GETTABLE  R6 = R6[K21('Success')]
  0052  RETURN    return R6..R5
  0053  RETURN    return R0..R-1
; ---------- proto49 [_SetActivityTokenNumber] ----------
  ; fn ?  line 650-653 np=2 va=0 ms=8 code=9 consts=3 upvals=2 protos=0
  ;   K[0]='Token'
  ;   K[1]='m_dbTable'
  ;   K[2]='Set'
  ;   upvals: DBKey, DB_VALUE_KEY
  ;   locals: self(0-9), value(0-9), key(1-9)
  0000  GETTABUP  R2 = DBKey[K0('Token')]
  0001  GETTABLE  R3 = R0[K1('m_dbTable')]
  0002  SELF      R4 = R3[K2('Set')] (self)
  0003  MOVE      R5 = R0
  0004  GETUPVAL  R6 = DBKey
  0005  MOVE      R7 = R0
  0006  TAILCALL  tailcall(R3, 0)
  0007  RETURN    return R3..R2
  0008  RETURN    return R0..R-1
; ---------- proto50 [UnlockTokenMultipleMode] ----------
  ; fn ?  line 656-665 np=2 va=0 ms=7 code=36 consts=7 upvals=3 protos=0
  ;   K[0]=nil
  ;   K[1]='IsTokenMultipleModeUnlocked'
  ;   K[2]='m_dbTable'
  ;   K[3]='Set'
  ;   K[4]='TokenModeUnlockState'
  ;   K[5]='Quadruple'
  ;   K[6]='Double'
  ;   upvals: DBKey, DB_VALUE_KEY, ETokenMultipleMode
  ;   locals: self(0-36), mode(0-36)
  0000  EQ        if R1 eq K0(nil)   -> -130302
  0001  JMP       (jump)   -> 7
  0002  SELF      R3 = R0[K1('IsTokenMultipleModeUnlocked')] (self)
  0003  MOVE      R4 = R0
  0004  CALL      R2 = call(R2, 1 args, 2 rets)
  0005  TEST      if not R2 then   -> -131065
  0006  JMP       (jump)   -> 9
  0007  LOADBOOL  R2 = false
  0008  RETURN    return R2..R1
  0009  GETTABLE  R2 = R0[K2('m_dbTable')]
  0010  SELF      R3 = R2[K3('Set')] (self)
  0011  GETTABUP  R4 = DBKey[K4('TokenModeUnlockState')]
  0012  MOVE      R5 = R0
  0013  CONCAT    R4 = concat(R4..R4)
  0014  GETUPVAL  R5 = DBKey
  0015  LOADBOOL  R6 = true
  0016  CALL      R2 = call(R2, 0 args, 4 rets)
  0017  GETTABUP  R2 = ETokenMultipleMode[K5('Quadruple')]
  0018  EQ        if R0 eq R2   -> -130538
  0019  JMP       (jump)   -> 33
  0020  SELF      R3 = R0[K1('IsTokenMultipleModeUnlocked')] (self)
  0021  GETTABUP  R4 = ETokenMultipleMode[K6('Double')]
  0022  CALL      R2 = call(R2, 1 args, 2 rets)
  0023  TEST      if not R2 then   -> -131046
  0024  JMP       (jump)   -> 33
  0025  GETTABLE  R2 = R0[K2('m_dbTable')]
  0026  SELF      R3 = R2[K3('Set')] (self)
  0027  GETTABUP  R4 = DBKey[K4('TokenModeUnlockState')]
  0028  GETTABUP  R5 = ETokenMultipleMode[K6('Double')]
  0029  CONCAT    R4 = concat(R4..R4)
  0030  GETUPVAL  R5 = DBKey
  0031  LOADBOOL  R6 = true
  0032  CALL      R2 = call(R2, 0 args, 4 rets)
  0033  LOADBOOL  R2 = true
  0034  RETURN    return R2..R1
  0035  RETURN    return R0..R-1
; ---------- proto51 [IsTokenMultipleModeUnlocked] ----------
  ; fn ?  line 668-670 np=2 va=0 ms=6 code=12 consts=3 upvals=2 protos=0
  ;   K[0]='m_dbTable'
  ;   K[1]='GetValue'
  ;   K[2]='TokenModeUnlockState'
  ;   upvals: DBKey, DB_VALUE_KEY
  ;   locals: self(0-12), mode(0-12)
  0000  GETTABLE  R2 = R0[K0('m_dbTable')]
  0001  SELF      R3 = R2[K1('GetValue')] (self)
  0002  GETTABUP  R4 = DBKey[K2('TokenModeUnlockState')]
  0003  MOVE      R5 = R0
  0004  CONCAT    R4 = concat(R4..R4)
  0005  GETUPVAL  R5 = DBKey
  0006  CALL      R2 = call(R2, 1 args, 3 rets)
  0007  TEST      if not R2 then   -> -131062
  0008  JMP       (jump)   -> 10
  0009  LOADBOOL  R2 = false
  0010  RETURN    return R2..R1
  0011  RETURN    return R0..R-1
; ---------- proto52 [GetMultipleTokenMode] ----------
  ; fn ?  line 673-675 np=1 va=0 ms=5 code=10 consts=4 upvals=3 protos=0
  ;   K[0]='m_dbTable'
  ;   K[1]='GetValue'
  ;   K[2]='SelectedTokenMode'
  ;   K[3]='Single'
  ;   upvals: DBKey, DB_VALUE_KEY, ETokenMultipleMode
  ;   locals: self(0-10)
  0000  GETTABLE  R1 = R0[K0('m_dbTable')]
  0001  SELF      R2 = R1[K1('GetValue')] (self)
  0002  GETTABUP  R3 = DBKey[K2('SelectedTokenMode')]
  0003  GETUPVAL  R4 = DBKey
  0004  CALL      R1 = call(R1, 1 args, 3 rets)
  0005  TEST      if not R1 then   -> -131064
  0006  JMP       (jump)   -> 8
  0007  GETTABUP  R1 = ETokenMultipleMode[K3('Single')]
  0008  RETURN    return R1..R0
  0009  RETURN    return R0..R-1
; ---------- proto53 [SetMultipleTokenMode] ----------
  ; fn ?  line 678-680 np=2 va=0 ms=7 code=7 consts=3 upvals=2 protos=0
  ;   K[0]='m_dbTable'
  ;   K[1]='Set'
  ;   K[2]='SelectedTokenMode'
  ;   upvals: DBKey, DB_VALUE_KEY
  ;   locals: self(0-7), mode(0-7)
  0000  GETTABLE  R2 = R0[K0('m_dbTable')]
  0001  SELF      R3 = R2[K1('Set')] (self)
  0002  GETTABUP  R4 = DBKey[K2('SelectedTokenMode')]
  0003  GETUPVAL  R5 = DBKey
  0004  MOVE      R6 = R0
  0005  CALL      R2 = call(R2, 0 args, 4 rets)
  0006  RETURN    return R0..R-1
; ---------- proto54 [SwitchMultipleTokenMode] ----------
  ; fn ?  line 683-706 np=1 va=0 ms=8 code=64 consts=20 upvals=2 protos=0
  ;   K[0]='EventDispatcher'
  ;   K[1]='DispatchEvent'
  ;   K[2]='EEventType'
  ;   K[3]='ExtraBoardMultipleSwitch'
  ;   K[4]='GetMultipleTokenMode'
  ;   K[5]='Single'
  ;   K[6]='IsTokenMultipleModeUnlocked'
  ;   K[7]='Double'
  ;   K[8]='SetMultipleTokenMode'
  ;   K[9]='Quadruple'
  ;   K[10]='ExtraBoardMultipleUnlock'
  ;   K[11]='bUnlock'
  ;   K[12]=false
  ;   K[13]='GM'
  ;   K[14]='BIManager'
  ;   K[15]='LogAction'
  ;   K[16]='EBIType'
  ;   K[17]='ExtraBoardSwitchMultipleMode'
  ;   K[18]='from'
  ;   K[19]='to'
  ;   upvals: _ENV, ETokenMultipleMode
  ;   locals: self(0-64), currentMode(7-64)
  0000  GETTABUP  R1 = _ENV[K0('EventDispatcher')]
  0001  GETTABLE  R1 = R1[K1('DispatchEvent')]
  0002  GETTABUP  R2 = _ENV[K2('EEventType')]
  0003  GETTABLE  R2 = R2[K3('ExtraBoardMultipleSwitch')]
  0004  CALL      R1 = call(R1, 0 args, 1 rets)
  0005  SELF      R2 = R0[K4('GetMultipleTokenMode')] (self)
  0006  CALL      R1 = call(R1, 1 args, 1 rets)
  0007  GETTABUP  R2 = ETokenMultipleMode[K5('Single')]
  0008  EQ        if R0 eq R2   -> -130548
  0009  JMP       (jump)   -> 19
  0010  SELF      R3 = R0[K6('IsTokenMultipleModeUnlocked')] (self)
  0011  GETTABUP  R4 = ETokenMultipleMode[K7('Double')]
  0012  CALL      R2 = call(R2, 1 args, 2 rets)
  0013  TEST      if not R2 then   -> -131057
  0014  JMP       (jump)   -> 19
  0015  SELF      R3 = R0[K8('SetMultipleTokenMode')] (self)
  0016  GETTABUP  R4 = ETokenMultipleMode[K7('Double')]
  0017  CALL      R2 = call(R2, 0 args, 2 rets)
  0018  JMP       (jump)   -> 48
  0019  GETTABUP  R2 = ETokenMultipleMode[K7('Double')]
  0020  EQ        if R0 eq R2   -> -130536
  0021  JMP       (jump)   -> 31
  0022  SELF      R3 = R0[K6('IsTokenMultipleModeUnlocked')] (self)
  0023  GETTABUP  R4 = ETokenMultipleMode[K9('Quadruple')]
  0024  CALL      R2 = call(R2, 1 args, 2 rets)
  0025  TEST      if not R2 then   -> -131045
  0026  JMP       (jump)   -> 31
  0027  SELF      R3 = R0[K8('SetMultipleTokenMode')] (self)
  0028  GETTABUP  R4 = ETokenMultipleMode[K9('Quadruple')]
  0029  CALL      R2 = call(R2, 0 args, 2 rets)
  0030  JMP       (jump)   -> 48
  0031  SELF      R3 = R0[K8('SetMultipleTokenMode')] (self)
  0032  GETTABUP  R4 = ETokenMultipleMode[K5('Single')]
  0033  CALL      R2 = call(R2, 0 args, 2 rets)
  0034  SELF      R3 = R0[K6('IsTokenMultipleModeUnlocked')] (self)
  0035  GETTABUP  R4 = ETokenMultipleMode[K7('Double')]
  0036  CALL      R2 = call(R2, 1 args, 2 rets)
  0037  TEST      if not R2 then   -> -131032
  0038  JMP       (jump)   -> 48
  0039  GETTABUP  R2 = _ENV[K0('EventDispatcher')]
  0040  GETTABLE  R2 = R2[K1('DispatchEvent')]
  0041  GETTABUP  R3 = _ENV[K2('EEventType')]
  0042  GETTABLE  R3 = R3[K10('ExtraBoardMultipleUnlock')]
  0043  NEWTABLE  R4 = {} (0 items)
  0044  SETTABLE  R4[K11('bUnlock')] = K12(false)
  0045  CALL      R2 = call(R2, 0 args, 2 rets)
  0046  LOADBOOL  R2 = false
  0047  RETURN    return R2..R1
  0048  GETTABUP  R2 = _ENV[K13('GM')]
  0049  GETTABLE  R2 = R2[K14('BIManager')]
  0050  SELF      R3 = R2[K15('LogAction')] (self)
  0051  GETTABUP  R4 = _ENV[K16('EBIType')]
  0052  GETTABLE  R4 = R4[K17('ExtraBoardSwitchMultipleMode')]
  0053  NEWTABLE  R5 = {} (0 items)
  0054  SETTABLE  R5[K18('from')] = R1
  0055  SELF      R7 = R0[K4('GetMultipleTokenMode')] (self)
  0056  CALL      R6 = call(R6, 1 args, 1 rets)
  0057  SETTABLE  R5[K19('to')] = R6
  0058  CALL      R2 = call(R2, 0 args, 3 rets)
  0059  LOADBOOL  R2 = true
  0060  SELF      R4 = R0[K4('GetMultipleTokenMode')] (self)
  0061  CALL      R3 = call(R3, -1 args, 1 rets)
  0062  RETURN    return R2..R1
  0063  RETURN    return R0..R-1
