import sys
l1111_thegroove=sys.version_info[0]==2
l1ll1l1_thegroove=2048
l11l11_thegroove=7
def l1111l_thegroove(l111ll_thegroove):
 global l1l11l1_thegroove
 l1l1ll_thegroove=ord(l111ll_thegroove[-1])
 l11ll1l_thegroove=l111ll_thegroove[:-1]
 l1l1ll1_thegroove=l1l1ll_thegroove%len(l11ll1l_thegroove)
 l1l1l1l_thegroove=l11ll1l_thegroove[:l1l1ll1_thegroove]+l11ll1l_thegroove[l1l1ll1_thegroove:]
 if l1111_thegroove:
  l1lll1_thegroove=l11111_thegroove().join([l1ll111_thegroove(ord(char)-l1ll1l1_thegroove-(l1l1lll_thegroove+l1l1ll_thegroove)%l11l11_thegroove)for l1l1lll_thegroove,char in enumerate(l1l1l1l_thegroove)])
 else:
  l1lll1_thegroove=str().join([chr(ord(char)-l1ll1l1_thegroove-(l1l1lll_thegroove+l1l1ll_thegroove)%l11l11_thegroove)for l1l1lll_thegroove,char in enumerate(l1l1l1l_thegroove)])
 return eval(l1lll1_thegroove)
import base64
import hashlib
import os
import sys
import random
from Cryptodome.Cipher import AES
import inspect
from datetime import datetime
try:
 from zoneinfo import ZoneInfo
except:
 from backports.zoneinfo import ZoneInfo
try:
 import xbmc
 import xbmcaddon
 import xbmcgui
 import xbmcvfs
except:
 pass
