# UI_Window_Bundle_BundleOneByOneWindow_541.luac
; fn @BundleOneByOneWindow.lua  line 0-0 np=0 va=1 ms=3 code=91 consts=34 upvals=1 protos=25
;   K[0]='BundleOneByOneWindow'
;   K[1]='setmetatable'
;   K[2]='disableEffectWhenCloseView'
;   K[3]=true
;   K[4]='windowMaskAlpha'
;   K[5]=0.8
;   K[6]='BundleBaseWindow'
;   K[7]='__index'
;   K[8]='UpdatePerSecond'
;   K[9]='OnBundleDataRefreshed'
;   K[10]='OnDestroy'
;   K[11]='Init'
;   K[12]='OnBundleIAPRestoreSuccess'
;   K[13]='GetPurchaseIds'
;   K[14]='PlayUnlockAnimation'
;   K[15]='OnCloseView'
;   K[16]='BundleOneByOneCell'
;   K[17]='Init'
;   K[18]='OnDestroy'
;   K[19]='OnCloseView'
;   K[20]='_ClearTween'
;   K[21]='UpdateContent'
;   K[22]='_UpdateButton'
;   K[23]='_UpdateRewards'
;   K[24]='SetUnlocked'
;   K[25]='UpdateLockState'
;   K[26]='PlayUnlockSpine'
;   K[27]='PlayUnlockEffect'
;   K[28]='PlayScaleAnimation'
;   K[29]='ToggleAvailableEffect'
;   K[30]='_IsLogicUnlocked'
;   K[31]='IsInCurStep'
;   K[32]='OnBtnClicked'
;   K[33]='GetLockGo'
;   upvals: _ENV
0000  GETTABUP  R0 = _ENV[K1('setmetatable')]
0001  NEWTABLE  R1 = {} (0 items)
0002  SETTABLE  R1[K2('disableEffectWhenCloseView')] = K3(true)
0003  SETTABLE  R1[K4('windowMaskAlpha')] = K5(0.8)
0004  GETTABUP  R2 = _ENV[K6('BundleBaseWindow')]
0005  CALL      R0 = call(R0, 1 args, 2 rets)
0006  SETTABUP  _ENV[K0('BundleOneByOneWindow')] = R0
0007  GETTABUP  R0 = _ENV[K0('BundleOneByOneWindow')]
0008  GETTABUP  R1 = _ENV[K0('BundleOneByOneWindow')]
0009  SETTABLE  R0[K7('__index')] = R1
0010  GETTABUP  R0 = _ENV[K0('BundleOneByOneWindow')]
0011  CLOSURE   R1 = closure proto0
0012  SETTABLE  R0[K8('UpdatePerSecond')] = R1
0013  GETTABUP  R0 = _ENV[K0('BundleOneByOneWindow')]
0014  CLOSURE   R1 = closure proto1
0015  SETTABLE  R0[K9('OnBundleDataRefreshed')] = R1
0016  GETTABUP  R0 = _ENV[K0('BundleOneByOneWindow')]
0017  CLOSURE   R1 = closure proto2
0018  SETTABLE  R0[K10('OnDestroy')] = R1
0019  GETTABUP  R0 = _ENV[K0('BundleOneByOneWindow')]
0020  CLOSURE   R1 = closure proto3
0021  SETTABLE  R0[K11('Init')] = R1
0022  GETTABUP  R0 = _ENV[K0('BundleOneByOneWindow')]
0023  CLOSURE   R1 = closure proto4
0024  SETTABLE  R0[K12('OnBundleIAPRestoreSuccess')] = R1
0025  GETTABUP  R0 = _ENV[K0('BundleOneByOneWindow')]
0026  CLOSURE   R1 = closure proto5
0027  SETTABLE  R0[K13('GetPurchaseIds')] = R1
0028  GETTABUP  R0 = _ENV[K0('BundleOneByOneWindow')]
0029  CLOSURE   R1 = closure proto6
0030  SETTABLE  R0[K14('PlayUnlockAnimation')] = R1
0031  GETTABUP  R0 = _ENV[K0('BundleOneByOneWindow')]
0032  CLOSURE   R1 = closure proto7
0033  SETTABLE  R0[K15('OnCloseView')] = R1
0034  NEWTABLE  R0 = {} (0 items)
0035  SETTABUP  _ENV[K16('BundleOneByOneCell')] = R0
0036  GETTABUP  R0 = _ENV[K16('BundleOneByOneCell')]
0037  GETTABUP  R1 = _ENV[K16('BundleOneByOneCell')]
0038  SETTABLE  R0[K7('__index')] = R1
0039  GETTABUP  R0 = _ENV[K16('BundleOneByOneCell')]
0040  CLOSURE   R1 = closure proto8
0041  SETTABLE  R0[K17('Init')] = R1
0042  GETTABUP  R0 = _ENV[K16('BundleOneByOneCell')]
0043  CLOSURE   R1 = closure proto9
0044  SETTABLE  R0[K18('OnDestroy')] = R1
0045  GETTABUP  R0 = _ENV[K16('BundleOneByOneCell')]
0046  CLOSURE   R1 = closure proto10
0047  SETTABLE  R0[K19('OnCloseView')] = R1
0048  GETTABUP  R0 = _ENV[K16('BundleOneByOneCell')]
0049  CLOSURE   R1 = closure proto11
0050  SETTABLE  R0[K20('_ClearTween')] = R1
0051  GETTABUP  R0 = _ENV[K16('BundleOneByOneCell')]
0052  CLOSURE   R1 = closure proto12
0053  SETTABLE  R0[K21('UpdateContent')] = R1
0054  GETTABUP  R0 = _ENV[K16('BundleOneByOneCell')]
0055  CLOSURE   R1 = closure proto13
0056  SETTABLE  R0[K22('_UpdateButton')] = R1
0057  GETTABUP  R0 = _ENV[K16('BundleOneByOneCell')]
0058  CLOSURE   R1 = closure proto14
0059  SETTABLE  R0[K23('_UpdateRewards')] = R1
0060  GETTABUP  R0 = _ENV[K16('BundleOneByOneCell')]
0061  CLOSURE   R1 = closure proto15
0062  SETTABLE  R0[K24('SetUnlocked')] = R1
0063  GETTABUP  R0 = _ENV[K16('BundleOneByOneCell')]
0064  CLOSURE   R1 = closure proto16
0065  SETTABLE  R0[K25('UpdateLockState')] = R1
0066  GETTABUP  R0 = _ENV[K16('BundleOneByOneCell')]
0067  CLOSURE   R1 = closure proto17
0068  SETTABLE  R0[K26('PlayUnlockSpine')] = R1
0069  GETTABUP  R0 = _ENV[K16('BundleOneByOneCell')]
0070  CLOSURE   R1 = closure proto18
0071  SETTABLE  R0[K27('PlayUnlockEffect')] = R1
0072  GETTABUP  R0 = _ENV[K16('BundleOneByOneCell')]
0073  CLOSURE   R1 = closure proto19
0074  SETTABLE  R0[K28('PlayScaleAnimation')] = R1
0075  GETTABUP  R0 = _ENV[K16('BundleOneByOneCell')]
0076  CLOSURE   R1 = closure proto20
0077  SETTABLE  R0[K29('ToggleAvailableEffect')] = R1
0078  GETTABUP  R0 = _ENV[K16('BundleOneByOneCell')]
0079  CLOSURE   R1 = closure proto21
0080  SETTABLE  R0[K30('_IsLogicUnlocked')] = R1
0081  GETTABUP  R0 = _ENV[K16('BundleOneByOneCell')]
0082  CLOSURE   R1 = closure proto22
0083  SETTABLE  R0[K31('IsInCurStep')] = R1
0084  GETTABUP  R0 = _ENV[K16('BundleOneByOneCell')]
0085  CLOSURE   R1 = closure proto23
0086  SETTABLE  R0[K32('OnBtnClicked')] = R1
0087  GETTABUP  R0 = _ENV[K16('BundleOneByOneCell')]
0088  CLOSURE   R1 = closure proto24
0089  SETTABLE  R0[K33('GetLockGo')] = R1
0090  RETURN    return R0..R-1
; ---------- proto0 [UpdatePerSecond] ----------
  ; fn ?  line 9-22 np=1 va=0 ms=8 code=35 consts=16 upvals=1 protos=0
  ;   K[0]='m_bundleEndTime'
  ;   K[1]='m_model'
  ;   K[2]='GetBundleTriggerEndTime'
  ;   K[3]='m_dataGroup'
  ;   K[4]='GM'
  ;   K[5]='GameModel'
  ;   K[6]='GetServerTime'
  ;   K[7]='m_countDownText'
  ;   K[8]='text'
  ;   K[9]='TimeUtil'
  ;   K[10]='ParseTimeDescription'
  ;   K[11]=2
  ;   K[12]=0
  ;   K[13]='UIUtil'
  ;   K[14]='SetActive'
  ;   K[15]='m_countDownGo'
  ;   upvals: _ENV
  ;   locals: self(0-35), restDuration(14-35)
  0000  GETTABLE  R1 = R0[K0('m_bundleEndTime')]
  0001  TEST      if not R1 then   -> -131068
  0002  JMP       (jump)   -> 8
  0003  GETTABLE  R1 = R0[K1('m_model')]
  0004  SELF      R2 = R1[K2('GetBundleTriggerEndTime')] (self)
  0005  GETTABLE  R3 = R0[K3('m_dataGroup')]
  0006  CALL      R1 = call(R1, 1 args, 2 rets)
  0007  SETTABLE  R0[K0('m_bundleEndTime')] = R1
  0008  GETTABLE  R1 = R0[K0('m_bundleEndTime')]
  0009  GETTABUP  R2 = _ENV[K4('GM')]
  0010  GETTABLE  R2 = R2[K5('GameModel')]
  0011  SELF      R3 = R2[K6('GetServerTime')] (self)
  0012  CALL      R2 = call(R2, 1 args, 1 rets)
  0013  SUB       R1 = R2 sub R1
  0014  GETTABLE  R2 = R0[K7('m_countDownText')]
  0015  TEST      if not R2 then   -> -131055
  0016  JMP       (jump)   -> 26
  0017  GETTABLE  R2 = R0[K7('m_countDownText')]
  0018  GETTABUP  R3 = _ENV[K9('TimeUtil')]
  0019  GETTABLE  R3 = R3[K10('ParseTimeDescription')]
  0020  MOVE      R4 = R0
  0021  LOADK     R5 = K11 2
  0022  LOADBOOL  R6 = false
  0023  LOADBOOL  R7 = false
  0024  CALL      R3 = call(R3, 1 args, 4 rets)
  0025  SETTABLE  R2[K8('text')] = R3
  0026  LE        if R0 le K12(0)   -> -130264
  0027  JMP       (jump)   -> 34
  0028  GETTABUP  R2 = _ENV[K13('UIUtil')]
  0029  GETTABLE  R2 = R2[K14('SetActive')]
  0030  GETTABLE  R3 = R0[K15('m_countDownGo')]
  0031  LOADBOOL  R4 = false
  0032  CALL      R2 = call(R2, 0 args, 2 rets)
  0033  RETURN    return R0..R-1
  0034  RETURN    return R0..R-1
