# UI_Window_UIBoardIllustrated_BaseUIItemIllustratedBookWindow_751.luac
; fn @BaseUIItemIllustratedBookWindow.lua  line 0-0 np=0 va=1 ms=9 code=133 consts=46 upvals=1 protos=35
;   K[0]='BaseUIItemIllustratedBookWindow'
;   K[1]='setmetatable'
;   K[2]='canClickWindowMask'
;   K[3]=true
;   K[4]='BaseWindow'
;   K[5]='__index'
;   K[6]=0.4
;   K[7]='Init'
;   K[8]='OnDestroy'
;   K[9]='AddEventListener'
;   K[10]='RemoveEventListener'
;   K[11]='_TryMove'
;   K[12]='OnCloseView'
;   K[13]='_AddTween'
;   K[14]='_OnListItemByIndex'
;   K[15]='GetCanRewardCell'
;   K[16]='_UpdateListViewHeight'
;   K[17]='_MoveTo'
;   K[18]='MoveChainRewardItemVisible'
;   K[19]='OnTestUnlockClick'
;   K[20]='RefreshAllShownItem'
;   K[21]='UpdateRewardLayout'
;   K[22]='UpdateProgressSlider'
;   K[23]='UpdateProgressReward'
;   K[24]='OnRewardBoxClicked'
;   K[25]='OnCloseBtnClick'
;   K[26]='PlayFinalRewardAnim'
;   K[27]='BaseUIItemBookChain'
;   K[28]='Init'
;   K[29]='OnDestroy'
;   K[30]='GetPosY'
;   K[31]='GetHeight'
;   K[32]='GetCellTb'
;   K[33]='PlayChainRewardAnim'
;   K[34]='BaseUIItemBookCell'
;   K[35]='CSColor'
;   K[36]='white'
;   K[37]=1
;   K[38]=0.4
;   K[39]='Init'
;   K[40]='_ShowNumberTip'
;   K[41]='_TryCreateBoxAnimation'
;   K[42]='StopBoxAnimation'
;   K[43]='OnClickDetail'
;   K[44]='OnClickBox'
;   K[45]='GetState'
;   upvals: _ENV
;   locals: getChainHeight(10-133), lastClickId(11-133), MOVE_CONTAINER_TWEEN_DURATION(12-133), white(102-133), transparent(108-133)
0000  GETTABUP  R0 = _ENV[K1('setmetatable')]
0001  NEWTABLE  R1 = {} (0 items)
0002  SETTABLE  R1[K2('canClickWindowMask')] = K3(true)
0003  GETTABUP  R2 = _ENV[K4('BaseWindow')]
0004  CALL      R0 = call(R0, 1 args, 2 rets)
0005  SETTABUP  _ENV[K0('BaseUIItemIllustratedBookWindow')] = R0
0006  GETTABUP  R0 = _ENV[K0('BaseUIItemIllustratedBookWindow')]
0007  GETTABUP  R1 = _ENV[K0('BaseUIItemIllustratedBookWindow')]
0008  SETTABLE  R0[K5('__index')] = R1
0009  CLOSURE   R0 = closure proto0
0010  LOADNIL   R1..R1 = nil
0011  LOADK     R2 = K6 0.4
0012  GETTABUP  R3 = _ENV[K0('BaseUIItemIllustratedBookWindow')]
0013  CLOSURE   R4 = closure proto1
0014  SETTABLE  R3[K7('Init')] = R4
0015  GETTABUP  R3 = _ENV[K0('BaseUIItemIllustratedBookWindow')]
0016  CLOSURE   R4 = closure proto2
0017  SETTABLE  R3[K8('OnDestroy')] = R4
0018  GETTABUP  R3 = _ENV[K0('BaseUIItemIllustratedBookWindow')]
0019  CLOSURE   R4 = closure proto3
0020  SETTABLE  R3[K9('AddEventListener')] = R4
0021  GETTABUP  R3 = _ENV[K0('BaseUIItemIllustratedBookWindow')]
0022  CLOSURE   R4 = closure proto4
0023  SETTABLE  R3[K10('RemoveEventListener')] = R4
0024  GETTABUP  R3 = _ENV[K0('BaseUIItemIllustratedBookWindow')]
0025  CLOSURE   R4 = closure proto5
0026  SETTABLE  R3[K11('_TryMove')] = R4
0027  GETTABUP  R3 = _ENV[K0('BaseUIItemIllustratedBookWindow')]
0028  CLOSURE   R4 = closure proto6
0029  SETTABLE  R3[K12('OnCloseView')] = R4
0030  GETTABUP  R3 = _ENV[K0('BaseUIItemIllustratedBookWindow')]
0031  CLOSURE   R4 = closure proto7
0032  SETTABLE  R3[K13('_AddTween')] = R4
0033  GETTABUP  R3 = _ENV[K0('BaseUIItemIllustratedBookWindow')]
0034  CLOSURE   R4 = closure proto8
0035  SETTABLE  R3[K14('_OnListItemByIndex')] = R4
0036  GETTABUP  R3 = _ENV[K0('BaseUIItemIllustratedBookWindow')]
0037  CLOSURE   R4 = closure proto9
0038  SETTABLE  R3[K15('GetCanRewardCell')] = R4
0039  GETTABUP  R3 = _ENV[K0('BaseUIItemIllustratedBookWindow')]
0040  CLOSURE   R4 = closure proto10
0041  SETTABLE  R3[K16('_UpdateListViewHeight')] = R4
0042  GETTABUP  R3 = _ENV[K0('BaseUIItemIllustratedBookWindow')]
0043  CLOSURE   R4 = closure proto11
0044  SETTABLE  R3[K17('_MoveTo')] = R4
0045  GETTABUP  R3 = _ENV[K0('BaseUIItemIllustratedBookWindow')]
0046  CLOSURE   R4 = closure proto12
0047  SETTABLE  R3[K18('MoveChainRewardItemVisible')] = R4
0048  GETTABUP  R3 = _ENV[K0('BaseUIItemIllustratedBookWindow')]
0049  CLOSURE   R4 = closure proto13
0050  SETTABLE  R3[K19('OnTestUnlockClick')] = R4
0051  GETTABUP  R3 = _ENV[K0('BaseUIItemIllustratedBookWindow')]
0052  CLOSURE   R4 = closure proto14
0053  SETTABLE  R3[K20('RefreshAllShownItem')] = R4
0054  GETTABUP  R3 = _ENV[K0('BaseUIItemIllustratedBookWindow')]
0055  CLOSURE   R4 = closure proto15
0056  SETTABLE  R3[K21('UpdateRewardLayout')] = R4
0057  GETTABUP  R3 = _ENV[K0('BaseUIItemIllustratedBookWindow')]
0058  CLOSURE   R4 = closure proto16
0059  SETTABLE  R3[K22('UpdateProgressSlider')] = R4
0060  GETTABUP  R3 = _ENV[K0('BaseUIItemIllustratedBookWindow')]
0061  CLOSURE   R4 = closure proto17
0062  SETTABLE  R3[K23('UpdateProgressReward')] = R4
0063  GETTABUP  R3 = _ENV[K0('BaseUIItemIllustratedBookWindow')]
0064  CLOSURE   R4 = closure proto18
0065  SETTABLE  R3[K24('OnRewardBoxClicked')] = R4
0066  GETTABUP  R3 = _ENV[K0('BaseUIItemIllustratedBookWindow')]
0067  CLOSURE   R4 = closure proto19
0068  SETTABLE  R3[K25('OnCloseBtnClick')] = R4
0069  GETTABUP  R3 = _ENV[K0('BaseUIItemIllustratedBookWindow')]
0070  CLOSURE   R4 = closure proto20
0071  SETTABLE  R3[K26('PlayFinalRewardAnim')] = R4
0072  NEWTABLE  R3 = {} (0 items)
0073  SETTABUP  _ENV[K27('BaseUIItemBookChain')] = R3
0074  GETTABUP  R3 = _ENV[K27('BaseUIItemBookChain')]
0075  GETTABUP  R4 = _ENV[K27('BaseUIItemBookChain')]
0076  SETTABLE  R3[K5('__index')] = R4
0077  GETTABUP  R3 = _ENV[K27('BaseUIItemBookChain')]
0078  CLOSURE   R4 = closure proto21
0079  SETTABLE  R3[K28('Init')] = R4
0080  GETTABUP  R3 = _ENV[K27('BaseUIItemBookChain')]
0081  CLOSURE   R4 = closure proto22
0082  SETTABLE  R3[K29('OnDestroy')] = R4
0083  GETTABUP  R3 = _ENV[K27('BaseUIItemBookChain')]
0084  CLOSURE   R4 = closure proto23
0085  SETTABLE  R3[K30('GetPosY')] = R4
0086  GETTABUP  R3 = _ENV[K27('BaseUIItemBookChain')]
0087  CLOSURE   R4 = closure proto24
0088  SETTABLE  R3[K31('GetHeight')] = R4
0089  GETTABUP  R3 = _ENV[K27('BaseUIItemBookChain')]
0090  CLOSURE   R4 = closure proto25
0091  SETTABLE  R3[K32('GetCellTb')] = R4
0092  GETTABUP  R3 = _ENV[K27('BaseUIItemBookChain')]
0093  CLOSURE   R4 = closure proto26
0094  SETTABLE  R3[K33('PlayChainRewardAnim')] = R4
0095  NEWTABLE  R3 = {} (0 items)
0096  SETTABUP  _ENV[K34('BaseUIItemBookCell')] = R3
0097  GETTABUP  R3 = _ENV[K34('BaseUIItemBookCell')]
0098  GETTABUP  R4 = _ENV[K34('BaseUIItemBookCell')]
0099  SETTABLE  R3[K5('__index')] = R4
0100  GETTABUP  R3 = _ENV[K35('CSColor')]
0101  GETTABLE  R3 = R3[K36('white')]
0102  GETTABUP  R4 = _ENV[K35('CSColor')]
0103  LOADK     R5 = K37 1
0104  LOADK     R6 = K37 1
0105  LOADK     R7 = K37 1
0106  LOADK     R8 = K38 0.4
0107  CALL      R4 = call(R4, 1 args, 4 rets)
0108  GETTABUP  R5 = _ENV[K34('BaseUIItemBookCell')]
0109  CLOSURE   R6 = closure proto27
0110  SETTABLE  R5[K39('Init')] = R6
0111  GETTABUP  R5 = _ENV[K34('BaseUIItemBookCell')]
0112  CLOSURE   R6 = closure proto28
0113  SETTABLE  R5[K40('_ShowNumberTip')] = R6
0114  GETTABUP  R5 = _ENV[K34('BaseUIItemBookCell')]
0115  CLOSURE   R6 = closure proto29
0116  SETTABLE  R5[K29('OnDestroy')] = R6
0117  GETTABUP  R5 = _ENV[K34('BaseUIItemBookCell')]
0118  CLOSURE   R6 = closure proto30
0119  SETTABLE  R5[K41('_TryCreateBoxAnimation')] = R6
0120  GETTABUP  R5 = _ENV[K34('BaseUIItemBookCell')]
0121  CLOSURE   R6 = closure proto31
0122  SETTABLE  R5[K42('StopBoxAnimation')] = R6
0123  GETTABUP  R5 = _ENV[K34('BaseUIItemBookCell')]
0124  CLOSURE   R6 = closure proto32
0125  SETTABLE  R5[K43('OnClickDetail')] = R6
0126  GETTABUP  R5 = _ENV[K34('BaseUIItemBookCell')]
0127  CLOSURE   R6 = closure proto33
0128  SETTABLE  R5[K44('OnClickBox')] = R6
0129  GETTABUP  R5 = _ENV[K34('BaseUIItemBookCell')]
0130  CLOSURE   R6 = closure proto34
0131  SETTABLE  R5[K45('GetState')] = R6
0132  RETURN    return R0..R-1
; ---------- proto0 [Init] ----------
  ; fn ?  line 7-10 np=1 va=0 ms=2 code=6 consts=4 upvals=0 protos=0
  ;   K[0]=3
  ;   K[1]=4
  ;   K[2]=190
  ;   K[3]=146
  ;   locals: itemCount(0-6)
  0000  ADD       R1 = K0(3) add R0
  0001  IDIV      R1 = K1(4) idiv R1
  0002  MUL       R1 = R1 mul K2(190)
  0003  ADD       R1 = R1 add K3(146)
  0004  RETURN    return R1..R0
  0005  RETURN    return R0..R-1
