hiddifypanel 3.0.0.dev64__cp311-cp311-manylinux2014_x86_64.whl → 3.0.0.dev65__cp311-cp311-manylinux2014_x86_64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. hiddifypanel/Events.py +27 -4
  2. hiddifypanel/VERSION +1 -1
  3. hiddifypanel/VERSION.py +1 -3
  4. hiddifypanel/__init__.py +7 -3
  5. hiddifypanel/__main__.py +13 -3
  6. hiddifypanel/base.py +88 -3
  7. hiddifypanel/base2.py +40 -3
  8. hiddifypanel/models/__init__.py +10 -3
  9. hiddifypanel/models/child.py +26 -4
  10. hiddifypanel/models/config.py +105 -4
  11. hiddifypanel/models/config_enum.py +207 -4
  12. hiddifypanel/models/domain.py +106 -4
  13. hiddifypanel/models/proxy.py +55 -3
  14. hiddifypanel/models/usage.py +58 -3
  15. hiddifypanel/models/user.py +171 -3
  16. hiddifypanel/panel/admin/Actions.py +1 -1
  17. hiddifypanel/panel/admin_2.py +33 -3
  18. hiddifypanel/panel/cf_api.py +35 -4
  19. hiddifypanel/panel/common.py +98 -3
  20. hiddifypanel/panel/custom_widgets.py +71 -4
  21. hiddifypanel/panel/database.py +18 -3
  22. hiddifypanel/panel/hiddify_api.py +70 -3
  23. hiddifypanel/panel/usage.py +4 -5
  24. hiddifypanel/panel/user/templates/home/multi.html +1 -1
  25. hiddifypanel/panel/user/user.py +2 -0
  26. hiddifypanel/static/css/custom.css +6 -0
  27. hiddifypanel/templates/500.html +1 -1
  28. hiddifypanel/xray_api.py +109 -3
  29. {hiddifypanel-3.0.0.dev64.dist-info → hiddifypanel-3.0.0.dev65.dist-info}/METADATA +1 -1
  30. {hiddifypanel-3.0.0.dev64.dist-info → hiddifypanel-3.0.0.dev65.dist-info}/RECORD +34 -36
  31. hiddifypanel-3.0.0.dev65.dist-info/top_level.txt +1 -0
  32. hiddifypanel-3.0.0.dev64.dist-info/top_level.txt +0 -2
  33. pyarmor_runtime_000000/__init__.py +0 -4
  34. pyarmor_runtime_000000/pyarmor_runtime.so +0 -0
  35. {hiddifypanel-3.0.0.dev64.dist-info → hiddifypanel-3.0.0.dev65.dist-info}/LICENSE +0 -0
  36. {hiddifypanel-3.0.0.dev64.dist-info → hiddifypanel-3.0.0.dev65.dist-info}/WHEEL +0 -0
  37. {hiddifypanel-3.0.0.dev64.dist-info → hiddifypanel-3.0.0.dev65.dist-info}/entry_points.txt +0 -0
