# ExtraBoardActivity_View_ExtraBoardActivityMainWindow_1015.luac
; fn @ExtraBoardActivityMainWindow.lua  line 0-0 np=0 va=1 ms=3 code=152 consts=51 upvals=1 protos=45
;   K[0]='ExtraBoardActivityMainWindow'
;   K[1]='setmetatable'
;   K[2]='ExtraBoardActivityBaseWindow'
;   K[3]='__index'
;   K[4]='BeforeOpenCheck'
;   K[5]='Init'
;   K[6]='InitForTokenMode'
;   K[7]='GetBundleEntry'
;   K[8]='OnBoardViewLoaded'
;   K[9]='FitScreen'
;   K[10]='AddEventListener'
;   K[11]='OnDestroy'
;   K[12]='Update'
;   K[13]='UpdatePerSecond'
;   K[14]='Close'
;   K[15]='_OnCachedNewItem'
;   K[16]='_OnCachedItemsChanged'
;   K[17]='_OnGenerateItem'
;   K[18]='_OnUpdateContent'
;   K[19]='_OnBookItemUnlocked'
;   K[20]='TryPopBookWindow'
;   K[21]='PreLoadResource'
;   K[22]='_AdjustBottomButtonRect'
;   K[23]='_UpdateButton'
;   K[24]='GetButtonTransform'
;   K[25]='GetConsumeButtonTransform'
;   K[26]='GetMultipleButtonTransform'
;   K[27]='GetProgressTransform'
;   K[28]='GetMergeLineItemIconArea'
;   K[29]='GetItemBoardAnchor'
;   K[30]='_OnButtonClicked'
;   K[31]='GetCacheIconArea'
;   K[32]='GetDeleteButton'
;   K[33]='GetHelpBtnTrans'
;   K[34]='GetBoardContainerTrans'
;   K[35]='OnHelpButtonClick'
;   K[36]='OnUnlockAnimationFinish'
;   K[37]='UpdateCobwebContent'
;   K[38]='_OnItemMerged'
;   K[39]='_OnCloseView'
;   K[40]='_TryPlayCobwebUnlockAnim'
;   K[41]='PlayConveyBeltAnim'
;   K[42]='EnterNextCobwebRound'
;   K[43]='GetCobwebBgRect'
;   K[44]='GetBoardHighlightRoot'
;   K[45]='GetCacheRootHudButton'
;   K[46]='GetCacheRootUIPosition'
;   K[47]='ExtraBoardCacheRootHudButton'
;   K[48]='HudBaseButton'
;   K[49]='Init'
;   K[50]='GetFlyTargetPosition'
;   upvals: _ENV
0000  GETTABUP  R0 = _ENV[K1('setmetatable')]
0001  NEWTABLE  R1 = {} (0 items)
0002  GETTABUP  R2 = _ENV[K2('ExtraBoardActivityBaseWindow')]
0003  CALL      R0 = call(R0, 1 args, 2 rets)
0004  SETTABUP  _ENV[K0('ExtraBoardActivityMainWindow')] = R0
0005  GETTABUP  R0 = _ENV[K0('ExtraBoardActivityMainWindow')]
0006  GETTABUP  R1 = _ENV[K0('ExtraBoardActivityMainWindow')]
0007  SETTABLE  R0[K3('__index')] = R1
0008  GETTABUP  R0 = _ENV[K0('ExtraBoardActivityMainWindow')]
0009  CLOSURE   R1 = closure proto0
0010  SETTABLE  R0[K4('BeforeOpenCheck')] = R1
0011  GETTABUP  R0 = _ENV[K0('ExtraBoardActivityMainWindow')]
0012  CLOSURE   R1 = closure proto1
0013  SETTABLE  R0[K5('Init')] = R1
0014  GETTABUP  R0 = _ENV[K0('ExtraBoardActivityMainWindow')]
0015  CLOSURE   R1 = closure proto2
0016  SETTABLE  R0[K6('InitForTokenMode')] = R1
0017  GETTABUP  R0 = _ENV[K0('ExtraBoardActivityMainWindow')]
0018  CLOSURE   R1 = closure proto3
0019  SETTABLE  R0[K7('GetBundleEntry')] = R1
0020  GETTABUP  R0 = _ENV[K0('ExtraBoardActivityMainWindow')]
0021  CLOSURE   R1 = closure proto4
0022  SETTABLE  R0[K8('OnBoardViewLoaded')] = R1
0023  GETTABUP  R0 = _ENV[K0('ExtraBoardActivityMainWindow')]
0024  CLOSURE   R1 = closure proto5
0025  SETTABLE  R0[K9('FitScreen')] = R1
0026  GETTABUP  R0 = _ENV[K0('ExtraBoardActivityMainWindow')]
0027  CLOSURE   R1 = closure proto6
0028  SETTABLE  R0[K10('AddEventListener')] = R1
0029  GETTABUP  R0 = _ENV[K0('ExtraBoardActivityMainWindow')]
0030  CLOSURE   R1 = closure proto7
0031  SETTABLE  R0[K11('OnDestroy')] = R1
0032  GETTABUP  R0 = _ENV[K0('ExtraBoardActivityMainWindow')]
0033  CLOSURE   R1 = closure proto8
0034  SETTABLE  R0[K12('Update')] = R1
0035  GETTABUP  R0 = _ENV[K0('ExtraBoardActivityMainWindow')]
0036  CLOSURE   R1 = closure proto9
0037  SETTABLE  R0[K13('UpdatePerSecond')] = R1
0038  GETTABUP  R0 = _ENV[K0('ExtraBoardActivityMainWindow')]
0039  CLOSURE   R1 = closure proto10
0040  SETTABLE  R0[K14('Close')] = R1
0041  GETTABUP  R0 = _ENV[K0('ExtraBoardActivityMainWindow')]
0042  CLOSURE   R1 = closure proto11
0043  SETTABLE  R0[K15('_OnCachedNewItem')] = R1
0044  GETTABUP  R0 = _ENV[K0('ExtraBoardActivityMainWindow')]
0045  CLOSURE   R1 = closure proto12
0046  SETTABLE  R0[K16('_OnCachedItemsChanged')] = R1
0047  GETTABUP  R0 = _ENV[K0('ExtraBoardActivityMainWindow')]
0048  CLOSURE   R1 = closure proto13
0049  SETTABLE  R0[K17('_OnGenerateItem')] = R1
0050  GETTABUP  R0 = _ENV[K0('ExtraBoardActivityMainWindow')]
0051  CLOSURE   R1 = closure proto14
0052  SETTABLE  R0[K18('_OnUpdateContent')] = R1
0053  GETTABUP  R0 = _ENV[K0('ExtraBoardActivityMainWindow')]
0054  CLOSURE   R1 = closure proto15
0055  SETTABLE  R0[K19('_OnBookItemUnlocked')] = R1
0056  GETTABUP  R0 = _ENV[K0('ExtraBoardActivityMainWindow')]
0057  CLOSURE   R1 = closure proto16
0058  SETTABLE  R0[K20('TryPopBookWindow')] = R1
0059  GETTABUP  R0 = _ENV[K0('ExtraBoardActivityMainWindow')]
0060  CLOSURE   R1 = closure proto17
0061  SETTABLE  R0[K21('PreLoadResource')] = R1
0062  GETTABUP  R0 = _ENV[K0('ExtraBoardActivityMainWindow')]
0063  CLOSURE   R1 = closure proto18
0064  SETTABLE  R0[K22('_AdjustBottomButtonRect')] = R1
0065  GETTABUP  R0 = _ENV[K0('ExtraBoardActivityMainWindow')]
0066  CLOSURE   R1 = closure proto19
0067  SETTABLE  R0[K23('_UpdateButton')] = R1
0068  GETTABUP  R0 = _ENV[K0('ExtraBoardActivityMainWindow')]
0069  CLOSURE   R1 = closure proto20
0070  SETTABLE  R0[K24('GetButtonTransform')] = R1
0071  GETTABUP  R0 = _ENV[K0('ExtraBoardActivityMainWindow')]
0072  CLOSURE   R1 = closure proto21
0073  SETTABLE  R0[K25('GetConsumeButtonTransform')] = R1
0074  GETTABUP  R0 = _ENV[K0('ExtraBoardActivityMainWindow')]
0075  CLOSURE   R1 = closure proto22
0076  SETTABLE  R0[K26('GetMultipleButtonTransform')] = R1
0077  GETTABUP  R0 = _ENV[K0('ExtraBoardActivityMainWindow')]
0078  CLOSURE   R1 = closure proto23
0079  SETTABLE  R0[K27('GetProgressTransform')] = R1
0080  GETTABUP  R0 = _ENV[K0('ExtraBoardActivityMainWindow')]
0081  CLOSURE   R1 = closure proto24
0082  SETTABLE  R0[K28('GetMergeLineItemIconArea')] = R1
0083  GETTABUP  R0 = _ENV[K0('ExtraBoardActivityMainWindow')]
0084  CLOSURE   R1 = closure proto25
0085  SETTABLE  R0[K29('GetItemBoardAnchor')] = R1
0086  GETTABUP  R0 = _ENV[K0('ExtraBoardActivityMainWindow')]
0087  CLOSURE   R1 = closure proto26
0088  SETTABLE  R0[K30('_OnButtonClicked')] = R1
0089  GETTABUP  R0 = _ENV[K0('ExtraBoardActivityMainWindow')]
0090  CLOSURE   R1 = closure proto27
0091  SETTABLE  R0[K31('GetCacheIconArea')] = R1
0092  GETTABUP  R0 = _ENV[K0('ExtraBoardActivityMainWindow')]
0093  CLOSURE   R1 = closure proto28
0094  SETTABLE  R0[K32('GetDeleteButton')] = R1
0095  GETTABUP  R0 = _ENV[K0('ExtraBoardActivityMainWindow')]
0096  CLOSURE   R1 = closure proto29
0097  SETTABLE  R0[K33('GetHelpBtnTrans')] = R1
0098  GETTABUP  R0 = _ENV[K0('ExtraBoardActivityMainWindow')]
0099  CLOSURE   R1 = closure proto30
0100  SETTABLE  R0[K34('GetBoardContainerTrans')] = R1
0101  GETTABUP  R0 = _ENV[K0('ExtraBoardActivityMainWindow')]
0102  CLOSURE   R1 = closure proto31
0103  SETTABLE  R0[K35('OnHelpButtonClick')] = R1
0104  GETTABUP  R0 = _ENV[K0('ExtraBoardActivityMainWindow')]
0105  CLOSURE   R1 = closure proto32
0106  SETTABLE  R0[K36('OnUnlockAnimationFinish')] = R1
0107  GETTABUP  R0 = _ENV[K0('ExtraBoardActivityMainWindow')]
0108  CLOSURE   R1 = closure proto33
0109  SETTABLE  R0[K37('UpdateCobwebContent')] = R1
0110  GETTABUP  R0 = _ENV[K0('ExtraBoardActivityMainWindow')]
0111  CLOSURE   R1 = closure proto34
0112  SETTABLE  R0[K38('_OnItemMerged')] = R1
0113  GETTABUP  R0 = _ENV[K0('ExtraBoardActivityMainWindow')]
0114  CLOSURE   R1 = closure proto35
0115  SETTABLE  R0[K39('_OnCloseView')] = R1
0116  GETTABUP  R0 = _ENV[K0('ExtraBoardActivityMainWindow')]
0117  CLOSURE   R1 = closure proto36
0118  SETTABLE  R0[K40('_TryPlayCobwebUnlockAnim')] = R1
0119  GETTABUP  R0 = _ENV[K0('ExtraBoardActivityMainWindow')]
0120  CLOSURE   R1 = closure proto37
0121  SETTABLE  R0[K41('PlayConveyBeltAnim')] = R1
0122  GETTABUP  R0 = _ENV[K0('ExtraBoardActivityMainWindow')]
0123  CLOSURE   R1 = closure proto38
0124  SETTABLE  R0[K42('EnterNextCobwebRound')] = R1
0125  GETTABUP  R0 = _ENV[K0('ExtraBoardActivityMainWindow')]
0126  CLOSURE   R1 = closure proto39
0127  SETTABLE  R0[K43('GetCobwebBgRect')] = R1
0128  GETTABUP  R0 = _ENV[K0('ExtraBoardActivityMainWindow')]
0129  CLOSURE   R1 = closure proto40
0130  SETTABLE  R0[K44('GetBoardHighlightRoot')] = R1
0131  GETTABUP  R0 = _ENV[K0('ExtraBoardActivityMainWindow')]
0132  CLOSURE   R1 = closure proto41
0133  SETTABLE  R0[K45('GetCacheRootHudButton')] = R1
0134  GETTABUP  R0 = _ENV[K0('ExtraBoardActivityMainWindow')]
0135  CLOSURE   R1 = closure proto42
0136  SETTABLE  R0[K46('GetCacheRootUIPosition')] = R1
0137  GETTABUP  R0 = _ENV[K1('setmetatable')]
0138  NEWTABLE  R1 = {} (0 items)
0139  GETTABUP  R2 = _ENV[K48('HudBaseButton')]
0140  CALL      R0 = call(R0, 1 args, 2 rets)
0141  SETTABUP  _ENV[K47('ExtraBoardCacheRootHudButton')] = R0
0142  GETTABUP  R0 = _ENV[K47('ExtraBoardCacheRootHudButton')]
0143  GETTABUP  R1 = _ENV[K47('ExtraBoardCacheRootHudButton')]
0144  SETTABLE  R0[K3('__index')] = R1
0145  GETTABUP  R0 = _ENV[K47('ExtraBoardCacheRootHudButton')]
0146  CLOSURE   R1 = closure proto43
0147  SETTABLE  R0[K49('Init')] = R1
0148  GETTABUP  R0 = _ENV[K47('ExtraBoardCacheRootHudButton')]
0149  CLOSURE   R1 = closure proto44
0150  SETTABLE  R0[K50('GetFlyTargetPosition')] = R1
0151  RETURN    return R0..R-1
; ---------- proto0 [BeforeOpenCheck] ----------
  ; fn ?  line 5-14 np=1 va=0 ms=10 code=26 consts=8 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'
  ;   upvals: _ENV
  ;   locals: self(0-26), model(1-26), (for generator)(4-23), (for state)(4-23), (for control)(4-23), activityType(5-21), _(5-21)
  0000  LOADNIL   R1..R1 = nil
  0001  GETTABUP  R2 = _ENV[K0('pairs')]
  0002  GETTABUP  R3 = _ENV[K1('ExtraBoardActivityDefinition')]
  0003  CALL      R2 = call(R2, 3 args, 1 rets)
  0004  JMP       (jump)   -> 21
  0005  GETTABUP  R7 = _ENV[K2('GM')]
  0006  GETTABLE  R7 = R7[K3('ActivityManager')]
  0007  SELF      R8 = R7[K4('GetModel')] (self)
  0008  MOVE      R9 = R0
  0009  CALL      R7 = call(R7, 1 args, 2 rets)
  0010  MOVE      R1 = R0
  0011  TEST      if not R1 then   -> -131059
  0012  JMP       (jump)   -> 21
  0013  SELF      R8 = R1[K5('GetState')] (self)
  0014  CALL      R7 = call(R7, 1 args, 1 rets)
  0015  GETTABUP  R8 = _ENV[K6('ActivityState')]
  0016  GETTABLE  R8 = R8[K7('Started')]
  0017  EQ        if R0 eq R8   -> -127461
  0018  JMP       (jump)   -> 21
  0019  LOADBOOL  R7 = true
  0020  RETURN    return R7..R6
  0021  TFORCALL  tforcall R2
  0022  TFORLOOP  tforloop R4(sBx=-18)   -> 5
  0023  LOADBOOL  R2 = false
  0024  RETURN    return R2..R1
  0025  RETURN    return R0..R-1
