1/**
2 * Copyright 2016 IBM Corp.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 *    http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17/**
18 * AUTOMATICALLY GENERATED CODE - DO NOT MODIFY
19 */
20
21package services
22
23import (
24	"fmt"
25	"strings"
26
27	"github.com/softlayer/softlayer-go/datatypes"
28	"github.com/softlayer/softlayer-go/session"
29	"github.com/softlayer/softlayer-go/sl"
30)
31
32// The SoftLayer_Provisioning_Hook contains all the information needed to add a hook into a server/Virtual provision and os reload.
33type Provisioning_Hook struct {
34	Session *session.Session
35	Options sl.Options
36}
37
38// GetProvisioningHookService returns an instance of the Provisioning_Hook SoftLayer service
39func GetProvisioningHookService(sess *session.Session) Provisioning_Hook {
40	return Provisioning_Hook{Session: sess}
41}
42
43func (r Provisioning_Hook) Id(id int) Provisioning_Hook {
44	r.Options.Id = &id
45	return r
46}
47
48func (r Provisioning_Hook) Mask(mask string) Provisioning_Hook {
49	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
50		mask = fmt.Sprintf("mask[%s]", mask)
51	}
52
53	r.Options.Mask = mask
54	return r
55}
56
57func (r Provisioning_Hook) Filter(filter string) Provisioning_Hook {
58	r.Options.Filter = filter
59	return r
60}
61
62func (r Provisioning_Hook) Limit(limit int) Provisioning_Hook {
63	r.Options.Limit = &limit
64	return r
65}
66
67func (r Provisioning_Hook) Offset(offset int) Provisioning_Hook {
68	r.Options.Offset = &offset
69	return r
70}
71
72// no documentation yet
73func (r Provisioning_Hook) CreateObject(templateObject *datatypes.Provisioning_Hook) (resp datatypes.Provisioning_Hook, err error) {
74	params := []interface{}{
75		templateObject,
76	}
77	err = r.Session.DoRequest("SoftLayer_Provisioning_Hook", "createObject", params, &r.Options, &resp)
78	return
79}
80
81// no documentation yet
82func (r Provisioning_Hook) DeleteObject() (resp bool, err error) {
83	err = r.Session.DoRequest("SoftLayer_Provisioning_Hook", "deleteObject", nil, &r.Options, &resp)
84	return
85}
86
87// no documentation yet
88func (r Provisioning_Hook) EditObject(templateObject *datatypes.Provisioning_Hook) (resp bool, err error) {
89	params := []interface{}{
90		templateObject,
91	}
92	err = r.Session.DoRequest("SoftLayer_Provisioning_Hook", "editObject", params, &r.Options, &resp)
93	return
94}
95
96// Retrieve
97func (r Provisioning_Hook) GetAccount() (resp datatypes.Account, err error) {
98	err = r.Session.DoRequest("SoftLayer_Provisioning_Hook", "getAccount", nil, &r.Options, &resp)
99	return
100}
101
102// Retrieve
103func (r Provisioning_Hook) GetHookType() (resp datatypes.Provisioning_Hook_Type, err error) {
104	err = r.Session.DoRequest("SoftLayer_Provisioning_Hook", "getHookType", nil, &r.Options, &resp)
105	return
106}
107
108// no documentation yet
109func (r Provisioning_Hook) GetObject() (resp datatypes.Provisioning_Hook, err error) {
110	err = r.Session.DoRequest("SoftLayer_Provisioning_Hook", "getObject", nil, &r.Options, &resp)
111	return
112}
113
114// no documentation yet
115type Provisioning_Hook_Type struct {
116	Session *session.Session
117	Options sl.Options
118}
119
120// GetProvisioningHookTypeService returns an instance of the Provisioning_Hook_Type SoftLayer service
121func GetProvisioningHookTypeService(sess *session.Session) Provisioning_Hook_Type {
122	return Provisioning_Hook_Type{Session: sess}
123}
124
125func (r Provisioning_Hook_Type) Id(id int) Provisioning_Hook_Type {
126	r.Options.Id = &id
127	return r
128}
129
130func (r Provisioning_Hook_Type) Mask(mask string) Provisioning_Hook_Type {
131	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
132		mask = fmt.Sprintf("mask[%s]", mask)
133	}
134
135	r.Options.Mask = mask
136	return r
137}
138
139func (r Provisioning_Hook_Type) Filter(filter string) Provisioning_Hook_Type {
140	r.Options.Filter = filter
141	return r
142}
143
144func (r Provisioning_Hook_Type) Limit(limit int) Provisioning_Hook_Type {
145	r.Options.Limit = &limit
146	return r
147}
148
149func (r Provisioning_Hook_Type) Offset(offset int) Provisioning_Hook_Type {
150	r.Options.Offset = &offset
151	return r
152}
153
154// no documentation yet
155func (r Provisioning_Hook_Type) GetAllHookTypes() (resp []datatypes.Provisioning_Hook_Type, err error) {
156	err = r.Session.DoRequest("SoftLayer_Provisioning_Hook_Type", "getAllHookTypes", nil, &r.Options, &resp)
157	return
158}
159
160// no documentation yet
161func (r Provisioning_Hook_Type) GetObject() (resp datatypes.Provisioning_Hook_Type, err error) {
162	err = r.Session.DoRequest("SoftLayer_Provisioning_Hook_Type", "getObject", nil, &r.Options, &resp)
163	return
164}
165
166// The SoftLayer_Provisioning_Maintenance_Classification represent a maintenance type for the specific hardware maintenance desired.
167type Provisioning_Maintenance_Classification struct {
168	Session *session.Session
169	Options sl.Options
170}
171
172// GetProvisioningMaintenanceClassificationService returns an instance of the Provisioning_Maintenance_Classification SoftLayer service
173func GetProvisioningMaintenanceClassificationService(sess *session.Session) Provisioning_Maintenance_Classification {
174	return Provisioning_Maintenance_Classification{Session: sess}
175}
176
177func (r Provisioning_Maintenance_Classification) Id(id int) Provisioning_Maintenance_Classification {
178	r.Options.Id = &id
179	return r
180}
181
182func (r Provisioning_Maintenance_Classification) Mask(mask string) Provisioning_Maintenance_Classification {
183	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
184		mask = fmt.Sprintf("mask[%s]", mask)
185	}
186
187	r.Options.Mask = mask
188	return r
189}
190
191func (r Provisioning_Maintenance_Classification) Filter(filter string) Provisioning_Maintenance_Classification {
192	r.Options.Filter = filter
193	return r
194}
195
196func (r Provisioning_Maintenance_Classification) Limit(limit int) Provisioning_Maintenance_Classification {
197	r.Options.Limit = &limit
198	return r
199}
200
201func (r Provisioning_Maintenance_Classification) Offset(offset int) Provisioning_Maintenance_Classification {
202	r.Options.Offset = &offset
203	return r
204}
205
206// Retrieve
207func (r Provisioning_Maintenance_Classification) GetItemCategories() (resp []datatypes.Provisioning_Maintenance_Classification_Item_Category, err error) {
208	err = r.Session.DoRequest("SoftLayer_Provisioning_Maintenance_Classification", "getItemCategories", nil, &r.Options, &resp)
209	return
210}
211
212// Retrieve an array of SoftLayer_Provisioning_Maintenance_Classification data types, which contain all maintenance classifications.
213func (r Provisioning_Maintenance_Classification) GetMaintenanceClassification(maintenanceClassificationId *int) (resp []datatypes.Provisioning_Maintenance_Classification, err error) {
214	params := []interface{}{
215		maintenanceClassificationId,
216	}
217	err = r.Session.DoRequest("SoftLayer_Provisioning_Maintenance_Classification", "getMaintenanceClassification", params, &r.Options, &resp)
218	return
219}
220
221// Retrieve an array of SoftLayer_Provisioning_Maintenance_Classification data types, which contain all maintenance classifications.
222func (r Provisioning_Maintenance_Classification) GetMaintenanceClassificationsByItemCategory() (resp []datatypes.Provisioning_Maintenance_Classification_Item_Category, err error) {
223	err = r.Session.DoRequest("SoftLayer_Provisioning_Maintenance_Classification", "getMaintenanceClassificationsByItemCategory", nil, &r.Options, &resp)
224	return
225}
226
227// no documentation yet
228func (r Provisioning_Maintenance_Classification) GetObject() (resp datatypes.Provisioning_Maintenance_Classification, err error) {
229	err = r.Session.DoRequest("SoftLayer_Provisioning_Maintenance_Classification", "getObject", nil, &r.Options, &resp)
230	return
231}
232
233// no documentation yet
234type Provisioning_Maintenance_Classification_Item_Category struct {
235	Session *session.Session
236	Options sl.Options
237}
238
239// GetProvisioningMaintenanceClassificationItemCategoryService returns an instance of the Provisioning_Maintenance_Classification_Item_Category SoftLayer service
240func GetProvisioningMaintenanceClassificationItemCategoryService(sess *session.Session) Provisioning_Maintenance_Classification_Item_Category {
241	return Provisioning_Maintenance_Classification_Item_Category{Session: sess}
242}
243
244func (r Provisioning_Maintenance_Classification_Item_Category) Id(id int) Provisioning_Maintenance_Classification_Item_Category {
245	r.Options.Id = &id
246	return r
247}
248
249func (r Provisioning_Maintenance_Classification_Item_Category) Mask(mask string) Provisioning_Maintenance_Classification_Item_Category {
250	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
251		mask = fmt.Sprintf("mask[%s]", mask)
252	}
253
254	r.Options.Mask = mask
255	return r
256}
257
258func (r Provisioning_Maintenance_Classification_Item_Category) Filter(filter string) Provisioning_Maintenance_Classification_Item_Category {
259	r.Options.Filter = filter
260	return r
261}
262
263func (r Provisioning_Maintenance_Classification_Item_Category) Limit(limit int) Provisioning_Maintenance_Classification_Item_Category {
264	r.Options.Limit = &limit
265	return r
266}
267
268func (r Provisioning_Maintenance_Classification_Item_Category) Offset(offset int) Provisioning_Maintenance_Classification_Item_Category {
269	r.Options.Offset = &offset
270	return r
271}
272
273// Retrieve
274func (r Provisioning_Maintenance_Classification_Item_Category) GetMaintenanceClassification() (resp datatypes.Provisioning_Maintenance_Classification, err error) {
275	err = r.Session.DoRequest("SoftLayer_Provisioning_Maintenance_Classification_Item_Category", "getMaintenanceClassification", nil, &r.Options, &resp)
276	return
277}
278
279// no documentation yet
280func (r Provisioning_Maintenance_Classification_Item_Category) GetObject() (resp datatypes.Provisioning_Maintenance_Classification_Item_Category, err error) {
281	err = r.Session.DoRequest("SoftLayer_Provisioning_Maintenance_Classification_Item_Category", "getObject", nil, &r.Options, &resp)
282	return
283}
284
285// The SoftLayer_Provisioning_Maintenance_Slots represent the available slots for a given maintenance window at a SoftLayer data center.
286type Provisioning_Maintenance_Slots struct {
287	Session *session.Session
288	Options sl.Options
289}
290
291// GetProvisioningMaintenanceSlotsService returns an instance of the Provisioning_Maintenance_Slots SoftLayer service
292func GetProvisioningMaintenanceSlotsService(sess *session.Session) Provisioning_Maintenance_Slots {
293	return Provisioning_Maintenance_Slots{Session: sess}
294}
295
296func (r Provisioning_Maintenance_Slots) Id(id int) Provisioning_Maintenance_Slots {
297	r.Options.Id = &id
298	return r
299}
300
301func (r Provisioning_Maintenance_Slots) Mask(mask string) Provisioning_Maintenance_Slots {
302	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
303		mask = fmt.Sprintf("mask[%s]", mask)
304	}
305
306	r.Options.Mask = mask
307	return r
308}
309
310func (r Provisioning_Maintenance_Slots) Filter(filter string) Provisioning_Maintenance_Slots {
311	r.Options.Filter = filter
312	return r
313}
314
315func (r Provisioning_Maintenance_Slots) Limit(limit int) Provisioning_Maintenance_Slots {
316	r.Options.Limit = &limit
317	return r
318}
319
320func (r Provisioning_Maintenance_Slots) Offset(offset int) Provisioning_Maintenance_Slots {
321	r.Options.Offset = &offset
322	return r
323}
324
325// no documentation yet
326func (r Provisioning_Maintenance_Slots) GetObject() (resp datatypes.Provisioning_Maintenance_Slots, err error) {
327	err = r.Session.DoRequest("SoftLayer_Provisioning_Maintenance_Slots", "getObject", nil, &r.Options, &resp)
328	return
329}
330
331// no documentation yet
332type Provisioning_Maintenance_Ticket struct {
333	Session *session.Session
334	Options sl.Options
335}
336
337// GetProvisioningMaintenanceTicketService returns an instance of the Provisioning_Maintenance_Ticket SoftLayer service
338func GetProvisioningMaintenanceTicketService(sess *session.Session) Provisioning_Maintenance_Ticket {
339	return Provisioning_Maintenance_Ticket{Session: sess}
340}
341
342func (r Provisioning_Maintenance_Ticket) Id(id int) Provisioning_Maintenance_Ticket {
343	r.Options.Id = &id
344	return r
345}
346
347func (r Provisioning_Maintenance_Ticket) Mask(mask string) Provisioning_Maintenance_Ticket {
348	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
349		mask = fmt.Sprintf("mask[%s]", mask)
350	}
351
352	r.Options.Mask = mask
353	return r
354}
355
356func (r Provisioning_Maintenance_Ticket) Filter(filter string) Provisioning_Maintenance_Ticket {
357	r.Options.Filter = filter
358	return r
359}
360
361func (r Provisioning_Maintenance_Ticket) Limit(limit int) Provisioning_Maintenance_Ticket {
362	r.Options.Limit = &limit
363	return r
364}
365
366func (r Provisioning_Maintenance_Ticket) Offset(offset int) Provisioning_Maintenance_Ticket {
367	r.Options.Offset = &offset
368	return r
369}
370
371// Retrieve
372func (r Provisioning_Maintenance_Ticket) GetAvailableSlots() (resp datatypes.Provisioning_Maintenance_Slots, err error) {
373	err = r.Session.DoRequest("SoftLayer_Provisioning_Maintenance_Ticket", "getAvailableSlots", nil, &r.Options, &resp)
374	return
375}
376
377// Retrieve
378func (r Provisioning_Maintenance_Ticket) GetMaintenanceClass() (resp datatypes.Provisioning_Maintenance_Classification, err error) {
379	err = r.Session.DoRequest("SoftLayer_Provisioning_Maintenance_Ticket", "getMaintenanceClass", nil, &r.Options, &resp)
380	return
381}
382
383// no documentation yet
384func (r Provisioning_Maintenance_Ticket) GetObject() (resp datatypes.Provisioning_Maintenance_Ticket, err error) {
385	err = r.Session.DoRequest("SoftLayer_Provisioning_Maintenance_Ticket", "getObject", nil, &r.Options, &resp)
386	return
387}
388
389// Retrieve
390func (r Provisioning_Maintenance_Ticket) GetTicket() (resp datatypes.Ticket, err error) {
391	err = r.Session.DoRequest("SoftLayer_Provisioning_Maintenance_Ticket", "getTicket", nil, &r.Options, &resp)
392	return
393}
394
395// The SoftLayer_Provisioning_Maintenance_Window represent a time window that SoftLayer performs a hardware or software maintenance and upgrades.
396type Provisioning_Maintenance_Window struct {
397	Session *session.Session
398	Options sl.Options
399}
400
401// GetProvisioningMaintenanceWindowService returns an instance of the Provisioning_Maintenance_Window SoftLayer service
402func GetProvisioningMaintenanceWindowService(sess *session.Session) Provisioning_Maintenance_Window {
403	return Provisioning_Maintenance_Window{Session: sess}
404}
405
406func (r Provisioning_Maintenance_Window) Id(id int) Provisioning_Maintenance_Window {
407	r.Options.Id = &id
408	return r
409}
410
411func (r Provisioning_Maintenance_Window) Mask(mask string) Provisioning_Maintenance_Window {
412	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
413		mask = fmt.Sprintf("mask[%s]", mask)
414	}
415
416	r.Options.Mask = mask
417	return r
418}
419
420func (r Provisioning_Maintenance_Window) Filter(filter string) Provisioning_Maintenance_Window {
421	r.Options.Filter = filter
422	return r
423}
424
425func (r Provisioning_Maintenance_Window) Limit(limit int) Provisioning_Maintenance_Window {
426	r.Options.Limit = &limit
427	return r
428}
429
430func (r Provisioning_Maintenance_Window) Offset(offset int) Provisioning_Maintenance_Window {
431	r.Options.Offset = &offset
432	return r
433}
434
435// getMaintenceWindowForTicket() returns a boolean
436func (r Provisioning_Maintenance_Window) AddCustomerUpgradeWindow(customerUpgradeWindow *datatypes.Container_Provisioning_Maintenance_Window) (resp bool, err error) {
437	params := []interface{}{
438		customerUpgradeWindow,
439	}
440	err = r.Session.DoRequest("SoftLayer_Provisioning_Maintenance_Window", "addCustomerUpgradeWindow", params, &r.Options, &resp)
441	return
442}
443
444// getMaintenanceClassifications() returns an object of maintenance classifications
445func (r Provisioning_Maintenance_Window) GetMaintenanceClassifications() (resp []datatypes.Provisioning_Maintenance_Classification, err error) {
446	err = r.Session.DoRequest("SoftLayer_Provisioning_Maintenance_Window", "getMaintenanceClassifications", nil, &r.Options, &resp)
447	return
448}
449
450// getMaintenanceStartEndTime() returns a specific maintenance window
451func (r Provisioning_Maintenance_Window) GetMaintenanceStartEndTime(ticketId *int) (resp datatypes.Provisioning_Maintenance_Window, err error) {
452	params := []interface{}{
453		ticketId,
454	}
455	err = r.Session.DoRequest("SoftLayer_Provisioning_Maintenance_Window", "getMaintenanceStartEndTime", params, &r.Options, &resp)
456	return
457}
458
459// getMaintenceWindowForTicket() returns a specific maintenance window
460func (r Provisioning_Maintenance_Window) GetMaintenanceWindowForTicket(maintenanceWindowId *int) (resp []datatypes.Provisioning_Maintenance_Window, err error) {
461	params := []interface{}{
462		maintenanceWindowId,
463	}
464	err = r.Session.DoRequest("SoftLayer_Provisioning_Maintenance_Window", "getMaintenanceWindowForTicket", params, &r.Options, &resp)
465	return
466}
467
468// getMaintenanceWindowTicketsByTicketId() returns a list maintenance window ticket records by ticket id
469func (r Provisioning_Maintenance_Window) GetMaintenanceWindowTicketsByTicketId(ticketId *int) (resp []datatypes.Provisioning_Maintenance_Ticket, err error) {
470	params := []interface{}{
471		ticketId,
472	}
473	err = r.Session.DoRequest("SoftLayer_Provisioning_Maintenance_Window", "getMaintenanceWindowTicketsByTicketId", params, &r.Options, &resp)
474	return
475}
476
477// This method returns a list of available maintenance windows
478func (r Provisioning_Maintenance_Window) GetMaintenanceWindows(beginDate *datatypes.Time, endDate *datatypes.Time, locationId *int, slotsNeeded *int) (resp []datatypes.Provisioning_Maintenance_Window, err error) {
479	params := []interface{}{
480		beginDate,
481		endDate,
482		locationId,
483		slotsNeeded,
484	}
485	err = r.Session.DoRequest("SoftLayer_Provisioning_Maintenance_Window", "getMaintenanceWindows", params, &r.Options, &resp)
486	return
487}
488
489// (DEPRECATED) Use [[SoftLayer_Provisioning_Maintenance_Window::getMaintenanceWindows|getMaintenanceWindows]] method.
490func (r Provisioning_Maintenance_Window) GetMaintenceWindows(beginDate *datatypes.Time, endDate *datatypes.Time, locationId *int, slotsNeeded *int) (resp []datatypes.Provisioning_Maintenance_Window, err error) {
491	params := []interface{}{
492		beginDate,
493		endDate,
494		locationId,
495		slotsNeeded,
496	}
497	err = r.Session.DoRequest("SoftLayer_Provisioning_Maintenance_Window", "getMaintenceWindows", params, &r.Options, &resp)
498	return
499}
500
501// getMaintenceWindowForTicket() returns a boolean
502func (r Provisioning_Maintenance_Window) UpdateCustomerUpgradeWindow(maintenanceStartTime *datatypes.Time, newMaintenanceWindowId *int, ticketId *int) (resp bool, err error) {
503	params := []interface{}{
504		maintenanceStartTime,
505		newMaintenanceWindowId,
506		ticketId,
507	}
508	err = r.Session.DoRequest("SoftLayer_Provisioning_Maintenance_Window", "updateCustomerUpgradeWindow", params, &r.Options, &resp)
509	return
510}
511
512// The SoftLayer_Provisioning_Version1_Transaction_Group data type contains general information relating to a single SoftLayer hardware transaction group.
513//
514// SoftLayer customers are unable to change their hardware transactions or the hardware transaction group.
515type Provisioning_Version1_Transaction_Group struct {
516	Session *session.Session
517	Options sl.Options
518}
519
520// GetProvisioningVersion1TransactionGroupService returns an instance of the Provisioning_Version1_Transaction_Group SoftLayer service
521func GetProvisioningVersion1TransactionGroupService(sess *session.Session) Provisioning_Version1_Transaction_Group {
522	return Provisioning_Version1_Transaction_Group{Session: sess}
523}
524
525func (r Provisioning_Version1_Transaction_Group) Id(id int) Provisioning_Version1_Transaction_Group {
526	r.Options.Id = &id
527	return r
528}
529
530func (r Provisioning_Version1_Transaction_Group) Mask(mask string) Provisioning_Version1_Transaction_Group {
531	if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
532		mask = fmt.Sprintf("mask[%s]", mask)
533	}
534
535	r.Options.Mask = mask
536	return r
537}
538
539func (r Provisioning_Version1_Transaction_Group) Filter(filter string) Provisioning_Version1_Transaction_Group {
540	r.Options.Filter = filter
541	return r
542}
543
544func (r Provisioning_Version1_Transaction_Group) Limit(limit int) Provisioning_Version1_Transaction_Group {
545	r.Options.Limit = &limit
546	return r
547}
548
549func (r Provisioning_Version1_Transaction_Group) Offset(offset int) Provisioning_Version1_Transaction_Group {
550	r.Options.Offset = &offset
551	return r
552}
553
554// no documentation yet
555func (r Provisioning_Version1_Transaction_Group) GetAllObjects() (resp []datatypes.Provisioning_Version1_Transaction_Group, err error) {
556	err = r.Session.DoRequest("SoftLayer_Provisioning_Version1_Transaction_Group", "getAllObjects", nil, &r.Options, &resp)
557	return
558}
559
560// getObject retrieves the SoftLayer_Provisioning_Version1_Transaction_Group object whose ID number corresponds to the ID number of the init parameter passed to the SoftLayer_Provisioning_Version1_Transaction_Group service.
561func (r Provisioning_Version1_Transaction_Group) GetObject() (resp datatypes.Provisioning_Version1_Transaction_Group, err error) {
562	err = r.Session.DoRequest("SoftLayer_Provisioning_Version1_Transaction_Group", "getObject", nil, &r.Options, &resp)
563	return
564}
565