anyscale 0.25.1__py3-none-any.whl → 0.25.3__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 (50) hide show
  1. anyscale/__init__.py +10 -0
  2. anyscale/_private/anyscale_client/anyscale_client.py +40 -9
  3. anyscale/_private/anyscale_client/common.py +37 -3
  4. anyscale/_private/anyscale_client/fake_anyscale_client.py +80 -6
  5. anyscale/_private/docgen/__main__.py +9 -2
  6. anyscale/_private/docgen/api.md +13 -0
  7. anyscale/_private/docgen/models.md +3 -3
  8. anyscale/_private/workload/workload_config.py +20 -6
  9. anyscale/client/README.md +6 -0
  10. anyscale/client/openapi_client/__init__.py +3 -0
  11. anyscale/client/openapi_client/api/default_api.py +391 -2
  12. anyscale/client/openapi_client/models/__init__.py +3 -0
  13. anyscale/client/openapi_client/models/baseimagesenum.py +43 -1
  14. anyscale/client/openapi_client/models/cluster_event_source.py +105 -0
  15. anyscale/client/openapi_client/models/clusterevent_list_response.py +147 -0
  16. anyscale/client/openapi_client/models/jobs_sort_field.py +1 -2
  17. anyscale/client/openapi_client/models/sessions_sort_field.py +1 -2
  18. anyscale/client/openapi_client/models/supportedbaseimagesenum.py +43 -1
  19. anyscale/client/openapi_client/models/update_cloud_collaborator.py +121 -0
  20. anyscale/commands/cloud_commands.py +49 -12
  21. anyscale/commands/command_examples.py +4 -0
  22. anyscale/commands/service_account_commands.py +65 -8
  23. anyscale/commands/service_commands.py +60 -0
  24. anyscale/controllers/cloud_controller.py +58 -25
  25. anyscale/controllers/cluster_controller.py +1 -9
  26. anyscale/controllers/job_controller.py +0 -3
  27. anyscale/resource_quota/_private/resource_quota_sdk.py +15 -6
  28. anyscale/sdk/anyscale_client/api/default_api.py +119 -0
  29. anyscale/sdk/anyscale_client/models/baseimagesenum.py +43 -1
  30. anyscale/sdk/anyscale_client/models/jobs_sort_field.py +1 -2
  31. anyscale/sdk/anyscale_client/models/supportedbaseimagesenum.py +43 -1
  32. anyscale/service/__init__.py +21 -0
  33. anyscale/service/_private/service_sdk.py +13 -0
  34. anyscale/service/commands.py +35 -0
  35. anyscale/service_account/__init__.py +88 -0
  36. anyscale/service_account/_private/service_account_sdk.py +101 -0
  37. anyscale/service_account/commands.py +147 -0
  38. anyscale/service_account/models.py +66 -0
  39. anyscale/shared_anyscale_utils/latest_ray_version.py +1 -1
  40. anyscale/shared_anyscale_utils/utils/id_gen.py +2 -0
  41. anyscale/util.py +8 -0
  42. anyscale/version.py +1 -1
  43. {anyscale-0.25.1.dist-info → anyscale-0.25.3.dist-info}/METADATA +1 -1
  44. {anyscale-0.25.1.dist-info → anyscale-0.25.3.dist-info}/RECORD +49 -43
  45. anyscale/controllers/service_account_controller.py +0 -168
  46. {anyscale-0.25.1.dist-info → anyscale-0.25.3.dist-info}/LICENSE +0 -0
  47. {anyscale-0.25.1.dist-info → anyscale-0.25.3.dist-info}/NOTICE +0 -0
  48. {anyscale-0.25.1.dist-info → anyscale-0.25.3.dist-info}/WHEEL +0 -0
  49. {anyscale-0.25.1.dist-info → anyscale-0.25.3.dist-info}/entry_points.txt +0 -0
  50. {anyscale-0.25.1.dist-info → anyscale-0.25.3.dist-info}/top_level.txt +0 -0
@@ -31,11 +31,10 @@ class SessionsSortField(object):
31
31
  STATUS = "STATUS"
32
32
  CREATED_AT = "CREATED_AT"
33
33
  LAST_UPDATED_AT = "LAST_UPDATED_AT"
34
- COST = "COST"
35
34
  NAME = "NAME"
36
35
  ID = "ID"
37
36
 
38
- allowable_values = [STATUS, CREATED_AT, LAST_UPDATED_AT, COST, NAME, ID] # noqa: E501
37
+ allowable_values = [STATUS, CREATED_AT, LAST_UPDATED_AT, NAME, ID] # noqa: E501
39
38
 