; ---------- proto1 [Init] ----------
  ; fn ?  line 16-52 np=3 va=0 ms=12 code=98 consts=33 upvals=1 protos=1
  ;   K[0]='ExtraBoardActivityBaseWindow'
  ;   K[1]='Init'
  ;   K[2]='m_boardModel'
  ;   K[3]='m_model'
  ;   K[4]='GetBoardModel'
  ;   K[5]='FitScreen'
  ;   K[6]='GetMergeLength'
  ;   K[7]='UIUtil'
  ;   K[8]='IsEmptyComponent'
  ;   K[9]='m_levelProgress'
  ;   K[10]=1
  ;   K[11]='m_bookEntry'
  ;   K[12]=nil
  ;   K[13]='SetActive'
  ;   K[14]='m_itemDeleteButton'
  ;   K[15]='gameObject'
  ;   K[16]='m_itemTipButton'
  ;   K[17]='UpdateSortingOrder'
  ;   K[18]='GetSortingOrder'
  ;   K[19]='GM'
  ;   K[20]='ModeViewController'
  ;   K[21]='LoadExtraBoardActivityBoardView'
  ;   K[22]='GetBoardViewPrefabName'
  ;   K[23]='m_boardRowImage'
  ;   K[24]='UpdateCobwebContent'
  ;   K[25]='PreLoadResource'
  ;   K[26]='m_cacheRootHudButton'
  ;   K[27]='m_activityBundleEntryRoot'
  ;   K[28]='m_activityType'
  ;   K[29]='SceneManager'
  ;   K[30]='EnterActivityMode'
  ;   K[31]='EGameMode'
  ;   K[32]='ExtraBoard'
  ;   upvals: _ENV
  ;   locals: self(0-98), activityType(0-98), bUserClick(0-98), length(15-98)
  0000  GETTABUP  R3 = _ENV[K0('ExtraBoardActivityBaseWindow')]
  0001  GETTABLE  R3 = R3[K1('Init')]
  0002  MOVE      R4 = R0
  0003  MOVE      R5 = R0
  0004  MOVE      R6 = R0
  0005  CALL      R3 = call(R3, 0 args, 3 rets)
  0006  GETTABLE  R3 = R0[K3('m_model')]
  0007  SELF      R4 = R3[K4('GetBoardModel')] (self)
  0008  CALL      R3 = call(R3, 1 args, 1 rets)
  0009  SETTABLE  R0[K2('m_boardModel')] = R3
  0010  SELF      R4 = R0[K5('FitScreen')] (self)
  0011  CALL      R3 = call(R3, 0 args, 1 rets)
  0012  GETTABLE  R3 = R0[K3('m_model')]
  0013  SELF      R4 = R3[K6('GetMergeLength')] (self)
  0014  CALL      R3 = call(R3, 1 args, 1 rets)
  0015  GETTABUP  R4 = _ENV[K7('UIUtil')]
  0016  GETTABLE  R4 = R4[K8('IsEmptyComponent')]
  0017  GETTABLE  R5 = R0[K9('m_levelProgress')]
  0018  CALL      R4 = call(R4, 1 args, 1 rets)
  0019  TEST      if not R4 then   -> -131050
  0020  JMP       (jump)   -> 27
  0021  GETTABLE  R4 = R0[K9('m_levelProgress')]
  0022  SELF      R5 = R4[K1('Init')] (self)
  0023  SUB       R6 = K10(1) sub R3
  0024  GETTABLE  R7 = R0[K3('m_model')]
  0025  MOVE      R8 = R0
  0026  CALL      R4 = call(R4, 0 args, 4 rets)
  0027  GETTABLE  R4 = R0[K11('m_bookEntry')]
  0028  EQ        if R1 eq K12(nil)   -> -128726
  0029  JMP       (jump)   -> 35
  0030  GETTABLE  R4 = R0[K11('m_bookEntry')]
  0031  SELF      R5 = R4[K1('Init')] (self)
  0032  MOVE      R6 = R0
  0033  MOVE      R7 = R0
  0034  CALL      R4 = call(R4, 0 args, 3 rets)
  0035  GETTABUP  R4 = _ENV[K7('UIUtil')]
  0036  GETTABLE  R4 = R4[K13('SetActive')]
  0037  GETTABLE  R5 = R0[K14('m_itemDeleteButton')]
  0038  GETTABLE  R5 = R5[K15('gameObject')]
  0039  LOADBOOL  R6 = false
  0040  CALL      R4 = call(R4, 0 args, 2 rets)
  0041  GETTABUP  R4 = _ENV[K7('UIUtil')]
  0042  GETTABLE  R4 = R4[K13('SetActive')]
  0043  GETTABLE  R5 = R0[K16('m_itemTipButton')]
  0044  GETTABLE  R5 = R5[K15('gameObject')]
  0045  LOADBOOL  R6 = false
  0046  CALL      R4 = call(R4, 0 args, 2 rets)
  0047  GETTABLE  R4 = R0[K14('m_itemDeleteButton')]
  0048  SELF      R5 = R4[K17('UpdateSortingOrder')] (self)
  0049  SELF      R7 = R0[K18('GetSortingOrder')] (self)
  0050  CALL      R6 = call(R6, 1 args, 1 rets)
  0051  ADD       R6 = K10(1) add R6
  0052  CALL      R4 = call(R4, 0 args, 2 rets)
  0053  GETTABUP  R4 = _ENV[K19('GM')]
  0054  GETTABLE  R4 = R4[K20('ModeViewController')]
  0055  SELF      R5 = R4[K21('LoadExtraBoardActivityBoardView')] (self)
  0056  GETTABLE  R6 = R0[K3('m_model')]
  0057  SELF      R7 = R6[K22('GetBoardViewPrefabName')] (self)
  0058  CALL      R6 = call(R6, 1 args, 1 rets)
  0059  GETTABLE  R7 = R0[K3('m_model')]
  0060  SELF      R8 = R7[K4('GetBoardModel')] (self)
  0061  CALL      R7 = call(R7, 1 args, 1 rets)
  0062  GETTABLE  R8 = R0[K23('m_boardRowImage')]
  0063  GETTABLE  R9 = R0[K14('m_itemDeleteButton')]
  0064  GETTABLE  R10 = R0[K16('m_itemTipButton')]
  0065  CLOSURE   R11 = closure proto0
  0066  CALL      R4 = call(R4, 0 args, 7 rets)
  0067  SELF      R5 = R0[K24('UpdateCobwebContent')] (self)
  0068  CALL      R4 = call(R4, 0 args, 1 rets)
  0069  SELF      R5 = R0[K25('PreLoadResource')] (self)
  0070  CALL      R4 = call(R4, 0 args, 1 rets)
  0071  GETTABUP  R4 = _ENV[K7('UIUtil')]
  0072  GETTABLE  R4 = R4[K8('IsEmptyComponent')]
  0073  GETTABLE  R5 = R0[K26('m_cacheRootHudButton')]
  0074  CALL      R4 = call(R4, 1 args, 1 rets)
  0075  TEST      if not R4 then   -> -130994
  0076  JMP       (jump)   -> 81
  0077  GETTABLE  R4 = R0[K26('m_cacheRootHudButton')]
  0078  SELF      R5 = R4[K1('Init')] (self)
  0079  MOVE      R6 = R0
  0080  CALL      R4 = call(R4, 0 args, 2 rets)
  0081  GETTABUP  R4 = _ENV[K7('UIUtil')]
  0082  GETTABLE  R4 = R4[K8('IsEmptyComponent')]
  0083  GETTABLE  R5 = R0[K27('m_activityBundleEntryRoot')]
  0084  CALL      R4 = call(R4, 1 args, 1 rets)
  0085  TEST      if not R4 then   -> -130984
  0086  JMP       (jump)   -> 91
  0087  GETTABLE  R4 = R0[K27('m_activityBundleEntryRoot')]
  0088  SELF      R5 = R4[K1('Init')] (self)
  0089  GETTABLE  R6 = R0[K28('m_activityType')]
  0090  CALL      R4 = call(R4, 0 args, 2 rets)
  0091  GETTABUP  R4 = _ENV[K19('GM')]
  0092  GETTABLE  R4 = R4[K29('SceneManager')]
  0093  SELF      R5 = R4[K30('EnterActivityMode')] (self)
  0094  GETTABUP  R6 = _ENV[K31('EGameMode')]
  0095  GETTABLE  R6 = R6[K32('ExtraBoard')]
  0096  CALL      R4 = call(R4, 0 args, 2 rets)
  0097  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 36-38 np=1 va=0 ms=4 code=5 consts=1 upvals=1 protos=0
    ;   K[0]='OnBoardViewLoaded'
    ;   upvals: self
    ;   locals: boardView(0-5)
    0000  GETUPVAL  R1 = self
    0001  SELF      R2 = R1[K0('OnBoardViewLoaded')] (self)
    0002  MOVE      R3 = R0
    0003  CALL      R1 = call(R1, 0 args, 2 rets)
    0004  RETURN    return R0..R-1
; ---------- proto2 [InitForTokenMode] ----------
  ; fn ?  line 54-100 np=2 va=0 ms=11 code=144 consts=28 upvals=1 protos=0
  ;   K[0]='m_model'
  ;   K[1]='IsTokenMode'
  ;   K[2]='UIUtil'
  ;   K[3]='IsEmptyComponent'
  ;   K[4]='m_tokenMultipleSwitchButton'
  ;   K[5]='SetActive'
  ;   K[6]='gameObject'
  ;   K[7]='m_exclamation'
  ;   K[8]='_AdjustBottomButtonRect'
  ;   K[9]='transform'
  ;   K[10]='Init'
  ;   K[11]='m_consumeButton'
  ;   K[12]='m_bottomButtonTransform'
  ;   K[13]='m_boardContainer'
  ;   K[14]='CalculateRealSize'
  ;   K[15]='math'
  ;   K[16]='max'
  ;   K[17]=0
  ;   K[18]=1016
  ;   K[19]=100
  ;   K[20]='m_bgTrans'
  ;   K[21]='AddAnchoredPosition'
  ;   K[22]=0.5
  ;   K[23]='AddSizeDelta'
  ;   K[24]='m_tokenButtonsRoot'
  ;   K[25]='m_contentRect'
  ;   K[26]='m_itemDeleteButton'
  ;   K[27]='GetTargetTrans'
  ;   upvals: _ENV
  ;   locals: self(0-144), screenAjustSize(0-144), bTokenMode(3-144), _(76-144), height(76-144), offsetY(81-144), deltaHeight(82-144)
  0000  GETTABLE  R2 = R0[K0('m_model')]
  0001  SELF      R3 = R2[K1('IsTokenMode')] (self)
  0002  CALL      R2 = call(R2, 1 args, 1 rets)
  0003  GETTABUP  R3 = _ENV[K2('UIUtil')]
  0004  GETTABLE  R3 = R3[K3('IsEmptyComponent')]
  0005  GETTABLE  R4 = R0[K4('m_tokenMultipleSwitchButton')]
  0006  CALL      R3 = call(R3, 1 args, 1 rets)
  0007  TEST      if not R3 then   -> -131062
  0008  JMP       (jump)   -> 15
  0009  GETTABUP  R3 = _ENV[K2('UIUtil')]
  0010  GETTABLE  R3 = R3[K5('SetActive')]
  0011  GETTABLE  R4 = R0[K4('m_tokenMultipleSwitchButton')]
  0012  GETTABLE  R4 = R4[K6('gameObject')]
  0013  MOVE      R5 = R0
  0014  CALL      R3 = call(R3, 0 args, 2 rets)
  0015  GETTABUP  R3 = _ENV[K2('UIUtil')]
  0016  GETTABLE  R3 = R3[K3('IsEmptyComponent')]
  0017  GETTABLE  R4 = R0[K7('m_exclamation')]
  0018  CALL      R3 = call(R3, 1 args, 1 rets)
  0019  TEST      if not R3 then   -> -131050
  0020  JMP       (jump)   -> 27
  0021  GETTABUP  R3 = _ENV[K2('UIUtil')]
  0022  GETTABLE  R3 = R3[K5('SetActive')]
  0023  GETTABLE  R4 = R0[K7('m_exclamation')]
  0024  GETTABLE  R4 = R4[K6('gameObject')]
  0025  MOVE      R5 = R0
  0026  CALL      R3 = call(R3, 0 args, 2 rets)
  0027  TEST      if not R2 then   -> -131042
  0028  JMP       (jump)   -> 30
  0029  RETURN    return R0..R-1
  0030  GETTABUP  R3 = _ENV[K2('UIUtil')]
  0031  GETTABLE  R3 = R3[K3('IsEmptyComponent')]
  0032  GETTABLE  R4 = R0[K4('m_tokenMultipleSwitchButton')]
  0033  CALL      R3 = call(R3, 1 args, 1 rets)
  0034  TEST      if not R3 then   -> -131035
  0035  JMP       (jump)   -> 45
  0036  SELF      R4 = R0[K8('_AdjustBottomButtonRect')] (self)
  0037  GETTABLE  R5 = R0[K4('m_tokenMultipleSwitchButton')]
  0038  GETTABLE  R5 = R5[K9('transform')]
  0039  MOVE      R6 = R0
  0040  CALL      R3 = call(R3, 0 args, 3 rets)
  0041  GETTABLE  R3 = R0[K4('m_tokenMultipleSwitchButton')]
  0042  SELF      R4 = R3[K10('Init')] (self)
  0043  GETTABLE  R5 = R0[K0('m_model')]
  0044  CALL      R3 = call(R3, 0 args, 2 rets)
  0045  GETTABUP  R3 = _ENV[K2('UIUtil')]
  0046  GETTABLE  R3 = R3[K3('IsEmptyComponent')]
  0047  GETTABLE  R4 = R0[K11('m_consumeButton')]
  0048  CALL      R3 = call(R3, 1 args, 1 rets)
  0049  TEST      if not R3 then   -> -131020
  0050  JMP       (jump)   -> 58
  0051  GETTABLE  R3 = R0[K11('m_consumeButton')]
  0052  SELF      R4 = R3[K10('Init')] (self)
  0053  GETTABLE  R5 = R0[K0('m_model')]
  0054  CALL      R3 = call(R3, 0 args, 2 rets)
  0055  GETTABLE  R3 = R0[K11('m_consumeButton')]
  0056  GETTABLE  R3 = R3[K9('transform')]
  0057  SETTABLE  R0[K12('m_bottomButtonTransform')] = R3
  0058  GETTABUP  R3 = _ENV[K2('UIUtil')]
  0059  GETTABLE  R3 = R3[K3('IsEmptyComponent')]
  0060  GETTABLE  R4 = R0[K7('m_exclamation')]
  0061  CALL      R3 = call(R3, 1 args, 1 rets)
  0062  TEST      if not R3 then   -> -131007
  0063  JMP       (jump)   -> 73
  0064  SELF      R4 = R0[K8('_AdjustBottomButtonRect')] (self)
  0065  GETTABLE  R5 = R0[K7('m_exclamation')]
  0066  GETTABLE  R5 = R5[K9('transform')]
  0067  MOVE      R6 = R0
  0068  CALL      R3 = call(R3, 0 args, 3 rets)
  0069  GETTABLE  R3 = R0[K7('m_exclamation')]
  0070  SELF      R4 = R3[K10('Init')] (self)
  0071  GETTABLE  R5 = R0[K0('m_model')]
  0072  CALL      R3 = call(R3, 0 args, 2 rets)
  0073  GETTABLE  R3 = R0[K13('m_boardContainer')]
  0074  SELF      R4 = R3[K14('CalculateRealSize')] (self)
  0075  CALL      R3 = call(R3, 2 args, 1 rets)
  0076  GETTABUP  R5 = _ENV[K15('math')]
  0077  GETTABLE  R5 = R5[K16('max')]
  0078  LOADK     R6 = K17 0
  0079  SUB       R7 = K18(1016) sub R4
  0080  CALL      R5 = call(R5, 1 args, 2 rets)
  0081  ADD       R6 = K19(100) add R5
  0082  GETTABUP  R7 = _ENV[K2('UIUtil')]
  0083  GETTABLE  R7 = R7[K3('IsEmptyComponent')]
  0084  GETTABLE  R8 = R0[K20('m_bgTrans')]
  0085  CALL      R7 = call(R7, 1 args, 1 rets)
  0086  TEST      if not R7 then   -> -130983
  0087  JMP       (jump)   -> 101
  0088  GETTABUP  R7 = _ENV[K2('UIUtil')]
  0089  GETTABLE  R7 = R7[K21('AddAnchoredPosition')]
  0090  GETTABLE  R8 = R0[K20('m_bgTrans')]
  0091  LOADK     R9 = K17 0
  0092  UNM       R10 = unm R0
  0093  MUL       R10 = K22(0.5) mul R10
  0094  CALL      R7 = call(R7, 0 args, 3 rets)
  0095  GETTABUP  R7 = _ENV[K2('UIUtil')]
  0096  GETTABLE  R7 = R7[K23('AddSizeDelta')]
  0097  GETTABLE  R8 = R0[K20('m_bgTrans')]
  0098  LOADK     R9 = K17 0
  0099  MOVE      R10 = R0
  0100  CALL      R7 = call(R7, 0 args, 3 rets)
  0101  GETTABUP  R7 = _ENV[K2('UIUtil')]
  0102  GETTABLE  R7 = R7[K3('IsEmptyComponent')]
  0103  GETTABLE  R8 = R0[K24('m_tokenButtonsRoot')]
  0104  CALL      R7 = call(R7, 1 args, 1 rets)
  0105  TEST      if not R7 then   -> -130964
  0106  JMP       (jump)   -> 113
  0107  GETTABUP  R7 = _ENV[K2('UIUtil')]
  0108  GETTABLE  R7 = R7[K21('AddAnchoredPosition')]
  0109  GETTABLE  R8 = R0[K24('m_tokenButtonsRoot')]
  0110  LOADK     R9 = K17 0
  0111  UNM       R10 = unm R0
  0112  CALL      R7 = call(R7, 0 args, 3 rets)
  0113  GETTABUP  R7 = _ENV[K2('UIUtil')]
  0114  GETTABLE  R7 = R7[K21('AddAnchoredPosition')]
  0115  GETTABLE  R8 = R0[K25('m_contentRect')]
  0116  LOADK     R9 = K17 0
  0117  MUL       R10 = K22(0.5) mul R6
  0118  CALL      R7 = call(R7, 0 args, 3 rets)
  0119  GETTABUP  R7 = _ENV[K2('UIUtil')]
  0120  GETTABLE  R7 = R7[K21('AddAnchoredPosition')]
  0121  GETTABLE  R8 = R0[K26('m_itemDeleteButton')]
  0122  GETTABLE  R8 = R8[K9('transform')]
  0123  LOADK     R9 = K17 0
  0124  UNM       R10 = unm R0
  0125  MUL       R10 = K22(0.5) mul R10
  0126  CALL      R7 = call(R7, 0 args, 3 rets)
  0127  GETTABUP  R7 = _ENV[K2('UIUtil')]
  0128  GETTABLE  R7 = R7[K3('IsEmptyComponent')]
  0129  GETTABLE  R8 = R0[K13('m_boardContainer')]
  0130  SELF      R9 = R8[K27('GetTargetTrans')] (self)
  0131  CALL      R8 = call(R8, -1 args, 1 rets)
  0132  CALL      R7 = call(R7, 1 args, -1 rets)
  0133  TEST      if not R7 then   -> -130936
  0134  JMP       (jump)   -> 143
  0135  GETTABUP  R7 = _ENV[K2('UIUtil')]
  0136  GETTABLE  R7 = R7[K21('AddAnchoredPosition')]
  0137  GETTABLE  R8 = R0[K13('m_boardContainer')]
  0138  SELF      R9 = R8[K27('GetTargetTrans')] (self)
  0139  CALL      R8 = call(R8, 1 args, 1 rets)
  0140  LOADK     R9 = K17 0
  0141  MUL       R10 = K22(0.5) mul R6
  0142  CALL      R7 = call(R7, 0 args, 3 rets)
  0143  RETURN    return R0..R-1