; ---------- proto1 [OnBundleDataRefreshed] ----------
  ; fn ?  line 24-34 np=2 va=0 ms=6 code=24 consts=8 upvals=1 protos=1
  ;   K[0]='m_model'
  ;   K[1]=nil
  ;   K[2]='m_dataGroup'
  ;   K[3]='HasPurchaseFinished'
  ;   K[4]='DelayExecuteFuncInView'
  ;   K[5]=1
  ;   K[6]='BundleBaseWindow'
  ;   K[7]='OnBundleDataRefreshed'
  ;   upvals: _ENV
  ;   locals: self(0-24), msg(0-24)
  0000  GETTABLE  R2 = R0[K0('m_model')]
  0001  EQ        if R1 eq K1(nil)   -> -129788
  0002  JMP       (jump)   -> 18
  0003  GETTABLE  R2 = R0[K2('m_dataGroup')]
  0004  EQ        if R1 eq K1(nil)   -> -129785
  0005  JMP       (jump)   -> 18
  0006  GETTABLE  R2 = R0[K0('m_model')]
  0007  SELF      R3 = R2[K3('HasPurchaseFinished')] (self)
  0008  GETTABLE  R4 = R0[K2('m_dataGroup')]
  0009  CALL      R2 = call(R2, 1 args, 2 rets)
  0010  TEST      if not R2 then   -> -131060
  0011  JMP       (jump)   -> 18
  0012  GETTABUP  R2 = _ENV[K4('DelayExecuteFuncInView')]
  0013  CLOSURE   R3 = closure proto0
  0014  LOADK     R4 = K5 1
  0015  MOVE      R5 = R0
  0016  CALL      R2 = call(R2, 0 args, 3 rets)
  0017  RETURN    return R0..R-1
  0018  GETTABUP  R2 = _ENV[K6('BundleBaseWindow')]
  0019  GETTABLE  R2 = R2[K7('OnBundleDataRefreshed')]
  0020  MOVE      R3 = R0
  0021  MOVE      R4 = R0
  0022  CALL      R2 = call(R2, 0 args, 2 rets)
  0023  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 27-29 np=0 va=0 ms=2 code=4 consts=1 upvals=1 protos=0
    ;   K[0]='Close'
    ;   upvals: self
    0000  GETUPVAL  R0 = self
    0001  SELF      R1 = R0[K0('Close')] (self)
    0002  CALL      R0 = call(R0, 0 args, 1 rets)
    0003  RETURN    return R0..R-1
; ---------- proto2 [OnDestroy] ----------
  ; fn ?  line 36-45 np=1 va=0 ms=4 code=17 consts=8 upvals=1 protos=0
  ;   K[0]='BundleBaseWindow'
  ;   K[1]='OnDestroy'
  ;   K[2]='m_seq'
  ;   K[3]=nil
  ;   K[4]='Kill'
  ;   K[5]='GM'
  ;   K[6]='UIManager'
  ;   K[7]='RemoveAllEventLocks'
  ;   upvals: _ENV
  ;   locals: self(0-17)
  0000  GETTABUP  R1 = _ENV[K0('BundleBaseWindow')]
  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_seq')]
  0005  EQ        if R1 eq K3(nil)   -> -130294
  0006  JMP       (jump)   -> 11
  0007  GETTABLE  R1 = R0[K2('m_seq')]
  0008  SELF      R2 = R1[K4('Kill')] (self)
  0009  CALL      R1 = call(R1, 0 args, 1 rets)
  0010  SETTABLE  R0[K2('m_seq')] = K3(nil)
  0011  GETTABUP  R1 = _ENV[K5('GM')]
  0012  GETTABLE  R1 = R1[K6('UIManager')]
  0013  SELF      R2 = R1[K7('RemoveAllEventLocks')] (self)
  0014  MOVE      R3 = R0
  0015  CALL      R1 = call(R1, 0 args, 2 rets)
  0016  RETURN    return R0..R-1