40
39
  """
41
40
  Attributes:
@@ -192,6 +192,12 @@ class SUPPORTEDBASEIMAGESENUM(object):
192
192
  RAY_ML_2_40_0_PY311_GPU = "anyscale/ray-ml:2.40.0-py311-gpu"
193
193
  RAY_ML_2_40_0_PY39_CPU = "anyscale/ray-ml:2.40.0-py39-cpu"
194
194
  RAY_ML_2_40_0_PY39_GPU = "anyscale/ray-ml:2.40.0-py39-gpu"
195
+ RAY_ML_2_41_0_PY310_CPU = "anyscale/ray-ml:2.41.0-py310-cpu"
196
+ RAY_ML_2_41_0_PY310_GPU = "anyscale/ray-ml:2.41.0-py310-gpu"
197
+ RAY_ML_2_41_0_PY311_CPU = "anyscale/ray-ml:2.41.0-py311-cpu"
198
+ RAY_ML_2_41_0_PY311_GPU = "anyscale/ray-ml:2.41.0-py311-gpu"
199
+ RAY_ML_2_41_0_PY39_CPU = "anyscale/ray-ml:2.41.0-py39-cpu"
200
+ RAY_ML_2_41_0_PY39_GPU = "anyscale/ray-ml:2.41.0-py39-gpu"
195
201
  RAY_ML_2_5_0_PY310_CPU = "anyscale/ray-ml:2.5.0-py310-cpu"
196
202
  RAY_ML_2_5_0_PY310_GPU = "anyscale/ray-ml:2.5.0-py310-gpu"
197
203
  RAY_ML_2_5_0_PY37_CPU = "anyscale/ray-ml:2.5.0-py37-cpu"
@@ -1084,6 +1090,42 @@ class SUPPORTEDBASEIMAGESENUM(object):
1084
1090
  RAY_2_40_0_SLIM_PY39_CU118 = "anyscale/ray:2.40.0-slim-py39-cu118"
1085
1091
  RAY_2_40_0_SLIM_PY39_CU121 = "anyscale/ray:2.40.0-slim-py39-cu121"
1086
1092
  RAY_2_40_0_SLIM_PY39_CU123 = "anyscale/ray:2.40.0-slim-py39-cu123"
1093
+ RAY_2_41_0_PY310 = "anyscale/ray:2.41.0-py310"
1094
+ RAY_2_41_0_PY310_CU117 = "anyscale/ray:2.41.0-py310-cu117"
1095
+ RAY_2_41_0_PY310_CU118 = "anyscale/ray:2.41.0-py310-cu118"
1096
+ RAY_2_41_0_PY310_CU121 = "anyscale/ray:2.41.0-py310-cu121"
1097
+ RAY_2_41_0_PY310_CU123 = "anyscale/ray:2.41.0-py310-cu123"
1098
+ RAY_2_41_0_PY311 = "anyscale/ray:2.41.0-py311"
1099
+ RAY_2_41_0_PY311_CU117 = "anyscale/ray:2.41.0-py311-cu117"
1100
+ RAY_2_41_0_PY311_CU118 = "anyscale/ray:2.41.0-py311-cu118"
1101
+ RAY_2_41_0_PY311_CU121 = "anyscale/ray:2.41.0-py311-cu121"
1102
+ RAY_2_41_0_PY311_CU123 = "anyscale/ray:2.41.0-py311-cu123"
1103
+ RAY_2_41_0_PY312 = "anyscale/ray:2.41.0-py312"
1104
+ RAY_2_41_0_PY312_CU117 = "anyscale/ray:2.41.0-py312-cu117"
1105
+ RAY_2_41_0_PY312_CU118 = "anyscale/ray:2.41.0-py312-cu118"
1106
+ RAY_2_41_0_PY312_CU121 = "anyscale/ray:2.41.0-py312-cu121"
1107
+ RAY_2_41_0_PY312_CU123 = "anyscale/ray:2.41.0-py312-cu123"
1108
+ RAY_2_41_0_PY39 = "anyscale/ray:2.41.0-py39"
1109
+ RAY_2_41_0_PY39_CU117 = "anyscale/ray:2.41.0-py39-cu117"
1110
+ RAY_2_41_0_PY39_CU118 = "anyscale/ray:2.41.0-py39-cu118"
1111
+ RAY_2_41_0_PY39_CU121 = "anyscale/ray:2.41.0-py39-cu121"
1112
+ RAY_2_41_0_PY39_CU123 = "anyscale/ray:2.41.0-py39-cu123"
1113
+ RAY_2_41_0_SLIM_PY310 = "anyscale/ray:2.41.0-slim-py310"
1114
+ RAY_2_41_0_SLIM_PY310_CU118 = "anyscale/ray:2.41.0-slim-py310-cu118"
1115
+ RAY_2_41_0_SLIM_PY310_CU121 = "anyscale/ray:2.41.0-slim-py310-cu121"
1116
+ RAY_2_41_0_SLIM_PY310_CU123 = "anyscale/ray:2.41.0-slim-py310-cu123"
1117
+ RAY_2_41_0_SLIM_PY311 = "anyscale/ray:2.41.0-slim-py311"
1118
+ RAY_2_41_0_SLIM_PY311_CU118 = "anyscale/ray:2.41.0-slim-py311-cu118"
1119
+ RAY_2_41_0_SLIM_PY311_CU121 = "anyscale/ray:2.41.0-slim-py311-cu121"
1120
+ RAY_2_41_0_SLIM_PY311_CU123 = "anyscale/ray:2.41.0-slim-py311-cu123"
1121
+ RAY_2_41_0_SLIM_PY312 = "anyscale/ray:2.41.0-slim-py312"
1122
+ RAY_2_41_0_SLIM_PY312_CU118 = "anyscale/ray:2.41.0-slim-py312-cu118"
1123
+ RAY_2_41_0_SLIM_PY312_CU121 = "anyscale/ray:2.41.0-slim-py312-cu121"
1124
+ RAY_2_41_0_SLIM_PY312_CU123 = "anyscale/ray:2.41.0-slim-py312-cu123"
1125
+ RAY_2_41_0_SLIM_PY39 = "anyscale/ray:2.41.0-slim-py39"
1126
+ RAY_2_41_0_SLIM_PY39_CU118 = "anyscale/ray:2.41.0-slim-py39-cu118"
1127
+ RAY_2_41_0_SLIM_PY39_CU121 = "anyscale/ray:2.41.0-slim-py39-cu121"
1128
+ RAY_2_41_0_SLIM_PY39_CU123 = "anyscale/ray:2.41.0-slim-py39-cu123"
1087
1129
  RAY_2_5_0_PY310 = "anyscale/ray:2.5.0-py310"
1088
1130
  RAY_2_5_0_PY310_CU101 = "anyscale/ray:2.5.0-py310-cu101"
1089
1131
  RAY_2_5_0_PY310_CU102 = "anyscale/ray:2.5.0-py310-cu102"
@@ -1501,7 +1543,7 @@ class SUPPORTEDBASEIMAGESENUM(object):
1501
1543
  RAY_NIGHTLY_PY39_CU121 = "anyscale/ray:nightly-py39-cu121"
1502
1544
  RAY_NIGHTLY_PY39_CU123 = "anyscale/ray:nightly-py39-cu123"
1503
1545
 
1504
- allowable_values = [RAY_ML_2_0_0_PY37_CPU, RAY_ML_2_0_0_PY37_GPU, RAY_ML_2_0_0_PY38_CPU, RAY_ML_2_0_0_PY38_GPU, RAY_ML_2_0_1_PY37_CPU, RAY_ML_2_0_1_PY37_GPU, RAY_ML_2_0_1_PY38_CPU, RAY_ML_2_0_1_PY38_GPU, RAY_ML_2_1_0_PY37_CPU, RAY_ML_2_1_0_PY37_GPU, RAY_ML_2_1_0_PY38_CPU, RAY_ML_2_1_0_PY38_GPU, RAY_ML_2_10_0_PY310_CPU, RAY_ML_2_10_0_PY310_GPU, RAY_ML_2_10_0_PY38_CPU, RAY_ML_2_10_0_PY38_GPU, RAY_ML_2_10_0_PY39_CPU, RAY_ML_2_10_0_PY39_GPU, RAY_ML_2_11_0_PY310_CPU, RAY_ML_2_11_0_PY310_GPU, RAY_ML_2_11_0_PY311_CPU, RAY_ML_2_11_0_PY311_GPU, RAY_ML_2_11_0_PY39_CPU, RAY_ML_2_11_0_PY39_GPU, RAY_ML_2_12_0_PY310_CPU, RAY_ML_2_12_0_PY310_GPU, RAY_ML_2_12_0_PY311_CPU, RAY_ML_2_12_0_PY311_GPU, RAY_ML_2_12_0_PY39_CPU, RAY_ML_2_12_0_PY39_GPU, RAY_ML_2_2_0_PY310_CPU, RAY_ML_2_2_0_PY310_GPU, RAY_ML_2_2_0_PY37_CPU, RAY_ML_2_2_0_PY37_GPU, RAY_ML_2_2_0_PY38_CPU, RAY_ML_2_2_0_PY38_GPU, RAY_ML_2_2_0_PY39_CPU, RAY_ML_2_2_0_PY39_GPU, RAY_ML_2_20_0_PY310_CPU, RAY_ML_2_20_0_PY310_GPU, RAY_ML_2_20_0_PY311_CPU, RAY_ML_2_20_0_PY311_GPU, RAY_ML_2_20_0_PY39_CPU, RAY_ML_2_20_0_PY39_GPU, RAY_ML_2_21_0_PY310_CPU, RAY_ML_2_21_0_PY310_GPU, RAY_ML_2_21_0_PY311_CPU, RAY_ML_2_21_0_PY311_GPU, RAY_ML_2_21_0_PY39_CPU, RAY_ML_2_21_0_PY39_GPU, RAY_ML_2_22_0_PY310_CPU, RAY_ML_2_22_0_PY310_GPU, RAY_ML_2_22_0_PY311_CPU, RAY_ML_2_22_0_PY311_GPU, RAY_ML_2_22_0_PY39_CPU, RAY_ML_2_22_0_PY39_GPU, RAY_ML_2_23_0_PY310_CPU, RAY_ML_2_23_0_PY310_GPU, RAY_ML_2_23_0_PY311_CPU, RAY_ML_2_23_0_PY311_GPU, RAY_ML_2_23_0_PY39_CPU, RAY_ML_2_23_0_PY39_GPU, RAY_ML_2_24_0_PY310_CPU, RAY_ML_2_24_0_PY310_GPU, RAY_ML_2_24_0_PY311_CPU, RAY_ML_2_24_0_PY311_GPU, RAY_ML_2_24_0_PY39_CPU, RAY_ML_2_24_0_PY39_GPU, RAY_ML_2_3_0_PY310_CPU, RAY_ML_2_3_0_PY310_GPU, RAY_ML_2_3_0_PY37_CPU, RAY_ML_2_3_0_PY37_GPU, RAY_ML_2_3_0_PY38_CPU, RAY_ML_2_3_0_PY38_GPU, RAY_ML_2_3_0_PY39_CPU, RAY_ML_2_3_0_PY39_GPU, RAY_ML_2_3_1_PY310_CPU, RAY_ML_2_3_1_PY310_GPU, RAY_ML_2_3_1_PY37_CPU, RAY_ML_2_3_1_PY37_GPU, RAY_ML_2_3_1_PY38_CPU, RAY_ML_2_3_1_PY38_GPU, RAY_ML_2_3_1_PY39_CPU, RAY_ML_2_3_1_PY39_GPU, RAY_ML_2_30_0_PY310_CPU, RAY_ML_2_30_0_PY310_GPU, RAY_ML_2_30_0_PY311_CPU, RAY_ML_2_30_0_PY311_GPU, RAY_ML_2_30_0_PY39_CPU, RAY_ML_2_30_0_PY39_GPU, RAY_ML_2_31_0_PY310_CPU, RAY_ML_2_31_0_PY310_GPU, RAY_ML_2_31_0_PY311_CPU, RAY_ML_2_31_0_PY311_GPU, RAY_ML_2_31_0_PY39_CPU, RAY_ML_2_31_0_PY39_GPU, RAY_ML_2_32_0_PY310_CPU, RAY_ML_2_32_0_PY310_GPU, RAY_ML_2_32_0_PY311_CPU, RAY_ML_2_32_0_PY311_GPU, RAY_ML_2_32_0_PY39_CPU, RAY_ML_2_32_0_PY39_GPU, RAY_ML_2_33_0_PY310_CPU, RAY_ML_2_33_0_PY310_GPU, RAY_ML_2_33_0_PY311_CPU, RAY_ML_2_33_0_PY311_GPU, RAY_ML_2_33_0_PY39_CPU, RAY_ML_2_33_0_PY39_GPU, RAY_ML_2_34_0_PY310_CPU, RAY_ML_2_34_0_PY310_GPU, RAY_ML_2_34_0_PY311_CPU, RAY_ML_2_34_0_PY311_GPU, RAY_ML_2_34_0_PY39_CPU, RAY_ML_2_34_0_PY39_GPU, RAY_ML_2_35_0_PY310_CPU, RAY_ML_2_35_0_PY310_GPU, RAY_ML_2_35_0_PY311_CPU, RAY_ML_2_35_0_PY311_GPU, RAY_ML_2_35_0_PY39_CPU, RAY_ML_2_35_0_PY39_GPU, RAY_ML_2_36_0_PY310_CPU, RAY_ML_2_36_0_PY310_GPU, RAY_ML_2_36_0_PY311_CPU, RAY_ML_2_36_0_PY311_GPU, RAY_ML_2_36_0_PY39_CPU, RAY_ML_2_36_0_PY39_GPU, RAY_ML_2_36_1_PY310_CPU, RAY_ML_2_36_1_PY310_GPU, RAY_ML_2_36_1_PY311_CPU, RAY_ML_2_36_1_PY311_GPU, RAY_ML_2_36_1_PY39_CPU, RAY_ML_2_36_1_PY39_GPU, RAY_ML_2_37_0_PY310_CPU, RAY_ML_2_37_0_PY310_GPU, RAY_ML_2_37_0_PY311_CPU, RAY_ML_2_37_0_PY311_GPU, RAY_ML_2_37_0_PY39_CPU, RAY_ML_2_37_0_PY39_GPU, RAY_ML_2_38_0_PY310_CPU, RAY_ML_2_38_0_PY310_GPU, RAY_ML_2_38_0_PY311_CPU, RAY_ML_2_38_0_PY311_GPU, RAY_ML_2_38_0_PY39_CPU, RAY_ML_2_38_0_PY39_GPU, RAY_ML_2_39_0_PY310_CPU, RAY_ML_2_39_0_PY310_GPU, RAY_ML_2_39_0_PY311_CPU, RAY_ML_2_39_0_PY311_GPU, RAY_ML_2_39_0_PY39_CPU, RAY_ML_2_39_0_PY39_GPU, RAY_ML_2_4_0_PY310_CPU, RAY_ML_2_4_0_PY310_GPU, RAY_ML_2_4_0_PY37_CPU, RAY_ML_2_4_0_PY37_GPU, RAY_ML_2_4_0_PY38_CPU, RAY_ML_2_4_0_PY38_GPU, RAY_ML_2_4_0_PY39_CPU, RAY_ML_2_4_0_PY39_GPU, RAY_ML_2_40_0_PY310_CPU, RAY_ML_2_40_0_PY310_GPU, RAY_ML_2_40_0_PY311_CPU, RAY_ML_2_40_0_PY311_GPU, RAY_ML_2_40_0_PY39_CPU, RAY_ML_2_40_0_PY39_GPU, RAY_ML_2_5_0_PY310_CPU, RAY_ML_2_5_0_PY310_GPU, RAY_ML_2_5_0_PY37_CPU, RAY_ML_2_5_0_PY37_GPU, RAY_ML_2_5_0_PY38_CPU, RAY_ML_2_5_0_PY38_GPU, RAY_ML_2_5_0_PY39_CPU, RAY_ML_2_5_0_PY39_GPU, RAY_ML_2_5_1_PY310_CPU, RAY_ML_2_5_1_PY310_GPU, RAY_ML_2_5_1_PY37_CPU, RAY_ML_2_5_1_PY37_GPU, RAY_ML_2_5_1_PY38_CPU, RAY_ML_2_5_1_PY38_GPU, RAY_ML_2_5_1_PY39_CPU, RAY_ML_2_5_1_PY39_GPU, RAY_ML_2_6_0_PY310_CPU, RAY_ML_2_6_0_PY310_GPU, RAY_ML_2_6_0_PY38_CPU, RAY_ML_2_6_0_PY38_GPU, RAY_ML_2_6_0_PY39_CPU, RAY_ML_2_6_0_PY39_GPU, RAY_ML_2_6_1_PY310_CPU, RAY_ML_2_6_1_PY310_GPU, RAY_ML_2_6_1_PY38_CPU, RAY_ML_2_6_1_PY38_GPU, RAY_ML_2_6_1_PY39_CPU, RAY_ML_2_6_1_PY39_GPU, RAY_ML_2_6_2_PY310_CPU, RAY_ML_2_6_2_PY310_GPU, RAY_ML_2_6_2_PY38_CPU, RAY_ML_2_6_2_PY38_GPU, RAY_ML_2_6_2_PY39_CPU, RAY_ML_2_6_2_PY39_GPU, RAY_ML_2_6_3_PY310_CPU, RAY_ML_2_6_3_PY310_GPU, RAY_ML_2_6_3_PY38_CPU, RAY_ML_2_6_3_PY38_GPU, RAY_ML_2_6_3_PY39_CPU, RAY_ML_2_6_3_PY39_GPU, RAY_ML_2_7_0OPTIMIZED_PY310_CPU, RAY_ML_2_7_0OPTIMIZED_PY310_GPU, RAY_ML_2_7_0OPTIMIZED_PY38_CPU, RAY_ML_2_7_0OPTIMIZED_PY38_GPU, RAY_ML_2_7_0OPTIMIZED_PY39_CPU, RAY_ML_2_7_0OPTIMIZED_PY39_GPU, RAY_ML_2_7_1OPTIMIZED_PY310_CPU, RAY_ML_2_7_1OPTIMIZED_PY310_GPU, RAY_ML_2_7_1OPTIMIZED_PY38_CPU, RAY_ML_2_7_1OPTIMIZED_PY38_GPU, RAY_ML_2_7_1OPTIMIZED_PY39_CPU, RAY_ML_2_7_1OPTIMIZED_PY39_GPU, RAY_ML_2_7_2OPTIMIZED_PY310_CPU, RAY_ML_2_7_2OPTIMIZED_PY310_GPU, RAY_ML_2_7_2OPTIMIZED_PY38_CPU, RAY_ML_2_7_2OPTIMIZED_PY38_GPU, RAY_ML_2_7_2OPTIMIZED_PY39_CPU, RAY_ML_2_7_2OPTIMIZED_PY39_GPU, RAY_ML_2_8_0_PY310_CPU, RAY_ML_2_8_0_PY310_GPU, RAY_ML_2_8_0_PY38_CPU, RAY_ML_2_8_0_PY38_GPU, RAY_ML_2_8_0_PY39_CPU, RAY_ML_2_8_0_PY39_GPU, RAY_ML_2_8_1_PY310_CPU, RAY_ML_2_8_1_PY310_GPU, RAY_ML_2_8_1_PY38_CPU, RAY_ML_2_8_1_PY38_GPU, RAY_ML_2_8_1_PY39_CPU, RAY_ML_2_8_1_PY39_GPU, RAY_ML_2_9_0_PY310_CPU, RAY_ML_2_9_0_PY310_GPU, RAY_ML_2_9_0_PY38_CPU, RAY_ML_2_9_0_PY38_GPU, RAY_ML_2_9_0_PY39_CPU, RAY_ML_2_9_0_PY39_GPU, RAY_ML_2_9_1_PY310_CPU, RAY_ML_2_9_1_PY310_GPU, RAY_ML_2_9_1_PY38_CPU, RAY_ML_2_9_1_PY38_GPU, RAY_ML_2_9_1_PY39_CPU, RAY_ML_2_9_1_PY39_GPU, RAY_ML_2_9_2_PY310_CPU, RAY_ML_2_9_2_PY310_GPU, RAY_ML_2_9_2_PY38_CPU, RAY_ML_2_9_2_PY38_GPU, RAY_ML_2_9_2_PY39_CPU, RAY_ML_2_9_2_PY39_GPU, RAY_ML_2_9_3_PY310_CPU, RAY_ML_2_9_3_PY310_GPU, RAY_ML_2_9_3_PY38_CPU, RAY_ML_2_9_3_PY38_GPU, RAY_ML_2_9_3_PY39_CPU, RAY_ML_2_9_3_PY39_GPU, RAY_ML_NIGHTLY_PY310_GPU, RAY_ML_NIGHTLY_PY311_GPU, RAY_ML_NIGHTLY_PY312_GPU, RAY_ML_NIGHTLY_PY37_GPU, RAY_ML_NIGHTLY_PY38_GPU, RAY_ML_NIGHTLY_PY39_GPU, RAY_2_0_0_PY310, RAY_2_0_0_PY37, RAY_2_0_0_PY37_CU101, RAY_2_0_0_PY37_CU102, RAY_2_0_0_PY37_CU110, RAY_2_0_0_PY37_CU111, RAY_2_0_0_PY37_CU112, RAY_2_0_0_PY37_CU113, RAY_2_0_0_PY38, RAY_2_0_0_PY38_CU101, RAY_2_0_0_PY38_CU102, RAY_2_0_0_PY38_CU110, RAY_2_0_0_PY38_CU111, RAY_2_0_0_PY38_CU112, RAY_2_0_0_PY38_CU113, RAY_2_0_0_PY39, RAY_2_0_0_PY39_CU101, RAY_2_0_0_PY39_CU102, RAY_2_0_0_PY39_CU110, RAY_2_0_0_PY39_CU111, RAY_2_0_0_PY39_CU112, RAY_2_0_0_PY39_CU113, RAY_2_0_1_PY310, RAY_2_0_1_PY37, RAY_2_0_1_PY37_CU101, RAY_2_0_1_PY37_CU102, RAY_2_0_1_PY37_CU110, RAY_2_0_1_PY37_CU111, RAY_2_0_1_PY37_CU112, RAY_2_0_1_PY37_CU113, RAY_2_0_1_PY37_CU116, RAY_2_0_1_PY38, RAY_2_0_1_PY38_CU101, RAY_2_0_1_PY38_CU102, RAY_2_0_1_PY38_CU110, RAY_2_0_1_PY38_CU111, RAY_2_0_1_PY38_CU112, RAY_2_0_1_PY38_CU113, RAY_2_0_1_PY38_CU116, RAY_2_0_1_PY39, RAY_2_0_1_PY39_CU101, RAY_2_0_1_PY39_CU102, RAY_2_0_1_PY39_CU110, RAY_2_0_1_PY39_CU111, RAY_2_0_1_PY39_CU112, RAY_2_0_1_PY39_CU113, RAY_2_0_1_PY39_CU116, RAY_2_1_0_PY310, RAY_2_1_0_PY310_CU101, RAY_2_1_0_PY310_CU102, RAY_2_1_0_PY310_CU110, RAY_2_1_0_PY310_CU111, RAY_2_1_0_PY310_CU112, RAY_2_1_0_PY310_CU113, RAY_2_1_0_PY310_CU116, RAY_2_1_0_PY37, RAY_2_1_0_PY37_CU101, RAY_2_1_0_PY37_CU102, RAY_2_1_0_PY37_CU110, RAY_2_1_0_PY37_CU111, RAY_2_1_0_PY37_CU112, RAY_2_1_0_PY37_CU113, RAY_2_1_0_PY37_CU116, RAY_2_1_0_PY38, RAY_2_1_0_PY38_CU101, RAY_2_1_0_PY38_CU102, RAY_2_1_0_PY38_CU110, RAY_2_1_0_PY38_CU111, RAY_2_1_0_PY38_CU112, RAY_2_1_0_PY38_CU113, RAY_2_1_0_PY38_CU116, RAY_2_1_0_PY39, RAY_2_1_0_PY39_CU101, RAY_2_1_0_PY39_CU102, RAY_2_1_0_PY39_CU110, RAY_2_1_0_PY39_CU111, RAY_2_1_0_PY39_CU112, RAY_2_1_0_PY39_CU113, RAY_2_1_0_PY39_CU116, RAY_2_10_0_PY310, RAY_2_10_0_PY310_CU115, RAY_2_10_0_PY310_CU116, RAY_2_10_0_PY310_CU117, RAY_2_10_0_PY310_CU118, RAY_2_10_0_PY310_CU121, RAY_2_10_0_PY311, RAY_2_10_0_PY311_CU115, RAY_2_10_0_PY311_CU116, RAY_2_10_0_PY311_CU117, RAY_2_10_0_PY311_CU118, RAY_2_10_0_PY311_CU121, RAY_2_10_0_PY38, RAY_2_10_0_PY38_CU115, RAY_2_10_0_PY38_CU116, RAY_2_10_0_PY38_CU117, RAY_2_10_0_PY38_CU118, RAY_2_10_0_PY38_CU121, RAY_2_10_0_PY39, RAY_2_10_0_PY39_CU115, RAY_2_10_0_PY39_CU116, RAY_2_10_0_PY39_CU117, RAY_2_10_0_PY39_CU118, RAY_2_10_0_PY39_CU121, RAY_2_11_0_PY310, RAY_2_11_0_PY310_CU115, RAY_2_11_0_PY310_CU116, RAY_2_11_0_PY310_CU117, RAY_2_11_0_PY310_CU118, RAY_2_11_0_PY310_CU121, RAY_2_11_0_PY311, RAY_2_11_0_PY311_CU115, RAY_2_11_0_PY311_CU116, RAY_2_11_0_PY311_CU117, RAY_2_11_0_PY311_CU118, RAY_2_11_0_PY311_CU121, RAY_2_11_0_PY39, RAY_2_11_0_PY39_CU115, RAY_2_11_0_PY39_CU116, RAY_2_11_0_PY39_CU117, RAY_2_11_0_PY39_CU118, RAY_2_11_0_PY39_CU121, RAY_2_12_0_PY310, RAY_2_12_0_PY310_CU115, RAY_2_12_0_PY310_CU116, RAY_2_12_0_PY310_CU117, RAY_2_12_0_PY310_CU118, RAY_2_12_0_PY310_CU121, RAY_2_12_0_PY311, RAY_2_12_0_PY311_CU115, RAY_2_12_0_PY311_CU116, RAY_2_12_0_PY311_CU117, RAY_2_12_0_PY311_CU118, RAY_2_12_0_PY311_CU121, RAY_2_12_0_PY39, RAY_2_12_0_PY39_CU115, RAY_2_12_0_PY39_CU116, RAY_2_12_0_PY39_CU117, RAY_2_12_0_PY39_CU118, RAY_2_12_0_PY39_CU121, RAY_2_2_0_PY310, RAY_2_2_0_PY310_CU101, RAY_2_2_0_PY310_CU102, RAY_2_2_0_PY310_CU110, RAY_2_2_0_PY310_CU111, RAY_2_2_0_PY310_CU112, RAY_2_2_0_PY310_CU113, RAY_2_2_0_PY310_CU116, RAY_2_2_0_PY37, RAY_2_2_0_PY37_CU101, RAY_2_2_0_PY37_CU102, RAY_2_2_0_PY37_CU110, RAY_2_2_0_PY37_CU111, RAY_2_2_0_PY37_CU112, RAY_2_2_0_PY37_CU113, RAY_2_2_0_PY37_CU116, RAY_2_2_0_PY38, RAY_2_2_0_PY38_CU101, RAY_2_2_0_PY38_CU102, RAY_2_2_0_PY38_CU110, RAY_2_2_0_PY38_CU111, RAY_2_2_0_PY38_CU112, RAY_2_2_0_PY38_CU113, RAY_2_2_0_PY38_CU116, RAY_2_2_0_PY39, RAY_2_2_0_PY39_CU101, RAY_2_2_0_PY39_CU102, RAY_2_2_0_PY39_CU110, RAY_2_2_0_PY39_CU111, RAY_2_2_0_PY39_CU112, RAY_2_2_0_PY39_CU113, RAY_2_2_0_PY39_CU116, RAY_2_20_0_PY310, RAY_2_20_0_PY310_CU115, RAY_2_20_0_PY310_CU116, RAY_2_20_0_PY310_CU117, RAY_2_20_0_PY310_CU118, RAY_2_20_0_PY310_CU121, RAY_2_20_0_PY311, RAY_2_20_0_PY311_CU115, RAY_2_20_0_PY311_CU116, RAY_2_20_0_PY311_CU117, RAY_2_20_0_PY311_CU118, RAY_2_20_0_PY311_CU121, RAY_2_20_0_PY39, RAY_2_20_0_PY39_CU115, RAY_2_20_0_PY39_CU116, RAY_2_20_0_PY39_CU117, RAY_2_20_0_PY39_CU118, RAY_2_20_0_PY39_CU121, RAY_2_21_0_PY310, RAY_2_21_0_PY310_CU115, RAY_2_21_0_PY310_CU116, RAY_2_21_0_PY310_CU117, RAY_2_21_0_PY310_CU118, RAY_2_21_0_PY310_CU121, RAY_2_21_0_PY311, RAY_2_21_0_PY311_CU115, RAY_2_21_0_PY311_CU116, RAY_2_21_0_PY311_CU117, RAY_2_21_0_PY311_CU118, RAY_2_21_0_PY311_CU121, RAY_2_21_0_PY39, RAY_2_21_0_PY39_CU115, RAY_2_21_0_PY39_CU116, RAY_2_21_0_PY39_CU117, RAY_2_21_0_PY39_CU118, RAY_2_21_0_PY39_CU121, RAY_2_21_0_SLIM_PY310, RAY_2_21_0_SLIM_PY310_CU118, RAY_2_21_0_SLIM_PY310_CU121, RAY_2_21_0_SLIM_PY311, RAY_2_21_0_SLIM_PY311_CU118, RAY_2_21_0_SLIM_PY311_CU121, RAY_2_21_0_SLIM_PY39, RAY_2_21_0_SLIM_PY39_CU118, RAY_2_21_0_SLIM_PY39_CU121, RAY_2_22_0_PY310, RAY_2_22_0_PY310_CU115, RAY_2_22_0_PY310_CU116, RAY_2_22_0_PY310_CU117, RAY_2_22_0_PY310_CU118, RAY_2_22_0_PY310_CU121, RAY_2_22_0_PY311, RAY_2_22_0_PY311_CU115, RAY_2_22_0_PY311_CU116, RAY_2_22_0_PY311_CU117, RAY_2_22_0_PY311_CU118, RAY_2_22_0_PY311_CU121, RAY_2_22_0_PY39, RAY_2_22_0_PY39_CU115, RAY_2_22_0_PY39_CU116, RAY_2_22_0_PY39_CU117, RAY_2_22_0_PY39_CU118, RAY_2_22_0_PY39_CU121, RAY_2_22_0_SLIM_PY310, RAY_2_22_0_SLIM_PY310_CU118, RAY_2_22_0_SLIM_PY310_CU121, RAY_2_22_0_SLIM_PY311, RAY_2_22_0_SLIM_PY311_CU118, RAY_2_22_0_SLIM_PY311_CU121, RAY_2_22_0_SLIM_PY39, RAY_2_22_0_SLIM_PY39_CU118, RAY_2_22_0_SLIM_PY39_CU121, RAY_2_23_0_PY310, RAY_2_23_0_PY310_CU115, RAY_2_23_0_PY310_CU116, RAY_2_23_0_PY310_CU117, RAY_2_23_0_PY310_CU118, RAY_2_23_0_PY310_CU121, RAY_2_23_0_PY311, RAY_2_23_0_PY311_CU115, RAY_2_23_0_PY311_CU116, RAY_2_23_0_PY311_CU117, RAY_2_23_0_PY311_CU118, RAY_2_23_0_PY311_CU121, RAY_2_23_0_PY39, RAY_2_23_0_PY39_CU115, RAY_2_23_0_PY39_CU116, RAY_2_23_0_PY39_CU117, RAY_2_23_0_PY39_CU118, RAY_2_23_0_PY39_CU121, RAY_2_23_0_SLIM_PY310, RAY_2_23_0_SLIM_PY310_CU118, RAY_2_23_0_SLIM_PY310_CU121, RAY_2_23_0_SLIM_PY311, RAY_2_23_0_SLIM_PY311_CU118, RAY_2_23_0_SLIM_PY311_CU121, RAY_2_23_0_SLIM_PY39, RAY_2_23_0_SLIM_PY39_CU118, RAY_2_23_0_SLIM_PY39_CU121, RAY_2_24_0_PY310, RAY_2_24_0_PY310_CU115, RAY_2_24_0_PY310_CU116, RAY_2_24_0_PY310_CU117, RAY_2_24_0_PY310_CU118, RAY_2_24_0_PY310_CU121, RAY_2_24_0_PY311, RAY_2_24_0_PY311_CU115, RAY_2_24_0_PY311_CU116, RAY_2_24_0_PY311_CU117, RAY_2_24_0_PY311_CU118, RAY_2_24_0_PY311_CU121, RAY_2_24_0_PY39, RAY_2_24_0_PY39_CU115, RAY_2_24_0_PY39_CU116, RAY_2_24_0_PY39_CU117, RAY_2_24_0_PY39_CU118, RAY_2_24_0_PY39_CU121, RAY_2_24_0_SLIM_PY310, RAY_2_24_0_SLIM_PY310_CU118, RAY_2_24_0_SLIM_PY310_CU121, RAY_2_24_0_SLIM_PY311, RAY_2_24_0_SLIM_PY311_CU118, RAY_2_24_0_SLIM_PY311_CU121, RAY_2_24_0_SLIM_PY39, RAY_2_24_0_SLIM_PY39_CU118, RAY_2_24_0_SLIM_PY39_CU121, RAY_2_3_0_PY310, RAY_2_3_0_PY310_CU101, RAY_2_3_0_PY310_CU102, RAY_2_3_0_PY310_CU110, RAY_2_3_0_PY310_CU111, RAY_2_3_0_PY310_CU112, RAY_2_3_0_PY310_CU113, RAY_2_3_0_PY310_CU116, RAY_2_3_0_PY310_CU118, RAY_2_3_0_PY37, RAY_2_3_0_PY37_CU101, RAY_2_3_0_PY37_CU102, RAY_2_3_0_PY37_CU110, RAY_2_3_0_PY37_CU111, RAY_2_3_0_PY37_CU112, RAY_2_3_0_PY37_CU113, RAY_2_3_0_PY37_CU116, RAY_2_3_0_PY37_CU118, RAY_2_3_0_PY38, RAY_2_3_0_PY38_CU101, RAY_2_3_0_PY38_CU102, RAY_2_3_0_PY38_CU110, RAY_2_3_0_PY38_CU111, RAY_2_3_0_PY38_CU112, RAY_2_3_0_PY38_CU113, RAY_2_3_0_PY38_CU116, RAY_2_3_0_PY38_CU118, RAY_2_3_0_PY39, RAY_2_3_0_PY39_CU101, RAY_2_3_0_PY39_CU102, RAY_2_3_0_PY39_CU110, RAY_2_3_0_PY39_CU111, RAY_2_3_0_PY39_CU112, RAY_2_3_0_PY39_CU113, RAY_2_3_0_PY39_CU116, RAY_2_3_0_PY39_CU118, RAY_2_3_1_PY310, RAY_2_3_1_PY310_CU101, RAY_2_3_1_PY310_CU102, RAY_2_3_1_PY310_CU110, RAY_2_3_1_PY310_CU111, RAY_2_3_1_PY310_CU112, RAY_2_3_1_PY310_CU113, RAY_2_3_1_PY310_CU116, RAY_2_3_1_PY310_CU118, RAY_2_3_1_PY37, RAY_2_3_1_PY37_CU101, RAY_2_3_1_PY37_CU102, RAY_2_3_1_PY37_CU110, RAY_2_3_1_PY37_CU111, RAY_2_3_1_PY37_CU112, RAY_2_3_1_PY37_CU113, RAY_2_3_1_PY37_CU116, RAY_2_3_1_PY37_CU118, RAY_2_3_1_PY38, RAY_2_3_1_PY38_CU101, RAY_2_3_1_PY38_CU102, RAY_2_3_1_PY38_CU110, RAY_2_3_1_PY38_CU111, RAY_2_3_1_PY38_CU112, RAY_2_3_1_PY38_CU113, RAY_2_3_1_PY38_CU116, RAY_2_3_1_PY38_CU118, RAY_2_3_1_PY39, RAY_2_3_1_PY39_CU101, RAY_2_3_1_PY39_CU102, RAY_2_3_1_PY39_CU110, RAY_2_3_1_PY39_CU111, RAY_2_3_1_PY39_CU112, RAY_2_3_1_PY39_CU113, RAY_2_3_1_PY39_CU116, RAY_2_3_1_PY39_CU118, RAY_2_30_0_PY310, RAY_2_30_0_PY310_CU117, RAY_2_30_0_PY310_CU118, RAY_2_30_0_PY310_CU121, RAY_2_30_0_PY310_CU123, RAY_2_30_0_PY311, RAY_2_30_0_PY311_CU117, RAY_2_30_0_PY311_CU118, RAY_2_30_0_PY311_CU121, RAY_2_30_0_PY311_CU123, RAY_2_30_0_PY39, RAY_2_30_0_PY39_CU117, RAY_2_30_0_PY39_CU118, RAY_2_30_0_PY39_CU121, RAY_2_30_0_PY39_CU123, RAY_2_30_0_SLIM_PY310, RAY_2_30_0_SLIM_PY310_CU118, RAY_2_30_0_SLIM_PY310_CU121, RAY_2_30_0_SLIM_PY310_CU123, RAY_2_30_0_SLIM_PY311, RAY_2_30_0_SLIM_PY311_CU118, RAY_2_30_0_SLIM_PY311_CU121, RAY_2_30_0_SLIM_PY311_CU123, RAY_2_30_0_SLIM_PY39, RAY_2_30_0_SLIM_PY39_CU118, RAY_2_30_0_SLIM_PY39_CU121, RAY_2_30_0_SLIM_PY39_CU123, RAY_2_31_0_PY310, RAY_2_31_0_PY310_CU117, RAY_2_31_0_PY310_CU118, RAY_2_31_0_PY310_CU121, RAY_2_31_0_PY310_CU123, RAY_2_31_0_PY311, RAY_2_31_0_PY311_CU117, RAY_2_31_0_PY311_CU118, RAY_2_31_0_PY311_CU121, RAY_2_31_0_PY311_CU123, RAY_2_31_0_PY39, RAY_2_31_0_PY39_CU117, RAY_2_31_0_PY39_CU118, RAY_2_31_0_PY39_CU121, RAY_2_31_0_PY39_CU123, RAY_2_31_0_SLIM_PY310, RAY_2_31_0_SLIM_PY310_CU118, RAY_2_31_0_SLIM_PY310_CU121, RAY_2_31_0_SLIM_PY310_CU123, RAY_2_31_0_SLIM_PY311, RAY_2_31_0_SLIM_PY311_CU118, RAY_2_31_0_SLIM_PY311_CU121, RAY_2_31_0_SLIM_PY311_CU123, RAY_2_31_0_SLIM_PY39, RAY_2_31_0_SLIM_PY39_CU118, RAY_2_31_0_SLIM_PY39_CU121, RAY_2_31_0_SLIM_PY39_CU123, RAY_2_32_0_PY310, RAY_2_32_0_PY310_CU117, RAY_2_32_0_PY310_CU118, RAY_2_32_0_PY310_CU121, RAY_2_32_0_PY310_CU123, RAY_2_32_0_PY311, RAY_2_32_0_PY311_CU117, RAY_2_32_0_PY311_CU118, RAY_2_32_0_PY311_CU121, RAY_2_32_0_PY311_CU123, RAY_2_32_0_PY39, RAY_2_32_0_PY39_CU117, RAY_2_32_0_PY39_CU118, RAY_2_32_0_PY39_CU121, RAY_2_32_0_PY39_CU123, RAY_2_32_0_SLIM_PY310, RAY_2_32_0_SLIM_PY310_CU118, RAY_2_32_0_SLIM_PY310_CU121, RAY_2_32_0_SLIM_PY310_CU123, RAY_2_32_0_SLIM_PY311, RAY_2_32_0_SLIM_PY311_CU118, RAY_2_32_0_SLIM_PY311_CU121, RAY_2_32_0_SLIM_PY311_CU123, RAY_2_32_0_SLIM_PY39, RAY_2_32_0_SLIM_PY39_CU118, RAY_2_32_0_SLIM_PY39_CU121, RAY_2_32_0_SLIM_PY39_CU123, RAY_2_33_0_PY310, RAY_2_33_0_PY310_CU117, RAY_2_33_0_PY310_CU118, RAY_2_33_0_PY310_CU121, RAY_2_33_0_PY310_CU123, RAY_2_33_0_PY311, RAY_2_33_0_PY311_CU117, RAY_2_33_0_PY311_CU118, RAY_2_33_0_PY311_CU121, RAY_2_33_0_PY311_CU123, RAY_2_33_0_PY39, RAY_2_33_0_PY39_CU117, RAY_2_33_0_PY39_CU118, RAY_2_33_0_PY39_CU121, RAY_2_33_0_PY39_CU123, RAY_2_33_0_SLIM_PY310, RAY_2_33_0_SLIM_PY310_CU118, RAY_2_33_0_SLIM_PY310_CU121, RAY_2_33_0_SLIM_PY310_CU123, RAY_2_33_0_SLIM_PY311, RAY_2_33_0_SLIM_PY311_CU118, RAY_2_33_0_SLIM_PY311_CU121, RAY_2_33_0_SLIM_PY311_CU123, RAY_2_33_0_SLIM_PY39, RAY_2_33_0_SLIM_PY39_CU118, RAY_2_33_0_SLIM_PY39_CU121, RAY_2_33_0_SLIM_PY39_CU123, RAY_2_34_0_PY310, RAY_2_34_0_PY310_CU117, RAY_2_34_0_PY310_CU118, RAY_2_34_0_PY310_CU121, RAY_2_34_0_PY310_CU123, RAY_2_34_0_PY311, RAY_2_34_0_PY311_CU117, RAY_2_34_0_PY311_CU118, RAY_2_34_0_PY311_CU121, RAY_2_34_0_PY311_CU123, RAY_2_34_0_PY39, RAY_2_34_0_PY39_CU117, RAY_2_34_0_PY39_CU118, RAY_2_34_0_PY39_CU121, RAY_2_34_0_PY39_CU123, RAY_2_34_0_SLIM_PY310, RAY_2_34_0_SLIM_PY310_CU118, RAY_2_34_0_SLIM_PY310_CU121, RAY_2_34_0_SLIM_PY310_CU123, RAY_2_34_0_SLIM_PY311, RAY_2_34_0_SLIM_PY311_CU118, RAY_2_34_0_SLIM_PY311_CU121, RAY_2_34_0_SLIM_PY311_CU123, RAY_2_34_0_SLIM_PY39, RAY_2_34_0_SLIM_PY39_CU118, RAY_2_34_0_SLIM_PY39_CU121, RAY_2_34_0_SLIM_PY39_CU123, RAY_2_35_0_PY310, RAY_2_35_0_PY310_CU117, RAY_2_35_0_PY310_CU118, RAY_2_35_0_PY310_CU121, RAY_2_35_0_PY310_CU123, RAY_2_35_0_PY311, RAY_2_35_0_PY311_CU117, RAY_2_35_0_PY311_CU118, RAY_2_35_0_PY311_CU121, RAY_2_35_0_PY311_CU123, RAY_2_35_0_PY312, RAY_2_35_0_PY312_CU117, RAY_2_35_0_PY312_CU118, RAY_2_35_0_PY312_CU121, RAY_2_35_0_PY312_CU123, RAY_2_35_0_PY39, RAY_2_35_0_PY39_CU117, RAY_2_35_0_PY39_CU118, RAY_2_35_0_PY39_CU121, RAY_2_35_0_PY39_CU123, RAY_2_35_0_SLIM_PY310, RAY_2_35_0_SLIM_PY310_CU118, RAY_2_35_0_SLIM_PY310_CU121, RAY_2_35_0_SLIM_PY310_CU123, RAY_2_35_0_SLIM_PY311, RAY_2_35_0_SLIM_PY311_CU118, RAY_2_35_0_SLIM_PY311_CU121, RAY_2_35_0_SLIM_PY311_CU123, RAY_2_35_0_SLIM_PY312, RAY_2_35_0_SLIM_PY312_CU118, RAY_2_35_0_SLIM_PY312_CU121, RAY_2_35_0_SLIM_PY312_CU123, RAY_2_35_0_SLIM_PY39, RAY_2_35_0_SLIM_PY39_CU118, RAY_2_35_0_SLIM_PY39_CU121, RAY_2_35_0_SLIM_PY39_CU123, RAY_2_36_0_PY310, RAY_2_36_0_PY310_CU117, RAY_2_36_0_PY310_CU118, RAY_2_36_0_PY310_CU121, RAY_2_36_0_PY310_CU123, RAY_2_36_0_PY311, RAY_2_36_0_PY311_CU117, RAY_2_36_0_PY311_CU118, RAY_2_36_0_PY311_CU121, RAY_2_36_0_PY311_CU123, RAY_2_36_0_PY312, RAY_2_36_0_PY312_CU117, RAY_2_36_0_PY312_CU118, RAY_2_36_0_PY312_CU121, RAY_2_36_0_PY312_CU123, RAY_2_36_0_PY39, RAY_2_36_0_PY39_CU117, RAY_2_36_0_PY39_CU118, RAY_2_36_0_PY39_CU121, RAY_2_36_0_PY39_CU123, RAY_2_36_0_SLIM_PY310, RAY_2_36_0_SLIM_PY310_CU118, RAY_2_36_0_SLIM_PY310_CU121, RAY_2_36_0_SLIM_PY310_CU123, RAY_2_36_0_SLIM_PY311, RAY_2_36_0_SLIM_PY311_CU118, RAY_2_36_0_SLIM_PY311_CU121, RAY_2_36_0_SLIM_PY311_CU123, RAY_2_36_0_SLIM_PY312, RAY_2_36_0_SLIM_PY312_CU118, RAY_2_36_0_SLIM_PY312_CU121, RAY_2_36_0_SLIM_PY312_CU123, RAY_2_36_0_SLIM_PY39, RAY_2_36_0_SLIM_PY39_CU118, RAY_2_36_0_SLIM_PY39_CU121, RAY_2_36_0_SLIM_PY39_CU123, RAY_2_36_1_PY310, RAY_2_36_1_PY310_CU117, RAY_2_36_1_PY310_CU118, RAY_2_36_1_PY310_CU121, RAY_2_36_1_PY310_CU123, RAY_2_36_1_PY311, RAY_2_36_1_PY311_CU117, RAY_2_36_1_PY311_CU118, RAY_2_36_1_PY311_CU121, RAY_2_36_1_PY311_CU123, RAY_2_36_1_PY312, RAY_2_36_1_PY312_CU117, RAY_2_36_1_PY312_CU118, RAY_2_36_1_PY312_CU121, RAY_2_36_1_PY312_CU123, RAY_2_36_1_PY39, RAY_2_36_1_PY39_CU117, RAY_2_36_1_PY39_CU118, RAY_2_36_1_PY39_CU121, RAY_2_36_1_PY39_CU123, RAY_2_36_1_SLIM_PY310, RAY_2_36_1_SLIM_PY310_CU118, RAY_2_36_1_SLIM_PY310_CU121, RAY_2_36_1_SLIM_PY310_CU123, RAY_2_36_1_SLIM_PY311, RAY_2_36_1_SLIM_PY311_CU118, RAY_2_36_1_SLIM_PY311_CU121, RAY_2_36_1_SLIM_PY311_CU123, RAY_2_36_1_SLIM_PY312, RAY_2_36_1_SLIM_PY312_CU118, RAY_2_36_1_SLIM_PY312_CU121, RAY_2_36_1_SLIM_PY312_CU123, RAY_2_36_1_SLIM_PY39, RAY_2_36_1_SLIM_PY39_CU118, RAY_2_36_1_SLIM_PY39_CU121, RAY_2_36_1_SLIM_PY39_CU123, RAY_2_37_0_PY310, RAY_2_37_0_PY310_CU117, RAY_2_37_0_PY310_CU118, RAY_2_37_0_PY310_CU121, RAY_2_37_0_PY310_CU123, RAY_2_37_0_PY311, RAY_2_37_0_PY311_CU117, RAY_2_37_0_PY311_CU118, RAY_2_37_0_PY311_CU121, RAY_2_37_0_PY311_CU123, RAY_2_37_0_PY312, RAY_2_37_0_PY312_CU117, RAY_2_37_0_PY312_CU118, RAY_2_37_0_PY312_CU121, RAY_2_37_0_PY312_CU123, RAY_2_37_0_PY39, RAY_2_37_0_PY39_CU117, RAY_2_37_0_PY39_CU118, RAY_2_37_0_PY39_CU121, RAY_2_37_0_PY39_CU123, RAY_2_37_0_SLIM_PY310, RAY_2_37_0_SLIM_PY310_CU118, RAY_2_37_0_SLIM_PY310_CU121, RAY_2_37_0_SLIM_PY310_CU123, RAY_2_37_0_SLIM_PY311, RAY_2_37_0_SLIM_PY311_CU118, RAY_2_37_0_SLIM_PY311_CU121, RAY_2_37_0_SLIM_PY311_CU123, RAY_2_37_0_SLIM_PY312, RAY_2_37_0_SLIM_PY312_CU118, RAY_2_37_0_SLIM_PY312_CU121, RAY_2_37_0_SLIM_PY312_CU123, RAY_2_37_0_SLIM_PY39, RAY_2_37_0_SLIM_PY39_CU118, RAY_2_37_0_SLIM_PY39_CU121, RAY_2_37_0_SLIM_PY39_CU123, RAY_2_38_0_PY310, RAY_2_38_0_PY310_CU117, RAY_2_38_0_PY310_CU118, RAY_2_38_0_PY310_CU121, RAY_2_38_0_PY310_CU123, RAY_2_38_0_PY311, RAY_2_38_0_PY311_CU117, RAY_2_38_0_PY311_CU118, RAY_2_38_0_PY311_CU121, RAY_2_38_0_PY311_CU123, RAY_2_38_0_PY312, RAY_2_38_0_PY312_CU117, RAY_2_38_0_PY312_CU118, RAY_2_38_0_PY312_CU121, RAY_2_38_0_PY312_CU123, RAY_2_38_0_PY39, RAY_2_38_0_PY39_CU117, RAY_2_38_0_PY39_CU118, RAY_2_38_0_PY39_CU121, RAY_2_38_0_PY39_CU123, RAY_2_38_0_SLIM_PY310, RAY_2_38_0_SLIM_PY310_CU118, RAY_2_38_0_SLIM_PY310_CU121, RAY_2_38_0_SLIM_PY310_CU123, RAY_2_38_0_SLIM_PY311, RAY_2_38_0_SLIM_PY311_CU118, RAY_2_38_0_SLIM_PY311_CU121, RAY_2_38_0_SLIM_PY311_CU123, RAY_2_38_0_SLIM_PY312, RAY_2_38_0_SLIM_PY312_CU118, RAY_2_38_0_SLIM_PY312_CU121, RAY_2_38_0_SLIM_PY312_CU123, RAY_2_38_0_SLIM_PY39, RAY_2_38_0_SLIM_PY39_CU118, RAY_2_38_0_SLIM_PY39_CU121, RAY_2_38_0_SLIM_PY39_CU123, RAY_2_39_0_PY310, RAY_2_39_0_PY310_CU117, RAY_2_39_0_PY310_CU118, RAY_2_39_0_PY310_CU121, RAY_2_39_0_PY310_CU123, RAY_2_39_0_PY311, RAY_2_39_0_PY311_CU117, RAY_2_39_0_PY311_CU118, RAY_2_39_0_PY311_CU121, RAY_2_39_0_PY311_CU123, RAY_2_39_0_PY312, RAY_2_39_0_PY312_CU117, RAY_2_39_0_PY312_CU118, RAY_2_39_0_PY312_CU121, RAY_2_39_0_PY312_CU123, RAY_2_39_0_PY39, RAY_2_39_0_PY39_CU117, RAY_2_39_0_PY39_CU118, RAY_2_39_0_PY39_CU121, RAY_2_39_0_PY39_CU123, RAY_2_39_0_SLIM_PY310, RAY_2_39_0_SLIM_PY310_CU118, RAY_2_39_0_SLIM_PY310_CU121, RAY_2_39_0_SLIM_PY310_CU123, RAY_2_39_0_SLIM_PY311, RAY_2_39_0_SLIM_PY311_CU118, RAY_2_39_0_SLIM_PY311_CU121, RAY_2_39_0_SLIM_PY311_CU123, RAY_2_39_0_SLIM_PY312, RAY_2_39_0_SLIM_PY312_CU118, RAY_2_39_0_SLIM_PY312_CU121, RAY_2_39_0_SLIM_PY312_CU123, RAY_2_39_0_SLIM_PY39, RAY_2_39_0_SLIM_PY39_CU118, RAY_2_39_0_SLIM_PY39_CU121, RAY_2_39_0_SLIM_PY39_CU123, RAY_2_4_0_PY310, RAY_2_4_0_PY310_CU101, RAY_2_4_0_PY310_CU102, RAY_2_4_0_PY310_CU110, RAY_2_4_0_PY310_CU111, RAY_2_4_0_PY310_CU112, RAY_2_4_0_PY310_CU113, RAY_2_4_0_PY310_CU116, RAY_2_4_0_PY310_CU118, RAY_2_4_0_PY37, RAY_2_4_0_PY37_CU101, RAY_2_4_0_PY37_CU102, RAY_2_4_0_PY37_CU110, RAY_2_4_0_PY37_CU111, RAY_2_4_0_PY37_CU112, RAY_2_4_0_PY37_CU113, RAY_2_4_0_PY37_CU116, RAY_2_4_0_PY37_CU118, RAY_2_4_0_PY38, RAY_2_4_0_PY38_CU101, RAY_2_4_0_PY38_CU102, RAY_2_4_0_PY38_CU110, RAY_2_4_0_PY38_CU111, RAY_2_4_0_PY38_CU112, RAY_2_4_0_PY38_CU113, RAY_2_4_0_PY38_CU116, RAY_2_4_0_PY38_CU118, RAY_2_4_0_PY39, RAY_2_4_0_PY39_CU101, RAY_2_4_0_PY39_CU102, RAY_2_4_0_PY39_CU110, RAY_2_4_0_PY39_CU111, RAY_2_4_0_PY39_CU112, RAY_2_4_0_PY39_CU113, RAY_2_4_0_PY39_CU116, RAY_2_4_0_PY39_CU118, RAY_2_40_0_PY310, RAY_2_40_0_PY310_CU117, RAY_2_40_0_PY310_CU118, RAY_2_40_0_PY310_CU121, RAY_2_40_0_PY310_CU123, RAY_2_40_0_PY311, RAY_2_40_0_PY311_CU117, RAY_2_40_0_PY311_CU118, RAY_2_40_0_PY311_CU121, RAY_2_40_0_PY311_CU123, RAY_2_40_0_PY312, RAY_2_40_0_PY312_CU117, RAY_2_40_0_PY312_CU118, RAY_2_40_0_PY312_CU121, RAY_2_40_0_PY312_CU123, RAY_2_40_0_PY39, RAY_2_40_0_PY39_CU117, RAY_2_40_0_PY39_CU118, RAY_2_40_0_PY39_CU121, RAY_2_40_0_PY39_CU123, RAY_2_40_0_SLIM_PY310, RAY_2_40_0_SLIM_PY310_CU118, RAY_2_40_0_SLIM_PY310_CU121, RAY_2_40_0_SLIM_PY310_CU123, RAY_2_40_0_SLIM_PY311, RAY_2_40_0_SLIM_PY311_CU118, RAY_2_40_0_SLIM_PY311_CU121, RAY_2_40_0_SLIM_PY311_CU123, RAY_2_40_0_SLIM_PY312, RAY_2_40_0_SLIM_PY312_CU118, RAY_2_40_0_SLIM_PY312_CU121, RAY_2_40_0_SLIM_PY312_CU123, RAY_2_40_0_SLIM_PY39, RAY_2_40_0_SLIM_PY39_CU118, RAY_2_40_0_SLIM_PY39_CU121, RAY_2_40_0_SLIM_PY39_CU123, RAY_2_5_0_PY310, RAY_2_5_0_PY310_CU101, RAY_2_5_0_PY310_CU102, RAY_2_5_0_PY310_CU110, RAY_2_5_0_PY310_CU111, RAY_2_5_0_PY310_CU112, RAY_2_5_0_PY310_CU113, RAY_2_5_0_PY310_CU116, RAY_2_5_0_PY310_CU118, RAY_2_5_0_PY37, RAY_2_5_0_PY37_CU101, RAY_2_5_0_PY37_CU102, RAY_2_5_0_PY37_CU110, RAY_2_5_0_PY37_CU111, RAY_2_5_0_PY37_CU112, RAY_2_5_0_PY37_CU113, RAY_2_5_0_PY37_CU116, RAY_2_5_0_PY37_CU118, RAY_2_5_0_PY38, RAY_2_5_0_PY38_CU101, RAY_2_5_0_PY38_CU102, RAY_2_5_0_PY38_CU110, RAY_2_5_0_PY38_CU111, RAY_2_5_0_PY38_CU112, RAY_2_5_0_PY38_CU113, RAY_2_5_0_PY38_CU116, RAY_2_5_0_PY38_CU118, RAY_2_5_0_PY39, RAY_2_5_0_PY39_CU101, RAY_2_5_0_PY39_CU102, RAY_2_5_0_PY39_CU110, RAY_2_5_0_PY39_CU111, RAY_2_5_0_PY39_CU112, RAY_2_5_0_PY39_CU113, RAY_2_5_0_PY39_CU116, RAY_2_5_0_PY39_CU118, RAY_2_5_1_PY310, RAY_2_5_1_PY310_CU101, RAY_2_5_1_PY310_CU102, RAY_2_5_1_PY310_CU110, RAY_2_5_1_PY310_CU111, RAY_2_5_1_PY310_CU112, RAY_2_5_1_PY310_CU113, RAY_2_5_1_PY310_CU116, RAY_2_5_1_PY310_CU118, RAY_2_5_1_PY37, RAY_2_5_1_PY37_CU101, RAY_2_5_1_PY37_CU102, RAY_2_5_1_PY37_CU110, RAY_2_5_1_PY37_CU111, RAY_2_5_1_PY37_CU112, RAY_2_5_1_PY37_CU113, RAY_2_5_1_PY37_CU116, RAY_2_5_1_PY37_CU118, RAY_2_5_1_PY38, RAY_2_5_1_PY38_CU101, RAY_2_5_1_PY38_CU102, RAY_2_5_1_PY38_CU110, RAY_2_5_1_PY38_CU111, RAY_2_5_1_PY38_CU112, RAY_2_5_1_PY38_CU113, RAY_2_5_1_PY38_CU116, RAY_2_5_1_PY38_CU118, RAY_2_5_1_PY39, RAY_2_5_1_PY39_CU101, RAY_2_5_1_PY39_CU102, RAY_2_5_1_PY39_CU110, RAY_2_5_1_PY39_CU111, RAY_2_5_1_PY39_CU112, RAY_2_5_1_PY39_CU113, RAY_2_5_1_PY39_CU116, RAY_2_5_1_PY39_CU118, RAY_2_6_0_PY310, RAY_2_6_0_PY310_CU115, RAY_2_6_0_PY310_CU116, RAY_2_6_0_PY310_CU117, RAY_2_6_0_PY310_CU118, RAY_2_6_0_PY37, RAY_2_6_0_PY37_CU115, RAY_2_6_0_PY37_CU116, RAY_2_6_0_PY37_CU117, RAY_2_6_0_PY37_CU118, RAY_2_6_0_PY38, RAY_2_6_0_PY38_CU115, RAY_2_6_0_PY38_CU116, RAY_2_6_0_PY38_CU117, RAY_2_6_0_PY38_CU118, RAY_2_6_0_PY39, RAY_2_6_0_PY39_CU115, RAY_2_6_0_PY39_CU116, RAY_2_6_0_PY39_CU117, RAY_2_6_0_PY39_CU118, RAY_2_6_1_PY310, RAY_2_6_1_PY310_CU115, RAY_2_6_1_PY310_CU116, RAY_2_6_1_PY310_CU117, RAY_2_6_1_PY310_CU118, RAY_2_6_1_PY37, RAY_2_6_1_PY37_CU115, RAY_2_6_1_PY37_CU116, RAY_2_6_1_PY37_CU117, RAY_2_6_1_PY37_CU118, RAY_2_6_1_PY38, RAY_2_6_1_PY38_CU115, RAY_2_6_1_PY38_CU116, RAY_2_6_1_PY38_CU117, RAY_2_6_1_PY38_CU118, RAY_2_6_1_PY39, RAY_2_6_1_PY39_CU115, RAY_2_6_1_PY39_CU116, RAY_2_6_1_PY39_CU117, RAY_2_6_1_PY39_CU118, RAY_2_6_2_PY310, RAY_2_6_2_PY310_CU115, RAY_2_6_2_PY310_CU116, RAY_2_6_2_PY310_CU117, RAY_2_6_2_PY310_CU118, RAY_2_6_2_PY37, RAY_2_6_2_PY37_CU115, RAY_2_6_2_PY37_CU116, RAY_2_6_2_PY37_CU117, RAY_2_6_2_PY37_CU118, RAY_2_6_2_PY38, RAY_2_6_2_PY38_CU115, RAY_2_6_2_PY38_CU116, RAY_2_6_2_PY38_CU117, RAY_2_6_2_PY38_CU118, RAY_2_6_2_PY39, RAY_2_6_2_PY39_CU115, RAY_2_6_2_PY39_CU116, RAY_2_6_2_PY39_CU117, RAY_2_6_2_PY39_CU118, RAY_2_6_3_PY310, RAY_2_6_3_PY310_CU115, RAY_2_6_3_PY310_CU116, RAY_2_6_3_PY310_CU117, RAY_2_6_3_PY310_CU118, RAY_2_6_3_PY37, RAY_2_6_3_PY37_CU115, RAY_2_6_3_PY37_CU116, RAY_2_6_3_PY37_CU117, RAY_2_6_3_PY37_CU118, RAY_2_6_3_PY38, RAY_2_6_3_PY38_CU115, RAY_2_6_3_PY38_CU116, RAY_2_6_3_PY38_CU117, RAY_2_6_3_PY38_CU118, RAY_2_6_3_PY39, RAY_2_6_3_PY39_CU115, RAY_2_6_3_PY39_CU116, RAY_2_6_3_PY39_CU117, RAY_2_6_3_PY39_CU118, RAY_2_7_0OPTIMIZED_PY310, RAY_2_7_0OPTIMIZED_PY310_CU115, RAY_2_7_0OPTIMIZED_PY310_CU116, RAY_2_7_0OPTIMIZED_PY310_CU117, RAY_2_7_0OPTIMIZED_PY310_CU118, RAY_2_7_0OPTIMIZED_PY310_CU121, RAY_2_7_0OPTIMIZED_PY311, RAY_2_7_0OPTIMIZED_PY311_CU115, RAY_2_7_0OPTIMIZED_PY311_CU116, RAY_2_7_0OPTIMIZED_PY311_CU117, RAY_2_7_0OPTIMIZED_PY311_CU118, RAY_2_7_0OPTIMIZED_PY311_CU121, RAY_2_7_0OPTIMIZED_PY37, RAY_2_7_0OPTIMIZED_PY37_CU115, RAY_2_7_0OPTIMIZED_PY37_CU116, RAY_2_7_0OPTIMIZED_PY37_CU117, RAY_2_7_0OPTIMIZED_PY37_CU118, RAY_2_7_0OPTIMIZED_PY37_CU121, RAY_2_7_0OPTIMIZED_PY38, RAY_2_7_0OPTIMIZED_PY38_CU115, RAY_2_7_0OPTIMIZED_PY38_CU116, RAY_2_7_0OPTIMIZED_PY38_CU117, RAY_2_7_0OPTIMIZED_PY38_CU118, RAY_2_7_0OPTIMIZED_PY38_CU121, RAY_2_7_0OPTIMIZED_PY39, RAY_2_7_0OPTIMIZED_PY39_CU115, RAY_2_7_0OPTIMIZED_PY39_CU116, RAY_2_7_0OPTIMIZED_PY39_CU117, RAY_2_7_0OPTIMIZED_PY39_CU118, RAY_2_7_0OPTIMIZED_PY39_CU121, RAY_2_7_1OPTIMIZED_PY310, RAY_2_7_1OPTIMIZED_PY310_CU115, RAY_2_7_1OPTIMIZED_PY310_CU116, RAY_2_7_1OPTIMIZED_PY310_CU117, RAY_2_7_1OPTIMIZED_PY310_CU118, RAY_2_7_1OPTIMIZED_PY310_CU121, RAY_2_7_1OPTIMIZED_PY311, RAY_2_7_1OPTIMIZED_PY311_CU115, RAY_2_7_1OPTIMIZED_PY311_CU116, RAY_2_7_1OPTIMIZED_PY311_CU117, RAY_2_7_1OPTIMIZED_PY311_CU118, RAY_2_7_1OPTIMIZED_PY311_CU121, RAY_2_7_1OPTIMIZED_PY37, RAY_2_7_1OPTIMIZED_PY37_CU115, RAY_2_7_1OPTIMIZED_PY37_CU116, RAY_2_7_1OPTIMIZED_PY37_CU117, RAY_2_7_1OPTIMIZED_PY37_CU118, RAY_2_7_1OPTIMIZED_PY37_CU121, RAY_2_7_1OPTIMIZED_PY38, RAY_2_7_1OPTIMIZED_PY38_CU115, RAY_2_7_1OPTIMIZED_PY38_CU116, RAY_2_7_1OPTIMIZED_PY38_CU117, RAY_2_7_1OPTIMIZED_PY38_CU118, RAY_2_7_1OPTIMIZED_PY38_CU121, RAY_2_7_1OPTIMIZED_PY39, RAY_2_7_1OPTIMIZED_PY39_CU115, RAY_2_7_1OPTIMIZED_PY39_CU116, RAY_2_7_1OPTIMIZED_PY39_CU117, RAY_2_7_1OPTIMIZED_PY39_CU118, RAY_2_7_1OPTIMIZED_PY39_CU121, RAY_2_7_2OPTIMIZED_PY310, RAY_2_7_2OPTIMIZED_PY310_CU115, RAY_2_7_2OPTIMIZED_PY310_CU116, RAY_2_7_2OPTIMIZED_PY310_CU117, RAY_2_7_2OPTIMIZED_PY310_CU118, RAY_2_7_2OPTIMIZED_PY310_CU121, RAY_2_7_2OPTIMIZED_PY311, RAY_2_7_2OPTIMIZED_PY311_CU115, RAY_2_7_2OPTIMIZED_PY311_CU116, RAY_2_7_2OPTIMIZED_PY311_CU117, RAY_2_7_2OPTIMIZED_PY311_CU118, RAY_2_7_2OPTIMIZED_PY311_CU121, RAY_2_7_2OPTIMIZED_PY37, RAY_2_7_2OPTIMIZED_PY37_CU115, RAY_2_7_2OPTIMIZED_PY37_CU116, RAY_2_7_2OPTIMIZED_PY37_CU117, RAY_2_7_2OPTIMIZED_PY37_CU118, RAY_2_7_2OPTIMIZED_PY37_CU121, RAY_2_7_2OPTIMIZED_PY38, RAY_2_7_2OPTIMIZED_PY38_CU115, RAY_2_7_2OPTIMIZED_PY38_CU116, RAY_2_7_2OPTIMIZED_PY38_CU117, RAY_2_7_2OPTIMIZED_PY38_CU118, RAY_2_7_2OPTIMIZED_PY38_CU121, RAY_2_7_2OPTIMIZED_PY39, RAY_2_7_2OPTIMIZED_PY39_CU115, RAY_2_7_2OPTIMIZED_PY39_CU116, RAY_2_7_2OPTIMIZED_PY39_CU117, RAY_2_7_2OPTIMIZED_PY39_CU118, RAY_2_7_2OPTIMIZED_PY39_CU121, RAY_2_8_0_PY310, RAY_2_8_0_PY310_CU115, RAY_2_8_0_PY310_CU116, RAY_2_8_0_PY310_CU117, RAY_2_8_0_PY310_CU118, RAY_2_8_0_PY310_CU121, RAY_2_8_0_PY311, RAY_2_8_0_PY311_CU115, RAY_2_8_0_PY311_CU116, RAY_2_8_0_PY311_CU117, RAY_2_8_0_PY311_CU118, RAY_2_8_0_PY311_CU121, RAY_2_8_0_PY38, RAY_2_8_0_PY38_CU115, RAY_2_8_0_PY38_CU116, RAY_2_8_0_PY38_CU117, RAY_2_8_0_PY38_CU118, RAY_2_8_0_PY38_CU121, RAY_2_8_0_PY39, RAY_2_8_0_PY39_CU115, RAY_2_8_0_PY39_CU116, RAY_2_8_0_PY39_CU117, RAY_2_8_0_PY39_CU118, RAY_2_8_0_PY39_CU121, RAY_2_8_1_PY310, RAY_2_8_1_PY310_CU115, RAY_2_8_1_PY310_CU116, RAY_2_8_1_PY310_CU117, RAY_2_8_1_PY310_CU118, RAY_2_8_1_PY310_CU121, RAY_2_8_1_PY311, RAY_2_8_1_PY311_CU115, RAY_2_8_1_PY311_CU116, RAY_2_8_1_PY311_CU117, RAY_2_8_1_PY311_CU118, RAY_2_8_1_PY311_CU121, RAY_2_8_1_PY38, RAY_2_8_1_PY38_CU115, RAY_2_8_1_PY38_CU116, RAY_2_8_1_PY38_CU117, RAY_2_8_1_PY38_CU118, RAY_2_8_1_PY38_CU121, RAY_2_8_1_PY39, RAY_2_8_1_PY39_CU115, RAY_2_8_1_PY39_CU116, RAY_2_8_1_PY39_CU117, RAY_2_8_1_PY39_CU118, RAY_2_8_1_PY39_CU121, RAY_2_9_0_PY310, RAY_2_9_0_PY310_CU115, RAY_2_9_0_PY310_CU116, RAY_2_9_0_PY310_CU117, RAY_2_9_0_PY310_CU118, RAY_2_9_0_PY310_CU121, RAY_2_9_0_PY311, RAY_2_9_0_PY311_CU115, RAY_2_9_0_PY311_CU116, RAY_2_9_0_PY311_CU117, RAY_2_9_0_PY311_CU118, RAY_2_9_0_PY311_CU121, RAY_2_9_0_PY38, RAY_2_9_0_PY38_CU115, RAY_2_9_0_PY38_CU116, RAY_2_9_0_PY38_CU117, RAY_2_9_0_PY38_CU118, RAY_2_9_0_PY38_CU121, RAY_2_9_0_PY39, RAY_2_9_0_PY39_CU115, RAY_2_9_0_PY39_CU116, RAY_2_9_0_PY39_CU117, RAY_2_9_0_PY39_CU118, RAY_2_9_0_PY39_CU121, RAY_2_9_1_PY310, RAY_2_9_1_PY310_CU115, RAY_2_9_1_PY310_CU116, RAY_2_9_1_PY310_CU117, RAY_2_9_1_PY310_CU118, RAY_2_9_1_PY310_CU121, RAY_2_9_1_PY311, RAY_2_9_1_PY311_CU115, RAY_2_9_1_PY311_CU116, RAY_2_9_1_PY311_CU117, RAY_2_9_1_PY311_CU118, RAY_2_9_1_PY311_CU121, RAY_2_9_1_PY38, RAY_2_9_1_PY38_CU115, RAY_2_9_1_PY38_CU116, RAY_2_9_1_PY38_CU117, RAY_2_9_1_PY38_CU118, RAY_2_9_1_PY38_CU121, RAY_2_9_1_PY39, RAY_2_9_1_PY39_CU115, RAY_2_9_1_PY39_CU116, RAY_2_9_1_PY39_CU117, RAY_2_9_1_PY39_CU118, RAY_2_9_1_PY39_CU121, RAY_2_9_2_PY310, RAY_2_9_2_PY310_CU115, RAY_2_9_2_PY310_CU116, RAY_2_9_2_PY310_CU117, RAY_2_9_2_PY310_CU118, RAY_2_9_2_PY310_CU121, RAY_2_9_2_PY311, RAY_2_9_2_PY311_CU115, RAY_2_9_2_PY311_CU116, RAY_2_9_2_PY311_CU117, RAY_2_9_2_PY311_CU118, RAY_2_9_2_PY311_CU121, RAY_2_9_2_PY38, RAY_2_9_2_PY38_CU115, RAY_2_9_2_PY38_CU116, RAY_2_9_2_PY38_CU117, RAY_2_9_2_PY38_CU118, RAY_2_9_2_PY38_CU121, RAY_2_9_2_PY39, RAY_2_9_2_PY39_CU115, RAY_2_9_2_PY39_CU116, RAY_2_9_2_PY39_CU117, RAY_2_9_2_PY39_CU118, RAY_2_9_2_PY39_CU121, RAY_2_9_3_PY310, RAY_2_9_3_PY310_CU115, RAY_2_9_3_PY310_CU116, RAY_2_9_3_PY310_CU117, RAY_2_9_3_PY310_CU118, RAY_2_9_3_PY310_CU121, RAY_2_9_3_PY311, RAY_2_9_3_PY311_CU115, RAY_2_9_3_PY311_CU116, RAY_2_9_3_PY311_CU117, RAY_2_9_3_PY311_CU118, RAY_2_9_3_PY311_CU121, RAY_2_9_3_PY38, RAY_2_9_3_PY38_CU115, RAY_2_9_3_PY38_CU116, RAY_2_9_3_PY38_CU117, RAY_2_9_3_PY38_CU118, RAY_2_9_3_PY38_CU121, RAY_2_9_3_PY39, RAY_2_9_3_PY39_CU115, RAY_2_9_3_PY39_CU116, RAY_2_9_3_PY39_CU117, RAY_2_9_3_PY39_CU118, RAY_2_9_3_PY39_CU121, RAY_NIGHTLY_PY310, RAY_NIGHTLY_PY310_CU117, RAY_NIGHTLY_PY310_CU118, RAY_NIGHTLY_PY310_CU121, RAY_NIGHTLY_PY310_CU123, RAY_NIGHTLY_PY311, RAY_NIGHTLY_PY311_CU117, RAY_NIGHTLY_PY311_CU118, RAY_NIGHTLY_PY311_CU121, RAY_NIGHTLY_PY311_CU123, RAY_NIGHTLY_PY312, RAY_NIGHTLY_PY312_CU117, RAY_NIGHTLY_PY312_CU118, RAY_NIGHTLY_PY312_CU121, RAY_NIGHTLY_PY312_CU123, RAY_NIGHTLY_PY37, RAY_NIGHTLY_PY37_CU117, RAY_NIGHTLY_PY37_CU118, RAY_NIGHTLY_PY37_CU121, RAY_NIGHTLY_PY37_CU123, RAY_NIGHTLY_PY38, RAY_NIGHTLY_PY38_CU117, RAY_NIGHTLY_PY38_CU118, RAY_NIGHTLY_PY38_CU121, RAY_NIGHTLY_PY38_CU123, RAY_NIGHTLY_PY39, RAY_NIGHTLY_PY39_CU117, RAY_NIGHTLY_PY39_CU118, RAY_NIGHTLY_PY39_CU121, RAY_NIGHTLY_PY39_CU123] # noqa: E501
1546
+ allowable_values = [RAY_ML_2_0_0_PY37_CPU, RAY_ML_2_0_0_PY37_GPU, RAY_ML_2_0_0_PY38_CPU, RAY_ML_2_0_0_PY38_GPU, RAY_ML_2_0_1_PY37_CPU, RAY_ML_2_0_1_PY37_GPU, RAY_ML_2_0_1_PY38_CPU, RAY_ML_2_0_1_PY38_GPU, RAY_ML_2_1_0_PY37_CPU, RAY_ML_2_1_0_PY37_GPU, RAY_ML_2_1_0_PY38_CPU, RAY_ML_2_1_0_PY38_GPU, RAY_ML_2_10_0_PY310_CPU, RAY_ML_2_10_0_PY310_GPU, RAY_ML_2_10_0_PY38_CPU, RAY_ML_2_10_0_PY38_GPU, RAY_ML_2_10_0_PY39_CPU, RAY_ML_2_10_0_PY39_GPU, RAY_ML_2_11_0_PY310_CPU, RAY_ML_2_11_0_PY310_GPU, RAY_ML_2_11_0_PY311_CPU, RAY_ML_2_11_0_PY311_GPU, RAY_ML_2_11_0_PY39_CPU, RAY_ML_2_11_0_PY39_GPU, RAY_ML_2_12_0_PY310_CPU, RAY_ML_2_12_0_PY310_GPU, RAY_ML_2_12_0_PY311_CPU, RAY_ML_2_12_0_PY311_GPU, RAY_ML_2_12_0_PY39_CPU, RAY_ML_2_12_0_PY39_GPU, RAY_ML_2_2_0_PY310_CPU, RAY_ML_2_2_0_PY310_GPU, RAY_ML_2_2_0_PY37_CPU, RAY_ML_2_2_0_PY37_GPU, RAY_ML_2_2_0_PY38_CPU, RAY_ML_2_2_0_PY38_GPU, RAY_ML_2_2_0_PY39_CPU, RAY_ML_2_2_0_PY39_GPU, RAY_ML_2_20_0_PY310_CPU, RAY_ML_2_20_0_PY310_GPU, RAY_ML_2_20_0_PY311_CPU, RAY_ML_2_20_0_PY311_GPU, RAY_ML_2_20_0_PY39_CPU, RAY_ML_2_20_0_PY39_GPU, RAY_ML_2_21_0_PY310_CPU, RAY_ML_2_21_0_PY310_GPU, RAY_ML_2_21_0_PY311_CPU, RAY_ML_2_21_0_PY311_GPU, RAY_ML_2_21_0_PY39_CPU, RAY_ML_2_21_0_PY39_GPU, RAY_ML_2_22_0_PY310_CPU, RAY_ML_2_22_0_PY310_GPU, RAY_ML_2_22_0_PY311_CPU, RAY_ML_2_22_0_PY311_GPU, RAY_ML_2_22_0_PY39_CPU, RAY_ML_2_22_0_PY39_GPU, RAY_ML_2_23_0_PY310_CPU, RAY_ML_2_23_0_PY310_GPU, RAY_ML_2_23_0_PY311_CPU, RAY_ML_2_23_0_PY311_GPU, RAY_ML_2_23_0_PY39_CPU, RAY_ML_2_23_0_PY39_GPU, RAY_ML_2_24_0_PY310_CPU, RAY_ML_2_24_0_PY310_GPU, RAY_ML_2_24_0_PY311_CPU, RAY_ML_2_24_0_PY311_GPU, RAY_ML_2_24_0_PY39_CPU, RAY_ML_2_24_0_PY39_GPU, RAY_ML_2_3_0_PY310_CPU, RAY_ML_2_3_0_PY310_GPU, RAY_ML_2_3_0_PY37_CPU, RAY_ML_2_3_0_PY37_GPU, RAY_ML_2_3_0_PY38_CPU, RAY_ML_2_3_0_PY38_GPU, RAY_ML_2_3_0_PY39_CPU, RAY_ML_2_3_0_PY39_GPU, RAY_ML_2_3_1_PY310_CPU, RAY_ML_2_3_1_PY310_GPU, RAY_ML_2_3_1_PY37_CPU, RAY_ML_2_3_1_PY37_GPU, RAY_ML_2_3_1_PY38_CPU, RAY_ML_2_3_1_PY38_GPU, RAY_ML_2_3_1_PY39_CPU, RAY_ML_2_3_1_PY39_GPU, RAY_ML_2_30_0_PY310_CPU, RAY_ML_2_30_0_PY310_GPU, RAY_ML_2_30_0_PY311_CPU, RAY_ML_2_30_0_PY311_GPU, RAY_ML_2_30_0_PY39_CPU, RAY_ML_2_30_0_PY39_GPU, RAY_ML_2_31_0_PY310_CPU, RAY_ML_2_31_0_PY310_GPU, RAY_ML_2_31_0_PY311_CPU, RAY_ML_2_31_0_PY311_GPU, RAY_ML_2_31_0_PY39_CPU, RAY_ML_2_31_0_PY39_GPU, RAY_ML_2_32_0_PY310_CPU, RAY_ML_2_32_0_PY310_GPU, RAY_ML_2_32_0_PY311_CPU, RAY_ML_2_32_0_PY311_GPU, RAY_ML_2_32_0_PY39_CPU, RAY_ML_2_32_0_PY39_GPU, RAY_ML_2_33_0_PY310_CPU, RAY_ML_2_33_0_PY310_GPU, RAY_ML_2_33_0_PY311_CPU, RAY_ML_2_33_0_PY311_GPU, RAY_ML_2_33_0_PY39_CPU, RAY_ML_2_33_0_PY39_GPU, RAY_ML_2_34_0_PY310_CPU, RAY_ML_2_34_0_PY310_GPU, RAY_ML_2_34_0_PY311_CPU, RAY_ML_2_34_0_PY311_GPU, RAY_ML_2_34_0_PY39_CPU, RAY_ML_2_34_0_PY39_GPU, RAY_ML_2_35_0_PY310_CPU, RAY_ML_2_35_0_PY310_GPU, RAY_ML_2_35_0_PY311_CPU, RAY_ML_2_35_0_PY311_GPU, RAY_ML_2_35_0_PY39_CPU, RAY_ML_2_35_0_PY39_GPU, RAY_ML_2_36_0_PY310_CPU, RAY_ML_2_36_0_PY310_GPU, RAY_ML_2_36_0_PY311_CPU, RAY_ML_2_36_0_PY311_GPU, RAY_ML_2_36_0_PY39_CPU, RAY_ML_2_36_0_PY39_GPU, RAY_ML_2_36_1_PY310_CPU, RAY_ML_2_36_1_PY310_GPU, RAY_ML_2_36_1_PY311_CPU, RAY_ML_2_36_1_PY311_GPU, RAY_ML_2_36_1_PY39_CPU, RAY_ML_2_36_1_PY39_GPU, RAY_ML_2_37_0_PY310_CPU, RAY_ML_2_37_0_PY310_GPU, RAY_ML_2_37_0_PY311_CPU, RAY_ML_2_37_0_PY311_GPU, RAY_ML_2_37_0_PY39_CPU, RAY_ML_2_37_0_PY39_GPU, RAY_ML_2_38_0_PY310_CPU, RAY_ML_2_38_0_PY310_GPU, RAY_ML_2_38_0_PY311_CPU, RAY_ML_2_38_0_PY311_GPU, RAY_ML_2_38_0_PY39_CPU, RAY_ML_2_38_0_PY39_GPU, RAY_ML_2_39_0_PY310_CPU, RAY_ML_2_39_0_PY310_GPU, RAY_ML_2_39_0_PY311_CPU, RAY_ML_2_39_0_PY311_GPU, RAY_ML_2_39_0_PY39_CPU, RAY_ML_2_39_0_PY39_GPU, RAY_ML_2_4_0_PY310_CPU, RAY_ML_2_4_0_PY310_GPU, RAY_ML_2_4_0_PY37_CPU, RAY_ML_2_4_0_PY37_GPU, RAY_ML_2_4_0_PY38_CPU, RAY_ML_2_4_0_PY38_GPU, RAY_ML_2_4_0_PY39_CPU, RAY_ML_2_4_0_PY39_GPU, RAY_ML_2_40_0_PY310_CPU, RAY_ML_2_40_0_PY310_GPU, RAY_ML_2_40_0_PY311_CPU, RAY_ML_2_40_0_PY311_GPU, RAY_ML_2_40_0_PY39_CPU, RAY_ML_2_40_0_PY39_GPU, RAY_ML_2_41_0_PY310_CPU, RAY_ML_2_41_0_PY310_GPU, RAY_ML_2_41_0_PY311_CPU, RAY_ML_2_41_0_PY311_GPU, RAY_ML_2_41_0_PY39_CPU, RAY_ML_2_41_0_PY39_GPU, RAY_ML_2_5_0_PY310_CPU, RAY_ML_2_5_0_PY310_GPU, RAY_ML_2_5_0_PY37_CPU, RAY_ML_2_5_0_PY37_GPU, RAY_ML_2_5_0_PY38_CPU, RAY_ML_2_5_0_PY38_GPU, RAY_ML_2_5_0_PY39_CPU, RAY_ML_2_5_0_PY39_GPU, RAY_ML_2_5_1_PY310_CPU, RAY_ML_2_5_1_PY310_GPU, RAY_ML_2_5_1_PY37_CPU, RAY_ML_2_5_1_PY37_GPU, RAY_ML_2_5_1_PY38_CPU, RAY_ML_2_5_1_PY38_GPU, RAY_ML_2_5_1_PY39_CPU, RAY_ML_2_5_1_PY39_GPU, RAY_ML_2_6_0_PY310_CPU, RAY_ML_2_6_0_PY310_GPU, RAY_ML_2_6_0_PY38_CPU, RAY_ML_2_6_0_PY38_GPU, RAY_ML_2_6_0_PY39_CPU, RAY_ML_2_6_0_PY39_GPU, RAY_ML_2_6_1_PY310_CPU, RAY_ML_2_6_1_PY310_GPU, RAY_ML_2_6_1_PY38_CPU, RAY_ML_2_6_1_PY38_GPU, RAY_ML_2_6_1_PY39_CPU, RAY_ML_2_6_1_PY39_GPU, RAY_ML_2_6_2_PY310_CPU, RAY_ML_2_6_2_PY310_GPU, RAY_ML_2_6_2_PY38_CPU, RAY_ML_2_6_2_PY38_GPU, RAY_ML_2_6_2_PY39_CPU, RAY_ML_2_6_2_PY39_GPU, RAY_ML_2_6_3_PY310_CPU, RAY_ML_2_6_3_PY310_GPU, RAY_ML_2_6_3_PY38_CPU, RAY_ML_2_6_3_PY38_GPU, RAY_ML_2_6_3_PY39_CPU, RAY_ML_2_6_3_PY39_GPU, RAY_ML_2_7_0OPTIMIZED_PY310_CPU, RAY_ML_2_7_0OPTIMIZED_PY310_GPU, RAY_ML_2_7_0OPTIMIZED_PY38_CPU, RAY_ML_2_7_0OPTIMIZED_PY38_GPU, RAY_ML_2_7_0OPTIMIZED_PY39_CPU, RAY_ML_2_7_0OPTIMIZED_PY39_GPU, RAY_ML_2_7_1OPTIMIZED_PY310_CPU, RAY_ML_2_7_1OPTIMIZED_PY310_GPU, RAY_ML_2_7_1OPTIMIZED_PY38_CPU, RAY_ML_2_7_1OPTIMIZED_PY38_GPU, RAY_ML_2_7_1OPTIMIZED_PY39_CPU, RAY_ML_2_7_1OPTIMIZED_PY39_GPU, RAY_ML_2_7_2OPTIMIZED_PY310_CPU, RAY_ML_2_7_2OPTIMIZED_PY310_GPU, RAY_ML_2_7_2OPTIMIZED_PY38_CPU, RAY_ML_2_7_2OPTIMIZED_PY38_GPU, RAY_ML_2_7_2OPTIMIZED_PY39_CPU, RAY_ML_2_7_2OPTIMIZED_PY39_GPU, RAY_ML_2_8_0_PY310_CPU, RAY_ML_2_8_0_PY310_GPU, RAY_ML_2_8_0_PY38_CPU, RAY_ML_2_8_0_PY38_GPU, RAY_ML_2_8_0_PY39_CPU, RAY_ML_2_8_0_PY39_GPU, RAY_ML_2_8_1_PY310_CPU, RAY_ML_2_8_1_PY310_GPU, RAY_ML_2_8_1_PY38_CPU, RAY_ML_2_8_1_PY38_GPU, RAY_ML_2_8_1_PY39_CPU, RAY_ML_2_8_1_PY39_GPU, RAY_ML_2_9_0_PY310_CPU, RAY_ML_2_9_0_PY310_GPU, RAY_ML_2_9_0_PY38_CPU, RAY_ML_2_9_0_PY38_GPU, RAY_ML_2_9_0_PY39_CPU, RAY_ML_2_9_0_PY39_GPU, RAY_ML_2_9_1_PY310_CPU, RAY_ML_2_9_1_PY310_GPU, RAY_ML_2_9_1_PY38_CPU, RAY_ML_2_9_1_PY38_GPU, RAY_ML_2_9_1_PY39_CPU, RAY_ML_2_9_1_PY39_GPU, RAY_ML_2_9_2_PY310_CPU, RAY_ML_2_9_2_PY310_GPU, RAY_ML_2_9_2_PY38_CPU, RAY_ML_2_9_2_PY38_GPU, RAY_ML_2_9_2_PY39_CPU, RAY_ML_2_9_2_PY39_GPU, RAY_ML_2_9_3_PY310_CPU, RAY_ML_2_9_3_PY310_GPU, RAY_ML_2_9_3_PY38_CPU, RAY_ML_2_9_3_PY38_GPU, RAY_ML_2_9_3_PY39_CPU, RAY_ML_2_9_3_PY39_GPU, RAY_ML_NIGHTLY_PY310_GPU, RAY_ML_NIGHTLY_PY311_GPU, RAY_ML_NIGHTLY_PY312_GPU, RAY_ML_NIGHTLY_PY37_GPU, RAY_ML_NIGHTLY_PY38_GPU, RAY_ML_NIGHTLY_PY39_GPU, RAY_2_0_0_PY310, RAY_2_0_0_PY37, RAY_2_0_0_PY37_CU101, RAY_2_0_0_PY37_CU102, RAY_2_0_0_PY37_CU110, RAY_2_0_0_PY37_CU111, RAY_2_0_0_PY37_CU112, RAY_2_0_0_PY37_CU113, RAY_2_0_0_PY38, RAY_2_0_0_PY38_CU101, RAY_2_0_0_PY38_CU102, RAY_2_0_0_PY38_CU110, RAY_2_0_0_PY38_CU111, RAY_2_0_0_PY38_CU112, RAY_2_0_0_PY38_CU113, RAY_2_0_0_PY39, RAY_2_0_0_PY39_CU101, RAY_2_0_0_PY39_CU102, RAY_2_0_0_PY39_CU110, RAY_2_0_0_PY39_CU111, RAY_2_0_0_PY39_CU112, RAY_2_0_0_PY39_CU113, RAY_2_0_1_PY310, RAY_2_0_1_PY37, RAY_2_0_1_PY37_CU101, RAY_2_0_1_PY37_CU102, RAY_2_0_1_PY37_CU110, RAY_2_0_1_PY37_CU111, RAY_2_0_1_PY37_CU112, RAY_2_0_1_PY37_CU113, RAY_2_0_1_PY37_CU116, RAY_2_0_1_PY38, RAY_2_0_1_PY38_CU101, RAY_2_0_1_PY38_CU102, RAY_2_0_1_PY38_CU110, RAY_2_0_1_PY38_CU111, RAY_2_0_1_PY38_CU112, RAY_2_0_1_PY38_CU113, RAY_2_0_1_PY38_CU116, RAY_2_0_1_PY39, RAY_2_0_1_PY39_CU101, RAY_2_0_1_PY39_CU102, RAY_2_0_1_PY39_CU110, RAY_2_0_1_PY39_CU111, RAY_2_0_1_PY39_CU112, RAY_2_0_1_PY39_CU113, RAY_2_0_1_PY39_CU116, RAY_2_1_0_PY310, RAY_2_1_0_PY310_CU101, RAY_2_1_0_PY310_CU102, RAY_2_1_0_PY310_CU110, RAY_2_1_0_PY310_CU111, RAY_2_1_0_PY310_CU112, RAY_2_1_0_PY310_CU113, RAY_2_1_0_PY310_CU116, RAY_2_1_0_PY37, RAY_2_1_0_PY37_CU101, RAY_2_1_0_PY37_CU102, RAY_2_1_0_PY37_CU110, RAY_2_1_0_PY37_CU111, RAY_2_1_0_PY37_CU112, RAY_2_1_0_PY37_CU113, RAY_2_1_0_PY37_CU116, RAY_2_1_0_PY38, RAY_2_1_0_PY38_CU101, RAY_2_1_0_PY38_CU102, RAY_2_1_0_PY38_CU110, RAY_2_1_0_PY38_CU111, RAY_2_1_0_PY38_CU112, RAY_2_1_0_PY38_CU113, RAY_2_1_0_PY38_CU116, RAY_2_1_0_PY39, RAY_2_1_0_PY39_CU101, RAY_2_1_0_PY39_CU102, RAY_2_1_0_PY39_CU110, RAY_2_1_0_PY39_CU111, RAY_2_1_0_PY39_CU112, RAY_2_1_0_PY39_CU113, RAY_2_1_0_PY39_CU116, RAY_2_10_0_PY310, RAY_2_10_0_PY310_CU115, RAY_2_10_0_PY310_CU116, RAY_2_10_0_PY310_CU117, RAY_2_10_0_PY310_CU118, RAY_2_10_0_PY310_CU121, RAY_2_10_0_PY311, RAY_2_10_0_PY311_CU115, RAY_2_10_0_PY311_CU116, RAY_2_10_0_PY311_CU117, RAY_2_10_0_PY311_CU118, RAY_2_10_0_PY311_CU121, RAY_2_10_0_PY38, RAY_2_10_0_PY38_CU115, RAY_2_10_0_PY38_CU116, RAY_2_10_0_PY38_CU117, RAY_2_10_0_PY38_CU118, RAY_2_10_0_PY38_CU121, RAY_2_10_0_PY39, RAY_2_10_0_PY39_CU115, RAY_2_10_0_PY39_CU116, RAY_2_10_0_PY39_CU117, RAY_2_10_0_PY39_CU118, RAY_2_10_0_PY39_CU121, RAY_2_11_0_PY310, RAY_2_11_0_PY310_CU115, RAY_2_11_0_PY310_CU116, RAY_2_11_0_PY310_CU117, RAY_2_11_0_PY310_CU118, RAY_2_11_0_PY310_CU121, RAY_2_11_0_PY311, RAY_2_11_0_PY311_CU115, RAY_2_11_0_PY311_CU116, RAY_2_11_0_PY311_CU117, RAY_2_11_0_PY311_CU118, RAY_2_11_0_PY311_CU121, RAY_2_11_0_PY39, RAY_2_11_0_PY39_CU115, RAY_2_11_0_PY39_CU116, RAY_2_11_0_PY39_CU117, RAY_2_11_0_PY39_CU118, RAY_2_11_0_PY39_CU121, RAY_2_12_0_PY310, RAY_2_12_0_PY310_CU115, RAY_2_12_0_PY310_CU116, RAY_2_12_0_PY310_CU117, RAY_2_12_0_PY310_CU118, RAY_2_12_0_PY310_CU121, RAY_2_12_0_PY311, RAY_2_12_0_PY311_CU115, RAY_2_12_0_PY311_CU116, RAY_2_12_0_PY311_CU117, RAY_2_12_0_PY311_CU118, RAY_2_12_0_PY311_CU121, RAY_2_12_0_PY39, RAY_2_12_0_PY39_CU115, RAY_2_12_0_PY39_CU116, RAY_2_12_0_PY39_CU117, RAY_2_12_0_PY39_CU118, RAY_2_12_0_PY39_CU121, RAY_2_2_0_PY310, RAY_2_2_0_PY310_CU101, RAY_2_2_0_PY310_CU102, RAY_2_2_0_PY310_CU110, RAY_2_2_0_PY310_CU111, RAY_2_2_0_PY310_CU112, RAY_2_2_0_PY310_CU113, RAY_2_2_0_PY310_CU116, RAY_2_2_0_PY37, RAY_2_2_0_PY37_CU101, RAY_2_2_0_PY37_CU102, RAY_2_2_0_PY37_CU110, RAY_2_2_0_PY37_CU111, RAY_2_2_0_PY37_CU112, RAY_2_2_0_PY37_CU113, RAY_2_2_0_PY37_CU116, RAY_2_2_0_PY38, RAY_2_2_0_PY38_CU101, RAY_2_2_0_PY38_CU102, RAY_2_2_0_PY38_CU110, RAY_2_2_0_PY38_CU111, RAY_2_2_0_PY38_CU112, RAY_2_2_0_PY38_CU113, RAY_2_2_0_PY38_CU116, RAY_2_2_0_PY39, RAY_2_2_0_PY39_CU101, RAY_2_2_0_PY39_CU102, RAY_2_2_0_PY39_CU110, RAY_2_2_0_PY39_CU111, RAY_2_2_0_PY39_CU112, RAY_2_2_0_PY39_CU113, RAY_2_2_0_PY39_CU116, RAY_2_20_0_PY310, RAY_2_20_0_PY310_CU115, RAY_2_20_0_PY310_CU116, RAY_2_20_0_PY310_CU117, RAY_2_20_0_PY310_CU118, RAY_2_20_0_PY310_CU121, RAY_2_20_0_PY311, RAY_2_20_0_PY311_CU115, RAY_2_20_0_PY311_CU116, RAY_2_20_0_PY311_CU117, RAY_2_20_0_PY311_CU118, RAY_2_20_0_PY311_CU121, RAY_2_20_0_PY39, RAY_2_20_0_PY39_CU115, RAY_2_20_0_PY39_CU116, RAY_2_20_0_PY39_CU117, RAY_2_20_0_PY39_CU118, RAY_2_20_0_PY39_CU121, RAY_2_21_0_PY310, RAY_2_21_0_PY310_CU115, RAY_2_21_0_PY310_CU116, RAY_2_21_0_PY310_CU117, RAY_2_21_0_PY310_CU118, RAY_2_21_0_PY310_CU121, RAY_2_21_0_PY311, RAY_2_21_0_PY311_CU115, RAY_2_21_0_PY311_CU116, RAY_2_21_0_PY311_CU117, RAY_2_21_0_PY311_CU118, RAY_2_21_0_PY311_CU121, RAY_2_21_0_PY39, RAY_2_21_0_PY39_CU115, RAY_2_21_0_PY39_CU116, RAY_2_21_0_PY39_CU117, RAY_2_21_0_PY39_CU118, RAY_2_21_0_PY39_CU121, RAY_2_21_0_SLIM_PY310, RAY_2_21_0_SLIM_PY310_CU118, RAY_2_21_0_SLIM_PY310_CU121, RAY_2_21_0_SLIM_PY311, RAY_2_21_0_SLIM_PY311_CU118, RAY_2_21_0_SLIM_PY311_CU121, RAY_2_21_0_SLIM_PY39, RAY_2_21_0_SLIM_PY39_CU118, RAY_2_21_0_SLIM_PY39_CU121, RAY_2_22_0_PY310, RAY_2_22_0_PY310_CU115, RAY_2_22_0_PY310_CU116, RAY_2_22_0_PY310_CU117, RAY_2_22_0_PY310_CU118, RAY_2_22_0_PY310_CU121, RAY_2_22_0_PY311, RAY_2_22_0_PY311_CU115, RAY_2_22_0_PY311_CU116, RAY_2_22_0_PY311_CU117, RAY_2_22_0_PY311_CU118, RAY_2_22_0_PY311_CU121, RAY_2_22_0_PY39, RAY_2_22_0_PY39_CU115, RAY_2_22_0_PY39_CU116, RAY_2_22_0_PY39_CU117, RAY_2_22_0_PY39_CU118, RAY_2_22_0_PY39_CU121, RAY_2_22_0_SLIM_PY310, RAY_2_22_0_SLIM_PY310_CU118, RAY_2_22_0_SLIM_PY310_CU121, RAY_2_22_0_SLIM_PY311, RAY_2_22_0_SLIM_PY311_CU118, RAY_2_22_0_SLIM_PY311_CU121, RAY_2_22_0_SLIM_PY39, RAY_2_22_0_SLIM_PY39_CU118, RAY_2_22_0_SLIM_PY39_CU121, RAY_2_23_0_PY310, RAY_2_23_0_PY310_CU115, RAY_2_23_0_PY310_CU116, RAY_2_23_0_PY310_CU117, RAY_2_23_0_PY310_CU118, RAY_2_23_0_PY310_CU121, RAY_2_23_0_PY311, RAY_2_23_0_PY311_CU115, RAY_2_23_0_PY311_CU116, RAY_2_23_0_PY311_CU117, RAY_2_23_0_PY311_CU118, RAY_2_23_0_PY311_CU121, RAY_2_23_0_PY39, RAY_2_23_0_PY39_CU115, RAY_2_23_0_PY39_CU116, RAY_2_23_0_PY39_CU117, RAY_2_23_0_PY39_CU118, RAY_2_23_0_PY39_CU121, RAY_2_23_0_SLIM_PY310, RAY_2_23_0_SLIM_PY310_CU118, RAY_2_23_0_SLIM_PY310_CU121, RAY_2_23_0_SLIM_PY311, RAY_2_23_0_SLIM_PY311_CU118, RAY_2_23_0_SLIM_PY311_CU121, RAY_2_23_0_SLIM_PY39, RAY_2_23_0_SLIM_PY39_CU118, RAY_2_23_0_SLIM_PY39_CU121, RAY_2_24_0_PY310, RAY_2_24_0_PY310_CU115, RAY_2_24_0_PY310_CU116, RAY_2_24_0_PY310_CU117, RAY_2_24_0_PY310_CU118, RAY_2_24_0_PY310_CU121, RAY_2_24_0_PY311, RAY_2_24_0_PY311_CU115, RAY_2_24_0_PY311_CU116, RAY_2_24_0_PY311_CU117, RAY_2_24_0_PY311_CU118, RAY_2_24_0_PY311_CU121, RAY_2_24_0_PY39, RAY_2_24_0_PY39_CU115, RAY_2_24_0_PY39_CU116, RAY_2_24_0_PY39_CU117, RAY_2_24_0_PY39_CU118, RAY_2_24_0_PY39_CU121, RAY_2_24_0_SLIM_PY310, RAY_2_24_0_SLIM_PY310_CU118, RAY_2_24_0_SLIM_PY310_CU121, RAY_2_24_0_SLIM_PY311, RAY_2_24_0_SLIM_PY311_CU118, RAY_2_24_0_SLIM_PY311_CU121, RAY_2_24_0_SLIM_PY39, RAY_2_24_0_SLIM_PY39_CU118, RAY_2_24_0_SLIM_PY39_CU121, RAY_2_3_0_PY310, RAY_2_3_0_PY310_CU101, RAY_2_3_0_PY310_CU102, RAY_2_3_0_PY310_CU110, RAY_2_3_0_PY310_CU111, RAY_2_3_0_PY310_CU112, RAY_2_3_0_PY310_CU113, RAY_2_3_0_PY310_CU116, RAY_2_3_0_PY310_CU118, RAY_2_3_0_PY37, RAY_2_3_0_PY37_CU101, RAY_2_3_0_PY37_CU102, RAY_2_3_0_PY37_CU110, RAY_2_3_0_PY37_CU111, RAY_2_3_0_PY37_CU112, RAY_2_3_0_PY37_CU113, RAY_2_3_0_PY37_CU116, RAY_2_3_0_PY37_CU118, RAY_2_3_0_PY38, RAY_2_3_0_PY38_CU101, RAY_2_3_0_PY38_CU102, RAY_2_3_0_PY38_CU110, RAY_2_3_0_PY38_CU111, RAY_2_3_0_PY38_CU112, RAY_2_3_0_PY38_CU113, RAY_2_3_0_PY38_CU116, RAY_2_3_0_PY38_CU118, RAY_2_3_0_PY39, RAY_2_3_0_PY39_CU101, RAY_2_3_0_PY39_CU102, RAY_2_3_0_PY39_CU110, RAY_2_3_0_PY39_CU111, RAY_2_3_0_PY39_CU112, RAY_2_3_0_PY39_CU113, RAY_2_3_0_PY39_CU116, RAY_2_3_0_PY39_CU118, RAY_2_3_1_PY310, RAY_2_3_1_PY310_CU101, RAY_2_3_1_PY310_CU102, RAY_2_3_1_PY310_CU110, RAY_2_3_1_PY310_CU111, RAY_2_3_1_PY310_CU112, RAY_2_3_1_PY310_CU113, RAY_2_3_1_PY310_CU116, RAY_2_3_1_PY310_CU118, RAY_2_3_1_PY37, RAY_2_3_1_PY37_CU101, RAY_2_3_1_PY37_CU102, RAY_2_3_1_PY37_CU110, RAY_2_3_1_PY37_CU111, RAY_2_3_1_PY37_CU112, RAY_2_3_1_PY37_CU113, RAY_2_3_1_PY37_CU116, RAY_2_3_1_PY37_CU118, RAY_2_3_1_PY38, RAY_2_3_1_PY38_CU101, RAY_2_3_1_PY38_CU102, RAY_2_3_1_PY38_CU110, RAY_2_3_1_PY38_CU111, RAY_2_3_1_PY38_CU112, RAY_2_3_1_PY38_CU113, RAY_2_3_1_PY38_CU116, RAY_2_3_1_PY38_CU118, RAY_2_3_1_PY39, RAY_2_3_1_PY39_CU101, RAY_2_3_1_PY39_CU102, RAY_2_3_1_PY39_CU110, RAY_2_3_1_PY39_CU111, RAY_2_3_1_PY39_CU112, RAY_2_3_1_PY39_CU113, RAY_2_3_1_PY39_CU116, RAY_2_3_1_PY39_CU118, RAY_2_30_0_PY310, RAY_2_30_0_PY310_CU117, RAY_2_30_0_PY310_CU118, RAY_2_30_0_PY310_CU121, RAY_2_30_0_PY310_CU123, RAY_2_30_0_PY311, RAY_2_30_0_PY311_CU117, RAY_2_30_0_PY311_CU118, RAY_2_30_0_PY311_CU121, RAY_2_30_0_PY311_CU123, RAY_2_30_0_PY39, RAY_2_30_0_PY39_CU117, RAY_2_30_0_PY39_CU118, RAY_2_30_0_PY39_CU121, RAY_2_30_0_PY39_CU123, RAY_2_30_0_SLIM_PY310, RAY_2_30_0_SLIM_PY310_CU118, RAY_2_30_0_SLIM_PY310_CU121, RAY_2_30_0_SLIM_PY310_CU123, RAY_2_30_0_SLIM_PY311, RAY_2_30_0_SLIM_PY311_CU118, RAY_2_30_0_SLIM_PY311_CU121, RAY_2_30_0_SLIM_PY311_CU123, RAY_2_30_0_SLIM_PY39, RAY_2_30_0_SLIM_PY39_CU118, RAY_2_30_0_SLIM_PY39_CU121, RAY_2_30_0_SLIM_PY39_CU123, RAY_2_31_0_PY310, RAY_2_31_0_PY310_CU117, RAY_2_31_0_PY310_CU118, RAY_2_31_0_PY310_CU121, RAY_2_31_0_PY310_CU123, RAY_2_31_0_PY311, RAY_2_31_0_PY311_CU117, RAY_2_31_0_PY311_CU118, RAY_2_31_0_PY311_CU121, RAY_2_31_0_PY311_CU123, RAY_2_31_0_PY39, RAY_2_31_0_PY39_CU117, RAY_2_31_0_PY39_CU118, RAY_2_31_0_PY39_CU121, RAY_2_31_0_PY39_CU123, RAY_2_31_0_SLIM_PY310, RAY_2_31_0_SLIM_PY310_CU118, RAY_2_31_0_SLIM_PY310_CU121, RAY_2_31_0_SLIM_PY310_CU123, RAY_2_31_0_SLIM_PY311, RAY_2_31_0_SLIM_PY311_CU118, RAY_2_31_0_SLIM_PY311_CU121, RAY_2_31_0_SLIM_PY311_CU123, RAY_2_31_0_SLIM_PY39, RAY_2_31_0_SLIM_PY39_CU118, RAY_2_31_0_SLIM_PY39_CU121, RAY_2_31_0_SLIM_PY39_CU123, RAY_2_32_0_PY310, RAY_2_32_0_PY310_CU117, RAY_2_32_0_PY310_CU118, RAY_2_32_0_PY310_CU121, RAY_2_32_0_PY310_CU123, RAY_2_32_0_PY311, RAY_2_32_0_PY311_CU117, RAY_2_32_0_PY311_CU118, RAY_2_32_0_PY311_CU121, RAY_2_32_0_PY311_CU123, RAY_2_32_0_PY39, RAY_2_32_0_PY39_CU117, RAY_2_32_0_PY39_CU118, RAY_2_32_0_PY39_CU121, RAY_2_32_0_PY39_CU123, RAY_2_32_0_SLIM_PY310, RAY_2_32_0_SLIM_PY310_CU118, RAY_2_32_0_SLIM_PY310_CU121, RAY_2_32_0_SLIM_PY310_CU123, RAY_2_32_0_SLIM_PY311, RAY_2_32_0_SLIM_PY311_CU118, RAY_2_32_0_SLIM_PY311_CU121, RAY_2_32_0_SLIM_PY311_CU123, RAY_2_32_0_SLIM_PY39, RAY_2_32_0_SLIM_PY39_CU118, RAY_2_32_0_SLIM_PY39_CU121, RAY_2_32_0_SLIM_PY39_CU123, RAY_2_33_0_PY310, RAY_2_33_0_PY310_CU117, RAY_2_33_0_PY310_CU118, RAY_2_33_0_PY310_CU121, RAY_2_33_0_PY310_CU123, RAY_2_33_0_PY311, RAY_2_33_0_PY311_CU117, RAY_2_33_0_PY311_CU118, RAY_2_33_0_PY311_CU121, RAY_2_33_0_PY311_CU123, RAY_2_33_0_PY39, RAY_2_33_0_PY39_CU117, RAY_2_33_0_PY39_CU118, RAY_2_33_0_PY39_CU121, RAY_2_33_0_PY39_CU123, RAY_2_33_0_SLIM_PY310, RAY_2_33_0_SLIM_PY310_CU118, RAY_2_33_0_SLIM_PY310_CU121, RAY_2_33_0_SLIM_PY310_CU123, RAY_2_33_0_SLIM_PY311, RAY_2_33_0_SLIM_PY311_CU118, RAY_2_33_0_SLIM_PY311_CU121, RAY_2_33_0_SLIM_PY311_CU123, RAY_2_33_0_SLIM_PY39, RAY_2_33_0_SLIM_PY39_CU118, RAY_2_33_0_SLIM_PY39_CU121, RAY_2_33_0_SLIM_PY39_CU123, RAY_2_34_0_PY310, RAY_2_34_0_PY310_CU117, RAY_2_34_0_PY310_CU118, RAY_2_34_0_PY310_CU121, RAY_2_34_0_PY310_CU123, RAY_2_34_0_PY311, RAY_2_34_0_PY311_CU117, RAY_2_34_0_PY311_CU118, RAY_2_34_0_PY311_CU121, RAY_2_34_0_PY311_CU123, RAY_2_34_0_PY39, RAY_2_34_0_PY39_CU117, RAY_2_34_0_PY39_CU118, RAY_2_34_0_PY39_CU121, RAY_2_34_0_PY39_CU123, RAY_2_34_0_SLIM_PY310, RAY_2_34_0_SLIM_PY310_CU118, RAY_2_34_0_SLIM_PY310_CU121, RAY_2_34_0_SLIM_PY310_CU123, RAY_2_34_0_SLIM_PY311, RAY_2_34_0_SLIM_PY311_CU118, RAY_2_34_0_SLIM_PY311_CU121, RAY_2_34_0_SLIM_PY311_CU123, RAY_2_34_0_SLIM_PY39, RAY_2_34_0_SLIM_PY39_CU118, RAY_2_34_0_SLIM_PY39_CU121, RAY_2_34_0_SLIM_PY39_CU123, RAY_2_35_0_PY310, RAY_2_35_0_PY310_CU117, RAY_2_35_0_PY310_CU118, RAY_2_35_0_PY310_CU121, RAY_2_35_0_PY310_CU123, RAY_2_35_0_PY311, RAY_2_35_0_PY311_CU117, RAY_2_35_0_PY311_CU118, RAY_2_35_0_PY311_CU121, RAY_2_35_0_PY311_CU123, RAY_2_35_0_PY312, RAY_2_35_0_PY312_CU117, RAY_2_35_0_PY312_CU118, RAY_2_35_0_PY312_CU121, RAY_2_35_0_PY312_CU123, RAY_2_35_0_PY39, RAY_2_35_0_PY39_CU117, RAY_2_35_0_PY39_CU118, RAY_2_35_0_PY39_CU121, RAY_2_35_0_PY39_CU123, RAY_2_35_0_SLIM_PY310, RAY_2_35_0_SLIM_PY310_CU118, RAY_2_35_0_SLIM_PY310_CU121, RAY_2_35_0_SLIM_PY310_CU123, RAY_2_35_0_SLIM_PY311, RAY_2_35_0_SLIM_PY311_CU118, RAY_2_35_0_SLIM_PY311_CU121, RAY_2_35_0_SLIM_PY311_CU123, RAY_2_35_0_SLIM_PY312, RAY_2_35_0_SLIM_PY312_CU118, RAY_2_35_0_SLIM_PY312_CU121, RAY_2_35_0_SLIM_PY312_CU123, RAY_2_35_0_SLIM_PY39, RAY_2_35_0_SLIM_PY39_CU118, RAY_2_35_0_SLIM_PY39_CU121, RAY_2_35_0_SLIM_PY39_CU123, RAY_2_36_0_PY310, RAY_2_36_0_PY310_CU117, RAY_2_36_0_PY310_CU118, RAY_2_36_0_PY310_CU121, RAY_2_36_0_PY310_CU123, RAY_2_36_0_PY311, RAY_2_36_0_PY311_CU117, RAY_2_36_0_PY311_CU118, RAY_2_36_0_PY311_CU121, RAY_2_36_0_PY311_CU123, RAY_2_36_0_PY312, RAY_2_36_0_PY312_CU117, RAY_2_36_0_PY312_CU118, RAY_2_36_0_PY312_CU121, RAY_2_36_0_PY312_CU123, RAY_2_36_0_PY39, RAY_2_36_0_PY39_CU117, RAY_2_36_0_PY39_CU118, RAY_2_36_0_PY39_CU121, RAY_2_36_0_PY39_CU123, RAY_2_36_0_SLIM_PY310, RAY_2_36_0_SLIM_PY310_CU118, RAY_2_36_0_SLIM_PY310_CU121, RAY_2_36_0_SLIM_PY310_CU123, RAY_2_36_0_SLIM_PY311, RAY_2_36_0_SLIM_PY311_CU118, RAY_2_36_0_SLIM_PY311_CU121, RAY_2_36_0_SLIM_PY311_CU123, RAY_2_36_0_SLIM_PY312, RAY_2_36_0_SLIM_PY312_CU118, RAY_2_36_0_SLIM_PY312_CU121, RAY_2_36_0_SLIM_PY312_CU123, RAY_2_36_0_SLIM_PY39, RAY_2_36_0_SLIM_PY39_CU118, RAY_2_36_0_SLIM_PY39_CU121, RAY_2_36_0_SLIM_PY39_CU123, RAY_2_36_1_PY310, RAY_2_36_1_PY310_CU117, RAY_2_36_1_PY310_CU118, RAY_2_36_1_PY310_CU121, RAY_2_36_1_PY310_CU123, RAY_2_36_1_PY311, RAY_2_36_1_PY311_CU117, RAY_2_36_1_PY311_CU118, RAY_2_36_1_PY311_CU121, RAY_2_36_1_PY311_CU123, RAY_2_36_1_PY312, RAY_2_36_1_PY312_CU117, RAY_2_36_1_PY312_CU118, RAY_2_36_1_PY312_CU121, RAY_2_36_1_PY312_CU123, RAY_2_36_1_PY39, RAY_2_36_1_PY39_CU117, RAY_2_36_1_PY39_CU118, RAY_2_36_1_PY39_CU121, RAY_2_36_1_PY39_CU123, RAY_2_36_1_SLIM_PY310, RAY_2_36_1_SLIM_PY310_CU118, RAY_2_36_1_SLIM_PY310_CU121, RAY_2_36_1_SLIM_PY310_CU123, RAY_2_36_1_SLIM_PY311, RAY_2_36_1_SLIM_PY311_CU118, RAY_2_36_1_SLIM_PY311_CU121, RAY_2_36_1_SLIM_PY311_CU123, RAY_2_36_1_SLIM_PY312, RAY_2_36_1_SLIM_PY312_CU118, RAY_2_36_1_SLIM_PY312_CU121, RAY_2_36_1_SLIM_PY312_CU123, RAY_2_36_1_SLIM_PY39, RAY_2_36_1_SLIM_PY39_CU118, RAY_2_36_1_SLIM_PY39_CU121, RAY_2_36_1_SLIM_PY39_CU123, RAY_2_37_0_PY310, RAY_2_37_0_PY310_CU117, RAY_2_37_0_PY310_CU118, RAY_2_37_0_PY310_CU121, RAY_2_37_0_PY310_CU123, RAY_2_37_0_PY311, RAY_2_37_0_PY311_CU117, RAY_2_37_0_PY311_CU118, RAY_2_37_0_PY311_CU121, RAY_2_37_0_PY311_CU123, RAY_2_37_0_PY312, RAY_2_37_0_PY312_CU117, RAY_2_37_0_PY312_CU118, RAY_2_37_0_PY312_CU121, RAY_2_37_0_PY312_CU123, RAY_2_37_0_PY39, RAY_2_37_0_PY39_CU117, RAY_2_37_0_PY39_CU118, RAY_2_37_0_PY39_CU121, RAY_2_37_0_PY39_CU123, RAY_2_37_0_SLIM_PY310, RAY_2_37_0_SLIM_PY310_CU118, RAY_2_37_0_SLIM_PY310_CU121, RAY_2_37_0_SLIM_PY310_CU123, RAY_2_37_0_SLIM_PY311, RAY_2_37_0_SLIM_PY311_CU118, RAY_2_37_0_SLIM_PY311_CU121, RAY_2_37_0_SLIM_PY311_CU123, RAY_2_37_0_SLIM_PY312, RAY_2_37_0_SLIM_PY312_CU118, RAY_2_37_0_SLIM_PY312_CU121, RAY_2_37_0_SLIM_PY312_CU123, RAY_2_37_0_SLIM_PY39, RAY_2_37_0_SLIM_PY39_CU118, RAY_2_37_0_SLIM_PY39_CU121, RAY_2_37_0_SLIM_PY39_CU123, RAY_2_38_0_PY310, RAY_2_38_0_PY310_CU117, RAY_2_38_0_PY310_CU118, RAY_2_38_0_PY310_CU121, RAY_2_38_0_PY310_CU123, RAY_2_38_0_PY311, RAY_2_38_0_PY311_CU117, RAY_2_38_0_PY311_CU118, RAY_2_38_0_PY311_CU121, RAY_2_38_0_PY311_CU123, RAY_2_38_0_PY312, RAY_2_38_0_PY312_CU117, RAY_2_38_0_PY312_CU118, RAY_2_38_0_PY312_CU121, RAY_2_38_0_PY312_CU123, RAY_2_38_0_PY39, RAY_2_38_0_PY39_CU117, RAY_2_38_0_PY39_CU118, RAY_2_38_0_PY39_CU121, RAY_2_38_0_PY39_CU123, RAY_2_38_0_SLIM_PY310, RAY_2_38_0_SLIM_PY310_CU118, RAY_2_38_0_SLIM_PY310_CU121, RAY_2_38_0_SLIM_PY310_CU123, RAY_2_38_0_SLIM_PY311, RAY_2_38_0_SLIM_PY311_CU118, RAY_2_38_0_SLIM_PY311_CU121, RAY_2_38_0_SLIM_PY311_CU123, RAY_2_38_0_SLIM_PY312, RAY_2_38_0_SLIM_PY312_CU118, RAY_2_38_0_SLIM_PY312_CU121, RAY_2_38_0_SLIM_PY312_CU123, RAY_2_38_0_SLIM_PY39, RAY_2_38_0_SLIM_PY39_CU118, RAY_2_38_0_SLIM_PY39_CU121, RAY_2_38_0_SLIM_PY39_CU123, RAY_2_39_0_PY310, RAY_2_39_0_PY310_CU117, RAY_2_39_0_PY310_CU118, RAY_2_39_0_PY310_CU121, RAY_2_39_0_PY310_CU123, RAY_2_39_0_PY311, RAY_2_39_0_PY311_CU117, RAY_2_39_0_PY311_CU118, RAY_2_39_0_PY311_CU121, RAY_2_39_0_PY311_CU123, RAY_2_39_0_PY312, RAY_2_39_0_PY312_CU117, RAY_2_39_0_PY312_CU118, RAY_2_39_0_PY312_CU121, RAY_2_39_0_PY312_CU123, RAY_2_39_0_PY39, RAY_2_39_0_PY39_CU117, RAY_2_39_0_PY39_CU118, RAY_2_39_0_PY39_CU121, RAY_2_39_0_PY39_CU123, RAY_2_39_0_SLIM_PY310, RAY_2_39_0_SLIM_PY310_CU118, RAY_2_39_0_SLIM_PY310_CU121, RAY_2_39_0_SLIM_PY310_CU123, RAY_2_39_0_SLIM_PY311, RAY_2_39_0_SLIM_PY311_CU118, RAY_2_39_0_SLIM_PY311_CU121, RAY_2_39_0_SLIM_PY311_CU123, RAY_2_39_0_SLIM_PY312, RAY_2_39_0_SLIM_PY312_CU118, RAY_2_39_0_SLIM_PY312_CU121, RAY_2_39_0_SLIM_PY312_CU123, RAY_2_39_0_SLIM_PY39, RAY_2_39_0_SLIM_PY39_CU118, RAY_2_39_0_SLIM_PY39_CU121, RAY_2_39_0_SLIM_PY39_CU123, RAY_2_4_0_PY310, RAY_2_4_0_PY310_CU101, RAY_2_4_0_PY310_CU102, RAY_2_4_0_PY310_CU110, RAY_2_4_0_PY310_CU111, RAY_2_4_0_PY310_CU112, RAY_2_4_0_PY310_CU113, RAY_2_4_0_PY310_CU116, RAY_2_4_0_PY310_CU118, RAY_2_4_0_PY37, RAY_2_4_0_PY37_CU101, RAY_2_4_0_PY37_CU102, RAY_2_4_0_PY37_CU110, RAY_2_4_0_PY37_CU111, RAY_2_4_0_PY37_CU112, RAY_2_4_0_PY37_CU113, RAY_2_4_0_PY37_CU116, RAY_2_4_0_PY37_CU118, RAY_2_4_0_PY38, RAY_2_4_0_PY38_CU101, RAY_2_4_0_PY38_CU102, RAY_2_4_0_PY38_CU110, RAY_2_4_0_PY38_CU111, RAY_2_4_0_PY38_CU112, RAY_2_4_0_PY38_CU113, RAY_2_4_0_PY38_CU116, RAY_2_4_0_PY38_CU118, RAY_2_4_0_PY39, RAY_2_4_0_PY39_CU101, RAY_2_4_0_PY39_CU102, RAY_2_4_0_PY39_CU110, RAY_2_4_0_PY39_CU111, RAY_2_4_0_PY39_CU112, RAY_2_4_0_PY39_CU113, RAY_2_4_0_PY39_CU116, RAY_2_4_0_PY39_CU118, RAY_2_40_0_PY310, RAY_2_40_0_PY310_CU117, RAY_2_40_0_PY310_CU118, RAY_2_40_0_PY310_CU121, RAY_2_40_0_PY310_CU123, RAY_2_40_0_PY311, RAY_2_40_0_PY311_CU117, RAY_2_40_0_PY311_CU118, RAY_2_40_0_PY311_CU121, RAY_2_40_0_PY311_CU123, RAY_2_40_0_PY312, RAY_2_40_0_PY312_CU117, RAY_2_40_0_PY312_CU118, RAY_2_40_0_PY312_CU121, RAY_2_40_0_PY312_CU123, RAY_2_40_0_PY39, RAY_2_40_0_PY39_CU117, RAY_2_40_0_PY39_CU118, RAY_2_40_0_PY39_CU121, RAY_2_40_0_PY39_CU123, RAY_2_40_0_SLIM_PY310, RAY_2_40_0_SLIM_PY310_CU118, RAY_2_40_0_SLIM_PY310_CU121, RAY_2_40_0_SLIM_PY310_CU123, RAY_2_40_0_SLIM_PY311, RAY_2_40_0_SLIM_PY311_CU118, RAY_2_40_0_SLIM_PY311_CU121, RAY_2_40_0_SLIM_PY311_CU123, RAY_2_40_0_SLIM_PY312, RAY_2_40_0_SLIM_PY312_CU118, RAY_2_40_0_SLIM_PY312_CU121, RAY_2_40_0_SLIM_PY312_CU123, RAY_2_40_0_SLIM_PY39, RAY_2_40_0_SLIM_PY39_CU118, RAY_2_40_0_SLIM_PY39_CU121, RAY_2_40_0_SLIM_PY39_CU123, RAY_2_41_0_PY310, RAY_2_41_0_PY310_CU117, RAY_2_41_0_PY310_CU118, RAY_2_41_0_PY310_CU121, RAY_2_41_0_PY310_CU123, RAY_2_41_0_PY311, RAY_2_41_0_PY311_CU117, RAY_2_41_0_PY311_CU118, RAY_2_41_0_PY311_CU121, RAY_2_41_0_PY311_CU123, RAY_2_41_0_PY312, RAY_2_41_0_PY312_CU117, RAY_2_41_0_PY312_CU118, RAY_2_41_0_PY312_CU121, RAY_2_41_0_PY312_CU123, RAY_2_41_0_PY39, RAY_2_41_0_PY39_CU117, RAY_2_41_0_PY39_CU118, RAY_2_41_0_PY39_CU121, RAY_2_41_0_PY39_CU123, RAY_2_41_0_SLIM_PY310, RAY_2_41_0_SLIM_PY310_CU118, RAY_2_41_0_SLIM_PY310_CU121, RAY_2_41_0_SLIM_PY310_CU123, RAY_2_41_0_SLIM_PY311, RAY_2_41_0_SLIM_PY311_CU118, RAY_2_41_0_SLIM_PY311_CU121, RAY_2_41_0_SLIM_PY311_CU123, RAY_2_41_0_SLIM_PY312, RAY_2_41_0_SLIM_PY312_CU118, RAY_2_41_0_SLIM_PY312_CU121, RAY_2_41_0_SLIM_PY312_CU123, RAY_2_41_0_SLIM_PY39, RAY_2_41_0_SLIM_PY39_CU118, RAY_2_41_0_SLIM_PY39_CU121, RAY_2_41_0_SLIM_PY39_CU123, RAY_2_5_0_PY310, RAY_2_5_0_PY310_CU101, RAY_2_5_0_PY310_CU102, RAY_2_5_0_PY310_CU110, RAY_2_5_0_PY310_CU111, RAY_2_5_0_PY310_CU112, RAY_2_5_0_PY310_CU113, RAY_2_5_0_PY310_CU116, RAY_2_5_0_PY310_CU118, RAY_2_5_0_PY37, RAY_2_5_0_PY37_CU101, RAY_2_5_0_PY37_CU102, RAY_2_5_0_PY37_CU110, RAY_2_5_0_PY37_CU111, RAY_2_5_0_PY37_CU112, RAY_2_5_0_PY37_CU113, RAY_2_5_0_PY37_CU116, RAY_2_5_0_PY37_CU118, RAY_2_5_0_PY38, RAY_2_5_0_PY38_CU101, RAY_2_5_0_PY38_CU102, RAY_2_5_0_PY38_CU110, RAY_2_5_0_PY38_CU111, RAY_2_5_0_PY38_CU112, RAY_2_5_0_PY38_CU113, RAY_2_5_0_PY38_CU116, RAY_2_5_0_PY38_CU118, RAY_2_5_0_PY39, RAY_2_5_0_PY39_CU101, RAY_2_5_0_PY39_CU102, RAY_2_5_0_PY39_CU110, RAY_2_5_0_PY39_CU111, RAY_2_5_0_PY39_CU112, RAY_2_5_0_PY39_CU113, RAY_2_5_0_PY39_CU116, RAY_2_5_0_PY39_CU118, RAY_2_5_1_PY310, RAY_2_5_1_PY310_CU101, RAY_2_5_1_PY310_CU102, RAY_2_5_1_PY310_CU110, RAY_2_5_1_PY310_CU111, RAY_2_5_1_PY310_CU112, RAY_2_5_1_PY310_CU113, RAY_2_5_1_PY310_CU116, RAY_2_5_1_PY310_CU118, RAY_2_5_1_PY37, RAY_2_5_1_PY37_CU101, RAY_2_5_1_PY37_CU102, RAY_2_5_1_PY37_CU110, RAY_2_5_1_PY37_CU111, RAY_2_5_1_PY37_CU112, RAY_2_5_1_PY37_CU113, RAY_2_5_1_PY37_CU116, RAY_2_5_1_PY37_CU118, RAY_2_5_1_PY38, RAY_2_5_1_PY38_CU101, RAY_2_5_1_PY38_CU102, RAY_2_5_1_PY38_CU110, RAY_2_5_1_PY38_CU111, RAY_2_5_1_PY38_CU112, RAY_2_5_1_PY38_CU113, RAY_2_5_1_PY38_CU116, RAY_2_5_1_PY38_CU118, RAY_2_5_1_PY39, RAY_2_5_1_PY39_CU101, RAY_2_5_1_PY39_CU102, RAY_2_5_1_PY39_CU110, RAY_2_5_1_PY39_CU111, RAY_2_5_1_PY39_CU112, RAY_2_5_1_PY39_CU113, RAY_2_5_1_PY39_CU116, RAY_2_5_1_PY39_CU118, RAY_2_6_0_PY310, RAY_2_6_0_PY310_CU115, RAY_2_6_0_PY310_CU116, RAY_2_6_0_PY310_CU117, RAY_2_6_0_PY310_CU118, RAY_2_6_0_PY37, RAY_2_6_0_PY37_CU115, RAY_2_6_0_PY37_CU116, RAY_2_6_0_PY37_CU117, RAY_2_6_0_PY37_CU118, RAY_2_6_0_PY38, RAY_2_6_0_PY38_CU115, RAY_2_6_0_PY38_CU116, RAY_2_6_0_PY38_CU117, RAY_2_6_0_PY38_CU118, RAY_2_6_0_PY39, RAY_2_6_0_PY39_CU115, RAY_2_6_0_PY39_CU116, RAY_2_6_0_PY39_CU117, RAY_2_6_0_PY39_CU118, RAY_2_6_1_PY310, RAY_2_6_1_PY310_CU115, RAY_2_6_1_PY310_CU116, RAY_2_6_1_PY310_CU117, RAY_2_6_1_PY310_CU118, RAY_2_6_1_PY37, RAY_2_6_1_PY37_CU115, RAY_2_6_1_PY37_CU116, RAY_2_6_1_PY37_CU117, RAY_2_6_1_PY37_CU118, RAY_2_6_1_PY38, RAY_2_6_1_PY38_CU115, RAY_2_6_1_PY38_CU116, RAY_2_6_1_PY38_CU117, RAY_2_6_1_PY38_CU118, RAY_2_6_1_PY39, RAY_2_6_1_PY39_CU115, RAY_2_6_1_PY39_CU116, RAY_2_6_1_PY39_CU117, RAY_2_6_1_PY39_CU118, RAY_2_6_2_PY310, RAY_2_6_2_PY310_CU115, RAY_2_6_2_PY310_CU116, RAY_2_6_2_PY310_CU117, RAY_2_6_2_PY310_CU118, RAY_2_6_2_PY37, RAY_2_6_2_PY37_CU115, RAY_2_6_2_PY37_CU116, RAY_2_6_2_PY37_CU117, RAY_2_6_2_PY37_CU118, RAY_2_6_2_PY38, RAY_2_6_2_PY38_CU115, RAY_2_6_2_PY38_CU116, RAY_2_6_2_PY38_CU117, RAY_2_6_2_PY38_CU118, RAY_2_6_2_PY39, RAY_2_6_2_PY39_CU115, RAY_2_6_2_PY39_CU116, RAY_2_6_2_PY39_CU117, RAY_2_6_2_PY39_CU118, RAY_2_6_3_PY310, RAY_2_6_3_PY310_CU115, RAY_2_6_3_PY310_CU116, RAY_2_6_3_PY310_CU117, RAY_2_6_3_PY310_CU118, RAY_2_6_3_PY37, RAY_2_6_3_PY37_CU115, RAY_2_6_3_PY37_CU116, RAY_2_6_3_PY37_CU117, RAY_2_6_3_PY37_CU118, RAY_2_6_3_PY38, RAY_2_6_3_PY38_CU115, RAY_2_6_3_PY38_CU116, RAY_2_6_3_PY38_CU117, RAY_2_6_3_PY38_CU118, RAY_2_6_3_PY39, RAY_2_6_3_PY39_CU115, RAY_2_6_3_PY39_CU116, RAY_2_6_3_PY39_CU117, RAY_2_6_3_PY39_CU118, RAY_2_7_0OPTIMIZED_PY310, RAY_2_7_0OPTIMIZED_PY310_CU115, RAY_2_7_0OPTIMIZED_PY310_CU116, RAY_2_7_0OPTIMIZED_PY310_CU117, RAY_2_7_0OPTIMIZED_PY310_CU118, RAY_2_7_0OPTIMIZED_PY310_CU121, RAY_2_7_0OPTIMIZED_PY311, RAY_2_7_0OPTIMIZED_PY311_CU115, RAY_2_7_0OPTIMIZED_PY311_CU116, RAY_2_7_0OPTIMIZED_PY311_CU117, RAY_2_7_0OPTIMIZED_PY311_CU118, RAY_2_7_0OPTIMIZED_PY311_CU121, RAY_2_7_0OPTIMIZED_PY37, RAY_2_7_0OPTIMIZED_PY37_CU115, RAY_2_7_0OPTIMIZED_PY37_CU116, RAY_2_7_0OPTIMIZED_PY37_CU117, RAY_2_7_0OPTIMIZED_PY37_CU118, RAY_2_7_0OPTIMIZED_PY37_CU121, RAY_2_7_0OPTIMIZED_PY38, RAY_2_7_0OPTIMIZED_PY38_CU115, RAY_2_7_0OPTIMIZED_PY38_CU116, RAY_2_7_0OPTIMIZED_PY38_CU117, RAY_2_7_0OPTIMIZED_PY38_CU118, RAY_2_7_0OPTIMIZED_PY38_CU121, RAY_2_7_0OPTIMIZED_PY39, RAY_2_7_0OPTIMIZED_PY39_CU115, RAY_2_7_0OPTIMIZED_PY39_CU116, RAY_2_7_0OPTIMIZED_PY39_CU117, RAY_2_7_0OPTIMIZED_PY39_CU118, RAY_2_7_0OPTIMIZED_PY39_CU121, RAY_2_7_1OPTIMIZED_PY310, RAY_2_7_1OPTIMIZED_PY310_CU115, RAY_2_7_1OPTIMIZED_PY310_CU116, RAY_2_7_1OPTIMIZED_PY310_CU117, RAY_2_7_1OPTIMIZED_PY310_CU118, RAY_2_7_1OPTIMIZED_PY310_CU121, RAY_2_7_1OPTIMIZED_PY311, RAY_2_7_1OPTIMIZED_PY311_CU115, RAY_2_7_1OPTIMIZED_PY311_CU116, RAY_2_7_1OPTIMIZED_PY311_CU117, RAY_2_7_1OPTIMIZED_PY311_CU118, RAY_2_7_1OPTIMIZED_PY311_CU121, RAY_2_7_1OPTIMIZED_PY37, RAY_2_7_1OPTIMIZED_PY37_CU115, RAY_2_7_1OPTIMIZED_PY37_CU116, RAY_2_7_1OPTIMIZED_PY37_CU117, RAY_2_7_1OPTIMIZED_PY37_CU118, RAY_2_7_1OPTIMIZED_PY37_CU121, RAY_2_7_1OPTIMIZED_PY38, RAY_2_7_1OPTIMIZED_PY38_CU115, RAY_2_7_1OPTIMIZED_PY38_CU116, RAY_2_7_1OPTIMIZED_PY38_CU117, RAY_2_7_1OPTIMIZED_PY38_CU118, RAY_2_7_1OPTIMIZED_PY38_CU121, RAY_2_7_1OPTIMIZED_PY39, RAY_2_7_1OPTIMIZED_PY39_CU115, RAY_2_7_1OPTIMIZED_PY39_CU116, RAY_2_7_1OPTIMIZED_PY39_CU117, RAY_2_7_1OPTIMIZED_PY39_CU118, RAY_2_7_1OPTIMIZED_PY39_CU121, RAY_2_7_2OPTIMIZED_PY310, RAY_2_7_2OPTIMIZED_PY310_CU115, RAY_2_7_2OPTIMIZED_PY310_CU116, RAY_2_7_2OPTIMIZED_PY310_CU117, RAY_2_7_2OPTIMIZED_PY310_CU118, RAY_2_7_2OPTIMIZED_PY310_CU121, RAY_2_7_2OPTIMIZED_PY311, RAY_2_7_2OPTIMIZED_PY311_CU115, RAY_2_7_2OPTIMIZED_PY311_CU116, RAY_2_7_2OPTIMIZED_PY311_CU117, RAY_2_7_2OPTIMIZED_PY311_CU118, RAY_2_7_2OPTIMIZED_PY311_CU121, RAY_2_7_2OPTIMIZED_PY37, RAY_2_7_2OPTIMIZED_PY37_CU115, RAY_2_7_2OPTIMIZED_PY37_CU116, RAY_2_7_2OPTIMIZED_PY37_CU117, RAY_2_7_2OPTIMIZED_PY37_CU118, RAY_2_7_2OPTIMIZED_PY37_CU121, RAY_2_7_2OPTIMIZED_PY38, RAY_2_7_2OPTIMIZED_PY38_CU115, RAY_2_7_2OPTIMIZED_PY38_CU116, RAY_2_7_2OPTIMIZED_PY38_CU117, RAY_2_7_2OPTIMIZED_PY38_CU118, RAY_2_7_2OPTIMIZED_PY38_CU121, RAY_2_7_2OPTIMIZED_PY39, RAY_2_7_2OPTIMIZED_PY39_CU115, RAY_2_7_2OPTIMIZED_PY39_CU116, RAY_2_7_2OPTIMIZED_PY39_CU117, RAY_2_7_2OPTIMIZED_PY39_CU118, RAY_2_7_2OPTIMIZED_PY39_CU121, RAY_2_8_0_PY310, RAY_2_8_0_PY310_CU115, RAY_2_8_0_PY310_CU116, RAY_2_8_0_PY310_CU117, RAY_2_8_0_PY310_CU118, RAY_2_8_0_PY310_CU121, RAY_2_8_0_PY311, RAY_2_8_0_PY311_CU115, RAY_2_8_0_PY311_CU116, RAY_2_8_0_PY311_CU117, RAY_2_8_0_PY311_CU118, RAY_2_8_0_PY311_CU121, RAY_2_8_0_PY38, RAY_2_8_0_PY38_CU115, RAY_2_8_0_PY38_CU116, RAY_2_8_0_PY38_CU117, RAY_2_8_0_PY38_CU118, RAY_2_8_0_PY38_CU121, RAY_2_8_0_PY39, RAY_2_8_0_PY39_CU115, RAY_2_8_0_PY39_CU116, RAY_2_8_0_PY39_CU117, RAY_2_8_0_PY39_CU118, RAY_2_8_0_PY39_CU121, RAY_2_8_1_PY310, RAY_2_8_1_PY310_CU115, RAY_2_8_1_PY310_CU116, RAY_2_8_1_PY310_CU117, RAY_2_8_1_PY310_CU118, RAY_2_8_1_PY310_CU121, RAY_2_8_1_PY311, RAY_2_8_1_PY311_CU115, RAY_2_8_1_PY311_CU116, RAY_2_8_1_PY311_CU117, RAY_2_8_1_PY311_CU118, RAY_2_8_1_PY311_CU121, RAY_2_8_1_PY38, RAY_2_8_1_PY38_CU115, RAY_2_8_1_PY38_CU116, RAY_2_8_1_PY38_CU117, RAY_2_8_1_PY38_CU118, RAY_2_8_1_PY38_CU121, RAY_2_8_1_PY39, RAY_2_8_1_PY39_CU115, RAY_2_8_1_PY39_CU116, RAY_2_8_1_PY39_CU117, RAY_2_8_1_PY39_CU118, RAY_2_8_1_PY39_CU121, RAY_2_9_0_PY310, RAY_2_9_0_PY310_CU115, RAY_2_9_0_PY310_CU116, RAY_2_9_0_PY310_CU117, RAY_2_9_0_PY310_CU118, RAY_2_9_0_PY310_CU121, RAY_2_9_0_PY311, RAY_2_9_0_PY311_CU115, RAY_2_9_0_PY311_CU116, RAY_2_9_0_PY311_CU117, RAY_2_9_0_PY311_CU118, RAY_2_9_0_PY311_CU121, RAY_2_9_0_PY38, RAY_2_9_0_PY38_CU115, RAY_2_9_0_PY38_CU116, RAY_2_9_0_PY38_CU117, RAY_2_9_0_PY38_CU118, RAY_2_9_0_PY38_CU121, RAY_2_9_0_PY39, RAY_2_9_0_PY39_CU115, RAY_2_9_0_PY39_CU116, RAY_2_9_0_PY39_CU117, RAY_2_9_0_PY39_CU118, RAY_2_9_0_PY39_CU121, RAY_2_9_1_PY310, RAY_2_9_1_PY310_CU115, RAY_2_9_1_PY310_CU116, RAY_2_9_1_PY310_CU117, RAY_2_9_1_PY310_CU118, RAY_2_9_1_PY310_CU121, RAY_2_9_1_PY311, RAY_2_9_1_PY311_CU115, RAY_2_9_1_PY311_CU116, RAY_2_9_1_PY311_CU117, RAY_2_9_1_PY311_CU118, RAY_2_9_1_PY311_CU121, RAY_2_9_1_PY38, RAY_2_9_1_PY38_CU115, RAY_2_9_1_PY38_CU116, RAY_2_9_1_PY38_CU117, RAY_2_9_1_PY38_CU118, RAY_2_9_1_PY38_CU121, RAY_2_9_1_PY39, RAY_2_9_1_PY39_CU115, RAY_2_9_1_PY39_CU116, RAY_2_9_1_PY39_CU117, RAY_2_9_1_PY39_CU118, RAY_2_9_1_PY39_CU121, RAY_2_9_2_PY310, RAY_2_9_2_PY310_CU115, RAY_2_9_2_PY310_CU116, RAY_2_9_2_PY310_CU117, RAY_2_9_2_PY310_CU118, RAY_2_9_2_PY310_CU121, RAY_2_9_2_PY311, RAY_2_9_2_PY311_CU115, RAY_2_9_2_PY311_CU116, RAY_2_9_2_PY311_CU117, RAY_2_9_2_PY311_CU118, RAY_2_9_2_PY311_CU121, RAY_2_9_2_PY38, RAY_2_9_2_PY38_CU115, RAY_2_9_2_PY38_CU116, RAY_2_9_2_PY38_CU117, RAY_2_9_2_PY38_CU118, RAY_2_9_2_PY38_CU121, RAY_2_9_2_PY39, RAY_2_9_2_PY39_CU115, RAY_2_9_2_PY39_CU116, RAY_2_9_2_PY39_CU117, RAY_2_9_2_PY39_CU118, RAY_2_9_2_PY39_CU121, RAY_2_9_3_PY310, RAY_2_9_3_PY310_CU115, RAY_2_9_3_PY310_CU116, RAY_2_9_3_PY310_CU117, RAY_2_9_3_PY310_CU118, RAY_2_9_3_PY310_CU121, RAY_2_9_3_PY311, RAY_2_9_3_PY311_CU115, RAY_2_9_3_PY311_CU116, RAY_2_9_3_PY311_CU117, RAY_2_9_3_PY311_CU118, RAY_2_9_3_PY311_CU121, RAY_2_9_3_PY38, RAY_2_9_3_PY38_CU115, RAY_2_9_3_PY38_CU116, RAY_2_9_3_PY38_CU117, RAY_2_9_3_PY38_CU118, RAY_2_9_3_PY38_CU121, RAY_2_9_3_PY39, RAY_2_9_3_PY39_CU115, RAY_2_9_3_PY39_CU116, RAY_2_9_3_PY39_CU117, RAY_2_9_3_PY39_CU118, RAY_2_9_3_PY39_CU121, RAY_NIGHTLY_PY310, RAY_NIGHTLY_PY310_CU117, RAY_NIGHTLY_PY310_CU118, RAY_NIGHTLY_PY310_CU121, RAY_NIGHTLY_PY310_CU123, RAY_NIGHTLY_PY311, RAY_NIGHTLY_PY311_CU117, RAY_NIGHTLY_PY311_CU118, RAY_NIGHTLY_PY311_CU121, RAY_NIGHTLY_PY311_CU123, RAY_NIGHTLY_PY312, RAY_NIGHTLY_PY312_CU117, RAY_NIGHTLY_PY312_CU118, RAY_NIGHTLY_PY312_CU121, RAY_NIGHTLY_PY312_CU123, RAY_NIGHTLY_PY37, RAY_NIGHTLY_PY37_CU117, RAY_NIGHTLY_PY37_CU118, RAY_NIGHTLY_PY37_CU121, RAY_NIGHTLY_PY37_CU123, RAY_NIGHTLY_PY38, RAY_NIGHTLY_PY38_CU117, RAY_NIGHTLY_PY38_CU118, RAY_NIGHTLY_PY38_CU121, RAY_NIGHTLY_PY38_CU123, RAY_NIGHTLY_PY39, RAY_NIGHTLY_PY39_CU117, RAY_NIGHTLY_PY39_CU118, RAY_NIGHTLY_PY39_CU121, RAY_NIGHTLY_PY39_CU123] # noqa: E501
1505
1547
 
1506
1548
  """