hiddifypanel/xray_api.py CHANGED
@@ -1,5 +1,111 @@
1
- # 2023-04-08T16:23:30.315402
2
- from pyarmor_runtime_000000 import __pyarmor__
3
- __pyarmor__(__name__, __file__, b'PY000000\x00\x03\x0b\x00\xa7\r\r\n\x80\x00\x01\x00\x08\x00\x00\x00\x04\x00\x00\x00@\x00\x00\x00\x7f#\x00\x00\x12\t\x04\x00c\xf6\xa8p\xc4\xaf\xf9/qfz}\xcd.\xefd\x00\x00\x00\x00\x00\x00\x00\x00\xda\t\x88\x98\xbf\x9fN3o\xb3Q)P\x17\xae\xf0o\x92\x97\xe90d\x92\xd0\x90\x8fsj\x8dP^l6Q\xa0\xe5\xd7\xb0\r\xa6\xa6\x89\xaa\xb7\xd9\xa093\x81q\xbd4B\xd0\xa1E\x93\xee`\n+\xb0\x11\x1fF\xcf\xea)\xe0\xb7\xfc\xb7y\xe8\x99\xf9r\xfc\xd4\xfeI\xcb\xdb\x90\x14\x80\x9c\x1a\xed\xe8\xf6\xc5\xf8\x96\x00\xa9S\xc6\'\xf0\x9a\x95\x06Pv4\xcd\xb8\x8d\xe9Q\x0fh\xf4\xd3\xacQ\x1e\x11m>\x02\xec/\xbb\x95\xdd(\xc1N\xf1\xd2\x96\x05\xf52z\n\xc2\x83\xfc\x98\x88\xed\xb8n4\x15\x1c<\xc4\xf7\xc1\x9d\xcb\x9b(n\xa6\xb6E\xaeJ\xc2\x90\x9f\xe9\xd5\x9c\x84\xf6\x8b\xcb]\x14\xb8\xfa\xbbG\xcd\x0e\xe2?\xb6\xd6jF\xb4$\x89r\xe0$\x00\xb1{,\x86;\x85\'\x90\x0e\xdd }\xdd\xc4\xddb\xfal!\xc5\xb1\xd2\x1f\x18\xf7R\\\xa8U86\xdetn][\x07-J5X\xfcV\x14\x97u\x86lV\xcd](\x8a\xc4VX\x17\xef\xb8Y\x0e\xe1\xf9\x08s\x0e\xecj\x16\x14<\xf4\xa0\xd17\xb8;\xce\x04\xb0\xdcF\x03\x95\x9e\xcd\xc9\x06,=K\x97\xcb\xde\x89\xe1\xd4o\x06\x8d\xf59\xf4+\xf4zR)\x14\xb8B\x8d\xcc>\x922\xa2\xb2\xa2\x80.\x03f\xd4up\xf8\xd0\xc7\x8d_\x99\xfa\x8eZ\xc3\x04h\xfb\xe9\xc1W\x93\xed\xa4cN\xd8\xd2\x93\xd9\xcc\t\'+v\xac\x99\xae\x1a\xa9?\xd0D\x15\x1c*\xd2mw\rm\xdd\xd0\n!\xb3\xd8\x08{]\x11$\x9eJ#\x9c\x01\x89kji\x13(\xb3\x01\xaf\x98\t\xfa\\\xd3\xa1+\xec\x1b$3kd\xf2I\xe9\xab\x9a\xc2\\\xd8\xd4ZM\x01\xf1E\x01e\xa8\x9dit\x01%\x05l\xa2\x9a\xe2?\x96\x14Q$s\x00\xb4\x02\x83\x1f\xcf\xa3r\xdc\\#|[-\xb3;\x12\x00=\xffh\x95\x84\xbb:\xa4\x05f=\xb9}\x9a\xc6\xc1KJi\xd1\xec\x1e6\xed\xa5r\x9aP_\xcd\xfaC\xb7I\xfa\xf0\xd8\x91\xae\xb7?\x05\x8b\xce\xeb\xf9\x10\x8d2i\x93J\xbf\xbe\x88\xc7s\x88\xa0\x12\x91f\xd5\x12\'\xc9\x90\xa8\x0c\xdc\xed\x86\x8ar\xec\x8a+\xaa\x98/w<\x00\xeaB\x89Ux\x0f\x0f\xd2\xe1\x16\xf7\x8a}0\xa9\xc8\xf7\xcc\x89R6\xd7\x83\xf3\xdf\xa2d\x1e\xa4\x1eiEo\xc4\x8a+\x9b\xc3\x0e\x06h\x91\xf2\xd6/\xdb\x08\xad\x0c\xc1\x7f\xa5\xe4\x0c\x99\xfa\x17\x08|\x81\xc2newy\xf9\xfd\\\xed&\xfd\xee\x03{v\x8c\x1aa\xbf\xfa\xd9\xc3\x93\x07(\xae\xbc\xf9\xb7\xf6\xbe\xb3J\x1ew\xe4o\x99\xcas\xc7\x99\xbd\xd2\xec\xcfN\xc8\xb0\x9f\xf4\xdb\xc8\x90eIbn\xf5vAx\xbb\xdbg\x95\xe3KI!\x97\xc8$\xfcbg*5\xb5\x84\xbes\n\x19\x03\x17\xa5\xda\xc5\xc8\xba \xd5\xac\xcf-\x9d\x9d\x1e\x1d\x8a\x1c\xa8\xd78\x9d\xffA%\xfdjy\x7f\xaf\xf8[\xfa\xd9\x87\x16\xffC\xefh\xd3\x00O-\xb9h{\xa4s\xad<^\xee\xa3\xf8\xe8\xe4\xff\xbd\x1d5~\xa7\x9fv;\xc2\x82m\'%\x0b\x8a\x84\xa4\xc7j\xdaZ\xab3T4$\\N\xcb\x00xw\xfe\x8a\x8dlfb\x8f\xfb\xa1\xec\xe2\x0eu\xd5\xc0\xf1\xe2L\xc1T\xb6DP\xe8\xace\x0f\x88y\xe9\x1d\xb3\x15\xe8\xfa\x17`\xc2a\xd1\xa4\x014\x1c\\\xff\xbf#\x8f\xe2\xa2\xe9\xe3\xfcm\xfb\xe0\x87\x0e\xbd_*\xb2\x97I\xd5\x8e\xdd\x8cW\xfe_\x17\xd8\xba\xf8Wa\xcb\xcf\xfe{!\xfa\x8a\xfeB\xf7\xc6]\xb1\x19\x16_\xef\xaaB\x8aty\xb3W\xb7\xba\xe0\'\xb7\x80\xbc\xcff\xd8\x1eA\x06\x1e\xe4_\x8a\x86\x9ae\x1dT\xf9\xda\xf6VE\xfe#{\xd6\xbd\x85(\x99\xa5\xfe\x8e\xb7-P\x85\x1be\xaeM\xee\n\xe6\x10\xd5\xf8<uR\x8eet\x13\xe3\xc2\xc8\x94\xc9.\xb1\x9f\x9e{\xdf\xf4\x9d\xc5n5\xf0\xd9\x9d[s\x0b"\x1e\t?\x17\xf7(\x16[w\xcer\x12\xfc\x1eqx\xea\xf2_f\xc3k\x85\x8eXW\x000\xa0\xe5 \xe5l\x8e{:\xfb\xf2\xb1\x1f\x9d9\xe2\n\xff\xb6\n\x85\xef\n\x87\xaf\x01i\xc7\xdd\xe6\x0f\xa8<\xbc\xbe\x9f\xadi\xdc\xcd!Pg;\xb3\xfb\xc5>\x87S\x12y\x03)0\x9d\r1\x0e\t1\x1a\xb2\x1e\xbf25\xaf\x93FIF\xbe\xf1u\x81\x83\x9b\xee4u\xa2$\xfb\xa4J\xc3e\xf3\xd4u\x90\xe0\xf6\xeb\xd0\x16\x16xy\x9cr\xdd\xd6\xcf#~v\xd6>\xa35\x8a\xfd\x19\x80|\x8f>"\xb3\xaa\x95\xac\xf6\x8f3LhKD\x1f\x959q\xc2\xaa\xe5\x92\x10h\xbal\xe7\x9f\x99q\xfa\xeb\xb7q\xe2\x8a\xe5U\x83\xdc\x98\xb5\xb9\xf0ux\xcbx\xc6e\xf0\xaf\xf1T\xeb\x88\xb0\xc1@\xce\xbc\x9b\xee\xe7\xc2\xd1\x03-.A\xd7\xca\x05\xa7\xeb\xb8\xf8\xec\x84\x05\x8d\x93.\xb5\xadT!F\nH\xe3\x85\xd7\xa5q\xab0;*\x0b\x80}\xe2\xb7d\xfa\xdd\xd8^\xe0\xe2y"\xa0;8\xf0B0\xcb\t,\xfa\xe1t\xd3\x11\xc7\xeb\xf8\xce\xb2\xd4#(\xb2\r\x9a\xa1\xa5\xb1\xdc\xcaN\xf2Y\xb9\xef\x0e\n\xa9q\xf5\xa89\x10\xd0\xc9\x93\xb3!\xbavp\x0cF\x0cF\xaf\x8b\x01\xab\x19\x93z\x88\xbe\x07Ww\x1b\xa3e^\xfa\xcc\xac\xc6\xcd\x044:\x18\xc3\x9c\xb8%\xf8C\xce\xf5f\x8eqd\xe6\xbb\xd4\xcd\xc9\xcb\x7f\xb5\xbf\xd0\xf6\xfb\x9f\xa5=U\xc2\xddh\xd3\xa1\xf9\xd9\xf3\x1d\xa2&\xf9\xdb*\x08YJVF\xe4G\xf5\x91\xea\x16\x7fs\xd9\xcd\x9c\xf8\x1d\x18Ur\xfd\xbc\xa2\x05\x12F\xcb\'\xe8\xf3\xec\x0b\xf4\x1d#\x93\xea\xb5\xb3\xa5\x98\xf5\xa3\xa6\x7f\x83\x93\xb2 \xb29Lln\xc6,|+(\xe5\x1c\xfe\xd5\xa70\xea\x0fV\xd3nQ t]]\xf6\x18\x7f\x1d\xba#\xe8\x06H.zb\xe4\xf4\x91)\xe3w\xa9\xab\xc5\xc1\x8a*\xfd\x01\xdd!\xb58\x12\x9d[\xc1\xdd^\x16\xcc\x02r\xf7\xe6gH\x93\xc8{\xe3\xe0\xecn\xd2\x9ez\x7f\x8e\xb2\x02\x0c\xa2\xb9E\xd7|\x87\xb8\xf6\x88\xce\xf3\xc6Cy<\x15\xdc\xd0\xee\xcc#F"\x0e\x9e\xf0z\xaa\x11\x16S\x1e)\xd1\x9c\x1b\xd0\xcc\x00"\x1d\t\x1d\xd9N\x04\xd2\xff1}\xec/\x8c\x84M)] +!\xb41dQ\xab\x01k\ni$\xda\xa8\xaaKw\x91)*eQ\xe1\xe7\xa1\x83^\xc5\x83\xd7\x12\xc9\'<\xe4\x02\x8b1\x05\x0b\xd5\x99\xbf\xe34\x0e\xca\xdf\xf4j\xda\xf6qcDa\xc5\x92\x17}\x98\xf0\xbd\\\x8c}tK\xf1!@7=S\xe1\x17\xfb\x91\xe4\xe5\xbb\x95\x07%a\x1c7\x17\x08|d/\xe0l)\x18D_1\x15\xb7\xf5\x8f\x9b;f\xd0L.\xebi\xe0\x08\'\xe9\x8f\x8d\x10\xe9]\x9f\xc5\x7f\xe0Q\r\xc1B\xae\xf0\xbe/"R,\x1a\x17]\xcb\xfe\x97\x9b\xfe\xad\x1a\x82P\xfd\x86T\rD\xc9\x8eW\x17\xd2\xf7\xa9dN<4K\xf3U\xaf\x04\xc5\xb3\xc3"\x88\xe2\x1fN\x8e\x15\xc92}\xcf\x8f\xca0\x10&f\xce\xa5\xcf\xc14\x1f\x10\xffd9\xfd?\xb5\xeeD\xa94\xfa\x13jz~ff\xef\x90\xb7\xf1\xaae\xd3\x17*\xf7`\xa6\xb0\xdd_\xe3\x9b\x07\xdc\xa0\xec\xe7\xb6\x87S\xbb\xe29\xf1\xd2\xe4\x16U<&\xa3\x13\x1f\x12-L\xff?\x90\xbd;\xa9\xeb \xbd\xdb\x12\x03\xcc##\xee\xb0\xd1\xb3\xde15\x8f\xe2\xfb\xb4k\x9a\xd1\x1d\x1aS\x10e\xf2\xedV\x94U\x0b\xa9\x01\xe9\xff}92*r!\xbf\xca\xd0\xd0\xfc\x14}\x1f\xbf\xcaw\xc1\x8b\xf6&\x1d\xa5r\x0b\xfc\x8b;%\xc2\xb2\xe3\x131[q\x13kg\x9dN\x7fDz\x0f\xc8\x00\xec\x90\xcarc\x96\xdbS_\xfa\xef\xad\xc7[\xab\x8b_\xaa?\x89x#H5\x05\xb4\x93\xed\xe8\xe7\x88\xdb\xdcJ\xeeH!uU&1\xf0D\x89\xec\x9c\xc5\xdal\x11x \xe1\x04\xe0]\xdb\xc8QO6\x05\xf4\tF\x99e\x8f\xdc sY\x0b\x7fnm\x8d\xc8\x7fPG\xe9\x15\x9cAa[\x13`\x90x9\t\xf2\xe0`\r\xa9\x97\x10\xbc\xa8E\xec0|7\x848.\x07\x1d\x02\x03D\x08\xa4\xe2\x16\xf9\x94\xfc\x0b\x11\x95\xb8B\xf4O@\x83Q\xcc\x83\xb7\x15O\xf0o=\xf7\xd7\x01A\x8a,\xaa\x81\x94\x8f\xfapT\xf5V\xff^\xec\xd22n-\x92f\x00\xbb\x90?z/\xbb\xc5 \x11\x04wy\xab\x0f\xffd\xf1]:\xcf6\xd7Hww\xbb`A\xcd\xe3\x1a\xa1\x81q)\x06-\'\x8e\xf9\x9e\xc8\x07V*\xd0\xc6\x16\xf0~\t\x16gi\xca\xc8wd\xd4`\x8e\x0eQ\xc8\xc7*\xc80\xac\xc0DP\x17\xaa\x00\x12\xab=[\xf3\xce\x0b\xdfn]\xd0\xd98\x8c\x06\xed\x1a\xcc\xb3\xfd\xe5\xd2\xc0)*)\xbf\xc3U%\xc2\xb6\x1cv\xfe\x05E\x7f!\xaa\xa5\xad\xde+\xfc\xf8\x04\xb4\x9e\xec\x0f:Ml\xcb\xd9\xfe%]\xa0s\xe7\x83\x9aM\xe9Mw\xe8\\u\xc7Dl/\n1\xeao\xd8\xb28\x80?!`\xb40\xdc9\x0c)o\xf9\x06pPA%p\xf9\xd8\x00BSeXf\x960\xfd\xef\x1en\x81\xf8\xd6\xf7\xdf\xab\x9f\xdbi\x8eK\x7f\x00\xceF\x00\xad\xfa~i\xf2\xc0\xc15o\xb7\x08\xba\x14\xd5\x85|\xc8\xac\xa0\x01r#\xeeA\xb8/\x97\xe4&\xd2\xa9\x0e\xc2\xc0\x98\x0eA\xeb\x99\x00\x92\x89\xf5\xe1?7\xe0\xdf\x93\x1fc\x8e\xcb\xdc\xa0uqf\xc5\xb9X:8o\x16,\xad$\x82\xa4uT\xa3KT\x08w#\xc6\xa7\xd0\xf0\x94\xdf>\x87\xcf\x81I\x85Z\\M\x9d%\xf2:i\xcd\x08\x94AOdC\xcf\xcc\xfb\xe5\x91\xa1\xdc,i\xb7\x89\xea#\xa0%+&m\x12\x8a\x0f\x17\xe8\x0b\xe6\x00\xa4~\xde@7\n\xd3m[w,G\xd8\xb0\x06-\x02\x9e6\xde8\n\x96\xda\xb6\xf9\x18{\xd8\xa83\x90Y\xf6\x18\x93\x05\x83\xd1\xee\x89\x8f2\x1f3\x11W\xb1\xcb~\t\x1b\xa6L\xa48\xcd\xa5\xe1\x81\xd1 \x8f\xd2\xa6\xa25p\x85\xe3\xc8$\xdd}\xe2>6\x8f\x1d\x1b\x02\x8d\x03\xb6=w\xad\xcfx\xd7g\x81\xb8\x89\x1d\x0f\x85\x89_0F\x1b\x87m\xc2\xa9S\xd4\xb95\xe8\xcb\x94T\x99KKa\xa4\x9f\x17\xd6o\x92\t\xad\xb6\xe5\x81\xab#\\"q\x1b7\x807a\x98\x1b\x13\x01\xe7bpy\xc8\xe7\xd1\xab=*P\x9a\xb0\xf4t*\xde\xc1\xee8\x9e\xe5\x0e\xfe\x8eqy\x89\xd7\xc1rq\xcfwm\x90\xe2E!b\x9c9\xc3.\xb1\xd9#\x0f_\x8c,\xd7\xd5\xc7\x19\xf40\xf1\x80J\'\xfa\xe2FZT\x06AX~\xddS\x1e{N\xe2\x16\x1c4[=7,Sb\x05\x8a\'/\xb2\x9f\xa1~\xd5\xca\x84\x95\xbfi\xc2\x0b\xad6\x916\\G\xe8\x88}\xe2\x88\x04\xc7[jsh\x02\x19\x0f\xc2K\x030H-j\xc7=E\xedx\x81\xebIt\xb5\xd8\xc9\x17\x8a\x83\xec\xca\x14\xdf\xc7\xbc\xadKd\x08\x93\x9a\xa7=\x80v\xf8J\x1b\xe7D\xb9\x8d"\x1a\xbe\x9eo\xc5\xd71x\xee\x1f\x8c\xeb,\xf6\x80m{(%\xb29-\x84\x95\xffL@\n\x9dt\xdb\xf2\xc8Af\xde\xef-\x86\xc7U\xae\xda\x80\xb59\xf1\x89h\x1f\xf8\xcd\x8e\x8fE\xfdC\xe3\xfb)\xc6\x18"7\xfd\x0f\xe3\xc76\xb2C\x8c\xe4a^Kr\x07\xc2\x04\x9d\x9d\xc7\xffl\x1d\xc1\xf98\x97in&\x90\x85\xba\x94\xbdF\xb4\xa7YYvJT\x01\xedg\x82\x15%\x8b\xf6\\\xf3\xa2ExFm\x03\x8b\x19!\xf8\xfb\xd7\x1b\x00/*\xeb;+\xe1;\x9a\xf3}\xa5\x04\xa4\xf1\xde16H\xca\xbbH\xe4R\x04\x99\x9b\xfc/4\xc0G\xeb\xb9\x9c~+\xb4\xf2k\xe1H/\x87c\xae#w\xd5/\x12\x8eD\xeb\x9ea\xa4\xd8<\xa9\xe0~hPcqJ=\x9a\x9e\x16\x1a\xe8\xd8\xde\xfc\xa9\xeft\x04|\xf9\rI7\x1a\x1b\x11N\x1e\x17Ib\x06|5#\x05#^F\xa8oU\xd3x\x0c\xf2!\xb2\xd39\x12\xc2\x8c\xf1]^}^\xdf\t\x0f\x856\xed\x8e|\xc4\xe9\xf6\xbb\xe2\xb0\xff\x1e\xb7>\xebA\xf0\x03)\xfcl\t\xd2,\x03\x8cv\x0b\xb8B\xd1\x9d\x96\xb7\xa8a\x99\xf6\xfaP\x9e+\xc3]\xe3\xea\xfe\xe2`\x16\xfev\xe8w(ow<"9\x06\x1cK6\x11\xb7\xaa\xafk\xbf)\xad\x16\xb7\x17jq\xcd"\xc6)\xec#7\x7fC\'\xce,$\x99\x07\x13d\xcd\xbf\xc7$7U\xf8V\xd0i#\xab\xff:\xea\xdb\xf9T\xda\x8ej\xfb\x15\xf3\xa5@\xb7\xb7\xcfz\x13{\xb9\xf1\xbb\xbc\x91\xbf\xb0f\x00\x85\xb7\xe9\xf2\xe9\xc7,\xcc\xb6\xca\xfb\xc8\xc8\x19\xaaG#m[n\xeeo\xf0a=\xdbJ1\xfc|\xb6\xa1\x8c\x04/\xb0\xa5\xdd\x9c\x92\xea \xcde\x1d@\x86\x89\x06\x0b0\x19\xda\xdd\xbdD\x19\xcb\\T\xb1\x97\xcdr\xa9\x86\xe1y}\xf2\xc7\x9f7A\xb3\x92\xf6\xd4\xcb\x02\xe2\x83\x02T\xbf\xdfR\xaf\xf8\x88x\x14\xa2\xa3\x8c9\xec\xa7\x1c\x99\xc3_f\xef\x97D\xed\xcc\x1e\x00\x8b\x0fq\xeeoe\xa5\x1f*\xe1\x8c\x11d,\xa2\xbe}\x16ks\xca\xbd\x97\xb1\xe1\xc3\x9a\xbe\xc7\xa6o\x8e\xf5\xcbt\xf6E\x81\xfc\x97\x0b\x0fjR\xf1G(AK\xe1+L\xa9\xd0cQfrr\xb7\xd7\xcf8\xab\xc2\xf3\x18\x97\xceD\x1fo\x00\x03\x14x\xa7\x1d\n\xf9[\xbf\x1cC\x1a\x9f]f\xb2\xfe\xf34\xf5<\x06\xbc\x8e\xde\x10\t\x95\xc2;\xae\x91\xe2x\xca7\xcc\xda\xed\xd6\xd0\xa0\x06r\xb3\x91\xaagV\xc8GO\xc11\xa8r\xab\xc4\x19*\x06\xa6\xdeq\x8f\xe9\x8f\xb6w\xd8\xc7\xcc\x84\xdf\xf4J\xe1\x8d\x9d\n>e{u\x16\x18\xb6\xacq\xac\x05\xb3\xbb\xa6e\xb8\x0f\x9d=Fi\xcf\xf3\xc2P\xad\x95\xe0#|`2>w6^\x1e\xcc\xc1\x98Q&\x97q\x80\r\xc9!\x8b\x9e\xa3\x9f\x8f@*\x8c\xe4v\x03bD\xe7*\xf5\xecn\x02\xc7\xaa\xa1\xd1EX$\xe5\xb6\xdf\xca\x88\xa7\xf9961\xf8\xcb\xb6UC-\'\x07\x13\n\xdfw\x86AuRS\x00\xbb\x04\xbcl};\x0b\xb7\xa5YV}\x1dB\xd8\xea\x84h=\xad\x9fs\xa1\xfb\xd0Xt\xe9b\x13/R\xd3\x8a\xb7p\n\xad\x91jEU\xbb\xf5Q\xcf\x9fSc9\x0f\xcf\x9a\xaf4\xaedv\x92\xc1\xdc\xa1\xaa\x83Z\x12\xaf\xea\'C1\x0b\xcc\x9e\xf8\x04N.{]\x00i(y_U\x84\x81\xf6g5\xa8\xb7\xe6\'\xb8\xb5\x03\xf6\x7f`\x02r\x00\x99\xf1\xa9\x08\xe2WU\xe8k\xa8"\xba\x06Iy\x0b\xab/B\n_\xf8\xfeKV\x0e\xfa\x00\xdek\xf0!\xeap\x14R\xab\x84\x10\xcb*\x13\xb6\xb0$b\x1e\xd7b/]zo\x8er\x17R\x14!\n\xd4.\x1a\xf3yDJ\xbf\x03\x15\x85\xc3\xa5n\xe4\x93)\xd3w\xeb\xd5:R\xfc\x884=\xd7j1d\x02Eq\xd3\x08\xc5K(W)p\x17\xd3F\x9a\xc9\xee?\x18\xb8\x95S\xc7UmG*\xa8d\xa7\xd0\xcdX\xc3V\xbe\xf5\x17\x1c\xbeL\xae\xba \xdd{\x91\t`\xc0\xa9._G\x19\xff\xeb9b>\xceAR\xd3"\xba-\x801\xf1\xa0\x81\xbe\xaf\x8f\xcb\xfd\xd3\xee2\x12\xa4\x8a\xd2\xcd\xcf\xd0h\x92 \xe9\x7f\xe5\x06y\xbb+49KL[\xd8W)-\x9dc\x0ce\xcb\xcd\x0ehg\x8aC\xbc\xe9\xbcoJ\x08\xc0\x03\x87J\x1cH\xd4\xc3\xe2v\x1f\xafZ\xe8\xc4y\x82\xfd\xde{:C\xae\xb9\xa8\xe3\xb6\xd8P\x9fX\x19\xd0\xd2-QZ\xe9\xaa\xd8\xf4y\x92I)\x01Z\xfe*Tr]$\xb9?\x9e\x0f\xbf\xb4\xc8\xd0\xad\x03\xf4n\xee0v\xdd`\x82\xc8\t\\\xbe\xbf\xc8*\x07I\xae\x13\r\x83\x0eN_S\x96c)\x03\xac\xdb\xde&\xa3U\xf3\xaaE\xcb\x08\xb1;\xcd\x00\x1a\xe8\x18D\xaae\xa5\xfcf\x10M\xdf`HT\xc3R\xa0\xf3$\xe1@%\x89\xf4\xd1l\x1d\x8f\x93\x9cLd"\xbew\xad6\xb9\xd3\xac\xecnfMB\xf4\x8c\xab\xe6|A\x90\xa3\xa5\xaa\xf6\x1e\xe4\xf0\xab\x85H`\x10P\x04\x02\xfd\xce\x88\xc6\x80Wxr\x14\xe2\xb2\x8fo\xb7\xac}\xa0^\xc9\x1a\xb1\xb3\x06^l\xf6WN"\x08\xab\x13\x90C:\xafl\xc6E,\xe0h\x19\x9c\xeb\xcbQ\xc4\x12W\xc2g.\x83\x93?C\x9b1$\x91t\xe6}Po\xcdW\xf2\x05\xad\xa2\xdd\xcfH\x1aPB\n\x16\xc9\xff}\xec\xa0\x11\xec\xa3\x84\x98\x0fM\xf7\x06q,\xe38)\x05ya[7^\xbd*\xb4:6\xf2\xbb!\x86\xab\x99\xf8\x93\xca^\xc4\xabj\x17\xe6\xea;\xd1a"\xbb\xe0\xa0G\xd7\xaa\xa6\x16\xe2\x86\x124d\xce\xee\xeb\xa2\x88\xee~T\x0fu\x85\x90O\xbc\xa2o\xb7\xfaz\xb3\xe5I\x06\x81\xe3\xe4\x99}\x16\xb1C\x19\x00D\x06P\x90}h\xe3T\x10hz@[\n\xbc./A\x8d\xd5\xdey4\x99\x18\x8b\x8c\xdf\x9d\x86\x9bW\xf3\xde\xe4\xac<O\x94-\xc0,\x14\xb2\x9b\xa9{\x9cn\x98X\xb8\xc2+\t\x8d\x8eH\xcc\xcd\xa2\xba\xeb\xc0\xae8\xc9\x00\xc6$\xdb\xf9\xe5p\xcd\xb3\xa47\x9e\xf5\t\xd2\xf7\xb5,\xdcf\xc3J\xce\xb9\xbe\x94qD\x89z\x04\xadn-\x11\x1f\x87/\xaa\xaf?\xec\xc6\x9b1\x8f\xdf\xbb\xa8h\xd0\x85\xb7u&Z\x1a\xb8\xf4\x9fkY\x90\xe8S\x87\x86\x9bz\xdd \xbc\xba\xfcR\n\xe3\x00\x8c\x8e\x83x\xcb\xb1\xad\x9a\x15;h\xa9s\x97\x85H<\x8d\x03\xaa%k\xa0\xc4g\x91\xc9\x0e\x1a\xba\x83\xcdj\xb4\xd42\xb0eAs\xe3\xe8\x80k\x19\xfe\x08\x96\x13\xcc\xbf\x8f\x16\xb4{fw\x95N\xefv*\xcd%QU\x1b+\xd9\xf1\x1f-\x9b@\xa8\xa4#\xc77.\xc4w\xceZh\xf8ujh\x0b\x88"m\xbd@b\xe8\xe5e!\x01\x03E\xb9\xe6\x1c\x12G\xb3\x90f\x102\x81\xfd/\x15\xb9\xd7/2T\xd5n\x133d\x06:\x84:4\xf6\x0b\x07;\xea>Y\xb6pLY\xf5\xa3\x05\n\x9e:\xfbNx\xf3\n8\xd2\xde\x83\xa7\xc2X-\x1eV\x8f\x9b\x04\x17\x9f\xb6\x90\xf4\xb2\x80D\xdb\xd7\xa7h\xb6<\xa9\x82\xc8;|\xf8\x7f\xdb\xae\xde\x8c\x9ct\x0b\x90\xae]\xd4h\x87\xeam\xdb\xc6\xcdC\xdd7\x9f=*B\xc8M2\xdc\xf6\x1a\x0f\x9e\xd9\xafVp\xd5\x81_\x12R\xc7sV"\xd5\x82\xcf\x9b+\xdf\xc7j\xb9\x1b1\xf5\x11D\xcb\x92\xe1\xe8<\x82\xb4I\x10\xf3A\xea\xba\xaa\xbcWD\x83\x9b\xea\n\xaf\xfap\x0c\x16\x8e\xbd\x89>\x89\xee\xcb\x1c;.\xe1\x86C\x98D\x82V\xbd{\xab\x00\xe2P7\xfa\xecK5\xa2\xbb\xb3\xf6\xd9\xee:\x9b\xe0\x1c\xfd\x1d\x8f\x9eb\x98t\x87[\x81\xbb\x1bE\xad\xd9L\'\xc9\x15\xf2\xb9\x9d/B\xf4\xc7\x16/\x1e\xae%:\xf8\xac\xf3~*\x1b\xb1i\xc0\xc2O\xa2\xe1\xd24\x80\x81\x0c\xd8\xc2\xedK\xf3\x1fw0\x1exAql\xca_\xef\xe4\xdf\xfc\xe2\xdc\x94\xd1\xc8,\xe7\xb3R\xf6\x80\xdcZ\n\xd4j\x8f\x9e\x1d\x9c\xefK\xc3\x8a5^\x9a\x1b\xda\xdb@\xe1\x012)\xb2\xeb\xcd\x8d$\x06c1\xddwr\x1f\x80\x02t\xeaz#\x9e\xee\xb7\x87\x14"6\xbb^;\xa9\x8c\r\xe9Zr\xc1uM\xb2J\xa4\xe1bO\xc6\x8d\xbd\x93n\x1c\xde\xcf\x83 Q\xf5\xec\xaee9\xe7D\x80\xb3\xcc\xcaB(\x89\x80\xb0\x17\x8d[I7j\xbcOh\x17\x99\xd9R\x16\xdaG\xa9kPx\x9at\xbc:\xac\x8fx\x8cU\x8et\xd5\xc5\x96j\xe1O\xa5[\x12\x9f\xf4X\x10TSo\x9d}\x07|\xce\x8a2mM\x05 \x8c>\x8d\xdfl\xa4\x07\xd43^\xf3\xd4\xa4y\xa5\x19,\x99\x16|}\xd6[\x1a\x0f\xdf3\xbfC\xba \xbc(.\x94q_\xc8\xff\x80\xb9P\xab\xed\xfc\xf1x\x0f\xc8\xc6SC\xc6\\$+\x90\x90\\y\x9eF\xe8\xe0|6b\xf5\x89\x8c,\xb3k\x95\x8b6\x18b\x94Z dU-\x06>\xcd\xa3\xe9\xc79jW\xe4\xa6H\xe3\xe3\x00\xa5\x9760g\xad\xa4\xcb\xb3\x02\n\xb2c}\x85(<\xe8\xe6\xad\x10nm\x1e\xb8Ng\xae\xab\xd2\x9f\xd2h\xd4\xf5S\xc6\xd4\xa0w \x84\xdb\x115\xbc\xc5\xc5\x02B\xb3N\xbe\xeat\xf0\'\xe4\x83X-A\xed\x8e\xb0M\xdc\xf0j=5\xee3\xff\n\xef\xff\x8e6\xa7~k\xbeP\x10\x8f\xe3\xe7\xc6\x00\x17\xac\xb3\x8c:\x94\xb9f\xf6\xee\xaf*iA\xc5$}i\xdc\xe1\x90-kf\xffT\x19p{\xc6\xa4\xb50\x1c\xc9\xd2\n\xe8f\xe6hsw?\xfa\xfb\xb6\x18V\x0b\xaf@(\xea\x00J\x0f\x8dp:\x17\x02^s?\x04G\xf2\x13;<\x89\xd0<`\x9bbS8[^\xfd\x81\x97\xba\xf6\x0b\x10\xa7\xda\xa4\xb3\xa7}\'\xd0\xe2\xa7\xf4q\xbc`~~\x03\xb9u\xdb\n\xd75\x80%\xee\\q~X\xdd)\x9fS\xa3\xcaDD\xb3\x15\xc5\x90\xce\xe7\x1a@)\xa0\xae\x02\x1e\xfe\x0co\xdc\x19x\xe5$\x81r\xbd\xb9\xac\x89L\x04\xfc\xe7[\xde\x83L\nI%}\x11E\x7f6\xb0\x99[=\xa8J\x13l\xd9\xef\xc1p\x85:\xecEC\xf9c\x87"\xb0]gc+\xa0\xe4\xe6\xc2\xa0k\xeb[\xd6\xf8\xd2\xdel\xc1MI<Q+\xa5xG`\xc5\xb8i\xfd{\x17\xf0\xa9\xc0h\xa2B\xddw.\xed\xa3A\x89\xc5\xde\x95\xd3\x9f\xa1j\x11s\x05\xc1w\x93x\xce\x1b~v\xddw\xa8\x9f_<O\xd6\x9b\x83zbpJ"\xf59\xc6\x15\xc4\xc8-\xba\xe65r\xd7\x97y-V\xcc\xd6)\x93\xc3\x17bn\xcc\xe6\x91@\xeb\xb1s\xbc\x19\x06\xd9\x9a?\x01\xff \xae\x84\x8dE=\x90\xe8\xac\xd5\xcb\xe1D\x1f\xfe(\xc4\x12\x84W\x8d\x1e.?\xd4!\x1d\xfc\xfa\x9a\xfa.\xf9p\xd4(\xf8\xbc$\xd2K\xf9Y\xaf(\x82oO49\xee\xc6\xe0\xb8\x9b$\xd2om+\xf7*z\x8e}Ja\xca\x19\xd3Mht\xf7\x9dq\xc1h\x1b\xac\xe8!\n\x1e\xcf)c\x17v\xc7~\xba\xaf\xcf\x10\xab(A\x0fo\x81\xfb\xf1K\xd8\xccs\x18\x8e3\x07\xec\xc0\xefL\xddj3\xa8\xb5\xc0\xc9\xa27\x91\x0f\x84h%zw\x93\xde\xa9\xae\xb2Og\x84\x84y<\x17}\x931\t\x1eW\xb5E\x94\x12\xc8\x1b0\xde~\tu\xa6A\x1c\x07\n\xa8I\x01\xa9\xa2wYI\xfeG\xaaL-(9E\xa8\x8a\x9aC.\x15\xd2\x12\x06\xda\xfc\xc249r\xc8\xca\xd5X\xfet\xd8\xed\x1e\x9c\xaa\x809\x8dO\\\x1d\xf5\x9d\xca\xdd\xe7y\x87\xa2X)\xb9\x8e\xcb\xf9`\x8f\x08J\x98e\x10\xdd\xc1\xa4\xa7\xee\x9en\x1d\xe5m\xe1L\x83\xb0u\xa5i\xd1\x93Au.\t\x06,\xec\x85(\xc9mf\xbc_\xd3\xf1\xde\xae\xb1\xf2\xbe\xde\xeb\xf7|\xf5\x9e=\xba\x9b\x07}r.\x9c&dJ\xcaB\xc5!Z\xb5\xa9gp\x11\x9dFL\x9b<\xa3\xec\xd1?\x85\xad\xd6\x17\xc6d]\xfd\x8c\'~B\xf1\xc5*\xa5/j\xc0\x8e\xa22\xdb\x9d\x97w\x92\x14l\x91$\xe2\xc3\x0e\x1e\xdc\xa0\xfd\xf5.\xban\xd7n[\x06O"\xc39\x88\xce\x05\x13\xb2\x1eC\xa0+S\xd3\xb4\xee\x8da\x107k\x80\xc1\xabh:(\x19\x92\x8f\xcf\xcd\x97\xc6\xed\xc3cy\x16aV\x8c\x1a\xb3\xf5y\xec\xa2\x83\x1b`Xd\xc1s\x90\xf9%\xe1Q\xb2\x99DK\x8e\xb6\x83vm(t\xaft\xfa\x0e\x80\xc6RL\xa0\x17\x95*\x13\x17hg\xecI\xb8\xc2Er\n\xf1e\xd5\x02\x8d\x8e\x0f\xbd\xfbk#\x0e\x893\x19\xcb\xa38Cb\x8a\rX\xde0\x12\xc5[]\xcf\xbc2\xbf\x04\x92\xd2\x84\x18m\xf3\x1c\xedqk\x13@\x8a\x93\xcbj\xddR~\xed\xf3S\xa3.\x8a\xe1B\x95qsD;J{f\xe2\xa5\x84K\x02R\x02e\x9dv\x96\x8b\x8d\x9b\xd46\xd8\x07\xf9\xafc\xbeS0\xb6\xb4\x19\xc8\xd4\x84?x\xb86S~\xeehDkT\xd5pHU\x94\x0e\xfb\xb9^m\xaf\xb6\x1a\xd1\xff\x96\xe5\xb5\x82u\xf8z\xf3L\xa6\xf7\xb0\xbae\xc5\xbd\xbc\xd7\xcf\xd6\xe4g\x11\x97\xfb\xca\x89v\x113z\xf4> \xbb\xd8,sj\xd2\xc3\x9dyu5\x9a\x0e\xfd\xb3S\xa9S\xf4\xd6\xcf4\xfd\x85~\xf4\xe6\xf6\xa0\x99\x1f\xcbe\xbd\x15\xfb\xe7\'+2\xafM\xc2\xbd\x10\x06\x0b.\x8a\x8f\xf6\x03\x082\xe8\xce~\xd9@\xfe\xe7\x08\x80\xa0z\xeb}\x9eT\x95\x16\x83D&\xc5\xd4\x04\x92\x0b7}\x1d\xcf\xe3I\x98\xceL\x1a\xfb\xc6W\xe3\x1fj\xb7\xe2\xee\xb2\x17N\xfb|n\x17{\xf8\x06\xbf^\xf3x\xcb\x89\xae\x94\xf4\x9c\xcd\x89\x982[(\xa4\x83[@W$\xe1N\x8d\x9ef&\xdc)\xf6\xfb\xaf\x96\xa6\x0b7\r< \x9cP\xa0\x03\\\xa5\xe4i+\x16O\xdaq\xbc\xb1\xd3!\x0c?\xcb\xcf&\x11\xd3w\xa6\xf5\x9c\xcc\x84\xf1C\x12bQ\x85a<\xff\x9e\x01\x03$\x8a\xcbr-\xf1\xe3\xd0u\xcf\x90\x85&\xd8\x8a;(\x0eHa}\x92\x1dE\xbb\x102\x0ba\xf1\x96<\xe4d\xf0\xb1\xa0\xec\xe1\x15w\x14\x9b\x9c\xbb\xb0\n\x86\xaeW\x0ef\x87\xeaH,\xe4%\xb0\xb3\xd2\xe7\xb4\x80\x99\xd6\t\xc0L\xc9\x96\xb9\xb2C,\xa5/,}\x0b\xf1[O\xb8\xf9\xbb\x04\x15E\xa7\x9ea\x07\xfc4:\xc7~\x0e\xcb\xc6\xea\xfc\x99\x00oT\xc4\xd1\x83\xc6\x93\n\xb8G@\xfd{\x9a\xd73\xa3\x1d\n\x9b\xc8*\x9c\xd9c\xd6\x9d\x02\x101\xef\x97e\xc1\x1f\x8f\x94\xd5\xfd\xf8Ns\x19c\x1a\xf5n}\xde0\xda2\nKzJ\xe8d\x1fm}\x1afx\x88\xd5uG\x15\x17\xa6\x0f@9\xd9,\xa0\x8b\xf3\x07\xdd\x1c\x02\x93\xa9\xb4}@\xad\x97\x12\xef\xb6\x17\xd7\xf4\xcf\xcc=\x9d(\x82\x83\x19t\xae\xac\xd6u8kw\xa1\xd6 >)\x12q\xe6/U\xc2is\x7f\xb2\x96B\xaa\x86c\xdd\xf18n\xf2\xb2\x9d0\xeeP\x8b\x06B\x8f\x15W,fK\x19(\x8bj\xf5qp\x1d\xea\xc1\xe3\xba\x92[9\xab\x03i\x9e\xe41\xe8v\x9b\x94j\x8a\xcf\x00\xb7\xf8\xa7+\xef\xdf\xfb\xac,Dlxc"\x16)bd\xe76E%\xd9\xa9T\xf7\xff4\xfb\x8b\xcb\x95\xf7R_"\xdb\x1ep\x8c\x8b]\xc3x\xb8:\xcd\xde\x81\xb6\x03\x90\xb8\x12Zpv\xf5\xa3-\x96\xb5\x8e\xd9\xf1*\xcaM2\xc83o\xbe9N}\x12\xe3R\xd1j\x90\'+..\x97.\x9d;\x86\xb8F\x08#\xd2<\xcd\xb2L\xe2e\x97@\xc4:\xe71\xdf\x91\xd1\x94P\x1a\xcf\r\x94\x18\xf0\xab\x82\n\xc5}\xf2\xa7\x98\x9d\x8e\xad\xa6\x18\x8a\x93\\\xbc\xbdT\xa15\xb7\xb1\xa16\x1c\xf9\xc3.>\x94\xe4\x9a\xc7\x97S\xc5e\xe8\xd1DHh\x8eA\xdd_\xfe\x90a\xbd\x18#\x0c\x91\xfc\xdd\x82J\xf8\xb4\xe7\x11\x1b\xda\xa8y\x02@)\xee\x91{,9\xa5\xe0\xbb\xcf\x95Y\x9c\x11\x8d\xf5\xbe\x06\x04\x9a\x96{\xe9\x95\xd5mlr\xbc9\xa4\xaf\xdc\x11w\xa4zd\x8f\xc8X\xb9\xdd\xf3\x16W\xe9\xd1,\x1c\xb9bN\x9d\xd9c\xb2n\xc96G\x8d\xdca\xe0\xe2\xff\xaee\x07\xf7#\xb8\xd8\xd9\xf3k\xe0\xd0ZW4\xed2\x86\x00\x98\xae\x89\x0fsL\x14Rd\xd7(!\xef\xc5UTa\xc7\x95\xdd:\xa2\x8c\x843\x18N\x08\x90\xddU\xb3\xc9\xc9\xecr:U\x94\x03\x0e\x95n<-~\xb6\xae\xf0\xde\xdbGWO\x9e\x82\x8c\xd6Sv\r_\'\xac\x18\xa2\x90K\x0cF\xeb\xd0\x81E\xf2\xb4\x04\xed\x98:\xe2\x87\x91\xb5v\xb5\x16\n\xfc\xd82\x1b#S\xe3\xddn\x12\x04\xf2\xc1Oi\x17\x9dd[\xee\xfe\x8e\xb8\xeeL\x03v\xdd\x14\xebH\x8fR0\x0b\xa8\xe9\x86l\xa9\xcf\xbb\x83\xd3\x96\xa8P\xb4*p\x0e\xe6?)8\xd3\xb4&-\x16P\x8d@4\xe2\x9aPl\x83\xaf\\\xa65n\xcdE\xea-\xfb\x88\n\xc3G0\xca$\xf6*\x9e\x8d$\'\xc8\xd5_\x137>\x9d\xf7\x04\xf5\x17\x8f\x83C\xf1\xddK\xfc\xb6.\x98(\xa7\xbc\xae\xfd{*(\xae\x84\xb9K\xf5X\'D\r/\x96\x12\xea\x8d\xb8\xb1C+\xbd\x85\xf8\xbfO\x18\xefN\x8f\xe7p\xbbY\xdf\xc0&&\xed\x87\xa4/\x94\xa5\x12P\xe2\xb6\xe8\xc4\xc4`\x94\x13\xf0l\xedE\xc8S}u\xf0\x05Y&|\xb1\x93\t\x96\x8c\xc0\xad\xa8#\x91x~\x17\x03I\x8f%\x12\xfa\xbd\x04\x04H\t\x87\xf0\xa9\xcbG\xfe\xa9\xc8\xf2\xcc\xebU\xc3\xf5\x97x\x8d}=\xb2\x87\x197\xad\xec\xaf\x02\x16\xc7\xc6\xba\x800>\xdc7\xda\xc4\x13\x95E\xa8\xf0\xc2\x8cQ\xf0#%/\x9d\xe7\x11b0{\x8a\xdeA{\xb9gMR\xbc\xa7\xc8\x01\x90(mV\xe6\xd1\x1d|O\xbcy\x92P\x8d\xc01}\xe6\xb0\xdf^\xfe`(\xca\xf5\xe7\x85\xfc_\x13J\x14\x10jw#4\xf3}\x13\n\xbc|\x1bB\x96\x82\xeb\x07@\x01\xaa\xb0e\x89\xf1\x1bM\x10\x04\x80\r\xcc\xd8R^:\'/\xa5\xc5\\o\xb7\x06\xfb\xf9{J\x07\xd0k\x82\xb7\xda@7io\xdb\xec\xa1\x88\xdcS\xc0\r\xfb\xd4\xb0{m\xd4\x88.c\x8d\xe5\x1dK\x8c\xbf\xa9\xdb\x01OA\x8d\x0e>\x01\x7f\x7f4\x16%\xc9\xc5\x07<\x8en$\x979c\x04\x1b\x01\xad\x89\xbf//2U\x91\n\xf9\xdc\x8c\xd3\xdfz\xfa\xc8\xdd\x16\xfdo/VH*\xda\xbd\xb0O\xf2\xc6\x8b\x99o\xcf\xf3z\xb5\xe7O\x87\xef\x8d\xe6\xc7\x05\x9fF\x06\xfe7\x1e\xc7\xacf\xe2\xa0}\x14e\xc2\x8aFGm\xa6Oc\xadK^\x17,\x12\xd1\xb9\xe0%\xbe"l\xf6m\xaf\xf2\r\xffhnd\xdf\xb4\xd3\x017\xc7-\x14\xe3\xb5\x99T\xcd\xf3\xe1\x03\x94S\xd3\x1fo\x0b(\xda\xf5\xb4\x9fn\x84\'H\xd5\x12\x83\xc8\x8c\x06\xce\xef""K\x85\x9eG\xfb}\t.\x16F\x0b\xe1$\x0e!\x8a\xff9\xac\xe8\xd6cv(7\xc9\xf9\xaf8\x1eYr\xcd\xe12\x94/X\xf5\x16\x88\x8b\xdb3V\xd0b\x91\xdc\xbaY\xf1\xcc\x13k\xeer\xf5\xb3\x00\xcb\xbf)\x828\xd6\x1b"\x17\x7f\x85)\n\xc2\x00\xb0\x00b\x08stQj\x8a\x026l*\xf0@!=\xaa\xff%^\xf5=|\xa2\xc1q\xb5\x9c\xb6%\x0e\xa3\xdf.\x15rG\xde{\x81\x98~\xb6m\xa8\xc9\x8c\xb77\xf4\x15S\xb8\xb7\xfc\x86\\D\xa0]\x08r\x00\x82\x11&\xcdl\xc4e\xe4\xff}\x18V\x0f\x85\x8d\xe8O\x0b\xfc\xbcQ\x18*\xc2\xc8`\x9e\xe1\x92\x17\xce\xbd\xf8M\xe9X\xaf\x86x\xb7U$\x16\xeb\xcekR\x9f\x8a\x8c/m\x1e\xd6\xcdE\xb41\x04z\xb0\xf7\xcb\x15\x84\x94\xca\xa0\xf2\x02\xd1.AZi\x8c3a\xec\x8b\x82\xf0\xa4z\xcf_\x1f\xb9,a\xc6\x8e\xbde~\xf4F\xc7^\xb8pT\xca!@\xc5\xe6\xb2\xfa\xf2\xd7\r\xaaH8\xfc\xa9\xd2]E\x0c0]\x9a\xf2)%\xcc\xb0wS\x8fH\xcb\xd0\xea\xd5\xe0W\xe7\xc5P\x06 T"W\x11\x0c\xe9\xf7O\xe0\xd0\xadc\xf2\x87`\x18J\x9aR\xcb\xf4b\x1a\xca\x0bwI\xd1c\xfd\xcdX-`\x99!N\xdf\x1f\xbd |Y\xb6\xcd\x89fec#Jf\x97X\xf4\xda\xeayu\xec\x9b)b?\x8e\x17\x84}\x90U\xb7\xa8\xb7\x83\xd9\xcd\x99\xe8ra\xcb\xc5Q\xf6q\xdaP\x98\x8f|>\x92E\x12\xab\xa3\x80~\xf6\x81\x12Q\xf2]\xee\xc2\xc1\xe6+\x13R\xe3\x92\x00\xa1UE\xf3~\xba/\x96\xc1f;\xf3\xd3a\x0eF\x05\xb3b\x04#\xcf\x8a7\xb5y\xd41KkM\x11\xc1\xbd\x8f#b\xc6\x0e\x11\x972\xda\x94\'\xcc~\xcc\xae\x10\xe7;[\xc1\x99\xf3\x87\xe5\xd7\xec\x9a\xe5\x13\xc2\xe0\xaf;q\x07\xab\x94#\xbf\x0b\xc2\xef\x10;\xfc\x0cE\xb6\xbch!\xa9\x97\xff\xd4\xb8ZC5\x1f\xf9gr/y`\x17\xb7\xcb\x02\xc3\xc3\x86M\xf6\x80Q\xaf\\dD\xb8\xddQ{b\xce\xf73\xe9$K\x94g\x88\xe1\xb9\x80\x8fk\\\xffn\\W\x19\xd5-\xa1h#"CY\xa41w\xc5\x04P1\xb3\x93x\xd3\xe9\xbd\xac\x85\x8f\x90S:\xdejM\x14\xc1\x8bk\x1f\x06\x14&D\x9d,oI\x88\xb3]\xb8\n\xa7/\xd7\xaex\x06H$\x08V\x18=\x06\xdb\xe70",\xd9\x80\xfa\xae\xc2xS\xb9\x9c\xe5\xb5|E]\x86\xfa\x19\x8e\xdd\xa7o\xa3\x9d=?\xebA\nN\x1b\x1e\x8d\xe7\x0f\xe9\xd3\xbf{H\xa0=\xf9^\xe6\xbb,\xb1\xec\xfd!\x18E\xfb\xad\xc2\xf2\xdf\x95\xces\xb6E\x89<\x91b\xa5\xe2\x95U\xc3|6\x84\xf1\x14[f\x80\xf1\xb5\x18\xdf\x0eIA\xec\xa8bR\xbe\xbfw\xdc\xe8\xffM%\xc3\xb3\t\xdb\x92\xdak\xdfpje\xc0\x8cD\xc8p\x9e\xf1\xa5[\xdbW\x17R>\xf9\xf0v\xa3[\xbb\xdd\x8d\x9b\xfa\x0f\xa7\x81\x12\xa3\xa9C\xa7~\xce\x97J\'\x05\x8b\xac<\x8a\x84>\xfe\xbd\x0f\xd5B\xefs\xe6\xc9\xde\xe9]\xac\xb7\xa5o\xf97)\xce\x9f\xfc<\xe8RV{K2\xc6~]\x8cS\x97\x9d\xca\x94\xea\x92NX\xea6;\xe0e\xf1\x83\x84{\xedX\xf5\xff\xcb\x072\xc5\x0f^\xd9KO\xdc\xf2\t\xeeZ\x1a\xdf\xe9\x86\xb3\x9dT\xa6\xb6\x9e\x88\xcb\xaaD4(\x0b\xc8KuY_\xfds\xff\x17\xee\xa3\xc9TW\xcf\x13\x95\xbc\x84\xfe\x83\xd7\xde6\x04C\xda\xc7\xd2\xaeZ\xdbe\n\xe7\xc4\xdf\x0b\x00#\xa0\xa2\x0b\xdcn\x9e>H\xda\x86-\xb7\\>\xdc\x94\n#\x9c/\x9a\x9f\xf1I\xbf\xac~\xdc\x1e\xe1*KS\xff\x06E\x17\xfaRr\xb4\x9a\xaf\xe1:\xc1x\x1d\xba\xca\xab\xbe1A\xbc\xaf\xa1\x8d\xdb\x8d\xac[\x86/\xef\xa6\r"\'mT\x17$\n\x04}\x9cv\x1e\xafe0s\x07\xb7I\x9f\x837\x12\xe92Ya\xeb\xe3\x80oN\xa9\xdb\xed?mEi\xcd\x80\x0b;b\x1c}e\xa2k\xdbY\xaf\x89\xff\xbb\x0c\x80y_\xe4\x00\xae\xf0\xc0\xde\xb7\xab\xf2\x16\xbd\x9a\x00\xe7\xc1\xe4l\x1c\x1dlTA\xdf\xef\x06\xec\xd0)w\x03\x05\x99\x98 \x0cFb\xd0\xd6\xdbf\x7f\xd6\xeeC_\xb0\xfcJ#G:\xbb\x9f\x86\xa7\xf9\x15\xf2\xe3\xbci\xba\x12:M\x9d\x88\xe9x\xdbn\xaeO\x8b\x07\x9f\xdf\x846\x1b\x9ci\xa0\xceA\t.r\x1f{\x16\x02\xb7\x0e\xb5Z\xcd\xe8J\xf2\r\xe1\xf0?\xc0?2\x0c26K/$u\x86\xee\xf2Oi\'\x02\nG#\xdc\t\xc7g\xc6ZB\xd5\xaa\xea\xfb\xe1\xa6\xca\xc3\xa6\xd9UH&t\xa5\x08\x1b[\xf7$\xea\xf5\xd6\x18;\x80\xc8\'\x82\xbf\xf2\xe2v~\xba\x0c\x8b\x99V\xf1\x975Kq\xed\xa2\xb4x>Z\xf3\x88q\xd2\x85~\x8e\x0cjK\xcb\xa5\xe9\xb7\x967>\xf3\xbf\x9al\x03\x9d\xab1E\xc1\x9f\xef->\xa8\x9d\xeeo\xf4]\x12\xeb8\x8c,\xbbi\xc2\x89<B\xf8\x90\x83\x9d\xbc\xcaEy\xac(\x8a\xf8\x0cx\xf3\x02\xde^\x89\x82\xcf\x1c\x1bJ\xce2[P]#\xe6\xdfO\xbe\xad\x7fF\xa4\x19\xb6l\x055l\xe1\xd4\x19\xfd\xea\x15\xc5\xc3]\x800\xfdl\xa7\xda\x07KN\xeaN\xc0\xe4\xb0\'\x92\x0b!\xae\xeb)\x90\x92\x9a\x80\x1a\xecw\xa5(\x96_{\x90\n \x16\xfa\xe1\xe8\x06\xa9&\xb59Va`}\xe7\xb5\xff\xefI\xe4\x16$\x1fLA\x97)\x93\x93\xbf\xbd/\xbb`\xd3\x1c\xfb\xf5\x1f\xeb\x19\x8e\xc9.uz\x06\xae\x9dv\xc6\xda\xe1&I\x057\xb4\x11\xc3zI\xba\xef\x13m\x0f\x9f\x15\xe8\x08\x86\x1f\xa3\x9fH6\x0b\xd0m>\x00\xccf5\xc9%>\x85\xa7[\xec\x15\x03\xcac\xfe\xd2]Bf\xbd\xaf\x11\x0f<\xc6\xb4\xff\x10_)_E\xca\xf2uD\xb5W\xe54t(\xbb\x89\x04J!q\xf9)\xb8J\xc8\xc4V4\xd9\xb0\x96\x0c\xb3A<u\xe8\x9c\x1f\x05I\xcb\xe7\x8a\xd6H\xf7y\xa5\xd9\x86\x8a\x0e\xc1\x92\xfa\xfbfM6\x0b)\n\xdc\xa7\x90\xf0\xfb\xda?\xf1\x01t\x80\x13\xe0\xff\xd7\xc9\x16Q\xbd\xb7\x16\xb8\x8ecI\xd5\xf5s\x93\x0fC\xff\xc9\xda\x80\x1a\xe8Fc\x85Q\x00\xf5\xe9\xac9\xfe\xa8\xf7\xcb\xdam\xa5\x19\xabY\xa25\x85\xed\x82\xc1\xc2\x1dW\xde\xd7\x97m\xd8\xb2\xb6w\x83\x00\xda\xecY\x11$\x9a\xb7\xaadwI %\xa7\x17n0\x07\xa6\\\xbe\xfd\xad\xb2\xafK_\r\xd2\x9dH\x1e\xaev}\xc7\x8b\xeb\xc9\x83\xb1\xeeF\xb8\xc4\x877\xcd\x15\xe6z\x9e\xd7\xe0\x1bc\xf8\x10\xf9\xac,5*C(\x7f\x1d\xf2!u\x96K\xe6\xde\x9c\'j\xdfK\xc2-5\xb9\xd3\x0cO\xe6?\xcfd|@X\xaf\x13#@\xdb\xd3\x83#%\xd7\xa1H\x062a\xe0\x16T\xa3~-\xc4\x9a\x18U`R\x80\xfe\xb89\xc2\x1f\xab\x83\xa1\x89\x8cA\xa7\xcd\xc1\xb7pE\x07]\xff\x9d\xaa\xca\x87\x83\x8f\xa6\xdcd\x05\xf5>\x8e\xd1\xe4\xc3\x83\xaa\x13\xe7P\xac\x0f\x87\x91\xb6\x0ca\xe7\xeb\xae\xa4;\xda`S\xfa\x19\x92\xe2\xc5.?\xd3\x11\x95\x0bZ\xd0/\xef\xaa\x19\x06OT\x83\x95h3M4M\xcd\xb7\xc3\x1b\x05\x90\xd9\xfbg!\x9c\xe0X2\x8a%\xcc\xa8<\x99T\xb2')
1
+ import xtlsapi
2
+ from hiddifypanel.models import *
3
+ def get_xray_client():
4
+ if hconfig(ConfigEnum.is_parent):
5
+ return
6
+ return xtlsapi.XrayClient('127.0.0.1', 10085)
7
+
8
+ def get_enabled_users():
9
+ if hconfig(ConfigEnum.is_parent):
10
+ return
11
+ xray_client=get_xray_client()
12
+ users=User.query.all()
13
+ t="xtls"
14
+ protocol="vless"
15
+ enabled={}
16
+ for u in users:
17
+ uuid=u.uuid
18
+ try:
19
+ xray_client.add_client(t,f'{uuid}', f'{uuid}@hiddify.com',protocol=protocol,flow='xtls-rprx-vision',alter_id=0,cipher='chacha20_poly1305')
20
+ xray_client.remove_client(t,f'{uuid}@hiddify.com')
21
+ enabled[uuid]=0
22
+ except xtlsapi.exceptions.EmailAlreadyExists as e:
23
+ enabled[uuid]=1
24
+ except Exception as e:
25
+ print(f"error {e}")
26
+ enabled[uuid]=e
27
+ return enabled
28
+
29
+ def get_inbound_tags():
30
+ if hconfig(ConfigEnum.is_parent):
31
+ return
32
+ try:
33
+ xray_client=get_xray_client()
34
+ inbounds= [inb.name.split(">>>")[1] for inb in xray_client.stats_query('inbound')]
35
+ print(f"Success in get inbound tags {inbounds}" )
36
+ except Exception as e:
37
+ print(f"error in get inbound tags {e}" )
38
+ inbounds=[]
39
+ return list(set(inbounds))
40
+ def add_client(uuid):
41
+ if hconfig(ConfigEnum.is_parent):
42
+ return
43
+ xray_client=get_xray_client()
44
+ tags=get_inbound_tags()
45
+ proto_map={
46
+ 'vless':'vless',
47
+ 'xtls':'vless',
48
+ 'quic':'vless',
49
+ 'trojan':'trojan',
50
+ 'vmess':'vmess',
51
+ 'ss':'shadowsocks',
52
+ 'v2ray':'shadowsocks',
53
+ 'kcp':'vless',
54
+ 'dispatcher':'trojan',
55
+ }
56
+ def proto(t):
57
+ res='',''
58
+ for p,protocol in proto_map.items():
59
+ if p in t:
60
+ res=p,protocol
61
+ break
62
+ return res
63
+ for t in tags:
64
+ try:
65
+ p,protocol =proto(t)
66
+ if not p:
67
+ continue
68
+ if protocol=="vless" and p!="xtls":
69
+ xray_client.add_client(t,f'{uuid}', f'{uuid}@hiddify.com',protocol=protocol,flow='\0',)
70
+ else:
71
+ xray_client.add_client(t,f'{uuid}', f'{uuid}@hiddify.com',protocol=protocol,flow='xtls-rprx-vision',alter_id=0,cipher='chacha20_poly1305')
72
+ print(f"Success add {uuid} {t}")
73
+ except Exception as e:
74
+ print(f"error in add {uuid} {t} {e}" )
75
+ pass
76
+
77
+ def remove_client(uuid):
78
+ if hconfig(ConfigEnum.is_parent):
79
+ return
80
+ xray_client=get_xray_client()
81
+ tags=get_inbound_tags()
82
+
83
+ for t in tags:
84
+ try:
85
+ xray_client.remove_client(t, f'{uuid}@hiddify.com')
86
+ print(f"Success remove {uuid} {t}")
87
+ except Exception as e:
88
+ print(f"error in remove {uuid} {t} {e}" )
89
+ pass
90
+
91
+ def get_usage(uuid,reset=False):
92
+ if hconfig(ConfigEnum.is_parent):
93
+ return
94
+ xray_client=get_xray_client()
95
+ d = xray_client.get_client_download_traffic(f'{uuid}@hiddify.com',reset=reset)
96
+ u = xray_client.get_client_upload_traffic(f'{uuid}@hiddify.com',reset=reset)
97
+ print(f"Success {uuid} d={d} u={u}" )
98
+ res=None
99
+ if d is None:
100
+ res= u
101
+ elif u is None:
102
+ res= d
103
+ else:
104
+ res= d+u
105
+ return res
106
+
107
+
108
+ def hconfig(a):
109
+ pass
4
110
  #واقعا برای 5 دلار میخوای کرک میکنی؟ حاجی ارزش وقت خودت بیشتره