; ---------- proto3 [Init] ----------
  ; fn ?  line 47-75 np=1 va=1 ms=13 code=68 consts=32 upvals=1 protos=0
  ;   K[0]='BundleBaseWindow'
  ;   K[1]='Init'
  ;   K[2]='m_model'
  ;   K[3]='GM'
  ;   K[4]='BundleManager'
  ;   K[5]='GetModel'
  ;   K[6]='m_dataGroup'
  ;   K[7]='GetBundleType'
  ;   K[8]='GetBundleUIType'
  ;   K[9]='m_uiStyle'
  ;   K[10]='BundleUIType'
  ;   K[11]='m_descText'
  ;   K[12]='text'
  ;   K[13]='GameTextModel'
  ;   K[14]='GetText'
  ;   K[15]='descText'
  ;   K[16]='m_cells'
  ;   K[17]='m_cell1'
  ;   K[18]='m_cell2'
  ;   K[19]='m_cell3'
  ;   K[20]=1
  ;   K[21]=3
  ;   K[22]='GetConfigDataByIndex'
  ;   K[23]=nil
  ;   K[24]='gameObject'
  ;   K[25]='SetActive'
  ;   K[26]='UpdatePerSecond'
  ;   K[27]='EventDispatcher'
  ;   K[28]='AddListener'
  ;   K[29]='EEventType'
  ;   K[30]='BundleIAPRestoreSuccess'
  ;   K[31]='OnBundleIAPRestoreSuccess'
  ;   upvals: _ENV
  ;   locals: self(0-68), uiType(16-68), cell(34-68), (for index)(37-58), (for limit)(37-58), (for step)(37-58), index(38-57), curData(44-57)
  0000  GETTABUP  R1 = _ENV[K0('BundleBaseWindow')]
  0001  GETTABLE  R1 = R1[K1('Init')]
  0002  MOVE      R2 = R0
  0003  VARARG    R3 = vararg(0)
  0004  CALL      R1 = call(R1, 0 args, -1 rets)
  0005  GETTABUP  R1 = _ENV[K3('GM')]
  0006  GETTABLE  R1 = R1[K4('BundleManager')]
  0007  SELF      R2 = R1[K5('GetModel')] (self)
  0008  GETTABLE  R3 = R0[K6('m_dataGroup')]
  0009  SELF      R4 = R3[K7('GetBundleType')] (self)
  0010  CALL      R3 = call(R3, -1 args, 1 rets)
  0011  CALL      R1 = call(R1, 1 args, -1 rets)
  0012  SETTABLE  R0[K2('m_model')] = R1
  0013  GETTABLE  R1 = R0[K6('m_dataGroup')]
  0014  SELF      R2 = R1[K8('GetBundleUIType')] (self)
  0015  CALL      R1 = call(R1, 1 args, 1 rets)
  0016  GETTABUP  R2 = _ENV[K10('BundleUIType')]
  0017  GETTABLE  R2 = R2[R1]
  0018  SETTABLE  R0[K9('m_uiStyle')] = R2
  0019  GETTABLE  R2 = R0[K11('m_descText')]
  0020  GETTABUP  R3 = _ENV[K3('GM')]
  0021  GETTABLE  R3 = R3[K13('GameTextModel')]
  0022  SELF      R4 = R3[K14('GetText')] (self)
  0023  GETTABLE  R5 = R0[K9('m_uiStyle')]
  0024  GETTABLE  R5 = R5[K15('descText')]
  0025  CALL      R3 = call(R3, 1 args, 2 rets)
  0026  SETTABLE  R2[K12('text')] = R3
  0027  NEWTABLE  R2 = {} (3 items)
  0028  GETTABLE  R3 = R0[K17('m_cell1')]
  0029  GETTABLE  R4 = R0[K18('m_cell2')]
  0030  GETTABLE  R5 = R0[K19('m_cell3')]
  0031  SETLIST   setlist R2[B=1,C=3]
  0032  SETTABLE  R0[K16('m_cells')] = R2
  0033  LOADNIL   R2..R2 = nil
  0034  LOADK     R3 = K20 1
  0035  LOADK     R4 = K21 3
  0036  LOADK     R5 = K20 1
  0037  FORPREP   forprep R3(sBx=19)   -> 57
  0038  GETTABLE  R7 = R0[K16('m_cells')]
  0039  GETTABLE  R2 = R7[R6]
  0040  GETTABLE  R7 = R0[K6('m_dataGroup')]
  0041  SELF      R8 = R7[K22('GetConfigDataByIndex')] (self)
  0042  MOVE      R9 = R0
  0043  CALL      R7 = call(R7, 1 args, 2 rets)
  0044  EQ        if R1 eq K23(nil)   -> -127163
  0045  JMP       (jump)   -> 55
  0046  GETTABLE  R8 = R2[K24('gameObject')]
  0047  SELF      R9 = R8[K25('SetActive')] (self)
  0048  LOADBOOL  R10 = true
  0049  CALL      R8 = call(R8, 0 args, 2 rets)
  0050  SELF      R9 = R2[K1('Init')] (self)
  0051  MOVE      R10 = R0
  0052  GETTABLE  R11 = R0[K6('m_dataGroup')]
  0053  MOVE      R12 = R0
  0054  CALL      R8 = call(R8, 0 args, 4 rets)
  0055  GETTABLE  R8 = R0[K16('m_cells')]
  0056  SETTABLE  R8[R6] = R2
  0057  FORLOOP   forloop R3(sBx=-20)   -> 38
  0058  SELF      R4 = R0[K26('UpdatePerSecond')] (self)
  0059  CALL      R3 = call(R3, 0 args, 1 rets)
  0060  GETTABUP  R3 = _ENV[K27('EventDispatcher')]
  0061  GETTABLE  R3 = R3[K28('AddListener')]
  0062  GETTABUP  R4 = _ENV[K29('EEventType')]
  0063  GETTABLE  R4 = R4[K30('BundleIAPRestoreSuccess')]
  0064  MOVE      R5 = R0
  0065  GETTABLE  R6 = R0[K31('OnBundleIAPRestoreSuccess')]
  0066  CALL      R3 = call(R3, 0 args, 3 rets)
  0067  RETURN    return R0..R-1
; ---------- proto4 [OnBundleIAPRestoreSuccess] ----------
  ; fn ?  line 77-81 np=2 va=0 ms=4 code=11 consts=4 upvals=0 protos=0
  ;   K[0]='m_dataGroup'
  ;   K[1]=nil
  ;   K[2]='GetGroupId'
  ;   K[3]='Close'
  ;   locals: self(0-11), groupId(0-11)
  0000  GETTABLE  R2 = R0[K0('m_dataGroup')]
  0001  EQ        if R1 eq K1(nil)   -> -129788
  0002  JMP       (jump)   -> 10
  0003  GETTABLE  R2 = R0[K0('m_dataGroup')]
  0004  SELF      R3 = R2[K2('GetGroupId')] (self)
  0005  CALL      R2 = call(R2, 1 args, 1 rets)
  0006  EQ        if R0 eq R1   -> -130039
  0007  JMP       (jump)   -> 10
  0008  SELF      R3 = R0[K3('Close')] (self)
  0009  CALL      R2 = call(R2, 0 args, 1 rets)
  0010  RETURN    return R0..R-1
; ---------- proto5 [GetPurchaseIds] ----------
  ; fn ?  line 83-87 np=1 va=0 ms=3 code=8 consts=3 upvals=0 protos=0
  ;   K[0]='m_dataGroup'
  ;   K[1]=nil
  ;   K[2]='GetBundleIds'
  ;   locals: self(0-8)
  0000  GETTABLE  R1 = R0[K0('m_dataGroup')]
  0001  EQ        if R1 eq K1(nil)   -> -130300
  0002  JMP       (jump)   -> 7
  0003  GETTABLE  R1 = R0[K0('m_dataGroup')]
  0004  SELF      R2 = R1[K2('GetBundleIds')] (self)
  0005  TAILCALL  tailcall(R1, 0)
  0006  RETURN    return R1..R0
  0007  RETURN    return R0..R-1