; ---------- proto3 [GetBundleEntry] ----------
  ; fn ?  line 103-105 np=1 va=0 ms=2 code=3 consts=1 upvals=0 protos=0
  ;   K[0]='m_activityBundleEntryRoot'
  ;   locals: self(0-3)
  0000  GETTABLE  R1 = R0[K0('m_activityBundleEntryRoot')]
  0001  RETURN    return R1..R0
  0002  RETURN    return R0..R-1
; ---------- proto4 [OnBoardViewLoaded] ----------
  ; fn ?  line 107-126 np=2 va=0 ms=7 code=45 consts=19 upvals=1 protos=0
  ;   K[0]='UIUtil'
  ;   K[1]='IsEmptyComponent'
  ;   K[2]='m_boardContainer'
  ;   K[3]='Init'
  ;   K[4]=nil
  ;   K[5]='m_model'
  ;   K[6]='IsCobwebOpen'
  ;   K[7]='UpdateCobwebBoard'
  ;   K[8]='m_cobwebBgRect'
  ;   K[9]='ScreenFitter'
  ;   K[10]='GetScreenAdjustSize'
  ;   K[11]='_AdjustBottomButtonRect'
  ;   K[12]='m_itemDeleteButton'
  ;   K[13]='transform'
  ;   K[14]='m_itemTipButton'
  ;   K[15]='m_bottomButtonTransform'
  ;   K[16]='m_buttonTransform'
  ;   K[17]='InitForTokenMode'
  ;   K[18]='_UpdateButton'
  ;   upvals: _ENV
  ;   locals: self(0-45), boardView(0-45), screenAjustSize(23-45)
  0000  GETTABUP  R2 = _ENV[K0('UIUtil')]
  0001  GETTABLE  R2 = R2[K1('IsEmptyComponent')]
  0002  MOVE      R3 = R0
  0003  CALL      R2 = call(R2, 1 args, 1 rets)
  0004  TEST      if not R2 then   -> -131066
  0005  JMP       (jump)   -> 7
  0006  RETURN    return R0..R-1
  0007  GETTABLE  R2 = R0[K2('m_boardContainer')]
  0008  SELF      R3 = R2[K3('Init')] (self)
  0009  CALL      R2 = call(R2, 0 args, 1 rets)
  0010  EQ        if R1 eq K4(nil)   -> -130288
  0011  JMP       (jump)   -> 20
  0012  GETTABLE  R2 = R0[K5('m_model')]
  0013  SELF      R3 = R2[K6('IsCobwebOpen')] (self)
  0014  CALL      R2 = call(R2, 1 args, 1 rets)
  0015  TEST      if not R2 then   -> -131055
  0016  JMP       (jump)   -> 20
  0017  SELF      R3 = R1[K7('UpdateCobwebBoard')] (self)
  0018  GETTABLE  R4 = R0[K8('m_cobwebBgRect')]
  0019  CALL      R2 = call(R2, 0 args, 2 rets)
  0020  GETTABUP  R2 = _ENV[K9('ScreenFitter')]
  0021  GETTABLE  R2 = R2[K10('GetScreenAdjustSize')]
  0022  CALL      R2 = call(R2, 1 args, 0 rets)
  0023  SELF      R4 = R0[K11('_AdjustBottomButtonRect')] (self)
  0024  GETTABLE  R5 = R0[K12('m_itemDeleteButton')]
  0025  GETTABLE  R5 = R5[K13('transform')]
  0026  MOVE      R6 = R0
  0027  CALL      R3 = call(R3, 0 args, 3 rets)
  0028  SELF      R4 = R0[K11('_AdjustBottomButtonRect')] (self)
  0029  GETTABLE  R5 = R0[K14('m_itemTipButton')]
  0030  GETTABLE  R5 = R5[K13('transform')]
  0031  MOVE      R6 = R0
  0032  CALL      R3 = call(R3, 0 args, 3 rets)
  0033  GETTABLE  R3 = R0[K16('m_buttonTransform')]
  0034  SETTABLE  R0[K15('m_bottomButtonTransform')] = R3
  0035  SELF      R4 = R0[K17('InitForTokenMode')] (self)
  0036  MOVE      R5 = R0
  0037  CALL      R3 = call(R3, 0 args, 2 rets)
  0038  SELF      R4 = R0[K18('_UpdateButton')] (self)
  0039  CALL      R3 = call(R3, 0 args, 1 rets)
  0040  SELF      R4 = R0[K11('_AdjustBottomButtonRect')] (self)
  0041  GETTABLE  R5 = R0[K15('m_bottomButtonTransform')]
  0042  MOVE      R6 = R0
  0043  CALL      R3 = call(R3, 0 args, 3 rets)
  0044  RETURN    return R0..R-1
; ---------- proto5 [FitScreen] ----------
  ; fn ?  line 128-152 np=1 va=0 ms=14 code=63 consts=22 upvals=1 protos=0
  ;   K[0]='ScreenFitter'
  ;   K[1]='GetScreenAdjustSize'
  ;   K[2]='GetStandardWidth'
  ;   K[3]='GetStandardHeight'
  ;   K[4]=1
  ;   K[5]='y'
  ;   K[6]='m_boardContainer'
  ;   K[7]='transform'
  ;   K[8]='sizeDelta'
  ;   K[9]='UIUtil'
  ;   K[10]='SetSizeDelta'
  ;   K[11]='x'
  ;   K[12]='m_model'
  ;   K[13]='IsCobwebOpen'
  ;   K[14]=2
  ;   K[15]='m_boardRowImage'
  ;   K[16]='raycastPadding'
  ;   K[17]='Vector4'
  ;   K[18]='z'
  ;   K[19]='w'
  ;   K[20]='GetTargetTrans'
  ;   K[21]=nil
  ;   upvals: _ENV
  ;   locals: self(0-63), adjustSize(3-63), standardWidth(6-63), standardHeight(9-63), adjustScale(10-63), originSize(18-63), deltaHeight(36-47), originPadding(38-47)
  0000  GETTABUP  R1 = _ENV[K0('ScreenFitter')]
  0001  GETTABLE  R1 = R1[K1('GetScreenAdjustSize')]
  0002  CALL      R1 = call(R1, 1 args, 0 rets)
  0003  GETTABUP  R2 = _ENV[K0('ScreenFitter')]
  0004  GETTABLE  R2 = R2[K2('GetStandardWidth')]
  0005  CALL      R2 = call(R2, 1 args, 0 rets)
  0006  GETTABUP  R3 = _ENV[K0('ScreenFitter')]
  0007  GETTABLE  R3 = R3[K3('GetStandardHeight')]
  0008  CALL      R3 = call(R3, 1 args, 0 rets)
  0009  LOADK     R4 = K4 1
  0010  GETTABLE  R5 = R1[K5('y')]
  0011  LT        if R0 lt R5   -> -129518
  0012  JMP       (jump)   -> 15
  0013  GETTABLE  R5 = R1[K5('y')]
  0014  DIV       R4 = R3 div R5
  0015  GETTABLE  R5 = R0[K6('m_boardContainer')]
  0016  GETTABLE  R5 = R5[K7('transform')]
  0017  GETTABLE  R5 = R5[K8('sizeDelta')]
  0018  GETTABUP  R6 = _ENV[K9('UIUtil')]
  0019  GETTABLE  R6 = R6[K10('SetSizeDelta')]
  0020  GETTABLE  R7 = R0[K6('m_boardContainer')]
  0021  GETTABLE  R7 = R7[K7('transform')]
  0022  GETTABLE  R8 = R5[K11('x')]
  0023  MUL       R8 = R4 mul R8
  0024  GETTABLE  R9 = R5[K5('y')]
  0025  MUL       R9 = R4 mul R9
  0026  CALL      R6 = call(R6, 0 args, 3 rets)
  0027  GETTABLE  R6 = R0[K12('m_model')]
  0028  SELF      R7 = R6[K13('IsCobwebOpen')] (self)
  0029  CALL      R6 = call(R6, 1 args, 1 rets)
  0030  TEST      if not R6 then   -> -131040
  0031  JMP       (jump)   -> 47
  0032  GETTABLE  R6 = R5[K5('y')]
  0033  SUB       R7 = K4(1) sub R4
  0034  MUL       R6 = R7 mul R6
  0035  DIV       R6 = K14(2) div R6
  0036  GETTABLE  R7 = R0[K15('m_boardRowImage')]
  0037  GETTABLE  R7 = R7[K16('raycastPadding')]
  0038  GETTABLE  R8 = R0[K15('m_boardRowImage')]
  0039  GETTABUP  R9 = _ENV[K17('Vector4')]
  0040  GETTABLE  R10 = R7[K11('x')]
  0041  GETTABLE  R11 = R7[K5('y')]
  0042  GETTABLE  R12 = R7[K18('z')]
  0043  GETTABLE  R13 = R7[K19('w')]
  0044  ADD       R13 = R6 add R13
  0045  CALL      R9 = call(R9, 1 args, 4 rets)
  0046  SETTABLE  R8[K16('raycastPadding')] = R9
  0047  GETTABLE  R6 = R0[K6('m_boardContainer')]
  0048  SELF      R7 = R6[K20('GetTargetTrans')] (self)
  0049  CALL      R6 = call(R6, 1 args, 1 rets)
  0050  EQ        if R1 eq K21(nil)   -> -127671
  0051  JMP       (jump)   -> 62
  0052  GETTABUP  R6 = _ENV[K9('UIUtil')]
  0053  GETTABLE  R6 = R6[K10('SetSizeDelta')]
  0054  GETTABLE  R7 = R0[K6('m_boardContainer')]
  0055  SELF      R8 = R7[K20('GetTargetTrans')] (self)
  0056  CALL      R7 = call(R7, 1 args, 1 rets)
  0057  GETTABLE  R8 = R5[K11('x')]
  0058  MUL       R8 = R4 mul R8
  0059  GETTABLE  R9 = R5[K5('y')]
  0060  MUL       R9 = R4 mul R9
  0061  CALL      R6 = call(R6, 0 args, 3 rets)
  0062  RETURN    return R0..R-1
; ---------- proto6 [AddEventListener] ----------
  ; fn ?  line 154-163 np=1 va=0 ms=5 code=57 consts=19 upvals=1 protos=0
  ;   K[0]='EventDispatcher'
  ;   K[1]='AddListener'
  ;   K[2]='EEventType'
  ;   K[3]='PopCachedItem'
  ;   K[4]='_OnCachedItemsChanged'
  ;   K[5]='ItemMerged'
  ;   K[6]='_OnItemMerged'
  ;   K[7]='ItemSpread'
  ;   K[8]='_OnUpdateContent'
  ;   K[9]='CacheItems'
  ;   K[10]='_OnCachedNewItem'
  ;   K[11]='ExtraBoardEnterNextCobwebRound'
  ;   K[12]='EnterNextCobwebRound'
  ;   K[13]='CloseView'
  ;   K[14]='_OnCloseView'
  ;   K[15]='UIBookItemUnlocked'
  ;   K[16]='_OnBookItemUnlocked'
  ;   K[17]='UIBoardConsumeTokenGenerateItem'
  ;   K[18]='_OnGenerateItem'
  ;   upvals: _ENV
  ;   locals: self(0-57)
  0000  GETTABUP  R1 = _ENV[K0('EventDispatcher')]
  0001  GETTABLE  R1 = R1[K1('AddListener')]
  0002  GETTABUP  R2 = _ENV[K2('EEventType')]
  0003  GETTABLE  R2 = R2[K3('PopCachedItem')]
  0004  MOVE      R3 = R0
  0005  GETTABLE  R4 = R0[K4('_OnCachedItemsChanged')]
  0006  CALL      R1 = call(R1, 0 args, 3 rets)
  0007  GETTABUP  R1 = _ENV[K0('EventDispatcher')]
  0008  GETTABLE  R1 = R1[K1('AddListener')]
  0009  GETTABUP  R2 = _ENV[K2('EEventType')]
  0010  GETTABLE  R2 = R2[K5('ItemMerged')]
  0011  MOVE      R3 = R0
  0012  GETTABLE  R4 = R0[K6('_OnItemMerged')]
  0013  CALL      R1 = call(R1, 0 args, 3 rets)
  0014  GETTABUP  R1 = _ENV[K0('EventDispatcher')]
  0015  GETTABLE  R1 = R1[K1('AddListener')]
  0016  GETTABUP  R2 = _ENV[K2('EEventType')]
  0017  GETTABLE  R2 = R2[K7('ItemSpread')]
  0018  MOVE      R3 = R0
  0019  GETTABLE  R4 = R0[K8('_OnUpdateContent')]
  0020  CALL      R1 = call(R1, 0 args, 3 rets)
  0021  GETTABUP  R1 = _ENV[K0('EventDispatcher')]
  0022  GETTABLE  R1 = R1[K1('AddListener')]
  0023  GETTABUP  R2 = _ENV[K2('EEventType')]
  0024  GETTABLE  R2 = R2[K9('CacheItems')]
  0025  MOVE      R3 = R0
  0026  GETTABLE  R4 = R0[K10('_OnCachedNewItem')]
  0027  CALL      R1 = call(R1, 0 args, 3 rets)
  0028  GETTABUP  R1 = _ENV[K0('EventDispatcher')]
  0029  GETTABLE  R1 = R1[K1('AddListener')]
  0030  GETTABUP  R2 = _ENV[K2('EEventType')]
  0031  GETTABLE  R2 = R2[K11('ExtraBoardEnterNextCobwebRound')]
  0032  MOVE      R3 = R0
  0033  GETTABLE  R4 = R0[K12('EnterNextCobwebRound')]
  0034  CALL      R1 = call(R1, 0 args, 3 rets)
  0035  GETTABUP  R1 = _ENV[K0('EventDispatcher')]
  0036  GETTABLE  R1 = R1[K1('AddListener')]
  0037  GETTABUP  R2 = _ENV[K2('EEventType')]
  0038  GETTABLE  R2 = R2[K13('CloseView')]
  0039  MOVE      R3 = R0
  0040  GETTABLE  R4 = R0[K14('_OnCloseView')]
  0041  CALL      R1 = call(R1, 0 args, 3 rets)
  0042  GETTABUP  R1 = _ENV[K0('EventDispatcher')]
  0043  GETTABLE  R1 = R1[K1('AddListener')]
  0044  GETTABUP  R2 = _ENV[K2('EEventType')]
  0045  GETTABLE  R2 = R2[K15('UIBookItemUnlocked')]
  0046  MOVE      R3 = R0
  0047  GETTABLE  R4 = R0[K16('_OnBookItemUnlocked')]
  0048  CALL      R1 = call(R1, 0 args, 3 rets)
  0049  GETTABUP  R1 = _ENV[K0('EventDispatcher')]
  0050  GETTABLE  R1 = R1[K1('AddListener')]
  0051  GETTABUP  R2 = _ENV[K2('EEventType')]
  0052  GETTABLE  R2 = R2[K17('UIBoardConsumeTokenGenerateItem')]
  0053  MOVE      R3 = R0
  0054  GETTABLE  R4 = R0[K18('_OnGenerateItem')]
  0055  CALL      R1 = call(R1, 0 args, 3 rets)
  0056  RETURN    return R0..R-1
; ---------- proto7 [OnDestroy] ----------
  ; fn ?  line 165-191 np=1 va=0 ms=4 code=51 consts=17 upvals=1 protos=0
  ;   K[0]='ExtraBoardActivityBaseWindow'
  ;   K[1]='OnDestroy'
  ;   K[2]='EventDispatcher'
  ;   K[3]='RemoveTarget'
  ;   K[4]='GM'
  ;   K[5]='ModeViewController'
  ;   K[6]='ReleaseExtraBoardActivityBoardView'
  ;   K[7]='m_bEventLocked'
  ;   K[8]='UIManager'
  ;   K[9]='SetEventLock'
  ;   K[10]=false
  ;   K[11]='m_bdlSeq'
  ;   K[12]='Kill'
  ;   K[13]=nil
  ;   K[14]='m_unlockSeq'
  ;   K[15]='m_completeSeq'
  ;   K[16]='m_beltSeq'
  ;   upvals: _ENV
  ;   locals: self(0-51)
  0000  GETTABUP  R1 = _ENV[K0('ExtraBoardActivityBaseWindow')]
  0001  GETTABLE  R1 = R1[K1('OnDestroy')]
  0002  MOVE      R2 = R0
  0003  CALL      R1 = call(R1, 0 args, 1 rets)
  0004  GETTABUP  R1 = _ENV[K2('EventDispatcher')]
  0005  GETTABLE  R1 = R1[K3('RemoveTarget')]
  0006  MOVE      R2 = R0
  0007  CALL      R1 = call(R1, 0 args, 1 rets)
  0008  GETTABUP  R1 = _ENV[K4('GM')]
  0009  GETTABLE  R1 = R1[K5('ModeViewController')]
  0010  SELF      R2 = R1[K6('ReleaseExtraBoardActivityBoardView')] (self)
  0011  LOADBOOL  R3 = false
  0012  CALL      R1 = call(R1, 0 args, 2 rets)
  0013  GETTABLE  R1 = R0[K7('m_bEventLocked')]
  0014  TEST      if not R1 then   -> -131056
  0015  JMP       (jump)   -> 22
  0016  GETTABUP  R1 = _ENV[K4('GM')]
  0017  GETTABLE  R1 = R1[K8('UIManager')]
  0018  SELF      R2 = R1[K9('SetEventLock')] (self)
  0019  LOADBOOL  R3 = false
  0020  CALL      R1 = call(R1, 0 args, 2 rets)
  0021  SETTABLE  R0[K7('m_bEventLocked')] = K10(false)
  0022  GETTABLE  R1 = R0[K11('m_bdlSeq')]
  0023  TEST      if not R1 then   -> -131047
  0024  JMP       (jump)   -> 29
  0025  GETTABLE  R1 = R0[K11('m_bdlSeq')]
  0026  SELF      R2 = R1[K12('Kill')] (self)
  0027  CALL      R1 = call(R1, 0 args, 1 rets)
  0028  SETTABLE  R0[K11('m_bdlSeq')] = K13(nil)
  0029  GETTABLE  R1 = R0[K14('m_unlockSeq')]
  0030  TEST      if not R1 then   -> -131040
  0031  JMP       (jump)   -> 36
  0032  GETTABLE  R1 = R0[K14('m_unlockSeq')]
  0033  SELF      R2 = R1[K12('Kill')] (self)
  0034  CALL      R1 = call(R1, 0 args, 1 rets)
  0035  SETTABLE  R0[K14('m_unlockSeq')] = K13(nil)
  0036  GETTABLE  R1 = R0[K15('m_completeSeq')]
  0037  TEST      if not R1 then   -> -131033
  0038  JMP       (jump)   -> 43
  0039  GETTABLE  R1 = R0[K15('m_completeSeq')]
  0040  SELF      R2 = R1[K12('Kill')] (self)
  0041  CALL      R1 = call(R1, 0 args, 1 rets)
  0042  SETTABLE  R0[K15('m_completeSeq')] = K13(nil)
  0043  GETTABLE  R1 = R0[K16('m_beltSeq')]
  0044  TEST      if not R1 then   -> -131026
  0045  JMP       (jump)   -> 50
  0046  GETTABLE  R1 = R0[K16('m_beltSeq')]
  0047  SELF      R2 = R1[K12('Kill')] (self)
  0048  CALL      R1 = call(R1, 0 args, 1 rets)
  0049  SETTABLE  R0[K16('m_beltSeq')] = K13(nil)
  0050  RETURN    return R0..R-1