1507
1549
  Attributes:
@@ -0,0 +1,121 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Managed Ray API
5
+
6
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501
7
+
8
+ The version of the OpenAPI document: 0.1.0
9
+ Generated by: https://openapi-generator.tech
10
+ """
11
+
12
+
13
+ import pprint
14
+ import re # noqa: F401
15
+
16
+ import six
17
+
18
+ from openapi_client.configuration import Configuration
19
+
20
+
21
+ class UpdateCloudCollaborator(object):
22
+ """NOTE: This class is auto generated by OpenAPI Generator.
23
+ Ref: https://openapi-generator.tech
24
+
25
+ Do not edit the class manually.
26
+ """
27
+
28
+ """
29
+ Attributes:
30
+ openapi_types (dict): The key is attribute name
31
+ and the value is attribute type.
32
+ attribute_map (dict): The key is attribute name
33
+ and the value is json key in definition.
34
+ """
35
+ openapi_types = {
36
+ 'permission_level': 'PermissionLevel'
37
+ }
38
+
39
+ attribute_map = {
40
+ 'permission_level': 'permission_level'
41
+ }
42
+
43
+ def __init__(self, permission_level=None, local_vars_configuration=None): # noqa: E501
44
+ """UpdateCloudCollaborator - a model defined in OpenAPI""" # noqa: E501
45
+ if local_vars_configuration is None:
46
+ local_vars_configuration = Configuration()
47
+ self.local_vars_configuration = local_vars_configuration
48
+
49
+ self._permission_level = None
50
+ self.discriminator = None
51
+
52
+ self.permission_level = permission_level
53
+
54
+ @property
55
+ def permission_level(self):
56
+ """Gets the permission_level of this UpdateCloudCollaborator. # noqa: E501
57
+
58
+
59
+ :return: The permission_level of this UpdateCloudCollaborator. # noqa: E501
60
+ :rtype: PermissionLevel
61
+ """
62
+ return self._permission_level
63
+
64
+ @permission_level.setter
65
+ def permission_level(self, permission_level):
66
+ """Sets the permission_level of this UpdateCloudCollaborator.
67
+
68
+
69
+ :param permission_level: The permission_level of this UpdateCloudCollaborator. # noqa: E501
70
+ :type: PermissionLevel
71
+ """
72
+ if self.local_vars_configuration.client_side_validation and permission_level is None: # noqa: E501
73
+ raise ValueError("Invalid value for `permission_level`, must not be `None`") # noqa: E501
74
+
75
+ self._permission_level = permission_level
76
+
77
+ def to_dict(self):
78
+ """Returns the model properties as a dict"""
79
+ result = {}
80
+
81
+ for attr, _ in six.iteritems(self.openapi_types):
82
+ value = getattr(self, attr)
83
+ if isinstance(value, list):
84
+ result[attr] = list(map(
85
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
86
+ value
87
+ ))
88
+ elif hasattr(value, "to_dict"):
89
+ result[attr] = value.to_dict()
90
+ elif isinstance(value, dict):
91
+ result[attr] = dict(map(
92
+ lambda item: (item[0], item[1].to_dict())
93
+ if hasattr(item[1], "to_dict") else item,
94
+ value.items()
95
+ ))
96
+ else:
97
+ result[attr] = value
98
+
99
+ return result
100
+
101
+ def to_str(self):
102
+ """Returns the string representation of the model"""
103
+ return pprint.pformat(self.to_dict())
104
+
105
+ def __repr__(self):
106
+ """For `print` and `pprint`"""
107
+ return self.to_str()
108
+
109
+ def __eq__(self, other):
110
+ """Returns true if both objects are equal"""
111
+ if not isinstance(other, UpdateCloudCollaborator):
112
+ return False
113
+
114
+ return self.to_dict() == other.to_dict()
115
+
116
+ def __ne__(self, other):
117
+ """Returns true if both objects are not equal"""
118
+ if not isinstance(other, UpdateCloudCollaborator):
119
+ return True
120
+
121
+ return self.to_dict() != other.to_dict()
@@ -1,7 +1,9 @@
1
+ from io import StringIO
1
2
  import re
2
3
  from typing import List, Optional
3
4
 
4
5
  import click
6
+ import yaml
5
7
 
6
8
  import anyscale
7
9
  from anyscale.cli_logger import BlockLogger
@@ -11,7 +13,10 @@ from anyscale.cloud.models import CreateCloudCollaborator, CreateCloudCollaborat
11
13
  from anyscale.commands import cloud_commands_util, command_examples
12
14
  from anyscale.commands.util import AnyscaleCommand, OptionPromptNull
13
15
  from anyscale.controllers.cloud_controller import CloudController
14
- from anyscale.util import validate_non_negative_arg
16
+ from anyscale.util import (
17
+ allow_optional_file_storage,
18
+ validate_non_negative_arg,
19
+ )
15
20
 
16
21
 
17
22
  log = BlockLogger() # CLI Logger
@@ -318,11 +323,12 @@ def cloud_config_get(
318
323
  "The positional argument CLOUD_NAME and the keyword argument --name "
319
324
  "were both provided. Please only provide one of these two arguments."
320
325
  )
321
- print(
322
- CloudController().get_cloud_config(
323
- cloud_name=cloud_name or name, cloud_id=cloud_id,
324
- )
326
+ config = CloudController().get_cloud_config(
327
+ cloud_name=cloud_name or name, cloud_id=cloud_id,
325
328
  )
329
+ stream = StringIO()
330
+ yaml.dump(config.spec, stream)
331
+ print(stream.getvalue())
326
332
 
327
333
 
328
334
  @cloud_config_group.command(
@@ -351,13 +357,26 @@ def cloud_config_get(
351
357
  "extra data transfer cost from the cloud provider by enabling this feature."
352
358
  ),
353
359
  )
360
+ @click.option(
361
+ "--spec-file",
362
+ type=str,
363
+ required=False,
364
+ help="Provide a path to a specification file.",
365
+ )
354
366
  def cloud_config_update(
355
367
  cloud_name: Optional[str],
356
368
  name: Optional[str],
357
369
  cloud_id: Optional[str],
358
370
  enable_log_ingestion: Optional[bool],
371
+ spec_file: Optional[str],
359
372
  ) -> None:
373
+ if any([enable_log_ingestion is not None]) and spec_file:
374
+ raise click.ClickException(
375
+ "Please provide only one of the following arguments: --enable-log-ingestion, --disable-log-ingestion, --spec-file."
376
+ )
377
+
360
378
  if any([enable_log_ingestion is not None]):
379
+ # TODO: enable_log_ingestion should be unified into cloud deployment config.
361
380
  if enable_log_ingestion is True:
362
381
  consent_message = click.prompt(
363
382
  "--enable-log-ingestion is specified. Please note the logs produced by "
@@ -387,6 +406,10 @@ def cloud_config_update(
387
406
  cloud_id=cloud_id,
388
407
  enable_log_ingestion=enable_log_ingestion,
389
408
  )
409
+ elif spec_file:
410
+ CloudController().update_cloud_config(
411
+ cloud_name=cloud_name or name, cloud_id=cloud_id, spec_file=spec_file,
412
+ )
390
413
  else:
391
414
  raise click.ClickException(
392
415
  "Please provide at least one of the following arguments: --enable-log-ingestion, --disable-log-ingestion."
@@ -658,10 +681,9 @@ def register_cloud( # noqa: PLR0913, PLR0912, C901
658
681
  # Check for missing required arguments for AWS clouds,
659
682
  # based on the compute stack (not all args are required
660
683
  # on all compute stacks).
661
- for resource in [
684
+ required_resources = [
662
685
  (vpc_id, "--vpc-id", (ComputeStack.VM)),
663
686
  (subnet_ids, "--subnet-ids", (ComputeStack.VM)),
664
- (file_storage_id, "--file-storage-id", (ComputeStack.VM)),
665
687
  (anyscale_iam_role_id, "--anyscale-iam-role-id", (ComputeStack.VM),),
666
688
  (instance_iam_role_id, "--instance-iam-role-id", (ComputeStack.VM)),
667
689
  (security_group_ids, "--security-group-ids", (ComputeStack.VM)),
@@ -676,7 +698,14 @@ def register_cloud( # noqa: PLR0913, PLR0912, C901
676
698
  "--anyscale-operator-iam-identity",
677
699
  (ComputeStack.K8S),
678
700
  ),
679
- ]:
701
+ ]
702
+
703
+ if not allow_optional_file_storage():
704
+ required_resources.append(
705
+ (file_storage_id, "--file-storage-id", (ComputeStack.VM)),
706
+ )
707
+
708
+ for resource in required_resources:
680
709
  if compute_stack in resource[2] and resource[0] is None:
681
710
  missing_args.append(resource[1])
682
711
 
@@ -713,12 +742,10 @@ def register_cloud( # noqa: PLR0913, PLR0912, C901
713
742
  # Keep the parameter naming ({resource}_name or {resource}_id) consistent with GCP to reduce confusion for customers
714
743
  # Check if all required parameters are provided
715
744
  # memorystore_instance_name and host_project_id are optional for GCP clouds
716
- for resource in [
745
+ required_resources = [
717
746
  (project_id, "--project-id", (ComputeStack.VM)),
718
747
  (vpc_name, "--vpc-name", (ComputeStack.VM)),
719
748
  (subnet_names, "--subnet-names", (ComputeStack.VM)),
720
- (file_storage_id, "--file-storage-id", (ComputeStack.VM)),
721
- (filestore_location, "--filestore-location", (ComputeStack.VM)),
722
749
  (
723
750
  anyscale_service_account_email,
724
751
  "--anyscale-service-account-email",
@@ -742,7 +769,17 @@ def register_cloud( # noqa: PLR0913, PLR0912, C901
742
769
  "--anyscale-operator-iam-identity",
743
770
  (ComputeStack.K8S),
744
771
  ),
745
- ]:
772
+ ]
773
+
774
+ if not allow_optional_file_storage():
775
+ required_resources.extend(
776
+ [
777
+ (file_storage_id, "--file-storage-id", (ComputeStack.VM)),
778
+ (filestore_location, "--filestore-location", (ComputeStack.VM)),
779
+ ]
780
+ )
781
+
782
+ for resource in required_resources:
746
783
  if compute_stack in resource[2] and resource[0] is None:
747
784
  missing_args.append(resource[1])
748
785
 
@@ -560,3 +560,7 @@ collaborators:
560
560
  - email: "test2@anyscale.com"
561
561
  permission_level: "readonly"
562
562
  """