; ---------- proto6 [PlayUnlockAnimation] ----------
  ; fn ?  line 89-121 np=1 va=0 ms=14 code=74 consts=33 upvals=1 protos=4
  ;   K[0]='m_model'
  ;   K[1]='GetCurChainStep'
  ;   K[2]='m_dataGroup'
  ;   K[3]='m_cells'
  ;   K[4]='GetLockGo'
  ;   K[5]='transform'
  ;   K[6]='DOTween'
  ;   K[7]='Sequence'
  ;   K[8]='AppendInterval'
  ;   K[9]=0.3
  ;   K[10]='AppendCallback'
  ;   K[11]='Append'
  ;   K[12]='DOShakeAnchorPos'
  ;   K[13]=0.4
  ;   K[14]=4
  ;   K[15]=20
  ;   K[16]=90
  ;   K[17]='DOLocalMoveY'
  ;   K[18]='localPosition'
  ;   K[19]='y'
  ;   K[20]=30
  ;   K[21]=0.1
  ;   K[22]='SetEase'
  ;   K[23]='Ease'
  ;   K[24]='OutQuart'
  ;   K[25]=1000
  ;   K[26]=0.45
  ;   K[27]='InQuart'
  ;   K[28]='GM'
  ;   K[29]='UIManager'
  ;   K[30]='SetEventLock'
  ;   K[31]='OnComplete'
  ;   K[32]='m_seq'
  ;   upvals: _ENV
  ;   locals: self(0-74), curStep(4-74), cell(6-74), transform(12-74), sequence(15-74)
  0000  GETTABLE  R1 = R0[K0('m_model')]
  0001  SELF      R2 = R1[K1('GetCurChainStep')] (self)
  0002  GETTABLE  R3 = R0[K2('m_dataGroup')]
  0003  CALL      R1 = call(R1, 1 args, 2 rets)
  0004  GETTABLE  R2 = R0[K3('m_cells')]
  0005  GETTABLE  R2 = R2[R1]
  0006  TEST      if not R2 then   -> -131063
  0007  JMP       (jump)   -> 9
  0008  RETURN    return R0..R-1
  0009  SELF      R4 = R2[K4('GetLockGo')] (self)
  0010  CALL      R3 = call(R3, 1 args, 1 rets)
  0011  GETTABLE  R3 = R3[K5('transform')]
  0012  GETTABUP  R4 = _ENV[K6('DOTween')]
  0013  GETTABLE  R4 = R4[K7('Sequence')]
  0014  CALL      R4 = call(R4, 1 args, 0 rets)
  0015  SELF      R6 = R4[K8('AppendInterval')] (self)
  0016  LOADK     R7 = K9 0.3
  0017  CALL      R5 = call(R5, 0 args, 2 rets)
  0018  SELF      R6 = R4[K10('AppendCallback')] (self)
  0019  CLOSURE   R7 = closure proto0
  0020  CALL      R5 = call(R5, 0 args, 2 rets)
  0021  SELF      R6 = R4[K8('AppendInterval')] (self)
  0022  LOADK     R7 = K9 0.3
  0023  CALL      R5 = call(R5, 0 args, 2 rets)
  0024  SELF      R6 = R4[K10('AppendCallback')] (self)
  0025  CLOSURE   R7 = closure proto1
  0026  CALL      R5 = call(R5, 0 args, 2 rets)
  0027  SELF      R6 = R4[K11('Append')] (self)
  0028  SELF      R8 = R3[K12('DOShakeAnchorPos')] (self)
  0029  LOADK     R9 = K13 0.4
  0030  LOADK     R10 = K14 4
  0031  LOADK     R11 = K15 20
  0032  LOADK     R12 = K16 90
  0033  LOADBOOL  R13 = true
  0034  CALL      R7 = call(R7, -1 args, 6 rets)
  0035  CALL      R5 = call(R5, 0 args, -1 rets)
  0036  SELF      R6 = R4[K11('Append')] (self)
  0037  SELF      R8 = R3[K17('DOLocalMoveY')] (self)
  0038  GETTABLE  R9 = R3[K18('localPosition')]
  0039  GETTABLE  R9 = R9[K19('y')]
  0040  ADD       R9 = K20(30) add R9
  0041  LOADK     R10 = K21 0.1
  0042  CALL      R7 = call(R7, 1 args, 3 rets)
  0043  SELF      R8 = R7[K22('SetEase')] (self)
  0044  GETTABUP  R9 = _ENV[K23('Ease')]
  0045  GETTABLE  R9 = R9[K24('OutQuart')]
  0046  CALL      R7 = call(R7, -1 args, 2 rets)
  0047  CALL      R5 = call(R5, 0 args, -1 rets)
  0048  SELF      R6 = R4[K11('Append')] (self)
  0049  SELF      R8 = R3[K17('DOLocalMoveY')] (self)
  0050  GETTABLE  R9 = R3[K18('localPosition')]
  0051  GETTABLE  R9 = R9[K19('y')]
  0052  SUB       R9 = K25(1000) sub R9
  0053  LOADK     R10 = K26 0.45
  0054  CALL      R7 = call(R7, 1 args, 3 rets)
  0055  SELF      R8 = R7[K22('SetEase')] (self)
  0056  GETTABUP  R9 = _ENV[K23('Ease')]
  0057  GETTABLE  R9 = R9[K27('InQuart')]
  0058  CALL      R7 = call(R7, -1 args, 2 rets)
  0059  CALL      R5 = call(R5, 0 args, -1 rets)
  0060  SELF      R6 = R4[K10('AppendCallback')] (self)
  0061  CLOSURE   R7 = closure proto2
  0062  CALL      R5 = call(R5, 0 args, 2 rets)
  0063  GETTABUP  R5 = _ENV[K28('GM')]
  0064  GETTABLE  R5 = R5[K29('UIManager')]
  0065  SELF      R6 = R5[K30('SetEventLock')] (self)
  0066  LOADBOOL  R7 = true
  0067  MOVE      R8 = R0
  0068  CALL      R5 = call(R5, 0 args, 3 rets)
  0069  SELF      R6 = R4[K31('OnComplete')] (self)
  0070  CLOSURE   R7 = closure proto3
  0071  CALL      R5 = call(R5, 0 args, 2 rets)
  0072  SETTABLE  R0[K32('m_seq')] = R4
  0073  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 99-101 np=0 va=0 ms=2 code=4 consts=1 upvals=1 protos=0
    ;   K[0]='PlayUnlockSpine'
    ;   upvals: cell
    0000  GETUPVAL  R0 = cell
    0001  SELF      R1 = R0[K0('PlayUnlockSpine')] (self)
    0002  CALL      R0 = call(R0, 0 args, 1 rets)
    0003  RETURN    return R0..R-1
  ; ---------- proto1 [] ----------
    ; fn ?  line 103-106 np=0 va=0 ms=3 code=8 consts=2 upvals=1 protos=0
    ;   K[0]='PlayUnlockEffect'
    ;   K[1]='ToggleAvailableEffect'
    ;   upvals: cell
    0000  GETUPVAL  R0 = cell
    0001  SELF      R1 = R0[K0('PlayUnlockEffect')] (self)
    0002  CALL      R0 = call(R0, 0 args, 1 rets)
    0003  GETUPVAL  R0 = cell
    0004  SELF      R1 = R0[K1('ToggleAvailableEffect')] (self)
    0005  LOADBOOL  R2 = true
    0006  CALL      R0 = call(R0, 0 args, 2 rets)
    0007  RETURN    return R0..R-1
  ; ---------- proto2 [] ----------
    ; fn ?  line 110-112 np=0 va=0 ms=2 code=4 consts=1 upvals=1 protos=0
    ;   K[0]='SetUnlocked'
    ;   upvals: cell
    0000  GETUPVAL  R0 = cell
    0001  SELF      R1 = R0[K0('SetUnlocked')] (self)
    0002  CALL      R0 = call(R0, 0 args, 1 rets)
    0003  RETURN    return R0..R-1
  ; ---------- proto3 [m_seq] ----------
    ; fn ?  line 115-118 np=0 va=0 ms=4 code=8 consts=5 upvals=2 protos=0
    ;   K[0]='GM'
    ;   K[1]='UIManager'
    ;   K[2]='SetEventLock'
    ;   K[3]='m_seq'
    ;   K[4]=nil
    ;   upvals: _ENV, self
    0000  GETTABUP  R0 = _ENV[K0('GM')]
    0001  GETTABLE  R0 = R0[K1('UIManager')]
    0002  SELF      R1 = R0[K2('SetEventLock')] (self)
    0003  LOADBOOL  R2 = false
    0004  GETUPVAL  R3 = _ENV
    0005  CALL      R0 = call(R0, 0 args, 3 rets)
    0006  SETTABUP  self[K3('m_seq')] = K4(nil)
    0007  RETURN    return R0..R-1
; ---------- proto7 [OnCloseView] ----------
  ; fn ?  line 123-134 np=1 va=0 ms=8 code=29 consts=9 upvals=1 protos=0
  ;   K[0]='BundleBaseWindow'
  ;   K[1]='OnCloseView'
  ;   K[2]='m_dataGroup'
  ;   K[3]=nil
  ;   K[4]='m_model'
  ;   K[5]='IsDisposable'
  ;   K[6]='TryRecoverFreeRewards'
  ;   K[7]='pairs'
  ;   K[8]='m_cells'
  ;   upvals: _ENV
  ;   locals: self(0-29), (for generator)(23-28), (for state)(23-28), (for control)(23-28), _(24-26), cell(24-26)
  0000  GETTABUP  R1 = _ENV[K0('BundleBaseWindow')]
  0001  GETTABLE  R1 = R1[K1('OnCloseView')]
  0002  MOVE      R2 = R0
  0003  CALL      R1 = call(R1, 0 args, 1 rets)
  0004  GETTABLE  R1 = R0[K2('m_dataGroup')]
  0005  EQ        if R1 eq K3(nil)   -> -130294
  0006  JMP       (jump)   -> 20
  0007  GETTABLE  R1 = R0[K4('m_model')]
  0008  EQ        if R1 eq K3(nil)   -> -130291
  0009  JMP       (jump)   -> 20
  0010  GETTABLE  R1 = R0[K2('m_dataGroup')]
  0011  SELF      R2 = R1[K5('IsDisposable')] (self)
  0012  CALL      R1 = call(R1, 1 args, 1 rets)
  0013  TEST      if not R1 then   -> -131057
  0014  JMP       (jump)   -> 20
  0015  GETTABLE  R1 = R0[K4('m_model')]
  0016  SELF      R2 = R1[K6('TryRecoverFreeRewards')] (self)
  0017  GETTABLE  R3 = R0[K2('m_dataGroup')]
  0018  LOADBOOL  R4 = true
  0019  CALL      R1 = call(R1, 0 args, 3 rets)
  0020  GETTABUP  R1 = _ENV[K7('pairs')]
  0021  GETTABLE  R2 = R0[K8('m_cells')]
  0022  CALL      R1 = call(R1, 3 args, 1 rets)
  0023  JMP       (jump)   -> 26
  0024  SELF      R7 = R5[K1('OnCloseView')] (self)
  0025  CALL      R6 = call(R6, 0 args, 1 rets)
  0026  TFORCALL  tforcall R1
  0027  TFORLOOP  tforloop R3(sBx=-4)   -> 24
  0028  RETURN    return R0..R-1