; ---------- proto1 [Init] ----------
  ; fn ?  line 18-53 np=4 va=0 ms=9 code=88 consts=45 upvals=2 protos=1
  ;   K[0]='m_activityType'
  ;   K[1]='m_activityModel'
  ;   K[2]='GM'
  ;   K[3]='ActivityManager'
  ;   K[4]='GetModel'
  ;   K[5]='m_activityDefinition'
  ;   K[6]='GetActivityDefinition'
  ;   K[7]='m_itemBookModel'
  ;   K[8]='m_finalReward'
  ;   K[9]='GetFinalReward'
  ;   K[10]='m_dataList'
  ;   K[11]='GetCacheInfo'
  ;   K[12]='m_listView'
  ;   K[13]='InitListView'
  ;   K[14]='SetListItemCount'
  ;   K[15]='_UpdateListViewHeight'
  ;   K[16]='UpdateRewardLayout'
  ;   K[17]='m_mapTweens'
  ;   K[18]='_TryMove'
  ;   K[19]='UIUtil'
  ;   K[20]='SetActive'
  ;   K[21]='m_testUnlockButtonGo'
  ;   K[22]='UIManager'
  ;   K[23]='CanShowTestUI'
  ;   K[24]='RewardApi'
  ;   K[25]='AddFilterRewardEventListener'
  ;   K[26]='AddHandlerAndRecordMap'
  ;   K[27]='event'
  ;   K[28]='BaseUIItemIllustratedBookModel'
  ;   K[29]='EventType'
  ;   K[30]='Refreshed'
  ;   K[31]='obj'
  ;   K[32]='method'
  ;   K[33]='UpdateProgressSlider'
  ;   K[34]='EventDispatcher'
  ;   K[35]='AddListener'
  ;   K[36]='StateChangedEvent'
  ;   K[37]='Close'
  ;   K[38]='LogWindowAction'
  ;   K[39]='EBIType'
  ;   K[40]='UIActionType'
  ;   K[41]='Open'
  ;   K[42]='EBIReferType'
  ;   K[43]='UserClick'
  ;   K[44]='AutoPopup'
  ;   upvals: _ENV, lastClickId
  ;   locals: self(0-88), activityType(0-88), itemBookModel(0-88), bUserClick(0-88)
  0000  SETTABLE  R0[K0('m_activityType')] = R1
  0001  GETTABUP  R4 = _ENV[K2('GM')]
  0002  GETTABLE  R4 = R4[K3('ActivityManager')]
  0003  SELF      R5 = R4[K4('GetModel')] (self)
  0004  MOVE      R6 = R0
  0005  CALL      R4 = call(R4, 1 args, 2 rets)
  0006  SETTABLE  R0[K1('m_activityModel')] = R4
  0007  GETTABLE  R4 = R0[K1('m_activityModel')]
  0008  SELF      R5 = R4[K6('GetActivityDefinition')] (self)
  0009  CALL      R4 = call(R4, 1 args, 1 rets)
  0010  SETTABLE  R0[K5('m_activityDefinition')] = R4
  0011  SETTABLE  R0[K7('m_itemBookModel')] = R2
  0012  SELF      R5 = R2[K9('GetFinalReward')] (self)
  0013  CALL      R4 = call(R4, 1 args, 1 rets)
  0014  SETTABLE  R0[K8('m_finalReward')] = R4
  0015  SELF      R5 = R2[K11('GetCacheInfo')] (self)
  0016  CALL      R4 = call(R4, 1 args, 1 rets)
  0017  SETTABLE  R0[K10('m_dataList')] = R4
  0018  GETTABLE  R4 = R0[K12('m_listView')]
  0019  SELF      R5 = R4[K13('InitListView')] (self)
  0020  GETTABLE  R6 = R0[K10('m_dataList')]
  0021  LEN       R6 = len R0
  0022  CLOSURE   R7 = closure proto0
  0023  CALL      R4 = call(R4, 0 args, 3 rets)
  0024  GETTABLE  R4 = R0[K12('m_listView')]
  0025  SELF      R5 = R4[K14('SetListItemCount')] (self)
  0026  GETTABLE  R6 = R0[K10('m_dataList')]
  0027  LEN       R6 = len R0
  0028  LOADBOOL  R7 = true
  0029  CALL      R4 = call(R4, 0 args, 3 rets)
  0030  SELF      R5 = R0[K15('_UpdateListViewHeight')] (self)
  0031  CALL      R4 = call(R4, 0 args, 1 rets)
  0032  SELF      R5 = R0[K16('UpdateRewardLayout')] (self)
  0033  CALL      R4 = call(R4, 0 args, 1 rets)
  0034  NEWTABLE  R4 = {} (0 items)
  0035  SETTABLE  R0[K17('m_mapTweens')] = R4
  0036  SELF      R5 = R0[K18('_TryMove')] (self)
  0037  CALL      R4 = call(R4, 0 args, 1 rets)
  0038  GETTABUP  R4 = _ENV[K19('UIUtil')]
  0039  GETTABLE  R4 = R4[K20('SetActive')]
  0040  GETTABLE  R5 = R0[K21('m_testUnlockButtonGo')]
  0041  GETTABUP  R6 = _ENV[K2('GM')]
  0042  GETTABLE  R6 = R6[K22('UIManager')]
  0043  SELF      R7 = R6[K23('CanShowTestUI')] (self)
  0044  CALL      R6 = call(R6, -1 args, 1 rets)
  0045  CALL      R4 = call(R4, 0 args, -1 rets)
  0046  GETTABUP  R4 = _ENV[K24('RewardApi')]
  0047  GETTABLE  R4 = R4[K25('AddFilterRewardEventListener')]
  0048  MOVE      R5 = R0
  0049  GETTABLE  R6 = R0[K16('UpdateRewardLayout')]
  0050  CALL      R4 = call(R4, 0 args, 2 rets)
  0051  GETTABUP  R4 = _ENV[K26('AddHandlerAndRecordMap')]
  0052  GETTABLE  R5 = R0[K7('m_itemBookModel')]
  0053  GETTABLE  R5 = R5[K27('event')]
  0054  GETTABUP  R6 = _ENV[K28('BaseUIItemIllustratedBookModel')]
  0055  GETTABLE  R6 = R6[K29('EventType')]
  0056  GETTABLE  R6 = R6[K30('Refreshed')]
  0057  NEWTABLE  R7 = {} (0 items)
  0058  SETTABLE  R7[K31('obj')] = R0
  0059  GETTABLE  R8 = R0[K33('UpdateProgressSlider')]
  0060  SETTABLE  R7[K32('method')] = R8
  0061  CALL      R4 = call(R4, 0 args, 3 rets)
  0062  GETTABUP  R4 = _ENV[K34('EventDispatcher')]
  0063  GETTABLE  R4 = R4[K35('AddListener')]
  0064  GETTABLE  R5 = R0[K5('m_activityDefinition')]
  0065  GETTABLE  R5 = R5[K36('StateChangedEvent')]
  0066  MOVE      R6 = R0
  0067  GETTABLE  R7 = R0[K37('Close')]
  0068  LOADBOOL  R8 = true
  0069  CALL      R4 = call(R4, 0 args, 4 rets)
  0070  LOADNIL   R4..R4 = nil
  0071  SETUPVAL  UP4 = R0
  0072  SELF      R5 = R0[K38('LogWindowAction')] (self)
  0073  GETTABUP  R6 = _ENV[K39('EBIType')]
  0074  GETTABLE  R6 = R6[K40('UIActionType')]
  0075  GETTABLE  R6 = R6[K41('Open')]
  0076  NEWTABLE  R7 = {} (1 items)
  0077  TEST      if not R3 then   -> -130993
  0078  JMP       (jump)   -> 83
  0079  GETTABUP  R8 = _ENV[K42('EBIReferType')]
  0080  GETTABLE  R8 = R8[K43('UserClick')]
  0081  TEST      if not R8 then   -> -130988
  0082  JMP       (jump)   -> 85
  0083  GETTABUP  R8 = _ENV[K42('EBIReferType')]
  0084  GETTABLE  R8 = R8[K44('AutoPopup')]
  0085  SETLIST   setlist R7[B=1,C=1]
  0086  CALL      R4 = call(R4, 0 args, 3 rets)
  0087  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 26-28 np=2 va=0 ms=6 code=7 consts=1 upvals=1 protos=0
    ;   K[0]='_OnListItemByIndex'
    ;   upvals: self
    ;   locals: listView(0-7), cellIndex(0-7)
    0000  GETUPVAL  R2 = self
    0001  SELF      R3 = R2[K0('_OnListItemByIndex')] (self)
    0002  MOVE      R4 = R0
    0003  MOVE      R5 = R0
    0004  TAILCALL  tailcall(R2, 0)
    0005  RETURN    return R2..R1
    0006  RETURN    return R0..R-1
; ---------- proto2 [OnDestroy] ----------
  ; fn ?  line 55-62 np=1 va=0 ms=4 code=22 consts=11 upvals=1 protos=0
  ;   K[0]='BaseWindow'
  ;   K[1]='OnDestroy'
  ;   K[2]='m_itemBookModel'
  ;   K[3]=nil
  ;   K[4]='RemoveAllHandlers'
  ;   K[5]='event'
  ;   K[6]='EventDispatcher'
  ;   K[7]='RemoveTarget'
  ;   K[8]='GM'
  ;   K[9]='UIManager'
  ;   K[10]='RemoveAllEventLocks'
  ;   upvals: _ENV
  ;   locals: self(0-22)
  0000  GETTABUP  R1 = _ENV[K0('BaseWindow')]
  0001  GETTABLE  R1 = R1[K1('OnDestroy')]
  0002  MOVE      R2 = R0
  0003  CALL      R1 = call(R1, 0 args, 1 rets)
  0004  GETTABLE  R1 = R0[K2('m_itemBookModel')]
  0005  EQ        if R1 eq K3(nil)   -> -130294
  0006  JMP       (jump)   -> 12
  0007  GETTABUP  R1 = _ENV[K4('RemoveAllHandlers')]
  0008  GETTABLE  R2 = R0[K2('m_itemBookModel')]
  0009  GETTABLE  R2 = R2[K5('event')]
  0010  MOVE      R3 = R0
  0011  CALL      R1 = call(R1, 0 args, 2 rets)
  0012  GETTABUP  R1 = _ENV[K6('EventDispatcher')]
  0013  GETTABLE  R1 = R1[K7('RemoveTarget')]
  0014  MOVE      R2 = R0
  0015  CALL      R1 = call(R1, 0 args, 1 rets)
  0016  GETTABUP  R1 = _ENV[K8('GM')]
  0017  GETTABLE  R1 = R1[K9('UIManager')]
  0018  SELF      R2 = R1[K10('RemoveAllEventLocks')] (self)
  0019  MOVE      R3 = R0
  0020  CALL      R1 = call(R1, 0 args, 2 rets)
  0021  RETURN    return R0..R-1
; ---------- proto3 [AddEventListener] ----------
  ; fn ?  line 64-67 np=1 va=0 ms=5 code=8 consts=5 upvals=1 protos=0
  ;   K[0]='EventDispatcher'
  ;   K[1]='AddListener'
  ;   K[2]='EEventType'
  ;   K[3]='UIItemBookUpdate'
  ;   K[4]='_TryMove'
  ;   upvals: _ENV
  ;   locals: self(0-8)
  0000  GETTABUP  R1 = _ENV[K0('EventDispatcher')]
  0001  GETTABLE  R1 = R1[K1('AddListener')]
  0002  GETTABUP  R2 = _ENV[K2('EEventType')]
  0003  GETTABLE  R2 = R2[K3('UIItemBookUpdate')]
  0004  MOVE      R3 = R0
  0005  GETTABLE  R4 = R0[K4('_TryMove')]
  0006  CALL      R1 = call(R1, 0 args, 3 rets)
  0007  RETURN    return R0..R-1
; ---------- proto4 [RemoveEventListener] ----------
  ; fn ?  line 69-71 np=1 va=0 ms=3 code=5 consts=2 upvals=1 protos=0
  ;   K[0]='EventDispatcher'
  ;   K[1]='RemoveTarget'
  ;   upvals: _ENV
  ;   locals: self(0-5)
  0000  GETTABUP  R1 = _ENV[K0('EventDispatcher')]
  0001  GETTABLE  R1 = R1[K1('RemoveTarget')]
  0002  MOVE      R2 = R0
  0003  CALL      R1 = call(R1, 0 args, 1 rets)
  0004  RETURN    return R0..R-1
; ---------- proto5 [_TryMove] ----------
  ; fn ?  line 73-111 np=2 va=0 ms=15 code=81 consts=27 upvals=0 protos=0
  ;   K[0]='m_content'
  ;   K[1]='DOKill'
  ;   K[2]='m_scrollRect'
  ;   K[3]='StopMovement'
  ;   K[4]='chainId'
  ;   K[5]='chainIndex'
  ;   K[6]='m_itemBookModel'
  ;   K[7]='GetCanClaimRewardItemByIndex'
  ;   K[8]=1
  ;   K[9]='m_listView'
  ;   K[10]='GetShownItemByItemIndex'
  ;   K[11]='IsNull'
  ;   K[12]='gameObject'
  ;   K[13]='GetLuaTable'
  ;   K[14]='GetCellTb'
  ;   K[15]='viewport'
  ;   K[16]='InverseTransformPoint'
  ;   K[17]='transform'
  ;   K[18]='position'
  ;   K[19]='y'
  ;   K[20]='rect'
  ;   K[21]='height'
  ;   K[22]=100
  ;   K[23]=-100
  ;   K[24]=nil
  ;   K[25]='GetCanClaimRewardItem'
  ;   K[26]='_MoveTo'
  ;   locals: self(0-81), msg(0-81), chainIndex(8-81), itemIndex(8-81), lastChainId(11-81), lastChainIndex(14-81), shouldMove(15-81), nextCodeInSameChain(21-63), nextCodeIndex(21-63), chainItem(29-63), lastChainTb(38-63), cellGo(42-63), relativePos(48-63)
  0000  GETTABLE  R2 = R0[K0('m_content')]
  0001  SELF      R3 = R2[K1('DOKill')] (self)
  0002  LOADBOOL  R4 = false
  0003  CALL      R2 = call(R2, 0 args, 2 rets)
  0004  GETTABLE  R2 = R0[K2('m_scrollRect')]
  0005  SELF      R3 = R2[K3('StopMovement')] (self)
  0006  CALL      R2 = call(R2, 0 args, 1 rets)
  0007  LOADNIL   R2..R2 = nil
  0008  TESTSET   if R0 then R4   -> -130550
  0009  JMP       (jump)   -> 11
  0010  GETTABLE  R4 = R1[K4('chainId')]
  0011  TESTSET   if R0 then R5   -> -130547
  0012  JMP       (jump)   -> 14
  0013  GETTABLE  R5 = R1[K5('chainIndex')]
  0014  NOT       R6 = not R0
  0015  TEST      if not R6 then   -> -131054
  0016  JMP       (jump)   -> 63
  0017  GETTABLE  R7 = R0[K6('m_itemBookModel')]
  0018  SELF      R8 = R7[K7('GetCanClaimRewardItemByIndex')] (self)
  0019  ADD       R9 = K8(1) add R5
  0020  CALL      R7 = call(R7, 2 args, 2 rets)
  0021  TEST      if not R7 then   -> -131048
  0022  JMP       (jump)   -> 25
  0023  LOADBOOL  R6 = true
  0024  JMP       (jump)   -> 63
  0025  GETTABLE  R9 = R0[K9('m_listView')]
  0026  SELF      R10 = R9[K10('GetShownItemByItemIndex')] (self)
  0027  MOVE      R11 = R0
  0028  CALL      R9 = call(R9, 1 args, 2 rets)
  0029  TEST      if not R9 then   -> -131041
  0030  JMP       (jump)   -> 63
  0031  SELF      R11 = R9[K11('IsNull')] (self)
  0032  CALL      R10 = call(R10, 1 args, 1 rets)
  0033  TEST      if not R10 then   -> -131036
  0034  JMP       (jump)   -> 63
  0035  GETTABLE  R10 = R9[K12('gameObject')]
  0036  SELF      R11 = R10[K13('GetLuaTable')] (self)
  0037  CALL      R10 = call(R10, 1 args, 1 rets)
  0038  SELF      R12 = R10[K14('GetCellTb')] (self)
  0039  MOVE      R13 = R0
  0040  CALL      R11 = call(R11, 1 args, 2 rets)
  0041  GETTABLE  R11 = R11[K12('gameObject')]
  0042  GETTABLE  R12 = R0[K2('m_scrollRect')]
  0043  GETTABLE  R12 = R12[K15('viewport')]
  0044  SELF      R13 = R12[K16('InverseTransformPoint')] (self)
  0045  GETTABLE  R14 = R11[K17('transform')]
  0046  GETTABLE  R14 = R14[K18('position')]
  0047  CALL      R12 = call(R12, 1 args, 2 rets)
  0048  GETTABLE  R13 = R12[K19('y')]
  0049  GETTABLE  R14 = R0[K2('m_scrollRect')]
  0050  GETTABLE  R14 = R14[K17('transform')]
  0051  GETTABLE  R14 = R14[K20('rect')]
  0052  GETTABLE  R14 = R14[K21('height')]
  0053  UNM       R14 = unm R0
  0054  ADD       R14 = K22(100) add R14
  0055  LE        if R1 le R14   -> -124345
  0056  JMP       (jump)   -> 60
  0057  GETTABLE  R13 = R12[K19('y')]
  0058  LE        if R0 le R13   -> 11849
  0059  JMP       (jump)   -> 63
  0060  LOADBOOL  R6 = true
  0061  ADD       R2 = K8(1) add R5
  0062  MOVE      R3 = R0
  0063  TEST      if not R6 then   -> -131007
  0064  JMP       (jump)   -> 72
  0065  EQ        if R0 eq K24(nil)   -> -129701
  0066  JMP       (jump)   -> 72
  0067  GETTABLE  R7 = R0[K6('m_itemBookModel')]
  0068  SELF      R8 = R7[K25('GetCanClaimRewardItem')] (self)
  0069  CALL      R7 = call(R7, 2 args, 1 rets)
  0070  MOVE      R3 = R0
  0071  MOVE      R2 = R0
  0072  EQ        if R1 eq K24(nil)   -> -129694
  0073  JMP       (jump)   -> 80
  0074  TEST      if not R6 then   -> -130996
  0075  JMP       (jump)   -> 80
  0076  SELF      R8 = R0[K26('_MoveTo')] (self)
  0077  MOVE      R9 = R0
  0078  MOVE      R10 = R0
  0079  CALL      R7 = call(R7, 0 args, 3 rets)
  0080  RETURN    return R0..R-1