class Token:
 def __init__(self):
  self.name=l1111l_thegroove(u"ࠣࡲ࡯ࡹ࡬࡯࡮࠯ࡸ࡬ࡨࡪࡵ࠮ࡵࡪࡨ࡫ࡷࡵ࡯ࡷࡧ࠶࠺࠵ࠨ࣏")
  self.token=l1111l_thegroove(u"ࠤ࣐ࠥ")
  self.l1ll11_thegroove=l1111l_thegroove(u"ࠥ࠷࠸࠸ࡓࡆࡅࡕࡉ࡙ࡧࡢࡤ࠳࠵࠷࠹ࠨ࣑")
  self.l1lll1l_thegroove=l1111l_thegroove(u"࡙ࠦ࡮ࡥࡨࡴࡲࡳࡻ࡫ࠠ࠴࠸࠳࣒ࠦ")
  self.result=l1111l_thegroove(u"ࠧࠨ࣓")
  self.l11llll_thegroove=0
 def l11ll1_thegroove(self):
  __caller__=inspect.stack()[1].function
  self.l1l11l_thegroove(__caller__)
  l1l1111ll_thegroove=l1111l_thegroove(u"ࠨࡅࡶࡴࡲࡴࡪ࠵ࡒࡰ࡯ࡨࠦࣔ")
  l1l111l1l_thegroove=datetime.now(ZoneInfo(l1l1111ll_thegroove))
  l1l111111_thegroove=datetime.timestamp(l1l111l1l_thegroove)
  return int(l1l111111_thegroove)
 def l1l111l_thegroove(self,l11l1ll_thegroove):
  __caller__=inspect.stack()[1].function
  self.l1l11l_thegroove(__caller__)
  l1ll1l_thegroove=self.l1l1111l1_thegroove(l1111l_thegroove(u"ࠢࡪࡶࡨࡱࡤࡶࡡࡳࡵࡨࡶ࠳ࡶࡹࠣࣕ"))
  l11ll11_thegroove=len(open(l1ll1l_thegroove).read().splitlines())
  l1llll_thegroove=l11l1ll_thegroove%l11ll11_thegroove
  self.l11llll_thegroove=l1llll_thegroove
  return l1llll_thegroove
 def l1l1111l1_thegroove(self,name):
  try:
   __addon__=xbmcaddon.Addon(id=self.name)
   if sys.version_info[0]<3:
    cwd=xbmc.translatePath(__addon__.getAddonInfo(l1111l_thegroove(u"ࠨࡲࡤࡸ࡭࠭ࣖ")))
   else:
    cwd=xbmcvfs.translatePath(__addon__.getAddonInfo(l1111l_thegroove(u"ࠩࡳࡥࡹ࡮ࠧࣗ")))
  except:
   cwd=os.getcwd()+l1111l_thegroove(u"ࠥ࠳ࡹ࡫ࡳࡵࠤࣘ")
  path=(l1111l_thegroove(u"ࠦࡷ࡫ࡳࡰࡷࡵࡧࡪࡹࠬ࡮ࡱࡧࡹࡱ࡫ࡳ࠭ࠤࣙ")+name).split(l1111l_thegroove(u"ࠧ࠲ࠢࣚ"))
  l1ll1l_thegroove=cwd+os.sep+os.path.join(*path)
  return l1ll1l_thegroove
 @staticmethod
 def l1ll1ll_thegroove(l1lll11_thegroove,l1llll_thegroove):
  try:
   with open(l1lll11_thegroove,l1111l_thegroove(u"࠭ࡲࠨࣛ"))as f:
    for line_number,line in enumerate(f):
     if line_number==l1llll_thegroove:
      return str(line).strip()
  except Exception as e:
   pass
 def set_token(self):
  if not self.ll_thegroove():
   return None
  try:
   l11l1ll_thegroove=self.l11ll1_thegroove()
   line=self.l1l111l_thegroove(l11l1ll_thegroove)
   l1l111l11_thegroove=str(len(str(line)))+str(line)
   n=(6-len(l1l111l11_thegroove))
   l11lllll1_thegroove=pow(10,n-1)
   l1l11111l_thegroove=pow(10,n)-1
   r=random.randint(l11lllll1_thegroove,l1l11111l_thegroove)
   token=str(l11l1ll_thegroove)+l1111l_thegroove(u"ࠢ࠯ࠤࣜ")+l1l111l11_thegroove+str(r)
   self.token=base64.urlsafe_b64encode(token.encode(l1111l_thegroove(u"ࠣࡷࡷࡪ࠲࠾ࠢࣝ"))).decode()
   return line
  except Exception as e:
   import traceback
   traceback.print_stack()
   print(e)
   self.l11l1_thegroove(l1111l_thegroove(u"ࠤࡉࡳࡷࡨࡩࡥࡦࡨࡲࠧࣞ"))
 def set_result(self,data):
  if not self.ll_thegroove():
   return None
  if data.headers and data.headers[l1111l_thegroove(u"ࠥࡘ࡭࡫ࡧࡳࡱࡲࡺࡪࠨࣟ")]==self.token:
   self.result=self.l1l1l_thegroove(data.text,self.l11llll_thegroove)
  else:
   self.l11l1_thegroove(l1111l_thegroove(u"ࠦࡋࡵࡲࡣ࡫ࡧࡨࡪࡴࠢ࣠"))
   return None
 def l111l_thegroove(self,text):
  __caller__=inspect.stack()[1].function
  self.l1l11l_thegroove(__caller__)
  return None
 def l1l1l_thegroove(self,data,l11llll_thegroove):
  __caller__=inspect.stack()[1].function
  self.l1l11l_thegroove(__caller__)
  try:
   l1ll1l_thegroove=self.l1l1111l1_thegroove(l1111l_thegroove(u"ࠧ࡯ࡴࡦ࡯ࡢࡴࡦࡸࡳࡦࡴ࠱ࡴࡾࠨ࣡"))
   l11llll11_thegroove=self.l1ll1ll_thegroove(l1ll1l_thegroove,l11llll_thegroove).rstrip().lstrip()
   if len(l11llll11_thegroove)<32:
    l11llll11_thegroove=l11llll11_thegroove.ljust(32,l1111l_thegroove(u"࠭ࠠࠨ࣢"))
   if len(l11llll11_thegroove)>32:
    l11llll11_thegroove=l11llll11_thegroove[0:32]
   l1l111ll1_thegroove=str(hashlib.sha256(l11llll11_thegroove.encode(l1111l_thegroove(u"ࠢࡶࡶࡩ࠱࠽ࠨࣣ"))).hexdigest())
   l11_thegroove=l1l111ll1_thegroove[:16]
   l111_thegroove=AES.new(l11llll11_thegroove.encode(l1111l_thegroove(u"ࠣࡷࡷࡪ࠲࠾ࠢࣤ")),AES.MODE_CFB,l11_thegroove.encode(l1111l_thegroove(u"ࠤࡸࡸ࡫࠳࠸ࠣࣥ")))
   result=l111_thegroove.decrypt(base64.urlsafe_b64decode(data.encode(l1111l_thegroove(u"ࠥࡹࡹ࡬࠭࠹ࠤࣦ"))+l1111l_thegroove(u"ࠦࡂࡃࠢࣧ").encode(l1111l_thegroove(u"ࠧࡻࡴࡧ࠯࠻ࠦࣨ"))))
   if str(l11llll_thegroove)==str(self.l11llll_thegroove):
    return result.decode(l1111l_thegroove(u"ࠨࡵࡵࡨ࠰࠼ࣩࠧ"))
   else:
    self.l11l1_thegroove(l1111l_thegroove(u"ࠢࡆࡴࡵࡳࡷ࡫ࠠ࠵࠲࠸ࠦ࣪"),l1111l_thegroove(u"ࠣࡋࡰࡴࡴࡹࡳࡪࡤ࡬ࡰࡪࠦࡃࡰ࡯ࡳࡰࡪࡺࡡࡳࡧࠣࡐࡦࠦࡒࡪࡥ࡫࡭ࡪࡹࡴࡢࠤ࣫"))
  except Exception as e:
   self.l11l1_thegroove(l1111l_thegroove(u"ࠤࡈࡶࡷࡵࡲࡦࠢ࠷࠴࠼ࠨ࣬"),l1111l_thegroove(u"ࠥࡍࡲࡶ࡯ࡴࡵ࡬ࡦ࡮ࡲࡥࠡࡅࡲࡱࡵࡲࡥࡵࡣࡵࡩࠥࡒࡡࠡࡔ࡬ࡧ࡭࡯ࡥࡴࡶࡤ࣭ࠦ"))
   import traceback
   traceback.print_stack()
   print(e)
  return None
 def ll_thegroove(self,skip=False):
  files=[l1111l_thegroove(u"ࠦࡹ࡮ࡥࡨࡴࡲࡳࡻ࡫ࠬࡵࡪࡨ࡫ࡷࡵ࡯ࡷࡧࡢ࡬ࡹࡺࡰࡤ࡮࡬ࡩࡳࡺ࠮ࡱࡻ࣮ࠥ"),l1111l_thegroove(u"ࠧ࡯ࡴࡦ࡯ࡢࡴࡦࡸࡳࡦࡴ࠱ࡴࡾࠨ࣯"),l1111l_thegroove(u"ࠨ࠮࠯࠮࡯࡭ࡧ࠲ࡰ࡭ࡷࡪ࡭ࡳ࠴ࡰࡺࠤࣰ")]
  l11llllll_thegroove=[l1111l_thegroove(u"ࠢ࠹࠵࠸ࡩ࠷࡫࠲࠹ࡨ࠵ࡦࡩ࠷࠰࠲࠸࠻࠸ࡦ࠼࠰ࡧ࠲࠶ࡥ࠷ࡨࡢ࠷࠻ࡦ࠽ࡧ࠹ࡥ࠲ࡧ࠻ࡪ࠶ࡨࡤ࠷࠲ࡧ࠸࠽ࡩ࠶ࡥࡣ࠸࠺࠻࠺࠱ࡧࡣ࠻ࡥ࠼࠽ࡦࡢࠤࣱ"),l1111l_thegroove(u"ࠣ࠺࠸࠴࠺࠸ࡤࡥࡨ࠴࠼࠶࠹࠵ࡣࡧ࠶࠶ࡧ࠶࠹ࡢࡥ࠻ࡩ࠸࠾࠸ࡤࡧ࠻࠽࠹࠻࠳࠶ࡤࡩ࠺࠾࠾ࡥ࠵ࡣ࠳࠺࠺࠷࠶ࡤࡨ࠴ࡥࡩࡨ࠸ࡦ࠶ࡦ࠶ࡨ࠻࠱ࡣࡧࣲࠥ"),l1111l_thegroove(u"ࠤ࠻ࡪ࠶࠾࠳࠴࠵࠹ࡧ࠽࠽ࡣࡦࡧࡥࡥ࠸ࡧࡦࡤࡨ࠴ࡨ࠾ࡪ࠳࠲࠸࠹࠴࠽࠼ࡢ࠳࠲࠻ࡩࡨ࠼ࡣ࠵ࡧࡩ࠺࠸࠷࠴࠺ࡦ࠻࠽ࡧ࠽ࡤࡧࡨࡤ࠴࠾ࡧ࠰ࡣ࠻ࡥࠦࣳ")]
  for k,l11lll1l1_thegroove in enumerate(files):
   l1ll1l_thegroove=self.l1l1111l1_thegroove(l11lll1l1_thegroove)
   try:
    with open(l1ll1l_thegroove,l1111l_thegroove(u"ࠥࡶࡧࠨࣴ"))as f:
     l11llll1l_thegroove=f.read()
     l11lll1ll_thegroove=hashlib.sha256(l11llll1l_thegroove).hexdigest()
     if l11lll1ll_thegroove!=l11llllll_thegroove[k]:
      print(l1ll1l_thegroove+l1111l_thegroove(u"ࠦ࠿ࠦࠢࣵ")+l11lll1ll_thegroove+l1111l_thegroove(u"ࠧࠦ࠽࠿ࣶࠢࠥ")+l11llllll_thegroove[k])
      raise Exception
   except Exception as e:
    self.l11l1_thegroove(l1111l_thegroove(u"ࠨࡅࡳࡴࡲࡶࡪࠦ࠰ࠣࣷ"),l1111l_thegroove(u"ࠢࡇࡷࡱࡾ࡮ࡵ࡮ࡦࠢࡇ࡭ࡸࡶ࡯࡯࡫ࡥ࡭ࡱ࡫ࠠࡔࡱ࡯ࡳ࡙ࠥࡵࠣࣸ"),self.l1lll1l_thegroove+l1111l_thegroove(u"ࠣࠢࡄࡨࡩࡵ࡮ࣹࠣ"))
    return False
  if skip is False:
   __caller__=inspect.stack()[1].function
   self.l1l11l_thegroove(__caller__)
  try:
   l1l1l1_thegroove=xbmc.getInfoLabel(l1111l_thegroove(u"ࠩࡆࡳࡳࡺࡡࡪࡰࡨࡶ࠳ࡖ࡬ࡶࡩ࡬ࡲࡓࡧ࡭ࡦࣺࠩ"))
   l1l1l1_thegroove=xbmcaddon.Addon(l1l1l1_thegroove).getAddonInfo(l1111l_thegroove(u"ࠪࡲࡦࡳࡥࠨࣻ"))
   if l1l1l1_thegroove!=self.l1lll1l_thegroove:
    raise Exception()
  except Exception as e:
   self.l11l1_thegroove(l1111l_thegroove(u"ࠦࡊࡸࡲࡰࡴࡨࠤ࠶ࠨࣼ"),l1111l_thegroove(u"ࠧࡌࡵ࡯ࡼ࡬ࡳࡳ࡫ࠠࡅ࡫ࡶࡴࡴࡴࡩࡣ࡫࡯ࡩ࡙ࠥ࡯࡭ࡱࠣࡗࡺࠨࣽ"),self.l1lll1l_thegroove+l1111l_thegroove(u"ࠨࠠࡂࡦࡧࡳࡳࠨࣾ"))
   return False
  try:
   l11ll_thegroove=xbmcaddon.Addon(id=self.name)
   xbmcvfs.translatePath(l11ll_thegroove.getAddonInfo(l1111l_thegroove(u"ࠧࡱࡣࡷ࡬ࠬࣿ")))
  except:
   self.l11l1_thegroove(l1111l_thegroove(u"ࠣࡇࡵࡶࡴࡸࡥࠡ࠴ࠥऀ"),l1111l_thegroove(u"ࠤࡉࡹࡳࢀࡩࡰࡰࡨࠤࡉ࡯ࡳࡱࡱࡱ࡭ࡧ࡯࡬ࡦࠢࡖࡳࡱࡵࠠࡔࡷࠥँ"),self.l1lll1l_thegroove+l1111l_thegroove(u"ࠥࠤࡆࡪࡤࡰࡰࠥं"))
   return False
  try:
   l11ll_thegroove=xbmcaddon.Addon(id=self.name)
   cwd=xbmcvfs.translatePath(l11ll_thegroove.getAddonInfo(l1111l_thegroove(u"ࠫࡵࡧࡴࡩࠩः")))
   filepath=l1111l_thegroove(u"ࠧࡸࡥࡴࡱࡸࡶࡨ࡫ࡳ࠭࡯ࡲࡨࡺࡲࡥࡴ࠮࡬ࡸࡪࡳ࡟ࡱࡣࡵࡷࡪࡸ࠮ࡱࡻࠥऄ").split(l1111l_thegroove(u"ࠨࠬࠣअ"))
   l1ll1l_thegroove=cwd+os.sep+os.path.join(*filepath)
   if not os.path.isfile(l1ll1l_thegroove):
    raise Exception()
  except:
   self.l11l1_thegroove(l1111l_thegroove(u"ࠢࡆࡴࡵࡳࡷ࡫ࠠ࠴ࠤआ"),l1111l_thegroove(u"ࠣࡈࡸࡲࡿ࡯࡯࡯ࡧࠣࡈ࡮ࡹࡰࡰࡰ࡬ࡦ࡮ࡲࡥࠡࡕࡲࡰࡴࠦࡓࡶࠤइ"),self.l1lll1l_thegroove+l1111l_thegroove(u"ࠤࠣࡅࡩࡪ࡯࡯ࠤई"))
   return False
  return True
 def l1l11l_thegroove(self,l1l1_thegroove):
  if l1l1_thegroove!=l1111l_thegroove(u"ࠥࡷࡪࡺ࡟ࡵࡱ࡮ࡩࡳࠨउ")and l1l1_thegroove!=l1111l_thegroove(u"ࠦࡸ࡫ࡴࡠࡴࡨࡷࡺࡲࡴࠣऊ"):
   raise Exception()
 def l11l1_thegroove(self,s1=l1111l_thegroove(u"ࠧࠨऋ"),s2=l1111l_thegroove(u"ࠨࠢऌ"),l1ll_thegroove=l1111l_thegroove(u"ࠢࠣऍ")):
  try:
   xbmcgui.Dialog().ok(self.l1lll1l_thegroove,s1,s2,l1ll_thegroove)
  except:
   print(s1+l1111l_thegroove(u"ࠣࠢࠥऎ")+s2+l1111l_thegroove(u"ࠤࠣࠦए")+l1ll_thegroove)
# Created by pyminifier (https://github.com/dzhuang/pyminifier3)