; ---------- proto8 [Init] ----------
  ; fn ?  line 140-157 np=4 va=0 ms=9 code=39 consts=23 upvals=1 protos=0
  ;   K[0]='m_window'
  ;   K[1]='m_model'
  ;   K[2]='GM'
  ;   K[3]='BundleManager'
  ;   K[4]='GetModel'
  ;   K[5]='GetBundleType'
  ;   K[6]='m_dataGroup'
  ;   K[7]='m_index'
  ;   K[8]='m_uiStyle'
  ;   K[9]='BundleUIType'
  ;   K[10]='GetBundleUIType'
  ;   K[11]='m_lockPosition'
  ;   K[12]='m_lockGo'
  ;   K[13]='transform'
  ;   K[14]='localPosition'
  ;   K[15]='UpdateContent'
  ;   K[16]='GetConfigDataByIndex'
  ;   K[17]='m_lockSpine'
  ;   K[18]='Init'
  ;   K[19]='_IsLogicUnlocked'
  ;   K[20]='ToggleAvailableEffect'
  ;   K[21]='m_frameEffectGo'
  ;   K[22]='SetActive'
  ;   upvals: _ENV
  ;   locals: self(0-39), window(0-39), dataGroup(0-39), index(0-39), bCurStep(31-39)
  0000  SETTABLE  R0[K0('m_window')] = R1
  0001  GETTABUP  R4 = _ENV[K2('GM')]
  0002  GETTABLE  R4 = R4[K3('BundleManager')]
  0003  SELF      R5 = R4[K4('GetModel')] (self)
  0004  SELF      R7 = R2[K5('GetBundleType')] (self)
  0005  CALL      R6 = call(R6, -1 args, 1 rets)
  0006  CALL      R4 = call(R4, 1 args, -1 rets)
  0007  SETTABLE  R0[K1('m_model')] = R4
  0008  SETTABLE  R0[K6('m_dataGroup')] = R2
  0009  SETTABLE  R0[K7('m_index')] = R3
  0010  GETTABUP  R4 = _ENV[K9('BundleUIType')]
  0011  GETTABLE  R5 = R0[K6('m_dataGroup')]
  0012  SELF      R6 = R5[K10('GetBundleUIType')] (self)
  0013  CALL      R5 = call(R5, 1 args, 1 rets)
  0014  GETTABLE  R4 = R4[R5]
  0015  SETTABLE  R0[K8('m_uiStyle')] = R4
  0016  GETTABLE  R4 = R0[K12('m_lockGo')]
  0017  GETTABLE  R4 = R4[K13('transform')]
  0018  GETTABLE  R4 = R4[K14('localPosition')]
  0019  SETTABLE  R0[K11('m_lockPosition')] = R4
  0020  SELF      R5 = R0[K15('UpdateContent')] (self)
  0021  GETTABLE  R6 = R0[K6('m_dataGroup')]
  0022  SELF      R7 = R6[K16('GetConfigDataByIndex')] (self)
  0023  MOVE      R8 = R0
  0024  CALL      R6 = call(R6, -1 args, 2 rets)
  0025  CALL      R4 = call(R4, 0 args, -1 rets)
  0026  GETTABLE  R4 = R0[K17('m_lockSpine')]
  0027  SELF      R5 = R4[K18('Init')] (self)
  0028  CALL      R4 = call(R4, 0 args, 1 rets)
  0029  SELF      R5 = R0[K19('_IsLogicUnlocked')] (self)
  0030  CALL      R4 = call(R4, 1 args, 1 rets)
  0031  SELF      R6 = R0[K20('ToggleAvailableEffect')] (self)
  0032  MOVE      R7 = R0
  0033  CALL      R5 = call(R5, 0 args, 2 rets)
  0034  GETTABLE  R5 = R0[K21('m_frameEffectGo')]
  0035  SELF      R6 = R5[K22('SetActive')] (self)
  0036  LOADBOOL  R7 = false
  0037  CALL      R5 = call(R5, 0 args, 2 rets)
  0038  RETURN    return R0..R-1
; ---------- proto9 [OnDestroy] ----------
  ; fn ?  line 159-162 np=1 va=0 ms=3 code=7 consts=3 upvals=1 protos=0
  ;   K[0]='_ClearTween'
  ;   K[1]='Scheduler'
  ;   K[2]='UnscheduleTarget'
  ;   upvals: _ENV
  ;   locals: self(0-7)
  0000  SELF      R2 = R0[K0('_ClearTween')] (self)
  0001  CALL      R1 = call(R1, 0 args, 1 rets)
  0002  GETTABUP  R1 = _ENV[K1('Scheduler')]
  0003  GETTABLE  R1 = R1[K2('UnscheduleTarget')]
  0004  MOVE      R2 = R0
  0005  CALL      R1 = call(R1, 0 args, 1 rets)
  0006  RETURN    return R0..R-1
; ---------- proto10 [OnCloseView] ----------
  ; fn ?  line 164-167 np=1 va=0 ms=4 code=9 consts=4 upvals=1 protos=0
  ;   K[0]='Scheduler'
  ;   K[1]='UnscheduleTarget'
  ;   K[2]='m_frameEffectGo'
  ;   K[3]='SetActive'
  ;   upvals: _ENV
  ;   locals: self(0-9)
  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_frameEffectGo')]
  0005  SELF      R2 = R1[K3('SetActive')] (self)
  0006  LOADBOOL  R3 = false
  0007  CALL      R1 = call(R1, 0 args, 2 rets)
  0008  RETURN    return R0..R-1
; ---------- proto11 [_ClearTween] ----------
  ; fn ?  line 169-178 np=1 va=0 ms=3 code=15 consts=4 upvals=0 protos=0
  ;   K[0]='m_tween'
  ;   K[1]='Kill'
  ;   K[2]=nil
  ;   K[3]='m_scaleTween'
  ;   locals: self(0-15)
  0000  GETTABLE  R1 = R0[K0('m_tween')]
  0001  TEST      if not R1 then   -> -131069
  0002  JMP       (jump)   -> 7
  0003  GETTABLE  R1 = R0[K0('m_tween')]
  0004  SELF      R2 = R1[K1('Kill')] (self)
  0005  CALL      R1 = call(R1, 0 args, 1 rets)
  0006  SETTABLE  R0[K0('m_tween')] = K2(nil)
  0007  GETTABLE  R1 = R0[K3('m_scaleTween')]
  0008  TEST      if not R1 then   -> -131062
  0009  JMP       (jump)   -> 14
  0010  GETTABLE  R1 = R0[K3('m_scaleTween')]
  0011  SELF      R2 = R1[K1('Kill')] (self)
  0012  CALL      R1 = call(R1, 0 args, 1 rets)
  0013  SETTABLE  R0[K3('m_scaleTween')] = K2(nil)
  0014  RETURN    return R0..R-1