; ---------- proto8 [Update] ----------
  ; fn ?  line 193-204 np=1 va=0 ms=4 code=19 consts=7 upvals=1 protos=0
  ;   K[0]='m_model'
  ;   K[1]=nil
  ;   K[2]='m_coroutine'
  ;   K[3]='GetBoardModel'
  ;   K[4]='Update'
  ;   K[5]='coroutine'
  ;   K[6]='resume'
  ;   upvals: _ENV
  ;   locals: self(0-19), boardModel(9-13)
  0000  GETTABLE  R1 = R0[K0('m_model')]
  0001  EQ        if R1 eq K1(nil)   -> -130300
  0002  JMP       (jump)   -> 18
  0003  GETTABLE  R1 = R0[K2('m_coroutine')]
  0004  EQ        if R0 eq K1(nil)   -> -130297
  0005  JMP       (jump)   -> 14
  0006  GETTABLE  R1 = R0[K0('m_model')]
  0007  SELF      R2 = R1[K3('GetBoardModel')] (self)
  0008  CALL      R1 = call(R1, 1 args, 1 rets)
  0009  EQ        if R1 eq K1(nil)   -> -130292
  0010  JMP       (jump)   -> 18
  0011  SELF      R3 = R1[K4('Update')] (self)
  0012  CALL      R2 = call(R2, 0 args, 1 rets)
  0013  JMP       (jump)   -> 18
  0014  GETTABUP  R1 = _ENV[K5('coroutine')]
  0015  GETTABLE  R1 = R1[K6('resume')]
  0016  GETTABLE  R2 = R0[K2('m_coroutine')]
  0017  CALL      R1 = call(R1, 0 args, 1 rets)
  0018  RETURN    return R0..R-1
; ---------- proto9 [UpdatePerSecond] ----------
  ; fn ?  line 206-214 np=1 va=0 ms=4 code=18 consts=6 upvals=1 protos=0
  ;   K[0]='ExtraBoardActivityBaseWindow'
  ;   K[1]='UpdatePerSecond'
  ;   K[2]='m_model'
  ;   K[3]=nil
  ;   K[4]='m_coroutine'
  ;   K[5]='GetBoardModel'
  ;   upvals: _ENV
  ;   locals: self(0-18), boardModel(13-17)
  0000  GETTABUP  R1 = _ENV[K0('ExtraBoardActivityBaseWindow')]
  0001  GETTABLE  R1 = R1[K1('UpdatePerSecond')]
  0002  MOVE      R2 = R0
  0003  CALL      R1 = call(R1, 0 args, 1 rets)
  0004  GETTABLE  R1 = R0[K2('m_model')]
  0005  EQ        if R1 eq K3(nil)   -> -130294
  0006  JMP       (jump)   -> 17
  0007  GETTABLE  R1 = R0[K4('m_coroutine')]
  0008  EQ        if R0 eq K3(nil)   -> -130291
  0009  JMP       (jump)   -> 17
  0010  GETTABLE  R1 = R0[K2('m_model')]
  0011  SELF      R2 = R1[K5('GetBoardModel')] (self)
  0012  CALL      R1 = call(R1, 1 args, 1 rets)
  0013  EQ        if R1 eq K3(nil)   -> -130286
  0014  JMP       (jump)   -> 17
  0015  SELF      R3 = R1[K1('UpdatePerSecond')] (self)
  0016  CALL      R2 = call(R2, 0 args, 1 rets)
  0017  RETURN    return R0..R-1
; ---------- proto10 [Close] ----------
  ; fn ?  line 216-223 np=1 va=0 ms=4 code=15 consts=8 upvals=1 protos=0
  ;   K[0]='m_bClosed'
  ;   K[1]='BaseWindow'
  ;   K[2]='Close'
  ;   K[3]='GM'
  ;   K[4]='SceneManager'
  ;   K[5]='QuitActivityMode'
  ;   K[6]='EGameMode'
  ;   K[7]='ExtraBoard'
  ;   upvals: _ENV
  ;   locals: self(0-15)
  0000  GETTABLE  R1 = R0[K0('m_bClosed')]
  0001  TEST      if not R1 then   -> -131069
  0002  JMP       (jump)   -> 4
  0003  RETURN    return R0..R-1
  0004  GETTABUP  R1 = _ENV[K1('BaseWindow')]
  0005  GETTABLE  R1 = R1[K2('Close')]
  0006  MOVE      R2 = R0
  0007  CALL      R1 = call(R1, 0 args, 1 rets)
  0008  GETTABUP  R1 = _ENV[K3('GM')]
  0009  GETTABLE  R1 = R1[K4('SceneManager')]
  0010  SELF      R2 = R1[K5('QuitActivityMode')] (self)
  0011  GETTABUP  R3 = _ENV[K6('EGameMode')]
  0012  GETTABLE  R3 = R3[K7('ExtraBoard')]
  0013  CALL      R1 = call(R1, 0 args, 2 rets)
  0014  RETURN    return R0..R-1
; ---------- proto11 [_OnCachedNewItem] ----------
  ; fn ?  line 225-227 np=2 va=0 ms=5 code=4 consts=1 upvals=0 protos=0
  ;   K[0]='_UpdateButton'
  ;   locals: self(0-4), msg(0-4)
  0000  SELF      R3 = R0[K0('_UpdateButton')] (self)
  0001  LOADBOOL  R4 = false
  0002  CALL      R2 = call(R2, 0 args, 2 rets)
  0003  RETURN    return R0..R-1
; ---------- proto12 [_OnCachedItemsChanged] ----------
  ; fn ?  line 229-236 np=2 va=0 ms=5 code=16 consts=6 upvals=0 protos=0
  ;   K[0]=nil
  ;   K[1]='GameMode'
  ;   K[2]='m_boardModel'
  ;   K[3]='GetGameMode'
  ;   K[4]='_OnUpdateContent'
  ;   K[5]='_UpdateButton'
  ;   locals: self(0-16), msg(0-16)
  0000  EQ        if R1 eq K0(nil)   -> -130302
  0001  JMP       (jump)   -> 8
  0002  GETTABLE  R2 = R1[K1('GameMode')]
  0003  GETTABLE  R3 = R0[K2('m_boardModel')]
  0004  SELF      R4 = R3[K3('GetGameMode')] (self)
  0005  CALL      R3 = call(R3, 1 args, 1 rets)
  0006  EQ        if R1 eq R3   -> -130037
  0007  JMP       (jump)   -> 9
  0008  RETURN    return R0..R-1
  0009  SELF      R3 = R0[K4('_OnUpdateContent')] (self)
  0010  MOVE      R4 = R0
  0011  CALL      R2 = call(R2, 0 args, 2 rets)
  0012  SELF      R3 = R0[K5('_UpdateButton')] (self)
  0013  LOADBOOL  R4 = true
  0014  CALL      R2 = call(R2, 0 args, 2 rets)
  0015  RETURN    return R0..R-1
; ---------- proto13 [_OnGenerateItem] ----------
  ; fn ?  line 238-242 np=2 va=0 ms=5 code=9 consts=2 upvals=0 protos=0
  ;   K[0]='New'
  ;   K[1]='_OnUpdateContent'
  ;   locals: self(0-9), msg(0-9)
  0000  TEST      if not R1 then   -> -131070
  0001  JMP       (jump)   -> 8
  0002  GETTABLE  R2 = R1[K0('New')]
  0003  TEST      if not R2 then   -> -131067
  0004  JMP       (jump)   -> 8
  0005  SELF      R3 = R0[K1('_OnUpdateContent')] (self)
  0006  MOVE      R4 = R0
  0007  CALL      R2 = call(R2, 0 args, 2 rets)
  0008  RETURN    return R0..R-1
; ---------- proto14 [_OnUpdateContent] ----------
  ; fn ?  line 244-309 np=2 va=0 ms=9 code=66 consts=26 upvals=1 protos=3
  ;   K[0]='New'
  ;   K[1]='GetCode'
  ;   K[2]='m_model'
  ;   K[3]='UpdateLevel'
  ;   K[4]='m_isPlayingItemUnlockAnimation'
  ;   K[5]=true
  ;   K[6]='UIUtil'
  ;   K[7]='IsEmptyComponent'
  ;   K[8]='m_levelProgress'
  ;   K[9]='PlayProgressAnimation'
  ;   K[10]=0.5
  ;   K[11]='GetLevel'
  ;   K[12]='GetItemCodeByLevel'
  ;   K[13]='DOTween'
  ;   K[14]='Sequence'
  ;   K[15]='AppendInterval'
  ;   K[16]=0.1
  ;   K[17]='AppendCallback'
  ;   K[18]='m_model'
  ;   K[19]='IsMaxLevel'
  ;   K[20]='m_bEventLocked'
  ;   K[21]='GM'
  ;   K[22]='UIManager'
  ;   K[23]='SetEventLock'
  ;   K[24]=1.8
  ;   K[25]='m_unlockSeq'
  ;   upvals: _ENV
  ;   locals: self(0-66), msg(0-66), itemType(7-66), level(29-66), itemCode(33-66), seq(36-66)
  0000  TEST      if not R1 then   -> -131069
  0001  JMP       (jump)   -> 4
  0002  LOADBOOL  R2 = false
  0003  RETURN    return R2..R1
  0004  GETTABLE  R2 = R1[K0('New')]
  0005  SELF      R3 = R2[K1('GetCode')] (self)
  0006  CALL      R2 = call(R2, 1 args, 1 rets)
  0007  GETTABLE  R3 = R0[K2('m_model')]
  0008  SELF      R4 = R3[K3('UpdateLevel')] (self)
  0009  MOVE      R5 = R0
  0010  CALL      R3 = call(R3, 1 args, 2 rets)
  0011  TEST      if not R3 then   -> -131058
  0012  JMP       (jump)   -> 15
  0013  LOADBOOL  R3 = false
  0014  RETURN    return R3..R2
  0015  SETTABLE  R0[K4('m_isPlayingItemUnlockAnimation')] = K5(true)
  0016  GETTABUP  R3 = _ENV[K6('UIUtil')]
  0017  GETTABLE  R3 = R3[K7('IsEmptyComponent')]
  0018  GETTABLE  R4 = R0[K8('m_levelProgress')]
  0019  CALL      R3 = call(R3, 1 args, 1 rets)
  0020  TEST      if not R3 then   -> -131049
  0021  JMP       (jump)   -> 26
  0022  GETTABLE  R3 = R0[K8('m_levelProgress')]
  0023  SELF      R4 = R3[K9('PlayProgressAnimation')] (self)
  0024  LOADK     R5 = K10 0.5
  0025  CALL      R3 = call(R3, 0 args, 2 rets)
  0026  GETTABLE  R3 = R0[K2('m_model')]
  0027  SELF      R4 = R3[K11('GetLevel')] (self)
  0028  CALL      R3 = call(R3, 1 args, 1 rets)
  0029  GETTABLE  R4 = R0[K2('m_model')]
  0030  SELF      R5 = R4[K12('GetItemCodeByLevel')] (self)
  0031  MOVE      R6 = R0
  0032  CALL      R4 = call(R4, 1 args, 2 rets)
  0033  GETTABUP  R5 = _ENV[K13('DOTween')]
  0034  GETTABLE  R5 = R5[K14('Sequence')]
  0035  CALL      R5 = call(R5, 1 args, 0 rets)
  0036  SELF      R7 = R5[K15('AppendInterval')] (self)
  0037  LOADK     R8 = K16 0.1
  0038  CALL      R6 = call(R6, 0 args, 2 rets)
  0039  SELF      R7 = R5[K17('AppendCallback')] (self)
  0040  CLOSURE   R8 = closure proto0
  0041  CALL      R6 = call(R6, 0 args, 2 rets)
  0042  GETTABLE  R6 = R0[K18('m_model')]
  0043  SELF      R7 = R6[K19('IsMaxLevel')] (self)
  0044  CALL      R6 = call(R6, 1 args, 1 rets)
  0045  TEST      if not R6 then   -> -131025
  0046  JMP       (jump)   -> 59
  0047  SETTABLE  R0[K20('m_bEventLocked')] = K5(true)
  0048  GETTABUP  R6 = _ENV[K21('GM')]
  0049  GETTABLE  R6 = R6[K22('UIManager')]
  0050  SELF      R7 = R6[K23('SetEventLock')] (self)
  0051  LOADBOOL  R8 = true
  0052  CALL      R6 = call(R6, 0 args, 2 rets)
  0053  SELF      R7 = R5[K15('AppendInterval')] (self)
  0054  LOADK     R8 = K24 1.8
  0055  CALL      R6 = call(R6, 0 args, 2 rets)
  0056  SELF      R7 = R5[K17('AppendCallback')] (self)
  0057  CLOSURE   R8 = closure proto1
  0058  CALL      R6 = call(R6, 0 args, 2 rets)
  0059  SELF      R7 = R5[K17('AppendCallback')] (self)
  0060  CLOSURE   R8 = closure proto2
  0061  CALL      R6 = call(R6, 0 args, 2 rets)
  0062  SETTABLE  R0[K25('m_unlockSeq')] = R5
  0063  LOADBOOL  R6 = true
  0064  RETURN    return R6..R5
  0065  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 262-292 np=0 va=0 ms=30 code=79 consts=28 upvals=4 protos=1
    ;   K[0]='New'
    ;   K[1]='GM'
    ;   K[2]='ModeViewController'
    ;   K[3]='GetExtraBoardActivityBoardView'
    ;   K[4]=nil
    ;   K[5]='GetItemView'
    ;   K[6]='transform'
    ;   K[7]='position'
    ;   K[8]='V3Zero'
    ;   K[9]='ConvertWorldPositionToScreenPosition'
    ;   K[10]='PositionUtil'
    ;   K[11]='UICameraScreen2World'
    ;   K[12]='m_model'
    ;   K[13]='GetLevelByItemCode'
    ;   K[14]=0
    ;   K[15]='GetMergeLineItemIconArea'
    ;   K[16]='UIUtil'
    ;   K[17]='IsEmptyComponent'
    ;   K[18]='ItemDataModel'
    ;   K[19]='GetSpriteName'
    ;   K[20]=0.5
    ;   K[21]='GetScaleTrans'
    ;   K[22]=1
    ;   K[23]='GetSortingOrder'
    ;   K[24]='PropertyAnimationManager'
    ;   K[25]='PlayFlyElementAnimation'
    ;   K[26]='Ease'
    ;   K[27]='InSine'
    ;   upvals: msg, _ENV, self, itemCode
    ;   locals: newItem(1-79), boardView(5-79), sourceItemView(10-78), worldPosition(17-78), screenPosition(20-78), uiWorldPosition(24-78), itemLevel(28-78), iconArea(34-78), spriteName(45-77), duration(46-77), fromPos(47-77), targetPos(50-77), fromScale(51-77), targetScale(52-77), bLockEvent(53-77), bWithTail(54-77), sortingOrder(58-77)
    0000  GETTABUP  R0 = msg[K0('New')]
    0001  GETTABUP  R1 = _ENV[K1('GM')]
    0002  GETTABLE  R1 = R1[K2('ModeViewController')]
    0003  SELF      R2 = R1[K3('GetExtraBoardActivityBoardView')] (self)
    0004  CALL      R1 = call(R1, 1 args, 1 rets)
    0005  EQ        if R1 eq K4(nil)   -> -130293
    0006  JMP       (jump)   -> 78
    0007  SELF      R3 = R1[K5('GetItemView')] (self)
    0008  MOVE      R4 = R0
    0009  CALL      R2 = call(R2, 1 args, 2 rets)
    0010  TEST      if not R2 then   -> -131060
    0011  JMP       (jump)   -> 16
    0012  GETTABLE  R3 = R2[K6('transform')]
    0013  GETTABLE  R3 = R3[K7('position')]
    0014  TEST      if not R3 then   -> -131055
    0015  JMP       (jump)   -> 17
    0016  GETTABUP  R3 = _ENV[K8('V3Zero')]
    0017  SELF      R5 = R1[K9('ConvertWorldPositionToScreenPosition')] (self)
    0018  MOVE      R6 = R0
    0019  CALL      R4 = call(R4, 1 args, 2 rets)
    0020  GETTABUP  R5 = _ENV[K10('PositionUtil')]
    0021  GETTABLE  R5 = R5[K11('UICameraScreen2World')]
    0022  MOVE      R6 = R0
    0023  CALL      R5 = call(R5, 1 args, 1 rets)
    0024  GETTABUP  R6 = self[K12('m_model')]
    0025  SELF      R7 = R6[K13('GetLevelByItemCode')] (self)
    0026  GETUPVAL  R8 = msg
    0027  CALL      R6 = call(R6, 1 args, 2 rets)
    0028  EQ        if R1 eq K14(0)   -> -127700
    0029  JMP       (jump)   -> 78
    0030  GETUPVAL  R7 = msg
    0031  SELF      R8 = R7[K15('GetMergeLineItemIconArea')] (self)
    0032  MOVE      R9 = R0
    0033  CALL      R7 = call(R7, 1 args, 2 rets)
    0034  GETTABUP  R8 = _ENV[K16('UIUtil')]
    0035  GETTABLE  R8 = R8[K17('IsEmptyComponent')]
    0036  MOVE      R9 = R0
    0037  CALL      R8 = call(R8, 1 args, 1 rets)
    0038  TEST      if not R8 then   -> -131031
    0039  JMP       (jump)   -> 78
    0040  GETTABUP  R8 = _ENV[K1('GM')]
    0041  GETTABLE  R8 = R8[K18('ItemDataModel')]
    0042  SELF      R9 = R8[K19('GetSpriteName')] (self)
    0043  GETUPVAL  R10 = msg
    0044  CALL      R8 = call(R8, 1 args, 2 rets)
    0045  LOADK     R9 = K20 0.5
    0046  MOVE      R10 = R0
    0047  SELF      R12 = R7[K21('GetScaleTrans')] (self)
    0048  CALL      R11 = call(R11, 1 args, 1 rets)
    0049  GETTABLE  R11 = R11[K7('position')]
    0050  LOADK     R12 = K22 1
    0051  LOADK     R13 = K20 0.5
    0052  LOADBOOL  R14 = false
    0053  LOADBOOL  R15 = true
    0054  GETUPVAL  R16 = msg
    0055  SELF      R17 = R16[K23('GetSortingOrder')] (self)
    0056  CALL      R16 = call(R16, 1 args, 1 rets)
    0057  ADD       R16 = K22(1) add R16
    0058  GETTABUP  R17 = _ENV[K24('PropertyAnimationManager')]
    0059  GETTABLE  R17 = R17[K25('PlayFlyElementAnimation')]
    0060  MOVE      R18 = R0
    0061  MOVE      R19 = R0
    0062  MOVE      R20 = R0
    0063  MOVE      R21 = R0
    0064  MOVE      R22 = R0
    0065  MOVE      R23 = R0
    0066  LOADBOOL  R24 = false
    0067  LOADBOOL  R25 = true
    0068  GETUPVAL  R26 = msg
    0069  SELF      R27 = R26[K23('GetSortingOrder')] (self)
    0070  CALL      R26 = call(R26, 1 args, 1 rets)
    0071  ADD       R26 = K22(1) add R26
    0072  LOADNIL   R27..R27 = nil
    0073  CLOSURE   R28 = closure proto0
    0074  GETTABUP  R29 = _ENV[K26('Ease')]
    0075  GETTABLE  R29 = R29[K27('InSine')]
    0076  CALL      R17 = call(R17, 0 args, 12 rets)
    0077  JMP       (jump)   -> 78
    0078  RETURN    return R0..R-1
    ; ---------- proto0 [] ----------
      ; fn ?  line 284-288 np=0 va=0 ms=3 code=14 consts=3 upvals=2 protos=0
      ;   K[0]='UIUtil'
      ;   K[1]='IsEmptyComponent'
      ;   K[2]='IconScaleAnimation'
      ;   upvals: iconArea, _ENV
      0000  GETUPVAL  R0 = iconArea
      0001  TEST      if not R0 then   -> -131069
      0002  JMP       (jump)   -> 13
      0003  GETTABUP  R0 = _ENV[K0('UIUtil')]
      0004  GETTABLE  R0 = R0[K1('IsEmptyComponent')]
      0005  GETUPVAL  R1 = iconArea
      0006  CALL      R0 = call(R0, 1 args, 1 rets)
      0007  TEST      if not R0 then   -> -131062
      0008  JMP       (jump)   -> 13
      0009  GETUPVAL  R0 = iconArea
      0010  SELF      R1 = R0[K2('IconScaleAnimation')] (self)
      0011  LOADBOOL  R2 = true
      0012  CALL      R0 = call(R0, 0 args, 2 rets)
      0013  RETURN    return R0..R-1
  ; ---------- proto1 [m_unlockSeq] ----------
    ; fn ?  line 297-301 np=0 va=0 ms=4 code=14 consts=9 upvals=2 protos=0
    ;   K[0]='m_bEventLocked'
    ;   K[1]=false
    ;   K[2]='GM'
    ;   K[3]='UIManager'
    ;   K[4]='SetEventLock'
    ;   K[5]='OpenView'
    ;   K[6]='m_activityDefinition'
    ;   K[7]='CompleteWindowPrefabName'
    ;   K[8]='m_activityType'
    ;   upvals: self, _ENV
    0000  SETTABUP  self[K0('m_bEventLocked')] = K1(false)
    0001  GETTABUP  R0 = _ENV[K2('GM')]
    0002  GETTABLE  R0 = R0[K3('UIManager')]
    0003  SELF      R1 = R0[K4('SetEventLock')] (self)
    0004  LOADBOOL  R2 = false
    0005  CALL      R0 = call(R0, 0 args, 2 rets)
    0006  GETTABUP  R0 = _ENV[K2('GM')]
    0007  GETTABLE  R0 = R0[K3('UIManager')]
    0008  SELF      R1 = R0[K5('OpenView')] (self)
    0009  GETTABUP  R2 = self[K6('m_activityDefinition')]
    0010  GETTABLE  R2 = R2[K7('CompleteWindowPrefabName')]
    0011  GETTABUP  R3 = self[K8('m_activityType')]
    0012  CALL      R0 = call(R0, 0 args, 3 rets)
    0013  RETURN    return R0..R-1
  ; ---------- proto2 [m_unlockSeq] ----------
    ; fn ?  line 303-305 np=0 va=0 ms=2 code=2 consts=2 upvals=1 protos=0
    ;   K[0]='m_unlockSeq'
    ;   K[1]=nil
    ;   upvals: self
    0000  SETTABUP  self[K0('m_unlockSeq')] = K1(nil)
    0001  RETURN    return R0..R-1
