anyscale 0.25.0__py3-none-any.whl → 0.25.2__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 (53) hide show
  1. anyscale/__init__.py +10 -0
  2. anyscale/_private/anyscale_client/anyscale_client.py +35 -9
  3. anyscale/_private/anyscale_client/common.py +32 -3
  4. anyscale/_private/anyscale_client/fake_anyscale_client.py +69 -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/client/README.md +4 -0
  9. anyscale/client/openapi_client/__init__.py +2 -0
  10. anyscale/client/openapi_client/api/default_api.py +233 -0
  11. anyscale/client/openapi_client/models/__init__.py +2 -0
  12. anyscale/client/openapi_client/models/baseimagesenum.py +43 -1
  13. anyscale/client/openapi_client/models/decorated_interactive_session.py +1 -57
  14. anyscale/client/openapi_client/models/decorated_job.py +1 -57
  15. anyscale/client/openapi_client/models/decorated_job_submission.py +1 -29
  16. anyscale/client/openapi_client/models/decorated_production_job.py +1 -29
  17. anyscale/client/openapi_client/models/decorated_session.py +1 -57
  18. anyscale/client/openapi_client/models/decorated_unified_job.py +1 -30
  19. anyscale/client/openapi_client/models/ha_jobs_sort_field.py +1 -2
  20. anyscale/client/openapi_client/models/internal_production_job.py +1 -29
  21. anyscale/client/openapi_client/models/jobs_sort_field.py +1 -2
  22. anyscale/client/openapi_client/models/serve_deployment_fast_api_docs_status.py +123 -0
  23. anyscale/client/openapi_client/models/serve_deployment_state.py +2 -1
  24. anyscale/client/openapi_client/models/servedeploymentfastapidocsstatus_response.py +121 -0
  25. anyscale/client/openapi_client/models/sessions_sort_field.py +1 -2
  26. anyscale/client/openapi_client/models/supportedbaseimagesenum.py +43 -1
  27. anyscale/client/openapi_client/models/unified_job_sort_field.py +1 -2
  28. anyscale/commands/cloud_commands.py +25 -8
  29. anyscale/commands/service_account_commands.py +65 -8
  30. anyscale/controllers/cloud_controller.py +29 -21
  31. anyscale/controllers/cluster_controller.py +1 -9
  32. anyscale/controllers/job_controller.py +0 -3
  33. anyscale/resource_quota/_private/resource_quota_sdk.py +15 -6
  34. anyscale/sdk/anyscale_client/api/default_api.py +119 -0
  35. anyscale/sdk/anyscale_client/models/baseimagesenum.py +43 -1
  36. anyscale/sdk/anyscale_client/models/jobs_sort_field.py +1 -2
  37. anyscale/sdk/anyscale_client/models/supportedbaseimagesenum.py +43 -1
  38. anyscale/service_account/__init__.py +88 -0
  39. anyscale/service_account/_private/service_account_sdk.py +101 -0
  40. anyscale/service_account/commands.py +147 -0
  41. anyscale/service_account/models.py +66 -0
  42. anyscale/shared_anyscale_utils/latest_ray_version.py +1 -1
  43. anyscale/shared_anyscale_utils/utils/id_gen.py +1 -0
  44. anyscale/util.py +8 -0
  45. anyscale/version.py +1 -1
  46. {anyscale-0.25.0.dist-info → anyscale-0.25.2.dist-info}/METADATA +1 -1
  47. {anyscale-0.25.0.dist-info → anyscale-0.25.2.dist-info}/RECORD +52 -47
  48. anyscale/controllers/service_account_controller.py +0 -168
  49. {anyscale-0.25.0.dist-info → anyscale-0.25.2.dist-info}/LICENSE +0 -0
  50. {anyscale-0.25.0.dist-info → anyscale-0.25.2.dist-info}/NOTICE +0 -0
  51. {anyscale-0.25.0.dist-info → anyscale-0.25.2.dist-info}/WHEEL +0 -0
  52. {anyscale-0.25.0.dist-info → anyscale-0.25.2.dist-info}/entry_points.txt +0 -0
  53. {anyscale-0.25.0.dist-info → anyscale-0.25.2.dist-info}/top_level.txt +0 -0