; ---------- proto12 [UpdateContent] ----------
  ; fn ?  line 180-190 np=2 va=0 ms=8 code=16 consts=10 upvals=1 protos=0
  ;   K[0]='m_data'
  ;   K[1]='m_tagText'
  ;   K[2]='text'
  ;   K[3]='GM'
  ;   K[4]='GameTextModel'
  ;   K[5]='GetText'
  ;   K[6]='value_tag'
  ;   K[7]='GetDiscountTag'
  ;   K[8]='_UpdateRewards'
  ;   K[9]='_UpdateButton'
  ;   upvals: _ENV
  ;   locals: self(0-16), data(0-16)
  0000  SETTABLE  R0[K0('m_data')] = R1
  0001  GETTABLE  R2 = R0[K1('m_tagText')]
  0002  GETTABUP  R3 = _ENV[K3('GM')]
  0003  GETTABLE  R3 = R3[K4('GameTextModel')]
  0004  SELF      R4 = R3[K5('GetText')] (self)
  0005  LOADK     R5 = K6 'value_tag'
  0006  GETTABLE  R6 = R0[K0('m_data')]
  0007  SELF      R7 = R6[K7('GetDiscountTag')] (self)
  0008  CALL      R6 = call(R6, -1 args, 1 rets)
  0009  CALL      R3 = call(R3, 1 args, -1 rets)
  0010  SETTABLE  R2[K2('text')] = R3
  0011  SELF      R3 = R0[K8('_UpdateRewards')] (self)
  0012  CALL      R2 = call(R2, 0 args, 1 rets)
  0013  SELF      R3 = R0[K9('_UpdateButton')] (self)
  0014  CALL      R2 = call(R2, 0 args, 1 rets)
  0015  RETURN    return R0..R-1
; ---------- proto13 [_UpdateButton] ----------
  ; fn ?  line 192-202 np=1 va=0 ms=8 code=43 consts=19 upvals=1 protos=0
  ;   K[0]='m_model'
  ;   K[1]='GetCurChainStep'
  ;   K[2]='m_dataGroup'
  ;   K[3]='m_index'
  ;   K[4]='UIUtil'
  ;   K[5]='SetActive'
  ;   K[6]='m_IAPButtonGo'
  ;   K[7]='m_claimedButtonGo'
  ;   K[8]='m_claimedMaskGo'
  ;   K[9]='m_IAPText'
  ;   K[10]='text'
  ;   K[11]='GM'
  ;   K[12]='InAppPurchaseModel'
  ;   K[13]='GetLocalizedPrice'
  ;   K[14]='m_data'
  ;   K[15]='GetPurchaseId'
  ;   K[16]='m_bUnlocked'
  ;   K[17]='_IsLogicUnlocked'
  ;   K[18]='UpdateLockState'
  ;   upvals: _ENV
  ;   locals: self(0-43), curStep(4-43), bClaimed(9-43)
  0000  GETTABLE  R1 = R0[K0('m_model')]
  0001  SELF      R2 = R1[K1('GetCurChainStep')] (self)
  0002  GETTABLE  R3 = R0[K2('m_dataGroup')]
  0003  CALL      R1 = call(R1, 1 args, 2 rets)
  0004  GETTABLE  R2 = R0[K3('m_index')]
  0005  LT        if R1 lt R1   -> -130040
  0006  JMP       (jump)   -> 8
  0007  LOADBOOL  R2 = false
  0008  LOADBOOL  R2 = true
  0009  GETTABUP  R3 = _ENV[K4('UIUtil')]
  0010  GETTABLE  R3 = R3[K5('SetActive')]
  0011  GETTABLE  R4 = R0[K6('m_IAPButtonGo')]
  0012  GETTABLE  R5 = R0[K3('m_index')]
  0013  LE        if R1 le R5   -> -130540
  0014  JMP       (jump)   -> 16
  0015  LOADBOOL  R5 = false
  0016  LOADBOOL  R5 = true
  0017  CALL      R3 = call(R3, 0 args, 2 rets)
  0018  GETTABUP  R3 = _ENV[K4('UIUtil')]
  0019  GETTABLE  R3 = R3[K5('SetActive')]
  0020  GETTABLE  R4 = R0[K7('m_claimedButtonGo')]
  0021  MOVE      R5 = R0
  0022  CALL      R3 = call(R3, 0 args, 2 rets)
  0023  GETTABUP  R3 = _ENV[K4('UIUtil')]
  0024  GETTABLE  R3 = R3[K5('SetActive')]
  0025  GETTABLE  R4 = R0[K8('m_claimedMaskGo')]
  0026  MOVE      R5 = R0
  0027  CALL      R3 = call(R3, 0 args, 2 rets)
  0028  GETTABLE  R3 = R0[K9('m_IAPText')]
  0029  GETTABUP  R4 = _ENV[K11('GM')]
  0030  GETTABLE  R4 = R4[K12('InAppPurchaseModel')]
  0031  SELF      R5 = R4[K13('GetLocalizedPrice')] (self)
  0032  GETTABLE  R6 = R0[K14('m_data')]
  0033  SELF      R7 = R6[K15('GetPurchaseId')] (self)
  0034  CALL      R6 = call(R6, -1 args, 1 rets)
  0035  CALL      R4 = call(R4, 1 args, -1 rets)
  0036  SETTABLE  R3[K10('text')] = R4
  0037  SELF      R4 = R0[K17('_IsLogicUnlocked')] (self)
  0038  CALL      R3 = call(R3, 1 args, 1 rets)
  0039  SETTABLE  R0[K16('m_bUnlocked')] = R3
  0040  SELF      R4 = R0[K18('UpdateLockState')] (self)
  0041  CALL      R3 = call(R3, 0 args, 1 rets)
  0042  RETURN    return R0..R-1
; ---------- proto14 [_UpdateRewards] ----------
  ; fn ?  line 205-207 np=1 va=0 ms=5 code=9 consts=6 upvals=1 protos=0
  ;   K[0]='m_rewardContent'
  ;   K[1]='Init'
  ;   K[2]='m_data'
  ;   K[3]='GetGoods'
  ;   K[4]='ERewardScene'
  ;   K[5]='Bundle'
  ;   upvals: _ENV
  ;   locals: self(0-9)
  0000  GETTABLE  R1 = R0[K0('m_rewardContent')]
  0001  SELF      R2 = R1[K1('Init')] (self)
  0002  GETTABLE  R3 = R0[K2('m_data')]
  0003  SELF      R4 = R3[K3('GetGoods')] (self)
  0004  CALL      R3 = call(R3, 1 args, 1 rets)
  0005  GETTABUP  R4 = _ENV[K4('ERewardScene')]
  0006  GETTABLE  R4 = R4[K5('Bundle')]
  0007  CALL      R1 = call(R1, 0 args, 3 rets)
  0008  RETURN    return R0..R-1
; ---------- proto15 [SetUnlocked] ----------
  ; fn ?  line 209-217 np=1 va=0 ms=6 code=12 consts=6 upvals=1 protos=1
  ;   K[0]='m_bUnlocked'
  ;   K[1]=true
  ;   K[2]='UpdateLockState'
  ;   K[3]='PlayScaleAnimation'
  ;   K[4]='DelayExecuteFuncInView'
  ;   K[5]=0.27
  ;   upvals: _ENV
  ;   locals: self(0-12)
  0000  SETTABLE  R0[K0('m_bUnlocked')] = K1(true)
  0001  SELF      R2 = R0[K2('UpdateLockState')] (self)
  0002  CALL      R1 = call(R1, 0 args, 1 rets)
  0003  SELF      R2 = R0[K3('PlayScaleAnimation')] (self)
  0004  CALL      R1 = call(R1, 0 args, 1 rets)
  0005  GETTABUP  R1 = _ENV[K4('DelayExecuteFuncInView')]
  0006  CLOSURE   R2 = closure proto0
  0007  LOADK     R3 = K5 0.27
  0008  MOVE      R4 = R0
  0009  LOADBOOL  R5 = false
  0010  CALL      R1 = call(R1, 0 args, 4 rets)
  0011  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 214-216 np=0 va=0 ms=3 code=5 consts=2 upvals=1 protos=0
    ;   K[0]='m_frameEffectGo'
    ;   K[1]='SetActive'
    ;   upvals: self
    0000  GETTABUP  R0 = self[K0('m_frameEffectGo')]
    0001  SELF      R1 = R0[K1('SetActive')] (self)
    0002  LOADBOOL  R2 = true
    0003  CALL      R0 = call(R0, 0 args, 2 rets)
    0004  RETURN    return R0..R-1