; ---------- proto15 [_OnBookItemUnlocked] ----------
  ; fn ?  line 311-318 np=2 va=0 ms=5 code=13 consts=5 upvals=0 protos=0
  ;   K[0]=nil
  ;   K[1]='m_model'
  ;   K[2]='IsMainLineItem'
  ;   K[3]='TryPopBookWindow'
  ;   K[4]=0.5
  ;   locals: self(0-13), itemCode(0-13)
  0000  EQ        if R1 eq K0(nil)   -> -130302
  0001  JMP       (jump)   -> 8
  0002  GETTABLE  R2 = R0[K1('m_model')]
  0003  SELF      R3 = R2[K2('IsMainLineItem')] (self)
  0004  MOVE      R4 = R0
  0005  CALL      R2 = call(R2, 1 args, 2 rets)
  0006  TEST      if not R2 then   -> -131064
  0007  JMP       (jump)   -> 9
  0008  RETURN    return R0..R-1
  0009  SELF      R3 = R0[K3('TryPopBookWindow')] (self)
  0010  LOADK     R4 = K4 0.5
  0011  CALL      R2 = call(R2, 0 args, 2 rets)
  0012  RETURN    return R0..R-1
; ---------- proto16 [TryPopBookWindow] ----------
  ; fn ?  line 320-333 np=2 va=0 ms=11 code=19 consts=5 upvals=1 protos=1
  ;   K[0]='IsAutoRun'
  ;   K[1]='m_boardModel'
  ;   K[2]='GetItemIllustratedBook'
  ;   K[3]='GetProgress'
  ;   K[4]='DelayExecuteFuncInView'
  ;   upvals: _ENV
  ;   locals: self(0-19), delay(0-19), bookModel(8-19), curProgress(10-19), maxProgress(10-19), unlockProgress(10-19)
  0000  GETTABUP  R2 = _ENV[K0('IsAutoRun')]
  0001  CALL      R2 = call(R2, 1 args, 0 rets)
  0002  TEST      if not R2 then   -> -131068
  0003  JMP       (jump)   -> 5
  0004  RETURN    return R0..R-1
  0005  GETTABLE  R2 = R0[K1('m_boardModel')]
  0006  SELF      R3 = R2[K2('GetItemIllustratedBook')] (self)
  0007  CALL      R2 = call(R2, 1 args, 1 rets)
  0008  SELF      R4 = R2[K3('GetProgress')] (self)
  0009  CALL      R3 = call(R3, 3 args, 1 rets)
  0010  EQ        if R0 eq R4   -> -128496
  0011  JMP       (jump)   -> 18
  0012  GETTABUP  R6 = _ENV[K4('DelayExecuteFuncInView')]
  0013  CLOSURE   R7 = closure proto0
  0014  MOVE      R8 = R0
  0015  MOVE      R9 = R0
  0016  LOADBOOL  R10 = true
  0017  CALL      R6 = call(R6, 0 args, 4 rets)
  0018  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 329-331 np=0 va=0 ms=5 code=9 consts=6 upvals=3 protos=0
    ;   K[0]='GM'
    ;   K[1]='UIManager'
    ;   K[2]='OpenView'
    ;   K[3]='m_activityDefinition'
    ;   K[4]='BookWindowPrefabName'
    ;   K[5]='m_activityType'
    ;   upvals: _ENV, self, bookModel
    0000  GETTABUP  R0 = _ENV[K0('GM')]
    0001  GETTABLE  R0 = R0[K1('UIManager')]
    0002  SELF      R1 = R0[K2('OpenView')] (self)
    0003  GETTABUP  R2 = self[K3('m_activityDefinition')]
    0004  GETTABLE  R2 = R2[K4('BookWindowPrefabName')]
    0005  GETTABUP  R3 = self[K5('m_activityType')]
    0006  GETUPVAL  R4 = _ENV
    0007  CALL      R0 = call(R0, 0 args, 4 rets)
    0008  RETURN    return R0..R-1
; ---------- proto17 [PreLoadResource] ----------
  ; fn ?  line 337-344 np=1 va=0 ms=4 code=22 consts=9 upvals=1 protos=2
  ;   K[0]='m_activityDefinition'
  ;   K[1]='BoardBgImageName'
  ;   K[2]=nil
  ;   K[3]='SpriteUtil'
  ;   K[4]='LoadSprite'
  ;   K[5]='m_model'
  ;   K[6]='IsCobwebOpen'
  ;   K[7]='ImageFileConfigName'
  ;   K[8]='cobweb_tile_bg1'
  ;   upvals: _ENV
  ;   locals: self(0-22)
  0000  GETTABLE  R1 = R0[K0('m_activityDefinition')]
  0001  GETTABLE  R1 = R1[K1('BoardBgImageName')]
  0002  EQ        if R1 eq K2(nil)   -> -130298
  0003  JMP       (jump)   -> 10
  0004  GETTABUP  R1 = _ENV[K3('SpriteUtil')]
  0005  GETTABLE  R1 = R1[K4('LoadSprite')]
  0006  GETTABLE  R2 = R0[K0('m_activityDefinition')]
  0007  GETTABLE  R2 = R2[K1('BoardBgImageName')]
  0008  CLOSURE   R3 = closure proto0
  0009  CALL      R1 = call(R1, 0 args, 2 rets)
  0010  GETTABLE  R1 = R0[K5('m_model')]
  0011  SELF      R2 = R1[K6('IsCobwebOpen')] (self)
  0012  CALL      R1 = call(R1, 1 args, 1 rets)
  0013  TEST      if not R1 then   -> -131057
  0014  JMP       (jump)   -> 21
  0015  GETTABUP  R1 = _ENV[K3('SpriteUtil')]
  0016  GETTABLE  R1 = R1[K4('LoadSprite')]
  0017  GETTABUP  R2 = _ENV[K7('ImageFileConfigName')]
  0018  GETTABLE  R2 = R2[K8('cobweb_tile_bg1')]
  0019  CLOSURE   R3 = closure proto1
  0020  CALL      R1 = call(R1, 0 args, 2 rets)
  0021  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 339-339 np=0 va=0 ms=2 code=1 consts=0 upvals=0 protos=0
    0000  RETURN    return R0..R-1
  ; ---------- proto1 [] ----------
    ; fn ?  line 342-342 np=0 va=0 ms=2 code=1 consts=0 upvals=0 protos=0
    0000  RETURN    return R0..R-1
; ---------- proto18 [_AdjustBottomButtonRect] ----------
  ; fn ?  line 347-356 np=3 va=0 ms=10 code=25 consts=8 upvals=1 protos=0
  ;   K[0]='anchoredPosition'
  ;   K[1]='y'
  ;   K[2]='m_contentRect'
  ;   K[3]='sizeDelta'
  ;   K[4]='localScale'
  ;   K[5]=2
  ;   K[6]='UIUtil'
  ;   K[7]='SetAnchoredPosition'
  ;   upvals: _ENV
  ;   locals: self(0-25), rect(0-25), screenAdjustSize(0-25), deltaY(2-25), contentHeight(9-25), size(10-25)
  0000  GETTABLE  R3 = R1[K0('anchoredPosition')]
  0001  GETTABLE  R3 = R3[K1('y')]
  0002  GETTABLE  R4 = R0[K2('m_contentRect')]
  0003  GETTABLE  R4 = R4[K3('sizeDelta')]
  0004  GETTABLE  R4 = R4[K1('y')]
  0005  GETTABLE  R5 = R0[K2('m_contentRect')]
  0006  GETTABLE  R5 = R5[K4('localScale')]
  0007  GETTABLE  R5 = R5[K1('y')]
  0008  MUL       R4 = R5 mul R4
  0009  MOVE      R5 = R0
  0010  DIV       R6 = K5(2) div R4
  0011  SUB       R6 = R3 sub R6
  0012  GETTABLE  R7 = R5[K1('y')]
  0013  DIV       R7 = K5(2) div R7
  0014  LT        if R0 lt R6   -> -127466
  0015  JMP       (jump)   -> 24
  0016  GETTABUP  R6 = _ENV[K6('UIUtil')]
  0017  GETTABLE  R6 = R6[K7('SetAnchoredPosition')]
  0018  MOVE      R7 = R0
  0019  LOADNIL   R8..R8 = nil
  0020  GETTABLE  R9 = R5[K1('y')]
  0021  SUB       R9 = R9 sub R4
  0022  DIV       R9 = K5(2) div R9
  0023  CALL      R6 = call(R6, 0 args, 3 rets)
  0024  RETURN    return R0..R-1