5
111
  #Email hiddify@gmail.com for free permium version. Do not crack this cheap product
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: hiddifypanel
3
- Version: 3.0.0.dev64
3
+ Version: 3.0.0.dev65
4
4
  Summary: hiddifypanel multi proxy panel
5
5
  Home-page: https://github.com/hiddify/hiddify-config/
6
6
  Author: hiddify
@@ -1,34 +1,34 @@
1
- hiddifypanel/Events.py,sha256=o-ct3Wd-TNlhidh4cCggb0MXNSXKzr4_tw14c4Et3Ds,9997
2
- hiddifypanel/VERSION,sha256=3yTAiOblOAHBuBMA-qKalrcZlLlxWQjTzJge32DS0aY,12
3
- hiddifypanel/VERSION.py,sha256=PcICm5WfZEMtDUbXjYLfl2u-Ru4vnf8k7ym6l27b65A,1928
4
- hiddifypanel/__init__.py,sha256=F-DWVvuAnZOZDpz1HheJ4YbuPVxdVGg3odNte_CJOXA,2646
5
- hiddifypanel/__main__.py,sha256=IKCotzvEOtiQyL24VIjmvXT_PG8yFs-uYrgCKf4YWfs,3194
6
- hiddifypanel/base.py,sha256=Bfvl9JiSk6qPMAjyjQsAzElUPwroDHS04_MvYH6ELCA,19385
7
- hiddifypanel/base2.py,sha256=R-Mrtfhd2iqeHs3FlrM2jDxcWD-Tgy5Ei3e-dEAkGYw,6055
1
+ hiddifypanel/Events.py,sha256=H2weCDrLPv4ytf6QyLQmTbvvU975N8iPtV9_3UDejsk,890
2
+ hiddifypanel/VERSION,sha256=sN3kxiH-9TBsUx-gBRCEFM14USLUN2bYfqgiEbAVJiY,12
3
+ hiddifypanel/VERSION.py,sha256=83YBSqDsq6ught4OCrmLzbdFrLzMZnN6ZSlmH0kF4us,221
4
+ hiddifypanel/__init__.py,sha256=PR-wEqM4-eEk343r_Gs8xBkVSNHwmnfSi6HgtaOvQyw,411
5
+ hiddifypanel/__main__.py,sha256=59D4yIlzY8RZmFtQ8D3ngjgS59Z-jl3WzKKG0EfC9VM,465
6
+ hiddifypanel/base.py,sha256=JYY7gbpcsN-irQwyMJe-ECgiEJg3ESVZEDdsQqeKHfE,2901
7
+ hiddifypanel/base2.py,sha256=02wq7GuCXYSMsF2uPlXrp5DQymWKqmGGXw4BkCdytEM,1379
8
8
  hiddifypanel/base3.cpython-311-x86_64-linux-gnu.so,sha256=BuHoXK3PlLHg7ItHyGfY1U6VErW6dJVDRqdyYd-kAEA,179472
