ilovevideoeditor-sdk 1.0.0
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.
- checksums.yaml +7 -0
- data/lib/generated/ilovevideoeditor-sdk/api/api_keys_api.rb +204 -0
- data/lib/generated/ilovevideoeditor-sdk/api/assets_api.rb +632 -0
- data/lib/generated/ilovevideoeditor-sdk/api/billing_api.rb +428 -0
- data/lib/generated/ilovevideoeditor-sdk/api/health_api.rb +134 -0
- data/lib/generated/ilovevideoeditor-sdk/api/integrations_api.rb +587 -0
- data/lib/generated/ilovevideoeditor-sdk/api/projects_api.rb +614 -0
- data/lib/generated/ilovevideoeditor-sdk/api/render_api.rb +656 -0
- data/lib/generated/ilovevideoeditor-sdk/api/renditions_api.rb +420 -0
- data/lib/generated/ilovevideoeditor-sdk/api/templates_api.rb +217 -0
- data/lib/generated/ilovevideoeditor-sdk/api/tools_api.rb +220 -0
- data/lib/generated/ilovevideoeditor-sdk/api/webhooks_api.rb +204 -0
- data/lib/generated/ilovevideoeditor-sdk/api/workflows_api.rb +854 -0
- data/lib/generated/ilovevideoeditor-sdk/api_client.rb +397 -0
- data/lib/generated/ilovevideoeditor-sdk/api_error.rb +58 -0
- data/lib/generated/ilovevideoeditor-sdk/api_model_base.rb +88 -0
- data/lib/generated/ilovevideoeditor-sdk/configuration.rb +316 -0
- data/lib/generated/ilovevideoeditor-sdk/models/api_key.rb +246 -0
- data/lib/generated/ilovevideoeditor-sdk/models/api_key_with_secret.rb +191 -0
- data/lib/generated/ilovevideoeditor-sdk/models/asset.rb +404 -0
- data/lib/generated/ilovevideoeditor-sdk/models/asset_create.rb +303 -0
- data/lib/generated/ilovevideoeditor-sdk/models/asset_upload_url_response.rb +295 -0
- data/lib/generated/ilovevideoeditor-sdk/models/batch_delete_projects_request.rb +184 -0
- data/lib/generated/ilovevideoeditor-sdk/models/batch_delete_result.rb +175 -0
- data/lib/generated/ilovevideoeditor-sdk/models/billing_prices.rb +158 -0
- data/lib/generated/ilovevideoeditor-sdk/models/billing_prices_tiers.rb +168 -0
- data/lib/generated/ilovevideoeditor-sdk/models/billing_subscription.rb +254 -0
- data/lib/generated/ilovevideoeditor-sdk/models/cancel_render200_response.rb +225 -0
- data/lib/generated/ilovevideoeditor-sdk/models/create_api_key_request.rb +147 -0
- data/lib/generated/ilovevideoeditor-sdk/models/create_asset201_response.rb +164 -0
- data/lib/generated/ilovevideoeditor-sdk/models/create_checkout_session200_response.rb +164 -0
- data/lib/generated/ilovevideoeditor-sdk/models/create_checkout_session_request.rb +220 -0
- data/lib/generated/ilovevideoeditor-sdk/models/create_integration201_response.rb +164 -0
- data/lib/generated/ilovevideoeditor-sdk/models/create_project200_response.rb +164 -0
- data/lib/generated/ilovevideoeditor-sdk/models/create_workflow201_response.rb +164 -0
- data/lib/generated/ilovevideoeditor-sdk/models/create_workflow_request.rb +208 -0
- data/lib/generated/ilovevideoeditor-sdk/models/credit_balance.rb +219 -0
- data/lib/generated/ilovevideoeditor-sdk/models/credit_balance_summary.rb +174 -0
- data/lib/generated/ilovevideoeditor-sdk/models/credit_balance_usage.rb +156 -0
- data/lib/generated/ilovevideoeditor-sdk/models/delete_project200_response.rb +190 -0
- data/lib/generated/ilovevideoeditor-sdk/models/destination.rb +331 -0
- data/lib/generated/ilovevideoeditor-sdk/models/destination_input.rb +304 -0
- data/lib/generated/ilovevideoeditor-sdk/models/error.rb +182 -0
- data/lib/generated/ilovevideoeditor-sdk/models/estimate_render_cost_request.rb +164 -0
- data/lib/generated/ilovevideoeditor-sdk/models/get_asset_signed_url200_response.rb +164 -0
- data/lib/generated/ilovevideoeditor-sdk/models/get_asset_upload_url_request.rb +214 -0
- data/lib/generated/ilovevideoeditor-sdk/models/get_destination200_response.rb +164 -0
- data/lib/generated/ilovevideoeditor-sdk/models/get_project200_response.rb +173 -0
- data/lib/generated/ilovevideoeditor-sdk/models/get_project_stats200_response.rb +164 -0
- data/lib/generated/ilovevideoeditor-sdk/models/get_render_download_url200_response.rb +190 -0
- data/lib/generated/ilovevideoeditor-sdk/models/get_rendition200_response.rb +164 -0
- data/lib/generated/ilovevideoeditor-sdk/models/get_subscription200_response.rb +164 -0
- data/lib/generated/ilovevideoeditor-sdk/models/get_template200_response.rb +164 -0
- data/lib/generated/ilovevideoeditor-sdk/models/get_usage200_response.rb +166 -0
- data/lib/generated/ilovevideoeditor-sdk/models/get_workflow200_response.rb +175 -0
- data/lib/generated/ilovevideoeditor-sdk/models/get_workflow_run200_response.rb +175 -0
- data/lib/generated/ilovevideoeditor-sdk/models/health_check200_response.rb +147 -0
- data/lib/generated/ilovevideoeditor-sdk/models/health_check_detailed200_response.rb +199 -0
- data/lib/generated/ilovevideoeditor-sdk/models/health_check_detailed200_response_services.rb +156 -0
- data/lib/generated/ilovevideoeditor-sdk/models/list_api_keys200_response.rb +166 -0
- data/lib/generated/ilovevideoeditor-sdk/models/list_assets200_response.rb +185 -0
- data/lib/generated/ilovevideoeditor-sdk/models/list_integrations200_response.rb +166 -0
- data/lib/generated/ilovevideoeditor-sdk/models/list_invoices200_response.rb +158 -0
- data/lib/generated/ilovevideoeditor-sdk/models/list_projects200_response.rb +185 -0
- data/lib/generated/ilovevideoeditor-sdk/models/list_renditions200_response.rb +185 -0
- data/lib/generated/ilovevideoeditor-sdk/models/list_templates200_response.rb +166 -0
- data/lib/generated/ilovevideoeditor-sdk/models/list_webhook_subscriptions200_response.rb +166 -0
- data/lib/generated/ilovevideoeditor-sdk/models/list_workflow_runs200_response.rb +185 -0
- data/lib/generated/ilovevideoeditor-sdk/models/list_workflow_step_types200_response.rb +166 -0
- data/lib/generated/ilovevideoeditor-sdk/models/list_workflows200_response.rb +185 -0
- data/lib/generated/ilovevideoeditor-sdk/models/project.rb +329 -0
- data/lib/generated/ilovevideoeditor-sdk/models/project_create.rb +218 -0
- data/lib/generated/ilovevideoeditor-sdk/models/project_update.rb +239 -0
- data/lib/generated/ilovevideoeditor-sdk/models/queue_render200_response.rb +199 -0
- data/lib/generated/ilovevideoeditor-sdk/models/queue_render_request.rb +182 -0
- data/lib/generated/ilovevideoeditor-sdk/models/refresh_render_url200_response.rb +190 -0
- data/lib/generated/ilovevideoeditor-sdk/models/render_cost_estimate.rb +254 -0
- data/lib/generated/ilovevideoeditor-sdk/models/render_cost_estimate_resolution.rb +165 -0
- data/lib/generated/ilovevideoeditor-sdk/models/render_cost_estimate_tier.rb +165 -0
- data/lib/generated/ilovevideoeditor-sdk/models/render_job.rb +271 -0
- data/lib/generated/ilovevideoeditor-sdk/models/render_job_progress.rb +165 -0
- data/lib/generated/ilovevideoeditor-sdk/models/render_list_item.rb +356 -0
- data/lib/generated/ilovevideoeditor-sdk/models/render_template_request.rb +167 -0
- data/lib/generated/ilovevideoeditor-sdk/models/render_webhook_payload.rb +357 -0
- data/lib/generated/ilovevideoeditor-sdk/models/rendition.rb +335 -0
- data/lib/generated/ilovevideoeditor-sdk/models/rendition_cancel_result.rb +236 -0
- data/lib/generated/ilovevideoeditor-sdk/models/rendition_output.rb +233 -0
- data/lib/generated/ilovevideoeditor-sdk/models/rendition_stats.rb +192 -0
- data/lib/generated/ilovevideoeditor-sdk/models/run_workflow202_response.rb +164 -0
- data/lib/generated/ilovevideoeditor-sdk/models/run_workflow_request.rb +149 -0
- data/lib/generated/ilovevideoeditor-sdk/models/service_health.rb +208 -0
- data/lib/generated/ilovevideoeditor-sdk/models/template.rb +324 -0
- data/lib/generated/ilovevideoeditor-sdk/models/template_summary.rb +322 -0
- data/lib/generated/ilovevideoeditor-sdk/models/test_integration200_response.rb +174 -0
- data/lib/generated/ilovevideoeditor-sdk/models/tier_info.rb +214 -0
- data/lib/generated/ilovevideoeditor-sdk/models/tier_info_credits.rb +165 -0
- data/lib/generated/ilovevideoeditor-sdk/models/tool_job_request.rb +242 -0
- data/lib/generated/ilovevideoeditor-sdk/models/tool_job_request_dimensions.rb +208 -0
- data/lib/generated/ilovevideoeditor-sdk/models/tool_job_status.rb +310 -0
- data/lib/generated/ilovevideoeditor-sdk/models/track_render_bandwidth200_response.rb +164 -0
- data/lib/generated/ilovevideoeditor-sdk/models/update_workflow_request.rb +174 -0
- data/lib/generated/ilovevideoeditor-sdk/models/upload_asset200_response.rb +164 -0
- data/lib/generated/ilovevideoeditor-sdk/models/usage_log.rb +302 -0
- data/lib/generated/ilovevideoeditor-sdk/models/video_json.rb +243 -0
- data/lib/generated/ilovevideoeditor-sdk/models/video_json_destination.rb +227 -0
- data/lib/generated/ilovevideoeditor-sdk/models/webhook_subscription.rb +283 -0
- data/lib/generated/ilovevideoeditor-sdk/models/webhook_subscription_create.rb +204 -0
- data/lib/generated/ilovevideoeditor-sdk/models/workflow.rb +356 -0
- data/lib/generated/ilovevideoeditor-sdk/models/workflow_definition.rb +262 -0
- data/lib/generated/ilovevideoeditor-sdk/models/workflow_run.rb +372 -0
- data/lib/generated/ilovevideoeditor-sdk/models/workflow_run_step.rb +409 -0
- data/lib/generated/ilovevideoeditor-sdk/models/workflow_step.rb +262 -0
- data/lib/generated/ilovevideoeditor-sdk/models/workflow_variable.rb +242 -0
- data/lib/generated/ilovevideoeditor-sdk/models/workspace_integration.rb +398 -0
- data/lib/generated/ilovevideoeditor-sdk/models/workspace_integration_input.rb +260 -0
- data/lib/generated/ilovevideoeditor-sdk/version.rb +15 -0
- data/lib/generated/ilovevideoeditor-sdk.rb +150 -0
- data/lib/ilovevideoeditor/client.rb +106 -0
- data/lib/ilovevideoeditor-sdk.rb +2 -0
- metadata +181 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: 31f14b45ba6a1b56514a9d7f66ef34e8b05a0a7d43bc69b0b7b53f68c547b7fe
|
|
4
|
+
data.tar.gz: ff4b215c6ff1d1ea8a2e4f630f1c8de5e6638176216d0d89fbbfac21cc81a20e
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: 4a3352ca1ff75bc67552ef79c9d6a3860e7184bd750bb4401b112698b0aa67999479d7fe382bcf8ff8deaf4b2009feda42d0131cc6b812b1bb27c1484848478a
|
|
7
|
+
data.tar.gz: f55f21b85e52f881512d91de3d999d5673ff873a399cafc74c0653b88a868db655910549fb2dffdada579debeb38141ec071530a110fbff9b75d781ca03a1adb
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#iLoveVideoEditor API
|
|
3
|
+
|
|
4
|
+
#Cloud video rendering API for iLoveVideoEditor. Submit a `VideoJSON` payload, queue a render job, and download the resulting MP4. **Authentication** - **API Key** (`x-api-key` header) — accepted by render pipeline and tool endpoints. - **Bearer Token** (`Authorization: Bearer <jwt>`) — required for user-scoped project, asset, billing, and webhook endpoints. - Many endpoints accept either form of authentication. **SDKs** Official typed SDKs are available for JavaScript/TypeScript, PHP, Python, Ruby, and Go. See https://ilovevideoeditor.com/docs/sdks **Outbound Webhooks** Render lifecycle events (`render.completed`, `render.failed`) are delivered to your endpoints as signed HTTP POST requests. See the `Webhooks` tag and the root-level `x-webhook-docs` extension for the payload format (`RenderWebhookPayload`), signature headers, HMAC verification, and the retry policy.
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 1.0.0
|
|
7
|
+
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.22.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'cgi'
|
|
14
|
+
|
|
15
|
+
module ILoveVideoEditor
|
|
16
|
+
class APIKeysApi
|
|
17
|
+
attr_accessor :api_client
|
|
18
|
+
|
|
19
|
+
def initialize(api_client = ApiClient.default)
|
|
20
|
+
@api_client = api_client
|
|
21
|
+
end
|
|
22
|
+
# Create an API key
|
|
23
|
+
# @param create_api_key_request [CreateApiKeyRequest]
|
|
24
|
+
# @param [Hash] opts the optional parameters
|
|
25
|
+
# @return [ApiKeyWithSecret]
|
|
26
|
+
def create_api_key(create_api_key_request, opts = {})
|
|
27
|
+
data, _status_code, _headers = create_api_key_with_http_info(create_api_key_request, opts)
|
|
28
|
+
data
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
# Create an API key
|
|
32
|
+
# @param create_api_key_request [CreateApiKeyRequest]
|
|
33
|
+
# @param [Hash] opts the optional parameters
|
|
34
|
+
# @return [Array<(ApiKeyWithSecret, Integer, Hash)>] ApiKeyWithSecret data, response status code and response headers
|
|
35
|
+
def create_api_key_with_http_info(create_api_key_request, opts = {})
|
|
36
|
+
if @api_client.config.debugging
|
|
37
|
+
@api_client.config.logger.debug 'Calling API: APIKeysApi.create_api_key ...'
|
|
38
|
+
end
|
|
39
|
+
# verify the required parameter 'create_api_key_request' is set
|
|
40
|
+
if @api_client.config.client_side_validation && create_api_key_request.nil?
|
|
41
|
+
fail ArgumentError, "Missing the required parameter 'create_api_key_request' when calling APIKeysApi.create_api_key"
|
|
42
|
+
end
|
|
43
|
+
# resource path
|
|
44
|
+
local_var_path = '/v1/api-keys'
|
|
45
|
+
|
|
46
|
+
# query parameters
|
|
47
|
+
query_params = opts[:query_params] || {}
|
|
48
|
+
|
|
49
|
+
# header parameters
|
|
50
|
+
header_params = opts[:header_params] || {}
|
|
51
|
+
# HTTP header 'Accept' (if needed)
|
|
52
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
|
53
|
+
# HTTP header 'Content-Type'
|
|
54
|
+
content_type = @api_client.select_header_content_type(['application/json'])
|
|
55
|
+
if !content_type.nil?
|
|
56
|
+
header_params['Content-Type'] = content_type
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
# form parameters
|
|
60
|
+
form_params = opts[:form_params] || {}
|
|
61
|
+
|
|
62
|
+
# http body (model)
|
|
63
|
+
post_body = opts[:debug_body] || @api_client.object_to_http_body(create_api_key_request)
|
|
64
|
+
|
|
65
|
+
# return_type
|
|
66
|
+
return_type = opts[:debug_return_type] || 'ApiKeyWithSecret'
|
|
67
|
+
|
|
68
|
+
# auth_names
|
|
69
|
+
auth_names = opts[:debug_auth_names] || ['BearerAuth']
|
|
70
|
+
|
|
71
|
+
new_options = opts.merge(
|
|
72
|
+
:operation => :"APIKeysApi.create_api_key",
|
|
73
|
+
:header_params => header_params,
|
|
74
|
+
:query_params => query_params,
|
|
75
|
+
:form_params => form_params,
|
|
76
|
+
:body => post_body,
|
|
77
|
+
:auth_names => auth_names,
|
|
78
|
+
:return_type => return_type
|
|
79
|
+
)
|
|
80
|
+
|
|
81
|
+
data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
|
|
82
|
+
if @api_client.config.debugging
|
|
83
|
+
@api_client.config.logger.debug "API called: APIKeysApi#create_api_key\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
84
|
+
end
|
|
85
|
+
return data, status_code, headers
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
# Delete an API key
|
|
89
|
+
# @param id [String]
|
|
90
|
+
# @param [Hash] opts the optional parameters
|
|
91
|
+
# @return [UploadAsset200Response]
|
|
92
|
+
def delete_api_key(id, opts = {})
|
|
93
|
+
data, _status_code, _headers = delete_api_key_with_http_info(id, opts)
|
|
94
|
+
data
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
# Delete an API key
|
|
98
|
+
# @param id [String]
|
|
99
|
+
# @param [Hash] opts the optional parameters
|
|
100
|
+
# @return [Array<(UploadAsset200Response, Integer, Hash)>] UploadAsset200Response data, response status code and response headers
|
|
101
|
+
def delete_api_key_with_http_info(id, opts = {})
|
|
102
|
+
if @api_client.config.debugging
|
|
103
|
+
@api_client.config.logger.debug 'Calling API: APIKeysApi.delete_api_key ...'
|
|
104
|
+
end
|
|
105
|
+
# verify the required parameter 'id' is set
|
|
106
|
+
if @api_client.config.client_side_validation && id.nil?
|
|
107
|
+
fail ArgumentError, "Missing the required parameter 'id' when calling APIKeysApi.delete_api_key"
|
|
108
|
+
end
|
|
109
|
+
# resource path
|
|
110
|
+
local_var_path = '/v1/api-keys/{id}'.sub('{id}', CGI.escape(id.to_s))
|
|
111
|
+
|
|
112
|
+
# query parameters
|
|
113
|
+
query_params = opts[:query_params] || {}
|
|
114
|
+
|
|
115
|
+
# header parameters
|
|
116
|
+
header_params = opts[:header_params] || {}
|
|
117
|
+
# HTTP header 'Accept' (if needed)
|
|
118
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
|
119
|
+
|
|
120
|
+
# form parameters
|
|
121
|
+
form_params = opts[:form_params] || {}
|
|
122
|
+
|
|
123
|
+
# http body (model)
|
|
124
|
+
post_body = opts[:debug_body]
|
|
125
|
+
|
|
126
|
+
# return_type
|
|
127
|
+
return_type = opts[:debug_return_type] || 'UploadAsset200Response'
|
|
128
|
+
|
|
129
|
+
# auth_names
|
|
130
|
+
auth_names = opts[:debug_auth_names] || ['BearerAuth']
|
|
131
|
+
|
|
132
|
+
new_options = opts.merge(
|
|
133
|
+
:operation => :"APIKeysApi.delete_api_key",
|
|
134
|
+
:header_params => header_params,
|
|
135
|
+
:query_params => query_params,
|
|
136
|
+
:form_params => form_params,
|
|
137
|
+
:body => post_body,
|
|
138
|
+
:auth_names => auth_names,
|
|
139
|
+
:return_type => return_type
|
|
140
|
+
)
|
|
141
|
+
|
|
142
|
+
data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
|
|
143
|
+
if @api_client.config.debugging
|
|
144
|
+
@api_client.config.logger.debug "API called: APIKeysApi#delete_api_key\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
145
|
+
end
|
|
146
|
+
return data, status_code, headers
|
|
147
|
+
end
|
|
148
|
+
|
|
149
|
+
# List API keys
|
|
150
|
+
# @param [Hash] opts the optional parameters
|
|
151
|
+
# @return [ListApiKeys200Response]
|
|
152
|
+
def list_api_keys(opts = {})
|
|
153
|
+
data, _status_code, _headers = list_api_keys_with_http_info(opts)
|
|
154
|
+
data
|
|
155
|
+
end
|
|
156
|
+
|
|
157
|
+
# List API keys
|
|
158
|
+
# @param [Hash] opts the optional parameters
|
|
159
|
+
# @return [Array<(ListApiKeys200Response, Integer, Hash)>] ListApiKeys200Response data, response status code and response headers
|
|
160
|
+
def list_api_keys_with_http_info(opts = {})
|
|
161
|
+
if @api_client.config.debugging
|
|
162
|
+
@api_client.config.logger.debug 'Calling API: APIKeysApi.list_api_keys ...'
|
|
163
|
+
end
|
|
164
|
+
# resource path
|
|
165
|
+
local_var_path = '/v1/api-keys'
|
|
166
|
+
|
|
167
|
+
# query parameters
|
|
168
|
+
query_params = opts[:query_params] || {}
|
|
169
|
+
|
|
170
|
+
# header parameters
|
|
171
|
+
header_params = opts[:header_params] || {}
|
|
172
|
+
# HTTP header 'Accept' (if needed)
|
|
173
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
|
174
|
+
|
|
175
|
+
# form parameters
|
|
176
|
+
form_params = opts[:form_params] || {}
|
|
177
|
+
|
|
178
|
+
# http body (model)
|
|
179
|
+
post_body = opts[:debug_body]
|
|
180
|
+
|
|
181
|
+
# return_type
|
|
182
|
+
return_type = opts[:debug_return_type] || 'ListApiKeys200Response'
|
|
183
|
+
|
|
184
|
+
# auth_names
|
|
185
|
+
auth_names = opts[:debug_auth_names] || ['BearerAuth']
|
|
186
|
+
|
|
187
|
+
new_options = opts.merge(
|
|
188
|
+
:operation => :"APIKeysApi.list_api_keys",
|
|
189
|
+
:header_params => header_params,
|
|
190
|
+
:query_params => query_params,
|
|
191
|
+
:form_params => form_params,
|
|
192
|
+
:body => post_body,
|
|
193
|
+
:auth_names => auth_names,
|
|
194
|
+
:return_type => return_type
|
|
195
|
+
)
|
|
196
|
+
|
|
197
|
+
data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
|
|
198
|
+
if @api_client.config.debugging
|
|
199
|
+
@api_client.config.logger.debug "API called: APIKeysApi#list_api_keys\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
200
|
+
end
|
|
201
|
+
return data, status_code, headers
|
|
202
|
+
end
|
|
203
|
+
end
|
|
204
|
+
end
|