; ---------- proto6 [OnCloseView] ----------
  ; fn ?  line 113-119 np=2 va=0 ms=9 code=15 consts=6 upvals=1 protos=0
  ;   K[0]='pairs'
  ;   K[1]='m_mapTweens'
  ;   K[2]='Kill'
  ;   K[3]=nil
  ;   K[4]='BaseWindow'
  ;   K[5]='OnCloseView'
  ;   upvals: _ENV
  ;   locals: self(0-15), bWithoutAnimation(0-15), (for generator)(3-8), (for state)(3-8), (for control)(3-8), seq(4-6), _(4-6)
  0000  GETTABUP  R2 = _ENV[K0('pairs')]
  0001  GETTABLE  R3 = R0[K1('m_mapTweens')]
  0002  CALL      R2 = call(R2, 3 args, 1 rets)
  0003  JMP       (jump)   -> 6
  0004  SELF      R8 = R5[K2('Kill')] (self)
  0005  CALL      R7 = call(R7, 0 args, 1 rets)
  0006  TFORCALL  tforcall R2
  0007  TFORLOOP  tforloop R4(sBx=-4)   -> 4
  0008  SETTABLE  R0[K1('m_mapTweens')] = K3(nil)
  0009  GETTABUP  R2 = _ENV[K4('BaseWindow')]
  0010  GETTABLE  R2 = R2[K5('OnCloseView')]
  0011  MOVE      R3 = R0
  0012  MOVE      R4 = R0
  0013  CALL      R2 = call(R2, 0 args, 2 rets)
  0014  RETURN    return R0..R-1
; ---------- proto7 [_AddTween] ----------
  ; fn ?  line 125-131 np=2 va=0 ms=4 code=9 consts=3 upvals=0 protos=0
  ;   K[0]='m_mapTweens'
  ;   K[1]='Kill'
  ;   K[2]=true
  ;   locals: self(0-9), tween(0-9)
  0000  GETTABLE  R2 = R0[K0('m_mapTweens')]
  0001  TEST      if not R2 then   -> -131068
  0002  JMP       (jump)   -> 6
  0003  SELF      R3 = R1[K1('Kill')] (self)
  0004  CALL      R2 = call(R2, 0 args, 1 rets)
  0005  JMP       (jump)   -> 8
  0006  GETTABLE  R2 = R0[K0('m_mapTweens')]
  0007  SETTABLE  R2[R1] = K2(true)
  0008  RETURN    return R0..R-1
; ---------- proto8 [_OnListItemByIndex] ----------
  ; fn ?  line 133-143 np=3 va=0 ms=12 code=21 consts=8 upvals=0 protos=0
  ;   K[0]='m_dataList'
  ;   K[1]=1
  ;   K[2]='NewListViewItem'
  ;   K[3]='BaseUIItemBookChain'
  ;   K[4]='gameObject'
  ;   K[5]='GetLuaTable'
  ;   K[6]='Init'
  ;   K[7]='m_itemBookModel'
  ;   locals: self(0-21), listView(0-21), index(0-21), data(3-21), item(10-21), chainTb(13-21)
  0000  GETTABLE  R3 = R0[K0('m_dataList')]
  0001  ADD       R4 = K1(1) add R2
  0002  GETTABLE  R3 = R3[R4]
  0003  TEST      if not R3 then   -> -131066
  0004  JMP       (jump)   -> 7
  0005  LOADNIL   R4..R4 = nil
  0006  RETURN    return R4..R3
  0007  SELF      R5 = R1[K2('NewListViewItem')] (self)
  0008  LOADK     R6 = K3 'BaseUIItemBookChain'
  0009  CALL      R4 = call(R4, 1 args, 2 rets)
  0010  GETTABLE  R5 = R4[K4('gameObject')]
  0011  SELF      R6 = R5[K5('GetLuaTable')] (self)
  0012  CALL      R5 = call(R5, 1 args, 1 rets)
  0013  SELF      R7 = R5[K6('Init')] (self)
  0014  GETTABLE  R8 = R0[K7('m_itemBookModel')]
  0015  MOVE      R9 = R0
  0016  MOVE      R10 = R0
  0017  MOVE      R11 = R0
  0018  CALL      R6 = call(R6, 0 args, 5 rets)
  0019  RETURN    return R4..R3
  0020  RETURN    return R0..R-1
; ---------- proto9 [GetCanRewardCell] ----------
  ; fn ?  line 145-162 np=1 va=0 ms=10 code=39 consts=13 upvals=1 protos=0
  ;   K[0]='m_curChainIndex'
  ;   K[1]='m_listView'
  ;   K[2]='GetShownItemByIndex'
  ;   K[3]=1
  ;   K[4]='gameObject'
  ;   K[5]='GetLuaTable'
  ;   K[6]='m_list'
  ;   K[7]='ipairs'
  ;   K[8]='GetState'
  ;   K[9]='BaseUIItemIllustratedBookModel'
  ;   K[10]='ItemState'
  ;   K[11]='UnLock'
  ;   K[12]='transform'
  ;   upvals: _ENV
  ;   locals: self(0-39), curChainObj(10-39), curChainTb(15-36), (for generator)(23-36), (for state)(23-36), (for control)(23-36), _(24-34), item(24-34)
  0000  GETTABLE  R1 = R0[K0('m_curChainIndex')]
  0001  TEST      if not R1 then   -> -131068
  0002  JMP       (jump)   -> 5
  0003  LOADNIL   R1..R1 = nil
  0004  RETURN    return R1..R0
  0005  GETTABLE  R1 = R0[K1('m_listView')]
  0006  SELF      R2 = R1[K2('GetShownItemByIndex')] (self)
  0007  GETTABLE  R3 = R0[K0('m_curChainIndex')]
  0008  SUB       R3 = K3(1) sub R3
  0009  CALL      R1 = call(R1, 1 args, 2 rets)
  0010  TEST      if not R1 then   -> -131060
  0011  JMP       (jump)   -> 36
  0012  GETTABLE  R2 = R1[K4('gameObject')]
  0013  SELF      R3 = R2[K5('GetLuaTable')] (self)
  0014  CALL      R2 = call(R2, 1 args, 1 rets)
  0015  TEST      if not R2 then   -> -131055
  0016  JMP       (jump)   -> 36
  0017  GETTABLE  R3 = R2[K6('m_list')]
  0018  TEST      if not R3 then   -> -131052
  0019  JMP       (jump)   -> 36
  0020  GETTABUP  R3 = _ENV[K7('ipairs')]
  0021  GETTABLE  R4 = R2[K6('m_list')]
  0022  CALL      R3 = call(R3, 3 args, 1 rets)
  0023  JMP       (jump)   -> 34
  0024  SELF      R9 = R7[K8('GetState')] (self)
  0025  CALL      R8 = call(R8, 1 args, 1 rets)
  0026  GETTABUP  R9 = _ENV[K9('BaseUIItemIllustratedBookModel')]
  0027  GETTABLE  R9 = R9[K10('ItemState')]
  0028  GETTABLE  R9 = R9[K11('UnLock')]
  0029  EQ        if R0 eq R9   -> -126936
  0030  JMP       (jump)   -> 34
  0031  GETTABLE  R8 = R7[K4('gameObject')]
  0032  GETTABLE  R8 = R8[K12('transform')]
  0033  RETURN    return R8..R7
  0034  TFORCALL  tforcall R3
  0035  TFORLOOP  tforloop R5(sBx=-12)   -> 24
  0036  LOADNIL   R2..R2 = nil
  0037  RETURN    return R2..R1
  0038  RETURN    return R0..R-1
; ---------- proto10 [_UpdateListViewHeight] ----------
  ; fn ?  line 164-174 np=1 va=0 ms=12 code=25 consts=8 upvals=2 protos=0
  ;   K[0]='GM'
  ;   K[1]='ItemDataModel'
  ;   K[2]=1
  ;   K[3]='m_dataList'
  ;   K[4]='itemInfos'
  ;   K[5]='m_listView'
  ;   K[6]='SetItemSize'
  ;   K[7]='UpdateContentSize'
  ;   upvals: _ENV, getChainHeight
  ;   locals: self(0-25), height(1-25), items(1-25), itemDataModel(3-25), (for index)(7-21), (for limit)(7-21), (for step)(7-21), i(8-20)
  0000  LOADNIL   R1..R1 = nil
  0001  GETTABUP  R3 = _ENV[K0('GM')]
  0002  GETTABLE  R3 = R3[K1('ItemDataModel')]
  0003  LOADK     R4 = K2 1
  0004  GETTABLE  R5 = R0[K3('m_dataList')]
  0005  LEN       R5 = len R0
  0006  LOADK     R6 = K2 1
  0007  FORPREP   forprep R4(sBx=12)   -> 20
  0008  GETTABLE  R8 = R0[K3('m_dataList')]
  0009  GETTABLE  R8 = R8[R7]
  0010  GETTABLE  R2 = R8[K4('itemInfos')]
  0011  GETUPVAL  R8 = _ENV
  0012  LEN       R9 = len R0
  0013  CALL      R8 = call(R8, 1 args, 1 rets)
  0014  MOVE      R1 = R0
  0015  GETTABLE  R8 = R0[K5('m_listView')]
  0016  SELF      R9 = R8[K6('SetItemSize')] (self)
  0017  SUB       R10 = K2(1) sub R7
  0018  MOVE      R11 = R0
  0019  CALL      R8 = call(R8, 0 args, 3 rets)
  0020  FORLOOP   forloop R4(sBx=-13)   -> 8
  0021  GETTABLE  R4 = R0[K5('m_listView')]
  0022  SELF      R5 = R4[K7('UpdateContentSize')] (self)
  0023  CALL      R4 = call(R4, 0 args, 1 rets)
  0024  RETURN    return R0..R-1
; ---------- proto11 [_MoveTo] ----------
  ; fn ?  line 176-192 np=3 va=0 ms=10 code=44 consts=20 upvals=2 protos=0
  ;   K[0]=0
  ;   K[1]='m_content'
  ;   K[2]='rect'
  ;   K[3]='height'
  ;   K[4]='parent'
  ;   K[5]='m_listView'
  ;   K[6]='GetItemPos'
  ;   K[7]=1
  ;   K[8]=4
  ;   K[9]=189
  ;   K[10]='math'
  ;   K[11]='min'
  ;   K[12]='m_scrollRect'
  ;   K[13]='velocity'
  ;   K[14]='V2Zero'
  ;   K[15]='DOLocalMoveY'
  ;   K[16]='SetEase'
  ;   K[17]='Ease'
  ;   K[18]='InCubic'
  ;   K[19]='_AddTween'
  ;   upvals: _ENV, MOVE_CONTAINER_TWEEN_DURATION
  ;   locals: self(0-44), chainIndex(0-44), itemIndex(0-44), finishPosY(1-44), scrollViewHeight(4-44), endPos(9-44), tween(40-44)
  0000  LOADK     R3 = K0 0
  0001  GETTABLE  R4 = R0[K1('m_content')]
  0002  GETTABLE  R4 = R4[K2('rect')]
  0003  GETTABLE  R4 = R4[K3('height')]
  0004  GETTABLE  R5 = R0[K1('m_content')]
  0005  GETTABLE  R5 = R5[K4('parent')]
  0006  GETTABLE  R5 = R5[K2('rect')]
  0007  GETTABLE  R5 = R5[K3('height')]
  0008  SUB       R5 = R5 sub R4
  0009  LT        if R0 lt R5   -> 16
  0010  JMP       (jump)   -> 28
  0011  GETTABLE  R6 = R0[K5('m_listView')]
  0012  SELF      R7 = R6[K6('GetItemPos')] (self)
  0013  SUB       R8 = K7(1) sub R1
  0014  CALL      R6 = call(R6, 1 args, 2 rets)
  0015  MOVE      R3 = R0
  0016  TEST      if not R2 then   -> -131054
  0017  JMP       (jump)   -> 22
  0018  SUB       R6 = K7(1) sub R2
  0019  IDIV      R6 = K8(4) idiv R6
  0020  MUL       R6 = K9(189) mul R6
  0021  ADD       R3 = R6 add R3
  0022  GETTABUP  R6 = _ENV[K10('math')]
  0023  GETTABLE  R6 = R6[K11('min')]
  0024  MOVE      R7 = R0
  0025  MOVE      R8 = R0
  0026  CALL      R6 = call(R6, 1 args, 2 rets)
  0027  MOVE      R3 = R0
  0028  GETTABLE  R6 = R0[K12('m_scrollRect')]
  0029  GETTABUP  R7 = _ENV[K14('V2Zero')]
  0030  SETTABLE  R6[K13('velocity')] = R7
  0031  GETTABLE  R6 = R0[K1('m_content')]
  0032  SELF      R7 = R6[K15('DOLocalMoveY')] (self)
  0033  MOVE      R8 = R0
  0034  GETUPVAL  R9 = _ENV
  0035  CALL      R6 = call(R6, 1 args, 3 rets)
  0036  SELF      R7 = R6[K16('SetEase')] (self)
  0037  GETTABUP  R8 = _ENV[K17('Ease')]
  0038  GETTABLE  R8 = R8[K18('InCubic')]
  0039  CALL      R6 = call(R6, 1 args, 2 rets)
  0040  SELF      R8 = R0[K19('_AddTween')] (self)
  0041  MOVE      R9 = R0
  0042  CALL      R7 = call(R7, 0 args, 2 rets)
  0043  RETURN    return R0..R-1