@@ -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:
@@ -31,10 +31,9 @@ class UnifiedJobSortField(object):
31
31
  STATUS = "STATUS"
32
32
  FINISHED_AT = "FINISHED_AT"
33
33
  CREATED_AT = "CREATED_AT"
34
- COST = "COST"
35
34
  POSITION_IN_JOB_QUEUE = "POSITION_IN_JOB_QUEUE"
36
35
 
37
- allowable_values = [STATUS, FINISHED_AT, CREATED_AT, COST, POSITION_IN_JOB_QUEUE] # noqa: E501
36
+ allowable_values = [STATUS, FINISHED_AT, CREATED_AT, POSITION_IN_JOB_QUEUE] # noqa: E501
38
37
 
39
38
  """
40
39
  Attributes:
@@ -11,7 +11,10 @@ from anyscale.cloud.models import CreateCloudCollaborator, CreateCloudCollaborat
11
11
  from anyscale.commands import cloud_commands_util, command_examples
12
12
  from anyscale.commands.util import AnyscaleCommand, OptionPromptNull
13
13
  from anyscale.controllers.cloud_controller import CloudController
14
- from anyscale.util import validate_non_negative_arg
14
+ from anyscale.util import (
15
+ allow_optional_file_storage,
16
+ validate_non_negative_arg,
17
+ )
15
18
 
16
19
 
17
20
  log = BlockLogger() # CLI Logger
@@ -658,10 +661,9 @@ def register_cloud( # noqa: PLR0913, PLR0912, C901
658
661
  # Check for missing required arguments for AWS clouds,
659
662
  # based on the compute stack (not all args are required
660
663
  # on all compute stacks).
661
- for resource in [
664
+ required_resources = [
662
665
  (vpc_id, "--vpc-id", (ComputeStack.VM)),
663
666
  (subnet_ids, "--subnet-ids", (ComputeStack.VM)),
664
- (file_storage_id, "--file-storage-id", (ComputeStack.VM)),
665
667
  (anyscale_iam_role_id, "--anyscale-iam-role-id", (ComputeStack.VM),),
666
668
  (instance_iam_role_id, "--instance-iam-role-id", (ComputeStack.VM)),
667
669
  (security_group_ids, "--security-group-ids", (ComputeStack.VM)),
@@ -676,7 +678,14 @@ def register_cloud( # noqa: PLR0913, PLR0912, C901
676
678
  "--anyscale-operator-iam-identity",
677
679
  (ComputeStack.K8S),
678
680
  ),
679
- ]:
681
+ ]
682
+
683
+ if not allow_optional_file_storage():
684
+ required_resources.append(
685
+ (file_storage_id, "--file-storage-id", (ComputeStack.VM)),
686
+ )
687
+
688
+ for resource in required_resources:
680
689
  if compute_stack in resource[2] and resource[0] is None:
681
690
  missing_args.append(resource[1])
682
691
 
@@ -713,12 +722,10 @@ def register_cloud( # noqa: PLR0913, PLR0912, C901
713
722
  # Keep the parameter naming ({resource}_name or {resource}_id) consistent with GCP to reduce confusion for customers
714
723
  # Check if all required parameters are provided
715
724
  # memorystore_instance_name and host_project_id are optional for GCP clouds
716
- for resource in [
725
+ required_resources = [
717
726
  (project_id, "--project-id", (ComputeStack.VM)),
718
727
  (vpc_name, "--vpc-name", (ComputeStack.VM)),
719
728
  (subnet_names, "--subnet-names", (ComputeStack.VM)),
720
- (file_storage_id, "--file-storage-id", (ComputeStack.VM)),
721
- (filestore_location, "--filestore-location", (ComputeStack.VM)),
722
729
  (
723
730
  anyscale_service_account_email,
724
731
  "--anyscale-service-account-email",
@@ -742,7 +749,17 @@ def register_cloud( # noqa: PLR0913, PLR0912, C901
742
749
  "--anyscale-operator-iam-identity",
743
750
  (ComputeStack.K8S),
744
751
  ),
745
- ]:
752
+ ]
753
+
754
+ if not allow_optional_file_storage():
755
+ required_resources.extend(
756
+ [
757
+ (file_storage_id, "--file-storage-id", (ComputeStack.VM)),
758
+ (filestore_location, "--filestore-location", (ComputeStack.VM)),
759
+ ]
760
+ )
761
+
762
+ for resource in required_resources:
746
763
  if compute_stack in resource[2] and resource[0] is None:
747
764
  missing_args.append(resource[1])
748
765
 
@@ -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}")
@@ -1641,12 +1641,14 @@ class CloudController(BaseController):
1641
1641
  logger=logger,
1642
1642
  strict=strict,
1643
1643
  )
1644
- verify_aws_efs_result = verify_aws_efs(
1645
- cloud_resource=cloud_resource,
1646
- boto3_session=boto3_session,
1647
- logger=logger,
1648
- strict=strict,
1649
- )
1644
+ verify_aws_efs_result = True
1645
+ if cloud_resource.aws_efs_id:
1646
+ verify_aws_efs_result = verify_aws_efs(
1647
+ cloud_resource=cloud_resource,
1648
+ boto3_session=boto3_session,
1649
+ logger=logger,
1650
+ strict=strict,
1651
+ )
1650
1652
  # Cloudformation is only used in managed cloud setup. Set to True in BYOR case because it's not used.
1651
1653
  verify_aws_cloudformation_stack_result = True
1652
1654
  if not is_bring_your_own_resource:
@@ -1676,9 +1678,12 @@ class CloudController(BaseController):
1676
1678
  f"iam roles: {self._passed_or_failed_str_from_bool(verify_aws_iam_roles_result)}",
1677
1679
  f"security groups: {self._passed_or_failed_str_from_bool(verify_aws_security_groups_result)}",
1678
1680
  f"s3: {self._passed_or_failed_str_from_bool(verify_aws_s3_result)}",
1679
- f"efs: {self._passed_or_failed_str_from_bool(verify_aws_efs_result)}",
1680
1681
  f"cloudformation stack: {self._passed_or_failed_str_from_bool(verify_aws_cloudformation_stack_result) if not is_bring_your_own_resource else 'N/A'}",
1681
1682
  ]
1683
+ if cloud_resource.aws_efs_id:
1684
+ verification_result_summary.append(
1685
+ f"efs: {self._passed_or_failed_str_from_bool(verify_aws_efs_result)}"
1686
+ )
1682
1687
  if cloud_resource.memorydb_cluster_config is not None:
1683
1688
  verification_result_summary.append(
1684
1689
  f"memorydb cluster: {self._passed_or_failed_str_from_bool(verify_aws_memorydb_cluster_result)}"
@@ -1875,7 +1880,7 @@ class CloudController(BaseController):
1875
1880
  name: str,
1876
1881
  vpc_id: str,
1877
1882
  subnet_ids: List[str],
1878
- efs_id: str,
1883
+ efs_id: Optional[str],
1879
1884
  anyscale_iam_role_id: str,
1880
1885
  instance_iam_role_id: str,
1881
1886
  security_group_ids: List[str],
@@ -2012,10 +2017,7 @@ class CloudController(BaseController):
2012
2017
  # When running on the VM compute stack, validate and retrieve the EFS mount target IP.
2013
2018
  # When running on the K8S compute stack, EFS is optional; if efs_id is provided, then
2014
2019
  # validate and retrieve the EFS mount target IP.
2015
- enable_efs = compute_stack == ComputeStack.VM or (
2016
- compute_stack == ComputeStack.K8S and efs_id
2017
- )
2018
- if enable_efs:
2020
+ if efs_id:
2019
2021
  try:
2020
2022
  boto3_session = boto3.Session(region_name=region)
2021
2023
  aws_efs_mount_target_ip = _get_aws_efs_mount_target_ip(
@@ -2106,7 +2108,8 @@ class CloudController(BaseController):
2106
2108
  # TODO (shomilj): Add verification to the K8S compute stack as well.
2107
2109
  if compute_stack == ComputeStack.VM:
2108
2110
  with self.log.spinner("Verifying cloud resources...") as spinner:
2109
- assert boto3_session is not None
2111
+ if boto3_session is None:
2112
+ boto3_session = boto3.Session(region_name=region)
2110
2113
  if not skip_verifications and not self.verify_aws_cloud_resources(
2111
2114
  cloud_resource=create_cloud_resource,
2112
2115
  boto3_session=boto3_session,
@@ -2264,15 +2267,17 @@ class CloudController(BaseController):
2264
2267
  gcp_logger,
2265
2268
  strict=strict,
2266
2269
  )
2267
- verify_filestore_result = verify_lib.verify_filestore(
2268
- factory, cloud_resource, region, gcp_logger, strict=strict
2269
- )
2270
2270
  verify_cloud_storage_result = verify_lib.verify_cloud_storage(
2271
2271
  factory, cloud_resource, project_id, region, gcp_logger, strict=strict,
2272
2272
  )
2273
2273
  verify_anyscale_access_result = verify_anyscale_access(
2274
2274
  self.api_client, cloud_id, CloudProviders.GCP, self.log
2275
2275
  )
2276
+ verify_filestore_result = True
2277
+ if cloud_resource.gcp_filestore_config.instance_name:
2278
+ verify_filestore_result = verify_lib.verify_filestore(
2279
+ factory, cloud_resource, region, gcp_logger, strict=strict
2280
+ )
2276
2281
  verify_memorystore_result = True
2277
2282
  if cloud_resource.memorystore_instance_config is not None:
2278
2283
  verify_memorystore_result = verify_lib.verify_memorystore(
@@ -2287,10 +2292,13 @@ class CloudController(BaseController):
2287
2292
  f"anyscale iam service account: {self._passed_or_failed_str_from_bool(verify_gcp_access_service_account_result)}",
2288
2293
  f"cluster node service account: {self._passed_or_failed_str_from_bool(verify_gcp_dataplane_service_account_result)}",
2289
2294
  f"firewall policy: {self._passed_or_failed_str_from_bool(verify_firewall_policy_result)}",
2290
- f"filestore: {self._passed_or_failed_str_from_bool(verify_filestore_result)}",
2291
2295
  f"cloud storage: {self._passed_or_failed_str_from_bool(verify_cloud_storage_result)}",
2292
2296
  ]
2293
2297
 
2298
+ if cloud_resource.gcp_filestore_config.instance_name:
2299
+ verification_results.append(
2300
+ f"filestore: {self._passed_or_failed_str_from_bool(verify_filestore_result)}"
2301
+ )
2294
2302
  if cloud_resource.memorystore_instance_config is not None:
2295
2303
  verification_results.append(
2296
2304
  f"memorystore: {self._passed_or_failed_str_from_bool(verify_memorystore_result)}"
@@ -2425,9 +2433,7 @@ class CloudController(BaseController):
2425
2433
  instance_service_account_email = ""
2426
2434
  subnet_names = []
2427
2435
 
2428
- enable_filestore = compute_stack == ComputeStack.VM or (
2429
- filestore_location and filestore_instance_id
2430
- )
2436
+ enable_filestore = filestore_location and filestore_instance_id
2431
2437
 
2432
2438
  # Normally, for Kubernetes clouds, we don't need a VPC name, since networking is managed by Kubernetes.
2433
2439
  # For Kubernetes clouds on GCP where Filestore is enabled, we require the VPC name, since it is needed
@@ -2458,7 +2464,9 @@ class CloudController(BaseController):
2458
2464
  filestore_config = GCPFileStoreConfig(
2459
2465
  instance_name="", mount_target_ip="", root_dir=""
2460
2466
  )
2461
- vpc_name = ""
2467
+ if compute_stack == ComputeStack.K8S:
2468
+ # Set vpc_name to empty string for Kubernetes clouds
2469
+ vpc_name = ""
2462
2470
 
2463
2471
  if memorystore_instance_name:
2464
2472
  memorystore_instance_config = gcp_utils.get_gcp_memorystore_config(
@@ -411,7 +411,6 @@ class ClusterController(BaseController):
411
411
  cluster.id,
412
412
  cluster.state,
413
413
  cluster.cloud_id,
414
- cluster.cost_since_restarted_dollars,
415
414
  get_endpoint(f"/projects/{cluster.project_id}/clusters/{cluster.id}"),
416
415
  ]
417
416
  for cluster in cluster_list
@@ -419,14 +418,7 @@ class ClusterController(BaseController):
419
418
 
420
419
  table = tabulate.tabulate(
421
420
  clusters_table,
422
- headers=[
423
- "NAME",
424
- "ID",
425
- "STATE",
426
- "CLOUD ID",
427
- "COST SINCE LAST START",
428
- "URL",
429
- ],
421
+ headers=["NAME", "ID", "STATE", "CLOUD ID", "URL",],
430
422
  tablefmt="plain",
431
423
  )
432
424
  print(f"Clusters:\n{table}")
@@ -316,7 +316,6 @@ class JobController(BaseController):
316
316
  output_map = {
317
317
  "Name": job.name,
318
318
  "Id": job.id,
319
- "Cost (dollars)": job.cost_dollars,
320
319
  "Project name": job.project.name,
321
320
  "Cluster name": job.last_job_run.cluster.name
322
321
  if job.last_job_run and job.last_job_run.cluster
@@ -371,7 +370,6 @@ class JobController(BaseController):
371
370
  [
372
371
  job.name,
373
372
  job.id,
374
- job.cost_dollars,
375
373
  job.project.name,
376
374
  job.last_job_run.cluster.name
377
375
  if job.last_job_run and job.last_job_run.cluster
@@ -390,7 +388,6 @@ class JobController(BaseController):
390
388
  headers=[
391
389
  "NAME",
392
390
  "ID",
393
- "COST",
394
391
  "PROJECT NAME",
395
392
  "CLUSTER NAME",
396
393
  "CURRENT STATE",
@@ -22,13 +22,22 @@ class PrivateResourceQuotaSDK(BaseSDK):
22
22
  else None
23
23
  )
24
24
 
25
- user_id = (
26
- self.client.get_organization_collaborator(
25
+ user_id = None
26
+ if create_resource_quota.user_email:
27
+ users = self.client.get_organization_collaborators(
27
28
  email=create_resource_quota.user_email
28
- ).user_id
29
- if create_resource_quota.user_email
30
- else None
31
- )
29
+ )
30
+
31
+ if len(users) == 0:
32
+ raise ValueError(
33
+ f"User with email '{create_resource_quota.user_email}' not found."
34
+ )
35
+
36
+ if len(users) > 1:
37
+ raise ValueError(
38
+ f"Multiple users found for email '{create_resource_quota.user_email}'. Please contact Anyscale support."
39
+ )
40
+ user_id = users[0].user_id
32
41
 
33
42
  create_resource_quota_model = CreateResourceQuotaModel(
34
43
  name=create_resource_quota.name,