; ---------- proto16 [UpdateLockState] ----------
  ; fn ?  line 219-223 np=1 va=0 ms=5 code=18 consts=10 upvals=1 protos=0
  ;   K[0]='m_model'
  ;   K[1]='GetCurChainStep'
  ;   K[2]='m_dataGroup'
  ;   K[3]='UIUtil'
  ;   K[4]='SetActive'
  ;   K[5]='m_lockGo'
  ;   K[6]='m_index'
  ;   K[7]='transform'
  ;   K[8]='localPosition'
  ;   K[9]='m_lockPosition'
  ;   upvals: _ENV
  ;   locals: self(0-18), curStep(4-18)
  0000  GETTABLE  R1 = R0[K0('m_model')]
  0001  SELF      R2 = R1[K1('GetCurChainStep')] (self)
  0002  GETTABLE  R3 = R0[K2('m_dataGroup')]
  0003  CALL      R1 = call(R1, 1 args, 2 rets)
  0004  GETTABUP  R2 = _ENV[K3('UIUtil')]
  0005  GETTABLE  R2 = R2[K4('SetActive')]
  0006  GETTABLE  R3 = R0[K5('m_lockGo')]
  0007  GETTABLE  R4 = R0[K6('m_index')]
  0008  LT        if R1 lt R4   -> -130546
  0009  JMP       (jump)   -> 11
  0010  LOADBOOL  R4 = false
  0011  LOADBOOL  R4 = true
  0012  CALL      R2 = call(R2, 0 args, 2 rets)
  0013  GETTABLE  R2 = R0[K5('m_lockGo')]
  0014  GETTABLE  R2 = R2[K7('transform')]
  0015  GETTABLE  R3 = R0[K9('m_lockPosition')]
  0016  SETTABLE  R2[K8('localPosition')] = R3
  0017  RETURN    return R0..R-1
; ---------- proto17 [PlayUnlockSpine] ----------
  ; fn ?  line 225-227 np=1 va=0 ms=5 code=6 consts=3 upvals=0 protos=0
  ;   K[0]='m_lockSpine'
  ;   K[1]='SetAnimation'
  ;   K[2]='0_open_1'
  ;   locals: self(0-6)
  0000  GETTABLE  R1 = R0[K0('m_lockSpine')]
  0001  SELF      R2 = R1[K1('SetAnimation')] (self)
  0002  LOADK     R3 = K2 '0_open_1'
  0003  LOADBOOL  R4 = false
  0004  CALL      R1 = call(R1, 0 args, 3 rets)
  0005  RETURN    return R0..R-1
; ---------- proto18 [PlayUnlockEffect] ----------
  ; fn ?  line 229-231 np=1 va=0 ms=4 code=5 consts=2 upvals=0 protos=0
  ;   K[0]='m_unlockEffectGo'
  ;   K[1]='SetActive'
  ;   locals: self(0-5)
  0000  GETTABLE  R1 = R0[K0('m_unlockEffectGo')]
  0001  SELF      R2 = R1[K1('SetActive')] (self)
  0002  LOADBOOL  R3 = true
  0003  CALL      R1 = call(R1, 0 args, 2 rets)
  0004  RETURN    return R0..R-1
; ---------- proto19 [PlayScaleAnimation] ----------
  ; fn ?  line 233-243 np=1 va=0 ms=8 code=24 consts=12 upvals=1 protos=1
  ;   K[0]='_ClearTween'
  ;   K[1]='DOTween'
  ;   K[2]='Sequence'
  ;   K[3]='Append'
  ;   K[4]='m_bgTrans'
  ;   K[5]='DOScale'
  ;   K[6]=1.1
  ;   K[7]=0.2
  ;   K[8]=1
  ;   K[9]=0.3333333333333333
  ;   K[10]='AppendCallback'
  ;   K[11]='m_scaleTween'
  ;   upvals: _ENV
  ;   locals: self(0-24), s(5-24)
  0000  SELF      R2 = R0[K0('_ClearTween')] (self)
  0001  CALL      R1 = call(R1, 0 args, 1 rets)
  0002  GETTABUP  R1 = _ENV[K1('DOTween')]
  0003  SELF      R2 = R1[K2('Sequence')] (self)
  0004  CALL      R1 = call(R1, 1 args, 1 rets)
  0005  SELF      R3 = R1[K3('Append')] (self)
  0006  GETTABLE  R4 = R0[K4('m_bgTrans')]
  0007  SELF      R5 = R4[K5('DOScale')] (self)
  0008  LOADK     R6 = K6 1.1
  0009  LOADK     R7 = K7 0.2
  0010  CALL      R4 = call(R4, -1 args, 3 rets)
  0011  CALL      R2 = call(R2, 0 args, -1 rets)
  0012  SELF      R3 = R1[K3('Append')] (self)
  0013  GETTABLE  R4 = R0[K4('m_bgTrans')]
  0014  SELF      R5 = R4[K5('DOScale')] (self)
  0015  LOADK     R6 = K8 1
  0016  LOADK     R7 = K9 0.3333333333333333
  0017  CALL      R4 = call(R4, -1 args, 3 rets)
  0018  CALL      R2 = call(R2, 0 args, -1 rets)
  0019  SELF      R3 = R1[K10('AppendCallback')] (self)
  0020  CLOSURE   R4 = closure proto0
  0021  CALL      R2 = call(R2, 0 args, 2 rets)
  0022  SETTABLE  R0[K11('m_scaleTween')] = R1
  0023  RETURN    return R0..R-1
  ; ---------- proto0 [m_scaleTween] ----------
    ; fn ?  line 239-241 np=0 va=0 ms=2 code=2 consts=2 upvals=1 protos=0
    ;   K[0]='m_scaleTween'
    ;   K[1]=nil
    ;   upvals: self
    0000  SETTABUP  self[K0('m_scaleTween')] = K1(nil)
    0001  RETURN    return R0..R-1
; ---------- proto20 [ToggleAvailableEffect] ----------
  ; fn ?  line 245-260 np=2 va=0 ms=9 code=44 consts=24 upvals=1 protos=0
  ;   K[0]='m_buttonEffectGo'
  ;   K[1]='SetActive'
  ;   K[2]='m_tween'
  ;   K[3]='Kill'
  ;   K[4]=nil
  ;   K[5]='m_iapBtnTrans'
  ;   K[6]='SetLocalScaleXY'
  ;   K[7]=1
  ;   K[8]='DOTween'
  ;   K[9]='Sequence'
  ;   K[10]='Append'
  ;   K[11]='DOScale'
  ;   K[12]=1.1
  ;   K[13]=0.3
  ;   K[14]='SetEase'
  ;   K[15]='Ease'
  ;   K[16]='InOutSine'
  ;   K[17]='SetLoops'
  ;   K[18]=2
  ;   K[19]='LoopType'
  ;   K[20]='Yoyo'
  ;   K[21]='AppendInterval'
  ;   K[22]=2.4
  ;   K[23]=-1
  ;   upvals: _ENV
  ;   locals: self(0-44), visible(0-44), s(20-43)
  0000  GETTABLE  R2 = R0[K0('m_buttonEffectGo')]
  0001  SELF      R3 = R2[K1('SetActive')] (self)
  0002  MOVE      R4 = R0
  0003  CALL      R2 = call(R2, 0 args, 2 rets)
  0004  GETTABLE  R2 = R0[K2('m_tween')]
  0005  TEST      if not R2 then   -> -131065
  0006  JMP       (jump)   -> 11
  0007  GETTABLE  R2 = R0[K2('m_tween')]
  0008  SELF      R3 = R2[K3('Kill')] (self)
  0009  CALL      R2 = call(R2, 0 args, 1 rets)
  0010  SETTABLE  R0[K2('m_tween')] = K4(nil)
  0011  GETTABLE  R2 = R0[K5('m_iapBtnTrans')]
  0012  SELF      R3 = R2[K6('SetLocalScaleXY')] (self)
  0013  LOADK     R4 = K7 1
  0014  CALL      R2 = call(R2, 0 args, 2 rets)
  0015  TEST      if not R1 then   -> -131055
  0016  JMP       (jump)   -> 43
  0017  GETTABUP  R2 = _ENV[K8('DOTween')]
  0018  GETTABLE  R2 = R2[K9('Sequence')]
  0019  CALL      R2 = call(R2, 1 args, 0 rets)
  0020  SELF      R4 = R2[K10('Append')] (self)
  0021  GETTABLE  R5 = R0[K5('m_iapBtnTrans')]
  0022  SELF      R6 = R5[K11('DOScale')] (self)
  0023  LOADK     R7 = K12 1.1
  0024  LOADK     R8 = K13 0.3
  0025  CALL      R5 = call(R5, 1 args, 3 rets)
  0026  SELF      R6 = R5[K14('SetEase')] (self)
  0027  GETTABUP  R7 = _ENV[K15('Ease')]
  0028  GETTABLE  R7 = R7[K16('InOutSine')]
  0029  CALL      R5 = call(R5, 1 args, 2 rets)
  0030  SELF      R6 = R5[K17('SetLoops')] (self)
  0031  LOADK     R7 = K18 2
  0032  GETTABUP  R8 = _ENV[K19('LoopType')]
  0033  GETTABLE  R8 = R8[K20('Yoyo')]
  0034  CALL      R5 = call(R5, -1 args, 3 rets)
  0035  CALL      R3 = call(R3, 0 args, -1 rets)
  0036  SELF      R4 = R2[K21('AppendInterval')] (self)
  0037  LOADK     R5 = K22 2.4
  0038  CALL      R3 = call(R3, 0 args, 2 rets)
  0039  SELF      R4 = R2[K17('SetLoops')] (self)
  0040  LOADK     R5 = K23 -1
  0041  CALL      R3 = call(R3, 0 args, 2 rets)
  0042  SETTABLE  R0[K2('m_tween')] = R2
  0043  RETURN    return R0..R-1