; ---------- proto12 [MoveChainRewardItemVisible] ----------
  ; fn ?  line 194-220 np=2 va=0 ms=15 code=39 consts=14 upvals=0 protos=0
  ;   K[0]='m_listView'
  ;   K[1]='GetShownItemByIndex'
  ;   K[2]=nil
  ;   K[3]='transform'
  ;   K[4]='m_scrollRect'
  ;   K[5]='rect'
  ;   K[6]='height'
  ;   K[7]=100
  ;   K[8]='m_content'
  ;   K[9]=0
  ;   K[10]='anchoredPosition'
  ;   K[11]='y'
  ;   K[12]='_MoveTo'
  ;   K[13]=1
  ;   locals: self(0-39), chainIndex(0-39), go(4-39), transform(8-39), scrollViewHeight(12-39), itemHeight(13-39), height(17-39), contentPosY(23-39), cellPosY(27-39), topY(28-39), bottomY(29-39)
  0000  GETTABLE  R2 = R0[K0('m_listView')]
  0001  SELF      R3 = R2[K1('GetShownItemByIndex')] (self)
  0002  MOVE      R4 = R0
  0003  CALL      R2 = call(R2, 1 args, 2 rets)
  0004  EQ        if R0 eq K2(nil)   -> -129784
  0005  JMP       (jump)   -> 7
  0006  RETURN    return R0..R-1
  0007  GETTABLE  R3 = R2[K3('transform')]
  0008  GETTABLE  R4 = R0[K4('m_scrollRect')]
  0009  GETTABLE  R4 = R4[K3('transform')]
  0010  GETTABLE  R4 = R4[K5('rect')]
  0011  GETTABLE  R4 = R4[K6('height')]
  0012  LOADK     R5 = K7 100
  0013  GETTABLE  R6 = R0[K8('m_content')]
  0014  GETTABLE  R6 = R6[K5('rect')]
  0015  GETTABLE  R6 = R6[K6('height')]
  0016  SUB       R6 = R4 sub R6
  0017  LE        if R0 le K9(0)   -> -127716
  0018  JMP       (jump)   -> 20
  0019  RETURN    return R0..R-1
  0020  GETTABLE  R7 = R0[K8('m_content')]
  0021  GETTABLE  R7 = R7[K10('anchoredPosition')]
  0022  GETTABLE  R7 = R7[K11('y')]
  0023  GETTABLE  R8 = R2[K3('transform')]
  0024  GETTABLE  R8 = R8[K10('anchoredPosition')]
  0025  GETTABLE  R8 = R8[K11('y')]
  0026  UNM       R8 = unm R0
  0027  SUB       R9 = R7 sub R8
  0028  ADD       R10 = R5 add R9
  0029  LE        if R0 le R9   -> 4648
  0030  JMP       (jump)   -> 34
  0031  LE        if R0 le R4   -> -125915
  0032  JMP       (jump)   -> 34
  0033  RETURN    return R0..R-1
  0034  SELF      R12 = R0[K12('_MoveTo')] (self)
  0035  ADD       R13 = K13(1) add R1
  0036  LOADK     R14 = K13 1
  0037  CALL      R11 = call(R11, 0 args, 3 rets)
  0038  RETURN    return R0..R-1
; ---------- proto13 [OnTestUnlockClick] ----------
  ; fn ?  line 222-227 np=1 va=0 ms=3 code=12 consts=6 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='UIManager'
  ;   K[2]='CanShowTestUI'
  ;   K[3]='m_itemBookModel'
  ;   K[4]='OnTestUnlockAllItem'
  ;   K[5]='Close'
  ;   upvals: _ENV
  ;   locals: self(0-12)
  0000  GETTABUP  R1 = _ENV[K0('GM')]
  0001  GETTABLE  R1 = R1[K1('UIManager')]
  0002  SELF      R2 = R1[K2('CanShowTestUI')] (self)
  0003  CALL      R1 = call(R1, 1 args, 1 rets)
  0004  TEST      if not R1 then   -> -131066
  0005  JMP       (jump)   -> 11
  0006  GETTABLE  R1 = R0[K3('m_itemBookModel')]
  0007  SELF      R2 = R1[K4('OnTestUnlockAllItem')] (self)
  0008  CALL      R1 = call(R1, 0 args, 1 rets)
  0009  SELF      R2 = R0[K5('Close')] (self)
  0010  CALL      R1 = call(R1, 0 args, 1 rets)
  0011  RETURN    return R0..R-1
; ---------- proto14 [RefreshAllShownItem] ----------
  ; fn ?  line 229-231 np=1 va=0 ms=3 code=4 consts=2 upvals=0 protos=0
  ;   K[0]='m_listView'
  ;   K[1]='RefreshAllShownItem'
  ;   locals: self(0-4)
  0000  GETTABLE  R1 = R0[K0('m_listView')]
  0001  SELF      R2 = R1[K1('RefreshAllShownItem')] (self)
  0002  CALL      R1 = call(R1, 0 args, 1 rets)
  0003  RETURN    return R0..R-1
; ---------- proto15 [UpdateRewardLayout] ----------
  ; fn ?  line 233-247 np=1 va=0 ms=7 code=49 consts=22 upvals=1 protos=0
  ;   K[0]='UIUtil'
  ;   K[1]='SetActive'
  ;   K[2]='m_rewardTip'
  ;   K[3]='gameObject'
  ;   K[4]='m_listView'
  ;   K[5]='RefreshAllShownItem'
  ;   K[6]='RewardApi'
  ;   K[7]='FilterRewards'
  ;   K[8]='m_finalReward'
  ;   K[9]='ERewardScene'
  ;   K[10]='Other'
  ;   K[11]='m_validRewards'
  ;   K[12]='Table'
  ;   K[13]='IsEmpty'
  ;   K[14]='m_finalRewardGo'
  ;   K[15]='SetSizeDelta'
  ;   K[16]='m_scrollRect'
  ;   K[17]='transform'
  ;   K[18]=1008
  ;   K[19]=1150
  ;   K[20]='UpdateProgressReward'
  ;   K[21]='UpdateProgressSlider'
  ;   upvals: _ENV
  ;   locals: self(0-49), validRewards(15-49), bHasFinalReward(21-49)
  0000  GETTABUP  R1 = _ENV[K0('UIUtil')]
  0001  GETTABLE  R1 = R1[K1('SetActive')]
  0002  GETTABLE  R2 = R0[K2('m_rewardTip')]
  0003  GETTABLE  R2 = R2[K3('gameObject')]
  0004  LOADBOOL  R3 = false
  0005  CALL      R1 = call(R1, 0 args, 2 rets)
  0006  GETTABLE  R1 = R0[K4('m_listView')]
  0007  SELF      R2 = R1[K5('RefreshAllShownItem')] (self)
  0008  CALL      R1 = call(R1, 0 args, 1 rets)
  0009  GETTABUP  R1 = _ENV[K6('RewardApi')]
  0010  GETTABLE  R1 = R1[K7('FilterRewards')]
  0011  GETTABLE  R2 = R0[K8('m_finalReward')]
  0012  GETTABUP  R3 = _ENV[K9('ERewardScene')]
  0013  GETTABLE  R3 = R3[K10('Other')]
  0014  CALL      R1 = call(R1, 1 args, 2 rets)
  0015  SETTABLE  R0[K11('m_validRewards')] = R1
  0016  GETTABUP  R2 = _ENV[K12('Table')]
  0017  GETTABLE  R2 = R2[K13('IsEmpty')]
  0018  GETTABLE  R3 = R0[K11('m_validRewards')]
  0019  CALL      R2 = call(R2, 1 args, 1 rets)
  0020  NOT       R2 = not R0
  0021  GETTABUP  R3 = _ENV[K0('UIUtil')]
  0022  GETTABLE  R3 = R3[K1('SetActive')]
  0023  GETTABLE  R4 = R0[K14('m_finalRewardGo')]
  0024  MOVE      R5 = R0
  0025  CALL      R3 = call(R3, 0 args, 2 rets)
  0026  GETTABUP  R3 = _ENV[K0('UIUtil')]
  0027  GETTABLE  R3 = R3[K15('SetSizeDelta')]
  0028  GETTABLE  R4 = R0[K16('m_scrollRect')]
  0029  GETTABLE  R4 = R4[K17('transform')]
  0030  LOADNIL   R5..R5 = nil
  0031  TEST      if not R2 then   -> -131039
  0032  JMP       (jump)   -> 36
  0033  LOADK     R6 = K18 1008
  0034  TEST      if not R6 then   -> -131035
  0035  JMP       (jump)   -> 37
  0036  LOADK     R6 = K19 1150
  0037  CALL      R3 = call(R3, 0 args, 3 rets)
  0038  GETTABUP  R3 = _ENV[K12('Table')]
  0039  GETTABLE  R3 = R3[K13('IsEmpty')]
  0040  GETTABLE  R4 = R0[K11('m_validRewards')]
  0041  CALL      R3 = call(R3, 1 args, 1 rets)
  0042  TEST      if not R3 then   -> -131027
  0043  JMP       (jump)   -> 48
  0044  SELF      R4 = R0[K20('UpdateProgressReward')] (self)
  0045  CALL      R3 = call(R3, 0 args, 1 rets)
  0046  SELF      R4 = R0[K21('UpdateProgressSlider')] (self)
  0047  CALL      R3 = call(R3, 0 args, 1 rets)
  0048  RETURN    return R0..R-1
; ---------- proto16 [UpdateProgressSlider] ----------
  ; fn ?  line 249-255 np=1 va=0 ms=7 code=15 consts=8 upvals=0 protos=0
  ;   K[0]='m_itemBookModel'
  ;   K[1]='GetProgress'
  ;   K[2]='m_sliderText'
  ;   K[3]='text'
  ;   K[4]='/'
  ;   K[5]=0
  ;   K[6]='m_slider'
  ;   K[7]='value'
  ;   locals: self(0-15), curProgress(3-15), maxProgress(3-15)
  0000  GETTABLE  R1 = R0[K0('m_itemBookModel')]
  0001  SELF      R2 = R1[K1('GetProgress')] (self)
  0002  CALL      R1 = call(R1, 2 args, 1 rets)
  0003  GETTABLE  R3 = R0[K2('m_sliderText')]
  0004  MOVE      R4 = R0
  0005  LOADK     R5 = K4 '/'
  0006  MOVE      R6 = R0
  0007  CONCAT    R4 = concat(R4..R4)
  0008  SETTABLE  R3[K3('text')] = R4
  0009  EQ        if R1 eq K5(0)   -> -129776
  0010  JMP       (jump)   -> 14
  0011  GETTABLE  R3 = R0[K6('m_slider')]
  0012  DIV       R4 = R2 div R1
  0013  SETTABLE  R3[K7('value')] = R4
  0014  RETURN    return R0..R-1
; ---------- proto17 [UpdateProgressReward] ----------
  ; fn ?  line 257-277 np=1 va=0 ms=9 code=51 consts=16 upvals=1 protos=0
  ;   K[0]='Table'
  ;   K[1]='IsEmpty'
  ;   K[2]='m_validRewards'
  ;   K[3]=1
  ;   K[4]='UIUtil'
  ;   K[5]='SetActive'
  ;   K[6]='m_rewardContent'
  ;   K[7]='gameObject'
  ;   K[8]='m_rewardBoxGo'
  ;   K[9]='m_itemBookModel'
  ;   K[10]='GetProgress'
  ;   K[11]='Init'
  ;   K[12]='ERewardScene'
  ;   K[13]='Other'
  ;   K[14]='m_rewardCheckGo'
  ;   K[15]='m_boxCheckGo'
  ;   upvals: _ENV
  ;   locals: self(0-51), bOnce(13-51), curProgress(27-51), maxProgress(27-51), bComplete(31-51)
  0000  GETTABUP  R1 = _ENV[K0('Table')]
  0001  GETTABLE  R1 = R1[K1('IsEmpty')]
  0002  GETTABLE  R2 = R0[K2('m_validRewards')]
  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  GETTABLE  R1 = R0[K2('m_validRewards')]
  0008  LEN       R1 = len R0
  0009  EQ        if R1 eq K3(1)   -> -130290
  0010  JMP       (jump)   -> 12
  0011  LOADBOOL  R1 = false
  0012  LOADBOOL  R1 = true
  0013  GETTABUP  R2 = _ENV[K4('UIUtil')]
  0014  GETTABLE  R2 = R2[K5('SetActive')]
  0015  GETTABLE  R3 = R0[K6('m_rewardContent')]
  0016  GETTABLE  R3 = R3[K7('gameObject')]
  0017  MOVE      R4 = R0
  0018  CALL      R2 = call(R2, 0 args, 2 rets)
  0019  GETTABUP  R2 = _ENV[K4('UIUtil')]
  0020  GETTABLE  R2 = R2[K5('SetActive')]
  0021  GETTABLE  R3 = R0[K8('m_rewardBoxGo')]
  0022  NOT       R4 = not R0
  0023  CALL      R2 = call(R2, 0 args, 2 rets)
  0024  GETTABLE  R2 = R0[K9('m_itemBookModel')]
  0025  SELF      R3 = R2[K10('GetProgress')] (self)
  0026  CALL      R2 = call(R2, 2 args, 1 rets)
  0027  EQ        if R1 eq R3   -> -130016
  0028  JMP       (jump)   -> 30
  0029  LOADBOOL  R4 = false
  0030  LOADBOOL  R4 = true
  0031  TEST      if not R1 then   -> -131039
  0032  JMP       (jump)   -> 45
  0033  GETTABLE  R5 = R0[K6('m_rewardContent')]
  0034  SELF      R6 = R5[K11('Init')] (self)
  0035  GETTABLE  R7 = R0[K2('m_validRewards')]
  0036  GETTABUP  R8 = _ENV[K12('ERewardScene')]
  0037  GETTABLE  R8 = R8[K13('Other')]
  0038  CALL      R5 = call(R5, 0 args, 3 rets)
  0039  GETTABUP  R5 = _ENV[K4('UIUtil')]
  0040  GETTABLE  R5 = R5[K5('SetActive')]
  0041  GETTABLE  R6 = R0[K14('m_rewardCheckGo')]
  0042  MOVE      R7 = R0
  0043  CALL      R5 = call(R5, 0 args, 2 rets)
  0044  JMP       (jump)   -> 50
  0045  GETTABUP  R5 = _ENV[K4('UIUtil')]
  0046  GETTABLE  R5 = R5[K5('SetActive')]
  0047  GETTABLE  R6 = R0[K15('m_boxCheckGo')]
  0048  MOVE      R7 = R0
  0049  CALL      R5 = call(R5, 0 args, 2 rets)
  0050  RETURN    return R0..R-1
; ---------- proto18 [OnRewardBoxClicked] ----------
  ; fn ?  line 279-282 np=1 va=0 ms=10 code=19 consts=14 upvals=1 protos=0
  ;   K[0]='m_rewardTip'
  ;   K[1]='Show'
  ;   K[2]='m_validRewards'
  ;   K[3]='ERewardScene'
  ;   K[4]='Other'
  ;   K[5]='m_rewardBoxGo'
  ;   K[6]='transform'
  ;   K[7]=0
  ;   K[8]=50
  ;   K[9]='GM'
  ;   K[10]='BIManager'
  ;   K[11]='LogAction'
  ;   K[12]='EBIType'
  ;   K[13]='ShowBookFinalReward'
  ;   upvals: _ENV
  ;   locals: self(0-19)
  0000  GETTABLE  R1 = R0[K0('m_rewardTip')]
  0001  SELF      R2 = R1[K1('Show')] (self)
  0002  GETTABLE  R3 = R0[K2('m_validRewards')]
  0003  GETTABUP  R4 = _ENV[K3('ERewardScene')]
  0004  GETTABLE  R4 = R4[K4('Other')]
  0005  GETTABLE  R5 = R0[K5('m_rewardBoxGo')]
  0006  GETTABLE  R5 = R5[K6('transform')]
  0007  LOADK     R6 = K7 0
  0008  LOADK     R7 = K8 50
  0009  LOADNIL   R8..R8 = nil
  0010  LOADBOOL  R9 = true
  0011  CALL      R1 = call(R1, 0 args, 8 rets)
  0012  GETTABUP  R1 = _ENV[K9('GM')]
  0013  GETTABLE  R1 = R1[K10('BIManager')]
  0014  SELF      R2 = R1[K11('LogAction')] (self)
  0015  GETTABUP  R3 = _ENV[K12('EBIType')]
  0016  GETTABLE  R3 = R3[K13('ShowBookFinalReward')]
  0017  CALL      R1 = call(R1, 0 args, 2 rets)
  0018  RETURN    return R0..R-1