; ---------- proto19 [_UpdateButton] ----------
  ; fn ?  line 359-393 np=2 va=0 ms=8 code=60 consts=20 upvals=1 protos=1
  ;   K[0]='IsAutoRun'
  ;   K[1]='m_model'
  ;   K[2]='GetBoardModel'
  ;   K[3]=nil
  ;   K[4]='GetCachedItemCount'
  ;   K[5]='UIUtil'
  ;   K[6]='IsEmptyComponent'
  ;   K[7]='m_bottomButtonTransform'
  ;   K[8]='gameObject'
  ;   K[9]='activeSelf'
  ;   K[10]=0
  ;   K[11]='DelayExecuteFuncInView'
  ;   K[12]=1
  ;   K[13]='m_bottomButtonTransform'
  ;   K[14]='gameObject'
  ;   K[15]='SetActive'
  ;   K[16]='m_boardRowImage'
  ;   K[17]='raycastPadding'
  ;   K[18]='y'
  ;   K[19]=320
  ;   upvals: _ENV
  ;   locals: self(0-60), needDelay(0-60), boardModel(8-60), cachedItemsCount(13-60), padding(50-60)
  0000  GETTABUP  R2 = _ENV[K0('IsAutoRun')]
  0001  CALL      R2 = call(R2, 1 args, 0 rets)
  0002  TEST      if not R2 then   -> -131068
  0003  JMP       (jump)   -> 5
  0004  RETURN    return R0..R-1
  0005  GETTABLE  R2 = R0[K1('m_model')]
  0006  SELF      R3 = R2[K2('GetBoardModel')] (self)
  0007  CALL      R2 = call(R2, 1 args, 1 rets)
  0008  EQ        if R0 eq K3(nil)   -> -129779
  0009  JMP       (jump)   -> 11
  0010  RETURN    return R0..R-1
  0011  SELF      R4 = R2[K4('GetCachedItemCount')] (self)
  0012  CALL      R3 = call(R3, 1 args, 1 rets)
  0013  GETTABUP  R4 = _ENV[K5('UIUtil')]
  0014  GETTABLE  R4 = R4[K6('IsEmptyComponent')]
  0015  GETTABLE  R5 = R0[K7('m_bottomButtonTransform')]
  0016  CALL      R4 = call(R4, 1 args, 1 rets)
  0017  TEST      if not R4 then   -> -131052
  0018  JMP       (jump)   -> 34
  0019  GETTABLE  R4 = R0[K7('m_bottomButtonTransform')]
  0020  GETTABLE  R4 = R4[K8('gameObject')]
  0021  GETTABLE  R4 = R4[K9('activeSelf')]
  0022  TEST      if not R4 then   -> -131047
  0023  JMP       (jump)   -> 34
  0024  LE        if R0 le K10(0)   -> -129244
  0025  JMP       (jump)   -> 34
  0026  TEST      if not R1 then   -> -131044
  0027  JMP       (jump)   -> 34
  0028  GETTABUP  R4 = _ENV[K11('DelayExecuteFuncInView')]
  0029  CLOSURE   R5 = closure proto0
  0030  LOADK     R6 = K12 1
  0031  MOVE      R7 = R0
  0032  CALL      R4 = call(R4, 0 args, 3 rets)
  0033  JMP       (jump)   -> 48
  0034  GETTABUP  R4 = _ENV[K5('UIUtil')]
  0035  GETTABLE  R4 = R4[K6('IsEmptyComponent')]
  0036  GETTABLE  R5 = R0[K13('m_bottomButtonTransform')]
  0037  CALL      R4 = call(R4, 1 args, 1 rets)
  0038  TEST      if not R4 then   -> -131031
  0039  JMP       (jump)   -> 48
  0040  GETTABLE  R4 = R0[K13('m_bottomButtonTransform')]
  0041  GETTABLE  R4 = R4[K14('gameObject')]
  0042  SELF      R5 = R4[K15('SetActive')] (self)
  0043  LE        if R1 le K10(0)   -> -129225
  0044  JMP       (jump)   -> 46
  0045  LOADBOOL  R6 = false
  0046  LOADBOOL  R6 = true
  0047  CALL      R4 = call(R4, 0 args, 2 rets)
  0048  GETTABLE  R4 = R0[K16('m_boardRowImage')]
  0049  GETTABLE  R4 = R4[K17('raycastPadding')]
  0050  LT        if R0 lt R3   -> 5175
  0051  JMP       (jump)   -> 55
  0052  LOADK     R5 = K10 0
  0053  TEST      if not R5 then   -> -131016
  0054  JMP       (jump)   -> 56
  0055  LOADK     R5 = K19 320
  0056  SETTABLE  R4[K18('y')] = R5
  0057  GETTABLE  R5 = R0[K16('m_boardRowImage')]
  0058  SETTABLE  R5[K17('raycastPadding')] = R4
  0059  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 375-384 np=0 va=0 ms=7 code=33 consts=15 upvals=2 protos=0
    ;   K[0]='m_bottomButtonTransform'
    ;   K[1]='gameObject'
    ;   K[2]='IsNull'
    ;   K[3]='localScale'
    ;   K[4]='Vector3'
    ;   K[5]='zero'
    ;   K[6]='SetActive'
    ;   K[7]='DOTween'
    ;   K[8]='Sequence'
    ;   K[9]='Append'
    ;   K[10]='DOScale'
    ;   K[11]=1.2
    ;   K[12]=0.4
    ;   K[13]=1
    ;   K[14]=0.2
    ;   upvals: self, _ENV
    ;   locals: sequence(18-32)
    0000  GETTABUP  R0 = self[K0('m_bottomButtonTransform')]
    0001  GETTABLE  R0 = R0[K1('gameObject')]
    0002  SELF      R1 = R0[K2('IsNull')] (self)
    0003  CALL      R0 = call(R0, 1 args, 1 rets)
    0004  TEST      if not R0 then   -> -131065
    0005  JMP       (jump)   -> 32
    0006  GETTABUP  R0 = self[K0('m_bottomButtonTransform')]
    0007  GETTABUP  R1 = _ENV[K4('Vector3')]
    0008  GETTABLE  R1 = R1[K5('zero')]
    0009  SETTABLE  R0[K3('localScale')] = R1
    0010  GETTABUP  R0 = self[K0('m_bottomButtonTransform')]
    0011  GETTABLE  R0 = R0[K1('gameObject')]
    0012  SELF      R1 = R0[K6('SetActive')] (self)
    0013  LOADBOOL  R2 = true
    0014  CALL      R0 = call(R0, 0 args, 2 rets)
    0015  GETTABUP  R0 = _ENV[K7('DOTween')]
    0016  GETTABLE  R0 = R0[K8('Sequence')]
    0017  CALL      R0 = call(R0, 1 args, 0 rets)
    0018  SELF      R2 = R0[K9('Append')] (self)
    0019  GETTABUP  R3 = self[K0('m_bottomButtonTransform')]
    0020  SELF      R4 = R3[K10('DOScale')] (self)
    0021  LOADK     R5 = K11 1.2
    0022  LOADK     R6 = K12 0.4
    0023  CALL      R3 = call(R3, -1 args, 3 rets)
    0024  CALL      R1 = call(R1, 0 args, -1 rets)
    0025  SELF      R2 = R0[K9('Append')] (self)
    0026  GETTABUP  R3 = self[K0('m_bottomButtonTransform')]
    0027  SELF      R4 = R3[K10('DOScale')] (self)
    0028  LOADK     R5 = K13 1
    0029  LOADK     R6 = K14 0.2
    0030  CALL      R3 = call(R3, -1 args, 3 rets)
    0031  CALL      R1 = call(R1, 0 args, -1 rets)
    0032  RETURN    return R0..R-1
; ---------- proto20 [GetButtonTransform] ----------
  ; fn ?  line 395-397 np=1 va=0 ms=2 code=3 consts=1 upvals=0 protos=0
  ;   K[0]='m_bottomButtonTransform'
  ;   locals: self(0-3)
  0000  GETTABLE  R1 = R0[K0('m_bottomButtonTransform')]
  0001  RETURN    return R1..R0
  0002  RETURN    return R0..R-1
; ---------- proto21 [GetConsumeButtonTransform] ----------
  ; fn ?  line 399-401 np=1 va=0 ms=2 code=4 consts=2 upvals=0 protos=0
  ;   K[0]='m_consumeButton'
  ;   K[1]='transform'
  ;   locals: self(0-4)
  0000  GETTABLE  R1 = R0[K0('m_consumeButton')]
  0001  GETTABLE  R1 = R1[K1('transform')]
  0002  RETURN    return R1..R0
  0003  RETURN    return R0..R-1
; ---------- proto22 [GetMultipleButtonTransform] ----------
  ; fn ?  line 403-405 np=1 va=0 ms=2 code=4 consts=2 upvals=0 protos=0
  ;   K[0]='m_tokenMultipleSwitchButton'
  ;   K[1]='transform'
  ;   locals: self(0-4)
  0000  GETTABLE  R1 = R0[K0('m_tokenMultipleSwitchButton')]
  0001  GETTABLE  R1 = R1[K1('transform')]
  0002  RETURN    return R1..R0
  0003  RETURN    return R0..R-1
; ---------- proto23 [GetProgressTransform] ----------
  ; fn ?  line 407-409 np=1 va=0 ms=2 code=4 consts=2 upvals=0 protos=0
  ;   K[0]='m_levelProgress'
  ;   K[1]='transform'
  ;   locals: self(0-4)
  0000  GETTABLE  R1 = R0[K0('m_levelProgress')]
  0001  GETTABLE  R1 = R1[K1('transform')]
  0002  RETURN    return R1..R0
  0003  RETURN    return R0..R-1
; ---------- proto24 [GetMergeLineItemIconArea] ----------
  ; fn ?  line 411-413 np=2 va=0 ms=5 code=23 consts=5 upvals=1 protos=0
  ;   K[0]='UIUtil'
  ;   K[1]='IsEmptyComponent'
  ;   K[2]='m_levelProgress'
  ;   K[3]='GetCellByLevel'
  ;   K[4]='GetIconArea'
  ;   upvals: _ENV
  ;   locals: self(0-23), level(0-23)
  0000  GETTABUP  R2 = _ENV[K0('UIUtil')]
  0001  GETTABLE  R2 = R2[K1('IsEmptyComponent')]
  0002  GETTABLE  R3 = R0[K2('m_levelProgress')]
  0003  CALL      R2 = call(R2, 1 args, 1 rets)
  0004  TEST      if not R2 then   -> -131065
  0005  JMP       (jump)   -> 20
  0006  GETTABLE  R2 = R0[K2('m_levelProgress')]
  0007  SELF      R3 = R2[K3('GetCellByLevel')] (self)
  0008  MOVE      R4 = R0
  0009  CALL      R2 = call(R2, 1 args, 2 rets)
  0010  TEST      if not R2 then   -> -131060
  0011  JMP       (jump)   -> 20
  0012  GETTABLE  R2 = R0[K2('m_levelProgress')]
  0013  SELF      R3 = R2[K3('GetCellByLevel')] (self)
  0014  MOVE      R4 = R0
  0015  CALL      R2 = call(R2, 1 args, 2 rets)
  0016  SELF      R3 = R2[K4('GetIconArea')] (self)
  0017  CALL      R2 = call(R2, 1 args, 1 rets)
  0018  TEST      if not R2 then   -> -131051
  0019  JMP       (jump)   -> 21
  0020  LOADNIL   R2..R2 = nil
  0021  RETURN    return R2..R1
  0022  RETURN    return R0..R-1
; ---------- proto25 [GetItemBoardAnchor] ----------
  ; fn ?  line 415-417 np=1 va=0 ms=2 code=3 consts=1 upvals=0 protos=0
  ;   K[0]='m_itemBoardAnchor'
  ;   locals: self(0-3)
  0000  GETTABLE  R1 = R0[K0('m_itemBoardAnchor')]
  0001  RETURN    return R1..R0
  0002  RETURN    return R0..R-1
; ---------- proto26 [_OnButtonClicked] ----------
  ; fn ?  line 419-428 np=1 va=0 ms=4 code=24 consts=9 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='TutorialModel'
  ;   K[2]='HasAnyStrongTutorialOngoing'
  ;   K[3]='Close'
  ;   K[4]='SceneManager'
  ;   K[5]='GetGameMode'
  ;   K[6]='EGameMode'
  ;   K[7]='Board'
  ;   K[8]='ChangeGameMode'
  ;   upvals: _ENV
  ;   locals: self(0-24)
  0000  GETTABUP  R1 = _ENV[K0('GM')]
  0001  GETTABLE  R1 = R1[K1('TutorialModel')]
  0002  SELF      R2 = R1[K2('HasAnyStrongTutorialOngoing')] (self)
  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  SELF      R2 = R0[K3('Close')] (self)
  0008  CALL      R1 = call(R1, 0 args, 1 rets)
  0009  GETTABUP  R1 = _ENV[K0('GM')]
  0010  GETTABLE  R1 = R1[K4('SceneManager')]
  0011  SELF      R2 = R1[K5('GetGameMode')] (self)
  0012  CALL      R1 = call(R1, 1 args, 1 rets)
  0013  GETTABUP  R2 = _ENV[K6('EGameMode')]
  0014  GETTABLE  R2 = R2[K7('Board')]
  0015  EQ        if R1 eq R2   -> -130541
  0016  JMP       (jump)   -> 23
  0017  GETTABUP  R1 = _ENV[K0('GM')]
  0018  GETTABLE  R1 = R1[K4('SceneManager')]
  0019  SELF      R2 = R1[K8('ChangeGameMode')] (self)
  0020  GETTABUP  R3 = _ENV[K6('EGameMode')]
  0021  GETTABLE  R3 = R3[K7('Board')]
  0022  CALL      R1 = call(R1, 0 args, 2 rets)
  0023  RETURN    return R0..R-1
; ---------- proto27 [GetCacheIconArea] ----------
  ; fn ?  line 430-432 np=1 va=0 ms=2 code=3 consts=1 upvals=0 protos=0
  ;   K[0]='m_cacheIconArea'
  ;   locals: self(0-3)
  0000  GETTABLE  R1 = R0[K0('m_cacheIconArea')]
  0001  RETURN    return R1..R0
  0002  RETURN    return R0..R-1
; ---------- proto28 [GetDeleteButton] ----------
  ; fn ?  line 434-436 np=1 va=0 ms=2 code=3 consts=1 upvals=0 protos=0
  ;   K[0]='m_itemDeleteButton'
  ;   locals: self(0-3)
  0000  GETTABLE  R1 = R0[K0('m_itemDeleteButton')]
  0001  RETURN    return R1..R0
  0002  RETURN    return R0..R-1
; ---------- proto29 [GetHelpBtnTrans] ----------
  ; fn ?  line 438-440 np=1 va=0 ms=2 code=3 consts=1 upvals=0 protos=0
  ;   K[0]='m_helpBtnTrans'
  ;   locals: self(0-3)
  0000  GETTABLE  R1 = R0[K0('m_helpBtnTrans')]
  0001  RETURN    return R1..R0
  0002  RETURN    return R0..R-1
; ---------- proto30 [GetBoardContainerTrans] ----------
  ; fn ?  line 442-444 np=1 va=0 ms=2 code=4 consts=2 upvals=0 protos=0
  ;   K[0]='m_boardContainer'
  ;   K[1]='transform'
  ;   locals: self(0-4)
  0000  GETTABLE  R1 = R0[K0('m_boardContainer')]
  0001  GETTABLE  R1 = R1[K1('transform')]
  0002  RETURN    return R1..R0
  0003  RETURN    return R0..R-1
; ---------- proto31 [OnHelpButtonClick] ----------
  ; fn ?  line 446-449 np=1 va=0 ms=6 code=9 consts=6 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='UIManager'
  ;   K[2]='OpenView'
  ;   K[3]='UIPrefabConfigName'
  ;   K[4]='ExtraBoardActivityHelpWindow'
  ;   K[5]='m_activityType'
  ;   upvals: _ENV
  ;   locals: self(0-9)
  0000  GETTABUP  R1 = _ENV[K0('GM')]
  0001  GETTABLE  R1 = R1[K1('UIManager')]
  0002  SELF      R2 = R1[K2('OpenView')] (self)
  0003  GETTABUP  R3 = _ENV[K3('UIPrefabConfigName')]
  0004  GETTABLE  R3 = R3[K4('ExtraBoardActivityHelpWindow')]
  0005  GETTABLE  R4 = R0[K5('m_activityType')]
  0006  LOADBOOL  R5 = true
  0007  CALL      R1 = call(R1, 0 args, 4 rets)
  0008  RETURN    return R0..R-1
; ---------- proto32 [OnUnlockAnimationFinish] ----------
  ; fn ?  line 451-457 np=2 va=0 ms=6 code=13 consts=6 upvals=1 protos=0
  ;   K[0]='UIUtil'
  ;   K[1]='IsEmptyComponent'
  ;   K[2]='m_levelProgress'
  ;   K[3]='UpdateLevelContent'
  ;   K[4]='m_isPlayingItemUnlockAnimation'
  ;   K[5]=false
  ;   upvals: _ENV
  ;   locals: self(0-13), level(0-13)
  0000  GETTABUP  R2 = _ENV[K0('UIUtil')]
  0001  GETTABLE  R2 = R2[K1('IsEmptyComponent')]
  0002  GETTABLE  R3 = R0[K2('m_levelProgress')]
  0003  CALL      R2 = call(R2, 1 args, 1 rets)
  0004  TEST      if not R2 then   -> -131065
  0005  JMP       (jump)   -> 11
  0006  GETTABLE  R2 = R0[K2('m_levelProgress')]
  0007  SELF      R3 = R2[K3('UpdateLevelContent')] (self)
  0008  LOADBOOL  R4 = true
  0009  MOVE      R5 = R0
  0010  CALL      R2 = call(R2, 0 args, 3 rets)
  0011  SETTABLE  R0[K4('m_isPlayingItemUnlockAnimation')] = K5(false)
  0012  RETURN    return R0..R-1
; ---------- proto33 [UpdateCobwebContent] ----------
  ; fn ?  line 461-469 np=1 va=0 ms=5 code=19 consts=8 upvals=1 protos=0
  ;   K[0]='m_model'
  ;   K[1]='IsCobwebOpen'
  ;   K[2]='GetBoardModel'
  ;   K[3]='m_bFinishedAllCobweb'
  ;   K[4]='HasFinishedAllMainCobweb'
  ;   K[5]='UIUtil'
  ;   K[6]='SetActive'
  ;   K[7]='m_uncompleteGo'
  ;   upvals: _ENV
  ;   locals: self(0-19), boardModel(9-19)
  0000  GETTABLE  R1 = R0[K0('m_model')]
  0001  SELF      R2 = R1[K1('IsCobwebOpen')] (self)
  0002  CALL      R1 = call(R1, 1 args, 1 rets)
  0003  TEST      if not R1 then   -> -131066
  0004  JMP       (jump)   -> 6
  0005  RETURN    return R0..R-1
  0006  GETTABLE  R1 = R0[K0('m_model')]
  0007  SELF      R2 = R1[K2('GetBoardModel')] (self)
  0008  CALL      R1 = call(R1, 1 args, 1 rets)
  0009  SELF      R3 = R1[K4('HasFinishedAllMainCobweb')] (self)
  0010  CALL      R2 = call(R2, 1 args, 1 rets)
  0011  SETTABLE  R0[K3('m_bFinishedAllCobweb')] = R2
  0012  GETTABUP  R2 = _ENV[K5('UIUtil')]
  0013  GETTABLE  R2 = R2[K6('SetActive')]
  0014  GETTABLE  R3 = R0[K7('m_uncompleteGo')]
  0015  GETTABLE  R4 = R0[K3('m_bFinishedAllCobweb')]
  0016  NOT       R4 = not R0
  0017  CALL      R2 = call(R2, 0 args, 2 rets)
  0018  RETURN    return R0..R-1