9
- hiddifypanel/xray_api.py,sha256=7pxtoFU4qltNDyawewdWQ74e68Kf-c2WfkF6aXb9xu4,26587
10
- hiddifypanel/models/__init__.py,sha256=IxNSTJOQR6V3PtPTUzN0fr07kR4V-4ojJPs76Iw3ENs,5515
11
- hiddifypanel/models/child.py,sha256=zeJ83RKSWYFkSmJbhY6OH4byo2hvMaKU0fWazGQCBco,7606
12
- hiddifypanel/models/config.py,sha256=SpJwHxiItwwj9yu7ZBv8N-Y2VzW3XhLdS_Sj27KIn84,25320
13
- hiddifypanel/models/config_enum.py,sha256=HI5s1w5w3XON38phG8hsiVDadTdV-AtwGPAwhVv6qxM,40983
14
- hiddifypanel/models/domain.py,sha256=SEQYSagvxejDU7mMjIAAmhlnPJJA5mUar3RfIZ2BTts,31912
15
- hiddifypanel/models/proxy.py,sha256=u1HlnmCMBr8Ywss-ZvKCU1td2IXrrQ_r-44tqSWs-Lw,16490
16
- hiddifypanel/models/usage.py,sha256=19lNPeIfaZUdJ3epAwe4DzuNvSlKxS24csSXLILN4EQ,16963
17
- hiddifypanel/models/user.py,sha256=B0Ew0En7qPSxuXmdcoV_KQR6nwZy7Lak-v-a1109n9s,36280
9
+ hiddifypanel/xray_api.py,sha256=wu-xFeDLFf91u_3epgFlPuViTEywkyDglj5JJXmH8Tw,3584
10
+ hiddifypanel/models/__init__.py,sha256=g35oflZsLhfGA5TZUYcEiKeusZJxy1KCcpZnuIdXbSc,790
11
+ hiddifypanel/models/child.py,sha256=GMxnM9YejBx3aQmFvGRzPiO8v6V77jYFPl7D-_Zhzc8,1237
12
+ hiddifypanel/models/config.py,sha256=CCTUzyhP6vqnr-zpRtXuWmjEpby8H5_2zhQ485KDe3g,3983
13
+ hiddifypanel/models/config_enum.py,sha256=Ipnzk8lxJkRS3ll6QaAWDBezMMAPPUYyhtHY-BnaoNo,9038
14
+ hiddifypanel/models/domain.py,sha256=9qFIn-faGCF7tRlhGaMmSjToSvg1KoyeyyUm_94wPQo,3724
15
+ hiddifypanel/models/proxy.py,sha256=Vdn0bjrPOgz1X5JhLHtWCqnIjKL3ZuvkiJrSKpIfRho,1662
16
+ hiddifypanel/models/usage.py,sha256=wXWnk1c_YnjGWfLNq13e9kQ2FXEzuPqMCZ4Pj66jYVU,2719
17
+ hiddifypanel/models/user.py,sha256=htq7ljrvqKCKiUV1pZ5YUq1KrVSFFvulRJMFLeqGA6U,7032
18
18
  hiddifypanel/panel/__init__.py,sha256=5HGYH66n-0HW5NH8sPNm474jGSCbeORKWDTojyXGFCA,321