; ---------- proto19 [OnCloseBtnClick] ----------
  ; fn ?  line 284-287 np=1 va=0 ms=3 code=8 consts=4 upvals=1 protos=0
  ;   K[0]='m_rewardTip'
  ;   K[1]='Hide'
  ;   K[2]='BaseWindow'
  ;   K[3]='OnCloseBtnClick'
  ;   upvals: _ENV
  ;   locals: self(0-8)
  0000  GETTABLE  R1 = R0[K0('m_rewardTip')]
  0001  SELF      R2 = R1[K1('Hide')] (self)
  0002  CALL      R1 = call(R1, 0 args, 1 rets)
  0003  GETTABUP  R1 = _ENV[K2('BaseWindow')]
  0004  GETTABLE  R1 = R1[K3('OnCloseBtnClick')]
  0005  MOVE      R2 = R0
  0006  CALL      R1 = call(R1, 0 args, 1 rets)
  0007  RETURN    return R0..R-1
; ---------- proto20 [PlayFinalRewardAnim] ----------
  ; fn ?  line 289-303 np=2 va=0 ms=14 code=61 consts=23 upvals=1 protos=0
  ;   K[0]='RewardApi'
  ;   K[1]='FilterRewards'
  ;   K[2]='ERewardScene'
  ;   K[3]='Other'
  ;   K[4]='Table'
  ;   K[5]='IsEmpty'
  ;   K[6]='UpdateProgressReward'
  ;   K[7]=1
  ;   K[8]='m_rewardContent'
  ;   K[9]='GetRewardItem'
  ;   K[10]='transform'
  ;   K[11]='position'
  ;   K[12]='V3Zero'
  ;   K[13]='GM'
  ;   K[14]='UIManager'
  ;   K[15]='OpenView'
  ;   K[16]='UIPrefabConfigName'
  ;   K[17]='BaseUIItemBookRewardWindow'
  ;   K[18]='BoxRewardWindow'
  ;   K[19]='m_rewardBoxGo'
  ;   K[20]=0.4
  ;   K[21]='ImageFileConfigName'
  ;   K[22]='dig_chest_3'
  ;   upvals: _ENV
  ;   locals: self(0-61), finalReward(0-61), validRewards(6-61), bOnce(20-61), rewardItem(26-42), startPos(33-42)
  0000  GETTABUP  R2 = _ENV[K0('RewardApi')]
  0001  GETTABLE  R2 = R2[K1('FilterRewards')]
  0002  MOVE      R3 = R0
  0003  GETTABUP  R4 = _ENV[K2('ERewardScene')]
  0004  GETTABLE  R4 = R4[K3('Other')]
  0005  CALL      R2 = call(R2, 1 args, 2 rets)
  0006  GETTABUP  R3 = _ENV[K4('Table')]
  0007  GETTABLE  R3 = R3[K5('IsEmpty')]
  0008  MOVE      R4 = R0
  0009  CALL      R3 = call(R3, 1 args, 1 rets)
  0010  TEST      if not R3 then   -> -131060
  0011  JMP       (jump)   -> 13
  0012  RETURN    return R0..R-1
  0013  SELF      R4 = R0[K6('UpdateProgressReward')] (self)
  0014  CALL      R3 = call(R3, 0 args, 1 rets)
  0015  LEN       R3 = len R0
  0016  EQ        if R1 eq K7(1)   -> -129255
  0017  JMP       (jump)   -> 19
  0018  LOADBOOL  R3 = false
  0019  LOADBOOL  R3 = true
  0020  TEST      if not R3 then   -> -131050
  0021  JMP       (jump)   -> 43
  0022  GETTABLE  R4 = R0[K8('m_rewardContent')]
  0023  SELF      R5 = R4[K9('GetRewardItem')] (self)
  0024  LOADK     R6 = K7 1
  0025  CALL      R4 = call(R4, 1 args, 2 rets)
  0026  TEST      if not R4 then   -> -131044
  0027  JMP       (jump)   -> 32
  0028  GETTABLE  R5 = R4[K10('transform')]
  0029  GETTABLE  R5 = R5[K11('position')]
  0030  TEST      if not R5 then   -> -131039
  0031  JMP       (jump)   -> 33
  0032  GETTABUP  R5 = _ENV[K12('V3Zero')]
  0033  GETTABUP  R6 = _ENV[K13('GM')]
  0034  GETTABLE  R6 = R6[K14('UIManager')]
  0035  SELF      R7 = R6[K15('OpenView')] (self)
  0036  GETTABUP  R8 = _ENV[K16('UIPrefabConfigName')]
  0037  GETTABLE  R8 = R8[K17('BaseUIItemBookRewardWindow')]
  0038  MOVE      R9 = R0
  0039  LOADNIL   R10..R10 = nil
  0040  MOVE      R11 = R0
  0041  CALL      R6 = call(R6, 0 args, 5 rets)
  0042  JMP       (jump)   -> 60
  0043  GETTABUP  R4 = _ENV[K13('GM')]
  0044  GETTABLE  R4 = R4[K14('UIManager')]
  0045  SELF      R5 = R4[K15('OpenView')] (self)
  0046  GETTABUP  R6 = _ENV[K16('UIPrefabConfigName')]
  0047  GETTABLE  R6 = R6[K18('BoxRewardWindow')]
  0048  GETTABLE  R7 = R0[K19('m_rewardBoxGo')]
  0049  GETTABLE  R7 = R7[K10('transform')]
  0050  GETTABLE  R7 = R7[K11('position')]
  0051  LOADK     R8 = K20 0.4
  0052  GETTABUP  R9 = _ENV[K21('ImageFileConfigName')]
  0053  GETTABLE  R9 = R9[K22('dig_chest_3')]
  0054  MOVE      R10 = R0
  0055  LOADNIL   R11..R11 = nil
  0056  LOADBOOL  R12 = true
  0057  GETTABUP  R13 = _ENV[K2('ERewardScene')]
  0058  GETTABLE  R13 = R13[K3('Other')]
  0059  CALL      R4 = call(R4, 0 args, 9 rets)
  0060  RETURN    return R0..R-1
; ---------- proto21 [Init] ----------
  ; fn ?  line 310-359 np=5 va=0 ms=22 code=169 consts=53 upvals=2 protos=0
  ;   K[0]='m_itemBookModel'
  ;   K[1]='m_bookWindow'
  ;   K[2]='m_list'
  ;   K[3]='m_transform'
  ;   K[4]='gameObject'
  ;   K[5]='transform'
  ;   K[6]='config'
  ;   K[7]='chainId'
  ;   K[8]='m_chain'
  ;   K[9]='m_testText'
  ;   K[10]='text'
  ;   K[11]='chainId: '
  ;   K[12]='m_name'
  ;   K[13]='GM'
  ;   K[14]='GameTextModel'
  ;   K[15]='GetText'
  ;   K[16]='chain_'
  ;   K[17]='_name'
  ;   K[18]='reward'
  ;   K[19]='RewardApi'
  ;   K[20]='FilterRewards'
  ;   K[21]='ERewardScene'
  ;   K[22]='Other'
  ;   K[23]='m_rewards'
  ;   K[24]='Table'
  ;   K[25]='IsEmpty'
  ;   K[26]='UIUtil'
  ;   K[27]='SetActive'
  ;   K[28]='m_rewardContent'
  ;   K[29]='Init'
  ;   K[30]='HasAcquireAllChainItemReward'
  ;   K[31]='index'
  ;   K[32]='m_rewardCanvasGroup'
  ;   K[33]='alpha'
  ;   K[34]=0.5
  ;   K[35]=1
  ;   K[36]='ipairs'
  ;   K[37]='GetRewardItem'
  ;   K[38]='Find'
  ;   K[39]='check'
  ;   K[40]=nil
  ;   K[41]='ItemDataModel'
  ;   K[42]='GetChain'
  ;   K[43]='GameObject'
  ;   K[44]='Instantiate'
  ;   K[45]='m_item'
  ;   K[46]='m_content'
  ;   K[47]='GetLuaTable'
  ;   K[48]=4
  ;   K[49]=0
  ;   K[50]='sizeDelta'
  ;   K[51]='Vector2'
  ;   K[52]='x'
  ;   upvals: _ENV, getChainHeight
  ;   locals: self(0-169), itemBookModel(0-169), cacheInfo(0-169), index(0-169), bookWindow(0-169), chainId(12-169), rewards(30-169), bAcquireAll(60-92), rewardItem(69-92), checkTrans(69-92), (for generator)(72-92), (for state)(72-92), (for control)(72-92), index(73-90), _(73-90), items(104-169), count(105-169), (for index)(108-146), (for limit)(108-146), (for step)(108-146), i(109-145), go(118-122), (for index)(150-158), (for limit)(150-158), (for step)(150-158), i(151-157)
  0000  SETTABLE  R0[K0('m_itemBookModel')] = R1
  0001  SETTABLE  R0[K1('m_bookWindow')] = R4
  0002  GETTABLE  R5 = R0[K2('m_list')]
  0003  TEST      if not R5 then   -> -131066
  0004  JMP       (jump)   -> 10
  0005  NEWTABLE  R5 = {} (0 items)
  0006  SETTABLE  R0[K2('m_list')] = R5
  0007  GETTABLE  R5 = R0[K4('gameObject')]
  0008  GETTABLE  R5 = R5[K5('transform')]
  0009  SETTABLE  R0[K3('m_transform')] = R5
  0010  GETTABLE  R5 = R2[K6('config')]
  0011  GETTABLE  R5 = R5[K7('chainId')]
  0012  SETTABLE  R0[K8('m_chain')] = R5
  0013  GETTABLE  R6 = R0[K9('m_testText')]
  0014  LOADK     R7 = K11 'chainId: '
  0015  MOVE      R8 = R0
  0016  CONCAT    R7 = concat(R7..R7)
  0017  SETTABLE  R6[K10('text')] = R7
  0018  GETTABLE  R6 = R0[K12('m_name')]
  0019  GETTABUP  R7 = _ENV[K13('GM')]
  0020  GETTABLE  R7 = R7[K14('GameTextModel')]
  0021  SELF      R8 = R7[K15('GetText')] (self)
  0022  LOADK     R9 = K16 'chain_'
  0023  MOVE      R10 = R0
  0024  LOADK     R11 = K17 '_name'
  0025  CONCAT    R9 = concat(R9..R9)
  0026  CALL      R7 = call(R7, 1 args, 2 rets)
  0027  SETTABLE  R6[K10('text')] = R7
  0028  GETTABLE  R6 = R2[K6('config')]
  0029  GETTABLE  R6 = R6[K18('reward')]
  0030  GETTABUP  R7 = _ENV[K19('RewardApi')]
  0031  GETTABLE  R7 = R7[K20('FilterRewards')]
  0032  MOVE      R8 = R0
  0033  GETTABUP  R9 = _ENV[K21('ERewardScene')]
  0034  GETTABLE  R9 = R9[K22('Other')]
  0035  CALL      R7 = call(R7, 1 args, 2 rets)
  0036  MOVE      R6 = R0
  0037  SETTABLE  R0[K23('m_rewards')] = R6
  0038  GETTABUP  R7 = _ENV[K24('Table')]
  0039  GETTABLE  R7 = R7[K25('IsEmpty')]
  0040  MOVE      R8 = R0
  0041  CALL      R7 = call(R7, 1 args, 1 rets)
  0042  TEST      if not R7 then   -> -131027
  0043  JMP       (jump)   -> 93
  0044  GETTABUP  R7 = _ENV[K26('UIUtil')]
  0045  GETTABLE  R7 = R7[K27('SetActive')]
  0046  GETTABLE  R8 = R0[K28('m_rewardContent')]
  0047  GETTABLE  R8 = R8[K4('gameObject')]
  0048  LOADBOOL  R9 = true
  0049  CALL      R7 = call(R7, 0 args, 2 rets)
  0050  GETTABLE  R7 = R0[K28('m_rewardContent')]
  0051  SELF      R8 = R7[K29('Init')] (self)
  0052  MOVE      R9 = R0
  0053  GETTABUP  R10 = _ENV[K21('ERewardScene')]
  0054  GETTABLE  R10 = R10[K22('Other')]
  0055  CALL      R7 = call(R7, 0 args, 3 rets)
  0056  GETTABLE  R7 = R0[K0('m_itemBookModel')]
  0057  SELF      R8 = R7[K30('HasAcquireAllChainItemReward')] (self)
  0058  GETTABLE  R9 = R2[K31('index')]
  0059  CALL      R7 = call(R7, 1 args, 2 rets)
  0060  GETTABLE  R8 = R0[K32('m_rewardCanvasGroup')]
  0061  TEST      if not R7 then   -> -131009
  0062  JMP       (jump)   -> 66
  0063  LOADK     R9 = K34 0.5
  0064  TEST      if not R9 then   -> -131005
  0065  JMP       (jump)   -> 67
  0066  LOADK     R9 = K35 1
  0067  SETTABLE  R8[K33('alpha')] = R9
  0068  LOADNIL   R8..R8 = nil
  0069  GETTABUP  R10 = _ENV[K36('ipairs')]
  0070  MOVE      R11 = R0
  0071  CALL      R10 = call(R10, 3 args, 1 rets)
  0072  JMP       (jump)   -> 90
  0073  GETTABLE  R15 = R0[K28('m_rewardContent')]
  0074  SELF      R16 = R15[K37('GetRewardItem')] (self)
  0075  MOVE      R17 = R0
  0076  CALL      R15 = call(R15, 1 args, 2 rets)
  0077  MOVE      R8 = R0
  0078  GETTABLE  R15 = R8[K5('transform')]
  0079  SELF      R16 = R15[K38('Find')] (self)
  0080  LOADK     R17 = K39 'check'
  0081  CALL      R15 = call(R15, 1 args, 2 rets)
  0082  MOVE      R9 = R0
  0083  EQ        if R1 eq K40(nil)   -> -126083
  0084  JMP       (jump)   -> 90
  0085  GETTABUP  R15 = _ENV[K26('UIUtil')]
  0086  GETTABLE  R15 = R15[K27('SetActive')]
  0087  GETTABLE  R16 = R9[K4('gameObject')]
  0088  MOVE      R17 = R0
  0089  CALL      R15 = call(R15, 0 args, 2 rets)
  0090  TFORCALL  tforcall R10
  0091  TFORLOOP  tforloop R12(sBx=-19)   -> 73
  0092  JMP       (jump)   -> 99
  0093  GETTABUP  R7 = _ENV[K26('UIUtil')]
  0094  GETTABLE  R7 = R7[K27('SetActive')]
  0095  GETTABLE  R8 = R0[K28('m_rewardContent')]
  0096  GETTABLE  R8 = R8[K4('gameObject')]
  0097  LOADBOOL  R9 = false
  0098  CALL      R7 = call(R7, 0 args, 2 rets)
  0099  GETTABUP  R7 = _ENV[K13('GM')]
  0100  GETTABLE  R7 = R7[K41('ItemDataModel')]
  0101  SELF      R8 = R7[K42('GetChain')] (self)
  0102  MOVE      R9 = R0
  0103  CALL      R7 = call(R7, 1 args, 2 rets)
  0104  LEN       R8 = len R0
  0105  LOADK     R9 = K35 1
  0106  MOVE      R10 = R0
  0107  LOADK     R11 = K35 1
  0108  FORPREP   forprep R9(sBx=36)   -> 145
  0109  GETTABLE  R13 = R0[K2('m_list')]
  0110  GETTABLE  R13 = R13[R12]
  0111  TEST      if not R13 then   -> -130958
  0112  JMP       (jump)   -> 122
  0113  GETTABUP  R13 = _ENV[K43('GameObject')]
  0114  GETTABLE  R13 = R13[K44('Instantiate')]
  0115  GETTABLE  R14 = R0[K45('m_item')]
  0116  GETTABLE  R15 = R0[K46('m_content')]
  0117  CALL      R13 = call(R13, 1 args, 2 rets)
  0118  GETTABLE  R14 = R0[K2('m_list')]
  0119  SELF      R16 = R13[K47('GetLuaTable')] (self)
  0120  CALL      R15 = call(R15, 1 args, 1 rets)
  0121  SETTABLE  R14[R12] = R15
  0122  GETTABLE  R13 = R0[K2('m_list')]
  0123  GETTABLE  R13 = R13[R12]
  0124  GETTABLE  R13 = R13[K4('gameObject')]
  0125  SELF      R14 = R13[K27('SetActive')] (self)
  0126  LOADBOOL  R15 = true
  0127  CALL      R13 = call(R13, 0 args, 2 rets)
  0128  GETTABLE  R13 = R0[K2('m_list')]
  0129  GETTABLE  R13 = R13[R12]
  0130  SELF      R14 = R13[K29('Init')] (self)
  0131  GETTABLE  R15 = R0[K0('m_itemBookModel')]
  0132  GETTABLE  R16 = R0[K8('m_chain')]
  0133  MOVE      R17 = R0
  0134  GETTABLE  R18 = R7[R12]
  0135  MOD       R19 = K48(4) mod R12
  0136  EQ        if R1 eq K49(0)   -> -120901
  0137  JMP       (jump)   -> 140
  0138  EQ        if R0 eq R8   -> -124780
  0139  JMP       (jump)   -> 141
  0140  LOADBOOL  R19 = false
  0141  LOADBOOL  R19 = true
  0142  MOVE      R20 = R0
  0143  GETTABLE  R21 = R0[K1('m_bookWindow')]
  0144  CALL      R13 = call(R13, 0 args, 8 rets)
  0145  FORLOOP   forloop R9(sBx=-37)   -> 109
  0146  ADD       R9 = K35(1) add R8
  0147  GETTABLE  R10 = R0[K2('m_list')]
  0148  LEN       R10 = len R0
  0149  LOADK     R11 = K35 1
  0150  FORPREP   forprep R9(sBx=6)   -> 157
  0151  GETTABLE  R13 = R0[K2('m_list')]
  0152  GETTABLE  R13 = R13[R12]
  0153  GETTABLE  R13 = R13[K4('gameObject')]
  0154  SELF      R14 = R13[K27('SetActive')] (self)
  0155  LOADBOOL  R15 = false
  0156  CALL      R13 = call(R13, 0 args, 2 rets)
  0157  FORLOOP   forloop R9(sBx=-7)   -> 151
  0158  GETTABLE  R9 = R0[K3('m_transform')]
  0159  GETTABUP  R10 = _ENV[K51('Vector2')]
  0160  GETTABLE  R11 = R0[K3('m_transform')]
  0161  GETTABLE  R11 = R11[K50('sizeDelta')]
  0162  GETTABLE  R11 = R11[K52('x')]
  0163  GETUPVAL  R12 = _ENV
  0164  MOVE      R13 = R0
  0165  CALL      R12 = call(R12, -1 args, 1 rets)
  0166  CALL      R10 = call(R10, 1 args, -1 rets)
  0167  SETTABLE  R9[K50('sizeDelta')] = R10
  0168  RETURN    return R0..R-1
