RIZER 1.0.20__py3-none-any.whl → 1.4.0__py3-none-any.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 (79) hide show
  1. RIZER/APIS/__pycache__/__init__.cpython-312.pyc +0 -0
  2. RIZER/Pb2/__pycache__/__init__.cpython-312.pyc +0 -0
  3. {rizer → RIZER}/main.py +1 -1
  4. {rizer → RIZER}/requirements.txt +4 -0
  5. RIZER/rizer_runner.py +263 -0
  6. RIZER/setup.py +93 -0
  7. RIZER/tests/__init__.py +1 -0
  8. RIZER/tests/test_runner.py +90 -0
  9. rizer-1.4.0.dist-info/METADATA +232 -0
  10. rizer-1.4.0.dist-info/RECORD +47 -0
  11. rizer-1.4.0.dist-info/entry_points.txt +2 -0
  12. rizer-1.4.0.dist-info/licenses/LICENSE +21 -0
  13. rizer-1.4.0.dist-info/top_level.txt +1 -0
  14. rizer/RIZER.egg-info/PKG-INFO +0 -3
  15. rizer/RIZER.egg-info/SOURCES.txt +0 -19
  16. rizer/RIZER.egg-info/dependency_links.txt +0 -1
  17. rizer/RIZER.egg-info/entry_points.txt +0 -2
  18. rizer/RIZER.egg-info/top_level.txt +0 -2
  19. rizer/__init__.py +0 -1
  20. rizer/build/lib/APIS/__init__.py +0 -1
  21. rizer/build/lib/APIS/insta.py +0 -140
  22. rizer/build/lib/Pb2/DEcwHisPErMsG_pb2.py +0 -42
  23. rizer/build/lib/Pb2/Fo_pb2.py +0 -28
  24. rizer/build/lib/Pb2/GenWhisperMsg_pb2.py +0 -48
  25. rizer/build/lib/Pb2/MajoRLoGinrEq_pb2.py +0 -28
  26. rizer/build/lib/Pb2/MajoRLoGinrEs_pb2.py +0 -36
  27. rizer/build/lib/Pb2/PorTs_pb2.py +0 -36
  28. rizer/build/lib/Pb2/Team_msg_pb2.py +0 -48
  29. rizer/build/lib/Pb2/__init__.py +0 -1
  30. rizer/build/lib/Pb2/sQ_pb2.py +0 -38
  31. rizer/create_inits.py +0 -17
  32. rizer/dist/rizer-1.0.0-py3-none-any.whl +0 -0
  33. rizer/dist/rizer-1.0.0.tar.gz +0 -0
  34. rizer/install.sh +0 -36
  35. rizer/package.json +0 -13
  36. rizer/pyproject.toml +0 -3
  37. rizer/rizer_launcher.py +0 -57
  38. rizer/rizerrunner.py +0 -57
  39. rizer/runner.py +0 -46
  40. rizer/setup.py +0 -13
  41. rizer-1.0.20.dist-info/METADATA +0 -3
  42. rizer-1.0.20.dist-info/RECORD +0 -68
  43. rizer-1.0.20.dist-info/entry_points.txt +0 -2
  44. rizer-1.0.20.dist-info/top_level.txt +0 -3
  45. rizer_launcher.py +0 -59
  46. {APIS → RIZER/APIS}/__init__.py +0 -0
  47. {rizer → RIZER}/APIS/__pycache__/insta.cpython-312.pyc +0 -0
  48. {APIS → RIZER/APIS}/insta.py +0 -0
  49. {Pb2 → RIZER/Pb2}/DEcwHisPErMsG_pb2.py +0 -0
  50. {Pb2 → RIZER/Pb2}/Fo_pb2.py +0 -0
  51. {Pb2 → RIZER/Pb2}/GenWhisperMsg_pb2.py +0 -0
  52. {Pb2 → RIZER/Pb2}/MajoRLoGinrEq_pb2.py +0 -0
  53. {Pb2 → RIZER/Pb2}/MajoRLoGinrEs_pb2.py +0 -0
  54. {Pb2 → RIZER/Pb2}/PorTs_pb2.py +0 -0
  55. {Pb2 → RIZER/Pb2}/Team_msg_pb2.py +0 -0
  56. {Pb2 → RIZER/Pb2}/__init__.py +0 -0
  57. {rizer → RIZER}/Pb2/__pycache__/DEcwHisPErMsG_pb2.cpython-312.pyc +0 -0
  58. {rizer → RIZER}/Pb2/__pycache__/MajoRLoGinrEq_pb2.cpython-312.pyc +0 -0
  59. {rizer → RIZER}/Pb2/__pycache__/MajoRLoGinrEs_pb2.cpython-312.pyc +0 -0
  60. {rizer → RIZER}/Pb2/__pycache__/PorTs_pb2.cpython-312.pyc +0 -0
  61. {rizer → RIZER}/Pb2/__pycache__/Team_msg_pb2.cpython-312.pyc +0 -0
  62. {rizer → RIZER}/Pb2/__pycache__/sQ_pb2.cpython-312.pyc +0 -0
  63. {Pb2 → RIZER/Pb2}/sQ_pb2.py +0 -0
  64. {rizer → RIZER}/accounts.json +0 -0
  65. {rizer → RIZER/build/lib}/APIS/__init__.py +0 -0
  66. {rizer → RIZER/build/lib}/APIS/insta.py +0 -0
  67. {rizer → RIZER/build/lib}/Pb2/DEcwHisPErMsG_pb2.py +0 -0
  68. {rizer → RIZER/build/lib}/Pb2/Fo_pb2.py +0 -0
  69. {rizer → RIZER/build/lib}/Pb2/GenWhisperMsg_pb2.py +0 -0
  70. {rizer → RIZER/build/lib}/Pb2/MajoRLoGinrEq_pb2.py +0 -0
  71. {rizer → RIZER/build/lib}/Pb2/MajoRLoGinrEs_pb2.py +0 -0
  72. {rizer → RIZER/build/lib}/Pb2/PorTs_pb2.py +0 -0
  73. {rizer → RIZER/build/lib}/Pb2/Team_msg_pb2.py +0 -0
  74. {rizer → RIZER/build/lib}/Pb2/__init__.py +0 -0
  75. {rizer → RIZER/build/lib}/Pb2/sQ_pb2.py +0 -0
  76. {rizer → RIZER}/xC4.py +0 -0
  77. {rizer → RIZER}/xHeaders.py +0 -0
  78. /rizer/xKEys.py → /RIZER/xKEYs.py +0 -0
  79. {rizer-1.0.20.dist-info → rizer-1.4.0.dist-info}/WHEEL +0 -0