19
- hiddifypanel/panel/admin_2.py,sha256=KS1efaE1ep-B_d6a0Di5O4U5NdXZMsaVUqPngduz5m0,8630
19
+ hiddifypanel/panel/admin_2.py,sha256=OxREim9QwyMzM12WBcFaaXYkRoTBZkn5DNm315S7OH4,1234
20
20
  hiddifypanel/panel/asset.py,sha256=6jObVcgXNsq0hImK3nVa7gSgH8tBn146-6WSA23ruVo,656
21
- hiddifypanel/panel/cf_api.py,sha256=D0aI4v3YmuUt59eDtyPV5S-xfgt4tNM5xcWuJKda18Q,11012
21
+ hiddifypanel/panel/cf_api.py,sha256=Ft3-1KZPcrJ_F9BQgsboTHBLYMCZQiS_bWBKYNXR8E0,1259
22
22
  hiddifypanel/panel/clean_ip.py,sha256=n121voC3aMcTRiHiu-aKFYj9i9sERrgBiPHBHR_bEeU,4217
23
23
  hiddifypanel/panel/cli.py,sha256=pJ9o3LjuwbVNbhwQ0Hh9OjIEgOJtqHV5F55wRkdaUwo,6355
24
- hiddifypanel/panel/common.py,sha256=8YlnnZ6dIW0ewzzLL8ZwoLEaH8abMTaNqPjFx2zGHM8,24207
25
- hiddifypanel/panel/custom_widgets.py,sha256=Bjg6qr2zk7JTAggFMyk667aF4bwGtryFuuA9tv-tsJg,22327
26
- hiddifypanel/panel/database.py,sha256=1YFF37jmS7GxIuEj0MU8cNTIt63r754GA4_5p6c29lk,3888
24
+ hiddifypanel/panel/common.py,sha256=HuhsmfICfptxvz1xB-DEW-J6phlxHuFpxW28FtMWiJA,4255
25
+ hiddifypanel/panel/custom_widgets.py,sha256=rQiSRVcVvOl5m-hcP4zBSPczLLfYZE7iDRYr5KL3twg,2456
26
+ hiddifypanel/panel/database.py,sha256=ec8ClPiDjJWkrdQy-7VzhZJ6MH79Q0jaF386vTXiBf4,493
27
27
  hiddifypanel/panel/hiddify.py,sha256=Gg-OdkTzv9RhT7qUUSVH9QxtqeYGGmH4ZQOqZbHkCJI,22142