; ---------- proto22 [OnDestroy] ----------
  ; fn ?  line 361-363 np=1 va=0 ms=3 code=5 consts=2 upvals=1 protos=0
  ;   K[0]='EventDispatcher'
  ;   K[1]='RemoveTarget'
  ;   upvals: _ENV
  ;   locals: self(0-5)
  0000  GETTABUP  R1 = _ENV[K0('EventDispatcher')]
  0001  GETTABLE  R1 = R1[K1('RemoveTarget')]
  0002  MOVE      R2 = R0
  0003  CALL      R1 = call(R1, 0 args, 1 rets)
  0004  RETURN    return R0..R-1
; ---------- proto23 [GetPosY] ----------
  ; fn ?  line 365-367 np=1 va=0 ms=2 code=6 consts=3 upvals=0 protos=0
  ;   K[0]='m_transform'
  ;   K[1]='localPosition'
  ;   K[2]='y'
  ;   locals: self(0-6)
  0000  GETTABLE  R1 = R0[K0('m_transform')]
  0001  GETTABLE  R1 = R1[K1('localPosition')]
  0002  GETTABLE  R1 = R1[K2('y')]
  0003  UNM       R1 = unm R0
  0004  RETURN    return R1..R0
  0005  RETURN    return R0..R-1
; ---------- proto24 [GetHeight] ----------
  ; fn ?  line 369-371 np=1 va=0 ms=2 code=5 consts=3 upvals=0 protos=0
  ;   K[0]='m_transform'
  ;   K[1]='rect'
  ;   K[2]='height'
  ;   locals: self(0-5)
  0000  GETTABLE  R1 = R0[K0('m_transform')]
  0001  GETTABLE  R1 = R1[K1('rect')]
  0002  GETTABLE  R1 = R1[K2('height')]
  0003  RETURN    return R1..R0
  0004  RETURN    return R0..R-1
; ---------- proto25 [GetCellTb] ----------
  ; fn ?  line 373-375 np=2 va=0 ms=3 code=4 consts=1 upvals=0 protos=0
  ;   K[0]='m_list'
  ;   locals: self(0-4), index(0-4)
  0000  GETTABLE  R2 = R0[K0('m_list')]
  0001  GETTABLE  R2 = R2[R1]
  0002  RETURN    return R2..R1
  0003  RETURN    return R0..R-1
; ---------- proto26 [PlayChainRewardAnim] ----------
  ; fn ?  line 377-382 np=1 va=0 ms=3 code=13 consts=7 upvals=1 protos=0
  ;   K[0]='Table'
  ;   K[1]='IsEmpty'
  ;   K[2]='m_rewards'
  ;   K[3]='m_rewardContent'
  ;   K[4]='PlayRewardAnimation'
  ;   K[5]='m_bookWindow'
  ;   K[6]='RefreshAllShownItem'
  ;   upvals: _ENV
  ;   locals: self(0-13)
  0000  GETTABUP  R1 = _ENV[K0('Table')]
  0001  GETTABLE  R1 = R1[K1('IsEmpty')]
  0002  GETTABLE  R2 = R0[K2('m_rewards')]
  0003  CALL      R1 = call(R1, 1 args, 1 rets)
  0004  TEST      if not R1 then   -> -131065
  0005  JMP       (jump)   -> 12
  0006  GETTABLE  R1 = R0[K3('m_rewardContent')]
  0007  SELF      R2 = R1[K4('PlayRewardAnimation')] (self)
  0008  CALL      R1 = call(R1, 0 args, 1 rets)
  0009  GETTABLE  R1 = R0[K5('m_bookWindow')]
  0010  SELF      R2 = R1[K6('RefreshAllShownItem')] (self)
  0011  CALL      R1 = call(R1, 0 args, 1 rets)
  0012  RETURN    return R0..R-1
; ---------- proto27 [Init] ----------
  ; fn ?  line 390-434 np=8 va=0 ms=14 code=112 consts=43 upvals=2 protos=0
  ;   K[0]='m_itemBookModel'
  ;   K[1]='m_itemInfo'
  ;   K[2]='GetItemInfo'
  ;   K[3]=nil
  ;   K[4]='m_activityType'
  ;   K[5]='GetActivityType'
  ;   K[6]='m_activityModel'
  ;   K[7]='GM'
  ;   K[8]='ActivityManager'
  ;   K[9]='GetModel'
  ;   K[10]='m_chainCell'
  ;   K[11]='m_bookWindow'
  ;   K[12]='m_chainId'
  ;   K[13]='m_chainIndex'
  ;   K[14]='m_type'
  ;   K[15]='state'
  ;   K[16]='m_boxGo'
  ;   K[17]='SetActive'
  ;   K[18]='m_icon'
  ;   K[19]='gameObject'
  ;   K[20]='color'
  ;   K[21]='StopBoxAnimation'
  ;   K[22]='m_numTip'
  ;   K[23]='enabled'
  ;   K[24]=false
  ;   K[25]='m_detailBtn'
  ;   K[26]='BaseUIItemIllustratedBookModel'
  ;   K[27]='ItemState'
  ;   K[28]='Lock'
  ;   K[29]='SpriteUtil'
  ;   K[30]='SetImage'
  ;   K[31]='ImageFileConfigName'
  ;   K[32]='detail_future'
  ;   K[33]='UnLock'
  ;   K[34]='m_button'
  ;   K[35]='interactable'
  ;   K[36]=true
  ;   K[37]='_TryCreateBoxAnimation'
  ;   K[38]='_ShowNumberTip'
  ;   K[39]='ItemDataModel'
  ;   K[40]='GetSpriteName'
  ;   K[41]='m_arrow'
  ;   K[42]='CanShowBookArrow'
  ;   upvals: _ENV, white
  ;   locals: self(0-112), itemBookModel(0-112), chainId(0-112), chainIndex(0-112), itemType(0-112), showArrow(0-112), chainCell(0-112), bookWindow(0-112), state(27-112)
  0000  SETTABLE  R0[K0('m_itemBookModel')] = R1
  0001  GETTABLE  R8 = R0[K0('m_itemBookModel')]
  0002  SELF      R9 = R8[K2('GetItemInfo')] (self)
  0003  MOVE      R10 = R0
  0004  CALL      R8 = call(R8, 1 args, 2 rets)
  0005  SETTABLE  R0[K1('m_itemInfo')] = R8
  0006  GETTABLE  R8 = R0[K1('m_itemInfo')]
  0007  EQ        if R0 eq K3(nil)   -> -126708
  0008  JMP       (jump)   -> 10
  0009  RETURN    return R0..R-1
  0010  GETTABLE  R8 = R0[K0('m_itemBookModel')]
  0011  SELF      R9 = R8[K5('GetActivityType')] (self)
  0012  CALL      R8 = call(R8, 1 args, 1 rets)
  0013  SETTABLE  R0[K4('m_activityType')] = R8
  0014  GETTABUP  R8 = _ENV[K7('GM')]
  0015  GETTABLE  R8 = R8[K8('ActivityManager')]
  0016  SELF      R9 = R8[K9('GetModel')] (self)
  0017  GETTABLE  R10 = R0[K4('m_activityType')]
  0018  CALL      R8 = call(R8, 1 args, 2 rets)
  0019  SETTABLE  R0[K6('m_activityModel')] = R8
  0020  SETTABLE  R0[K10('m_chainCell')] = R6
  0021  SETTABLE  R0[K11('m_bookWindow')] = R7
  0022  SETTABLE  R0[K12('m_chainId')] = R2
  0023  SETTABLE  R0[K13('m_chainIndex')] = R3
  0024  SETTABLE  R0[K14('m_type')] = R4
  0025  GETTABLE  R8 = R0[K1('m_itemInfo')]
  0026  GETTABLE  R8 = R8[K15('state')]
  0027  GETTABLE  R9 = R0[K16('m_boxGo')]
  0028  SELF      R10 = R9[K17('SetActive')] (self)
  0029  LOADBOOL  R11 = false
  0030  CALL      R9 = call(R9, 0 args, 2 rets)
  0031  GETTABLE  R9 = R0[K18('m_icon')]
  0032  GETTABLE  R9 = R9[K19('gameObject')]
  0033  SELF      R10 = R9[K17('SetActive')] (self)
  0034  LOADBOOL  R11 = true
  0035  CALL      R9 = call(R9, 0 args, 2 rets)
  0036  GETTABLE  R9 = R0[K18('m_icon')]
  0037  GETUPVAL  R10 = _ENV
  0038  SETTABLE  R9[K20('color')] = R10
  0039  SELF      R10 = R0[K21('StopBoxAnimation')] (self)
  0040  CALL      R9 = call(R9, 0 args, 1 rets)
  0041  GETTABLE  R9 = R0[K22('m_numTip')]
  0042  GETTABLE  R9 = R9[K19('gameObject')]
  0043  SELF      R10 = R9[K17('SetActive')] (self)
  0044  LOADBOOL  R11 = false
  0045  CALL      R9 = call(R9, 0 args, 2 rets)
  0046  GETTABLE  R9 = R0[K18('m_icon')]
  0047  SETTABLE  R9[K23('enabled')] = K24(false)
  0048  GETTABLE  R9 = R0[K25('m_detailBtn')]
  0049  SETTABLE  R9[K23('enabled')] = K24(false)
  0050  GETTABUP  R9 = _ENV[K26('BaseUIItemIllustratedBookModel')]
  0051  GETTABLE  R9 = R9[K27('ItemState')]
  0052  GETTABLE  R9 = R9[K28('Lock')]
  0053  EQ        if R0 eq R9   -> -126912
  0054  JMP       (jump)   -> 63
  0055  GETTABUP  R9 = _ENV[K29('SpriteUtil')]
  0056  GETTABLE  R9 = R9[K30('SetImage')]
  0057  GETTABLE  R10 = R0[K18('m_icon')]
  0058  GETTABUP  R11 = _ENV[K31('ImageFileConfigName')]
  0059  GETTABLE  R11 = R11[K32('detail_future')]
  0060  LOADBOOL  R12 = true
  0061  CALL      R9 = call(R9, 0 args, 3 rets)
  0062  JMP       (jump)   -> 96
  0063  GETTABUP  R9 = _ENV[K26('BaseUIItemIllustratedBookModel')]
  0064  GETTABLE  R9 = R9[K27('ItemState')]
  0065  GETTABLE  R9 = R9[K33('UnLock')]
  0066  EQ        if R0 eq R9   -> -126899
  0067  JMP       (jump)   -> 82
  0068  GETTABLE  R9 = R0[K34('m_button')]
  0069  SETTABLE  R9[K35('interactable')] = K36(true)
  0070  GETTABLE  R9 = R0[K16('m_boxGo')]
  0071  SELF      R10 = R9[K17('SetActive')] (self)
  0072  LOADBOOL  R11 = true
  0073  CALL      R9 = call(R9, 0 args, 2 rets)
  0074  GETTABLE  R9 = R0[K18('m_icon')]
  0075  GETTABLE  R9 = R9[K19('gameObject')]
  0076  SELF      R10 = R9[K17('SetActive')] (self)
  0077  LOADBOOL  R11 = false
  0078  CALL      R9 = call(R9, 0 args, 2 rets)
  0079  SELF      R10 = R0[K37('_TryCreateBoxAnimation')] (self)
  0080  CALL      R9 = call(R9, 0 args, 1 rets)
  0081  JMP       (jump)   -> 86
  0082  GETTABLE  R9 = R0[K25('m_detailBtn')]
  0083  SETTABLE  R9[K23('enabled')] = K36(true)
  0084  SELF      R10 = R0[K38('_ShowNumberTip')] (self)
  0085  CALL      R9 = call(R9, 0 args, 1 rets)
  0086  GETTABUP  R9 = _ENV[K29('SpriteUtil')]
  0087  GETTABLE  R9 = R9[K30('SetImage')]
  0088  GETTABLE  R10 = R0[K18('m_icon')]
  0089  GETTABUP  R11 = _ENV[K7('GM')]
  0090  GETTABLE  R11 = R11[K39('ItemDataModel')]
  0091  SELF      R12 = R11[K40('GetSpriteName')] (self)
  0092  MOVE      R13 = R0
  0093  CALL      R11 = call(R11, 1 args, 2 rets)
  0094  LOADBOOL  R12 = true
  0095  CALL      R9 = call(R9, 0 args, 3 rets)
  0096  GETTABLE  R9 = R0[K41('m_arrow')]
  0097  SELF      R10 = R9[K17('SetActive')] (self)
  0098  TESTSET   if R0 then R11   -> -128412
  0099  JMP       (jump)   -> 110
  0100  GETTABLE  R11 = R0[K6('m_activityModel')]
  0101  EQ        if R1 eq K3(nil)   -> -125078
  0102  JMP       (jump)   -> 109
  0103  GETTABLE  R11 = R0[K6('m_activityModel')]
  0104  SELF      R12 = R11[K42('CanShowBookArrow')] (self)
  0105  MOVE      R13 = R0
  0106  CALL      R11 = call(R11, 1 args, 2 rets)
  0107  JMP       (jump)   -> 110
  0108  LOADBOOL  R11 = false
  0109  LOADBOOL  R11 = true
  0110  CALL      R9 = call(R9, 0 args, 2 rets)
  0111  RETURN    return R0..R-1
