kaqing 1.98.15__py3-none-any.whl → 2.0.145__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.
Potentially problematic release.
This version of kaqing might be problematic. Click here for more details.
- adam/app_session.py +1 -1
- adam/apps.py +2 -2
- adam/batch.py +30 -31
- adam/checks/check_utils.py +4 -4
- adam/checks/compactionstats.py +1 -1
- adam/checks/cpu.py +2 -2
- adam/checks/disk.py +1 -1
- adam/checks/gossip.py +1 -1
- adam/checks/memory.py +3 -3
- adam/checks/status.py +1 -1
- adam/commands/alter_tables.py +81 -0
- adam/commands/app.py +3 -3
- adam/commands/app_ping.py +2 -2
- adam/commands/audit/audit.py +86 -0
- adam/commands/audit/audit_repair_tables.py +77 -0
- adam/commands/audit/audit_run.py +58 -0
- adam/commands/audit/show_last10.py +51 -0
- adam/commands/audit/show_slow10.py +50 -0
- adam/commands/audit/show_top10.py +48 -0
- adam/commands/audit/utils_show_top10.py +59 -0
- adam/commands/bash/bash.py +133 -0
- adam/commands/bash/bash_completer.py +93 -0
- adam/commands/cat.py +56 -0
- adam/commands/cd.py +12 -82
- adam/commands/check.py +6 -0
- adam/commands/cli_commands.py +3 -3
- adam/commands/code.py +60 -0
- adam/commands/command.py +48 -12
- adam/commands/commands_utils.py +4 -5
- adam/commands/cql/cql_completions.py +28 -0
- adam/commands/cql/cql_utils.py +209 -0
- adam/commands/{cqlsh.py → cql/cqlsh.py} +15 -10
- adam/commands/deploy/__init__.py +0 -0
- adam/commands/{frontend → deploy}/code_start.py +1 -1
- adam/commands/{frontend → deploy}/code_stop.py +1 -1
- adam/commands/{frontend → deploy}/code_utils.py +2 -2
- adam/commands/deploy/deploy.py +48 -0
- adam/commands/deploy/deploy_frontend.py +52 -0
- adam/commands/deploy/deploy_pg_agent.py +38 -0
- adam/commands/deploy/deploy_pod.py +110 -0
- adam/commands/deploy/deploy_utils.py +29 -0
- adam/commands/deploy/undeploy.py +48 -0
- adam/commands/deploy/undeploy_frontend.py +41 -0
- adam/commands/deploy/undeploy_pg_agent.py +42 -0
- adam/commands/deploy/undeploy_pod.py +51 -0
- adam/commands/devices/__init__.py +0 -0
- adam/commands/devices/device.py +27 -0
- adam/commands/devices/device_app.py +146 -0
- adam/commands/devices/device_auit_log.py +43 -0
- adam/commands/devices/device_cass.py +145 -0
- adam/commands/devices/device_export.py +86 -0
- adam/commands/devices/device_postgres.py +109 -0
- adam/commands/devices/devices.py +25 -0
- adam/commands/export/__init__.py +0 -0
- adam/commands/export/clean_up_export_session.py +53 -0
- adam/commands/{frontend/teardown_frontend.py → export/clean_up_export_sessions.py} +9 -11
- adam/commands/export/drop_export_database.py +58 -0
- adam/commands/export/drop_export_databases.py +46 -0
- adam/commands/export/export.py +83 -0
- adam/commands/export/export_databases.py +170 -0
- adam/commands/export/export_select.py +85 -0
- adam/commands/export/export_select_x.py +54 -0
- adam/commands/export/export_use.py +55 -0
- adam/commands/export/exporter.py +364 -0
- adam/commands/export/import_session.py +68 -0
- adam/commands/export/importer.py +67 -0
- adam/commands/export/importer_athena.py +80 -0
- adam/commands/export/importer_sqlite.py +47 -0
- adam/commands/export/show_column_counts.py +63 -0
- adam/commands/export/show_export_databases.py +39 -0
- adam/commands/export/show_export_session.py +51 -0
- adam/commands/export/show_export_sessions.py +47 -0
- adam/commands/export/utils_export.py +291 -0
- adam/commands/help.py +12 -7
- adam/commands/issues.py +6 -0
- adam/commands/kubectl.py +41 -0
- adam/commands/login.py +9 -5
- adam/commands/logs.py +2 -1
- adam/commands/ls.py +4 -107
- adam/commands/medusa/medusa.py +2 -26
- adam/commands/medusa/medusa_backup.py +2 -2
- adam/commands/medusa/medusa_restore.py +3 -4
- adam/commands/medusa/medusa_show_backupjobs.py +4 -3
- adam/commands/medusa/medusa_show_restorejobs.py +3 -3
- adam/commands/nodetool.py +9 -4
- adam/commands/param_set.py +1 -1
- adam/commands/postgres/postgres.py +42 -43
- adam/commands/postgres/postgres_context.py +248 -0
- adam/commands/postgres/postgres_preview.py +0 -1
- adam/commands/postgres/postgres_utils.py +31 -0
- adam/commands/postgres/psql_completions.py +10 -0
- adam/commands/preview_table.py +18 -40
- adam/commands/pwd.py +2 -28
- adam/commands/reaper/reaper.py +4 -24
- adam/commands/reaper/reaper_restart.py +1 -1
- adam/commands/reaper/reaper_session.py +2 -2
- adam/commands/repair/repair.py +3 -27
- adam/commands/repair/repair_log.py +1 -1
- adam/commands/repair/repair_run.py +2 -2
- adam/commands/repair/repair_scan.py +2 -7
- adam/commands/repair/repair_stop.py +1 -1
- adam/commands/report.py +6 -0
- adam/commands/restart.py +2 -2
- adam/commands/rollout.py +1 -1
- adam/commands/shell.py +33 -0
- adam/commands/show/show.py +11 -26
- adam/commands/show/show_app_actions.py +3 -0
- adam/commands/show/show_app_id.py +1 -1
- adam/commands/show/show_app_queues.py +3 -2
- adam/commands/show/show_cassandra_status.py +3 -3
- adam/commands/show/show_cassandra_version.py +3 -3
- adam/commands/show/show_commands.py +4 -1
- adam/commands/show/show_host.py +33 -0
- adam/commands/show/show_login.py +3 -0
- adam/commands/show/show_processes.py +1 -1
- adam/commands/show/show_repairs.py +2 -2
- adam/commands/show/show_storage.py +1 -1
- adam/commands/watch.py +1 -1
- adam/config.py +16 -3
- adam/embedded_params.py +1 -1
- adam/pod_exec_result.py +10 -2
- adam/repl.py +132 -117
- adam/repl_commands.py +62 -18
- adam/repl_state.py +276 -55
- adam/sql/__init__.py +0 -0
- adam/sql/sql_completer.py +120 -0
- adam/sql/sql_state_machine.py +617 -0
- adam/sql/term_completer.py +76 -0
- adam/sso/authenticator.py +1 -1
- adam/sso/authn_ad.py +36 -56
- adam/sso/authn_okta.py +6 -32
- adam/sso/cred_cache.py +1 -1
- adam/sso/idp.py +74 -9
- adam/sso/idp_login.py +2 -2
- adam/sso/idp_session.py +10 -7
- adam/utils.py +85 -4
- adam/utils_athena.py +145 -0
- adam/utils_audits.py +102 -0
- adam/utils_k8s/__init__.py +0 -0
- adam/utils_k8s/app_clusters.py +33 -0
- adam/utils_k8s/app_pods.py +31 -0
- adam/{k8s_utils → utils_k8s}/cassandra_clusters.py +6 -21
- adam/{k8s_utils → utils_k8s}/cassandra_nodes.py +12 -5
- adam/utils_k8s/config_maps.py +34 -0
- adam/utils_k8s/deployment.py +56 -0
- adam/{k8s_utils → utils_k8s}/jobs.py +1 -1
- adam/{k8s_utils → utils_k8s}/kube_context.py +1 -1
- adam/utils_k8s/pods.py +342 -0
- adam/{k8s_utils → utils_k8s}/secrets.py +4 -0
- adam/utils_k8s/service_accounts.py +169 -0
- adam/{k8s_utils → utils_k8s}/statefulsets.py +5 -4
- adam/{k8s_utils → utils_k8s}/volumes.py +9 -0
- adam/utils_net.py +24 -0
- adam/utils_repl/__init__.py +0 -0
- adam/utils_repl/automata_completer.py +48 -0
- adam/utils_repl/repl_completer.py +46 -0
- adam/utils_repl/state_machine.py +173 -0
- adam/utils_sqlite.py +101 -0
- adam/version.py +1 -1
- {kaqing-1.98.15.dist-info → kaqing-2.0.145.dist-info}/METADATA +1 -1
- kaqing-2.0.145.dist-info/RECORD +227 -0
- adam/commands/bash.py +0 -87
- adam/commands/cql_utils.py +0 -53
- adam/commands/devices.py +0 -89
- adam/commands/frontend/setup.py +0 -60
- adam/commands/frontend/setup_frontend.py +0 -58
- adam/commands/frontend/teardown.py +0 -61
- adam/commands/postgres/postgres_session.py +0 -225
- adam/commands/user_entry.py +0 -77
- adam/k8s_utils/pods.py +0 -211
- kaqing-1.98.15.dist-info/RECORD +0 -160
- /adam/commands/{frontend → audit}/__init__.py +0 -0
- /adam/{k8s_utils → commands/bash}/__init__.py +0 -0
- /adam/{medusa_show_restorejobs.py → commands/cql/__init__.py} +0 -0
- /adam/{k8s_utils → utils_k8s}/custom_resources.py +0 -0
- /adam/{k8s_utils → utils_k8s}/ingresses.py +0 -0
- /adam/{k8s_utils → utils_k8s}/services.py +0 -0
- {kaqing-1.98.15.dist-info → kaqing-2.0.145.dist-info}/WHEEL +0 -0
- {kaqing-1.98.15.dist-info → kaqing-2.0.145.dist-info}/entry_points.txt +0 -0
- {kaqing-1.98.15.dist-info → kaqing-2.0.145.dist-info}/top_level.txt +0 -0
adam/k8s_utils/pods.py
DELETED
|
@@ -1,211 +0,0 @@
|
|
|
1
|
-
from collections.abc import Callable
|
|
2
|
-
from concurrent.futures import ThreadPoolExecutor, as_completed
|
|
3
|
-
import sys
|
|
4
|
-
import time
|
|
5
|
-
from typing import TypeVar, cast
|
|
6
|
-
from kubernetes import client
|
|
7
|
-
from kubernetes.stream import stream
|
|
8
|
-
from kubernetes.stream.ws_client import ERROR_CHANNEL
|
|
9
|
-
|
|
10
|
-
from adam.config import Config
|
|
11
|
-
from adam.pod_exec_result import PodExecResult
|
|
12
|
-
from adam.utils import elapsed_time, log2
|
|
13
|
-
from .kube_context import KubeContext
|
|
14
|
-
|
|
15
|
-
T = TypeVar('T')
|
|
16
|
-
_TEST_POD_EXEC_OUTS: PodExecResult = None
|
|
17
|
-
|
|
18
|
-
# utility collection on pods; methods are all static
|
|
19
|
-
class Pods:
|
|
20
|
-
def set_test_pod_exec_outs(outs: PodExecResult):
|
|
21
|
-
global _TEST_POD_EXEC_OUTS
|
|
22
|
-
_TEST_POD_EXEC_OUTS = outs
|
|
23
|
-
|
|
24
|
-
return _TEST_POD_EXEC_OUTS
|
|
25
|
-
|
|
26
|
-
def delete(pod_name: str, namespace: str):
|
|
27
|
-
try:
|
|
28
|
-
v1 = client.CoreV1Api()
|
|
29
|
-
api_response = v1.delete_namespaced_pod(pod_name, namespace)
|
|
30
|
-
except Exception as e:
|
|
31
|
-
log2("Exception when calling CoreV1Api->delete_namespaced_pod: %s\n" % e)
|
|
32
|
-
|
|
33
|
-
def on_pods(pods: list[str],
|
|
34
|
-
namespace: str,
|
|
35
|
-
body: Callable[[ThreadPoolExecutor, str, str, bool], T],
|
|
36
|
-
post: Callable[[T], T] = None,
|
|
37
|
-
action: str = 'action', max_workers=0, show_out=True) -> list[T]:
|
|
38
|
-
show_out = KubeContext.show_out(show_out)
|
|
39
|
-
|
|
40
|
-
if not max_workers:
|
|
41
|
-
max_workers = Config().action_workers(action, 0)
|
|
42
|
-
if max_workers > 0:
|
|
43
|
-
# if parallel, node sampling is suppressed
|
|
44
|
-
if KubeContext.show_parallelism():
|
|
45
|
-
log2(f'Executing on all nodes from statefulset in parallel...')
|
|
46
|
-
start_time = time.time()
|
|
47
|
-
try:
|
|
48
|
-
with ThreadPoolExecutor(max_workers=max_workers) as executor:
|
|
49
|
-
# disable stdout from the pod_exec, then show the output in a for loop
|
|
50
|
-
futures = [body(executor, pod, namespace, show_out) for pod in pods]
|
|
51
|
-
if len(futures) == 0:
|
|
52
|
-
return cast(list[T], [])
|
|
53
|
-
|
|
54
|
-
rs = [future.result() for future in as_completed(futures)]
|
|
55
|
-
if post:
|
|
56
|
-
rs = [post(r, show_out=show_out) for r in rs]
|
|
57
|
-
|
|
58
|
-
return rs
|
|
59
|
-
finally:
|
|
60
|
-
if KubeContext.show_parallelism():
|
|
61
|
-
log2(f"Parallel {action} elapsed time: {elapsed_time(start_time)} with {max_workers} workers")
|
|
62
|
-
else:
|
|
63
|
-
results: list[T] = []
|
|
64
|
-
|
|
65
|
-
samples = Config().action_node_samples(action, sys.maxsize)
|
|
66
|
-
l = min(len(pods), samples)
|
|
67
|
-
adj = 'all'
|
|
68
|
-
if l < len(pods):
|
|
69
|
-
adj = f'{l} sample'
|
|
70
|
-
if show_out:
|
|
71
|
-
log2(f'Executing on {adj} nodes from statefulset...')
|
|
72
|
-
for pod_name in pods:
|
|
73
|
-
try:
|
|
74
|
-
result = body(None, pod_name, namespace, show_out)
|
|
75
|
-
if post:
|
|
76
|
-
result = post(result, show_out=show_out)
|
|
77
|
-
results.append(result)
|
|
78
|
-
if result:
|
|
79
|
-
l -= 1
|
|
80
|
-
if not l:
|
|
81
|
-
break
|
|
82
|
-
except Exception as e:
|
|
83
|
-
log2(e)
|
|
84
|
-
|
|
85
|
-
return results
|
|
86
|
-
|
|
87
|
-
def exec(pod_name: str, container: str, namespace: str, command: str, show_out = True, throw_err = False, interaction: Callable[[any, list[str]], any] = None):
|
|
88
|
-
if _TEST_POD_EXEC_OUTS:
|
|
89
|
-
return _TEST_POD_EXEC_OUTS
|
|
90
|
-
|
|
91
|
-
show_out = KubeContext.show_out(show_out)
|
|
92
|
-
|
|
93
|
-
api = client.CoreV1Api()
|
|
94
|
-
|
|
95
|
-
exec_command = ["/bin/sh", "-c", command]
|
|
96
|
-
k_command = f'kubectl exec {pod_name} -c {container} -n {namespace} -- {command}'
|
|
97
|
-
if show_out:
|
|
98
|
-
print(k_command)
|
|
99
|
-
|
|
100
|
-
resp = stream(
|
|
101
|
-
api.connect_get_namespaced_pod_exec,
|
|
102
|
-
pod_name,
|
|
103
|
-
namespace,
|
|
104
|
-
command=exec_command,
|
|
105
|
-
container=container,
|
|
106
|
-
stderr=True,
|
|
107
|
-
stdin=True,
|
|
108
|
-
stdout=True,
|
|
109
|
-
tty=True,
|
|
110
|
-
_preload_content=False,
|
|
111
|
-
)
|
|
112
|
-
|
|
113
|
-
stdout = []
|
|
114
|
-
stderr = []
|
|
115
|
-
error_output = None
|
|
116
|
-
try:
|
|
117
|
-
while resp.is_open():
|
|
118
|
-
resp.update(timeout=1)
|
|
119
|
-
if resp.peek_stdout():
|
|
120
|
-
frag = resp.read_stdout()
|
|
121
|
-
stdout.append(frag)
|
|
122
|
-
if show_out: print(frag, end="")
|
|
123
|
-
|
|
124
|
-
if interaction:
|
|
125
|
-
interaction(resp, stdout)
|
|
126
|
-
if resp.peek_stderr():
|
|
127
|
-
frag = resp.read_stderr()
|
|
128
|
-
stderr.append(frag)
|
|
129
|
-
if show_out: print(frag, end="")
|
|
130
|
-
|
|
131
|
-
try:
|
|
132
|
-
# get the exit code from server
|
|
133
|
-
error_output = resp.read_channel(ERROR_CHANNEL)
|
|
134
|
-
except Exception:
|
|
135
|
-
pass
|
|
136
|
-
except Exception as e:
|
|
137
|
-
if throw_err:
|
|
138
|
-
raise e
|
|
139
|
-
else:
|
|
140
|
-
log2(e)
|
|
141
|
-
finally:
|
|
142
|
-
resp.close()
|
|
143
|
-
|
|
144
|
-
return PodExecResult("".join(stdout), "".join(stderr), k_command, error_output)
|
|
145
|
-
|
|
146
|
-
def get_container(namespace: str, pod_name: str, container_name: str):
|
|
147
|
-
pod = Pods.get(namespace, pod_name)
|
|
148
|
-
if not pod:
|
|
149
|
-
return None
|
|
150
|
-
|
|
151
|
-
for container in pod.spec.containers:
|
|
152
|
-
if container_name == container.name:
|
|
153
|
-
return container
|
|
154
|
-
|
|
155
|
-
return None
|
|
156
|
-
|
|
157
|
-
def get(namespace: str, pod_name: str):
|
|
158
|
-
v1 = client.CoreV1Api()
|
|
159
|
-
return v1.read_namespaced_pod(name=pod_name, namespace=namespace)
|
|
160
|
-
|
|
161
|
-
def create_pod_spec(name: str, image: str, image_pull_secret: str, envs: list, volume_name: str, pvc_name:str, mount_path:str, command: list[str]=None, sa_name=None):
|
|
162
|
-
volume_mounts = []
|
|
163
|
-
if volume_name and pvc_name and mount_path:
|
|
164
|
-
volume_mounts=[client.V1VolumeMount(mount_path=mount_path, name=volume_name)]
|
|
165
|
-
|
|
166
|
-
container = client.V1Container(name=name, image=image, env=envs, command=command,
|
|
167
|
-
volume_mounts=volume_mounts)
|
|
168
|
-
|
|
169
|
-
volumes = []
|
|
170
|
-
if volume_name and pvc_name and mount_path:
|
|
171
|
-
volumes=[client.V1Volume(name=volume_name, persistent_volume_claim=client.V1PersistentVolumeClaimVolumeSource(claim_name=pvc_name))]
|
|
172
|
-
|
|
173
|
-
security_context = None
|
|
174
|
-
if not sa_name:
|
|
175
|
-
security_context=client.V1PodSecurityContext(run_as_user=1001, run_as_group=1001, fs_group=1001)
|
|
176
|
-
|
|
177
|
-
return client.V1PodSpec(
|
|
178
|
-
restart_policy="Never",
|
|
179
|
-
containers=[container],
|
|
180
|
-
image_pull_secrets=[client.V1LocalObjectReference(name=image_pull_secret)],
|
|
181
|
-
security_context=security_context,
|
|
182
|
-
service_account_name=sa_name,
|
|
183
|
-
volumes=volumes
|
|
184
|
-
)
|
|
185
|
-
|
|
186
|
-
def create(namespace: str, pod_name: str, image: str, command: list[str],
|
|
187
|
-
secret: str = None,
|
|
188
|
-
env: dict[str, any] = {},
|
|
189
|
-
volume_name: str = None,
|
|
190
|
-
pvc_name: str = None,
|
|
191
|
-
mount_path: str = None,
|
|
192
|
-
sa_name=None):
|
|
193
|
-
v1 = client.CoreV1Api()
|
|
194
|
-
envs = []
|
|
195
|
-
for k, v in env.items():
|
|
196
|
-
envs.append(client.V1EnvVar(name=str(k), value=str(v)))
|
|
197
|
-
pod = Pods.create_pod_spec(pod_name, image, secret, envs, volume_name, pvc_name, mount_path, command=command, sa_name=sa_name)
|
|
198
|
-
return v1.create_namespaced_pod(namespace=namespace,
|
|
199
|
-
body=client.V1Pod(spec=pod, metadata=client.V1ObjectMeta(name=pod_name)))
|
|
200
|
-
|
|
201
|
-
def wait_for_running(namespace: str, pod_name: str):
|
|
202
|
-
msged = False
|
|
203
|
-
|
|
204
|
-
while Pods.get(namespace, pod_name).status.phase != 'Running':
|
|
205
|
-
if not msged:
|
|
206
|
-
log2(f'Waiting for the {pod_name} pod to start up...')
|
|
207
|
-
msged = True
|
|
208
|
-
time.sleep(5)
|
|
209
|
-
|
|
210
|
-
def completed(namespace: str, pod_name: str):
|
|
211
|
-
return Pods.get(namespace, pod_name).status.phase in ['Succeeded', 'Failed']
|
kaqing-1.98.15.dist-info/RECORD
DELETED
|
@@ -1,160 +0,0 @@
|
|
|
1
|
-
adam/__init__.py,sha256=oVw1FNd9HZPJ7wm6BNn5ybyNGJLjJ8kopMeBiwgMaOI,59
|
|
2
|
-
adam/app_session.py,sha256=K_Hk6M63EKEdEXGBivqzZRrCGq3ZkhjRM03Hjw0cDTc,6955
|
|
3
|
-
adam/apps.py,sha256=UTpUJBAMRFvR8kJZwileGC0UmPvsOjJ_AgvWoGmnIFI,6701
|
|
4
|
-
adam/batch.py,sha256=P_bQUPaS-38cVwdPnLwOwlirQuyHQiPNhYteV-y7B68,24108
|
|
5
|
-
adam/cli.py,sha256=03pIZdomAu7IL-GSP6Eun_PKwwISShRAmfx6eVRPGC0,458
|
|
6
|
-
adam/cli_group.py,sha256=W3zy1BghCtVcEXizq8fBH-93ZRVVwgAyGPzy0sHno1Y,593
|
|
7
|
-
adam/config.py,sha256=38UcmYRxf-Kq4iPbKS7tNPQqN64fam1bWNy6jhWREd0,2552
|
|
8
|
-
adam/embedded_apps.py,sha256=lKPx63mKzJbNmwz0rgL4gF76M9fDGxraYTtNAIGnZ_s,419
|
|
9
|
-
adam/embedded_params.py,sha256=u-emKEvkplq3E5-qdLOfrBt3F9F274HXLs_OuTbevtk,3997
|
|
10
|
-
adam/log.py,sha256=gg5DK52wLPc9cjykeh0WFHyAk1qI3HEpGaAK8W2dzXY,1146
|
|
11
|
-
adam/medusa_show_restorejobs.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
12
|
-
adam/pod_exec_result.py,sha256=nq0xnCNOpUGBSijGF0H-YNrwBc9vUQs4DkvLMIFS5LQ,951
|
|
13
|
-
adam/repl.py,sha256=wEzkXaFaT1PWWYI3AZ32j01efN7HpL2xvMfGLEmYIL4,7036
|
|
14
|
-
adam/repl_commands.py,sha256=WCiM3AEDZjxlJNUj0LNkxuvH0I4GuptZfi3oj3ih4SY,3620
|
|
15
|
-
adam/repl_session.py,sha256=uIogcvWBh7wd8QQ-p_JgLsyJ8YJgINw5vOd6JIsd7Vo,472
|
|
16
|
-
adam/repl_state.py,sha256=QarrUAwYWOz3YTemtaf2opbHLa5a3LEsyuonNwhvOhk,7131
|
|
17
|
-
adam/utils.py,sha256=j7p7iruLuV11swa0z9ZLBgoJHu_nkTSVKtQe0q71gmk,7025
|
|
18
|
-
adam/version.py,sha256=PvfLlOgEWzFrnDu6ht4ae3CkZNW2l0i7br68IFtDWEg,140
|
|
19
|
-
adam/checks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
20
|
-
adam/checks/check.py,sha256=Qopr3huYcMu2bzQgb99dEUYjFzkjKHRI76S6KA9b9Rk,702
|
|
21
|
-
adam/checks/check_context.py,sha256=FEHkQ32jY1EDopQ2uYWqy9v7aEEX1orLpJWhopwAlh4,402
|
|
22
|
-
adam/checks/check_result.py,sha256=5_DVNgkCC9t7xFJYNsjd9bfXA1I4vYb6K3kmN8cdMrA,669
|
|
23
|
-
adam/checks/check_utils.py,sha256=xDwPO2WLVDk6h4Lvnhu5UKNxrAR4qhNiRRac2MXFmmQ,3772
|
|
24
|
-
adam/checks/compactionstats.py,sha256=JXi2Trl6JBLgEKSR0K3_dKrLBlEthqjZ2K2D-EO84Fg,2304
|
|
25
|
-
adam/checks/cpu.py,sha256=UqnBNhof1SO8Oo2qYoLQGsrqb00W41wddDYPLB2fbwc,2666
|
|
26
|
-
adam/checks/disk.py,sha256=_3bm5928Mplxqx6GV-K_p7D4UDR8CBS1A85N9_FtGQE,5214
|
|
27
|
-
adam/checks/gossip.py,sha256=ANrJ0p0YndPzSZWg6tXXA_NJsWL9RVE_fBHDkYUBvec,3119
|
|
28
|
-
adam/checks/issue.py,sha256=u3E6yCpDGGJiveKXdpkrKq7HQRTrG7aR2XLCoO-ys7U,498
|
|
29
|
-
adam/checks/memory.py,sha256=t0H9hGe4m6JMr8MHnnpMMFJz8IJY2qLZdA7eo6CUjz0,3056
|
|
30
|
-
adam/checks/status.py,sha256=2e1AcEw3-WQ3j9EI4sdKjw4a-7F9rdOz59_zHlHIdcY,2140
|
|
31
|
-
adam/columns/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
32
|
-
adam/columns/column.py,sha256=O_5ptfx136BKdLo8enDvSL3HlId1dkjMM2XUumg1tNA,956
|
|
33
|
-
adam/columns/columns.py,sha256=AzovFIwOhBDQHc4bFEbhMoxxuOCIbxIzXfp6fQyiRYk,1645
|
|
34
|
-
adam/columns/compactions.py,sha256=ybIEYTkDuRTBLIUNurGhu1jhVnf1UEpJ0abo3GTgmKw,928
|
|
35
|
-
adam/columns/cpu.py,sha256=rPb4pOFNZDOplggaUmSZbpCPgZxyWVXO_JXLcE4YPlM,493
|
|
36
|
-
adam/columns/dir_data.py,sha256=gDLcrwMZ6dEVTmpvc35yX3iNY97mQ5q0eQojm8tZ2so,545
|
|
37
|
-
adam/columns/dir_snapshots.py,sha256=OSseuf7gAvT-_ujLvGt43jF-q7QVJNDcvqOK47QSJbk,451
|
|
38
|
-
adam/columns/gossip.py,sha256=KKUycFG-8YxMh9VYUrYOFwPVvnh-0i19k---DrpW93g,656
|
|
39
|
-
adam/columns/host_id.py,sha256=oqesvFCzUu0utkcH5mhYg0vx7lAW2EIDoezgY_CCP_Y,350
|
|
40
|
-
adam/columns/memory.py,sha256=GinntQroWK6kxn6PrumkJd9ok2skTWXLepM1U6lzc4g,701
|
|
41
|
-
adam/columns/node_address.py,sha256=PqSm2FtR0NAhc-R17sPRJJ3c6eWlJLHPctu8RsCslcM,355
|
|
42
|
-
adam/columns/node_load.py,sha256=Oc-kdfezYBP5eWDug-ijgM48x6XRNjwxxoQDZt_MbQc,349
|
|
43
|
-
adam/columns/node_owns.py,sha256=Iv5FDYV0m3ZM2JK05Fl485ZxDgOxZHDIN9KYNJc6Zdg,349
|
|
44
|
-
adam/columns/node_status.py,sha256=im52GfdETXVJVM00fU5OjJM2FvLZrgqpLkWKCwWhjAs,353
|
|
45
|
-
adam/columns/node_tokens.py,sha256=38D9xJ3uA48gzEYBtIiIUbZJcteM1H4KryzJNn01uZ8,353
|
|
46
|
-
adam/columns/node_utils.py,sha256=ql2StXmASC7equuabZVZEQ_BPTu2KkS99gY_3JXpIvU,774
|
|
47
|
-
adam/columns/pod_name.py,sha256=IYw0ZKA7Fb9LaGXENqzZTiTgL98tahwFRtfy0KkKh2Q,280
|
|
48
|
-
adam/columns/volume_cassandra.py,sha256=9KRNOzjNYganI9avN6zaA5_-7yxD4rV-KNxro9CSUg4,753
|
|
49
|
-
adam/columns/volume_root.py,sha256=29ujLoCAf9LO75u62LxEaPD58s6ihV-tcK17OeLSOM0,556
|
|
50
|
-
adam/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
51
|
-
adam/commands/app.py,sha256=7alV8wK801t67_rUe6EmhtHJTl-6K7fGCm6Uz1dDgpM,1963
|
|
52
|
-
adam/commands/app_ping.py,sha256=Xk7cfefphXM2w-UvpnhNUTZ3BU38f0deehUb2FEyLCI,1337
|
|
53
|
-
adam/commands/bash.py,sha256=4tv1D4Il9VASd01CpEe0-IfLw_Fa_CtjaxbqIwJqpbo,2691
|
|
54
|
-
adam/commands/cd.py,sha256=XEoiMhbJgA2KVKwhHFcs5BRAlf9qpgbAh6IImpKOtHI,4486
|
|
55
|
-
adam/commands/check.py,sha256=853FPfgTMGxQXI_5UaPAtzaSWB_BvEVm48EkJhsHe4w,2181
|
|
56
|
-
adam/commands/cli_commands.py,sha256=PEEyrG9yz7RAEZwHbbuFpyE3fVi8vrIWbr0d1H0Gp9o,3620
|
|
57
|
-
adam/commands/command.py,sha256=SEAYAAw2RQy_EPIzUy0FSr90R6FsGDbVJTQujhhlfvY,2907
|
|
58
|
-
adam/commands/command_helpers.py,sha256=leOJJK1UXczNTJHN9TGMCbIpUpmpreULvQ-TvnsYS7w,1134
|
|
59
|
-
adam/commands/commands_utils.py,sha256=ShUcxtDSd9B3NM0GDj3NBvKdmjCGY8qXgeUJpzNF63E,3122
|
|
60
|
-
adam/commands/cp.py,sha256=dyQViRDPNqsKRkxPb7WyEVIBNw7YB6IfYa2q3VtfzyA,3107
|
|
61
|
-
adam/commands/cql_utils.py,sha256=NQQj622ywDuigFpLQvTxVJFqbCBbEXxT2vP_vDn1cvU,1962
|
|
62
|
-
adam/commands/cqlsh.py,sha256=gyRZLTcO2d_DMsc64b3HLh5xwMx4Qhe8298_NwXf2XQ,2635
|
|
63
|
-
adam/commands/devices.py,sha256=_f8j6aQzTL8_pFlWYawRuG2Ju1zPjYSPcRIlLnZng10,2397
|
|
64
|
-
adam/commands/exit.py,sha256=5MWUAmzYBlsrp0CoiTDB13SUkX9Ya18UlGeOIPia6TA,798
|
|
65
|
-
adam/commands/help.py,sha256=Ey3R1X8w_CMhdADI0t8dSQ28euhDHheJm7NermiGni4,1645
|
|
66
|
-
adam/commands/issues.py,sha256=VS-PC7e-2lywsa-lbmoUX8IY77OPGzFudwbw1g8XmQc,2599
|
|
67
|
-
adam/commands/login.py,sha256=mogvYOZZzzST829PbYxD5Fzpg-0ebd0Gh7HjcPEl8ko,1859
|
|
68
|
-
adam/commands/logs.py,sha256=T-O9DYXmWEm4G1I5SM6MwyeRwq2aT-WMqNW0XA2MWmo,1165
|
|
69
|
-
adam/commands/ls.py,sha256=-AT0UnjvotSpFguaUoRAnJ8XXfshwh0ElHa_Ofl5l9w,5671
|
|
70
|
-
adam/commands/nodetool.py,sha256=HV9yDzMhRjS4lw6UfV7Hc1pcmeSx5a1jU6cAEKSZ1Bg,2334
|
|
71
|
-
adam/commands/nodetool_commands.py,sha256=5IgWC3rmeDD1cgwqQjiiWzi-wJpJ3n_8pAzz_9phXuk,2635
|
|
72
|
-
adam/commands/param_get.py,sha256=kPAAppK2T0tEFRnSIVFLDPIIGHhgLA7drJhn8TRyvvE,1305
|
|
73
|
-
adam/commands/param_set.py,sha256=LeFjQ623CDKR2cKDcIAJ2vO7o6kKiWD99fKW0QeQUCY,1190
|
|
74
|
-
adam/commands/preview_table.py,sha256=NbnQRjCQ7SJHzQqtB8RgJn8yydTVknaSF-qklLXDQ58,3383
|
|
75
|
-
adam/commands/pwd.py,sha256=VlgFjxFl66I7Df1YI6cuiEeY6Q13lEavMKfrzHLESKo,2340
|
|
76
|
-
adam/commands/report.py,sha256=Ky45LIzSlB_X4V12JZWjU3SA2u4_FKRencRTq7psOWU,1944
|
|
77
|
-
adam/commands/restart.py,sha256=Hik1t5rjH2ATZv4tzwrGB3e44b3dNuATgY327_Nb8Bs,2044
|
|
78
|
-
adam/commands/rollout.py,sha256=52_4ijna3v-8Oug12et43DRHFDNhiN34p6xLTQmhdbQ,2959
|
|
79
|
-
adam/commands/user_entry.py,sha256=cCmJUm_G79fd1PPm7a7UUyTqE20xnDb3Tvp--7_hFeo,2300
|
|
80
|
-
adam/commands/watch.py,sha256=mmBFpB8T1V7zrNs5b2YNyDDztMym_ILPDdkrbdAXTas,2438
|
|
81
|
-
adam/commands/frontend/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
82
|
-
adam/commands/frontend/code_start.py,sha256=nkk2tTmEFobtJ6TD9nRplXaGYovYBq-05PKxA8benvI,1372
|
|
83
|
-
adam/commands/frontend/code_stop.py,sha256=stpADpZ1gvQsLEriCPRp0sE9h5CFxskbPWnrMs3me5U,1698
|
|
84
|
-
adam/commands/frontend/code_utils.py,sha256=5Gp4U8HzKpPkbkHDU7whlvGOK-wWaAbCIIGzVoN9hio,3296
|
|
85
|
-
adam/commands/frontend/setup.py,sha256=teboue6gvy72ABOz-8oQUXQIOKFm7RrKMuM7u6OETww,1776
|
|
86
|
-
adam/commands/frontend/setup_frontend.py,sha256=_ub1QRO1_w-ImuStgy-M8QwLps4n2BiK0hjbhPS1Cz4,1983
|
|
87
|
-
adam/commands/frontend/teardown.py,sha256=VtFLU6Tt-lXiOK3mT8TQP3dcfpf3IMqncb7mSY5hXNE,1876
|
|
88
|
-
adam/commands/frontend/teardown_frontend.py,sha256=8tXnMsdzbzwiVfPeOrn2GXP-ILSQJcuZSbqdNink-LA,1230
|
|
89
|
-
adam/commands/medusa/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
90
|
-
adam/commands/medusa/medusa.py,sha256=Y_yyOZRb6u45wfTVBRp3kuklyYDTSlaAJQdAiymP_8M,2185
|
|
91
|
-
adam/commands/medusa/medusa_backup.py,sha256=j4DTVWFT-4rzs4gG_pBvjE-JuPsVCJIsnyQjIzJ4EbA,1801
|
|
92
|
-
adam/commands/medusa/medusa_restore.py,sha256=MU47bmozrjfGJ6GVkj_OVgLH6Uz_fGh03MdLR4ZDKHE,3308
|
|
93
|
-
adam/commands/medusa/medusa_show_backupjobs.py,sha256=lLEmldI60MpqPjPkyaja4SzAEIo6oDCbqU8xy3CFbTU,1756
|
|
94
|
-
adam/commands/medusa/medusa_show_restorejobs.py,sha256=Jtv35thwnB-AE0lvQE8MD8nwvwta36MJLqI1p0EvgMk,1650
|
|
95
|
-
adam/commands/postgres/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
96
|
-
adam/commands/postgres/postgres.py,sha256=ugnQulU6h3pSySYRwU801raxqsC8W5DcFLSbqnk7SPo,3597
|
|
97
|
-
adam/commands/postgres/postgres_ls.py,sha256=HwZTgwGKXUqHX33S8aQPF6FqCrLqtoz4cLyJV2SpoE0,1186
|
|
98
|
-
adam/commands/postgres/postgres_preview.py,sha256=OhnWe6SKf2Z8rBW7_NJEvJFlLqPUKMr528VPVtoT0yw,1306
|
|
99
|
-
adam/commands/postgres/postgres_session.py,sha256=cpx5vlH6V9XgRPKC_YzDXh2OeeuSa_z4dJU5TV6OxNo,8512
|
|
100
|
-
adam/commands/reaper/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
101
|
-
adam/commands/reaper/reaper.py,sha256=SbxXgJ6b4wdXx5a1Fps71iEa1hmycWbArh1oC5bS83M,2677
|
|
102
|
-
adam/commands/reaper/reaper_forward.py,sha256=mUp409MzT91cVXGxoPfBGceaR3qZ0rVdWKGdyzPNzSA,3177
|
|
103
|
-
adam/commands/reaper/reaper_forward_stop.py,sha256=mllxBGxOUkFYMvF0eaFbL5VGMVAiFuT5KY8rKWTIiOE,1384
|
|
104
|
-
adam/commands/reaper/reaper_restart.py,sha256=fX_ywBBKMo_5I0h2IDb0u7NeCN0Gk6OZeaZELrKb9I4,1290
|
|
105
|
-
adam/commands/reaper/reaper_run_abort.py,sha256=vp69f1zoNodwqx61N0CQaevYoR7qF2rccrzjJuF47qY,1858
|
|
106
|
-
adam/commands/reaper/reaper_runs.py,sha256=uVfAK3Pca_N10XKZ1aeMTrCCM8vDExXBWo84_2UmSqo,3253
|
|
107
|
-
adam/commands/reaper/reaper_runs_abort.py,sha256=HZm8Re66XwgURgd0sJtIF2UIwrdozHQJf1O_ZAsLy-I,2538
|
|
108
|
-
adam/commands/reaper/reaper_schedule_activate.py,sha256=HbwaSeKaDoR2qgiWgglwM5gm-4iTN2xKofiOlhUpvrQ,1952
|
|
109
|
-
adam/commands/reaper/reaper_schedule_start.py,sha256=oDwH99QVyeKgu-jk5-pB7BzUH_rablCbtumNHXjBnpU,1940
|
|
110
|
-
adam/commands/reaper/reaper_schedule_stop.py,sha256=_Ld5BRX5pqfIis5i1KG8yif0q5u9RTaFBmmQwkZuOMY,1929
|
|
111
|
-
adam/commands/reaper/reaper_schedules.py,sha256=-b7eKl0wJT7zMru8qKcLqG5JF0-LfeTcNmlxut9t93E,1263
|
|
112
|
-
adam/commands/reaper/reaper_session.py,sha256=gHk1OjcU8xH3Cjjgt_BLnfYPOjS_JSAw6-tggBE_zEY,6647
|
|
113
|
-
adam/commands/reaper/reaper_status.py,sha256=g3Uep1AVYOThAaZoFjn4bWTKHElZnCleJyYYHP9HayY,1967
|
|
114
|
-
adam/commands/repair/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
115
|
-
adam/commands/repair/repair.py,sha256=5jdKVpP03GYNPuqeGlidOcFLTwl9gIzVDbxgXtUjAjw,2100
|
|
116
|
-
adam/commands/repair/repair_log.py,sha256=c7TI9hblpqn1tn7lTxj7VkIQKdNigYIIX-nxiFRZkns,1159
|
|
117
|
-
adam/commands/repair/repair_run.py,sha256=C9F86ia46rBCwkP8BFM5nw-AJ05jm4Bx9wnMnyZXR04,2598
|
|
118
|
-
adam/commands/repair/repair_scan.py,sha256=aVVnfX2qVuhrMjrXEnuaMN0_Ik8yljfV8VAjOIPhXfY,2583
|
|
119
|
-
adam/commands/repair/repair_stop.py,sha256=on3jHmOwtWOL7SJlFd8ryBflzqDsxwJNwtAbhDjYUNc,1193
|
|
120
|
-
adam/commands/show/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
121
|
-
adam/commands/show/show.py,sha256=7dAsliNuDz6QNM24RoWJgKhJf_nuQTugp715vZ8hxh0,2509
|
|
122
|
-
adam/commands/show/show_adam.py,sha256=osuafMipN2My4O7bLdukBLsDHtTKguDfTagmgz7aZvw,1314
|
|
123
|
-
adam/commands/show/show_app_actions.py,sha256=3knASTOIecvdLEJusbsGEGXVxeCpqHozbnFAEq_2pqY,1925
|
|
124
|
-
adam/commands/show/show_app_id.py,sha256=-2hxOUv_Rm_j6d6PWVcHW-w-_alfGrOB4chmVQS48Bs,1384
|
|
125
|
-
adam/commands/show/show_app_queues.py,sha256=GvVbyFbdFegHQFTHhn-fl0NaxHgJqPc44fc981HvRbM,1371
|
|
126
|
-
adam/commands/show/show_cassandra_status.py,sha256=cIHHvbAPZAUcMJGsQnUSGvlSspSjlPgdligWTsAQZVU,5157
|
|
127
|
-
adam/commands/show/show_cassandra_version.py,sha256=R22f8zIk_WvvrDP4DkPcqlTx1MVboeyQHDvv1dScUcc,1633
|
|
128
|
-
adam/commands/show/show_commands.py,sha256=zyCwHJ8ZyHhEvpIwmJ-3G3DpRTwtxZcJahkC94UuC00,1848
|
|
129
|
-
adam/commands/show/show_login.py,sha256=-sF93qA9LmRNWehz1pEXdhxWvHrWAD_ZDalqQsXJhyQ,1868
|
|
130
|
-
adam/commands/show/show_params.py,sha256=LoBj_ScmtsPrXSUH59p3IYAlmL-0Q_Gb01bp_7zrwQA,1008
|
|
131
|
-
adam/commands/show/show_processes.py,sha256=jAesWDD_l0T6ql6LawnGpev-Glz21tFkegtCbYDCTdc,1770
|
|
132
|
-
adam/commands/show/show_repairs.py,sha256=qpbyeRyLPyBWmn_4yxFu8KIjfd58HGry5pvqNyMwn5I,1477
|
|
133
|
-
adam/commands/show/show_storage.py,sha256=LUTkH_qnc1d9s4jKsps8jhB4rkUuN7ifMlHSwFqd8_c,1837
|
|
134
|
-
adam/k8s_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
135
|
-
adam/k8s_utils/cassandra_clusters.py,sha256=9gUn31SsyW32asSFM8cKdkDSw5LYqPY2Iv0r4fDg_fU,2017
|
|
136
|
-
adam/k8s_utils/cassandra_nodes.py,sha256=jQlaxIQKnavvsXH7lMM8WPriusp7KO698UygytIA8Xw,1134
|
|
137
|
-
adam/k8s_utils/custom_resources.py,sha256=cIeaZRQET2DelTGU2f5QsMckh7TddPpWZDFeNK3txeQ,7647
|
|
138
|
-
adam/k8s_utils/ingresses.py,sha256=ul3Z6fDGc_Cxcn-ExP0vXhZatoShCUZFtpwtCY4Qx7o,3460
|
|
139
|
-
adam/k8s_utils/jobs.py,sha256=P7j3JiZ33TRnkjkPLLrGlypAPxK1BZQHvVpF8s7eHA8,2604
|
|
140
|
-
adam/k8s_utils/kube_context.py,sha256=nocEyVNjXWG-N-GNnEYHDvnot7H5LQUFmpZIwIyE7As,3310
|
|
141
|
-
adam/k8s_utils/pods.py,sha256=G0ePuYTYTeNIwNaSemPuinJR7fKy5GG6faWhv6KBlFQ,7986
|
|
142
|
-
adam/k8s_utils/secrets.py,sha256=pYaVKXTpx3-QgFtBjznWFq0N6ZcBdxnx21FRe5nBCCo,2305
|
|
143
|
-
adam/k8s_utils/services.py,sha256=EOJJGACVbbRvu5T3rMKqIJqgYic1_MSJ17EA0TJ6UOk,3156
|
|
144
|
-
adam/k8s_utils/statefulsets.py,sha256=PZDEhy34aXxLkbW1-RsOC0E4D0w0pHyoIQGHvcAzSAk,4606
|
|
145
|
-
adam/k8s_utils/volumes.py,sha256=MzYeH80NqKlhdadx6d0tW-j8vTOCUYWx7wRURIZWKZ8,843
|
|
146
|
-
adam/sso/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
147
|
-
adam/sso/authenticator.py,sha256=WD89YfWWt0qCqqm2q1LQ5UxbJnTJIm15WT1xXx4ArX8,594
|
|
148
|
-
adam/sso/authn_ad.py,sha256=X6oZGKJ-SHTgxiiJtPPbMGdqyP1HWnUinR4w6k-ECAE,7171
|
|
149
|
-
adam/sso/authn_okta.py,sha256=AEDo_DDVDGS1M9BjeaVyN9-Q6ElWEG5yge2WLYEztqI,5442
|
|
150
|
-
adam/sso/cred_cache.py,sha256=7WA5rIy1wlr_GCF-Z6xRb6LzRu-Cvou-IkY7hWC3Zpc,2099
|
|
151
|
-
adam/sso/id_token.py,sha256=wmVZ8S0sjScnOxmSvOKlIEKgnvdWqhsgq9XjFe355O4,744
|
|
152
|
-
adam/sso/idp.py,sha256=wqCTUTEe4i-Z_FfZOzuEepNS7w2E6PXm0PkpZ3TXgDA,3087
|
|
153
|
-
adam/sso/idp_login.py,sha256=TyHx-TLoszQFBkM2CpLLiv9YxHGU8gkS-bAfcyo5Wf8,1690
|
|
154
|
-
adam/sso/idp_session.py,sha256=5J05Bhg2mSI-RyVAe51rGh6CZ3f2HyUSAdp_HeXVhaM,1650
|
|
155
|
-
adam/sso/sso_config.py,sha256=5N8WZgIJQBtHUy585XLRWKjpU87_v6QluyNK9E27D5s,2459
|
|
156
|
-
kaqing-1.98.15.dist-info/METADATA,sha256=Wt4vaV-v0BGhGL5cFi2zysOoegJ_QJQ-qMLRDUlQeCI,133
|
|
157
|
-
kaqing-1.98.15.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
|
|
158
|
-
kaqing-1.98.15.dist-info/entry_points.txt,sha256=SkzhuQJUWsXOzHeZ5TgQ2c3_g53UGK23zzJU_JTZOZI,39
|
|
159
|
-
kaqing-1.98.15.dist-info/top_level.txt,sha256=8_2PZkwBb-xDcnc8a2rAbQeJhXKXskc7zTP7pSPa1fw,5
|
|
160
|
-
kaqing-1.98.15.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|