28
- hiddifypanel/panel/hiddify_api.py,sha256=1YntQQ5Y9QtMfY09eHhquyGx8YylJHxmhcJAUJEnLzs,17156
28
+ hiddifypanel/panel/hiddify_api.py,sha256=ZzrjcT8kMEO5Z4KTZscaTuCxBYZkrfqtDIJdvgP3-lg,2322
29
29
  hiddifypanel/panel/init_db.py,sha256=5OV7--zdAdHRb_hTYQNT2HTBisekCeF8gNw6BpKQI3s,14554
30
- hiddifypanel/panel/usage.py,sha256=sIdsoF9aMmPJSHlSIXjr_DLDI6_SMhtcjco4jFdGWUQ,3232
31
- hiddifypanel/panel/admin/Actions.py,sha256=FWaLUOGma-1DjxVA7zazoIK-C2aYY0Ze-ibQEatLv90,7282
30
+ hiddifypanel/panel/usage.py,sha256=1qn-W1Lgu7aEWbYkJdbFdUO1T0xQIUa4ERMrl0nvseM,3150
31
+ hiddifypanel/panel/admin/Actions.py,sha256=QZP3WEqtUZxNgLCfvQqrmeWKDTw_Qc17ZwZOgjm3IcE,7286
32
32
  hiddifypanel/panel/admin/Backup.py,sha256=W2Y7w8LiUApHC1krp1r9OsUx2OqHpQ-Vq_JbL8rqA-s,3143