; ---------- proto34 [_OnItemMerged] ----------
  ; fn ?  line 471-484 np=2 va=0 ms=5 code=20 consts=5 upvals=0 protos=0
  ;   K[0]='_OnUpdateContent'
  ;   K[1]='m_model'
  ;   K[2]='IsCobwebOpen'
  ;   K[3]='IsMaxLevel'
  ;   K[4]='_TryPlayCobwebUnlockAnim'
  ;   locals: self(0-20), msg(0-20), bUpdateLevel(3-20)
  0000  SELF      R3 = R0[K0('_OnUpdateContent')] (self)
  0001  MOVE      R4 = R0
  0002  CALL      R2 = call(R2, 1 args, 2 rets)
  0003  GETTABLE  R3 = R0[K1('m_model')]
  0004  SELF      R4 = R3[K2('IsCobwebOpen')] (self)
  0005  CALL      R3 = call(R3, 1 args, 1 rets)
  0006  TEST      if not R3 then   -> -131063
  0007  JMP       (jump)   -> 9
  0008  RETURN    return R0..R-1
  0009  TEST      if not R2 then   -> -131061
  0010  JMP       (jump)   -> 17
  0011  GETTABLE  R3 = R0[K1('m_model')]
  0012  SELF      R4 = R3[K3('IsMaxLevel')] (self)
  0013  CALL      R3 = call(R3, 1 args, 1 rets)
  0014  TEST      if not R3 then   -> -131056
  0015  JMP       (jump)   -> 17
  0016  RETURN    return R0..R-1
  0017  SELF      R4 = R0[K4('_TryPlayCobwebUnlockAnim')] (self)
  0018  CALL      R3 = call(R3, 0 args, 1 rets)
  0019  RETURN    return R0..R-1
; ---------- proto35 [_OnCloseView] ----------
  ; fn ?  line 486-490 np=2 va=0 ms=4 code=13 consts=6 upvals=1 protos=0
  ;   K[0]='name'
  ;   K[1]='UIPrefabConfigName'
  ;   K[2]='ExtraBoardCompleteWindow'
  ;   K[3]='m_model'
  ;   K[4]='IsCobwebOpen'
  ;   K[5]='_TryPlayCobwebUnlockAnim'
  ;   upvals: _ENV
  ;   locals: self(0-13), msg(0-13)
  0000  GETTABLE  R2 = R1[K0('name')]
  0001  GETTABUP  R3 = _ENV[K1('UIPrefabConfigName')]
  0002  GETTABLE  R3 = R3[K2('ExtraBoardCompleteWindow')]
  0003  EQ        if R0 eq R3   -> -130040
  0004  JMP       (jump)   -> 12
  0005  GETTABLE  R2 = R0[K3('m_model')]
  0006  SELF      R3 = R2[K4('IsCobwebOpen')] (self)
  0007  CALL      R2 = call(R2, 1 args, 1 rets)
  0008  TEST      if not R2 then   -> -131062
  0009  JMP       (jump)   -> 12
  0010  SELF      R3 = R0[K5('_TryPlayCobwebUnlockAnim')] (self)
  0011  CALL      R2 = call(R2, 0 args, 1 rets)
  0012  RETURN    return R0..R-1
; ---------- proto36 [_TryPlayCobwebUnlockAnim] ----------
  ; fn ?  line 492-530 np=1 va=0 ms=15 code=91 consts=45 upvals=1 protos=1
  ;   K[0]='m_model'
  ;   K[1]='GetBoardModel'
  ;   K[2]='m_bFinishedAllCobweb'
  ;   K[3]='HasFinishedAllMainCobweb'
  ;   K[4]=true
  ;   K[5]='GM'
  ;   K[6]='UIManager'
  ;   K[7]='SetEventLock'
  ;   K[8]='m_bEventLocked'
  ;   K[9]='ModeViewController'
  ;   K[10]='GetExtraBoardActivityBoardView'
  ;   K[11]=nil
  ;   K[12]='UpdateCobwebItemVisible'
  ;   K[13]='SetCobwebBoxStartState'
  ;   K[14]='m_uncompleteLockRect'
  ;   K[15]='DOTween'
  ;   K[16]='Sequence'
  ;   K[17]='Insert'
  ;   K[18]=0
  ;   K[19]='DOShakeAnchorPos'
  ;   K[20]=0.5
  ;   K[21]=4
  ;   K[22]=20
  ;   K[23]=90
  ;   K[24]=0.35
  ;   K[25]='DOLocalMoveY'
  ;   K[26]='localPosition'
  ;   K[27]='y'
  ;   K[28]=0.05
  ;   K[29]='SetEase'
  ;   K[30]='Ease'
  ;   K[31]='OutQuart'
  ;   K[32]=0.4
  ;   K[33]=1500
  ;   K[34]='InQuart'
  ;   K[35]='m_uncompleteBgRect'
  ;   K[36]='DOAnchorPosY'
  ;   K[37]='OutCubic'
  ;   K[38]='InsertCallback'
  ;   K[39]=1
  ;   K[40]='m_completeSeq'
  ;   K[41]='EventDispatcher'
  ;   K[42]='DispatchEvent'
  ;   K[43]='EEventType'
  ;   K[44]='ExtraBoardCobwebUnlock'
  ;   upvals: _ENV
  ;   locals: self(0-91), boardModel(3-91), boardView(21-90), lockTrans(28-90), sequence(31-90)
  0000  GETTABLE  R1 = R0[K0('m_model')]
  0001  SELF      R2 = R1[K1('GetBoardModel')] (self)
  0002  CALL      R1 = call(R1, 1 args, 1 rets)
  0003  GETTABLE  R2 = R0[K2('m_bFinishedAllCobweb')]
  0004  TEST      if not R2 then   -> -131065
  0005  JMP       (jump)   -> 90
  0006  SELF      R3 = R1[K3('HasFinishedAllMainCobweb')] (self)
  0007  CALL      R2 = call(R2, 1 args, 1 rets)
  0008  TEST      if not R2 then   -> -131062
  0009  JMP       (jump)   -> 90
  0010  SETTABLE  R0[K2('m_bFinishedAllCobweb')] = K4(true)
  0011  GETTABUP  R2 = _ENV[K5('GM')]
  0012  GETTABLE  R2 = R2[K6('UIManager')]
  0013  SELF      R3 = R2[K7('SetEventLock')] (self)
  0014  LOADBOOL  R4 = true
  0015  CALL      R2 = call(R2, 0 args, 2 rets)
  0016  SETTABLE  R0[K8('m_bEventLocked')] = K4(true)
  0017  GETTABUP  R2 = _ENV[K5('GM')]
  0018  GETTABLE  R2 = R2[K9('ModeViewController')]
  0019  SELF      R3 = R2[K10('GetExtraBoardActivityBoardView')] (self)
  0020  CALL      R2 = call(R2, 1 args, 1 rets)
  0021  EQ        if R1 eq K11(nil)   -> -129758
  0022  JMP       (jump)   -> 27
  0023  SELF      R4 = R2[K12('UpdateCobwebItemVisible')] (self)
  0024  CALL      R3 = call(R3, 0 args, 1 rets)
  0025  SELF      R4 = R2[K13('SetCobwebBoxStartState')] (self)
  0026  CALL      R3 = call(R3, 0 args, 1 rets)
  0027  GETTABLE  R3 = R0[K14('m_uncompleteLockRect')]
  0028  GETTABUP  R4 = _ENV[K15('DOTween')]
  0029  GETTABLE  R4 = R4[K16('Sequence')]
  0030  CALL      R4 = call(R4, 1 args, 0 rets)
  0031  SELF      R6 = R4[K17('Insert')] (self)
  0032  LOADK     R7 = K18 0
  0033  SELF      R9 = R3[K19('DOShakeAnchorPos')] (self)
  0034  LOADK     R10 = K20 0.5
  0035  LOADK     R11 = K21 4
  0036  LOADK     R12 = K22 20
  0037  LOADK     R13 = K23 90
  0038  LOADBOOL  R14 = true
  0039  CALL      R8 = call(R8, -1 args, 6 rets)
  0040  CALL      R5 = call(R5, 0 args, -1 rets)
  0041  SELF      R6 = R4[K17('Insert')] (self)
  0042  LOADK     R7 = K24 0.35
  0043  SELF      R9 = R3[K25('DOLocalMoveY')] (self)
  0044  GETTABLE  R10 = R3[K26('localPosition')]
  0045  GETTABLE  R10 = R10[K27('y')]
  0046  ADD       R10 = K22(20) add R10
  0047  LOADK     R11 = K28 0.05
  0048  CALL      R8 = call(R8, 1 args, 3 rets)
  0049  SELF      R9 = R8[K29('SetEase')] (self)
  0050  GETTABUP  R10 = _ENV[K30('Ease')]
  0051  GETTABLE  R10 = R10[K31('OutQuart')]
  0052  CALL      R8 = call(R8, -1 args, 2 rets)
  0053  CALL      R5 = call(R5, 0 args, -1 rets)
  0054  SELF      R6 = R4[K17('Insert')] (self)
  0055  LOADK     R7 = K32 0.4
  0056  SELF      R9 = R3[K25('DOLocalMoveY')] (self)
  0057  GETTABLE  R10 = R3[K26('localPosition')]
  0058  GETTABLE  R10 = R10[K27('y')]
  0059  SUB       R10 = K33(1500) sub R10
  0060  LOADK     R11 = K20 0.5
  0061  CALL      R8 = call(R8, 1 args, 3 rets)
  0062  SELF      R9 = R8[K29('SetEase')] (self)
  0063  GETTABUP  R10 = _ENV[K30('Ease')]
  0064  GETTABLE  R10 = R10[K34('InQuart')]
  0065  CALL      R8 = call(R8, -1 args, 2 rets)
  0066  CALL      R5 = call(R5, 0 args, -1 rets)
  0067  SELF      R6 = R4[K17('Insert')] (self)
  0068  LOADK     R7 = K20 0.5
  0069  GETTABLE  R8 = R0[K35('m_uncompleteBgRect')]
  0070  SELF      R9 = R8[K36('DOAnchorPosY')] (self)
  0071  LOADK     R10 = K18 0
  0072  LOADK     R11 = K20 0.5
  0073  CALL      R8 = call(R8, 1 args, 3 rets)
  0074  SELF      R9 = R8[K29('SetEase')] (self)
  0075  GETTABUP  R10 = _ENV[K30('Ease')]
  0076  GETTABLE  R10 = R10[K37('OutCubic')]
  0077  CALL      R8 = call(R8, -1 args, 2 rets)
  0078  CALL      R5 = call(R5, 0 args, -1 rets)
  0079  SELF      R6 = R4[K38('InsertCallback')] (self)
  0080  LOADK     R7 = K39 1
  0081  CLOSURE   R8 = closure proto0
  0082  CALL      R5 = call(R5, 0 args, 3 rets)
  0083  SETTABLE  R0[K40('m_completeSeq')] = R4
  0084  GETTABUP  R5 = _ENV[K41('EventDispatcher')]
  0085  GETTABLE  R5 = R5[K42('DispatchEvent')]
  0086  GETTABUP  R6 = _ENV[K43('EEventType')]
  0087  GETTABLE  R6 = R6[K44('ExtraBoardCobwebUnlock')]
  0088  CALL      R5 = call(R5, 0 args, 1 rets)
  0089  JMP       (jump)   -> 90
  0090  RETURN    return R0..R-1
  ; ---------- proto0 [m_completeSeq] ----------
    ; fn ?  line 516-524 np=0 va=0 ms=3 code=17 consts=9 upvals=3 protos=0
    ;   K[0]='m_bEventLocked'
    ;   K[1]=false
    ;   K[2]='GM'
    ;   K[3]='UIManager'
    ;   K[4]='SetEventLock'
    ;   K[5]='m_completeSeq'
    ;   K[6]=nil
    ;   K[7]='UpdateCobwebContent'
    ;   K[8]='PlayCobwebBoxAnim'
    ;   upvals: self, _ENV, boardView
    0000  SETTABUP  self[K0('m_bEventLocked')] = K1(false)
    0001  GETTABUP  R0 = _ENV[K2('GM')]
    0002  GETTABLE  R0 = R0[K3('UIManager')]
    0003  SELF      R1 = R0[K4('SetEventLock')] (self)
    0004  LOADBOOL  R2 = false
    0005  CALL      R0 = call(R0, 0 args, 2 rets)
    0006  SETTABUP  self[K5('m_completeSeq')] = K6(nil)
    0007  GETUPVAL  R0 = self
    0008  SELF      R1 = R0[K7('UpdateCobwebContent')] (self)
    0009  CALL      R0 = call(R0, 0 args, 1 rets)
    0010  GETUPVAL  R0 = self
    0011  EQ        if R1 eq K6(nil)   -> -130797
    0012  JMP       (jump)   -> 16
    0013  GETUPVAL  R0 = self
    0014  SELF      R1 = R0[K8('PlayCobwebBoxAnim')] (self)
    0015  CALL      R0 = call(R0, 0 args, 1 rets)
    0016  RETURN    return R0..R-1