; ---------- proto28 [_ShowNumberTip] ----------
  ; fn ?  line 436-448 np=1 va=0 ms=9 code=28 consts=13 upvals=1 protos=1
  ;   K[0]='m_activityModel'
  ;   K[1]='GetBoardModel'
  ;   K[2]='ItemFindHelper'
  ;   K[3]='FindBoardVisibleItems'
  ;   K[4]='m_type'
  ;   K[5]=0
  ;   K[6]='m_numTip'
  ;   K[7]='gameObject'
  ;   K[8]='SetActive'
  ;   K[9]='GM'
  ;   K[10]='ModeViewController'
  ;   K[11]='GetExtraBoardActivityBoardView'
  ;   K[12]='Init'
  ;   upvals: _ENV
  ;   locals: self(0-28), boardModel(3-28), itemsArray(9-28), boardView(21-27)
  0000  GETTABLE  R1 = R0[K0('m_activityModel')]
  0001  SELF      R2 = R1[K1('GetBoardModel')] (self)
  0002  CALL      R1 = call(R1, 1 args, 1 rets)
  0003  GETTABUP  R2 = _ENV[K2('ItemFindHelper')]
  0004  GETTABLE  R2 = R2[K3('FindBoardVisibleItems')]
  0005  MOVE      R3 = R0
  0006  GETTABLE  R4 = R0[K4('m_type')]
  0007  LOADBOOL  R5 = true
  0008  CALL      R2 = call(R2, 1 args, 3 rets)
  0009  LEN       R3 = len R0
  0010  LT        if R0 lt R3   -> 2575
  0011  JMP       (jump)   -> 27
  0012  GETTABLE  R3 = R0[K6('m_numTip')]
  0013  GETTABLE  R3 = R3[K7('gameObject')]
  0014  SELF      R4 = R3[K8('SetActive')] (self)
  0015  LOADBOOL  R5 = true
  0016  CALL      R3 = call(R3, 0 args, 2 rets)
  0017  GETTABUP  R3 = _ENV[K9('GM')]
  0018  GETTABLE  R3 = R3[K10('ModeViewController')]
  0019  SELF      R4 = R3[K11('GetExtraBoardActivityBoardView')] (self)
  0020  CALL      R3 = call(R3, 1 args, 1 rets)
  0021  GETTABLE  R4 = R0[K6('m_numTip')]
  0022  SELF      R5 = R4[K12('Init')] (self)
  0023  MOVE      R6 = R0
  0024  MOVE      R7 = R0
  0025  CLOSURE   R8 = closure proto0
  0026  CALL      R4 = call(R4, 0 args, 4 rets)
  0027  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 443-446 np=0 va=0 ms=2 code=8 consts=5 upvals=2 protos=0
    ;   K[0]='m_bookWindow'
    ;   K[1]='eCloseAnimType'
    ;   K[2]='EViewCloseAnimType'
    ;   K[3]='None'
    ;   K[4]='Close'
    ;   upvals: self, _ENV
    0000  GETTABUP  R0 = self[K0('m_bookWindow')]
    0001  GETTABUP  R1 = _ENV[K2('EViewCloseAnimType')]
    0002  GETTABLE  R1 = R1[K3('None')]
    0003  SETTABLE  R0[K1('eCloseAnimType')] = R1
    0004  GETTABUP  R0 = self[K0('m_bookWindow')]
    0005  SELF      R1 = R0[K4('Close')] (self)
    0006  CALL      R0 = call(R0, 0 args, 1 rets)
    0007  RETURN    return R0..R-1
; ---------- proto29 [OnDestroy] ----------
  ; fn ?  line 450-463 np=1 va=0 ms=4 code=24 consts=9 upvals=1 protos=0
  ;   K[0]='Scheduler'
  ;   K[1]='UnscheduleTarget'
  ;   K[2]='m_boxTween'
  ;   K[3]='Kill'
  ;   K[4]=nil
  ;   K[5]='m_rewardSeq'
  ;   K[6]='GM'
  ;   K[7]='UIManager'
  ;   K[8]='RemoveAllEventLocks'
  ;   upvals: _ENV
  ;   locals: self(0-24)
  0000  GETTABUP  R1 = _ENV[K0('Scheduler')]
  0001  GETTABLE  R1 = R1[K1('UnscheduleTarget')]
  0002  MOVE      R2 = R0
  0003  CALL      R1 = call(R1, 0 args, 1 rets)
  0004  GETTABLE  R1 = R0[K2('m_boxTween')]
  0005  TEST      if not R1 then   -> -131065
  0006  JMP       (jump)   -> 11
  0007  GETTABLE  R1 = R0[K2('m_boxTween')]
  0008  SELF      R2 = R1[K3('Kill')] (self)
  0009  CALL      R1 = call(R1, 0 args, 1 rets)
  0010  SETTABLE  R0[K2('m_boxTween')] = K4(nil)
  0011  GETTABLE  R1 = R0[K5('m_rewardSeq')]
  0012  EQ        if R1 eq K4(nil)   -> -130286
  0013  JMP       (jump)   -> 18
  0014  GETTABLE  R1 = R0[K5('m_rewardSeq')]
  0015  SELF      R2 = R1[K3('Kill')] (self)
  0016  CALL      R1 = call(R1, 0 args, 1 rets)
  0017  SETTABLE  R0[K5('m_rewardSeq')] = K4(nil)
  0018  GETTABUP  R1 = _ENV[K6('GM')]
  0019  GETTABLE  R1 = R1[K7('UIManager')]
  0020  SELF      R2 = R1[K8('RemoveAllEventLocks')] (self)
  0021  MOVE      R3 = R0
  0022  CALL      R1 = call(R1, 0 args, 2 rets)
  0023  RETURN    return R0..R-1
; ---------- proto30 [_TryCreateBoxAnimation] ----------
  ; fn ?  line 465-482 np=1 va=0 ms=9 code=70 consts=25 upvals=1 protos=0
  ;   K[0]='m_boxTween'
  ;   K[1]='Restart'
  ;   K[2]='m_boxGo'
  ;   K[3]='transform'
  ;   K[4]='DOTween'
  ;   K[5]='Sequence'
  ;   K[6]='Append'
  ;   K[7]='DOScaleY'
  ;   K[8]=0.8
  ;   K[9]=0.05
  ;   K[10]='SetEase'
  ;   K[11]='Ease'
  ;   K[12]='InSine'
  ;   K[13]='Join'
  ;   K[14]='DOScaleX'
  ;   K[15]=1.2
  ;   K[16]=1.1
  ;   K[17]=0.2
  ;   K[18]='OutSine'
  ;   K[19]=0.9
  ;   K[20]='DOScale'
  ;   K[21]=1
  ;   K[22]='AppendInterval'
  ;   K[23]='SetLoops'
  ;   K[24]=-1
  ;   upvals: _ENV
  ;   locals: self(0-70), boxTransform(9-70), s(12-70)
  0000  GETTABLE  R1 = R0[K0('m_boxTween')]
  0001  TEST      if not R1 then   -> -131069
  0002  JMP       (jump)   -> 7
  0003  GETTABLE  R1 = R0[K0('m_boxTween')]
  0004  SELF      R2 = R1[K1('Restart')] (self)
  0005  CALL      R1 = call(R1, 0 args, 1 rets)
  0006  RETURN    return R0..R-1
  0007  GETTABLE  R1 = R0[K2('m_boxGo')]
  0008  GETTABLE  R1 = R1[K3('transform')]
  0009  GETTABUP  R2 = _ENV[K4('DOTween')]
  0010  GETTABLE  R2 = R2[K5('Sequence')]
  0011  CALL      R2 = call(R2, 1 args, 0 rets)
  0012  SELF      R4 = R2[K6('Append')] (self)
  0013  SELF      R6 = R1[K7('DOScaleY')] (self)
  0014  LOADK     R7 = K8 0.8
  0015  LOADK     R8 = K9 0.05
  0016  CALL      R5 = call(R5, -1 args, 3 rets)
  0017  CALL      R3 = call(R3, 1 args, -1 rets)
  0018  SELF      R4 = R3[K10('SetEase')] (self)
  0019  GETTABUP  R5 = _ENV[K11('Ease')]
  0020  GETTABLE  R5 = R5[K12('InSine')]
  0021  CALL      R3 = call(R3, 0 args, 2 rets)
  0022  SELF      R4 = R2[K13('Join')] (self)
  0023  SELF      R6 = R1[K14('DOScaleX')] (self)
  0024  LOADK     R7 = K15 1.2
  0025  LOADK     R8 = K9 0.05
  0026  CALL      R5 = call(R5, -1 args, 3 rets)
  0027  CALL      R3 = call(R3, 1 args, -1 rets)
  0028  SELF      R4 = R3[K10('SetEase')] (self)
  0029  GETTABUP  R5 = _ENV[K11('Ease')]
  0030  GETTABLE  R5 = R5[K12('InSine')]
  0031  CALL      R3 = call(R3, 0 args, 2 rets)
  0032  SELF      R4 = R2[K6('Append')] (self)
  0033  SELF      R6 = R1[K7('DOScaleY')] (self)
  0034  LOADK     R7 = K16 1.1
  0035  LOADK     R8 = K17 0.2
  0036  CALL      R5 = call(R5, -1 args, 3 rets)
  0037  CALL      R3 = call(R3, 1 args, -1 rets)
  0038  SELF      R4 = R3[K10('SetEase')] (self)
  0039  GETTABUP  R5 = _ENV[K11('Ease')]
  0040  GETTABLE  R5 = R5[K18('OutSine')]
  0041  CALL      R3 = call(R3, 0 args, 2 rets)
  0042  SELF      R4 = R2[K13('Join')] (self)
  0043  SELF      R6 = R1[K14('DOScaleX')] (self)
  0044  LOADK     R7 = K19 0.9
  0045  LOADK     R8 = K17 0.2
  0046  CALL      R5 = call(R5, -1 args, 3 rets)
  0047  CALL      R3 = call(R3, 1 args, -1 rets)
  0048  SELF      R4 = R3[K10('SetEase')] (self)
  0049  GETTABUP  R5 = _ENV[K11('Ease')]
  0050  GETTABLE  R5 = R5[K18('OutSine')]
  0051  CALL      R3 = call(R3, 0 args, 2 rets)
  0052  SELF      R4 = R2[K6('Append')] (self)
  0053  SELF      R6 = R1[K20('DOScale')] (self)
  0054  LOADK     R7 = K21 1
  0055  LOADK     R8 = K17 0.2
  0056  CALL      R5 = call(R5, -1 args, 3 rets)
  0057  CALL      R3 = call(R3, 1 args, -1 rets)
  0058  SELF      R4 = R3[K10('SetEase')] (self)
  0059  GETTABUP  R5 = _ENV[K11('Ease')]
  0060  GETTABLE  R5 = R5[K12('InSine')]
  0061  CALL      R3 = call(R3, 0 args, 2 rets)
  0062  SELF      R4 = R2[K22('AppendInterval')] (self)
  0063  LOADK     R5 = K21 1
  0064  CALL      R3 = call(R3, 0 args, 2 rets)
  0065  SELF      R4 = R2[K23('SetLoops')] (self)
  0066  LOADK     R5 = K24 -1
  0067  CALL      R3 = call(R3, 1 args, 2 rets)
  0068  SETTABLE  R0[K0('m_boxTween')] = R3
  0069  RETURN    return R0..R-1
; ---------- proto31 [StopBoxAnimation] ----------
  ; fn ?  line 484-492 np=1 va=0 ms=5 code=15 consts=8 upvals=0 protos=0
  ;   K[0]='m_boxTween'
  ;   K[1]='Pause'
  ;   K[2]='m_boxGo'
  ;   K[3]='transform'
  ;   K[4]='SetLocalPosY'
  ;   K[5]=0
  ;   K[6]='SetLocalScaleXY'
  ;   K[7]=1
  ;   locals: self(0-15), boxTransform(8-15)
  0000  GETTABLE  R1 = R0[K0('m_boxTween')]
  0001  TEST      if not R1 then   -> -131069
  0002  JMP       (jump)   -> 6
  0003  GETTABLE  R1 = R0[K0('m_boxTween')]
  0004  SELF      R2 = R1[K1('Pause')] (self)
  0005  CALL      R1 = call(R1, 0 args, 1 rets)
  0006  GETTABLE  R1 = R0[K2('m_boxGo')]
  0007  GETTABLE  R1 = R1[K3('transform')]
  0008  SELF      R3 = R1[K4('SetLocalPosY')] (self)
  0009  LOADK     R4 = K5 0
  0010  CALL      R2 = call(R2, 0 args, 2 rets)
  0011  SELF      R3 = R1[K6('SetLocalScaleXY')] (self)
  0012  LOADK     R4 = K7 1
  0013  CALL      R2 = call(R2, 0 args, 2 rets)
  0014  RETURN    return R0..R-1