563
+
564
+ SERVICE_ARCHIVE_EXAMPLE = """\
565
+ $ anyscale service archive --name my_service
566
+ """
@@ -1,12 +1,19 @@
1
- from typing import Optional
1
+ from typing import List, Optional
2
2
 
3
3
  import click
4
+ from rich import print as rprint
5
+ import tabulate
4
6
 
7
+ import anyscale
5
8
  from anyscale.cli_logger import BlockLogger
6
- from anyscale.controllers.service_account_controller import ServiceAccountController
9
+ from anyscale.service_account.models import ServiceAccount
7
10
  from anyscale.util import validate_non_negative_arg
8
11
 
9
12
 
13
+ DEFAULT_OVERFLOW = "fold"
14
+ DEFAULT_COL_WIDTH = 36
15
+
16
+
10
17
  log = BlockLogger() # CLI Logger
11
18
 
12
19
 
@@ -18,12 +25,45 @@ def service_account_cli() -> None:
18
25
  pass
19
26
 
20
27
 
28
+ def _print_new_api_key(api_key: str):
29
+ log.warning(
30
+ "The following API token for the service account will only appear once:",
31
+ )
32
+ log.info(api_key)
33
+
34
+
35
+ def _print_service_account_table(service_accounts: List[ServiceAccount]):
36
+ table_rows = []
37
+ for service_account in service_accounts:
38
+ table_rows.append(
39
+ [
40
+ service_account.name,
41
+ service_account.created_at.strftime("%m/%d/%Y"),
42
+ service_account.permission_level,
43
+ service_account.email,
44
+ ]
45
+ )
46
+ table = tabulate.tabulate(
47
+ table_rows,
48
+ headers=["NAME", "CREATED AT", "ORGANIZATION PERMISSION LEVEL", "EMAIL",],
49
+ tablefmt="plain",
50
+ )
51
+
52
+ rprint(f"Service accounts:\n{table}")
53
+
54
+
21
55
  @service_account_cli.command(name="create", help="Create a service account.")