; ---------- proto37 [PlayConveyBeltAnim] ----------
  ; fn ?  line 533-586 np=7 va=0 ms=18 code=159 consts=26 upvals=1 protos=1
  ;   K[0]='m_arrowRect1'
  ;   K[1]='sizeDelta'
  ;   K[2]='x'
  ;   K[3]='UIUtil'
  ;   K[4]='SetAnchoredPosition'
  ;   K[5]=0
  ;   K[6]='m_arrowRect2'
  ;   K[7]='GM'
  ;   K[8]='UIManager'
  ;   K[9]='SetEventLock'
  ;   K[10]='m_bEventLocked'
  ;   K[11]=true
  ;   K[12]='DOTween'
  ;   K[13]='Sequence'
  ;   K[14]='table'
  ;   K[15]='insert'
  ;   K[16]='localPosition'
  ;   K[17]='AppendInterval'
  ;   K[18]='Append'
  ;   K[19]='DOAnchorPosX'
  ;   K[20]='SetEase'
  ;   K[21]='Ease'
  ;   K[22]='InOutSine'
  ;   K[23]='Join'
  ;   K[24]='AppendCallback'
  ;   K[25]='m_beltSeq'
  ;   upvals: _ENV
  ;   locals: self(0-159), interval(0-159), animTime1(0-159), animTime2(0-159), animTime3(0-159), forwardDis(0-159), behindDis(0-159), width(3-159), seq(22-159), arrPath1(23-159), arrPath2(24-159), rect(25-159)
  0000  GETTABLE  R7 = R0[K0('m_arrowRect1')]
  0001  GETTABLE  R7 = R7[K1('sizeDelta')]
  0002  GETTABLE  R7 = R7[K2('x')]
  0003  GETTABUP  R8 = _ENV[K3('UIUtil')]
  0004  GETTABLE  R8 = R8[K4('SetAnchoredPosition')]
  0005  GETTABLE  R9 = R0[K0('m_arrowRect1')]
  0006  LOADK     R10 = K5 0
  0007  CALL      R8 = call(R8, 0 args, 2 rets)
  0008  GETTABUP  R8 = _ENV[K3('UIUtil')]
  0009  GETTABLE  R8 = R8[K4('SetAnchoredPosition')]
  0010  GETTABLE  R9 = R0[K6('m_arrowRect2')]
  0011  UNM       R10 = unm R0
  0012  CALL      R8 = call(R8, 0 args, 2 rets)
  0013  GETTABUP  R8 = _ENV[K7('GM')]
  0014  GETTABLE  R8 = R8[K8('UIManager')]
  0015  SELF      R9 = R8[K9('SetEventLock')] (self)
  0016  LOADBOOL  R10 = true
  0017  CALL      R8 = call(R8, 0 args, 2 rets)
  0018  SETTABLE  R0[K10('m_bEventLocked')] = K11(true)
  0019  GETTABUP  R8 = _ENV[K12('DOTween')]
  0020  GETTABLE  R8 = R8[K13('Sequence')]
  0021  CALL      R8 = call(R8, 1 args, 0 rets)
  0022  NEWTABLE  R9 = {} (0 items)
  0023  NEWTABLE  R10 = {} (0 items)
  0024  GETTABLE  R11 = R0[K0('m_arrowRect1')]
  0025  GETTABUP  R12 = _ENV[K3('UIUtil')]
  0026  GETTABLE  R12 = R12[K4('SetAnchoredPosition')]
  0027  MOVE      R13 = R0
  0028  ADD       R14 = R5 add R7
  0029  CALL      R12 = call(R12, 0 args, 2 rets)
  0030  GETTABUP  R12 = _ENV[K14('table')]
  0031  GETTABLE  R12 = R12[K15('insert')]
  0032  MOVE      R13 = R0
  0033  GETTABLE  R14 = R11[K16('localPosition')]
  0034  CALL      R12 = call(R12, 0 args, 2 rets)
  0035  GETTABUP  R12 = _ENV[K3('UIUtil')]
  0036  GETTABLE  R12 = R12[K4('SetAnchoredPosition')]
  0037  MOVE      R13 = R0
  0038  ADD       R14 = R6 add R7
  0039  CALL      R12 = call(R12, 0 args, 2 rets)
  0040  GETTABUP  R12 = _ENV[K14('table')]
  0041  GETTABLE  R12 = R12[K15('insert')]
  0042  MOVE      R13 = R0
  0043  GETTABLE  R14 = R11[K16('localPosition')]
  0044  CALL      R12 = call(R12, 0 args, 2 rets)
  0045  GETTABUP  R12 = _ENV[K3('UIUtil')]
  0046  GETTABLE  R12 = R12[K4('SetAnchoredPosition')]
  0047  MOVE      R13 = R0
  0048  MOVE      R14 = R0
  0049  CALL      R12 = call(R12, 0 args, 2 rets)
  0050  GETTABUP  R12 = _ENV[K14('table')]
  0051  GETTABLE  R12 = R12[K15('insert')]
  0052  MOVE      R13 = R0
  0053  GETTABLE  R14 = R11[K16('localPosition')]
  0054  CALL      R12 = call(R12, 0 args, 2 rets)
  0055  GETTABUP  R12 = _ENV[K3('UIUtil')]
  0056  GETTABLE  R12 = R12[K4('SetAnchoredPosition')]
  0057  MOVE      R13 = R0
  0058  MOVE      R14 = R0
  0059  CALL      R12 = call(R12, 0 args, 2 rets)
  0060  GETTABUP  R12 = _ENV[K14('table')]
  0061  GETTABLE  R12 = R12[K15('insert')]
  0062  MOVE      R13 = R0
  0063  GETTABLE  R14 = R11[K16('localPosition')]
  0064  CALL      R12 = call(R12, 0 args, 2 rets)
  0065  GETTABUP  R12 = _ENV[K3('UIUtil')]
  0066  GETTABLE  R12 = R12[K4('SetAnchoredPosition')]
  0067  MOVE      R13 = R0
  0068  MOVE      R14 = R0
  0069  CALL      R12 = call(R12, 0 args, 2 rets)
  0070  GETTABUP  R12 = _ENV[K14('table')]
  0071  GETTABLE  R12 = R12[K15('insert')]
  0072  MOVE      R13 = R0
  0073  GETTABLE  R14 = R11[K16('localPosition')]
  0074  CALL      R12 = call(R12, 0 args, 2 rets)
  0075  GETTABUP  R12 = _ENV[K3('UIUtil')]
  0076  GETTABLE  R12 = R12[K4('SetAnchoredPosition')]
  0077  MOVE      R13 = R0
  0078  LOADK     R14 = K5 0
  0079  CALL      R12 = call(R12, 0 args, 2 rets)
  0080  GETTABUP  R12 = _ENV[K14('table')]
  0081  GETTABLE  R12 = R12[K15('insert')]
  0082  MOVE      R13 = R0
  0083  GETTABLE  R14 = R11[K16('localPosition')]
  0084  CALL      R12 = call(R12, 0 args, 2 rets)
  0085  SELF      R13 = R8[K17('AppendInterval')] (self)
  0086  MOVE      R14 = R0
  0087  CALL      R12 = call(R12, 0 args, 2 rets)
  0088  SELF      R13 = R8[K18('Append')] (self)
  0089  GETTABLE  R14 = R0[K0('m_arrowRect1')]
  0090  SELF      R15 = R14[K19('DOAnchorPosX')] (self)
  0091  ADD       R16 = R5 add R7
  0092  MOVE      R17 = R0
  0093  CALL      R14 = call(R14, 1 args, 3 rets)
  0094  SELF      R15 = R14[K20('SetEase')] (self)
  0095  GETTABUP  R16 = _ENV[K21('Ease')]
  0096  GETTABLE  R16 = R16[K22('InOutSine')]
  0097  CALL      R14 = call(R14, -1 args, 2 rets)
  0098  CALL      R12 = call(R12, 0 args, -1 rets)
  0099  SELF      R13 = R8[K23('Join')] (self)
  0100  GETTABLE  R14 = R0[K6('m_arrowRect2')]
  0101  SELF      R15 = R14[K19('DOAnchorPosX')] (self)
  0102  MOVE      R16 = R0
  0103  MOVE      R17 = R0
  0104  CALL      R14 = call(R14, 1 args, 3 rets)
  0105  SELF      R15 = R14[K20('SetEase')] (self)
  0106  GETTABUP  R16 = _ENV[K21('Ease')]
  0107  GETTABLE  R16 = R16[K22('InOutSine')]
  0108  CALL      R14 = call(R14, -1 args, 2 rets)
  0109  CALL      R12 = call(R12, 0 args, -1 rets)
  0110  SELF      R13 = R8[K18('Append')] (self)
  0111  GETTABLE  R14 = R0[K0('m_arrowRect1')]
  0112  SELF      R15 = R14[K19('DOAnchorPosX')] (self)
  0113  ADD       R16 = R6 add R7
  0114  MOVE      R17 = R0
  0115  CALL      R14 = call(R14, 1 args, 3 rets)
  0116  SELF      R15 = R14[K20('SetEase')] (self)
  0117  GETTABUP  R16 = _ENV[K21('Ease')]
  0118  GETTABLE  R16 = R16[K22('InOutSine')]
  0119  CALL      R14 = call(R14, -1 args, 2 rets)
  0120  CALL      R12 = call(R12, 0 args, -1 rets)
  0121  SELF      R13 = R8[K23('Join')] (self)
  0122  GETTABLE  R14 = R0[K6('m_arrowRect2')]
  0123  SELF      R15 = R14[K19('DOAnchorPosX')] (self)
  0124  MOVE      R16 = R0
  0125  MOVE      R17 = R0
  0126  CALL      R14 = call(R14, 1 args, 3 rets)
  0127  SELF      R15 = R14[K20('SetEase')] (self)
  0128  GETTABUP  R16 = _ENV[K21('Ease')]
  0129  GETTABLE  R16 = R16[K22('InOutSine')]
  0130  CALL      R14 = call(R14, -1 args, 2 rets)
  0131  CALL      R12 = call(R12, 0 args, -1 rets)
  0132  SELF      R13 = R8[K18('Append')] (self)
  0133  GETTABLE  R14 = R0[K0('m_arrowRect1')]
  0134  SELF      R15 = R14[K19('DOAnchorPosX')] (self)
  0135  MOVE      R16 = R0
  0136  MOVE      R17 = R0
  0137  CALL      R14 = call(R14, 1 args, 3 rets)
  0138  SELF      R15 = R14[K20('SetEase')] (self)
  0139  GETTABUP  R16 = _ENV[K21('Ease')]
  0140  GETTABLE  R16 = R16[K22('InOutSine')]
  0141  CALL      R14 = call(R14, -1 args, 2 rets)
  0142  CALL      R12 = call(R12, 0 args, -1 rets)
  0143  SELF      R13 = R8[K23('Join')] (self)
  0144  GETTABLE  R14 = R0[K6('m_arrowRect2')]
  0145  SELF      R15 = R14[K19('DOAnchorPosX')] (self)
  0146  LOADK     R16 = K5 0
  0147  MOVE      R17 = R0
  0148  CALL      R14 = call(R14, 1 args, 3 rets)
  0149  SELF      R15 = R14[K20('SetEase')] (self)
  0150  GETTABUP  R16 = _ENV[K21('Ease')]
  0151  GETTABLE  R16 = R16[K22('InOutSine')]
  0152  CALL      R14 = call(R14, -1 args, 2 rets)
  0153  CALL      R12 = call(R12, 0 args, -1 rets)
  0154  SELF      R13 = R8[K24('AppendCallback')] (self)
  0155  CLOSURE   R14 = closure proto0
  0156  CALL      R12 = call(R12, 0 args, 2 rets)
  0157  SETTABLE  R0[K25('m_beltSeq')] = R8
  0158  RETURN    return R0..R-1
  ; ---------- proto0 [m_beltSeq] ----------
    ; fn ?  line 577-583 np=0 va=0 ms=3 code=19 consts=12 upvals=3 protos=0
    ;   K[0]='m_bEventLocked'
    ;   K[1]=false
    ;   K[2]='GM'
    ;   K[3]='UIManager'
    ;   K[4]='SetEventLock'
    ;   K[5]='m_beltSeq'
    ;   K[6]=nil
    ;   K[7]='UIUtil'
    ;   K[8]='SetAnchoredPosition'
    ;   K[9]='m_arrowRect1'
    ;   K[10]=0
    ;   K[11]='m_arrowRect2'
    ;   upvals: self, _ENV, width
    0000  SETTABUP  self[K0('m_bEventLocked')] = K1(false)
    0001  GETTABUP  R0 = _ENV[K2('GM')]
    0002  GETTABLE  R0 = R0[K3('UIManager')]
    0003  SELF      R1 = R0[K4('SetEventLock')] (self)
    0004  LOADBOOL  R2 = false
    0005  CALL      R0 = call(R0, 0 args, 2 rets)
    0006  SETTABUP  self[K5('m_beltSeq')] = K6(nil)
    0007  GETTABUP  R0 = _ENV[K7('UIUtil')]
    0008  GETTABLE  R0 = R0[K8('SetAnchoredPosition')]
    0009  GETTABUP  R1 = self[K9('m_arrowRect1')]
    0010  LOADK     R2 = K10 0
    0011  CALL      R0 = call(R0, 0 args, 2 rets)
    0012  GETTABUP  R0 = _ENV[K7('UIUtil')]
    0013  GETTABLE  R0 = R0[K8('SetAnchoredPosition')]
    0014  GETTABUP  R1 = self[K11('m_arrowRect2')]
    0015  GETUPVAL  R2 = self
    0016  UNM       R2 = unm R0
    0017  CALL      R0 = call(R0, 0 args, 2 rets)
    0018  RETURN    return R0..R-1
; ---------- proto38 [EnterNextCobwebRound] ----------
  ; fn ?  line 588-607 np=1 va=0 ms=6 code=7 consts=2 upvals=1 protos=1
  ;   K[0]='DelayExecuteFuncInView'
  ;   K[1]=1
  ;   upvals: _ENV
  ;   locals: self(0-7)
  0000  GETTABUP  R1 = _ENV[K0('DelayExecuteFuncInView')]
  0001  CLOSURE   R2 = closure proto0
  0002  LOADK     R3 = K1 1
  0003  MOVE      R4 = R0
  0004  LOADBOOL  R5 = true
  0005  CALL      R1 = call(R1, 0 args, 4 rets)
  0006  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 590-606 np=0 va=0 ms=15 code=28 consts=11 upvals=2 protos=0
    ;   K[0]=0.4
    ;   K[1]=0.6
    ;   K[2]=0.3
    ;   K[3]=0.2
    ;   K[4]=50
    ;   K[5]=-25
    ;   K[6]='PlayConveyBeltAnim'
    ;   K[7]='GM'
    ;   K[8]='ModeViewController'
    ;   K[9]='GetExtraBoardActivityBoardView'
    ;   K[10]='EnterNextCobwebRound'
    ;   upvals: self, _ENV
    ;   locals: interval(1-28), animTime1(2-28), animTime2(3-28), animTime3(4-28), forwardDis(5-28), behindDis(6-28), boardView(19-28)
    0000  LOADK     R0 = K0 0.4
    0001  LOADK     R1 = K1 0.6
    0002  LOADK     R2 = K2 0.3
    0003  LOADK     R3 = K3 0.2
    0004  LOADK     R4 = K4 50
    0005  LOADK     R5 = K5 -25
    0006  GETUPVAL  R6 = self
    0007  SELF      R7 = R6[K6('PlayConveyBeltAnim')] (self)
    0008  MOVE      R8 = R0
    0009  MOVE      R9 = R0
    0010  MOVE      R10 = R0
    0011  MOVE      R11 = R0
    0012  MOVE      R12 = R0
    0013  MOVE      R13 = R0
    0014  CALL      R6 = call(R6, 0 args, 7 rets)
    0015  GETTABUP  R6 = _ENV[K7('GM')]
    0016  GETTABLE  R6 = R6[K8('ModeViewController')]
    0017  SELF      R7 = R6[K9('GetExtraBoardActivityBoardView')] (self)
    0018  CALL      R6 = call(R6, 1 args, 1 rets)
    0019  SELF      R8 = R6[K10('EnterNextCobwebRound')] (self)
    0020  MOVE      R9 = R0
    0021  MOVE      R10 = R0
    0022  MOVE      R11 = R0
    0023  MOVE      R12 = R0
    0024  MOVE      R13 = R0
    0025  MOVE      R14 = R0
    0026  CALL      R7 = call(R7, 0 args, 7 rets)
    0027  RETURN    return R0..R-1
; ---------- proto39 [GetCobwebBgRect] ----------
  ; fn ?  line 609-611 np=1 va=0 ms=2 code=3 consts=1 upvals=0 protos=0
  ;   K[0]='m_cobwebBgRect'
  ;   locals: self(0-3)
  0000  GETTABLE  R1 = R0[K0('m_cobwebBgRect')]
  0001  RETURN    return R1..R0
  0002  RETURN    return R0..R-1
; ---------- proto40 [GetBoardHighlightRoot] ----------
  ; fn ?  line 613-615 np=1 va=0 ms=2 code=3 consts=1 upvals=0 protos=0
  ;   K[0]='m_boardHighlightRoot'
  ;   locals: self(0-3)
  0000  GETTABLE  R1 = R0[K0('m_boardHighlightRoot')]
  0001  RETURN    return R1..R0
  0002  RETURN    return R0..R-1
; ---------- proto41 [GetCacheRootHudButton] ----------
  ; fn ?  line 617-619 np=1 va=0 ms=2 code=3 consts=1 upvals=0 protos=0
  ;   K[0]='m_cacheRootHudButton'
  ;   locals: self(0-3)
  0000  GETTABLE  R1 = R0[K0('m_cacheRootHudButton')]
  0001  RETURN    return R1..R0
  0002  RETURN    return R0..R-1
; ---------- proto42 [GetCacheRootUIPosition] ----------
  ; fn ?  line 621-639 np=1 va=0 ms=6 code=41 consts=18 upvals=1 protos=0
  ;   K[0]='m_model'
  ;   K[1]='IsTokenMode'
  ;   K[2]='UIUtil'
  ;   K[3]='IsEmptyComponent'
  ;   K[4]='m_consumeButton'
  ;   K[5]='Log'
  ;   K[6]='Error'
  ;   K[7]='本届小棋盘不支持积分模式'
  ;   K[8]='transform'
  ;   K[9]='position'
  ;   K[10]='GM'
  ;   K[11]='ModeViewController'
  ;   K[12]='GetExtraBoardActivityBoardView'
  ;   K[13]='GetCacheRoot'
  ;   K[14]='GetFlyTargetPosition'
  ;   K[15]='ConvertWorldPositionToScreenPosition'
  ;   K[16]='PositionUtil'
  ;   K[17]='UICameraScreen2World'
  ;   upvals: _ENV
  ;   locals: self(0-41), boardView(24-41), worldPosition(32-41), screenPosition(35-41), uiWorldPosition(39-41)
  0000  GETTABLE  R1 = R0[K0('m_model')]
  0001  SELF      R2 = R1[K1('IsTokenMode')] (self)
  0002  CALL      R1 = call(R1, 1 args, 1 rets)
  0003  TEST      if not R1 then   -> -131067
  0004  JMP       (jump)   -> 20
  0005  GETTABUP  R1 = _ENV[K2('UIUtil')]
  0006  GETTABLE  R1 = R1[K3('IsEmptyComponent')]
  0007  GETTABLE  R2 = R0[K4('m_consumeButton')]
  0008  CALL      R1 = call(R1, 1 args, 1 rets)
  0009  TEST      if not R1 then   -> -131061
  0010  JMP       (jump)   -> 16
  0011  GETTABUP  R1 = _ENV[K5('Log')]
  0012  GETTABLE  R1 = R1[K6('Error')]
  0013  LOADK     R2 = K7 '本届小棋盘不支持积分模式'
  0014  CALL      R1 = call(R1, 0 args, 1 rets)
  0015  JMP       (jump)   -> 20
  0016  GETTABLE  R1 = R0[K4('m_consumeButton')]
  0017  GETTABLE  R1 = R1[K8('transform')]
  0018  GETTABLE  R1 = R1[K9('position')]
  0019  RETURN    return R1..R0
  0020  GETTABUP  R1 = _ENV[K10('GM')]
  0021  GETTABLE  R1 = R1[K11('ModeViewController')]
  0022  SELF      R2 = R1[K12('GetExtraBoardActivityBoardView')] (self)
  0023  CALL      R1 = call(R1, 1 args, 1 rets)
  0024  TEST      if not R1 then   -> -131045
  0025  JMP       (jump)   -> 28
  0026  LOADNIL   R2..R2 = nil
  0027  RETURN    return R2..R1
  0028  SELF      R3 = R1[K13('GetCacheRoot')] (self)
  0029  CALL      R2 = call(R2, 1 args, 1 rets)
  0030  SELF      R3 = R2[K14('GetFlyTargetPosition')] (self)
  0031  CALL      R2 = call(R2, 1 args, 1 rets)
  0032  SELF      R4 = R1[K15('ConvertWorldPositionToScreenPosition')] (self)
  0033  MOVE      R5 = R0
  0034  CALL      R3 = call(R3, 1 args, 2 rets)
  0035  GETTABUP  R4 = _ENV[K16('PositionUtil')]
  0036  GETTABLE  R4 = R4[K17('UICameraScreen2World')]
  0037  MOVE      R5 = R0
  0038  CALL      R4 = call(R4, 1 args, 1 rets)
  0039  RETURN    return R4..R3
  0040  RETURN    return R0..R-1
; ---------- proto43 [Init] ----------
  ; fn ?  line 646-648 np=2 va=0 ms=2 code=2 consts=1 upvals=0 protos=0
  ;   K[0]='m_window'
  ;   locals: self(0-2), window(0-2)
  0000  SETTABLE  R0[K0('m_window')] = R1
  0001  RETURN    return R0..R-1
; ---------- proto44 [GetFlyTargetPosition] ----------
  ; fn ?  line 650-656 np=1 va=0 ms=3 code=10 consts=3 upvals=1 protos=0
  ;   K[0]='m_window'
  ;   K[1]='V3Zero'
  ;   K[2]='GetCacheRootUIPosition'
  ;   upvals: _ENV
  ;   locals: self(0-10)
  0000  GETTABLE  R1 = R0[K0('m_window')]
  0001  TEST      if not R1 then   -> -131068
  0002  JMP       (jump)   -> 5
  0003  GETTABUP  R1 = _ENV[K1('V3Zero')]
  0004  RETURN    return R1..R0
  0005  GETTABLE  R1 = R0[K0('m_window')]
  0006  SELF      R2 = R1[K2('GetCacheRootUIPosition')] (self)
  0007  TAILCALL  tailcall(R1, 0)
  0008  RETURN    return R1..R0
  0009  RETURN    return R0..R-1