; ---------- proto32 [OnClickDetail] ----------
  ; fn ?  line 494-496 np=1 va=0 ms=5 code=9 consts=7 upvals=1 protos=0
  ;   K[0]='ItemDetailWindow'
  ;   K[1]='Open'
  ;   K[2]='m_type'
  ;   K[3]='ItemDetailWindowMode'
  ;   K[4]='Normal'
  ;   K[5]='EItemDetailWindowRefer'
  ;   K[6]='Discovery'
  ;   upvals: _ENV
  ;   locals: self(0-9)
  0000  GETTABUP  R1 = _ENV[K0('ItemDetailWindow')]
  0001  GETTABLE  R1 = R1[K1('Open')]
  0002  GETTABLE  R2 = R0[K2('m_type')]
  0003  GETTABUP  R3 = _ENV[K3('ItemDetailWindowMode')]
  0004  GETTABLE  R3 = R3[K4('Normal')]
  0005  GETTABUP  R4 = _ENV[K5('EItemDetailWindowRefer')]
  0006  GETTABLE  R4 = R4[K6('Discovery')]
  0007  CALL      R1 = call(R1, 0 args, 3 rets)
  0008  RETURN    return R0..R-1
; ---------- proto33 [OnClickBox] ----------
  ; fn ?  line 498-561 np=1 va=0 ms=10 code=108 consts=54 upvals=2 protos=4
  ;   K[0]='m_type'
  ;   K[1]='m_button'
  ;   K[2]='interactable'
  ;   K[3]=false
  ;   K[4]='m_itemBookModel'
  ;   K[5]='AcquireCacheItemInfo'
  ;   K[6]='m_itemInfo'
  ;   K[7]='itemCode'
  ;   K[8]='chainId'
  ;   K[9]='m_chainId'
  ;   K[10]='chainIndex'
  ;   K[11]='m_chainIndex'
  ;   K[12]=nil
  ;   K[13]='RewardApi'
  ;   K[14]='AcquireRewardsInView'
  ;   K[15]='arrWorldPos'
  ;   K[16]='m_icon'
  ;   K[17]='transform'
  ;   K[18]='position'
  ;   K[19]='noDelayTime'
  ;   K[20]=true
  ;   K[21]='ERewardScene'
  ;   K[22]='Other'
  ;   K[23]='GM'
  ;   K[24]='AudioModel'
  ;   K[25]='PlayEffect'
  ;   K[26]='AudioFileConfigName'
  ;   K[27]='SfxUnlockGift'
  ;   K[28]='m_boxGo'
  ;   K[29]='SetActive'
  ;   K[30]='gameObject'
  ;   K[31]='m_detailBtn'
  ;   K[32]='enabled'
  ;   K[33]='_ShowNumberTip'
  ;   K[34]='StopBoxAnimation'
  ;   K[35]='EventDispatcher'
  ;   K[36]='DispatchEvent'
  ;   K[37]='EEventType'
  ;   K[38]='UIItemBookUpdate'
  ;   K[39]='DOTween'
  ;   K[40]='Sequence'
  ;   K[41]='UIManager'
  ;   K[42]='SetEventLock'
  ;   K[43]='m_bookWindow'
  ;   K[44]='MoveChainRewardItemVisible'
  ;   K[45]='AppendInterval'
  ;   K[46]=0.5
  ;   K[47]='AppendCallback'
  ;   K[48]=nil
  ;   K[49]='GM'
  ;   K[50]='UIManager'
  ;   K[51]='SetEventLock'
  ;   K[52]=1
  ;   K[53]='m_rewardSeq'
  ;   upvals: lastClickId, _ENV
  ;   locals: self(0-108), rewards(9-108), setReward(9-108), finalReward(9-108), msg(14-108), seq(64-108)
  0000  GETTABLE  R1 = R0[K0('m_type')]
  0001  SETUPVAL  _ENV = R0
  0002  GETTABLE  R1 = R0[K1('m_button')]
  0003  SETTABLE  R1[K2('interactable')] = K3(false)
  0004  GETTABLE  R1 = R0[K4('m_itemBookModel')]
  0005  SELF      R2 = R1[K5('AcquireCacheItemInfo')] (self)
  0006  GETTABLE  R3 = R0[K6('m_itemInfo')]
  0007  GETTABLE  R3 = R3[K7('itemCode')]
  0008  CALL      R1 = call(R1, 3 args, 2 rets)
  0009  NEWTABLE  R4 = {} (0 items)
  0010  GETTABLE  R5 = R0[K9('m_chainId')]
  0011  SETTABLE  R4[K8('chainId')] = R5
  0012  GETTABLE  R5 = R0[K11('m_chainIndex')]
  0013  SETTABLE  R4[K10('chainIndex')] = R5
  0014  EQ        if R1 eq K12(nil)   -> -130276
  0015  JMP       (jump)   -> 61
  0016  GETTABUP  R5 = _ENV[K13('RewardApi')]
  0017  GETTABLE  R5 = R5[K14('AcquireRewardsInView')]
  0018  MOVE      R6 = R0
  0019  NEWTABLE  R7 = {} (0 items)
  0020  NEWTABLE  R8 = {} (1 items)
  0021  GETTABLE  R9 = R0[K16('m_icon')]
  0022  GETTABLE  R9 = R9[K17('transform')]
  0023  GETTABLE  R9 = R9[K18('position')]
  0024  SETLIST   setlist R8[B=1,C=1]
  0025  SETTABLE  R7[K15('arrWorldPos')] = R8
  0026  SETTABLE  R7[K19('noDelayTime')] = K20(true)
  0027  GETTABUP  R8 = _ENV[K21('ERewardScene')]
  0028  GETTABLE  R8 = R8[K22('Other')]
  0029  CALL      R5 = call(R5, 0 args, 3 rets)
  0030  GETTABUP  R5 = _ENV[K23('GM')]
  0031  GETTABLE  R5 = R5[K24('AudioModel')]
  0032  SELF      R6 = R5[K25('PlayEffect')] (self)
  0033  GETTABUP  R7 = _ENV[K26('AudioFileConfigName')]
  0034  GETTABLE  R7 = R7[K27('SfxUnlockGift')]
  0035  CALL      R5 = call(R5, 0 args, 2 rets)
  0036  GETTABLE  R5 = R0[K28('m_boxGo')]
  0037  SELF      R6 = R5[K29('SetActive')] (self)
  0038  LOADBOOL  R7 = false
  0039  CALL      R5 = call(R5, 0 args, 2 rets)
  0040  GETTABLE  R5 = R0[K16('m_icon')]
  0041  GETTABLE  R5 = R5[K30('gameObject')]
  0042  SELF      R6 = R5[K29('SetActive')] (self)
  0043  LOADBOOL  R7 = true
  0044  CALL      R5 = call(R5, 0 args, 2 rets)
  0045  GETTABLE  R5 = R0[K31('m_detailBtn')]
  0046  SETTABLE  R5[K32('enabled')] = K20(true)
  0047  SELF      R6 = R0[K33('_ShowNumberTip')] (self)
  0048  CALL      R5 = call(R5, 0 args, 1 rets)
  0049  SELF      R6 = R0[K34('StopBoxAnimation')] (self)
  0050  CALL      R5 = call(R5, 0 args, 1 rets)
  0051  EQ        if R0 eq K12(nil)   -> -129727
  0052  JMP       (jump)   -> 61
  0053  EQ        if R0 eq K12(nil)   -> -129213
  0054  JMP       (jump)   -> 61
  0055  GETTABUP  R5 = _ENV[K35('EventDispatcher')]
  0056  GETTABLE  R5 = R5[K36('DispatchEvent')]
  0057  GETTABUP  R6 = _ENV[K37('EEventType')]
  0058  GETTABLE  R6 = R6[K38('UIItemBookUpdate')]
  0059  MOVE      R7 = R0
  0060  CALL      R5 = call(R5, 0 args, 2 rets)
  0061  GETTABUP  R5 = _ENV[K39('DOTween')]
  0062  GETTABLE  R5 = R5[K40('Sequence')]
  0063  CALL      R5 = call(R5, 1 args, 0 rets)
  0064  EQ        if R1 eq K12(nil)   -> -129714
  0065  JMP       (jump)   -> 82
  0066  GETTABUP  R6 = _ENV[K23('GM')]
  0067  GETTABLE  R6 = R6[K41('UIManager')]
  0068  SELF      R7 = R6[K42('SetEventLock')] (self)
  0069  LOADBOOL  R8 = true
  0070  MOVE      R9 = R0
  0071  CALL      R6 = call(R6, 0 args, 3 rets)
  0072  GETTABLE  R6 = R0[K43('m_bookWindow')]
  0073  SELF      R7 = R6[K44('MoveChainRewardItemVisible')] (self)
  0074  GETTABLE  R8 = R0[K11('m_chainIndex')]
  0075  CALL      R6 = call(R6, 0 args, 2 rets)
  0076  SELF      R7 = R5[K45('AppendInterval')] (self)
  0077  LOADK     R8 = K46 0.5
  0078  CALL      R6 = call(R6, 0 args, 2 rets)
  0079  SELF      R7 = R5[K47('AppendCallback')] (self)
  0080  CLOSURE   R8 = closure proto0
  0081  CALL      R6 = call(R6, 0 args, 2 rets)
  0082  EQ        if R1 eq K48(nil)   -> -129148
  0083  JMP       (jump)   -> 97
  0084  GETTABUP  R6 = _ENV[K49('GM')]
  0085  GETTABLE  R6 = R6[K50('UIManager')]
  0086  SELF      R7 = R6[K51('SetEventLock')] (self)
  0087  LOADBOOL  R8 = true
  0088  MOVE      R9 = R0
  0089  CALL      R6 = call(R6, 0 args, 3 rets)
  0090  SELF      R7 = R5[K45('AppendInterval')] (self)
  0091  LOADK     R8 = K52 1
  0092  CALL      R6 = call(R6, 0 args, 2 rets)
  0093  SELF      R7 = R5[K47('AppendCallback')] (self)
  0094  CLOSURE   R8 = closure proto1
  0095  CALL      R6 = call(R6, 0 args, 2 rets)
  0096  JMP       (jump)   -> 103
  0097  SELF      R7 = R5[K45('AppendInterval')] (self)
  0098  LOADK     R8 = K46 0.5
  0099  CALL      R6 = call(R6, 0 args, 2 rets)
  0100  SELF      R7 = R5[K47('AppendCallback')] (self)
  0101  CLOSURE   R8 = closure proto2
  0102  CALL      R6 = call(R6, 0 args, 2 rets)
  0103  SELF      R7 = R5[K47('AppendCallback')] (self)
  0104  CLOSURE   R8 = closure proto3
  0105  CALL      R6 = call(R6, 0 args, 2 rets)
  0106  SETTABLE  R0[K53('m_rewardSeq')] = R5
  0107  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 530-536 np=0 va=0 ms=4 code=19 consts=10 upvals=4 protos=0
    ;   K[0]='m_chainCell'
    ;   K[1]='PlayChainRewardAnim'
    ;   K[2]='GM'
    ;   K[3]='UIManager'
    ;   K[4]='SetEventLock'
    ;   K[5]=nil
    ;   K[6]='EventDispatcher'
    ;   K[7]='DispatchEvent'
    ;   K[8]='EEventType'
    ;   K[9]='UIItemBookUpdate'
    ;   upvals: self, _ENV, finalReward, msg
    0000  GETTABUP  R0 = self[K0('m_chainCell')]
    0001  SELF      R1 = R0[K1('PlayChainRewardAnim')] (self)
    0002  CALL      R0 = call(R0, 0 args, 1 rets)
    0003  GETTABUP  R0 = _ENV[K2('GM')]
    0004  GETTABLE  R0 = R0[K3('UIManager')]
    0005  SELF      R1 = R0[K4('SetEventLock')] (self)
    0006  LOADBOOL  R2 = false
    0007  GETUPVAL  R3 = self
    0008  CALL      R0 = call(R0, 0 args, 3 rets)
    0009  GETUPVAL  R0 = self
    0010  EQ        if R0 eq K5(nil)   -> -130799
    0011  JMP       (jump)   -> 18
    0012  GETTABUP  R0 = _ENV[K6('EventDispatcher')]
    0013  GETTABLE  R0 = R0[K7('DispatchEvent')]
    0014  GETTABUP  R1 = _ENV[K8('EEventType')]
    0015  GETTABLE  R1 = R1[K9('UIItemBookUpdate')]
    0016  GETUPVAL  R2 = self
    0017  CALL      R0 = call(R0, 0 args, 2 rets)
    0018  RETURN    return R0..R-1
  ; ---------- proto1 [] ----------
    ; fn ?  line 543-546 np=0 va=0 ms=4 code=11 consts=5 upvals=3 protos=0
    ;   K[0]='m_bookWindow'
    ;   K[1]='PlayFinalRewardAnim'
    ;   K[2]='GM'
    ;   K[3]='UIManager'
    ;   K[4]='SetEventLock'
    ;   upvals: self, finalReward, _ENV
    0000  GETTABUP  R0 = self[K0('m_bookWindow')]
    0001  SELF      R1 = R0[K1('PlayFinalRewardAnim')] (self)
    0002  GETUPVAL  R2 = self
    0003  CALL      R0 = call(R0, 0 args, 2 rets)
    0004  GETTABUP  R0 = _ENV[K2('GM')]
    0005  GETTABLE  R0 = R0[K3('UIManager')]
    0006  SELF      R1 = R0[K4('SetEventLock')] (self)
    0007  LOADBOOL  R2 = false
    0008  GETUPVAL  R3 = self
    0009  CALL      R0 = call(R0, 0 args, 3 rets)
    0010  RETURN    return R0..R-1
  ; ---------- proto2 [m_rewardSeq] ----------
    ; fn ?  line 550-554 np=0 va=0 ms=3 code=11 consts=5 upvals=4 protos=0
    ;   K[0]='m_type'
    ;   K[1]='EventDispatcher'
    ;   K[2]='DispatchEvent'
    ;   K[3]='EEventType'
    ;   K[4]='UIItemBookUpdate'
    ;   upvals: lastClickId, self, _ENV, msg
    0000  GETUPVAL  R0 = lastClickId
    0001  GETTABUP  R1 = self[K0('m_type')]
    0002  EQ        if R0 eq R1   -> -131067
    0003  JMP       (jump)   -> 10
    0004  GETTABUP  R0 = _ENV[K1('EventDispatcher')]
    0005  GETTABLE  R0 = R0[K2('DispatchEvent')]
    0006  GETTABUP  R1 = _ENV[K3('EEventType')]
    0007  GETTABLE  R1 = R1[K4('UIItemBookUpdate')]
    0008  GETUPVAL  R2 = lastClickId
    0009  CALL      R0 = call(R0, 0 args, 2 rets)
    0010  RETURN    return R0..R-1
  ; ---------- proto3 [m_rewardSeq] ----------
    ; fn ?  line 557-559 np=0 va=0 ms=2 code=2 consts=2 upvals=1 protos=0
    ;   K[0]='m_rewardSeq'
    ;   K[1]=nil
    ;   upvals: self
    0000  SETTABUP  self[K0('m_rewardSeq')] = K1(nil)
    0001  RETURN    return R0..R-1
; ---------- proto34 [GetState] ----------
  ; fn ?  line 563-565 np=1 va=0 ms=2 code=4 consts=2 upvals=0 protos=0
  ;   K[0]='m_itemInfo'
  ;   K[1]='state'
  ;   locals: self(0-4)
  0000  GETTABLE  R1 = R0[K0('m_itemInfo')]
  0001  GETTABLE  R1 = R1[K1('state')]
  0002  RETURN    return R1..R0
  0003  RETURN    return R0..R-1