@@ -0,0 +1,232 @@
1
+ Metadata-Version: 2.4
2
+ Name: RIZER
3
+ Version: 1.4.0
4
+ Summary: Free Fire Automation Tool with Terminal Launcher
5
+ Home-page: https://github.com/rizer/tool
6
+ Author: RIZER Team
7
+ Author-email: RIZER Team <support@rizer.tool>
8
+ License: MIT License
9
+
10
+ Copyright (c) 2024 RIZER Team
11
+
12
+ Permission is hereby granted, free of charge, to any person obtaining a copy
13
+ of this software and associated documentation files (the "Software"), to deal
14
+ in the Software without restriction, including without limitation the rights
15
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
16
+ copies of the Software, and to permit persons to whom the Software is
17
+ furnished to do so, subject to the following conditions:
18
+
19
+ The above copyright notice and this permission notice shall be included in all
20
+ copies or substantial portions of the Software.
21
+
22
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
23
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
24
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
25
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
26
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
27
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
28
+ SOFTWARE.
29
+
30
+ Project-URL: Homepage, https://github.com/rizer/tool
31
+ Project-URL: Repository, https://github.com/rizer/tool
32
+ Project-URL: Issues, https://github.com/rizer/tool/issues
33
+ Project-URL: Documentation, https://github.com/rizer/tool/wiki
34
+ Keywords: free fire,automation,gaming,tool,cli
35
+ Classifier: Development Status :: 4 - Beta
36
+ Classifier: Intended Audience :: End Users/Desktop
37
+ Classifier: License :: OSI Approved :: MIT License
38
+ Classifier: Programming Language :: Python :: 3
39
+ Classifier: Programming Language :: Python :: 3.7
40
+ Classifier: Programming Language :: Python :: 3.8
41
+ Classifier: Programming Language :: Python :: 3.9
42
+ Classifier: Programming Language :: Python :: 3.10
43
+ Classifier: Programming Language :: Python :: 3.11
44
+ Classifier: Programming Language :: Python :: 3.12
45
+ Classifier: Operating System :: OS Independent
46
+ Classifier: Environment :: Console
47
+ Classifier: Topic :: Utilities
48
+ Requires-Python: >=3.7
49
+ Description-Content-Type: text/markdown
50
+ License-File: LICENSE
51
+ Requires-Dist: requests>=2.25.0
52
+ Requires-Dist: protobuf>=3.19.0
53
+ Requires-Dist: colorama>=0.4.4
54
+ Requires-Dist: pycryptodome>=3.15.0
55
+ Dynamic: author
56
+ Dynamic: home-page
57
+ Dynamic: license-file
58
+ Dynamic: requires-python
59
+
60
+ # RIZER
61
+
62
+ Free Fire Automation Tool with Terminal Launcher
63
+
64
+ ## 📁 Package Structure
65
+
66
+ ```
67
+ RIZER/
68
+ ├── RIZER/
69
+ │ ├── __init__.py
70
+ │ ├── rizer_runner.py # Main launcher
71
+ │ ├── main.py # Your main.py (untouched except UID/PW line)
72
+ │ ├── xC4.py
73
+ │ ├── xHeaders.py
74
+ │ ├── xKEYs.py
75
+ │ ├── accounts.json
76
+ │ ├── APIS/ # API modules
77
+ │ └── Pb2/ # Protobuf modules
78
+ ├── setup.py # PyPI build config
79
+ ├── MANIFEST.in # Package manifest
80
+ ├── requirements.txt # Dependencies
81
+ └── README.md # This file
82
+ ```
83
+
84
+ ## 🚀 Features
85
+
86
+ - ✅ **main.py untouched** - Only UID/Password line modified (~line 6272)
87
+ - ✅ **Password visible** during input (no masking)
88
+ - ✅ **ASCII + Color** logo at startup
89
+ - ✅ **Clean terminal** - Old text cleared, only logo + prompts visible
90
+ - ✅ **Logs preserved** - main.py logs unchanged
91
+ - ✅ **Ctrl+C safe exit** - Clean shutdown message
92
+ - ✅ **Relative imports fixed** - APIS/ and Pb2/ auto-load
93
+ - ✅ **Multi-user support** - Each input isolated
94
+ - ✅ **PyPI ready** - Easy install and upgrade
95
+
96
+ ## 📦 Build & Install
97
+
98
+ ### 1. Prepare Your Files
99
+
100
+ Replace the placeholder files with your actual files:
101
+
102
+ ```bash
103
+ # Copy your actual main.py (must contain: Uid , Pw = 'uiddd','passwordd')
104
+ cp /path/to/your/main.py RIZER/RIZER/main.py
105
+
106
+ # Copy other required files
107
+ cp /path/to/your/xC4.py RIZER/RIZER/
108
+ cp /path/to/your/xHeaders.py RIZER/RIZER/
109
+ cp /path/to/your/xKEYs.py RIZER/RIZER/
110
+ cp /path/to/your/accounts.json RIZER/RIZER/
111
+
112
+ # Copy directories
113
+ cp -r /path/to/your/APIS/* RIZER/RIZER/APIS/
114
+ cp -r /path/to/your/Pb2/* RIZER/RIZER/Pb2/
115
+ ```
116
+
117
+ ### 2. Build Package
118
+
119
+ ```bash
120
+ cd RIZER
121
+
122
+ # Install build tools
123
+ pip install setuptools wheel twine
124
+
125
+ # Build package
126
+ python setup.py sdist bdist_wheel
127
+ ```
128
+
129
+ ### 3. Upload to PyPI
130
+
131
+ ```bash
132
+ # Upload to PyPI (requires account)
133
+ twine upload dist/*
134
+
135
+ # Or upload to Test PyPI first
136
+ twine upload --repository testpypi dist/*
137
+ ```
138
+
139
+ ### 4. Install & Use
140
+
141
+ ```bash
142
+ # Install from PyPI
143
+ pip install RIZER
144
+
145
+ # Or upgrade
146
+ pip install --upgrade RIZER
147
+
148
+ # Run
149
+ RIZER
150
+ ```
151
+
152
+ ## 🖥️ Usage
153
+
154
+ After installation, simply type in terminal:
155
+
156
+ ```bash
157
+ RIZER
158
+ ```
159
+
160
+ You will see:
161
+
162
+ ```
163
+ ██████╗░██╗███████╗███████╗██████╗░
164
+ ██╔══██╗██║╚════██║██╔════╝██╔══██╗
165
+ ██████╔╝██║░░███╔═╝█████╗░░██████╔╝
166
+ ██╔══██╗██║██╔══╝░░██╔══╝░░██╔══██╗
167
+ ██║░░██║██║███████╗███████╗██║░░██║
168
+ ╚═╝░░╚═╝╚═╝╚══════╝╚══════╝╚═╝░░╚═╝
169
+ RIZER v1.4.0
170
+ Free Fire Automation Tool
171
+
172
+ ╔════════════════════════════════════╗
173
+ ║ Account Configuration ║
174
+ ╚════════════════════════════════════╝
175
+
176
+ Enter UID: 12345678
177
+ Enter Password: yourpassword
178
+
179
+ ⚙️ Updating credentials...
180
+ ✅ Credentials updated successfully!
181
+
182
+ 🚀 Launching main.py...
183
+
184
+ [main.py output appears here...]
185
+ ```
186
+
187
+ ## ⚙️ How It Works
188
+
189
+ 1. **Clear Screen** - Terminal cleared for clean look
190
+ 2. **ASCII Logo** - Colorful RIZER logo displayed
191
+ 3. **Input Prompts** - UID and Password entered (visible)
192
+ 4. **Pattern Match** - Finds line: `Uid , Pw = 'uiddd','passwordd'`
193
+ 5. **Replace** - Updates with user input, preserves formatting
194
+ 6. **Execute** - Runs main.py with new credentials
195
+ 7. **Reset** - Restores default values after execution
196
+
197
+ ## 🛡️ Safety Features
198
+
199
+ - **No permanent changes** - main.py reset after each run
200
+ - **Keyboard interrupt handling** - Safe Ctrl+C exit
201
+ - **Missing file warnings** - Continues even if files missing
202
+ - **Error handling** - Graceful failures with messages
203
+
204
+ ## 📝 Notes
205
+
206
+ - main.py must contain the exact pattern: `Uid , Pw = 'uiddd','passwordd'`
207
+ - Single quotes preferred but double quotes also supported
208
+ - All other lines in main.py remain untouched
209
+ - Each user runs with their own credentials
210
+ - Logs from main.py displayed in real-time
211
+
212
+ ## 🔧 Troubleshooting
213
+
214
+ **Import errors?**
215
+ - rizer_runner.py automatically fixes Python path
216
+ - APIS/ and Pb2/ added to sys.path
217
+
218
+ **main.py not found?**
219
+ - Ensure main.py is in the same directory as rizer_runner.py
220
+ - Check file permissions
221
+
222
+ **Pattern not found?**
223
+ - Verify main.py contains: `Uid , Pw = 'uiddd','passwordd'`
224
+ - Check for extra spaces or different quote types
225
+
226
+ ## 📄 License
227
+
228
+ MIT License - See LICENSE file
229
+
230
+ ## 🤝 Support
231
+
232
+ For support, contact: support@rizer.tool
@@ -0,0 +1,47 @@
1
+ RIZER/accounts.json,sha256=8OgXp6pL1yxQp04_BHZcb6L5C3e8aC3eXvlN2OWQDcY,175
2
+ RIZER/main.py,sha256=VgXCASY46v5Uqh-ujbjLY72EzsEne9IBS7piStBC6e0,316115
3
+ RIZER/requirements.txt,sha256=ktLtD8y-kAvsVf3fx67Dqfa0ybW3_F7RJYcNIy3nhE4,141
4
+ RIZER/rizer_runner.py,sha256=RhtZ-J4tY4vtuc1oeQ0J6zY5tF1ziVMvo_C0N1GId_U,8438
5
+ RIZER/setup.py,sha256=Pd5f1QNKMpJ1-ypNlyzZUGG2cD7r_bsPLxC_SW_exS8,2670
6
+ RIZER/xC4.py,sha256=SZ4D1HFYcok2696wYuj8hYF-wB_lwiEWmQluao7aJh8,16928
7
+ RIZER/xHeaders.py,sha256=F_Q8Er8l0nC6VoDcRrXCnwLs0v6EfmuMxG6CcxpdI4U,9016
8
+ RIZER/xKEYs.py,sha256=nn3SwAhiHyKa-CJZhIjvIvSLHpO6mwFwUV-eIfDww3I,1270
9
+ RIZER/APIS/__init__.py,sha256=WKJf-I23yKm-hl9I7RYeBrLfsTgHKO1bur87GsbEEys,27
10
+ RIZER/APIS/insta.py,sha256=4WO7MXYjMihk6zirtoQZe_xwkE-qeS1o0F7M3ZSPQ2s,5474
11
+ RIZER/APIS/__pycache__/__init__.cpython-312.pyc,sha256=OJBHb4BayRIACs7tMRPjQ3Xb_RV0JdIt7aoUnuCt9d4,153
12
+ RIZER/APIS/__pycache__/insta.cpython-312.pyc,sha256=UKK4RqKDa5DCTR7-8r0_2ciilGISSRaJ2yQHlcnz2oQ,6454
13
+ RIZER/Pb2/DEcwHisPErMsG_pb2.py,sha256=Ze6NK75hWL8WhnxTt_x_jYZ4D7-J7wtOMqb93Fnc-cI,2173
14
+ RIZER/Pb2/Fo_pb2.py,sha256=Bt2UIJxE1OUjYjFzD28YRPH2nCIpAN7wZNxJrQ29TP4,1193
15
+ RIZER/Pb2/GenWhisperMsg_pb2.py,sha256=OW9WaURHF1Bn0Cbo9wxUUkXLuke_L3E_m5AsGQHsiK8,3481
16
+ RIZER/Pb2/MajoRLoGinrEq_pb2.py,sha256=YEiOB1HGJjc-ux1q4A10t3k4nmWKYSxhwUJTu7lCeQE,3683
17
+ RIZER/Pb2/MajoRLoGinrEs_pb2.py,sha256=57Wuq8p2A1ARxA5vncAE_F8iE61HbTH5zm0W9FQyiuY,1504
18
+ RIZER/Pb2/PorTs_pb2.py,sha256=f2ZivV0MtDtKCONNteFsmnvtlPHRzvbY0ZSJP9oOd54,1570
19
+ RIZER/Pb2/Team_msg_pb2.py,sha256=uaS6tHQ5mGvAfANA7LD2EAqegl48oMIEl7j5B7wzlG8,3502
20
+ RIZER/Pb2/__init__.py,sha256=WKJf-I23yKm-hl9I7RYeBrLfsTgHKO1bur87GsbEEys,27
21
+ RIZER/Pb2/sQ_pb2.py,sha256=CbejPLoqdo158pQEaelP5YQsrERCduOXS5oarinYjfg,1580
22
+ RIZER/Pb2/__pycache__/DEcwHisPErMsG_pb2.cpython-312.pyc,sha256=ze7eXjeag98Ao-kd1uOUw1lmAtpedJA4wCXl2K9A6Gc,2042
23
+ RIZER/Pb2/__pycache__/MajoRLoGinrEq_pb2.cpython-312.pyc,sha256=3O7v4f7bnRwgUifwQwR3RuUh_aDrQNxWZ8laKKPZuXA,2702
24
+ RIZER/Pb2/__pycache__/MajoRLoGinrEs_pb2.cpython-312.pyc,sha256=-iGFCBOvFeF8zJZuuQm9FscVoKBwiouVkhLK2PMibWo,1548
25
+ RIZER/Pb2/__pycache__/PorTs_pb2.cpython-312.pyc,sha256=sUv7bDYFSfj2Sgop5ys1IjXOH3lQoESpYWGnpW4x2eg,1584
26
+ RIZER/Pb2/__pycache__/Team_msg_pb2.cpython-312.pyc,sha256=MbloIpEAW0xxuXn3EzegJ4uBRcyamWNgev1Ef3PAOuE,2862
27
+ RIZER/Pb2/__pycache__/__init__.cpython-312.pyc,sha256=ST_JALTynN-ZeZDlEOX9qstS5nT8DmbfGzleymuDHNw,152
28
+ RIZER/Pb2/__pycache__/sQ_pb2.cpython-312.pyc,sha256=Vkz9QWzn-80qun9EVLQy7e_qWJdqTkYgD8xFBXwPxHA,1638
29
+ RIZER/build/lib/APIS/__init__.py,sha256=WKJf-I23yKm-hl9I7RYeBrLfsTgHKO1bur87GsbEEys,27
30
+ RIZER/build/lib/APIS/insta.py,sha256=4WO7MXYjMihk6zirtoQZe_xwkE-qeS1o0F7M3ZSPQ2s,5474
31
+ RIZER/build/lib/Pb2/DEcwHisPErMsG_pb2.py,sha256=Ze6NK75hWL8WhnxTt_x_jYZ4D7-J7wtOMqb93Fnc-cI,2173
32
+ RIZER/build/lib/Pb2/Fo_pb2.py,sha256=Bt2UIJxE1OUjYjFzD28YRPH2nCIpAN7wZNxJrQ29TP4,1193
33
+ RIZER/build/lib/Pb2/GenWhisperMsg_pb2.py,sha256=OW9WaURHF1Bn0Cbo9wxUUkXLuke_L3E_m5AsGQHsiK8,3481
34
+ RIZER/build/lib/Pb2/MajoRLoGinrEq_pb2.py,sha256=YEiOB1HGJjc-ux1q4A10t3k4nmWKYSxhwUJTu7lCeQE,3683
35
+ RIZER/build/lib/Pb2/MajoRLoGinrEs_pb2.py,sha256=57Wuq8p2A1ARxA5vncAE_F8iE61HbTH5zm0W9FQyiuY,1504
36
+ RIZER/build/lib/Pb2/PorTs_pb2.py,sha256=f2ZivV0MtDtKCONNteFsmnvtlPHRzvbY0ZSJP9oOd54,1570
37
+ RIZER/build/lib/Pb2/Team_msg_pb2.py,sha256=uaS6tHQ5mGvAfANA7LD2EAqegl48oMIEl7j5B7wzlG8,3502
38
+ RIZER/build/lib/Pb2/__init__.py,sha256=WKJf-I23yKm-hl9I7RYeBrLfsTgHKO1bur87GsbEEys,27
39
+ RIZER/build/lib/Pb2/sQ_pb2.py,sha256=CbejPLoqdo158pQEaelP5YQsrERCduOXS5oarinYjfg,1580
40
+ RIZER/tests/__init__.py,sha256=Wk73Io62J15BtlLVIzxmASDWaaJkQLevS4BLK5LDAQg,16
41
+ RIZER/tests/test_runner.py,sha256=YDpHksC9hV9so7VFB5V6bl8JR0NRTYV115sU46Ykqvk,2437
42
+ rizer-1.4.0.dist-info/licenses/LICENSE,sha256=VAax80b0BHQvvW_SSWIntgE23eSj-Y7i7IxhKX6cb-U,1067
43
+ rizer-1.4.0.dist-info/METADATA,sha256=Y1u6OZeF3Ak13favFmiuDbC_9LkpOj74EwIdc_BQs40,7555
44
+ rizer-1.4.0.dist-info/WHEEL,sha256=qELbo2s1Yzl39ZmrAibXA2jjPLUYfnVhUNTlyF1rq0Y,92
45
+ rizer-1.4.0.dist-info/entry_points.txt,sha256=7N2AWXWVGVUBpr9jRAlBq5ISOR_xuvClOl98LapumkM,50
46
+ rizer-1.4.0.dist-info/top_level.txt,sha256=-ZaiaGCzzpB_j5zXrivihC6Guq3LUjxAhJfcEAS0DTc,6
47
+ rizer-1.4.0.dist-info/RECORD,,
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ RIZER = RIZER.rizer_runner:main
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024 RIZER Team
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1 @@
1
+ RIZER
@@ -1,3 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: RIZER
3
- Version: 1.0.0
@@ -1,19 +0,0 @@
1
- MANIFEST.in
2
- pyproject.toml
3
- setup.py
4
- APIS/__init__.py
5
- APIS/insta.py
6
- Pb2/DEcwHisPErMsG_pb2.py
7
- Pb2/Fo_pb2.py
8
- Pb2/GenWhisperMsg_pb2.py
9
- Pb2/MajoRLoGinrEq_pb2.py
10
- Pb2/MajoRLoGinrEs_pb2.py
11
- Pb2/PorTs_pb2.py
12
- Pb2/Team_msg_pb2.py
13
- Pb2/__init__.py
14
- Pb2/sQ_pb2.py
15
- RIZER.egg-info/PKG-INFO
16
- RIZER.egg-info/SOURCES.txt
17
- RIZER.egg-info/dependency_links.txt
18
- RIZER.egg-info/entry_points.txt
19
- RIZER.egg-info/top_level.txt
@@ -1 +0,0 @@
1
-
@@ -1,2 +0,0 @@
1
- [console_scripts]
2
- rizer = rizer.main:main
@@ -1,2 +0,0 @@
1
- APIS
2
- Pb2
rizer/__init__.py DELETED
@@ -1 +0,0 @@
1
- # RIZER package initialization
@@ -1 +0,0 @@
1
- # Auto __init__.py created
@@ -1,140 +0,0 @@
1
- # ------------------------------------------------------------
2
- # Instagram Info API — Credit: Anmol (@FOREVER_HIDDEN)
3
- # JOIN : @SOURCE_SUTRA FOR MORE SRC | API | BOT CODE | METHOD | 🛐
4
- # Purpose : Fetch profile & recent media (public + optional session-based)
5
- # Note : THIS CODE MADE BY ANMOL @FOREVER_HIDDEN (GIVE CREDIT OTHERWISE EVERYONE FUCK YOU AT 300 KM SPEED)
6
- # Usage : /api/insta/<username>?
7
- # License : Personal / internal use only — retain credit when sharing
8
- # ------------------------------------------------------------
9
-
10
- from flask import Flask, jsonify, request
11
- import requests
12
- import time
13
- import socket
14
- from functools import lru_cache
15
-
16
- app = Flask(__name__)
17
-
18
- # DONT REMOVE THIS BRUH
19
- @lru_cache(maxsize=1024)
20
- def fetch_instagram_profile(username, proxy=None):
21
- url = f"https://i.instagram.com/api/v1/users/web_profile_info/?username={username}"
22
- headers = {
23
- "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) "
24
- "AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36",
25
- "Accept": "application/json, text/plain, */*",
26
- "x-ig-app-id": "936619743392459",
27
- "Referer": f"https://www.instagram.com/{username}/",
28
- }
29
- session = requests.Session()
30
- proxies = {"http": proxy, "https": proxy} if proxy else None
31
-
32
- backoff = 1
33
- for attempt in range(4):
34
- try:
35
- resp = session.get(url, headers=headers, timeout=10, proxies=proxies)
36
- if resp.status_code == 200:
37
- return resp.json()
38
- elif resp.status_code in (429, 403):
39
- # rate limited or blocked
40
- time.sleep(backoff)
41
- backoff *= 2
42
- elif resp.status_code == 404:
43
- return {"error": "not_found", "status_code": 404}
44
- else:
45
- return {
46
- "error": "http_error",
47
- "status_code": resp.status_code,
48
- "body": resp.text[:500],
49
- }
50
- except requests.RequestException:
51
- time.sleep(backoff)
52
- backoff *= 2
53
- return {"error": "request_failed"}
54
-
55
-
56
- @app.route("/api/insta/<username>", methods=["GET"])
57
- def insta_info(username):
58
- proxy = request.args.get("proxy") # optional proxy
59
- data = fetch_instagram_profile(username, proxy=proxy)
60
- if data is None:
61
- return jsonify({"error": "no_response"}), 502
62
-
63
- if "error" in data:
64
- return jsonify(data), (data.get("status_code") or 400)
65
-
66
- try:
67
- user = data.get("data", {}).get("user") or data.get("user") or data.get("data")
68
- if not user:
69
- return jsonify({"raw": data})
70
-
71
- out = {
72
- "id": user.get("id"),
73
- "username": user.get("username"),
74
- "full_name": user.get("full_name"),
75
- "biography": user.get("biography"),
76
- "is_private": user.get("is_private"),
77
- "is_verified": user.get("is_verified"),
78
- "profile_pic_url": user.get("profile_pic_url_hd")
79
- or user.get("profile_pic_url"),
80
- "followers_count": (
81
- user.get("edge_followed_by", {}).get("count")
82
- or user.get("followers_count")
83
- ),
84
- "following_count": (
85
- user.get("edge_follow", {}).get("count")
86
- or user.get("following_count")
87
- ),
88
- "media_count": (
89
- user.get("media_count")
90
- or user.get("edge_owner_to_timeline_media", {}).get("count")
91
- ),
92
- "recent_media": [],
93
- }
94
-
95
- media = (
96
- user.get("edge_owner_to_timeline_media")
97
- or user.get("media")
98
- or {}
99
- )
100
- edges = media.get("edges") or media.get("items") or []
101
- for e in edges[:8]:
102
- node = e.get("node") if isinstance(e, dict) and e.get("node") else e
103
- if not node:
104
- continue
105
- caption = None
106
- if node.get("edge_media_to_caption"):
107
- edges_caption = node["edge_media_to_caption"].get("edges") or []
108
- if edges_caption and "node" in edges_caption[0]:
109
- caption = edges_caption[0]["node"].get("text")
110
- else:
111
- caption = node.get("caption")
112
-
113
- out["recent_media"].append({
114
- "id": node.get("id"),
115
- "shortcode": node.get("shortcode"),
116
- "display_url": node.get("display_url")
117
- or node.get("display_src"),
118
- "taken_at": node.get("taken_at_timestamp")
119
- or node.get("taken_at"),
120
- "caption": caption,
121
- })
122
- return jsonify(out)
123
- except Exception as exc:
124
- return jsonify({
125
- "error": "parse_error",
126
- "details": str(exc),
127
- "raw": data
128
- }), 500
129
-
130
- def find_free_port(start=8080, end=65535):
131
- for port in range(start, end):
132
- with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
133
- if s.connect_ex(('0.0.0.0', port)) != 0:
134
- return port
135
- raise RuntimeError("No free port available")
136
-
137
- if __name__ == "__main__":
138
- port = find_free_port()
139
- print(f"Starting server on port {port}")
140
- app.run(host="0.0.0.0", port=port, debug=False)
@@ -1,42 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- # Generated by the protocol buffer compiler. DO NOT EDIT!
3
- # NO CHECKED-IN PROTOBUF GENCODE
4
- # source: DecodeWhisperMsg.proto
5
- # Protobuf Python Version: 6.30.0
6
- """Generated protocol buffer code."""
7
- from google.protobuf import descriptor as _descriptor
8
- from google.protobuf import descriptor_pool as _descriptor_pool
9
- from google.protobuf import runtime_version as _runtime_version
10
- from google.protobuf import symbol_database as _symbol_database
11
- from google.protobuf.internal import builder as _builder
12
- _runtime_version.ValidateProtobufRuntimeVersion(
13
- _runtime_version.Domain.PUBLIC,
14
- 6,
15
- 30,
16
- 0,
17
- '',
18
- 'DecodeWhisperMsg.proto'
19
- )
20
- # @@protoc_insertion_point(imports)
21
-
22
- _sym_db = _symbol_database.Default()
23
-
24
-
25
-
26
-
27
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16\x44\x65\x63odeWhisperMsg.proto\"\xa8\x02\n\rDecodeWhisper\x12$\n\x04\x44\x61ta\x18\x05 \x01(\x0b\x32\x16.DecodeWhisper.Nested1\x1a\xf0\x01\n\x07Nested1\x12\x0b\n\x03uid\x18\x01 \x01(\x04\x12\x0f\n\x07\x43hat_ID\x18\x02 \x01(\x04\x12\x11\n\tchat_type\x18\x03 \x01(\x05\x12\x0b\n\x03msg\x18\x04 \x01(\t\x12/\n\x07\x44\x65tails\x18\t \x01(\x0b\x32\x1e.DecodeWhisper.Nested1.Nested2\x12\x35\n\rPlatform_Info\x18\r \x01(\x0b\x32\x1e.DecodeWhisper.Nested1.Nested3\x1a\x1b\n\x07Nested2\x12\x10\n\x08Nickname\x18\x01 \x01(\t\x1a\"\n\x07Nested3\x12\x17\n\x0fprofile_pic_url\x18\x01 \x01(\tb\x06proto3')
28
-
29
- _globals = globals()
30
- _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
31
- _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'DecodeWhisperMsg_pb2', _globals)
32
- if not _descriptor._USE_C_DESCRIPTORS:
33
- DESCRIPTOR._loaded_options = None
34
- _globals['_DECODEWHISPER']._serialized_start=27
35
- _globals['_DECODEWHISPER']._serialized_end=323
36
- _globals['_DECODEWHISPER_NESTED1']._serialized_start=83
37
- _globals['_DECODEWHISPER_NESTED1']._serialized_end=323
38
- _globals['_DECODEWHISPER_NESTED1_NESTED2']._serialized_start=260
39
- _globals['_DECODEWHISPER_NESTED1_NESTED2']._serialized_end=287
40
- _globals['_DECODEWHISPER_NESTED1_NESTED3']._serialized_start=289
41
- _globals['_DECODEWHISPER_NESTED1_NESTED3']._serialized_end=323
42
- # @@protoc_insertion_point(module_scope)
@@ -1,28 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- # Generated by the protocol buffer compiler. DO NOT EDIT!
3
- # source: Friends.proto
4
- # Protobuf Python Version: 4.25.1
5
- """Generated protocol buffer code."""
6
- from google.protobuf import descriptor as _descriptor
7
- from google.protobuf import descriptor_pool as _descriptor_pool
8
- from google.protobuf import symbol_database as _symbol_database
9
- from google.protobuf.internal import builder as _builder
10
- # @@protoc_insertion_point(imports)
11
-
12
- _sym_db = _symbol_database.Default()
13
-
14
-
15
-
16
-
17
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\rFriends.proto\"\"\n\x06\x46riend\x12\n\n\x02ID\x18\x01 \x01(\x03\x12\x0c\n\x04Name\x18\x03 \x01(\t\"#\n\x07\x46riends\x12\x18\n\x07\x66ield_1\x18\x01 \x03(\x0b\x32\x07.Friendb\x06proto3')
18
-
19
- _globals = globals()
20
- _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
21
- _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'Friends_pb2', _globals)
22
- if _descriptor._USE_C_DESCRIPTORS == False:
23
- DESCRIPTOR._options = None
24
- _globals['_FRIEND']._serialized_start=17
25
- _globals['_FRIEND']._serialized_end=51
26
- _globals['_FRIENDS']._serialized_start=53
27
- _globals['_FRIENDS']._serialized_end=88
28
- # @@protoc_insertion_point(module_scope)
@@ -1,48 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- # Generated by the protocol buffer compiler. DO NOT EDIT!
3
- # NO CHECKED-IN PROTOBUF GENCODE
4
- # source: GenWhisperMsg.proto
5
- # Protobuf Python Version: 6.30.0
6
- """Generated protocol buffer code."""
7
- from google.protobuf import descriptor as _descriptor
8
- from google.protobuf import descriptor_pool as _descriptor_pool
9
- from google.protobuf import runtime_version as _runtime_version
10
- from google.protobuf import symbol_database as _symbol_database
11
- from google.protobuf.internal import builder as _builder
12
- _runtime_version.ValidateProtobufRuntimeVersion(
13
- _runtime_version.Domain.PUBLIC,
14
- 6,
15
- 30,
16
- 0,
17
- '',
18
- 'GenWhisperMsg.proto'
19
- )
20
- # @@protoc_insertion_point(imports)
21
-
22
- _sym_db = _symbol_database.Default()
23
-
24
-
25
-
26
-
27
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x13GenWhisperMsg.proto\"\x85\x06\n\nGenWhisper\x12\x0c\n\x04type\x18\x01 \x01(\x05\x12!\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x13.GenWhisper.Nested2\x1a\xc5\x05\n\x07Nested2\x12\x0b\n\x03uid\x18\x01 \x01(\x04\x12\x0f\n\x07\x63hat_id\x18\x02 \x01(\x04\x12\x11\n\tchat_type\x18\x03 \x01(\x05\x12\x0b\n\x03msg\x18\x04 \x01(\t\x12\x11\n\ttimestamp\x18\x05 \x01(\x03\x12+\n\x06\x66ield9\x18\t \x01(\x0b\x32\x1b.GenWhisper.Nested2.Nested9\x12\x10\n\x08language\x18\n \x01(\t\x12-\n\x07\x66ield13\x18\r \x01(\x0b\x32\x1c.GenWhisper.Nested2.Nested13\x12\x31\n\x0b\x65mpty_field\x18\x0e \x01(\x0b\x32\x1c.GenWhisper.Nested2.Nested14\x12\x11\n\tCelebrity\x18\x10 \x01(\x04\x1a\n\n\x08Nested14\x1a\xff\x01\n\x07Nested9\x12\x10\n\x08Nickname\x18\x01 \x01(\t\x12\x11\n\tavatar_id\x18\x02 \x01(\x03\x12\x11\n\tbanner_id\x18\x03 \x01(\x03\x12\x0c\n\x04rank\x18\x04 \x01(\x05\x12\r\n\x05\x62\x61\x64ge\x18\x05 \x01(\x05\x12\x11\n\tClan_Name\x18\x08 \x01(\t\x12\x0f\n\x07\x66ield10\x18\n \x01(\x05\x12\x17\n\x0fglobal_rank_pos\x18\x0b \x01(\x05\x12\x30\n\x07\x66ield13\x18\r \x01(\x0b\x32\x1f.GenWhisper.Nested2.NestedBadge\x12\x30\n\x07\x66ield14\x18\x0e \x01(\x0b\x32\x1f.GenWhisper.Nested2.NestedPrime\x1a\x1c\n\x0bNestedBadge\x12\r\n\x05value\x18\x01 \x01(\x05\x1aH\n\x0bNestedPrime\x12\x11\n\tprime_uid\x18\x01 \x01(\x05\x12\x13\n\x0bprime_level\x18\x02 \x01(\x05\x12\x11\n\tprime_hex\x18\x03 \x01(\t\x1a?\n\x08Nested13\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x10\n\x08url_type\x18\x02 \x01(\x05\x12\x14\n\x0curl_platform\x18\x03 \x01(\x05\x62\x06proto3')
28
-
29
- _globals = globals()
30
- _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
31
- _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'GenWhisperMsg_pb2', _globals)
32
- if not _descriptor._USE_C_DESCRIPTORS:
33
- DESCRIPTOR._loaded_options = None
34
- _globals['_GENWHISPER']._serialized_start=24
35
- _globals['_GENWHISPER']._serialized_end=797
36
- _globals['_GENWHISPER_NESTED2']._serialized_start=88
37
- _globals['_GENWHISPER_NESTED2']._serialized_end=797
38
- _globals['_GENWHISPER_NESTED2_NESTED14']._serialized_start=360
39
- _globals['_GENWHISPER_NESTED2_NESTED14']._serialized_end=370
40
- _globals['_GENWHISPER_NESTED2_NESTED9']._serialized_start=373
41
- _globals['_GENWHISPER_NESTED2_NESTED9']._serialized_end=628
42
- _globals['_GENWHISPER_NESTED2_NESTEDBADGE']._serialized_start=630
43
- _globals['_GENWHISPER_NESTED2_NESTEDBADGE']._serialized_end=658
44
- _globals['_GENWHISPER_NESTED2_NESTEDPRIME']._serialized_start=660
45
- _globals['_GENWHISPER_NESTED2_NESTEDPRIME']._serialized_end=732
46
- _globals['_GENWHISPER_NESTED2_NESTED13']._serialized_start=734
47
- _globals['_GENWHISPER_NESTED2_NESTED13']._serialized_end=797
48
- # @@protoc_insertion_point(module_scope)
@@ -1,28 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- # Generated by the protocol buffer compiler. DO NOT EDIT!
3
- # source: MajorLoginReq.proto
4
- # Protobuf Python Version: 4.25.1
5
- """Generated protocol buffer code."""
6
- from google.protobuf import descriptor as _descriptor
7
- from google.protobuf import descriptor_pool as _descriptor_pool
8
- from google.protobuf import symbol_database as _symbol_database
9
- from google.protobuf.internal import builder as _builder
10
- # @@protoc_insertion_point(imports)
11
-
12
- _sym_db = _symbol_database.Default()
13
-
14
-
15
-
16
-
17
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x13MajorLoginReq.proto\"\xfa\n\n\nMajorLogin\x12\x12\n\nevent_time\x18\x03 \x01(\t\x12\x11\n\tgame_name\x18\x04 \x01(\t\x12\x13\n\x0bplatform_id\x18\x05 \x01(\x05\x12\x16\n\x0e\x63lient_version\x18\x07 \x01(\t\x12\x17\n\x0fsystem_software\x18\x08 \x01(\t\x12\x17\n\x0fsystem_hardware\x18\t \x01(\t\x12\x18\n\x10telecom_operator\x18\n \x01(\t\x12\x14\n\x0cnetwork_type\x18\x0b \x01(\t\x12\x14\n\x0cscreen_width\x18\x0c \x01(\r\x12\x15\n\rscreen_height\x18\r \x01(\r\x12\x12\n\nscreen_dpi\x18\x0e \x01(\t\x12\x19\n\x11processor_details\x18\x0f \x01(\t\x12\x0e\n\x06memory\x18\x10 \x01(\r\x12\x14\n\x0cgpu_renderer\x18\x11 \x01(\t\x12\x13\n\x0bgpu_version\x18\x12 \x01(\t\x12\x18\n\x10unique_device_id\x18\x13 \x01(\t\x12\x11\n\tclient_ip\x18\x14 \x01(\t\x12\x10\n\x08language\x18\x15 \x01(\t\x12\x0f\n\x07open_id\x18\x16 \x01(\t\x12\x14\n\x0copen_id_type\x18\x17 \x01(\t\x12\x13\n\x0b\x64\x65vice_type\x18\x18 \x01(\t\x12\'\n\x10memory_available\x18\x19 \x01(\x0b\x32\r.GameSecurity\x12\x14\n\x0c\x61\x63\x63\x65ss_token\x18\x1d \x01(\t\x12\x17\n\x0fplatform_sdk_id\x18\x1e \x01(\x05\x12\x1a\n\x12network_operator_a\x18) \x01(\t\x12\x16\n\x0enetwork_type_a\x18* \x01(\t\x12\x1c\n\x14\x63lient_using_version\x18\x39 \x01(\t\x12\x1e\n\x16\x65xternal_storage_total\x18< \x01(\x05\x12\"\n\x1a\x65xternal_storage_available\x18= \x01(\x05\x12\x1e\n\x16internal_storage_total\x18> \x01(\x05\x12\"\n\x1ainternal_storage_available\x18? \x01(\x05\x12#\n\x1bgame_disk_storage_available\x18@ \x01(\x05\x12\x1f\n\x17game_disk_storage_total\x18\x41 \x01(\x05\x12%\n\x1d\x65xternal_sdcard_avail_storage\x18\x42 \x01(\x05\x12%\n\x1d\x65xternal_sdcard_total_storage\x18\x43 \x01(\x05\x12\x10\n\x08login_by\x18I \x01(\x05\x12\x14\n\x0clibrary_path\x18J \x01(\t\x12\x12\n\nreg_avatar\x18L \x01(\x05\x12\x15\n\rlibrary_token\x18M \x01(\t\x12\x14\n\x0c\x63hannel_type\x18N \x01(\x05\x12\x10\n\x08\x63pu_type\x18O \x01(\x05\x12\x18\n\x10\x63pu_architecture\x18Q \x01(\t\x12\x1b\n\x13\x63lient_version_code\x18S \x01(\t\x12\x14\n\x0cgraphics_api\x18V \x01(\t\x12\x1d\n\x15supported_astc_bitset\x18W \x01(\r\x12\x1a\n\x12login_open_id_type\x18X \x01(\x05\x12\x18\n\x10\x61nalytics_detail\x18Y \x01(\x0c\x12\x14\n\x0cloading_time\x18\\ \x01(\r\x12\x17\n\x0frelease_channel\x18] \x01(\t\x12\x12\n\nextra_info\x18^ \x01(\t\x12 \n\x18\x61ndroid_engine_init_flag\x18_ \x01(\r\x12\x0f\n\x07if_push\x18\x61 \x01(\x05\x12\x0e\n\x06is_vpn\x18\x62 \x01(\x05\x12\x1c\n\x14origin_platform_type\x18\x63 \x01(\t\x12\x1d\n\x15primary_platform_type\x18\x64 \x01(\t\"5\n\x0cGameSecurity\x12\x0f\n\x07version\x18\x06 \x01(\x05\x12\x14\n\x0chidden_value\x18\x08 \x01(\x04\x62\x06proto3')
18
-
19
- _globals = globals()
20
- _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
21
- _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'MajorLoginReq_pb2', _globals)
22
- if _descriptor._USE_C_DESCRIPTORS == False:
23
- DESCRIPTOR._options = None
24
- _globals['_MAJORLOGIN']._serialized_start=24
25
- _globals['_MAJORLOGIN']._serialized_end=1426
26
- _globals['_GAMESECURITY']._serialized_start=1428
27
- _globals['_GAMESECURITY']._serialized_end=1481
28
- # @@protoc_insertion_point(module_scope)