22
56
  @click.option(
23
57
  "--name", "-n", help="Name for the service account.", type=str, required=True
24
58
  )
25
59
  def create(name: str) -> None:
26
- ServiceAccountController().create_service_account(name)
60
+ try:
61
+ api_key = anyscale.service_account.create(name)
62
+
63
+ log.info(f"Service account {name} created successfully.")
64
+ _print_new_api_key(api_key)
65
+ except ValueError as e:
66
+ log.error(f"Error creating service account: {e}")
27
67
 
28
68
 
29
69
  @service_account_cli.command(
@@ -36,10 +76,14 @@ def create(name: str) -> None:
36
76
  "--name", help="Name of the service account to create the new key for.", type=str
37
77
  )
38
78
  def create_api_key(email: Optional[str], name: Optional[str]) -> None:
39
- ServiceAccountController().create_new_service_account_api_key(email, name)
79
+ try:
80
+ api_key = anyscale.service_account.create_api_key(email, name)
81
+ _print_new_api_key(api_key)
82
+ except ValueError as e:
83
+ log.error(f"Error creating API key: {e}")
40
84
 
41
85
 
42
- @service_account_cli.command(name="list", help="List all service accounts.")
86
+ @service_account_cli.command(name="list", help="List service accounts.")
43
87
  @click.option(
44
88
  "--max-items",
45
89
  required=False,
@@ -49,14 +93,19 @@ def create_api_key(email: Optional[str], name: Optional[str]) -> None:
49
93
  callback=validate_non_negative_arg,
50
94
  )