; ---------- proto21 [_IsLogicUnlocked] ----------
  ; fn ?  line 262-264 np=1 va=0 ms=4 code=11 consts=4 upvals=0 protos=0
  ;   K[0]='m_model'
  ;   K[1]='GetCurChainStep'
  ;   K[2]='m_dataGroup'
  ;   K[3]='m_index'
  ;   locals: self(0-11)
  0000  GETTABLE  R1 = R0[K0('m_model')]
  0001  SELF      R2 = R1[K1('GetCurChainStep')] (self)
  0002  GETTABLE  R3 = R0[K2('m_dataGroup')]
  0003  CALL      R1 = call(R1, 1 args, 2 rets)
  0004  GETTABLE  R2 = R0[K3('m_index')]
  0005  EQ        if R1 eq R2   -> -130551
  0006  JMP       (jump)   -> 8
  0007  LOADBOOL  R1 = false
  0008  LOADBOOL  R1 = true
  0009  RETURN    return R1..R0
  0010  RETURN    return R0..R-1
; ---------- proto22 [IsInCurStep] ----------
  ; fn ?  line 266-272 np=1 va=0 ms=3 code=9 consts=2 upvals=0 protos=0
  ;   K[0]='m_bUnlocked'
  ;   K[1]='_IsLogicUnlocked'
  ;   locals: self(0-9)
  0000  GETTABLE  R1 = R0[K0('m_bUnlocked')]
  0001  TEST      if not R1 then   -> -131068
  0002  JMP       (jump)   -> 5
  0003  LOADBOOL  R1 = false
  0004  RETURN    return R1..R0
  0005  SELF      R2 = R0[K1('_IsLogicUnlocked')] (self)
  0006  TAILCALL  tailcall(R1, 0)
  0007  RETURN    return R1..R0
  0008  RETURN    return R0..R-1
; ---------- proto23 [OnBtnClicked] ----------
  ; fn ?  line 274-291 np=1 va=0 ms=5 code=16 consts=8 upvals=1 protos=1
  ;   K[0]='IsInCurStep'
  ;   K[1]='m_model'
  ;   K[2]='BuyBundle'
  ;   K[3]='m_dataGroup'
  ;   K[4]='GM'
  ;   K[5]='UIManager'
  ;   K[6]='ShowPromptWithKey'
  ;   K[7]='1by1pack_hint'
  ;   upvals: _ENV
  ;   locals: self(0-16)
  0000  SELF      R2 = R0[K0('IsInCurStep')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  TEST      if not R1 then   -> -131068
  0003  JMP       (jump)   -> 10
  0004  GETTABLE  R1 = R0[K1('m_model')]
  0005  SELF      R2 = R1[K2('BuyBundle')] (self)
  0006  GETTABLE  R3 = R0[K3('m_dataGroup')]
  0007  CLOSURE   R4 = closure proto0
  0008  CALL      R1 = call(R1, 0 args, 3 rets)
  0009  JMP       (jump)   -> 15
  0010  GETTABUP  R1 = _ENV[K4('GM')]
  0011  GETTABLE  R1 = R1[K5('UIManager')]
  0012  SELF      R2 = R1[K6('ShowPromptWithKey')] (self)
  0013  LOADK     R3 = K7 '1by1pack_hint'
  0014  CALL      R1 = call(R1, 0 args, 2 rets)
  0015  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 276-287 np=1 va=0 ms=11 code=25 consts=12 upvals=2 protos=1
    ;   K[0]='_UpdateButton'
    ;   K[1]='m_model'
    ;   K[2]='GetTitleText'
    ;   K[3]='m_dataGroup'
    ;   K[4]='GM'
    ;   K[5]='UIManager'
    ;   K[6]='OpenView'
    ;   K[7]='UIPrefabConfigName'
    ;   K[8]='BundleRewardWindow'
    ;   K[9]='ERewardScene'
    ;   K[10]='Bundle'
    ;   K[11]='ToggleAvailableEffect'
    ;   upvals: self, _ENV
    ;   locals: rewards(0-25), titleText(7-25)
    0000  GETUPVAL  R1 = self
    0001  SELF      R2 = R1[K0('_UpdateButton')] (self)
    0002  CALL      R1 = call(R1, 0 args, 1 rets)
    0003  GETTABUP  R1 = self[K1('m_model')]
    0004  SELF      R2 = R1[K2('GetTitleText')] (self)
    0005  GETTABUP  R3 = self[K3('m_dataGroup')]
    0006  CALL      R1 = call(R1, 1 args, 2 rets)
    0007  GETTABUP  R2 = _ENV[K4('GM')]
    0008  GETTABLE  R2 = R2[K5('UIManager')]
    0009  SELF      R3 = R2[K6('OpenView')] (self)
    0010  GETTABUP  R4 = _ENV[K7('UIPrefabConfigName')]
    0011  GETTABLE  R4 = R4[K8('BundleRewardWindow')]
    0012  MOVE      R5 = R0
    0013  MOVE      R6 = R0
    0014  LOADBOOL  R7 = true
    0015  GETTABUP  R8 = _ENV[K9('ERewardScene')]
    0016  GETTABLE  R8 = R8[K10('Bundle')]
    0017  LOADNIL   R9..R9 = nil
    0018  CLOSURE   R10 = closure proto0
    0019  CALL      R2 = call(R2, 0 args, 8 rets)
    0020  GETUPVAL  R2 = self
    0021  SELF      R3 = R2[K11('ToggleAvailableEffect')] (self)
    0022  LOADBOOL  R4 = false
    0023  CALL      R2 = call(R2, 0 args, 2 rets)
    0024  RETURN    return R0..R-1
    ; ---------- proto0 [] ----------
      ; fn ?  line 279-284 np=0 va=0 ms=2 code=16 consts=4 upvals=1 protos=0
      ;   K[0]='gameObject'
      ;   K[1]='IsNull'
      ;   K[2]='m_window'
      ;   K[3]='PlayUnlockAnimation'
      ;   upvals: self
      0000  GETTABUP  R0 = self[K0('gameObject')]
      0001  SELF      R1 = R0[K1('IsNull')] (self)
      0002  CALL      R0 = call(R0, 1 args, 1 rets)
      0003  TEST      if not R0 then   -> -131066
      0004  JMP       (jump)   -> 11
      0005  GETTABUP  R0 = self[K2('m_window')]
      0006  GETTABLE  R0 = R0[K0('gameObject')]
      0007  SELF      R1 = R0[K1('IsNull')] (self)
      0008  CALL      R0 = call(R0, 1 args, 1 rets)
      0009  TEST      if not R0 then   -> -131061
      0010  JMP       (jump)   -> 12
      0011  RETURN    return R0..R-1
      0012  GETTABUP  R0 = self[K2('m_window')]
      0013  SELF      R1 = R0[K3('PlayUnlockAnimation')] (self)
      0014  CALL      R0 = call(R0, 0 args, 1 rets)
      0015  RETURN    return R0..R-1
; ---------- proto24 [GetLockGo] ----------
  ; fn ?  line 293-295 np=1 va=0 ms=2 code=3 consts=1 upvals=0 protos=0
  ;   K[0]='m_lockGo'
  ;   locals: self(0-3)
  0000  GETTABLE  R1 = R0[K0('m_lockGo')]
  0001  RETURN    return R1..R0
  0002  RETURN    return R0..R-1