33
33
  hiddifypanel/panel/admin/ChildAdmin.py,sha256=rnXNtfdtYtTKsS5BEZXI1opkzB8Nd258C8n7UO7STvI,4762
34
34
  hiddifypanel/panel/admin/ConfigAdmin.py,sha256=tNKdrs7QLpXXiqSss-5kWS-g1nZDS9_M2v7r-QbwmOs,2901
@@ -73,7 +73,7 @@ hiddifypanel/panel/commercial/templates/parent_dash.html,sha256=pMZRHQRxb2blYe0f
73
73
  hiddifypanel/panel/user/__init__.py,sha256=PmAxW8XnobJYj_l8JRylbe34hLBMCQ7zCuOykJ2dEes,1214
74
74
  hiddifypanel/panel/user/link_maker.html,sha256=g420NAm_fUI8asYjyfCiXyUOIwEQfDPonZA9xh3p0-8,177
75
75
  hiddifypanel/panel/user/link_maker.py,sha256=C8QJuBHjrmnqlCHKeUslK8HeqGXQVcB2yyPuHP77vDI,16729
76
- hiddifypanel/panel/user/user.py,sha256=2ze9f7C3nqusappRa-Rlir-Uo4VV5e30ZeOWnunG9FY,8900
76
+ hiddifypanel/panel/user/user.py,sha256=bsUZSR7QViCEv5_CMFeWqo2QqdB98fPLrOv1stvXtIA,8937
77
77
  hiddifypanel/panel/user/templates/all_configs copy.txt,sha256=ivn6fiOLnn4R7WLoKiPFbW-oOu-v1hdSqOW-sSeYmXA,510