51
95
  def list_service_accounts(max_items: int) -> None:
52
- ServiceAccountController().list_service_accounts(max_items)
96
+ service_accounts = anyscale.service_account.list(max_items)
97
+ _print_service_account_table(service_accounts)
53
98
 
54
99
 
55
100
  @service_account_cli.command(name="delete", help="Delete a service account.")
56
101
  @click.option("--email", help="Email of the service account to delete.", type=str)
57
102
  @click.option("--name", help="Name of the service account to delete.", type=str)
58
103
  def delete(email: Optional[str], name: Optional[str]) -> None:
59
- ServiceAccountController().delete_service_account(email, name)
104
+ try:
105
+ anyscale.service_account.delete(email, name)
106
+ log.info(f"Service account {email or name} deleted successfully.")
107
+ except ValueError as e:
108
+ log.error(f"Error deleting service account: {e}")
60
109
 
61
110
 
62
111
  @service_account_cli.command(
@@ -69,4 +118,12 @@ def delete(email: Optional[str], name: Optional[str]) -> None:
69
118
  "--name", help="Rotate API keys for the service account with this name.", type=str
70
119
  )
71
120
  def rotate_api_keys(email: Optional[str], name: Optional[str]) -> None:
72
- ServiceAccountController().rotate_service_account_api_keys(email, name)
121
+ try:
122
+ api_key = anyscale.service_account.rotate_api_keys(email, name)
123
+
124
+ log.info(
125
+ f"\nAll API keys for service account {email or name} rotated successfully."
126
+ )
127
+ _print_new_api_key(api_key)
128
+ except ValueError as e:
129
+ log.error(f"Error rotating API keys: {e}")