78
78
  hiddifypanel/panel/user/templates/all_configs.txt,sha256=EY5OyFmwCL9K7Nh_7mKHwVmGVbv96S_2svtzM0tjBv0,1020
79
79
  hiddifypanel/panel/user/templates/clash_config copy.yml,sha256=_BIDTWAe6St7f0Q3KhNAYuQsVqQDmx_5ayElt5Gs-fw,7537
@@ -91,7 +91,7 @@ hiddifypanel/panel/user/templates/home/index copy.html,sha256=eM6filzAnp4mtfwVPK
91
91
  hiddifypanel/panel/user/templates/home/index_old.html,sha256=3YVZLz3TNN80bj4VXBPNWrXY6TiczP22Sgt70iKVSyI,11248
92
92
  hiddifypanel/panel/user/templates/home/ios copy.html,sha256=30jekxKEFuy6fkvC4S9LuJb3TX3DfPYo09W-8P52Xhc,4110
93
93
  hiddifypanel/panel/user/templates/home/ios.html,sha256=0XgqJQW0aQEBXsVR6n0JyQl6OBbKn2UGYNFnMr66Uqw,1128
94
- hiddifypanel/panel/user/templates/home/multi.html,sha256=kECmtlnZoXuxCICi62uU_B1U5XDfMKYRIIoC-eGeJdI,12235
94
+ hiddifypanel/panel/user/templates/home/multi.html,sha256=u0moryiPAUyBPq2N8qGgJB13ySqOE-IlTo06ZYBx0yU,12277
95
95
  hiddifypanel/panel/user/templates/home/speedtest.html,sha256=mKYu1CjyVvN0imj6MtKi88ITYcFpdIcUM-eb2VPgTXA,538
96
96
  hiddifypanel/panel/user/templates/home/telegram.html,sha256=WyOLUd7saaN2lRfiQsGjwqdXe53dP4siSPYlj6iZsqc,623
97
97
  hiddifypanel/panel/user/templates/home/usage.html,sha256=jZ9fIpzkx1z7ePRU-g0v24UrT-S7p2DT1zcTSzfOsJE,3620
@@ -104,7 +104,7 @@ hiddifypanel/static/css/bootstrap.min.css,sha256=djO3wMl9GeaC_u6K-ic4Uj_LKhRUSlU
104
104
  hiddifypanel/static/css/bootstrap4-rtl.min.css,sha256=2ZN6KcWrEZE_efXKufJsIrj2hSZ4PFw7QWnIV0egdxE,8358
105
105
  hiddifypanel/static/css/bootstrap5.rtl.min.css,sha256=6oH_E3oAx6zH-g1hfIn7dq7y7GoCM149BGt2nNYi02s,163995
106
106
  hiddifypanel/static/css/custom-rtl.css,sha256=UVEGrzMXDPHCg59hJig1YnXELmgxKfsMbq1XLXi2naI,465
107
- hiddifypanel/static/css/custom.css,sha256=fBjbN_ka-NhX49XJoG5QAnLxm0Vqk8GULgOflhDUVpI,3913
107
+ hiddifypanel/static/css/custom.css,sha256=JA8yjixHYXx_JYU6ZfhtnDXEQmF0qkds8Itx3dx2nMM,3987
108
108
  hiddifypanel/static/css/font-awesome.css,sha256=8RivRM1xoA4MVZ3DyyCpqGLfW3lSoHBItx-EaMM4P6Y,101895
109
109
  hiddifypanel/static/css/lte.old,sha256=EOZyrKYSocDo_gk1VtgeX_OvUL3kN7QVTJJg7D2R6Z0,278568
110
110
  hiddifypanel/static/fonts/Vazir-Black.eot,sha256=J_UB2BiLqRZy7BmJqQEDPWkwwsmrOjIBd3-U6vJ7nGU,92934
@@ -653,7 +653,7 @@ hiddifypanel/static/webfonts/fa-solid-900.ttf,sha256=5Pan6dGnwLSWjZy51CLo2c3KIp9
653
653
  hiddifypanel/static/webfonts/fa-solid-900.woff2,sha256=jwZUD9d_Hv_h4tqOoQzsSjgt2pzG7wXYFuHW3kRAcvI,150516
654
654
  hiddifypanel/static/webfonts/fa-v4compatibility.ttf,sha256=Lds7QRSpy1ZeSbCvIcw6yIzQQ760m-MouPV6Y0mJ4Kw,10140
655
655
  hiddifypanel/static/webfonts/fa-v4compatibility.woff2,sha256=9GcVydMAR_jepOsl7YafeR6wacaw9hAjgsMqVq7q37s,4568
656
- hiddifypanel/templates/500.html,sha256=sJzNqRxjH64aciwU_cGZXxn-iilK2JbT2mZs0LxpbCQ,891
656
+ hiddifypanel/templates/500.html,sha256=49DvuK3K70WoZMSPdBtXryyu921SwspE7FSV4KRl9I4,896
657
657
  hiddifypanel/templates/a.html,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
658
658
  hiddifypanel/templates/admin-layout.html,sha256=v-UymSJcgPJKkVgWRAvam3o0xxDWlWfoBytySHKbFlQ,9010
659
659
  hiddifypanel/templates/admin.ht.old,sha256=3hMqCXEw4-hFrDGKlENcPOHbZ_iIygm9ilIHgsIW54w,8404
@@ -671,11 +671,9 @@ hiddifypanel/translations/fa/LC_MESSAGES/messages.mo,sha256=Es3pOR5mMM956YAjNzMR
671
671
  hiddifypanel/translations/fa/LC_MESSAGES/messages.po,sha256=hjGwBGzZJ7WQGkAEoYbiAMz-S867a6ufNIDnSMkIj6w,139137
672
672
  hiddifypanel/translations/zh/LC_MESSAGES/messages.mo,sha256=Jx6VsaEWvN59NFy2u-3XEnwaHQe3sX2NFEU0mJgJ1Vc,40445
673
673
  hiddifypanel/translations/zh/LC_MESSAGES/messages.po,sha256=r1CnD7DkFiaB4YTQ2qrtGWWE46vOhIiE3x-bu8L52n8,115312
674
- pyarmor_runtime_000000/__init__.py,sha256=8k7hw9TaIkJz-wvm1nEsrff4D0V9KsDFbEhrkYG6KRk,266
675
- pyarmor_runtime_000000/pyarmor_runtime.so,sha256=WJiSB4H2N41aWL05VBro5EqLzUPo4StXAdtoTZomR8U,767656
676
- hiddifypanel-3.0.0.dev64.dist-info/LICENSE,sha256=awOCsWJ58m_2kBQwBUGWejVqZm6wuRtCL2hi9rfa0X4,1211
677
- hiddifypanel-3.0.0.dev64.dist-info/METADATA,sha256=f7HINZADux2sEuAvvl5BMp6ErYiN5fJRZBXvkwdoD8o,2587
678
- hiddifypanel-3.0.0.dev64.dist-info/WHEEL,sha256=qUFifj9ojiw12HwnLGqmLM4cdi2ExjIX0YgXn_cLltg,113
679
- hiddifypanel-3.0.0.dev64.dist-info/entry_points.txt,sha256=Xzpqlh3nwBtZhoV9AANJykano056VJvYzaujxPztJaM,60
680
- hiddifypanel-3.0.0.dev64.dist-info/top_level.txt,sha256=7g_mubb3f2watlKOxGRnoGv0LFqSvvltu4DJessQbYU,36
681
- hiddifypanel-3.0.0.dev64.dist-info/RECORD,,
674
+ hiddifypanel-3.0.0.dev65.dist-info/LICENSE,sha256=awOCsWJ58m_2kBQwBUGWejVqZm6wuRtCL2hi9rfa0X4,1211
675
+ hiddifypanel-3.0.0.dev65.dist-info/METADATA,sha256=WKgVnk7ezabfC3zvluP-hNWjhMWs-6p0IySXfacrpQw,2587
676
+ hiddifypanel-3.0.0.dev65.dist-info/WHEEL,sha256=qUFifj9ojiw12HwnLGqmLM4cdi2ExjIX0YgXn_cLltg,113
677
+ hiddifypanel-3.0.0.dev65.dist-info/entry_points.txt,sha256=Xzpqlh3nwBtZhoV9AANJykano056VJvYzaujxPztJaM,60
678
+ hiddifypanel-3.0.0.dev65.dist-info/top_level.txt,sha256=rv-b3qFWUZQTBy0kyBfsr7L6tPpeO7AaQlLHXn-HI5M,13
679
+ hiddifypanel-3.0.0.dev65.dist-info/RECORD,,
@@ -0,0 +1 @@
1
+ hiddifypanel
@@ -1,2 +0,0 @@
1
- hiddifypanel
2
- pyarmor_runtime_000000
@@ -1,4 +0,0 @@
1
- # 2023-04-08T16:23:30.294594
2
- from .pyarmor_runtime import __pyarmor__
3
- #واقعا برای 5 دلار میخوای کرک میکنی؟ حاجی ارزش وقت خودت بیشتره
4
- #Email hiddify@gmail.com for free permium version. Do not crack this cheap product
Binary file